From 01af605c636f3b6379df637436bd3ab7bfb15686 Mon Sep 17 00:00:00 2001 From: Ravi Lodhi Date: Mon, 9 Sep 2024 18:15:50 +0530 Subject: [PATCH 1/4] Fixed: Corrected logic to avoid saving duplicate members when adding/removing multiple times from the manage facilities page (#306). --- src/views/ManageFacilities.vue | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/src/views/ManageFacilities.vue b/src/views/ManageFacilities.vue index 0cb6fcf..6ae494f 100644 --- a/src/views/ManageFacilities.vue +++ b/src/views/ManageFacilities.vue @@ -310,12 +310,13 @@ }, async save () { this.isSavingDetail = true - const facilitiesToAdd = this.selectedFacilities.filter((facility: any) => !facility.fromDate) + const memberFacilityIds = this.memberFacilities?.map((facility: any) => facility.facilityId) + const facilitiesToAdd = this.selectedFacilities.filter((facility: any) => !memberFacilityIds.includes(facility.facilityId)) const selectedFacilityIds = this.selectedFacilities ? new Set(this.selectedFacilities.map((facility:any) => facility.facilityId)) as any : []; const facilitiesToRemove = this.memberFacilities.filter((facility: any) => !selectedFacilityIds.has(facility.facilityId)) const removeResponses = await Promise.allSettled(facilitiesToRemove - .map(async (facility: any) => await FacilityService.updateFacilityToGroup({ + .map((facility: any) => FacilityService.updateFacilityToGroup({ "facilityId": facility.facilityId, "facilityGroupId": facility.facilityGroupId, "fromDate": facility.fromDate, @@ -324,7 +325,7 @@ ) const addResponses = await Promise.allSettled(facilitiesToAdd - .map(async (facility: any) => await FacilityService.addFacilityToGroup({ + .map((facility: any) => FacilityService.addFacilityToGroup({ "facilityId": facility.facilityId, "facilityGroupId": this.facilityGroupId, "sequenceNum": facility.sequenceNum @@ -334,11 +335,17 @@ const facilityIdsToAdd = facilitiesToAdd ? new Set(facilitiesToAdd.map((facility:any) => facility.facilityId)) as any : []; const existingFacilityMembers = this.selectedFacilities.filter((facility:any) => !facilityIdsToAdd.has(facility.facilityId)) const diffMemberFacilitySequencing = existingFacilityMembers.filter((facility: any) => this.memberFacilities.some((memberFacility: any) => memberFacility.facilityId === facility.facilityId && memberFacility.sequenceNum !== facility.sequenceNum)) - const sequenceUpdateResponses = await Promise.allSettled(diffMemberFacilitySequencing.map(async (memberFacility: any) => { - await FacilityService.updateFacilityToGroup({ + + const memberFacilityDetail = this.memberFacilities.reduce((memberInfo:any, facility:any) => { + memberInfo[facility.facilityId] = facility; + return memberInfo; + }, {}); + + const sequenceUpdateResponses = await Promise.allSettled(diffMemberFacilitySequencing.map((memberFacility: any) => { + FacilityService.updateFacilityToGroup({ "facilityId": memberFacility.facilityId, - "facilityGroupId": memberFacility.facilityGroupId, - "fromDate": memberFacility.fromDate, + "facilityGroupId": this.facilityGroupId, + "fromDate": memberFacilityDetail[memberFacility.facilityId].fromDate, "sequenceNum": memberFacility.sequenceNum }); })) From d4223c2183f8030e632011dd9869581c00b23dd7 Mon Sep 17 00:00:00 2001 From: Ravi Lodhi Date: Mon, 9 Sep 2024 18:20:58 +0530 Subject: [PATCH 2/4] Fixed: Reset query string on reopening the manage facilities page after saving (#305). --- src/views/ManageFacilities.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/src/views/ManageFacilities.vue b/src/views/ManageFacilities.vue index 6ae494f..07f77da 100644 --- a/src/views/ManageFacilities.vue +++ b/src/views/ManageFacilities.vue @@ -139,6 +139,7 @@ async ionViewWillEnter() { emitter.emit('presentLoader') this.isSavingDetail = false + this.queryString = '' await Promise.all([this.fetchFacilities(), this.fetchFacilityGroup()]) await this.fetchMemberFacilities(); await this.getFilteredFacilities(); From 1c8dde6fbbe24d51c348d2d1ecdb1007bece37db Mon Sep 17 00:00:00 2001 From: Ravi Lodhi Date: Mon, 9 Sep 2024 18:28:04 +0530 Subject: [PATCH 3/4] Fixed: Parent Group Association Not Opening After Tab Switching (#308). --- src/views/FindGroups.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/src/views/FindGroups.vue b/src/views/FindGroups.vue index 1e727f1..82b15d4 100644 --- a/src/views/FindGroups.vue +++ b/src/views/FindGroups.vue @@ -193,6 +193,7 @@ export default defineComponent({ async ionViewWillEnter() { this.segment = "facility-groups" await this.fetchGroups(); + await this.resetParentGroupPage() }, methods: { async resetParentGroupPage() { From 9c5c3a587df68c33ba0b3e43f6ef61fb94151e08 Mon Sep 17 00:00:00 2001 From: Ravi Lodhi Date: Mon, 9 Sep 2024 18:35:02 +0530 Subject: [PATCH 4/4] Fixed: Pressing Enter or Shift+Enter in any input field during facility group creation leads to the next step for creating a facility group (#307). --- src/views/CreateFacilityGroup.vue | 72 +++++++++++++++---------------- 1 file changed, 35 insertions(+), 37 deletions(-) diff --git a/src/views/CreateFacilityGroup.vue b/src/views/CreateFacilityGroup.vue index f95bbbd..1650db2 100644 --- a/src/views/CreateFacilityGroup.vue +++ b/src/views/CreateFacilityGroup.vue @@ -13,45 +13,43 @@ {{ translate('Create a new group') }} -
- - - -
{{ translate("Name") }} *
-
-
- - - - - - - {{ facilityGroupType.description ? facilityGroupType.description : facilityGroupType.facilityGroupTypeId }} - - - - - - - {{ productStore.storeName ? productStore.storeName : productStore.productStoreId }} - - - - - - - -
-
+ + + +
{{ translate("Name") }} *
+
+
+ + + + + + + {{ facilityGroupType.description ? facilityGroupType.description : facilityGroupType.facilityGroupTypeId }} + + + + + + + {{ productStore.storeName ? productStore.storeName : productStore.productStoreId }} + + + + + + + +
- + {{ translate("Create group") }}