Обработка событий
Кончик
Экспериментируйте с API в режиме реального времени с помощью собственного отчета или примера отчета в песочнице разработчика раздела игровой площадки Power BI Embedded Analytics.
События используются для обмена данными между компонентом Power BI (например, отчетом) и кодом веб-приложения.
Внедренный компонент выдает события после выполнения действия внутри компонента. Это может быть взаимодействие с пользователем или автоматизированное действие (например, визуал, отрисованный) в компоненте.
Например, buttonClicked
— это событие, созданное отчетом Power BI, когда пользователь нажимает кнопку в отчете. Вы можете прослушивать событие с помощью report.on(...)
, а затем задать обработчик событий.
Пример обработки события
В этом примере показано, как обрабатывать событие отчета. Дополнительные сведения о других типах событий см. в событиях и их значениях ответа.
Заметка
Дождитесь загрузки компонента перед использованием API. Прослушивайте загруженное событие, а затем выполните новые команды.
report.on('loaded', function(event)
{
reportPages = await report.getPages();
});
Удаление обработчиков событий
Вы можете использовать report.off(...)
для удаления всех обработчиков событий для определенного события.
События и их значения ответа
Просмотрите полный список возможных событий и их значения ответа.
События ошибок (относящиеся ко всем внедрениям)
Событие ошибки создается для описания неудачной операции.
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
}
Заметка
Требуется только свойство message
, а другие свойства могут быть неопределенными.
События отчета
Событие отчета создается для взаимодействия с внедренным отчетом, например нажатием кнопки отчета или визуализацией визуального элемента.
buttonClicked
Событие buttonClicked
возникает, когда пользователь нажимает кнопку отчета.
id: string
title?: string
type?: string (type of button)
bookmark?: string
commandTriggered
Событие commandTriggered
возникает, когда пользователь щелкает команду расширения .
command: string
dataPoints?: IIdentityValue[]
report: models.IReport
page: models.IPage
visual: models.IVisual
dataHyperlinkClicked
Событие dataHyperlinkClicked
возникает при щелчке гиперссылки, а поведение гиперссылки имеет значение NavigateAndRaiseEvent
или RaiseEvent
.
url: string
report: models.IReport
page: models.IPage
visual: models.IVisual
Дополнительные сведения см. в разделе Настройка параметров отчета.
dataSelected
Событие dataSelected
возникает при выборе определенной точки данных.
report: models.IReport
page: models.IPage
visual: models.IVisual
filters: IFilter[]
dataPoints: IIdentityValue[]
нагруженный
Событие loaded
возникает при инициализации отчета. Загрузка завершается после исчезновения логотипа Power BI.
pageChanged
Событие pageChanged
возникает при изменении страницы.
newPage: Models.IPage
Предоставляемые
Событие rendered
возникает при полной отрисовки отчета. Например, если все визуальные элементы отображаются при загрузке отчета или после взаимодействия с пользователем.
saveAsTriggered
Событие saveAsTriggered
возникает, когда пользователь щелкает сохранить как в пользовательском интерфейсе. Это позволяет создать собственное диалоговое окно для действия сохранения как.
Сохранено
Событие saved
возникает, когда сохранение активируется действием save
или saveAs
в пользовательском интерфейсе или с помощью API.
selectionChanged
Событие selectionChanged
возникает всякий раз, когда пользователь изменяет выбранный визуальный элемент.
selectedItems
— это список всех выбранных визуальных элементов при выборе нескольких визуальных элементов.
report: models.IReport
page: models.IPage
visual?: models.IVisual
selectedItems?: models.IVisual[]
visualClicked
Событие visualClicked
возникает при каждом щелчке визуального элемента.
report: models.IReport
page: models.IPage
visual: models.IVisual
visualRendered
Событие visualRendered
возникает при отрисовке визуального элемента (требуется visualRenderedEvents
для true в объекте параметров).
Заметка
Так как визуальные элементы могут отображаться из-за взаимодействия с пользователем, рекомендуется включить это событие только при необходимости.
name: string
Дополнительные сведения см. в разделе Настройка параметров отчета.
События внедрения отчетов для мобильных устройств
Событие "Внедрение отчетов для мобильных устройств" создается для взаимодействия с внедренным отчетом в мобильном макете, например начало или конец пальцем.
события swipeStart и swipeEnd
события swipeStart
или swipeEnd
возникают при начале или окончании движения пальцем в внедренном отчете.
interface ISwipeEvent {
currentPosition: IPosition
startPosition: IPosition
}
interface IPosition {
x: number
y: number
}
События панели мониторинга
Событие панели мониторинга создается при загрузке панели мониторинга и при нажатии пользователя на плитку на панели мониторинга.
нагруженный
Событие loaded
возникает при инициализации панели мониторинга.
плиткаClicked
Событие tileClicked
возникает, когда пользователь щелкает плитку. Он не поднимается для закрепленных динамических страниц.
tileId: string
navigationUrl: string
pageName: string
reportEmbedUrl: string
События Q&A
Событие вопросов и ответов (Q&A) возникает при отображении визуального элемента после ввода вопроса.
visualRendered (Q&A)
Событие visualRendered
возникает при отображении визуального элемента после ввода вопроса и отображения ответа.
question: string
normalizedQuestion: string
События плитки
Событие плитки возникает, когда пользователь щелкает плитку.
tileClicked (событие плитки)
Событие tileClicked
возникает, когда пользователь щелкает плитку. Он не поднимается для закрепленных динамических страниц.
tileId: string
navigationUrl: string
pageName: string
reportEmbedUrl: string
плитка Загружена
Событие tileLoaded
возникает при инициализации плитки. Загрузка завершается после исчезновения логотипа Power BI.