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 @@ >