From 00f5565fe57a50e39648ee5756b45602c7ccaa70 Mon Sep 17 00:00:00 2001 From: Nicolas Drolet Date: Thu, 2 Oct 2025 16:09:18 -0400 Subject: [PATCH] BREAKING(refactor): more refactor to streamline and standardize approvals and timesheet, pull to get expense changes --- .../components/page-header-template.vue | 4 +- src/modules/shared/composables/use-toggle.ts | 17 - .../pay-period.models.ts} | 0 .../user.models.ts} | 0 ...=> details-crud-dialog-chart-expenses.vue} | 0 ...etails-crud-dialog-chart-hours-worked.vue} | 4 +- ...details-crud-dialog-chart-shift-types.vue} | 0 ...led-dialog.vue => details-crud-dialog.vue} | 16 +- .../composables/use-timesheet-approval-api.ts | 44 +-- .../models/pay-period-overview.models.ts | 82 +++++ .../timesheet-approval-overview.models.ts | 102 ------ .../services/timesheet-approval-service.ts | 27 +- ...-form.vue => expense-crud-dialog-form.vue} | 108 +++---- ...-list.vue => expense-crud-dialog-list.vue} | 0 ...xpense-crud-dialog-supervisor-comment.vue} | 49 +-- .../expenses/expense-crud-dialog.vue | 121 ++++++++ .../expenses/timesheet-details-expenses.vue | 164 ---------- .../components/shift/shift-crud-dialog.vue | 293 +++++++----------- .../components/shift/shift-list-legend.vue | 18 +- .../components/shift/shift-list-row.vue | 102 +++--- .../components/shift/shift-list.vue | 92 +++--- .../timesheet/timesheet-save-payload.vue | 63 ---- .../timesheet/timesheet-wrapper.vue | 68 ++++ .../composables/api/use-expense-api.ts | 102 ++---- .../composables/api/use-shift-api.ts | 218 +++++-------- .../composables/api/use-timesheet-api.ts | 67 ++-- .../composables/use-expense-items.ts | 61 ++-- .../models/expense-validation.interface.ts | 34 -- .../timesheets/models/expense.models.ts | 100 ++---- .../timesheets/models/expense.validation.ts | 77 +++++ .../models/pay-period-details.models.ts | 77 +++++ src/modules/timesheets/models/shift.models.ts | 73 ++--- .../timesheets/models/timesheet.models.ts | 125 -------- .../models/{ui.types.ts => ui.models.ts} | 2 - .../timesheets/pages/timesheet-page.vue | 200 ++---------- .../timesheets/services/timesheet-service.ts | 41 +-- src/modules/timesheets/utils/expense.util.ts | 28 +- .../timesheets/utils/expenses-validators.ts | 23 +- src/modules/timesheets/utils/shift.util.ts | 33 +- src/pages/error-page.vue | 39 ++- src/pages/test-page.vue | 111 ++++--- src/stores/expense-store.ts | 164 ++++++---- src/stores/shift-store.ts | 78 +++-- src/stores/timesheet-store.ts | 113 +++---- src/utils/deep-equal.ts | 59 ++-- src/utils/normalize-object.ts | 31 ++ src/utils/store-helpers.ts | 8 +- src/utils/to-qselect-options.ts | 6 + src/utils/unwrap-and-clone.ts | 16 + 49 files changed, 1415 insertions(+), 1845 deletions(-) delete mode 100644 src/modules/shared/composables/use-toggle.ts rename src/modules/shared/{types/pay-period-interface.ts => models/pay-period.models.ts} (100%) rename src/modules/shared/{types/user-interface.ts => models/user.models.ts} (100%) rename src/modules/timesheet-approval/components/{detailed-dialog-chart-expenses.vue => details-crud-dialog-chart-expenses.vue} (100%) rename src/modules/timesheet-approval/components/{detailed-dialog-chart-hours-worked.vue => details-crud-dialog-chart-hours-worked.vue} (92%) rename src/modules/timesheet-approval/components/{detailed-dialog-chart-shift-types.vue => details-crud-dialog-chart-shift-types.vue} (100%) rename src/modules/timesheet-approval/components/{detailed-dialog.vue => details-crud-dialog.vue} (87%) create mode 100644 src/modules/timesheet-approval/models/pay-period-overview.models.ts delete mode 100644 src/modules/timesheet-approval/models/timesheet-approval-overview.models.ts rename src/modules/timesheets/components/expenses/{expense-form.vue => expense-crud-dialog-form.vue} (65%) rename src/modules/timesheets/components/expenses/{expense-list.vue => expense-crud-dialog-list.vue} (100%) rename src/modules/timesheets/components/expenses/{expense-supervisor-comment.vue => expense-crud-dialog-supervisor-comment.vue} (59%) create mode 100644 src/modules/timesheets/components/expenses/expense-crud-dialog.vue delete mode 100644 src/modules/timesheets/components/expenses/timesheet-details-expenses.vue delete mode 100644 src/modules/timesheets/components/timesheet/timesheet-save-payload.vue create mode 100644 src/modules/timesheets/components/timesheet/timesheet-wrapper.vue delete mode 100644 src/modules/timesheets/models/expense-validation.interface.ts create mode 100644 src/modules/timesheets/models/expense.validation.ts create mode 100644 src/modules/timesheets/models/pay-period-details.models.ts delete mode 100644 src/modules/timesheets/models/timesheet.models.ts rename src/modules/timesheets/models/{ui.types.ts => ui.models.ts} (60%) create mode 100644 src/utils/normalize-object.ts create mode 100644 src/utils/to-qselect-options.ts create mode 100644 src/utils/unwrap-and-clone.ts diff --git a/src/modules/shared/components/page-header-template.vue b/src/modules/shared/components/page-header-template.vue index 8fac843..24106a7 100644 --- a/src/modules/shared/components/page-header-template.vue +++ b/src/modules/shared/components/page-header-template.vue @@ -1,8 +1,8 @@ @@ -120,7 +121,7 @@ const emit = defineEmits<{ :label="$t('timesheet.expense.mileage')" suffix="km" lazy-rules="ondemand" - :rules="[ rules.mileageRequired ]" + :rules="[rules.mileageRequired]" /> @@ -137,7 +138,7 @@ const emit = defineEmits<{ :counter="true" :maxlength="comment_max_length" lazy-rules="ondemand" - :rules="[ rules.commentRequired, rules.commentTooLong ]" + :rules="[rules.commentRequired, rules.commentTooLong]" > - +
+ />
diff --git a/src/modules/timesheets/components/expenses/expense-list.vue b/src/modules/timesheets/components/expenses/expense-crud-dialog-list.vue similarity index 100% rename from src/modules/timesheets/components/expenses/expense-list.vue rename to src/modules/timesheets/components/expenses/expense-crud-dialog-list.vue diff --git a/src/modules/timesheets/components/expenses/expense-supervisor-comment.vue b/src/modules/timesheets/components/expenses/expense-crud-dialog-supervisor-comment.vue similarity index 59% rename from src/modules/timesheets/components/expenses/expense-supervisor-comment.vue rename to src/modules/timesheets/components/expenses/expense-crud-dialog-supervisor-comment.vue index 997487f..ffa5604 100644 --- a/src/modules/timesheets/components/expenses/expense-supervisor-comment.vue +++ b/src/modules/timesheets/components/expenses/expense-crud-dialog-supervisor-comment.vue @@ -1,26 +1,29 @@ -