diff --git a/app/dist/js/index.js b/app/dist/js/index.js index f3358df..5f99b42 100644 --- a/app/dist/js/index.js +++ b/app/dist/js/index.js @@ -525,6 +525,17 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _plu /***/ }), +/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/plugins/tm@modal/_components/read-only/z-estimated-duration.vue?vue&type=script&lang=js": +/*!**********************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/plugins/tm@modal/_components/read-only/z-estimated-duration.vue?vue&type=script&lang=js ***! + \**********************************************************************************************************************************************************************************************************************************/ +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n props: {\n hours: {\n type: [Number, undefined]\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/_components/read-only/z-estimated-duration.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"); + +/***/ }), + /***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/plugins/tm@modal/_components/read-only/z-files.vue?vue&type=script&lang=js": /*!*********************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/plugins/tm@modal/_components/read-only/z-files.vue?vue&type=script&lang=js ***! @@ -620,7 +631,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _plu /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _components_read_only_z_created_by_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../_components/read-only/z-created-by.vue */ \"./src/plugins/tm@modal/_components/read-only/z-created-by.vue\");\n/* harmony import */ var _components_read_only_z_deadline_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../_components/read-only/z-deadline.vue */ \"./src/plugins/tm@modal/_components/read-only/z-deadline.vue\");\n/* harmony import */ var _components_read_only_z_description_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../_components/read-only/z-description.vue */ \"./src/plugins/tm@modal/_components/read-only/z-description.vue\");\n/* harmony import */ var _components_read_only_z_files_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../_components/read-only/z-files.vue */ \"./src/plugins/tm@modal/_components/read-only/z-files.vue\");\n/* harmony import */ var _components_read_only_z_planned_time_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../_components/read-only/z-planned-time.vue */ \"./src/plugins/tm@modal/_components/read-only/z-planned-time.vue\");\n/* harmony import */ var _components_read_only_z_remaining_time_vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../_components/read-only/z-remaining-time.vue */ \"./src/plugins/tm@modal/_components/read-only/z-remaining-time.vue\");\n/* harmony import */ var _components_read_only_z_spent_time_vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../_components/read-only/z-spent-time.vue */ \"./src/plugins/tm@modal/_components/read-only/z-spent-time.vue\");\n/* harmony import */ var _components_read_only_z_status_vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../_components/read-only/z-status.vue */ \"./src/plugins/tm@modal/_components/read-only/z-status.vue\");\n/* harmony import */ var _components_read_only_z_team_vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../_components/read-only/z-team.vue */ \"./src/plugins/tm@modal/_components/read-only/z-team.vue\");\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n components: {\n ZCreatedBy: _components_read_only_z_created_by_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n ZDeadline: _components_read_only_z_deadline_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n ZDescription: _components_read_only_z_description_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n ZFiles: _components_read_only_z_files_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n ZPlannedTime: _components_read_only_z_planned_time_vue__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n ZRemainingTime: _components_read_only_z_remaining_time_vue__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n ZSpentTime: _components_read_only_z_spent_time_vue__WEBPACK_IMPORTED_MODULE_6__[\"default\"],\n ZStatus: _components_read_only_z_status_vue__WEBPACK_IMPORTED_MODULE_7__[\"default\"],\n ZTeam: _components_read_only_z_team_vue__WEBPACK_IMPORTED_MODULE_8__[\"default\"]\n },\n props: {\n mastertask: {\n type: Object,\n required: true\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/master-task/_components/a-mastertask-description.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"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _components_read_only_z_created_by_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../_components/read-only/z-created-by.vue */ \"./src/plugins/tm@modal/_components/read-only/z-created-by.vue\");\n/* harmony import */ var _components_read_only_z_deadline_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../_components/read-only/z-deadline.vue */ \"./src/plugins/tm@modal/_components/read-only/z-deadline.vue\");\n/* harmony import */ var _components_read_only_z_description_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../_components/read-only/z-description.vue */ \"./src/plugins/tm@modal/_components/read-only/z-description.vue\");\n/* harmony import */ var _components_read_only_z_files_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../_components/read-only/z-files.vue */ \"./src/plugins/tm@modal/_components/read-only/z-files.vue\");\n/* harmony import */ var _components_read_only_z_planned_time_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../_components/read-only/z-planned-time.vue */ \"./src/plugins/tm@modal/_components/read-only/z-planned-time.vue\");\n/* harmony import */ var _components_read_only_z_remaining_time_vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../_components/read-only/z-remaining-time.vue */ \"./src/plugins/tm@modal/_components/read-only/z-remaining-time.vue\");\n/* harmony import */ var _components_read_only_z_spent_time_vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../_components/read-only/z-spent-time.vue */ \"./src/plugins/tm@modal/_components/read-only/z-spent-time.vue\");\n/* harmony import */ var _components_read_only_z_status_vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../_components/read-only/z-status.vue */ \"./src/plugins/tm@modal/_components/read-only/z-status.vue\");\n/* harmony import */ var _components_read_only_z_team_vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../_components/read-only/z-team.vue */ \"./src/plugins/tm@modal/_components/read-only/z-team.vue\");\n/* harmony import */ var _components_read_only_z_estimated_duration_vue__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../_components/read-only/z-estimated-duration.vue */ \"./src/plugins/tm@modal/_components/read-only/z-estimated-duration.vue\");\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n components: {\n ZCreatedBy: _components_read_only_z_created_by_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n ZDeadline: _components_read_only_z_deadline_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n ZDescription: _components_read_only_z_description_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n ZFiles: _components_read_only_z_files_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n ZPlannedTime: _components_read_only_z_planned_time_vue__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n ZRemainingTime: _components_read_only_z_remaining_time_vue__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n ZSpentTime: _components_read_only_z_spent_time_vue__WEBPACK_IMPORTED_MODULE_6__[\"default\"],\n ZStatus: _components_read_only_z_status_vue__WEBPACK_IMPORTED_MODULE_7__[\"default\"],\n ZTeam: _components_read_only_z_team_vue__WEBPACK_IMPORTED_MODULE_8__[\"default\"],\n ZEstimatedDuration: _components_read_only_z_estimated_duration_vue__WEBPACK_IMPORTED_MODULE_9__[\"default\"]\n },\n props: {\n mastertask: {\n type: Object,\n required: true\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/master-task/_components/a-mastertask-description.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"); /***/ }), @@ -675,7 +686,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _plu /***/ (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 _vuepic_vue_datepicker__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @vuepic/vue-datepicker */ \"./node_modules/@vuepic/vue-datepicker/dist/vue-datepicker.js\");\n/* harmony import */ var _plugins_tm_components_z_files_upload_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/plugins/tm@_components/z-files-upload.vue */ \"./src/plugins/tm@_components/z-files-upload.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_15__ = __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_4__ = __webpack_require__(/*! @/plugins/lib@auth/_utils/error.utils */ \"./src/plugins/lib@auth/_utils/error.utils.ts\");\n/* harmony import */ var _plugins_tm_modal_mixins_vuetify_fix_focus__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/plugins/tm@modal/_mixins/vuetify-fix-focus */ \"./src/plugins/tm@modal/_mixins/vuetify-fix-focus.ts\");\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 _vueup_vue_quill__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @vueup/vue-quill */ \"./node_modules/@vueup/vue-quill/dist/vue-quill.esm-bundler.js\");\n/* harmony import */ var _plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/plugins/tm@modal/_mixins/modal.mixin */ \"./src/plugins/tm@modal/_mixins/modal.mixin.ts\");\n/* harmony import */ var _vueup_vue_quill_dist_vue_quill_snow_css__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @vueup/vue-quill/dist/vue-quill.snow.css */ \"./node_modules/@vueup/vue-quill/dist/vue-quill.snow.css\");\n/* harmony import */ var _vueup_vue_quill_dist_vue_quill_snow_css__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_vueup_vue_quill_dist_vue_quill_snow_css__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var _mixins_selects_mixin__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./_mixins/selects.mixin */ \"./src/plugins/tm@modal/master-task/_mixins/selects.mixin.ts\");\n/* harmony import */ var _components_a_tasks_table_vue__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./_components/a-tasks-table.vue */ \"./src/plugins/tm@modal/master-task/_components/a-tasks-table.vue\");\n/* harmony import */ var _components_a_mastertask_description_vue__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./_components/a-mastertask-description.vue */ \"./src/plugins/tm@modal/master-task/_components/a-mastertask-description.vue\");\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm-bundler.js\");\n/* harmony import */ var _plugins_tm_mixins_autocomplete_mixin__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @/plugins/tm@_mixins/autocomplete.mixin */ \"./src/plugins/tm@_mixins/autocomplete.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// import ZAutocomplete from '@/plugins/tm@_components/z-autocomplete.vue'\n\n\n\n// import tmUtils from '@/plugins/tm@_utils/tm.utils'\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n // MIXINS\n // computed: employeesOptions, projectsOptions\n // methods: onProjectSelected, onEmployeeSelected, onEmployeeDurationChanged\n // watch: mastertask.team_id\n\n emits: ['master-task-edited', 'close'],\n mixins: [_plugins_tm_modal_mixins_vuetify_fix_focus__WEBPACK_IMPORTED_MODULE_5__[\"default\"], _mixins_selects_mixin__WEBPACK_IMPORTED_MODULE_10__[\"default\"], _plugins_tm_mixins_autocomplete_mixin__WEBPACK_IMPORTED_MODULE_13__[\"default\"], _plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_8__[\"default\"]],\n components: {\n AMastertaskDescription: _components_a_mastertask_description_vue__WEBPACK_IMPORTED_MODULE_12__[\"default\"],\n ATasksTable: _components_a_tasks_table_vue__WEBPACK_IMPORTED_MODULE_11__[\"default\"],\n Datepicker: _vuepic_vue_datepicker__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n ZFilesUpload: _plugins_tm_components_z_files_upload_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n // ZAutocomplete,\n QuillEditor: _vueup_vue_quill__WEBPACK_IMPORTED_MODULE_7__.QuillEditor\n },\n data() {\n return {\n deadline: null,\n editMode: false,\n visible: false,\n errorUtils: _plugins_lib_auth_utils_error_utils__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n v$: (0,_vuelidate_core__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(),\n mastertask: null,\n isSaving: false,\n showAddEmployeeInput: false,\n date: null,\n projectCodeSearch: null\n };\n },\n computed: {\n ...(0,vuex__WEBPACK_IMPORTED_MODULE_14__.mapGetters)('tm', ['teams', 'projects', 'enrichedEmployees']),\n enrichedSubtasks() {\n if (!this.mastertask?.subtasks) return null;\n return this.mastertask.subtasks.map(subtask => {\n const employee = this.enrichedEmployees.find(employee => employee.id == subtask.employee_id);\n return {\n ...subtask,\n _initials: employee ? employee.name.charAt(0) + employee.surname.charAt(0) : '?',\n _fullName: employee ? `${employee.name} ${employee.surname}` : ''\n };\n }).filter(subtask => subtask !== null);\n }\n },\n validations() {\n const quillEditorRequired = value => {\n if (!value || !value.length || !value.replace(/<[^>]*>/g, '').length) return false;\n return true;\n };\n return {\n mastertask: {\n employees: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_15__.required,\n minLength: (0,_vuelidate_validators__WEBPACK_IMPORTED_MODULE_15__.minLength)(1),\n $each: {\n duration: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_15__.required\n }\n }\n },\n project_id: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_15__.required\n },\n name: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_15__.required\n },\n description: {\n quillEditorRequired\n },\n deadline: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_15__.required\n },\n _deadline_time: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_15__.required\n }\n }\n };\n },\n mounted() {\n this.$events.on('close-both-modals', this.closeBothModals);\n this.$events.on('master-task:team-member-deleted', ({\n teamId,\n memberId\n }) => {\n if (this.mastertask.team_id != teamId) return;\n this.mastertask.employees = this.mastertask.employees.filter(employee => employee.id != memberId);\n }), this.$events.on('on-mastertask-deleted', mastertask => {\n if (mastertask?.id == this.mastertask?.id) this.closeModal();\n });\n this.$events.on('on-subtask-deleted', task => {\n if (!this.mastertask) return;\n this.mastertask.subtasks = this.mastertask.subtasks.filter(subtask => subtask.id != task.id);\n });\n this.$events.on('on-subtask-edited', task => {\n if (!this.mastertask?.subtasks) return;\n if (this.mastertask.subtasks.find(subtask => subtask.id == task.id)) {\n this.mastertask.subtasks = this.mastertask.subtasks.map(t => t.id == task.id ? task : t);\n } else {\n this.mastertask.subtasks.push(task);\n }\n });\n },\n beforeUnmount() {\n this.$events.off('on-mastertask-deleted');\n this.$events.off('on-subtask-deleted');\n this.$events.off('on-subtask-edited');\n this.$events.off('master-task:team-member-deleted');\n this.$events.off('close-both-modals', this.closeBothModals);\n },\n methods: {\n closeBothModals() {\n this.$emit('close');\n this.visible = false;\n },\n removeEmployee({\n id\n }) {\n // const isEmployeeInTeam = this.mastertask.team?.employees.find(employee => employee.id == id)\n\n // if (isEmployeeInTeam) {\n // \tthis.mastertask.team_id = null\n // \tthis.mastertask.team = null\n // }\n\n this.mastertask.employees = this.mastertask.employees.filter(employee => employee.id != id);\n },\n removeMemberAlert(member) {\n const team = this.mastertask.team;\n this.$events.emit('show-delete-team-member-modal', {\n member,\n team\n });\n },\n async showModal({\n mastertask,\n editMode = false\n }) {\n this.isSaving = false;\n this.editMode = null;\n this.visible = true;\n this.mastertask = null;\n this.$nextTick(() => {\n this.setFocusEvent();\n this.v$.$reset();\n });\n try {\n if (mastertask?.id) {\n this.mastertask = await this.$axios.get_auth_data(`v1/mastertasks/${mastertask.id}`);\n\n // TODO zmazat ked zacne prichadzat project_id a team_id\n console.log('1', this.mastertask);\n const project = this.projects.find(project => project.code == this.mastertask.project_code);\n this.mastertask.project_id = project?.id || null;\n this.mastertask.team_id = this.mastertask.team?.id || null;\n this.mastertask._allEmployees = this.mastertask.subtasks.map(({\n employee_id,\n duration\n }) => {\n const employee = this.enrichedEmployees.find(({\n id\n }) => id == employee_id);\n if (!employee) {\n return null;\n }\n employee.duration = duration;\n return employee;\n }).filter(employee => employee !== null);\n\n // this.mastertask.project_code \t= project.code\n } else {\n const savedMastertask = localStorage.getItem('mastertaskData');\n try {\n if (savedMastertask) {\n const parsedMastertask = JSON.parse(savedMastertask);\n this.mastertask = parsedMastertask;\n // If the parsed result is not an object, reset to default\n if (typeof this.mastertask !== 'object' || this.mastertask === null) {\n throw new Error('Parsed mastertask is not an object');\n }\n this.$nextTick(() => {\n this.$refs['description']?.setHTML(this.mastertask.description || '');\n });\n } else {\n throw new Error('mastertaskData is null or undefined');\n }\n } catch (error) {\n console.error('Error parsing mastertaskData:', error);\n this.mastertask = {\n employees: [],\n duration: 0,\n _deadline_time: '17:00'\n };\n }\n }\n this.editMode = editMode || !this.mastertask.id;\n } catch (error) {\n this.$toast.error(error.message || error);\n if (true) console.log('[z-master-task-modal.vue] Error: ', error);\n }\n },\n toggleIsFinished() {\n this.$events.emit('show-complete-master-task-modal', {\n mastertask: this.mastertask\n });\n },\n async save() {\n if (this.mastertask.id) {\n this.mastertask.employees = this.mastertask.employees.map(employee => {\n const {\n duration\n } = this.mastertask.subtasks.find(({\n employee_id\n }) => employee_id == employee.id) || {};\n employee.duration = duration;\n return employee;\n });\n }\n const vuelidateValid = await this.v$.$validate();\n const employeesValid = await this._validateEmployees();\n if (!vuelidateValid || !employeesValid) return;\n if (this.$refs['description']) this.mastertask.description = this.$refs['description'].getHTML();\n this._mergeDeadlineTimeDate();\n try {\n this.isSaving = true;\n this.mastertask.deadline = moment__WEBPACK_IMPORTED_MODULE_6___default()(this.mastertask.deadline).format('YYYY-MM-DD HH:MM:SS');\n if (this.mastertask.id) await this.$axios.patch_auth_form(`v1/mastertasks/${this.mastertask.id}`, this.mastertask);else await this.$axios.post_auth_data('v1/mastertasks', this.mastertask);\n localStorage.removeItem('mastertaskData');\n this.$emit('master-task-edited', this.mastertask);\n this.closeModal();\n } catch (error) {\n this.$toast.error(this.$parseError(error));\n if (true) console.log('[z-master-task-modal.vue] Error: ', error);\n } finally {\n this.isSaving = false;\n }\n },\n filesUploaded(files) {\n this.mastertask.files = files;\n },\n closeModal() {\n this.visible = false;\n },\n openDeleteMasterTaskModal(mastertask) {\n this.$events.emit('show-delete-master-task-modal', {\n mastertask\n });\n },\n addTask() {\n this.$events.emit('show-subtask-modal', {\n subtask: {\n master_task_id: this.mastertask.id,\n project_code: this.mastertask.project_code\n }\n });\n },\n onQuillEditorInput() {\n this.mastertask.description = this.$refs['description'].getHTML();\n },\n _mergeDeadlineTimeDate() {\n const date = new Date(this.mastertask.deadline);\n console.log('z-master-task-modal', this.subtask);\n const timeParts = this.mastertask._deadline_time.split(':');\n date.setHours(parseInt(timeParts[0]));\n date.setMinutes(parseInt(timeParts[1]));\n this.mastertask.deadline = date;\n },\n _validateEmployees() {\n let isValid = true;\n this.mastertask.employees = this.mastertask.employees.map(employee => {\n if (!employee.duration) {\n employee.invalid = true;\n isValid = false;\n }\n return employee;\n });\n return isValid;\n }\n },\n watch: {\n editMode() {\n this.$nextTick(() => {\n this.$refs['description']?.setHTML(this.mastertask.description || '');\n if (!this.mastertask?.id) return;\n const date = new Date(this.mastertask.deadline);\n const hours = date.getHours();\n const minutes = date.getMinutes();\n this.mastertask._deadline_time = `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}`;\n });\n },\n mastertask: {\n handler(val) {\n if (this.editMode && !this.mastertask?.id) {\n localStorage.setItem('mastertaskData', JSON.stringify(val));\n }\n },\n deep: true\n },\n 'mastertask.team_id': {\n handler(value, oldValue) {\n if (this.editMode && !value && oldValue) {\n // Removes only employees from the old team when team_id is removed\n const oldTeamEmployeesIds = this.teams.find(team => team.id == oldValue)?.employees.map(employee => employee?.id) || [];\n const employeesNotInOldTeam = this.mastertask.employees.filter(employee => !oldTeamEmployeesIds.includes(employee?.id));\n this.mastertask.employees = employeesNotInOldTeam;\n }\n },\n deep: true\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/master-task/z-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"); +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 _vuepic_vue_datepicker__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @vuepic/vue-datepicker */ \"./node_modules/@vuepic/vue-datepicker/dist/vue-datepicker.js\");\n/* harmony import */ var _plugins_tm_components_z_files_upload_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/plugins/tm@_components/z-files-upload.vue */ \"./src/plugins/tm@_components/z-files-upload.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_15__ = __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_4__ = __webpack_require__(/*! @/plugins/lib@auth/_utils/error.utils */ \"./src/plugins/lib@auth/_utils/error.utils.ts\");\n/* harmony import */ var _plugins_tm_modal_mixins_vuetify_fix_focus__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/plugins/tm@modal/_mixins/vuetify-fix-focus */ \"./src/plugins/tm@modal/_mixins/vuetify-fix-focus.ts\");\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 _vueup_vue_quill__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @vueup/vue-quill */ \"./node_modules/@vueup/vue-quill/dist/vue-quill.esm-bundler.js\");\n/* harmony import */ var _plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/plugins/tm@modal/_mixins/modal.mixin */ \"./src/plugins/tm@modal/_mixins/modal.mixin.ts\");\n/* harmony import */ var _vueup_vue_quill_dist_vue_quill_snow_css__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @vueup/vue-quill/dist/vue-quill.snow.css */ \"./node_modules/@vueup/vue-quill/dist/vue-quill.snow.css\");\n/* harmony import */ var _vueup_vue_quill_dist_vue_quill_snow_css__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_vueup_vue_quill_dist_vue_quill_snow_css__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var _mixins_selects_mixin__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./_mixins/selects.mixin */ \"./src/plugins/tm@modal/master-task/_mixins/selects.mixin.ts\");\n/* harmony import */ var _components_a_tasks_table_vue__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./_components/a-tasks-table.vue */ \"./src/plugins/tm@modal/master-task/_components/a-tasks-table.vue\");\n/* harmony import */ var _components_a_mastertask_description_vue__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./_components/a-mastertask-description.vue */ \"./src/plugins/tm@modal/master-task/_components/a-mastertask-description.vue\");\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm-bundler.js\");\n/* harmony import */ var _plugins_tm_mixins_autocomplete_mixin__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @/plugins/tm@_mixins/autocomplete.mixin */ \"./src/plugins/tm@_mixins/autocomplete.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// import ZAutocomplete from '@/plugins/tm@_components/z-autocomplete.vue'\n\n\n\n// import tmUtils from '@/plugins/tm@_utils/tm.utils'\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n // MIXINS\n // computed: employeesOptions, projectsOptions\n // methods: onProjectSelected, onEmployeeSelected, onEmployeeDurationChanged\n // watch: mastertask.team_id\n\n emits: ['master-task-edited', 'close'],\n mixins: [_plugins_tm_modal_mixins_vuetify_fix_focus__WEBPACK_IMPORTED_MODULE_5__[\"default\"], _mixins_selects_mixin__WEBPACK_IMPORTED_MODULE_10__[\"default\"], _plugins_tm_mixins_autocomplete_mixin__WEBPACK_IMPORTED_MODULE_13__[\"default\"], _plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_8__[\"default\"]],\n components: {\n AMastertaskDescription: _components_a_mastertask_description_vue__WEBPACK_IMPORTED_MODULE_12__[\"default\"],\n ATasksTable: _components_a_tasks_table_vue__WEBPACK_IMPORTED_MODULE_11__[\"default\"],\n Datepicker: _vuepic_vue_datepicker__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n ZFilesUpload: _plugins_tm_components_z_files_upload_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n // ZAutocomplete,\n QuillEditor: _vueup_vue_quill__WEBPACK_IMPORTED_MODULE_7__.QuillEditor\n },\n data() {\n return {\n deadline: null,\n editMode: false,\n visible: false,\n errorUtils: _plugins_lib_auth_utils_error_utils__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n v$: (0,_vuelidate_core__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(),\n mastertask: null,\n isSaving: false,\n showAddEmployeeInput: false,\n date: null,\n projectCodeSearch: null\n };\n },\n computed: {\n ...(0,vuex__WEBPACK_IMPORTED_MODULE_14__.mapGetters)('tm', ['teams', 'projects', 'enrichedEmployees']),\n enrichedSubtasks() {\n if (!this.mastertask?.subtasks) return null;\n return this.mastertask.subtasks.map(subtask => {\n const employee = this.enrichedEmployees.find(employee => employee.id == subtask.employee_id);\n return {\n ...subtask,\n _initials: employee ? employee.name.charAt(0) + employee.surname.charAt(0) : '?',\n _fullName: employee ? `${employee.name} ${employee.surname}` : ''\n };\n }).filter(subtask => subtask !== null);\n }\n },\n validations() {\n const quillEditorRequired = value => {\n if (!value || !value.length || !value.replace(/<[^>]*>/g, '').length) return false;\n return true;\n };\n return {\n mastertask: {\n employees: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_15__.required,\n minLength: (0,_vuelidate_validators__WEBPACK_IMPORTED_MODULE_15__.minLength)(1),\n $each: {\n duration: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_15__.required\n }\n }\n },\n project_id: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_15__.required\n },\n name: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_15__.required\n },\n description: {\n quillEditorRequired\n },\n deadline: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_15__.required\n },\n estimated_duration: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_15__.required\n },\n _deadline_time: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_15__.required\n }\n }\n };\n },\n mounted() {\n this.$events.on('close-both-modals', this.closeBothModals);\n this.$events.on('master-task:team-member-deleted', ({\n teamId,\n memberId\n }) => {\n if (this.mastertask.team_id != teamId) return;\n this.mastertask.employees = this.mastertask.employees.filter(employee => employee.id != memberId);\n }), this.$events.on('on-mastertask-deleted', mastertask => {\n if (mastertask?.id == this.mastertask?.id) this.closeModal();\n });\n this.$events.on('on-subtask-deleted', task => {\n if (!this.mastertask) return;\n this.mastertask.subtasks = this.mastertask.subtasks.filter(subtask => subtask.id != task.id);\n });\n this.$events.on('on-subtask-edited', task => {\n if (!this.mastertask?.subtasks) return;\n if (this.mastertask.subtasks.find(subtask => subtask.id == task.id)) {\n this.mastertask.subtasks = this.mastertask.subtasks.map(t => t.id == task.id ? task : t);\n } else {\n this.mastertask.subtasks.push(task);\n }\n });\n },\n beforeUnmount() {\n this.$events.off('on-mastertask-deleted');\n this.$events.off('on-subtask-deleted');\n this.$events.off('on-subtask-edited');\n this.$events.off('master-task:team-member-deleted');\n this.$events.off('close-both-modals', this.closeBothModals);\n },\n methods: {\n closeBothModals() {\n this.$emit('close');\n this.visible = false;\n },\n removeEmployee({\n id\n }) {\n // const isEmployeeInTeam = this.mastertask.team?.employees.find(employee => employee.id == id)\n\n // if (isEmployeeInTeam) {\n // \tthis.mastertask.team_id = null\n // \tthis.mastertask.team = null\n // }\n\n this.mastertask.employees = this.mastertask.employees.filter(employee => employee.id != id);\n },\n removeMemberAlert(member) {\n const team = this.mastertask.team;\n this.$events.emit('show-delete-team-member-modal', {\n member,\n team\n });\n },\n async showModal({\n mastertask,\n editMode = false\n }) {\n this.isSaving = false;\n this.editMode = null;\n this.visible = true;\n this.mastertask = null;\n this.$nextTick(() => {\n this.setFocusEvent();\n this.v$.$reset();\n });\n try {\n if (mastertask?.id) {\n this.mastertask = await this.$axios.get_auth_data(`v1/mastertasks/${mastertask.id}`);\n\n // TODO zmazat ked zacne prichadzat project_id a team_id\n console.log('1', this.mastertask);\n const project = this.projects.find(project => project.code == this.mastertask.project_code);\n this.mastertask.project_id = project?.id || null;\n this.mastertask.team_id = this.mastertask.team?.id || null;\n this.mastertask._allEmployees = this.mastertask.subtasks.map(({\n employee_id,\n duration\n }) => {\n const employee = this.enrichedEmployees.find(({\n id\n }) => id == employee_id);\n if (!employee) {\n return null;\n }\n employee.duration = duration;\n return employee;\n }).filter(employee => employee !== null);\n\n // this.mastertask.project_code \t= project.code\n } else {\n const savedMastertask = localStorage.getItem('mastertaskData');\n try {\n if (savedMastertask) {\n const parsedMastertask = JSON.parse(savedMastertask);\n this.mastertask = parsedMastertask;\n // If the parsed result is not an object, reset to default\n if (typeof this.mastertask !== 'object' || this.mastertask === null) {\n throw new Error('Parsed mastertask is not an object');\n }\n this.$nextTick(() => {\n this.$refs['description']?.setHTML(this.mastertask.description || '');\n });\n } else {\n throw new Error('mastertaskData is null or undefined');\n }\n } catch (error) {\n console.error('Error parsing mastertaskData:', error);\n this.mastertask = {\n employees: [],\n duration: 0,\n _deadline_time: '17:00'\n };\n }\n }\n this.editMode = editMode || !this.mastertask.id;\n } catch (error) {\n this.$toast.error(error.message || error);\n if (true) console.log('[z-master-task-modal.vue] Error: ', error);\n }\n },\n toggleIsFinished() {\n this.$events.emit('show-complete-master-task-modal', {\n mastertask: this.mastertask\n });\n },\n async save() {\n if (this.mastertask.id) {\n this.mastertask.employees = this.mastertask.employees.map(employee => {\n const {\n duration\n } = this.mastertask.subtasks.find(({\n employee_id\n }) => employee_id == employee.id) || {};\n employee.duration = duration;\n return employee;\n });\n }\n const vuelidateValid = await this.v$.$validate();\n const employeesValid = await this._validateEmployees();\n if (!vuelidateValid || !employeesValid) return;\n if (this.$refs['description']) this.mastertask.description = this.$refs['description'].getHTML();\n this._mergeDeadlineTimeDate();\n try {\n this.isSaving = true;\n this.mastertask.deadline = moment__WEBPACK_IMPORTED_MODULE_6___default()(this.mastertask.deadline).format('YYYY-MM-DD HH:MM:SS');\n if (this.mastertask.id) await this.$axios.patch_auth_form(`v1/mastertasks/${this.mastertask.id}`, this.mastertask);else await this.$axios.post_auth_data('v1/mastertasks', this.mastertask);\n localStorage.removeItem('mastertaskData');\n this.$emit('master-task-edited', this.mastertask);\n this.closeModal();\n } catch (error) {\n this.$toast.error(this.$parseError(error));\n if (true) console.log('[z-master-task-modal.vue] Error: ', error);\n } finally {\n this.isSaving = false;\n }\n },\n filesUploaded(files) {\n this.mastertask.files = files;\n },\n closeModal() {\n this.visible = false;\n },\n openDeleteMasterTaskModal(mastertask) {\n this.$events.emit('show-delete-master-task-modal', {\n mastertask\n });\n },\n addTask() {\n this.$events.emit('show-subtask-modal', {\n subtask: {\n master_task_id: this.mastertask.id,\n project_code: this.mastertask.project_code\n }\n });\n },\n onQuillEditorInput() {\n this.mastertask.description = this.$refs['description'].getHTML();\n },\n _mergeDeadlineTimeDate() {\n const date = new Date(this.mastertask.deadline);\n console.log('z-master-task-modal', this.subtask);\n const timeParts = this.mastertask._deadline_time.split(':');\n date.setHours(parseInt(timeParts[0]));\n date.setMinutes(parseInt(timeParts[1]));\n this.mastertask.deadline = date;\n },\n _validateEmployees() {\n let isValid = true;\n this.mastertask.employees = this.mastertask.employees.map(employee => {\n if (!employee.duration) {\n employee.invalid = true;\n isValid = false;\n }\n return employee;\n });\n return isValid;\n }\n },\n watch: {\n editMode() {\n this.$nextTick(() => {\n this.$refs['description']?.setHTML(this.mastertask.description || '');\n if (!this.mastertask?.id) return;\n const date = new Date(this.mastertask.deadline);\n const hours = date.getHours();\n const minutes = date.getMinutes();\n this.mastertask._deadline_time = `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}`;\n });\n },\n mastertask: {\n handler(val) {\n if (this.editMode && !this.mastertask?.id) {\n localStorage.setItem('mastertaskData', JSON.stringify(val));\n }\n },\n deep: true\n },\n 'mastertask.team_id': {\n handler(value, oldValue) {\n if (this.editMode && !value && oldValue) {\n // Removes only employees from the old team when team_id is removed\n const oldTeamEmployeesIds = this.teams.find(team => team.id == oldValue)?.employees.map(employee => employee?.id) || [];\n const employeesNotInOldTeam = this.mastertask.employees.filter(employee => !oldTeamEmployeesIds.includes(employee?.id));\n this.mastertask.employees = employeesNotInOldTeam;\n }\n },\n deep: true\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/master-task/z-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"); /***/ }), @@ -745,17 +756,6 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _plu /***/ }), -/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/plugins/tm@modal/task/_components/_components/a-task-estimated-duration.vue?vue&type=script&lang=js": -/*!**********************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/plugins/tm@modal/task/_components/_components/a-task-estimated-duration.vue?vue&type=script&lang=js ***! - \**********************************************************************************************************************************************************************************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n props: {\n hours: {\n type: [Number, undefined]\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/task/_components/_components/a-task-estimated-duration.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"); - -/***/ }), - /***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/plugins/tm@modal/task/_components/_components/a-task-planned-time.vue?vue&type=script&lang=js": /*!****************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/plugins/tm@modal/task/_components/_components/a-task-planned-time.vue?vue&type=script&lang=js ***! @@ -818,7 +818,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_mastertask_name_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_components/a-mastertask-name.vue */ \"./src/plugins/tm@modal/task/_components/_components/a-mastertask-name.vue\");\n/* harmony import */ var _components_a_mastertask_status_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_components/a-mastertask-status.vue */ \"./src/plugins/tm@modal/task/_components/_components/a-mastertask-status.vue\");\n/* harmony import */ var _components_a_task_timeblocks_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_components/a-task-timeblocks.vue */ \"./src/plugins/tm@modal/task/_components/_components/a-task-timeblocks.vue\");\n/* harmony import */ var _components_read_only_z_created_by_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../_components/read-only/z-created-by.vue */ \"./src/plugins/tm@modal/_components/read-only/z-created-by.vue\");\n/* harmony import */ var _components_a_task_assigned_employee_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_components/a-task-assigned-employee.vue */ \"./src/plugins/tm@modal/task/_components/_components/a-task-assigned-employee.vue\");\n/* harmony import */ var _components_a_task_planned_time_vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_components/a-task-planned-time.vue */ \"./src/plugins/tm@modal/task/_components/_components/a-task-planned-time.vue\");\n/* harmony import */ var _components_a_task_spent_time_vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./_components/a-task-spent-time.vue */ \"./src/plugins/tm@modal/task/_components/_components/a-task-spent-time.vue\");\n/* harmony import */ var _components_a_task_remaining_time_vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./_components/a-task-remaining-time.vue */ \"./src/plugins/tm@modal/task/_components/_components/a-task-remaining-time.vue\");\n/* harmony import */ var _components_a_task_deadline_vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./_components/a-task-deadline.vue */ \"./src/plugins/tm@modal/task/_components/_components/a-task-deadline.vue\");\n/* harmony import */ var _components_a_task_description_vue__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./_components/a-task-description.vue */ \"./src/plugins/tm@modal/task/_components/_components/a-task-description.vue\");\n/* harmony import */ var _components_a_task_estimated_duration_vue__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./_components/a-task-estimated-duration.vue */ \"./src/plugins/tm@modal/task/_components/_components/a-task-estimated-duration.vue\");\n/* harmony import */ var _plugins_tm_modal_components_read_only_z_files_vue__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/plugins/tm@modal/_components/read-only/z-files.vue */ \"./src/plugins/tm@modal/_components/read-only/z-files.vue\");\n\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n emits: ['close-modal', 'update-subtask'],\n components: {\n ZFiles: _plugins_tm_modal_components_read_only_z_files_vue__WEBPACK_IMPORTED_MODULE_11__[\"default\"],\n AMastertaskName: _components_a_mastertask_name_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n AMastertaskStatus: _components_a_mastertask_status_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n ATaskTimeblocks: _components_a_task_timeblocks_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n ZCreatedBy: _components_read_only_z_created_by_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n ATaskAssignedEmployee: _components_a_task_assigned_employee_vue__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n ATaskPlannedTime: _components_a_task_planned_time_vue__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n ATaskSpentTime: _components_a_task_spent_time_vue__WEBPACK_IMPORTED_MODULE_6__[\"default\"],\n ATaskRemainingTime: _components_a_task_remaining_time_vue__WEBPACK_IMPORTED_MODULE_7__[\"default\"],\n ATaskDescription: _components_a_task_description_vue__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n ATaskDeadline: _components_a_task_deadline_vue__WEBPACK_IMPORTED_MODULE_8__[\"default\"],\n ATaskEstimatedDuration: _components_a_task_estimated_duration_vue__WEBPACK_IMPORTED_MODULE_10__[\"default\"]\n },\n props: {\n subtask: {\n type: Object,\n required: true\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/task/_components/z-task-readonly-info.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"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _components_a_mastertask_name_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_components/a-mastertask-name.vue */ \"./src/plugins/tm@modal/task/_components/_components/a-mastertask-name.vue\");\n/* harmony import */ var _components_a_mastertask_status_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_components/a-mastertask-status.vue */ \"./src/plugins/tm@modal/task/_components/_components/a-mastertask-status.vue\");\n/* harmony import */ var _components_a_task_timeblocks_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_components/a-task-timeblocks.vue */ \"./src/plugins/tm@modal/task/_components/_components/a-task-timeblocks.vue\");\n/* harmony import */ var _components_read_only_z_created_by_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../_components/read-only/z-created-by.vue */ \"./src/plugins/tm@modal/_components/read-only/z-created-by.vue\");\n/* harmony import */ var _components_a_task_assigned_employee_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_components/a-task-assigned-employee.vue */ \"./src/plugins/tm@modal/task/_components/_components/a-task-assigned-employee.vue\");\n/* harmony import */ var _components_a_task_planned_time_vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_components/a-task-planned-time.vue */ \"./src/plugins/tm@modal/task/_components/_components/a-task-planned-time.vue\");\n/* harmony import */ var _components_a_task_spent_time_vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./_components/a-task-spent-time.vue */ \"./src/plugins/tm@modal/task/_components/_components/a-task-spent-time.vue\");\n/* harmony import */ var _components_a_task_remaining_time_vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./_components/a-task-remaining-time.vue */ \"./src/plugins/tm@modal/task/_components/_components/a-task-remaining-time.vue\");\n/* harmony import */ var _components_a_task_deadline_vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./_components/a-task-deadline.vue */ \"./src/plugins/tm@modal/task/_components/_components/a-task-deadline.vue\");\n/* harmony import */ var _components_a_task_description_vue__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./_components/a-task-description.vue */ \"./src/plugins/tm@modal/task/_components/_components/a-task-description.vue\");\n/* harmony import */ var _plugins_tm_modal_components_read_only_z_files_vue__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/plugins/tm@modal/_components/read-only/z-files.vue */ \"./src/plugins/tm@modal/_components/read-only/z-files.vue\");\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n emits: ['close-modal', 'update-subtask'],\n components: {\n ZFiles: _plugins_tm_modal_components_read_only_z_files_vue__WEBPACK_IMPORTED_MODULE_10__[\"default\"],\n AMastertaskName: _components_a_mastertask_name_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n AMastertaskStatus: _components_a_mastertask_status_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n ATaskTimeblocks: _components_a_task_timeblocks_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n ZCreatedBy: _components_read_only_z_created_by_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n ATaskAssignedEmployee: _components_a_task_assigned_employee_vue__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n ATaskPlannedTime: _components_a_task_planned_time_vue__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n ATaskSpentTime: _components_a_task_spent_time_vue__WEBPACK_IMPORTED_MODULE_6__[\"default\"],\n ATaskRemainingTime: _components_a_task_remaining_time_vue__WEBPACK_IMPORTED_MODULE_7__[\"default\"],\n ATaskDescription: _components_a_task_description_vue__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n ATaskDeadline: _components_a_task_deadline_vue__WEBPACK_IMPORTED_MODULE_8__[\"default\"]\n },\n props: {\n subtask: {\n type: Object,\n required: true\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/task/_components/z-task-readonly-info.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"); /***/ }), @@ -1272,6 +1272,17 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _z_d /***/ }), +/***/ "./src/plugins/tm@modal/_components/read-only/z-estimated-duration.vue": +/*!*****************************************************************************!*\ + !*** ./src/plugins/tm@modal/_components/read-only/z-estimated-duration.vue ***! + \*****************************************************************************/ +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _z_estimated_duration_vue_vue_type_template_id_ed7e31a2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./z-estimated-duration.vue?vue&type=template&id=ed7e31a2 */ \"./src/plugins/tm@modal/_components/read-only/z-estimated-duration.vue?vue&type=template&id=ed7e31a2\");\n/* harmony import */ var _z_estimated_duration_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./z-estimated-duration.vue?vue&type=script&lang=js */ \"./src/plugins/tm@modal/_components/read-only/z-estimated-duration.vue?vue&type=script&lang=js\");\n/* harmony import */ var _Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/vue-loader/dist/exportHelper.js */ \"./node_modules/vue-loader/dist/exportHelper.js\");\n\n\n\n\n;\nconst __exports__ = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_z_estimated_duration_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], [['render',_z_estimated_duration_vue_vue_type_template_id_ed7e31a2__WEBPACK_IMPORTED_MODULE_0__.render],['__file',\"src/plugins/tm@modal/_components/read-only/z-estimated-duration.vue\"]])\n/* hot reload */\nif (false) {}\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (__exports__);\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/_components/read-only/z-estimated-duration.vue?"); + +/***/ }), + /***/ "./src/plugins/tm@modal/_components/read-only/z-files.vue": /*!****************************************************************!*\ !*** ./src/plugins/tm@modal/_components/read-only/z-files.vue ***! @@ -1492,17 +1503,6 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _a_t /***/ }), -/***/ "./src/plugins/tm@modal/task/_components/_components/a-task-estimated-duration.vue": -/*!*****************************************************************************************!*\ - !*** ./src/plugins/tm@modal/task/_components/_components/a-task-estimated-duration.vue ***! - \*****************************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _a_task_estimated_duration_vue_vue_type_template_id_9bf3df18__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./a-task-estimated-duration.vue?vue&type=template&id=9bf3df18 */ \"./src/plugins/tm@modal/task/_components/_components/a-task-estimated-duration.vue?vue&type=template&id=9bf3df18\");\n/* harmony import */ var _a_task_estimated_duration_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./a-task-estimated-duration.vue?vue&type=script&lang=js */ \"./src/plugins/tm@modal/task/_components/_components/a-task-estimated-duration.vue?vue&type=script&lang=js\");\n/* harmony import */ var _Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/vue-loader/dist/exportHelper.js */ \"./node_modules/vue-loader/dist/exportHelper.js\");\n\n\n\n\n;\nconst __exports__ = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_a_task_estimated_duration_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], [['render',_a_task_estimated_duration_vue_vue_type_template_id_9bf3df18__WEBPACK_IMPORTED_MODULE_0__.render],['__file',\"src/plugins/tm@modal/task/_components/_components/a-task-estimated-duration.vue\"]])\n/* hot reload */\nif (false) {}\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (__exports__);\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/task/_components/_components/a-task-estimated-duration.vue?"); - -/***/ }), - /***/ "./src/plugins/tm@modal/task/_components/_components/a-task-planned-time.vue": /*!***********************************************************************************!*\ !*** ./src/plugins/tm@modal/task/_components/_components/a-task-planned-time.vue ***! @@ -1789,6 +1789,17 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ }), +/***/ "./src/plugins/tm@modal/_components/read-only/z-estimated-duration.vue?vue&type=script&lang=js": +/*!*****************************************************************************************************!*\ + !*** ./src/plugins/tm@modal/_components/read-only/z-estimated-duration.vue?vue&type=script&lang=js ***! + \*****************************************************************************************************/ +/***/ (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 */ \"default\": function() { return /* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_0_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_z_estimated_duration_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; }\n/* harmony export */ });\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_0_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_z_estimated_duration_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!../../../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./z-estimated-duration.vue?vue&type=script&lang=js */ \"./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/plugins/tm@modal/_components/read-only/z-estimated-duration.vue?vue&type=script&lang=js\");\n \n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/_components/read-only/z-estimated-duration.vue?"); + +/***/ }), + /***/ "./src/plugins/tm@modal/_components/read-only/z-files.vue?vue&type=script&lang=js": /*!****************************************************************************************!*\ !*** ./src/plugins/tm@modal/_components/read-only/z-files.vue?vue&type=script&lang=js ***! @@ -2009,17 +2020,6 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ }), -/***/ "./src/plugins/tm@modal/task/_components/_components/a-task-estimated-duration.vue?vue&type=script&lang=js": -/*!*****************************************************************************************************************!*\ - !*** ./src/plugins/tm@modal/task/_components/_components/a-task-estimated-duration.vue?vue&type=script&lang=js ***! - \*****************************************************************************************************************/ -/***/ (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 */ \"default\": function() { return /* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_0_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_a_task_estimated_duration_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; }\n/* harmony export */ });\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_0_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_a_task_estimated_duration_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!../../../../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./a-task-estimated-duration.vue?vue&type=script&lang=js */ \"./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/plugins/tm@modal/task/_components/_components/a-task-estimated-duration.vue?vue&type=script&lang=js\");\n \n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/task/_components/_components/a-task-estimated-duration.vue?"); - -/***/ }), - /***/ "./src/plugins/tm@modal/task/_components/_components/a-task-planned-time.vue?vue&type=script&lang=js": /*!***********************************************************************************************************!*\ !*** ./src/plugins/tm@modal/task/_components/_components/a-task-planned-time.vue?vue&type=script&lang=js ***! @@ -2630,6 +2630,17 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ }), +/***/ "./node_modules/webpack-plugin-vuetify/dist/scriptLoader.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[5]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/plugins/tm@modal/_components/read-only/z-estimated-duration.vue?vue&type=template&id=ed7e31a2": +/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/webpack-plugin-vuetify/dist/scriptLoader.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[5]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/plugins/tm@modal/_components/read-only/z-estimated-duration.vue?vue&type=template&id=ed7e31a2 ***! + \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/***/ (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_VGrid_index_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vuetify/lib/components/VGrid/index.mjs */ \"./node_modules/vuetify/lib/components/VGrid/VRow.mjs\");\n/* harmony import */ var vuetify_lib_components_VGrid_index_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vuetify/lib/components/VGrid/index.mjs */ \"./node_modules/vuetify/lib/components/VGrid/VCol.mjs\");\n/* harmony import */ var vuetify_lib_components_VIcon_index_mjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! vuetify/lib/components/VIcon/index.mjs */ \"./node_modules/vuetify/lib/components/VIcon/VIcon.mjs\");\n/* harmony import */ var vuetify_lib_components_VSheet_index_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vuetify/lib/components/VSheet/index.mjs */ \"./node_modules/vuetify/lib/components/VSheet/VSheet.mjs\");\n\nconst _hoisted_1 = {\n class: \"d-flex align-center\"\n};\nconst _hoisted_2 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"p\", {\n class: \"mx-3\"\n}, \"Nacenené hodiny\", -1 /* HOISTED */);\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n \n \n \n \n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(vuetify_lib_components_VGrid_index_mjs__WEBPACK_IMPORTED_MODULE_1__.VRow, {\n \"no-gutters\": \"\",\n class: \"align-center\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VGrid_index_mjs__WEBPACK_IMPORTED_MODULE_2__.VCol, {\n cols: \"5\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VSheet_index_mjs__WEBPACK_IMPORTED_MODULE_3__.VSheet, {\n class: \"py-3\"\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__.createVNode)(vuetify_lib_components_VIcon_index_mjs__WEBPACK_IMPORTED_MODULE_4__.VIcon, {\n icon: \"mdi-clock-time-three-outline\",\n size: \"large\"\n }), _hoisted_2])]),\n _: 1 /* STABLE */\n })]),\n\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VGrid_index_mjs__WEBPACK_IMPORTED_MODULE_2__.VCol, {\n cols: \"7\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VSheet_index_mjs__WEBPACK_IMPORTED_MODULE_3__.VSheet, {\n class: \"py-3\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"p\", null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($props.hours || 0) + \" h\", 1 /* TEXT */)]),\n\n _: 1 /* STABLE */\n })]),\n\n _: 1 /* STABLE */\n })]),\n\n _: 1 /* STABLE */\n });\n}\n\n/* Vuetify */\n\n\n\n\n\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/_components/read-only/z-estimated-duration.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"); + +/***/ }), + /***/ "./node_modules/webpack-plugin-vuetify/dist/scriptLoader.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[5]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/plugins/tm@modal/_components/read-only/z-files.vue?vue&type=template&id=6f3ad93d&scoped=true": /*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/webpack-plugin-vuetify/dist/scriptLoader.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[5]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/plugins/tm@modal/_components/read-only/z-files.vue?vue&type=template&id=6f3ad93d&scoped=true ***! @@ -2725,7 +2736,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ (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\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_Z_status = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"Z-status\");\n const _component_Z_deadline = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"Z-deadline\");\n const _component_Z_created_by = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"Z-created-by\");\n const _component_Z_team = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"Z-team\");\n const _component_Z_planned_time = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"Z-planned-time\");\n const _component_Z_remaining_time = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"Z-remaining-time\");\n const _component_Z_spent_time = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"Z-spent-time\");\n const _component_Z_description = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"Z-description\");\n const _component_Z_files = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"Z-files\");\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_Z_status, {\n status: $props.mastertask.is_finished\n }, null, 8 /* PROPS */, [\"status\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_Z_deadline, {\n deadline: $props.mastertask.deadline\n }, null, 8 /* PROPS */, [\"deadline\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_Z_created_by, {\n \"employee-id\": $props.mastertask.created_by\n }, null, 8 /* PROPS */, [\"employee-id\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_Z_team, {\n team: $props.mastertask.team,\n employees: $props.mastertask._allEmployees || $props.mastertask.employees\n }, null, 8 /* PROPS */, [\"team\", \"employees\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_Z_planned_time, {\n hours: $props.mastertask.duration\n }, null, 8 /* PROPS */, [\"hours\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_Z_remaining_time, {\n hours: $props.mastertask.duration - $props.mastertask.time_worked\n }, null, 8 /* PROPS */, [\"hours\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_Z_spent_time, {\n hours: $props.mastertask.time_worked,\n \"is-exceeded\": $props.mastertask.time_worked > $props.mastertask.duration\n }, null, 8 /* PROPS */, [\"hours\", \"is-exceeded\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_Z_description, {\n description: $props.mastertask.description\n }, null, 8 /* PROPS */, [\"description\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_Z_files, {\n files: $props.mastertask.files\n }, null, 8 /* PROPS */, [\"files\"])], 64 /* STABLE_FRAGMENT */);\n}\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/master-task/_components/a-mastertask-description.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"); +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\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_Z_status = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"Z-status\");\n const _component_Z_deadline = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"Z-deadline\");\n const _component_Z_created_by = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"Z-created-by\");\n const _component_Z_team = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"Z-team\");\n const _component_Z_estimated_duration = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"Z-estimated-duration\");\n const _component_Z_planned_time = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"Z-planned-time\");\n const _component_Z_remaining_time = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"Z-remaining-time\");\n const _component_Z_spent_time = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"Z-spent-time\");\n const _component_Z_description = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"Z-description\");\n const _component_Z_files = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"Z-files\");\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_Z_status, {\n status: $props.mastertask.is_finished\n }, null, 8 /* PROPS */, [\"status\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_Z_deadline, {\n deadline: $props.mastertask.deadline\n }, null, 8 /* PROPS */, [\"deadline\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_Z_created_by, {\n \"employee-id\": $props.mastertask.created_by\n }, null, 8 /* PROPS */, [\"employee-id\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_Z_team, {\n team: $props.mastertask.team,\n employees: $props.mastertask._allEmployees || $props.mastertask.employees\n }, null, 8 /* PROPS */, [\"team\", \"employees\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_Z_estimated_duration, {\n hours: $props.mastertask.estimated_duration\n }, null, 8 /* PROPS */, [\"hours\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_Z_planned_time, {\n hours: $props.mastertask.duration\n }, null, 8 /* PROPS */, [\"hours\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_Z_remaining_time, {\n hours: $props.mastertask.duration - $props.mastertask.time_worked\n }, null, 8 /* PROPS */, [\"hours\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_Z_spent_time, {\n hours: $props.mastertask.time_worked,\n \"is-exceeded\": $props.mastertask.time_worked > $props.mastertask.duration\n }, null, 8 /* PROPS */, [\"hours\", \"is-exceeded\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_Z_description, {\n description: $props.mastertask.description\n }, null, 8 /* PROPS */, [\"description\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_Z_files, {\n files: $props.mastertask.files\n }, null, 8 /* PROPS */, [\"files\"])], 64 /* STABLE_FRAGMENT */);\n}\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/master-task/_components/a-mastertask-description.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"); /***/ }), @@ -2780,7 +2791,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ (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_VAutocomplete_index_mjs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! vuetify/lib/components/VAutocomplete/index.mjs */ \"./node_modules/vuetify/lib/components/VAutocomplete/VAutocomplete.mjs\");\n/* harmony import */ var vuetify_lib_components_VBtn_index_mjs__WEBPACK_IMPORTED_MODULE_8__ = __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_4__ = __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_1__ = __webpack_require__(/*! vuetify/lib/components/VDialog/index.mjs */ \"./node_modules/vuetify/lib/components/VDialog/VDialog.mjs\");\n/* harmony import */ var vuetify_lib_components_VIcon_index_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vuetify/lib/components/VIcon/index.mjs */ \"./node_modules/vuetify/lib/components/VIcon/VIcon.mjs\");\n/* harmony import */ var vuetify_lib_components_VSelect_index_mjs__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! vuetify/lib/components/VSelect/index.mjs */ \"./node_modules/vuetify/lib/components/VSelect/VSelect.mjs\");\n/* harmony import */ var vuetify_lib_components_VTextField_index_mjs__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! vuetify/lib/components/VTextField/index.mjs */ \"./node_modules/vuetify/lib/components/VTextField/VTextField.mjs\");\n\nconst _withScopeId = n => ((0,vue__WEBPACK_IMPORTED_MODULE_0__.pushScopeId)(\"data-v-327591c6\"), n = n(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.popScopeId)(), n);\nconst _hoisted_1 = {\n class: \"d-flex justify-space-between align-center modal-header\"\n};\nconst _hoisted_2 = {\n class: \"splitted-inputs\"\n};\nconst _hoisted_3 = {\n class: \"employee-select-avatar d-flex justify-center align-center\"\n};\nconst _hoisted_4 = {\n class: \"employee-select-avatar d-flex justify-center align-center\"\n};\nconst _hoisted_5 = {\n class: \"d-flex justify-space-between align-center\"\n};\nconst _hoisted_6 = {\n class: \"d-flex justify-space-between align-center modal-header border-bottom pb-4\"\n};\nconst _hoisted_7 = {\n class: \"d-flex justify-start\"\n};\nconst _hoisted_8 = [\"src\"];\nconst _hoisted_9 = [\"src\"];\nconst _hoisted_10 = {\n class: \"w-100\"\n};\nconst _hoisted_11 = {\n class: \"d-flex justify-start align-center mt-8\"\n};\nconst _hoisted_12 = {\n class: \"d-flex align-center\"\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n \n \n \n const _component_Datepicker = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"Datepicker\");\n \n \n const _component_QuillEditor = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"QuillEditor\");\n const _component_Z_files_upload = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"Z-files-upload\");\n \n \n const _component_A_mastertask_description = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"A-mastertask-description\");\n const _component_A_tasks_table = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"A-tasks-table\");\n const _component_W_loadable = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"W-loadable\");\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_1__.VDialog, {\n modelValue: $data.visible,\n \"onUpdate:modelValue\": _cache[17] || (_cache[17] = $event => $data.visible = $event),\n \"max-width\": \"750\",\n \"max-height\": \"90%\",\n height: \"700px\",\n persistent: \"\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_W_loadable, {\n content: $data.mastertask,\n class: \"h-100\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [$data.editMode ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_2__.VCard, {\n key: 0,\n height: \"100%\",\n class: \"d-flex flex-column scrolling\"\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__.toDisplayString)($data.mastertask?.id ? 'Upraviť master task' : 'Vytvoriť master task'), 1 /* TEXT */), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VIcon_index_mjs__WEBPACK_IMPORTED_MODULE_3__.VIcon, {\n onClick: _cache[0] || (_cache[0] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.withModifiers)($event => $options.closeModal(), [\"stop\"])),\n icon: \"mdi-close\",\n size: \"large\"\n })]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_4__.VCardActions, {\n class: \"d-flex flex-column modal-content\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VAutocomplete_index_mjs__WEBPACK_IMPORTED_MODULE_5__.VAutocomplete, {\n \"custom-filter\": _ctx.customFilter,\n \"match-any\": true,\n modelValue: $data.mastertask.project_id,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => $data.mastertask.project_id = $event),\n label: _ctx.$t('Project code'),\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)([{\n error: $data.v$.mastertask.project_id.$errors.length\n }, \"modal-input\"]),\n items: _ctx.projectsOptions,\n \"item-title\": \"code\",\n \"item-value\": \"id\",\n variant: \"solo\",\n clearable: \"\",\n \"onUpdate:search\": _cache[2] || (_cache[2] = $event => $data.projectCodeSearch = $event)\n }, null, 8 /* PROPS */, [\"custom-filter\", \"modelValue\", \"label\", \"class\", \"items\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VTextField_index_mjs__WEBPACK_IMPORTED_MODULE_6__.VTextField, {\n modelValue: $data.mastertask.name,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => $data.mastertask.name = $event),\n onFocus: _ctx.onInputFocus,\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)([\"modal-input\", {\n error: $data.v$.mastertask.name.$errors.length\n }]),\n label: \"Názov mastertasku\",\n variant: \"solo\",\n hint: $data.v$.mastertask.name.$errors ? $data.errorUtils.parseErrors($data.v$.mastertask.name.$errors) : null\n }, null, 8 /* PROPS */, [\"modelValue\", \"onFocus\", \"class\", \"hint\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" TODO: Bialko validacie \"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_Datepicker, {\n modelValue: $data.mastertask.deadline,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => $data.mastertask.deadline = $event),\n \"auto-apply\": true,\n onFocus: _ctx.onDateFocus,\n \"min-date\": new Date(),\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)([\"modal-input left\", {\n error: $data.v$.mastertask.deadline.$errors?.length\n }]),\n format: \"dd.MM.yyyy\",\n locale: \"sk\",\n \"select-text\": \"Vybrať\",\n \"cancel-text\": \"Zrušiť\",\n placeholder: \"Dátum\",\n validations: $data.v$.mastertask.deadline\n }, null, 8 /* PROPS */, [\"modelValue\", \"onFocus\", \"min-date\", \"class\", \"validations\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VTextField_index_mjs__WEBPACK_IMPORTED_MODULE_6__.VTextField, {\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)([\"modal-input right\", {\n error: $data.v$.mastertask._deadline_time.$errors.length\n }]),\n variant: \"solo\",\n modelValue: $data.mastertask._deadline_time,\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = $event => $data.mastertask._deadline_time = $event),\n label: \"Čas\",\n \"append-inner-icon\": \"mdi-clock-outline\",\n type: \"time\",\n onFocus: _ctx.onInputFocus,\n hint: $data.v$.mastertask._deadline_time.$errors ? $data.errorUtils.parseErrors($data.v$.mastertask._deadline_time.$errors) : null\n }, null, 8 /* PROPS */, [\"modelValue\", \"onFocus\", \"class\", \"hint\"])]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VTextField_index_mjs__WEBPACK_IMPORTED_MODULE_6__.VTextField, {\n modelValue: $data.mastertask.estimated_duration,\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = $event => $data.mastertask.estimated_duration = $event),\n onFocus: _ctx.onInputFocus,\n class: \"modal-input\",\n variant: \"solo\",\n type: \"number\",\n label: \"Nacenené hodiny\"\n }, null, 8 /* PROPS */, [\"modelValue\", \"onFocus\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VTextField_index_mjs__WEBPACK_IMPORTED_MODULE_6__.VTextField, {\n modelValue: $data.mastertask.duration,\n \"onUpdate:modelValue\": _cache[7] || (_cache[7] = $event => $data.mastertask.duration = $event),\n onFocus: _ctx.onInputFocus,\n class: \"modal-input\",\n variant: \"solo\",\n type: \"number\",\n label: `${$data.mastertask.duration} h`,\n disabled: true\n }, null, 8 /* PROPS */, [\"modelValue\", \"onFocus\", \"label\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VSelect_index_mjs__WEBPACK_IMPORTED_MODULE_7__.VSelect, {\n modelValue: $data.mastertask.team_id,\n \"onUpdate:modelValue\": _cache[8] || (_cache[8] = $event => $data.mastertask.team_id = $event),\n onFocus: _ctx.onInputFocus,\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)([\"modal-input border-select\", {\n error: $data.v$.mastertask.employees.$errors.length\n }]),\n label: \"Tím\",\n variant: \"solo\",\n items: _ctx.teams,\n \"item-value\": \"id\",\n \"item-title\": \"name\",\n disabled: !!$data.mastertask.id,\n clearable: true\n }, null, 8 /* PROPS */, [\"modelValue\", \"onFocus\", \"class\", \"items\", \"disabled\"]), !$data.mastertask.id ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n key: 0\n }, (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderList)($data.mastertask.employees, (employee, index) => {\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(vuetify_lib_components_VTextField_index_mjs__WEBPACK_IMPORTED_MODULE_6__.VTextField, {\n key: employee.id,\n onFocus: _ctx.onInputFocus,\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)([\"modal-input\", {\n error: employee.invalid\n }]),\n label: `${employee.name} ${employee.surname}`,\n variant: \"solo\",\n placeholder: \"h\",\n modelValue: $data.mastertask.employees[index].duration,\n \"onUpdate:modelValue\": $event => $data.mastertask.employees[index].duration = $event,\n type: \"number\",\n min: \"1\",\n onInput: _ctx.onEmployeeDurationChanged\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"p\", _hoisted_3, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(employee?.name.charAt(0) + employee?.surname.charAt(0)), 1 /* TEXT */), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VIcon_index_mjs__WEBPACK_IMPORTED_MODULE_3__.VIcon, {\n onClick: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withModifiers)($event => $options.removeEmployee(employee), [\"stop\"]),\n class: \"remove-input\",\n icon: \"mdi-close-circle\",\n size: \"default\"\n }, null, 8 /* PROPS */, [\"onClick\"])]),\n _: 2 /* DYNAMIC */\n }, 1032 /* PROPS, DYNAMIC_SLOTS */, [\"onFocus\", \"class\", \"label\", \"modelValue\", \"onUpdate:modelValue\", \"onInput\"]);\n }), 128 /* KEYED_FRAGMENT */)) : ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n key: 1\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" mastertask._allEmployees is used in edit to combine team employees with extra employees and subtask durations \"), ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderList)($data.mastertask._allEmployees, employee => {\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(vuetify_lib_components_VTextField_index_mjs__WEBPACK_IMPORTED_MODULE_6__.VTextField, {\n key: employee.id,\n class: \"modal-input\",\n label: `${employee.name} ${employee.surname}`,\n variant: \"solo\",\n placeholder: \"h\",\n modelValue: employee.duration,\n \"onUpdate:modelValue\": $event => employee.duration = $event,\n type: \"number\",\n disabled: true\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"p\", _hoisted_4, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(employee?.name.charAt(0) + employee?.surname.charAt(0)), 1 /* TEXT */), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VIcon_index_mjs__WEBPACK_IMPORTED_MODULE_3__.VIcon, {\n onClick: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withModifiers)($event => $options.removeEmployee(employee), [\"stop\"]),\n class: \"remove-input\",\n icon: \"mdi-close-circle\",\n size: \"default\"\n }, null, 8 /* PROPS */, [\"onClick\"])]),\n _: 2 /* DYNAMIC */\n }, 1032 /* PROPS, DYNAMIC_SLOTS */, [\"label\", \"modelValue\", \"onUpdate:modelValue\"]);\n }), 128 /* KEYED_FRAGMENT */))], 64 /* STABLE_FRAGMENT */)), $data.showAddEmployeeInput ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(vuetify_lib_components_VAutocomplete_index_mjs__WEBPACK_IMPORTED_MODULE_5__.VAutocomplete, {\n key: 2,\n \"custom-filter\": _ctx.customFilter,\n \"match-any\": true,\n label: _ctx.$t('Search for employee'),\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)([{\n error: $data.v$.mastertask.project_id.$errors.length\n }, \"modal-input\"]),\n items: _ctx.employeesOptions,\n \"item-title\": \"_fullName\",\n \"item-value\": \"id\",\n variant: \"solo\",\n clearable: \"\",\n \"onUpdate:modelValue\": _ctx.onEmployeeSelected\n }, null, 8 /* PROPS */, [\"custom-filter\", \"label\", \"class\", \"items\", \"onUpdate:modelValue\"])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" \"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VBtn_index_mjs__WEBPACK_IMPORTED_MODULE_8__.VBtn, {\n disabled: !!$data.mastertask.id,\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)([\"w-100 mb-5 button secondary\", {\n error: $data.v$.mastertask.project_id.$errors.length\n }]),\n onClick: _cache[9] || (_cache[9] = $event => $data.showAddEmployeeInput = true)\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VIcon_index_mjs__WEBPACK_IMPORTED_MODULE_3__.VIcon, {\n class: \"mx-1\",\n icon: \"mdi-plus\"\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"Pridať zamestnanca \")]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"disabled\", \"class\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", {\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)([\"w-100 modal-input\", {\n error: $data.v$.mastertask.description.$errors.length\n }])\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_QuillEditor, {\n ref: \"description\",\n modelValue: $data.mastertask.description,\n \"onUpdate:modelValue\": _cache[10] || (_cache[10] = $event => $data.mastertask.description = $event),\n placeholder: \"Popis\",\n theme: \"snow\",\n class: \"rich-text-editor\",\n onKeyup: $options.onQuillEditorInput\n }, null, 8 /* PROPS */, [\"modelValue\", \"onKeyup\"])], 2 /* CLASS */), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_Z_files_upload, {\n class: \"mt-15 files\",\n files: $data.mastertask.files,\n onFilesUploaded: $options.filesUploaded,\n \"is-saving\": $data.isSaving\n }, null, 8 /* PROPS */, [\"files\", \"onFilesUploaded\", \"is-saving\"])]),\n _: 1 /* STABLE */\n }), !$data.isSaving ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(vuetify_lib_components_VBtn_index_mjs__WEBPACK_IMPORTED_MODULE_8__.VBtn, {\n key: 0,\n class: \"button primary\",\n onClick: _cache[11] || (_cache[11] = $event => $options.save())\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($data.mastertask.id ? 'ULOŽIŤ' : 'VYTVORIŤ'), 1 /* TEXT */)]),\n\n _: 1 /* STABLE */\n })) : ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(vuetify_lib_components_VBtn_index_mjs__WEBPACK_IMPORTED_MODULE_8__.VBtn, {\n key: 1,\n class: \"button primary disabled\",\n disabled: \"\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(_ctx.$t('Ukladám...')), 1 /* TEXT */)]),\n\n _: 1 /* STABLE */\n }))]),\n\n _: 1 /* STABLE */\n })) : ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_2__.VCard, {\n key: 1,\n height: \"100%\",\n class: \"d-flex flex-column scrolling\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_5, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"p\", null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($data.mastertask.project_code), 1 /* TEXT */), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VIcon_index_mjs__WEBPACK_IMPORTED_MODULE_3__.VIcon, {\n onClick: _cache[12] || (_cache[12] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.withModifiers)($event => $options.closeModal(), [\"stop\"])),\n icon: \"mdi-close\",\n size: \"large\",\n class: \"pb-5\"\n })]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_6, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"h1\", null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($data.mastertask.name), 1 /* TEXT */), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_7, [!$data.mastertask.is_finished ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"img\", {\n key: 0,\n class: \"icon\",\n src: __webpack_require__(/*! @/plugins/app/_img/icons/pencil.svg */ \"./src/plugins/app/_img/icons/pencil.svg\"),\n alt: \"pencil-icon\",\n onClick: _cache[13] || (_cache[13] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.withModifiers)($event => $data.editMode = !$data.editMode, [\"stop\"]))\n }, null, 8 /* PROPS */, _hoisted_8)) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"img\", {\n class: \"icon trash\",\n src: __webpack_require__(/*! @/plugins/app/_img/icons/bin.svg */ \"./src/plugins/app/_img/icons/bin.svg\"),\n alt: \"trash-icon\",\n onClick: _cache[14] || (_cache[14] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.withModifiers)($event => $options.openDeleteMasterTaskModal($data.mastertask), [\"stop\"]))\n }, null, 8 /* PROPS */, _hoisted_9)])]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_4__.VCardActions, {\n class: \"d-flex flex-column modal-content\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_10, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_A_mastertask_description, {\n mastertask: $data.mastertask\n }, null, 8 /* PROPS */, [\"mastertask\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_11, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VBtn_index_mjs__WEBPACK_IMPORTED_MODULE_8__.VBtn, {\n class: \"button primary\",\n onClick: _cache[15] || (_cache[15] = $event => $options.toggleIsFinished($data.mastertask))\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($data.mastertask.is_finished ? 'Otvoriť mastertask' : 'Ukončiť mastertask'), 1 /* TEXT */)]),\n\n _: 1 /* STABLE */\n })]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_A_tasks_table, {\n subtasks: $data.mastertask.subtasks\n }, null, 8 /* PROPS */, [\"subtasks\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_12, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VBtn_index_mjs__WEBPACK_IMPORTED_MODULE_8__.VBtn, {\n class: \"subtask-btn w-100\",\n onClick: _cache[16] || (_cache[16] = $event => $options.addTask())\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VIcon_index_mjs__WEBPACK_IMPORTED_MODULE_3__.VIcon, {\n class: \"mx-1\",\n icon: \"mdi-plus\"\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"Pridať sub task\")]),\n _: 1 /* STABLE */\n })])])]),\n\n _: 1 /* STABLE */\n })]),\n\n _: 1 /* STABLE */\n }))]),\n\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"content\"])]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"]);\n}\n\n/* Vuetify */\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/master-task/z-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"); +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_VAutocomplete_index_mjs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! vuetify/lib/components/VAutocomplete/index.mjs */ \"./node_modules/vuetify/lib/components/VAutocomplete/VAutocomplete.mjs\");\n/* harmony import */ var vuetify_lib_components_VBtn_index_mjs__WEBPACK_IMPORTED_MODULE_8__ = __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_4__ = __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_1__ = __webpack_require__(/*! vuetify/lib/components/VDialog/index.mjs */ \"./node_modules/vuetify/lib/components/VDialog/VDialog.mjs\");\n/* harmony import */ var vuetify_lib_components_VIcon_index_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vuetify/lib/components/VIcon/index.mjs */ \"./node_modules/vuetify/lib/components/VIcon/VIcon.mjs\");\n/* harmony import */ var vuetify_lib_components_VSelect_index_mjs__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! vuetify/lib/components/VSelect/index.mjs */ \"./node_modules/vuetify/lib/components/VSelect/VSelect.mjs\");\n/* harmony import */ var vuetify_lib_components_VTextField_index_mjs__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! vuetify/lib/components/VTextField/index.mjs */ \"./node_modules/vuetify/lib/components/VTextField/VTextField.mjs\");\n\nconst _withScopeId = n => ((0,vue__WEBPACK_IMPORTED_MODULE_0__.pushScopeId)(\"data-v-327591c6\"), n = n(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.popScopeId)(), n);\nconst _hoisted_1 = {\n class: \"d-flex justify-space-between align-center modal-header\"\n};\nconst _hoisted_2 = {\n class: \"splitted-inputs\"\n};\nconst _hoisted_3 = {\n class: \"employee-select-avatar d-flex justify-center align-center\"\n};\nconst _hoisted_4 = {\n class: \"employee-select-avatar d-flex justify-center align-center\"\n};\nconst _hoisted_5 = {\n class: \"d-flex justify-space-between align-center\"\n};\nconst _hoisted_6 = {\n class: \"d-flex justify-space-between align-center modal-header border-bottom pb-4\"\n};\nconst _hoisted_7 = {\n class: \"d-flex justify-start\"\n};\nconst _hoisted_8 = [\"src\"];\nconst _hoisted_9 = [\"src\"];\nconst _hoisted_10 = {\n class: \"w-100\"\n};\nconst _hoisted_11 = {\n class: \"d-flex justify-start align-center mt-8\"\n};\nconst _hoisted_12 = {\n class: \"d-flex align-center\"\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n \n \n \n const _component_Datepicker = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"Datepicker\");\n \n \n const _component_QuillEditor = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"QuillEditor\");\n const _component_Z_files_upload = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"Z-files-upload\");\n \n \n const _component_A_mastertask_description = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"A-mastertask-description\");\n const _component_A_tasks_table = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"A-tasks-table\");\n const _component_W_loadable = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"W-loadable\");\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_1__.VDialog, {\n modelValue: $data.visible,\n \"onUpdate:modelValue\": _cache[17] || (_cache[17] = $event => $data.visible = $event),\n \"max-width\": \"750\",\n \"max-height\": \"90%\",\n height: \"700px\",\n persistent: \"\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_W_loadable, {\n content: $data.mastertask,\n class: \"h-100\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [$data.editMode ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_2__.VCard, {\n key: 0,\n height: \"100%\",\n class: \"d-flex flex-column scrolling\"\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__.toDisplayString)($data.mastertask?.id ? 'Upraviť master task' : 'Vytvoriť master task'), 1 /* TEXT */), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VIcon_index_mjs__WEBPACK_IMPORTED_MODULE_3__.VIcon, {\n onClick: _cache[0] || (_cache[0] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.withModifiers)($event => $options.closeModal(), [\"stop\"])),\n icon: \"mdi-close\",\n size: \"large\"\n })]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_4__.VCardActions, {\n class: \"d-flex flex-column modal-content\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VAutocomplete_index_mjs__WEBPACK_IMPORTED_MODULE_5__.VAutocomplete, {\n \"custom-filter\": _ctx.customFilter,\n \"match-any\": true,\n modelValue: $data.mastertask.project_id,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => $data.mastertask.project_id = $event),\n label: _ctx.$t('Project code'),\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)([{\n error: $data.v$.mastertask.project_id.$errors.length\n }, \"modal-input\"]),\n items: _ctx.projectsOptions,\n \"item-title\": \"code\",\n \"item-value\": \"id\",\n variant: \"solo\",\n clearable: \"\",\n \"onUpdate:search\": _cache[2] || (_cache[2] = $event => $data.projectCodeSearch = $event)\n }, null, 8 /* PROPS */, [\"custom-filter\", \"modelValue\", \"label\", \"class\", \"items\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VTextField_index_mjs__WEBPACK_IMPORTED_MODULE_6__.VTextField, {\n modelValue: $data.mastertask.name,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => $data.mastertask.name = $event),\n onFocus: _ctx.onInputFocus,\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)([\"modal-input\", {\n error: $data.v$.mastertask.name.$errors.length\n }]),\n label: \"Názov mastertasku\",\n variant: \"solo\",\n hint: $data.v$.mastertask.name.$errors ? $data.errorUtils.parseErrors($data.v$.mastertask.name.$errors) : null\n }, null, 8 /* PROPS */, [\"modelValue\", \"onFocus\", \"class\", \"hint\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" TODO: Bialko validacie \"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_Datepicker, {\n modelValue: $data.mastertask.deadline,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => $data.mastertask.deadline = $event),\n \"auto-apply\": true,\n onFocus: _ctx.onDateFocus,\n \"min-date\": new Date(),\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)([\"modal-input left\", {\n error: $data.v$.mastertask.deadline.$errors?.length\n }]),\n format: \"dd.MM.yyyy\",\n locale: \"sk\",\n \"select-text\": \"Vybrať\",\n \"cancel-text\": \"Zrušiť\",\n placeholder: \"Dátum\",\n validations: $data.v$.mastertask.deadline\n }, null, 8 /* PROPS */, [\"modelValue\", \"onFocus\", \"min-date\", \"class\", \"validations\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VTextField_index_mjs__WEBPACK_IMPORTED_MODULE_6__.VTextField, {\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)([\"modal-input right\", {\n error: $data.v$.mastertask._deadline_time.$errors.length\n }]),\n variant: \"solo\",\n modelValue: $data.mastertask._deadline_time,\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = $event => $data.mastertask._deadline_time = $event),\n label: \"Čas\",\n \"append-inner-icon\": \"mdi-clock-outline\",\n type: \"time\",\n onFocus: _ctx.onInputFocus,\n hint: $data.v$.mastertask._deadline_time.$errors ? $data.errorUtils.parseErrors($data.v$.mastertask._deadline_time.$errors) : null\n }, null, 8 /* PROPS */, [\"modelValue\", \"onFocus\", \"class\", \"hint\"])]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VTextField_index_mjs__WEBPACK_IMPORTED_MODULE_6__.VTextField, {\n modelValue: $data.mastertask.estimated_duration,\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = $event => $data.mastertask.estimated_duration = $event),\n onFocus: _ctx.onInputFocus,\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)([\"modal-input\", {\n error: $data.v$.mastertask.estimated_duration.$errors.length\n }]),\n variant: \"solo\",\n type: \"number\",\n label: \"Nacenené hodiny\",\n hint: $data.v$.mastertask.estimated_duration.$errors ? $data.errorUtils.parseErrors($data.v$.mastertask.estimated_duration.$errors) : null\n }, null, 8 /* PROPS */, [\"modelValue\", \"onFocus\", \"class\", \"hint\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VTextField_index_mjs__WEBPACK_IMPORTED_MODULE_6__.VTextField, {\n modelValue: $data.mastertask.duration,\n \"onUpdate:modelValue\": _cache[7] || (_cache[7] = $event => $data.mastertask.duration = $event),\n onFocus: _ctx.onInputFocus,\n class: \"modal-input\",\n variant: \"solo\",\n type: \"number\",\n label: `${$data.mastertask.duration} h`,\n disabled: true\n }, null, 8 /* PROPS */, [\"modelValue\", \"onFocus\", \"label\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VSelect_index_mjs__WEBPACK_IMPORTED_MODULE_7__.VSelect, {\n modelValue: $data.mastertask.team_id,\n \"onUpdate:modelValue\": _cache[8] || (_cache[8] = $event => $data.mastertask.team_id = $event),\n onFocus: _ctx.onInputFocus,\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)([\"modal-input border-select\", {\n error: $data.v$.mastertask.employees.$errors.length\n }]),\n label: \"Tím\",\n variant: \"solo\",\n items: _ctx.teams,\n \"item-value\": \"id\",\n \"item-title\": \"name\",\n disabled: !!$data.mastertask.id,\n clearable: true\n }, null, 8 /* PROPS */, [\"modelValue\", \"onFocus\", \"class\", \"items\", \"disabled\"]), !$data.mastertask.id ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n key: 0\n }, (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderList)($data.mastertask.employees, (employee, index) => {\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(vuetify_lib_components_VTextField_index_mjs__WEBPACK_IMPORTED_MODULE_6__.VTextField, {\n key: employee.id,\n onFocus: _ctx.onInputFocus,\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)([\"modal-input\", {\n error: employee.invalid\n }]),\n label: `${employee.name} ${employee.surname}`,\n variant: \"solo\",\n placeholder: \"h\",\n modelValue: $data.mastertask.employees[index].duration,\n \"onUpdate:modelValue\": $event => $data.mastertask.employees[index].duration = $event,\n type: \"number\",\n min: \"1\",\n onInput: _ctx.onEmployeeDurationChanged\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"p\", _hoisted_3, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(employee?.name.charAt(0) + employee?.surname.charAt(0)), 1 /* TEXT */), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VIcon_index_mjs__WEBPACK_IMPORTED_MODULE_3__.VIcon, {\n onClick: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withModifiers)($event => $options.removeEmployee(employee), [\"stop\"]),\n class: \"remove-input\",\n icon: \"mdi-close-circle\",\n size: \"default\"\n }, null, 8 /* PROPS */, [\"onClick\"])]),\n _: 2 /* DYNAMIC */\n }, 1032 /* PROPS, DYNAMIC_SLOTS */, [\"onFocus\", \"class\", \"label\", \"modelValue\", \"onUpdate:modelValue\", \"onInput\"]);\n }), 128 /* KEYED_FRAGMENT */)) : ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n key: 1\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" mastertask._allEmployees is used in edit to combine team employees with extra employees and subtask durations \"), ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderList)($data.mastertask._allEmployees, employee => {\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(vuetify_lib_components_VTextField_index_mjs__WEBPACK_IMPORTED_MODULE_6__.VTextField, {\n key: employee.id,\n class: \"modal-input\",\n label: `${employee.name} ${employee.surname}`,\n variant: \"solo\",\n placeholder: \"h\",\n modelValue: employee.duration,\n \"onUpdate:modelValue\": $event => employee.duration = $event,\n type: \"number\",\n disabled: true\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"p\", _hoisted_4, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(employee?.name.charAt(0) + employee?.surname.charAt(0)), 1 /* TEXT */), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VIcon_index_mjs__WEBPACK_IMPORTED_MODULE_3__.VIcon, {\n onClick: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withModifiers)($event => $options.removeEmployee(employee), [\"stop\"]),\n class: \"remove-input\",\n icon: \"mdi-close-circle\",\n size: \"default\"\n }, null, 8 /* PROPS */, [\"onClick\"])]),\n _: 2 /* DYNAMIC */\n }, 1032 /* PROPS, DYNAMIC_SLOTS */, [\"label\", \"modelValue\", \"onUpdate:modelValue\"]);\n }), 128 /* KEYED_FRAGMENT */))], 64 /* STABLE_FRAGMENT */)), $data.showAddEmployeeInput ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(vuetify_lib_components_VAutocomplete_index_mjs__WEBPACK_IMPORTED_MODULE_5__.VAutocomplete, {\n key: 2,\n \"custom-filter\": _ctx.customFilter,\n \"match-any\": true,\n label: _ctx.$t('Search for employee'),\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)([{\n error: $data.v$.mastertask.project_id.$errors.length\n }, \"modal-input\"]),\n items: _ctx.employeesOptions,\n \"item-title\": \"_fullName\",\n \"item-value\": \"id\",\n variant: \"solo\",\n clearable: \"\",\n \"onUpdate:modelValue\": _ctx.onEmployeeSelected\n }, null, 8 /* PROPS */, [\"custom-filter\", \"label\", \"class\", \"items\", \"onUpdate:modelValue\"])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" \"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VBtn_index_mjs__WEBPACK_IMPORTED_MODULE_8__.VBtn, {\n disabled: !!$data.mastertask.id,\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)([\"w-100 mb-5 button secondary\", {\n error: $data.v$.mastertask.project_id.$errors.length\n }]),\n onClick: _cache[9] || (_cache[9] = $event => $data.showAddEmployeeInput = true)\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VIcon_index_mjs__WEBPACK_IMPORTED_MODULE_3__.VIcon, {\n class: \"mx-1\",\n icon: \"mdi-plus\"\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"Pridať zamestnanca \")]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"disabled\", \"class\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", {\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)([\"w-100 modal-input\", {\n error: $data.v$.mastertask.description.$errors.length\n }])\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_QuillEditor, {\n ref: \"description\",\n modelValue: $data.mastertask.description,\n \"onUpdate:modelValue\": _cache[10] || (_cache[10] = $event => $data.mastertask.description = $event),\n placeholder: \"Popis\",\n theme: \"snow\",\n class: \"rich-text-editor\",\n onKeyup: $options.onQuillEditorInput\n }, null, 8 /* PROPS */, [\"modelValue\", \"onKeyup\"])], 2 /* CLASS */), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_Z_files_upload, {\n class: \"mt-15 files\",\n files: $data.mastertask.files,\n onFilesUploaded: $options.filesUploaded,\n \"is-saving\": $data.isSaving\n }, null, 8 /* PROPS */, [\"files\", \"onFilesUploaded\", \"is-saving\"])]),\n _: 1 /* STABLE */\n }), !$data.isSaving ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(vuetify_lib_components_VBtn_index_mjs__WEBPACK_IMPORTED_MODULE_8__.VBtn, {\n key: 0,\n class: \"button primary\",\n onClick: _cache[11] || (_cache[11] = $event => $options.save())\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($data.mastertask.id ? 'ULOŽIŤ' : 'VYTVORIŤ'), 1 /* TEXT */)]),\n\n _: 1 /* STABLE */\n })) : ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(vuetify_lib_components_VBtn_index_mjs__WEBPACK_IMPORTED_MODULE_8__.VBtn, {\n key: 1,\n class: \"button primary disabled\",\n disabled: \"\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(_ctx.$t('Ukladám...')), 1 /* TEXT */)]),\n\n _: 1 /* STABLE */\n }))]),\n\n _: 1 /* STABLE */\n })) : ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_2__.VCard, {\n key: 1,\n height: \"100%\",\n class: \"d-flex flex-column scrolling\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_5, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"p\", null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($data.mastertask.project_code), 1 /* TEXT */), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VIcon_index_mjs__WEBPACK_IMPORTED_MODULE_3__.VIcon, {\n onClick: _cache[12] || (_cache[12] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.withModifiers)($event => $options.closeModal(), [\"stop\"])),\n icon: \"mdi-close\",\n size: \"large\",\n class: \"pb-5\"\n })]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_6, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"h1\", null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($data.mastertask.name), 1 /* TEXT */), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_7, [!$data.mastertask.is_finished ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"img\", {\n key: 0,\n class: \"icon\",\n src: __webpack_require__(/*! @/plugins/app/_img/icons/pencil.svg */ \"./src/plugins/app/_img/icons/pencil.svg\"),\n alt: \"pencil-icon\",\n onClick: _cache[13] || (_cache[13] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.withModifiers)($event => $data.editMode = !$data.editMode, [\"stop\"]))\n }, null, 8 /* PROPS */, _hoisted_8)) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"img\", {\n class: \"icon trash\",\n src: __webpack_require__(/*! @/plugins/app/_img/icons/bin.svg */ \"./src/plugins/app/_img/icons/bin.svg\"),\n alt: \"trash-icon\",\n onClick: _cache[14] || (_cache[14] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.withModifiers)($event => $options.openDeleteMasterTaskModal($data.mastertask), [\"stop\"]))\n }, null, 8 /* PROPS */, _hoisted_9)])]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_4__.VCardActions, {\n class: \"d-flex flex-column modal-content\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_10, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_A_mastertask_description, {\n mastertask: $data.mastertask\n }, null, 8 /* PROPS */, [\"mastertask\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_11, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VBtn_index_mjs__WEBPACK_IMPORTED_MODULE_8__.VBtn, {\n class: \"button primary\",\n onClick: _cache[15] || (_cache[15] = $event => $options.toggleIsFinished($data.mastertask))\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($data.mastertask.is_finished ? 'Otvoriť mastertask' : 'Ukončiť mastertask'), 1 /* TEXT */)]),\n\n _: 1 /* STABLE */\n })]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_A_tasks_table, {\n subtasks: $data.mastertask.subtasks\n }, null, 8 /* PROPS */, [\"subtasks\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_12, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VBtn_index_mjs__WEBPACK_IMPORTED_MODULE_8__.VBtn, {\n class: \"subtask-btn w-100\",\n onClick: _cache[16] || (_cache[16] = $event => $options.addTask())\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VIcon_index_mjs__WEBPACK_IMPORTED_MODULE_3__.VIcon, {\n class: \"mx-1\",\n icon: \"mdi-plus\"\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"Pridať sub task\")]),\n _: 1 /* STABLE */\n })])])]),\n\n _: 1 /* STABLE */\n })]),\n\n _: 1 /* STABLE */\n }))]),\n\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"content\"])]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"]);\n}\n\n/* Vuetify */\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/master-task/z-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"); /***/ }), @@ -2850,17 +2861,6 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ }), -/***/ "./node_modules/webpack-plugin-vuetify/dist/scriptLoader.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[5]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/plugins/tm@modal/task/_components/_components/a-task-estimated-duration.vue?vue&type=template&id=9bf3df18": -/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/webpack-plugin-vuetify/dist/scriptLoader.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[5]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/plugins/tm@modal/task/_components/_components/a-task-estimated-duration.vue?vue&type=template&id=9bf3df18 ***! - \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ (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_VGrid_index_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vuetify/lib/components/VGrid/index.mjs */ \"./node_modules/vuetify/lib/components/VGrid/VRow.mjs\");\n/* harmony import */ var vuetify_lib_components_VGrid_index_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vuetify/lib/components/VGrid/index.mjs */ \"./node_modules/vuetify/lib/components/VGrid/VCol.mjs\");\n/* harmony import */ var vuetify_lib_components_VIcon_index_mjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! vuetify/lib/components/VIcon/index.mjs */ \"./node_modules/vuetify/lib/components/VIcon/VIcon.mjs\");\n/* harmony import */ var vuetify_lib_components_VSheet_index_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vuetify/lib/components/VSheet/index.mjs */ \"./node_modules/vuetify/lib/components/VSheet/VSheet.mjs\");\n\nconst _hoisted_1 = {\n class: \"d-flex align-center\"\n};\nconst _hoisted_2 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"p\", {\n class: \"mx-3\"\n}, \"Nacenené hodiny\", -1 /* HOISTED */);\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n \n \n \n \n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(vuetify_lib_components_VGrid_index_mjs__WEBPACK_IMPORTED_MODULE_1__.VRow, {\n \"no-gutters\": \"\",\n class: \"align-center\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VGrid_index_mjs__WEBPACK_IMPORTED_MODULE_2__.VCol, {\n cols: \"5\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VSheet_index_mjs__WEBPACK_IMPORTED_MODULE_3__.VSheet, {\n class: \"py-3\"\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__.createVNode)(vuetify_lib_components_VIcon_index_mjs__WEBPACK_IMPORTED_MODULE_4__.VIcon, {\n icon: \"mdi-clock-time-three-outline\",\n size: \"large\"\n }), _hoisted_2])]),\n _: 1 /* STABLE */\n })]),\n\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VGrid_index_mjs__WEBPACK_IMPORTED_MODULE_2__.VCol, {\n cols: \"7\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VSheet_index_mjs__WEBPACK_IMPORTED_MODULE_3__.VSheet, {\n class: \"py-3\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"p\", null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($props.hours || 0) + \" h\", 1 /* TEXT */)]),\n\n _: 1 /* STABLE */\n })]),\n\n _: 1 /* STABLE */\n })]),\n\n _: 1 /* STABLE */\n });\n}\n\n/* Vuetify */\n\n\n\n\n\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/task/_components/_components/a-task-estimated-duration.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"); - -/***/ }), - /***/ "./node_modules/webpack-plugin-vuetify/dist/scriptLoader.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[5]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/plugins/tm@modal/task/_components/_components/a-task-planned-time.vue?vue&type=template&id=639dd336": /*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/webpack-plugin-vuetify/dist/scriptLoader.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[5]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/plugins/tm@modal/task/_components/_components/a-task-planned-time.vue?vue&type=template&id=639dd336 ***! @@ -2923,7 +2923,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ (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\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_A_mastertask_name = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"A-mastertask-name\");\n const _component_A_mastertask_status = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"A-mastertask-status\");\n const _component_A_task_deadline = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"A-task-deadline\");\n const _component_A_task_timeblocks = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"A-task-timeblocks\");\n const _component_Z_created_by = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"Z-created-by\");\n const _component_A_task_assigned_employee = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"A-task-assigned-employee\");\n const _component_A_task_estimated_duration = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"A-task-estimated-duration\");\n const _component_A_task_planned_time = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"A-task-planned-time\");\n const _component_A_task_remaining_time = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"A-task-remaining-time\");\n const _component_A_task_spent_time = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"A-task-spent-time\");\n const _component_A_task_description = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"A-task-description\");\n const _component_Z_files = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"Z-files\");\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_A_mastertask_name, {\n name: $props.subtask._master_task.name,\n id: $props.subtask.master_task_id,\n color: $props.subtask._master_task.color,\n onCloseModal: _cache[0] || (_cache[0] = $event => _ctx.$emit('close-modal'))\n }, null, 8 /* PROPS */, [\"name\", \"id\", \"color\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_A_mastertask_status, {\n isFinished: $props.subtask.is_finished\n }, null, 8 /* PROPS */, [\"isFinished\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_A_task_deadline, {\n subtask: $props.subtask\n }, null, 8 /* PROPS */, [\"subtask\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_A_task_timeblocks, {\n timeblocks: $props.subtask.timeblocks,\n subtask: $props.subtask,\n onUpdateSubtask: _cache[1] || (_cache[1] = $event => _ctx.$emit('update-subtask', $event))\n }, null, 8 /* PROPS */, [\"timeblocks\", \"subtask\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_Z_created_by, {\n \"employee-id\": $props.subtask.created_by\n }, null, 8 /* PROPS */, [\"employee-id\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_A_task_assigned_employee, {\n employee: $props.subtask._employee\n }, null, 8 /* PROPS */, [\"employee\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_A_task_estimated_duration, {\n hours: $props.subtask.master_task_estimated_duration\n }, null, 8 /* PROPS */, [\"hours\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_A_task_planned_time, {\n hours: $props.subtask.duration\n }, null, 8 /* PROPS */, [\"hours\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_A_task_remaining_time, {\n hours: $props.subtask.duration - $props.subtask.spent_time\n }, null, 8 /* PROPS */, [\"hours\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_A_task_spent_time, {\n hours: $props.subtask.spent_time,\n subtask: $props.subtask\n }, null, 8 /* PROPS */, [\"hours\", \"subtask\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_A_task_description, {\n description: $props.subtask.description,\n \"mastertask-description\": $props.subtask.master_task_description\n }, null, 8 /* PROPS */, [\"description\", \"mastertask-description\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_Z_files, {\n files: $props.subtask.files\n }, null, 8 /* PROPS */, [\"files\"])], 64 /* STABLE_FRAGMENT */);\n}\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/task/_components/z-task-readonly-info.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"); +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\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_A_mastertask_name = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"A-mastertask-name\");\n const _component_A_mastertask_status = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"A-mastertask-status\");\n const _component_A_task_deadline = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"A-task-deadline\");\n const _component_A_task_timeblocks = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"A-task-timeblocks\");\n const _component_Z_created_by = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"Z-created-by\");\n const _component_A_task_assigned_employee = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"A-task-assigned-employee\");\n const _component_A_task_planned_time = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"A-task-planned-time\");\n const _component_A_task_remaining_time = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"A-task-remaining-time\");\n const _component_A_task_spent_time = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"A-task-spent-time\");\n const _component_A_task_description = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"A-task-description\");\n const _component_Z_files = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"Z-files\");\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_A_mastertask_name, {\n name: $props.subtask._master_task.name,\n id: $props.subtask.master_task_id,\n color: $props.subtask._master_task.color,\n onCloseModal: _cache[0] || (_cache[0] = $event => _ctx.$emit('close-modal'))\n }, null, 8 /* PROPS */, [\"name\", \"id\", \"color\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_A_mastertask_status, {\n isFinished: $props.subtask.is_finished\n }, null, 8 /* PROPS */, [\"isFinished\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_A_task_deadline, {\n subtask: $props.subtask\n }, null, 8 /* PROPS */, [\"subtask\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_A_task_timeblocks, {\n timeblocks: $props.subtask.timeblocks,\n subtask: $props.subtask,\n onUpdateSubtask: _cache[1] || (_cache[1] = $event => _ctx.$emit('update-subtask', $event))\n }, null, 8 /* PROPS */, [\"timeblocks\", \"subtask\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_Z_created_by, {\n \"employee-id\": $props.subtask.created_by\n }, null, 8 /* PROPS */, [\"employee-id\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_A_task_assigned_employee, {\n employee: $props.subtask._employee\n }, null, 8 /* PROPS */, [\"employee\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_A_task_planned_time, {\n hours: $props.subtask.duration\n }, null, 8 /* PROPS */, [\"hours\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_A_task_remaining_time, {\n hours: $props.subtask.duration - $props.subtask.spent_time\n }, null, 8 /* PROPS */, [\"hours\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_A_task_spent_time, {\n hours: $props.subtask.spent_time,\n subtask: $props.subtask\n }, null, 8 /* PROPS */, [\"hours\", \"subtask\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_A_task_description, {\n description: $props.subtask.description,\n \"mastertask-description\": $props.subtask.master_task_description\n }, null, 8 /* PROPS */, [\"description\", \"mastertask-description\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_Z_files, {\n files: $props.subtask.files\n }, null, 8 /* PROPS */, [\"files\"])], 64 /* STABLE_FRAGMENT */);\n}\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/task/_components/z-task-readonly-info.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"); /***/ }), @@ -3147,6 +3147,17 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ }), +/***/ "./src/plugins/tm@modal/_components/read-only/z-estimated-duration.vue?vue&type=template&id=ed7e31a2": +/*!***********************************************************************************************************!*\ + !*** ./src/plugins/tm@modal/_components/read-only/z-estimated-duration.vue?vue&type=template&id=ed7e31a2 ***! + \***********************************************************************************************************/ +/***/ (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 /* reexport safe */ _node_modules_webpack_plugin_vuetify_dist_scriptLoader_js_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_0_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_5_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_z_estimated_duration_vue_vue_type_template_id_ed7e31a2__WEBPACK_IMPORTED_MODULE_0__.render; }\n/* harmony export */ });\n/* harmony import */ var _node_modules_webpack_plugin_vuetify_dist_scriptLoader_js_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_0_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_5_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_z_estimated_duration_vue_vue_type_template_id_ed7e31a2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/webpack-plugin-vuetify/dist/scriptLoader.js!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!../../../../../node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[5]!../../../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./z-estimated-duration.vue?vue&type=template&id=ed7e31a2 */ \"./node_modules/webpack-plugin-vuetify/dist/scriptLoader.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[5]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/plugins/tm@modal/_components/read-only/z-estimated-duration.vue?vue&type=template&id=ed7e31a2\");\n\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/_components/read-only/z-estimated-duration.vue?"); + +/***/ }), + /***/ "./src/plugins/tm@modal/_components/read-only/z-files.vue?vue&type=template&id=6f3ad93d&scoped=true": /*!**********************************************************************************************************!*\ !*** ./src/plugins/tm@modal/_components/read-only/z-files.vue?vue&type=template&id=6f3ad93d&scoped=true ***! @@ -3367,17 +3378,6 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ }), -/***/ "./src/plugins/tm@modal/task/_components/_components/a-task-estimated-duration.vue?vue&type=template&id=9bf3df18": -/*!***********************************************************************************************************************!*\ - !*** ./src/plugins/tm@modal/task/_components/_components/a-task-estimated-duration.vue?vue&type=template&id=9bf3df18 ***! - \***********************************************************************************************************************/ -/***/ (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 /* reexport safe */ _node_modules_webpack_plugin_vuetify_dist_scriptLoader_js_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_0_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_5_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_a_task_estimated_duration_vue_vue_type_template_id_9bf3df18__WEBPACK_IMPORTED_MODULE_0__.render; }\n/* harmony export */ });\n/* harmony import */ var _node_modules_webpack_plugin_vuetify_dist_scriptLoader_js_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_0_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_5_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_a_task_estimated_duration_vue_vue_type_template_id_9bf3df18__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../node_modules/webpack-plugin-vuetify/dist/scriptLoader.js!../../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!../../../../../../node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[5]!../../../../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./a-task-estimated-duration.vue?vue&type=template&id=9bf3df18 */ \"./node_modules/webpack-plugin-vuetify/dist/scriptLoader.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[5]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/plugins/tm@modal/task/_components/_components/a-task-estimated-duration.vue?vue&type=template&id=9bf3df18\");\n\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/task/_components/_components/a-task-estimated-duration.vue?"); - -/***/ }), - /***/ "./src/plugins/tm@modal/task/_components/_components/a-task-planned-time.vue?vue&type=template&id=639dd336": /*!*****************************************************************************************************************!*\ !*** ./src/plugins/tm@modal/task/_components/_components/a-task-planned-time.vue?vue&type=template&id=639dd336 ***! diff --git a/app/src/plugins/tm@modal/task/_components/_components/a-task-estimated-duration.vue b/app/src/plugins/tm@modal/_components/read-only/z-estimated-duration.vue similarity index 100% rename from app/src/plugins/tm@modal/task/_components/_components/a-task-estimated-duration.vue rename to app/src/plugins/tm@modal/_components/read-only/z-estimated-duration.vue diff --git a/app/src/plugins/tm@modal/master-task/_components/a-mastertask-description.vue b/app/src/plugins/tm@modal/master-task/_components/a-mastertask-description.vue index a3205d2..f67a457 100644 --- a/app/src/plugins/tm@modal/master-task/_components/a-mastertask-description.vue +++ b/app/src/plugins/tm@modal/master-task/_components/a-mastertask-description.vue @@ -1,25 +1,27 @@ - - - - - - - - - + + + + + + + + + + \ No newline at end of file + diff --git a/app/src/plugins/tm@modal/master-task/z-master-task-modal.vue b/app/src/plugins/tm@modal/master-task/z-master-task-modal.vue index 7a63a9d..0ef4897 100644 --- a/app/src/plugins/tm@modal/master-task/z-master-task-modal.vue +++ b/app/src/plugins/tm@modal/master-task/z-master-task-modal.vue @@ -8,27 +8,25 @@ - + - + - + - + - + - + {{ employee?.name.charAt(0) + employee?.surname.charAt(0) }} @@ -48,11 +46,11 @@ - + - Pridať zamestnanca + Pridať zamestnanca @@ -62,7 +60,7 @@ {{ mastertask.id ? 'ULOŽIŤ' : 'VYTVORIŤ' }} - {{ $t('Ukladám...')}} + {{ $t('Ukladám...') }} @@ -88,8 +86,8 @@ - - Pridať sub task + + Pridať sub task @@ -153,44 +151,40 @@ export default { }, computed: { - ...mapGetters('tm', [ - 'teams', - 'projects', - 'enrichedEmployees' - ]), - + ...mapGetters('tm', ['teams', 'projects', 'enrichedEmployees']), enrichedSubtasks() { - if (!this.mastertask?.subtasks) - return null + if (!this.mastertask?.subtasks) return null - return this.mastertask.subtasks.map(subtask => { - const employee = this.enrichedEmployees.find(employee => employee.id == subtask.employee_id) + return this.mastertask.subtasks + .map((subtask) => { + const employee = this.enrichedEmployees.find((employee) => employee.id == subtask.employee_id) - return { - ...subtask, - _initials: employee ? employee.name.charAt(0) + employee.surname.charAt(0) : '?', - _fullName: employee ? `${employee.name} ${employee.surname}` : '' - } - }).filter(subtask => subtask !== null) + return { + ...subtask, + _initials: employee ? employee.name.charAt(0) + employee.surname.charAt(0) : '?', + _fullName: employee ? `${employee.name} ${employee.surname}` : '' + } + }) + .filter((subtask) => subtask !== null) } }, validations() { const quillEditorRequired = (value) => { - if (!value || !value.length || !value.replace(/<[^>]*>/g, '').length) - return false + if (!value || !value.length || !value.replace(/<[^>]*>/g, '').length) return false return true } return { mastertask: { - employees: { required, minLength: minLength(1), $each: {duration: { required}} }, + employees: { required, minLength: minLength(1), $each: { duration: { required } } }, project_id: { required }, name: { required }, description: { quillEditorRequired }, deadline: { required }, + estimated_duration: { required }, _deadline_time: { required } } } @@ -200,15 +194,13 @@ export default { this.$events.on('close-both-modals', this.closeBothModals) this.$events.on('master-task:team-member-deleted', ({ teamId, memberId }) => { - if (this.mastertask.team_id != teamId) - return + if (this.mastertask.team_id != teamId) return - this.mastertask.employees = this.mastertask.employees.filter(employee => employee.id != memberId) + this.mastertask.employees = this.mastertask.employees.filter((employee) => employee.id != memberId) }), - - this.$events.on('on-mastertask-deleted', (mastertask) => { - if (mastertask?.id == this.mastertask?.id) this.closeModal() - }) + this.$events.on('on-mastertask-deleted', (mastertask) => { + if (mastertask?.id == this.mastertask?.id) this.closeModal() + }) this.$events.on('on-subtask-deleted', (task) => { if (!this.mastertask) return @@ -218,8 +210,8 @@ export default { this.$events.on('on-subtask-edited', (task) => { if (!this.mastertask?.subtasks) return - if (this.mastertask.subtasks.find(subtask => subtask.id == task.id)) { - this.mastertask.subtasks = this.mastertask.subtasks.map(t => t.id == task.id ? task : t) + if (this.mastertask.subtasks.find((subtask) => subtask.id == task.id)) { + this.mastertask.subtasks = this.mastertask.subtasks.map((t) => (t.id == task.id ? task : t)) } else { this.mastertask.subtasks.push(task) } @@ -248,7 +240,7 @@ export default { // this.mastertask.team = null // } - this.mastertask.employees = this.mastertask.employees.filter(employee => employee.id != id) + this.mastertask.employees = this.mastertask.employees.filter((employee) => employee.id != id) }, removeMemberAlert(member) { @@ -256,10 +248,10 @@ export default { this.$events.emit('show-delete-team-member-modal', { member, team }) }, - async showModal({mastertask, editMode = false}) { - this.isSaving = false - this.editMode = null - this.visible = true + async showModal({ mastertask, editMode = false }) { + this.isSaving = false + this.editMode = null + this.visible = true this.mastertask = null this.$nextTick(() => { this.setFocusEvent() @@ -273,20 +265,22 @@ export default { // TODO zmazat ked zacne prichadzat project_id a team_id console.log('1', this.mastertask) const project = this.projects.find((project) => project.code == this.mastertask.project_code) - this.mastertask.project_id = project?.id || null - this.mastertask.team_id = this.mastertask.team?.id || null + this.mastertask.project_id = project?.id || null + this.mastertask.team_id = this.mastertask.team?.id || null - this.mastertask._allEmployees = this.mastertask.subtasks.map(({ employee_id, duration}) => { - const employee = this.enrichedEmployees.find(({ id }) => id == employee_id) + this.mastertask._allEmployees = this.mastertask.subtasks + .map(({ employee_id, duration }) => { + const employee = this.enrichedEmployees.find(({ id }) => id == employee_id) - if (!employee) { - return null - } + if (!employee) { + return null + } - employee.duration = duration + employee.duration = duration - return employee - }).filter(employee => employee !== null) + return employee + }) + .filter((employee) => employee !== null) // this.mastertask.project_code = project.code } else { @@ -300,13 +294,13 @@ export default { throw new Error('Parsed mastertask is not an object') } this.$nextTick(() => { - this.$refs['description']?.setHTML(this.mastertask.description || ''); + this.$refs['description']?.setHTML(this.mastertask.description || '') }) } else { throw new Error('mastertaskData is null or undefined') } } catch (error) { - console.error('Error parsing mastertaskData:', error); + console.error('Error parsing mastertaskData:', error) this.mastertask = { employees: [], duration: 0, _deadline_time: '17:00' } } } @@ -315,8 +309,7 @@ export default { } catch (error) { this.$toast.error(error.message || error) - if (process.env.NODE_ENV === 'development') - console.log('[z-master-task-modal.vue] Error: ', error) + if (process.env.NODE_ENV === 'development') console.log('[z-master-task-modal.vue] Error: ', error) } }, @@ -326,7 +319,7 @@ export default { async save() { if (this.mastertask.id) { - this.mastertask.employees = this.mastertask.employees.map(employee => { + this.mastertask.employees = this.mastertask.employees.map((employee) => { const { duration } = this.mastertask.subtasks.find(({ employee_id }) => employee_id == employee.id) || {} employee.duration = duration return employee @@ -338,8 +331,7 @@ export default { if (!vuelidateValid || !employeesValid) return - if (this.$refs['description']) - this.mastertask.description = this.$refs['description'].getHTML() + if (this.$refs['description']) this.mastertask.description = this.$refs['description'].getHTML() this._mergeDeadlineTimeDate() @@ -355,8 +347,7 @@ export default { } catch (error) { this.$toast.error(this.$parseError(error)) - if (process.env.NODE_ENV === 'development') - console.log('[z-master-task-modal.vue] Error: ', error) + if (process.env.NODE_ENV === 'development') console.log('[z-master-task-modal.vue] Error: ', error) } finally { this.isSaving = false } @@ -400,7 +391,7 @@ export default { _validateEmployees() { let isValid = true - this.mastertask.employees = this.mastertask.employees.map(employee => { + this.mastertask.employees = this.mastertask.employees.map((employee) => { if (!employee.duration) { employee.invalid = true isValid = false @@ -438,10 +429,10 @@ export default { }, 'mastertask.team_id': { handler(value, oldValue) { - if (this.editMode && (!value && oldValue)) { + if (this.editMode && !value && oldValue) { // Removes only employees from the old team when team_id is removed - const oldTeamEmployeesIds = this.teams.find(team => team.id == oldValue)?.employees.map(employee => employee?.id) || [] - const employeesNotInOldTeam = this.mastertask.employees.filter(employee => !oldTeamEmployeesIds.includes(employee?.id)) + const oldTeamEmployeesIds = this.teams.find((team) => team.id == oldValue)?.employees.map((employee) => employee?.id) || [] + const employeesNotInOldTeam = this.mastertask.employees.filter((employee) => !oldTeamEmployeesIds.includes(employee?.id)) this.mastertask.employees = employeesNotInOldTeam } }, diff --git a/app/src/plugins/tm@modal/task/_components/z-task-readonly-info.vue b/app/src/plugins/tm@modal/task/_components/z-task-readonly-info.vue index 530d701..9b1e2fa 100644 --- a/app/src/plugins/tm@modal/task/_components/z-task-readonly-info.vue +++ b/app/src/plugins/tm@modal/task/_components/z-task-readonly-info.vue @@ -5,7 +5,6 @@ - @@ -24,7 +23,6 @@ import ATaskSpentTime from './_components/a-task-spent-time.vue' import ATaskRemainingTime from './_components/a-task-remaining-time.vue' import ATaskDeadline from './_components/a-task-deadline.vue' import ATaskDescription from './_components/a-task-description.vue' -import ATaskEstimatedDuration from './_components/a-task-estimated-duration.vue' import ZFiles from '@/plugins/tm@modal/_components/read-only/z-files.vue' export default { @@ -41,8 +39,7 @@ export default { ATaskSpentTime, ATaskRemainingTime, ATaskDescription, - ATaskDeadline, - ATaskEstimatedDuration + ATaskDeadline }, props: {
{{ employee?.name.charAt(0) + employee?.surname.charAt(0) }}