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