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