Freigeben über


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