Come gestire gli eventi
Mancia
Sperimentare le API in tempo reale usando il proprio report o il report di esempio nella sezione sandbox per sviluppatori di
Gli eventi vengono usati per comunicare tra il componente Power BI (ad esempio, un report) e il codice dell'applicazione Web.
Un componente incorporato genera eventi dopo l'esecuzione di un'azione all'interno del componente. Possono trattarsi di interazioni utente o di un'azione automatizzata (ad esempio il rendering di un oggetto visivo) all'interno del componente.
Ad esempio, buttonClicked
è un evento generato da un report di Power BI quando un utente fa clic su un pulsante nel report. È possibile ascoltare l'evento usando report.on(...)
e quindi impostare un gestore eventi.
Esempio di come gestire un evento
In questo esempio viene illustrato come gestire un evento del report. Per informazioni su altri tipi di eventi, vedere Eventi e i relativi valori di risposta.
Nota
Attendere il caricamento del componente prima di usare le API. Ascoltare l'evento caricato e quindi eseguire nuovi comandi.
report.on('loaded', function(event)
{
reportPages = await report.getPages();
});
Come rimuovere i gestori eventi
È possibile usare report.off(...)
per rimuovere tutti i gestori eventi per un evento specifico.
Eventi e valori di risposta
Visualizzare un elenco completo degli eventi possibili e dei relativi valori di risposta.
Eventi di errore (rilevanti per tutti gli incorporamenti)
Viene generato un evento di errore per descrivere un'operazione non riuscita.
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
È necessaria solo la proprietà message
e le altre proprietà potrebbero non essere indefinite.
Eventi del report
Un evento del report viene generato per un'interazione con un report incorporato, ad esempio facendo clic su un pulsante del report o visualizzando un oggetto visivo.
buttonClicked
L'evento buttonClicked
viene generato quando un utente fa clic su un pulsante Report.
id: string
title?: string
type?: string (type of button)
bookmark?: string
commandTriggered
L'evento commandTriggered
viene generato quando un utente fa clic su un comando di estensione .
command: string
dataPoints?: IIdentityValue[]
report: models.IReport
page: models.IPage
visual: models.IVisual
dataHyperlinkClicked
L'evento
url: string
report: models.IReport
page: models.IPage
visual: models.IVisual
Per altre informazioni, vedere Configurare le impostazioni del report.
dataSelected
L'evento dataSelected
viene generato quando viene selezionato un punto dati specifico.
report: models.IReport
page: models.IPage
visual: models.IVisual
filters: IFilter[]
dataPoints: IIdentityValue[]
caricato
L'evento loaded
viene generato quando il report viene inizializzato. Il caricamento viene completato quando il logo di Power BI scompare.
pageChanged
L'evento pageChanged
viene generato ogni volta che viene modificata una pagina.
newPage: Models.IPage
Rendering
L'evento rendered
viene generato quando viene eseguito il rendering completo di un report. Ad esempio, se viene eseguito il rendering di tutti gli oggetti visivi al caricamento di un report o dopo un'interazione dell'utente.
saveAsTriggered
L'evento saveAsTriggered
viene generato quando un utente fa clic su Salva con nome nell'interfaccia utente. In questo modo è possibile creare una finestra di dialogo personalizzata per l'azione Salva con nome.
salvato
L'evento saved
viene generato quando un salvataggio viene attivato da un'azione save
o saveAs
nell'interfaccia utente o usando le API.
selectionChanged
L'evento selectionChanged
viene generato ogni volta che l'utente modifica l'oggetto visivo selezionato.
selectedItems
è un elenco di tutti gli oggetti visivi selezionati quando sono selezionati più oggetti visivi.
report: models.IReport
page: models.IPage
visual?: models.IVisual
selectedItems?: models.IVisual[]
visualClicked
L'evento visualClicked
viene generato ogni volta che viene fatto clic su un oggetto visivo.
report: models.IReport
page: models.IPage
visual: models.IVisual
visualRendered
L'evento visualRendered
viene generato quando viene eseguito il rendering di un oggetto visivo (è necessario impostare visualRenderedEvents
su true nell'oggetto impostazioni).
Nota
Poiché gli oggetti visivi potrebbero essere visualizzati a causa delle interazioni dell'utente, è consigliabile attivare questo evento solo quando necessario.
name: string
Per altre informazioni, vedere Configurare le impostazioni del report.
Eventi di Incorporamento report per dispositivi mobili
Un evento Report Embed Mobile viene generato per un'interazione con un report incorporato in un layout per dispositivi mobili, ad esempio l'inizio o la fine di uno scorrimento rapido.
swipeStart ed eventi swipeEnd
swipeStart
o swipeEnd
eventi vengono generati quando un utente inizia o termina uno spostamento rapido in un report incorporato.
interface ISwipeEvent {
currentPosition: IPosition
startPosition: IPosition
}
interface IPosition {
x: number
y: number
}
Eventi del dashboard
Un evento del dashboard viene generato quando il dashboard viene caricato e quando un utente fa clic su un riquadro nel dashboard.
caricato
L'evento loaded
viene generato quando il dashboard viene inizializzato.
tileClicked
L'evento tileClicked
viene generato quando un utente finale fa clic su un riquadro. Non viene generato per le pagine live aggiunte.
tileId: string
navigationUrl: string
pageName: string
reportEmbedUrl: string
Eventi Q&A
Un evento di domanda e risposta (Q&A) viene generato quando viene eseguito il rendering di un oggetto visivo dopo l'immissione di una domanda.
visualRendered (Q&A)
L'evento visualRendered
viene generato quando viene eseguito il rendering di un oggetto visivo dopo l'immissione di una domanda e viene visualizzata una risposta.
question: string
normalizedQuestion: string
Eventi riquadro
Un evento Tile viene generato quando un utente fa clic su un riquadro.
tileClicked (evento riquadro)
L'evento tileClicked
viene generato quando un utente finale fa clic su un riquadro. Non viene generato per le pagine live aggiunte.
tileId: string
navigationUrl: string
pageName: string
reportEmbedUrl: string
riquadro Caricato
L'evento tileLoaded
viene generato quando il riquadro viene inizializzato. Il caricamento viene completato quando il logo di Power BI scompare.