@hisptz/dhis2-scorecard 1.2.24 → 1.2.25
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/dist/components/HighlightedItems/components/HighlightedItem.js +66 -0
- package/dist/components/HighlightedItems/components/HighlightedItem.js.map +1 -0
- package/dist/components/HighlightedItems/hooks/data.js +51 -0
- package/dist/components/HighlightedItems/hooks/data.js.map +1 -0
- package/dist/components/HighlightedItems/index.js +35 -0
- package/dist/components/HighlightedItems/index.js.map +1 -0
- package/dist/components/ScorecardLegendsView/components/LegendView.js +33 -17
- package/dist/components/ScorecardLegendsView/components/LegendView.js.map +1 -1
- package/dist/components/ScorecardLegendsView/components/OrgUnitLevelSpecificTargetView.js +55 -21
- package/dist/components/ScorecardLegendsView/components/OrgUnitLevelSpecificTargetView.js.map +1 -1
- package/dist/components/ScorecardLegendsView/components/OrgUnitSpecificTargetView.js +7 -2
- package/dist/components/ScorecardLegendsView/components/OrgUnitSpecificTargetView.js.map +1 -1
- package/dist/components/ScorecardLegendsView/components/PeriodSpecificTargetView.js +32 -19
- package/dist/components/ScorecardLegendsView/components/PeriodSpecificTargetView.js.map +1 -1
- package/dist/components/ScorecardLegendsView/components/SpecificTargetLegendsView.js +63 -47
- package/dist/components/ScorecardLegendsView/components/SpecificTargetLegendsView.js.map +1 -1
- package/dist/components/ScorecardTable/components/PaginatedToolbar.js +1 -2
- package/dist/components/ScorecardTable/components/PaginatedToolbar.js.map +1 -1
- package/dist/components/index.js +7 -0
- package/dist/esm/components/HighlightedItems/components/HighlightedItem.js +64 -0
- package/dist/esm/components/HighlightedItems/components/HighlightedItem.js.map +1 -0
- package/dist/esm/components/HighlightedItems/hooks/data.js +49 -0
- package/dist/esm/components/HighlightedItems/hooks/data.js.map +1 -0
- package/dist/esm/components/HighlightedItems/index.js +33 -0
- package/dist/esm/components/HighlightedItems/index.js.map +1 -0
- package/dist/esm/components/ScorecardLegendsView/components/LegendView.js +33 -17
- package/dist/esm/components/ScorecardLegendsView/components/LegendView.js.map +1 -1
- package/dist/esm/components/ScorecardLegendsView/components/OrgUnitLevelSpecificTargetView.js +55 -21
- package/dist/esm/components/ScorecardLegendsView/components/OrgUnitLevelSpecificTargetView.js.map +1 -1
- package/dist/esm/components/ScorecardLegendsView/components/OrgUnitSpecificTargetView.js +7 -2
- package/dist/esm/components/ScorecardLegendsView/components/OrgUnitSpecificTargetView.js.map +1 -1
- package/dist/esm/components/ScorecardLegendsView/components/PeriodSpecificTargetView.js +32 -19
- package/dist/esm/components/ScorecardLegendsView/components/PeriodSpecificTargetView.js.map +1 -1
- package/dist/esm/components/ScorecardLegendsView/components/SpecificTargetLegendsView.js +65 -49
- package/dist/esm/components/ScorecardLegendsView/components/SpecificTargetLegendsView.js.map +1 -1
- package/dist/esm/components/ScorecardTable/components/PaginatedToolbar.js +2 -3
- package/dist/esm/components/ScorecardTable/components/PaginatedToolbar.js.map +1 -1
- package/dist/esm/components/index.js +1 -0
- package/dist/esm/hooks/orgUnit.js +3 -4
- package/dist/esm/hooks/orgUnit.js.map +1 -1
- package/dist/hooks/orgUnit.js +3 -4
- package/dist/hooks/orgUnit.js.map +1 -1
- package/dist/types/components/HighlightedItems/components/HighlightedItem.d.ts +6 -0
- package/dist/types/components/HighlightedItems/components/HighlightedItem.d.ts.map +1 -0
- package/dist/types/components/HighlightedItems/hooks/data.d.ts +7 -0
- package/dist/types/components/HighlightedItems/hooks/data.d.ts.map +1 -0
- package/dist/types/components/HighlightedItems/index.d.ts +2 -0
- package/dist/types/components/HighlightedItems/index.d.ts.map +1 -0
- package/dist/types/components/ScorecardLegendsView/components/LegendView.d.ts.map +1 -1
- package/dist/types/components/ScorecardLegendsView/components/OrgUnitLevelSpecificTargetView.d.ts.map +1 -1
- package/dist/types/components/ScorecardLegendsView/components/OrgUnitSpecificTargetView.d.ts.map +1 -1
- package/dist/types/components/ScorecardLegendsView/components/PeriodSpecificTargetView.d.ts.map +1 -1
- package/dist/types/components/ScorecardLegendsView/components/SpecificTargetLegendsView.d.ts.map +1 -1
- package/dist/types/components/ScorecardTable/components/PaginatedToolbar.d.ts.map +1 -1
- package/dist/types/components/index.d.ts +1 -0
- package/dist/types/components/index.d.ts.map +1 -1
- package/dist/types/hooks/orgUnit.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/esm/components/ScorecardLegendsView/components/OrgUnitLevelSpecificTargetView.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/ScorecardLegendsView/components/OrgUnitLevelSpecificTargetView.tsx"],"names":[],"mappings":";;;;;;AAWO,SAAS,8BAAA,CAA+B;AAAA,EAC9C,cAAA;AAAA,EACA;AACD,CAAA,EAAmC;AAClC,EAAA,MAAM,OAAO,gBAAA,EAAiB;AAC9B,EAAA,MAAM,aAAA,GAAgB,IAAA,EAAM,aAAA,IAAiB,EAAC;AAE9C,EAAA,uBACC,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,KAAA,EAAO;AAAA,QACN,
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/ScorecardLegendsView/components/OrgUnitLevelSpecificTargetView.tsx"],"names":[],"mappings":";;;;;;AAWO,SAAS,8BAAA,CAA+B;AAAA,EAC9C,cAAA;AAAA,EACA;AACD,CAAA,EAAmC;AAClC,EAAA,MAAM,OAAO,gBAAA,EAAiB;AAC9B,EAAA,MAAM,aAAA,GAAgB,IAAA,EAAM,aAAA,IAAiB,EAAC;AAE9C,EAAA,uBACC,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,KAAA,EAAO;AAAA,QACN,YAAA,EAAc,CAAA;AAAA,QACd,GAAA,EAAK,CAAA;AAAA,QACL,QAAA,EAAU,aAAA;AAAA,QACV,OAAA,EAAS,MAAA;AAAA,QACT,aAAA,EAAe,QAAA;AAAA,QACf,OAAA,EAAS,EAAA;AAAA,QACT,QAAA,EAAU;AAAA,OACX;AAAA,MAEA,QAAA,EAAA;AAAA,wBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,QAAA,EAAU,IAAG,EAC1B,QAAA,EAAA;AAAA,0BAAA,IAAA,CAAC,GAAA,EAAA,EAAG,QAAA,EAAA;AAAA,YAAA,IAAA,CAAK,EAAE,aAAa,CAAA;AAAA,YAAE;AAAA,WAAA,EAAE,CAAA;AAAA,UAC3B;AAAA,SAAA,EACF,CAAA;AAAA,wBACA,GAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACA,KAAA,EAAO;AAAA,cACN,GAAA,EAAK,EAAA;AAAA,cACL,OAAA,EAAS,MAAA;AAAA,cACT,mBAAA,EAAqB;AAAA,aACtB;AAAA,YAEC,iBAAO,IAAA,CAAK,cAAc,CAAA,CAAE,GAAA,CAAI,CAAC,GAAA,KAAQ;AACzC,cAAA,MAAM,eAAe,aAAA,CAAc,IAAA;AAAA,gBAClC,CAAC,KAAA,KAAU,KAAA,CAAM,EAAA,KAAO;AAAA,eACzB;AACA,cAAA,MAAM,OAAA,GAAU,eAAe,GAAG,CAAA;AAClC,cAAA,uBACC,IAAA;AAAA,gBAAC,KAAA;AAAA,gBAAA;AAAA,kBACA,KAAA,EAAO;AAAA,oBACN,MAAA,EAAQ,CAAA,UAAA,EAAa,MAAA,CAAO,OAAO,CAAA,CAAA;AAAA,oBACnC,OAAA,EAAS,EAAA;AAAA,oBACT,YAAA,EAAc,CAAA;AAAA,oBACd,QAAA,EAAU;AAAA,mBACX;AAAA,kBAEA,QAAA,EAAA;AAAA,oCAAA,GAAA;AAAA,sBAAC,KAAA;AAAA,sBAAA;AAAA,wBACA,KAAA,EAAO;AAAA,0BACN,OAAA,EAAS,MAAA;AAAA,0BACT,aAAA,EAAe,QAAA;AAAA,0BACf,GAAA,EAAK;AAAA,yBACN;AAAA,wBAEA,+BAAC,KAAA,EAAA,EACA,QAAA,EAAA;AAAA,0CAAA,IAAA,CAAC,GAAA,EAAA,EAAG,QAAA,EAAA;AAAA,4BAAA,IAAA,CAAK,EAAE,yBAAyB,CAAA;AAAA,4BAAE;AAAA,2BAAA,EAAE,CAAA;AAAA,0BACvC,YAAA,EAAc;AAAA,yBAAA,EAChB;AAAA;AAAA,qBACD;AAAA,oCACA,GAAA,CAAC,eAAY,OAAA,EAAkB;AAAA;AAAA;AAAA,eAChC;AAAA,YAEF,CAAC;AAAA;AAAA;AACF;AAAA;AAAA,GACD;AAEF","file":"OrgUnitLevelSpecificTargetView.js","sourcesContent":["import i18n from \"@dhis2/d2-i18n\";\nimport { LegendsView } from \"./LegendView\";\nimport type { OrgUnitLevelLegend } from \"../../../schemas/config\";\nimport { useScorecardMeta } from \"../../MetaProvider\";\nimport { colors } from \"@dhis2/ui\";\n\nexport interface OrgUnitSpecificTargetViewProps {\n\tspecificTarget: OrgUnitLevelLegend;\n\tlabel: string;\n}\n\nexport function OrgUnitLevelSpecificTargetView({\n\tspecificTarget,\n\tlabel,\n}: OrgUnitSpecificTargetViewProps) {\n\tconst meta = useScorecardMeta();\n\tconst orgUnitLevels = meta?.orgUnitLevels ?? [];\n\n\treturn (\n\t\t<div\n\t\t\tstyle={{\n\t\t\t\tborderRadius: 4,\n\t\t\t\tgap: 8,\n\t\t\t\tmaxWidth: \"fit-content\",\n\t\t\t\tdisplay: \"flex\",\n\t\t\t\tflexDirection: \"column\",\n\t\t\t\tpadding: 16,\n\t\t\t\tfontSize: 14,\n\t\t\t}}\n\t\t>\n\t\t\t<div style={{ fontSize: 16 }}>\n\t\t\t\t<b>{i18n.t(\"Data Source\")}: </b>\n\t\t\t\t{label}\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tgap: 16,\n\t\t\t\t\tdisplay: \"grid\",\n\t\t\t\t\tgridTemplateColumns: \"1fr 1fr\",\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{Object.keys(specificTarget).map((key) => {\n\t\t\t\t\tconst orgUnitLevel = orgUnitLevels.find(\n\t\t\t\t\t\t(level) => level.id === key,\n\t\t\t\t\t);\n\t\t\t\t\tconst legends = specificTarget[key];\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tborder: `1px solid ${colors.grey600}`,\n\t\t\t\t\t\t\t\tpadding: 16,\n\t\t\t\t\t\t\t\tborderRadius: 4,\n\t\t\t\t\t\t\t\tfontSize: 14,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\t\t\t\tflexDirection: \"column\",\n\t\t\t\t\t\t\t\t\tgap: 4,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t<b>{i18n.t(\"Organisation Unit Level\")}: </b>\n\t\t\t\t\t\t\t\t\t{orgUnitLevel?.displayName}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<LegendsView legends={legends} />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"]}
|
|
@@ -24,9 +24,14 @@ function OrgUnitSpecificTargetView({
|
|
|
24
24
|
"div",
|
|
25
25
|
{
|
|
26
26
|
style: {
|
|
27
|
-
maxWidth:
|
|
27
|
+
maxWidth: "fit-content",
|
|
28
28
|
border: `1px solid ${colors.grey600}`,
|
|
29
|
-
borderRadius: 4
|
|
29
|
+
borderRadius: 4,
|
|
30
|
+
display: "flex",
|
|
31
|
+
flexDirection: "column",
|
|
32
|
+
gap: 8,
|
|
33
|
+
padding: 16,
|
|
34
|
+
fontSize: 14
|
|
30
35
|
},
|
|
31
36
|
className: "column gap-16 p-16",
|
|
32
37
|
children: [
|
package/dist/esm/components/ScorecardLegendsView/components/OrgUnitSpecificTargetView.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/ScorecardLegendsView/components/OrgUnitSpecificTargetView.tsx"],"names":[],"mappings":";;;;;;AAWO,SAAS,yBAAA,CAA0B;AAAA,EACzC,cAAA;AAAA,EACA;AACD,CAAA,EAAmC;AAClC,EAAA,MAAM,QAAQ,cAAA,CAAe,KAAA;AAC7B,EAAA,MAAM,EAAE,OAAA,EAAS,QAAA,EAAS,GAAI,YAAY,KAAK,CAAA;AAE/C,EAAA,IAAI,OAAA,EAAS;AACZ,IAAA,uBACC,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACA,KAAA,EAAO,EAAE,QAAA,EAAU,GAAA,EAAK,WAAW,GAAA,EAAI;AAAA,QACvC,SAAA,EAAU,kDAAA;AAAA,QAEV,QAAA,kBAAA,GAAA,CAAC,cAAA,EAAA,EAAe,UAAA,EAAU,IAAA,EAAC;AAAA;AAAA,KAC5B;AAAA,EAEF;AAEA,EAAA,uBACC,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,KAAA,EAAO;AAAA,QACN,QAAA,EAAU,
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/ScorecardLegendsView/components/OrgUnitSpecificTargetView.tsx"],"names":[],"mappings":";;;;;;AAWO,SAAS,yBAAA,CAA0B;AAAA,EACzC,cAAA;AAAA,EACA;AACD,CAAA,EAAmC;AAClC,EAAA,MAAM,QAAQ,cAAA,CAAe,KAAA;AAC7B,EAAA,MAAM,EAAE,OAAA,EAAS,QAAA,EAAS,GAAI,YAAY,KAAK,CAAA;AAE/C,EAAA,IAAI,OAAA,EAAS;AACZ,IAAA,uBACC,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACA,KAAA,EAAO,EAAE,QAAA,EAAU,GAAA,EAAK,WAAW,GAAA,EAAI;AAAA,QACvC,SAAA,EAAU,kDAAA;AAAA,QAEV,QAAA,kBAAA,GAAA,CAAC,cAAA,EAAA,EAAe,UAAA,EAAU,IAAA,EAAC;AAAA;AAAA,KAC5B;AAAA,EAEF;AAEA,EAAA,uBACC,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,KAAA,EAAO;AAAA,QACN,QAAA,EAAU,aAAA;AAAA,QACV,MAAA,EAAQ,CAAA,UAAA,EAAa,MAAA,CAAO,OAAO,CAAA,CAAA;AAAA,QACnC,YAAA,EAAc,CAAA;AAAA,QACd,OAAA,EAAS,MAAA;AAAA,QACT,aAAA,EAAe,QAAA;AAAA,QACf,GAAA,EAAK,CAAA;AAAA,QACL,OAAA,EAAS,EAAA;AAAA,QACT,QAAA,EAAU;AAAA,OACX;AAAA,MACA,SAAA,EAAU,oBAAA;AAAA,MAEV,QAAA,EAAA;AAAA,wBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,eAAA,EACd,QAAA,EAAA;AAAA,0BAAA,IAAA,CAAC,KAAA,EAAA,EACA,QAAA,EAAA;AAAA,4BAAA,IAAA,CAAC,GAAA,EAAA,EAAG,QAAA,EAAA;AAAA,cAAA,IAAA,CAAK,EAAE,sBAAsB,CAAA;AAAA,cAAE;AAAA,aAAA,EAAE,CAAA;AAAA,YAAK,GAAA;AAAA,YACzC,QAAA,EAAU,IAAI,CAAC,EAAA,KAAO,GAAG,WAAW,CAAA,EAAG,KAAK,IAAI;AAAA,WAAA,EAClD,CAAA;AAAA,+BACC,KAAA,EAAA,EACA,QAAA,EAAA;AAAA,4BAAA,IAAA,CAAC,GAAA,EAAA,EAAG,QAAA,EAAA;AAAA,cAAA,IAAA,CAAK,EAAE,aAAa,CAAA;AAAA,cAAE;AAAA,aAAA,EAAE,CAAA;AAAA,YAC3B;AAAA,WAAA,EACF;AAAA,SAAA,EACD,CAAA;AAAA,wBACA,GAAA,CAAC,WAAA,EAAA,EAAY,OAAA,EAAS,cAAA,CAAe,OAAA,EAAS;AAAA;AAAA;AAAA,GAC/C;AAEF","file":"OrgUnitSpecificTargetView.js","sourcesContent":["import type { SpecificTarget } from \"../../../schemas/config\";\nimport { CircularLoader, colors } from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { LegendsView } from \"./LegendView\";\nimport { useOrgUnits } from \"../../../hooks/orgUnit\";\n\nexport interface OrgUnitSpecificTargetViewProps {\n\tspecificTarget: SpecificTarget;\n\tlabel: string;\n}\n\nexport function OrgUnitSpecificTargetView({\n\tspecificTarget,\n\tlabel,\n}: OrgUnitSpecificTargetViewProps) {\n\tconst items = specificTarget.items;\n\tconst { loading, orgUnits } = useOrgUnits(items);\n\n\tif (loading) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tstyle={{ minWidth: 200, minHeight: 200 }}\n\t\t\t\tclassName=\"column align-items-center justify-content-center\"\n\t\t\t>\n\t\t\t\t<CircularLoader extrasmall />\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tstyle={{\n\t\t\t\tmaxWidth: \"fit-content\",\n\t\t\t\tborder: `1px solid ${colors.grey600}`,\n\t\t\t\tborderRadius: 4,\n\t\t\t\tdisplay: \"flex\",\n\t\t\t\tflexDirection: \"column\",\n\t\t\t\tgap: 8,\n\t\t\t\tpadding: 16,\n\t\t\t\tfontSize: 14,\n\t\t\t}}\n\t\t\tclassName=\"column gap-16 p-16\"\n\t\t>\n\t\t\t<div className=\"column gap-16\">\n\t\t\t\t<div>\n\t\t\t\t\t<b>{i18n.t(\"Organisation Unit(s)\")}: </b>{\" \"}\n\t\t\t\t\t{orgUnits?.map((ou) => ou.displayName)?.join(\", \")}\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<b>{i18n.t(\"Data Source\")}: </b>\n\t\t\t\t\t{label}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<LegendsView legends={specificTarget.legends} />\n\t\t</div>\n\t);\n}\n"]}
|
|
@@ -23,27 +23,40 @@ function PeriodSpecificTargetView({
|
|
|
23
23
|
style: {
|
|
24
24
|
maxWidth: 350,
|
|
25
25
|
border: `1px solid ${colors.grey600}`,
|
|
26
|
-
borderRadius: 4
|
|
26
|
+
borderRadius: 4,
|
|
27
|
+
display: "flex",
|
|
28
|
+
flexDirection: "column",
|
|
29
|
+
gap: 8,
|
|
30
|
+
padding: 16
|
|
27
31
|
},
|
|
28
|
-
className: "column gap-16 p-16",
|
|
29
32
|
children: [
|
|
30
|
-
/* @__PURE__ */ jsxs(
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
33
|
+
/* @__PURE__ */ jsxs(
|
|
34
|
+
"div",
|
|
35
|
+
{
|
|
36
|
+
style: {
|
|
37
|
+
gap: 8,
|
|
38
|
+
display: "flex",
|
|
39
|
+
flexDirection: "column"
|
|
40
|
+
},
|
|
41
|
+
children: [
|
|
42
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
43
|
+
/* @__PURE__ */ jsxs("b", { children: [
|
|
44
|
+
i18n.t("Period(s)"),
|
|
45
|
+
": "
|
|
46
|
+
] }),
|
|
47
|
+
" ",
|
|
48
|
+
periods?.map((ou) => ou.displayName)?.join(", ")
|
|
49
|
+
] }),
|
|
50
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
51
|
+
/* @__PURE__ */ jsxs("b", { children: [
|
|
52
|
+
i18n.t("Data Source"),
|
|
53
|
+
": "
|
|
54
|
+
] }),
|
|
55
|
+
label
|
|
56
|
+
] })
|
|
57
|
+
]
|
|
58
|
+
}
|
|
59
|
+
),
|
|
47
60
|
/* @__PURE__ */ jsx(LegendsView, { legends: specificTarget.legends })
|
|
48
61
|
]
|
|
49
62
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/ScorecardLegendsView/components/PeriodSpecificTargetView.tsx"],"names":[],"mappings":";;;;;;;AAYO,SAAS,wBAAA,CAAyB;AAAA,EACxC,cAAA;AAAA,EACA;AACD,CAAA,EAAmC;AAClC,EAAA,MAAM,QAAQ,cAAA,CAAe,KAAA;AAC7B,EAAA,MAAM,WAAW,WAAA,EAAY;AAC7B,EAAA,MAAM,UAAU,KAAA,CAAM,GAAA;AAAA,IAAI,CAAC,aAC1B,6BAAA,CAA8B;AAAA,MAC7B,QAAA;AAAA,MACA;AAAA,KACA;AAAA,GACF;AAEA,EAAA,uBACC,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,KAAA,EAAO;AAAA,QACN,QAAA,EAAU,GAAA;AAAA,QACV,MAAA,EAAQ,CAAA,UAAA,EAAa,MAAA,CAAO,OAAO,CAAA,CAAA;AAAA,QACnC,YAAA,EAAc;AAAA,
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/ScorecardLegendsView/components/PeriodSpecificTargetView.tsx"],"names":[],"mappings":";;;;;;;AAYO,SAAS,wBAAA,CAAyB;AAAA,EACxC,cAAA;AAAA,EACA;AACD,CAAA,EAAmC;AAClC,EAAA,MAAM,QAAQ,cAAA,CAAe,KAAA;AAC7B,EAAA,MAAM,WAAW,WAAA,EAAY;AAC7B,EAAA,MAAM,UAAU,KAAA,CAAM,GAAA;AAAA,IAAI,CAAC,aAC1B,6BAAA,CAA8B;AAAA,MAC7B,QAAA;AAAA,MACA;AAAA,KACA;AAAA,GACF;AAEA,EAAA,uBACC,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,KAAA,EAAO;AAAA,QACN,QAAA,EAAU,GAAA;AAAA,QACV,MAAA,EAAQ,CAAA,UAAA,EAAa,MAAA,CAAO,OAAO,CAAA,CAAA;AAAA,QACnC,YAAA,EAAc,CAAA;AAAA,QACd,OAAA,EAAS,MAAA;AAAA,QACT,aAAA,EAAe,QAAA;AAAA,QACf,GAAA,EAAK,CAAA;AAAA,QACL,OAAA,EAAS;AAAA,OACV;AAAA,MAEA,QAAA,EAAA;AAAA,wBAAA,IAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACA,KAAA,EAAO;AAAA,cACN,GAAA,EAAK,CAAA;AAAA,cACL,OAAA,EAAS,MAAA;AAAA,cACT,aAAA,EAAe;AAAA,aAChB;AAAA,YAEA,QAAA,EAAA;AAAA,8BAAA,IAAA,CAAC,KAAA,EAAA,EACA,QAAA,EAAA;AAAA,gCAAA,IAAA,CAAC,GAAA,EAAA,EAAG,QAAA,EAAA;AAAA,kBAAA,IAAA,CAAK,EAAE,WAAW,CAAA;AAAA,kBAAE;AAAA,iBAAA,EAAE,CAAA;AAAA,gBAAK,GAAA;AAAA,gBAC9B,OAAA,EAAS,IAAI,CAAC,EAAA,KAAO,GAAG,WAAW,CAAA,EAAG,KAAK,IAAI;AAAA,eAAA,EACjD,CAAA;AAAA,mCACC,KAAA,EAAA,EACA,QAAA,EAAA;AAAA,gCAAA,IAAA,CAAC,GAAA,EAAA,EAAG,QAAA,EAAA;AAAA,kBAAA,IAAA,CAAK,EAAE,aAAa,CAAA;AAAA,kBAAE;AAAA,iBAAA,EAAE,CAAA;AAAA,gBAC3B;AAAA,eAAA,EACF;AAAA;AAAA;AAAA,SACD;AAAA,wBACA,GAAA,CAAC,WAAA,EAAA,EAAY,OAAA,EAAS,cAAA,CAAe,OAAA,EAAS;AAAA;AAAA;AAAA,GAC/C;AAEF","file":"PeriodSpecificTargetView.js","sourcesContent":["import { colors } from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { LegendsView } from \"./LegendView\";\nimport { createFixedPeriodFromPeriodId } from \"@dhis2/multi-calendar-dates\";\nimport { useCalendar } from \"../../../hooks/metadata\";\nimport type { SpecificTarget } from \"../../../schemas/config\";\n\nexport interface OrgUnitSpecificTargetViewProps {\n\tspecificTarget: SpecificTarget;\n\tlabel: string;\n}\n\nexport function PeriodSpecificTargetView({\n\tspecificTarget,\n\tlabel,\n}: OrgUnitSpecificTargetViewProps) {\n\tconst items = specificTarget.items;\n\tconst calendar = useCalendar();\n\tconst periods = items.map((periodId) =>\n\t\tcreateFixedPeriodFromPeriodId({\n\t\t\tcalendar,\n\t\t\tperiodId,\n\t\t}),\n\t);\n\n\treturn (\n\t\t<div\n\t\t\tstyle={{\n\t\t\t\tmaxWidth: 350,\n\t\t\t\tborder: `1px solid ${colors.grey600}`,\n\t\t\t\tborderRadius: 4,\n\t\t\t\tdisplay: \"flex\",\n\t\t\t\tflexDirection: \"column\",\n\t\t\t\tgap: 8,\n\t\t\t\tpadding: 16,\n\t\t\t}}\n\t\t>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tgap: 8,\n\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\tflexDirection: \"column\",\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div>\n\t\t\t\t\t<b>{i18n.t(\"Period(s)\")}: </b>{\" \"}\n\t\t\t\t\t{periods?.map((ou) => ou.displayName)?.join(\", \")}\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<b>{i18n.t(\"Data Source\")}: </b>\n\t\t\t\t\t{label}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<LegendsView legends={specificTarget.legends} />\n\t\t</div>\n\t);\n}\n"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
2
2
|
import { groupBy, filter, isEmpty, head } from 'lodash';
|
|
3
|
-
import { Button, Modal, ModalTitle, ModalContent, ModalActions } from '@dhis2/ui';
|
|
3
|
+
import { TabBar, Tab, Button, Modal, ModalTitle, ModalContent, ModalActions } from '@dhis2/ui';
|
|
4
4
|
import i18n from '@dhis2/d2-i18n';
|
|
5
|
-
import { useMemo } from 'react';
|
|
5
|
+
import { useMemo, useState } from 'react';
|
|
6
6
|
import { OrgUnitSpecificTargetView } from './OrgUnitSpecificTargetView';
|
|
7
7
|
import { PeriodSpecificTargetView } from './PeriodSpecificTargetView';
|
|
8
8
|
import { useBoolean } from 'usehooks-ts';
|
|
@@ -16,7 +16,7 @@ function SpecificTargetsLibrary() {
|
|
|
16
16
|
const dataSources = getDataSourcesFromGroups(
|
|
17
17
|
config.dataSelection.dataGroups
|
|
18
18
|
);
|
|
19
|
-
const
|
|
19
|
+
const { orgUnit, orgUnitLevel, periods } = useMemo(() => {
|
|
20
20
|
const dataSourcesWithSpecificTargets = dataSources.filter(
|
|
21
21
|
(ds) => ds.specificTargetsSet
|
|
22
22
|
);
|
|
@@ -27,67 +27,83 @@ function SpecificTargetsLibrary() {
|
|
|
27
27
|
),
|
|
28
28
|
(ds) => head(ds.specificTargets)?.type
|
|
29
29
|
);
|
|
30
|
+
console.log({ data });
|
|
30
31
|
data["orgUnitLevel"] = dataSourcesWithSpecificTargets.filter(
|
|
31
32
|
(ds) => isEmpty(ds.specificTargets)
|
|
32
33
|
);
|
|
33
34
|
return data;
|
|
34
35
|
}, [dataSources]);
|
|
36
|
+
const [activeTab, setActiveTab] = useState(
|
|
37
|
+
!isEmpty(orgUnit) ? "orgUnit" : !isEmpty("orgUnitLevel") ? "orgUnitLevel" : "period"
|
|
38
|
+
);
|
|
35
39
|
const getDataSourceLabel = useGetDataSourceLabel();
|
|
36
40
|
return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs("div", { className: "column gap-16", children: [
|
|
37
|
-
|
|
41
|
+
/* @__PURE__ */ jsxs(TabBar, { children: [
|
|
42
|
+
!isEmpty(orgUnit) && /* @__PURE__ */ jsx(
|
|
43
|
+
Tab,
|
|
44
|
+
{
|
|
45
|
+
selected: activeTab === "orgUnit",
|
|
46
|
+
onClick: () => setActiveTab("orgUnit"),
|
|
47
|
+
children: i18n.t("Organisation Units")
|
|
48
|
+
}
|
|
49
|
+
),
|
|
50
|
+
!isEmpty(orgUnitLevel) && /* @__PURE__ */ jsx(
|
|
51
|
+
Tab,
|
|
52
|
+
{
|
|
53
|
+
selected: activeTab === "orgUnitLevel",
|
|
54
|
+
onClick: () => setActiveTab("orgUnitLevel"),
|
|
55
|
+
children: i18n.t("Organisation Unit Level")
|
|
56
|
+
}
|
|
57
|
+
),
|
|
58
|
+
!isEmpty(periods) && /* @__PURE__ */ jsx(
|
|
59
|
+
Tab,
|
|
60
|
+
{
|
|
61
|
+
selected: activeTab === "period",
|
|
62
|
+
onClick: () => setActiveTab("period"),
|
|
63
|
+
children: i18n.t("Period")
|
|
64
|
+
}
|
|
65
|
+
)
|
|
66
|
+
] }),
|
|
67
|
+
activeTab === "orgUnit" && /* @__PURE__ */ jsxs("div", { children: [
|
|
38
68
|
/* @__PURE__ */ jsx("h3", { children: i18n.t("Organisation Units Specific targets") }),
|
|
39
|
-
/* @__PURE__ */ jsx("div", { className: "row gap-16", children:
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
},
|
|
51
|
-
`${dataSource.id}-orgUnit-specific-target`
|
|
52
|
-
),
|
|
53
|
-
/* @__PURE__ */ jsx("div", { className: "page-break" })
|
|
54
|
-
] })
|
|
55
|
-
) }),
|
|
69
|
+
/* @__PURE__ */ jsx("div", { className: "row gap-16", children: orgUnit?.map((dataSource) => /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
70
|
+
/* @__PURE__ */ jsx(
|
|
71
|
+
OrgUnitSpecificTargetView,
|
|
72
|
+
{
|
|
73
|
+
specificTarget: head(dataSource.specificTargets),
|
|
74
|
+
label: getDataSourceLabel(dataSource)
|
|
75
|
+
},
|
|
76
|
+
`${dataSource.id}-orgUnit-specific-target`
|
|
77
|
+
),
|
|
78
|
+
/* @__PURE__ */ jsx("div", { className: "page-break" })
|
|
79
|
+
] })) }),
|
|
56
80
|
/* @__PURE__ */ jsx("div", { className: "page-break" })
|
|
57
81
|
] }),
|
|
58
|
-
|
|
82
|
+
activeTab === "period" && /* @__PURE__ */ jsxs("div", { children: [
|
|
59
83
|
/* @__PURE__ */ jsx("h3", { children: i18n.t("Period Specific targets") }),
|
|
60
|
-
/* @__PURE__ */ jsx("div", { className: "row gap-16", children:
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
PeriodSpecificTargetView,
|
|
64
|
-
{
|
|
65
|
-
specificTarget: head(
|
|
66
|
-
dataSource.specificTargets
|
|
67
|
-
),
|
|
68
|
-
label: getDataSourceLabel(
|
|
69
|
-
dataSource
|
|
70
|
-
)
|
|
71
|
-
},
|
|
72
|
-
`${dataSource.id}-orgUnit-specific-target`
|
|
73
|
-
),
|
|
74
|
-
/* @__PURE__ */ jsx("div", { className: "page-break" })
|
|
75
|
-
] })
|
|
76
|
-
) }),
|
|
77
|
-
/* @__PURE__ */ jsx("div", { className: "page-break" })
|
|
78
|
-
] }),
|
|
79
|
-
!isEmpty(specificTargetsDataSourcesByType.orgUnitLevel) && /* @__PURE__ */ jsxs("div", { children: [
|
|
80
|
-
/* @__PURE__ */ jsx("h3", { children: i18n.t("Organisation unit level targets") }),
|
|
81
|
-
/* @__PURE__ */ jsx("div", { className: "column gap-16", children: specificTargetsDataSourcesByType?.orgUnitLevel.map(
|
|
82
|
-
(dataSource) => /* @__PURE__ */ jsx(
|
|
83
|
-
OrgUnitLevelSpecificTargetView,
|
|
84
|
+
/* @__PURE__ */ jsx("div", { className: "row gap-16", children: periods?.map((dataSource) => /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
85
|
+
/* @__PURE__ */ jsx(
|
|
86
|
+
PeriodSpecificTargetView,
|
|
84
87
|
{
|
|
85
|
-
specificTarget: dataSource.
|
|
88
|
+
specificTarget: head(dataSource.specificTargets),
|
|
86
89
|
label: getDataSourceLabel(dataSource)
|
|
87
90
|
},
|
|
88
91
|
`${dataSource.id}-orgUnit-specific-target`
|
|
89
|
-
)
|
|
90
|
-
|
|
92
|
+
),
|
|
93
|
+
/* @__PURE__ */ jsx("div", { className: "page-break" })
|
|
94
|
+
] })) }),
|
|
95
|
+
/* @__PURE__ */ jsx("div", { className: "page-break" })
|
|
96
|
+
] }),
|
|
97
|
+
activeTab === "orgUnitLevel" && /* @__PURE__ */ jsxs("div", { children: [
|
|
98
|
+
/* @__PURE__ */ jsx("h3", { children: i18n.t("Organisation Unit Level Targets") }),
|
|
99
|
+
/* @__PURE__ */ jsx("div", { className: "column gap-16", children: orgUnitLevel.map((dataSource) => /* @__PURE__ */ jsx(
|
|
100
|
+
OrgUnitLevelSpecificTargetView,
|
|
101
|
+
{
|
|
102
|
+
specificTarget: dataSource.legends,
|
|
103
|
+
label: getDataSourceLabel(dataSource)
|
|
104
|
+
},
|
|
105
|
+
`${dataSource.id}-orgUnit-specific-target`
|
|
106
|
+
)) }),
|
|
91
107
|
/* @__PURE__ */ jsx("div", { className: "page-break" })
|
|
92
108
|
] })
|
|
93
109
|
] }) });
|
package/dist/esm/components/ScorecardLegendsView/components/SpecificTargetLegendsView.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/ScorecardLegendsView/components/SpecificTargetLegendsView.tsx"],"names":[],"mappings":";;;;;;;;;;;;;AAsBO,SAAS,sBAAA,GAAyB;AACxC,EAAA,MAAM,SAAS,kBAAA,EAAmB;AAClC,EAAA,MAAM,WAAA,GAAc,wBAAA;AAAA,IACnB,OAAO,aAAA,CAAc;AAAA,GACtB;AACA,EAAA,MAAM,gCAAA,GAAmC,QAAQ,MAAM;AACtD,IAAA,MAAM,iCAAiC,WAAA,CAAY,MAAA;AAAA,MAClD,CAAC,OAAO,EAAA,CAAG;AAAA,KACZ;AACA,IAAA,MAAM,IAAA,GAAO,OAAA;AAAA,MACZ,MAAA;AAAA,QACC,8BAAA;AAAA,QACA,CAAC,EAAA,KAAO,CAAC,OAAA,CAAQ,GAAG,eAAe;AAAA,OACpC;AAAA,MACA,CAAC,EAAA,KAAO,IAAA,CAAK,EAAA,CAAG,eAAe,CAAA,EAAG;AAAA,KACnC;AACA,IAAA,IAAA,CAAK,cAAc,IAAI,8BAAA,CAA+B,MAAA;AAAA,MAAO,CAAC,EAAA,KAC7D,OAAA,CAAQ,EAAA,CAAG,eAAe;AAAA,KAC3B;AACA,IAAA,OAAO,IAAA;AAAA,EAKR,CAAA,EAAG,CAAC,WAAW,CAAC,CAAA;AAEhB,EAAA,MAAM,qBAAqB,qBAAA,EAAsB;AACjD,EAAA,uBACC,GAAA,CAAA,QAAA,EAAA,EACC,QAAA,kBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,eAAA,EACb,QAAA,EAAA;AAAA,IAAA,CAAC,OAAA,CAAQ,gCAAA,EAAkC,OAAO,CAAA,yBACjD,KAAA,EAAA,EACA,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,IAAA,EAAA,EAAI,QAAA,EAAA,IAAA,CAAK,CAAA,CAAE,qCAAqC,CAAA,EAAE,CAAA;AAAA,sBACnD,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,YAAA,EACb,4CAAkC,OAAA,EAAS,GAAA;AAAA,QAC3C,CAAC,+BACA,IAAA,CAAA,QAAA,EAAA,EACC,QAAA,EAAA;AAAA,0BAAA,GAAA;AAAA,YAAC,yBAAA;AAAA,YAAA;AAAA,cAEA,cAAA,EACC,IAAA;AAAA,gBACC,UAAA,CAAW;AAAA,eACZ;AAAA,cAED,KAAA,EAAO,kBAAA;AAAA,gBACN;AAAA;AACD,aAAA;AAAA,YARK,CAAA,EAAG,WAAW,EAAE,CAAA,wBAAA;AAAA,WAStB;AAAA,0BACA,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,YAAA,EAAa;AAAA,SAAA,EAC7B;AAAA,OAEF,EACD,CAAA;AAAA,sBACA,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,YAAA,EAAa;AAAA,KAAA,EAC7B,CAAA;AAAA,IAEA,CAAC,OAAA,CAAQ,gCAAA,EAAkC,MAAM,CAAA,yBAChD,KAAA,EAAA,EACA,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,IAAA,EAAA,EAAI,QAAA,EAAA,IAAA,CAAK,CAAA,CAAE,yBAAyB,CAAA,EAAE,CAAA;AAAA,sBACvC,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,YAAA,EACb,4CAAkC,MAAA,EAAQ,GAAA;AAAA,QAC1C,CAAC,+BACA,IAAA,CAAA,QAAA,EAAA,EACC,QAAA,EAAA;AAAA,0BAAA,GAAA;AAAA,YAAC,wBAAA;AAAA,YAAA;AAAA,cAEA,cAAA,EACC,IAAA;AAAA,gBACC,UAAA,CAAW;AAAA,eACZ;AAAA,cAED,KAAA,EAAO,kBAAA;AAAA,gBACN;AAAA;AACD,aAAA;AAAA,YARK,CAAA,EAAG,WAAW,EAAE,CAAA,wBAAA;AAAA,WAStB;AAAA,0BACA,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,YAAA,EAAa;AAAA,SAAA,EAC7B;AAAA,OAEF,EACD,CAAA;AAAA,sBACA,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,YAAA,EAAa;AAAA,KAAA,EAC7B,CAAA;AAAA,IAEA,CAAC,OAAA,CAAQ,gCAAA,CAAiC,YAAY,CAAA,yBACrD,KAAA,EAAA,EACA,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,IAAA,EAAA,EAAI,QAAA,EAAA,IAAA,CAAK,CAAA,CAAE,iCAAiC,CAAA,EAAE,CAAA;AAAA,sBAC/C,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,eAAA,EACb,4CAAkC,YAAA,CAAa,GAAA;AAAA,QAC/C,CAAC,UAAA,qBACA,GAAA;AAAA,UAAC,8BAAA;AAAA,UAAA;AAAA,YAEA,gBACC,UAAA,CAAW,OAAA;AAAA,YAEZ,KAAA,EAAO,mBAAmB,UAAU;AAAA,WAAA;AAAA,UAJ/B,CAAA,EAAG,WAAW,EAAE,CAAA,wBAAA;AAAA;AAKtB,OAEF,EACD,CAAA;AAAA,sBACA,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,YAAA,EAAa;AAAA,KAAA,EAC7B;AAAA,GAAA,EAEF,CAAA,EACD,CAAA;AAEF;AAEA,SAAS,0BAAA,CAA2B;AAAA,EACnC,IAAA;AAAA,EACA;AACD,CAAA,EAGG;AACF,EAAA,4BACE,KAAA,EAAA,EAAM,KAAA,EAAK,MAAC,QAAA,EAAS,QAAA,EAAS,MAAY,OAAA,EAC1C,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,UAAA,EAAA,EAAY,QAAA,EAAA,IAAA,CAAK,CAAA,CAAE,kBAAkB,CAAA,EAAE,CAAA;AAAA,oBACxC,GAAA,CAAC,YAAA,EAAA,EACA,QAAA,kBAAA,GAAA,CAAC,sBAAA,EAAA,EAAuB,CAAA,EACzB,CAAA;AAAA,oBACA,GAAA,CAAC,YAAA,EAAA,EACA,QAAA,kBAAA,GAAA,CAAC,MAAA,EAAA,EAAO,OAAA,EAAS,SAAU,QAAA,EAAA,IAAA,CAAK,CAAA,CAAE,OAAO,CAAA,EAAE,CAAA,EAC5C;AAAA,GAAA,EACD,CAAA;AAEF;AAEO,SAAS,yBAAA,GAA4B;AAC3C,EAAA,MAAM,SAAS,kBAAA,EAAmB;AAClC,EAAA,MAAM;AAAA,IACL,KAAA,EAAO,IAAA;AAAA,IACP,OAAA,EAAS,OAAA;AAAA,IACT,QAAA,EAAU;AAAA,GACX,GAAI,WAAW,IAAI,CAAA;AACnB,EAAA,MAAM,WAAA,GAAc,wBAAA;AAAA,IACnB,OAAO,aAAA,CAAc;AAAA,GACtB;AACA,EAAA,MAAM,iCAAiC,WAAA,CAAY,MAAA;AAAA,IAClD,CAAC,UAAA,KACA,CAAC,OAAA,CAAQ,UAAA,CAAW,eAAe,CAAA,IACnC,CAAC,KAAA,CAAM,OAAA,CAAQ,UAAA,CAAW,OAAO;AAAA,GACnC;AAEA,EAAA,IAAI,OAAA,CAAQ,8BAA8B,CAAA,EAAG;AAC5C,IAAA,OAAO,IAAA;AAAA,EACR;AAEA,EAAA,uBACC,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,IAAA,CAAC,IAAA,oBACD,GAAA,CAAC,0BAAA,EAAA,EAA2B,IAAA,EAAY,OAAA,EAAkB,CAAA;AAAA,oBAE3D,GAAA,CAAC,UAAO,SAAA,EAAU,YAAA,EAAa,SAAS,MAAA,EACtC,QAAA,EAAA,IAAA,CAAK,CAAA,CAAE,0BAA0B,CAAA,EACnC;AAAA,GAAA,EACD,CAAA;AAEF","file":"SpecificTargetLegendsView.js","sourcesContent":["import { filter, groupBy, head, isEmpty } from \"lodash\";\nimport {\n\tButton,\n\tModal,\n\tModalActions,\n\tModalContent,\n\tModalTitle,\n} from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { useMemo } from \"react\";\nimport { OrgUnitSpecificTargetView } from \"./OrgUnitSpecificTargetView\";\nimport { PeriodSpecificTargetView } from \"./PeriodSpecificTargetView\";\nimport { useBoolean } from \"usehooks-ts\";\nimport { OrgUnitLevelSpecificTargetView } from \"./OrgUnitLevelSpecificTargetView\";\nimport { getDataSourcesFromGroups } from \"../../../utils/dataSources\";\nimport { useScorecardConfig } from \"../../ConfigProvider\";\nimport type {\n\tOrgUnitLevelLegend,\n\tScorecardDataSource,\n} from \"../../../schemas/config\";\nimport { useGetDataSourceLabel } from \"../../../hooks\";\n\nexport function SpecificTargetsLibrary() {\n\tconst config = useScorecardConfig();\n\tconst dataSources = getDataSourcesFromGroups(\n\t\tconfig.dataSelection.dataGroups,\n\t);\n\tconst specificTargetsDataSourcesByType = useMemo(() => {\n\t\tconst dataSourcesWithSpecificTargets = dataSources.filter(\n\t\t\t(ds) => ds.specificTargetsSet,\n\t\t);\n\t\tconst data = groupBy(\n\t\t\tfilter(\n\t\t\t\tdataSourcesWithSpecificTargets,\n\t\t\t\t(ds) => !isEmpty(ds.specificTargets),\n\t\t\t),\n\t\t\t(ds) => head(ds.specificTargets)?.type,\n\t\t);\n\t\tdata[\"orgUnitLevel\"] = dataSourcesWithSpecificTargets.filter((ds) =>\n\t\t\tisEmpty(ds.specificTargets),\n\t\t);\n\t\treturn data as {\n\t\t\tperiod: Array<ScorecardDataSource> | undefined;\n\t\t\torgUnit: Array<ScorecardDataSource> | undefined;\n\t\t\torgUnitLevel: Array<ScorecardDataSource>;\n\t\t};\n\t}, [dataSources]);\n\n\tconst getDataSourceLabel = useGetDataSourceLabel();\n\treturn (\n\t\t<>\n\t\t\t<div className=\"column gap-16\">\n\t\t\t\t{!isEmpty(specificTargetsDataSourcesByType?.orgUnit) && (\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<h3>{i18n.t(\"Organisation Units Specific targets\")}</h3>\n\t\t\t\t\t\t<div className=\"row gap-16\">\n\t\t\t\t\t\t\t{specificTargetsDataSourcesByType?.orgUnit?.map(\n\t\t\t\t\t\t\t\t(dataSource) => (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<OrgUnitSpecificTargetView\n\t\t\t\t\t\t\t\t\t\t\tkey={`${dataSource.id}-orgUnit-specific-target`}\n\t\t\t\t\t\t\t\t\t\t\tspecificTarget={\n\t\t\t\t\t\t\t\t\t\t\t\thead(\n\t\t\t\t\t\t\t\t\t\t\t\t\tdataSource.specificTargets,\n\t\t\t\t\t\t\t\t\t\t\t\t)!\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tlabel={getDataSourceLabel(\n\t\t\t\t\t\t\t\t\t\t\t\tdataSource,\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<div className=\"page-break\" />\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"page-break\" />\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t{!isEmpty(specificTargetsDataSourcesByType?.period) && (\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<h3>{i18n.t(\"Period Specific targets\")}</h3>\n\t\t\t\t\t\t<div className=\"row gap-16\">\n\t\t\t\t\t\t\t{specificTargetsDataSourcesByType?.period?.map(\n\t\t\t\t\t\t\t\t(dataSource) => (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<PeriodSpecificTargetView\n\t\t\t\t\t\t\t\t\t\t\tkey={`${dataSource.id}-orgUnit-specific-target`}\n\t\t\t\t\t\t\t\t\t\t\tspecificTarget={\n\t\t\t\t\t\t\t\t\t\t\t\thead(\n\t\t\t\t\t\t\t\t\t\t\t\t\tdataSource.specificTargets,\n\t\t\t\t\t\t\t\t\t\t\t\t)!\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tlabel={getDataSourceLabel(\n\t\t\t\t\t\t\t\t\t\t\t\tdataSource,\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<div className=\"page-break\" />\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"page-break\" />\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t{!isEmpty(specificTargetsDataSourcesByType.orgUnitLevel) && (\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<h3>{i18n.t(\"Organisation unit level targets\")}</h3>\n\t\t\t\t\t\t<div className=\"column gap-16\">\n\t\t\t\t\t\t\t{specificTargetsDataSourcesByType?.orgUnitLevel.map(\n\t\t\t\t\t\t\t\t(dataSource) => (\n\t\t\t\t\t\t\t\t\t<OrgUnitLevelSpecificTargetView\n\t\t\t\t\t\t\t\t\t\tkey={`${dataSource.id}-orgUnit-specific-target`}\n\t\t\t\t\t\t\t\t\t\tspecificTarget={\n\t\t\t\t\t\t\t\t\t\t\tdataSource.legends as OrgUnitLevelLegend\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tlabel={getDataSourceLabel(dataSource)}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"page-break\" />\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nfunction SpecificTargetLegendsModal({\n\thide,\n\tonClose,\n}: {\n\thide: boolean;\n\tonClose: () => void;\n}) {\n\treturn (\n\t\t<Modal large position=\"middle\" hide={hide} onClose={onClose}>\n\t\t\t<ModalTitle>{i18n.t(\"Specific targets\")}</ModalTitle>\n\t\t\t<ModalContent>\n\t\t\t\t<SpecificTargetsLibrary />\n\t\t\t</ModalContent>\n\t\t\t<ModalActions>\n\t\t\t\t<Button onClick={onClose}>{i18n.t(\"Close\")}</Button>\n\t\t\t</ModalActions>\n\t\t</Modal>\n\t);\n}\n\nexport function SpecificTargetLegendsView() {\n\tconst config = useScorecardConfig();\n\tconst {\n\t\tvalue: hide,\n\t\tsetTrue: onClose,\n\t\tsetFalse: onShow,\n\t} = useBoolean(true);\n\tconst dataSources = getDataSourcesFromGroups(\n\t\tconfig.dataSelection.dataGroups,\n\t);\n\tconst dataSourcesWithSpecificTargets = dataSources.filter(\n\t\t(dataSource) =>\n\t\t\t!isEmpty(dataSource.specificTargets) ||\n\t\t\t!Array.isArray(dataSource.legends),\n\t);\n\n\tif (isEmpty(dataSourcesWithSpecificTargets)) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{!hide && (\n\t\t\t\t<SpecificTargetLegendsModal hide={hide} onClose={onClose} />\n\t\t\t)}\n\t\t\t<Button className=\"print-hide\" onClick={onShow}>\n\t\t\t\t{i18n.t(\"Specific Targets Library\")}\n\t\t\t</Button>\n\t\t</>\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/ScorecardLegendsView/components/SpecificTargetLegendsView.tsx"],"names":[],"mappings":";;;;;;;;;;;;;AAwBO,SAAS,sBAAA,GAAyB;AACxC,EAAA,MAAM,SAAS,kBAAA,EAAmB;AAClC,EAAA,MAAM,WAAA,GAAc,wBAAA;AAAA,IACnB,OAAO,aAAA,CAAc;AAAA,GACtB;AACA,EAAA,MAAM,EAAE,OAAA,EAAS,YAAA,EAAc,OAAA,EAAQ,GAAI,QAAQ,MAAM;AACxD,IAAA,MAAM,iCAAiC,WAAA,CAAY,MAAA;AAAA,MAClD,CAAC,OAAO,EAAA,CAAG;AAAA,KACZ;AACA,IAAA,MAAM,IAAA,GAAO,OAAA;AAAA,MACZ,MAAA;AAAA,QACC,8BAAA;AAAA,QACA,CAAC,EAAA,KAAO,CAAC,OAAA,CAAQ,GAAG,eAAe;AAAA,OACpC;AAAA,MACA,CAAC,EAAA,KAAO,IAAA,CAAK,EAAA,CAAG,eAAe,CAAA,EAAG;AAAA,KACnC;AAEA,IAAA,OAAA,CAAQ,GAAA,CAAI,EAAE,IAAA,EAAM,CAAA;AAEpB,IAAA,IAAA,CAAK,cAAc,IAAI,8BAAA,CAA+B,MAAA;AAAA,MAAO,CAAC,EAAA,KAC7D,OAAA,CAAQ,EAAA,CAAG,eAAe;AAAA,KAC3B;AACA,IAAA,OAAO,IAAA;AAAA,EAKR,CAAA,EAAG,CAAC,WAAW,CAAC,CAAA;AAEhB,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAI,QAAA;AAAA,IAGjC,CAAC,QAAQ,OAAO,CAAA,GACb,YACA,CAAC,OAAA,CAAQ,cAAc,CAAA,GACtB,cAAA,GACA;AAAA,GACL;AAEA,EAAA,MAAM,qBAAqB,qBAAA,EAAsB;AACjD,EAAA,uBACC,GAAA,CAAA,QAAA,EAAA,EACC,QAAA,kBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,eAAA,EACd,QAAA,EAAA;AAAA,oBAAA,IAAA,CAAC,MAAA,EAAA,EACC,QAAA,EAAA;AAAA,MAAA,CAAC,OAAA,CAAQ,OAAO,CAAA,oBAChB,GAAA;AAAA,QAAC,GAAA;AAAA,QAAA;AAAA,UACA,UAAU,SAAA,KAAc,SAAA;AAAA,UACxB,OAAA,EAAS,MAAM,YAAA,CAAa,SAAS,CAAA;AAAA,UAEpC,QAAA,EAAA,IAAA,CAAK,EAAE,oBAAoB;AAAA;AAAA,OAC7B;AAAA,MAEA,CAAC,OAAA,CAAQ,YAAY,CAAA,oBACrB,GAAA;AAAA,QAAC,GAAA;AAAA,QAAA;AAAA,UACA,UAAU,SAAA,KAAc,cAAA;AAAA,UACxB,OAAA,EAAS,MAAM,YAAA,CAAa,cAAc,CAAA;AAAA,UAEzC,QAAA,EAAA,IAAA,CAAK,EAAE,yBAAyB;AAAA;AAAA,OAClC;AAAA,MAEA,CAAC,OAAA,CAAQ,OAAO,CAAA,oBAChB,GAAA;AAAA,QAAC,GAAA;AAAA,QAAA;AAAA,UACA,UAAU,SAAA,KAAc,QAAA;AAAA,UACxB,OAAA,EAAS,MAAM,YAAA,CAAa,QAAQ,CAAA;AAAA,UAEnC,QAAA,EAAA,IAAA,CAAK,EAAE,QAAQ;AAAA;AAAA;AACjB,KAAA,EAEF,CAAA;AAAA,IACC,SAAA,KAAc,SAAA,oBACd,IAAA,CAAC,KAAA,EAAA,EACA,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,IAAA,EAAA,EAAI,QAAA,EAAA,IAAA,CAAK,CAAA,CAAE,qCAAqC,CAAA,EAAE,CAAA;AAAA,sBACnD,GAAA,CAAC,SAAI,SAAA,EAAU,YAAA,EACb,mBAAS,GAAA,CAAI,CAAC,+BACd,IAAA,CAAA,QAAA,EAAA,EACC,QAAA,EAAA;AAAA,wBAAA,GAAA;AAAA,UAAC,yBAAA;AAAA,UAAA;AAAA,YAEA,cAAA,EACC,IAAA,CAAK,UAAA,CAAW,eAAe,CAAA;AAAA,YAEhC,KAAA,EAAO,mBAAmB,UAAU;AAAA,WAAA;AAAA,UAJ/B,CAAA,EAAG,WAAW,EAAE,CAAA,wBAAA;AAAA,SAKtB;AAAA,wBACA,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,YAAA,EAAa;AAAA,OAAA,EAC7B,CACA,CAAA,EACF,CAAA;AAAA,sBACA,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,YAAA,EAAa;AAAA,KAAA,EAC7B,CAAA;AAAA,IAEA,SAAA,KAAc,QAAA,oBACd,IAAA,CAAC,KAAA,EAAA,EACA,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,IAAA,EAAA,EAAI,QAAA,EAAA,IAAA,CAAK,CAAA,CAAE,yBAAyB,CAAA,EAAE,CAAA;AAAA,sBACvC,GAAA,CAAC,SAAI,SAAA,EAAU,YAAA,EACb,mBAAS,GAAA,CAAI,CAAC,+BACd,IAAA,CAAA,QAAA,EAAA,EACC,QAAA,EAAA;AAAA,wBAAA,GAAA;AAAA,UAAC,wBAAA;AAAA,UAAA;AAAA,YAEA,cAAA,EACC,IAAA,CAAK,UAAA,CAAW,eAAe,CAAA;AAAA,YAEhC,KAAA,EAAO,mBAAmB,UAAU;AAAA,WAAA;AAAA,UAJ/B,CAAA,EAAG,WAAW,EAAE,CAAA,wBAAA;AAAA,SAKtB;AAAA,wBACA,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,YAAA,EAAa;AAAA,OAAA,EAC7B,CACA,CAAA,EACF,CAAA;AAAA,sBACA,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,YAAA,EAAa;AAAA,KAAA,EAC7B,CAAA;AAAA,IAEA,SAAA,KAAc,cAAA,oBACd,IAAA,CAAC,KAAA,EAAA,EACA,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,IAAA,EAAA,EAAI,QAAA,EAAA,IAAA,CAAK,CAAA,CAAE,iCAAiC,CAAA,EAAE,CAAA;AAAA,0BAC9C,KAAA,EAAA,EAAI,SAAA,EAAU,iBACb,QAAA,EAAA,YAAA,CAAa,GAAA,CAAI,CAAC,UAAA,qBAClB,GAAA;AAAA,QAAC,8BAAA;AAAA,QAAA;AAAA,UAEA,gBACC,UAAA,CAAW,OAAA;AAAA,UAEZ,KAAA,EAAO,mBAAmB,UAAU;AAAA,SAAA;AAAA,QAJ/B,CAAA,EAAG,WAAW,EAAE,CAAA,wBAAA;AAAA,OAMtB,CAAA,EACF,CAAA;AAAA,sBACA,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,YAAA,EAAa;AAAA,KAAA,EAC7B;AAAA,GAAA,EAEF,CAAA,EACD,CAAA;AAEF;AAEA,SAAS,0BAAA,CAA2B;AAAA,EACnC,IAAA;AAAA,EACA;AACD,CAAA,EAGG;AACF,EAAA,4BACE,KAAA,EAAA,EAAM,KAAA,EAAK,MAAC,QAAA,EAAS,QAAA,EAAS,MAAY,OAAA,EAC1C,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,UAAA,EAAA,EAAY,QAAA,EAAA,IAAA,CAAK,CAAA,CAAE,kBAAkB,CAAA,EAAE,CAAA;AAAA,oBACxC,GAAA,CAAC,YAAA,EAAA,EACA,QAAA,kBAAA,GAAA,CAAC,sBAAA,EAAA,EAAuB,CAAA,EACzB,CAAA;AAAA,oBACA,GAAA,CAAC,YAAA,EAAA,EACA,QAAA,kBAAA,GAAA,CAAC,MAAA,EAAA,EAAO,OAAA,EAAS,SAAU,QAAA,EAAA,IAAA,CAAK,CAAA,CAAE,OAAO,CAAA,EAAE,CAAA,EAC5C;AAAA,GAAA,EACD,CAAA;AAEF;AAEO,SAAS,yBAAA,GAA4B;AAC3C,EAAA,MAAM,SAAS,kBAAA,EAAmB;AAClC,EAAA,MAAM;AAAA,IACL,KAAA,EAAO,IAAA;AAAA,IACP,OAAA,EAAS,OAAA;AAAA,IACT,QAAA,EAAU;AAAA,GACX,GAAI,WAAW,IAAI,CAAA;AACnB,EAAA,MAAM,WAAA,GAAc,wBAAA;AAAA,IACnB,OAAO,aAAA,CAAc;AAAA,GACtB;AACA,EAAA,MAAM,iCAAiC,WAAA,CAAY,MAAA;AAAA,IAClD,CAAC,UAAA,KACA,CAAC,OAAA,CAAQ,UAAA,CAAW,eAAe,CAAA,IACnC,CAAC,KAAA,CAAM,OAAA,CAAQ,UAAA,CAAW,OAAO;AAAA,GACnC;AAEA,EAAA,IAAI,OAAA,CAAQ,8BAA8B,CAAA,EAAG;AAC5C,IAAA,OAAO,IAAA;AAAA,EACR;AAEA,EAAA,uBACC,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,IAAA,CAAC,IAAA,oBACD,GAAA,CAAC,0BAAA,EAAA,EAA2B,IAAA,EAAY,OAAA,EAAkB,CAAA;AAAA,oBAE3D,GAAA,CAAC,UAAO,SAAA,EAAU,YAAA,EAAa,SAAS,MAAA,EACtC,QAAA,EAAA,IAAA,CAAK,CAAA,CAAE,0BAA0B,CAAA,EACnC;AAAA,GAAA,EACD,CAAA;AAEF","file":"SpecificTargetLegendsView.js","sourcesContent":["import { filter, groupBy, head, isEmpty } from \"lodash\";\nimport {\n\tButton,\n\tModal,\n\tModalActions,\n\tModalContent,\n\tModalTitle,\n\tTab,\n\tTabBar,\n} from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { useMemo, useState } from \"react\";\nimport { OrgUnitSpecificTargetView } from \"./OrgUnitSpecificTargetView\";\nimport { PeriodSpecificTargetView } from \"./PeriodSpecificTargetView\";\nimport { useBoolean } from \"usehooks-ts\";\nimport { OrgUnitLevelSpecificTargetView } from \"./OrgUnitLevelSpecificTargetView\";\nimport { getDataSourcesFromGroups } from \"../../../utils/dataSources\";\nimport { useScorecardConfig } from \"../../ConfigProvider\";\nimport type {\n\tOrgUnitLevelLegend,\n\tScorecardDataSource,\n} from \"../../../schemas/config\";\nimport { useGetDataSourceLabel } from \"../../../hooks\";\n\nexport function SpecificTargetsLibrary() {\n\tconst config = useScorecardConfig();\n\tconst dataSources = getDataSourcesFromGroups(\n\t\tconfig.dataSelection.dataGroups,\n\t);\n\tconst { orgUnit, orgUnitLevel, periods } = useMemo(() => {\n\t\tconst dataSourcesWithSpecificTargets = dataSources.filter(\n\t\t\t(ds) => ds.specificTargetsSet,\n\t\t);\n\t\tconst data = groupBy(\n\t\t\tfilter(\n\t\t\t\tdataSourcesWithSpecificTargets,\n\t\t\t\t(ds) => !isEmpty(ds.specificTargets),\n\t\t\t),\n\t\t\t(ds) => head(ds.specificTargets)?.type,\n\t\t);\n\n\t\tconsole.log({ data });\n\n\t\tdata[\"orgUnitLevel\"] = dataSourcesWithSpecificTargets.filter((ds) =>\n\t\t\tisEmpty(ds.specificTargets),\n\t\t);\n\t\treturn data as {\n\t\t\tperiods: Array<ScorecardDataSource> | undefined;\n\t\t\torgUnit: Array<ScorecardDataSource> | undefined;\n\t\t\torgUnitLevel: Array<ScorecardDataSource>;\n\t\t};\n\t}, [dataSources]);\n\n\tconst [activeTab, setActiveTab] = useState<\n\t\t\"period\" | \"orgUnit\" | \"orgUnitLevel\"\n\t>(\n\t\t!isEmpty(orgUnit)\n\t\t\t? \"orgUnit\"\n\t\t\t: !isEmpty(\"orgUnitLevel\")\n\t\t\t\t? \"orgUnitLevel\"\n\t\t\t\t: \"period\",\n\t);\n\n\tconst getDataSourceLabel = useGetDataSourceLabel();\n\treturn (\n\t\t<>\n\t\t\t<div className=\"column gap-16\">\n\t\t\t\t<TabBar>\n\t\t\t\t\t{!isEmpty(orgUnit) && (\n\t\t\t\t\t\t<Tab\n\t\t\t\t\t\t\tselected={activeTab === \"orgUnit\"}\n\t\t\t\t\t\t\tonClick={() => setActiveTab(\"orgUnit\")}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{i18n.t(\"Organisation Units\")}\n\t\t\t\t\t\t</Tab>\n\t\t\t\t\t)}\n\t\t\t\t\t{!isEmpty(orgUnitLevel) && (\n\t\t\t\t\t\t<Tab\n\t\t\t\t\t\t\tselected={activeTab === \"orgUnitLevel\"}\n\t\t\t\t\t\t\tonClick={() => setActiveTab(\"orgUnitLevel\")}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{i18n.t(\"Organisation Unit Level\")}\n\t\t\t\t\t\t</Tab>\n\t\t\t\t\t)}\n\t\t\t\t\t{!isEmpty(periods) && (\n\t\t\t\t\t\t<Tab\n\t\t\t\t\t\t\tselected={activeTab === \"period\"}\n\t\t\t\t\t\t\tonClick={() => setActiveTab(\"period\")}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{i18n.t(\"Period\")}\n\t\t\t\t\t\t</Tab>\n\t\t\t\t\t)}\n\t\t\t\t</TabBar>\n\t\t\t\t{activeTab === \"orgUnit\" && (\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<h3>{i18n.t(\"Organisation Units Specific targets\")}</h3>\n\t\t\t\t\t\t<div className=\"row gap-16\">\n\t\t\t\t\t\t\t{orgUnit?.map((dataSource) => (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<OrgUnitSpecificTargetView\n\t\t\t\t\t\t\t\t\t\tkey={`${dataSource.id}-orgUnit-specific-target`}\n\t\t\t\t\t\t\t\t\t\tspecificTarget={\n\t\t\t\t\t\t\t\t\t\t\thead(dataSource.specificTargets)!\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tlabel={getDataSourceLabel(dataSource)}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<div className=\"page-break\" />\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"page-break\" />\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t{activeTab === \"period\" && (\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<h3>{i18n.t(\"Period Specific targets\")}</h3>\n\t\t\t\t\t\t<div className=\"row gap-16\">\n\t\t\t\t\t\t\t{periods?.map((dataSource) => (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<PeriodSpecificTargetView\n\t\t\t\t\t\t\t\t\t\tkey={`${dataSource.id}-orgUnit-specific-target`}\n\t\t\t\t\t\t\t\t\t\tspecificTarget={\n\t\t\t\t\t\t\t\t\t\t\thead(dataSource.specificTargets)!\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tlabel={getDataSourceLabel(dataSource)}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<div className=\"page-break\" />\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"page-break\" />\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t{activeTab === \"orgUnitLevel\" && (\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<h3>{i18n.t(\"Organisation Unit Level Targets\")}</h3>\n\t\t\t\t\t\t<div className=\"column gap-16\">\n\t\t\t\t\t\t\t{orgUnitLevel.map((dataSource) => (\n\t\t\t\t\t\t\t\t<OrgUnitLevelSpecificTargetView\n\t\t\t\t\t\t\t\t\tkey={`${dataSource.id}-orgUnit-specific-target`}\n\t\t\t\t\t\t\t\t\tspecificTarget={\n\t\t\t\t\t\t\t\t\t\tdataSource.legends as OrgUnitLevelLegend\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tlabel={getDataSourceLabel(dataSource)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"page-break\" />\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nfunction SpecificTargetLegendsModal({\n\thide,\n\tonClose,\n}: {\n\thide: boolean;\n\tonClose: () => void;\n}) {\n\treturn (\n\t\t<Modal large position=\"middle\" hide={hide} onClose={onClose}>\n\t\t\t<ModalTitle>{i18n.t(\"Specific targets\")}</ModalTitle>\n\t\t\t<ModalContent>\n\t\t\t\t<SpecificTargetsLibrary />\n\t\t\t</ModalContent>\n\t\t\t<ModalActions>\n\t\t\t\t<Button onClick={onClose}>{i18n.t(\"Close\")}</Button>\n\t\t\t</ModalActions>\n\t\t</Modal>\n\t);\n}\n\nexport function SpecificTargetLegendsView() {\n\tconst config = useScorecardConfig();\n\tconst {\n\t\tvalue: hide,\n\t\tsetTrue: onClose,\n\t\tsetFalse: onShow,\n\t} = useBoolean(true);\n\tconst dataSources = getDataSourcesFromGroups(\n\t\tconfig.dataSelection.dataGroups,\n\t);\n\tconst dataSourcesWithSpecificTargets = dataSources.filter(\n\t\t(dataSource) =>\n\t\t\t!isEmpty(dataSource.specificTargets) ||\n\t\t\t!Array.isArray(dataSource.legends),\n\t);\n\n\tif (isEmpty(dataSourcesWithSpecificTargets)) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{!hide && (\n\t\t\t\t<SpecificTargetLegendsModal hide={hide} onClose={onClose} />\n\t\t\t)}\n\t\t\t<Button className=\"print-hide\" onClick={onShow}>\n\t\t\t\t{i18n.t(\"Specific Targets Library\")}\n\t\t\t</Button>\n\t\t</>\n\t);\n}\n"]}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { DataTableToolbar, Pagination } from '@dhis2/ui';
|
|
3
3
|
import { useTableState, useToggleTableLoadingState } from '../../TableStateProvider';
|
|
4
|
-
import { useTransition } from 'react';
|
|
5
|
-
import { useUpdateEffect } from 'usehooks-ts';
|
|
4
|
+
import { useTransition, useEffect } from 'react';
|
|
6
5
|
|
|
7
6
|
function PaginatedToolbar() {
|
|
8
7
|
const [isPending, startTransition] = useTransition();
|
|
@@ -22,7 +21,7 @@ function PaginatedToolbar() {
|
|
|
22
21
|
table.setPageSize(pageSize2);
|
|
23
22
|
});
|
|
24
23
|
};
|
|
25
|
-
|
|
24
|
+
useEffect(() => {
|
|
26
25
|
toggleTableLoading();
|
|
27
26
|
}, [isPending]);
|
|
28
27
|
if (rowCount <= 50 || table.options.meta?.disablePagination) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/ScorecardTable/components/PaginatedToolbar.tsx"],"names":["page","pageSize"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/ScorecardTable/components/PaginatedToolbar.tsx"],"names":["page","pageSize"],"mappings":";;;;;AAOO,SAAS,gBAAA,GAAmB;AAClC,EAAA,MAAM,CAAC,SAAA,EAAW,eAAe,CAAA,GAAI,aAAA,EAAc;AACnD,EAAA,MAAM,QAAQ,aAAA,EAAc;AAC5B,EAAA,MAAM,QAAA,GAAW,MAAM,WAAA,EAAY;AACnC,EAAA,MAAM,IAAA,GAAO,KAAA,CAAM,QAAA,EAAS,CAAE,WAAW,SAAA,GAAY,CAAA;AACrD,EAAA,MAAM,QAAA,GAAW,KAAA,CAAM,QAAA,EAAS,CAAE,UAAA,CAAW,QAAA;AAC7C,EAAA,MAAM,SAAA,GAAY,MAAM,YAAA,EAAa;AACrC,EAAA,MAAM,qBAAqB,0BAAA,EAA2B;AAEtD,EAAA,MAAM,YAAA,GAAe,CAACA,KAAAA,KAAiB;AACtC,IAAA,eAAA,CAAgB,MAAM;AACrB,MAAA,KAAA,CAAM,YAAA,CAAaA,QAAO,CAAC,CAAA;AAAA,IAC5B,CAAC,CAAA;AAAA,EACF,CAAA;AACA,EAAA,MAAM,gBAAA,GAAmB,CAACC,SAAAA,KAAqB;AAC9C,IAAA,eAAA,CAAgB,MAAM;AACrB,MAAA,KAAA,CAAM,YAAYA,SAAQ,CAAA;AAAA,IAC3B,CAAC,CAAA;AAAA,EACF,CAAA;AAEA,EAAA,SAAA,CAAU,MAAM;AACf,IAAA,kBAAA,EAAmB;AAAA,EACpB,CAAA,EAAG,CAAC,SAAS,CAAC,CAAA;AAEd,EAAA,IACC,QAAA,IAAY,EAAA,IACX,KAAA,CAAM,OAAA,CAAQ,MACZ,iBAAA,EACF;AACD,IAAA,OAAO,IAAA;AAAA,EACR;AAEA,EAAA,uBACC,GAAA;AAAA,IAAC,gBAAA;AAAA,IAAA;AAAA,MAGA,KAAA,EAAO,EAAE,QAAA,EAAU,OAAA,EAAQ;AAAA,MAC3B,QAAA,EAAS,QAAA;AAAA,MAET,8BAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,KAAA,EAAO,WAAU,EAC9B,QAAA,kBAAA,GAAA;AAAA,QAAC,UAAA;AAAA,QAAA;AAAA,UACA,KAAA,EAAO,QAAA;AAAA,UACP,SAAA;AAAA,UACA,SAAA,EAAW,CAAC,EAAA,EAAI,EAAA,EAAI,IAAI,EAAA,EAAI,EAAA,EAAI,GAAG,CAAA,CAAE,GAAA;AAAA,YAAI,CAAC,IAAA,KACzC,IAAA,CAAK,QAAA;AAAS,WACf;AAAA,UACA,IAAA;AAAA,UACA,QAAA;AAAA,UACA,YAAA;AAAA,UACA;AAAA;AAAA,OACD,EACD;AAAA;AAAA,GACD;AAEF","file":"PaginatedToolbar.js","sourcesContent":["import { DataTableToolbar, Pagination } from \"@dhis2/ui\";\nimport {\n\tuseTableState,\n\tuseToggleTableLoadingState,\n} from \"../../TableStateProvider\";\nimport { useEffect, useTransition } from \"react\";\n\nexport function PaginatedToolbar() {\n\tconst [isPending, startTransition] = useTransition();\n\tconst table = useTableState();\n\tconst rowCount = table.getRowCount();\n\tconst page = table.getState().pagination.pageIndex + 1;\n\tconst pageSize = table.getState().pagination.pageSize;\n\tconst pageCount = table.getPageCount();\n\tconst toggleTableLoading = useToggleTableLoadingState();\n\n\tconst onPageChange = (page: number) => {\n\t\tstartTransition(() => {\n\t\t\ttable.setPageIndex(page - 1);\n\t\t});\n\t};\n\tconst onPageSizeChange = (pageSize: number) => {\n\t\tstartTransition(() => {\n\t\t\ttable.setPageSize(pageSize);\n\t\t});\n\t};\n\n\tuseEffect(() => {\n\t\ttoggleTableLoading();\n\t}, [isPending]);\n\n\tif (\n\t\trowCount <= 50 ||\n\t\t(table.options.meta as { disablePagination?: boolean })\n\t\t\t?.disablePagination\n\t) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<DataTableToolbar\n\t\t\t/*\n\t\t\t// @ts-ignore */\n\t\t\tstyle={{ position: \"unset\" }}\n\t\t\tposition=\"bottom\"\n\t\t>\n\t\t\t<div style={{ width: \"stretch\" }}>\n\t\t\t\t<Pagination\n\t\t\t\t\ttotal={rowCount}\n\t\t\t\t\tpageCount={pageCount}\n\t\t\t\t\tpageSizes={[10, 20, 30, 40, 50, 100].map((size) =>\n\t\t\t\t\t\tsize.toString(),\n\t\t\t\t\t)}\n\t\t\t\t\tpage={page}\n\t\t\t\t\tpageSize={pageSize}\n\t\t\t\t\tonPageChange={onPageChange}\n\t\t\t\t\tonPageSizeChange={onPageSizeChange}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</DataTableToolbar>\n\t);\n}\n"]}
|
|
@@ -2,7 +2,6 @@ import { useScorecardMeta } from '../components';
|
|
|
2
2
|
import { useMemo, useEffect } from 'react';
|
|
3
3
|
import { sortBy, last, isEmpty } from 'lodash';
|
|
4
4
|
import { useDataQuery } from '@dhis2/app-runtime';
|
|
5
|
-
import { useUpdateEffect } from 'usehooks-ts';
|
|
6
5
|
|
|
7
6
|
function useLowestOrgUnitLevel() {
|
|
8
7
|
const meta = useScorecardMeta();
|
|
@@ -23,7 +22,7 @@ const orgUnitQuery = {
|
|
|
23
22
|
}
|
|
24
23
|
};
|
|
25
24
|
function useOrgUnits(initialIds) {
|
|
26
|
-
const { refetch, data, loading } = useDataQuery(
|
|
25
|
+
const { refetch, data, loading, called } = useDataQuery(
|
|
27
26
|
orgUnitQuery,
|
|
28
27
|
{
|
|
29
28
|
variables: {
|
|
@@ -32,8 +31,8 @@ function useOrgUnits(initialIds) {
|
|
|
32
31
|
lazy: isEmpty(initialIds)
|
|
33
32
|
}
|
|
34
33
|
);
|
|
35
|
-
|
|
36
|
-
if (
|
|
34
|
+
useEffect(() => {
|
|
35
|
+
if (called) {
|
|
37
36
|
refetch({ ids: initialIds }).catch(console.error);
|
|
38
37
|
}
|
|
39
38
|
}, [refetch, initialIds]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/hooks/orgUnit.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/hooks/orgUnit.ts"],"names":[],"mappings":";;;;;AASO,SAAS,qBAAA,GAAwB;AACvC,EAAA,MAAM,OAAO,gBAAA,EAAiB;AAE9B,EAAA,OAAO,QAAQ,MAAM;AACpB,IAAA,MAAM,sBAAsB,MAAA,CAAO,IAAA,EAAM,aAAA,IAAiB,IAAI,OAAO,CAAA;AACrE,IAAA,OAAO,KAAK,mBAAmB,CAAA;AAAA,EAChC,CAAA,EAAG,CAAC,IAAA,EAAM,aAAa,CAAC,CAAA;AACzB;AAEA,MAAM,YAAA,GAAoB;AAAA,EACzB,EAAA,EAAI;AAAA,IACH,QAAA,EAAU,CAAA,iBAAA,CAAA;AAAA,IACV,MAAA,EAAQ,CAAC,EAAE,GAAA,EAAI,KAAyB;AACvC,MAAA,OAAO;AAAA,QACN,MAAA,EAAQ,CAAA,OAAA,EAAU,GAAA,CAAI,IAAA,CAAK,GAAG,CAAC,CAAA,CAAA,CAAA;AAAA,QAC/B,MAAA,EAAQ,CAAC,IAAA,EAAM,aAAA,EAAe,QAAQ,OAAO;AAAA,OAC9C;AAAA,IACD;AAAA;AAEF,CAAA;AAQO,SAAS,YAAY,UAAA,EAAuB;AAClD,EAAA,MAAM,EAAE,OAAA,EAAS,IAAA,EAAM,OAAA,EAAS,QAAO,GAAI,YAAA;AAAA,IAC1C,YAAA;AAAA,IACA;AAAA,MACC,SAAA,EAAW;AAAA,QACV,GAAA,EAAK;AAAA,OACN;AAAA,MACA,IAAA,EAAM,QAAQ,UAAU;AAAA;AACzB,GACD;AAEA,EAAA,SAAA,CAAU,MAAM;AACf,IAAA,IAAI,MAAA,EAAQ;AACX,MAAA,OAAA,CAAQ,EAAE,GAAA,EAAK,UAAA,EAAY,CAAA,CAAE,KAAA,CAAM,QAAQ,KAAK,CAAA;AAAA,IACjD;AAAA,EACD,CAAA,EAAG,CAAC,OAAA,EAAS,UAAU,CAAC,CAAA;AAExB,EAAA,OAAO;AAAA,IACN,OAAA;AAAA,IACA,QAAA,EAAU,MAAM,EAAA,EAAI,iBAAA;AAAA,IACpB;AAAA,GAGD;AACD;AAEA,MAAM,iBAAA,GAAoB;AAAA,EACzB,KAAA,EAAO;AAAA,IACN,QAAA,EAAU,wBAAA;AAAA,IACV,MAAA,EAAQ,CAAC,EAAE,GAAA,EAAI,KAAW;AACzB,MAAA,OAAO;AAAA,QACN,MAAA,EAAQ,CAAC,IAAA,EAAM,aAAA,EAAe,OAAO,CAAA;AAAA,QACrC,QAAQ,CAAC,CAAA,OAAA,EAAU,IAAI,IAAA,CAAK,GAAG,CAAC,CAAA,CAAA,CAAG;AAAA,OACpC;AAAA,IACD;AAAA;AAEF,CAAA;AAEO,SAAS,iBAAiB,UAAA,EAA8B;AAC9D,EAAA,MAAM,EAAE,OAAA,EAAS,IAAA,EAAM,OAAA,EAAQ,GAAI,aAEhC,iBAAA,EAAmB;AAAA,IACrB,SAAA,EAAW;AAAA,MACV,EAAA,EAAI;AAAA,KACL;AAAA,IACA,IAAA,EAAM;AAAA,GACN,CAAA;AAED,EAAA,SAAA,CAAU,MAAM;AACf,IAAA,IAAI,CAAC,OAAA,CAAQ,UAAU,CAAA,EAAG;AACzB,MAAA,OAAA,CAAQ,EAAE,GAAA,EAAK,UAAA,EAAY,CAAA,CAAE,KAAA,CAAM,QAAQ,KAAK,CAAA;AAAA,IACjD;AAAA,EACD,CAAA,EAAG,CAAC,OAAA,EAAS,UAAU,CAAC,CAAA;AAExB,EAAA,OAAO;AAAA,IACN,OAAA;AAAA,IACA,MAAA,EAAQ,MAAM,KAAA,EAAO,sBAAA;AAAA,IACrB;AAAA,GAGD;AACD","file":"orgUnit.js","sourcesContent":["import { useScorecardMeta } from \"../components\";\nimport { useEffect, useMemo } from \"react\";\nimport { isEmpty, last, sortBy } from \"lodash\";\nimport type {\n\tOrganisationUnit,\n\tOrganisationUnitLevel,\n} from \"@hisptz/dhis2-utils\";\nimport { useDataQuery } from \"@dhis2/app-runtime\";\n\nexport function useLowestOrgUnitLevel() {\n\tconst meta = useScorecardMeta();\n\n\treturn useMemo(() => {\n\t\tconst sortedOrgUnitLevels = sortBy(meta?.orgUnitLevels ?? [], \"level\");\n\t\treturn last(sortedOrgUnitLevels);\n\t}, [meta?.orgUnitLevels]);\n}\n\nconst orgUnitQuery: any = {\n\tou: {\n\t\tresource: `organisationUnits`,\n\t\tparams: ({ ids }: { ids: string[] }) => {\n\t\t\treturn {\n\t\t\t\tfilter: `id:in:[${ids.join(\",\")}]`,\n\t\t\t\tfields: [\"id\", \"displayName\", \"path\", \"level\"],\n\t\t\t};\n\t\t},\n\t},\n};\n\ntype OrgUnitResponse = {\n\tou: {\n\t\torganisationUnits: Array<OrganisationUnit>;\n\t};\n};\n\nexport function useOrgUnits(initialIds?: string[]) {\n\tconst { refetch, data, loading, called } = useDataQuery<OrgUnitResponse>(\n\t\torgUnitQuery,\n\t\t{\n\t\t\tvariables: {\n\t\t\t\tids: initialIds,\n\t\t\t},\n\t\t\tlazy: isEmpty(initialIds),\n\t\t},\n\t);\n\n\tuseEffect(() => {\n\t\tif (called) {\n\t\t\trefetch({ ids: initialIds }).catch(console.error);\n\t\t}\n\t}, [refetch, initialIds]);\n\n\treturn {\n\t\tloading,\n\t\torgUnits: data?.ou?.organisationUnits,\n\t\trefetch: refetch as unknown as (\n\t\t\tvariables: Record<string, any>,\n\t\t) => OrgUnitResponse,\n\t};\n}\n\nconst orgUnitLevelQuery = {\n\tlevel: {\n\t\tresource: \"organisationUnitLevels\",\n\t\tparams: ({ ids }: any) => {\n\t\t\treturn {\n\t\t\t\tfields: [\"id\", \"displayName\", \"level\"],\n\t\t\t\tfilter: [`id:in:[${ids.join(\",\")}]`],\n\t\t\t};\n\t\t},\n\t},\n};\n\nexport function useOrgUnitLevels(initialIds?: string[] | null) {\n\tconst { refetch, data, loading } = useDataQuery<{\n\t\tlevel: { organisationUnitLevels: OrganisationUnitLevel[] };\n\t}>(orgUnitLevelQuery, {\n\t\tvariables: {\n\t\t\tid: initialIds,\n\t\t},\n\t\tlazy: true,\n\t});\n\n\tuseEffect(() => {\n\t\tif (!isEmpty(initialIds)) {\n\t\t\trefetch({ ids: initialIds }).catch(console.error);\n\t\t}\n\t}, [refetch, initialIds]);\n\n\treturn {\n\t\tloading,\n\t\tlevels: data?.level?.organisationUnitLevels,\n\t\trefetch: refetch as unknown as (variables: Record<string, any>) => {\n\t\t\tlevel: { organisationUnitLevels: OrganisationUnitLevel[] };\n\t\t},\n\t};\n}\n"]}
|
package/dist/hooks/orgUnit.js
CHANGED
|
@@ -4,7 +4,6 @@ var components = require('../components');
|
|
|
4
4
|
var react = require('react');
|
|
5
5
|
var lodash = require('lodash');
|
|
6
6
|
var appRuntime = require('@dhis2/app-runtime');
|
|
7
|
-
var usehooksTs = require('usehooks-ts');
|
|
8
7
|
|
|
9
8
|
function useLowestOrgUnitLevel() {
|
|
10
9
|
const meta = components.useScorecardMeta();
|
|
@@ -25,7 +24,7 @@ const orgUnitQuery = {
|
|
|
25
24
|
}
|
|
26
25
|
};
|
|
27
26
|
function useOrgUnits(initialIds) {
|
|
28
|
-
const { refetch, data, loading } = appRuntime.useDataQuery(
|
|
27
|
+
const { refetch, data, loading, called } = appRuntime.useDataQuery(
|
|
29
28
|
orgUnitQuery,
|
|
30
29
|
{
|
|
31
30
|
variables: {
|
|
@@ -34,8 +33,8 @@ function useOrgUnits(initialIds) {
|
|
|
34
33
|
lazy: lodash.isEmpty(initialIds)
|
|
35
34
|
}
|
|
36
35
|
);
|
|
37
|
-
|
|
38
|
-
if (
|
|
36
|
+
react.useEffect(() => {
|
|
37
|
+
if (called) {
|
|
39
38
|
refetch({ ids: initialIds }).catch(console.error);
|
|
40
39
|
}
|
|
41
40
|
}, [refetch, initialIds]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/hooks/orgUnit.ts"],"names":["useScorecardMeta","useMemo","sortBy","last","useDataQuery","isEmpty","
|
|
1
|
+
{"version":3,"sources":["../../src/hooks/orgUnit.ts"],"names":["useScorecardMeta","useMemo","sortBy","last","useDataQuery","isEmpty","useEffect"],"mappings":";;;;;;;AASO,SAAS,qBAAA,GAAwB;AACvC,EAAA,MAAM,OAAOA,2BAAA,EAAiB;AAE9B,EAAA,OAAOC,cAAQ,MAAM;AACpB,IAAA,MAAM,sBAAsBC,aAAA,CAAO,IAAA,EAAM,aAAA,IAAiB,IAAI,OAAO,CAAA;AACrE,IAAA,OAAOC,YAAK,mBAAmB,CAAA;AAAA,EAChC,CAAA,EAAG,CAAC,IAAA,EAAM,aAAa,CAAC,CAAA;AACzB;AAEA,MAAM,YAAA,GAAoB;AAAA,EACzB,EAAA,EAAI;AAAA,IACH,QAAA,EAAU,CAAA,iBAAA,CAAA;AAAA,IACV,MAAA,EAAQ,CAAC,EAAE,GAAA,EAAI,KAAyB;AACvC,MAAA,OAAO;AAAA,QACN,MAAA,EAAQ,CAAA,OAAA,EAAU,GAAA,CAAI,IAAA,CAAK,GAAG,CAAC,CAAA,CAAA,CAAA;AAAA,QAC/B,MAAA,EAAQ,CAAC,IAAA,EAAM,aAAA,EAAe,QAAQ,OAAO;AAAA,OAC9C;AAAA,IACD;AAAA;AAEF,CAAA;AAQO,SAAS,YAAY,UAAA,EAAuB;AAClD,EAAA,MAAM,EAAE,OAAA,EAAS,IAAA,EAAM,OAAA,EAAS,QAAO,GAAIC,uBAAA;AAAA,IAC1C,YAAA;AAAA,IACA;AAAA,MACC,SAAA,EAAW;AAAA,QACV,GAAA,EAAK;AAAA,OACN;AAAA,MACA,IAAA,EAAMC,eAAQ,UAAU;AAAA;AACzB,GACD;AAEA,EAAAC,eAAA,CAAU,MAAM;AACf,IAAA,IAAI,MAAA,EAAQ;AACX,MAAA,OAAA,CAAQ,EAAE,GAAA,EAAK,UAAA,EAAY,CAAA,CAAE,KAAA,CAAM,QAAQ,KAAK,CAAA;AAAA,IACjD;AAAA,EACD,CAAA,EAAG,CAAC,OAAA,EAAS,UAAU,CAAC,CAAA;AAExB,EAAA,OAAO;AAAA,IACN,OAAA;AAAA,IACA,QAAA,EAAU,MAAM,EAAA,EAAI,iBAAA;AAAA,IACpB;AAAA,GAGD;AACD;AAEA,MAAM,iBAAA,GAAoB;AAAA,EACzB,KAAA,EAAO;AAAA,IACN,QAAA,EAAU,wBAAA;AAAA,IACV,MAAA,EAAQ,CAAC,EAAE,GAAA,EAAI,KAAW;AACzB,MAAA,OAAO;AAAA,QACN,MAAA,EAAQ,CAAC,IAAA,EAAM,aAAA,EAAe,OAAO,CAAA;AAAA,QACrC,QAAQ,CAAC,CAAA,OAAA,EAAU,IAAI,IAAA,CAAK,GAAG,CAAC,CAAA,CAAA,CAAG;AAAA,OACpC;AAAA,IACD;AAAA;AAEF,CAAA;AAEO,SAAS,iBAAiB,UAAA,EAA8B;AAC9D,EAAA,MAAM,EAAE,OAAA,EAAS,IAAA,EAAM,OAAA,EAAQ,GAAIF,wBAEhC,iBAAA,EAAmB;AAAA,IACrB,SAAA,EAAW;AAAA,MACV,EAAA,EAAI;AAAA,KACL;AAAA,IACA,IAAA,EAAM;AAAA,GACN,CAAA;AAED,EAAAE,eAAA,CAAU,MAAM;AACf,IAAA,IAAI,CAACD,cAAA,CAAQ,UAAU,CAAA,EAAG;AACzB,MAAA,OAAA,CAAQ,EAAE,GAAA,EAAK,UAAA,EAAY,CAAA,CAAE,KAAA,CAAM,QAAQ,KAAK,CAAA;AAAA,IACjD;AAAA,EACD,CAAA,EAAG,CAAC,OAAA,EAAS,UAAU,CAAC,CAAA;AAExB,EAAA,OAAO;AAAA,IACN,OAAA;AAAA,IACA,MAAA,EAAQ,MAAM,KAAA,EAAO,sBAAA;AAAA,IACrB;AAAA,GAGD;AACD","file":"orgUnit.js","sourcesContent":["import { useScorecardMeta } from \"../components\";\nimport { useEffect, useMemo } from \"react\";\nimport { isEmpty, last, sortBy } from \"lodash\";\nimport type {\n\tOrganisationUnit,\n\tOrganisationUnitLevel,\n} from \"@hisptz/dhis2-utils\";\nimport { useDataQuery } from \"@dhis2/app-runtime\";\n\nexport function useLowestOrgUnitLevel() {\n\tconst meta = useScorecardMeta();\n\n\treturn useMemo(() => {\n\t\tconst sortedOrgUnitLevels = sortBy(meta?.orgUnitLevels ?? [], \"level\");\n\t\treturn last(sortedOrgUnitLevels);\n\t}, [meta?.orgUnitLevels]);\n}\n\nconst orgUnitQuery: any = {\n\tou: {\n\t\tresource: `organisationUnits`,\n\t\tparams: ({ ids }: { ids: string[] }) => {\n\t\t\treturn {\n\t\t\t\tfilter: `id:in:[${ids.join(\",\")}]`,\n\t\t\t\tfields: [\"id\", \"displayName\", \"path\", \"level\"],\n\t\t\t};\n\t\t},\n\t},\n};\n\ntype OrgUnitResponse = {\n\tou: {\n\t\torganisationUnits: Array<OrganisationUnit>;\n\t};\n};\n\nexport function useOrgUnits(initialIds?: string[]) {\n\tconst { refetch, data, loading, called } = useDataQuery<OrgUnitResponse>(\n\t\torgUnitQuery,\n\t\t{\n\t\t\tvariables: {\n\t\t\t\tids: initialIds,\n\t\t\t},\n\t\t\tlazy: isEmpty(initialIds),\n\t\t},\n\t);\n\n\tuseEffect(() => {\n\t\tif (called) {\n\t\t\trefetch({ ids: initialIds }).catch(console.error);\n\t\t}\n\t}, [refetch, initialIds]);\n\n\treturn {\n\t\tloading,\n\t\torgUnits: data?.ou?.organisationUnits,\n\t\trefetch: refetch as unknown as (\n\t\t\tvariables: Record<string, any>,\n\t\t) => OrgUnitResponse,\n\t};\n}\n\nconst orgUnitLevelQuery = {\n\tlevel: {\n\t\tresource: \"organisationUnitLevels\",\n\t\tparams: ({ ids }: any) => {\n\t\t\treturn {\n\t\t\t\tfields: [\"id\", \"displayName\", \"level\"],\n\t\t\t\tfilter: [`id:in:[${ids.join(\",\")}]`],\n\t\t\t};\n\t\t},\n\t},\n};\n\nexport function useOrgUnitLevels(initialIds?: string[] | null) {\n\tconst { refetch, data, loading } = useDataQuery<{\n\t\tlevel: { organisationUnitLevels: OrganisationUnitLevel[] };\n\t}>(orgUnitLevelQuery, {\n\t\tvariables: {\n\t\t\tid: initialIds,\n\t\t},\n\t\tlazy: true,\n\t});\n\n\tuseEffect(() => {\n\t\tif (!isEmpty(initialIds)) {\n\t\t\trefetch({ ids: initialIds }).catch(console.error);\n\t\t}\n\t}, [refetch, initialIds]);\n\n\treturn {\n\t\tloading,\n\t\tlevels: data?.level?.organisationUnitLevels,\n\t\trefetch: refetch as unknown as (variables: Record<string, any>) => {\n\t\t\tlevel: { organisationUnitLevels: OrganisationUnitLevel[] };\n\t\t},\n\t};\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HighlightedItem.d.ts","sourceRoot":"","sources":["../../../../../src/components/HighlightedItems/components/HighlightedItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAUnE,wBAAgB,eAAe,CAAC,EAC/B,IAAI,EACJ,IAAI,GACJ,EAAE;IACF,IAAI,EAAE,mBAAmB,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;CACd,2CAoDA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../../../src/components/HighlightedItems/hooks/data.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAuBrD,wBAAgB,uBAAuB;;;;EAyBtC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/HighlightedItems/index.tsx"],"names":[],"mappings":"AAKA,wBAAgB,gBAAgB,4CA8B/B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendView.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScorecardLegendsView/components/LegendView.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACX,gBAAgB,EAChB,eAAe,EACf,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,gBAAgB;IAChC,OAAO,EAAE,eAAe,EAAE,CAAC;CAC3B;AAED,wBAAgB,WAAW,CAAC,EAAE,OAAO,EAAE,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"LegendView.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScorecardLegendsView/components/LegendView.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACX,gBAAgB,EAChB,eAAe,EACf,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,gBAAgB;IAChC,OAAO,EAAE,eAAe,EAAE,CAAC;CAC3B;AAED,wBAAgB,WAAW,CAAC,EAAE,OAAO,EAAE,EAAE,gBAAgB,2CA4DxD;AAED,MAAM,WAAW,eAAe;IAC/B,MAAM,EAAE,gBAAgB,CAAC;CACzB;AAED,wBAAgB,UAAU,CAAC,EAAE,MAAM,EAAE,EAAE,eAAe,2CAmBrD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrgUnitLevelSpecificTargetView.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScorecardLegendsView/components/OrgUnitLevelSpecificTargetView.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"OrgUnitLevelSpecificTargetView.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScorecardLegendsView/components/OrgUnitLevelSpecificTargetView.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAIlE,MAAM,WAAW,8BAA8B;IAC9C,cAAc,EAAE,kBAAkB,CAAC;IACnC,KAAK,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,8BAA8B,CAAC,EAC9C,cAAc,EACd,KAAK,GACL,EAAE,8BAA8B,2CA4DhC"}
|
package/dist/types/components/ScorecardLegendsView/components/OrgUnitSpecificTargetView.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrgUnitSpecificTargetView.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScorecardLegendsView/components/OrgUnitSpecificTargetView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAM9D,MAAM,WAAW,8BAA8B;IAC9C,cAAc,EAAE,cAAc,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,yBAAyB,CAAC,EACzC,cAAc,EACd,KAAK,GACL,EAAE,8BAA8B,
|
|
1
|
+
{"version":3,"file":"OrgUnitSpecificTargetView.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScorecardLegendsView/components/OrgUnitSpecificTargetView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAM9D,MAAM,WAAW,8BAA8B;IAC9C,cAAc,EAAE,cAAc,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,yBAAyB,CAAC,EACzC,cAAc,EACd,KAAK,GACL,EAAE,8BAA8B,2CA0ChC"}
|
package/dist/types/components/ScorecardLegendsView/components/PeriodSpecificTargetView.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PeriodSpecificTargetView.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScorecardLegendsView/components/PeriodSpecificTargetView.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,MAAM,WAAW,8BAA8B;IAC9C,cAAc,EAAE,cAAc,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,wBAAwB,CAAC,EACxC,cAAc,EACd,KAAK,GACL,EAAE,8BAA8B,
|
|
1
|
+
{"version":3,"file":"PeriodSpecificTargetView.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScorecardLegendsView/components/PeriodSpecificTargetView.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,MAAM,WAAW,8BAA8B;IAC9C,cAAc,EAAE,cAAc,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,wBAAwB,CAAC,EACxC,cAAc,EACd,KAAK,GACL,EAAE,8BAA8B,2CAyChC"}
|
package/dist/types/components/ScorecardLegendsView/components/SpecificTargetLegendsView.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpecificTargetLegendsView.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScorecardLegendsView/components/SpecificTargetLegendsView.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SpecificTargetLegendsView.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScorecardLegendsView/components/SpecificTargetLegendsView.tsx"],"names":[],"mappings":"AAwBA,wBAAgB,sBAAsB,4CAiIrC;AAsBD,wBAAgB,yBAAyB,mDA8BxC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaginatedToolbar.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScorecardTable/components/PaginatedToolbar.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PaginatedToolbar.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScorecardTable/components/PaginatedToolbar.tsx"],"names":[],"mappings":"AAOA,wBAAgB,gBAAgB,mDAsD/B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iCAAiC,CAAC;AAChD,cAAc,kDAAkD,CAAC;AACjE,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iCAAiC,CAAC;AAChD,cAAc,kDAAkD,CAAC;AACjE,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orgUnit.d.ts","sourceRoot":"","sources":["../../../src/hooks/orgUnit.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACX,gBAAgB,EAChB,qBAAqB,EACrB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"orgUnit.d.ts","sourceRoot":"","sources":["../../../src/hooks/orgUnit.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACX,gBAAgB,EAChB,qBAAqB,EACrB,MAAM,qBAAqB,CAAC;AAG7B,wBAAgB,qBAAqB;;;;cAOpC;AAcD,KAAK,eAAe,GAAG;IACtB,EAAE,EAAE;QACH,iBAAiB,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;KAC3C,CAAC;CACF,CAAC;AAEF,wBAAgB,WAAW,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE;;;aAoBhB,CAC9B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAC1B,eAAe;EAErB;AAcD,wBAAgB,gBAAgB,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI;;;aAmB5B,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK;QAClE,KAAK,EAAE;YAAE,sBAAsB,EAAE,qBAAqB,EAAE,CAAA;SAAE,CAAC;KAC3D;EAEF"}
|