From eca79890707a32222863269884e677208361345f Mon Sep 17 00:00:00 2001 From: amansinghbais Date: Fri, 22 Dec 2023 15:13:17 +0530 Subject: [PATCH 1/3] Implemented: single facility selection for facility login(#67) --- src/components/SelectFacilityModal.vue | 32 +++++++++++++++++++++++--- src/store/modules/util/actions.ts | 4 +++- src/views/UserQuickSetup.vue | 4 ++-- 3 files changed, 34 insertions(+), 6 deletions(-) diff --git a/src/components/SelectFacilityModal.vue b/src/components/SelectFacilityModal.vue index 5f991d7..221e874 100644 --- a/src/components/SelectFacilityModal.vue +++ b/src/components/SelectFacilityModal.vue @@ -11,7 +11,7 @@ - + {{ facility.facilityName }} @@ -20,7 +20,16 @@ - + + + + + {{ facility.facilityId }} + + + + + @@ -42,6 +51,8 @@ import { IonItem, IonLabel, IonList, + IonRadio, + IonRadioGroup, IonTitle, IonToolbar, modalController @@ -65,10 +76,12 @@ export default defineComponent({ IonItem, IonLabel, IonList, + IonRadio, + IonRadioGroup, IonTitle, IonToolbar, }, - props: ["selectedFacilities"], + props: ["selectedFacilities", "isFacilityLogin"], data() { return { selectedFacilityValues: JSON.parse(JSON.stringify(this.selectedFacilities)), @@ -87,6 +100,16 @@ export default defineComponent({ modalController.dismiss({ dismissed: true }); }, saveFacilities() { + if(this.isFacilityLogin) { + modalController.dismiss({ + dismissed: true, + value: { + selectedFacilities: this.selectedFacilityValues + } + }) + return; + } + // taking out the difference of selected facilities and the originally // user associated facilities for adding and removing facilities const facilitiesToAdd = this.selectedFacilityValues.filter((selectedFacility: any) => !this.selectedFacilities.some((facility: any) => facility.facilityId === selectedFacility.facilityId)) @@ -110,6 +133,9 @@ export default defineComponent({ }, isSelected(facilityId: any) { return this.selectedFacilityValues.some((facility: any) => facility.facilityId === facilityId); + }, + updateSelectedFacility(event: CustomEvent) { + this.selectedFacilityValues = this.facilities.filter((facility: any) => facility.facilityId === event.detail.value) } }, setup() { diff --git a/src/store/modules/util/actions.ts b/src/store/modules/util/actions.ts index b790344..a44cb25 100644 --- a/src/store/modules/util/actions.ts +++ b/src/store/modules/util/actions.ts @@ -104,7 +104,9 @@ const actions: ActionTree = { const payload = { "inputFields": { "parentTypeId": "VIRTUAL_FACILITY", - "parentTypeId_op": "notEqual" + "parentTypeId_op": "notEqual", + "facilityTypeId": "VIRTUAL_FACILITY", + "facilityTypeId_op": "notEqual" }, "entityName": "FacilityAndType", "viewSize": 100 // keeping view size 100 as considering that we will have max 100 facilities diff --git a/src/views/UserQuickSetup.vue b/src/views/UserQuickSetup.vue index 3600092..89b19de 100644 --- a/src/views/UserQuickSetup.vue +++ b/src/views/UserQuickSetup.vue @@ -66,7 +66,7 @@ {{ facility.facilityName }}

{{ facility.facilityId }}

- +
@@ -429,7 +429,7 @@ export default defineComponent({ async addFacilities() { const selectFacilityModal = await modalController.create({ component: SelectFacilityModal, - componentProps: { selectedFacilities: this.selectedFacilities } + componentProps: { selectedFacilities: this.selectedFacilities, isFacilityLogin: this.isFacilityLogin() } }); selectFacilityModal.onDidDismiss().then((result) => { From cba064f38442b023166ffc57b84dc0ba74ad2c8b Mon Sep 17 00:00:00 2001 From: amansinghbais Date: Fri, 22 Dec 2023 15:19:55 +0530 Subject: [PATCH 2/3] Improved: labels to be displayed on select facility items (#67) --- src/components/SelectFacilityModal.vue | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/components/SelectFacilityModal.vue b/src/components/SelectFacilityModal.vue index 221e874..1df6804 100644 --- a/src/components/SelectFacilityModal.vue +++ b/src/components/SelectFacilityModal.vue @@ -24,7 +24,10 @@ - {{ facility.facilityId }} + + {{ facility.facilityName }} +

{{ facility.facilityId }}

+
From 3e8e6d438daa1d3d16f141e3894c1b19195f6e7f Mon Sep 17 00:00:00 2001 From: amansinghbais Date: Fri, 22 Dec 2023 16:07:09 +0530 Subject: [PATCH 3/3] Improved: code for single facility selection on user-details page(#67) --- src/components/SelectFacilityModal.vue | 10 ---------- src/views/UserDetails.vue | 10 +++++++++- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/src/components/SelectFacilityModal.vue b/src/components/SelectFacilityModal.vue index 1df6804..21fe5a1 100644 --- a/src/components/SelectFacilityModal.vue +++ b/src/components/SelectFacilityModal.vue @@ -103,16 +103,6 @@ export default defineComponent({ modalController.dismiss({ dismissed: true }); }, saveFacilities() { - if(this.isFacilityLogin) { - modalController.dismiss({ - dismissed: true, - value: { - selectedFacilities: this.selectedFacilityValues - } - }) - return; - } - // taking out the difference of selected facilities and the originally // user associated facilities for adding and removing facilities const facilitiesToAdd = this.selectedFacilityValues.filter((selectedFacility: any) => !this.selectedFacilities.some((facility: any) => facility.facilityId === selectedFacility.facilityId)) diff --git a/src/views/UserDetails.vue b/src/views/UserDetails.vue index d4e13fe..e7b1dba 100644 --- a/src/views/UserDetails.vue +++ b/src/views/UserDetails.vue @@ -550,9 +550,17 @@ export default defineComponent({ return productStoreActionsPopover.present(); }, async selectFacility() { + let componentProps = { + selectedFacilities: this.selectedUser.facilities + } as any + + if(this.selectedUser.partyTypeId === 'PARTY_GROUP') { + componentProps['isFacilityLogin'] = true + } + const selectFacilityModal = await modalController.create({ component: SelectFacilityModal, - componentProps: { selectedFacilities: this.selectedUser.facilities } + componentProps }); selectFacilityModal.onDidDismiss().then( async (result) => {