@iapps/ng-dhis2-ui 1.1.64 → 1.1.65

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.
@@ -3338,8 +3338,12 @@ class LineListService {
3338
3338
  const dateFilter = [
3339
3339
  startDate ? `enrollmentEnrolledAfter=${startDate}` : '',
3340
3340
  endDate ? `enrollmentEnrolledBefore=${endDate}` : '',
3341
- ].filter(Boolean).join('&');
3342
- const ouModeIdentifier = ouMode && useOuModeWithOlderDHIS2Instance ? `&ouMode=${ouMode}` : `&orgUnitMode=${ouMode}`;
3341
+ ]
3342
+ .filter(Boolean)
3343
+ .join('&');
3344
+ const ouModeIdentifier = ouMode && useOuModeWithOlderDHIS2Instance
3345
+ ? `&ouMode=${ouMode}`
3346
+ : `&orgUnitMode=${ouMode}`;
3343
3347
  return this.httpClient
3344
3348
  .get(`tracker/trackedEntities.json?program=${programId}&orgUnit=${orgUnit}${ouModeIdentifier}&page=${page}&pageSize=${pageSize}&fields=trackedEntity,orgUnit,attributes[*],enrollments[*]&totalPages=true&${filterParams}${dateFilter}&order=createdAt:desc`)
3345
3349
  .pipe(switchMap((response) => {
@@ -3348,13 +3352,27 @@ class LineListService {
3348
3352
  }
3349
3353
  // **Step 1:** Extract unique orgUnits from enrollments
3350
3354
  const uniqueOrgUnitIds = new Set();
3351
- response.trackedEntities.forEach((tei) => {
3352
- tei.enrollments?.forEach((enrollment) => {
3353
- if (enrollment.program === programId) {
3354
- uniqueOrgUnitIds.add(enrollment.orgUnit);
3355
- }
3355
+ if (response && response.trackedEntities) {
3356
+ console.log('THIS IS HERE', JSON.stringify(response));
3357
+ response.trackedEntities.forEach((tei) => {
3358
+ tei.enrollments?.forEach((enrollment) => {
3359
+ if (enrollment.program === programId) {
3360
+ uniqueOrgUnitIds.add(enrollment.orgUnit);
3361
+ }
3362
+ });
3356
3363
  });
3357
- });
3364
+ }
3365
+ else {
3366
+ if (response && response.instances) {
3367
+ response?.instances?.forEach((tei) => {
3368
+ tei.enrollments?.forEach((enrollment) => {
3369
+ if (enrollment.program === programId) {
3370
+ uniqueOrgUnitIds.add(enrollment?.orgUnit);
3371
+ }
3372
+ });
3373
+ });
3374
+ }
3375
+ }
3358
3376
  // If no unique orgUnits found, return immediately
3359
3377
  if (uniqueOrgUnitIds.size === 0) {
3360
3378
  return of({ ...response, orgUnitsMap: new Map() });
@@ -3385,7 +3403,9 @@ class LineListService {
3385
3403
  getEvents(programId, orgUnit, page, pageSize, filters = [], startDate, endDate, ouMode, useOuModeWithOlderDHIS2Instance) {
3386
3404
  const filterParams = buildFilters(filters);
3387
3405
  const dateFilter = startDate && endDate ? `&startDate=${startDate}&endDate=${endDate}` : '';
3388
- const ouModeIdentifier = ouMode && useOuModeWithOlderDHIS2Instance ? `&ouMode=${ouMode}` : `&ouMode=${ouMode}`;
3406
+ const ouModeIdentifier = ouMode && useOuModeWithOlderDHIS2Instance
3407
+ ? `&ouMode=${ouMode}`
3408
+ : `&ouMode=${ouMode}`;
3389
3409
  // const ouModeIdentifier = ouMode ? `&ouMode=${ouMode}`: ``;
3390
3410
  return this.httpClient.get(`events.json?program=${programId}&orgUnit=${orgUnit}${ouModeIdentifier}&page=${page}&pageSize=${pageSize}&fields=*&totalPages=true&${filterParams}${dateFilter}`);
3391
3411
  }
@@ -3407,7 +3427,7 @@ class LineListService {
3407
3427
  return this.getTrackedEntityInstances(programId, orgUnit, page, pageSize, filters, startDate, endDate, ouMode, filterRootOrgUnit, useOuModeWithOlderDHIS2Instance).pipe(map$1((teis) => ({
3408
3428
  metadata: programMetadata,
3409
3429
  data: teis,
3410
- orgUnits: teis.orgUnitsMap
3430
+ orgUnits: teis.orgUnitsMap,
3411
3431
  })));
3412
3432
  }
3413
3433
  else {
@@ -3440,7 +3460,7 @@ const getProgramStageData = (response, programStageId, pager) => {
3440
3460
  key: dataElementId,
3441
3461
  }));
3442
3462
  const dataElementsData = events.map((event, idx) => {
3443
- let row = {
3463
+ const row = {
3444
3464
  event: event.event,
3445
3465
  index: (pager.page - 1) * pager.pageSize + idx + 1,
3446
3466
  };
@@ -3451,9 +3471,10 @@ const getProgramStageData = (response, programStageId, pager) => {
3451
3471
  return { columns: entityColumns, data: dataElementsData };
3452
3472
  };
3453
3473
  const getTrackedEntityData = (response, programId, pager, filters) => {
3454
- let teis = response.data
3455
- .trackedEntities;
3456
- let programMetaData = response.metadata.programTrackedEntityAttributes;
3474
+ let teis = response.data?.trackedEntities ??
3475
+ response.data?.instances ??
3476
+ [];
3477
+ const programMetaData = response.metadata.programTrackedEntityAttributes;
3457
3478
  // //organisation units from metadata
3458
3479
  // let orgUnitsFromMetaData = response.metadata.organisationUnits;
3459
3480
  // //a Map to efficiently look up orgUnit names by ID
@@ -3520,7 +3541,7 @@ const getTrackedEntityData = (response, programId, pager, filters) => {
3520
3541
  // Filter entityColumns to keep only those whose key exists in searchableAttributes
3521
3542
  const filteredEntityColumns = entityColumns.filter((column) => searchableKeys.has(column.key));
3522
3543
  const attributesData = teis.map((tei, idx) => {
3523
- let row = {
3544
+ const row = {
3524
3545
  trackedEntityInstance: tei.trackedEntity,
3525
3546
  index: (pager.page - 1) * pager.pageSize + idx + 1,
3526
3547
  };
@@ -3550,15 +3571,15 @@ const getTrackedEntityData = (response, programId, pager, filters) => {
3550
3571
  const getEventData = (response, pager) => {
3551
3572
  const events = response.data.events;
3552
3573
  const uniqueDataElements = new Set();
3553
- events.forEach((event) => {
3554
- event.dataValues.forEach((dv) => uniqueDataElements.add(dv.dataElement));
3574
+ events?.forEach((event) => {
3575
+ event?.dataValues.forEach((dv) => uniqueDataElements.add(dv.dataElement));
3555
3576
  });
3556
3577
  const entityColumns = Array.from(uniqueDataElements).map((dataElement) => ({
3557
3578
  label: response.metadata.programStages[0].programStageDataElements.find((psde) => psde.dataElement.id === dataElement)?.dataElement.name || dataElement,
3558
3579
  key: dataElement,
3559
3580
  }));
3560
3581
  const dataElementsData = events.map((event, idx) => {
3561
- let row = {
3582
+ const row = {
3562
3583
  event: event.event,
3563
3584
  index: (pager.page - 1) * pager.pageSize + idx + 1,
3564
3585
  };
@@ -3836,8 +3857,15 @@ class LineListTableComponent extends ReactWrapperModule {
3836
3857
  entityColumns = columns;
3837
3858
  entityData = data;
3838
3859
  }
3839
- else if ('trackedEntities' in response.data) {
3840
- responsePager = response.data.pager;
3860
+ else if ('trackedEntities' in response.data ||
3861
+ 'instances' in response.data) {
3862
+ const responseData = response.data;
3863
+ responsePager = response.data.pager || {
3864
+ page: responseData.page,
3865
+ pageSize: responseData.pageSize,
3866
+ total: responseData.total,
3867
+ pageCount: responseData.pageCount,
3868
+ };
3841
3869
  const { columns, data, filteredEntityColumns } = getTrackedEntityData(response, this.programId, pager, this.filters);
3842
3870
  entityColumns = columns;
3843
3871
  entityData = data;
@@ -3845,7 +3873,10 @@ class LineListTableComponent extends ReactWrapperModule {
3845
3873
  const checkValues = [
3846
3874
  ...new Set(response.data?.trackedEntities?.[0]?.enrollments?.[0]?.events?.flatMap((event) => event.dataValues
3847
3875
  .filter((dataValue) => /^[A-Za-z]{3}$/.test(dataValue.value))
3848
- .map((dataValue) => dataValue.value))),
3876
+ .map((dataValue) => dataValue.value)) ??
3877
+ response.data?.instances?.[0]?.enrollments?.[0]?.events?.flatMap((event) => event.dataValues
3878
+ .filter((dataValue) => /^[A-Za-z]{3}$/.test(dataValue.value))
3879
+ .map((dataValue) => dataValue.value))),
3849
3880
  ];
3850
3881
  if (checkValues) {
3851
3882
  // this.firstValue.emit(firstTei);
@@ -3894,7 +3925,8 @@ class LineListTableComponent extends ReactWrapperModule {
3894
3925
  this.lineListService
3895
3926
  .getLineListData(this.programId, this.orgUnit, this.programStageId, pager.page, 1000, this.attributeFilters, this.startDate, this.endDate, this.ouMode)
3896
3927
  .subscribe((response) => {
3897
- if ('trackedEntities' in response.data) {
3928
+ if ('trackedEntities' in response.data ||
3929
+ 'instances' in response.data) {
3898
3930
  const trackedEntityInstances = response.data.trackedEntities;
3899
3931
  // Map TEIs to objects with teiId and enrollmentId
3900
3932
  const teiEnrollmentList = trackedEntityInstances
@@ -6757,7 +6789,6 @@ class SelectionFiltersComponent extends ReactWrapperModule {
6757
6789
  } },
6758
6790
  React__default.createElement("div", { style: { width: '100%' } },
6759
6791
  React__default.createElement(InputField$1, { value: displayValue, label: "Organization Unit", readOnly: false, onFocus: () => setShowOrgUnit(true), onBlur: () => {
6760
- this.ngZone.run(() => console.log('THIS IS IT::: '));
6761
6792
  setTouched(true);
6762
6793
  } }),
6763
6794
  showOrgUnit && (React__default.createElement(this.FieldOrgUnitSelector, { onCancelOrgUnit: () => {