diff --git a/app/dist/js/src_plugins_tm_dashboard_tasks-concepts_tasks-concepts_vue.js b/app/dist/js/src_plugins_tm_dashboard_tasks-concepts_tasks-concepts_vue.js index 39911bb..0601d74 100644 --- a/app/dist/js/src_plugins_tm_dashboard_tasks-concepts_tasks-concepts_vue.js +++ b/app/dist/js/src_plugins_tm_dashboard_tasks-concepts_tasks-concepts_vue.js @@ -26,7 +26,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var cor /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ \"./node_modules/core-js/modules/esnext.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/esnext.iterator.filter.js */ \"./node_modules/core-js/modules/esnext.iterator.filter.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _plugins_tm_overview_components_z_tasks_search_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/plugins/tm@overview/_components/z-tasks-search.vue */ \"./src/plugins/tm@overview/_components/z-tasks-search.vue\");\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm-bundler.js\");\n/* harmony import */ var _components_a_concepts_table_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_components/a-concepts-table.vue */ \"./src/plugins/tm@dashboard/tasks-concepts/_components/a-concepts-table.vue\");\n/* provided dependency */ var console = __webpack_require__(/*! ./node_modules/console-browserify/index.js */ \"./node_modules/console-browserify/index.js\");\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n components: {\n ZTasksSearch: _plugins_tm_overview_components_z_tasks_search_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n AConceptsTable: _components_a_concepts_table_vue__WEBPACK_IMPORTED_MODULE_4__[\"default\"]\n },\n data() {\n return {\n searchQuery: '',\n sortOrder: null,\n conceptSubtasks: null\n };\n },\n computed: {\n ...(0,vuex__WEBPACK_IMPORTED_MODULE_3__.mapGetters)('tm', ['mastertasks']),\n filteredConceptTasks() {\n if (!this.conceptSubtasks) return null;\n const filteredSubtasks = this.conceptSubtasks.filter(subtask => {\n return this.filterParams(this.searchQuery, subtask.master_task?.name || subtask.title) || this.filterParams(this.searchQuery, subtask.project_code);\n });\n\n //Sorting by name A-Z\n if (this.sortOrder === 'nameAsc') {\n filteredSubtasks.sort((a, b) => {\n const nameA = (a.title || a.master_task || '').toLowerCase();\n const nameB = (b.title || b.master_task || '').toLowerCase();\n return nameA.localeCompare(nameB);\n });\n //Sorting by name Z-A\n } else if (this.sortOrder === 'nameDesc') {\n filteredSubtasks.sort((a, b) => {\n const nameA = (a.title || a.master_task || '').toLowerCase();\n const nameB = (b.title || b.master_task || '').toLowerCase();\n return nameB.localeCompare(nameA);\n });\n //Sorting by date Newest-Oldest\n } else if (this.sortOrder === 'deadlineDesc') {\n filteredSubtasks.sort((a, b) => {\n const deadlineA = a.deadline ? new Date(a.deadline) : new Date(this.getMasterTaskDeadline(a));\n const deadlineB = b.deadline ? new Date(b.deadline) : new Date(this.getMasterTaskDeadline(b));\n return deadlineB - deadlineA;\n });\n //Sorting by date Oldest-Newest\n } else if (this.sortOrder === 'deadlineAsc') {\n filteredSubtasks.sort((a, b) => {\n const deadlineA = a.deadline ? new Date(a.deadline) : new Date(this.getMasterTaskDeadline(a));\n const deadlineB = b.deadline ? new Date(b.deadline) : new Date(this.getMasterTaskDeadline(b));\n return deadlineA - deadlineB;\n });\n }\n return filteredSubtasks;\n }\n },\n async ionViewWillEnter() {\n await this.loadConceptTasks();\n },\n async mounted() {\n await this.loadConceptTasks();\n this.$events.on('on-subtask-edited', async () => {\n await this.loadConceptTasks();\n });\n this.$events.on('on-subtask-deleted', async () => {\n await this.loadConceptTasks();\n });\n },\n unmounted() {\n this.$events.off('on-subtask-edited');\n this.$events.off('on-subtask-deleted');\n },\n methods: {\n async loadConceptTasks(employeeId = null) {\n try {\n const params = {\n type: 'draft'\n };\n if (employeeId) {\n params.employee_id = employeeId;\n } else {\n params.employee_id = this.$store.getters['auth/user'].id;\n }\n const queryParameters = new URLSearchParams(params).toString();\n const {\n subtasks\n } = await this.$axios.get_auth(`v1/subtasks?${queryParameters}`);\n this.conceptSubtasks = subtasks;\n } catch (error) {\n this.$toast.error('Nepodarilo sa načítať koncepty!');\n if (true) console.log('[tasks-concepts.vue] Error: ', error);\n }\n },\n onSearch(searchQuery) {\n this.searchQuery = searchQuery;\n },\n async onEmployeeSelected(id) {\n await this.loadConceptTasks(id);\n },\n onUpdateSortOrder(newSortOrder) {\n this.sortOrder = newSortOrder;\n },\n filterParams(searchQuery, row) {\n if (!row) return false;\n return row.toLowerCase().includes(searchQuery.toLowerCase());\n },\n getMasterTaskDeadline(subtask) {\n return subtask.master_task_deadline;\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@dashboard/tasks-concepts/tasks-concepts.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}"); +eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ \"./node_modules/core-js/modules/esnext.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/esnext.iterator.filter.js */ \"./node_modules/core-js/modules/esnext.iterator.filter.js\");\n/* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _plugins_tm_overview_components_z_tasks_search_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/plugins/tm@overview/_components/z-tasks-search.vue */ \"./src/plugins/tm@overview/_components/z-tasks-search.vue\");\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm-bundler.js\");\n/* harmony import */ var _components_a_concepts_table_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_components/a-concepts-table.vue */ \"./src/plugins/tm@dashboard/tasks-concepts/_components/a-concepts-table.vue\");\n/* provided dependency */ var console = __webpack_require__(/*! ./node_modules/console-browserify/index.js */ \"./node_modules/console-browserify/index.js\");\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n components: {\n ZTasksSearch: _plugins_tm_overview_components_z_tasks_search_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n AConceptsTable: _components_a_concepts_table_vue__WEBPACK_IMPORTED_MODULE_4__[\"default\"]\n },\n data() {\n return {\n searchQuery: '',\n sortOrder: null,\n conceptSubtasks: null,\n selectedEmployeeId: null\n };\n },\n computed: {\n ...(0,vuex__WEBPACK_IMPORTED_MODULE_3__.mapGetters)('tm', ['mastertasks']),\n filteredConceptTasks() {\n if (!this.conceptSubtasks) return null;\n const filteredSubtasks = this.conceptSubtasks.filter(subtask => {\n return this.filterParams(this.searchQuery, subtask.master_task?.name || subtask.title) || this.filterParams(this.searchQuery, subtask.project_code);\n });\n\n //Sorting by name A-Z\n if (this.sortOrder === 'nameAsc') {\n filteredSubtasks.sort((a, b) => {\n const nameA = (a.title || a.master_task || '').toLowerCase();\n const nameB = (b.title || b.master_task || '').toLowerCase();\n return nameA.localeCompare(nameB);\n });\n //Sorting by name Z-A\n } else if (this.sortOrder === 'nameDesc') {\n filteredSubtasks.sort((a, b) => {\n const nameA = (a.title || a.master_task || '').toLowerCase();\n const nameB = (b.title || b.master_task || '').toLowerCase();\n return nameB.localeCompare(nameA);\n });\n //Sorting by date Newest-Oldest\n } else if (this.sortOrder === 'deadlineDesc') {\n filteredSubtasks.sort((a, b) => {\n const deadlineA = a.deadline ? new Date(a.deadline) : new Date(this.getMasterTaskDeadline(a));\n const deadlineB = b.deadline ? new Date(b.deadline) : new Date(this.getMasterTaskDeadline(b));\n return deadlineB - deadlineA;\n });\n //Sorting by date Oldest-Newest\n } else if (this.sortOrder === 'deadlineAsc') {\n filteredSubtasks.sort((a, b) => {\n const deadlineA = a.deadline ? new Date(a.deadline) : new Date(this.getMasterTaskDeadline(a));\n const deadlineB = b.deadline ? new Date(b.deadline) : new Date(this.getMasterTaskDeadline(b));\n return deadlineA - deadlineB;\n });\n }\n return filteredSubtasks;\n }\n },\n async ionViewWillEnter() {\n await this.loadConceptTasks();\n },\n async mounted() {\n await this.loadConceptTasks();\n this.$events.on('on-subtask-edited', async () => {\n await this.loadConceptTasks();\n });\n this.$events.on('on-subtask-deleted', async () => {\n await this.loadConceptTasks();\n });\n },\n unmounted() {\n this.$events.off('on-subtask-edited');\n this.$events.off('on-subtask-deleted');\n },\n methods: {\n async loadConceptTasks() {\n try {\n const params = {\n type: 'draft'\n };\n if (this.selectedEmployeeId) {\n params.employee_id = this.selectedEmployeeId;\n } else {\n params.employee_id = this.$store.getters['auth/user'].id;\n }\n const queryParameters = new URLSearchParams(params).toString();\n const {\n subtasks\n } = await this.$axios.get_auth(`v1/subtasks?${queryParameters}`);\n this.conceptSubtasks = subtasks;\n } catch (error) {\n this.$toast.error('Nepodarilo sa načítať koncepty!');\n if (true) console.log('[tasks-concepts.vue] Error: ', error);\n }\n },\n onSearch(searchQuery) {\n this.searchQuery = searchQuery;\n },\n async onEmployeeSelected(id) {\n this.selectedEmployeeId = id;\n this.loadConceptTasks();\n },\n onUpdateSortOrder(newSortOrder) {\n this.sortOrder = newSortOrder;\n },\n filterParams(searchQuery, row) {\n if (!row) return false;\n return row.toLowerCase().includes(searchQuery.toLowerCase());\n },\n getMasterTaskDeadline(subtask) {\n return subtask.master_task_deadline;\n }\n }\n});\n\n//# sourceURL=webpack://jandl/./src/plugins/tm@dashboard/tasks-concepts/tasks-concepts.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}"); /***/ }),