async getPageByName()

in src/report.ts [364:392]


  async getPageByName(pageName: string): Promise<Page> {
    if (isRDLEmbed(this.config.embedUrl)) {
      return Promise.reject(APINotSupportedForRDLError);
    }

    try {
      const response = await this.service.hpm.get<IPage[]>(`/report/pages`, { uid: this.config.uniqueId }, this.iframe.contentWindow);
      const page = response.body.find((p: IPage) => p.name === pageName);

      if (!page) {
        return Promise.reject(CommonErrorCodes.NotFound);
      }

      return new Page(
        this,
        page.name,
        page.displayName,
        page.isActive,
        page.visibility,
        page.defaultSize,
        page.defaultDisplayOption,
        page.mobileSize,
        page.background,
        page.wallpaper,
      );
    } catch (response) {
      throw response.body;
    }
  }