From b0c63fab914f75e0a4b002d4944e2b5fc697605c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Fastr=C3=A9?= Date: Tue, 28 Oct 2025 12:41:52 +0100 Subject: [PATCH] Refactor `AddPersons` and related components for consistent state management and improved handling of selected suggestions. - Replaced `search.selected` with a dedicated `selected` state and implemented explicit methods for adding, removing, and clearing selections. - Updated event handling and props (`addNewPersons`, `selected`, `updateSelected`, `cleanSelected`) for better separation of concerns and type safety. - Introduced `isSelected` utility for streamlined selection checks and replaced deprecated event usages. - Adjusted modal behaviors in `PersonChooseModal.vue` and `AddPersons.vue` for improved integration and alignment with new state logic. --- .../components/Requestor.vue | 3 +- .../public/vuejs/_components/AddPersons.vue | 109 +++++++++++++++--- .../AddPersons/PersonChooseModal.vue | 57 +++------ .../AddPersons/PersonSuggestion.vue | 22 ++-- 4 files changed, 120 insertions(+), 71 deletions(-) diff --git a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/AccompanyingCourse/components/Requestor.vue b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/AccompanyingCourse/components/Requestor.vue index 5858cdb00..2173e55d1 100644 --- a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/AccompanyingCourse/components/Requestor.vue +++ b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/AccompanyingCourse/components/Requestor.vue @@ -322,7 +322,7 @@ export default { } }); }, - addNewPersons({ selected, modal }) { + addNewPersons({ selected }) { //console.log('@@@ CLICK button addNewPersons', selected); this.$store .dispatch("addRequestor", selected.shift()) @@ -337,7 +337,6 @@ export default { }); this.$refs.addPersons.resetSearch(); // to cast child method - modal.showModal = false; }, saveFormOnTheFly(payload) { console.log( diff --git a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/_components/AddPersons.vue b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/_components/AddPersons.vue index 5db85a96f..6a52c6f7c 100644 --- a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/_components/AddPersons.vue +++ b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/_components/AddPersons.vue @@ -10,16 +10,18 @@