Learn from the best! Meet the four finalists headed to the FINALS of the Power BI Dataviz World Championships! Register now
On powebi-models there is a enum defined as viewMode, which is used in the definition of switchMode. But the implementation is inconsistent
/**
* Switch Report view mode.
*
* @returns {Promise<void>}
*/
switchMode(viewMode: models.ViewMode): Promise<void> {
let url = '/report/switchMode/' + viewMode;
return this.service.hpm.post<models.IError[]>(url, null, { uid: this.config.uniqueId }, this.iframe.contentWindow)
.then(response => {
return response.body;
})
.catch(response => {
throw response.body;
});
}
As viewMode is an enum, this expression translates into
/report/switchMode/0 or /report/switchMode/1
It makes no sense since the API endpoint expects 'view' or 'edit', as seen in the code examples:
function _Report_switchModeEdit() {
// Get a reference to the embedded report HTML element
var embedContainer = $('#embedContainer')[0];
// Get a reference to the embedded report.
report = powerbi.get(embedContainer);
// Switch to edit mode.
report.switchMode("edit");
}
function _Report_switchModeView() {
// Get a reference to the embedded report HTML element
var embedContainer = $('#embedContainer')[0];
// Get a reference to the embedded report.
report = powerbi.get(embedContainer);
// Switch to view mode.
report.switchMode("view");
}
So either the type definitions or the implementation should be fixed.
This is fixed.
swithcMode now takes an enum or a string.
Report.switchMode(viewMode: string | ViewMode)
A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.
Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.
| User | Count |
|---|---|
| 4 | |
| 2 | |
| 2 | |
| 2 | |
| 2 |