@iapps/ng-dhis2-ui 1.2.96 → 1.2.98
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.
- package/fesm2022/iapps-ng-dhis2-ui.mjs +90 -77
- package/fesm2022/iapps-ng-dhis2-ui.mjs.map +1 -1
- package/lib/modules/form/utils/field-type.util.d.ts +1 -1
- package/lib/modules/form/utils/field.util.d.ts +1 -1
- package/lib/modules/line-list/containers/line-list.component.d.ts +1 -1
- package/lib/modules/period-selector/components/utils/fixedPeriods.d.ts +3 -3
- package/lib/modules/program-entry-form/models/program-entry-form.config.d.ts +1 -1
- package/package.json +1 -1
- package/iapps-ng-dhis2-ui-1.2.96.tgz +0 -0
|
@@ -4011,6 +4011,7 @@ class LineListTableComponent extends ReactWrapperModule {
|
|
|
4011
4011
|
const [triggerRefetch, setTriggerRefetch] = useState(this.triggerRefetch);
|
|
4012
4012
|
const [showActionButtons, setShowActionButtons] = useState(this.showActionButtons);
|
|
4013
4013
|
const [orgUnitModalVisible, setOrgUnitModalVisible] = useState(false);
|
|
4014
|
+
const [error, setError] = useState(null);
|
|
4014
4015
|
const d2 = window.d2Web;
|
|
4015
4016
|
// Stores updaters in refs for Angular to access
|
|
4016
4017
|
const updateRefs = useRef({
|
|
@@ -4025,26 +4026,35 @@ class LineListTableComponent extends ReactWrapperModule {
|
|
|
4025
4026
|
setTriggerRefetch,
|
|
4026
4027
|
setTriggerTokenState,
|
|
4027
4028
|
});
|
|
4029
|
+
// useEffect(() => {
|
|
4030
|
+
// this.setReactStateUpdaters?.(updateRefs.current);
|
|
4031
|
+
// }, []);
|
|
4028
4032
|
useEffect(() => {
|
|
4029
4033
|
this.setReactStateUpdaters?.(updateRefs.current);
|
|
4030
|
-
}, []);
|
|
4031
|
-
useEffect(() => {
|
|
4032
|
-
setLoading(true);
|
|
4033
4034
|
const fetchmetaData = async () => {
|
|
4035
|
+
setLoading(true);
|
|
4036
|
+
if (!this.programId) {
|
|
4037
|
+
setMetaData(null);
|
|
4038
|
+
setLoading(false);
|
|
4039
|
+
return;
|
|
4040
|
+
}
|
|
4041
|
+
setError(null);
|
|
4034
4042
|
try {
|
|
4035
4043
|
const trackerResponse = (await d2.trackerModule.trackedEntity
|
|
4036
4044
|
.setProgram(this.programId)
|
|
4037
4045
|
.getMetaData({ skipProgramRules: true }));
|
|
4046
|
+
if (!trackerResponse || !trackerResponse.programType) {
|
|
4047
|
+
throw new Error('failed to load data.');
|
|
4048
|
+
}
|
|
4038
4049
|
const data = trackerResponse;
|
|
4039
4050
|
setMetaData(data);
|
|
4040
4051
|
}
|
|
4041
4052
|
catch (error) {
|
|
4042
|
-
|
|
4053
|
+
setError(error);
|
|
4054
|
+
setLoading(false);
|
|
4043
4055
|
}
|
|
4044
4056
|
};
|
|
4045
|
-
|
|
4046
|
-
fetchmetaData();
|
|
4047
|
-
}
|
|
4057
|
+
fetchmetaData();
|
|
4048
4058
|
}, []);
|
|
4049
4059
|
useEffect(() => {
|
|
4050
4060
|
if (!metaData) {
|
|
@@ -4086,9 +4096,10 @@ class LineListTableComponent extends ReactWrapperModule {
|
|
|
4086
4096
|
// this.actionOptions
|
|
4087
4097
|
// );
|
|
4088
4098
|
let updatedFilterableColumnIds;
|
|
4089
|
-
if (Array.isArray(this.filterableColumnIds) &&
|
|
4099
|
+
if (Array.isArray(this.filterableColumnIds) &&
|
|
4100
|
+
this.filterableColumnIds.length > 0) {
|
|
4090
4101
|
const filterableColumnIdsSet = new Set(this.filterableColumnIds);
|
|
4091
|
-
updatedFilterableColumnIds = columns.filter(column => filterableColumnIdsSet.has(column.key));
|
|
4102
|
+
updatedFilterableColumnIds = columns.filter((column) => filterableColumnIdsSet.has(column.key));
|
|
4092
4103
|
}
|
|
4093
4104
|
else {
|
|
4094
4105
|
updatedFilterableColumnIds = columns;
|
|
@@ -4102,74 +4113,76 @@ class LineListTableComponent extends ReactWrapperModule {
|
|
|
4102
4113
|
});
|
|
4103
4114
|
}
|
|
4104
4115
|
else if (isTracker) {
|
|
4105
|
-
|
|
4106
|
-
|
|
4107
|
-
|
|
4108
|
-
|
|
4109
|
-
|
|
4110
|
-
|
|
4111
|
-
|
|
4112
|
-
|
|
4113
|
-
|
|
4114
|
-
|
|
4115
|
-
|
|
4116
|
-
|
|
4117
|
-
|
|
4118
|
-
|
|
4119
|
-
|
|
4120
|
-
|
|
4121
|
-
|
|
4122
|
-
|
|
4123
|
-
|
|
4124
|
-
|
|
4125
|
-
|
|
4126
|
-
|
|
4127
|
-
|
|
4128
|
-
|
|
4129
|
-
|
|
4130
|
-
|
|
4131
|
-
|
|
4132
|
-
|
|
4133
|
-
|
|
4134
|
-
|
|
4135
|
-
|
|
4136
|
-
|
|
4137
|
-
|
|
4138
|
-
|
|
4139
|
-
|
|
4140
|
-
|
|
4141
|
-
|
|
4142
|
-
|
|
4143
|
-
|
|
4144
|
-
|
|
4145
|
-
|
|
4146
|
-
|
|
4147
|
-
|
|
4148
|
-
|
|
4149
|
-
|
|
4150
|
-
|
|
4151
|
-
|
|
4152
|
-
|
|
4153
|
-
|
|
4154
|
-
|
|
4155
|
-
|
|
4156
|
-
|
|
4157
|
-
|
|
4158
|
-
|
|
4159
|
-
|
|
4160
|
-
|
|
4161
|
-
|
|
4162
|
-
|
|
4163
|
-
|
|
4164
|
-
|
|
4165
|
-
|
|
4166
|
-
|
|
4167
|
-
error:
|
|
4168
|
-
|
|
4169
|
-
|
|
4170
|
-
|
|
4171
|
-
|
|
4172
|
-
|
|
4116
|
+
const fetchTrackerData = async () => {
|
|
4117
|
+
try {
|
|
4118
|
+
setLoading(true);
|
|
4119
|
+
const response = await d2.trackerModule.trackedEntity
|
|
4120
|
+
.setEndDate(endDate)
|
|
4121
|
+
.setStartDate(startDateState)
|
|
4122
|
+
.setProgram(this.programId)
|
|
4123
|
+
.setProgramStage(this.programStageId)
|
|
4124
|
+
.setOrgUnit(orgUnitState)
|
|
4125
|
+
.setOuMode(this.ouMode)
|
|
4126
|
+
.setStatus(this.enrollmentStatus)
|
|
4127
|
+
.setEventStatus(this.eventStatus?.status, this.eventStatus?.programStage)
|
|
4128
|
+
.setFilters(dataQueryFiltersState)
|
|
4129
|
+
.setPagination(new Pager({
|
|
4130
|
+
pageSize: pager.pageSize,
|
|
4131
|
+
page: pager.page,
|
|
4132
|
+
}))
|
|
4133
|
+
.setOrderCriterias([
|
|
4134
|
+
new DataOrderCriteria().setField('createdAt').setOrder('desc'),
|
|
4135
|
+
])
|
|
4136
|
+
.get();
|
|
4137
|
+
const trackedEntityInstances = Array.isArray(response.data)
|
|
4138
|
+
? response.data
|
|
4139
|
+
: [response.data];
|
|
4140
|
+
const orgUnitIdsFromEnrollments = new Set(trackedEntityInstances.map((tei) => tei.latestEnrollment.orgUnit));
|
|
4141
|
+
const orgUnitsFromAttributes = new Set(trackedEntityInstances.flatMap((tei) => tei.attributes
|
|
4142
|
+
?.filter((attr) => attr.valueType === 'ORGANISATION_UNIT')
|
|
4143
|
+
.map((attr) => attr.value) || []));
|
|
4144
|
+
const uniqueOrgUnitIds = [
|
|
4145
|
+
...orgUnitIdsFromEnrollments,
|
|
4146
|
+
...orgUnitsFromAttributes,
|
|
4147
|
+
];
|
|
4148
|
+
const fetchedOrgUnits = await firstValueFrom(this.lineListService.fetchOrgUnits(uniqueOrgUnitIds));
|
|
4149
|
+
const trackedEntityResponse = {
|
|
4150
|
+
trackedEntityInstances: response.data,
|
|
4151
|
+
pager: pager,
|
|
4152
|
+
orgUnitsMap: fetchedOrgUnits,
|
|
4153
|
+
};
|
|
4154
|
+
const { columns, data, filteredEntityColumns, orgUnitLabel } = getTrackedEntityTableData({ data: trackedEntityResponse }, this.programId, pager, metaData);
|
|
4155
|
+
setFilteredColumns((prev) => filteredEntityColumns.length > 0 ? filteredEntityColumns : prev);
|
|
4156
|
+
let updatedFilterableColumnIds;
|
|
4157
|
+
if (Array.isArray(this.filterableColumnIds) &&
|
|
4158
|
+
this.filterableColumnIds.length > 0) {
|
|
4159
|
+
const filterableColumnIdsSet = new Set(this.filterableColumnIds);
|
|
4160
|
+
updatedFilterableColumnIds = columns.filter((column) => filterableColumnIdsSet.has(column.key));
|
|
4161
|
+
}
|
|
4162
|
+
else {
|
|
4163
|
+
updatedFilterableColumnIds = columns;
|
|
4164
|
+
}
|
|
4165
|
+
const finalColumns = addActionsColumn([{ label: '#', key: 'index' }, ...updatedFilterableColumnIds], this.actionOptions);
|
|
4166
|
+
// const finalColumns: ColumnDefinition[] = addActionsColumn(
|
|
4167
|
+
// [{ label: '#', key: 'index' }, ...columns],
|
|
4168
|
+
// this.actionOptions
|
|
4169
|
+
// );
|
|
4170
|
+
const pagerResponse = response.pagination;
|
|
4171
|
+
// setLoading(false);
|
|
4172
|
+
setColumns(finalColumns);
|
|
4173
|
+
setData(data);
|
|
4174
|
+
setPager(new Pager(pagerResponse || {}));
|
|
4175
|
+
setOrgUnitLabel(orgUnitLabel);
|
|
4176
|
+
}
|
|
4177
|
+
catch (error) {
|
|
4178
|
+
console.error('Failed to fetch tracker data:', error);
|
|
4179
|
+
setError('Could not load records. Please reload.');
|
|
4180
|
+
}
|
|
4181
|
+
finally {
|
|
4182
|
+
setLoading(false);
|
|
4183
|
+
}
|
|
4184
|
+
};
|
|
4185
|
+
fetchTrackerData();
|
|
4173
4186
|
}
|
|
4174
4187
|
}, [
|
|
4175
4188
|
metaData,
|