From 9cbead59bb42688280d3b962cf117fff2bbd2522 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matej=20Glasn=C3=A1k?= Date: Fri, 12 Dec 2025 17:55:54 +0100 Subject: [PATCH] refactor(task-modal): remove unused timeblock data and streamline employee-specific timeblock handling --- .../task/_components/_components/a-task-timeblocks.vue | 6 ------ .../tm@modal/task/_components/employees/a-employee.vue | 10 +++++++++- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/app/src/plugins/tm@modal/task/_components/_components/a-task-timeblocks.vue b/app/src/plugins/tm@modal/task/_components/_components/a-task-timeblocks.vue index 6626b5f..908a6e4 100644 --- a/app/src/plugins/tm@modal/task/_components/_components/a-task-timeblocks.vue +++ b/app/src/plugins/tm@modal/task/_components/_components/a-task-timeblocks.vue @@ -106,7 +106,6 @@ ref="employeeTimeblockRef" v-model="newTimeblock" :employee="employee" - :all-timeblocks="allTimeblocksForModal" :deletable="false" :index="0" /> @@ -233,11 +232,6 @@ export default { : this.HOUR_WIDTH; }, - // All timeblocks for modal (includes existing timeblocks from this subtask) - allTimeblocksForModal() { - return this.timeblocks || []; - }, - // Computed property to trigger reactivity when existingTimeblocksData changes existingTimeblocksDataReactive() { // This forces Vue to track changes to existingTimeblocksData diff --git a/app/src/plugins/tm@modal/task/_components/employees/a-employee.vue b/app/src/plugins/tm@modal/task/_components/employees/a-employee.vue index eee993e..0810002 100644 --- a/app/src/plugins/tm@modal/task/_components/employees/a-employee.vue +++ b/app/src/plugins/tm@modal/task/_components/employees/a-employee.vue @@ -17,7 +17,7 @@ :model-value="timeblock" :employee="selectedEmployee" :all-employee-timeblocks="timeblocks" - :all-timeblocks="allTimeblocks" + :all-timeblocks="allTimeblocksForCurrentEmployee" :deleted-timeblock-ids="deletedTimeblockIds" :current-index="index" :deletable="timeblocks.length > 1" @@ -94,6 +94,14 @@ const selectedEmployee = computed(() => { return employees.find((emp: any) => emp.id === props.employeeData.id) || null; }); +// Filter allTimeblocks to only include timeblocks for current employee +const allTimeblocksForCurrentEmployee = computed(() => { + if (!props.employeeData.id) return []; + return props.allTimeblocks.filter( + (tb) => tb.employee_id === props.employeeData.id, + ); +}); + // Watch for when employee is selected and ensure at least one timeblock exists watch( () => props.employeeData.id,