{"version":3,"file":"klyck-io-ng2-pdfjs-custom.mjs","sources":["../../src/ng2-pdfjs-viewer.component.ts","../../index.ts","../../klyck-io-ng2-pdfjs-custom.ts"],"sourcesContent":["import { Component, Input, Output, ViewChild, EventEmitter, ElementRef } from '@angular/core';\n\n@Component({\n  selector: 'ng2-pdfjs-viewer',\n  template: `<iframe title=\"ng2-pdfjs-viewer\" [hidden]=\"externalWindow || (!externalWindow && !pdfSrc)\" #iframe width=\"100%\" height=\"100%\"></iframe>`\n})\nexport class PdfJsViewerComponent {\n  @ViewChild('iframe', {static: true}) iframe: ElementRef;\n  @Input() public viewerId: string;\n  @Output() onBeforePrint: EventEmitter<any> = new EventEmitter();\n  @Output() onAfterPrint: EventEmitter<any> = new EventEmitter();\n  @Output() onDocumentLoad: EventEmitter<any> = new EventEmitter();\n  @Output() onPageChange: EventEmitter<any> = new EventEmitter();\n  @Input() public linkTarget: string = 'BLANK';\n  @Input() public viewerFolder: string;\n  @Input() public externalWindow: boolean = false;\n  @Input() public showSpinner: boolean = true;\n  @Input() public downloadFileName: string;\n  @Input() public openFile: boolean = true;\n  @Input() public download: boolean = true;\n  @Input() public startDownload: boolean;\n  @Input() public viewBookmark: boolean = true;\n  @Input() public print: boolean = true;\n  @Input() public startPrint: boolean;\n  @Input() public fullScreen: boolean = true;\n  //@Input() public showFullScreen: boolean;\n  @Input() public find: boolean = true;\n  @Input() public zoom: string;\n  @Input() public nameddest: string;\n  @Input() public pagemode: string;\n  @Input() public lastPage: boolean;\n  @Input() public rotatecw: boolean;\n  @Input() public rotateccw: boolean;\n  @Input() public cursor: string;\n  @Input() public scroll: string;\n  @Input() public spread: string;\n  @Input() public locale: string;\n  @Input() public useOnlyCssZoom: boolean = false;\n  @Input() public errorOverride: boolean = false;\n  @Input() public errorAppend: boolean = true;\n  @Input() public errorMessage: string;\n  @Input() public diagnosticLogs: boolean = true;\n  \n  @Input() public externalWindowOptions: string;\n  public viewerTab: any;\n  private _src: string | Blob | Uint8Array;\n  private _page: number;\n  \n  @Input()\n  public set page(_page: number) {\n    this._page = _page;\n    if(this.PDFViewerApplication) {\n      this.PDFViewerApplication.page = this._page;\n    } else {\n      if(this.diagnosticLogs) console.warn(\"Document is not loaded yet!!!. Try to set page# after full load. Ignore this warning if you are not setting page# using '.' notation. (E.g. pdfViewer.page = 5;)\");\n    }\n  }\n\n  public get page() {\n    if(this.PDFViewerApplication) {\n      return this.PDFViewerApplication.page;\n    } else {\n      if(this.diagnosticLogs) console.warn(\"Document is not loaded yet!!!. Try to retrieve page# after full load.\");\n    }\n  }\n\n  @Input()\n  public set pdfSrc(_src: string | Blob | Uint8Array) {\n    this._src = _src;\n  }\n\n  public get pdfSrc() {\n    return this._src;\n  }\n\n  public get PDFViewerApplicationOptions() {\n    let pdfViewerOptions = null;\n    if (this.externalWindow) {\n      if (this.viewerTab) {\n        pdfViewerOptions = this.viewerTab.PDFViewerApplicationOptions;\n      }\n    } else {\n      if (this.iframe.nativeElement.contentWindow) {\n        pdfViewerOptions = this.iframe.nativeElement.contentWindow.PDFViewerApplicationOptions;\n      }\n    }\n    return pdfViewerOptions;\n  }\n\n  public get PDFViewerApplication() {\n    let pdfViewer = null;\n    if (this.externalWindow) {\n      if (this.viewerTab) {\n        pdfViewer = this.viewerTab.PDFViewerApplication;\n      }\n    } else {\n      if (this.iframe.nativeElement.contentWindow) {\n        pdfViewer = this.iframe.nativeElement.contentWindow.PDFViewerApplication;\n      }\n    }\n    return pdfViewer;\n  }\n\n  public receiveMessage(viewerEvent)  {\n    if (viewerEvent.data && viewerEvent.data.viewerId && viewerEvent.data.event) {\n      let viewerId = viewerEvent.data.viewerId;\n      let event = viewerEvent.data.event;\n      let param = viewerEvent.data.param;\n      if (this.viewerId == viewerId) {\n        if (this.onBeforePrint && event == \"beforePrint\") {\n          this.onBeforePrint.emit();\n        }\n        else if (this.onAfterPrint && event == \"afterPrint\") {\n          this.onAfterPrint.emit();\n        }\n        else if (this.onDocumentLoad && event == \"pagesLoaded\") {\n          this.onDocumentLoad.emit(param);\n        }\n        else if (this.onPageChange && event == \"pageChange\") {\n          this.onPageChange.emit(param);\n        }\n      }\n    }\n  }\n\n  ngOnInit(): void {\n    window.addEventListener(\"message\", this.receiveMessage.bind(this), false);\n    if (!this.externalWindow) { // Load pdf for embedded views\n      this.loadPdf();\n    }\n  }\n\n  public refresh(): void { // Needs to be invoked for external window or when needs to reload pdf\n    this.loadPdf();\n  }\n\n  private loadPdf() {\n    if (!this._src) {\n      return;\n    }\n\n    // console.log(`Tab is - ${this.viewerTab}`);\n    // if (this.viewerTab) {\n    //   console.log(`Status of window - ${this.viewerTab.closed}`);\n    // }\n\n    if (this.externalWindow && (typeof this.viewerTab === 'undefined' || this.viewerTab.closed)) {\n      this.viewerTab = window.open('', '_blank', this.externalWindowOptions || '');\n      if (this.viewerTab == null) {\n        if(this.diagnosticLogs) console.error(\"ng2-pdfjs-viewer: For 'externalWindow = true'. i.e opening in new tab to work, pop-ups should be enabled.\");\n        return;\n      }\n\n      if (this.showSpinner) {\n        this.viewerTab.document.write(`\n          <style>\n          .loader {\n            position: fixed;\n            left: 40%;\n            top: 40%;\n            border: 16px solid #f3f3f3;\n            border-radius: 50%;\n            border-top: 16px solid #3498db;\n            width: 120px;\n            height: 120px;\n            animation: spin 2s linear infinite;\n          }\n          @keyframes spin {\n            0% {\n              transform: rotate(0deg);\n            }\n            100% {\n              transform: rotate(360deg);\n            }\n          }\n          </style>\n          <div class=\"loader\"></div>\n        `);\n      }\n    }\n\n    let fileUrl;\n    //if (typeof this.src === \"string\") {\n    //  fileUrl = this.src;\n    //}\n    if (this._src instanceof Blob) {\n      fileUrl = encodeURIComponent(URL.createObjectURL(this._src));\n    } else if (this._src instanceof Uint8Array) {\n      let blob = new Blob([this._src], { type: \"application/pdf\" });\n      fileUrl = encodeURIComponent(URL.createObjectURL(blob));\n    } else {\n      fileUrl = this._src;\n    }\n\n    let viewerUrl;\n    if (this.viewerFolder) {\n      viewerUrl = `${this.viewerFolder}/web/viewer.html`;\n    } else {\n      viewerUrl = `assets/pdfjs/web/viewer.html`;\n    }\n\n    viewerUrl += `?file=${fileUrl}`;\n\n    if (typeof this.viewerId !== 'undefined') {\n      viewerUrl += `&viewerId=${this.viewerId}`;\n    }\n    if (this.linkTarget) {\n      viewerUrl += `&linkTarget=${this.linkTarget}`;\n    }\n    if (typeof this.onBeforePrint !== 'undefined') {\n      viewerUrl += `&beforePrint=true`;\n    }\n    if (typeof this.onAfterPrint !== 'undefined') {\n      viewerUrl += `&afterPrint=true`;\n    }\n    if (typeof this.onDocumentLoad !== 'undefined') {\n      viewerUrl += `&pagesLoaded=true`;\n    }\n    if (typeof this.onPageChange !== 'undefined') {\n      viewerUrl += `&pageChange=true`;\n    }\n\n    if (this.downloadFileName) {\n      if(!this.downloadFileName.endsWith(\".pdf\")) {\n        this.downloadFileName += \".pdf\";\n      }\n      viewerUrl += `&fileName=${this.downloadFileName}`;\n    }\n    if (typeof this.openFile !== 'undefined') {\n      viewerUrl += `&openFile=${this.openFile}`;\n    }\n    if (typeof this.download !== 'undefined') {\n      viewerUrl += `&download=${this.download}`;\n    }\n    if (this.startDownload) {\n      viewerUrl += `&startDownload=${this.startDownload}`;\n    }\n    if (typeof this.viewBookmark !== 'undefined') {\n      viewerUrl += `&viewBookmark=${this.viewBookmark}`;\n    }\n    if (typeof this.print !== 'undefined') {\n      viewerUrl += `&print=${this.print}`;\n    }\n    if (this.startPrint) {\n      viewerUrl += `&startPrint=${this.startPrint}`;\n    }\n    if (typeof this.fullScreen !== 'undefined') {\n      viewerUrl += `&fullScreen=${this.fullScreen}`;\n    }\n    // if (this.showFullScreen) {\n    //   viewerUrl += `&showFullScreen=${this.showFullScreen}`;\n    // }\n    if (typeof this.find !== 'undefined') {\n      viewerUrl += `&find=${this.find}`;\n    }\n    if (this.lastPage) {\n      viewerUrl += `&lastpage=${this.lastPage}`;\n    }\n    if (this.rotatecw) {\n      viewerUrl += `&rotatecw=${this.rotatecw}`;\n    }\n    if (this.rotateccw) {\n      viewerUrl += `&rotateccw=${this.rotateccw}`;\n    }\n    if (this.cursor) {\n      viewerUrl += `&cursor=${this.cursor}`;\n    }\n    if (this.scroll) {\n      viewerUrl += `&scroll=${this.scroll}`;\n    }\n    if (this.spread) {\n      viewerUrl += `&spread=${this.spread}`;\n    }\n    if (this.locale) {\n      viewerUrl += `&locale=${this.locale}`;\n    }\n    if (this.useOnlyCssZoom) {\n      viewerUrl += `&useOnlyCssZoom=${this.useOnlyCssZoom}`;\n    }\n    \n    if (this._page || this.zoom || this.nameddest || this.pagemode) viewerUrl += \"#\"\n    if (this._page) {\n      viewerUrl += `&page=${this._page}`;\n    }\n    if (this.zoom) {\n      viewerUrl += `&zoom=${this.zoom}`;\n    }\n    if (this.nameddest) {\n      viewerUrl += `&nameddest=${this.nameddest}`;\n    }\n    if (this.pagemode) {\n      viewerUrl += `&pagemode=${this.pagemode}`;\n    }\n    if (this.errorOverride || this.errorAppend) {\n      viewerUrl += `&errorMessage=${this.errorMessage}`;\n\n      if (this.errorOverride) {\n        viewerUrl += `&errorOverride=${this.errorOverride}`;\n      }\n      if (this.errorAppend) {\n        viewerUrl += `&errorAppend=${this.errorAppend}`;\n      }\n    }\n\n    if (this.externalWindow) {\n      this.viewerTab.location.href = viewerUrl;\n    } else {\n      this.iframe.nativeElement.src = viewerUrl;\n    }\n\n    // console.log(`\n    //   pdfSrc = ${this.pdfSrc}\n    //   fileUrl = ${fileUrl}\n    //   externalWindow = ${this.externalWindow}\n    //   downloadFileName = ${this.downloadFileName}\n    //   viewerFolder = ${this.viewerFolder}\n    //   openFile = ${this.openFile}\n    //   download = ${this.download}\n    //   startDownload = ${this.startDownload}\n    //   viewBookmark = ${this.viewBookmark}\n    //   print = ${this.print}\n    //   startPrint = ${this.startPrint}\n    //   fullScreen = ${this.fullScreen}\n    //   find = ${this.find}\n    //   lastPage = ${this.lastPage}\n    //   rotatecw = ${this.rotatecw}\n    //   rotateccw = ${this.rotateccw}\n    //   cursor = ${this.cursor}\n    //   scrollMode = ${this.scroll}\n    //   spread = ${this.spread}\n    //   page = ${this.page}\n    //   zoom = ${this.zoom}\n    //   nameddest = ${this.nameddest}\n    //   pagemode = ${this.pagemode}\n    //   pagemode = ${this.errorOverride}\n    //   pagemode = ${this.errorAppend}\n    //   pagemode = ${this.errorMessage}\n    // `);\n  }\n}","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PdfJsViewerComponent } from './src/ng2-pdfjs-viewer.component';\n\nexport * from './src/ng2-pdfjs-viewer.component';\n\n@NgModule({\n  imports: [\n    CommonModule\n  ],\n  declarations: [\n    PdfJsViewerComponent\n  ],\n  exports: [\n    PdfJsViewerComponent\n  ]\n})\nexport class PdfJsViewerModule {\n  static forRoot(): ModuleWithProviders<PdfJsViewerModule> {\n    return {\n      ngModule: PdfJsViewerModule\n    };\n  }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}