Skip to content

Commit

Permalink
fix: adjustments to rules engine input in profile widget
Browse files Browse the repository at this point in the history
  • Loading branch information
superskip committed Nov 15, 2023
1 parent 29e9c70 commit d7b168b
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 7 deletions.
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
// @flow
import type { ProgramRulesContainer } from '@dhis2/rules-engine-javascript';
import { getTrackedEntityAttributeId, getProgramId, getProgramRuleActions, getProgramStageId } from '../helpers';
import { getProgramId, getProgramRuleActions, getProgramStageId } from '../helpers';
import { getRulesAndVariablesFromProgramIndicators } from '../../../../metaDataMemoryStoreBuilders/programs/getRulesAndVariablesFromIndicators';

const addProgramVariables = (program, programRuleVariables) => {
program.programRuleVariables = programRuleVariables.map(programRulesVariable => ({
...programRulesVariable,
programId: getProgramId(programRulesVariable),
trackedEntityAttributeId: getTrackedEntityAttributeId(programRulesVariable),
}));
};

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ const getClientFormattedDataValuesAsObject = (dataValues, elementsById) =>
dataValues.reduce((acc, { dataElement: id, value }) => {
const dataElement = elementsById[id];
if (dataElement) {
acc[id] = convertValue(value, elementsById[id].type);
acc[id] = convertValue(value, dataElement.valueType);
}
return acc;
}, {});
Expand Down Expand Up @@ -39,8 +39,8 @@ export const useEvents = (enrollment: any, elementsById: Array<any>) => {
enrollmentId: event.enrollment,
enrollmentStatus: event.enrollmentStatus,
status: event.status,
eventDate: convertDate(event.eventDate),
dueDate: convertDate(event.dueDate),
occurredAt: convertDate(event.occurredAt),
scheduledAt: convertDate(event.scheduledAt),
...getClientFormattedDataValuesAsObject(event.dataValues, elementsById),
})),
[elementsById, enrollment, orgUnitNames],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ export const useLifecycle = ({
const state = useSelector(stateArg => stateArg);
const enrollment = useSelector(({ enrollmentDomain }) => enrollmentDomain?.enrollment);
const dataElements: DataElements = useDataElements(programAPI);
const otherEvents = useEvents(enrollment, programAPI);
const otherEvents = useEvents(enrollment, dataElements);
const orgUnit: ?OrgUnit = useOrganisationUnit(orgUnitId).orgUnit;
const rulesContainer: ProgramRulesContainer = useRulesContainer(programAPI);
const formFoundation: RenderFoundation = useFormFoundation(programAPI);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,5 +35,26 @@ export const useProgram = (programId: string) => {
),
);

return { error, loading, program: !loading && data?.programs };
const program = useMemo(() => {
if (data) {
const adaptedProgram = data.programs;
if (adaptedProgram.programRuleVariables) {
adaptedProgram.programRuleVariables = adaptedProgram.programRuleVariables.map(
({ trackedEntityAttribute, dataElement, ...variable }) => {
if (dataElement) {
variable.dataElementId = dataElement.id;
}
if (trackedEntityAttribute) {
variable.trackedEntityAttributeId = trackedEntityAttribute.id;
}
return variable;
},
);
}
return adaptedProgram;
}
return data;
}, [data]);

return { error, loading, program: !loading && program };
};

0 comments on commit d7b168b

Please sign in to comment.