From f69e55859b1875eb1e38d1bf975c239383b0fdba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matej=20Glasn=C3=A1k?= Date: Mon, 8 Dec 2025 12:05:29 +0100 Subject: [PATCH] build(dev): rebuild, file formatting, removed console logs --- app/dist/js/index.js | 40 +- ..._plugins_app__layout_app_app_layout_vue.js | 2 +- .../src_plugins_lib_auth_login_login_vue.js | 4 +- ..._auth_reset-password_reset-password_vue.js | 2 +- ...tm_dashboard__components_z-timel-a5416d.js | 2 +- ...gins_tm_dashboard_projects_projects_vue.js | 2 +- ...rc_plugins_tm_dashboard_tasks_tasks_vue.js | 2 +- ...rc_plugins_tm_dashboard_teams_teams_vue.js | 2 +- ...verview_tasks-ongoing_tasks-ongoing_vue.js | 2 +- ...ugins_tm_profile_profile_my-profile_vue.js | 2 +- .../plugins/app/_layout/app/app.layout.vue | 65 ++-- .../login/_components/a-login-form.vue | 131 ++++--- .../_components/a-reset-password-form.vue | 173 ++++++--- .../tm@dashboard/_components/z-timeline.vue | 9 - .../tm@dashboard/projects/projects.vue | 9 - app/src/plugins/tm@dashboard/tasks/tasks.vue | 356 ++++++++++-------- app/src/plugins/tm@dashboard/teams/teams.vue | 168 +++++---- .../_components/read-only/z-files.vue | 100 ++--- .../tm@modal/blocker/z-blocker-modal.vue | 80 +++- .../blocker/z-delete-blocker-modal.vue | 145 ++++--- .../z-complete-master-task-modal.vue | 137 ++++--- .../z-delete-master-task-modal.vue | 145 ++++--- .../z-delete-team-member-modal.vue | 181 ++++----- .../_components/a-task-spent-time.vue | 12 +- .../_components/a-task-timeblocks.vue | 14 +- .../tm@modal/task/z-complete-task-modal.vue | 30 +- .../tm@modal/task/z-delete-task-modal.vue | 149 ++++---- .../tm@modal/task/z-task-add-time-modal.vue | 27 +- .../task/z-unable-to-complete-task-modal.vue | 17 +- .../z-unable-to-edit-office-task-modal.vue | 12 +- .../tm@modal/team/z-delete-team-modal.vue | 149 ++++---- .../plugins/tm@modal/team/z-team-modal.vue | 335 +++++++++------- .../_components/a-ongoing-table.vue | 3 - .../plugins/tm@profile/profile/my-profile.vue | 207 +++++----- 34 files changed, 1537 insertions(+), 1177 deletions(-) diff --git a/app/dist/js/index.js b/app/dist/js/index.js index fde9bfd..c7d05bb 100644 --- a/app/dist/js/index.js +++ b/app/dist/js/index.js @@ -202,7 +202,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var file_saver__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! file-saver */ \"./node_modules/file-saver/dist/FileSaver.min.js\");\n/* harmony import */ var file_saver__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(file_saver__WEBPACK_IMPORTED_MODULE_0__);\n/* provided dependency */ var console = __webpack_require__(/*! ./node_modules/console-browserify/index.js */ \"./node_modules/console-browserify/index.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n props: {\n files: {\n type: Array,\n default: () => []\n }\n },\n data() {\n return {\n isLoading: false\n };\n },\n methods: {\n async downloadFile(file) {\n file.isLoading = true; // Show loader\n\n try {\n const response = await fetch(file.path);\n const blob = await response.blob();\n file_saver__WEBPACK_IMPORTED_MODULE_0__.saveAs(blob, file.name);\n } catch (error) {\n this.$toast.error(this.$parseError(error));\n if (true) /* eslint-disable */console.log(...oo_oo(`1771422882_49_5_49_48_4`, '[z-files.vue] Error: ', error));\n } finally {\n file.isLoading = false;\n }\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/_components/read-only/z-files.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); +eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var file_saver__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! file-saver */ \"./node_modules/file-saver/dist/FileSaver.min.js\");\n/* harmony import */ var file_saver__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(file_saver__WEBPACK_IMPORTED_MODULE_0__);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n props: {\n files: {\n type: Array,\n default: () => []\n }\n },\n data() {\n return {\n isLoading: false\n };\n },\n methods: {\n async downloadFile(file) {\n file.isLoading = true; // Show loader\n\n try {\n const response = await fetch(file.path);\n const blob = await response.blob();\n file_saver__WEBPACK_IMPORTED_MODULE_0__.saveAs(blob, file.name);\n } catch (error) {\n this.$toast.error(this.$parseError(error));\n } finally {\n file.isLoading = false;\n }\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/_components/read-only/z-files.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); /***/ }), @@ -268,7 +268,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var cor /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ \"./node_modules/core-js/modules/esnext.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/esnext.iterator.find.js */ \"./node_modules/core-js/modules/esnext.iterator.find.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _plugins_tm_components_z_datepicker_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/plugins/tm@_components/z-datepicker.vue */ \"./src/plugins/tm@_components/z-datepicker.vue\");\n/* harmony import */ var _vuelidate_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @vuelidate/core */ \"./node_modules/@vuelidate/core/dist/index.esm.js\");\n/* harmony import */ var _vuelidate_validators__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @vuelidate/validators */ \"./node_modules/@vuelidate/validators/dist/index.esm.js\");\n/* harmony import */ var _plugins_lib_auth_utils_error_utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/plugins/lib@auth/_utils/error.utils */ \"./src/plugins/lib@auth/_utils/error.utils.ts\");\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm-bundler.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! moment */ \"./node_modules/moment/moment.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _plugins_tm_mixins_autocomplete_mixin__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/plugins/tm@_mixins/autocomplete.mixin */ \"./src/plugins/tm@_mixins/autocomplete.mixin.ts\");\n/* harmony import */ var _plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/plugins/tm@modal/_mixins/modal.mixin */ \"./src/plugins/tm@modal/_mixins/modal.mixin.ts\");\n/* provided dependency */ var console = __webpack_require__(/*! ./node_modules/console-browserify/index.js */ \"./node_modules/console-browserify/index.js\");\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n components: {\n ZDatepicker: _plugins_tm_components_z_datepicker_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n // ZAutocomplete\n },\n mixins: [_plugins_tm_mixins_autocomplete_mixin__WEBPACK_IMPORTED_MODULE_8__[\"default\"], _plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_9__[\"default\"]],\n emits: ['close'],\n data() {\n return {\n visible: false,\n v$: (0,_vuelidate_core__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(),\n errorUtils: _plugins_lib_auth_utils_error_utils__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n blocker: null,\n datepicker: null,\n starts_at_time: null,\n ends_at_time: null,\n employee: null\n };\n },\n computed: {\n ...(0,vuex__WEBPACK_IMPORTED_MODULE_6__.mapGetters)('tm', ['enrichedEmployees']),\n ...(0,vuex__WEBPACK_IMPORTED_MODULE_6__.mapGetters)('auth', ['user'])\n },\n validations() {\n return {\n blocker: {\n name: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_4__.required\n },\n start: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_4__.required\n },\n end: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_4__.required\n }\n // employee: { required }\n },\n starts_at_time: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_4__.required\n },\n ends_at_time: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_4__.required\n },\n datepicker: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_4__.required\n }\n };\n },\n methods: {\n async showModal({\n blocker\n }) {\n this.visible = true;\n this.blocker = null;\n this.datepicker = null;\n this.starts_at_time = null;\n this.ends_at_time = null;\n this.$nextTick(() => {\n this.v$.$reset();\n });\n try {\n if (blocker?.id) {\n blocker = await this.$axios.get_auth_data(`v1/blockers/${blocker.id}`);\n this.starts_at_time = moment__WEBPACK_IMPORTED_MODULE_7___default()(blocker.start).format('HH:mm');\n this.ends_at_time = moment__WEBPACK_IMPORTED_MODULE_7___default()(blocker.end).format('HH:mm');\n this.datepicker = new Date(blocker.start);\n blocker.employee_id = blocker.employee.id;\n //fixnut validacie employee_id\n this.blocker = blocker;\n } else {\n this.blocker = {\n start: null,\n employee_id: this.user.id\n };\n if (blocker.starts_at_time && blocker.datepicker && blocker.employee_id) {\n this.datepicker = blocker.datepicker;\n this.starts_at_time = blocker.starts_at_time;\n this.blocker.employee_id = blocker.employee_id;\n }\n }\n } catch (error) {\n this.$toast.error(this.$parseError(error));\n if (true) /* eslint-disable */console.log(...oo_oo(`957576322_189_10_189_61_4`, '[z-blocker-modal.vue] Error: ', error));\n }\n },\n async save() {\n if (!(await this.v$.$validate())) return;\n try {\n // this.blocker.employee_id = this.blocker.employee?.id\n\n if (this.blocker.id) {\n const {\n blocker\n } = await this.$axios.put_auth(`v1/blockers/${this.blocker.id}`, this.blocker);\n this.blocker = blocker;\n } else {\n const {\n blocker\n } = await this.$axios.post_auth('v1/blockers', this.blocker);\n this.blocker = blocker;\n }\n this.$events.emit('on-blocker-edited', this.blocker);\n this.$events.emit('blocker-created');\n this.closeModal();\n } catch (error) {\n this.$toast.error(this.$parseError(error));\n if (true) /* eslint-disable */console.log(...oo_oo(`957576322_220_10_220_61_4`, '[z-blocker-modal.vue] Error: ', error));\n }\n },\n closeModal() {\n this.visible = false;\n this.$emit('close', this.blocker);\n },\n onEmployeeSelected({\n key\n }) {\n this.blocker.employee = this.enrichedEmployees.find(employee => employee.id == key);\n },\n _syncDatesTimes() {\n if (!this.starts_at_time || !this.ends_at_time || !this.datepicker) return;\n const splittedStart = this.starts_at_time.split(':');\n const splittedEnd = this.ends_at_time.split(':');\n this.blocker.start = moment__WEBPACK_IMPORTED_MODULE_7___default()(this.datepicker).set({\n hours: parseInt(splittedStart[0]),\n minutes: parseInt(splittedStart[1])\n }).format('YYYY-MM-DD HH:mm');\n this.blocker.end = moment__WEBPACK_IMPORTED_MODULE_7___default()(this.datepicker).set({\n hours: parseInt(splittedEnd[0]),\n minutes: parseInt(splittedEnd[1])\n }).format('YYYY-MM-DD HH:mm');\n }\n },\n watch: {\n ends_at_time() {\n this._syncDatesTimes();\n },\n starts_at_time() {\n this._syncDatesTimes();\n },\n datepicker() {\n this._syncDatesTimes();\n }\n }\n});\nfunction oo_cm() {\n try {\n return (0, eval)(\"globalThis._console_ninja\") || (0, eval)(\"/* https://github.com/wallabyjs/console-ninja#how-does-it-work */'use strict';var _0x3bb860=_0x1415;(function(_0x56f424,_0x281bb7){var _0x578595=_0x1415,_0x2349f8=_0x56f424();while(!![]){try{var _0x3a5c11=-parseInt(_0x578595(0x177))/0x1+parseInt(_0x578595(0xce))/0x2*(parseInt(_0x578595(0xab))/0x3)+-parseInt(_0x578595(0xe0))/0x4+-parseInt(_0x578595(0xa3))/0x5+parseInt(_0x578595(0x138))/0x6+parseInt(_0x578595(0x70))/0x7*(parseInt(_0x578595(0x123))/0x8)+parseInt(_0x578595(0x131))/0x9;if(_0x3a5c11===_0x281bb7)break;else _0x2349f8['push'](_0x2349f8['shift']());}catch(_0x1e619a){_0x2349f8['push'](_0x2349f8['shift']());}}}(_0x4e1d,0xdeb8a));function _0x1415(_0x47fe6b,_0x151885){var _0x4e1d5f=_0x4e1d();return _0x1415=function(_0x14150b,_0x79b2a3){_0x14150b=_0x14150b-0x6a;var _0x3e24b4=_0x4e1d5f[_0x14150b];return _0x3e24b4;},_0x1415(_0x47fe6b,_0x151885);}function z(_0x24a155,_0x4b4c5c,_0x5910f9,_0x1b7610,_0x103ee4,_0x1467ae){var _0x51301a=_0x1415,_0x33e993,_0x5b9a4b,_0x5d3157,_0x1fc7d9;this[_0x51301a(0x102)]=_0x24a155,this[_0x51301a(0x88)]=_0x4b4c5c,this[_0x51301a(0xe4)]=_0x5910f9,this[_0x51301a(0xfd)]=_0x1b7610,this[_0x51301a(0x10f)]=_0x103ee4,this[_0x51301a(0x76)]=_0x1467ae,this[_0x51301a(0x99)]=!0x0,this[_0x51301a(0x125)]=!0x0,this[_0x51301a(0x126)]=!0x1,this[_0x51301a(0xf5)]=!0x1,this[_0x51301a(0xc6)]=((_0x5b9a4b=(_0x33e993=_0x24a155[_0x51301a(0x167)])==null?void 0x0:_0x33e993[_0x51301a(0x11b)])==null?void 0x0:_0x5b9a4b[_0x51301a(0xe8)])===_0x51301a(0xd2),this['_inBrowser']=!((_0x1fc7d9=(_0x5d3157=this['global'][_0x51301a(0x167)])==null?void 0x0:_0x5d3157[_0x51301a(0x149)])!=null&&_0x1fc7d9['node'])&&!this[_0x51301a(0xc6)],this['_WebSocketClass']=null,this[_0x51301a(0x6a)]=0x0,this[_0x51301a(0x89)]=0x14,this['_webSocketErrorDocsLink']=_0x51301a(0x111),this[_0x51301a(0x73)]=(this[_0x51301a(0xee)]?_0x51301a(0x9e):_0x51301a(0x12e))+this[_0x51301a(0x16b)];}z[_0x3bb860(0x166)][_0x3bb860(0xba)]=async function(){var _0x4e59d7=_0x3bb860,_0x4597cb,_0xd38ba8;if(this[_0x4e59d7(0x176)])return this[_0x4e59d7(0x176)];let _0x4fce50;if(this[_0x4e59d7(0xee)]||this[_0x4e59d7(0xc6)])_0x4fce50=this['global'][_0x4e59d7(0x8b)];else{if((_0x4597cb=this['global'][_0x4e59d7(0x167)])!=null&&_0x4597cb[_0x4e59d7(0x158)])_0x4fce50=(_0xd38ba8=this[_0x4e59d7(0x102)][_0x4e59d7(0x167)])==null?void 0x0:_0xd38ba8[_0x4e59d7(0x158)];else try{_0x4fce50=(await new Function(_0x4e59d7(0xbf),_0x4e59d7(0x78),_0x4e59d7(0xfd),_0x4e59d7(0x15a))(await(0x0,eval)(_0x4e59d7(0x85)),await(0x0,eval)(_0x4e59d7(0xb5)),this[_0x4e59d7(0xfd)]))['default'];}catch{try{_0x4fce50=require(require(_0x4e59d7(0xbf))['join'](this[_0x4e59d7(0xfd)],'ws'));}catch{throw new Error('failed\\\\x20to\\\\x20find\\\\x20and\\\\x20load\\\\x20WebSocket');}}}return this[_0x4e59d7(0x176)]=_0x4fce50,_0x4fce50;},z[_0x3bb860(0x166)][_0x3bb860(0x6c)]=function(){var _0x238fd3=_0x3bb860;this[_0x238fd3(0xf5)]||this[_0x238fd3(0x126)]||this[_0x238fd3(0x6a)]>=this[_0x238fd3(0x89)]||(this[_0x238fd3(0x125)]=!0x1,this['_connecting']=!0x0,this['_connectAttemptCount']++,this[_0x238fd3(0x11d)]=new Promise((_0x13a915,_0x21b0d7)=>{var _0x525468=_0x238fd3;this[_0x525468(0xba)]()['then'](_0x5b01ba=>{var _0x22c3de=_0x525468;let _0x2d3688=new _0x5b01ba(_0x22c3de(0xc2)+(!this[_0x22c3de(0xee)]&&this[_0x22c3de(0x10f)]?_0x22c3de(0x143):this['host'])+':'+this[_0x22c3de(0xe4)]);_0x2d3688[_0x22c3de(0x8d)]=()=>{var _0x225989=_0x22c3de;this[_0x225989(0x99)]=!0x1,this[_0x225989(0xc7)](_0x2d3688),this[_0x225989(0x161)](),_0x21b0d7(new Error(_0x225989(0x137)));},_0x2d3688['onopen']=()=>{var _0x5c704f=_0x22c3de;this[_0x5c704f(0xee)]||_0x2d3688[_0x5c704f(0xdb)]&&_0x2d3688[_0x5c704f(0xdb)]['unref']&&_0x2d3688[_0x5c704f(0xdb)][_0x5c704f(0x151)](),_0x13a915(_0x2d3688);},_0x2d3688[_0x22c3de(0x121)]=()=>{var _0x4945c9=_0x22c3de;this[_0x4945c9(0x125)]=!0x0,this['_disposeWebsocket'](_0x2d3688),this['_attemptToReconnectShortly']();},_0x2d3688[_0x22c3de(0x113)]=_0x2053ed=>{var _0x47d471=_0x22c3de;try{if(!(_0x2053ed!=null&&_0x2053ed[_0x47d471(0xfc)])||!this[_0x47d471(0x76)])return;let _0x455e7c=JSON[_0x47d471(0x175)](_0x2053ed['data']);this[_0x47d471(0x76)](_0x455e7c[_0x47d471(0xd3)],_0x455e7c[_0x47d471(0x115)],this[_0x47d471(0x102)],this[_0x47d471(0xee)]);}catch{}};})['then'](_0x162101=>(this[_0x525468(0x126)]=!0x0,this[_0x525468(0xf5)]=!0x1,this[_0x525468(0x125)]=!0x1,this['_allowedToSend']=!0x0,this[_0x525468(0x6a)]=0x0,_0x162101))['catch'](_0xa697f4=>(this[_0x525468(0x126)]=!0x1,this[_0x525468(0xf5)]=!0x1,console[_0x525468(0xf7)](_0x525468(0x95)+this[_0x525468(0x16b)]),_0x21b0d7(new Error(_0x525468(0xd6)+(_0xa697f4&&_0xa697f4[_0x525468(0x146)])))));}));},z[_0x3bb860(0x166)][_0x3bb860(0xc7)]=function(_0x310b79){var _0xc4bfe7=_0x3bb860;this[_0xc4bfe7(0x126)]=!0x1,this[_0xc4bfe7(0xf5)]=!0x1;try{_0x310b79[_0xc4bfe7(0x121)]=null,_0x310b79['onerror']=null,_0x310b79['onopen']=null;}catch{}try{_0x310b79[_0xc4bfe7(0xa0)]<0x2&&_0x310b79[_0xc4bfe7(0xb9)]();}catch{}},z[_0x3bb860(0x166)][_0x3bb860(0x161)]=function(){var _0xeb4151=_0x3bb860;clearTimeout(this[_0xeb4151(0x98)]),!(this[_0xeb4151(0x6a)]>=this[_0xeb4151(0x89)])&&(this[_0xeb4151(0x98)]=setTimeout(()=>{var _0x1946d6=_0xeb4151,_0x4e1390;this[_0x1946d6(0x126)]||this[_0x1946d6(0xf5)]||(this['_connectToHostNow'](),(_0x4e1390=this['_ws'])==null||_0x4e1390['catch'](()=>this[_0x1946d6(0x161)]()));},0x1f4),this[_0xeb4151(0x98)][_0xeb4151(0x151)]&&this[_0xeb4151(0x98)][_0xeb4151(0x151)]());},z[_0x3bb860(0x166)][_0x3bb860(0x172)]=async function(_0xe28174){var _0x17b86c=_0x3bb860;try{if(!this[_0x17b86c(0x99)])return;this[_0x17b86c(0x125)]&&this[_0x17b86c(0x6c)](),(await this['_ws'])['send'](JSON[_0x17b86c(0xb6)](_0xe28174));}catch(_0x382eee){this['_extendedWarning']?console[_0x17b86c(0xf7)](this[_0x17b86c(0x73)]+':\\\\x20'+(_0x382eee&&_0x382eee['message'])):(this[_0x17b86c(0x9b)]=!0x0,console[_0x17b86c(0xf7)](this[_0x17b86c(0x73)]+':\\\\x20'+(_0x382eee&&_0x382eee[_0x17b86c(0x146)]),_0xe28174)),this[_0x17b86c(0x99)]=!0x1,this[_0x17b86c(0x161)]();}};function H(_0x4007a6,_0x7f3615,_0x44871c,_0x3fda34,_0x42d82c,_0x255a3e,_0x1ac7c5,_0x253dd4=ne){var _0x3da3a8=_0x3bb860;let _0x24dfae=_0x44871c[_0x3da3a8(0x11e)](',')[_0x3da3a8(0xd5)](_0x453732=>{var _0x41af42=_0x3da3a8,_0x253dbd,_0x1fcf43,_0x44930f,_0x299886,_0x5d734b,_0x482ba2,_0x14c56a;try{if(!_0x4007a6[_0x41af42(0x14a)]){let _0x2b832b=((_0x1fcf43=(_0x253dbd=_0x4007a6['process'])==null?void 0x0:_0x253dbd[_0x41af42(0x149)])==null?void 0x0:_0x1fcf43[_0x41af42(0x153)])||((_0x299886=(_0x44930f=_0x4007a6[_0x41af42(0x167)])==null?void 0x0:_0x44930f['env'])==null?void 0x0:_0x299886[_0x41af42(0xe8)])===_0x41af42(0xd2);(_0x42d82c==='next.js'||_0x42d82c===_0x41af42(0xa9)||_0x42d82c===_0x41af42(0xcc)||_0x42d82c==='angular')&&(_0x42d82c+=_0x2b832b?_0x41af42(0x156):_0x41af42(0x11f));let _0x4bd77b='';_0x42d82c===_0x41af42(0xaa)&&(_0x4bd77b=(((_0x14c56a=(_0x482ba2=(_0x5d734b=_0x4007a6[_0x41af42(0x74)])==null?void 0x0:_0x5d734b[_0x41af42(0x6f)])==null?void 0x0:_0x482ba2[_0x41af42(0x72)])==null?void 0x0:_0x14c56a['osName'])||'')[_0x41af42(0x130)](),_0x4bd77b&&(_0x42d82c+='\\\\x20'+_0x4bd77b,_0x4bd77b===_0x41af42(0xd0)&&(_0x7f3615='10.0.2.2'))),_0x4007a6[_0x41af42(0x14a)]={'id':+new Date(),'tool':_0x42d82c},_0x1ac7c5&&_0x42d82c&&!_0x2b832b&&(_0x4bd77b?console[_0x41af42(0x119)](_0x41af42(0xcf)+_0x4bd77b+_0x41af42(0x6e)):console[_0x41af42(0x119)](_0x41af42(0xaf)+(_0x42d82c[_0x41af42(0x162)](0x0)[_0x41af42(0xad)]()+_0x42d82c[_0x41af42(0xd4)](0x1))+',',_0x41af42(0xbc),'see\\\\x20https://tinyurl.com/2vt8jxzw\\\\x20for\\\\x20more\\\\x20info.'));}let _0x4de09c=new z(_0x4007a6,_0x7f3615,_0x453732,_0x3fda34,_0x255a3e,_0x253dd4);return _0x4de09c[_0x41af42(0x172)][_0x41af42(0xc0)](_0x4de09c);}catch(_0x17909b){return console['warn'](_0x41af42(0x84),_0x17909b&&_0x17909b[_0x41af42(0x146)]),()=>{};}});return _0x22ddfa=>_0x24dfae[_0x3da3a8(0x11a)](_0x3bc35e=>_0x3bc35e(_0x22ddfa));}function ne(_0x1fd219,_0x333fdc,_0x47d769,_0x45bbd3){var _0x6922c2=_0x3bb860;_0x45bbd3&&_0x1fd219===_0x6922c2(0x16e)&&_0x47d769[_0x6922c2(0x170)][_0x6922c2(0x16e)]();}function b(_0x1be91c){var _0x168b8c=_0x3bb860,_0x2c3d08,_0x8f1a04;let _0x2f7b8f=function(_0x19089c,_0x523e04){return _0x523e04-_0x19089c;},_0x204928;if(_0x1be91c[_0x168b8c(0x9c)])_0x204928=function(){var _0x4c8584=_0x168b8c;return _0x1be91c[_0x4c8584(0x9c)][_0x4c8584(0xe6)]();};else{if(_0x1be91c[_0x168b8c(0x167)]&&_0x1be91c['process'][_0x168b8c(0x15d)]&&((_0x8f1a04=(_0x2c3d08=_0x1be91c['process'])==null?void 0x0:_0x2c3d08['env'])==null?void 0x0:_0x8f1a04[_0x168b8c(0xe8)])!==_0x168b8c(0xd2))_0x204928=function(){var _0x10f78d=_0x168b8c;return _0x1be91c['process'][_0x10f78d(0x15d)]();},_0x2f7b8f=function(_0x1a41e2,_0x4523ee){return 0x3e8*(_0x4523ee[0x0]-_0x1a41e2[0x0])+(_0x4523ee[0x1]-_0x1a41e2[0x1])/0xf4240;};else try{let {performance:_0x5b1c98}=require('perf_hooks');_0x204928=function(){var _0x4f0b5b=_0x168b8c;return _0x5b1c98[_0x4f0b5b(0xe6)]();};}catch{_0x204928=function(){return+new Date();};}}return{'elapsed':_0x2f7b8f,'timeStamp':_0x204928,'now':()=>Date[_0x168b8c(0xe6)]()};}function _0x4e1d(){var _0x55c7b0=['_isNegativeZero','[object\\\\x20Set]','_connecting','pop','warn','_property','constructor','_console_ninja','level','data','nodeModules','_getOwnPropertyDescriptor','_setNodePermissions','parent','_getOwnPropertyNames','global','_setNodeQueryPath','_addFunctionsNode','time','POSITIVE_INFINITY','object','_isSet','[object\\\\x20Date]','negativeInfinity','elements','timeStamp','_numberRegExp','osName','dockerizedApp','_dateToString','https://tinyurl.com/37x8b79t','valueOf','onmessage','_capIfString','args','resolveGetters','resetWhenQuietMs','Number','log','forEach','env','cappedElements','_ws','split','\\\\x20browser','_undefined','onclose','_propertyName','19480KjoQTx','root_exp_id','_allowedToConnectOnSend','_connected','_quotedRegExp','nan','funcName','_getOwnPropertySymbols','_sortProps','_Symbol','_setNodeId','Console\\\\x20Ninja\\\\x20failed\\\\x20to\\\\x20send\\\\x20logs,\\\\x20restarting\\\\x20the\\\\x20process\\\\x20may\\\\x20help;\\\\x20also\\\\x20see\\\\x20','Map','toLowerCase','13103964QpnQvW','String','array','_cleanNode','push','_processTreeNodeResult','logger\\\\x20websocket\\\\x20error','1870254SUWmxz','_addProperty','_objectToString','_isPrimitiveType','strLength','serialize','_isPrimitiveWrapperType','_addObjectProperty','elapsed','boolean','trace','gateway.docker.internal','Symbol','autoExpand','message','_p_length','reduceLimits','versions','_console_ninja_session','_isUndefined','Set','sortProps','1.0.0','props','autoExpandPropertyCount','unref','getter','node','autoExpandPreviousObjects','Error','\\\\x20server','perLogpoint','_WebSocket','','return\\\\x20import(url.pathToFileURL(path.join(nodeModules,\\\\x20\\\\x27ws/index.js\\\\x27)).toString());',\\\"/Users/matejglasnak/.cursor/extensions/wallabyjs.console-ninja-1.0.496-universal/node_modules\\\",'','hrtime','toString','ninjaSuppressConsole','type','_attemptToReconnectShortly','charAt','date','value','58178','prototype','process','get','cappedProps','_hasSetOnItsPath','_webSocketErrorDocsLink','_setNodeExpandableState','NEGATIVE_INFINITY','reload','current','location','negativeZero','send','_type','_isArray','parse','_WebSocketClass','983374JpTdwS','_connectAttemptCount','noFunctions','_connectToHostNow','127.0.0.1',',\\\\x20see\\\\x20https://tinyurl.com/2vt8jxzw\\\\x20for\\\\x20more\\\\x20info.','modules','2345wsUfrF','_setNodeLabel','ExpoDevice','_sendErrorMessage','expo','length','eventReceivedCallback','stack','url','isArray','resetOnProcessingTimeAverageMs','_HTMLAllCollection','Buffer','startsWith','symbol','count','indexOf','isExpressionToEvaluate','resolve','_ninjaIgnoreNextError','logger\\\\x20failed\\\\x20to\\\\x20connect\\\\x20to\\\\x20host','import(\\\\x27path\\\\x27)','HTMLAllCollection','...','host','_maxConnectAttemptCount','_regExpToString','WebSocket','[object\\\\x20Array]','onerror','some','_p_','allStrLength','reduceOnAccumulatedProcessingTimeMs','unknown','hits','reducedLimits','logger\\\\x20failed\\\\x20to\\\\x20connect\\\\x20to\\\\x20host,\\\\x20see\\\\x20','_additionalMetadata','reduceOnCount','_reconnectTimeout','_allowedToSend','totalStrLength','_extendedWarning','performance','fromCharCode','Console\\\\x20Ninja\\\\x20failed\\\\x20to\\\\x20send\\\\x20logs,\\\\x20refreshing\\\\x20the\\\\x20page\\\\x20may\\\\x20help;\\\\x20also\\\\x20see\\\\x20','stackTraceLimit','readyState','call','hostname','4473635XDSKgJ','1','getOwnPropertyNames','index','_keyStrRegExp','positiveInfinity','remix','react-native','50079FfGbnb','_consoleNinjaAllowedToStart','toUpperCase','name','%c\\\\x20Console\\\\x20Ninja\\\\x20extension\\\\x20is\\\\x20connected\\\\x20to\\\\x20','_hasSymbolPropertyOnItsPath','getOwnPropertySymbols','origin','number','error','import(\\\\x27url\\\\x27)','stringify','RegExp','autoExpandLimit','close','getWebSocketClass','setter','background:\\\\x20rgb(30,30,30);\\\\x20color:\\\\x20rgb(255,213,92)','concat','console','path','bind','_addLoadNode','ws://','bigint','slice','expId','_inNextEdge','_disposeWebsocket','capped','iterator','_treeNodePropertiesAfterFullValue','Promise','astro','string','158otmrpx','Console\\\\x20Ninja\\\\x20extension\\\\x20is\\\\x20connected\\\\x20to\\\\x20','android',{\\\"resolveGetters\\\":false,\\\"defaultLimits\\\":{\\\"props\\\":100,\\\"elements\\\":100,\\\"strLength\\\":51200,\\\"totalStrLength\\\":51200,\\\"autoExpandLimit\\\":5000,\\\"autoExpandMaxDepth\\\":10},\\\"reducedLimits\\\":{\\\"props\\\":5,\\\"elements\\\":5,\\\"strLength\\\":256,\\\"totalStrLength\\\":768,\\\"autoExpandLimit\\\":30,\\\"autoExpandMaxDepth\\\":2},\\\"reducePolicy\\\":{\\\"perLogpoint\\\":{\\\"reduceOnCount\\\":50,\\\"reduceOnAccumulatedProcessingTimeMs\\\":100,\\\"resetWhenQuietMs\\\":500,\\\"resetOnProcessingTimeAverageMs\\\":100},\\\"global\\\":{\\\"reduceOnCount\\\":1000,\\\"reduceOnAccumulatedProcessingTimeMs\\\":300,\\\"resetWhenQuietMs\\\":50,\\\"resetOnProcessingTimeAverageMs\\\":100}}},'edge','method','substr','map','failed\\\\x20to\\\\x20connect\\\\x20to\\\\x20host:\\\\x20','_p_name','_setNodeExpressionPath','function','sort','_socket','includes','undefined','disabledLog','_blacklistedProperty','4447240xwfavk','[object\\\\x20BigInt]','defaultLimits','getOwnPropertyDescriptor','port','replace','now','[object\\\\x20Map]','NEXT_RUNTIME','autoExpandMaxDepth','expressionsToEvaluate','_treeNodePropertiesBeforeFullValue','rootExpression','depth','_inBrowser','test','reducePolicy','endsWith','_hasMapOnItsPath'];_0x4e1d=function(){return _0x55c7b0;};return _0x4e1d();}function X(_0x483c01,_0x271bd4,_0x44c4e4){var _0x104ef5=_0x3bb860,_0x11870b,_0xd0411e,_0x2b2f35,_0x37f289,_0x19767e,_0x5b1d18,_0x148937,_0x214d11,_0xcc5822;if(_0x483c01['_consoleNinjaAllowedToStart']!==void 0x0)return _0x483c01['_consoleNinjaAllowedToStart'];let _0x1a7fe6=((_0xd0411e=(_0x11870b=_0x483c01[_0x104ef5(0x167)])==null?void 0x0:_0x11870b['versions'])==null?void 0x0:_0xd0411e['node'])||((_0x37f289=(_0x2b2f35=_0x483c01[_0x104ef5(0x167)])==null?void 0x0:_0x2b2f35[_0x104ef5(0x11b)])==null?void 0x0:_0x37f289['NEXT_RUNTIME'])==='edge',_0x4eefc2=!!(_0x44c4e4===_0x104ef5(0xaa)&&((_0x148937=(_0x5b1d18=(_0x19767e=_0x483c01['expo'])==null?void 0x0:_0x19767e[_0x104ef5(0x6f)])==null?void 0x0:_0x5b1d18['ExpoDevice'])==null?void 0x0:_0x148937[_0x104ef5(0x10e)]));function _0x3dc67e(_0x1005a2){var _0x8df396=_0x104ef5;if(_0x1005a2[_0x8df396(0x7d)]('/')&&_0x1005a2[_0x8df396(0xf1)]('/')){let _0x42ca86=new RegExp(_0x1005a2[_0x8df396(0xc4)](0x1,-0x1));return _0x1424cc=>_0x42ca86['test'](_0x1424cc);}else{if(_0x1005a2[_0x8df396(0xdc)]('*')||_0x1005a2[_0x8df396(0xdc)]('?')){let _0x4ca7cb=new RegExp('^'+_0x1005a2[_0x8df396(0xe5)](/\\\\./g,String[_0x8df396(0x9d)](0x5c)+'.')[_0x8df396(0xe5)](/\\\\*/g,'.*')['replace'](/\\\\?/g,'.')+String['fromCharCode'](0x24));return _0x47b79e=>_0x4ca7cb[_0x8df396(0xef)](_0x47b79e);}else return _0x399e60=>_0x399e60===_0x1005a2;}}let _0x1b7b20=_0x271bd4[_0x104ef5(0xd5)](_0x3dc67e);return _0x483c01['_consoleNinjaAllowedToStart']=_0x1a7fe6||!_0x271bd4,!_0x483c01[_0x104ef5(0xac)]&&((_0x214d11=_0x483c01[_0x104ef5(0x170)])==null?void 0x0:_0x214d11[_0x104ef5(0xa2)])&&(_0x483c01[_0x104ef5(0xac)]=_0x1b7b20[_0x104ef5(0x8e)](_0x39e689=>_0x39e689(_0x483c01[_0x104ef5(0x170)][_0x104ef5(0xa2)]))),_0x4eefc2&&!_0x483c01[_0x104ef5(0xac)]&&!((_0xcc5822=_0x483c01[_0x104ef5(0x170)])!=null&&_0xcc5822[_0x104ef5(0xa2)])&&(_0x483c01[_0x104ef5(0xac)]=!0x0),_0x483c01[_0x104ef5(0xac)];}function J(_0x54988f,_0x4ca48c,_0x1c6321,_0x242b6d,_0x2ab5e9,_0x5c9ae8){var _0x362eb9=_0x3bb860;_0x54988f=_0x54988f,_0x4ca48c=_0x4ca48c,_0x1c6321=_0x1c6321,_0x242b6d=_0x242b6d,_0x2ab5e9=_0x2ab5e9,_0x2ab5e9=_0x2ab5e9||{},_0x2ab5e9[_0x362eb9(0xe2)]=_0x2ab5e9['defaultLimits']||{},_0x2ab5e9['reducedLimits']=_0x2ab5e9[_0x362eb9(0x94)]||{},_0x2ab5e9[_0x362eb9(0xf0)]=_0x2ab5e9[_0x362eb9(0xf0)]||{},_0x2ab5e9[_0x362eb9(0xf0)][_0x362eb9(0x157)]=_0x2ab5e9['reducePolicy'][_0x362eb9(0x157)]||{},_0x2ab5e9[_0x362eb9(0xf0)][_0x362eb9(0x102)]=_0x2ab5e9[_0x362eb9(0xf0)][_0x362eb9(0x102)]||{};let _0x2575e9={'perLogpoint':{'reduceOnCount':_0x2ab5e9['reducePolicy']['perLogpoint'][_0x362eb9(0x97)]||0x32,'reduceOnAccumulatedProcessingTimeMs':_0x2ab5e9[_0x362eb9(0xf0)][_0x362eb9(0x157)][_0x362eb9(0x91)]||0x64,'resetWhenQuietMs':_0x2ab5e9[_0x362eb9(0xf0)][_0x362eb9(0x157)][_0x362eb9(0x117)]||0x1f4,'resetOnProcessingTimeAverageMs':_0x2ab5e9[_0x362eb9(0xf0)][_0x362eb9(0x157)]['resetOnProcessingTimeAverageMs']||0x64},'global':{'reduceOnCount':_0x2ab5e9[_0x362eb9(0xf0)][_0x362eb9(0x102)][_0x362eb9(0x97)]||0x3e8,'reduceOnAccumulatedProcessingTimeMs':_0x2ab5e9[_0x362eb9(0xf0)][_0x362eb9(0x102)][_0x362eb9(0x91)]||0x12c,'resetWhenQuietMs':_0x2ab5e9[_0x362eb9(0xf0)][_0x362eb9(0x102)][_0x362eb9(0x117)]||0x32,'resetOnProcessingTimeAverageMs':_0x2ab5e9[_0x362eb9(0xf0)][_0x362eb9(0x102)][_0x362eb9(0x7a)]||0x64}},_0x3068d4=b(_0x54988f),_0x2020f4=_0x3068d4[_0x362eb9(0x140)],_0x33c06c=_0x3068d4['timeStamp'];function _0x1553d1(){var _0x2f7fd2=_0x362eb9;this[_0x2f7fd2(0xa7)]=/^(?!(?:do|if|in|for|let|new|try|var|case|else|enum|eval|false|null|this|true|void|with|break|catch|class|const|super|throw|while|yield|delete|export|import|public|return|static|switch|typeof|default|extends|finally|package|private|continue|debugger|function|arguments|interface|protected|implements|instanceof)$)[_$a-zA-Z\\\\xA0-\\\\uFFFF][_$a-zA-Z0-9\\\\xA0-\\\\uFFFF]*$/,this[_0x2f7fd2(0x10d)]=/^(0|[1-9][0-9]*)$/,this[_0x2f7fd2(0x127)]=/'([^\\\\\\\\']|\\\\\\\\')*'/,this[_0x2f7fd2(0x120)]=_0x54988f[_0x2f7fd2(0xdd)],this[_0x2f7fd2(0x7b)]=_0x54988f[_0x2f7fd2(0x86)],this[_0x2f7fd2(0xfe)]=Object[_0x2f7fd2(0xe3)],this[_0x2f7fd2(0x101)]=Object[_0x2f7fd2(0xa5)],this[_0x2f7fd2(0x12c)]=_0x54988f[_0x2f7fd2(0x144)],this[_0x2f7fd2(0x8a)]=RegExp[_0x2f7fd2(0x166)][_0x2f7fd2(0x15e)],this[_0x2f7fd2(0x110)]=Date[_0x2f7fd2(0x166)]['toString'];}_0x1553d1[_0x362eb9(0x166)][_0x362eb9(0x13d)]=function(_0x4647d7,_0x2a215a,_0x22ed3f,_0x50c2de){var _0x2e0ba3=_0x362eb9,_0x5d74ca=this,_0x51c281=_0x22ed3f[_0x2e0ba3(0x145)];function _0x5cbb2c(_0x2151b5,_0x31b5a1,_0x57d6c8){var _0x303826=_0x2e0ba3;_0x31b5a1[_0x303826(0x160)]='unknown',_0x31b5a1[_0x303826(0xb4)]=_0x2151b5[_0x303826(0x146)],_0x927f28=_0x57d6c8[_0x303826(0x153)]['current'],_0x57d6c8[_0x303826(0x153)]['current']=_0x31b5a1,_0x5d74ca[_0x303826(0xeb)](_0x31b5a1,_0x57d6c8);}let _0x579911,_0xddd6e9,_0x22db18=_0x54988f[_0x2e0ba3(0x15f)];_0x54988f[_0x2e0ba3(0x15f)]=!0x0,_0x54988f[_0x2e0ba3(0xbe)]&&(_0x579911=_0x54988f[_0x2e0ba3(0xbe)]['error'],_0xddd6e9=_0x54988f[_0x2e0ba3(0xbe)][_0x2e0ba3(0xf7)],_0x579911&&(_0x54988f[_0x2e0ba3(0xbe)][_0x2e0ba3(0xb4)]=function(){}),_0xddd6e9&&(_0x54988f['console']['warn']=function(){}));try{try{_0x22ed3f['level']++,_0x22ed3f[_0x2e0ba3(0x145)]&&_0x22ed3f[_0x2e0ba3(0x154)][_0x2e0ba3(0x135)](_0x2a215a);var _0x423735,_0x575ffc,_0x56086b,_0x237f39,_0x25296e=[],_0x5e2d4e=[],_0x16b7cc,_0x70a2f6=this[_0x2e0ba3(0x173)](_0x2a215a),_0x283f38=_0x70a2f6===_0x2e0ba3(0x133),_0x5b503b=!0x1,_0x95078c=_0x70a2f6===_0x2e0ba3(0xd9),_0x36b80f=this[_0x2e0ba3(0x13b)](_0x70a2f6),_0x4f4889=this[_0x2e0ba3(0x13e)](_0x70a2f6),_0xc8b9f=_0x36b80f||_0x4f4889,_0x2720e2={},_0x40d2dc=0x0,_0x460b57=!0x1,_0x927f28,_0x2173c4=/^(([1-9]{1}[0-9]*)|0)$/;if(_0x22ed3f[_0x2e0ba3(0xed)]){if(_0x283f38){if(_0x575ffc=_0x2a215a[_0x2e0ba3(0x75)],_0x575ffc>_0x22ed3f[_0x2e0ba3(0x10b)]){for(_0x56086b=0x0,_0x237f39=_0x22ed3f['elements'],_0x423735=_0x56086b;_0x423735<_0x237f39;_0x423735++)_0x5e2d4e[_0x2e0ba3(0x135)](_0x5d74ca[_0x2e0ba3(0x139)](_0x25296e,_0x2a215a,_0x70a2f6,_0x423735,_0x22ed3f));_0x4647d7[_0x2e0ba3(0x11c)]=!0x0;}else{for(_0x56086b=0x0,_0x237f39=_0x575ffc,_0x423735=_0x56086b;_0x423735<_0x237f39;_0x423735++)_0x5e2d4e['push'](_0x5d74ca['_addProperty'](_0x25296e,_0x2a215a,_0x70a2f6,_0x423735,_0x22ed3f));}_0x22ed3f[_0x2e0ba3(0x150)]+=_0x5e2d4e['length'];}if(!(_0x70a2f6==='null'||_0x70a2f6===_0x2e0ba3(0xdd))&&!_0x36b80f&&_0x70a2f6!==_0x2e0ba3(0x132)&&_0x70a2f6!==_0x2e0ba3(0x7c)&&_0x70a2f6!==_0x2e0ba3(0xc3)){var _0x25fc93=_0x50c2de[_0x2e0ba3(0x14f)]||_0x22ed3f[_0x2e0ba3(0x14f)];if(this['_isSet'](_0x2a215a)?(_0x423735=0x0,_0x2a215a[_0x2e0ba3(0x11a)](function(_0x2dea34){var _0x320e32=_0x2e0ba3;if(_0x40d2dc++,_0x22ed3f[_0x320e32(0x150)]++,_0x40d2dc>_0x25fc93){_0x460b57=!0x0;return;}if(!_0x22ed3f[_0x320e32(0x81)]&&_0x22ed3f['autoExpand']&&_0x22ed3f['autoExpandPropertyCount']>_0x22ed3f[_0x320e32(0xb8)]){_0x460b57=!0x0;return;}_0x5e2d4e[_0x320e32(0x135)](_0x5d74ca['_addProperty'](_0x25296e,_0x2a215a,_0x320e32(0x14c),_0x423735++,_0x22ed3f,function(_0x599ec3){return function(){return _0x599ec3;};}(_0x2dea34)));})):this['_isMap'](_0x2a215a)&&_0x2a215a[_0x2e0ba3(0x11a)](function(_0x298807,_0x2e9c94){var _0x22e685=_0x2e0ba3;if(_0x40d2dc++,_0x22ed3f[_0x22e685(0x150)]++,_0x40d2dc>_0x25fc93){_0x460b57=!0x0;return;}if(!_0x22ed3f[_0x22e685(0x81)]&&_0x22ed3f[_0x22e685(0x145)]&&_0x22ed3f[_0x22e685(0x150)]>_0x22ed3f['autoExpandLimit']){_0x460b57=!0x0;return;}var _0x4472d8=_0x2e9c94['toString']();_0x4472d8[_0x22e685(0x75)]>0x64&&(_0x4472d8=_0x4472d8['slice'](0x0,0x64)+_0x22e685(0x87)),_0x5e2d4e[_0x22e685(0x135)](_0x5d74ca[_0x22e685(0x139)](_0x25296e,_0x2a215a,'Map',_0x4472d8,_0x22ed3f,function(_0x376da9){return function(){return _0x376da9;};}(_0x298807)));}),!_0x5b503b){try{for(_0x16b7cc in _0x2a215a)if(!(_0x283f38&&_0x2173c4[_0x2e0ba3(0xef)](_0x16b7cc))&&!this[_0x2e0ba3(0xdf)](_0x2a215a,_0x16b7cc,_0x22ed3f)){if(_0x40d2dc++,_0x22ed3f[_0x2e0ba3(0x150)]++,_0x40d2dc>_0x25fc93){_0x460b57=!0x0;break;}if(!_0x22ed3f[_0x2e0ba3(0x81)]&&_0x22ed3f[_0x2e0ba3(0x145)]&&_0x22ed3f[_0x2e0ba3(0x150)]>_0x22ed3f[_0x2e0ba3(0xb8)]){_0x460b57=!0x0;break;}_0x5e2d4e[_0x2e0ba3(0x135)](_0x5d74ca[_0x2e0ba3(0x13f)](_0x25296e,_0x2720e2,_0x2a215a,_0x70a2f6,_0x16b7cc,_0x22ed3f));}}catch{}if(_0x2720e2[_0x2e0ba3(0x147)]=!0x0,_0x95078c&&(_0x2720e2[_0x2e0ba3(0xd7)]=!0x0),!_0x460b57){var _0x225309=[][_0x2e0ba3(0xbd)](this['_getOwnPropertyNames'](_0x2a215a))['concat'](this[_0x2e0ba3(0x12a)](_0x2a215a));for(_0x423735=0x0,_0x575ffc=_0x225309[_0x2e0ba3(0x75)];_0x423735<_0x575ffc;_0x423735++)if(_0x16b7cc=_0x225309[_0x423735],!(_0x283f38&&_0x2173c4[_0x2e0ba3(0xef)](_0x16b7cc[_0x2e0ba3(0x15e)]()))&&!this[_0x2e0ba3(0xdf)](_0x2a215a,_0x16b7cc,_0x22ed3f)&&!_0x2720e2[typeof _0x16b7cc!=_0x2e0ba3(0x7e)?_0x2e0ba3(0x8f)+_0x16b7cc[_0x2e0ba3(0x15e)]():_0x16b7cc]){if(_0x40d2dc++,_0x22ed3f[_0x2e0ba3(0x150)]++,_0x40d2dc>_0x25fc93){_0x460b57=!0x0;break;}if(!_0x22ed3f['isExpressionToEvaluate']&&_0x22ed3f[_0x2e0ba3(0x145)]&&_0x22ed3f['autoExpandPropertyCount']>_0x22ed3f['autoExpandLimit']){_0x460b57=!0x0;break;}_0x5e2d4e[_0x2e0ba3(0x135)](_0x5d74ca['_addObjectProperty'](_0x25296e,_0x2720e2,_0x2a215a,_0x70a2f6,_0x16b7cc,_0x22ed3f));}}}}}if(_0x4647d7[_0x2e0ba3(0x160)]=_0x70a2f6,_0xc8b9f?(_0x4647d7['value']=_0x2a215a[_0x2e0ba3(0x112)](),this['_capIfString'](_0x70a2f6,_0x4647d7,_0x22ed3f,_0x50c2de)):_0x70a2f6===_0x2e0ba3(0x163)?_0x4647d7['value']=this[_0x2e0ba3(0x110)][_0x2e0ba3(0xa1)](_0x2a215a):_0x70a2f6===_0x2e0ba3(0xc3)?_0x4647d7[_0x2e0ba3(0x164)]=_0x2a215a[_0x2e0ba3(0x15e)]():_0x70a2f6===_0x2e0ba3(0xb7)?_0x4647d7[_0x2e0ba3(0x164)]=this[_0x2e0ba3(0x8a)][_0x2e0ba3(0xa1)](_0x2a215a):_0x70a2f6==='symbol'&&this[_0x2e0ba3(0x12c)]?_0x4647d7[_0x2e0ba3(0x164)]=this[_0x2e0ba3(0x12c)][_0x2e0ba3(0x166)][_0x2e0ba3(0x15e)]['call'](_0x2a215a):!_0x22ed3f[_0x2e0ba3(0xed)]&&!(_0x70a2f6==='null'||_0x70a2f6===_0x2e0ba3(0xdd))&&(delete _0x4647d7[_0x2e0ba3(0x164)],_0x4647d7[_0x2e0ba3(0xc8)]=!0x0),_0x460b57&&(_0x4647d7[_0x2e0ba3(0x169)]=!0x0),_0x927f28=_0x22ed3f[_0x2e0ba3(0x153)][_0x2e0ba3(0x16f)],_0x22ed3f[_0x2e0ba3(0x153)][_0x2e0ba3(0x16f)]=_0x4647d7,this[_0x2e0ba3(0xeb)](_0x4647d7,_0x22ed3f),_0x5e2d4e['length']){for(_0x423735=0x0,_0x575ffc=_0x5e2d4e['length'];_0x423735<_0x575ffc;_0x423735++)_0x5e2d4e[_0x423735](_0x423735);}_0x25296e['length']&&(_0x4647d7[_0x2e0ba3(0x14f)]=_0x25296e);}catch(_0x3cea83){_0x5cbb2c(_0x3cea83,_0x4647d7,_0x22ed3f);}this[_0x2e0ba3(0x96)](_0x2a215a,_0x4647d7),this[_0x2e0ba3(0xca)](_0x4647d7,_0x22ed3f),_0x22ed3f[_0x2e0ba3(0x153)][_0x2e0ba3(0x16f)]=_0x927f28,_0x22ed3f['level']--,_0x22ed3f[_0x2e0ba3(0x145)]=_0x51c281,_0x22ed3f[_0x2e0ba3(0x145)]&&_0x22ed3f[_0x2e0ba3(0x154)][_0x2e0ba3(0xf6)]();}finally{_0x579911&&(_0x54988f[_0x2e0ba3(0xbe)][_0x2e0ba3(0xb4)]=_0x579911),_0xddd6e9&&(_0x54988f[_0x2e0ba3(0xbe)][_0x2e0ba3(0xf7)]=_0xddd6e9),_0x54988f[_0x2e0ba3(0x15f)]=_0x22db18;}return _0x4647d7;},_0x1553d1[_0x362eb9(0x166)][_0x362eb9(0x12a)]=function(_0x542adf){var _0x50d3db=_0x362eb9;return Object[_0x50d3db(0xb1)]?Object[_0x50d3db(0xb1)](_0x542adf):[];},_0x1553d1[_0x362eb9(0x166)][_0x362eb9(0x108)]=function(_0x40db41){var _0x2ca29a=_0x362eb9;return!!(_0x40db41&&_0x54988f[_0x2ca29a(0x14c)]&&this[_0x2ca29a(0x13a)](_0x40db41)===_0x2ca29a(0xf4)&&_0x40db41[_0x2ca29a(0x11a)]);},_0x1553d1[_0x362eb9(0x166)][_0x362eb9(0xdf)]=function(_0x2efd92,_0x209eca,_0x50cec3){var _0x34627=_0x362eb9;if(!_0x50cec3['resolveGetters']){let _0xd9569c=this[_0x34627(0xfe)](_0x2efd92,_0x209eca);if(_0xd9569c&&_0xd9569c[_0x34627(0x168)])return!0x0;}return _0x50cec3[_0x34627(0x6b)]?typeof _0x2efd92[_0x209eca]=='function':!0x1;},_0x1553d1[_0x362eb9(0x166)][_0x362eb9(0x173)]=function(_0x3a6e45){var _0x3a6d86=_0x362eb9,_0x1ef452='';return _0x1ef452=typeof _0x3a6e45,_0x1ef452===_0x3a6d86(0x107)?this[_0x3a6d86(0x13a)](_0x3a6e45)===_0x3a6d86(0x8c)?_0x1ef452=_0x3a6d86(0x133):this[_0x3a6d86(0x13a)](_0x3a6e45)===_0x3a6d86(0x109)?_0x1ef452=_0x3a6d86(0x163):this[_0x3a6d86(0x13a)](_0x3a6e45)===_0x3a6d86(0xe1)?_0x1ef452=_0x3a6d86(0xc3):_0x3a6e45===null?_0x1ef452='null':_0x3a6e45[_0x3a6d86(0xf9)]&&(_0x1ef452=_0x3a6e45[_0x3a6d86(0xf9)][_0x3a6d86(0xae)]||_0x1ef452):_0x1ef452===_0x3a6d86(0xdd)&&this[_0x3a6d86(0x7b)]&&_0x3a6e45 instanceof this[_0x3a6d86(0x7b)]&&(_0x1ef452='HTMLAllCollection'),_0x1ef452;},_0x1553d1['prototype'][_0x362eb9(0x13a)]=function(_0xbe7254){var _0x3f21ad=_0x362eb9;return Object['prototype'][_0x3f21ad(0x15e)][_0x3f21ad(0xa1)](_0xbe7254);},_0x1553d1[_0x362eb9(0x166)][_0x362eb9(0x13b)]=function(_0x2584e2){var _0x4947d9=_0x362eb9;return _0x2584e2===_0x4947d9(0x141)||_0x2584e2===_0x4947d9(0xcd)||_0x2584e2==='number';},_0x1553d1['prototype'][_0x362eb9(0x13e)]=function(_0xa2a455){var _0x33b765=_0x362eb9;return _0xa2a455==='Boolean'||_0xa2a455==='String'||_0xa2a455===_0x33b765(0x118);},_0x1553d1[_0x362eb9(0x166)][_0x362eb9(0x139)]=function(_0xb78ea3,_0x5c4e5e,_0x37ea9c,_0x5e9c85,_0x2788cd,_0x56a4d2){var _0x4ccc58=this;return function(_0x2e1f3f){var _0x21a4ef=_0x1415,_0x47a755=_0x2788cd[_0x21a4ef(0x153)][_0x21a4ef(0x16f)],_0x348ee2=_0x2788cd[_0x21a4ef(0x153)][_0x21a4ef(0xa6)],_0x4f95fd=_0x2788cd['node'][_0x21a4ef(0x100)];_0x2788cd[_0x21a4ef(0x153)][_0x21a4ef(0x100)]=_0x47a755,_0x2788cd[_0x21a4ef(0x153)][_0x21a4ef(0xa6)]=typeof _0x5e9c85==_0x21a4ef(0xb3)?_0x5e9c85:_0x2e1f3f,_0xb78ea3[_0x21a4ef(0x135)](_0x4ccc58[_0x21a4ef(0xf8)](_0x5c4e5e,_0x37ea9c,_0x5e9c85,_0x2788cd,_0x56a4d2)),_0x2788cd['node']['parent']=_0x4f95fd,_0x2788cd[_0x21a4ef(0x153)][_0x21a4ef(0xa6)]=_0x348ee2;};},_0x1553d1[_0x362eb9(0x166)][_0x362eb9(0x13f)]=function(_0x4770b7,_0x19ed8d,_0x5a01f4,_0x2f32a4,_0x2539b5,_0x35b333,_0xcf15f1){var _0x413486=_0x362eb9,_0x1b0ab1=this;return _0x19ed8d[typeof _0x2539b5!='symbol'?_0x413486(0x8f)+_0x2539b5[_0x413486(0x15e)]():_0x2539b5]=!0x0,function(_0xb8c9af){var _0x316ac0=_0x413486,_0x28cf78=_0x35b333['node'][_0x316ac0(0x16f)],_0x135252=_0x35b333['node']['index'],_0x51969c=_0x35b333[_0x316ac0(0x153)][_0x316ac0(0x100)];_0x35b333[_0x316ac0(0x153)]['parent']=_0x28cf78,_0x35b333[_0x316ac0(0x153)]['index']=_0xb8c9af,_0x4770b7['push'](_0x1b0ab1[_0x316ac0(0xf8)](_0x5a01f4,_0x2f32a4,_0x2539b5,_0x35b333,_0xcf15f1)),_0x35b333[_0x316ac0(0x153)][_0x316ac0(0x100)]=_0x51969c,_0x35b333[_0x316ac0(0x153)][_0x316ac0(0xa6)]=_0x135252;};},_0x1553d1['prototype'][_0x362eb9(0xf8)]=function(_0x56f923,_0xe02046,_0x35e01a,_0x31febe,_0x4c60e0){var _0x5dc645=_0x362eb9,_0x42f7fc=this;_0x4c60e0||(_0x4c60e0=function(_0x579f08,_0x5371a1){return _0x579f08[_0x5371a1];});var _0x29473c=_0x35e01a['toString'](),_0x2cbdf1=_0x31febe[_0x5dc645(0xea)]||{},_0x4c9159=_0x31febe['depth'],_0x120fec=_0x31febe['isExpressionToEvaluate'];try{var _0xb650b=this['_isMap'](_0x56f923),_0x2ab92b=_0x29473c;_0xb650b&&_0x2ab92b[0x0]==='\\\\x27'&&(_0x2ab92b=_0x2ab92b['substr'](0x1,_0x2ab92b[_0x5dc645(0x75)]-0x2));var _0x47228a=_0x31febe[_0x5dc645(0xea)]=_0x2cbdf1[_0x5dc645(0x8f)+_0x2ab92b];_0x47228a&&(_0x31febe[_0x5dc645(0xed)]=_0x31febe['depth']+0x1),_0x31febe[_0x5dc645(0x81)]=!!_0x47228a;var _0x23862f=typeof _0x35e01a==_0x5dc645(0x7e),_0x3cd986={'name':_0x23862f||_0xb650b?_0x29473c:this[_0x5dc645(0x122)](_0x29473c)};if(_0x23862f&&(_0x3cd986[_0x5dc645(0x7e)]=!0x0),!(_0xe02046===_0x5dc645(0x133)||_0xe02046===_0x5dc645(0x155))){var _0x53d604=this[_0x5dc645(0xfe)](_0x56f923,_0x35e01a);if(_0x53d604&&(_0x53d604['set']&&(_0x3cd986[_0x5dc645(0xbb)]=!0x0),_0x53d604[_0x5dc645(0x168)]&&!_0x47228a&&!_0x31febe['resolveGetters']))return _0x3cd986[_0x5dc645(0x152)]=!0x0,this[_0x5dc645(0x136)](_0x3cd986,_0x31febe),_0x3cd986;}var _0x299969;try{_0x299969=_0x4c60e0(_0x56f923,_0x35e01a);}catch(_0x145369){return _0x3cd986={'name':_0x29473c,'type':_0x5dc645(0x92),'error':_0x145369[_0x5dc645(0x146)]},this[_0x5dc645(0x136)](_0x3cd986,_0x31febe),_0x3cd986;}var _0x20e649=this[_0x5dc645(0x173)](_0x299969),_0x367e10=this['_isPrimitiveType'](_0x20e649);if(_0x3cd986[_0x5dc645(0x160)]=_0x20e649,_0x367e10)this[_0x5dc645(0x136)](_0x3cd986,_0x31febe,_0x299969,function(){var _0x2dc954=_0x5dc645;_0x3cd986[_0x2dc954(0x164)]=_0x299969[_0x2dc954(0x112)](),!_0x47228a&&_0x42f7fc[_0x2dc954(0x114)](_0x20e649,_0x3cd986,_0x31febe,{});});else{var _0x5dfaf4=_0x31febe[_0x5dc645(0x145)]&&_0x31febe[_0x5dc645(0xfb)]<_0x31febe[_0x5dc645(0xe9)]&&_0x31febe[_0x5dc645(0x154)][_0x5dc645(0x80)](_0x299969)<0x0&&_0x20e649!=='function'&&_0x31febe[_0x5dc645(0x150)]<_0x31febe['autoExpandLimit'];_0x5dfaf4||_0x31febe[_0x5dc645(0xfb)]<_0x4c9159||_0x47228a?this[_0x5dc645(0x13d)](_0x3cd986,_0x299969,_0x31febe,_0x47228a||{}):this[_0x5dc645(0x136)](_0x3cd986,_0x31febe,_0x299969,function(){var _0x223d28=_0x5dc645;_0x20e649==='null'||_0x20e649==='undefined'||(delete _0x3cd986[_0x223d28(0x164)],_0x3cd986[_0x223d28(0xc8)]=!0x0);});}return _0x3cd986;}finally{_0x31febe[_0x5dc645(0xea)]=_0x2cbdf1,_0x31febe[_0x5dc645(0xed)]=_0x4c9159,_0x31febe[_0x5dc645(0x81)]=_0x120fec;}},_0x1553d1[_0x362eb9(0x166)][_0x362eb9(0x114)]=function(_0x268238,_0x5c408f,_0x1bbfe8,_0x14e025){var _0xb291a7=_0x362eb9,_0x378a39=_0x14e025['strLength']||_0x1bbfe8[_0xb291a7(0x13c)];if((_0x268238==='string'||_0x268238===_0xb291a7(0x132))&&_0x5c408f[_0xb291a7(0x164)]){let _0x11ccc2=_0x5c408f['value']['length'];_0x1bbfe8[_0xb291a7(0x90)]+=_0x11ccc2,_0x1bbfe8[_0xb291a7(0x90)]>_0x1bbfe8['totalStrLength']?(_0x5c408f[_0xb291a7(0xc8)]='',delete _0x5c408f[_0xb291a7(0x164)]):_0x11ccc2>_0x378a39&&(_0x5c408f['capped']=_0x5c408f['value'][_0xb291a7(0xd4)](0x0,_0x378a39),delete _0x5c408f['value']);}},_0x1553d1[_0x362eb9(0x166)]['_isMap']=function(_0x2c418a){var _0x571864=_0x362eb9;return!!(_0x2c418a&&_0x54988f[_0x571864(0x12f)]&&this['_objectToString'](_0x2c418a)===_0x571864(0xe7)&&_0x2c418a['forEach']);},_0x1553d1['prototype'][_0x362eb9(0x122)]=function(_0x259913){var _0x4fb046=_0x362eb9;if(_0x259913['match'](/^\\\\d+$/))return _0x259913;var _0x25f80b;try{_0x25f80b=JSON[_0x4fb046(0xb6)](''+_0x259913);}catch{_0x25f80b='\\\\x22'+this[_0x4fb046(0x13a)](_0x259913)+'\\\\x22';}return _0x25f80b['match'](/^\\\"([a-zA-Z_][a-zA-Z_0-9]*)\\\"$/)?_0x25f80b=_0x25f80b[_0x4fb046(0xd4)](0x1,_0x25f80b['length']-0x2):_0x25f80b=_0x25f80b[_0x4fb046(0xe5)](/'/g,'\\\\x5c\\\\x27')['replace'](/\\\\\\\\\\\"/g,'\\\\x22')[_0x4fb046(0xe5)](/(^\\\"|\\\"$)/g,'\\\\x27'),_0x25f80b;},_0x1553d1[_0x362eb9(0x166)][_0x362eb9(0x136)]=function(_0x51dac5,_0x17415c,_0x5e7cf5,_0x4b1e80){var _0x394081=_0x362eb9;this[_0x394081(0xeb)](_0x51dac5,_0x17415c),_0x4b1e80&&_0x4b1e80(),this[_0x394081(0x96)](_0x5e7cf5,_0x51dac5),this[_0x394081(0xca)](_0x51dac5,_0x17415c);},_0x1553d1['prototype'][_0x362eb9(0xeb)]=function(_0x152418,_0x11633b){var _0x1e700d=_0x362eb9;this['_setNodeId'](_0x152418,_0x11633b),this['_setNodeQueryPath'](_0x152418,_0x11633b),this[_0x1e700d(0xd8)](_0x152418,_0x11633b),this[_0x1e700d(0xff)](_0x152418,_0x11633b);},_0x1553d1[_0x362eb9(0x166)][_0x362eb9(0x12d)]=function(_0x2b1e43,_0x57edd2){},_0x1553d1[_0x362eb9(0x166)][_0x362eb9(0x103)]=function(_0x539da7,_0x19786b){},_0x1553d1['prototype']['_setNodeLabel']=function(_0x5e0d54,_0x222367){},_0x1553d1['prototype'][_0x362eb9(0x14b)]=function(_0x5eebd0){var _0x47a672=_0x362eb9;return _0x5eebd0===this[_0x47a672(0x120)];},_0x1553d1['prototype']['_treeNodePropertiesAfterFullValue']=function(_0x488337,_0xfb8c5d){var _0x249fef=_0x362eb9;this['_setNodeLabel'](_0x488337,_0xfb8c5d),this[_0x249fef(0x16c)](_0x488337),_0xfb8c5d[_0x249fef(0x14d)]&&this[_0x249fef(0x12b)](_0x488337),this[_0x249fef(0x104)](_0x488337,_0xfb8c5d),this[_0x249fef(0xc1)](_0x488337,_0xfb8c5d),this[_0x249fef(0x134)](_0x488337);},_0x1553d1[_0x362eb9(0x166)][_0x362eb9(0x96)]=function(_0x50775a,_0x3a2dc1){var _0x18e664=_0x362eb9;try{_0x50775a&&typeof _0x50775a[_0x18e664(0x75)]==_0x18e664(0xb3)&&(_0x3a2dc1[_0x18e664(0x75)]=_0x50775a['length']);}catch{}if(_0x3a2dc1[_0x18e664(0x160)]===_0x18e664(0xb3)||_0x3a2dc1[_0x18e664(0x160)]===_0x18e664(0x118)){if(isNaN(_0x3a2dc1[_0x18e664(0x164)]))_0x3a2dc1[_0x18e664(0x128)]=!0x0,delete _0x3a2dc1[_0x18e664(0x164)];else switch(_0x3a2dc1['value']){case Number[_0x18e664(0x106)]:_0x3a2dc1[_0x18e664(0xa8)]=!0x0,delete _0x3a2dc1[_0x18e664(0x164)];break;case Number[_0x18e664(0x16d)]:_0x3a2dc1[_0x18e664(0x10a)]=!0x0,delete _0x3a2dc1[_0x18e664(0x164)];break;case 0x0:this[_0x18e664(0xf3)](_0x3a2dc1[_0x18e664(0x164)])&&(_0x3a2dc1[_0x18e664(0x171)]=!0x0);break;}}else _0x3a2dc1[_0x18e664(0x160)]===_0x18e664(0xd9)&&typeof _0x50775a['name']==_0x18e664(0xcd)&&_0x50775a[_0x18e664(0xae)]&&_0x3a2dc1['name']&&_0x50775a['name']!==_0x3a2dc1[_0x18e664(0xae)]&&(_0x3a2dc1[_0x18e664(0x129)]=_0x50775a[_0x18e664(0xae)]);},_0x1553d1[_0x362eb9(0x166)][_0x362eb9(0xf3)]=function(_0x5d4a64){var _0x124dbd=_0x362eb9;return 0x1/_0x5d4a64===Number[_0x124dbd(0x16d)];},_0x1553d1['prototype'][_0x362eb9(0x12b)]=function(_0x5effc0){var _0xcb9369=_0x362eb9;!_0x5effc0[_0xcb9369(0x14f)]||!_0x5effc0[_0xcb9369(0x14f)][_0xcb9369(0x75)]||_0x5effc0[_0xcb9369(0x160)]===_0xcb9369(0x133)||_0x5effc0[_0xcb9369(0x160)]===_0xcb9369(0x12f)||_0x5effc0[_0xcb9369(0x160)]===_0xcb9369(0x14c)||_0x5effc0[_0xcb9369(0x14f)][_0xcb9369(0xda)](function(_0x348183,_0x3a9dfe){var _0x2dc7c8=_0xcb9369,_0x4182bd=_0x348183[_0x2dc7c8(0xae)]['toLowerCase'](),_0x4230c7=_0x3a9dfe[_0x2dc7c8(0xae)][_0x2dc7c8(0x130)]();return _0x4182bd<_0x4230c7?-0x1:_0x4182bd>_0x4230c7?0x1:0x0;});},_0x1553d1[_0x362eb9(0x166)][_0x362eb9(0x104)]=function(_0x375221,_0x361945){var _0x131a55=_0x362eb9;if(!(_0x361945[_0x131a55(0x6b)]||!_0x375221[_0x131a55(0x14f)]||!_0x375221[_0x131a55(0x14f)][_0x131a55(0x75)])){for(var _0x57e4e3=[],_0x4d073a=[],_0x3d548c=0x0,_0x1a0472=_0x375221['props']['length'];_0x3d548c<_0x1a0472;_0x3d548c++){var _0x392721=_0x375221[_0x131a55(0x14f)][_0x3d548c];_0x392721[_0x131a55(0x160)]==='function'?_0x57e4e3[_0x131a55(0x135)](_0x392721):_0x4d073a[_0x131a55(0x135)](_0x392721);}if(!(!_0x4d073a['length']||_0x57e4e3[_0x131a55(0x75)]<=0x1)){_0x375221[_0x131a55(0x14f)]=_0x4d073a;var _0x300a86={'functionsNode':!0x0,'props':_0x57e4e3};this['_setNodeId'](_0x300a86,_0x361945),this[_0x131a55(0x71)](_0x300a86,_0x361945),this[_0x131a55(0x16c)](_0x300a86),this[_0x131a55(0xff)](_0x300a86,_0x361945),_0x300a86['id']+='\\\\x20f',_0x375221['props']['unshift'](_0x300a86);}}},_0x1553d1['prototype'][_0x362eb9(0xc1)]=function(_0xdd78d6,_0x5ea79f){},_0x1553d1[_0x362eb9(0x166)][_0x362eb9(0x16c)]=function(_0x2ea115){},_0x1553d1['prototype'][_0x362eb9(0x174)]=function(_0x59d77a){var _0x5648e8=_0x362eb9;return Array[_0x5648e8(0x79)](_0x59d77a)||typeof _0x59d77a=='object'&&this['_objectToString'](_0x59d77a)==='[object\\\\x20Array]';},_0x1553d1[_0x362eb9(0x166)][_0x362eb9(0xff)]=function(_0x8d330,_0x234a4d){},_0x1553d1[_0x362eb9(0x166)][_0x362eb9(0x134)]=function(_0x5c22fa){var _0x64bada=_0x362eb9;delete _0x5c22fa[_0x64bada(0xb0)],delete _0x5c22fa[_0x64bada(0x16a)],delete _0x5c22fa[_0x64bada(0xf2)];},_0x1553d1[_0x362eb9(0x166)][_0x362eb9(0xd8)]=function(_0x564a04,_0xf08319){};let _0x14c23a=new _0x1553d1(),_0x39a863={'props':_0x2ab5e9[_0x362eb9(0xe2)]['props']||0x64,'elements':_0x2ab5e9[_0x362eb9(0xe2)][_0x362eb9(0x10b)]||0x64,'strLength':_0x2ab5e9[_0x362eb9(0xe2)][_0x362eb9(0x13c)]||0x400*0x32,'totalStrLength':_0x2ab5e9[_0x362eb9(0xe2)][_0x362eb9(0x9a)]||0x400*0x32,'autoExpandLimit':_0x2ab5e9[_0x362eb9(0xe2)][_0x362eb9(0xb8)]||0x1388,'autoExpandMaxDepth':_0x2ab5e9['defaultLimits']['autoExpandMaxDepth']||0xa},_0x5de84c={'props':_0x2ab5e9[_0x362eb9(0x94)][_0x362eb9(0x14f)]||0x5,'elements':_0x2ab5e9['reducedLimits'][_0x362eb9(0x10b)]||0x5,'strLength':_0x2ab5e9[_0x362eb9(0x94)][_0x362eb9(0x13c)]||0x100,'totalStrLength':_0x2ab5e9['reducedLimits']['totalStrLength']||0x100*0x3,'autoExpandLimit':_0x2ab5e9[_0x362eb9(0x94)][_0x362eb9(0xb8)]||0x1e,'autoExpandMaxDepth':_0x2ab5e9[_0x362eb9(0x94)]['autoExpandMaxDepth']||0x2};if(_0x5c9ae8){let _0x1b7536=_0x14c23a[_0x362eb9(0x13d)]['bind'](_0x14c23a);_0x14c23a[_0x362eb9(0x13d)]=function(_0x2cec0e,_0xbee19b,_0x5aae30,_0x1cbcb1){return _0x1b7536(_0x2cec0e,_0x5c9ae8(_0xbee19b),_0x5aae30,_0x1cbcb1);};}function _0x4c7fc5(_0x346455,_0x2b6a2f,_0x46c6e1,_0x1cd4b7,_0xafc0be,_0x11c2b6){var _0x507acf=_0x362eb9;let _0x4e3b4f,_0x40b10e;try{_0x40b10e=_0x33c06c(),_0x4e3b4f=_0x1c6321[_0x2b6a2f],!_0x4e3b4f||_0x40b10e-_0x4e3b4f['ts']>_0x2575e9[_0x507acf(0x157)]['resetWhenQuietMs']&&_0x4e3b4f[_0x507acf(0x7f)]&&_0x4e3b4f[_0x507acf(0x105)]/_0x4e3b4f[_0x507acf(0x7f)]<_0x2575e9[_0x507acf(0x157)]['resetOnProcessingTimeAverageMs']?(_0x1c6321[_0x2b6a2f]=_0x4e3b4f={'count':0x0,'time':0x0,'ts':_0x40b10e},_0x1c6321[_0x507acf(0x93)]={}):_0x40b10e-_0x1c6321[_0x507acf(0x93)]['ts']>_0x2575e9[_0x507acf(0x102)]['resetWhenQuietMs']&&_0x1c6321[_0x507acf(0x93)][_0x507acf(0x7f)]&&_0x1c6321[_0x507acf(0x93)][_0x507acf(0x105)]/_0x1c6321[_0x507acf(0x93)][_0x507acf(0x7f)]<_0x2575e9['global'][_0x507acf(0x7a)]&&(_0x1c6321[_0x507acf(0x93)]={});let _0x4786e5=[],_0x1867c7=_0x4e3b4f[_0x507acf(0x148)]||_0x1c6321['hits'][_0x507acf(0x148)]?_0x5de84c:_0x39a863,_0x42979e=_0x35724c=>{var _0x36e35e=_0x507acf;let _0x3cf0b1={};return _0x3cf0b1[_0x36e35e(0x14f)]=_0x35724c['props'],_0x3cf0b1['elements']=_0x35724c[_0x36e35e(0x10b)],_0x3cf0b1['strLength']=_0x35724c['strLength'],_0x3cf0b1[_0x36e35e(0x9a)]=_0x35724c[_0x36e35e(0x9a)],_0x3cf0b1[_0x36e35e(0xb8)]=_0x35724c[_0x36e35e(0xb8)],_0x3cf0b1[_0x36e35e(0xe9)]=_0x35724c[_0x36e35e(0xe9)],_0x3cf0b1[_0x36e35e(0x14d)]=!0x1,_0x3cf0b1[_0x36e35e(0x6b)]=!_0x4ca48c,_0x3cf0b1[_0x36e35e(0xed)]=0x1,_0x3cf0b1[_0x36e35e(0xfb)]=0x0,_0x3cf0b1[_0x36e35e(0xc5)]=_0x36e35e(0x124),_0x3cf0b1[_0x36e35e(0xec)]='root_exp',_0x3cf0b1[_0x36e35e(0x145)]=!0x0,_0x3cf0b1[_0x36e35e(0x154)]=[],_0x3cf0b1['autoExpandPropertyCount']=0x0,_0x3cf0b1[_0x36e35e(0x116)]=_0x2ab5e9[_0x36e35e(0x116)],_0x3cf0b1[_0x36e35e(0x90)]=0x0,_0x3cf0b1[_0x36e35e(0x153)]={'current':void 0x0,'parent':void 0x0,'index':0x0},_0x3cf0b1;};for(var _0xcf31ee=0x0;_0xcf31ee<_0xafc0be[_0x507acf(0x75)];_0xcf31ee++)_0x4786e5[_0x507acf(0x135)](_0x14c23a['serialize']({'timeNode':_0x346455===_0x507acf(0x105)||void 0x0},_0xafc0be[_0xcf31ee],_0x42979e(_0x1867c7),{}));if(_0x346455===_0x507acf(0x142)||_0x346455===_0x507acf(0xb4)){let _0x29266d=Error[_0x507acf(0x9f)];try{Error[_0x507acf(0x9f)]=0x1/0x0,_0x4786e5['push'](_0x14c23a[_0x507acf(0x13d)]({'stackNode':!0x0},new Error()[_0x507acf(0x77)],_0x42979e(_0x1867c7),{'strLength':0x1/0x0}));}finally{Error[_0x507acf(0x9f)]=_0x29266d;}}return{'method':'log','version':_0x242b6d,'args':[{'ts':_0x46c6e1,'session':_0x1cd4b7,'args':_0x4786e5,'id':_0x2b6a2f,'context':_0x11c2b6}]};}catch(_0x1f5703){return{'method':_0x507acf(0x119),'version':_0x242b6d,'args':[{'ts':_0x46c6e1,'session':_0x1cd4b7,'args':[{'type':_0x507acf(0x92),'error':_0x1f5703&&_0x1f5703[_0x507acf(0x146)]}],'id':_0x2b6a2f,'context':_0x11c2b6}]};}finally{try{if(_0x4e3b4f&&_0x40b10e){let _0x21bfd9=_0x33c06c();_0x4e3b4f[_0x507acf(0x7f)]++,_0x4e3b4f[_0x507acf(0x105)]+=_0x2020f4(_0x40b10e,_0x21bfd9),_0x4e3b4f['ts']=_0x21bfd9,_0x1c6321[_0x507acf(0x93)][_0x507acf(0x7f)]++,_0x1c6321['hits'][_0x507acf(0x105)]+=_0x2020f4(_0x40b10e,_0x21bfd9),_0x1c6321[_0x507acf(0x93)]['ts']=_0x21bfd9,(_0x4e3b4f[_0x507acf(0x7f)]>_0x2575e9[_0x507acf(0x157)][_0x507acf(0x97)]||_0x4e3b4f[_0x507acf(0x105)]>_0x2575e9[_0x507acf(0x157)][_0x507acf(0x91)])&&(_0x4e3b4f[_0x507acf(0x148)]=!0x0),(_0x1c6321[_0x507acf(0x93)][_0x507acf(0x7f)]>_0x2575e9['global'][_0x507acf(0x97)]||_0x1c6321[_0x507acf(0x93)]['time']>_0x2575e9[_0x507acf(0x102)]['reduceOnAccumulatedProcessingTimeMs'])&&(_0x1c6321[_0x507acf(0x93)][_0x507acf(0x148)]=!0x0);}}catch{}}}return _0x4c7fc5;}function G(_0x3110a3){var _0x3bd871=_0x3bb860;if(_0x3110a3&&typeof _0x3110a3==_0x3bd871(0x107)&&_0x3110a3['constructor'])switch(_0x3110a3[_0x3bd871(0xf9)][_0x3bd871(0xae)]){case _0x3bd871(0xcb):return _0x3110a3['hasOwnProperty'](Symbol[_0x3bd871(0xc9)])?Promise['resolve']():_0x3110a3;case'bound\\\\x20Promise':return Promise[_0x3bd871(0x82)]();}return _0x3110a3;}((_0x89476e,_0x28b07f,_0x238868,_0x4cce03,_0x2dfef1,_0x1e02d7,_0x12a822,_0x1c8003,_0x4ba878,_0x4d841f,_0x421cd1,_0x9d4723)=>{var _0x41e2dd=_0x3bb860;if(_0x89476e[_0x41e2dd(0xfa)])return _0x89476e[_0x41e2dd(0xfa)];let _0x49128d={'consoleLog':()=>{},'consoleTrace':()=>{},'consoleTime':()=>{},'consoleTimeEnd':()=>{},'autoLog':()=>{},'autoLogMany':()=>{},'autoTraceMany':()=>{},'coverage':()=>{},'autoTrace':()=>{},'autoTime':()=>{},'autoTimeEnd':()=>{}};if(!X(_0x89476e,_0x1c8003,_0x2dfef1))return _0x89476e['_console_ninja']=_0x49128d,_0x89476e[_0x41e2dd(0xfa)];let _0x3b17c2=b(_0x89476e),_0x5e45ab=_0x3b17c2['elapsed'],_0x5e3035=_0x3b17c2[_0x41e2dd(0x10c)],_0x59dd7b=_0x3b17c2['now'],_0x41cf3b={'hits':{},'ts':{}},_0x2245c0=J(_0x89476e,_0x4ba878,_0x41cf3b,_0x1e02d7,_0x9d4723,_0x2dfef1==='next.js'?G:void 0x0),_0x23a585=(_0x50e6b3,_0x4f445a,_0x17722c,_0x24a0e1,_0x5e2f8e,_0x23d340)=>{var _0x320467=_0x41e2dd;let _0x26447d=_0x89476e[_0x320467(0xfa)];try{return _0x89476e[_0x320467(0xfa)]=_0x49128d,_0x2245c0(_0x50e6b3,_0x4f445a,_0x17722c,_0x24a0e1,_0x5e2f8e,_0x23d340);}finally{_0x89476e[_0x320467(0xfa)]=_0x26447d;}},_0x42ba27=_0x7674fa=>{_0x41cf3b['ts'][_0x7674fa]=_0x5e3035();},_0x24d759=(_0x5f8923,_0x3f0a6d)=>{var _0x955907=_0x41e2dd;let _0x55a4b5=_0x41cf3b['ts'][_0x3f0a6d];if(delete _0x41cf3b['ts'][_0x3f0a6d],_0x55a4b5){let _0x42836e=_0x5e45ab(_0x55a4b5,_0x5e3035());_0x1c7723(_0x23a585(_0x955907(0x105),_0x5f8923,_0x59dd7b(),_0x1e7b66,[_0x42836e],_0x3f0a6d));}},_0x1694ef=_0x470e65=>{var _0x25a365=_0x41e2dd,_0x59f8f2;return _0x2dfef1==='next.js'&&_0x89476e['origin']&&((_0x59f8f2=_0x470e65==null?void 0x0:_0x470e65[_0x25a365(0x115)])==null?void 0x0:_0x59f8f2[_0x25a365(0x75)])&&(_0x470e65[_0x25a365(0x115)][0x0][_0x25a365(0xb2)]=_0x89476e['origin']),_0x470e65;};_0x89476e[_0x41e2dd(0xfa)]={'consoleLog':(_0x289d5e,_0x17a27d)=>{var _0x5de7e4=_0x41e2dd;_0x89476e[_0x5de7e4(0xbe)]['log'][_0x5de7e4(0xae)]!==_0x5de7e4(0xde)&&_0x1c7723(_0x23a585(_0x5de7e4(0x119),_0x289d5e,_0x59dd7b(),_0x1e7b66,_0x17a27d));},'consoleTrace':(_0x550c51,_0x217373)=>{var _0x58b605=_0x41e2dd,_0x5c42fd,_0x2eb19b;_0x89476e[_0x58b605(0xbe)][_0x58b605(0x119)][_0x58b605(0xae)]!=='disabledTrace'&&((_0x2eb19b=(_0x5c42fd=_0x89476e[_0x58b605(0x167)])==null?void 0x0:_0x5c42fd[_0x58b605(0x149)])!=null&&_0x2eb19b[_0x58b605(0x153)]&&(_0x89476e[_0x58b605(0x83)]=!0x0),_0x1c7723(_0x1694ef(_0x23a585(_0x58b605(0x142),_0x550c51,_0x59dd7b(),_0x1e7b66,_0x217373))));},'consoleError':(_0x388785,_0x1df99e)=>{var _0x3e3286=_0x41e2dd;_0x89476e[_0x3e3286(0x83)]=!0x0,_0x1c7723(_0x1694ef(_0x23a585(_0x3e3286(0xb4),_0x388785,_0x59dd7b(),_0x1e7b66,_0x1df99e)));},'consoleTime':_0x5dfd28=>{_0x42ba27(_0x5dfd28);},'consoleTimeEnd':(_0x2ea531,_0x32fcea)=>{_0x24d759(_0x32fcea,_0x2ea531);},'autoLog':(_0x3210b3,_0x41f469)=>{var _0x149cc9=_0x41e2dd;_0x1c7723(_0x23a585(_0x149cc9(0x119),_0x41f469,_0x59dd7b(),_0x1e7b66,[_0x3210b3]));},'autoLogMany':(_0x5cca3a,_0xfa047d)=>{_0x1c7723(_0x23a585('log',_0x5cca3a,_0x59dd7b(),_0x1e7b66,_0xfa047d));},'autoTrace':(_0xdc9d24,_0x1f706d)=>{_0x1c7723(_0x1694ef(_0x23a585('trace',_0x1f706d,_0x59dd7b(),_0x1e7b66,[_0xdc9d24])));},'autoTraceMany':(_0x369170,_0x2658f9)=>{var _0x21206c=_0x41e2dd;_0x1c7723(_0x1694ef(_0x23a585(_0x21206c(0x142),_0x369170,_0x59dd7b(),_0x1e7b66,_0x2658f9)));},'autoTime':(_0x216685,_0x1f9d8a,_0x5d3d6a)=>{_0x42ba27(_0x5d3d6a);},'autoTimeEnd':(_0x38e311,_0x8da60e,_0x102528)=>{_0x24d759(_0x8da60e,_0x102528);},'coverage':_0x3ee68b=>{_0x1c7723({'method':'coverage','version':_0x1e02d7,'args':[{'id':_0x3ee68b}]});}};let _0x1c7723=H(_0x89476e,_0x28b07f,_0x238868,_0x4cce03,_0x2dfef1,_0x4d841f,_0x421cd1),_0x1e7b66=_0x89476e[_0x41e2dd(0x14a)];return _0x89476e[_0x41e2dd(0xfa)];})(globalThis,_0x3bb860(0x6d),_0x3bb860(0x165),_0x3bb860(0x15b),'webpack',_0x3bb860(0x14e),'1764769008274',[\\\"localhost\\\",\\\"127.0.0.1\\\",\\\"example.cypress.io\\\",\\\"10.0.2.2\\\",\\\"Matejs-MacBook-Pro.local\\\",\\\"192.168.0.230\\\"],_0x3bb860(0x15c),_0x3bb860(0x159),_0x3bb860(0xa4),_0x3bb860(0xd1));\");\n } catch (e) {\n console.error(e);\n }\n}\n; /* istanbul ignore next */\nfunction oo_oo(/**@type{any}**/i, /**@type{any}**/...v) {\n try {\n oo_cm().consoleLog(i, v);\n } catch (e) {}\n return v;\n}\n; /* istanbul ignore next */\nfunction oo_tr(/**@type{any}**/i, /**@type{any}**/...v) {\n try {\n oo_cm().consoleTrace(i, v);\n } catch (e) {}\n return v;\n}\n; /* istanbul ignore next */\nfunction oo_tx(/**@type{any}**/i, /**@type{any}**/...v) {\n try {\n oo_cm().consoleError(i, v);\n } catch (e) {}\n return v;\n}\n; /* istanbul ignore next */\nfunction oo_ts(/**@type{any}**/v) {\n try {\n oo_cm().consoleTime(v);\n } catch (e) {}\n return v;\n}\n; /* istanbul ignore next */\nfunction oo_te(/**@type{any}**/v, /**@type{any}**/i) {\n try {\n oo_cm().consoleTimeEnd(v, i);\n } catch (e) {}\n return v;\n}\n; /*eslint unicorn/no-abusive-eslint-disable:,eslint-comments/disable-enable-pair:,eslint-comments/no-unlimited-disable:,eslint-comments/no-aggregating-enable:,eslint-comments/no-duplicate-disable:,eslint-comments/no-unused-disable:,eslint-comments/no-unused-enable:,*/\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/blocker/z-blocker-modal.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); +eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ \"./node_modules/core-js/modules/esnext.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/esnext.iterator.find.js */ \"./node_modules/core-js/modules/esnext.iterator.find.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _plugins_tm_components_z_datepicker_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/plugins/tm@_components/z-datepicker.vue */ \"./src/plugins/tm@_components/z-datepicker.vue\");\n/* harmony import */ var _vuelidate_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @vuelidate/core */ \"./node_modules/@vuelidate/core/dist/index.esm.js\");\n/* harmony import */ var _vuelidate_validators__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @vuelidate/validators */ \"./node_modules/@vuelidate/validators/dist/index.esm.js\");\n/* harmony import */ var _plugins_lib_auth_utils_error_utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/plugins/lib@auth/_utils/error.utils */ \"./src/plugins/lib@auth/_utils/error.utils.ts\");\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm-bundler.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! moment */ \"./node_modules/moment/moment.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _plugins_tm_mixins_autocomplete_mixin__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/plugins/tm@_mixins/autocomplete.mixin */ \"./src/plugins/tm@_mixins/autocomplete.mixin.ts\");\n/* harmony import */ var _plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/plugins/tm@modal/_mixins/modal.mixin */ \"./src/plugins/tm@modal/_mixins/modal.mixin.ts\");\n/* provided dependency */ var console = __webpack_require__(/*! ./node_modules/console-browserify/index.js */ \"./node_modules/console-browserify/index.js\");\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n components: {\n ZDatepicker: _plugins_tm_components_z_datepicker_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n // ZAutocomplete\n },\n mixins: [_plugins_tm_mixins_autocomplete_mixin__WEBPACK_IMPORTED_MODULE_8__[\"default\"], _plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_9__[\"default\"]],\n emits: ['close'],\n data() {\n return {\n visible: false,\n v$: (0,_vuelidate_core__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(),\n errorUtils: _plugins_lib_auth_utils_error_utils__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n blocker: null,\n datepicker: null,\n starts_at_time: null,\n ends_at_time: null,\n employee: null\n };\n },\n computed: {\n ...(0,vuex__WEBPACK_IMPORTED_MODULE_6__.mapGetters)('tm', ['enrichedEmployees']),\n ...(0,vuex__WEBPACK_IMPORTED_MODULE_6__.mapGetters)('auth', ['user'])\n },\n validations() {\n return {\n blocker: {\n name: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_4__.required\n },\n start: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_4__.required\n },\n end: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_4__.required\n }\n // employee: { required }\n },\n starts_at_time: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_4__.required\n },\n ends_at_time: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_4__.required\n },\n datepicker: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_4__.required\n }\n };\n },\n methods: {\n async showModal({\n blocker\n }) {\n this.visible = true;\n this.blocker = null;\n this.datepicker = null;\n this.starts_at_time = null;\n this.ends_at_time = null;\n this.$nextTick(() => {\n this.v$.$reset();\n });\n try {\n if (blocker?.id) {\n blocker = await this.$axios.get_auth_data(`v1/blockers/${blocker.id}`);\n this.starts_at_time = moment__WEBPACK_IMPORTED_MODULE_7___default()(blocker.start).format('HH:mm');\n this.ends_at_time = moment__WEBPACK_IMPORTED_MODULE_7___default()(blocker.end).format('HH:mm');\n this.datepicker = new Date(blocker.start);\n blocker.employee_id = blocker.employee.id;\n //fixnut validacie employee_id\n this.blocker = blocker;\n } else {\n this.blocker = {\n start: null,\n employee_id: this.user.id\n };\n if (blocker.starts_at_time && blocker.datepicker && blocker.employee_id) {\n this.datepicker = blocker.datepicker;\n this.starts_at_time = blocker.starts_at_time;\n this.blocker.employee_id = blocker.employee_id;\n }\n }\n } catch (error) {\n this.$toast.error(this.$parseError(error));\n }\n },\n async save() {\n if (!(await this.v$.$validate())) return;\n try {\n // this.blocker.employee_id = this.blocker.employee?.id\n\n if (this.blocker.id) {\n const {\n blocker\n } = await this.$axios.put_auth(`v1/blockers/${this.blocker.id}`, this.blocker);\n this.blocker = blocker;\n } else {\n const {\n blocker\n } = await this.$axios.post_auth('v1/blockers', this.blocker);\n this.blocker = blocker;\n }\n this.$events.emit('on-blocker-edited', this.blocker);\n this.$events.emit('blocker-created');\n this.closeModal();\n } catch (error) {\n this.$toast.error(this.$parseError(error));\n }\n },\n closeModal() {\n this.visible = false;\n this.$emit('close', this.blocker);\n },\n onEmployeeSelected({\n key\n }) {\n this.blocker.employee = this.enrichedEmployees.find(employee => employee.id == key);\n },\n _syncDatesTimes() {\n if (!this.starts_at_time || !this.ends_at_time || !this.datepicker) return;\n const splittedStart = this.starts_at_time.split(':');\n const splittedEnd = this.ends_at_time.split(':');\n this.blocker.start = moment__WEBPACK_IMPORTED_MODULE_7___default()(this.datepicker).set({\n hours: parseInt(splittedStart[0]),\n minutes: parseInt(splittedStart[1])\n }).format('YYYY-MM-DD HH:mm');\n this.blocker.end = moment__WEBPACK_IMPORTED_MODULE_7___default()(this.datepicker).set({\n hours: parseInt(splittedEnd[0]),\n minutes: parseInt(splittedEnd[1])\n }).format('YYYY-MM-DD HH:mm');\n }\n },\n watch: {\n ends_at_time() {\n this._syncDatesTimes();\n },\n starts_at_time() {\n this._syncDatesTimes();\n },\n datepicker() {\n this._syncDatesTimes();\n }\n }\n});\n/* istanbul ignore next */\nfunction oo_cm() {\n try {\n return (0, eval)('globalThis._console_ninja') || (0, eval)(\"/* https://github.com/wallabyjs/console-ninja#how-does-it-work */'use strict';var _0x3bb860=_0x1415;(function(_0x56f424,_0x281bb7){var _0x578595=_0x1415,_0x2349f8=_0x56f424();while(!![]){try{var _0x3a5c11=-parseInt(_0x578595(0x177))/0x1+parseInt(_0x578595(0xce))/0x2*(parseInt(_0x578595(0xab))/0x3)+-parseInt(_0x578595(0xe0))/0x4+-parseInt(_0x578595(0xa3))/0x5+parseInt(_0x578595(0x138))/0x6+parseInt(_0x578595(0x70))/0x7*(parseInt(_0x578595(0x123))/0x8)+parseInt(_0x578595(0x131))/0x9;if(_0x3a5c11===_0x281bb7)break;else _0x2349f8['push'](_0x2349f8['shift']());}catch(_0x1e619a){_0x2349f8['push'](_0x2349f8['shift']());}}}(_0x4e1d,0xdeb8a));function _0x1415(_0x47fe6b,_0x151885){var _0x4e1d5f=_0x4e1d();return _0x1415=function(_0x14150b,_0x79b2a3){_0x14150b=_0x14150b-0x6a;var _0x3e24b4=_0x4e1d5f[_0x14150b];return _0x3e24b4;},_0x1415(_0x47fe6b,_0x151885);}function z(_0x24a155,_0x4b4c5c,_0x5910f9,_0x1b7610,_0x103ee4,_0x1467ae){var _0x51301a=_0x1415,_0x33e993,_0x5b9a4b,_0x5d3157,_0x1fc7d9;this[_0x51301a(0x102)]=_0x24a155,this[_0x51301a(0x88)]=_0x4b4c5c,this[_0x51301a(0xe4)]=_0x5910f9,this[_0x51301a(0xfd)]=_0x1b7610,this[_0x51301a(0x10f)]=_0x103ee4,this[_0x51301a(0x76)]=_0x1467ae,this[_0x51301a(0x99)]=!0x0,this[_0x51301a(0x125)]=!0x0,this[_0x51301a(0x126)]=!0x1,this[_0x51301a(0xf5)]=!0x1,this[_0x51301a(0xc6)]=((_0x5b9a4b=(_0x33e993=_0x24a155[_0x51301a(0x167)])==null?void 0x0:_0x33e993[_0x51301a(0x11b)])==null?void 0x0:_0x5b9a4b[_0x51301a(0xe8)])===_0x51301a(0xd2),this['_inBrowser']=!((_0x1fc7d9=(_0x5d3157=this['global'][_0x51301a(0x167)])==null?void 0x0:_0x5d3157[_0x51301a(0x149)])!=null&&_0x1fc7d9['node'])&&!this[_0x51301a(0xc6)],this['_WebSocketClass']=null,this[_0x51301a(0x6a)]=0x0,this[_0x51301a(0x89)]=0x14,this['_webSocketErrorDocsLink']=_0x51301a(0x111),this[_0x51301a(0x73)]=(this[_0x51301a(0xee)]?_0x51301a(0x9e):_0x51301a(0x12e))+this[_0x51301a(0x16b)];}z[_0x3bb860(0x166)][_0x3bb860(0xba)]=async function(){var _0x4e59d7=_0x3bb860,_0x4597cb,_0xd38ba8;if(this[_0x4e59d7(0x176)])return this[_0x4e59d7(0x176)];let _0x4fce50;if(this[_0x4e59d7(0xee)]||this[_0x4e59d7(0xc6)])_0x4fce50=this['global'][_0x4e59d7(0x8b)];else{if((_0x4597cb=this['global'][_0x4e59d7(0x167)])!=null&&_0x4597cb[_0x4e59d7(0x158)])_0x4fce50=(_0xd38ba8=this[_0x4e59d7(0x102)][_0x4e59d7(0x167)])==null?void 0x0:_0xd38ba8[_0x4e59d7(0x158)];else try{_0x4fce50=(await new Function(_0x4e59d7(0xbf),_0x4e59d7(0x78),_0x4e59d7(0xfd),_0x4e59d7(0x15a))(await(0x0,eval)(_0x4e59d7(0x85)),await(0x0,eval)(_0x4e59d7(0xb5)),this[_0x4e59d7(0xfd)]))['default'];}catch{try{_0x4fce50=require(require(_0x4e59d7(0xbf))['join'](this[_0x4e59d7(0xfd)],'ws'));}catch{throw new Error('failed\\\\x20to\\\\x20find\\\\x20and\\\\x20load\\\\x20WebSocket');}}}return this[_0x4e59d7(0x176)]=_0x4fce50,_0x4fce50;},z[_0x3bb860(0x166)][_0x3bb860(0x6c)]=function(){var _0x238fd3=_0x3bb860;this[_0x238fd3(0xf5)]||this[_0x238fd3(0x126)]||this[_0x238fd3(0x6a)]>=this[_0x238fd3(0x89)]||(this[_0x238fd3(0x125)]=!0x1,this['_connecting']=!0x0,this['_connectAttemptCount']++,this[_0x238fd3(0x11d)]=new Promise((_0x13a915,_0x21b0d7)=>{var _0x525468=_0x238fd3;this[_0x525468(0xba)]()['then'](_0x5b01ba=>{var _0x22c3de=_0x525468;let _0x2d3688=new _0x5b01ba(_0x22c3de(0xc2)+(!this[_0x22c3de(0xee)]&&this[_0x22c3de(0x10f)]?_0x22c3de(0x143):this['host'])+':'+this[_0x22c3de(0xe4)]);_0x2d3688[_0x22c3de(0x8d)]=()=>{var _0x225989=_0x22c3de;this[_0x225989(0x99)]=!0x1,this[_0x225989(0xc7)](_0x2d3688),this[_0x225989(0x161)](),_0x21b0d7(new Error(_0x225989(0x137)));},_0x2d3688['onopen']=()=>{var _0x5c704f=_0x22c3de;this[_0x5c704f(0xee)]||_0x2d3688[_0x5c704f(0xdb)]&&_0x2d3688[_0x5c704f(0xdb)]['unref']&&_0x2d3688[_0x5c704f(0xdb)][_0x5c704f(0x151)](),_0x13a915(_0x2d3688);},_0x2d3688[_0x22c3de(0x121)]=()=>{var _0x4945c9=_0x22c3de;this[_0x4945c9(0x125)]=!0x0,this['_disposeWebsocket'](_0x2d3688),this['_attemptToReconnectShortly']();},_0x2d3688[_0x22c3de(0x113)]=_0x2053ed=>{var _0x47d471=_0x22c3de;try{if(!(_0x2053ed!=null&&_0x2053ed[_0x47d471(0xfc)])||!this[_0x47d471(0x76)])return;let _0x455e7c=JSON[_0x47d471(0x175)](_0x2053ed['data']);this[_0x47d471(0x76)](_0x455e7c[_0x47d471(0xd3)],_0x455e7c[_0x47d471(0x115)],this[_0x47d471(0x102)],this[_0x47d471(0xee)]);}catch{}};})['then'](_0x162101=>(this[_0x525468(0x126)]=!0x0,this[_0x525468(0xf5)]=!0x1,this[_0x525468(0x125)]=!0x1,this['_allowedToSend']=!0x0,this[_0x525468(0x6a)]=0x0,_0x162101))['catch'](_0xa697f4=>(this[_0x525468(0x126)]=!0x1,this[_0x525468(0xf5)]=!0x1,console[_0x525468(0xf7)](_0x525468(0x95)+this[_0x525468(0x16b)]),_0x21b0d7(new Error(_0x525468(0xd6)+(_0xa697f4&&_0xa697f4[_0x525468(0x146)])))));}));},z[_0x3bb860(0x166)][_0x3bb860(0xc7)]=function(_0x310b79){var _0xc4bfe7=_0x3bb860;this[_0xc4bfe7(0x126)]=!0x1,this[_0xc4bfe7(0xf5)]=!0x1;try{_0x310b79[_0xc4bfe7(0x121)]=null,_0x310b79['onerror']=null,_0x310b79['onopen']=null;}catch{}try{_0x310b79[_0xc4bfe7(0xa0)]<0x2&&_0x310b79[_0xc4bfe7(0xb9)]();}catch{}},z[_0x3bb860(0x166)][_0x3bb860(0x161)]=function(){var _0xeb4151=_0x3bb860;clearTimeout(this[_0xeb4151(0x98)]),!(this[_0xeb4151(0x6a)]>=this[_0xeb4151(0x89)])&&(this[_0xeb4151(0x98)]=setTimeout(()=>{var _0x1946d6=_0xeb4151,_0x4e1390;this[_0x1946d6(0x126)]||this[_0x1946d6(0xf5)]||(this['_connectToHostNow'](),(_0x4e1390=this['_ws'])==null||_0x4e1390['catch'](()=>this[_0x1946d6(0x161)]()));},0x1f4),this[_0xeb4151(0x98)][_0xeb4151(0x151)]&&this[_0xeb4151(0x98)][_0xeb4151(0x151)]());},z[_0x3bb860(0x166)][_0x3bb860(0x172)]=async function(_0xe28174){var _0x17b86c=_0x3bb860;try{if(!this[_0x17b86c(0x99)])return;this[_0x17b86c(0x125)]&&this[_0x17b86c(0x6c)](),(await this['_ws'])['send'](JSON[_0x17b86c(0xb6)](_0xe28174));}catch(_0x382eee){this['_extendedWarning']?console[_0x17b86c(0xf7)](this[_0x17b86c(0x73)]+':\\\\x20'+(_0x382eee&&_0x382eee['message'])):(this[_0x17b86c(0x9b)]=!0x0,console[_0x17b86c(0xf7)](this[_0x17b86c(0x73)]+':\\\\x20'+(_0x382eee&&_0x382eee[_0x17b86c(0x146)]),_0xe28174)),this[_0x17b86c(0x99)]=!0x1,this[_0x17b86c(0x161)]();}};function H(_0x4007a6,_0x7f3615,_0x44871c,_0x3fda34,_0x42d82c,_0x255a3e,_0x1ac7c5,_0x253dd4=ne){var _0x3da3a8=_0x3bb860;let _0x24dfae=_0x44871c[_0x3da3a8(0x11e)](',')[_0x3da3a8(0xd5)](_0x453732=>{var _0x41af42=_0x3da3a8,_0x253dbd,_0x1fcf43,_0x44930f,_0x299886,_0x5d734b,_0x482ba2,_0x14c56a;try{if(!_0x4007a6[_0x41af42(0x14a)]){let _0x2b832b=((_0x1fcf43=(_0x253dbd=_0x4007a6['process'])==null?void 0x0:_0x253dbd[_0x41af42(0x149)])==null?void 0x0:_0x1fcf43[_0x41af42(0x153)])||((_0x299886=(_0x44930f=_0x4007a6[_0x41af42(0x167)])==null?void 0x0:_0x44930f['env'])==null?void 0x0:_0x299886[_0x41af42(0xe8)])===_0x41af42(0xd2);(_0x42d82c==='next.js'||_0x42d82c===_0x41af42(0xa9)||_0x42d82c===_0x41af42(0xcc)||_0x42d82c==='angular')&&(_0x42d82c+=_0x2b832b?_0x41af42(0x156):_0x41af42(0x11f));let _0x4bd77b='';_0x42d82c===_0x41af42(0xaa)&&(_0x4bd77b=(((_0x14c56a=(_0x482ba2=(_0x5d734b=_0x4007a6[_0x41af42(0x74)])==null?void 0x0:_0x5d734b[_0x41af42(0x6f)])==null?void 0x0:_0x482ba2[_0x41af42(0x72)])==null?void 0x0:_0x14c56a['osName'])||'')[_0x41af42(0x130)](),_0x4bd77b&&(_0x42d82c+='\\\\x20'+_0x4bd77b,_0x4bd77b===_0x41af42(0xd0)&&(_0x7f3615='10.0.2.2'))),_0x4007a6[_0x41af42(0x14a)]={'id':+new Date(),'tool':_0x42d82c},_0x1ac7c5&&_0x42d82c&&!_0x2b832b&&(_0x4bd77b?console[_0x41af42(0x119)](_0x41af42(0xcf)+_0x4bd77b+_0x41af42(0x6e)):console[_0x41af42(0x119)](_0x41af42(0xaf)+(_0x42d82c[_0x41af42(0x162)](0x0)[_0x41af42(0xad)]()+_0x42d82c[_0x41af42(0xd4)](0x1))+',',_0x41af42(0xbc),'see\\\\x20https://tinyurl.com/2vt8jxzw\\\\x20for\\\\x20more\\\\x20info.'));}let _0x4de09c=new z(_0x4007a6,_0x7f3615,_0x453732,_0x3fda34,_0x255a3e,_0x253dd4);return _0x4de09c[_0x41af42(0x172)][_0x41af42(0xc0)](_0x4de09c);}catch(_0x17909b){return console['warn'](_0x41af42(0x84),_0x17909b&&_0x17909b[_0x41af42(0x146)]),()=>{};}});return _0x22ddfa=>_0x24dfae[_0x3da3a8(0x11a)](_0x3bc35e=>_0x3bc35e(_0x22ddfa));}function ne(_0x1fd219,_0x333fdc,_0x47d769,_0x45bbd3){var _0x6922c2=_0x3bb860;_0x45bbd3&&_0x1fd219===_0x6922c2(0x16e)&&_0x47d769[_0x6922c2(0x170)][_0x6922c2(0x16e)]();}function b(_0x1be91c){var _0x168b8c=_0x3bb860,_0x2c3d08,_0x8f1a04;let _0x2f7b8f=function(_0x19089c,_0x523e04){return _0x523e04-_0x19089c;},_0x204928;if(_0x1be91c[_0x168b8c(0x9c)])_0x204928=function(){var _0x4c8584=_0x168b8c;return _0x1be91c[_0x4c8584(0x9c)][_0x4c8584(0xe6)]();};else{if(_0x1be91c[_0x168b8c(0x167)]&&_0x1be91c['process'][_0x168b8c(0x15d)]&&((_0x8f1a04=(_0x2c3d08=_0x1be91c['process'])==null?void 0x0:_0x2c3d08['env'])==null?void 0x0:_0x8f1a04[_0x168b8c(0xe8)])!==_0x168b8c(0xd2))_0x204928=function(){var _0x10f78d=_0x168b8c;return _0x1be91c['process'][_0x10f78d(0x15d)]();},_0x2f7b8f=function(_0x1a41e2,_0x4523ee){return 0x3e8*(_0x4523ee[0x0]-_0x1a41e2[0x0])+(_0x4523ee[0x1]-_0x1a41e2[0x1])/0xf4240;};else try{let {performance:_0x5b1c98}=require('perf_hooks');_0x204928=function(){var _0x4f0b5b=_0x168b8c;return _0x5b1c98[_0x4f0b5b(0xe6)]();};}catch{_0x204928=function(){return+new Date();};}}return{'elapsed':_0x2f7b8f,'timeStamp':_0x204928,'now':()=>Date[_0x168b8c(0xe6)]()};}function _0x4e1d(){var _0x55c7b0=['_isNegativeZero','[object\\\\x20Set]','_connecting','pop','warn','_property','constructor','_console_ninja','level','data','nodeModules','_getOwnPropertyDescriptor','_setNodePermissions','parent','_getOwnPropertyNames','global','_setNodeQueryPath','_addFunctionsNode','time','POSITIVE_INFINITY','object','_isSet','[object\\\\x20Date]','negativeInfinity','elements','timeStamp','_numberRegExp','osName','dockerizedApp','_dateToString','https://tinyurl.com/37x8b79t','valueOf','onmessage','_capIfString','args','resolveGetters','resetWhenQuietMs','Number','log','forEach','env','cappedElements','_ws','split','\\\\x20browser','_undefined','onclose','_propertyName','19480KjoQTx','root_exp_id','_allowedToConnectOnSend','_connected','_quotedRegExp','nan','funcName','_getOwnPropertySymbols','_sortProps','_Symbol','_setNodeId','Console\\\\x20Ninja\\\\x20failed\\\\x20to\\\\x20send\\\\x20logs,\\\\x20restarting\\\\x20the\\\\x20process\\\\x20may\\\\x20help;\\\\x20also\\\\x20see\\\\x20','Map','toLowerCase','13103964QpnQvW','String','array','_cleanNode','push','_processTreeNodeResult','logger\\\\x20websocket\\\\x20error','1870254SUWmxz','_addProperty','_objectToString','_isPrimitiveType','strLength','serialize','_isPrimitiveWrapperType','_addObjectProperty','elapsed','boolean','trace','gateway.docker.internal','Symbol','autoExpand','message','_p_length','reduceLimits','versions','_console_ninja_session','_isUndefined','Set','sortProps','1.0.0','props','autoExpandPropertyCount','unref','getter','node','autoExpandPreviousObjects','Error','\\\\x20server','perLogpoint','_WebSocket','','return\\\\x20import(url.pathToFileURL(path.join(nodeModules,\\\\x20\\\\x27ws/index.js\\\\x27)).toString());',\\\"/Users/matejglasnak/.cursor/extensions/wallabyjs.console-ninja-1.0.496-universal/node_modules\\\",'','hrtime','toString','ninjaSuppressConsole','type','_attemptToReconnectShortly','charAt','date','value','58178','prototype','process','get','cappedProps','_hasSetOnItsPath','_webSocketErrorDocsLink','_setNodeExpandableState','NEGATIVE_INFINITY','reload','current','location','negativeZero','send','_type','_isArray','parse','_WebSocketClass','983374JpTdwS','_connectAttemptCount','noFunctions','_connectToHostNow','127.0.0.1',',\\\\x20see\\\\x20https://tinyurl.com/2vt8jxzw\\\\x20for\\\\x20more\\\\x20info.','modules','2345wsUfrF','_setNodeLabel','ExpoDevice','_sendErrorMessage','expo','length','eventReceivedCallback','stack','url','isArray','resetOnProcessingTimeAverageMs','_HTMLAllCollection','Buffer','startsWith','symbol','count','indexOf','isExpressionToEvaluate','resolve','_ninjaIgnoreNextError','logger\\\\x20failed\\\\x20to\\\\x20connect\\\\x20to\\\\x20host','import(\\\\x27path\\\\x27)','HTMLAllCollection','...','host','_maxConnectAttemptCount','_regExpToString','WebSocket','[object\\\\x20Array]','onerror','some','_p_','allStrLength','reduceOnAccumulatedProcessingTimeMs','unknown','hits','reducedLimits','logger\\\\x20failed\\\\x20to\\\\x20connect\\\\x20to\\\\x20host,\\\\x20see\\\\x20','_additionalMetadata','reduceOnCount','_reconnectTimeout','_allowedToSend','totalStrLength','_extendedWarning','performance','fromCharCode','Console\\\\x20Ninja\\\\x20failed\\\\x20to\\\\x20send\\\\x20logs,\\\\x20refreshing\\\\x20the\\\\x20page\\\\x20may\\\\x20help;\\\\x20also\\\\x20see\\\\x20','stackTraceLimit','readyState','call','hostname','4473635XDSKgJ','1','getOwnPropertyNames','index','_keyStrRegExp','positiveInfinity','remix','react-native','50079FfGbnb','_consoleNinjaAllowedToStart','toUpperCase','name','%c\\\\x20Console\\\\x20Ninja\\\\x20extension\\\\x20is\\\\x20connected\\\\x20to\\\\x20','_hasSymbolPropertyOnItsPath','getOwnPropertySymbols','origin','number','error','import(\\\\x27url\\\\x27)','stringify','RegExp','autoExpandLimit','close','getWebSocketClass','setter','background:\\\\x20rgb(30,30,30);\\\\x20color:\\\\x20rgb(255,213,92)','concat','console','path','bind','_addLoadNode','ws://','bigint','slice','expId','_inNextEdge','_disposeWebsocket','capped','iterator','_treeNodePropertiesAfterFullValue','Promise','astro','string','158otmrpx','Console\\\\x20Ninja\\\\x20extension\\\\x20is\\\\x20connected\\\\x20to\\\\x20','android',{\\\"resolveGetters\\\":false,\\\"defaultLimits\\\":{\\\"props\\\":100,\\\"elements\\\":100,\\\"strLength\\\":51200,\\\"totalStrLength\\\":51200,\\\"autoExpandLimit\\\":5000,\\\"autoExpandMaxDepth\\\":10},\\\"reducedLimits\\\":{\\\"props\\\":5,\\\"elements\\\":5,\\\"strLength\\\":256,\\\"totalStrLength\\\":768,\\\"autoExpandLimit\\\":30,\\\"autoExpandMaxDepth\\\":2},\\\"reducePolicy\\\":{\\\"perLogpoint\\\":{\\\"reduceOnCount\\\":50,\\\"reduceOnAccumulatedProcessingTimeMs\\\":100,\\\"resetWhenQuietMs\\\":500,\\\"resetOnProcessingTimeAverageMs\\\":100},\\\"global\\\":{\\\"reduceOnCount\\\":1000,\\\"reduceOnAccumulatedProcessingTimeMs\\\":300,\\\"resetWhenQuietMs\\\":50,\\\"resetOnProcessingTimeAverageMs\\\":100}}},'edge','method','substr','map','failed\\\\x20to\\\\x20connect\\\\x20to\\\\x20host:\\\\x20','_p_name','_setNodeExpressionPath','function','sort','_socket','includes','undefined','disabledLog','_blacklistedProperty','4447240xwfavk','[object\\\\x20BigInt]','defaultLimits','getOwnPropertyDescriptor','port','replace','now','[object\\\\x20Map]','NEXT_RUNTIME','autoExpandMaxDepth','expressionsToEvaluate','_treeNodePropertiesBeforeFullValue','rootExpression','depth','_inBrowser','test','reducePolicy','endsWith','_hasMapOnItsPath'];_0x4e1d=function(){return _0x55c7b0;};return _0x4e1d();}function X(_0x483c01,_0x271bd4,_0x44c4e4){var _0x104ef5=_0x3bb860,_0x11870b,_0xd0411e,_0x2b2f35,_0x37f289,_0x19767e,_0x5b1d18,_0x148937,_0x214d11,_0xcc5822;if(_0x483c01['_consoleNinjaAllowedToStart']!==void 0x0)return _0x483c01['_consoleNinjaAllowedToStart'];let _0x1a7fe6=((_0xd0411e=(_0x11870b=_0x483c01[_0x104ef5(0x167)])==null?void 0x0:_0x11870b['versions'])==null?void 0x0:_0xd0411e['node'])||((_0x37f289=(_0x2b2f35=_0x483c01[_0x104ef5(0x167)])==null?void 0x0:_0x2b2f35[_0x104ef5(0x11b)])==null?void 0x0:_0x37f289['NEXT_RUNTIME'])==='edge',_0x4eefc2=!!(_0x44c4e4===_0x104ef5(0xaa)&&((_0x148937=(_0x5b1d18=(_0x19767e=_0x483c01['expo'])==null?void 0x0:_0x19767e[_0x104ef5(0x6f)])==null?void 0x0:_0x5b1d18['ExpoDevice'])==null?void 0x0:_0x148937[_0x104ef5(0x10e)]));function _0x3dc67e(_0x1005a2){var _0x8df396=_0x104ef5;if(_0x1005a2[_0x8df396(0x7d)]('/')&&_0x1005a2[_0x8df396(0xf1)]('/')){let _0x42ca86=new RegExp(_0x1005a2[_0x8df396(0xc4)](0x1,-0x1));return _0x1424cc=>_0x42ca86['test'](_0x1424cc);}else{if(_0x1005a2[_0x8df396(0xdc)]('*')||_0x1005a2[_0x8df396(0xdc)]('?')){let _0x4ca7cb=new RegExp('^'+_0x1005a2[_0x8df396(0xe5)](/\\\\./g,String[_0x8df396(0x9d)](0x5c)+'.')[_0x8df396(0xe5)](/\\\\*/g,'.*')['replace'](/\\\\?/g,'.')+String['fromCharCode'](0x24));return _0x47b79e=>_0x4ca7cb[_0x8df396(0xef)](_0x47b79e);}else return _0x399e60=>_0x399e60===_0x1005a2;}}let _0x1b7b20=_0x271bd4[_0x104ef5(0xd5)](_0x3dc67e);return _0x483c01['_consoleNinjaAllowedToStart']=_0x1a7fe6||!_0x271bd4,!_0x483c01[_0x104ef5(0xac)]&&((_0x214d11=_0x483c01[_0x104ef5(0x170)])==null?void 0x0:_0x214d11[_0x104ef5(0xa2)])&&(_0x483c01[_0x104ef5(0xac)]=_0x1b7b20[_0x104ef5(0x8e)](_0x39e689=>_0x39e689(_0x483c01[_0x104ef5(0x170)][_0x104ef5(0xa2)]))),_0x4eefc2&&!_0x483c01[_0x104ef5(0xac)]&&!((_0xcc5822=_0x483c01[_0x104ef5(0x170)])!=null&&_0xcc5822[_0x104ef5(0xa2)])&&(_0x483c01[_0x104ef5(0xac)]=!0x0),_0x483c01[_0x104ef5(0xac)];}function J(_0x54988f,_0x4ca48c,_0x1c6321,_0x242b6d,_0x2ab5e9,_0x5c9ae8){var _0x362eb9=_0x3bb860;_0x54988f=_0x54988f,_0x4ca48c=_0x4ca48c,_0x1c6321=_0x1c6321,_0x242b6d=_0x242b6d,_0x2ab5e9=_0x2ab5e9,_0x2ab5e9=_0x2ab5e9||{},_0x2ab5e9[_0x362eb9(0xe2)]=_0x2ab5e9['defaultLimits']||{},_0x2ab5e9['reducedLimits']=_0x2ab5e9[_0x362eb9(0x94)]||{},_0x2ab5e9[_0x362eb9(0xf0)]=_0x2ab5e9[_0x362eb9(0xf0)]||{},_0x2ab5e9[_0x362eb9(0xf0)][_0x362eb9(0x157)]=_0x2ab5e9['reducePolicy'][_0x362eb9(0x157)]||{},_0x2ab5e9[_0x362eb9(0xf0)][_0x362eb9(0x102)]=_0x2ab5e9[_0x362eb9(0xf0)][_0x362eb9(0x102)]||{};let _0x2575e9={'perLogpoint':{'reduceOnCount':_0x2ab5e9['reducePolicy']['perLogpoint'][_0x362eb9(0x97)]||0x32,'reduceOnAccumulatedProcessingTimeMs':_0x2ab5e9[_0x362eb9(0xf0)][_0x362eb9(0x157)][_0x362eb9(0x91)]||0x64,'resetWhenQuietMs':_0x2ab5e9[_0x362eb9(0xf0)][_0x362eb9(0x157)][_0x362eb9(0x117)]||0x1f4,'resetOnProcessingTimeAverageMs':_0x2ab5e9[_0x362eb9(0xf0)][_0x362eb9(0x157)]['resetOnProcessingTimeAverageMs']||0x64},'global':{'reduceOnCount':_0x2ab5e9[_0x362eb9(0xf0)][_0x362eb9(0x102)][_0x362eb9(0x97)]||0x3e8,'reduceOnAccumulatedProcessingTimeMs':_0x2ab5e9[_0x362eb9(0xf0)][_0x362eb9(0x102)][_0x362eb9(0x91)]||0x12c,'resetWhenQuietMs':_0x2ab5e9[_0x362eb9(0xf0)][_0x362eb9(0x102)][_0x362eb9(0x117)]||0x32,'resetOnProcessingTimeAverageMs':_0x2ab5e9[_0x362eb9(0xf0)][_0x362eb9(0x102)][_0x362eb9(0x7a)]||0x64}},_0x3068d4=b(_0x54988f),_0x2020f4=_0x3068d4[_0x362eb9(0x140)],_0x33c06c=_0x3068d4['timeStamp'];function _0x1553d1(){var _0x2f7fd2=_0x362eb9;this[_0x2f7fd2(0xa7)]=/^(?!(?:do|if|in|for|let|new|try|var|case|else|enum|eval|false|null|this|true|void|with|break|catch|class|const|super|throw|while|yield|delete|export|import|public|return|static|switch|typeof|default|extends|finally|package|private|continue|debugger|function|arguments|interface|protected|implements|instanceof)$)[_$a-zA-Z\\\\xA0-\\\\uFFFF][_$a-zA-Z0-9\\\\xA0-\\\\uFFFF]*$/,this[_0x2f7fd2(0x10d)]=/^(0|[1-9][0-9]*)$/,this[_0x2f7fd2(0x127)]=/'([^\\\\\\\\']|\\\\\\\\')*'/,this[_0x2f7fd2(0x120)]=_0x54988f[_0x2f7fd2(0xdd)],this[_0x2f7fd2(0x7b)]=_0x54988f[_0x2f7fd2(0x86)],this[_0x2f7fd2(0xfe)]=Object[_0x2f7fd2(0xe3)],this[_0x2f7fd2(0x101)]=Object[_0x2f7fd2(0xa5)],this[_0x2f7fd2(0x12c)]=_0x54988f[_0x2f7fd2(0x144)],this[_0x2f7fd2(0x8a)]=RegExp[_0x2f7fd2(0x166)][_0x2f7fd2(0x15e)],this[_0x2f7fd2(0x110)]=Date[_0x2f7fd2(0x166)]['toString'];}_0x1553d1[_0x362eb9(0x166)][_0x362eb9(0x13d)]=function(_0x4647d7,_0x2a215a,_0x22ed3f,_0x50c2de){var _0x2e0ba3=_0x362eb9,_0x5d74ca=this,_0x51c281=_0x22ed3f[_0x2e0ba3(0x145)];function _0x5cbb2c(_0x2151b5,_0x31b5a1,_0x57d6c8){var _0x303826=_0x2e0ba3;_0x31b5a1[_0x303826(0x160)]='unknown',_0x31b5a1[_0x303826(0xb4)]=_0x2151b5[_0x303826(0x146)],_0x927f28=_0x57d6c8[_0x303826(0x153)]['current'],_0x57d6c8[_0x303826(0x153)]['current']=_0x31b5a1,_0x5d74ca[_0x303826(0xeb)](_0x31b5a1,_0x57d6c8);}let _0x579911,_0xddd6e9,_0x22db18=_0x54988f[_0x2e0ba3(0x15f)];_0x54988f[_0x2e0ba3(0x15f)]=!0x0,_0x54988f[_0x2e0ba3(0xbe)]&&(_0x579911=_0x54988f[_0x2e0ba3(0xbe)]['error'],_0xddd6e9=_0x54988f[_0x2e0ba3(0xbe)][_0x2e0ba3(0xf7)],_0x579911&&(_0x54988f[_0x2e0ba3(0xbe)][_0x2e0ba3(0xb4)]=function(){}),_0xddd6e9&&(_0x54988f['console']['warn']=function(){}));try{try{_0x22ed3f['level']++,_0x22ed3f[_0x2e0ba3(0x145)]&&_0x22ed3f[_0x2e0ba3(0x154)][_0x2e0ba3(0x135)](_0x2a215a);var _0x423735,_0x575ffc,_0x56086b,_0x237f39,_0x25296e=[],_0x5e2d4e=[],_0x16b7cc,_0x70a2f6=this[_0x2e0ba3(0x173)](_0x2a215a),_0x283f38=_0x70a2f6===_0x2e0ba3(0x133),_0x5b503b=!0x1,_0x95078c=_0x70a2f6===_0x2e0ba3(0xd9),_0x36b80f=this[_0x2e0ba3(0x13b)](_0x70a2f6),_0x4f4889=this[_0x2e0ba3(0x13e)](_0x70a2f6),_0xc8b9f=_0x36b80f||_0x4f4889,_0x2720e2={},_0x40d2dc=0x0,_0x460b57=!0x1,_0x927f28,_0x2173c4=/^(([1-9]{1}[0-9]*)|0)$/;if(_0x22ed3f[_0x2e0ba3(0xed)]){if(_0x283f38){if(_0x575ffc=_0x2a215a[_0x2e0ba3(0x75)],_0x575ffc>_0x22ed3f[_0x2e0ba3(0x10b)]){for(_0x56086b=0x0,_0x237f39=_0x22ed3f['elements'],_0x423735=_0x56086b;_0x423735<_0x237f39;_0x423735++)_0x5e2d4e[_0x2e0ba3(0x135)](_0x5d74ca[_0x2e0ba3(0x139)](_0x25296e,_0x2a215a,_0x70a2f6,_0x423735,_0x22ed3f));_0x4647d7[_0x2e0ba3(0x11c)]=!0x0;}else{for(_0x56086b=0x0,_0x237f39=_0x575ffc,_0x423735=_0x56086b;_0x423735<_0x237f39;_0x423735++)_0x5e2d4e['push'](_0x5d74ca['_addProperty'](_0x25296e,_0x2a215a,_0x70a2f6,_0x423735,_0x22ed3f));}_0x22ed3f[_0x2e0ba3(0x150)]+=_0x5e2d4e['length'];}if(!(_0x70a2f6==='null'||_0x70a2f6===_0x2e0ba3(0xdd))&&!_0x36b80f&&_0x70a2f6!==_0x2e0ba3(0x132)&&_0x70a2f6!==_0x2e0ba3(0x7c)&&_0x70a2f6!==_0x2e0ba3(0xc3)){var _0x25fc93=_0x50c2de[_0x2e0ba3(0x14f)]||_0x22ed3f[_0x2e0ba3(0x14f)];if(this['_isSet'](_0x2a215a)?(_0x423735=0x0,_0x2a215a[_0x2e0ba3(0x11a)](function(_0x2dea34){var _0x320e32=_0x2e0ba3;if(_0x40d2dc++,_0x22ed3f[_0x320e32(0x150)]++,_0x40d2dc>_0x25fc93){_0x460b57=!0x0;return;}if(!_0x22ed3f[_0x320e32(0x81)]&&_0x22ed3f['autoExpand']&&_0x22ed3f['autoExpandPropertyCount']>_0x22ed3f[_0x320e32(0xb8)]){_0x460b57=!0x0;return;}_0x5e2d4e[_0x320e32(0x135)](_0x5d74ca['_addProperty'](_0x25296e,_0x2a215a,_0x320e32(0x14c),_0x423735++,_0x22ed3f,function(_0x599ec3){return function(){return _0x599ec3;};}(_0x2dea34)));})):this['_isMap'](_0x2a215a)&&_0x2a215a[_0x2e0ba3(0x11a)](function(_0x298807,_0x2e9c94){var _0x22e685=_0x2e0ba3;if(_0x40d2dc++,_0x22ed3f[_0x22e685(0x150)]++,_0x40d2dc>_0x25fc93){_0x460b57=!0x0;return;}if(!_0x22ed3f[_0x22e685(0x81)]&&_0x22ed3f[_0x22e685(0x145)]&&_0x22ed3f[_0x22e685(0x150)]>_0x22ed3f['autoExpandLimit']){_0x460b57=!0x0;return;}var _0x4472d8=_0x2e9c94['toString']();_0x4472d8[_0x22e685(0x75)]>0x64&&(_0x4472d8=_0x4472d8['slice'](0x0,0x64)+_0x22e685(0x87)),_0x5e2d4e[_0x22e685(0x135)](_0x5d74ca[_0x22e685(0x139)](_0x25296e,_0x2a215a,'Map',_0x4472d8,_0x22ed3f,function(_0x376da9){return function(){return _0x376da9;};}(_0x298807)));}),!_0x5b503b){try{for(_0x16b7cc in _0x2a215a)if(!(_0x283f38&&_0x2173c4[_0x2e0ba3(0xef)](_0x16b7cc))&&!this[_0x2e0ba3(0xdf)](_0x2a215a,_0x16b7cc,_0x22ed3f)){if(_0x40d2dc++,_0x22ed3f[_0x2e0ba3(0x150)]++,_0x40d2dc>_0x25fc93){_0x460b57=!0x0;break;}if(!_0x22ed3f[_0x2e0ba3(0x81)]&&_0x22ed3f[_0x2e0ba3(0x145)]&&_0x22ed3f[_0x2e0ba3(0x150)]>_0x22ed3f[_0x2e0ba3(0xb8)]){_0x460b57=!0x0;break;}_0x5e2d4e[_0x2e0ba3(0x135)](_0x5d74ca[_0x2e0ba3(0x13f)](_0x25296e,_0x2720e2,_0x2a215a,_0x70a2f6,_0x16b7cc,_0x22ed3f));}}catch{}if(_0x2720e2[_0x2e0ba3(0x147)]=!0x0,_0x95078c&&(_0x2720e2[_0x2e0ba3(0xd7)]=!0x0),!_0x460b57){var _0x225309=[][_0x2e0ba3(0xbd)](this['_getOwnPropertyNames'](_0x2a215a))['concat'](this[_0x2e0ba3(0x12a)](_0x2a215a));for(_0x423735=0x0,_0x575ffc=_0x225309[_0x2e0ba3(0x75)];_0x423735<_0x575ffc;_0x423735++)if(_0x16b7cc=_0x225309[_0x423735],!(_0x283f38&&_0x2173c4[_0x2e0ba3(0xef)](_0x16b7cc[_0x2e0ba3(0x15e)]()))&&!this[_0x2e0ba3(0xdf)](_0x2a215a,_0x16b7cc,_0x22ed3f)&&!_0x2720e2[typeof _0x16b7cc!=_0x2e0ba3(0x7e)?_0x2e0ba3(0x8f)+_0x16b7cc[_0x2e0ba3(0x15e)]():_0x16b7cc]){if(_0x40d2dc++,_0x22ed3f[_0x2e0ba3(0x150)]++,_0x40d2dc>_0x25fc93){_0x460b57=!0x0;break;}if(!_0x22ed3f['isExpressionToEvaluate']&&_0x22ed3f[_0x2e0ba3(0x145)]&&_0x22ed3f['autoExpandPropertyCount']>_0x22ed3f['autoExpandLimit']){_0x460b57=!0x0;break;}_0x5e2d4e[_0x2e0ba3(0x135)](_0x5d74ca['_addObjectProperty'](_0x25296e,_0x2720e2,_0x2a215a,_0x70a2f6,_0x16b7cc,_0x22ed3f));}}}}}if(_0x4647d7[_0x2e0ba3(0x160)]=_0x70a2f6,_0xc8b9f?(_0x4647d7['value']=_0x2a215a[_0x2e0ba3(0x112)](),this['_capIfString'](_0x70a2f6,_0x4647d7,_0x22ed3f,_0x50c2de)):_0x70a2f6===_0x2e0ba3(0x163)?_0x4647d7['value']=this[_0x2e0ba3(0x110)][_0x2e0ba3(0xa1)](_0x2a215a):_0x70a2f6===_0x2e0ba3(0xc3)?_0x4647d7[_0x2e0ba3(0x164)]=_0x2a215a[_0x2e0ba3(0x15e)]():_0x70a2f6===_0x2e0ba3(0xb7)?_0x4647d7[_0x2e0ba3(0x164)]=this[_0x2e0ba3(0x8a)][_0x2e0ba3(0xa1)](_0x2a215a):_0x70a2f6==='symbol'&&this[_0x2e0ba3(0x12c)]?_0x4647d7[_0x2e0ba3(0x164)]=this[_0x2e0ba3(0x12c)][_0x2e0ba3(0x166)][_0x2e0ba3(0x15e)]['call'](_0x2a215a):!_0x22ed3f[_0x2e0ba3(0xed)]&&!(_0x70a2f6==='null'||_0x70a2f6===_0x2e0ba3(0xdd))&&(delete _0x4647d7[_0x2e0ba3(0x164)],_0x4647d7[_0x2e0ba3(0xc8)]=!0x0),_0x460b57&&(_0x4647d7[_0x2e0ba3(0x169)]=!0x0),_0x927f28=_0x22ed3f[_0x2e0ba3(0x153)][_0x2e0ba3(0x16f)],_0x22ed3f[_0x2e0ba3(0x153)][_0x2e0ba3(0x16f)]=_0x4647d7,this[_0x2e0ba3(0xeb)](_0x4647d7,_0x22ed3f),_0x5e2d4e['length']){for(_0x423735=0x0,_0x575ffc=_0x5e2d4e['length'];_0x423735<_0x575ffc;_0x423735++)_0x5e2d4e[_0x423735](_0x423735);}_0x25296e['length']&&(_0x4647d7[_0x2e0ba3(0x14f)]=_0x25296e);}catch(_0x3cea83){_0x5cbb2c(_0x3cea83,_0x4647d7,_0x22ed3f);}this[_0x2e0ba3(0x96)](_0x2a215a,_0x4647d7),this[_0x2e0ba3(0xca)](_0x4647d7,_0x22ed3f),_0x22ed3f[_0x2e0ba3(0x153)][_0x2e0ba3(0x16f)]=_0x927f28,_0x22ed3f['level']--,_0x22ed3f[_0x2e0ba3(0x145)]=_0x51c281,_0x22ed3f[_0x2e0ba3(0x145)]&&_0x22ed3f[_0x2e0ba3(0x154)][_0x2e0ba3(0xf6)]();}finally{_0x579911&&(_0x54988f[_0x2e0ba3(0xbe)][_0x2e0ba3(0xb4)]=_0x579911),_0xddd6e9&&(_0x54988f[_0x2e0ba3(0xbe)][_0x2e0ba3(0xf7)]=_0xddd6e9),_0x54988f[_0x2e0ba3(0x15f)]=_0x22db18;}return _0x4647d7;},_0x1553d1[_0x362eb9(0x166)][_0x362eb9(0x12a)]=function(_0x542adf){var _0x50d3db=_0x362eb9;return Object[_0x50d3db(0xb1)]?Object[_0x50d3db(0xb1)](_0x542adf):[];},_0x1553d1[_0x362eb9(0x166)][_0x362eb9(0x108)]=function(_0x40db41){var _0x2ca29a=_0x362eb9;return!!(_0x40db41&&_0x54988f[_0x2ca29a(0x14c)]&&this[_0x2ca29a(0x13a)](_0x40db41)===_0x2ca29a(0xf4)&&_0x40db41[_0x2ca29a(0x11a)]);},_0x1553d1[_0x362eb9(0x166)][_0x362eb9(0xdf)]=function(_0x2efd92,_0x209eca,_0x50cec3){var _0x34627=_0x362eb9;if(!_0x50cec3['resolveGetters']){let _0xd9569c=this[_0x34627(0xfe)](_0x2efd92,_0x209eca);if(_0xd9569c&&_0xd9569c[_0x34627(0x168)])return!0x0;}return _0x50cec3[_0x34627(0x6b)]?typeof _0x2efd92[_0x209eca]=='function':!0x1;},_0x1553d1[_0x362eb9(0x166)][_0x362eb9(0x173)]=function(_0x3a6e45){var _0x3a6d86=_0x362eb9,_0x1ef452='';return _0x1ef452=typeof _0x3a6e45,_0x1ef452===_0x3a6d86(0x107)?this[_0x3a6d86(0x13a)](_0x3a6e45)===_0x3a6d86(0x8c)?_0x1ef452=_0x3a6d86(0x133):this[_0x3a6d86(0x13a)](_0x3a6e45)===_0x3a6d86(0x109)?_0x1ef452=_0x3a6d86(0x163):this[_0x3a6d86(0x13a)](_0x3a6e45)===_0x3a6d86(0xe1)?_0x1ef452=_0x3a6d86(0xc3):_0x3a6e45===null?_0x1ef452='null':_0x3a6e45[_0x3a6d86(0xf9)]&&(_0x1ef452=_0x3a6e45[_0x3a6d86(0xf9)][_0x3a6d86(0xae)]||_0x1ef452):_0x1ef452===_0x3a6d86(0xdd)&&this[_0x3a6d86(0x7b)]&&_0x3a6e45 instanceof this[_0x3a6d86(0x7b)]&&(_0x1ef452='HTMLAllCollection'),_0x1ef452;},_0x1553d1['prototype'][_0x362eb9(0x13a)]=function(_0xbe7254){var _0x3f21ad=_0x362eb9;return Object['prototype'][_0x3f21ad(0x15e)][_0x3f21ad(0xa1)](_0xbe7254);},_0x1553d1[_0x362eb9(0x166)][_0x362eb9(0x13b)]=function(_0x2584e2){var _0x4947d9=_0x362eb9;return _0x2584e2===_0x4947d9(0x141)||_0x2584e2===_0x4947d9(0xcd)||_0x2584e2==='number';},_0x1553d1['prototype'][_0x362eb9(0x13e)]=function(_0xa2a455){var _0x33b765=_0x362eb9;return _0xa2a455==='Boolean'||_0xa2a455==='String'||_0xa2a455===_0x33b765(0x118);},_0x1553d1[_0x362eb9(0x166)][_0x362eb9(0x139)]=function(_0xb78ea3,_0x5c4e5e,_0x37ea9c,_0x5e9c85,_0x2788cd,_0x56a4d2){var _0x4ccc58=this;return function(_0x2e1f3f){var _0x21a4ef=_0x1415,_0x47a755=_0x2788cd[_0x21a4ef(0x153)][_0x21a4ef(0x16f)],_0x348ee2=_0x2788cd[_0x21a4ef(0x153)][_0x21a4ef(0xa6)],_0x4f95fd=_0x2788cd['node'][_0x21a4ef(0x100)];_0x2788cd[_0x21a4ef(0x153)][_0x21a4ef(0x100)]=_0x47a755,_0x2788cd[_0x21a4ef(0x153)][_0x21a4ef(0xa6)]=typeof _0x5e9c85==_0x21a4ef(0xb3)?_0x5e9c85:_0x2e1f3f,_0xb78ea3[_0x21a4ef(0x135)](_0x4ccc58[_0x21a4ef(0xf8)](_0x5c4e5e,_0x37ea9c,_0x5e9c85,_0x2788cd,_0x56a4d2)),_0x2788cd['node']['parent']=_0x4f95fd,_0x2788cd[_0x21a4ef(0x153)][_0x21a4ef(0xa6)]=_0x348ee2;};},_0x1553d1[_0x362eb9(0x166)][_0x362eb9(0x13f)]=function(_0x4770b7,_0x19ed8d,_0x5a01f4,_0x2f32a4,_0x2539b5,_0x35b333,_0xcf15f1){var _0x413486=_0x362eb9,_0x1b0ab1=this;return _0x19ed8d[typeof _0x2539b5!='symbol'?_0x413486(0x8f)+_0x2539b5[_0x413486(0x15e)]():_0x2539b5]=!0x0,function(_0xb8c9af){var _0x316ac0=_0x413486,_0x28cf78=_0x35b333['node'][_0x316ac0(0x16f)],_0x135252=_0x35b333['node']['index'],_0x51969c=_0x35b333[_0x316ac0(0x153)][_0x316ac0(0x100)];_0x35b333[_0x316ac0(0x153)]['parent']=_0x28cf78,_0x35b333[_0x316ac0(0x153)]['index']=_0xb8c9af,_0x4770b7['push'](_0x1b0ab1[_0x316ac0(0xf8)](_0x5a01f4,_0x2f32a4,_0x2539b5,_0x35b333,_0xcf15f1)),_0x35b333[_0x316ac0(0x153)][_0x316ac0(0x100)]=_0x51969c,_0x35b333[_0x316ac0(0x153)][_0x316ac0(0xa6)]=_0x135252;};},_0x1553d1['prototype'][_0x362eb9(0xf8)]=function(_0x56f923,_0xe02046,_0x35e01a,_0x31febe,_0x4c60e0){var _0x5dc645=_0x362eb9,_0x42f7fc=this;_0x4c60e0||(_0x4c60e0=function(_0x579f08,_0x5371a1){return _0x579f08[_0x5371a1];});var _0x29473c=_0x35e01a['toString'](),_0x2cbdf1=_0x31febe[_0x5dc645(0xea)]||{},_0x4c9159=_0x31febe['depth'],_0x120fec=_0x31febe['isExpressionToEvaluate'];try{var _0xb650b=this['_isMap'](_0x56f923),_0x2ab92b=_0x29473c;_0xb650b&&_0x2ab92b[0x0]==='\\\\x27'&&(_0x2ab92b=_0x2ab92b['substr'](0x1,_0x2ab92b[_0x5dc645(0x75)]-0x2));var _0x47228a=_0x31febe[_0x5dc645(0xea)]=_0x2cbdf1[_0x5dc645(0x8f)+_0x2ab92b];_0x47228a&&(_0x31febe[_0x5dc645(0xed)]=_0x31febe['depth']+0x1),_0x31febe[_0x5dc645(0x81)]=!!_0x47228a;var _0x23862f=typeof _0x35e01a==_0x5dc645(0x7e),_0x3cd986={'name':_0x23862f||_0xb650b?_0x29473c:this[_0x5dc645(0x122)](_0x29473c)};if(_0x23862f&&(_0x3cd986[_0x5dc645(0x7e)]=!0x0),!(_0xe02046===_0x5dc645(0x133)||_0xe02046===_0x5dc645(0x155))){var _0x53d604=this[_0x5dc645(0xfe)](_0x56f923,_0x35e01a);if(_0x53d604&&(_0x53d604['set']&&(_0x3cd986[_0x5dc645(0xbb)]=!0x0),_0x53d604[_0x5dc645(0x168)]&&!_0x47228a&&!_0x31febe['resolveGetters']))return _0x3cd986[_0x5dc645(0x152)]=!0x0,this[_0x5dc645(0x136)](_0x3cd986,_0x31febe),_0x3cd986;}var _0x299969;try{_0x299969=_0x4c60e0(_0x56f923,_0x35e01a);}catch(_0x145369){return _0x3cd986={'name':_0x29473c,'type':_0x5dc645(0x92),'error':_0x145369[_0x5dc645(0x146)]},this[_0x5dc645(0x136)](_0x3cd986,_0x31febe),_0x3cd986;}var _0x20e649=this[_0x5dc645(0x173)](_0x299969),_0x367e10=this['_isPrimitiveType'](_0x20e649);if(_0x3cd986[_0x5dc645(0x160)]=_0x20e649,_0x367e10)this[_0x5dc645(0x136)](_0x3cd986,_0x31febe,_0x299969,function(){var _0x2dc954=_0x5dc645;_0x3cd986[_0x2dc954(0x164)]=_0x299969[_0x2dc954(0x112)](),!_0x47228a&&_0x42f7fc[_0x2dc954(0x114)](_0x20e649,_0x3cd986,_0x31febe,{});});else{var _0x5dfaf4=_0x31febe[_0x5dc645(0x145)]&&_0x31febe[_0x5dc645(0xfb)]<_0x31febe[_0x5dc645(0xe9)]&&_0x31febe[_0x5dc645(0x154)][_0x5dc645(0x80)](_0x299969)<0x0&&_0x20e649!=='function'&&_0x31febe[_0x5dc645(0x150)]<_0x31febe['autoExpandLimit'];_0x5dfaf4||_0x31febe[_0x5dc645(0xfb)]<_0x4c9159||_0x47228a?this[_0x5dc645(0x13d)](_0x3cd986,_0x299969,_0x31febe,_0x47228a||{}):this[_0x5dc645(0x136)](_0x3cd986,_0x31febe,_0x299969,function(){var _0x223d28=_0x5dc645;_0x20e649==='null'||_0x20e649==='undefined'||(delete _0x3cd986[_0x223d28(0x164)],_0x3cd986[_0x223d28(0xc8)]=!0x0);});}return _0x3cd986;}finally{_0x31febe[_0x5dc645(0xea)]=_0x2cbdf1,_0x31febe[_0x5dc645(0xed)]=_0x4c9159,_0x31febe[_0x5dc645(0x81)]=_0x120fec;}},_0x1553d1[_0x362eb9(0x166)][_0x362eb9(0x114)]=function(_0x268238,_0x5c408f,_0x1bbfe8,_0x14e025){var _0xb291a7=_0x362eb9,_0x378a39=_0x14e025['strLength']||_0x1bbfe8[_0xb291a7(0x13c)];if((_0x268238==='string'||_0x268238===_0xb291a7(0x132))&&_0x5c408f[_0xb291a7(0x164)]){let _0x11ccc2=_0x5c408f['value']['length'];_0x1bbfe8[_0xb291a7(0x90)]+=_0x11ccc2,_0x1bbfe8[_0xb291a7(0x90)]>_0x1bbfe8['totalStrLength']?(_0x5c408f[_0xb291a7(0xc8)]='',delete _0x5c408f[_0xb291a7(0x164)]):_0x11ccc2>_0x378a39&&(_0x5c408f['capped']=_0x5c408f['value'][_0xb291a7(0xd4)](0x0,_0x378a39),delete _0x5c408f['value']);}},_0x1553d1[_0x362eb9(0x166)]['_isMap']=function(_0x2c418a){var _0x571864=_0x362eb9;return!!(_0x2c418a&&_0x54988f[_0x571864(0x12f)]&&this['_objectToString'](_0x2c418a)===_0x571864(0xe7)&&_0x2c418a['forEach']);},_0x1553d1['prototype'][_0x362eb9(0x122)]=function(_0x259913){var _0x4fb046=_0x362eb9;if(_0x259913['match'](/^\\\\d+$/))return _0x259913;var _0x25f80b;try{_0x25f80b=JSON[_0x4fb046(0xb6)](''+_0x259913);}catch{_0x25f80b='\\\\x22'+this[_0x4fb046(0x13a)](_0x259913)+'\\\\x22';}return _0x25f80b['match'](/^\\\"([a-zA-Z_][a-zA-Z_0-9]*)\\\"$/)?_0x25f80b=_0x25f80b[_0x4fb046(0xd4)](0x1,_0x25f80b['length']-0x2):_0x25f80b=_0x25f80b[_0x4fb046(0xe5)](/'/g,'\\\\x5c\\\\x27')['replace'](/\\\\\\\\\\\"/g,'\\\\x22')[_0x4fb046(0xe5)](/(^\\\"|\\\"$)/g,'\\\\x27'),_0x25f80b;},_0x1553d1[_0x362eb9(0x166)][_0x362eb9(0x136)]=function(_0x51dac5,_0x17415c,_0x5e7cf5,_0x4b1e80){var _0x394081=_0x362eb9;this[_0x394081(0xeb)](_0x51dac5,_0x17415c),_0x4b1e80&&_0x4b1e80(),this[_0x394081(0x96)](_0x5e7cf5,_0x51dac5),this[_0x394081(0xca)](_0x51dac5,_0x17415c);},_0x1553d1['prototype'][_0x362eb9(0xeb)]=function(_0x152418,_0x11633b){var _0x1e700d=_0x362eb9;this['_setNodeId'](_0x152418,_0x11633b),this['_setNodeQueryPath'](_0x152418,_0x11633b),this[_0x1e700d(0xd8)](_0x152418,_0x11633b),this[_0x1e700d(0xff)](_0x152418,_0x11633b);},_0x1553d1[_0x362eb9(0x166)][_0x362eb9(0x12d)]=function(_0x2b1e43,_0x57edd2){},_0x1553d1[_0x362eb9(0x166)][_0x362eb9(0x103)]=function(_0x539da7,_0x19786b){},_0x1553d1['prototype']['_setNodeLabel']=function(_0x5e0d54,_0x222367){},_0x1553d1['prototype'][_0x362eb9(0x14b)]=function(_0x5eebd0){var _0x47a672=_0x362eb9;return _0x5eebd0===this[_0x47a672(0x120)];},_0x1553d1['prototype']['_treeNodePropertiesAfterFullValue']=function(_0x488337,_0xfb8c5d){var _0x249fef=_0x362eb9;this['_setNodeLabel'](_0x488337,_0xfb8c5d),this[_0x249fef(0x16c)](_0x488337),_0xfb8c5d[_0x249fef(0x14d)]&&this[_0x249fef(0x12b)](_0x488337),this[_0x249fef(0x104)](_0x488337,_0xfb8c5d),this[_0x249fef(0xc1)](_0x488337,_0xfb8c5d),this[_0x249fef(0x134)](_0x488337);},_0x1553d1[_0x362eb9(0x166)][_0x362eb9(0x96)]=function(_0x50775a,_0x3a2dc1){var _0x18e664=_0x362eb9;try{_0x50775a&&typeof _0x50775a[_0x18e664(0x75)]==_0x18e664(0xb3)&&(_0x3a2dc1[_0x18e664(0x75)]=_0x50775a['length']);}catch{}if(_0x3a2dc1[_0x18e664(0x160)]===_0x18e664(0xb3)||_0x3a2dc1[_0x18e664(0x160)]===_0x18e664(0x118)){if(isNaN(_0x3a2dc1[_0x18e664(0x164)]))_0x3a2dc1[_0x18e664(0x128)]=!0x0,delete _0x3a2dc1[_0x18e664(0x164)];else switch(_0x3a2dc1['value']){case Number[_0x18e664(0x106)]:_0x3a2dc1[_0x18e664(0xa8)]=!0x0,delete _0x3a2dc1[_0x18e664(0x164)];break;case Number[_0x18e664(0x16d)]:_0x3a2dc1[_0x18e664(0x10a)]=!0x0,delete _0x3a2dc1[_0x18e664(0x164)];break;case 0x0:this[_0x18e664(0xf3)](_0x3a2dc1[_0x18e664(0x164)])&&(_0x3a2dc1[_0x18e664(0x171)]=!0x0);break;}}else _0x3a2dc1[_0x18e664(0x160)]===_0x18e664(0xd9)&&typeof _0x50775a['name']==_0x18e664(0xcd)&&_0x50775a[_0x18e664(0xae)]&&_0x3a2dc1['name']&&_0x50775a['name']!==_0x3a2dc1[_0x18e664(0xae)]&&(_0x3a2dc1[_0x18e664(0x129)]=_0x50775a[_0x18e664(0xae)]);},_0x1553d1[_0x362eb9(0x166)][_0x362eb9(0xf3)]=function(_0x5d4a64){var _0x124dbd=_0x362eb9;return 0x1/_0x5d4a64===Number[_0x124dbd(0x16d)];},_0x1553d1['prototype'][_0x362eb9(0x12b)]=function(_0x5effc0){var _0xcb9369=_0x362eb9;!_0x5effc0[_0xcb9369(0x14f)]||!_0x5effc0[_0xcb9369(0x14f)][_0xcb9369(0x75)]||_0x5effc0[_0xcb9369(0x160)]===_0xcb9369(0x133)||_0x5effc0[_0xcb9369(0x160)]===_0xcb9369(0x12f)||_0x5effc0[_0xcb9369(0x160)]===_0xcb9369(0x14c)||_0x5effc0[_0xcb9369(0x14f)][_0xcb9369(0xda)](function(_0x348183,_0x3a9dfe){var _0x2dc7c8=_0xcb9369,_0x4182bd=_0x348183[_0x2dc7c8(0xae)]['toLowerCase'](),_0x4230c7=_0x3a9dfe[_0x2dc7c8(0xae)][_0x2dc7c8(0x130)]();return _0x4182bd<_0x4230c7?-0x1:_0x4182bd>_0x4230c7?0x1:0x0;});},_0x1553d1[_0x362eb9(0x166)][_0x362eb9(0x104)]=function(_0x375221,_0x361945){var _0x131a55=_0x362eb9;if(!(_0x361945[_0x131a55(0x6b)]||!_0x375221[_0x131a55(0x14f)]||!_0x375221[_0x131a55(0x14f)][_0x131a55(0x75)])){for(var _0x57e4e3=[],_0x4d073a=[],_0x3d548c=0x0,_0x1a0472=_0x375221['props']['length'];_0x3d548c<_0x1a0472;_0x3d548c++){var _0x392721=_0x375221[_0x131a55(0x14f)][_0x3d548c];_0x392721[_0x131a55(0x160)]==='function'?_0x57e4e3[_0x131a55(0x135)](_0x392721):_0x4d073a[_0x131a55(0x135)](_0x392721);}if(!(!_0x4d073a['length']||_0x57e4e3[_0x131a55(0x75)]<=0x1)){_0x375221[_0x131a55(0x14f)]=_0x4d073a;var _0x300a86={'functionsNode':!0x0,'props':_0x57e4e3};this['_setNodeId'](_0x300a86,_0x361945),this[_0x131a55(0x71)](_0x300a86,_0x361945),this[_0x131a55(0x16c)](_0x300a86),this[_0x131a55(0xff)](_0x300a86,_0x361945),_0x300a86['id']+='\\\\x20f',_0x375221['props']['unshift'](_0x300a86);}}},_0x1553d1['prototype'][_0x362eb9(0xc1)]=function(_0xdd78d6,_0x5ea79f){},_0x1553d1[_0x362eb9(0x166)][_0x362eb9(0x16c)]=function(_0x2ea115){},_0x1553d1['prototype'][_0x362eb9(0x174)]=function(_0x59d77a){var _0x5648e8=_0x362eb9;return Array[_0x5648e8(0x79)](_0x59d77a)||typeof _0x59d77a=='object'&&this['_objectToString'](_0x59d77a)==='[object\\\\x20Array]';},_0x1553d1[_0x362eb9(0x166)][_0x362eb9(0xff)]=function(_0x8d330,_0x234a4d){},_0x1553d1[_0x362eb9(0x166)][_0x362eb9(0x134)]=function(_0x5c22fa){var _0x64bada=_0x362eb9;delete _0x5c22fa[_0x64bada(0xb0)],delete _0x5c22fa[_0x64bada(0x16a)],delete _0x5c22fa[_0x64bada(0xf2)];},_0x1553d1[_0x362eb9(0x166)][_0x362eb9(0xd8)]=function(_0x564a04,_0xf08319){};let _0x14c23a=new _0x1553d1(),_0x39a863={'props':_0x2ab5e9[_0x362eb9(0xe2)]['props']||0x64,'elements':_0x2ab5e9[_0x362eb9(0xe2)][_0x362eb9(0x10b)]||0x64,'strLength':_0x2ab5e9[_0x362eb9(0xe2)][_0x362eb9(0x13c)]||0x400*0x32,'totalStrLength':_0x2ab5e9[_0x362eb9(0xe2)][_0x362eb9(0x9a)]||0x400*0x32,'autoExpandLimit':_0x2ab5e9[_0x362eb9(0xe2)][_0x362eb9(0xb8)]||0x1388,'autoExpandMaxDepth':_0x2ab5e9['defaultLimits']['autoExpandMaxDepth']||0xa},_0x5de84c={'props':_0x2ab5e9[_0x362eb9(0x94)][_0x362eb9(0x14f)]||0x5,'elements':_0x2ab5e9['reducedLimits'][_0x362eb9(0x10b)]||0x5,'strLength':_0x2ab5e9[_0x362eb9(0x94)][_0x362eb9(0x13c)]||0x100,'totalStrLength':_0x2ab5e9['reducedLimits']['totalStrLength']||0x100*0x3,'autoExpandLimit':_0x2ab5e9[_0x362eb9(0x94)][_0x362eb9(0xb8)]||0x1e,'autoExpandMaxDepth':_0x2ab5e9[_0x362eb9(0x94)]['autoExpandMaxDepth']||0x2};if(_0x5c9ae8){let _0x1b7536=_0x14c23a[_0x362eb9(0x13d)]['bind'](_0x14c23a);_0x14c23a[_0x362eb9(0x13d)]=function(_0x2cec0e,_0xbee19b,_0x5aae30,_0x1cbcb1){return _0x1b7536(_0x2cec0e,_0x5c9ae8(_0xbee19b),_0x5aae30,_0x1cbcb1);};}function _0x4c7fc5(_0x346455,_0x2b6a2f,_0x46c6e1,_0x1cd4b7,_0xafc0be,_0x11c2b6){var _0x507acf=_0x362eb9;let _0x4e3b4f,_0x40b10e;try{_0x40b10e=_0x33c06c(),_0x4e3b4f=_0x1c6321[_0x2b6a2f],!_0x4e3b4f||_0x40b10e-_0x4e3b4f['ts']>_0x2575e9[_0x507acf(0x157)]['resetWhenQuietMs']&&_0x4e3b4f[_0x507acf(0x7f)]&&_0x4e3b4f[_0x507acf(0x105)]/_0x4e3b4f[_0x507acf(0x7f)]<_0x2575e9[_0x507acf(0x157)]['resetOnProcessingTimeAverageMs']?(_0x1c6321[_0x2b6a2f]=_0x4e3b4f={'count':0x0,'time':0x0,'ts':_0x40b10e},_0x1c6321[_0x507acf(0x93)]={}):_0x40b10e-_0x1c6321[_0x507acf(0x93)]['ts']>_0x2575e9[_0x507acf(0x102)]['resetWhenQuietMs']&&_0x1c6321[_0x507acf(0x93)][_0x507acf(0x7f)]&&_0x1c6321[_0x507acf(0x93)][_0x507acf(0x105)]/_0x1c6321[_0x507acf(0x93)][_0x507acf(0x7f)]<_0x2575e9['global'][_0x507acf(0x7a)]&&(_0x1c6321[_0x507acf(0x93)]={});let _0x4786e5=[],_0x1867c7=_0x4e3b4f[_0x507acf(0x148)]||_0x1c6321['hits'][_0x507acf(0x148)]?_0x5de84c:_0x39a863,_0x42979e=_0x35724c=>{var _0x36e35e=_0x507acf;let _0x3cf0b1={};return _0x3cf0b1[_0x36e35e(0x14f)]=_0x35724c['props'],_0x3cf0b1['elements']=_0x35724c[_0x36e35e(0x10b)],_0x3cf0b1['strLength']=_0x35724c['strLength'],_0x3cf0b1[_0x36e35e(0x9a)]=_0x35724c[_0x36e35e(0x9a)],_0x3cf0b1[_0x36e35e(0xb8)]=_0x35724c[_0x36e35e(0xb8)],_0x3cf0b1[_0x36e35e(0xe9)]=_0x35724c[_0x36e35e(0xe9)],_0x3cf0b1[_0x36e35e(0x14d)]=!0x1,_0x3cf0b1[_0x36e35e(0x6b)]=!_0x4ca48c,_0x3cf0b1[_0x36e35e(0xed)]=0x1,_0x3cf0b1[_0x36e35e(0xfb)]=0x0,_0x3cf0b1[_0x36e35e(0xc5)]=_0x36e35e(0x124),_0x3cf0b1[_0x36e35e(0xec)]='root_exp',_0x3cf0b1[_0x36e35e(0x145)]=!0x0,_0x3cf0b1[_0x36e35e(0x154)]=[],_0x3cf0b1['autoExpandPropertyCount']=0x0,_0x3cf0b1[_0x36e35e(0x116)]=_0x2ab5e9[_0x36e35e(0x116)],_0x3cf0b1[_0x36e35e(0x90)]=0x0,_0x3cf0b1[_0x36e35e(0x153)]={'current':void 0x0,'parent':void 0x0,'index':0x0},_0x3cf0b1;};for(var _0xcf31ee=0x0;_0xcf31ee<_0xafc0be[_0x507acf(0x75)];_0xcf31ee++)_0x4786e5[_0x507acf(0x135)](_0x14c23a['serialize']({'timeNode':_0x346455===_0x507acf(0x105)||void 0x0},_0xafc0be[_0xcf31ee],_0x42979e(_0x1867c7),{}));if(_0x346455===_0x507acf(0x142)||_0x346455===_0x507acf(0xb4)){let _0x29266d=Error[_0x507acf(0x9f)];try{Error[_0x507acf(0x9f)]=0x1/0x0,_0x4786e5['push'](_0x14c23a[_0x507acf(0x13d)]({'stackNode':!0x0},new Error()[_0x507acf(0x77)],_0x42979e(_0x1867c7),{'strLength':0x1/0x0}));}finally{Error[_0x507acf(0x9f)]=_0x29266d;}}return{'method':'log','version':_0x242b6d,'args':[{'ts':_0x46c6e1,'session':_0x1cd4b7,'args':_0x4786e5,'id':_0x2b6a2f,'context':_0x11c2b6}]};}catch(_0x1f5703){return{'method':_0x507acf(0x119),'version':_0x242b6d,'args':[{'ts':_0x46c6e1,'session':_0x1cd4b7,'args':[{'type':_0x507acf(0x92),'error':_0x1f5703&&_0x1f5703[_0x507acf(0x146)]}],'id':_0x2b6a2f,'context':_0x11c2b6}]};}finally{try{if(_0x4e3b4f&&_0x40b10e){let _0x21bfd9=_0x33c06c();_0x4e3b4f[_0x507acf(0x7f)]++,_0x4e3b4f[_0x507acf(0x105)]+=_0x2020f4(_0x40b10e,_0x21bfd9),_0x4e3b4f['ts']=_0x21bfd9,_0x1c6321[_0x507acf(0x93)][_0x507acf(0x7f)]++,_0x1c6321['hits'][_0x507acf(0x105)]+=_0x2020f4(_0x40b10e,_0x21bfd9),_0x1c6321[_0x507acf(0x93)]['ts']=_0x21bfd9,(_0x4e3b4f[_0x507acf(0x7f)]>_0x2575e9[_0x507acf(0x157)][_0x507acf(0x97)]||_0x4e3b4f[_0x507acf(0x105)]>_0x2575e9[_0x507acf(0x157)][_0x507acf(0x91)])&&(_0x4e3b4f[_0x507acf(0x148)]=!0x0),(_0x1c6321[_0x507acf(0x93)][_0x507acf(0x7f)]>_0x2575e9['global'][_0x507acf(0x97)]||_0x1c6321[_0x507acf(0x93)]['time']>_0x2575e9[_0x507acf(0x102)]['reduceOnAccumulatedProcessingTimeMs'])&&(_0x1c6321[_0x507acf(0x93)][_0x507acf(0x148)]=!0x0);}}catch{}}}return _0x4c7fc5;}function G(_0x3110a3){var _0x3bd871=_0x3bb860;if(_0x3110a3&&typeof _0x3110a3==_0x3bd871(0x107)&&_0x3110a3['constructor'])switch(_0x3110a3[_0x3bd871(0xf9)][_0x3bd871(0xae)]){case _0x3bd871(0xcb):return _0x3110a3['hasOwnProperty'](Symbol[_0x3bd871(0xc9)])?Promise['resolve']():_0x3110a3;case'bound\\\\x20Promise':return Promise[_0x3bd871(0x82)]();}return _0x3110a3;}((_0x89476e,_0x28b07f,_0x238868,_0x4cce03,_0x2dfef1,_0x1e02d7,_0x12a822,_0x1c8003,_0x4ba878,_0x4d841f,_0x421cd1,_0x9d4723)=>{var _0x41e2dd=_0x3bb860;if(_0x89476e[_0x41e2dd(0xfa)])return _0x89476e[_0x41e2dd(0xfa)];let _0x49128d={'consoleLog':()=>{},'consoleTrace':()=>{},'consoleTime':()=>{},'consoleTimeEnd':()=>{},'autoLog':()=>{},'autoLogMany':()=>{},'autoTraceMany':()=>{},'coverage':()=>{},'autoTrace':()=>{},'autoTime':()=>{},'autoTimeEnd':()=>{}};if(!X(_0x89476e,_0x1c8003,_0x2dfef1))return _0x89476e['_console_ninja']=_0x49128d,_0x89476e[_0x41e2dd(0xfa)];let _0x3b17c2=b(_0x89476e),_0x5e45ab=_0x3b17c2['elapsed'],_0x5e3035=_0x3b17c2[_0x41e2dd(0x10c)],_0x59dd7b=_0x3b17c2['now'],_0x41cf3b={'hits':{},'ts':{}},_0x2245c0=J(_0x89476e,_0x4ba878,_0x41cf3b,_0x1e02d7,_0x9d4723,_0x2dfef1==='next.js'?G:void 0x0),_0x23a585=(_0x50e6b3,_0x4f445a,_0x17722c,_0x24a0e1,_0x5e2f8e,_0x23d340)=>{var _0x320467=_0x41e2dd;let _0x26447d=_0x89476e[_0x320467(0xfa)];try{return _0x89476e[_0x320467(0xfa)]=_0x49128d,_0x2245c0(_0x50e6b3,_0x4f445a,_0x17722c,_0x24a0e1,_0x5e2f8e,_0x23d340);}finally{_0x89476e[_0x320467(0xfa)]=_0x26447d;}},_0x42ba27=_0x7674fa=>{_0x41cf3b['ts'][_0x7674fa]=_0x5e3035();},_0x24d759=(_0x5f8923,_0x3f0a6d)=>{var _0x955907=_0x41e2dd;let _0x55a4b5=_0x41cf3b['ts'][_0x3f0a6d];if(delete _0x41cf3b['ts'][_0x3f0a6d],_0x55a4b5){let _0x42836e=_0x5e45ab(_0x55a4b5,_0x5e3035());_0x1c7723(_0x23a585(_0x955907(0x105),_0x5f8923,_0x59dd7b(),_0x1e7b66,[_0x42836e],_0x3f0a6d));}},_0x1694ef=_0x470e65=>{var _0x25a365=_0x41e2dd,_0x59f8f2;return _0x2dfef1==='next.js'&&_0x89476e['origin']&&((_0x59f8f2=_0x470e65==null?void 0x0:_0x470e65[_0x25a365(0x115)])==null?void 0x0:_0x59f8f2[_0x25a365(0x75)])&&(_0x470e65[_0x25a365(0x115)][0x0][_0x25a365(0xb2)]=_0x89476e['origin']),_0x470e65;};_0x89476e[_0x41e2dd(0xfa)]={'consoleLog':(_0x289d5e,_0x17a27d)=>{var _0x5de7e4=_0x41e2dd;_0x89476e[_0x5de7e4(0xbe)]['log'][_0x5de7e4(0xae)]!==_0x5de7e4(0xde)&&_0x1c7723(_0x23a585(_0x5de7e4(0x119),_0x289d5e,_0x59dd7b(),_0x1e7b66,_0x17a27d));},'consoleTrace':(_0x550c51,_0x217373)=>{var _0x58b605=_0x41e2dd,_0x5c42fd,_0x2eb19b;_0x89476e[_0x58b605(0xbe)][_0x58b605(0x119)][_0x58b605(0xae)]!=='disabledTrace'&&((_0x2eb19b=(_0x5c42fd=_0x89476e[_0x58b605(0x167)])==null?void 0x0:_0x5c42fd[_0x58b605(0x149)])!=null&&_0x2eb19b[_0x58b605(0x153)]&&(_0x89476e[_0x58b605(0x83)]=!0x0),_0x1c7723(_0x1694ef(_0x23a585(_0x58b605(0x142),_0x550c51,_0x59dd7b(),_0x1e7b66,_0x217373))));},'consoleError':(_0x388785,_0x1df99e)=>{var _0x3e3286=_0x41e2dd;_0x89476e[_0x3e3286(0x83)]=!0x0,_0x1c7723(_0x1694ef(_0x23a585(_0x3e3286(0xb4),_0x388785,_0x59dd7b(),_0x1e7b66,_0x1df99e)));},'consoleTime':_0x5dfd28=>{_0x42ba27(_0x5dfd28);},'consoleTimeEnd':(_0x2ea531,_0x32fcea)=>{_0x24d759(_0x32fcea,_0x2ea531);},'autoLog':(_0x3210b3,_0x41f469)=>{var _0x149cc9=_0x41e2dd;_0x1c7723(_0x23a585(_0x149cc9(0x119),_0x41f469,_0x59dd7b(),_0x1e7b66,[_0x3210b3]));},'autoLogMany':(_0x5cca3a,_0xfa047d)=>{_0x1c7723(_0x23a585('log',_0x5cca3a,_0x59dd7b(),_0x1e7b66,_0xfa047d));},'autoTrace':(_0xdc9d24,_0x1f706d)=>{_0x1c7723(_0x1694ef(_0x23a585('trace',_0x1f706d,_0x59dd7b(),_0x1e7b66,[_0xdc9d24])));},'autoTraceMany':(_0x369170,_0x2658f9)=>{var _0x21206c=_0x41e2dd;_0x1c7723(_0x1694ef(_0x23a585(_0x21206c(0x142),_0x369170,_0x59dd7b(),_0x1e7b66,_0x2658f9)));},'autoTime':(_0x216685,_0x1f9d8a,_0x5d3d6a)=>{_0x42ba27(_0x5d3d6a);},'autoTimeEnd':(_0x38e311,_0x8da60e,_0x102528)=>{_0x24d759(_0x8da60e,_0x102528);},'coverage':_0x3ee68b=>{_0x1c7723({'method':'coverage','version':_0x1e02d7,'args':[{'id':_0x3ee68b}]});}};let _0x1c7723=H(_0x89476e,_0x28b07f,_0x238868,_0x4cce03,_0x2dfef1,_0x4d841f,_0x421cd1),_0x1e7b66=_0x89476e[_0x41e2dd(0x14a)];return _0x89476e[_0x41e2dd(0xfa)];})(globalThis,_0x3bb860(0x6d),_0x3bb860(0x165),_0x3bb860(0x15b),'webpack',_0x3bb860(0x14e),'1764769008274',[\\\"localhost\\\",\\\"127.0.0.1\\\",\\\"example.cypress.io\\\",\\\"10.0.2.2\\\",\\\"Matejs-MacBook-Pro.local\\\",\\\"192.168.0.230\\\"],_0x3bb860(0x15c),_0x3bb860(0x159),_0x3bb860(0xa4),_0x3bb860(0xd1));\");\n } catch (e) {\n console.error(e);\n }\n}\n/* istanbul ignore next */\nfunction oo_oo(/**@type{any}**/i, /**@type{any}**/...v) {\n try {\n oo_cm().consoleLog(i, v);\n } catch (e) {}\n return v;\n}\n/* istanbul ignore next */\nfunction oo_tr(/**@type{any}**/i, /**@type{any}**/...v) {\n try {\n oo_cm().consoleTrace(i, v);\n } catch (e) {}\n return v;\n}\n/* istanbul ignore next */\nfunction oo_tx(/**@type{any}**/i, /**@type{any}**/...v) {\n try {\n oo_cm().consoleError(i, v);\n } catch (e) {}\n return v;\n}\n/* istanbul ignore next */\nfunction oo_ts(/**@type{any}**/v) {\n try {\n oo_cm().consoleTime(v);\n } catch (e) {}\n return v;\n}\n/* istanbul ignore next */\nfunction oo_te(/**@type{any}**/v, /**@type{any}**/i) {\n try {\n oo_cm().consoleTimeEnd(v, i);\n } catch (e) {}\n return v;\n} /*eslint unicorn/no-abusive-eslint-disable:,eslint-comments/disable-enable-pair:,eslint-comments/no-unlimited-disable:,eslint-comments/no-aggregating-enable:,eslint-comments/no-duplicate-disable:,eslint-comments/no-unused-disable:,eslint-comments/no-unused-enable:,*/\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/blocker/z-blocker-modal.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); /***/ }), @@ -279,7 +279,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var cor /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/plugins/tm@modal/_mixins/modal.mixin */ \"./src/plugins/tm@modal/_mixins/modal.mixin.ts\");\n/* harmony import */ var _plugins_tm_modal_components_a_resize_handle_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-resize-handle.vue */ \"./src/plugins/tm@modal/_components/a-resize-handle.vue\");\n/* harmony import */ var _plugins_tm_modal_components_a_reset_size_button_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-reset-size-button.vue */ \"./src/plugins/tm@modal/_components/a-reset-size-button.vue\");\n/* harmony import */ var _plugins_tm_modal_components_a_close_button_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-close-button.vue */ \"./src/plugins/tm@modal/_components/a-close-button.vue\");\n/* provided dependency */ var console = __webpack_require__(/*! ./node_modules/console-browserify/index.js */ \"./node_modules/console-browserify/index.js\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n components: {\n AResizeHandle: _plugins_tm_modal_components_a_resize_handle_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n AResetSizeButton: _plugins_tm_modal_components_a_reset_size_button_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n ACloseButton: _plugins_tm_modal_components_a_close_button_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"]\n },\n mixins: [_plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_0__[\"default\"]],\n emits: ['on-blocker-deleted'],\n data() {\n return {\n visible: false,\n blocker: null,\n isDeleting: false,\n modalName: 'z-delete-blocker-modal'\n };\n },\n methods: {\n async showModal({\n blocker\n }) {\n this.blocker = blocker;\n this.visible = true;\n },\n closeModal() {\n this.visible = false;\n },\n async deleteBlocker() {\n if (this.isDeleting) return;\n this.isDeleting = true;\n try {\n await this.$axios.delete_auth(`v1/blockers/${this.blocker.id}`);\n this.$emit('on-blocker-deleted', this.blocker);\n this.closeModal();\n } catch (error) {\n this.$toast.error(this.$parseError(error));\n if (true) /* eslint-disable */ /* eslint-disable */console.log(...oo_oo(`664640616_69_25_69_119_4`, ...oo_oo(`2913081136_61_5_61_63_4`, '[z-delete-blocker-modal.vue] Error: ', error)));\n } finally {\n this.isDeleting = false;\n }\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/blocker/z-delete-blocker-modal.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); +eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/plugins/tm@modal/_mixins/modal.mixin */ \"./src/plugins/tm@modal/_mixins/modal.mixin.ts\");\n/* harmony import */ var _plugins_tm_modal_components_a_resize_handle_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-resize-handle.vue */ \"./src/plugins/tm@modal/_components/a-resize-handle.vue\");\n/* harmony import */ var _plugins_tm_modal_components_a_reset_size_button_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-reset-size-button.vue */ \"./src/plugins/tm@modal/_components/a-reset-size-button.vue\");\n/* harmony import */ var _plugins_tm_modal_components_a_close_button_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-close-button.vue */ \"./src/plugins/tm@modal/_components/a-close-button.vue\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n components: {\n AResizeHandle: _plugins_tm_modal_components_a_resize_handle_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n AResetSizeButton: _plugins_tm_modal_components_a_reset_size_button_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n ACloseButton: _plugins_tm_modal_components_a_close_button_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"]\n },\n mixins: [_plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_0__[\"default\"]],\n emits: ['on-blocker-deleted'],\n data() {\n return {\n visible: false,\n blocker: null,\n isDeleting: false,\n modalName: 'z-delete-blocker-modal'\n };\n },\n methods: {\n async showModal({\n blocker\n }) {\n this.blocker = blocker;\n this.visible = true;\n },\n closeModal() {\n this.visible = false;\n },\n async deleteBlocker() {\n if (this.isDeleting) return;\n this.isDeleting = true;\n try {\n await this.$axios.delete_auth(`v1/blockers/${this.blocker.id}`);\n this.$emit('on-blocker-deleted', this.blocker);\n this.closeModal();\n } catch (error) {\n this.$toast.error(this.$parseError(error));\n } finally {\n this.isDeleting = false;\n }\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/blocker/z-delete-blocker-modal.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); /***/ }), @@ -312,7 +312,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var cor /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/plugins/tm@modal/_mixins/modal.mixin */ \"./src/plugins/tm@modal/_mixins/modal.mixin.ts\");\n/* harmony import */ var _plugins_tm_modal_components_a_resize_handle_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-resize-handle.vue */ \"./src/plugins/tm@modal/_components/a-resize-handle.vue\");\n/* harmony import */ var _plugins_tm_modal_components_a_reset_size_button_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-reset-size-button.vue */ \"./src/plugins/tm@modal/_components/a-reset-size-button.vue\");\n/* harmony import */ var _plugins_tm_modal_components_a_close_button_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-close-button.vue */ \"./src/plugins/tm@modal/_components/a-close-button.vue\");\n/* provided dependency */ var console = __webpack_require__(/*! ./node_modules/console-browserify/index.js */ \"./node_modules/console-browserify/index.js\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n components: {\n AResizeHandle: _plugins_tm_modal_components_a_resize_handle_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n AResetSizeButton: _plugins_tm_modal_components_a_reset_size_button_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n ACloseButton: _plugins_tm_modal_components_a_close_button_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"]\n },\n mixins: [_plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_0__[\"default\"]],\n emits: ['close', 'master-task-edited'],\n data() {\n return {\n visible: false,\n mastertask: null,\n modalName: 'z-complete-master-task-modal'\n };\n },\n methods: {\n async showModal({\n mastertask\n }) {\n this.mastertask = mastertask;\n this.visible = true;\n },\n async complete() {\n try {\n const tempMastertask = {\n ...this.mastertask,\n is_finished: this.mastertask.is_finished ? 0 : 1\n };\n const {\n mastertask\n } = await this.$axios.put_auth(`v1/mastertasks/${tempMastertask.id}`, tempMastertask);\n this.visible = false;\n this.$emit('master-task-edited', mastertask);\n this.$events.emit('close-both-modals');\n } catch (error) {\n this.$toast.error(this.$parseError(error));\n if (true) /* eslint-disable */ /* eslint-disable */console.log(...oo_oo(`1741042318_61_25_61_125_4`, ...oo_oo(`1880834166_52_5_52_69_4`, '[z-complete-master-task-modal.vue] Error: ', error)));\n }\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/master-task/z-complete-master-task-modal.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); +eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/plugins/tm@modal/_mixins/modal.mixin */ \"./src/plugins/tm@modal/_mixins/modal.mixin.ts\");\n/* harmony import */ var _plugins_tm_modal_components_a_resize_handle_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-resize-handle.vue */ \"./src/plugins/tm@modal/_components/a-resize-handle.vue\");\n/* harmony import */ var _plugins_tm_modal_components_a_reset_size_button_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-reset-size-button.vue */ \"./src/plugins/tm@modal/_components/a-reset-size-button.vue\");\n/* harmony import */ var _plugins_tm_modal_components_a_close_button_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-close-button.vue */ \"./src/plugins/tm@modal/_components/a-close-button.vue\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n components: {\n AResizeHandle: _plugins_tm_modal_components_a_resize_handle_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n AResetSizeButton: _plugins_tm_modal_components_a_reset_size_button_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n ACloseButton: _plugins_tm_modal_components_a_close_button_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"]\n },\n mixins: [_plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_0__[\"default\"]],\n emits: ['close', 'master-task-edited'],\n data() {\n return {\n visible: false,\n mastertask: null,\n modalName: 'z-complete-master-task-modal'\n };\n },\n methods: {\n async showModal({\n mastertask\n }) {\n this.mastertask = mastertask;\n this.visible = true;\n },\n async complete() {\n try {\n const tempMastertask = {\n ...this.mastertask,\n is_finished: this.mastertask.is_finished ? 0 : 1\n };\n const {\n mastertask\n } = await this.$axios.put_auth(`v1/mastertasks/${tempMastertask.id}`, tempMastertask);\n this.visible = false;\n this.$emit('master-task-edited', mastertask);\n this.$events.emit('close-both-modals');\n } catch (error) {\n this.$toast.error(this.$parseError(error));\n }\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/master-task/z-complete-master-task-modal.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); /***/ }), @@ -323,7 +323,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _pl /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/plugins/tm@modal/_mixins/modal.mixin */ \"./src/plugins/tm@modal/_mixins/modal.mixin.ts\");\n/* harmony import */ var _plugins_tm_modal_components_a_resize_handle_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-resize-handle.vue */ \"./src/plugins/tm@modal/_components/a-resize-handle.vue\");\n/* harmony import */ var _plugins_tm_modal_components_a_reset_size_button_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-reset-size-button.vue */ \"./src/plugins/tm@modal/_components/a-reset-size-button.vue\");\n/* harmony import */ var _plugins_tm_modal_components_a_close_button_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-close-button.vue */ \"./src/plugins/tm@modal/_components/a-close-button.vue\");\n/* provided dependency */ var console = __webpack_require__(/*! ./node_modules/console-browserify/index.js */ \"./node_modules/console-browserify/index.js\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n components: {\n AResizeHandle: _plugins_tm_modal_components_a_resize_handle_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n AResetSizeButton: _plugins_tm_modal_components_a_reset_size_button_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n ACloseButton: _plugins_tm_modal_components_a_close_button_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"]\n },\n mixins: [_plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_0__[\"default\"]],\n emits: ['on-mastertask-deleted'],\n data() {\n return {\n visible: false,\n mastertask: null,\n isDeleting: false,\n modalName: 'z-delete-master-task-modal'\n };\n },\n methods: {\n async showModal({\n mastertask\n }) {\n this.mastertask = mastertask;\n this.visible = true;\n },\n closeModal() {\n this.visible = false;\n },\n async deleteMasterTask() {\n if (this.isDeleting) return;\n this.isDeleting = true;\n try {\n await this.$axios.delete_auth(`v1/mastertasks/${this.mastertask.id}`);\n this.$emit('on-mastertask-deleted', this.mastertask);\n this.closeModal();\n } catch (error) {\n this.$toast.error(this.$parseError(error));\n if (true) /* eslint-disable */ /* eslint-disable */console.log(...oo_oo(`940139120_68_25_68_123_4`, ...oo_oo(`2911006425_60_5_60_67_4`, '[z-delete-master-task-modal.vue] Error: ', error)));\n } finally {\n this.isDeleting = false;\n }\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/master-task/z-delete-master-task-modal.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); +eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/plugins/tm@modal/_mixins/modal.mixin */ \"./src/plugins/tm@modal/_mixins/modal.mixin.ts\");\n/* harmony import */ var _plugins_tm_modal_components_a_resize_handle_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-resize-handle.vue */ \"./src/plugins/tm@modal/_components/a-resize-handle.vue\");\n/* harmony import */ var _plugins_tm_modal_components_a_reset_size_button_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-reset-size-button.vue */ \"./src/plugins/tm@modal/_components/a-reset-size-button.vue\");\n/* harmony import */ var _plugins_tm_modal_components_a_close_button_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-close-button.vue */ \"./src/plugins/tm@modal/_components/a-close-button.vue\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n components: {\n AResizeHandle: _plugins_tm_modal_components_a_resize_handle_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n AResetSizeButton: _plugins_tm_modal_components_a_reset_size_button_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n ACloseButton: _plugins_tm_modal_components_a_close_button_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"]\n },\n mixins: [_plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_0__[\"default\"]],\n emits: ['on-mastertask-deleted'],\n data() {\n return {\n visible: false,\n mastertask: null,\n isDeleting: false,\n modalName: 'z-delete-master-task-modal'\n };\n },\n methods: {\n async showModal({\n mastertask\n }) {\n this.mastertask = mastertask;\n this.visible = true;\n },\n closeModal() {\n this.visible = false;\n },\n async deleteMasterTask() {\n if (this.isDeleting) return;\n this.isDeleting = true;\n try {\n await this.$axios.delete_auth(`v1/mastertasks/${this.mastertask.id}`);\n this.$emit('on-mastertask-deleted', this.mastertask);\n this.closeModal();\n } catch (error) {\n this.$toast.error(this.$parseError(error));\n } finally {\n this.isDeleting = false;\n }\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/master-task/z-delete-master-task-modal.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); /***/ }), @@ -334,7 +334,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _pl /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/plugins/tm@_utils/tm.utils */ \"./src/plugins/tm@_utils/tm.utils.ts\");\n/* harmony import */ var _plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/plugins/tm@modal/_mixins/modal.mixin */ \"./src/plugins/tm@modal/_mixins/modal.mixin.ts\");\n/* harmony import */ var _plugins_tm_modal_components_a_resize_handle_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-resize-handle.vue */ \"./src/plugins/tm@modal/_components/a-resize-handle.vue\");\n/* harmony import */ var _plugins_tm_modal_components_a_reset_size_button_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-reset-size-button.vue */ \"./src/plugins/tm@modal/_components/a-reset-size-button.vue\");\n/* harmony import */ var _plugins_tm_modal_components_a_close_button_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-close-button.vue */ \"./src/plugins/tm@modal/_components/a-close-button.vue\");\n/* provided dependency */ var console = __webpack_require__(/*! ./node_modules/console-browserify/index.js */ \"./node_modules/console-browserify/index.js\");\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n components: {\n AResizeHandle: _plugins_tm_modal_components_a_resize_handle_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n AResetSizeButton: _plugins_tm_modal_components_a_reset_size_button_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n ACloseButton: _plugins_tm_modal_components_a_close_button_vue__WEBPACK_IMPORTED_MODULE_4__[\"default\"]\n },\n mixins: [_plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_1__[\"default\"]],\n data() {\n return {\n visible: false,\n member: null,\n team: null,\n modalName: 'z-delete-team-member-modal'\n };\n },\n methods: {\n async showModal({\n member,\n team\n }) {\n this.member = member;\n this.team = team;\n this.visible = true;\n },\n closeModal() {\n this.visible = false;\n },\n async deleteMember() {\n this.team.employees = [...this.team.employees].filter(employee => employee.id !== this.member.id);\n try {\n if (this.team.id) {\n const {\n team\n } = await this.$axios.put_auth(`v1/teams/${this.team.id}`, this.team);\n this.$store.commit('tm/update_team', team);\n } else {\n const {\n team\n } = await this.$axios.post_auth(`v1/teams`, this.team);\n this.$store.commit('tm/save_team', team);\n }\n this.$events.emit('master-task:team-member-deleted', {\n teamId: this.team.id,\n memberId: this.member.id\n });\n this.closeModal();\n } catch (error) {\n this.$toast.error(this.$parseError(error));\n if (true) /* eslint-disable */console.log(...oo_oo(`2789606959_89_5_89_67_4`, '[z-delete-team-member-modal.vue] Error: ', error));\n }\n },\n _enrichTeam(team) {\n team.employees = _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].enrichEmployees(team.employees);\n return team;\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/master-task/z-delete-team-member-modal.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); +eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/plugins/tm@_utils/tm.utils */ \"./src/plugins/tm@_utils/tm.utils.ts\");\n/* harmony import */ var _plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/plugins/tm@modal/_mixins/modal.mixin */ \"./src/plugins/tm@modal/_mixins/modal.mixin.ts\");\n/* harmony import */ var _plugins_tm_modal_components_a_resize_handle_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-resize-handle.vue */ \"./src/plugins/tm@modal/_components/a-resize-handle.vue\");\n/* harmony import */ var _plugins_tm_modal_components_a_reset_size_button_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-reset-size-button.vue */ \"./src/plugins/tm@modal/_components/a-reset-size-button.vue\");\n/* harmony import */ var _plugins_tm_modal_components_a_close_button_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-close-button.vue */ \"./src/plugins/tm@modal/_components/a-close-button.vue\");\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n components: {\n AResizeHandle: _plugins_tm_modal_components_a_resize_handle_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n AResetSizeButton: _plugins_tm_modal_components_a_reset_size_button_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n ACloseButton: _plugins_tm_modal_components_a_close_button_vue__WEBPACK_IMPORTED_MODULE_4__[\"default\"]\n },\n mixins: [_plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_1__[\"default\"]],\n data() {\n return {\n visible: false,\n member: null,\n team: null,\n modalName: 'z-delete-team-member-modal'\n };\n },\n methods: {\n async showModal({\n member,\n team\n }) {\n this.member = member;\n this.team = team;\n this.visible = true;\n },\n closeModal() {\n this.visible = false;\n },\n async deleteMember() {\n this.team.employees = [...this.team.employees].filter(employee => employee.id !== this.member.id);\n try {\n if (this.team.id) {\n const {\n team\n } = await this.$axios.put_auth(`v1/teams/${this.team.id}`, this.team);\n this.$store.commit('tm/update_team', team);\n } else {\n const {\n team\n } = await this.$axios.post_auth(`v1/teams`, this.team);\n this.$store.commit('tm/save_team', team);\n }\n this.$events.emit('master-task:team-member-deleted', {\n teamId: this.team.id,\n memberId: this.member.id\n });\n this.closeModal();\n } catch (error) {\n this.$toast.error(this.$parseError(error));\n }\n },\n _enrichTeam(team) {\n team.employees = _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].enrichEmployees(team.employees);\n return team;\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/master-task/z-delete-team-member-modal.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); /***/ }), @@ -444,7 +444,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_json_stringify_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.json.stringify.js */ \"./node_modules/core-js/modules/es.json.stringify.js\");\n/* harmony import */ var core_js_modules_es_json_stringify_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_json_stringify_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ \"./node_modules/core-js/modules/esnext.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/esnext.iterator.filter.js */ \"./node_modules/core-js/modules/esnext.iterator.filter.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/esnext.iterator.map.js */ \"./node_modules/core-js/modules/esnext.iterator.map.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! moment */ \"./node_modules/moment/moment.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _plugins_lib_auth_utils_error_utils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/plugins/lib@auth/_utils/error.utils */ \"./src/plugins/lib@auth/_utils/error.utils.ts\");\n/* harmony import */ var _vuelidate_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @vuelidate/core */ \"./node_modules/@vuelidate/core/dist/index.esm.js\");\n/* harmony import */ var _vuelidate_validators__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @vuelidate/validators */ \"./node_modules/@vuelidate/validators/dist/index.esm.js\");\n/* harmony import */ var _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/plugins/tm@_utils/tm.utils */ \"./src/plugins/tm@_utils/tm.utils.ts\");\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm-bundler.js\");\n/* harmony import */ var _plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/plugins/tm@modal/_mixins/modal.mixin */ \"./src/plugins/tm@modal/_mixins/modal.mixin.ts\");\n/* provided dependency */ var console = __webpack_require__(/*! ./node_modules/console-browserify/index.js */ \"./node_modules/console-browserify/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n mixins: [_plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_11__[\"default\"]],\n props: {\n hours: {\n type: Number,\n required: true\n },\n subtask: {\n type: Object,\n required: true\n }\n },\n data() {\n return {\n moment: (moment__WEBPACK_IMPORTED_MODULE_5___default()),\n v$: (0,_vuelidate_core__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(),\n errorUtils: _plugins_lib_auth_utils_error_utils__WEBPACK_IMPORTED_MODULE_6__[\"default\"],\n showModal: false,\n form: {\n hours: null\n }\n };\n },\n validations() {\n return {\n form: {\n hours: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_8__.required,\n numeric: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_8__.numeric,\n minValue: (0,_vuelidate_validators__WEBPACK_IMPORTED_MODULE_8__.minValue)(0.1)\n }\n }\n };\n },\n computed: {\n ...(0,vuex__WEBPACK_IMPORTED_MODULE_10__.mapGetters)('auth', ['user'])\n },\n methods: {\n async submit() {\n if (!(await this.v$.$validate())) return;\n const subtask = JSON.parse(JSON.stringify(this.subtask));\n subtask.timesheets.push({\n id: null,\n employee_id: this.user.id,\n time: typeof this.form.hours == 'string' ? parseFloat(this.form.hours) : this.form.hours\n });\n if (subtask.deadline) subtask.deadline = _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_9__[\"default\"].formatDateTimeForBackend(this._mergeDeadlineTimeDate());\n this._update(subtask);\n },\n async deleteTimesheet({\n id\n }) {\n const subtask = JSON.parse(JSON.stringify(this.subtask));\n subtask.timesheets = subtask.timesheets.filter(timesheet => timesheet.id != id);\n if (subtask.deadline) subtask.deadline = _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_9__[\"default\"].formatDateTimeForBackend(this._mergeDeadlineTimeDate());\n this._update(subtask);\n },\n closeModal() {\n this.form = {\n hours: null\n };\n this.showModal = false;\n this.$nextTick(() => this.v$.$reset());\n },\n async _update(data) {\n try {\n const timesheets = data.timesheets.map(timesheet => {\n delete timesheet.employee_name;\n return timesheet;\n });\n\n // Convert timeblocks from internal format to BE format\n const timeblocks = (data.timeblocks || []).filter(timeblock => {\n // Filter timeblocks that have either old format (date) or new format (start)\n return timeblock.date || timeblock.start;\n }).map(timeblock => {\n // If already in BE format (has start field), return as is\n if (timeblock.start && !timeblock.date) {\n return {\n id: timeblock.id || null,\n start: timeblock.start,\n end: timeblock.end,\n is_finished: timeblock.is_finished || 0\n };\n }\n\n // Convert from internal format to BE format\n const dateStr = moment__WEBPACK_IMPORTED_MODULE_5___default()(timeblock.date).format('YYYY-MM-DD');\n return {\n id: timeblock.id || null,\n start: `${dateStr} ${timeblock.starts_at_time}:00`,\n end: `${dateStr} ${timeblock.ends_at_time}:00`,\n is_finished: timeblock.is_finished || 0\n };\n });\n const {\n subtask\n } = await this.$axios.put_auth(`v1/subtasks/${data.id}`, {\n ...data,\n timesheets,\n timeblocks\n });\n this.closeModal();\n this.$events.emit('on-subtask-edited', subtask);\n } catch (error) {\n this.$toast.error(error.message || error);\n if (true) /* eslint-disable */console.log(...oo_oo(`2568507054_223_10_223_63_4`, '[a-task-spent-time.vue] Error: ', error));\n }\n },\n _mergeDeadlineTimeDate() {\n const date = new Date(this.subtask.deadline);\n /* eslint-disable */\n console.log(...oo_oo(`2568507054_229_6_229_52_4`, 'a-task-spent-time', this.subtask));\n const timeParts = this.subtask._deadline_time.split(':');\n date.setHours(parseInt(timeParts[0]));\n date.setMinutes(parseInt(timeParts[1]));\n return date;\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/task/_components/_components/a-task-spent-time.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); +eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_json_stringify_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.json.stringify.js */ \"./node_modules/core-js/modules/es.json.stringify.js\");\n/* harmony import */ var core_js_modules_es_json_stringify_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_json_stringify_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ \"./node_modules/core-js/modules/esnext.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/esnext.iterator.filter.js */ \"./node_modules/core-js/modules/esnext.iterator.filter.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/esnext.iterator.map.js */ \"./node_modules/core-js/modules/esnext.iterator.map.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! moment */ \"./node_modules/moment/moment.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _plugins_lib_auth_utils_error_utils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/plugins/lib@auth/_utils/error.utils */ \"./src/plugins/lib@auth/_utils/error.utils.ts\");\n/* harmony import */ var _vuelidate_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @vuelidate/core */ \"./node_modules/@vuelidate/core/dist/index.esm.js\");\n/* harmony import */ var _vuelidate_validators__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @vuelidate/validators */ \"./node_modules/@vuelidate/validators/dist/index.esm.js\");\n/* harmony import */ var _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/plugins/tm@_utils/tm.utils */ \"./src/plugins/tm@_utils/tm.utils.ts\");\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm-bundler.js\");\n/* harmony import */ var _plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/plugins/tm@modal/_mixins/modal.mixin */ \"./src/plugins/tm@modal/_mixins/modal.mixin.ts\");\n\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n mixins: [_plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_11__[\"default\"]],\n props: {\n hours: {\n type: Number,\n required: true\n },\n subtask: {\n type: Object,\n required: true\n }\n },\n data() {\n return {\n moment: (moment__WEBPACK_IMPORTED_MODULE_5___default()),\n v$: (0,_vuelidate_core__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(),\n errorUtils: _plugins_lib_auth_utils_error_utils__WEBPACK_IMPORTED_MODULE_6__[\"default\"],\n showModal: false,\n form: {\n hours: null\n }\n };\n },\n validations() {\n return {\n form: {\n hours: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_8__.required,\n numeric: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_8__.numeric,\n minValue: (0,_vuelidate_validators__WEBPACK_IMPORTED_MODULE_8__.minValue)(0.1)\n }\n }\n };\n },\n computed: {\n ...(0,vuex__WEBPACK_IMPORTED_MODULE_10__.mapGetters)('auth', ['user'])\n },\n methods: {\n async submit() {\n if (!(await this.v$.$validate())) return;\n const subtask = JSON.parse(JSON.stringify(this.subtask));\n subtask.timesheets.push({\n id: null,\n employee_id: this.user.id,\n time: typeof this.form.hours == 'string' ? parseFloat(this.form.hours) : this.form.hours\n });\n if (subtask.deadline) subtask.deadline = _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_9__[\"default\"].formatDateTimeForBackend(this._mergeDeadlineTimeDate());\n this._update(subtask);\n },\n async deleteTimesheet({\n id\n }) {\n const subtask = JSON.parse(JSON.stringify(this.subtask));\n subtask.timesheets = subtask.timesheets.filter(timesheet => timesheet.id != id);\n if (subtask.deadline) subtask.deadline = _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_9__[\"default\"].formatDateTimeForBackend(this._mergeDeadlineTimeDate());\n this._update(subtask);\n },\n closeModal() {\n this.form = {\n hours: null\n };\n this.showModal = false;\n this.$nextTick(() => this.v$.$reset());\n },\n async _update(data) {\n try {\n const timesheets = data.timesheets.map(timesheet => {\n delete timesheet.employee_name;\n return timesheet;\n });\n\n // Convert timeblocks from internal format to BE format\n const timeblocks = (data.timeblocks || []).filter(timeblock => {\n // Filter timeblocks that have either old format (date) or new format (start)\n return timeblock.date || timeblock.start;\n }).map(timeblock => {\n // If already in BE format (has start field), return as is\n if (timeblock.start && !timeblock.date) {\n return {\n id: timeblock.id || null,\n start: timeblock.start,\n end: timeblock.end,\n is_finished: timeblock.is_finished || 0\n };\n }\n\n // Convert from internal format to BE format\n const dateStr = moment__WEBPACK_IMPORTED_MODULE_5___default()(timeblock.date).format('YYYY-MM-DD');\n return {\n id: timeblock.id || null,\n start: `${dateStr} ${timeblock.starts_at_time}:00`,\n end: `${dateStr} ${timeblock.ends_at_time}:00`,\n is_finished: timeblock.is_finished || 0\n };\n });\n const {\n subtask\n } = await this.$axios.put_auth(`v1/subtasks/${data.id}`, {\n ...data,\n timesheets,\n timeblocks\n });\n this.closeModal();\n this.$events.emit('on-subtask-edited', subtask);\n } catch (error) {\n this.$toast.error(error.message || error);\n }\n },\n _mergeDeadlineTimeDate() {\n const date = new Date(this.subtask.deadline);\n const timeParts = this.subtask._deadline_time.split(':');\n date.setHours(parseInt(timeParts[0]));\n date.setMinutes(parseInt(timeParts[1]));\n return date;\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/task/_components/_components/a-task-spent-time.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); /***/ }), @@ -455,7 +455,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var cor /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_json_stringify_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.json.stringify.js */ \"./node_modules/core-js/modules/es.json.stringify.js\");\n/* harmony import */ var core_js_modules_es_json_stringify_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_json_stringify_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ \"./node_modules/core-js/modules/esnext.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/esnext.iterator.filter.js */ \"./node_modules/core-js/modules/esnext.iterator.filter.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/esnext.iterator.map.js */ \"./node_modules/core-js/modules/esnext.iterator.map.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/plugins/tm@_utils/tm.utils */ \"./src/plugins/tm@_utils/tm.utils.ts\");\n/* harmony import */ var _plugins_lib_auth_utils_error_utils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/plugins/lib@auth/_utils/error.utils */ \"./src/plugins/lib@auth/_utils/error.utils.ts\");\n/* harmony import */ var _vuelidate_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @vuelidate/core */ \"./node_modules/@vuelidate/core/dist/index.esm.js\");\n/* harmony import */ var _vuelidate_validators__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @vuelidate/validators */ \"./node_modules/@vuelidate/validators/dist/index.esm.js\");\n/* harmony import */ var _plugins_tm_components_z_datepicker_vue__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/plugins/tm@_components/z-datepicker.vue */ \"./src/plugins/tm@_components/z-datepicker.vue\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! moment */ \"./node_modules/moment/moment.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var _plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/plugins/tm@modal/_mixins/modal.mixin */ \"./src/plugins/tm@modal/_mixins/modal.mixin.ts\");\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm-bundler.js\");\n/* provided dependency */ var console = __webpack_require__(/*! ./node_modules/console-browserify/index.js */ \"./node_modules/console-browserify/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n components: {\n ZDatepicker: _plugins_tm_components_z_datepicker_vue__WEBPACK_IMPORTED_MODULE_9__[\"default\"]\n },\n mixins: [_plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_11__[\"default\"]],\n props: {\n timeblocks: {\n type: Array,\n required: true\n },\n subtask: {\n type: Object,\n required: true\n }\n },\n emits: ['update-subtask'],\n data() {\n return {\n v$: (0,_vuelidate_core__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(),\n errorUtils: _plugins_lib_auth_utils_error_utils__WEBPACK_IMPORTED_MODULE_6__[\"default\"],\n tmUtils: _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n showModal: false,\n visible: false,\n form: {\n date: null,\n starts_at_time: '09:00',\n ends_at_time: '16:00'\n }\n };\n },\n validations() {\n return {\n form: {\n date: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_8__.required\n },\n starts_at_time: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_8__.required\n },\n ends_at_time: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_8__.required\n }\n }\n };\n },\n computed: {\n ...(0,vuex__WEBPACK_IMPORTED_MODULE_12__.mapGetters)('tm', ['mastertasks']),\n isOffice365Task() {\n return this.subtask.type == 'office365';\n }\n },\n methods: {\n formatTimeblockStart(timeblock) {\n // Handle internal format with date and time fields\n if (timeblock.date && timeblock.starts_at_time) {\n const dateStr = moment__WEBPACK_IMPORTED_MODULE_10___default()(timeblock.date).format('DD.MM.yyyy');\n return `${dateStr}, ${timeblock.starts_at_time}`;\n }\n // Fallback to backend format\n if (timeblock.start) {\n return _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_5__[\"default\"].formatDateTime(timeblock.start);\n }\n return '';\n },\n formatTimeblockEnd(timeblock) {\n // Handle internal format with date and time fields\n if (timeblock.date && timeblock.ends_at_time) {\n return timeblock.ends_at_time;\n }\n // Fallback to backend format\n if (timeblock.end) {\n return _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_5__[\"default\"].formatDateTime(timeblock.end);\n }\n return '';\n },\n async submit() {\n if (!(await this.v$.$validate())) return;\n const subtask = JSON.parse(JSON.stringify(this.subtask));\n if (!subtask?.timeblocks) {\n subtask.timeblocks = [];\n }\n if (!subtask?.timesheets) {\n subtask.timesheets = [];\n }\n if (!subtask?.is_finished) {\n subtask.is_finished = 0;\n }\n\n // Add timeblock in internal format\n subtask.timeblocks.push({\n id: null,\n date: this.form.date,\n starts_at_time: this.form.starts_at_time,\n ends_at_time: this.form.ends_at_time,\n is_finished: 0\n });\n if (subtask.deadline) subtask.deadline = _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_5__[\"default\"].formatDateTimeForBackend(this._mergeDeadlineTimeDate());\n const isAfterDeadline = this.isAfterDeadline();\n if (isAfterDeadline) {\n this.visible = true;\n } else {\n if (!subtask.id) {\n this.$emit('update-unfinished-subtask', subtask);\n this.closeModal();\n } else {\n this._update(subtask);\n }\n }\n },\n async confirmSubmit() {\n const subtask = JSON.parse(JSON.stringify(this.subtask));\n if (!subtask?.timeblocks) {\n subtask.timeblocks = [];\n }\n if (!subtask?.timesheets) {\n subtask.timesheets = [];\n }\n if (!subtask?.is_finished) {\n subtask.is_finished = 0;\n }\n\n // Add timeblock in internal format\n subtask.timeblocks.push({\n id: null,\n date: this.form.date,\n starts_at_time: this.form.starts_at_time,\n ends_at_time: this.form.ends_at_time,\n is_finished: 0\n });\n if (subtask.deadline) subtask.deadline = _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_5__[\"default\"].formatDateTimeForBackend(this._mergeDeadlineTimeDate());\n if (!subtask.id) {\n this.$emit('update-unfinished-subtask', subtask);\n this.closeModal();\n return;\n }\n this.visible = false;\n this._update(subtask);\n },\n async toggleTimeblockIsFinished(originalTimeblock) {\n // TODO: Pridat odpracovany cas modal?\n const subtask = JSON.parse(JSON.stringify(this.subtask));\n const timeblock = JSON.parse(JSON.stringify(originalTimeblock));\n timeblock.is_finished = timeblock.is_finished == 1 ? 0 : 1;\n try {\n // Convert timeblock to backend format before sending\n const timeblockForBackend = {\n id: timeblock.id,\n is_finished: timeblock.is_finished\n };\n\n // If timeblock is in internal format, convert it\n if (timeblock.date) {\n const dateStr = moment__WEBPACK_IMPORTED_MODULE_10___default()(timeblock.date).format('YYYY-MM-DD');\n timeblockForBackend.start = `${dateStr} ${timeblock.starts_at_time}:00`;\n timeblockForBackend.end = `${dateStr} ${timeblock.ends_at_time}:00`;\n } else {\n // Already in backend format\n timeblockForBackend.start = timeblock.start;\n timeblockForBackend.end = timeblock.end;\n }\n const {\n data: newTimeblock\n } = await this.$axios.put_auth(`v1/timeblocks/${timeblock.id}`, timeblockForBackend);\n\n // Convert returned timeblock from backend format to internal format\n const startMoment = moment__WEBPACK_IMPORTED_MODULE_10___default()(newTimeblock.start, 'YYYY-MM-DD HH:mm:ss');\n const endMoment = moment__WEBPACK_IMPORTED_MODULE_10___default()(newTimeblock.end, 'YYYY-MM-DD HH:mm:ss');\n const convertedTimeblock = {\n id: newTimeblock.id,\n date: startMoment.toDate(),\n starts_at_time: startMoment.format('HH:mm'),\n ends_at_time: endMoment.format('HH:mm'),\n is_finished: newTimeblock.is_finished\n };\n subtask.timeblocks = subtask.timeblocks.map(originalTimeblock => {\n if (originalTimeblock.id == convertedTimeblock.id) return convertedTimeblock;\n return originalTimeblock;\n });\n this.$events.emit('on-subtask-edited', subtask);\n this.$emit('update-subtask', subtask);\n if (timeblock.is_finished) this.$events.emit('show-task-add-time-modal', {\n subtask\n });\n } catch (error) {\n this.$toast.error(error.message || error);\n if (true) /* eslint-disable */console.log(...oo_oo(`425713083_375_10_375_63_4`, '[a-task-timeblocks.vue] Error: ', error));\n }\n },\n async deleteTimeblock({\n id\n }) {\n const subtask = JSON.parse(JSON.stringify(this.subtask));\n subtask.timeblocks = subtask.timeblocks.filter(timeblock => timeblock.id != id);\n if (subtask.deadline) subtask.deadline = _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_5__[\"default\"].formatDateTimeForBackend(this._mergeDeadlineTimeDate());\n this._update(subtask);\n },\n deleteTimeblockWithoutId(i) {\n this.$emit('delete-timeblock');\n },\n async _update(data) {\n try {\n const timesheets = data.timesheets.map(timesheet => {\n delete timesheet.employee_name;\n return timesheet;\n });\n\n // Convert timeblocks from internal format to BE format\n const timeblocks = (data.timeblocks || []).filter(timeblock => {\n // Filter timeblocks that have either old format (date) or new format (start)\n return timeblock.date || timeblock.start;\n }).map(timeblock => {\n // If already in BE format (has start field), return as is\n if (timeblock.start && !timeblock.date) {\n return {\n id: timeblock.id || null,\n start: timeblock.start,\n end: timeblock.end,\n is_finished: timeblock.is_finished || 0\n };\n }\n\n // Convert from internal format to BE format\n const dateStr = moment__WEBPACK_IMPORTED_MODULE_10___default()(timeblock.date).format('YYYY-MM-DD');\n return {\n id: timeblock.id || null,\n start: `${dateStr} ${timeblock.starts_at_time}:00`,\n end: `${dateStr} ${timeblock.ends_at_time}:00`,\n is_finished: timeblock.is_finished || 0\n };\n });\n const {\n subtask\n } = await this.$axios.put_auth(`v1/subtasks/${data.id}`, {\n ...data,\n timesheets,\n timeblocks\n });\n this.closeModal();\n this.$events.emit('on-subtask-edited', subtask);\n } catch (error) {\n this.$toast.error(error.message || error);\n if (true) /* eslint-disable */console.log(...oo_oo(`425713083_442_10_442_63_4`, '[a-task-timeblocks.vue] Error: ', error));\n }\n },\n isAfterDeadline() {\n const deadline = this.getDeadline(this.subtask);\n if (!deadline) return;\n const mDate = moment__WEBPACK_IMPORTED_MODULE_10___default()(this.form.date);\n const mDeadline = moment__WEBPACK_IMPORTED_MODULE_10___default()(deadline);\n const [hours, minutes] = this.form.ends_at_time.split(':').map(Number);\n mDate.hours(hours);\n mDate.minutes(minutes);\n return mDate.isAfter(mDeadline);\n },\n getDeadline(subtask) {\n if (subtask?.deadline) return subtask.deadline;\n return subtask.master_task_deadline;\n },\n _mergeDeadlineTimeDate() {\n const date = new Date(this.subtask.deadline);\n const timeParts = this.subtask._deadline_time.split(':');\n date.setHours(parseInt(timeParts[0]));\n date.setMinutes(parseInt(timeParts[1]));\n return date;\n },\n closeModal() {\n this.form = {\n date: null,\n starts_at_time: '09:00',\n ends_at_time: '16:00'\n };\n this.showModal = false;\n this.$nextTick(() => this.v$.$reset());\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/task/_components/_components/a-task-timeblocks.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); +eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_json_stringify_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.json.stringify.js */ \"./node_modules/core-js/modules/es.json.stringify.js\");\n/* harmony import */ var core_js_modules_es_json_stringify_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_json_stringify_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ \"./node_modules/core-js/modules/esnext.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/esnext.iterator.filter.js */ \"./node_modules/core-js/modules/esnext.iterator.filter.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/esnext.iterator.map.js */ \"./node_modules/core-js/modules/esnext.iterator.map.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/plugins/tm@_utils/tm.utils */ \"./src/plugins/tm@_utils/tm.utils.ts\");\n/* harmony import */ var _plugins_lib_auth_utils_error_utils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/plugins/lib@auth/_utils/error.utils */ \"./src/plugins/lib@auth/_utils/error.utils.ts\");\n/* harmony import */ var _vuelidate_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @vuelidate/core */ \"./node_modules/@vuelidate/core/dist/index.esm.js\");\n/* harmony import */ var _vuelidate_validators__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @vuelidate/validators */ \"./node_modules/@vuelidate/validators/dist/index.esm.js\");\n/* harmony import */ var _plugins_tm_components_z_datepicker_vue__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/plugins/tm@_components/z-datepicker.vue */ \"./src/plugins/tm@_components/z-datepicker.vue\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! moment */ \"./node_modules/moment/moment.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var _plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/plugins/tm@modal/_mixins/modal.mixin */ \"./src/plugins/tm@modal/_mixins/modal.mixin.ts\");\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm-bundler.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n components: {\n ZDatepicker: _plugins_tm_components_z_datepicker_vue__WEBPACK_IMPORTED_MODULE_9__[\"default\"]\n },\n mixins: [_plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_11__[\"default\"]],\n props: {\n timeblocks: {\n type: Array,\n required: true\n },\n subtask: {\n type: Object,\n required: true\n }\n },\n emits: ['update-subtask'],\n data() {\n return {\n v$: (0,_vuelidate_core__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(),\n errorUtils: _plugins_lib_auth_utils_error_utils__WEBPACK_IMPORTED_MODULE_6__[\"default\"],\n tmUtils: _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n showModal: false,\n visible: false,\n form: {\n date: null,\n starts_at_time: '09:00',\n ends_at_time: '16:00'\n }\n };\n },\n validations() {\n return {\n form: {\n date: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_8__.required\n },\n starts_at_time: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_8__.required\n },\n ends_at_time: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_8__.required\n }\n }\n };\n },\n computed: {\n ...(0,vuex__WEBPACK_IMPORTED_MODULE_12__.mapGetters)('tm', ['mastertasks']),\n isOffice365Task() {\n return this.subtask.type == 'office365';\n }\n },\n methods: {\n formatTimeblockStart(timeblock) {\n // Handle internal format with date and time fields\n if (timeblock.date && timeblock.starts_at_time) {\n const dateStr = moment__WEBPACK_IMPORTED_MODULE_10___default()(timeblock.date).format('DD.MM.yyyy');\n return `${dateStr}, ${timeblock.starts_at_time}`;\n }\n // Fallback to backend format\n if (timeblock.start) {\n return _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_5__[\"default\"].formatDateTime(timeblock.start);\n }\n return '';\n },\n formatTimeblockEnd(timeblock) {\n // Handle internal format with date and time fields\n if (timeblock.date && timeblock.ends_at_time) {\n return timeblock.ends_at_time;\n }\n // Fallback to backend format\n if (timeblock.end) {\n return _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_5__[\"default\"].formatDateTime(timeblock.end);\n }\n return '';\n },\n async submit() {\n if (!(await this.v$.$validate())) return;\n const subtask = JSON.parse(JSON.stringify(this.subtask));\n if (!subtask?.timeblocks) {\n subtask.timeblocks = [];\n }\n if (!subtask?.timesheets) {\n subtask.timesheets = [];\n }\n if (!subtask?.is_finished) {\n subtask.is_finished = 0;\n }\n\n // Add timeblock in internal format\n subtask.timeblocks.push({\n id: null,\n date: this.form.date,\n starts_at_time: this.form.starts_at_time,\n ends_at_time: this.form.ends_at_time,\n is_finished: 0\n });\n if (subtask.deadline) subtask.deadline = _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_5__[\"default\"].formatDateTimeForBackend(this._mergeDeadlineTimeDate());\n const isAfterDeadline = this.isAfterDeadline();\n if (isAfterDeadline) {\n this.visible = true;\n } else {\n if (!subtask.id) {\n this.$emit('update-unfinished-subtask', subtask);\n this.closeModal();\n } else {\n this._update(subtask);\n }\n }\n },\n async confirmSubmit() {\n const subtask = JSON.parse(JSON.stringify(this.subtask));\n if (!subtask?.timeblocks) {\n subtask.timeblocks = [];\n }\n if (!subtask?.timesheets) {\n subtask.timesheets = [];\n }\n if (!subtask?.is_finished) {\n subtask.is_finished = 0;\n }\n\n // Add timeblock in internal format\n subtask.timeblocks.push({\n id: null,\n date: this.form.date,\n starts_at_time: this.form.starts_at_time,\n ends_at_time: this.form.ends_at_time,\n is_finished: 0\n });\n if (subtask.deadline) subtask.deadline = _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_5__[\"default\"].formatDateTimeForBackend(this._mergeDeadlineTimeDate());\n if (!subtask.id) {\n this.$emit('update-unfinished-subtask', subtask);\n this.closeModal();\n return;\n }\n this.visible = false;\n this._update(subtask);\n },\n async toggleTimeblockIsFinished(originalTimeblock) {\n // TODO: Pridat odpracovany cas modal?\n const subtask = JSON.parse(JSON.stringify(this.subtask));\n const timeblock = JSON.parse(JSON.stringify(originalTimeblock));\n timeblock.is_finished = timeblock.is_finished == 1 ? 0 : 1;\n try {\n // Convert timeblock to backend format before sending\n const timeblockForBackend = {\n id: timeblock.id,\n is_finished: timeblock.is_finished\n };\n\n // If timeblock is in internal format, convert it\n if (timeblock.date) {\n const dateStr = moment__WEBPACK_IMPORTED_MODULE_10___default()(timeblock.date).format('YYYY-MM-DD');\n timeblockForBackend.start = `${dateStr} ${timeblock.starts_at_time}:00`;\n timeblockForBackend.end = `${dateStr} ${timeblock.ends_at_time}:00`;\n } else {\n // Already in backend format\n timeblockForBackend.start = timeblock.start;\n timeblockForBackend.end = timeblock.end;\n }\n const {\n data: newTimeblock\n } = await this.$axios.put_auth(`v1/timeblocks/${timeblock.id}`, timeblockForBackend);\n\n // Convert returned timeblock from backend format to internal format\n const startMoment = moment__WEBPACK_IMPORTED_MODULE_10___default()(newTimeblock.start, 'YYYY-MM-DD HH:mm:ss');\n const endMoment = moment__WEBPACK_IMPORTED_MODULE_10___default()(newTimeblock.end, 'YYYY-MM-DD HH:mm:ss');\n const convertedTimeblock = {\n id: newTimeblock.id,\n date: startMoment.toDate(),\n starts_at_time: startMoment.format('HH:mm'),\n ends_at_time: endMoment.format('HH:mm'),\n is_finished: newTimeblock.is_finished\n };\n subtask.timeblocks = subtask.timeblocks.map(originalTimeblock => {\n if (originalTimeblock.id == convertedTimeblock.id) return convertedTimeblock;\n return originalTimeblock;\n });\n this.$events.emit('on-subtask-edited', subtask);\n this.$emit('update-subtask', subtask);\n if (timeblock.is_finished) this.$events.emit('show-task-add-time-modal', {\n subtask\n });\n } catch (error) {\n this.$toast.error(error.message || error);\n }\n },\n async deleteTimeblock({\n id\n }) {\n const subtask = JSON.parse(JSON.stringify(this.subtask));\n subtask.timeblocks = subtask.timeblocks.filter(timeblock => timeblock.id != id);\n if (subtask.deadline) subtask.deadline = _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_5__[\"default\"].formatDateTimeForBackend(this._mergeDeadlineTimeDate());\n this._update(subtask);\n },\n deleteTimeblockWithoutId(i) {\n this.$emit('delete-timeblock');\n },\n async _update(data) {\n try {\n const timesheets = data.timesheets.map(timesheet => {\n delete timesheet.employee_name;\n return timesheet;\n });\n\n // Convert timeblocks from internal format to BE format\n const timeblocks = (data.timeblocks || []).filter(timeblock => {\n // Filter timeblocks that have either old format (date) or new format (start)\n return timeblock.date || timeblock.start;\n }).map(timeblock => {\n // If already in BE format (has start field), return as is\n if (timeblock.start && !timeblock.date) {\n return {\n id: timeblock.id || null,\n start: timeblock.start,\n end: timeblock.end,\n is_finished: timeblock.is_finished || 0\n };\n }\n\n // Convert from internal format to BE format\n const dateStr = moment__WEBPACK_IMPORTED_MODULE_10___default()(timeblock.date).format('YYYY-MM-DD');\n return {\n id: timeblock.id || null,\n start: `${dateStr} ${timeblock.starts_at_time}:00`,\n end: `${dateStr} ${timeblock.ends_at_time}:00`,\n is_finished: timeblock.is_finished || 0\n };\n });\n const {\n subtask\n } = await this.$axios.put_auth(`v1/subtasks/${data.id}`, {\n ...data,\n timesheets,\n timeblocks\n });\n this.closeModal();\n this.$events.emit('on-subtask-edited', subtask);\n } catch (error) {\n this.$toast.error(error.message || error);\n }\n },\n isAfterDeadline() {\n const deadline = this.getDeadline(this.subtask);\n if (!deadline) return;\n const mDate = moment__WEBPACK_IMPORTED_MODULE_10___default()(this.form.date);\n const mDeadline = moment__WEBPACK_IMPORTED_MODULE_10___default()(deadline);\n const [hours, minutes] = this.form.ends_at_time.split(':').map(Number);\n mDate.hours(hours);\n mDate.minutes(minutes);\n return mDate.isAfter(mDeadline);\n },\n getDeadline(subtask) {\n if (subtask?.deadline) return subtask.deadline;\n return subtask.master_task_deadline;\n },\n _mergeDeadlineTimeDate() {\n const date = new Date(this.subtask.deadline);\n const timeParts = this.subtask._deadline_time.split(':');\n date.setHours(parseInt(timeParts[0]));\n date.setMinutes(parseInt(timeParts[1]));\n return date;\n },\n closeModal() {\n this.form = {\n date: null,\n starts_at_time: '09:00',\n ends_at_time: '16:00'\n };\n this.showModal = false;\n this.$nextTick(() => this.v$.$reset());\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/task/_components/_components/a-task-timeblocks.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); /***/ }), @@ -477,7 +477,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _co /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ \"./node_modules/core-js/modules/esnext.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/esnext.iterator.filter.js */ \"./node_modules/core-js/modules/esnext.iterator.filter.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/esnext.iterator.map.js */ \"./node_modules/core-js/modules/esnext.iterator.map.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/plugins/tm@modal/_mixins/modal.mixin */ \"./src/plugins/tm@modal/_mixins/modal.mixin.ts\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! moment */ \"./node_modules/moment/moment.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _plugins_tm_modal_components_a_resize_handle_vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-resize-handle.vue */ \"./src/plugins/tm@modal/_components/a-resize-handle.vue\");\n/* harmony import */ var _plugins_tm_modal_components_a_reset_size_button_vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-reset-size-button.vue */ \"./src/plugins/tm@modal/_components/a-reset-size-button.vue\");\n/* harmony import */ var _plugins_tm_modal_components_a_close_button_vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-close-button.vue */ \"./src/plugins/tm@modal/_components/a-close-button.vue\");\n/* provided dependency */ var console = __webpack_require__(/*! ./node_modules/console-browserify/index.js */ \"./node_modules/console-browserify/index.js\");\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n components: {\n AResizeHandle: _plugins_tm_modal_components_a_resize_handle_vue__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n AResetSizeButton: _plugins_tm_modal_components_a_reset_size_button_vue__WEBPACK_IMPORTED_MODULE_6__[\"default\"],\n ACloseButton: _plugins_tm_modal_components_a_close_button_vue__WEBPACK_IMPORTED_MODULE_7__[\"default\"]\n },\n mixins: [_plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_3__[\"default\"]],\n emits: ['close', 'on-subtask-edited'],\n data() {\n return {\n visible: false,\n subtask: null,\n modalName: 'z-complete-task-modal'\n };\n },\n methods: {\n async showModal({\n subtask\n }) {\n this.subtask = subtask;\n this.visible = true;\n },\n async complete() {\n try {\n const timesheets = this.subtask.timesheets.map(timesheet => {\n delete timesheet.employee_name;\n return timesheet;\n });\n\n // Convert timeblocks from internal format to BE format\n const timeblocks = (this.subtask.timeblocks || []).filter(timeblock => {\n // Filter timeblocks that have either old format (date) or new format (start)\n return timeblock.date || timeblock.start;\n }).map(timeblock => {\n // If already in BE format (has start field), return as is\n if (timeblock.start && !timeblock.date) {\n return {\n id: timeblock.id || null,\n start: timeblock.start,\n end: timeblock.end,\n is_finished: timeblock.is_finished || 0\n };\n }\n\n // Convert from internal format to BE format\n const dateStr = moment__WEBPACK_IMPORTED_MODULE_4___default()(timeblock.date).format('YYYY-MM-DD');\n return {\n id: timeblock.id || null,\n start: `${dateStr} ${timeblock.starts_at_time}:00`,\n end: `${dateStr} ${timeblock.ends_at_time}:00`,\n is_finished: timeblock.is_finished || 0\n };\n });\n const tempSubtask = {\n ...this.subtask,\n is_finished: this.subtask.is_finished ? 0 : 1,\n timesheets,\n timeblocks\n };\n const {\n subtask\n } = await this.$axios.put_auth(`v1/subtasks/${tempSubtask.id}`, tempSubtask);\n this.visible = false;\n this.$emit('on-subtask-edited', subtask);\n } catch (error) {\n this.$toast.error(this.$parseError(error));\n if (true) /* eslint-disable */ /* eslint-disable */console.log(...oo_oo(`585383790_114_30_114_126_4`, ...oo_oo(`3684780626_105_10_105_67_4`, '[z-complete-task-modal.vue] Error: ', error)));\n }\n },\n closeModal() {\n this.visible = false;\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/task/z-complete-task-modal.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); +eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ \"./node_modules/core-js/modules/esnext.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/esnext.iterator.filter.js */ \"./node_modules/core-js/modules/esnext.iterator.filter.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/esnext.iterator.map.js */ \"./node_modules/core-js/modules/esnext.iterator.map.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/plugins/tm@modal/_mixins/modal.mixin */ \"./src/plugins/tm@modal/_mixins/modal.mixin.ts\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! moment */ \"./node_modules/moment/moment.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _plugins_tm_modal_components_a_resize_handle_vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-resize-handle.vue */ \"./src/plugins/tm@modal/_components/a-resize-handle.vue\");\n/* harmony import */ var _plugins_tm_modal_components_a_reset_size_button_vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-reset-size-button.vue */ \"./src/plugins/tm@modal/_components/a-reset-size-button.vue\");\n/* harmony import */ var _plugins_tm_modal_components_a_close_button_vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-close-button.vue */ \"./src/plugins/tm@modal/_components/a-close-button.vue\");\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n components: {\n AResizeHandle: _plugins_tm_modal_components_a_resize_handle_vue__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n AResetSizeButton: _plugins_tm_modal_components_a_reset_size_button_vue__WEBPACK_IMPORTED_MODULE_6__[\"default\"],\n ACloseButton: _plugins_tm_modal_components_a_close_button_vue__WEBPACK_IMPORTED_MODULE_7__[\"default\"]\n },\n mixins: [_plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_3__[\"default\"]],\n emits: ['close', 'on-subtask-edited'],\n data() {\n return {\n visible: false,\n subtask: null,\n modalName: 'z-complete-task-modal'\n };\n },\n methods: {\n async showModal({\n subtask\n }) {\n this.subtask = subtask;\n this.visible = true;\n },\n async complete() {\n try {\n const timesheets = this.subtask.timesheets.map(timesheet => {\n delete timesheet.employee_name;\n return timesheet;\n });\n\n // Convert timeblocks from internal format to BE format\n const timeblocks = (this.subtask.timeblocks || []).filter(timeblock => {\n // Filter timeblocks that have either old format (date) or new format (start)\n return timeblock.date || timeblock.start;\n }).map(timeblock => {\n // If already in BE format (has start field), return as is\n if (timeblock.start && !timeblock.date) {\n return {\n id: timeblock.id || null,\n start: timeblock.start,\n end: timeblock.end,\n is_finished: timeblock.is_finished || 0\n };\n }\n\n // Convert from internal format to BE format\n const dateStr = moment__WEBPACK_IMPORTED_MODULE_4___default()(timeblock.date).format('YYYY-MM-DD');\n return {\n id: timeblock.id || null,\n start: `${dateStr} ${timeblock.starts_at_time}:00`,\n end: `${dateStr} ${timeblock.ends_at_time}:00`,\n is_finished: timeblock.is_finished || 0\n };\n });\n const tempSubtask = {\n ...this.subtask,\n is_finished: this.subtask.is_finished ? 0 : 1,\n timesheets,\n timeblocks\n };\n const {\n subtask\n } = await this.$axios.put_auth(`v1/subtasks/${tempSubtask.id}`, tempSubtask);\n this.visible = false;\n this.$emit('on-subtask-edited', subtask);\n } catch (error) {\n this.$toast.error(this.$parseError(error));\n }\n },\n closeModal() {\n this.visible = false;\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/task/z-complete-task-modal.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); /***/ }), @@ -488,7 +488,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var cor /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/plugins/tm@modal/_mixins/modal.mixin */ \"./src/plugins/tm@modal/_mixins/modal.mixin.ts\");\n/* harmony import */ var _plugins_tm_modal_components_a_resize_handle_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-resize-handle.vue */ \"./src/plugins/tm@modal/_components/a-resize-handle.vue\");\n/* harmony import */ var _plugins_tm_modal_components_a_reset_size_button_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-reset-size-button.vue */ \"./src/plugins/tm@modal/_components/a-reset-size-button.vue\");\n/* harmony import */ var _plugins_tm_modal_components_a_close_button_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-close-button.vue */ \"./src/plugins/tm@modal/_components/a-close-button.vue\");\n/* provided dependency */ var console = __webpack_require__(/*! ./node_modules/console-browserify/index.js */ \"./node_modules/console-browserify/index.js\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n components: {\n AResizeHandle: _plugins_tm_modal_components_a_resize_handle_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n AResetSizeButton: _plugins_tm_modal_components_a_reset_size_button_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n ACloseButton: _plugins_tm_modal_components_a_close_button_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"]\n },\n mixins: [_plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_0__[\"default\"]],\n emits: ['on-subtask-deleted'],\n data() {\n return {\n visible: false,\n subtask: null,\n isDeleting: false,\n modalName: 'z-delete-task-modal'\n };\n },\n methods: {\n async showModal({\n subtask\n }) {\n this.subtask = subtask;\n this.visible = true;\n },\n closeModal() {\n this.visible = false;\n },\n async deleteTask() {\n if (this.isDeleting) return;\n this.isDeleting = true;\n try {\n await this.$axios.delete_auth(`v1/subtasks/${this.subtask.id}`);\n this.$store.commit('tm/delete_subtask', this.subtask);\n this.closeModal();\n this.$emit('on-subtask-deleted', this.subtask);\n } catch (error) {\n this.$toast.error(this.$parseError(error));\n if (true) /* eslint-disable */ /* eslint-disable */console.log(...oo_oo(`2101253905_71_25_71_116_4`, ...oo_oo(`3474525762_62_5_62_60_4`, '[z-delete-task-modal.vue] Error: ', error)));\n } finally {\n this.isDeleting = false;\n }\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/task/z-delete-task-modal.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); +eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/plugins/tm@modal/_mixins/modal.mixin */ \"./src/plugins/tm@modal/_mixins/modal.mixin.ts\");\n/* harmony import */ var _plugins_tm_modal_components_a_resize_handle_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-resize-handle.vue */ \"./src/plugins/tm@modal/_components/a-resize-handle.vue\");\n/* harmony import */ var _plugins_tm_modal_components_a_reset_size_button_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-reset-size-button.vue */ \"./src/plugins/tm@modal/_components/a-reset-size-button.vue\");\n/* harmony import */ var _plugins_tm_modal_components_a_close_button_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-close-button.vue */ \"./src/plugins/tm@modal/_components/a-close-button.vue\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n components: {\n AResizeHandle: _plugins_tm_modal_components_a_resize_handle_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n AResetSizeButton: _plugins_tm_modal_components_a_reset_size_button_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n ACloseButton: _plugins_tm_modal_components_a_close_button_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"]\n },\n mixins: [_plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_0__[\"default\"]],\n emits: ['on-subtask-deleted'],\n data() {\n return {\n visible: false,\n subtask: null,\n isDeleting: false,\n modalName: 'z-delete-task-modal'\n };\n },\n methods: {\n async showModal({\n subtask\n }) {\n this.subtask = subtask;\n this.visible = true;\n },\n closeModal() {\n this.visible = false;\n },\n async deleteTask() {\n if (this.isDeleting) return;\n this.isDeleting = true;\n try {\n await this.$axios.delete_auth(`v1/subtasks/${this.subtask.id}`);\n this.$store.commit('tm/delete_subtask', this.subtask);\n this.closeModal();\n this.$emit('on-subtask-deleted', this.subtask);\n } catch (error) {\n this.$toast.error(this.$parseError(error));\n } finally {\n this.isDeleting = false;\n }\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/task/z-delete-task-modal.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); /***/ }), @@ -532,7 +532,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _pl /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ \"./node_modules/core-js/modules/esnext.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/esnext.iterator.filter.js */ \"./node_modules/core-js/modules/esnext.iterator.filter.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/esnext.iterator.map.js */ \"./node_modules/core-js/modules/esnext.iterator.map.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _plugins_lib_auth_utils_error_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/plugins/lib@auth/_utils/error.utils */ \"./src/plugins/lib@auth/_utils/error.utils.ts\");\n/* harmony import */ var _vuelidate_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @vuelidate/core */ \"./node_modules/@vuelidate/core/dist/index.esm.js\");\n/* harmony import */ var _vuelidate_validators__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @vuelidate/validators */ \"./node_modules/@vuelidate/validators/dist/index.esm.js\");\n/* harmony import */ var _plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/plugins/tm@modal/_mixins/modal.mixin */ \"./src/plugins/tm@modal/_mixins/modal.mixin.ts\");\n/* harmony import */ var _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/plugins/tm@_utils/tm.utils */ \"./src/plugins/tm@_utils/tm.utils.ts\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! moment */ \"./node_modules/moment/moment.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var _plugins_tm_modal_components_a_resize_handle_vue__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-resize-handle.vue */ \"./src/plugins/tm@modal/_components/a-resize-handle.vue\");\n/* harmony import */ var _plugins_tm_modal_components_a_reset_size_button_vue__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-reset-size-button.vue */ \"./src/plugins/tm@modal/_components/a-reset-size-button.vue\");\n/* harmony import */ var _plugins_tm_modal_components_a_close_button_vue__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-close-button.vue */ \"./src/plugins/tm@modal/_components/a-close-button.vue\");\n/* provided dependency */ var console = __webpack_require__(/*! ./node_modules/console-browserify/index.js */ \"./node_modules/console-browserify/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n components: {\n AResizeHandle: _plugins_tm_modal_components_a_resize_handle_vue__WEBPACK_IMPORTED_MODULE_10__[\"default\"],\n AResetSizeButton: _plugins_tm_modal_components_a_reset_size_button_vue__WEBPACK_IMPORTED_MODULE_11__[\"default\"],\n ACloseButton: _plugins_tm_modal_components_a_close_button_vue__WEBPACK_IMPORTED_MODULE_12__[\"default\"]\n },\n mixins: [_plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_7__[\"default\"]],\n emits: ['close', 'on-subtask-edited'],\n data() {\n return {\n v$: (0,_vuelidate_core__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(),\n errorUtils: _plugins_lib_auth_utils_error_utils__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n visible: false,\n subtask: null,\n form: {\n hours: null\n },\n modalName: 'z-task-add-time-modal'\n };\n },\n validations() {\n return {\n form: {\n hours: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_6__.required,\n numeric: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_6__.numeric,\n minValue: (0,_vuelidate_validators__WEBPACK_IMPORTED_MODULE_6__.minValue)(0.1)\n }\n }\n };\n },\n methods: {\n async showModal({\n subtask\n }) {\n this.subtask = subtask;\n this.visible = true;\n this.form.hours = null;\n this.$nextTick(() => this.v$.$reset());\n },\n async submit() {\n if (!(await this.v$.$validate())) return;\n if (this.subtask.deadline) this.subtask.deadline = _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_8__[\"default\"].formatDateTimeForBackend(this.subtask.deadline);\n this.subtask.timesheets.push({\n id: null,\n employee_id: this.subtask.employee_id,\n time: typeof this.form.hours == 'string' ? parseFloat(this.form.hours) : this.form.hours\n });\n const timesheets = this.subtask.timesheets.map(timesheet => {\n delete timesheet.employee_name;\n return timesheet;\n });\n\n // Convert timeblocks from internal format to BE format\n const timeblocks = (this.subtask.timeblocks || []).filter(timeblock => {\n // Filter timeblocks that have either old format (date) or new format (start)\n return timeblock.date || timeblock.start;\n }).map(timeblock => {\n // If already in BE format (has start field), return as is\n if (timeblock.start && !timeblock.date) {\n return {\n id: timeblock.id || null,\n start: timeblock.start,\n end: timeblock.end,\n is_finished: timeblock.is_finished || 0\n };\n }\n\n // Convert from internal format to BE format\n const dateStr = moment__WEBPACK_IMPORTED_MODULE_9___default()(timeblock.date).format('YYYY-MM-DD');\n return {\n id: timeblock.id || null,\n start: `${dateStr} ${timeblock.starts_at_time}:00`,\n end: `${dateStr} ${timeblock.ends_at_time}:00`,\n is_finished: timeblock.is_finished || 0\n };\n });\n const payload = {\n ...this.subtask,\n timesheets,\n timeblocks\n };\n try {\n const {\n subtask\n } = await this.$axios.put_auth(`v1/subtasks/${this.subtask.id}`, payload);\n this.closeModal();\n this.$events.emit('on-subtask-edited', subtask);\n } catch (error) {\n this.$toast.error(error.message || error);\n if (true) /* eslint-disable */ /* eslint-disable */console.log(...oo_oo(`786675386_151_30_151_125_4`, ...oo_oo(`253395671_141_10_141_67_4`, '[z-task-add-time-modal.vue] Error: ', error)));\n }\n },\n closeModal() {\n this.visible = false;\n this.v$.$reset();\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/task/z-task-add-time-modal.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); +eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ \"./node_modules/core-js/modules/esnext.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/esnext.iterator.filter.js */ \"./node_modules/core-js/modules/esnext.iterator.filter.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/esnext.iterator.map.js */ \"./node_modules/core-js/modules/esnext.iterator.map.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _plugins_lib_auth_utils_error_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/plugins/lib@auth/_utils/error.utils */ \"./src/plugins/lib@auth/_utils/error.utils.ts\");\n/* harmony import */ var _vuelidate_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @vuelidate/core */ \"./node_modules/@vuelidate/core/dist/index.esm.js\");\n/* harmony import */ var _vuelidate_validators__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @vuelidate/validators */ \"./node_modules/@vuelidate/validators/dist/index.esm.js\");\n/* harmony import */ var _plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/plugins/tm@modal/_mixins/modal.mixin */ \"./src/plugins/tm@modal/_mixins/modal.mixin.ts\");\n/* harmony import */ var _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/plugins/tm@_utils/tm.utils */ \"./src/plugins/tm@_utils/tm.utils.ts\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! moment */ \"./node_modules/moment/moment.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var _plugins_tm_modal_components_a_resize_handle_vue__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-resize-handle.vue */ \"./src/plugins/tm@modal/_components/a-resize-handle.vue\");\n/* harmony import */ var _plugins_tm_modal_components_a_reset_size_button_vue__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-reset-size-button.vue */ \"./src/plugins/tm@modal/_components/a-reset-size-button.vue\");\n/* harmony import */ var _plugins_tm_modal_components_a_close_button_vue__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-close-button.vue */ \"./src/plugins/tm@modal/_components/a-close-button.vue\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n components: {\n AResizeHandle: _plugins_tm_modal_components_a_resize_handle_vue__WEBPACK_IMPORTED_MODULE_10__[\"default\"],\n AResetSizeButton: _plugins_tm_modal_components_a_reset_size_button_vue__WEBPACK_IMPORTED_MODULE_11__[\"default\"],\n ACloseButton: _plugins_tm_modal_components_a_close_button_vue__WEBPACK_IMPORTED_MODULE_12__[\"default\"]\n },\n mixins: [_plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_7__[\"default\"]],\n emits: ['close', 'on-subtask-edited'],\n data() {\n return {\n v$: (0,_vuelidate_core__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(),\n errorUtils: _plugins_lib_auth_utils_error_utils__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n visible: false,\n subtask: null,\n form: {\n hours: null\n },\n modalName: 'z-task-add-time-modal'\n };\n },\n validations() {\n return {\n form: {\n hours: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_6__.required,\n numeric: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_6__.numeric,\n minValue: (0,_vuelidate_validators__WEBPACK_IMPORTED_MODULE_6__.minValue)(0.1)\n }\n }\n };\n },\n methods: {\n async showModal({\n subtask\n }) {\n this.subtask = subtask;\n this.visible = true;\n this.form.hours = null;\n this.$nextTick(() => this.v$.$reset());\n },\n async submit() {\n if (!(await this.v$.$validate())) return;\n if (this.subtask.deadline) this.subtask.deadline = _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_8__[\"default\"].formatDateTimeForBackend(this.subtask.deadline);\n this.subtask.timesheets.push({\n id: null,\n employee_id: this.subtask.employee_id,\n time: typeof this.form.hours == 'string' ? parseFloat(this.form.hours) : this.form.hours\n });\n const timesheets = this.subtask.timesheets.map(timesheet => {\n delete timesheet.employee_name;\n return timesheet;\n });\n\n // Convert timeblocks from internal format to BE format\n const timeblocks = (this.subtask.timeblocks || []).filter(timeblock => {\n // Filter timeblocks that have either old format (date) or new format (start)\n return timeblock.date || timeblock.start;\n }).map(timeblock => {\n // If already in BE format (has start field), return as is\n if (timeblock.start && !timeblock.date) {\n return {\n id: timeblock.id || null,\n start: timeblock.start,\n end: timeblock.end,\n is_finished: timeblock.is_finished || 0\n };\n }\n\n // Convert from internal format to BE format\n const dateStr = moment__WEBPACK_IMPORTED_MODULE_9___default()(timeblock.date).format('YYYY-MM-DD');\n return {\n id: timeblock.id || null,\n start: `${dateStr} ${timeblock.starts_at_time}:00`,\n end: `${dateStr} ${timeblock.ends_at_time}:00`,\n is_finished: timeblock.is_finished || 0\n };\n });\n const payload = {\n ...this.subtask,\n timesheets,\n timeblocks\n };\n try {\n const {\n subtask\n } = await this.$axios.put_auth(`v1/subtasks/${this.subtask.id}`, payload);\n this.closeModal();\n this.$events.emit('on-subtask-edited', subtask);\n } catch (error) {\n this.$toast.error(error.message || error);\n }\n },\n closeModal() {\n this.visible = false;\n this.v$.$reset();\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/task/z-task-add-time-modal.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); /***/ }), @@ -554,7 +554,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var cor /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_json_stringify_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.json.stringify.js */ \"./node_modules/core-js/modules/es.json.stringify.js\");\n/* harmony import */ var core_js_modules_es_json_stringify_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_json_stringify_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ \"./node_modules/core-js/modules/esnext.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_esnext_iterator_every_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/esnext.iterator.every.js */ \"./node_modules/core-js/modules/esnext.iterator.every.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_every_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_every_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/esnext.iterator.filter.js */ \"./node_modules/core-js/modules/esnext.iterator.filter.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/esnext.iterator.map.js */ \"./node_modules/core-js/modules/esnext.iterator.map.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/plugins/tm@modal/_mixins/modal.mixin */ \"./src/plugins/tm@modal/_mixins/modal.mixin.ts\");\n/* harmony import */ var _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/plugins/tm@_utils/tm.utils */ \"./src/plugins/tm@_utils/tm.utils.ts\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! moment */ \"./node_modules/moment/moment.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _plugins_tm_modal_components_a_resize_handle_vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-resize-handle.vue */ \"./src/plugins/tm@modal/_components/a-resize-handle.vue\");\n/* harmony import */ var _plugins_tm_modal_components_a_reset_size_button_vue__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-reset-size-button.vue */ \"./src/plugins/tm@modal/_components/a-reset-size-button.vue\");\n/* harmony import */ var _plugins_tm_modal_components_a_close_button_vue__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-close-button.vue */ \"./src/plugins/tm@modal/_components/a-close-button.vue\");\n/* provided dependency */ var console = __webpack_require__(/*! ./node_modules/console-browserify/index.js */ \"./node_modules/console-browserify/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n components: {\n AResizeHandle: _plugins_tm_modal_components_a_resize_handle_vue__WEBPACK_IMPORTED_MODULE_8__[\"default\"],\n AResetSizeButton: _plugins_tm_modal_components_a_reset_size_button_vue__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n ACloseButton: _plugins_tm_modal_components_a_close_button_vue__WEBPACK_IMPORTED_MODULE_10__[\"default\"]\n },\n mixins: [_plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_5__[\"default\"]],\n props: {\n mode: {\n type: String,\n default: 'edit' // edit or delete\n }\n },\n emits: ['close', 'on-subtask-edited'],\n data() {\n return {\n tmUtils: _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_6__[\"default\"],\n visible: false,\n subtask: null,\n loadingTimeblocks: {},\n loadingCloseAll: false,\n modalName: 'z-unable-to-complete-task-modal'\n };\n },\n methods: {\n async showModal({\n subtask\n }) {\n this.subtask = subtask;\n this.visible = true;\n },\n async complete() {\n /* eslint-disable */console.log(...oo_oo(`2694900664_86_6_86_29_4`, 'complete'));\n },\n closeModal() {\n this.visible = false;\n },\n async handleFinishTimeblock(timeblock) {\n const subtask = JSON.parse(JSON.stringify(this.subtask));\n try {\n this.loadingTimeblocks[timeblock.id] = true;\n await this.$axios.put_auth(`v1/timeblocks/${timeblock.id}`, {\n ...timeblock,\n is_finished: 1\n });\n timeblock.is_finished = 1;\n const areAllTimeblocksFinished = subtask.timeblocks.every(timeblock => timeblock.is_finished);\n if (areAllTimeblocksFinished) {\n await this._finishSubtask();\n this.$store.dispatch('tm/removeOngoingSubtask', this.subtask.id);\n }\n this.$events.emit('on-subtask-edited', subtask);\n this.closeModal();\n } catch (error) {\n this.$toast.error(error.message || error);\n if (true) /* eslint-disable */console.log(...oo_oo(`2694900664_119_10_119_63_4`, '[a-task-timeblocks.vue] Error: ', error));\n } finally {\n this.loadingTimeblocks[timeblock.id] = false;\n }\n },\n async handleFinishAllTimeblocks() {\n this.loadingCloseAll = true;\n try {\n const promises = this.subtask.timeblocks.map(timeblock => {\n return this.$axios.put_auth(`v1/timeblocks/${timeblock.id}`, {\n ...timeblock,\n is_finished: 1\n });\n });\n await Promise.all(promises);\n this.subtask.timeblocks = this.subtask.timeblocks.map(timeblock => {\n timeblock.is_finished = 1;\n return timeblock;\n });\n await this._finishSubtask();\n this.$store.dispatch('tm/removeOngoingSubtask', this.subtask.id);\n this.$events.emit('on-subtask-edited', this.subtask);\n this.closeModal();\n } catch (error) {\n this.$toast.error(error.message || error);\n } finally {\n this.loadingCloseAll = false;\n }\n },\n async _finishSubtask() {\n const timesheets = this.subtask.timesheets.map(timesheet => {\n delete timesheet.employee_name;\n return timesheet;\n });\n\n // Convert timeblocks from internal format to BE format\n const timeblocks = (this.subtask.timeblocks || []).filter(timeblock => {\n // Filter timeblocks that have either old format (date) or new format (start)\n return timeblock.date || timeblock.start;\n }).map(timeblock => {\n // If already in BE format (has start field), return as is\n if (timeblock.start && !timeblock.date) {\n return {\n id: timeblock.id || null,\n start: timeblock.start,\n end: timeblock.end,\n is_finished: timeblock.is_finished || 0\n };\n }\n\n // Convert from internal format to BE format\n const dateStr = moment__WEBPACK_IMPORTED_MODULE_7___default()(timeblock.date).format('YYYY-MM-DD');\n return {\n id: timeblock.id || null,\n start: `${dateStr} ${timeblock.starts_at_time}:00`,\n end: `${dateStr} ${timeblock.ends_at_time}:00`,\n is_finished: timeblock.is_finished || 0\n };\n });\n const tempSubtask = {\n ...this.subtask,\n is_finished: 1,\n timesheets,\n timeblocks\n };\n return this.$axios.put_auth(`v1/subtasks/${tempSubtask.id}`, tempSubtask);\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/task/z-unable-to-complete-task-modal.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); +eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_json_stringify_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.json.stringify.js */ \"./node_modules/core-js/modules/es.json.stringify.js\");\n/* harmony import */ var core_js_modules_es_json_stringify_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_json_stringify_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ \"./node_modules/core-js/modules/esnext.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_esnext_iterator_every_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/esnext.iterator.every.js */ \"./node_modules/core-js/modules/esnext.iterator.every.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_every_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_every_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/esnext.iterator.filter.js */ \"./node_modules/core-js/modules/esnext.iterator.filter.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/esnext.iterator.map.js */ \"./node_modules/core-js/modules/esnext.iterator.map.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/plugins/tm@modal/_mixins/modal.mixin */ \"./src/plugins/tm@modal/_mixins/modal.mixin.ts\");\n/* harmony import */ var _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/plugins/tm@_utils/tm.utils */ \"./src/plugins/tm@_utils/tm.utils.ts\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! moment */ \"./node_modules/moment/moment.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _plugins_tm_modal_components_a_resize_handle_vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-resize-handle.vue */ \"./src/plugins/tm@modal/_components/a-resize-handle.vue\");\n/* harmony import */ var _plugins_tm_modal_components_a_reset_size_button_vue__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-reset-size-button.vue */ \"./src/plugins/tm@modal/_components/a-reset-size-button.vue\");\n/* harmony import */ var _plugins_tm_modal_components_a_close_button_vue__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-close-button.vue */ \"./src/plugins/tm@modal/_components/a-close-button.vue\");\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n components: {\n AResizeHandle: _plugins_tm_modal_components_a_resize_handle_vue__WEBPACK_IMPORTED_MODULE_8__[\"default\"],\n AResetSizeButton: _plugins_tm_modal_components_a_reset_size_button_vue__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n ACloseButton: _plugins_tm_modal_components_a_close_button_vue__WEBPACK_IMPORTED_MODULE_10__[\"default\"]\n },\n mixins: [_plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_5__[\"default\"]],\n props: {\n mode: {\n type: String,\n default: 'edit' // edit or delete\n }\n },\n emits: ['close', 'on-subtask-edited'],\n data() {\n return {\n tmUtils: _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_6__[\"default\"],\n visible: false,\n subtask: null,\n loadingTimeblocks: {},\n loadingCloseAll: false,\n modalName: 'z-unable-to-complete-task-modal'\n };\n },\n methods: {\n async showModal({\n subtask\n }) {\n this.subtask = subtask;\n this.visible = true;\n },\n async complete() {},\n closeModal() {\n this.visible = false;\n },\n async handleFinishTimeblock(timeblock) {\n const subtask = JSON.parse(JSON.stringify(this.subtask));\n try {\n this.loadingTimeblocks[timeblock.id] = true;\n await this.$axios.put_auth(`v1/timeblocks/${timeblock.id}`, {\n ...timeblock,\n is_finished: 1\n });\n timeblock.is_finished = 1;\n const areAllTimeblocksFinished = subtask.timeblocks.every(timeblock => timeblock.is_finished);\n if (areAllTimeblocksFinished) {\n await this._finishSubtask();\n this.$store.dispatch('tm/removeOngoingSubtask', this.subtask.id);\n }\n this.$events.emit('on-subtask-edited', subtask);\n this.closeModal();\n } catch (error) {\n this.$toast.error(error.message || error);\n } finally {\n this.loadingTimeblocks[timeblock.id] = false;\n }\n },\n async handleFinishAllTimeblocks() {\n this.loadingCloseAll = true;\n try {\n const promises = this.subtask.timeblocks.map(timeblock => {\n return this.$axios.put_auth(`v1/timeblocks/${timeblock.id}`, {\n ...timeblock,\n is_finished: 1\n });\n });\n await Promise.all(promises);\n this.subtask.timeblocks = this.subtask.timeblocks.map(timeblock => {\n timeblock.is_finished = 1;\n return timeblock;\n });\n await this._finishSubtask();\n this.$store.dispatch('tm/removeOngoingSubtask', this.subtask.id);\n this.$events.emit('on-subtask-edited', this.subtask);\n this.closeModal();\n } catch (error) {\n this.$toast.error(error.message || error);\n } finally {\n this.loadingCloseAll = false;\n }\n },\n async _finishSubtask() {\n const timesheets = this.subtask.timesheets.map(timesheet => {\n delete timesheet.employee_name;\n return timesheet;\n });\n\n // Convert timeblocks from internal format to BE format\n const timeblocks = (this.subtask.timeblocks || []).filter(timeblock => {\n // Filter timeblocks that have either old format (date) or new format (start)\n return timeblock.date || timeblock.start;\n }).map(timeblock => {\n // If already in BE format (has start field), return as is\n if (timeblock.start && !timeblock.date) {\n return {\n id: timeblock.id || null,\n start: timeblock.start,\n end: timeblock.end,\n is_finished: timeblock.is_finished || 0\n };\n }\n\n // Convert from internal format to BE format\n const dateStr = moment__WEBPACK_IMPORTED_MODULE_7___default()(timeblock.date).format('YYYY-MM-DD');\n return {\n id: timeblock.id || null,\n start: `${dateStr} ${timeblock.starts_at_time}:00`,\n end: `${dateStr} ${timeblock.ends_at_time}:00`,\n is_finished: timeblock.is_finished || 0\n };\n });\n const tempSubtask = {\n ...this.subtask,\n is_finished: 1,\n timesheets,\n timeblocks\n };\n return this.$axios.put_auth(`v1/subtasks/${tempSubtask.id}`, tempSubtask);\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/task/z-unable-to-complete-task-modal.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); /***/ }), @@ -565,7 +565,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var cor /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/plugins/tm@modal/_mixins/modal.mixin */ \"./src/plugins/tm@modal/_mixins/modal.mixin.ts\");\n/* harmony import */ var _plugins_tm_modal_components_a_resize_handle_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-resize-handle.vue */ \"./src/plugins/tm@modal/_components/a-resize-handle.vue\");\n/* harmony import */ var _plugins_tm_modal_components_a_reset_size_button_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-reset-size-button.vue */ \"./src/plugins/tm@modal/_components/a-reset-size-button.vue\");\n/* harmony import */ var _plugins_tm_modal_components_a_close_button_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-close-button.vue */ \"./src/plugins/tm@modal/_components/a-close-button.vue\");\n/* provided dependency */ var console = __webpack_require__(/*! ./node_modules/console-browserify/index.js */ \"./node_modules/console-browserify/index.js\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n components: {\n AResizeHandle: _plugins_tm_modal_components_a_resize_handle_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n AResetSizeButton: _plugins_tm_modal_components_a_reset_size_button_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n ACloseButton: _plugins_tm_modal_components_a_close_button_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"]\n },\n mixins: [_plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_0__[\"default\"]],\n props: {\n mode: {\n type: String,\n default: 'edit' // edit or delete\n }\n },\n emits: ['close', 'on-subtask-edited'],\n data() {\n return {\n visible: false,\n subtask: null,\n modalName: 'z-unable-to-edit-office-task-modal'\n };\n },\n methods: {\n async showModal({\n subtask\n }) {\n this.subtask = subtask;\n this.visible = true;\n },\n async complete() {\n /* eslint-disable */console.log(...oo_oo(`2971115012_46_3_46_26_4`, 'complete'));\n },\n closeModal() {\n this.visible = false;\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/task/z-unable-to-edit-office-task-modal.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); +eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/plugins/tm@modal/_mixins/modal.mixin */ \"./src/plugins/tm@modal/_mixins/modal.mixin.ts\");\n/* harmony import */ var _plugins_tm_modal_components_a_resize_handle_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-resize-handle.vue */ \"./src/plugins/tm@modal/_components/a-resize-handle.vue\");\n/* harmony import */ var _plugins_tm_modal_components_a_reset_size_button_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-reset-size-button.vue */ \"./src/plugins/tm@modal/_components/a-reset-size-button.vue\");\n/* harmony import */ var _plugins_tm_modal_components_a_close_button_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-close-button.vue */ \"./src/plugins/tm@modal/_components/a-close-button.vue\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n components: {\n AResizeHandle: _plugins_tm_modal_components_a_resize_handle_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n AResetSizeButton: _plugins_tm_modal_components_a_reset_size_button_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n ACloseButton: _plugins_tm_modal_components_a_close_button_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"]\n },\n mixins: [_plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_0__[\"default\"]],\n props: {\n mode: {\n type: String,\n default: 'edit' // edit or delete\n }\n },\n emits: ['close', 'on-subtask-edited'],\n data() {\n return {\n visible: false,\n subtask: null,\n modalName: 'z-unable-to-edit-office-task-modal'\n };\n },\n methods: {\n async showModal({\n subtask\n }) {\n this.subtask = subtask;\n this.visible = true;\n },\n async complete() {},\n closeModal() {\n this.visible = false;\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/task/z-unable-to-edit-office-task-modal.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); /***/ }), @@ -576,7 +576,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _pl /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/plugins/tm@modal/_mixins/modal.mixin */ \"./src/plugins/tm@modal/_mixins/modal.mixin.ts\");\n/* harmony import */ var _plugins_tm_modal_components_a_resize_handle_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-resize-handle.vue */ \"./src/plugins/tm@modal/_components/a-resize-handle.vue\");\n/* harmony import */ var _plugins_tm_modal_components_a_reset_size_button_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-reset-size-button.vue */ \"./src/plugins/tm@modal/_components/a-reset-size-button.vue\");\n/* harmony import */ var _plugins_tm_modal_components_a_close_button_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-close-button.vue */ \"./src/plugins/tm@modal/_components/a-close-button.vue\");\n/* provided dependency */ var console = __webpack_require__(/*! ./node_modules/console-browserify/index.js */ \"./node_modules/console-browserify/index.js\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n components: {\n AResizeHandle: _plugins_tm_modal_components_a_resize_handle_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n AResetSizeButton: _plugins_tm_modal_components_a_reset_size_button_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n ACloseButton: _plugins_tm_modal_components_a_close_button_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"]\n },\n mixins: [_plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_0__[\"default\"]],\n emits: ['update'],\n data() {\n return {\n visible: false,\n team: null,\n isDeleting: false,\n modalName: 'z-delete-team-modal'\n };\n },\n methods: {\n async showModal({\n team\n }) {\n this.team = team;\n this.visible = true;\n },\n closeModal() {\n this.visible = false;\n },\n async deleteTeam() {\n if (this.isDeleting) return;\n this.isDeleting = true;\n try {\n await this.$axios.delete_auth(`v1/teams/${this.team.id}`);\n this.visible = false;\n this.$emit('update', this.team);\n this.$store.commit('tm/delete_team', this.team);\n } catch (error) {\n this.$toast.error(this.$parseError(error));\n if (true) /* eslint-disable */ /* eslint-disable */console.log(...oo_oo(`11593241_70_25_70_116_4`, ...oo_oo(`1957043750_57_5_57_60_4`, '[z-delete-team-modal.vue] Error: ', error)));\n } finally {\n this.isDeleting = false;\n }\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/team/z-delete-team-modal.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); +eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/plugins/tm@modal/_mixins/modal.mixin */ \"./src/plugins/tm@modal/_mixins/modal.mixin.ts\");\n/* harmony import */ var _plugins_tm_modal_components_a_resize_handle_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-resize-handle.vue */ \"./src/plugins/tm@modal/_components/a-resize-handle.vue\");\n/* harmony import */ var _plugins_tm_modal_components_a_reset_size_button_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-reset-size-button.vue */ \"./src/plugins/tm@modal/_components/a-reset-size-button.vue\");\n/* harmony import */ var _plugins_tm_modal_components_a_close_button_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-close-button.vue */ \"./src/plugins/tm@modal/_components/a-close-button.vue\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n components: {\n AResizeHandle: _plugins_tm_modal_components_a_resize_handle_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n AResetSizeButton: _plugins_tm_modal_components_a_reset_size_button_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n ACloseButton: _plugins_tm_modal_components_a_close_button_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"]\n },\n mixins: [_plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_0__[\"default\"]],\n emits: ['update'],\n data() {\n return {\n visible: false,\n team: null,\n isDeleting: false,\n modalName: 'z-delete-team-modal'\n };\n },\n methods: {\n async showModal({\n team\n }) {\n this.team = team;\n this.visible = true;\n },\n closeModal() {\n this.visible = false;\n },\n async deleteTeam() {\n if (this.isDeleting) return;\n this.isDeleting = true;\n try {\n await this.$axios.delete_auth(`v1/teams/${this.team.id}`);\n this.visible = false;\n this.$emit('update', this.team);\n this.$store.commit('tm/delete_team', this.team);\n } catch (error) {\n this.$toast.error(this.$parseError(error));\n } finally {\n this.isDeleting = false;\n }\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/team/z-delete-team-modal.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); /***/ }), @@ -587,7 +587,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _pl /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ \"./node_modules/core-js/modules/esnext.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/esnext.iterator.filter.js */ \"./node_modules/core-js/modules/esnext.iterator.filter.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/esnext.iterator.find.js */ \"./node_modules/core-js/modules/esnext.iterator.find.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/esnext.iterator.map.js */ \"./node_modules/core-js/modules/esnext.iterator.map.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _vuelidate_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @vuelidate/core */ \"./node_modules/@vuelidate/core/dist/index.esm.js\");\n/* harmony import */ var _vuelidate_validators__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @vuelidate/validators */ \"./node_modules/@vuelidate/validators/dist/index.esm.js\");\n/* harmony import */ var _plugins_lib_auth_utils_error_utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/plugins/lib@auth/_utils/error.utils */ \"./src/plugins/lib@auth/_utils/error.utils.ts\");\n/* harmony import */ var _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/plugins/tm@_utils/tm.utils */ \"./src/plugins/tm@_utils/tm.utils.ts\");\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm-bundler.js\");\n/* harmony import */ var _plugins_tm_mixins_autocomplete_mixin__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/plugins/tm@_mixins/autocomplete.mixin */ \"./src/plugins/tm@_mixins/autocomplete.mixin.ts\");\n/* harmony import */ var _plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/plugins/tm@modal/_mixins/modal.mixin */ \"./src/plugins/tm@modal/_mixins/modal.mixin.ts\");\n/* harmony import */ var _plugins_tm_modal_components_a_resize_handle_vue__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-resize-handle.vue */ \"./src/plugins/tm@modal/_components/a-resize-handle.vue\");\n/* harmony import */ var _plugins_tm_modal_components_a_reset_size_button_vue__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-reset-size-button.vue */ \"./src/plugins/tm@modal/_components/a-reset-size-button.vue\");\n/* harmony import */ var _plugins_tm_modal_components_a_close_button_vue__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-close-button.vue */ \"./src/plugins/tm@modal/_components/a-close-button.vue\");\n/* provided dependency */ var console = __webpack_require__(/*! ./node_modules/console-browserify/index.js */ \"./node_modules/console-browserify/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst atLeastOne = value => value.length;\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n components: {\n AResizeHandle: _plugins_tm_modal_components_a_resize_handle_vue__WEBPACK_IMPORTED_MODULE_12__[\"default\"],\n AResetSizeButton: _plugins_tm_modal_components_a_reset_size_button_vue__WEBPACK_IMPORTED_MODULE_13__[\"default\"],\n ACloseButton: _plugins_tm_modal_components_a_close_button_vue__WEBPACK_IMPORTED_MODULE_14__[\"default\"]\n },\n mixins: [_plugins_tm_mixins_autocomplete_mixin__WEBPACK_IMPORTED_MODULE_10__[\"default\"], _plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_11__[\"default\"]],\n emits: ['close', 'update'],\n data() {\n return {\n visible: false,\n v$: (0,_vuelidate_core__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(),\n errorUtils: _plugins_lib_auth_utils_error_utils__WEBPACK_IMPORTED_MODULE_7__[\"default\"],\n employeeSelect: null,\n team: null,\n modalName: 'z-team-modal'\n };\n },\n computed: {\n ...(0,vuex__WEBPACK_IMPORTED_MODULE_9__.mapGetters)('tm', ['enrichedEmployees']),\n employeesOptions() {\n const selectedEmployeesIds = this.team.employees.map(employee => employee.id);\n return this.enrichedEmployees.filter(employee => !selectedEmployeesIds.includes(employee.id));\n }\n },\n validations() {\n return {\n team: {\n name: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_6__.required\n },\n employees: {\n atLeastOne\n }\n }\n };\n },\n methods: {\n async showModal({\n team = null\n }) {\n this.visible = true;\n this.team = null;\n this.$nextTick(() => this.v$.$reset());\n try {\n if (team?.id) {\n const t = await this.$axios.get_auth_data(`v1/teams/${team.id}`);\n this.team = this._enrichTeam(t);\n } else {\n this.team = {\n employees: []\n };\n }\n } catch (error) {\n this.$toast.error(this.$parseError(error));\n if (true) /* eslint-disable */ /* eslint-disable */console.log(...oo_oo(`3722708094_122_25_122_111_4`, ...oo_oo(`1718904172_104_5_104_53_4`, '[z-team-modal.vue] Error: ', error)));\n }\n },\n closeModal() {\n this.visible = false;\n this.$emit('close', this.team);\n },\n async save() {\n if (!(await this.v$.$validate())) return;\n try {\n if (this.team.id) {\n const {\n team\n } = await this.$axios.put_auth(`v1/teams/${this.team.id}`, this.team);\n const fullTeamResource = await this.$axios.get_auth_data(`v1/teams/${team.id}`);\n this.$store.commit('tm/update_team', fullTeamResource);\n } else {\n const {\n team\n } = await this.$axios.post_auth(`v1/teams`, this.team);\n const fullTeamResource = await this.$axios.get_auth_data(`v1/teams/${team.id}`);\n this.$store.commit('tm/save_team', fullTeamResource);\n }\n this.closeModal();\n } catch (error) {\n this.$toast.error(this.$parseError(error));\n if (true) /* eslint-disable */ /* eslint-disable */console.log(...oo_oo(`3722708094_152_25_152_111_4`, ...oo_oo(`1718904172_134_5_134_53_4`, '[z-team-modal.vue] Error: ', error)));\n }\n },\n _enrichTeam(team) {\n team.employees = _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_8__[\"default\"].enrichEmployees(team.employees);\n return team;\n }\n },\n watch: {\n employeeSelect(employeeId) {\n if (!employeeId) return;\n const employee = this.enrichedEmployees.find(employee => employee.id == employeeId);\n this.team.employees.push(employee);\n this.employeeSelect = null;\n this.$refs.autocomplete.search = '';\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/team/z-team-modal.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); +eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ \"./node_modules/core-js/modules/esnext.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/esnext.iterator.filter.js */ \"./node_modules/core-js/modules/esnext.iterator.filter.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/esnext.iterator.find.js */ \"./node_modules/core-js/modules/esnext.iterator.find.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/esnext.iterator.map.js */ \"./node_modules/core-js/modules/esnext.iterator.map.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _vuelidate_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @vuelidate/core */ \"./node_modules/@vuelidate/core/dist/index.esm.js\");\n/* harmony import */ var _vuelidate_validators__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @vuelidate/validators */ \"./node_modules/@vuelidate/validators/dist/index.esm.js\");\n/* harmony import */ var _plugins_lib_auth_utils_error_utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/plugins/lib@auth/_utils/error.utils */ \"./src/plugins/lib@auth/_utils/error.utils.ts\");\n/* harmony import */ var _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/plugins/tm@_utils/tm.utils */ \"./src/plugins/tm@_utils/tm.utils.ts\");\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm-bundler.js\");\n/* harmony import */ var _plugins_tm_mixins_autocomplete_mixin__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/plugins/tm@_mixins/autocomplete.mixin */ \"./src/plugins/tm@_mixins/autocomplete.mixin.ts\");\n/* harmony import */ var _plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/plugins/tm@modal/_mixins/modal.mixin */ \"./src/plugins/tm@modal/_mixins/modal.mixin.ts\");\n/* harmony import */ var _plugins_tm_modal_components_a_resize_handle_vue__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-resize-handle.vue */ \"./src/plugins/tm@modal/_components/a-resize-handle.vue\");\n/* harmony import */ var _plugins_tm_modal_components_a_reset_size_button_vue__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-reset-size-button.vue */ \"./src/plugins/tm@modal/_components/a-reset-size-button.vue\");\n/* harmony import */ var _plugins_tm_modal_components_a_close_button_vue__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-close-button.vue */ \"./src/plugins/tm@modal/_components/a-close-button.vue\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst atLeastOne = value => value.length;\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n components: {\n AResizeHandle: _plugins_tm_modal_components_a_resize_handle_vue__WEBPACK_IMPORTED_MODULE_12__[\"default\"],\n AResetSizeButton: _plugins_tm_modal_components_a_reset_size_button_vue__WEBPACK_IMPORTED_MODULE_13__[\"default\"],\n ACloseButton: _plugins_tm_modal_components_a_close_button_vue__WEBPACK_IMPORTED_MODULE_14__[\"default\"]\n },\n mixins: [_plugins_tm_mixins_autocomplete_mixin__WEBPACK_IMPORTED_MODULE_10__[\"default\"], _plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_11__[\"default\"]],\n emits: ['close', 'update'],\n data() {\n return {\n visible: false,\n v$: (0,_vuelidate_core__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(),\n errorUtils: _plugins_lib_auth_utils_error_utils__WEBPACK_IMPORTED_MODULE_7__[\"default\"],\n employeeSelect: null,\n team: null,\n modalName: 'z-team-modal'\n };\n },\n computed: {\n ...(0,vuex__WEBPACK_IMPORTED_MODULE_9__.mapGetters)('tm', ['enrichedEmployees']),\n employeesOptions() {\n const selectedEmployeesIds = this.team.employees.map(employee => employee.id);\n return this.enrichedEmployees.filter(employee => !selectedEmployeesIds.includes(employee.id));\n }\n },\n validations() {\n return {\n team: {\n name: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_6__.required\n },\n employees: {\n atLeastOne\n }\n }\n };\n },\n methods: {\n async showModal({\n team = null\n }) {\n this.visible = true;\n this.team = null;\n this.$nextTick(() => this.v$.$reset());\n try {\n if (team?.id) {\n const t = await this.$axios.get_auth_data(`v1/teams/${team.id}`);\n this.team = this._enrichTeam(t);\n } else {\n this.team = {\n employees: []\n };\n }\n } catch (error) {\n this.$toast.error(this.$parseError(error));\n }\n },\n closeModal() {\n this.visible = false;\n this.$emit('close', this.team);\n },\n async save() {\n if (!(await this.v$.$validate())) return;\n try {\n if (this.team.id) {\n const {\n team\n } = await this.$axios.put_auth(`v1/teams/${this.team.id}`, this.team);\n const fullTeamResource = await this.$axios.get_auth_data(`v1/teams/${team.id}`);\n this.$store.commit('tm/update_team', fullTeamResource);\n } else {\n const {\n team\n } = await this.$axios.post_auth(`v1/teams`, this.team);\n const fullTeamResource = await this.$axios.get_auth_data(`v1/teams/${team.id}`);\n this.$store.commit('tm/save_team', fullTeamResource);\n }\n this.closeModal();\n } catch (error) {\n this.$toast.error(this.$parseError(error));\n }\n },\n _enrichTeam(team) {\n team.employees = _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_8__[\"default\"].enrichEmployees(team.employees);\n return team;\n }\n },\n watch: {\n employeeSelect(employeeId) {\n if (!employeeId) return;\n const employee = this.enrichedEmployees.find(employee => employee.id == employeeId);\n this.team.employees.push(employee);\n this.employeeSelect = null;\n this.$refs.autocomplete.search = '';\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/team/z-team-modal.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); /***/ }), @@ -1541,7 +1541,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; }\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n/* harmony import */ var vuetify_lib_components_VBtn_index_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vuetify/lib/components/VBtn/index.mjs */ \"./node_modules/vuetify/lib/components/VBtn/VBtn.mjs\");\n/* harmony import */ var vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vuetify/lib/components/VCard/index.mjs */ \"./node_modules/vuetify/lib/components/VCard/VCard.mjs\");\n/* harmony import */ var vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vuetify/lib/components/VCard/index.mjs */ \"./node_modules/vuetify/lib/components/VCard/VCardActions.mjs\");\n/* harmony import */ var vuetify_lib_components_VDialog_index_mjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! vuetify/lib/components/VDialog/index.mjs */ \"./node_modules/vuetify/lib/components/VDialog/VDialog.mjs\");\n\nconst _hoisted_1 = {\n class: \"d-flex justify-space-between align-center\"\n};\nconst _hoisted_2 = {\n class: \"d-flex align-center\"\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_a_reset_size_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-reset-size-button\");\n const _component_a_close_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-close-button\");\n \n \n const _component_a_resize_handle = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-resize-handle\");\n \n \n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(vuetify_lib_components_VDialog_index_mjs__WEBPACK_IMPORTED_MODULE_4__.VDialog, {\n modelValue: $data.visible,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => $data.visible = $event),\n width: _ctx.modalWidth,\n height: _ctx.modalHeight,\n persistent: \"\",\n \"retain-focus\": false\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_2__.VCard, {\n style: {\n \"position\": \"relative\"\n }\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"h1\", null, [_cache[4] || (_cache[4] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"Ste si istý, že chcete zmazať \", -1 /* CACHED */)), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"b\", null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($data.blocker.name), 1 /* TEXT */), _cache[5] || (_cache[5] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"?\", -1 /* CACHED */))]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_reset_size_button, {\n onReset: _ctx.resetModalSize\n }, null, 8 /* PROPS */, [\"onReset\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_close_button, {\n class: \"mb-15\",\n onClose: _cache[0] || (_cache[0] = $event => $options.closeModal())\n })])]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_3__.VCardActions, {\n class: \"mt-10 d-flex justify-start align-center mobile-view\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VBtn_index_mjs__WEBPACK_IMPORTED_MODULE_1__.VBtn, {\n class: \"button primary half\",\n variant: \"flat\",\n disabled: $data.isDeleting,\n onClick: _cache[1] || (_cache[1] = $event => $options.deleteBlocker())\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [...(_cache[6] || (_cache[6] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"ÁNO\", -1 /* CACHED */)]))]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"disabled\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VBtn_index_mjs__WEBPACK_IMPORTED_MODULE_1__.VBtn, {\n class: \"button primary half outline\",\n onClick: _cache[2] || (_cache[2] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.withModifiers)($event => $options.closeModal(), [\"stop\"]))\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [...(_cache[7] || (_cache[7] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"ZRUŠIŤ\", -1 /* CACHED */)]))]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_resize_handle, {\n \"current-width\": _ctx.modalWidthPx,\n \"current-height\": _ctx.modalHeightPx,\n onResize: _ctx.handleModalResize,\n onResizeEnd: _ctx.handleResizeEnd\n }, null, 8 /* PROPS */, [\"current-width\", \"current-height\", \"onResize\", \"onResizeEnd\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"width\", \"height\"]);\n}\n\n/* Vuetify */\n\n\n\n\n\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/blocker/z-delete-blocker-modal.vue?./node_modules/webpack-plugin-vuetify/dist/scriptLoader.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B5%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); +eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; }\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n/* harmony import */ var vuetify_lib_components_VBtn_index_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vuetify/lib/components/VBtn/index.mjs */ \"./node_modules/vuetify/lib/components/VBtn/VBtn.mjs\");\n/* harmony import */ var vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vuetify/lib/components/VCard/index.mjs */ \"./node_modules/vuetify/lib/components/VCard/VCard.mjs\");\n/* harmony import */ var vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vuetify/lib/components/VCard/index.mjs */ \"./node_modules/vuetify/lib/components/VCard/VCardActions.mjs\");\n/* harmony import */ var vuetify_lib_components_VDialog_index_mjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! vuetify/lib/components/VDialog/index.mjs */ \"./node_modules/vuetify/lib/components/VDialog/VDialog.mjs\");\n\nconst _hoisted_1 = {\n class: \"d-flex justify-space-between align-center\"\n};\nconst _hoisted_2 = {\n class: \"d-flex align-center\"\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_a_reset_size_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-reset-size-button\");\n const _component_a_close_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-close-button\");\n \n \n const _component_a_resize_handle = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-resize-handle\");\n \n \n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(vuetify_lib_components_VDialog_index_mjs__WEBPACK_IMPORTED_MODULE_4__.VDialog, {\n modelValue: $data.visible,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => $data.visible = $event),\n width: _ctx.modalWidth,\n height: _ctx.modalHeight,\n persistent: \"\",\n \"retain-focus\": false\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_2__.VCard, {\n style: {\n \"position\": \"relative\"\n }\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"h1\", null, [_cache[4] || (_cache[4] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\" Ste si istý, že chcete zmazať \", -1 /* CACHED */)), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"b\", null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($data.blocker.name), 1 /* TEXT */), _cache[5] || (_cache[5] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"? \", -1 /* CACHED */))]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_reset_size_button, {\n onReset: _ctx.resetModalSize\n }, null, 8 /* PROPS */, [\"onReset\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_close_button, {\n class: \"mb-15\",\n onClose: _cache[0] || (_cache[0] = $event => $options.closeModal())\n })])]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_3__.VCardActions, {\n class: \"mt-10 d-flex justify-start align-center mobile-view\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VBtn_index_mjs__WEBPACK_IMPORTED_MODULE_1__.VBtn, {\n class: \"button primary half\",\n variant: \"flat\",\n disabled: $data.isDeleting,\n onClick: _cache[1] || (_cache[1] = $event => $options.deleteBlocker())\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [...(_cache[6] || (_cache[6] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"ÁNO\", -1 /* CACHED */)]))]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"disabled\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VBtn_index_mjs__WEBPACK_IMPORTED_MODULE_1__.VBtn, {\n class: \"button primary half outline\",\n onClick: _cache[2] || (_cache[2] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.withModifiers)($event => $options.closeModal(), [\"stop\"]))\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [...(_cache[7] || (_cache[7] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"ZRUŠIŤ\", -1 /* CACHED */)]))]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_resize_handle, {\n \"current-width\": _ctx.modalWidthPx,\n \"current-height\": _ctx.modalHeightPx,\n onResize: _ctx.handleModalResize,\n onResizeEnd: _ctx.handleResizeEnd\n }, null, 8 /* PROPS */, [\"current-width\", \"current-height\", \"onResize\", \"onResizeEnd\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"width\", \"height\"]);\n}\n\n/* Vuetify */\n\n\n\n\n\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/blocker/z-delete-blocker-modal.vue?./node_modules/webpack-plugin-vuetify/dist/scriptLoader.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B5%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); /***/ }), @@ -1574,7 +1574,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; }\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n/* harmony import */ var vuetify_lib_components_VBtn_index_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vuetify/lib/components/VBtn/index.mjs */ \"./node_modules/vuetify/lib/components/VBtn/VBtn.mjs\");\n/* harmony import */ var vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vuetify/lib/components/VCard/index.mjs */ \"./node_modules/vuetify/lib/components/VCard/VCard.mjs\");\n/* harmony import */ var vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vuetify/lib/components/VCard/index.mjs */ \"./node_modules/vuetify/lib/components/VCard/VCardActions.mjs\");\n/* harmony import */ var vuetify_lib_components_VDialog_index_mjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! vuetify/lib/components/VDialog/index.mjs */ \"./node_modules/vuetify/lib/components/VDialog/VDialog.mjs\");\n\nconst _hoisted_1 = {\n class: \"d-flex justify-space-between align-center\"\n};\nconst _hoisted_2 = {\n class: \"d-flex align-center\"\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_a_reset_size_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-reset-size-button\");\n const _component_a_close_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-close-button\");\n \n \n const _component_a_resize_handle = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-resize-handle\");\n \n \n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(vuetify_lib_components_VDialog_index_mjs__WEBPACK_IMPORTED_MODULE_4__.VDialog, {\n modelValue: $data.visible,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => $data.visible = $event),\n width: _ctx.modalWidth,\n height: _ctx.modalHeight,\n persistent: \"\",\n \"retain-focus\": false\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_2__.VCard, {\n style: {\n \"position\": \"relative\"\n }\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"h1\", null, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"Ste si istý, že chcete \" + (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($data.mastertask.is_finished ? 'znovu otvoriť' : 'dokončiť') + \" \", 1 /* TEXT */), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"b\", null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($data.mastertask?.name), 1 /* TEXT */), _cache[4] || (_cache[4] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"?\", -1 /* CACHED */))]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_reset_size_button, {\n onReset: _ctx.resetModalSize\n }, null, 8 /* PROPS */, [\"onReset\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_close_button, {\n onClose: _cache[0] || (_cache[0] = () => $data.visible = false)\n })])]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_3__.VCardActions, {\n class: \"mt-10 d-flex justify-start align-center mobile-view\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VBtn_index_mjs__WEBPACK_IMPORTED_MODULE_1__.VBtn, {\n class: \"button primary half\",\n variant: \"flat\",\n onClick: _cache[1] || (_cache[1] = $event => $options.complete())\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [...(_cache[5] || (_cache[5] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"ÁNO\", -1 /* CACHED */)]))]),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VBtn_index_mjs__WEBPACK_IMPORTED_MODULE_1__.VBtn, {\n class: \"button primary half outline\",\n onClick: _cache[2] || (_cache[2] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.withModifiers)($event => $data.visible = false, [\"stop\"]))\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [...(_cache[6] || (_cache[6] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"ZRUŠIŤ\", -1 /* CACHED */)]))]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_resize_handle, {\n \"current-width\": _ctx.modalWidthPx,\n \"current-height\": _ctx.modalHeightPx,\n onResize: _ctx.handleModalResize,\n onResizeEnd: _ctx.handleResizeEnd\n }, null, 8 /* PROPS */, [\"current-width\", \"current-height\", \"onResize\", \"onResizeEnd\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"width\", \"height\"]);\n}\n\n/* Vuetify */\n\n\n\n\n\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/master-task/z-complete-master-task-modal.vue?./node_modules/webpack-plugin-vuetify/dist/scriptLoader.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B5%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); +eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; }\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n/* harmony import */ var vuetify_lib_components_VBtn_index_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vuetify/lib/components/VBtn/index.mjs */ \"./node_modules/vuetify/lib/components/VBtn/VBtn.mjs\");\n/* harmony import */ var vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vuetify/lib/components/VCard/index.mjs */ \"./node_modules/vuetify/lib/components/VCard/VCard.mjs\");\n/* harmony import */ var vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vuetify/lib/components/VCard/index.mjs */ \"./node_modules/vuetify/lib/components/VCard/VCardActions.mjs\");\n/* harmony import */ var vuetify_lib_components_VDialog_index_mjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! vuetify/lib/components/VDialog/index.mjs */ \"./node_modules/vuetify/lib/components/VDialog/VDialog.mjs\");\n\nconst _hoisted_1 = {\n class: \"d-flex justify-space-between align-center\"\n};\nconst _hoisted_2 = {\n class: \"d-flex align-center\"\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_a_reset_size_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-reset-size-button\");\n const _component_a_close_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-close-button\");\n \n \n const _component_a_resize_handle = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-resize-handle\");\n \n \n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(vuetify_lib_components_VDialog_index_mjs__WEBPACK_IMPORTED_MODULE_4__.VDialog, {\n modelValue: $data.visible,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => $data.visible = $event),\n width: _ctx.modalWidth,\n height: _ctx.modalHeight,\n persistent: \"\",\n \"retain-focus\": false\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_2__.VCard, {\n style: {\n \"position\": \"relative\"\n }\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"h1\", null, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\" Ste si istý, že chcete \" + (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($data.mastertask.is_finished ? 'znovu otvoriť' : 'dokončiť') + \" \", 1 /* TEXT */), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"b\", null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($data.mastertask?.name), 1 /* TEXT */), _cache[4] || (_cache[4] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"? \", -1 /* CACHED */))]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_reset_size_button, {\n onReset: _ctx.resetModalSize\n }, null, 8 /* PROPS */, [\"onReset\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_close_button, {\n onClose: _cache[0] || (_cache[0] = () => $data.visible = false)\n })])]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_3__.VCardActions, {\n class: \"mt-10 d-flex justify-start align-center mobile-view\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VBtn_index_mjs__WEBPACK_IMPORTED_MODULE_1__.VBtn, {\n class: \"button primary half\",\n variant: \"flat\",\n onClick: _cache[1] || (_cache[1] = $event => $options.complete())\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [...(_cache[5] || (_cache[5] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"ÁNO\", -1 /* CACHED */)]))]),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VBtn_index_mjs__WEBPACK_IMPORTED_MODULE_1__.VBtn, {\n class: \"button primary half outline\",\n onClick: _cache[2] || (_cache[2] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.withModifiers)($event => $data.visible = false, [\"stop\"]))\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [...(_cache[6] || (_cache[6] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"ZRUŠIŤ\", -1 /* CACHED */)]))]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_resize_handle, {\n \"current-width\": _ctx.modalWidthPx,\n \"current-height\": _ctx.modalHeightPx,\n onResize: _ctx.handleModalResize,\n onResizeEnd: _ctx.handleResizeEnd\n }, null, 8 /* PROPS */, [\"current-width\", \"current-height\", \"onResize\", \"onResizeEnd\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"width\", \"height\"]);\n}\n\n/* Vuetify */\n\n\n\n\n\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/master-task/z-complete-master-task-modal.vue?./node_modules/webpack-plugin-vuetify/dist/scriptLoader.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B5%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); /***/ }), @@ -1585,7 +1585,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; }\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n/* harmony import */ var vuetify_lib_components_VBtn_index_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vuetify/lib/components/VBtn/index.mjs */ \"./node_modules/vuetify/lib/components/VBtn/VBtn.mjs\");\n/* harmony import */ var vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vuetify/lib/components/VCard/index.mjs */ \"./node_modules/vuetify/lib/components/VCard/VCard.mjs\");\n/* harmony import */ var vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vuetify/lib/components/VCard/index.mjs */ \"./node_modules/vuetify/lib/components/VCard/VCardActions.mjs\");\n/* harmony import */ var vuetify_lib_components_VDialog_index_mjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! vuetify/lib/components/VDialog/index.mjs */ \"./node_modules/vuetify/lib/components/VDialog/VDialog.mjs\");\n\nconst _hoisted_1 = {\n class: \"d-flex justify-space-between align-center\"\n};\nconst _hoisted_2 = {\n class: \"d-flex align-center\"\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_a_reset_size_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-reset-size-button\");\n const _component_a_close_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-close-button\");\n \n \n const _component_a_resize_handle = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-resize-handle\");\n \n \n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(vuetify_lib_components_VDialog_index_mjs__WEBPACK_IMPORTED_MODULE_4__.VDialog, {\n modelValue: $data.visible,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => $data.visible = $event),\n width: _ctx.modalWidth,\n height: _ctx.modalHeight,\n persistent: \"\",\n \"retain-focus\": false\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_2__.VCard, {\n style: {\n \"position\": \"relative\"\n }\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"h1\", null, [_cache[4] || (_cache[4] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"Ste si istý, že chcete zmazať \", -1 /* CACHED */)), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"b\", null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($data.mastertask.name), 1 /* TEXT */), _cache[5] || (_cache[5] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"?\", -1 /* CACHED */))]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_reset_size_button, {\n onReset: _ctx.resetModalSize\n }, null, 8 /* PROPS */, [\"onReset\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_close_button, {\n class: \"mb-15\",\n onClose: _cache[0] || (_cache[0] = $event => $options.closeModal())\n })])]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_3__.VCardActions, {\n class: \"mt-10 d-flex justify-start align-center mobile-view\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VBtn_index_mjs__WEBPACK_IMPORTED_MODULE_1__.VBtn, {\n class: \"button primary half\",\n variant: \"flat\",\n disabled: $data.isDeleting,\n onClick: _cache[1] || (_cache[1] = $event => $options.deleteMasterTask())\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [...(_cache[6] || (_cache[6] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"ÁNO\", -1 /* CACHED */)]))]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"disabled\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VBtn_index_mjs__WEBPACK_IMPORTED_MODULE_1__.VBtn, {\n class: \"button primary half outline\",\n onClick: _cache[2] || (_cache[2] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.withModifiers)($event => $options.closeModal(), [\"stop\"]))\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [...(_cache[7] || (_cache[7] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"ZRUŠIŤ\", -1 /* CACHED */)]))]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_resize_handle, {\n \"current-width\": _ctx.modalWidthPx,\n \"current-height\": _ctx.modalHeightPx,\n onResize: _ctx.handleModalResize,\n onResizeEnd: _ctx.handleResizeEnd\n }, null, 8 /* PROPS */, [\"current-width\", \"current-height\", \"onResize\", \"onResizeEnd\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"width\", \"height\"]);\n}\n\n/* Vuetify */\n\n\n\n\n\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/master-task/z-delete-master-task-modal.vue?./node_modules/webpack-plugin-vuetify/dist/scriptLoader.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B5%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); +eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; }\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n/* harmony import */ var vuetify_lib_components_VBtn_index_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vuetify/lib/components/VBtn/index.mjs */ \"./node_modules/vuetify/lib/components/VBtn/VBtn.mjs\");\n/* harmony import */ var vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vuetify/lib/components/VCard/index.mjs */ \"./node_modules/vuetify/lib/components/VCard/VCard.mjs\");\n/* harmony import */ var vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vuetify/lib/components/VCard/index.mjs */ \"./node_modules/vuetify/lib/components/VCard/VCardActions.mjs\");\n/* harmony import */ var vuetify_lib_components_VDialog_index_mjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! vuetify/lib/components/VDialog/index.mjs */ \"./node_modules/vuetify/lib/components/VDialog/VDialog.mjs\");\n\nconst _hoisted_1 = {\n class: \"d-flex justify-space-between align-center\"\n};\nconst _hoisted_2 = {\n class: \"d-flex align-center\"\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_a_reset_size_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-reset-size-button\");\n const _component_a_close_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-close-button\");\n \n \n const _component_a_resize_handle = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-resize-handle\");\n \n \n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(vuetify_lib_components_VDialog_index_mjs__WEBPACK_IMPORTED_MODULE_4__.VDialog, {\n modelValue: $data.visible,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => $data.visible = $event),\n width: _ctx.modalWidth,\n height: _ctx.modalHeight,\n persistent: \"\",\n \"retain-focus\": false\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_2__.VCard, {\n style: {\n \"position\": \"relative\"\n }\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"h1\", null, [_cache[4] || (_cache[4] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\" Ste si istý, že chcete zmazať \", -1 /* CACHED */)), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"b\", null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($data.mastertask.name), 1 /* TEXT */), _cache[5] || (_cache[5] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"? \", -1 /* CACHED */))]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_reset_size_button, {\n onReset: _ctx.resetModalSize\n }, null, 8 /* PROPS */, [\"onReset\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_close_button, {\n class: \"mb-15\",\n onClose: _cache[0] || (_cache[0] = $event => $options.closeModal())\n })])]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_3__.VCardActions, {\n class: \"mt-10 d-flex justify-start align-center mobile-view\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VBtn_index_mjs__WEBPACK_IMPORTED_MODULE_1__.VBtn, {\n class: \"button primary half\",\n variant: \"flat\",\n disabled: $data.isDeleting,\n onClick: _cache[1] || (_cache[1] = $event => $options.deleteMasterTask())\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [...(_cache[6] || (_cache[6] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"ÁNO\", -1 /* CACHED */)]))]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"disabled\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VBtn_index_mjs__WEBPACK_IMPORTED_MODULE_1__.VBtn, {\n class: \"button primary half outline\",\n onClick: _cache[2] || (_cache[2] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.withModifiers)($event => $options.closeModal(), [\"stop\"]))\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [...(_cache[7] || (_cache[7] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"ZRUŠIŤ\", -1 /* CACHED */)]))]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_resize_handle, {\n \"current-width\": _ctx.modalWidthPx,\n \"current-height\": _ctx.modalHeightPx,\n onResize: _ctx.handleModalResize,\n onResizeEnd: _ctx.handleResizeEnd\n }, null, 8 /* PROPS */, [\"current-width\", \"current-height\", \"onResize\", \"onResizeEnd\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"width\", \"height\"]);\n}\n\n/* Vuetify */\n\n\n\n\n\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/master-task/z-delete-master-task-modal.vue?./node_modules/webpack-plugin-vuetify/dist/scriptLoader.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B5%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); /***/ }), @@ -1596,7 +1596,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; }\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n/* harmony import */ var vuetify_lib_components_VBtn_index_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vuetify/lib/components/VBtn/index.mjs */ \"./node_modules/vuetify/lib/components/VBtn/VBtn.mjs\");\n/* harmony import */ var vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vuetify/lib/components/VCard/index.mjs */ \"./node_modules/vuetify/lib/components/VCard/VCard.mjs\");\n/* harmony import */ var vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vuetify/lib/components/VCard/index.mjs */ \"./node_modules/vuetify/lib/components/VCard/VCardActions.mjs\");\n/* harmony import */ var vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! vuetify/lib/components/VCard/index.mjs */ \"./node_modules/vuetify/lib/components/VCard/VCardText.mjs\");\n/* harmony import */ var vuetify_lib_components_VDialog_index_mjs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! vuetify/lib/components/VDialog/index.mjs */ \"./node_modules/vuetify/lib/components/VDialog/VDialog.mjs\");\n/* harmony import */ var vuetify_lib_components_VGrid_index_mjs__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! vuetify/lib/components/VGrid/index.mjs */ \"./node_modules/vuetify/lib/components/VGrid/VSpacer.mjs\");\n\nconst _hoisted_1 = {\n class: \"d-flex justify-space-between align-center\"\n};\nconst _hoisted_2 = {\n class: \"d-flex align-center\"\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_a_reset_size_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-reset-size-button\");\n const _component_a_close_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-close-button\");\n \n \n \n \n const _component_a_resize_handle = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-resize-handle\");\n \n \n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(vuetify_lib_components_VDialog_index_mjs__WEBPACK_IMPORTED_MODULE_5__.VDialog, {\n modelValue: $data.visible,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => $data.visible = $event),\n width: _ctx.modalWidth,\n height: _ctx.modalHeight,\n persistent: \"\",\n \"retain-focus\": false\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_2__.VCard, {\n style: {\n \"position\": \"relative\"\n }\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_1, [_cache[4] || (_cache[4] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"h1\", {\n class: \"text-h5\"\n }, \" Chcete túto osobu odstrániť z tímu? \", -1 /* CACHED */)), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_reset_size_button, {\n onReset: _ctx.resetModalSize\n }, null, 8 /* PROPS */, [\"onReset\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_close_button, {\n onClose: _cache[0] || (_cache[0] = $event => $options.closeModal())\n })])]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_4__.VCardText, null, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($data.member.name + ' ' + $data.member.surname) + \" bude odstránený/á z teamu.\", 1 /* TEXT */)]),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_3__.VCardActions, null, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VBtn_index_mjs__WEBPACK_IMPORTED_MODULE_1__.VBtn, {\n class: \"button secondary\",\n variant: \"text\",\n onClick: _cache[1] || (_cache[1] = $event => $options.closeModal())\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [...(_cache[5] || (_cache[5] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\" Zrušiť \", -1 /* CACHED */)]))]),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VGrid_index_mjs__WEBPACK_IMPORTED_MODULE_6__.VSpacer), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VBtn_index_mjs__WEBPACK_IMPORTED_MODULE_1__.VBtn, {\n class: \"button primary\",\n variant: \"text\",\n onClick: _cache[2] || (_cache[2] = $event => $options.deleteMember())\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [...(_cache[6] || (_cache[6] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\" Áno \", -1 /* CACHED */)]))]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_resize_handle, {\n \"current-width\": _ctx.modalWidthPx,\n \"current-height\": _ctx.modalHeightPx,\n onResize: _ctx.handleModalResize,\n onResizeEnd: _ctx.handleResizeEnd\n }, null, 8 /* PROPS */, [\"current-width\", \"current-height\", \"onResize\", \"onResizeEnd\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"width\", \"height\"]);\n}\n\n/* Vuetify */\n\n\n\n\n\n\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/master-task/z-delete-team-member-modal.vue?./node_modules/webpack-plugin-vuetify/dist/scriptLoader.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B5%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); +eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; }\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n/* harmony import */ var vuetify_lib_components_VBtn_index_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vuetify/lib/components/VBtn/index.mjs */ \"./node_modules/vuetify/lib/components/VBtn/VBtn.mjs\");\n/* harmony import */ var vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vuetify/lib/components/VCard/index.mjs */ \"./node_modules/vuetify/lib/components/VCard/VCard.mjs\");\n/* harmony import */ var vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vuetify/lib/components/VCard/index.mjs */ \"./node_modules/vuetify/lib/components/VCard/VCardActions.mjs\");\n/* harmony import */ var vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! vuetify/lib/components/VCard/index.mjs */ \"./node_modules/vuetify/lib/components/VCard/VCardText.mjs\");\n/* harmony import */ var vuetify_lib_components_VDialog_index_mjs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! vuetify/lib/components/VDialog/index.mjs */ \"./node_modules/vuetify/lib/components/VDialog/VDialog.mjs\");\n/* harmony import */ var vuetify_lib_components_VGrid_index_mjs__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! vuetify/lib/components/VGrid/index.mjs */ \"./node_modules/vuetify/lib/components/VGrid/VSpacer.mjs\");\n\nconst _hoisted_1 = {\n class: \"d-flex justify-space-between align-center\"\n};\nconst _hoisted_2 = {\n class: \"d-flex align-center\"\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_a_reset_size_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-reset-size-button\");\n const _component_a_close_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-close-button\");\n \n \n \n \n const _component_a_resize_handle = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-resize-handle\");\n \n \n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(vuetify_lib_components_VDialog_index_mjs__WEBPACK_IMPORTED_MODULE_5__.VDialog, {\n modelValue: $data.visible,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => $data.visible = $event),\n width: _ctx.modalWidth,\n height: _ctx.modalHeight,\n persistent: \"\",\n \"retain-focus\": false\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_2__.VCard, {\n style: {\n \"position\": \"relative\"\n }\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_1, [_cache[4] || (_cache[4] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"h1\", {\n class: \"text-h5\"\n }, \"Chcete túto osobu odstrániť z tímu?\", -1 /* CACHED */)), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_reset_size_button, {\n onReset: _ctx.resetModalSize\n }, null, 8 /* PROPS */, [\"onReset\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_close_button, {\n onClose: _cache[0] || (_cache[0] = $event => $options.closeModal())\n })])]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_4__.VCardText, null, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($data.member.name + ' ' + $data.member.surname) + \" bude odstránený/á z teamu.\", 1 /* TEXT */)]),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_3__.VCardActions, null, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VBtn_index_mjs__WEBPACK_IMPORTED_MODULE_1__.VBtn, {\n class: \"button secondary\",\n variant: \"text\",\n onClick: _cache[1] || (_cache[1] = $event => $options.closeModal())\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [...(_cache[5] || (_cache[5] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\" Zrušiť \", -1 /* CACHED */)]))]),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VGrid_index_mjs__WEBPACK_IMPORTED_MODULE_6__.VSpacer), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VBtn_index_mjs__WEBPACK_IMPORTED_MODULE_1__.VBtn, {\n class: \"button primary\",\n variant: \"text\",\n onClick: _cache[2] || (_cache[2] = $event => $options.deleteMember())\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [...(_cache[6] || (_cache[6] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\" Áno \", -1 /* CACHED */)]))]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_resize_handle, {\n \"current-width\": _ctx.modalWidthPx,\n \"current-height\": _ctx.modalHeightPx,\n onResize: _ctx.handleModalResize,\n onResizeEnd: _ctx.handleResizeEnd\n }, null, 8 /* PROPS */, [\"current-width\", \"current-height\", \"onResize\", \"onResizeEnd\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"width\", \"height\"]);\n}\n\n/* Vuetify */\n\n\n\n\n\n\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/master-task/z-delete-team-member-modal.vue?./node_modules/webpack-plugin-vuetify/dist/scriptLoader.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B5%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); /***/ }), @@ -1750,7 +1750,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; }\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n/* harmony import */ var vuetify_lib_components_VBtn_index_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vuetify/lib/components/VBtn/index.mjs */ \"./node_modules/vuetify/lib/components/VBtn/VBtn.mjs\");\n/* harmony import */ var vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vuetify/lib/components/VCard/index.mjs */ \"./node_modules/vuetify/lib/components/VCard/VCard.mjs\");\n/* harmony import */ var vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vuetify/lib/components/VCard/index.mjs */ \"./node_modules/vuetify/lib/components/VCard/VCardActions.mjs\");\n/* harmony import */ var vuetify_lib_components_VDialog_index_mjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! vuetify/lib/components/VDialog/index.mjs */ \"./node_modules/vuetify/lib/components/VDialog/VDialog.mjs\");\n\nconst _hoisted_1 = {\n class: \"d-flex justify-space-between align-center\"\n};\nconst _hoisted_2 = {\n class: \"d-flex align-center\"\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_a_reset_size_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-reset-size-button\");\n const _component_a_close_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-close-button\");\n \n \n const _component_a_resize_handle = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-resize-handle\");\n \n \n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(vuetify_lib_components_VDialog_index_mjs__WEBPACK_IMPORTED_MODULE_4__.VDialog, {\n modelValue: $data.visible,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => $data.visible = $event),\n width: _ctx.modalWidth,\n height: _ctx.modalHeight,\n persistent: \"\",\n \"retain-focus\": false\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_2__.VCard, {\n style: {\n \"position\": \"relative\"\n }\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"h1\", null, [_cache[4] || (_cache[4] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"Ste si istý, že chcete zmazať sub task z mastertasku \", -1 /* CACHED */)), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"b\", null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($data.subtask.project_code), 1 /* TEXT */), _cache[5] || (_cache[5] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"?\", -1 /* CACHED */))]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_reset_size_button, {\n onReset: _ctx.resetModalSize\n }, null, 8 /* PROPS */, [\"onReset\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_close_button, {\n class: \"mb-15\",\n onClose: _cache[0] || (_cache[0] = $event => $options.closeModal())\n })])]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_3__.VCardActions, {\n class: \"mt-10 d-flex justify-start align-center mobile-view\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VBtn_index_mjs__WEBPACK_IMPORTED_MODULE_1__.VBtn, {\n class: \"button primary half\",\n variant: \"flat\",\n disabled: $data.isDeleting,\n onClick: _cache[1] || (_cache[1] = $event => $options.deleteTask())\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [...(_cache[6] || (_cache[6] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"ÁNO\", -1 /* CACHED */)]))]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"disabled\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VBtn_index_mjs__WEBPACK_IMPORTED_MODULE_1__.VBtn, {\n class: \"button primary half outline\",\n onClick: _cache[2] || (_cache[2] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.withModifiers)($event => $options.closeModal(), [\"stop\"]))\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [...(_cache[7] || (_cache[7] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"ZRUŠIŤ\", -1 /* CACHED */)]))]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_resize_handle, {\n \"current-width\": _ctx.modalWidthPx,\n \"current-height\": _ctx.modalHeightPx,\n onResize: _ctx.handleModalResize,\n onResizeEnd: _ctx.handleResizeEnd\n }, null, 8 /* PROPS */, [\"current-width\", \"current-height\", \"onResize\", \"onResizeEnd\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"width\", \"height\"]);\n}\n\n/* Vuetify */\n\n\n\n\n\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/task/z-delete-task-modal.vue?./node_modules/webpack-plugin-vuetify/dist/scriptLoader.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B5%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); +eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; }\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n/* harmony import */ var vuetify_lib_components_VBtn_index_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vuetify/lib/components/VBtn/index.mjs */ \"./node_modules/vuetify/lib/components/VBtn/VBtn.mjs\");\n/* harmony import */ var vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vuetify/lib/components/VCard/index.mjs */ \"./node_modules/vuetify/lib/components/VCard/VCard.mjs\");\n/* harmony import */ var vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vuetify/lib/components/VCard/index.mjs */ \"./node_modules/vuetify/lib/components/VCard/VCardActions.mjs\");\n/* harmony import */ var vuetify_lib_components_VDialog_index_mjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! vuetify/lib/components/VDialog/index.mjs */ \"./node_modules/vuetify/lib/components/VDialog/VDialog.mjs\");\n\nconst _hoisted_1 = {\n class: \"d-flex justify-space-between align-center\"\n};\nconst _hoisted_2 = {\n class: \"d-flex align-center\"\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_a_reset_size_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-reset-size-button\");\n const _component_a_close_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-close-button\");\n \n \n const _component_a_resize_handle = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-resize-handle\");\n \n \n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(vuetify_lib_components_VDialog_index_mjs__WEBPACK_IMPORTED_MODULE_4__.VDialog, {\n modelValue: $data.visible,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => $data.visible = $event),\n width: _ctx.modalWidth,\n height: _ctx.modalHeight,\n persistent: \"\",\n \"retain-focus\": false\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_2__.VCard, {\n style: {\n \"position\": \"relative\"\n }\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"h1\", null, [_cache[4] || (_cache[4] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\" Ste si istý, že chcete zmazať sub task z mastertasku \", -1 /* CACHED */)), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"b\", null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($data.subtask.project_code), 1 /* TEXT */), _cache[5] || (_cache[5] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"? \", -1 /* CACHED */))]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_reset_size_button, {\n onReset: _ctx.resetModalSize\n }, null, 8 /* PROPS */, [\"onReset\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_close_button, {\n class: \"mb-15\",\n onClose: _cache[0] || (_cache[0] = $event => $options.closeModal())\n })])]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_3__.VCardActions, {\n class: \"mt-10 d-flex justify-start align-center mobile-view\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VBtn_index_mjs__WEBPACK_IMPORTED_MODULE_1__.VBtn, {\n class: \"button primary half\",\n variant: \"flat\",\n disabled: $data.isDeleting,\n onClick: _cache[1] || (_cache[1] = $event => $options.deleteTask())\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [...(_cache[6] || (_cache[6] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"ÁNO\", -1 /* CACHED */)]))]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"disabled\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VBtn_index_mjs__WEBPACK_IMPORTED_MODULE_1__.VBtn, {\n class: \"button primary half outline\",\n onClick: _cache[2] || (_cache[2] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.withModifiers)($event => $options.closeModal(), [\"stop\"]))\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [...(_cache[7] || (_cache[7] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"ZRUŠIŤ\", -1 /* CACHED */)]))]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_resize_handle, {\n \"current-width\": _ctx.modalWidthPx,\n \"current-height\": _ctx.modalHeightPx,\n onResize: _ctx.handleModalResize,\n onResizeEnd: _ctx.handleResizeEnd\n }, null, 8 /* PROPS */, [\"current-width\", \"current-height\", \"onResize\", \"onResizeEnd\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"width\", \"height\"]);\n}\n\n/* Vuetify */\n\n\n\n\n\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/task/z-delete-task-modal.vue?./node_modules/webpack-plugin-vuetify/dist/scriptLoader.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B5%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); /***/ }), diff --git a/app/dist/js/src_plugins_app__layout_app_app_layout_vue.js b/app/dist/js/src_plugins_app__layout_app_app_layout_vue.js index 90320e2..bf70018 100644 --- a/app/dist/js/src_plugins_app__layout_app_app_layout_vue.js +++ b/app/dist/js/src_plugins_app__layout_app_app_layout_vue.js @@ -81,7 +81,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vue /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _components_a_sidemenu_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_components/a-sidemenu.vue */ \"./src/plugins/app/_layout/app/_components/a-sidemenu.vue\");\n/* harmony import */ var _components_a_header_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_components/a-header.vue */ \"./src/plugins/app/_layout/app/_components/a-header.vue\");\n/* provided dependency */ var console = __webpack_require__(/*! ./node_modules/console-browserify/index.js */ \"./node_modules/console-browserify/index.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n components: {\n ASidemenu: _components_a_sidemenu_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n AHeader: _components_a_header_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n },\n data() {\n return {\n loader: null\n };\n },\n async mounted() {\n this.loader = this.$loading.show();\n try {\n await this.$store.dispatch('tm/initialize');\n } catch (error) {\n this.$toast.error(this.$parseError(error));\n if (true) /* eslint-disable */console.log(...oo_oo(`2651960922_40_4_40_50_4`, '[app.layout.vue] Error: ', error));\n } finally {\n this.loader?.hide();\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/app/_layout/app/app.layout.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); +eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _components_a_sidemenu_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_components/a-sidemenu.vue */ \"./src/plugins/app/_layout/app/_components/a-sidemenu.vue\");\n/* harmony import */ var _components_a_header_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_components/a-header.vue */ \"./src/plugins/app/_layout/app/_components/a-header.vue\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n components: {\n ASidemenu: _components_a_sidemenu_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n AHeader: _components_a_header_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n },\n data() {\n return {\n loader: null\n };\n },\n async mounted() {\n this.loader = this.$loading.show();\n try {\n await this.$store.dispatch('tm/initialize');\n } catch (error) {\n this.$toast.error(this.$parseError(error));\n } finally {\n this.loader?.hide();\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/app/_layout/app/app.layout.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); /***/ }), diff --git a/app/dist/js/src_plugins_lib_auth_login_login_vue.js b/app/dist/js/src_plugins_lib_auth_login_login_vue.js index d4f709a..e74617b 100644 --- a/app/dist/js/src_plugins_lib_auth_login_login_vue.js +++ b/app/dist/js/src_plugins_lib_auth_login_login_vue.js @@ -15,7 +15,7 @@ \**********************************************************************************************************************************************************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { -eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _vuelidate_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @vuelidate/core */ \"./node_modules/@vuelidate/core/dist/index.esm.js\");\n/* harmony import */ var _vuelidate_validators__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @vuelidate/validators */ \"./node_modules/@vuelidate/validators/dist/index.esm.js\");\n/* harmony import */ var _plugins_lib_auth_utils_error_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/plugins/lib@auth/_utils/error.utils */ \"./src/plugins/lib@auth/_utils/error.utils.ts\");\n/* provided dependency */ var console = __webpack_require__(/*! ./node_modules/console-browserify/index.js */ \"./node_modules/console-browserify/index.js\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n data() {\n return {\n errorUtils: _plugins_lib_auth_utils_error_utils__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n v$: (0,_vuelidate_core__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(),\n form: {},\n // form: {\n // \temail: 'jan.fajnor@jandl.sk',\n // \tpassword: 'testpassword'\n // },\n showPassword: false\n };\n },\n validations() {\n return {\n form: {\n email: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_2__.required,\n email: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_2__.email\n },\n password: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_2__.required,\n minLength: (0,_vuelidate_validators__WEBPACK_IMPORTED_MODULE_2__.minLength)(12)\n }\n }\n };\n },\n methods: {\n async submit() {\n if (!(await this.v$.$validate())) return;\n try {\n await this.$store.dispatch('auth/login', this.form);\n this.$router.push({\n name: 'Dashboard - Tasks'\n });\n } catch (error) {\n this.$toast.error(this.$parseError(error));\n if (true) /* eslint-disable */console.log(...oo_oo(`788159455_55_5_55_53_4`, '[a-login-form.vue] Error: ', error));\n }\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/lib@auth/login/_components/a-login-form.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); +eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _vuelidate_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @vuelidate/core */ \"./node_modules/@vuelidate/core/dist/index.esm.js\");\n/* harmony import */ var _vuelidate_validators__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @vuelidate/validators */ \"./node_modules/@vuelidate/validators/dist/index.esm.js\");\n/* harmony import */ var _plugins_lib_auth_utils_error_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/plugins/lib@auth/_utils/error.utils */ \"./src/plugins/lib@auth/_utils/error.utils.ts\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n data() {\n return {\n errorUtils: _plugins_lib_auth_utils_error_utils__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n v$: (0,_vuelidate_core__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(),\n form: {},\n // form: {\n // \temail: 'jan.fajnor@jandl.sk',\n // \tpassword: 'testpassword'\n // },\n showPassword: false\n };\n },\n validations() {\n return {\n form: {\n email: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_2__.required,\n email: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_2__.email\n },\n password: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_2__.required,\n minLength: (0,_vuelidate_validators__WEBPACK_IMPORTED_MODULE_2__.minLength)(12)\n }\n }\n };\n },\n methods: {\n async submit() {\n if (!(await this.v$.$validate())) return;\n try {\n await this.$store.dispatch('auth/login', this.form);\n this.$router.push({\n name: 'Dashboard - Tasks'\n });\n } catch (error) {\n this.$toast.error(this.$parseError(error));\n }\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/lib@auth/login/_components/a-login-form.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); /***/ }), @@ -55,7 +55,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { -eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; }\n/* harmony export */ });\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n/* harmony import */ var vuetify_lib_components_VBtn_index_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vuetify/lib/components/VBtn/index.mjs */ \"./node_modules/vuetify/lib/components/VBtn/VBtn.mjs\");\n/* harmony import */ var vuetify_lib_components_VForm_index_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vuetify/lib/components/VForm/index.mjs */ \"./node_modules/vuetify/lib/components/VForm/VForm.mjs\");\n/* harmony import */ var vuetify_lib_components_VTextField_index_mjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! vuetify/lib/components/VTextField/index.mjs */ \"./node_modules/vuetify/lib/components/VTextField/VTextField.mjs\");\n\n\nconst _hoisted_1 = {\n class: \"d-flex flex-column\"\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n \n \n \n return (0,vue__WEBPACK_IMPORTED_MODULE_1__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_1__.createBlock)(vuetify_lib_components_VForm_index_mjs__WEBPACK_IMPORTED_MODULE_3__.VForm, {\n onKeydown: _cache[5] || (_cache[5] = (0,vue__WEBPACK_IMPORTED_MODULE_1__.withKeys)($event => $options.submit(), [\"enter\"]))\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_1__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_1__.createVNode)(vuetify_lib_components_VTextField_index_mjs__WEBPACK_IMPORTED_MODULE_4__.VTextField, {\n modelValue: $data.form.email,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => $data.form.email = $event),\n label: \"E-mail\",\n variant: \"solo\",\n autocomplete: \"email\",\n class: (0,vue__WEBPACK_IMPORTED_MODULE_1__.normalizeClass)([\"mb-2\", {\n error: $data.v$.form.email.$errors.length\n }]),\n \"bg-color\": \"white\",\n hint: $data.v$.form.email.$errors ? $data.errorUtils.parseErrors($data.v$.form.email.$errors) : null\n }, null, 8 /* PROPS */, [\"modelValue\", \"hint\", \"class\"]), (0,vue__WEBPACK_IMPORTED_MODULE_1__.createVNode)(vuetify_lib_components_VTextField_index_mjs__WEBPACK_IMPORTED_MODULE_4__.VTextField, {\n modelValue: $data.form.password,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => $data.form.password = $event),\n type: $data.showPassword ? 'text' : 'password',\n variant: \"solo\",\n \"bg-color\": \"white\",\n class: (0,vue__WEBPACK_IMPORTED_MODULE_1__.normalizeClass)([\"mb-2\", {\n error: $data.v$.form.password.$errors.length\n }]),\n counter: 12,\n label: \"Heslo\",\n autocomplete: \"current-password\",\n hint: $data.v$.form.password.$errors ? $data.errorUtils.parseErrors($data.v$.form.password.$errors) : null,\n \"append-icon\": $data.showPassword ? 'mdi-eye' : 'mdi-eye-off',\n \"onClick:append\": _cache[2] || (_cache[2] = $event => $data.showPassword = !$data.showPassword)\n }, null, 8 /* PROPS */, [\"modelValue\", \"type\", \"hint\", \"class\", \"append-icon\"]), (0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)(\"div\", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_1__.createVNode)(vuetify_lib_components_VBtn_index_mjs__WEBPACK_IMPORTED_MODULE_2__.VBtn, {\n class: \"button primary block\",\n color: \"#7F39FB\",\n onClick: _cache[3] || (_cache[3] = $event => $options.submit())\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_1__.withCtx)(() => [...(_cache[6] || (_cache[6] = [(0,vue__WEBPACK_IMPORTED_MODULE_1__.createTextVNode)(\"Log In\", -1 /* CACHED */)]))]),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)(\"p\", {\n class: \"mt-5 text-center cursor-pointer\",\n onClick: _cache[4] || (_cache[4] = $event => _ctx.$router.push({\n name: 'Forgot password'\n }))\n }, \"Forgotten password ?\")])]),\n _: 1 /* STABLE */\n });\n}\n\n/* Vuetify */\n\n\n\n\n\n\n//# sourceURL=webpack://jandl/./src/plugins/lib@auth/login/_components/a-login-form.vue?./node_modules/webpack-plugin-vuetify/dist/scriptLoader.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B5%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); +eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; }\n/* harmony export */ });\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n/* harmony import */ var vuetify_lib_components_VBtn_index_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vuetify/lib/components/VBtn/index.mjs */ \"./node_modules/vuetify/lib/components/VBtn/VBtn.mjs\");\n/* harmony import */ var vuetify_lib_components_VForm_index_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vuetify/lib/components/VForm/index.mjs */ \"./node_modules/vuetify/lib/components/VForm/VForm.mjs\");\n/* harmony import */ var vuetify_lib_components_VTextField_index_mjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! vuetify/lib/components/VTextField/index.mjs */ \"./node_modules/vuetify/lib/components/VTextField/VTextField.mjs\");\n\n\nconst _hoisted_1 = {\n class: \"d-flex flex-column\"\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n \n \n \n return (0,vue__WEBPACK_IMPORTED_MODULE_1__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_1__.createBlock)(vuetify_lib_components_VForm_index_mjs__WEBPACK_IMPORTED_MODULE_3__.VForm, {\n onKeydown: _cache[5] || (_cache[5] = (0,vue__WEBPACK_IMPORTED_MODULE_1__.withKeys)($event => $options.submit(), [\"enter\"]))\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_1__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_1__.createVNode)(vuetify_lib_components_VTextField_index_mjs__WEBPACK_IMPORTED_MODULE_4__.VTextField, {\n modelValue: $data.form.email,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => $data.form.email = $event),\n label: \"E-mail\",\n variant: \"solo\",\n autocomplete: \"email\",\n class: (0,vue__WEBPACK_IMPORTED_MODULE_1__.normalizeClass)([\"mb-2\", {\n error: $data.v$.form.email.$errors.length\n }]),\n \"bg-color\": \"white\",\n hint: $data.v$.form.email.$errors ? $data.errorUtils.parseErrors($data.v$.form.email.$errors) : null\n }, null, 8 /* PROPS */, [\"modelValue\", \"hint\", \"class\"]), (0,vue__WEBPACK_IMPORTED_MODULE_1__.createVNode)(vuetify_lib_components_VTextField_index_mjs__WEBPACK_IMPORTED_MODULE_4__.VTextField, {\n modelValue: $data.form.password,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => $data.form.password = $event),\n type: $data.showPassword ? 'text' : 'password',\n variant: \"solo\",\n \"bg-color\": \"white\",\n class: (0,vue__WEBPACK_IMPORTED_MODULE_1__.normalizeClass)([\"mb-2\", {\n error: $data.v$.form.password.$errors.length\n }]),\n counter: 12,\n label: \"Heslo\",\n autocomplete: \"current-password\",\n hint: $data.v$.form.password.$errors ? $data.errorUtils.parseErrors($data.v$.form.password.$errors) : null,\n \"append-icon\": $data.showPassword ? 'mdi-eye' : 'mdi-eye-off',\n \"onClick:append\": _cache[2] || (_cache[2] = $event => $data.showPassword = !$data.showPassword)\n }, null, 8 /* PROPS */, [\"modelValue\", \"type\", \"hint\", \"class\", \"append-icon\"]), (0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)(\"div\", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_1__.createVNode)(vuetify_lib_components_VBtn_index_mjs__WEBPACK_IMPORTED_MODULE_2__.VBtn, {\n class: \"button primary block\",\n color: \"#7F39FB\",\n onClick: _cache[3] || (_cache[3] = $event => $options.submit())\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_1__.withCtx)(() => [...(_cache[6] || (_cache[6] = [(0,vue__WEBPACK_IMPORTED_MODULE_1__.createTextVNode)(\"Log In\", -1 /* CACHED */)]))]),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)(\"p\", {\n class: \"mt-5 text-center cursor-pointer\",\n onClick: _cache[4] || (_cache[4] = $event => _ctx.$router.push({\n name: 'Forgot password'\n }))\n }, \" Forgotten password ? \")])]),\n _: 1 /* STABLE */\n });\n}\n\n/* Vuetify */\n\n\n\n\n\n\n//# sourceURL=webpack://jandl/./src/plugins/lib@auth/login/_components/a-login-form.vue?./node_modules/webpack-plugin-vuetify/dist/scriptLoader.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B5%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); /***/ }), diff --git a/app/dist/js/src_plugins_lib_auth_reset-password_reset-password_vue.js b/app/dist/js/src_plugins_lib_auth_reset-password_reset-password_vue.js index 82bfe0e..eb780cf 100644 --- a/app/dist/js/src_plugins_lib_auth_reset-password_reset-password_vue.js +++ b/app/dist/js/src_plugins_lib_auth_reset-password_reset-password_vue.js @@ -15,7 +15,7 @@ \****************************************************************************************************************************************************************************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { -eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _vuelidate_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @vuelidate/core */ \"./node_modules/@vuelidate/core/dist/index.esm.js\");\n/* harmony import */ var _vuelidate_validators__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @vuelidate/validators */ \"./node_modules/@vuelidate/validators/dist/index.esm.js\");\n/* harmony import */ var _plugins_lib_auth_utils_error_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/plugins/lib@auth/_utils/error.utils */ \"./src/plugins/lib@auth/_utils/error.utils.ts\");\n/* provided dependency */ var console = __webpack_require__(/*! ./node_modules/console-browserify/index.js */ \"./node_modules/console-browserify/index.js\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n props: {\n navigateToAfterPasswordReset: {\n type: String,\n required: true\n }\n },\n data() {\n return {\n errorUtils: _plugins_lib_auth_utils_error_utils__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n v$: (0,_vuelidate_core__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(),\n credentials: {\n email: this.$route.query.email,\n token: this.$route.query.token\n },\n showPassword: false,\n showConfirmationPassword: false\n };\n },\n validations() {\n return {\n credentials: {\n email: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_2__.required,\n email: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_2__.email\n },\n password: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_2__.required,\n minLength: (0,_vuelidate_validators__WEBPACK_IMPORTED_MODULE_2__.minLength)(12)\n },\n password_confirmation: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_2__.required,\n minLength: (0,_vuelidate_validators__WEBPACK_IMPORTED_MODULE_2__.minLength)(12),\n sameAs: (0,_vuelidate_validators__WEBPACK_IMPORTED_MODULE_2__.sameAs)(this.credentials.password)\n }\n }\n };\n },\n mounted() {\n if (!this.$route.query.token) return this.$toast.error('Error. Please check that the link is correct');\n },\n methods: {\n async submit() {\n if (!(await this.v$.$validate())) return;\n try {\n await this.$store.dispatch('auth/resetPassword', this.credentials);\n this.$router.push({\n name: 'Login'\n });\n this.$toast.success('Your password has been successfully changed.');\n } catch (error) {\n this.$toast.error(this.$parseError(error));\n if (true) /* eslint-disable */console.log(...oo_oo(`2009189667_66_5_66_62_4`, '[a-reset-password-form.vue] Error: ', error));\n }\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/lib@auth/reset-password/_components/a-reset-password-form.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); +eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _vuelidate_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @vuelidate/core */ \"./node_modules/@vuelidate/core/dist/index.esm.js\");\n/* harmony import */ var _vuelidate_validators__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @vuelidate/validators */ \"./node_modules/@vuelidate/validators/dist/index.esm.js\");\n/* harmony import */ var _plugins_lib_auth_utils_error_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/plugins/lib@auth/_utils/error.utils */ \"./src/plugins/lib@auth/_utils/error.utils.ts\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n props: {\n navigateToAfterPasswordReset: {\n type: String,\n required: true\n }\n },\n data() {\n return {\n errorUtils: _plugins_lib_auth_utils_error_utils__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n v$: (0,_vuelidate_core__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(),\n credentials: {\n email: this.$route.query.email,\n token: this.$route.query.token\n },\n showPassword: false,\n showConfirmationPassword: false\n };\n },\n validations() {\n return {\n credentials: {\n email: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_2__.required,\n email: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_2__.email\n },\n password: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_2__.required,\n minLength: (0,_vuelidate_validators__WEBPACK_IMPORTED_MODULE_2__.minLength)(12)\n },\n password_confirmation: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_2__.required,\n minLength: (0,_vuelidate_validators__WEBPACK_IMPORTED_MODULE_2__.minLength)(12),\n sameAs: (0,_vuelidate_validators__WEBPACK_IMPORTED_MODULE_2__.sameAs)(this.credentials.password)\n }\n }\n };\n },\n mounted() {\n if (!this.$route.query.token) return this.$toast.error('Error. Please check that the link is correct');\n },\n methods: {\n async submit() {\n if (!(await this.v$.$validate())) return;\n try {\n await this.$store.dispatch('auth/resetPassword', this.credentials);\n this.$router.push({\n name: 'Login'\n });\n this.$toast.success('Your password has been successfully changed.');\n } catch (error) {\n this.$toast.error(this.$parseError(error));\n }\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/lib@auth/reset-password/_components/a-reset-password-form.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); /***/ }), diff --git a/app/dist/js/src_plugins_tm_dashboard__mixins_Filter_mixin_ts-src_plugins_tm_dashboard__components_z-timel-a5416d.js b/app/dist/js/src_plugins_tm_dashboard__mixins_Filter_mixin_ts-src_plugins_tm_dashboard__components_z-timel-a5416d.js index 864cf07..1223fd0 100644 --- a/app/dist/js/src_plugins_tm_dashboard__mixins_Filter_mixin_ts-src_plugins_tm_dashboard__components_z-timel-a5416d.js +++ b/app/dist/js/src_plugins_tm_dashboard__mixins_Filter_mixin_ts-src_plugins_tm_dashboard__components_z-timel-a5416d.js @@ -15,7 +15,7 @@ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ \"./node_modules/core-js/modules/esnext.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/esnext.iterator.find.js */ \"./node_modules/core-js/modules/esnext.iterator.find.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/esnext.iterator.map.js */ \"./node_modules/core-js/modules/esnext.iterator.map.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var date_fns__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! date-fns */ \"./node_modules/date-fns/esm/addDays/index.js\");\n/* harmony import */ var _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/plugins/tm@_utils/tm.utils */ \"./src/plugins/tm@_utils/tm.utils.ts\");\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm-bundler.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! moment */ \"./node_modules/moment/moment.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _a_timeline_event_vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./a-timeline-event.vue */ \"./src/plugins/tm@dashboard/_components/a-timeline-event.vue\");\n/* provided dependency */ var console = __webpack_require__(/*! ./node_modules/console-browserify/index.js */ \"./node_modules/console-browserify/index.js\");\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n components: {\n ATimelineEvent: _a_timeline_event_vue__WEBPACK_IMPORTED_MODULE_7__[\"default\"]\n },\n props: {\n calData: {\n type: Object,\n required: true,\n default() {\n return {};\n }\n },\n calConfig: {\n type: Object,\n required: true,\n default() {\n return {\n date: new Date(),\n scrollHour: 7\n };\n }\n },\n splits: {\n type: Array,\n required: false,\n default() {\n return [];\n }\n }\n },\n data() {\n return {\n vueCalConfig: {\n editing: {\n title: false,\n drag: true,\n resize: false,\n delete: false,\n create: false\n }\n },\n focusedEventId: null,\n timeCellHeight: 100,\n tmUtils: _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n visible: false\n };\n },\n computed: {\n ...(0,vuex__WEBPACK_IMPORTED_MODULE_5__.mapGetters)('tm', ['mastertasks'])\n },\n methods: {\n isAfterDeadline(event) {\n const deadline = this.getDeadline(event.subtask);\n if (!deadline) return;\n const mDate = moment__WEBPACK_IMPORTED_MODULE_6___default()(event.date);\n const mDeadline = moment__WEBPACK_IMPORTED_MODULE_6___default()(deadline);\n const hours = event.end.getHours();\n const minutes = event.end.getMinutes();\n mDate.hours(hours);\n mDate.minutes(minutes);\n return mDate.isAfter(mDeadline);\n },\n getDeadline(subtask) {\n if (subtask?.deadline) return subtask.deadline;\n return subtask.master_task_deadline;\n },\n weekChanged() {\n const scrollContainer = this.$el.getElementsByClassName('vuecal__scrollable-body')[0];\n scrollContainer.scrollLeft = 0;\n },\n async eventMoved({\n event,\n newSplit\n }) {\n const date = (0,date_fns__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(this.calConfig.date, newSplit - 1);\n const start = date.setHours(Math.floor(event.startTimeMinutes / 60), Math.round(event.startTimeMinutes % 60), 0);\n const end = date.setHours(Math.floor(event.endTimeMinutes / 60), Math.round(event.endTimeMinutes % 60), 0);\n const split = this.splits.find(split => split.id == newSplit);\n if (this.$route.name == 'Dashboard - Tasks') {\n const editedSubtask = {\n ...event.subtask,\n timeblocks: [...event.subtask.timeblocks, {\n id: event._timeblock_id,\n is_finished: 0,\n start: _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_4__[\"default\"].formatDateTimeForBackend(start),\n end: _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_4__[\"default\"].formatDateTimeForBackend(end)\n }],\n timesheets: event.subtask.timesheets.map(timesheet => {\n delete timesheet.employee_name;\n return timesheet;\n })\n };\n try {\n const {\n subtask\n } = await this.$axios.put_auth(`v1/subtasks/${editedSubtask.id}`, editedSubtask);\n this.$events.emit('on-subtask-edited', subtask);\n if (subtask.employee_id == this.$store.getters['auth/user'].id) this.$events.emit('show-task-add-time-modal', {\n subtask\n });\n } catch (error) {\n this.$toast.error(error.message || error);\n if (true) /* eslint-disable */console.log(...oo_oo(`1460579881_240_12_240_58_4`, '[z-timeline.vue] Error: ', error));\n }\n const isAfterDeadline = this.isAfterDeadline(event);\n if (isAfterDeadline) this.$toast.error('Timeblock, ktorý ste presunuli je po deadline !');\n } else if (this.$route.name == 'Dashboard - Teams') {\n const editedSubtask = {\n ...event.subtask,\n employee_id: split.employee_id,\n timeblocks: [...event.subtask.timeblocks, {\n id: event._timeblock_id,\n is_finished: 0,\n start: _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_4__[\"default\"].formatDateTimeForBackend(event.start),\n end: _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_4__[\"default\"].formatDateTimeForBackend(event.end)\n }],\n timesheets: event.subtask.timesheets.map(timesheet => {\n delete timesheet.employee_name;\n return timesheet;\n })\n };\n try {\n const {\n subtask\n } = await this.$axios.put_auth(`v1/subtasks/${editedSubtask.id}`, editedSubtask);\n this.$events.emit('on-subtask-edited', subtask);\n } catch (error) {\n this.$toast.error(error.message || error);\n if (true) /* eslint-disable */console.log(...oo_oo(`1460579881_275_12_275_58_4`, '[z-timeline.vue] Error: ', error));\n }\n }\n },\n onReady() {\n this.correctMargins();\n },\n correctMargins() {\n if (!this.$el.getElementsByClassName('vuecal__split-days-headers').length) return;\n const heightOfDayHeader = this.$el.getElementsByClassName('vuecal__split-days-headers')[0].clientHeight;\n this.$el.getElementsByClassName('vuecal__time-column')[0].style.marginTop = `${heightOfDayHeader}px`;\n this.$el.getElementsByClassName('vuecal__cells-body')[0].style.marginTop = `${heightOfDayHeader}px`;\n },\n getHeadingDate(value) {\n const date = new Date(value);\n const today = new Date();\n const yesterday = new Date(new Date().setDate(today.getDate() - 1));\n const tomorrow = new Date(new Date().setDate(today.getDate() + 1));\n if (today.toLocaleDateString('sk-SK') === date.toLocaleDateString('sk-SK')) return 'Dnes';\n if (yesterday.toLocaleDateString('sk-SK') === date.toLocaleDateString('sk-SK')) return 'Včera';\n if (tomorrow.toLocaleDateString('sk-SK') === date.toLocaleDateString('sk-SK')) return 'Zajtra';\n return date.toLocaleDateString('sk-SK');\n },\n taskClicked(subtask) {\n // console.log('task clicked')\n },\n eventFocused(event) {\n this.focusedEventId = event.task_id;\n // console.log(`Focused: ${event.task_id}`)\n },\n completeTask({\n subtask\n }) {\n this.$events.emit('show-complete-task-modal', {\n subtask\n });\n },\n // async toggleTimeblockIsFinished(event) {\n // \tif (!event.timeblock.is_finished)\n // \t\tthis.$events.emit('show-task-add-time-modal', { subtask: event.subtask })\n\n // \ttry {\n // \t\tawait this.$axios.put_auth(`v1/timeblocks/${event._timeblock_id}`, {is_finished: !event.timeblock.is_finished})\n // \t\t// TODO: Co mi to vrati? A updatenut\n // \t} catch (error) {\n // \t\tthis.$toast.error(error.message || error)\n // \t}\n // },\n\n async toggleTimeblockIsFinished(event) {\n const subtask = event.subtask;\n const timeblock = subtask.timeblocks.find(originalTimeblock => originalTimeblock.id == event._timeblock_id);\n timeblock.is_finished = timeblock?.is_finished ? 0 : 1;\n try {\n const {\n data: newTimeblock\n } = await this.$axios.put_auth(`v1/timeblocks/${timeblock.id}`, timeblock);\n subtask.timeblocks = subtask.timeblocks.map(originalTimeblock => {\n if (originalTimeblock.id == newTimeblock.id) return newTimeblock;\n return originalTimeblock;\n });\n this.$events.emit('on-subtask-edited', subtask);\n if (timeblock.is_finished) this.$events.emit('show-task-add-time-modal', {\n subtask\n });\n } catch (error) {\n this.$toast.error(error.message || error);\n if (true) /* eslint-disable */console.log(...oo_oo(`1460579881_377_10_377_56_4`, '[z-timeline.vue] Error: ', error));\n }\n },\n editTask({\n subtask\n }) {\n this.$events.emit('show-subtask-modal', {\n subtask\n });\n },\n deleteTimeBlockInTask({\n subtask\n }) {\n this.$events.emit('show-delete-timeblock-modal', {\n subtask\n });\n },\n editBlocker({\n blocker\n }) {\n this.$events.emit('show-blocker-modal', {\n blocker\n });\n },\n deleteBlocker({\n blocker\n }) {\n this.$events.emit('show-delete-blocker-modal', {\n blocker\n });\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@dashboard/_components/z-timeline.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); +eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ \"./node_modules/core-js/modules/esnext.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/esnext.iterator.find.js */ \"./node_modules/core-js/modules/esnext.iterator.find.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/esnext.iterator.map.js */ \"./node_modules/core-js/modules/esnext.iterator.map.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var date_fns__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! date-fns */ \"./node_modules/date-fns/esm/addDays/index.js\");\n/* harmony import */ var _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/plugins/tm@_utils/tm.utils */ \"./src/plugins/tm@_utils/tm.utils.ts\");\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm-bundler.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! moment */ \"./node_modules/moment/moment.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _a_timeline_event_vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./a-timeline-event.vue */ \"./src/plugins/tm@dashboard/_components/a-timeline-event.vue\");\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n components: {\n ATimelineEvent: _a_timeline_event_vue__WEBPACK_IMPORTED_MODULE_7__[\"default\"]\n },\n props: {\n calData: {\n type: Object,\n required: true,\n default() {\n return {};\n }\n },\n calConfig: {\n type: Object,\n required: true,\n default() {\n return {\n date: new Date(),\n scrollHour: 7\n };\n }\n },\n splits: {\n type: Array,\n required: false,\n default() {\n return [];\n }\n }\n },\n data() {\n return {\n vueCalConfig: {\n editing: {\n title: false,\n drag: true,\n resize: false,\n delete: false,\n create: false\n }\n },\n focusedEventId: null,\n timeCellHeight: 100,\n tmUtils: _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n visible: false\n };\n },\n computed: {\n ...(0,vuex__WEBPACK_IMPORTED_MODULE_5__.mapGetters)('tm', ['mastertasks'])\n },\n methods: {\n isAfterDeadline(event) {\n const deadline = this.getDeadline(event.subtask);\n if (!deadline) return;\n const mDate = moment__WEBPACK_IMPORTED_MODULE_6___default()(event.date);\n const mDeadline = moment__WEBPACK_IMPORTED_MODULE_6___default()(deadline);\n const hours = event.end.getHours();\n const minutes = event.end.getMinutes();\n mDate.hours(hours);\n mDate.minutes(minutes);\n return mDate.isAfter(mDeadline);\n },\n getDeadline(subtask) {\n if (subtask?.deadline) return subtask.deadline;\n return subtask.master_task_deadline;\n },\n weekChanged() {\n const scrollContainer = this.$el.getElementsByClassName('vuecal__scrollable-body')[0];\n scrollContainer.scrollLeft = 0;\n },\n async eventMoved({\n event,\n newSplit\n }) {\n const date = (0,date_fns__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(this.calConfig.date, newSplit - 1);\n const start = date.setHours(Math.floor(event.startTimeMinutes / 60), Math.round(event.startTimeMinutes % 60), 0);\n const end = date.setHours(Math.floor(event.endTimeMinutes / 60), Math.round(event.endTimeMinutes % 60), 0);\n const split = this.splits.find(split => split.id == newSplit);\n if (this.$route.name == 'Dashboard - Tasks') {\n const editedSubtask = {\n ...event.subtask,\n timeblocks: [...event.subtask.timeblocks, {\n id: event._timeblock_id,\n is_finished: 0,\n start: _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_4__[\"default\"].formatDateTimeForBackend(start),\n end: _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_4__[\"default\"].formatDateTimeForBackend(end)\n }],\n timesheets: event.subtask.timesheets.map(timesheet => {\n delete timesheet.employee_name;\n return timesheet;\n })\n };\n try {\n const {\n subtask\n } = await this.$axios.put_auth(`v1/subtasks/${editedSubtask.id}`, editedSubtask);\n this.$events.emit('on-subtask-edited', subtask);\n if (subtask.employee_id == this.$store.getters['auth/user'].id) this.$events.emit('show-task-add-time-modal', {\n subtask\n });\n } catch (error) {\n this.$toast.error(error.message || error);\n }\n const isAfterDeadline = this.isAfterDeadline(event);\n if (isAfterDeadline) this.$toast.error('Timeblock, ktorý ste presunuli je po deadline !');\n } else if (this.$route.name == 'Dashboard - Teams') {\n const editedSubtask = {\n ...event.subtask,\n employee_id: split.employee_id,\n timeblocks: [...event.subtask.timeblocks, {\n id: event._timeblock_id,\n is_finished: 0,\n start: _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_4__[\"default\"].formatDateTimeForBackend(event.start),\n end: _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_4__[\"default\"].formatDateTimeForBackend(event.end)\n }],\n timesheets: event.subtask.timesheets.map(timesheet => {\n delete timesheet.employee_name;\n return timesheet;\n })\n };\n try {\n const {\n subtask\n } = await this.$axios.put_auth(`v1/subtasks/${editedSubtask.id}`, editedSubtask);\n this.$events.emit('on-subtask-edited', subtask);\n } catch (error) {\n this.$toast.error(error.message || error);\n }\n }\n },\n onReady() {\n this.correctMargins();\n },\n correctMargins() {\n if (!this.$el.getElementsByClassName('vuecal__split-days-headers').length) return;\n const heightOfDayHeader = this.$el.getElementsByClassName('vuecal__split-days-headers')[0].clientHeight;\n this.$el.getElementsByClassName('vuecal__time-column')[0].style.marginTop = `${heightOfDayHeader}px`;\n this.$el.getElementsByClassName('vuecal__cells-body')[0].style.marginTop = `${heightOfDayHeader}px`;\n },\n getHeadingDate(value) {\n const date = new Date(value);\n const today = new Date();\n const yesterday = new Date(new Date().setDate(today.getDate() - 1));\n const tomorrow = new Date(new Date().setDate(today.getDate() + 1));\n if (today.toLocaleDateString('sk-SK') === date.toLocaleDateString('sk-SK')) return 'Dnes';\n if (yesterday.toLocaleDateString('sk-SK') === date.toLocaleDateString('sk-SK')) return 'Včera';\n if (tomorrow.toLocaleDateString('sk-SK') === date.toLocaleDateString('sk-SK')) return 'Zajtra';\n return date.toLocaleDateString('sk-SK');\n },\n taskClicked(subtask) {\n // console.log('task clicked')\n },\n eventFocused(event) {\n this.focusedEventId = event.task_id;\n // console.log(`Focused: ${event.task_id}`)\n },\n completeTask({\n subtask\n }) {\n this.$events.emit('show-complete-task-modal', {\n subtask\n });\n },\n // async toggleTimeblockIsFinished(event) {\n // \tif (!event.timeblock.is_finished)\n // \t\tthis.$events.emit('show-task-add-time-modal', { subtask: event.subtask })\n\n // \ttry {\n // \t\tawait this.$axios.put_auth(`v1/timeblocks/${event._timeblock_id}`, {is_finished: !event.timeblock.is_finished})\n // \t\t// TODO: Co mi to vrati? A updatenut\n // \t} catch (error) {\n // \t\tthis.$toast.error(error.message || error)\n // \t}\n // },\n\n async toggleTimeblockIsFinished(event) {\n const subtask = event.subtask;\n const timeblock = subtask.timeblocks.find(originalTimeblock => originalTimeblock.id == event._timeblock_id);\n timeblock.is_finished = timeblock?.is_finished ? 0 : 1;\n try {\n const {\n data: newTimeblock\n } = await this.$axios.put_auth(`v1/timeblocks/${timeblock.id}`, timeblock);\n subtask.timeblocks = subtask.timeblocks.map(originalTimeblock => {\n if (originalTimeblock.id == newTimeblock.id) return newTimeblock;\n return originalTimeblock;\n });\n this.$events.emit('on-subtask-edited', subtask);\n if (timeblock.is_finished) this.$events.emit('show-task-add-time-modal', {\n subtask\n });\n } catch (error) {\n this.$toast.error(error.message || error);\n }\n },\n editTask({\n subtask\n }) {\n this.$events.emit('show-subtask-modal', {\n subtask\n });\n },\n deleteTimeBlockInTask({\n subtask\n }) {\n this.$events.emit('show-delete-timeblock-modal', {\n subtask\n });\n },\n editBlocker({\n blocker\n }) {\n this.$events.emit('show-blocker-modal', {\n blocker\n });\n },\n deleteBlocker({\n blocker\n }) {\n this.$events.emit('show-delete-blocker-modal', {\n blocker\n });\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@dashboard/_components/z-timeline.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); /***/ }), diff --git a/app/dist/js/src_plugins_tm_dashboard_projects_projects_vue.js b/app/dist/js/src_plugins_tm_dashboard_projects_projects_vue.js index e89deef..29165cb 100644 --- a/app/dist/js/src_plugins_tm_dashboard_projects_projects_vue.js +++ b/app/dist/js/src_plugins_tm_dashboard_projects_projects_vue.js @@ -125,7 +125,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var cor /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ \"./node_modules/core-js/modules/esnext.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/esnext.iterator.filter.js */ \"./node_modules/core-js/modules/esnext.iterator.filter.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/esnext.iterator.find.js */ \"./node_modules/core-js/modules/esnext.iterator.find.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/esnext.iterator.map.js */ \"./node_modules/core-js/modules/esnext.iterator.map.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _components_a_project_calendar_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_components/a-project-calendar.vue */ \"./src/plugins/tm@dashboard/projects/_components/a-project-calendar.vue\");\n/* harmony import */ var _components_a_project_filter_vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_components/a-project-filter.vue */ \"./src/plugins/tm@dashboard/projects/_components/a-project-filter.vue\");\n/* harmony import */ var _mixins_Filter_mixin__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../_mixins/Filter.mixin */ \"./src/plugins/tm@dashboard/_mixins/Filter.mixin.ts\");\n/* provided dependency */ var console = __webpack_require__(/*! ./node_modules/console-browserify/index.js */ \"./node_modules/console-browserify/index.js\");\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n components: {\n AProjectCalendar: _components_a_project_calendar_vue__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n AProjectFilter: _components_a_project_filter_vue__WEBPACK_IMPORTED_MODULE_5__[\"default\"]\n },\n mixins: [_mixins_Filter_mixin__WEBPACK_IMPORTED_MODULE_6__[\"default\"]],\n data() {\n return {\n mastertasks: null,\n filter: null\n };\n },\n computed: {\n filteredProjects() {\n if (!this.mastertasks) return null;\n\n // return this.mastertasks.map(event => {\n\n // \tconst startOfDay = new Date(event.starts_at);\n // \tstartOfDay.setHours(0, 0, 0, 0); // Set to 00:00:00.000\n\n // \tconst endOfDay = new Date(event.deadline);\n // \tendOfDay.setHours(23, 59, 59, 999); // Set to 23:59:59.999\n\n // \tconsole.log({\n // \t\tstart: startOfDay,\n // \t\tend: endOfDay,\n // \t})\n\n // \treturn {\n // \t\tid: event.id,\n // \t\ttitle: `${event.project_code} - ${event.name}`,\n // \t\ttitle_html: `${event.project_code} - ${event.name}`,\n // \t\tstart: startOfDay,\n // \t\tend: endOfDay,\n // \t\tis_finished: event.is_finished,\n // \t\tproject_code: event.project_code,\n // \t\tbackgroundColor: `${event.color}`,\n // \t\tborderColor: event.color\n // \t};\n // });\n return this.mastertasks.map(event => {\n // const currentDate = new Date()\n // const eventDeadline = new Date(event.deadline)\n\n // const isEventOnCurrentDate =\n // eventDeadline.getFullYear() === currentDate.getFullYear() &&\n // eventDeadline.getMonth() === currentDate.getMonth() &&\n // eventDeadline.getDate() === currentDate.getDate()\n\n // console.log(\"isEventOnCurrentDate:\", isEventOnCurrentDate)\n // console.log(\"eventDeadline:\", eventDeadline)\n\n // const backgroundColor = isEventOnCurrentDate ? 'red' : event.color\n // console.log(\"backgroundColor:\", backgroundColor)\n return {\n id: event.id,\n title: `${event.project_code} - ${event.name}`,\n title_html: `${event.project_code} - ${event.name}`,\n start: new Date(event.starts_at),\n end: new Date(event.deadline),\n is_finished: event.is_finished,\n project_code: event.project_code,\n backgroundColor: `${event.color}`,\n borderColor: event.color\n };\n });\n }\n },\n mounted() {\n this.$events.on('on-mastertask-edited', () => this.onFilterChanged(this.filter));\n this.$events.on('on-mastertask-deleted', () => this.onFilterChanged(this.filter));\n },\n unmounted() {\n this.$events.off('on-mastertask-edited');\n this.$events.off('on-mastertask-deleted');\n },\n methods: {\n async onFilterChanged(filter) {\n this.mastertasks = null;\n this.filter = filter;\n const urlQueryObject = {};\n if (filter.employeeId) urlQueryObject.employee_id = filter.employeeId;\n if (filter.projectId) urlQueryObject.project_id = filter.projectId;\n if (filter.teamId) urlQueryObject.team_id = filter.teamId;\n if (filter.createdById) urlQueryObject.created_by = filter.createdById;\n if (filter.isFinished) urlQueryObject.is_finished = filter.isFinished ? 1 : 0;\n if (filter.month) urlQueryObject.month = filter.month;\n if (filter.year) urlQueryObject.year = filter.year;\n const queryParameters = new URLSearchParams(urlQueryObject).toString();\n try {\n const {\n mastertasks\n } = await this.$axios.get_auth(`v1/mastertasks?${queryParameters}`);\n this.mastertasks = mastertasks;\n } catch (error) {\n this.$toast.error('Nepodarilo sa nacitat data!');\n if (true) /* eslint-disable */console.log(...oo_oo(`130007368_123_5_123_49_4`, '[projects.vue] Error: ', error));\n }\n setTimeout(() => {\n this._initScrollListener();\n }, 100);\n },\n openMasterTaskModal(mastertaskId) {\n const mastertask = this.mastertasks.find(mastertask => mastertask.id == mastertaskId);\n this.$events.emit('show-mastertask-modal', {\n mastertask,\n editMode: false\n });\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@dashboard/projects/projects.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); +eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ \"./node_modules/core-js/modules/esnext.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/esnext.iterator.filter.js */ \"./node_modules/core-js/modules/esnext.iterator.filter.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/esnext.iterator.find.js */ \"./node_modules/core-js/modules/esnext.iterator.find.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/esnext.iterator.map.js */ \"./node_modules/core-js/modules/esnext.iterator.map.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _components_a_project_calendar_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_components/a-project-calendar.vue */ \"./src/plugins/tm@dashboard/projects/_components/a-project-calendar.vue\");\n/* harmony import */ var _components_a_project_filter_vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_components/a-project-filter.vue */ \"./src/plugins/tm@dashboard/projects/_components/a-project-filter.vue\");\n/* harmony import */ var _mixins_Filter_mixin__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../_mixins/Filter.mixin */ \"./src/plugins/tm@dashboard/_mixins/Filter.mixin.ts\");\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n components: {\n AProjectCalendar: _components_a_project_calendar_vue__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n AProjectFilter: _components_a_project_filter_vue__WEBPACK_IMPORTED_MODULE_5__[\"default\"]\n },\n mixins: [_mixins_Filter_mixin__WEBPACK_IMPORTED_MODULE_6__[\"default\"]],\n data() {\n return {\n mastertasks: null,\n filter: null\n };\n },\n computed: {\n filteredProjects() {\n if (!this.mastertasks) return null;\n\n // return this.mastertasks.map(event => {\n\n // \tconst startOfDay = new Date(event.starts_at);\n // \tstartOfDay.setHours(0, 0, 0, 0); // Set to 00:00:00.000\n\n // \tconst endOfDay = new Date(event.deadline);\n // \tendOfDay.setHours(23, 59, 59, 999); // Set to 23:59:59.999\n\n // \tconsole.log({\n // \t\tstart: startOfDay,\n // \t\tend: endOfDay,\n // \t})\n\n // \treturn {\n // \t\tid: event.id,\n // \t\ttitle: `${event.project_code} - ${event.name}`,\n // \t\ttitle_html: `${event.project_code} - ${event.name}`,\n // \t\tstart: startOfDay,\n // \t\tend: endOfDay,\n // \t\tis_finished: event.is_finished,\n // \t\tproject_code: event.project_code,\n // \t\tbackgroundColor: `${event.color}`,\n // \t\tborderColor: event.color\n // \t};\n // });\n return this.mastertasks.map(event => {\n // const currentDate = new Date()\n // const eventDeadline = new Date(event.deadline)\n\n // const isEventOnCurrentDate =\n // eventDeadline.getFullYear() === currentDate.getFullYear() &&\n // eventDeadline.getMonth() === currentDate.getMonth() &&\n // eventDeadline.getDate() === currentDate.getDate()\n\n // console.log(\"isEventOnCurrentDate:\", isEventOnCurrentDate)\n // console.log(\"eventDeadline:\", eventDeadline)\n\n // const backgroundColor = isEventOnCurrentDate ? 'red' : event.color\n // console.log(\"backgroundColor:\", backgroundColor)\n return {\n id: event.id,\n title: `${event.project_code} - ${event.name}`,\n title_html: `${event.project_code} - ${event.name}`,\n start: new Date(event.starts_at),\n end: new Date(event.deadline),\n is_finished: event.is_finished,\n project_code: event.project_code,\n backgroundColor: `${event.color}`,\n borderColor: event.color\n };\n });\n }\n },\n mounted() {\n this.$events.on('on-mastertask-edited', () => this.onFilterChanged(this.filter));\n this.$events.on('on-mastertask-deleted', () => this.onFilterChanged(this.filter));\n },\n unmounted() {\n this.$events.off('on-mastertask-edited');\n this.$events.off('on-mastertask-deleted');\n },\n methods: {\n async onFilterChanged(filter) {\n this.mastertasks = null;\n this.filter = filter;\n const urlQueryObject = {};\n if (filter.employeeId) urlQueryObject.employee_id = filter.employeeId;\n if (filter.projectId) urlQueryObject.project_id = filter.projectId;\n if (filter.teamId) urlQueryObject.team_id = filter.teamId;\n if (filter.createdById) urlQueryObject.created_by = filter.createdById;\n if (filter.isFinished) urlQueryObject.is_finished = filter.isFinished ? 1 : 0;\n if (filter.month) urlQueryObject.month = filter.month;\n if (filter.year) urlQueryObject.year = filter.year;\n const queryParameters = new URLSearchParams(urlQueryObject).toString();\n try {\n const {\n mastertasks\n } = await this.$axios.get_auth(`v1/mastertasks?${queryParameters}`);\n this.mastertasks = mastertasks;\n } catch (error) {\n this.$toast.error('Nepodarilo sa nacitat data!');\n }\n setTimeout(() => {\n this._initScrollListener();\n }, 100);\n },\n openMasterTaskModal(mastertaskId) {\n const mastertask = this.mastertasks.find(mastertask => mastertask.id == mastertaskId);\n this.$events.emit('show-mastertask-modal', {\n mastertask,\n editMode: false\n });\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@dashboard/projects/projects.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); /***/ }), diff --git a/app/dist/js/src_plugins_tm_dashboard_tasks_tasks_vue.js b/app/dist/js/src_plugins_tm_dashboard_tasks_tasks_vue.js index 483aa64..8ef617b 100644 --- a/app/dist/js/src_plugins_tm_dashboard_tasks_tasks_vue.js +++ b/app/dist/js/src_plugins_tm_dashboard_tasks_tasks_vue.js @@ -26,7 +26,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var cor /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ \"./node_modules/core-js/modules/esnext.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/esnext.iterator.filter.js */ \"./node_modules/core-js/modules/esnext.iterator.filter.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/esnext.iterator.for-each.js */ \"./node_modules/core-js/modules/esnext.iterator.for-each.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _components_a_tasks_filter_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_components/a-tasks-filter.vue */ \"./src/plugins/tm@dashboard/tasks/_components/a-tasks-filter.vue\");\n/* harmony import */ var _plugins_tm_dashboard_components_z_timeline_vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/plugins/tm@dashboard/_components/z-timeline.vue */ \"./src/plugins/tm@dashboard/_components/z-timeline.vue\");\n/* harmony import */ var date_fns__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! date-fns */ \"./node_modules/date-fns/esm/addDays/index.js\");\n/* harmony import */ var date_fns__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! date-fns */ \"./node_modules/date-fns/esm/subDays/index.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! moment */ \"./node_modules/moment/moment.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _utils_timeline_utils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./_utils/timeline.utils */ \"./src/plugins/tm@dashboard/tasks/_utils/timeline.utils.ts\");\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm-bundler.js\");\n/* harmony import */ var _mixins_Filter_mixin__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../_mixins/Filter.mixin */ \"./src/plugins/tm@dashboard/_mixins/Filter.mixin.ts\");\n/* provided dependency */ var console = __webpack_require__(/*! ./node_modules/console-browserify/index.js */ \"./node_modules/console-browserify/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n components: {\n ATaskFilter: _components_a_tasks_filter_vue__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n ZTimeline: _plugins_tm_dashboard_components_z_timeline_vue__WEBPACK_IMPORTED_MODULE_5__[\"default\"]\n },\n mixins: [_mixins_Filter_mixin__WEBPACK_IMPORTED_MODULE_11__[\"default\"]],\n data() {\n return {\n hideCal: false,\n filter: null,\n subtasks: null,\n config: {\n date: (0,date_fns__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(new Date(), 1),\n scrollHour: 7\n }\n };\n },\n computed: {\n ...(0,vuex__WEBPACK_IMPORTED_MODULE_10__.mapGetters)('auth', ['user']),\n splitDays() {\n const days = [];\n const homeoffice = {};\n const schedulesCapacityBySplit = {};\n const now = moment__WEBPACK_IMPORTED_MODULE_8___default()();\n const dailyCapacityMinutes = (this.user.work_end - this.user.work_start) * 60;\n this.timelineData.tasks.forEach(task => {\n if (task.type == 'non-working-hours' || task.subtask?.is_finished || task.blocker?.is_finished) return;\n if (!schedulesCapacityBySplit[task.split]) schedulesCapacityBySplit[task.split] = 0;\n if (now.isAfter(moment__WEBPACK_IMPORTED_MODULE_8___default()(task._real_end))) {\n // Ignore elapsed task\n return;\n } else if (now.isAfter(moment__WEBPACK_IMPORTED_MODULE_8___default()(task._real_start)) && now.isBefore(moment__WEBPACK_IMPORTED_MODULE_8___default()(task._real_end))) {\n // Task in progress\n schedulesCapacityBySplit[task.split] += _utils_timeline_utils__WEBPACK_IMPORTED_MODULE_9__[\"default\"]._getDifferenceInMinutes(task._real_end, new Date());\n } else {\n // Future task\n schedulesCapacityBySplit[task.split] += _utils_timeline_utils__WEBPACK_IMPORTED_MODULE_9__[\"default\"]._getDifferenceInMinutes(task._real_end, task._real_start);\n }\n });\n schedulesCapacityBySplit[1] = 0; // Set YESTERDAY value to 0\n\n this.timelineData.homeoffices.forEach(task => {\n homeoffice[task.split - 1] = true;\n });\n for (let i = 0; i < 7; i++) {\n if (!schedulesCapacityBySplit[i + 1]) schedulesCapacityBySplit[i + 1] = 0;\n let unscheduledTime;\n const date = moment__WEBPACK_IMPORTED_MODULE_8___default()((0,date_fns__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(this.filter.start, i));\n if (date.isBefore(moment__WEBPACK_IMPORTED_MODULE_8___default()(), 'days')) {\n // Yesterday\n unscheduledTime = 0;\n } else if (date.isSame(moment__WEBPACK_IMPORTED_MODULE_8___default()(), 'days')) {\n // Today\n const elapsedMinutes = now.diff(now.clone().startOf('day'), 'minutes');\n const workStart = this.user.work_start * 60 > elapsedMinutes ? this.user.work_start : elapsedMinutes / 60;\n const todayCapacityMinutes = (this.user.work_end - workStart) * 60;\n unscheduledTime = todayCapacityMinutes - schedulesCapacityBySplit[i + 1] / 60 < 0 ? 0 : todayCapacityMinutes - schedulesCapacityBySplit[i + 1];\n } else {\n // Future\n unscheduledTime = dailyCapacityMinutes - schedulesCapacityBySplit[i + 1];\n }\n if (isNaN(unscheduledTime)) unscheduledTime = dailyCapacityMinutes;\n days.push({\n id: i + 1,\n name: this.filter.employee.name,\n surname: this.filter.employee.surname,\n fullname: `${this.filter.employee.name} ${this.filter.employee.surname}`,\n initials: this.filter.employee.name.charAt(0).toUpperCase() + this.filter.employee.surname.charAt(0).toUpperCase(),\n unscheduledTime: (unscheduledTime / 60).toFixed(1),\n scheduledTime: (schedulesCapacityBySplit[i + 1] / 60).toFixed(1),\n date: (0,date_fns__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(this.filter.start, i),\n isHomeoffice: homeoffice[i] ? true : false,\n isWeekend: _utils_timeline_utils__WEBPACK_IMPORTED_MODULE_9__[\"default\"].isWeekend((0,date_fns__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(this.filter.start, i))\n });\n }\n return days;\n },\n unscheduledTime() {\n if (!this.subtasks) return 0;\n return _utils_timeline_utils__WEBPACK_IMPORTED_MODULE_9__[\"default\"].getUnscheduledTime(this.subtasks);\n },\n timelineData() {\n if (!this.subtasks || !this.filter) return null;\n const {\n tasks,\n blockers,\n nonWorkingHours,\n homeoffices\n } = _utils_timeline_utils__WEBPACK_IMPORTED_MODULE_9__[\"default\"].generateTimelineTasks(this.subtasks, new Date(this.filter.start), this.filter.employee);\n return {\n name: this.filter.employee.name,\n surname: this.filter.employee.surname,\n unscheduledTime: this.unscheduledTime,\n tasks: [...tasks, ...blockers, ...nonWorkingHours],\n homeoffices\n };\n }\n },\n mounted() {\n this.$events.on('on-subtask-edited', () => {\n this.onFilterChanged(this.filter);\n });\n this.$events.on('on-subtask-deleted', () => {\n this.onFilterChanged(this.filter);\n });\n this.$events.on('on-blocker-edited', () => {\n this.onFilterChanged(this.filter);\n });\n this.$events.on('on-blocker-deleted', () => {\n this.onFilterChanged(this.filter);\n });\n },\n unmounted() {\n this.$events.off('on-subtask-edited');\n this.$events.off('on-subtask-deleted');\n this.$events.off('on-blocker-edited');\n this.$events.off('on-blocker-deleted');\n },\n methods: {\n async onFilterChanged(filter) {\n this.filter = filter;\n const urlQueryObject = {};\n if (filter.start) urlQueryObject.start = moment__WEBPACK_IMPORTED_MODULE_8___default()(filter.start).format('YYYY-MM-DD');\n if (filter.end) urlQueryObject.end = moment__WEBPACK_IMPORTED_MODULE_8___default()(filter.end).format('YYYY-MM-DD');\n if (filter.employee) urlQueryObject.employee_id = filter.employee.id;\n const queryParameters = new URLSearchParams(urlQueryObject).toString();\n try {\n const {\n subtasks,\n blockers\n } = await this.$axios.get_auth(`v1/subtasks?${queryParameters}`);\n this.config.scrollHour = this.filter?.employee.work_start - 1;\n this.config.date = this.filter.start;\n this.subtasks = [...subtasks, ...blockers];\n this.hideCal = true;\n setTimeout(() => {\n this.hideCal = false;\n }, 0);\n } catch (error) {\n this.$toast.error('Nepodarilo sa nacitat data!');\n if (true) /* eslint-disable */console.log(...oo_oo(`1163945854_187_5_187_46_4`, '[tasks.vue] Error: ', error));\n }\n setTimeout(() => {\n this._initScrollListener();\n }, 100);\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@dashboard/tasks/tasks.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); +eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ \"./node_modules/core-js/modules/esnext.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/esnext.iterator.filter.js */ \"./node_modules/core-js/modules/esnext.iterator.filter.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/esnext.iterator.for-each.js */ \"./node_modules/core-js/modules/esnext.iterator.for-each.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _components_a_tasks_filter_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_components/a-tasks-filter.vue */ \"./src/plugins/tm@dashboard/tasks/_components/a-tasks-filter.vue\");\n/* harmony import */ var _plugins_tm_dashboard_components_z_timeline_vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/plugins/tm@dashboard/_components/z-timeline.vue */ \"./src/plugins/tm@dashboard/_components/z-timeline.vue\");\n/* harmony import */ var date_fns__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! date-fns */ \"./node_modules/date-fns/esm/addDays/index.js\");\n/* harmony import */ var date_fns__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! date-fns */ \"./node_modules/date-fns/esm/subDays/index.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! moment */ \"./node_modules/moment/moment.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _utils_timeline_utils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./_utils/timeline.utils */ \"./src/plugins/tm@dashboard/tasks/_utils/timeline.utils.ts\");\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm-bundler.js\");\n/* harmony import */ var _mixins_Filter_mixin__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../_mixins/Filter.mixin */ \"./src/plugins/tm@dashboard/_mixins/Filter.mixin.ts\");\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n components: {\n ATaskFilter: _components_a_tasks_filter_vue__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n ZTimeline: _plugins_tm_dashboard_components_z_timeline_vue__WEBPACK_IMPORTED_MODULE_5__[\"default\"]\n },\n mixins: [_mixins_Filter_mixin__WEBPACK_IMPORTED_MODULE_11__[\"default\"]],\n data() {\n return {\n hideCal: false,\n filter: null,\n subtasks: null,\n config: {\n date: (0,date_fns__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(new Date(), 1),\n scrollHour: 7\n }\n };\n },\n computed: {\n ...(0,vuex__WEBPACK_IMPORTED_MODULE_10__.mapGetters)('auth', ['user']),\n splitDays() {\n const days = [];\n const homeoffice = {};\n const schedulesCapacityBySplit = {};\n const now = moment__WEBPACK_IMPORTED_MODULE_8___default()();\n const dailyCapacityMinutes = (this.user.work_end - this.user.work_start) * 60;\n this.timelineData.tasks.forEach(task => {\n if (task.type == 'non-working-hours' || task.subtask?.is_finished || task.blocker?.is_finished) return;\n if (!schedulesCapacityBySplit[task.split]) schedulesCapacityBySplit[task.split] = 0;\n if (now.isAfter(moment__WEBPACK_IMPORTED_MODULE_8___default()(task._real_end))) {\n // Ignore elapsed task\n return;\n } else if (now.isAfter(moment__WEBPACK_IMPORTED_MODULE_8___default()(task._real_start)) && now.isBefore(moment__WEBPACK_IMPORTED_MODULE_8___default()(task._real_end))) {\n // Task in progress\n schedulesCapacityBySplit[task.split] += _utils_timeline_utils__WEBPACK_IMPORTED_MODULE_9__[\"default\"]._getDifferenceInMinutes(task._real_end, new Date());\n } else {\n // Future task\n schedulesCapacityBySplit[task.split] += _utils_timeline_utils__WEBPACK_IMPORTED_MODULE_9__[\"default\"]._getDifferenceInMinutes(task._real_end, task._real_start);\n }\n });\n schedulesCapacityBySplit[1] = 0; // Set YESTERDAY value to 0\n\n this.timelineData.homeoffices.forEach(task => {\n homeoffice[task.split - 1] = true;\n });\n for (let i = 0; i < 7; i++) {\n if (!schedulesCapacityBySplit[i + 1]) schedulesCapacityBySplit[i + 1] = 0;\n let unscheduledTime;\n const date = moment__WEBPACK_IMPORTED_MODULE_8___default()((0,date_fns__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(this.filter.start, i));\n if (date.isBefore(moment__WEBPACK_IMPORTED_MODULE_8___default()(), 'days')) {\n // Yesterday\n unscheduledTime = 0;\n } else if (date.isSame(moment__WEBPACK_IMPORTED_MODULE_8___default()(), 'days')) {\n // Today\n const elapsedMinutes = now.diff(now.clone().startOf('day'), 'minutes');\n const workStart = this.user.work_start * 60 > elapsedMinutes ? this.user.work_start : elapsedMinutes / 60;\n const todayCapacityMinutes = (this.user.work_end - workStart) * 60;\n unscheduledTime = todayCapacityMinutes - schedulesCapacityBySplit[i + 1] / 60 < 0 ? 0 : todayCapacityMinutes - schedulesCapacityBySplit[i + 1];\n } else {\n // Future\n unscheduledTime = dailyCapacityMinutes - schedulesCapacityBySplit[i + 1];\n }\n if (isNaN(unscheduledTime)) unscheduledTime = dailyCapacityMinutes;\n days.push({\n id: i + 1,\n name: this.filter.employee.name,\n surname: this.filter.employee.surname,\n fullname: `${this.filter.employee.name} ${this.filter.employee.surname}`,\n initials: this.filter.employee.name.charAt(0).toUpperCase() + this.filter.employee.surname.charAt(0).toUpperCase(),\n unscheduledTime: (unscheduledTime / 60).toFixed(1),\n scheduledTime: (schedulesCapacityBySplit[i + 1] / 60).toFixed(1),\n date: (0,date_fns__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(this.filter.start, i),\n isHomeoffice: homeoffice[i] ? true : false,\n isWeekend: _utils_timeline_utils__WEBPACK_IMPORTED_MODULE_9__[\"default\"].isWeekend((0,date_fns__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(this.filter.start, i))\n });\n }\n return days;\n },\n unscheduledTime() {\n if (!this.subtasks) return 0;\n return _utils_timeline_utils__WEBPACK_IMPORTED_MODULE_9__[\"default\"].getUnscheduledTime(this.subtasks);\n },\n timelineData() {\n if (!this.subtasks || !this.filter) return null;\n const {\n tasks,\n blockers,\n nonWorkingHours,\n homeoffices\n } = _utils_timeline_utils__WEBPACK_IMPORTED_MODULE_9__[\"default\"].generateTimelineTasks(this.subtasks, new Date(this.filter.start), this.filter.employee);\n return {\n name: this.filter.employee.name,\n surname: this.filter.employee.surname,\n unscheduledTime: this.unscheduledTime,\n tasks: [...tasks, ...blockers, ...nonWorkingHours],\n homeoffices\n };\n }\n },\n mounted() {\n this.$events.on('on-subtask-edited', () => {\n this.onFilterChanged(this.filter);\n });\n this.$events.on('on-subtask-deleted', () => {\n this.onFilterChanged(this.filter);\n });\n this.$events.on('on-blocker-edited', () => {\n this.onFilterChanged(this.filter);\n });\n this.$events.on('on-blocker-deleted', () => {\n this.onFilterChanged(this.filter);\n });\n },\n unmounted() {\n this.$events.off('on-subtask-edited');\n this.$events.off('on-subtask-deleted');\n this.$events.off('on-blocker-edited');\n this.$events.off('on-blocker-deleted');\n },\n methods: {\n async onFilterChanged(filter) {\n this.filter = filter;\n const urlQueryObject = {};\n if (filter.start) urlQueryObject.start = moment__WEBPACK_IMPORTED_MODULE_8___default()(filter.start).format('YYYY-MM-DD');\n if (filter.end) urlQueryObject.end = moment__WEBPACK_IMPORTED_MODULE_8___default()(filter.end).format('YYYY-MM-DD');\n if (filter.employee) urlQueryObject.employee_id = filter.employee.id;\n const queryParameters = new URLSearchParams(urlQueryObject).toString();\n try {\n const {\n subtasks,\n blockers\n } = await this.$axios.get_auth(`v1/subtasks?${queryParameters}`);\n this.config.scrollHour = this.filter?.employee.work_start - 1;\n this.config.date = this.filter.start;\n this.subtasks = [...subtasks, ...blockers];\n this.hideCal = true;\n setTimeout(() => {\n this.hideCal = false;\n }, 0);\n } catch (error) {\n this.$toast.error('Nepodarilo sa nacitat data!');\n }\n setTimeout(() => {\n this._initScrollListener();\n }, 100);\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@dashboard/tasks/tasks.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); /***/ }), diff --git a/app/dist/js/src_plugins_tm_dashboard_teams_teams_vue.js b/app/dist/js/src_plugins_tm_dashboard_teams_teams_vue.js index 6c85927..10035cc 100644 --- a/app/dist/js/src_plugins_tm_dashboard_teams_teams_vue.js +++ b/app/dist/js/src_plugins_tm_dashboard_teams_teams_vue.js @@ -26,7 +26,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var cor /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ \"./node_modules/core-js/modules/esnext.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/esnext.iterator.filter.js */ \"./node_modules/core-js/modules/esnext.iterator.filter.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _components_a_team_filter_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_components/a-team-filter.vue */ \"./src/plugins/tm@dashboard/teams/_components/a-team-filter.vue\");\n/* harmony import */ var _plugins_tm_dashboard_components_z_timeline_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/plugins/tm@dashboard/_components/z-timeline.vue */ \"./src/plugins/tm@dashboard/_components/z-timeline.vue\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! moment */ \"./node_modules/moment/moment.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _mixins_TeamsCalendar_mixin__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_mixins/TeamsCalendar.mixin */ \"./src/plugins/tm@dashboard/teams/_mixins/TeamsCalendar.mixin.ts\");\n/* harmony import */ var _mixins_Filter_mixin__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../_mixins/Filter.mixin */ \"./src/plugins/tm@dashboard/_mixins/Filter.mixin.ts\");\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm-bundler.js\");\n/* provided dependency */ var console = __webpack_require__(/*! ./node_modules/console-browserify/index.js */ \"./node_modules/console-browserify/index.js\");\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n components: {\n ATeamFilter: _components_a_team_filter_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n ZTimeline: _plugins_tm_dashboard_components_z_timeline_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"]\n },\n mixins: [_mixins_TeamsCalendar_mixin__WEBPACK_IMPORTED_MODULE_5__[\"default\"], _mixins_Filter_mixin__WEBPACK_IMPORTED_MODULE_6__[\"default\"]],\n data() {\n return {\n hideCal: false,\n filter: null,\n subtasks: null,\n blockers: null,\n calendarConfig: {\n date: new Date(),\n scrollHour: 7\n }\n };\n },\n computed: {\n ...(0,vuex__WEBPACK_IMPORTED_MODULE_7__.mapGetters)('auth', ['user'])\n },\n mounted() {\n this.$events.on('on-subtask-edited', () => {\n this.onFilterChanged(this.filter);\n });\n this.$events.on('on-subtask-deleted', () => {\n this.onFilterChanged(this.filter);\n });\n this.$events.on('on-blocker-edited', () => {\n this.onFilterChanged(this.filter);\n });\n this.$events.on('on-blocker-deleted', () => {\n this.onFilterChanged(this.filter);\n });\n },\n unmounted() {\n this.$events.off('on-subtask-edited');\n this.$events.off('on-subtask-deleted');\n this.$events.off('on-blocker-edited');\n this.$events.off('on-blocker-deleted');\n },\n methods: {\n async onFilterChanged(filter) {\n this.filter = filter;\n const urlQueryObject = {};\n if (filter.start) urlQueryObject.start = moment__WEBPACK_IMPORTED_MODULE_4___default()(filter.start).format('YYYY-MM-DD');\n if (filter.end) urlQueryObject.end = moment__WEBPACK_IMPORTED_MODULE_4___default()(filter.end).format('YYYY-MM-DD');\n if (filter.team) urlQueryObject.team_id = filter.team.id;\n const queryParameters = new URLSearchParams(urlQueryObject).toString();\n try {\n const {\n subtasks,\n blockers\n } = await this.$axios.get_auth(`v1/subtasks?${queryParameters}`);\n this.subtasks = subtasks;\n this.blockers = blockers;\n this.hideCal = true;\n setTimeout(() => {\n this.hideCal = false;\n }, 0);\n } catch (error) {\n this.$toast.error('Nepodarilo sa nacitat data!');\n if (true) /* eslint-disable */console.log(...oo_oo(`1416174149_89_5_89_46_4`, '[teams.vue] Error: ', error));\n }\n setTimeout(() => {\n this._initScrollListener();\n }, 100);\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@dashboard/teams/teams.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); +eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ \"./node_modules/core-js/modules/esnext.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/esnext.iterator.filter.js */ \"./node_modules/core-js/modules/esnext.iterator.filter.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _components_a_team_filter_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_components/a-team-filter.vue */ \"./src/plugins/tm@dashboard/teams/_components/a-team-filter.vue\");\n/* harmony import */ var _plugins_tm_dashboard_components_z_timeline_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/plugins/tm@dashboard/_components/z-timeline.vue */ \"./src/plugins/tm@dashboard/_components/z-timeline.vue\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! moment */ \"./node_modules/moment/moment.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _mixins_TeamsCalendar_mixin__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_mixins/TeamsCalendar.mixin */ \"./src/plugins/tm@dashboard/teams/_mixins/TeamsCalendar.mixin.ts\");\n/* harmony import */ var _mixins_Filter_mixin__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../_mixins/Filter.mixin */ \"./src/plugins/tm@dashboard/_mixins/Filter.mixin.ts\");\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm-bundler.js\");\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n components: {\n ATeamFilter: _components_a_team_filter_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n ZTimeline: _plugins_tm_dashboard_components_z_timeline_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"]\n },\n mixins: [_mixins_TeamsCalendar_mixin__WEBPACK_IMPORTED_MODULE_5__[\"default\"], _mixins_Filter_mixin__WEBPACK_IMPORTED_MODULE_6__[\"default\"]],\n data() {\n return {\n hideCal: false,\n filter: null,\n subtasks: null,\n blockers: null,\n calendarConfig: {\n date: new Date(),\n scrollHour: 7\n }\n };\n },\n computed: {\n ...(0,vuex__WEBPACK_IMPORTED_MODULE_7__.mapGetters)('auth', ['user'])\n },\n mounted() {\n this.$events.on('on-subtask-edited', () => {\n this.onFilterChanged(this.filter);\n });\n this.$events.on('on-subtask-deleted', () => {\n this.onFilterChanged(this.filter);\n });\n this.$events.on('on-blocker-edited', () => {\n this.onFilterChanged(this.filter);\n });\n this.$events.on('on-blocker-deleted', () => {\n this.onFilterChanged(this.filter);\n });\n },\n unmounted() {\n this.$events.off('on-subtask-edited');\n this.$events.off('on-subtask-deleted');\n this.$events.off('on-blocker-edited');\n this.$events.off('on-blocker-deleted');\n },\n methods: {\n async onFilterChanged(filter) {\n this.filter = filter;\n const urlQueryObject = {};\n if (filter.start) urlQueryObject.start = moment__WEBPACK_IMPORTED_MODULE_4___default()(filter.start).format('YYYY-MM-DD');\n if (filter.end) urlQueryObject.end = moment__WEBPACK_IMPORTED_MODULE_4___default()(filter.end).format('YYYY-MM-DD');\n if (filter.team) urlQueryObject.team_id = filter.team.id;\n const queryParameters = new URLSearchParams(urlQueryObject).toString();\n try {\n const {\n subtasks,\n blockers\n } = await this.$axios.get_auth(`v1/subtasks?${queryParameters}`);\n this.subtasks = subtasks;\n this.blockers = blockers;\n this.hideCal = true;\n setTimeout(() => {\n this.hideCal = false;\n }, 0);\n } catch (error) {\n this.$toast.error('Nepodarilo sa nacitat data!');\n }\n setTimeout(() => {\n this._initScrollListener();\n }, 100);\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@dashboard/teams/teams.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); /***/ }), diff --git a/app/dist/js/src_plugins_tm_overview_tasks-ongoing_tasks-ongoing_vue.js b/app/dist/js/src_plugins_tm_overview_tasks-ongoing_tasks-ongoing_vue.js index de763e4..720bad4 100644 --- a/app/dist/js/src_plugins_tm_overview_tasks-ongoing_tasks-ongoing_vue.js +++ b/app/dist/js/src_plugins_tm_overview_tasks-ongoing_tasks-ongoing_vue.js @@ -26,7 +26,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vue /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ \"./node_modules/core-js/modules/esnext.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_esnext_iterator_every_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/esnext.iterator.every.js */ \"./node_modules/core-js/modules/esnext.iterator.every.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_every_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_every_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/esnext.iterator.filter.js */ \"./node_modules/core-js/modules/esnext.iterator.filter.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/esnext.iterator.map.js */ \"./node_modules/core-js/modules/esnext.iterator.map.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _plugins_app_img__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/plugins/app/_img */ \"./src/plugins/app/_img/index.ts\");\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm-bundler.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! moment */ \"./node_modules/moment/moment.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_6__);\n/* provided dependency */ var console = __webpack_require__(/*! ./node_modules/console-browserify/index.js */ \"./node_modules/console-browserify/index.js\");\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n props: {\n subtasks: {\n type: Array,\n required: true\n }\n },\n data() {\n return {\n eye: _plugins_app_img__WEBPACK_IMPORTED_MODULE_4__.eye,\n bin: _plugins_app_img__WEBPACK_IMPORTED_MODULE_4__.bin,\n office365: _plugins_app_img__WEBPACK_IMPORTED_MODULE_4__.office365,\n checkmarkDouble: _plugins_app_img__WEBPACK_IMPORTED_MODULE_4__.checkmarkDouble,\n loadingSubtask: {}\n };\n },\n computed: {\n ...(0,vuex__WEBPACK_IMPORTED_MODULE_5__.mapGetters)('tm', ['mastertasks'])\n },\n methods: {\n editTask(subtask, editMode = false) {\n this.$events.emit('show-subtask-modal', {\n subtask,\n editMode\n });\n },\n async handleCompleteTask(subtask) {\n const areAllTimeBlocksFinished = subtask.timeblocks.every(tb => tb.is_finished);\n if (!areAllTimeBlocksFinished) {\n this.$events.emit('show-unable-to-complete-task-modal', {\n subtask\n });\n } else {\n await this._finishSubtask(subtask);\n }\n },\n deleteTask(subtask) {\n if (subtask.type == 'office365') return this.$events.emit('show-unable-to-edit-office-task-modal', {\n mode: 'delete'\n });\n this.$events.emit('show-delete-task-modal', {\n subtask\n });\n },\n getDeadline(subtask) {\n if (subtask?.deadline) return moment__WEBPACK_IMPORTED_MODULE_6___default()(subtask.deadline).format('DD.MM.yyyy');\n return moment__WEBPACK_IMPORTED_MODULE_6___default()(subtask.master_task_deadline).format('DD.MM.yyyy');\n },\n getSelectedTimeblockDeadline(timeblocks) {\n const currentDate = moment__WEBPACK_IMPORTED_MODULE_6___default()();\n const unfinishedTimeblocks = timeblocks.filter(tb => tb.is_finished === 0);\n if (unfinishedTimeblocks.length > 0) return moment__WEBPACK_IMPORTED_MODULE_6___default()(unfinishedTimeblocks[0].end).format('DD.MM.yyyy, HH:mm');\n const upcomingTimeblocks = timeblocks.filter(tb => moment__WEBPACK_IMPORTED_MODULE_6___default()(tb.end).isAfter(currentDate)).sort((a, b) => moment__WEBPACK_IMPORTED_MODULE_6___default()(a.end).diff(moment__WEBPACK_IMPORTED_MODULE_6___default()(b.end)));\n if (upcomingTimeblocks.length > 0 && upcomingTimeblocks.is_finished === 0) return moment__WEBPACK_IMPORTED_MODULE_6___default()(upcomingTimeblocks[0].end).format('DD.MM.yyyy, HH:mm');\n return '';\n },\n displayTimeblock(subtask) {\n const timeblockDeadline = this.getSelectedTimeblockDeadline(subtask.timeblocks);\n return timeblockDeadline !== '' ? timeblockDeadline : 'Žiadny termín';\n },\n async _finishSubtask(subtask) {\n const timesheets = subtask?.timesheets.map(timesheet => {\n delete timesheet.employee_name;\n return timesheet;\n }) || [];\n\n // Convert timeblocks from internal format to BE format\n const timeblocks = (subtask.timeblocks || []).filter(timeblock => {\n // Filter timeblocks that have either old format (date) or new format (start)\n return timeblock.date || timeblock.start;\n }).map(timeblock => {\n // If already in BE format (has start field), return as is\n if (timeblock.start && !timeblock.date) {\n return {\n id: timeblock.id || null,\n start: timeblock.start,\n end: timeblock.end,\n is_finished: timeblock.is_finished || 0\n };\n }\n\n // Convert from internal format to BE format\n const dateStr = moment__WEBPACK_IMPORTED_MODULE_6___default()(timeblock.date).format('YYYY-MM-DD');\n return {\n id: timeblock.id || null,\n start: `${dateStr} ${timeblock.starts_at_time}:00`,\n end: `${dateStr} ${timeblock.ends_at_time}:00`,\n is_finished: timeblock.is_finished || 0\n };\n });\n const tempSubtask = {\n ...subtask,\n is_finished: 1,\n timesheets,\n timeblocks\n };\n try {\n this.loadingSubtask[subtask.id] = true;\n await this.$axios.put_auth(`v1/subtasks/${tempSubtask.id}`, tempSubtask);\n this.$store.dispatch('tm/removeOngoingSubtask', subtask.id);\n this.$events.emit('on-subtask-edited', subtask);\n } catch (error) {\n this.$toast.error(error.message || error);\n if (true) /* eslint-disable */console.log(...oo_oo(`2942918433_217_10_217_61_4`, '[a-ongoing-table.vue] Error: ', error));\n } finally {\n this.loadingSubtask[subtask.id] = false;\n }\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@overview/tasks-ongoing/_components/a-ongoing-table.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); +eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ \"./node_modules/core-js/modules/esnext.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_esnext_iterator_every_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/esnext.iterator.every.js */ \"./node_modules/core-js/modules/esnext.iterator.every.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_every_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_every_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/esnext.iterator.filter.js */ \"./node_modules/core-js/modules/esnext.iterator.filter.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/esnext.iterator.map.js */ \"./node_modules/core-js/modules/esnext.iterator.map.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _plugins_app_img__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/plugins/app/_img */ \"./src/plugins/app/_img/index.ts\");\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm-bundler.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! moment */ \"./node_modules/moment/moment.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_6__);\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n props: {\n subtasks: {\n type: Array,\n required: true\n }\n },\n data() {\n return {\n eye: _plugins_app_img__WEBPACK_IMPORTED_MODULE_4__.eye,\n bin: _plugins_app_img__WEBPACK_IMPORTED_MODULE_4__.bin,\n office365: _plugins_app_img__WEBPACK_IMPORTED_MODULE_4__.office365,\n checkmarkDouble: _plugins_app_img__WEBPACK_IMPORTED_MODULE_4__.checkmarkDouble,\n loadingSubtask: {}\n };\n },\n computed: {\n ...(0,vuex__WEBPACK_IMPORTED_MODULE_5__.mapGetters)('tm', ['mastertasks'])\n },\n methods: {\n editTask(subtask, editMode = false) {\n this.$events.emit('show-subtask-modal', {\n subtask,\n editMode\n });\n },\n async handleCompleteTask(subtask) {\n const areAllTimeBlocksFinished = subtask.timeblocks.every(tb => tb.is_finished);\n if (!areAllTimeBlocksFinished) {\n this.$events.emit('show-unable-to-complete-task-modal', {\n subtask\n });\n } else {\n await this._finishSubtask(subtask);\n }\n },\n deleteTask(subtask) {\n if (subtask.type == 'office365') return this.$events.emit('show-unable-to-edit-office-task-modal', {\n mode: 'delete'\n });\n this.$events.emit('show-delete-task-modal', {\n subtask\n });\n },\n getDeadline(subtask) {\n if (subtask?.deadline) return moment__WEBPACK_IMPORTED_MODULE_6___default()(subtask.deadline).format('DD.MM.yyyy');\n return moment__WEBPACK_IMPORTED_MODULE_6___default()(subtask.master_task_deadline).format('DD.MM.yyyy');\n },\n getSelectedTimeblockDeadline(timeblocks) {\n const currentDate = moment__WEBPACK_IMPORTED_MODULE_6___default()();\n const unfinishedTimeblocks = timeblocks.filter(tb => tb.is_finished === 0);\n if (unfinishedTimeblocks.length > 0) return moment__WEBPACK_IMPORTED_MODULE_6___default()(unfinishedTimeblocks[0].end).format('DD.MM.yyyy, HH:mm');\n const upcomingTimeblocks = timeblocks.filter(tb => moment__WEBPACK_IMPORTED_MODULE_6___default()(tb.end).isAfter(currentDate)).sort((a, b) => moment__WEBPACK_IMPORTED_MODULE_6___default()(a.end).diff(moment__WEBPACK_IMPORTED_MODULE_6___default()(b.end)));\n if (upcomingTimeblocks.length > 0 && upcomingTimeblocks.is_finished === 0) return moment__WEBPACK_IMPORTED_MODULE_6___default()(upcomingTimeblocks[0].end).format('DD.MM.yyyy, HH:mm');\n return '';\n },\n displayTimeblock(subtask) {\n const timeblockDeadline = this.getSelectedTimeblockDeadline(subtask.timeblocks);\n return timeblockDeadline !== '' ? timeblockDeadline : 'Žiadny termín';\n },\n async _finishSubtask(subtask) {\n const timesheets = subtask?.timesheets.map(timesheet => {\n delete timesheet.employee_name;\n return timesheet;\n }) || [];\n\n // Convert timeblocks from internal format to BE format\n const timeblocks = (subtask.timeblocks || []).filter(timeblock => {\n // Filter timeblocks that have either old format (date) or new format (start)\n return timeblock.date || timeblock.start;\n }).map(timeblock => {\n // If already in BE format (has start field), return as is\n if (timeblock.start && !timeblock.date) {\n return {\n id: timeblock.id || null,\n start: timeblock.start,\n end: timeblock.end,\n is_finished: timeblock.is_finished || 0\n };\n }\n\n // Convert from internal format to BE format\n const dateStr = moment__WEBPACK_IMPORTED_MODULE_6___default()(timeblock.date).format('YYYY-MM-DD');\n return {\n id: timeblock.id || null,\n start: `${dateStr} ${timeblock.starts_at_time}:00`,\n end: `${dateStr} ${timeblock.ends_at_time}:00`,\n is_finished: timeblock.is_finished || 0\n };\n });\n const tempSubtask = {\n ...subtask,\n is_finished: 1,\n timesheets,\n timeblocks\n };\n try {\n this.loadingSubtask[subtask.id] = true;\n await this.$axios.put_auth(`v1/subtasks/${tempSubtask.id}`, tempSubtask);\n this.$store.dispatch('tm/removeOngoingSubtask', subtask.id);\n this.$events.emit('on-subtask-edited', subtask);\n } catch (error) {\n this.$toast.error(error.message || error);\n } finally {\n this.loadingSubtask[subtask.id] = false;\n }\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@overview/tasks-ongoing/_components/a-ongoing-table.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); /***/ }), diff --git a/app/dist/js/src_plugins_tm_profile_profile_my-profile_vue.js b/app/dist/js/src_plugins_tm_profile_profile_my-profile_vue.js index 0669f6f..ba8241b 100644 --- a/app/dist/js/src_plugins_tm_profile_profile_my-profile_vue.js +++ b/app/dist/js/src_plugins_tm_profile_profile_my-profile_vue.js @@ -15,7 +15,7 @@ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _vuelidate_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @vuelidate/core */ \"./node_modules/@vuelidate/core/dist/index.esm.js\");\n/* harmony import */ var _vuelidate_validators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @vuelidate/validators */ \"./node_modules/@vuelidate/validators/dist/index.esm.js\");\n/* harmony import */ var _plugins_lib_auth_utils_error_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/plugins/lib@auth/_utils/error.utils */ \"./src/plugins/lib@auth/_utils/error.utils.ts\");\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm-bundler.js\");\n/* provided dependency */ var console = __webpack_require__(/*! ./node_modules/console-browserify/index.js */ \"./node_modules/console-browserify/index.js\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n data() {\n return {\n errorUtils: _plugins_lib_auth_utils_error_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n v$: (0,_vuelidate_core__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(),\n form: {}\n };\n },\n computed: {\n ...(0,vuex__WEBPACK_IMPORTED_MODULE_3__.mapGetters)(\"auth\", [\"user\"])\n },\n validations() {\n return {\n form: {\n work_start: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_1__.required\n },\n work_end: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_1__.required\n }\n }\n };\n },\n mounted() {\n this._setDates();\n },\n methods: {\n async updateUserInfo() {\n if (!(await this.v$.$validate())) return;\n\n /* eslint-disable */\n console.log(...oo_oo(`3542138265_53_3_53_42_4`, 'my-profile', this.subtask));\n const [sHours, sMinutes] = this.form.work_start.split(':');\n const [eHours, eMinutes] = this.form.work_end.split(':');\n const data = {\n id: this.user.id,\n work_start: parseFloat(sHours) + parseFloat(sMinutes) / 60,\n work_end: parseFloat(eHours) + parseFloat(eMinutes) / 60\n };\n try {\n await this.$store.dispatch('auth/updateUserInfo', data);\n this.$toast.success('Profil bol úspešne zmenený');\n } catch (error) {\n this.$toast.error(this.$parseError(error));\n if (true) /* eslint-disable */console.log(...oo_oo(`3542138265_70_5_70_51_4`, '[my-profile.vue] Error: ', error));\n }\n },\n _setDates() {\n this.form = {\n work_start: this.decimalHoursToTime(this.user.work_start),\n work_end: this.decimalHoursToTime(this.user.work_end)\n };\n },\n // minutesToTime(minutes) {\n // \tvar hours \t= Math.floor(minutes / 60)\n // \tvar mins \t= minutes % 60\n // \thours \t\t= (hours < 10 ? '0' : '') + hours\n // \tmins \t\t= (mins < 10 ? '0' : '') + mins\n\n // \treturn hours + ':' + mins\n // },\n\n decimalHoursToTime(decimalHours) {\n var hours = Math.floor(decimalHours);\n var mins = Math.floor(decimalHours * 60 % 60);\n hours = (hours < 10 ? '0' : '') + hours;\n mins = (mins < 10 ? '0' : '') + mins;\n return hours + ':' + mins;\n }\n },\n watch: {\n user() {\n this._setDates();\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@profile/profile/my-profile.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); +eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _vuelidate_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @vuelidate/core */ \"./node_modules/@vuelidate/core/dist/index.esm.js\");\n/* harmony import */ var _vuelidate_validators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @vuelidate/validators */ \"./node_modules/@vuelidate/validators/dist/index.esm.js\");\n/* harmony import */ var _plugins_lib_auth_utils_error_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/plugins/lib@auth/_utils/error.utils */ \"./src/plugins/lib@auth/_utils/error.utils.ts\");\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm-bundler.js\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n data() {\n return {\n errorUtils: _plugins_lib_auth_utils_error_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n v$: (0,_vuelidate_core__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(),\n form: {}\n };\n },\n computed: {\n ...(0,vuex__WEBPACK_IMPORTED_MODULE_3__.mapGetters)('auth', ['user'])\n },\n validations() {\n return {\n form: {\n work_start: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_1__.required\n },\n work_end: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_1__.required\n }\n }\n };\n },\n mounted() {\n this._setDates();\n },\n methods: {\n async updateUserInfo() {\n if (!(await this.v$.$validate())) return;\n const [sHours, sMinutes] = this.form.work_start.split(':');\n const [eHours, eMinutes] = this.form.work_end.split(':');\n const data = {\n id: this.user.id,\n work_start: parseFloat(sHours) + parseFloat(sMinutes) / 60,\n work_end: parseFloat(eHours) + parseFloat(eMinutes) / 60\n };\n try {\n await this.$store.dispatch('auth/updateUserInfo', data);\n this.$toast.success('Profil bol úspešne zmenený');\n } catch (error) {\n this.$toast.error(this.$parseError(error));\n }\n },\n _setDates() {\n this.form = {\n work_start: this.decimalHoursToTime(this.user.work_start),\n work_end: this.decimalHoursToTime(this.user.work_end)\n };\n },\n // minutesToTime(minutes) {\n // \tvar hours \t= Math.floor(minutes / 60)\n // \tvar mins \t= minutes % 60\n // \thours \t\t= (hours < 10 ? '0' : '') + hours\n // \tmins \t\t= (mins < 10 ? '0' : '') + mins\n\n // \treturn hours + ':' + mins\n // },\n\n decimalHoursToTime(decimalHours) {\n var hours = Math.floor(decimalHours);\n var mins = Math.floor(decimalHours * 60 % 60);\n hours = (hours < 10 ? '0' : '') + hours;\n mins = (mins < 10 ? '0' : '') + mins;\n return hours + ':' + mins;\n }\n },\n watch: {\n user() {\n this._setDates();\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@profile/profile/my-profile.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); /***/ }), diff --git a/app/src/plugins/app/_layout/app/app.layout.vue b/app/src/plugins/app/_layout/app/app.layout.vue index 814cd98..9c78df8 100644 --- a/app/src/plugins/app/_layout/app/app.layout.vue +++ b/app/src/plugins/app/_layout/app/app.layout.vue @@ -1,48 +1,45 @@ \ No newline at end of file + diff --git a/app/src/plugins/tm@dashboard/teams/teams.vue b/app/src/plugins/tm@dashboard/teams/teams.vue index efd45b6..5757975 100644 --- a/app/src/plugins/tm@dashboard/teams/teams.vue +++ b/app/src/plugins/tm@dashboard/teams/teams.vue @@ -1,100 +1,111 @@ \ No newline at end of file + diff --git a/app/src/plugins/tm@modal/_components/read-only/z-files.vue b/app/src/plugins/tm@modal/_components/read-only/z-files.vue index 3cb27d7..dcfa0c9 100644 --- a/app/src/plugins/tm@modal/_components/read-only/z-files.vue +++ b/app/src/plugins/tm@modal/_components/read-only/z-files.vue @@ -1,62 +1,70 @@ \ No newline at end of file + diff --git a/app/src/plugins/tm@modal/blocker/z-blocker-modal.vue b/app/src/plugins/tm@modal/blocker/z-blocker-modal.vue index 9c61e4c..6767cd6 100644 --- a/app/src/plugins/tm@modal/blocker/z-blocker-modal.vue +++ b/app/src/plugins/tm@modal/blocker/z-blocker-modal.vue @@ -1,5 +1,11 @@