Метод getVisuals на объекте страницы не будет работать для меня в Javascript моей страницы Visualforce. В моем журнале консоли я вижу:
TypeError: Object doesn't support property or method 'getVisuals'
Справочная информация: Я предвосхищу это, сказав, что я не разработчик. В лучшем случае я хакер, и я не очень разбираюсь в Javascript, но у меня есть общее представление о языке.
Я успешно внедрил PowerBI в Salesforce, используя это руководство: https://powerbi.microsoft.com/en-us/blog/embedding-a-power-bi-report-into-salesforce/
Теперь я пытаюсь расширить функциональность, предварительно настроив некоторые слайсеры. Первым шагом в этом является получение имен срезов с помощью метода getVisuals объекта страницы, однако всякий раз, когда я вызываю getVisuals, я получаю сообщение о том, что метод не существует.
Я понимаю, что отчет должен быть обработан , и я переместил выполнение getVisuals в событие report.on ("rendered"), но все равно не удалось. Я вполне уверен, что мой вызов события хорош, так как я могу видеть журнал "рендеринга".
Вот соответствующий код:
window.onload = function() {
... (stuff from tutorial above to load the report) ...
var element = document.getElementById('myReport');
var report = powerbi.embed(element, embedConfiguration);
report.on("loaded", function(){
console.log("loaded");
});
report.on("rendered", function(){
console.log("rendered");
report.getPages()
.then(function (pages) {
// Retrieve active page.
var activePage = pages.filter(function(page) {
return page.isActive
})[0];
console.dir(activePage);
activePage.getVisuals()
.then(function (visuals) {
console.log(
visuals.map(function(visual) {
return {
name: visual.name,
type: visual.type,
title: visual.title,
layout: visual.layout
};
})
);
})
.catch(function (errors) {
console.log(errors);
});
})
.catch(function (errors) {
console.log(errors);
});
});
}
В журнале отображается «обработанное» сообщение и выводятся свойства страницы, но метод getVisuals отсутствует, а оставшаяся часть кода завершается ошибкой.
Если я вызываю код функции getVisuals отдельно от функции события window.onload, я получаю ту же ошибку.
Также я вижу эту ошибку в журнале (независимо от того, пытаюсь ли я вызвать getVisuals или нет):
ERROR Error: Uncaught (in promise): Object: {"data":"","status":401,"activityId":"ff2eaf1f-2d26-406a-a8f4-cb44289872c1","requestId":"1d418ee5-fc82-93e9-01cf-5bdc99edab0d","responseRequestId":null,"pendingRequestCount":4}
Мне интересно, связано ли это обещание с вызовом рендеринга?
Также следует отметить: отчет загружается нормально и является интерактивным и т. Д.
Не уверен, что я делаю не так, но любая помощь приветствуется!