Skip to content

Commit c9d5668

Browse files
committed
Merge branch 'staging'
2 parents c55730f + a1b729b commit c9d5668

11 files changed

Lines changed: 340 additions & 151 deletions

File tree

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "program_configuration",
33
"title": "Program Configuration",
44
"author": "KnowTechTure SL",
5-
"version": "2.0.4",
5+
"version": "2.0.5",
66
"description": "Tracker Programs management tool",
77
"license": "CC-BY-4.0",
88
"private": true,

src/components/PRG_List/H2Convert.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -631,8 +631,6 @@ const H2Convert = ({
631631

632632
const pcaMetadataVal = h2SettingsRef.current.saveMetaData();
633633
const useCompetency = pcaMetadataVal?.useCompetencyClass === 'Yes';
634-
635-
console.log(pcaMetadataVal, useCompetency);
636634

637635
pcaMetadataVal.h1Program = programOld.id;
638636
pcaMetadataVal.dePrefix = programOld.shortName.slice(0, 22) + " H2";

src/components/PRG_List/H2Setting.js

Lines changed: 28 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ const H2Setting = forwardRef((props, ref) => {
7575
const [ouLevels, setOULevels] = useState();
7676
const [aggregationType, setAggregationType] = useState(props.pcaMetadata?.programIndicatorsAggType || 'AVERAGE');
7777
const [useCompetency, setUseCompetency] = useState(props.pcaMetadata?.useCompetencyClass === "Yes");
78+
const [createAndroidAnalytics, setCreateAndroidAnalytics] = useState(props.pcaMetadata?.createAndroidAnalytics === "Yes");
7879
const [teiDownloadAmount, setTeiDownloadAmount] = useState(props.pcaMetadata?.teiDownloadAmount || 5);
7980

8081
const [useUserOrgUnit, setUseUserOrgUnit] = useState(props.pcaMetadata?.useUserOrgUnit === "Yes");
@@ -108,6 +109,10 @@ const H2Setting = forwardRef((props, ref) => {
108109
setUseCompetency(event.target.checked);
109110
};
110111

112+
const handleChangeAndroidAnalytics = (event) => {
113+
setCreateAndroidAnalytics(event.target.checked);
114+
};
115+
111116
const healthAreaChange = (event) => {
112117
validationErrors.healthArea = undefined;
113118
setValidationErrors({ ...validationErrors });
@@ -233,7 +238,6 @@ const H2Setting = forwardRef((props, ref) => {
233238

234239
useImperativeHandle(ref, () => ({
235240
handleFormValidation() {
236-
console.log(teiDownloadAmount === "")
237241
let response = true;
238242
if (
239243
healthArea === "" ||
@@ -276,17 +280,19 @@ const H2Setting = forwardRef((props, ref) => {
276280
},
277281

278282
saveMetaData() {
279-
const data = {};
280-
data.saveVersion = BUILD_VERSION;
281-
data.buildVersion = props.pcaMetadata?.buildVersion;
282-
data.useCompetencyClass = useCompetency ? "Yes" : "No";
283-
data.healthArea = healthArea;
284-
data.ouRoot = selectedOrgUnits[0];
285-
data.useUserOrgUnit = useUserOrgUnit ? "Yes" : "No";
286-
data.ouLevelTable = ouTableRow;
287-
data.ouLevelMap = ouMapPolygon;
288-
data.programIndicatorsAggType = aggregationType;
289-
data.teiDownloadAmount = teiDownloadAmount;
283+
const data = {
284+
saveVersion: BUILD_VERSION,
285+
buildVersion: props.pcaMetadata?.buildVersion,
286+
useCompetencyClass: useCompetency ? "Yes" : "No",
287+
healthArea: healthArea,
288+
ouRoot: selectedOrgUnits[0],
289+
useUserOrgUnit: useUserOrgUnit ? "Yes" : "No",
290+
ouLevelTable: ouTableRow,
291+
ouLevelMap: ouMapPolygon,
292+
programIndicatorsAggType: aggregationType,
293+
createAndroidAnalytics: createAndroidAnalytics ? "Yes" : "No",
294+
teiDownloadAmount: teiDownloadAmount
295+
};
290296
return data;
291297
}
292298
}))
@@ -483,6 +489,16 @@ const H2Setting = forwardRef((props, ref) => {
483489
style={fieldSetStyle}
484490
>
485491
<legend style={{ color: 'rgba(0, 0, 0, 0.6)' }}>Android Capture App Settings</legend>
492+
<FormControlLabel
493+
control={
494+
<Switch
495+
checked={createAndroidAnalytics}
496+
onChange={handleChangeAndroidAnalytics}
497+
name="createAnalytics"
498+
/>
499+
}
500+
label="Create Android Dashboard Analytics"
501+
/>
486502
<TextField
487503
error={validationErrors.teiDownloadAmount !== undefined}
488504
helperText={validationErrors.teiDownloadAmount}

src/components/STG_Details/Scripting.js

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ const buildScores = (branch) => {
4343
branch.questions.forEach((a) => {
4444
if (a.prgVarName) {
4545
const num = `#{${a.prgVarName}}*${a.scoreNum}`;
46-
const den = `d2:countIfZeroPos('${a.prgVarName}')*${a.scoreDen}`;
46+
const den = `d2:count('${a.prgVarName}')*${a.scoreDen}`;
4747
if (a.isCritical == "Yes") {
4848
numC.push(num);
4949
denC.push(den);
@@ -693,7 +693,7 @@ const labelsRulesLogic = (hideShowLabels, programId, uidPool) => {
693693
* @param {String} useCompetencyClass: Flag to include or not the competency class realated items
694694
* @returns {Array} programRuleVariables: <Array>{name,programRuleVariableSourceType,useCodeForOptionSet,program,|dataElement|}
695695
*/
696-
export const buildProgramRuleVariables = (sections, compositeScores, programId, useCompetencyClass = "Yes") => {
696+
export const buildProgramRuleVariables = ({ sections, compositeScores, programId, useCompetencyClass = "Yes", uidPool }) => {
697697
// const criticalStepCalculations = sections.find(s => s.name == "Critical Step Calculations");
698698
// const scores = sections.find(s => s.name == "Scores");
699699
// sections = sections.filter(s => s.name != "Scores" && s.name != "Critical Steps Calculations");
@@ -704,6 +704,7 @@ export const buildProgramRuleVariables = (sections, compositeScores, programId,
704704
sections.forEach((section, secIdx) => {
705705
section.dataElements.forEach((dataElement, deIdx) => {
706706
programRuleVariables.push({
707+
id: uidPool.shift(),
707708
name: `_S${padValue(secIdx + 1, "00")}Q${padValue(deIdx + 1, "000")}`,
708709
programRuleVariableSourceType: "DATAELEMENT_CURRENT_EVENT",
709710
useCodeForOptionSet: dataElement.optionSet?.id ? true : false,
@@ -716,6 +717,7 @@ export const buildProgramRuleVariables = (sections, compositeScores, programId,
716717
// Calculated Values
717718
compositeScores.forEach(cs => {
718719
programRuleVariables.push({
720+
id: uidPool.shift(),
719721
name: `_CV_CS${cs}`,
720722
programRuleVariableSourceType: "CALCULATED_VALUE",
721723
useCodeForOptionSet: false,
@@ -726,24 +728,28 @@ export const buildProgramRuleVariables = (sections, compositeScores, programId,
726728
// Critical Steps Calculations
727729
const criticalVariables = [
728730
{
731+
id: uidPool.shift(),
729732
name: "_NoncriticalNewest",
730733
programRuleVariableSourceType: "DATAELEMENT_NEWEST_EVENT_PROGRAM",
731734
program: { id: programId },
732735
dataElement: { id: NON_CRITICAL_STEPS }
733736
},
734737
{
738+
id: uidPool.shift(),
735739
name: "_criticalNewest",
736740
programRuleVariableSourceType: "DATAELEMENT_NEWEST_EVENT_PROGRAM",
737741
program: { id: programId },
738742
dataElement: { id: CRITICAL_STEPS },
739743
},
740744
{
745+
id: uidPool.shift(),
741746
name: "_CV_NonCriticalQuestions",
742747
programRuleVariableSourceType: "CALCULATED_VALUE",
743748
useCodeForOptionSet: "false",
744749
program: { id: programId }
745750
},
746751
{
752+
id: uidPool.shift(),
747753
name: "_CV_CriticalQuestions",
748754
programRuleVariableSourceType: "CALCULATED_VALUE",
749755
useCodeForOptionSet: "false",
@@ -755,6 +761,7 @@ export const buildProgramRuleVariables = (sections, compositeScores, programId,
755761
if (useCompetencyClass == "Yes") {
756762
criticalVariables.push(
757763
{
764+
id: uidPool.shift(),
758765
name: "_competencyNewest",
759766
programRuleVariableSourceType: "DATAELEMENT_NEWEST_EVENT_PROGRAM",
760767
useCodeForOptionSet: true,
@@ -766,7 +773,7 @@ export const buildProgramRuleVariables = (sections, compositeScores, programId,
766773
return programRuleVariables.concat(criticalVariables)
767774
}
768775

769-
export const buildProgramRules = (sections, stageId, programId, compositeValues, scoresMapping, uidPool, useCompetencyClass = "Yes", healthArea = "FP", scoreMap = { childs: [] }) => {
776+
export const buildProgramRules = ({ sections, stageId, programId, compositeValues, scoresMapping, uidPool, useCompetencyClass = "Yes", healthArea = "FP", scoreMap = { childs: [] } }) => {
770777

771778
var programRules = [];
772779
var programRuleActions = [];
@@ -883,7 +890,7 @@ export const buildProgramRules = (sections, stageId, programId, compositeValues,
883890
return { programRules, programRuleActions, scoreMap }
884891
}
885892

886-
export const buildProgramIndicators = (programId, programStage, scoreMap, uidPool, useCompetency, sharingSettings, PIAggregationType) => {
893+
export const buildProgramIndicators = ({ programId, programStage, scoreMap, uidPool, useCompetency, sharingSettings, PIAggregationType }) => {
887894

888895
const programShortName = programStage.program.shortName;
889896
// This sectin is for the local analytics
@@ -944,7 +951,7 @@ export const buildProgramIndicators = (programId, programStage, scoreMap, uidPoo
944951
return { programIndicators, indicatorIDs, gsInd: AnalyticGS.id }
945952
}
946953

947-
export const buildH2BaseVisualizations = (programId, programShortName, { gsInd, indicatorIDs }, uidPool, useCompetency, currentDashboardId, userOU, ouRoot, stageId, sharingSettings, visualizationLevel, mapLevel, actionPlanID) => {
954+
export const buildH2BaseVisualizations = ({ programId, programShortName, gsInd, indicatorIDs, uidPool, useCompetency, currentDashboardId, userOU, ouRoot, sharingSettings, visualizationLevel, mapLevel, actionPlanID}) => {
948955
const series = []
949956
const dataDimensionItems = []
950957
const visualizations = []

0 commit comments

Comments
 (0)