Udostępnij za pośrednictwem


Jak obsługiwać zdarzenia

Napiwek

Poeksperymentuj z interfejsami API w czasie rzeczywistym przy użyciu własnego raportu lub naszego przykładowego raportu w sekcji piaskownicy dewelopera Developer (Piaskownica deweloperów) power BI Embedded Analytics Playground.

Zdarzenia są używane do komunikacji między składnikiem usługi Power BI (na przykład raportem) i kodem aplikacji internetowej.

Składnik osadzony emituje zdarzenia po wykonaniu akcji wewnątrz składnika. Mogą to być interakcje użytkowników lub automatyczna akcja (na przykład renderowana wizualizacja) w składniku.

Na przykład buttonClicked to zdarzenie emitowane przez raport usługi Power BI, gdy użytkownik kliknie przycisk w raporcie. Możesz nasłuchiwać zdarzenia przy użyciu report.on(...), a następnie ustawić procedurę obsługi zdarzeń.

Przykład obsługi zdarzenia

W tym przykładzie pokazano, jak obsługiwać zdarzenie raportu. Aby dowiedzieć się więcej o innych typach zdarzeń, zobacz Events i ich wartości odpowiedzi.

Nuta

Poczekaj na załadowanie składnika przed użyciem interfejsów API. Nasłuchiwanie załadowanego zdarzenia, a następnie wydawanie nowych poleceń.

report.on('loaded', function(event)
{
    reportPages = await report.getPages();
});

Jak usunąć programy obsługi zdarzeń

Za pomocą report.off(...) można usunąć wszystkie programy obsługi zdarzeń dla określonego zdarzenia.

Zdarzenia i ich wartości odpowiedzi

Wyświetl pełną listę możliwych zdarzeń i ich wartości odpowiedzi.

Zdarzenia błędów (istotne dla wszystkich osadzeń)

Zdarzenie błędu jest emitowane w celu opisania operacji, która zakończyła się niepowodzeniem.

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
}

Nuta

Wymagana jest tylko właściwość message, a inne właściwości mogą być niezdefiniowane.

Zdarzenia raportów

Zdarzenie raportu jest emitowane dla interakcji z osadzonym raportem, na przykład kliknięcie przycisku raportu lub renderowanie wizualizacji.

buttonKlicked

Zdarzenie buttonClicked jest zgłaszane, gdy użytkownik kliknie przycisk Raport.

 id: string
 title?: string
 type?: string (type of button)
 bookmark?: string

commandTriggered

Zdarzenie commandTriggered jest zgłaszane, gdy użytkownik kliknie polecenie rozszerzenia .

 command: string
 dataPoints?: IIdentityValue[]
 report: models.IReport
 page: models.IPage
 visual: models.IVisual

dataHyperlinkClicked

Zdarzenie jest zgłaszane po kliknięciu hiperłącza, a zachowanie hiperlinku jest ustawione na lub .

 url: string
 report: models.IReport
 page: models.IPage
 visual: models.IVisual

Aby uzyskać więcej informacji, zobacz Konfigurowanie ustawień raportu.

dataSelected

Zdarzenie dataSelected jest zgłaszane po wybraniu określonego punktu danych.

 report: models.IReport
 page: models.IPage
 visual: models.IVisual
 filters: IFilter[]
 dataPoints: IIdentityValue[]

Załadowany

Zdarzenie loaded jest zgłaszane podczas inicjowania raportu. Ładowanie jest ukończone po zniknięciu logo usługi Power BI.

pageChanged

Zdarzenie pageChanged jest wywoływane za każdym razem, gdy strona zostanie zmieniona.

 newPage: Models.IPage

Renderowane

Zdarzenie rendered jest zgłaszane, gdy raport jest w pełni renderowany. Jeśli na przykład wszystkie wizualizacje są renderowane podczas ładowania raportu lub po interakcji z użytkownikiem.

saveAsTriggered

Zdarzenie saveAsTriggered jest zgłaszane, gdy użytkownik kliknie pozycję Zapisz jako w interfejsie użytkownika. Umożliwia to utworzenie własnego okna dialogowego dla akcji Zapisz jako.

Zapisano

Zdarzenie saved jest zgłaszane, gdy zapisywanie jest wyzwalane przez akcję save lub saveAs w interfejsie użytkownika lub przy użyciu interfejsów API.

selectionChanged

Zdarzenie selectionChanged jest zgłaszane za każdym razem, gdy użytkownik zmienia wybraną wizualizację. selectedItems to lista wszystkich wybranych wizualizacji, gdy wybrano więcej niż jedną wizualizację.

 report: models.IReport
 page: models.IPage
 visual?: models.IVisual
 selectedItems?: models.IVisual[]

wizualizacjaKlicked

Zdarzenie visualClicked jest wywoływane za każdym razem, gdy wizualizacja jest klikana.

 report: models.IReport
 page: models.IPage
 visual: models.IVisual

visualRendered

Zdarzenie visualRendered jest zgłaszane, gdy wizualizacja jest renderowana (wymaga ustawienia visualRenderedEvents, aby true w obiekcie ustawień).

Nuta

Ponieważ wizualizacje mogą być renderowane z powodu interakcji użytkownika, zaleca się włączenie tego zdarzenia tylko w razie potrzeby.

 name: string

Aby uzyskać więcej informacji, zobacz Konfigurowanie ustawień raportu.

Raportowanie osadzania zdarzeń mobilnych

Zdarzenie osadzania raportu dla urządzeń przenośnych jest emitowane na potrzeby interakcji z osadzonym raportem w układzie mobilnym, takim jak początek lub koniec przesunięcia.

swipeStart i swipeEnd events (zdarzenia swipeStart i swipeEnd)

swipeStart lub swipeEnd zdarzenia są wywoływane, gdy użytkownik rozpoczyna lub kończy przesunięcie na osadzonym raporcie.

interface ISwipeEvent {
    currentPosition: IPosition
    startPosition: IPosition
}

interface IPosition {
    x: number
    y: number
}

Zdarzenia pulpitu nawigacyjnego

Zdarzenie pulpitu nawigacyjnego jest emitowane po załadowaniu pulpitu nawigacyjnego i kliknięciu kafelka na pulpicie nawigacyjnym przez użytkownika.

Załadowany

Zdarzenie loaded jest zgłaszane podczas inicjowania pulpitu nawigacyjnego.

tileKlicked

Zdarzenie tileClicked jest zgłaszane, gdy użytkownik końcowy kliknie kafelek. Nie jest wywoływana dla przypiętych stron na żywo.

 tileId: string
 navigationUrl: string
 pageName: string
 reportEmbedUrl: string

Zdarzenia Q&A

Zdarzenie pytania i odpowiedzi (Q&A) jest zgłaszane, gdy wizualizacja jest renderowana po wprowadzeniu pytania.

visualRendered (Q&A)

Zdarzenie visualRendered jest zgłaszane, gdy wizualizacja jest renderowana po wprowadzeniu pytania, a zostanie wyświetlona odpowiedź.

 question: string
 normalizedQuestion: string

Zdarzenia kafelków

Zdarzenie kafelka jest zgłaszane, gdy użytkownik kliknie kafelek.

tileClicked (zdarzenie kafelka)

Zdarzenie tileClicked jest zgłaszane, gdy użytkownik końcowy kliknie kafelek. Nie jest wywoływana dla przypiętych stron na żywo.

 tileId: string
 navigationUrl: string
 pageName: string
 reportEmbedUrl: string

tileLoaded

Zdarzenie tileLoaded jest zgłaszane podczas inicjowania kafelka. Ładowanie jest ukończone po zniknięciu logo usługi Power BI.