diff --git a/app/src/plugins/tm@dashboard/_components/z-timeline.vue b/app/src/plugins/tm@dashboard/_components/z-timeline.vue index b89a5fd..e9829cb 100644 --- a/app/src/plugins/tm@dashboard/_components/z-timeline.vue +++ b/app/src/plugins/tm@dashboard/_components/z-timeline.vue @@ -184,29 +184,30 @@ export default { const end = date.setHours(Math.round(event.endTimeMinutes / 60), Math.round(event.endTimeMinutes % 60), 0) const split = this.splits.find(split => split.id == newSplit ) + if(this.$route.name == 'Dashboard - Tasks') { const editedSubtask = { - ...event.subtask, - timeblocks: [...event.subtask.timeblocks, { - id: event._timeblock_id, - is_finished: 0, - start: tmUtils.formatDateTimeForBackend(start), - end: tmUtils.formatDateTimeForBackend(end) - }], - timesheets: event.subtask.timesheets.map((timesheet) => { - delete timesheet.employee_name - return timesheet - }) - } - try { - const { subtask } = await this.$axios.put_auth(`v1/subtasks/${editedSubtask.id}`, editedSubtask) - this.$events.emit('on-subtask-edited', subtask) + ...event.subtask, + timeblocks: [...event.subtask.timeblocks, { + id: event._timeblock_id, + is_finished: 0, + start: tmUtils.formatDateTimeForBackend(start), + end: tmUtils.formatDateTimeForBackend(end) + }], + timesheets: event.subtask.timesheets.map((timesheet) => { + delete timesheet.employee_name + return timesheet + }) + } + try { + const { subtask } = await this.$axios.put_auth(`v1/subtasks/${editedSubtask.id}`, editedSubtask) + this.$events.emit('on-subtask-edited', subtask) - if (subtask.employee_id == this.$store.getters['auth/user'].id) - this.$events.emit('show-task-add-time-modal', { subtask }) - } catch (error) { - this.$toast.error(error.message || error) - } + if (subtask.employee_id == this.$store.getters['auth/user'].id) + this.$events.emit('show-task-add-time-modal', { subtask }) + } catch (error) { + this.$toast.error(error.message || error) + } } else if(this.$route.name == 'Dashboard - Teams') { const editedSubtask = { ...event.subtask, diff --git a/app/src/plugins/tm@overview/_components/z-tasks-search.vue b/app/src/plugins/tm@overview/_components/z-tasks-search.vue index b1a1d5f..f523c6c 100644 --- a/app/src/plugins/tm@overview/_components/z-tasks-search.vue +++ b/app/src/plugins/tm@overview/_components/z-tasks-search.vue @@ -8,7 +8,6 @@ :items="enrichedEmployees" item-title="_fullName" item-value="id" - :disabled="isSortingActive" /> - + @@ -40,51 +40,41 @@ export default { if (!this.ongoingSubtasks) return null - return this.ongoingSubtasks.filter(subtask => { + let filteredSubtasks = this.ongoingSubtasks.filter(subtask => { return this.filterParams(this.searchQuery, subtask.master_task?.name || subtask.title) || this.filterParams(this.searchQuery, subtask.project_code) }) - }, - - sortedOngoingTasks() { - if (!this.ongoingSubtasks) - return null - - let sortedTasks = this.ongoingSubtasks //Sorting by name A-Z if (this.sortOrder === 'nameAsc') { - sortedTasks.sort((a, b) => { + filteredSubtasks.sort((a, b) => { const nameA = (a.title || a.master_task || '').toLowerCase() const nameB = (b.title || b.master_task || '').toLowerCase() return nameA.localeCompare(nameB) }) //Sorting by name Z-A } else if (this.sortOrder === 'nameDesc') { - sortedTasks.sort((a, b) => { + filteredSubtasks.sort((a, b) => { const nameA = (a.title || a.master_task || '').toLowerCase() const nameB = (b.title || b.master_task || '').toLowerCase() return nameB.localeCompare(nameA) }) //Sorting by date Newest-Oldest } else if (this.sortOrder === 'deadlineDesc') { - sortedTasks.sort((a, b) => { + filteredSubtasks.sort((a, b) => { const deadlineA = a.deadline ? new Date(a.deadline) : new Date(this.getMasterTaskDeadline(a)) const deadlineB = b.deadline ? new Date(b.deadline) : new Date(this.getMasterTaskDeadline(b)) return deadlineB - deadlineA }) //Sorting by date Oldest-Newest } else if (this.sortOrder === 'deadlineAsc') { - sortedTasks.sort((a, b) => { + filteredSubtasks.sort((a, b) => { const deadlineA = a.deadline ? new Date(a.deadline) : new Date(this.getMasterTaskDeadline(a)) const deadlineB = b.deadline ? new Date(b.deadline) : new Date(this.getMasterTaskDeadline(b)) return deadlineA - deadlineB }) } - return sortedTasks - }, - selectedTasks() { - return this.sortOrder ? this.sortedOngoingTasks : this.filteredOngoingTasks + return filteredSubtasks } }, diff --git a/app/src/plugins/tm@overview/tasks-unscheduled/tasks-unscheduled.vue b/app/src/plugins/tm@overview/tasks-unscheduled/tasks-unscheduled.vue index 2a0588e..62e1ce1 100644 --- a/app/src/plugins/tm@overview/tasks-unscheduled/tasks-unscheduled.vue +++ b/app/src/plugins/tm@overview/tasks-unscheduled/tasks-unscheduled.vue @@ -4,7 +4,7 @@ - + @@ -39,51 +39,41 @@ export default { if (!this.unscheduledSubtasks) return null - return this.unscheduledSubtasks.filter(subtask => { + let filteredSubtasks = this.unscheduledSubtasks.filter(subtask => { return this.filterParams(this.searchQuery, subtask.master_task?.name || subtask.title) || this.filterParams(this.searchQuery, subtask.project_code) }) - }, - sortedUnscheduledTasks() { - if (!this.unscheduledSubtasks) - return null - - let sortedTasks = this.unscheduledSubtasks - - //Sorting by name A-Z if (this.sortOrder === 'nameAsc') { - sortedTasks.sort((a, b) => { - const nameA = (a.title || a.master_task || '').toLowerCase() - const nameB = (b.title || b.master_task || '').toLowerCase() - return nameA.localeCompare(nameB) - }) + filteredSubtasks.sort((a, b) => { + const nameA = (a.title || a.master_task || '').toLowerCase() + const nameB = (b.title || b.master_task || '').toLowerCase() + return nameA.localeCompare(nameB) + }) //Sorting by name Z-A } else if (this.sortOrder === 'nameDesc') { - sortedTasks.sort((a, b) => { - const nameA = (a.title || a.master_task || '').toLowerCase() - const nameB = (b.title || b.master_task || '').toLowerCase() - return nameB.localeCompare(nameA) - }) + filteredSubtasks.sort((a, b) => { + // const { nameA, nameB } = this._getTaskTitleOrMastertaskName(a, b) + const nameA = (a.title || a.master_task || '').toLowerCase() + const nameB = (b.title || b.master_task || '').toLowerCase() + return nameB.localeCompare(nameA) + }) //Sorting by date Newest-Oldest } else if (this.sortOrder === 'deadlineDesc') { - sortedTasks.sort((a, b) => { - const deadlineA = a.deadline ? new Date(a.deadline) : new Date(this.getMasterTaskDeadline(a)) - const deadlineB = b.deadline ? new Date(b.deadline) : new Date(this.getMasterTaskDeadline(b)) - return deadlineB - deadlineA - }) + filteredSubtasks.sort((a, b) => { + const deadlineA = a.deadline ? new Date(a.deadline) : new Date(this.getMasterTaskDeadline(a)) + const deadlineB = b.deadline ? new Date(b.deadline) : new Date(this.getMasterTaskDeadline(b)) + return deadlineB - deadlineA + }) //Sorting by date Oldest-Newest } else if (this.sortOrder === 'deadlineAsc') { - sortedTasks.sort((a, b) => { - const deadlineA = a.deadline ? new Date(a.deadline) : new Date(this.getMasterTaskDeadline(a)) - const deadlineB = b.deadline ? new Date(b.deadline) : new Date(this.getMasterTaskDeadline(b)) - return deadlineA - deadlineB - }) + filteredSubtasks.sort((a, b) => { + const deadlineA = a.deadline ? new Date(a.deadline) : new Date(this.getMasterTaskDeadline(a)) + const deadlineB = b.deadline ? new Date(b.deadline) : new Date(this.getMasterTaskDeadline(b)) + return deadlineA - deadlineB + }) } - return sortedTasks - }, - selectedTasks() { - return this.sortOrder ? this.sortedUnscheduledTasks : this.filteredUnscheduledTasks + return filteredSubtasks } },