From c5cf6becdade2f517d8ed3435ecfa8743632e8d3 Mon Sep 17 00:00:00 2001 From: Nicolas Drolet Date: Mon, 15 Dec 2025 14:17:37 -0500 Subject: [PATCH] feat(employee-list): add check for overlap when creating or editing schedule presets module complete for staging --- .../components/add-modify-dialog-schedule.vue | 18 ++++---- .../components/add-modify-dialog.vue | 3 +- .../components/employee-list-table.vue | 9 ++-- .../schedule-presets-dialog-row.vue | 18 +++++++- .../components/schedule-presets-dialog.vue | 14 ++++-- .../composables/use-employee-api.ts | 46 +++++++++++++++---- .../models/schedule-presets.models.ts | 2 + src/modules/timesheets/utils/shift.util.ts | 11 +++-- src/stores/schedule-presets.store.ts | 25 ++++------ src/utils/table-grid-FLIP.ts | 31 ------------- 10 files changed, 99 insertions(+), 78 deletions(-) delete mode 100644 src/utils/table-grid-FLIP.ts diff --git a/src/modules/employee-list/components/add-modify-dialog-schedule.vue b/src/modules/employee-list/components/add-modify-dialog-schedule.vue index 2cf2c51..9bedebd 100644 --- a/src/modules/employee-list/components/add-modify-dialog-schedule.vue +++ b/src/modules/employee-list/components/add-modify-dialog-schedule.vue @@ -28,7 +28,6 @@ const onClickSchedulePresetManager = (mode: PresetManagerMode, preset_id?: number) => { schedule_preset_store.schedule_preset_dialog_mode = mode; - console.log('preset id: ', preset_id); schedule_preset_store.openSchedulePresetManager(preset_id ?? current_preset.value.value); } @@ -83,27 +82,28 @@
+ +
diff --git a/src/modules/employee-list/components/employee-list-table.vue b/src/modules/employee-list/components/employee-list-table.vue index b533e4d..fb01de5 100644 --- a/src/modules/employee-list/components/employee-list-table.vue +++ b/src/modules/employee-list/components/employee-list-table.vue @@ -10,7 +10,6 @@ import { useEmployeeStore } from 'src/stores/employee-store'; import { useTimesheetStore } from 'src/stores/timesheet-store'; import { employee_list_columns, type EmployeeProfile, type EmployeeListFilters } from 'src/modules/employee-list/models/employee-profile.models'; - import { animateFlip } from 'src/utils/table-grid-FLIP'; const employee_store = useEmployeeStore(); const timesheet_store = useTimesheetStore(); @@ -50,8 +49,6 @@ }); } - animateFlip(table_grid_container); - return result; }; @@ -114,9 +111,10 @@ { icon: 'view_list', value: false }, ]" /> +
+
('shift', { required: true }); const shift_type_selected = ref(SHIFT_OPTIONS[0]); + + defineProps<{ + error: boolean; + }>(); defineEmits<{ - 'click-delete': [void]; + 'clickDelete': [void]; + 'blurTimeField': [void]; }>(); @@ -72,6 +77,8 @@ hide-bottom-space type="time" class="text-uppercase weekday-field" + :error="error" + @blur="$emit('blurTimeField')" >