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

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

Nächste Schritte