From e06a0e5e7f7ddd9eeee2cd901d8eeb84093cc2c8 Mon Sep 17 00:00:00 2001 From: SabreCat Date: Thu, 21 Jul 2022 15:35:59 -0500 Subject: [PATCH] WIP(tasks): new summary modal --- .../group-plans/taskInformation.vue | 14 + .../client/src/components/tasks/column.vue | 4 + website/client/src/components/tasks/task.vue | 17 +- .../client/src/components/tasks/taskModal.vue | 239 ++--------------- .../src/components/tasks/taskSummary.vue | 251 ++++++++++++++++++ website/client/src/components/tasks/user.vue | 16 +- website/client/src/mixins/syncTask.js | 32 +++ website/client/src/store/getters/tasks.js | 6 +- 8 files changed, 353 insertions(+), 226 deletions(-) create mode 100644 website/client/src/components/tasks/taskSummary.vue create mode 100644 website/client/src/mixins/syncTask.js diff --git a/website/client/src/components/group-plans/taskInformation.vue b/website/client/src/components/group-plans/taskInformation.vue index 56e7a47c95..154c9cd947 100644 --- a/website/client/src/components/group-plans/taskInformation.vue +++ b/website/client/src/components/group-plans/taskInformation.vue @@ -14,6 +14,11 @@ @taskEdited="loadTasks" @taskDestroyed="taskDestroyed" /> +

{{ group.name }}

@@ -95,6 +100,7 @@ :search-text="searchText" :draggable-override="canCreateTasks" @editTask="editTask" + @taskSummary="taskSummary" @loadGroupCompletedTodos="loadGroupCompletedTodos" @taskDestroyed="taskDestroyed" /> @@ -163,6 +169,7 @@ import moment from 'moment'; import taskDefaults from '@/../../common/script/libs/taskDefaults'; import TaskColumn from '../tasks/column'; import TaskModal from '../tasks/taskModal'; +import TaskSummary from '../tasks/taskSummary'; import GroupPlanOverviewModal from './groupPlanOverviewModal'; import toggleSwitch from '@/components/ui/toggleSwitch'; @@ -183,6 +190,7 @@ export default { components: { TaskColumn, TaskModal, + TaskSummary, GroupPlanOverviewModal, toggleSwitch, }, @@ -341,6 +349,12 @@ export default { this.$root.$emit('bv::show::modal', 'task-modal'); }); }, + taskSummary (task) { + this.editingTask = cloneDeep(task); + Vue.nextTick(() => { + this.$root.$emit('bv::show::modal', 'task-summary'); + }); + }, async loadGroupCompletedTodos () { const completedTodos = await this.$store.dispatch('tasks:getCompletedGroupTasks', { groupId: this.searchId, diff --git a/website/client/src/components/tasks/column.vue b/website/client/src/components/tasks/column.vue index c8232dd574..3cae7ba8ed 100644 --- a/website/client/src/components/tasks/column.vue +++ b/website/client/src/components/tasks/column.vue @@ -102,6 +102,7 @@ :group="group" :challenge="challenge" @editTask="editTask" + @taskSummary="taskSummary" @moveTo="moveTo" @taskDestroyed="taskDestroyed" /> @@ -652,6 +653,9 @@ export default { editTask (task) { this.$emit('editTask', task); }, + taskSummary (task) { + this.$emit('taskSummary', task); + }, activateFilter (type, filter = '') { // Needs a separate API call as this data may not reside in store if (type === 'todo' && filter === 'complete2') { diff --git a/website/client/src/components/tasks/task.vue b/website/client/src/components/tasks/task.vue index d5c8fd93dd..6c5fac8bd1 100644 --- a/website/client/src/components/tasks/task.vue +++ b/website/client/src/components/tasks/task.vue @@ -88,7 +88,7 @@ :class="contentClass" >
@@ -564,7 +564,11 @@ } .task-dropdown { - max-height: 18px; + height: 16px; + width: 16px; + display: flex; + justify-content: center; + align-items: center; } .task-dropdown ::v-deep .dropdown-menu { @@ -1120,7 +1124,7 @@ export default { return this.task.date && this.$t('dueIn', { dueIn }); }, edit (e, task) { - if (this.isRunningYesterdailies || !this.showEdit) return; + if (this.isRunningYesterdailies) return; const target = e.target || e.srcElement; /* @@ -1138,8 +1142,11 @@ export default { const isEditAction = this.$refs.editTaskItem && this.$refs.editTaskItem.contains(target); if (isDropdown && !isEditAction) return; + if (this.$store.state.spellOptions.castingSpell) return; - if (!this.$store.state.spellOptions.castingSpell) { + if (!this.showEdit) { + this.$emit('taskSummary', task); + } else { this.$emit('editTask', task); } }, diff --git a/website/client/src/components/tasks/taskModal.vue b/website/client/src/components/tasks/taskModal.vue index b79087f3e9..ad7aed3cf5 100644 --- a/website/client/src/components/tasks/taskModal.vue +++ b/website/client/src/components/tasks/taskModal.vue @@ -6,7 +6,7 @@ size="sm" :hide-footer="true" @hidden="onClose()" - @show="handleOpen()" + @show="syncTask()" @shown="focusInput()" >
{{ title }} -
@@ -89,7 +79,7 @@
@@ -130,13 +120,6 @@ >
-
-
@@ -279,7 +259,7 @@
@@ -295,7 +275,7 @@
@@ -312,7 +292,7 @@
@@ -342,8 +322,7 @@
@@ -403,7 +382,7 @@
@@ -431,11 +410,11 @@ >