From 9f2db6548117b71023bfe874df8d66162dce8b20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matej=20Glasn=C3=A1k?= Date: Thu, 22 Jan 2026 17:09:28 +0100 Subject: [PATCH 1/3] fix(z-task-modal): fixed unwanted clear of timeblocks in draft tasks on adding a new timeblock --- app/dist/js/index.js | 4 ++-- .../task/_components/employees/a-employee.vue | 2 +- .../tm@modal/task/_components/employees/types.ts | 1 + app/src/plugins/tm@modal/task/z-task-modal.vue | 13 ++++++++++++- 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/app/dist/js/index.js b/app/dist/js/index.js index 188fa11..29e2cc4 100644 --- a/app/dist/js/index.js +++ b/app/dist/js/index.js @@ -543,7 +543,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var cor /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_json_stringify_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.json.stringify.js */ \"./node_modules/core-js/modules/es.json.stringify.js\");\n/* harmony import */ var core_js_modules_es_json_stringify_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_json_stringify_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ \"./node_modules/core-js/modules/esnext.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/esnext.iterator.filter.js */ \"./node_modules/core-js/modules/esnext.iterator.filter.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/esnext.iterator.find.js */ \"./node_modules/core-js/modules/esnext.iterator.find.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/esnext.iterator.for-each.js */ \"./node_modules/core-js/modules/esnext.iterator.for-each.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/esnext.iterator.map.js */ \"./node_modules/core-js/modules/esnext.iterator.map.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var core_js_modules_esnext_iterator_some_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/esnext.iterator.some.js */ \"./node_modules/core-js/modules/esnext.iterator.some.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_some_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_some_js__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _plugins_tm_components_z_datepicker_vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/plugins/tm@_components/z-datepicker.vue */ \"./src/plugins/tm@_components/z-datepicker.vue\");\n/* harmony import */ var _plugins_tm_components_z_files_upload_vue__WEBPACK_IMPORTED_MODULE_9__ = __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_10__ = __webpack_require__(/*! @vuelidate/core */ \"./node_modules/@vuelidate/core/dist/index.esm.js\");\n/* harmony import */ var _vuelidate_validators__WEBPACK_IMPORTED_MODULE_11__ = __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_12__ = __webpack_require__(/*! @/plugins/lib@auth/_utils/error.utils */ \"./src/plugins/lib@auth/_utils/error.utils.ts\");\n/* harmony import */ var _vueup_vue_quill__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @vueup/vue-quill */ \"./node_modules/@vueup/vue-quill/dist/vue-quill.esm-bundler.js\");\n/* harmony import */ var _master_task_mixins_selects_mixin__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../master-task/_mixins/selects.mixin */ \"./src/plugins/tm@modal/master-task/_mixins/selects.mixin.ts\");\n/* harmony import */ var _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @/plugins/tm@_utils/tm.utils */ \"./src/plugins/tm@_utils/tm.utils.ts\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! moment */ \"./node_modules/moment/moment.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_16__);\n/* harmony import */ var _vueup_vue_quill_dist_vue_quill_snow_css__WEBPACK_IMPORTED_MODULE_17__ = __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_17___default = /*#__PURE__*/__webpack_require__.n(_vueup_vue_quill_dist_vue_quill_snow_css__WEBPACK_IMPORTED_MODULE_17__);\n/* harmony import */ var _plugins_tm_mixins_autocomplete_mixin__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! @/plugins/tm@_mixins/autocomplete.mixin */ \"./src/plugins/tm@_mixins/autocomplete.mixin.ts\");\n/* harmony import */ var _components_z_task_readonly_info_vue__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./_components/z-task-readonly-info.vue */ \"./src/plugins/tm@modal/task/_components/z-task-readonly-info.vue\");\n/* harmony import */ var _components_employees_a_employee_vue__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./_components/employees/a-employee.vue */ \"./src/plugins/tm@modal/task/_components/employees/a-employee.vue\");\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm-bundler.js\");\n/* harmony import */ var _plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! @/plugins/tm@modal/_mixins/modal.mixin */ \"./src/plugins/tm@modal/_mixins/modal.mixin.ts\");\n/* harmony import */ var _plugins_tm_modal_components_a_resize_handle_vue__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-resize-handle.vue */ \"./src/plugins/tm@modal/_components/a-resize-handle.vue\");\n/* harmony import */ var _plugins_tm_modal_components_a_reset_size_button_vue__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-reset-size-button.vue */ \"./src/plugins/tm@modal/_components/a-reset-size-button.vue\");\n/* harmony import */ var _plugins_tm_modal_components_a_close_button_vue__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-close-button.vue */ \"./src/plugins/tm@modal/_components/a-close-button.vue\");\n/* harmony import */ var _z_remove_employee_modal_vue__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./z-remove-employee-modal.vue */ \"./src/plugins/tm@modal/task/z-remove-employee-modal.vue\");\n/* harmony import */ var _z_remove_timeblock_modal_vue__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./z-remove-timeblock-modal.vue */ \"./src/plugins/tm@modal/task/z-remove-timeblock-modal.vue\");\n/* provided dependency */ var console = __webpack_require__(/*! ./node_modules/console-browserify/index.js */ \"./node_modules/console-browserify/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n components: {\n ZTaskReadonlyInfo: _components_z_task_readonly_info_vue__WEBPACK_IMPORTED_MODULE_19__[\"default\"],\n AEmployee: _components_employees_a_employee_vue__WEBPACK_IMPORTED_MODULE_20__[\"default\"],\n ZFilesUpload: _plugins_tm_components_z_files_upload_vue__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n ZDatepicker: _plugins_tm_components_z_datepicker_vue__WEBPACK_IMPORTED_MODULE_8__[\"default\"],\n // ATaskTimeblocks,\n QuillEditor: _vueup_vue_quill__WEBPACK_IMPORTED_MODULE_13__.QuillEditor,\n AResizeHandle: _plugins_tm_modal_components_a_resize_handle_vue__WEBPACK_IMPORTED_MODULE_23__[\"default\"],\n AResetSizeButton: _plugins_tm_modal_components_a_reset_size_button_vue__WEBPACK_IMPORTED_MODULE_24__[\"default\"],\n ACloseButton: _plugins_tm_modal_components_a_close_button_vue__WEBPACK_IMPORTED_MODULE_25__[\"default\"],\n ZRemoveEmployeeModal: _z_remove_employee_modal_vue__WEBPACK_IMPORTED_MODULE_26__[\"default\"],\n ZRemoveTimeblockModal: _z_remove_timeblock_modal_vue__WEBPACK_IMPORTED_MODULE_27__[\"default\"]\n },\n mixins: [_master_task_mixins_selects_mixin__WEBPACK_IMPORTED_MODULE_14__[\"default\"], _plugins_tm_mixins_autocomplete_mixin__WEBPACK_IMPORTED_MODULE_18__[\"default\"], _plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_22__[\"default\"]],\n emits: ['close', 'refresh'],\n data() {\n return {\n tmUtils: _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_15__[\"default\"],\n editMode: false,\n visible: false,\n subtask: null,\n isSaving: false,\n errorUtils: _plugins_lib_auth_utils_error_utils__WEBPACK_IMPORTED_MODULE_12__[\"default\"],\n v$: (0,_vuelidate_core__WEBPACK_IMPORTED_MODULE_10__[\"default\"])(),\n showDatePicker: false,\n selectedNewDate: [],\n timeblocks: [],\n deletedTimeblockIds: [],\n // Track IDs of saved timeblocks that have been deleted\n wasFormValidationTriggered: false,\n modalName: 'z-task-modal',\n modalSize: 'large',\n employeeRefs: [],\n pendingRemoveEmployeeId: undefined,\n pendingRemoveEmployeeIndex: undefined\n };\n },\n computed: {\n ...(0,vuex__WEBPACK_IMPORTED_MODULE_21__.mapGetters)('tm', ['mastertasks', 'enrichedEmployees']),\n enrichedMastertasks() {\n return this.mastertasks.map(mastertask => ({\n ...mastertask,\n _fullName: `${mastertask.name} [${mastertask.project_code}]`\n }));\n },\n editModeEmployee: {\n get() {\n return {\n id: this.subtask?.employee_id || null,\n duration: this.subtask?.duration || null\n };\n },\n set(value) {\n if (this.subtask) {\n this.subtask.employee_id = value.id;\n this.subtask.duration = value.duration;\n }\n }\n },\n isDraftWithMultipleEmployees() {\n return this.subtask?.is_draft && Array.isArray(this.subtask?.employees) && this.subtask.employees.length > 0;\n }\n },\n validations() {\n return {\n subtask: {\n master_task_id: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_11__.required\n },\n deadline: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_11__.required\n },\n _deadline_time: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_11__.required\n }\n }\n };\n },\n watch: {\n 'subtask.employee_id'(value, oldValue) {\n if (!value || !oldValue) return;\n\n // In edit mode: reassign timeblocks to new employee\n if (this.subtask.id) {\n this.timeblocks = this.timeblocks.map(tb => {\n if (tb.employee_id == oldValue) {\n return {\n ...tb,\n employee_id: value\n };\n }\n return tb;\n });\n } else {\n // In create mode: remove old employee's timeblocks\n this.timeblocks = this.timeblocks.filter(tb => tb.employee_id != oldValue);\n }\n this.subtask._employee = this.enrichedEmployees.find(employee => employee.id == this.subtask.employee_id);\n },\n 'subtask.employees': {\n handler() {\n if (!this.subtask?.employees) return;\n const lastEmployee = this.subtask.employees[this.subtask.employees.length - 1];\n if (lastEmployee?.id || lastEmployee?.duration) this.subtask.employees.push({});\n },\n deep: true\n },\n 'subtask.master_task_id'(value) {\n if (!value) return;\n this.subtask._master_task = this.mastertasks.find(mastertask => mastertask.id == this.subtask.master_task_id);\n this.subtask.project_code = this.subtask._master_task?.project_code || null;\n },\n editMode() {\n this.$nextTick(() => {\n this.$refs['description']?.setHTML(this.subtask.description || '');\n });\n },\n subtask: {\n handler(val) {\n if (this.editMode && !this.subtask?.id) {\n const employees = val?.employees?.filter(employee => employee?.id || employee?.duration) || [{}];\n const subtaskData = {\n ...val,\n employees: employees && employees.length > 0 ? employees : [{}]\n };\n localStorage.setItem('subtaskData', JSON.stringify(subtaskData));\n }\n },\n deep: true\n },\n timeblocks: {\n handler(val) {\n if (this.editMode && !this.subtask?.id) {\n // Save timeblocks to localStorage for new tasks\n localStorage.setItem('subtaskTimeblocks', JSON.stringify(val));\n }\n },\n deep: true\n }\n },\n mounted() {\n // Handle remove timeblock modal\n this.$events.on('show-remove-timeblock-modal', ({\n onConfirm\n }) => {\n this.$refs.removeTimeblockModal.showModal({\n onConfirm\n });\n });\n this.$events.on('add-timeblock', timeblock => {\n if (!this.subtask) return;\n if (!this.subtask.timeblocks) {\n this.subtask.timeblocks = [];\n }\n if (!this.subtask.timesheets) {\n this.subtask.timesheets = [];\n }\n if (!this.subtask.is_finished) {\n this.subtask.is_finished = 0;\n }\n this.subtask.timeblocks.push(timeblock);\n });\n this.$events.on('on-subtask-edited', subtask => {\n if (subtask?.id !== this.subtask?.id) return;\n const data = JSON.parse(JSON.stringify(subtask));\n const splittedDeadline = data.deadline?.split(' ') || [];\n data.deadline = splittedDeadline[0];\n data._deadline_time = splittedDeadline[1];\n\n // Convert BE format timeblocks to internal format\n if (data.is_draft && Array.isArray(data.employees)) {\n // Handle draft subtasks with employees array\n const allDraftTimeblocks = [];\n data.employees = data.employees.map(emp => {\n const convertedTimeblocks = (emp.timeblocks || []).map(tb => this._convertTimeblockToInternal(tb, emp.id)).filter(Boolean);\n\n // Add to flat array for edit mode\n allDraftTimeblocks.push(...convertedTimeblocks);\n return {\n ...emp,\n timeblocks: convertedTimeblocks\n };\n });\n\n // Update flat timeblocks array for edit mode\n this.timeblocks = allDraftTimeblocks;\n } else {\n // Handle published subtasks with root-level timeblocks\n this.timeblocks = (data.timeblocks || []).map(tb => this._convertTimeblockToInternal(tb, data.employee_id)).filter(Boolean);\n }\n this.subtask = this._enrichTask(data);\n\n // TODO: Remove? riesil som neodstranovanie jedineho zanamu v trvani a odpracovanom case\n this.$forceUpdate();\n });\n this.$events.on('on-subtask-deleted', subtask => {\n if (subtask?.id == this.subtask?.id) this.closeModal();\n });\n },\n methods: {\n /**\n * Convert a timeblock from backend format to internal format\n * @param {Object} timeblock - Timeblock in BE format (start/end) or internal format (date/times)\n * @param {Number} employeeId - Employee ID to associate with the timeblock\n * @returns {Object} Timeblock in internal format\n */\n _convertTimeblockToInternal(timeblock, employeeId) {\n // If already in internal format, return as is\n if (timeblock.date) {\n return {\n ...timeblock,\n employee_id: employeeId\n };\n }\n\n // Convert from BE format to internal format\n if (timeblock.start && timeblock.end) {\n const startMoment = moment__WEBPACK_IMPORTED_MODULE_16___default()(timeblock.start, 'YYYY-MM-DD HH:mm:ss');\n const endMoment = moment__WEBPACK_IMPORTED_MODULE_16___default()(timeblock.end, 'YYYY-MM-DD HH:mm:ss');\n return {\n id: timeblock.id || null,\n date: startMoment.toDate(),\n starts_at_time: startMoment.format('HH:mm'),\n ends_at_time: endMoment.format('HH:mm'),\n is_finished: timeblock.is_finished || 0,\n employee_id: employeeId\n };\n }\n return null;\n },\n customFilterWithEmployeeFilter(item, input, itemObject) {\n const shouldShowItem = this.customFilter(item, input);\n if (!shouldShowItem) return false;\n if (!itemObject?.value) return false;\n const employeeId = itemObject.value;\n if (!this.subtask.id) {\n // New subtask with multiple employees support\n // Hide employees that are already selected in any slot\n // The v-autocomplete will still display the currently selected employee\n const isAlreadySelected = Array.isArray(this.subtask.employees) && this.subtask.employees.some(emp => emp.id && Number(emp.id) === employeeId);\n return shouldShowItem && !isAlreadySelected;\n } else if (this.subtask.is_draft) {\n // Edit draft subtask with multiple employees support\n // Hide employees that are already selected in any slot\n const isAlreadySelected = Array.isArray(this.subtask.employees) && this.subtask.employees.some(emp => emp.id && Number(emp.id) === employeeId);\n return shouldShowItem && !isAlreadySelected;\n } else {\n // Saved standard subtask, allow \"re-select\" for better UX\n return shouldShowItem;\n }\n },\n toggleEditMode() {\n if (this.subtask.type == 'office365') return this.$events.emit('show-unable-to-edit-office-task-modal', {\n mode: 'edit'\n });\n this.editMode = !this.editMode;\n },\n // Set refs for employee components in create mode\n setEmployeeRef(el, index) {\n if (el) {\n this.employeeRefs[index] = el;\n }\n },\n openDatepicker(ref) {\n this.$refs[ref].openMenu();\n },\n // Helper: Get employee by ID\n getEmployeeById(employeeId) {\n return this.enrichedEmployees.find(emp => emp.id === employeeId);\n },\n // Helper: Get employee full name\n getEmployeeFullName(employeeId) {\n const employee = this.getEmployeeById(employeeId);\n return employee ? `${employee.name} ${employee.surname}` : '';\n },\n // Helper: Get enriched employee data by ID\n getEnrichedEmployee(employeeId) {\n return this.enrichedEmployees.find(emp => emp.id === employeeId) || {};\n },\n // Helper: Get valid employees (with id and duration) in create mode\n getValidEmployees() {\n if (!this.subtask?.employees) return [];\n return this.subtask.employees.filter(emp => emp.id && emp.duration);\n },\n // Helper: Get timeblocks for specific employee\n getEmployeeTimeblocks(employeeId) {\n if (!this.timeblocks) return [];\n return this.timeblocks.filter(tb => Number(tb.employee_id) === Number(employeeId));\n },\n updateEmployeeTimeblocks(updatedTimeblocks, employeeId) {\n // Track deleted timeblocks (saved timeblocks that are no longer in the updated list)\n const updatedIds = new Set(updatedTimeblocks.filter(tb => tb.id).map(tb => tb.id));\n const deletedIds = this.timeblocks.filter(tb => tb.employee_id == employeeId && tb.id && !updatedIds.has(tb.id)).map(tb => tb.id).filter(id => !this.deletedTimeblockIds.includes(id));\n this.deletedTimeblockIds.push(...deletedIds);\n\n // Replace timeblocks for this employee\n const otherEmployeeTimeblocks = this.timeblocks.filter(tb => tb.employee_id != employeeId);\n const updatedWithEmployeeId = updatedTimeblocks.map(tb => ({\n ...tb,\n employee_id: employeeId\n }));\n this.timeblocks = [...otherEmployeeTimeblocks, ...updatedWithEmployeeId];\n },\n updateTimeblock(val, index, employeeId) {\n const employeeTimeblocks = this.getEmployeeTimeblocks(employeeId);\n const timeblock = employeeTimeblocks[index];\n if (!timeblock) return;\n\n // Find the actual index in the full timeblocks array\n const actualIndex = this.timeblocks.indexOf(timeblock);\n if (actualIndex !== -1) {\n this.timeblocks[actualIndex] = {\n ...val,\n employee_id: employeeId\n };\n }\n },\n addTimeblock(employeeId, afterIndex = -1) {\n const newTimeblock = {\n date: new Date(),\n // Preset to current day\n starts_at_time: null,\n ends_at_time: null,\n employee_id: employeeId\n };\n\n // Get timeblocks for this employee\n const employeeTimeblocks = this.timeblocks.filter(tb => tb.employee_id == employeeId);\n if (afterIndex === -1 || afterIndex >= employeeTimeblocks.length - 1) {\n // Add at the end\n this.timeblocks.push(newTimeblock);\n } else {\n // Find the position in the full timeblocks array\n const timeblockToInsertAfter = employeeTimeblocks[afterIndex];\n const insertPosition = this.timeblocks.indexOf(timeblockToInsertAfter) + 1;\n this.timeblocks.splice(insertPosition, 0, newTimeblock);\n }\n },\n removeTimeblock(index, employeeId) {\n const employeeTimeblocks = this.getEmployeeTimeblocks(employeeId);\n const timeblock = employeeTimeblocks[index];\n if (!timeblock) return;\n\n // Find the actual index in the full timeblocks array\n const actualIndex = this.timeblocks.indexOf(timeblock);\n if (actualIndex !== -1) {\n this.timeblocks.splice(actualIndex, 1);\n }\n },\n // Handle remove employee - also removes their timeblocks\n handleRemoveEmployee() {\n this.pendingRemoveEmployeeId = this.subtask.employee_id;\n this.$refs.removeEmployeeModal.showModal();\n },\n removeEmployeeAtIndex(index) {\n this.pendingRemoveEmployeeIndex = index;\n this.$refs.removeEmployeeModal.showModal();\n },\n confirmRemoveEmployee() {\n // Handle edit mode (single employee removal)\n if (this.pendingRemoveEmployeeId !== undefined) {\n if (this.subtask.employee_id) {\n // Remove all timeblocks for this employee\n this.timeblocks = this.timeblocks.filter(tb => tb.employee_id != this.subtask.employee_id);\n }\n\n // Clear employee data in edit mode\n this.subtask.employee_id = null;\n this.subtask.duration = null;\n this.pendingRemoveEmployeeId = undefined;\n }\n // Handle create mode (multiple employees removal)\n else if (this.pendingRemoveEmployeeIndex !== undefined && Array.isArray(this.subtask.employees)) {\n const employee = this.subtask.employees[this.pendingRemoveEmployeeIndex];\n if (employee?.id) {\n // Remove all timeblocks for this employee\n this.timeblocks = this.timeblocks.filter(tb => tb.employee_id != employee.id);\n }\n\n // Remove employee from array\n this.subtask.employees.splice(this.pendingRemoveEmployeeIndex, 1);\n this.pendingRemoveEmployeeIndex = undefined;\n }\n },\n async showModal({\n subtask,\n editMode = false,\n mastertask = {}\n }) {\n this.isSaving = false;\n this.subtask = null;\n this.wasFormValidationTriggered = false; // Reset validation trigger\n\n // CRITICAL: Prevent v-dialog autofocus BEFORE modal opens\n this.preventInputFocus = true;\n this.visible = true;\n this.timeblocks = [];\n this.deletedTimeblockIds = []; // Reset deleted timeblock IDs\n this.employeeRefs = [];\n this.$nextTick(() => {\n this.v$.$reset();\n\n // Reset after modal is fully rendered and v-dialog autofocus has been blocked\n setTimeout(() => {\n this.preventInputFocus = false;\n }, 300);\n });\n try {\n if (subtask?.id) {\n const data = await this.$axios.get_auth_data(`v1/subtasks/${subtask.id}`);\n\n // Convert BE format timeblocks to internal format\n if (data.is_draft && data.employees && Array.isArray(data.employees)) {\n // Handle draft subtasks with employees array\n const draftTimeblocks = [];\n data.employees = data.employees.map(employee => {\n const convertedTimeblocks = (employee.timeblocks || []).map(tb => this._convertTimeblockToInternal(tb, employee.id)).filter(Boolean);\n draftTimeblocks.push(...convertedTimeblocks);\n return {\n ...employee,\n timeblocks: convertedTimeblocks\n };\n });\n this.timeblocks = draftTimeblocks;\n\n // Ensure employees array has proper structure for editing\n const lastEmployee = data.employees[data.employees.length - 1];\n if (lastEmployee && (lastEmployee.id || lastEmployee.duration)) {\n data.employees.push({});\n }\n } else {\n // Handle published subtasks with root-level timeblocks\n this.timeblocks = (data.timeblocks || []).map(tb => this._convertTimeblockToInternal(tb, data.employee_id)).filter(Boolean);\n }\n\n // Ensure at least one timeblock exists for edit mode (non-draft single employee)\n if (data.employee_id && !data.is_draft && this.timeblocks.length === 0) {\n this.addTimeblock(data.employee_id);\n }\n if (!data.deadline) {\n this.subtask = this._enrichTask(data);\n this.editMode = editMode || !data.id;\n\n // Set Quill editor content after subtask is loaded and editMode is set\n this.$nextTick(() => {\n if (this.$refs['description']) {\n this.$refs['description'].setHTML(this.subtask.description || '');\n }\n });\n return;\n }\n const splittedDeadline = data.deadline.split(' ');\n data.deadline = splittedDeadline[0];\n data._deadline_time = splittedDeadline[1];\n this.subtask = this._enrichTask(data);\n } else {\n const savedSubtask = localStorage.getItem('subtaskData');\n const savedTimeblocks = localStorage.getItem('subtaskTimeblocks');\n try {\n if (savedSubtask) {\n const parsedSubtask = JSON.parse(savedSubtask);\n this.subtask = parsedSubtask;\n // If the parsed result is not an object, reset to default\n if (typeof this.subtask !== 'object' || this.subtask === null) {\n throw new Error('Parsed subtask is not an object');\n }\n\n // Load timeblocks from localStorage if they exist\n if (savedTimeblocks) {\n try {\n let parsedTimeblocks = JSON.parse(savedTimeblocks);\n\n // Filter out timeblocks that are not valid\n parsedTimeblocks = parsedTimeblocks.filter(tb => tb.employee_id && tb.starts_at_time && tb.ends_at_time);\n if (Array.isArray(parsedTimeblocks)) {\n this.timeblocks = parsedTimeblocks.map(tb => ({\n ...tb,\n date: tb.date ? new Date(tb.date) : null\n }));\n } else {\n this.timeblocks = [];\n }\n } catch (e) {\n console.error('Error parsing saved timeblocks:', e);\n this.timeblocks = [];\n }\n }\n this.$nextTick(() => {\n this.$refs['description']?.setHTML(this.subtask.description || '');\n });\n } else {\n throw new Error('subtaskData is null or undefined');\n }\n } catch (error) {\n // Initialize with current logged-in employee\n const currentUserId = this.$store.getters['auth/user']?.id;\n const currentEmployee = currentUserId ? this.enrichedEmployees.find(emp => emp.id === currentUserId) : null;\n this.subtask = {\n master_task: mastertask,\n employees: currentEmployee ? [{\n id: currentEmployee.id,\n duration: null\n }] : [{}],\n _deadline_time: '17:00'\n };\n\n // Add a timeblock for the current user if they exist\n if (currentUserId) {\n this.addTimeblock(currentUserId);\n }\n }\n if (subtask?.deadline && subtask._deadline_time && subtask.employee_id) {\n const employee = this.enrichedEmployees.find(employee => employee.id == subtask.employee_id);\n\n // Get current logged-in user\n const currentUserId = this.$store.getters['auth/user']?.id;\n const isCurrentUser = currentUserId === subtask.employee_id;\n\n // If the clicked employee is different from current user, add current user first as empty slot\n if (!isCurrentUser) {\n this.subtask.employees = [{\n id: currentUserId,\n duration: null\n },\n // Empty current user slot\n employee // The clicked employee with data\n ];\n } else {\n // Same user or no current user, just add the clicked employee\n this.subtask.employees = [employee];\n }\n this.subtask.deadline = subtask.deadline;\n this.subtask._deadline_time = subtask._deadline_time;\n setTimeout(() => {\n this.timeblocks = [...(!isCurrentUser ? [{\n date: new Date(subtask.deadline),\n starts_at_time: subtask._deadline_time,\n ends_at_time: null,\n employee_id: currentUserId\n }] : []), {\n date: new Date(subtask.deadline),\n starts_at_time: subtask._deadline_time,\n ends_at_time: null,\n employee_id: subtask.employee_id\n }];\n }, 500);\n }\n if (subtask?.master_task_id && subtask?.project_code) {\n this.subtask.master_task_id = subtask.master_task_id;\n this.subtask.project_code = subtask.project_code;\n }\n }\n this.editMode = editMode || !this.subtask.id;\n\n // Set Quill editor content after editMode is set\n // This ensures the description is loaded when opening in edit mode\n if (this.editMode) {\n this.$nextTick(() => {\n if (this.$refs['description']) {\n this.$refs['description'].setHTML(this.subtask?.description || '');\n }\n });\n }\n } catch (error) {\n this.$toast.error(this.$parseError(error));\n }\n },\n deleteTimeblock(i) {\n this.subtask.timeblocks.splice(i, 1);\n },\n closeModal() {\n this.visible = false;\n this.$router.replace({\n name: this.$route.name\n });\n },\n async validate(concept = false) {\n if (concept === false) {\n const employeesValid = await this._validateEmployees();\n const timeblocksValid = await this._validateTimeblocks();\n if (!(await this.v$.$validate())) return;\n if (!employeesValid || !timeblocksValid) return;\n return true;\n } else {\n this.v$.subtask.master_task_id.$touch();\n return this.v$.subtask.master_task_id.$errors.length === 0;\n }\n },\n async save(concept = false) {\n this.v$.$reset();\n this.wasFormValidationTriggered = true;\n if (!(await this.validate(concept))) return;\n this.subtask.description = this.$refs['description'].getHTML();\n this._mergeDeadlineTimeDate();\n try {\n this.isSaving = true;\n\n // Concept tasks may not have a deadline time set\n this.subtask.deadline = this.subtask.deadline ? moment__WEBPACK_IMPORTED_MODULE_16___default()(this.subtask.deadline).format('YYYY-MM-DD HH:mm:SS') : null;\n if (this.subtask?.id) {\n const timesheets = this.subtask.timesheets.map(timesheet => {\n delete timesheet.employee_name;\n return timesheet;\n });\n\n // Convert timeblocks from internal format to BE format for update\n // Filter out completely empty timeblocks AND timeblocks without all required fields\n // Pre draft s multiple employees preskočiť - timeblocks sú v employees array\n const timeblocks = this.subtask.is_draft && this.isDraftWithMultipleEmployees ? [] : this.timeblocks.filter(timeblock => timeblock.date && timeblock.starts_at_time && timeblock.ends_at_time && Number(timeblock.employee_id) === Number(this.subtask.employee_id)) // Only send complete timeblocks for this employee\n .map(timeblock => {\n const dateStr = moment__WEBPACK_IMPORTED_MODULE_16___default()(timeblock.date).format('YYYY-MM-DD');\n return {\n id: timeblock.id || null,\n start: `${dateStr} ${timeblock.starts_at_time}:00`,\n end: `${dateStr} ${timeblock.ends_at_time}:00`,\n is_finished: timeblock.is_finished || 0\n };\n });\n const payload = {\n ...this.subtask,\n timesheets,\n timeblocks\n };\n\n // For drafts with multiple employees, include employees array\n if (this.subtask.is_draft && this.isDraftWithMultipleEmployees) {\n const validEmployees = this._filterValidEmployees(this.subtask.employees, concept);\n\n // Assign timeblocks to each employee\n validEmployees.forEach(employee => {\n const employeeTimeblocks = this._getEmployeeTimeblocks(employee.id, true);\n employee.timeblocks = employeeTimeblocks.map(tb => ({\n start: `${moment__WEBPACK_IMPORTED_MODULE_16___default()(tb.date).format('YYYY-MM-DD')} ${tb.starts_at_time}:00`,\n end: `${moment__WEBPACK_IMPORTED_MODULE_16___default()(tb.date).format('YYYY-MM-DD')} ${tb.ends_at_time}:00`,\n id: tb.id || null\n }));\n });\n payload.employees = validEmployees;\n }\n if (concept) {\n payload.is_draft = 1;\n } else {\n payload.is_draft = 0;\n }\n const {\n subtask\n } = await this.$axios.patch_auth_form(`v1/subtasks/${this.subtask.id}`, payload);\n localStorage.removeItem('subtaskData');\n localStorage.removeItem('subtaskTimeblocks');\n this.$store.commit('tm/update_subtask', subtask);\n this.$events.emit('on-subtask-edited', this.subtask);\n } else {\n const validEmployees = this._filterValidEmployees(this.subtask.employees, concept);\n\n // Assign timeblocks to each employee based on employee_id\n // Filter out empty/incomplete timeblocks - only send fully filled timeblocks\n validEmployees.forEach(employee => {\n const employeeTimeblocks = this._getEmployeeTimeblocks(employee.id, true);\n employee.timeblocks = employeeTimeblocks.map(timeblock => {\n return {\n start: `${moment__WEBPACK_IMPORTED_MODULE_16___default()(timeblock.date).format('YYYY-MM-DD')} ${timeblock.starts_at_time}:00`,\n end: `${moment__WEBPACK_IMPORTED_MODULE_16___default()(timeblock.date).format('YYYY-MM-DD')} ${timeblock.ends_at_time}:00`,\n id: null\n };\n });\n });\n const subtaskCopy = {\n ...this.subtask,\n employees: validEmployees\n };\n if (concept) {\n subtaskCopy.is_draft = true;\n subtaskCopy.employees = subtaskCopy.employees?.length > 0 ? subtaskCopy.employees : [{\n id: this.$store.getters['auth/user']?.id,\n duration: 0\n }];\n }\n delete subtaskCopy._master_task;\n const {\n subtasks\n } = await this.$axios.post_auth(`v1/mastertasks/${this.subtask.master_task_id}/subtasks`, subtaskCopy);\n localStorage.removeItem('subtaskData');\n localStorage.removeItem('subtaskTimeblocks');\n this.subtask.id = subtasks[0].id;\n subtasks.forEach(subtask => {\n this.$store.commit('tm/update_subtask', subtask);\n this.$events.emit('on-subtask-edited', this.subtask);\n });\n this.$events.emit('task-created');\n this.$events.emit('close-both-modals');\n }\n this.closeModal();\n } catch (error) {\n console.log('error', error);\n this.$toast.error(this.$parseError(error));\n } finally {\n this.isSaving = false;\n }\n },\n openDeleteTaskModal(subtask) {\n if (subtask.type == 'office365') return this.$events.emit('show-unable-to-edit-office-task-modal', {\n mode: 'delete'\n });\n this.$events.emit('show-delete-task-modal', {\n subtask\n });\n },\n showCompleteTaskModal() {\n this.$events.emit('show-complete-task-modal', {\n subtask: this.subtask\n });\n if (this.subtask.deadline) this.subtask.deadline = _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_15__[\"default\"].formatDateTimeForBackend(this.subtask.deadline);\n },\n filesUploaded(files) {\n this.subtask.files = files;\n },\n updateSubtask(subtask) {\n this.subtask = subtask;\n },\n _mergeDeadlineTimeDate() {\n // Override for concept tasks which may not have a deadline time set (check for invalid date)\n if (isNaN(new Date(this.subtask.deadline).getTime()) || !this.subtask._deadline_time) {\n this.subtask.deadline = null;\n } else {\n const date = new Date(this.subtask.deadline);\n const timeParts = this.subtask._deadline_time.split(':');\n date.setHours(parseInt(timeParts[0]));\n date.setMinutes(parseInt(timeParts[1]));\n this.subtask.deadline = date;\n }\n },\n _filterValidEmployees(employees, isConcept) {\n // Filter employees based on whether it's a concept/draft or published task\n // For concepts: only require id (duration can be null/0)\n // For published tasks: require both id and duration\n if (!Array.isArray(employees)) return [];\n return employees.filter(employee => {\n if (isConcept) {\n return employee.id; // Only require ID for concepts/drafts\n }\n return employee.id && employee.duration; // Require both for published tasks\n });\n },\n _getEmployeeTimeblocks(employeeId, requireComplete = true) {\n // Get timeblocks for a specific employee with proper type handling\n // Use Number() conversion to avoid type mismatch issues (string vs number)\n const filtered = this.timeblocks.filter(tb => {\n const idsMatch = Number(tb.employee_id) === Number(employeeId);\n if (!requireComplete) {\n return idsMatch;\n }\n\n // For complete timeblocks, also require date and time fields\n return idsMatch && tb.date && tb.starts_at_time && tb.ends_at_time;\n });\n return filtered;\n },\n async _validateEmployees() {\n if (this.subtask.id && !this.subtask.is_draft) {\n // For existing subtasks, at least one employee is required\n const hasEmployee = !!(this.subtask.employee_id && this.subtask.duration);\n return hasEmployee;\n } else {\n let valid = true;\n\n // Validate ALL employee component refs (this will show errors on inputs)\n for (let i = 0; i < this.employeeRefs.length; i++) {\n const employeeRef = this.employeeRefs[i];\n\n // Validate employees that have any data (partial or complete)\n if (employeeRef && typeof employeeRef.validate === 'function') {\n if (!(await employeeRef.validate())) {\n valid = false;\n }\n }\n }\n return valid;\n }\n },\n async _validateTimeblocks() {\n // Date alone is valid. Validation only applies if start OR end time is filled.\n // If start OR end is filled, then ALL fields (date, start, end) are required.\n let valid = true;\n for (const timeblock of this.timeblocks) {\n const hasStart = !!timeblock.starts_at_time;\n const hasEnd = !!timeblock.ends_at_time;\n const hasAnyTime = hasStart || hasEnd;\n\n // If no time data (start/end), timeblock is valid (date alone is OK)\n if (!hasAnyTime) {\n continue;\n }\n\n // If start OR end is filled, ALL fields are required\n const hasDate = !!timeblock.date;\n if (!hasDate || !hasStart || !hasEnd) {\n valid = false;\n break;\n }\n\n // Validate that end time is after start time\n const dateStr = moment__WEBPACK_IMPORTED_MODULE_16___default()(timeblock.date).format('YYYY-MM-DD');\n const start = moment__WEBPACK_IMPORTED_MODULE_16___default()(`${dateStr} ${timeblock.starts_at_time}`, 'YYYY-MM-DD HH:mm');\n const end = moment__WEBPACK_IMPORTED_MODULE_16___default()(`${dateStr} ${timeblock.ends_at_time}`, 'YYYY-MM-DD HH:mm');\n if (end.isSameOrBefore(start)) {\n valid = false;\n break;\n }\n }\n return valid;\n },\n _enrichTask(subtask) {\n return {\n ...subtask,\n _created_by: this.enrichedEmployees.find(employee => employee.id == subtask.created_by),\n _employee: this.enrichedEmployees.find(employee => employee.id == subtask.employee_id),\n _master_task: this.mastertasks.find(mastertask => mastertask.id == subtask.master_task_id)\n };\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/task/z-task-modal.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); +eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_json_stringify_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.json.stringify.js */ \"./node_modules/core-js/modules/es.json.stringify.js\");\n/* harmony import */ var core_js_modules_es_json_stringify_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_json_stringify_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ \"./node_modules/core-js/modules/esnext.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/esnext.iterator.filter.js */ \"./node_modules/core-js/modules/esnext.iterator.filter.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/esnext.iterator.find.js */ \"./node_modules/core-js/modules/esnext.iterator.find.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/esnext.iterator.for-each.js */ \"./node_modules/core-js/modules/esnext.iterator.for-each.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/esnext.iterator.map.js */ \"./node_modules/core-js/modules/esnext.iterator.map.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var core_js_modules_esnext_iterator_some_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/esnext.iterator.some.js */ \"./node_modules/core-js/modules/esnext.iterator.some.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_some_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_some_js__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _plugins_tm_components_z_datepicker_vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/plugins/tm@_components/z-datepicker.vue */ \"./src/plugins/tm@_components/z-datepicker.vue\");\n/* harmony import */ var _plugins_tm_components_z_files_upload_vue__WEBPACK_IMPORTED_MODULE_9__ = __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_10__ = __webpack_require__(/*! @vuelidate/core */ \"./node_modules/@vuelidate/core/dist/index.esm.js\");\n/* harmony import */ var _vuelidate_validators__WEBPACK_IMPORTED_MODULE_11__ = __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_12__ = __webpack_require__(/*! @/plugins/lib@auth/_utils/error.utils */ \"./src/plugins/lib@auth/_utils/error.utils.ts\");\n/* harmony import */ var _vueup_vue_quill__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @vueup/vue-quill */ \"./node_modules/@vueup/vue-quill/dist/vue-quill.esm-bundler.js\");\n/* harmony import */ var _master_task_mixins_selects_mixin__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../master-task/_mixins/selects.mixin */ \"./src/plugins/tm@modal/master-task/_mixins/selects.mixin.ts\");\n/* harmony import */ var _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @/plugins/tm@_utils/tm.utils */ \"./src/plugins/tm@_utils/tm.utils.ts\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! moment */ \"./node_modules/moment/moment.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_16__);\n/* harmony import */ var _vueup_vue_quill_dist_vue_quill_snow_css__WEBPACK_IMPORTED_MODULE_17__ = __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_17___default = /*#__PURE__*/__webpack_require__.n(_vueup_vue_quill_dist_vue_quill_snow_css__WEBPACK_IMPORTED_MODULE_17__);\n/* harmony import */ var _plugins_tm_mixins_autocomplete_mixin__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! @/plugins/tm@_mixins/autocomplete.mixin */ \"./src/plugins/tm@_mixins/autocomplete.mixin.ts\");\n/* harmony import */ var _components_z_task_readonly_info_vue__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./_components/z-task-readonly-info.vue */ \"./src/plugins/tm@modal/task/_components/z-task-readonly-info.vue\");\n/* harmony import */ var _components_employees_a_employee_vue__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./_components/employees/a-employee.vue */ \"./src/plugins/tm@modal/task/_components/employees/a-employee.vue\");\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm-bundler.js\");\n/* harmony import */ var _plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! @/plugins/tm@modal/_mixins/modal.mixin */ \"./src/plugins/tm@modal/_mixins/modal.mixin.ts\");\n/* harmony import */ var _plugins_tm_modal_components_a_resize_handle_vue__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-resize-handle.vue */ \"./src/plugins/tm@modal/_components/a-resize-handle.vue\");\n/* harmony import */ var _plugins_tm_modal_components_a_reset_size_button_vue__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-reset-size-button.vue */ \"./src/plugins/tm@modal/_components/a-reset-size-button.vue\");\n/* harmony import */ var _plugins_tm_modal_components_a_close_button_vue__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-close-button.vue */ \"./src/plugins/tm@modal/_components/a-close-button.vue\");\n/* harmony import */ var _z_remove_employee_modal_vue__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./z-remove-employee-modal.vue */ \"./src/plugins/tm@modal/task/z-remove-employee-modal.vue\");\n/* harmony import */ var _z_remove_timeblock_modal_vue__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./z-remove-timeblock-modal.vue */ \"./src/plugins/tm@modal/task/z-remove-timeblock-modal.vue\");\n/* provided dependency */ var console = __webpack_require__(/*! ./node_modules/console-browserify/index.js */ \"./node_modules/console-browserify/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n components: {\n ZTaskReadonlyInfo: _components_z_task_readonly_info_vue__WEBPACK_IMPORTED_MODULE_19__[\"default\"],\n AEmployee: _components_employees_a_employee_vue__WEBPACK_IMPORTED_MODULE_20__[\"default\"],\n ZFilesUpload: _plugins_tm_components_z_files_upload_vue__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n ZDatepicker: _plugins_tm_components_z_datepicker_vue__WEBPACK_IMPORTED_MODULE_8__[\"default\"],\n // ATaskTimeblocks,\n QuillEditor: _vueup_vue_quill__WEBPACK_IMPORTED_MODULE_13__.QuillEditor,\n AResizeHandle: _plugins_tm_modal_components_a_resize_handle_vue__WEBPACK_IMPORTED_MODULE_23__[\"default\"],\n AResetSizeButton: _plugins_tm_modal_components_a_reset_size_button_vue__WEBPACK_IMPORTED_MODULE_24__[\"default\"],\n ACloseButton: _plugins_tm_modal_components_a_close_button_vue__WEBPACK_IMPORTED_MODULE_25__[\"default\"],\n ZRemoveEmployeeModal: _z_remove_employee_modal_vue__WEBPACK_IMPORTED_MODULE_26__[\"default\"],\n ZRemoveTimeblockModal: _z_remove_timeblock_modal_vue__WEBPACK_IMPORTED_MODULE_27__[\"default\"]\n },\n mixins: [_master_task_mixins_selects_mixin__WEBPACK_IMPORTED_MODULE_14__[\"default\"], _plugins_tm_mixins_autocomplete_mixin__WEBPACK_IMPORTED_MODULE_18__[\"default\"], _plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_22__[\"default\"]],\n emits: ['close', 'refresh'],\n data() {\n return {\n tmUtils: _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_15__[\"default\"],\n editMode: false,\n visible: false,\n subtask: null,\n isSaving: false,\n errorUtils: _plugins_lib_auth_utils_error_utils__WEBPACK_IMPORTED_MODULE_12__[\"default\"],\n v$: (0,_vuelidate_core__WEBPACK_IMPORTED_MODULE_10__[\"default\"])(),\n showDatePicker: false,\n selectedNewDate: [],\n timeblocks: [],\n deletedTimeblockIds: [],\n // Track IDs of saved timeblocks that have been deleted\n wasFormValidationTriggered: false,\n modalName: 'z-task-modal',\n modalSize: 'large',\n employeeRefs: [],\n pendingRemoveEmployeeId: undefined,\n pendingRemoveEmployeeIndex: undefined,\n timeblockClientIdCounter: 0 // Counter for generating unique client-side IDs\n };\n },\n computed: {\n ...(0,vuex__WEBPACK_IMPORTED_MODULE_21__.mapGetters)('tm', ['mastertasks', 'enrichedEmployees']),\n enrichedMastertasks() {\n return this.mastertasks.map(mastertask => ({\n ...mastertask,\n _fullName: `${mastertask.name} [${mastertask.project_code}]`\n }));\n },\n editModeEmployee: {\n get() {\n return {\n id: this.subtask?.employee_id || null,\n duration: this.subtask?.duration || null\n };\n },\n set(value) {\n if (this.subtask) {\n this.subtask.employee_id = value.id;\n this.subtask.duration = value.duration;\n }\n }\n },\n isDraftWithMultipleEmployees() {\n return this.subtask?.is_draft && Array.isArray(this.subtask?.employees) && this.subtask.employees.length > 0;\n }\n },\n validations() {\n return {\n subtask: {\n master_task_id: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_11__.required\n },\n deadline: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_11__.required\n },\n _deadline_time: {\n required: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_11__.required\n }\n }\n };\n },\n watch: {\n 'subtask.employee_id'(value, oldValue) {\n if (!value || !oldValue) return;\n\n // In edit mode: reassign timeblocks to new employee\n if (this.subtask.id) {\n this.timeblocks = this.timeblocks.map(tb => {\n if (tb.employee_id == oldValue) {\n return {\n ...tb,\n employee_id: value\n };\n }\n return tb;\n });\n } else {\n // In create mode: remove old employee's timeblocks\n this.timeblocks = this.timeblocks.filter(tb => tb.employee_id != oldValue);\n }\n this.subtask._employee = this.enrichedEmployees.find(employee => employee.id == this.subtask.employee_id);\n },\n 'subtask.employees': {\n handler() {\n if (!this.subtask?.employees) return;\n const lastEmployee = this.subtask.employees[this.subtask.employees.length - 1];\n if (lastEmployee?.id || lastEmployee?.duration) this.subtask.employees.push({});\n },\n deep: true\n },\n 'subtask.master_task_id'(value) {\n if (!value) return;\n this.subtask._master_task = this.mastertasks.find(mastertask => mastertask.id == this.subtask.master_task_id);\n this.subtask.project_code = this.subtask._master_task?.project_code || null;\n },\n editMode() {\n this.$nextTick(() => {\n this.$refs['description']?.setHTML(this.subtask.description || '');\n });\n },\n subtask: {\n handler(val) {\n if (this.editMode && !this.subtask?.id) {\n const employees = val?.employees?.filter(employee => employee?.id || employee?.duration) || [{}];\n const subtaskData = {\n ...val,\n employees: employees && employees.length > 0 ? employees : [{}]\n };\n localStorage.setItem('subtaskData', JSON.stringify(subtaskData));\n }\n },\n deep: true\n },\n timeblocks: {\n handler(val) {\n if (this.editMode && !this.subtask?.id) {\n // Save timeblocks to localStorage for new tasks\n localStorage.setItem('subtaskTimeblocks', JSON.stringify(val));\n }\n },\n deep: true\n }\n },\n mounted() {\n // Handle remove timeblock modal\n this.$events.on('show-remove-timeblock-modal', ({\n onConfirm\n }) => {\n this.$refs.removeTimeblockModal.showModal({\n onConfirm\n });\n });\n this.$events.on('add-timeblock', timeblock => {\n if (!this.subtask) return;\n if (!this.subtask.timeblocks) {\n this.subtask.timeblocks = [];\n }\n if (!this.subtask.timesheets) {\n this.subtask.timesheets = [];\n }\n if (!this.subtask.is_finished) {\n this.subtask.is_finished = 0;\n }\n this.subtask.timeblocks.push(timeblock);\n });\n this.$events.on('on-subtask-edited', subtask => {\n if (subtask?.id !== this.subtask?.id) return;\n const data = JSON.parse(JSON.stringify(subtask));\n const splittedDeadline = data.deadline?.split(' ') || [];\n data.deadline = splittedDeadline[0];\n data._deadline_time = splittedDeadline[1];\n\n // Convert BE format timeblocks to internal format\n if (data.is_draft && Array.isArray(data.employees)) {\n // Handle draft subtasks with employees array\n const allDraftTimeblocks = [];\n data.employees = data.employees.map(emp => {\n const convertedTimeblocks = (emp.timeblocks || []).map(tb => this._convertTimeblockToInternal(tb, emp.id)).filter(Boolean);\n\n // Add to flat array for edit mode\n allDraftTimeblocks.push(...convertedTimeblocks);\n return {\n ...emp,\n timeblocks: convertedTimeblocks\n };\n });\n\n // Update flat timeblocks array for edit mode\n this.timeblocks = allDraftTimeblocks;\n } else {\n // Handle published subtasks with root-level timeblocks\n this.timeblocks = (data.timeblocks || []).map(tb => this._convertTimeblockToInternal(tb, data.employee_id)).filter(Boolean);\n }\n this.subtask = this._enrichTask(data);\n\n // TODO: Remove? riesil som neodstranovanie jedineho zanamu v trvani a odpracovanom case\n this.$forceUpdate();\n });\n this.$events.on('on-subtask-deleted', subtask => {\n if (subtask?.id == this.subtask?.id) this.closeModal();\n });\n },\n methods: {\n /**\n * Convert a timeblock from backend format to internal format\n * @param {Object} timeblock - Timeblock in BE format (start/end) or internal format (date/times)\n * @param {Number} employeeId - Employee ID to associate with the timeblock\n * @returns {Object} Timeblock in internal format\n */\n _convertTimeblockToInternal(timeblock, employeeId) {\n // If already in internal format, ensure it has a client ID\n if (timeblock.date) {\n return {\n ...timeblock,\n _clientId: timeblock._clientId || `client-${++this.timeblockClientIdCounter}`,\n employee_id: employeeId\n };\n }\n\n // Convert from BE format to internal format\n if (timeblock.start && timeblock.end) {\n const startMoment = moment__WEBPACK_IMPORTED_MODULE_16___default()(timeblock.start, 'YYYY-MM-DD HH:mm:ss');\n const endMoment = moment__WEBPACK_IMPORTED_MODULE_16___default()(timeblock.end, 'YYYY-MM-DD HH:mm:ss');\n return {\n id: timeblock.id || null,\n _clientId: timeblock._clientId || `client-${++this.timeblockClientIdCounter}`,\n date: startMoment.toDate(),\n starts_at_time: startMoment.format('HH:mm'),\n ends_at_time: endMoment.format('HH:mm'),\n is_finished: timeblock.is_finished || 0,\n employee_id: employeeId\n };\n }\n return null;\n },\n customFilterWithEmployeeFilter(item, input, itemObject) {\n const shouldShowItem = this.customFilter(item, input);\n if (!shouldShowItem) return false;\n if (!itemObject?.value) return false;\n const employeeId = itemObject.value;\n if (!this.subtask.id) {\n // New subtask with multiple employees support\n // Hide employees that are already selected in any slot\n // The v-autocomplete will still display the currently selected employee\n const isAlreadySelected = Array.isArray(this.subtask.employees) && this.subtask.employees.some(emp => emp.id && Number(emp.id) === employeeId);\n return shouldShowItem && !isAlreadySelected;\n } else if (this.subtask.is_draft) {\n // Edit draft subtask with multiple employees support\n // Hide employees that are already selected in any slot\n const isAlreadySelected = Array.isArray(this.subtask.employees) && this.subtask.employees.some(emp => emp.id && Number(emp.id) === employeeId);\n return shouldShowItem && !isAlreadySelected;\n } else {\n // Saved standard subtask, allow \"re-select\" for better UX\n return shouldShowItem;\n }\n },\n toggleEditMode() {\n if (this.subtask.type == 'office365') return this.$events.emit('show-unable-to-edit-office-task-modal', {\n mode: 'edit'\n });\n this.editMode = !this.editMode;\n },\n // Set refs for employee components in create mode\n setEmployeeRef(el, index) {\n if (el) {\n this.employeeRefs[index] = el;\n }\n },\n openDatepicker(ref) {\n this.$refs[ref].openMenu();\n },\n // Helper: Get employee by ID\n getEmployeeById(employeeId) {\n return this.enrichedEmployees.find(emp => emp.id === employeeId);\n },\n // Helper: Get employee full name\n getEmployeeFullName(employeeId) {\n const employee = this.getEmployeeById(employeeId);\n return employee ? `${employee.name} ${employee.surname}` : '';\n },\n // Helper: Get enriched employee data by ID\n getEnrichedEmployee(employeeId) {\n return this.enrichedEmployees.find(emp => emp.id === employeeId) || {};\n },\n // Helper: Get valid employees (with id and duration) in create mode\n getValidEmployees() {\n if (!this.subtask?.employees) return [];\n return this.subtask.employees.filter(emp => emp.id && emp.duration);\n },\n // Helper: Get timeblocks for specific employee\n getEmployeeTimeblocks(employeeId) {\n if (!this.timeblocks || !employeeId) return [];\n return this.timeblocks.filter(tb => tb.employee_id && Number(tb.employee_id) === Number(employeeId));\n },\n updateEmployeeTimeblocks(updatedTimeblocks, employeeId) {\n // Track deleted timeblocks (saved timeblocks that are no longer in the updated list)\n const updatedIds = new Set(updatedTimeblocks.filter(tb => tb.id).map(tb => tb.id));\n const deletedIds = this.timeblocks.filter(tb => tb.employee_id == employeeId && tb.id && !updatedIds.has(tb.id)).map(tb => tb.id).filter(id => !this.deletedTimeblockIds.includes(id));\n this.deletedTimeblockIds.push(...deletedIds);\n\n // Replace timeblocks for this employee\n const otherEmployeeTimeblocks = this.timeblocks.filter(tb => tb.employee_id != employeeId);\n const updatedWithEmployeeId = updatedTimeblocks.map(tb => ({\n ...tb,\n employee_id: employeeId\n }));\n this.timeblocks = [...otherEmployeeTimeblocks, ...updatedWithEmployeeId];\n },\n updateTimeblock(val, index, employeeId) {\n const employeeTimeblocks = this.getEmployeeTimeblocks(employeeId);\n const timeblock = employeeTimeblocks[index];\n if (!timeblock) return;\n\n // Find the actual index in the full timeblocks array\n const actualIndex = this.timeblocks.indexOf(timeblock);\n if (actualIndex !== -1) {\n this.timeblocks[actualIndex] = {\n ...val,\n employee_id: employeeId\n };\n }\n },\n addTimeblock(employeeId, afterIndex = -1) {\n const newTimeblock = {\n _clientId: `client-${++this.timeblockClientIdCounter}`,\n // Unique client-side ID\n date: new Date(),\n // Preset to current day\n starts_at_time: null,\n ends_at_time: null,\n employee_id: employeeId\n };\n\n // Get timeblocks for this employee\n const employeeTimeblocks = this.timeblocks.filter(tb => tb.employee_id == employeeId);\n if (afterIndex === -1 || afterIndex >= employeeTimeblocks.length - 1) {\n // Add at the end\n this.timeblocks.push(newTimeblock);\n } else {\n // Find the position in the full timeblocks array\n const timeblockToInsertAfter = employeeTimeblocks[afterIndex];\n const insertPosition = this.timeblocks.indexOf(timeblockToInsertAfter) + 1;\n this.timeblocks.splice(insertPosition, 0, newTimeblock);\n }\n },\n removeTimeblock(index, employeeId) {\n const employeeTimeblocks = this.getEmployeeTimeblocks(employeeId);\n const timeblock = employeeTimeblocks[index];\n if (!timeblock) return;\n\n // Find the actual index in the full timeblocks array\n const actualIndex = this.timeblocks.indexOf(timeblock);\n if (actualIndex !== -1) {\n this.timeblocks.splice(actualIndex, 1);\n }\n },\n // Handle remove employee - also removes their timeblocks\n handleRemoveEmployee() {\n this.pendingRemoveEmployeeId = this.subtask.employee_id;\n this.$refs.removeEmployeeModal.showModal();\n },\n removeEmployeeAtIndex(index) {\n this.pendingRemoveEmployeeIndex = index;\n this.$refs.removeEmployeeModal.showModal();\n },\n confirmRemoveEmployee() {\n // Handle edit mode (single employee removal)\n if (this.pendingRemoveEmployeeId !== undefined) {\n if (this.subtask.employee_id) {\n // Remove all timeblocks for this employee\n this.timeblocks = this.timeblocks.filter(tb => tb.employee_id != this.subtask.employee_id);\n }\n\n // Clear employee data in edit mode\n this.subtask.employee_id = null;\n this.subtask.duration = null;\n this.pendingRemoveEmployeeId = undefined;\n }\n // Handle create mode (multiple employees removal)\n else if (this.pendingRemoveEmployeeIndex !== undefined && Array.isArray(this.subtask.employees)) {\n const employee = this.subtask.employees[this.pendingRemoveEmployeeIndex];\n if (employee?.id) {\n // Remove all timeblocks for this employee\n this.timeblocks = this.timeblocks.filter(tb => tb.employee_id != employee.id);\n }\n\n // Remove employee from array\n this.subtask.employees.splice(this.pendingRemoveEmployeeIndex, 1);\n this.pendingRemoveEmployeeIndex = undefined;\n }\n },\n async showModal({\n subtask,\n editMode = false,\n mastertask = {}\n }) {\n this.isSaving = false;\n this.subtask = null;\n this.wasFormValidationTriggered = false; // Reset validation trigger\n\n // CRITICAL: Prevent v-dialog autofocus BEFORE modal opens\n this.preventInputFocus = true;\n this.visible = true;\n this.timeblocks = [];\n this.deletedTimeblockIds = []; // Reset deleted timeblock IDs\n this.employeeRefs = [];\n this.$nextTick(() => {\n this.v$.$reset();\n\n // Reset after modal is fully rendered and v-dialog autofocus has been blocked\n setTimeout(() => {\n this.preventInputFocus = false;\n }, 300);\n });\n try {\n if (subtask?.id) {\n const data = await this.$axios.get_auth_data(`v1/subtasks/${subtask.id}`);\n\n // Convert BE format timeblocks to internal format\n if (data.is_draft && data.employees && Array.isArray(data.employees)) {\n // Handle draft subtasks with employees array\n const draftTimeblocks = [];\n data.employees = data.employees.map(employee => {\n const convertedTimeblocks = (employee.timeblocks || []).map(tb => this._convertTimeblockToInternal(tb, employee.id)).filter(Boolean);\n draftTimeblocks.push(...convertedTimeblocks);\n return {\n ...employee,\n timeblocks: convertedTimeblocks\n };\n });\n this.timeblocks = draftTimeblocks;\n\n // Ensure employees array has proper structure for editing\n const lastEmployee = data.employees[data.employees.length - 1];\n if (lastEmployee && (lastEmployee.id || lastEmployee.duration)) {\n data.employees.push({});\n }\n } else {\n // Handle published subtasks with root-level timeblocks\n this.timeblocks = (data.timeblocks || []).map(tb => this._convertTimeblockToInternal(tb, data.employee_id)).filter(Boolean);\n }\n\n // Ensure at least one timeblock exists for edit mode (non-draft single employee)\n if (data.employee_id && !data.is_draft && this.timeblocks.length === 0) {\n this.addTimeblock(data.employee_id);\n }\n if (!data.deadline) {\n this.subtask = this._enrichTask(data);\n this.editMode = editMode || !data.id;\n\n // Set Quill editor content after subtask is loaded and editMode is set\n this.$nextTick(() => {\n if (this.$refs['description']) {\n this.$refs['description'].setHTML(this.subtask.description || '');\n }\n });\n return;\n }\n const splittedDeadline = data.deadline.split(' ');\n data.deadline = splittedDeadline[0];\n data._deadline_time = splittedDeadline[1];\n this.subtask = this._enrichTask(data);\n } else {\n const savedSubtask = localStorage.getItem('subtaskData');\n const savedTimeblocks = localStorage.getItem('subtaskTimeblocks');\n try {\n if (savedSubtask) {\n const parsedSubtask = JSON.parse(savedSubtask);\n this.subtask = parsedSubtask;\n // If the parsed result is not an object, reset to default\n if (typeof this.subtask !== 'object' || this.subtask === null) {\n throw new Error('Parsed subtask is not an object');\n }\n\n // Load timeblocks from localStorage if they exist\n if (savedTimeblocks) {\n try {\n let parsedTimeblocks = JSON.parse(savedTimeblocks);\n\n // Filter out timeblocks that are not valid\n parsedTimeblocks = parsedTimeblocks.filter(tb => tb.employee_id && tb.starts_at_time && tb.ends_at_time);\n if (Array.isArray(parsedTimeblocks)) {\n this.timeblocks = parsedTimeblocks.map(tb => ({\n ...tb,\n _clientId: tb._clientId || `client-${++this.timeblockClientIdCounter}`,\n date: tb.date ? new Date(tb.date) : null\n }));\n } else {\n this.timeblocks = [];\n }\n } catch (e) {\n console.error('Error parsing saved timeblocks:', e);\n this.timeblocks = [];\n }\n }\n this.$nextTick(() => {\n this.$refs['description']?.setHTML(this.subtask.description || '');\n });\n } else {\n throw new Error('subtaskData is null or undefined');\n }\n } catch (error) {\n // Initialize with current logged-in employee\n const currentUserId = this.$store.getters['auth/user']?.id;\n const currentEmployee = currentUserId ? this.enrichedEmployees.find(emp => emp.id === currentUserId) : null;\n this.subtask = {\n master_task: mastertask,\n employees: currentEmployee ? [{\n id: currentEmployee.id,\n duration: null\n }] : [{}],\n _deadline_time: '17:00'\n };\n\n // Add a timeblock for the current user if they exist\n if (currentUserId) {\n this.addTimeblock(currentUserId);\n }\n }\n if (subtask?.deadline && subtask._deadline_time && subtask.employee_id) {\n const employee = this.enrichedEmployees.find(employee => employee.id == subtask.employee_id);\n\n // Get current logged-in user\n const currentUserId = this.$store.getters['auth/user']?.id;\n const isCurrentUser = currentUserId === subtask.employee_id;\n\n // If the clicked employee is different from current user, add current user first as empty slot\n if (!isCurrentUser) {\n this.subtask.employees = [{\n id: currentUserId,\n duration: null\n },\n // Empty current user slot\n employee // The clicked employee with data\n ];\n } else {\n // Same user or no current user, just add the clicked employee\n this.subtask.employees = [employee];\n }\n this.subtask.deadline = subtask.deadline;\n this.subtask._deadline_time = subtask._deadline_time;\n setTimeout(() => {\n this.timeblocks = [...(!isCurrentUser ? [{\n _clientId: `client-${++this.timeblockClientIdCounter}`,\n date: new Date(subtask.deadline),\n starts_at_time: subtask._deadline_time,\n ends_at_time: null,\n employee_id: currentUserId\n }] : []), {\n _clientId: `client-${++this.timeblockClientIdCounter}`,\n date: new Date(subtask.deadline),\n starts_at_time: subtask._deadline_time,\n ends_at_time: null,\n employee_id: subtask.employee_id\n }];\n }, 500);\n }\n if (subtask?.master_task_id && subtask?.project_code) {\n this.subtask.master_task_id = subtask.master_task_id;\n this.subtask.project_code = subtask.project_code;\n }\n }\n this.editMode = editMode || !this.subtask.id;\n\n // Set Quill editor content after editMode is set\n // This ensures the description is loaded when opening in edit mode\n if (this.editMode) {\n this.$nextTick(() => {\n if (this.$refs['description']) {\n this.$refs['description'].setHTML(this.subtask?.description || '');\n }\n });\n }\n } catch (error) {\n this.$toast.error(this.$parseError(error));\n }\n },\n deleteTimeblock(i) {\n this.subtask.timeblocks.splice(i, 1);\n },\n closeModal() {\n this.visible = false;\n this.$router.replace({\n name: this.$route.name\n });\n },\n async validate(concept = false) {\n if (concept === false) {\n const employeesValid = await this._validateEmployees();\n const timeblocksValid = await this._validateTimeblocks();\n if (!(await this.v$.$validate())) return;\n if (!employeesValid || !timeblocksValid) return;\n return true;\n } else {\n this.v$.subtask.master_task_id.$touch();\n return this.v$.subtask.master_task_id.$errors.length === 0;\n }\n },\n async save(concept = false) {\n this.v$.$reset();\n this.wasFormValidationTriggered = true;\n if (!(await this.validate(concept))) return;\n this.subtask.description = this.$refs['description'].getHTML();\n this._mergeDeadlineTimeDate();\n try {\n this.isSaving = true;\n\n // Concept tasks may not have a deadline time set\n this.subtask.deadline = this.subtask.deadline ? moment__WEBPACK_IMPORTED_MODULE_16___default()(this.subtask.deadline).format('YYYY-MM-DD HH:mm:SS') : null;\n if (this.subtask?.id) {\n const timesheets = this.subtask.timesheets.map(timesheet => {\n delete timesheet.employee_name;\n return timesheet;\n });\n\n // Convert timeblocks from internal format to BE format for update\n // Filter out completely empty timeblocks AND timeblocks without all required fields\n // Pre draft s multiple employees preskočiť - timeblocks sú v employees array\n const timeblocks = this.subtask.is_draft && this.isDraftWithMultipleEmployees ? [] : this.timeblocks.filter(timeblock => timeblock.date && timeblock.starts_at_time && timeblock.ends_at_time && Number(timeblock.employee_id) === Number(this.subtask.employee_id)) // Only send complete timeblocks for this employee\n .map(timeblock => {\n const dateStr = moment__WEBPACK_IMPORTED_MODULE_16___default()(timeblock.date).format('YYYY-MM-DD');\n return {\n id: timeblock.id || null,\n start: `${dateStr} ${timeblock.starts_at_time}:00`,\n end: `${dateStr} ${timeblock.ends_at_time}:00`,\n is_finished: timeblock.is_finished || 0\n };\n });\n const payload = {\n ...this.subtask,\n timesheets,\n timeblocks\n };\n\n // For drafts with multiple employees, include employees array\n if (this.subtask.is_draft && this.isDraftWithMultipleEmployees) {\n const validEmployees = this._filterValidEmployees(this.subtask.employees, concept);\n\n // Assign timeblocks to each employee\n validEmployees.forEach(employee => {\n const employeeTimeblocks = this._getEmployeeTimeblocks(employee.id, true);\n employee.timeblocks = employeeTimeblocks.map(tb => ({\n start: `${moment__WEBPACK_IMPORTED_MODULE_16___default()(tb.date).format('YYYY-MM-DD')} ${tb.starts_at_time}:00`,\n end: `${moment__WEBPACK_IMPORTED_MODULE_16___default()(tb.date).format('YYYY-MM-DD')} ${tb.ends_at_time}:00`,\n id: tb.id || null\n }));\n });\n payload.employees = validEmployees;\n }\n if (concept) {\n payload.is_draft = 1;\n } else {\n payload.is_draft = 0;\n }\n const {\n subtask\n } = await this.$axios.patch_auth_form(`v1/subtasks/${this.subtask.id}`, payload);\n localStorage.removeItem('subtaskData');\n localStorage.removeItem('subtaskTimeblocks');\n this.$store.commit('tm/update_subtask', subtask);\n this.$events.emit('on-subtask-edited', this.subtask);\n } else {\n const validEmployees = this._filterValidEmployees(this.subtask.employees, concept);\n\n // Assign timeblocks to each employee based on employee_id\n // Filter out empty/incomplete timeblocks - only send fully filled timeblocks\n validEmployees.forEach(employee => {\n const employeeTimeblocks = this._getEmployeeTimeblocks(employee.id, true);\n employee.timeblocks = employeeTimeblocks.map(timeblock => {\n return {\n start: `${moment__WEBPACK_IMPORTED_MODULE_16___default()(timeblock.date).format('YYYY-MM-DD')} ${timeblock.starts_at_time}:00`,\n end: `${moment__WEBPACK_IMPORTED_MODULE_16___default()(timeblock.date).format('YYYY-MM-DD')} ${timeblock.ends_at_time}:00`,\n id: null\n };\n });\n });\n const subtaskCopy = {\n ...this.subtask,\n employees: validEmployees\n };\n if (concept) {\n subtaskCopy.is_draft = true;\n subtaskCopy.employees = subtaskCopy.employees?.length > 0 ? subtaskCopy.employees : [{\n id: this.$store.getters['auth/user']?.id,\n duration: 0\n }];\n }\n delete subtaskCopy._master_task;\n const {\n subtasks\n } = await this.$axios.post_auth(`v1/mastertasks/${this.subtask.master_task_id}/subtasks`, subtaskCopy);\n localStorage.removeItem('subtaskData');\n localStorage.removeItem('subtaskTimeblocks');\n this.subtask.id = subtasks[0].id;\n subtasks.forEach(subtask => {\n this.$store.commit('tm/update_subtask', subtask);\n this.$events.emit('on-subtask-edited', this.subtask);\n });\n this.$events.emit('task-created');\n this.$events.emit('close-both-modals');\n }\n this.closeModal();\n } catch (error) {\n console.log('error', error);\n this.$toast.error(this.$parseError(error));\n } finally {\n this.isSaving = false;\n }\n },\n openDeleteTaskModal(subtask) {\n if (subtask.type == 'office365') return this.$events.emit('show-unable-to-edit-office-task-modal', {\n mode: 'delete'\n });\n this.$events.emit('show-delete-task-modal', {\n subtask\n });\n },\n showCompleteTaskModal() {\n this.$events.emit('show-complete-task-modal', {\n subtask: this.subtask\n });\n if (this.subtask.deadline) this.subtask.deadline = _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_15__[\"default\"].formatDateTimeForBackend(this.subtask.deadline);\n },\n filesUploaded(files) {\n this.subtask.files = files;\n },\n updateSubtask(subtask) {\n this.subtask = subtask;\n },\n _mergeDeadlineTimeDate() {\n // Override for concept tasks which may not have a deadline time set (check for invalid date)\n if (isNaN(new Date(this.subtask.deadline).getTime()) || !this.subtask._deadline_time) {\n this.subtask.deadline = null;\n } else {\n const date = new Date(this.subtask.deadline);\n const timeParts = this.subtask._deadline_time.split(':');\n date.setHours(parseInt(timeParts[0]));\n date.setMinutes(parseInt(timeParts[1]));\n this.subtask.deadline = date;\n }\n },\n _filterValidEmployees(employees, isConcept) {\n // Filter employees based on whether it's a concept/draft or published task\n // For concepts: only require id (duration can be null/0)\n // For published tasks: require both id and duration\n if (!Array.isArray(employees)) return [];\n return employees.filter(employee => {\n if (isConcept) {\n return employee.id; // Only require ID for concepts/drafts\n }\n return employee.id && employee.duration; // Require both for published tasks\n });\n },\n _getEmployeeTimeblocks(employeeId, requireComplete = true) {\n // Get timeblocks for a specific employee with proper type handling\n // Use Number() conversion to avoid type mismatch issues (string vs number)\n const filtered = this.timeblocks.filter(tb => {\n const idsMatch = Number(tb.employee_id) === Number(employeeId);\n if (!requireComplete) {\n return idsMatch;\n }\n\n // For complete timeblocks, also require date and time fields\n return idsMatch && tb.date && tb.starts_at_time && tb.ends_at_time;\n });\n return filtered;\n },\n async _validateEmployees() {\n if (this.subtask.id && !this.subtask.is_draft) {\n // For existing subtasks, at least one employee is required\n const hasEmployee = !!(this.subtask.employee_id && this.subtask.duration);\n return hasEmployee;\n } else {\n let valid = true;\n\n // Validate ALL employee component refs (this will show errors on inputs)\n for (let i = 0; i < this.employeeRefs.length; i++) {\n const employeeRef = this.employeeRefs[i];\n\n // Validate employees that have any data (partial or complete)\n if (employeeRef && typeof employeeRef.validate === 'function') {\n if (!(await employeeRef.validate())) {\n valid = false;\n }\n }\n }\n return valid;\n }\n },\n async _validateTimeblocks() {\n // Date alone is valid. Validation only applies if start OR end time is filled.\n // If start OR end is filled, then ALL fields (date, start, end) are required.\n let valid = true;\n for (const timeblock of this.timeblocks) {\n const hasStart = !!timeblock.starts_at_time;\n const hasEnd = !!timeblock.ends_at_time;\n const hasAnyTime = hasStart || hasEnd;\n\n // If no time data (start/end), timeblock is valid (date alone is OK)\n if (!hasAnyTime) {\n continue;\n }\n\n // If start OR end is filled, ALL fields are required\n const hasDate = !!timeblock.date;\n if (!hasDate || !hasStart || !hasEnd) {\n valid = false;\n break;\n }\n\n // Validate that end time is after start time\n const dateStr = moment__WEBPACK_IMPORTED_MODULE_16___default()(timeblock.date).format('YYYY-MM-DD');\n const start = moment__WEBPACK_IMPORTED_MODULE_16___default()(`${dateStr} ${timeblock.starts_at_time}`, 'YYYY-MM-DD HH:mm');\n const end = moment__WEBPACK_IMPORTED_MODULE_16___default()(`${dateStr} ${timeblock.ends_at_time}`, 'YYYY-MM-DD HH:mm');\n if (end.isSameOrBefore(start)) {\n valid = false;\n break;\n }\n }\n return valid;\n },\n _enrichTask(subtask) {\n return {\n ...subtask,\n _created_by: this.enrichedEmployees.find(employee => employee.id == subtask.created_by),\n _employee: this.enrichedEmployees.find(employee => employee.id == subtask.employee_id),\n _master_task: this.mastertasks.find(mastertask => mastertask.id == subtask.master_task_id)\n };\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/task/z-task-modal.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); /***/ }), @@ -1362,7 +1362,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; }\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n\nconst _hoisted_1 = {\n key: 0,\n class: \"employee__timeblocks\"\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", {\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)([\"employee\", {\n 'employee--has-background': $props.hasBackground\n }])\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"AEmployeeSelect\"], {\n ref: \"employeeSelectRef\",\n modelValue: $setup.employeeDataLocal,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => $setup.employeeDataLocal = $event),\n \"custom-filter\": $props.customFilter,\n required: $props.required,\n onClearEmployee: $setup.handleClearEmployee\n }, null, 8 /* PROPS */, [\"modelValue\", \"custom-filter\", \"required\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" Timeblocks Timeline \"), $setup.selectedEmployee ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", _hoisted_1, [((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)($props.timeblocks, (timeblock, index) => {\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)($setup[\"AEmployeeTimeblock\"], {\n key: `timeblock-${index}`,\n ref_for: true,\n ref: el => $setup.setTimeblockRef(el, index),\n \"model-value\": timeblock,\n employee: $setup.selectedEmployee,\n \"all-employee-timeblocks\": $props.timeblocks,\n \"all-timeblocks\": $setup.allTimeblocksForCurrentEmployee,\n \"deleted-timeblock-ids\": $props.deletedTimeblockIds,\n \"current-index\": index,\n deletable: $props.timeblocks.length > 1,\n index: index,\n \"onUpdate:modelValue\": val => $setup.handleUpdateTimeblock(index, val),\n onAddTimeblock: $event => $setup.handleAddTimeblock(index),\n onRemoveTimeblock: $event => $setup.handleRemoveTimeblock(index)\n }, null, 8 /* PROPS */, [\"model-value\", \"employee\", \"all-employee-timeblocks\", \"all-timeblocks\", \"deleted-timeblock-ids\", \"current-index\", \"deletable\", \"index\", \"onUpdate:modelValue\", \"onAddTimeblock\", \"onRemoveTimeblock\"]);\n }), 128 /* KEYED_FRAGMENT */))])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true)], 2 /* CLASS */);\n}\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/task/_components/employees/a-employee.vue?./node_modules/webpack-plugin-vuetify/dist/scriptLoader.js!./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use%5B1%5D!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B5%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); +eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; }\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n\nconst _hoisted_1 = {\n key: 0,\n class: \"employee__timeblocks\"\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", {\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)([\"employee\", {\n 'employee--has-background': $props.hasBackground\n }])\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"AEmployeeSelect\"], {\n ref: \"employeeSelectRef\",\n modelValue: $setup.employeeDataLocal,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => $setup.employeeDataLocal = $event),\n \"custom-filter\": $props.customFilter,\n required: $props.required,\n onClearEmployee: $setup.handleClearEmployee\n }, null, 8 /* PROPS */, [\"modelValue\", \"custom-filter\", \"required\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" Timeblocks Timeline \"), $setup.selectedEmployee ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", _hoisted_1, [((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)($props.timeblocks, (timeblock, index) => {\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)($setup[\"AEmployeeTimeblock\"], {\n key: timeblock._clientId || timeblock.id || `timeblock-${index}`,\n ref_for: true,\n ref: el => $setup.setTimeblockRef(el, index),\n \"model-value\": timeblock,\n employee: $setup.selectedEmployee,\n \"all-employee-timeblocks\": $props.timeblocks,\n \"all-timeblocks\": $setup.allTimeblocksForCurrentEmployee,\n \"deleted-timeblock-ids\": $props.deletedTimeblockIds,\n \"current-index\": index,\n deletable: $props.timeblocks.length > 1,\n index: index,\n \"onUpdate:modelValue\": val => $setup.handleUpdateTimeblock(index, val),\n onAddTimeblock: $event => $setup.handleAddTimeblock(index),\n onRemoveTimeblock: $event => $setup.handleRemoveTimeblock(index)\n }, null, 8 /* PROPS */, [\"model-value\", \"employee\", \"all-employee-timeblocks\", \"all-timeblocks\", \"deleted-timeblock-ids\", \"current-index\", \"deletable\", \"index\", \"onUpdate:modelValue\", \"onAddTimeblock\", \"onRemoveTimeblock\"]);\n }), 128 /* KEYED_FRAGMENT */))])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true)], 2 /* CLASS */);\n}\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/task/_components/employees/a-employee.vue?./node_modules/webpack-plugin-vuetify/dist/scriptLoader.js!./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use%5B1%5D!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B5%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); /***/ }), diff --git a/app/src/plugins/tm@modal/task/_components/employees/a-employee.vue b/app/src/plugins/tm@modal/task/_components/employees/a-employee.vue index 69b9a19..cf8f9a7 100644 --- a/app/src/plugins/tm@modal/task/_components/employees/a-employee.vue +++ b/app/src/plugins/tm@modal/task/_components/employees/a-employee.vue @@ -12,7 +12,7 @@
({ ...tb, + _clientId: + tb._clientId || + `client-${++this.timeblockClientIdCounter}`, date: tb.date ? new Date(tb.date) : null, })); } else { @@ -952,6 +961,7 @@ export default { ...(!isCurrentUser ? [ { + _clientId: `client-${++this.timeblockClientIdCounter}`, date: new Date(subtask.deadline), starts_at_time: subtask._deadline_time, ends_at_time: null, @@ -960,6 +970,7 @@ export default { ] : []), { + _clientId: `client-${++this.timeblockClientIdCounter}`, date: new Date(subtask.deadline), starts_at_time: subtask._deadline_time, ends_at_time: null, From c5672c94f2e6e81908e5734f8d899284048ec85d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matej=20Glasn=C3=A1k?= Date: Mon, 26 Jan 2026 13:12:26 +0100 Subject: [PATCH 2/3] refactor(timeline): updated modal for adding timeblock to correctly display other (draft) timeblocks when editing subtask draft --- .../plugins/tm@_utils/useEmployeeTimeline.ts | 116 +++++++++++------- .../_components/a-task-timeblocks.vue | 27 +++- .../employees/a-employee-timeblock.vue | 13 +- .../task/_components/employees/a-employee.vue | 3 + .../task/_components/z-task-readonly-info.vue | 1 + 5 files changed, 110 insertions(+), 50 deletions(-) diff --git a/app/src/plugins/tm@_utils/useEmployeeTimeline.ts b/app/src/plugins/tm@_utils/useEmployeeTimeline.ts index 5ecbb7a..8a6333e 100644 --- a/app/src/plugins/tm@_utils/useEmployeeTimeline.ts +++ b/app/src/plugins/tm@_utils/useEmployeeTimeline.ts @@ -25,7 +25,7 @@ export function useEmployeeTimeline( currentTimeblock: Ref, otherLocalTimeblocks?: Ref, editingBlockerId?: Ref, - showDraftTasks?: Ref, + draftTimeblocks?: Ref, ) { // Fetch employee's tasks for the selected date const { @@ -64,61 +64,60 @@ export function useEmployeeTimeline( }), }); - const { - data: conceptTasksData, - isLoading: conceptTasksLoading, - error: conceptTasksError, - refetch: conceptTasksRefetch, - } = useQuery({ - queryKey: computed(() => [ - 'concept-employee-timeline', - unref(employee)?.id, - unref(date) ? moment(unref(date)).format('YYYY-MM-DD') : null, - ]), - queryFn: async () => { - const emp = unref(employee); - const d = unref(date); + // const { + // data: conceptTasksData, + // isLoading: conceptTasksLoading, + // error: conceptTasksError, + // refetch: conceptTasksRefetch, + // } = useQuery({ + // queryKey: computed(() => [ + // 'concept-employee-timeline', + // unref(employee)?.id, + // unref(date) ? moment(unref(date)).format('YYYY-MM-DD') : null, + // ]), + // queryFn: async () => { + // const emp = unref(employee); + // const d = unref(date); - if (!emp?.id || !d) { - return null; - } + // if (!emp?.id || !d) { + // return null; + // } - const dateStr = moment(d).format('YYYY-MM-DD'); - const queryParams = new URLSearchParams({ - start: dateStr, - end: dateStr, - employee_id: emp.id.toString(), - type: 'draft', - }).toString(); + // const dateStr = moment(d).format('YYYY-MM-DD'); + // const queryParams = new URLSearchParams({ + // start: dateStr, + // end: dateStr, + // employee_id: emp.id.toString(), + // type: 'draft', + // }).toString(); - const response = await axios.get_auth(`v1/subtasks?${queryParams}`); - return response; - }, - enabled: computed(() => { - const emp = unref(employee); - const d = unref(date); - return !!(emp?.id && d); - }), - }); + // const response = await axios.get_auth(`v1/subtasks?${queryParams}`); + // return response; + // }, + // enabled: computed(() => { + // const emp = unref(employee); + // const d = unref(date); + // return !!(emp?.id && d); + // }), + // }); // Generate timeline tasks from fetched data const timelineTasks = computed(() => { const data = unref(tasksData); - const conceptData = unref(conceptTasksData); + // const conceptData = unref(conceptTasksData); const emp = unref(employee); const d = unref(date); const excludeBlockerId = editingBlockerId ? unref(editingBlockerId) : null; - const includeDrafts = showDraftTasks ? unref(showDraftTasks) : false; + const draftTbs = draftTimeblocks ? unref(draftTimeblocks) : []; - if (!data || !conceptData || !emp || !d) { + if (!data || !emp || !d) { return []; } const subtasks = [ ...(data.subtasks || []), ...(data.blockers || []), - // Only include concept tasks if showDraftTasks is true - ...(includeDrafts ? (conceptData.subtasks || []) : []), + // ...(conceptData.subtasks || []), ]; const selectedDateStr = moment(d).format('YYYY-MM-DD'); @@ -221,6 +220,39 @@ export function useEmployeeTimeline( } }); + // Process draft timeblocks from other employees in the same draft subtask + draftTbs.forEach((timeblock: any) => { + // Skip if timeblock doesn't have required fields + if (!timeblock.start || !timeblock.end) { + return; + } + + const timeblockDateStr = moment(timeblock.start).format('YYYY-MM-DD'); + + // Only include timeblocks for the selected date + if (timeblockDateStr === selectedDateStr) { + const task = { + id: null, // Draft timeblock doesn't have a subtask ID + start: new Date(timeblock.start), + end: new Date(timeblock.end), + master_task: null, + date: new Date(timeblock.start), + project_code: null, + subtask: null, + is_draft: true, + blocker: undefined, + type: 'draft_timeblock', + _timeblock_id: timeblock.id || null, + _timeblock_is_finished: timeblock.is_finished || false, + _real_start: new Date(timeblock.start), + _real_end: new Date(timeblock.end), + _employee_id: timeblock.employee_id, + }; + + tasks.push(task); + } + }); + return tasks; } catch (error) { console.error('Error generating timeline tasks:', error); @@ -328,9 +360,9 @@ export function useEmployeeTimeline( error, refetch, - conceptTasksLoading, - conceptTasksError, - conceptTasksRefetch, + // conceptTasksLoading, + // conceptTasksError, + // conceptTasksRefetch, // Timeline data timelineTasks, diff --git a/app/src/plugins/tm@modal/task/_components/_components/a-task-timeblocks.vue b/app/src/plugins/tm@modal/task/_components/_components/a-task-timeblocks.vue index 94c561e..5a9febf 100644 --- a/app/src/plugins/tm@modal/task/_components/_components/a-task-timeblocks.vue +++ b/app/src/plugins/tm@modal/task/_components/_components/a-task-timeblocks.vue @@ -117,7 +117,7 @@ :employee="employee" :deletable="false" :index="0" - :show-draft-tasks="!!subtask.is_draft" + :draft-timeblocks="draftTimeblocks" /> @@ -215,6 +215,11 @@ export default { type: Object, required: true, }, + + isDraft: { + type: Boolean, + default: false, + }, }, emits: ['update-subtask'], @@ -261,6 +266,26 @@ export default { ); }, + // Get draft timeblocks for the current employee in backend format for timeline + draftTimeblocks() { + if (!this.isDraft) { + return []; + } + + // Convert timeblocks from internal format to backend format for timeline + return this.timeblocks + .filter((tb) => tb.date && tb.starts_at_time && tb.ends_at_time) + .map((tb) => { + const dateStr = moment(tb.date).format('YYYY-MM-DD'); + return { + ...tb, + start: `${dateStr} ${tb.starts_at_time}:00`, + end: `${dateStr} ${tb.ends_at_time}:00`, + employee_id: this.subtask.employee_id, + }; + }); + }, + // Hour width based on screen size hourWidth() { return window.innerWidth <= 768 diff --git a/app/src/plugins/tm@modal/task/_components/employees/a-employee-timeblock.vue b/app/src/plugins/tm@modal/task/_components/employees/a-employee-timeblock.vue index 1c73a2d..6c31a79 100644 --- a/app/src/plugins/tm@modal/task/_components/employees/a-employee-timeblock.vue +++ b/app/src/plugins/tm@modal/task/_components/employees/a-employee-timeblock.vue @@ -77,7 +77,7 @@ interface Props { currentIndex?: number; deletable?: boolean; index?: number; - showDraftTasks?: boolean; // Whether to show draft/concept tasks on timeline + draftTimeblocks?: TimeblockData[]; // Draft timeblocks from all employees in draft subtask } const props = withDefaults(defineProps(), { @@ -88,7 +88,7 @@ const props = withDefaults(defineProps(), { currentIndex: 0, deletable: false, index: 0, - showDraftTasks: false, + draftTimeblocks: () => [], }); const emit = defineEmits<{ @@ -240,7 +240,7 @@ const otherTimeblocksForSameDate = computed(() => { // Use timeline composable const editingBlockerIdRef = computed(() => props.editingBlockerId); -const showDraftTasksRef = computed(() => props.showDraftTasks); +const draftTimeblocksRef = computed(() => props.draftTimeblocks); const { isLoading, @@ -249,14 +249,13 @@ const { freeTime: _freeTime, timeblockDuration, refetch, - conceptTasksRefetch, } = useEmployeeTimeline( employeeRef, dateRef, timeblockRef, otherTimeblocksForSameDate, editingBlockerIdRef, - showDraftTasksRef, + draftTimeblocksRef, ); // Force refetch when date changes @@ -265,14 +264,14 @@ watch( () => { if (props.modelValue.date && props.employee?.id) { refetch(); - conceptTasksRefetch(); + // conceptTasksRefetch(); } }, ); onMounted(() => { refetch(); - conceptTasksRefetch(); + // conceptTasksRefetch(); }); // All tasks from timelineTasks are already filtered for the selected date diff --git a/app/src/plugins/tm@modal/task/_components/employees/a-employee.vue b/app/src/plugins/tm@modal/task/_components/employees/a-employee.vue index cf8f9a7..fea7278 100644 --- a/app/src/plugins/tm@modal/task/_components/employees/a-employee.vue +++ b/app/src/plugins/tm@modal/task/_components/employees/a-employee.vue @@ -19,6 +19,7 @@ :all-employee-timeblocks="timeblocks" :all-timeblocks="allTimeblocksForCurrentEmployee" :deleted-timeblock-ids="deletedTimeblockIds" + :draft-timeblocks="draftTimeblocks" :current-index="index" :deletable="timeblocks.length > 1" :index="index" @@ -46,6 +47,7 @@ interface Props { timeblocks?: TimeblockData[]; allTimeblocks?: TimeblockData[]; // All timeblocks from all employees deletedTimeblockIds?: number[]; // IDs of saved timeblocks that have been deleted + draftTimeblocks?: TimeblockData[]; // Draft timeblocks from all employees in draft subtask customFilter?: CustomFilterFunction; hasBackground?: boolean; required?: boolean; @@ -55,6 +57,7 @@ const props = withDefaults(defineProps(), { timeblocks: () => [], allTimeblocks: () => [], deletedTimeblockIds: () => [], + draftTimeblocks: () => [], customFilter: undefined, hasBackground: true, required: false, 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 608d20b..b82b924 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 @@ -24,6 +24,7 @@ {\n if (!_utils_js__WEBPACK_IMPORTED_MODULE_5__.isServer && window.addEventListener) {\n const listener = () => onFocus();\n window.addEventListener(\"visibilitychange\", listener, false);\n return () => {\n window.removeEventListener(\"visibilitychange\", listener);\n };\n }\n return;\n };\n }\n onSubscribe() {\n if (!(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _cleanup)[_cleanup]) {\n this.setEventListener((0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _setup)[_setup]);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _cleanup)[_cleanup]?.();\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _cleanup)[_cleanup] = void 0;\n }\n }\n setEventListener(setup) {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _setup)[_setup] = setup;\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _cleanup)[_cleanup]?.();\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _cleanup)[_cleanup] = setup(focused => {\n if (typeof focused === \"boolean\") {\n this.setFocused(focused);\n } else {\n this.onFocus();\n }\n });\n }\n setFocused(focused) {\n const changed = (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _focused)[_focused] !== focused;\n if (changed) {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _focused)[_focused] = focused;\n this.onFocus();\n }\n }\n onFocus() {\n const isFocused = this.isFocused();\n this.listeners.forEach(listener => {\n listener(isFocused);\n });\n }\n isFocused() {\n if (typeof (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _focused)[_focused] === \"boolean\") {\n return (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _focused)[_focused];\n }\n return globalThis.document?.visibilityState !== \"hidden\";\n }\n});\nvar focusManager = new FocusManager();\n\n\n//# sourceURL=webpack://jandl/./node_modules/@tanstack/query-core/build/modern/focusManager.js?\n}"); +eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ FocusManager: function() { return /* binding */ FocusManager; },\n/* harmony export */ focusManager: function() { return /* binding */ focusManager; }\n/* harmony export */ });\n/* harmony import */ var _Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js */ \"./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js\");\n/* harmony import */ var _Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js */ \"./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ \"./node_modules/core-js/modules/esnext.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/esnext.iterator.for-each.js */ \"./node_modules/core-js/modules/esnext.iterator.for-each.js\");\n/* harmony import */ var _subscribable_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./subscribable.js */ \"./node_modules/@tanstack/query-core/build/modern/subscribable.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utils.js */ \"./node_modules/@tanstack/query-core/build/modern/utils.js\");\n\n\nvar _focused, _cleanup, _setup;\n\n\n// src/focusManager.ts\n\n\nvar FocusManager = (_focused = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"focused\"), _cleanup = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"cleanup\"), _setup = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"setup\"), class FocusManager extends _subscribable_js__WEBPACK_IMPORTED_MODULE_4__.Subscribable {\n constructor() {\n super();\n Object.defineProperty(this, _focused, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _cleanup, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _setup, {\n writable: true,\n value: void 0\n });\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _setup)[_setup] = onFocus => {\n if (!_utils_js__WEBPACK_IMPORTED_MODULE_5__.isServer && window.addEventListener) {\n const listener = () => onFocus();\n window.addEventListener(\"visibilitychange\", listener, false);\n return () => {\n window.removeEventListener(\"visibilitychange\", listener);\n };\n }\n return;\n };\n }\n onSubscribe() {\n if (!(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _cleanup)[_cleanup]) {\n this.setEventListener((0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _setup)[_setup]);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _cleanup)[_cleanup]?.();\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _cleanup)[_cleanup] = void 0;\n }\n }\n setEventListener(setup) {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _setup)[_setup] = setup;\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _cleanup)[_cleanup]?.();\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _cleanup)[_cleanup] = setup(focused => {\n if (typeof focused === \"boolean\") {\n this.setFocused(focused);\n } else {\n this.onFocus();\n }\n });\n }\n setFocused(focused) {\n const changed = (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _focused)[_focused] !== focused;\n if (changed) {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _focused)[_focused] = focused;\n this.onFocus();\n }\n }\n onFocus() {\n const isFocused = this.isFocused();\n this.listeners.forEach(listener => {\n listener(isFocused);\n });\n }\n isFocused() {\n if (typeof (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _focused)[_focused] === \"boolean\") {\n return (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _focused)[_focused];\n }\n return globalThis.document?.visibilityState !== \"hidden\";\n }\n});\nvar focusManager = new FocusManager();\n\n\n//# sourceURL=webpack://jandl/./node_modules/@tanstack/query-core/build/modern/focusManager.js?\n}"); /***/ }), @@ -1918,7 +1918,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa /***/ (function(__unused_webpack___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 */ Mutation: function() { return /* binding */ Mutation; },\n/* harmony export */ getDefaultState: function() { return /* binding */ getDefaultState; }\n/* harmony export */ });\n/* harmony import */ var _Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js */ \"./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js\");\n/* harmony import */ var _Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js */ \"./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_2__ = __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_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ \"./node_modules/core-js/modules/esnext.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/esnext.iterator.filter.js */ \"./node_modules/core-js/modules/esnext.iterator.filter.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/esnext.iterator.for-each.js */ \"./node_modules/core-js/modules/esnext.iterator.for-each.js\");\n/* harmony import */ var _notifyManager_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./notifyManager.js */ \"./node_modules/@tanstack/query-core/build/modern/notifyManager.js\");\n/* harmony import */ var _removable_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./removable.js */ \"./node_modules/@tanstack/query-core/build/modern/removable.js\");\n/* harmony import */ var _retryer_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./retryer.js */ \"./node_modules/@tanstack/query-core/build/modern/retryer.js\");\n\n\nvar _client, _observers, _mutationCache, _retryer, _dispatch;\n\n\n\n\n// src/mutation.ts\n\n\n\nvar Mutation = (_client = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"client\"), _observers = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"observers\"), _mutationCache = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"mutationCache\"), _retryer = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"retryer\"), _dispatch = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"dispatch\"), class Mutation extends _removable_js__WEBPACK_IMPORTED_MODULE_7__.Removable {\n constructor(config) {\n super();\n Object.defineProperty(this, _dispatch, {\n value: _dispatch2\n });\n Object.defineProperty(this, _client, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _observers, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _mutationCache, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _retryer, {\n writable: true,\n value: void 0\n });\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _client)[_client] = config.client;\n this.mutationId = config.mutationId;\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutationCache)[_mutationCache] = config.mutationCache;\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _observers)[_observers] = [];\n this.state = config.state || getDefaultState();\n this.setOptions(config.options);\n this.scheduleGc();\n }\n setOptions(options) {\n this.options = options;\n this.updateGcTime(this.options.gcTime);\n }\n get meta() {\n return this.options.meta;\n }\n addObserver(observer) {\n if (!(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _observers)[_observers].includes(observer)) {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _observers)[_observers].push(observer);\n this.clearGcTimeout();\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutationCache)[_mutationCache].notify({\n type: \"observerAdded\",\n mutation: this,\n observer\n });\n }\n }\n removeObserver(observer) {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _observers)[_observers] = (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _observers)[_observers].filter(x => x !== observer);\n this.scheduleGc();\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutationCache)[_mutationCache].notify({\n type: \"observerRemoved\",\n mutation: this,\n observer\n });\n }\n optionalRemove() {\n if (!(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _observers)[_observers].length) {\n if (this.state.status === \"pending\") {\n this.scheduleGc();\n } else {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutationCache)[_mutationCache].remove(this);\n }\n }\n }\n continue() {\n return (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _retryer)[_retryer]?.continue() ??\n // continuing a mutation assumes that variables are set, mutation must have been dehydrated before\n this.execute(this.state.variables);\n }\n async execute(variables) {\n const onContinue = () => {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _dispatch)[_dispatch]({\n type: \"continue\"\n });\n };\n const mutationFnContext = {\n client: (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _client)[_client],\n meta: this.options.meta,\n mutationKey: this.options.mutationKey\n };\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _retryer)[_retryer] = (0,_retryer_js__WEBPACK_IMPORTED_MODULE_8__.createRetryer)({\n fn: () => {\n if (!this.options.mutationFn) {\n return Promise.reject(new Error(\"No mutationFn found\"));\n }\n return this.options.mutationFn(variables, mutationFnContext);\n },\n onFail: (failureCount, error) => {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _dispatch)[_dispatch]({\n type: \"failed\",\n failureCount,\n error\n });\n },\n onPause: () => {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _dispatch)[_dispatch]({\n type: \"pause\"\n });\n },\n onContinue,\n retry: this.options.retry ?? 0,\n retryDelay: this.options.retryDelay,\n networkMode: this.options.networkMode,\n canRun: () => (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutationCache)[_mutationCache].canRun(this)\n });\n const restored = this.state.status === \"pending\";\n const isPaused = !(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _retryer)[_retryer].canStart();\n try {\n if (restored) {\n onContinue();\n } else {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _dispatch)[_dispatch]({\n type: \"pending\",\n variables,\n isPaused\n });\n await (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutationCache)[_mutationCache].config.onMutate?.(variables, this, mutationFnContext);\n const context = await this.options.onMutate?.(variables, mutationFnContext);\n if (context !== this.state.context) {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _dispatch)[_dispatch]({\n type: \"pending\",\n context,\n variables,\n isPaused\n });\n }\n }\n const data = await (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _retryer)[_retryer].start();\n await (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutationCache)[_mutationCache].config.onSuccess?.(data, variables, this.state.context, this, mutationFnContext);\n await this.options.onSuccess?.(data, variables, this.state.context, mutationFnContext);\n await (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutationCache)[_mutationCache].config.onSettled?.(data, null, this.state.variables, this.state.context, this, mutationFnContext);\n await this.options.onSettled?.(data, null, variables, this.state.context, mutationFnContext);\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _dispatch)[_dispatch]({\n type: \"success\",\n data\n });\n return data;\n } catch (error) {\n try {\n await (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutationCache)[_mutationCache].config.onError?.(error, variables, this.state.context, this, mutationFnContext);\n await this.options.onError?.(error, variables, this.state.context, mutationFnContext);\n await (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutationCache)[_mutationCache].config.onSettled?.(void 0, error, this.state.variables, this.state.context, this, mutationFnContext);\n await this.options.onSettled?.(void 0, error, variables, this.state.context, mutationFnContext);\n throw error;\n } finally {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _dispatch)[_dispatch]({\n type: \"error\",\n error\n });\n }\n } finally {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutationCache)[_mutationCache].runNext(this);\n }\n }\n});\nfunction _dispatch2(action) {\n const reducer = state => {\n switch (action.type) {\n case \"failed\":\n return {\n ...state,\n failureCount: action.failureCount,\n failureReason: action.error\n };\n case \"pause\":\n return {\n ...state,\n isPaused: true\n };\n case \"continue\":\n return {\n ...state,\n isPaused: false\n };\n case \"pending\":\n return {\n ...state,\n context: action.context,\n data: void 0,\n failureCount: 0,\n failureReason: null,\n error: null,\n isPaused: action.isPaused,\n status: \"pending\",\n variables: action.variables,\n submittedAt: Date.now()\n };\n case \"success\":\n return {\n ...state,\n data: action.data,\n failureCount: 0,\n failureReason: null,\n error: null,\n status: \"success\",\n isPaused: false\n };\n case \"error\":\n return {\n ...state,\n data: void 0,\n error: action.error,\n failureCount: state.failureCount + 1,\n failureReason: action.error,\n isPaused: false,\n status: \"error\"\n };\n }\n };\n this.state = reducer(this.state);\n _notifyManager_js__WEBPACK_IMPORTED_MODULE_6__.notifyManager.batch(() => {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _observers)[_observers].forEach(observer => {\n observer.onMutationUpdate(action);\n });\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutationCache)[_mutationCache].notify({\n mutation: this,\n type: \"updated\",\n action\n });\n });\n}\nfunction getDefaultState() {\n return {\n context: void 0,\n data: void 0,\n error: null,\n failureCount: 0,\n failureReason: null,\n isPaused: false,\n status: \"idle\",\n variables: void 0,\n submittedAt: 0\n };\n}\n\n\n//# sourceURL=webpack://jandl/./node_modules/@tanstack/query-core/build/modern/mutation.js?\n}"); +eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Mutation: function() { return /* binding */ Mutation; },\n/* harmony export */ getDefaultState: function() { return /* binding */ getDefaultState; }\n/* harmony export */ });\n/* harmony import */ var _Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js */ \"./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js\");\n/* harmony import */ var _Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js */ \"./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_2__ = __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_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ \"./node_modules/core-js/modules/esnext.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/esnext.iterator.filter.js */ \"./node_modules/core-js/modules/esnext.iterator.filter.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/esnext.iterator.for-each.js */ \"./node_modules/core-js/modules/esnext.iterator.for-each.js\");\n/* harmony import */ var _notifyManager_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./notifyManager.js */ \"./node_modules/@tanstack/query-core/build/modern/notifyManager.js\");\n/* harmony import */ var _removable_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./removable.js */ \"./node_modules/@tanstack/query-core/build/modern/removable.js\");\n/* harmony import */ var _retryer_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./retryer.js */ \"./node_modules/@tanstack/query-core/build/modern/retryer.js\");\n\n\nvar _client, _observers, _mutationCache, _retryer, _dispatch;\n\n\n\n\n// src/mutation.ts\n\n\n\nvar Mutation = (_client = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"client\"), _observers = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"observers\"), _mutationCache = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"mutationCache\"), _retryer = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"retryer\"), _dispatch = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"dispatch\"), class Mutation extends _removable_js__WEBPACK_IMPORTED_MODULE_7__.Removable {\n constructor(config) {\n super();\n Object.defineProperty(this, _dispatch, {\n value: _dispatch2\n });\n Object.defineProperty(this, _client, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _observers, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _mutationCache, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _retryer, {\n writable: true,\n value: void 0\n });\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _client)[_client] = config.client;\n this.mutationId = config.mutationId;\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutationCache)[_mutationCache] = config.mutationCache;\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _observers)[_observers] = [];\n this.state = config.state || getDefaultState();\n this.setOptions(config.options);\n this.scheduleGc();\n }\n setOptions(options) {\n this.options = options;\n this.updateGcTime(this.options.gcTime);\n }\n get meta() {\n return this.options.meta;\n }\n addObserver(observer) {\n if (!(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _observers)[_observers].includes(observer)) {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _observers)[_observers].push(observer);\n this.clearGcTimeout();\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutationCache)[_mutationCache].notify({\n type: \"observerAdded\",\n mutation: this,\n observer\n });\n }\n }\n removeObserver(observer) {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _observers)[_observers] = (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _observers)[_observers].filter(x => x !== observer);\n this.scheduleGc();\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutationCache)[_mutationCache].notify({\n type: \"observerRemoved\",\n mutation: this,\n observer\n });\n }\n optionalRemove() {\n if (!(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _observers)[_observers].length) {\n if (this.state.status === \"pending\") {\n this.scheduleGc();\n } else {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutationCache)[_mutationCache].remove(this);\n }\n }\n }\n continue() {\n return (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _retryer)[_retryer]?.continue() ??\n // continuing a mutation assumes that variables are set, mutation must have been dehydrated before\n this.execute(this.state.variables);\n }\n async execute(variables) {\n const onContinue = () => {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _dispatch)[_dispatch]({\n type: \"continue\"\n });\n };\n const mutationFnContext = {\n client: (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _client)[_client],\n meta: this.options.meta,\n mutationKey: this.options.mutationKey\n };\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _retryer)[_retryer] = (0,_retryer_js__WEBPACK_IMPORTED_MODULE_8__.createRetryer)({\n fn: () => {\n if (!this.options.mutationFn) {\n return Promise.reject(new Error(\"No mutationFn found\"));\n }\n return this.options.mutationFn(variables, mutationFnContext);\n },\n onFail: (failureCount, error) => {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _dispatch)[_dispatch]({\n type: \"failed\",\n failureCount,\n error\n });\n },\n onPause: () => {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _dispatch)[_dispatch]({\n type: \"pause\"\n });\n },\n onContinue,\n retry: this.options.retry ?? 0,\n retryDelay: this.options.retryDelay,\n networkMode: this.options.networkMode,\n canRun: () => (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutationCache)[_mutationCache].canRun(this)\n });\n const restored = this.state.status === \"pending\";\n const isPaused = !(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _retryer)[_retryer].canStart();\n try {\n if (restored) {\n onContinue();\n } else {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _dispatch)[_dispatch]({\n type: \"pending\",\n variables,\n isPaused\n });\n await (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutationCache)[_mutationCache].config.onMutate?.(variables, this, mutationFnContext);\n const context = await this.options.onMutate?.(variables, mutationFnContext);\n if (context !== this.state.context) {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _dispatch)[_dispatch]({\n type: \"pending\",\n context,\n variables,\n isPaused\n });\n }\n }\n const data = await (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _retryer)[_retryer].start();\n await (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutationCache)[_mutationCache].config.onSuccess?.(data, variables, this.state.context, this, mutationFnContext);\n await this.options.onSuccess?.(data, variables, this.state.context, mutationFnContext);\n await (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutationCache)[_mutationCache].config.onSettled?.(data, null, this.state.variables, this.state.context, this, mutationFnContext);\n await this.options.onSettled?.(data, null, variables, this.state.context, mutationFnContext);\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _dispatch)[_dispatch]({\n type: \"success\",\n data\n });\n return data;\n } catch (error) {\n try {\n await (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutationCache)[_mutationCache].config.onError?.(error, variables, this.state.context, this, mutationFnContext);\n await this.options.onError?.(error, variables, this.state.context, mutationFnContext);\n await (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutationCache)[_mutationCache].config.onSettled?.(void 0, error, this.state.variables, this.state.context, this, mutationFnContext);\n await this.options.onSettled?.(void 0, error, variables, this.state.context, mutationFnContext);\n throw error;\n } finally {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _dispatch)[_dispatch]({\n type: \"error\",\n error\n });\n }\n } finally {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutationCache)[_mutationCache].runNext(this);\n }\n }\n});\nfunction _dispatch2(action) {\n const reducer = state => {\n switch (action.type) {\n case \"failed\":\n return {\n ...state,\n failureCount: action.failureCount,\n failureReason: action.error\n };\n case \"pause\":\n return {\n ...state,\n isPaused: true\n };\n case \"continue\":\n return {\n ...state,\n isPaused: false\n };\n case \"pending\":\n return {\n ...state,\n context: action.context,\n data: void 0,\n failureCount: 0,\n failureReason: null,\n error: null,\n isPaused: action.isPaused,\n status: \"pending\",\n variables: action.variables,\n submittedAt: Date.now()\n };\n case \"success\":\n return {\n ...state,\n data: action.data,\n failureCount: 0,\n failureReason: null,\n error: null,\n status: \"success\",\n isPaused: false\n };\n case \"error\":\n return {\n ...state,\n data: void 0,\n error: action.error,\n failureCount: state.failureCount + 1,\n failureReason: action.error,\n isPaused: false,\n status: \"error\"\n };\n }\n };\n this.state = reducer(this.state);\n _notifyManager_js__WEBPACK_IMPORTED_MODULE_6__.notifyManager.batch(() => {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _observers)[_observers].forEach(observer => {\n observer.onMutationUpdate(action);\n });\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutationCache)[_mutationCache].notify({\n mutation: this,\n type: \"updated\",\n action\n });\n });\n}\nfunction getDefaultState() {\n return {\n context: void 0,\n data: void 0,\n error: null,\n failureCount: 0,\n failureReason: null,\n isPaused: false,\n status: \"idle\",\n variables: void 0,\n submittedAt: 0\n };\n}\n\n\n//# sourceURL=webpack://jandl/./node_modules/@tanstack/query-core/build/modern/mutation.js?\n}"); /***/ }), @@ -1929,7 +1929,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa /***/ (function(__unused_webpack___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 */ MutationCache: function() { return /* binding */ MutationCache; }\n/* harmony export */ });\n/* harmony import */ var _Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js */ \"./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js\");\n/* harmony import */ var _Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js */ \"./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_2__ = __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_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ \"./node_modules/core-js/modules/esnext.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/esnext.iterator.filter.js */ \"./node_modules/core-js/modules/esnext.iterator.filter.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/esnext.iterator.find.js */ \"./node_modules/core-js/modules/esnext.iterator.find.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/esnext.iterator.for-each.js */ \"./node_modules/core-js/modules/esnext.iterator.for-each.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/esnext.iterator.map.js */ \"./node_modules/core-js/modules/esnext.iterator.map.js\");\n/* harmony import */ var _notifyManager_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./notifyManager.js */ \"./node_modules/@tanstack/query-core/build/modern/notifyManager.js\");\n/* harmony import */ var _mutation_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./mutation.js */ \"./node_modules/@tanstack/query-core/build/modern/mutation.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./utils.js */ \"./node_modules/@tanstack/query-core/build/modern/utils.js\");\n/* harmony import */ var _subscribable_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./subscribable.js */ \"./node_modules/@tanstack/query-core/build/modern/subscribable.js\");\n\n\nvar _mutations, _scopes, _mutationId;\n\n\n\n\n\n\n// src/mutationCache.ts\n\n\n\n\nvar MutationCache = (_mutations = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"mutations\"), _scopes = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"scopes\"), _mutationId = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"mutationId\"), class MutationCache extends _subscribable_js__WEBPACK_IMPORTED_MODULE_11__.Subscribable {\n constructor(config = {}) {\n super();\n Object.defineProperty(this, _mutations, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _scopes, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _mutationId, {\n writable: true,\n value: void 0\n });\n this.config = config;\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutations)[_mutations] = /* @__PURE__ */new Set();\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _scopes)[_scopes] = /* @__PURE__ */new Map();\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutationId)[_mutationId] = 0;\n }\n build(client, options, state) {\n const mutation = new _mutation_js__WEBPACK_IMPORTED_MODULE_9__.Mutation({\n client,\n mutationCache: this,\n mutationId: ++(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutationId)[_mutationId],\n options: client.defaultMutationOptions(options),\n state\n });\n this.add(mutation);\n return mutation;\n }\n add(mutation) {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutations)[_mutations].add(mutation);\n const scope = scopeFor(mutation);\n if (typeof scope === \"string\") {\n const scopedMutations = (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _scopes)[_scopes].get(scope);\n if (scopedMutations) {\n scopedMutations.push(mutation);\n } else {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _scopes)[_scopes].set(scope, [mutation]);\n }\n }\n this.notify({\n type: \"added\",\n mutation\n });\n }\n remove(mutation) {\n if ((0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutations)[_mutations].delete(mutation)) {\n const scope = scopeFor(mutation);\n if (typeof scope === \"string\") {\n const scopedMutations = (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _scopes)[_scopes].get(scope);\n if (scopedMutations) {\n if (scopedMutations.length > 1) {\n const index = scopedMutations.indexOf(mutation);\n if (index !== -1) {\n scopedMutations.splice(index, 1);\n }\n } else if (scopedMutations[0] === mutation) {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _scopes)[_scopes].delete(scope);\n }\n }\n }\n }\n this.notify({\n type: \"removed\",\n mutation\n });\n }\n canRun(mutation) {\n const scope = scopeFor(mutation);\n if (typeof scope === \"string\") {\n const mutationsWithSameScope = (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _scopes)[_scopes].get(scope);\n const firstPendingMutation = mutationsWithSameScope?.find(m => m.state.status === \"pending\");\n return !firstPendingMutation || firstPendingMutation === mutation;\n } else {\n return true;\n }\n }\n runNext(mutation) {\n const scope = scopeFor(mutation);\n if (typeof scope === \"string\") {\n const foundMutation = (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _scopes)[_scopes].get(scope)?.find(m => m !== mutation && m.state.isPaused);\n return foundMutation?.continue() ?? Promise.resolve();\n } else {\n return Promise.resolve();\n }\n }\n clear() {\n _notifyManager_js__WEBPACK_IMPORTED_MODULE_8__.notifyManager.batch(() => {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutations)[_mutations].forEach(mutation => {\n this.notify({\n type: \"removed\",\n mutation\n });\n });\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutations)[_mutations].clear();\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _scopes)[_scopes].clear();\n });\n }\n getAll() {\n return Array.from((0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutations)[_mutations]);\n }\n find(filters) {\n const defaultedFilters = {\n exact: true,\n ...filters\n };\n return this.getAll().find(mutation => (0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.matchMutation)(defaultedFilters, mutation));\n }\n findAll(filters = {}) {\n return this.getAll().filter(mutation => (0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.matchMutation)(filters, mutation));\n }\n notify(event) {\n _notifyManager_js__WEBPACK_IMPORTED_MODULE_8__.notifyManager.batch(() => {\n this.listeners.forEach(listener => {\n listener(event);\n });\n });\n }\n resumePausedMutations() {\n const pausedMutations = this.getAll().filter(x => x.state.isPaused);\n return _notifyManager_js__WEBPACK_IMPORTED_MODULE_8__.notifyManager.batch(() => Promise.all(pausedMutations.map(mutation => mutation.continue().catch(_utils_js__WEBPACK_IMPORTED_MODULE_10__.noop))));\n }\n});\nfunction scopeFor(mutation) {\n return mutation.options.scope?.id;\n}\n\n\n//# sourceURL=webpack://jandl/./node_modules/@tanstack/query-core/build/modern/mutationCache.js?\n}"); +eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MutationCache: function() { return /* binding */ MutationCache; }\n/* harmony export */ });\n/* harmony import */ var _Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js */ \"./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js\");\n/* harmony import */ var _Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js */ \"./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_2__ = __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_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ \"./node_modules/core-js/modules/esnext.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/esnext.iterator.filter.js */ \"./node_modules/core-js/modules/esnext.iterator.filter.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/esnext.iterator.find.js */ \"./node_modules/core-js/modules/esnext.iterator.find.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/esnext.iterator.for-each.js */ \"./node_modules/core-js/modules/esnext.iterator.for-each.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/esnext.iterator.map.js */ \"./node_modules/core-js/modules/esnext.iterator.map.js\");\n/* harmony import */ var _notifyManager_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./notifyManager.js */ \"./node_modules/@tanstack/query-core/build/modern/notifyManager.js\");\n/* harmony import */ var _mutation_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./mutation.js */ \"./node_modules/@tanstack/query-core/build/modern/mutation.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./utils.js */ \"./node_modules/@tanstack/query-core/build/modern/utils.js\");\n/* harmony import */ var _subscribable_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./subscribable.js */ \"./node_modules/@tanstack/query-core/build/modern/subscribable.js\");\n\n\nvar _mutations, _scopes, _mutationId;\n\n\n\n\n\n\n// src/mutationCache.ts\n\n\n\n\nvar MutationCache = (_mutations = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"mutations\"), _scopes = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"scopes\"), _mutationId = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"mutationId\"), class MutationCache extends _subscribable_js__WEBPACK_IMPORTED_MODULE_11__.Subscribable {\n constructor(config = {}) {\n super();\n Object.defineProperty(this, _mutations, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _scopes, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _mutationId, {\n writable: true,\n value: void 0\n });\n this.config = config;\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutations)[_mutations] = /* @__PURE__ */new Set();\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _scopes)[_scopes] = /* @__PURE__ */new Map();\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutationId)[_mutationId] = 0;\n }\n build(client, options, state) {\n const mutation = new _mutation_js__WEBPACK_IMPORTED_MODULE_9__.Mutation({\n client,\n mutationCache: this,\n mutationId: ++(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutationId)[_mutationId],\n options: client.defaultMutationOptions(options),\n state\n });\n this.add(mutation);\n return mutation;\n }\n add(mutation) {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutations)[_mutations].add(mutation);\n const scope = scopeFor(mutation);\n if (typeof scope === \"string\") {\n const scopedMutations = (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _scopes)[_scopes].get(scope);\n if (scopedMutations) {\n scopedMutations.push(mutation);\n } else {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _scopes)[_scopes].set(scope, [mutation]);\n }\n }\n this.notify({\n type: \"added\",\n mutation\n });\n }\n remove(mutation) {\n if ((0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutations)[_mutations].delete(mutation)) {\n const scope = scopeFor(mutation);\n if (typeof scope === \"string\") {\n const scopedMutations = (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _scopes)[_scopes].get(scope);\n if (scopedMutations) {\n if (scopedMutations.length > 1) {\n const index = scopedMutations.indexOf(mutation);\n if (index !== -1) {\n scopedMutations.splice(index, 1);\n }\n } else if (scopedMutations[0] === mutation) {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _scopes)[_scopes].delete(scope);\n }\n }\n }\n }\n this.notify({\n type: \"removed\",\n mutation\n });\n }\n canRun(mutation) {\n const scope = scopeFor(mutation);\n if (typeof scope === \"string\") {\n const mutationsWithSameScope = (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _scopes)[_scopes].get(scope);\n const firstPendingMutation = mutationsWithSameScope?.find(m => m.state.status === \"pending\");\n return !firstPendingMutation || firstPendingMutation === mutation;\n } else {\n return true;\n }\n }\n runNext(mutation) {\n const scope = scopeFor(mutation);\n if (typeof scope === \"string\") {\n const foundMutation = (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _scopes)[_scopes].get(scope)?.find(m => m !== mutation && m.state.isPaused);\n return foundMutation?.continue() ?? Promise.resolve();\n } else {\n return Promise.resolve();\n }\n }\n clear() {\n _notifyManager_js__WEBPACK_IMPORTED_MODULE_8__.notifyManager.batch(() => {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutations)[_mutations].forEach(mutation => {\n this.notify({\n type: \"removed\",\n mutation\n });\n });\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutations)[_mutations].clear();\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _scopes)[_scopes].clear();\n });\n }\n getAll() {\n return Array.from((0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutations)[_mutations]);\n }\n find(filters) {\n const defaultedFilters = {\n exact: true,\n ...filters\n };\n return this.getAll().find(mutation => (0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.matchMutation)(defaultedFilters, mutation));\n }\n findAll(filters = {}) {\n return this.getAll().filter(mutation => (0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.matchMutation)(filters, mutation));\n }\n notify(event) {\n _notifyManager_js__WEBPACK_IMPORTED_MODULE_8__.notifyManager.batch(() => {\n this.listeners.forEach(listener => {\n listener(event);\n });\n });\n }\n resumePausedMutations() {\n const pausedMutations = this.getAll().filter(x => x.state.isPaused);\n return _notifyManager_js__WEBPACK_IMPORTED_MODULE_8__.notifyManager.batch(() => Promise.all(pausedMutations.map(mutation => mutation.continue().catch(_utils_js__WEBPACK_IMPORTED_MODULE_10__.noop))));\n }\n});\nfunction scopeFor(mutation) {\n return mutation.options.scope?.id;\n}\n\n\n//# sourceURL=webpack://jandl/./node_modules/@tanstack/query-core/build/modern/mutationCache.js?\n}"); /***/ }), @@ -1951,7 +1951,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa /***/ (function(__unused_webpack___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 */ OnlineManager: function() { return /* binding */ OnlineManager; },\n/* harmony export */ onlineManager: function() { return /* binding */ onlineManager; }\n/* harmony export */ });\n/* harmony import */ var _Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js */ \"./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js\");\n/* harmony import */ var _Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js */ \"./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ \"./node_modules/core-js/modules/esnext.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/esnext.iterator.for-each.js */ \"./node_modules/core-js/modules/esnext.iterator.for-each.js\");\n/* harmony import */ var _subscribable_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./subscribable.js */ \"./node_modules/@tanstack/query-core/build/modern/subscribable.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utils.js */ \"./node_modules/@tanstack/query-core/build/modern/utils.js\");\n\n\nvar _online, _cleanup, _setup;\n\n\n// src/onlineManager.ts\n\n\nvar OnlineManager = (_online = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"online\"), _cleanup = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"cleanup\"), _setup = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"setup\"), class OnlineManager extends _subscribable_js__WEBPACK_IMPORTED_MODULE_4__.Subscribable {\n constructor() {\n super();\n Object.defineProperty(this, _online, {\n writable: true,\n value: true\n });\n Object.defineProperty(this, _cleanup, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _setup, {\n writable: true,\n value: void 0\n });\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _setup)[_setup] = onOnline => {\n if (!_utils_js__WEBPACK_IMPORTED_MODULE_5__.isServer && window.addEventListener) {\n const onlineListener = () => onOnline(true);\n const offlineListener = () => onOnline(false);\n window.addEventListener(\"online\", onlineListener, false);\n window.addEventListener(\"offline\", offlineListener, false);\n return () => {\n window.removeEventListener(\"online\", onlineListener);\n window.removeEventListener(\"offline\", offlineListener);\n };\n }\n return;\n };\n }\n onSubscribe() {\n if (!(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _cleanup)[_cleanup]) {\n this.setEventListener((0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _setup)[_setup]);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _cleanup)[_cleanup]?.();\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _cleanup)[_cleanup] = void 0;\n }\n }\n setEventListener(setup) {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _setup)[_setup] = setup;\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _cleanup)[_cleanup]?.();\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _cleanup)[_cleanup] = setup(this.setOnline.bind(this));\n }\n setOnline(online) {\n const changed = (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _online)[_online] !== online;\n if (changed) {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _online)[_online] = online;\n this.listeners.forEach(listener => {\n listener(online);\n });\n }\n }\n isOnline() {\n return (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _online)[_online];\n }\n});\nvar onlineManager = new OnlineManager();\n\n\n//# sourceURL=webpack://jandl/./node_modules/@tanstack/query-core/build/modern/onlineManager.js?\n}"); +eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ OnlineManager: function() { return /* binding */ OnlineManager; },\n/* harmony export */ onlineManager: function() { return /* binding */ onlineManager; }\n/* harmony export */ });\n/* harmony import */ var _Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js */ \"./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js\");\n/* harmony import */ var _Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js */ \"./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ \"./node_modules/core-js/modules/esnext.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/esnext.iterator.for-each.js */ \"./node_modules/core-js/modules/esnext.iterator.for-each.js\");\n/* harmony import */ var _subscribable_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./subscribable.js */ \"./node_modules/@tanstack/query-core/build/modern/subscribable.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utils.js */ \"./node_modules/@tanstack/query-core/build/modern/utils.js\");\n\n\nvar _online, _cleanup, _setup;\n\n\n// src/onlineManager.ts\n\n\nvar OnlineManager = (_online = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"online\"), _cleanup = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"cleanup\"), _setup = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"setup\"), class OnlineManager extends _subscribable_js__WEBPACK_IMPORTED_MODULE_4__.Subscribable {\n constructor() {\n super();\n Object.defineProperty(this, _online, {\n writable: true,\n value: true\n });\n Object.defineProperty(this, _cleanup, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _setup, {\n writable: true,\n value: void 0\n });\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _setup)[_setup] = onOnline => {\n if (!_utils_js__WEBPACK_IMPORTED_MODULE_5__.isServer && window.addEventListener) {\n const onlineListener = () => onOnline(true);\n const offlineListener = () => onOnline(false);\n window.addEventListener(\"online\", onlineListener, false);\n window.addEventListener(\"offline\", offlineListener, false);\n return () => {\n window.removeEventListener(\"online\", onlineListener);\n window.removeEventListener(\"offline\", offlineListener);\n };\n }\n return;\n };\n }\n onSubscribe() {\n if (!(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _cleanup)[_cleanup]) {\n this.setEventListener((0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _setup)[_setup]);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _cleanup)[_cleanup]?.();\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _cleanup)[_cleanup] = void 0;\n }\n }\n setEventListener(setup) {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _setup)[_setup] = setup;\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _cleanup)[_cleanup]?.();\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _cleanup)[_cleanup] = setup(this.setOnline.bind(this));\n }\n setOnline(online) {\n const changed = (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _online)[_online] !== online;\n if (changed) {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _online)[_online] = online;\n this.listeners.forEach(listener => {\n listener(online);\n });\n }\n }\n isOnline() {\n return (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _online)[_online];\n }\n});\nvar onlineManager = new OnlineManager();\n\n\n//# sourceURL=webpack://jandl/./node_modules/@tanstack/query-core/build/modern/onlineManager.js?\n}"); /***/ }), @@ -1962,7 +1962,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa /***/ (function(__unused_webpack___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 */ Query: function() { return /* binding */ Query; },\n/* harmony export */ fetchState: function() { return /* binding */ fetchState; }\n/* harmony export */ });\n/* harmony import */ var _Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js */ \"./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js\");\n/* harmony import */ var _Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js */ \"./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_2__ = __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_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ \"./node_modules/core-js/modules/esnext.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/esnext.iterator.filter.js */ \"./node_modules/core-js/modules/esnext.iterator.filter.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/esnext.iterator.find.js */ \"./node_modules/core-js/modules/esnext.iterator.find.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/esnext.iterator.for-each.js */ \"./node_modules/core-js/modules/esnext.iterator.for-each.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_some_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/esnext.iterator.some.js */ \"./node_modules/core-js/modules/esnext.iterator.some.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./utils.js */ \"./node_modules/@tanstack/query-core/build/modern/utils.js\");\n/* harmony import */ var _notifyManager_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./notifyManager.js */ \"./node_modules/@tanstack/query-core/build/modern/notifyManager.js\");\n/* harmony import */ var _retryer_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./retryer.js */ \"./node_modules/@tanstack/query-core/build/modern/retryer.js\");\n/* harmony import */ var _removable_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./removable.js */ \"./node_modules/@tanstack/query-core/build/modern/removable.js\");\n/* provided dependency */ var console = __webpack_require__(/*! ./node_modules/console-browserify/index.js */ \"./node_modules/console-browserify/index.js\");\n\n\nvar _initialState, _revertState, _cache, _client, _retryer, _defaultOptions, _abortSignalConsumed, _dispatch;\n\n\n\n\n\n\n// src/query.ts\n\n\n\n\nvar Query = (_initialState = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"initialState\"), _revertState = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"revertState\"), _cache = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"cache\"), _client = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"client\"), _retryer = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"retryer\"), _defaultOptions = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"defaultOptions\"), _abortSignalConsumed = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"abortSignalConsumed\"), _dispatch = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"dispatch\"), class Query extends _removable_js__WEBPACK_IMPORTED_MODULE_11__.Removable {\n constructor(config) {\n super();\n Object.defineProperty(this, _dispatch, {\n value: _dispatch2\n });\n Object.defineProperty(this, _initialState, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _revertState, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _cache, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _client, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _retryer, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _defaultOptions, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _abortSignalConsumed, {\n writable: true,\n value: void 0\n });\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _abortSignalConsumed)[_abortSignalConsumed] = false;\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _defaultOptions)[_defaultOptions] = config.defaultOptions;\n this.setOptions(config.options);\n this.observers = [];\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _client)[_client] = config.client;\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _cache)[_cache] = (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _client)[_client].getQueryCache();\n this.queryKey = config.queryKey;\n this.queryHash = config.queryHash;\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _initialState)[_initialState] = getDefaultState(this.options);\n this.state = config.state ?? (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _initialState)[_initialState];\n this.scheduleGc();\n }\n get meta() {\n return this.options.meta;\n }\n get promise() {\n return (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _retryer)[_retryer]?.promise;\n }\n setOptions(options) {\n this.options = {\n ...(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _defaultOptions)[_defaultOptions],\n ...options\n };\n this.updateGcTime(this.options.gcTime);\n if (this.state && this.state.data === void 0) {\n const defaultState = getDefaultState(this.options);\n if (defaultState.data !== void 0) {\n this.setState(successState(defaultState.data, defaultState.dataUpdatedAt));\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _initialState)[_initialState] = defaultState;\n }\n }\n }\n optionalRemove() {\n if (!this.observers.length && this.state.fetchStatus === \"idle\") {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _cache)[_cache].remove(this);\n }\n }\n setData(newData, options) {\n const data = (0,_utils_js__WEBPACK_IMPORTED_MODULE_8__.replaceData)(this.state.data, newData, this.options);\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _dispatch)[_dispatch]({\n data,\n type: \"success\",\n dataUpdatedAt: options?.updatedAt,\n manual: options?.manual\n });\n return data;\n }\n setState(state, setStateOptions) {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _dispatch)[_dispatch]({\n type: \"setState\",\n state,\n setStateOptions\n });\n }\n cancel(options) {\n const promise = (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _retryer)[_retryer]?.promise;\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _retryer)[_retryer]?.cancel(options);\n return promise ? promise.then(_utils_js__WEBPACK_IMPORTED_MODULE_8__.noop).catch(_utils_js__WEBPACK_IMPORTED_MODULE_8__.noop) : Promise.resolve();\n }\n destroy() {\n super.destroy();\n this.cancel({\n silent: true\n });\n }\n reset() {\n this.destroy();\n this.setState((0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _initialState)[_initialState]);\n }\n isActive() {\n return this.observers.some(observer => (0,_utils_js__WEBPACK_IMPORTED_MODULE_8__.resolveEnabled)(observer.options.enabled, this) !== false);\n }\n isDisabled() {\n if (this.getObserversCount() > 0) {\n return !this.isActive();\n }\n return this.options.queryFn === _utils_js__WEBPACK_IMPORTED_MODULE_8__.skipToken || this.state.dataUpdateCount + this.state.errorUpdateCount === 0;\n }\n isStatic() {\n if (this.getObserversCount() > 0) {\n return this.observers.some(observer => (0,_utils_js__WEBPACK_IMPORTED_MODULE_8__.resolveStaleTime)(observer.options.staleTime, this) === \"static\");\n }\n return false;\n }\n isStale() {\n if (this.getObserversCount() > 0) {\n return this.observers.some(observer => observer.getCurrentResult().isStale);\n }\n return this.state.data === void 0 || this.state.isInvalidated;\n }\n isStaleByTime(staleTime = 0) {\n if (this.state.data === void 0) {\n return true;\n }\n if (staleTime === \"static\") {\n return false;\n }\n if (this.state.isInvalidated) {\n return true;\n }\n return !(0,_utils_js__WEBPACK_IMPORTED_MODULE_8__.timeUntilStale)(this.state.dataUpdatedAt, staleTime);\n }\n onFocus() {\n const observer = this.observers.find(x => x.shouldFetchOnWindowFocus());\n observer?.refetch({\n cancelRefetch: false\n });\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _retryer)[_retryer]?.continue();\n }\n onOnline() {\n const observer = this.observers.find(x => x.shouldFetchOnReconnect());\n observer?.refetch({\n cancelRefetch: false\n });\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _retryer)[_retryer]?.continue();\n }\n addObserver(observer) {\n if (!this.observers.includes(observer)) {\n this.observers.push(observer);\n this.clearGcTimeout();\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _cache)[_cache].notify({\n type: \"observerAdded\",\n query: this,\n observer\n });\n }\n }\n removeObserver(observer) {\n if (this.observers.includes(observer)) {\n this.observers = this.observers.filter(x => x !== observer);\n if (!this.observers.length) {\n if ((0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _retryer)[_retryer]) {\n if ((0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _abortSignalConsumed)[_abortSignalConsumed]) {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _retryer)[_retryer].cancel({\n revert: true\n });\n } else {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _retryer)[_retryer].cancelRetry();\n }\n }\n this.scheduleGc();\n }\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _cache)[_cache].notify({\n type: \"observerRemoved\",\n query: this,\n observer\n });\n }\n }\n getObserversCount() {\n return this.observers.length;\n }\n invalidate() {\n if (!this.state.isInvalidated) {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _dispatch)[_dispatch]({\n type: \"invalidate\"\n });\n }\n }\n async fetch(options, fetchOptions) {\n if (this.state.fetchStatus !== \"idle\" &&\n // If the promise in the retyer is already rejected, we have to definitely\n // re-start the fetch; there is a chance that the query is still in a\n // pending state when that happens\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _retryer)[_retryer]?.status() !== \"rejected\") {\n if (this.state.data !== void 0 && fetchOptions?.cancelRefetch) {\n this.cancel({\n silent: true\n });\n } else if ((0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _retryer)[_retryer]) {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _retryer)[_retryer].continueRetry();\n return (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _retryer)[_retryer].promise;\n }\n }\n if (options) {\n this.setOptions(options);\n }\n if (!this.options.queryFn) {\n const observer = this.observers.find(x => x.options.queryFn);\n if (observer) {\n this.setOptions(observer.options);\n }\n }\n if (true) {\n if (!Array.isArray(this.options.queryKey)) {\n console.error(`As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']`);\n }\n }\n const abortController = new AbortController();\n const addSignalProperty = object => {\n Object.defineProperty(object, \"signal\", {\n enumerable: true,\n get: () => {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _abortSignalConsumed)[_abortSignalConsumed] = true;\n return abortController.signal;\n }\n });\n };\n const fetchFn = () => {\n const queryFn = (0,_utils_js__WEBPACK_IMPORTED_MODULE_8__.ensureQueryFn)(this.options, fetchOptions);\n const createQueryFnContext = () => {\n const queryFnContext2 = {\n client: (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _client)[_client],\n queryKey: this.queryKey,\n meta: this.meta\n };\n addSignalProperty(queryFnContext2);\n return queryFnContext2;\n };\n const queryFnContext = createQueryFnContext();\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _abortSignalConsumed)[_abortSignalConsumed] = false;\n if (this.options.persister) {\n return this.options.persister(queryFn, queryFnContext, this);\n }\n return queryFn(queryFnContext);\n };\n const createFetchContext = () => {\n const context2 = {\n fetchOptions,\n options: this.options,\n queryKey: this.queryKey,\n client: (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _client)[_client],\n state: this.state,\n fetchFn\n };\n addSignalProperty(context2);\n return context2;\n };\n const context = createFetchContext();\n this.options.behavior?.onFetch(context, this);\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _revertState)[_revertState] = this.state;\n if (this.state.fetchStatus === \"idle\" || this.state.fetchMeta !== context.fetchOptions?.meta) {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _dispatch)[_dispatch]({\n type: \"fetch\",\n meta: context.fetchOptions?.meta\n });\n }\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _retryer)[_retryer] = (0,_retryer_js__WEBPACK_IMPORTED_MODULE_10__.createRetryer)({\n initialPromise: fetchOptions?.initialPromise,\n fn: context.fetchFn,\n onCancel: error => {\n if (error instanceof _retryer_js__WEBPACK_IMPORTED_MODULE_10__.CancelledError && error.revert) {\n this.setState({\n ...(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _revertState)[_revertState],\n fetchStatus: \"idle\"\n });\n }\n abortController.abort();\n },\n onFail: (failureCount, error) => {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _dispatch)[_dispatch]({\n type: \"failed\",\n failureCount,\n error\n });\n },\n onPause: () => {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _dispatch)[_dispatch]({\n type: \"pause\"\n });\n },\n onContinue: () => {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _dispatch)[_dispatch]({\n type: \"continue\"\n });\n },\n retry: context.options.retry,\n retryDelay: context.options.retryDelay,\n networkMode: context.options.networkMode,\n canRun: () => true\n });\n try {\n const data = await (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _retryer)[_retryer].start();\n if (data === void 0) {\n if (true) {\n console.error(`Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`);\n }\n throw new Error(`${this.queryHash} data is undefined`);\n }\n this.setData(data);\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _cache)[_cache].config.onSuccess?.(data, this);\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _cache)[_cache].config.onSettled?.(data, this.state.error, this);\n return data;\n } catch (error) {\n if (error instanceof _retryer_js__WEBPACK_IMPORTED_MODULE_10__.CancelledError) {\n if (error.silent) {\n return (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _retryer)[_retryer].promise;\n } else if (error.revert) {\n if (this.state.data === void 0) {\n throw error;\n }\n return this.state.data;\n }\n }\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _dispatch)[_dispatch]({\n type: \"error\",\n error\n });\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _cache)[_cache].config.onError?.(error, this);\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _cache)[_cache].config.onSettled?.(this.state.data, error, this);\n throw error;\n } finally {\n this.scheduleGc();\n }\n }\n});\nfunction _dispatch2(action) {\n const reducer = state => {\n switch (action.type) {\n case \"failed\":\n return {\n ...state,\n fetchFailureCount: action.failureCount,\n fetchFailureReason: action.error\n };\n case \"pause\":\n return {\n ...state,\n fetchStatus: \"paused\"\n };\n case \"continue\":\n return {\n ...state,\n fetchStatus: \"fetching\"\n };\n case \"fetch\":\n return {\n ...state,\n ...fetchState(state.data, this.options),\n fetchMeta: action.meta ?? null\n };\n case \"success\":\n const newState = {\n ...state,\n ...successState(action.data, action.dataUpdatedAt),\n dataUpdateCount: state.dataUpdateCount + 1,\n ...(!action.manual && {\n fetchStatus: \"idle\",\n fetchFailureCount: 0,\n fetchFailureReason: null\n })\n };\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _revertState)[_revertState] = action.manual ? newState : void 0;\n return newState;\n case \"error\":\n const error = action.error;\n return {\n ...state,\n error,\n errorUpdateCount: state.errorUpdateCount + 1,\n errorUpdatedAt: Date.now(),\n fetchFailureCount: state.fetchFailureCount + 1,\n fetchFailureReason: error,\n fetchStatus: \"idle\",\n status: \"error\"\n };\n case \"invalidate\":\n return {\n ...state,\n isInvalidated: true\n };\n case \"setState\":\n return {\n ...state,\n ...action.state\n };\n }\n };\n this.state = reducer(this.state);\n _notifyManager_js__WEBPACK_IMPORTED_MODULE_9__.notifyManager.batch(() => {\n this.observers.forEach(observer => {\n observer.onQueryUpdate();\n });\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _cache)[_cache].notify({\n query: this,\n type: \"updated\",\n action\n });\n });\n}\nfunction fetchState(data, options) {\n return {\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchStatus: (0,_retryer_js__WEBPACK_IMPORTED_MODULE_10__.canFetch)(options.networkMode) ? \"fetching\" : \"paused\",\n ...(data === void 0 && {\n error: null,\n status: \"pending\"\n })\n };\n}\nfunction successState(data, dataUpdatedAt) {\n return {\n data,\n dataUpdatedAt: dataUpdatedAt ?? Date.now(),\n error: null,\n isInvalidated: false,\n status: \"success\"\n };\n}\nfunction getDefaultState(options) {\n const data = typeof options.initialData === \"function\" ? options.initialData() : options.initialData;\n const hasData = data !== void 0;\n const initialDataUpdatedAt = hasData ? typeof options.initialDataUpdatedAt === \"function\" ? options.initialDataUpdatedAt() : options.initialDataUpdatedAt : 0;\n return {\n data,\n dataUpdateCount: 0,\n dataUpdatedAt: hasData ? initialDataUpdatedAt ?? Date.now() : 0,\n error: null,\n errorUpdateCount: 0,\n errorUpdatedAt: 0,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: null,\n isInvalidated: false,\n status: hasData ? \"success\" : \"pending\",\n fetchStatus: \"idle\"\n };\n}\n\n\n//# sourceURL=webpack://jandl/./node_modules/@tanstack/query-core/build/modern/query.js?\n}"); +eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Query: function() { return /* binding */ Query; },\n/* harmony export */ fetchState: function() { return /* binding */ fetchState; }\n/* harmony export */ });\n/* harmony import */ var _Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js */ \"./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js\");\n/* harmony import */ var _Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js */ \"./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_2__ = __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_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ \"./node_modules/core-js/modules/esnext.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/esnext.iterator.filter.js */ \"./node_modules/core-js/modules/esnext.iterator.filter.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/esnext.iterator.find.js */ \"./node_modules/core-js/modules/esnext.iterator.find.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/esnext.iterator.for-each.js */ \"./node_modules/core-js/modules/esnext.iterator.for-each.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_some_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/esnext.iterator.some.js */ \"./node_modules/core-js/modules/esnext.iterator.some.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./utils.js */ \"./node_modules/@tanstack/query-core/build/modern/utils.js\");\n/* harmony import */ var _notifyManager_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./notifyManager.js */ \"./node_modules/@tanstack/query-core/build/modern/notifyManager.js\");\n/* harmony import */ var _retryer_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./retryer.js */ \"./node_modules/@tanstack/query-core/build/modern/retryer.js\");\n/* harmony import */ var _removable_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./removable.js */ \"./node_modules/@tanstack/query-core/build/modern/removable.js\");\n/* provided dependency */ var console = __webpack_require__(/*! ./node_modules/console-browserify/index.js */ \"./node_modules/console-browserify/index.js\");\n\n\nvar _initialState, _revertState, _cache, _client, _retryer, _defaultOptions, _abortSignalConsumed, _dispatch;\n\n\n\n\n\n\n// src/query.ts\n\n\n\n\nvar Query = (_initialState = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"initialState\"), _revertState = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"revertState\"), _cache = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"cache\"), _client = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"client\"), _retryer = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"retryer\"), _defaultOptions = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"defaultOptions\"), _abortSignalConsumed = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"abortSignalConsumed\"), _dispatch = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"dispatch\"), class Query extends _removable_js__WEBPACK_IMPORTED_MODULE_11__.Removable {\n constructor(config) {\n super();\n Object.defineProperty(this, _dispatch, {\n value: _dispatch2\n });\n Object.defineProperty(this, _initialState, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _revertState, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _cache, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _client, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _retryer, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _defaultOptions, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _abortSignalConsumed, {\n writable: true,\n value: void 0\n });\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _abortSignalConsumed)[_abortSignalConsumed] = false;\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _defaultOptions)[_defaultOptions] = config.defaultOptions;\n this.setOptions(config.options);\n this.observers = [];\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _client)[_client] = config.client;\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _cache)[_cache] = (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _client)[_client].getQueryCache();\n this.queryKey = config.queryKey;\n this.queryHash = config.queryHash;\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _initialState)[_initialState] = getDefaultState(this.options);\n this.state = config.state ?? (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _initialState)[_initialState];\n this.scheduleGc();\n }\n get meta() {\n return this.options.meta;\n }\n get promise() {\n return (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _retryer)[_retryer]?.promise;\n }\n setOptions(options) {\n this.options = {\n ...(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _defaultOptions)[_defaultOptions],\n ...options\n };\n this.updateGcTime(this.options.gcTime);\n if (this.state && this.state.data === void 0) {\n const defaultState = getDefaultState(this.options);\n if (defaultState.data !== void 0) {\n this.setState(successState(defaultState.data, defaultState.dataUpdatedAt));\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _initialState)[_initialState] = defaultState;\n }\n }\n }\n optionalRemove() {\n if (!this.observers.length && this.state.fetchStatus === \"idle\") {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _cache)[_cache].remove(this);\n }\n }\n setData(newData, options) {\n const data = (0,_utils_js__WEBPACK_IMPORTED_MODULE_8__.replaceData)(this.state.data, newData, this.options);\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _dispatch)[_dispatch]({\n data,\n type: \"success\",\n dataUpdatedAt: options?.updatedAt,\n manual: options?.manual\n });\n return data;\n }\n setState(state, setStateOptions) {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _dispatch)[_dispatch]({\n type: \"setState\",\n state,\n setStateOptions\n });\n }\n cancel(options) {\n const promise = (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _retryer)[_retryer]?.promise;\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _retryer)[_retryer]?.cancel(options);\n return promise ? promise.then(_utils_js__WEBPACK_IMPORTED_MODULE_8__.noop).catch(_utils_js__WEBPACK_IMPORTED_MODULE_8__.noop) : Promise.resolve();\n }\n destroy() {\n super.destroy();\n this.cancel({\n silent: true\n });\n }\n reset() {\n this.destroy();\n this.setState((0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _initialState)[_initialState]);\n }\n isActive() {\n return this.observers.some(observer => (0,_utils_js__WEBPACK_IMPORTED_MODULE_8__.resolveEnabled)(observer.options.enabled, this) !== false);\n }\n isDisabled() {\n if (this.getObserversCount() > 0) {\n return !this.isActive();\n }\n return this.options.queryFn === _utils_js__WEBPACK_IMPORTED_MODULE_8__.skipToken || this.state.dataUpdateCount + this.state.errorUpdateCount === 0;\n }\n isStatic() {\n if (this.getObserversCount() > 0) {\n return this.observers.some(observer => (0,_utils_js__WEBPACK_IMPORTED_MODULE_8__.resolveStaleTime)(observer.options.staleTime, this) === \"static\");\n }\n return false;\n }\n isStale() {\n if (this.getObserversCount() > 0) {\n return this.observers.some(observer => observer.getCurrentResult().isStale);\n }\n return this.state.data === void 0 || this.state.isInvalidated;\n }\n isStaleByTime(staleTime = 0) {\n if (this.state.data === void 0) {\n return true;\n }\n if (staleTime === \"static\") {\n return false;\n }\n if (this.state.isInvalidated) {\n return true;\n }\n return !(0,_utils_js__WEBPACK_IMPORTED_MODULE_8__.timeUntilStale)(this.state.dataUpdatedAt, staleTime);\n }\n onFocus() {\n const observer = this.observers.find(x => x.shouldFetchOnWindowFocus());\n observer?.refetch({\n cancelRefetch: false\n });\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _retryer)[_retryer]?.continue();\n }\n onOnline() {\n const observer = this.observers.find(x => x.shouldFetchOnReconnect());\n observer?.refetch({\n cancelRefetch: false\n });\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _retryer)[_retryer]?.continue();\n }\n addObserver(observer) {\n if (!this.observers.includes(observer)) {\n this.observers.push(observer);\n this.clearGcTimeout();\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _cache)[_cache].notify({\n type: \"observerAdded\",\n query: this,\n observer\n });\n }\n }\n removeObserver(observer) {\n if (this.observers.includes(observer)) {\n this.observers = this.observers.filter(x => x !== observer);\n if (!this.observers.length) {\n if ((0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _retryer)[_retryer]) {\n if ((0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _abortSignalConsumed)[_abortSignalConsumed]) {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _retryer)[_retryer].cancel({\n revert: true\n });\n } else {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _retryer)[_retryer].cancelRetry();\n }\n }\n this.scheduleGc();\n }\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _cache)[_cache].notify({\n type: \"observerRemoved\",\n query: this,\n observer\n });\n }\n }\n getObserversCount() {\n return this.observers.length;\n }\n invalidate() {\n if (!this.state.isInvalidated) {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _dispatch)[_dispatch]({\n type: \"invalidate\"\n });\n }\n }\n async fetch(options, fetchOptions) {\n if (this.state.fetchStatus !== \"idle\" &&\n // If the promise in the retyer is already rejected, we have to definitely\n // re-start the fetch; there is a chance that the query is still in a\n // pending state when that happens\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _retryer)[_retryer]?.status() !== \"rejected\") {\n if (this.state.data !== void 0 && fetchOptions?.cancelRefetch) {\n this.cancel({\n silent: true\n });\n } else if ((0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _retryer)[_retryer]) {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _retryer)[_retryer].continueRetry();\n return (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _retryer)[_retryer].promise;\n }\n }\n if (options) {\n this.setOptions(options);\n }\n if (!this.options.queryFn) {\n const observer = this.observers.find(x => x.options.queryFn);\n if (observer) {\n this.setOptions(observer.options);\n }\n }\n if (true) {\n if (!Array.isArray(this.options.queryKey)) {\n console.error(`As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']`);\n }\n }\n const abortController = new AbortController();\n const addSignalProperty = object => {\n Object.defineProperty(object, \"signal\", {\n enumerable: true,\n get: () => {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _abortSignalConsumed)[_abortSignalConsumed] = true;\n return abortController.signal;\n }\n });\n };\n const fetchFn = () => {\n const queryFn = (0,_utils_js__WEBPACK_IMPORTED_MODULE_8__.ensureQueryFn)(this.options, fetchOptions);\n const createQueryFnContext = () => {\n const queryFnContext2 = {\n client: (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _client)[_client],\n queryKey: this.queryKey,\n meta: this.meta\n };\n addSignalProperty(queryFnContext2);\n return queryFnContext2;\n };\n const queryFnContext = createQueryFnContext();\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _abortSignalConsumed)[_abortSignalConsumed] = false;\n if (this.options.persister) {\n return this.options.persister(queryFn, queryFnContext, this);\n }\n return queryFn(queryFnContext);\n };\n const createFetchContext = () => {\n const context2 = {\n fetchOptions,\n options: this.options,\n queryKey: this.queryKey,\n client: (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _client)[_client],\n state: this.state,\n fetchFn\n };\n addSignalProperty(context2);\n return context2;\n };\n const context = createFetchContext();\n this.options.behavior?.onFetch(context, this);\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _revertState)[_revertState] = this.state;\n if (this.state.fetchStatus === \"idle\" || this.state.fetchMeta !== context.fetchOptions?.meta) {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _dispatch)[_dispatch]({\n type: \"fetch\",\n meta: context.fetchOptions?.meta\n });\n }\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _retryer)[_retryer] = (0,_retryer_js__WEBPACK_IMPORTED_MODULE_10__.createRetryer)({\n initialPromise: fetchOptions?.initialPromise,\n fn: context.fetchFn,\n onCancel: error => {\n if (error instanceof _retryer_js__WEBPACK_IMPORTED_MODULE_10__.CancelledError && error.revert) {\n this.setState({\n ...(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _revertState)[_revertState],\n fetchStatus: \"idle\"\n });\n }\n abortController.abort();\n },\n onFail: (failureCount, error) => {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _dispatch)[_dispatch]({\n type: \"failed\",\n failureCount,\n error\n });\n },\n onPause: () => {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _dispatch)[_dispatch]({\n type: \"pause\"\n });\n },\n onContinue: () => {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _dispatch)[_dispatch]({\n type: \"continue\"\n });\n },\n retry: context.options.retry,\n retryDelay: context.options.retryDelay,\n networkMode: context.options.networkMode,\n canRun: () => true\n });\n try {\n const data = await (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _retryer)[_retryer].start();\n if (data === void 0) {\n if (true) {\n console.error(`Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`);\n }\n throw new Error(`${this.queryHash} data is undefined`);\n }\n this.setData(data);\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _cache)[_cache].config.onSuccess?.(data, this);\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _cache)[_cache].config.onSettled?.(data, this.state.error, this);\n return data;\n } catch (error) {\n if (error instanceof _retryer_js__WEBPACK_IMPORTED_MODULE_10__.CancelledError) {\n if (error.silent) {\n return (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _retryer)[_retryer].promise;\n } else if (error.revert) {\n if (this.state.data === void 0) {\n throw error;\n }\n return this.state.data;\n }\n }\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _dispatch)[_dispatch]({\n type: \"error\",\n error\n });\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _cache)[_cache].config.onError?.(error, this);\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _cache)[_cache].config.onSettled?.(this.state.data, error, this);\n throw error;\n } finally {\n this.scheduleGc();\n }\n }\n});\nfunction _dispatch2(action) {\n const reducer = state => {\n switch (action.type) {\n case \"failed\":\n return {\n ...state,\n fetchFailureCount: action.failureCount,\n fetchFailureReason: action.error\n };\n case \"pause\":\n return {\n ...state,\n fetchStatus: \"paused\"\n };\n case \"continue\":\n return {\n ...state,\n fetchStatus: \"fetching\"\n };\n case \"fetch\":\n return {\n ...state,\n ...fetchState(state.data, this.options),\n fetchMeta: action.meta ?? null\n };\n case \"success\":\n const newState = {\n ...state,\n ...successState(action.data, action.dataUpdatedAt),\n dataUpdateCount: state.dataUpdateCount + 1,\n ...(!action.manual && {\n fetchStatus: \"idle\",\n fetchFailureCount: 0,\n fetchFailureReason: null\n })\n };\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _revertState)[_revertState] = action.manual ? newState : void 0;\n return newState;\n case \"error\":\n const error = action.error;\n return {\n ...state,\n error,\n errorUpdateCount: state.errorUpdateCount + 1,\n errorUpdatedAt: Date.now(),\n fetchFailureCount: state.fetchFailureCount + 1,\n fetchFailureReason: error,\n fetchStatus: \"idle\",\n status: \"error\"\n };\n case \"invalidate\":\n return {\n ...state,\n isInvalidated: true\n };\n case \"setState\":\n return {\n ...state,\n ...action.state\n };\n }\n };\n this.state = reducer(this.state);\n _notifyManager_js__WEBPACK_IMPORTED_MODULE_9__.notifyManager.batch(() => {\n this.observers.forEach(observer => {\n observer.onQueryUpdate();\n });\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _cache)[_cache].notify({\n query: this,\n type: \"updated\",\n action\n });\n });\n}\nfunction fetchState(data, options) {\n return {\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchStatus: (0,_retryer_js__WEBPACK_IMPORTED_MODULE_10__.canFetch)(options.networkMode) ? \"fetching\" : \"paused\",\n ...(data === void 0 && {\n error: null,\n status: \"pending\"\n })\n };\n}\nfunction successState(data, dataUpdatedAt) {\n return {\n data,\n dataUpdatedAt: dataUpdatedAt ?? Date.now(),\n error: null,\n isInvalidated: false,\n status: \"success\"\n };\n}\nfunction getDefaultState(options) {\n const data = typeof options.initialData === \"function\" ? options.initialData() : options.initialData;\n const hasData = data !== void 0;\n const initialDataUpdatedAt = hasData ? typeof options.initialDataUpdatedAt === \"function\" ? options.initialDataUpdatedAt() : options.initialDataUpdatedAt : 0;\n return {\n data,\n dataUpdateCount: 0,\n dataUpdatedAt: hasData ? initialDataUpdatedAt ?? Date.now() : 0,\n error: null,\n errorUpdateCount: 0,\n errorUpdatedAt: 0,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: null,\n isInvalidated: false,\n status: hasData ? \"success\" : \"pending\",\n fetchStatus: \"idle\"\n };\n}\n\n\n//# sourceURL=webpack://jandl/./node_modules/@tanstack/query-core/build/modern/query.js?\n}"); /***/ }), @@ -1973,7 +1973,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa /***/ (function(__unused_webpack___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 */ QueryCache: function() { return /* binding */ QueryCache; }\n/* harmony export */ });\n/* harmony import */ var _Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js */ \"./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js\");\n/* harmony import */ var _Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js */ \"./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ \"./node_modules/core-js/modules/esnext.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/esnext.iterator.filter.js */ \"./node_modules/core-js/modules/esnext.iterator.filter.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/esnext.iterator.find.js */ \"./node_modules/core-js/modules/esnext.iterator.find.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/esnext.iterator.for-each.js */ \"./node_modules/core-js/modules/esnext.iterator.for-each.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./utils.js */ \"./node_modules/@tanstack/query-core/build/modern/utils.js\");\n/* harmony import */ var _query_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./query.js */ \"./node_modules/@tanstack/query-core/build/modern/query.js\");\n/* harmony import */ var _notifyManager_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./notifyManager.js */ \"./node_modules/@tanstack/query-core/build/modern/notifyManager.js\");\n/* harmony import */ var _subscribable_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./subscribable.js */ \"./node_modules/@tanstack/query-core/build/modern/subscribable.js\");\n\n\nvar _queries;\n\n\n\n\n// src/queryCache.ts\n\n\n\n\nvar QueryCache = (_queries = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"queries\"), class QueryCache extends _subscribable_js__WEBPACK_IMPORTED_MODULE_9__.Subscribable {\n constructor(config = {}) {\n super();\n Object.defineProperty(this, _queries, {\n writable: true,\n value: void 0\n });\n this.config = config;\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queries)[_queries] = /* @__PURE__ */new Map();\n }\n build(client, options, state) {\n const queryKey = options.queryKey;\n const queryHash = options.queryHash ?? (0,_utils_js__WEBPACK_IMPORTED_MODULE_6__.hashQueryKeyByOptions)(queryKey, options);\n let query = this.get(queryHash);\n if (!query) {\n query = new _query_js__WEBPACK_IMPORTED_MODULE_7__.Query({\n client,\n queryKey,\n queryHash,\n options: client.defaultQueryOptions(options),\n state,\n defaultOptions: client.getQueryDefaults(queryKey)\n });\n this.add(query);\n }\n return query;\n }\n add(query) {\n if (!(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queries)[_queries].has(query.queryHash)) {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queries)[_queries].set(query.queryHash, query);\n this.notify({\n type: \"added\",\n query\n });\n }\n }\n remove(query) {\n const queryInMap = (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queries)[_queries].get(query.queryHash);\n if (queryInMap) {\n query.destroy();\n if (queryInMap === query) {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queries)[_queries].delete(query.queryHash);\n }\n this.notify({\n type: \"removed\",\n query\n });\n }\n }\n clear() {\n _notifyManager_js__WEBPACK_IMPORTED_MODULE_8__.notifyManager.batch(() => {\n this.getAll().forEach(query => {\n this.remove(query);\n });\n });\n }\n get(queryHash) {\n return (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queries)[_queries].get(queryHash);\n }\n getAll() {\n return [...(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queries)[_queries].values()];\n }\n find(filters) {\n const defaultedFilters = {\n exact: true,\n ...filters\n };\n return this.getAll().find(query => (0,_utils_js__WEBPACK_IMPORTED_MODULE_6__.matchQuery)(defaultedFilters, query));\n }\n findAll(filters = {}) {\n const queries = this.getAll();\n return Object.keys(filters).length > 0 ? queries.filter(query => (0,_utils_js__WEBPACK_IMPORTED_MODULE_6__.matchQuery)(filters, query)) : queries;\n }\n notify(event) {\n _notifyManager_js__WEBPACK_IMPORTED_MODULE_8__.notifyManager.batch(() => {\n this.listeners.forEach(listener => {\n listener(event);\n });\n });\n }\n onFocus() {\n _notifyManager_js__WEBPACK_IMPORTED_MODULE_8__.notifyManager.batch(() => {\n this.getAll().forEach(query => {\n query.onFocus();\n });\n });\n }\n onOnline() {\n _notifyManager_js__WEBPACK_IMPORTED_MODULE_8__.notifyManager.batch(() => {\n this.getAll().forEach(query => {\n query.onOnline();\n });\n });\n }\n});\n\n\n//# sourceURL=webpack://jandl/./node_modules/@tanstack/query-core/build/modern/queryCache.js?\n}"); +eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ QueryCache: function() { return /* binding */ QueryCache; }\n/* harmony export */ });\n/* harmony import */ var _Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js */ \"./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js\");\n/* harmony import */ var _Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js */ \"./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ \"./node_modules/core-js/modules/esnext.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/esnext.iterator.filter.js */ \"./node_modules/core-js/modules/esnext.iterator.filter.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/esnext.iterator.find.js */ \"./node_modules/core-js/modules/esnext.iterator.find.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/esnext.iterator.for-each.js */ \"./node_modules/core-js/modules/esnext.iterator.for-each.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./utils.js */ \"./node_modules/@tanstack/query-core/build/modern/utils.js\");\n/* harmony import */ var _query_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./query.js */ \"./node_modules/@tanstack/query-core/build/modern/query.js\");\n/* harmony import */ var _notifyManager_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./notifyManager.js */ \"./node_modules/@tanstack/query-core/build/modern/notifyManager.js\");\n/* harmony import */ var _subscribable_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./subscribable.js */ \"./node_modules/@tanstack/query-core/build/modern/subscribable.js\");\n\n\nvar _queries;\n\n\n\n\n// src/queryCache.ts\n\n\n\n\nvar QueryCache = (_queries = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"queries\"), class QueryCache extends _subscribable_js__WEBPACK_IMPORTED_MODULE_9__.Subscribable {\n constructor(config = {}) {\n super();\n Object.defineProperty(this, _queries, {\n writable: true,\n value: void 0\n });\n this.config = config;\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queries)[_queries] = /* @__PURE__ */new Map();\n }\n build(client, options, state) {\n const queryKey = options.queryKey;\n const queryHash = options.queryHash ?? (0,_utils_js__WEBPACK_IMPORTED_MODULE_6__.hashQueryKeyByOptions)(queryKey, options);\n let query = this.get(queryHash);\n if (!query) {\n query = new _query_js__WEBPACK_IMPORTED_MODULE_7__.Query({\n client,\n queryKey,\n queryHash,\n options: client.defaultQueryOptions(options),\n state,\n defaultOptions: client.getQueryDefaults(queryKey)\n });\n this.add(query);\n }\n return query;\n }\n add(query) {\n if (!(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queries)[_queries].has(query.queryHash)) {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queries)[_queries].set(query.queryHash, query);\n this.notify({\n type: \"added\",\n query\n });\n }\n }\n remove(query) {\n const queryInMap = (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queries)[_queries].get(query.queryHash);\n if (queryInMap) {\n query.destroy();\n if (queryInMap === query) {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queries)[_queries].delete(query.queryHash);\n }\n this.notify({\n type: \"removed\",\n query\n });\n }\n }\n clear() {\n _notifyManager_js__WEBPACK_IMPORTED_MODULE_8__.notifyManager.batch(() => {\n this.getAll().forEach(query => {\n this.remove(query);\n });\n });\n }\n get(queryHash) {\n return (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queries)[_queries].get(queryHash);\n }\n getAll() {\n return [...(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queries)[_queries].values()];\n }\n find(filters) {\n const defaultedFilters = {\n exact: true,\n ...filters\n };\n return this.getAll().find(query => (0,_utils_js__WEBPACK_IMPORTED_MODULE_6__.matchQuery)(defaultedFilters, query));\n }\n findAll(filters = {}) {\n const queries = this.getAll();\n return Object.keys(filters).length > 0 ? queries.filter(query => (0,_utils_js__WEBPACK_IMPORTED_MODULE_6__.matchQuery)(filters, query)) : queries;\n }\n notify(event) {\n _notifyManager_js__WEBPACK_IMPORTED_MODULE_8__.notifyManager.batch(() => {\n this.listeners.forEach(listener => {\n listener(event);\n });\n });\n }\n onFocus() {\n _notifyManager_js__WEBPACK_IMPORTED_MODULE_8__.notifyManager.batch(() => {\n this.getAll().forEach(query => {\n query.onFocus();\n });\n });\n }\n onOnline() {\n _notifyManager_js__WEBPACK_IMPORTED_MODULE_8__.notifyManager.batch(() => {\n this.getAll().forEach(query => {\n query.onOnline();\n });\n });\n }\n});\n\n\n//# sourceURL=webpack://jandl/./node_modules/@tanstack/query-core/build/modern/queryCache.js?\n}"); /***/ }), @@ -1984,7 +1984,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa /***/ (function(__unused_webpack___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 */ QueryClient: function() { return /* binding */ QueryClient; }\n/* harmony export */ });\n/* harmony import */ var _Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js */ \"./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js\");\n/* harmony import */ var _Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js */ \"./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ \"./node_modules/core-js/modules/esnext.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/esnext.iterator.filter.js */ \"./node_modules/core-js/modules/esnext.iterator.filter.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/esnext.iterator.for-each.js */ \"./node_modules/core-js/modules/esnext.iterator.for-each.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/esnext.iterator.map.js */ \"./node_modules/core-js/modules/esnext.iterator.map.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./utils.js */ \"./node_modules/@tanstack/query-core/build/modern/utils.js\");\n/* harmony import */ var _queryCache_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./queryCache.js */ \"./node_modules/@tanstack/query-core/build/modern/queryCache.js\");\n/* harmony import */ var _mutationCache_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./mutationCache.js */ \"./node_modules/@tanstack/query-core/build/modern/mutationCache.js\");\n/* harmony import */ var _focusManager_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./focusManager.js */ \"./node_modules/@tanstack/query-core/build/modern/focusManager.js\");\n/* harmony import */ var _onlineManager_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./onlineManager.js */ \"./node_modules/@tanstack/query-core/build/modern/onlineManager.js\");\n/* harmony import */ var _notifyManager_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./notifyManager.js */ \"./node_modules/@tanstack/query-core/build/modern/notifyManager.js\");\n/* harmony import */ var _infiniteQueryBehavior_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./infiniteQueryBehavior.js */ \"./node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.js\");\n\n\nvar _queryCache, _mutationCache, _defaultOptions, _queryDefaults, _mutationDefaults, _mountCount, _unsubscribeFocus, _unsubscribeOnline;\n\n\n\n\n// src/queryClient.ts\n\n\n\n\n\n\n\nvar QueryClient = (_queryCache = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"queryCache\"), _mutationCache = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"mutationCache\"), _defaultOptions = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"defaultOptions\"), _queryDefaults = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"queryDefaults\"), _mutationDefaults = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"mutationDefaults\"), _mountCount = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"mountCount\"), _unsubscribeFocus = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"unsubscribeFocus\"), _unsubscribeOnline = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"unsubscribeOnline\"), class QueryClient {\n constructor(config = {}) {\n Object.defineProperty(this, _queryCache, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _mutationCache, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _defaultOptions, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _queryDefaults, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _mutationDefaults, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _mountCount, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _unsubscribeFocus, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _unsubscribeOnline, {\n writable: true,\n value: void 0\n });\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queryCache)[_queryCache] = config.queryCache || new _queryCache_js__WEBPACK_IMPORTED_MODULE_7__.QueryCache();\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutationCache)[_mutationCache] = config.mutationCache || new _mutationCache_js__WEBPACK_IMPORTED_MODULE_8__.MutationCache();\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _defaultOptions)[_defaultOptions] = config.defaultOptions || {};\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queryDefaults)[_queryDefaults] = /* @__PURE__ */new Map();\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutationDefaults)[_mutationDefaults] = /* @__PURE__ */new Map();\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mountCount)[_mountCount] = 0;\n }\n mount() {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mountCount)[_mountCount]++;\n if ((0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mountCount)[_mountCount] !== 1) return;\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _unsubscribeFocus)[_unsubscribeFocus] = _focusManager_js__WEBPACK_IMPORTED_MODULE_9__.focusManager.subscribe(async focused => {\n if (focused) {\n await this.resumePausedMutations();\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queryCache)[_queryCache].onFocus();\n }\n });\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _unsubscribeOnline)[_unsubscribeOnline] = _onlineManager_js__WEBPACK_IMPORTED_MODULE_10__.onlineManager.subscribe(async online => {\n if (online) {\n await this.resumePausedMutations();\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queryCache)[_queryCache].onOnline();\n }\n });\n }\n unmount() {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mountCount)[_mountCount]--;\n if ((0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mountCount)[_mountCount] !== 0) return;\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _unsubscribeFocus)[_unsubscribeFocus]?.();\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _unsubscribeFocus)[_unsubscribeFocus] = void 0;\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _unsubscribeOnline)[_unsubscribeOnline]?.();\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _unsubscribeOnline)[_unsubscribeOnline] = void 0;\n }\n isFetching(filters) {\n return (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queryCache)[_queryCache].findAll({\n ...filters,\n fetchStatus: \"fetching\"\n }).length;\n }\n isMutating(filters) {\n return (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutationCache)[_mutationCache].findAll({\n ...filters,\n status: \"pending\"\n }).length;\n }\n /**\n * Imperative (non-reactive) way to retrieve data for a QueryKey.\n * Should only be used in callbacks or functions where reading the latest data is necessary, e.g. for optimistic updates.\n *\n * Hint: Do not use this function inside a component, because it won't receive updates.\n * Use `useQuery` to create a `QueryObserver` that subscribes to changes.\n */\n getQueryData(queryKey) {\n const options = this.defaultQueryOptions({\n queryKey\n });\n return (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queryCache)[_queryCache].get(options.queryHash)?.state.data;\n }\n ensureQueryData(options) {\n const defaultedOptions = this.defaultQueryOptions(options);\n const query = (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queryCache)[_queryCache].build(this, defaultedOptions);\n const cachedData = query.state.data;\n if (cachedData === void 0) {\n return this.fetchQuery(options);\n }\n if (options.revalidateIfStale && query.isStaleByTime((0,_utils_js__WEBPACK_IMPORTED_MODULE_6__.resolveStaleTime)(defaultedOptions.staleTime, query))) {\n void this.prefetchQuery(defaultedOptions);\n }\n return Promise.resolve(cachedData);\n }\n getQueriesData(filters) {\n return (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queryCache)[_queryCache].findAll(filters).map(({\n queryKey,\n state\n }) => {\n const data = state.data;\n return [queryKey, data];\n });\n }\n setQueryData(queryKey, updater, options) {\n const defaultedOptions = this.defaultQueryOptions({\n queryKey\n });\n const query = (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queryCache)[_queryCache].get(defaultedOptions.queryHash);\n const prevData = query?.state.data;\n const data = (0,_utils_js__WEBPACK_IMPORTED_MODULE_6__.functionalUpdate)(updater, prevData);\n if (data === void 0) {\n return void 0;\n }\n return (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queryCache)[_queryCache].build(this, defaultedOptions).setData(data, {\n ...options,\n manual: true\n });\n }\n setQueriesData(filters, updater, options) {\n return _notifyManager_js__WEBPACK_IMPORTED_MODULE_11__.notifyManager.batch(() => (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queryCache)[_queryCache].findAll(filters).map(({\n queryKey\n }) => [queryKey, this.setQueryData(queryKey, updater, options)]));\n }\n getQueryState(queryKey) {\n const options = this.defaultQueryOptions({\n queryKey\n });\n return (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queryCache)[_queryCache].get(options.queryHash)?.state;\n }\n removeQueries(filters) {\n const queryCache = (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queryCache)[_queryCache];\n _notifyManager_js__WEBPACK_IMPORTED_MODULE_11__.notifyManager.batch(() => {\n queryCache.findAll(filters).forEach(query => {\n queryCache.remove(query);\n });\n });\n }\n resetQueries(filters, options) {\n const queryCache = (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queryCache)[_queryCache];\n return _notifyManager_js__WEBPACK_IMPORTED_MODULE_11__.notifyManager.batch(() => {\n queryCache.findAll(filters).forEach(query => {\n query.reset();\n });\n return this.refetchQueries({\n type: \"active\",\n ...filters\n }, options);\n });\n }\n cancelQueries(filters, cancelOptions = {}) {\n const defaultedCancelOptions = {\n revert: true,\n ...cancelOptions\n };\n const promises = _notifyManager_js__WEBPACK_IMPORTED_MODULE_11__.notifyManager.batch(() => (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queryCache)[_queryCache].findAll(filters).map(query => query.cancel(defaultedCancelOptions)));\n return Promise.all(promises).then(_utils_js__WEBPACK_IMPORTED_MODULE_6__.noop).catch(_utils_js__WEBPACK_IMPORTED_MODULE_6__.noop);\n }\n invalidateQueries(filters, options = {}) {\n return _notifyManager_js__WEBPACK_IMPORTED_MODULE_11__.notifyManager.batch(() => {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queryCache)[_queryCache].findAll(filters).forEach(query => {\n query.invalidate();\n });\n if (filters?.refetchType === \"none\") {\n return Promise.resolve();\n }\n return this.refetchQueries({\n ...filters,\n type: filters?.refetchType ?? filters?.type ?? \"active\"\n }, options);\n });\n }\n refetchQueries(filters, options = {}) {\n const fetchOptions = {\n ...options,\n cancelRefetch: options.cancelRefetch ?? true\n };\n const promises = _notifyManager_js__WEBPACK_IMPORTED_MODULE_11__.notifyManager.batch(() => (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queryCache)[_queryCache].findAll(filters).filter(query => !query.isDisabled() && !query.isStatic()).map(query => {\n let promise = query.fetch(void 0, fetchOptions);\n if (!fetchOptions.throwOnError) {\n promise = promise.catch(_utils_js__WEBPACK_IMPORTED_MODULE_6__.noop);\n }\n return query.state.fetchStatus === \"paused\" ? Promise.resolve() : promise;\n }));\n return Promise.all(promises).then(_utils_js__WEBPACK_IMPORTED_MODULE_6__.noop);\n }\n fetchQuery(options) {\n const defaultedOptions = this.defaultQueryOptions(options);\n if (defaultedOptions.retry === void 0) {\n defaultedOptions.retry = false;\n }\n const query = (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queryCache)[_queryCache].build(this, defaultedOptions);\n return query.isStaleByTime((0,_utils_js__WEBPACK_IMPORTED_MODULE_6__.resolveStaleTime)(defaultedOptions.staleTime, query)) ? query.fetch(defaultedOptions) : Promise.resolve(query.state.data);\n }\n prefetchQuery(options) {\n return this.fetchQuery(options).then(_utils_js__WEBPACK_IMPORTED_MODULE_6__.noop).catch(_utils_js__WEBPACK_IMPORTED_MODULE_6__.noop);\n }\n fetchInfiniteQuery(options) {\n options.behavior = (0,_infiniteQueryBehavior_js__WEBPACK_IMPORTED_MODULE_12__.infiniteQueryBehavior)(options.pages);\n return this.fetchQuery(options);\n }\n prefetchInfiniteQuery(options) {\n return this.fetchInfiniteQuery(options).then(_utils_js__WEBPACK_IMPORTED_MODULE_6__.noop).catch(_utils_js__WEBPACK_IMPORTED_MODULE_6__.noop);\n }\n ensureInfiniteQueryData(options) {\n options.behavior = (0,_infiniteQueryBehavior_js__WEBPACK_IMPORTED_MODULE_12__.infiniteQueryBehavior)(options.pages);\n return this.ensureQueryData(options);\n }\n resumePausedMutations() {\n if (_onlineManager_js__WEBPACK_IMPORTED_MODULE_10__.onlineManager.isOnline()) {\n return (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutationCache)[_mutationCache].resumePausedMutations();\n }\n return Promise.resolve();\n }\n getQueryCache() {\n return (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queryCache)[_queryCache];\n }\n getMutationCache() {\n return (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutationCache)[_mutationCache];\n }\n getDefaultOptions() {\n return (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _defaultOptions)[_defaultOptions];\n }\n setDefaultOptions(options) {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _defaultOptions)[_defaultOptions] = options;\n }\n setQueryDefaults(queryKey, options) {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queryDefaults)[_queryDefaults].set((0,_utils_js__WEBPACK_IMPORTED_MODULE_6__.hashKey)(queryKey), {\n queryKey,\n defaultOptions: options\n });\n }\n getQueryDefaults(queryKey) {\n const defaults = [...(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queryDefaults)[_queryDefaults].values()];\n const result = {};\n defaults.forEach(queryDefault => {\n if ((0,_utils_js__WEBPACK_IMPORTED_MODULE_6__.partialMatchKey)(queryKey, queryDefault.queryKey)) {\n Object.assign(result, queryDefault.defaultOptions);\n }\n });\n return result;\n }\n setMutationDefaults(mutationKey, options) {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutationDefaults)[_mutationDefaults].set((0,_utils_js__WEBPACK_IMPORTED_MODULE_6__.hashKey)(mutationKey), {\n mutationKey,\n defaultOptions: options\n });\n }\n getMutationDefaults(mutationKey) {\n const defaults = [...(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutationDefaults)[_mutationDefaults].values()];\n const result = {};\n defaults.forEach(queryDefault => {\n if ((0,_utils_js__WEBPACK_IMPORTED_MODULE_6__.partialMatchKey)(mutationKey, queryDefault.mutationKey)) {\n Object.assign(result, queryDefault.defaultOptions);\n }\n });\n return result;\n }\n defaultQueryOptions(options) {\n if (options._defaulted) {\n return options;\n }\n const defaultedOptions = {\n ...(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _defaultOptions)[_defaultOptions].queries,\n ...this.getQueryDefaults(options.queryKey),\n ...options,\n _defaulted: true\n };\n if (!defaultedOptions.queryHash) {\n defaultedOptions.queryHash = (0,_utils_js__WEBPACK_IMPORTED_MODULE_6__.hashQueryKeyByOptions)(defaultedOptions.queryKey, defaultedOptions);\n }\n if (defaultedOptions.refetchOnReconnect === void 0) {\n defaultedOptions.refetchOnReconnect = defaultedOptions.networkMode !== \"always\";\n }\n if (defaultedOptions.throwOnError === void 0) {\n defaultedOptions.throwOnError = !!defaultedOptions.suspense;\n }\n if (!defaultedOptions.networkMode && defaultedOptions.persister) {\n defaultedOptions.networkMode = \"offlineFirst\";\n }\n if (defaultedOptions.queryFn === _utils_js__WEBPACK_IMPORTED_MODULE_6__.skipToken) {\n defaultedOptions.enabled = false;\n }\n return defaultedOptions;\n }\n defaultMutationOptions(options) {\n if (options?._defaulted) {\n return options;\n }\n return {\n ...(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _defaultOptions)[_defaultOptions].mutations,\n ...(options?.mutationKey && this.getMutationDefaults(options.mutationKey)),\n ...options,\n _defaulted: true\n };\n }\n clear() {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queryCache)[_queryCache].clear();\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutationCache)[_mutationCache].clear();\n }\n});\n\n\n//# sourceURL=webpack://jandl/./node_modules/@tanstack/query-core/build/modern/queryClient.js?\n}"); +eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ QueryClient: function() { return /* binding */ QueryClient; }\n/* harmony export */ });\n/* harmony import */ var _Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js */ \"./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js\");\n/* harmony import */ var _Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js */ \"./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ \"./node_modules/core-js/modules/esnext.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/esnext.iterator.filter.js */ \"./node_modules/core-js/modules/esnext.iterator.filter.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/esnext.iterator.for-each.js */ \"./node_modules/core-js/modules/esnext.iterator.for-each.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/esnext.iterator.map.js */ \"./node_modules/core-js/modules/esnext.iterator.map.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./utils.js */ \"./node_modules/@tanstack/query-core/build/modern/utils.js\");\n/* harmony import */ var _queryCache_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./queryCache.js */ \"./node_modules/@tanstack/query-core/build/modern/queryCache.js\");\n/* harmony import */ var _mutationCache_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./mutationCache.js */ \"./node_modules/@tanstack/query-core/build/modern/mutationCache.js\");\n/* harmony import */ var _focusManager_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./focusManager.js */ \"./node_modules/@tanstack/query-core/build/modern/focusManager.js\");\n/* harmony import */ var _onlineManager_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./onlineManager.js */ \"./node_modules/@tanstack/query-core/build/modern/onlineManager.js\");\n/* harmony import */ var _notifyManager_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./notifyManager.js */ \"./node_modules/@tanstack/query-core/build/modern/notifyManager.js\");\n/* harmony import */ var _infiniteQueryBehavior_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./infiniteQueryBehavior.js */ \"./node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.js\");\n\n\nvar _queryCache, _mutationCache, _defaultOptions, _queryDefaults, _mutationDefaults, _mountCount, _unsubscribeFocus, _unsubscribeOnline;\n\n\n\n\n// src/queryClient.ts\n\n\n\n\n\n\n\nvar QueryClient = (_queryCache = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"queryCache\"), _mutationCache = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"mutationCache\"), _defaultOptions = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"defaultOptions\"), _queryDefaults = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"queryDefaults\"), _mutationDefaults = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"mutationDefaults\"), _mountCount = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"mountCount\"), _unsubscribeFocus = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"unsubscribeFocus\"), _unsubscribeOnline = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"unsubscribeOnline\"), class QueryClient {\n constructor(config = {}) {\n Object.defineProperty(this, _queryCache, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _mutationCache, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _defaultOptions, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _queryDefaults, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _mutationDefaults, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _mountCount, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _unsubscribeFocus, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _unsubscribeOnline, {\n writable: true,\n value: void 0\n });\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queryCache)[_queryCache] = config.queryCache || new _queryCache_js__WEBPACK_IMPORTED_MODULE_7__.QueryCache();\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutationCache)[_mutationCache] = config.mutationCache || new _mutationCache_js__WEBPACK_IMPORTED_MODULE_8__.MutationCache();\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _defaultOptions)[_defaultOptions] = config.defaultOptions || {};\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queryDefaults)[_queryDefaults] = /* @__PURE__ */new Map();\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutationDefaults)[_mutationDefaults] = /* @__PURE__ */new Map();\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mountCount)[_mountCount] = 0;\n }\n mount() {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mountCount)[_mountCount]++;\n if ((0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mountCount)[_mountCount] !== 1) return;\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _unsubscribeFocus)[_unsubscribeFocus] = _focusManager_js__WEBPACK_IMPORTED_MODULE_9__.focusManager.subscribe(async focused => {\n if (focused) {\n await this.resumePausedMutations();\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queryCache)[_queryCache].onFocus();\n }\n });\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _unsubscribeOnline)[_unsubscribeOnline] = _onlineManager_js__WEBPACK_IMPORTED_MODULE_10__.onlineManager.subscribe(async online => {\n if (online) {\n await this.resumePausedMutations();\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queryCache)[_queryCache].onOnline();\n }\n });\n }\n unmount() {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mountCount)[_mountCount]--;\n if ((0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mountCount)[_mountCount] !== 0) return;\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _unsubscribeFocus)[_unsubscribeFocus]?.();\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _unsubscribeFocus)[_unsubscribeFocus] = void 0;\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _unsubscribeOnline)[_unsubscribeOnline]?.();\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _unsubscribeOnline)[_unsubscribeOnline] = void 0;\n }\n isFetching(filters) {\n return (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queryCache)[_queryCache].findAll({\n ...filters,\n fetchStatus: \"fetching\"\n }).length;\n }\n isMutating(filters) {\n return (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutationCache)[_mutationCache].findAll({\n ...filters,\n status: \"pending\"\n }).length;\n }\n /**\n * Imperative (non-reactive) way to retrieve data for a QueryKey.\n * Should only be used in callbacks or functions where reading the latest data is necessary, e.g. for optimistic updates.\n *\n * Hint: Do not use this function inside a component, because it won't receive updates.\n * Use `useQuery` to create a `QueryObserver` that subscribes to changes.\n */\n getQueryData(queryKey) {\n const options = this.defaultQueryOptions({\n queryKey\n });\n return (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queryCache)[_queryCache].get(options.queryHash)?.state.data;\n }\n ensureQueryData(options) {\n const defaultedOptions = this.defaultQueryOptions(options);\n const query = (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queryCache)[_queryCache].build(this, defaultedOptions);\n const cachedData = query.state.data;\n if (cachedData === void 0) {\n return this.fetchQuery(options);\n }\n if (options.revalidateIfStale && query.isStaleByTime((0,_utils_js__WEBPACK_IMPORTED_MODULE_6__.resolveStaleTime)(defaultedOptions.staleTime, query))) {\n void this.prefetchQuery(defaultedOptions);\n }\n return Promise.resolve(cachedData);\n }\n getQueriesData(filters) {\n return (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queryCache)[_queryCache].findAll(filters).map(({\n queryKey,\n state\n }) => {\n const data = state.data;\n return [queryKey, data];\n });\n }\n setQueryData(queryKey, updater, options) {\n const defaultedOptions = this.defaultQueryOptions({\n queryKey\n });\n const query = (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queryCache)[_queryCache].get(defaultedOptions.queryHash);\n const prevData = query?.state.data;\n const data = (0,_utils_js__WEBPACK_IMPORTED_MODULE_6__.functionalUpdate)(updater, prevData);\n if (data === void 0) {\n return void 0;\n }\n return (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queryCache)[_queryCache].build(this, defaultedOptions).setData(data, {\n ...options,\n manual: true\n });\n }\n setQueriesData(filters, updater, options) {\n return _notifyManager_js__WEBPACK_IMPORTED_MODULE_11__.notifyManager.batch(() => (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queryCache)[_queryCache].findAll(filters).map(({\n queryKey\n }) => [queryKey, this.setQueryData(queryKey, updater, options)]));\n }\n getQueryState(queryKey) {\n const options = this.defaultQueryOptions({\n queryKey\n });\n return (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queryCache)[_queryCache].get(options.queryHash)?.state;\n }\n removeQueries(filters) {\n const queryCache = (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queryCache)[_queryCache];\n _notifyManager_js__WEBPACK_IMPORTED_MODULE_11__.notifyManager.batch(() => {\n queryCache.findAll(filters).forEach(query => {\n queryCache.remove(query);\n });\n });\n }\n resetQueries(filters, options) {\n const queryCache = (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queryCache)[_queryCache];\n return _notifyManager_js__WEBPACK_IMPORTED_MODULE_11__.notifyManager.batch(() => {\n queryCache.findAll(filters).forEach(query => {\n query.reset();\n });\n return this.refetchQueries({\n type: \"active\",\n ...filters\n }, options);\n });\n }\n cancelQueries(filters, cancelOptions = {}) {\n const defaultedCancelOptions = {\n revert: true,\n ...cancelOptions\n };\n const promises = _notifyManager_js__WEBPACK_IMPORTED_MODULE_11__.notifyManager.batch(() => (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queryCache)[_queryCache].findAll(filters).map(query => query.cancel(defaultedCancelOptions)));\n return Promise.all(promises).then(_utils_js__WEBPACK_IMPORTED_MODULE_6__.noop).catch(_utils_js__WEBPACK_IMPORTED_MODULE_6__.noop);\n }\n invalidateQueries(filters, options = {}) {\n return _notifyManager_js__WEBPACK_IMPORTED_MODULE_11__.notifyManager.batch(() => {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queryCache)[_queryCache].findAll(filters).forEach(query => {\n query.invalidate();\n });\n if (filters?.refetchType === \"none\") {\n return Promise.resolve();\n }\n return this.refetchQueries({\n ...filters,\n type: filters?.refetchType ?? filters?.type ?? \"active\"\n }, options);\n });\n }\n refetchQueries(filters, options = {}) {\n const fetchOptions = {\n ...options,\n cancelRefetch: options.cancelRefetch ?? true\n };\n const promises = _notifyManager_js__WEBPACK_IMPORTED_MODULE_11__.notifyManager.batch(() => (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queryCache)[_queryCache].findAll(filters).filter(query => !query.isDisabled() && !query.isStatic()).map(query => {\n let promise = query.fetch(void 0, fetchOptions);\n if (!fetchOptions.throwOnError) {\n promise = promise.catch(_utils_js__WEBPACK_IMPORTED_MODULE_6__.noop);\n }\n return query.state.fetchStatus === \"paused\" ? Promise.resolve() : promise;\n }));\n return Promise.all(promises).then(_utils_js__WEBPACK_IMPORTED_MODULE_6__.noop);\n }\n fetchQuery(options) {\n const defaultedOptions = this.defaultQueryOptions(options);\n if (defaultedOptions.retry === void 0) {\n defaultedOptions.retry = false;\n }\n const query = (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queryCache)[_queryCache].build(this, defaultedOptions);\n return query.isStaleByTime((0,_utils_js__WEBPACK_IMPORTED_MODULE_6__.resolveStaleTime)(defaultedOptions.staleTime, query)) ? query.fetch(defaultedOptions) : Promise.resolve(query.state.data);\n }\n prefetchQuery(options) {\n return this.fetchQuery(options).then(_utils_js__WEBPACK_IMPORTED_MODULE_6__.noop).catch(_utils_js__WEBPACK_IMPORTED_MODULE_6__.noop);\n }\n fetchInfiniteQuery(options) {\n options.behavior = (0,_infiniteQueryBehavior_js__WEBPACK_IMPORTED_MODULE_12__.infiniteQueryBehavior)(options.pages);\n return this.fetchQuery(options);\n }\n prefetchInfiniteQuery(options) {\n return this.fetchInfiniteQuery(options).then(_utils_js__WEBPACK_IMPORTED_MODULE_6__.noop).catch(_utils_js__WEBPACK_IMPORTED_MODULE_6__.noop);\n }\n ensureInfiniteQueryData(options) {\n options.behavior = (0,_infiniteQueryBehavior_js__WEBPACK_IMPORTED_MODULE_12__.infiniteQueryBehavior)(options.pages);\n return this.ensureQueryData(options);\n }\n resumePausedMutations() {\n if (_onlineManager_js__WEBPACK_IMPORTED_MODULE_10__.onlineManager.isOnline()) {\n return (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutationCache)[_mutationCache].resumePausedMutations();\n }\n return Promise.resolve();\n }\n getQueryCache() {\n return (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queryCache)[_queryCache];\n }\n getMutationCache() {\n return (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutationCache)[_mutationCache];\n }\n getDefaultOptions() {\n return (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _defaultOptions)[_defaultOptions];\n }\n setDefaultOptions(options) {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _defaultOptions)[_defaultOptions] = options;\n }\n setQueryDefaults(queryKey, options) {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queryDefaults)[_queryDefaults].set((0,_utils_js__WEBPACK_IMPORTED_MODULE_6__.hashKey)(queryKey), {\n queryKey,\n defaultOptions: options\n });\n }\n getQueryDefaults(queryKey) {\n const defaults = [...(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queryDefaults)[_queryDefaults].values()];\n const result = {};\n defaults.forEach(queryDefault => {\n if ((0,_utils_js__WEBPACK_IMPORTED_MODULE_6__.partialMatchKey)(queryKey, queryDefault.queryKey)) {\n Object.assign(result, queryDefault.defaultOptions);\n }\n });\n return result;\n }\n setMutationDefaults(mutationKey, options) {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutationDefaults)[_mutationDefaults].set((0,_utils_js__WEBPACK_IMPORTED_MODULE_6__.hashKey)(mutationKey), {\n mutationKey,\n defaultOptions: options\n });\n }\n getMutationDefaults(mutationKey) {\n const defaults = [...(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutationDefaults)[_mutationDefaults].values()];\n const result = {};\n defaults.forEach(queryDefault => {\n if ((0,_utils_js__WEBPACK_IMPORTED_MODULE_6__.partialMatchKey)(mutationKey, queryDefault.mutationKey)) {\n Object.assign(result, queryDefault.defaultOptions);\n }\n });\n return result;\n }\n defaultQueryOptions(options) {\n if (options._defaulted) {\n return options;\n }\n const defaultedOptions = {\n ...(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _defaultOptions)[_defaultOptions].queries,\n ...this.getQueryDefaults(options.queryKey),\n ...options,\n _defaulted: true\n };\n if (!defaultedOptions.queryHash) {\n defaultedOptions.queryHash = (0,_utils_js__WEBPACK_IMPORTED_MODULE_6__.hashQueryKeyByOptions)(defaultedOptions.queryKey, defaultedOptions);\n }\n if (defaultedOptions.refetchOnReconnect === void 0) {\n defaultedOptions.refetchOnReconnect = defaultedOptions.networkMode !== \"always\";\n }\n if (defaultedOptions.throwOnError === void 0) {\n defaultedOptions.throwOnError = !!defaultedOptions.suspense;\n }\n if (!defaultedOptions.networkMode && defaultedOptions.persister) {\n defaultedOptions.networkMode = \"offlineFirst\";\n }\n if (defaultedOptions.queryFn === _utils_js__WEBPACK_IMPORTED_MODULE_6__.skipToken) {\n defaultedOptions.enabled = false;\n }\n return defaultedOptions;\n }\n defaultMutationOptions(options) {\n if (options?._defaulted) {\n return options;\n }\n return {\n ...(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _defaultOptions)[_defaultOptions].mutations,\n ...(options?.mutationKey && this.getMutationDefaults(options.mutationKey)),\n ...options,\n _defaulted: true\n };\n }\n clear() {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _queryCache)[_queryCache].clear();\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _mutationCache)[_mutationCache].clear();\n }\n});\n\n\n//# sourceURL=webpack://jandl/./node_modules/@tanstack/query-core/build/modern/queryClient.js?\n}"); /***/ }), @@ -1995,7 +1995,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa /***/ (function(__unused_webpack___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 */ QueryObserver: function() { return /* binding */ QueryObserver; }\n/* harmony export */ });\n/* harmony import */ var _Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js */ \"./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js\");\n/* harmony import */ var _Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js */ \"./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ \"./node_modules/core-js/modules/esnext.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/esnext.iterator.for-each.js */ \"./node_modules/core-js/modules/esnext.iterator.for-each.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_some_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/esnext.iterator.some.js */ \"./node_modules/core-js/modules/esnext.iterator.some.js\");\n/* harmony import */ var _focusManager_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./focusManager.js */ \"./node_modules/@tanstack/query-core/build/modern/focusManager.js\");\n/* harmony import */ var _notifyManager_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./notifyManager.js */ \"./node_modules/@tanstack/query-core/build/modern/notifyManager.js\");\n/* harmony import */ var _query_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./query.js */ \"./node_modules/@tanstack/query-core/build/modern/query.js\");\n/* harmony import */ var _subscribable_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./subscribable.js */ \"./node_modules/@tanstack/query-core/build/modern/subscribable.js\");\n/* harmony import */ var _thenable_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./thenable.js */ \"./node_modules/@tanstack/query-core/build/modern/thenable.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./utils.js */ \"./node_modules/@tanstack/query-core/build/modern/utils.js\");\n/* harmony import */ var _timeoutManager_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./timeoutManager.js */ \"./node_modules/@tanstack/query-core/build/modern/timeoutManager.js\");\n\n\nvar _client, _currentQuery, _currentQueryInitialState, _currentResult, _currentResultState, _currentResultOptions, _currentThenable, _selectError, _selectFn, _selectResult, _lastQueryWithDefinedData, _staleTimeoutId, _refetchIntervalId, _currentRefetchInterval, _trackedProps, _executeFetch, _updateStaleTimeout, _computeRefetchInterval, _updateRefetchInterval, _updateTimers, _clearStaleTimeout, _clearRefetchInterval, _updateQuery, _notify;\n\n\n\n// src/queryObserver.ts\n\n\n\n\n\n\n\nvar QueryObserver = (_client = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"client\"), _currentQuery = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"currentQuery\"), _currentQueryInitialState = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"currentQueryInitialState\"), _currentResult = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"currentResult\"), _currentResultState = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"currentResultState\"), _currentResultOptions = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"currentResultOptions\"), _currentThenable = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"currentThenable\"), _selectError = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"selectError\"), _selectFn = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"selectFn\"), _selectResult = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"selectResult\"), _lastQueryWithDefinedData = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"lastQueryWithDefinedData\"), _staleTimeoutId = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"staleTimeoutId\"), _refetchIntervalId = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"refetchIntervalId\"), _currentRefetchInterval = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"currentRefetchInterval\"), _trackedProps = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"trackedProps\"), _executeFetch = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"executeFetch\"), _updateStaleTimeout = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"updateStaleTimeout\"), _computeRefetchInterval = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"computeRefetchInterval\"), _updateRefetchInterval = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"updateRefetchInterval\"), _updateTimers = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"updateTimers\"), _clearStaleTimeout = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"clearStaleTimeout\"), _clearRefetchInterval = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"clearRefetchInterval\"), _updateQuery = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"updateQuery\"), _notify = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"notify\"), class QueryObserver extends _subscribable_js__WEBPACK_IMPORTED_MODULE_8__.Subscribable {\n constructor(client, options) {\n super();\n Object.defineProperty(this, _notify, {\n value: _notify2\n });\n Object.defineProperty(this, _updateQuery, {\n value: _updateQuery2\n });\n Object.defineProperty(this, _clearRefetchInterval, {\n value: _clearRefetchInterval2\n });\n Object.defineProperty(this, _clearStaleTimeout, {\n value: _clearStaleTimeout2\n });\n Object.defineProperty(this, _updateTimers, {\n value: _updateTimers2\n });\n Object.defineProperty(this, _updateRefetchInterval, {\n value: _updateRefetchInterval2\n });\n Object.defineProperty(this, _computeRefetchInterval, {\n value: _computeRefetchInterval2\n });\n Object.defineProperty(this, _updateStaleTimeout, {\n value: _updateStaleTimeout2\n });\n Object.defineProperty(this, _executeFetch, {\n value: _executeFetch2\n });\n Object.defineProperty(this, _client, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _currentQuery, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _currentQueryInitialState, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _currentResult, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _currentResultState, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _currentResultOptions, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _currentThenable, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _selectError, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _selectFn, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _selectResult, {\n writable: true,\n value: void 0\n });\n // This property keeps track of the last query with defined data.\n // It will be used to pass the previous data and query to the placeholder function between renders.\n Object.defineProperty(this, _lastQueryWithDefinedData, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _staleTimeoutId, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _refetchIntervalId, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _currentRefetchInterval, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _trackedProps, {\n writable: true,\n value: /* @__PURE__ */new Set()\n });\n this.options = options;\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _client)[_client] = client;\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _selectError)[_selectError] = null;\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentThenable)[_currentThenable] = (0,_thenable_js__WEBPACK_IMPORTED_MODULE_9__.pendingThenable)();\n this.bindMethods();\n this.setOptions(options);\n }\n bindMethods() {\n this.refetch = this.refetch.bind(this);\n }\n onSubscribe() {\n if (this.listeners.size === 1) {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery].addObserver(this);\n if (shouldFetchOnMount((0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery], this.options)) {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _executeFetch)[_executeFetch]();\n } else {\n this.updateResult();\n }\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _updateTimers)[_updateTimers]();\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.destroy();\n }\n }\n shouldFetchOnReconnect() {\n return shouldFetchOn((0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery], this.options, this.options.refetchOnReconnect);\n }\n shouldFetchOnWindowFocus() {\n return shouldFetchOn((0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery], this.options, this.options.refetchOnWindowFocus);\n }\n destroy() {\n this.listeners = /* @__PURE__ */new Set();\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _clearStaleTimeout)[_clearStaleTimeout]();\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _clearRefetchInterval)[_clearRefetchInterval]();\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery].removeObserver(this);\n }\n setOptions(options) {\n const prevOptions = this.options;\n const prevQuery = (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery];\n this.options = (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _client)[_client].defaultQueryOptions(options);\n if (this.options.enabled !== void 0 && typeof this.options.enabled !== \"boolean\" && typeof this.options.enabled !== \"function\" && typeof (0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.resolveEnabled)(this.options.enabled, (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery]) !== \"boolean\") {\n throw new Error(\"Expected enabled to be a boolean or a callback that returns a boolean\");\n }\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _updateQuery)[_updateQuery]();\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery].setOptions(this.options);\n if (prevOptions._defaulted && !(0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.shallowEqualObjects)(this.options, prevOptions)) {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _client)[_client].getQueryCache().notify({\n type: \"observerOptionsUpdated\",\n query: (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery],\n observer: this\n });\n }\n const mounted = this.hasListeners();\n if (mounted && shouldFetchOptionally((0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery], prevQuery, this.options, prevOptions)) {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _executeFetch)[_executeFetch]();\n }\n this.updateResult();\n if (mounted && ((0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery] !== prevQuery || (0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.resolveEnabled)(this.options.enabled, (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery]) !== (0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.resolveEnabled)(prevOptions.enabled, (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery]) || (0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.resolveStaleTime)(this.options.staleTime, (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery]) !== (0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.resolveStaleTime)(prevOptions.staleTime, (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery]))) {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _updateStaleTimeout)[_updateStaleTimeout]();\n }\n const nextRefetchInterval = (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _computeRefetchInterval)[_computeRefetchInterval]();\n if (mounted && ((0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery] !== prevQuery || (0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.resolveEnabled)(this.options.enabled, (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery]) !== (0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.resolveEnabled)(prevOptions.enabled, (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery]) || nextRefetchInterval !== (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentRefetchInterval)[_currentRefetchInterval])) {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _updateRefetchInterval)[_updateRefetchInterval](nextRefetchInterval);\n }\n }\n getOptimisticResult(options) {\n const query = (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _client)[_client].getQueryCache().build((0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _client)[_client], options);\n const result = this.createResult(query, options);\n if (shouldAssignObserverCurrentProperties(this, result)) {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentResult)[_currentResult] = result;\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentResultOptions)[_currentResultOptions] = this.options;\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentResultState)[_currentResultState] = (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery].state;\n }\n return result;\n }\n getCurrentResult() {\n return (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentResult)[_currentResult];\n }\n trackResult(result, onPropTracked) {\n return new Proxy(result, {\n get: (target, key) => {\n this.trackProp(key);\n onPropTracked?.(key);\n if (key === \"promise\") {\n this.trackProp(\"data\");\n if (!this.options.experimental_prefetchInRender && (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentThenable)[_currentThenable].status === \"pending\") {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentThenable)[_currentThenable].reject(new Error(\"experimental_prefetchInRender feature flag is not enabled\"));\n }\n }\n return Reflect.get(target, key);\n }\n });\n }\n trackProp(key) {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _trackedProps)[_trackedProps].add(key);\n }\n getCurrentQuery() {\n return (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery];\n }\n refetch({\n ...options\n } = {}) {\n return this.fetch({\n ...options\n });\n }\n fetchOptimistic(options) {\n const defaultedOptions = (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _client)[_client].defaultQueryOptions(options);\n const query = (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _client)[_client].getQueryCache().build((0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _client)[_client], defaultedOptions);\n return query.fetch().then(() => this.createResult(query, defaultedOptions));\n }\n fetch(fetchOptions) {\n return (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _executeFetch)[_executeFetch]({\n ...fetchOptions,\n cancelRefetch: fetchOptions.cancelRefetch ?? true\n }).then(() => {\n this.updateResult();\n return (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentResult)[_currentResult];\n });\n }\n createResult(query, options) {\n const prevQuery = (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery];\n const prevOptions = this.options;\n const prevResult = (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentResult)[_currentResult];\n const prevResultState = (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentResultState)[_currentResultState];\n const prevResultOptions = (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentResultOptions)[_currentResultOptions];\n const queryChange = query !== prevQuery;\n const queryInitialState = queryChange ? query.state : (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQueryInitialState)[_currentQueryInitialState];\n const {\n state\n } = query;\n let newState = {\n ...state\n };\n let isPlaceholderData = false;\n let data;\n if (options._optimisticResults) {\n const mounted = this.hasListeners();\n const fetchOnMount = !mounted && shouldFetchOnMount(query, options);\n const fetchOptionally = mounted && shouldFetchOptionally(query, prevQuery, options, prevOptions);\n if (fetchOnMount || fetchOptionally) {\n newState = {\n ...newState,\n ...(0,_query_js__WEBPACK_IMPORTED_MODULE_7__.fetchState)(state.data, query.options)\n };\n }\n if (options._optimisticResults === \"isRestoring\") {\n newState.fetchStatus = \"idle\";\n }\n }\n let {\n error,\n errorUpdatedAt,\n status\n } = newState;\n data = newState.data;\n let skipSelect = false;\n if (options.placeholderData !== void 0 && data === void 0 && status === \"pending\") {\n let placeholderData;\n if (prevResult?.isPlaceholderData && options.placeholderData === prevResultOptions?.placeholderData) {\n placeholderData = prevResult.data;\n skipSelect = true;\n } else {\n placeholderData = typeof options.placeholderData === \"function\" ? options.placeholderData((0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _lastQueryWithDefinedData)[_lastQueryWithDefinedData]?.state.data, (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _lastQueryWithDefinedData)[_lastQueryWithDefinedData]) : options.placeholderData;\n }\n if (placeholderData !== void 0) {\n status = \"success\";\n data = (0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.replaceData)(prevResult?.data, placeholderData, options);\n isPlaceholderData = true;\n }\n }\n if (options.select && data !== void 0 && !skipSelect) {\n if (prevResult && data === prevResultState?.data && options.select === (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _selectFn)[_selectFn]) {\n data = (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _selectResult)[_selectResult];\n } else {\n try {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _selectFn)[_selectFn] = options.select;\n data = options.select(data);\n data = (0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.replaceData)(prevResult?.data, data, options);\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _selectResult)[_selectResult] = data;\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _selectError)[_selectError] = null;\n } catch (selectError) {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _selectError)[_selectError] = selectError;\n }\n }\n }\n if ((0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _selectError)[_selectError]) {\n error = (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _selectError)[_selectError];\n data = (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _selectResult)[_selectResult];\n errorUpdatedAt = Date.now();\n status = \"error\";\n }\n const isFetching = newState.fetchStatus === \"fetching\";\n const isPending = status === \"pending\";\n const isError = status === \"error\";\n const isLoading = isPending && isFetching;\n const hasData = data !== void 0;\n const result = {\n status,\n fetchStatus: newState.fetchStatus,\n isPending,\n isSuccess: status === \"success\",\n isError,\n isInitialLoading: isLoading,\n isLoading,\n data,\n dataUpdatedAt: newState.dataUpdatedAt,\n error,\n errorUpdatedAt,\n failureCount: newState.fetchFailureCount,\n failureReason: newState.fetchFailureReason,\n errorUpdateCount: newState.errorUpdateCount,\n isFetched: newState.dataUpdateCount > 0 || newState.errorUpdateCount > 0,\n isFetchedAfterMount: newState.dataUpdateCount > queryInitialState.dataUpdateCount || newState.errorUpdateCount > queryInitialState.errorUpdateCount,\n isFetching,\n isRefetching: isFetching && !isPending,\n isLoadingError: isError && !hasData,\n isPaused: newState.fetchStatus === \"paused\",\n isPlaceholderData,\n isRefetchError: isError && hasData,\n isStale: isStale(query, options),\n refetch: this.refetch,\n promise: (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentThenable)[_currentThenable],\n isEnabled: (0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.resolveEnabled)(options.enabled, query) !== false\n };\n const nextResult = result;\n if (this.options.experimental_prefetchInRender) {\n const finalizeThenableIfPossible = thenable => {\n if (nextResult.status === \"error\") {\n thenable.reject(nextResult.error);\n } else if (nextResult.data !== void 0) {\n thenable.resolve(nextResult.data);\n }\n };\n const recreateThenable = () => {\n const pending = (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentThenable)[_currentThenable] = nextResult.promise = (0,_thenable_js__WEBPACK_IMPORTED_MODULE_9__.pendingThenable)();\n finalizeThenableIfPossible(pending);\n };\n const prevThenable = (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentThenable)[_currentThenable];\n switch (prevThenable.status) {\n case \"pending\":\n if (query.queryHash === prevQuery.queryHash) {\n finalizeThenableIfPossible(prevThenable);\n }\n break;\n case \"fulfilled\":\n if (nextResult.status === \"error\" || nextResult.data !== prevThenable.value) {\n recreateThenable();\n }\n break;\n case \"rejected\":\n if (nextResult.status !== \"error\" || nextResult.error !== prevThenable.reason) {\n recreateThenable();\n }\n break;\n }\n }\n return nextResult;\n }\n updateResult() {\n const prevResult = (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentResult)[_currentResult];\n const nextResult = this.createResult((0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery], this.options);\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentResultState)[_currentResultState] = (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery].state;\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentResultOptions)[_currentResultOptions] = this.options;\n if ((0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentResultState)[_currentResultState].data !== void 0) {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _lastQueryWithDefinedData)[_lastQueryWithDefinedData] = (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery];\n }\n if ((0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.shallowEqualObjects)(nextResult, prevResult)) {\n return;\n }\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentResult)[_currentResult] = nextResult;\n const shouldNotifyListeners = () => {\n if (!prevResult) {\n return true;\n }\n const {\n notifyOnChangeProps\n } = this.options;\n const notifyOnChangePropsValue = typeof notifyOnChangeProps === \"function\" ? notifyOnChangeProps() : notifyOnChangeProps;\n if (notifyOnChangePropsValue === \"all\" || !notifyOnChangePropsValue && !(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _trackedProps)[_trackedProps].size) {\n return true;\n }\n const includedProps = new Set(notifyOnChangePropsValue ?? (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _trackedProps)[_trackedProps]);\n if (this.options.throwOnError) {\n includedProps.add(\"error\");\n }\n return Object.keys((0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentResult)[_currentResult]).some(key => {\n const typedKey = key;\n const changed = (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentResult)[_currentResult][typedKey] !== prevResult[typedKey];\n return changed && includedProps.has(typedKey);\n });\n };\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _notify)[_notify]({\n listeners: shouldNotifyListeners()\n });\n }\n onQueryUpdate() {\n this.updateResult();\n if (this.hasListeners()) {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _updateTimers)[_updateTimers]();\n }\n }\n});\nfunction _executeFetch2(fetchOptions) {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _updateQuery)[_updateQuery]();\n let promise = (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery].fetch(this.options, fetchOptions);\n if (!fetchOptions?.throwOnError) {\n promise = promise.catch(_utils_js__WEBPACK_IMPORTED_MODULE_10__.noop);\n }\n return promise;\n}\nfunction _updateStaleTimeout2() {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _clearStaleTimeout)[_clearStaleTimeout]();\n const staleTime = (0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.resolveStaleTime)(this.options.staleTime, (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery]);\n if (_utils_js__WEBPACK_IMPORTED_MODULE_10__.isServer || (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentResult)[_currentResult].isStale || !(0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.isValidTimeout)(staleTime)) {\n return;\n }\n const time = (0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.timeUntilStale)((0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentResult)[_currentResult].dataUpdatedAt, staleTime);\n const timeout = time + 1;\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _staleTimeoutId)[_staleTimeoutId] = _timeoutManager_js__WEBPACK_IMPORTED_MODULE_11__.timeoutManager.setTimeout(() => {\n if (!(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentResult)[_currentResult].isStale) {\n this.updateResult();\n }\n }, timeout);\n}\nfunction _computeRefetchInterval2() {\n return (typeof this.options.refetchInterval === \"function\" ? this.options.refetchInterval((0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery]) : this.options.refetchInterval) ?? false;\n}\nfunction _updateRefetchInterval2(nextInterval) {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _clearRefetchInterval)[_clearRefetchInterval]();\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentRefetchInterval)[_currentRefetchInterval] = nextInterval;\n if (_utils_js__WEBPACK_IMPORTED_MODULE_10__.isServer || (0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.resolveEnabled)(this.options.enabled, (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery]) === false || !(0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.isValidTimeout)((0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentRefetchInterval)[_currentRefetchInterval]) || (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentRefetchInterval)[_currentRefetchInterval] === 0) {\n return;\n }\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _refetchIntervalId)[_refetchIntervalId] = _timeoutManager_js__WEBPACK_IMPORTED_MODULE_11__.timeoutManager.setInterval(() => {\n if (this.options.refetchIntervalInBackground || _focusManager_js__WEBPACK_IMPORTED_MODULE_5__.focusManager.isFocused()) {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _executeFetch)[_executeFetch]();\n }\n }, (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentRefetchInterval)[_currentRefetchInterval]);\n}\nfunction _updateTimers2() {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _updateStaleTimeout)[_updateStaleTimeout]();\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _updateRefetchInterval)[_updateRefetchInterval]((0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _computeRefetchInterval)[_computeRefetchInterval]());\n}\nfunction _clearStaleTimeout2() {\n if ((0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _staleTimeoutId)[_staleTimeoutId]) {\n _timeoutManager_js__WEBPACK_IMPORTED_MODULE_11__.timeoutManager.clearTimeout((0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _staleTimeoutId)[_staleTimeoutId]);\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _staleTimeoutId)[_staleTimeoutId] = void 0;\n }\n}\nfunction _clearRefetchInterval2() {\n if ((0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _refetchIntervalId)[_refetchIntervalId]) {\n _timeoutManager_js__WEBPACK_IMPORTED_MODULE_11__.timeoutManager.clearInterval((0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _refetchIntervalId)[_refetchIntervalId]);\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _refetchIntervalId)[_refetchIntervalId] = void 0;\n }\n}\nfunction _updateQuery2() {\n const query = (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _client)[_client].getQueryCache().build((0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _client)[_client], this.options);\n if (query === (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery]) {\n return;\n }\n const prevQuery = (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery];\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery] = query;\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQueryInitialState)[_currentQueryInitialState] = query.state;\n if (this.hasListeners()) {\n prevQuery?.removeObserver(this);\n query.addObserver(this);\n }\n}\nfunction _notify2(notifyOptions) {\n _notifyManager_js__WEBPACK_IMPORTED_MODULE_6__.notifyManager.batch(() => {\n if (notifyOptions.listeners) {\n this.listeners.forEach(listener => {\n listener((0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentResult)[_currentResult]);\n });\n }\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _client)[_client].getQueryCache().notify({\n query: (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery],\n type: \"observerResultsUpdated\"\n });\n });\n}\nfunction shouldLoadOnMount(query, options) {\n return (0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.resolveEnabled)(options.enabled, query) !== false && query.state.data === void 0 && !(query.state.status === \"error\" && options.retryOnMount === false);\n}\nfunction shouldFetchOnMount(query, options) {\n return shouldLoadOnMount(query, options) || query.state.data !== void 0 && shouldFetchOn(query, options, options.refetchOnMount);\n}\nfunction shouldFetchOn(query, options, field) {\n if ((0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.resolveEnabled)(options.enabled, query) !== false && (0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.resolveStaleTime)(options.staleTime, query) !== \"static\") {\n const value = typeof field === \"function\" ? field(query) : field;\n return value === \"always\" || value !== false && isStale(query, options);\n }\n return false;\n}\nfunction shouldFetchOptionally(query, prevQuery, options, prevOptions) {\n return (query !== prevQuery || (0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.resolveEnabled)(prevOptions.enabled, query) === false) && (!options.suspense || query.state.status !== \"error\") && isStale(query, options);\n}\nfunction isStale(query, options) {\n return (0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.resolveEnabled)(options.enabled, query) !== false && query.isStaleByTime((0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.resolveStaleTime)(options.staleTime, query));\n}\nfunction shouldAssignObserverCurrentProperties(observer, optimisticResult) {\n if (!(0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.shallowEqualObjects)(observer.getCurrentResult(), optimisticResult)) {\n return true;\n }\n return false;\n}\n\n\n//# sourceURL=webpack://jandl/./node_modules/@tanstack/query-core/build/modern/queryObserver.js?\n}"); +eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ QueryObserver: function() { return /* binding */ QueryObserver; }\n/* harmony export */ });\n/* harmony import */ var _Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js */ \"./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js\");\n/* harmony import */ var _Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js */ \"./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ \"./node_modules/core-js/modules/esnext.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/esnext.iterator.for-each.js */ \"./node_modules/core-js/modules/esnext.iterator.for-each.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_some_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/esnext.iterator.some.js */ \"./node_modules/core-js/modules/esnext.iterator.some.js\");\n/* harmony import */ var _focusManager_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./focusManager.js */ \"./node_modules/@tanstack/query-core/build/modern/focusManager.js\");\n/* harmony import */ var _notifyManager_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./notifyManager.js */ \"./node_modules/@tanstack/query-core/build/modern/notifyManager.js\");\n/* harmony import */ var _query_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./query.js */ \"./node_modules/@tanstack/query-core/build/modern/query.js\");\n/* harmony import */ var _subscribable_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./subscribable.js */ \"./node_modules/@tanstack/query-core/build/modern/subscribable.js\");\n/* harmony import */ var _thenable_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./thenable.js */ \"./node_modules/@tanstack/query-core/build/modern/thenable.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./utils.js */ \"./node_modules/@tanstack/query-core/build/modern/utils.js\");\n/* harmony import */ var _timeoutManager_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./timeoutManager.js */ \"./node_modules/@tanstack/query-core/build/modern/timeoutManager.js\");\n\n\nvar _client, _currentQuery, _currentQueryInitialState, _currentResult, _currentResultState, _currentResultOptions, _currentThenable, _selectError, _selectFn, _selectResult, _lastQueryWithDefinedData, _staleTimeoutId, _refetchIntervalId, _currentRefetchInterval, _trackedProps, _executeFetch, _updateStaleTimeout, _computeRefetchInterval, _updateRefetchInterval, _updateTimers, _clearStaleTimeout, _clearRefetchInterval, _updateQuery, _notify;\n\n\n\n// src/queryObserver.ts\n\n\n\n\n\n\n\nvar QueryObserver = (_client = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"client\"), _currentQuery = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"currentQuery\"), _currentQueryInitialState = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"currentQueryInitialState\"), _currentResult = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"currentResult\"), _currentResultState = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"currentResultState\"), _currentResultOptions = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"currentResultOptions\"), _currentThenable = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"currentThenable\"), _selectError = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"selectError\"), _selectFn = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"selectFn\"), _selectResult = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"selectResult\"), _lastQueryWithDefinedData = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"lastQueryWithDefinedData\"), _staleTimeoutId = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"staleTimeoutId\"), _refetchIntervalId = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"refetchIntervalId\"), _currentRefetchInterval = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"currentRefetchInterval\"), _trackedProps = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"trackedProps\"), _executeFetch = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"executeFetch\"), _updateStaleTimeout = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"updateStaleTimeout\"), _computeRefetchInterval = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"computeRefetchInterval\"), _updateRefetchInterval = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"updateRefetchInterval\"), _updateTimers = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"updateTimers\"), _clearStaleTimeout = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"clearStaleTimeout\"), _clearRefetchInterval = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"clearRefetchInterval\"), _updateQuery = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"updateQuery\"), _notify = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"notify\"), class QueryObserver extends _subscribable_js__WEBPACK_IMPORTED_MODULE_8__.Subscribable {\n constructor(client, options) {\n super();\n Object.defineProperty(this, _notify, {\n value: _notify2\n });\n Object.defineProperty(this, _updateQuery, {\n value: _updateQuery2\n });\n Object.defineProperty(this, _clearRefetchInterval, {\n value: _clearRefetchInterval2\n });\n Object.defineProperty(this, _clearStaleTimeout, {\n value: _clearStaleTimeout2\n });\n Object.defineProperty(this, _updateTimers, {\n value: _updateTimers2\n });\n Object.defineProperty(this, _updateRefetchInterval, {\n value: _updateRefetchInterval2\n });\n Object.defineProperty(this, _computeRefetchInterval, {\n value: _computeRefetchInterval2\n });\n Object.defineProperty(this, _updateStaleTimeout, {\n value: _updateStaleTimeout2\n });\n Object.defineProperty(this, _executeFetch, {\n value: _executeFetch2\n });\n Object.defineProperty(this, _client, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _currentQuery, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _currentQueryInitialState, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _currentResult, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _currentResultState, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _currentResultOptions, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _currentThenable, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _selectError, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _selectFn, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _selectResult, {\n writable: true,\n value: void 0\n });\n // This property keeps track of the last query with defined data.\n // It will be used to pass the previous data and query to the placeholder function between renders.\n Object.defineProperty(this, _lastQueryWithDefinedData, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _staleTimeoutId, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _refetchIntervalId, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _currentRefetchInterval, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _trackedProps, {\n writable: true,\n value: /* @__PURE__ */new Set()\n });\n this.options = options;\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _client)[_client] = client;\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _selectError)[_selectError] = null;\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentThenable)[_currentThenable] = (0,_thenable_js__WEBPACK_IMPORTED_MODULE_9__.pendingThenable)();\n this.bindMethods();\n this.setOptions(options);\n }\n bindMethods() {\n this.refetch = this.refetch.bind(this);\n }\n onSubscribe() {\n if (this.listeners.size === 1) {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery].addObserver(this);\n if (shouldFetchOnMount((0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery], this.options)) {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _executeFetch)[_executeFetch]();\n } else {\n this.updateResult();\n }\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _updateTimers)[_updateTimers]();\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.destroy();\n }\n }\n shouldFetchOnReconnect() {\n return shouldFetchOn((0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery], this.options, this.options.refetchOnReconnect);\n }\n shouldFetchOnWindowFocus() {\n return shouldFetchOn((0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery], this.options, this.options.refetchOnWindowFocus);\n }\n destroy() {\n this.listeners = /* @__PURE__ */new Set();\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _clearStaleTimeout)[_clearStaleTimeout]();\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _clearRefetchInterval)[_clearRefetchInterval]();\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery].removeObserver(this);\n }\n setOptions(options) {\n const prevOptions = this.options;\n const prevQuery = (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery];\n this.options = (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _client)[_client].defaultQueryOptions(options);\n if (this.options.enabled !== void 0 && typeof this.options.enabled !== \"boolean\" && typeof this.options.enabled !== \"function\" && typeof (0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.resolveEnabled)(this.options.enabled, (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery]) !== \"boolean\") {\n throw new Error(\"Expected enabled to be a boolean or a callback that returns a boolean\");\n }\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _updateQuery)[_updateQuery]();\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery].setOptions(this.options);\n if (prevOptions._defaulted && !(0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.shallowEqualObjects)(this.options, prevOptions)) {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _client)[_client].getQueryCache().notify({\n type: \"observerOptionsUpdated\",\n query: (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery],\n observer: this\n });\n }\n const mounted = this.hasListeners();\n if (mounted && shouldFetchOptionally((0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery], prevQuery, this.options, prevOptions)) {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _executeFetch)[_executeFetch]();\n }\n this.updateResult();\n if (mounted && ((0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery] !== prevQuery || (0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.resolveEnabled)(this.options.enabled, (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery]) !== (0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.resolveEnabled)(prevOptions.enabled, (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery]) || (0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.resolveStaleTime)(this.options.staleTime, (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery]) !== (0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.resolveStaleTime)(prevOptions.staleTime, (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery]))) {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _updateStaleTimeout)[_updateStaleTimeout]();\n }\n const nextRefetchInterval = (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _computeRefetchInterval)[_computeRefetchInterval]();\n if (mounted && ((0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery] !== prevQuery || (0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.resolveEnabled)(this.options.enabled, (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery]) !== (0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.resolveEnabled)(prevOptions.enabled, (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery]) || nextRefetchInterval !== (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentRefetchInterval)[_currentRefetchInterval])) {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _updateRefetchInterval)[_updateRefetchInterval](nextRefetchInterval);\n }\n }\n getOptimisticResult(options) {\n const query = (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _client)[_client].getQueryCache().build((0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _client)[_client], options);\n const result = this.createResult(query, options);\n if (shouldAssignObserverCurrentProperties(this, result)) {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentResult)[_currentResult] = result;\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentResultOptions)[_currentResultOptions] = this.options;\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentResultState)[_currentResultState] = (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery].state;\n }\n return result;\n }\n getCurrentResult() {\n return (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentResult)[_currentResult];\n }\n trackResult(result, onPropTracked) {\n return new Proxy(result, {\n get: (target, key) => {\n this.trackProp(key);\n onPropTracked?.(key);\n if (key === \"promise\") {\n this.trackProp(\"data\");\n if (!this.options.experimental_prefetchInRender && (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentThenable)[_currentThenable].status === \"pending\") {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentThenable)[_currentThenable].reject(new Error(\"experimental_prefetchInRender feature flag is not enabled\"));\n }\n }\n return Reflect.get(target, key);\n }\n });\n }\n trackProp(key) {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _trackedProps)[_trackedProps].add(key);\n }\n getCurrentQuery() {\n return (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery];\n }\n refetch({\n ...options\n } = {}) {\n return this.fetch({\n ...options\n });\n }\n fetchOptimistic(options) {\n const defaultedOptions = (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _client)[_client].defaultQueryOptions(options);\n const query = (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _client)[_client].getQueryCache().build((0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _client)[_client], defaultedOptions);\n return query.fetch().then(() => this.createResult(query, defaultedOptions));\n }\n fetch(fetchOptions) {\n return (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _executeFetch)[_executeFetch]({\n ...fetchOptions,\n cancelRefetch: fetchOptions.cancelRefetch ?? true\n }).then(() => {\n this.updateResult();\n return (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentResult)[_currentResult];\n });\n }\n createResult(query, options) {\n const prevQuery = (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery];\n const prevOptions = this.options;\n const prevResult = (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentResult)[_currentResult];\n const prevResultState = (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentResultState)[_currentResultState];\n const prevResultOptions = (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentResultOptions)[_currentResultOptions];\n const queryChange = query !== prevQuery;\n const queryInitialState = queryChange ? query.state : (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQueryInitialState)[_currentQueryInitialState];\n const {\n state\n } = query;\n let newState = {\n ...state\n };\n let isPlaceholderData = false;\n let data;\n if (options._optimisticResults) {\n const mounted = this.hasListeners();\n const fetchOnMount = !mounted && shouldFetchOnMount(query, options);\n const fetchOptionally = mounted && shouldFetchOptionally(query, prevQuery, options, prevOptions);\n if (fetchOnMount || fetchOptionally) {\n newState = {\n ...newState,\n ...(0,_query_js__WEBPACK_IMPORTED_MODULE_7__.fetchState)(state.data, query.options)\n };\n }\n if (options._optimisticResults === \"isRestoring\") {\n newState.fetchStatus = \"idle\";\n }\n }\n let {\n error,\n errorUpdatedAt,\n status\n } = newState;\n data = newState.data;\n let skipSelect = false;\n if (options.placeholderData !== void 0 && data === void 0 && status === \"pending\") {\n let placeholderData;\n if (prevResult?.isPlaceholderData && options.placeholderData === prevResultOptions?.placeholderData) {\n placeholderData = prevResult.data;\n skipSelect = true;\n } else {\n placeholderData = typeof options.placeholderData === \"function\" ? options.placeholderData((0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _lastQueryWithDefinedData)[_lastQueryWithDefinedData]?.state.data, (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _lastQueryWithDefinedData)[_lastQueryWithDefinedData]) : options.placeholderData;\n }\n if (placeholderData !== void 0) {\n status = \"success\";\n data = (0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.replaceData)(prevResult?.data, placeholderData, options);\n isPlaceholderData = true;\n }\n }\n if (options.select && data !== void 0 && !skipSelect) {\n if (prevResult && data === prevResultState?.data && options.select === (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _selectFn)[_selectFn]) {\n data = (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _selectResult)[_selectResult];\n } else {\n try {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _selectFn)[_selectFn] = options.select;\n data = options.select(data);\n data = (0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.replaceData)(prevResult?.data, data, options);\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _selectResult)[_selectResult] = data;\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _selectError)[_selectError] = null;\n } catch (selectError) {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _selectError)[_selectError] = selectError;\n }\n }\n }\n if ((0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _selectError)[_selectError]) {\n error = (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _selectError)[_selectError];\n data = (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _selectResult)[_selectResult];\n errorUpdatedAt = Date.now();\n status = \"error\";\n }\n const isFetching = newState.fetchStatus === \"fetching\";\n const isPending = status === \"pending\";\n const isError = status === \"error\";\n const isLoading = isPending && isFetching;\n const hasData = data !== void 0;\n const result = {\n status,\n fetchStatus: newState.fetchStatus,\n isPending,\n isSuccess: status === \"success\",\n isError,\n isInitialLoading: isLoading,\n isLoading,\n data,\n dataUpdatedAt: newState.dataUpdatedAt,\n error,\n errorUpdatedAt,\n failureCount: newState.fetchFailureCount,\n failureReason: newState.fetchFailureReason,\n errorUpdateCount: newState.errorUpdateCount,\n isFetched: newState.dataUpdateCount > 0 || newState.errorUpdateCount > 0,\n isFetchedAfterMount: newState.dataUpdateCount > queryInitialState.dataUpdateCount || newState.errorUpdateCount > queryInitialState.errorUpdateCount,\n isFetching,\n isRefetching: isFetching && !isPending,\n isLoadingError: isError && !hasData,\n isPaused: newState.fetchStatus === \"paused\",\n isPlaceholderData,\n isRefetchError: isError && hasData,\n isStale: isStale(query, options),\n refetch: this.refetch,\n promise: (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentThenable)[_currentThenable],\n isEnabled: (0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.resolveEnabled)(options.enabled, query) !== false\n };\n const nextResult = result;\n if (this.options.experimental_prefetchInRender) {\n const finalizeThenableIfPossible = thenable => {\n if (nextResult.status === \"error\") {\n thenable.reject(nextResult.error);\n } else if (nextResult.data !== void 0) {\n thenable.resolve(nextResult.data);\n }\n };\n const recreateThenable = () => {\n const pending = (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentThenable)[_currentThenable] = nextResult.promise = (0,_thenable_js__WEBPACK_IMPORTED_MODULE_9__.pendingThenable)();\n finalizeThenableIfPossible(pending);\n };\n const prevThenable = (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentThenable)[_currentThenable];\n switch (prevThenable.status) {\n case \"pending\":\n if (query.queryHash === prevQuery.queryHash) {\n finalizeThenableIfPossible(prevThenable);\n }\n break;\n case \"fulfilled\":\n if (nextResult.status === \"error\" || nextResult.data !== prevThenable.value) {\n recreateThenable();\n }\n break;\n case \"rejected\":\n if (nextResult.status !== \"error\" || nextResult.error !== prevThenable.reason) {\n recreateThenable();\n }\n break;\n }\n }\n return nextResult;\n }\n updateResult() {\n const prevResult = (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentResult)[_currentResult];\n const nextResult = this.createResult((0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery], this.options);\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentResultState)[_currentResultState] = (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery].state;\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentResultOptions)[_currentResultOptions] = this.options;\n if ((0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentResultState)[_currentResultState].data !== void 0) {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _lastQueryWithDefinedData)[_lastQueryWithDefinedData] = (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery];\n }\n if ((0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.shallowEqualObjects)(nextResult, prevResult)) {\n return;\n }\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentResult)[_currentResult] = nextResult;\n const shouldNotifyListeners = () => {\n if (!prevResult) {\n return true;\n }\n const {\n notifyOnChangeProps\n } = this.options;\n const notifyOnChangePropsValue = typeof notifyOnChangeProps === \"function\" ? notifyOnChangeProps() : notifyOnChangeProps;\n if (notifyOnChangePropsValue === \"all\" || !notifyOnChangePropsValue && !(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _trackedProps)[_trackedProps].size) {\n return true;\n }\n const includedProps = new Set(notifyOnChangePropsValue ?? (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _trackedProps)[_trackedProps]);\n if (this.options.throwOnError) {\n includedProps.add(\"error\");\n }\n return Object.keys((0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentResult)[_currentResult]).some(key => {\n const typedKey = key;\n const changed = (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentResult)[_currentResult][typedKey] !== prevResult[typedKey];\n return changed && includedProps.has(typedKey);\n });\n };\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _notify)[_notify]({\n listeners: shouldNotifyListeners()\n });\n }\n onQueryUpdate() {\n this.updateResult();\n if (this.hasListeners()) {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _updateTimers)[_updateTimers]();\n }\n }\n});\nfunction _executeFetch2(fetchOptions) {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _updateQuery)[_updateQuery]();\n let promise = (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery].fetch(this.options, fetchOptions);\n if (!fetchOptions?.throwOnError) {\n promise = promise.catch(_utils_js__WEBPACK_IMPORTED_MODULE_10__.noop);\n }\n return promise;\n}\nfunction _updateStaleTimeout2() {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _clearStaleTimeout)[_clearStaleTimeout]();\n const staleTime = (0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.resolveStaleTime)(this.options.staleTime, (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery]);\n if (_utils_js__WEBPACK_IMPORTED_MODULE_10__.isServer || (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentResult)[_currentResult].isStale || !(0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.isValidTimeout)(staleTime)) {\n return;\n }\n const time = (0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.timeUntilStale)((0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentResult)[_currentResult].dataUpdatedAt, staleTime);\n const timeout = time + 1;\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _staleTimeoutId)[_staleTimeoutId] = _timeoutManager_js__WEBPACK_IMPORTED_MODULE_11__.timeoutManager.setTimeout(() => {\n if (!(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentResult)[_currentResult].isStale) {\n this.updateResult();\n }\n }, timeout);\n}\nfunction _computeRefetchInterval2() {\n return (typeof this.options.refetchInterval === \"function\" ? this.options.refetchInterval((0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery]) : this.options.refetchInterval) ?? false;\n}\nfunction _updateRefetchInterval2(nextInterval) {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _clearRefetchInterval)[_clearRefetchInterval]();\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentRefetchInterval)[_currentRefetchInterval] = nextInterval;\n if (_utils_js__WEBPACK_IMPORTED_MODULE_10__.isServer || (0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.resolveEnabled)(this.options.enabled, (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery]) === false || !(0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.isValidTimeout)((0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentRefetchInterval)[_currentRefetchInterval]) || (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentRefetchInterval)[_currentRefetchInterval] === 0) {\n return;\n }\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _refetchIntervalId)[_refetchIntervalId] = _timeoutManager_js__WEBPACK_IMPORTED_MODULE_11__.timeoutManager.setInterval(() => {\n if (this.options.refetchIntervalInBackground || _focusManager_js__WEBPACK_IMPORTED_MODULE_5__.focusManager.isFocused()) {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _executeFetch)[_executeFetch]();\n }\n }, (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentRefetchInterval)[_currentRefetchInterval]);\n}\nfunction _updateTimers2() {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _updateStaleTimeout)[_updateStaleTimeout]();\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _updateRefetchInterval)[_updateRefetchInterval]((0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _computeRefetchInterval)[_computeRefetchInterval]());\n}\nfunction _clearStaleTimeout2() {\n if ((0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _staleTimeoutId)[_staleTimeoutId]) {\n _timeoutManager_js__WEBPACK_IMPORTED_MODULE_11__.timeoutManager.clearTimeout((0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _staleTimeoutId)[_staleTimeoutId]);\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _staleTimeoutId)[_staleTimeoutId] = void 0;\n }\n}\nfunction _clearRefetchInterval2() {\n if ((0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _refetchIntervalId)[_refetchIntervalId]) {\n _timeoutManager_js__WEBPACK_IMPORTED_MODULE_11__.timeoutManager.clearInterval((0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _refetchIntervalId)[_refetchIntervalId]);\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _refetchIntervalId)[_refetchIntervalId] = void 0;\n }\n}\nfunction _updateQuery2() {\n const query = (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _client)[_client].getQueryCache().build((0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _client)[_client], this.options);\n if (query === (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery]) {\n return;\n }\n const prevQuery = (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery];\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery] = query;\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQueryInitialState)[_currentQueryInitialState] = query.state;\n if (this.hasListeners()) {\n prevQuery?.removeObserver(this);\n query.addObserver(this);\n }\n}\nfunction _notify2(notifyOptions) {\n _notifyManager_js__WEBPACK_IMPORTED_MODULE_6__.notifyManager.batch(() => {\n if (notifyOptions.listeners) {\n this.listeners.forEach(listener => {\n listener((0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentResult)[_currentResult]);\n });\n }\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _client)[_client].getQueryCache().notify({\n query: (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _currentQuery)[_currentQuery],\n type: \"observerResultsUpdated\"\n });\n });\n}\nfunction shouldLoadOnMount(query, options) {\n return (0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.resolveEnabled)(options.enabled, query) !== false && query.state.data === void 0 && !(query.state.status === \"error\" && options.retryOnMount === false);\n}\nfunction shouldFetchOnMount(query, options) {\n return shouldLoadOnMount(query, options) || query.state.data !== void 0 && shouldFetchOn(query, options, options.refetchOnMount);\n}\nfunction shouldFetchOn(query, options, field) {\n if ((0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.resolveEnabled)(options.enabled, query) !== false && (0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.resolveStaleTime)(options.staleTime, query) !== \"static\") {\n const value = typeof field === \"function\" ? field(query) : field;\n return value === \"always\" || value !== false && isStale(query, options);\n }\n return false;\n}\nfunction shouldFetchOptionally(query, prevQuery, options, prevOptions) {\n return (query !== prevQuery || (0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.resolveEnabled)(prevOptions.enabled, query) === false) && (!options.suspense || query.state.status !== \"error\") && isStale(query, options);\n}\nfunction isStale(query, options) {\n return (0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.resolveEnabled)(options.enabled, query) !== false && query.isStaleByTime((0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.resolveStaleTime)(options.staleTime, query));\n}\nfunction shouldAssignObserverCurrentProperties(observer, optimisticResult) {\n if (!(0,_utils_js__WEBPACK_IMPORTED_MODULE_10__.shallowEqualObjects)(observer.getCurrentResult(), optimisticResult)) {\n return true;\n }\n return false;\n}\n\n\n//# sourceURL=webpack://jandl/./node_modules/@tanstack/query-core/build/modern/queryObserver.js?\n}"); /***/ }), @@ -2006,7 +2006,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa /***/ (function(__unused_webpack___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 */ Removable: function() { return /* binding */ Removable; }\n/* harmony export */ });\n/* harmony import */ var _Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js */ \"./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js\");\n/* harmony import */ var _Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js */ \"./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js\");\n/* harmony import */ var _timeoutManager_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./timeoutManager.js */ \"./node_modules/@tanstack/query-core/build/modern/timeoutManager.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils.js */ \"./node_modules/@tanstack/query-core/build/modern/utils.js\");\n\n\nvar _gcTimeout;\n// src/removable.ts\n\n\nvar Removable = (_gcTimeout = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"gcTimeout\"), class Removable {\n constructor() {\n Object.defineProperty(this, _gcTimeout, {\n writable: true,\n value: void 0\n });\n }\n destroy() {\n this.clearGcTimeout();\n }\n scheduleGc() {\n this.clearGcTimeout();\n if ((0,_utils_js__WEBPACK_IMPORTED_MODULE_3__.isValidTimeout)(this.gcTime)) {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _gcTimeout)[_gcTimeout] = _timeoutManager_js__WEBPACK_IMPORTED_MODULE_2__.timeoutManager.setTimeout(() => {\n this.optionalRemove();\n }, this.gcTime);\n }\n }\n updateGcTime(newGcTime) {\n this.gcTime = Math.max(this.gcTime || 0, newGcTime ?? (_utils_js__WEBPACK_IMPORTED_MODULE_3__.isServer ? Infinity : 5 * 60 * 1e3));\n }\n clearGcTimeout() {\n if ((0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _gcTimeout)[_gcTimeout]) {\n _timeoutManager_js__WEBPACK_IMPORTED_MODULE_2__.timeoutManager.clearTimeout((0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _gcTimeout)[_gcTimeout]);\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _gcTimeout)[_gcTimeout] = void 0;\n }\n }\n});\n\n\n//# sourceURL=webpack://jandl/./node_modules/@tanstack/query-core/build/modern/removable.js?\n}"); +eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Removable: function() { return /* binding */ Removable; }\n/* harmony export */ });\n/* harmony import */ var _Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js */ \"./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js\");\n/* harmony import */ var _Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js */ \"./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js\");\n/* harmony import */ var _timeoutManager_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./timeoutManager.js */ \"./node_modules/@tanstack/query-core/build/modern/timeoutManager.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils.js */ \"./node_modules/@tanstack/query-core/build/modern/utils.js\");\n\n\nvar _gcTimeout;\n// src/removable.ts\n\n\nvar Removable = (_gcTimeout = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"gcTimeout\"), class Removable {\n constructor() {\n Object.defineProperty(this, _gcTimeout, {\n writable: true,\n value: void 0\n });\n }\n destroy() {\n this.clearGcTimeout();\n }\n scheduleGc() {\n this.clearGcTimeout();\n if ((0,_utils_js__WEBPACK_IMPORTED_MODULE_3__.isValidTimeout)(this.gcTime)) {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _gcTimeout)[_gcTimeout] = _timeoutManager_js__WEBPACK_IMPORTED_MODULE_2__.timeoutManager.setTimeout(() => {\n this.optionalRemove();\n }, this.gcTime);\n }\n }\n updateGcTime(newGcTime) {\n this.gcTime = Math.max(this.gcTime || 0, newGcTime ?? (_utils_js__WEBPACK_IMPORTED_MODULE_3__.isServer ? Infinity : 5 * 60 * 1e3));\n }\n clearGcTimeout() {\n if ((0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _gcTimeout)[_gcTimeout]) {\n _timeoutManager_js__WEBPACK_IMPORTED_MODULE_2__.timeoutManager.clearTimeout((0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _gcTimeout)[_gcTimeout]);\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _gcTimeout)[_gcTimeout] = void 0;\n }\n }\n});\n\n\n//# sourceURL=webpack://jandl/./node_modules/@tanstack/query-core/build/modern/removable.js?\n}"); /***/ }), @@ -2050,7 +2050,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa /***/ (function(__unused_webpack___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 */ TimeoutManager: function() { return /* binding */ TimeoutManager; },\n/* harmony export */ defaultTimeoutProvider: function() { return /* binding */ defaultTimeoutProvider; },\n/* harmony export */ systemSetTimeoutZero: function() { return /* binding */ systemSetTimeoutZero; },\n/* harmony export */ timeoutManager: function() { return /* binding */ timeoutManager; }\n/* harmony export */ });\n/* harmony import */ var _Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js */ \"./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js\");\n/* harmony import */ var _Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js */ \"./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js\");\n/* provided dependency */ var console = __webpack_require__(/*! ./node_modules/console-browserify/index.js */ \"./node_modules/console-browserify/index.js\");\n\n\nvar _provider, _providerCalled;\n// src/timeoutManager.ts\nvar defaultTimeoutProvider = {\n // We need the wrapper function syntax below instead of direct references to\n // global setTimeout etc.\n //\n // BAD: `setTimeout: setTimeout`\n // GOOD: `setTimeout: (cb, delay) => setTimeout(cb, delay)`\n //\n // If we use direct references here, then anything that wants to spy on or\n // replace the global setTimeout (like tests) won't work since we'll already\n // have a hard reference to the original implementation at the time when this\n // file was imported.\n setTimeout: (callback, delay) => setTimeout(callback, delay),\n clearTimeout: timeoutId => clearTimeout(timeoutId),\n setInterval: (callback, delay) => setInterval(callback, delay),\n clearInterval: intervalId => clearInterval(intervalId)\n};\nvar TimeoutManager = (_provider = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"provider\"), _providerCalled = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"providerCalled\"), class TimeoutManager {\n constructor() {\n // We cannot have TimeoutManager as we must instantiate it with a concrete\n // type at app boot; and if we leave that type, then any new timer provider\n // would need to support ReturnType, which is infeasible.\n //\n // We settle for type safety for the TimeoutProvider type, and accept that\n // this class is unsafe internally to allow for extension.\n Object.defineProperty(this, _provider, {\n writable: true,\n value: defaultTimeoutProvider\n });\n Object.defineProperty(this, _providerCalled, {\n writable: true,\n value: false\n });\n }\n setTimeoutProvider(provider) {\n if (true) {\n if ((0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _providerCalled)[_providerCalled] && provider !== (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _provider)[_provider]) {\n console.error(`[timeoutManager]: Switching provider after calls to previous provider might result in unexpected behavior.`, {\n previous: (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _provider)[_provider],\n provider\n });\n }\n }\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _provider)[_provider] = provider;\n if (true) {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _providerCalled)[_providerCalled] = false;\n }\n }\n setTimeout(callback, delay) {\n if (true) {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _providerCalled)[_providerCalled] = true;\n }\n return (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _provider)[_provider].setTimeout(callback, delay);\n }\n clearTimeout(timeoutId) {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _provider)[_provider].clearTimeout(timeoutId);\n }\n setInterval(callback, delay) {\n if (true) {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _providerCalled)[_providerCalled] = true;\n }\n return (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _provider)[_provider].setInterval(callback, delay);\n }\n clearInterval(intervalId) {\n (0,_Users_matejglasnak_gitrepo_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _provider)[_provider].clearInterval(intervalId);\n }\n});\nvar timeoutManager = new TimeoutManager();\nfunction systemSetTimeoutZero(callback) {\n setTimeout(callback, 0);\n}\n\n\n//# sourceURL=webpack://jandl/./node_modules/@tanstack/query-core/build/modern/timeoutManager.js?\n}"); +eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TimeoutManager: function() { return /* binding */ TimeoutManager; },\n/* harmony export */ defaultTimeoutProvider: function() { return /* binding */ defaultTimeoutProvider; },\n/* harmony export */ systemSetTimeoutZero: function() { return /* binding */ systemSetTimeoutZero; },\n/* harmony export */ timeoutManager: function() { return /* binding */ timeoutManager; }\n/* harmony export */ });\n/* harmony import */ var _Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js */ \"./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js\");\n/* harmony import */ var _Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js */ \"./node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js\");\n/* provided dependency */ var console = __webpack_require__(/*! ./node_modules/console-browserify/index.js */ \"./node_modules/console-browserify/index.js\");\n\n\nvar _provider, _providerCalled;\n// src/timeoutManager.ts\nvar defaultTimeoutProvider = {\n // We need the wrapper function syntax below instead of direct references to\n // global setTimeout etc.\n //\n // BAD: `setTimeout: setTimeout`\n // GOOD: `setTimeout: (cb, delay) => setTimeout(cb, delay)`\n //\n // If we use direct references here, then anything that wants to spy on or\n // replace the global setTimeout (like tests) won't work since we'll already\n // have a hard reference to the original implementation at the time when this\n // file was imported.\n setTimeout: (callback, delay) => setTimeout(callback, delay),\n clearTimeout: timeoutId => clearTimeout(timeoutId),\n setInterval: (callback, delay) => setInterval(callback, delay),\n clearInterval: intervalId => clearInterval(intervalId)\n};\nvar TimeoutManager = (_provider = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"provider\"), _providerCalled = /*#__PURE__*/(0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseKey_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"providerCalled\"), class TimeoutManager {\n constructor() {\n // We cannot have TimeoutManager as we must instantiate it with a concrete\n // type at app boot; and if we leave that type, then any new timer provider\n // would need to support ReturnType, which is infeasible.\n //\n // We settle for type safety for the TimeoutProvider type, and accept that\n // this class is unsafe internally to allow for extension.\n Object.defineProperty(this, _provider, {\n writable: true,\n value: defaultTimeoutProvider\n });\n Object.defineProperty(this, _providerCalled, {\n writable: true,\n value: false\n });\n }\n setTimeoutProvider(provider) {\n if (true) {\n if ((0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _providerCalled)[_providerCalled] && provider !== (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _provider)[_provider]) {\n console.error(`[timeoutManager]: Switching provider after calls to previous provider might result in unexpected behavior.`, {\n previous: (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _provider)[_provider],\n provider\n });\n }\n }\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _provider)[_provider] = provider;\n if (true) {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _providerCalled)[_providerCalled] = false;\n }\n }\n setTimeout(callback, delay) {\n if (true) {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _providerCalled)[_providerCalled] = true;\n }\n return (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _provider)[_provider].setTimeout(callback, delay);\n }\n clearTimeout(timeoutId) {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _provider)[_provider].clearTimeout(timeoutId);\n }\n setInterval(callback, delay) {\n if (true) {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _providerCalled)[_providerCalled] = true;\n }\n return (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _provider)[_provider].setInterval(callback, delay);\n }\n clearInterval(intervalId) {\n (0,_Users_matejglasnak_gitrepo_jandl_jandl_taskmanager_app_app_node_modules_babel_runtime_helpers_esm_classPrivateFieldLooseBase_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _provider)[_provider].clearInterval(intervalId);\n }\n});\nvar timeoutManager = new TimeoutManager();\nfunction systemSetTimeoutZero(callback) {\n setTimeout(callback, 0);\n}\n\n\n//# sourceURL=webpack://jandl/./node_modules/@tanstack/query-core/build/modern/timeoutManager.js?\n}"); /***/ }), diff --git a/app/dist/js/index.js b/app/dist/js/index.js index 29e2cc4..5a4d4b1 100644 --- a/app/dist/js/index.js +++ b/app/dist/js/index.js @@ -455,7 +455,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var cor /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_json_stringify_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.json.stringify.js */ \"./node_modules/core-js/modules/es.json.stringify.js\");\n/* harmony import */ var core_js_modules_es_json_stringify_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_json_stringify_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ \"./node_modules/core-js/modules/esnext.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/esnext.iterator.filter.js */ \"./node_modules/core-js/modules/esnext.iterator.filter.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/esnext.iterator.find.js */ \"./node_modules/core-js/modules/esnext.iterator.find.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/esnext.iterator.for-each.js */ \"./node_modules/core-js/modules/esnext.iterator.for-each.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/esnext.iterator.map.js */ \"./node_modules/core-js/modules/esnext.iterator.map.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var core_js_modules_esnext_iterator_some_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/esnext.iterator.some.js */ \"./node_modules/core-js/modules/esnext.iterator.some.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_some_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_some_js__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/plugins/tm@_utils/tm.utils */ \"./src/plugins/tm@_utils/tm.utils.ts\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! moment */ \"./node_modules/moment/moment.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var _plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/plugins/tm@modal/_mixins/modal.mixin */ \"./src/plugins/tm@modal/_mixins/modal.mixin.ts\");\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm-bundler.js\");\n/* harmony import */ var _employees_a_employee_timeblock_vue__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../employees/a-employee-timeblock.vue */ \"./src/plugins/tm@modal/task/_components/employees/a-employee-timeblock.vue\");\n/* harmony import */ var _plugins_tm_utils_timeblock_utils__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @/plugins/tm@_utils/timeblock.utils */ \"./src/plugins/tm@_utils/timeblock.utils.ts\");\n/* harmony import */ var _plugins_tm_modal_components_a_reset_size_button_vue__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-reset-size-button.vue */ \"./src/plugins/tm@modal/_components/a-reset-size-button.vue\");\n/* harmony import */ var _plugins_tm_modal_components_a_close_button_vue__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-close-button.vue */ \"./src/plugins/tm@modal/_components/a-close-button.vue\");\n/* harmony import */ var _plugins_tm_modal_components_a_resize_handle_vue__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-resize-handle.vue */ \"./src/plugins/tm@modal/_components/a-resize-handle.vue\");\n/* provided dependency */ var console = __webpack_require__(/*! ./node_modules/console-browserify/index.js */ \"./node_modules/console-browserify/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n// import AEmployeeTimeblockTimeline from '../employees/a-employee-timeblock-timeline.vue';\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n components: {\n AEmployeeTimeblock: _employees_a_employee_timeblock_vue__WEBPACK_IMPORTED_MODULE_12__[\"default\"],\n // AEmployeeTimeblockTimeline,\n AResetSizeButton: _plugins_tm_modal_components_a_reset_size_button_vue__WEBPACK_IMPORTED_MODULE_14__[\"default\"],\n ACloseButton: _plugins_tm_modal_components_a_close_button_vue__WEBPACK_IMPORTED_MODULE_15__[\"default\"],\n AResizeHandle: _plugins_tm_modal_components_a_resize_handle_vue__WEBPACK_IMPORTED_MODULE_16__[\"default\"]\n },\n mixins: [_plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_10__[\"default\"]],\n props: {\n timeblocks: {\n type: Array,\n required: true\n },\n subtask: {\n type: Object,\n required: true\n }\n },\n emits: ['update-subtask'],\n data() {\n return {\n tmUtils: _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_8__[\"default\"],\n showModal: false,\n visible: false,\n // New timeblock for modal (used by a-employee-timeblock component)\n newTimeblock: {\n id: null,\n date: new Date(),\n starts_at_time: null,\n ends_at_time: null,\n employee_id: null\n },\n // Timeline constants\n START_HOUR: 0,\n END_HOUR: 24,\n HOUR_WIDTH: 60,\n HOUR_WIDTH_MOBILE: 50,\n // Existing timeblocks timeline data\n existingTimeblocksData: {},\n // { [index]: { tasks: [], loading: false } }\n modalName: 'a-task-timeblocks-modal',\n modalSize: 'medium'\n };\n },\n computed: {\n ...(0,vuex__WEBPACK_IMPORTED_MODULE_11__.mapGetters)('tm', ['mastertasks', 'enrichedEmployees']),\n isOffice365Task() {\n return this.subtask.type == 'office365';\n },\n // Get employee data from subtask\n employee() {\n if (!this.subtask?.employee_id) return null;\n return this.subtask._employee || this.enrichedEmployees.find(emp => emp.id === this.subtask.employee_id);\n },\n // Hour width based on screen size\n hourWidth() {\n return window.innerWidth <= 768 ? this.HOUR_WIDTH_MOBILE : this.HOUR_WIDTH;\n },\n // Computed property to trigger reactivity when existingTimeblocksData changes\n existingTimeblocksDataReactive() {\n // This forces Vue to track changes to existingTimeblocksData\n return {\n ...this.existingTimeblocksData\n };\n }\n },\n watch: {\n // Watch for timeblocks changes\n timeblocks: {\n handler() {\n // Refetch timeline data for all timeblocks when they change\n this.$nextTick(() => {\n this.fetchAllTimelinesData();\n });\n },\n deep: true\n },\n // Watch for employee changes\n 'employee.id': {\n handler(newId) {\n if (newId) {\n this.fetchAllTimelinesData();\n }\n }\n },\n // Watch for modal opening - set employee_id and reset to today\n showModal: {\n handler(isOpen) {\n if (isOpen) {\n this.newTimeblock = {\n id: null,\n date: new Date(),\n starts_at_time: null,\n ends_at_time: null,\n employee_id: this.employee?.id || null\n };\n }\n }\n }\n },\n mounted() {\n // Fetch timeline data on mount\n if (this.employee?.id) {\n this.fetchAllTimelinesData();\n }\n },\n methods: {\n // Submit timeblock from employee timeblock component\n async submitFromEmployeeTimeblock() {\n // Validate using the employee timeblock component's validation\n const isValid = await this.$refs.employeeTimeblockRef?.validate();\n if (!isValid) {\n return;\n }\n\n // The newTimeblock data is already reactive and updated by the component\n await this.submit();\n },\n // Methods for existing timeblocks timeline\n getTimelineLoadingState(index) {\n const reactiveData = this.existingTimeblocksDataReactive;\n return reactiveData[index]?.loading || false;\n },\n getScheduledBlocksForTimeblock(index) {\n // Use the reactive computed property to ensure Vue tracks changes\n const reactiveData = this.existingTimeblocksDataReactive;\n const tasks = reactiveData[index]?.tasks || [];\n const currentTimeblock = this.timeblocks[index];\n\n // Filter out the current timeblock from scheduled blocks\n return tasks.filter(task => !task._timeblock_id || !currentTimeblock.id || task._timeblock_id !== currentTimeblock.id);\n },\n getOtherTimeblocksForTimeblock(timeblock, currentIndex) {\n if (!timeblock.date) return [];\n const selectedDate = moment__WEBPACK_IMPORTED_MODULE_9___default()(timeblock.date).format('YYYY-MM-DD');\n return this.timeblocks.filter((tb, idx) => {\n // Skip current timeblock\n if (idx === currentIndex) return false;\n if (!tb.date || !tb.starts_at_time || !tb.ends_at_time) return false;\n const tbDate = moment__WEBPACK_IMPORTED_MODULE_9___default()(tb.date).format('YYYY-MM-DD');\n return tbDate === selectedDate;\n });\n },\n getTimeblockRange(timeblock) {\n const {\n start,\n end\n } = (0,_plugins_tm_utils_timeblock_utils__WEBPACK_IMPORTED_MODULE_13__.timeblockToDateRange)(timeblock);\n return {\n start,\n end\n };\n },\n getCollisionForTimeblock(timeblock, index) {\n const scheduledBlocks = this.getScheduledBlocksForTimeblock(index);\n return (0,_plugins_tm_utils_timeblock_utils__WEBPACK_IMPORTED_MODULE_13__.detectCollision)(timeblock, scheduledBlocks);\n },\n getCollisionSegmentsForTimeblock(timeblock, index) {\n const scheduledBlocks = this.getScheduledBlocksForTimeblock(index);\n return (0,_plugins_tm_utils_timeblock_utils__WEBPACK_IMPORTED_MODULE_13__.getCollisionSegments)(timeblock, scheduledBlocks);\n },\n calculateDuration(timeblock) {\n return (0,_plugins_tm_utils_timeblock_utils__WEBPACK_IMPORTED_MODULE_13__.calculateTimeblockDuration)(timeblock);\n },\n async fetchTimelineDataForTimeblock(index) {\n const timeblock = this.timeblocks[index];\n if (!this.employee?.id || !timeblock.date) {\n this.existingTimeblocksData = {\n ...this.existingTimeblocksData,\n [index]: {\n tasks: [],\n loading: false\n }\n };\n return;\n }\n this.existingTimeblocksData = {\n ...this.existingTimeblocksData,\n [index]: {\n tasks: this.existingTimeblocksData[index]?.tasks || [],\n loading: true\n }\n };\n try {\n const dateStr = moment__WEBPACK_IMPORTED_MODULE_9___default()(timeblock.date).format('YYYY-MM-DD');\n const queryParams = new URLSearchParams({\n start: dateStr,\n end: dateStr,\n employee_id: this.employee.id.toString()\n }).toString();\n const response = await this.$axios.get_auth(`v1/subtasks?${queryParams}`);\n const subtasks = [...(response.subtasks || []), ...(response.blockers || [])];\n const tasks = [];\n subtasks.forEach(subtask => {\n // Check if this is a blocker/adhoc/etc with direct start/end fields (no timeblocks array)\n if (!subtask.timeblocks && subtask.start && subtask.end && ['blocker', 'adhoc', 'home_office', 'vacation', 'free_day', 'office365_blocker'].includes(subtask.type)) {\n const blockerDateStr = moment__WEBPACK_IMPORTED_MODULE_9___default()(subtask.start).format('YYYY-MM-DD');\n if (blockerDateStr === dateStr) {\n const type = subtask.type;\n tasks.push({\n id: subtask.id,\n start: new Date(subtask.start),\n end: new Date(subtask.end),\n master_task: null,\n date: new Date(subtask.start),\n project_code: null,\n subtask: subtask,\n blocker: subtask,\n type,\n _timeblock_id: null,\n _timeblock_is_finished: subtask.is_finished || false,\n _real_start: new Date(subtask.start),\n _real_end: new Date(subtask.end)\n });\n }\n } else {\n // Process regular subtasks with timeblocks array\n subtask.timeblocks?.forEach(tb => {\n const timeblockDateStr = moment__WEBPACK_IMPORTED_MODULE_9___default()(tb.start).format('YYYY-MM-DD');\n if (timeblockDateStr === dateStr) {\n let type = 'subtask';\n if (subtask.type === 'office365') type = 'office365';\n tasks.push({\n id: subtask.id,\n start: new Date(tb.start),\n end: new Date(tb.end),\n master_task: subtask.master_task,\n date: new Date(tb.start),\n project_code: subtask.project_code,\n subtask: subtask,\n blocker: undefined,\n type,\n _timeblock_id: tb.id,\n _timeblock_is_finished: tb.is_finished,\n _real_start: new Date(tb.start),\n _real_end: new Date(tb.end)\n });\n }\n });\n }\n });\n this.existingTimeblocksData = {\n ...this.existingTimeblocksData,\n [index]: {\n tasks,\n loading: false\n }\n };\n } catch (error) {\n console.error('Error fetching timeline data for timeblock:', error);\n this.existingTimeblocksData = {\n ...this.existingTimeblocksData,\n [index]: {\n tasks: [],\n loading: false\n }\n };\n }\n },\n // Fetch timeline data for all existing timeblocks\n async fetchAllTimelinesData() {\n if (!this.employee?.id) return;\n const promises = this.timeblocks.map((_, index) => this.fetchTimelineDataForTimeblock(index));\n await Promise.all(promises);\n },\n formatTimeblockStart(timeblock) {\n // Handle internal format with date and time fields\n if (timeblock.date && timeblock.starts_at_time) {\n const dateStr = moment__WEBPACK_IMPORTED_MODULE_9___default()(timeblock.date).format('DD.MM.yyyy');\n return `${dateStr}, ${timeblock.starts_at_time}`;\n }\n // Fallback to backend format\n if (timeblock.start) {\n return _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_8__[\"default\"].formatDateTime(timeblock.start);\n }\n return '';\n },\n formatTimeblockEnd(timeblock) {\n // Handle internal format with date and time fields\n if (timeblock.date && timeblock.ends_at_time) {\n return timeblock.ends_at_time;\n }\n // Fallback to backend format\n if (timeblock.end) {\n return _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_8__[\"default\"].formatDateTime(timeblock.end);\n }\n return '';\n },\n async submit() {\n const subtask = JSON.parse(JSON.stringify(this.subtask));\n if (!subtask?.timeblocks) {\n subtask.timeblocks = [];\n }\n if (!subtask?.timesheets) {\n subtask.timesheets = [];\n }\n if (!subtask?.is_finished) {\n subtask.is_finished = 0;\n }\n const newTimeblockData = {\n id: null,\n date: this.newTimeblock.date,\n starts_at_time: this.newTimeblock.starts_at_time,\n ends_at_time: this.newTimeblock.ends_at_time,\n is_finished: 0\n };\n\n // For drafts with employees array, add to the correct employee's timeblocks\n if (subtask.is_draft && Array.isArray(subtask.employees)) {\n const employeeIndex = subtask.employees.findIndex(emp => emp.id == this.subtask.employee_id);\n if (employeeIndex !== -1) {\n if (!subtask.employees[employeeIndex].timeblocks) {\n subtask.employees[employeeIndex].timeblocks = [];\n }\n subtask.employees[employeeIndex].timeblocks.push(newTimeblockData);\n }\n } else {\n // For published subtasks, add to root timeblocks\n subtask.timeblocks.push(newTimeblockData);\n }\n if (subtask.deadline) subtask.deadline = _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_8__[\"default\"].formatDateTimeForBackend(this._mergeDeadlineTimeDate());\n const isAfterDeadline = this.isAfterDeadline();\n if (isAfterDeadline) {\n this.visible = true;\n } else {\n if (!subtask.id) {\n this.$emit('update-unfinished-subtask', subtask);\n this.closeModal();\n } else {\n this._update(subtask);\n }\n }\n },\n async confirmSubmit() {\n const subtask = JSON.parse(JSON.stringify(this.subtask));\n if (!subtask?.timeblocks) {\n subtask.timeblocks = [];\n }\n if (!subtask?.timesheets) {\n subtask.timesheets = [];\n }\n if (!subtask?.is_finished) {\n subtask.is_finished = 0;\n }\n const newTimeblockData = {\n id: null,\n date: this.newTimeblock.date,\n starts_at_time: this.newTimeblock.starts_at_time,\n ends_at_time: this.newTimeblock.ends_at_time,\n is_finished: 0\n };\n\n // For drafts with employees array, add to the correct employee's timeblocks\n if (subtask.is_draft && Array.isArray(subtask.employees)) {\n const employeeIndex = subtask.employees.findIndex(emp => emp.id == this.subtask.employee_id);\n if (employeeIndex !== -1) {\n if (!subtask.employees[employeeIndex].timeblocks) {\n subtask.employees[employeeIndex].timeblocks = [];\n }\n subtask.employees[employeeIndex].timeblocks.push(newTimeblockData);\n }\n } else {\n // For published subtasks, add to root timeblocks\n subtask.timeblocks.push(newTimeblockData);\n }\n if (subtask.deadline) subtask.deadline = _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_8__[\"default\"].formatDateTimeForBackend(this._mergeDeadlineTimeDate());\n if (!subtask.id) {\n this.$emit('update-unfinished-subtask', subtask);\n this.closeModal();\n return;\n }\n this.visible = false;\n this._update(subtask);\n },\n async toggleTimeblockIsFinished(originalTimeblock, _index) {\n // Only works for published subtasks with saved timeblocks\n if (!originalTimeblock.id) {\n return;\n }\n const subtask = JSON.parse(JSON.stringify(this.subtask));\n const timeblock = JSON.parse(JSON.stringify(originalTimeblock));\n timeblock.is_finished = timeblock.is_finished == 1 ? 0 : 1;\n try {\n // Convert timeblock to backend format before sending\n const timeblockForBackend = {\n id: timeblock.id,\n is_finished: timeblock.is_finished\n };\n\n // If timeblock is in internal format, convert it\n if (timeblock.date) {\n const dateStr = moment__WEBPACK_IMPORTED_MODULE_9___default()(timeblock.date).format('YYYY-MM-DD');\n timeblockForBackend.start = `${dateStr} ${timeblock.starts_at_time}:00`;\n timeblockForBackend.end = `${dateStr} ${timeblock.ends_at_time}:00`;\n } else {\n // Already in backend format\n timeblockForBackend.start = timeblock.start;\n timeblockForBackend.end = timeblock.end;\n }\n const {\n data: newTimeblock\n } = await this.$axios.put_auth(`v1/timeblocks/${timeblock.id}`, timeblockForBackend);\n\n // Convert returned timeblock from backend format to internal format\n const startMoment = moment__WEBPACK_IMPORTED_MODULE_9___default()(newTimeblock.start, 'YYYY-MM-DD HH:mm:ss');\n const endMoment = moment__WEBPACK_IMPORTED_MODULE_9___default()(newTimeblock.end, 'YYYY-MM-DD HH:mm:ss');\n const convertedTimeblock = {\n id: newTimeblock.id,\n date: startMoment.toDate(),\n starts_at_time: startMoment.format('HH:mm'),\n ends_at_time: endMoment.format('HH:mm'),\n is_finished: newTimeblock.is_finished\n };\n\n // Update timeblock in correct location (employee's array for drafts, root for published)\n if (subtask.is_draft && Array.isArray(subtask.employees)) {\n const employeeIndex = subtask.employees.findIndex(emp => emp.id == this.subtask.employee_id);\n if (employeeIndex !== -1) {\n subtask.employees[employeeIndex].timeblocks = subtask.employees[employeeIndex].timeblocks.map(tb => {\n if (tb.id == convertedTimeblock.id) return convertedTimeblock;\n return tb;\n });\n }\n } else {\n subtask.timeblocks = subtask.timeblocks.map(tb => {\n if (tb.id == convertedTimeblock.id) return convertedTimeblock;\n return tb;\n });\n }\n this.$events.emit('on-subtask-edited', subtask);\n this.$emit('update-subtask', subtask);\n if (timeblock.is_finished) this.$events.emit('show-task-add-time-modal', {\n subtask\n });\n } catch (error) {\n this.$toast.error(error.message || error);\n }\n },\n async deleteTimeblock({\n id\n }) {\n const subtask = JSON.parse(JSON.stringify(this.subtask));\n\n // Remove timeblock from correct location (employee's array for drafts, root for published)\n if (subtask.is_draft && Array.isArray(subtask.employees)) {\n // Find which employee this timeblock belongs to by searching through all employees\n let found = false;\n subtask.employees = subtask.employees.map(emp => {\n if (!emp.timeblocks) return emp;\n\n // Check if this employee has the timeblock\n const hasTimeblock = emp.timeblocks.some(tb => tb.id == id);\n if (hasTimeblock) {\n found = true;\n return {\n ...emp,\n timeblocks: emp.timeblocks.filter(tb => tb.id != id)\n };\n }\n return emp;\n });\n if (!found) {\n console.warn('Timeblock not found in any employee', id);\n }\n } else {\n subtask.timeblocks = subtask.timeblocks.filter(timeblock => timeblock.id != id);\n }\n if (subtask.deadline) subtask.deadline = _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_8__[\"default\"].formatDateTimeForBackend(this._mergeDeadlineTimeDate());\n this._update(subtask);\n },\n async deleteTimeblockByIndex(index) {\n const subtask = JSON.parse(JSON.stringify(this.subtask));\n\n // Remove timeblock by index from correct location\n if (subtask.is_draft && Array.isArray(subtask.employees)) {\n const employeeIndex = subtask.employees.findIndex(emp => emp.id == this.subtask.employee_id);\n if (employeeIndex !== -1 && subtask.employees[employeeIndex].timeblocks) {\n subtask.employees[employeeIndex].timeblocks.splice(index, 1);\n }\n } else {\n subtask.timeblocks.splice(index, 1);\n }\n if (subtask.deadline) subtask.deadline = _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_8__[\"default\"].formatDateTimeForBackend(this._mergeDeadlineTimeDate());\n if (!subtask.id) {\n this.$emit('update-unfinished-subtask', subtask);\n } else {\n this._update(subtask);\n }\n },\n async _update(data) {\n try {\n const timesheets = data.timesheets.map(timesheet => {\n delete timesheet.employee_name;\n return timesheet;\n });\n const payload = {\n ...data,\n timesheets\n };\n\n // For drafts with employees array, properly structure the employees with their timeblocks\n if (data.is_draft && Array.isArray(data.employees)) {\n const validEmployees = data.employees.filter(emp => emp.id).map(emp => ({\n id: emp.id,\n duration: emp.duration,\n // Convert employee timeblocks to BE format\n timeblocks: (emp.timeblocks || []).filter(tb => tb.date || tb.start).map(tb => {\n if (tb.start && !tb.date) {\n return {\n id: tb.id || null,\n start: tb.start,\n end: tb.end,\n is_finished: tb.is_finished || 0\n };\n }\n const dateStr = moment__WEBPACK_IMPORTED_MODULE_9___default()(tb.date).format('YYYY-MM-DD');\n return {\n id: tb.id || null,\n start: `${dateStr} ${tb.starts_at_time}:00`,\n end: `${dateStr} ${tb.ends_at_time}:00`,\n is_finished: tb.is_finished || 0\n };\n })\n }));\n payload.employees = validEmployees;\n // For drafts, don't send root-level timeblocks\n delete payload.timeblocks;\n } else {\n // For published subtasks, convert and send root-level timeblocks\n const timeblocks = (data.timeblocks || []).filter(timeblock => {\n // Filter timeblocks that have either old format (date) or new format (start)\n return timeblock.date || timeblock.start;\n }).map(timeblock => {\n // If already in BE format (has start field), return as is\n if (timeblock.start && !timeblock.date) {\n return {\n id: timeblock.id || null,\n start: timeblock.start,\n end: timeblock.end,\n is_finished: timeblock.is_finished || 0\n };\n }\n\n // Convert from internal format to BE format\n const dateStr = moment__WEBPACK_IMPORTED_MODULE_9___default()(timeblock.date).format('YYYY-MM-DD');\n return {\n id: timeblock.id || null,\n start: `${dateStr} ${timeblock.starts_at_time}:00`,\n end: `${dateStr} ${timeblock.ends_at_time}:00`,\n is_finished: timeblock.is_finished || 0\n };\n });\n payload.timeblocks = timeblocks;\n }\n\n // Remove UI-only enriched fields\n delete payload._created_by;\n delete payload._employee;\n delete payload._master_task;\n delete payload._deadline_time;\n const {\n subtask\n } = await this.$axios.put_auth(`v1/subtasks/${data.id}`, payload);\n this.closeModal();\n this.$events.emit('on-subtask-edited', subtask);\n } catch (error) {\n this.$toast.error(error.message || error);\n }\n },\n isAfterDeadline() {\n const deadline = this.getDeadline(this.subtask);\n if (!deadline) return;\n const mDate = moment__WEBPACK_IMPORTED_MODULE_9___default()(this.newTimeblock.date);\n const mDeadline = moment__WEBPACK_IMPORTED_MODULE_9___default()(deadline);\n const [hours, minutes] = this.newTimeblock.ends_at_time.split(':').map(Number);\n mDate.hours(hours);\n mDate.minutes(minutes);\n return mDate.isAfter(mDeadline);\n },\n getDeadline(subtask) {\n if (subtask?.deadline) return subtask.deadline;\n return subtask.master_task_deadline;\n },\n _mergeDeadlineTimeDate() {\n const date = new Date(this.subtask.deadline);\n const timeParts = this.subtask._deadline_time.split(':');\n date.setHours(parseInt(timeParts[0]));\n date.setMinutes(parseInt(timeParts[1]));\n return date;\n },\n closeModal() {\n // Reset newTimeblock\n this.newTimeblock = {\n id: null,\n date: new Date(),\n starts_at_time: null,\n ends_at_time: null,\n employee_id: this.employee?.id || null\n };\n this.showModal = false;\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/task/_components/_components/a-task-timeblocks.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); +eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_json_stringify_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.json.stringify.js */ \"./node_modules/core-js/modules/es.json.stringify.js\");\n/* harmony import */ var core_js_modules_es_json_stringify_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_json_stringify_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ \"./node_modules/core-js/modules/esnext.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/esnext.iterator.filter.js */ \"./node_modules/core-js/modules/esnext.iterator.filter.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/esnext.iterator.find.js */ \"./node_modules/core-js/modules/esnext.iterator.find.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/esnext.iterator.for-each.js */ \"./node_modules/core-js/modules/esnext.iterator.for-each.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/esnext.iterator.map.js */ \"./node_modules/core-js/modules/esnext.iterator.map.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var core_js_modules_esnext_iterator_some_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/esnext.iterator.some.js */ \"./node_modules/core-js/modules/esnext.iterator.some.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_some_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_some_js__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/plugins/tm@_utils/tm.utils */ \"./src/plugins/tm@_utils/tm.utils.ts\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! moment */ \"./node_modules/moment/moment.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var _plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/plugins/tm@modal/_mixins/modal.mixin */ \"./src/plugins/tm@modal/_mixins/modal.mixin.ts\");\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm-bundler.js\");\n/* harmony import */ var _employees_a_employee_timeblock_vue__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../employees/a-employee-timeblock.vue */ \"./src/plugins/tm@modal/task/_components/employees/a-employee-timeblock.vue\");\n/* harmony import */ var _plugins_tm_utils_timeblock_utils__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @/plugins/tm@_utils/timeblock.utils */ \"./src/plugins/tm@_utils/timeblock.utils.ts\");\n/* harmony import */ var _plugins_tm_modal_components_a_reset_size_button_vue__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-reset-size-button.vue */ \"./src/plugins/tm@modal/_components/a-reset-size-button.vue\");\n/* harmony import */ var _plugins_tm_modal_components_a_close_button_vue__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-close-button.vue */ \"./src/plugins/tm@modal/_components/a-close-button.vue\");\n/* harmony import */ var _plugins_tm_modal_components_a_resize_handle_vue__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @/plugins/tm@modal/_components/a-resize-handle.vue */ \"./src/plugins/tm@modal/_components/a-resize-handle.vue\");\n/* provided dependency */ var console = __webpack_require__(/*! ./node_modules/console-browserify/index.js */ \"./node_modules/console-browserify/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n// import AEmployeeTimeblockTimeline from '../employees/a-employee-timeblock-timeline.vue';\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n components: {\n AEmployeeTimeblock: _employees_a_employee_timeblock_vue__WEBPACK_IMPORTED_MODULE_12__[\"default\"],\n // AEmployeeTimeblockTimeline,\n AResetSizeButton: _plugins_tm_modal_components_a_reset_size_button_vue__WEBPACK_IMPORTED_MODULE_14__[\"default\"],\n ACloseButton: _plugins_tm_modal_components_a_close_button_vue__WEBPACK_IMPORTED_MODULE_15__[\"default\"],\n AResizeHandle: _plugins_tm_modal_components_a_resize_handle_vue__WEBPACK_IMPORTED_MODULE_16__[\"default\"]\n },\n mixins: [_plugins_tm_modal_mixins_modal_mixin__WEBPACK_IMPORTED_MODULE_10__[\"default\"]],\n props: {\n timeblocks: {\n type: Array,\n required: true\n },\n subtask: {\n type: Object,\n required: true\n },\n isDraft: {\n type: Boolean,\n default: false\n }\n },\n emits: ['update-subtask'],\n data() {\n return {\n tmUtils: _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_8__[\"default\"],\n showModal: false,\n visible: false,\n // New timeblock for modal (used by a-employee-timeblock component)\n newTimeblock: {\n id: null,\n date: new Date(),\n starts_at_time: null,\n ends_at_time: null,\n employee_id: null\n },\n // Timeline constants\n START_HOUR: 0,\n END_HOUR: 24,\n HOUR_WIDTH: 60,\n HOUR_WIDTH_MOBILE: 50,\n // Existing timeblocks timeline data\n existingTimeblocksData: {},\n // { [index]: { tasks: [], loading: false } }\n modalName: 'a-task-timeblocks-modal',\n modalSize: 'medium'\n };\n },\n computed: {\n ...(0,vuex__WEBPACK_IMPORTED_MODULE_11__.mapGetters)('tm', ['mastertasks', 'enrichedEmployees']),\n isOffice365Task() {\n return this.subtask.type == 'office365';\n },\n // Get employee data from subtask\n employee() {\n if (!this.subtask?.employee_id) return null;\n return this.subtask._employee || this.enrichedEmployees.find(emp => emp.id === this.subtask.employee_id);\n },\n // Get draft timeblocks for the current employee in backend format for timeline\n draftTimeblocks() {\n if (!this.isDraft) {\n return [];\n }\n\n // Convert timeblocks from internal format to backend format for timeline\n return this.timeblocks.filter(tb => tb.date && tb.starts_at_time && tb.ends_at_time).map(tb => {\n const dateStr = moment__WEBPACK_IMPORTED_MODULE_9___default()(tb.date).format('YYYY-MM-DD');\n return {\n ...tb,\n start: `${dateStr} ${tb.starts_at_time}:00`,\n end: `${dateStr} ${tb.ends_at_time}:00`,\n employee_id: this.subtask.employee_id\n };\n });\n },\n // Hour width based on screen size\n hourWidth() {\n return window.innerWidth <= 768 ? this.HOUR_WIDTH_MOBILE : this.HOUR_WIDTH;\n },\n // Computed property to trigger reactivity when existingTimeblocksData changes\n existingTimeblocksDataReactive() {\n // This forces Vue to track changes to existingTimeblocksData\n return {\n ...this.existingTimeblocksData\n };\n }\n },\n watch: {\n // Watch for timeblocks changes\n timeblocks: {\n handler() {\n // Refetch timeline data for all timeblocks when they change\n this.$nextTick(() => {\n this.fetchAllTimelinesData();\n });\n },\n deep: true\n },\n // Watch for employee changes\n 'employee.id': {\n handler(newId) {\n if (newId) {\n this.fetchAllTimelinesData();\n }\n }\n },\n // Watch for modal opening - set employee_id and reset to today\n showModal: {\n handler(isOpen) {\n if (isOpen) {\n this.newTimeblock = {\n id: null,\n date: new Date(),\n starts_at_time: null,\n ends_at_time: null,\n employee_id: this.employee?.id || null\n };\n }\n }\n }\n },\n mounted() {\n // Fetch timeline data on mount\n if (this.employee?.id) {\n this.fetchAllTimelinesData();\n }\n },\n methods: {\n // Submit timeblock from employee timeblock component\n async submitFromEmployeeTimeblock() {\n // Validate using the employee timeblock component's validation\n const isValid = await this.$refs.employeeTimeblockRef?.validate();\n if (!isValid) {\n return;\n }\n\n // The newTimeblock data is already reactive and updated by the component\n await this.submit();\n },\n // Methods for existing timeblocks timeline\n getTimelineLoadingState(index) {\n const reactiveData = this.existingTimeblocksDataReactive;\n return reactiveData[index]?.loading || false;\n },\n getScheduledBlocksForTimeblock(index) {\n // Use the reactive computed property to ensure Vue tracks changes\n const reactiveData = this.existingTimeblocksDataReactive;\n const tasks = reactiveData[index]?.tasks || [];\n const currentTimeblock = this.timeblocks[index];\n\n // Filter out the current timeblock from scheduled blocks\n return tasks.filter(task => !task._timeblock_id || !currentTimeblock.id || task._timeblock_id !== currentTimeblock.id);\n },\n getOtherTimeblocksForTimeblock(timeblock, currentIndex) {\n if (!timeblock.date) return [];\n const selectedDate = moment__WEBPACK_IMPORTED_MODULE_9___default()(timeblock.date).format('YYYY-MM-DD');\n return this.timeblocks.filter((tb, idx) => {\n // Skip current timeblock\n if (idx === currentIndex) return false;\n if (!tb.date || !tb.starts_at_time || !tb.ends_at_time) return false;\n const tbDate = moment__WEBPACK_IMPORTED_MODULE_9___default()(tb.date).format('YYYY-MM-DD');\n return tbDate === selectedDate;\n });\n },\n getTimeblockRange(timeblock) {\n const {\n start,\n end\n } = (0,_plugins_tm_utils_timeblock_utils__WEBPACK_IMPORTED_MODULE_13__.timeblockToDateRange)(timeblock);\n return {\n start,\n end\n };\n },\n getCollisionForTimeblock(timeblock, index) {\n const scheduledBlocks = this.getScheduledBlocksForTimeblock(index);\n return (0,_plugins_tm_utils_timeblock_utils__WEBPACK_IMPORTED_MODULE_13__.detectCollision)(timeblock, scheduledBlocks);\n },\n getCollisionSegmentsForTimeblock(timeblock, index) {\n const scheduledBlocks = this.getScheduledBlocksForTimeblock(index);\n return (0,_plugins_tm_utils_timeblock_utils__WEBPACK_IMPORTED_MODULE_13__.getCollisionSegments)(timeblock, scheduledBlocks);\n },\n calculateDuration(timeblock) {\n return (0,_plugins_tm_utils_timeblock_utils__WEBPACK_IMPORTED_MODULE_13__.calculateTimeblockDuration)(timeblock);\n },\n async fetchTimelineDataForTimeblock(index) {\n const timeblock = this.timeblocks[index];\n if (!this.employee?.id || !timeblock.date) {\n this.existingTimeblocksData = {\n ...this.existingTimeblocksData,\n [index]: {\n tasks: [],\n loading: false\n }\n };\n return;\n }\n this.existingTimeblocksData = {\n ...this.existingTimeblocksData,\n [index]: {\n tasks: this.existingTimeblocksData[index]?.tasks || [],\n loading: true\n }\n };\n try {\n const dateStr = moment__WEBPACK_IMPORTED_MODULE_9___default()(timeblock.date).format('YYYY-MM-DD');\n const queryParams = new URLSearchParams({\n start: dateStr,\n end: dateStr,\n employee_id: this.employee.id.toString()\n }).toString();\n const response = await this.$axios.get_auth(`v1/subtasks?${queryParams}`);\n const subtasks = [...(response.subtasks || []), ...(response.blockers || [])];\n const tasks = [];\n subtasks.forEach(subtask => {\n // Check if this is a blocker/adhoc/etc with direct start/end fields (no timeblocks array)\n if (!subtask.timeblocks && subtask.start && subtask.end && ['blocker', 'adhoc', 'home_office', 'vacation', 'free_day', 'office365_blocker'].includes(subtask.type)) {\n const blockerDateStr = moment__WEBPACK_IMPORTED_MODULE_9___default()(subtask.start).format('YYYY-MM-DD');\n if (blockerDateStr === dateStr) {\n const type = subtask.type;\n tasks.push({\n id: subtask.id,\n start: new Date(subtask.start),\n end: new Date(subtask.end),\n master_task: null,\n date: new Date(subtask.start),\n project_code: null,\n subtask: subtask,\n blocker: subtask,\n type,\n _timeblock_id: null,\n _timeblock_is_finished: subtask.is_finished || false,\n _real_start: new Date(subtask.start),\n _real_end: new Date(subtask.end)\n });\n }\n } else {\n // Process regular subtasks with timeblocks array\n subtask.timeblocks?.forEach(tb => {\n const timeblockDateStr = moment__WEBPACK_IMPORTED_MODULE_9___default()(tb.start).format('YYYY-MM-DD');\n if (timeblockDateStr === dateStr) {\n let type = 'subtask';\n if (subtask.type === 'office365') type = 'office365';\n tasks.push({\n id: subtask.id,\n start: new Date(tb.start),\n end: new Date(tb.end),\n master_task: subtask.master_task,\n date: new Date(tb.start),\n project_code: subtask.project_code,\n subtask: subtask,\n blocker: undefined,\n type,\n _timeblock_id: tb.id,\n _timeblock_is_finished: tb.is_finished,\n _real_start: new Date(tb.start),\n _real_end: new Date(tb.end)\n });\n }\n });\n }\n });\n this.existingTimeblocksData = {\n ...this.existingTimeblocksData,\n [index]: {\n tasks,\n loading: false\n }\n };\n } catch (error) {\n console.error('Error fetching timeline data for timeblock:', error);\n this.existingTimeblocksData = {\n ...this.existingTimeblocksData,\n [index]: {\n tasks: [],\n loading: false\n }\n };\n }\n },\n // Fetch timeline data for all existing timeblocks\n async fetchAllTimelinesData() {\n if (!this.employee?.id) return;\n const promises = this.timeblocks.map((_, index) => this.fetchTimelineDataForTimeblock(index));\n await Promise.all(promises);\n },\n formatTimeblockStart(timeblock) {\n // Handle internal format with date and time fields\n if (timeblock.date && timeblock.starts_at_time) {\n const dateStr = moment__WEBPACK_IMPORTED_MODULE_9___default()(timeblock.date).format('DD.MM.yyyy');\n return `${dateStr}, ${timeblock.starts_at_time}`;\n }\n // Fallback to backend format\n if (timeblock.start) {\n return _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_8__[\"default\"].formatDateTime(timeblock.start);\n }\n return '';\n },\n formatTimeblockEnd(timeblock) {\n // Handle internal format with date and time fields\n if (timeblock.date && timeblock.ends_at_time) {\n return timeblock.ends_at_time;\n }\n // Fallback to backend format\n if (timeblock.end) {\n return _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_8__[\"default\"].formatDateTime(timeblock.end);\n }\n return '';\n },\n async submit() {\n const subtask = JSON.parse(JSON.stringify(this.subtask));\n if (!subtask?.timeblocks) {\n subtask.timeblocks = [];\n }\n if (!subtask?.timesheets) {\n subtask.timesheets = [];\n }\n if (!subtask?.is_finished) {\n subtask.is_finished = 0;\n }\n const newTimeblockData = {\n id: null,\n date: this.newTimeblock.date,\n starts_at_time: this.newTimeblock.starts_at_time,\n ends_at_time: this.newTimeblock.ends_at_time,\n is_finished: 0\n };\n\n // For drafts with employees array, add to the correct employee's timeblocks\n if (subtask.is_draft && Array.isArray(subtask.employees)) {\n const employeeIndex = subtask.employees.findIndex(emp => emp.id == this.subtask.employee_id);\n if (employeeIndex !== -1) {\n if (!subtask.employees[employeeIndex].timeblocks) {\n subtask.employees[employeeIndex].timeblocks = [];\n }\n subtask.employees[employeeIndex].timeblocks.push(newTimeblockData);\n }\n } else {\n // For published subtasks, add to root timeblocks\n subtask.timeblocks.push(newTimeblockData);\n }\n if (subtask.deadline) subtask.deadline = _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_8__[\"default\"].formatDateTimeForBackend(this._mergeDeadlineTimeDate());\n const isAfterDeadline = this.isAfterDeadline();\n if (isAfterDeadline) {\n this.visible = true;\n } else {\n if (!subtask.id) {\n this.$emit('update-unfinished-subtask', subtask);\n this.closeModal();\n } else {\n this._update(subtask);\n }\n }\n },\n async confirmSubmit() {\n const subtask = JSON.parse(JSON.stringify(this.subtask));\n if (!subtask?.timeblocks) {\n subtask.timeblocks = [];\n }\n if (!subtask?.timesheets) {\n subtask.timesheets = [];\n }\n if (!subtask?.is_finished) {\n subtask.is_finished = 0;\n }\n const newTimeblockData = {\n id: null,\n date: this.newTimeblock.date,\n starts_at_time: this.newTimeblock.starts_at_time,\n ends_at_time: this.newTimeblock.ends_at_time,\n is_finished: 0\n };\n\n // For drafts with employees array, add to the correct employee's timeblocks\n if (subtask.is_draft && Array.isArray(subtask.employees)) {\n const employeeIndex = subtask.employees.findIndex(emp => emp.id == this.subtask.employee_id);\n if (employeeIndex !== -1) {\n if (!subtask.employees[employeeIndex].timeblocks) {\n subtask.employees[employeeIndex].timeblocks = [];\n }\n subtask.employees[employeeIndex].timeblocks.push(newTimeblockData);\n }\n } else {\n // For published subtasks, add to root timeblocks\n subtask.timeblocks.push(newTimeblockData);\n }\n if (subtask.deadline) subtask.deadline = _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_8__[\"default\"].formatDateTimeForBackend(this._mergeDeadlineTimeDate());\n if (!subtask.id) {\n this.$emit('update-unfinished-subtask', subtask);\n this.closeModal();\n return;\n }\n this.visible = false;\n this._update(subtask);\n },\n async toggleTimeblockIsFinished(originalTimeblock, _index) {\n // Only works for published subtasks with saved timeblocks\n if (!originalTimeblock.id) {\n return;\n }\n const subtask = JSON.parse(JSON.stringify(this.subtask));\n const timeblock = JSON.parse(JSON.stringify(originalTimeblock));\n timeblock.is_finished = timeblock.is_finished == 1 ? 0 : 1;\n try {\n // Convert timeblock to backend format before sending\n const timeblockForBackend = {\n id: timeblock.id,\n is_finished: timeblock.is_finished\n };\n\n // If timeblock is in internal format, convert it\n if (timeblock.date) {\n const dateStr = moment__WEBPACK_IMPORTED_MODULE_9___default()(timeblock.date).format('YYYY-MM-DD');\n timeblockForBackend.start = `${dateStr} ${timeblock.starts_at_time}:00`;\n timeblockForBackend.end = `${dateStr} ${timeblock.ends_at_time}:00`;\n } else {\n // Already in backend format\n timeblockForBackend.start = timeblock.start;\n timeblockForBackend.end = timeblock.end;\n }\n const {\n data: newTimeblock\n } = await this.$axios.put_auth(`v1/timeblocks/${timeblock.id}`, timeblockForBackend);\n\n // Convert returned timeblock from backend format to internal format\n const startMoment = moment__WEBPACK_IMPORTED_MODULE_9___default()(newTimeblock.start, 'YYYY-MM-DD HH:mm:ss');\n const endMoment = moment__WEBPACK_IMPORTED_MODULE_9___default()(newTimeblock.end, 'YYYY-MM-DD HH:mm:ss');\n const convertedTimeblock = {\n id: newTimeblock.id,\n date: startMoment.toDate(),\n starts_at_time: startMoment.format('HH:mm'),\n ends_at_time: endMoment.format('HH:mm'),\n is_finished: newTimeblock.is_finished\n };\n\n // Update timeblock in correct location (employee's array for drafts, root for published)\n if (subtask.is_draft && Array.isArray(subtask.employees)) {\n const employeeIndex = subtask.employees.findIndex(emp => emp.id == this.subtask.employee_id);\n if (employeeIndex !== -1) {\n subtask.employees[employeeIndex].timeblocks = subtask.employees[employeeIndex].timeblocks.map(tb => {\n if (tb.id == convertedTimeblock.id) return convertedTimeblock;\n return tb;\n });\n }\n } else {\n subtask.timeblocks = subtask.timeblocks.map(tb => {\n if (tb.id == convertedTimeblock.id) return convertedTimeblock;\n return tb;\n });\n }\n this.$events.emit('on-subtask-edited', subtask);\n this.$emit('update-subtask', subtask);\n if (timeblock.is_finished) this.$events.emit('show-task-add-time-modal', {\n subtask\n });\n } catch (error) {\n this.$toast.error(error.message || error);\n }\n },\n async deleteTimeblock({\n id\n }) {\n const subtask = JSON.parse(JSON.stringify(this.subtask));\n\n // Remove timeblock from correct location (employee's array for drafts, root for published)\n if (subtask.is_draft && Array.isArray(subtask.employees)) {\n // Find which employee this timeblock belongs to by searching through all employees\n let found = false;\n subtask.employees = subtask.employees.map(emp => {\n if (!emp.timeblocks) return emp;\n\n // Check if this employee has the timeblock\n const hasTimeblock = emp.timeblocks.some(tb => tb.id == id);\n if (hasTimeblock) {\n found = true;\n return {\n ...emp,\n timeblocks: emp.timeblocks.filter(tb => tb.id != id)\n };\n }\n return emp;\n });\n if (!found) {\n console.warn('Timeblock not found in any employee', id);\n }\n } else {\n subtask.timeblocks = subtask.timeblocks.filter(timeblock => timeblock.id != id);\n }\n if (subtask.deadline) subtask.deadline = _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_8__[\"default\"].formatDateTimeForBackend(this._mergeDeadlineTimeDate());\n this._update(subtask);\n },\n async deleteTimeblockByIndex(index) {\n const subtask = JSON.parse(JSON.stringify(this.subtask));\n\n // Remove timeblock by index from correct location\n if (subtask.is_draft && Array.isArray(subtask.employees)) {\n const employeeIndex = subtask.employees.findIndex(emp => emp.id == this.subtask.employee_id);\n if (employeeIndex !== -1 && subtask.employees[employeeIndex].timeblocks) {\n subtask.employees[employeeIndex].timeblocks.splice(index, 1);\n }\n } else {\n subtask.timeblocks.splice(index, 1);\n }\n if (subtask.deadline) subtask.deadline = _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_8__[\"default\"].formatDateTimeForBackend(this._mergeDeadlineTimeDate());\n if (!subtask.id) {\n this.$emit('update-unfinished-subtask', subtask);\n } else {\n this._update(subtask);\n }\n },\n async _update(data) {\n try {\n const timesheets = data.timesheets.map(timesheet => {\n delete timesheet.employee_name;\n return timesheet;\n });\n const payload = {\n ...data,\n timesheets\n };\n\n // For drafts with employees array, properly structure the employees with their timeblocks\n if (data.is_draft && Array.isArray(data.employees)) {\n const validEmployees = data.employees.filter(emp => emp.id).map(emp => ({\n id: emp.id,\n duration: emp.duration,\n // Convert employee timeblocks to BE format\n timeblocks: (emp.timeblocks || []).filter(tb => tb.date || tb.start).map(tb => {\n if (tb.start && !tb.date) {\n return {\n id: tb.id || null,\n start: tb.start,\n end: tb.end,\n is_finished: tb.is_finished || 0\n };\n }\n const dateStr = moment__WEBPACK_IMPORTED_MODULE_9___default()(tb.date).format('YYYY-MM-DD');\n return {\n id: tb.id || null,\n start: `${dateStr} ${tb.starts_at_time}:00`,\n end: `${dateStr} ${tb.ends_at_time}:00`,\n is_finished: tb.is_finished || 0\n };\n })\n }));\n payload.employees = validEmployees;\n // For drafts, don't send root-level timeblocks\n delete payload.timeblocks;\n } else {\n // For published subtasks, convert and send root-level timeblocks\n const timeblocks = (data.timeblocks || []).filter(timeblock => {\n // Filter timeblocks that have either old format (date) or new format (start)\n return timeblock.date || timeblock.start;\n }).map(timeblock => {\n // If already in BE format (has start field), return as is\n if (timeblock.start && !timeblock.date) {\n return {\n id: timeblock.id || null,\n start: timeblock.start,\n end: timeblock.end,\n is_finished: timeblock.is_finished || 0\n };\n }\n\n // Convert from internal format to BE format\n const dateStr = moment__WEBPACK_IMPORTED_MODULE_9___default()(timeblock.date).format('YYYY-MM-DD');\n return {\n id: timeblock.id || null,\n start: `${dateStr} ${timeblock.starts_at_time}:00`,\n end: `${dateStr} ${timeblock.ends_at_time}:00`,\n is_finished: timeblock.is_finished || 0\n };\n });\n payload.timeblocks = timeblocks;\n }\n\n // Remove UI-only enriched fields\n delete payload._created_by;\n delete payload._employee;\n delete payload._master_task;\n delete payload._deadline_time;\n const {\n subtask\n } = await this.$axios.put_auth(`v1/subtasks/${data.id}`, payload);\n this.closeModal();\n this.$events.emit('on-subtask-edited', subtask);\n } catch (error) {\n this.$toast.error(error.message || error);\n }\n },\n isAfterDeadline() {\n const deadline = this.getDeadline(this.subtask);\n if (!deadline) return;\n const mDate = moment__WEBPACK_IMPORTED_MODULE_9___default()(this.newTimeblock.date);\n const mDeadline = moment__WEBPACK_IMPORTED_MODULE_9___default()(deadline);\n const [hours, minutes] = this.newTimeblock.ends_at_time.split(':').map(Number);\n mDate.hours(hours);\n mDate.minutes(minutes);\n return mDate.isAfter(mDeadline);\n },\n getDeadline(subtask) {\n if (subtask?.deadline) return subtask.deadline;\n return subtask.master_task_deadline;\n },\n _mergeDeadlineTimeDate() {\n const date = new Date(this.subtask.deadline);\n const timeParts = this.subtask._deadline_time.split(':');\n date.setHours(parseInt(timeParts[0]));\n date.setMinutes(parseInt(timeParts[1]));\n return date;\n },\n closeModal() {\n // Reset newTimeblock\n this.newTimeblock = {\n id: null,\n date: new Date(),\n starts_at_time: null,\n ends_at_time: null,\n employee_id: this.employee?.id || null\n };\n this.showModal = false;\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/task/_components/_components/a-task-timeblocks.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); /***/ }), @@ -1274,7 +1274,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var cor /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ \"./node_modules/core-js/modules/esnext.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/esnext.iterator.filter.js */ \"./node_modules/core-js/modules/esnext.iterator.filter.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/esnext.iterator.map.js */ \"./node_modules/core-js/modules/esnext.iterator.map.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n/* harmony import */ var _vuelidate_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @vuelidate/core */ \"./node_modules/@vuelidate/core/dist/index.esm.js\");\n/* harmony import */ var _vuelidate_validators__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @vuelidate/validators */ \"./node_modules/@vuelidate/validators/dist/index.esm.js\");\n/* harmony import */ var _plugins_tm_utils_useEmployeeTimeline__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/plugins/tm@_utils/useEmployeeTimeline */ \"./src/plugins/tm@_utils/useEmployeeTimeline.ts\");\n/* harmony import */ var _plugins_tm_utils_timeblock_utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/plugins/tm@_utils/timeblock.utils */ \"./src/plugins/tm@_utils/timeblock.utils.ts\");\n/* harmony import */ var _a_employee_timeblock_header_vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./a-employee-timeblock-header.vue */ \"./src/plugins/tm@modal/task/_components/employees/a-employee-timeblock-header.vue\");\n/* harmony import */ var _a_employee_timeblock_timeline_vue__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./a-employee-timeblock-timeline.vue */ \"./src/plugins/tm@modal/task/_components/employees/a-employee-timeblock-timeline.vue\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! moment */ \"./node_modules/moment/moment.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_10__);\n/* provided dependency */ var console = __webpack_require__(/*! ./node_modules/console-browserify/index.js */ \"./node_modules/console-browserify/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n// Configuration: Set to false to allow editing timeblocks with existing IDs\nconst ALLOW_EDITING_EXISTING_TIMEBLOCKS = true;\nconst HOUR_WIDTH = 60; // pixels per hour (desktop)\nconst HOUR_WIDTH_MOBILE = 50; // pixels per hour (mobile)\nconst START_HOUR = 0; // Start from midnight\nconst END_HOUR = 24; // End at midnight\n// Check if mobile\n/* harmony default export */ __webpack_exports__[\"default\"] = (/*@__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_3__.defineComponent)({\n __name: 'a-employee-timeblock',\n props: {\n modelValue: {\n type: Object,\n required: true\n },\n employee: {\n type: [Object, null],\n required: true\n },\n allEmployeeTimeblocks: {\n type: Array,\n required: false,\n default: () => []\n },\n allTimeblocks: {\n type: Array,\n required: false,\n default: () => []\n },\n deletedTimeblockIds: {\n type: Array,\n required: false,\n default: () => []\n },\n editingBlockerId: {\n type: [Number, null],\n required: false,\n default: null\n },\n currentIndex: {\n type: Number,\n required: false,\n default: 0\n },\n deletable: {\n type: Boolean,\n required: false,\n default: false\n },\n index: {\n type: Number,\n required: false,\n default: 0\n },\n showDraftTasks: {\n type: Boolean,\n required: false,\n default: false\n }\n },\n emits: [\"update:modelValue\", \"addTimeblock\", \"removeTimeblock\"],\n setup(__props, {\n expose: __expose,\n emit: __emit\n }) {\n const props = __props;\n const emit = __emit;\n const timelineRef = (0,vue__WEBPACK_IMPORTED_MODULE_3__.ref)(null);\n // Check if timeblock is editable (based on whether it has an ID)\n const isEditable = (0,vue__WEBPACK_IMPORTED_MODULE_3__.computed)(() => {\n if (ALLOW_EDITING_EXISTING_TIMEBLOCKS) return true;\n return !props.modelValue.id;\n });\n // Minimum date is today (no past dates)\n const minDate = (0,vue__WEBPACK_IMPORTED_MODULE_3__.ref)(new Date());\n // Timeline configuration\n const isMobile = (0,vue__WEBPACK_IMPORTED_MODULE_3__.ref)(false);\n (0,vue__WEBPACK_IMPORTED_MODULE_3__.onMounted)(() => {\n isMobile.value = window.innerWidth <= 768;\n window.addEventListener('resize', () => {\n isMobile.value = window.innerWidth <= 768;\n });\n // Center timeline on mount\n (0,vue__WEBPACK_IMPORTED_MODULE_3__.nextTick)(() => {\n centerTimeline();\n });\n });\n const hourWidth = (0,vue__WEBPACK_IMPORTED_MODULE_3__.computed)(() => isMobile.value ? HOUR_WIDTH_MOBILE : HOUR_WIDTH);\n // Custom validator for time range\n const timeRangeValid = (value, siblings) => {\n if (!siblings.starts_at_time || !siblings.ends_at_time || !siblings.date) {\n return true;\n }\n const {\n start,\n end\n } = (0,_plugins_tm_utils_timeblock_utils__WEBPACK_IMPORTED_MODULE_7__.timeblockToDateRange)(siblings);\n if (!start || !end) return true;\n return end > start;\n };\n // Custom validator: field is required when start OR end time is filled\n // Uses siblings to check the current state of all fields\n // const requiredWhenHasTime = (value: any, siblings: any) => {\n // // Check if timeblock has any TIME data (start or end time)\n // const hasStart = !!siblings.starts_at_time;\n // const hasEnd = !!siblings.ends_at_time;\n // const hasAnyTimeData = hasStart || hasEnd;\n // // If no time data, no validation needed\n // if (!hasAnyTimeData) return true;\n // // When time data exists, field must have value (not null, undefined, or empty string)\n // return value !== null && value !== undefined && value !== '';\n // };\n // Vuelidate rules - if start OR end is filled, all three fields are required\n const rules = {\n date: {\n requiredWhenHasTime: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_5__.helpers.withMessage('Vyberte dátum', _vuelidate_validators__WEBPACK_IMPORTED_MODULE_5__.required)\n },\n starts_at_time: {\n requiredWhenHasTime: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_5__.helpers.withMessage('Zadajte začiatok', _vuelidate_validators__WEBPACK_IMPORTED_MODULE_5__.required)\n },\n ends_at_time: {\n requiredWhenHasTime: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_5__.helpers.withMessage('Zadajte koniec', _vuelidate_validators__WEBPACK_IMPORTED_MODULE_5__.required),\n timeRangeValid: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_5__.helpers.withMessage('Koniec musí byť po začiatku', timeRangeValid)\n }\n };\n const v$ = (0,_vuelidate_core__WEBPACK_IMPORTED_MODULE_4__.useVuelidate)(rules, props.modelValue, {\n $autoDirty: true\n });\n // Error visibility logic: show errors if field is dirty OR if the opposite time field is filled\n const hasStartTimeError = (0,vue__WEBPACK_IMPORTED_MODULE_3__.computed)(() => {\n // Show error if field is dirty and has error\n if (v$.value.starts_at_time.$dirty && v$.value.starts_at_time.$error) {\n return true;\n }\n // OR if end time is filled but start is not\n if (props.modelValue.ends_at_time && !props.modelValue.starts_at_time) {\n return v$.value.starts_at_time.$error;\n }\n return false;\n });\n const hasEndTimeError = (0,vue__WEBPACK_IMPORTED_MODULE_3__.computed)(() => {\n // Show error if field is dirty and has error\n if (v$.value.ends_at_time.$dirty && v$.value.ends_at_time.$error) {\n return true;\n }\n // OR if start time is filled but end is not\n if (props.modelValue.starts_at_time && !props.modelValue.ends_at_time) {\n return v$.value.ends_at_time.$error;\n }\n return false;\n });\n const endTimeErrorMessage = (0,vue__WEBPACK_IMPORTED_MODULE_3__.computed)(() => {\n if (hasEndTimeError.value) {\n return v$.value.ends_at_time.$errors.map(e => e.$message).join(', ');\n }\n return '';\n });\n // Reactive refs for composable\n const employeeRef = (0,vue__WEBPACK_IMPORTED_MODULE_3__.computed)(() => props.employee);\n const dateRef = (0,vue__WEBPACK_IMPORTED_MODULE_3__.computed)(() => props.modelValue.date);\n const timeblockRef = (0,vue__WEBPACK_IMPORTED_MODULE_3__.computed)(() => props.modelValue);\n // Get other timeblocks for the same date (excluding current one)\n // This includes timeblocks from both the current employee and other employees\n const otherTimeblocksForSameDate = (0,vue__WEBPACK_IMPORTED_MODULE_3__.computed)(() => {\n if (!props.modelValue.date) return [];\n const currentDate = moment__WEBPACK_IMPORTED_MODULE_10___default()(props.modelValue.date).format('YYYY-MM-DD');\n // Use allEmployeeTimeblocks which contains timeblocks for this specific employee\n // Filter out the current timeblock by comparing index directly\n return props.allEmployeeTimeblocks.filter((tb, index) => {\n // Skip current timeblock by index\n if (index === props.currentIndex) {\n return false;\n }\n // Must have required fields\n if (!tb.date || !tb.starts_at_time || !tb.ends_at_time) return false;\n // Must be the same date\n return moment__WEBPACK_IMPORTED_MODULE_10___default()(tb.date).format('YYYY-MM-DD') === currentDate;\n });\n });\n // Use timeline composable\n const editingBlockerIdRef = (0,vue__WEBPACK_IMPORTED_MODULE_3__.computed)(() => props.editingBlockerId);\n const showDraftTasksRef = (0,vue__WEBPACK_IMPORTED_MODULE_3__.computed)(() => props.showDraftTasks);\n const {\n isLoading,\n timelineTasks,\n scheduledTime: _scheduledTime,\n freeTime: _freeTime,\n timeblockDuration,\n refetch,\n conceptTasksRefetch\n } = (0,_plugins_tm_utils_useEmployeeTimeline__WEBPACK_IMPORTED_MODULE_6__.useEmployeeTimeline)(employeeRef, dateRef, timeblockRef, otherTimeblocksForSameDate, editingBlockerIdRef, showDraftTasksRef);\n // Force refetch when date changes\n (0,vue__WEBPACK_IMPORTED_MODULE_3__.watch)(() => props.modelValue.date, () => {\n if (props.modelValue.date && props.employee?.id) {\n refetch();\n conceptTasksRefetch();\n }\n });\n (0,vue__WEBPACK_IMPORTED_MODULE_3__.onMounted)(() => {\n refetch();\n conceptTasksRefetch();\n });\n // All tasks from timelineTasks are already filtered for the selected date\n // Filter out timeblocks that are being edited or deleted locally\n const scheduledBlocks = (0,vue__WEBPACK_IMPORTED_MODULE_3__.computed)(() => {\n // Combine IDs that should be filtered: edited locally or deleted\n const hiddenTimeblockIds = new Set([\n // Timeblock IDs being edited locally\n ...props.allTimeblocks.filter(tb => tb.id).map(tb => tb.id),\n // Timeblock IDs that have been deleted\n ...(props.deletedTimeblockIds || [])]);\n // Filter out tasks whose timeblock IDs should be hidden\n return timelineTasks.value.filter(task => !task._timeblock_id || !hiddenTimeblockIds.has(task._timeblock_id));\n });\n // Convert other unsaved timeblocks to task format for collision detection\n const otherTimeblocksAsTasks = (0,vue__WEBPACK_IMPORTED_MODULE_3__.computed)(() => {\n return otherTimeblocksForSameDate.value.map(tb => {\n const {\n start,\n end\n } = (0,_plugins_tm_utils_timeblock_utils__WEBPACK_IMPORTED_MODULE_7__.timeblockToDateRange)(tb);\n if (!start || !end) return null;\n return {\n _real_start: start,\n _real_end: end,\n _timeblock_id: tb.id || null\n };\n }).filter(task => task !== null);\n });\n // Combine scheduled blocks with other unsaved timeblocks for collision detection\n const allBlocksForCollisionCheck = (0,vue__WEBPACK_IMPORTED_MODULE_3__.computed)(() => {\n return [...scheduledBlocks.value, ...otherTimeblocksAsTasks.value];\n });\n // Recalculate collision using filtered scheduled blocks AND other unsaved timeblocks\n // This prevents false collisions with timeblocks being edited, but catches collisions with other unsaved timeblocks\n const collision = (0,vue__WEBPACK_IMPORTED_MODULE_3__.computed)(() => {\n return (0,_plugins_tm_utils_timeblock_utils__WEBPACK_IMPORTED_MODULE_7__.detectCollision)(props.modelValue, allBlocksForCollisionCheck.value);\n });\n // Recalculate collision segments using filtered scheduled blocks AND other unsaved timeblocks\n const collisionSegments = (0,vue__WEBPACK_IMPORTED_MODULE_3__.computed)(() => {\n return (0,_plugins_tm_utils_timeblock_utils__WEBPACK_IMPORTED_MODULE_7__.getCollisionSegments)(props.modelValue, allBlocksForCollisionCheck.value);\n });\n // Get current timeblock range\n const currentTimeblockRange = (0,vue__WEBPACK_IMPORTED_MODULE_3__.computed)(() => {\n const {\n start,\n end\n } = (0,_plugins_tm_utils_timeblock_utils__WEBPACK_IMPORTED_MODULE_7__.timeblockToDateRange)(props.modelValue);\n return {\n start,\n end\n };\n });\n // Validate that end time is after start time\n const isTimeRangeValid = (0,vue__WEBPACK_IMPORTED_MODULE_3__.computed)(() => {\n if (!props.modelValue.starts_at_time || !props.modelValue.ends_at_time) {\n return true; // Don't show error if fields are empty\n }\n const {\n start,\n end\n } = currentTimeblockRange.value;\n if (!start || !end) return true;\n return end > start;\n });\n // Center timeline around middle of work hours\n const centerTimeline = () => {\n if (!timelineRef.value?.timelineScroll) return;\n // Calculate the middle of work hours\n const workStart = props.employee?.work_start ?? 8;\n const workEnd = props.employee?.work_end ?? 17;\n const centerHour = (workStart + workEnd) / 2;\n const centerPosition = (centerHour - START_HOUR) * hourWidth.value;\n const containerWidth = timelineRef.value.timelineScroll.clientWidth;\n timelineRef.value.timelineScroll.scrollLeft = centerPosition - containerWidth / 2;\n };\n // Watch for date changes or employee changes to re-center\n (0,vue__WEBPACK_IMPORTED_MODULE_3__.watch)(() => [props.modelValue.date, props.employee?.id], () => {\n (0,vue__WEBPACK_IMPORTED_MODULE_3__.nextTick)(() => {\n centerTimeline();\n });\n });\n // Watch for timeline ref to become available and center it\n (0,vue__WEBPACK_IMPORTED_MODULE_3__.watch)(timelineRef, newRef => {\n if (newRef?.timelineScroll) {\n (0,vue__WEBPACK_IMPORTED_MODULE_3__.nextTick)(() => {\n centerTimeline();\n });\n }\n });\n // Watch for loading state - when data finishes loading, center the timeline\n (0,vue__WEBPACK_IMPORTED_MODULE_3__.watch)(isLoading, (newIsLoading, oldIsLoading) => {\n // When loading changes from true to false, timeline is re-rendered\n if (oldIsLoading && !newIsLoading) {\n // Wait for DOM to update, then center\n (0,vue__WEBPACK_IMPORTED_MODULE_3__.nextTick)(() => {\n setTimeout(() => {\n centerTimeline();\n }, 0); // Small delay to ensure DOM is fully rendered\n });\n }\n });\n // Date navigation\n const previousDay = () => {\n if (!props.modelValue.date) return;\n const currentDate = moment__WEBPACK_IMPORTED_MODULE_10___default()(props.modelValue.date);\n const newDate = currentDate.clone().subtract(1, 'day').toDate();\n // Don't allow going to past dates\n if (moment__WEBPACK_IMPORTED_MODULE_10___default()(newDate).isBefore(moment__WEBPACK_IMPORTED_MODULE_10___default()(), 'day')) return;\n updateDate(newDate);\n };\n const nextDay = () => {\n if (!props.modelValue.date) return;\n const currentDate = moment__WEBPACK_IMPORTED_MODULE_10___default()(props.modelValue.date);\n const newDate = currentDate.clone().add(1, 'day').toDate();\n updateDate(newDate);\n };\n // Update handlers\n const updateDate = date => {\n emit('update:modelValue', {\n ...props.modelValue,\n date\n });\n };\n const updateStartTime = event => {\n const target = event.target;\n emit('update:modelValue', {\n ...props.modelValue,\n starts_at_time: target.value\n });\n };\n const updateEndTime = event => {\n const target = event.target;\n emit('update:modelValue', {\n ...props.modelValue,\n ends_at_time: target.value\n });\n };\n // Handle timeblock updated from timeline (drag/drop or quick add)\n const handleTimeblockUpdated = payload => {\n const {\n starts_at_time\n } = payload;\n let {\n ends_at_time\n } = payload;\n // Fix accidental same start/end time by adding 1 hour to end\n if (starts_at_time === ends_at_time) {\n const [hours, minutes] = starts_at_time.split(':').map(Number);\n const newEndHour = (hours + 1) % 24; // Wrap around at midnight\n ends_at_time = `${String(newEndHour).padStart(2, '0')}:${String(minutes).padStart(2, '0')}`;\n }\n emit('update:modelValue', {\n ...props.modelValue,\n starts_at_time,\n ends_at_time\n });\n // Trigger validation after timeline update\n (0,vue__WEBPACK_IMPORTED_MODULE_3__.nextTick)(() => {\n v$.value.$touch();\n });\n };\n // Expose validate method\n const validate = async () => {\n v$.value.$touch();\n const isValid = await v$.value.$validate();\n return isValid && isTimeRangeValid.value;\n };\n __expose({\n validate\n });\n (0,vue__WEBPACK_IMPORTED_MODULE_3__.watch)(() => props.modelValue.ends_at_time, () => {\n if (v$.value.ends_at_time.$model !== props.modelValue.ends_at_time) {\n v$.value.ends_at_time.$model = props.modelValue.ends_at_time;\n }\n });\n (0,vue__WEBPACK_IMPORTED_MODULE_3__.watch)(() => props.modelValue.starts_at_time, () => {\n if (v$.value.starts_at_time.$model !== props.modelValue.starts_at_time) {\n v$.value.starts_at_time.$model = props.modelValue.starts_at_time;\n console.log('starts_at_time changed', v$.value.starts_at_time.$model);\n }\n });\n (0,vue__WEBPACK_IMPORTED_MODULE_3__.watch)(() => props.modelValue.date, () => {\n if (v$.value.date.$model !== props.modelValue.date) {\n v$.value.date.$model = props.modelValue.date;\n }\n });\n const __returned__ = {\n ALLOW_EDITING_EXISTING_TIMEBLOCKS,\n props,\n emit,\n timelineRef,\n isEditable,\n minDate,\n HOUR_WIDTH,\n HOUR_WIDTH_MOBILE,\n START_HOUR,\n END_HOUR,\n isMobile,\n hourWidth,\n timeRangeValid,\n rules,\n v$,\n hasStartTimeError,\n hasEndTimeError,\n endTimeErrorMessage,\n employeeRef,\n dateRef,\n timeblockRef,\n otherTimeblocksForSameDate,\n editingBlockerIdRef,\n showDraftTasksRef,\n isLoading,\n timelineTasks,\n _scheduledTime,\n _freeTime,\n timeblockDuration,\n refetch,\n conceptTasksRefetch,\n scheduledBlocks,\n otherTimeblocksAsTasks,\n allBlocksForCollisionCheck,\n collision,\n collisionSegments,\n currentTimeblockRange,\n isTimeRangeValid,\n centerTimeline,\n previousDay,\n nextDay,\n updateDate,\n updateStartTime,\n updateEndTime,\n handleTimeblockUpdated,\n validate,\n AEmployeeTimeblockHeader: _a_employee_timeblock_header_vue__WEBPACK_IMPORTED_MODULE_8__[\"default\"],\n AEmployeeTimeblockTimeline: _a_employee_timeblock_timeline_vue__WEBPACK_IMPORTED_MODULE_9__[\"default\"]\n };\n Object.defineProperty(__returned__, '__isScriptSetup', {\n enumerable: false,\n value: true\n });\n return __returned__;\n }\n}));\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/task/_components/employees/a-employee-timeblock.vue?./node_modules/webpack-plugin-vuetify/dist/scriptLoader.js!./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use%5B1%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); +eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ \"./node_modules/core-js/modules/esnext.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/esnext.iterator.filter.js */ \"./node_modules/core-js/modules/esnext.iterator.filter.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/esnext.iterator.map.js */ \"./node_modules/core-js/modules/esnext.iterator.map.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n/* harmony import */ var _vuelidate_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @vuelidate/core */ \"./node_modules/@vuelidate/core/dist/index.esm.js\");\n/* harmony import */ var _vuelidate_validators__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @vuelidate/validators */ \"./node_modules/@vuelidate/validators/dist/index.esm.js\");\n/* harmony import */ var _plugins_tm_utils_useEmployeeTimeline__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/plugins/tm@_utils/useEmployeeTimeline */ \"./src/plugins/tm@_utils/useEmployeeTimeline.ts\");\n/* harmony import */ var _plugins_tm_utils_timeblock_utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/plugins/tm@_utils/timeblock.utils */ \"./src/plugins/tm@_utils/timeblock.utils.ts\");\n/* harmony import */ var _a_employee_timeblock_header_vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./a-employee-timeblock-header.vue */ \"./src/plugins/tm@modal/task/_components/employees/a-employee-timeblock-header.vue\");\n/* harmony import */ var _a_employee_timeblock_timeline_vue__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./a-employee-timeblock-timeline.vue */ \"./src/plugins/tm@modal/task/_components/employees/a-employee-timeblock-timeline.vue\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! moment */ \"./node_modules/moment/moment.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_10__);\n/* provided dependency */ var console = __webpack_require__(/*! ./node_modules/console-browserify/index.js */ \"./node_modules/console-browserify/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n// Configuration: Set to false to allow editing timeblocks with existing IDs\nconst ALLOW_EDITING_EXISTING_TIMEBLOCKS = true;\nconst HOUR_WIDTH = 60; // pixels per hour (desktop)\nconst HOUR_WIDTH_MOBILE = 50; // pixels per hour (mobile)\nconst START_HOUR = 0; // Start from midnight\nconst END_HOUR = 24; // End at midnight\n// Check if mobile\n/* harmony default export */ __webpack_exports__[\"default\"] = (/*@__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_3__.defineComponent)({\n __name: 'a-employee-timeblock',\n props: {\n modelValue: {\n type: Object,\n required: true\n },\n employee: {\n type: [Object, null],\n required: true\n },\n allEmployeeTimeblocks: {\n type: Array,\n required: false,\n default: () => []\n },\n allTimeblocks: {\n type: Array,\n required: false,\n default: () => []\n },\n deletedTimeblockIds: {\n type: Array,\n required: false,\n default: () => []\n },\n editingBlockerId: {\n type: [Number, null],\n required: false,\n default: null\n },\n currentIndex: {\n type: Number,\n required: false,\n default: 0\n },\n deletable: {\n type: Boolean,\n required: false,\n default: false\n },\n index: {\n type: Number,\n required: false,\n default: 0\n },\n draftTimeblocks: {\n type: Array,\n required: false,\n default: () => []\n }\n },\n emits: [\"update:modelValue\", \"addTimeblock\", \"removeTimeblock\"],\n setup(__props, {\n expose: __expose,\n emit: __emit\n }) {\n const props = __props;\n const emit = __emit;\n const timelineRef = (0,vue__WEBPACK_IMPORTED_MODULE_3__.ref)(null);\n // Check if timeblock is editable (based on whether it has an ID)\n const isEditable = (0,vue__WEBPACK_IMPORTED_MODULE_3__.computed)(() => {\n if (ALLOW_EDITING_EXISTING_TIMEBLOCKS) return true;\n return !props.modelValue.id;\n });\n // Minimum date is today (no past dates)\n const minDate = (0,vue__WEBPACK_IMPORTED_MODULE_3__.ref)(new Date());\n // Timeline configuration\n const isMobile = (0,vue__WEBPACK_IMPORTED_MODULE_3__.ref)(false);\n (0,vue__WEBPACK_IMPORTED_MODULE_3__.onMounted)(() => {\n isMobile.value = window.innerWidth <= 768;\n window.addEventListener('resize', () => {\n isMobile.value = window.innerWidth <= 768;\n });\n // Center timeline on mount\n (0,vue__WEBPACK_IMPORTED_MODULE_3__.nextTick)(() => {\n centerTimeline();\n });\n });\n const hourWidth = (0,vue__WEBPACK_IMPORTED_MODULE_3__.computed)(() => isMobile.value ? HOUR_WIDTH_MOBILE : HOUR_WIDTH);\n // Custom validator for time range\n const timeRangeValid = (value, siblings) => {\n if (!siblings.starts_at_time || !siblings.ends_at_time || !siblings.date) {\n return true;\n }\n const {\n start,\n end\n } = (0,_plugins_tm_utils_timeblock_utils__WEBPACK_IMPORTED_MODULE_7__.timeblockToDateRange)(siblings);\n if (!start || !end) return true;\n return end > start;\n };\n // Custom validator: field is required when start OR end time is filled\n // Uses siblings to check the current state of all fields\n // const requiredWhenHasTime = (value: any, siblings: any) => {\n // // Check if timeblock has any TIME data (start or end time)\n // const hasStart = !!siblings.starts_at_time;\n // const hasEnd = !!siblings.ends_at_time;\n // const hasAnyTimeData = hasStart || hasEnd;\n // // If no time data, no validation needed\n // if (!hasAnyTimeData) return true;\n // // When time data exists, field must have value (not null, undefined, or empty string)\n // return value !== null && value !== undefined && value !== '';\n // };\n // Vuelidate rules - if start OR end is filled, all three fields are required\n const rules = {\n date: {\n requiredWhenHasTime: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_5__.helpers.withMessage('Vyberte dátum', _vuelidate_validators__WEBPACK_IMPORTED_MODULE_5__.required)\n },\n starts_at_time: {\n requiredWhenHasTime: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_5__.helpers.withMessage('Zadajte začiatok', _vuelidate_validators__WEBPACK_IMPORTED_MODULE_5__.required)\n },\n ends_at_time: {\n requiredWhenHasTime: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_5__.helpers.withMessage('Zadajte koniec', _vuelidate_validators__WEBPACK_IMPORTED_MODULE_5__.required),\n timeRangeValid: _vuelidate_validators__WEBPACK_IMPORTED_MODULE_5__.helpers.withMessage('Koniec musí byť po začiatku', timeRangeValid)\n }\n };\n const v$ = (0,_vuelidate_core__WEBPACK_IMPORTED_MODULE_4__.useVuelidate)(rules, props.modelValue, {\n $autoDirty: true\n });\n // Error visibility logic: show errors if field is dirty OR if the opposite time field is filled\n const hasStartTimeError = (0,vue__WEBPACK_IMPORTED_MODULE_3__.computed)(() => {\n // Show error if field is dirty and has error\n if (v$.value.starts_at_time.$dirty && v$.value.starts_at_time.$error) {\n return true;\n }\n // OR if end time is filled but start is not\n if (props.modelValue.ends_at_time && !props.modelValue.starts_at_time) {\n return v$.value.starts_at_time.$error;\n }\n return false;\n });\n const hasEndTimeError = (0,vue__WEBPACK_IMPORTED_MODULE_3__.computed)(() => {\n // Show error if field is dirty and has error\n if (v$.value.ends_at_time.$dirty && v$.value.ends_at_time.$error) {\n return true;\n }\n // OR if start time is filled but end is not\n if (props.modelValue.starts_at_time && !props.modelValue.ends_at_time) {\n return v$.value.ends_at_time.$error;\n }\n return false;\n });\n const endTimeErrorMessage = (0,vue__WEBPACK_IMPORTED_MODULE_3__.computed)(() => {\n if (hasEndTimeError.value) {\n return v$.value.ends_at_time.$errors.map(e => e.$message).join(', ');\n }\n return '';\n });\n // Reactive refs for composable\n const employeeRef = (0,vue__WEBPACK_IMPORTED_MODULE_3__.computed)(() => props.employee);\n const dateRef = (0,vue__WEBPACK_IMPORTED_MODULE_3__.computed)(() => props.modelValue.date);\n const timeblockRef = (0,vue__WEBPACK_IMPORTED_MODULE_3__.computed)(() => props.modelValue);\n // Get other timeblocks for the same date (excluding current one)\n // This includes timeblocks from both the current employee and other employees\n const otherTimeblocksForSameDate = (0,vue__WEBPACK_IMPORTED_MODULE_3__.computed)(() => {\n if (!props.modelValue.date) return [];\n const currentDate = moment__WEBPACK_IMPORTED_MODULE_10___default()(props.modelValue.date).format('YYYY-MM-DD');\n // Use allEmployeeTimeblocks which contains timeblocks for this specific employee\n // Filter out the current timeblock by comparing index directly\n return props.allEmployeeTimeblocks.filter((tb, index) => {\n // Skip current timeblock by index\n if (index === props.currentIndex) {\n return false;\n }\n // Must have required fields\n if (!tb.date || !tb.starts_at_time || !tb.ends_at_time) return false;\n // Must be the same date\n return moment__WEBPACK_IMPORTED_MODULE_10___default()(tb.date).format('YYYY-MM-DD') === currentDate;\n });\n });\n // Use timeline composable\n const editingBlockerIdRef = (0,vue__WEBPACK_IMPORTED_MODULE_3__.computed)(() => props.editingBlockerId);\n const draftTimeblocksRef = (0,vue__WEBPACK_IMPORTED_MODULE_3__.computed)(() => props.draftTimeblocks);\n const {\n isLoading,\n timelineTasks,\n scheduledTime: _scheduledTime,\n freeTime: _freeTime,\n timeblockDuration,\n refetch\n } = (0,_plugins_tm_utils_useEmployeeTimeline__WEBPACK_IMPORTED_MODULE_6__.useEmployeeTimeline)(employeeRef, dateRef, timeblockRef, otherTimeblocksForSameDate, editingBlockerIdRef, draftTimeblocksRef);\n // Force refetch when date changes\n (0,vue__WEBPACK_IMPORTED_MODULE_3__.watch)(() => props.modelValue.date, () => {\n if (props.modelValue.date && props.employee?.id) {\n refetch();\n // conceptTasksRefetch();\n }\n });\n (0,vue__WEBPACK_IMPORTED_MODULE_3__.onMounted)(() => {\n refetch();\n // conceptTasksRefetch();\n });\n // All tasks from timelineTasks are already filtered for the selected date\n // Filter out timeblocks that are being edited or deleted locally\n const scheduledBlocks = (0,vue__WEBPACK_IMPORTED_MODULE_3__.computed)(() => {\n // Combine IDs that should be filtered: edited locally or deleted\n const hiddenTimeblockIds = new Set([\n // Timeblock IDs being edited locally\n ...props.allTimeblocks.filter(tb => tb.id).map(tb => tb.id),\n // Timeblock IDs that have been deleted\n ...(props.deletedTimeblockIds || [])]);\n // Filter out tasks whose timeblock IDs should be hidden\n return timelineTasks.value.filter(task => !task._timeblock_id || !hiddenTimeblockIds.has(task._timeblock_id));\n });\n // Convert other unsaved timeblocks to task format for collision detection\n const otherTimeblocksAsTasks = (0,vue__WEBPACK_IMPORTED_MODULE_3__.computed)(() => {\n return otherTimeblocksForSameDate.value.map(tb => {\n const {\n start,\n end\n } = (0,_plugins_tm_utils_timeblock_utils__WEBPACK_IMPORTED_MODULE_7__.timeblockToDateRange)(tb);\n if (!start || !end) return null;\n return {\n _real_start: start,\n _real_end: end,\n _timeblock_id: tb.id || null\n };\n }).filter(task => task !== null);\n });\n // Combine scheduled blocks with other unsaved timeblocks for collision detection\n const allBlocksForCollisionCheck = (0,vue__WEBPACK_IMPORTED_MODULE_3__.computed)(() => {\n return [...scheduledBlocks.value, ...otherTimeblocksAsTasks.value];\n });\n // Recalculate collision using filtered scheduled blocks AND other unsaved timeblocks\n // This prevents false collisions with timeblocks being edited, but catches collisions with other unsaved timeblocks\n const collision = (0,vue__WEBPACK_IMPORTED_MODULE_3__.computed)(() => {\n return (0,_plugins_tm_utils_timeblock_utils__WEBPACK_IMPORTED_MODULE_7__.detectCollision)(props.modelValue, allBlocksForCollisionCheck.value);\n });\n // Recalculate collision segments using filtered scheduled blocks AND other unsaved timeblocks\n const collisionSegments = (0,vue__WEBPACK_IMPORTED_MODULE_3__.computed)(() => {\n return (0,_plugins_tm_utils_timeblock_utils__WEBPACK_IMPORTED_MODULE_7__.getCollisionSegments)(props.modelValue, allBlocksForCollisionCheck.value);\n });\n // Get current timeblock range\n const currentTimeblockRange = (0,vue__WEBPACK_IMPORTED_MODULE_3__.computed)(() => {\n const {\n start,\n end\n } = (0,_plugins_tm_utils_timeblock_utils__WEBPACK_IMPORTED_MODULE_7__.timeblockToDateRange)(props.modelValue);\n return {\n start,\n end\n };\n });\n // Validate that end time is after start time\n const isTimeRangeValid = (0,vue__WEBPACK_IMPORTED_MODULE_3__.computed)(() => {\n if (!props.modelValue.starts_at_time || !props.modelValue.ends_at_time) {\n return true; // Don't show error if fields are empty\n }\n const {\n start,\n end\n } = currentTimeblockRange.value;\n if (!start || !end) return true;\n return end > start;\n });\n // Center timeline around middle of work hours\n const centerTimeline = () => {\n if (!timelineRef.value?.timelineScroll) return;\n // Calculate the middle of work hours\n const workStart = props.employee?.work_start ?? 8;\n const workEnd = props.employee?.work_end ?? 17;\n const centerHour = (workStart + workEnd) / 2;\n const centerPosition = (centerHour - START_HOUR) * hourWidth.value;\n const containerWidth = timelineRef.value.timelineScroll.clientWidth;\n timelineRef.value.timelineScroll.scrollLeft = centerPosition - containerWidth / 2;\n };\n // Watch for date changes or employee changes to re-center\n (0,vue__WEBPACK_IMPORTED_MODULE_3__.watch)(() => [props.modelValue.date, props.employee?.id], () => {\n (0,vue__WEBPACK_IMPORTED_MODULE_3__.nextTick)(() => {\n centerTimeline();\n });\n });\n // Watch for timeline ref to become available and center it\n (0,vue__WEBPACK_IMPORTED_MODULE_3__.watch)(timelineRef, newRef => {\n if (newRef?.timelineScroll) {\n (0,vue__WEBPACK_IMPORTED_MODULE_3__.nextTick)(() => {\n centerTimeline();\n });\n }\n });\n // Watch for loading state - when data finishes loading, center the timeline\n (0,vue__WEBPACK_IMPORTED_MODULE_3__.watch)(isLoading, (newIsLoading, oldIsLoading) => {\n // When loading changes from true to false, timeline is re-rendered\n if (oldIsLoading && !newIsLoading) {\n // Wait for DOM to update, then center\n (0,vue__WEBPACK_IMPORTED_MODULE_3__.nextTick)(() => {\n setTimeout(() => {\n centerTimeline();\n }, 0); // Small delay to ensure DOM is fully rendered\n });\n }\n });\n // Date navigation\n const previousDay = () => {\n if (!props.modelValue.date) return;\n const currentDate = moment__WEBPACK_IMPORTED_MODULE_10___default()(props.modelValue.date);\n const newDate = currentDate.clone().subtract(1, 'day').toDate();\n // Don't allow going to past dates\n if (moment__WEBPACK_IMPORTED_MODULE_10___default()(newDate).isBefore(moment__WEBPACK_IMPORTED_MODULE_10___default()(), 'day')) return;\n updateDate(newDate);\n };\n const nextDay = () => {\n if (!props.modelValue.date) return;\n const currentDate = moment__WEBPACK_IMPORTED_MODULE_10___default()(props.modelValue.date);\n const newDate = currentDate.clone().add(1, 'day').toDate();\n updateDate(newDate);\n };\n // Update handlers\n const updateDate = date => {\n emit('update:modelValue', {\n ...props.modelValue,\n date\n });\n };\n const updateStartTime = event => {\n const target = event.target;\n emit('update:modelValue', {\n ...props.modelValue,\n starts_at_time: target.value\n });\n };\n const updateEndTime = event => {\n const target = event.target;\n emit('update:modelValue', {\n ...props.modelValue,\n ends_at_time: target.value\n });\n };\n // Handle timeblock updated from timeline (drag/drop or quick add)\n const handleTimeblockUpdated = payload => {\n const {\n starts_at_time\n } = payload;\n let {\n ends_at_time\n } = payload;\n // Fix accidental same start/end time by adding 1 hour to end\n if (starts_at_time === ends_at_time) {\n const [hours, minutes] = starts_at_time.split(':').map(Number);\n const newEndHour = (hours + 1) % 24; // Wrap around at midnight\n ends_at_time = `${String(newEndHour).padStart(2, '0')}:${String(minutes).padStart(2, '0')}`;\n }\n emit('update:modelValue', {\n ...props.modelValue,\n starts_at_time,\n ends_at_time\n });\n // Trigger validation after timeline update\n (0,vue__WEBPACK_IMPORTED_MODULE_3__.nextTick)(() => {\n v$.value.$touch();\n });\n };\n // Expose validate method\n const validate = async () => {\n v$.value.$touch();\n const isValid = await v$.value.$validate();\n return isValid && isTimeRangeValid.value;\n };\n __expose({\n validate\n });\n (0,vue__WEBPACK_IMPORTED_MODULE_3__.watch)(() => props.modelValue.ends_at_time, () => {\n if (v$.value.ends_at_time.$model !== props.modelValue.ends_at_time) {\n v$.value.ends_at_time.$model = props.modelValue.ends_at_time;\n }\n });\n (0,vue__WEBPACK_IMPORTED_MODULE_3__.watch)(() => props.modelValue.starts_at_time, () => {\n if (v$.value.starts_at_time.$model !== props.modelValue.starts_at_time) {\n v$.value.starts_at_time.$model = props.modelValue.starts_at_time;\n console.log('starts_at_time changed', v$.value.starts_at_time.$model);\n }\n });\n (0,vue__WEBPACK_IMPORTED_MODULE_3__.watch)(() => props.modelValue.date, () => {\n if (v$.value.date.$model !== props.modelValue.date) {\n v$.value.date.$model = props.modelValue.date;\n }\n });\n const __returned__ = {\n ALLOW_EDITING_EXISTING_TIMEBLOCKS,\n props,\n emit,\n timelineRef,\n isEditable,\n minDate,\n HOUR_WIDTH,\n HOUR_WIDTH_MOBILE,\n START_HOUR,\n END_HOUR,\n isMobile,\n hourWidth,\n timeRangeValid,\n rules,\n v$,\n hasStartTimeError,\n hasEndTimeError,\n endTimeErrorMessage,\n employeeRef,\n dateRef,\n timeblockRef,\n otherTimeblocksForSameDate,\n editingBlockerIdRef,\n draftTimeblocksRef,\n isLoading,\n timelineTasks,\n _scheduledTime,\n _freeTime,\n timeblockDuration,\n refetch,\n scheduledBlocks,\n otherTimeblocksAsTasks,\n allBlocksForCollisionCheck,\n collision,\n collisionSegments,\n currentTimeblockRange,\n isTimeRangeValid,\n centerTimeline,\n previousDay,\n nextDay,\n updateDate,\n updateStartTime,\n updateEndTime,\n handleTimeblockUpdated,\n validate,\n AEmployeeTimeblockHeader: _a_employee_timeblock_header_vue__WEBPACK_IMPORTED_MODULE_8__[\"default\"],\n AEmployeeTimeblockTimeline: _a_employee_timeblock_timeline_vue__WEBPACK_IMPORTED_MODULE_9__[\"default\"]\n };\n Object.defineProperty(__returned__, '__isScriptSetup', {\n enumerable: false,\n value: true\n });\n return __returned__;\n }\n}));\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/task/_components/employees/a-employee-timeblock.vue?./node_modules/webpack-plugin-vuetify/dist/scriptLoader.js!./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use%5B1%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); /***/ }), @@ -1285,7 +1285,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var cor /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ \"./node_modules/core-js/modules/esnext.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/esnext.iterator.filter.js */ \"./node_modules/core-js/modules/esnext.iterator.filter.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/esnext.iterator.find.js */ \"./node_modules/core-js/modules/esnext.iterator.find.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm-bundler.js\");\n/* harmony import */ var _a_employee_select_vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./a-employee-select.vue */ \"./src/plugins/tm@modal/task/_components/employees/a-employee-select.vue\");\n/* harmony import */ var _a_employee_timeblock_vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./a-employee-timeblock.vue */ \"./src/plugins/tm@modal/task/_components/employees/a-employee-timeblock.vue\");\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (/*@__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_3__.defineComponent)({\n __name: 'a-employee',\n props: {\n employeeData: {\n type: Object,\n required: true\n },\n timeblocks: {\n type: Array,\n required: false,\n default: () => []\n },\n allTimeblocks: {\n type: Array,\n required: false,\n default: () => []\n },\n deletedTimeblockIds: {\n type: Array,\n required: false,\n default: () => []\n },\n customFilter: {\n type: Function,\n required: false,\n default: undefined\n },\n hasBackground: {\n type: Boolean,\n required: false,\n default: true\n },\n required: {\n type: Boolean,\n required: false,\n default: false\n }\n },\n emits: [\"update:employeeData\", \"update:timeblocks\", \"clearEmployee\", \"addTimeblock\"],\n setup(__props, {\n expose: __expose,\n emit: __emit\n }) {\n const props = __props;\n const emit = __emit;\n const store = (0,vuex__WEBPACK_IMPORTED_MODULE_4__.useStore)();\n // Local models with v-model sync\n const employeeDataLocal = (0,vue__WEBPACK_IMPORTED_MODULE_3__.computed)({\n get: () => props.employeeData,\n set: value => emit('update:employeeData', value)\n });\n // Refs for validation\n const employeeSelectRef = (0,vue__WEBPACK_IMPORTED_MODULE_3__.ref)(null);\n const timeblockRefs = (0,vue__WEBPACK_IMPORTED_MODULE_3__.ref)([]);\n const setTimeblockRef = (el, index) => {\n if (el) {\n timeblockRefs.value[index] = el;\n }\n };\n // Get the full employee object from store\n const selectedEmployee = (0,vue__WEBPACK_IMPORTED_MODULE_3__.computed)(() => {\n if (!props.employeeData.id) return null;\n const employees = store.getters['tm/enrichedEmployees'];\n return employees.find(emp => emp.id == props.employeeData.id) || null;\n });\n // Filter allTimeblocks to only include timeblocks for current employee\n const allTimeblocksForCurrentEmployee = (0,vue__WEBPACK_IMPORTED_MODULE_3__.computed)(() => {\n if (!props.employeeData.id) return [];\n return props.allTimeblocks.filter(tb => tb.employee_id == props.employeeData.id);\n });\n // Watch for when employee is selected and ensure at least one timeblock exists\n (0,vue__WEBPACK_IMPORTED_MODULE_3__.watch)(() => props.employeeData.id, (newId, oldId) => {\n // If employee just got selected (id changed from null/undefined to a value)\n // and there are no timeblocks for this employee, request one to be added\n if (newId && !oldId && props.timeblocks.length === 0) {\n (0,vue__WEBPACK_IMPORTED_MODULE_3__.nextTick)(() => {\n emit('addTimeblock', -1);\n });\n }\n }, {\n flush: 'post'\n });\n // On mount, check if employee has ID but no timeblocks\n (0,vue__WEBPACK_IMPORTED_MODULE_3__.onMounted)(() => {\n if (props.employeeData.id && props.timeblocks.length === 0) {\n (0,vue__WEBPACK_IMPORTED_MODULE_3__.nextTick)(() => {\n emit('addTimeblock', -1);\n });\n }\n });\n const handleClearEmployee = () => {\n emit('clearEmployee');\n };\n const handleUpdateTimeblock = (index, value) => {\n const updatedTimeblocks = [...props.timeblocks];\n updatedTimeblocks[index] = value;\n emit('update:timeblocks', updatedTimeblocks);\n };\n const handleRemoveTimeblock = index => {\n const updatedTimeblocks = [...props.timeblocks];\n updatedTimeblocks.splice(index, 1);\n emit('update:timeblocks', updatedTimeblocks);\n };\n const handleAddTimeblock = afterIndex => {\n emit('addTimeblock', afterIndex);\n };\n // Expose validate method that validates all child components\n const validate = async () => {\n let isValid = true;\n // Validate employee select\n if (employeeSelectRef.value) {\n const selectValid = await employeeSelectRef.value.validate();\n isValid = isValid && selectValid;\n }\n // Validate all timeblocks\n for (const timeblockRef of timeblockRefs.value) {\n if (timeblockRef) {\n const timeblockValid = await timeblockRef.validate();\n isValid = isValid && timeblockValid;\n }\n }\n return isValid;\n };\n __expose({\n validate\n });\n const __returned__ = {\n props,\n emit,\n store,\n employeeDataLocal,\n employeeSelectRef,\n timeblockRefs,\n setTimeblockRef,\n selectedEmployee,\n allTimeblocksForCurrentEmployee,\n handleClearEmployee,\n handleUpdateTimeblock,\n handleRemoveTimeblock,\n handleAddTimeblock,\n validate,\n AEmployeeSelect: _a_employee_select_vue__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n AEmployeeTimeblock: _a_employee_timeblock_vue__WEBPACK_IMPORTED_MODULE_6__[\"default\"]\n };\n Object.defineProperty(__returned__, '__isScriptSetup', {\n enumerable: false,\n value: true\n });\n return __returned__;\n }\n}));\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/task/_components/employees/a-employee.vue?./node_modules/webpack-plugin-vuetify/dist/scriptLoader.js!./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use%5B1%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); +eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ \"./node_modules/core-js/modules/esnext.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/esnext.iterator.filter.js */ \"./node_modules/core-js/modules/esnext.iterator.filter.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/esnext.iterator.find.js */ \"./node_modules/core-js/modules/esnext.iterator.find.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm-bundler.js\");\n/* harmony import */ var _a_employee_select_vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./a-employee-select.vue */ \"./src/plugins/tm@modal/task/_components/employees/a-employee-select.vue\");\n/* harmony import */ var _a_employee_timeblock_vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./a-employee-timeblock.vue */ \"./src/plugins/tm@modal/task/_components/employees/a-employee-timeblock.vue\");\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (/*@__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_3__.defineComponent)({\n __name: 'a-employee',\n props: {\n employeeData: {\n type: Object,\n required: true\n },\n timeblocks: {\n type: Array,\n required: false,\n default: () => []\n },\n allTimeblocks: {\n type: Array,\n required: false,\n default: () => []\n },\n deletedTimeblockIds: {\n type: Array,\n required: false,\n default: () => []\n },\n draftTimeblocks: {\n type: Array,\n required: false,\n default: () => []\n },\n customFilter: {\n type: Function,\n required: false,\n default: undefined\n },\n hasBackground: {\n type: Boolean,\n required: false,\n default: true\n },\n required: {\n type: Boolean,\n required: false,\n default: false\n }\n },\n emits: [\"update:employeeData\", \"update:timeblocks\", \"clearEmployee\", \"addTimeblock\"],\n setup(__props, {\n expose: __expose,\n emit: __emit\n }) {\n const props = __props;\n const emit = __emit;\n const store = (0,vuex__WEBPACK_IMPORTED_MODULE_4__.useStore)();\n // Local models with v-model sync\n const employeeDataLocal = (0,vue__WEBPACK_IMPORTED_MODULE_3__.computed)({\n get: () => props.employeeData,\n set: value => emit('update:employeeData', value)\n });\n // Refs for validation\n const employeeSelectRef = (0,vue__WEBPACK_IMPORTED_MODULE_3__.ref)(null);\n const timeblockRefs = (0,vue__WEBPACK_IMPORTED_MODULE_3__.ref)([]);\n const setTimeblockRef = (el, index) => {\n if (el) {\n timeblockRefs.value[index] = el;\n }\n };\n // Get the full employee object from store\n const selectedEmployee = (0,vue__WEBPACK_IMPORTED_MODULE_3__.computed)(() => {\n if (!props.employeeData.id) return null;\n const employees = store.getters['tm/enrichedEmployees'];\n return employees.find(emp => emp.id == props.employeeData.id) || null;\n });\n // Filter allTimeblocks to only include timeblocks for current employee\n const allTimeblocksForCurrentEmployee = (0,vue__WEBPACK_IMPORTED_MODULE_3__.computed)(() => {\n if (!props.employeeData.id) return [];\n return props.allTimeblocks.filter(tb => tb.employee_id == props.employeeData.id);\n });\n // Watch for when employee is selected and ensure at least one timeblock exists\n (0,vue__WEBPACK_IMPORTED_MODULE_3__.watch)(() => props.employeeData.id, (newId, oldId) => {\n // If employee just got selected (id changed from null/undefined to a value)\n // and there are no timeblocks for this employee, request one to be added\n if (newId && !oldId && props.timeblocks.length === 0) {\n (0,vue__WEBPACK_IMPORTED_MODULE_3__.nextTick)(() => {\n emit('addTimeblock', -1);\n });\n }\n }, {\n flush: 'post'\n });\n // On mount, check if employee has ID but no timeblocks\n (0,vue__WEBPACK_IMPORTED_MODULE_3__.onMounted)(() => {\n if (props.employeeData.id && props.timeblocks.length === 0) {\n (0,vue__WEBPACK_IMPORTED_MODULE_3__.nextTick)(() => {\n emit('addTimeblock', -1);\n });\n }\n });\n const handleClearEmployee = () => {\n emit('clearEmployee');\n };\n const handleUpdateTimeblock = (index, value) => {\n const updatedTimeblocks = [...props.timeblocks];\n updatedTimeblocks[index] = value;\n emit('update:timeblocks', updatedTimeblocks);\n };\n const handleRemoveTimeblock = index => {\n const updatedTimeblocks = [...props.timeblocks];\n updatedTimeblocks.splice(index, 1);\n emit('update:timeblocks', updatedTimeblocks);\n };\n const handleAddTimeblock = afterIndex => {\n emit('addTimeblock', afterIndex);\n };\n // Expose validate method that validates all child components\n const validate = async () => {\n let isValid = true;\n // Validate employee select\n if (employeeSelectRef.value) {\n const selectValid = await employeeSelectRef.value.validate();\n isValid = isValid && selectValid;\n }\n // Validate all timeblocks\n for (const timeblockRef of timeblockRefs.value) {\n if (timeblockRef) {\n const timeblockValid = await timeblockRef.validate();\n isValid = isValid && timeblockValid;\n }\n }\n return isValid;\n };\n __expose({\n validate\n });\n const __returned__ = {\n props,\n emit,\n store,\n employeeDataLocal,\n employeeSelectRef,\n timeblockRefs,\n setTimeblockRef,\n selectedEmployee,\n allTimeblocksForCurrentEmployee,\n handleClearEmployee,\n handleUpdateTimeblock,\n handleRemoveTimeblock,\n handleAddTimeblock,\n validate,\n AEmployeeSelect: _a_employee_select_vue__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n AEmployeeTimeblock: _a_employee_timeblock_vue__WEBPACK_IMPORTED_MODULE_6__[\"default\"]\n };\n Object.defineProperty(__returned__, '__isScriptSetup', {\n enumerable: false,\n value: true\n });\n return __returned__;\n }\n}));\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/task/_components/employees/a-employee.vue?./node_modules/webpack-plugin-vuetify/dist/scriptLoader.js!./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use%5B1%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); /***/ }), @@ -1362,7 +1362,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; }\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n\nconst _hoisted_1 = {\n key: 0,\n class: \"employee__timeblocks\"\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", {\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)([\"employee\", {\n 'employee--has-background': $props.hasBackground\n }])\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"AEmployeeSelect\"], {\n ref: \"employeeSelectRef\",\n modelValue: $setup.employeeDataLocal,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => $setup.employeeDataLocal = $event),\n \"custom-filter\": $props.customFilter,\n required: $props.required,\n onClearEmployee: $setup.handleClearEmployee\n }, null, 8 /* PROPS */, [\"modelValue\", \"custom-filter\", \"required\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" Timeblocks Timeline \"), $setup.selectedEmployee ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", _hoisted_1, [((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)($props.timeblocks, (timeblock, index) => {\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)($setup[\"AEmployeeTimeblock\"], {\n key: timeblock._clientId || timeblock.id || `timeblock-${index}`,\n ref_for: true,\n ref: el => $setup.setTimeblockRef(el, index),\n \"model-value\": timeblock,\n employee: $setup.selectedEmployee,\n \"all-employee-timeblocks\": $props.timeblocks,\n \"all-timeblocks\": $setup.allTimeblocksForCurrentEmployee,\n \"deleted-timeblock-ids\": $props.deletedTimeblockIds,\n \"current-index\": index,\n deletable: $props.timeblocks.length > 1,\n index: index,\n \"onUpdate:modelValue\": val => $setup.handleUpdateTimeblock(index, val),\n onAddTimeblock: $event => $setup.handleAddTimeblock(index),\n onRemoveTimeblock: $event => $setup.handleRemoveTimeblock(index)\n }, null, 8 /* PROPS */, [\"model-value\", \"employee\", \"all-employee-timeblocks\", \"all-timeblocks\", \"deleted-timeblock-ids\", \"current-index\", \"deletable\", \"index\", \"onUpdate:modelValue\", \"onAddTimeblock\", \"onRemoveTimeblock\"]);\n }), 128 /* KEYED_FRAGMENT */))])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true)], 2 /* CLASS */);\n}\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/task/_components/employees/a-employee.vue?./node_modules/webpack-plugin-vuetify/dist/scriptLoader.js!./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use%5B1%5D!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B5%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); +eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; }\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n\nconst _hoisted_1 = {\n key: 0,\n class: \"employee__timeblocks\"\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", {\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)([\"employee\", {\n 'employee--has-background': $props.hasBackground\n }])\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"AEmployeeSelect\"], {\n ref: \"employeeSelectRef\",\n modelValue: $setup.employeeDataLocal,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => $setup.employeeDataLocal = $event),\n \"custom-filter\": $props.customFilter,\n required: $props.required,\n onClearEmployee: $setup.handleClearEmployee\n }, null, 8 /* PROPS */, [\"modelValue\", \"custom-filter\", \"required\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" Timeblocks Timeline \"), $setup.selectedEmployee ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", _hoisted_1, [((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)($props.timeblocks, (timeblock, index) => {\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)($setup[\"AEmployeeTimeblock\"], {\n key: timeblock._clientId || timeblock.id || `timeblock-${index}`,\n ref_for: true,\n ref: el => $setup.setTimeblockRef(el, index),\n \"model-value\": timeblock,\n employee: $setup.selectedEmployee,\n \"all-employee-timeblocks\": $props.timeblocks,\n \"all-timeblocks\": $setup.allTimeblocksForCurrentEmployee,\n \"deleted-timeblock-ids\": $props.deletedTimeblockIds,\n \"draft-timeblocks\": $props.draftTimeblocks,\n \"current-index\": index,\n deletable: $props.timeblocks.length > 1,\n index: index,\n \"onUpdate:modelValue\": val => $setup.handleUpdateTimeblock(index, val),\n onAddTimeblock: $event => $setup.handleAddTimeblock(index),\n onRemoveTimeblock: $event => $setup.handleRemoveTimeblock(index)\n }, null, 8 /* PROPS */, [\"model-value\", \"employee\", \"all-employee-timeblocks\", \"all-timeblocks\", \"deleted-timeblock-ids\", \"draft-timeblocks\", \"current-index\", \"deletable\", \"index\", \"onUpdate:modelValue\", \"onAddTimeblock\", \"onRemoveTimeblock\"]);\n }), 128 /* KEYED_FRAGMENT */))])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true)], 2 /* CLASS */);\n}\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/task/_components/employees/a-employee.vue?./node_modules/webpack-plugin-vuetify/dist/scriptLoader.js!./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-41.use%5B1%5D!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B5%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); /***/ }), @@ -1802,7 +1802,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; }\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n/* harmony import */ var vuetify_lib_components_VBtn_index_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vuetify/lib/components/VBtn/index.mjs */ \"./node_modules/vuetify/lib/components/VBtn/VBtn.mjs\");\n/* harmony import */ var vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vuetify/lib/components/VCard/index.mjs */ \"./node_modules/vuetify/lib/components/VCard/VCard.mjs\");\n/* harmony import */ var vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vuetify/lib/components/VCard/index.mjs */ \"./node_modules/vuetify/lib/components/VCard/VCardActions.mjs\");\n/* harmony import */ var vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! vuetify/lib/components/VCard/index.mjs */ \"./node_modules/vuetify/lib/components/VCard/VCardText.mjs\");\n/* harmony import */ var vuetify_lib_components_VDialog_index_mjs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! vuetify/lib/components/VDialog/index.mjs */ \"./node_modules/vuetify/lib/components/VDialog/VDialog.mjs\");\n/* harmony import */ var vuetify_lib_components_VGrid_index_mjs__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! vuetify/lib/components/VGrid/index.mjs */ \"./node_modules/vuetify/lib/components/VGrid/VCol.mjs\");\n/* harmony import */ var vuetify_lib_components_VGrid_index_mjs__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! vuetify/lib/components/VGrid/index.mjs */ \"./node_modules/vuetify/lib/components/VGrid/VRow.mjs\");\n/* harmony import */ var vuetify_lib_components_VIcon_index_mjs__WEBPACK_IMPORTED_MODULE_8__ = __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_9__ = __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 = {\n key: 0,\n class: \"d-flex align-center mb-3\"\n};\nconst _hoisted_3 = {\n class: \"d-flex align-center mb-2\"\n};\nconst _hoisted_4 = {\n class: \"d-flex justify-space-between align-center pa-4\"\n};\nconst _hoisted_5 = {\n class: \"d-flex align-start\"\n};\nconst _hoisted_6 = {\n class: \"d-flex justify-space-between align-center\"\n};\nconst _hoisted_7 = {\n class: \"text-red\"\n};\nconst _hoisted_8 = {\n class: \"text-black\"\n};\nconst _hoisted_9 = {\n class: \"d-flex align-start\"\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n \n \n \n \n const _component_a_reset_size_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-reset-size-button\");\n const _component_a_close_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-close-button\");\n const _component_a_employee_timeblock = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-employee-timeblock\");\n \n \n \n const _component_a_resize_handle = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-resize-handle\");\n \n \n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VGrid_index_mjs__WEBPACK_IMPORTED_MODULE_7__.VRow, {\n \"no-gutters\": \"\"\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_6__.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_9__.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_8__.VIcon, {\n icon: \"mdi-calendar-week\",\n size: \"large\"\n }), _cache[9] || (_cache[9] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"p\", {\n class: \"mx-3\"\n }, \"Trvanie\", -1 /* CACHED */))])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VGrid_index_mjs__WEBPACK_IMPORTED_MODULE_6__.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_9__.VSheet, {\n class: \"py-3\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [!$options.isOffice365Task ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VIcon_index_mjs__WEBPACK_IMPORTED_MODULE_8__.VIcon, {\n class: \"add-date cursor-pointer mr-2\",\n icon: \"mdi-plus\",\n size: \"medium\",\n onClick: _cache[0] || (_cache[0] = $event => $data.showModal = true)\n }), _cache[10] || (_cache[10] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"p\", {\n class: \"task-badge rounded-pill\"\n }, \"Pridať záznam\", -1 /* CACHED */))])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true), ((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)($props.timeblocks, (timeblock, index) => {\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", {\n key: timeblock.id || `timeblock-${index}`,\n class: \"timeblock-item mb-3\"\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_3, [!$options.isOffice365Task ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(vuetify_lib_components_VIcon_index_mjs__WEBPACK_IMPORTED_MODULE_8__.VIcon, {\n key: 0,\n class: \"circle-border cursor-pointer mr-2\",\n icon: \"mdi-minus\",\n size: \"medium\",\n onClick: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withModifiers)($event => timeblock.id ? $options.deleteTimeblock(timeblock) : $options.deleteTimeblockByIndex(index), [\"stop\"])\n }, null, 8 /* PROPS */, [\"onClick\"])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"p\", {\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)([\"task-badge rounded-pill\", {\n 'strike-through': timeblock.is_finished\n }])\n }, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($options.formatTimeblockStart(timeblock)) + \" - \" + (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($options.formatTimeblockEnd(timeblock)), 3 /* TEXT, CLASS */), !$options.isOffice365Task ? (0,vue__WEBPACK_IMPORTED_MODULE_0__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(vuetify_lib_components_VIcon_index_mjs__WEBPACK_IMPORTED_MODULE_8__.VIcon, {\n key: 1,\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)([\"circle-border ml-2\", {\n completed: timeblock.is_finished,\n 'cursor-pointer': !$props.subtask.is_draft,\n 'disabled-check': $props.subtask.is_draft\n }]),\n icon: \"mdi-check\",\n size: \"medium\",\n onClick: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withModifiers)($event => !$props.subtask.is_draft && $options.toggleTimeblockIsFinished(timeblock, index), [\"stop\"])\n }, null, 8 /* PROPS */, [\"class\", \"onClick\"])), [[vue__WEBPACK_IMPORTED_MODULE_0__.vShow, $props.subtask.id]]) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true)]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" Timeline Visualization for existing timeblock \"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" \\n \\n
\")]);\n }), 128 /* KEYED_FRAGMENT */))]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VDialog_index_mjs__WEBPACK_IMPORTED_MODULE_5__.VDialog, {\n modelValue: $data.showModal,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => $data.showModal = $event),\n width: _ctx.modalWidth,\n height: _ctx.modalHeight,\n persistent: \"\",\n \"retain-focus\": false\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_2__.VCard, {\n style: {\n \"position\": \"relative\",\n \"height\": \"100%\",\n \"max-height\": \"calc(100vh - 48px)\"\n },\n class: \"add-timeblock-modal\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_4, [_cache[11] || (_cache[11] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"h1\", null, \"Pridať dátum\", -1 /* CACHED */)), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_5, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_reset_size_button, {\n onReset: _ctx.resetModalSize\n }, null, 8 /* PROPS */, [\"onReset\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_close_button, {\n onClose: _cache[1] || (_cache[1] = $event => $options.closeModal())\n })])]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_4__.VCardText, {\n class: \"pa-4\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" Reuse the a-employee-timeblock component \"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_employee_timeblock, {\n ref: \"employeeTimeblockRef\",\n modelValue: $data.newTimeblock,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => $data.newTimeblock = $event),\n employee: $options.employee,\n deletable: false,\n index: 0,\n \"show-draft-tasks\": !!$props.subtask.is_draft\n }, null, 8 /* PROPS */, [\"modelValue\", \"employee\", \"show-draft-tasks\"])]),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_3__.VCardActions, {\n class: \"pa-4\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VBtn_index_mjs__WEBPACK_IMPORTED_MODULE_1__.VBtn, {\n class: \"button primary\",\n onClick: _cache[3] || (_cache[3] = $event => $options.submitFromEmployeeTimeblock())\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [...(_cache[12] || (_cache[12] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\" Potvrdiť \", -1 /* CACHED */)]))]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_resize_handle, {\n \"current-width\": _ctx.modalWidthPx,\n \"current-height\": _ctx.modalHeightPx,\n onResize: _ctx.handleModalResize,\n onResizeEnd: _ctx.handleResizeEnd\n }, null, 8 /* PROPS */, [\"current-width\", \"current-height\", \"onResize\", \"onResizeEnd\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"width\", \"height\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VDialog_index_mjs__WEBPACK_IMPORTED_MODULE_5__.VDialog, {\n modelValue: $data.visible,\n \"onUpdate:modelValue\": _cache[8] || (_cache[8] = $event => $data.visible = $event),\n width: _ctx.modalWidth,\n height: _ctx.modalHeight,\n persistent: \"\",\n \"retain-focus\": false\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_2__.VCard, {\n style: {\n \"position\": \"relative\",\n \"height\": \"100%\",\n \"max-height\": \"calc(100vh - 48px)\"\n }\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_6, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"h1\", _hoisted_7, [_cache[13] || (_cache[13] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\" Ste si istý, že chcete pridať timeblock po deadline \", -1 /* CACHED */)), _cache[14] || (_cache[14] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"br\", null, null, -1 /* CACHED */)), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"b\", _hoisted_8, \"z mastertasku \" + (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($props.subtask?.project_code) + \" ?\", 1 /* TEXT */)]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_9, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_reset_size_button, {\n onReset: _ctx.resetModalSize\n }, null, 8 /* PROPS */, [\"onReset\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_close_button, {\n onClose: _cache[5] || (_cache[5] = $event => $options.closeModal())\n })])]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_3__.VCardActions, {\n class: \"mt-10 d-flex justify-start align-center mobile-view\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VBtn_index_mjs__WEBPACK_IMPORTED_MODULE_1__.VBtn, {\n class: \"button primary half\",\n variant: \"flat\",\n onClick: _cache[6] || (_cache[6] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.withModifiers)($event => $options.confirmSubmit(), [\"stop\"]))\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [...(_cache[15] || (_cache[15] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"ÁNO\", -1 /* CACHED */)]))]),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VBtn_index_mjs__WEBPACK_IMPORTED_MODULE_1__.VBtn, {\n class: \"button primary half outline\",\n onClick: _cache[7] || (_cache[7] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.withModifiers)($event => $options.closeModal(), [\"stop\"]))\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [...(_cache[16] || (_cache[16] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"ZRUŠIŤ\", -1 /* CACHED */)]))]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_resize_handle, {\n \"current-width\": _ctx.modalWidthPx,\n \"current-height\": _ctx.modalHeightPx,\n onResize: _ctx.handleModalResize,\n onResizeEnd: _ctx.handleResizeEnd\n }, null, 8 /* PROPS */, [\"current-width\", \"current-height\", \"onResize\", \"onResizeEnd\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"width\", \"height\"])], 64 /* STABLE_FRAGMENT */);\n}\n\n/* Vuetify */\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/task/_components/_components/a-task-timeblocks.vue?./node_modules/webpack-plugin-vuetify/dist/scriptLoader.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B5%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); +eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; }\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n/* harmony import */ var vuetify_lib_components_VBtn_index_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vuetify/lib/components/VBtn/index.mjs */ \"./node_modules/vuetify/lib/components/VBtn/VBtn.mjs\");\n/* harmony import */ var vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vuetify/lib/components/VCard/index.mjs */ \"./node_modules/vuetify/lib/components/VCard/VCard.mjs\");\n/* harmony import */ var vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vuetify/lib/components/VCard/index.mjs */ \"./node_modules/vuetify/lib/components/VCard/VCardActions.mjs\");\n/* harmony import */ var vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! vuetify/lib/components/VCard/index.mjs */ \"./node_modules/vuetify/lib/components/VCard/VCardText.mjs\");\n/* harmony import */ var vuetify_lib_components_VDialog_index_mjs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! vuetify/lib/components/VDialog/index.mjs */ \"./node_modules/vuetify/lib/components/VDialog/VDialog.mjs\");\n/* harmony import */ var vuetify_lib_components_VGrid_index_mjs__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! vuetify/lib/components/VGrid/index.mjs */ \"./node_modules/vuetify/lib/components/VGrid/VCol.mjs\");\n/* harmony import */ var vuetify_lib_components_VGrid_index_mjs__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! vuetify/lib/components/VGrid/index.mjs */ \"./node_modules/vuetify/lib/components/VGrid/VRow.mjs\");\n/* harmony import */ var vuetify_lib_components_VIcon_index_mjs__WEBPACK_IMPORTED_MODULE_8__ = __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_9__ = __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 = {\n key: 0,\n class: \"d-flex align-center mb-3\"\n};\nconst _hoisted_3 = {\n class: \"d-flex align-center mb-2\"\n};\nconst _hoisted_4 = {\n class: \"d-flex justify-space-between align-center pa-4\"\n};\nconst _hoisted_5 = {\n class: \"d-flex align-start\"\n};\nconst _hoisted_6 = {\n class: \"d-flex justify-space-between align-center\"\n};\nconst _hoisted_7 = {\n class: \"text-red\"\n};\nconst _hoisted_8 = {\n class: \"text-black\"\n};\nconst _hoisted_9 = {\n class: \"d-flex align-start\"\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n \n \n \n \n const _component_a_reset_size_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-reset-size-button\");\n const _component_a_close_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-close-button\");\n const _component_a_employee_timeblock = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-employee-timeblock\");\n \n \n \n const _component_a_resize_handle = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-resize-handle\");\n \n \n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VGrid_index_mjs__WEBPACK_IMPORTED_MODULE_7__.VRow, {\n \"no-gutters\": \"\"\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_6__.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_9__.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_8__.VIcon, {\n icon: \"mdi-calendar-week\",\n size: \"large\"\n }), _cache[9] || (_cache[9] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"p\", {\n class: \"mx-3\"\n }, \"Trvanie\", -1 /* CACHED */))])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VGrid_index_mjs__WEBPACK_IMPORTED_MODULE_6__.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_9__.VSheet, {\n class: \"py-3\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [!$options.isOffice365Task ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VIcon_index_mjs__WEBPACK_IMPORTED_MODULE_8__.VIcon, {\n class: \"add-date cursor-pointer mr-2\",\n icon: \"mdi-plus\",\n size: \"medium\",\n onClick: _cache[0] || (_cache[0] = $event => $data.showModal = true)\n }), _cache[10] || (_cache[10] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"p\", {\n class: \"task-badge rounded-pill\"\n }, \"Pridať záznam\", -1 /* CACHED */))])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true), ((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)($props.timeblocks, (timeblock, index) => {\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", {\n key: timeblock.id || `timeblock-${index}`,\n class: \"timeblock-item mb-3\"\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_3, [!$options.isOffice365Task ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(vuetify_lib_components_VIcon_index_mjs__WEBPACK_IMPORTED_MODULE_8__.VIcon, {\n key: 0,\n class: \"circle-border cursor-pointer mr-2\",\n icon: \"mdi-minus\",\n size: \"medium\",\n onClick: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withModifiers)($event => timeblock.id ? $options.deleteTimeblock(timeblock) : $options.deleteTimeblockByIndex(index), [\"stop\"])\n }, null, 8 /* PROPS */, [\"onClick\"])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"p\", {\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)([\"task-badge rounded-pill\", {\n 'strike-through': timeblock.is_finished\n }])\n }, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($options.formatTimeblockStart(timeblock)) + \" - \" + (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($options.formatTimeblockEnd(timeblock)), 3 /* TEXT, CLASS */), !$options.isOffice365Task ? (0,vue__WEBPACK_IMPORTED_MODULE_0__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(vuetify_lib_components_VIcon_index_mjs__WEBPACK_IMPORTED_MODULE_8__.VIcon, {\n key: 1,\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)([\"circle-border ml-2\", {\n completed: timeblock.is_finished,\n 'cursor-pointer': !$props.subtask.is_draft,\n 'disabled-check': $props.subtask.is_draft\n }]),\n icon: \"mdi-check\",\n size: \"medium\",\n onClick: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withModifiers)($event => !$props.subtask.is_draft && $options.toggleTimeblockIsFinished(timeblock, index), [\"stop\"])\n }, null, 8 /* PROPS */, [\"class\", \"onClick\"])), [[vue__WEBPACK_IMPORTED_MODULE_0__.vShow, $props.subtask.id]]) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true)]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" Timeline Visualization for existing timeblock \"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" \\n \\n \")]);\n }), 128 /* KEYED_FRAGMENT */))]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VDialog_index_mjs__WEBPACK_IMPORTED_MODULE_5__.VDialog, {\n modelValue: $data.showModal,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => $data.showModal = $event),\n width: _ctx.modalWidth,\n height: _ctx.modalHeight,\n persistent: \"\",\n \"retain-focus\": false\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_2__.VCard, {\n style: {\n \"position\": \"relative\",\n \"height\": \"100%\",\n \"max-height\": \"calc(100vh - 48px)\"\n },\n class: \"add-timeblock-modal\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_4, [_cache[11] || (_cache[11] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"h1\", null, \"Pridať dátum\", -1 /* CACHED */)), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_5, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_reset_size_button, {\n onReset: _ctx.resetModalSize\n }, null, 8 /* PROPS */, [\"onReset\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_close_button, {\n onClose: _cache[1] || (_cache[1] = $event => $options.closeModal())\n })])]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_4__.VCardText, {\n class: \"pa-4\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" Reuse the a-employee-timeblock component \"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_employee_timeblock, {\n ref: \"employeeTimeblockRef\",\n modelValue: $data.newTimeblock,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => $data.newTimeblock = $event),\n employee: $options.employee,\n deletable: false,\n index: 0,\n \"draft-timeblocks\": $options.draftTimeblocks\n }, null, 8 /* PROPS */, [\"modelValue\", \"employee\", \"draft-timeblocks\"])]),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_3__.VCardActions, {\n class: \"pa-4\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VBtn_index_mjs__WEBPACK_IMPORTED_MODULE_1__.VBtn, {\n class: \"button primary\",\n onClick: _cache[3] || (_cache[3] = $event => $options.submitFromEmployeeTimeblock())\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [...(_cache[12] || (_cache[12] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\" Potvrdiť \", -1 /* CACHED */)]))]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_resize_handle, {\n \"current-width\": _ctx.modalWidthPx,\n \"current-height\": _ctx.modalHeightPx,\n onResize: _ctx.handleModalResize,\n onResizeEnd: _ctx.handleResizeEnd\n }, null, 8 /* PROPS */, [\"current-width\", \"current-height\", \"onResize\", \"onResizeEnd\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"width\", \"height\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VDialog_index_mjs__WEBPACK_IMPORTED_MODULE_5__.VDialog, {\n modelValue: $data.visible,\n \"onUpdate:modelValue\": _cache[8] || (_cache[8] = $event => $data.visible = $event),\n width: _ctx.modalWidth,\n height: _ctx.modalHeight,\n persistent: \"\",\n \"retain-focus\": false\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_2__.VCard, {\n style: {\n \"position\": \"relative\",\n \"height\": \"100%\",\n \"max-height\": \"calc(100vh - 48px)\"\n }\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_6, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"h1\", _hoisted_7, [_cache[13] || (_cache[13] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\" Ste si istý, že chcete pridať timeblock po deadline \", -1 /* CACHED */)), _cache[14] || (_cache[14] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"br\", null, null, -1 /* CACHED */)), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"b\", _hoisted_8, \"z mastertasku \" + (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($props.subtask?.project_code) + \" ?\", 1 /* TEXT */)]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_9, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_reset_size_button, {\n onReset: _ctx.resetModalSize\n }, null, 8 /* PROPS */, [\"onReset\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_close_button, {\n onClose: _cache[5] || (_cache[5] = $event => $options.closeModal())\n })])]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VCard_index_mjs__WEBPACK_IMPORTED_MODULE_3__.VCardActions, {\n class: \"mt-10 d-flex justify-start align-center mobile-view\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VBtn_index_mjs__WEBPACK_IMPORTED_MODULE_1__.VBtn, {\n class: \"button primary half\",\n variant: \"flat\",\n onClick: _cache[6] || (_cache[6] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.withModifiers)($event => $options.confirmSubmit(), [\"stop\"]))\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [...(_cache[15] || (_cache[15] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"ÁNO\", -1 /* CACHED */)]))]),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vuetify_lib_components_VBtn_index_mjs__WEBPACK_IMPORTED_MODULE_1__.VBtn, {\n class: \"button primary half outline\",\n onClick: _cache[7] || (_cache[7] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.withModifiers)($event => $options.closeModal(), [\"stop\"]))\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [...(_cache[16] || (_cache[16] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"ZRUŠIŤ\", -1 /* CACHED */)]))]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_resize_handle, {\n \"current-width\": _ctx.modalWidthPx,\n \"current-height\": _ctx.modalHeightPx,\n onResize: _ctx.handleModalResize,\n onResizeEnd: _ctx.handleResizeEnd\n }, null, 8 /* PROPS */, [\"current-width\", \"current-height\", \"onResize\", \"onResizeEnd\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"width\", \"height\"])], 64 /* STABLE_FRAGMENT */);\n}\n\n/* Vuetify */\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@modal/task/_components/_components/a-task-timeblocks.vue?./node_modules/webpack-plugin-vuetify/dist/scriptLoader.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B5%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); /***/ }), @@ -1813,7 +1813,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; }\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n\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_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_timeblocks = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"A-task-timeblocks\");\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 id: $props.subtask.master_task_id,\n name: $props.subtask._master_task.name,\n color: $props.subtask._master_task.color,\n onCloseModal: _cache[0] || (_cache[0] = $event => _ctx.$emit('close-modal'))\n }, null, 8 /* PROPS */, [\"id\", \"name\", \"color\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_A_mastertask_status, {\n \"is-finished\": $props.subtask.is_finished\n }, null, 8 /* PROPS */, [\"is-finished\"]), (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_Z_created_by, {\n \"employee-id\": $props.subtask.created_by\n }, null, 8 /* PROPS */, [\"employee-id\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" Loop through normalized employees \"), ((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)($options.normalizedEmployees, (employeeData, index) => {\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", {\n key: `employee-${employeeData.id || index}`,\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)({\n 'employee-section': $options.hasMultipleEmployees,\n 'border-top': $options.hasMultipleEmployees,\n 'border-bottom': $options.hasMultipleEmployees && index === $options.normalizedEmployees.length - 1\n })\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_A_task_assigned_employee, {\n employee: employeeData._employee\n }, null, 8 /* PROPS */, [\"employee\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_A_task_planned_time, {\n hours: employeeData.duration\n }, null, 8 /* PROPS */, [\"hours\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_A_task_timeblocks, {\n timeblocks: employeeData.timeblocks,\n subtask: {\n ...$props.subtask,\n employee_id: employeeData.id,\n _employee: employeeData._employee,\n timeblocks: employeeData.timeblocks\n },\n onUpdateSubtask: _cache[1] || (_cache[1] = $event => _ctx.$emit('update-subtask', $event))\n }, null, 8 /* PROPS */, [\"timeblocks\", \"subtask\"])], 2 /* CLASS */);\n }), 128 /* KEYED_FRAGMENT */)), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" Remaining/spent time only for single employee (not in multi-employee drafts) \"), !$options.hasMultipleEmployees ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n key: 0\n }, [(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\"])], 64 /* STABLE_FRAGMENT */)) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true), (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\n}"); +eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; }\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n\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_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_timeblocks = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"A-task-timeblocks\");\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 id: $props.subtask.master_task_id,\n name: $props.subtask._master_task.name,\n color: $props.subtask._master_task.color,\n onCloseModal: _cache[0] || (_cache[0] = $event => _ctx.$emit('close-modal'))\n }, null, 8 /* PROPS */, [\"id\", \"name\", \"color\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_A_mastertask_status, {\n \"is-finished\": $props.subtask.is_finished\n }, null, 8 /* PROPS */, [\"is-finished\"]), (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_Z_created_by, {\n \"employee-id\": $props.subtask.created_by\n }, null, 8 /* PROPS */, [\"employee-id\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" Loop through normalized employees \"), ((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)($options.normalizedEmployees, (employeeData, index) => {\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", {\n key: `employee-${employeeData.id || index}`,\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)({\n 'employee-section': $options.hasMultipleEmployees,\n 'border-top': $options.hasMultipleEmployees,\n 'border-bottom': $options.hasMultipleEmployees && index === $options.normalizedEmployees.length - 1\n })\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_A_task_assigned_employee, {\n employee: employeeData._employee\n }, null, 8 /* PROPS */, [\"employee\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_A_task_planned_time, {\n hours: employeeData.duration\n }, null, 8 /* PROPS */, [\"hours\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_A_task_timeblocks, {\n timeblocks: employeeData.timeblocks,\n \"is-draft\": !!$props.subtask.is_draft,\n subtask: {\n ...$props.subtask,\n employee_id: employeeData.id,\n _employee: employeeData._employee,\n timeblocks: employeeData.timeblocks\n },\n onUpdateSubtask: _cache[1] || (_cache[1] = $event => _ctx.$emit('update-subtask', $event))\n }, null, 8 /* PROPS */, [\"timeblocks\", \"is-draft\", \"subtask\"])], 2 /* CLASS */);\n }), 128 /* KEYED_FRAGMENT */)), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" Remaining/spent time only for single employee (not in multi-employee drafts) \"), !$options.hasMultipleEmployees ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n key: 0\n }, [(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\"])], 64 /* STABLE_FRAGMENT */)) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true), (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\n}"); /***/ }), @@ -1988,7 +1988,7 @@ eval("{module.exports = /*#__PURE__*/JSON.parse('{\"Value is not a valid email a /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _App_vue_vue_type_template_id_538a81a6__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./App.vue?vue&type=template&id=538a81a6 */ \"./src/plugins/app/_config/App.vue?vue&type=template&id=538a81a6\");\n/* harmony import */ var _App_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./App.vue?vue&type=script&lang=js */ \"./src/plugins/app/_config/App.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\"])(_App_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], [['render',_App_vue_vue_type_template_id_538a81a6__WEBPACK_IMPORTED_MODULE_0__.render],['__file',\"src/plugins/app/_config/App.vue\"]])\n/* hot reload */\nif (false) // removed by dead control flow\n{}\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (__exports__);\n\n//# sourceURL=webpack://jandl/./src/plugins/app/_config/App.vue?\n}"); +eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _App_vue_vue_type_template_id_538a81a6__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./App.vue?vue&type=template&id=538a81a6 */ \"./src/plugins/app/_config/App.vue?vue&type=template&id=538a81a6\");\n/* harmony import */ var _App_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./App.vue?vue&type=script&lang=js */ \"./src/plugins/app/_config/App.vue?vue&type=script&lang=js\");\n/* harmony import */ var _Users_matejglasnak_gitrepo_jandl_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_jandl_taskmanager_app_app_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_App_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], [['render',_App_vue_vue_type_template_id_538a81a6__WEBPACK_IMPORTED_MODULE_0__.render],['__file',\"src/plugins/app/_config/App.vue\"]])\n/* hot reload */\nif (false) // removed by dead control flow\n{}\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (__exports__);\n\n//# sourceURL=webpack://jandl/./src/plugins/app/_config/App.vue?\n}"); /***/ }), @@ -2218,7 +2218,7 @@ eval("{// style-loader: Adds some css to the DOM by adding a