Behandeln von Ereignissen
Trinkgeld
Experimentieren Sie mit APIs in Echtzeit mit Ihrem eigenen Bericht oder unserem Beispielbericht im Abschnitt Developer Sandbox Abschnitt des Power BI Embedded Analytics Playground.
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. Hierbei kann es sich um Benutzerinteraktionen oder um eine automatisierte Aktion (z. B. ein visuelles Rendern) innerhalb der Komponente handeln.
Beispielsweise ist buttonClicked
ein Ereignis, das von einem Power BI-Bericht ausgegeben wird, wenn ein Benutzer auf eine Schaltfläche im Bericht klickt. Sie können mit report.on(...)
auf das Ereignis lauschen und dann einen Ereignishandler festlegen.
Ein 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.
Anmerkung
Warten Sie, bis die Komponente geladen wird, bevor Sie die APIs verwenden. Lauschen Sie auf das geladene Ereignis, und stellen Sie dann neue Befehle aus.
report.on('loaded', function(event)
{
reportPages = await report.getPages();
});
Entfernen von Ereignishandlern
Sie können report.off(...)
verwenden, um alle Ereignishandler für ein bestimmtes Ereignis zu entfernen.
Ereignisse und deren Antwortwerte
Eine vollständige Liste der möglichen Ereignisse und deren Antwortwerte anzeigen.
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
}
Anmerkung
Nur die message
-Eigenschaft ist erforderlich, und die anderen Eigenschaften sind möglicherweise nicht definiert.
Melden von Ereignissen
Ein Berichtsereignis wird für eine Interaktion mit einem eingebetteten Bericht ausgegeben, z. B. durch Klicken auf eine Berichtsschaltfläche oder das Rendern eines visuellen Elements.
buttonClicked
Das buttonClicked
-Ereignis wird ausgelöst, wenn ein Benutzer auf eine Schaltfläche Bericht klickt.
id: string
title?: string
type?: string (type of button)
bookmark?: string
commandTriggered
Das commandTriggered
-Ereignis wird ausgelöst, wenn ein Benutzer auf einen Erweiterungsbefehlklickt.
command: string
dataPoints?: IIdentityValue[]
report: models.IReport
page: models.IPage
visual: models.IVisual
dataHyperlinkClicked
Das dataHyperlinkClicked
-Ereignis wird ausgelöst, wenn ein Link geklickt wird, und das Verhalten des Links auf NavigateAndRaiseEvent
oder RaiseEvent
festgelegt ist.
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[]
geladen
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
wiedergegeben
Das rendered
-Ereignis wird ausgelöst, wenn ein Bericht vollständig gerendert wird. Wenn beispielsweise alle visuellen Elemente beim Laden eines Berichts oder nach einer Benutzerinteraktion gerendert werden.
saveAsTriggered
Das saveAsTriggered
-Ereignis wird ausgelöst, wenn ein Benutzer auf Speichern unter auf der Benutzeroberfläche 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
- oder saveAs
-Aktion auf der Benutzeroberfläche oder mithilfe der APIs ausgelöst wird.
selectionChanged
Das selectionChanged
-Ereignis wird ausgelöst, wenn der Benutzer das ausgewählte visuelle Element ändert.
selectedItems
ist eine Liste aller ausgewählten visuellen Elemente, wenn mehrere ausgewählt sind.
report: models.IReport
page: models.IPage
visual?: models.IVisual
selectedItems?: models.IVisual[]
visualClicked
Das visualClicked
-Ereignis wird jedes Mal ausgelöst, wenn auf ein visuelles Element geklickt wird.
report: models.IReport
page: models.IPage
visual: models.IVisual
visualRendered
Das visualRendered
-Ereignis wird ausgelöst, wenn ein visuelles Element gerendert wird (erfordert festlegen, dass visualRenderedEvents
auf "true" im Einstellungsobjekt festgelegt wird).
Anmerkung
Da visuelle Elemente aufgrund von Benutzerinteraktionen möglicherweise gerendert werden, empfiehlt es sich, dieses Ereignis nur bei Bedarf zu aktivieren.
name: string
Weitere Informationen finden Sie unter Konfigurieren von Berichtseinstellungen.
Melden von Einbettung mobiler Ereignisse
Ein Report Embed Mobile-Ereignis wird für eine Interaktion mit einem eingebetteten Bericht in einem mobilen Layout ausgegeben, z. B. den Anfang oder das Ende einer Wischbewegung.
swipeStart- und swipeEnd-Ereignisse
swipeStart
oder swipeEnd
Ereignisse werden ausgelöst, wenn ein Benutzer eine Wischbewegung in einem eingebetteten Bericht beginnt oder beendet.
interface ISwipeEvent {
currentPosition: IPosition
startPosition: IPosition
}
interface IPosition {
x: number
y: number
}
Dashboardereignisse
Ein Dashboardereignis wird ausgegeben, wenn das Dashboard geladen wird und ein Benutzer auf eine Kachel im Dashboard klickt.
geladen
Das loaded
-Ereignis wird ausgelöst, wenn das Dashboard initialisiert wird.
tileClicked
Das tileClicked
-Ereignis wird ausgelöst, wenn ein Endbenutzer auf eine Kachel klickt. Sie wird nicht für angeheftete Liveseiten ausgelöst.
tileId: string
navigationUrl: string
pageName: string
reportEmbedUrl: string
Q&A-Ereignisse
Ein Frage- und Antwortereignis (Q&A) wird ausgelöst, wenn ein visuelles Element nach der Eingabe einer Frage gerendert wird.
visualRendered (Q&A)
Das visualRendered
-Ereignis wird ausgelöst, wenn ein visuelles Element gerendert wird, nachdem eine Frage eingegeben wurde und eine Antwort angezeigt wird.
question: string
normalizedQuestion: string
Kachelereignisse
Ein Kachelereignis 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. Sie 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.