Behandeln von Ereignissen
Tipp
Experimentieren Sie in Echtzeit mit APIs, indem Sie Ihren eigenen Bericht oder unseren Beispielbericht im Abschnitt Entwickler-Sandbox des Power BI Embedded Analytics Playground verwenden.
Ereignisse werden verwendet, um zwischen der Power BI-Komponente (z. B. einem Bericht) und dem Webanwendungscode zu kommunizieren.
Eine eingebettete Komponente gibt Ereignisse aus, nachdem eine Aktion innerhalb der Komponente ausgeführt wurde. Dies können Benutzerinteraktionen oder eine automatisierte Aktion (z. B. ein Visual, das gerendert wird) innerhalb der Komponente sein.
Beispiel: Ist ein Ereignis, buttonClicked
das von einem Power BI-Bericht ausgegeben wird, wenn ein Benutzer auf eine Schaltfläche im Bericht klickt. Sie können das Ereignis mit report.on(...)
überwachen und dann einen Ereignishandler festlegen.
Beispiel für die Behandlung eines Ereignisses
In diesem Beispiel wird gezeigt, wie ein Berichtsereignis behandelt wird. Weitere Informationen zu anderen Ereignistypen finden Sie unter Ereignisse und deren Antwortwerte.
Hinweis
Warten Sie, bis die Komponente geladen wurde, bevor Sie die APIs verwenden. Lauschen Sie auf das geladene Ereignis, und geben Sie dann neue Befehle aus.
report.on('loaded', function(event)
{
reportPages = await report.getPages();
});
Entfernen von Ereignishandlern
Sie können verwenden report.off(...)
, um alle Ereignishandler für ein bestimmtes Ereignis zu entfernen.
Ereignisse und ihre Antwortwerte
Zeigen Sie eine vollständige Liste der möglichen Ereignisse und deren Antwortwerte an.
Fehlerereignisse (relevant für alle Einbettungen)
Ein Fehlerereignis wird ausgegeben, um einen fehlgeschlagenen Vorgang zu beschreiben.
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
}
Hinweis
Nur die message
-Eigenschaft ist erforderlich, und die anderen Eigenschaften sind möglicherweise nicht definiert.
Ereignisse melden
Ein Berichtsereignis wird für eine Interaktion mit einem eingebetteten Bericht ausgegeben, z. B. beim Klicken auf eine Berichtsschaltfläche oder beim Rendern eines Visuals.
buttonKlicken
Das buttonClicked
Ereignis wird ausgelöst, wenn ein Benutzer auf eine Berichtsschaltfläche klickt.
id: string
title?: string
type?: string (type of button)
bookmark?: string
commandTriggered
Das commandTriggered
Ereignis wird ausgelöst, wenn ein Benutzer auf einen Erweiterungsbefehl klickt.
command: string
dataPoints?: IIdentityValue[]
report: models.IReport
page: models.IPage
visual: models.IVisual
dataHyperlinkClicked
Das dataHyperlinkClicked
Ereignis wird ausgelöst, wenn auf einen Link geklickt wird, und das Verhalten des Links ist auf NavigateAndRaiseEvent
oder RaiseEvent
festgelegt.
url: string
report: models.IReport
page: models.IPage
visual: models.IVisual
Weitere Informationen finden Sie unter Konfigurieren von Berichtseinstellungen.
dataSelected
Das dataSelected
Ereignis wird ausgelöst, wenn ein bestimmter Datenpunkt ausgewählt wird.
report: models.IReport
page: models.IPage
visual: models.IVisual
filters: IFilter[]
dataPoints: IIdentityValue[]
loaded
Das loaded
Ereignis wird ausgelöst, wenn der Bericht initialisiert wird. Das Laden ist abgeschlossen, wenn das Power BI-Logo ausgeblendet wird.
pageChanged
Das pageChanged
Ereignis wird ausgelöst, wenn eine Seite geändert wird.
newPage: Models.IPage
Gerendert
Das rendered
Ereignis wird ausgelöst, wenn ein Bericht vollständig gerendert wird. Beispielsweise, wenn alle Visuals beim Laden eines Berichts oder nach einer Benutzerinteraktion gerendert werden.
saveAsTriggered
Das saveAsTriggered
Ereignis wird ausgelöst, wenn ein Benutzer auf der Benutzeroberfläche auf Speichern unter klickt. Auf diese Weise können Sie ein eigenes Dialogfeld für die Aktion Speichern unter erstellen.
Gespeichert
Das saved
Ereignis wird ausgelöst, wenn ein Speichern durch eine save
Aktion auf saveAs
der Benutzeroberfläche oder mithilfe der APIs ausgelöst wird.
Selectionchanged
Das selectionChanged
Ereignis wird ausgelöst, wenn der Benutzer das ausgewählte Visual ändert.
selectedItems
ist eine Liste aller ausgewählten Visuals, wenn mehr als eins ausgewählt ist.
report: models.IReport
page: models.IPage
visual?: models.IVisual
selectedItems?: models.IVisual[]
visualClicked
Das visualClicked
Ereignis wird jedes Mal ausgelöst, wenn auf ein Visual geklickt wird.
report: models.IReport
page: models.IPage
visual: models.IVisual
visualRendered
Das visualRendered
Ereignis wird ausgelöst, wenn ein Visual gerendert wird (erfordert die Einstellung visualRenderedEvents
auf true im einstellungsobjekt).
Hinweis
Da Visuals möglicherweise aufgrund von Benutzerinteraktionen gerendert werden, wird empfohlen, dieses Ereignis nur bei Bedarf zu aktivieren.
name: string
Weitere Informationen finden Sie unter Konfigurieren von Berichtseinstellungen.
Berichtseinbettung mobiler Ereignisse
Ein Report Embed Mobile-Ereignis wird für eine Interaktion mit einem eingebetteten Bericht in einem mobilen Layout ausgegeben, z. B. anfang oder ende eines Wischs.
swipeStart- und swipeEnd-Ereignisse
swipeStart
oder swipeEnd
Ereignisse werden ausgelöst, wenn ein Benutzer eine Wischbewegung für einen eingebetteten Bericht beginnt oder beendet.
interface ISwipeEvent {
currentPosition: IPosition
startPosition: IPosition
}
interface IPosition {
x: number
y: number
}
Dashboardereignisse
Ein Dashboard-Ereignis wird ausgegeben, wenn die Dashboard geladen wird und wenn ein Benutzer auf eine Kachel im Dashboard klickt.
loaded
Das loaded
Ereignis wird ausgelöst, wenn die Dashboard initialisiert wird.
tileClicked
Das tileClicked
Ereignis wird ausgelöst, wenn ein Endbenutzer auf eine Kachel klickt. Es wird nicht für angeheftete Liveseiten ausgelöst.
tileId: string
navigationUrl: string
pageName: string
reportEmbedUrl: string
Q&A-Ereignisse
Ein Frage-Antwort-Ereignis (Q&A) wird ausgelöst, wenn ein Visual nach dem Eingeben einer Frage gerendert wird.
visualRendered (Q&A)
Das visualRendered
Ereignis wird ausgelöst, wenn ein Visual gerendert wird, nachdem eine Frage eingegeben wurde und eine Antwort angezeigt wird.
question: string
normalizedQuestion: string
Kachelereignisse
Ein Tile-Ereignis wird ausgelöst, wenn ein Benutzer auf eine Kachel klickt.
tileClicked (Kachelereignis)
Das tileClicked
Ereignis wird ausgelöst, wenn ein Endbenutzer auf eine Kachel klickt. Es wird nicht für angeheftete Liveseiten ausgelöst.
tileId: string
navigationUrl: string
pageName: string
reportEmbedUrl: string
tileLoaded
Das tileLoaded
Ereignis wird ausgelöst, wenn die Kachel initialisiert wird. Das Laden ist abgeschlossen, wenn das Power BI-Logo ausgeblendet wird.