diff --git a/app/src/plugins/app/_config/App.vue b/app/src/plugins/app/_config/App.vue index 9aff4fa..e61cb51 100644 --- a/app/src/plugins/app/_config/App.vue +++ b/app/src/plugins/app/_config/App.vue @@ -13,6 +13,7 @@ + @@ -28,6 +29,7 @@ import ZDeleteTaskModal from '@/plugins/tm@modal/task/z-delete-task-modal.vue' import ZTaskModal from '@/plugins/tm@modal/task/z-task-modal.vue' import ZDeleteBlockerModal from '@/plugins/tm@modal/blocker/z-delete-blocker-modal.vue' import ZCompleteTaskModal from '@/plugins/tm@modal/task/z-complete-task-modal.vue' +import ZCompleteMasterTaskModal from '@/plugins/tm@modal/master-task/z-complete-master-task-modal.vue' import ZTaskAddTimeModal from '@/plugins/tm@modal/task/z-task-add-time-modal.vue' import ZBlockerModal from '@/plugins/tm@modal/blocker/z-blocker-modal.vue' import ZDeleteMasterTaskModal from '@/plugins/tm@modal/master-task/z-delete-master-task-modal.vue' @@ -48,7 +50,8 @@ export default { ZBlockerModal, ZDeleteMasterTaskModal, ZDeleteTeamMemberModal, - ZShowMenuModal + ZShowMenuModal, + ZCompleteMasterTaskModal }, mounted() { @@ -100,6 +103,10 @@ export default { this.$refs['z-complete-task-modal'].showModal({ subtask }) }) + this.$events.on('show-complete-master-task-modal', ({ mastertask }) => { + this.$refs['z-complete-master-task-modal'].showModal({ mastertask }) + }) + this.$events.on('show-blocker-modal', ({blocker = {}}) => { this.$refs['z-blocker-modal'].showModal({blocker}) }) diff --git a/app/src/plugins/app/_layout/app/_components/a-sidemenu.vue b/app/src/plugins/app/_layout/app/_components/a-sidemenu.vue index 2fccd21..1f25dbb 100644 --- a/app/src/plugins/app/_layout/app/_components/a-sidemenu.vue +++ b/app/src/plugins/app/_layout/app/_components/a-sidemenu.vue @@ -15,7 +15,7 @@ :class="{ active: isActive(page.pageName) }" @click="$router.push({ name: page.pageName }); closeMenu()"> {{ page.title }} {{ unscheduledSubtasks?.length }} diff --git a/app/src/plugins/tm@_mixins/autocomplete.mixin.ts b/app/src/plugins/tm@_mixins/autocomplete.mixin.ts index 1b4c5ff..410471d 100644 --- a/app/src/plugins/tm@_mixins/autocomplete.mixin.ts +++ b/app/src/plugins/tm@_mixins/autocomplete.mixin.ts @@ -10,8 +10,8 @@ export default { const cleanedItem = normalizedItem.replace(pattern, ''); const cleanedInput = normalizedInput.replace(pattern, ''); - // Check if the cleaned item starts with the cleaned input - return cleanedItem.toLowerCase().includes(cleanedInput.toLowerCase()); + // Check if the cleaned item starts with the cleaned input and return empty value for dropdown if present + return cleanedItem.toLowerCase().includes(cleanedInput.toLowerCase()) || item === ''; } } } \ No newline at end of file diff --git a/app/src/plugins/tm@_utils/tm.utils.ts b/app/src/plugins/tm@_utils/tm.utils.ts index bc09bc1..021e3cc 100644 --- a/app/src/plugins/tm@_utils/tm.utils.ts +++ b/app/src/plugins/tm@_utils/tm.utils.ts @@ -18,6 +18,9 @@ export default { return moment(date).format('YYYY-MM-DD HH:mm:ss') }, + formatDate(date) { + return moment(date).format('DD.MM.yyyy') + }, isBefore(date, compareTo = null) { return moment(date).isBefore(moment(compareTo)) diff --git a/app/src/plugins/tm@dashboard/_components/z-timeline.vue b/app/src/plugins/tm@dashboard/_components/z-timeline.vue index 40b0a0e..9e8c314 100644 --- a/app/src/plugins/tm@dashboard/_components/z-timeline.vue +++ b/app/src/plugins/tm@dashboard/_components/z-timeline.vue @@ -82,6 +82,11 @@ {{ event.date?.toLocaleDateString('sk-SK') }} + +
+ + {{ tmUtils.formatDate(event.subtask?.deadline) }} +