Обработка событий
Совет
Экспериментируйте с 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
возникает при каждом изменении страницы.
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 в объекте settings).
Примечание
Поскольку визуальные элементы могут отображаться из-за взаимодействия с пользователем, рекомендуется включать это событие только при необходимости.
name: string
Дополнительные сведения см. в разделе Настройка параметров отчета.
Отчет о событиях внедрения мобильных устройств
Событие Внедрения отчета для мобильных устройств создается для взаимодействия с внедренным отчетом в мобильном макете, например в начале или конце прокрутки.
swipeStart и swipeEnd events
swipeStart
события или swipeEnd
возникают, когда пользователь начинает или заканчивает прокрутку внедренного отчета.
interface ISwipeEvent {
currentPosition: IPosition
startPosition: IPosition
}
interface IPosition {
x: number
y: number
}
События панели мониторинга
Событие панели мониторинга создается при загрузке панели мониторинга и при щелчке пользователем плитки на панели мониторинга.
загрузка;
Событие loaded
возникает при инициализации панели мониторинга.
tileClicked
Событие 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
Событие tileLoaded
возникает при инициализации плитки. Загрузка завершается, когда исчезает логотип Power BI.