{"version":3,"file":"app.1d067f27.js","mappings":"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","sources":["webpack://googlecalendarsync/./node_modules/moment/locale/ sync ^\\.\\/.*$","webpack://googlecalendarsync/./src/config.ts","webpack://googlecalendarsync/./src/App.vue?1dd2","webpack://googlecalendarsync/./src/App.vue","webpack://googlecalendarsync/./src/App.vue?7ccd","webpack://googlecalendarsync/./src/filters.ts","webpack://googlecalendarsync/./src/plugins/modalPlugin/modalsContainer.vue?0338","webpack://googlecalendarsync/./src/plugins/modalPlugin/modalsContainer.vue","webpack://googlecalendarsync/./src/plugins/modalPlugin/modalBus.ts","webpack://googlecalendarsync/./src/plugins/modalPlugin/modalsContainer.vue?fde4","webpack://googlecalendarsync/./src/plugins/modalPlugin/index.ts","webpack://googlecalendarsync/./src/main.ts","webpack://googlecalendarsync/./src/mixins/withModel.ts","webpack://googlecalendarsync/./src/model.ts","webpack://googlecalendarsync/./src/views/manageSync/routes.ts","webpack://googlecalendarsync/./src/views/manageSync/index.ts","webpack://googlecalendarsync/./src/router/index.ts","webpack://googlecalendarsync/./src/services/CommonServices.ts","webpack://googlecalendarsync/./src/services/LocalizationServices.ts","webpack://googlecalendarsync/./src/services/LoginServices.ts","webpack://googlecalendarsync/./src/services/ModalServices.ts","webpack://googlecalendarsync/./src/services/Services.ts","webpack://googlecalendarsync/./src/services/StorageServices.ts","webpack://googlecalendarsync/./src/store/index.ts","webpack://googlecalendarsync/./src/utils.ts","webpack://googlecalendarsync/./src/components/accordion/accordion.vue?519a","webpack://googlecalendarsync/./src/components/accordion/accordion.vue","webpack://googlecalendarsync/./src/components/accordion/accordion.vue?1f07","webpack://googlecalendarsync/./src/components/errorsTable.vue?38ff","webpack://googlecalendarsync/./src/components/errorsTable.vue","webpack://googlecalendarsync/./src/components/errorsTable.vue?d26c","webpack://googlecalendarsync/./src/components/firstSyncPendingItems.vue?883c","webpack://googlecalendarsync/./src/components/firstSyncPendingItems.vue","webpack://googlecalendarsync/./src/components/firstSyncPendingItems.vue?d648","webpack://googlecalendarsync/./src/components/googleAuthenticate.vue?c864","webpack://googlecalendarsync/./src/components/googleAuthenticate.vue","webpack://googlecalendarsync/./src/components/googleAuthenticate.vue?68ed","webpack://googlecalendarsync/./src/components/googleAuthorize.vue?fcf9","webpack://googlecalendarsync/./src/components/googleAuthorize.vue","webpack://googlecalendarsync/./src/components/googleAuthorize.vue?edbe","webpack://googlecalendarsync/./src/components/localizedText.vue?08d0","webpack://googlecalendarsync/./src/components/localizedText.vue","webpack://googlecalendarsync/./src/components/localizedText.vue?cd4b","webpack://googlecalendarsync/./src/components/marketplaceActivation/marketplaceActivation.vue?9edb","webpack://googlecalendarsync/./src/components/marketplaceActivation/marketplaceActivation.vue","webpack://googlecalendarsync/./src/components/marketplaceActivation/marketplaceActivation.vue?528d","webpack://googlecalendarsync/./src/components/miniSpinner.vue?0228","webpack://googlecalendarsync/./src/components/miniSpinner.vue","webpack://googlecalendarsync/./src/components/miniSpinner.vue?36ff","webpack://googlecalendarsync/./src/components/modals/alertModal.vue?7256","webpack://googlecalendarsync/./src/components/modals/alertModal.vue","webpack://googlecalendarsync/./src/components/modals/alertModal.vue?3d56","webpack://googlecalendarsync/./src/components/modals/confirmModal.vue?a07e","webpack://googlecalendarsync/./src/components/modals/confirmModal.vue","webpack://googlecalendarsync/./src/components/modals/confirmModal.vue?cbf2","webpack://googlecalendarsync/./src/components/modals/inputModal.vue?0c12","webpack://googlecalendarsync/./src/components/modals/inputModal.vue","webpack://googlecalendarsync/./src/components/modals/inputModal.vue?5fe3","webpack://googlecalendarsync/./src/components/opDate.vue?c39e","webpack://googlecalendarsync/./src/components/opDate.vue","webpack://googlecalendarsync/./src/components/opDate.vue?1bd5","webpack://googlecalendarsync/./src/components/opTable/opTable.vue?47a7","webpack://googlecalendarsync/./src/components/opTable/opTable.vue","webpack://googlecalendarsync/./src/components/opTable/opTable.vue?7ec1","webpack://googlecalendarsync/./src/components/opTable/opTableLocal.vue?98ff","webpack://googlecalendarsync/./src/components/opTable/opTableLocal.vue","webpack://googlecalendarsync/./src/components/opTable/opTableLocal.vue?7a9a","webpack://googlecalendarsync/./src/components/opTable/opTableServerSide.vue?4388","webpack://googlecalendarsync/./src/components/opTable/opTableServerSide.vue","webpack://googlecalendarsync/./src/components/opTable/opTableServerSide.vue?5840","webpack://googlecalendarsync/./src/components/toggler.vue?86e3","webpack://googlecalendarsync/./src/components/toggler.vue","webpack://googlecalendarsync/./src/components/toggler.vue?5329","webpack://googlecalendarsync/./src/components/welcomePage.vue","webpack://googlecalendarsync/./src/components/welcomePage.vue?1e2d","webpack://googlecalendarsync/./src/components|sync|C:/.vue$/i","webpack://googlecalendarsync/webpack/bootstrap","webpack://googlecalendarsync/webpack/runtime/chunk loaded","webpack://googlecalendarsync/webpack/runtime/compat get default export","webpack://googlecalendarsync/webpack/runtime/define property getters","webpack://googlecalendarsync/webpack/runtime/ensure chunk","webpack://googlecalendarsync/webpack/runtime/get javascript chunk filename","webpack://googlecalendarsync/webpack/runtime/get mini-css chunk filename","webpack://googlecalendarsync/webpack/runtime/global","webpack://googlecalendarsync/webpack/runtime/hasOwnProperty shorthand","webpack://googlecalendarsync/webpack/runtime/load script","webpack://googlecalendarsync/webpack/runtime/make namespace object","webpack://googlecalendarsync/webpack/runtime/node module decorator","webpack://googlecalendarsync/webpack/runtime/publicPath","webpack://googlecalendarsync/webpack/runtime/css loading","webpack://googlecalendarsync/webpack/runtime/jsonp chunk loading","webpack://googlecalendarsync/webpack/startup"],"sourcesContent":["var map = {\n\t\"./af\": 5177,\n\t\"./af.js\": 5177,\n\t\"./ar\": 1509,\n\t\"./ar-dz\": 1488,\n\t\"./ar-dz.js\": 1488,\n\t\"./ar-kw\": 8676,\n\t\"./ar-kw.js\": 8676,\n\t\"./ar-ly\": 2353,\n\t\"./ar-ly.js\": 2353,\n\t\"./ar-ma\": 4496,\n\t\"./ar-ma.js\": 4496,\n\t\"./ar-ps\": 6947,\n\t\"./ar-ps.js\": 6947,\n\t\"./ar-sa\": 2682,\n\t\"./ar-sa.js\": 2682,\n\t\"./ar-tn\": 9756,\n\t\"./ar-tn.js\": 9756,\n\t\"./ar.js\": 1509,\n\t\"./az\": 5533,\n\t\"./az.js\": 5533,\n\t\"./be\": 8959,\n\t\"./be.js\": 8959,\n\t\"./bg\": 7777,\n\t\"./bg.js\": 7777,\n\t\"./bm\": 4903,\n\t\"./bm.js\": 4903,\n\t\"./bn\": 1290,\n\t\"./bn-bd\": 7357,\n\t\"./bn-bd.js\": 7357,\n\t\"./bn.js\": 1290,\n\t\"./bo\": 1545,\n\t\"./bo.js\": 1545,\n\t\"./br\": 1470,\n\t\"./br.js\": 1470,\n\t\"./bs\": 4429,\n\t\"./bs.js\": 4429,\n\t\"./ca\": 7306,\n\t\"./ca.js\": 7306,\n\t\"./cs\": 6464,\n\t\"./cs.js\": 6464,\n\t\"./cv\": 3635,\n\t\"./cv.js\": 3635,\n\t\"./cy\": 4226,\n\t\"./cy.js\": 4226,\n\t\"./da\": 3601,\n\t\"./da.js\": 3601,\n\t\"./de\": 7853,\n\t\"./de-at\": 6111,\n\t\"./de-at.js\": 6111,\n\t\"./de-ch\": 4697,\n\t\"./de-ch.js\": 4697,\n\t\"./de.js\": 7853,\n\t\"./dv\": 708,\n\t\"./dv.js\": 708,\n\t\"./el\": 4691,\n\t\"./el.js\": 4691,\n\t\"./en-au\": 3872,\n\t\"./en-au.js\": 3872,\n\t\"./en-ca\": 8298,\n\t\"./en-ca.js\": 8298,\n\t\"./en-gb\": 6195,\n\t\"./en-gb.js\": 6195,\n\t\"./en-ie\": 6584,\n\t\"./en-ie.js\": 6584,\n\t\"./en-il\": 5543,\n\t\"./en-il.js\": 5543,\n\t\"./en-in\": 9033,\n\t\"./en-in.js\": 9033,\n\t\"./en-nz\": 9402,\n\t\"./en-nz.js\": 9402,\n\t\"./en-sg\": 3004,\n\t\"./en-sg.js\": 3004,\n\t\"./eo\": 2934,\n\t\"./eo.js\": 2934,\n\t\"./es\": 7650,\n\t\"./es-do\": 838,\n\t\"./es-do.js\": 838,\n\t\"./es-mx\": 7730,\n\t\"./es-mx.js\": 7730,\n\t\"./es-us\": 6575,\n\t\"./es-us.js\": 6575,\n\t\"./es.js\": 7650,\n\t\"./et\": 3035,\n\t\"./et.js\": 3035,\n\t\"./eu\": 3508,\n\t\"./eu.js\": 3508,\n\t\"./fa\": 119,\n\t\"./fa.js\": 119,\n\t\"./fi\": 527,\n\t\"./fi.js\": 527,\n\t\"./fil\": 5995,\n\t\"./fil.js\": 5995,\n\t\"./fo\": 2477,\n\t\"./fo.js\": 2477,\n\t\"./fr\": 5498,\n\t\"./fr-ca\": 6435,\n\t\"./fr-ca.js\": 6435,\n\t\"./fr-ch\": 7892,\n\t\"./fr-ch.js\": 7892,\n\t\"./fr.js\": 5498,\n\t\"./fy\": 7071,\n\t\"./fy.js\": 7071,\n\t\"./ga\": 1734,\n\t\"./ga.js\": 1734,\n\t\"./gd\": 217,\n\t\"./gd.js\": 217,\n\t\"./gl\": 7329,\n\t\"./gl.js\": 7329,\n\t\"./gom-deva\": 2124,\n\t\"./gom-deva.js\": 2124,\n\t\"./gom-latn\": 3383,\n\t\"./gom-latn.js\": 3383,\n\t\"./gu\": 5050,\n\t\"./gu.js\": 5050,\n\t\"./he\": 1713,\n\t\"./he.js\": 1713,\n\t\"./hi\": 3861,\n\t\"./hi.js\": 3861,\n\t\"./hr\": 6308,\n\t\"./hr.js\": 6308,\n\t\"./hu\": 609,\n\t\"./hu.js\": 609,\n\t\"./hy-am\": 7160,\n\t\"./hy-am.js\": 7160,\n\t\"./id\": 4063,\n\t\"./id.js\": 4063,\n\t\"./is\": 9374,\n\t\"./is.js\": 9374,\n\t\"./it\": 8383,\n\t\"./it-ch\": 1827,\n\t\"./it-ch.js\": 1827,\n\t\"./it.js\": 8383,\n\t\"./ja\": 3827,\n\t\"./ja.js\": 3827,\n\t\"./jv\": 9722,\n\t\"./jv.js\": 9722,\n\t\"./ka\": 1794,\n\t\"./ka.js\": 1794,\n\t\"./kk\": 7088,\n\t\"./kk.js\": 7088,\n\t\"./km\": 6870,\n\t\"./km.js\": 6870,\n\t\"./kn\": 4451,\n\t\"./kn.js\": 4451,\n\t\"./ko\": 3164,\n\t\"./ko.js\": 3164,\n\t\"./ku\": 8174,\n\t\"./ku-kmr\": 6181,\n\t\"./ku-kmr.js\": 6181,\n\t\"./ku.js\": 8174,\n\t\"./ky\": 8474,\n\t\"./ky.js\": 8474,\n\t\"./lb\": 9680,\n\t\"./lb.js\": 9680,\n\t\"./lo\": 5867,\n\t\"./lo.js\": 5867,\n\t\"./lt\": 5766,\n\t\"./lt.js\": 5766,\n\t\"./lv\": 9532,\n\t\"./lv.js\": 9532,\n\t\"./me\": 8076,\n\t\"./me.js\": 8076,\n\t\"./mi\": 1848,\n\t\"./mi.js\": 1848,\n\t\"./mk\": 306,\n\t\"./mk.js\": 306,\n\t\"./ml\": 3739,\n\t\"./ml.js\": 3739,\n\t\"./mn\": 9053,\n\t\"./mn.js\": 9053,\n\t\"./mr\": 6169,\n\t\"./mr.js\": 6169,\n\t\"./ms\": 3386,\n\t\"./ms-my\": 2297,\n\t\"./ms-my.js\": 2297,\n\t\"./ms.js\": 3386,\n\t\"./mt\": 7075,\n\t\"./mt.js\": 7075,\n\t\"./my\": 2264,\n\t\"./my.js\": 2264,\n\t\"./nb\": 2274,\n\t\"./nb.js\": 2274,\n\t\"./ne\": 8235,\n\t\"./ne.js\": 8235,\n\t\"./nl\": 2572,\n\t\"./nl-be\": 3784,\n\t\"./nl-be.js\": 3784,\n\t\"./nl.js\": 2572,\n\t\"./nn\": 4566,\n\t\"./nn.js\": 4566,\n\t\"./oc-lnc\": 9330,\n\t\"./oc-lnc.js\": 9330,\n\t\"./pa-in\": 9849,\n\t\"./pa-in.js\": 9849,\n\t\"./pl\": 4418,\n\t\"./pl.js\": 4418,\n\t\"./pt\": 9834,\n\t\"./pt-br\": 8303,\n\t\"./pt-br.js\": 8303,\n\t\"./pt.js\": 9834,\n\t\"./ro\": 4457,\n\t\"./ro.js\": 4457,\n\t\"./ru\": 2271,\n\t\"./ru.js\": 2271,\n\t\"./sd\": 1221,\n\t\"./sd.js\": 1221,\n\t\"./se\": 3478,\n\t\"./se.js\": 3478,\n\t\"./si\": 7538,\n\t\"./si.js\": 7538,\n\t\"./sk\": 5784,\n\t\"./sk.js\": 5784,\n\t\"./sl\": 6637,\n\t\"./sl.js\": 6637,\n\t\"./sq\": 6794,\n\t\"./sq.js\": 6794,\n\t\"./sr\": 5719,\n\t\"./sr-cyrl\": 3322,\n\t\"./sr-cyrl.js\": 3322,\n\t\"./sr.js\": 5719,\n\t\"./ss\": 6000,\n\t\"./ss.js\": 6000,\n\t\"./sv\": 1011,\n\t\"./sv.js\": 1011,\n\t\"./sw\": 748,\n\t\"./sw.js\": 748,\n\t\"./ta\": 1025,\n\t\"./ta.js\": 1025,\n\t\"./te\": 1885,\n\t\"./te.js\": 1885,\n\t\"./tet\": 8861,\n\t\"./tet.js\": 8861,\n\t\"./tg\": 6571,\n\t\"./tg.js\": 6571,\n\t\"./th\": 5802,\n\t\"./th.js\": 5802,\n\t\"./tk\": 9527,\n\t\"./tk.js\": 9527,\n\t\"./tl-ph\": 9231,\n\t\"./tl-ph.js\": 9231,\n\t\"./tlh\": 1052,\n\t\"./tlh.js\": 1052,\n\t\"./tr\": 5096,\n\t\"./tr.js\": 5096,\n\t\"./tzl\": 9846,\n\t\"./tzl.js\": 9846,\n\t\"./tzm\": 1765,\n\t\"./tzm-latn\": 7711,\n\t\"./tzm-latn.js\": 7711,\n\t\"./tzm.js\": 1765,\n\t\"./ug-cn\": 8414,\n\t\"./ug-cn.js\": 8414,\n\t\"./uk\": 6618,\n\t\"./uk.js\": 6618,\n\t\"./ur\": 158,\n\t\"./ur.js\": 158,\n\t\"./uz\": 7609,\n\t\"./uz-latn\": 2475,\n\t\"./uz-latn.js\": 2475,\n\t\"./uz.js\": 7609,\n\t\"./vi\": 1135,\n\t\"./vi.js\": 1135,\n\t\"./x-pseudo\": 4051,\n\t\"./x-pseudo.js\": 4051,\n\t\"./yo\": 2218,\n\t\"./yo.js\": 2218,\n\t\"./zh-cn\": 2648,\n\t\"./zh-cn.js\": 2648,\n\t\"./zh-hk\": 1632,\n\t\"./zh-hk.js\": 1632,\n\t\"./zh-mo\": 1541,\n\t\"./zh-mo.js\": 1541,\n\t\"./zh-tw\": 304,\n\t\"./zh-tw.js\": 304\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 = 5358;","let _baseUrl = process.env.VUE_APP_BASEURL;\r\nlet _webappUrl = process.env.VUE_APP_WEBAPP_URL;\r\nlet _appMode = process.env.VUE_APP_MODE;\r\n\r\nexport let baseUrl = _baseUrl;\r\nexport let webappUrl = _webappUrl;\r\nexport let appMode = _appMode","import { openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, createBlock as _createBlock, Fragment as _Fragment } from \"vue\"\n\nconst _hoisted_1 = {\n  key: 0,\n  id: \"appComponent\"\n}\nconst _hoisted_2 = {\n  key: 0,\n  class: \"testlabel\"\n}\nconst _hoisted_3 = {\n  key: 1,\n  class: \"globalSpinner\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n  const _component_mini_spinner = _resolveComponent(\"mini-spinner\")!\n  const _component_localized_text = _resolveComponent(\"localized-text\")!\n  const _component_router_view = _resolveComponent(\"router-view\")!\n  const _component_marketplace_activation = _resolveComponent(\"marketplace-activation\")!\n  const _component_welcome_page = _resolveComponent(\"welcome-page\")!\n  const _component_modals_container = _resolveComponent(\"modals-container\")!\n\n  return (_ctx.showApp)\n    ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n        (_ctx.$store.state.isTestMode())\n          ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, \" modalità test \"))\n          : _createCommentVNode(\"\", true),\n        (_ctx.$store.state.globalSpinner > 0)\n          ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n              _createVNode(_component_mini_spinner)\n            ]))\n          : _createCommentVNode(\"\", true),\n        (_ctx.underMaintenance)\n          ? (_openBlock(), _createBlock(_component_localized_text, {\n              key: 2,\n              localizedKey: \"Il servizio è attualmente in manutenzione.\",\n              text: \"Il servizio è attualmente in manutenzione.\"\n            }))\n          : (_openBlock(), _createElementBlock(_Fragment, { key: 3 }, [\n              (_ctx.isActivated)\n                ? (_openBlock(), _createBlock(_component_router_view, { key: 0 }))\n                : (_ctx.isActivation)\n                  ? (_openBlock(), _createBlock(_component_marketplace_activation, { key: 1 }))\n                  : (_openBlock(), _createBlock(_component_welcome_page, { key: 2 })),\n              _createVNode(_component_modals_container)\n            ], 64))\n      ]))\n    : _createCommentVNode(\"\", true)\n}","<template>\r\n    <div id=\"appComponent\" v-if=\"showApp\">\r\n        <div class=\"testlabel\" v-if=\"$store.state.isTestMode()\">\r\n            modalità test\r\n        </div>\r\n        <div class=\"globalSpinner\" v-if=\"$store.state.globalSpinner > 0\">\r\n            <mini-spinner></mini-spinner>\r\n        </div>\r\n\r\n        <template v-if=\"underMaintenance\">\r\n            <localized-text localizedKey=\"Il servizio è attualmente in manutenzione.\" text=\"Il servizio è attualmente in manutenzione.\"></localized-text>\r\n        </template>\r\n        <template v-else>\r\n            <template v-if=\"isActivated\">\r\n                <router-view></router-view>\r\n            </template>\r\n            <template v-else-if=\"isActivation\">\r\n                <marketplace-activation></marketplace-activation>\r\n            </template>\r\n            <template v-else>\r\n                <welcome-page></welcome-page>\r\n            </template>\r\n            <modals-container></modals-container>\r\n        </template>\r\n    </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { Options, Vue } from 'vue-class-component';\r\nimport { CommonServices } from './services/CommonServices';\r\nimport { ModalServices } from './services/ModalServices';\r\nimport { LocalizedClient, MarketplaceClient } from './services/Services';\r\nimport { StorageServices } from './services/StorageServices';\r\nimport store from './store';\r\nimport {LoginServices} from './services/LoginServices';\r\n\r\n@Options({})\r\nexport default class App extends Vue {\r\n\r\n    showApp: boolean = false;\r\n    isActivation: boolean = false;\r\n    isActivated: boolean = false;\r\n    underMaintenance: boolean = false;\r\n\r\n    created(){\r\n\r\n        // if((store.state.getParameters.customerWebId != \"web72211\" && store.state.getParameters.customerWebId != \"web98489\") && !this.$store.state.isTestMode()){\r\n        //     this.underMaintenance = true;\r\n        //     this.showApp = true;\r\n        //     return;\r\n        // }\r\n\r\n\r\n        ModalServices.setOpModal(this.$opModal);\r\n\r\n        CommonServices.unauthorizedCb = () => {\r\n            store.state.isGoogleAuthorized = false;\r\n        }\r\n\r\n        let proms: any[] = [\r\n            LocalizedClient.getAll(),\r\n            LocalizedClient.getEnabledLanguages(),\r\n        ];\r\n        Promise.all(proms)\r\n        .then(xs => {\r\n            store.state.consts.localizedValues = xs[0];\r\n            store.state.consts.enabledLanguages = xs[1];\r\n            if(!store.state.selectedLanguage){\r\n                store.state.selectedLanguage = xs[1][0];\r\n            }\r\n            if(store.state.loginResponse){\r\n                LoginServices.loginCallback(store.state.loginResponse);\r\n            }\r\n        })\r\n        \r\n        window.onGoogleLibraryLoad = () => {\r\n        };\r\n\r\n        if(window.location.href.indexOf(\"activate\") > -1){\r\n            this.isActivation = true;\r\n            this.showApp = true;\r\n            return;\r\n        }\r\n\r\n        MarketplaceClient.checkActivation(store.state.getParameters.customerWebId)\r\n        .then(x => {\r\n            if(x || this.$store.state.isTestMode()){\r\n                this.isActivated = true;\r\n                this.showApp = true;\r\n            } else {\r\n                this.showApp = true;\r\n            }\r\n        })\r\n    }\r\n\r\n}\r\n</script>","import { render } from \"./App.vue?vue&type=template&id=78d0c5a3&ts=true\"\nimport script from \"./App.vue?vue&type=script&lang=ts\"\nexport * from \"./App.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import Vue from 'vue';\r\nimport moment from 'moment';\r\nimport * as OM from '@/model';\r\n\r\nexport default {\r\n    date(value: any, _format: string = 'DD/MM/YYYY', _showTime: boolean = false) {\r\n        if (value) {\r\n            let format;\r\n            if(!_format){\r\n                format = 'DD/MM/YYYY';\r\n            } else {\r\n                format = _format;\r\n            }\r\n            if(_showTime)\r\n                format += ' HH:mm:ss';\r\n            return moment(value).locale('it').format(format);\r\n        }\r\n    },\r\n\r\n    int(value: any) {\r\n        if (value || value == 0) {\r\n            return Math.round(value);\r\n        }\r\n    },\r\n\r\n    currency(value: any, decimals: number = 2) {\r\n        if (value || value == 0) {\r\n            let val = (value/1).toFixed(decimals).replace('.', ',')\r\n            return val.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \".\")\r\n        }\r\n    },\r\n\r\n    perc(value: any, decimals: number) {\r\n        if(!decimals)\r\n            decimals = 0;\r\n        if (value || value == 0) {\r\n            return (value * 100).toFixed(decimals);\r\n        }\r\n    },\r\n\r\n    daysPeriod(value: any) {\r\n        if (!value)\r\n            return value;\r\n        \r\n        if(value < 365)\r\n            return value;\r\n        else if(value < 1080)\r\n            return value;\r\n        else\r\n            return parseFloat((value / 365).toFixed(1));\r\n    },\r\n}\r\n","import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveDynamicComponent as _resolveDynamicComponent, mergeProps as _mergeProps, createBlock as _createBlock, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-7aedd305\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = [\"onMousedown\", \"onMouseup\", \"onTouchstart\", \"onTouchend\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n  return (_openBlock(), _createElementBlock(\"div\", {\n    class: _normalizeClass([\"__modalsContainer\", { '__show': _ctx.items.length > 0 }])\n  }, [\n    (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.items, (item, i) => {\n      return (_openBlock(), _createElementBlock(\"div\", {\n        class: \"__modalBg\",\n        key: i,\n        ref_for: true,\n        ref: '__modalBg' + i,\n        onMousedown: ($event: any) => (_ctx.onDownBg($event, i)),\n        onMouseup: ($event: any) => (_ctx.onUpBg($event, i)),\n        onTouchstart: ($event: any) => (_ctx.onDownBg($event, i)),\n        onTouchend: ($event: any) => (_ctx.onUpBg($event, i))\n      }, [\n        (_openBlock(), _createBlock(_resolveDynamicComponent(item.modalComponent), _mergeProps(item.props, {\n          onClose: ($event: any) => (_ctx.closeModal(i))\n        }), null, 16, [\"onClose\"]))\n      ], 40, _hoisted_1))\n    }), 128))\n  ], 2))\n}","<template>\r\n    <div class=\"__modalsContainer\" :class=\"{ '__show': items.length > 0 }\">\r\n        <div class=\"__modalBg\" v-for=\"(item, i) in items\" :key=\"i\" :ref=\"'__modalBg' + i\" \r\n            @mousedown=\"onDownBg($event, i)\" @mouseup=\"onUpBg($event, i)\" \r\n            @touchstart=\"onDownBg($event, i)\" @touchend=\"onUpBg($event, i)\">\r\n            <component :is=\"item.modalComponent\" v-bind=\"item.props\" @close=\"closeModal(i)\">\r\n            </component>\r\n        </div>\r\n    </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\n\r\nimport { Options, Vue } from 'vue-class-component';\r\nimport { ModalBus } from './modalBus';\r\nimport { ModalInput } from './classes'\r\nimport { markRaw } from 'vue';\r\n\r\n@Options({})\r\nexport default class ModalsContainer extends Vue {\r\n\r\n    items: ModalInput[] = [];\r\n    //modalsContainer: any;\r\n\r\n    created(){\r\n        ModalBus.registerAddModalCallback((item, props, closeCallback = null) => {\r\n            this.items.push({\r\n                modalComponent: markRaw(item),\r\n                props: props,\r\n                closeCallback: closeCallback\r\n            })\r\n            document.body.classList.add('__modal-open');\r\n        })\r\n        ModalBus.registerCloseLastModal(this.closeLastModal);\r\n        ModalBus.setModalsArray(this.items);\r\n    }\r\n\r\n    // mounted(){\r\n    //     this.modalsContainer = this.$refs.modalsContainer;\r\n    // }\r\n\r\n    hasMouseDown: boolean;\r\n    onDownBg(ev, i){\r\n        if(ev.target == this.$refs['__modalBg' + i][0]){\r\n            this.hasMouseDown = true;\r\n        }\r\n    }\r\n    onUpBg(ev, i){\r\n        if(this.hasMouseDown){\r\n            this.hasMouseDown = false;\r\n            if(ev.target == this.$refs['__modalBg' + i][0]){\r\n                this.closeLastModal();\r\n            }\r\n        }\r\n    }\r\n\r\n    closeModal(index){\r\n        let removed = this.items.splice(index, 1)[0];\r\n        if(removed.closeCallback){\r\n            removed.closeCallback();\r\n        }\r\n        if(this.items.length == 0){\r\n            document.body.classList.remove('__modal-open');\r\n        }\r\n    }\r\n    closeFromBg(ev){\r\n        this.closeLastModal();\r\n    }\r\n    closeLastModal(){\r\n        let removed = this.items.pop();\r\n        if(removed.closeCallback){\r\n            removed.closeCallback();\r\n        }\r\n        if(this.items.length == 0){\r\n            document.body.classList.remove('__modal-open');\r\n        }\r\n    }\r\n\r\n}\r\n</script>\r\n\r\n<style scoped>\r\n\r\n    .__modalsContainer {\r\n        position: fixed;\r\n        left: 0;\r\n        top: 0;\r\n        height: 100vh;\r\n        width: 100vw;\r\n        overflow: auto;\r\n        display: none;\r\n        z-index: 999;\r\n    }\r\n\r\n    .__modalBg {\r\n        width: 100%;\r\n        height: 100%;\r\n        position: absolute;\r\n        top: 0;\r\n        left: 0;\r\n        right: 0;\r\n        bottom: 0;\r\n        background-color: rgba(0,0,0,0.4);\r\n        overflow-y: auto;\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n    }\r\n\r\n    .__show {\r\n        display: flex;\r\n    }\r\n\r\n</style>\r\n<style>\r\nbody.__modal-open {\r\n    overflow: hidden;\r\n}\r\n</style>","import { ModalInput } from './classes'\r\nclass _ModalBus {\r\n\r\n    addModalCb: any;\r\n    registerAddModalCallback(cb){\r\n        this.addModalCb = cb;\r\n    }\r\n    addModal(item, props, closeCallback){\r\n        this.addModalCb(item, props, closeCallback);\r\n    }\r\n    \r\n    closeLastModalCb: any;\r\n    registerCloseLastModal(cb){\r\n        this.closeLastModal = cb;\r\n    }\r\n    closeLastModal(){\r\n        this.closeLastModalCb();\r\n    }\r\n\r\n    modals: ModalInput[];\r\n    setModalsArray(arr: ModalInput[]){\r\n        this.modals = arr;\r\n    }\r\n\r\n}\r\n\r\nexport const ModalBus = new _ModalBus();","import { render } from \"./modalsContainer.vue?vue&type=template&id=7aedd305&scoped=true&ts=true\"\nimport script from \"./modalsContainer.vue?vue&type=script&lang=ts\"\nexport * from \"./modalsContainer.vue?vue&type=script&lang=ts\"\n\nimport \"./modalsContainer.vue?vue&type=style&index=0&id=7aedd305&scoped=true&lang=css\"\nimport \"./modalsContainer.vue?vue&type=style&index=1&id=7aedd305&lang=css\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-7aedd305\"]])\n\nexport default __exports__","import ModalsContainer from './modalsContainer.vue';\r\nimport { ModalBus } from './modalBus';\r\n\r\nexport default {\r\n    install (app, options = {}) {\r\n        if (this.installed) {\r\n            return\r\n        }\r\n\r\n        app.component('ModalsContainer', ModalsContainer);\r\n        this.installed = true\r\n        \r\n        app.config.globalProperties.$opModal = {\r\n            modals: ModalBus.modals,\r\n            show (modal, props, closeCallback = null) {\r\n                ModalBus.addModal(modal, props, closeCallback);\r\n            },\r\n            closeLast() {\r\n                ModalBus.closeLastModal();\r\n            }\r\n        }\r\n    }\r\n}","import { createApp } from 'vue'\r\nimport App from './App.vue'\r\nimport router from './router'\r\nimport store from './store'\r\n\r\nimport 'bootstrap/dist/css/bootstrap.min.css';\r\nimport '@/css/op-table.css';\r\nimport '@/css/style.css';\r\n\r\nimport FILTERS from '@/filters';\r\nimport OpModal from '@/plugins/modalPlugin';\r\nimport { CommonServices } from './services/CommonServices';\r\nimport marketplaceActivation from '@/components/marketplaceActivation/marketplaceActivation.vue';\r\nimport { LocalizationServices } from './services/LocalizationServices';\r\n\r\nconst app = createApp(App)\r\n.use(store)\r\n.use(router)\r\n.use(OpModal);\r\n\r\napp.config.globalProperties.$filters = FILTERS;\r\napp.config.globalProperties.$localizationServices = LocalizationServices;\r\nconst ComponentContext = require.context('./components', true, /\\.vue$/i);\r\nComponentContext.keys().forEach(fileName => {\r\n    var component = ComponentContext(fileName);\r\n    let componentName = fileName.split('/').pop().split('.')[0];\r\n    app.component(componentName, (<any>component).default || component);\r\n})\r\n\r\napp.mount('#app');\r\n\r\nCommonServices.showSpinnerCb = () => {\r\n    store.state.globalSpinner++;\r\n}\r\nCommonServices.hideSpinnerCb = () => {\r\n    store.state.globalSpinner--;\r\n    if(store.state.globalSpinner < 0){\r\n        store.state.globalSpinner = 0;\r\n    }\r\n}\r\n","import { Options, Vue } from 'vue-class-component';\r\nimport { Prop, Watch } from 'vue-property-decorator';\r\n\r\n@Options({})\r\nexport default class WithModel extends Vue {\r\n    \r\n    @Prop() modelValue: any;\r\n\r\n    localValue: any = null;\r\n\r\n    @Watch('modelValue')\r\n    onModelValueChange(next, prev){\r\n        this.localValue = next;\r\n    }\r\n\r\n    created(){\r\n        this.localValue = this.modelValue;\r\n\r\n    }\r\n\r\n    emitModel(val: any){\r\n        this.$emit(\"update:modelValue\", val);\r\n    }\r\n\r\n}","//----------------------\r\n// <auto-generated>\r\n//     Generated using the NSwag toolchain v13.20.0.0 (NJsonSchema v10.9.0.0 (Newtonsoft.Json v13.0.0.0)) (http://NSwag.org)\r\n// </auto-generated>\r\n//----------------------\r\n\r\n/* tslint:disable */\r\n/* eslint-disable */\r\n// ReSharper disable InconsistentNaming\r\n\r\n\r\n\r\nexport class NameId {\r\n    name : string;\r\n    id : string;\r\n\r\n    constructor() \r\n    {\r\n    \t            this.name = \"\" ;\r\n                this.id = \"\" ;\r\n        }\r\n}\r\n\r\nexport class GoogleGroupUsersPair {\r\n    googleName : string;\r\n    googleEmails : string[];\r\n\r\n    constructor() \r\n    {\r\n    \t            this.googleName = \"\" ;\r\n                this.googleEmails = [];\r\n        }\r\n}\r\n\r\nexport class Event {\r\n    anyoneCanAddSelf : boolean;\r\n    attachments : EventAttachment[];\r\n    attendees : EventAttendee[];\r\n    attendeesOmitted : boolean;\r\n    colorId : string;\r\n    conferenceData : ConferenceData;\r\n    created : string;\r\n    creator : CreatorData;\r\n    description : string;\r\n    end : EventDateTime;\r\n    endTimeUnspecified : boolean;\r\n    etag : string;\r\n    eventType : string;\r\n    extendedProperties : ExtendedPropertiesData;\r\n    focusTimeProperties : EventFocusTimeProperties;\r\n    gadget : GadgetData;\r\n    guestsCanInviteOthers : boolean;\r\n    guestsCanModify : boolean;\r\n    guestsCanSeeOtherGuests : boolean;\r\n    hangoutLink : string;\r\n    htmlLink : string;\r\n    iCalUID : string;\r\n    id : string;\r\n    kind : string;\r\n    location : string;\r\n    locked : boolean;\r\n    organizer : OrganizerData;\r\n    originalStartTime : EventDateTime;\r\n    outOfOfficeProperties : EventOutOfOfficeProperties;\r\n    privateCopy : boolean;\r\n    recurrence : string[];\r\n    recurringEventId : string;\r\n    reminders : RemindersData;\r\n    sequence : number;\r\n    source : SourceData;\r\n    start : EventDateTime;\r\n    status : string;\r\n    summary : string;\r\n    transparency : string;\r\n    updated : string;\r\n    visibility : string;\r\n    workingLocationProperties : EventWorkingLocationProperties;\r\n\r\n    constructor() \r\n    {\r\n    \t            this.anyoneCanAddSelf = false ;\r\n                this.attachments = [];\r\n                this.attendees = [];\r\n                this.attendeesOmitted = false ;\r\n                this.colorId = \"\" ;\r\n                this.conferenceData = new ConferenceData();\r\n                this.created = \"\" ;\r\n                this.creator = new CreatorData();\r\n                this.description = \"\" ;\r\n                this.end = new EventDateTime();\r\n                this.endTimeUnspecified = false ;\r\n                this.etag = \"\" ;\r\n                this.eventType = \"\" ;\r\n                this.extendedProperties = new ExtendedPropertiesData();\r\n                this.focusTimeProperties = new EventFocusTimeProperties();\r\n                this.gadget = new GadgetData();\r\n                this.guestsCanInviteOthers = false ;\r\n                this.guestsCanModify = false ;\r\n                this.guestsCanSeeOtherGuests = false ;\r\n                this.hangoutLink = \"\" ;\r\n                this.htmlLink = \"\" ;\r\n                this.iCalUID = \"\" ;\r\n                this.id = \"\" ;\r\n                this.kind = \"\" ;\r\n                this.location = \"\" ;\r\n                this.locked = false ;\r\n                this.organizer = new OrganizerData();\r\n                this.originalStartTime = new EventDateTime();\r\n                this.outOfOfficeProperties = new EventOutOfOfficeProperties();\r\n                this.privateCopy = false ;\r\n                this.recurrence = [];\r\n                this.recurringEventId = \"\" ;\r\n                this.reminders = new RemindersData();\r\n                this.sequence = null ;\r\n                this.source = new SourceData();\r\n                this.start = new EventDateTime();\r\n                this.status = \"\" ;\r\n                this.summary = \"\" ;\r\n                this.transparency = \"\" ;\r\n                this.updated = \"\" ;\r\n                this.visibility = \"\" ;\r\n                this.workingLocationProperties = new EventWorkingLocationProperties();\r\n        }\r\n}\r\n\r\nexport class GoogleEventWithCalendar extends Event {\r\n\r\n    constructor() \r\n    {\r\n    \t        super();\r\n\t\t    }\r\n}\r\n\r\nexport class EventAttachment {\r\n    fileId : string;\r\n    fileUrl : string;\r\n    iconLink : string;\r\n    mimeType : string;\r\n    title : string;\r\n    eTag : string;\r\n\r\n    constructor() \r\n    {\r\n    \t            this.fileId = \"\" ;\r\n                this.fileUrl = \"\" ;\r\n                this.iconLink = \"\" ;\r\n                this.mimeType = \"\" ;\r\n                this.title = \"\" ;\r\n                this.eTag = \"\" ;\r\n        }\r\n}\r\n\r\nexport class EventAttendee {\r\n    additionalGuests : number;\r\n    comment : string;\r\n    displayName : string;\r\n    email : string;\r\n    id : string;\r\n    optional : boolean;\r\n    organizer : boolean;\r\n    resource : boolean;\r\n    responseStatus : string;\r\n    self : boolean;\r\n    eTag : string;\r\n\r\n    constructor() \r\n    {\r\n    \t            this.additionalGuests = null ;\r\n                this.comment = \"\" ;\r\n                this.displayName = \"\" ;\r\n                this.email = \"\" ;\r\n                this.id = \"\" ;\r\n                this.optional = false ;\r\n                this.organizer = false ;\r\n                this.resource = false ;\r\n                this.responseStatus = \"\" ;\r\n                this.self = false ;\r\n                this.eTag = \"\" ;\r\n        }\r\n}\r\n\r\nexport class ConferenceData {\r\n    conferenceId : string;\r\n    conferenceSolution : ConferenceSolution;\r\n    createRequest : CreateConferenceRequest;\r\n    entryPoints : EntryPoint[];\r\n    notes : string;\r\n    parameters : ConferenceParameters;\r\n    signature : string;\r\n    eTag : string;\r\n\r\n    constructor() \r\n    {\r\n    \t            this.conferenceId = \"\" ;\r\n                this.conferenceSolution = new ConferenceSolution();\r\n                this.createRequest = new CreateConferenceRequest();\r\n                this.entryPoints = [];\r\n                this.notes = \"\" ;\r\n                this.parameters = new ConferenceParameters();\r\n                this.signature = \"\" ;\r\n                this.eTag = \"\" ;\r\n        }\r\n}\r\n\r\nexport class ConferenceSolution {\r\n    iconUri : string;\r\n    key : ConferenceSolutionKey;\r\n    name : string;\r\n    eTag : string;\r\n\r\n    constructor() \r\n    {\r\n    \t            this.iconUri = \"\" ;\r\n                this.key = new ConferenceSolutionKey();\r\n                this.name = \"\" ;\r\n                this.eTag = \"\" ;\r\n        }\r\n}\r\n\r\nexport class ConferenceSolutionKey {\r\n    type : string;\r\n    eTag : string;\r\n\r\n    constructor() \r\n    {\r\n    \t            this.type = \"\" ;\r\n                this.eTag = \"\" ;\r\n        }\r\n}\r\n\r\nexport class CreateConferenceRequest {\r\n    conferenceSolutionKey : ConferenceSolutionKey;\r\n    requestId : string;\r\n    status : ConferenceRequestStatus;\r\n    eTag : string;\r\n\r\n    constructor() \r\n    {\r\n    \t            this.conferenceSolutionKey = new ConferenceSolutionKey();\r\n                this.requestId = \"\" ;\r\n                this.status = new ConferenceRequestStatus();\r\n                this.eTag = \"\" ;\r\n        }\r\n}\r\n\r\nexport class ConferenceRequestStatus {\r\n    statusCode : string;\r\n    eTag : string;\r\n\r\n    constructor() \r\n    {\r\n    \t            this.statusCode = \"\" ;\r\n                this.eTag = \"\" ;\r\n        }\r\n}\r\n\r\nexport class EntryPoint {\r\n    accessCode : string;\r\n    entryPointFeatures : string[];\r\n    entryPointType : string;\r\n    label : string;\r\n    meetingCode : string;\r\n    passcode : string;\r\n    password : string;\r\n    pin : string;\r\n    regionCode : string;\r\n    uri : string;\r\n    eTag : string;\r\n\r\n    constructor() \r\n    {\r\n    \t            this.accessCode = \"\" ;\r\n                this.entryPointFeatures = [];\r\n                this.entryPointType = \"\" ;\r\n                this.label = \"\" ;\r\n                this.meetingCode = \"\" ;\r\n                this.passcode = \"\" ;\r\n                this.password = \"\" ;\r\n                this.pin = \"\" ;\r\n                this.regionCode = \"\" ;\r\n                this.uri = \"\" ;\r\n                this.eTag = \"\" ;\r\n        }\r\n}\r\n\r\nexport class ConferenceParameters {\r\n    addOnParameters : ConferenceParametersAddOnParameters;\r\n    eTag : string;\r\n\r\n    constructor() \r\n    {\r\n    \t            this.addOnParameters = new ConferenceParametersAddOnParameters();\r\n                this.eTag = \"\" ;\r\n        }\r\n}\r\n\r\nexport class ConferenceParametersAddOnParameters {\r\n    parameters : { [key: string]: string; };\r\n    eTag : string;\r\n\r\n    constructor() \r\n    {\r\n    \t            this.parameters = {};\r\n                this.eTag = \"\" ;\r\n        }\r\n}\r\n\r\nexport class CreatorData {\r\n    displayName : string;\r\n    email : string;\r\n    id : string;\r\n    self : boolean;\r\n\r\n    constructor() \r\n    {\r\n    \t            this.displayName = \"\" ;\r\n                this.email = \"\" ;\r\n                this.id = \"\" ;\r\n                this.self = false ;\r\n        }\r\n}\r\n\r\nexport class EventDateTime {\r\n    date : string;\r\n    dateTime : string;\r\n    timeZone : string;\r\n    eTag : string;\r\n\r\n    constructor() \r\n    {\r\n    \t            this.date = \"\" ;\r\n                this.dateTime = \"\" ;\r\n                this.timeZone = \"\" ;\r\n                this.eTag = \"\" ;\r\n        }\r\n}\r\n\r\nexport class ExtendedPropertiesData {\r\n    private : { [key: string]: string; };\r\n    shared : { [key: string]: string; };\r\n\r\n    constructor() \r\n    {\r\n    \t            this.private = {};\r\n                this.shared = {};\r\n        }\r\n}\r\n\r\nexport class EventFocusTimeProperties {\r\n    autoDeclineMode : string;\r\n    chatStatus : string;\r\n    declineMessage : string;\r\n    eTag : string;\r\n\r\n    constructor() \r\n    {\r\n    \t            this.autoDeclineMode = \"\" ;\r\n                this.chatStatus = \"\" ;\r\n                this.declineMessage = \"\" ;\r\n                this.eTag = \"\" ;\r\n        }\r\n}\r\n\r\nexport class GadgetData {\r\n    display : string;\r\n    height : number;\r\n    iconLink : string;\r\n    link : string;\r\n    preferences : { [key: string]: string; };\r\n    title : string;\r\n    type : string;\r\n    width : number;\r\n\r\n    constructor() \r\n    {\r\n    \t            this.display = \"\" ;\r\n                this.height = null ;\r\n                this.iconLink = \"\" ;\r\n                this.link = \"\" ;\r\n                this.preferences = {};\r\n                this.title = \"\" ;\r\n                this.type = \"\" ;\r\n                this.width = null ;\r\n        }\r\n}\r\n\r\nexport class OrganizerData {\r\n    displayName : string;\r\n    email : string;\r\n    id : string;\r\n    self : boolean;\r\n\r\n    constructor() \r\n    {\r\n    \t            this.displayName = \"\" ;\r\n                this.email = \"\" ;\r\n                this.id = \"\" ;\r\n                this.self = false ;\r\n        }\r\n}\r\n\r\nexport class EventOutOfOfficeProperties {\r\n    autoDeclineMode : string;\r\n    declineMessage : string;\r\n    eTag : string;\r\n\r\n    constructor() \r\n    {\r\n    \t            this.autoDeclineMode = \"\" ;\r\n                this.declineMessage = \"\" ;\r\n                this.eTag = \"\" ;\r\n        }\r\n}\r\n\r\nexport class RemindersData {\r\n    overrides : EventReminder[];\r\n    useDefault : boolean;\r\n\r\n    constructor() \r\n    {\r\n    \t            this.overrides = [];\r\n                this.useDefault = false ;\r\n        }\r\n}\r\n\r\nexport class EventReminder {\r\n    method : string;\r\n    minutes : number;\r\n    eTag : string;\r\n\r\n    constructor() \r\n    {\r\n    \t            this.method = \"\" ;\r\n                this.minutes = null ;\r\n                this.eTag = \"\" ;\r\n        }\r\n}\r\n\r\nexport class SourceData {\r\n    title : string;\r\n    url : string;\r\n\r\n    constructor() \r\n    {\r\n    \t            this.title = \"\" ;\r\n                this.url = \"\" ;\r\n        }\r\n}\r\n\r\nexport class EventWorkingLocationProperties {\r\n    customLocation : CustomLocationData;\r\n    homeOffice : any;\r\n    officeLocation : OfficeLocationData;\r\n    type : string;\r\n    eTag : string;\r\n\r\n    constructor() \r\n    {\r\n    \t            this.customLocation = new CustomLocationData();\r\n                this.homeOffice = null;\r\n                this.officeLocation = new OfficeLocationData();\r\n                this.type = \"\" ;\r\n                this.eTag = \"\" ;\r\n        }\r\n}\r\n\r\nexport class CustomLocationData {\r\n    label : string;\r\n\r\n    constructor() \r\n    {\r\n    \t            this.label = \"\" ;\r\n        }\r\n}\r\n\r\nexport class OfficeLocationData {\r\n    buildingId : string;\r\n    deskId : string;\r\n    floorId : string;\r\n    floorSectionId : string;\r\n    label : string;\r\n\r\n    constructor() \r\n    {\r\n    \t            this.buildingId = \"\" ;\r\n                this.deskId = \"\" ;\r\n                this.floorId = \"\" ;\r\n                this.floorSectionId = \"\" ;\r\n                this.label = \"\" ;\r\n        }\r\n}\r\n\r\nexport class KeyValuePairOfStringAndString {\r\n    key : string;\r\n    value : string;\r\n\r\n    constructor() \r\n    {\r\n    \t            this.key = \"\" ;\r\n                this.value = \"\" ;\r\n        }\r\n}\r\n\r\nexport class LocalizedValue {\r\n    values : { [key: string]: string; };\r\n\r\n    constructor() \r\n    {\r\n    \t            this.values = {};\r\n        }\r\n}\r\n\r\nexport class LocalizedEntity extends LocalizedValue {\r\n    key : string;\r\n    identifier : string;\r\n\r\n    constructor() \r\n    {\r\n    \t        super();\r\n\t\t            this.key = \"\" ;\r\n                this.identifier = \"\" ;\r\n        }\r\n}\r\n\r\nexport class LoginResponse {\r\n    userId : string;\r\n    isAdmin : boolean;\r\n    webUserId : string;\r\n    username : string;\r\n    token : string;\r\n\r\n    constructor() \r\n    {\r\n    \t            this.userId = \"\" ;\r\n                this.isAdmin = false ;\r\n                this.webUserId = \"\" ;\r\n                this.username = \"\" ;\r\n                this.token = \"\" ;\r\n        }\r\n}\r\n\r\nexport class GetGroupsResponse {\r\n    onOfficeGroupId : number;\r\n    onOfficeName : string;\r\n    onOfficeUserIds : number[];\r\n\r\n    constructor() \r\n    {\r\n    \t            this.onOfficeGroupId = null ;\r\n                this.onOfficeName = \"\" ;\r\n                this.onOfficeUserIds = [];\r\n        }\r\n}\r\n\r\nexport class GetUserByEmailResponse {\r\n    vorname : string;\r\n    nachname : string;\r\n    name : string;\r\n    email : string;\r\n    nr : string;\r\n    online : string;\r\n\r\n    constructor() \r\n    {\r\n    \t            this.vorname = \"\" ;\r\n                this.nachname = \"\" ;\r\n                this.name = \"\" ;\r\n                this.email = \"\" ;\r\n                this.nr = \"\" ;\r\n                this.online = \"\" ;\r\n        }\r\n}\r\n\r\nexport class UserWithAuthStatus {\r\n    identifier : string;\r\n    firstname : string;\r\n    lastname : string;\r\n    email : string;\r\n    username : string;\r\n    googleEmail : string;\r\n    googleAuthDone : boolean;\r\n    isSyncActive : boolean;\r\n\r\n    constructor() \r\n    {\r\n    \t            this.identifier = \"\" ;\r\n                this.firstname = \"\" ;\r\n                this.lastname = \"\" ;\r\n                this.email = \"\" ;\r\n                this.username = \"\" ;\r\n                this.googleEmail = \"\" ;\r\n                this.googleAuthDone = false ;\r\n                this.isSyncActive = false ;\r\n        }\r\n}\r\n\r\nexport class BaseEntity {\r\n    identifier : string;\r\n    createdOn : string ;\r\n    modifiedOn : string ;\r\n    disabledOn : string ;\r\n    disabled : boolean;\r\n\r\n    constructor() \r\n    {\r\n    \t            this.identifier = \"\" ;\r\n                this.createdOn = null;\r\n                this.modifiedOn = null;\r\n                this.disabledOn = null;\r\n                this.disabled = false ;\r\n        }\r\n}\r\n\r\nexport class SyncConfig extends BaseEntity {\r\n    webUserId : string;\r\n    isSyncEnabled : boolean;\r\n    lastSyncedOn : string ;\r\n    nextSyncOn : string ;\r\n    googleCalendarsToSync : NameId[];\r\n    useDedicatedCalendar : boolean;\r\n    dedicatedCalendarName : string;\r\n    previousMonthsToSync : number;\r\n    afterMonthsToSync : number;\r\n    syncFrequency : number;\r\n    syncFromOnOfficeToGoogle : boolean;\r\n    syncFromGoogleToOnOffice : boolean;\r\n    resourcesMap : NameIdResourcePair[];\r\n    groupsMap : GroupsPair[];\r\n    usersMap : UsersPair[];\r\n    useCalendarsAsUsers : boolean;\r\n    vonUsersMap : VonUserNameIdPair[];\r\n    createNewAddressTask : boolean;\r\n\r\n    constructor() \r\n    {\r\n    \t        super();\r\n\t\t            this.webUserId = \"\" ;\r\n                this.isSyncEnabled = false ;\r\n                this.lastSyncedOn = null;\r\n                this.nextSyncOn = null;\r\n                this.googleCalendarsToSync = [];\r\n                this.useDedicatedCalendar = false ;\r\n                this.dedicatedCalendarName = \"\" ;\r\n                this.previousMonthsToSync = null ;\r\n                this.afterMonthsToSync = null ;\r\n                this.syncFrequency = null ;\r\n                this.syncFromOnOfficeToGoogle = false ;\r\n                this.syncFromGoogleToOnOffice = false ;\r\n                this.resourcesMap = [];\r\n                this.groupsMap = [];\r\n                this.usersMap = [];\r\n                this.useCalendarsAsUsers = false ;\r\n                this.vonUsersMap = [];\r\n                this.createNewAddressTask = false ;\r\n        }\r\n}\r\n\r\nexport class NameIdResourcePair {\r\n    nameId : NameId;\r\n    keyValue : { [key: string]: string; };\r\n    isCalendar : boolean;\r\n\r\n    constructor() \r\n    {\r\n    \t            this.nameId = new NameId();\r\n                this.keyValue = {};\r\n                this.isCalendar = false ;\r\n        }\r\n}\r\n\r\nexport class GroupsPair {\r\n    onOfficeGroupId : number;\r\n    onOfficeName : string;\r\n    onOfficeUserIds : number[];\r\n    googleName : string;\r\n    googleEmails : string[];\r\n\r\n    constructor() \r\n    {\r\n    \t            this.onOfficeGroupId = null ;\r\n                this.onOfficeName = \"\" ;\r\n                this.onOfficeUserIds = [];\r\n                this.googleName = \"\" ;\r\n                this.googleEmails = [];\r\n        }\r\n}\r\n\r\nexport class UsersPair {\r\n    onOfficeUser : GetUserByEmailResponse;\r\n    googleEmail : string;\r\n\r\n    constructor() \r\n    {\r\n    \t            this.onOfficeUser = new GetUserByEmailResponse();\r\n                this.googleEmail = \"\" ;\r\n        }\r\n}\r\n\r\nexport class VonUserNameIdPair {\r\n    vonUser : GetUserByEmailResponse;\r\n    googleCalendar : NameId;\r\n\r\n    constructor() \r\n    {\r\n    \t            this.vonUser = new GetUserByEmailResponse();\r\n                this.googleCalendar = new NameId();\r\n        }\r\n}\r\n\r\nexport class SyncError extends BaseEntity {\r\n    onOfficeUserIds : OnOfficeUserIds;\r\n    eventIdPair : EventIdPair;\r\n    exceptionJson : string;\r\n    message : string;\r\n    dismissed : boolean;\r\n\r\n    constructor() \r\n    {\r\n    \t        super();\r\n\t\t            this.onOfficeUserIds = new OnOfficeUserIds();\r\n                this.eventIdPair = new EventIdPair();\r\n                this.exceptionJson = \"\" ;\r\n                this.message = \"\" ;\r\n                this.dismissed = false ;\r\n        }\r\n}\r\n\r\nexport class OnOfficeUserIds {\r\n    userId : string;\r\n    webUserId : string;\r\n    username : string;\r\n\r\n    constructor() \r\n    {\r\n    \t            this.userId = \"\" ;\r\n                this.webUserId = \"\" ;\r\n                this.username = \"\" ;\r\n        }\r\n}\r\n\r\nexport class EventIdPair {\r\n    onOfficeId : number;\r\n    googleId : string;\r\n    eventOrigin : string;\r\n    eventCalendarId : string;\r\n    googleLastModified : string ;\r\n    onOfficeLastModified : string ;\r\n    status : string;\r\n\r\n    constructor() \r\n    {\r\n    \t            this.onOfficeId = null ;\r\n                this.googleId = \"\" ;\r\n                this.eventOrigin = \"\" ;\r\n                this.eventCalendarId = \"\" ;\r\n                this.googleLastModified = null;\r\n                this.onOfficeLastModified = null;\r\n                this.status = \"\" ;\r\n        }\r\n}\r\n\r\nexport class FirstSyncVm {\r\n    usernames : string[];\r\n    startDate : string ;\r\n    endDate : string ;\r\n    webUserId : string;\r\n\r\n    constructor() \r\n    {\r\n    \t            this.usernames = [];\r\n                this.startDate = null;\r\n                this.endDate = null;\r\n                this.webUserId = \"\" ;\r\n        }\r\n}\r\n\r\nexport class User extends BaseEntity {\r\n    userIds : OnOfficeUserIds;\r\n    googleAuthData : GoogleAuthorizationResponse;\r\n    calendarsToSync : NameId[];\r\n    hasRevokedAuth : boolean;\r\n    isSyncEnabled : boolean;\r\n    lastSyncedOn : string ;\r\n\r\n    constructor() \r\n    {\r\n    \t        super();\r\n\t\t            this.userIds = new OnOfficeUserIds();\r\n                this.googleAuthData = new GoogleAuthorizationResponse();\r\n                this.calendarsToSync = [];\r\n                this.hasRevokedAuth = false ;\r\n                this.isSyncEnabled = false ;\r\n                this.lastSyncedOn = null;\r\n        }\r\n}\r\n\r\nexport class GoogleAuthorizationResponse {\r\n    access_token : string;\r\n    refresh_token : string;\r\n    expires_in : number;\r\n    scope : string;\r\n    token_type : string;\r\n    id_token : string;\r\n    googleEmail : string;\r\n\r\n    constructor() \r\n    {\r\n    \t            this.access_token = \"\" ;\r\n                this.refresh_token = \"\" ;\r\n                this.expires_in = null ;\r\n                this.scope = \"\" ;\r\n                this.token_type = \"\" ;\r\n                this.id_token = \"\" ;\r\n                this.googleEmail = \"\" ;\r\n        }\r\n}\r\n\r\nexport interface FileResponse {\r\n    data: Blob;\r\n    status: number;\r\n    fileName?: string;\r\n    headers?: { [name: string]: any };\r\n}","import store from '@/store';\r\nimport { RouteRecordRaw } from 'vue-router';\r\n\r\nexport default (): Array<RouteRecordRaw> => {\r\n    return [\r\n        {\r\n            path: '/menu',\r\n            name: 'menu',\r\n            component: () => import('./views/menu.vue'),\r\n        },\r\n        {\r\n            path: '/manageDuplicates',\r\n            name: 'manageDuplicates',\r\n            component: () => import('./views/manageDuplicates.vue'),\r\n        },\r\n        {\r\n            path: '/manageSync',\r\n            name: 'manageSync',\r\n            component: () => import('./views/manageSync.vue'),\r\n        },\r\n        {\r\n            path: '/info',\r\n            name: 'info',\r\n            component: () => import('./views/info.vue'),\r\n        },\r\n    ];\r\n};","import routes from './routes';\r\n\r\nexport default {\r\n    routes\r\n};","import manageSync from '@/views/manageSync'\r\nimport { createRouter, createWebHashHistory, createWebHistory, RouteRecordRaw } from 'vue-router'\r\n\r\nconst routes: Array<RouteRecordRaw> = [\r\n    {\r\n        path: '/',\r\n        name: 'login',\r\n        component: () => import('@/views/login.vue')\r\n    },\r\n    {\r\n        path: '/dictionary',\r\n        name: 'dictionary',\r\n        component: () => import('@/views/dictionary.vue')\r\n    },\r\n    {\r\n        path: '/',\r\n        name: 'layout',\r\n        component: () => import('@/views/layout.vue'),\r\n        children: [\r\n            ...manageSync.routes(),\r\n        ]\r\n    },\r\n]\r\n\r\nconst router = createRouter({\r\n    history: createWebHashHistory(),\r\n    routes\r\n})\r\n\r\nexport default router\r\n","import Axios, { AxiosInstance, AxiosPromise, AxiosRequestConfig } from 'axios';\r\n\r\nclass _CommonServices {\r\n\r\n    showSpinnerCb = () => {};\r\n    hideSpinnerCb = () => {};\r\n    unauthorizedCb = () => {};\r\n\r\n    defaultGet<T = any>(url: string, params?: any, _showSpinner = true): Promise<T> {\r\n        let req: AxiosRequestConfig = {\r\n            params\r\n        };\r\n        if(_showSpinner)\r\n            this.showSpinnerCb();\r\n        let prom = new Promise<T>((resolve, reject) => {\r\n            Axios.get<T>(url, req)\r\n            .then(x => {\r\n                resolve(x.data);\r\n            }).catch( err => {\r\n                reject(err);\r\n            })\r\n            .finally(() => {\r\n                if(_showSpinner)\r\n                    this.hideSpinnerCb();\r\n            });\r\n        });\r\n        return prom;\r\n    }\r\n    defaultPost<T = any>(url: string, data?: any, config?: AxiosRequestConfig, _showSpinner = true): Promise<T> {\r\n        if(_showSpinner)\r\n            this.showSpinnerCb()\r\n        let prom = new Promise<T>((resolve, reject) => {\r\n            Axios.post(url, data, config).then(x => {\r\n                resolve(x.data);\r\n            }).catch( err => {\r\n                reject(err);\r\n            })\r\n            .finally(() => {\r\n                if(_showSpinner)\r\n                    this.hideSpinnerCb();\r\n            });\r\n        });\r\n        return prom;\r\n    }\r\n    uploadFileToUrl<T = any>(url: string, params: { [key: string]: any }, \r\n        onUploadProgress?: (progress: number) => void, _showSpinner = true): Promise<T> {\r\n        var data = new FormData();\r\n        if (params) {\r\n            for (var key in params) {\r\n                data.append(key, params[key]);\r\n            }\r\n        }\r\n        var config = {\r\n            onUploadProgress: function (ev: any) {\r\n                if(typeof onUploadProgress == 'function')\r\n                    onUploadProgress((100 * ev.loaded) / ev.total);\r\n            }\r\n        };\r\n        if(_showSpinner)\r\n            this.showSpinnerCb()\r\n        let prom = new Promise<T>((resolve, reject) => {\r\n            Axios.post<T>(url, data, config).then(x => {\r\n                resolve(x.data);\r\n            })\r\n            .catch( err => {\r\n                reject(err);\r\n            })\r\n            .finally(() => {\r\n                if(_showSpinner)\r\n                    this.hideSpinnerCb();\r\n            });\r\n        });\r\n        return prom;\r\n    }\r\n    setAuthToken(token: string) {\r\n        Axios.defaults.headers.common['Authorization'] = \"Bearer \" + token;\r\n        window.localStorage.setItem('authtoken', token);\r\n    }\r\n    getAuthToken() {\r\n        return window.localStorage.getItem('authtoken');\r\n    }\r\n    destroyToken() {\r\n        Axios.defaults.headers.common['Authorization'] = \"\";\r\n        window.localStorage.removeItem('authtoken');\r\n    }\r\n    constructor() {\r\n        let token = window.localStorage.getItem('authtoken');\r\n        if (token){\r\n            this.setAuthToken(token);\r\n        }\r\n        Axios.defaults.headers.common['Access-Control-Allow-Origin'] = \"*\";\r\n        Axios.defaults.headers.common['Access-Control-Allow-Headers'] = \"*\";\r\n        Axios.interceptors.response.use((response) => {\r\n            return response;\r\n        }, (error) => {\r\n            if(!error)\r\n                return Promise.reject();\r\n\r\n            if(!error.response)\r\n                return Promise.reject(error);\r\n\r\n            if (error.response.status == 401 && error.response.data == \"token_expired\") {\r\n                this.unauthorizedCb();\r\n            } else if (error.response.status[0] == 5) {\r\n                console.log(\"500\");\r\n                console.log(error);\r\n            } else {\r\n                if(error.response.data)\r\n                    return Promise.reject(error.response.data);\r\n                else\r\n                    return Promise.reject(error);\r\n            }\r\n        });\r\n    }\r\n}\r\n\r\nexport let CommonServices = new _CommonServices();","import store from '@/store';\r\nimport * as OM from '@/model';\r\nimport { StorageServices } from '@/services/StorageServices';\r\nimport { LocalizedClient } from './Services';\r\n\r\nclass _LocalizationServices {\r\n    \r\n    constructor() {\r\n        store.state.selectedLanguage = StorageServices.getSelectedLanguage();\r\n        if (!store.state.selectedLanguage) {\r\n            var keys = Object.keys(store.state.consts.enabledLanguages);\r\n            store.state.selectedLanguage = store.state.consts.enabledLanguages[keys[0]];\r\n        }\r\n    }\r\n    \r\n    SetLanguage(language: string) {\r\n        store.state.selectedLanguage = language;\r\n        StorageServices.setSelectedLanguage(language);\r\n    }\r\n\r\n    GetLanguage() {\r\n        return store.state.selectedLanguage;\r\n    }\r\n    \r\n    GetLocalizedValue(key: string, value: string, afterText: string = '', prevText: string = '', object: any = null): string {\r\n        var existing = store.state.consts.localizedValues.find(x => x.key == key);\r\n        let result;\r\n        if(existing) {\r\n            var selectedCulture = store.state.selectedLanguage;\r\n            result = existing.values[selectedCulture];\r\n        } else {\r\n            var newValue = new OM.KeyValuePairOfStringAndString();\r\n            newValue.key = key;\r\n            newValue.value = value;\r\n            LocalizedClient.saveAnonymousLocalizedValue(newValue, false)\r\n            .then(x => {\r\n                var newLocalizedValue = new OM.LocalizedEntity();\r\n                newLocalizedValue.key = key;\r\n                newLocalizedValue.identifier = \"\";\r\n                \r\n                store.state.consts.enabledLanguages.forEach(x => {\r\n                    newLocalizedValue.values[x] = value;\r\n                })\r\n                store.state.consts.localizedValues.push(newLocalizedValue);\r\n            })\r\n            result = value;\r\n        }\r\n        result = this.replaceText(result, object);\r\n        return prevText + result + afterText;\r\n    }\r\n\r\n    replaceText(text: string, object: any): string {\r\n        if(!object)\r\n            return text;\r\n        \r\n        while(text.indexOf('{{') != -1){\r\n            var init = text.indexOf(\"{{\");\r\n            var end = text.indexOf(\"}}\");\r\n    \r\n            if(init == -1 || end == -1)\r\n                break;\r\n            \r\n            var textToReplace = text.substring(init, text.length - (text.length - end) + 2);\r\n            var variableName = textToReplace.substring(2, textToReplace.length - 2);\r\n            \r\n            if(object[variableName] == null || object[variableName] == undefined){\r\n                console.error(\"Variabile: \" + variableName + \" non esistente nell'oggetto\");\r\n                break;\r\n            }\r\n    \r\n            text = text.replace(textToReplace, object[variableName]);\r\n        }\r\n    \r\n        return text;\r\n    }\r\n\r\n}\r\nexport let LocalizationServices = new _LocalizationServices();\r\n","import { baseUrl } from '@/config';\r\nimport * as OM from '@/model'\r\nimport router from '@/router';\r\nimport store from \"@/store\";\r\nimport { CommonServices } from './CommonServices';\r\nimport { StorageServices } from \"./StorageServices\";\r\nimport { UserClient } from './Services';\r\n\r\nclass _LoginServices {\r\n\r\n    loginCallback(loginResponse: OM.LoginResponse){\r\n        store.state.loginResponse = loginResponse;\r\n        StorageServices.setLoginResponse(loginResponse);\r\n        CommonServices.setAuthToken(loginResponse.token);\r\n        return UserClient.getUser(store.state.loginResponse.userId, store.state.loginResponse.webUserId)\r\n        .then(x => {\r\n            if(x){\r\n                store.state.isGoogleAuthorized = true;\r\n                store.state.user = x;\r\n                if(router.currentRoute.value.name == \"dictionary\")\r\n                    return;\r\n                \r\n            } else {\r\n                store.state.isGoogleAuthorized = false;\r\n                //router.push('/menu');\r\n            }\r\n        })\r\n        .catch(err => {\r\n            console.log(\"catchato\");\r\n        })\r\n    }\r\n\r\n}\r\n\r\nexport let LoginServices = new _LoginServices();\r\n","import { IModalPlugin } from '@/plugins/modalPlugin/modalPlugin';\r\nimport AlertModal from '@/components/modals/alertModal.vue';\r\nimport ConfirmModal from '@/components/modals/confirmModal.vue';\r\nimport InputModal from '@/components/modals/inputModal.vue';\r\n\r\nclass _ModalServices {\r\n    \r\n    $opModal: any;\r\n    setOpModal(input: IModalPlugin){\r\n        this.$opModal = input;\r\n    }\r\n\r\n    alertModal(title: string, text: string, okText?: string, okCallback?: () => void ){\r\n        okText = okText || \"OK\";\r\n        this.$opModal.show(AlertModal, {\r\n            title,\r\n            text,\r\n            okText,\r\n            okCallback\r\n        })\r\n    }\r\n\r\n    confirmModal(title: string, text: string, okText?: string, koText?: string, okCallback?: () => void, koCallback?: () => void ){\r\n        okText = okText || \"OK\";\r\n        this.$opModal.show(ConfirmModal, {\r\n            title,\r\n            text,\r\n            okText,\r\n            koText,\r\n            okCallback,\r\n            koCallback\r\n        })\r\n    }\r\n\r\n    inputModal(title: string, text: string, okText: string, koText: string, value: string, \r\n            placeholder: string, okCallback: (input: string) => void, koCallback?: () => void){\r\n\r\n        okText = okText || \"OK\";\r\n        koText = koText || \"Annulla\";\r\n        placeholder = placeholder || \"Scrivi qui\";\r\n        this.$opModal.show(InputModal, {\r\n            title,\r\n            text,\r\n            okText,\r\n            koText,\r\n            value,\r\n            placeholder,\r\n            okCallback,\r\n            koCallback\r\n        })\r\n    }\r\n\r\n}\r\n\r\nexport let ModalServices = new _ModalServices();","//----------------------\r\n// <auto-generated>\r\n//     Generated using the NSwag toolchain v13.20.0.0 (NJsonSchema v10.9.0.0 (Newtonsoft.Json v13.0.0.0)) (http://NSwag.org)\r\n// </auto-generated>\r\n//----------------------\r\n\r\n/* tslint:disable */\r\n/* eslint-disable */\r\n// ReSharper disable InconsistentNaming\r\n\r\nimport { CommonServices } from \"@/services/CommonServices\";\r\nimport * as OM from \"@/model\";\r\nimport { baseUrl } from '@/config';\r\n\r\nclass _GoogleCalendarClient {\r\n\r\n    \r\n\r\n                \r\n            getCalendarsOfUser(\r\n                onOfficeUserId?:string,\r\n                onOfficeWebUserId?:string,showSpinner = true): Promise<OM.NameId[]> {\r\n                        return CommonServices.defaultGet<OM.NameId[]>(baseUrl + 'api/GoogleCalendar/GetCalendarsOfUser',{ onOfficeUserId, onOfficeWebUserId }, showSpinner);\r\n\r\n                    }\r\n    \r\n\r\n                \r\n            getGroups(\r\n                onOfficeUserId?:string,\r\n                onOfficeWebUserId?:string,showSpinner = true): Promise<string[]> {\r\n                        return CommonServices.defaultGet<string[]>(baseUrl + 'api/GoogleCalendar/GetGroups',{ onOfficeUserId, onOfficeWebUserId }, showSpinner);\r\n\r\n                    }\r\n    \r\n\r\n                \r\n            getGoogleGroupUserPair(\r\n                onOfficeUserId?:string,\r\n                onOfficeWebUserId?:string,\r\n                groupEmail?:string,showSpinner = true): Promise<OM.GoogleGroupUsersPair> {\r\n                        return CommonServices.defaultGet<OM.GoogleGroupUsersPair>(baseUrl + 'api/GoogleCalendar/GetGoogleGroupUserPair',{ onOfficeUserId, onOfficeWebUserId, groupEmail }, showSpinner);\r\n\r\n                    }\r\n    \r\n\r\n                \r\n            getEventsOfCalendar(\r\n                onOfficeUserId?:string,\r\n                onOfficeWebUserId?:string,\r\n                calendarId?:string,showSpinner = true): Promise<OM.GoogleEventWithCalendar[]> {\r\n                        return CommonServices.defaultGet<OM.GoogleEventWithCalendar[]>(baseUrl + 'api/GoogleCalendar/GetEventsOfCalendar',{ onOfficeUserId, onOfficeWebUserId, calendarId }, showSpinner);\r\n\r\n                    }\r\n    }\r\n\r\nexport let GoogleCalendarClient = new _GoogleCalendarClient();\r\n\r\nclass _LocalizedClient {\r\n\r\n    \r\n\r\n                \r\n            saveAnonymousLocalizedValue(\r\n                item:OM.KeyValuePairOfStringAndString,showSpinner = true): Promise<void> {\r\n                        return CommonServices.defaultPost<void>(baseUrl + 'api/Localized/SaveAnonymousLocalizedValue', item,{}, showSpinner );\r\n\r\n                    }\r\n    \r\n\r\n                \r\n            saveLocalizedEntity(\r\n                item:OM.LocalizedEntity,showSpinner = true): Promise<string> {\r\n                        return CommonServices.defaultPost<string>(baseUrl + 'api/Localized/SaveLocalizedEntity', item,{}, showSpinner );\r\n\r\n                    }\r\n    \r\n\r\n                \r\n            getAll(showSpinner = true): Promise<OM.LocalizedEntity[]> {\r\n                        return CommonServices.defaultGet<OM.LocalizedEntity[]>(baseUrl + 'api/Localized/GetAll',{  }, showSpinner);\r\n\r\n                    }\r\n    \r\n\r\n                \r\n            getEnabledLanguages(showSpinner = true): Promise<string[]> {\r\n                        return CommonServices.defaultGet<string[]>(baseUrl + 'api/Localized/GetEnabledLanguages',{  }, showSpinner);\r\n\r\n                    }\r\n    \r\n\r\n                \r\n            getSupportedLanguages(showSpinner = true): Promise<string[]> {\r\n                        return CommonServices.defaultGet<string[]>(baseUrl + 'api/Localized/GetSupportedLanguages',{  }, showSpinner);\r\n\r\n                    }\r\n    \r\n\r\n                \r\n            saveLocalizedValue(\r\n                item:OM.KeyValuePairOfStringAndString,showSpinner = true): Promise<void> {\r\n                        return CommonServices.defaultPost<void>(baseUrl + 'api/Localized/SaveLocalizedValue', item,{}, showSpinner );\r\n\r\n                    }\r\n    \r\n\r\n                \r\n            editLocalizedValue(\r\n                value:OM.LocalizedEntity,showSpinner = true): Promise<void> {\r\n                        return CommonServices.defaultPost<void>(baseUrl + 'api/Localized/EditLocalizedValue', value,{}, showSpinner );\r\n\r\n                    }\r\n    }\r\n\r\nexport let LocalizedClient = new _LocalizedClient();\r\n\r\nclass _LoginClient {\r\n\r\n    \r\n\r\n                \r\n            loginFromOnOffice(\r\n                userId?:string,\r\n                customerWebId?:string,\r\n                apiClaim?:string,showSpinner = true): Promise<OM.LoginResponse> {\r\n                        return CommonServices.defaultGet<OM.LoginResponse>(baseUrl + 'api/Login/LoginFromOnOffice',{ userId, customerWebId, apiClaim }, showSpinner);\r\n\r\n                    }\r\n    }\r\n\r\nexport let LoginClient = new _LoginClient();\r\n\r\nclass _MarketplaceClient {\r\n\r\n    \r\n\r\n                \r\n            checkSignature(\r\n                message?:string,\r\n                signature?:string,showSpinner = true): Promise<boolean> {\r\n                        return CommonServices.defaultGet<boolean>(baseUrl + 'api/Marketplace/CheckSignature',{ message, signature }, showSpinner);\r\n\r\n                    }\r\n    \r\n\r\n                \r\n            getSignature(\r\n                message?:string,showSpinner = true): Promise<string> {\r\n                        return CommonServices.defaultGet<string>(baseUrl + 'api/Marketplace/GetSignature',{ message }, showSpinner);\r\n\r\n                    }\r\n    \r\n\r\n                \r\n            activateMarketplace(\r\n                userSecretKey?:string,\r\n                apiToken?:string,\r\n                apiClaim?:string,\r\n                parameterCacheId?:string,\r\n                userId?:string,\r\n                customerWebId?:string,showSpinner = true): Promise<void> {\r\n                        return CommonServices.defaultGet<void>(baseUrl + 'api/Marketplace/ActivateMarketplace',{ userSecretKey, apiToken, apiClaim, parameterCacheId, userId, customerWebId }, showSpinner);\r\n\r\n                    }\r\n    \r\n\r\n                \r\n            checkActivation(\r\n                customerWebId?:string,showSpinner = true): Promise<boolean> {\r\n                        return CommonServices.defaultGet<boolean>(baseUrl + 'api/Marketplace/CheckActivation',{ customerWebId }, showSpinner);\r\n\r\n                    }\r\n    }\r\n\r\nexport let MarketplaceClient = new _MarketplaceClient();\r\n\r\nclass _OnOfficeClient {\r\n\r\n    \r\n\r\n                \r\n            getResources(\r\n                customerWebId?:string,showSpinner = true): Promise<{ [key: string]: string; }> {\r\n                        return CommonServices.defaultGet<{ [key: string]: string; }>(baseUrl + 'api/OnOffice/GetResources',{ customerWebId }, showSpinner);\r\n\r\n                    }\r\n    \r\n\r\n                \r\n            getGroups(\r\n                customerWebId?:string,showSpinner = true): Promise<OM.GetGroupsResponse[]> {\r\n                        return CommonServices.defaultGet<OM.GetGroupsResponse[]>(baseUrl + 'api/OnOffice/GetGroups',{ customerWebId }, showSpinner);\r\n\r\n                    }\r\n    \r\n\r\n                \r\n            getAllUsers(\r\n                customerWebId?:string,showSpinner = true): Promise<OM.GetUserByEmailResponse[]> {\r\n                        return CommonServices.defaultGet<OM.GetUserByEmailResponse[]>(baseUrl + 'api/OnOffice/GetAllUsers',{ customerWebId }, showSpinner);\r\n\r\n                    }\r\n    \r\n\r\n                \r\n            getAllUsersWithAuthStatus(\r\n                customerWebId?:string,showSpinner = true): Promise<OM.UserWithAuthStatus[]> {\r\n                        return CommonServices.defaultGet<OM.UserWithAuthStatus[]>(baseUrl + 'api/OnOffice/GetAllUsersWithAuthStatus',{ customerWebId }, showSpinner);\r\n\r\n                    }\r\n    }\r\n\r\nexport let OnOfficeClient = new _OnOfficeClient();\r\n\r\nclass _SyncConfigClient {\r\n\r\n    \r\n\r\n                \r\n            getByWebUserId(\r\n                webUserId?:string,showSpinner = true): Promise<OM.SyncConfig> {\r\n                        return CommonServices.defaultGet<OM.SyncConfig>(baseUrl + 'api/SyncConfig/GetByWebUserId',{ webUserId }, showSpinner);\r\n\r\n                    }\r\n    \r\n\r\n                \r\n            save(\r\n                item:OM.SyncConfig,showSpinner = true): Promise<OM.SyncConfig> {\r\n                        return CommonServices.defaultPost<OM.SyncConfig>(baseUrl + 'api/SyncConfig/Save', item,{}, showSpinner );\r\n\r\n                    }\r\n    }\r\n\r\nexport let SyncConfigClient = new _SyncConfigClient();\r\n\r\nclass _SyncErrorClient {\r\n\r\n    \r\n\r\n                \r\n            getByWebUserId(\r\n                webUserId?:string,showSpinner = true): Promise<OM.SyncError[]> {\r\n                        return CommonServices.defaultGet<OM.SyncError[]>(baseUrl + 'api/SyncError/GetByWebUserId',{ webUserId }, showSpinner);\r\n\r\n                    }\r\n    \r\n\r\n                \r\n            dismiss(\r\n                identifier?:string,showSpinner = true): Promise<void> {\r\n                        return CommonServices.defaultGet<void>(baseUrl + 'api/SyncError/Dismiss',{ identifier }, showSpinner);\r\n\r\n                    }\r\n    }\r\n\r\nexport let SyncErrorClient = new _SyncErrorClient();\r\n\r\nclass _SyncOperationsClient {\r\n\r\n    \r\n\r\n                \r\n            sync(\r\n                userId?:string,\r\n                webUserId?:string,showSpinner = true): Promise<void> {\r\n                        return CommonServices.defaultGet<void>(baseUrl + 'api/SyncOperations/Sync',{ userId, webUserId }, showSpinner);\r\n\r\n                    }\r\n    \r\n\r\n                \r\n            syncAll(\r\n                webUserId?:string,showSpinner = true): Promise<void> {\r\n                        return CommonServices.defaultGet<void>(baseUrl + 'api/SyncOperations/SyncAll',{ webUserId }, showSpinner);\r\n\r\n                    }\r\n    \r\n\r\n                \r\n            checkQuartzState(\r\n                userId?:string,\r\n                webUserId?:string,showSpinner = true): Promise<string> {\r\n                        return CommonServices.defaultGet<string>(baseUrl + 'api/SyncOperations/CheckQuartzState',{ userId, webUserId }, showSpinner);\r\n\r\n                    }\r\n    \r\n\r\n                \r\n            firstSyncAll(\r\n                vm:OM.FirstSyncVm,showSpinner = true): Promise<boolean> {\r\n                        return CommonServices.defaultPost<boolean>(baseUrl + 'api/SyncOperations/FirstSyncAll', vm,{}, showSpinner );\r\n\r\n                    }\r\n    }\r\n\r\nexport let SyncOperationsClient = new _SyncOperationsClient();\r\n\r\nclass _UserClient {\r\n\r\n    \r\n\r\n                \r\n            getUser(\r\n                userId?:string,\r\n                webUserId?:string,showSpinner = true): Promise<OM.User> {\r\n                        return CommonServices.defaultGet<OM.User>(baseUrl + 'api/User/GetUser',{ userId, webUserId }, showSpinner);\r\n\r\n                    }\r\n    \r\n\r\n                \r\n            saveUserAuthorization(\r\n                code?:string,\r\n                redirectUri?:string,\r\n                userId?:string,\r\n                webUserId?:string,\r\n                username?:string,showSpinner = true): Promise<OM.User> {\r\n                        return CommonServices.defaultGet<OM.User>(baseUrl + 'api/User/SaveUserAuthorization',{ code, redirectUri, userId, webUserId, username }, showSpinner);\r\n\r\n                    }\r\n    \r\n\r\n                \r\n            revokeUser(\r\n                userId?:string,\r\n                webUserId?:string,showSpinner = true): Promise<OM.User> {\r\n                        return CommonServices.defaultGet<OM.User>(baseUrl + 'api/User/RevokeUser',{ userId, webUserId }, showSpinner);\r\n\r\n                    }\r\n    \r\n\r\n                \r\n            save(\r\n                user:OM.User,showSpinner = true): Promise<string> {\r\n                        return CommonServices.defaultPost<string>(baseUrl + 'api/User/Save', user,{}, showSpinner );\r\n\r\n                    }\r\n    \r\n\r\n                \r\n            setSyncEnabled(\r\n                identifier?:string,\r\n                value?:boolean,showSpinner = true): Promise<void> {\r\n                        return CommonServices.defaultGet<void>(baseUrl + 'api/User/SetSyncEnabled',{ identifier, value }, showSpinner);\r\n\r\n                    }\r\n    }\r\n\r\nexport let UserClient = new _UserClient();\r\n\r\ninterface FileResponse {\r\n    data: Blob;\r\n    status: number;\r\n    fileName?: string;\r\n    headers?: { [name: string]: any };\r\n}\r\n\r\nclass SwaggerException extends Error {\r\n    message: string;\r\n    status: number;\r\n    response: string;\r\n    headers: { [key: string]: any; };\r\n    result: any;\r\n\r\n    constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\r\n        super();\r\n\r\n        this.message = message;\r\n        this.status = status;\r\n        this.response = response;\r\n        this.headers = headers;\r\n        this.result = result;\r\n    }\r\n\r\n    protected isSwaggerException = true;\r\n\r\n    static isSwaggerException(obj: any): obj is SwaggerException {\r\n        return obj.isSwaggerException === true;\r\n    }\r\n}\r\n\r\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): any {\r\n    if (result !== null && result !== undefined)\r\n        throw result;\r\n    else\r\n        throw new SwaggerException(message, status, response, headers, null);\r\n}","import * as OM from '@/model';\r\n\r\nclass _StorageServices  {\r\n    \r\n    private readFromLocalStorage<T>(lsName: string): T | null {\r\n        let data = window.localStorage.getItem(lsName);\r\n        if(data){\r\n            return JSON.parse(data);\r\n        } else {\r\n            return null;\r\n        }\r\n    }\r\n    \r\n    setOpTableFilters(key: string, filters: any){\r\n        window.localStorage.setItem('_op_' + key, JSON.stringify(filters));\r\n    }\r\n    getOpTableFilters(key: string){\r\n        return this.readFromLocalStorage<any>('_op_' + key);\r\n    }\r\n    \r\n    getLoginResponse() {\r\n        return this.readFromLocalStorage<OM.LoginResponse>('LoginResponse');\r\n    }\r\n    setLoginResponse(response: OM.LoginResponse) {\r\n        window.localStorage.setItem('LoginResponse', JSON.stringify(response));\r\n    }\r\n    \r\n    getQueryParameters() {\r\n        return this.readFromLocalStorage<string>('queryParameters');\r\n    }\r\n    setQueryParameters(parameters: { [key: string]: any }) {\r\n        window.localStorage.setItem('queryParameters', JSON.stringify(parameters));\r\n    }\r\n    \r\n    getSelectedLanguage() {\r\n        return this.readFromLocalStorage<string>('SelectedLanguage');\r\n    }\r\n    setSelectedLanguage(lang: string) {\r\n        window.localStorage.setItem('SelectedLanguage', JSON.stringify(lang));\r\n    }\r\n    \r\n}\r\n\r\nexport let StorageServices = new _StorageServices();","import { appMode } from '@/config';\r\nimport { GoogleAuthorizationResponse, GoogleUser } from '@/custom';\r\nimport * as OM from '@/model'\r\nimport { CommonServices } from '@/services/CommonServices';\r\nimport { StorageServices } from '@/services/StorageServices';\r\nimport { getQueryParams, parseJwt } from '@/utils';\r\nimport { createStore, StoreOptions } from 'vuex';\r\n\r\nlet storeState = {\r\n    loginResponse: <OM.LoginResponse> null,\r\n    user: <OM.User> null,\r\n    selectedLanguage: 'it-IT',\r\n    consts: {\r\n        localizedValues: [],\r\n        enabledLanguages: [],\r\n    },\r\n    beforeNavCbs: [],\r\n    afterNavCbs: [],\r\n    globalSpinner: 0,\r\n    googleAuthentication: {\r\n        token: \"\",\r\n        userData: <GoogleUser>{}\r\n    },\r\n    googleAuthorization: {\r\n        userData: <GoogleAuthorizationResponse>{}\r\n    },\r\n    isGoogleAuthorized: false,\r\n    isTestMode: () => {\r\n        return appMode == 'local' || appMode == 'test';\r\n    },\r\n    getParameters: {\r\n        apiClaim: '',\r\n        customerName: '',\r\n        customerWebId: '',\r\n        groupId: '',\r\n        language: '',\r\n        parameterCacheId: '',\r\n        timestamp: '',\r\n        estateId: '',\r\n        businessUnit: '',\r\n        userId: '',\r\n        signature: '',\r\n    },\r\n}\r\n\r\nconst GET_PARAMETER_APICLAIM = 'apiClaim';\r\nconst GET_PARAMETER_CUSTOMERNAME = 'customerName';\r\nconst GET_PARAMETER_CUSTOMERWEBID = 'customerWebId';\r\nconst GET_PARAMETER_GROUPID = 'groupId';\r\nconst GET_PARAMETER_LANGUAGE = 'language';\r\nconst GET_PARAMETER_PARAMETERCACHEID = 'parameterCacheId';\r\nconst GET_PARAMETER_TIMESTAMP = 'timestamp';\r\nconst GET_PARAMETER_ESTATEID = 'estateId';\r\nconst GET_PARAMETER_BUSINESSUNIT = 'businessUnit';\r\nconst GET_PARAMETER_USERID = 'userId';\r\nconst GET_PARAMETER_SIGNATURE = 'signature';\r\n\r\nstoreState.getParameters.apiClaim = getQueryParams()[GET_PARAMETER_APICLAIM];\r\nstoreState.getParameters.customerName = getQueryParams()[GET_PARAMETER_CUSTOMERNAME];\r\nstoreState.getParameters.customerWebId = getQueryParams()[GET_PARAMETER_CUSTOMERWEBID];\r\nstoreState.getParameters.groupId = getQueryParams()[GET_PARAMETER_GROUPID];\r\nstoreState.getParameters.language = getQueryParams()[GET_PARAMETER_LANGUAGE];\r\nstoreState.getParameters.parameterCacheId = getQueryParams()[GET_PARAMETER_PARAMETERCACHEID];\r\nstoreState.getParameters.timestamp = getQueryParams()[GET_PARAMETER_TIMESTAMP];\r\nstoreState.getParameters.estateId = getQueryParams()[GET_PARAMETER_ESTATEID];\r\nstoreState.getParameters.businessUnit = getQueryParams()[GET_PARAMETER_BUSINESSUNIT];\r\nstoreState.getParameters.userId = getQueryParams()[GET_PARAMETER_USERID];\r\nstoreState.getParameters.signature = getQueryParams()[GET_PARAMETER_SIGNATURE];\r\n\r\n\r\nlet vuestore: StoreOptions<typeof storeState> = {\r\n    state: storeState,\r\n}\r\nlet store = createStore(vuestore);\r\n\r\nstore.state.loginResponse = StorageServices.getLoginResponse();\r\n\r\nexport default store;\r\n","import * as OM from '@/model';\r\nimport store from './store';\r\n\r\nexport function JsonClone<T>(item: T){\r\n    return <T>JSON.parse(JSON.stringify(item));\r\n}\r\n\r\nexport function getQueryParams(url?) {\r\n    if(!url){\r\n        url = window.location.href;\r\n    }\r\n    const paramArr = url.slice(url.indexOf('?') + 1).split('&');\r\n    const params = {};\r\n    paramArr.map(param => {\r\n        const [key, val] = param.split('=');\r\n        params[key] = decodeURIComponent(val);\r\n    })\r\n    return params;\r\n}\r\n\r\nexport function insertAllLanguages(localized: OM.LocalizedValue){\r\n    if(!localized){}\r\n        localized = new OM.LocalizedValue();\r\n\r\n    if(!localized.values)\r\n        localized.values = {};\r\n        \r\n    var enabledLanguages = store.state.consts.enabledLanguages;\r\n\r\n    enabledLanguages.forEach( lang => {\r\n        var keys = Object.keys(localized.values);\r\n        var found = keys.find( x => x == lang);\r\n        if(!found){\r\n            localized.values[lang] = \"\";\r\n        }\r\n    })\r\n}\r\n\r\nexport function parseJwt (token) {\r\n    var base64Url = token.split('.')[1];\r\n    var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');\r\n    var jsonPayload = decodeURIComponent(window.atob(base64).split('').map(function(c) {\r\n        return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\r\n    }).join(''));\r\n\r\n    return JSON.parse(jsonPayload);\r\n}\r\n\r\nexport function isValidDate(d: any) {\r\n    return d instanceof Date && !isNaN(<any>d);\r\n}\r\n","import { renderSlot as _renderSlot, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\nimport _imports_0 from '@/img/chevron_up.svg'\nimport _imports_1 from '@/img/chevron_down.svg'\n\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-27b28f4c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n  class: \"accordionButton\",\n  key: \"up\"\n}\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"button\", { type: \"button\" }, [\n  /*#__PURE__*/_createElementVNode(\"img\", { src: _imports_0 })\n], -1))\nconst _hoisted_3 = [\n  _hoisted_2\n]\nconst _hoisted_4 = {\n  class: \"accordionButton\",\n  key: \"down\"\n}\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"button\", { type: \"button\" }, [\n  /*#__PURE__*/_createElementVNode(\"img\", { src: _imports_1 })\n], -1))\nconst _hoisted_6 = [\n  _hoisted_5\n]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n  return (_openBlock(), _createElementBlock(\"div\", null, [\n    _createElementVNode(\"div\", {\n      class: _normalizeClass([\"accordion\", _ctx.openThis ? 'open' : ''])\n    }, [\n      _createElementVNode(\"div\", {\n        class: \"accordionTitle\",\n        onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.openThis = !_ctx.openThis))\n      }, [\n        _renderSlot(_ctx.$slots, \"title\", {}, undefined, true),\n        (_ctx.openThis)\n          ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, _hoisted_3))\n          : _createCommentVNode(\"\", true),\n        (!_ctx.openThis)\n          ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, _hoisted_6))\n          : _createCommentVNode(\"\", true)\n      ]),\n      (_ctx.openThis)\n        ? (_openBlock(), _createElementBlock(\"div\", {\n            key: 0,\n            class: _normalizeClass([\"accordionBody\", {'indent': _ctx.indent}])\n          }, [\n            _renderSlot(_ctx.$slots, \"default\", {}, undefined, true)\n          ], 2))\n        : _createCommentVNode(\"\", true)\n    ], 2)\n  ]))\n}","<template>\r\n    <div>\r\n        <div class=\"accordion\" :class=\"openThis ? 'open' : ''\">\r\n            <div class=\"accordionTitle\" @click=\"openThis = !openThis\">\r\n                <slot name=\"title\"></slot>\r\n                <div class=\"accordionButton\" key=\"up\" v-if=\"openThis\">\r\n                    <button type=\"button\">\r\n                        <img src=\"@/img/chevron_up.svg\" />\r\n                    </button>\r\n                </div>\r\n                <div class=\"accordionButton\" key=\"down\" v-if=\"!openThis\">\r\n                    <button type=\"button\">\r\n                        <img src=\"@/img/chevron_down.svg\" />\r\n                    </button>\r\n                </div>\r\n            </div>\r\n            <div class=\"accordionBody\" :class=\"{'indent': indent}\" v-if=\"openThis\">\r\n                <slot></slot>\r\n            </div>\r\n        </div>\r\n    </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { Options, Vue } from 'vue-class-component';\r\nimport { Prop } from 'vue-property-decorator';\r\n\r\n@Options({})\r\nexport default class accordion extends Vue {\r\n    @Prop() open: boolean;\r\n    @Prop({\r\n        default: false\r\n    }) indent: boolean;\r\n    openThis: boolean = false;\r\n    created(){\r\n        if(this.open){\r\n            this.openThis = true;\r\n        }\r\n    }\r\n}\r\n\r\n</script>\r\n\r\n<style scoped>\r\n\r\n    .accordion .accordionTitle {\r\n        background: whitesmoke;\r\n        border-radius: 4px;\r\n        display: flex;\r\n        justify-content: space-between;\r\n        padding: 0 10px;\r\n        align-items: center;\r\n        cursor: pointer;\r\n    }\r\n\r\n    .accordion .accordionButton button {\r\n        background: none;\r\n        border: none;\r\n        width: 33px;\r\n        height: 33px;\r\n    }\r\n\r\n    .accordion .accordionBody {\r\n        padding-top: 10px;\r\n    }\r\n\r\n    .accordion .accordionBody.indent {\r\n        padding-left: 20px;\r\n    }\r\n\r\n</style>\r\n","import { render } from \"./accordion.vue?vue&type=template&id=27b28f4c&scoped=true&ts=true\"\nimport script from \"./accordion.vue?vue&type=script&lang=ts\"\nexport * from \"./accordion.vue?vue&type=script&lang=ts\"\n\nimport \"./accordion.vue?vue&type=style&index=0&id=27b28f4c&scoped=true&lang=css\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-27b28f4c\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"table table-striped\" }\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"td\", null, null, -1)\nconst _hoisted_3 = { key: 0 }\nconst _hoisted_4 = { colspan: \"999\" }\nconst _hoisted_5 = { class: \"ellipsis\" }\nconst _hoisted_6 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_7 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_8 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_9 = [\"onClick\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n  const _component_localized_text = _resolveComponent(\"localized-text\")!\n\n  return (_openBlock(), _createElementBlock(\"div\", null, [\n    _createElementVNode(\"table\", _hoisted_1, [\n      _createElementVNode(\"thead\", null, [\n        _createElementVNode(\"tr\", null, [\n          _createElementVNode(\"td\", null, [\n            _createVNode(_component_localized_text, {\n              localizedKey: \"Date\",\n              text: \"Date\"\n            })\n          ]),\n          _createElementVNode(\"td\", null, [\n            _createVNode(_component_localized_text, {\n              localizedKey: \"Dati utente\",\n              text: \"Dati utente\"\n            })\n          ]),\n          _createElementVNode(\"td\", null, [\n            _createVNode(_component_localized_text, {\n              localizedKey: \"Corrispondenza\",\n              text: \"Corrispondenza\"\n            })\n          ]),\n          _createElementVNode(\"td\", null, [\n            _createVNode(_component_localized_text, {\n              localizedKey: \"Messaggio\",\n              text: \"Messaggio\"\n            })\n          ]),\n          _hoisted_2\n        ])\n      ]),\n      _createElementVNode(\"tbody\", null, [\n        (_ctx.errors.length == 0)\n          ? (_openBlock(), _createElementBlock(\"tr\", _hoisted_3, [\n              _createElementVNode(\"td\", _hoisted_4, [\n                _createVNode(_component_localized_text, {\n                  localizedKey: \"Nessun elemento trovato\",\n                  text: \"Nessun elemento trovato\"\n                })\n              ])\n            ]))\n          : _createCommentVNode(\"\", true),\n        (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.errors, (item, i) => {\n          return (_openBlock(), _createElementBlock(\"tr\", { key: i }, [\n            _createElementVNode(\"td\", null, _toDisplayString(_ctx.$filters.date(item.createdOn, \"yyyy/MM/DD HH:mm:ss\")), 1),\n            _createElementVNode(\"td\", null, _toDisplayString(item.onOfficeUserIds.userId) + \" - \" + _toDisplayString(item.onOfficeUserIds.webUserId) + \" - \" + _toDisplayString(item.onOfficeUserIds.username), 1),\n            _createElementVNode(\"td\", null, [\n              _createElementVNode(\"div\", _hoisted_5, [\n                (item.eventIdPair)\n                  ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n                      _createTextVNode(_toDisplayString(item.eventIdPair.eventOrigin), 1),\n                      _hoisted_6,\n                      _createTextVNode(\" \" + _toDisplayString(item.eventIdPair.onOfficeId), 1),\n                      _hoisted_7,\n                      _createTextVNode(\" \" + _toDisplayString(item.eventIdPair.googleId), 1),\n                      _hoisted_8\n                    ], 64))\n                  : _createCommentVNode(\"\", true)\n              ])\n            ]),\n            _createElementVNode(\"td\", null, _toDisplayString(item.message), 1),\n            _createElementVNode(\"td\", null, [\n              _createElementVNode(\"button\", {\n                class: \"btn btn-danger\",\n                onClick: ($event: any) => (_ctx.dismiss(item))\n              }, \" x \", 8, _hoisted_9)\n            ])\n          ]))\n        }), 128))\n      ])\n    ])\n  ]))\n}","<template>\r\n    <div>\r\n        <table class=\"table table-striped\">\r\n            <thead>\r\n                <tr>\r\n                    <td>\r\n                        <localized-text localizedKey=\"Date\" text=\"Date\"></localized-text>\r\n                    </td>\r\n                    <td>\r\n                        <localized-text localizedKey=\"Dati utente\" text=\"Dati utente\"></localized-text>\r\n                    </td>\r\n                    <td>\r\n                        <localized-text localizedKey=\"Corrispondenza\" text=\"Corrispondenza\"></localized-text>\r\n                    </td>\r\n                    <td>\r\n                        <localized-text localizedKey=\"Messaggio\" text=\"Messaggio\"></localized-text>\r\n                    </td>\r\n                    <td></td>\r\n                </tr>\r\n            </thead>\r\n            <tbody>\r\n                <tr v-if=\"errors.length == 0\">\r\n                    <td colspan=\"999\">\r\n                        <localized-text localizedKey=\"Nessun elemento trovato\" text=\"Nessun elemento trovato\"></localized-text>\r\n                    </td>\r\n                </tr>\r\n                <tr v-for=\"(item, i) in errors\" :key=\"i\">\r\n                    <td>\r\n                        {{$filters.date(item.createdOn, \"yyyy/MM/DD HH:mm:ss\")}}\r\n                    </td>\r\n                    <td>\r\n                        {{item.onOfficeUserIds.userId}} - \r\n                        {{item.onOfficeUserIds.webUserId}} - \r\n                        {{item.onOfficeUserIds.username}}\r\n                    </td>\r\n                    <td>\r\n                        <div class=\"ellipsis\">\r\n                            <template v-if=\"item.eventIdPair\">\r\n                                {{item.eventIdPair.eventOrigin}}<br/>\r\n                                {{item.eventIdPair.onOfficeId}}<br/>\r\n                                {{item.eventIdPair.googleId}}<br/>\r\n                            </template>\r\n                        </div>\r\n                    </td>\r\n                    <td>\r\n                        {{item.message}}\r\n                    </td>\r\n                    <td>\r\n                        <button class=\"btn btn-danger\" @click=\"dismiss(item)\">\r\n                            x\r\n                        </button>\r\n                    </td>\r\n                </tr>\r\n            </tbody>\r\n        </table>\r\n    </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { SyncErrorClient } from '@/services/Services'\r\nimport { Options, Vue } from 'vue-class-component';\r\nimport * as OM from '@/model';\r\nimport { Prop, Watch } from 'vue-property-decorator';\r\nimport store from '@/store';\r\n\r\n@Options({})\r\nexport default class errorsTable extends Vue {\r\n\r\n    @Prop() reload: number;\r\n\r\n    errors: OM.SyncError[] = [];\r\n\r\n    @Watch('reload')\r\n    onReload(next, prev){\r\n        this.getErrors();\r\n    }\r\n\r\n    created(){\r\n        this.getErrors();\r\n    }\r\n\r\n    getErrors(){\r\n        this.errors = [];\r\n        SyncErrorClient.getByWebUserId(this.$store.state.loginResponse.webUserId)\r\n        .then(x => {\r\n            this.errors = x;\r\n        })\r\n    }\r\n\r\n    dismiss(item: OM.SyncError){\r\n        SyncErrorClient.dismiss(item.identifier)\r\n        .then(x => {\r\n            this.getErrors();\r\n        })\r\n    }\r\n\r\n}\r\n</script>","import { render } from \"./errorsTable.vue?vue&type=template&id=3d17890d&ts=true\"\nimport script from \"./errorsTable.vue?vue&type=script&lang=ts\"\nexport * from \"./errorsTable.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createCommentVNode as _createCommentVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"text-bold\" }\nconst _hoisted_2 = { class: \"table table-striped\" }\nconst _hoisted_3 = /*#__PURE__*/_createElementVNode(\"td\", null, null, -1)\nconst _hoisted_4 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_5 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_6 = [\"onClick\"]\nconst _hoisted_7 = { class: \"mt-2\" }\nconst _hoisted_8 = [\"onClick\"]\nconst _hoisted_9 = { class: \"mt-2\" }\nconst _hoisted_10 = [\"onClick\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n  const _component_localized_text = _resolveComponent(\"localized-text\")!\n\n  return (_openBlock(), _createElementBlock(\"div\", null, [\n    _createElementVNode(\"div\", _hoisted_1, [\n      _createVNode(_component_localized_text, {\n        localizedKey: \"Elementi duplicati nella prima importazione\",\n        text: \"Elementi duplicati nella prima importazione\"\n      })\n    ]),\n    _createElementVNode(\"table\", _hoisted_2, [\n      _createElementVNode(\"thead\", null, [\n        _createElementVNode(\"tr\", null, [\n          _createElementVNode(\"td\", null, [\n            _createVNode(_component_localized_text, {\n              localizedKey: \"Origine\",\n              text: \"Origine\"\n            })\n          ]),\n          _createElementVNode(\"td\", null, [\n            _createVNode(_component_localized_text, {\n              localizedKey: \"OnOffice\",\n              text: \"OnOffice\"\n            })\n          ]),\n          _createElementVNode(\"td\", null, [\n            _createVNode(_component_localized_text, {\n              localizedKey: \"Google\",\n              text: \"Google\"\n            })\n          ]),\n          _createElementVNode(\"td\", null, [\n            _createVNode(_component_localized_text, {\n              localizedKey: \"Azione\",\n              text: \"Azione\"\n            })\n          ]),\n          _hoisted_3\n        ])\n      ]),\n      _createElementVNode(\"tbody\", null, [\n        (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.items, (item, i) => {\n          return (_openBlock(), _createElementBlock(\"tr\", { key: i }, [\n            _createElementVNode(\"td\", null, _toDisplayString(item.firstSyncOrigin), 1),\n            _createElementVNode(\"td\", null, [\n              (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(item.onOfficeEvents, (ev, i) => {\n                return (_openBlock(), _createElementBlock(\"div\", null, [\n                  _createTextVNode(_toDisplayString(_ctx.$filters.date(ev.startDate, \"DD/MM/yyyy HH:mm\")) + \" - \" + _toDisplayString(_ctx.$filters.date(ev.endDate, \"DD/MM/yyyy HH:mm\")), 1),\n                  _hoisted_4,\n                  _createTextVNode(\" \" + _toDisplayString(ev.title), 1)\n                ]))\n              }), 256))\n            ]),\n            _createElementVNode(\"td\", null, [\n              (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(item.googleEvents, (ev, i) => {\n                return (_openBlock(), _createElementBlock(\"div\", null, [\n                  (ev.start.date)\n                    ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n                        _createTextVNode(_toDisplayString(_ctx.$filters.date(ev.start.date, \"DD/MM/yyyy HH:mm\")) + \" - \" + _toDisplayString(_ctx.$filters.date(ev.end.date, \"DD/MM/yyyy HH:mm\")), 1)\n                      ], 64))\n                    : (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [\n                        _createTextVNode(_toDisplayString(_ctx.$filters.date(ev.start.dateTime, \"DD/MM/yyyy HH:mm\")) + \" - \" + _toDisplayString(_ctx.$filters.date(ev.end.dateTime, \"DD/MM/yyyy HH:mm\")), 1)\n                      ], 64)),\n                  _hoisted_5,\n                  _createTextVNode(\" \" + _toDisplayString(ev.title), 1)\n                ]))\n              }), 256))\n            ]),\n            _createElementVNode(\"td\", null, [\n              _createElementVNode(\"div\", null, [\n                _createElementVNode(\"button\", {\n                  class: \"btn btn-danger\",\n                  onClick: ($event: any) => (_ctx.doAction(item, 'KeepOnOffice'))\n                }, [\n                  _createVNode(_component_localized_text, {\n                    localizedKey: \"Tieni onOffice, elimina google\",\n                    text: \"Tieni onOffice, elimina google\"\n                  })\n                ], 8, _hoisted_6)\n              ]),\n              _createElementVNode(\"div\", _hoisted_7, [\n                _createElementVNode(\"button\", {\n                  class: \"btn btn-danger\",\n                  onClick: ($event: any) => (_ctx.doAction(item, 'KeepGoogle'))\n                }, [\n                  _createVNode(_component_localized_text, {\n                    localizedKey: \"Tieni google, elimina onOffice\",\n                    text: \"Tieni google, elimina onOffice\"\n                  })\n                ], 8, _hoisted_8)\n              ]),\n              _createElementVNode(\"div\", _hoisted_9, [\n                _createElementVNode(\"button\", {\n                  class: \"btn btn-danger\",\n                  onClick: ($event: any) => (_ctx.doAction(item, 'KeepNone'))\n                }, [\n                  _createVNode(_component_localized_text, {\n                    localizedKey: \"Elimina entrambi\",\n                    text: \"Elimina entrambi\"\n                  })\n                ], 8, _hoisted_10)\n              ])\n            ])\n          ]))\n        }), 128))\n      ])\n    ])\n  ]))\n}","<template>\r\n    <div>\r\n        <div class=\"text-bold\">\r\n            <localized-text localizedKey=\"Elementi duplicati nella prima importazione\" text=\"Elementi duplicati nella prima importazione\"></localized-text>\r\n        </div>\r\n        <table class=\"table table-striped\">\r\n            <thead>\r\n                <tr>\r\n                    <td>\r\n                        <localized-text localizedKey=\"Origine\" text=\"Origine\"></localized-text>\r\n                    </td>\r\n                    <td>\r\n                        <localized-text localizedKey=\"OnOffice\" text=\"OnOffice\"></localized-text>\r\n                    </td>\r\n                    <td>\r\n                        <localized-text localizedKey=\"Google\" text=\"Google\"></localized-text>\r\n                    </td>\r\n                    <td>\r\n                        <localized-text localizedKey=\"Azione\" text=\"Azione\"></localized-text>\r\n                    </td>\r\n                    <td></td>\r\n                </tr>\r\n            </thead>\r\n            <tbody>\r\n                <tr v-for=\"(item, i) in items\" :key=\"i\">\r\n                    <td>\r\n                        {{item.firstSyncOrigin}}\r\n                    </td>\r\n                    <td>\r\n                        <div v-for=\"(ev, i) in item.onOfficeEvents\">\r\n                            {{$filters.date(ev.startDate, \"DD/MM/yyyy HH:mm\")}} - {{$filters.date(ev.endDate, \"DD/MM/yyyy HH:mm\")}}<br/>\r\n                            {{ev.title}}\r\n                        </div>\r\n                    </td>\r\n                    <td>\r\n                        <div v-for=\"(ev, i) in item.googleEvents\">\r\n                            <template v-if=\"ev.start.date\">\r\n                                {{$filters.date(ev.start.date, \"DD/MM/yyyy HH:mm\")}} - {{$filters.date(ev.end.date, \"DD/MM/yyyy HH:mm\")}}\r\n                            </template>\r\n                            <template v-else>\r\n                                {{$filters.date(ev.start.dateTime, \"DD/MM/yyyy HH:mm\")}} - {{$filters.date(ev.end.dateTime, \"DD/MM/yyyy HH:mm\")}}\r\n                            </template>\r\n                            <br/>\r\n                            {{ev.title}}\r\n                        </div>\r\n                    </td>\r\n                    <td>\r\n                        <div>\r\n                            <button class=\"btn btn-danger\" @click=\"doAction(item, 'KeepOnOffice')\">\r\n                                <localized-text localizedKey=\"Tieni onOffice, elimina google\" text=\"Tieni onOffice, elimina google\"></localized-text>\r\n                            </button>\r\n                        </div>\r\n                        <div class=\"mt-2\">\r\n                            <button class=\"btn btn-danger\" @click=\"doAction(item, 'KeepGoogle')\">\r\n                                <localized-text localizedKey=\"Tieni google, elimina onOffice\" text=\"Tieni google, elimina onOffice\"></localized-text>\r\n                            </button>\r\n                        </div>\r\n                        <div class=\"mt-2\">\r\n                            <button class=\"btn btn-danger\" @click=\"doAction(item, 'KeepNone')\">\r\n                                <localized-text localizedKey=\"Elimina entrambi\" text=\"Elimina entrambi\"></localized-text>\r\n                            </button>\r\n                        </div>\r\n                    </td>\r\n                </tr>\r\n            </tbody>\r\n        </table>\r\n    </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { SyncErrorClient, SyncOperationsClient } from '@/services/Services'\r\nimport { Options, Vue } from 'vue-class-component';\r\nimport * as OM from '@/model';\r\nimport { Prop, Watch } from 'vue-property-decorator';\r\nimport store from '@/store';\r\n\r\n@Options({})\r\nexport default class firstSyncPendingItems extends Vue {\r\n\r\n    @Prop() reload: number;\r\n\r\n    // items: OM.FirstSyncPendingItem[] = [];\r\n\r\n    @Watch('reload')\r\n    onReload(next, prev){\r\n        this.init();\r\n    }\r\n\r\n    created(){\r\n        this.init();\r\n    }\r\n\r\n    init(){\r\n        // this.items = [];\r\n        // SyncOperationsClient.getFirstSyncPendingItems(store.state.loginResponse.userId, store.state.loginResponse.webUserId)\r\n        // .then(x => {\r\n        //     this.items = x;\r\n        // })\r\n    }\r\n\r\n    // doAction(item: OM.FirstSyncPendingItem, action: string){\r\n    //     this.items = [];\r\n    //     SyncOperationsClient.resolveFirstSyncPendingItem(store.state.loginResponse.userId, store.state.loginResponse.webUserId, item.identifier, action)\r\n    //     .then(x => {\r\n    //         this.init();\r\n    //     })\r\n    // }\r\n\r\n}\r\n</script>","import { render } from \"./firstSyncPendingItems.vue?vue&type=template&id=49ec151d&ts=true\"\nimport script from \"./firstSyncPendingItems.vue?vue&type=script&lang=ts\"\nexport * from \"./firstSyncPendingItems.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-06a3eb5a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"googleLoginContainer\" }\nconst _hoisted_2 = {\n  ref: \"signInButton\",\n  class: \"googleSignIn\"\n}\nconst _hoisted_3 = { class: \"otherButtons\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n  return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n    _createElementVNode(\"div\", _hoisted_2, null, 512),\n    _createElementVNode(\"div\", _hoisted_3, [\n      _createElementVNode(\"button\", {\n        class: \"btn btn-primary ms-2\",\n        onClick: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => (_ctx.revoke && _ctx.revoke(...args)))\n      }, \" Revoke \")\n    ])\n  ]))\n}","<template>\r\n    <div class=\"googleLoginContainer\">\r\n        <div ref=\"signInButton\" class=\"googleSignIn\"></div>\r\n        <div class=\"otherButtons\">\r\n            <button class=\"btn btn-primary ms-2\" @click=\"revoke\">\r\n                Revoke\r\n            </button>\r\n        </div>\r\n    </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { CommonServices } from '@/services/CommonServices';\r\nimport { StorageServices } from '@/services/StorageServices';\r\nimport store from '@/store';\r\nimport { getQueryParams } from '@/utils';\r\nimport { Options, Vue } from 'vue-class-component';\r\n\r\n@Options({})\r\nexport default class googleAuthenticate extends Vue {\r\n\r\n    password: string = \"\";\r\n    token: string = \"\";\r\n\r\n    mounted(){\r\n        google.accounts.id.renderButton(this.$refs.signInButton, {})\r\n    }\r\n\r\n\r\n    revoke(){\r\n        google.accounts.id.disableAutoSelect();\r\n        google.accounts.id.revoke(store.state.googleAuthentication.userData.sub, (done) => {\r\n            console.log(done);\r\n        });\r\n    }\r\n    \r\n}\r\n</script>\r\n\r\n<style scoped>\r\n\r\n.googleLoginContainer {\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n}\r\n.googleSignIn, .otherButtons {\r\n    display: inline-block;\r\n}\r\n\r\n</style>","import { render } from \"./googleAuthenticate.vue?vue&type=template&id=06a3eb5a&scoped=true&ts=true\"\nimport script from \"./googleAuthenticate.vue?vue&type=script&lang=ts\"\nexport * from \"./googleAuthenticate.vue?vue&type=script&lang=ts\"\n\nimport \"./googleAuthenticate.vue?vue&type=style&index=0&id=06a3eb5a&scoped=true&lang=css\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-06a3eb5a\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, Fragment as _Fragment, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-16965a7c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"text-center d-flex align-items-center\" }\nconst _hoisted_2 = { class: \"ms-2\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n  const _component_localized_text = _resolveComponent(\"localized-text\")!\n\n  return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n    _createElementVNode(\"div\", null, [\n      (!_ctx.$store.state.isGoogleAuthorized)\n        ? (_openBlock(), _createBlock(_component_localized_text, {\n            key: 0,\n            localizedKey: \"Per iniziare, collega il tuo account google\",\n            text: \"Per iniziare, collega il tuo account google\"\n          }))\n        : (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [\n            _createVNode(_component_localized_text, {\n              localizedKey: \"Account google collegato:\",\n              text: \"Account google collegato:\"\n            }),\n            _createElementVNode(\"b\", null, \" \" + _toDisplayString(_ctx.$store.state.user.googleAuthData.googleEmail), 1)\n          ], 64))\n    ]),\n    _createElementVNode(\"div\", _hoisted_2, [\n      (!_ctx.$store.state.isGoogleAuthorized || _ctx.$store.state.user.hasRevokedAuth)\n        ? (_openBlock(), _createElementBlock(\"button\", {\n            key: 0,\n            class: \"btn btn-primary\",\n            onClick: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => (_ctx.requestAuthorize && _ctx.requestAuthorize(...args)))\n          }, [\n            _createVNode(_component_localized_text, {\n              localizedKey: \"Collegati con google\",\n              text: \"Collegati con google\"\n            })\n          ]))\n        : (_openBlock(), _createElementBlock(\"button\", {\n            key: 1,\n            class: \"btn btn-danger\",\n            onClick: _cache[1] || (_cache[1] = \n//@ts-ignore\n(...args) => (_ctx.revoke && _ctx.revoke(...args)))\n          }, [\n            _createVNode(_component_localized_text, {\n              localizedKey: \"Revoca autorizzazione\",\n              text: \"Revoca autorizzazione\"\n            })\n          ]))\n    ])\n  ]))\n}","<template>\r\n    <div class=\"text-center d-flex align-items-center\">\r\n        <div>\r\n            <localized-text localizedKey=\"Per iniziare, collega il tuo account google\" text=\"Per iniziare, collega il tuo account google\" v-if=\"!$store.state.isGoogleAuthorized\"></localized-text>\r\n            <template v-else>\r\n                <localized-text localizedKey=\"Account google collegato:\" text=\"Account google collegato:\"></localized-text>\r\n                <b>&nbsp;{{$store.state.user.googleAuthData.googleEmail}}</b>\r\n            </template>\r\n        </div>\r\n        <div class=\"ms-2\">\r\n            <button class=\"btn btn-primary\" @click=\"requestAuthorize\" v-if=\"!$store.state.isGoogleAuthorized || $store.state.user.hasRevokedAuth\">\r\n                <localized-text localizedKey=\"Collegati con google\" text=\"Collegati con google\"></localized-text>\r\n            </button>\r\n            <button class=\"btn btn-danger\" @click=\"revoke\" v-else>\r\n                <localized-text localizedKey=\"Revoca autorizzazione\" text=\"Revoca autorizzazione\"></localized-text>\r\n            </button>\r\n        </div>\r\n    </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { CommonServices } from '@/services/CommonServices';\r\nimport { StorageServices } from '@/services/StorageServices';\r\nimport store from '@/store';\r\nimport { getQueryParams } from '@/utils';\r\nimport { Options, Vue } from 'vue-class-component';\r\nimport { Prop } from 'vue-property-decorator';\r\n\r\n@Options({})\r\nexport default class googleAuthorize extends Vue {\r\n\r\n    @Prop() responseCb;\r\n    @Prop() revokeCb;\r\n\r\n    codeClient: any = null;\r\n    tokenClient: any = null;\r\n\r\n    mounted(){\r\n        this.codeClient = google.accounts.oauth2.initCodeClient({\r\n            client_id: '988680744264-vu1tj2umi0ks3p7dtdu315cbe9m54mln.apps.googleusercontent.com',\r\n            scope: 'https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/admin.directory.group.readonly',\r\n            ux_mode: 'popup',\r\n            callback: this.localResponseCb\r\n        });\r\n        this.tokenClient = google.accounts.oauth2.initTokenClient({\r\n            client_id: '988680744264-vu1tj2umi0ks3p7dtdu315cbe9m54mln.apps.googleusercontent.com',\r\n            scope: 'https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/admin.directory.group.readonly',\r\n            callback: this.localTokenResponseCb\r\n        });\r\n    }\r\n\r\n    requestAuthorize(){\r\n        this.codeClient.requestCode();\r\n    }\r\n\r\n    localResponseCb(response) {\r\n        store.state.googleAuthorization.userData = response;\r\n        this.responseCb(response);\r\n    }\r\n\r\n    revoke(){\r\n        this.tokenClient.requestAccessToken();\r\n    }\r\n\r\n    localTokenResponseCb(tokenResponse) {\r\n        // console.log(\"tokenResponse\", tokenResponse);\r\n        google.accounts.oauth2.revoke(tokenResponse.access_token, () => {\r\n            this.revokeCb();\r\n        })\r\n    }\r\n\r\n}\r\n</script>\r\n\r\n<style scoped>\r\n\r\n.googleLoginContainer {\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n}\r\n.googleSignIn, .otherButtons {\r\n    display: inline-block;\r\n}\r\n\r\n</style>","import { render } from \"./googleAuthorize.vue?vue&type=template&id=16965a7c&scoped=true&ts=true\"\nimport script from \"./googleAuthorize.vue?vue&type=script&lang=ts\"\nexport * from \"./googleAuthorize.vue?vue&type=script&lang=ts\"\n\nimport \"./googleAuthorize.vue?vue&type=style&index=0&id=16965a7c&scoped=true&lang=css\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-16965a7c\"]])\n\nexport default __exports__","import { resolveDynamicComponent as _resolveDynamicComponent, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n  return (_openBlock(), _createBlock(_resolveDynamicComponent(_ctx.type), { innerHTML: _ctx.translatedText }, null, 8, [\"innerHTML\"]))\n}","<template>\r\n    <component :is=\"type\" v-html=\"translatedText\"></component>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { Prop, Watch } from 'vue-property-decorator'\r\nimport { Options, Vue } from 'vue-class-component';\r\nimport * as OM from '@/model';\r\nimport store from '@/store';\r\nimport { LocalizationServices } from '@/services/LocalizationServices';\r\n\r\n@Options({})\r\nexport default class LocalizedText extends Vue {\r\n\r\n    @Prop({ default: \"span\"}) type: string;\r\n    @Prop({ default: \"\" }) localizedKey: string;\r\n    @Prop({ default: \"\" }) text: string;\r\n    @Prop({ default: \"\" }) prevText: string;\r\n    @Prop({ default: \"\" }) afterText: string;\r\n    @Prop({ default: \"\" }) object: any;\r\n\r\n    @Prop({\r\n        default: 0\r\n    }) numberAsterisk: number;\r\n\r\n    localizedValues: OM.LocalizedEntity[] = [];\r\n    translatedText: string = \"\";\r\n\r\n    @Watch('localizedKey')\r\n    @Watch('prevText')\r\n    @Watch('afterText')\r\n    @Watch('object')\r\n    onTextChange() {\r\n        this.setLocalizedText();\r\n    }\r\n\r\n    unwatcher: () => void = null;\r\n    mounted() {\r\n        this.setLocalizedText();\r\n        this.unwatcher = this.$store.watch(\r\n            state => {\r\n                return state.selectedLanguage || \"it-IT\"\r\n            },\r\n            () => { \r\n                this.setLocalizedText(); \r\n            }\r\n        )\r\n    }\r\n\r\n    beforeUnmount(){\r\n        this.unwatcher();\r\n    }\r\n\r\n    setLocalizedText() {\r\n        this.translatedText = LocalizationServices.GetLocalizedValue(this.localizedKey, this.text, this.afterText, this.prevText, this.object);\r\n    }\r\n}\r\n</script>\r\n<style scoped>\r\n/* span {\r\n    display: block;\r\n} */\r\n</style>","import { render } from \"./localizedText.vue?vue&type=template&id=5d6b2174&scoped=true&ts=true\"\nimport script from \"./localizedText.vue?vue&type=script&lang=ts\"\nexport * from \"./localizedText.vue?vue&type=script&lang=ts\"\n\nimport \"./localizedText.vue?vue&type=style&index=0&id=5d6b2174&scoped=true&lang=css\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-5d6b2174\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, vModelText as _vModelText, withDirectives as _withDirectives, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-4dfef3f2\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"unlock-provider-form\" }\nconst _hoisted_2 = { class: \"unlock-api\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"legend\", { class: \"api-key-label\" }, \"Incolla qui il codice per l'attivazione\", -1))\nconst _hoisted_4 = {\n  class: \"api-key-input-outer\",\n  id: \"secretDiv\"\n}\nconst _hoisted_5 = {\n  key: 0,\n  id: \"successMessage\",\n  class: \"active-label\"\n}\nconst _hoisted_6 = [\"disabled\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n  const _component_mini_spinner = _resolveComponent(\"mini-spinner\")!\n\n  return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n    _createElementVNode(\"div\", _hoisted_2, [\n      _createElementVNode(\"fieldset\", null, [\n        _hoisted_3,\n        _createElementVNode(\"div\", _hoisted_4, [\n          _withDirectives(_createElementVNode(\"input\", {\n            class: \"api-key-input\",\n            name: \"secret\",\n            type: \"text\",\n            placeholder: \"Incolla qui il codice per l'attivazione\",\n            id: \"secret\",\n            \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.userSecretKey) = $event))\n          }, null, 512), [\n            [_vModelText, _ctx.userSecretKey]\n          ])\n        ]),\n        (_ctx.done)\n          ? (_openBlock(), _createElementBlock(\"label\", _hoisted_5, \"Attivazione completata!\"))\n          : (!_ctx.loading && !_ctx.done)\n            ? (_openBlock(), _createElementBlock(\"input\", {\n                key: 1,\n                class: \"unlock-now-button\",\n                id: \"unlockButton\",\n                type: \"button\",\n                value: \"OK\",\n                title: \"Unlock service\",\n                alt: \"Unlock service\",\n                onClick: _cache[1] || (_cache[1] = \n//@ts-ignore\n(...args) => (_ctx.activate && _ctx.activate(...args))),\n                disabled: !_ctx.userSecretKey\n              }, null, 8, _hoisted_6))\n            : _createCommentVNode(\"\", true)\n      ])\n    ]),\n    (_ctx.loading)\n      ? (_openBlock(), _createBlock(_component_mini_spinner, { key: 0 }))\n      : _createCommentVNode(\"\", true)\n  ]))\n}","<template>\r\n    <div class=\"unlock-provider-form\">\r\n        <div class=\"unlock-api\">\r\n            <fieldset>\r\n                <legend class=\"api-key-label\">Incolla qui il codice per l'attivazione</legend>\r\n                <div class=\"api-key-input-outer\" id=\"secretDiv\">\r\n                    <input class=\"api-key-input\" name=\"secret\" type=\"text\" placeholder=\"Incolla qui il codice per l'attivazione\" id=\"secret\" v-model=\"userSecretKey\">\r\n                </div>\r\n                <label id=\"successMessage\" class=\"active-label\" v-if=\"done\">Attivazione completata!</label>\r\n                <input class=\"unlock-now-button\" id=\"unlockButton\" type=\"button\" value=\"OK\" title=\"Unlock service\" alt=\"Unlock service\" @click=\"activate\" :disabled=\"!userSecretKey\" v-else-if=\"!loading && !done\">\r\n            </fieldset>\r\n        </div>\r\n        <mini-spinner v-if=\"loading\"></mini-spinner>\r\n    </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { Options, Vue } from 'vue-class-component';\r\nimport { getQueryParams } from '@/utils';\r\nimport { MarketplaceClient } from '@/services/Services'\r\n\r\n@Options({})\r\nexport default class marketplaceActivation extends Vue {\r\n\r\n    GET_PARAMETER_APICLAIM = 'apiClaim';\r\n    GET_PARAMETER_APITOKEN = 'apiToken';\r\n    GET_PARAMETER_CACHE_ID = 'parameterCacheId';\r\n    GET_PARAMETER_SIGNATURE = 'signature';\r\n    GET_PARAMETER_USERID = 'userId';\r\n    GET_PARAMETER_CUSTOMERWEBID = 'customerWebId';\r\n    \r\n\r\n    userSecretKey: string = \"\";\r\n    loading: boolean = false;\r\n    done: boolean = false;\r\n\r\n    $unlockProviderData: string = \"\";\r\n    getParameterApiToken: string = \"\";\r\n    getParameterCacheId: string = \"\";\r\n    getParameterApiClaim: string = \"\";\r\n    getParameterUserId: string = \"\";\r\n    getParameterCustomerWebId: string = \"\";\r\n\r\n    created(){\r\n        this.getParameterApiToken = getQueryParams()[this.GET_PARAMETER_APITOKEN];\r\n        this.getParameterCacheId = getQueryParams()[this.GET_PARAMETER_CACHE_ID];\r\n        this.getParameterApiClaim = getQueryParams()[this.GET_PARAMETER_APICLAIM];\r\n        this.getParameterUserId = getQueryParams()[this.GET_PARAMETER_USERID];\r\n        this.getParameterCustomerWebId = getQueryParams()[this.GET_PARAMETER_CUSTOMERWEBID];\r\n\r\n        let url = window.document.location.href;\r\n        let questionPosition = url.indexOf(\"?\");\r\n        let urlWithoutParameters = url.substring(0, questionPosition);\r\n        let parameters = url.substring(questionPosition);\r\n        let signaturePosition = parameters.indexOf('&signature=');\r\n        let signature = parameters.substring('&signature='.length + signaturePosition);\r\n        let parametersWithoutSignature = parameters.substring(0, signaturePosition);\r\n        let message = urlWithoutParameters + parametersWithoutSignature;\r\n        MarketplaceClient.checkSignature(message, signature)\r\n        .then(x => {\r\n            console.log(x);\r\n        })\r\n\r\n    }\r\n    \r\n    activate(){\r\n        this.loading = true;\r\n        MarketplaceClient.activateMarketplace(this.userSecretKey, this.getParameterApiToken, this.getParameterApiClaim, this.getParameterCacheId, this.getParameterUserId, this.getParameterCustomerWebId, false)\r\n        .then(x => {\r\n            this.done = true;\r\n            var target = window.parent;\r\n            target.postMessage(\"active\", '*');\r\n        })\r\n        .catch(err => {\r\n            var target = window.parent;\r\n            target.postMessage(\"Error during activation of the service\", '*');\r\n        })\r\n        .finally(() => this.loading = false);\r\n    }\r\n\r\n}\r\n</script>\r\n\r\n<style scoped>\r\n\r\n.unlock-provider-form .unlock-api {\r\n    margin: 5px\r\n}\r\n\r\n.unlock-provider-form .unlock-api fieldset {\r\n    border: 1px solid #d3d3d3\r\n}\r\n\r\n.unlock-provider-form .api-key-input {\r\n    width: 75%;\r\n    padding: 5px;\r\n    float: left\r\n}\r\n\r\n.unlock-provider-form .unlock-now-button {\r\n    float: right;\r\n    width: 21%;\r\n    padding: 5px;\r\n    background-color: #ee7d01;\r\n    color: #fff;\r\n    border: 1px solid #ee7d01;\r\n    cursor: pointer\r\n}\r\n\r\n.unlock-provider-form .active-label {\r\n    font-weight: 700;\r\n    color: #92c140;\r\n    margin-left: 10px;\r\n    display: inline-block;\r\n    padding-top: 7px;\r\n}\r\n\r\n\r\n</style>\r\n","import { render } from \"./marketplaceActivation.vue?vue&type=template&id=4dfef3f2&scoped=true&ts=true\"\nimport script from \"./marketplaceActivation.vue?vue&type=script&lang=ts\"\nexport * from \"./marketplaceActivation.vue?vue&type=script&lang=ts\"\n\nimport \"./marketplaceActivation.vue?vue&type=style&index=0&id=4dfef3f2&scoped=true&lang=css\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4dfef3f2\"]])\n\nexport default __exports__","import { openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-5f5e3936\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"spinner\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n  return (_openBlock(), _createElementBlock(\"div\", _hoisted_1))\n}","<template>\r\n    <div class=\"spinner\">\r\n    </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport * as OM from '@/model';\r\nimport { Options, Vue } from 'vue-class-component';\r\n\r\n@Options({})\r\nexport default class MiniSpinner extends Vue {\r\n\r\n}\r\n\r\n</script>\r\n<style scoped>\r\n    @keyframes spinner {\r\n        100% {\r\n            transform: rotate(360deg);\r\n        }\r\n    }\r\n\r\n    .spinner {\r\n        position: relative;\r\n        height: 30px;\r\n        width: 30px;\r\n        margin: auto;\r\n    }\r\n    \r\n    .spinner:before {\r\n        content: '';\r\n        box-sizing: border-box;\r\n        position: absolute;\r\n        top: 50%;\r\n        left: 50%;\r\n        width: 40px;\r\n        height: 40px;\r\n        margin-top: -20px;\r\n        margin-left: -20px;\r\n        border-radius: 50%;\r\n        border-top: 6px solid #80acd3;\r\n        border-right: 6px solid transparent;\r\n        animation: spinner .6s linear infinite;\r\n        border-left: 6px solid transparent;\r\n        border-bottom: 6px solid #494c56;\r\n    }\r\n</style>\r\n","import { render } from \"./miniSpinner.vue?vue&type=template&id=5f5e3936&scoped=true&ts=true\"\nimport script from \"./miniSpinner.vue?vue&type=script&lang=ts\"\nexport * from \"./miniSpinner.vue?vue&type=script&lang=ts\"\n\nimport \"./miniSpinner.vue?vue&type=style&index=0&id=5f5e3936&scoped=true&lang=css\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-5f5e3936\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"opModal alertModal\" }\nconst _hoisted_2 = {\n  key: 0,\n  class: \"header\"\n}\nconst _hoisted_3 = [\"innerHTML\"]\nconst _hoisted_4 = { class: \"body\" }\nconst _hoisted_5 = [\"innerHTML\"]\nconst _hoisted_6 = { class: \"mt-3 mw-700\" }\nconst _hoisted_7 = [\"innerHTML\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n  return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n    (_ctx.title)\n      ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n          _createElementVNode(\"span\", { innerHTML: _ctx.title }, null, 8, _hoisted_3)\n        ]))\n      : _createCommentVNode(\"\", true),\n    _createElementVNode(\"div\", _hoisted_4, [\n      _createElementVNode(\"span\", { innerHTML: _ctx.text }, null, 8, _hoisted_5),\n      _createElementVNode(\"div\", _hoisted_6, [\n        _createElementVNode(\"button\", {\n          type: \"button\",\n          class: \"btn btn-primary\",\n          onClick: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => (_ctx.ok && _ctx.ok(...args))),\n          ref: \"okButton\"\n        }, [\n          _createElementVNode(\"span\", { innerHTML: _ctx.okText }, null, 8, _hoisted_7)\n        ], 512)\n      ])\n    ])\n  ]))\n}","<template>\r\n<div class=\"opModal alertModal\">\r\n    <div class=\"header\" v-if=\"title\">\r\n        <span v-html=\"title\"></span>\r\n    </div>\r\n    <div class=\"body\">\r\n        <span v-html=\"text\"></span>\r\n        <div class=\"mt-3 mw-700\">\r\n            <button type=\"button\" class=\"btn btn-primary\" @click=\"ok\" ref=\"okButton\">\r\n                <span v-html=\"okText\"></span>\r\n            </button>\r\n        </div>\r\n    </div>\r\n</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { Options, Vue } from 'vue-class-component';\r\nimport { Prop, Watch } from 'vue-property-decorator';\r\n\r\n@Options({})\r\nexport default class AlertModal extends Vue {\r\n\r\n    @Prop() title: string;\r\n    @Prop() text: string;\r\n    @Prop({\r\n        default: 'OK'\r\n    }) okText: string;\r\n    @Prop() okCallback: () => Promise<any>;\r\n\r\n    async ok(){\r\n        if(this.okCallback){\r\n            await this.okCallback();\r\n        }\r\n        this.$emit('close');\r\n    }\r\n\r\n    mounted(){\r\n        (<HTMLButtonElement>this.$refs.okButton).focus();\r\n    }\r\n\r\n}\r\n</script>\r\n<style scoped>\r\n\r\n</style>","import { render } from \"./alertModal.vue?vue&type=template&id=51865ce4&ts=true\"\nimport script from \"./alertModal.vue?vue&type=script&lang=ts\"\nexport * from \"./alertModal.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"opModal confirmModal\" }\nconst _hoisted_2 = {\n  key: 0,\n  class: \"header\"\n}\nconst _hoisted_3 = [\"innerHTML\"]\nconst _hoisted_4 = { class: \"body\" }\nconst _hoisted_5 = [\"innerHTML\"]\nconst _hoisted_6 = { class: \"mt-3 mw-700\" }\nconst _hoisted_7 = [\"innerHTML\"]\nconst _hoisted_8 = [\"innerHTML\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n  return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n    (_ctx.title)\n      ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n          _createElementVNode(\"span\", { innerHTML: _ctx.title }, null, 8, _hoisted_3)\n        ]))\n      : _createCommentVNode(\"\", true),\n    _createElementVNode(\"div\", _hoisted_4, [\n      _createElementVNode(\"span\", { innerHTML: _ctx.text }, null, 8, _hoisted_5),\n      _createElementVNode(\"div\", _hoisted_6, [\n        _createElementVNode(\"div\", null, [\n          _createElementVNode(\"button\", {\n            type: \"button\",\n            class: \"btn btn-primary\",\n            onClick: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => (_ctx.ok && _ctx.ok(...args)))\n          }, [\n            _createElementVNode(\"span\", { innerHTML: _ctx.okText }, null, 8, _hoisted_7)\n          ])\n        ]),\n        _createElementVNode(\"div\", null, [\n          _createElementVNode(\"button\", {\n            type: \"button\",\n            class: \"btn btn-hollow mt-2\",\n            onClick: _cache[1] || (_cache[1] = \n//@ts-ignore\n(...args) => (_ctx.ko && _ctx.ko(...args)))\n          }, [\n            _createElementVNode(\"span\", { innerHTML: _ctx.koText }, null, 8, _hoisted_8)\n          ])\n        ])\n      ])\n    ])\n  ]))\n}","<template>\r\n<div class=\"opModal confirmModal\">\r\n    <div class=\"header\" v-if=\"title\">\r\n        <span v-html=\"title\"></span>\r\n    </div>\r\n    <div class=\"body\">\r\n        <span v-html=\"text\"></span>\r\n        <div class=\"mt-3 mw-700\">\r\n            <div>\r\n                <button type=\"button\" class=\"btn btn-primary\" @click=\"ok\">\r\n                    <span v-html=\"okText\"></span>\r\n                </button>\r\n            </div>\r\n            <div>\r\n                <button type=\"button\" class=\"btn btn-hollow mt-2\" @click=\"ko\">\r\n                    <span v-html=\"koText\"></span>\r\n                </button>\r\n            </div>\r\n        </div>\r\n    </div>\r\n</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { Options, Vue } from 'vue-class-component';\r\nimport { Prop, Watch } from 'vue-property-decorator';\r\n\r\n@Options({})\r\nexport default class ConfirmModal extends Vue {\r\n\r\n    @Prop() title: string;\r\n    @Prop() text: string;\r\n    @Prop({\r\n        default: 'OK'\r\n    }) okText: string;\r\n    @Prop({\r\n        default: 'Annulla'\r\n    }) koText: string;\r\n    @Prop() okCallback: () => Promise<any>;\r\n    @Prop() koCallback: () => Promise<any>;\r\n\r\n    async ok(){\r\n        if(this.okCallback){\r\n            await this.okCallback();\r\n        }\r\n        this.$emit('close');\r\n    }\r\n\r\n    async ko(){\r\n        if(this.koCallback){\r\n            await this.koCallback();\r\n        }\r\n        this.$emit('close');\r\n    }\r\n\r\n}\r\n</script>\r\n<style scoped>\r\n\r\n</style>","import { render } from \"./confirmModal.vue?vue&type=template&id=7ef852da&ts=true\"\nimport script from \"./confirmModal.vue?vue&type=script&lang=ts\"\nexport * from \"./confirmModal.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, vModelText as _vModelText, withDirectives as _withDirectives } from \"vue\"\n\nconst _hoisted_1 = { class: \"opModal inputModal\" }\nconst _hoisted_2 = {\n  key: 0,\n  class: \"header\"\n}\nconst _hoisted_3 = [\"innerHTML\"]\nconst _hoisted_4 = { class: \"body\" }\nconst _hoisted_5 = [\"innerHTML\"]\nconst _hoisted_6 = { class: \"mt-2\" }\nconst _hoisted_7 = [\"placeholder\"]\nconst _hoisted_8 = { class: \"mt-5 mw-700\" }\nconst _hoisted_9 = [\"innerHTML\"]\nconst _hoisted_10 = [\"innerHTML\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n  return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n    (_ctx.title)\n      ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n          _createElementVNode(\"span\", { innerHTML: _ctx.title }, null, 8, _hoisted_3)\n        ]))\n      : _createCommentVNode(\"\", true),\n    _createElementVNode(\"div\", _hoisted_4, [\n      _createElementVNode(\"span\", { innerHTML: _ctx.text }, null, 8, _hoisted_5),\n      _createElementVNode(\"div\", _hoisted_6, [\n        _withDirectives(_createElementVNode(\"input\", {\n          type: \"text\",\n          class: \"form-control\",\n          placeholder: _ctx.placeholder,\n          \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.input) = $event))\n        }, null, 8, _hoisted_7), [\n          [_vModelText, _ctx.input]\n        ])\n      ]),\n      _createElementVNode(\"div\", _hoisted_8, [\n        _createElementVNode(\"button\", {\n          type: \"button\",\n          class: \"btn btn-block btn-primary\",\n          onClick: _cache[1] || (_cache[1] = \n//@ts-ignore\n(...args) => (_ctx.ok && _ctx.ok(...args)))\n        }, [\n          _createElementVNode(\"span\", { innerHTML: _ctx.okText }, null, 8, _hoisted_9)\n        ]),\n        _createElementVNode(\"button\", {\n          type: \"button\",\n          class: \"btn btn-block btn-link mt-2\",\n          onClick: _cache[2] || (_cache[2] = \n//@ts-ignore\n(...args) => (_ctx.ko && _ctx.ko(...args)))\n        }, [\n          _createElementVNode(\"span\", { innerHTML: _ctx.koText }, null, 8, _hoisted_10)\n        ])\n      ])\n    ])\n  ]))\n}","<template>\r\n<div class=\"opModal inputModal\">\r\n    <div class=\"header\" v-if=\"title\">\r\n        <span v-html=\"title\"></span>\r\n    </div>\r\n    <div class=\"body\">\r\n        <span v-html=\"text\"></span>\r\n        <div class=\"mt-2\">\r\n            <input type=\"text\" class=\"form-control\" :placeholder=\"placeholder\" v-model=\"input\" />\r\n        </div>\r\n        <div class=\"mt-5 mw-700\">\r\n            <button type=\"button\" class=\"btn btn-block btn-primary\" @click=\"ok\">\r\n                <span v-html=\"okText\"></span>\r\n            </button>\r\n            <button type=\"button\" class=\"btn btn-block btn-link mt-2\" @click=\"ko\">\r\n                <span v-html=\"koText\"></span>\r\n            </button>\r\n        </div>\r\n    </div>\r\n</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { Options, Vue } from 'vue-class-component';\r\nimport { Prop, Watch } from 'vue-property-decorator';\r\n\r\n@Options({})\r\nexport default class ConfirmModal extends Vue {\r\n\r\n    @Prop() title: string;\r\n    @Prop() text: string;\r\n    @Prop({\r\n        default: 'OK'\r\n    }) okText: string;\r\n    @Prop({\r\n        default: 'Annulla'\r\n    }) koText: string;\r\n    @Prop({\r\n        default: 'Scrivi qui'\r\n    }) placeholder: string;\r\n    @Prop() value: string;\r\n    @Prop() okCallback: (input: string) => Promise<any>;\r\n    @Prop() koCallback: () => Promise<any>;\r\n\r\n    input: string = \"\";\r\n\r\n    created(){\r\n        if(this.value){\r\n            this.input = this.value;\r\n        }\r\n    }\r\n\r\n    async ok(){\r\n        if(this.okCallback){\r\n            await this.okCallback(this.input);\r\n        }\r\n        this.$emit('close');\r\n    }\r\n\r\n    async ko(){\r\n        if(this.koCallback){\r\n            await this.koCallback();\r\n        }\r\n        this.$emit('close');\r\n    }\r\n\r\n}\r\n</script>\r\n<style scoped>\r\n\r\n</style>","import { render } from \"./inputModal.vue?vue&type=template&id=41eb81b0&ts=true\"\nimport script from \"./inputModal.vue?vue&type=script&lang=ts\"\nexport * from \"./inputModal.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = [\"disabled\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n  return (_openBlock(), _createElementBlock(\"input\", {\n    ref: \"input\",\n    disabled: _ctx.readonly\n  }, null, 8, _hoisted_1))\n}","<template>\r\n    <input ref=\"input\" :disabled=\"readonly\" />\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { Component, Prop, Watch } from \"vue-property-decorator\";\r\nimport \"flatpickr/dist/flatpickr.min.css\";\r\nimport flatpickr from \"flatpickr\";\r\nimport { mixins, Options, Vue } from \"vue-class-component\";\r\nimport WithModel from \"@/mixins/withModel\";\r\nimport { isValidDate } from '@/utils'\r\n\r\n@Options({})\r\nexport default class OpDate extends mixins(WithModel) {\r\n\r\n    @Prop({\r\n        required: false,\r\n        default: 'd/m/Y'\r\n    }) format: string;\r\n    @Prop() initialvalue: any;\r\n    @Prop() minDate: any;\r\n    @Prop() readonly: any;\r\n\r\n    fp: any = null;\r\n    mounted(){\r\n        var initialDate = null;\r\n        if(this.modelValue){\r\n            initialDate = new Date(this.modelValue).toISOString();\r\n        } else {\r\n            if(this.initialvalue !== undefined){\r\n                initialDate = this.initialvalue;\r\n            } else {\r\n                // this.emitModel(date);\r\n            }\r\n        }\r\n\r\n        this.fp = flatpickr(this.$refs.input as HTMLInputElement, {\r\n            defaultDate: initialDate,\r\n            dateFormat: this.format,\r\n            allowInput: true,\r\n            parseDate: (datestr, format) => {\r\n\r\n                let date = new Date(datestr);\r\n                if(isValidDate(date) && date.toISOString() == datestr){\r\n                    this.emitModel(date.toISOString());\r\n                    return date;\r\n                }\r\n\r\n                if(datestr.indexOf(\"/\") > -1 || datestr.indexOf(\"-\") > -1 || datestr.indexOf(\".\") > -1){\r\n                    datestr = datestr.replaceAll(\"/\", \"\");\r\n                    datestr = datestr.replaceAll(\"-\", \"\");\r\n                    datestr = datestr.replaceAll(\".\", \"\");\r\n                }\r\n                var giorno = datestr.substring(0, 2);\r\n                var mese = datestr.substring(2, 4);\r\n                var anno = datestr.substring(4, 8);\r\n\r\n                let ris = new Date(parseInt(anno), parseInt(mese) - 1, parseInt(giorno));\r\n                this.emitModel(ris.toISOString());\r\n                return ris;\r\n            },\r\n            onChange: (val) => {\r\n                this.emitModel(val[0].toISOString());\r\n                // this.emitModel(this.validateDate(val[0]));\r\n            },\r\n            minDate: this.minDate\r\n        });\r\n    }\r\n\r\n    beforeUnmount() {\r\n        this.fp.destroy();\r\n    }\r\n\r\n    @Watch('value')\r\n    onValueChange(next, prev){\r\n        var data = null;\r\n        if(next !== null){\r\n            data = new Date(next).toISOString();\r\n        }\r\n        this.fp.setDate(data, false);\r\n    }\r\n\r\n    validateDate(inputDate: Date){\r\n        if(this.isValidDate(inputDate)){\r\n            let years = inputDate.getFullYear().toString();\r\n            while(years.length < 4){\r\n                years = \"0\" + years;\r\n            } \r\n            let months = (inputDate.getMonth() + 1).toString();\r\n            if(months.length < 2) months = \"0\" + months;\r\n            let days = inputDate.getDate().toString();\r\n            if(days.length < 2) days = \"0\" + days;\r\n            return years +  \"-\" + months + \"-\" + days;\r\n        }\r\n    }\r\n    \r\n    isValidDate(d: any) {\r\n        return d instanceof Date && !isNaN(d as any);\r\n    }\r\n\r\n}\r\n</script>\r\n\r\n<style scoped>\r\n\r\n</style>","import { render } from \"./opDate.vue?vue&type=template&id=11f8c040&ts=true\"\nimport script from \"./opDate.vue?vue&type=script&lang=ts\"\nexport * from \"./opDate.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { renderSlot as _renderSlot, resolveDynamicComponent as _resolveDynamicComponent, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n  return (_openBlock(), _createBlock(_resolveDynamicComponent(_ctx.component), {\n    items: _ctx.items,\n    filter: _ctx.filter,\n    itemsPerPage: _ctx.itemsPerPage,\n    ref: \"opTableRef\",\n    \"op-name\": _ctx.opName,\n    onFilteadrsCleared: _ctx.setFilters,\n    showUpperPagination: _ctx.showUpperPagination,\n    showLowerPagination: _ctx.showLowerPagination,\n    totalItemsCount: _ctx.totalItemsCount,\n    onSearch: _ctx.search,\n    \"clear-filters\": _ctx.clearFilters,\n    filtersFn: _ctx.filtersFn\n  }, {\n    default: _withCtx((slotProps) => [\n      _renderSlot(_ctx.$slots, \"default\", {\n        items: slotProps.items\n      })\n    ]),\n    _: 3\n  }, 40, [\"items\", \"filter\", \"itemsPerPage\", \"op-name\", \"onFilteadrsCleared\", \"showUpperPagination\", \"showLowerPagination\", \"totalItemsCount\", \"onSearch\", \"clear-filters\", \"filtersFn\"]))\n}","<template>\r\n    <component :is=\"component\" :items=\"items\" :filter=\"filter\" :itemsPerPage=\"itemsPerPage\" ref=\"opTableRef\"\r\n        :op-name=\"opName\" @filteadrsCleared=\"setFilters\" :showUpperPagination=\"showUpperPagination\" :showLowerPagination=\"showLowerPagination\"\r\n        :totalItemsCount=\"totalItemsCount\" @search=\"search\" :clear-filters=\"clearFilters\" :filtersFn=\"filtersFn\">\r\n        \r\n        <template v-slot:default=\"slotProps\">\r\n            <slot :items=\"slotProps.items\"  />\r\n        </template>\r\n    </component>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport opTableLocal from '@/components/opTable/opTableLocal.vue';\r\nimport opTableServerSide from '@/components/opTable/opTableServerSide.vue';\r\nimport { StorageServices } from '@/services/StorageServices';\r\nimport store from '@/store';\r\nimport { markRaw } from 'vue';\r\nimport { Options, Vue } from 'vue-class-component';\r\nimport { Prop } from 'vue-property-decorator';\r\n\r\n@Options({\r\n    components: {\r\n        opTableLocal,\r\n        opTableServerSide\r\n    }\r\n})\r\nexport default class OpTable extends Vue {\r\n    @Prop({\r\n        default: []\r\n    }) items: any[];\r\n    @Prop({\r\n        default: true\r\n    }) showUpperPagination: boolean;\r\n    @Prop({\r\n        default: true\r\n    }) showLowerPagination: boolean;\r\n    @Prop({\r\n        type: Number,\r\n        default: 10\r\n    }) itemsPerPage: number;\r\n    @Prop({\r\n        required: false\r\n    }) filter: any;\r\n    @Prop() name: string;\r\n    @Prop({ default: () => { return {} } }) filtersFn: any;\r\n    @Prop({\r\n        required: false\r\n    }) totalItemsCount: number;\r\n    @Prop() clearFilters: number;\r\n\r\n    search(filter){\r\n        this.$emit(\"search\", this.filter)\r\n    }\r\n\r\n    component: any = null;\r\n\r\n    opName: string = \"\";\r\n\r\n    created(){\r\n        this.opName = this.name || this.$route.path;\r\n\r\n        if(this.filter){\r\n            this.component = markRaw(opTableServerSide);\r\n            let filters = StorageServices.getOpTableFilters(this.opName);\r\n            for(let p in filters){\r\n                this.filter[p] = filters[p];\r\n            }\r\n        } else {\r\n            this.component = markRaw(opTableLocal);\r\n        }\r\n\r\n        store.state.beforeNavCbs.push((to, from, next) => {\r\n            this.setFilters();\r\n            next();\r\n        })\r\n         \r\n        window.addEventListener('beforeunload', this.setFilters);\r\n    }\r\n\r\n    beforeUnmount(){\r\n        this.setFilters();\r\n        window.removeEventListener('beforeunload', this.setFilters);\r\n    }\r\n\r\n    setFilters(){\r\n        if(this.filter){\r\n            StorageServices.setOpTableFilters(this.opName, this.filter);\r\n        } else {\r\n            let opTableComponent = this.$refs.opTableRef as any;\r\n            if(!opTableComponent)\r\n                return;\r\n            let filters = opTableComponent.filterInputs;\r\n            let toSave = {};\r\n            filters.forEach(x => {\r\n                toSave[x.name] = x.value;\r\n            });\r\n            StorageServices.setOpTableFilters(this.opName, toSave);\r\n        }\r\n    }\r\n\r\n\r\n\r\n}\r\n</script>\r\n","import { render } from \"./opTable.vue?vue&type=template&id=75cde7d6&ts=true\"\nimport script from \"./opTable.vue?vue&type=script&lang=ts\"\nexport * from \"./opTable.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, vModelSelect as _vModelSelect, withDirectives as _withDirectives, createTextVNode as _createTextVNode, createCommentVNode as _createCommentVNode, renderSlot as _renderSlot } from \"vue\"\n\nconst _hoisted_1 = { ref: \"rootElement\" }\nconst _hoisted_2 = {\n  key: 0,\n  class: \"opPaginationContainer top\"\n}\nconst _hoisted_3 = { class: \"opSvuotaFiltri\" }\nconst _hoisted_4 = { class: \"opPaginationNumberContainer\" }\nconst _hoisted_5 = [\"onClick\"]\nconst _hoisted_6 = /*#__PURE__*/_createElementVNode(\"option\", { value: 10 }, \"10\", -1)\nconst _hoisted_7 = /*#__PURE__*/_createElementVNode(\"option\", { value: 25 }, \"25\", -1)\nconst _hoisted_8 = /*#__PURE__*/_createElementVNode(\"option\", { value: 50 }, \"50\", -1)\nconst _hoisted_9 = /*#__PURE__*/_createElementVNode(\"option\", { value: 100 }, \"100\", -1)\nconst _hoisted_10 = [\n  _hoisted_6,\n  _hoisted_7,\n  _hoisted_8,\n  _hoisted_9\n]\nconst _hoisted_11 = { class: \"opItemsTotal\" }\nconst _hoisted_12 = { class: \"opItemsTotalText\" }\nconst _hoisted_13 = {\n  class: \"mb-4\",\n  style: {\"width\":\"100%\",\"overflow-x\":\"auto\"}\n}\nconst _hoisted_14 = {\n  class: \"opTable\",\n  ref: \"tableRoot\"\n}\nconst _hoisted_15 = {\n  key: 1,\n  class: \"opPaginationContainer bottom\"\n}\nconst _hoisted_16 = { class: \"opSvuotaFiltri\" }\nconst _hoisted_17 = { class: \"opPaginationNumberContainer\" }\nconst _hoisted_18 = [\"onClick\"]\nconst _hoisted_19 = /*#__PURE__*/_createElementVNode(\"option\", { value: 10 }, \"10\", -1)\nconst _hoisted_20 = /*#__PURE__*/_createElementVNode(\"option\", { value: 25 }, \"25\", -1)\nconst _hoisted_21 = /*#__PURE__*/_createElementVNode(\"option\", { value: 50 }, \"50\", -1)\nconst _hoisted_22 = /*#__PURE__*/_createElementVNode(\"option\", { value: 100 }, \"100\", -1)\nconst _hoisted_23 = [\n  _hoisted_19,\n  _hoisted_20,\n  _hoisted_21,\n  _hoisted_22\n]\nconst _hoisted_24 = { class: \"opItemsTotal\" }\nconst _hoisted_25 = { class: \"opItemsTotalText\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n  const _component_localized_text = _resolveComponent(\"localized-text\")!\n\n  return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n    (_ctx.showUpperPagination)\n      ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n          _createElementVNode(\"div\", _hoisted_3, [\n            _createElementVNode(\"button\", {\n              type: \"button\",\n              class: \"btn btn-sm btn-link\",\n              onClick: _cache[0] || (_cache[0] = () => _ctx.onClearFilters(null, null))\n            }, [\n              _createVNode(_component_localized_text, {\n                localizedKey: \"Svuota filtri\",\n                text: \"Svuota filtri\"\n              })\n            ])\n          ]),\n          _createElementVNode(\"div\", _hoisted_4, [\n            _createElementVNode(\"div\", {\n              class: \"opPaginationNumber\",\n              onClick: _cache[1] || (_cache[1] = \n//@ts-ignore\n(...args) => (_ctx.subtractPage && _ctx.subtractPage(...args)))\n            }, \" < \"),\n            (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.pages, (i) => {\n              return (_openBlock(), _createElementBlock(\"div\", {\n                class: _normalizeClass([\"opPaginationNumber\", {selected: _ctx.selectedPage == i}]),\n                key: i,\n                onClick: ($event: any) => (_ctx.setSelectedPage(i))\n              }, _toDisplayString(i), 11, _hoisted_5))\n            }), 128)),\n            _createElementVNode(\"div\", {\n              class: \"opPaginationNumber\",\n              onClick: _cache[2] || (_cache[2] = \n//@ts-ignore\n(...args) => (_ctx.addPage && _ctx.addPage(...args)))\n            }, \" > \"),\n            _withDirectives(_createElementVNode(\"select\", {\n              class: \"opItemsPerPage\",\n              \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((_ctx.xItemsPerPage) = $event))\n            }, _hoisted_10, 512), [\n              [_vModelSelect, _ctx.xItemsPerPage]\n            ])\n          ]),\n          _createElementVNode(\"div\", _hoisted_11, [\n            _createTextVNode(\"Totale: \"),\n            _createElementVNode(\"span\", _hoisted_12, _toDisplayString(_ctx.xData.length), 1)\n          ])\n        ]))\n      : _createCommentVNode(\"\", true),\n    _createElementVNode(\"div\", _hoisted_13, [\n      _createElementVNode(\"table\", _hoisted_14, [\n        _renderSlot(_ctx.$slots, \"default\", { items: _ctx.paginated })\n      ], 512)\n    ]),\n    (_ctx.showLowerPagination)\n      ? (_openBlock(), _createElementBlock(\"div\", _hoisted_15, [\n          _createElementVNode(\"div\", _hoisted_16, [\n            _createElementVNode(\"button\", {\n              type: \"button\",\n              class: \"btn btn-sm btn-link\",\n              onClick: _cache[4] || (_cache[4] = () => _ctx.onClearFilters(null, null))\n            }, [\n              _createVNode(_component_localized_text, {\n                localizedKey: \"Svuota filtri\",\n                text: \"Svuota filtri\"\n              })\n            ])\n          ]),\n          _createElementVNode(\"div\", _hoisted_17, [\n            _createElementVNode(\"div\", {\n              class: \"opPaginationNumber\",\n              onClick: _cache[5] || (_cache[5] = \n//@ts-ignore\n(...args) => (_ctx.subtractPage && _ctx.subtractPage(...args)))\n            }, \" < \"),\n            (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.pages, (i) => {\n              return (_openBlock(), _createElementBlock(\"div\", {\n                class: _normalizeClass([\"opPaginationNumber\", {selected: _ctx.selectedPage == i}]),\n                key: i,\n                onClick: ($event: any) => (_ctx.setSelectedPage(i))\n              }, _toDisplayString(i), 11, _hoisted_18))\n            }), 128)),\n            _createElementVNode(\"div\", {\n              class: \"opPaginationNumber\",\n              onClick: _cache[6] || (_cache[6] = \n//@ts-ignore\n(...args) => (_ctx.addPage && _ctx.addPage(...args)))\n            }, \" > \"),\n            _withDirectives(_createElementVNode(\"select\", {\n              class: \"opItemsPerPage\",\n              \"onUpdate:modelValue\": _cache[7] || (_cache[7] = ($event: any) => ((_ctx.xItemsPerPage) = $event))\n            }, _hoisted_23, 512), [\n              [_vModelSelect, _ctx.xItemsPerPage]\n            ])\n          ]),\n          _createElementVNode(\"div\", _hoisted_24, [\n            _createTextVNode(\"Totale: \"),\n            _createElementVNode(\"span\", _hoisted_25, _toDisplayString(_ctx.xData.length), 1)\n          ])\n        ]))\n      : _createCommentVNode(\"\", true)\n  ], 512))\n}","<template>\r\n    <div ref=\"rootElement\">\r\n        <div class=\"opPaginationContainer top\" v-if=\"showUpperPagination\">\r\n            <div class=\"opSvuotaFiltri\">\r\n                <button type=\"button\" class=\"btn btn-sm btn-link\" @click=\"() => onClearFilters(null, null)\">\r\n                    <localized-text localizedKey=\"Svuota filtri\" text=\"Svuota filtri\"></localized-text>\r\n                </button>\r\n            </div>\r\n            <div class=\"opPaginationNumberContainer\">\r\n                <div class=\"opPaginationNumber\" @click=\"subtractPage\">\r\n                    &lt;\r\n                </div>\r\n                <div class=\"opPaginationNumber\" v-for=\"i in pages\" :key=\"i\"\r\n                    :class=\"{selected: selectedPage == i}\" @click=\"setSelectedPage(i)\">\r\n                    {{i}}\r\n                </div>\r\n                <div class=\"opPaginationNumber\" @click=\"addPage\">\r\n                    &gt;\r\n                </div>\r\n                <select class=\"opItemsPerPage\" v-model=\"xItemsPerPage\">\r\n                    <option :value=\"10\">10</option>\r\n                    <option :value=\"25\">25</option>\r\n                    <option :value=\"50\">50</option>\r\n                    <option :value=\"100\">100</option>\r\n                </select>\r\n            </div>\r\n            <div class=\"opItemsTotal\">Totale: <span class=\"opItemsTotalText\">{{xData.length}}</span></div>\r\n        </div>\r\n        <div class=\"mb-4\" style=\"width: 100%; overflow-x: auto\">\r\n            <table class=\"opTable\" ref=\"tableRoot\">\r\n                <slot :items=\"paginated\"></slot>\r\n            </table>\r\n        </div>\r\n        <div class=\"opPaginationContainer bottom\" v-if=\"showLowerPagination\">\r\n            <div class=\"opSvuotaFiltri\">\r\n                <button type=\"button\" class=\"btn btn-sm btn-link\" @click=\"() => onClearFilters(null, null)\">\r\n                    <localized-text localizedKey=\"Svuota filtri\" text=\"Svuota filtri\"></localized-text>\r\n                </button>\r\n            </div>\r\n            <div class=\"opPaginationNumberContainer\">\r\n                <div class=\"opPaginationNumber\" @click=\"subtractPage\">\r\n                    &lt;\r\n                </div>\r\n                <div class=\"opPaginationNumber\" v-for=\"i in pages\" :key=\"i\"\r\n                    :class=\"{selected: selectedPage == i}\" @click=\"setSelectedPage(i)\">\r\n                    {{i}}\r\n                </div>\r\n                <div class=\"opPaginationNumber\" @click=\"addPage\">\r\n                    &gt;\r\n                </div>\r\n                <select class=\"opItemsPerPage\" v-model=\"xItemsPerPage\">\r\n                    <option :value=\"10\">10</option>\r\n                    <option :value=\"25\">25</option>\r\n                    <option :value=\"50\">50</option>\r\n                    <option :value=\"100\">100</option>\r\n                </select>\r\n            </div>\r\n            <div class=\"opItemsTotal\">Totale: <span class=\"opItemsTotalText\">{{xData.length}}</span></div>\r\n        </div>\r\n    </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { StorageServices } from '@/services/StorageServices';\r\nimport { Options, Vue } from 'vue-class-component';\r\nimport { Prop, Watch } from 'vue-property-decorator';\r\n\r\n@Options({})\r\nexport default class OpTable extends Vue {\r\n    @Prop() items: any[];\r\n    @Prop({\r\n        default: true\r\n    }) showUpperPagination: boolean;\r\n    @Prop({\r\n        default: true\r\n    }) showLowerPagination: boolean;\r\n    @Prop() opName: string;\r\n    @Prop({\r\n        type: Number,\r\n        default: 10\r\n    }) itemsPerPage: number;\r\n    @Prop() clearFilters: number;\r\n    @Prop({ default: () => { return {} } }) filtersFn: any;\r\n\r\n    tableRoot: any;\r\n    allItems: any[];\r\n    xData: any[] = [];\r\n    xItemsPerPage: number = 10;\r\n\r\n    filters: ((item: any) => boolean)[] = [];\r\n    sorts: SortDefinition[] = [];\r\n\r\n    totalPages: number = 0;\r\n    lowerPages: number = 0;\r\n    upperPages: number = 0;\r\n    pages: number[] = [];\r\n    selectedPage: number = 1;\r\n\r\n\r\n    setSelectedPage(index: number){\r\n        this.selectedPage = index;\r\n        this.calcPagination();\r\n    }\r\n    subtractPage(){\r\n        if(this.selectedPage > 1){\r\n            this.selectedPage--;\r\n            this.calcPagination();\r\n        }\r\n    }\r\n    addPage(){\r\n        if(this.selectedPage < this.totalPages){\r\n            this.selectedPage++;\r\n            this.calcPagination();\r\n        }\r\n    }\r\n\r\n    created(){\r\n        this.allItems = this.items.slice();\r\n        this.xData = this.allItems.slice();\r\n        this.xItemsPerPage = this.itemsPerPage;\r\n    }\r\n\r\n    @Watch('items.length')\r\n    onItemsChange(next, prev){\r\n        this.allItems = this.items.slice();\r\n        this.xData = this.allItems.slice();\r\n        this.applyFilters();\r\n        this.calcPagination();\r\n    }\r\n\r\n    mounted(){\r\n        var rootElement: any = this.$refs.rootElement;\r\n        var classes = [];\r\n        rootElement.classList.forEach(x => {\r\n            classes.push(x);\r\n        })\r\n        rootElement.classList.value = \"\";\r\n        this.tableRoot = this.$refs.tableRoot;\r\n        classes.forEach(x => this.tableRoot.classList.add(x));\r\n        \r\n        let headTds = this.tableRoot.querySelectorAll('thead td')\r\n        headTds.forEach(x => {\r\n            this.insertFilter(x);\r\n            this.insertSort(x);\r\n        })\r\n\r\n        let opFilters = StorageServices.getOpTableFilters(this.opName);\r\n        for(let p in opFilters){\r\n            let filterInput = this.filterInputs.find(x => x.name == p);\r\n            if(filterInput){\r\n                filterInput.value = opFilters[p];\r\n            }\r\n        }\r\n        this.applyFilters();\r\n        this.calcPagination();\r\n    }\r\n\r\n    @Watch('xItemsPerPage')\r\n    onItemsPerPageChange(next, prev){\r\n        this.calcPagination();\r\n    }\r\n\r\n    calcPagination(){\r\n        this.totalPages = Math.ceil((this.xData.length) / this.xItemsPerPage);\r\n        if(this.selectedPage > this.totalPages && this.selectedPage > 1){\r\n            this.selectedPage = this.totalPages;\r\n        }\r\n        this.lowerPages = this.selectedPage - 2;\r\n        this.upperPages = this.selectedPage + 2;\r\n\r\n        if(this.selectedPage == 1)\r\n            this.upperPages += 2;\r\n        else if(this.selectedPage == 2)\r\n            this.upperPages += 1;\r\n\r\n        if(this.selectedPage == this.totalPages)\r\n            this.lowerPages -= 2;\r\n        else if(this.selectedPage == this.totalPages - 1)\r\n            this.lowerPages -= 1;\r\n\r\n        if(this.upperPages > this.totalPages)\r\n            this.upperPages = this.totalPages;\r\n        if(this.lowerPages <= 0)\r\n            this.lowerPages = 1;\r\n            \r\n        this.pages = [];\r\n        for(let i = this.lowerPages; i <= this.upperPages; i++){\r\n            this.pages.push(i);\r\n        }\r\n    }\r\n    get paginated(){\r\n        let start = this.xItemsPerPage * (this.selectedPage - 1);\r\n        return this.xData.slice(start, start + this.xItemsPerPage) || [];\r\n    }\r\n\r\n    insertSort(element){\r\n        if(!element.hasAttribute('sort'))\r\n            return;\r\n\r\n        let prop = element.getAttribute('sort');\r\n        let sortDefinition = new SortDefinition();\r\n        sortDefinition.type = \"\";\r\n        sortDefinition.el = element;\r\n        element.onclick = () => {\r\n            if(!sortDefinition.type){\r\n                sortDefinition.type = 'asc';\r\n                element.classList.add('asc');\r\n            } else if(sortDefinition.type == 'asc') {\r\n                sortDefinition.type = 'desc';\r\n                element.classList.remove('asc');\r\n                element.classList.add('desc');\r\n            } else {\r\n                sortDefinition.type = '';\r\n                element.classList.remove('asc');\r\n                element.classList.remove('desc');\r\n            }\r\n            this.applySorts(sortDefinition);\r\n        }\r\n        sortDefinition.fn = (a, b) => {\r\n            let aValue = this.getValueByProp(a, prop);\r\n            let bValue = this.getValueByProp(b, prop);\r\n\r\n            if(!aValue) aValue = -1;\r\n            if(!bValue) bValue = -1;\r\n            let aVal = aValue.toString(); //.toString().toLowerCase().trim();\r\n            let bVal = bValue.toString(); //.toString().toLowerCase().trim();\r\n            let result = (<string>aVal).localeCompare(bVal, undefined, {\r\n                numeric: true,\r\n                sensitivity: 'base'\r\n            });\r\n            return sortDefinition.type == 'asc' ? -result : result;\r\n\r\n            // if (aVal < bVal)\r\n            //     return sortDefinition.type == 'asc' ? -1 : 1;\r\n            // if (aVal > bVal)\r\n            //     return sortDefinition.type == 'asc' ? 1 : -1;\r\n            // return 0;\r\n        }\r\n        this.sorts.push(sortDefinition);\r\n    }\r\n\r\n    filterInputs: HTMLInputElement[] = [];\r\n    insertFilter(element){\r\n        if(!element.hasAttribute('filter'))\r\n            return;\r\n\r\n        var inputContainer = element.querySelector('.opTdFilterContainer');\r\n        if(!inputContainer)\r\n            inputContainer = document.createElement('div');\r\n            \r\n        var input = inputContainer.querySelector('input');\r\n        if(!input)\r\n            input = document.createElement('input');\r\n        input.type = \"text\";\r\n        let filterType = element.getAttribute('filterType');\r\n        if(filterType){\r\n            input.type = filterType;\r\n            if(input.type == \"checkbox\"){\r\n                input.dataset.checked = \"0\";\r\n            }\r\n        }\r\n        let prop = element.getAttribute('filter');\r\n        let filterFn = (item) => {\r\n            let val = input.value.toString().toLowerCase().trim();\r\n            if(input.type == \"checkbox\"){\r\n                val = input.dataset.checked;\r\n                if(val == \"0\") return true;\r\n                let propVal = this.getValueByProp(item, prop);\r\n                if(val == \"1\") return propVal == false;\r\n                if(val == \"2\") return propVal == true;\r\n            } else {\r\n                if(!val) return true;\r\n                let propVal = this.getValueByProp(item, prop);\r\n                if(!propVal && propVal !== false) return false;\r\n                return propVal.toString().toLowerCase().trim().indexOf(val) > -1\r\n            }\r\n        }\r\n        if(this.filtersFn[prop]){\r\n            filterFn = (item) => {\r\n                let val = input.value.toString().toLowerCase().trim();\r\n                if(input.type == \"checkbox\")\r\n                    val = !!input.checked as any;\r\n                if(!val) return true;\r\n                return this.filtersFn[prop](item, val);\r\n            }\r\n        }\r\n\r\n        this.filters.push(filterFn);\r\n        if(input.type == \"checkbox\"){\r\n            input.oninput = () => {\r\n                this.checkboxCycle(input);\r\n                this.applyFilters();\r\n            }\r\n        } else {\r\n            input.oninput = this.applyFilters;\r\n        }\r\n        input.onclick = (ev) => ev.stopPropagation();\r\n        inputContainer.classList.add('opTdFilterContainer')\r\n        input.classList.add('opTdFilter')\r\n        input.name = prop;\r\n        this.filterInputs.push(input);\r\n        element.append(inputContainer);\r\n        inputContainer.append(input);\r\n    }\r\n\r\n    checkboxCycle(el: HTMLInputElement){\r\n        switch(el.dataset.checked) {\r\n            // unchecked, going indeterminate\r\n            case \"0\":\r\n                el.dataset.checked = \"1\";\r\n                el.indeterminate = true;\r\n                return false;\r\n            // indeterminate, going checked\r\n            case \"1\":\r\n                el.dataset.checked = \"2\";\r\n                el.indeterminate = false;\r\n                el.checked = true;\r\n                return true;\r\n            // checked, going unchecked\r\n            case \"2\":  \r\n                el.dataset.checked = \"0\";\r\n                el.indeterminate = false;\r\n                el.checked = false;\r\n                return null;\r\n        }\r\n    }\r\n\r\n    @Watch('clearFilters')\r\n    onClearFilters(next, prev){\r\n        this.filterInputs.forEach(x => {\r\n            if(x.type == 'checkbox'){\r\n                x.dataset.checked = \"0\";\r\n                x.indeterminate = false;\r\n                x.checked = false;\r\n            } else {\r\n                x.value = \"\"\r\n            }\r\n        });\r\n        this.applyFilters();\r\n    }\r\n\r\n    getValueByProp(input: any, propString: string){\r\n        let props = propString.split('.');\r\n        let ris = input;\r\n        props.forEach(x => {\r\n            if(ris != null)\r\n                ris = ris[x];\r\n        })\r\n        return ris;\r\n    }\r\n\r\n    applyFilters(){\r\n        this.xData = this.allItems.slice();\r\n        this.filters.forEach(x => {\r\n            this.xData = this.xData.filter(x);\r\n        })\r\n        this.calcPagination();\r\n    }\r\n\r\n    applySorts(def: SortDefinition){\r\n        if(this.sorts.filter(x => !x.type).length == this.sorts.length){\r\n            this.applyFilters();\r\n        } else {\r\n            this.sorts.forEach(x => {\r\n                if(x.el != def.el){\r\n                    x.el.classList.remove('asc');\r\n                    x.el.classList.remove('desc');\r\n                    x.type = '';\r\n                    return;\r\n                }\r\n                this.xData.sort(x.fn);\r\n            })\r\n        }\r\n    }\r\n\r\n}\r\n\r\nclass SortDefinition {\r\n    type: string;\r\n    el: HTMLElement;\r\n    fn: (a: any, b: any) => number;\r\n}\r\n\r\n</script>\r\n<style>\r\n</style>","import { render } from \"./opTableLocal.vue?vue&type=template&id=da7dd53e&ts=true\"\nimport script from \"./opTableLocal.vue?vue&type=script&lang=ts\"\nexport * from \"./opTableLocal.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, vModelSelect as _vModelSelect, withDirectives as _withDirectives, createTextVNode as _createTextVNode, createCommentVNode as _createCommentVNode, renderSlot as _renderSlot } from \"vue\"\n\nconst _hoisted_1 = { ref: \"rootElement\" }\nconst _hoisted_2 = {\n  key: 0,\n  class: \"opPaginationContainer top\"\n}\nconst _hoisted_3 = { class: \"opSvuotaFiltri\" }\nconst _hoisted_4 = [\"onClick\"]\nconst _hoisted_5 = /*#__PURE__*/_createElementVNode(\"option\", { value: 10 }, \"10\", -1)\nconst _hoisted_6 = /*#__PURE__*/_createElementVNode(\"option\", { value: 25 }, \"25\", -1)\nconst _hoisted_7 = /*#__PURE__*/_createElementVNode(\"option\", { value: 50 }, \"50\", -1)\nconst _hoisted_8 = /*#__PURE__*/_createElementVNode(\"option\", { value: 100 }, \"100\", -1)\nconst _hoisted_9 = [\n  _hoisted_5,\n  _hoisted_6,\n  _hoisted_7,\n  _hoisted_8\n]\nconst _hoisted_10 = { class: \"opItemsTotal\" }\nconst _hoisted_11 = { class: \"opItemsTotalText\" }\nconst _hoisted_12 = {\n  class: \"mb-4\",\n  style: {\"width\":\"100%\",\"overflow-x\":\"auto\"}\n}\nconst _hoisted_13 = {\n  class: \"opTable\",\n  ref: \"tableRoot\"\n}\nconst _hoisted_14 = {\n  key: 1,\n  class: \"opPaginationContainer bottom\"\n}\nconst _hoisted_15 = { class: \"opSvuotaFiltri\" }\nconst _hoisted_16 = { class: \"opPaginationNumberContainer\" }\nconst _hoisted_17 = [\"onClick\"]\nconst _hoisted_18 = /*#__PURE__*/_createElementVNode(\"option\", { value: 10 }, \"10\", -1)\nconst _hoisted_19 = /*#__PURE__*/_createElementVNode(\"option\", { value: 25 }, \"25\", -1)\nconst _hoisted_20 = /*#__PURE__*/_createElementVNode(\"option\", { value: 50 }, \"50\", -1)\nconst _hoisted_21 = /*#__PURE__*/_createElementVNode(\"option\", { value: 100 }, \"100\", -1)\nconst _hoisted_22 = [\n  _hoisted_18,\n  _hoisted_19,\n  _hoisted_20,\n  _hoisted_21\n]\nconst _hoisted_23 = { class: \"opItemsTotal\" }\nconst _hoisted_24 = { class: \"opItemsTotalText\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n  return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n    (_ctx.showUpperPagination)\n      ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n          _createElementVNode(\"div\", _hoisted_3, [\n            _createElementVNode(\"button\", {\n              type: \"button\",\n              class: \"btn btn-sm btn-link\",\n              onClick: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => (_ctx.onClearFilters && _ctx.onClearFilters(...args)))\n            }, \" Svuota filtri \")\n          ]),\n          _createElementVNode(\"div\", null, [\n            _createElementVNode(\"div\", {\n              class: \"opPaginationNumber\",\n              onClick: _cache[1] || (_cache[1] = \n//@ts-ignore\n(...args) => (_ctx.subtractPage && _ctx.subtractPage(...args)))\n            }, \" < \"),\n            (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.pages, (i) => {\n              return (_openBlock(), _createElementBlock(\"div\", {\n                class: _normalizeClass([\"opPaginationNumber\", {selected: _ctx.selectedPage == i}]),\n                key: i,\n                onClick: ($event: any) => (_ctx.setSelectedPage(i))\n              }, _toDisplayString(i), 11, _hoisted_4))\n            }), 128)),\n            _createElementVNode(\"div\", {\n              class: \"opPaginationNumber\",\n              onClick: _cache[2] || (_cache[2] = \n//@ts-ignore\n(...args) => (_ctx.addPage && _ctx.addPage(...args)))\n            }, \" > \"),\n            _withDirectives(_createElementVNode(\"select\", {\n              class: \"opItemsPerPage\",\n              \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((_ctx.xItemsPerPage) = $event))\n            }, _hoisted_9, 512), [\n              [_vModelSelect, _ctx.xItemsPerPage]\n            ])\n          ]),\n          _createElementVNode(\"div\", _hoisted_10, [\n            _createTextVNode(\"Totale: \"),\n            _createElementVNode(\"span\", _hoisted_11, _toDisplayString(_ctx.totalItemsCount), 1)\n          ])\n        ]))\n      : _createCommentVNode(\"\", true),\n    _createElementVNode(\"div\", _hoisted_12, [\n      _createElementVNode(\"table\", _hoisted_13, [\n        _renderSlot(_ctx.$slots, \"default\", { items: _ctx.items })\n      ], 512)\n    ]),\n    (_ctx.showLowerPagination)\n      ? (_openBlock(), _createElementBlock(\"div\", _hoisted_14, [\n          _createElementVNode(\"div\", _hoisted_15, [\n            _createElementVNode(\"button\", {\n              type: \"button\",\n              class: \"btn btn-sm btn-link\",\n              onClick: _cache[4] || (_cache[4] = \n//@ts-ignore\n(...args) => (_ctx.onClearFilters && _ctx.onClearFilters(...args)))\n            }, \" Svuota filtri \")\n          ]),\n          _createElementVNode(\"div\", _hoisted_16, [\n            _createElementVNode(\"div\", {\n              class: \"opPaginationNumber\",\n              onClick: _cache[5] || (_cache[5] = \n//@ts-ignore\n(...args) => (_ctx.subtractPage && _ctx.subtractPage(...args)))\n            }, \" < \"),\n            (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.pages, (i) => {\n              return (_openBlock(), _createElementBlock(\"div\", {\n                class: _normalizeClass([\"opPaginationNumber\", {selected: _ctx.selectedPage == i}]),\n                key: i,\n                onClick: ($event: any) => (_ctx.setSelectedPage(i))\n              }, _toDisplayString(i), 11, _hoisted_17))\n            }), 128)),\n            _createElementVNode(\"div\", {\n              class: \"opPaginationNumber\",\n              onClick: _cache[6] || (_cache[6] = \n//@ts-ignore\n(...args) => (_ctx.addPage && _ctx.addPage(...args)))\n            }, \" > \"),\n            _withDirectives(_createElementVNode(\"select\", {\n              class: \"opItemsPerPage\",\n              \"onUpdate:modelValue\": _cache[7] || (_cache[7] = ($event: any) => ((_ctx.xItemsPerPage) = $event))\n            }, _hoisted_22, 512), [\n              [_vModelSelect, _ctx.xItemsPerPage]\n            ])\n          ]),\n          _createElementVNode(\"div\", _hoisted_23, [\n            _createTextVNode(\"Totale: \"),\n            _createElementVNode(\"span\", _hoisted_24, _toDisplayString(_ctx.totalItemsCount), 1)\n          ])\n        ]))\n      : _createCommentVNode(\"\", true)\n  ], 512))\n}","<template>\r\n    <div ref=\"rootElement\">\r\n        <div class=\"opPaginationContainer top\" v-if=\"showUpperPagination\">\r\n            <div class=\"opSvuotaFiltri\">\r\n                <button type=\"button\" class=\"btn btn-sm btn-link\" @click=\"onClearFilters\">\r\n                    Svuota filtri\r\n                </button>\r\n            </div>\r\n            <div>\r\n                <div class=\"opPaginationNumber\" @click=\"subtractPage\">\r\n                    &lt;\r\n                </div>  \r\n                <div class=\"opPaginationNumber\" v-for=\"i in pages\" :key=\"i\"\r\n                    :class=\"{selected: selectedPage == i}\" @click=\"setSelectedPage(i)\">\r\n                    {{i}}\r\n                </div>\r\n                <div class=\"opPaginationNumber\" @click=\"addPage\">\r\n                    &gt;\r\n                </div>\r\n                <select class=\"opItemsPerPage\" v-model=\"xItemsPerPage\">\r\n                    <option :value=\"10\">10</option>\r\n                    <option :value=\"25\">25</option>\r\n                    <option :value=\"50\">50</option>\r\n                    <option :value=\"100\">100</option>\r\n                </select>\r\n            </div>\r\n            <div class=\"opItemsTotal\">Totale: <span class=\"opItemsTotalText\">{{totalItemsCount}}</span></div>\r\n        </div>\r\n        <div class=\"mb-4\" style=\"width: 100%; overflow-x: auto\">\r\n            <table class=\"opTable\" ref=\"tableRoot\">\r\n                <slot :items=\"items\"></slot>\r\n            </table>\r\n        </div>\r\n        <div class=\"opPaginationContainer bottom\" v-if=\"showLowerPagination\">\r\n            <div class=\"opSvuotaFiltri\">\r\n                <button type=\"button\" class=\"btn btn-sm btn-link\" @click=\"onClearFilters\">\r\n                    Svuota filtri\r\n                </button>\r\n            </div>\r\n            <div class=\"opPaginationNumberContainer\">\r\n                <div class=\"opPaginationNumber\" @click=\"subtractPage\">\r\n                    &lt;\r\n                </div>\r\n                <div class=\"opPaginationNumber\" v-for=\"i in pages\" :key=\"i\"\r\n                    :class=\"{selected: selectedPage == i}\" @click=\"setSelectedPage(i)\">\r\n                    {{i}}\r\n                </div>\r\n                <div class=\"opPaginationNumber\" @click=\"addPage\">\r\n                    &gt;\r\n                </div>\r\n                <select class=\"opItemsPerPage\" v-model=\"xItemsPerPage\">\r\n                    <option :value=\"10\">10</option>\r\n                    <option :value=\"25\">25</option>\r\n                    <option :value=\"50\">50</option>\r\n                    <option :value=\"100\">100</option>\r\n                </select>\r\n            </div>\r\n            <div class=\"opItemsTotal\">Totale: <span class=\"opItemsTotalText\">{{totalItemsCount}}</span></div>\r\n        </div>\r\n    </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport * as OM from '@/model';\r\nimport { Options, Vue } from 'vue-class-component';\r\nimport { Prop, Watch } from 'vue-property-decorator';\r\n\r\n@Options({})\r\nexport default class OpTableServerSide extends Vue {\r\n    @Prop({\r\n        default: () => []\r\n    }) items: any[];\r\n    @Prop({\r\n        default: true\r\n    }) showUpperPagination: boolean;\r\n    @Prop({\r\n        default: true\r\n    }) showLowerPagination: boolean;\r\n    @Prop({\r\n        type: Number,\r\n        default: 10\r\n    }) itemsPerPage: number;\r\n    @Prop({\r\n        default: () => {{}},\r\n        required: false\r\n    }) filter: any;\r\n    @Prop({\r\n        default: 0,\r\n        required: true\r\n    }) totalItemsCount: number;\r\n    @Prop() clearFilters: number;\r\n\r\n    tableRoot: any;\r\n\r\n    sorts: SortDefinition[] = [];\r\n\r\n    totalPages: number = 0;\r\n    lowerPages: number = 0;\r\n    upperPages: number = 0;\r\n    pages: number[] = [];\r\n    selectedPage: number = 1;\r\n    xItemsPerPage: number = null;\r\n\r\n    created(){\r\n        this.xItemsPerPage = this.itemsPerPage;\r\n    }\r\n\r\n    setSelectedPage(index: number){\r\n        this.selectedPage = index;\r\n        this.calcPagination();\r\n    }\r\n    subtractPage(){\r\n        if(this.selectedPage > 1){\r\n            this.selectedPage--;\r\n            this.calcPagination();\r\n        }\r\n    }\r\n    addPage(){\r\n        if(this.selectedPage < this.totalPages){\r\n            this.selectedPage++;\r\n            this.calcPagination();\r\n        }\r\n    }\r\n\r\n    mounted(){\r\n        var rootElement: any = this.$refs.rootElement;\r\n        var classes = [];\r\n        rootElement.classList.forEach(x => {\r\n            classes.push(x);\r\n        })\r\n        rootElement.classList.value = \"\";\r\n        this.tableRoot = this.$refs.tableRoot;\r\n        classes.forEach(x => this.tableRoot.classList.add(x));\r\n        \r\n        let headTds = this.tableRoot.querySelectorAll('thead td')\r\n        headTds.forEach(x => {\r\n            this.insertFilter(x);\r\n            this.insertSort(x);\r\n        })\r\n        this.calcPagination();\r\n    }\r\n\r\n    @Watch('xItemsPerPage')\r\n    onItemsPerPageChange(next, prev){\r\n        this.calcPagination();\r\n    }\r\n\r\n    @Watch(\"totalItemsCount\")\r\n    totalItemsChanged(){\r\n        this.calcPagination();\r\n    }\r\n\r\n    @Watch(\"filter\", { deep: true})\r\n    onFilterChange(next, prev){\r\n        this.$emit(\"search\", this.filter)\r\n    }\r\n\r\n    calcPagination(){\r\n        this.totalPages = Math.ceil((this.totalItemsCount) / this.xItemsPerPage);\r\n        if(this.selectedPage > this.totalPages && this.selectedPage > 1){\r\n            this.selectedPage = this.totalPages;\r\n        }\r\n        this.lowerPages = this.selectedPage - 2;\r\n        this.upperPages = this.selectedPage + 2;\r\n        \r\n        if(this.selectedPage == 1)\r\n            this.upperPages += 2;\r\n        else if(this.selectedPage == 2)\r\n            this.upperPages += 1;\r\n\r\n        if(this.selectedPage == this.totalPages)\r\n            this.lowerPages -= 2;\r\n        else if(this.selectedPage == this.totalPages - 1)\r\n            this.lowerPages -= 1;\r\n        \r\n        if(this.upperPages > this.totalPages)\r\n            this.upperPages = this.totalPages;\r\n        if(this.lowerPages <= 0)\r\n            this.lowerPages = 1;\r\n            \r\n        this.pages = [];\r\n\r\n        for(let i = this.lowerPages; i <= this.upperPages; i++){\r\n            this.pages.push(i);\r\n        }\r\n\r\n        // this.filter = new OM.PagedRequest();\r\n        this.filter.pageNumber = this.selectedPage;\r\n        this.filter.perPage = this.xItemsPerPage;\r\n    }\r\n\r\n    insertSort(element){\r\n        if(!element.hasAttribute('sort'))\r\n            return;\r\n\r\n        let prop = element.getAttribute('sort');\r\n        let sortDefinition = new SortDefinition();\r\n        sortDefinition.type = \"\";\r\n        sortDefinition.el = element;\r\n        element.onclick = () => {\r\n            if(!sortDefinition.type){\r\n                sortDefinition.type = 'asc';\r\n                element.classList.add('asc');\r\n            } else if(sortDefinition.type == 'asc') {\r\n                sortDefinition.type = 'desc';\r\n                element.classList.remove('asc');\r\n                element.classList.add('desc');\r\n            } else {\r\n                sortDefinition.type = '';\r\n                element.classList.remove('asc');\r\n                element.classList.remove('desc');\r\n            }\r\n            this.applySorts(sortDefinition);\r\n        }\r\n        sortDefinition.fn = () => {\r\n            this.filter.sortBy = {};\r\n            this.filter.sortBy.propertyName = prop;\r\n            this.filter.sortBy.ascending = sortDefinition.type == 'asc';\r\n\r\n            if(sortDefinition.type == \"\")\r\n                this.filter.sortBy = null;\r\n        }\r\n        this.sorts.push(sortDefinition);\r\n    }\r\n\r\n    filterInputs: { [key: string]: HTMLInputElement } = {};\r\n    insertFilter(element){\r\n        if(!element.hasAttribute('filter'))\r\n            return;\r\n\r\n            var inputContainer = element.querySelector('.opTdFilterContainer');\r\n        if(!inputContainer)\r\n            inputContainer = document.createElement('div');\r\n            \r\n        var input = inputContainer.querySelector('input');\r\n        if(!input)\r\n            input = document.createElement('input');\r\n        var input2 = inputContainer.querySelectorAll('input')[1];\r\n        let propFrom = element.getAttribute('filterFrom');\r\n        let propTo = element.getAttribute('filterTo');\r\n        input.type = \"text\";\r\n        let filterType = element.getAttribute('filterType');\r\n        if(filterType){\r\n            input.type = filterType;\r\n            if(input.type == \"checkbox\"){\r\n                input.value = \"true\";\r\n            } else if(filterType == \"dateRange\"){\r\n                input.type = \"date\";\r\n            }\r\n        }\r\n        let prop = element.getAttribute('filter');\r\n        \r\n        input.onclick = (ev) => ev.stopPropagation();\r\n        inputContainer.classList.add('opTdFilterContainer')\r\n        input.classList.add('opTdFilter')\r\n        element.append(inputContainer);\r\n        \r\n        if(input.type == \"checkbox\") {\r\n            input.checked = !!this.filter[prop];\r\n        } else if(filterType == \"dateRange\"){\r\n            if(!input2)\r\n                input2 = input.cloneNode();\r\n            input.value = this.filter[propFrom];\r\n            input2.value = this.filter[propTo];\r\n        } else {\r\n            input.value = this.filter[prop];\r\n        } \r\n        \r\n        let filterFn = (item) => {\r\n            let val = input.value.toString().toLowerCase().trim();\r\n            if(input.type == \"checkbox\"){\r\n                val = !!input.checked as any;\r\n            }\r\n            if(filterType == \"dateRange\"){\r\n                let valFrom = input.value.toString().toLowerCase().trim();\r\n                let valTo = input2.value.toString().toLowerCase().trim();\r\n                this.filter[propFrom] = valFrom;\r\n                this.filter[propTo] = valTo;\r\n            } else {\r\n                this.filter[prop] = val;\r\n            }\r\n        }\r\n        input.oninput = filterFn;\r\n        if(input2){\r\n            input2.oninput = filterFn;\r\n            input2.onclick = (ev) => ev.stopPropagation();\r\n        }\r\n\r\n        inputContainer.append(input);\r\n        if(input2){\r\n            inputContainer.append(input2);\r\n        }\r\n\r\n        if(input2){\r\n            this.filterInputs[propFrom] = input;\r\n            this.filterInputs[propTo] = input2;\r\n        } else {\r\n            this.filterInputs[prop] = input;\r\n        }\r\n\r\n    }\r\n    \r\n    @Watch('clearFilters')\r\n    onClearFilters(){\r\n        for(let p in this.filterInputs){\r\n            this.filterInputs[p].value = \"\";\r\n            this.filter[p] = this.filterInputs[p].value;\r\n        }\r\n        this.$emit('filtersCleared');\r\n    }\r\n\r\n    getValueByProp(input: any, propString: string){\r\n        let props = propString.split('.');\r\n        let ris = input;\r\n        props.forEach(x => {\r\n            if(ris != null)\r\n                ris = ris[x];\r\n        })\r\n        return ris;\r\n    }\r\n\r\n    applyFilters(){\r\n        // this.calcPagination();\r\n    }\r\n\r\n    applySorts(def: SortDefinition){\r\n        this.sorts.forEach(x => {\r\n            if(x.el != def.el){\r\n                x.el.classList.remove('asc');\r\n                x.el.classList.remove('desc');\r\n                x.type = '';\r\n                return;\r\n            }\r\n        })\r\n        def.fn();\r\n    }\r\n\r\n}\r\n\r\nclass SortDefinition {\r\n    type: string;\r\n    el: HTMLElement;\r\n    fn: () => void;\r\n}\r\n\r\n</script>\r\n<style>\r\n</style>","import { render } from \"./opTableServerSide.vue?vue&type=template&id=f84fd876&ts=true\"\nimport script from \"./opTableServerSide.vue?vue&type=script&lang=ts\"\nexport * from \"./opTableServerSide.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-2784441c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"slider round\" }, null, -1))\nconst _hoisted_2 = [\n  _hoisted_1\n]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n  return (_openBlock(), _createElementBlock(\"div\", {\n    class: _normalizeClass([\"switch\", { checked: _ctx.modelValue, monocolor: _ctx.monocolor, readonly: _ctx.readonly }]),\n    onClick: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => (_ctx.toggle && _ctx.toggle(...args)))\n  }, _hoisted_2, 2))\n}","<template>\r\n    <div class=\"switch\" :class=\"{ checked: modelValue, monocolor: monocolor, readonly: readonly }\" @click=\"toggle\">\r\n        <span class=\"slider round\"></span>\r\n    </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport WithModel from '@/mixins/withModel';\r\nimport { mixins, Options, Vue } from 'vue-class-component';\r\nimport { Prop } from 'vue-property-decorator';\r\n\r\n@Options({})\r\nexport default class Toggler extends mixins(WithModel) {\r\n\r\n    @Prop() monocolor: boolean;\r\n\r\n    @Prop() readonly: boolean;\r\n    \r\n    toggle(){\r\n        if(this.readonly){\r\n            return;\r\n        }\r\n        this.emitModel(!this.modelValue);\r\n    }\r\n\r\n}\r\n</script>\r\n\r\n<style scoped>\r\n\r\n    .switch {\r\n        position: relative;\r\n        display: inline-block;\r\n        width: 60px;\r\n        height: 34px;\r\n        flex-shrink: 0;\r\n    }\r\n\r\n    .switch input { \r\n        opacity: 0;\r\n        width: 0;\r\n        height: 0;\r\n    }\r\n\r\n    .slider {\r\n        position: absolute;\r\n        cursor: pointer;\r\n        top: 0;\r\n        left: 0;\r\n        right: 0;\r\n        bottom: 0;\r\n        background-color: #ccc;\r\n        transition: .4s;\r\n    }\r\n\r\n    .slider:before {\r\n        position: absolute;\r\n        content: \"\";\r\n        height: 26px;\r\n        width: 26px;\r\n        left: 4px;\r\n        bottom: 4px;\r\n        background-color: white;\r\n        transition: .4s;\r\n    }\r\n    \r\n    .switch.readonly .slider {\r\n        cursor: not-allowed;\r\n    }\r\n\r\n    .switch.checked .slider, .switch.monocolor .slider {\r\n        background-color: #80acd3;\r\n    }\r\n    .switch.checked .slider:before {\r\n        transform: translateX(26px);\r\n    }\r\n\r\n\r\n    /* Rounded sliders */\r\n    .slider.round {\r\n        border-radius: 34px;\r\n    }\r\n\r\n    .slider.round:before {\r\n        border-radius: 50%;\r\n    }\r\n\r\n</style>\r\n","import { render } from \"./toggler.vue?vue&type=template&id=2784441c&scoped=true&ts=true\"\nimport script from \"./toggler.vue?vue&type=script&lang=ts\"\nexport * from \"./toggler.vue?vue&type=script&lang=ts\"\n\nimport \"./toggler.vue?vue&type=style&index=0&id=2784441c&scoped=true&lang=css\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-2784441c\"]])\n\nexport default __exports__","<template>\r\n    <div>\r\n        <header class=\"d-flex justify-content-around align-items-center\">\r\n            <img style=\"max-width: 190px;\" src=\"@/img/logo.png\" />\r\n            <h1>Welcome to OnOffice Calendar Sync</h1>\r\n        </header>\r\n        <div class=\"container\">\r\n            <div class=\"content\">\r\n                <h3>About OnOffice Calendar Sync</h3>\r\n                <p>OnOffice Calendar Sync is a powerful tool designed to help OnOffice users seamlessly synchronize their Google Calendar with their OnOffice calendar. This ensures that all your important events, meetings, and appointments are always up-to-date across both platforms, saving you time and preventing scheduling conflicts.</p>\r\n                \r\n                <h3 class=\"mt-3\">Features</h3>\r\n                <ul>\r\n                    <li>Easy synchronization between Google Calendar and OnOffice calendar</li>\r\n                    <li>Frequent updates to keep your calendars consistent</li>\r\n                    <li>Simple and user-friendly interface</li>\r\n                    <li>Secure data handling and privacy</li>\r\n                </ul>\r\n                \r\n                <h3 class=\"mt-3\">How does it work</h3>\r\n                <p>\r\n                    This tool is free and available exclusively for onOffice users. It can be activated through the internal marketplace. To use it, you need to log in with your Google account, allowing access to your calendar. This access will be used to read and write events and synchronize them with your organization’s onOffice calendar.\r\n                    <br/>\r\n                    The synchronization is bidirectional: onOffice appointments will be reflected in your Google Calendar and vice versa.\r\n                    Shared resources in onOffice are linked to the corresponding calendars on Google.\r\n                    To get started, find the service in the marketplace of your onOffice account and press activate!\r\n                </p>\r\n                \r\n                <h3 class=\"mt-3\">What if I had another syncing tool before?</h3>\r\n                <p>\r\n                    The first synchronization requires all users to have connected their Google account before starting. The tool will start from onOffice appointments and find all events that are duplicated across the users' calendars, and merge the duplicated events.\r\n                    If multiple onOffice users are participating in the appointment, a single Google Calendar event will be created, using the appointment creator as the organizer of the event. All connected users and addresses will be saved as participants.\r\n                </p>\r\n                <p>\r\n                    To find duplicates during the first synchronization, the rules used are:\r\n                </p>\r\n                <ul>\r\n                    <li>same day</li>\r\n                    <li>same hours</li>\r\n                    <li>same title</li>\r\n                </ul>\r\n                <p>\r\n                    For each appointment in the onOffice calendar, matching events will be removed from Google Calendar and recreated after, starting from the onOffice appointment.\r\n                </p>\r\n                \r\n                <h3 class=\"mt-3\">What is the timespan of synchronization?</h3>\r\n                <p>\r\n                    For the first synchronization, you can choose the starting date and the end date. Practically, we suggest not going wider than a one-year timespan, although it is possible.\r\n                    For regular syncing operations, you can sync up to 1 year before and after the current date.\r\n                </p>\r\n\r\n                <hr/>\r\n\r\n                <h3 class=\"mt-3\">Do you have a privacy policy for Google Auth?</h3>\r\n                <p>\r\n                    You can find the complete information regarding how we use the Google Auth data at this link: <a href=\"https://onofficecalendarsync.com/privacy_policy.html\" target=\"_blank\" class=\"fs-5\">Privacy Policy</a>\r\n                </p>\r\n            </div>\r\n        </div>\r\n        <footer>\r\n            <div>\r\n                \"OnOffice Calendar Sync\" is a tool developed for onOffice Italia Srl © 2024 <a href=\"https://it.onoffice.com/\" target=\"_blank\">https://it.onoffice.com/</a>\r\n            </div>\r\n            <div>\r\n            </div>\r\n        </footer>\r\n    </div>\r\n</template>","import { render } from \"./welcomePage.vue?vue&type=template&id=287e82f8\"\nconst script = {}\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","var map = {\n\t\"./accordion/accordion.vue\": 1923,\n\t\"./errorsTable.vue\": 9505,\n\t\"./firstSyncPendingItems.vue\": 3014,\n\t\"./googleAuthenticate.vue\": 8911,\n\t\"./googleAuthorize.vue\": 8233,\n\t\"./localizedText.vue\": 2467,\n\t\"./marketplaceActivation/marketplaceActivation.vue\": 4838,\n\t\"./miniSpinner.vue\": 2563,\n\t\"./modals/alertModal.vue\": 9153,\n\t\"./modals/confirmModal.vue\": 7797,\n\t\"./modals/inputModal.vue\": 8582,\n\t\"./opDate.vue\": 9970,\n\t\"./opTable/opTable.vue\": 7757,\n\t\"./opTable/opTableLocal.vue\": 137,\n\t\"./opTable/opTableServerSide.vue\": 1033,\n\t\"./toggler.vue\": 556,\n\t\"./welcomePage.vue\": 5407\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 = 9666;","// 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/chunk-\" + {\"140\":\"d88119e234a12b0e\",\"304\":\"b8c6f29a05cc2f16\",\"588\":\"1bf8807cac36d9f7\",\"609\":\"c917d7b67c55c149\",\"742\":\"61fc717b1eceb203\",\"917\":\"98212b67d2a49853\",\"991\":\"0cdeb4a2e74d741d\"}[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/chunk-\" + \"d88119e234a12b0e\" + \".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 = \"googlecalendarsync:\";\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\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\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 = \"\";","if (typeof document === \"undefined\") return;\nvar createStylesheet = function(chunkId, fullhref, oldTag, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tif (__webpack_require__.nc) {\n\t\tlinkTag.nonce = __webpack_require__.nc;\n\t}\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;\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(\" + errorType + \": \" + realHref + \")\");\n\t\t\terr.name = \"ChunkLoadError\";\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tif (linkTag.parentNode) linkTag.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\n\tif (oldTag) {\n\t\toldTag.parentNode.insertBefore(linkTag, oldTag.nextSibling);\n\t} else {\n\t\tdocument.head.appendChild(linkTag);\n\t}\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, null, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t524: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"140\":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\t524: 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}\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[\"webpackChunkgooglecalendarsync\"] = self[\"webpackChunkgooglecalendarsync\"] || [];\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, [504], function() { return __webpack_require__(9259); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["map","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","Object","resolve","module","exports","_baseUrl","process","_appMode","baseUrl","appMode","_hoisted_1","key","_hoisted_2","class","_hoisted_3","render","_ctx","_cache","$props","$setup","$data","$options","_component_mini_spinner","_resolveComponent","_component_localized_text","_component_router_view","_component_marketplace_activation","_component_welcome_page","_component_modals_container","showApp","_openBlock","_createElementBlock","$store","state","isTestMode","_createCommentVNode","globalSpinner","_createVNode","underMaintenance","_createBlock","localizedKey","text","_Fragment","isActivated","isActivation","App","Vue","constructor","args","_defineProperty","created","ModalServices","setOpModal","this","$opModal","CommonServices","unauthorizedCb","store","isGoogleAuthorized","proms","LocalizedClient","getAll","getEnabledLanguages","Promise","all","then","xs","consts","localizedValues","enabledLanguages","selectedLanguage","loginResponse","LoginServices","loginCallback","window","onGoogleLibraryLoad","location","href","indexOf","MarketplaceClient","checkActivation","getParameters","customerWebId","x","__decorate","Options","__exports__","date","value","_format","_showTime","format","moment","locale","int","Math","round","currency","decimals","val","toFixed","replace","toString","perc","daysPeriod","parseFloat","_normalizeClass","items","length","_renderList","item","i","ref_for","ref","onMousedown","$event","onDownBg","onMouseup","onUpBg","onTouchstart","onTouchend","_resolveDynamicComponent","modalComponent","_mergeProps","props","onClose","closeModal","_ModalBus","registerAddModalCallback","cb","addModalCb","addModal","closeCallback","registerCloseLastModal","closeLastModal","closeLastModalCb","setModalsArray","arr","modals","ModalBus","ModalsContainer","push","markRaw","document","body","classList","add","ev","target","$refs","hasMouseDown","index","removed","splice","remove","closeFromBg","pop","install","app","options","installed","component","config","globalProperties","show","modal","closeLast","createApp","use","router","OpModal","$filters","FILTERS","$localizationServices","LocalizationServices","ComponentContext","require","forEach","fileName","componentName","split","default","mount","showSpinnerCb","hideSpinnerCb","WithModel","onModelValueChange","next","prev","localValue","modelValue","emitModel","$emit","Prop","Watch","NameId","name","KeyValuePairOfStringAndString","LocalizedValue","values","LocalizedEntity","super","identifier","GetUserByEmailResponse","vorname","nachname","email","nr","online","NameIdResourcePair","nameId","keyValue","isCalendar","GroupsPair","onOfficeGroupId","onOfficeName","onOfficeUserIds","googleName","googleEmails","UsersPair","onOfficeUser","googleEmail","VonUserNameIdPair","vonUser","googleCalendar","FirstSyncVm","usernames","startDate","endDate","webUserId","path","routes","children","manageSync","createRouter","history","createWebHashHistory","_CommonServices","defaultGet","url","params","_showSpinner","prom","reject","Axios","get","data","catch","err","finally","defaultPost","post","uploadFileToUrl","onUploadProgress","FormData","append","loaded","total","setAuthToken","token","defaults","headers","common","localStorage","setItem","getAuthToken","getItem","destroyToken","removeItem","interceptors","response","error","status","console","log","_LocalizationServices","StorageServices","getSelectedLanguage","SetLanguage","language","setSelectedLanguage","GetLanguage","GetLocalizedValue","afterText","prevText","object","existing","find","result","selectedCulture","newValue","OM","saveAnonymousLocalizedValue","newLocalizedValue","replaceText","init","end","textToReplace","substring","variableName","undefined","_LoginServices","setLoginResponse","UserClient","getUser","userId","user","currentRoute","_ModalServices","input","alertModal","title","okText","okCallback","AlertModal","confirmModal","koText","koCallback","ConfirmModal","inputModal","placeholder","InputModal","_GoogleCalendarClient","getCalendarsOfUser","onOfficeUserId","onOfficeWebUserId","showSpinner","getGroups","getGoogleGroupUserPair","groupEmail","getEventsOfCalendar","calendarId","GoogleCalendarClient","_LocalizedClient","saveLocalizedEntity","getSupportedLanguages","saveLocalizedValue","editLocalizedValue","_LoginClient","loginFromOnOffice","apiClaim","LoginClient","_MarketplaceClient","checkSignature","message","signature","getSignature","activateMarketplace","userSecretKey","apiToken","parameterCacheId","_OnOfficeClient","getResources","getAllUsers","getAllUsersWithAuthStatus","OnOfficeClient","_SyncConfigClient","getByWebUserId","save","SyncConfigClient","_SyncErrorClient","dismiss","SyncErrorClient","_SyncOperationsClient","sync","syncAll","checkQuartzState","firstSyncAll","vm","SyncOperationsClient","_UserClient","saveUserAuthorization","redirectUri","username","revokeUser","setSyncEnabled","_StorageServices","readFromLocalStorage","lsName","JSON","parse","setOpTableFilters","filters","stringify","getOpTableFilters","getLoginResponse","getQueryParameters","setQueryParameters","parameters","lang","storeState","beforeNavCbs","afterNavCbs","googleAuthentication","userData","googleAuthorization","customerName","groupId","timestamp","estateId","businessUnit","GET_PARAMETER_APICLAIM","GET_PARAMETER_CUSTOMERNAME","GET_PARAMETER_CUSTOMERWEBID","GET_PARAMETER_GROUPID","GET_PARAMETER_LANGUAGE","GET_PARAMETER_PARAMETERCACHEID","GET_PARAMETER_TIMESTAMP","GET_PARAMETER_ESTATEID","GET_PARAMETER_BUSINESSUNIT","GET_PARAMETER_USERID","GET_PARAMETER_SIGNATURE","getQueryParams","vuestore","createStore","paramArr","slice","param","decodeURIComponent","insertAllLanguages","localized","found","isValidDate","d","Date","isNaN","_withScopeId","n","_pushScopeId","_popScopeId","_createElementVNode","type","src","_imports_0","_hoisted_4","_hoisted_5","_imports_1","_hoisted_6","openThis","onClick","_renderSlot","$slots","indent","accordion","open","colspan","_hoisted_7","_hoisted_8","_hoisted_9","errors","_toDisplayString","createdOn","eventIdPair","_createTextVNode","eventOrigin","onOfficeId","googleId","errorsTable","onReload","getErrors","_hoisted_10","firstSyncOrigin","onOfficeEvents","googleEvents","start","dateTime","doAction","firstSyncPendingItems","revoke","googleAuthenticate","mounted","google","accounts","renderButton","signInButton","disableAutoSelect","sub","done","googleAuthData","hasRevokedAuth","requestAuthorize","googleAuthorize","codeClient","oauth2","initCodeClient","client_id","scope","ux_mode","callback","localResponseCb","tokenClient","initTokenClient","localTokenResponseCb","requestCode","responseCb","requestAccessToken","tokenResponse","access_token","revokeCb","innerHTML","translatedText","LocalizedText","onTextChange","setLocalizedText","unwatcher","watch","beforeUnmount","_withDirectives","_vModelText","loading","alt","activate","disabled","marketplaceActivation","getParameterApiToken","GET_PARAMETER_APITOKEN","getParameterCacheId","GET_PARAMETER_CACHE_ID","getParameterApiClaim","getParameterUserId","getParameterCustomerWebId","questionPosition","urlWithoutParameters","signaturePosition","parametersWithoutSignature","parent","postMessage","MiniSpinner","ok","okButton","focus","ko","readonly","OpDate","mixins","initialDate","toISOString","initialvalue","fp","flatpickr","defaultDate","dateFormat","allowInput","parseDate","datestr","replaceAll","giorno","mese","anno","ris","parseInt","onChange","minDate","destroy","onValueChange","setDate","validateDate","inputDate","years","getFullYear","months","getMonth","days","getDate","required","filter","itemsPerPage","opName","onFilteadrsCleared","setFilters","showUpperPagination","showLowerPagination","totalItemsCount","onSearch","search","clearFilters","filtersFn","_withCtx","slotProps","_","OpTable","$route","opTableServerSide","p","opTableLocal","to","from","addEventListener","removeEventListener","opTableComponent","opTableRef","filterInputs","toSave","Number","components","_hoisted_11","_hoisted_12","_hoisted_13","style","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","onClearFilters","subtractPage","pages","selected","selectedPage","setSelectedPage","addPage","xItemsPerPage","_vModelSelect","xData","paginated","calcPagination","totalPages","allItems","onItemsChange","applyFilters","rootElement","classes","tableRoot","headTds","querySelectorAll","insertFilter","insertSort","opFilters","filterInput","onItemsPerPageChange","ceil","lowerPages","upperPages","element","hasAttribute","prop","getAttribute","sortDefinition","SortDefinition","el","onclick","applySorts","fn","a","b","aValue","getValueByProp","bValue","aVal","bVal","localeCompare","numeric","sensitivity","sorts","inputContainer","querySelector","createElement","filterType","dataset","checked","filterFn","toLowerCase","trim","propVal","oninput","checkboxCycle","stopPropagation","indeterminate","propString","def","sort","OpTableServerSide","totalItemsChanged","onFilterChange","pageNumber","perPage","sortBy","propertyName","ascending","input2","propFrom","propTo","cloneNode","valFrom","valTo","deep","monocolor","toggle","Toggler","_createStaticVNode","script","__webpack_module_cache__","moduleId","cachedModule","__webpack_modules__","call","m","deferred","O","chunkIds","priority","notFulfilled","Infinity","fulfilled","j","every","r","getter","__esModule","definition","defineProperty","enumerable","f","chunkId","reduce","promises","u","miniCssF","g","globalThis","Function","obj","prototype","hasOwnProperty","inProgress","dataWebpackPrefix","l","needAttach","scripts","getElementsByTagName","s","charset","timeout","nc","setAttribute","onScriptComplete","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","setTimeout","bind","head","appendChild","Symbol","toStringTag","nmd","paths","createStylesheet","fullhref","oldTag","linkTag","rel","nonce","onLinkComplete","errorType","realHref","request","insertBefore","nextSibling","findStylesheet","existingLinkTags","tag","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","installedChunks","installedChunkData","promise","loadingEnded","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""}