Forum Discussion

Ameb's avatar
Ameb
Helper I
8 years ago

Typescript API: switchMode

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.