Como lidar com eventos

Ponta

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

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 lidar com um evento

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

Nota

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 todos os 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
}

Nota

Somente a propriedade message é 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 evento buttonClicked é 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 evento commandTriggered é 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 evento dataHyperlinkClicked é gerado quando um hiperlink é clicado e o comportamento do hiperlink é definido como NavigateAndRaiseEvent 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 evento dataSelected é gerado quando um ponto de dados específico é selecionado.

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

carregado

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

pageChanged

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

 newPage: Models.IPage

Processado

O evento rendered é 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 evento saveAsTriggered é 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.

Salvou

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

selectionChanged

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

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

visualClicked

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

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

visualRendered

O evento visualRendered é gerado quando um visual é renderizado (requer a configuração visualRenderedEvents para verdadeiro no objeto de configurações).

Nota

Como os visuais podem ser renderizados devido às 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.

Eventos móveis de inserção de relatório

Um evento de Inserção de Relatório móvel é emitido para uma interação com um relatório inserido em um layout móvel, como o início ou o fim de um deslize.

Eventos swipeStart e swipeEnd

swipeStart ou eventos de swipeEnd são gerados quando um usuário começa ou termina 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 de painel é emitido quando o painel é carregado e quando um usuário clica em um bloco no painel.

carregado

O evento loaded é gerado quando o painel é inicializado.

blocos lambidos

O evento tileClicked é 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 depois de inserir uma pergunta.

visualRendered (Q&A)

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

 question: string
 normalizedQuestion: string

Eventos de bloco

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

tileClicked (evento de bloco)

O evento tileClicked é 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 evento tileLoaded é gerado quando o bloco é inicializado. O carregamento é concluído quando o logotipo do Power BI desaparece.