{"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> {{$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 <\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 >\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 <\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 >\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 <\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 >\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 <\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 >\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":""}