{"version":3,"file":"ngx-tableau.mjs","sources":["../../../projects/tableau/src/lib/scripts.store.ts","../../../projects/tableau/src/lib/scripts.service.ts","../../../projects/tableau/src/lib/vizCreateOptions.ts","../../../projects/tableau/src/lib/tableau.component.ts","../../../projects/tableau/src/lib/tableau.module.ts","../../../projects/tableau/src/lib/tableauEvents.ts","../../../projects/tableau/src/public_api.ts","../../../projects/tableau/src/ngx-tableau.ts"],"sourcesContent":["export interface Scripts {\n  name: string;\n  src: string;\n}\nexport const ScriptStore: Scripts[] = [\n  {\n    name: 'tableau',\n    src: 'https://public.tableau.com/javascripts/api/tableau-2.9.1.min.js',\n  },\n];\n","import { Injectable } from '@angular/core';\nimport { ScriptStore } from './scripts.store';\n\ndeclare var document: any;\n\n@Injectable()\nexport class ScriptService {\n  private readonly scripts: any = {};\n\n  constructor() {\n    ScriptStore.forEach((script: any) => {\n      this.scripts[script.name] = {\n        loaded: false,\n        src: script.src\n      };\n    });\n  }\n\n  load(...scripts: string[]) {\n    const promises: any[] = [];\n    scripts.forEach(script => promises.push(this.loadScript(script)));\n    return Promise.all(promises);\n  }\n\n  loadScript(name: string) {\n    return new Promise((resolve, reject) => {\n      // Resolve if already loaded\n      if (this.scripts[name].loaded) {\n        resolve({ script: name, loaded: true, status: 'Already Loaded' });\n      } else {\n        // Load script\n        const script = document.createElement('script');\n        script.type = 'text/javascript';\n        script.src = this.scripts[name].src;\n        if (script.readyState) {\n          // IE\n          script.onreadystatechange = () => {\n            if (\n              script.readyState === 'loaded' ||\n              script.readyState === 'complete'\n            ) {\n              script.onreadystatechange = null;\n              this.scripts[name].loaded = true;\n              resolve({ script: name, loaded: true, status: 'Loaded' });\n            }\n          };\n        } else {\n          // Other browsers\n          script.onload = () => {\n            this.scripts[name].loaded = true;\n            resolve({ script: name, loaded: true, status: 'Loaded' });\n          };\n        }\n        script.onerror = (error: any) =>\n          resolve({ script: name, loaded: false, status: 'Loaded' });\n        document.getElementsByTagName('head')[0].appendChild(script);\n      }\n    });\n  }\n}\n","export class VizCreateOptions {\n  disableUrlActionsPopups?: boolean;\n  hideTabs?: boolean;\n  hideToolbar?: boolean;\n  instanceIdToClone?: string;\n  height?: string = '100%';\n  width?: string = '100%';\n  device?: string;\n  onFirstInteractive?: (event: any) => void;\n  onFirstVizSizeKnown?: (event: any) => void;\n  toolbarPosition?: ToolbarPosition;\n}\n\nexport enum ToolbarPosition {\n  TOP = 'top',\n  BOTTOM = 'bottom'\n}\n","import {\n  Component,\n  EventEmitter,\n  Input,\n  OnDestroy,\n  OnInit,\n  Output,\n} from '@angular/core';\nimport { ScriptService } from './scripts.service';\nimport { VizCreateOptions } from './vizCreateOptions';\n\ndeclare var tableau: any;\n\nexport interface Viz {\n  dispose(): any;\n  show(): any;\n  hide(): any;\n  pauseAutomaticUpdatesAsync(): any;\n  resumeAutomaticUpdatesAsync(): any;\n  toggleAutomaticUpdatesAsync(): any;\n  revertAllAsync(): any;\n  refreshDataAsync(): any;\n  showDownloadDialog(): any;\n  showDownloadWorkbookDialog(): any;\n  showExportImageDialog(): any;\n  showExportPDFDialog(): any;\n}\n\n@Component({\n  selector: 'ngx-tableau',\n  template: ` <div class=\"ngx-tableau-viz\" id=\"tableauViz\"></div> `,\n  styles: [\n    `\n      .ngx-tableau-viz {\n        z-index: 1;\n        height: calc(100vh - 20px);\n      }\n    `,\n  ],\n})\nexport class TableauComponent implements OnInit, OnDestroy {\n  scriptService;\n\n  tableauViz!: Viz;\n\n  @Output() loaded = new EventEmitter();\n\n  @Output() tableauVizLoaded = new EventEmitter();\n\n  @Input() tableauJsApiUrl!: string;\n\n  @Input() tableauVizUrl!: string;\n\n  @Input() serverUrl!: string;\n\n  @Input() ticket!: string;\n\n  @Input() site!: string;\n\n  @Input() report!: string;\n\n  @Input() filters!: object;\n\n  @Input() options!: VizCreateOptions;\n\n  @Input() debugMode: boolean = false;\n\n  constructor(scriptService: ScriptService) {\n    this.scriptService = scriptService;\n  }\n\n  debug(message: string, data: any = {}) {\n    if (this.debugMode) {\n      data ? console.log(message) : console.log(message, data);\n    }\n  }\n\n  ngOnInit() {\n    if (this.tableauJsApiUrl) {\n      // If tableauJsApiUrl is defined, load custom Tableau JavaScript API from this variable\n      this.debug(`Loading custom Tableau JavaScript API file from ${this.tableauJsApiUrl}`);\n      const script = document.createElement('script');\n      script.type = 'text/javascript';\n      script.src = this.tableauJsApiUrl;\n      document.getElementsByTagName('head')[0].appendChild(script);\n      \n      script.onload = () => {\n        this.debug(`Custom Tableau JavaScript API successful loaded from ${this.tableauJsApiUrl}`);\n        this.renderTableauViz();\n        this.loaded.emit(true);\n      };\n\n      script.onerror = (error: any) => console.error('Error loading custom Tableau JavaScript API', error);\n    } else {\n      // If tableauJsApiUrl is not defined, load default Tableau JavaScript API from ScriptService\n      this.debug(`Loading default Tableau JavaScript API file`);\n      this.scriptService\n        .load('tableau')\n        .then(data => {\n          this.debug('Default Tableau JavaScript API successful loaded', data);\n          this.renderTableauViz();\n          this.loaded.emit(data);\n        })\n        .catch(error => console.error('Error loading default Tableau JavaScript API', error));\n    }\n  }\n\n  /**\n   * Render a Tableau visualization, generating Tableau URL and using Tableau JS API to show vizualization\n   */\n  renderTableauViz() {\n    const placeholderDiv = document.getElementById('tableauViz');\n    const options = {\n      ...this.options,\n      ...this.filters,\n    };\n    if (this.checkRequiredInputs()) {\n      // Usage of Tableau JS API to show visualization\n      this.tableauViz = new tableau.Viz(\n        placeholderDiv,\n        this.tableauVizUrl,\n        options\n      ) as Viz;\n      this.tableauVizLoaded.emit(this.tableauViz);\n    }\n  }\n\n  /**\n   * Check if all required inputs for embedding a Tableau visualization are set\n   * @returns true if all required inputs are set, false otherwise\n   */\n  checkRequiredInputs(): boolean {\n    if (!this.tableauVizUrl) {\n      return this.createUrlFromInputs();\n    } else {\n      this.debug(`Using Tableau visualization URL: ${this.tableauVizUrl}`);\n    }\n\n    return true;\n  }\n\n  multisiteUrlOrNot() {\n    if (this.site) {\n      return `/t/${this.site}/views/${this.report}`;\n    } else {\n      return `/views/${this.report}`;\n    }\n  }\n\n  createUrlFromInputs() {\n    if (this.ticket && this.serverUrl && this.report) {\n      const endOfUrl = this.multisiteUrlOrNot();\n\n      this.tableauVizUrl = `${this.serverUrl}/trusted/${this.ticket}${endOfUrl}`;\n      this.debug(\n        `Using Tableau visualization URL for private site: ${this.tableauVizUrl}`\n      );\n      return true;\n    } else if (this.serverUrl && this.report) {\n      const endOfUrl = this.multisiteUrlOrNot();\n\n      this.tableauVizUrl = `${this.serverUrl}${endOfUrl}`;\n      this.debug(\n        `Using Tableau visualization URL for public site: ${this.tableauVizUrl}`\n      );\n      return true;\n    } else {\n      console.error(\n        'One or both of the following parameters are missing: serverUrl or report'\n      );\n      return false;\n    }\n  }\n\n  ngOnDestroy() {\n    // Dispose tableauViz to avoid memory leaks when component is destroyed\n    if (this.tableauViz) {\n      this.tableauViz.dispose();\n    }\n  }\n}\n","import { NgModule } from '@angular/core';\nimport { TableauComponent } from './tableau.component';\nimport { ScriptService } from './scripts.service';\n\n@NgModule({\n  imports: [],\n  declarations: [TableauComponent],\n  providers: [ScriptService],\n  exports: [TableauComponent]\n})\nexport class TableauModule {}\n","export enum TableauEvents {\n  CUSTOM_MARK_CONTEXT_MENU = 'custommarkcontextmenu',\n  CUSTOM_VIEW_LOAD = 'customviewload',\n  CUSTOM_VIEW_REMOVE = 'customviewremove',\n  CUSTOM_VIEW_SAVE = 'customviewsave',\n  CUSTOM_VIEW_SET_DEFAULT = 'customviewsetdefault',\n  FILTER_CHANGE = 'filterchange',\n  FIRST_INTERACTIVE = 'firstinteractive',\n  FIRST_VIZ_SIZE_KNOWN = 'firstvizsizeknown',\n  MARKS_SELECTION = 'marksselection',\n  MARKS_HIGHLIGHT = 'markshighlight',\n  PARAMETER_VALUE_CHANGE = 'parametervaluechange',\n  STORY_POINT_SWITCH = 'storypointswitch',\n  TAB_SWITCH = 'tabswitch',\n  TOOLBAR_STATE_CHANGE = 'toolbarstatechange',\n  URL_ACTION = 'urlaction',\n  VIZ_RESIZE = 'vizresize',\n}\n","/*\n * Public API Surface of tableau\n */\n\nexport * from './lib/tableau.component';\nexport * from './lib/tableau.module';\nexport { VizCreateOptions, ToolbarPosition } from './lib/vizCreateOptions';\nexport { TableauEvents } from './lib/tableauEvents';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.ScriptService"],"mappings":"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"}