{"version":3,"file":"js/app.f0f8166c.js","mappings":"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","sources":["webpack://lexoh-parking/./node_modules/@stencil/core/internal/client|lazy|/^/.*/.entry/.js.*$/|include: /.entry/.js$/|exclude: /.system/.entry/.js$/|groupOptions: {}|namespace object","webpack://lexoh-parking/./node_modules/moment/locale|sync|/^/.*$","webpack://lexoh-parking/./src/App.vue?38c0","webpack://lexoh-parking/./src/components/Header.vue?a1dc","webpack://lexoh-parking/./src/components/Header.vue?4e70","webpack://lexoh-parking/./src/components/Header.vue","webpack://lexoh-parking/./src/components/SideMenu.vue?032c","webpack://lexoh-parking/./src/components/PosModal.vue?49e4","webpack://lexoh-parking/./src/components/PayModal.vue?466e","webpack://lexoh-parking/./src/components/PayModal.vue?d262","webpack://lexoh-parking/./src/components/PayModal.vue","webpack://lexoh-parking/./src/components/PosModal.vue?d98e","webpack://lexoh-parking/./src/components/PosModal.vue","webpack://lexoh-parking/./src/components/SideMenu.vue?2e03","webpack://lexoh-parking/./src/components/SideMenu.vue","webpack://lexoh-parking/./src/views/IntroPage.vue?98aa","webpack://lexoh-parking/./src/views/IntroPage.vue","webpack://lexoh-parking/./src/views/LoginPage.vue?98f4","webpack://lexoh-parking/./src/views/LoginPage.vue?ce39","webpack://lexoh-parking/./src/views/LoginPage.vue","webpack://lexoh-parking/./src/utils/Thermal.js","webpack://lexoh-parking/./src/utils/Printer.ts","webpack://lexoh-parking/./src/services/socket.service.ts","webpack://lexoh-parking/./src/App.vue?847a","webpack://lexoh-parking/./src/App.vue","webpack://lexoh-parking/./src/router/index.ts","webpack://lexoh-parking/./src/services/auth.service.ts","webpack://lexoh-parking/./src/store/auth.module.ts","webpack://lexoh-parking/./src/store/user.module.ts","webpack://lexoh-parking/./src/store/index.ts","webpack://lexoh-parking/./src/utils/Firebase.js","webpack://lexoh-parking/./src/main.ts","webpack://lexoh-parking/./src/services/access.service.ts","webpack://lexoh-parking/./src/services/camera.service.ts","webpack://lexoh-parking/./src/services/config.service.ts","webpack://lexoh-parking/./src/services/device.service.ts","webpack://lexoh-parking/./src/services/event.service.ts","webpack://lexoh-parking/./src/services/pricing.service.ts","webpack://lexoh-parking/./src/services/tag.service.ts","webpack://lexoh-parking/./src/services/user.service.ts","webpack://lexoh-parking/./src/services/zone.service.ts","webpack://lexoh-parking/./src/utils/Timezone.js","webpack://lexoh-parking/./src/components/CameraWebRTCPlayer.vue?7c13","webpack://lexoh-parking/./src/components/CameraWebRTCPlayer.vue?a208","webpack://lexoh-parking/./src/components/CameraWebRTCPlayer.vue","webpack://lexoh-parking/./src/components/DeviceModal.vue?2d02","webpack://lexoh-parking/./src/components/DeviceModal.vue?c021","webpack://lexoh-parking/./src/components/DeviceModal.vue","webpack://lexoh-parking/./src/views/access/EditAccessPage.vue?87d0","webpack://lexoh-parking/./src/views/access/EditAccessPage.vue?5b48","webpack://lexoh-parking/./src/views/access/EditAccessPage.vue","webpack://lexoh-parking/webpack/bootstrap","webpack://lexoh-parking/webpack/runtime/chunk loaded","webpack://lexoh-parking/webpack/runtime/compat get default export","webpack://lexoh-parking/webpack/runtime/define property getters","webpack://lexoh-parking/webpack/runtime/ensure chunk","webpack://lexoh-parking/webpack/runtime/get javascript chunk filename","webpack://lexoh-parking/webpack/runtime/get mini-css chunk filename","webpack://lexoh-parking/webpack/runtime/global","webpack://lexoh-parking/webpack/runtime/hasOwnProperty shorthand","webpack://lexoh-parking/webpack/runtime/load script","webpack://lexoh-parking/webpack/runtime/make namespace object","webpack://lexoh-parking/webpack/runtime/node module decorator","webpack://lexoh-parking/webpack/runtime/publicPath","webpack://lexoh-parking/webpack/runtime/css loading","webpack://lexoh-parking/webpack/runtime/jsonp chunk loading","webpack://lexoh-parking/webpack/startup"],"sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 1993;\nmodule.exports = webpackEmptyAsyncContext;","var map = {\n\t\"./af\": 2786,\n\t\"./af.js\": 2786,\n\t\"./ar\": 867,\n\t\"./ar-dz\": 4130,\n\t\"./ar-dz.js\": 4130,\n\t\"./ar-kw\": 6135,\n\t\"./ar-kw.js\": 6135,\n\t\"./ar-ly\": 6440,\n\t\"./ar-ly.js\": 6440,\n\t\"./ar-ma\": 7702,\n\t\"./ar-ma.js\": 7702,\n\t\"./ar-sa\": 6040,\n\t\"./ar-sa.js\": 6040,\n\t\"./ar-tn\": 7100,\n\t\"./ar-tn.js\": 7100,\n\t\"./ar.js\": 867,\n\t\"./az\": 1083,\n\t\"./az.js\": 1083,\n\t\"./be\": 9808,\n\t\"./be.js\": 9808,\n\t\"./bg\": 8338,\n\t\"./bg.js\": 8338,\n\t\"./bm\": 7438,\n\t\"./bm.js\": 7438,\n\t\"./bn\": 8905,\n\t\"./bn-bd\": 6225,\n\t\"./bn-bd.js\": 6225,\n\t\"./bn.js\": 8905,\n\t\"./bo\": 1560,\n\t\"./bo.js\": 1560,\n\t\"./br\": 1278,\n\t\"./br.js\": 1278,\n\t\"./bs\": 622,\n\t\"./bs.js\": 622,\n\t\"./ca\": 2468,\n\t\"./ca.js\": 2468,\n\t\"./cs\": 5822,\n\t\"./cs.js\": 5822,\n\t\"./cv\": 877,\n\t\"./cv.js\": 877,\n\t\"./cy\": 7373,\n\t\"./cy.js\": 7373,\n\t\"./da\": 4780,\n\t\"./da.js\": 4780,\n\t\"./de\": 9740,\n\t\"./de-at\": 217,\n\t\"./de-at.js\": 217,\n\t\"./de-ch\": 894,\n\t\"./de-ch.js\": 894,\n\t\"./de.js\": 9740,\n\t\"./dv\": 5300,\n\t\"./dv.js\": 5300,\n\t\"./el\": 837,\n\t\"./el.js\": 837,\n\t\"./en-au\": 8348,\n\t\"./en-au.js\": 8348,\n\t\"./en-ca\": 7925,\n\t\"./en-ca.js\": 7925,\n\t\"./en-gb\": 2243,\n\t\"./en-gb.js\": 2243,\n\t\"./en-ie\": 6436,\n\t\"./en-ie.js\": 6436,\n\t\"./en-il\": 7207,\n\t\"./en-il.js\": 7207,\n\t\"./en-in\": 4175,\n\t\"./en-in.js\": 4175,\n\t\"./en-nz\": 6319,\n\t\"./en-nz.js\": 6319,\n\t\"./en-sg\": 1662,\n\t\"./en-sg.js\": 1662,\n\t\"./eo\": 2915,\n\t\"./eo.js\": 2915,\n\t\"./es\": 7093,\n\t\"./es-do\": 5251,\n\t\"./es-do.js\": 5251,\n\t\"./es-mx\": 6112,\n\t\"./es-mx.js\": 6112,\n\t\"./es-us\": 1146,\n\t\"./es-us.js\": 1146,\n\t\"./es.js\": 7093,\n\t\"./et\": 5603,\n\t\"./et.js\": 5603,\n\t\"./eu\": 7763,\n\t\"./eu.js\": 7763,\n\t\"./fa\": 6959,\n\t\"./fa.js\": 6959,\n\t\"./fi\": 1897,\n\t\"./fi.js\": 1897,\n\t\"./fil\": 2549,\n\t\"./fil.js\": 2549,\n\t\"./fo\": 4694,\n\t\"./fo.js\": 4694,\n\t\"./fr\": 4470,\n\t\"./fr-ca\": 3049,\n\t\"./fr-ca.js\": 3049,\n\t\"./fr-ch\": 2330,\n\t\"./fr-ch.js\": 2330,\n\t\"./fr.js\": 4470,\n\t\"./fy\": 5044,\n\t\"./fy.js\": 5044,\n\t\"./ga\": 9295,\n\t\"./ga.js\": 9295,\n\t\"./gd\": 2101,\n\t\"./gd.js\": 2101,\n\t\"./gl\": 8794,\n\t\"./gl.js\": 8794,\n\t\"./gom-deva\": 7884,\n\t\"./gom-deva.js\": 7884,\n\t\"./gom-latn\": 3168,\n\t\"./gom-latn.js\": 3168,\n\t\"./gu\": 5349,\n\t\"./gu.js\": 5349,\n\t\"./he\": 4206,\n\t\"./he.js\": 4206,\n\t\"./hi\": 94,\n\t\"./hi.js\": 94,\n\t\"./hr\": 316,\n\t\"./hr.js\": 316,\n\t\"./hu\": 2138,\n\t\"./hu.js\": 2138,\n\t\"./hy-am\": 1423,\n\t\"./hy-am.js\": 1423,\n\t\"./id\": 9218,\n\t\"./id.js\": 9218,\n\t\"./is\": 135,\n\t\"./is.js\": 135,\n\t\"./it\": 626,\n\t\"./it-ch\": 150,\n\t\"./it-ch.js\": 150,\n\t\"./it.js\": 626,\n\t\"./ja\": 9183,\n\t\"./ja.js\": 9183,\n\t\"./jv\": 4286,\n\t\"./jv.js\": 4286,\n\t\"./ka\": 2105,\n\t\"./ka.js\": 2105,\n\t\"./kk\": 7772,\n\t\"./kk.js\": 7772,\n\t\"./km\": 8758,\n\t\"./km.js\": 8758,\n\t\"./kn\": 9282,\n\t\"./kn.js\": 9282,\n\t\"./ko\": 3730,\n\t\"./ko.js\": 3730,\n\t\"./ku\": 1408,\n\t\"./ku.js\": 1408,\n\t\"./ky\": 3291,\n\t\"./ky.js\": 3291,\n\t\"./lb\": 6841,\n\t\"./lb.js\": 6841,\n\t\"./lo\": 5466,\n\t\"./lo.js\": 5466,\n\t\"./lt\": 7010,\n\t\"./lt.js\": 7010,\n\t\"./lv\": 7595,\n\t\"./lv.js\": 7595,\n\t\"./me\": 9861,\n\t\"./me.js\": 9861,\n\t\"./mi\": 5493,\n\t\"./mi.js\": 5493,\n\t\"./mk\": 5966,\n\t\"./mk.js\": 5966,\n\t\"./ml\": 7341,\n\t\"./ml.js\": 7341,\n\t\"./mn\": 5115,\n\t\"./mn.js\": 5115,\n\t\"./mr\": 370,\n\t\"./mr.js\": 370,\n\t\"./ms\": 9847,\n\t\"./ms-my\": 1237,\n\t\"./ms-my.js\": 1237,\n\t\"./ms.js\": 9847,\n\t\"./mt\": 2126,\n\t\"./mt.js\": 2126,\n\t\"./my\": 6165,\n\t\"./my.js\": 6165,\n\t\"./nb\": 4924,\n\t\"./nb.js\": 4924,\n\t\"./ne\": 6744,\n\t\"./ne.js\": 6744,\n\t\"./nl\": 3901,\n\t\"./nl-be\": 9814,\n\t\"./nl-be.js\": 9814,\n\t\"./nl.js\": 3901,\n\t\"./nn\": 3877,\n\t\"./nn.js\": 3877,\n\t\"./oc-lnc\": 2135,\n\t\"./oc-lnc.js\": 2135,\n\t\"./pa-in\": 5858,\n\t\"./pa-in.js\": 5858,\n\t\"./pl\": 4495,\n\t\"./pl.js\": 4495,\n\t\"./pt\": 9520,\n\t\"./pt-br\": 7971,\n\t\"./pt-br.js\": 7971,\n\t\"./pt.js\": 9520,\n\t\"./ro\": 6459,\n\t\"./ro.js\": 6459,\n\t\"./ru\": 238,\n\t\"./ru.js\": 238,\n\t\"./sd\": 950,\n\t\"./sd.js\": 950,\n\t\"./se\": 490,\n\t\"./se.js\": 490,\n\t\"./si\": 124,\n\t\"./si.js\": 124,\n\t\"./sk\": 4249,\n\t\"./sk.js\": 4249,\n\t\"./sl\": 4985,\n\t\"./sl.js\": 4985,\n\t\"./sq\": 1104,\n\t\"./sq.js\": 1104,\n\t\"./sr\": 9131,\n\t\"./sr-cyrl\": 9915,\n\t\"./sr-cyrl.js\": 9915,\n\t\"./sr.js\": 9131,\n\t\"./ss\": 5893,\n\t\"./ss.js\": 5893,\n\t\"./sv\": 8760,\n\t\"./sv.js\": 8760,\n\t\"./sw\": 1172,\n\t\"./sw.js\": 1172,\n\t\"./ta\": 7333,\n\t\"./ta.js\": 7333,\n\t\"./te\": 3110,\n\t\"./te.js\": 3110,\n\t\"./tet\": 2095,\n\t\"./tet.js\": 2095,\n\t\"./tg\": 7321,\n\t\"./tg.js\": 7321,\n\t\"./th\": 9041,\n\t\"./th.js\": 9041,\n\t\"./tk\": 9005,\n\t\"./tk.js\": 9005,\n\t\"./tl-ph\": 5768,\n\t\"./tl-ph.js\": 5768,\n\t\"./tlh\": 9444,\n\t\"./tlh.js\": 9444,\n\t\"./tr\": 2397,\n\t\"./tr.js\": 2397,\n\t\"./tzl\": 8254,\n\t\"./tzl.js\": 8254,\n\t\"./tzm\": 1106,\n\t\"./tzm-latn\": 699,\n\t\"./tzm-latn.js\": 699,\n\t\"./tzm.js\": 1106,\n\t\"./ug-cn\": 9288,\n\t\"./ug-cn.js\": 9288,\n\t\"./uk\": 7691,\n\t\"./uk.js\": 7691,\n\t\"./ur\": 3795,\n\t\"./ur.js\": 3795,\n\t\"./uz\": 6791,\n\t\"./uz-latn\": 588,\n\t\"./uz-latn.js\": 588,\n\t\"./uz.js\": 6791,\n\t\"./vi\": 5666,\n\t\"./vi.js\": 5666,\n\t\"./x-pseudo\": 4378,\n\t\"./x-pseudo.js\": 4378,\n\t\"./yo\": 5805,\n\t\"./yo.js\": 5805,\n\t\"./zh-cn\": 3839,\n\t\"./zh-cn.js\": 3839,\n\t\"./zh-hk\": 5726,\n\t\"./zh-hk.js\": 5726,\n\t\"./zh-mo\": 9807,\n\t\"./zh-mo.js\": 9807,\n\t\"./zh-tw\": 4152,\n\t\"./zh-tw.js\": 4152\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 6700;","import { resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode, normalizeStyle as _normalizeStyle, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-900a845a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 1,\n style: {\"height\":\"100%\",\"width\":\"100%\"}\n}\nconst _hoisted_2 = {\n key: 2,\n style: {\"height\":\"100%\",\"width\":\"100%\"}\n}\nconst _hoisted_3 = {\n key: 0,\n class: \"pageWrapper\"\n}\nconst _hoisted_4 = { class: \"mainPanel\" }\nconst _hoisted_5 = { class: \"mainPanelContainer\" }\nconst _hoisted_6 = { class: \"mainPanelContent\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_IntroPage = _resolveComponent(\"IntroPage\")!\n const _component_LoginPage = _resolveComponent(\"LoginPage\")!\n const _component_Header = _resolveComponent(\"Header\")!\n const _component_SideMenu = _resolveComponent(\"SideMenu\")!\n const _component_ion_router_outlet = _resolveComponent(\"ion-router-outlet\")!\n const _component_IonApp = _resolveComponent(\"IonApp\")!\n\n return (_openBlock(), _createBlock(_component_IonApp, {\n style: _normalizeStyle(_ctx.showIntroPage ? 'background-color: white !important;' : '')\n }, {\n default: _withCtx(() => [\n (_ctx.showIntroPage)\n ? (_openBlock(), _createBlock(_component_IntroPage, { key: 0 }))\n : (!_ctx.currentUser)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_LoginPage, { style: {\"height\":\"100%\",\"width\":\"100%\"} })\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n (['/', '/map', '/cameras', '/devices', '/customers', '/guests', '/entries', '/statistics', '/events', '/alerts', '/transactions', '/settings', '/settings/users'].includes(this.$route.path))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createVNode(_component_Header),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, [\n _createVNode(_component_SideMenu),\n _createElementVNode(\"div\", _hoisted_6, [\n _createVNode(_component_ion_router_outlet)\n ])\n ])\n ])\n ]))\n : (_openBlock(), _createBlock(_component_ion_router_outlet, { key: 1 }))\n ]))\n ]),\n _: 1\n }, 8, [\"style\"]))\n}","import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, toDisplayString as _toDisplayString, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-2c9f4aac\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"header\" }\nconst _hoisted_2 = { class: \"headerContainer\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"logo\" }, [\n /*#__PURE__*/_createElementVNode(\"img\", {\n src: \"/assets/icon.png\",\n style: {\"width\":\"45px\",\"margin-left\":\"-1px\"}\n })\n], -1))\nconst _hoisted_4 = { class: \"logo2\" }\nconst _hoisted_5 = [\"src\"]\nconst _hoisted_6 = {\n key: 0,\n class: \"logo2\"\n}\nconst _hoisted_7 = [\"src\"]\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"headerFiller\" }, null, -1))\nconst _hoisted_9 = { class: \"headerActions\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_IosContrastIcon = _resolveComponent(\"IosContrastIcon\")!\n const _component_IosRadioButtonOffIcon = _resolveComponent(\"IosRadioButtonOffIcon\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _hoisted_3,\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"img\", {\n src: '/assets/LEXOH_LOGO_' + _ctx.$root.$i18n.locale.toUpperCase() + '_' + (_ctx.isDarkMode ? 'WHITE' : 'BLACK') + '.png'\n }, null, 8, _hoisted_5)\n ]),\n false\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n _createElementVNode(\"img\", {\n src: _ctx.$root.$i18n.locale == 'fr' ? '/assets/logofr.png' : '/assets/logoen.png'\n }, null, 8, _hoisted_7)\n ]))\n : _createCommentVNode(\"\", true),\n _hoisted_8,\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"button\", {\n id: \"buttonToggleModeDark\",\n class: \"buttonToggleMode\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => {_ctx.toggleDarkTheme(true);})\n }, [\n _createVNode(_component_IosContrastIcon)\n ]),\n _createElementVNode(\"button\", {\n id: \"buttonToggleModeLight\",\n class: \"buttonToggleMode active\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => {_ctx.toggleDarkTheme(false);})\n }, [\n _createVNode(_component_IosRadioButtonOffIcon)\n ]),\n _createElementVNode(\"a\", {\n href: \"javascript: void(0);\",\n style: {\"margin-right\":\"10px\"},\n onClick: _cache[2] || (_cache[2] = ($event: any) => (_ctx.switchLocale()))\n }, _toDisplayString(_ctx.$root.$i18n.locale == 'fr' ? 'EN' : 'FR'), 1),\n _createElementVNode(\"a\", {\n href: \"#\",\n style: {\"color\":\"#f03a3e\",\"margin-left\":\"4px\"},\n onClick: _cache[3] || (_cache[3] = ($event: any) => (_ctx.logout()))\n }, _toDisplayString(_ctx.t('signout')), 1)\n ])\n ])\n ]))\n}","\r\n import { defineComponent } from 'vue';\r\n import IosContrastIcon from 'vue-ionicons/dist/ios-contrast.vue'\r\n import IosRadioButtonOffIcon from 'vue-ionicons/dist/ios-radio-button-off.vue'\r\n import UserService from '../services/user.service';\r\n import { useI18n } from 'vue-i18n'\r\n export default defineComponent({\r\n name: 'HeaderPage',\r\n components: { IosContrastIcon, IosRadioButtonOffIcon },\r\n setup()\r\n {\r\n setTimeout(() => {\r\n const shouldAdd = document.body.classList.contains('dark');\r\n document.getElementById('buttonToggleModeDark')?.classList.toggle('active', shouldAdd);\r\n document.getElementById('buttonToggleModeLight')?.classList.toggle('active', !shouldAdd);\r\n }, 10);\r\n const { t } = useI18n({\r\n inheritLocale: true,\r\n useScope: 'global'\r\n });\r\n return { t };\r\n },\r\n data()\r\n {\r\n return {\r\n isDarkMode: false\r\n }\r\n },\r\n mounted()\r\n {\r\n this.isDarkMode = document.body.classList.contains('dark');\r\n //@ts-ignore\r\n UserService.setRouter(this.$router);\r\n //@ts-ignore\r\n UserService.setStore(this.$store);\r\n // var userInterval = setInterval(async function()\r\n // {\r\n // var result = await UserService.online();\r\n // if (result == null || typeof result == 'string') {\r\n // clearInterval(userInterval);\r\n // }\r\n // }, 1000);\r\n },\r\n methods: {\r\n switchLocale()\r\n {\r\n //@ts-ignore\r\n localStorage.setItem('locale', (this.$root.$i18n.locale == 'fr' ? 'en' : 'fr'));\r\n //@ts-ignore\r\n // this.$root.$i18n.locale = (this.$root.$i18n.locale == 'fr' ? 'en' : 'fr');\r\n window.location.reload();\r\n },\r\n toggleDarkTheme(shouldAdd: boolean)\r\n {\r\n document.getElementById('buttonToggleModeDark')?.classList.toggle('active', shouldAdd);\r\n document.getElementById('buttonToggleModeLight')?.classList.toggle('active', !shouldAdd);\r\n document.body.classList.toggle('dark', shouldAdd);\r\n localStorage.setItem('dark', shouldAdd ? 'true' : 'false');\r\n this.isDarkMode = shouldAdd;\r\n },\r\n logout()\r\n {\r\n //@ts-ignore\r\n this.$store.dispatch('auth/logout', { }).then(() =>\r\n {\r\n window.location.href = '/';\r\n },\r\n //@ts-ignore\r\n error =>\r\n {\r\n var error_msg = (error.response && error.response.data && error.response.data.errors && error.response.data.errors.message) ? error.response.data.errors.message : error.toString();\r\n debugger;\r\n }\r\n );\r\n }\r\n }\r\n });\r\n","import { render } from \"./Header.vue?vue&type=template&id=2c9f4aac&scoped=true&ts=true\"\nimport script from \"./Header.vue?vue&type=script&lang=ts\"\nexport * from \"./Header.vue?vue&type=script&lang=ts\"\n\nimport \"./Header.vue?vue&type=style&index=0&id=2c9f4aac&scoped=true&lang=css\"\n\nimport exportComponent from \"F:\\\\GitHub\\\\lexoh-parking-ionic\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-2c9f4aac\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-12a29581\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"sidemenu\" }\nconst _hoisted_2 = { class: \"sideMenuOverflow\" }\nconst _hoisted_3 = { class: \"sidemenuContent\" }\nconst _hoisted_4 = { class: \"sideMenuNavItems\" }\nconst _hoisted_5 = { class: \"sideMenuNavItemTooltip\" }\nconst _hoisted_6 = { class: \"sideMenuNavItemTooltipText\" }\nconst _hoisted_7 = { class: \"sideMenuNavItemTooltip\" }\nconst _hoisted_8 = { class: \"sideMenuNavItemTooltipText\" }\nconst _hoisted_9 = { class: \"sideMenuNavItemTooltip\" }\nconst _hoisted_10 = { class: \"sideMenuNavItemTooltipText\" }\nconst _hoisted_11 = { class: \"sideMenuNavItemTooltip\" }\nconst _hoisted_12 = { class: \"sideMenuNavItemTooltipText\" }\nconst _hoisted_13 = { class: \"sideMenuNavItemTooltip\" }\nconst _hoisted_14 = { class: \"sideMenuNavItemTooltipText\" }\nconst _hoisted_15 = { class: \"sideMenuNavItemTooltip\" }\nconst _hoisted_16 = { class: \"sideMenuNavItemTooltipText\" }\nconst _hoisted_17 = { class: \"sideMenuNavItemTooltip\" }\nconst _hoisted_18 = { class: \"sideMenuNavItemTooltipText\" }\nconst _hoisted_19 = { class: \"sideMenuNavItemTooltip\" }\nconst _hoisted_20 = { class: \"sideMenuNavItemTooltipText\" }\nconst _hoisted_21 = { class: \"sideMenuNavItemTooltip\" }\nconst _hoisted_22 = { class: \"sideMenuNavItemTooltipText\" }\nconst _hoisted_23 = { class: \"sideMenuNavItemTooltip\" }\nconst _hoisted_24 = { class: \"sideMenuNavItemTooltipText\" }\nconst _hoisted_25 = { class: \"sideMenuNavItemTooltip\" }\nconst _hoisted_26 = { class: \"sideMenuNavItemTooltipText\" }\nconst _hoisted_27 = { class: \"sideMenuNavItemTooltip\" }\nconst _hoisted_28 = { class: \"sideMenuNavItemTooltipText\" }\nconst _hoisted_29 = { class: \"sideMenuNavItemTooltip\" }\nconst _hoisted_30 = { class: \"sideMenuNavItemTooltipText\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_ion_icon = _resolveComponent(\"ion-icon\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"button\", {\n class: _normalizeClass((this.$route.path == '/')?'sideMenuNavItem active':'sideMenuNavItem'),\n onClick: _cache[0] || (_cache[0] = ($event: any) => {this.$router.push('/');})\n }, [\n _createVNode(_component_ion_icon, { icon: _ctx.pieChartOutline }, null, 8, [\"icon\"]),\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"span\", _hoisted_6, _toDisplayString(_ctx.t('dashboard')), 1)\n ])\n ], 2),\n _createElementVNode(\"button\", {\n class: _normalizeClass((this.$route.path == '/map')?'sideMenuNavItem active':'sideMenuNavItem'),\n onClick: _cache[1] || (_cache[1] = ($event: any) => {this.$router.push('/map');})\n }, [\n _createVNode(_component_ion_icon, { icon: _ctx.mapOutline }, null, 8, [\"icon\"]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"span\", _hoisted_8, _toDisplayString(_ctx.t('map')), 1)\n ])\n ], 2),\n false\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: _normalizeClass((this.$route.path == '/pos')?'sideMenuNavItem active':'sideMenuNavItem'),\n onClick: _cache[2] || (_cache[2] = ($event: any) => {_ctx.openPOS();})\n }, [\n _createVNode(_component_ion_icon, { icon: _ctx.cartOutline }, null, 8, [\"icon\"]),\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"span\", _hoisted_10, _toDisplayString(_ctx.t('sale')), 1)\n ])\n ], 2))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: _normalizeClass((this.$route.path == '/cameras')?'sideMenuNavItem active':'sideMenuNavItem'),\n onClick: _cache[3] || (_cache[3] = ($event: any) => {this.$router.push('/cameras');})\n }, [\n _createVNode(_component_ion_icon, { icon: _ctx.videocamOutline }, null, 8, [\"icon\"]),\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"span\", _hoisted_12, _toDisplayString(_ctx.t('cameras')), 1)\n ])\n ], 2),\n _createElementVNode(\"button\", {\n class: _normalizeClass((this.$route.path == '/devices')?'sideMenuNavItem active':'sideMenuNavItem'),\n onClick: _cache[4] || (_cache[4] = ($event: any) => {this.$router.push('/devices');})\n }, [\n _createVNode(_component_ion_icon, { icon: _ctx.hardwareChipOutline }, null, 8, [\"icon\"]),\n _createElementVNode(\"div\", _hoisted_13, [\n _createElementVNode(\"span\", _hoisted_14, _toDisplayString(_ctx.t('devices')), 1)\n ])\n ], 2),\n _createElementVNode(\"button\", {\n class: _normalizeClass((this.$route.path == '/customers')?'sideMenuNavItem active':'sideMenuNavItem'),\n onClick: _cache[5] || (_cache[5] = ($event: any) => {this.$router.push('/customers');})\n }, [\n _createVNode(_component_ion_icon, { icon: _ctx.personOutline }, null, 8, [\"icon\"]),\n _createElementVNode(\"div\", _hoisted_15, [\n _createElementVNode(\"span\", _hoisted_16, _toDisplayString(_ctx.t('customers')), 1)\n ])\n ], 2),\n _createElementVNode(\"button\", {\n class: _normalizeClass((this.$route.path == '/guests')?'sideMenuNavItem active':'sideMenuNavItem'),\n onClick: _cache[6] || (_cache[6] = ($event: any) => {this.$router.push('/guests');})\n }, [\n _createVNode(_component_ion_icon, { icon: _ctx.ticketOutline }, null, 8, [\"icon\"]),\n _createElementVNode(\"div\", _hoisted_17, [\n _createElementVNode(\"span\", _hoisted_18, _toDisplayString(_ctx.t('guests')), 1)\n ])\n ], 2),\n _createElementVNode(\"button\", {\n class: _normalizeClass((this.$route.path == '/entries')?'sideMenuNavItem active':'sideMenuNavItem'),\n onClick: _cache[7] || (_cache[7] = ($event: any) => {this.$router.push('/entries');})\n }, [\n _createVNode(_component_ion_icon, { icon: _ctx.documentTextOutline }, null, 8, [\"icon\"]),\n _createElementVNode(\"div\", _hoisted_19, [\n _createElementVNode(\"span\", _hoisted_20, _toDisplayString(_ctx.t('entries')), 1)\n ])\n ], 2),\n _createElementVNode(\"button\", {\n class: _normalizeClass((this.$route.path == '/transactions')?'sideMenuNavItem active':'sideMenuNavItem'),\n onClick: _cache[8] || (_cache[8] = ($event: any) => {this.$router.push('/transactions');})\n }, [\n _createVNode(_component_ion_icon, { icon: _ctx.cashOutline }, null, 8, [\"icon\"]),\n _createElementVNode(\"div\", _hoisted_21, [\n _createElementVNode(\"span\", _hoisted_22, _toDisplayString(_ctx.t('transactions')), 1)\n ])\n ], 2),\n _createElementVNode(\"button\", {\n class: _normalizeClass((this.$route.path == '/statistics')?'sideMenuNavItem active':'sideMenuNavItem'),\n onClick: _cache[9] || (_cache[9] = ($event: any) => {this.$router.push('/statistics');})\n }, [\n _createVNode(_component_ion_icon, { icon: _ctx.statsChartOutline }, null, 8, [\"icon\"]),\n _createElementVNode(\"div\", _hoisted_23, [\n _createElementVNode(\"span\", _hoisted_24, _toDisplayString(_ctx.t('statistics')), 1)\n ])\n ], 2),\n _createElementVNode(\"button\", {\n class: _normalizeClass((this.$route.path == '/events')?'sideMenuNavItem active':'sideMenuNavItem'),\n onClick: _cache[10] || (_cache[10] = ($event: any) => {this.$router.push('/events');})\n }, [\n _createVNode(_component_ion_icon, { icon: _ctx.calendarOutline }, null, 8, [\"icon\"]),\n _createElementVNode(\"div\", _hoisted_25, [\n _createElementVNode(\"span\", _hoisted_26, _toDisplayString(_ctx.t('events')), 1)\n ])\n ], 2),\n _createElementVNode(\"button\", {\n class: _normalizeClass((this.$route.path == '/alerts')?'sideMenuNavItem active':'sideMenuNavItem'),\n onClick: _cache[11] || (_cache[11] = ($event: any) => {this.$router.push('/alerts');})\n }, [\n _createVNode(_component_ion_icon, { icon: _ctx.notificationsOutline }, null, 8, [\"icon\"]),\n _createElementVNode(\"div\", _hoisted_27, [\n _createElementVNode(\"span\", _hoisted_28, _toDisplayString(_ctx.t('alerts')), 1)\n ])\n ], 2),\n _createElementVNode(\"button\", {\n class: _normalizeClass((this.$route.path == '/settings')?'sideMenuNavItem active':'sideMenuNavItem'),\n onClick: _cache[12] || (_cache[12] = ($event: any) => {this.$router.push('/settings');})\n }, [\n _createVNode(_component_ion_icon, { icon: _ctx.cogOutline }, null, 8, [\"icon\"]),\n _createElementVNode(\"div\", _hoisted_29, [\n _createElementVNode(\"span\", _hoisted_30, _toDisplayString(_ctx.t('settings')), 1)\n ])\n ], 2)\n ])\n ])\n ])\n ]))\n}","import { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createBlock as _createBlock, normalizeStyle as _normalizeStyle, createCommentVNode as _createCommentVNode } from \"vue\"\n\nconst _hoisted_1 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_2 = { style: {\"height\":\"calc(100% - 54px)\"} }\nconst _hoisted_3 = [\"data\", \"value\"]\nconst _hoisted_4 = {\n key: 0,\n style: {\"display\":\"flex\",\"justify-content\":\"space-between\"}\n}\nconst _hoisted_5 = {\n key: 1,\n style: {\"display\":\"flex\",\"justify-content\":\"space-between\"}\n}\nconst _hoisted_6 = {\n key: 2,\n style: {\"display\":\"flex\",\"justify-content\":\"space-between\"}\n}\nconst _hoisted_7 = {\n key: 3,\n style: {\"display\":\"flex\",\"justify-content\":\"space-between\"}\n}\nconst _hoisted_8 = {\n key: 4,\n style: {\"display\":\"flex\",\"justify-content\":\"space-between\"}\n}\nconst _hoisted_9 = {\n key: 5,\n style: {\"display\":\"flex\",\"justify-content\":\"space-between\"}\n}\nconst _hoisted_10 = { style: 'text-align: right;' }\nconst _hoisted_11 = { style: {\"display\":\"flex\",\"font-weight\":\"bold\",\"justify-content\":\"space-between\"} }\nconst _hoisted_12 = { style: {\"text-align\":\"right\"} }\nconst _hoisted_13 = [\"data\", \"value\"]\nconst _hoisted_14 = { style: {\"text-align\":\"right\"} }\nconst _hoisted_15 = { style: {\"display\":\"flex\",\"font-weight\":\"bold\",\"justify-content\":\"space-between\"} }\nconst _hoisted_16 = { style: {\"text-align\":\"right\"} }\nconst _hoisted_17 = [\"disabled\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_ion_title = _resolveComponent(\"ion-title\")!\n const _component_ion_button = _resolveComponent(\"ion-button\")!\n const _component_ion_buttons = _resolveComponent(\"ion-buttons\")!\n const _component_ion_toolbar = _resolveComponent(\"ion-toolbar\")!\n const _component_ion_header = _resolveComponent(\"ion-header\")!\n const _component_ion_label = _resolveComponent(\"ion-label\")!\n const _component_ion_input = _resolveComponent(\"ion-input\")!\n const _component_ion_item = _resolveComponent(\"ion-item\")!\n const _component_b_col = _resolveComponent(\"b-col\")!\n const _component_ion_select_option = _resolveComponent(\"ion-select-option\")!\n const _component_ion_select = _resolveComponent(\"ion-select\")!\n const _component_b_row = _resolveComponent(\"b-row\")!\n const _component_ion_content = _resolveComponent(\"ion-content\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createVNode(_component_ion_header, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_toolbar, {\n color: _ctx.darkMode ? 'dark' : ''\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_title, null, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('sale')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_buttons, { slot: \"primary\" }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_button, {\n color: \"danger\",\n fill: \"outline\",\n onClick: _ctx.closeModal\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('cancel')), 1)\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ]),\n _: 1\n })\n ]),\n _: 1\n }, 8, [\"color\"])\n ]),\n _: 1\n }),\n _createVNode(_component_ion_content, {\n class: \"ion-padding\",\n style: {\"position\":\"relative\",\"background-color\":\"var(--ion-color-white)\"}\n }, {\n default: _withCtx(() => [\n _createVNode(_component_b_row, { style: {\"margin\":\"0\",\"height\":\"100%\"} }, {\n default: _withCtx(() => [\n _createVNode(_component_b_col, {\n cols: \"12\",\n sm: \"7\",\n md: \"7\",\n lg: \"7\",\n xl: \"7\",\n style: {\"height\":\"100%\",\"border-right\":\"1px solid #ccc\"}\n }, {\n default: _withCtx(() => [\n _createVNode(_component_b_row, { style: {\"margin\":\"0\"} }, {\n default: _withCtx(() => [\n _createVNode(_component_b_col, {\n cols: \"12\",\n sm: \"12\",\n md: \"12\",\n lg: \"12\",\n xl: \"12\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_item, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_label, { position: \"floating\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('ticket_number')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_input, {\n value: _ctx.ticket_number,\n onChange: _cache[0] || (_cache[0] = ($event: any) => (_ctx.ticket_number=$event.target.value))\n }, null, 8, [\"value\"])\n ]),\n _: 1\n }),\n _hoisted_1\n ]),\n _: 1\n }),\n _createVNode(_component_b_col, {\n cols: \"12\",\n sm: \"12\",\n md: \"12\",\n lg: \"12\",\n xl: \"12\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_item, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_label, {\n class: \"item-has-value\",\n position: \"floating\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('zone')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select, {\n interface: \"popover\",\n modelValue: _ctx.zone_id,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.zone_id) = $event)),\n onIonChange: _cache[2] || (_cache[2] = ($event: any) => (_ctx.zone_id=$event.target.value))\n }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.all_zones, (zone) => {\n return (_openBlock(), _createBlock(_component_ion_select_option, {\n key: zone.id + '_short',\n data: zone,\n value: zone.id\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(zone.name), 1)\n ]),\n _: 2\n }, 1032, [\"data\", \"value\"]))\n }), 128))\n ]),\n _: 1\n }, 8, [\"modelValue\"])\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n _createVNode(_component_b_col, {\n cols: \"12\",\n sm: \"6\",\n md: \"6\",\n lg: \"6\",\n xl: \"6\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_item, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_label, { position: \"floating\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('entrance_date')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_input, {\n type: \"date\",\n value: _ctx.entrance_date,\n onChange: _cache[3] || (_cache[3] = ($event: any) => (_ctx.entrance_date=$event.target.value))\n }, null, 8, [\"value\"])\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n _createVNode(_component_b_col, {\n cols: \"12\",\n sm: \"6\",\n md: \"6\",\n lg: \"6\",\n xl: \"6\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_item, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_label, { position: \"floating\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('entrance_time')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_input, {\n type: \"time\",\n value: _ctx.entrance_time,\n onChange: _cache[4] || (_cache[4] = ($event: any) => (_ctx.entrance_time=$event.target.value))\n }, null, 8, [\"value\"])\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n _createVNode(_component_b_col, {\n cols: \"12\",\n sm: \"6\",\n md: \"6\",\n lg: \"6\",\n xl: \"6\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_item, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_label, { position: \"floating\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('exit_date')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_input, {\n type: \"date\",\n value: _ctx.exit_date,\n onChange: _cache[5] || (_cache[5] = ($event: any) => (_ctx.exit_date=$event.target.value))\n }, null, 8, [\"value\"])\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n _createVNode(_component_b_col, {\n cols: \"12\",\n sm: \"6\",\n md: \"6\",\n lg: \"6\",\n xl: \"6\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_item, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_label, { position: \"floating\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('exit_time')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_input, {\n type: \"time\",\n value: _ctx.exit_time,\n onChange: _cache[6] || (_cache[6] = ($event: any) => (_ctx.exit_time=$event.target.value))\n }, null, 8, [\"value\"])\n ]),\n _: 1\n })\n ]),\n _: 1\n })\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n _createVNode(_component_b_col, {\n cols: \"12\",\n sm: \"5\",\n md: \"5\",\n lg: \"5\",\n xl: \"5\",\n style: {\"height\":\"100%\"}\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.details, (detail) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: 'pricing_' + detail.id,\n data: detail,\n value: detail.id\n }, [\n _createTextVNode(\" Tarif: \" + _toDisplayString(detail.name) + \" \", 1),\n (detail.early_amount > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", null, \"Early bird: x\" + _toDisplayString(detail.early_hours.toFixed(2)), 1),\n _createElementVNode(\"div\", {\n style: _normalizeStyle('text-align: right;' + (_ctx.use_daily_max_rate ? 'text-decoration: line-through;' : ''))\n }, _toDisplayString(detail.early_amount.toFixed(2)) + \"$\", 5)\n ]))\n : _createCommentVNode(\"\", true),\n (detail.late_amount > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", null, \"Late bird: x\" + _toDisplayString(detail.late_hours.toFixed(2)), 1),\n _createElementVNode(\"div\", {\n style: _normalizeStyle('text-align: right;' + (_ctx.use_daily_max_rate ? 'text-decoration: line-through;' : ''))\n }, _toDisplayString(detail.late_amount.toFixed(2)) + \"$\", 5)\n ]))\n : _createCommentVNode(\"\", true),\n (detail.normal_hours > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.t('hours')) + \": x\" + _toDisplayString(detail.normal_hours.toFixed(2)), 1),\n _createElementVNode(\"div\", {\n style: _normalizeStyle('text-align: right;' + (_ctx.use_daily_max_rate ? 'text-decoration: line-through;' : ''))\n }, _toDisplayString(detail.normal_amount.toFixed(2)) + \"$\", 5)\n ]))\n : _createCommentVNode(\"\", true),\n (detail.normal_days > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_7, [\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.t('days')) + \": x\" + _toDisplayString(detail.normal_days.toFixed(2)), 1),\n _createElementVNode(\"div\", {\n style: _normalizeStyle('text-align: right;' + (_ctx.use_weekly_max_rate ? 'text-decoration: line-through;' : ''))\n }, _toDisplayString(detail.normal_amount.toFixed(2)) + \"$\", 5)\n ]))\n : _createCommentVNode(\"\", true),\n (detail.normal_weeks > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_8, [\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.t('weeks')) + \": x\" + _toDisplayString(detail.normal_weeks.toFixed(2)), 1),\n _createElementVNode(\"div\", {\n style: _normalizeStyle('text-align: right;' + (_ctx.use_monthly_max_rate ? 'text-decoration: line-through;' : ''))\n }, _toDisplayString(detail.normal_amount.toFixed(2)) + \"$\", 5)\n ]))\n : _createCommentVNode(\"\", true),\n (detail.normal_months > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.t('months')) + \": x\" + _toDisplayString(detail.normal_months.toFixed(2)), 1),\n _createElementVNode(\"div\", _hoisted_10, _toDisplayString(detail.normal_amount.toFixed(2)) + \"$\", 1)\n ]))\n : _createCommentVNode(\"\", true)\n ], 8, _hoisted_3))\n }), 128)),\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.t('sub_total')) + \":\", 1),\n _createElementVNode(\"div\", _hoisted_12, _toDisplayString(_ctx.price.toFixed(2)) + \"$\", 1)\n ]),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.taxes, (tax) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: 'tax_' + tax.type,\n data: tax,\n value: tax.type,\n style: {\"display\":\"flex\",\"font-weight\":\"bold\",\"justify-content\":\"space-between\"}\n }, [\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.t(tax.type.toUpperCase() )) + \" (\" + _toDisplayString((tax.rate * 100).toFixed(3)) + \"%):\", 1),\n _createElementVNode(\"div\", _hoisted_14, _toDisplayString(tax.amount.toFixed(2)) + \"$\", 1)\n ], 8, _hoisted_13))\n }), 128)),\n _createElementVNode(\"div\", _hoisted_15, [\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.t('total_to_bill')) + \":\", 1),\n _createElementVNode(\"div\", _hoisted_16, _toDisplayString(_ctx.big_total.toFixed(2)) + \"$\", 1)\n ])\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"button\", {\n disabled: _ctx.big_total <= 0,\n class: \"btn btn-danger btn_custom\",\n type: \"button\",\n onClick: _cache[7] || (_cache[7] = ($event: any) => {_ctx.openPay(_ctx.big_total, 0, 0);}),\n style: {\"width\":\"100%\",\"height\":\"50px\",\"margin\":\"20px 0px\",\"margin-top\":\"0px\",\"border\":\"none !important\",\"background-color\":\"#39cc64\",\"color\":\"white\"}\n }, _toDisplayString(_ctx.t('bill')), 9, _hoisted_17)\n ])\n ]),\n _: 1\n })\n ]),\n _: 1\n })\n ]),\n _: 1\n })\n ], 64))\n}","import { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, createElementVNode as _createElementVNode, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = /*#__PURE__*/_createElementVNode(\"b\", { style: {\"align-items\":\"center\",\"display\":\"flex\",\"height\":\"100%\"} }, \"Invoice balance\", -1)\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"b\", { style: {\"align-items\":\"center\",\"display\":\"flex\",\"height\":\"100%\"} }, \"Rounded amount for cash payment\", -1)\nconst _hoisted_3 = /*#__PURE__*/_createElementVNode(\"b\", null, \"Payment Methods\", -1)\nconst _hoisted_4 = /*#__PURE__*/_createElementVNode(\"b\", { style: {\"align-items\":\"center\",\"display\":\"flex\",\"height\":\"100%\"} }, \"Cash\", -1)\nconst _hoisted_5 = /*#__PURE__*/_createElementVNode(\"b\", { style: {\"align-items\":\"center\",\"display\":\"flex\",\"height\":\"100%\"} }, \"Debit/Credit Card\", -1)\nconst _hoisted_6 = /*#__PURE__*/_createElementVNode(\"b\", { style: {\"align-items\":\"center\",\"display\":\"flex\",\"height\":\"100%\"} }, \"Amount to be paid\", -1)\nconst _hoisted_7 = /*#__PURE__*/_createElementVNode(\"b\", { style: {\"align-items\":\"center\",\"display\":\"flex\",\"height\":\"100%\"} }, \"Cash to give back to the customer\", -1)\nconst _hoisted_8 = /*#__PURE__*/_createTextVNode(\" \")\nconst _hoisted_9 = /*#__PURE__*/_createElementVNode(\"button\", {\n class: \"btn btn-danger btn_custom\",\n type: \"button\",\n style: {\"width\":\"100%\",\"height\":\"50px\",\"margin\":\"20px 0px\",\"margin-top\":\"0px\",\"background-color\":\"#02a9f4\",\"color\":\"white\"}\n}, \"TAKE CARD PAYMENT\", -1)\nconst _hoisted_10 = /*#__PURE__*/_createElementVNode(\"button\", {\n class: \"btn btn-danger btn_custom\",\n type: \"button\",\n style: {\"width\":\"100%\",\"height\":\"50px\",\"margin\":\"20px 0px\",\"margin-top\":\"0px\",\"background-color\":\"#02a9f4\",\"color\":\"white\"}\n}, \"TAKE CASH PAYMENT\", -1)\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_ion_title = _resolveComponent(\"ion-title\")!\n const _component_ion_button = _resolveComponent(\"ion-button\")!\n const _component_ion_buttons = _resolveComponent(\"ion-buttons\")!\n const _component_ion_toolbar = _resolveComponent(\"ion-toolbar\")!\n const _component_ion_header = _resolveComponent(\"ion-header\")!\n const _component_b_col = _resolveComponent(\"b-col\")!\n const _component_ion_input = _resolveComponent(\"ion-input\")!\n const _component_ion_item = _resolveComponent(\"ion-item\")!\n const _component_b_row = _resolveComponent(\"b-row\")!\n const _component_ion_content = _resolveComponent(\"ion-content\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createVNode(_component_ion_header, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_toolbar, {\n color: _ctx.darkMode ? 'dark' : ''\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_title, null, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('Payment')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_buttons, { slot: \"primary\" }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_button, {\n color: \"danger\",\n fill: \"outline\",\n onClick: _ctx.closeModal\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('cancel')), 1)\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ]),\n _: 1\n })\n ]),\n _: 1\n }, 8, [\"color\"])\n ]),\n _: 1\n }),\n _createVNode(_component_ion_content, {\n class: \"ion-padding\",\n style: {\"position\":\"relative\",\"background-color\":\"var(--ion-color-white)\"}\n }, {\n default: _withCtx(() => [\n _createVNode(_component_b_row, { style: {\"margin\":\"0\"} }, {\n default: _withCtx(() => [\n _createVNode(_component_b_col, {\n cols: \"12\",\n sm: \"12\",\n md: \"8\",\n lg: \"8\",\n xl: \"8\"\n }, {\n default: _withCtx(() => [\n _hoisted_1\n ]),\n _: 1\n }),\n _createVNode(_component_b_col, {\n cols: \"12\",\n sm: \"12\",\n md: \"4\",\n lg: \"4\",\n xl: \"4\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_item, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_input, {\n readonly: \"\",\n type: \"number\",\n value: (_ctx.total_amount - _ctx.amount_paid).toFixed(2),\n style: {\"text-align\":\"right\"}\n }, null, 8, [\"value\"])\n ]),\n _: 1\n })\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n _createVNode(_component_b_row, { style: {\"margin\":\"0\"} }, {\n default: _withCtx(() => [\n _createVNode(_component_b_col, {\n cols: \"12\",\n sm: \"12\",\n md: \"8\",\n lg: \"8\",\n xl: \"8\"\n }, {\n default: _withCtx(() => [\n _hoisted_2\n ]),\n _: 1\n }),\n _createVNode(_component_b_col, {\n cols: \"12\",\n sm: \"12\",\n md: \"4\",\n lg: \"4\",\n xl: \"4\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_item, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_input, {\n readonly: \"\",\n type: \"number\",\n value: _ctx.rounded_amount,\n style: {\"text-align\":\"right\"}\n }, null, 8, [\"value\"])\n ]),\n _: 1\n })\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n _createVNode(_component_b_row, { style: {\"margin\":\"0\",\"border\":\"1px solid #e5ecef\",\"background-color\":\"white\",\"margin-top\":\"10px\"} }, {\n default: _withCtx(() => [\n _createVNode(_component_b_col, {\n cols: \"12\",\n sm: \"12\",\n md: \"12\",\n lg: \"12\",\n xl: \"12\",\n style: {\"border-bottom\":\"1px solid #dedddc\"}\n }, {\n default: _withCtx(() => [\n _hoisted_3\n ]),\n _: 1\n }),\n _createVNode(_component_b_col, {\n cols: \"12\",\n sm: \"12\",\n md: \"8\",\n lg: \"8\",\n xl: \"8\",\n style: {\"border-bottom\":\"1px solid #dedddc\",\"border-right\":\"1px solid #dedddc\",\"background-color\":\"#f9f9f9\"}\n }, {\n default: _withCtx(() => [\n _hoisted_4\n ]),\n _: 1\n }),\n _createVNode(_component_b_col, {\n cols: \"12\",\n sm: \"12\",\n md: \"4\",\n lg: \"4\",\n xl: \"4\",\n style: {\"border-bottom\":\"1px solid #dedddc\",\"background-color\":\"#f9f9f9\",\"padding\":\"5px\"}\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_item, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_input, {\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.onCashClicked())),\n value: _ctx.cash_amount,\n onChange: _cache[1] || (_cache[1] = ($event: any) => (_ctx.cash_amount=$event.target.value)),\n type: \"number\",\n style: {\"text-align\":\"right\"}\n }, null, 8, [\"value\"])\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n _createVNode(_component_b_col, {\n cols: \"12\",\n sm: \"12\",\n md: \"8\",\n lg: \"8\",\n xl: \"8\",\n style: {\"border-right\":\"1px solid #dedddc\"}\n }, {\n default: _withCtx(() => [\n _hoisted_5\n ]),\n _: 1\n }),\n _createVNode(_component_b_col, {\n cols: \"12\",\n sm: \"12\",\n md: \"4\",\n lg: \"4\",\n xl: \"4\",\n style: {\"padding\":\"5px\"}\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_item, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_input, {\n onClick: _cache[2] || (_cache[2] = ($event: any) => (_ctx.onCardClicked())),\n value: _ctx.card_amount,\n onChange: _cache[3] || (_cache[3] = ($event: any) => (_ctx.card_amount=$event.target.value)),\n type: \"number\",\n style: {\"text-align\":\"right\"}\n }, null, 8, [\"value\"])\n ]),\n _: 1\n })\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n _createVNode(_component_b_row, { style: {\"margin\":\"0\"} }, {\n default: _withCtx(() => [\n _createVNode(_component_b_col, {\n cols: \"12\",\n sm: \"12\",\n md: \"8\",\n lg: \"8\",\n xl: \"8\"\n }, {\n default: _withCtx(() => [\n _hoisted_6\n ]),\n _: 1\n }),\n _createVNode(_component_b_col, {\n cols: \"12\",\n sm: \"12\",\n md: \"4\",\n lg: \"4\",\n xl: \"4\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_item, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_input, {\n readonly: \"\",\n type: \"number\",\n value: _ctx.amount_to_be_paid,\n style: {\"text-align\":\"right\"}\n }, null, 8, [\"value\"])\n ]),\n _: 1\n })\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n _createVNode(_component_b_row, { style: {\"margin\":\"0\"} }, {\n default: _withCtx(() => [\n _createVNode(_component_b_col, {\n cols: \"12\",\n sm: \"12\",\n md: \"8\",\n lg: \"8\",\n xl: \"8\"\n }, {\n default: _withCtx(() => [\n _hoisted_7\n ]),\n _: 1\n }),\n _createVNode(_component_b_col, {\n cols: \"12\",\n sm: \"12\",\n md: \"4\",\n lg: \"4\",\n xl: \"4\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_item, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_input, {\n readonly: \"\",\n type: \"number\",\n value: _ctx.cash_back,\n style: {\"text-align\":\"right\"}\n }, null, 8, [\"value\"])\n ]),\n _: 1\n })\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n _createVNode(_component_b_row, { style: {\"margin\":\"0\",\"margin-top\":\"20px\"} }, {\n default: _withCtx(() => [\n _createVNode(_component_b_col, {\n cols: \"4\",\n sm: \"4\",\n md: \"4\",\n lg: \"4\",\n xl: \"4\"\n }, {\n default: _withCtx(() => [\n _hoisted_8\n ]),\n _: 1\n }),\n _createVNode(_component_b_col, {\n cols: \"2\",\n sm: \"2\",\n md: \"2\",\n lg: \"2\",\n xl: \"2\",\n style: {\"padding\":\"0 5px\"}\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"button\", {\n onClick: _cache[4] || (_cache[4] = ($event: any) => (_ctx.addCashAmount(0.05))),\n class: \"btn btn-danger btn_custom\",\n type: \"button\",\n style: {\"width\":\"100%\",\"height\":\"50px\",\"margin\":\"20px 0px\",\"margin-top\":\"0px\",\"background-color\":\"#02a9f4\",\"color\":\"white\"}\n }, \"0.05$\")\n ]),\n _: 1\n }),\n _createVNode(_component_b_col, {\n cols: \"2\",\n sm: \"2\",\n md: \"2\",\n lg: \"2\",\n xl: \"2\",\n style: {\"padding\":\"0 5px\"}\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"button\", {\n onClick: _cache[5] || (_cache[5] = ($event: any) => (_ctx.addCashAmount(0.1))),\n class: \"btn btn-danger btn_custom\",\n type: \"button\",\n style: {\"width\":\"100%\",\"height\":\"50px\",\"margin\":\"20px 0px\",\"margin-top\":\"0px\",\"background-color\":\"#02a9f4\",\"color\":\"white\"}\n }, \"0.10$\")\n ]),\n _: 1\n }),\n _createVNode(_component_b_col, {\n cols: \"2\",\n sm: \"2\",\n md: \"2\",\n lg: \"2\",\n xl: \"2\",\n style: {\"padding\":\"0 5px\"}\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"button\", {\n onClick: _cache[6] || (_cache[6] = ($event: any) => (_ctx.addCashAmount(0.25))),\n class: \"btn btn-danger btn_custom\",\n type: \"button\",\n style: {\"width\":\"100%\",\"height\":\"50px\",\"margin\":\"20px 0px\",\"margin-top\":\"0px\",\"background-color\":\"#02a9f4\",\"color\":\"white\"}\n }, \"0.25$\")\n ]),\n _: 1\n }),\n _createVNode(_component_b_col, {\n cols: \"2\",\n sm: \"2\",\n md: \"2\",\n lg: \"2\",\n xl: \"2\",\n style: {\"padding\":\"0 5px\"}\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"button\", {\n onClick: _cache[7] || (_cache[7] = ($event: any) => (_ctx.addCashAmount(1))),\n class: \"btn btn-danger btn_custom\",\n type: \"button\",\n style: {\"width\":\"100%\",\"height\":\"50px\",\"margin\":\"20px 0px\",\"margin-top\":\"0px\",\"background-color\":\"#02a9f4\",\"color\":\"white\"}\n }, \"1$\")\n ]),\n _: 1\n }),\n _createVNode(_component_b_col, {\n cols: \"2\",\n sm: \"2\",\n md: \"2\",\n lg: \"2\",\n xl: \"2\",\n style: {\"padding\":\"0 5px\"}\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"button\", {\n onClick: _cache[8] || (_cache[8] = ($event: any) => (_ctx.addCashAmount(2))),\n class: \"btn btn-danger btn_custom\",\n type: \"button\",\n style: {\"width\":\"100%\",\"height\":\"50px\",\"margin\":\"20px 0px\",\"margin-top\":\"0px\",\"background-color\":\"#02a9f4\",\"color\":\"white\"}\n }, \"2$\")\n ]),\n _: 1\n }),\n _createVNode(_component_b_col, {\n cols: \"2\",\n sm: \"2\",\n md: \"2\",\n lg: \"2\",\n xl: \"2\",\n style: {\"padding\":\"0 5px\"}\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"button\", {\n onClick: _cache[9] || (_cache[9] = ($event: any) => (_ctx.addCashAmount(5))),\n class: \"btn btn-danger btn_custom\",\n type: \"button\",\n style: {\"width\":\"100%\",\"height\":\"50px\",\"margin\":\"20px 0px\",\"margin-top\":\"0px\",\"background-color\":\"#02a9f4\",\"color\":\"white\"}\n }, \"5$\")\n ]),\n _: 1\n }),\n _createVNode(_component_b_col, {\n cols: \"2\",\n sm: \"2\",\n md: \"2\",\n lg: \"2\",\n xl: \"2\",\n style: {\"padding\":\"0 5px\"}\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"button\", {\n onClick: _cache[10] || (_cache[10] = ($event: any) => (_ctx.addCashAmount(10))),\n class: \"btn btn-danger btn_custom\",\n type: \"button\",\n style: {\"width\":\"100%\",\"height\":\"50px\",\"margin\":\"20px 0px\",\"margin-top\":\"0px\",\"background-color\":\"#02a9f4\",\"color\":\"white\"}\n }, \"10$\")\n ]),\n _: 1\n }),\n _createVNode(_component_b_col, {\n cols: \"2\",\n sm: \"2\",\n md: \"2\",\n lg: \"2\",\n xl: \"2\",\n style: {\"padding\":\"0 5px\"}\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"button\", {\n onClick: _cache[11] || (_cache[11] = ($event: any) => (_ctx.addCashAmount(20))),\n class: \"btn btn-danger btn_custom\",\n type: \"button\",\n style: {\"width\":\"100%\",\"height\":\"50px\",\"margin\":\"20px 0px\",\"margin-top\":\"0px\",\"background-color\":\"#02a9f4\",\"color\":\"white\"}\n }, \"20$\")\n ]),\n _: 1\n }),\n _createVNode(_component_b_col, {\n cols: \"2\",\n sm: \"2\",\n md: \"2\",\n lg: \"2\",\n xl: \"2\",\n style: {\"padding\":\"0 5px\"}\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"button\", {\n onClick: _cache[12] || (_cache[12] = ($event: any) => (_ctx.addCashAmount(50))),\n class: \"btn btn-danger btn_custom\",\n type: \"button\",\n style: {\"width\":\"100%\",\"height\":\"50px\",\"margin\":\"20px 0px\",\"margin-top\":\"0px\",\"background-color\":\"#02a9f4\",\"color\":\"white\"}\n }, \"50$\")\n ]),\n _: 1\n }),\n _createVNode(_component_b_col, {\n cols: \"2\",\n sm: \"2\",\n md: \"2\",\n lg: \"2\",\n xl: \"2\",\n style: {\"padding\":\"0 5px\"}\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"button\", {\n onClick: _cache[13] || (_cache[13] = ($event: any) => (_ctx.addCashAmount(100))),\n class: \"btn btn-danger btn_custom\",\n type: \"button\",\n style: {\"width\":\"100%\",\"height\":\"50px\",\"margin\":\"20px 0px\",\"margin-top\":\"0px\",\"background-color\":\"#02a9f4\",\"color\":\"white\"}\n }, \"100$\")\n ]),\n _: 1\n }),\n _createVNode(_component_b_col, {\n cols: \"12\",\n sm: \"12\",\n md: \"6\",\n lg: \"6\",\n xl: \"6\",\n style: {\"padding\":\"0 5px\"}\n }, {\n default: _withCtx(() => [\n _hoisted_9\n ]),\n _: 1\n }),\n _createVNode(_component_b_col, {\n cols: \"12\",\n sm: \"12\",\n md: \"6\",\n lg: \"6\",\n xl: \"6\",\n style: {\"padding\":\"0 5px\"}\n }, {\n default: _withCtx(() => [\n _hoisted_10\n ]),\n _: 1\n })\n ]),\n _: 1\n })\n ]),\n _: 1\n })\n ], 64))\n}","\r\n\timport { defineComponent } from 'vue';\r\n\timport { modalController, IonHeader, IonToolbar, IonTitle, IonButtons, IonButton, IonContent, IonItem, IonInput } from '@ionic/vue';\r\n import { useI18n } from 'vue-i18n';\r\n let translate;\r\n\texport default defineComponent({\r\n\t\tname: 'PayModal',\r\n\t\tcomponents: { IonHeader, IonToolbar, IonTitle, IonButtons, IonButton, IonContent, IonItem, IonInput },\r\n props: ['data', 'transaction_id', 'amount_paid', 'total_amount'],\r\n\t\tsetup()\r\n\t\t{\r\n\t\t\tconst closeModal = () => {\r\n\t\t\t\tmodalController.dismiss();\r\n\t\t\t};\r\n\t\t\tconst { t } = useI18n({\r\n\t\t\t\tinheritLocale: true,\r\n\t\t\t\tuseScope: 'global'\r\n\t\t\t});\r\n translate = t;\r\n\t\t\treturn { closeModal, t };\r\n\t\t},\r\n data()\r\n\t\t{\r\n\t\t\treturn {\r\n rounded_amount: '0.00',\r\n\t\t\t\tcash_amount: '0.00',\r\n card_amount: '0.00',\r\n amount_to_be_paid: '0.00',\r\n cash_back: '0.00'\r\n }\r\n },\r\n created()\r\n {\r\n this.rounded_amount = (Math.ceil((this.total_amount - this.amount_paid)*20 - 0.5)/20).toFixed(2)\r\n },\r\n watch: {\r\n 'cash_amount': {\r\n\t\t\t\thandler: async function(newValue) {\r\n if (newValue == '') {\r\n this.cash_amount = '0.00';\r\n return;\r\n }\r\n this.calculateAmounts(parseFloat(newValue), parseFloat(this.card_amount), true);\r\n\t\t\t\t},\r\n\t\t\t\tdeep: true\r\n\t\t\t},\r\n 'card_amount': {\r\n\t\t\t\thandler: async function(newValue) {\r\n if (newValue == '') {\r\n this.card_amount = '0.00';\r\n return;\r\n }\r\n this.calculateAmounts(parseFloat(this.cash_amount), parseFloat(newValue), false);\r\n\t\t\t\t},\r\n\t\t\t\tdeep: true\r\n\t\t\t}\r\n\t\t},\r\n methods: {\r\n number_format(n: number, c: number, d: string, t: string)\r\n {\r\n c = isNaN(c = Math.abs(c)) ? 2 : c;\r\n d = d == undefined ? \".\" : d;\r\n t = t == undefined ? \",\" : t;\r\n var s = n < 0 ? \"-\" : \"\",\r\n //@ts-ignore\r\n i = String(parseInt(n = Math.abs(Number(n) || 0).toFixed(c))),\r\n j = (j = i.length) > 3 ? j % 3 : 0;\r\n //@ts-ignore\r\n return s + (j ? i.substr(0, j) + t : \"\") + i.substr(j).replace(/(\\d{3})(?=\\d)/g, \"$1\" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : \"\");\r\n },\r\n onCashClicked()\r\n {\r\n if (this.cash_amount == '0.00' && this.card_amount == '0.00') {\r\n this.cash_amount = this.rounded_amount;\r\n }\r\n },\r\n onCardClicked()\r\n {\r\n if (this.cash_amount == '0.00' && this.card_amount == '0.00') {\r\n this.card_amount = this.number_format(this.total_amount - this.amount_paid, 2, '.', '');\r\n // this.cash_amount = '0.00';\r\n }\r\n },\r\n addCashAmount(amount)\r\n {\r\n this.cash_amount = this.number_format(parseFloat(this.cash_amount) + amount, 2, '.', '');\r\n },\r\n calculateAmounts(cash, card, editedCash)\r\n {\r\n const total_to_be_paid = (this.total_amount - this.amount_paid);\r\n const paying_amount = cash + card;\r\n //\r\n if (paying_amount >= total_to_be_paid && cash > 0 && card > 0) {\r\n this.cash_back = '0.00';\r\n if(cash > total_to_be_paid) {\r\n this.card_amount = '0.00';\r\n return;\r\n } else if (card > total_to_be_paid) {\r\n this.card_amount = this.number_format(total_to_be_paid, 2, '.', '');\r\n this.cash_amount = '0.00';\r\n return;\r\n } else {\r\n this.card_amount = this.number_format(total_to_be_paid - cash, 2, '.', '');\r\n return;\r\n }\r\n } else if(paying_amount < total_to_be_paid && cash > 0) {\r\n this.card_amount = this.number_format(total_to_be_paid - cash, 2, '.', '');\r\n return;\r\n }\r\n //\r\n this.amount_to_be_paid = this.number_format(paying_amount, 2, '.', '');\r\n //\r\n const difference = total_to_be_paid - paying_amount;\r\n if (difference < 0) {\r\n this.cash_back = this.number_format(difference * -1, 2, '.', '');\r\n } else {\r\n this.cash_back = '0.00';\r\n }\r\n }\r\n },\r\n computed: {\r\n\t\t\tdarkMode() {\r\n\t\t\t\treturn document.body.classList.contains('dark');\r\n\t\t\t}\r\n\t\t}\r\n });\r\n","import { render } from \"./PayModal.vue?vue&type=template&id=e86e0c36&ts=true\"\nimport script from \"./PayModal.vue?vue&type=script&lang=ts\"\nexport * from \"./PayModal.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"F:\\\\GitHub\\\\lexoh-parking-ionic\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\timport { defineComponent } from 'vue';\r\n\timport { modalController, IonItem, IonLabel, IonInput, IonSelect, IonSelectOption } from '@ionic/vue';\r\n import { useI18n } from 'vue-i18n';\r\n\timport DeviceModal from '@/components/DeviceModal.vue'\r\n import PayModal from '@/components/PayModal.vue'\r\n import ZoneService from '@/services/zone.service';\r\n import PricingService from '@/services/pricing.service';\r\n\texport default defineComponent({\r\n\t\tname: 'PosModal',\r\n\t\tcomponents: { IonItem, IonLabel, IonInput, IonSelect, IonSelectOption },\r\n props: ['data'],\r\n\t\tsetup()\r\n\t\t{\r\n\t\t\tconst closeModal = () => {\r\n\t\t\t\tmodalController.dismiss();\r\n\t\t\t};\r\n\t\t\tconst openDevice = async (device: any) => {\r\n\t\t\t\tconst modal = await modalController.create({\r\n\t\t\t\t\tcomponent: DeviceModal,\r\n\t\t\t\t\tcssClass: 'my-custom-class',\r\n\t\t\t\t\tcomponentProps: {\r\n\t\t\t\t\t\tdevice: device\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\treturn modal.present();\r\n\t\t\t};\r\n const openPay = async (big_total, amount_paid, transaction_id) => {\r\n const modal = await modalController.create({\r\n\t\t\t\t\tcomponent: PayModal,\r\n\t\t\t\t\tcssClass: 'my-custom-class',\r\n\t\t\t\t\tcomponentProps: {\r\n total_amount: big_total,\r\n amount_paid: amount_paid,\r\n transaction_id: transaction_id\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\treturn modal.present();\r\n };\r\n\t\t\tconst { t } = useI18n({\r\n\t\t\t\tinheritLocale: true,\r\n\t\t\t\tuseScope: 'global'\r\n\t\t\t});\r\n\t\t\treturn { closeModal, openDevice, openPay, t };\r\n\t\t},\r\n data()\r\n\t\t{\r\n\t\t\treturn {\r\n ticket_number : '',\r\n entrance_date: '',\r\n entrance_time: '',\r\n zone_id : 0,\r\n exit_date : '',\r\n exit_time : '',\r\n all_zones : [],\r\n details : {},\r\n price : 0,\r\n taxes : [],\r\n big_total : 0,\r\n use_daily_max_rate: false,\r\n use_weekly_max_rate: false,\r\n use_monthly_max_rate: false\r\n }\r\n },\r\n async mounted()\r\n {\r\n await this.loadZones();\r\n },\r\n\t\twatch: {\r\n\t\t\t'ticket_number': {\r\n\t\t\t\thandler: async function(newValue) {\r\n\t\t\t\t\t//TODO LOAD ENTRY FROM THIS\r\n\t\t\t\t},\r\n\t\t\t\tdeep: true\r\n\t\t\t},\r\n 'zone_id': {\r\n\t\t\t\thandler: async function(newValue) {\r\n\t\t\t\t\t//TODO LOAD ENTRY FROM THIS\r\n await this.checkCalculation();\r\n\t\t\t\t},\r\n\t\t\t\tdeep: true\r\n\t\t\t},\r\n 'entrance_date': {\r\n\t\t\t\thandler: async function(newValue) {\r\n\t\t\t\t\t//TODO LOAD ENTRY FROM THIS\r\n await this.checkCalculation();\r\n\t\t\t\t},\r\n\t\t\t\tdeep: true\r\n\t\t\t},\r\n 'entrance_time': {\r\n\t\t\t\thandler: async function(newValue) {\r\n\t\t\t\t\t//TODO LOAD ENTRY FROM THIS\r\n await this.checkCalculation();\r\n\t\t\t\t},\r\n\t\t\t\tdeep: true\r\n\t\t\t},\r\n 'exit_date': {\r\n\t\t\t\thandler: async function(newValue) {\r\n\t\t\t\t\t//TODO LOAD ENTRY FROM THIS\r\n await this.checkCalculation();\r\n\t\t\t\t},\r\n\t\t\t\tdeep: true\r\n\t\t\t},\r\n 'exit_time': {\r\n\t\t\t\thandler: async function(newValue) {\r\n\t\t\t\t\t//TODO LOAD ENTRY FROM THIS\r\n await this.checkCalculation();\r\n\t\t\t\t},\r\n\t\t\t\tdeep: true\r\n\t\t\t}\r\n\t\t},\r\n methods: {\r\n number_format(n: number, c: number, d: string, t: string)\r\n {\r\n c = isNaN(c = Math.abs(c)) ? 2 : c;\r\n d = d == undefined ? \".\" : d;\r\n t = t == undefined ? \",\" : t;\r\n var s = n < 0 ? \"-\" : \"\",\r\n //@ts-ignore\r\n i = String(parseInt(n = Math.abs(Number(n) || 0).toFixed(c))),\r\n j = (j = i.length) > 3 ? j % 3 : 0;\r\n //@ts-ignore\r\n return s + (j ? i.substr(0, j) + t : \"\") + i.substr(j).replace(/(\\d{3})(?=\\d)/g, \"$1\" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : \"\");\r\n },\r\n\t\t\tasync loadZones()\r\n\t\t\t{\r\n\t\t\t\tconst response = await ZoneService.getForFilters();\r\n\t\t\t\tif (response.count > 0)\r\n\t\t\t\t{\r\n\t\t\t\t\tthis.all_zones = response.zones;\r\n\t\t\t\t}\r\n\t\t\t},\r\n async checkCalculation()\r\n {\r\n if (this.zone_id > 0 && this.entrance_date != '' && this.entrance_time != '' && this.exit_date != '' && this.exit_time != '') {\r\n await this.calculate(this.zone_id, this.entrance_date + ' ' + this.entrance_time, this.exit_date + ' ' + this.exit_time)\r\n }\r\n },\r\n async calculate(zone_id, entrance, exit)\r\n {\r\n const response = await PricingService.calculatePricing(zone_id, entrance, exit);\r\n if (response.success) {\r\n this.price = response.price;\r\n this.taxes = response.taxes;\r\n this.big_total = response.big_total;\r\n this.details = response.details;\r\n this.use_daily_max_rate = response.use_daily_max_rate;\r\n this.use_weekly_max_rate = response.use_weekly_max_rate;\r\n this.use_monthly_max_rate = response.use_monthly_max_rate;\r\n }\r\n }\r\n },\r\n\t\tcomputed: {\r\n\t\t\tdarkMode() {\r\n\t\t\t\treturn document.body.classList.contains('dark');\r\n\t\t\t},\r\n\t\t\tisTechnician() {\r\n\t\t\t\t//@ts-ignore\r\n\t\t\t\treturn this.$store.state.auth.user.role == 1;\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n","import { render } from \"./PosModal.vue?vue&type=template&id=074c09fb&ts=true\"\nimport script from \"./PosModal.vue?vue&type=script&lang=ts\"\nexport * from \"./PosModal.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"F:\\\\GitHub\\\\lexoh-parking-ionic\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\timport { defineComponent } from 'vue';\r\n\timport { IonIcon, modalController } from '@ionic/vue';\r\n\timport { useI18n } from 'vue-i18n';\r\n\timport { pieChartOutline, hardwareChipOutline, cartOutline, mapOutline, videocamOutline, personOutline, ticketOutline, documentTextOutline, statsChartOutline, cashOutline, calendarOutline, notificationsOutline, cogOutline } from 'ionicons/icons';\r\n\timport PosModal from '@/components/PosModal.vue'\r\n\texport default defineComponent({\r\n\t\tname: 'SideMenu',\r\n\t\tcomponents: { IonIcon },\r\n\t\tsetup() {\r\n\t\t\tconst { t } = useI18n({\r\n\t\t\t\tinheritLocale: true,\r\n\t\t\t\tuseScope: 'global'\r\n\t\t\t});\r\n\t\t\tconst openPOS = async () => {\r\n\t\t\t\tconst modal = await modalController.create({\r\n\t\t\t\t\tcomponent: PosModal,\r\n\t\t\t\t\tcssClass: 'my-custom-class',\r\n\t\t\t\t\tcomponentProps: {\r\n\t\t\t\t\t\ttransaction: null\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\treturn modal.present();\r\n\t\t\t};\r\n\t\t\treturn {\r\n\t\t\t\tpieChartOutline,\r\n\t\t\t\thardwareChipOutline,\r\n\t\t\t\tmapOutline,\r\n\t\t\t\tcartOutline,\r\n\t\t\t\tvideocamOutline,\r\n\t\t\t\tpersonOutline,\r\n\t\t\t\tticketOutline,\r\n\t\t\t\tdocumentTextOutline,\r\n\t\t\t\tstatsChartOutline,\r\n\t\t\t\tcashOutline,\r\n\t\t\t\tcalendarOutline,\r\n\t\t\t\tnotificationsOutline,\r\n\t\t\t\tcogOutline,\r\n\t\t\t\tt,\r\n\t\t\t\topenPOS\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n","import { render } from \"./SideMenu.vue?vue&type=template&id=12a29581&scoped=true&ts=true\"\nimport script from \"./SideMenu.vue?vue&type=script&lang=ts\"\nexport * from \"./SideMenu.vue?vue&type=script&lang=ts\"\n\nimport \"./SideMenu.vue?vue&type=style&index=0&id=12a29581&scoped=true&lang=css\"\n\nimport exportComponent from \"F:\\\\GitHub\\\\lexoh-parking-ionic\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-12a29581\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, unref as _unref, withCtx as _withCtx, createVNode as _createVNode, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-c0c2b458\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"slide\" }, [\n /*#__PURE__*/_createElementVNode(\"img\", { src: \"/assets/slide-1.png\" }),\n /*#__PURE__*/_createElementVNode(\"h2\", null, \"Welcome\"),\n /*#__PURE__*/_createElementVNode(\"p\", null, [\n /*#__PURE__*/_createTextVNode(\" The \"),\n /*#__PURE__*/_createElementVNode(\"b\", null, \"ionic conference app\"),\n /*#__PURE__*/_createTextVNode(\" is a practical preview of the ionic framework in action, and a demonstration of proper code use. \")\n ])\n], -1))\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"img\", { src: \"/assets/slide-2.png\" }, null, -1))\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h2\", null, \"What is Ionic?\", -1))\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", null, [\n /*#__PURE__*/_createElementVNode(\"b\", null, \"Ionic Framework\"),\n /*#__PURE__*/_createTextVNode(\" is an open source SDK that enables developers to build high quality mobile apps with web technologies like HTML, CSS, and JavaScript. \")\n], -1))\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"img\", { src: \"/assets/slide-3.png\" }, null, -1))\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h2\", null, \"What is Appflow?\", -1))\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", null, [\n /*#__PURE__*/_createElementVNode(\"b\", null, \"Appflow\"),\n /*#__PURE__*/_createTextVNode(\" is a powerful set of services and features built on top of Ionic Framework that brings a totally new level of app development agility to mobile dev teams. \")\n], -1))\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"img\", { src: \"/assets/slide-4.png\" }, null, -1))\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h2\", null, \"Ready to Play?\", -1))\nconst _hoisted_10 = /*#__PURE__*/_createTextVNode(\"Continue \")\n\n\r\n\timport { IonSlides, IonSlide, IonButton, IonIcon } from \"@ionic/vue\";\r\n\timport { defineComponent } from 'vue';\r\n\timport { arrowForward } from 'ionicons/icons';\r\n\tconst __default__ = defineComponent({\r\n\t\tname: 'IntroPage',\r\n\t\tcomponents: { IonSlides, IonSlide, IonButton, IonIcon },\r\n\t\tsetup()\r\n\t\t{\r\n\t\t\treturn { arrowForward }\r\n\t\t},\r\n\t\tmethods: {\r\n\t\t\tskipIntroPage()\r\n\t\t\t{\r\n\t\t\t\tlocalStorage.setItem('skip_intro', '1');\r\n\t\t\t\twindow.location.href = '/';\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\nimport { useI18n } from 'vue-i18n'\r\n\t\nexport default /*#__PURE__*/_defineComponent({\n ...__default__,\n setup(__props) {\n\r\n\tconst { t } = useI18n({\r\n\t\tinheritLocale: true,\r\n\t\tuseScope: 'global'\r\n\t})\r\n\nreturn (_ctx: any,_cache: any) => {\n const _component_ion_content = _resolveComponent(\"ion-content\")!\n\n return (_openBlock(), _createBlock(_component_ion_content, {\n fullscreen: \"\",\n \"scroll-y\": \"false\"\n }, {\n default: _withCtx(() => [\n _createVNode(_unref(IonSlides), null, {\n default: _withCtx(() => [\n _createVNode(_unref(IonSlide), null, {\n default: _withCtx(() => [\n _hoisted_1\n ]),\n _: 1\n }),\n _createVNode(_unref(IonSlide), null, {\n default: _withCtx(() => [\n _hoisted_2,\n _hoisted_3,\n _hoisted_4\n ]),\n _: 1\n }),\n _createVNode(_unref(IonSlide), null, {\n default: _withCtx(() => [\n _hoisted_5,\n _hoisted_6,\n _hoisted_7\n ]),\n _: 1\n }),\n _createVNode(_unref(IonSlide), null, {\n default: _withCtx(() => [\n _hoisted_8,\n _hoisted_9,\n _createVNode(_unref(IonButton), {\n fill: \"clear\",\n onClick: _ctx.skipIntroPage\n }, {\n default: _withCtx(() => [\n _hoisted_10,\n _createVNode(_unref(IonIcon), {\n icon: _unref(arrowForward),\n slot: \"end\"\n }, null, 8, [\"icon\"])\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ]),\n _: 1\n })\n ]),\n _: 1\n })\n ]),\n _: 1\n }))\n}\n}\n\n})","import script from \"./IntroPage.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./IntroPage.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./IntroPage.vue?vue&type=style&index=0&id=c0c2b458&scoped=true&lang=css\"\n\nimport exportComponent from \"F:\\\\GitHub\\\\lexoh-parking-ionic\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-c0c2b458\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, resolveComponent as _resolveComponent, createVNode as _createVNode, withCtx as _withCtx, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, withModifiers as _withModifiers, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-1d04f48a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"login-page\" }\nconst _hoisted_2 = { class: \"login_layout\" }\nconst _hoisted_3 = { class: \"login_layout_inner\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"header\", null, [\n /*#__PURE__*/_createElementVNode(\"div\", { class: \"inner\" }, [\n /*#__PURE__*/_createElementVNode(\"div\", { class: \"content\" }, [\n /*#__PURE__*/_createElementVNode(\"div\", null, [\n /*#__PURE__*/_createElementVNode(\"div\", null, [\n /*#__PURE__*/_createElementVNode(\"img\", {\n src: \"/assets/logo_white.png\",\n width: \"125\"\n }),\n /*#__PURE__*/_createElementVNode(\"div\", { style: {\"position\":\"relative\",\"top\":\"5px\",\"left\":\"5px\"} }, \"Manager\")\n ])\n ])\n ])\n ])\n], -1))\nconst _hoisted_5 = { class: \"container\" }\nconst _hoisted_6 = { class: \"layout_content\" }\nconst _hoisted_7 = { class: \"main_inner\" }\nconst _hoisted_8 = { class: \"input-item\" }\nconst _hoisted_9 = { class: \"input-item\" }\nconst _hoisted_10 = { class: \"input-item\" }\nconst _hoisted_11 = {\n class: \"custom_theme_container\",\n style: {\"margin-top\":\"15px\"}\n}\nconst _hoisted_12 = { class: \"custom_theme_input_group\" }\nconst _hoisted_13 = {\n for: \"remember\",\n style: {\"padding-top\":\"2px\"}\n}\nconst _hoisted_14 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_15 = {\n key: 0,\n class: \"alert alert-danger\",\n role: \"alert\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_b_form_input = _resolveComponent(\"b-form-input\")!\n const _component_b_form_select = _resolveComponent(\"b-form-select\")!\n const _component_b_form_checkbox = _resolveComponent(\"b-form-checkbox\")!\n const _component_b_button = _resolveComponent(\"b-button\")!\n const _component_ion_content = _resolveComponent(\"ion-content\")!\n\n return (_openBlock(), _createBlock(_component_ion_content, {\n fullscreen: \"\",\n \"scroll-y\": \"false\",\n style: {\"background-color\":\"white\",\"overflow\":\"auto\"}\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _hoisted_4,\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"main\", null, [\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"form\", {\n class: \"login-form\",\n onSubmit: _cache[4] || (_cache[4] = _withModifiers(\n//@ts-ignore\n(...args) => (_ctx.handleLogin && _ctx.handleLogin(...args)), [\"prevent\"]))\n }, [\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.t('username')), 1),\n _createVNode(_component_b_form_input, {\n modelValue: _ctx.username,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.username) = $event)),\n name: \"username\",\n placeholder: _ctx.t('username')\n }, null, 8, [\"modelValue\", \"placeholder\"])\n ]),\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.t('password')), 1),\n _createVNode(_component_b_form_input, {\n modelValue: _ctx.password,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.password) = $event)),\n type: \"password\",\n name: \"password\",\n placeholder: _ctx.t('password')\n }, null, 8, [\"modelValue\", \"placeholder\"])\n ]),\n _createElementVNode(\"div\", _hoisted_10, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.t('language')), 1),\n _createVNode(_component_b_form_select, {\n modelValue: _ctx.language,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_ctx.language) = $event)),\n options: _ctx.languageOptions\n }, null, 8, [\"modelValue\", \"options\"])\n ]),\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"div\", _hoisted_12, [\n _createVNode(_component_b_form_checkbox, {\n modelValue: _ctx.remember,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((_ctx.remember) = $event)),\n value: \"1\",\n \"unchecked-value\": \"0\",\n name: \"check-button\",\n switch: \"\",\n id: \"remember\"\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"label\", _hoisted_13, \"   \" + _toDisplayString(_ctx.t('remember_username')), 1)\n ]),\n _: 1\n }, 8, [\"modelValue\"]),\n _hoisted_14\n ])\n ]),\n (_ctx.message)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_15, _toDisplayString(_ctx.message), 1))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_b_button, {\n disabled: _ctx.loading,\n type: \"submit\",\n variant: \"primary\",\n size: \"lg\",\n class: \"btn-block\",\n style: {\"width\":\"100%\"}\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('login')), 1)\n ]),\n _: 1\n }, 8, [\"disabled\"])\n ], 32)\n ])\n ])\n ])\n ])\n ])\n ])\n ])\n ])\n ]),\n _: 1\n }))\n}","\r\n\timport { defineComponent } from 'vue';\r\n\timport { useI18n } from 'vue-i18n';\r\n\timport { IonContent } from '@ionic/vue';\r\n\tlet translate;\r\n\texport default defineComponent({\r\n\t\tname: 'LoginPage',\r\n\t\tcomponents: { IonContent },\r\n\t\tsetup() {\r\n\t\t\tconst { t } = useI18n({\r\n\t\t\t\tinheritLocale: true,\r\n\t\t\t\tuseScope: 'global'\r\n\t\t\t});\r\n\t\t\ttranslate = t;\r\n\t\t\treturn { t };\r\n\t\t},\r\n\t\tdata() {\r\n\t\t\tvar locale = localStorage.getItem('locale');\r\n\t\t\t//@ts-ignore\r\n\t\t\tif (typeof locale == 'undefined' || locale == false || locale == null) {\r\n\t\t\t\tlocale = 'fr';\r\n\t\t\t}\r\n\t\t\treturn {\r\n\t\t\t\tusername: '',\r\n\t\t\t\tpassword: '',\r\n\t\t\t\tremember: '0',\r\n\t\t\t\tloading: false,\r\n\t\t\t\tmessage: '',\r\n\t\t\t\tsuccessful: false,\r\n\t\t\t\thostname: '',\r\n\t\t\t\tlanguage: locale,\r\n\t\t\t\tlanguageOptions: [\r\n\t\t\t\t\t{ value: 'en', text: 'English' },\r\n\t\t\t\t\t{ value: 'fr', text: 'Français' },\r\n\t\t\t\t]\r\n\t\t\t}\r\n\t\t},\r\n\t\tmounted()\r\n\t\t{\r\n\t\t\tthis.hostname = 'http://' + window.location.hostname + ':3000/v1/';\r\n\t\t\tthis.username = localStorage.getItem('username') || \"\";\r\n\t\t\tthis.remember = this.username == \"\" ? \"0\" : \"1\";\r\n\t\t\tthis.deleteAllCookies();\r\n\t\t\tsessionStorage.clear();\r\n\t\t\tlocalStorage.removeItem('token');\r\n\t\t\tlocalStorage.removeItem('user');\r\n\t\t},\r\n\t\tmethods: {\r\n\t\t\tdeleteAllCookies() {\r\n\t\t\t\tconst cookies = document.cookie.split(\";\");\r\n\t\t\t\tfor (let i = 0; i < cookies.length; i++) {\r\n\t\t\t\t\tconst cookie = cookies[i];\r\n\t\t\t\t\tconst eqPos = cookie.indexOf(\"=\");\r\n\t\t\t\t\tconst name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie;\r\n\t\t\t\t\tdocument.cookie = name + \"=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/\";\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\thandleLogin()\r\n\t\t\t{\r\n\t\t\t\tthis.loading = true;\r\n\t\t\t\t//@ts-ignore\r\n\t\t\t\t//validate fields...\r\n\t\t\t\tvar isValid = true;\r\n\t\t\t\tif (!isValid)\r\n\t\t\t\t{\r\n\t\t\t\t\tthis.loading = false;\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tif (this.username && this.password)\r\n\t\t\t\t{\r\n\t\t\t\t\tlocalStorage.setItem('locale', this.language);\r\n\t\t\t\t\t//@ts-ignore\r\n\t\t\t\t\t// this.$store.dispatch('auth/register', { username: this.username, password: this.password, email: 'sylvainmartens@gmail.com' }).then(() =>\r\n\t\t\t\t\t// {\r\n\t\t\t\t\t// \tconsole.log('ok');\r\n\t\t\t\t\t// //@ts-ignore\r\n\t\t\t\t\t// }, error => {\r\n\t\t\t\t\t// \tconsole.log('error');\r\n\t\t\t\t\t// });\r\n\t\t\t\t\t//@ts-ignore\r\n\t\t\t\t\tthis.$store.dispatch('auth/login', { username: this.username.toLocaleLowerCase(), password: this.password }).then((result) =>\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t//@ts-ignore\r\n\t\t\t\t\t\tthis.$store.dispatch('user/get', {}).then((response) =>\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t//@ts-ignore\r\n\t\t\t\t\t\t\tthis.$store.state.auth.user = JSON.parse(localStorage.getItem('user'));\r\n\t\t\t\t\t\t\tif(this.remember == \"1\") {\r\n\t\t\t\t\t\t\t\tlocalStorage.setItem('username', this.username.toLocaleLowerCase());\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tthis.message = \"\";\r\n\t\t\t\t\t\t\tthis.successful = true;\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t//@ts-ignore\r\n\t\t\t\t\t\terror =>\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tthis.loading = false;\r\n\t\t\t\t\t\t\tthis.message = (error.response && error.response.data && error.response.data.errors && error.response.data.errors.message) ? error.response.data.errors.message : error.toString();\r\n\t\t\t\t\t\t\tthis.message = translate(this.message);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t},\r\n\t\t\t\t\t//@ts-ignore\r\n\t\t\t\t\terror =>\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tthis.loading = false;\r\n\t\t\t\t\t\tthis.message = (error.response && error.response.data && error.response.data.errors && error.response.data.errors.message) ? error.response.data.errors.message : error.toString();\r\n\t\t\t\t\t\tthis.message = translate(this.message);\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n","import { render } from \"./LoginPage.vue?vue&type=template&id=1d04f48a&scoped=true&ts=true\"\nimport script from \"./LoginPage.vue?vue&type=script&lang=ts\"\nexport * from \"./LoginPage.vue?vue&type=script&lang=ts\"\n\nimport \"./LoginPage.vue?vue&type=style&index=0&id=1d04f48a&scoped=true&lang=css\"\n\nimport exportComponent from \"F:\\\\GitHub\\\\lexoh-parking-ionic\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-1d04f48a\"]])\n\nexport default __exports__","// Copyright 2022 Lexoh Inc. All rights reserved.\r\n// NOTICE: All information contained herein is, and remains the property of\r\n// Lexoh Inc. The intellectual and technical concepts contained herein are\r\n// proprietary to Lexoh Inc and may be covered by Canada and Foreign Patents, patents\r\n// in process, and are protected by trade secret or copyright law. Dissemination\r\n// of this information or reproduction of this material is strictly forbidden\r\n// unless prior written permission is obtained from Lexoh Inc. Access to the source\r\n// code contained herein is hereby forbidden to anyone except current Lexoh Inc\r\n// employees, managers or contractors who have executed Confidentiality and\r\n// Non-disclosure agreements explicitly covering such access.\r\n//Thermal.js\r\nif(typeof String.toBytes == 'undefined')\r\n{\r\n\tString.prototype.toBytes = function()\r\n\t{\r\n\t\tvar arr = [];\r\n\t\tfor (var i = 0; i < this.length; i++)\r\n\t\t{\r\n\t\t\tarr.push(this[i].charCodeAt(0));\r\n\t\t}\r\n\t\treturn arr;\r\n\t}\r\n}\r\n\r\nif(typeof String.hexToBytes == 'undefined')\r\n{\r\n\tString.prototype.hexToBytes = function()\r\n\t{\r\n\t\tfor (var bytes = [], c = 0; c < this.length; c += 2) bytes.push(parseInt(this.substr(c, 2), 16));\r\n\t\treturn bytes;\r\n\t}\r\n}\r\n\r\n// function hexToBytes(hex) {\r\n// \tfor (var bytes = [], c = 0; c < hex.length; c += 2) bytes.push(parseInt(hex.substr(c, 2), 16));\r\n// \treturn bytes;\r\n// }\r\n\r\nconst EpsonConfig = {\r\n\t// Feed control sequences\r\n\tCTL_LF: [0x0a], // Print and line feed\r\n\tCTL_FF: [0x0c], // Form feed\r\n\tCTL_CR: [0x0d], // Carriage return\r\n\tCTL_HT: [0x09], // Horizontal tab\r\n\tCTL_SET_HT: [0x1b, 0x44], // Set horizontal tab positions\r\n\tCTL_VT: [0x1b, 0x64, 0x04], // Vertical tab\r\n\r\n\t// Printer hardware\r\n\tHW_INIT: [0x1b, 0x40], // Clear data in buffer and reset modes\r\n\tHW_SELECT: [0x1b, 0x3d, 0x01], // Printer select\r\n\tHW_RESET: [0x1b, 0x3f, 0x0a, 0x00], // Reset printer hardware\r\n\tBEEP: [0x1b, 0x1e], // Sounds built-in buzzer (if equipped)\r\n\tUPSIDE_DOWN_ON: [0x1b, 0x7b, 0x01], // Upside down printing ON (rotated 180 degrees).\r\n\tUPSIDE_DOWN_OFF: [0x1b, 0x7b, 0x00], // Upside down printing OFF (default).\r\n\r\n\t// Cash Drawer\r\n\tCD_KICK_2: [0x1b, 0x70, 0x00], // Sends a pulse to pin 2 []\r\n\tCD_KICK_5: [0x1b, 0x70, 0x01], // Sends a pulse to pin 5 []\r\n\r\n\t// Paper\r\n\tPAPER_FULL_CUT: [0x1d, 0x56, 0x00], // Full cut paper\r\n\tPAPER_PART_CUT: [0x1d, 0x56, 0x01], // Partial cut paper\r\n\r\n\t// Text format\r\n\tTXT_NORMAL: [0x1b, 0x21, 0x00], // Normal text\r\n\tTXT_2HEIGHT: [0x1b, 0x21, 0x10], // Double height text\r\n\tTXT_2WIDTH: [0x1b, 0x21, 0x20], // Double width text\r\n\tTXT_4SQUARE: [0x1b, 0x21, 0x30], // Quad area text\r\n\tTXT_UNDERL_OFF: [0x1b, 0x2d, 0x00], // Underline font OFF\r\n\tTXT_UNDERL_ON: [0x1b, 0x2d, 0x01], // Underline font 1-dot ON\r\n\tTXT_UNDERL2_ON: [0x1b, 0x2d, 0x02], // Underline font 2-dot ON\r\n\tTXT_BOLD_OFF: [0x1b, 0x45, 0x00], // Bold font OFF\r\n\tTXT_BOLD_ON: [0x1b, 0x45, 0x01], // Bold font ON\r\n\tTXT_INVERT_OFF: [0x1d, 0x42, 0x00], // Invert font OFF (eg. white background)\r\n\tTXT_INVERT_ON: [0x1d, 0x42, 0x01], // Invert font ON (eg. black background)\r\n\tTXT_FONT_A: [0x1b, 0x4d, 0x00], // Font type A\r\n\tTXT_FONT_B: [0x1b, 0x4d, 0x01], // Font type B\r\n\tTXT_ALIGN_LT: [0x1b, 0x61, 0x00], // Left justification\r\n\tTXT_ALIGN_CT: [0x1b, 0x61, 0x01], // Centering\r\n\tTXT_ALIGN_RT: [0x1b, 0x61, 0x02], // Right justification\r\n\r\n\t// All code pages supported by printer.\r\n\tCODE_PAGE_PC437_USA: [0x1b, 0x74, 0],\r\n\tCODE_PAGE_KATAKANA: [0x1b, 0x74, 1],\r\n\tCODE_PAGE_PC850_MULTILINGUAL: [0x1b, 0x74, 2],\r\n\tCODE_PAGE_PC860_PORTUGUESE: [0x1b, 0x74, 3],\r\n\tCODE_PAGE_PC863_CANADIAN_FRENCH: [0x1b, 0x74, 4],\r\n\tCODE_PAGE_PC865_NORDIC: [0x1b, 0x74, 5],\r\n\tCODE_PAGE_PC851_GREEK: [0x1b, 0x74, 11],\r\n\tCODE_PAGE_PC853_TURKISH: [0x1b, 0x74, 12],\r\n\tCODE_PAGE_PC857_TURKISH: [0x1b, 0x74, 13],\r\n\tCODE_PAGE_PC737_GREEK: [0x1b, 0x74, 14],\r\n\tCODE_PAGE_ISO8859_7_GREEK: [0x1b, 0x74, 15],\r\n\tCODE_PAGE_WPC1252: [0x1b, 0x74, 16],\r\n\tCODE_PAGE_PC866_CYRILLIC2: [0x1b, 0x74, 17],\r\n\tCODE_PAGE_PC852_LATIN2: [0x1b, 0x74, 18],\r\n\tCODE_PAGE_SLOVENIA: [0x1b, 0x74, 18],\r\n\tCODE_PAGE_PC858_EURO: [0x1b, 0x74, 19],\r\n\tCODE_PAGE_KU42_THAI: [0x1b, 0x74, 20],\r\n\tCODE_PAGE_TIS11_THAI: [0x1b, 0x74, 21],\r\n\tCODE_PAGE_TIS18_THAI: [0x1b, 0x74, 26],\r\n\tCODE_PAGE_TCVN3_VIETNAMESE_L: [0x1b, 0x74, 30],\r\n\tCODE_PAGE_TCVN3_VIETNAMESE_U: [0x1b, 0x74, 31],\r\n\tCODE_PAGE_PC720_ARABIC: [0x1b, 0x74, 32],\r\n\tCODE_PAGE_WPC775_BALTIC_RIM: [0x1b, 0x74, 33],\r\n\tCODE_PAGE_PC855_CYRILLIC: [0x1b, 0x74, 34],\r\n\tCODE_PAGE_PC861_ICELANDIC: [0x1b, 0x74, 35],\r\n\tCODE_PAGE_PC862_HEBREW: [0x1b, 0x74, 36],\r\n\tCODE_PAGE_PC864_ARABIC: [0x1b, 0x74, 37],\r\n\tCODE_PAGE_PC869_GREEK: [0x1b, 0x74, 38],\r\n\tCODE_PAGE_ISO8859_2_LATIN2: [0x1b, 0x74, 39],\r\n\tCODE_PAGE_ISO8859_15_LATIN9: [0x1b, 0x74, 40],\r\n\tCODE_PAGE_PC1098_FARCI: [0x1b, 0x74, 41],\r\n\tCODE_PAGE_PC1118_LITHUANIAN: [0x1b, 0x74, 42],\r\n\tCODE_PAGE_PC1119_LITHUANIAN: [0x1b, 0x74, 43],\r\n\tCODE_PAGE_PC1125_UKRANIAN: [0x1b, 0x74, 44],\r\n\tCODE_PAGE_WPC1250_LATIN2: [0x1b, 0x74, 45],\r\n\tCODE_PAGE_WPC1251_CYRILLIC: [0x1b, 0x74, 46],\r\n\tCODE_PAGE_WPC1253_GREEK: [0x1b, 0x74, 47],\r\n\tCODE_PAGE_WPC1254_TURKISH: [0x1b, 0x74, 48],\r\n\tCODE_PAGE_WPC1255_HEBREW: [0x1b, 0x74, 49],\r\n\tCODE_PAGE_WPC1256_ARABIC: [0x1b, 0x74, 50],\r\n\tCODE_PAGE_WPC1257_BALTIC_RIM: [0x1b, 0x74, 51],\r\n\tCODE_PAGE_WPC1258_VIETNAMESE: [0x1b, 0x74, 52],\r\n\tCODE_PAGE_KZ1048_KAZAKHSTAN: [0x1b, 0x74, 53],\r\n\tCODE_PAGE_JAPAN: [0x1b, 0x52, 0x08],\r\n\tCODE_PAGE_KOREA: [0x1b, 0x52, 0x0D],\r\n\tCODE_PAGE_CHINA: [0x1b, 0x52, 0x0F],\r\n\tCODE_PAGE_HK_TW: [0x1b, 0x52, 0x00],\r\n\tCODE_PAGE_TCVN_VIETNAMESE: [0x1b, 0x74, 52],\r\n\r\n\t// Character code pages / iconv name of code table.\r\n\t// Only code pages supported by iconv-lite:\r\n\t// https://github.com/ashtuchkin/iconv-lite/wiki/Supported-Encodings\r\n\tCODE_PAGES: {\r\n\t\tPC437_USA: 'CP437',\r\n\t\tPC850_MULTILINGUAL: 'CP850',\r\n\t\tPC860_PORTUGUESE: 'CP860',\r\n\t\tPC863_CANADIAN_FRENCH: 'CP863',\r\n\t\tPC865_NORDIC: 'CP865',\r\n\t\tPC851_GREEK: 'CP860',\r\n\t\tPC857_TURKISH: 'CP857',\r\n\t\tPC737_GREEK: 'CP737',\r\n\t\tISO8859_7_GREEK: 'ISO-8859-7',\r\n\t\tWPC1252: 'CP1252',\r\n\t\tPC866_CYRILLIC2: 'CP866',\r\n\t\tPC852_LATIN2: 'CP852',\r\n\t\tSLOVENIA: 'CP852',\r\n\t\tPC858_EURO: 'CP858',\r\n\t\tWPC775_BALTIC_RIM: 'CP775',\r\n\t\tPC855_CYRILLIC: 'CP855',\r\n\t\tPC861_ICELANDIC: 'CP861',\r\n\t\tPC862_HEBREW: 'CP862',\r\n\t\tPC864_ARABIC: 'CP864',\r\n\t\tPC869_GREEK: 'CP869',\r\n\t\tISO8859_2_LATIN2: 'ISO-8859-2',\r\n\t\tISO8859_15_LATIN9: 'ISO-8859-15',\r\n\t\tPC1125_UKRANIAN: 'CP1125',\r\n\t\tWPC1250_LATIN2: 'WIN1250',\r\n\t\tWPC1251_CYRILLIC: 'WIN1251',\r\n\t\tWPC1253_GREEK: 'WIN1253',\r\n\t\tWPC1254_TURKISH: 'WIN1254',\r\n\t\tWPC1255_HEBREW: 'WIN1255',\r\n\t\tWPC1256_ARABIC: 'WIN1256',\r\n\t\tWPC1257_BALTIC_RIM: 'WIN1257',\r\n\t\tWPC1258_VIETNAMESE: 'WIN1258',\r\n\t\tKZ1048_KAZAKHSTAN: 'RK1048',\r\n\t\tJAPAN: 'EUC-JP',\r\n\t\tKOREA: 'EUC-KR',\r\n\t\tCHINA: 'EUC-CN',\r\n\t\tHK_TW: 'Big5-HKSCS',\r\n\t\tTCVN_VIETNAMESE: 'tcvn'\r\n\t},\r\n\r\n\t// Barcode format\r\n\tBARCODE_TXT_OFF: [0x1d, 0x48, 0x00], // HRI barcode chars OFF\r\n\tBARCODE_TXT_ABV: [0x1d, 0x48, 0x01], // HRI barcode chars above\r\n\tBARCODE_TXT_BLW: [0x1d, 0x48, 0x02], // HRI barcode chars below\r\n\tBARCODE_TXT_BTH: [0x1d, 0x48, 0x03], // HRI barcode chars both above and below\r\n\tBARCODE_FONT_A: [0x1d, 0x66, 0x00], // Font type A for HRI barcode chars\r\n\tBARCODE_FONT_B: [0x1d, 0x66, 0x01], // Font type B for HRI barcode chars\r\n\tBARCODE_HEIGHT: [0x1d, 0x68, 0x64], // Barcode Height [1-255]\r\n\tBARCODE_WIDTH: [0x1d, 0x77, 0x03], // Barcode Width [2-6]\r\n\tBARCODE_UPC_A: [0x1d, 0x6b, 0x00], // Barcode type UPC-A\r\n\tBARCODE_UPC_E: [0x1d, 0x6b, 0x01], // Barcode type UPC-E\r\n\tBARCODE_EAN13: [0x1d, 0x6b, 0x02], // Barcode type EAN13\r\n\tBARCODE_EAN8: [0x1d, 0x6b, 0x03], // Barcode type EAN8\r\n\tBARCODE_CODE39: [0x1d, 0x6b, 0x04], // Barcode type CODE39\r\n\tBARCODE_CODE128: [0x1d, 0x6b, 0x49], // Barcode type CODE128\r\n\tBARCODE_ITF: [0x1d, 0x6b, 0x05], // Barcode type ITF\r\n\tBARCODE_NW7: [0x1d, 0x6b, 0x06], // Barcode type NW7\r\n\r\n\t// QR Code\r\n\tQRCODE_MODEL1: [0x1d, 0x28, 0x6b, 0x04, 0x00, 0x31, 0x41, 0x31, 0x00], // Model 1\r\n\tQRCODE_MODEL2: [0x1d, 0x28, 0x6b, 0x04, 0x00, 0x31, 0x41, 0x32, 0x00], // Model 2\r\n\tQRCODE_MODEL3: [0x1d, 0x28, 0x6b, 0x04, 0x00, 0x31, 0x41, 0x33, 0x00], // Model 3\r\n\r\n\tQRCODE_CORRECTION_L: [0x1d, 0x28, 0x6b, 0x03, 0x00, 0x31, 0x45, 0x30], // Correction level: L - 7%\r\n\tQRCODE_CORRECTION_M: [0x1d, 0x28, 0x6b, 0x03, 0x00, 0x31, 0x45, 0x31], // Correction level: M - 15%\r\n\tQRCODE_CORRECTION_Q: [0x1d, 0x28, 0x6b, 0x03, 0x00, 0x31, 0x45, 0x32], // Correction level: Q - 25%\r\n\tQRCODE_CORRECTION_H: [0x1d, 0x28, 0x6b, 0x03, 0x00, 0x31, 0x45, 0x33], // Correction level: H - 30%\r\n\r\n\tQRCODE_CELLSIZE_1: [0x1d, 0x28, 0x6b, 0x03, 0x00, 0x31, 0x43, 0x01], // Cell size 1\r\n\tQRCODE_CELLSIZE_2: [0x1d, 0x28, 0x6b, 0x03, 0x00, 0x31, 0x43, 0x02], // Cell size 2\r\n\tQRCODE_CELLSIZE_3: [0x1d, 0x28, 0x6b, 0x03, 0x00, 0x31, 0x43, 0x03], // Cell size 3\r\n\tQRCODE_CELLSIZE_4: [0x1d, 0x28, 0x6b, 0x03, 0x00, 0x31, 0x43, 0x04], // Cell size 4\r\n\tQRCODE_CELLSIZE_5: [0x1d, 0x28, 0x6b, 0x03, 0x00, 0x31, 0x43, 0x05], // Cell size 5\r\n\tQRCODE_CELLSIZE_6: [0x1d, 0x28, 0x6b, 0x03, 0x00, 0x31, 0x43, 0x06], // Cell size 6\r\n\tQRCODE_CELLSIZE_7: [0x1d, 0x28, 0x6b, 0x03, 0x00, 0x31, 0x43, 0x07], // Cell size 7\r\n\tQRCODE_CELLSIZE_8: [0x1d, 0x28, 0x6b, 0x03, 0x00, 0x31, 0x43, 0x08], // Cell size 8\r\n\r\n\tQRCODE_PRINT: [0x1d, 0x28, 0x6b, 0x03, 0x00, 0x31, 0x51, 0x30], // Print QR code\r\n\r\n\t// PDF417\r\n\tPDF417_CORRECTION: [0x1D, 0x28, 0x6B, 0x04, 0x00, 0x30, 0x45, 0x31], // Append 1-40 for ratio\r\n\tPDF417_ROW_HEIGHT: [0x1D, 0x28, 0x6B, 0x03, 0x00, 0x30, 0x44], // Append 2-8 for height\r\n\tPDF417_WIDTH: [0x1D, 0x28, 0x6B, 0x03, 0x00, 0x30, 0x43], // Append 2-8 for width\r\n\tPDF417_COLUMNS: [0x1D, 0x28, 0x6B, 0x03, 0x00, 0x30, 0x41],\r\n\tPDF417_OPTION_STANDARD: [0x1D, 0x28, 0x6B, 0x03, 0x00, 0x30, 0x46, 0x00], // Standard barcode\r\n\tPDF417_OPTION_TRUNCATED: [0x1D, 0x28, 0x6B, 0x03, 0x00, 0x30, 0x46, 0x01], // Truncated barcode\r\n\tPDF417_PRINT: [0x1D, 0x28, 0x6B, 0x03, 0x00, 0x30, 0x51, 0x30],\r\n\r\n\t// MaxiCode\r\n\t// Formatted data containing a structured Carrier Message with a numeric postal code. (US)\r\n\tMAXI_MODE2: [0x1d, 0x28, 0x6b, 0x03, 0x00, 0x32, 0x41, 0x32],\r\n\t// Formatted data containing a structured Carrier Message with an alphanumeric postal code. (International)\r\n\tMAXI_MODE3: [0x1d, 0x28, 0x6b, 0x03, 0x00, 0x32, 0x41, 0x33],\r\n\tMAXI_MODE4: [0x1d, 0x28, 0x6b, 0x03, 0x00, 0x32, 0x41, 0x34], // Unformatted data with Standard Error Correction.\r\n\tMAXI_MODE5: [0x1d, 0x28, 0x6b, 0x03, 0x00, 0x32, 0x41, 0x35], // Unformatted data with Enhanced Error Correction.\r\n\tMAXI_MODE6: [0x1d, 0x28, 0x6b, 0x03, 0x00, 0x32, 0x41, 0x36], // For programming hardware devices.\r\n\tMAXI_PRINT: [0x1d, 0x28, 0x6B, 0x03, 0x00, 0x32, 0x51, 0x30],\r\n\r\n\t// Image format\r\n\tS_RASTER_N: [0x1d, 0x76, 0x30, 0x00], // Set raster image normal size\r\n\tS_RASTER_2W: [0x1d, 0x76, 0x30, 0x01], // Set raster image double width\r\n\tS_RASTER_2H: [0x1d, 0x76, 0x30, 0x02], // Set raster image double height\r\n\tS_RASTER_Q: [0x1d, 0x76, 0x30, 0x03], // Set raster image quadruple\r\n\r\n\t// Printing Density\r\n\tPD_N50: [0x1d, 0x7c, 0x00], // Printing Density -50%\r\n\tPD_N37: [0x1d, 0x7c, 0x01], // Printing Density -37.5%\r\n\tPD_N25: [0x1d, 0x7c, 0x02], // Printing Density -25%\r\n\tPD_N12: [0x1d, 0x7c, 0x03], // Printing Density -12.5%\r\n\tPD_0: [0x1d, 0x7c, 0x04], // Printing Density 0%\r\n\tPD_P50: [0x1d, 0x7c, 0x08], // Printing Density +50%\r\n\tPD_P37: [0x1d, 0x7c, 0x07], // Printing Density +37.5%\r\n\tPD_P25: [0x1d, 0x7c, 0x06], // Printing Density +25%\r\n};\r\n\r\nconst StarConfig = {\r\n\t// Feed control sequences\r\n\tCTL_LF: [0x0a], // Print and line feed\r\n\tCTL_FF: [0x0c], // Form feed\r\n\tCTL_CR: [0x0d], // Carriage return\r\n\tCTL_HT: [0x09], // Horizontal tab\r\n\tCTL_VT: [0x0b], // Vertical tab\r\n\tCTL_SET_HT: [0x1b, 0x44], // Set horizontal tab positions\r\n\tCTL_SET_VT: [0x1b, 0x42], // Set vertical tab positions\r\n\r\n\t// Printer hardware\r\n\tHW_INIT: [0x1b, 0x40], // Clear data in buffer and reset modes\r\n\tHW_SELECT: [0x1b, 0x3d, 0x01], // Printer select\r\n\tHW_RESET: [0x1b, 0x3f, 0x0a, 0x00], // Reset printer hardware\r\n\tUPSIDE_DOWN_ON: [0x0F], // Upside down printing ON (rotated 180 degrees).\r\n\tUPSIDE_DOWN_OFF: [0x12], // Upside down printing OFF (default).\r\n\r\n\t// Cash Drawer\r\n\tCD_KICK_2: [0x1b, 0x70, 0x00], // Sends a pulse to pin 2 []\r\n\tCD_KICK_5: [0x1b, 0x70, 0x01], // Sends a pulse to pin 5 []\r\n\tCD_KICK: [0x1b, 0x07, 0x0b, 0x37, 0x07], // Kick the cash drawer\r\n\r\n\t// Paper\r\n\tPAPER_FULL_CUT: [0x1b, 0x64, 0x02], // Full cut paper\r\n\tPAPER_PART_CUT: [0x1b, 0x64, 0x03], // Partial cut paper\r\n\r\n\t// Text format\r\n\tTXT_NORMAL: [0x1b, 0x69, 0x00, 0x00], // Normal text\r\n\tTXT_2HEIGHT: [0x1b, 0x69, 0x01, 0x00], // Double height text\r\n\tTXT_2WIDTH: [0x1b, 0x69, 0x00, 0x01], // Double width text\r\n\tTXT_4SQUARE: [0x1b, 0x69, 0x01, 0x01], // Quad area text\r\n\tTXT_UNDERL_OFF: [0x1b, 0x2d, 0x00], // Underline font OFF\r\n\tTXT_UNDERL_ON: [0x1b, 0x2d, 0x01], // Underline font 1-dot ON\r\n\tTXT_UNDERL2_ON: [0x1b, 0x2d, 0x02], // Underline font 2-dot ON\r\n\tTXT_BOLD_OFF: [0x1b, 0x46], // Bold font OFF\r\n\tTXT_BOLD_ON: [0x1b, 0x45], // Bold font ON\r\n\tTXT_INVERT_OFF: [0x1b, 0x35], // Invert font OFF (eg. white background)\r\n\tTXT_INVERT_ON: [0x1b, 0x34], // Invert font ON (eg. black background)\r\n\tTXT_FONT_A: [0x1b, 0x1e, 0x46, 0x00], // Font type A\r\n\tTXT_FONT_B: [0x1b, 0x1e, 0x46, 0x01], // Font type B\r\n\tTXT_ALIGN_LT: [0x1b, 0x1d, 0x61, 0x00], // Left justification\r\n\tTXT_ALIGN_CT: [0x1b, 0x1d, 0x61, 0x01], // Centering\r\n\tTXT_ALIGN_RT: [0x1b, 0x1d, 0x61, 0x02], // Right justification\r\n\r\n\t// All code pages supported by printer.\r\n\tCODE_PAGE_PC437_USA: [0x1b, 0x74, 0],\r\n\tCODE_PAGE_KATAKANA: [0x1b, 0x74, 1],\r\n\tCODE_PAGE_PC850_MULTILINGUAL: [0x1b, 0x74, 2],\r\n\tCODE_PAGE_PC860_PORTUGUESE: [0x1b, 0x74, 3],\r\n\tCODE_PAGE_PC863_CANADIAN_FRENCH: [0x1b, 0x74, 4],\r\n\tCODE_PAGE_PC865_NORDIC: [0x1b, 0x74, 5],\r\n\tCODE_PAGE_PC851_GREEK: [0x1b, 0x74, 11],\r\n\tCODE_PAGE_PC853_TURKISH: [0x1b, 0x74, 12],\r\n\tCODE_PAGE_PC857_TURKISH: [0x1b, 0x74, 13],\r\n\tCODE_PAGE_PC737_GREEK: [0x1b, 0x74, 14],\r\n\tCODE_PAGE_ISO8859_7_GREEK: [0x1b, 0x74, 15],\r\n\tCODE_PAGE_WPC1252: [0x1b, 0x74, 16],\r\n\tCODE_PAGE_PC866_CYRILLIC2: [0x1b, 0x74, 17],\r\n\tCODE_PAGE_PC852_LATIN2: [0x1b, 0x74, 18],\r\n\tCODE_PAGE_SLOVENIA: [0x1b, 0x74, 18],\r\n\tCODE_PAGE_PC858_EURO: [0x1b, 0x74, 19],\r\n\tCODE_PAGE_KU42_THAI: [0x1b, 0x74, 20],\r\n\tCODE_PAGE_TIS11_THAI: [0x1b, 0x74, 21],\r\n\tCODE_PAGE_TIS18_THAI: [0x1b, 0x74, 26],\r\n\tCODE_PAGE_TCVN3_VIETNAMESE_L: [0x1b, 0x74, 30],\r\n\tCODE_PAGE_TCVN3_VIETNAMESE_U: [0x1b, 0x74, 31],\r\n\tCODE_PAGE_PC720_ARABIC: [0x1b, 0x74, 32],\r\n\tCODE_PAGE_WPC775_BALTIC_RIM: [0x1b, 0x74, 33],\r\n\tCODE_PAGE_PC855_CYRILLIC: [0x1b, 0x74, 34],\r\n\tCODE_PAGE_PC861_ICELANDIC: [0x1b, 0x74, 35],\r\n\tCODE_PAGE_PC862_HEBREW: [0x1b, 0x74, 36],\r\n\tCODE_PAGE_PC864_ARABIC: [0x1b, 0x74, 37],\r\n\tCODE_PAGE_PC869_GREEK: [0x1b, 0x74, 38],\r\n\tCODE_PAGE_ISO8859_2_LATIN2: [0x1b, 0x74, 39],\r\n\tCODE_PAGE_ISO8859_15_LATIN9: [0x1b, 0x74, 40],\r\n\tCODE_PAGE_PC1098_FARCI: [0x1b, 0x74, 41],\r\n\tCODE_PAGE_PC1118_LITHUANIAN: [0x1b, 0x74, 42],\r\n\tCODE_PAGE_PC1119_LITHUANIAN: [0x1b, 0x74, 43],\r\n\tCODE_PAGE_PC1125_UKRANIAN: [0x1b, 0x74, 44],\r\n\tCODE_PAGE_WPC1250_LATIN2: [0x1b, 0x74, 45],\r\n\tCODE_PAGE_WPC1251_CYRILLIC: [0x1b, 0x74, 46],\r\n\tCODE_PAGE_WPC1253_GREEK: [0x1b, 0x74, 47],\r\n\tCODE_PAGE_WPC1254_TURKISH: [0x1b, 0x74, 48],\r\n\tCODE_PAGE_WPC1255_HEBREW: [0x1b, 0x74, 49],\r\n\tCODE_PAGE_WPC1256_ARABIC: [0x1b, 0x74, 50],\r\n\tCODE_PAGE_WPC1257_BALTIC_RIM: [0x1b, 0x74, 51],\r\n\tCODE_PAGE_WPC1258_VIETNAMESE: [0x1b, 0x74, 52],\r\n\tCODE_PAGE_KZ1048_KAZAKHSTAN: [0x1b, 0x74, 53],\r\n\tCODE_PAGE_JAPAN: [0x1b, 0x52, 0x08],\r\n\tCODE_PAGE_KOREA: [0x1b, 0x52, 0x0D],\r\n\tCODE_PAGE_CHINA: [0x1b, 0x52, 0x0F],\r\n\r\n\t// Character code pages / iconv name of code table.\r\n\t// Only code pages supported by iconv-lite:\r\n\t// https://github.com/ashtuchkin/iconv-lite/wiki/Supported-Encodings\r\n\tCODE_PAGES: {\r\n\t\tPC437_USA: 'CP437',\r\n\t\tPC850_MULTILINGUAL: 'CP850',\r\n\t\tPC860_PORTUGUESE: 'CP860',\r\n\t\tPC863_CANADIAN_FRENCH: 'CP863',\r\n\t\tPC865_NORDIC: 'CP865',\r\n\t\tPC851_GREEK: 'CP860',\r\n\t\tPC857_TURKISH: 'CP857',\r\n\t\tPC737_GREEK: 'CP737',\r\n\t\tISO8859_7_GREEK: 'ISO-8859-7',\r\n\t\tWPC1252: 'CP1252',\r\n\t\tPC866_CYRILLIC2: 'CP866',\r\n\t\tPC852_LATIN2: 'CP852',\r\n\t\tSLOVENIA: 'CP852',\r\n\t\tPC858_EURO: 'CP858',\r\n\t\tWPC775_BALTIC_RIM: 'CP775',\r\n\t\tPC855_CYRILLIC: 'CP855',\r\n\t\tPC861_ICELANDIC: 'CP861',\r\n\t\tPC862_HEBREW: 'CP862',\r\n\t\tPC864_ARABIC: 'CP864',\r\n\t\tPC869_GREEK: 'CP869',\r\n\t\tISO8859_2_LATIN2: 'ISO-8859-2',\r\n\t\tISO8859_15_LATIN9: 'ISO-8859-15',\r\n\t\tPC1125_UKRANIAN: 'CP1125',\r\n\t\tWPC1250_LATIN2: 'WIN1250',\r\n\t\tWPC1251_CYRILLIC: 'WIN1251',\r\n\t\tWPC1253_GREEK: 'WIN1253',\r\n\t\tWPC1254_TURKISH: 'WIN1254',\r\n\t\tWPC1255_HEBREW: 'WIN1255',\r\n\t\tWPC1256_ARABIC: 'WIN1256',\r\n\t\tWPC1257_BALTIC_RIM: 'WIN1257',\r\n\t\tWPC1258_VIETNAMESE: 'WIN1258',\r\n\t\tKZ1048_KAZAKHSTAN: 'RK1048',\r\n\t\tJAPAN: 'EUC-JP',\r\n\t\tKOREA: 'EUC-KR',\r\n\t\tCHINA: 'EUC-CN'\r\n\t},\r\n\r\n\t// Barcode format\r\n\tBARCODE_TXT_OFF: [0x1d, 0x48, 0x00], // HRI barcode chars OFF\r\n\tBARCODE_TXT_ABV: [0x1d, 0x48, 0x01], // HRI barcode chars above\r\n\tBARCODE_TXT_BLW: [0x1d, 0x48, 0x02], // HRI barcode chars below\r\n\tBARCODE_TXT_BTH: [0x1d, 0x48, 0x03], // HRI barcode chars both above and below\r\n\tBARCODE_FONT_A: [0x1d, 0x66, 0x00], // Font type A for HRI barcode chars\r\n\tBARCODE_FONT_B: [0x1d, 0x66, 0x01], // Font type B for HRI barcode chars\r\n\tBARCODE_HEIGHT: [0x1d, 0x68, 0x64], // Barcode Height [1-255]\r\n\tBARCODE_WIDTH: [0x1d, 0x77, 0x03], // Barcode Width [2-6]\r\n\tBARCODE_UPC_A: [0x1d, 0x6b, 0x00], // Barcode type UPC-A\r\n\tBARCODE_UPC_E: [0x1d, 0x6b, 0x01], // Barcode type UPC-E\r\n\tBARCODE_EAN13: [0x1d, 0x6b, 0x02], // Barcode type EAN13\r\n\tBARCODE_EAN8: [0x1d, 0x6b, 0x03], // Barcode type EAN8\r\n\tBARCODE_CODE39: [0x1d, 0x6b, 0x04], // Barcode type CODE39\r\n\tBARCODE_ITF: [0x1d, 0x6b, 0x05], // Barcode type ITF\r\n\tBARCODE_NW7: [0x1d, 0x6b, 0x06], // Barcode type NW7\r\n\r\n\tBARCODE_CODE128: [0x1b, 0x62, 0x36], // Barcode type CODE128\r\n\tBARCODE_CODE128_TEXT_1: [0x01], // No text\r\n\tBARCODE_CODE128_TEXT_2: [0x02], // Text on bottom\r\n\tBARCODE_CODE128_TEXT_3: [0x03], // No text inline\r\n\tBARCODE_CODE128_TEXT_4: [0x04], // Text on bottom inline\r\n\tBARCODE_CODE128_WIDTH_SMALL: [0x31], // Small\r\n\tBARCODE_CODE128_WIDTH_MEDIUM: [0x32], // Medium\r\n\tBARCODE_CODE128_WIDTH_LARGE: [0x33], // Large\r\n\r\n\t// QR Code\r\n\tQRCODE_MODEL1: [0x1b, 0x1d, 0x79, 0x53, 0x30, 0x01], // Model 1\r\n\tQRCODE_MODEL2: [0x1b, 0x1d, 0x79, 0x53, 0x30, 0x02], // Model 2\r\n\r\n\tQRCODE_CORRECTION_L: [0x1b, 0x1d, 0x79, 0x53, 0x31, 0x00], // Correction level: L - 7%\r\n\tQRCODE_CORRECTION_M: [0x1b, 0x1d, 0x79, 0x53, 0x31, 0x01], // Correction level: M - 15%\r\n\tQRCODE_CORRECTION_Q: [0x1b, 0x1d, 0x79, 0x53, 0x31, 0x02], // Correction level: Q - 25%\r\n\tQRCODE_CORRECTION_H: [0x1b, 0x1d, 0x79, 0x53, 0x31, 0x03], // Correction level: H - 30%\r\n\r\n\tQRCODE_CELLSIZE_1: [0x1b, 0x1d, 0x79, 0x53, 0x32, 0x01], // Cell size 1\r\n\tQRCODE_CELLSIZE_2: [0x1b, 0x1d, 0x79, 0x53, 0x32, 0x02], // Cell size 2\r\n\tQRCODE_CELLSIZE_3: [0x1b, 0x1d, 0x79, 0x53, 0x32, 0x03], // Cell size 3\r\n\tQRCODE_CELLSIZE_4: [0x1b, 0x1d, 0x79, 0x53, 0x32, 0x04], // Cell size 4\r\n\tQRCODE_CELLSIZE_5: [0x1b, 0x1d, 0x79, 0x53, 0x32, 0x05], // Cell size 5\r\n\tQRCODE_CELLSIZE_6: [0x1b, 0x1d, 0x79, 0x53, 0x32, 0x06], // Cell size 6\r\n\tQRCODE_CELLSIZE_7: [0x1b, 0x1d, 0x79, 0x53, 0x32, 0x07], // Cell size 7\r\n\tQRCODE_CELLSIZE_8: [0x1b, 0x1d, 0x79, 0x53, 0x32, 0x08], // Cell size 8\r\n\tQRCODE_CELLSIZE: [0x1b, 0x1d, 0x79, 0x44, 0x31, 0x00], // Cell size nL nH dk\r\n\r\n\tQRCODE_PRINT: [0x1b, 0x1d, 0x79, 0x50], // Print QR code\r\n\r\n\t// Image format\r\n\tS_RASTER_N: [0x1d, 0x76, 0x30, 0x00], // Set raster image normal size\r\n\tS_RASTER_2W: [0x1d, 0x76, 0x30, 0x01], // Set raster image double width\r\n\tS_RASTER_2H: [0x1d, 0x76, 0x30, 0x02], // Set raster image double height\r\n\tS_RASTER_Q: [0x1d, 0x76, 0x30, 0x03], // Set raster image quadruple\r\n\r\n\t// Printing Density\r\n\tPD_N50: [0x1d, 0x7c, 0x00], // Printing Density -50%\r\n\tPD_N37: [0x1d, 0x7c, 0x01], // Printing Density -37.5%\r\n\tPD_N25: [0x1d, 0x7c, 0x02], // Printing Density -25%\r\n\tPD_N12: [0x1d, 0x7c, 0x03], // Printing Density -12.5%\r\n\tPD_0: [0x1d, 0x7c, 0x04], // Printing Density 0%\r\n\tPD_P50: [0x1d, 0x7c, 0x08], // Printing Density +50%\r\n\tPD_P37: [0x1d, 0x7c, 0x07], // Printing Density +37.5%\r\n\tPD_P25: [0x1d, 0x7c, 0x06], // Printing Density +25%\r\n};\r\n\r\nconst TancaConfig = {\r\n\t// Feed control sequences\r\n\tCTL_LF: [0x0a], // Print and line feed\r\n\tCTL_FF: [0x0c], // Form feed\r\n\tCTL_CR: [0x0d], // Carriage return\r\n\tCTL_HT: [0x09], // Horizontal tab\r\n\tCTL_SET_HT: [0x1b, 0x44], // Set horizontal tab positions\r\n\tCTL_VT: [0x1b, 0x64, 0x04], // Vertical tab\r\n\r\n\t// Printer hardware\r\n\tHW_INIT: [0x1b, 0x40], // Clear data in buffer and reset modes\r\n\tHW_SELECT: [0x1b, 0x3d, 0x01], // Printer select\r\n\tHW_RESET: [0x1b, 0x3f, 0x0a, 0x00], // Reset printer hardware\r\n\tBEEP: [0x1B, 0x42, 0x5, 0x1], // Sounds built-in buzzer (if equipped)\r\n\tUPSIDE_DOWN_ON: [0x1b, 0x7b, 0x01], // Upside down printing ON (rotated 180 degrees).\r\n\tUPSIDE_DOWN_OFF: [0x1b, 0x7b, 0x00], // Upside down printing OFF (default).\r\n\r\n\t// Cash Drawer\r\n\tCD_KICK_2: [0x1b, 0x70, 0x00], // Sends a pulse to pin 2 []\r\n\tCD_KICK_5: [0x1b, 0x70, 0x01], // Sends a pulse to pin 5 []\r\n\r\n\t// Paper\r\n\tPAPER_FULL_CUT: [0x1d, 0x56, 0x00], // Full cut paper\r\n\tPAPER_PART_CUT: [0x1d, 0x56, 0x01], // Partial cut paper\r\n\r\n\t// Text format\r\n\tTXT_NORMAL: [0x1b, 0x21, 0x00], // Normal text\r\n\tTXT_2HEIGHT: [0x1b, 0x21, 0x10], // Double height text\r\n\tTXT_2WIDTH: [0x1b, 0x21, 0x20], // Double width text\r\n\tTXT_4SQUARE: [0x1b, 0x21, 0x30], // Quad area text\r\n\tTXT_UNDERL_OFF: [0x1b, 0x2d, 0x00], // Underline font OFF\r\n\tTXT_UNDERL_ON: [0x1b, 0x2d, 0x01], // Underline font 1-dot ON\r\n\tTXT_UNDERL2_ON: [0x1b, 0x2d, 0x02], // Underline font 2-dot ON\r\n\tTXT_BOLD_OFF: [0x1b, 0x45, 0x00], // Bold font OFF\r\n\tTXT_BOLD_ON: [0x1b, 0x45, 0x01], // Bold font ON\r\n\tTXT_INVERT_OFF: [0x1d, 0x42, 0x00], // Invert font OFF (eg. white background)\r\n\tTXT_INVERT_ON: [0x1d, 0x42, 0x01], // Invert font ON (eg. black background)\r\n\tTXT_FONT_A: [0x1b, 0x4d, 0x00], // Font type A\r\n\tTXT_FONT_B: [0x1b, 0x4d, 0x01], // Font type B\r\n\tTXT_ALIGN_LT: [0x1b, 0x61, 0x00], // Left justification\r\n\tTXT_ALIGN_CT: [0x1b, 0x61, 0x01], // Centering\r\n\tTXT_ALIGN_RT: [0x1b, 0x61, 0x02], // Right justification\r\n\r\n\t// All code pages supported by printer.\r\n\tCODE_PAGE_PC437_USA: [0x1b, 0x74, 0],\r\n\tCODE_PAGE_KATAKANA: [0x1b, 0x74, 1],\r\n\tCODE_PAGE_PC850_MULTILINGUAL: [0x1b, 0x74, 2],\r\n\tCODE_PAGE_PC860_PORTUGUESE: [0x1b, 0x74, 3],\r\n\tCODE_PAGE_PC863_CANADIAN_FRENCH: [0x1b, 0x74, 4],\r\n\tCODE_PAGE_PC865_NORDIC: [0x1b, 0x74, 5],\r\n\tCODE_PAGE_PC851_GREEK: [0x1b, 0x74, 11],\r\n\tCODE_PAGE_PC853_TURKISH: [0x1b, 0x74, 12],\r\n\tCODE_PAGE_PC857_TURKISH: [0x1b, 0x74, 13],\r\n\tCODE_PAGE_PC737_GREEK: [0x1b, 0x74, 14],\r\n\tCODE_PAGE_ISO8859_7_GREEK: [0x1b, 0x74, 15],\r\n\tCODE_PAGE_WPC1252: [0x1b, 0x74, 16],\r\n\tCODE_PAGE_PC866_CYRILLIC2: [0x1b, 0x74, 17],\r\n\tCODE_PAGE_PC852_LATIN2: [0x1b, 0x74, 18],\r\n\tCODE_PAGE_SLOVENIA: [0x1b, 0x74, 18],\r\n\tCODE_PAGE_PC858_EURO: [0x1b, 0x74, 19],\r\n\tCODE_PAGE_KU42_THAI: [0x1b, 0x74, 20],\r\n\tCODE_PAGE_TIS11_THAI: [0x1b, 0x74, 21],\r\n\tCODE_PAGE_TIS18_THAI: [0x1b, 0x74, 26],\r\n\tCODE_PAGE_TCVN3_VIETNAMESE_L: [0x1b, 0x74, 30],\r\n\tCODE_PAGE_TCVN3_VIETNAMESE_U: [0x1b, 0x74, 31],\r\n\tCODE_PAGE_PC720_ARABIC: [0x1b, 0x74, 32],\r\n\tCODE_PAGE_WPC775_BALTIC_RIM: [0x1b, 0x74, 33],\r\n\tCODE_PAGE_PC855_CYRILLIC: [0x1b, 0x74, 34],\r\n\tCODE_PAGE_PC861_ICELANDIC: [0x1b, 0x74, 35],\r\n\tCODE_PAGE_PC862_HEBREW: [0x1b, 0x74, 36],\r\n\tCODE_PAGE_PC864_ARABIC: [0x1b, 0x74, 37],\r\n\tCODE_PAGE_PC869_GREEK: [0x1b, 0x74, 38],\r\n\tCODE_PAGE_ISO8859_2_LATIN2: [0x1b, 0x74, 39],\r\n\tCODE_PAGE_ISO8859_15_LATIN9: [0x1b, 0x74, 40],\r\n\tCODE_PAGE_PC1098_FARCI: [0x1b, 0x74, 41],\r\n\tCODE_PAGE_PC1118_LITHUANIAN: [0x1b, 0x74, 42],\r\n\tCODE_PAGE_PC1119_LITHUANIAN: [0x1b, 0x74, 43],\r\n\tCODE_PAGE_PC1125_UKRANIAN: [0x1b, 0x74, 44],\r\n\tCODE_PAGE_WPC1250_LATIN2: [0x1b, 0x74, 45],\r\n\tCODE_PAGE_WPC1251_CYRILLIC: [0x1b, 0x74, 46],\r\n\tCODE_PAGE_WPC1253_GREEK: [0x1b, 0x74, 47],\r\n\tCODE_PAGE_WPC1254_TURKISH: [0x1b, 0x74, 48],\r\n\tCODE_PAGE_WPC1255_HEBREW: [0x1b, 0x74, 49],\r\n\tCODE_PAGE_WPC1256_ARABIC: [0x1b, 0x74, 50],\r\n\tCODE_PAGE_WPC1257_BALTIC_RIM: [0x1b, 0x74, 51],\r\n\tCODE_PAGE_WPC1258_VIETNAMESE: [0x1b, 0x74, 52],\r\n\tCODE_PAGE_KZ1048_KAZAKHSTAN: [0x1b, 0x74, 53],\r\n\tCODE_PAGE_JAPAN: [0x1b, 0x52, 0x08],\r\n\tCODE_PAGE_KOREA: [0x1b, 0x52, 0x0D],\r\n\tCODE_PAGE_CHINA: [0x1b, 0x52, 0x0F],\r\n\tCODE_PAGE_HK_TW: [0x1b, 0x52, 0x00],\r\n\r\n\t// Character code pages / iconv name of code table.\r\n\t// Only code pages supported by iconv-lite:\r\n\t// https://github.com/ashtuchkin/iconv-lite/wiki/Supported-Encodings\r\n\tCODE_PAGES: {\r\n\t\tPC437_USA: 'CP437',\r\n\t\tPC850_MULTILINGUAL: 'CP850',\r\n\t\tPC860_PORTUGUESE: 'CP860',\r\n\t\tPC863_CANADIAN_FRENCH: 'CP863',\r\n\t\tPC865_NORDIC: 'CP865',\r\n\t\tPC851_GREEK: 'CP860',\r\n\t\tPC857_TURKISH: 'CP857',\r\n\t\tPC737_GREEK: 'CP737',\r\n\t\tISO8859_7_GREEK: 'ISO-8859-7',\r\n\t\tWPC1252: 'CP1252',\r\n\t\tPC866_CYRILLIC2: 'CP866',\r\n\t\tPC852_LATIN2: 'CP852',\r\n\t\tSLOVENIA: 'CP852',\r\n\t\tPC858_EURO: 'CP858',\r\n\t\tWPC775_BALTIC_RIM: 'CP775',\r\n\t\tPC855_CYRILLIC: 'CP855',\r\n\t\tPC861_ICELANDIC: 'CP861',\r\n\t\tPC862_HEBREW: 'CP862',\r\n\t\tPC864_ARABIC: 'CP864',\r\n\t\tPC869_GREEK: 'CP869',\r\n\t\tISO8859_2_LATIN2: 'ISO-8859-2',\r\n\t\tISO8859_15_LATIN9: 'ISO-8859-15',\r\n\t\tPC1125_UKRANIAN: 'CP1125',\r\n\t\tWPC1250_LATIN2: 'WIN1250',\r\n\t\tWPC1251_CYRILLIC: 'WIN1251',\r\n\t\tWPC1253_GREEK: 'WIN1253',\r\n\t\tWPC1254_TURKISH: 'WIN1254',\r\n\t\tWPC1255_HEBREW: 'WIN1255',\r\n\t\tWPC1256_ARABIC: 'WIN1256',\r\n\t\tWPC1257_BALTIC_RIM: 'WIN1257',\r\n\t\tWPC1258_VIETNAMESE: 'WIN1258',\r\n\t\tKZ1048_KAZAKHSTAN: 'RK1048',\r\n\t\tJAPAN: 'EUC-JP',\r\n\t\tKOREA: 'EUC-KR',\r\n\t\tCHINA: 'EUC-CN',\r\n\t\tHK_TW: 'Big5-HKSCS'\r\n\t},\r\n\r\n\t// Barcode format\r\n\tBARCODE_TXT_OFF: [0x1d, 0x48, 0x00], // HRI barcode chars OFF\r\n\tBARCODE_TXT_ABV: [0x1d, 0x48, 0x01], // HRI barcode chars above\r\n\tBARCODE_TXT_BLW: [0x1d, 0x48, 0x02], // HRI barcode chars below\r\n\tBARCODE_TXT_BTH: [0x1d, 0x48, 0x03], // HRI barcode chars both above and below\r\n\tBARCODE_FONT_A: [0x1d, 0x66, 0x00], // Font type A for HRI barcode chars\r\n\tBARCODE_FONT_B: [0x1d, 0x66, 0x01], // Font type B for HRI barcode chars\r\n\tBARCODE_HEIGHT: [0x1d, 0x68, 0x64], // Barcode Height [1-255]\r\n\tBARCODE_WIDTH: [0x1d, 0x77, 0x03], // Barcode Width [2-6]\r\n\tBARCODE_UPC_A: [0x1d, 0x6b, 0x00], // Barcode type UPC-A\r\n\tBARCODE_UPC_E: [0x1d, 0x6b, 0x01], // Barcode type UPC-E\r\n\tBARCODE_EAN13: [0x1d, 0x6b, 0x02], // Barcode type EAN13\r\n\tBARCODE_EAN8: [0x1d, 0x6b, 0x03], // Barcode type EAN8\r\n\tBARCODE_CODE39: [0x1d, 0x6b, 0x04], // Barcode type CODE39\r\n\tBARCODE_ITF: [0x1d, 0x6b, 0x05], // Barcode type ITF\r\n\tBARCODE_NW7: [0x1d, 0x6b, 0x06], // Barcode type NW7\r\n\r\n\t// QR Code\r\n\tQRCODE_MODEL1: [0x1d, 0x28, 0x6b, 0x04, 0x00, 0x31, 0x41, 0x31, 0x00], // Model 1\r\n\tQRCODE_MODEL2: [0x1d, 0x28, 0x6b, 0x04, 0x00, 0x31, 0x41, 0x32, 0x00], // Model 2\r\n\tQRCODE_MODEL3: [0x1d, 0x28, 0x6b, 0x04, 0x00, 0x31, 0x41, 0x33, 0x00], // Model 3\r\n\r\n\tQRCODE_CORRECTION_L: [0x1d, 0x28, 0x6b, 0x03, 0x00, 0x31, 0x45, 0x30], // Correction level: L - 7%\r\n\tQRCODE_CORRECTION_M: [0x1d, 0x28, 0x6b, 0x03, 0x00, 0x31, 0x45, 0x31], // Correction level: M - 15%\r\n\tQRCODE_CORRECTION_Q: [0x1d, 0x28, 0x6b, 0x03, 0x00, 0x31, 0x45, 0x32], // Correction level: Q - 25%\r\n\tQRCODE_CORRECTION_H: [0x1d, 0x28, 0x6b, 0x03, 0x00, 0x31, 0x45, 0x33], // Correction level: H - 30%\r\n\r\n\tQRCODE_CELLSIZE_1: [0x1d, 0x28, 0x6b, 0x03, 0x00, 0x31, 0x43, 0x01], // Cell size 1\r\n\tQRCODE_CELLSIZE_2: [0x1d, 0x28, 0x6b, 0x03, 0x00, 0x31, 0x43, 0x02], // Cell size 2\r\n\tQRCODE_CELLSIZE_3: [0x1d, 0x28, 0x6b, 0x03, 0x00, 0x31, 0x43, 0x03], // Cell size 3\r\n\tQRCODE_CELLSIZE_4: [0x1d, 0x28, 0x6b, 0x03, 0x00, 0x31, 0x43, 0x04], // Cell size 4\r\n\tQRCODE_CELLSIZE_5: [0x1d, 0x28, 0x6b, 0x03, 0x00, 0x31, 0x43, 0x05], // Cell size 5\r\n\tQRCODE_CELLSIZE_6: [0x1d, 0x28, 0x6b, 0x03, 0x00, 0x31, 0x43, 0x06], // Cell size 6\r\n\tQRCODE_CELLSIZE_7: [0x1d, 0x28, 0x6b, 0x03, 0x00, 0x31, 0x43, 0x07], // Cell size 7\r\n\tQRCODE_CELLSIZE_8: [0x1d, 0x28, 0x6b, 0x03, 0x00, 0x31, 0x43, 0x08], // Cell size 8\r\n\r\n\tQRCODE_PRINT: [0x1d, 0x28, 0x6b, 0x03, 0x00, 0x31, 0x51, 0x30], // Print QR code\r\n\r\n\t// PDF417\r\n\tPDF417_CORRECTION: [0x1D, 0x28, 0x6B, 0x04, 0x00, 0x30, 0x45, 0x31], // Append 1-40 for ratio\r\n\tPDF417_ROW_HEIGHT: [0x1D, 0x28, 0x6B, 0x03, 0x00, 0x30, 0x44], // Append 2-8 for height\r\n\tPDF417_WIDTH: [0x1D, 0x28, 0x6B, 0x03, 0x00, 0x30, 0x43], // Append 2-8 for width\r\n\tPDF417_COLUMNS: [0x1D, 0x28, 0x6B, 0x03, 0x00, 0x30, 0x41],\r\n\tPDF417_OPTION_STANDARD: [0x1D, 0x28, 0x6B, 0x03, 0x00, 0x30, 0x46, 0x00], // Standard barcode\r\n\tPDF417_OPTION_TRUNCATED: [0x1D, 0x28, 0x6B, 0x03, 0x00, 0x30, 0x46, 0x01], // Truncated barcode\r\n\tPDF417_PRINT: [0x1D, 0x28, 0x6B, 0x03, 0x00, 0x30, 0x51, 0x30],\r\n\r\n\t// MaxiCode\r\n\t// Formatted data containing a structured Carrier Message with a numeric postal code. (US)\r\n\tMAXI_MODE2: [0x1d, 0x28, 0x6b, 0x03, 0x00, 0x32, 0x41, 0x32],\r\n\t// Formatted data containing a structured Carrier Message with an alphanumeric postal code. (International)\r\n\tMAXI_MODE3: [0x1d, 0x28, 0x6b, 0x03, 0x00, 0x32, 0x41, 0x33],\r\n\tMAXI_MODE4: [0x1d, 0x28, 0x6b, 0x03, 0x00, 0x32, 0x41, 0x34], // Unformatted data with Standard Error Correction.\r\n\tMAXI_MODE5: [0x1d, 0x28, 0x6b, 0x03, 0x00, 0x32, 0x41, 0x35], // Unformatted data with Enhanced Error Correction.\r\n\tMAXI_MODE6: [0x1d, 0x28, 0x6b, 0x03, 0x00, 0x32, 0x41, 0x36], // For programming hardware devices.\r\n\tMAXI_PRINT: [0x1d, 0x28, 0x6B, 0x03, 0x00, 0x32, 0x51, 0x30],\r\n\r\n\t// Image format\r\n\tS_RASTER_N: [0x1d, 0x76, 0x30, 0x00], // Set raster image normal size\r\n\tS_RASTER_2W: [0x1d, 0x76, 0x30, 0x01], // Set raster image double width\r\n\tS_RASTER_2H: [0x1d, 0x76, 0x30, 0x02], // Set raster image double height\r\n\tS_RASTER_Q: [0x1d, 0x76, 0x30, 0x03], // Set raster image quadruple\r\n\r\n\t// Printing Density\r\n\tPD_N50: [0x1d, 0x7c, 0x00], // Printing Density -50%\r\n\tPD_N37: [0x1d, 0x7c, 0x01], // Printing Density -37.5%\r\n\tPD_N25: [0x1d, 0x7c, 0x02], // Printing Density -25%\r\n\tPD_N12: [0x1d, 0x7c, 0x03], // Printing Density -12.5%\r\n\tPD_0: [0x1d, 0x7c, 0x04], // Printing Density 0%\r\n\tPD_P50: [0x1d, 0x7c, 0x08], // Printing Density +50%\r\n\tPD_P37: [0x1d, 0x7c, 0x07], // Printing Density +37.5%\r\n\tPD_P25: [0x1d, 0x7c, 0x06], // Printing Density +25%\r\n};\r\n\r\nvar EpsonPrinter = (function()\r\n{\r\n\tvar printer = function(){ this.config = EpsonConfig; };\r\n\tprinter.prototype.getConfig = function() { return this.config; }\r\n\tprinter.prototype.append = function(appendBuffer)\r\n\t{\r\n\t\tif (this.buffer) {\r\n\t\t\tthis.buffer = this.buffer.concat(typeof appendBuffer == 'object' ? appendBuffer : [appendBuffer]);\r\n\t\t} else {\r\n\t\t\tthis.buffer = typeof appendBuffer == 'object' ? appendBuffer : [appendBuffer];\r\n\t\t}\r\n\t}\r\n\tprinter.prototype.beep = function() { return this.config.BEEP; }\r\n\tprinter.prototype.setTextSize = function(height, width)\r\n\t{\r\n\t\tthis.buffer = null;\r\n\t\tif (height > 7 || height < 0) throw new Error('setTextSize: Height must be between 0 and 7');\r\n\t\tif (width > 7 || width < 0) throw new Error('setTextSize: Width must be between 0 and 7');\r\n\t\tconst x = `${height}${width}`.hexToBytes();\r\n\t\tthis.append([0x1D, 0x21]);\r\n\t\tthis.append(x);\r\n\t\treturn this.buffer;\r\n\t}\r\n\tprinter.prototype.printQR = function(str, settings)\r\n\t{\r\n\t\tthis.buffer = null;\r\n\t\tsettings = settings || {};\r\n\t\t// [Name] Select the QR code model\r\n\t\t// [Code] 1D 28 6B 04 00 31 41 n1 n2\r\n\t\t// n1\r\n\t\t// [49 x31, model 1]\r\n\t\t// [50 x32, model 2]\r\n\t\t// [51 x33, micro qr code]\r\n\t\t// n2 = 0\r\n\t\t// https://reference.epson-biz.com/modules/ref_escpos/index.php?content_id=140\r\n\t\tif (settings.model)\r\n\t\t{\r\n\t\t\tif (settings.model === 1) this.append(this.config.QRCODE_MODEL1);\r\n\t\t\telse if (settings.model === 3) this.append(this.config.QRCODE_MODEL3);\r\n\t\t\telse this.append(this.config.QRCODE_MODEL2);\r\n\t\t} else {\r\n\t\t\tthis.append(this.config.QRCODE_MODEL2);\r\n\t\t}\r\n\r\n\t\t// [Name]: Set the size of module\r\n\t\t// 1D 28 6B 03 00 31 43 n\r\n\t\t// n depends on the printer\r\n\t\t// https://reference.epson-biz.com/modules/ref_escpos/index.php?content_id=141\r\n\t\tif (settings.cellSize) {\r\n\t\t\tconst i = 'QRCODE_CELLSIZE_'.concat(settings.cellSize.toString());\r\n\t\t\tthis.append(this.config[i]);\r\n\t\t} else {\r\n\t\t\tthis.append(this.config.QRCODE_CELLSIZE_3);\r\n\t\t}\r\n\r\n\t\t// [Name] Select the error correction level\r\n\t\t// 1D 28 6B 03 00 31 45 n\r\n\t\t// n\r\n\t\t// [48 x30 -> 7%]\r\n\t\t// [49 x31-> 15%]\r\n\t\t// [50 x32 -> 25%]\r\n\t\t// [51 x33 -> 30%]\r\n\t\t// https://reference.epson-biz.com/modules/ref_escpos/index.php?content_id=142\r\n\t\tif (settings.correction) {\r\n\t\t\tconst i = 'QRCODE_CORRECTION_'.concat(settings.correction.toUpperCase());\r\n\t\t\tthis.append(this.config[i]);\r\n\t\t} else {\r\n\t\t\tthis.append(this.config.QRCODE_CORRECTION_M);\r\n\t\t}\r\n\r\n\t\t// [Name] Store the data in the symbol storage area\r\n\t\t// 1D 28 6B pL pH 31 50 30 d1...dk\r\n\t\t// https://reference.epson-biz.com/modules/ref_escpos/index.php?content_id=143\r\n\t\tconst s = str.length + 3;\r\n\t\tconst lsb = parseInt(s % 256);\r\n\t\tconst msb = parseInt(s / 256);\r\n\t\tthis.append([0x1d, 0x28, 0x6b, lsb, msb, 0x31, 0x50, 0x30]);\r\n\t\tthis.append(str.toBytes());\r\n\r\n\t\t// [Name] Print the symbol data in the symbol storage area\r\n\t\t// 1D 28 6B 03 00 31 51 m\r\n\t\t// https://reference.epson-biz.com/modules/ref_escpos/index.php?content_id=144\r\n\t\tthis.append(this.config.QRCODE_PRINT);\r\n\r\n\t\treturn this.buffer;\r\n\t}\r\n\tprinter.prototype.pdf417 = function(data, settings)\r\n\t{\r\n\t\tthis.buffer = null;\r\n\t\tsettings = settings || {};\r\n\t\t// Set error correction ratio 1 - 40\r\n\t\tif (settings.correction) {\r\n\t\t\tthis.append(this.config.PDF417_CORRECTION);\r\n\t\t\tthis.append([settings.correction]);\r\n\t\t} else {\r\n\t\t\tthis.append(this.config.PDF417_CORRECTION);\r\n\t\t\tthis.append([0x01]);\r\n\t\t}\r\n\r\n\t\t// Set row height 2 - 8\r\n\t\tif (settings.rowHeight) {\r\n\t\t\tthis.append(this.config.PDF417_ROW_HEIGHT);\r\n\t\t\tthis.append([settings.rowHeight]);\r\n\t\t} else {\r\n\t\t\tthis.append(this.config.PDF417_ROW_HEIGHT);\r\n\t\t\tthis.append([0x03]);\r\n\t\t}\r\n\r\n\t\t// Set width of module 2 - 8\r\n\t\tif (settings.width) {\r\n\t\t\tthis.append(this.config.PDF417_WIDTH);\r\n\t\t\tthis.append([settings.width]);\r\n\t\t} else {\r\n\t\t\tthis.append(this.config.PDF417_WIDTH);\r\n\t\t\tthis.append([0x03]);\r\n\t\t}\r\n\r\n\t\t// Manually set columns 1 - 30\r\n\t\tif (settings.columns) {\r\n\t\t\tthis.append(this.config.PDF417_COLUMNS);\r\n\t\t\tthis.append([settings.columns]);\r\n\t\t} else {\r\n\t\t\t// Default to auto\r\n\t\t\tthis.append(this.config.PDF417_COLUMNS);\r\n\t\t\tthis.append([0x00]);\r\n\t\t}\r\n\r\n\t\t// Standard or truncated option\r\n\t\tif (settings.truncated) this.append(this.config.PDF417_OPTION_TRUNCATED);\r\n\t\telse this.append(this.config.PDF417_OPTION_STANDARD);\r\n\r\n\t\t// Set PDF417 bar code data\r\n\t\tconst s = data.length + 3;\r\n\t\tconst lsb = parseInt(s % 256);\r\n\t\tconst msb = parseInt(s / 256);\r\n\r\n\t\tthis.append([0x1d, 0x28, 0x6b, lsb, msb, 0x30, 0x50, 0x30]);\r\n\t\tthis.append(data.toString().toBytes());\r\n\r\n\t\t// Print barcode\r\n\t\tthis.append(this.config.PDF417_PRINT);\r\n\r\n\t\treturn this.buffer;\r\n\t}\r\n\tprinter.prototype.maxiCode = function(data, settings)\r\n\t{\r\n\t\tthis.buffer = null;\r\n\t\tsettings = settings || {};\r\n\t\t// Maxi Mode\r\n\t\t// 2 - Formatted data/structured Carrier Message with a numeric postal code. (US)\r\n\t\t// 3 - Formatted data/structured Carrier Message with a numeric postal code. (International)\r\n\t\t// 4 - Unformatted data/Standard Error Correction.\r\n\t\t// 5 - Unformatted data/Enhanced Error Correction.\r\n\t\t// 6 - Used for programming hardware devices.\r\n\t\tif (settings.mode) {\r\n\t\t\tif (settings.mode == 2) this.append(this.config.MAXI_MODE2);\r\n\t\t\telse if (settings.mode == 3) this.append(this.config.MAXI_MODE3);\r\n\t\t\telse if (settings.mode == 5) this.append(this.config.MAXI_MODE5);\r\n\t\t\telse if (settings.mode == 6) this.append(this.config.MAXI_MODE6);\r\n\t\t\telse this.append(this.config.MAXI_MODE4);\r\n\t\t} else {\r\n\t\t\tthis.append(this.config.MAXI_MODE4);\r\n\t\t}\r\n\r\n\t\t// Setup size of MaxiCode data\r\n\t\tconst s = data.length + 3;\r\n\t\tconst lsb = parseInt(s % 256);\r\n\t\tconst msb = parseInt(s / 256);\r\n\r\n\t\t// Send Data\r\n\t\tthis.append([0x1d, 0x28, 0x6b, lsb, msb, 0x32, 0x50, 0x30]);\r\n\t\tthis.append(data.toString().toBytes());\r\n\r\n\t\t// Print barcode\r\n\t\tthis.append(this.config.MAXI_PRINT);\r\n\r\n\t\treturn this.buffer;\r\n\t}\r\n\tprinter.prototype.code128 = function(data, settings)\r\n\t{\r\n\t\tthis.buffer = null;\r\n\t\tsettings = settings || {};\r\n\t\t// Set HRI characters Position, 0-3 (none, top, bottom, top/bottom)\r\n\t\tif (settings.hriPos) {\r\n\t\t\tthis.append([0x1d, 0x48]); // GS H\r\n\t\t\tthis.append([settings.hriPos]);\r\n\t\t} else {\r\n\t\t\tthis.append([0x1d, 0x48, 0x00]);\r\n\t\t}\r\n\t\t// Set HRI character font. 0-4, 48-52, 97, 98 (depending on printer, 0 and 1 available on all), default 0\r\n\t\tif (settings.hriFont) {\r\n\t\t\tthis.append([0x1d, 0x66]); // GS f\r\n\t\t\tthis.append([settings.hriFont]);\r\n\t\t} else {\r\n\t\t\tthis.append([0x1d, 0x66, 0x00]);\r\n\t\t}\r\n\t\t// Set width 2-6, default 3\r\n\t\tif (settings.width) {\r\n\t\t\tthis.append([0x1d, 0x77]); // GS W\r\n\t\t\tthis.append([settings.width]);\r\n\t\t} else {\r\n\t\t\tthis.append([0x1d, 0x77, 0x03]);\r\n\t\t}\r\n\t\t// Set height 1 - 255 default 162\r\n\t\tif (settings.height) {\r\n\t\t\tthis.append([0x1d, 0x68]); // GS h\r\n\t\t\tthis.append([settings.height]);\r\n\t\t} else {\r\n\t\t\tthis.append([0x1d, 0x68, 0xA2]);\r\n\t\t}\r\n\t\t// Print Barcode\r\n\t\tthis.append(this.config.BARCODE_CODE128);\r\n\t\tthis.append([data.length + 2]);\r\n\t\tthis.append([0x7b, 0x42]);\r\n\t\t// Data\r\n\t\tthis.append(data.toBytes());\r\n\t\treturn this.buffer;\r\n\t}\r\n\tprinter.prototype.printBarcode = function(data, type, settings)\r\n\t{\r\n\t\tthis.buffer = null;\r\n\t\tsettings = settings || {};\r\n\t\t// Set HRI characters Position, 0-3 (none, top, bottom, top/bottom)\r\n\t\tif (settings.hriPos) {\r\n\t\t\tthis.append([0x1d, 0x48]); // GS H\r\n\t\t\tthis.append([settings.hriPos]);\r\n\t\t} else {\r\n\t\t\tthis.append([0x1d, 0x48, 0x00]);\r\n\t\t}\r\n\t\t// Set HRI character font. 0-4, 48-52, 97, 98 (depending on printer, 0 and 1 available on all), default 0\r\n\t\tif (settings.hriFont) {\r\n\t\t\tthis.append([0x1d, 0x66]); // GS f\r\n\t\t\tthis.append([settings.hriFont]);\r\n\t\t} else {\r\n\t\t\tthis.append([0x1d, 0x66, 0x00]);\r\n\t\t}\r\n\t\t// Set width 2-6, default 3\r\n\t\tif (settings.width) {\r\n\t\t\tthis.append([0x1d, 0x77]); // GS W\r\n\t\t\tthis.append([settings.width]);\r\n\t\t} else {\r\n\t\t\tthis.append([0x1d, 0x77, 0x03]);\r\n\t\t}\r\n\t\t// Set height 1 - 255 default 162\r\n\t\tif (settings.height) {\r\n\t\t\tthis.append([0x1d, 0x68]); // GS h\r\n\t\t\tthis.append([settings.height]);\r\n\t\t} else {\r\n\t\t\tthis.append([0x1d, 0x68, 0xA2]);\r\n\t\t}\r\n\t\t// Print Barcode\r\n\t\tthis.append([0x1d, 0x6b]); // GS k\r\n\t\t// Select type and bit length of data\r\n\t\tif(type == 73)\r\n\t\t{\r\n\t\t\tthis.append([type, data.length + 2]);\r\n\t\t\tthis.append([0x7b, 0x42]);\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tthis.append([type, data.length]);\r\n\t\t}\r\n\t\t// Data\r\n\t\tthis.append(data.toBytes());\r\n\t\treturn this.buffer;\r\n\t}\r\n\t//https://reference.epson-biz.com/modules/ref_escpos/index.php?content_id=88\r\n\tprinter.prototype.printImageBuffer = function(width, height, data)\r\n\t{\r\n\t\tthis.buffer = null;\r\n\t\t// Get pixel rgba in 2D array\r\n\t\tconst pixels = [];\r\n\t\tfor (let i = 0; i < height; i++)\r\n\t\t{\r\n\t\t\tconst line = [];\r\n\t\t\tfor (let j = 0; j < width; j++)\r\n\t\t\t{\r\n\t\t\t\tconst idx = (width * i + j) << 2;\r\n\t\t\t\tline.push({\r\n r: data[idx],\r\n g: data[idx + 1],\r\n b: data[idx + 2],\r\n a: data[idx + 3],\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tpixels.push(line);\r\n\t\t}\r\n\t\tconst imageBufferArray = [];\r\n\t\tfor (let i = 0; i < height; i++)\r\n\t\t{\r\n\t\t\tfor (let j = 0; j < Math.ceil(width / 8); j++)\r\n\t\t\t{\r\n\t\t\t\tlet byte = 0x0;\r\n\t\t\t\tfor (let k = 0; k < 8; k++) {\r\n\t\t\t\t\tlet pixel = pixels[i][j * 8 + k];\r\n\t\t\t\t\t// Image overflow\r\n\t\t\t\t\tif (pixel === undefined)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tpixel = {\r\n\t\t\t\t\t\t\ta: 0,\r\n\t\t\t\t\t\t\tr: 0,\r\n\t\t\t\t\t\t\tg: 0,\r\n\t\t\t\t\t\t\tb: 0\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (pixel.a > 126) { // checking transparency\r\n\t\t\t\t\t\tconst grayscale = parseInt(0.2126 * pixel.r + 0.7152 * pixel.g + 0.0722 * pixel.b);\r\n\t\t\t\t\t\tif (grayscale < 128) { // checking color\r\n\t\t\t\t\t\t\tconst mask = 1 << 7 - k; // setting bitwise mask\r\n\t\t\t\t\t\t\tbyte |= mask; // setting the correct bit to 1\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\timageBufferArray.push(byte);\r\n\t\t\t\t// imageBuffer = imageBuffer.concat([byte]);\r\n\t\t\t}\r\n\t\t}\r\n\t\tconst imageBuffer = imageBufferArray;\r\n\t\t// Print raster bit image\r\n\t\t// GS v 0\r\n\t\t// 1D 76 30 m xL xH yL yH d1...dk\r\n\t\t// xL = (this.width >> 3) & 0xff;\r\n\t\t// xH = 0x00;\r\n\t\t// yL = this.height & 0xff;\r\n\t\t// yH = (this.height >> 8) & 0xff;\r\n\t\t// https://reference.epson-biz.com/modules/ref_escpos/index.php?content_id=94\r\n\t\t// Check if width/8 is decimal\r\n\t\tif (width % 8 != 0) {\r\n\t\t\twidth += 8;\r\n\t\t}\r\n\t\tthis.append([0x1d, 0x76, 0x30, 48]);\r\n\t\tthis.append([(width >> 3) & 0xff]);\r\n\t\tthis.append([0x00]);\r\n\t\tthis.append([height & 0xff]);\r\n\t\tthis.append([(height >> 8) & 0xff]);\r\n\t\t// append data\r\n\t\tthis.append(imageBuffer);\r\n\t\treturn this.buffer;\r\n\t}\r\n\treturn printer;\r\n})();\r\n\r\nvar StarPrinter = (function()\r\n{\r\n\tvar printer = function(){ this.config = StarConfig; };\r\n\tprinter.prototype.getConfig = function() { return this.config; }\r\n\tprinter.prototype.append = function(appendBuffer)\r\n\t{\r\n\t\tif (this.buffer) {\r\n\t\t\tthis.buffer = this.buffer.concat(typeof appendBuffer == 'object' ? appendBuffer : [appendBuffer]);\r\n\t\t} else {\r\n\t\t\tthis.buffer = typeof appendBuffer == 'object' ? appendBuffer : [appendBuffer];\r\n\t\t}\r\n\t}\r\n\tprinter.prototype.beep = function()\r\n\t{\r\n\t\t//Not implemented...\r\n\t}\r\n\tprinter.prototype.setTextSize = function(height, width)\r\n\t{\r\n\t\t//Not implemented...\r\n\t}\r\n\tprinter.prototype.printQR = function(str, settings)\r\n\t{\r\n\t\tthis.buffer = null;\r\n\t\tif (!settings) {\r\n\t\t\tsettings = {};\r\n\t\t}\r\n\t\tconst config = {\r\n\t\t\tmodel: this.config.QRCODE_MODEL1,\r\n\t\t\tcorrectionLevel: this.config.QRCODE_CORRECTION_M,\r\n\t\t\tcellSize: this.config.QRCODE_CELLSIZE_4\r\n\t\t};\r\n\t\tconst models = {\r\n\t\t\t1: this.config.QRCODE_MODEL1,\r\n\t\t\t2: this.config.QRCODE_MODEL2\r\n\t\t};\r\n\t\tconst correctionLevels = {\r\n\t\t\tL: this.config.QRCODE_CORRECTION_L, // Correction level: L - 7%\r\n\t\t\tM: this.config.QRCODE_CORRECTION_M, // Correction level: M - 15%\r\n\t\t\tQ: this.config.QRCODE_CORRECTION_Q, // Correction level: Q - 25%\r\n\t\t\tH: this.config.QRCODE_CORRECTION_H // Correction level: H - 30%\r\n\t\t};\r\n\t\tconst cellSizes = {\r\n\t\t\t1: this.config.QRCODE_CELLSIZE_1, // Cell size 1\r\n\t\t\t2: this.config.QRCODE_CELLSIZE_2, // Cell size 2\r\n\t\t\t3: this.config.QRCODE_CELLSIZE_3, // Cell size 3\r\n\t\t\t4: this.config.QRCODE_CELLSIZE_4, // Cell size 4\r\n\t\t\t5: this.config.QRCODE_CELLSIZE_5, // Cell size 5\r\n\t\t\t6: this.config.QRCODE_CELLSIZE_6, // Cell size 6\r\n\t\t\t7: this.config.QRCODE_CELLSIZE_7, // Cell size 7\r\n\t\t\t8: this.config.QRCODE_CELLSIZE_8 // Cell size 8\r\n\t\t};\r\n\t\tif (models[settings.model]) config.model = models[settings.model];\r\n\t\tif (correctionLevels[settings.correctionLevel]) config.correctionLevel = correctionLevels[settings.correctionLevel];\r\n\t\tif (cellSizes[settings.cellSize]) config.cellSize = cellSizes[settings.cellSize];\r\n\t\t// [Name] Set QR code model\r\n\t\t// [Code] Hex. 1B 1D 79 53 30 n\r\n\t\t// [Defined Area] 1 ≤ n ≤ 2\r\n\t\t// [Initial Value] n = 2\r\n\t\t// [Function] Sets the model.\r\n\t\t// • Parameter details\r\n\t\t// n | Set Model\r\n\t\t// ---+---------------\r\n\t\t// 1 | Model 1\r\n\t\t// 2 | Model 2\r\n\t\tthis.append(config.model);\r\n\t\t// [Name] Set QR code mistake correction level\r\n\t\t// [Code] Hex. 1B 1D 79 53 31 n\r\n\t\t// [Defined Area] 0 ≤ n ≤ 3\r\n\t\t// [Initial Value] n = 0\r\n\t\t// [Function] Sets the mistake correction level.\r\n\t\t// • Parameter details\r\n\t\t// n | Correction Level | Mistake Correction Rate (%)\r\n\t\t// --+------------------+----------------------------\r\n\t\t// 0 | L | 7\r\n\t\t// 1 | M | 15\r\n\t\t// 2 | Q | 25\r\n\t\t// 3 | H | 30\r\n\t\tthis.append(config.correctionLevel);\r\n\t\t// [Name] Set QR code cell size\r\n\t\t// [Code] Hex. 1B 1D 79 53 32 n\r\n\t\t// [Defined Area] 1 ≤ n ≤ 8\r\n\t\t// [Initial Value] n = 3\r\n\t\t// [Function] Sets the cell size.\r\n\t\t// • Parameter details\r\n\t\t// • n: Cell size (Units: Dots)\r\n\t\t// • It is recommended that the specification using this command be 3 ≤ n.\r\n\t\t// If n = 1 or 2, check by actually using.\r\n\t\tthis.append(config.cellSize);\r\n\t\t// [Name] Set QR code cell size (Auto Setting)\r\n\t\t// [Code] Hex. 1B 1D 79 44 31 m nL nH d1 d2 … dk\r\n\t\t// [Defined Area]\r\n\t\t// m = 0\r\n\t\t// 0 ≤ nL ≤ 255,\r\n\t\t// 0 ≤ nH ≤ 255\r\n\t\t// 1 ≤ nL + nH x 256 ≤ 7089 (k = nL + nH x 256)\r\n\t\t// 0 ≤ d ≤ 255\r\n\t\t// [Function]\r\n\t\t// Automatically expands the data type of the bar code and sets the data.\r\n\t\t// • Parameter details\r\n\t\t// • nL + nH x 256: Byte count of bar code data\r\n\t\t// • dk: Bar code data (Max. 7089 bytes)\r\n\t\t// • When using this command, the printer receives data for the number of bytes (k) specified by nL and nH.\r\n\t\t// The data automatically expands to be set as the qr code data.\r\n\t\t// • Indicates the number bytes of data specified by the nL and nH. Bar code data is cleared at this time.\r\n\t\t// • The data storage region of this command is shared with the manual setting command so data is updated\r\n\t\t// each time either command is executed.\r\n\t\tconst s = str.length;\r\n\t\tconst lsb = parseInt(s % 256);\r\n\t\tconst msb = parseInt(s / 256);\r\n\t\tthis.append([lsb, msb]); // nL, nH\r\n\t\tthis.append(str.toString().toBytes()); // Data\r\n\t\tthis.append([0x0a]); // NL (new line)\r\n\t\t// [Name] Print QR code\r\n\t\t// [Code] 1B 1D 79 50\r\n\t\t// [Function] Prints bar code data.\r\n\t\t// When receiving this command, if there is unprinted data in the image buffer,\r\n\t\t// the printer will print the bar code after printing the unprinted print data.\r\n\t\t// A margin of more than 4 cells is required around the QR code. The user should ensure that space.\r\n\t\t// Always check printed bar codes in actual use.\r\n\t\tthis.append(this.config.QRCODE_PRINT);\r\n\t\treturn this.buffer;\r\n\t}\r\n\tprinter.prototype.pdf417 = function(data, settings)\r\n\t{\r\n\t\tthis.buffer = null;\r\n\t\tif (settings) {\r\n\t\t\tthrow new Error('PDF417 settings not yet available for star printers!');\r\n\t\t}\r\n\t\t// (1) Bar code type setting ( “x” “S”)\r\n\t\t// (2) Bar code data setting ( “x” “D”)\r\n\t\t// (3) Bar code printing ( “x” “P”)\r\n\t\t// (4) Bar code expansion information acquisition ( “x” “I”)\r\n\t\t// Set PDF417 bar code size\r\n\t\t// 1B 1D 78 53 30 n p1 p2\r\n\t\tthis.append([0x1b, 0x1d, 0x78, 0x53, 0x30, 0x00, 0x01, 0x02]);\r\n\t\t// Set PDF417 ECC (security level)\r\n\t\t// 1B 1D 78 53 31 n\r\n\t\tthis.append([0x1b, 0x1d, 0x78, 0x53, 0x31, 0x02]);\r\n\t\t// Set PDF417 module X direction size\r\n\t\t// 1B 1D 78 53 32 n\r\n\t\tthis.append([0x1b, 0x1d, 0x78, 0x53, 0x32, 0x02]);\r\n\t\t// Set PDF417 module aspect ratio\r\n\t\t// 1B 1D 78 53 33 n\r\n\t\tthis.append([0x1b, 0x1d, 0x78, 0x53, 0x33, 0x03]);\r\n\t\t// Set PDF417 bar code data\r\n\t\t// 1B 1D 78 44 nL nH d1 d2 … dk\r\n\t\tconst s = data.length;\r\n\t\tconst lsb = parseInt(s % 256);\r\n\t\tconst msb = parseInt(s / 256);\r\n\t\tthis.append([0x1b, 0x1d, 0x78, 0x44]);\r\n\t\tthis.append([lsb, msb]); // nL, nH\r\n\t\tthis.append(data.toString().toBytes()); // Data\r\n\t\tthis.append([0x0a]); // NL (new line)\r\n\t\t// Print PDF417 bar code\r\n\t\t// 1B 1D 78 50\r\n\t\tthis.append([0x1b, 0x1d, 0x78, 0x50]);\r\n\t\treturn this.buffer;\r\n\t}\r\n\tprinter.prototype.maxiCode = function(data, settings)\r\n\t{\r\n\t\t//Not implemented...\r\n\t}\r\n\tprinter.prototype.code128 = function(data, settings)\r\n\t{\r\n\t\tthis.buffer = null;\r\n\t\tthis.append(this.config.BARCODE_CODE128);\r\n\t\t// Barcode option\r\n\t\t// 1 - No text\r\n\t\t// 2 - Text on bottom\r\n\t\t// 3 - No text inline\r\n\t\t// 4 - Text on bottom inline\r\n\t\tif (settings) {\r\n\t\t\tif (settings.text == 1) this.append(this.config.BARCODE_CODE128_TEXT_1);\r\n\t\t\telse if (settings.text == 2) this.append(this.config.BARCODE_CODE128_TEXT_2);\r\n\t\t\telse if (settings.text == 3) this.append(this.config.BARCODE_CODE128_TEXT_3);\r\n\t\t\telse if (settings.text == 4) this.append(this.config.BARCODE_CODE128_TEXT_4);\r\n\t\t} else {\r\n\t\t\tthis.append(this.config.BARCODE_CODE128_TEXT_2);\r\n\t\t}\r\n\t\t// Barcode width\r\n\t\t// 31 - Small\r\n\t\t// 32 - Medium\r\n\t\t// 33 - Large\r\n\t\tif (settings) {\r\n\t\t\tif (settings.width == 'SMALL') this.append(this.config.BARCODE_CODE128_WIDTH_SMALL);\r\n\t\t\telse if (settings.width == 'MEDIUM') this.append(this.config.BARCODE_CODE128_WIDTH_MEDIUM);\r\n\t\t\telse if (settings.width == 'LARGE') this.append(this.config.BARCODE_CODE128_WIDTH_LARGE);\r\n\t\t} else {\r\n\t\t\tthis.append(this.config.BARCODE_CODE128_WIDTH_LARGE);\r\n\t\t}\r\n\t\t// Barcode height\r\n\t\tif (settings && settings.height) this.append([settings.height]);\r\n\t\telse this.append([0x50]);\r\n\t\t// Barcode data\r\n\t\tthis.append(data.toString().toBytes());\r\n\t\t// Append RS(record separator)\r\n\t\tthis.append([0x1e]);\r\n\t\treturn this.buffer;\r\n\t}\r\n\tprinter.prototype.printBarcode = function(data, type, settings)\r\n\t{\r\n\t\tthis.buffer = null;\r\n\t\tif (!settings) {\r\n\t\t\tsettings = {};\r\n\t\t}\r\n\t\t// [Name] ESC b n1 n2 n3 n4 d1...dk RS\r\n\t\t// [Code] Hex. 1B 62 n1 n2 n3 n4 d1 ... dk 1E\r\n\t\t// [Defined Area]\r\n\t\t// n1 (Barcode type): 0≤n1≤8, 48≤n1≤56 (0≤n1≤8)\r\n\t\t// n2 (Barcode under-bar): 1≤n2≤4, 49≤n2≤52 (1≤n2≤4)\r\n\t\t// n3 (Barcode mode),\r\n\t\t// n4 (Barcode height) 1≤n4≤255\r\n\t\t// d (Barcode data),\r\n\t\t// k (Barcode data count) definitions differ according to the type of barcode.\r\n\t\t// RS\r\n\t\t// [Function]\r\n\t\t// Barcode printing is executed according to the following parameters.\r\n\t\t// If n1, n2, n3 and n4 are acquired and detected to be out of the defined area, data up to RS is discarded.\r\n\t\tthis.append([0x1b, 0x62]);\r\n\t\t// n1 - Barcode type selection\r\n\t\t// +-----------------------+\r\n\t\t// | n1 | Barcode type |\r\n\t\t// |-----------------------|\r\n\t\t// | 0, 48 | UPC-E |\r\n\t\t// | 1, 49 | UPC-A |\r\n\t\t// | 2, 50 | JAN/EAN8 |\r\n\t\t// | 3, 51 | JAN/EAN13 |\r\n\t\t// | 4, 52 | Code39 |\r\n\t\t// | 5, 53 | ITF |\r\n\t\t// | 6, 54 | Code128 |\r\n\t\t// | 7, 55 | Code93 |\r\n\t\t// | 8, 56 | NW-7 |\r\n\t\t// +-----------------------+\r\n\t\tthis.append([type || 7]);\r\n\t\t// n2 - Under-bar character selection and added line feed selection\r\n\t\t// +--------------------------------------------------------------------------------------------+\r\n\t\t// | n2 | Selection |\r\n\t\t// |--------------------------------------------------------------------------------------------|\r\n\t\t// | 1, 49 | No added under-bar charactersExecutes line feed after printing a bar code |\r\n\t\t// | 2, 50 | Adds under-bar characters Executes line feed after printing a bar code |\r\n\t\t// | 3, 51 | No added under-bar charactersDoes not execute line feed after printing a bar code |\r\n\t\t// | 4, 52 | Adds under-bar characters Does not execute line feed after printing a bar code |\r\n\t\t// +--------------------------------------------------------------------------------------------+\r\n\t\tthis.append([settings.characters || 1]);\r\n\t\t// n3 - Barcode mode selection\r\n\t\t// +-------------------------------------------------------------------------------------------+\r\n\t\t// | n3 | Bar code type |\r\n\t\t// | +-----------------------------------------------------------------------------------+\r\n\t\t// | | UPC-E, UPC-A, JAN/EAN8 | Code39, NW-7 | ITF |\r\n\t\t// | | JAN/EAN13, Code128, Code93 | | |\r\n\t\t// +-------------------------------------------------------------------------------------------+\r\n\t\t// | 1, 49 | Minimum module 2 dots | Narrow: Wide = 2:6 dots | Narrow: Wide = 2:5 dots |\r\n\t\t// | 2, 50 | Minimum module 3 dots | Narrow: Wide = 3:9 dots | Narrow: Wide = 4:10 dots |\r\n\t\t// | 3, 51 | Minimum module 4 dots | Narrow: Wide = 4:12 dots | Narrow: Wide = 6:15 dots |\r\n\t\t// | 4, 52 | - - - | Narrow: Wide = 2:5 dots | Narrow: Wide = 2:4 dots |\r\n\t\t// | 5, 53 | - - - | Narrow: Wide = 3:8 dots | Narrow: Wide = 4:8 dots |\r\n\t\t// | 6, 54 | - - - | Narrow: Wide = 4:10 dots | Narrow: Wide = 6:12 dots |\r\n\t\t// | 7, 55 | - - - | Narrow: Wide = 2:4 dots | Narrow: Wide = 2:6 dots |\r\n\t\t// | 8, 56 | - - - | Narrow: Wide = 3:6 dots | Narrow: Wide = 3:9 dots |\r\n\t\t// | 9, 57 | - - - | Narrow: Wide = 4:8 dots | Narrow: Wide = 4:12 dots |\r\n\t\t// +-------------------------------------------------------------------------------------------+\r\n\t\tthis.append([settings.mode || 2]);\r\n\t\t// n4 - Barcode height (dot count)\r\n\t\t// +-------------------------------------------------------------------------------------------------------+\r\n\t\t// | Specification A | Specification B |\r\n\t\t// +-------------------------------------------------------------------------------------------------------+\r\n\t\t// | When the height of the bar code is more than | Form feed at (Bar code height + underbar characters) |\r\n\t\t// | the form feed amount, the form feed amount is | |\r\n\t\t// | automatically doubled. | |\r\n\t\t// +-------------------------------------------------------------------------------------------------------+\r\n\t\tthis.append([settings.height || 150]);\r\n\t\t// d - Barcode data\r\n\t\t// +----------------------------------------------------------------------------------------------------------------+\r\n\t\t// | Bar code type | Defined area of k | Defined area of d |\r\n\t\t// +----------------------------------------------------------------------------------------------------------------+\r\n\t\t// | UPC-E | 11≤k≤12 | 48≤d≤57 (”0”≤d≤”9”) |\r\n\t\t// | UPC-A | 11≤k≤12 | 48≤d≤57 (”0”≤d≤”9”) |\r\n\t\t// | JAN/EAN8 | 7≤k≤8 | 48≤d≤57 (”0”≤d≤”9”) |\r\n\t\t// | JAN/EAN13 | 12≤k≤13 | 48≤d≤57 (”0”≤d≤”9”) |\r\n\t\t// | Code39 | 1≤k | 48≤d≤57 (”0”≤d≤”9”) |\r\n\t\t// | | | 65≤d≤90 (”A”≤d≤”Z”) |\r\n\t\t// | | | 32, 36, 37, 43, 45, 46, 47 (SP, ”$”, ”%”, ”+”, ”-“, ”.”, ”/”) |\r\n\t\t// | ITF | 1≤k | 48≤d≤57 (“0”≤d≤”9”) |\r\n\t\t// | | When an odd number: 0 is | |\r\n\t\t// | | automatically applied to the | |\r\n\t\t// | | top. | |\r\n\t\t// | Code128 | 1≤k | 0≤d≤127 |\r\n\t\t// | Code93 | 1≤k | 0≤d≤127 |\r\n\t\t// | NW-7 | 1≤k | 48≤d≤57 (”0”≤d≤”9”) |\r\n\t\t// | | | 65≤d≤68 (”A”≤d≤”D”) |\r\n\t\t// | | | 36, 43, 45, 46, 47, 58 (”$”, ”+”, ”-“, ”.”, ”/”, ”:”) |\r\n\t\t// | | | 97, 98, 99, 100 (”a”, ”b”, ”c”, ”d”) |\r\n\t\t// +----------------------------------------------------------------------------------------------------------------+\r\n\t\tthis.append(data.toBytes());\r\n\t\t// k - Barcode data count\r\n\t\t// • UPC – E: k = 11 (or 12)\r\n\t\t// The 12th check digit is automatically applied, so it is specified and ignored.\r\n\t\t// The command is ignored for data that cannot be shortened.\r\n\t\t// Automatically converts data to shortened form.\r\n\t\t//\r\n\t\t// • UPC – A: k = 11 (or 12)\r\n\t\t// The 12th check digit is automatically applied, so it is specified and ignored.\r\n\t\t//\r\n\t\t// • JAN/EAN – 8: k = 7 (or 8)\r\n\t\t// The 8th check digit is automatically applied, so it is specified and ignored.\r\n\t\t//\r\n\t\t// • JAN/EAN -13: k = 12 (or 13)\r\n\t\t// The 13th check digit cannot be automatically applied, so it is specified and ignored.\r\n\t\t//\r\n\t\t// • CODE 39: k is freely set, and maximum value differs according to the mode.\r\n\t\t// Start/stop code (“*”) is automatically applied.\r\n\t\t//\r\n\t\t// • ITF: k is freely set, and maximum value differs according to the mode.\r\n\t\t// If data is oddly numbered, a 0 is applied to the top.\r\n\t\t//\r\n\t\t// • CODE 128: k is freely set, and maximum value differs according to the mode and the print character type.\r\n\t\t// The check character is automatically applied.\r\n\t\t//\r\n\t\t// • CODE 93: k is freely set, and maximum value differs according to the mode and the print character type.\r\n\t\t// The check character (“□”) is automatically applied.\r\n\t\t//\r\n\t\t// • NW7: k is freely set, and maximum value differs according to the mode and the print character type.\r\n\r\n\t\t// NOTE: Not needed.\r\n\t\t// this.append([data.length]);\r\n\r\n\t\t// Start/stop codes included in the data (not automatically applied).\r\n\t\tthis.append([0x1e]);\r\n\t\treturn this.buffer;\r\n\t}\r\n\t//https://reference.epson-biz.com/modules/ref_escpos/index.php?content_id=88\r\n\tprinter.prototype.printImageBuffer = function(width, height, data)\r\n\t{\r\n\t\tthis.buffer = null;\r\n\t\t// Get pixel rgba in 2D array\r\n\t\tconst pixels = [];\r\n\t\tfor (let i = 0; i < height; i++) {\r\n\t\t\tconst line = [];\r\n\t\t\tfor (let j = 0; j < width; j++) {\r\n\t\t\t\tconst idx = (width * i + j) << 2;\r\n\t\t\t\tline.push({\r\n\t\t\t\t\tr: data[idx],\r\n\t\t\t\t\tg: data[idx + 1],\r\n\t\t\t\t\tb: data[idx + 2],\r\n\t\t\t\t\ta: data[idx + 3]\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tpixels.push(line);\r\n\t\t}\r\n\t\tthis.append([0x1b, 0x30]);\r\n\t\t// v3\r\n\t\tfor (let i = 0; i < Math.ceil(height / 24); i++) {\r\n\t\t\tlet imageBuffer = [];\r\n\t\t\tfor (let y = 0; y < 24; y++) {\r\n\t\t\t\tfor (let j = 0; j < Math.ceil(width / 8); j++) {\r\n\t\t\t\t\tlet byte = 0x0;\r\n\t\t\t\t\tfor (let x = 0; x < 8; x++) {\r\n\t\t\t\t\t\tif ((i * 24 + y < pixels.length) && (j * 8 + x < pixels[i * 24 + y].length)) {\r\n\t\t\t\t\t\tconst pixel = pixels[i * 24 + y][j * 8 + x];\r\n\t\t\t\t\t\tif (pixel.a > 126) { // checking transparency\r\n\t\t\t\t\t\t\tconst grayscale = parseInt(0.2126 * pixel.r + 0.7152 * pixel.g + 0.0722 * pixel.b);\r\n\r\n\t\t\t\t\t\t\tif (grayscale < 128) { // checking color\r\n\t\t\t\t\t\t\tconst mask = 1 << 7 - x; // setting bitwise mask\r\n\t\t\t\t\t\t\tbyte |= mask; // setting the correct bit to 1\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\timageBuffer = imageBuffer.concat([byte]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tthis.append([0x1b, 0x6b, parseInt(imageBuffer.length / 24), 0x00]);\r\n\t\t\tthis.append(imageBuffer);\r\n\t\t\tthis.append('\\n'.toBytes());\r\n\t\t}\r\n\t\tthis.append([0x1b, 0x7a, 0x01]);\r\n\t\treturn this.buffer;\r\n\t}\r\n\treturn printer;\r\n})();\r\n\r\nvar TancaPrinter = (function()\r\n{\r\n\tvar printer = function(){ this.config = TancaConfig; };\r\n\tprinter.prototype.getConfig = function() { return this.config; }\r\n\tprinter.prototype.append = function(appendBuffer)\r\n\t{\r\n\t\tif (this.buffer) {\r\n\t\t\tthis.buffer = this.buffer.concat(typeof appendBuffer == 'object' ? appendBuffer : [appendBuffer]);\r\n\t\t} else {\r\n\t\t\tthis.buffer = typeof appendBuffer == 'object' ? appendBuffer : [appendBuffer];\r\n\t\t}\r\n\t}\r\n\tprinter.prototype.beep = function() { return this.config.BEEP; }\r\n\tprinter.prototype.setTextSize = function(height, width)\r\n\t{\r\n\t\tthis.buffer = null;\r\n\t\tif (height > 7 || height < 0) throw new Error('setTextSize: Height must be between 0 and 7');\r\n\t\tif (width > 7 || width < 0) throw new Error('setTextSize: Width must be between 0 and 7');\r\n\t\tconst x = `${height}${width}`.hexToBytes();\r\n\t\tthis.append([0x1D, 0x21]);\r\n\t\tthis.append(x);\r\n\t\treturn this.buffer;\r\n\t}\r\n\tprinter.prototype.printQR = function(str, settings)\r\n\t{\r\n\t\tthis.buffer = null;\r\n\t\tsettings = settings || {};\r\n\t\t// [Name] Select the QR code model\r\n\t\t// [Code] 1D 28 6B 04 00 31 41 n1 n2\r\n\t\t// n1\r\n\t\t// [49 x31, model 1]\r\n\t\t// [50 x32, model 2]\r\n\t\t// [51 x33, micro qr code]\r\n\t\t// n2 = 0\r\n\t\t// https://reference.epson-biz.com/modules/ref_escpos/index.php?content_id=140\r\n\t\tif (settings.model) {\r\n\t\t\tif (settings.model === 1) this.append(this.config.QRCODE_MODEL1);\r\n\t\t\telse if (settings.model === 3) this.append(this.config.QRCODE_MODEL3);\r\n\t\t\telse this.append(this.config.QRCODE_MODEL2);\r\n\t\t} else {\r\n\t\t\tthis.append(this.config.QRCODE_MODEL2);\r\n\t\t}\r\n\t\t// [Name]: Set the size of module\r\n\t\t// 1D 28 6B 03 00 31 43 n\r\n\t\t// n depends on the printer\r\n\t\t// https://reference.epson-biz.com/modules/ref_escpos/index.php?content_id=141\r\n\t\tif (settings.cellSize) {\r\n\t\t\tconst i = 'QRCODE_CELLSIZE_'.concat(settings.cellSize.toString());\r\n\t\t\tthis.append(this.config[i]);\r\n\t\t} else {\r\n\t\t\tthis.append(this.config.QRCODE_CELLSIZE_3);\r\n\t\t}\r\n\t\t// [Name] Select the error correction level\r\n\t\t// 1D 28 6B 03 00 31 45 n\r\n\t\t// n\r\n\t\t// [48 x30 -> 7%]\r\n\t\t// [49 x31-> 15%]\r\n\t\t// [50 x32 -> 25%]\r\n\t\t// [51 x33 -> 30%]\r\n\t\t// https://reference.epson-biz.com/modules/ref_escpos/index.php?content_id=142\r\n\t\tif (settings.correction) {\r\n\t\t\tconst i = 'QRCODE_CORRECTION_'.concat(settings.correction.toUpperCase());\r\n\t\t\tthis.append(this.config[i]);\r\n\t\t} else {\r\n\t\t\tthis.append(this.config.QRCODE_CORRECTION_M);\r\n\t\t}\r\n\t\t// [Name] Store the data in the symbol storage area\r\n\t\t// 1D 28 6B pL pH 31 50 30 d1...dk\r\n\t\t// https://reference.epson-biz.com/modules/ref_escpos/index.php?content_id=143\r\n\t\tconst s = str.length + 3;\r\n\t\tconst lsb = parseInt(s % 256);\r\n\t\tconst msb = parseInt(s / 256);\r\n\t\tthis.append([0x1d, 0x28, 0x6b, lsb, msb, 0x31, 0x50, 0x30]);\r\n\t\tthis.append(str.toBytes());\r\n\t\t// [Name] Print the symbol data in the symbol storage area\r\n\t\t// 1D 28 6B 03 00 31 51 m\r\n\t\t// https://reference.epson-biz.com/modules/ref_escpos/index.php?content_id=144\r\n\t\tthis.append(this.config.QRCODE_PRINT);\r\n\t\treturn this.buffer;\r\n\t}\r\n\tprinter.prototype.pdf417 = function(data, settings)\r\n\t{\r\n\t\tthis.buffer = null;\r\n\t\tsettings = settings || {};\r\n\t\t// Set error correction ratio 1 - 40\r\n\t\tif (settings.correction) {\r\n\t\t\tthis.append(this.config.PDF417_CORRECTION);\r\n\t\t\tthis.append([settings.correction]);\r\n\t\t} else {\r\n\t\t\tthis.append(this.config.PDF417_CORRECTION);\r\n\t\t\tthis.append([0x01]);\r\n\t\t}\r\n\t\t// Set row height 2 - 8\r\n\t\tif (settings.rowHeight) {\r\n\t\t\tthis.append(this.config.PDF417_ROW_HEIGHT);\r\n\t\t\tthis.append([settings.rowHeight]);\r\n\t\t} else {\r\n\t\t\tthis.append(this.config.PDF417_ROW_HEIGHT);\r\n\t\t\tthis.append([0x03]);\r\n\t\t}\r\n\t\t// Set width of module 2 - 8\r\n\t\tif (settings.width) {\r\n\t\t\tthis.append(this.config.PDF417_WIDTH);\r\n\t\t\tthis.append([settings.width]);\r\n\t\t} else {\r\n\t\t\tthis.append(this.config.PDF417_WIDTH);\r\n\t\t\tthis.append([0x03]);\r\n\t\t}\r\n\t\t// Manually set columns 1 - 30\r\n\t\tif (settings.columns) {\r\n\t\t\tthis.append(this.config.PDF417_COLUMNS);\r\n\t\t\tthis.append([settings.columns]);\r\n\t\t} else {\r\n\t\t\t// Default to auto\r\n\t\t\tthis.append(this.config.PDF417_COLUMNS);\r\n\t\t\tthis.append([0x00]);\r\n\t\t}\r\n\t\t// Standard or truncated option\r\n\t\tif (settings.truncated) this.append(this.config.PDF417_OPTION_TRUNCATED);\r\n\t\telse this.append(this.config.PDF417_OPTION_STANDARD);\r\n\t\t// Set PDF417 bar code data\r\n\t\tconst s = data.length + 3;\r\n\t\tconst lsb = parseInt(s % 256);\r\n\t\tconst msb = parseInt(s / 256);\r\n\t\tthis.append([0x1d, 0x28, 0x6b, lsb, msb, 0x30, 0x50, 0x30]);\r\n\t\tthis.append(data.toString().toBytes());\r\n\t\t// Print barcode\r\n\t\tthis.append(this.config.PDF417_PRINT);\r\n\t\treturn this.buffer;\r\n\t}\r\n\tprinter.prototype.maxiCode = function(data, settings)\r\n\t{\r\n\t\tthis.buffer = null;\r\n\t\tsettings = settings || {};\r\n\t\t// Maxi Mode\r\n\t\t// 2 - Formatted data/structured Carrier Message with a numeric postal code. (US)\r\n\t\t// 3 - Formatted data/structured Carrier Message with a numeric postal code. (International)\r\n\t\t// 4 - Unformatted data/Standard Error Correction.\r\n\t\t// 5 - Unformatted data/Enhanced Error Correction.\r\n\t\t// 6 - Used for programming hardware devices.\r\n\t\tif (settings.mode) {\r\n\t\t\tif (settings.mode == 2) this.append(this.config.MAXI_MODE2);\r\n\t\t\telse if (settings.mode == 3) this.append(this.config.MAXI_MODE3);\r\n\t\t\telse if (settings.mode == 5) this.append(this.config.MAXI_MODE5);\r\n\t\t\telse if (settings.mode == 6) this.append(this.config.MAXI_MODE6);\r\n\t\t\telse this.append(this.config.MAXI_MODE4);\r\n\t\t} else {\r\n\t\t\tthis.append(this.config.MAXI_MODE4);\r\n\t\t}\r\n\t\t// Setup size of MaxiCode data\r\n\t\tconst s = data.length + 3;\r\n\t\tconst lsb = parseInt(s % 256);\r\n\t\tconst msb = parseInt(s / 256);\r\n\t\t// Send Data\r\n\t\tthis.append([0x1d, 0x28, 0x6b, lsb, msb, 0x32, 0x50, 0x30]);\r\n\t\tthis.append(data.toString().toBytes());\r\n\t\t// Print barcode\r\n\t\tthis.append(this.config.MAXI_PRINT);\r\n\t\treturn this.buffer;\r\n\t}\r\n\tprinter.prototype.code128 = function(data, settings)\r\n\t{\r\n\t\t//Not implemented...\r\n\t}\r\n\tprinter.prototype.printBarcode = function(data, type, settings)\r\n\t{\r\n\t\tthis.buffer = null;\r\n\t\tsettings = settings || {};\r\n\t\t// Set HRI characters Position, 0-3 (none, top, bottom, top/bottom)\r\n\t\tif (settings.hriPos) {\r\n\t\t\tthis.append([0x1d, 0x48]); // GS H\r\n\t\t\tthis.append([settings.hriPos]);\r\n\t\t} else {\r\n\t\t\tthis.append([0x1d, 0x48, 0x00]);\r\n\t\t}\r\n\t\t// Set HRI character font. 0-4, 48-52, 97, 98 (depending on printer, 0 and 1 available on all), default 0\r\n\t\tif (settings.hriFont) {\r\n\t\t\tthis.append([0x1d, 0x66]); // GS f\r\n\t\t\tthis.append([settings.hriFont]);\r\n\t\t} else {\r\n\t\t\tthis.append([0x1d, 0x66, 0x00]);\r\n\t\t}\r\n\t\t// Set width 2-6, default 3\r\n\t\tif (settings.width) {\r\n\t\t\tthis.append([0x1d, 0x77]); // GS W\r\n\t\t\tthis.append([settings.width]);\r\n\t\t} else {\r\n\t\t\tthis.append([0x1d, 0x77, 0x03]);\r\n\t\t}\r\n\t\t// Set height 1 - 255 default 162\r\n\t\tif (settings.height) {\r\n\t\t\tthis.append([0x1d, 0x68]); // GS h\r\n\t\t\tthis.append([settings.height]);\r\n\t\t} else {\r\n\t\t\tthis.append([0x1d, 0x68, 0xA2]);\r\n\t\t}\r\n\t\t// Print Barcode\r\n\t\tthis.append([0x1d, 0x6b]); // GS k\r\n\t\t// Select type and bit length of data\r\n\t\tthis.append([type, data.length]);\r\n\t\t// Data\r\n\t\tthis.append(data.toBytes());\r\n\t\treturn this.buffer;\r\n\t}\r\n\t//https://reference.epson-biz.com/modules/ref_escpos/index.php?content_id=88\r\n\tprinter.prototype.printImageBuffer = function(width, height, data)\r\n\t{\r\n\t\tthis.buffer = null;\r\n\t\t// Get pixel rgba in 2D array\r\n\t\tconst pixels = [];\r\n\t\tfor (let i = 0; i < height; i++) {\r\n\t\t\tconst line = [];\r\n\t\t\tfor (let j = 0; j < width; j++) {\r\n\t\t\t\tconst idx = (width * i + j) << 2;\r\n\t\t\t\tline.push({\r\n\t\t\t\t\tr: data[idx],\r\n\t\t\t\t\tg: data[idx + 1],\r\n\t\t\t\t\tb: data[idx + 2],\r\n\t\t\t\t\ta: data[idx + 3]\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tpixels.push(line);\r\n\t\t}\r\n\t\tconst imageBufferArray = [];\r\n\t\tfor (let i = 0; i < height; i++) {\r\n\t\t\tfor (let j = 0; j < Math.ceil(width / 8); j++) {\r\n\t\t\t\tlet byte = 0x0;\r\n\t\t\t\tfor (let k = 0; k < 8; k++) {\r\n\t\t\t\t\tlet pixel = pixels[i][j * 8 + k];\r\n\t\t\t\t\t// Image overflow\r\n\t\t\t\t\tif (pixel === undefined) {\r\n\t\t\t\t\t\tpixel = {\r\n\t\t\t\t\t\t\ta: 0,\r\n\t\t\t\t\t\t\tr: 0,\r\n\t\t\t\t\t\t\tg: 0,\r\n\t\t\t\t\t\t\tb: 0\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (pixel.a > 126) { // checking transparency\r\n\t\t\t\t\t\tconst grayscale = parseInt(0.2126 * pixel.r + 0.7152 * pixel.g + 0.0722 * pixel.b);\r\n\t\t\t\t\t\tif (grayscale < 128) { // checking color\r\n\t\t\t\t\t\t\tconst mask = 1 << 7 - k; // setting bitwise mask\r\n\t\t\t\t\t\t\tbyte |= mask; // setting the correct bit to 1\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\timageBufferArray.push(byte);\r\n\t\t\t\t// imageBuffer = imageBuffer.concat([byte]);\r\n\t\t\t}\r\n\t\t}\r\n\t\tconst imageBuffer = imageBufferArray;\r\n\t\t// Print raster bit image\r\n\t\t// GS v 0\r\n\t\t// 1D 76 30 m xL xH yL yH d1...dk\r\n\t\t// xL = (this.width >> 3) & 0xff;\r\n\t\t// xH = 0x00;\r\n\t\t// yL = this.height & 0xff;\r\n\t\t// yH = (this.height >> 8) & 0xff;\r\n\t\t// https://reference.epson-biz.com/modules/ref_escpos/index.php?content_id=94\r\n\t\t// Check if width/8 is decimal\r\n\t\tif (width % 8 != 0) {\r\n\t\t\twidth += 8;\r\n\t\t}\r\n\t\tthis.append([0x1d, 0x76, 0x30, 48]);\r\n\t\tthis.append([(width >> 3) & 0xff]);\r\n\t\tthis.append([0x00]);\r\n\t\tthis.append([height & 0xff]);\r\n\t\tthis.append([(height >> 8) & 0xff]);\r\n\t\t// append data\r\n\t\tthis.append(imageBuffer);\r\n\t\treturn this.buffer;\r\n\t}\r\n\treturn printer;\r\n})();\r\n\r\nvar ThermalPrinter = (function()\r\n{\r\n\tvar api = function(printerName, config)\r\n\t{\r\n\t\tthis.buffer = null;\r\n\t\tthis.config = null;\r\n\t\tthis.printer = null;\r\n\t\tthis.configName = '';\r\n\t\tif(printerName.toLowerCase().includes('tanca') && !printerName.toLowerCase().includes('epson'))\r\n\t\t{\r\n\t\t\tthis.printer = new TancaPrinter();\r\n\t\t\tthis.configName = 'tanca';\r\n\t\t}\r\n\t\telse if(printerName.toLowerCase().includes('star') && !printerName.toLowerCase().includes('epson'))\r\n\t\t{\r\n\t\t\tthis.printer = new StarPrinter();\r\n\t\t\tthis.configName = 'star';\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tthis.printer = new EpsonPrinter();\r\n\t\t\tthis.configName = 'epson';\r\n\t\t}\r\n\t\tthis.config = {\r\n\t\t\twidth: config.width || 42,\r\n\t\t\tcharacterSet: 'PC863_CANADIAN_FRENCH',\r\n\t\t\tlineCharacter: '-'\r\n\t\t};\r\n\t\tthis.setCharacterSet(this.config.characterSet);\r\n\t};\r\n\t\r\n\tapi.prototype.getOutput = function()\r\n\t{\r\n\t\t// _data = _data.concat([0x00A]);//Line feed\r\n\t\t// _data = _data.concat([0x00A]);//Line feed\r\n\t\t// _data = _data.concat([0x01B, 0x064, 2]);//End print\r\n\t\t// _data = _data.concat([0x01D, 0x056, 1]);//Cut paper full\r\n\t\t// const buffer = new Uint8Array(_data).buffer;\r\n\t\t// _data = [];\r\n\t\t// return buffer;\r\n\t\treturn new Uint8Array(this.buffer).buffer;\r\n\t}\r\n\r\n\tapi.prototype.cut = function()\r\n\t{\r\n\t\tthis.append(this.printer.config.CTL_VT);\r\n\t\tthis.append(this.printer.config.CTL_VT);\r\n\t\tthis.append(this.printer.config.PAPER_FULL_CUT);\r\n\t\tthis.append(this.printer.config.HW_INIT);\r\n\t}\r\n\r\n\tapi.prototype.partialCut = function()\r\n\t{\r\n\t\tthis.append(this.printer.config.CTL_VT);\r\n\t\tthis.append(this.printer.config.CTL_VT);\r\n\t\tthis.append(this.printer.config.PAPER_PART_CUT);\r\n\t\tthis.append(this.printer.config.HW_INIT);\r\n\t}\r\n\r\n\tapi.prototype.getWidth = function()\r\n\t{\r\n\t\treturn parseInt(this.config.width);\r\n\t}\r\n\r\n\tapi.prototype.getText = function()\r\n\t{\r\n\t\treturn this.buffer.toString();\r\n\t}\r\n\r\n\tapi.prototype.getBuffer = function()\r\n\t{\r\n\t\treturn this.buffer;\r\n\t}\r\n\r\n\tapi.prototype.setBuffer = function(newBuffer)\r\n\t{\r\n\t\tthis.buffer = newBuffer;\r\n\t}\r\n\r\n\tapi.prototype.clear = function()\r\n\t{\r\n\t\tthis.buffer = null;\r\n\t}\r\n\r\n\tapi.prototype.add = function(buffer)\r\n\t{\r\n\t\tthis.append(buffer);\r\n\t}\r\n\r\n\tapi.prototype.print = function(text)\r\n\t{\r\n\t\ttext = text || '';\r\n\t\tthis.append(text.toString());\r\n\t}\r\n\r\n\tapi.prototype.println = function(text)\r\n\t{\r\n\t\tthis.print(text);\r\n\t\tthis.append('\\n');\r\n\t}\r\n\r\n\tapi.prototype.printVerticalTab = function()\r\n\t{\r\n\t\tthis.append(this.printer.config.CTL_VT);\r\n\t}\r\n\r\n\tapi.prototype.bold = function(enabled)\r\n\t{\r\n\t\tif (enabled) this.append(this.printer.config.TXT_BOLD_ON);\r\n\t\telse this.append(this.printer.config.TXT_BOLD_OFF);\r\n\t}\r\n\r\n\tapi.prototype.underline = function(enabled)\r\n\t{\r\n\t\tif (enabled) this.append(this.printer.config.TXT_UNDERL_ON);\r\n\t\telse this.append(this.printer.config.TXT_UNDERL_OFF);\r\n\t}\r\n\r\n\tapi.prototype.underlineThick = function(enabled)\r\n\t{\r\n\t\tif (enabled) this.append(this.printer.config.TXT_UNDERL2_ON);\r\n\t\telse this.append(this.printer.config.TXT_UNDERL_OFF);\r\n\t}\r\n\r\n\tapi.prototype.upsideDown = function(enabled)\r\n\t{\r\n\t\tif (enabled) this.append(this.printer.config.UPSIDE_DOWN_ON);\r\n\t\telse this.append(this.printer.config.UPSIDE_DOWN_OFF);\r\n\t}\r\n\r\n\tapi.prototype.invert = function(enabled)\r\n\t{\r\n\t\tif (enabled) this.append(this.printer.config.TXT_INVERT_ON);\r\n\t\telse this.append(this.printer.config.TXT_INVERT_OFF);\r\n\t}\r\n\r\n\tapi.prototype.openCashDrawer = function()\r\n\t{\r\n\t\tif (this.configName == 'star') {\r\n\t\t\tthis.append(this.printer.config.CD_KICK);\r\n\t\t} else {\r\n\t\t\tthis.append(this.printer.config.CD_KICK_2);\r\n\t\t\tthis.append(this.printer.config.CD_KICK_5);\r\n\t\t}\r\n\t}\r\n\r\n\tapi.prototype.alignCenter = function()\r\n\t{\r\n\t\tthis.append(this.printer.config.TXT_ALIGN_CT);\r\n\t}\r\n\r\n\tapi.prototype.alignLeft = function()\r\n\t{\r\n\t\tthis.append(this.printer.config.TXT_ALIGN_LT);\r\n\t}\r\n\r\n\tapi.prototype.alignRight = function()\r\n\t{\r\n\t\tthis.append(this.printer.config.TXT_ALIGN_RT);\r\n\t}\r\n\r\n\tapi.prototype.setTypeFontA = function()\r\n\t{\r\n\t\tthis.append(this.printer.config.TXT_FONT_A);\r\n\t}\r\n\r\n\tapi.prototype.setTypeFontB = function()\r\n\t{\r\n\t\tthis.append(this.printer.config.TXT_FONT_B);\r\n\t}\r\n\r\n\tapi.prototype.setTextNormal = function()\r\n\t{\r\n\t\tthis.append(this.printer.config.TXT_NORMAL);\r\n\t}\r\n\r\n\tapi.prototype.setTextDoubleHeight = function()\r\n\t{\r\n\t\tthis.append(this.printer.config.TXT_2HEIGHT);\r\n\t}\r\n\r\n\tapi.prototype.setTextDoubleWidth = function()\r\n\t{\r\n\t\tthis.append(this.printer.config.TXT_2WIDTH);\r\n\t}\r\n\r\n\tapi.prototype.setTextQuadArea = function()\r\n\t{\r\n\t\tthis.append(this.printer.config.TXT_4SQUARE);\r\n\t}\r\n\r\n\tapi.prototype.setTextSize = function(height, width)\r\n\t{\r\n\t\tthis.append(this.printer.setTextSize(height, width));\r\n\t}\r\n\r\n\tapi.prototype.newLine = function()\r\n\t{\r\n\t\tthis.append(this.printer.config.CTL_LF);\r\n\t}\r\n\r\n\tapi.prototype.drawLine = function()\r\n\t{\r\n\t\t// this.newLine();\r\n\t\tfor (let i = 0; i < this.config.width; i++)\r\n\t\t{\r\n\t\t\tthis.append(this.config.lineCharacter);\r\n\t\t}\r\n\t\tthis.newLine();\r\n\t}\r\n\r\n\tapi.prototype.leftRight = function(left, right)\r\n\t{\r\n\t\tthis.append(left.toString());\r\n\t\tconst width = this.config.width - left.toString().length - right.toString().length;\r\n\t\tfor (let i = 0; i < width; i++) {\r\n\t\t\tthis.append(' '.toBytes());\r\n\t\t}\r\n\t\tthis.append(right.toString());\r\n\t}\r\n\r\n\tapi.prototype.table = function(data)\r\n\t{\r\n\t\tconst cellWidth = this.config.width / data.length;\r\n\t\tfor (let i = 0; i < data.length; i++) {\r\n\t\t\tthis.append(data[i].toString());\r\n\t\t\tconst spaces = cellWidth - data[i].toString().length;\r\n\t\t\tfor (let j = 0; j < spaces; j++) {\r\n\t\t\t\tthis.append(' '.toBytes());\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis.newLine();\r\n\t}\r\n\r\n\tapi.prototype.tableCustom = function(data)\r\n\t{\r\n\t\tlet cellWidth = this.config.width / data.length;\r\n\t\tconst secondLine = [];\r\n\t\tlet secondLineEnabled = false;\r\n\t\tfor (let i = 0; i < data.length; i++) {\r\n\t\t\tlet tooLong = false;\r\n\t\t\tconst obj = data[i];\r\n\t\t\tobj.text = obj.text.toString();\r\n\t\t\tif (obj.width) {\r\n\t\t\t\tcellWidth = this.config.width * obj.width;\r\n\t\t\t} else if (obj.cols) {\r\n\t\t\t\tcellWidth = obj.cols;\r\n\t\t\t}\r\n\t\t\tif (obj.bold) {\r\n\t\t\t\tthis.bold(true);\r\n\t\t\t}\r\n\t\t\t// If text is too wide go to next line\r\n\t\t\tif (cellWidth < obj.text.length) {\r\n\t\t\t\ttooLong = true;\r\n\t\t\t\tobj.originalText = obj.text;\r\n\t\t\t\tobj.text = obj.text.substring(0, cellWidth - 1);\r\n\t\t\t}\r\n\t\t\tif (obj.align == 'CENTER') {\r\n\t\t\t\tconst spaces = (cellWidth - obj.text.toString().length) / 2;\r\n\t\t\t\tfor (let j = 0; j < spaces; j++) {\r\n\t\t\t\t\tthis.append(' '.toBytes());\r\n\t\t\t\t}\r\n\t\t\t\tif (obj.text != '') this.append(obj.text);\r\n\t\t\t\tfor (let j = 0; j < spaces - 1; j++) {\r\n\t\t\t\t\tthis.append(' '.toBytes());\r\n\t\t\t\t}\r\n\t\t\t} else if (obj.align == 'RIGHT') {\r\n\t\t\t\tconst spaces = cellWidth - obj.text.toString().length;\r\n\t\t\t\tfor (let j = 0; j < spaces; j++) {\r\n\t\t\t\t\tthis.append(' '.toBytes());\r\n\t\t\t\t}\r\n\t\t\t\tif (obj.text != '') this.append(obj.text);\r\n\t\t\t} else {\r\n\t\t\t\tif (obj.text != '') this.append(obj.text);\r\n\t\t\t\tconst spaces = cellWidth - obj.text.toString().length;\r\n\t\t\t\tfor (let j = 0; j < spaces; j++) {\r\n\t\t\t\t\tthis.append(' '.toBytes());\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (obj.bold) {\r\n\t\t\t\tthis.bold(false);\r\n\t\t\t}\r\n\t\t\tif (tooLong) {\r\n\t\t\t\tsecondLineEnabled = true;\r\n\t\t\t\tobj.text = obj.originalText.substring(cellWidth - 1);\r\n\t\t\t\tsecondLine.push(obj);\r\n\t\t\t} else {\r\n\t\t\t\tobj.text = '';\r\n\t\t\t\tsecondLine.push(obj);\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis.newLine();\r\n\t\t// Print the second line\r\n\t\tif (secondLineEnabled) {\r\n\t\t\tthis.tableCustom(secondLine);\r\n\t\t}\r\n\t}\r\n\r\n\tapi.prototype.beep = function()\r\n\t{\r\n\t\tthis.append(this.printer.beep());\r\n\t}\r\n\r\n\tapi.prototype.printQR = function(data, settings)\r\n\t{\r\n\t\tthis.append(this.printer.printQR(data, settings));\r\n\t}\r\n\r\n\tapi.prototype.printBarcode = function(data, type, settings)\r\n\t{\r\n\t\tthis.append(this.printer.printBarcode(data, type, settings));\r\n\t}\r\n\r\n\tapi.prototype.maxiCode = function(data, settings)\r\n\t{\r\n\t\tthis.append(this.printer.maxiCode(data, settings));\r\n\t}\r\n\r\n\tapi.prototype.code128 = function(data, settings)\r\n\t{\r\n\t\tthis.append(this.printer.code128(data, settings));\r\n\t}\r\n\r\n\tapi.prototype.pdf417 = function(data, settings)\r\n\t{\r\n\t\tthis.append(this.printer.pdf417(data, settings));\r\n\t}\r\n\r\n api.prototype.createImageElement = function(file)\r\n {\r\n return new Promise (function (resolved, rejected) {\r\n var i = new Image()\r\n i.onload = function(){\r\n resolved({w: i.width, h: i.height, img: i})\r\n };\r\n i.src = file\r\n })\r\n }\r\n\r\n api.prototype.getImageData = function(image)\r\n {\r\n const canvas = document.createElement(\"canvas\");\r\n canvas.width = image.w;\r\n canvas.height = image.h;\r\n const ctx = canvas.getContext(\"2d\");\r\n ctx.drawImage(image.img, 0, 0);\r\n const imgData = ctx.getImageData(0, 0, image.w, image.h);\r\n canvas.remove();\r\n return imgData.data;\r\n }\r\n\r\n\tapi.prototype.printImage = async function(url)\r\n\t{\r\n if (url.slice(-4) === '.png' || url.startsWith('data:image/png;')) {\r\n const image = await this.createImageElement(url);\r\n const buff = this.printer.printImageBuffer(image.w, image.h, this.getImageData(image));\r\n this.append(buff);\r\n return buff;\r\n } else {\r\n throw new Error('Image printing supports only PNG files.');\r\n }\r\n\t}\r\n\r\n\tapi.prototype.setCharacterSet = function(characterSet)\r\n\t{\r\n\t\tconst buffer = this.printer.config[`CODE_PAGE_${characterSet}`];\r\n\t\tif (buffer) {\r\n\t\t\tthis.append(buffer);\r\n\t\t\tthis.config.codePage = characterSet;\r\n\t\t} else {\r\n\t\t\tthrow new Error(`Code page not recognized: '${characterSet}'`);\r\n\t\t}\r\n\t}\r\n\r\n\tapi.prototype.append = function(text)\r\n\t{\r\n\t\tif (typeof text === 'string')\r\n\t\t{\r\n\t\t\tlet endBuff = null;\r\n\t\t\tfor (const char of text) {\r\n\t\t\t\tlet code = char;\r\n\t\t\t\t//@ts-ignore\r\n\t\t\t\t// if (!/^[\\x00-\\x7F]$/.test(char)) {\r\n\t\t\t\t// \tcode = '';//Handle special character\r\n\t\t\t\t// }\r\n\t\t\t\tcode = typeof code == 'string' ? code.toBytes() : code;\r\n\t\t\t\tendBuff = endBuff ? [...endBuff, ...code] : code;\r\n\t\t\t}\r\n\t\t\ttext = endBuff;\r\n\t\t}\r\n\t\t// Append buffer\r\n\t\tif (text) {\r\n\t\t\tif (this.buffer) {\r\n\t\t\t\tthis.buffer = this.buffer.concat(typeof text == 'string' ? text.toBytes() : text);\r\n\t\t\t} else {\r\n\t\t\t\tthis.buffer = typeof text == 'string' ? text.toBytes() : text;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn api;\r\n})();\r\n\r\nexport default ThermalPrinter;\r\n","// Copyright 2022 Lexoh Inc. All rights reserved.\r\n// NOTICE: All information contained herein is, and remains the property of\r\n// Lexoh Inc. The intellectual and technical concepts contained herein are\r\n// proprietary to Lexoh Inc and may be covered by Canada and Foreign Patents, patents\r\n// in process, and are protected by trade secret or copyright law. Dissemination\r\n// of this information or reproduction of this material is strictly forbidden\r\n// unless prior written permission is obtained from Lexoh Inc. Access to the source\r\n// code contained herein is hereby forbidden to anyone except current Lexoh Inc\r\n// employees, managers or contractors who have executed Confidentiality and\r\n// Non-disclosure agreements explicitly covering such access.\r\nimport moment from 'moment-timezone';\r\nimport { utf8ToAnsi } from 'utf8-to-ansi';\r\nimport { useI18n } from 'vue-i18n';\r\nimport ThermalPrinter from './Thermal';\r\nimport Timezone from './Timezone';\r\nimport ConfigService from '../services/config.service';\r\n\r\nexport default class Printer\r\n{\r\n $store = null;\r\n $translate = null;\r\n Printer_USBDevices = [];\r\n Printer_lastUsedUSBDevice = null;\r\n constructor(store, translate)\r\n {\r\n this.$store = store;\r\n this.$translate = translate;\r\n }\r\n\r\n async BindListeners()\r\n {\r\n //@ts-ignore\r\n if (typeof navigator.usb != 'undefined') {\r\n //@ts-ignore\r\n navigator.usb.addEventListener('connect', event => {\r\n // Add event.device to the UI.\r\n const preferedUSBDevice = localStorage.getItem('prefered_coupon_usb');\r\n if (preferedUSBDevice != null &&\r\n //@ts-ignore\r\n preferedUSBDevice == device.vendorId + '_' + device.productId + (typeof device.serialNumber != 'undefined' ? '_' + device.serialNumber : '')) {\r\n this.Printer_lastUsedUSBDevice = event.device;\r\n }\r\n });\r\n //@ts-ignore\r\n navigator.usb.addEventListener('disconnect', event => {\r\n if (this.Printer_lastUsedUSBDevice == event.device) {\r\n this.Printer_lastUsedUSBDevice = null;\r\n }\r\n });\r\n //On load...\r\n await this.RefreshUSBDevices();\r\n const preferedUSBDevice = localStorage.getItem('prefered_coupon_usb');\r\n for(let i = 0; i < this.Printer_USBDevices.length; i++) {\r\n const device = this.Printer_USBDevices[i];\r\n if (preferedUSBDevice != null &&\r\n //@ts-ignore\r\n preferedUSBDevice == device.vendorId + '_' + device.productId + (typeof device.serialNumber != 'undefined' ? '_' + device.serialNumber : '')) {\r\n this.Printer_lastUsedUSBDevice = device;\r\n }\r\n }\r\n }\r\n }\r\n\r\n SetPreferedUSBDevice(device)\r\n {\r\n const preferedUSBDevice = device.vendorId + '_' + device.productId + (typeof device.serialNumber != 'undefined' ? '_' + device.serialNumber : '');\r\n localStorage.setItem('prefered_coupon_usb', preferedUSBDevice);\r\n }\r\n\r\n async GetSystemLogo()\r\n {\r\n try\r\n {\r\n const response = await ConfigService.list('general');\r\n if(response.success)\r\n {\r\n const config = response.configs.filter((x) => x.name == 'logo');\r\n if (config.length == 1 && config[0].value != '') {\r\n return config[0].value;\r\n }\r\n }\r\n }\r\n catch(error)\r\n {\r\n console.error(error);\r\n }\r\n return false;\r\n }\r\n\r\n async GetCouponText(locale)\r\n {\r\n try\r\n {\r\n const response = await ConfigService.list('general');\r\n if(response.success)\r\n {\r\n const config = response.configs.filter((x) => x.name == 'coupontxt' + locale);\r\n if (config.length == 1 && config[0].value != '') {\r\n return config[0].value;\r\n }\r\n }\r\n }\r\n catch(error)\r\n {\r\n console.error(error);\r\n }\r\n return '';\r\n }\r\n\r\n async PrintAccessCard(access_card, locale)\r\n {\r\n try\r\n {\r\n const translate = this.$translate;\r\n const coupontxt = utf8ToAnsi(await this.GetCouponText(locale));\r\n const device = await this.GetUSBDevice();\r\n const thermal = new ThermalPrinter(device.manufacturerName, { width: 42 });\r\n thermal.alignCenter();\r\n const logo = await this.GetSystemLogo();\r\n await thermal.printImage(logo ? logo : '/assets/logo.png');\r\n thermal.newLine();\r\n thermal.alignLeft();\r\n //@ts-ignore\r\n thermal.print(utf8ToAnsi(translate('access_card')) + ' - ' + moment().utcOffset(Timezone.getTimezone(this.$store.state.auth.user)).format('YYYY-MM-DD HH:mm a'));\r\n thermal.newLine();\r\n //@ts-ignore\r\n thermal.leftRight(utf8ToAnsi(translate('max_vehicles')) + \":\", access_card.max_entrance);\r\n //@ts-ignore\r\n thermal.leftRight(utf8ToAnsi(translate('validation_date')) + \":\", moment(access_card.validation_date).utcOffset(Timezone.getTimezone(this.$store.state.auth.user)).format('YYYY-MM-DD'));\r\n //@ts-ignore\r\n thermal.leftRight(utf8ToAnsi(translate('expiration_date')) + \":\", moment(access_card.expiration_date).utcOffset(Timezone.getTimezone(this.$store.state.auth.user)).format('YYYY-MM-DD'));\r\n //@ts-ignore\r\n thermal.leftRight(utf8ToAnsi(translate('between_hours_start')) + \":\", moment(access_card.between_hours_start).utcOffset(Timezone.getTimezone(this.$store.state.auth.user)).format('HH:mm a'));\r\n //@ts-ignore\r\n thermal.leftRight(utf8ToAnsi(translate('between_hours_end')) + \":\", moment(access_card.between_hours_end).utcOffset(Timezone.getTimezone(this.$store.state.auth.user)).format('HH:mm a'));\r\n let days = '';\r\n //@ts-ignore\r\n if(access_card.allow_monday) days = utf8ToAnsi(translate('day_2'));\r\n //@ts-ignore\r\n if(access_card.allow_tuesday) days += (days == '' ? '' : ', ') + utf8ToAnsi(translate('day_3'));\r\n //@ts-ignore\r\n if(access_card.allow_wednesday) days += (days == '' ? '' : ', ') + utf8ToAnsi(translate('day_4'));\r\n //@ts-ignore\r\n if(access_card.allow_thursday) days += (days == '' ? '' : ', ') + utf8ToAnsi(translate('day_5'));\r\n //@ts-ignore\r\n if(access_card.allow_friday) days += (days == '' ? '' : ', ') + utf8ToAnsi(translate('day_6'));\r\n //@ts-ignore\r\n if(access_card.allow_saturday) days += (days == '' ? '' : ', ') + utf8ToAnsi(translate('day_7'));\r\n //@ts-ignore\r\n if(access_card.allow_sunday) days += (days == '' ? '' : ', ') + utf8ToAnsi(translate('day_1'));\r\n //@ts-ignore\r\n thermal.leftRight(utf8ToAnsi(translate('allowed_days')) + \": \", days);\r\n //\r\n thermal.newLine();\r\n thermal.newLine();\r\n thermal.alignCenter();\r\n if(access_card.type == '1')\r\n {\r\n thermal.printQR('lexohparkingqr:' + access_card.username, {\r\n cellSize: 8, // 1 - 8\r\n correction: 'H', // L(7%), M(15%), Q(25%), H(30%)\r\n model: 2\r\n })\r\n }\r\n else if(access_card.type == '2')\r\n {\r\n thermal.code128(access_card.username, {\r\n height: 80, // 50 < x < 80\r\n hriPos: 2\r\n });\r\n // thermal.printBarcode(access_card.username, 69, {\r\n // \theight: 80, // 50 < x < 80\r\n // \thriPos: 2\r\n // });\r\n }\r\n thermal.newLine();\r\n //@ts-ignore\r\n thermal.print(utf8ToAnsi(translate('nip')) + ' - ' + access_card.username);\r\n\r\n thermal.newLine();\r\n thermal.alignLeft();\r\n thermal.print(coupontxt);\r\n thermal.cut();\r\n const buffer = thermal.getOutput();\r\n return await this.PrintBufferViaUSB(buffer, device);\r\n }\r\n catch(error)\r\n {\r\n console.error(error);\r\n }\r\n return false;\r\n }\r\n\r\n async RefreshUSBDevices()\r\n {\r\n //@ts-ignore\r\n if (typeof navigator.usb != 'undefined') this.Printer_USBDevices = await navigator.usb.getDevices();\r\n return this.Printer_USBDevices;\r\n }\r\n\r\n async GetUSBDevice()\r\n {\r\n //@ts-ignore\r\n if (typeof navigator.usb == 'undefined') return null;\r\n if (this.Printer_lastUsedUSBDevice != null) {\r\n //@ts-ignore\r\n this.Printer_USBDevices = await navigator.usb.getDevices();\r\n //@ts-ignore\r\n if (this.Printer_USBDevices.filter((device) => device.vendorId == this.Printer_lastUsedUSBDevice.vendorId && device.productId == this.Printer_lastUsedUSBDevice.productId && (typeof this.Printer_lastUsedUSBDevice.serialNumber != 'undefined' ? device.serialNumber == this.Printer_lastUsedUSBDevice.serialNumber : true)).length > 0) {\r\n return this.Printer_lastUsedUSBDevice;\r\n }\r\n }\r\n //@ts-ignore\r\n return await navigator.usb.requestDevice({filters:[]});\r\n }\r\n\r\n async PrintBufferViaUSB(buffer, device)\r\n {\r\n try\r\n {\r\n //@ts-ignore\r\n if (typeof navigator.usb == 'undefined') return false;\r\n if (typeof device == 'undefined' || device == null || device == false) {\r\n device = await this.GetUSBDevice();\r\n }\r\n if (device.opened != true) await device.open();\r\n console.log('opened device!');\r\n const { interfaceNumber } = device.configuration.interfaces[0];\r\n await device.claimInterface(interfaceNumber);\r\n console.log('claimed interface:', interfaceNumber);\r\n const outpoint = device.configuration.interfaces[0].alternate.endpoints.find(ep => ep.direction == 'out');\r\n await device.transferOut(outpoint.endpointNumber, buffer);\r\n console.log('transfered to:', outpoint.endpointNumber);\r\n await device.close();\r\n console.log('closed device!');\r\n this.Printer_lastUsedUSBDevice = device;\r\n return true;\r\n }\r\n catch(error)\r\n {\r\n this.Printer_lastUsedUSBDevice = null;\r\n console.error(error);\r\n }\r\n return false;\r\n }\r\n}","const WS_URL = process.env.NODE_ENV == 'development' ? 'wss://' + window.location.hostname + ':3001/' : 'wss://' + window.location.hostname + ':3001/';\r\n\r\nclass SocketService\r\n{\r\n initialize(app)\r\n {\r\n //@ts-ignore\r\n SocketService.Socket = new WebSocket(WS_URL);\r\n //@ts-ignore\r\n SocketService.Socket.onopen = function()\r\n {\r\n console.log('CONNECTED');\r\n };\r\n //@ts-ignore\r\n SocketService.Socket.onmessage = function (evt) {\r\n try\r\n {\r\n const json = JSON.parse(evt.data);\r\n switch(json.Action)\r\n {\r\n case 'ChangeState':\r\n {\r\n app.$eventBus.emit('device_state_changed', json);\r\n }\r\n break;\r\n }\r\n }\r\n catch(error)\r\n {\r\n console.error(error);\r\n }\r\n };\r\n //@ts-ignore\r\n SocketService.Socket.onclose = function() {\r\n localStorage.removeItem('user');\r\n window.location.href = '/';\r\n };\r\n }\r\n\r\n send(data: string)\r\n {\r\n //@ts-ignore\r\n SocketService.Socket.send(data);\r\n }\r\n}\r\n\r\nexport default SocketService;\r\n","\r\n import { defineComponent } from 'vue';\r\n import { IonApp, IonRouterOutlet } from '@ionic/vue';\r\n import { ellipse, square, triangle } from 'ionicons/icons';\r\n import Header from '@/components/Header.vue';\r\n import SideMenu from '@/components/SideMenu.vue';\r\n // import InjectFirebase from '@/components/InjectFirebase.vue';\r\n import IntroPage from '@/views/IntroPage.vue';\r\n import LoginPage from '@/views/LoginPage.vue';\r\n import Printer from './utils/Printer';\r\n import SocketService from './services/socket.service';\r\n import { useI18n } from 'vue-i18n';\r\n // import moment from 'moment-timezone';\r\n var translate;\r\n export default defineComponent({\r\n name: 'App',\r\n components: { Header, SideMenu, IonRouterOutlet, IonApp, IntroPage, LoginPage },\r\n setup() {\r\n const toggleDarkTheme = (shouldAdd: boolean) =>\r\n {\r\n document.body.classList.toggle('dark', shouldAdd);\r\n localStorage.setItem('dark', shouldAdd ? 'true' : 'false');\r\n };\r\n let localDarkMode = localStorage.getItem('dark');\r\n if(localDarkMode != null)\r\n {\r\n toggleDarkTheme(localDarkMode == 'true');\r\n }\r\n else\r\n {\r\n const prefersDark = window.matchMedia('(prefers-color-scheme: dark)');\r\n toggleDarkTheme(prefersDark.matches);\r\n prefersDark.addListener((mediaQuery) => toggleDarkTheme(mediaQuery.matches));\r\n }\r\n const showIntroPage = false;//!(localStorage.getItem('skip_intro') == '1');\r\n //\r\n return {\r\n ellipse,\r\n square,\r\n triangle,\r\n showIntroPage\r\n }\r\n },\r\n mounted()\r\n {\r\n this.createTranslator();\r\n //@ts-ignore\r\n this.$root.printer = new Printer(this.$store, translate);\r\n //@ts-ignore\r\n this.$root.printer.BindListeners();\r\n //@ts-ignore\r\n if (typeof this.$store.state.auth.user != 'undefined' && this.$store.state.auth.user != null) {\r\n //@ts-ignore\r\n this.$root.socket = new SocketService();\r\n //@ts-ignore\r\n this.$root.socket.initialize(this);\r\n }\r\n //@ts-ignore\r\n // console.log(this.$store.state.auth.user.timezone + (this.$store.state.auth.user.daylight_offset ? this.$store.state.auth.user.daylight_offset : 0));\r\n //@ts-ignore\r\n // console.log(moment().utcOffset(this.$store.state.auth.user.timezone + (this.$store.state.auth.user.daylight_offset ? this.$store.state.auth.user.daylight_offset : 0)).format('YYYY-MM-DD HH:mm a'));\r\n },\r\n computed:\r\n {\r\n currentUser()\r\n {\r\n //@ts-ignore\r\n return this.$store.state.auth.user;\r\n }\r\n },\r\n methods: {\r\n createTranslator()\r\n {\r\n var { t } = useI18n({\r\n inheritLocale: false,\r\n useScope: 'global',\r\n locale: 'fr'\r\n });\r\n translate = t;\r\n }\r\n }\r\n });\r\n","import { render } from \"./App.vue?vue&type=template&id=900a845a&scoped=true&ts=true\"\nimport script from \"./App.vue?vue&type=script&lang=ts\"\nexport * from \"./App.vue?vue&type=script&lang=ts\"\n\nimport \"./App.vue?vue&type=style&index=0&id=900a845a&scoped=true&lang=css\"\n\nimport exportComponent from \"F:\\\\GitHub\\\\lexoh-parking-ionic\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-900a845a\"]])\n\nexport default __exports__","// Copyright 2023 Lexoh Inc. All rights reserved.\r\n// NOTICE: All information contained herein is, and remains the property of\r\n// Lexoh Inc. The intellectual and technical concepts contained herein are\r\n// proprietary to Lexoh Inc and may be covered by Canada and Foreign Patents, patents\r\n// in process, and are protected by trade secret or copyright law. Dissemination\r\n// of this information or reproduction of this material is strictly forbidden\r\n// unless prior written permission is obtained from Lexoh Inc. Access to the source\r\n// code contained herein is hereby forbidden to anyone except current Lexoh Inc\r\n// employees, managers or contractors who have executed Confidentiality and\r\n// Non-disclosure agreements explicitly covering such access.\r\nimport { createRouter, createWebHistory } from '@ionic/vue-router';\r\nimport { RouteRecordRaw } from 'vue-router';\r\n\r\nconst routes: Array = [\r\n\t{\r\n\t\tpath: '/',\r\n\t\tcomponent: () => import('@/views/DashboardPage.vue')\r\n\t},\r\n\t{\r\n\t\tpath: '/map/',\r\n\t\tcomponent: () => import('@/views/MapPage.vue')\r\n\t},\r\n\t{\r\n\t\tpath: '/cameras/',\r\n\t\tcomponent: () => import('@/views/CamerasPage.vue')\r\n\t},\r\n\t{\r\n\t\tpath: '/devices/',\r\n\t\tcomponent: () => import('@/views/DevicesPage.vue')\r\n\t},\r\n\t{\r\n\t\tpath: '/customers/',\r\n\t\tcomponent: () => import('@/views/CustomersPage.vue')\r\n\t},\r\n\t{\r\n\t\tpath: '/guests/',\r\n\t\tcomponent: () => import('@/views/GuestsPage.vue')\r\n\t},\r\n\t{\r\n\t\tpath: '/entries/',\r\n\t\tcomponent: () => import('@/views/EntriesPage.vue')\r\n\t},\r\n\t{\r\n\t\tpath: '/statistics/',\r\n\t\tcomponent: () => import('@/views/StatisticsPage.vue')\r\n\t},\r\n\t{\r\n\t\tpath: '/events/',\r\n\t\tcomponent: () => import('@/views/EventsPage.vue')\r\n\t},\r\n\t{\r\n\t\tpath: '/transactions/',\r\n\t\tcomponent: () => import('@/views/TransactionsPage.vue')\r\n\t},\r\n\t{\r\n\t\tpath: '/alerts/',\r\n\t\tcomponent: () => import('@/views/AlertsPage.vue')\r\n\t},\r\n\t{\r\n\t\tpath: '/settings/',\r\n\t\tcomponent: () => import('@/views/SettingsPage.vue')\r\n\t},\r\n\t{\r\n\t\tpath: '/settings/:selectedPage',\r\n\t\tcomponent: () => import('@/views/SettingsPage.vue'),\r\n\t\tprops: true\r\n\t}\r\n]\r\n\r\nconst router = createRouter({\r\n\thistory: createWebHistory(process.env.BASE_URL),\r\n\troutes\r\n})\r\n\r\nexport default router","// Copyright 2022 Lexoh Inc. All rights reserved.\r\n// NOTICE: All information contained herein is, and remains the property of\r\n// Lexoh Inc. The intellectual and technical concepts contained herein are\r\n// proprietary to Lexoh Inc and may be covered by Canada and Foreign Patents, patents\r\n// in process, and are protected by trade secret or copyright law. Dissemination\r\n// of this information or reproduction of this material is strictly forbidden\r\n// unless prior written permission is obtained from Lexoh Inc. Access to the source\r\n// code contained herein is hereby forbidden to anyone except current Lexoh Inc\r\n// employees, managers or contractors who have executed Confidentiality and\r\n// Non-disclosure agreements explicitly covering such access.\r\nimport axios from 'axios';\r\n//@ts-ignore\r\nimport process from 'process';\r\n\r\nconst API_URL = process.env.NODE_ENV == 'development' ? 'https://' + window.location.hostname + ':3000/v1/' : 'https://' + window.location.hostname + ':3000/v1/';\r\n\r\nclass AuthService\r\n{\r\n login(username : string, password : string)\r\n {\r\n return axios.post(API_URL + 'auth/login',\r\n {\r\n username: username,\r\n password: password\r\n }, { withCredentials: true })\r\n .then(response =>\r\n {\r\n //@ts-ignore\r\n if (typeof response.data.session != 'undefined' && response.data.session.length > 0) localStorage.setItem('token', response.data.session);\r\n return response.data;\r\n });\r\n }\r\n logout()\r\n {\r\n return axios.post(API_URL + 'auth/logout', {}, { withCredentials: true })\r\n .then(response =>\r\n {\r\n if(response.data.success) localStorage.removeItem('user');\r\n return response.data;\r\n });\r\n }\r\n register(user : any)\r\n {\r\n return axios.post(API_URL + 'auth/register',\r\n {\r\n username: user.username,\r\n email: user.email,\r\n password: user.password,\r\n firstname: user.firstname,\r\n lastname: user.lastname,\r\n phone: user.phone,\r\n secretQuestion: user.secretQuestion,\r\n secretAnswer: user.secretAnswer\r\n }, { withCredentials: true })\r\n .then(response =>\r\n {\r\n return response;\r\n });\r\n }\r\n saveFCM(fcmToken : string)\r\n {\r\n return axios.post(API_URL + 'save_fcm',\r\n {\r\n account_data: fcmToken\r\n }, { withCredentials: true })\r\n .then(response =>\r\n {\r\n return response.data;\r\n });\r\n }\r\n}\r\n\r\nexport default new AuthService();","// Copyright 2022 Lexoh Inc. All rights reserved.\r\n// NOTICE: All information contained herein is, and remains the property of\r\n// Lexoh Inc. The intellectual and technical concepts contained herein are\r\n// proprietary to Lexoh Inc and may be covered by Canada and Foreign Patents, patents\r\n// in process, and are protected by trade secret or copyright law. Dissemination\r\n// of this information or reproduction of this material is strictly forbidden\r\n// unless prior written permission is obtained from Lexoh Inc. Access to the source\r\n// code contained herein is hereby forbidden to anyone except current Lexoh Inc\r\n// employees, managers or contractors who have executed Confidentiality and\r\n// Non-disclosure agreements explicitly covering such access.\r\nimport AuthService from '../services/auth.service';\r\n\r\nconst stored_used = localStorage.getItem('user');\r\n//@ts-ignore\r\nconst user = stored_used == null ? false : JSON.parse(localStorage.getItem('user'));\r\nconst initialState = user ? { status: { loggedIn: true }, user, forgot:null } : { status: { loggedIn: false }, user: null, forgot:null };\r\n\r\nexport const auth = {\r\n\tnamespaced: true,\r\n\tstate: initialState,\r\n\tactions: {\r\n\t\t//@ts-ignore\r\n\t\tlogin({ commit }, user) {\r\n\t\t\treturn AuthService.login(user.username, user.password).then(\r\n\t\t\t\tuser => {\r\n\t\t\t\t\tcommit('loginSuccess', user);\r\n\t\t\t\t\treturn Promise.resolve(user);\r\n\t\t\t\t},\r\n\t\t\t\terror => {\r\n\t\t\t\t\tcommit('loginFailure');\r\n\t\t\t\t\treturn Promise.reject(error);\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t},\r\n\t\t//@ts-ignore\r\n\t\tasync logout({ commit }) {\r\n\t\t\ttry\r\n\t\t\t{\r\n\t\t\t\tawait AuthService.logout();\r\n\t\t\t}\r\n\t\t\tcatch(e) { console.log(e); }\r\n\t\t\tcommit('logout');\r\n\t\t},\r\n\t\t//@ts-ignore\r\n\t\tregister({ commit }, user) {\r\n\t\t\treturn AuthService.register(user).then(\r\n\t\t\t\tuser => {\r\n\t\t\t\t\tcommit('registerSuccess', user);\r\n\t\t\t\t\treturn Promise.resolve(user);\r\n\t\t\t\t},\r\n\t\t\t\terror => {\r\n\t\t\t\t\treturn Promise.reject(error);\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t},\r\n\t\t//@ts-ignore\r\n\t\tsaveFCM({ commit }, fcmToken) {\r\n\t\t\treturn AuthService.saveFCM(fcmToken).then(\r\n\t\t\t\tresult => {\r\n\t\t\t\t\tcommit('saveFcmSuccess', result);\r\n\t\t\t\t\treturn Promise.resolve(result);\r\n\t\t\t\t},\r\n\t\t\t\terror => {\r\n\t\t\t\t\tcommit('saveFcmFailure');\r\n\t\t\t\t\treturn Promise.reject(error);\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t}\r\n\t},\r\n\tmutations: {\r\n\t\t//@ts-ignore\r\n\t\tloginSuccess(state, user) {\r\n\t\t\tstate.status.loggedIn = true;\r\n\t\t\tstate.user = user;\r\n\t\t},\r\n\t\t//@ts-ignore\r\n\t\tloginFailure(state) {\r\n\t\t\tstate.status.loggedIn = false;\r\n\t\t\tstate.user = null;\r\n\t\t},\r\n\t\t//@ts-ignore\r\n\t\tlogout(state) {\r\n\t\t\tstate.status.loggedIn = false;\r\n\t\t\tstate.user = null;\r\n\t\t},\r\n\t\t//@ts-ignore\r\n\t\tregisterSuccess(state, user) {\r\n\t\t\tstate.status.loggedIn = true;\r\n\t\t\tstate.user = user;\r\n\t\t},\r\n\t\t//@ts-ignore\r\n\t\tregisterFailure(state) {\r\n\t\t\tstate.status.loggedIn = false;\r\n\t\t},\r\n\t\t//@ts-ignore\r\n\t\tsaveFCMSuccess(state, account) {\r\n\t\t\t// state.user = forgot;\r\n\t\t},\r\n\t\t//@ts-ignore\r\n\t\tsaveFCMFailure(state) {\r\n\t\t\t// state.forgot = null;\r\n\t\t}\r\n\t}\r\n};","// Copyright 2022 Lexoh Inc. All rights reserved.\r\n// NOTICE: All information contained herein is, and remains the property of\r\n// Lexoh Inc. The intellectual and technical concepts contained herein are\r\n// proprietary to Lexoh Inc and may be covered by Canada and Foreign Patents, patents\r\n// in process, and are protected by trade secret or copyright law. Dissemination\r\n// of this information or reproduction of this material is strictly forbidden\r\n// unless prior written permission is obtained from Lexoh Inc. Access to the source\r\n// code contained herein is hereby forbidden to anyone except current Lexoh Inc\r\n// employees, managers or contractors who have executed Confidentiality and\r\n// Non-disclosure agreements explicitly covering such access.\r\nimport AuthService from '../services/auth.service';\r\nimport UserService from '../services/user.service';\r\nconst stored_used = localStorage.getItem('user');\r\n//@ts-ignore\r\nconst _user = stored_used == null ? false : JSON.parse(localStorage.getItem('user'));\r\nconst initialState = _user ? { status: { loggedIn: true }, user: _user, forgot:null } : { status: { loggedIn: false }, user: null, forgot:null };\r\n\r\nexport const user = {\r\n\tnamespaced: true,\r\n\tstate: initialState,\r\n\tactions: {\r\n //@ts-ignore\r\n\t\tget({ commit }) {\r\n\t\t\treturn UserService.get().then(\r\n\t\t\t\tresult => {\r\n\t\t\t\t\tcommit('getUserSuccess', result);\r\n\t\t\t\t\treturn Promise.resolve(result);\r\n\t\t\t\t},\r\n\t\t\t\terror => {\r\n\t\t\t\t\tcommit('getUserFailure');\r\n\t\t\t\t\treturn Promise.reject(error);\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t},\r\n //@ts-ignore\r\n\t\tsaveFCM({ commit }, fcmToken) {\r\n\t\t\treturn AuthService.saveFCM(fcmToken).then(\r\n\t\t\t\tresult => {\r\n\t\t\t\t\tcommit('saveFcmSuccess', result);\r\n\t\t\t\t\treturn Promise.resolve(result);\r\n\t\t\t\t},\r\n\t\t\t\terror => {\r\n\t\t\t\t\tcommit('saveFcmFailure');\r\n\t\t\t\t\treturn Promise.reject(error);\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t}\r\n\t},\r\n\tmutations: {\r\n //@ts-ignore\r\n\t\tgetUserSuccess(state, account) {\r\n\t\t\t// state.user = forgot;\r\n\t\t},\r\n //@ts-ignore\r\n\t\tgetUserFailure(state) {\r\n\t\t\t// state.forgot = null;\r\n\t\t},\r\n //@ts-ignore\r\n\t\tsaveFCMSuccess(state, account) {\r\n\t\t\t// state.user = forgot;\r\n\t\t},\r\n //@ts-ignore\r\n\t\tsaveFCMFailure(state) {\r\n\t\t\t// state.forgot = null;\r\n\t\t}\r\n\t}\r\n};","// Copyright 2022 Lexoh Inc. All rights reserved.\r\n// NOTICE: All information contained herein is, and remains the property of\r\n// Lexoh Inc. The intellectual and technical concepts contained herein are\r\n// proprietary to Lexoh Inc and may be covered by Canada and Foreign Patents, patents\r\n// in process, and are protected by trade secret or copyright law. Dissemination\r\n// of this information or reproduction of this material is strictly forbidden\r\n// unless prior written permission is obtained from Lexoh Inc. Access to the source\r\n// code contained herein is hereby forbidden to anyone except current Lexoh Inc\r\n// employees, managers or contractors who have executed Confidentiality and\r\n// Non-disclosure agreements explicitly covering such access.\r\nimport Vuex from 'vuex';\r\nimport { auth } from './auth.module';\r\nimport { user } from './user.module';\r\n\r\nexport default new Vuex.Store({\r\n\tmodules: {\r\n\t\tauth,\r\n\t\tuser\r\n\t}\r\n});","import { initializeApp } from \"firebase/app\"\r\nimport { getMessaging, getToken } from \"firebase/messaging\"\r\n\r\nif (typeof navigator != 'undefined' && 'serviceWorker' in navigator && typeof navigator.serviceWorker != 'undefined') {\r\n navigator.serviceWorker.register('firebase-messaging-sw.js').then(reg => {\r\n console.log(`Service Worker Registration (Scope: ${reg.scope})`);\r\n })\r\n .catch(error => {\r\n const msg = `Service Worker Error (${error})`;\r\n console.error(msg);\r\n });\r\n} else {\r\n // happens when the app isn't served over HTTPS or if the browser doesn't support service workers\r\n console.warn('Service Worker not available');\r\n}\r\n\r\nconst app = initializeApp({\r\n apiKey : \"AIzaSyCCKtdwlIKuSnzKc6HpQgeaBgVW6Y4GRe0\",\r\n authDomain : \"lexohparking.firebaseapp.com\",\r\n projectId : \"lexohparking\",\r\n storageBucket : \"lexohparking.appspot.com\",\r\n messagingSenderId: \"379170442916\",\r\n appId : \"1:379170442916:web:e3e113a691fb96f7012031\",\r\n measurementId : \"G-815XX7BSC5\"\r\n});\r\n\r\nconst messaging = getMessaging(app);\r\ngetToken(messaging, { vapidKey: 'BHG0EiF0HP-ohuDpYvGhDAgMJgWgbO4z6DTN2fCVNnJ4paL1QaCh62cQcy9RR53SrVKwfKHMetth1GFPow_-KEU' }).then((currentToken) => {\r\n if (currentToken) {\r\n // Send the token to your server and update the UI if necessary\r\n // ...\r\n console.log({currentToken})\r\n } else {\r\n // Show permission request UI\r\n console.log('No registration token available. Request permission to generate one.');\r\n // ...\r\n }\r\n}).catch((err) => {\r\n console.log('An error occurred while retrieving token. ', err);\r\n // ...\r\n});\r\n\r\nexport default messaging;\r\n","// Copyright 2022 Lexoh Inc. All rights reserved.\r\n// NOTICE: All information contained herein is, and remains the property of\r\n// Lexoh Inc. The intellectual and technical concepts contained herein are\r\n// proprietary to Lexoh Inc and may be covered by Canada and Foreign Patents, patents\r\n// in process, and are protected by trade secret or copyright law. Dissemination\r\n// of this information or reproduction of this material is strictly forbidden\r\n// unless prior written permission is obtained from Lexoh Inc. Access to the source\r\n// code contained herein is hereby forbidden to anyone except current Lexoh Inc\r\n// employees, managers or contractors who have executed Confidentiality and\r\n// Non-disclosure agreements explicitly covering such access.\r\nimport { createApp } from 'vue'\r\nimport App from './App.vue'\r\nimport router from './router';\r\nimport store from './store';\r\nimport { IonicVue } from '@ionic/vue';\r\nimport '@popperjs/core';\r\nimport BootstrapVue3 from 'bootstrap-vue-3'\r\nimport { createI18n } from 'vue-i18n';\r\nimport VueApexCharts from 'vue3-apexcharts';\r\nimport VueObserveVisibility from 'vue-observe-visibility';\r\n\r\n/* Core CSS required for Ionic components to work properly */\r\nimport '@ionic/vue/css/core.css';\r\n\r\n/* Basic CSS for apps built with Ionic */\r\nimport '@ionic/vue/css/normalize.css';\r\nimport '@ionic/vue/css/structure.css';\r\nimport '@ionic/vue/css/typography.css';\r\n\r\n/* Optional CSS utils that can be commented out */\r\nimport '@ionic/vue/css/padding.css';\r\nimport '@ionic/vue/css/float-elements.css';\r\nimport '@ionic/vue/css/text-alignment.css';\r\nimport '@ionic/vue/css/text-transformation.css';\r\nimport '@ionic/vue/css/flex-utils.css';\r\nimport '@ionic/vue/css/display.css';\r\n\r\nimport 'bootstrap/dist/css/bootstrap.css'\r\nimport 'bootstrap-vue-3/dist/bootstrap-vue-3.css'\r\n\r\nimport firebaseMessaging from './utils/Firebase.js'\r\n\r\nrequire('vue-ionicons/ionicons.css')\r\nrequire('typeface-lato')\r\n\r\nrequire('leaflet/dist/leaflet.css');\r\nrequire('leaflet.markercluster/dist/MarkerCluster.css');\r\nrequire('leaflet.markercluster/dist/MarkerCluster.Default.css');\r\n\r\n/* Theme variables */\r\nimport './theme/variables.css';\r\n//@ts-ignore\r\nimport eventBus from \"vue3-eventbus\"\r\n\r\nconst i18n = createI18n({\r\n // legacy: false,\r\n locale: localStorage.getItem('locale') ?? 'fr',\r\n messages: {\r\n \"en\": {\r\n \"Guest entered\": \"Guest entered\",\r\n \"Loading\": \"Loading\",\r\n \"car\": \"car\",\r\n \"boat\": \"boat\",\r\n \"bicycle\": \"bicycle\",\r\n \"person\": \"person\",\r\n \"bus\": \"bus\",\r\n \"motorcycle\": \"motorcycle\",\r\n \"live\": \"Live\",\r\n \"grace_period\": \"Grace period\",\r\n \"grace_period_description\": \"The grace period allow visitors to exit without having to pay if they are within the period. (In minutes)\",\r\n \"max_usages\": \"Max usages\",\r\n \"reboot\": \"Reboot\",\r\n \"reboot_device\": \"Reboot device\",\r\n \"are_you_sure_reboot_device\": \"Are you sure you wish to restart the device {name}?\",\r\n \"MaxEntrancesReached\": \"Maximum entries reached\",\r\n \"has already reached max entrances\": \"has already reached max entrances\",\r\n \"DoesNotExists\": \"Does not exists\",\r\n \"unable to find access card\": \"Unable to find access card\",\r\n \"has_subscription\": \"Has subscription\",\r\n \"today\": \"Today\",\r\n \"license\": \"License\",\r\n \"expiration\": \"Expiration\",\r\n \"system_uptime\": \"Uptime\",\r\n \"total_entrances\": \"Total entrances\",\r\n \"total_exits\": \"Total exits\",\r\n \"total_customers\": \"Total customers\",\r\n \"total_users\": \"Total users\",\r\n \"total_guests\": \"Total guests\",\r\n \"capacity\": \"Capacity\",\r\n \"view_all\": \"View all\",\r\n \"view\": \"View\",\r\n \"inside\": \"Inside\",\r\n \"user_entrances\": \"User entrances\",\r\n \"user_exits\": \"User exits\",\r\n \"customer_entrances\": \"Customer entrances\",\r\n \"customer_exits\": \"Customer exits\",\r\n \"guest_entrances\": \"Guest entrances\",\r\n \"guest_exits\": \"Guest exits\",\r\n \"traffic_overview\": \"Traffic overview\",\r\n \"most_active_customers\": \"Most active customers\",\r\n \"devices_overview\": \"Devices overview\",\r\n \"most_active_users\": \"Most active users\",\r\n \"statistics_overview\": \"Statistics overview\",\r\n \"Tag(s)\": \"Tag(s)\",\r\n \"tags\": \"Tags\",\r\n \"tag\": \"Tag\",\r\n \"no_tag_found\": \"No tag found\",\r\n \"add_tag\": \"Add a tag\",\r\n \"edit_tag\": \"Edit a tag\",\r\n \"save_tag\": \"Save tag\",\r\n \"are_you_sure_delete_tag\": \"Are you sure you want to delete this tag?\",\r\n \"settings\": \"Settings\",\r\n \"general\": \"General\",\r\n \"users\": \"Users\",\r\n \"guest\": \"Guest\",\r\n \"alerts\": \"Alerts\",\r\n \"mails\": \"Mails\",\r\n \"signout\": \"Sign out\",\r\n \"connected\": \"Connected\",\r\n \"disconnected\": \"Disconnected\",\r\n \"open\": \"Open\",\r\n \"opening\": \"Opening\",\r\n \"closed\": \"Closed\",\r\n \"closing\": \"Closing\",\r\n \"opened\": \"Opened\",\r\n \"modify\": \"Modify\",\r\n \"all\": \"All\",\r\n \"no_device_found\": \"No device found\",\r\n \"Entrance gate\": \"Entrance gate\",\r\n \"Exit gate\": \"Entrance gate\",\r\n \"try_connecting_device\": \"Try connecting a device on the same network or add it manually.\",\r\n \"name\": \"Name\",\r\n \"brand\": \"Brand\",\r\n \"model\": \"Model\",\r\n \"type\": \"Type\",\r\n \"ip_addr\": \"IP Addr\",\r\n \"mac_addr\": \"MAC Addr\",\r\n \"status\": \"Status\",\r\n \"state\": \"State\",\r\n \"devices\": \"Devices\",\r\n \"device\": \"Device\",\r\n \"dashboard\": \"Dashboard\",\r\n \"events\": \"Events\",\r\n \"customers\": \"Customers\",\r\n \"guests\": \"Visitors\",\r\n \"entries\": \"Entries\",\r\n \"statistics\": \"Statistics\",\r\n \"open_gate\": \"Open Gate\",\r\n \"close_gate\": \"Close Gate\",\r\n \"SELECT\": {\r\n \"ok\": \"OK\",\r\n \"cancel\": \"CANCEL\"\r\n },\r\n \"cancel\": \"Cancel\",\r\n \"none\": \"None\",\r\n \"overview\": \"Overview\",\r\n \"save_config\": \"Save configuration\",\r\n \"configuration\": \"Configuration\",\r\n \"signals\": \"Signals\",\r\n \"save_signals\": \"Save signals\",\r\n \"output_signal\": \"Output signal\",\r\n \"input_signal\": \"Input signal\",\r\n \"keep_gate_open\": \"Keep the gate open\",\r\n \"gate_opened\": \"Gate opened\",\r\n \"gate_closed\": \"Gate closed\",\r\n \"security_loop_triggered\": \"Security loop is triggered\",\r\n \"presence_loop_triggered\": \"A vehicle is detected\",\r\n \"presence\": \"presence\",\r\n \"search_here\": \"Search here...\",\r\n \"output\": \"Output\",\r\n \"input\": \"Input\",\r\n \"relay\": \"Relay\",\r\n \"device_modified\": \"Device modified\",\r\n \"saved_configuration_successfully\": \"Saved configuration successfully.\",\r\n \"device_modification_error\": \"Device modification error\",\r\n \"error\": \"Error\",\r\n \"saved_signals_successfully\": \"Saved signals successfully.\",\r\n \"gate_opening\": \"Gate opening\",\r\n \"gate_closing\": \"Gate closing\",\r\n \"gate_successfully_opening\": \"Gate is successfully opening.\",\r\n \"gate_successfully_closing\": \"Gate is successfully closing.\",\r\n \"gate_error\": \"Gate error\",\r\n \"cannot_open_gate\": \"Unable to open the gate currently\",\r\n \"cannot_close_gate\": \"Unable to close the gate currently\",\r\n \"description\": \"Description\",\r\n \"date_at\": \"Date at\",\r\n \"critical\": \"Critical\",\r\n \"important\": \"Important\",\r\n \"information\": \"Information\",\r\n \"no_alert_found\": \"No alert found\",\r\n \"try_connecting_device_or_configure_system\": \"Try connecting a device or configuring the system.\",\r\n \"email\": \"Email\",\r\n \"validation_date\": \"Validation date\",\r\n \"expiration_date\": \"Expiration date\",\r\n \"confirm\": \"Confirm\",\r\n \"delete_name\": \"Delete `{name}`\",\r\n \"are_you_sure_delete_customer\": \"Are you sure you want to delete the customer {name}?\",\r\n \"delete\": \"Delete\",\r\n \"add_customer\": \"Add customer\",\r\n \"active\": \"Active\",\r\n \"inactive\": \"Inactive\",\r\n \"no_customer_found\": \"No customer found\",\r\n \"add_customer_to_get_started\": \"Add a customer to get started.\",\r\n \"customers_inside\": \"Customers inside\",\r\n \"guests_inside\": \"Visitors inside\",\r\n \"parking_capacity\": \"Parking capacity\",\r\n \"entered_only\": \"Entered only\",\r\n \"exited\": \"Exited\",\r\n \"no_entries_found\": \"No entries found\",\r\n \"enter_vehicle_get_started\": \"Enter a vehicle to get started.\",\r\n \"last_48_hours\": \"Last 48 hours\",\r\n \"last_7_days\": \"Last 7 days\",\r\n \"last_30_days\": \"Last 30 days\",\r\n \"last_month\": \"Last month\",\r\n \"entrances\": \"Entrances\",\r\n \"exits\": \"Exits\",\r\n \"used\": \"Used\",\r\n \"month_1\": \"January\",\r\n \"month_1_short\": \"Jan\",\r\n \"month_2\": \"February\",\r\n \"month_2_short\": \"Feb\",\r\n \"month_3\": \"March\",\r\n \"month_3_short\": \"Mar\",\r\n \"month_4\": \"April\",\r\n \"month_4_short\": \"Apr\",\r\n \"month_5\": \"May\",\r\n \"month_5_short\": \"May\",\r\n \"month_6\": \"June\",\r\n \"month_6_short\": \"Jun\",\r\n \"month_7\": \"July\",\r\n \"month_7_short\": \"Jul\",\r\n \"month_8\": \"August\",\r\n \"month_8_short\": \"Aug\",\r\n \"month_9\": \"September\",\r\n \"month_9_short\": \"Sep\",\r\n \"month_10\": \"October\",\r\n \"month_10_short\": \"Oct\",\r\n \"month_11\": \"November\",\r\n \"month_11_short\": \"Nov\",\r\n \"month_12\": \"December\",\r\n \"month_12_short\": \"Dec\",\r\n \"day_1\": \"Sunday\",\r\n \"day_1_short\": \"Sun\",\r\n \"day_2\": \"Monday\",\r\n \"day_2_short\": \"Mon\",\r\n \"day_3\": \"Tuesday\",\r\n \"day_3_short\": \"Tue\",\r\n \"day_4\": \"Wednesday\",\r\n \"day_4_short\": \"Wed\",\r\n \"day_5\": \"Thursday\",\r\n \"day_5_short\": \"Thu\",\r\n \"day_6\": \"Friday\",\r\n \"day_6_short\": \"Fri\",\r\n \"day_7\": \"Saturday\",\r\n \"day_7_short\": \"Sat\",\r\n \"download_svg\": \"Download SVG\",\r\n \"download_png\": \"Download PNG\",\r\n \"download_csv\": \"Download CSV\",\r\n \"menu\": \"Menu\",\r\n \"selection\": \"Selection\",\r\n \"selection_zoom\": \"Selection Zoom\",\r\n \"zoom_in\": \"Zoom In\",\r\n \"zoom_out\": \"Zoom Out\",\r\n \"panning\": \"Panning\",\r\n \"reset_zoom\": \"Reset Zoom\",\r\n \"access_card\": \"Access card\",\r\n \"customer\": \"Customer\",\r\n \"user\": \"User\",\r\n \"enter_device\": \"Enter device\",\r\n \"exit_device\": \"Exit device\",\r\n \"enter_date_at\": \"Enter date at\",\r\n \"exit_date_at\": \"Exit date at\",\r\n \"total_duration\": \"Total duration\",\r\n \"no_event_found\": \"No event found\",\r\n \"Customer created\": \"Customer created\",\r\n \"Customer modified\": \"Customer modified\",\r\n \"Customer deleted\": \"Customer deleted\",\r\n \"User created\": \"User created\",\r\n \"User modified\": \"User modified\",\r\n \"User deleted\": \"User deleted\",\r\n \"Access card created\": \"Access card created\",\r\n \"Access card modified\": \"Access card modified\",\r\n \"Access card deleted\": \"Access card deleted\",\r\n \"User logged in\": \"User logged in\",\r\n \"Config created\": \"Config created\",\r\n \"Config modified\": \"Config modified\",\r\n \"Config deleted\": \"Config deleted\",\r\n \"Device connected\": \"Device connected\",\r\n \"Device disconnected\": \"Device disconnected\",\r\n \"has_logged_in\": \"has logged in\",\r\n \"has_created_the_customer_account\": \"has created the customer account\",\r\n \"has_modified_the_customer_account\": \"has modified the customer account\",\r\n \"has_deleted_the_customer_account\": \"has deleted the customer account\",\r\n \"has_created_the_access_card\": \"has created the access card\",\r\n \"has_modified_the_access_card\": \"has modified the access card\",\r\n \"has_deleted_the_access_card\": \"has deleted the access card\",\r\n \"has_created_the_user_account\": \"has created the user account\",\r\n \"has_modified_the_user_account\": \"has modified the user account\",\r\n \"has_deleted_the_user_account\": \"has deleted the user account\",\r\n \"has_connected\": \"has connected\",\r\n \"has_disconnected\": \"has disconnected\",\r\n \"has_modified_the_config\": \"has modified the config\",\r\n \"from\": \"from\",\r\n \"to\": \"to\",\r\n \"key\": \"Key\",\r\n \"no_guest_found\": \"No guest found\",\r\n \"add_guest_to_get_started\": \"Add a guest to get started.\",\r\n \"print\": \"Print\",\r\n \"add_access_card\": \"Add Access Card\",\r\n \"dynamic_qr\": \"Dynamic QR\",\r\n \"static_qr\": \"Static QR\",\r\n \"static_barcode\": \"Static Barcode\",\r\n \"are_you_sure_delete_access_card_name\": \"Are you sure you want to delete the access card {name}?\",\r\n \"max_entrance\": \"Max entrance\",\r\n \"between_hours_start\": \"Hours start\",\r\n \"between_hours_end\": \"Hours end\",\r\n \"signin\": \"Signin\",\r\n \"username\": \"Username\",\r\n \"password\": \"Password\",\r\n \"password_confirmation\": \"Password confirmation\",\r\n \"remember_username\": \"Remember username\",\r\n \"login\": \"Login\",\r\n \"invalid username or password provided\": \"Invalid username or password provided.\",\r\n \"feature_in_development\": \"This feature is in development\",\r\n \"feature_available_next_release\": \"This feature will be available in the next public release.\",\r\n \"parameter_name\": \"Parameter name\",\r\n \"value\": \"Value\",\r\n \"disabled\": \"Disabled\",\r\n \"enabled\": \"Enabled\",\r\n \"instantly\": \"Instantly\",\r\n \"5_minutes\": \"5 minutes\",\r\n \"10_minutes\": \"10 minutes\",\r\n \"15_minutes\": \"15 minutes\",\r\n \"30_minutes\": \"30 minutes\",\r\n \"45_minutes\": \"45 minutes\",\r\n \"60_minutes\": \"60 minutes\",\r\n \"notifications\": \"Notifications\",\r\n \"push_notifications\": \"Push notifications\",\r\n \"gate_blocked\": \"Gate blocked\",\r\n \"blocked\": \"Blocked\",\r\n \"device_disconnected\": \"Device disconnected\",\r\n \"device_reconnected\": \"Device reconnected\",\r\n \"enable_push_notifications_to_be_sent\": \"Enable push notifications to be sent to users who have subscribed to them.\",\r\n \"send_alert_when_gate_blocked_for_desired_time\": \"Send an alert when ever an object has been detected blocking the gate for more than desired time.\",\r\n \"send_alert_when_device_disconnect\": \"Send an alert when ever a device has been disconnected from the server for more than desired time.\",\r\n \"send_alert_when_device_reconnect\": \"Send an alert when ever a device has reconnected to the server after it send disconnection alert.\",\r\n \"add_user_account\": \"Edit user account\",\r\n \"edit_user_account\": \"Edit user account\",\r\n \"use_ldap\": \"Uses LDAP\",\r\n \"role\": \"Role\",\r\n \"operator\": \"Operator\",\r\n \"technician\": \"Technician\",\r\n \"save_user\": \"Save user account\",\r\n \"timezone\": \"Timezone\",\r\n \"user_modification_error\": \"User modification error\",\r\n \"password_confirmation_does_not_match\": \"Password confirmation does not match.\",\r\n \"no_access_card_found\": \"No access card found\",\r\n \"add_access_card_to_get_started\": \"Add an access card to get started.\",\r\n \"save_parameters\": \"Save parameters\",\r\n \"site_name\": \"Name of the site\",\r\n \"site_name_description\": \"Name to print on the coupons and show in communications.\",\r\n \"how_many_parking_spots\": \"How many parking spots in the parking.\",\r\n \"vehicles_inside\": \"Vehicles inside\",\r\n \"how_many_vehicles_inside\": \"How many vehicles are currently inside.\",\r\n \"maintenance_mode\": \"Maintenance mode\",\r\n \"enable_maintenance_mode_description\": \"Enable maintenance mode and allow every passages.\",\r\n \"server_hostname\": \"Server hostname\",\r\n \"ldap_server_hostname\": \"LDAP server ip address or hostname.\",\r\n \"server_port\": \"Server port\",\r\n \"ldap_server_port\": \"LDAP server port.\",\r\n \"ldap_secured\": \"LDAP secured\",\r\n \"ldap_secured_description\": \"Use LDAP secure protocol.\",\r\n \"example\": \"Example\",\r\n \"ldap_distinguished_names\": \"LDAP distinguished names\",\r\n \"smtp_server_ip_address\": \"SMTP server ip address or hostname.\",\r\n \"smtp_secured\": \"SMTP secured\",\r\n \"smtp_server_port\": \"SMTP server port\",\r\n \"use_smtp_secure_protocol\": \"Use SMTP secure protocol.\",\r\n \"smtp_account_username\": \"SMTP account username\",\r\n \"smtp_account_password\": \"SMTP account password\",\r\n \"smtp_send_from_name\": \"SMTP Send from (name)\",\r\n \"smtp_send_from_email\": \"SMTP Send from (email)\",\r\n \"this_name_will_be_sender\": \"This name will be displayed as the sender\",\r\n \"this_email_will_be_sender\": \"This email address will be displayed as the sender\",\r\n \"smtp_to_email_test\": \"SMTP To email (test only)\",\r\n \"send_test_mail_to_address\": \"Send a test mail to this address\",\r\n \"send_test_mail\": \"Send test mail\",\r\n \"smtp_settings_modification_success\": \"SMTP settings modification success\",\r\n \"success_smtp_settings_have_saved_successfully\": \"Success: The SMTP settings have been saved successfully.\",\r\n \"smtp_settings_modification_error\": \"SMTP settings modification error\",\r\n \"test_mail_error\": \"Test mail error\",\r\n \"please_fill_all_fields\": \"Please fill all the fields\",\r\n \"test_mail_success\": \"Test mail succeeded\",\r\n \"success_test_mail_sent_successfully\": \"Success: The test mail has been sent successfully.\",\r\n \"user_creation_error\": \"User creation error\",\r\n \"creation_date\": \"Creation date\",\r\n \"last_seen_date\": \"Last seen date\",\r\n \"are_you_sure_delete_user\": \"Are you sure you want to delete the customer {name}?\",\r\n \"add_user\": \"Add User\",\r\n \"no_user_found\": \"No user found\",\r\n \"max_vehicles_inside\": \"Max vehicles inside\",\r\n \"most_secured\": \"Most secure\",\r\n \"less_secured\": \"Less secure\",\r\n \"one_time_only\": \"One time only\",\r\n \"save_access_card\": \"Save access card\",\r\n \"access_card_creation_error\": \"Access card creation error\",\r\n \"edit_access_card\": \"Edit Access Card\",\r\n \"locale\": \"Language\",\r\n \"french\": \"French\",\r\n \"english\": \"English\",\r\n \"save_customer\": \"Save customer\",\r\n \"customer_modification_error\": \"Customer modification error\",\r\n \"edit_customer\": \"Edit Customer\",\r\n \"general_settings_modification_success\": \"General settings modification success\",\r\n \"general_settings_modification_error\": \"General settings modification error\",\r\n \"success_saved_general_settings\": \"Success: The General settings have been saved successfully.\",\r\n \"ldap_settings_modification_success\": \"LDAP settings modification success\",\r\n \"success_ldap_settings_saved_successfully\": \"Success: The LDAP settings have been saved successfully.\",\r\n \"ldap_settings_modification_error\": \"LDAP settings modification error\",\r\n \"controller\": \"Controller\",\r\n \"Entry created\": \"Entry created\",\r\n \"Failed to create entry\": \"Failed to create entry\",\r\n \"guest_entered_parking\": \"Guest has entered the parking\",\r\n \"average_per_day\": \"Average per day\",\r\n \"average_per_week\": \"Average per week\",\r\n \"average_per_month\": \"Average per month\",\r\n \"to_date\": \"To\",\r\n \"number_of_access\": \"Number of card(s) to create\",\r\n \"print_access_cards\": \"Print access cards\",\r\n \"do_you_want_to_print_access_cards\": \"Do you want to print {count} access card(s)\",\r\n \"week\": \"Week\",\r\n \"month\": \"Month\",\r\n \"year\": \"Year\",\r\n \"logo\": \"Logo\",\r\n \"logo_used\": \"Logo used for coupons.\",\r\n \"logo_used2\": \"Logo used for emails.\",\r\n \"allowed_days\": \"Allowed days\",\r\n \"max_vehicles\": \"Maximum vehicles\",\r\n \"nip\": \"NIP\",\r\n \"coupon_text_fr\": \"Coupon text french\",\r\n \"coupon_text_en\": \"Coupon text english\",\r\n \"coupon_text_description\": \"Text to show at the bottom of a coupon.\",\r\n \"unknown\": \"Unknown\",\r\n \"keep_open\": \"Keep the gate open\",\r\n \"indefinitely\": \"Indefinitely\",\r\n \"email_text_fr2\": \"Email intro text french\",\r\n \"email_text_en2\": \"Email intro text english\",\r\n \"email_text_description\": \"Text to display below the access card.\",\r\n \"email_text_description2\": \"Text to show above the access card.\",\r\n \"email_text_fr\": \"Email outro text french\",\r\n \"email_text_en\": \"Email outro text english\",\r\n \"hid_card\": \"HID Card\",\r\n \"card_key\": \"Key of the card\",\r\n \"auto_exit_entries\": \"Auto exit entries\",\r\n \"auto_exit_entries_description\": \"Entries will be exited automatically at midnight.\",\r\n \"today_activities\": \"Today activities\",\r\n \"has_sent_stay_open_signal\": \"has manually sent stay open signal to the device\",\r\n \"has_sent_open_signal\": \"has manually sent open signal to the device\",\r\n \"has_sent_close_signal\": \"has manually sent close signal to the device\",\r\n \"for_a_duration_of\": \"for a duration of\",\r\n \"_indefinitely_\": \"`Indefinitely`\",\r\n \"received_gate_signal\": \"received gate signal\",\r\n \"state_changed_to\": \"State has changed to\",\r\n \"User sent signal\": \"User sent signal\",\r\n \"User\": \"User\",\r\n \"date\": \"Date\",\r\n \"disable_max_vehicles\": \"Disable vehicle limit\",\r\n \"disable_max_vehicles_description\": \"Disable maximum vehicle limit\",\r\n \"language\": \"Language\",\r\n \"yes\": \"yes\",\r\n \"no\": \"no\",\r\n \"Device state changed\": \"Device state changed\",\r\n \"max vehicules inside limit reached\": \"Maximum limit of vehicles inside reached.\",\r\n \"has_created_zone\": \"has created the zone\",\r\n \"has_modified_zone\": \"has modified the zone\",\r\n \"has_deleted_zone\": \"has deleted the zone\",\r\n \"Zone created\": \"Zone created\",\r\n \"Zone modified\": \"Zone modified\",\r\n \"Zone deleted\": \"Zone deleted\",\r\n \"zones\": \"Zones\",\r\n \"are_you_sure_delete_zone\": \"Are you sure you want to delete the zone {name}?\",\r\n \"save_zone\": \"Save zone\",\r\n \"edit_zone\": \"Edit zone\",\r\n \"add_zone\": \"Add a zone\",\r\n \"no_zone_found\": \"No zone found\",\r\n \"pricings\": \"Pricings\",\r\n \"pricing\": \"Pricing\",\r\n \"no_pricings_found\": \"No pricing found\",\r\n \"add_pricing\": \"Add pricing\",\r\n \"normal\": \"Normal\",\r\n \"special\": \"Special\",\r\n \"holidays\": \"Holidays\",\r\n \"days\": \"Days\",\r\n \"monday\": \"Monday\",\r\n \"tuesday\": \"Tuesday\",\r\n \"wednesday\": \"Wednesday\",\r\n \"thursday\": \"Thursday\",\r\n \"friday\": \"Friday\",\r\n \"saturday\": \"Saturday\",\r\n \"sunday\": \"Sunday\",\r\n \"pricing_hour_min\": \"Effective start time\",\r\n \"pricing_hour_max\": \"Effective end time\",\r\n \"pricing_date_min\": \"Effective start date\",\r\n \"pricing_date_max\": \"Effective end date\",\r\n \"priority\": \"Priority\",\r\n \"hourly_rate\": \"Hourly rate\",\r\n \"daily_max_rate\": \"Daily max rate\",\r\n \"weekly_max_rate\": \"Weekly max rate\",\r\n \"monthly_max_rate\": \"Monthly max rate\",\r\n \"off_peak_hourly_rate\": \"Off-peak hours rate\",\r\n \"off_peak_hour_morning_start\": \"Morning off-peak start times\",\r\n \"off_peak_hour_morning_end\": \"Morning off-peak end times\",\r\n \"off_peak_hour_evening_start\": \"Evening off-peak start times\",\r\n \"off_peak_hour_evening_end\": \"Evening off-peak end times\",\r\n \"adjust_daylight_timezone\": \"Adjust for daylight saving time automatically\",\r\n \"AutomaticSystems Barrier\": \"AutomaticSystems Barrier\",\r\n \"ELKA Barrier\": \"ELKA Barrier\",\r\n \"PAX Terminal\": \"PAX Terminal\",\r\n \"save_pricing\": \"Save pricing\",\r\n \"average\": \"Average\",\r\n\r\n \"tax_name\": \"Tax name\",\r\n \"how_much_percent_to_apply\": \"Percentage of tax to apply\",\r\n \"enable_use_taxes_description\": \"Enable this option to apply a tax on pricing\",\r\n \"use_taxes\": \"Use taxes\",\r\n \"in order to enter parking\": \"to enter the zone\",\r\n \"transactions\": \"Transactions\",\r\n \"tax_percent\": \"Tax percentage\",\r\n \"tax_name_description\": \"Tax name to print\",\r\n \"daylight_offset\": \"Daylight saving time offset\",\r\n \"Gate has been opened by\": \"The device has been opened by\",\r\n \"Gate has been opened in order to enter zone.\": \"Gate has been opened in order to enter zone.\",\r\n \"Gate has been opened in order to exit zone.\": \"Gate has been opened in order to exit zone.\",\r\n \"Customer entered\": \"Customer entered\",\r\n \"Staff entered\": \"User entered\",\r\n \"Error: Network Error\": \"Error: Network error\",\r\n \"customer_passages\": \"Customer passes\",\r\n \"users_passages\": \"User passes\",\r\n \"guests_passages\": \"Guests passes\",\r\n \"add_device\": \"Add device\",\r\n \"save_device\": \"Save device\",\r\n \"Type\": \"Type\",\r\n \"Barrier\": \"Portal\",\r\n \"total_price\": \"Total price\",\r\n \"entry_id\": \"# Entry\",\r\n \"identifier\": \"Identifier\",\r\n \"masked_pan\": \"Masked PAN\",\r\n \"card_brand\": \"Provider\",\r\n \"amount\": \"Amount\",\r\n \"refunded\": \"Refunded\",\r\n \"purchase\": \"Purchase\",\r\n \"Customer exited\": \"Customer exited\",\r\n\r\n \"relay_operating_mode\": \"Relay operation mode\",\r\n \"deactivated\": \"Disabled\",\r\n \"maintenance\": \"Maintenance\",\r\n \"boom_missing\": \"Missing rail\",\r\n \"tandem_operation\": \"Tandem operation\",\r\n \"red_traffic_light\": \"Red light\",\r\n \"green_traffic_light\": \"Green light\",\r\n \"warning_light\": \"Yellow light\",\r\n \"led_boom_lighting\": \"LED boom lighting\",\r\n \"activated_when_barrier_open\": \"Activated when the barrier is open\",\r\n \"activated_when_barrier_closed\": \"Activated when the barrier is closed\",\r\n \"activated_via_bus\": \"Activated via bus\",\r\n \"photoelectric_barrier_testing\": \"Photoelectric barrier test\",\r\n \"barrier_emergency_released\": \"Emergency barrier release\",\r\n \"activated_when_loop_a_occupied\": \"Activated when loop A is occupied\",\r\n \"activated_when_loop_a_activated_notfaulty_notoccupied\": \"Activated when loop A is activated not faulty not occupied\",\r\n \"pulse_when_loop_a_occupied\": \"Pulse when loop A is occupied\",\r\n \"pulse_when_loop_a_cleared\": \"Pulse when loop A is released\",\r\n \"activated_when_loop_b_occupied\": \"Activated when loop B is occupied\",\r\n \"activated_when_loop_b_activated_notfaulty_notoccupied\": \"Activated when loop B is activated not faulty not occupied\",\r\n \"pulse_when_loop_b_occupied\": \"Pulse when loop B is occupied\",\r\n \"pulse_when_loop_b_cleared\": \"Pulse when loop B is released\",\r\n \"activated_when_loop_c_occupied\": \"Activated when loop C is occupied\",\r\n \"activated_when_loop_c_activated_notfaulty_notoccupied\": \"Activated when loop C is activated not faulty not occupied\",\r\n \"pulse_when_loop_c_occupieday\": \"Pulse when loop C is occupied\",\r\n \"pulse_when_loop_c_cleared\": \"Pulse when loop C is released\",\r\n \"pulse_when_vehicle_counter_increment\": \"Pulse when vehicle counter increments\",\r\n \"pulse_when_vehicle_counter_decrement\": \"Pulse when vehicle counter decrements\",\r\n \"pulse_when_dl_detected_passing_left\": \"Pulse when dl detects a passage to the left\",\r\n \"pulse_when_dl_detected_passing_right\": \"Pulse when dl detects a passage to the right\",\r\n \"on_when_barrier_closed\": \"On when the barrier is closed\",\r\n \"on_when_tcp_connected\": \"On when TCP is connected\",\r\n \"on_when_powerfailuredetection_connected_andnofailure\": \"On when power failure detection is connected and no failure\",\r\n \"activated_when_acousticsignaldevice_ison\": \"Activated when the sound signal device is turned on\",\r\n \"ledboom_controlling_green_leds\": \"LED boom controlling green LEDs\",\r\n \"ledboom_controlling_red_leds\": \"LED boom controlling red LEDs\",\r\n \"allow_exit_no_entry\": \"Allow exit without prior existing entry\",\r\n \"allow_exit_no_entry_description\": \"This option is required for parking lots that have one or more exits in free mode without validation.\",\r\n \"Validation failed\": \"Validation failed\",\r\n \"a customer\": \"a customer\",\r\n \"a guest\": \"a guest\",\r\n \"a user\": \"a user\",\r\n\r\n \"Printer status changed\": \"Printer status changed\",\r\n \"The printer device has connected.\": \"The printer device has connected.\",\r\n \"The printer device has been disconnected.\": \"The printer device has been disconnected.\",\r\n \"The printer device is online.\": \"The printer device is online.\",\r\n \"The printer device is offline.\": \"The printer device is offline.\",\r\n \"The printer device is waiting for online error recovery.\": \"The printer device is waiting for online error recovery.\",\r\n \"The printer device has recovered.\": \"The printer device has recovered.\",\r\n \"The printer device feed button has been pressed.\": \"The printer device feed button has been pressed.\",\r\n \"The printer device feed button has been released.\": \"The printer device feed button has been released.\",\r\n \"The printer plate has been opened.\": \"The printer plate has been opened.\",\r\n \"The printer plate has been closed.\": \"The printer plate has been closed.\",\r\n \"The printer device is feeding by button.\": \"The printer device is feeding by button.\",\r\n \"The printer device is no longer feeding by button.\": \"The printer device is no longer feeding by button.\",\r\n \"The printer device sensor for paper end stop is active.\": \"The printer device sensor for paper end stop is active.\",\r\n \"The printer device sensor for paper end stop is inactive.\": \"The printer device sensor for paper end stop is inactive.\",\r\n \"The printer device has occurred an error.\": \"The printer device has occurred an error.\",\r\n \"The printer device has recovered from an error.\": \"The printer device has recovered from an error.\",\r\n \"The printer device has occurred a mechanical error.\": \"The printer device has occurred a mechanical error.\",\r\n \"The printer device has recovered from a mechanical error.\": \"The printer device has recovered from a mechanical error.\",\r\n \"The printer device has occurred an auto cutter error.\": \"The printer device has occurred an auto cutter error.\",\r\n \"The printer device has recovered from an auto cutter error.\": \"The printer device has recovered from an auto cutter error.\",\r\n \"The printer device has occurred an unrecoverable error.\": \"The printer device has occurred an unrecoverable error.\",\r\n \"The printer device has recovered from an unrecoverable error.\": \"The printer device has recovered from an unrecoverable error.\",\r\n \"The printer device has occurred an auto recoverable error.\": \"The printer device has occurred an auto recoverable error.\",\r\n \"The printer device has recovered from an auto recoverable error.\": \"The printer device has recovered from an auto recoverable error.\",\r\n \"The printer device has detected adequate paper.\": \"The printer device has detected adequate paper.\",\r\n \"The printer device has detected inadequate paper.\": \"The printer device has detected inadequate paper.\",\r\n \"The printer device has detected paper near end.\": \"The printer device has detected paper near end.\",\r\n \"The printer device has undetected paper near end.\": \"The printer device has undetected paper near end.\",\r\n \"The printer device has detected paper.\": \"The printer device has detected paper.\",\r\n \"The printer device has detected missing paper.\": \"The printer device has detected missing paper.\",\r\n \"The printer device has detected paper roll end.\": \"The printer device has detected paper roll end.\",\r\n \"The printer device has undetected paper roll end.\": \"The printer device has undetected paper roll end.\",\r\n \"event\": \"Event\",\r\n \"Card scanned\": \"Access card scanned\",\r\n \"The card with number\": \"The access card with number\",\r\n \"has been scanned\": \"has been scanned\",\r\n \"Coupon scanned\": \"QR code scanned\",\r\n \"The qr coupon with number\": \"The QR code with number\",\r\n \"PIN submited\": \"PIN submitted\",\r\n \"The PIN with number\": \"The PIN code with number\",\r\n \"has been submited\": \"has been submitted\",\r\n \"access card is not allowed to do entries\": \"Customers access card are not allowed to do entries\"\r\n },\r\n \"fr\": {\r\n \"Guest entered\": \"Invité entré\",\r\n \"Loading\": \"Chargement\",\r\n \"car\": \"voiture\",\r\n \"boat\": \"bateau\",\r\n \"bicycle\": \"vélo\",\r\n \"person\": \"personne\",\r\n \"bus\": \"bus\",\r\n \"motorcycle\": \"motocyclette\",\r\n \"live\": \"En direct\",\r\n \"grace_period\": \"Délai de grâce\",\r\n \"grace_period_description\": \"Le délai de grâce permet aux visiteurs de sortir sans avoir à payer s'ils respectent le délai. (En minutes)\",\r\n \"max_usages\": \"Utilisations maximales\",\r\n \"reboot\": \"Redémarrer\",\r\n \"reboot_device\": \"Redémarrer l'appareil\",\r\n \"are_you_sure_reboot_device\": \"Êtes-vous sûr de vouloir redémarrer l'appareil {name}?\",\r\n \"MaxEntrancesReached\": \"Nombre maximal d'entrées atteint\",\r\n \"has already reached max entrances\": \"a déjà atteint le nombre maximum d'entrées\",\r\n \"DoesNotExists\": \"N'existe pas\",\r\n \"unable to find access card\": \"Impossible de trouver la carte d'accès\",\r\n \"has_subscription\": \"A un abonnement\",\r\n \"today\": \"Aujourd'hui\",\r\n \"license\": \"License\",\r\n \"expiration\": \"Expiration\",\r\n \"system_uptime\": \"Disponibilité\",\r\n \"total_entrances\": \"Entrées totales\",\r\n \"total_exits\": \"Sorties totales\",\r\n \"total_customers\": \"Clients totaux\",\r\n \"total_users\": \"Utilisateurs totaux\",\r\n \"total_guests\": \"Visiteurs totaux\",\r\n \"capacity\": \"Capacité\",\r\n \"view_all\": \"Voir tous\",\r\n \"view\": \"Voir\",\r\n \"inside\": \"À l'intérieur\",\r\n \"user_entrances\": \"Entrées utilisateurs\",\r\n \"user_exits\": \"Sorties utilisateurs\",\r\n \"customer_entrances\": \"Entrées clients\",\r\n \"customer_exits\": \"Sorties clients\",\r\n \"guest_entrances\": \"Entrées visiteurs\",\r\n \"guest_exits\": \"Sorties visiteurs\",\r\n \"traffic_overview\": \"Aperçu du trafic\",\r\n \"most_active_customers\": \"Clients les plus actifs\",\r\n \"devices_overview\": \"Aperçu des appareils\",\r\n \"most_active_users\": \"Utilisateurs les plus actifs\",\r\n \"statistics_overview\": \"Aperçu des statistiques\",\r\n \"Tag(s)\": \"Étiquette(s)\",\r\n \"tags\": \"Étiquettes\",\r\n \"tag\": \"Étiquette\",\r\n \"no_tag_found\": \"Aucune étiquette trouvé\",\r\n \"add_tag\": \"Ajouter une étiquette\",\r\n \"edit_tag\": \"Modifier une étiquette\",\r\n \"save_tag\": \"Sauvegarder l'étiquette\",\r\n \"are_you_sure_delete_tag\": \"Êtes-vous sûr de vouloir supprimer cette étiquette?\",\r\n \"settings\": \"Paramètres\",\r\n \"general\": \"Général\",\r\n \"users\": \"Utilisateurs\",\r\n \"guest\": \"Visiteur\",\r\n \"alerts\": \"Alertes\",\r\n \"mails\": \"Courriels\",\r\n \"signout\": \"Déconnexion\",\r\n \"connected\": \"Connecté\",\r\n \"disconnected\": \"Déconnecté\",\r\n \"open\": \"Ouvert\",\r\n \"opening\": \"Ouverture\",\r\n \"closed\": \"Fermé\",\r\n \"closing\": \"Fermeture\",\r\n \"opened\": \"Ouvert\",\r\n \"modify\": \"Modifier\",\r\n \"all\": \"Tous\",\r\n \"no_device_found\": \"Aucun appareil trouvé\",\r\n \"Entrance gate\": \"Portail d'entrée\",\r\n \"Exit gate\": \"Portail de sortie\",\r\n \"try_connecting_device\": \"Essayez de connecter un appareil sur le même réseau ou ajoutez-le manuellement.\",\r\n \"name\": \"Nom\",\r\n \"brand\": \"Marque\",\r\n \"model\": \"Modèle\",\r\n \"type\": \"Type\",\r\n \"ip_addr\": \"IP Addr\",\r\n \"mac_addr\": \"MAC Addr\",\r\n \"status\": \"Statut\",\r\n \"state\": \"État\",\r\n \"devices\": \"Appareils\",\r\n \"device\": \"Appareil\",\r\n \"dashboard\": \"Tableau de bord\",\r\n \"events\": \"Événements\",\r\n \"customers\": \"Clients\",\r\n \"guests\": \"Visiteurs\",\r\n \"entries\": \"Entrées\",\r\n \"statistics\": \"Statistiques\",\r\n \"open_gate\": \"Ouvrir le portail\",\r\n \"close_gate\": \"Fermer le portail\",\r\n \"SELECT\": {\r\n \"ok\": \"OK\",\r\n \"cancel\": \"ANNULER\"\r\n },\r\n \"cancel\": \"Annuler\",\r\n \"none\": \"Aucun\",\r\n \"overview\": \"Aperçu\",\r\n \"save_config\": \"Enregistrer la configuration\",\r\n \"configuration\": \"Configuration\",\r\n \"signals\": \"Signaux\",\r\n \"save_signals\": \"Enregistrer les signaux\",\r\n \"output_signal\": \"Signal de sortie\",\r\n \"input_signal\": \"Signal d'entrée\",\r\n \"keep_gate_open\": \"Gardez le portail ouvert\",\r\n \"gate_opened\": \"Le portail s'est ouvert\",\r\n \"gate_closed\": \"Le portail s'est fermé\",\r\n \"security_loop_triggered\": \"La boucle de sécurité est déclenchée\",\r\n \"presence_loop_triggered\": \"Un véhicule est détecté\",\r\n \"presence\": \"présence\",\r\n \"search_here\": \"Rechercher ici...\",\r\n \"output\": \"Sortie\",\r\n \"input\": \"Entrée\",\r\n \"relay\": \"Relais\",\r\n \"device_modified\": \"Appareil modifié\",\r\n \"saved_configuration_successfully\": \"Configuration enregistrée avec succès.\",\r\n \"device_modification_error\": \"Erreur de modification de l'appareil\",\r\n \"error\": \"Erreur\",\r\n \"saved_signals_successfully\": \"Signaux enregistrés avec succès.\",\r\n \"gate_opening\": \"Ouverture du portail\",\r\n \"gate_closing\": \"Fermeture du portail\",\r\n \"gate_successfully_opening\": \"Le portail s'ouvre avec succès.\",\r\n \"gate_successfully_closing\": \"Le portail se ferme avec succès.\",\r\n \"gate_error\": \"Erreur du portail\",\r\n \"cannot_open_gate\": \"Impossible d'ouvrir le portail actuellement.\",\r\n \"cannot_close_gate\": \"Impossible de fermer le portail actuellement\",\r\n \"description\": \"Description\",\r\n \"date_at\": \"Date à\",\r\n \"critical\": \"Critique\",\r\n \"important\": \"Important\",\r\n \"information\": \"Information\",\r\n \"no_alert_found\": \"Aucune alerte trouvée\",\r\n \"try_connecting_device_or_configure_system\": \"Essayez de connecter un appareil ou de configurer le système.\",\r\n \"email\": \"Courriel\",\r\n \"validation_date\": \"Date de validation\",\r\n \"expiration_date\": \"Date d'expiration\",\r\n \"confirm\": \"Confirmer\",\r\n \"delete_name\": \"Supprimer `{name}`\",\r\n \"are_you_sure_delete_customer\": \"Êtes-vous sûr de vouloir supprimer le client {name}?\",\r\n \"delete\": \"Supprimer\",\r\n \"add_customer\": \"Ajouter un client\",\r\n \"active\": \"Actif\",\r\n \"inactive\": \"Inactif\",\r\n \"no_customer_found\": \"Aucun client trouvé\",\r\n \"add_customer_to_get_started\": \"Ajoutez un client pour commencer.\",\r\n \"customers_inside\": \"Clients à l'intérieur\",\r\n \"guests_inside\": \"Visiteurs à l'intérieur\",\r\n \"parking_capacity\": \"Capacité du stationnement\",\r\n \"entered_only\": \"Entré seulement\",\r\n \"exited\": \"Sorti\",\r\n \"no_entries_found\": \"Aucune entrée trouvée\",\r\n \"enter_vehicle_get_started\": \"Entrez un véhicule pour commencer.\",\r\n \"last_48_hours\": \"Dernières 48 heures\",\r\n \"last_7_days\": \"Les 7 derniers jours\",\r\n \"last_30_days\": \"Les 30 derniers jours\",\r\n \"last_month\": \"Derniers mois\",\r\n \"entrances\": \"Entrées\",\r\n \"exits\": \"Sorties\",\r\n \"used\": \"Utilisé\",\r\n \"month_1\": \"Janvier\",\r\n \"month_1_short\": \"Jan\",\r\n \"month_2\": \"Février\",\r\n \"month_2_short\": \"Fév\",\r\n \"month_3\": \"Mars\",\r\n \"month_3_short\": \"Mar\",\r\n \"month_4\": \"Avril\",\r\n \"month_4_short\": \"Avr\",\r\n \"month_5\": \"Mai\",\r\n \"month_5_short\": \"Mai\",\r\n \"month_6\": \"Juin\",\r\n \"month_6_short\": \"Juin\",\r\n \"month_7\": \"Juillet\",\r\n \"month_7_short\": \"Jui\",\r\n \"month_8\": \"Août\",\r\n \"month_8_short\": \"Aoû\",\r\n \"month_9\": \"Septembre\",\r\n \"month_9_short\": \"Sep\",\r\n \"month_10\": \"Octobre\",\r\n \"month_10_short\": \"Oct\",\r\n \"month_11\": \"Novembre\",\r\n \"month_11_short\": \"Nov\",\r\n \"month_12\": \"Décembre\",\r\n \"month_12_short\": \"Déc\",\r\n \"day_1\": \"Dimanche\",\r\n \"day_1_short\": \"Dim\",\r\n \"day_2\": \"Lundi\",\r\n \"day_2_short\": \"Lun\",\r\n \"day_3\": \"Mardi\",\r\n \"day_3_short\": \"Mar\",\r\n \"day_4\": \"Mercredi\",\r\n \"day_4_short\": \"Mer\",\r\n \"day_5\": \"Jeudi\",\r\n \"day_5_short\": \"Jeu\",\r\n \"day_6\": \"Vendredi\",\r\n \"day_6_short\": \"Ven\",\r\n \"day_7\": \"Samedi\",\r\n \"day_7_short\": \"Sam\",\r\n \"download_svg\": \"Télécharger au format SVG\",\r\n \"download_png\": \"Télécharger au format PNG\",\r\n \"download_csv\": \"Télécharger au format CSV\",\r\n \"menu\": \"Menu\",\r\n \"selection\": \"Sélection\",\r\n \"selection_zoom\": \"Zoom de sélection\",\r\n \"zoom_in\": \"Agrandir\",\r\n \"zoom_out\": \"Rétrécir\",\r\n \"panning\": \"Défiler\",\r\n \"reset_zoom\": \"Réinitialiser le zoom\",\r\n \"access_card\": \"Carte d'accès\",\r\n \"customer\": \"Client\",\r\n \"user\": \"Utilisateur\",\r\n \"enter_device\": \"Appareil d'entrée\",\r\n \"exit_device\": \"Appareil de sortie\",\r\n \"enter_date_at\": \"Date d'entrée\",\r\n \"exit_date_at\": \"Date de sortie\",\r\n \"total_duration\": \"Durée totale\",\r\n \"no_event_found\": \"Aucun événement trouvé\",\r\n \"Customer created\": \"Client créé\",\r\n \"Customer modified\": \"Client modifié\",\r\n \"Customer deleted\": \"Client supprimé\",\r\n \"User created\": \"Utilisateur créé\",\r\n \"User modified\": \"Utilisateur modifié\",\r\n \"User deleted\": \"Utilisateur supprimé\",\r\n \"Access card created\": \"Carte d'accès créée\",\r\n \"Access card modified\": \"Carte d'accès modifiée\",\r\n \"Access card deleted\": \"Carte d'accès supprimée\",\r\n \"User logged in\": \"Utilisateur connecté\",\r\n \"Config created\": \"Paramètre créée\",\r\n \"Config modified\": \"Paramètre modifié\",\r\n \"Config deleted\": \"Paramètre supprimée\",\r\n \"Device connected\": \"Appareil connecté\",\r\n \"Device disconnected\": \"Appareil déconnecté\",\r\n \"has_logged_in\": \"s'est connecté\",\r\n \"has_created_the_customer_account\": \"a créé le compte client\",\r\n \"has_modified_the_customer_account\": \"a modifié le compte client\",\r\n \"has_deleted_the_customer_account\": \"a supprimé le compte client\",\r\n \"has_created_the_access_card\": \"a créé la carte d'accès\",\r\n \"has_modified_the_access_card\": \"a modifié la carte d'accès\",\r\n \"has_deleted_the_access_card\": \"a supprimé la carte d'accès\",\r\n \"has_created_the_user_account\": \"a créé le compte utilisateur\",\r\n \"has_modified_the_user_account\": \"a modifié le compte utilisateur\",\r\n \"has_deleted_the_user_account\": \"a supprimé le compte utilisateur\",\r\n \"has_connected\": \"s'est connecté\",\r\n \"has_disconnected\": \"s'est déconnecté\",\r\n \"has_modified_the_config\": \"a modifié le paramètre\",\r\n \"from\": \"Du\",\r\n \"to\": \"pour\",\r\n \"key\": \"Clé\",\r\n \"no_guest_found\": \"Aucun invité trouvé\",\r\n \"add_guest_to_get_started\": \"Ajoutez un invité pour commencer.\",\r\n \"print\": \"Imprimer\",\r\n \"add_access_card\": \"Ajouter une carte d'accès\",\r\n \"dynamic_qr\": \"QR dynamique\",\r\n \"static_qr\": \"QR statique\",\r\n \"static_barcode\": \"Code-barres statique\",\r\n \"are_you_sure_delete_access_card_name\": \"Voulez-vous vraiment supprimer la carte d'accès {name}?\",\r\n \"max_entrance\": \"Entrée maximale\",\r\n \"between_hours_start\": \"Heures de début\",\r\n \"between_hours_end\": \"Heures de fin\",\r\n \"signin\": \"S'identifier\",\r\n \"username\": \"Nom d'utilisateur\",\r\n \"password\": \"Mot de passe\",\r\n \"password_confirmation\": \"Confirmation du mot de passe\",\r\n \"remember_username\": \"Se souvenir du nom d'utilisateur\",\r\n \"login\": \"Connexion\",\r\n \"invalid username or password provided\": \"Nom d'utilisateur ou mot de passe fourni invalide.\",\r\n \"feature_in_development\": \"Cette fonctionnalité est en développement\",\r\n \"feature_available_next_release\": \"Cette fonctionnalité sera disponible dans la prochaine version publique.\",\r\n \"parameter_name\": \"Nom du paramètre\",\r\n \"value\": \"Valeur\",\r\n \"disabled\": \"Désactivé\",\r\n \"enabled\": \"Activé\",\r\n \"instantly\": \"Immédiatement\",\r\n \"5_minutes\": \"5 minutes\",\r\n \"10_minutes\": \"10 minutes\",\r\n \"15_minutes\": \"15 minutes\",\r\n \"30_minutes\": \"30 minutes\",\r\n \"45_minutes\": \"45 minutes\",\r\n \"60_minutes\": \"60 minutes\",\r\n \"notifications\": \"Notifications\",\r\n \"push_notifications\": \"Notifications push\",\r\n \"gate_blocked\": \"Portail bloquée\",\r\n \"blocked\": \"Bloquée\",\r\n \"device_disconnected\": \"Appareil déconnecté\",\r\n \"device_reconnected\": \"Appareil reconnecté\",\r\n \"enable_push_notifications_to_be_sent\": \"Activer les notifications push à envoyer aux utilisateurs qui y sont abonnés.\",\r\n \"send_alert_when_gate_blocked_for_desired_time\": \"Envoyez une alerte chaque fois qu'un objet a été détecté bloquant la porte pendant plus de temps que souhaité.\",\r\n \"send_alert_when_device_disconnect\": \"Envoyez une alerte chaque fois qu'un appareil a été déconnecté du serveur pendant plus de temps que souhaité.\",\r\n \"send_alert_when_device_reconnect\": \"Envoyez une alerte chaque fois qu'un appareil s'est reconnecté au serveur après avoir envoyé une alerte de déconnexion.\",\r\n \"add_user_account\": \"Ajouter un compte utilisateur\",\r\n \"edit_user_account\": \"Modifier le compte utilisateur\",\r\n \"use_ldap\": \"Utilise LDAP\",\r\n \"role\": \"Rôle\",\r\n \"operator\": \"Opérateur\",\r\n \"technician\": \"Technicien\",\r\n \"save_user\": \"Enregistrer le compte utilisateur\",\r\n \"timezone\": \"Fuseau horaire\",\r\n \"user_modification_error\": \"Erreur de modification de l'utilisateur\",\r\n \"password_confirmation_does_not_match\": \"La confirmation du mot de passe ne correspond pas.\",\r\n \"no_access_card_found\": \"Aucune carte d'accès trouvée\",\r\n \"add_access_card_to_get_started\": \"Ajoutez une carte d'accès pour commencer.\",\r\n \"save_parameters\": \"Enregistrer les paramètres\",\r\n \"site_name\": \"Nom du site\",\r\n \"site_name_description\": \"Nom à imprimer sur les coupons et à afficher dans les communications.\",\r\n \"how_many_parking_spots\": \"Combien de places de stationnement dans le parking.\",\r\n \"vehicles_inside\": \"Véhicules à l'intérieur\",\r\n \"how_many_vehicles_inside\": \"Combien de véhicules sont actuellement à l'intérieur.\",\r\n \"maintenance_mode\": \"Mode de Maintenance\",\r\n \"enable_maintenance_mode_description\": \"Activer le mode maintenance et autoriser tous les passages.\",\r\n \"server_hostname\": \"Nom d'hôte du serveur\",\r\n \"ldap_server_hostname\": \"Adresse IP ou nom d'hôte du serveur LDAP.\",\r\n \"server_port\": \"Port du serveur\",\r\n \"ldap_server_port\": \"Port du serveur LDAP.\",\r\n \"ldap_secured\": \"LDAP sécurisé\",\r\n \"ldap_secured_description\": \"Utilisez le protocole sécurisé LDAP.\",\r\n \"example\": \"Exemple\",\r\n \"ldap_distinguished_names\": \"LDAP noms distingués\",\r\n \"smtp_server_ip_address\": \"Adresse IP ou nom d'hôte du serveur SMTP.\",\r\n \"smtp_secured\": \"SMTP sécurisé\",\r\n \"smtp_server_port\": \"SMTP port de serveur\",\r\n \"use_smtp_secure_protocol\": \"Utiliser le protocole sécurisé SMTP.\",\r\n \"smtp_account_username\": \"Nom d'utilisateur du compte SMTP\",\r\n \"smtp_account_password\": \"Mot de passe du compte SMTP\",\r\n \"smtp_send_from_name\": \"Envoi SMTP depuis (nom)\",\r\n \"smtp_send_from_email\": \"Envoi SMTP depuis (e-mail)\",\r\n \"this_name_will_be_sender\": \"Ce nom sera affiché comme expéditeur\",\r\n \"this_email_will_be_sender\": \"Cette adresse e-mail sera affichée comme expéditeur\",\r\n \"smtp_to_email_test\": \"SMTP vers e-mail (test uniquement)\",\r\n \"send_test_mail_to_address\": \"Envoyez un mail test à cette adresse\",\r\n \"send_test_mail\": \"Envoyer un e-mail test\",\r\n \"smtp_settings_modification_success\": \"Succès de la modification des paramètres SMTP\",\r\n \"success_smtp_settings_have_saved_successfully\": \"Succès: les paramètres SMTP ont été enregistrés avec succès.\",\r\n \"smtp_settings_modification_error\": \"Erreur de modification des paramètres SMTP\",\r\n \"test_mail_error\": \"Erreur de test de messagerie\",\r\n \"please_fill_all_fields\": \"Veuillez remplir tous les champs\",\r\n \"test_mail_success\": \"Le test de messagerie a réussi\",\r\n \"success_test_mail_sent_successfully\": \"Réussite: L'e-mail de test a été envoyé avec succès.\",\r\n \"user_creation_error\": \"Erreur de création d'utilisateur\",\r\n \"creation_date\": \"Date de création\",\r\n \"last_seen_date\": \"Date de la dernière visite\",\r\n \"are_you_sure_delete_user\": \"Voulez-vous vraiment supprimer le client {name}?\",\r\n \"add_user\": \"Ajouter un utilisateur\",\r\n \"no_user_found\": \"Aucun utilisateur trouvé\",\r\n \"max_vehicles_inside\": \"Max véhicules à l'intérieur\",\r\n \"most_secured\": \"Plus sécurisé\",\r\n \"less_secured\": \"Moins sécurisé\",\r\n \"one_time_only\": \"Une fois seulement\",\r\n \"save_access_card\": \"Enregistrer la carte d'accès\",\r\n \"access_card_creation_error\": \"Erreur de création de carte d'accès\",\r\n \"edit_access_card\": \"Modifier la carte d'accès\",\r\n \"locale\": \"Langue\",\r\n \"french\": \"Francais\",\r\n \"english\": \"Anglais\",\r\n \"save_customer\": \"Enregistrer le client\",\r\n \"customer_modification_error\": \"Erreur de modification client\",\r\n \"edit_customer\": \"Modifier le client\",\r\n \"general_settings_modification_success\": \"Succès de la modification des paramètres généraux\",\r\n \"general_settings_modification_error\": \"Erreur de modification des paramètres généraux\",\r\n \"success_saved_general_settings\": \"Succès: les paramètres généraux ont été enregistrés avec succès.\",\r\n \"ldap_settings_modification_success\": \"Succès de la modification des paramètres LDAP\",\r\n \"success_ldap_settings_saved_successfully\": \"Succès: les paramètres LDAP ont été enregistrés avec succès.\",\r\n \"ldap_settings_modification_error\": \"Erreur de modification des paramètres LDAP\",\r\n \"controller\": \"Contrôleur\",\r\n \"Entry created\": \"Entrée créée\",\r\n \"Failed to create entry\": \"Échec de la création de l'entrée\",\r\n \"guest_entered_parking\": \"Un invité est entré dans le parking\",\r\n \"average_per_day\": \"Moyenne par jour\",\r\n \"average_per_week\": \"Moyenne par semaine\",\r\n \"average_per_month\": \"Moyenne par mois\",\r\n \"to_date\": \"Au\",\r\n \"number_of_access\": \"Nombre de carte(s) à créer\",\r\n \"print_access_cards\": \"Imprimer des cartes d'accès\",\r\n \"do_you_want_to_print_access_cards\": \"Voulez-vous imprimer {count} carte(s) d'accès\",\r\n \"week\": \"Semaine\",\r\n \"month\": \"Mois\",\r\n \"year\": \"Année\",\r\n \"logo\": \"Logo\",\r\n \"logo_used\": \"Logo utilisé pour les coupons.\",\r\n \"logo_used2\": \"Logo utilisé pour les courriels.\",\r\n \"allowed_days\": \"Jours autorisés\",\r\n \"max_vehicles\": \"Véhicules maximum\",\r\n \"nip\": \"PIN\",\r\n \"coupon_text_fr\": \"Texte du coupon en français\",\r\n \"coupon_text_en\": \"Texte du coupon en anglais\",\r\n \"coupon_text_description\": \"Texte à afficher au bas d'un coupon.\",\r\n \"unknown\": \"Inconnue\",\r\n \"keep_open\": \"Garder le portail ouvert\",\r\n \"indefinitely\": \"Indéfiniment\",\r\n \"email_text_fr2\": \"Texte d'introduction du courriel en français\",\r\n \"email_text_en2\": \"Texte d'introduction du courriel en anglais\",\r\n \"email_text_description\": \"Texte à afficher en-dessous de la carte d'accès.\",\r\n \"email_text_description2\": \"Texte à afficher au-dessus de la carte d'accès.\",\r\n \"email_text_fr\": \"Text d'outro du courriel en français\",\r\n \"email_text_en\": \"Text d'outro du courriel en anglais\",\r\n \"hid_card\": \"Carte HID\",\r\n \"card_key\": \"Clé de la carte\",\r\n \"auto_exit_entries\": \"Fermées automatiquement les entrées\",\r\n \"auto_exit_entries_description\": \"Les entrées seront fermées automatiquement à minuit.\",\r\n \"today_activities\": \"Activités d'aujourd'hui\",\r\n \"has_sent_stay_open_signal\": \"a envoyé manuellement un signal de garder ouvert à l'appareil\",\r\n \"has_sent_open_signal\": \"a envoyé manuellement un signal d'ouverture à l'appareil\",\r\n \"has_sent_close_signal\": \"a envoyé manuellement un signal de fermeture à l'appareil\",\r\n \"for_a_duration_of\": \"pour une durée de\",\r\n \"_indefinitely_\": \"`Indéfiniment`\",\r\n \"received_gate_signal\": \"signal du portail reçu\",\r\n \"state_changed_to\": \"L'état est passé à\",\r\n \"User sent signal\": \"Signal envoyé par l'utilisateur\",\r\n \"User\": \"Utilisateur\",\r\n \"date\": \"Date\",\r\n \"disable_max_vehicles\": \"Désactiver la limite de véhicule\",\r\n \"disable_max_vehicles_description\": \"Désactiver la limite maximale de véhicules\",\r\n \"language\": \"Langue\",\r\n \"yes\": \"oui\",\r\n \"no\": \"non\",\r\n \"Device state changed\": \"État de l'appareil changé\",\r\n \"max vehicules inside limit reached\": \"Limite max de véhicules à l'intérieur atteinte.\",\r\n \"has_created_zone\": \"a créé la zone\",\r\n \"has_modified_zone\": \"a modifié la zone\",\r\n \"has_deleted_zone\": \"a supprimé la zone\",\r\n \"Zone created\": \"Zone créée\",\r\n \"Zone modified\": \"Zone modifiée\",\r\n \"Zone deleted\": \"Zone supprimée\",\r\n \"zones\": \"Zones\",\r\n \"are_you_sure_delete_zone\": \"Voulez-vous vraiment supprimer la zone {name}?\",\r\n \"save_zone\": \"Sauvegarder la zone\",\r\n \"edit_zone\": \"Modifier la zone\",\r\n \"add_zone\": \"Ajouter une zone\",\r\n \"no_zone_found\": \"Aucune zone trouvée\",\r\n \"pricings\": \"Tarifications\",\r\n \"pricing\": \"Tarification\",\r\n \"no_pricings_found\": \"Aucune tarifications trouvé\",\r\n \"add_pricing\": \"Ajouter un tarif\",\r\n \"normal\": \"Normal\",\r\n \"special\": \"Spécial\",\r\n \"holidays\": \"Jour férié\",\r\n \"days\": \"Jours\",\r\n \"monday\": \"Lundi\",\r\n \"tuesday\": \"Mardi\",\r\n \"wednesday\": \"Mercredi\",\r\n \"thursday\": \"Jeudi\",\r\n \"friday\": \"Vendredi\",\r\n \"saturday\": \"Samedi\",\r\n \"sunday\": \"Dimanche\",\r\n \"pricing_hour_min\": \"Heure début effectif\",\r\n \"pricing_hour_max\": \"Heure fin effectif\",\r\n \"pricing_date_min\": \"Date début effectif\",\r\n \"pricing_date_max\": \"Date fin effectif\",\r\n \"priority\": \"Priorité\",\r\n \"hourly_rate\": \"Taux horaire\",\r\n \"daily_max_rate\": \"Tarif journalier maximum\",\r\n \"weekly_max_rate\": \"Tarif hebdomadaire maximum\",\r\n \"monthly_max_rate\": \"Tarif mensuel maximum\",\r\n \"off_peak_hourly_rate\": \"Tarif hors des heures de pointes\",\r\n \"off_peak_hour_morning_start\": \"Début hors pointes du matin\",\r\n \"off_peak_hour_morning_end\": \"Fin hors pointes du matin\",\r\n \"off_peak_hour_evening_start\": \"Début hors pointes du soir\",\r\n \"off_peak_hour_evening_end\": \"Fin hors pointes du soir\",\r\n \"adjust_daylight_timezone\": \"Ajuster automatiquement à l'heure d'été\",\r\n \"AutomaticSystems Barrier\": \"Barrière AutomaticSystems\",\r\n \"ELKA Barrier\": \"Barrière ELKA\",\r\n \"PAX Terminal\": \"Terminal PAX\",\r\n \"save_pricing\": \"Sauvegarder le tarif\",\r\n \"average\": \"Moyenne\",\r\n \"tax_name\": \"Nom de la taxe\",\r\n \"how_much_percent_to_apply\": \"Pourcentage de taxe à appliquer\",\r\n \"enable_use_taxes_description\": \"Activer cette option pour appliquer une taxe sur la tarification\",\r\n \"use_taxes\": \"Utiliser les taxes\",\r\n \"in order to enter parking\": \"pour entrer dans la zone\",\r\n \"transactions\": \"Transactions\",\r\n \"tax_percent\": \"Pourcentage de la taxe\",\r\n \"tax_name_description\": \"Nom de la taxe à imprimer\",\r\n \"daylight_offset\": \"Décalage de l'heure d'été\",\r\n \"Gate has been opened by\": \"L'appareil à été ouvert par\",\r\n \"Gate has been opened in order to enter zone.\": \"L'appareil à été ouvert pour entré dans la zone.\",\r\n \"Gate has been opened in order to exit zone.\": \"L'appareil à été ouvert pour sortir de la zone.\",\r\n \"Customer entered\": \"Client entré\",\r\n \"Staff entered\": \"Utilisateur entré\",\r\n \"Error: Network Error\": \"Erreur: Erreur réseau\",\r\n \"customer_passages\": \"Passages client\",\r\n \"users_passages\": \"Passages utilisateur\",\r\n \"guests_passages\": \"Passages visiteur\",\r\n \"add_device\": \"Ajouter un appareil\",\r\n \"save_device\": \"Sauvegarder l'appareil\",\r\n \"Type\": \"Type\",\r\n \"Barrier\": \"Portail\",\r\n \"total_price\": \"Prix total\",\r\n \"entry_id\": \"# Entrée\",\r\n \"identifier\": \"Identifiant\",\r\n \"masked_pan\": \"PAN masquée\",\r\n \"card_brand\": \"Fournisseur\",\r\n \"amount\": \"Montant\",\r\n \"refunded\": \"Remboursé\",\r\n \"purchase\": \"Achat\",\r\n \"Customer exited\": \"Client sorti\",\r\n\r\n \"relay_operating_mode\": \"Mode de fonctionnement du relais\",\r\n \"deactivated\": \"Désactivé\",\r\n \"maintenance\": \"Maintenance\",\r\n \"boom_missing\": \"Lisse manquante\",\r\n \"tandem_operation\": \"Fonctionnement en tandem\",\r\n \"red_traffic_light\": \"Feu rouge\",\r\n \"green_traffic_light\": \"Feu vert\",\r\n \"warning_light\": \"Feu jaune\",\r\n \"led_boom_lighting\": \"Éclairage de bras à LED\",\r\n \"activated_when_barrier_open\": \"Activé lorsque la barrière est ouverte\",\r\n \"activated_when_barrier_closed\": \"Activé lorsque la barrière est fermée\",\r\n \"activated_via_bus\": \"Activé via le bus\",\r\n \"photoelectric_barrier_testing\": \"Test de barrière photoélectrique\",\r\n \"barrier_emergency_released\": \"Déverrouillage d'urgence de la barrière\",\r\n \"activated_when_loop_a_occupied\": \"Activé lorsque la boucle A est occupée\",\r\n \"activated_when_loop_a_activated_notfaulty_notoccupied\": \"Activé lorsque la boucle A est activée non défaillante non occupée\",\r\n \"pulse_when_loop_a_occupied\": \"Impulsion lorsque la boucle A est occupée\",\r\n \"pulse_when_loop_a_cleared\": \"Impulsion lorsque la boucle A est libérée\",\r\n \"activated_when_loop_b_occupied\": \"Activé lorsque la boucle B est occupée\",\r\n \"activated_when_loop_b_activated_notfaulty_notoccupied\": \"Activé lorsque la boucle B est activée non défaillante non occupée\",\r\n \"pulse_when_loop_b_occupied\": \"Impulsion lorsque la boucle A est occupée\",\r\n \"pulse_when_loop_b_cleared\": \"Impulsion lorsque la boucle B est libérée\",\r\n \"activated_when_loop_c_occupied\": \"Activé lorsque la boucle C est occupée\",\r\n \"activated_when_loop_c_activated_notfaulty_notoccupied\": \"Activé lorsque la boucle C est activée non défaillante non occupée\",\r\n \"pulse_when_loop_c_occupieday\": \"Impulsion lorsque la boucle C est occupée\",\r\n \"pulse_when_loop_c_cleared\": \"Impulsion lorsque la boucle C est libérée\",\r\n \"pulse_when_vehicle_counter_increment\": \"Impulsion lorsque le compteur du véhicule incrémente\",\r\n \"pulse_when_vehicle_counter_decrement\": \"Impulsion lorsque le compteur du véhicule décrémente\",\r\n \"pulse_when_dl_detected_passing_left\": \"Impulsion lorsque dl détecte un passage à gauche\",\r\n \"pulse_when_dl_detected_passing_right\": \"Impulsion lorsque dl détecte un passage à droite\",\r\n \"on_when_barrier_closed\": \"Allumé lorsque la barrière est fermée\",\r\n \"on_when_tcp_connected\": \"Allumé lorsque TCP est connecté\",\r\n \"on_when_powerfailuredetection_connected_andnofailure\": \"Allumé lorsque la détection de panne de courant est connectée et aucune panne\",\r\n \"activated_when_acousticsignaldevice_ison\": \"Activé lorsque le dispositif de signal sonore est allumé\",\r\n \"ledboom_controlling_green_leds\": \"Bras LED contrôlant les LED vertes\",\r\n \"ledboom_controlling_red_leds\": \"Bras LED contrôlant les LED rouges\",\r\n \"allow_exit_no_entry\": \"Autoriser la sortie sans entrée existante préalable\",\r\n \"allow_exit_no_entry_description\": \"Cette option est requise pour les stationnements qui on une sortie ou plus en mode libre sans validation.\",\r\n \"Validation failed\": \"Erreur de validation\",\r\n \"a customer\": \"un client\",\r\n \"a guest\": \"un visiteur\",\r\n \"a user\": \"un utilisateur\",\r\n\r\n \"Printer status changed\": \"L'état de l'imprimante a changé\",\r\n \"The printer device has connected.\": \"L'imprimante est connectée.\",\r\n \"The printer device has been disconnected.\": \"Le périphérique d'impression a été déconnecté.\",\r\n \"The printer device is online.\": \"L'imprimante est en ligne.\",\r\n \"The printer device is offline.\": \"L'imprimante est hors ligne.\",\r\n \"The printer device is waiting for online error recovery.\": \"L'imprimante attend la récupération d'erreur en ligne.\",\r\n \"The printer device has recovered.\": \"L'imprimante à récupérée.\",\r\n \"The printer device feed button has been pressed.\": \"Le bouton d'entraînement du papier de l'imprimante a été enfoncé.\",\r\n \"The printer device feed button has been released.\": \"Le bouton d'entraînement du papier de l'imprimante a été relâché.\",\r\n \"The printer plate has been opened.\": \"La plaque de l'imprimante a été ouverte.\",\r\n \"The printer plate has been closed.\": \"La plaque de l'imprimante a été fermée.\",\r\n \"The printer device is feeding by button.\": \"L'imprimante entraîne le papier à l'aide du bouton.\",\r\n \"The printer device is no longer feeding by button.\": \"L'imprimante n'entraîne plus le papier avec le bouton.\",\r\n \"The printer device sensor for paper end stop is active.\": \"Le capteur de fin de course du papier de l'imprimante est actif.\",\r\n \"The printer device sensor for paper end stop is inactive.\": \"Le capteur de fin de course du papier de l'imprimante est inactif.\",\r\n \"The printer device has occurred an error.\": \"Une erreur s'est produite au niveau de l'imprimante.\",\r\n \"The printer device has recovered from an error.\": \"L'imprimante a récupéré après une erreur.\",\r\n \"The printer device has occurred a mechanical error.\": \"Une erreur mécanique est survenue au niveau de l'imprimante.\",\r\n \"The printer device has recovered from a mechanical error.\": \"L'imprimante a récupéré d'une erreur mécanique.\",\r\n \"The printer device has occurred an auto cutter error.\": \"Une erreur de coupe automatique s'est produite au niveau de l'imprimante.\",\r\n \"The printer device has recovered from an auto cutter error.\": \"L'imprimante a récupéré d'une erreur de coupe automatique.\",\r\n \"The printer device has occurred an unrecoverable error.\": \"Une erreur irrécupérable s'est produite au niveau du périphérique d'impression.\",\r\n \"The printer device has recovered from an unrecoverable error.\": \"L'imprimante a récupéré d'une erreur irrécupérable.\",\r\n \"The printer device has occurred an auto recoverable error.\": \"L'imprimante a rencontré une erreur récupérable automatiquement.\",\r\n \"The printer device has recovered from an auto recoverable error.\": \"L'imprimante a récupéré d'une erreur récupérable automatiquement.\",\r\n \"The printer device has detected adequate paper.\": \"L'imprimante a détecté suffisamment de papier.\",\r\n \"The printer device has detected inadequate paper.\": \"L'imprimante a détecté un papier inadéquat.\",\r\n \"The printer device has detected paper near end.\": \"L'imprimante a détecté une fin de papier imminente.\",\r\n \"The printer device has undetected paper near end.\": \"L'imprimante a du papier non détecté presque à la fin.\",\r\n \"The printer device has detected paper.\": \"L'imprimante a détecté du papier.\",\r\n \"The printer device has detected missing paper.\": \"L'imprimante a détecté du papier manquant.\",\r\n \"The printer device has detected paper roll end.\": \"L'imprimante a détecté la fin du rouleau de papier.\",\r\n \"The printer device has undetected paper roll end.\": \"L'imprimante présente une fin de rouleau de papier non détectée.\",\r\n \"event\": \"Évenement\",\r\n \"Card scanned\": \"Carte d'accès scannée\",\r\n \"The card with number\": \"La carte d'accès avec le numéro\",\r\n \"has been scanned\": \"a été scanné\",\r\n \"Coupon scanned\": \"Code QR scannée\",\r\n \"The qr coupon with number\": \"Le code QR avec le numéro\",\r\n \"PIN submited\": \"PIN soumis\",\r\n \"The PIN with number\": \"Le code PIN avec le numéro\",\r\n \"has been submited\": \"a été soumis\",\r\n \"access card is not allowed to do entries\": \"Les cartes d'accès clients ne sont pas autorisés à faire des entrées\"\r\n }\r\n }\r\n});\r\n\r\nconst app = createApp(App)\r\n.use(IonicVue)\r\n.use(router)\r\n.use(store)\r\n.use(eventBus)\r\n//@ts-ignore\r\n.use(BootstrapVue3)\r\n.use(i18n)\r\n.use(VueApexCharts)\r\n.use(VueObserveVisibility);\r\n\r\napp.config.globalProperties.$messaging = firebaseMessaging\r\n\r\nrouter.isReady().then(() => {\r\n app.mount('#app');\r\n});\r\n","// Copyright 2022 Lexoh Inc. All rights reserved.\r\n// NOTICE: All information contained herein is, and remains the property of\r\n// Lexoh Inc. The intellectual and technical concepts contained herein are\r\n// proprietary to Lexoh Inc and may be covered by Canada and Foreign Patents, patents\r\n// in process, and are protected by trade secret or copyright law. Dissemination\r\n// of this information or reproduction of this material is strictly forbidden\r\n// unless prior written permission is obtained from Lexoh Inc. Access to the source\r\n// code contained herein is hereby forbidden to anyone except current Lexoh Inc\r\n// employees, managers or contractors who have executed Confidentiality and\r\n// Non-disclosure agreements explicitly covering such access.\r\nimport axios from 'axios';\r\n//@ts-ignore\r\nimport process from 'process';\r\nconst API_URL = process.env.NODE_ENV == 'development' ? 'https://' + window.location.hostname + ':3000/v1/' : 'https://' + window.location.hostname + ':3000/v1/';\r\nclass AccessService\r\n{\r\n\tget(id: string)\r\n\t{\r\n\t\treturn axios.post(`${API_URL}access`,\r\n\t\t{\r\n\t\t\tid: id\r\n\t\t}, { withCredentials: true }).then(response => {\r\n\t\t\treturn response.data;\r\n\t\t});\r\n\t}\r\n\r\n\tlist(customer_id: string | null, user_id: string | null, page: number, search: string)\r\n\t{\r\n\t\treturn axios.post(`${API_URL}access/list`, {customer_id: customer_id == null ? null : customer_id.toString(), user_id: user_id == null ? null : user_id.toString(), page: page, search: search}, { withCredentials: true }).then(response => {\r\n\t\t\treturn response.data;\r\n\t\t});\r\n\t}\r\n\r\n\tinsert(customer_id: string | null, user_id: string | null, max_entrance: number, limits: number, type: string, status: string, validation_date: string, expiration_date: string, between_hours_start: string, between_hours_end: string, allow_monday: boolean, allow_tuesday: boolean, allow_wednesday: boolean, allow_thursday: boolean, allow_friday: boolean, allow_saturday: boolean, allow_sunday: boolean, one_time_only: boolean, number_of_access: number, username: string, locale: string, zones: string, tags: string, has_subscription: boolean)\r\n\t{\r\n\t\treturn axios.put(`${API_URL}access`, {\r\n\t\t\tcustomer_id,\r\n\t\t\tuser_id,\r\n\t\t\tmax_entrance,\r\n\t\t\tlimits,\r\n\t\t\ttype,\r\n\t\t\tstatus,\r\n\t\t\tvalidation_date,\r\n\t\t\texpiration_date,\r\n\t\t\tbetween_hours_start,\r\n\t\t\tbetween_hours_end,\r\n\t\t\tallow_monday,\r\n\t\t\tallow_tuesday,\r\n\t\t\tallow_wednesday,\r\n\t\t\tallow_thursday,\r\n\t\t\tallow_friday,\r\n\t\t\tallow_saturday,\r\n\t\t\tallow_sunday,\r\n\t\t\tone_time_only,\r\n\t\t\tnumber_of_access,\r\n\t\t\tusername,\r\n\t\t\tlocale,\r\n\t\t\tzones,\r\n\t\t\ttags,\r\n\t\t\thas_subscription\r\n\t\t}, { withCredentials: true }).then(response => {\r\n\t\t\treturn response.data;\r\n\t\t}).catch(function (error) {\r\n\t\t\tif (error.response)\r\n\t\t\t{\r\n\t\t\t\treturn error.response.data;\r\n\t\t\t}\r\n\t\t\treturn null;\r\n\t\t});\r\n\t}\r\n\r\n\tupdate(id: string, max_entrance: number, limits: number, status: string, validation_date: string, expiration_date: string, between_hours_start: string, between_hours_end: string, allow_monday: boolean, allow_tuesday: boolean, allow_wednesday: boolean, allow_thursday: boolean, allow_friday: boolean, allow_saturday: boolean, allow_sunday: boolean, one_time_only: boolean, username: string, locale: string, zones: string, tags: string, has_subscription: boolean)\r\n\t{\r\n\t\treturn axios.patch(`${API_URL}access`, {\r\n\t\t\tid: id.toString(),\r\n\t\t\tmax_entrance,\r\n\t\t\tlimits,\r\n\t\t\tstatus,\r\n\t\t\tvalidation_date,\r\n\t\t\texpiration_date,\r\n\t\t\tbetween_hours_start,\r\n\t\t\tbetween_hours_end,\r\n\t\t\tallow_monday,\r\n\t\t\tallow_tuesday,\r\n\t\t\tallow_wednesday,\r\n\t\t\tallow_thursday,\r\n\t\t\tallow_friday,\r\n\t\t\tallow_saturday,\r\n\t\t\tallow_sunday,\r\n\t\t\tone_time_only,\r\n\t\t\tusername,\r\n\t\t\tlocale,\r\n\t\t\tzones,\r\n\t\t\ttags,\r\n\t\t\thas_subscription\r\n\t\t}, { withCredentials: true }).then(response => {\r\n\t\t\treturn response.data;\r\n\t\t}).catch(function (error) {\r\n\t\t\tif (error.response)\r\n\t\t\t{\r\n\t\t\t\treturn error.response.data;\r\n\t\t\t}\r\n\t\t\treturn null;\r\n\t\t});\r\n\t}\r\n\r\n\tdelete(id: string)\r\n\t{\r\n\t\t//@ts-ignore\r\n\t\treturn axios.delete(`${API_URL}access`, { withCredentials: true, data: { id: id.toString() } }).then(response => {\r\n\t\t\treturn response.data;\r\n\t\t}).catch(function (error) {\r\n\t\t\tif (error.response)\r\n\t\t\t{\r\n\t\t\t\treturn error.response.data;\r\n\t\t\t}\r\n\t\t\treturn null;\r\n\t\t});\r\n\t}\r\n}\r\nexport default new AccessService();\r\n","// Copyright 2022 Lexoh Inc. All rights reserved.\r\n// NOTICE: All information contained herein is, and remains the property of\r\n// Lexoh Inc. The intellectual and technical concepts contained herein are\r\n// proprietary to Lexoh Inc and may be covered by Canada and Foreign Patents, patents\r\n// in process, and are protected by trade secret or copyright law. Dissemination\r\n// of this information or reproduction of this material is strictly forbidden\r\n// unless prior written permission is obtained from Lexoh Inc. Access to the source\r\n// code contained herein is hereby forbidden to anyone except current Lexoh Inc\r\n// employees, managers or contractors who have executed Confidentiality and\r\n// Non-disclosure agreements explicitly covering such access.\r\nimport axios from 'axios';\r\n//@ts-ignore\r\nimport process from 'process';\r\n\r\nconst API_URL = process.env.NODE_ENV == 'development' ? 'https://' + window.location.hostname + ':3000/v1/' : 'https://' + window.location.hostname + ':3000/v1/';\r\n\r\nclass CameraService\r\n{\r\n\tget(id: string)\r\n\t{\r\n\t\treturn axios.post(`${API_URL}camera`,\r\n\t\t{\r\n\t\t\tid: id\r\n\t\t}, { withCredentials: true }).then(response => {\r\n\t\t\treturn response.data;\r\n\t\t});\r\n\t}\r\n\r\n\tlist()\r\n\t{\r\n\t\treturn axios.post(`${API_URL}camera/list`, {}, { withCredentials: true }).then(response => {\r\n\t\t\treturn response.data;\r\n\t\t});\r\n\t}\r\n\r\n\tinsert(name: string, zone_id: number, type: number, path: string, username: string, password: string, showtext: boolean, textpositionx: number, textpositiony: number, textboxpadding: number, textboxopacity: number, fontsize: number, width: number, height: number, maxfps: number, maxrate: number, buffersize: number, audio: boolean)\r\n\t{\r\n\t\treturn axios.put(`${API_URL}camera`, {\r\n\t\t\tname,\r\n\t\t\tzone_id,\r\n\t\t\ttype,\r\n\t\t\tpath,\r\n\t\t\tusername,\r\n\t\t\tpassword,\r\n\t\t\tshowtext,\r\n\t\t\ttextpositionx,\r\n\t\t\ttextpositiony,\r\n\t\t\ttextboxpadding,\r\n\t\t\ttextboxopacity,\r\n\t\t\tfontsize,\r\n\t\t\twidth,\r\n\t\t\theight,\r\n\t\t\tmaxfps,\r\n\t\t\tmaxrate,\r\n\t\t\tbuffersize,\r\n\t\t\taudio\r\n\t\t}, { withCredentials: true }).then(response => {\r\n\t\t\treturn response.data;\r\n\t\t}).catch(function (error) {\r\n\t\t\tif (error.response)\r\n\t\t\t{\r\n\t\t\t\treturn error.response.data;\r\n\t\t\t}\r\n\t\t\treturn null;\r\n\t\t});\r\n\t}\r\n\r\n\tupdate(id: string, name: string, zone_id: number, type: number, path: string, username: string, password: string, showtext: boolean, textpositionx: number, textpositiony: number, textboxpadding: number, textboxopacity: number, fontsize: number, width: number, height: number, maxfps: number, maxrate: number, buffersize: number, audio: boolean)\r\n\t{\r\n\t\treturn axios.patch(`${API_URL}camera`, {\r\n id,\r\n\t\t\tname,\r\n\t\t\tzone_id,\r\n\t\t\ttype,\r\n\t\t\tpath,\r\n\t\t\tusername,\r\n\t\t\tpassword,\r\n\t\t\tshowtext,\r\n\t\t\ttextpositionx,\r\n\t\t\ttextpositiony,\r\n\t\t\ttextboxpadding,\r\n\t\t\ttextboxopacity,\r\n\t\t\tfontsize,\r\n\t\t\twidth,\r\n\t\t\theight,\r\n\t\t\tmaxfps,\r\n\t\t\tmaxrate,\r\n\t\t\tbuffersize,\r\n\t\t\taudio\r\n\t\t}, { withCredentials: true }).then(response => {\r\n\t\t\treturn response.data;\r\n\t\t}).catch(function (error) {\r\n\t\t\tif (error.response)\r\n\t\t\t{\r\n\t\t\t\treturn error.response.data;\r\n\t\t\t}\r\n\t\t\treturn null;\r\n\t\t});\r\n\t}\r\n\r\n\tdelete(id: string)\r\n\t{\r\n\t\t//@ts-ignore\r\n\t\treturn axios.delete(`${API_URL}camera`, { withCredentials: true, data: { id: id.toString() } }).then(response => {\r\n\t\t\treturn response.data;\r\n\t\t}).catch(function (error) {\r\n\t\t\tif (error.response)\r\n\t\t\t{\r\n\t\t\t\treturn error.response.data;\r\n\t\t\t}\r\n\t\t\treturn null;\r\n\t\t});\r\n\t}\r\n\r\n\tevents(page: number, search: string, camera_ids: any)\r\n\t{\r\n\t\treturn axios.post(`${API_URL}camera/event/list`, {page, search, camera_ids}, { withCredentials: true }).then(response => {\r\n\t\t\treturn response.data;\r\n\t\t});\r\n\t}\r\n}\r\n\r\nexport default new CameraService()","// Copyright 2022 Lexoh Inc. All rights reserved.\r\n// NOTICE: All information contained herein is, and remains the property of\r\n// Lexoh Inc. The intellectual and technical concepts contained herein are\r\n// proprietary to Lexoh Inc and may be covered by Canada and Foreign Patents, patents\r\n// in process, and are protected by trade secret or copyright law. Dissemination\r\n// of this information or reproduction of this material is strictly forbidden\r\n// unless prior written permission is obtained from Lexoh Inc. Access to the source\r\n// code contained herein is hereby forbidden to anyone except current Lexoh Inc\r\n// employees, managers or contractors who have executed Confidentiality and\r\n// Non-disclosure agreements explicitly covering such access.\r\nimport axios from 'axios';\r\n//@ts-ignore\r\nimport process from 'process';\r\n\r\nconst API_URL = process.env.NODE_ENV == 'development' ? 'https://' + window.location.hostname + ':3000/v1/' : 'https://' + window.location.hostname + ':3000/v1/';\r\n\r\nclass ConfigService\r\n{\r\n\tget(id: string)\r\n\t{\r\n\t\treturn axios.post(`${API_URL}config`,\r\n\t\t{\r\n\t\t\tid: id\r\n\t\t}, { withCredentials: true }).then(response => {\r\n\t\t\treturn response.data;\r\n\t\t});\r\n\t}\r\n\r\n save(configs: any)\r\n {\r\n return axios.patch(`${API_URL}config`, { configs }, { withCredentials: true }).then(response => {\r\n\t\t\treturn response.data;\r\n\t\t});\r\n }\r\n\r\n\tlist(category: string)\r\n\t{\r\n\t\treturn axios.post(`${API_URL}config/list`, { category: category }, { withCredentials: true }).then(response => {\r\n\t\t\treturn response.data;\r\n\t\t});\r\n\t}\r\n\r\n\ttestMail(hostname: string, port: string, secured: boolean, username: string, password: string, from_name: string, from_email: string, to_email)\r\n\t{\r\n\t\treturn axios.post(`${API_URL}config/testmail`, { hostname, port, secured, username, password, from_name, from_email, to_email }, { withCredentials: true }).then(response => {\r\n\t\t\treturn response.data;\r\n\t\t});\r\n\t}\r\n}\r\n\r\nexport default new ConfigService()","// Copyright 2022 Lexoh Inc. All rights reserved.\r\n// NOTICE: All information contained herein is, and remains the property of\r\n// Lexoh Inc. The intellectual and technical concepts contained herein are\r\n// proprietary to Lexoh Inc and may be covered by Canada and Foreign Patents, patents\r\n// in process, and are protected by trade secret or copyright law. Dissemination\r\n// of this information or reproduction of this material is strictly forbidden\r\n// unless prior written permission is obtained from Lexoh Inc. Access to the source\r\n// code contained herein is hereby forbidden to anyone except current Lexoh Inc\r\n// employees, managers or contractors who have executed Confidentiality and\r\n// Non-disclosure agreements explicitly covering such access.\r\nimport axios from 'axios';\r\n//@ts-ignore\r\nimport process from 'process';\r\n\r\nconst API_URL = process.env.NODE_ENV == 'development' ? 'https://' + window.location.hostname + ':3000/v1/' : 'https://' + window.location.hostname + ':3000/v1/';\r\n\r\nclass DeviceService\r\n{\r\n get(id: string)\r\n {\r\n return axios.post(`${API_URL}device`,\r\n {\r\n id: id\r\n }, { withCredentials: true }).then(response => {\r\n return response.data;\r\n });\r\n }\r\n\r\n list(page: number, search: string)\r\n {\r\n return axios.post(`${API_URL}device/list`, {page, search}, { withCredentials: true }).then(response => {\r\n return response.data;\r\n });\r\n }\r\n\r\n getDevicesByType(type: string)\r\n {\r\n return axios.post(`${API_URL}device/type`, { type }, { withCredentials: true }).then(response => {\r\n return response.data;\r\n });\r\n }\r\n\r\n insert(type: string, name: string, description: string, hostname: string, port: number, serverurl: string, zone_id: number)\r\n {\r\n return axios.put(`${API_URL}device`, {\r\n type,\r\n name,\r\n description,\r\n hostname,\r\n port,\r\n serverurl,\r\n zone_id\r\n }, { withCredentials: true }).then(response => {\r\n return response.data;\r\n }).catch(function (error) {\r\n if (error.response)\r\n {\r\n return error.response.data;\r\n }\r\n return null;\r\n });\r\n }\r\n\r\n editConfig(id: number, type: string, name: string, brand: string, model: string, zone_id: number, barrier_type: number, elka_settings: string)\r\n {\r\n return axios.patch(`${API_URL}device/config`, {\r\n id: id.toString(),\r\n type,\r\n name,\r\n brand,\r\n model,\r\n zone_id: zone_id.toString(),\r\n barrier_type,\r\n elka_settings\r\n }, { withCredentials: true }).then(response => {\r\n return response.data;\r\n });\r\n }\r\n\r\n openGate(id: number)\r\n {\r\n return axios.post(`${API_URL}device/open`, { id: id.toString() }, { withCredentials: true }).then(response => {\r\n return response.data;\r\n });\r\n }\r\n\r\n closeGate(id: number)\r\n {\r\n return axios.post(`${API_URL}device/close`, { id: id.toString() }, { withCredentials: true }).then(response => {\r\n return response.data;\r\n });\r\n }\r\n\r\n keepGateOpen(id: number, duration: number)\r\n {\r\n return axios.post(`${API_URL}device/keep_open`, { id: id.toString(), duration: duration }, { withCredentials: true }).then(response => {\r\n return response.data;\r\n });\r\n }\r\n\r\n lostTicket(id: number)\r\n {\r\n return axios.post(`${API_URL}device/lost_ticket`, { id: id.toString() }, { withCredentials: true }).then(response => {\r\n return response.data;\r\n });\r\n }\r\n\r\n reboot(id: number)\r\n {\r\n return axios.post(`${API_URL}device/reboot`, { id: id.toString() }, { withCredentials: true }).then(response => {\r\n return response.data;\r\n });\r\n }\r\n}\r\n\r\nexport default new DeviceService()","// Copyright 2022 Lexoh Inc. All rights reserved.\r\n// NOTICE: All information contained herein is, and remains the property of\r\n// Lexoh Inc. The intellectual and technical concepts contained herein are\r\n// proprietary to Lexoh Inc and may be covered by Canada and Foreign Patents, patents\r\n// in process, and are protected by trade secret or copyright law. Dissemination\r\n// of this information or reproduction of this material is strictly forbidden\r\n// unless prior written permission is obtained from Lexoh Inc. Access to the source\r\n// code contained herein is hereby forbidden to anyone except current Lexoh Inc\r\n// employees, managers or contractors who have executed Confidentiality and\r\n// Non-disclosure agreements explicitly covering such access.\r\nimport axios from 'axios';\r\n//@ts-ignore\r\nimport process from 'process';\r\n\r\nconst API_URL = process.env.NODE_ENV == 'development' ? 'https://' + window.location.hostname + ':3000/v1/' : 'https://' + window.location.hostname + ':3000/v1/';\r\n\r\nclass EventService\r\n{\r\n\tget(id: string)\r\n\t{\r\n\t\treturn axios.post(`${API_URL}event`,\r\n\t\t{\r\n\t\t\tid: id\r\n\t\t}, { withCredentials: true }).then(response => {\r\n\t\t\treturn response.data;\r\n\t\t});\r\n\t}\r\n\r\n\tlist(page: number, search: string, device_ids: any)\r\n\t{\r\n\t\treturn axios.post(`${API_URL}event/list`, {page, search, device_ids}, { withCredentials: true }).then(response => {\r\n\t\t\treturn response.data;\r\n\t\t});\r\n\t}\r\n}\r\n\r\nexport default new EventService()","// Copyright 2022 Lexoh Inc. All rights reserved.\r\n// NOTICE: All information contained herein is, and remains the property of\r\n// Lexoh Inc. The intellectual and technical concepts contained herein are\r\n// proprietary to Lexoh Inc and may be covered by Canada and Foreign Patents, patents\r\n// in process, and are protected by trade secret or copyright law. Dissemination\r\n// of this information or reproduction of this material is strictly forbidden\r\n// unless prior written permission is obtained from Lexoh Inc. Access to the source\r\n// code contained herein is hereby forbidden to anyone except current Lexoh Inc\r\n// employees, managers or contractors who have executed Confidentiality and\r\n// Non-disclosure agreements explicitly covering such access.\r\n\r\nimport axios from 'axios';\r\n//@ts-ignore\r\nimport process from 'process';\r\nconst API_URL = process.env.NODE_ENV == 'development' ? 'https://' + window.location.hostname + ':3000/v1/' : 'https://' + window.location.hostname + ':3000/v1/';\r\n\r\nclass PricingService\r\n{\r\n\tget(id: string)\r\n\t{\r\n\t\treturn axios.post(`${API_URL}pricing`,\r\n\t\t{\r\n\t\t\tid: id\r\n\t\t}, { withCredentials: true }).then(response => {\r\n\t\t\treturn response.data;\r\n\t\t});\r\n\t}\r\n\r\n\tlist(status: boolean | null, page: number, search: string)\r\n\t{\r\n\t\treturn axios.post(`${API_URL}pricing/list`, { status: status, page: page < 1 ? 1 : page, search: search }, { withCredentials: true }).then(response => {\r\n\t\t\treturn response.data;\r\n\t\t});\r\n\t}\r\n\r\n\tinsert(name: string, description: string, status: boolean, type: string, days: string, hour_min: string | null, hour_max: string | null, date_min: string | null, date_max: string | null, priority: string, zones: string, hourly_rate: string, off_peak_hourly_rate: string | null, off_peak_hour_morning_start: string | null, off_peak_hour_morning_end: string | null, off_peak_hour_evening_start: string | null, off_peak_hour_evening_end: string | null, daily_max_rate: string | null, weekly_max_rate: string | null, monthly_max_rate: string | null, kw_rate: string | null, lost_ticket_rate: string | null)\r\n\t{\r\n\t\treturn axios.put(`${API_URL}pricing`, {\r\n\t\t\tname,\r\n\t\t\tdescription,\r\n\t\t\tstatus,\r\n\t\t\ttype,\r\n\t\t\tdays,\r\n\t\t\thour_min,\r\n\t\t\thour_max,\r\n\t\t\tdate_min,\r\n\t\t\tdate_max,\r\n\t\t\tpriority,\r\n\t\t\tzones,\r\n\t\t\thourly_rate,\r\n\t\t\toff_peak_hourly_rate,\r\n\t\t\toff_peak_hour_morning_start,\r\n\t\t\toff_peak_hour_morning_end,\r\n\t\t\toff_peak_hour_evening_start,\r\n\t\t\toff_peak_hour_evening_end,\r\n\t\t\tdaily_max_rate,\r\n\t\t\tweekly_max_rate,\r\n\t\t\tmonthly_max_rate,\r\n\t\t\tkw_rate,\r\n\t\t\tlost_ticket_rate\r\n\t\t}, { withCredentials: true }).then(response => {\r\n\t\t\treturn response.data;\r\n\t\t}).catch(function (error) {\r\n\t\t\tif (error.response)\r\n\t\t\t{\r\n\t\t\t\treturn error.response.data;\r\n\t\t\t}\r\n\t\t\treturn null;\r\n\t\t});\r\n\t}\r\n\r\n\tupdate(id: string, name: string, description: string, status: boolean, type: string, days: string, hour_min: string | null, hour_max: string | null, date_min: string | null, date_max: string | null, priority: string, zones: string, hourly_rate: string, off_peak_hourly_rate: string | null, off_peak_hour_morning_start: string | null, off_peak_hour_morning_end: string | null, off_peak_hour_evening_start: string | null, off_peak_hour_evening_end: string | null, daily_max_rate: string | null, weekly_max_rate: string | null, monthly_max_rate: string | null, kw_rate: string | null, lost_ticket_rate: string | null)\r\n\t{\r\n\t\treturn axios.patch(`${API_URL}pricing`, {\r\n\t\t\tid: id.toString(),\r\n\t\t\tname,\r\n\t\t\tdescription,\r\n\t\t\tstatus,\r\n\t\t\ttype,\r\n\t\t\tdays,\r\n\t\t\thour_min,\r\n\t\t\thour_max,\r\n\t\t\tdate_min,\r\n\t\t\tdate_max,\r\n\t\t\tpriority,\r\n\t\t\tzones,\r\n\t\t\thourly_rate,\r\n\t\t\toff_peak_hourly_rate,\r\n\t\t\toff_peak_hour_morning_start,\r\n\t\t\toff_peak_hour_morning_end,\r\n\t\t\toff_peak_hour_evening_start,\r\n\t\t\toff_peak_hour_evening_end,\r\n\t\t\tdaily_max_rate,\r\n\t\t\tweekly_max_rate,\r\n\t\t\tmonthly_max_rate,\r\n\t\t\tkw_rate,\r\n\t\t\tlost_ticket_rate\r\n\t\t}, { withCredentials: true }).then(response => {\r\n\t\t\treturn response.data;\r\n\t\t}).catch(function (error) {\r\n\t\t\tif (error.response)\r\n\t\t\t{\r\n\t\t\t\treturn error.response.data;\r\n\t\t\t}\r\n\t\t\treturn null;\r\n\t\t});\r\n\t}\r\n\r\n\tdelete(id: string)\r\n\t{\r\n\t\t//@ts-ignore\r\n\t\treturn axios.delete(`${API_URL}pricing`, { withCredentials: true, data: { id: id.toString() } }).then(response => {\r\n\t\t\treturn response.data;\r\n\t\t}).catch(function (error) {\r\n\t\t\tif (error.response)\r\n\t\t\t{\r\n\t\t\t\treturn error.response.data;\r\n\t\t\t}\r\n\t\t\treturn null;\r\n\t\t});\r\n\t}\r\n\r\n\tgetForFilters()\r\n\t{\r\n\t\treturn axios.post(`${API_URL}pricing/filters`, {}, { withCredentials: true }).then(response => {\r\n\t\t\treturn response.data;\r\n\t\t});\r\n\t}\r\n\r\n\tcalculatePricing(zone_id: string, entrance: string, exit: string)\r\n\t{\r\n\t\treturn axios.post(`${API_URL}pricing/calculate`, { zone_id: zone_id.toString(), entrance: entrance, exit: exit }, { withCredentials: true }).then(response => {\r\n\t\t\treturn response.data;\r\n\t\t});\r\n\t}\r\n}\r\n\r\nexport default new PricingService();\r\n","// Copyright 2022 Lexoh Inc. All rights reserved.\r\n// NOTICE: All information contained herein is, and remains the property of\r\n// Lexoh Inc. The intellectual and technical concepts contained herein are\r\n// proprietary to Lexoh Inc and may be covered by Canada and Foreign Patents, patents\r\n// in process, and are protected by trade secret or copyright law. Dissemination\r\n// of this information or reproduction of this material is strictly forbidden\r\n// unless prior written permission is obtained from Lexoh Inc. Access to the source\r\n// code contained herein is hereby forbidden to anyone except current Lexoh Inc\r\n// employees, managers or contractors who have executed Confidentiality and\r\n// Non-disclosure agreements explicitly covering such access.\r\nimport axios from 'axios';\r\n//@ts-ignore\r\nimport process from 'process';\r\nconst API_URL = process.env.NODE_ENV == 'development' ? 'https://' + window.location.hostname + ':3000/v1/' : 'https://' + window.location.hostname + ':3000/v1/';\r\n\r\nclass TagService\r\n{\r\n\tget(id: string)\r\n\t{\r\n\t\treturn axios.post(`${API_URL}tag`,\r\n\t\t{\r\n\t\t\tid: id\r\n\t\t}, { withCredentials: true }).then(response => {\r\n\t\t\treturn response.data;\r\n\t\t});\r\n\t}\r\n\r\n\tlist(page: number, search: string)\r\n\t{\r\n\t\treturn axios.post(`${API_URL}tag/list`, { page: page < 1 ? 1 : page, search: search }, { withCredentials: true }).then(response => {\r\n\t\t\treturn response.data;\r\n\t\t});\r\n\t}\r\n\r\n\tinsert(name: string, color: string)\r\n\t{\r\n\t\treturn axios.put(`${API_URL}tag`, {\r\n\t\t\tname,\r\n\t\t\tcolor\r\n\t\t}, { withCredentials: true }).then(response => {\r\n\t\t\treturn response.data;\r\n\t\t}).catch(function (error) {\r\n\t\t\tif (error.response)\r\n\t\t\t{\r\n\t\t\t\treturn error.response.data;\r\n\t\t\t}\r\n\t\t\treturn null;\r\n\t\t});\r\n\t}\r\n\r\n\tupdate(id: string, name: string, color: string)\r\n\t{\r\n\t\treturn axios.patch(`${API_URL}tag`, {\r\n\t\t\tid: id.toString(),\r\n\t\t\tname,\r\n\t\t\tcolor\r\n\t\t}, { withCredentials: true }).then(response => {\r\n\t\t\treturn response.data;\r\n\t\t}).catch(function (error) {\r\n\t\t\tif (error.response)\r\n\t\t\t{\r\n\t\t\t\treturn error.response.data;\r\n\t\t\t}\r\n\t\t\treturn null;\r\n\t\t});\r\n\t}\r\n\r\n\tdelete(id: string)\r\n\t{\r\n\t\t//@ts-ignore\r\n\t\treturn axios.delete(`${API_URL}tag`, { withCredentials: true, data: { id: id.toString() } }).then(response => {\r\n\t\t\treturn response.data;\r\n\t\t}).catch(function (error) {\r\n\t\t\tif (error.response)\r\n\t\t\t{\r\n\t\t\t\treturn error.response.data;\r\n\t\t\t}\r\n\t\t\treturn null;\r\n\t\t});\r\n\t}\r\n\r\n\tgetForFilters()\r\n\t{\r\n\t\treturn axios.post(`${API_URL}tag/filters`, {}, { withCredentials: true }).then(response => {\r\n\t\t\treturn response.data;\r\n\t\t});\r\n\t}\r\n}\r\n\r\nexport default new TagService();\r\n","// Copyright 2022 Lexoh Inc. All rights reserved.\r\n// NOTICE: All information contained herein is, and remains the property of\r\n// Lexoh Inc. The intellectual and technical concepts contained herein are\r\n// proprietary to Lexoh Inc and may be covered by Canada and Foreign Patents, patents\r\n// in process, and are protected by trade secret or copyright law. Dissemination\r\n// of this information or reproduction of this material is strictly forbidden\r\n// unless prior written permission is obtained from Lexoh Inc. Access to the source\r\n// code contained herein is hereby forbidden to anyone except current Lexoh Inc\r\n// employees, managers or contractors who have executed Confidentiality and\r\n// Non-disclosure agreements explicitly covering such access.\r\nimport axios from 'axios';\r\n//@ts-ignore\r\nimport process from 'process';\r\n\r\nconst API_URL = process.env.NODE_ENV == 'development' ? 'https://' + window.location.hostname + ':3000/v1/' : 'https://' + window.location.hostname + ':3000/v1/';\r\n\r\nclass UserService\r\n{\r\n setStore(store: any) {\r\n //@ts-ignore\r\n this.$store = store;\r\n }\r\n\r\n setRouter(router: any) {\r\n //@ts-ignore\r\n this.$router = router;\r\n }\r\n\r\n logout() {\r\n localStorage.removeItem('user');\r\n //@ts-ignore\r\n this.$store.dispatch('auth/logout', { }).then(() =>\r\n {\r\n //@ts-ignore\r\n window.location.href = '/';\r\n }\r\n );\r\n }\r\n\r\n online()\r\n {\r\n const self = this;\r\n return axios.get(process.env.NODE_ENV == 'development' ? 'https://' + window.location.hostname + ':3000/v1' : 'https://' + window.location.hostname + ':3000/v1', { withCredentials: true }).then(response => {\r\n return {online: true};\r\n }).catch(function (error) {\r\n self.logout();\r\n return null;\r\n });\r\n }\r\n\r\n get()\r\n {\r\n const self = this;\r\n return axios.get(`${API_URL}user`, { withCredentials: true }).then(response => {\r\n if(response.data.success) localStorage.setItem('user', JSON.stringify(response.data.user));\r\n return response.data;\r\n }).catch(function (error) {\r\n self.logout();\r\n if (error.response)\r\n {\r\n return error.response.data;\r\n }\r\n return null;\r\n });\r\n }\r\n\r\n getById(id: string)\r\n {\r\n return axios.post(`${API_URL}user`,\r\n {\r\n id: id\r\n }, { withCredentials: true }).then(response => {\r\n return response.data;\r\n }).catch(function (error) {\r\n if (error.response)\r\n {\r\n return error.response.data;\r\n }\r\n return null;\r\n });\r\n }\r\n\r\n list(page: number, search: string)\r\n {\r\n return axios.post(`${API_URL}user/list`, {page, search}, { withCredentials: true }).then(response => {\r\n return response.data;\r\n }).catch(function (error) {\r\n if (error.response)\r\n {\r\n return error.response.data;\r\n }\r\n return null;\r\n });\r\n }\r\n\r\n insert(is_ldap: boolean, username: string, email: string, name: string, password: string, status: boolean, notifications: boolean, role: number, timezone: number, adjust_daylight_timezone: boolean, daylight_offset: number, locale: string)\r\n {\r\n return axios.put(`${API_URL}user`, {\r\n is_ldap,\r\n username,\r\n email,\r\n name,\r\n password,\r\n status,\r\n notifications,\r\n role,\r\n timezone,\r\n adjust_daylight_timezone,\r\n daylight_offset,\r\n locale\r\n }, { withCredentials: true }).then(response => {\r\n return response.data;\r\n }).catch(function (error) {\r\n if (error.response)\r\n {\r\n return error.response.data;\r\n }\r\n return null;\r\n });\r\n }\r\n\r\n update(id: string, is_ldap: boolean, username: string, email: string, name: string, password: string, status: boolean, notifications: boolean, role: number, timezone: number, adjust_daylight_timezone: boolean, daylight_offset: number, locale: string)\r\n {\r\n return axios.patch(`${API_URL}user`, {\r\n id: id.toString(),\r\n is_ldap,\r\n username,\r\n email,\r\n name,\r\n password,\r\n status,\r\n notifications,\r\n role,\r\n timezone,\r\n adjust_daylight_timezone,\r\n daylight_offset,\r\n locale\r\n }, { withCredentials: true }).then(response => {\r\n return response.data;\r\n }).catch(function (error) {\r\n debugger;\r\n if (error.response)\r\n {\r\n return error.response.data;\r\n }\r\n return null;\r\n });\r\n }\r\n\r\n delete(id: string)\r\n {\r\n //@ts-ignore\r\n return axios.delete(`${API_URL}user`, { withCredentials: true, data: { id: id.toString() } }).then(response => {\r\n return response.data;\r\n }).catch(function (error) {\r\n if (error.response)\r\n {\r\n return error.response.data;\r\n }\r\n return null;\r\n });\r\n }\r\n\r\n saveFCM(fcmToken : string)\r\n {\r\n return axios.post(`${API_URL}save_token`, fcmToken, { withCredentials: true });\r\n }\r\n\r\n getForFilters()\r\n {\r\n return axios.post(`${API_URL}user/filters`, {}, { withCredentials: true }).then(response => {\r\n return response.data;\r\n });\r\n }\r\n}\r\n\r\nexport default new UserService()","// Copyright 2022 Lexoh Inc. All rights reserved.\r\n// NOTICE: All information contained herein is, and remains the property of\r\n// Lexoh Inc. The intellectual and technical concepts contained herein are\r\n// proprietary to Lexoh Inc and may be covered by Canada and Foreign Patents, patents\r\n// in process, and are protected by trade secret or copyright law. Dissemination\r\n// of this information or reproduction of this material is strictly forbidden\r\n// unless prior written permission is obtained from Lexoh Inc. Access to the source\r\n// code contained herein is hereby forbidden to anyone except current Lexoh Inc\r\n// employees, managers or contractors who have executed Confidentiality and\r\n// Non-disclosure agreements explicitly covering such access.\r\nimport axios from 'axios';\r\n//@ts-ignore\r\nimport process from 'process';\r\nconst API_URL = process.env.NODE_ENV == 'development' ? 'https://' + window.location.hostname + ':3000/v1/' : 'https://' + window.location.hostname + ':3000/v1/';\r\n\r\nclass ZoneService\r\n{\r\n\tget(id: string)\r\n\t{\r\n\t\treturn axios.post(`${API_URL}zone`,\r\n\t\t{\r\n\t\t\tid: id\r\n\t\t}, { withCredentials: true }).then(response => {\r\n\t\t\treturn response.data;\r\n\t\t});\r\n\t}\r\n\r\n\tlist(status: boolean | null, page: number, search: string)\r\n\t{\r\n\t\treturn axios.post(`${API_URL}zone/list`, { status: status, page: page < 1 ? 1 : page, search: search }, { withCredentials: true }).then(response => {\r\n\t\t\treturn response.data;\r\n\t\t});\r\n\t}\r\n\r\n\tinsert(name: string, description: string, status: boolean)\r\n\t{\r\n\t\treturn axios.put(`${API_URL}zone`, {\r\n\t\t\tname,\r\n\t\t\tdescription,\r\n\t\t\tstatus\r\n\t\t}, { withCredentials: true }).then(response => {\r\n\t\t\treturn response.data;\r\n\t\t}).catch(function (error) {\r\n\t\t\tif (error.response)\r\n\t\t\t{\r\n\t\t\t\treturn error.response.data;\r\n\t\t\t}\r\n\t\t\treturn null;\r\n\t\t});\r\n\t}\r\n\r\n\tupdate(id: string, name: string, description: string, status: boolean)\r\n\t{\r\n\t\treturn axios.patch(`${API_URL}zone`, {\r\n\t\t\tid: id.toString(),\r\n\t\t\tname,\r\n\t\t\tdescription,\r\n\t\t\tstatus\r\n\t\t}, { withCredentials: true }).then(response => {\r\n\t\t\treturn response.data;\r\n\t\t}).catch(function (error) {\r\n\t\t\tif (error.response)\r\n\t\t\t{\r\n\t\t\t\treturn error.response.data;\r\n\t\t\t}\r\n\t\t\treturn null;\r\n\t\t});\r\n\t}\r\n\r\n\tdelete(id: string)\r\n\t{\r\n\t\t//@ts-ignore\r\n\t\treturn axios.delete(`${API_URL}zone`, { withCredentials: true, data: { id: id.toString() } }).then(response => {\r\n\t\t\treturn response.data;\r\n\t\t}).catch(function (error) {\r\n\t\t\tif (error.response)\r\n\t\t\t{\r\n\t\t\t\treturn error.response.data;\r\n\t\t\t}\r\n\t\t\treturn null;\r\n\t\t});\r\n\t}\r\n\r\n\tgetForFilters()\r\n\t{\r\n\t\treturn axios.post(`${API_URL}zone/filters`, {}, { withCredentials: true }).then(response => {\r\n\t\t\treturn response.data;\r\n\t\t});\r\n\t}\r\n}\r\n\r\nexport default new ZoneService();\r\n","class Timezone\r\n{\r\n static getTimezone(user) {\r\n var timezone = user.timezone;\r\n if (user.daylight_offset) {\r\n // Get the current system time in milliseconds\r\n const now = new Date().getTime();\r\n // Convert the system time to a time_t object (time in seconds)\r\n const time_now = Math.floor(now / 1000);\r\n // Get the local time using the time_t object\r\n const local_time = new Date(time_now * 1000);\r\n // Determine if daylight saving time is in effect (assuming Montreal's DST starts on the second Sunday of March and ends on the first Sunday of November)\r\n const is_dst = local_time.getMonth() > 2 && local_time.getMonth() < 10 && (local_time.getMonth() > 2 || local_time.getDate() >= 14 - local_time.getDay()) && (local_time.getMonth() < 10 || local_time.getDate() <= 7 - local_time.getDay());\r\n if (is_dst) {\r\n timezone += user.daylight_offset;\r\n }\r\n\r\n }\r\n return timezone;\r\n }\r\n}\r\n\r\nexport default Timezone;","import { createElementVNode as _createElementVNode, withModifiers as _withModifiers, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, normalizeStyle as _normalizeStyle, resolveDirective as _resolveDirective, withDirectives as _withDirectives, toDisplayString as _toDisplayString, resolveComponent as _resolveComponent, createVNode as _createVNode, vShow as _vShow } from \"vue\"\n\nconst _hoisted_1 = [\"data-cameraId\"]\nconst _hoisted_2 = { class: \"player-container\" }\nconst _hoisted_3 = {\n ref: \"player\",\n autoplay: \"\",\n muted: \"\"\n}\nconst _hoisted_4 = {\n ref: \"stallingLabel\",\n class: \"stallingLabel\"\n}\nconst _hoisted_5 = {\n ref: \"playButton\",\n class: \"playButton\"\n}\nconst _hoisted_6 = {\n ref: \"pauseButton\",\n class: \"pauseButton\"\n}\nconst _hoisted_7 = {\n ref: \"loading\",\n class: \"loading rotating\"\n}\nconst _hoisted_8 = { class: \"controls-panel\" }\nconst _hoisted_9 = {\n class: \"mbr-controls\",\n ref: \"mbr-controls\"\n}\nconst _hoisted_10 = /*#__PURE__*/_createElementVNode(\"label\", { for: \"videoTracks\" }, \"video tracks\", -1)\nconst _hoisted_11 = {\n name: \"videoTracks\",\n id: \"videoTracks\",\n ref: \"videoTracks\"\n}\nconst _hoisted_12 = /*#__PURE__*/_createElementVNode(\"label\", { for: \"audioTracks\" }, \"audio tracks\", -1)\nconst _hoisted_13 = {\n name: \"audioTracks\",\n id: \"audioTracks\",\n ref: \"audioTracks\"\n}\nconst _hoisted_14 = { style: {\"float\":\"right\"} }\nconst _hoisted_15 = [\"src\"]\nconst _hoisted_16 = [\"muted\", \"controls\"]\nconst _hoisted_17 = {\n key: 2,\n class: \"spinner-overlay\"\n}\nconst _hoisted_18 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"spinner\" }, [\n /*#__PURE__*/_createElementVNode(\"div\"),\n /*#__PURE__*/_createElementVNode(\"div\"),\n /*#__PURE__*/_createElementVNode(\"div\"),\n /*#__PURE__*/_createElementVNode(\"div\")\n], -1)\nconst _hoisted_19 = {\n id: \"message\",\n ref: \"message\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_IonIcon = _resolveComponent(\"IonIcon\")!\n const _directive_observe_visibility = _resolveDirective(\"observe-visibility\")!\n\n return (_openBlock(), _createElementBlock(\"div\", {\n ref: \"video\",\n class: \"camera_live\",\n \"data-cameraId\": _ctx.cameraId,\n draggable: true,\n onDragover: _cache[14] || (_cache[14] = _withModifiers(() => {}, [\"prevent\"])),\n onDragstart: _cache[15] || (_cache[15] = \n//@ts-ignore\n(...args) => (_ctx.handleDragStart && _ctx.handleDragStart(...args))),\n onDragend: _cache[16] || (_cache[16] = \n//@ts-ignore\n(...args) => (_ctx.handleDragEnd && _ctx.handleDragEnd(...args)))\n }, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"video\", _hoisted_3, null, 512),\n _createElementVNode(\"div\", _hoisted_4, \" [callbacks] \", 512),\n _createElementVNode(\"div\", _hoisted_5, \"▶\", 512),\n _createElementVNode(\"div\", _hoisted_6, \"▌▌\", 512),\n _createElementVNode(\"div\", _hoisted_7, \"◌\", 512)\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"div\", null, [\n _hoisted_10,\n _createElementVNode(\"select\", _hoisted_11, null, 512)\n ]),\n _createElementVNode(\"div\", null, [\n _hoisted_12,\n _createElementVNode(\"select\", _hoisted_13, null, 512)\n ]),\n _createElementVNode(\"button\", {\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.setTracks()))\n }, \"set tracks\")\n ], 512),\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.player.play()))\n }, \"Play\"),\n _createElementVNode(\"button\", {\n onClick: _cache[2] || (_cache[2] = ($event: any) => (_ctx.player.stop()))\n }, \"Stop\"),\n _createElementVNode(\"button\", {\n onClick: _cache[3] || (_cache[3] = ($event: any) => (_ctx.player.pause()))\n }, \"Pause\"),\n _createElementVNode(\"button\", {\n ref: \"muted\",\n onClick: _cache[4] || (_cache[4] = ($event: any) => (_ctx.unmute()))\n }, \"Unmute\", 512)\n ])\n ]),\n false\n ? (_openBlock(), _createElementBlock(\"iframe\", {\n key: 0,\n onDragover: _cache[5] || (_cache[5] = _withModifiers(() => {}, [\"prevent\"])),\n src: _ctx.url,\n allowfullscreen: \"\",\n style: `width: 100% !important; height: 100% !important; background-color: black;`\n }, null, 40, _hoisted_15))\n : _createCommentVNode(\"\", true),\n false\n ? _withDirectives((_openBlock(), _createElementBlock(\"video\", {\n key: 1,\n style: _normalizeStyle(`pointer-events: ${!_ctx.isMobile() ? 'none': 'initial'} !important; width: 100% !important; height: 100% !important; background-color: black;`),\n ref: \"videortc\",\n preload: \"auto\",\n muted: _ctx.muted,\n controls: _ctx.controls || _ctx.iOSCompatControls,\n onDragover: _cache[6] || (_cache[6] = _withModifiers(() => {}, [\"prevent\"])),\n onLoadeddata: _cache[7] || (_cache[7] = \n//@ts-ignore\n(...args) => (_ctx.handleLoadedData && _ctx.handleLoadedData(...args))),\n onProgress: _cache[8] || (_cache[8] = \n//@ts-ignore\n(...args) => (_ctx.handleProgress && _ctx.handleProgress(...args))),\n onPlaying: _cache[9] || (_cache[9] = \n//@ts-ignore\n(...args) => (_ctx.handlePlaying && _ctx.handlePlaying(...args))),\n onClick: _cache[10] || (_cache[10] = \n//@ts-ignore\n(...args) => (_ctx.handleClick && _ctx.handleClick(...args))),\n onError: _cache[11] || (_cache[11] = \n//@ts-ignore\n(...args) => (_ctx.handleError && _ctx.handleError(...args)))\n }, null, 44, _hoisted_16)), [\n [_directive_observe_visibility, _ctx.visibilityChanged]\n ])\n : _createCommentVNode(\"\", true),\n (false && !_ctx.isVideoPlaying)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_17, [\n _hoisted_18,\n _createElementVNode(\"p\", null, _toDisplayString(_ctx.t('Loading')) + \"...\", 1)\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_19, null, 512),\n _withDirectives(_createElementVNode(\"button\", {\n onDragover: _cache[12] || (_cache[12] = _withModifiers(() => {}, [\"prevent\"])),\n onClick: _cache[13] || (_cache[13] = \n//@ts-ignore\n(...args) => (_ctx.fullscreen && _ctx.fullscreen(...args))),\n class: \"btn_fullscreen\"\n }, [\n _createVNode(_component_IonIcon, { icon: _ctx.scanOutline }, null, 8, [\"icon\"])\n ], 544), [\n [_vShow, !_ctx.isMobile()]\n ])\n ], 40, _hoisted_1))\n}","\r\n import { defineComponent } from 'vue';\r\n import { IonIcon } from '@ionic/vue';\r\n import { useI18n } from 'vue-i18n';\r\n import { scanOutline } from 'ionicons/icons';\r\n import { decode } from 'querystring';\r\n import FlussonicMsePlayer from '@flussonic/flussonic-mse-player'\r\n export default defineComponent({\r\n name: 'CameraWebRTCPlayer',\r\n props: [\r\n 'url',\r\n 'className',\r\n 'cameraId',\r\n 'controls',\r\n 'muted',\r\n 'autoplay',\r\n 'playbackEnabled',\r\n 'microphoneEnabled',\r\n 'iOSCompatFullScreen',\r\n 'pip',\r\n 'onPlaying',\r\n 'onError'\r\n ],\r\n components: { IonIcon },\r\n setup()\r\n {\r\n const { t } = useI18n({\r\n inheritLocale: true,\r\n useScope: 'global'\r\n });\r\n return {\r\n scanOutline, t\r\n }\r\n },\r\n data() {\r\n return {\r\n player: null,\r\n dragged: false,\r\n iOSCompatControls: false,\r\n retryPause: 2000,\r\n pc: null,\r\n ws: null,\r\n bufferTimeout: null,\r\n isVideoPlaying: false\r\n }\r\n },\r\n async mounted()\r\n {\r\n //@ts-ignore\r\n this.initializeFlussonicPlayer();\r\n // this.initializeWebRTC();\r\n },\r\n beforeUnmount()\r\n {\r\n // console.log('BEFORE UNMOUNT');\r\n // this.stop();\r\n },\r\n // updated()\r\n // {\r\n // setTimeout(() => this.initializeWebRTC(), 300);\r\n // },\r\n watch: {\r\n // url: {\r\n // immediate: true,\r\n // handler (val, oldVal) {\r\n // //@ts-ignore\r\n // var self = this;\r\n // //@ts-ignore\r\n // var video = self.$refs[\"videortc\"] as HTMLMediaElement;\r\n // var fnc = async function() {\r\n // //@ts-ignore\r\n // if (typeof video != 'undefined') {\r\n // //@ts-ignore\r\n // video.pause();\r\n // //@ts-ignore\r\n // video.currentTime = 0;\r\n // //@ts-ignore\r\n // video.src = undefined;\r\n // //@ts-ignore\r\n // if (self.pc !== null) {\r\n // //@ts-ignore\r\n // self.pc.close();\r\n // //@ts-ignore\r\n // self.pc = null;\r\n // }\r\n // //@ts-ignore\r\n // if (self.ws !== null) {\r\n // //@ts-ignore\r\n // self.ws.close();\r\n // //@ts-ignore\r\n // self.ws = null;\r\n // }\r\n // //@ts-ignore\r\n // await self.initializeWebRTC();\r\n // //@ts-ignore\r\n // video.play();\r\n // }\r\n // };\r\n // fnc();\r\n // }\r\n // }\r\n },\r\n methods: {\r\n visibilityChanged (isVisible, entry) {\r\n // if (isVisible) {\r\n // //@ts-ignore\r\n // this.initializeWebRTC();\r\n // } else {\r\n // stop();\r\n // }\r\n },\r\n isMobile() {\r\n if(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) {\r\n return true\r\n } else {\r\n return false\r\n }\r\n },\r\n async waitForUserGesture() {\r\n return new Promise((resolve) => {\r\n const handler = () => {\r\n //@ts-ignore\r\n resolve();\r\n document.removeEventListener('click', handler);\r\n };\r\n document.addEventListener('click', handler, { once: true });\r\n });\r\n },\r\n stop()\r\n {\r\n //@ts-ignore\r\n if (this.pc !== null) {\r\n //@ts-ignore\r\n this.pc.close();\r\n //@ts-ignore\r\n this.pc = null;\r\n }\r\n //@ts-ignore\r\n if (this.ws !== null) {\r\n //@ts-ignore\r\n this.ws.close();\r\n //@ts-ignore\r\n this.ws = null;\r\n }\r\n },\r\n async initializeWebRTC() {\r\n //@ts-ignore\r\n if (this.url == '') return;\r\n //@ts-ignore\r\n var video = this.$refs[\"videortc\"] as HTMLMediaElement;\r\n //@ts-ignore\r\n video.controls = this.controls;\r\n //@ts-ignore\r\n video.muted = this.muted || false;\r\n //@ts-ignore\r\n video.autoplay = this.autoplay || true;\r\n //@ts-ignore\r\n video.playsInline = this.playsInline || true;\r\n video.addEventListener(\"progress\", this.handleProgress);\r\n //@ts-ignore\r\n const aPc = this.PeerConnection(this.microphoneEnabled ? 'video+audio+microphone' : 'video+audio');\r\n await this.connect(aPc);\r\n },\r\n async PeerConnection(media) {\r\n const pc = new RTCPeerConnection({\r\n bundlePolicy: 'max-bundle',\r\n iceServers: [{ urls: 'stun:stun.l.google.com:19302' }],\r\n });\r\n const localTracks = [];\r\n try {\r\n if (/camera|microphone/.test(media)) {\r\n const tracks = await this.getMediaTracks('user', {\r\n video: media.includes('camera'),\r\n audio: media.includes('microphone'),\r\n });\r\n tracks.forEach((track) => {\r\n //@ts-ignore\r\n this.pc.addTransceiver(track, { direction: 'sendonly' });\r\n //@ts-ignore\r\n if (track.kind === 'video') localTracks.push(track);\r\n });\r\n }\r\n if (media.includes('display')) {\r\n const tracks = await this.getMediaTracks('display', {\r\n video: true,\r\n audio: media.includes('speaker'),\r\n });\r\n tracks.forEach((track) => {\r\n //@ts-ignore\r\n this.pc.addTransceiver(track, { direction: 'sendonly' });\r\n //@ts-ignore\r\n if (track.kind === 'video') localTracks.push(track);\r\n });\r\n }\r\n if (/video|audio/.test(media)) {\r\n const tracks = ['video', 'audio']\r\n .filter((kind) => media.includes(kind))\r\n .map((kind) => pc.addTransceiver(kind, { direction: 'recvonly' }).receiver.track);\r\n //@ts-ignore\r\n localTracks.push(...tracks);\r\n }\r\n //@ts-ignore\r\n var video = this.$refs[\"videortc\"] as HTMLMediaElement;\r\n video.srcObject = new MediaStream(localTracks);\r\n video.srcObject.addEventListener(\"progress\", this.handleProgress);\r\n return pc;\r\n } catch (error) {\r\n console.error('Error initializing PeerConnection:', error);\r\n return null;\r\n }\r\n },\r\n async connect(aPcPromise) {\r\n try {\r\n const aPc = await aPcPromise;\r\n if (!aPc) return;\r\n //@ts-ignore\r\n this.pc = aPc;\r\n //@ts-ignore\r\n const ws = new WebSocket(this.url);\r\n //@ts-ignore\r\n this.ws = ws;\r\n ws.binaryType = 'arraybuffer',\r\n ws.addEventListener('open', () => {\r\n //@ts-ignore\r\n this.pc.addEventListener('icecandidate', (ev) => {\r\n if (!ev.candidate) return;\r\n const msg = {\r\n type: 'webrtc/candidate',\r\n value: ev.candidate.candidate,\r\n };\r\n ws.send(JSON.stringify(msg));\r\n });\r\n //@ts-ignore\r\n this.pc.createOffer()\r\n //@ts-ignore\r\n .then((offer) => this.pc.setLocalDescription(offer))\r\n .then(() => {\r\n const msg = {\r\n type: 'webrtc/offer',\r\n //@ts-ignore\r\n value: this.pc.localDescription?.sdp,\r\n };\r\n ws.send(JSON.stringify(msg));\r\n });\r\n });\r\n ws.addEventListener('message', (ev) => {\r\n const msg = JSON.parse(ev.data);\r\n if (msg.type === 'webrtc/candidate') {\r\n if (msg.value != null) {\r\n let ipRegex = /\\b(?:[0-9]{1,3}\\.){3}[0-9]{1,3}\\b/;\r\n let replacedString = msg.value.replace(ipRegex, '209.172.45.130');\r\n //@ts-ignore\r\n this.pc?.addIceCandidate({ candidate: replacedString, sdpMid: '0' });\r\n }\r\n } else if (msg.type === 'webrtc/answer') {\r\n if (msg.value != null) {\r\n //@ts-ignore\r\n this.pc?.setRemoteDescription({\r\n type: 'answer',\r\n sdp: msg.value,\r\n });\r\n }\r\n }\r\n });\r\n } catch (error) {\r\n console.error('Error connecting to WebSocket:', error);\r\n }\r\n },\r\n handleLoadedData(event) {\r\n console.log('loaded data');\r\n },\r\n handleProgress(event) {\r\n console.log('Handling progress...');\r\n //@ts-ignore\r\n var video = this.$refs[\"videortc\"] as HTMLMediaElement;\r\n if (video && video.paused) return;\r\n //@ts-ignore\r\n if (this.bufferTimeout) {\r\n //@ts-ignore\r\n clearTimeout(this.bufferTimeout);\r\n //@ts-ignore\r\n this.bufferTimeout = null;\r\n }\r\n //@ts-ignore\r\n this.bufferTimeout = setTimeout(() => {\r\n console.log('stalled');\r\n //@ts-ignore\r\n if (document.visibiliytState === 'visible' && this.pc) {\r\n //@ts-ignore\r\n this.onError?.('stalled');\r\n }\r\n }, 3000);\r\n },\r\n handlePlaying(event) {\r\n console.log('video is playing');\r\n this.isVideoPlaying = true;\r\n //@ts-ignore\r\n this.onPlaying?.();\r\n },\r\n handleError(e) {\r\n console.log('Handling player error: ', e.target.error);\r\n if (e.target.error.code == MediaError.MEDIA_ERR_NETWORK) {\r\n console.log('Media ERR NETWORK');\r\n this.onError?.(\"startup\");\r\n }\r\n },\r\n handleClick(event) {\r\n if (this.iOSCompatFullScreen) {\r\n this.iOSCompatControls = !this.iOSCompatControls\r\n }\r\n },\r\n async getMediaTracks(media, constraints) {\r\n try {\r\n const stream = media === \"user\"\r\n ? await navigator.mediaDevices.getUserMedia(constraints)\r\n : await navigator.mediaDevices.getDisplayMedia(constraints);\r\n return stream.getTracks();\r\n } catch (e) {\r\n return [];\r\n }\r\n },\r\n handleDragStart(e) {\r\n console.log('dragging RTC video', e)\r\n //@ts-ignore\r\n this.dragged = true;\r\n //@ts-ignore\r\n this.$root.$draggedCameraComponent = this;\r\n },\r\n handleDragEnd(e) {\r\n console.log('dragged RTC video', e)\r\n //@ts-ignore\r\n this.dragged = false;\r\n },\r\n fullscreen() {\r\n //@ts-ignore\r\n var video = this.$refs[\"video\"] as HTMLDivElement;\r\n if (!document.fullscreenElement) {\r\n video.requestFullscreen();\r\n } else {\r\n //@ts-ignore\r\n if (document.exitFullscreen) {\r\n document.exitFullscreen();\r\n //@ts-ignore\r\n } else if (document.msExitFullscreen) {\r\n //@ts-ignore\r\n document.msExitFullscreen();\r\n //@ts-ignore\r\n } else if (document.mozCancelFullScreen) {\r\n //@ts-ignore\r\n document.mozCancelFullScreen();\r\n //@ts-ignore\r\n } else if (document.webkitExitFullscreen) {\r\n //@ts-ignore\r\n document.webkitExitFullscreen();\r\n }\r\n }\r\n },\r\n pad2(n) {\r\n return n <= 9 ? '0' + n : '' + n;\r\n },\r\n humanTime(utcOrLive, lt = true) {\r\n // $FlowFixMe: string > 0 is always false\r\n if (!(utcOrLive > 0)) {\r\n return '';\r\n }\r\n // $FlowFixMe: just for flow\r\n const utc = utcOrLive;\r\n var d = new Date();\r\n d.setTime(utc * 1000);\r\n var localTime = !(lt === false);\r\n var h = localTime ? d.getHours() : d.getUTCHours();\r\n var m = localTime ? d.getMinutes() : d.getUTCMinutes();\r\n var s = localTime ? d.getSeconds() : d.getUTCSeconds();\r\n return this.pad2(h) + ':' + this.pad2(m) + ':' + this.pad2(s);\r\n },\r\n play(videotrack = undefined, audiotrack) {\r\n if (!videotrack) {\r\n audiotrack = undefined;\r\n }\r\n //@ts-ignore\r\n this.player.play(videotrack, audiotrack).then((success) => {\r\n console.log('resolve', success);\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n },\r\n hidePlayButton() {\r\n const playButton = this.$refs[\"playButton\"];\r\n //@ts-ignore\r\n playButton.style.display = 'none';\r\n // window.removeEventListener('click', window.hidePlayButton);\r\n // window.removeEventListener('touchstart', window.hidePlayButton);\r\n // window.autoplayFunc();\r\n },\r\n setTracks() {\r\n const videoTracksSelect = this.$refs[\"videoTracks\"];\r\n const audioTracksSelect = this.$refs[\"audioTracks\"];\r\n //@ts-ignore\r\n const videoTrackId = videoTracksSelect.options[videoTracksSelect.selectedIndex].value;\r\n //@ts-ignore\r\n const audioTrackId = audioTracksSelect.options[audioTracksSelect.selectedIndex].value;\r\n console.log({ videoTracksSelect }, videoTrackId, audioTrackId);\r\n //@ts-ignore\r\n this.player.setTracks([videoTrackId, audioTrackId]);\r\n },\r\n seek() {\r\n const seek = this.$refs[\"seek\"];\r\n let value;\r\n if (!seek || seek instanceof HTMLInputElement) {\r\n //@ts-ignore\r\n if (seek.value === 'live') {\r\n value = 'live';\r\n } else {\r\n //@ts-ignore\r\n value = parseInt(seek.value, 10);\r\n value = value > 0 ? value : void 0;\r\n }\r\n }\r\n if (value) {\r\n //@ts-ignore\r\n this.player.seek(value);\r\n } else throw new Error('incorrect input!');\r\n },\r\n unmute() {\r\n const muted = this.$refs[\"muted\"];\r\n //@ts-ignore\r\n if (this.player && this.player.media) {\r\n //@ts-ignore\r\n if (this.player.media.muted) {\r\n //@ts-ignore\r\n this.player.media.muted = false;\r\n //@ts-ignore\r\n muted.innerText = 'Mute';\r\n } else {\r\n //@ts-ignore\r\n this.player.media.muted = true;\r\n //@ts-ignore\r\n muted.innerText = 'Unmute';\r\n }\r\n }\r\n },\r\n initializeFlussonicPlayer() {\r\n var self = this;\r\n let streamer_ws = 'wss://media.lexoh.com:52445';\r\n let stream_name = self.url.replace('https://media.lexoh.com:52445/', '').split('/')[0];\r\n let videotrack, audiotrack, from, token, videoQuality, statsSendEnable = false, statsSendTime = 60;\r\n // parse query string\r\n let query = window.location.search;\r\n if (query) {\r\n let qs = decode(query.replace(/^\\?/, ''));\r\n if (qs.host) {\r\n //@ts-ignore\r\n streamer_ws = qs.host;\r\n }\r\n if (qs.name) {\r\n //@ts-ignore\r\n stream_name = qs.name;\r\n }\r\n if (qs.videotrack) {\r\n videotrack = qs.videotrack;\r\n }\r\n if (qs.audiotrack) {\r\n audiotrack = qs.audiotrack;\r\n }\r\n if (qs.from) {\r\n //@ts-ignore\r\n from = qs.from;\r\n }\r\n if (qs.token) {\r\n token = qs.token;\r\n }\r\n if (qs.videoQuality) {\r\n videoQuality = qs.videoQuality;\r\n }\r\n if (qs.statsSendEnable) {\r\n statsSendEnable = qs.statsSendEnable === 'true' ? true : false;\r\n }\r\n if (qs.statsSendTime) {\r\n statsSendTime = Number(qs.statsSendTime);\r\n }\r\n }\r\n let url = `${streamer_ws}/${stream_name}/mse_ld${token ? `?token=${token}` : ''}`;\r\n const element = this.$refs[\"player\"];\r\n const videoTracksSelect = this.$refs[\"videoTracks\"];\r\n const audioTracksSelect = this.$refs[\"audioTracks\"];\r\n const mbrControls = this.$refs[\"mbr-controls\"];\r\n const loading = this.$refs[\"loading\"];\r\n const stallingLabel = this.$refs[\"stallingLabel\"];\r\n const showStallingIndicator = (value) => {\r\n //@ts-ignore\r\n stallingLabel.innerText = '' + value;\r\n };\r\n let showFirstFrameUTC = false;\r\n // let timeLineChart = []\r\n // let graphUTCLabels = []\r\n // let graphCurrentTime = []\r\n // let graphBufferedTime = []\r\n let graphBufferedLength = [];\r\n let readySt = [];\r\n let mseVideoBufferSize = [];\r\n let mseAudioBufferSize = [];\r\n let messagesUTC = [];\r\n // const messagesTimelag = []\r\n const opts = {\r\n debug: false,\r\n connectionRetries: 3,\r\n errorsBeforeStop: 1,\r\n retryMuted: true,\r\n onCrashTryVideoOnly: true,\r\n maxBufferDelay: 2,\r\n videotrack,\r\n audiotrack,\r\n // preferHQ: true,\r\n videoQuality,\r\n progressUpdateTime: 100,\r\n wsReconnect: true,\r\n statsSendEnable,\r\n statsSendTime, // in seconds\r\n // sentryConfig: 'https://*some sentry instance*',\r\n onStartStalling: () => {\r\n showStallingIndicator('start stalling');\r\n //@ts-ignore\r\n loading.classList.add('visible');\r\n },\r\n onEndStalling: () => {\r\n showStallingIndicator('end stalling');\r\n //@ts-ignore\r\n loading.classList.remove('visible');\r\n },\r\n onSeeked: () => {\r\n showFirstFrameUTC = true;\r\n },\r\n onProgress: (utc) => {\r\n if (showFirstFrameUTC) {\r\n console.log('%c first frame after action: ' + self.humanTime(utc) + ' ' + utc, 'background: red');\r\n showFirstFrameUTC = false;\r\n }\r\n // timeLineChart.push({\r\n // x: new Date(),\r\n // // y: 0,\r\n // })\r\n // if (timeLineChart.length === 100) {\r\n // timeLineChart.shift()\r\n // }\r\n // eventsChart.update()\r\n },\r\n onDisconnect: (status) => {\r\n console.log('Websocket status:', status);\r\n const restart = () => {\r\n //@ts-ignore\r\n self.player.restart();\r\n clearInterval(restartTimer);\r\n };\r\n let restartTimer = setInterval(restart, 1000);\r\n },\r\n onMediaInfo: (rawMetaData) => {\r\n console.log('rawMetaData:', rawMetaData);\r\n let videoOptions, audioOptions;\r\n //@ts-ignore\r\n const videoTracks = self.player.getVideoTracks();\r\n //@ts-ignore\r\n const audioTracks = self.player.getAudioTracks();\r\n if (videoTracks) {\r\n videoOptions = videoTracks.map((v, i) =>``);\r\n //@ts-ignore\r\n videoTracksSelect.innerHTML = videoOptions.join('');\r\n }\r\n if (audioTracks) {\r\n audioOptions = audioTracks.map((v) => ``);\r\n audioOptions.push('');\r\n //@ts-ignore\r\n audioTracksSelect.innerHTML = audioOptions.join('');\r\n }\r\n //@ts-ignore\r\n mbrControls.style.display = 'block';\r\n },\r\n onError: (err) => {\r\n console.log('***** ERRROR', err);\r\n if (typeof err != 'undefined') {\r\n //@ts-ignore\r\n // self.player.restart();\r\n }\r\n },\r\n // onEvent: (event) => {\r\n // console.log('EVENT', event);\r\n // if (typeof event === 'object' && event.type) {\r\n // let color = 'gray';\r\n // switch (event.type) {\r\n // case 'waiting':\r\n // color = 'red';\r\n // break;\r\n // case 'playing':\r\n // color = 'green';\r\n // break;\r\n // default:\r\n // color = 'gray';\r\n // break;\r\n // }\r\n // const time = new Date();\r\n // myChart.xAxis[0].addPlotBand({\r\n // label: { text: event.type },\r\n // color,\r\n // width: 2,\r\n // value: Date.now(time),\r\n // zIndex: 3,\r\n // });\r\n // }\r\n // },\r\n onAutoplay: (func) => {\r\n // console.log('onAutoplay', func)\r\n const playButton = this.$refs[\"playButton\"];\r\n //@ts-ignore\r\n playButton.style.display = 'flex';\r\n // window.autoplayFunc = func.bind(this);\r\n // window.addEventListener('click', window.hidePlayButton);\r\n // window.addEventListener('touchstart', window.hidePlayButton);\r\n },\r\n onMuted: () => {\r\n console.log('[onMuted]');\r\n },\r\n // onStats: (stats) => {\r\n // const {endTime, currentTime, videoBuffer, audioBuffer, timestamp, readyState, networkState} = stats\r\n // mseVideoBufferSize.push([timestamp, videoBuffer])\r\n // mseAudioBufferSize.push([timestamp, audioBuffer])\r\n // const readyIndicator = document.getElementById('indicator')\r\n // readyIndicator.className = ''\r\n // switch (readyState) {\r\n // case 0:\r\n // readyIndicator.classList.add('black')\r\n // break\r\n // case 1:\r\n // readyIndicator.classList.add('gray')\r\n // break\r\n // case 2:\r\n // readyIndicator.classList.add('red')\r\n // break\r\n // case 3:\r\n // readyIndicator.classList.add('yellow')\r\n // break\r\n // case 4:\r\n // readyIndicator.classList.add('green')\r\n // break\r\n // default:\r\n // readyIndicator.classList.add('gray')\r\n // break\r\n // }\r\n // const networkIndicator = document.getElementById('nIndicator')\r\n // networkIndicator.className = ''\r\n // switch (networkState) {\r\n // case 0:\r\n // networkIndicator.classList.add('black')\r\n // break\r\n // case 1:\r\n // networkIndicator.classList.add('yellow')\r\n // break\r\n // case 2:\r\n // networkIndicator.classList.add('green')\r\n // break\r\n // case 3:\r\n // networkIndicator.classList.add('red')\r\n // break\r\n // default:\r\n // networkIndicator.classList.add('gray')\r\n // break\r\n // }\r\n // graphBufferedLength.push([timestamp, (endTime - currentTime) * 1000])\r\n // readySt.push([timestamp, readyState])\r\n // },\r\n onMessage: (messageStats) => {\r\n const { utc, messageTimeDiff } = messageStats;\r\n //@ts-ignore\r\n messagesUTC.push([utc, messageTimeDiff]);\r\n },\r\n onPause: () => {\r\n const pauseButton = this.$refs[\"pauseButton\"];\r\n //@ts-ignore\r\n pauseButton.style.display = 'flex';\r\n },\r\n onResume: () => {\r\n const pauseButton = this.$refs[\"pauseButton\"];\r\n //@ts-ignore\r\n pauseButton.style.display = 'none';\r\n },\r\n };\r\n self.player = new FlussonicMsePlayer(element, url, opts);\r\n self.play(videotrack, audiotrack);\r\n // let myChart = Highcharts.stockChart('container', {\r\n // // Create the chart\r\n // chart: {},\r\n // time: {\r\n // useUTC: true,\r\n // },\r\n // rangeSelector: {\r\n // buttons: [\r\n // {\r\n // count: 1,\r\n // type: 'minute',\r\n // text: '1M',\r\n // },\r\n // {\r\n // count: 5,\r\n // type: 'minute',\r\n // text: '5M',\r\n // },\r\n // {\r\n // type: 'all',\r\n // text: 'All',\r\n // },\r\n // ],\r\n // inputEnabled: false,\r\n // selected: 0,\r\n // },\r\n // title: {\r\n // text: 'MSELD Statistics',\r\n // },\r\n // // exporting: {\r\n // // enabled: false,\r\n // // },\r\n // xAxis: {\r\n // plotBands: [],\r\n // plotLines: [],\r\n // },\r\n // yAxis: [\r\n // {\r\n // title: {\r\n // text: 'Milliseconds',\r\n // },\r\n // align: 'left',\r\n // },\r\n // {\r\n // title: {\r\n // text: 'State',\r\n // },\r\n // opposite: true,\r\n // align: 'right',\r\n // // floor: 0,\r\n // // ceiling: 4,\r\n // max: 4,\r\n // },\r\n // ],\r\n // series: [\r\n // {\r\n // name: 'WS message lag',\r\n // data: [],\r\n // },\r\n // {\r\n // name: 'Media Element have seconds in buffer',\r\n // data: [],\r\n // },\r\n // {\r\n // name: 'Ready State',\r\n // type: 'line',\r\n // yAxis: 1,\r\n // data: [],\r\n // max: 4,\r\n // zones: [\r\n // {\r\n // value: 0,\r\n // color: 'black',\r\n // },\r\n // {\r\n // value: 1,\r\n // color: 'gray',\r\n // },\r\n // {\r\n // value: 2,\r\n // color: 'red',\r\n // },\r\n // {\r\n // value: 3,\r\n // color: 'yellow',\r\n // },\r\n // {\r\n // value: 4,\r\n // color: 'green',\r\n // },\r\n // {\r\n // color: 'gray',\r\n // },\r\n // ],\r\n // },\r\n // ],\r\n // });\r\n // let myMseChart = Highcharts.stockChart('container2', {\r\n // // Create the chart\r\n // chart: {},\r\n // time: {\r\n // useUTC: true,\r\n // },\r\n // rangeSelector: {\r\n // buttons: [\r\n // {\r\n // count: 1,\r\n // type: 'minute',\r\n // text: '1M',\r\n // },\r\n // {\r\n // count: 5,\r\n // type: 'minute',\r\n // text: '5M',\r\n // },\r\n // {\r\n // type: 'all',\r\n // text: 'All',\r\n // },\r\n // ],\r\n // inputEnabled: false,\r\n // selected: 0,\r\n // },\r\n // title: {\r\n // text: 'MSELD Buffer Statistics',\r\n // },\r\n // // xAxis: {\r\n // // plotBands: [],\r\n // // plotLines: [],\r\n // // },\r\n // yAxis: [\r\n // {\r\n // title: {\r\n // text: 'Bytes',\r\n // },\r\n // align: 'left',\r\n // },\r\n // ],\r\n // series: [\r\n // {\r\n // name: 'WS audio buffer',\r\n // data: [],\r\n // },\r\n // {\r\n // name: 'WS video buffer',\r\n // data: [],\r\n // },\r\n // ],\r\n // });\r\n // setInterval(() => {\r\n // const prepare = function (data) {\r\n // // const maxElements = 5000\r\n // data.sort((a, b) => {\r\n // return a[0] - b[0];\r\n // });\r\n // // if (data.length >= maxElements) {\r\n // // data = data.splice(data.length - maxElements, data.length)\r\n // // }\r\n // return data;\r\n // };\r\n // messagesUTC = prepare(messagesUTC);\r\n // graphBufferedLength = prepare(graphBufferedLength);\r\n // readySt = prepare(readySt);\r\n // mseAudioBufferSize = prepare(mseAudioBufferSize);\r\n // mseVideoBufferSize = prepare(mseVideoBufferSize);\r\n // myChart.series[0].setData(messagesUTC);\r\n // myChart.series[1].setData(graphBufferedLength);\r\n // myChart.series[2].setData(readySt);\r\n // myMseChart.series[0].setData(mseAudioBufferSize);\r\n // myMseChart.series[1].setData(mseVideoBufferSize);\r\n // }, 5000);\r\n }\r\n }\r\n });\r\n","import { render } from \"./CameraWebRTCPlayer.vue?vue&type=template&id=3645f6f5&ts=true\"\nimport script from \"./CameraWebRTCPlayer.vue?vue&type=script&lang=ts\"\nexport * from \"./CameraWebRTCPlayer.vue?vue&type=script&lang=ts\"\n\nimport \"./CameraWebRTCPlayer.vue?vue&type=style&index=0&id=3645f6f5&lang=css\"\n\nimport exportComponent from \"F:\\\\GitHub\\\\lexoh-parking-ionic\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, vShow as _vShow, createElementVNode as _createElementVNode, withDirectives as _withDirectives, withModifiers as _withModifiers, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, renderList as _renderList, Fragment as _Fragment, normalizeClass as _normalizeClass } from \"vue\"\n\nconst _hoisted_1 = {\n key: 0,\n style: {\"overflow\":\"auto\",\"height\":\"calc(100% - 80px)\"}\n}\nconst _hoisted_2 = {\n key: 0,\n style: {\"padding\":\"0px 12px 12px 12px\"}\n}\nconst _hoisted_3 = {\n class: \"ph-picture\",\n style: {\"height\":\"250px\"}\n}\nconst _hoisted_4 = {\n key: 0,\n style: {\"position\":\"relative\",\"width\":\"100%\",\"height\":\"250px\",\"overflow\":\"hidden\",\"border-radius\":\"6px\"}\n}\nconst _hoisted_5 = { key: 0 }\nconst _hoisted_6 = [\"onClick\"]\nconst _hoisted_7 = {\n key: 1,\n style: {\"overflow\":\"auto\",\"height\":\"calc(100% - 80px)\"}\n}\nconst _hoisted_8 = /*#__PURE__*/_createTextVNode(\"Stay open time\")\nconst _hoisted_9 = /*#__PURE__*/_createTextVNode(\"Pre-Warning before opening time\")\nconst _hoisted_10 = /*#__PURE__*/_createTextVNode(\"Pre-Warning before closing time\")\nconst _hoisted_11 = {\n class: \"btn btn-secondary btn_custom\",\n type: \"button\",\n style: {\"width\":\"100%\",\"margin\":\"20px 0px\"}\n}\nconst _hoisted_12 = {\n key: 2,\n style: {\"overflow\":\"auto\",\"height\":\"calc(100% - 80px)\"}\n}\nconst _hoisted_13 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_14 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_15 = {\n key: 3,\n class: \"custom-tabs\"\n}\nconst _hoisted_16 = { class: \"tab-label\" }\nconst _hoisted_17 = { class: \"tab-label\" }\nconst _hoisted_18 = { class: \"tab-label\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_ion_title = _resolveComponent(\"ion-title\")!\n const _component_ion_button = _resolveComponent(\"ion-button\")!\n const _component_ion_buttons = _resolveComponent(\"ion-buttons\")!\n const _component_ion_toolbar = _resolveComponent(\"ion-toolbar\")!\n const _component_ion_header = _resolveComponent(\"ion-header\")!\n const _component_CameraWebRTCPlayer = _resolveComponent(\"CameraWebRTCPlayer\")!\n const _component_b_col = _resolveComponent(\"b-col\")!\n const _component_b_row = _resolveComponent(\"b-row\")!\n const _component_ion_label = _resolveComponent(\"ion-label\")!\n const _component_ion_select_option = _resolveComponent(\"ion-select-option\")!\n const _component_ion_select = _resolveComponent(\"ion-select\")!\n const _component_ion_item = _resolveComponent(\"ion-item\")!\n const _component_b_table = _resolveComponent(\"b-table\")!\n const _component_b_pagination = _resolveComponent(\"b-pagination\")!\n const _component_ion_input = _resolveComponent(\"ion-input\")!\n const _component_ion_icon = _resolveComponent(\"ion-icon\")!\n const _component_ion_content = _resolveComponent(\"ion-content\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createVNode(_component_ion_header, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_toolbar, {\n color: _ctx.darkMode ? 'dark' : ''\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_title, null, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('device')) + \" - \" + _toDisplayString(_ctx.device.name), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_buttons, { slot: \"primary\" }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_button, {\n color: \"danger\",\n fill: \"outline\",\n onClick: _ctx.closeModal\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('cancel')), 1)\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ]),\n _: 1\n })\n ]),\n _: 1\n }, 8, [\"color\"])\n ]),\n _: 1\n }),\n _createVNode(_component_ion_content, {\n class: \"ion-padding\",\n style: {\"position\":\"relative\",\"background-color\":\"var(--ion-color-background)\"}\n }, {\n default: _withCtx(() => [\n (_ctx.selectedTab == 1)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_ctx.loadingCamera || _ctx.cameraMonitorId > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _withDirectives(_createElementVNode(\"div\", _hoisted_3, null, 512), [\n [_vShow, _ctx.loadingCamera]\n ]),\n (_ctx.cameraMonitorId > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createVNode(_component_CameraWebRTCPlayer, {\n onDragover: _cache[0] || (_cache[0] = _withModifiers(() => {}, [\"prevent\"])),\n autoplay: true,\n muted: true,\n controls: _ctx.isMobile(),\n url: _ctx.cameraUrl,\n cameraId: _ctx.cameraMonitorId,\n style: {\"position\":\"absolute\",\"top\":\"0\",\"bottom\":\"0\",\"left\":\"0\",\"right\":\"0\"}\n }, null, 8, [\"controls\", \"url\", \"cameraId\"])\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_b_row, { style: {\"margin\":\"0\"} }, {\n default: _withCtx(() => [\n _createVNode(_component_b_col, null, {\n default: _withCtx(() => [\n _createElementVNode(\"button\", {\n class: \"btn btn-success btn_custom\",\n type: \"button\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => {_ctx.openGate();}),\n style: {\"width\":\"100%\",\"height\":\"65px\",\"margin\":\"20px 0px\",\"margin-top\":\"0px\",\"background-color\":\"#f03a3e\",\"color\":\"white\"}\n }, _toDisplayString(_ctx.t('open_gate')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_b_col, null, {\n default: _withCtx(() => [\n _createElementVNode(\"button\", {\n class: \"btn btn-danger btn_custom\",\n type: \"button\",\n onClick: _cache[2] || (_cache[2] = ($event: any) => {_ctx.closeGate();}),\n style: {\"width\":\"100%\",\"height\":\"65px\",\"margin\":\"20px 0px\",\"margin-top\":\"0px\",\"background-color\":\"#39cc64\",\"color\":\"white\"}\n }, _toDisplayString(_ctx.t('close_gate')), 1)\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n _createVNode(_component_b_row, { style: {\"margin\":\"0\"} }, {\n default: _withCtx(() => [\n _createVNode(_component_b_col, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_item, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_label, { position: \"floating\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('keep_open')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select, {\n interface: \"popover\",\n value: _ctx.keepOpenUntil,\n onIonChange: _cache[3] || (_cache[3] = ($event: any) => (_ctx.keepOpenUntil=$event.target.value)),\n \"ok-text\": _ctx.t('SELECT.ok'),\n \"cancel-text\": _ctx.t('SELECT.cancel')\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_select_option, { value: \"0\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('indefinitely')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select_option, { value: \"5\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('5_minutes')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select_option, { value: \"10\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('10_minutes')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select_option, { value: \"15\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('15_minutes')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select_option, { value: \"30\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('30_minutes')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select_option, { value: \"45\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('45_minutes')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select_option, { value: \"60\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('60_minutes')), 1)\n ]),\n _: 1\n })\n ]),\n _: 1\n }, 8, [\"value\", \"ok-text\", \"cancel-text\"])\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n _createVNode(_component_b_col, null, {\n default: _withCtx(() => [\n _createElementVNode(\"button\", {\n class: \"btn btn-danger btn_custom\",\n type: \"button\",\n onClick: _cache[4] || (_cache[4] = ($event: any) => {_ctx.triggerKeepGateOpen();}),\n style: {\"width\":\"100%\",\"height\":\"65px\",\"margin\":\"20px 0px\",\"margin-top\":\"0px\"}\n }, _toDisplayString(_ctx.t('keep_gate_open')), 1)\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n false\n ? (_openBlock(), _createBlock(_component_b_row, {\n key: 1,\n style: {\"margin\":\"0\"}\n }, {\n default: _withCtx(() => [\n _createVNode(_component_b_col, null, {\n default: _withCtx(() => [\n _createElementVNode(\"button\", {\n class: \"btn btn-primary btn_custom\",\n type: \"button\",\n onClick: _cache[5] || (_cache[5] = ($event: any) => {_ctx.lostTicket();}),\n style: {\"width\":\"100%\",\"height\":\"150px\",\"margin\":\"20px 0px\",\"margin-top\":\"0px\",\"background-color\":\"#39cc64\",\"color\":\"white\"}\n }, _toDisplayString(_ctx.t('lost_ticket')), 1)\n ]),\n _: 1\n })\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_b_table, {\n hover: \"\",\n outlined: \"\",\n responsive: \"\",\n busy: _ctx.events_loaded,\n items: _ctx.events_items,\n fields: _ctx.events_fields\n }, {\n \"cell(name)\": _withCtx((data) => [\n _createTextVNode(_toDisplayString(_ctx.t(data.value)), 1)\n ]),\n \"cell(description)\": _withCtx((data) => [\n _createTextVNode(_toDisplayString(_ctx.translate_description(data.value)), 1)\n ]),\n \"cell(access_card)\": _withCtx((data) => [\n (data.value == null || typeof data.value.id == 'undefined' || data.value.id == 0)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_5))\n : (_openBlock(), _createElementBlock(\"a\", {\n key: 1,\n href: \"javascript: void(0);\",\n onClick: ($event: any) => (_ctx.openAccessCard(data.value.id))\n }, _toDisplayString('#' + _ctx.t(data.value.id) + ' - ' + _ctx.t(data.value.username)), 9, _hoisted_6))\n ]),\n \"cell(date_at)\": _withCtx((data) => [\n _createTextVNode(_toDisplayString(_ctx.formatDate(data.value)), 1)\n ]),\n _: 1\n }, 8, [\"busy\", \"items\", \"fields\"]),\n _createVNode(_component_b_pagination, {\n modelValue: _ctx.events_page,\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = ($event: any) => ((_ctx.events_page) = $event)),\n \"total-rows\": _ctx.events_rows,\n \"per-page\": 25\n }, null, 8, [\"modelValue\", \"total-rows\"])\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.selectedTab == 2)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_7, [\n _createVNode(_component_ion_item, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_label, null, {\n default: _withCtx(() => [\n _hoisted_8\n ]),\n _: 1\n }),\n _createVNode(_component_ion_input, {\n type: \"number\",\n min: 0,\n max: 100,\n value: _ctx.elka_settings.stay_open_time.toString(),\n onChange: _cache[7] || (_cache[7] = ($event: any) => (_ctx.elka_settings.stay_open_time = parseInt($event.target.value)))\n }, null, 8, [\"value\"])\n ]),\n _: 1\n }),\n _createVNode(_component_ion_item, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_label, null, {\n default: _withCtx(() => [\n _hoisted_9\n ]),\n _: 1\n }),\n _createVNode(_component_ion_input, {\n type: \"number\",\n min: 0,\n max: 100,\n value: _ctx.elka_settings.prewarning_before_opening_time.toString(),\n onChange: _cache[8] || (_cache[8] = ($event: any) => (_ctx.elka_settings.prewarning_before_opening_time = parseInt($event.target.value)))\n }, null, 8, [\"value\"])\n ]),\n _: 1\n }),\n _createVNode(_component_ion_item, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_label, null, {\n default: _withCtx(() => [\n _hoisted_10\n ]),\n _: 1\n }),\n _createVNode(_component_ion_input, {\n type: \"number\",\n min: 0,\n max: 100,\n value: _ctx.elka_settings.prewarning_before_closing_time.toString(),\n onChange: _cache[9] || (_cache[9] = ($event: any) => (_ctx.elka_settings.prewarning_before_closing_time = parseInt($event.target.value)))\n }, null, 8, [\"value\"])\n ]),\n _: 1\n }),\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(14, (index) => {\n return _createVNode(_component_ion_item, {\n key: `relay_operatingMode_${index}`\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_label, { position: \"floating\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('relay_operating_mode')) + \" #\" + _toDisplayString(index), 1)\n ]),\n _: 2\n }, 1024),\n _createVNode(_component_ion_select, {\n interface: \"popover\",\n value: _ctx.elka_settings.relay_operating_modes[index - 1],\n onIonChange: ($event: any) => (_ctx.elka_settings.relay_operating_modes[index - 1] = $event.target.value),\n \"ok-text\": _ctx.t('SELECT.ok'),\n \"cancel-text\": _ctx.t('SELECT.cancel')\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_select_option, { value: \"0\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('deactivated')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select_option, { value: \"1\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('error')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select_option, { value: \"2\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('maintenance')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select_option, { value: \"3\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('boom_missing')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select_option, { value: \"4\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('tandem_operation')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select_option, { value: \"5\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('red_traffic_light')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select_option, { value: \"6\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('green_traffic_light')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select_option, { value: \"7\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('warning_light')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select_option, { value: \"8\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('led_boom_lighting')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select_option, { value: \"9\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('activated_when_barrier_open')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select_option, { value: \"10\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('activated_when_barrier_closed')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select_option, { value: \"11\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('activated_via_bus')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select_option, { value: \"12\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('photoelectric_barrier_testing')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select_option, { value: \"13\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('barrier_emergency_released')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select_option, { value: \"14\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('presence')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select_option, { value: \"15\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('activated_when_loop_a_occupied')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select_option, { value: \"16\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('activated_when_loop_a_activated_notfaulty_notoccupied')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select_option, { value: \"17\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('pulse_when_loop_a_occupied')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select_option, { value: \"18\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('pulse_when_loop_a_cleared')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select_option, { value: \"19\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('activated_when_loop_b_occupied')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select_option, { value: \"20\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('activated_when_loop_b_activated_notfaulty_notoccupied')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select_option, { value: \"21\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('pulse_when_loop_b_occupied')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select_option, { value: \"22\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('pulse_when_loop_b_cleared')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select_option, { value: \"23\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('activated_when_loop_c_occupied')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select_option, { value: \"24\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('activated_when_loop_c_activated_notfaulty_notoccupied')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select_option, { value: \"25\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('pulse_when_loop_c_occupieday')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select_option, { value: \"26\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('pulse_when_loop_c_cleared')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select_option, { value: \"27\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('pulse_when_vehicle_counter_increment')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select_option, { value: \"28\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('pulse_when_vehicle_counter_decrement')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select_option, { value: \"29\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('pulse_when_dl_detected_passing_left')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select_option, { value: \"30\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('pulse_when_dl_detected_passing_right')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select_option, { value: \"31\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('on_when_barrier_closed')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select_option, { value: \"32\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('on_when_tcp_connected')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select_option, { value: \"33\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('on_when_powerfailuredetection_connected_andnofailure')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select_option, { value: \"34\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('activated_when_acousticsignaldevice_ison')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select_option, { value: \"35\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('ledboom_controlling_green_leds')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select_option, { value: \"36\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('ledboom_controlling_red_leds')), 1)\n ]),\n _: 1\n })\n ]),\n _: 2\n }, 1032, [\"value\", \"onIonChange\", \"ok-text\", \"cancel-text\"])\n ]),\n _: 2\n }, 1024)\n }), 64)),\n _createElementVNode(\"button\", _hoisted_11, _toDisplayString(_ctx.t('save_signals')), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.selectedTab == 3)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_12, [\n _createVNode(_component_ion_item, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_label, { position: \"floating\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('type')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select, {\n interface: \"popover\",\n value: _ctx.type,\n onIonChange: _cache[10] || (_cache[10] = ($event: any) => (_ctx.type=$event.target.value)),\n \"ok-text\": _ctx.t('SELECT.ok'),\n \"cancel-text\": _ctx.t('SELECT.cancel')\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_select_option, { value: \"\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('none')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select_option, { value: \"Entrance gate\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('Entrance gate')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select_option, { value: \"Exit gate\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('Exit gate')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select_option, { value: \"PAX Terminal\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('PAX Terminal')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select_option, { value: \"ELKA Barrier\" }, {\n default: _withCtx(() => [\n _createTextVNode(\"ELKA \" + _toDisplayString(_ctx.t('Barrier')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select_option, { value: \"AutomaticSystems Barrier\" }, {\n default: _withCtx(() => [\n _createTextVNode(\"Automatic Systems \" + _toDisplayString(_ctx.t('Barrier')), 1)\n ]),\n _: 1\n })\n ]),\n _: 1\n }, 8, [\"value\", \"ok-text\", \"cancel-text\"])\n ]),\n _: 1\n }),\n _createVNode(_component_ion_item, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_label, { position: \"floating\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('name')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_input, {\n value: _ctx.name,\n onChange: _cache[11] || (_cache[11] = ($event: any) => (_ctx.name=$event.target.value))\n }, null, 8, [\"value\"])\n ]),\n _: 1\n }),\n _createVNode(_component_ion_item, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_label, { position: \"floating\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('brand')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_input, {\n value: _ctx.brand,\n onChange: _cache[12] || (_cache[12] = ($event: any) => (_ctx.brand=$event.target.value))\n }, null, 8, [\"value\"])\n ]),\n _: 1\n }),\n _createVNode(_component_ion_item, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_label, { position: \"floating\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('model')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_input, {\n value: _ctx.model,\n onChange: _cache[13] || (_cache[13] = ($event: any) => (_ctx.model=$event.target.value))\n }, null, 8, [\"value\"])\n ]),\n _: 1\n }),\n _createVNode(_component_ion_item, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_label, {\n class: \"item-has-value\",\n position: \"floating\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('zones')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select, {\n interface: \"popover\",\n modelValue: _ctx.zone_id,\n \"onUpdate:modelValue\": _cache[14] || (_cache[14] = ($event: any) => ((_ctx.zone_id) = $event)),\n onIonChange: _cache[15] || (_cache[15] = ($event: any) => (_ctx.zone_id=$event.target.value)),\n \"ok-text\": _ctx.t('SELECT.ok'),\n \"cancel-text\": _ctx.t('SELECT.cancel')\n }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.all_zones, (zone) => {\n return (_openBlock(), _createBlock(_component_ion_select_option, {\n key: zone.id + '_short',\n data: zone,\n value: zone.id\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(zone.name), 1)\n ]),\n _: 2\n }, 1032, [\"data\", \"value\"]))\n }), 128))\n ]),\n _: 1\n }, 8, [\"modelValue\", \"ok-text\", \"cancel-text\"])\n ]),\n _: 1\n }),\n _createElementVNode(\"button\", {\n class: \"btn btn-secondary btn_custom\",\n type: \"button\",\n onClick: _cache[16] || (_cache[16] = ($event: any) => {_ctx.saveDeviceConfig();}),\n style: {\"width\":\"100%\",\"margin\":\"20px 0px\"}\n }, _toDisplayString(_ctx.t('save_config')), 1),\n _hoisted_13,\n _hoisted_14,\n _createVNode(_component_b_row, { style: {\"margin\":\"0\"} }, {\n default: _withCtx(() => [\n _createVNode(_component_b_col, null, {\n default: _withCtx(() => [\n _createElementVNode(\"button\", {\n class: \"btn btn-success btn_custom\",\n type: \"button\",\n onClick: _cache[17] || (_cache[17] = ($event: any) => {_ctx.reboot();}),\n style: {\"width\":\"100%\",\"height\":\"75px\",\"margin\":\"20px 0px\",\"margin-top\":\"0px\",\"background-color\":\"#f03a3e\",\"color\":\"white\"}\n }, _toDisplayString(_ctx.t('reboot')), 1)\n ]),\n _: 1\n })\n ]),\n _: 1\n })\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.isTechnician)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_15, [\n _createElementVNode(\"a\", {\n href: \"javascript: void(0);\",\n class: _normalizeClass(_ctx.selectedTab == 1 ? 'tab selected' : 'tab'),\n onClick: _cache[18] || (_cache[18] = ($event: any) => (_ctx.selectTab(1)))\n }, [\n _createVNode(_component_ion_icon, { icon: _ctx.list }, null, 8, [\"icon\"]),\n _createElementVNode(\"span\", _hoisted_16, _toDisplayString(_ctx.t('overview')), 1)\n ], 2),\n _createElementVNode(\"a\", {\n href: \"javascript: void(0);\",\n class: _normalizeClass(_ctx.selectedTab == 2 ? 'tab selected' : 'tab'),\n onClick: _cache[19] || (_cache[19] = ($event: any) => (_ctx.selectTab(2)))\n }, [\n _createVNode(_component_ion_icon, { icon: _ctx.gitNetwork }, null, 8, [\"icon\"]),\n _createElementVNode(\"span\", _hoisted_17, _toDisplayString(_ctx.t('signals')), 1)\n ], 2),\n _createElementVNode(\"a\", {\n href: \"javascript: void(0);\",\n class: _normalizeClass(_ctx.selectedTab == 3 ? 'tab selected' : 'tab'),\n onClick: _cache[20] || (_cache[20] = ($event: any) => (_ctx.selectTab(3)))\n }, [\n _createVNode(_component_ion_icon, { icon: _ctx.cog }, null, 8, [\"icon\"]),\n _createElementVNode(\"span\", _hoisted_18, _toDisplayString(_ctx.t('configuration')), 1)\n ], 2)\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n })\n ], 64))\n}","\r\n import {\r\n IonContent,\r\n IonHeader,\r\n IonTitle,\r\n IonToolbar,\r\n IonButtons,\r\n IonButton,\r\n modalController,\r\n toastController,\r\n alertController,\r\n IonIcon,\r\n IonItem,\r\n IonLabel,\r\n IonInput,\r\n IonSelect,\r\n IonSelectOption\r\n } from \"@ionic/vue\";\r\n import { defineComponent } from \"vue\";\r\n import { calendar, personCircle, list, gitNetwork, cog, statsChartOutline } from 'ionicons/icons';\r\n import { useI18n } from 'vue-i18n';\r\n import EditAccessPage from '@/views/access/EditAccessPage.vue';\r\n import DeviceService from '@/services/device.service';\r\n import CameraService from '@/services/camera.service';\r\n import ZoneService from '@/services/zone.service';\r\n import EventService from '@/services/event.service';\r\n import AccessService from '@/services/access.service';\r\n import CameraWebRTCPlayer from './CameraWebRTCPlayer.vue';\r\n import moment from 'moment-timezone';\r\n import Timezone from '@/utils/Timezone';\r\n let translate;\r\n export default defineComponent({\r\n name: \"DeviceModal\",\r\n components: { IonContent, IonHeader, IonTitle, IonToolbar, IonButtons, IonButton, IonIcon, IonItem, IonLabel, IonInput, IonSelect, IonSelectOption, CameraWebRTCPlayer },\r\n props: ['device'],\r\n data()\r\n {\r\n return {\r\n selectedTab: 1,\r\n loadingCamera: false,\r\n cameraMonitorId: 0,\r\n cameraSecret: '',\r\n cameraUrl: '',\r\n type: '',\r\n name: '',\r\n brand: '',\r\n model: '',\r\n port_trigger_open: '',\r\n port_trigger_close: '',\r\n port_keep_open: '',\r\n port_signal_open: '',\r\n port_signal_close: '',\r\n port_signal_blocked: '',\r\n port_signal_presence: '',\r\n keepOpenUntil: '0',\r\n all_zones: [],\r\n zone_id: 0,\r\n barrier_type: 0,\r\n elka_settings: {\r\n stay_open_time: 300,\r\n prewarning_before_closing_time: 3,\r\n prewarning_before_opening_time: 0,\r\n relay_operating_modes: {\r\n 0: '0',\r\n 1: '0',\r\n 2: '0',\r\n 3: '0',\r\n 4: '0',\r\n 5: '0',\r\n 6: '0',\r\n 7: '0',\r\n 8: '0',\r\n 9: '0',\r\n 10: '0',\r\n 11: '0',\r\n 12: '0',\r\n 13: '0',\r\n 14: '0'\r\n }\r\n },\r\n events_page: 1,\r\n events_rows: 0,\r\n events_items: [],\r\n events_loaded: false,\r\n events_fields: [\r\n {\r\n key: 'date_at',\r\n label: translate('date_at'),\r\n sortable: true\r\n },\r\n {\r\n key: 'name',\r\n label: translate('event'),\r\n sortable: true\r\n },\r\n {\r\n key: 'description',\r\n label: translate('description'),\r\n sortable: true\r\n },\r\n {\r\n key: 'access_card',\r\n label: translate('access_card'),\r\n sortable: true\r\n }\r\n ],\r\n }\r\n },\r\n setup() {\r\n const closeModal = () => {\r\n modalController.dismiss();\r\n };\r\n const { t } = useI18n({\r\n inheritLocale: true,\r\n useScope: 'global'\r\n });\r\n const openAccessCard = async (accessCardId: any) => {\r\n const response = await AccessService.get(accessCardId);\r\n if (response.success) {\r\n const modal = await modalController.create({\r\n component: EditAccessPage,\r\n cssClass: 'my-custom-class',\r\n componentProps: {\r\n access_card: response.access_card\r\n }\r\n });\r\n return modal.present();\r\n }\r\n };\r\n translate = t;\r\n return { closeModal, calendar, personCircle, list, gitNetwork, cog, statsChartOutline, t, openAccessCard };\r\n },\r\n async mounted()\r\n {\r\n if (this.device.camera_id > 0) {\r\n this.loadingCamera = true;\r\n this.loadCamera(this.device.camera_id);\r\n }\r\n await this.loadZones();\r\n if (this.device.id > 0) {\r\n await this.loadEvents();\r\n }\r\n for(var i = 0; i < 14; i++) {\r\n //@ts-ignore\r\n this.elka_settings.relay_operating_modes[i] = '0';\r\n }\r\n this.type = this.device.type;\r\n this.name = this.device.name;\r\n this.brand = this.device.brand;\r\n this.model = this.device.model;\r\n this.zone_id = this.device.zone_id == null ? 0 : this.device.zone_id;\r\n this.port_trigger_open = this.device.port_trigger_open == null ? '' : this.device.port_trigger_open.toString();\r\n this.port_trigger_close = this.device.port_trigger_close == null ? '' : this.device.port_trigger_close.toString();\r\n this.port_keep_open = this.device.port_keep_open == null ? '' : this.device.port_keep_open.toString();\r\n this.port_signal_open = this.device.port_signal_open == null ? '' : this.device.port_signal_open.toString();\r\n this.port_signal_close = this.device.port_signal_close == null ? '' : this.device.port_signal_close.toString();\r\n this.port_signal_blocked = this.device.port_signal_blocked == null ? '' : this.device.port_signal_blocked.toString();\r\n this.port_signal_presence = this.device.port_signal_presence == null ? '' : this.device.port_signal_presence.toString();\r\n this.barrier_type = this.device.barrier_type == null ? 0 : this.device.barrier_type;\r\n if (this.device.elka_settings != null) {\r\n var settings = JSON.parse(this.device.elka_settings.toString());\r\n //@ts-ignore\r\n if (typeof settings.stay_open_time != 'undefined') {\r\n this.elka_settings.stay_open_time = settings.stay_open_time;\r\n }\r\n //@ts-ignore\r\n if (typeof settings.prewarning_before_closing_time != 'undefined') {\r\n this.elka_settings.prewarning_before_closing_time = settings.prewarning_before_closing_time;\r\n }\r\n //@ts-ignore\r\n if (typeof settings.prewarning_before_opening_time != 'undefined') {\r\n this.elka_settings.prewarning_before_opening_time = settings.prewarning_before_opening_time;\r\n }\r\n //@ts-ignore\r\n if (typeof settings.relay_operating_modes != 'undefined') {\r\n for(var i = 0; i < 14; i++) {\r\n //@ts-ignore\r\n this.elka_settings.relay_operating_modes[i] = settings.relay_operating_modes[i];\r\n }\r\n }\r\n }\r\n },\r\n watch: {\r\n 'events_page': {\r\n handler: function(newValue) {\r\n // console.log('Current vaules:' + newValue.FirstName + ' ' + newValue.LastName);\r\n this.loadEvents();\r\n },\r\n deep: true\r\n }\r\n },\r\n methods: {\r\n selectTab(index: number)\r\n {\r\n this.selectedTab = index;\r\n },\r\n async loadZones()\r\n {\r\n const response = await ZoneService.getForFilters();\r\n if (response.count > 0)\r\n {\r\n this.all_zones = response.zones;\r\n }\r\n },\r\n async saveDeviceConfig()\r\n {\r\n const response = await DeviceService.editConfig(\r\n this.device.id,\r\n this.type,\r\n this.name,\r\n this.brand,\r\n this.model,\r\n this.zone_id,\r\n this.barrier_type,\r\n JSON.stringify(this.elka_settings)\r\n );\r\n if(response.success)\r\n {\r\n //@ts-ignore\r\n this.$eventBus.emit('refresh_devices')\r\n const toast = await toastController\r\n .create({\r\n position: 'top',\r\n header: translate('device_modified'),\r\n message: translate('saved_configuration_successfully'),\r\n duration: 2000\r\n })\r\n return toast.present();\r\n }\r\n else\r\n {\r\n var message = '';\r\n if (typeof response.error != 'undefined') {\r\n message = response.error;\r\n } else if(typeof response.errors != 'undefined' && typeof response.errors.message != 'undefined') {\r\n Object.keys(response.errors.message).forEach(key => {\r\n message += response.errors.message[key] + '.
';\r\n });\r\n }\r\n const toast = await toastController\r\n .create({\r\n position: 'top',\r\n header: translate('device_modification_error'),\r\n message: translate('error') + ': ' + message,\r\n duration: 2000\r\n })\r\n return toast.present();\r\n }\r\n },\r\n async openGate()\r\n {\r\n const response = await DeviceService.openGate(this.device.id);\r\n if(response.success)\r\n {\r\n //@ts-ignore\r\n this.$eventBus.emit('refresh_devices')\r\n const toast = await toastController\r\n .create({\r\n position: 'top',\r\n header: translate('gate_opening'),\r\n message: translate('gate_successfully_opening'),\r\n duration: 2000\r\n })\r\n return toast.present();\r\n }\r\n else\r\n {\r\n const toast = await toastController\r\n .create({\r\n position: 'top',\r\n header: translate('gate_error'),\r\n message: translate('cannot_open_gate'),\r\n duration: 2000\r\n })\r\n return toast.present();\r\n }\r\n },\r\n async closeGate()\r\n {\r\n const response = await DeviceService.closeGate(this.device.id);\r\n if(response.success)\r\n {\r\n //@ts-ignore\r\n this.$eventBus.emit('refresh_devices')\r\n const toast = await toastController\r\n .create({\r\n position: 'top',\r\n header: translate('gate_closing'),\r\n message: translate('gate_successfully_closing'),\r\n duration: 2000\r\n })\r\n return toast.present();\r\n }\r\n else\r\n {\r\n const toast = await toastController\r\n .create({\r\n position: 'top',\r\n header: translate('gate_error'),\r\n message: translate('cannot_close_gate'),\r\n duration: 2000\r\n })\r\n return toast.present();\r\n }\r\n },\r\n async triggerKeepGateOpen()\r\n {\r\n const response = await DeviceService.keepGateOpen(this.device.id, parseInt(this.keepOpenUntil));\r\n if(response.success)\r\n {\r\n //@ts-ignore\r\n this.$eventBus.emit('refresh_devices')\r\n const toast = await toastController\r\n .create({\r\n position: 'top',\r\n header: translate('gate_opening'),\r\n message: translate('gate_successfully_opening'),\r\n duration: 2000\r\n })\r\n return toast.present();\r\n }\r\n else\r\n {\r\n const toast = await toastController\r\n .create({\r\n position: 'top',\r\n header: translate('gate_error'),\r\n message: translate('cannot_open_gate'),\r\n duration: 2000\r\n })\r\n return toast.present();\r\n }\r\n },\r\n async lostTicket()\r\n {\r\n const response = await DeviceService.lostTicket(this.device.id);\r\n if(response.success)\r\n {\r\n //@ts-ignore\r\n this.$eventBus.emit('refresh_devices')\r\n const toast = await toastController\r\n .create({\r\n position: 'top',\r\n header: translate('gate_opening'),\r\n message: translate('gate_successfully_opening'),\r\n duration: 2000\r\n })\r\n return toast.present();\r\n }\r\n else\r\n {\r\n const toast = await toastController\r\n .create({\r\n position: 'top',\r\n header: translate('gate_error'),\r\n message: translate('cannot_open_gate'),\r\n duration: 2000\r\n })\r\n return toast.present();\r\n }\r\n },\r\n async reboot()\r\n {\r\n const alert = await alertController\r\n .create({\r\n cssClass: 'my-custom-class',\r\n header: translate('reboot_device'),\r\n message: translate('are_you_sure_reboot_device', { name: this.device.name}),\r\n buttons: [\r\n {\r\n text: translate('cancel'),\r\n role: 'cancel',\r\n cssClass: 'secondary',\r\n id: 'cancel-button'\r\n },\r\n {\r\n text: translate('confirm'),\r\n id: 'confirm-button',\r\n handler: async () => {\r\n const response = await DeviceService.reboot(this.device.id);\r\n if(response.success)\r\n {\r\n //@ts-ignore\r\n this.$eventBus.emit('refresh_devices')\r\n const toast = await toastController\r\n .create({\r\n position: 'top',\r\n header: translate('gate_rebooting'),\r\n message: translate('gate_successfully_rebooting'),\r\n duration: 2000\r\n })\r\n return toast.present();\r\n }\r\n else\r\n {\r\n const toast = await toastController\r\n .create({\r\n position: 'top',\r\n header: translate('gate_error'),\r\n message: translate('cannot_reboot_gate'),\r\n duration: 2000\r\n })\r\n return toast.present();\r\n }\r\n }\r\n }\r\n ]\r\n });\r\n return alert.present();\r\n },\r\n isMobile() {\r\n if(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) {\r\n return true\r\n } else {\r\n return false\r\n }\r\n },\r\n async loadCamera(id) {\r\n //@ts-ignore\r\n const response = await CameraService.get(id);\r\n if (response && response.success) {\r\n const camera = response.camera;\r\n this.cameraMonitorId = camera.id;\r\n this.cameraSecret = camera.secret;\r\n this.loadingCamera = false;\r\n this.cameraUrl = 'https://media.lexoh.com:52445/' + camera.monitorid + '/embed.html?realtime=true&autoplay=true&token=' + localStorage.getItem('token');\r\n }\r\n },\r\n async loadEvents() {\r\n //@ts-ignore\r\n const response = await EventService.list(this.events_page, '', [this.device.id]);\r\n if(response.success)\r\n {\r\n this.events_items = response.events;\r\n this.events_rows = response.count;\r\n this.events_loaded = true;\r\n }\r\n else\r\n {\r\n //something wrong... stop loading, show error with refresh button?\r\n }\r\n },\r\n formatDate(date: string)\r\n {\r\n //@ts-ignore\r\n return moment(date).utcOffset(Timezone.getTimezone(this.$store.state.auth.user)).format('YYYY-MM-DD HH:mm:ss');\r\n },\r\n translate_description(text: string)\r\n {\r\n text = text.replace('Gate has been opened by', translate('Gate has been opened by'));\r\n text = text.replace('in order to enter parking', translate('in order to enter parking'));\r\n text = text.replace('Gate has been opened in order to enter zone.', translate('Gate has been opened in order to enter zone.'));\r\n text = text.replace('Gate has been opened in order to exit zone.', translate('Gate has been opened in order to exit zone.'));\r\n text = text.replace('has logged in', translate('has_logged_in'));\r\n\t\t\t\ttext = text.replace('Card scanned', translate('Card scanned'));\r\n\t\t\t\ttext = text.replace('The card with number', translate('The card with number'));\r\n\t\t\t\ttext = text.replace('has been scanned', translate('has been scanned'));\r\n\t\t\t\ttext = text.replace('Coupon scanned', translate('Coupon scanned'));\r\n\t\t\t\ttext = text.replace('The qr coupon with number', translate('The qr coupon with number'));\r\n\t\t\t\ttext = text.replace('access card is not allowed to do entries', translate('access card is not allowed to do entries'));\r\n\t\t\t\t//printer\r\n\t\t\t\ttext = text.replace('The printer device has connected.', translate('The printer device has connected.'));\r\n\t\t\t\ttext = text.replace('The printer device has been disconnected.', translate('The printer device has been disconnected.'));\r\n\t\t\t\ttext = text.replace('The printer device is online.', translate('The printer device is online.'));\r\n\t\t\t\ttext = text.replace('The printer device is offline.', translate('The printer device is offline.'));\r\n\t\t\t\ttext = text.replace('The printer device is waiting for online error recovery.', translate('The printer device is waiting for online error recovery.'));\r\n\t\t\t\ttext = text.replace('The printer device has recovered.', translate('The printer device has recovered.'));\r\n\t\t\t\ttext = text.replace('The printer device feed button has been pressed.', translate('The printer device feed button has been pressed.'));\r\n\t\t\t\ttext = text.replace('The printer device feed button has been released.', translate('The printer device feed button has been released.'));\r\n\t\t\t\ttext = text.replace('The printer plate has been opened.', translate('The printer plate has been opened.'));\r\n\t\t\t\ttext = text.replace('The printer plate has been closed.', translate('The printer plate has been closed.'));\r\n\t\t\t\ttext = text.replace('The printer device is feeding by button.', translate('The printer device is feeding by button.'));\r\n\t\t\t\ttext = text.replace('The printer device is no longer feeding by button.', translate('The printer device is no longer feeding by button.'));\r\n\t\t\t\ttext = text.replace('The printer device sensor for paper end stop is active.', translate('The printer device sensor for paper end stop is active.'));\r\n\t\t\t\ttext = text.replace('The printer device sensor for paper end stop is inactive.', translate('The printer device sensor for paper end stop is inactive.'));\r\n\t\t\t\ttext = text.replace('The printer device has occurred an error.', translate('The printer device has occurred an error.'));\r\n\t\t\t\ttext = text.replace('The printer device has recovered from an error.', translate('The printer device has recovered from an error.'));\r\n\t\t\t\ttext = text.replace('The printer device has occurred a mechanical error.', translate('The printer device has occurred a mechanical error.'));\r\n\t\t\t\ttext = text.replace('The printer device has recovered from a mechanical error.', translate('The printer device has recovered from a mechanical error.'));\r\n\t\t\t\ttext = text.replace('The printer device has occurred an auto cutter error.', translate('The printer device has occurred an auto cutter error.'));\r\n\t\t\t\ttext = text.replace('The printer device has recovered from an auto cutter error.', translate('The printer device has recovered from an auto cutter error.'));\r\n\t\t\t\ttext = text.replace('The printer device has occurred an unrecoverable error.', translate('The printer device has occurred an unrecoverable error.'));\r\n\t\t\t\ttext = text.replace('The printer device has recovered from an unrecoverable error.', translate('The printer device has recovered from an unrecoverable error.'));\r\n\t\t\t\ttext = text.replace('The printer device has occurred an auto recoverable error.', translate('The printer device has occurred an auto recoverable error.'));\r\n\t\t\t\ttext = text.replace('The printer device has recovered from an auto recoverable error.', translate('The printer device has recovered from an auto recoverable error.'));\r\n\t\t\t\ttext = text.replace('The printer device has detected adequate paper.', translate('The printer device has detected adequate paper.'));\r\n\t\t\t\ttext = text.replace('The printer device has detected inadequate paper.', translate('The printer device has detected inadequate paper.'));\r\n\t\t\t\ttext = text.replace('The printer device has detected paper near end.', translate('The printer device has detected paper near end.'));\r\n\t\t\t\ttext = text.replace('The printer device has undetected paper near end.', translate('The printer device has undetected paper near end.'));\r\n\t\t\t\ttext = text.replace('The printer device has detected paper.', translate('The printer device has detected paper.'));\r\n\t\t\t\ttext = text.replace('The printer device has detected missing paper.', translate('The printer device has detected missing paper.'));\r\n\t\t\t\ttext = text.replace('The printer device has detected paper roll end.', translate('The printer device has detected paper roll end.'));\r\n\t\t\t\ttext = text.replace('The printer device has undetected paper roll end.', translate('The printer device has undetected paper roll end.'));\r\n //customer account\r\n text = text.replace('has created the customer account', translate('has_created_the_customer_account'));\r\n text = text.replace('has modified the customer account', translate('has_modified_the_customer_account'));\r\n text = text.replace('has deleted the customer account', translate('has_deleted_the_customer_account'));\r\n //access card\r\n text = text.replace('has created the access card', translate('has_created_the_access_card'));\r\n text = text.replace('has modified the access card', translate('has_modified_the_access_card'));\r\n text = text.replace('has deleted the access card', translate('has_deleted_the_access_card'));\r\n //Validation\r\n text = text.replace('MaxEntrancesReached', translate('MaxEntrancesReached'));\r\n text = text.replace('has already reached max entrances', translate('has already reached max entrances'));\r\n text = text.replace('DoesNotExists', translate('DoesNotExists'));\r\n text = text.replace('unable to find access card', translate('unable to find access card'));\r\n text = text.replace('access card limit has already been reached - Access card', translate('MaxEntrancesReached') + ' - ' + translate('access_card') + '#');\r\n //user account\r\n text = text.replace('has created the user account', translate('has_created_the_user_account'));\r\n text = text.replace('has modified the user account', translate('has_modified_the_user_account'));\r\n text = text.replace('has deleted the user account', translate('has_deleted_the_user_account'));\r\n //config\r\n text = text.replace('has modified the config', translate('has_modified_the_config'));\r\n text = text.replace('` from `', '` ' + translate('from') + ' `');\r\n text = text.replace('` to `', '` ' + translate('to') + ' `');\r\n //\r\n text = text.replace('has connected', translate('has_connected'));\r\n text = text.replace('has disconnected', translate('has_disconnected'));\r\n //\r\n text = text.replace('User `', translate('user') + ' `');\r\n text = text.replace('Customer `', translate('customer') + ' `');\r\n text = text.replace('Device `', translate('device') + ' `');\r\n text = text.replace('Guest has entered the parking.', translate('guest_entered_parking'));\r\n //signals\r\n text = text.replace('has manually sent stay open signal to the device', translate('has_sent_stay_open_signal'));\r\n text = text.replace('has manually sent close signal to the device', translate('has_sent_close_signal'));\r\n text = text.replace('has manually sent open signal to the device', translate('has_sent_open_signal'));\r\n text = text.replace('for a duration of', translate('for_a_duration_of'));\r\n text = text.replace('`indefinitely`', translate('_indefinitely_'));\r\n text = text.replace('received gate signal', translate('received_gate_signal'));\r\n text = text.replace('State has changed to', translate('state_changed_to'));\r\n text = text.replace('closed', translate('closed'));\r\n text = text.replace('opened', translate('opened'));\r\n text = text.replace('closing', translate('closing'));\r\n text = text.replace('opening', translate('opening'));\r\n text = text.replace('blocked', translate('blocked'));\r\n text = text.replace('max vehicules inside limit reached', translate('max vehicules inside limit reached'));\r\n //zones\r\n text = text.replace('has created the zone', translate('has_created_zone'));\r\n text = text.replace('has modified the zone', translate('has_modified_zone'));\r\n text = text.replace('has deleted the zone', translate('has_deleted_zone'));\r\n\r\n text = text.replace('Open', translate('open'));\r\n text = text.replace('Closed', translate('closed'));\r\n text = text.replace('Blocked', translate('blocked'));\r\n\r\n text = text.replace('a customer', translate('a customer'));\r\n text = text.replace('a guest', translate('a guest'));\r\n text = text.replace('a user', translate('a user'));\r\n\r\n text = text.replace('customer', translate('customer'));\r\n text = text.replace('guest', translate('guest'));\r\n text = text.replace('user', translate('user'));\r\n text = text.replace('Access card', translate('access_card'));\r\n text = text.replace('does not exists', translate('DoesNotExists'));\r\n return text;\r\n }\r\n },\r\n computed: {\r\n darkMode() {\r\n return document.body.classList.contains('dark');\r\n },\r\n isTechnician() {\r\n //@ts-ignore\r\n return this.$store.state.auth.user.role == 1;\r\n }\r\n }\r\n });\r\n","import { render } from \"./DeviceModal.vue?vue&type=template&id=901cae82&ts=true\"\nimport script from \"./DeviceModal.vue?vue&type=script&lang=ts\"\nexport * from \"./DeviceModal.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"F:\\\\GitHub\\\\lexoh-parking-ionic\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode } from \"vue\"\n\nconst _hoisted_1 = { style: {\"height\":\"100%\",\"padding\":\"15px\",\"overflow\":\"auto\"} }\nconst _hoisted_2 = { style: {\"display\":\"flex\",\"align-items\":\"center\",\"justify-content\":\"center\",\"padding-top\":\"25px\"} }\nconst _hoisted_3 = [\"src\"]\nconst _hoisted_4 = [\"src\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_ion_title = _resolveComponent(\"ion-title\")!\n const _component_ion_button = _resolveComponent(\"ion-button\")!\n const _component_ion_buttons = _resolveComponent(\"ion-buttons\")!\n const _component_ion_toolbar = _resolveComponent(\"ion-toolbar\")!\n const _component_ion_header = _resolveComponent(\"ion-header\")!\n const _component_ion_label = _resolveComponent(\"ion-label\")!\n const _component_ion_select_option = _resolveComponent(\"ion-select-option\")!\n const _component_ion_select = _resolveComponent(\"ion-select\")!\n const _component_ion_item = _resolveComponent(\"ion-item\")!\n const _component_b_col = _resolveComponent(\"b-col\")!\n const _component_b_row = _resolveComponent(\"b-row\")!\n const _component_ion_input = _resolveComponent(\"ion-input\")!\n const _component_ion_checkbox = _resolveComponent(\"ion-checkbox\")!\n const _component_vue3_barcode = _resolveComponent(\"vue3-barcode\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createVNode(_component_ion_header, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_toolbar, {\n color: _ctx.darkMode ? 'dark' : ''\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_title, { style: {\"color\":\"var(--ion-color-black)\"} }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('edit_access_card')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_buttons, { slot: \"primary\" }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_button, {\n color: \"danger\",\n fill: \"outline\",\n onClick: _ctx.closeModal\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('cancel')), 1)\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ]),\n _: 1\n })\n ]),\n _: 1\n }, 8, [\"color\"])\n ]),\n _: 1\n }),\n _createElementVNode(\"div\", _hoisted_1, [\n _createVNode(_component_b_row, null, {\n default: _withCtx(() => [\n _createVNode(_component_b_col, {\n cols: \"12\",\n sm: \"12\",\n md: \"6\",\n lg: \"6\",\n xl: \"6\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_item, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_label, { position: \"floating\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('status')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select, {\n interface: \"popover\",\n value: _ctx.status,\n onIonChange: _cache[0] || (_cache[0] = ($event: any) => (_ctx.status=$event.target.value)),\n \"ok-text\": _ctx.t('SELECT.ok'),\n \"cancel-text\": _ctx.t('SELECT.cancel')\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_select_option, { value: \"0\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('inactive')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select_option, { value: \"1\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('active')), 1)\n ]),\n _: 1\n })\n ]),\n _: 1\n }, 8, [\"value\", \"ok-text\", \"cancel-text\"])\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n _createVNode(_component_b_col, {\n cols: \"12\",\n sm: \"12\",\n md: \"6\",\n lg: \"6\",\n xl: \"6\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_item, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_label, { position: \"floating\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('has_subscription')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select, {\n interface: \"popover\",\n value: _ctx.has_subscription,\n onIonChange: _cache[1] || (_cache[1] = ($event: any) => (_ctx.has_subscription=$event.target.value)),\n \"ok-text\": _ctx.t('SELECT.ok'),\n \"cancel-text\": _ctx.t('SELECT.cancel')\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_select_option, { value: \"0\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('no')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select_option, { value: \"1\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('yes')), 1)\n ]),\n _: 1\n })\n ]),\n _: 1\n }, 8, [\"value\", \"ok-text\", \"cancel-text\"])\n ]),\n _: 1\n })\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n _createVNode(_component_b_row, null, {\n default: _withCtx(() => [\n _createVNode(_component_b_col, {\n cols: \"12\",\n sm: \"12\",\n md: \"6\",\n lg: \"6\",\n xl: \"6\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_item, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_label, { position: \"floating\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('max_vehicles_inside')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_input, {\n type: \"number\",\n value: _ctx.max_entrance,\n onChange: _cache[2] || (_cache[2] = ($event: any) => (_ctx.max_entrance=$event.target.value))\n }, null, 8, [\"value\"])\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n _createVNode(_component_b_col, {\n cols: \"12\",\n sm: \"12\",\n md: \"6\",\n lg: \"6\",\n xl: \"6\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_item, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_label, { position: \"floating\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('max_usages')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_input, {\n type: \"number\",\n value: _ctx.limits,\n onChange: _cache[3] || (_cache[3] = ($event: any) => (_ctx.limits=$event.target.value))\n }, null, 8, [\"value\"])\n ]),\n _: 1\n })\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n _createVNode(_component_b_row, null, {\n default: _withCtx(() => [\n _createVNode(_component_b_col, {\n cols: \"12\",\n sm: \"12\",\n md: \"6\",\n lg: \"6\",\n xl: \"6\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_item, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_label, { position: \"floating\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('validation_date')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_input, {\n type: \"date\",\n value: _ctx.validation_date,\n onChange: _cache[4] || (_cache[4] = ($event: any) => (_ctx.validation_date=$event.target.value))\n }, null, 8, [\"value\"])\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n _createVNode(_component_b_col, {\n cols: \"12\",\n sm: \"12\",\n md: \"6\",\n lg: \"6\",\n xl: \"6\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_item, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_label, { position: \"floating\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('expiration_date')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_input, {\n type: \"date\",\n value: _ctx.expiration_date,\n onChange: _cache[5] || (_cache[5] = ($event: any) => (_ctx.expiration_date=$event.target.value))\n }, null, 8, [\"value\"])\n ]),\n _: 1\n })\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n _createVNode(_component_b_row, null, {\n default: _withCtx(() => [\n _createVNode(_component_b_col, {\n cols: \"12\",\n sm: \"12\",\n md: \"6\",\n lg: \"6\",\n xl: \"6\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_item, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_label, { position: \"floating\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('between_hours_start')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_input, {\n type: \"time\",\n value: _ctx.between_hours_start,\n onChange: _cache[6] || (_cache[6] = ($event: any) => (_ctx.between_hours_start=$event.target.value))\n }, null, 8, [\"value\"])\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n _createVNode(_component_b_col, {\n cols: \"12\",\n sm: \"12\",\n md: \"6\",\n lg: \"6\",\n xl: \"6\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_item, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_label, { position: \"floating\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('between_hours_end')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_input, {\n type: \"time\",\n value: _ctx.between_hours_end,\n onChange: _cache[7] || (_cache[7] = ($event: any) => (_ctx.between_hours_end=$event.target.value))\n }, null, 8, [\"value\"])\n ]),\n _: 1\n })\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n (_ctx.type == '3')\n ? (_openBlock(), _createBlock(_component_b_row, { key: 0 }, {\n default: _withCtx(() => [\n _createVNode(_component_b_col, {\n cols: \"12\",\n sm: \"12\",\n md: \"6\",\n lg: \"6\",\n xl: \"6\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_item, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_label, { position: \"floating\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('card_key')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_input, {\n type: \"text\",\n value: _ctx.username,\n onChange: _cache[8] || (_cache[8] = ($event: any) => (_ctx.username=$event.target.value))\n }, null, 8, [\"value\"])\n ]),\n _: 1\n })\n ]),\n _: 1\n })\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_b_row, null, {\n default: _withCtx(() => [\n _createVNode(_component_b_col, {\n cols: \"12\",\n sm: \"12\",\n md: \"6\",\n lg: \"6\",\n xl: \"6\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_item, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_label, {\n class: \"item-has-value\",\n position: \"floating\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('zones')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select, {\n interface: \"popover\",\n modelValue: _ctx.zones,\n \"onUpdate:modelValue\": _cache[9] || (_cache[9] = ($event: any) => ((_ctx.zones) = $event)),\n onIonChange: _cache[10] || (_cache[10] = ($event: any) => (_ctx.zones=$event.target.value)),\n multiple: \"\",\n \"ok-text\": _ctx.t('SELECT.ok'),\n \"cancel-text\": _ctx.t('SELECT.cancel')\n }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.all_zones, (zone) => {\n return (_openBlock(), _createBlock(_component_ion_select_option, {\n key: zone.id + '_short',\n data: zone,\n value: zone.id\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(zone.name), 1)\n ]),\n _: 2\n }, 1032, [\"data\", \"value\"]))\n }), 128))\n ]),\n _: 1\n }, 8, [\"modelValue\", \"ok-text\", \"cancel-text\"])\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n _createVNode(_component_b_col, {\n cols: \"12\",\n sm: \"12\",\n md: \"6\",\n lg: \"6\",\n xl: \"6\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_item, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_label, {\n class: \"item-has-value\",\n position: \"floating\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('tags')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select, {\n interface: \"popover\",\n modelValue: _ctx.tags,\n \"onUpdate:modelValue\": _cache[11] || (_cache[11] = ($event: any) => ((_ctx.tags) = $event)),\n onIonChange: _cache[12] || (_cache[12] = ($event: any) => (_ctx.tags=$event.target.value)),\n multiple: \"\",\n \"ok-text\": _ctx.t('SELECT.ok'),\n \"cancel-text\": _ctx.t('SELECT.cancel')\n }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.all_tags, (tag) => {\n return (_openBlock(), _createBlock(_component_ion_select_option, {\n key: tag.id + '_short',\n data: tag,\n value: tag.id\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(tag.name), 1)\n ]),\n _: 2\n }, 1032, [\"data\", \"value\"]))\n }), 128))\n ]),\n _: 1\n }, 8, [\"modelValue\", \"ok-text\", \"cancel-text\"])\n ]),\n _: 1\n })\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n _createVNode(_component_b_row, null, {\n default: _withCtx(() => [\n _createVNode(_component_b_col, {\n cols: \"3\",\n sm: \"3\",\n md: \"3\",\n lg: \"3\",\n xl: \"3\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_item, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_label, null, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('day_2')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_checkbox, {\n \"onUpdate:modelValue\": _cache[13] || (_cache[13] = ($event: any) => (_ctx.allow_monday = $event)),\n modelValue: _ctx.allow_monday\n }, null, 8, [\"modelValue\"])\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n _createVNode(_component_b_col, {\n cols: \"3\",\n sm: \"3\",\n md: \"3\",\n lg: \"3\",\n xl: \"3\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_item, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_label, null, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('day_3')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_checkbox, {\n \"onUpdate:modelValue\": _cache[14] || (_cache[14] = ($event: any) => (_ctx.allow_tuesday = $event)),\n modelValue: _ctx.allow_tuesday\n }, null, 8, [\"modelValue\"])\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n _createVNode(_component_b_col, {\n cols: \"3\",\n sm: \"3\",\n md: \"3\",\n lg: \"3\",\n xl: \"3\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_item, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_label, null, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('day_4')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_checkbox, {\n \"onUpdate:modelValue\": _cache[15] || (_cache[15] = ($event: any) => (_ctx.allow_wednesday = $event)),\n modelValue: _ctx.allow_wednesday\n }, null, 8, [\"modelValue\"])\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n _createVNode(_component_b_col, {\n cols: \"3\",\n sm: \"3\",\n md: \"3\",\n lg: \"3\",\n xl: \"3\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_item, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_label, null, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('day_5')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_checkbox, {\n \"onUpdate:modelValue\": _cache[16] || (_cache[16] = ($event: any) => (_ctx.allow_thursday = $event)),\n modelValue: _ctx.allow_thursday\n }, null, 8, [\"modelValue\"])\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n _createVNode(_component_b_col, {\n cols: \"3\",\n sm: \"3\",\n md: \"3\",\n lg: \"3\",\n xl: \"3\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_item, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_label, null, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('day_6')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_checkbox, {\n \"onUpdate:modelValue\": _cache[17] || (_cache[17] = ($event: any) => (_ctx.allow_friday = $event)),\n modelValue: _ctx.allow_friday\n }, null, 8, [\"modelValue\"])\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n _createVNode(_component_b_col, {\n cols: \"3\",\n sm: \"3\",\n md: \"3\",\n lg: \"3\",\n xl: \"3\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_item, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_label, null, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('day_7')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_checkbox, {\n \"onUpdate:modelValue\": _cache[18] || (_cache[18] = ($event: any) => (_ctx.allow_saturday = $event)),\n modelValue: _ctx.allow_saturday\n }, null, 8, [\"modelValue\"])\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n _createVNode(_component_b_col, {\n cols: \"3\",\n sm: \"3\",\n md: \"3\",\n lg: \"3\",\n xl: \"3\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_item, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_label, null, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('day_1')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_checkbox, {\n \"onUpdate:modelValue\": _cache[19] || (_cache[19] = ($event: any) => (_ctx.allow_sunday = $event)),\n modelValue: _ctx.allow_sunday\n }, null, 8, [\"modelValue\"])\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n (_ctx.type != '1' && _ctx.type != '3')\n ? (_openBlock(), _createBlock(_component_b_col, {\n key: 0,\n cols: \"12\",\n sm: \"12\",\n md: \"12\",\n lg: \"12\",\n xl: \"12\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_item, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_label, null, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('one_time_only')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_checkbox, {\n \"onUpdate:modelValue\": _cache[20] || (_cache[20] = ($event: any) => (_ctx.one_time_only = $event)),\n modelValue: _ctx.one_time_only\n }, null, 8, [\"modelValue\"])\n ]),\n _: 1\n })\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n ((_ctx.customer_id == null || _ctx.customer_id == '') && (_ctx.user_id == null || _ctx.user_id == ''))\n ? (_openBlock(), _createBlock(_component_b_col, {\n key: 1,\n cols: \"12\",\n sm: \"12\",\n md: \"12\",\n lg: \"12\",\n xl: \"12\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_item, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_label, { position: \"floating\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('locale')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select, {\n interface: \"popover\",\n value: _ctx.locale,\n onIonChange: _cache[21] || (_cache[21] = ($event: any) => (_ctx.locale=$event.target.value)),\n \"ok-text\": _ctx.t('SELECT.ok'),\n \"cancel-text\": _ctx.t('SELECT.cancel')\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_select_option, { value: \"fr\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('french')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_select_option, { value: \"en\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t('english')), 1)\n ]),\n _: 1\n })\n ]),\n _: 1\n }, 8, [\"value\", \"ok-text\", \"cancel-text\"])\n ]),\n _: 1\n })\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }),\n _createVNode(_component_b_row, null, {\n default: _withCtx(() => [\n _createVNode(_component_b_col, { cols: \"12\" }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_2, [\n (_ctx.type == '0')\n ? (_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n src: 'https://qrgen.lexoh.com/?c=lexohparkingkey:' + _ctx.totp + '@' + _ctx.username,\n width: 200,\n style: {\"width\":\"200px\"}\n }, null, 8, _hoisted_3))\n : _createCommentVNode(\"\", true),\n (_ctx.type == '1')\n ? (_openBlock(), _createElementBlock(\"img\", {\n key: 1,\n src: 'https://qrgen.lexoh.com/?c=lexohparkingqr:' + _ctx.username,\n width: 200,\n style: {\"width\":\"200px\"}\n }, null, 8, _hoisted_4))\n : _createCommentVNode(\"\", true),\n (_ctx.type == '2')\n ? (_openBlock(), _createBlock(_component_vue3_barcode, {\n key: 2,\n value: _ctx.username,\n width: 1,\n height: 50,\n format: \"CODE128\"\n }, null, 8, [\"value\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n (_ctx.type != '0' && _ctx.type != '3')\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 1,\n class: \"btn btn-secondary btn_custom\",\n type: \"button\",\n onClick: _cache[22] || (_cache[22] = ($event: any) => {_ctx.printCoupon();}),\n style: {\"width\":\"100%\",\"margin\":\"20px 0px 0px 0px\"}\n }, _toDisplayString(_ctx.t('print')), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: \"btn btn-secondary btn_custom\",\n type: \"button\",\n onClick: _cache[23] || (_cache[23] = ($event: any) => {_ctx.updateAccessCard();}),\n style: {\"width\":\"100%\",\"margin\":\"20px 0px\"}\n }, _toDisplayString(_ctx.t('save_access_card')), 1)\n ])\n ], 64))\n}","\r\n\timport {\r\n\t\tIonHeader,\r\n\t\tIonTitle,\r\n\t\tIonToolbar,\r\n\t\tIonButton,\r\n\t\tIonButtons,\r\n\t\tIonLabel,\r\n\t\tIonItem,\r\n\t\tIonSelect,\r\n\t\tIonCheckbox,\r\n\t\tIonInput,\r\n\t\tIonSelectOption,\r\n\t\tmodalController,\r\n\t\ttoastController\r\n\t} from \"@ionic/vue\";\r\n\timport { defineComponent } from 'vue';\r\n\timport moment from 'moment-timezone';\r\n\timport Vue3Barcode from 'vue3-barcode'\r\n\timport { useI18n } from 'vue-i18n';\r\n\timport AccessService from '../../services/access.service';\r\n\timport ZoneService from '../../services/zone.service';\r\n\timport TagService from '../../services/tag.service';\r\n\t// import ThermalPrinter from '../../utils/Thermal.js'\r\n\tvar translate;\r\n\texport default defineComponent({\r\n\t\tname: 'EditCustomer',\r\n\t\tcomponents: { Vue3Barcode, IonHeader, IonTitle, IonToolbar, IonInput, IonLabel, IonItem, IonButton, IonButtons, IonSelect, IonSelectOption, IonCheckbox },\r\n\t\tprops: ['isModal', 'access_card'],\r\n\t\tsetup()\r\n\t\t{\r\n\t\t\tconst closeModal = () => {\r\n\t\t\t\tmodalController.dismiss();\r\n\t\t\t};\r\n\t\t\tconst { t } = useI18n({\r\n\t\t\t\tinheritLocale: true,\r\n\t\t\t\tuseScope: 'global'\r\n\t\t\t});\r\n\t\t\ttranslate = t;\r\n\t\t\treturn { closeModal, t };\r\n\t\t},\r\n\t\tdata()\r\n\t\t{\r\n\t\t\treturn {\r\n\t\t\t\tselectedTab: 1,\r\n\t\t\t\tid: '',\r\n\t\t\t\tcustomer_id: '',\r\n\t\t\t\tuser_id: '',\r\n\t\t\t\tusername: '',\r\n\t\t\t\ttotp: '',\r\n\t\t\t\tstatus: '1',\r\n\t\t\t\ttype: '1',\r\n\t\t\t\tzones: [],\r\n\t\t\t\ttags: [],\r\n\t\t\t\tall_zones: [],\r\n\t\t\t\tall_tags: [],\r\n\t\t\t\tmax_entrance: 1,\r\n\t\t\t\tlimits: 0,\r\n\t\t\t\tvalidation_date: moment().format('YYYY-MM-DD'),\r\n\t\t\t\texpiration_date: moment().format('YYYY-MM-DD'),\r\n\t\t\t\tbetween_hours_start: '00:00',\r\n\t\t\t\tbetween_hours_end: '00:00',\r\n\t\t\t\tallow_monday: true,\r\n\t\t\t\tallow_tuesday: true,\r\n\t\t\t\tallow_wednesday: true,\r\n\t\t\t\tallow_thursday: true,\r\n\t\t\t\tallow_friday: true,\r\n\t\t\t\tallow_saturday: true,\r\n\t\t\t\tallow_sunday: true,\r\n\t\t\t\tone_time_only: false,\r\n\t\t\t\thas_subscription: '0',\r\n\t\t\t\t//@ts-ignore\r\n\t\t\t\tlocale: this.$root.$i18n.locale\r\n\t\t\t}\r\n\t\t},\r\n\t\tasync mounted()\r\n\t\t{\r\n\t\t\tawait this.loadZones();\r\n\t\t\tawait this.loadTags();\r\n\t\t\tthis.id = this.access_card.id;\r\n\t\t\tthis.customer_id = this.access_card.customer_id;\r\n\t\t\tthis.user_id = this.access_card.user_id;\r\n\t\t\tthis.username = this.access_card.username;\r\n\t\t\tthis.totp = this.access_card.totp;\r\n\t\t\tthis.status = this.access_card.status ? '1': '0';\r\n\t\t\tthis.type \t\t\t\t = this.access_card.type.toString();\r\n\t\t\t// let zones = this.access_card.zones;\r\n\t\t\t// this.zones = zones.reduce(function(r, e) { r[zones.indexOf(e)] = e; return r; }, []);\r\n\t\t\tthis.zones = this.access_card.zones == null ? [] : this.access_card.zones;\r\n\t\t\tthis.tags = this.access_card.tags == null ? [] : this.access_card.tags;\r\n\t\t\t//Temp fix to ionic not updating its labels correctly with ion-select\r\n\t\t\t// setTimeout(() => {\r\n\t\t\t// \tthis.zones = this.access_card.zones == null ? [] : this.access_card.zones;\r\n\t\t\t// }, 1250);\r\n\t\t\tthis.max_entrance = this.access_card.max_entrance;\r\n\t\t\tthis.limits = this.access_card.limits;\r\n\t\t\tthis.validation_date = moment(this.access_card.validation_date).format('YYYY-MM-DD');\r\n\t\t\tthis.expiration_date = moment(this.access_card.expiration_date).format('YYYY-MM-DD');\r\n\t\t\tthis.between_hours_start = moment(this.access_card.between_hours_start).format('HH:mm');\r\n\t\t\tthis.between_hours_end = moment(this.access_card.between_hours_end).format('HH:mm');\r\n\t\t\tthis.allow_monday \t\t = this.access_card.allow_monday;\r\n\t\t\tthis.allow_tuesday \t\t = this.access_card.allow_tuesday;\r\n\t\t\tthis.allow_wednesday \t = this.access_card.allow_wednesday;\r\n\t\t\tthis.allow_thursday \t = this.access_card.allow_thursday;\r\n\t\t\tthis.allow_friday \t\t = this.access_card.allow_friday;\r\n\t\t\tthis.allow_saturday \t = this.access_card.allow_saturday;\r\n\t\t\tthis.allow_sunday \t\t = this.access_card.allow_sunday;\r\n\t\t\tthis.one_time_only \t\t = this.access_card.one_time_only;\r\n\t\t\tthis.has_subscription = this.access_card.has_subscription ? '1' : '0';\r\n\t\t\tthis.locale \t\t = this.access_card.locale;\r\n\t\t},\r\n\t\tmethods: {\r\n\t\t\tasync loadZones()\r\n\t\t\t{\r\n\t\t\t\tconst response = await ZoneService.getForFilters();\r\n\t\t\t\tif (response.count > 0)\r\n\t\t\t\t{\r\n\t\t\t\t\tthis.all_zones = response.zones;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tasync loadTags()\r\n\t\t\t{\r\n\t\t\t\tconst response = await TagService.getForFilters();\r\n\t\t\t\tif (response.count > 0)\r\n\t\t\t\t{\r\n\t\t\t\t\tthis.all_tags = response.tags;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tasync printCoupon()\r\n\t\t\t{\r\n\t\t\t\ttry\r\n\t\t\t\t{\r\n\t\t\t\t\t//@ts-ignore\r\n\t\t\t\t\tconst locale = this.$root.$i18n.locale;\r\n\t\t\t\t\t//@ts-ignore\r\n\t\t\t\t\tthis.$root.$i18n.locale = this.locale;\r\n\t\t\t\t\t//@ts-ignore\r\n\t\t\t\t\tawait this.$root.printer.PrintAccessCard({\r\n\t\t\t\t\t\tid: this.id.toString(),\r\n\t\t\t\t\t\tusername: this.username,\r\n\t\t\t\t\t\ttotp: this.totp,\r\n\t\t\t\t\t\tstatus: this.status,\r\n\t\t\t\t\t\ttype: this.type,\r\n\t\t\t\t\t\tmax_entrance: this.max_entrance,\r\n\t\t\t\t\t\tlimits: this.limits,\r\n\t\t\t\t\t\tvalidation_date: this.validation_date,\r\n\t\t\t\t\t\texpiration_date: this.expiration_date,\r\n\t\t\t\t\t\tbetween_hours_start: this.between_hours_start,\r\n\t\t\t\t\t\tbetween_hours_end: this.between_hours_end,\r\n\t\t\t\t\t\tallow_monday: this.allow_monday,\r\n\t\t\t\t\t\tallow_tuesday: this.allow_tuesday,\r\n\t\t\t\t\t\tallow_wednesday: this.allow_wednesday,\r\n\t\t\t\t\t\tallow_thursday: this.allow_thursday,\r\n\t\t\t\t\t\tallow_friday: this.allow_friday,\r\n\t\t\t\t\t\tallow_saturday: this.allow_saturday,\r\n\t\t\t\t\t\tallow_sunday: this.allow_sunday,\r\n\t\t\t\t\t\tone_time_only: this.one_time_only\r\n\t\t\t\t\t\t//@ts-ignore\r\n\t\t\t\t\t}, this.$root.$i18n.locale);\r\n\t\t\t\t\t//@ts-ignore\r\n\t\t\t\t\tthis.$root.$i18n.locale = locale;\r\n\t\t\t\t}\r\n\t\t\t\tcatch(error)\r\n\t\t\t\t{\r\n\t\t\t\t\tconsole.error(error);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tasync updateAccessCard()\r\n\t\t\t{\r\n\t\t\t\tif(this.type == '1') this.one_time_only = false;\r\n\t\t\t\tconst response = await AccessService.update(\r\n\t\t\t\t\tthis.id.toString(),\r\n\t\t\t\t\tthis.max_entrance,\r\n\t\t\t\t\tthis.limits,\r\n\t\t\t\t\tthis.status,\r\n\t\t\t\t\tthis.validation_date,\r\n\t\t\t\t\tthis.expiration_date,\r\n\t\t\t\t\tthis.between_hours_start,\r\n\t\t\t\t\tthis.between_hours_end,\r\n\t\t\t\t\tthis.allow_monday,\r\n\t\t\t\t\tthis.allow_tuesday,\r\n\t\t\t\t\tthis.allow_wednesday,\r\n\t\t\t\t\tthis.allow_thursday,\r\n\t\t\t\t\tthis.allow_friday,\r\n\t\t\t\t\tthis.allow_saturday,\r\n\t\t\t\t\tthis.allow_sunday,\r\n\t\t\t\t\tthis.one_time_only,\r\n\t\t\t\t\tthis.username,\r\n\t\t\t\t\tthis.locale,\r\n\t\t\t\t\tJSON.stringify(this.zones),\r\n\t\t\t\t\tJSON.stringify(this.tags),\r\n\t\t\t\t\tparseInt(this.has_subscription) == 1\r\n\t\t\t\t);\r\n\t\t\t\tif(response.success)\r\n\t\t\t\t{\r\n\t\t\t\t\t//@ts-ignore\r\n\t\t\t\t\tthis.$eventBus.emit('refresh_access_cards')\r\n\t\t\t\t\tthis.closeModal();\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\t\tvar message = '';\r\n\t\t\t\t\tif (typeof response.error != 'undefined') {\r\n\t\t\t\t\t\tmessage = response.error;\r\n\t\t\t\t\t} else if(typeof response.errors != 'undefined' && typeof response.errors.message != 'undefined') {\r\n\t\t\t\t\t\tObject.keys(response.errors.message).forEach(key => {\r\n\t\t\t\t\t\t\tmessage += response.errors.message[key] + '.
';\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t\tconst toast = await toastController\r\n\t\t\t\t\t.create({\r\n\t\t\t\t\t\tposition: 'top',\r\n\t\t\t\t\t\theader: translate('access_card_creation_error'),\r\n\t\t\t\t\t\tmessage: translate('error') + ': ' + message,\r\n\t\t\t\t\t\tduration: 2000\r\n\t\t\t\t\t})\r\n\t\t\t\t\treturn toast.present();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\tcomputed: {\r\n\t\t\tdarkMode() {\r\n\t\t\t\treturn document.body.classList.contains('dark');\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n","import { render } from \"./EditAccessPage.vue?vue&type=template&id=6a4c1d96&ts=true\"\nimport script from \"./EditAccessPage.vue?vue&type=script&lang=ts\"\nexport * from \"./EditAccessPage.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"F:\\\\GitHub\\\\lexoh-parking-ionic\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"js/\" + chunkId + \".\" + {\"18\":\"0a9c8f01\",\"74\":\"c94458f7\",\"78\":\"e7c0d360\",\"91\":\"3c978e42\",\"94\":\"febf8f0e\",\"176\":\"f4c98f64\",\"189\":\"fab4fb04\",\"338\":\"8d9d32f8\",\"493\":\"e2f69414\",\"544\":\"4d7ed6e5\",\"576\":\"6107f657\",\"581\":\"1beeb25c\",\"602\":\"eca8943e\",\"735\":\"ac3ff94c\",\"746\":\"74c82ffa\",\"753\":\"af2aa683\",\"756\":\"406b3bdf\",\"773\":\"8db031b2\",\"775\":\"de816bf1\",\"885\":\"6a671ff5\",\"893\":\"eefdf9aa\",\"900\":\"5f2f88d7\",\"903\":\"a3c20ca8\",\"990\":\"94a5db5c\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"css/\" + chunkId + \".\" + {\"18\":\"7c70eb20\",\"91\":\"665a92a0\",\"176\":\"58097762\",\"189\":\"d965d958\",\"493\":\"ef61c025\",\"581\":\"d965d958\",\"602\":\"d965d958\",\"735\":\"6f07e8dc\",\"746\":\"00e5f581\",\"885\":\"26ede040\",\"900\":\"9912fa6c\",\"903\":\"8f58427c\"}[chunkId] + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"lexoh-parking:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\t;\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/\";","var createStylesheet = function(chunkId, fullhref, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tlinkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tdocument.head.appendChild(linkTag);\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"18\":1,\"91\":1,\"176\":1,\"189\":1,\"493\":1,\"581\":1,\"602\":1,\"735\":1,\"746\":1,\"885\":1,\"900\":1,\"903\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunklexoh_parking\"] = self[\"webpackChunklexoh_parking\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(3982); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["webpackEmptyAsyncContext","req","Promise","resolve","then","e","Error","code","keys","id","module","exports","map","webpackContext","webpackContextResolve","__webpack_require__","o","Object","_hoisted_1","key","style","_hoisted_2","_hoisted_3","class","_hoisted_4","_hoisted_5","_hoisted_6","render","_ctx","_cache","$props","$setup","$data","$options","_component_IntroPage","_resolveComponent","_component_LoginPage","_component_Header","_component_SideMenu","_component_ion_router_outlet","_component_IonApp","_openBlock","_createBlock","_normalizeStyle","showIntroPage","default","_withCtx","currentUser","_createElementBlock","includes","this","$route","path","_createVNode","_createElementVNode","_","_withScopeId","n","_pushScopeId","_popScopeId","src","_hoisted_8","_hoisted_9","_component_IosContrastIcon","_component_IosRadioButtonOffIcon","$root","$i18n","locale","toUpperCase","isDarkMode","_createCommentVNode","onClick","$event","toggleDarkTheme","href","switchLocale","_toDisplayString","logout","t","defineComponent","name","components","IosContrastIcon","IosRadioButtonOffIcon","setup","setTimeout","shouldAdd","document","body","classList","contains","getElementById","toggle","useI18n","inheritLocale","useScope","data","mounted","UserService","$router","$store","methods","localStorage","setItem","window","location","reload","dispatch","error","response","errors","message","toString","__exports__","_hoisted_7","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","_hoisted_27","_hoisted_28","_hoisted_29","_hoisted_30","_component_ion_icon","_normalizeClass","push","icon","pieChartOutline","mapOutline","videocamOutline","hardwareChipOutline","personOutline","ticketOutline","documentTextOutline","cashOutline","statsChartOutline","calendarOutline","notificationsOutline","cogOutline","_hoisted_10","_component_ion_title","_component_ion_button","_component_ion_buttons","_component_ion_toolbar","_component_ion_header","_component_ion_label","_component_ion_input","_component_ion_item","_component_b_col","_component_ion_select_option","_component_ion_select","_component_b_row","_component_ion_content","_Fragment","color","darkMode","_createTextVNode","slot","fill","closeModal","cols","sm","md","lg","xl","position","value","ticket_number","onChange","target","interface","modelValue","zone_id","onIonChange","_renderList","all_zones","zone","type","entrance_date","entrance_time","exit_date","exit_time","details","detail","early_amount","early_hours","toFixed","use_daily_max_rate","late_amount","late_hours","normal_hours","normal_amount","normal_days","use_weekly_max_rate","normal_weeks","use_monthly_max_rate","normal_months","price","taxes","tax","rate","amount","big_total","disabled","openPay","readonly","total_amount","amount_paid","rounded_amount","onCashClicked","cash_amount","onCardClicked","card_amount","amount_to_be_paid","cash_back","addCashAmount","translate","IonHeader","IonToolbar","IonTitle","IonButtons","IonButton","IonContent","IonItem","IonInput","props","modalController","created","Math","ceil","watch","handler","async","newValue","calculateAmounts","parseFloat","deep","number_format","c","d","isNaN","abs","undefined","s","i","String","parseInt","Number","j","length","substr","replace","slice","cash","card","editedCash","total_to_be_paid","paying_amount","difference","computed","IonLabel","IonSelect","IonSelectOption","openDevice","modal","component","DeviceModal","cssClass","componentProps","device","present","transaction_id","PayModal","loadZones","checkCalculation","ZoneService","count","zones","calculate","entrance","exit","PricingService","success","isTechnician","state","auth","user","role","IonIcon","openPOS","PosModal","transaction","cartOutline","__default__","IonSlides","IonSlide","arrowForward","skipIntroPage","_defineComponent","__props","fullscreen","_unref","width","for","_component_b_form_input","_component_b_form_select","_component_b_form_checkbox","_component_b_button","onSubmit","_withModifiers","args","handleLogin","username","placeholder","password","language","options","languageOptions","remember","switch","loading","variant","size","getItem","successful","hostname","text","deleteAllCookies","sessionStorage","clear","removeItem","cookies","cookie","split","eqPos","indexOf","isValid","toLocaleLowerCase","result","JSON","parse","toBytes","prototype","arr","charCodeAt","hexToBytes","bytes","EpsonConfig","CTL_LF","CTL_FF","CTL_CR","CTL_HT","CTL_SET_HT","CTL_VT","HW_INIT","HW_SELECT","HW_RESET","BEEP","UPSIDE_DOWN_ON","UPSIDE_DOWN_OFF","CD_KICK_2","CD_KICK_5","PAPER_FULL_CUT","PAPER_PART_CUT","TXT_NORMAL","TXT_2HEIGHT","TXT_2WIDTH","TXT_4SQUARE","TXT_UNDERL_OFF","TXT_UNDERL_ON","TXT_UNDERL2_ON","TXT_BOLD_OFF","TXT_BOLD_ON","TXT_INVERT_OFF","TXT_INVERT_ON","TXT_FONT_A","TXT_FONT_B","TXT_ALIGN_LT","TXT_ALIGN_CT","TXT_ALIGN_RT","CODE_PAGE_PC437_USA","CODE_PAGE_KATAKANA","CODE_PAGE_PC850_MULTILINGUAL","CODE_PAGE_PC860_PORTUGUESE","CODE_PAGE_PC863_CANADIAN_FRENCH","CODE_PAGE_PC865_NORDIC","CODE_PAGE_PC851_GREEK","CODE_PAGE_PC853_TURKISH","CODE_PAGE_PC857_TURKISH","CODE_PAGE_PC737_GREEK","CODE_PAGE_ISO8859_7_GREEK","CODE_PAGE_WPC1252","CODE_PAGE_PC866_CYRILLIC2","CODE_PAGE_PC852_LATIN2","CODE_PAGE_SLOVENIA","CODE_PAGE_PC858_EURO","CODE_PAGE_KU42_THAI","CODE_PAGE_TIS11_THAI","CODE_PAGE_TIS18_THAI","CODE_PAGE_TCVN3_VIETNAMESE_L","CODE_PAGE_TCVN3_VIETNAMESE_U","CODE_PAGE_PC720_ARABIC","CODE_PAGE_WPC775_BALTIC_RIM","CODE_PAGE_PC855_CYRILLIC","CODE_PAGE_PC861_ICELANDIC","CODE_PAGE_PC862_HEBREW","CODE_PAGE_PC864_ARABIC","CODE_PAGE_PC869_GREEK","CODE_PAGE_ISO8859_2_LATIN2","CODE_PAGE_ISO8859_15_LATIN9","CODE_PAGE_PC1098_FARCI","CODE_PAGE_PC1118_LITHUANIAN","CODE_PAGE_PC1119_LITHUANIAN","CODE_PAGE_PC1125_UKRANIAN","CODE_PAGE_WPC1250_LATIN2","CODE_PAGE_WPC1251_CYRILLIC","CODE_PAGE_WPC1253_GREEK","CODE_PAGE_WPC1254_TURKISH","CODE_PAGE_WPC1255_HEBREW","CODE_PAGE_WPC1256_ARABIC","CODE_PAGE_WPC1257_BALTIC_RIM","CODE_PAGE_WPC1258_VIETNAMESE","CODE_PAGE_KZ1048_KAZAKHSTAN","CODE_PAGE_JAPAN","CODE_PAGE_KOREA","CODE_PAGE_CHINA","CODE_PAGE_HK_TW","CODE_PAGE_TCVN_VIETNAMESE","CODE_PAGES","PC437_USA","PC850_MULTILINGUAL","PC860_PORTUGUESE","PC863_CANADIAN_FRENCH","PC865_NORDIC","PC851_GREEK","PC857_TURKISH","PC737_GREEK","ISO8859_7_GREEK","WPC1252","PC866_CYRILLIC2","PC852_LATIN2","SLOVENIA","PC858_EURO","WPC775_BALTIC_RIM","PC855_CYRILLIC","PC861_ICELANDIC","PC862_HEBREW","PC864_ARABIC","PC869_GREEK","ISO8859_2_LATIN2","ISO8859_15_LATIN9","PC1125_UKRANIAN","WPC1250_LATIN2","WPC1251_CYRILLIC","WPC1253_GREEK","WPC1254_TURKISH","WPC1255_HEBREW","WPC1256_ARABIC","WPC1257_BALTIC_RIM","WPC1258_VIETNAMESE","KZ1048_KAZAKHSTAN","JAPAN","KOREA","CHINA","HK_TW","TCVN_VIETNAMESE","BARCODE_TXT_OFF","BARCODE_TXT_ABV","BARCODE_TXT_BLW","BARCODE_TXT_BTH","BARCODE_FONT_A","BARCODE_FONT_B","BARCODE_HEIGHT","BARCODE_WIDTH","BARCODE_UPC_A","BARCODE_UPC_E","BARCODE_EAN13","BARCODE_EAN8","BARCODE_CODE39","BARCODE_CODE128","BARCODE_ITF","BARCODE_NW7","QRCODE_MODEL1","QRCODE_MODEL2","QRCODE_MODEL3","QRCODE_CORRECTION_L","QRCODE_CORRECTION_M","QRCODE_CORRECTION_Q","QRCODE_CORRECTION_H","QRCODE_CELLSIZE_1","QRCODE_CELLSIZE_2","QRCODE_CELLSIZE_3","QRCODE_CELLSIZE_4","QRCODE_CELLSIZE_5","QRCODE_CELLSIZE_6","QRCODE_CELLSIZE_7","QRCODE_CELLSIZE_8","QRCODE_PRINT","PDF417_CORRECTION","PDF417_ROW_HEIGHT","PDF417_WIDTH","PDF417_COLUMNS","PDF417_OPTION_STANDARD","PDF417_OPTION_TRUNCATED","PDF417_PRINT","MAXI_MODE2","MAXI_MODE3","MAXI_MODE4","MAXI_MODE5","MAXI_MODE6","MAXI_PRINT","S_RASTER_N","S_RASTER_2W","S_RASTER_2H","S_RASTER_Q","PD_N50","PD_N37","PD_N25","PD_N12","PD_0","PD_P50","PD_P37","PD_P25","StarConfig","CTL_SET_VT","CD_KICK","BARCODE_CODE128_TEXT_1","BARCODE_CODE128_TEXT_2","BARCODE_CODE128_TEXT_3","BARCODE_CODE128_TEXT_4","BARCODE_CODE128_WIDTH_SMALL","BARCODE_CODE128_WIDTH_MEDIUM","BARCODE_CODE128_WIDTH_LARGE","QRCODE_CELLSIZE","TancaConfig","EpsonPrinter","printer","config","getConfig","append","appendBuffer","buffer","concat","beep","setTextSize","height","x","printQR","str","settings","model","cellSize","correction","lsb","msb","pdf417","rowHeight","columns","truncated","maxiCode","mode","code128","hriPos","hriFont","printBarcode","printImageBuffer","pixels","line","idx","r","g","b","a","imageBufferArray","byte","k","pixel","grayscale","mask","imageBuffer","StarPrinter","correctionLevel","models","correctionLevels","L","M","Q","H","cellSizes","characters","y","TancaPrinter","ThermalPrinter","api","printerName","configName","toLowerCase","characterSet","lineCharacter","setCharacterSet","getOutput","Uint8Array","cut","partialCut","getWidth","getText","getBuffer","setBuffer","newBuffer","add","print","println","printVerticalTab","bold","enabled","underline","underlineThick","upsideDown","invert","openCashDrawer","alignCenter","alignLeft","alignRight","setTypeFontA","setTypeFontB","setTextNormal","setTextDoubleHeight","setTextDoubleWidth","setTextQuadArea","newLine","drawLine","leftRight","left","right","table","cellWidth","spaces","tableCustom","secondLine","secondLineEnabled","tooLong","obj","originalText","substring","align","createImageElement","file","resolved","rejected","Image","onload","w","h","img","getImageData","image","canvas","createElement","ctx","getContext","drawImage","imgData","remove","printImage","url","startsWith","buff","codePage","endBuff","char","Printer","constructor","store","$translate","navigator","usb","addEventListener","event","preferedUSBDevice","vendorId","productId","serialNumber","Printer_lastUsedUSBDevice","RefreshUSBDevices","Printer_USBDevices","SetPreferedUSBDevice","ConfigService","configs","filter","console","access_card","coupontxt","utf8ToAnsi","GetCouponText","GetUSBDevice","thermal","manufacturerName","logo","GetSystemLogo","moment","utcOffset","Timezone","format","max_entrance","validation_date","expiration_date","between_hours_start","between_hours_end","days","allow_monday","allow_tuesday","allow_wednesday","allow_thursday","allow_friday","allow_saturday","allow_sunday","PrintBufferViaUSB","getDevices","requestDevice","filters","opened","open","log","interfaceNumber","configuration","interfaces","claimInterface","outpoint","alternate","endpoints","find","ep","direction","transferOut","endpointNumber","close","WS_URL","SocketService","initialize","app","Socket","WebSocket","onopen","onmessage","evt","json","Action","$eventBus","emit","onclose","send","Header","SideMenu","IonRouterOutlet","IonApp","IntroPage","LoginPage","localDarkMode","prefersDark","matchMedia","matches","addListener","mediaQuery","ellipse","square","triangle","createTranslator","BindListeners","socket","routes","router","createRouter","history","createWebHistory","process","API_URL","AuthService","login","axios","withCredentials","session","register","email","firstname","lastname","phone","secretQuestion","secretAnswer","saveFCM","fcmToken","account_data","stored_used","initialState","status","loggedIn","forgot","namespaced","actions","commit","reject","mutations","loginSuccess","loginFailure","registerSuccess","registerFailure","saveFCMSuccess","account","saveFCMFailure","_user","get","getUserSuccess","getUserFailure","Vuex","modules","serviceWorker","reg","scope","catch","msg","warn","initializeApp","apiKey","authDomain","projectId","storageBucket","messagingSenderId","appId","measurementId","messaging","getMessaging","getToken","vapidKey","currentToken","err","require","i18n","createI18n","messages","createApp","App","use","IonicVue","eventBus","BootstrapVue3","VueApexCharts","VueObserveVisibility","globalProperties","$messaging","firebaseMessaging","mount","AccessService","list","customer_id","user_id","page","search","insert","limits","one_time_only","number_of_access","tags","has_subscription","update","delete","CameraService","showtext","textpositionx","textpositiony","textboxpadding","textboxopacity","fontsize","maxfps","maxrate","buffersize","audio","events","camera_ids","save","category","testMail","port","secured","from_name","from_email","to_email","DeviceService","getDevicesByType","description","serverurl","editConfig","brand","barrier_type","elka_settings","openGate","closeGate","keepGateOpen","duration","lostTicket","reboot","EventService","device_ids","hour_min","hour_max","date_min","date_max","priority","hourly_rate","off_peak_hourly_rate","off_peak_hour_morning_start","off_peak_hour_morning_end","off_peak_hour_evening_start","off_peak_hour_evening_end","daily_max_rate","weekly_max_rate","monthly_max_rate","kw_rate","lost_ticket_rate","getForFilters","calculatePricing","TagService","setStore","setRouter","online","self","stringify","getById","is_ldap","notifications","timezone","adjust_daylight_timezone","daylight_offset","now","Date","getTime","time_now","floor","local_time","is_dst","getMonth","getDate","getDay","ref","autoplay","muted","_component_IonIcon","_resolveDirective","cameraId","draggable","onDragover","onDragstart","handleDragStart","onDragend","handleDragEnd","setTracks","player","play","stop","pause","unmute","_withDirectives","scanOutline","_vShow","isMobile","dragged","iOSCompatControls","retryPause","pc","ws","bufferTimeout","isVideoPlaying","initializeFlussonicPlayer","beforeUnmount","visibilityChanged","isVisible","entry","test","userAgent","removeEventListener","once","video","$refs","controls","playsInline","handleProgress","aPc","PeerConnection","microphoneEnabled","connect","media","RTCPeerConnection","bundlePolicy","iceServers","urls","localTracks","tracks","getMediaTracks","forEach","track","addTransceiver","kind","receiver","srcObject","MediaStream","aPcPromise","binaryType","ev","candidate","createOffer","offer","setLocalDescription","localDescription","sdp","ipRegex","replacedString","addIceCandidate","sdpMid","setRemoteDescription","handleLoadedData","paused","clearTimeout","visibiliytState","onError","handlePlaying","onPlaying","handleError","MediaError","MEDIA_ERR_NETWORK","handleClick","iOSCompatFullScreen","constraints","stream","mediaDevices","getUserMedia","getDisplayMedia","getTracks","$draggedCameraComponent","fullscreenElement","exitFullscreen","msExitFullscreen","mozCancelFullScreen","webkitExitFullscreen","requestFullscreen","pad2","humanTime","utcOrLive","lt","utc","setTime","localTime","getHours","getUTCHours","m","getMinutes","getUTCMinutes","getSeconds","getUTCSeconds","videotrack","audiotrack","hidePlayButton","playButton","display","videoTracksSelect","audioTracksSelect","videoTrackId","selectedIndex","audioTrackId","seek","HTMLInputElement","innerText","from","token","videoQuality","streamer_ws","stream_name","statsSendEnable","statsSendTime","query","qs","decode","host","element","mbrControls","stallingLabel","showStallingIndicator","showFirstFrameUTC","messagesUTC","opts","debug","connectionRetries","errorsBeforeStop","retryMuted","onCrashTryVideoOnly","maxBufferDelay","progressUpdateTime","wsReconnect","onStartStalling","onEndStalling","onSeeked","onProgress","onDisconnect","restart","clearInterval","restartTimer","setInterval","onMediaInfo","rawMetaData","videoOptions","audioOptions","videoTracks","getVideoTracks","audioTracks","getAudioTracks","v","innerHTML","join","onAutoplay","func","onMuted","onMessage","messageStats","messageTimeDiff","onPause","pauseButton","onResume","FlussonicMsePlayer","_component_CameraWebRTCPlayer","_component_b_table","_component_b_pagination","selectedTab","loadingCamera","cameraMonitorId","cameraUrl","keepOpenUntil","triggerKeepGateOpen","hover","outlined","responsive","busy","events_loaded","items","events_items","fields","events_fields","translate_description","openAccessCard","formatDate","events_page","events_rows","min","max","stay_open_time","prewarning_before_opening_time","prewarning_before_closing_time","index","relay_operating_modes","saveDeviceConfig","selectTab","gitNetwork","cog","CameraWebRTCPlayer","cameraSecret","port_trigger_open","port_trigger_close","port_keep_open","port_signal_open","port_signal_close","port_signal_blocked","port_signal_presence","label","sortable","accessCardId","EditAccessPage","calendar","personCircle","camera_id","loadCamera","loadEvents","toast","toastController","header","alert","alertController","buttons","camera","secret","monitorid","date","_component_ion_checkbox","_component_vue3_barcode","multiple","all_tags","tag","totp","printCoupon","updateAccessCard","Vue3Barcode","IonCheckbox","loadTags","PrintAccessCard","__webpack_module_cache__","moduleId","cachedModule","loaded","__webpack_modules__","call","deferred","O","chunkIds","fn","notFulfilled","Infinity","fulfilled","every","splice","getter","__esModule","definition","defineProperty","enumerable","f","chunkId","all","reduce","promises","u","miniCssF","globalThis","Function","prop","hasOwnProperty","inProgress","dataWebpackPrefix","l","done","script","needAttach","scripts","getElementsByTagName","getAttribute","charset","timeout","nc","setAttribute","onScriptComplete","prev","onerror","doneFns","parentNode","removeChild","bind","head","appendChild","Symbol","toStringTag","nmd","paths","children","p","createStylesheet","fullhref","linkTag","rel","onLinkComplete","errorType","realHref","request","findStylesheet","existingLinkTags","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","installedChunks","installedChunkData","promise","loadingEnded","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}