Skip to content

Commit

Permalink
#1137 - disableManualActions for RPG
Browse files Browse the repository at this point in the history
  • Loading branch information
petmongrels committed Apr 8, 2024
1 parent ef00fd6 commit f4bc8a6
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 30 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
"material-table": "1.43.0",
"moment": "^2.22.2",
"openchs-idi": "git+https://github.com/avniproject/openchs-idi#b6c57e051b91ed4bc2634f4f087dba51cc3a01c8",
"openchs-models": "1.31.63",
"openchs-models": "1.31.64",
"popper.js": "^1.14.3",
"prismjs": "^1.17.1",
"prop-types": "^15.7.2",
Expand Down
10 changes: 6 additions & 4 deletions src/dataEntryApp/components/RepeatableQuestionGroupElement.js
Original file line number Diff line number Diff line change
Expand Up @@ -46,10 +46,12 @@ export function RepeatableQuestionGroupElement({
key={index}
/>
{(hasMultipleElements || isLastElement) && <LineBreak num={1} />}
<>
{hasMultipleElements && <RemoveButton formElement={formElement} index={index} removeQuestionGroup={removeQuestionGroup} />}
{isLastElement && <AddMoreButton formElement={formElement} addNewQuestionGroup={addNewQuestionGroup} />}
</>
{!formElement.disableManualActions && (
<>
{hasMultipleElements && <RemoveButton formElement={formElement} index={index} removeQuestionGroup={removeQuestionGroup} />}
{isLastElement && <AddMoreButton formElement={formElement} addNewQuestionGroup={addNewQuestionGroup} />}
</>
)}
{!isLastElement && <LineBreak num={2} />}
</>
);
Expand Down
34 changes: 9 additions & 25 deletions src/dataEntryApp/services/RuleEvaluationService.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,7 @@ import { FormElementStatus } from "avni-models";
import * as rulesConfig from "rules-config";
import { common, motherCalculations, RuleRegistry } from "avni-health-modules";
import { store } from "common/store/createStore";
import {
selectLegacyRules,
selectLegacyRulesAllRules
} from "dataEntryApp/reducers/metadataReducer";
import { selectLegacyRules, selectLegacyRulesAllRules } from "dataEntryApp/reducers/metadataReducer";
import { individualService } from "./IndividualService";

const services = {
Expand All @@ -26,10 +23,9 @@ export const getFormElementsStatuses = (entity, formElementGroup) => {
.filter(formElement => !_.isNil(formElement.rule) && !_.isEmpty(_.trim(formElement.rule)));
const formElementStatusAfterGroupRule = runFormElementGroupRule(formElementGroup, entity);

const visibleFormElementsUUIDs = _.filter(
formElementStatusAfterGroupRule,
({ visibility }) => visibility === true
).map(({ uuid }) => uuid);
const visibleFormElementsUUIDs = _.filter(formElementStatusAfterGroupRule, ({ visibility }) => visibility === true).map(
({ uuid }) => uuid
);
if (!_.isEmpty(formElementsWithRules) && !_.isEmpty(visibleFormElementsUUIDs)) {
let formElementStatuses = formElementsWithRules
.filter(({ uuid }) => _.includes(visibleFormElementsUUIDs, uuid))
Expand All @@ -44,11 +40,7 @@ export const getFormElementsStatuses = (entity, formElementGroup) => {
imports: { rulesConfig, lodash, moment, common }
});
} catch (e) {
console.error(
`Rule-Failure for formElement name: ${formElement.name} Error message: ${
e.message
} stack: ${e.stack}`
);
console.error(`Rule-Failure for formElement name: ${formElement.name} Error message: ${e.message} stack: ${e.stack}`);
return null;
}
})
Expand All @@ -74,8 +66,7 @@ const runFormElementGroupRule = (formElementGroup, entity) => {
return formElementGroup.getFormElements().flatMap(formElement => {
if (!_.isNil(formElement.group)) {
const questionGroupObservation = entity.findObservation(formElement.group.concept.uuid);
const questionGroupObsValue =
questionGroupObservation && questionGroupObservation.getValueWrapper();
const questionGroupObsValue = questionGroupObservation && questionGroupObservation.getValueWrapper();
const size = questionGroupObsValue ? questionGroupObsValue.size() : 1;
return _.range(size).map(questionGroupIndex => {
const formElementStatus = new FormElementStatus(formElement.uuid, true, undefined);
Expand All @@ -97,9 +88,7 @@ const runFormElementGroupRule = (formElementGroup, entity) => {
imports: { rulesConfig, lodash, moment, common }
});
} catch (e) {
console.error(
`Rule-Failure for formElement group name: ${formElementGroup.name} Error message : ${e}`
);
console.error(`Rule-Failure for formElement group name: ${formElementGroup.name} Error message : ${e}`);
}
};

Expand Down Expand Up @@ -127,10 +116,7 @@ const getApplicableRules = (ruledEntity, ruleType, ruledEntityType) => {
.map(_.identity)
.filter(
rule =>
rule.voided === false &&
rule.type === ruleType &&
rule.entity.uuid === ruledEntity.uuid &&
rule.entity.type === ruledEntityType
rule.voided === false && rule.type === ruleType && rule.entity.uuid === ruledEntity.uuid && rule.entity.type === ruledEntityType
);
return getRuleFunctions(rules);
};
Expand All @@ -148,9 +134,7 @@ const runRuleAndSaveFailure = (rule, entityName, entity, ruleTypeValue, config,
ruleTypeValue = entity;
return rule.fn.exec(entity, context);
} else {
return _.isNil(context)
? rule.fn.exec(entity, ruleTypeValue, config)
: rule.fn.exec(entity, ruleTypeValue, context, config);
return _.isNil(context) ? rule.fn.exec(entity, ruleTypeValue, config) : rule.fn.exec(entity, ruleTypeValue, context, config);
}
} catch (error) {
console.log("Rule-Failure", `Rule failed: ${rule.name}, uuid: ${rule.uuid}`);
Expand Down

0 comments on commit f4bc8a6

Please sign in to comment.