@iapps/ng-dhis2-ui 1.1.66 → 1.1.67

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.
@@ -3702,7 +3702,47 @@ const getTrackedEntityData = (response, programId, pager, isOptionSetNameVisible
3702
3702
  filteredEntityColumns: filteredEntityColumns,
3703
3703
  };
3704
3704
  };
3705
- const getEventData = (response, pager) => {
3705
+ // export const getEventData = (
3706
+ // response: LineListResponse,
3707
+ // pager: any,
3708
+ // isOptionSetNameVisible: boolean
3709
+ // ): { columns: ColumnDefinition[]; data: TableRow[] } => {
3710
+ // const events = (response.data as EventsResponse).events;
3711
+ // const uniqueDataElements = new Set<string>();
3712
+ // events?.forEach((event: any) => {
3713
+ // event?.dataValues.forEach((dv: any) =>
3714
+ // uniqueDataElements.add(dv.dataElement)
3715
+ // );
3716
+ // });
3717
+ // const entityColumns = Array.from(uniqueDataElements).map(
3718
+ // (dataElement: string) => ({
3719
+ // label:
3720
+ // response.metadata.programStages[0].programStageDataElements.find(
3721
+ // (psde: any) => psde.dataElement.id === dataElement
3722
+ // )?.dataElement.name || dataElement,
3723
+ // key: dataElement,
3724
+ // })
3725
+ // );
3726
+ // const dataElementsData = events.map((event: any, idx: number) => {
3727
+ // const row: TableRow = {
3728
+ // event: event.event,
3729
+ // index: (pager.page - 1) * pager.pageSize + idx + 1,
3730
+ // };
3731
+ // uniqueDataElements.forEach(
3732
+ // (dataElement: string) => (row[dataElement] = '')
3733
+ // );
3734
+ // event.dataValues.forEach((dv: any) => {
3735
+ // if (isOptionSetNameVisible) {
3736
+ // return (row[dv.dataElement] = dv.value)
3737
+ // } else {
3738
+ // return (row[dv.dataElement] = dv.value)
3739
+ // }
3740
+ // });
3741
+ // return row;
3742
+ // });
3743
+ // return { columns: entityColumns, data: dataElementsData };
3744
+ // };
3745
+ const getEventData = (response, pager, isOptionSetNameVisible) => {
3706
3746
  const events = response.data.events;
3707
3747
  const uniqueDataElements = new Set();
3708
3748
  events?.forEach((event) => {
@@ -3718,7 +3758,28 @@ const getEventData = (response, pager) => {
3718
3758
  index: (pager.page - 1) * pager.pageSize + idx + 1,
3719
3759
  };
3720
3760
  uniqueDataElements.forEach((dataElement) => (row[dataElement] = ''));
3721
- event.dataValues.forEach((dv) => (row[dv.dataElement] = dv.value));
3761
+ event.dataValues.forEach((dv) => {
3762
+ if (isOptionSetNameVisible && dv.optionSetValue) {
3763
+ const dataElementMetadata = response.metadata.programStages
3764
+ .flatMap((programStage) => programStage.programStageDataElements)
3765
+ .find((psde) => psde.dataElement.id === dv.dataElement)?.dataElement.optionSet;
3766
+ if (dataElementMetadata && dataElementMetadata.options) {
3767
+ const matchingOption = dataElementMetadata.options.find((option) => option.code === dv.value);
3768
+ if (matchingOption) {
3769
+ row[dv.dataElement] = matchingOption.name;
3770
+ }
3771
+ else {
3772
+ row[dv.dataElement] = dv.value;
3773
+ }
3774
+ }
3775
+ else {
3776
+ row[dv.dataElement] = dv.value;
3777
+ }
3778
+ }
3779
+ else {
3780
+ row[dv.dataElement] = dv.value;
3781
+ }
3782
+ });
3722
3783
  return row;
3723
3784
  });
3724
3785
  return { columns: entityColumns, data: dataElementsData };
@@ -3974,7 +4035,7 @@ class LineListTableComponent extends ReactWrapperModule {
3974
4035
  setStartDateState,
3975
4036
  setEndDateState,
3976
4037
  setIsButtonLoading,
3977
- setOptionSetNameVisible
4038
+ setOptionSetNameVisible,
3978
4039
  });
3979
4040
  useEffect(() => {
3980
4041
  this.setReactStateUpdaters?.(updateRefs.current);
@@ -4028,7 +4089,7 @@ class LineListTableComponent extends ReactWrapperModule {
4028
4089
  }
4029
4090
  else {
4030
4091
  responsePager = response.data.pager;
4031
- const { columns, data } = getEventData(response, pager);
4092
+ const { columns, data } = getEventData(response, pager, this.isOptionSetNameVisible);
4032
4093
  entityColumns = columns;
4033
4094
  entityData = data;
4034
4095
  }
@@ -4047,7 +4108,7 @@ class LineListTableComponent extends ReactWrapperModule {
4047
4108
  endDateState,
4048
4109
  pager.page,
4049
4110
  pager.pageSize,
4050
- isOptionSetNameVisibleState
4111
+ isOptionSetNameVisibleState,
4051
4112
  ]);
4052
4113
  const getDropdownOptions = (row) => {
4053
4114
  return (this.actionOptions || []).map((option) => ({