403Webshell
Server IP : 80.87.202.40  /  Your IP : 216.73.216.169
Web Server : Apache
System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64
User : bitrix ( 600)
PHP Version : 8.2.27
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : ON
Directory :  /home/bitrix/ext_www/rospirotorg.ru/bitrix/js/ui/viewer/dist/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/rospirotorg.ru/bitrix/js/ui/viewer/dist/viewer.bundle.js.map
{"version":3,"file":"viewer.bundle.js","sources":["../src/item-document.js","../src/single-document-controller.js"],"sourcesContent":["import { Text, Tag, Uri, Loc, Dom, Reflection, Event, Runtime, ajax as Ajax, Type } from 'main.core';\nimport { EventEmitter } from 'main.core.events';\n\nconst Item = Reflection.namespace('BX.UI.Viewer.Item');\nconst Util = Reflection.namespace('BX.util');\nconst BXPromise = Reflection.namespace('BX.Promise');\n\nconst DEFAULT_SCALE = 1.4;\nconst SCALE_MIN = 0.5;\nconst SCALE_MAX = 3;\n\nconst PAGES_TO_PRELOAD = 3;\n\n// noinspection JSClosureCompilerSyntax\n/**\n * @memberof BX.UI.Viewer\n * @extends BX.UI.Viewer.Item\n */\nexport class Document extends Item\n{\n\tstatic #loadingLibraryPromise = null;\n\t#pageNumber: number = 1;\n\t#loadingDocumentPromise: Promise = null;\n\n\tpdfDocument;\n\tpdfPages: Object<number,Object> = {};\n\tscale: number = DEFAULT_SCALE;\n\tpdfRenderedPages: Object<number,Object> = {};\n\tlastRenderedPdfPage: number = 0;\n\tcontentNode: Element;\n\tpreviewHtml: Element;\n\textraActions: HTMLElement = null;\n\tdisableAnnotationLayer: boolean = true;\n\n\tconstructor (options)\n\t{\n\t\tsuper(options);\n\n\t\toptions = options || {};\n\n\t\tthis.scale = options.scale || DEFAULT_SCALE;\n\t}\n\n\tsetPropertiesByNode(node:HTMLElement): void\n\t{\n\t\tsuper.setPropertiesByNode(node);\n\n\t\tthis.disableAnnotationLayer = node.dataset.hasOwnProperty('disableAnnotationLayer') ? true : this.disableAnnotationLayer;\n\t}\n\n\tapplyReloadOptions(options)\n\t{\n\t\tthis.controller.unsetCachedData(this.src);\n\t}\n\n\tlistContainerModifiers(): Array<string>\n\t{\n\t\tconst result = [\n\t\t\t'ui-viewer-document',\n\t\t];\n\t\tif (this.controller.stretch)\n\t\t{\n\t\t\tresult.push('--stretch');\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tsetSrc(src: string|Uri): this\n\t{\n\t\tthis.src = src;\n\t\tthis._pdfSrc = null;\n\n\t\treturn this.#resetState();\n\t}\n\n\tsetPdfSource(pdfSource: string|Uri|ArrayBuffer): this\n\t{\n\t\tthis._pdfSrc = pdfSource;\n\n\t\treturn this.#resetState();\n\t}\n\n\t#resetState(): this\n\t{\n\t\tthis.pdfRenderedPages = {};\n\t\tthis.lastRenderedPdfPage = null;\n\t\tthis.pdfDocument = null;\n\t\tthis.pdfPages = {};\n\t\tthis.setPageNumber(1);\n\t\tif (this.printer)\n\t\t{\n\t\t\tthis.hidePrintProgress();\n\t\t\tthis.printer.destroy();\n\t\t}\n\t}\n\n\tloadLibrary(): Promise\n\t{\n\t\tif (Document.#loadingLibraryPromise !== null)\n\t\t{\n\t\t\treturn Document.#loadingLibraryPromise;\n\t\t}\n\t\tDocument.#loadingLibraryPromise = new Promise((resolve, reject) => {\n\t\t\tRuntime.loadExtension('ui.pdfjs').then(() => {\n\t\t\t\tif (!pdfjsLib.GlobalWorkerOptions.workerSrc)\n\t\t\t\t{\n\t\t\t\t\tpdfjsLib.GlobalWorkerOptions.workerSrc = '/bitrix/js/ui/pdfjs/pdf.worker.js';\n\t\t\t\t}\n\n\t\t\t\tDocument.#loadingLibraryPromise = null;\n\n\t\t\t\tresolve();\n\t\t\t})\n\t\t\t.catch(reject);\n\t\t});\n\n\t\treturn Document.#loadingLibraryPromise;\n\t}\n\n\tloadData(): BXPromise\n\t{\n\t\tconst promise = new BXPromise();\n\n\t\tif (this._pdfSrc)\n\t\t{\n\t\t\tthis.loadLibrary().then(() => {\n\t\t\t\tpromise.fulfill(this);\n\t\t\t});\n\n\t\t\treturn promise;\n\t\t}\n\n\t\tconsole.log('loadData pdf');\n\t\tconst ajaxPromise = Ajax.promise({\n\t\t\turl: Uri.addParam(this.src, {ts: 'bxviewer'}),\n\t\t\tmethod: 'GET',\n\t\t\tdataType: 'json',\n\t\t\theaders: [\n\t\t\t\t{\n\t\t\t\t\tname: 'BX-Viewer-src',\n\t\t\t\t\tvalue: this.src\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'BX-Viewer',\n\t\t\t\t\tvalue: 'document'\n\t\t\t\t}\n\t\t\t]\n\t\t});\n\n\t\tajaxPromise.then((response) => {\n\t\t\tif (!response || !response.data)\n\t\t\t{\n\t\t\t\tthis.isTransforming = false;\n\t\t\t\tpromise.reject({\n\t\t\t\t\titem: this,\n\t\t\t\t\tmessage: Loc.getMessage(\"JS_UI_VIEWER_ITEM_TRANSFORMATION_ERROR_1\").replace('#DOWNLOAD_LINK#', this.getSrc()),\n\t\t\t\t\ttype: 'error'\n\t\t\t\t});\n\n\t\t\t\treturn promise;\n\t\t\t}\n\n\t\t\tif (response.data.hasOwnProperty('pullTag'))\n\t\t\t{\n\t\t\t\tif (!this.isTransforming)\n\t\t\t\t{\n\t\t\t\t\tthis.transformationPromise = promise;\n\t\t\t\t\tthis.registerTransformationHandler(response.data.pullTag);\n\t\t\t\t}\n\t\t\t\tthis.isTransforming = true;\n\t\t\t}\n\n\t\t\tif (response.data.data && response.data.data.src)\n\t\t\t{\n\t\t\t\tthis.isTransforming = false;\n\t\t\t\tthis._pdfSrc = response.data.data.src;\n\t\t\t\tthis.loadLibrary().then(() => {\n\t\t\t\t\tpromise.fulfill(this);\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\treturn promise;\n\t}\n\n\trender(): HTMLDivElement\n\t{\n\t\tthis.controller.showLoading();\n\n\t\tthis.contentNode = Dom.create('div', {\n\t\t\tprops: {\n\t\t\t\tclassName: 'ui-viewer-item-document-content',\n\t\t\t\ttabIndex: 2208\n\t\t\t},\n\t\t});\n\n\t\tEvent.bind(this.contentNode, 'scroll', Runtime.throttle(this.handleScrollDocument.bind(this), 100));\n\n\t\treturn this.contentNode;\n\t}\n\n\trenderExtraActions(): HTMLElement\n\t{\n\t\tif (this.extraActions === null)\n\t\t{\n\t\t\tthis.extraActions = Tag.render`\n\t\t\t\t<div class=\"ui-viewer-extra-actions\">\n\t\t\t\t\t<div \n\t\t\t\t\t\tclass=\"ui-viewer-action-btn\" \n\t\t\t\t\t\tonclick=\"${this.zoomOut.bind(this)}\"\n\t\t\t\t\t\ttitle=\"${Text.encode(Loc.getMessage('JS_UI_VIEWER_SINGLE_DOCUMENT_SCALE_ZOOM_OUT'))}\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div class=\"ui-icon-set --zoom-out ui-viewer-action-btn-icon\"></div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div \n\t\t\t\t\t\tclass=\"ui-viewer-action-btn\" \n\t\t\t\t\t\tonclick=\"${this.zoomIn.bind(this)}\" \n\t\t\t\t\t\ttitle=\"${Text.encode(Loc.getMessage('JS_UI_VIEWER_SINGLE_DOCUMENT_SCALE_ZOOM_IN'))}\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div class=\"ui-icon-set --zoom-in ui-viewer-action-btn-icon\"></div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div \n\t\t\t\t\t\tclass=\"ui-viewer-action-btn\" \n\t\t\t\t\t\tonclick=\"${this.print.bind(this)}\" \n\t\t\t\t\t\ttitle=\"${Text.encode(Loc.getMessage('JS_UI_VIEWER_ITEM_ACTION_PRINT'))}\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div class=\"ui-icon-set --print-1 ui-viewer-action-btn-icon\"></div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t`;\n\t\t}\n\n\t\treturn this.extraActions;\n\t}\n\n\tzoomIn(): void\n\t{\n\t\tconst newScale = Math.min(SCALE_MAX, Math.max(SCALE_MIN, this.scale * 1.1));\n\t\tvoid this.updateScale(newScale).then(() => {\n\t\t\tthis.controller.adjustControlsSize(this.getContentWidth());\n\t\t});\n\t}\n\n\tzoomOut(): void\n\t{\n\t\tconst newScale = Math.min(SCALE_MAX, Math.max(SCALE_MIN, this.scale * 0.9));\n\t\tvoid this.updateScale(newScale).then(() => {\n\t\t\tthis.controller.adjustControlsSize(this.getContentWidth());\n\t\t});\n\t}\n\n\tgetFirstDocumentPageHeight(): Promise<number>\n\t{\n\t\tif (this._height)\n\t\t{\n\t\t\treturn Promise.resolve(this._height);\n\t\t}\n\n\t\treturn new Promise((resolve) => {\n\t\t\tthis.getDocumentPage(this.pdfDocument, 1).then((page) => {\n\t\t\t\tconst viewport = page.getViewport(this.scale);\n\t\t\t\tthis._height = viewport.height;\n\n\t\t\t\tresolve(this._height);\n\t\t\t});\n\t\t});\n\t}\n\n\thandleScrollDocument(event): void\n\t{\n\t\tthis.getFirstDocumentPageHeight().then((height) => {\n\t\t\tconst scrollBottom = this.contentNode.scrollHeight - this.contentNode.scrollTop - this.contentNode.clientHeight;\n\t\t\tif (scrollBottom < height * PAGES_TO_PRELOAD && this.pdfDocument.numPages > this.lastRenderedPdfPage)\n\t\t\t{\n\t\t\t\tfor (let i = this.lastRenderedPdfPage + 1; i <= Math.min(this.pdfDocument.numPages, this.lastRenderedPdfPage + PAGES_TO_PRELOAD); i++)\n\t\t\t\t{\n\t\t\t\t\tthis.renderDocumentPage(this.pdfDocument, i);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.setPageNumber((this.contentNode.scrollTop / height) + 1);\n\t\t});\n\t}\n\n\tloadDocument(): Promise<Object>\n\t{\n\t\tif (this.pdfDocument)\n\t\t{\n\t\t\treturn Promise.resolve(this.pdfDocument);\n\t\t}\n\n\t\tif (this.#loadingDocumentPromise)\n\t\t{\n\t\t\treturn this.#loadingDocumentPromise;\n\t\t}\n\n\t\tthis.#loadingDocumentPromise = new Promise((resolve) => {\n\t\t\tthis.loadData().then(() => {\n\t\t\t\tpdfjsLib.getDocument(this._pdfSrc).promise.then((pdf) => {\n\t\t\t\t\tthis.pdfDocument = pdf;\n\t\t\t\t\tthis.#loadingDocumentPromise = null;\n\n\t\t\t\t\tresolve(this.pdfDocument);\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\n\t\treturn this.#loadingDocumentPromise;\n\t}\n\n\tgetDocumentPage(pdf, pageNumber): Promise<Object>\n\t{\n\t\tif (this.pdfPages[pageNumber])\n\t\t{\n\t\t\treturn Promise.resolve(this.pdfPages[pageNumber]);\n\t\t}\n\n\t\treturn new Promise((resolve) => {\n\t\t\tpdf.getPage(pageNumber).then((page) => {\n\t\t\t\tthis.pdfPages[pageNumber] = page;\n\n\t\t\t\tresolve(this.pdfPages[pageNumber]);\n\t\t\t});\n\t\t});\n\t}\n\n\trenderDocumentPage(pdf, pageNumber): Promise<Object>\n\t{\n\t\tconst pagePromise = this.pdfRenderedPages[pageNumber];\n\t\tif (pagePromise instanceof Promise)\n\t\t{\n\t\t\treturn pagePromise;\n\t\t}\n\t\telse if(!!pagePromise)\n\t\t{\n\t\t\treturn Promise.resolve(pagePromise);\n\t\t}\n\n\t\tthis.pdfRenderedPages[pageNumber] = new Promise((resolve) => {\n\t\t\tthis.getDocumentPage(pdf, pageNumber).then((page) => {\n\t\t\t\tconst canvas = this.createCanvasPage();\n\t\t\t\tconst viewport = page.getViewport(this.scale);\n\t\t\t\tcanvas.height = viewport.height;\n\t\t\t\tcanvas.width = viewport.width;\n\t\t\t\tconst renderPromise = page.render({canvasContext: canvas.getContext('2d'), viewport: viewport});\n\n\t\t\t\tif (!this.disableAnnotationLayer)\n\t\t\t\t{\n\t\t\t\t\trenderPromise.then(function () {\n\t\t\t\t\t\treturn page.getAnnotations();\n\t\t\t\t\t}).then(function (annotationData) {\n\t\t\t\t\t\tconst annotationLayer = Dom.create('div', {\n\t\t\t\t\t\t\tprops: { className: 'ui-viewer-pdf-annotation-layer' },\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tDom.insertAfter(annotationLayer, canvas);\n\t\t\t\t\t\tDom.adjust(annotationLayer, {\n\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\tmargin: '-' + canvas.offsetHeight + 'px auto 0 auto',\n\t\t\t\t\t\t\t\theight: canvas.height + 'px',\n\t\t\t\t\t\t\t\twidth: canvas.width + 'px',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tpdfjsLib.AnnotationLayer.render({\n\t\t\t\t\t\t\tviewport: viewport.clone({ dontFlip: true }),\n\t\t\t\t\t\t\tlinkService: pdfjsLib.SimpleLinkService,\n\t\t\t\t\t\t\tdiv: annotationLayer,\n\t\t\t\t\t\t\tannotations: annotationData,\n\t\t\t\t\t\t\tpage: page,\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\trenderPromise.then(function() {\n\t\t\t\t\treturn page.getTextContent();\n\t\t\t\t}).then(function(textContent) {\n\t\t\t\t\tconst textLayer = Dom.create('div', {\n\t\t\t\t\t\tprops: { className: 'ui-viewer-pdf-text-layer' },\n\t\t\t\t\t});\n\n\t\t\t\t\tDom.insertAfter(textLayer, canvas);\n\t\t\t\t\tDom.adjust(textLayer, {\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\tmargin: '-' + canvas.offsetHeight + 'px auto 0 auto',\n\t\t\t\t\t\t\theight: canvas.height + 'px',\n\t\t\t\t\t\t\twidth: canvas.width + 'px',\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\n\t\t\t\t\tpdfjsLib.renderTextLayer({\n\t\t\t\t\t\ttextContent: textContent,\n\t\t\t\t\t\tcontainer: textLayer,\n\t\t\t\t\t\tviewport: viewport,\n\t\t\t\t\t\ttextDivs: [],\n\t\t\t\t\t});\n\t\t\t\t});\n\n\t\t\t\tthis.lastRenderedPdfPage = Math.max(pageNumber, this.lastRenderedPdfPage);\n\n\t\t\t\tif (pageNumber === 1)\n\t\t\t\t{\n\t\t\t\t\tthis.firstWidthDocumentPage = canvas.width;\n\t\t\t\t}\n\n\t\t\t\trenderPromise.then(() => {\n\t\t\t\t\tthis.controller.hideLoading();\n\t\t\t\t\tthis.pdfRenderedPages[pageNumber] = page;\n\n\t\t\t\t\tresolve(page, canvas);\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\n\t\treturn this.pdfRenderedPages[pageNumber];\n\t}\n\n\tcreateCanvasPage(): HTMLCanvasElement\n\t{\n\t\tconst canvas = document.createElement('canvas');\n\t\tcanvas.className = 'ui-viewer-document-page-canvas';\n\t\tthis.contentNode.appendChild(canvas);\n\n\t\treturn canvas;\n\t}\n\n\tgetContentWidth(): Promise<Number>\n\t{\n\t\treturn new Promise((resolve) => {\n\t\t\tthis.loadDocument().then(() => {\n\t\t\t\tthis.renderDocumentPage(this.pdfDocument, 1).then((page) => {\n\t\t\t\t\tconst contentWidth = page.getViewport(this.scale).width;\n\t\t\t\t\tconst scrollWidth = this.contentNode.offsetWidth - this.contentNode.clientWidth;\n\n\t\t\t\t\tresolve(contentWidth + scrollWidth);\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t}\n\n\tafterRender(): void\n\t{\n\t\tthis.loadDocument().then((pdf) => {\n\t\t\tfor (let i = 1; i <= Math.min(pdf.numPages, PAGES_TO_PRELOAD); i++)\n\t\t\t{\n\t\t\t\tif (i === 1)\n\t\t\t\t{\n\t\t\t\t\tthis._handleControls = this.controller.handleVisibleControls.bind(this.controller);\n\t\t\t\t\tthis.controller.enableReadingMode(true);\n\n\t\t\t\t\tRuntime.throttle(Event.bind(window, 'mousemove', this._handleControls), 20);\n\t\t\t\t}\n\n\t\t\t\tthis.renderDocumentPage(pdf, i);\n\t\t\t}\n\t\t});\n\t}\n\n\tbeforeHide(): void\n\t{\n\t\tthis.pdfRenderedPages = {};\n\t\tEvent.unbind(window, 'mousemove', this._handleControls);\n\t\tif (this.printer)\n\t\t{\n\t\t\tthis.hidePrintProgress();\n\t\t\tthis.printer.destroy();\n\t\t}\n\t}\n\n\tupdatePrintProgressMessage(index: number, total: number): void\n\t{\n\t\tconst progress = Math.round((index / total) * 100);\n\t\tthis.controller.setTextOnLoading(Loc.getMessage('JS_UI_VIEWER_ITEM_PREPARING_TO_PRINT').replace('#PROGRESS#', progress));\n\t}\n\n\tshowPrintProgress(index: number, total: number): void\n\t{\n\t\tthis.contentNode.style.opacity = 0.7;\n\t\tthis.contentNode.style.filter = 'blur(2px)';\n\n\t\tthis.controller.showLoading({\n\t\t\tzIndex: 1,\n\t\t});\n\n\t\tthis.updatePrintProgressMessage(index, total);\n\t}\n\n\thidePrintProgress(): void\n\t{\n\t\tthis.contentNode.style.opacity = null;\n\t\tthis.contentNode.style.filter = null;\n\n\t\tthis.controller.hideLoading();\n\t}\n\n\tprint(): void\n\t{\n\t\tif (!this.pdfDocument)\n\t\t{\n\t\t\tconsole.warn('Where is pdf document to print?');\n\n\t\t\treturn;\n\t\t}\n\n\t\tthis.showPrintProgress(0, this.pdfDocument.numPages);\n\n\t\tthis.printer = new PrintService({\n\t\t\tpdf: this.pdfDocument\n\t\t});\n\n\t\tthis.printer.init().then(() => {\n\t\t\tthis.printer.prepare({\n\t\t\t\tonProgress: this.updatePrintProgressMessage.bind(this)\n\t\t\t}).then(() => {\n\t\t\t\tthis.hidePrintProgress();\n\t\t\t\tthis.printer.performPrint();\n\t\t\t});\n\t\t});\n\t}\n\n\thandleKeyPress(event): void\n\t{\n\t\tif (!this.isLoaded)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\tif (['PageDown', 'PageUp', 'ArrowDown', 'ArrowUp'].includes(event.code))\n\t\t{\n\t\t\tBX.focus(this.contentNode);\n\n\t\t\treturn false;\n\t\t}\n\n\t\tif (event.code === 'Equal')\n\t\t{\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\n\t\t\tthis.zoomIn();\n\n\t\t\treturn true;\n\t\t}\n\n\t\tif (event.code === 'Minus')\n\t\t{\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\n\t\t\tthis.zoomOut();\n\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tgetScale(): number\n\t{\n\t\treturn this.scale;\n\t}\n\n\tsetScale(scale: number): this\n\t{\n\t\tthis.scale = scale;\n\n\t\treturn this;\n\t}\n\n\tupdateScale(scale: number): Promise<void>\n\t{\n\t\tscale = Number(scale);\n\t\tif (this.scale === scale)\n\t\t{\n\t\t\treturn Promise.resolve();\n\t\t}\n\n\t\tconst ratio = scale / this.scale;\n\n\t\tconst updatePageScale = ((\n\t\t\tpage,\n\t\t\tcanvases: Array<number, HTMLCanvasElement>,\n\t\t\ttextLayers: Array<number, HTMLDivElement>,\n\t\t): Promise => {\n\t\t\tconst canvas = canvases[page.pageIndex];\n\t\t\tif (!canvas)\n\t\t\t{\n\t\t\t\treturn Promise.resolve();\n\t\t\t}\n\n\t\t\treturn new Promise((resolve) => {\n\t\t\t\tconst viewport = page.getViewport(this.scale);\n\t\t\t\tcanvas.width = viewport.width;\n\t\t\t\tcanvas.height = viewport.height;\n\t\t\t\tpage.render({\n\t\t\t\t\tcanvasContext: canvas.getContext('2d'),\n\t\t\t\t\tviewport,\n\t\t\t\t}).then(() => {\n\t\t\t\t\tconst textLayer = textLayers[page.pageIndex];\n\t\t\t\t\tif (textLayer)\n\t\t\t\t\t{\n\t\t\t\t\t\tDom.clean(textLayer);\n\t\t\t\t\t\tDom.adjust(textLayer, {\n\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\tmargin: '-' + canvas.offsetHeight + 'px auto 0 auto',\n\t\t\t\t\t\t\t\theight: viewport.height + 'px',\n\t\t\t\t\t\t\t\twidth: viewport.width + 'px',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tpage.getTextContent().then((textContent) => {\n\t\t\t\t\t\t\tpdfjsLib.renderTextLayer({\n\t\t\t\t\t\t\t\ttextContent,\n\t\t\t\t\t\t\t\tcontainer: textLayer,\n\t\t\t\t\t\t\t\tviewport,\n\t\t\t\t\t\t\t\ttextDivs: [],\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\tresolve();\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tresolve();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\n\t\tconst promises = [];\n\t\tthis.scale = scale;\n\t\tconst canvases = Array.from(this.contentNode.querySelectorAll('canvas[class=\"ui-viewer-document-page-canvas\"]'));\n\t\tconst textLayers = Array.from(this.contentNode.querySelectorAll('div[class=\"ui-viewer-pdf-text-layer\"]'));\n\t\tObject.values(this.pdfRenderedPages).forEach((renderedPage) => {\n\t\t\tif (renderedPage instanceof Promise)\n\t\t\t{\n\t\t\t\tpromises.push(new Promise((resolve) => {\n\t\t\t\t\trenderedPage.then((page) => {\n\t\t\t\t\t\tupdatePageScale(page, canvases, textLayers).then(resolve);\n\t\t\t\t\t});\n\t\t\t\t}));\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tpromises.push(updatePageScale(renderedPage, canvases, textLayers));\n\t\t\t}\n\t\t});\n\n\t\tconst scrollTop = this.contentNode.scrollTop * ratio;\n\t\tthis.contentNode.scrollTo(this.contentNode.scrollLeft, scrollTop);\n\n\t\treturn Promise.all(promises);\n\t}\n\n\tgetPagesNumber(): ?number\n\t{\n\t\tif (!this.pdfDocument)\n\t\t{\n\t\t\treturn null;\n\t\t}\n\n\t\treturn Text.toInteger(this.pdfDocument._pdfInfo.numPages);\n\t}\n\n\tscrollToPage(pageNumber: number): Promise<void>\n\t{\n\t\tconst isChanged = this.setPageNumber(pageNumber) !== null;\n\t\tif (!isChanged)\n\t\t{\n\t\t\treturn Promise.resolve();\n\t\t}\n\n\t\treturn new Promise((resolve) => {\n\t\t\tconst renderPromises = [];\n\t\t\tfor (let i = 1; i < pageNumber; i++)\n\t\t\t{\n\t\t\t\trenderPromises.push(this.renderDocumentPage(this.pdfDocument, i));\n\t\t\t}\n\t\t\tPromise.all(renderPromises).then((pages) => {\n\t\t\t\tlet height = 0;\n\n\t\t\t\tpages.forEach((page) => {\n\t\t\t\t\tconst viewport = page.getViewport(this.scale);\n\t\t\t\t\theight += viewport.height + 7;\n\t\t\t\t});\n\n\t\t\t\tthis.contentNode.scrollTo(this.contentNode.scrollLeft, height);\n\n\t\t\t\tresolve();\n\t\t\t});\n\t\t});\n\t}\n\n\tgetPageNumber(): number\n\t{\n\t\treturn this.#pageNumber;\n\t}\n\n\tsetPageNumber(pageNumber: number): this|null\n\t{\n\t\tpageNumber = Text.toInteger(pageNumber);\n\t\tif (pageNumber < 0)\n\t\t{\n\t\t\tpageNumber = 1;\n\t\t}\n\n\t\tlet numPages = this.getPagesNumber();\n\t\tif (!numPages)\n\t\t{\n\t\t\tnumPages = 1;\n\t\t}\n\n\t\tif (pageNumber > numPages)\n\t\t{\n\t\t\tpageNumber = numPages;\n\t\t}\n\n\t\tif (this.#pageNumber !== pageNumber)\n\t\t{\n\t\t\tthis.#pageNumber = pageNumber;\n\t\t\tEventEmitter.emit(this, 'BX.UI.Viewer.Item.Document:updatePageNumber');\n\n\t\t\treturn this;\n\t\t}\n\n\t\treturn null;\n\t}\n}\n\nconst PRINT_SCALE = 1;\n\nexport class PrintService\n{\n\tconstructor(options)\n\t{\n\t\toptions = options || {};\n\t\tthis.pdf = options.pdf;\n\t\tthis.iframe = null;\n\t\tthis.documentOverview = {};\n\t}\n\n\tinit()\n\t{\n\t\tif (this.documentOverview)\n\t\t{\n\t\t\treturn Promise.resolve(this.documentOverview);\n\t\t}\n\n\t\treturn new Promise((resolve) => {\n\t\t\tthis.pdf.getPage(1).then((page) => {\n\t\t\t\tconst viewport = page.getViewport(PRINT_SCALE);\n\n\t\t\t\tthis.documentOverview = {\n\t\t\t\t\twidth: viewport.width, height: viewport.height, rotation: viewport.rotation\n\t\t\t\t};\n\n\t\t\t\tresolve(this.documentOverview);\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * @param {?Object} options\n\t * @param {Function} [options.onProgress]\n\t * @return {BXPromise}\n\t */\n\tprepare(options)\n\t{\n\t\toptions = options || {};\n\t\tconst pageCount = this.pdf.numPages;\n\t\tlet currentPage = -1;\n\t\tconst promise = new BXPromise();\n\t\tlet onProgress = null;\n\t\tif (Type.isFunction(options.onProgress))\n\t\t{\n\t\t\tonProgress = options.onProgress;\n\t\t}\n\n\t\tthis.frame = this.createIframe();\n\n\t\tconst process = () => {\n\t\t\tif (++currentPage >= pageCount)\n\t\t\t{\n\t\t\t\tconsole.log('finish', this.frame.contentWindow.document);\n\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tpromise.fulfill();\n\t\t\t\t}, 1000);\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.renderPage(currentPage + 1).then(function () {\n\t\t\t\tif (onProgress)\n\t\t\t\t{\n\t\t\t\t\tonProgress(currentPage + 1, pageCount);\n\t\t\t\t}\n\t\t\t\tprocess();\n\t\t\t});\n\t\t};\n\n\t\tprocess();\n\n\t\treturn promise;\n\t}\n\n\trenderPage(pageNumber)\n\t{\n\t\treturn this.pdf.getPage(pageNumber).then(function (page) {\n\t\t\tconst scratchCanvas = document.createElement('canvas');\n\t\t\tconst viewport = page.getViewport(1);\n\t\t\t// The size of the canvas in pixels for printing.\n\t\t\tconst PRINT_RESOLUTION = 150;\n\t\t\tconst PRINT_UNITS = PRINT_RESOLUTION / 72.0;\n\t\t\tscratchCanvas.width = Math.floor(viewport.width * PRINT_UNITS);\n\t\t\tscratchCanvas.height = Math.floor(viewport.height * PRINT_UNITS);\n\n\t\t\t// The physical size of the img as specified by the PDF document.\n\t\t\tconst CSS_UNITS = 96.0 / 72.0;\n\t\t\tconst width = Math.floor(viewport.width * CSS_UNITS) + 'px';\n\t\t\tconst height = Math.floor(viewport.height * CSS_UNITS) + 'px';\n\n\t\t\tconst ctx = scratchCanvas.getContext('2d');\n\t\t\tctx.save();\n\t\t\tctx.fillStyle = 'rgb(255, 255, 255)';\n\t\t\tctx.fillRect(0, 0, scratchCanvas.width, scratchCanvas.height);\n\t\t\tctx.restore();\n\n\t\t\tconst renderContext = {\n\t\t\t\tcanvasContext: ctx,\n\t\t\t\ttransform: [PRINT_UNITS, 0, 0, PRINT_UNITS, 0, 0],\n\t\t\t\tviewport: page.getViewport(1, viewport.rotation),\n\t\t\t\tintent: 'print'\n\t\t\t};\n\n\t\t\treturn page.render(renderContext).promise.then(function () {\n\t\t\t\treturn {\n\t\t\t\t\tscratchCanvas: scratchCanvas, width: width, height: height\n\t\t\t\t}\n\t\t\t});\n\t\t}).then((printItem) => {\n\n\t\t\tconst img = document.createElement('img');\n\t\t\timg.style.width = printItem.width;\n\t\t\timg.style.height = printItem.height;\n\n\t\t\tconst scratchCanvas = printItem.scratchCanvas;\n\t\t\tif (('toBlob' in scratchCanvas) && !this.disableCreateObjectURL)\n\t\t\t{\n\t\t\t\tscratchCanvas.toBlob(function (blob) {\n\t\t\t\t\timg.src = URL.createObjectURL(blob);\n\t\t\t\t});\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\timg.src = scratchCanvas.toDataURL();\n\t\t\t}\n\n\t\t\tconst wrapper = document.createElement('div');\n\t\t\twrapper.appendChild(img);\n\n\t\t\tthis.frame.contentWindow.document.body.appendChild(wrapper);\n\t\t});\n\t}\n\n\tdestroy()\n\t{\n\t\tif (this.frame)\n\t\t{\n\t\t\tDom.remove(this.frame);\n\t\t}\n\t}\n\n\tcreateIframe()\n\t{\n\t\tconst frame = document.createElement(\"iframe\");\n\t\tframe.src = \"about:blank\";\n\t\tframe.name = \"document-print-frame\";\n\t\tframe.style.display = \"none\";\n\t\tdocument.body.appendChild(frame);\n\n\t\tconst frameWindow = frame.contentWindow;\n\t\tconst frameDoc = frameWindow.document;\n\t\tframeDoc.open();\n\t\tframeDoc.write('<html><head>');\n\n\t\tconst pageSize = this.getDocumentOverview();\n\t\tlet headTags = \"<style>\";\n\t\theadTags += \"html, body { background: #fff !important; height: 100%; }\";\n\t\theadTags += '@supports ((size:A4) and (size:1pt 1pt)) {' + '@page { size: ' + pageSize.width + 'pt ' + pageSize.height + 'pt;}' + '}';\n\t\theadTags += '#ad{ display:none;}';\n\t\theadTags += '#leftbar{ display:none;}';\n\t\theadTags += \"</style>\";\n\n\t\tframeDoc.write(headTags);\n\n\t\tframeDoc.write('</head><body>');\n\t\tframeDoc.write('</body></html>');\n\t\tframeDoc.close();\n\n\t\treturn frame;\n\t}\n\n\tperformPrint()\n\t{\n\t\tthis.frame.contentWindow.focus();\n\t\tthis.frame.contentWindow.print();\n\t}\n\n\tgetDocumentOverview()\n\t{\n\t\treturn this.documentOverview;\n\t}\n}\n","import {Dom, Text, Loc, Tag, Reflection, Uri} from 'main.core';\nimport {EventEmitter} from 'main.core.events';\nimport {Document} from './item-document';\n\nconst InlineController = Reflection.namespace('BX.UI.Viewer.InlineController');\n\n/**\n * @memberof BX.UI.Viewer\n * @extends BX.UI.Viewer.InlineController\n */\nexport class SingleDocumentController extends InlineController\n{\n\tlistingControl: ListingControl;\n\tscaleControl: ScaleControl;\n\n\tbindEvents(): void\n\t{\n\t\tif (!this.eventsAlreadyBinded && this.getDocumentItem())\n\t\t{\n\t\t\tEventEmitter.subscribe(this.getDocumentItem(), 'BX.UI.Viewer.Item.Document:updatePageNumber', () => {\n\t\t\t\tthis.getListingControl().update(this.getDocumentItem().getPageNumber());\n\t\t\t});\n\t\t}\n\n\t\tsuper.bindEvents();\n\t}\n\n\tgetDocumentItem(): ?Document\n\t{\n\t\treturn this.items[0];\n\t}\n\n\tupdateControls(): void\n\t{\n\t\tsuper.updateControls();\n\n\t\tthis.updateListingControl();\n\t}\n\n\tgetViewerContainer(): HTMLElement\n\t{\n\t\tif (!this.layout.container)\n\t\t{\n\t\t\tthis.layout.inner = Tag.render`<div class=\"ui-viewer__single-document--container \">${this.getItemContainer()}</div>`;\n\t\t\tif (this.stretch)\n\t\t\t{\n\t\t\t\tDom.addClass(this.layout.inner, '--stretch');\n\t\t\t}\n\t\t\tthis.layout.container = Tag.render`<div class=\"\">${this.layout.inner}${this.getControlsContainer()}</div>`;\n\t\t}\n\n\t\treturn this.layout.container;\n\t}\n\n\tgetControlsContainer(): HTMLElement\n\t{\n\t\tif (!this.layout.controlsContainer)\n\t\t{\n\t\t\treturn Tag.render`<div class=\"ui-viewer__single-document--controls\">\n\t\t\t\t${this.getListingControl().render()}\n\t\t\t\t${this.getScaleControl().render()}\n\t\t\t</div>`;\n\t\t}\n\n\t\treturn this.layout.controlsContainer;\n\t}\n\n\tgetListingControl(): ListingControl\n\t{\n\t\tif (!this.listingControl)\n\t\t{\n\t\t\tthis.listingControl = new ListingControl();\n\t\t\tthis.listingControl.subscribe('pageUpdated', () => {\n\t\t\t\tthis.getDocumentItem()?.scrollToPage(this.listingControl.getCurrent());\n\t\t\t});\n\t\t\tthis.updateListingControl();\n\t\t}\n\n\t\treturn this.listingControl;\n\t}\n\n\tgetScaleControl(): ScaleControl\n\t{\n\t\tif (!this.scaleControl)\n\t\t{\n\t\t\tthis.scaleControl = new ScaleControl();\n\t\t\tthis.scaleControl.subscribe('scaleUpdated', () => {\n\t\t\t\tthis.getDocumentItem()?.updateScale(this.scaleControl.getScale());\n\t\t\t});\n\t\t}\n\n\t\treturn this.scaleControl;\n\t}\n\n\tupdateListingControl(): void\n\t{\n\t\tconst item = this.getDocumentItem();\n\t\tif (item)\n\t\t{\n\t\t\titem.loadDocument().then(() => {\n\t\t\t\tthis.listingControl.update(1, item.getPagesNumber());\n\t\t\t});\n\t\t}\n\t}\n\n\tsetScale(scale: number): this\n\t{\n\t\tthis.getDocumentItem()?.setScale(scale);\n\t\tthis.getScaleControl().update(scale);\n\n\t\treturn this;\n\t}\n\n\tsetPdfSource(pdfSource: string|Uri|ArrayBuffer): this\n\t{\n\t\tthis.getDocumentItem()?.setPdfSource(pdfSource);\n\n\t\treturn this;\n\t}\n\n\tprint(): void\n\t{\n\t\tthis.getDocumentItem()?.print();\n\t}\n}\n\nclass ListingControl extends EventEmitter\n{\n\tpages: number;\n\tcurrent: number;\n\tcontainer: HTMLElement = null;\n\tpagesContainer: HTMLElement = null;\n\n\tconstructor(current:number = 1, pages:number = 1)\n\t{\n\t\tsuper();\n\t\tthis.setEventNamespace('BX.UI.Viewer.SingleDocumentController.ListingControl');\n\t\tthis.pages = Text.toInteger(pages);\n\t\tthis.current = Text.toInteger(current);\n\t\tthis.arrowClickHandler = this.handleArrowClick.bind(this);\n\t}\n\n\tupdate(current: number, pages: number = null): void\n\t{\n\t\tcurrent = Text.toInteger(current);\n\t\tpages = Text.toInteger(pages);\n\t\tif (pages >= 1)\n\t\t{\n\t\t\tthis.pages = pages;\n\t\t}\n\t\tif (current < 1)\n\t\t{\n\t\t\tcurrent = 1;\n\t\t}\n\t\tif (current > this.pages)\n\t\t{\n\t\t\tcurrent = this.pages;\n\t\t}\n\t\tif (current !== this.current)\n\t\t{\n\t\t\tthis.current = current;\n\t\t\tthis.emit('pageUpdated', {page: this.current});\n\t\t}\n\t\tthis.adjust();\n\t}\n\n\tadjust(): void\n\t{\n\t\tthis.pagesContainer.innerHTML = this.renderPages();\n\t}\n\n\tgetCurrent(): number\n\t{\n\t\treturn this.current;\n\t}\n\n\trender(): HTMLElement\n\t{\n\t\tif (!this.container)\n\t\t{\n\t\t\tthis.pagesContainer = Tag.render`<div class=\"ui-viewer__single-document--listing-info\">\n\t\t\t\t${this.renderPages()}\n\t\t\t</div>`;\n\n\t\t\tthis.container = Tag.render`<div class=\"ui-viewer__single-document--listing\">\n\t\t\t\t<div class=\"ui-viewer__single-document--listing--btn --prev\" onclick=\"${this.arrowClickHandler}\"></div>\n\t\t\t\t${this.pagesContainer}\n\t\t\t\t<div class=\"ui-viewer__single-document--listing--btn --next\" onclick=\"${this.arrowClickHandler}\"></div>\n\t\t\t</div>`\n\t\t}\n\n\t\treturn this.container;\n\t}\n\n\trenderPages(): string\n\t{\n\t\treturn Loc.getMessage('JS_UI_VIEWER_SINGLE_DOCUMENT_LISTING_PAGES')\n\t\t\t.replace('#CURRENT#', this.current)\n\t\t\t.replace('#ALL#', this.pages)\n\t\t;\n\t}\n\n\thandleArrowClick(event: MouseEvent): void\n\t{\n\t\tif (event.target.classList.contains('--prev'))\n\t\t{\n\t\t\tthis.update(this.current - 1);\n\t\t}\n\t\tif (event.target.classList.contains('--next'))\n\t\t{\n\t\t\tthis.update(this.current + 1);\n\t\t}\n\t}\n}\n\n// const SCALE_MIN = 0.92;\nconst SCALE_MIN = 0.5;\nconst SCALE_MAX = 3;\n\nclass ScaleControl extends EventEmitter\n{\n\tscale: number = SCALE_MIN;\n\tcontainer: HTMLElement = null;\n\tzoomInContainer: HTMLElement = null;\n\tzoomOutContainer: HTMLElement = null;\n\tzoomValueNode: HTMLElement = null;\n\n\tconstructor()\n\t{\n\t\tsuper();\n\t\tthis.scale = SCALE_MIN;\n\t\tthis.setEventNamespace('BX.UI.Viewer.SingleDocumentController.ScaleControl');\n\t\tthis.scaleClickHandler = this.handleScaleClick.bind(this);\n\t}\n\n\tgetScale(): number\n\t{\n\t\treturn this.scale;\n\t}\n\n\tsetDefaultScale(): void\n\t{\n\t\tthis.update(SCALE_MIN);\n\t}\n\n\tadjust()\n\t{\n\t\tif (this.scale <= SCALE_MIN)\n\t\t{\n\t\t\tDom.hide(this.getZoomOutContainer());\n\t\t}\n\t\telse\n\t\t{\n\t\t\tDom.show(this.getZoomOutContainer());\n\t\t}\n\t\tif (this.scale >= SCALE_MAX)\n\t\t{\n\t\t\tDom.hide(this.getZoomInContainer());\n\t\t}\n\t\telse\n\t\t{\n\t\t\tDom.show(this.getZoomInContainer());\n\t\t}\n\n\t\tthis.getZoomValueNode().innerText = Math.round(this.scale * 100);\n\t}\n\n\tupdate(scale: number): void\n\t{\n\t\tscale = Text.toNumber(scale);\n\t\tif (scale < SCALE_MIN)\n\t\t{\n\t\t\tscale = SCALE_MIN;\n\t\t}\n\t\tif (scale > SCALE_MAX)\n\t\t{\n\t\t\tscale = SCALE_MAX;\n\t\t}\n\t\tif (scale !== this.scale)\n\t\t{\n\t\t\tthis.scale = scale;\n\t\t\tthis.emit('scaleUpdated');\n\t\t\tthis.adjust();\n\t\t}\n\t}\n\n\trender(): HTMLElement\n\t{\n\t\tif (!this.container)\n\t\t{\n\t\t\tthis.container = Tag.render`<div class=\"ui-viewer__single-document--zoom\">\n\t\t\t\t${this.getZoomOutContainer()}\n\t\t\t\t${this.getZoomValueNode()}\n\t\t\t\t${this.getZoomInContainer()}\n\t\t\t</div>`;\n\n\t\t\tthis.adjust();\n\t\t}\n\n\t\treturn this.container;\n\t}\n\n\tgetZoomInContainer(): HTMLElement\n\t{\n\t\tif (!this.zoomInContainer)\n\t\t{\n\t\t\tthis.zoomInContainer = Tag.render`<div\n\t\t\t\tclass=\"ui-viewer__single-document--zoom-control --zoom-in\"\n\t\t\t\tonclick=\"${this.scaleClickHandler}\"\n\t\t\t>\n<!--\t\t\t\t${Loc.getMessage('JS_UI_VIEWER_SINGLE_DOCUMENT_SCALE_ZOOM_IN')}-->\n\t\t\t</div>`;\n\t\t}\n\n\t\treturn this.zoomInContainer;\n\t}\n\n\tgetZoomOutContainer(): HTMLElement\n\t{\n\t\tif (!this.zoomOutContainer)\n\t\t{\n\t\t\tthis.zoomOutContainer = Tag.render`<div \n\t\t\t\tclass=\"ui-viewer__single-document--zoom-control --zoom-out\"\n\t\t\t\tonclick=\"${this.scaleClickHandler}\"\n\t\t\t>\n<!--\t\t\t\t${Loc.getMessage('JS_UI_VIEWER_SINGLE_DOCUMENT_SCALE_ZOOM_OUT')}-->\n\t\t\t</div>`;\n\t\t}\n\n\t\treturn this.zoomOutContainer;\n\t}\n\n\tgetZoomValueNode(): HTMLElement\n\t{\n\t\tif (!this.zoomValueNode)\n\t\t{\n\t\t\tthis.zoomValueNode = Tag.render`<span class=\"ui-viewer__single-document--zoom-value\">100</span>`;\n\t\t}\n\n\t\treturn this.zoomValueNode;\n\t}\n\n\thandleScaleClick(event: MouseEvent): void\n\t{\n\t\tlet scale = this.scale;\n\t\tif (event.target.classList.contains('--zoom-in'))\n\t\t{\n\t\t\tscale = this.scale * 1.1;\n\t\t}\n\t\tif (event.target.classList.contains('--zoom-out'))\n\t\t{\n\t\t\tscale = this.scale * 0.9;\n\t\t}\n\t\tthis.update(scale);\n\t}\n}\n"],"names":["Item","Reflection","namespace","Util","BXPromise","DEFAULT_SCALE","SCALE_MIN","SCALE_MAX","PAGES_TO_PRELOAD","Document","constructor","options","pdfPages","scale","pdfRenderedPages","lastRenderedPdfPage","extraActions","disableAnnotationLayer","setPropertiesByNode","node","dataset","hasOwnProperty","applyReloadOptions","controller","unsetCachedData","src","listContainerModifiers","result","stretch","push","setSrc","_pdfSrc","setPdfSource","pdfSource","loadLibrary","Promise","resolve","reject","Runtime","loadExtension","then","pdfjsLib","GlobalWorkerOptions","workerSrc","catch","loadData","promise","fulfill","console","log","ajaxPromise","Ajax","url","Uri","addParam","ts","method","dataType","headers","name","value","response","data","isTransforming","item","message","Loc","getMessage","replace","getSrc","type","transformationPromise","registerTransformationHandler","pullTag","render","showLoading","contentNode","Dom","create","props","className","tabIndex","Event","bind","throttle","handleScrollDocument","renderExtraActions","Tag","zoomOut","Text","encode","zoomIn","print","newScale","Math","min","max","updateScale","adjustControlsSize","getContentWidth","getFirstDocumentPageHeight","_height","getDocumentPage","pdfDocument","page","viewport","getViewport","height","event","scrollBottom","scrollHeight","scrollTop","clientHeight","numPages","i","renderDocumentPage","setPageNumber","loadDocument","getDocument","pdf","pageNumber","getPage","pagePromise","canvas","createCanvasPage","width","renderPromise","canvasContext","getContext","getAnnotations","annotationData","annotationLayer","insertAfter","adjust","style","margin","offsetHeight","AnnotationLayer","clone","dontFlip","linkService","SimpleLinkService","div","annotations","getTextContent","textContent","textLayer","renderTextLayer","container","textDivs","firstWidthDocumentPage","hideLoading","document","createElement","appendChild","contentWidth","scrollWidth","offsetWidth","clientWidth","afterRender","_handleControls","handleVisibleControls","enableReadingMode","window","beforeHide","unbind","printer","hidePrintProgress","destroy","updatePrintProgressMessage","index","total","progress","round","setTextOnLoading","showPrintProgress","opacity","filter","zIndex","warn","PrintService","init","prepare","onProgress","performPrint","handleKeyPress","isLoaded","includes","code","BX","focus","preventDefault","stopPropagation","getScale","setScale","Number","ratio","updatePageScale","canvases","textLayers","pageIndex","clean","promises","Array","from","querySelectorAll","Object","values","forEach","renderedPage","scrollTo","scrollLeft","all","getPagesNumber","toInteger","_pdfInfo","scrollToPage","isChanged","renderPromises","pages","getPageNumber","EventEmitter","emit","PRINT_SCALE","iframe","documentOverview","rotation","pageCount","currentPage","Type","isFunction","frame","createIframe","process","contentWindow","setTimeout","renderPage","scratchCanvas","PRINT_RESOLUTION","PRINT_UNITS","floor","CSS_UNITS","ctx","save","fillStyle","fillRect","restore","renderContext","transform","intent","printItem","img","disableCreateObjectURL","toBlob","blob","URL","createObjectURL","toDataURL","wrapper","body","remove","display","frameWindow","frameDoc","open","write","pageSize","getDocumentOverview","headTags","close","InlineController","SingleDocumentController","bindEvents","eventsAlreadyBinded","getDocumentItem","subscribe","getListingControl","update","items","updateControls","updateListingControl","getViewerContainer","layout","inner","getItemContainer","addClass","getControlsContainer","controlsContainer","getScaleControl","listingControl","ListingControl","getCurrent","scaleControl","ScaleControl","current","pagesContainer","setEventNamespace","arrowClickHandler","handleArrowClick","innerHTML","renderPages","target","classList","contains","zoomInContainer","zoomOutContainer","zoomValueNode","scaleClickHandler","handleScaleClick","setDefaultScale","hide","getZoomOutContainer","show","getZoomInContainer","getZoomValueNode","innerText","toNumber"],"mappings":"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"}

Youez - 2016 - github.com/yon3zu
LinuXploit