Partilhar via


Como manipular eventos

Dica

Experimente as APIs em tempo real usando seu próprio relatório ou nosso relatório de exemplo na seção Área restrita desenvolvedor do playground do Power BI Embedded Analytics.

Os eventos são usados para se comunicar entre o componente do Power BI (por exemplo, um relatório) e o código do aplicativo Web.

Um componente inserido emite eventos depois que uma ação é executada dentro do componente. Elas podem ser interações do usuário ou uma ação automatizada (como um visual sendo renderizado) dentro do componente.

Por exemplo, buttonClicked é um evento emitido por um relatório do Power BI quando um usuário clica em um botão no relatório. Você pode ouvir o evento usando report.on(...)e, em seguida, definir um manipulador de eventos.

Um exemplo de como manipular um evento

Este exemplo mostra como manipular um evento de relatório. Para saber mais sobre outros tipos de eventos, consulte Eventos e seus valores de resposta.

Observação

Aguarde até que o componente seja carregado antes de usar as APIs. Ouça o evento carregado e emita novos comandos.

report.on('loaded', function(event)
{
    reportPages = await report.getPages();
});

Como remover manipuladores de eventos

Você pode usar report.off(...) para remover todos os manipuladores de eventos para um evento específico.

Eventos e seus valores de resposta

Exiba uma lista completa de possíveis eventos e seus valores de resposta.

Eventos de erro (relevantes para todas as inserções)

Um evento de erro é emitido para descrever uma operação com falha.

interface IError {
    message: string // A general message that describes the operation that failed (example: "Could not set page")
    detailedMessage?: string // Detailed message that describes the error
    errorCode?: string  //  Short message that describes the error
    level?: TraceType // The level of the error (example: 'Fatal')
    technicalDetails?: ITechnicalDetails
}

interface ITechnicalDetails {
    requestId?: string // Id for debugging - should be provided when reporting a bug
}

Observação

Somente a message propriedade é necessária e as outras propriedades podem ser indefinidas.

Eventos de relatório

Um evento de relatório é emitido para uma interação com um relatório inserido, como clicar em um botão de relatório ou renderizar um visual.

buttonClicked

O buttonClicked evento é gerado quando um usuário clica em um botão Relatório .

 id: string
 title?: string
 type?: string (type of button)
 bookmark?: string

commandTriggered

O commandTriggered evento é gerado quando um usuário clica em um comando de extensão.

 command: string
 dataPoints?: IIdentityValue[]
 report: models.IReport
 page: models.IPage
 visual: models.IVisual

dataHyperlinkClicked

O dataHyperlinkClicked evento é gerado quando um hiperlink é clicado e o comportamento do hiperlink é definido NavigateAndRaiseEvent como ou RaiseEvent.

 url: string
 report: models.IReport
 page: models.IPage
 visual: models.IVisual

Para obter mais informações, consulte Definir configurações de relatório.

dataSelected

O dataSelected evento é gerado quando um ponto de dados específico é selecionado.

 report: models.IReport
 page: models.IPage
 visual: models.IVisual
 filters: IFilter[]
 dataPoints: IIdentityValue[]

carregado

O loaded evento é gerado quando o relatório é inicializado. O carregamento é concluído quando o logotipo do Power BI desaparece.

pageChanged

O pageChanged evento é gerado sempre que uma página é alterada.

 newPage: Models.IPage

Processado

O rendered evento é gerado quando um relatório é totalmente renderizado. Por exemplo, se todos os visuais forem renderizados ao carregar um relatório ou após uma interação do usuário.

saveAsTriggered

O saveAsTriggered evento é gerado quando um usuário clica em Salvar como na interface do usuário. Isso permite que você crie sua própria caixa de diálogo para a ação Salvar como .

salvo

O saved evento é gerado quando um salvamento é disparado por uma save ação ou saveAs na interface do usuário ou usando as APIs.

Selectionchanged

O selectionChanged evento é gerado sempre que o usuário está alterando o visual selecionado. selectedItems é uma lista de todos os visuais selecionados quando mais de um é selecionado.

 report: models.IReport
 page: models.IPage
 visual?: models.IVisual
 selectedItems?: models.IVisual[]

visualClicked

O visualClicked evento é gerado sempre que um visual é clicado.

 report: models.IReport
 page: models.IPage
 visual: models.IVisual

visualRendered

O visualRendered evento é gerado quando um visual é renderizado (requer a configuração visualRenderedEventscomo true no objeto settings).

Observação

Como os visuais podem ser renderizados devido a interações do usuário, é recomendável que esse evento só seja ativado quando necessário.

 name: string

Para obter mais informações, consulte Definir configurações de relatório.

Relatar eventos do Inserção móvel

Um evento Report Inbed Mobile é emitido para uma interação com um relatório inserido em um layout móvel, como o início ou o fim de um passar o dedo.

swipeStart e swipeEnd eventos

swipeStart eventos ou swipeEnd são gerados quando um usuário inicia ou encerra um movimento de passar o dedo em um relatório inserido.

interface ISwipeEvent {
    currentPosition: IPosition
    startPosition: IPosition
}

interface IPosition {
    x: number
    y: number
}

Eventos de painel

Um evento dashboard é emitido quando o dashboard é carregado e quando um usuário clica em um bloco no dashboard.

carregado

O loaded evento é gerado quando o dashboard é inicializado.

tileClicked

O tileClicked evento é gerado quando um usuário final clica em um bloco. Ele não é gerado para páginas ao vivo fixadas.

 tileId: string
 navigationUrl: string
 pageName: string
 reportEmbedUrl: string

Eventos do Q&A

Um evento de pergunta e resposta (Q&A) é gerado quando um visual é renderizado após inserir uma pergunta.

visualRendered (Q&A)

O visualRendered evento é gerado quando um visual é renderizado depois que uma pergunta é inserida e uma resposta é exibida.

 question: string
 normalizedQuestion: string

Eventos de bloco

Um evento Tile é gerado quando um usuário clica em um bloco.

tileClicked (evento de bloco)

O tileClicked evento é gerado quando um usuário final clica em um bloco. Ele não é gerado para páginas ao vivo fixadas.

 tileId: string
 navigationUrl: string
 pageName: string
 reportEmbedUrl: string

tileLoaded

O tileLoaded evento é gerado quando o bloco é inicializado. O carregamento é concluído quando o logotipo do Power BI desaparece.

Próximas etapas