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 visualRenderedEvents
como 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.