@iapps/ng-dhis2-ui 1.1.13 → 1.1.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -3097,9 +3097,36 @@ const matchesCondition = (eventValue, operator, filterValue) => {
|
|
|
3097
3097
|
return false;
|
|
3098
3098
|
}
|
|
3099
3099
|
};
|
|
3100
|
-
const getFilteredTrackedEntityInstances = (
|
|
3101
|
-
|
|
3102
|
-
|
|
3100
|
+
// export const getFilteredTrackedEntityInstances = (
|
|
3101
|
+
// trackedEntityInstance: TrackedEntityInstance[],
|
|
3102
|
+
// filters: FilterConfig[]
|
|
3103
|
+
// ): TrackedEntityInstance[] => {
|
|
3104
|
+
// return trackedEntityInstance.filter(
|
|
3105
|
+
// (trackedEntityInstance: TrackedEntityInstance) =>
|
|
3106
|
+
// trackedEntityInstance.enrollments.some((enrollment) =>
|
|
3107
|
+
// enrollment.events.some((event) =>
|
|
3108
|
+
// filters.every(
|
|
3109
|
+
// (filter) =>
|
|
3110
|
+
// event.programStage === filter.programStage &&
|
|
3111
|
+
// event.dataValues.some(
|
|
3112
|
+
// (dataValue) =>
|
|
3113
|
+
// dataValue.dataElement === filter.dataElement &&
|
|
3114
|
+
// matchesCondition(
|
|
3115
|
+
// dataValue.value,
|
|
3116
|
+
// filter.operator,
|
|
3117
|
+
// filter.value
|
|
3118
|
+
// )
|
|
3119
|
+
// )
|
|
3120
|
+
// )
|
|
3121
|
+
// )
|
|
3122
|
+
// )
|
|
3123
|
+
// );
|
|
3124
|
+
// };
|
|
3125
|
+
const getFilteredTrackedEntityInstances = (trackedEntityInstances, filters) => {
|
|
3126
|
+
if (!filters.length)
|
|
3127
|
+
return trackedEntityInstances;
|
|
3128
|
+
return trackedEntityInstances.filter((tei) => filters.every((filter) => tei.enrollments?.some((enrollment) => enrollment.events?.some((event) => event.programStage === filter.programStage &&
|
|
3129
|
+
event.dataValues?.some((dataValue) => dataValue.dataElement === filter.dataElement &&
|
|
3103
3130
|
matchesCondition(dataValue.value, filter.operator, filter.value))))));
|
|
3104
3131
|
};
|
|
3105
3132
|
|
|
@@ -3387,24 +3414,28 @@ class LineListTableComponent extends ReactWrapperModule {
|
|
|
3387
3414
|
},
|
|
3388
3415
|
}));
|
|
3389
3416
|
};
|
|
3390
|
-
// // Add this handler for the Approval button
|
|
3391
|
-
// const handleApprovalClick = () => {
|
|
3392
|
-
// console.log('Approval button clicked');
|
|
3393
|
-
// // Optionally emit an event to Angular parent component
|
|
3394
|
-
// // this.actionSelected.emit({ action: 'Approval', row: null });
|
|
3395
|
-
// };
|
|
3396
|
-
// Updated handler using the new approvalSelected emitter
|
|
3397
3417
|
const handleApprovalClick = () => {
|
|
3398
3418
|
this.lineListService
|
|
3399
3419
|
.getLineListData(this.programId, this.orgUnit, this.programStageId, pager.page, pager.pageSize, this.attributeFilters, this.startDate, this.endDate, this.ouMode)
|
|
3400
3420
|
.subscribe((response) => {
|
|
3401
3421
|
if ('trackedEntityInstances' in response.data) {
|
|
3402
|
-
const trackedEntityInstances = response.data
|
|
3403
|
-
|
|
3404
|
-
const
|
|
3405
|
-
|
|
3406
|
-
|
|
3407
|
-
|
|
3422
|
+
const trackedEntityInstances = response.data.trackedEntityInstances;
|
|
3423
|
+
// Map TEIs to objects with teiId and enrollmentId
|
|
3424
|
+
const teiEnrollmentList = trackedEntityInstances
|
|
3425
|
+
.map((tei) => {
|
|
3426
|
+
// Find the enrollment where program matches this.programId
|
|
3427
|
+
const matchingEnrollment = tei.enrollments?.find((enrollment) => enrollment.program === this.programId);
|
|
3428
|
+
// Return object with teiId and enrollmentId (if found)
|
|
3429
|
+
return matchingEnrollment
|
|
3430
|
+
? {
|
|
3431
|
+
teiId: tei.trackedEntityInstance,
|
|
3432
|
+
enrollmentId: matchingEnrollment.enrollment,
|
|
3433
|
+
}
|
|
3434
|
+
: null;
|
|
3435
|
+
})
|
|
3436
|
+
.filter((item) => item !== null); // Remove null entries (no matching enrollment)
|
|
3437
|
+
console.log('TEI and Enrollment IDs emitted:', teiEnrollmentList);
|
|
3438
|
+
this.approvalSelected.emit(teiEnrollmentList);
|
|
3408
3439
|
}
|
|
3409
3440
|
else {
|
|
3410
3441
|
console.log('No tracked entity instances found in the response');
|