Обработка событий

Совет

Экспериментируйте с 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 возникает при отрисовке визуального элемента (требуется задать значение visualRenderedEventstrue в объекте 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.

Дальнейшие действия