Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more
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)
The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!
| User | Count |
|---|---|
| 4 | |
| 3 | |
| 2 | |
| 1 | |
| 1 |
| User | Count |
|---|---|
| 4 | |
| 4 | |
| 4 | |
| 3 | |
| 3 |