{ "version": 3, "sources": ["libs/proman/src/lib/services/printer.service.ts", "apps/frontend/src/app/shared/components/text-preview-dialog.component.ts"], "sourcesContent": ["import { Injectable } from '@angular/core';\nimport { CONFIG } from '@proman/config';\nimport { RequestService } from '@proman/services/request.service';\nimport { isDefinedNotNull } from '@proman/utils';\n\n@Injectable()\nexport class PrinterService {\n\n constructor(\n private Request: RequestService,\n ) {\n\n }\n\n /*printZPL = function(zpl: any) {\n const UTF8ToBase64 = (content: any) => {\n return window.btoa(unescape(encodeURIComponent(content)));\n };\n\n const downloadContent = (content: any) => {\n let a = document.createElement('a');\n let event;\n\n a.download = 'barcode.zpl';\n a.href = 'data:application/octet-stream;base64,' + UTF8ToBase64(content);\n event = document.createEvent('MouseEvents');\n event.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);\n a.dispatchEvent(event);\n };\n\n return downloadContent(zpl);\n };*/\n\n printImage = (src: string) => {\n return this.printHtml(``);\n };\n\n printHtml = (body: any) => {\n return this.print(`Print${body}`);\n };\n\n printLayout = (path: string) => {\n let url = CONFIG.api + 'print/' + path;\n\n return this.print(this.Request.get(url)\n .then((response: any) => response.data));\n };\n\n print = (content: any, type: string = 'html') => {\n const printXml = (content: any, type: string) => {\n const file = new Blob([content], { type: `text/${type}` }); // type xml/csv only\n const url = window.URL.createObjectURL(file);\n const a = document.createElement('a');\n a.href = url;\n a.download = url.split('/').pop();\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n }\n\n if (type === 'xml' || type === 'csv') {\n if (content.then) {\n content.then((content: any) => printXml(content, type), (error: any) => {});\n } else {\n printXml(content, type);\n }\n } else {\n let w = window.open('', 'print');\n\n const print = (content: any) => {\n if (isDefinedNotNull(w)){\n w.document.write(content);\n setTimeout(() => {\n w.print();\n w.close();\n }, 250);\n }\n };\n\n if (content.then) {\n content.then((content: any) => print(content), (error: any) => w.close());\n } else {\n print(content);\n }\n }\n };\n\n // printXml = (content: any) => {\n // let xmlDoc = $.parseXML(content);\n // let serializer = new XMLSerializer();\n //\n // return this.print(serializer.serializeToString(xmlDoc.getRootNode()), false);\n // }\n\n}\n", "import { Component, Inject, OnDestroy, OnInit } from '@angular/core';\nimport { MAT_LEGACY_DIALOG_DATA, MatLegacyDialogRef } from '@angular/material/legacy-dialog';\nimport { Entity } from '@proman/services/entity.service';\nimport { PrinterService } from '@proman/services/printer.service';\nimport { FileEntityInterface } from '@proman/resources/file';\nimport { CONFIG } from '@proman/config';\nimport { AuthService } from '@proman/services/auth.service';\n\n@Component({\n selector: 'pm-text-preview-dialog',\n template: `\n \n
\n @if (data?.type === 'html' && !data?.disableCopy) {\n \n }\n
\n
\n
\n @if (data?.type === 'html') {\n
\n
\n
\n }\n \n @if (!(data.type || data.type === 'html')) {\n
\n
{{ data.text }}
\n
\n }\n
\n \n @if (data?.text) {\n @if (!data?.disablePrint) {\n \n }\n \n @if (data?.downloadable) {\n \n }\n }\n \n `\n})\n\nexport class TextPreviewDialogComponent implements OnInit, OnDestroy {\n customPrintCallback: (event: KeyboardEvent) => void;\n file = true;\n downloadUrl: string;\n constructor(\n @Inject(MAT_LEGACY_DIALOG_DATA) public data: any,\n private Entity: Entity,\n private Auth: AuthService,\n private Printers: PrinterService,\n private dialogRef: MatLegacyDialogRef,\n ) {\n this.customPrintCallback = (e) => {\n if ((e.ctrlKey || e.metaKey) && (e.key === 'p' || e.charCode === 16 || e.charCode === 112 || e.keyCode === 80)) {\n\n e.cancelBubble = true;\n e.preventDefault();\n\n e.stopImmediatePropagation();\n\n this.Printers.print(this.data.text);\n }\n };\n this.file = (this.data.file === false) ? this.data.file : this.file;\n }\n\n printText = () => {\n this.Printers.print(this.data.text);\n }\n\n ngOnInit(): void {\n window.addEventListener('keydown', this.customPrintCallback);\n }\n\n ngOnDestroy(): void {\n window.removeEventListener('keydown', this.customPrintCallback);\n }\n\n download() {\n (this.Entity.get('file') as FileEntityInterface)\n .create({ html: this.data.text })\n .then((file: any) => {\n // console.log(file);\n const downloadUrl = `${CONFIG.api}file/download?id=${file.newId}`;\n this.downloadUrl = downloadUrl;\n window.open(downloadUrl, '_blank');\n });\n }\n\n copyTable() {\n const urlField = document.getElementById('htmlContent');\n const range = document.createRange();\n range.selectNode(urlField);\n window.getSelection().addRange(range);\n document.execCommand('copy');\n }\n\n\n\n}\n"], "mappings": "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", "names": ["PrinterService", "constructor", "Request", "printImage", "src", "printHtml", "body", "print", "printLayout", "path", "url", "CONFIG", "api", "get", "then", "response", "data", "content", "type", "printXml", "file", "Blob", "window", "URL", "createObjectURL", "a", "document", "createElement", "href", "download", "split", "pop", "appendChild", "click", "removeChild", "error", "w", "open", "isDefinedNotNull", "write", "setTimeout", "close", "\u0275\u0275inject", "RequestService", "factory", "\u0275fac", "\u0275\u0275elementStart", "\u0275\u0275listener", "\u0275\u0275restoreView", "_r5", "ctx_r4", "\u0275\u0275nextContext", "\u0275\u0275resetView", "copyTable", "\u0275\u0275elementEnd", "\u0275\u0275property", "\u0275\u0275pipeBind1", "\u0275\u0275element", "\u0275\u0275advance", "ctx_r1", "data", "text", "\u0275\u0275sanitizeHtml", "\u0275\u0275text", "\u0275\u0275textInterpolate", "ctx_r2", "_r9", "ctx_r8", "printText", "_r11", "ctx_r10", "download", "\u0275\u0275template", "TextPreviewDialogComponent_Conditional_8_Conditional_0_Template", "TextPreviewDialogComponent_Conditional_8_Conditional_1_Template", "\u0275\u0275conditional", "ctx_r3", "disablePrint", "downloadable", "TextPreviewDialogComponent", "constructor", "Entity", "Auth", "Printers", "dialogRef", "file", "print", "customPrintCallback", "e", "ctrlKey", "metaKey", "key", "charCode", "keyCode", "cancelBubble", "preventDefault", "stopImmediatePropagation", "ngOnInit", "window", "addEventListener", "ngOnDestroy", "removeEventListener", "get", "create", "html", "then", "downloadUrl", "CONFIG", "api", "newId", "open", "urlField", "document", "getElementById", "range", "createRange", "selectNode", "getSelection", "addRange", "execCommand", "\u0275\u0275directiveInject", "MAT_LEGACY_DIALOG_DATA", "AuthService", "PrinterService", "MatLegacyDialogRef", "selectors", "decls", "vars", "consts", "template", "rf", "ctx", "TextPreviewDialogComponent_Conditional_3_Template", "TextPreviewDialogComponent_Conditional_5_Template", "TextPreviewDialogComponent_Conditional_6_Template", "TextPreviewDialogComponent_Conditional_8_Template", "header", "type", "disableCopy"] }