{"version":3,"sources":["webpack:///./src/mixins/barCodeScanner/index.js","webpack:///./src/plugins/zebra/index.js","webpack:///./src/mixins/zebraPrint/index.js"],"names":["barCodeScannerMixin","data","barCodeSlice","storeId","storesToBarcodeSettings","code","itsBipping","barCodeModel","barCodeSliceModel","barCodeTarget","configBipingIcon","printIcon","barCodeInfoNeeded","barCodeInfoNeededField","computed","mapState","zebraPrinter","state","printer","checkPrinter","printerConnected","error","loading","mapGetters","bippingSensitivity","tooltip","this","tooltipBeeping","tooltipPrint","label","icon","action","disabled","settingsDisabled","active","undefined","length","currentProperties","mounted","initBarcodeScanner","destroyed","$barcodeScanner","destroy","methods","mapActions","setError","init","onBarcodeScanned","setSensitivity","setBarCodeRules","field","settingsBeeping","setPrinterRules","onInputBarcodeScanned","e","itsArray","Array","isArray","itsObject","name","callbackInputBarcodeScanned","isJsonString","str","JSON","parse","barcode","type","id","checker","onBarcodeScannedCheckers","barcodeSliceCode","onCodeSliced","onBarcodeScannedBeepingSettingsCheckers","setTimeout","modalIsOpen","$refs","barcodeScannerSettings","modal","condition","info","bar_code_slice","s","b","slice","previousBarcode","getPreviousCode","configBiping","open","setBarcodeModel","model","filterBarcodeSettings","callback","checkStoreBarCodeSlice","updateStoresBipingSettings","stores","map","el","hasCodeSettings","getCodeLocalStorage","elCodeSlice","bar_code_slice_ls","codeSlice","handlerSaveBarcodeScannerSetting","val","handlerRestoreBarcodeScannerSetting","store","index","findIndex","setStoreSelected","handlerDeleteBarcodeScannerSetting","finishedFunction","response","arr","BrowserPrint","a","d","XMLHttpRequest","XDomainRequest","h","defaultSuccessCallback","defaultErrorCallback","c","onreadystatechange","readyState","DONE","status","responseType","responseText","console","log","k","p","test","navigator","userAgent","indexOf","l","location","protocol","Device","m","deviceType","connection","uid","version","provider","manufacturer","readRetries","sendErrorCallback","sendFinishedCallback","readErrorCallback","readFinishedCallback","send","f","g","stringify","device","sendUrl","url","options","sendFile","loadFileFromUrl","FormData","n","append","convertAndSendFile","convert","read","readUntilStringReceived","readAllAvailable","sendThenRead","sendThenReadUntilStringReceived","sendThenReadAllAvailable","ApplicationConfiguration","application","build_number","api_level","platform","supportedConversions","getLocalDevices","hasOwnProperty","constructor","getDefaultDevice","getApplicationConfiguration","readOnInterval","readFunc","stopReadOnInterval","clearTimeout","bindFieldToReadData","value","request","fromFormat","substring","startsWith","toLowerCase","replace","dbg","Zebra","Printer","Status","offline","errors","errorsForOffline","statusStr","onchange","charCodeAt","setInterval","getStatus","call","raw","isFlagSet","charAt","trim","paperOut","paused","headOpen","ribbonOut","isPrinterReady","getMessage","Info","split","firmware","Configuration","settings","String","fromCharCode","darkness","parseFloat","DARKNESS","printSpeed","parseInt","printWidth","labelLength","firmwareVersion","FIRMWARE","linkOSVersion","configuration","device_request_queue","clearRequestQueue","started","Request","command","received","success","executeNextRequest","execute","shift","executeRequest","queueRequest","push","onStatusResponse","onResponse","onSGDResponse","onInfoResponse","onConfigurationResponse","setSGD","Promise","getSGD","setThenGetSGD","getInfo","getConfiguration","query","then","printImageAsLabel","fitTo","width","height","catch","getConvertedResource","storeConvertedResource","configTimeout","watch","stopWatching","zebraPrint","printerReady","devEnvironment","setCheckPrinter","setPrinterConnected","setHasPrinter","setLoading","initZebra","checkPrinterParam","connectPrinter","print","text","hasConnection","setPrinterReady","showConnectionErrorMessage","showConnectionError","setPrinterIsReadyOnStore","setPrinterNotReadyOnStore","that","devicesList","usbDevices","filter","disconnectPrinter","isProduction","process","$route"],"mappings":"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","file":"js/OrdersIncoming~orders.5455e02a.js","sourcesContent":["//#region Informations\n/*\n## Methods to create on component who calls this mixin\n\n# onCodeDefault(modelSliced)\nWhen the component emmmit 'not-bipping'\n\n# onCodeDefault(onCodeSliced)\nWhen the component emmmit 'bipping'\nWhen bipping a code and it has a sliced settings\n\n# filterBarcodeSettings(data, this.callbackBarcodeScanned)\nWhen scanner is disabled and depending of another input\nWhen this another input changed, you call this metod to get the sliced params to setting into model and use when you biping\n\n- The second param is a callback function who will be called insade the mixin, but you need to instance it on component\n\n# callbackInputBarcodeScanned()\nWhen the barcode scanner is not biping, but you need a callback to to something\nex: call updateTags function\n\n# setBarCodeRules({field: 'motorista', settingsBeeping: false})\nyou need call this function on MOUNTED, passing 'field' param when the input depending of another input\nthe second param you can use when needs to not show the BipingSettings icon on tooltip\n\n*/\n//#endregion\n\nimport {mapActions, mapGetters, mapState} from 'vuex'\n\nconst barCodeScannerMixin = {\n data() {\n return {\n //Barcode Scanner Settings\n barCodeSlice: null,\n storeId: null,\n storesToBarcodeSettings: [],\n code: null,\n itsBipping: false,\n\n barCodeModel: null,\n barCodeSliceModel: null,\n barCodeTarget: null,\n\n //Tooltip\n configBipingIcon: true,\n\n //Print\n printIcon: false,\n\n //Helpers\n barCodeInfoNeeded: false,\n barCodeInfoNeededField: '',\n }\n },\n computed: {\n ...mapState({\n zebraPrinter: state => state.printer.zebraPrinter,\n checkPrinter: state => state.printer.checkPrinter,\n printerConnected: state => state.printer.printerConnected,\n error: state => state.error.error,\n loading: (state) => state.loading.loading,\n }),\n ...mapGetters({\n bippingSensitivity: 'userAgent/bippingSensitivity',\n }),\n\n tooltip() {\n return [\n (this.configBipingIcon ? this.tooltipBeeping : null),\n (this.printIcon && this.zebraPrinter ? this.tooltipPrint : null),\n {label: 'Digite ou use o leitor de código de barras'},\n ]\n },\n\n tooltipBeeping() {\n return {\n label: 'Configurações de Bipagem',\n icon: 'settings',\n action: 'configBiping',\n disabled: this.settingsDisabled,\n }\n },\n\n tooltipPrint() {\n return {\n label: this.printerConnected \n ? 'Sua impressora Zebra está conectada, clique para desconectar' \n : 'Clique para conectar sua impressora Zebra',\n icon: 'print',\n action: 'print',\n active: this.printerConnected\n }\n },\n\n settingsDisabled() {\n return (\n this.barCodeModel === null || \n this.barCodeModel === undefined || \n this.barCodeModel && this.barCodeModel.length === 0\n )\n },\n currentProperties() {\n if (this.code !== null) {\n return {code: this.code}\n }\n return ''\n },\n\n },\n mounted() {\n this.initBarcodeScanner()\n },\n destroyed() {\n this.$barcodeScanner.destroy()\n },\n methods: {\n ...mapActions({\n setError: 'error/setError',\n }),\n\n //Init\n initBarcodeScanner() {\n this.$barcodeScanner.init(this.onBarcodeScanned)\n this.$barcodeScanner.setSensitivity(this.bippingSensitivity)\n },\n\n //Call this function if barCodeInfo to slice is needed\n setBarCodeRules({field, settingsBeeping}) {\n this.barCodeInfoNeeded = true\n\n if (field !== undefined) {\n this.barCodeInfoNeededField = field\n }\n\n if (settingsBeeping !== undefined) {\n this.configBipingIcon = !!settingsBeeping\n }\n\n },\n\n setPrinterRules() {\n this.printIcon = true\n },\n\n onInputBarcodeScanned(e) {\n if (!e || e.length === 0) return\n\n const itsArray = Array.isArray(e)\n const itsObject = typeof e === 'object'\n\n const code = itsArray || itsObject\n ? itsArray \n ? e[e.length - 1].name \n : e.name\n : e\n\n if (this.itsBipping) {\n this.onBarcodeScanned(code, true)\n } else {\n if (typeof this.callbackInputBarcodeScanned === 'function') {\n this.callbackInputBarcodeScanned(code)\n }\n } \n },\n\n isJsonString(str) {\n try {\n JSON.parse(str)\n } catch (e) {\n return false\n }\n return typeof(JSON.parse(str)) === 'object'\n },\n\n //On Scanned\n onBarcodeScanned(barcode, type) {\n if (this.isJsonString(barcode)) barcode = JSON.parse(barcode).id\n\n //Checkers\n const checker = this.onBarcodeScannedCheckers(barcode, type)\n if (checker) {\n this.itsBipping = false\n return\n }\n \n //Slice code\n this.barcodeSliceCode(barcode)\n\n //Reset\n this.itsBipping = false\n \n //Send\n if (this.barCodeTarget !== '') {\n //onCodeSliced callback function needed to be created on page who calls this mixin\n this.onCodeSliced(this.barCodeTarget)\n }\n\n },\n\n onBarcodeScannedCheckers(barcode, type) {\n \n //Check if printer component is on the page, and printer is not connected\n if (this.checkPrinter) {\n return true\n }\n\n //Check if its beeping and comming from input\n if (!this.itsBipping && type) {\n return true\n }\n\n //Check if barcode is empty\n if (barcode === '') {\n return true\n }\n\n //Check if user scanning on loading and block\n if (this.loading) {\n return true\n }\n\n if (this.barCodeInfoNeeded) {\n //Check if model store is null\n if (this.barCodeModel === null || this.barCodeModel.length === 0) {\n setTimeout(() => {\n this.setError(`Selecione o campo ${this.barCodeInfoNeededField} para continuar.`)\n }, 100)\n return true\n }\n }\n\n //Checkers if has Beeping Settings on page\n if (this.configBipingIcon) {\n this.onBarcodeScannedBeepingSettingsCheckers(barcode)\n }\n\n },\n\n onBarcodeScannedBeepingSettingsCheckers(barcode) {\n //Check if modal is open\n const modalIsOpen = this.$refs?.barcodeScannerSettings?.modal\n if (modalIsOpen) {\n this.code = barcode\n return true\n }\n\n //Checkers when need barCodeModel info\n if (this.barCodeInfoNeeded) {\n //Check if model store is null\n if (this.barCodeModel === null || this.barCodeModel.length === 0) {\n setTimeout(() => {\n this.setError(`Selecione o campo ${this.barCodeInfoNeededField} para continuar.`)\n }, 100)\n return true\n }\n\n //Check if model has info to slice\n const itsArray = Array.isArray(this.barCodeModel)\n let condition = null\n\n if (itsArray) {\n condition = !this.barCodeModel[0] && !this.barCodeModel[0].info && !this.barCodeModel[0].info.bar_code_slice\n } else {\n condition = !this.barCodeModel.info && !this.barCodeModel.info.bar_code_slice\n }\n \n if (condition) {\n return true\n } else {\n this.barCodeSliceModel = itsArray ? this.barCodeModel[0].info.bar_code_slice : this.barCodeModel.info.bar_code_slice\n }\n }\n },\n\n barcodeSliceCode(barcode) {\n //Slice code\n let s = this.barCodeSlice || this.barCodeSliceModel\n let b = null\n\n if (this.barCodeModel === null || this.barCodeModel.length === 0) {\n b = barcode\n } else {\n b = s\n ? barcode.slice(s[0], barcode.length - (s[1] ? s[1] : 0))\n : barcode\n }\n\n this.barCodeTarget = b\n },\n\n //Handlers\n previousBarcode() {\n return this.$barcodeScanner.getPreviousCode()\n },\n\n configBiping() {\n this.$refs?.barcodeScannerSettings?.open()\n },\n\n setBarcodeModel(model) {\n this.barCodeModel = model\n },\n\n //When user chose a Store\n filterBarcodeSettings(data, callback) {\n if (data) {\n //Set model on data\n this.setBarcodeModel(data)\n\n if (this.configBipingIcon) {\n this.checkStoreBarCodeSlice(data)\n }\n } else {\n this.setBarcodeModel(null)\n }\n\n if (callback !== undefined) {\n callback()\n }\n\n },\n\n updateStoresBipingSettings() {\n this.checkStoreBarCodeSlice(this.barCodeModel)\n },\n\n //Barcode Scanner Slice\n checkStoreBarCodeSlice(stores) {\n if (stores === null || stores === undefined || stores && stores.length === 0) {\n return\n }\n\n if(!Array.isArray(stores)) {\n stores = [stores]\n }\n\n stores.map((el) => {\n //Check if backend dont return Info object inside stores\n if (el.info === undefined) {\n el.info = {}\n }\n\n const hasCodeSettings = this.$refs?.barcodeScannerSettings?.getCodeLocalStorage(el)\n\n if (el.info == null) {\n return el\n }\n\n let elCodeSlice =\n el.info.bar_code_slice !== null &&\n el.info.bar_code_slice !== undefined\n ? el.info.bar_code_slice\n : [0, 0]\n\n if (hasCodeSettings !== undefined && hasCodeSettings !== null) {\n el.info.bar_code_slice = elCodeSlice\n el.info.bar_code_slice_ls = hasCodeSettings.codeSlice\n this.barCodeSlice = hasCodeSettings.codeSlice\n } else {\n el.info.bar_code_slice = elCodeSlice\n el.info.bar_code_slice_ls = elCodeSlice\n this.barCodeSlice = elCodeSlice\n }\n\n return el\n })\n\n this.storesToBarcodeSettings = stores\n },\n\n handlerSaveBarcodeScannerSetting(val) {\n this.barCodeSlice = val\n },\n\n handlerRestoreBarcodeScannerSetting(store) {\n const index = this.storesToBarcodeSettings.findIndex(\n (el) => el.id === store.id\n )\n if (index > -1) {\n this.storesToBarcodeSettings[\n index\n ].info.bar_code_slice_ls = this.storesToBarcodeSettings[\n index\n ].info.bar_code_slice\n this.$refs?.barcodeScannerSettings?.setStoreSelected(\n this.storesToBarcodeSettings[index]\n )\n }\n this.barCodeSlice = this.storesToBarcodeSettings[\n index\n ].info.bar_code_slice\n },\n\n handlerDeleteBarcodeScannerSetting(val) {\n this.storesToBarcodeSettings.map((el) => {\n el.info.bar_code_slice_ls = el.info.bar_code_slice\n })\n this.$refs?.barcodeScannerSettings?.setStoreSelected(\n this.storesToBarcodeSettings[this.storesToBarcodeSettings.length - 1]\n )\n this.barCodeSlice = val\n },\n },\n}\n\nexport default barCodeScannerMixin\n","/* eslint-disable */\nlet finishedFunction, response, arr\nconst BrowserPrint = function() {\n function b(a, b) {\n var d = new XMLHttpRequest;\n \"withCredentials\" in d ? d.open(a, b, !0) : \"undefined\" != typeof XDomainRequest ? (d = new XDomainRequest, d.open(a, b)) : d = null;\n return d\n }\n\n function h(a, b, d) {\n void 0 === b && (b = e.defaultSuccessCallback);\n void 0 === d && (d = e.defaultErrorCallback);\n return c(a, b, d)\n }\n\n function c(a, b, d) {\n a.onreadystatechange = function() {\n a.readyState === XMLHttpRequest.DONE && 200 === a.status ? \"\" === a.responseType ? b(a.responseText) : b(a.response) : a.readyState === XMLHttpRequest.DONE && (d ? d(a.response) :\n console.log(\"error occurred with no errorCallback set.\"))\n };\n return a\n }\n var e = {},\n k = {},\n p = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n navigator.userAgent.indexOf(\"Trident/7.0\");\n var l = \"http://127.0.0.1:9100/\";\n p && \"https:\" === location.protocol && (l = \"https://127.0.0.1:9101/\");\n e.Device = function(a) {\n var m = this;\n this.name = a.name;\n this.deviceType = a.deviceType;\n this.connection = a.connection;\n this.uid = a.uid;\n this.version = 2;\n this.provider = a.provider;\n this.manufacturer = a.manufacturer;\n this.readRetries = 0;\n this.sendErrorCallback = function(d) {};\n this.sendFinishedCallback = function(d) {};\n this.readErrorCallback = function(d) {};\n this.readFinishedCallback = function(d) {};\n this.send = function(d, a, f) {\n var g = b(\"POST\", l + \"write\");\n g && (void 0 !== m && (void 0 === a && (a = m.sendFinishedCallback), void 0 === f && (f = m.sendErrorCallback)), c(g, a, f), g.send(JSON.stringify({\n device: {\n name: this.name,\n uid: this.uid,\n connection: this.connection,\n deviceType: this.deviceType,\n version: this.version,\n provider: this.provider,\n manufacturer: this.manufacturer\n },\n data: d\n })))\n };\n this.sendUrl = function(d, a, f, e) {\n var g = b(\"POST\", l + \"write\");\n g && (c(m, g, a, f), d = {\n device: {\n name: this.name,\n uid: this.uid,\n connection: this.connection,\n deviceType: this.deviceType,\n version: this.version,\n provider: this.provider,\n manufacturer: this.manufacturer\n },\n url: d\n }, null != e && void 0 != e && (d.options = e), g.send(JSON.stringify(d)))\n };\n this.sendFile = function(d, a, f) {\n if (\"string\" === typeof d) e.loadFileFromUrl(d, function(d) {\n m.sendFile(d, a, f)\n }, f);\n else {\n var g = b(\"POST\", l + \"write\");\n if (g) {\n g.responseType = \"text\";\n h(g, a, f);\n var c =\n new FormData,\n n = {};\n n.device = m;\n c.append(\"json\", JSON.stringify(n));\n c.append(\"blob\", d);\n g.send(c)\n }\n }\n };\n this.convertAndSendFile = function(d, a, b, c) {\n c || (c = {});\n c.action || (c.action = \"print\");\n e.convert(d, this, c, a, b)\n };\n this.read = function(d, a) {\n var f = b(\"POST\", l + \"read\");\n f && (void 0 !== m && (void 0 === d && (d = m.readFinishedCallback), void 0 === a && (a = m.readErrorCallback)), c(f, d, a), f.send(JSON.stringify({\n device: {\n name: this.name,\n uid: this.uid,\n connection: this.connection,\n deviceType: this.deviceType,\n version: this.version,\n provider: this.provider,\n manufacturer: this.manufacturer\n }\n })))\n };\n this.readUntilStringReceived = function(d, a, b, e, c) {\n c || (c = \"\");\n void 0 === e && (e = this.readRetries);\n a = function(a, b, e, f, g) {\n return function(c) {\n if (c && 0 !== c.length) f = 0;\n else if (0 >= f) {\n b(g);\n return\n }\n c = g + c;\n \"\" !== d && -1 < c.indexOf(d) ? b(c) : a.readUntilStringReceived(d, b, e, f - 1, c)\n }\n }(this, a, b, e, c);\n this.read(a, b)\n };\n this.readAllAvailable = function(a, b, f) {\n this.readUntilStringReceived(\"\", a, b, f)\n };\n this.sendThenRead = function(a, b, f) {\n this.send(a, function(a) {\n return function() {\n a.read(b, f)\n }\n }(this), f)\n };\n this.sendThenReadUntilStringReceived = function(a, b, f, e, c) {\n this.send(a, function(a) {\n return function() {\n a.readUntilStringReceived(b, f, e, c)\n }\n }(this), e)\n };\n this.sendThenReadAllAvailable = function(a, b, e, c) {\n this.send(a, function(a) {\n return function() {\n a.readUntilStringReceived(\"\", b, e, c)\n }\n }(this), e)\n }\n };\n e.defaultSuccessCallback = function() {};\n e.defaultErrorCallback = function() {};\n e.ApplicationConfiguration = function() {\n this.application = {\n version: \"1.2.0.3\",\n build_number: 3,\n api_level: 2,\n platform: \"\",\n supportedConversions: {}\n }\n };\n e.getLocalDevices =\n function(a, c, d) {\n var g = b(\"GET\", l + \"available\");\n g && (finishedFunction = function(b) {\n response = b;\n response = JSON.parse(response);\n for (var c in response)\n if (response.hasOwnProperty(c) && response[c].constructor === Array)\n for (arr = response[c], b = 0; b < arr.length; ++b) arr[b] = new e.Device(arr[b]);\n void 0 === d ? a(response) : (response.hasOwnProperty(d) || (response[d] = []), a(response[d]))\n }, h(g, finishedFunction, c), g.send())\n };\n e.getDefaultDevice = function(a, c, d) {\n var g = \"default\";\n void 0 !== a && null != a && (g = g + \"?type=\" + a);\n if (a = b(\"GET\", l + g)) finishedFunction =\n function(a) {\n response = a;\n \"\" === response ? c(null) : (response = JSON.parse(response), a = new e.Device(response), c(a))\n }, a = h(a, finishedFunction, d), a.send()\n };\n e.getApplicationConfiguration = function(a, c) {\n var d = b(\"GET\", l + \"config\");\n d && (finishedFunction = function(b) {\n response = b;\n \"\" === response ? a(null) : (response = JSON.parse(response), a(response))\n }, h(d, finishedFunction, c), d.send())\n };\n e.readOnInterval = function(a, b, d) {\n if (void 0 === d || 0 === d) d = 1;\n readFunc = function() {\n a.read(function(c) {\n b(c);\n k[a] = setTimeout(readFunc, d)\n }, function(b) {\n k[a] =\n setTimeout(readFunc, d)\n })\n };\n k[a] = setTimeout(readFunc, d)\n };\n e.stopReadOnInterval = function(a) {\n k[a] && clearTimeout(k[a])\n };\n e.bindFieldToReadData = function(a, b, d, c) {\n e.readOnInterval(a, function(a) {\n \"\" !== a && (b.value = a, void 0 !== c && null != c && c())\n }, d)\n };\n e.loadFileFromUrl = function(a, c, d) {\n request = b(\"get\", a);\n console.log(\"ResponseType: \" + request.responseType);\n request.responseType = \"blob\";\n h(request, c, d);\n request.send()\n };\n e.convert = function(a, c, d, g, f) {\n if (a)\n if (\"string\" === typeof a) e.loadFileFromUrl(a, function(b) {\n d.fromFormat ||\n (d.fromFormat = a.substring(a.length - 3));\n e.convert(b, c, d, g, f)\n }, f);\n else {\n var k = b(\"POST\", l + \"convert\");\n a.type && (a.type.startsWith(\"image/\") || a.type.startsWith(\"application/\")) && (d.fromFormat = a.type.toLowerCase().replace(\"image/\", \"\").replace(\"application/\", \"\").replace(\"x-ms-\", \"\"));\n if (k) {\n k.responseType = \"text\";\n h(k, function(a) {\n g(JSON.parse(a))\n }, f);\n var m = new FormData,\n n = {};\n null != d && void 0 !== d && (n.options = d);\n c && (n.device = c);\n m.append(\"json\", JSON.stringify(n));\n m.append(\"blob\", a);\n k.send(m)\n }\n }\n else f ? f(\"Resource not specified\") :\n e.defaultErrorCallback(\"Resource not specified\")\n };\n return e\n}();\n\nfunction dbg(e) {\n // console.log(e)\n}\nconst Zebra = function() {\n function e(c, d) {\n if (d instanceof g.Printer.Status && l[c.device.uid]) {\n if (d.offline) {\n if (c.errors++, c.errors < c.errorsForOffline) return\n } else c.errors = 0;\n var b = l[c.device.uid].status,\n a = JSON.stringify(b);\n c.status = d;\n statusStr = JSON.stringify(d);\n if (statusStr !== a) c.onchange(b, d)\n }\n }\n\n function h(c) {\n return 2 !== c.charCodeAt(0) || 3 !== c.charCodeAt(c.length - 1) ? (dbg(\"Response did not contain proper control characters\"), !1) : !0\n }\n var g = {},\n l = {};\n setInterval(function() {\n for (var c in l) l.hasOwnProperty(c) && (c =\n l[c],\n function(d) {\n d.device.getStatus(function(b) {\n e(d, b)\n }, function(b) {\n e(d, new g.Printer.Status(\"\"))\n })\n }(c))\n }, 2E3);\n g.Printer = function(c) {\n BrowserPrint.Device.call(this, c);\n g.Printer.Status = function(a) {\n this.raw = a;\n this.isFlagSet = function(a) {\n return \"1\" === this.raw.charAt(a)\n };\n this.offline = !1;\n a || (a = \"\");\n a = a.trim();\n h(a) ? (this.offline = !1, this.paperOut = this.isFlagSet(5), this.paused = this.isFlagSet(7), this.headOpen = this.isFlagSet(43), this.ribbonOut = this.isFlagSet(45)) : (this.offline = !0, this.ribbonOut = this.headOpen = this.paused =\n this.paperOut = !1);\n this.isPrinterReady = function() {\n return !(this.paperOut || this.paused || this.headOpen || this.ribbonOut || this.offline)\n };\n this.getMessage = function() {\n return this.isPrinterReady() ? \"Ready\" : this.offline ? \"Offline\" : this.paperOut ? \"Paper Out\" : this.headOpen ? \"Head Open\" : this.ribbonOut ? \"Ribbon Out\" : this.paused ? \"Paused\" : \"Ready\"\n }\n };\n g.Printer.Info = function(a) {\n if (!a) throw \"Invalid Response\";\n this.raw = a;\n a = a.trim();\n if (!h(a)) throw \"Invalid Response\";\n a = a.split(\",\");\n this.model = a[0].substring(1);\n this.firmware = a[1]\n };\n g.Printer.Configuration = function(a) {\n if (!a) throw \"Invalid Response\";\n this.raw = a = a.trim();\n this.settings = {};\n if (!h(a)) throw \"Invalid Response\";\n a = a.replace(String.fromCharCode(2), \"\");\n a = a.replace(String.fromCharCode(3), \"\");\n a = a.split(\"\\n\");\n for (var f = 0; f < a.length; ++f) {\n var b = a[f].trim(),\n d = b.substring(20);\n b = b.substring(0, 20).trim();\n this.settings[d] = b\n }\n this.darkness = parseFloat(this.settings.DARKNESS);\n this.printSpeed = parseInt(this.settings[\"PRINT SPEED\"].replace(\"IPS\", \"\").trim());\n this.printWidth = parseInt(this.settings[\"PRINT WIDTH\"]);\n this.labelLength = parseInt(this.settings[\"LABEL LENGTH\"]);\n this.firmwareVersion = this.settings.FIRMWARE.replace(\"<-\", \"\").trim();\n this.linkOSVersion = this.settings.hasOwnProperty(\"LINK-OS VERSION\") ? this.settings[\"LINK-OS VERSION\"] : \"0\"\n };\n var d = this;\n this.configuration = void 0;\n this.device_request_queue = [];\n this.clearRequestQueue = function() {\n var a = this.device_request_queue[0];\n this.device_request_queue = [];\n a && a.started && (this.device_request_queue[0] = a)\n };\n this.Request = function(a, f, b, c, e) {\n this.type = a;\n this.command = f;\n this.received = b;\n this.success = c;\n this.error = function(a) {\n return function(f) {\n a(f);\n d.executeNextRequest()\n }\n }(e);\n this.execute = function() {\n this.started = !0;\n \"info\" == this.type || \"config\" == this.type || \"status\" == this.type ? d.sendThenReadUntilStringReceived(this.command, String.fromCharCode(3), this.received, this.error) : d.sendThenReadAllAvailable(this.command, this.received, this.error)\n }\n };\n this.executeNextRequest = function() {\n d.device_request_queue.shift();\n d.executeRequest()\n };\n this.executeRequest = function() {\n dbg(\"Requests in queue: \" +\n d.device_request_queue.length);\n 0 < d.device_request_queue.length && (dbg(\"Executing next request...\"), d.device_request_queue[0].execute())\n };\n this.queueRequest = function(a) {\n dbg(\"Queueing request \" + a.type + \": \" + d.device_request_queue.length);\n d.device_request_queue.push(a);\n 1 === d.device_request_queue.length && a.execute()\n };\n this.onStatusResponse = function(a) {\n dbg(\"received status response\");\n var f = void 0;\n try {\n f = new g.Printer.Status(a)\n } catch (k) {\n a = d.device_request_queue[0], a.error(k), d.executeNextRequest()\n }\n for (; 0 < d.device_request_queue.length;)\n if (a =\n d.device_request_queue[0], \"status\" === a.type) dbg(\"delivering status...\"), a.success(f), d.device_request_queue.shift();\n else {\n dbg(\"delivered to all status requests.\");\n break\n } d.executeRequest()\n };\n this.onResponse = function(a, f) {\n dbg(\"received info response\");\n var b = d.device_request_queue[0];\n if (void 0 != f) try {\n a = new f(a)\n } catch (m) {\n b.error && b.error(m);\n d.executeNextRequest();\n return\n }\n b.success && b.success(a);\n d.executeNextRequest()\n };\n this.onSGDResponse = function(a) {\n dbg(\"received sgd response\");\n d.onResponse(a)\n };\n this.onInfoResponse =\n function(a) {\n dbg(\"received info response\");\n d.onResponse(a, g.Printer.Info)\n };\n this.onConfigurationResponse = function(a) {\n dbg(\"received config response\");\n try {\n d.configuration = new g.Printer.Configuration(a)\n } catch (f) {}\n d.onResponse(a, g.Printer.Configuration)\n };\n this.setSGD = function(a, f, b, c) {\n if (!b && !c) return new Promise(function(b, c) {\n d.setSGD(a, f, b, c)\n });\n d.send('! U1 setvar \"' + a + '\" \"' + f + '\"\\r\\n', b, c)\n };\n this.getSGD = function(a, b, c) {\n if (!b && !c) return new Promise(function(b, f) {\n d.getSGD(a, b, f)\n });\n b = new this.Request(\"sgd\",\n '! U1 getvar \"' + a + '\"\\r\\n', this.onSGDResponse, b, c);\n this.queueRequest(b)\n };\n this.setThenGetSGD = function(a, b, c, e) {\n if (!c && !e) return new Promise(function(f, c) {\n d.setThenGetSGD(a, b, f, c)\n });\n this.setSGD(a, b, function() {\n d.getSGD(a, c, e)\n }, e)\n };\n this.getInfo = function(a, b) {\n if (!a && !b) return new Promise(function(a, b) {\n d.getInfo(a, b)\n });\n a = new this.Request(\"info\", \"~hi\\r\\n\", this.onInfoResponse, a, b);\n this.queueRequest(a)\n };\n this.getConfiguration = function(a, b) {\n if (!a && !b) return new Promise(function(a, b) {\n d.getConfiguration(a, b)\n });\n a = new this.Request(\"config\", \"^XA^HH^XZ\", this.onConfigurationResponse, a, b);\n this.queueRequest(a)\n };\n this.getStatus = function(a, b) {\n if (!a && !b) return new Promise(function(a, b) {\n d.getStatus(a, b)\n });\n a = new this.Request(\"status\", \"~hs\\r\\n\", this.onStatusResponse, a, b);\n d.queueRequest(a)\n };\n this.query = function(a, b, c) {\n if (!b && !c) return new Promise(function(b, c) {\n d.query(a, b, c)\n });\n b = new this.Request(\"\", a, this.onResponse, b, c);\n this.queueRequest(b)\n };\n this.isPrinterReady = function(a, b) {\n if (!a && !b) return new Promise(function(a, b) {\n d.isPrinterReady(a,\n b)\n });\n this.getStatus().then(function(c) {\n c.isPrinterReady() ? a(c.getMessage()) : b(c.getMessage())\n })\n };\n this.printImageAsLabel = function(a, c, e, g) {\n if (!e && !g) return new Promise(function(b, f) {\n d.printImageAsLabel(a, c, b, f)\n });\n b().then(function(b) {\n c.fitTo = {\n width: b.printWidth,\n height: b.labelLength\n };\n c.action = \"print\";\n BrowserPrint.convert(a, d, c, e, g)\n }).catch(g)\n };\n this.getConvertedResource = function(a, c, e, g) {\n if (!e && !g) return new Promise(function(b, f) {\n d.getConvertedResource(a, c, b, f)\n });\n b().then(function(b) {\n c.action = \"return\";\n BrowserPrint.convert(a, d, c, e, g)\n }).catch(g)\n };\n this.storeConvertedResource = function(a, c, e, g) {\n if (!e && !g) return new Promise(function(b, e) {\n d.storeConvertedResource(a, c, b, e)\n });\n b().then(function(b) {\n c.action = \"store\";\n BrowserPrint.convert(a, d, c, e, g)\n }).catch(g)\n };\n var b = function() {\n return new Promise(function(a, b) {\n if (d.configuration) a(d.configuration);\n else return d.getConfiguration().then(function(a) {\n d.configuration = a;\n return d.configuration\n }).catch(function(a) {\n b(a)\n })\n })\n };\n this.configTimeout = function() {\n d.configuration ||\n d.getConfiguration().then(function(a) {\n return d.configuration = a\n }).catch(function() {\n setTimeout(d.configTimeout, 1E3)\n })\n };\n this.configTimeout()\n };\n g.watch = function(c, d, b) {\n b || (b = 2);\n l[c.uid] = {\n device: c,\n status: \"\",\n onchange: d,\n errors: 0,\n errorsForOffline: b\n }\n };\n g.stopWatching = function(c) {\n delete l[c.uid]\n };\n return g\n}();\n\nexport {\n BrowserPrint,\n Zebra\n}","import { BrowserPrint, Zebra } from '@/plugins/zebra/index'\nimport { mapActions } from 'vuex'\n\nconst zebraPrint = {\n data() {\n return {\n device: null,\n printerReady: false,\n\n //Dev\n devEnvironment: false,\n }\n },\n destroyed() {\n this.setCheckPrinter(false)\n this.setPrinterConnected(false)\n },\n\n methods: {\n ...mapActions({\n setHasPrinter: 'printer/setHasPrinter',\n setCheckPrinter: 'printer/setCheckPrinter',\n setPrinterConnected: 'printer/setPrinterConnected',\n setLoading: 'loading/setLoading',\n setError: 'error/setError',\n }),\n\n async initZebra() {\n await this.checkPrinterParam()\n await this.connectPrinter(false)\n },\n\n async print(text) {\n if (this.device && this.printerReady) {\n this.setLoading(true)\n\n let hasConnection = false\n this.device.isPrinterReady().then(() => {\n this.device.send(text, () => { \n hasConnection = true\n this.setLoading(false)\n }, () => {\n hasConnection = false\n })\n }).catch(() => {\n hasConnection = false\n })\n\n setTimeout(() => {\n if (!hasConnection) {\n this.setPrinterReady(null, true)\n }\n }, 2000)\n\n } else {\n this.setPrinterReady(null, true)\n }\n },\n\n showConnectionErrorMessage() {\n this.setError('A impressora não está conectada ou não está respondendo. Conecte a impressora ou peça ajuda para alguém do time de Suporte.')\n },\n\n setPrinterReady(device, showConnectionError = false) {\n this.device = device\n this.printerReady = !!device\n this.setLoading(false)\n\n if (showConnectionError && !this.printerReady) {\n this.showConnectionErrorMessage()\n }\n\n if (!this.printerReady) {\n this.setPrinterNotReadyOnStore()\n } else if (this.printerReady){\n this.setPrinterIsReadyOnStore()\n\n }\n },\n\n async connectPrinter(showConnectionError = true) {\n this.setLoading(true)\n \n let that = this\n let device = null\n\n await BrowserPrint.getLocalDevices(devicesList => { \n if (devicesList && devicesList.printer && devicesList.printer.length > 0) {\n let usbDevices = devicesList.printer.filter(d => d.connection === 'usb')\n if (usbDevices.length > 0) {\n device = new Zebra.Printer(usbDevices[0])\n }\n this.setHasPrinter(true)\n that.setPrinterReady(device, showConnectionError)\n return\n }\n this.setHasPrinter(true)\n that.setPrinterReady(device, showConnectionError)\n return\n }, () => {\n this.setHasPrinter(false)\n that.setPrinterReady(device, showConnectionError)\n return\n })\n },\n\n async disconnectPrinter() {\n this.setPrinterReady(null, false)\n },\n\n setPrinterIsReadyOnStore() {\n this.setPrinterConnected(true)\n },\n\n setPrinterNotReadyOnStore() {\n if (!this.devEnvironment) {\n this.setPrinterConnected(false)\n }\n },\n\n //Helpers Dev\n checkPrinterParam() {\n const isProduction = process.env.VUE_APP_MODE === 'production'\n if (!isProduction) {\n if (this.$route.query && this.$route.query.print) {\n this.devEnvironment = this.$route.query.print === 'true' ? true : false\n if (this.devEnvironment) {\n this.setPrinterIsReadyOnStore()\n }\n }\n }\n },\n },\n}\n\nexport default zebraPrint"],"sourceRoot":""}