Power-Bi JavaScript: данные выбраны, кнопка нажата - событие не вызвано - PullRequest
0 голосов
/ 15 марта 2019

MS Playground: https://microsoft.github.io/PowerBI-JavaScript/demo/v2-demo/index.html#

Контекст

  1. Отчет загружен правильно
  2. События «Loaded» и «Rendered» запускаются корректно
  3. "powerbi-client": "^ 2.7.0",

MS Пример для прослушивания «dataSelected»

// Get a reference to the embedded report HTML element
var embedContainer = $('#embedContainer')[0];

// Get a reference to the embedded report.
report = powerbi.get(embedContainer);

// Report.off removes a given event listener if it exists.
report.off("dataSelected");

// Report.on will add an event listener.
report.on("dataSelected", function(event) {
    Log.logText("Event - dataSelected:");
    var data = event.detail;
    Log.log(data);
});

// Select Run and select an element of a visualization.
// For example, a bar in a bar chart. You should see an entry in the Log window.

Log.logText("Select data to see events in Log window.");

Моя реализация TypeScript

const report: Embed = pbiService.embed(container, reportConfig);

report.on("dataSelected", event => {
  console.log("dataSelected", event);
});
report.on("buttonClicked", event => {
  console.log("buttonClicked", event);
});

Печатает правильную сумму с именем EventHandlers:

console.log(report.eventHandlers);

Выпуск

«dataSelected» и «buttonClicked» никогда не запускаются.

1 Ответ

0 голосов
/ 13 мая 2019

Вы создаете report объект типа Embed. Вы можете попробовать сделать это с типом Report, например:

import { Report } from 'report'; // This is part of powerbi-client library

const report: Report = <Report> pbiService.embed(container, reportConfig));

report.on("dataSelected", event => {
  console.log("dataSelected", event);
});
report.on("buttonClicked", event => {
  console.log("buttonClicked", event);
});
...