@hisptz/dhis2-scorecard 1.2.25 → 1.2.27

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.
Files changed (35) hide show
  1. package/dist/components/HighlightedItems/components/HighlightedItem.js +77 -38
  2. package/dist/components/HighlightedItems/components/HighlightedItem.js.map +1 -1
  3. package/dist/components/HighlightedItems/hooks/data.js +16 -3
  4. package/dist/components/HighlightedItems/hooks/data.js.map +1 -1
  5. package/dist/components/HighlightedItems/index.js +36 -1
  6. package/dist/components/HighlightedItems/index.js.map +1 -1
  7. package/dist/components/ScorecardHeader.js +3 -4
  8. package/dist/components/ScorecardHeader.js.map +1 -1
  9. package/dist/components/ScorecardLegendsView/components/SpecificTargetLegendsView.js +0 -1
  10. package/dist/components/ScorecardLegendsView/components/SpecificTargetLegendsView.js.map +1 -1
  11. package/dist/components/ScorecardTable/components/FurtherAnalysisMenu.js +1 -1
  12. package/dist/components/ScorecardTable/components/FurtherAnalysisMenu.js.map +1 -1
  13. package/dist/components/ScorecardTable/components/PaginatedToolbar.js +2 -4
  14. package/dist/components/ScorecardTable/components/PaginatedToolbar.js.map +1 -1
  15. package/dist/esm/components/HighlightedItems/components/HighlightedItem.js +79 -40
  16. package/dist/esm/components/HighlightedItems/components/HighlightedItem.js.map +1 -1
  17. package/dist/esm/components/HighlightedItems/hooks/data.js +17 -4
  18. package/dist/esm/components/HighlightedItems/hooks/data.js.map +1 -1
  19. package/dist/esm/components/HighlightedItems/index.js +34 -3
  20. package/dist/esm/components/HighlightedItems/index.js.map +1 -1
  21. package/dist/esm/components/ScorecardHeader.js +1 -2
  22. package/dist/esm/components/ScorecardHeader.js.map +1 -1
  23. package/dist/esm/components/ScorecardLegendsView/components/SpecificTargetLegendsView.js +0 -1
  24. package/dist/esm/components/ScorecardLegendsView/components/SpecificTargetLegendsView.js.map +1 -1
  25. package/dist/esm/components/ScorecardTable/components/FurtherAnalysisMenu.js +1 -1
  26. package/dist/esm/components/ScorecardTable/components/FurtherAnalysisMenu.js.map +1 -1
  27. package/dist/esm/components/ScorecardTable/components/PaginatedToolbar.js +3 -5
  28. package/dist/esm/components/ScorecardTable/components/PaginatedToolbar.js.map +1 -1
  29. package/dist/types/components/HighlightedItems/components/HighlightedItem.d.ts.map +1 -1
  30. package/dist/types/components/HighlightedItems/hooks/data.d.ts.map +1 -1
  31. package/dist/types/components/HighlightedItems/index.d.ts +1 -1
  32. package/dist/types/components/HighlightedItems/index.d.ts.map +1 -1
  33. package/dist/types/components/ScorecardLegendsView/components/SpecificTargetLegendsView.d.ts.map +1 -1
  34. package/dist/types/components/ScorecardTable/components/PaginatedToolbar.d.ts.map +1 -1
  35. package/package.json +5 -5
@@ -6,12 +6,18 @@ var legends = require('../../../utils/legends');
6
6
  var MetaProvider = require('../../MetaProvider');
7
7
  var ConfigProvider = require('../../ConfigProvider');
8
8
  var ui = require('@dhis2/ui');
9
+ var FurtherAnalysisModal = require('../../ScorecardTable/components/FurtherAnalysisModal');
10
+ var utils = require('../../../utils');
9
11
 
10
12
  function HighlightedItem({
11
13
  item,
12
14
  data
13
15
  }) {
16
+ const disableFurtherAnalysis = utils.useScorecardViewStateValue(
17
+ "disableFurtherAnalysis"
18
+ );
14
19
  const config = ConfigProvider.useScorecardConfig();
20
+ const [furtherAnalysisConfig, setFurtherAnalysisConfig] = react.useState(null);
15
21
  const meta = MetaProvider.useScorecardMeta();
16
22
  const legendDefinition = react.useMemo(() => {
17
23
  return data ? legends.getLegend({
@@ -21,44 +27,77 @@ function HighlightedItem({
21
27
  config
22
28
  }) : void 0;
23
29
  }, [item, data, meta, config]);
24
- return /* @__PURE__ */ jsxRuntime.jsxs(
25
- "div",
26
- {
27
- style: {
28
- display: "flex",
29
- gap: 16,
30
- justifyContent: "space-between",
31
- border: `1px solid ${ui.colors.grey500}`,
32
- borderRadius: 4,
33
- minHeight: 48,
34
- alignItems: "center",
35
- width: "100%"
36
- },
37
- children: [
38
- /* @__PURE__ */ jsxRuntime.jsx("span", { style: { padding: 8, fontSize: 14 }, children: item.label ?? item.name }),
39
- /* @__PURE__ */ jsxRuntime.jsx(
40
- "div",
41
- {
42
- style: {
43
- minHeight: 48,
44
- height: "100%",
45
- width: 100,
46
- display: "flex",
47
- justifyContent: "center",
48
- borderLeft: `1px solid ${ui.colors.grey500}`,
49
- alignItems: "center",
50
- padding: 8,
51
- background: legendDefinition?.color,
52
- color: legendDefinition?.color ? legends.getTextColorFromBackgroundColor(
53
- legendDefinition?.color
54
- ) : void 0
55
- },
56
- children: /* @__PURE__ */ jsxRuntime.jsx("b", { children: data })
57
- }
58
- )
59
- ]
60
- }
61
- );
30
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
31
+ !!furtherAnalysisConfig && /* @__PURE__ */ jsxRuntime.jsx(
32
+ FurtherAnalysisModal.FurtherAnalysis,
33
+ {
34
+ onClose: () => {
35
+ setFurtherAnalysisConfig(null);
36
+ },
37
+ hide: !furtherAnalysisConfig,
38
+ config: furtherAnalysisConfig
39
+ }
40
+ ),
41
+ /* @__PURE__ */ jsxRuntime.jsxs(
42
+ "div",
43
+ {
44
+ style: {
45
+ display: "flex",
46
+ gap: 16,
47
+ justifyContent: "space-between",
48
+ border: `1px solid ${ui.colors.grey500}`,
49
+ borderRadius: 4,
50
+ minHeight: 48,
51
+ alignItems: "center",
52
+ width: "100%"
53
+ },
54
+ children: [
55
+ /* @__PURE__ */ jsxRuntime.jsx("span", { style: { padding: 8, fontSize: 14 }, children: item.label ?? item.name }),
56
+ /* @__PURE__ */ jsxRuntime.jsx(
57
+ "div",
58
+ {
59
+ onClick: (event) => {
60
+ event.stopPropagation();
61
+ if (!disableFurtherAnalysis) {
62
+ setFurtherAnalysisConfig({
63
+ periodSelection: {
64
+ periods: meta.periods.map(({ uid }) => ({
65
+ id: uid
66
+ }))
67
+ },
68
+ orgUnitSelection: {
69
+ levels: [],
70
+ groups: [],
71
+ orgUnits: meta.orgUnits.map((orgUnit) => ({
72
+ id: orgUnit.uid
73
+ }))
74
+ },
75
+ dataSources: [item]
76
+ });
77
+ }
78
+ },
79
+ style: {
80
+ minHeight: 48,
81
+ cursor: "pointer",
82
+ height: "100%",
83
+ width: 100,
84
+ display: "flex",
85
+ justifyContent: "center",
86
+ borderLeft: `1px solid ${ui.colors.grey500}`,
87
+ alignItems: "center",
88
+ padding: 8,
89
+ background: legendDefinition?.color,
90
+ color: legendDefinition?.color ? legends.getTextColorFromBackgroundColor(
91
+ legendDefinition?.color
92
+ ) : void 0
93
+ },
94
+ children: /* @__PURE__ */ jsxRuntime.jsx("b", { children: data })
95
+ }
96
+ )
97
+ ]
98
+ }
99
+ )
100
+ ] });
62
101
  }
63
102
 
64
103
  exports.HighlightedItem = HighlightedItem;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/HighlightedItems/components/HighlightedItem.tsx"],"names":["useScorecardConfig","useScorecardMeta","useMemo","getLegend","jsxs","colors","jsx","getTextColorFromBackgroundColor"],"mappings":";;;;;;;;;AAUO,SAAS,eAAA,CAAgB;AAAA,EAC/B,IAAA;AAAA,EACA;AACD,CAAA,EAGG;AACF,EAAA,MAAM,SAASA,iCAAA,EAAmB;AAClC,EAAA,MAAM,OAAOC,6BAAA,EAAiB;AAC9B,EAAA,MAAM,gBAAA,GAAmBC,cAAQ,MAAM;AACtC,IAAA,OAAO,OACJC,iBAAA,CAAU;AAAA,MACV,UAAA,EAAY,IAAA;AAAA,MACZ,KAAA,EAAO,WAAW,IAAI,CAAA;AAAA,MACtB,eAAe,IAAA,CAAM,aAAA;AAAA,MACrB;AAAA,KACA,CAAA,GACA,MAAA;AAAA,EACJ,GAAG,CAAC,IAAA,EAAM,IAAA,EAAM,IAAA,EAAM,MAAM,CAAC,CAAA;AAE7B,EAAA,uBACCC,eAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,KAAA,EAAO;AAAA,QACN,OAAA,EAAS,MAAA;AAAA,QACT,GAAA,EAAK,EAAA;AAAA,QACL,cAAA,EAAgB,eAAA;AAAA,QAChB,MAAA,EAAQ,CAAA,UAAA,EAAaC,SAAA,CAAO,OAAO,CAAA,CAAA;AAAA,QACnC,YAAA,EAAc,CAAA;AAAA,QACd,SAAA,EAAW,EAAA;AAAA,QACX,UAAA,EAAY,QAAA;AAAA,QACZ,KAAA,EAAO;AAAA,OACR;AAAA,MAEA,QAAA,EAAA;AAAA,wBAAAC,cAAA,CAAC,MAAA,EAAA,EAAK,KAAA,EAAO,EAAE,OAAA,EAAS,CAAA,EAAG,QAAA,EAAU,EAAA,EAAG,EACtC,QAAA,EAAA,IAAA,CAAK,KAAA,IAAS,IAAA,CAAK,IAAA,EACrB,CAAA;AAAA,wBACAA,cAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACA,KAAA,EAAO;AAAA,cACN,SAAA,EAAW,EAAA;AAAA,cACX,MAAA,EAAQ,MAAA;AAAA,cACR,KAAA,EAAO,GAAA;AAAA,cACP,OAAA,EAAS,MAAA;AAAA,cACT,cAAA,EAAgB,QAAA;AAAA,cAChB,UAAA,EAAY,CAAA,UAAA,EAAaD,SAAA,CAAO,OAAO,CAAA,CAAA;AAAA,cACvC,UAAA,EAAY,QAAA;AAAA,cACZ,OAAA,EAAS,CAAA;AAAA,cACT,YAAY,gBAAA,EAAkB,KAAA;AAAA,cAC9B,KAAA,EAAO,kBAAkB,KAAA,GACtBE,uCAAA;AAAA,gBACA,gBAAA,EAAkB;AAAA,eACnB,GACC;AAAA,aACJ;AAAA,YAEA,QAAA,kBAAAD,cAAA,CAAC,OAAG,QAAA,EAAA,IAAA,EAAK;AAAA;AAAA;AACV;AAAA;AAAA,GACD;AAEF","file":"HighlightedItem.js","sourcesContent":["import type { ScorecardDataSource } from \"../../../schemas/config\";\nimport { useMemo } from \"react\";\nimport {\n\tgetLegend,\n\tgetTextColorFromBackgroundColor,\n} from \"../../../utils/legends\";\nimport { useScorecardMeta } from \"../../MetaProvider\";\nimport { useScorecardConfig } from \"../../ConfigProvider\";\nimport { colors } from \"@dhis2/ui\";\n\nexport function HighlightedItem({\n\titem,\n\tdata,\n}: {\n\titem: ScorecardDataSource;\n\tdata?: string;\n}) {\n\tconst config = useScorecardConfig();\n\tconst meta = useScorecardMeta();\n\tconst legendDefinition = useMemo(() => {\n\t\treturn data\n\t\t\t? getLegend({\n\t\t\t\t\tdataSource: item,\n\t\t\t\t\tvalue: parseFloat(data),\n\t\t\t\t\torgUnitLevels: meta!.orgUnitLevels,\n\t\t\t\t\tconfig: config!,\n\t\t\t\t})\n\t\t\t: undefined;\n\t}, [item, data, meta, config]);\n\n\treturn (\n\t\t<div\n\t\t\tstyle={{\n\t\t\t\tdisplay: \"flex\",\n\t\t\t\tgap: 16,\n\t\t\t\tjustifyContent: \"space-between\",\n\t\t\t\tborder: `1px solid ${colors.grey500}`,\n\t\t\t\tborderRadius: 4,\n\t\t\t\tminHeight: 48,\n\t\t\t\talignItems: \"center\",\n\t\t\t\twidth: \"100%\",\n\t\t\t}}\n\t\t>\n\t\t\t<span style={{ padding: 8, fontSize: 14 }}>\n\t\t\t\t{item.label ?? item.name}\n\t\t\t</span>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tminHeight: 48,\n\t\t\t\t\theight: \"100%\",\n\t\t\t\t\twidth: 100,\n\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\tjustifyContent: \"center\",\n\t\t\t\t\tborderLeft: `1px solid ${colors.grey500}`,\n\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\tpadding: 8,\n\t\t\t\t\tbackground: legendDefinition?.color,\n\t\t\t\t\tcolor: legendDefinition?.color\n\t\t\t\t\t\t? getTextColorFromBackgroundColor(\n\t\t\t\t\t\t\t\tlegendDefinition?.color,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t: undefined,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<b>{data}</b>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../../src/components/HighlightedItems/components/HighlightedItem.tsx"],"names":["useScorecardViewStateValue","useScorecardConfig","useState","useScorecardMeta","useMemo","getLegend","jsxs","Fragment","jsx","FurtherAnalysis","colors","getTextColorFromBackgroundColor"],"mappings":"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","file":"HighlightedItem.js","sourcesContent":["import type { ScorecardDataSource } from \"../../../schemas/config\";\nimport { useMemo, useState } from \"react\";\nimport {\n\tgetLegend,\n\tgetTextColorFromBackgroundColor,\n} from \"../../../utils/legends\";\nimport { useScorecardMeta } from \"../../MetaProvider\";\nimport { useScorecardConfig } from \"../../ConfigProvider\";\nimport { colors } from \"@dhis2/ui\";\nimport {\n\tFurtherAnalysis,\n\ttype FurtherAnalysisConfig,\n} from \"../../ScorecardTable/components/FurtherAnalysisModal\";\nimport { useScorecardViewStateValue } from \"../../../utils\";\n\nexport function HighlightedItem({\n\titem,\n\tdata,\n}: {\n\titem: ScorecardDataSource;\n\tdata?: string;\n}) {\n\tconst disableFurtherAnalysis = useScorecardViewStateValue<boolean>(\n\t\t\"disableFurtherAnalysis\",\n\t);\n\tconst config = useScorecardConfig();\n\tconst [furtherAnalysisConfig, setFurtherAnalysisConfig] =\n\t\tuseState<FurtherAnalysisConfig | null>(null);\n\n\tconst meta = useScorecardMeta();\n\tconst legendDefinition = useMemo(() => {\n\t\treturn data\n\t\t\t? getLegend({\n\t\t\t\t\tdataSource: item,\n\t\t\t\t\tvalue: parseFloat(data),\n\t\t\t\t\torgUnitLevels: meta!.orgUnitLevels,\n\t\t\t\t\tconfig: config!,\n\t\t\t\t})\n\t\t\t: undefined;\n\t}, [item, data, meta, config]);\n\n\treturn (\n\t\t<>\n\t\t\t{!!furtherAnalysisConfig && (\n\t\t\t\t<FurtherAnalysis\n\t\t\t\t\tonClose={() => {\n\t\t\t\t\t\tsetFurtherAnalysisConfig(null);\n\t\t\t\t\t}}\n\t\t\t\t\thide={!furtherAnalysisConfig}\n\t\t\t\t\tconfig={furtherAnalysisConfig}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\tgap: 16,\n\t\t\t\t\tjustifyContent: \"space-between\",\n\t\t\t\t\tborder: `1px solid ${colors.grey500}`,\n\t\t\t\t\tborderRadius: 4,\n\t\t\t\t\tminHeight: 48,\n\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\twidth: \"100%\",\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<span style={{ padding: 8, fontSize: 14 }}>\n\t\t\t\t\t{item.label ?? item.name}\n\t\t\t\t</span>\n\t\t\t\t<div\n\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\tif (!disableFurtherAnalysis) {\n\t\t\t\t\t\t\tsetFurtherAnalysisConfig({\n\t\t\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\t\t\tperiods: meta!.periods.map(({ uid }) => ({\n\t\t\t\t\t\t\t\t\t\tid: uid,\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\torgUnitSelection: {\n\t\t\t\t\t\t\t\t\tlevels: [],\n\t\t\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\t\t\torgUnits: meta!.orgUnits.map((orgUnit) => ({\n\t\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\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\tdataSources: [item],\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tminHeight: 48,\n\t\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\t\theight: \"100%\",\n\t\t\t\t\t\twidth: 100,\n\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\tjustifyContent: \"center\",\n\t\t\t\t\t\tborderLeft: `1px solid ${colors.grey500}`,\n\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\tpadding: 8,\n\t\t\t\t\t\tbackground: legendDefinition?.color,\n\t\t\t\t\t\tcolor: legendDefinition?.color\n\t\t\t\t\t\t\t? getTextColorFromBackgroundColor(\n\t\t\t\t\t\t\t\t\tlegendDefinition?.color,\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<b>{data}</b>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
@@ -4,6 +4,7 @@ var MetaProvider = require('../../MetaProvider');
4
4
  var ConfigProvider = require('../../ConfigProvider');
5
5
  var react = require('react');
6
6
  var appRuntime = require('@dhis2/app-runtime');
7
+ var utils = require('../../../utils');
7
8
 
8
9
  const query = {
9
10
  data: {
@@ -22,6 +23,9 @@ const query = {
22
23
  }
23
24
  };
24
25
  function useHighlightedItemsData() {
26
+ const showHighlightedItems = utils.useScorecardViewStateValue(
27
+ "highlightedIndicators"
28
+ );
25
29
  const meta = MetaProvider.useScorecardMeta();
26
30
  const { highlightedIndicators } = ConfigProvider.useScorecardConfig();
27
31
  const dimensions = react.useMemo(() => {
@@ -36,9 +40,18 @@ function useHighlightedItemsData() {
36
40
  dataItems
37
41
  };
38
42
  }, [highlightedIndicators, meta]);
39
- const { data, loading, error } = appRuntime.useDataQuery(query, {
40
- variables: dimensions
41
- });
43
+ const { data, loading, error, refetch } = appRuntime.useDataQuery(
44
+ query,
45
+ {
46
+ variables: dimensions,
47
+ lazy: true
48
+ }
49
+ );
50
+ react.useEffect(() => {
51
+ if (showHighlightedItems) {
52
+ refetch();
53
+ }
54
+ }, [showHighlightedItems, dimensions]);
42
55
  return {
43
56
  data: data?.data,
44
57
  loading,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/HighlightedItems/hooks/data.ts"],"names":["useScorecardMeta","useScorecardConfig","useMemo","useDataQuery"],"mappings":";;;;;;;AAMA,MAAM,KAAA,GAAa;AAAA,EAClB,IAAA,EAAM;AAAA,IACL,QAAA,EAAU,WAAA;AAAA,IACV,QAAQ,CAAC;AAAA,MACR,OAAA;AAAA,MACA,QAAA;AAAA,MACA;AAAA,KACD,KAIM;AACL,MAAA,OAAO;AAAA,QACN,QAAA,EAAU,IAAA;AAAA,QACV,WAAW,CAAC,CAAA,GAAA,EAAM,UAAU,IAAA,CAAK,GAAG,CAAC,CAAA,CAAE,CAAA;AAAA,QACvC,MAAA,EAAQ,CAAC,CAAA,GAAA,EAAM,QAAA,CAAS,IAAA,CAAK,GAAG,CAAC,CAAA,CAAA,EAAI,CAAA,GAAA,EAAM,OAAA,CAAQ,IAAA,CAAK,GAAG,CAAC,CAAA,CAAE;AAAA,OAC/D;AAAA,IACD;AAAA;AAEF,CAAA;AAEO,SAAS,uBAAA,GAA0B;AACzC,EAAA,MAAM,OAAOA,6BAAA,EAAiB;AAE9B,EAAA,MAAM,EAAE,qBAAA,EAAsB,GAAIC,iCAAA,EAAmB;AACrD,EAAA,MAAM,UAAA,GAAaC,cAAQ,MAAM;AAChC,IAAA,MAAM,OAAA,GAAU,MAAM,OAAA,CAAQ,GAAA,CAAI,CAAC,MAAA,KAAW,MAAA,CAAO,GAAG,CAAA,IAAK,EAAC;AAC9D,IAAA,MAAM,QAAA,GAAW,MAAM,QAAA,CAAS,GAAA,CAAI,CAAC,OAAA,KAAY,OAAA,CAAQ,GAAG,CAAA,IAAK,EAAC;AAClE,IAAA,MAAM,YAAY,qBAAA,CAAsB,GAAA;AAAA,MACvC,CAAC,cAAc,SAAA,CAAU;AAAA,KAC1B;AACA,IAAA,OAAO;AAAA,MACN,OAAA;AAAA,MACA,QAAA;AAAA,MACA;AAAA,KACD;AAAA,EACD,CAAA,EAAG,CAAC,qBAAA,EAAuB,IAAI,CAAC,CAAA;AAChC,EAAA,MAAM,EAAE,IAAA,EAAM,OAAA,EAAS,KAAA,EAAM,GAAIC,wBAAkC,KAAA,EAAO;AAAA,IACzE,SAAA,EAAW;AAAA,GACX,CAAA;AAED,EAAA,OAAO;AAAA,IACN,MAAM,IAAA,EAAM,IAAA;AAAA,IACZ,OAAA;AAAA,IACA;AAAA,GACD;AACD","file":"data.js","sourcesContent":["import { useScorecardMeta } from \"../../MetaProvider\";\nimport { useScorecardConfig } from \"../../ConfigProvider\";\nimport { useMemo } from \"react\";\nimport { useDataQuery } from \"@dhis2/app-runtime\";\nimport type { Analytics } from \"@hisptz/dhis2-utils\";\n\nconst query: any = {\n\tdata: {\n\t\tresource: \"analytics\",\n\t\tparams: ({\n\t\t\tperiods,\n\t\t\torgUnits,\n\t\t\tdataItems,\n\t\t}: {\n\t\t\tperiods: string[];\n\t\t\torgUnits: string[];\n\t\t\tdataItems: string[];\n\t\t}) => {\n\t\t\treturn {\n\t\t\t\tskipMeta: true,\n\t\t\t\tdimension: [`dx:${dataItems.join(\";\")}`],\n\t\t\t\tfilter: [`ou:${orgUnits.join(\";\")}`, `pe:${periods.join(\";\")}`],\n\t\t\t};\n\t\t},\n\t},\n};\n\nexport function useHighlightedItemsData() {\n\tconst meta = useScorecardMeta();\n\n\tconst { highlightedIndicators } = useScorecardConfig();\n\tconst dimensions = useMemo(() => {\n\t\tconst periods = meta?.periods.map((period) => period.uid) || [];\n\t\tconst orgUnits = meta?.orgUnits.map((orgUnit) => orgUnit.uid) || [];\n\t\tconst dataItems = highlightedIndicators.map(\n\t\t\t(indicator) => indicator.id,\n\t\t);\n\t\treturn {\n\t\t\tperiods,\n\t\t\torgUnits,\n\t\t\tdataItems,\n\t\t};\n\t}, [highlightedIndicators, meta]);\n\tconst { data, loading, error } = useDataQuery<{ data: Analytics }>(query, {\n\t\tvariables: dimensions,\n\t});\n\n\treturn {\n\t\tdata: data?.data,\n\t\tloading,\n\t\terror,\n\t};\n}\n"]}
1
+ {"version":3,"sources":["../../../../src/components/HighlightedItems/hooks/data.ts"],"names":["useScorecardViewStateValue","useScorecardMeta","useScorecardConfig","useMemo","useDataQuery","useEffect"],"mappings":";;;;;;;;AAOA,MAAM,KAAA,GAAa;AAAA,EAClB,IAAA,EAAM;AAAA,IACL,QAAA,EAAU,WAAA;AAAA,IACV,QAAQ,CAAC;AAAA,MACR,OAAA;AAAA,MACA,QAAA;AAAA,MACA;AAAA,KACD,KAIM;AACL,MAAA,OAAO;AAAA,QACN,QAAA,EAAU,IAAA;AAAA,QACV,WAAW,CAAC,CAAA,GAAA,EAAM,UAAU,IAAA,CAAK,GAAG,CAAC,CAAA,CAAE,CAAA;AAAA,QACvC,MAAA,EAAQ,CAAC,CAAA,GAAA,EAAM,QAAA,CAAS,IAAA,CAAK,GAAG,CAAC,CAAA,CAAA,EAAI,CAAA,GAAA,EAAM,OAAA,CAAQ,IAAA,CAAK,GAAG,CAAC,CAAA,CAAE;AAAA,OAC/D;AAAA,IACD;AAAA;AAEF,CAAA;AAEO,SAAS,uBAAA,GAA0B;AACzC,EAAA,MAAM,oBAAA,GAAuBA,gCAAA;AAAA,IAC5B;AAAA,GACD;AACA,EAAA,MAAM,OAAOC,6BAAA,EAAiB;AAC9B,EAAA,MAAM,EAAE,qBAAA,EAAsB,GAAIC,iCAAA,EAAmB;AACrD,EAAA,MAAM,UAAA,GAAaC,cAAQ,MAAM;AAChC,IAAA,MAAM,OAAA,GAAU,MAAM,OAAA,CAAQ,GAAA,CAAI,CAAC,MAAA,KAAW,MAAA,CAAO,GAAG,CAAA,IAAK,EAAC;AAC9D,IAAA,MAAM,QAAA,GAAW,MAAM,QAAA,CAAS,GAAA,CAAI,CAAC,OAAA,KAAY,OAAA,CAAQ,GAAG,CAAA,IAAK,EAAC;AAClE,IAAA,MAAM,YAAY,qBAAA,CAAsB,GAAA;AAAA,MACvC,CAAC,cAAc,SAAA,CAAU;AAAA,KAC1B;AACA,IAAA,OAAO;AAAA,MACN,OAAA;AAAA,MACA,QAAA;AAAA,MACA;AAAA,KACD;AAAA,EACD,CAAA,EAAG,CAAC,qBAAA,EAAuB,IAAI,CAAC,CAAA;AAChC,EAAA,MAAM,EAAE,IAAA,EAAM,OAAA,EAAS,KAAA,EAAO,SAAQ,GAAIC,uBAAA;AAAA,IACzC,KAAA;AAAA,IACA;AAAA,MACC,SAAA,EAAW,UAAA;AAAA,MACX,IAAA,EAAM;AAAA;AACP,GACD;AAEA,EAAAC,eAAA,CAAU,MAAM;AACf,IAAA,IAAI,oBAAA,EAAsB;AACzB,MAAA,OAAA,EAAQ;AAAA,IACT;AAAA,EACD,CAAA,EAAG,CAAC,oBAAA,EAAsB,UAAU,CAAC,CAAA;AAErC,EAAA,OAAO;AAAA,IACN,MAAM,IAAA,EAAM,IAAA;AAAA,IACZ,OAAA;AAAA,IACA;AAAA,GACD;AACD","file":"data.js","sourcesContent":["import { useScorecardMeta } from \"../../MetaProvider\";\nimport { useScorecardConfig } from \"../../ConfigProvider\";\nimport { useEffect, useMemo } from \"react\";\nimport { useDataQuery } from \"@dhis2/app-runtime\";\nimport type { Analytics } from \"@hisptz/dhis2-utils\";\nimport { useScorecardViewStateValue } from \"../../../utils\";\n\nconst query: any = {\n\tdata: {\n\t\tresource: \"analytics\",\n\t\tparams: ({\n\t\t\tperiods,\n\t\t\torgUnits,\n\t\t\tdataItems,\n\t\t}: {\n\t\t\tperiods: string[];\n\t\t\torgUnits: string[];\n\t\t\tdataItems: string[];\n\t\t}) => {\n\t\t\treturn {\n\t\t\t\tskipMeta: true,\n\t\t\t\tdimension: [`dx:${dataItems.join(\";\")}`],\n\t\t\t\tfilter: [`ou:${orgUnits.join(\";\")}`, `pe:${periods.join(\";\")}`],\n\t\t\t};\n\t\t},\n\t},\n};\n\nexport function useHighlightedItemsData() {\n\tconst showHighlightedItems = useScorecardViewStateValue<boolean>(\n\t\t\"highlightedIndicators\",\n\t);\n\tconst meta = useScorecardMeta();\n\tconst { highlightedIndicators } = useScorecardConfig();\n\tconst dimensions = useMemo(() => {\n\t\tconst periods = meta?.periods.map((period) => period.uid) || [];\n\t\tconst orgUnits = meta?.orgUnits.map((orgUnit) => orgUnit.uid) || [];\n\t\tconst dataItems = highlightedIndicators.map(\n\t\t\t(indicator) => indicator.id,\n\t\t);\n\t\treturn {\n\t\t\tperiods,\n\t\t\torgUnits,\n\t\t\tdataItems,\n\t\t};\n\t}, [highlightedIndicators, meta]);\n\tconst { data, loading, error, refetch } = useDataQuery<{ data: Analytics }>(\n\t\tquery,\n\t\t{\n\t\t\tvariables: dimensions,\n\t\t\tlazy: true,\n\t\t},\n\t);\n\n\tuseEffect(() => {\n\t\tif (showHighlightedItems) {\n\t\t\trefetch();\n\t\t}\n\t}, [showHighlightedItems, dimensions]);\n\n\treturn {\n\t\tdata: data?.data,\n\t\tloading,\n\t\terror,\n\t};\n}\n"]}
@@ -5,12 +5,47 @@ var data = require('./hooks/data');
5
5
  var ui = require('@dhis2/ui');
6
6
  var ConfigProvider = require('../ConfigProvider');
7
7
  var HighlightedItem = require('./components/HighlightedItem');
8
+ var i18n = require('@dhis2/d2-i18n');
9
+ var utils = require('../../utils');
10
+
11
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
12
+
13
+ var i18n__default = /*#__PURE__*/_interopDefault(i18n);
8
14
 
9
15
  function HighlightedItems() {
16
+ const showHighlightedItems = utils.useScorecardViewStateValue(
17
+ "highlightedIndicators"
18
+ );
10
19
  const { highlightedIndicators } = ConfigProvider.useScorecardConfig();
11
20
  const { loading, error, data: data$1 } = data.useHighlightedItemsData();
21
+ if (!showHighlightedItems) {
22
+ return null;
23
+ }
12
24
  if (loading) {
13
- return /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx(ui.CircularLoader, { small: true }) });
25
+ return /* @__PURE__ */ jsxRuntime.jsx(
26
+ "div",
27
+ {
28
+ style: {
29
+ width: "100%",
30
+ display: "flex",
31
+ justifyContent: "center",
32
+ alignItems: "center"
33
+ },
34
+ children: /* @__PURE__ */ jsxRuntime.jsx(ui.CircularLoader, { small: true })
35
+ }
36
+ );
37
+ }
38
+ if (error) {
39
+ return /* @__PURE__ */ jsxRuntime.jsxs(
40
+ "span",
41
+ {
42
+ style: { display: "inline-flex", alignItems: "center", gap: 8 },
43
+ children: [
44
+ /* @__PURE__ */ jsxRuntime.jsx(ui.IconError16, {}),
45
+ /* @__PURE__ */ jsxRuntime.jsx("span", { style: { fontSize: 14, color: ui.colors.grey700 }, children: `${i18n__default.default.t("Error loading highlighted items")}: ${error.message}` })
46
+ ]
47
+ }
48
+ );
14
49
  }
15
50
  return /* @__PURE__ */ jsxRuntime.jsx(
16
51
  "div",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/HighlightedItems/index.tsx"],"names":["useScorecardConfig","data","useHighlightedItemsData","jsx","CircularLoader","HighlightedItem"],"mappings":";;;;;;;;AAKO,SAAS,gBAAA,GAAmB;AAClC,EAAA,MAAM,EAAE,qBAAA,EAAsB,GAAIA,iCAAA,EAAmB;AACrD,EAAA,MAAM,EAAE,OAAA,EAAS,KAAA,QAAOC,MAAA,KAASC,4BAAA,EAAwB;AAEzD,EAAA,IAAI,OAAA,EAAS;AACZ,IAAA,sCACE,KAAA,EAAA,EACA,QAAA,kBAAAC,cAAA,CAACC,iBAAA,EAAA,EAAe,KAAA,EAAK,MAAC,CAAA,EACvB,CAAA;AAAA,EAEF;AAEA,EAAA,uBACCD,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,KAAA,EAAO;AAAA,QACN,OAAA,EAAS,MAAA;AAAA,QACT,GAAA,EAAK,EAAA;AAAA,QACL,mBAAA,EAAqB;AAAA,OACtB;AAAA,MAEC,QAAA,EAAA,qBAAA,EAAuB,GAAA,CAAI,CAAC,IAAA,KAAS;AACrC,QAAA,MAAM,KAAA,GAAQF,QAAM,IAAA,EAAM,IAAA;AAAA,UAAK,CAAC,GAAA,KAC/B,GAAA,CAAI,QAAA,CAAS,KAAK,EAAE;AAAA,YACjB,CAAC,CAAA;AACL,QAAA,sCACEI,+BAAA,EAAA,EAA8B,IAAA,EAAY,IAAA,EAAM,KAAA,EAAA,EAA3B,KAAK,EAA6B,CAAA;AAAA,MAE1D,CAAC;AAAA;AAAA,GACF;AAEF","file":"index.js","sourcesContent":["import { useHighlightedItemsData } from \"./hooks/data\";\nimport { CircularLoader } from \"@dhis2/ui\";\nimport { useScorecardConfig } from \"../ConfigProvider\";\nimport { HighlightedItem } from \"./components/HighlightedItem\";\n\nexport function HighlightedItems() {\n\tconst { highlightedIndicators } = useScorecardConfig();\n\tconst { loading, error, data } = useHighlightedItemsData();\n\n\tif (loading) {\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t<CircularLoader small />\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\tdisplay: \"grid\",\n\t\t\t\tgap: 16,\n\t\t\t\tgridTemplateColumns: \"repeat(auto-fill, minmax(400px, 1fr))\",\n\t\t\t}}\n\t\t>\n\t\t\t{highlightedIndicators?.map((item) => {\n\t\t\t\tconst value = data?.rows?.find((row) =>\n\t\t\t\t\trow.includes(item.id),\n\t\t\t\t)?.[1];\n\t\t\t\treturn (\n\t\t\t\t\t<HighlightedItem key={item.id} item={item} data={value} />\n\t\t\t\t);\n\t\t\t})}\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../src/components/HighlightedItems/index.tsx"],"names":["useScorecardViewStateValue","useScorecardConfig","data","useHighlightedItemsData","jsx","CircularLoader","jsxs","IconError16","colors","i18n","HighlightedItem"],"mappings":";;;;;;;;;;;;;;AAOO,SAAS,gBAAA,GAAmB;AAClC,EAAA,MAAM,oBAAA,GAAuBA,gCAAA;AAAA,IAC5B;AAAA,GACD;AAEA,EAAA,MAAM,EAAE,qBAAA,EAAsB,GAAIC,iCAAA,EAAmB;AACrD,EAAA,MAAM,EAAE,OAAA,EAAS,KAAA,QAAOC,MAAA,KAASC,4BAAA,EAAwB;AAEzD,EAAA,IAAI,CAAC,oBAAA,EAAsB;AAC1B,IAAA,OAAO,IAAA;AAAA,EACR;AAEA,EAAA,IAAI,OAAA,EAAS;AACZ,IAAA,uBACCC,cAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACA,KAAA,EAAO;AAAA,UACN,KAAA,EAAO,MAAA;AAAA,UACP,OAAA,EAAS,MAAA;AAAA,UACT,cAAA,EAAgB,QAAA;AAAA,UAChB,UAAA,EAAY;AAAA,SACb;AAAA,QAEA,QAAA,kBAAAA,cAAA,CAACC,iBAAA,EAAA,EAAe,KAAA,EAAK,IAAA,EAAC;AAAA;AAAA,KACvB;AAAA,EAEF;AAEA,EAAA,IAAI,KAAA,EAAO;AACV,IAAA,uBACCC,eAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACA,OAAO,EAAE,OAAA,EAAS,eAAe,UAAA,EAAY,QAAA,EAAU,KAAK,CAAA,EAAE;AAAA,QAE9D,QAAA,EAAA;AAAA,0BAAAF,cAAA,CAACG,cAAA,EAAA,EAAY,CAAA;AAAA,yCACZ,MAAA,EAAA,EAAK,KAAA,EAAO,EAAE,QAAA,EAAU,EAAA,EAAI,OAAOC,SAAA,CAAO,OAAA,EAAQ,EACjD,QAAA,EAAA,CAAA,EAAGC,sBAAK,CAAA,CAAE,iCAAiC,CAAC,CAAA,EAAA,EAAK,KAAA,CAAM,OAAO,CAAA,CAAA,EAChE;AAAA;AAAA;AAAA,KACD;AAAA,EAEF;AAEA,EAAA,uBACCL,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,KAAA,EAAO;AAAA,QACN,OAAA,EAAS,MAAA;AAAA,QACT,GAAA,EAAK,EAAA;AAAA,QACL,mBAAA,EAAqB;AAAA,OACtB;AAAA,MAEC,QAAA,EAAA,qBAAA,EAAuB,GAAA,CAAI,CAAC,IAAA,KAAS;AACrC,QAAA,MAAM,KAAA,GAAQF,QAAM,IAAA,EAAM,IAAA;AAAA,UAAK,CAAC,GAAA,KAC/B,GAAA,CAAI,QAAA,CAAS,KAAK,EAAE;AAAA,YACjB,CAAC,CAAA;AACL,QAAA,sCACEQ,+BAAA,EAAA,EAA8B,IAAA,EAAY,IAAA,EAAM,KAAA,EAAA,EAA3B,KAAK,EAA6B,CAAA;AAAA,MAE1D,CAAC;AAAA;AAAA,GACF;AAEF","file":"index.js","sourcesContent":["import { useHighlightedItemsData } from \"./hooks/data\";\nimport { CircularLoader, colors, IconError16 } from \"@dhis2/ui\";\nimport { useScorecardConfig } from \"../ConfigProvider\";\nimport { HighlightedItem } from \"./components/HighlightedItem\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { useScorecardViewStateValue } from \"../../utils\";\n\nexport function HighlightedItems() {\n\tconst showHighlightedItems = useScorecardViewStateValue<boolean>(\n\t\t\"highlightedIndicators\",\n\t);\n\n\tconst { highlightedIndicators } = useScorecardConfig();\n\tconst { loading, error, data } = useHighlightedItemsData();\n\n\tif (!showHighlightedItems) {\n\t\treturn null;\n\t}\n\n\tif (loading) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\tjustifyContent: \"center\",\n\t\t\t\t\talignItems: \"center\",\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<CircularLoader small />\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif (error) {\n\t\treturn (\n\t\t\t<span\n\t\t\t\tstyle={{ display: \"inline-flex\", alignItems: \"center\", gap: 8 }}\n\t\t\t>\n\t\t\t\t<IconError16 />\n\t\t\t\t<span style={{ fontSize: 14, color: colors.grey700 }}>\n\t\t\t\t\t{`${i18n.t(\"Error loading highlighted items\")}: ${error.message}`}\n\t\t\t\t</span>\n\t\t\t</span>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tstyle={{\n\t\t\t\tdisplay: \"grid\",\n\t\t\t\tgap: 16,\n\t\t\t\tgridTemplateColumns: \"repeat(auto-fill, minmax(400px, 1fr))\",\n\t\t\t}}\n\t\t>\n\t\t\t{highlightedIndicators?.map((item) => {\n\t\t\t\tconst value = data?.rows?.find((row) =>\n\t\t\t\t\trow.includes(item.id),\n\t\t\t\t)?.[1];\n\t\t\t\treturn (\n\t\t\t\t\t<HighlightedItem key={item.id} item={item} data={value} />\n\t\t\t\t);\n\t\t\t})}\n\t\t</div>\n\t);\n}\n"]}
@@ -7,8 +7,7 @@ var dhis2Utils = require('@hisptz/dhis2-utils');
7
7
  var lodash = require('lodash');
8
8
  var ui = require('@dhis2/ui');
9
9
  var JsxParser = require('react-jsx-parser');
10
- var viewState = require('../utils/viewState');
11
- var dimensionState = require('../utils/dimensionState');
10
+ var utils = require('../utils');
12
11
 
13
12
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
14
13
 
@@ -17,8 +16,8 @@ var JsxParser__default = /*#__PURE__*/_interopDefault(JsxParser);
17
16
  function ScorecardHeader() {
18
17
  const config = ConfigProvider.useScorecardConfig();
19
18
  const { customHeader, title, subtitle } = config ?? {};
20
- const periodSelection = dimensionState.usePeriodSelectionValue();
21
- const showTitle = viewState.useScorecardViewStateValue("title");
19
+ const periodSelection = utils.usePeriodSelectionValue();
20
+ const showTitle = utils.useScorecardViewStateValue("title");
22
21
  const periods = react.useMemo(
23
22
  () => periodSelection.periods,
24
23
  [periodSelection.periods]
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/ScorecardHeader.tsx"],"names":["useScorecardConfig","usePeriodSelectionValue","useScorecardViewStateValue","useMemo","PeriodUtility","head","jsx","Fragment","JsxParser","jsxs","colors"],"mappings":";;;;;;;;;;;;;;;;AASO,SAAS,eAAA,GAAkB;AACjC,EAAA,MAAM,SAASA,iCAAA,EAAmB;AAClC,EAAA,MAAM,EAAE,YAAA,EAAc,KAAA,EAAO,QAAA,EAAS,GAAI,UAAU,EAAC;AAErD,EAAA,MAAM,kBAAkBC,sCAAA,EAAwB;AAChD,EAAA,MAAM,SAAA,GAAYC,qCAAoC,OAAO,CAAA;AAE7D,EAAA,MAAM,OAAA,GAAUC,aAAA;AAAA,IACf,MAAM,eAAA,CAAgB,OAAA;AAAA,IACtB,CAAC,gBAAgB,OAAO;AAAA,GACzB;AAEA,EAAA,MAAM,MAAA,GAASA,cAAQ,MAAM;AAC5B,IAAA,IAAI,OAAA,CAAQ,SAAS,CAAA,EAAG;AACvB,MAAA;AAAA,IACD;AACA,IAAA,OAAOC,wBAAA,CAAc,aAAA,CAAcC,WAAA,CAAK,OAAO,GAAG,EAAY,CAAA;AAAA,EAC/D,CAAA,EAAG,CAAC,OAAO,CAAC,CAAA;AAEZ,EAAA,IAAI,CAAC,SAAA,EAAW;AACf,IAAA,OAAO,IAAA;AAAA,EACR;AAEA,EAAA,uBACCC,cAAA,CAAAC,mBAAA,EAAA,EACE,QAAA,EAAA,YAAA;AAAA;AAAA;AAAA,oBAGAD,cAAA;AAAA,MAACE,0BAAA;AAAA,MAAA;AAAA,QACA,qBAAA,EAAqB,IAAA;AAAA,QACrB,SAAA,EAAU,OAAA;AAAA,QACV,SAAS,OAAA,CAAQ,KAAA;AAAA,QACjB,QAAA,EAAU;AAAA,UACT,KAAA;AAAA,UACA,QAAA;AAAA,UACA,MAAA,EAAQ,OAAA,CAAQ,MAAA,KAAW,CAAA,GAAI,QAAQ,IAAA,GAAO;AAAA,SAC/C;AAAA,QACA,GAAA,EAAK;AAAA;AAAA;AACN,sBAEAC,eAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,KAAA,EAAO;AAAA,QACN,OAAA,EAAS,MAAA;AAAA,QACT,aAAA,EAAe,QAAA;AAAA,QACf,UAAA,EAAY,QAAA;AAAA,QACZ,cAAA,EAAgB,QAAA;AAAA,QAChB,KAAA,EAAO,MAAA;AAAA,QACP,GAAA,EAAK;AAAA,OACN;AAAA,MAEA,QAAA,EAAA;AAAA,wBAAAA,eAAA,CAAC,QAAG,KAAA,EAAO,EAAE,QAAQ,CAAA,EAAE,EAAG,IAAI,4BAAA,EAC5B,QAAA,EAAA;AAAA,UAAA,KAAA;AAAA,UAAO,GAAA;AAAA,UACP,CAAA,EAAG,QAAQ,MAAA,KAAW,CAAA,GAAI,MAAM,MAAA,EAAQ,IAAI,KAAK,EAAE,CAAA;AAAA,SAAA,EACrD,CAAA;AAAA,wBACAH,cAAA,CAAC,IAAA,EAAA,EAAG,KAAA,EAAO,EAAE,KAAA,EAAOI,UAAO,OAAA,EAAS,MAAA,EAAQ,CAAA,EAAE,EAC5C,QAAA,EAAA,QAAA,EACF;AAAA;AAAA;AAAA,GACD,EAEF,CAAA;AAEF","file":"ScorecardHeader.js","sourcesContent":["import { useScorecardConfig } from \"./ConfigProvider\";\nimport { useMemo } from \"react\";\nimport { PeriodUtility } from \"@hisptz/dhis2-utils\";\nimport { head } from \"lodash\";\nimport { colors } from \"@dhis2/ui\";\nimport JsxParser from \"react-jsx-parser\";\nimport { useScorecardViewStateValue } from \"../utils/viewState\";\nimport { usePeriodSelectionValue } from \"../utils/dimensionState\";\n\nexport function ScorecardHeader() {\n\tconst config = useScorecardConfig();\n\tconst { customHeader, title, subtitle } = config ?? {};\n\n\tconst periodSelection = usePeriodSelectionValue();\n\tconst showTitle = useScorecardViewStateValue<boolean>(\"title\");\n\n\tconst periods = useMemo(\n\t\t() => periodSelection.periods,\n\t\t[periodSelection.periods],\n\t);\n\n\tconst period = useMemo(() => {\n\t\tif (periods.length > 1) {\n\t\t\treturn;\n\t\t}\n\t\treturn PeriodUtility.getPeriodById(head(periods)?.id as string);\n\t}, [periods]);\n\n\tif (!showTitle) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{customHeader ? (\n\t\t\t\t/*\n // @ts-ignore */\n\t\t\t\t<JsxParser\n\t\t\t\t\tautoCloseVoidElements\n\t\t\t\t\tclassName=\"w-100\"\n\t\t\t\t\tonError={console.error}\n\t\t\t\t\tbindings={{\n\t\t\t\t\t\ttitle,\n\t\t\t\t\t\tsubtitle,\n\t\t\t\t\t\tperiod: periods.length === 1 ? period?.name : \"\",\n\t\t\t\t\t}}\n\t\t\t\t\tjsx={customHeader}\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\tflexDirection: \"column\",\n\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\tjustifyContent: \"center\",\n\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\tgap: 16,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<h1 style={{ margin: 8 }} id={\"data-test-score-card-title\"}>\n\t\t\t\t\t\t{title}{\" \"}\n\t\t\t\t\t\t{`${periods.length === 1 ? ` - ${period?.name}` : \"\"}`}\n\t\t\t\t\t</h1>\n\t\t\t\t\t<h3 style={{ color: colors.grey600, margin: 0 }}>\n\t\t\t\t\t\t{subtitle}\n\t\t\t\t\t</h3>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../src/components/ScorecardHeader.tsx"],"names":["useScorecardConfig","usePeriodSelectionValue","useScorecardViewStateValue","useMemo","PeriodUtility","head","jsx","Fragment","JsxParser","jsxs","colors"],"mappings":";;;;;;;;;;;;;;;AASO,SAAS,eAAA,GAAkB;AACjC,EAAA,MAAM,SAASA,iCAAA,EAAmB;AAClC,EAAA,MAAM,EAAE,YAAA,EAAc,KAAA,EAAO,QAAA,EAAS,GAAI,UAAU,EAAC;AAErD,EAAA,MAAM,kBAAkBC,6BAAA,EAAwB;AAChD,EAAA,MAAM,SAAA,GAAYC,iCAAoC,OAAO,CAAA;AAE7D,EAAA,MAAM,OAAA,GAAUC,aAAA;AAAA,IACf,MAAM,eAAA,CAAgB,OAAA;AAAA,IACtB,CAAC,gBAAgB,OAAO;AAAA,GACzB;AAEA,EAAA,MAAM,MAAA,GAASA,cAAQ,MAAM;AAC5B,IAAA,IAAI,OAAA,CAAQ,SAAS,CAAA,EAAG;AACvB,MAAA;AAAA,IACD;AACA,IAAA,OAAOC,wBAAA,CAAc,aAAA,CAAcC,WAAA,CAAK,OAAO,GAAG,EAAY,CAAA;AAAA,EAC/D,CAAA,EAAG,CAAC,OAAO,CAAC,CAAA;AAEZ,EAAA,IAAI,CAAC,SAAA,EAAW;AACf,IAAA,OAAO,IAAA;AAAA,EACR;AAEA,EAAA,uBACCC,cAAA,CAAAC,mBAAA,EAAA,EACE,QAAA,EAAA,YAAA;AAAA;AAAA;AAAA,oBAGAD,cAAA;AAAA,MAACE,0BAAA;AAAA,MAAA;AAAA,QACA,qBAAA,EAAqB,IAAA;AAAA,QACrB,SAAA,EAAU,OAAA;AAAA,QACV,SAAS,OAAA,CAAQ,KAAA;AAAA,QACjB,QAAA,EAAU;AAAA,UACT,KAAA;AAAA,UACA,QAAA;AAAA,UACA,MAAA,EAAQ,OAAA,CAAQ,MAAA,KAAW,CAAA,GAAI,QAAQ,IAAA,GAAO;AAAA,SAC/C;AAAA,QACA,GAAA,EAAK;AAAA;AAAA;AACN,sBAEAC,eAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,KAAA,EAAO;AAAA,QACN,OAAA,EAAS,MAAA;AAAA,QACT,aAAA,EAAe,QAAA;AAAA,QACf,UAAA,EAAY,QAAA;AAAA,QACZ,cAAA,EAAgB,QAAA;AAAA,QAChB,KAAA,EAAO,MAAA;AAAA,QACP,GAAA,EAAK;AAAA,OACN;AAAA,MAEA,QAAA,EAAA;AAAA,wBAAAA,eAAA,CAAC,QAAG,KAAA,EAAO,EAAE,QAAQ,CAAA,EAAE,EAAG,IAAI,4BAAA,EAC5B,QAAA,EAAA;AAAA,UAAA,KAAA;AAAA,UAAO,GAAA;AAAA,UACP,CAAA,EAAG,QAAQ,MAAA,KAAW,CAAA,GAAI,MAAM,MAAA,EAAQ,IAAI,KAAK,EAAE,CAAA;AAAA,SAAA,EACrD,CAAA;AAAA,wBACAH,cAAA,CAAC,IAAA,EAAA,EAAG,KAAA,EAAO,EAAE,KAAA,EAAOI,UAAO,OAAA,EAAS,MAAA,EAAQ,CAAA,EAAE,EAC5C,QAAA,EAAA,QAAA,EACF;AAAA;AAAA;AAAA,GACD,EAEF,CAAA;AAEF","file":"ScorecardHeader.js","sourcesContent":["import { useScorecardConfig } from \"./ConfigProvider\";\nimport { useMemo } from \"react\";\nimport { PeriodUtility } from \"@hisptz/dhis2-utils\";\nimport { head } from \"lodash\";\nimport { colors } from \"@dhis2/ui\";\nimport JsxParser from \"react-jsx-parser\";\nimport { useScorecardViewStateValue } from \"../utils\";\nimport { usePeriodSelectionValue } from \"../utils\";\n\nexport function ScorecardHeader() {\n\tconst config = useScorecardConfig();\n\tconst { customHeader, title, subtitle } = config ?? {};\n\n\tconst periodSelection = usePeriodSelectionValue();\n\tconst showTitle = useScorecardViewStateValue<boolean>(\"title\");\n\n\tconst periods = useMemo(\n\t\t() => periodSelection.periods,\n\t\t[periodSelection.periods],\n\t);\n\n\tconst period = useMemo(() => {\n\t\tif (periods.length > 1) {\n\t\t\treturn;\n\t\t}\n\t\treturn PeriodUtility.getPeriodById(head(periods)?.id as string);\n\t}, [periods]);\n\n\tif (!showTitle) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{customHeader ? (\n\t\t\t\t/*\n // @ts-ignore */\n\t\t\t\t<JsxParser\n\t\t\t\t\tautoCloseVoidElements\n\t\t\t\t\tclassName=\"w-100\"\n\t\t\t\t\tonError={console.error}\n\t\t\t\t\tbindings={{\n\t\t\t\t\t\ttitle,\n\t\t\t\t\t\tsubtitle,\n\t\t\t\t\t\tperiod: periods.length === 1 ? period?.name : \"\",\n\t\t\t\t\t}}\n\t\t\t\t\tjsx={customHeader}\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\tflexDirection: \"column\",\n\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\tjustifyContent: \"center\",\n\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\tgap: 16,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<h1 style={{ margin: 8 }} id={\"data-test-score-card-title\"}>\n\t\t\t\t\t\t{title}{\" \"}\n\t\t\t\t\t\t{`${periods.length === 1 ? ` - ${period?.name}` : \"\"}`}\n\t\t\t\t\t</h1>\n\t\t\t\t\t<h3 style={{ color: colors.grey600, margin: 0 }}>\n\t\t\t\t\t\t{subtitle}\n\t\t\t\t\t</h3>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</>\n\t);\n}\n"]}
@@ -33,7 +33,6 @@ function SpecificTargetsLibrary() {
33
33
  ),
34
34
  (ds) => lodash.head(ds.specificTargets)?.type
35
35
  );
36
- console.log({ data });
37
36
  data["orgUnitLevel"] = dataSourcesWithSpecificTargets.filter(
38
37
  (ds) => lodash.isEmpty(ds.specificTargets)
39
38
  );
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ScorecardLegendsView/components/SpecificTargetLegendsView.tsx"],"names":["useScorecardConfig","dataSources","getDataSourcesFromGroups","useMemo","groupBy","filter","isEmpty","head","useState","useGetDataSourceLabel","jsx","Fragment","jsxs","TabBar","Tab","i18n","OrgUnitSpecificTargetView","PeriodSpecificTargetView","OrgUnitLevelSpecificTargetView","Modal","ModalTitle","ModalContent","ModalActions","Button","useBoolean"],"mappings":"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","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
+ {"version":3,"sources":["../../../../src/components/ScorecardLegendsView/components/SpecificTargetLegendsView.tsx"],"names":["useScorecardConfig","dataSources","getDataSourcesFromGroups","useMemo","groupBy","filter","isEmpty","head","useState","useGetDataSourceLabel","jsx","Fragment","jsxs","TabBar","Tab","i18n","OrgUnitSpecificTargetView","PeriodSpecificTargetView","OrgUnitLevelSpecificTargetView","Modal","ModalTitle","ModalContent","ModalActions","Button","useBoolean"],"mappings":"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","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\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"]}
@@ -22,7 +22,7 @@ function FurtherAnalysisMenu({
22
22
  const lowestLevel = orgUnit.useLowestOrgUnitLevel();
23
23
  const orgUnitInLowestLevel = react.useMemo(() => {
24
24
  return orgUnits.getOrgUnitLevel(orgUnit$1) === lowestLevel?.level;
25
- }, [lowestLevel, orgUnit$1]);
25
+ }, [orgUnit$1, lowestLevel?.level]);
26
26
  const [showSubMenu, setShowSubMenu] = react.useState(false);
27
27
  return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: /* @__PURE__ */ jsxRuntime.jsx(
28
28
  ui.Popover,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ScorecardTable/components/FurtherAnalysisMenu.tsx"],"names":["orgUnit","useLowestOrgUnitLevel","useMemo","getOrgUnitLevel","useState","jsx","Fragment","Popover","Menu","MenuItem","i18n","IconVisualizationColumnStacked16","IconDimensionOrgUnit16","jsxs","IconVisualizationLine24","IconVisualizationColumnStacked24"],"mappings":"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","file":"FurtherAnalysisMenu.js","sourcesContent":["import { useMemo, useState } from \"react\";\nimport {\n\tIconDimensionOrgUnit16,\n\tIconVisualizationColumnStacked16,\n\tIconVisualizationColumnStacked24,\n\tIconVisualizationLine24,\n\tMenu,\n\tMenuItem,\n\tPopover,\n\ttype ReferenceElement,\n} from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { useLowestOrgUnitLevel } from \"../../../hooks/orgUnit\";\nimport type { ItemMeta } from \"../../../hooks/metadata\";\nimport { getOrgUnitLevel } from \"../../../utils/orgUnits\";\nimport type { FurtherAnalysisConfig } from \"./FurtherAnalysisModal\";\nimport type { ScorecardDataSource } from \"../../../schemas/config\";\n\nexport function FurtherAnalysisMenu({\n\tstateActionRef,\n\tsetStateActionRef,\n\torgUnit,\n\tonSelect,\n\tperiodId,\n\tdataSources,\n}: {\n\tstateActionRef: ReferenceElement;\n\tsetStateActionRef: (val: undefined) => void;\n\torgUnit: ItemMeta & { hierarchy: string };\n\tonSelect: (config: FurtherAnalysisConfig) => void;\n\tperiodId: string;\n\tdataSources: ScorecardDataSource[];\n}) {\n\tconst lowestLevel = useLowestOrgUnitLevel();\n\tconst orgUnitInLowestLevel = useMemo(() => {\n\t\treturn getOrgUnitLevel(orgUnit) === lowestLevel?.level;\n\t}, [lowestLevel, orgUnit]);\n\tconst [showSubMenu, setShowSubMenu] = useState(false);\n\n\treturn (\n\t\t<>\n\t\t\t<Popover\n\t\t\t\tonClickOutside={() => setStateActionRef(undefined)}\n\t\t\t\tplacement=\"bottom-start\"\n\t\t\t\treference={stateActionRef}\n\t\t\t>\n\t\t\t\t<Menu>\n\t\t\t\t\t<MenuItem\n\t\t\t\t\t\tdense\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tonSelect({\n\t\t\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tid: periodId,\n\t\t\t\t\t\t\t\t\t\t},\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\torgUnitSelection: {\n\t\t\t\t\t\t\t\t\tlevels: [],\n\t\t\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\n\t\t\t\t\t\t\t\t\t\t},\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\tdataSources,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tsetStateActionRef(undefined);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tlabel={i18n.t(\"Further Analysis\")}\n\t\t\t\t\t\ticon={<IconVisualizationColumnStacked16 />}\n\t\t\t\t\t/>\n\t\t\t\t\t{!orgUnitInLowestLevel && (\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tsetStateActionRef(undefined);\n\t\t\t\t\t\t\t\tonSelect({\n\t\t\t\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: periodId,\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},\n\t\t\t\t\t\t\t\t\torgUnitSelection: {\n\t\t\t\t\t\t\t\t\t\tlevels: [\n\t\t\t\t\t\t\t\t\t\t\t(\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\t\tgetOrgUnitLevel(orgUnit) ??\n\t\t\t\t\t\t\t\t\t\t\t\t\t0\n\t\t\t\t\t\t\t\t\t\t\t\t) + 1\n\t\t\t\t\t\t\t\t\t\t\t).toString(),\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\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},\n\t\t\t\t\t\t\t\t\tdataSources,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tlabel={i18n.t(\"Lower Organisation Unit Levels\")}\n\t\t\t\t\t\t\ticon={<IconDimensionOrgUnit16 />}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t<MenuItem\n\t\t\t\t\t\tdense\n\t\t\t\t\t\tshowSubMenu={showSubMenu}\n\t\t\t\t\t\tactive={showSubMenu}\n\t\t\t\t\t\ttoggleSubMenu={() => {\n\t\t\t\t\t\t\tsetShowSubMenu((prevState) => !prevState);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tlabel={i18n.t(\"Trend Analysis \")}\n\t\t\t\t\t\ticon={<IconVisualizationLine24 />}\n\t\t\t\t\t>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tsetStateActionRef(undefined);\n\t\t\t\t\t\t\t\tonSelect({\n\t\t\t\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: \"LAST_3_MONTHS\",\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},\n\t\t\t\t\t\t\t\t\torgUnitSelection: {\n\t\t\t\t\t\t\t\t\t\tlevels: [],\n\t\t\t\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\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},\n\t\t\t\t\t\t\t\t\tdataSources,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tlabel={i18n.t(\"Last 3 Months\")}\n\t\t\t\t\t\t\ticon={<IconVisualizationColumnStacked24 />}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tsetStateActionRef(undefined);\n\t\t\t\t\t\t\t\tonSelect({\n\t\t\t\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: \"LAST_6_MONTHS\",\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},\n\t\t\t\t\t\t\t\t\torgUnitSelection: {\n\t\t\t\t\t\t\t\t\t\tlevels: [],\n\t\t\t\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\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},\n\t\t\t\t\t\t\t\t\tdataSources,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tlabel={i18n.t(\"Last 6 Months\")}\n\t\t\t\t\t\t\ticon={<IconVisualizationColumnStacked24 />}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tsetStateActionRef(undefined);\n\t\t\t\t\t\t\t\tonSelect({\n\t\t\t\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: \"LAST_12_MONTHS\",\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},\n\t\t\t\t\t\t\t\t\torgUnitSelection: {\n\t\t\t\t\t\t\t\t\t\tlevels: [],\n\t\t\t\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\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},\n\t\t\t\t\t\t\t\t\tdataSources,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tlabel={i18n.t(\"Last 12 Months\")}\n\t\t\t\t\t\t\ticon={<IconVisualizationColumnStacked24 />}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tsetStateActionRef(undefined);\n\t\t\t\t\t\t\t\tonSelect({\n\t\t\t\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: \"LAST_4_QUARTERS\",\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},\n\t\t\t\t\t\t\t\t\torgUnitSelection: {\n\t\t\t\t\t\t\t\t\t\tlevels: [],\n\t\t\t\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\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},\n\t\t\t\t\t\t\t\t\tdataSources,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tlabel={i18n.t(\"Last 4 Quarters\")}\n\t\t\t\t\t\t\ticon={<IconVisualizationColumnStacked24 />}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tsetStateActionRef(undefined);\n\t\t\t\t\t\t\t\tonSelect({\n\t\t\t\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: \"LAST_5_YEARS\",\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},\n\t\t\t\t\t\t\t\t\torgUnitSelection: {\n\t\t\t\t\t\t\t\t\t\tlevels: [],\n\t\t\t\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\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},\n\t\t\t\t\t\t\t\t\tdataSources,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tlabel={i18n.t(\"Last 5 Years\")}\n\t\t\t\t\t\t\ticon={<IconVisualizationColumnStacked24 />}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</MenuItem>\n\t\t\t\t</Menu>\n\t\t\t</Popover>\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../../src/components/ScorecardTable/components/FurtherAnalysisMenu.tsx"],"names":["orgUnit","useLowestOrgUnitLevel","useMemo","getOrgUnitLevel","useState","jsx","Fragment","Popover","Menu","MenuItem","i18n","IconVisualizationColumnStacked16","IconDimensionOrgUnit16","jsxs","IconVisualizationLine24","IconVisualizationColumnStacked24"],"mappings":"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","file":"FurtherAnalysisMenu.js","sourcesContent":["import { useMemo, useState } from \"react\";\nimport {\n\tIconDimensionOrgUnit16,\n\tIconVisualizationColumnStacked16,\n\tIconVisualizationColumnStacked24,\n\tIconVisualizationLine24,\n\tMenu,\n\tMenuItem,\n\tPopover,\n\ttype ReferenceElement,\n} from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { useLowestOrgUnitLevel } from \"../../../hooks/orgUnit\";\nimport type { ItemMeta } from \"../../../hooks/metadata\";\nimport { getOrgUnitLevel } from \"../../../utils/orgUnits\";\nimport type { FurtherAnalysisConfig } from \"./FurtherAnalysisModal\";\nimport type { ScorecardDataSource } from \"../../../schemas/config\";\n\nexport function FurtherAnalysisMenu({\n\tstateActionRef,\n\tsetStateActionRef,\n\torgUnit,\n\tonSelect,\n\tperiodId,\n\tdataSources,\n}: {\n\tstateActionRef: ReferenceElement;\n\tsetStateActionRef: (val: undefined) => void;\n\torgUnit: ItemMeta & { hierarchy: string };\n\tonSelect: (config: FurtherAnalysisConfig) => void;\n\tperiodId: string;\n\tdataSources: ScorecardDataSource[];\n}) {\n\tconst lowestLevel = useLowestOrgUnitLevel();\n\tconst orgUnitInLowestLevel = useMemo(() => {\n\t\treturn getOrgUnitLevel(orgUnit) === lowestLevel?.level;\n\t}, [orgUnit, lowestLevel?.level]);\n\tconst [showSubMenu, setShowSubMenu] = useState(false);\n\n\treturn (\n\t\t<>\n\t\t\t<Popover\n\t\t\t\tonClickOutside={() => setStateActionRef(undefined)}\n\t\t\t\tplacement=\"bottom-start\"\n\t\t\t\treference={stateActionRef}\n\t\t\t>\n\t\t\t\t<Menu>\n\t\t\t\t\t<MenuItem\n\t\t\t\t\t\tdense\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tonSelect({\n\t\t\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tid: periodId,\n\t\t\t\t\t\t\t\t\t\t},\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\torgUnitSelection: {\n\t\t\t\t\t\t\t\t\tlevels: [],\n\t\t\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\n\t\t\t\t\t\t\t\t\t\t},\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\tdataSources,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tsetStateActionRef(undefined);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tlabel={i18n.t(\"Further Analysis\")}\n\t\t\t\t\t\ticon={<IconVisualizationColumnStacked16 />}\n\t\t\t\t\t/>\n\t\t\t\t\t{!orgUnitInLowestLevel && (\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tsetStateActionRef(undefined);\n\t\t\t\t\t\t\t\tonSelect({\n\t\t\t\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: periodId,\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},\n\t\t\t\t\t\t\t\t\torgUnitSelection: {\n\t\t\t\t\t\t\t\t\t\tlevels: [\n\t\t\t\t\t\t\t\t\t\t\t(\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\t\tgetOrgUnitLevel(orgUnit) ??\n\t\t\t\t\t\t\t\t\t\t\t\t\t0\n\t\t\t\t\t\t\t\t\t\t\t\t) + 1\n\t\t\t\t\t\t\t\t\t\t\t).toString(),\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\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},\n\t\t\t\t\t\t\t\t\tdataSources,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tlabel={i18n.t(\"Lower Organisation Unit Levels\")}\n\t\t\t\t\t\t\ticon={<IconDimensionOrgUnit16 />}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t<MenuItem\n\t\t\t\t\t\tdense\n\t\t\t\t\t\tshowSubMenu={showSubMenu}\n\t\t\t\t\t\tactive={showSubMenu}\n\t\t\t\t\t\ttoggleSubMenu={() => {\n\t\t\t\t\t\t\tsetShowSubMenu((prevState) => !prevState);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tlabel={i18n.t(\"Trend Analysis \")}\n\t\t\t\t\t\ticon={<IconVisualizationLine24 />}\n\t\t\t\t\t>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tsetStateActionRef(undefined);\n\t\t\t\t\t\t\t\tonSelect({\n\t\t\t\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: \"LAST_3_MONTHS\",\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},\n\t\t\t\t\t\t\t\t\torgUnitSelection: {\n\t\t\t\t\t\t\t\t\t\tlevels: [],\n\t\t\t\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\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},\n\t\t\t\t\t\t\t\t\tdataSources,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tlabel={i18n.t(\"Last 3 Months\")}\n\t\t\t\t\t\t\ticon={<IconVisualizationColumnStacked24 />}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tsetStateActionRef(undefined);\n\t\t\t\t\t\t\t\tonSelect({\n\t\t\t\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: \"LAST_6_MONTHS\",\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},\n\t\t\t\t\t\t\t\t\torgUnitSelection: {\n\t\t\t\t\t\t\t\t\t\tlevels: [],\n\t\t\t\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\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},\n\t\t\t\t\t\t\t\t\tdataSources,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tlabel={i18n.t(\"Last 6 Months\")}\n\t\t\t\t\t\t\ticon={<IconVisualizationColumnStacked24 />}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tsetStateActionRef(undefined);\n\t\t\t\t\t\t\t\tonSelect({\n\t\t\t\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: \"LAST_12_MONTHS\",\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},\n\t\t\t\t\t\t\t\t\torgUnitSelection: {\n\t\t\t\t\t\t\t\t\t\tlevels: [],\n\t\t\t\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\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},\n\t\t\t\t\t\t\t\t\tdataSources,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tlabel={i18n.t(\"Last 12 Months\")}\n\t\t\t\t\t\t\ticon={<IconVisualizationColumnStacked24 />}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tsetStateActionRef(undefined);\n\t\t\t\t\t\t\t\tonSelect({\n\t\t\t\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: \"LAST_4_QUARTERS\",\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},\n\t\t\t\t\t\t\t\t\torgUnitSelection: {\n\t\t\t\t\t\t\t\t\t\tlevels: [],\n\t\t\t\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\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},\n\t\t\t\t\t\t\t\t\tdataSources,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tlabel={i18n.t(\"Last 4 Quarters\")}\n\t\t\t\t\t\t\ticon={<IconVisualizationColumnStacked24 />}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tsetStateActionRef(undefined);\n\t\t\t\t\t\t\t\tonSelect({\n\t\t\t\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: \"LAST_5_YEARS\",\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},\n\t\t\t\t\t\t\t\t\torgUnitSelection: {\n\t\t\t\t\t\t\t\t\t\tlevels: [],\n\t\t\t\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\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},\n\t\t\t\t\t\t\t\t\tdataSources,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tlabel={i18n.t(\"Last 5 Years\")}\n\t\t\t\t\t\t\ticon={<IconVisualizationColumnStacked24 />}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</MenuItem>\n\t\t\t\t</Menu>\n\t\t\t</Popover>\n\t\t</>\n\t);\n}\n"]}
@@ -6,13 +6,14 @@ var TableStateProvider = require('../../TableStateProvider');
6
6
  var react = require('react');
7
7
 
8
8
  function PaginatedToolbar() {
9
+ react.useRef(false);
9
10
  const [isPending, startTransition] = react.useTransition();
10
11
  const table = TableStateProvider.useTableState();
11
12
  const rowCount = table.getRowCount();
12
13
  const page = table.getState().pagination.pageIndex + 1;
13
14
  const pageSize = table.getState().pagination.pageSize;
14
15
  const pageCount = table.getPageCount();
15
- const toggleTableLoading = TableStateProvider.useToggleTableLoadingState();
16
+ TableStateProvider.useToggleTableLoadingState();
16
17
  const onPageChange = (page2) => {
17
18
  startTransition(() => {
18
19
  table.setPageIndex(page2 - 1);
@@ -23,9 +24,6 @@ function PaginatedToolbar() {
23
24
  table.setPageSize(pageSize2);
24
25
  });
25
26
  };
26
- react.useEffect(() => {
27
- toggleTableLoading();
28
- }, [isPending]);
29
27
  if (rowCount <= 50 || table.options.meta?.disablePagination) {
30
28
  return null;
31
29
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ScorecardTable/components/PaginatedToolbar.tsx"],"names":["useTransition","useTableState","useToggleTableLoadingState","page","pageSize","useEffect","jsx","DataTableToolbar","Pagination"],"mappings":";;;;;;;AAOO,SAAS,gBAAA,GAAmB;AAClC,EAAA,MAAM,CAAC,SAAA,EAAW,eAAe,CAAA,GAAIA,mBAAA,EAAc;AACnD,EAAA,MAAM,QAAQC,gCAAA,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,qBAAqBC,6CAAA,EAA2B;AAEtD,EAAA,MAAM,YAAA,GAAe,CAACC,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,EAAAC,eAAA,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,uBACCC,cAAA;AAAA,IAACC,mBAAA;AAAA,IAAA;AAAA,MAGA,KAAA,EAAO,EAAE,QAAA,EAAU,OAAA,EAAQ;AAAA,MAC3B,QAAA,EAAS,QAAA;AAAA,MAET,yCAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,KAAA,EAAO,WAAU,EAC9B,QAAA,kBAAAD,cAAA;AAAA,QAACE,aAAA;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"]}
1
+ {"version":3,"sources":["../../../../src/components/ScorecardTable/components/PaginatedToolbar.tsx"],"names":["useRef","useTransition","useTableState","useToggleTableLoadingState","page","pageSize","jsx","DataTableToolbar","Pagination"],"mappings":";;;;;;;AAOO,SAAS,gBAAA,GAAmB;AAClC,EAAiBA,aAAgB,KAAK;AACtC,EAAA,MAAM,CAAC,SAAA,EAAW,eAAe,CAAA,GAAIC,mBAAA,EAAc;AACnD,EAAA,MAAM,QAAQC,gCAAA,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,EAA2BC,6CAAA;AAE3B,EAAA,MAAM,YAAA,GAAe,CAACC,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,IACC,QAAA,IAAY,EAAA,IACX,KAAA,CAAM,OAAA,CAAQ,MACZ,iBAAA,EACF;AACD,IAAA,OAAO,IAAA;AAAA,EACR;AAEA,EAAA,uBACCC,cAAA;AAAA,IAACC,mBAAA;AAAA,IAAA;AAAA,MAGA,KAAA,EAAO,EAAE,QAAA,EAAU,OAAA,EAAQ;AAAA,MAC3B,QAAA,EAAS,QAAA;AAAA,MAET,yCAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,KAAA,EAAO,WAAU,EAC9B,QAAA,kBAAAD,cAAA;AAAA,QAACE,aAAA;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 { useRef, useTransition } from \"react\";\n\nexport function PaginatedToolbar() {\n\tconst rendered = useRef<boolean>(false);\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\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"]}
@@ -1,15 +1,21 @@
1
- import { jsxs, jsx } from 'react/jsx-runtime';
2
- import { useMemo } from 'react';
1
+ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
+ import { useState, useMemo } from 'react';
3
3
  import { getLegend, getTextColorFromBackgroundColor } from '../../../utils/legends';
4
4
  import { useScorecardMeta } from '../../MetaProvider';
5
5
  import { useScorecardConfig } from '../../ConfigProvider';
6
6
  import { colors } from '@dhis2/ui';
7
+ import { FurtherAnalysis } from '../../ScorecardTable/components/FurtherAnalysisModal';
8
+ import { useScorecardViewStateValue } from '../../../utils';
7
9
 
8
10
  function HighlightedItem({
9
11
  item,
10
12
  data
11
13
  }) {
14
+ const disableFurtherAnalysis = useScorecardViewStateValue(
15
+ "disableFurtherAnalysis"
16
+ );
12
17
  const config = useScorecardConfig();
18
+ const [furtherAnalysisConfig, setFurtherAnalysisConfig] = useState(null);
13
19
  const meta = useScorecardMeta();
14
20
  const legendDefinition = useMemo(() => {
15
21
  return data ? getLegend({
@@ -19,44 +25,77 @@ function HighlightedItem({
19
25
  config
20
26
  }) : void 0;
21
27
  }, [item, data, meta, config]);
22
- return /* @__PURE__ */ jsxs(
23
- "div",
24
- {
25
- style: {
26
- display: "flex",
27
- gap: 16,
28
- justifyContent: "space-between",
29
- border: `1px solid ${colors.grey500}`,
30
- borderRadius: 4,
31
- minHeight: 48,
32
- alignItems: "center",
33
- width: "100%"
34
- },
35
- children: [
36
- /* @__PURE__ */ jsx("span", { style: { padding: 8, fontSize: 14 }, children: item.label ?? item.name }),
37
- /* @__PURE__ */ jsx(
38
- "div",
39
- {
40
- style: {
41
- minHeight: 48,
42
- height: "100%",
43
- width: 100,
44
- display: "flex",
45
- justifyContent: "center",
46
- borderLeft: `1px solid ${colors.grey500}`,
47
- alignItems: "center",
48
- padding: 8,
49
- background: legendDefinition?.color,
50
- color: legendDefinition?.color ? getTextColorFromBackgroundColor(
51
- legendDefinition?.color
52
- ) : void 0
53
- },
54
- children: /* @__PURE__ */ jsx("b", { children: data })
55
- }
56
- )
57
- ]
58
- }
59
- );
28
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
29
+ !!furtherAnalysisConfig && /* @__PURE__ */ jsx(
30
+ FurtherAnalysis,
31
+ {
32
+ onClose: () => {
33
+ setFurtherAnalysisConfig(null);
34
+ },
35
+ hide: !furtherAnalysisConfig,
36
+ config: furtherAnalysisConfig
37
+ }
38
+ ),
39
+ /* @__PURE__ */ jsxs(
40
+ "div",
41
+ {
42
+ style: {
43
+ display: "flex",
44
+ gap: 16,
45
+ justifyContent: "space-between",
46
+ border: `1px solid ${colors.grey500}`,
47
+ borderRadius: 4,
48
+ minHeight: 48,
49
+ alignItems: "center",
50
+ width: "100%"
51
+ },
52
+ children: [
53
+ /* @__PURE__ */ jsx("span", { style: { padding: 8, fontSize: 14 }, children: item.label ?? item.name }),
54
+ /* @__PURE__ */ jsx(
55
+ "div",
56
+ {
57
+ onClick: (event) => {
58
+ event.stopPropagation();
59
+ if (!disableFurtherAnalysis) {
60
+ setFurtherAnalysisConfig({
61
+ periodSelection: {
62
+ periods: meta.periods.map(({ uid }) => ({
63
+ id: uid
64
+ }))
65
+ },
66
+ orgUnitSelection: {
67
+ levels: [],
68
+ groups: [],
69
+ orgUnits: meta.orgUnits.map((orgUnit) => ({
70
+ id: orgUnit.uid
71
+ }))
72
+ },
73
+ dataSources: [item]
74
+ });
75
+ }
76
+ },
77
+ style: {
78
+ minHeight: 48,
79
+ cursor: "pointer",
80
+ height: "100%",
81
+ width: 100,
82
+ display: "flex",
83
+ justifyContent: "center",
84
+ borderLeft: `1px solid ${colors.grey500}`,
85
+ alignItems: "center",
86
+ padding: 8,
87
+ background: legendDefinition?.color,
88
+ color: legendDefinition?.color ? getTextColorFromBackgroundColor(
89
+ legendDefinition?.color
90
+ ) : void 0
91
+ },
92
+ children: /* @__PURE__ */ jsx("b", { children: data })
93
+ }
94
+ )
95
+ ]
96
+ }
97
+ )
98
+ ] });
60
99
  }
61
100
 
62
101
  export { HighlightedItem };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/HighlightedItems/components/HighlightedItem.tsx"],"names":[],"mappings":";;;;;;;AAUO,SAAS,eAAA,CAAgB;AAAA,EAC/B,IAAA;AAAA,EACA;AACD,CAAA,EAGG;AACF,EAAA,MAAM,SAAS,kBAAA,EAAmB;AAClC,EAAA,MAAM,OAAO,gBAAA,EAAiB;AAC9B,EAAA,MAAM,gBAAA,GAAmB,QAAQ,MAAM;AACtC,IAAA,OAAO,OACJ,SAAA,CAAU;AAAA,MACV,UAAA,EAAY,IAAA;AAAA,MACZ,KAAA,EAAO,WAAW,IAAI,CAAA;AAAA,MACtB,eAAe,IAAA,CAAM,aAAA;AAAA,MACrB;AAAA,KACA,CAAA,GACA,MAAA;AAAA,EACJ,GAAG,CAAC,IAAA,EAAM,IAAA,EAAM,IAAA,EAAM,MAAM,CAAC,CAAA;AAE7B,EAAA,uBACC,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,KAAA,EAAO;AAAA,QACN,OAAA,EAAS,MAAA;AAAA,QACT,GAAA,EAAK,EAAA;AAAA,QACL,cAAA,EAAgB,eAAA;AAAA,QAChB,MAAA,EAAQ,CAAA,UAAA,EAAa,MAAA,CAAO,OAAO,CAAA,CAAA;AAAA,QACnC,YAAA,EAAc,CAAA;AAAA,QACd,SAAA,EAAW,EAAA;AAAA,QACX,UAAA,EAAY,QAAA;AAAA,QACZ,KAAA,EAAO;AAAA,OACR;AAAA,MAEA,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,KAAA,EAAO,EAAE,OAAA,EAAS,CAAA,EAAG,QAAA,EAAU,EAAA,EAAG,EACtC,QAAA,EAAA,IAAA,CAAK,KAAA,IAAS,IAAA,CAAK,IAAA,EACrB,CAAA;AAAA,wBACA,GAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACA,KAAA,EAAO;AAAA,cACN,SAAA,EAAW,EAAA;AAAA,cACX,MAAA,EAAQ,MAAA;AAAA,cACR,KAAA,EAAO,GAAA;AAAA,cACP,OAAA,EAAS,MAAA;AAAA,cACT,cAAA,EAAgB,QAAA;AAAA,cAChB,UAAA,EAAY,CAAA,UAAA,EAAa,MAAA,CAAO,OAAO,CAAA,CAAA;AAAA,cACvC,UAAA,EAAY,QAAA;AAAA,cACZ,OAAA,EAAS,CAAA;AAAA,cACT,YAAY,gBAAA,EAAkB,KAAA;AAAA,cAC9B,KAAA,EAAO,kBAAkB,KAAA,GACtB,+BAAA;AAAA,gBACA,gBAAA,EAAkB;AAAA,eACnB,GACC;AAAA,aACJ;AAAA,YAEA,QAAA,kBAAA,GAAA,CAAC,OAAG,QAAA,EAAA,IAAA,EAAK;AAAA;AAAA;AACV;AAAA;AAAA,GACD;AAEF","file":"HighlightedItem.js","sourcesContent":["import type { ScorecardDataSource } from \"../../../schemas/config\";\nimport { useMemo } from \"react\";\nimport {\n\tgetLegend,\n\tgetTextColorFromBackgroundColor,\n} from \"../../../utils/legends\";\nimport { useScorecardMeta } from \"../../MetaProvider\";\nimport { useScorecardConfig } from \"../../ConfigProvider\";\nimport { colors } from \"@dhis2/ui\";\n\nexport function HighlightedItem({\n\titem,\n\tdata,\n}: {\n\titem: ScorecardDataSource;\n\tdata?: string;\n}) {\n\tconst config = useScorecardConfig();\n\tconst meta = useScorecardMeta();\n\tconst legendDefinition = useMemo(() => {\n\t\treturn data\n\t\t\t? getLegend({\n\t\t\t\t\tdataSource: item,\n\t\t\t\t\tvalue: parseFloat(data),\n\t\t\t\t\torgUnitLevels: meta!.orgUnitLevels,\n\t\t\t\t\tconfig: config!,\n\t\t\t\t})\n\t\t\t: undefined;\n\t}, [item, data, meta, config]);\n\n\treturn (\n\t\t<div\n\t\t\tstyle={{\n\t\t\t\tdisplay: \"flex\",\n\t\t\t\tgap: 16,\n\t\t\t\tjustifyContent: \"space-between\",\n\t\t\t\tborder: `1px solid ${colors.grey500}`,\n\t\t\t\tborderRadius: 4,\n\t\t\t\tminHeight: 48,\n\t\t\t\talignItems: \"center\",\n\t\t\t\twidth: \"100%\",\n\t\t\t}}\n\t\t>\n\t\t\t<span style={{ padding: 8, fontSize: 14 }}>\n\t\t\t\t{item.label ?? item.name}\n\t\t\t</span>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tminHeight: 48,\n\t\t\t\t\theight: \"100%\",\n\t\t\t\t\twidth: 100,\n\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\tjustifyContent: \"center\",\n\t\t\t\t\tborderLeft: `1px solid ${colors.grey500}`,\n\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\tpadding: 8,\n\t\t\t\t\tbackground: legendDefinition?.color,\n\t\t\t\t\tcolor: legendDefinition?.color\n\t\t\t\t\t\t? getTextColorFromBackgroundColor(\n\t\t\t\t\t\t\t\tlegendDefinition?.color,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t: undefined,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<b>{data}</b>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../../../src/components/HighlightedItems/components/HighlightedItem.tsx"],"names":[],"mappings":"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","file":"HighlightedItem.js","sourcesContent":["import type { ScorecardDataSource } from \"../../../schemas/config\";\nimport { useMemo, useState } from \"react\";\nimport {\n\tgetLegend,\n\tgetTextColorFromBackgroundColor,\n} from \"../../../utils/legends\";\nimport { useScorecardMeta } from \"../../MetaProvider\";\nimport { useScorecardConfig } from \"../../ConfigProvider\";\nimport { colors } from \"@dhis2/ui\";\nimport {\n\tFurtherAnalysis,\n\ttype FurtherAnalysisConfig,\n} from \"../../ScorecardTable/components/FurtherAnalysisModal\";\nimport { useScorecardViewStateValue } from \"../../../utils\";\n\nexport function HighlightedItem({\n\titem,\n\tdata,\n}: {\n\titem: ScorecardDataSource;\n\tdata?: string;\n}) {\n\tconst disableFurtherAnalysis = useScorecardViewStateValue<boolean>(\n\t\t\"disableFurtherAnalysis\",\n\t);\n\tconst config = useScorecardConfig();\n\tconst [furtherAnalysisConfig, setFurtherAnalysisConfig] =\n\t\tuseState<FurtherAnalysisConfig | null>(null);\n\n\tconst meta = useScorecardMeta();\n\tconst legendDefinition = useMemo(() => {\n\t\treturn data\n\t\t\t? getLegend({\n\t\t\t\t\tdataSource: item,\n\t\t\t\t\tvalue: parseFloat(data),\n\t\t\t\t\torgUnitLevels: meta!.orgUnitLevels,\n\t\t\t\t\tconfig: config!,\n\t\t\t\t})\n\t\t\t: undefined;\n\t}, [item, data, meta, config]);\n\n\treturn (\n\t\t<>\n\t\t\t{!!furtherAnalysisConfig && (\n\t\t\t\t<FurtherAnalysis\n\t\t\t\t\tonClose={() => {\n\t\t\t\t\t\tsetFurtherAnalysisConfig(null);\n\t\t\t\t\t}}\n\t\t\t\t\thide={!furtherAnalysisConfig}\n\t\t\t\t\tconfig={furtherAnalysisConfig}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\tgap: 16,\n\t\t\t\t\tjustifyContent: \"space-between\",\n\t\t\t\t\tborder: `1px solid ${colors.grey500}`,\n\t\t\t\t\tborderRadius: 4,\n\t\t\t\t\tminHeight: 48,\n\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\twidth: \"100%\",\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<span style={{ padding: 8, fontSize: 14 }}>\n\t\t\t\t\t{item.label ?? item.name}\n\t\t\t\t</span>\n\t\t\t\t<div\n\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\tif (!disableFurtherAnalysis) {\n\t\t\t\t\t\t\tsetFurtherAnalysisConfig({\n\t\t\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\t\t\tperiods: meta!.periods.map(({ uid }) => ({\n\t\t\t\t\t\t\t\t\t\tid: uid,\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\torgUnitSelection: {\n\t\t\t\t\t\t\t\t\tlevels: [],\n\t\t\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\t\t\torgUnits: meta!.orgUnits.map((orgUnit) => ({\n\t\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\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\tdataSources: [item],\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tminHeight: 48,\n\t\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\t\theight: \"100%\",\n\t\t\t\t\t\twidth: 100,\n\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\tjustifyContent: \"center\",\n\t\t\t\t\t\tborderLeft: `1px solid ${colors.grey500}`,\n\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\tpadding: 8,\n\t\t\t\t\t\tbackground: legendDefinition?.color,\n\t\t\t\t\t\tcolor: legendDefinition?.color\n\t\t\t\t\t\t\t? getTextColorFromBackgroundColor(\n\t\t\t\t\t\t\t\t\tlegendDefinition?.color,\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<b>{data}</b>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
@@ -1,7 +1,8 @@
1
1
  import { useScorecardMeta } from '../../MetaProvider';
2
2
  import { useScorecardConfig } from '../../ConfigProvider';
3
- import { useMemo } from 'react';
3
+ import { useMemo, useEffect } from 'react';
4
4
  import { useDataQuery } from '@dhis2/app-runtime';
5
+ import { useScorecardViewStateValue } from '../../../utils';
5
6
 
6
7
  const query = {
7
8
  data: {
@@ -20,6 +21,9 @@ const query = {
20
21
  }
21
22
  };
22
23
  function useHighlightedItemsData() {
24
+ const showHighlightedItems = useScorecardViewStateValue(
25
+ "highlightedIndicators"
26
+ );
23
27
  const meta = useScorecardMeta();
24
28
  const { highlightedIndicators } = useScorecardConfig();
25
29
  const dimensions = useMemo(() => {
@@ -34,9 +38,18 @@ function useHighlightedItemsData() {
34
38
  dataItems
35
39
  };
36
40
  }, [highlightedIndicators, meta]);
37
- const { data, loading, error } = useDataQuery(query, {
38
- variables: dimensions
39
- });
41
+ const { data, loading, error, refetch } = useDataQuery(
42
+ query,
43
+ {
44
+ variables: dimensions,
45
+ lazy: true
46
+ }
47
+ );
48
+ useEffect(() => {
49
+ if (showHighlightedItems) {
50
+ refetch();
51
+ }
52
+ }, [showHighlightedItems, dimensions]);
40
53
  return {
41
54
  data: data?.data,
42
55
  loading,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/HighlightedItems/hooks/data.ts"],"names":[],"mappings":";;;;;AAMA,MAAM,KAAA,GAAa;AAAA,EAClB,IAAA,EAAM;AAAA,IACL,QAAA,EAAU,WAAA;AAAA,IACV,QAAQ,CAAC;AAAA,MACR,OAAA;AAAA,MACA,QAAA;AAAA,MACA;AAAA,KACD,KAIM;AACL,MAAA,OAAO;AAAA,QACN,QAAA,EAAU,IAAA;AAAA,QACV,WAAW,CAAC,CAAA,GAAA,EAAM,UAAU,IAAA,CAAK,GAAG,CAAC,CAAA,CAAE,CAAA;AAAA,QACvC,MAAA,EAAQ,CAAC,CAAA,GAAA,EAAM,QAAA,CAAS,IAAA,CAAK,GAAG,CAAC,CAAA,CAAA,EAAI,CAAA,GAAA,EAAM,OAAA,CAAQ,IAAA,CAAK,GAAG,CAAC,CAAA,CAAE;AAAA,OAC/D;AAAA,IACD;AAAA;AAEF,CAAA;AAEO,SAAS,uBAAA,GAA0B;AACzC,EAAA,MAAM,OAAO,gBAAA,EAAiB;AAE9B,EAAA,MAAM,EAAE,qBAAA,EAAsB,GAAI,kBAAA,EAAmB;AACrD,EAAA,MAAM,UAAA,GAAa,QAAQ,MAAM;AAChC,IAAA,MAAM,OAAA,GAAU,MAAM,OAAA,CAAQ,GAAA,CAAI,CAAC,MAAA,KAAW,MAAA,CAAO,GAAG,CAAA,IAAK,EAAC;AAC9D,IAAA,MAAM,QAAA,GAAW,MAAM,QAAA,CAAS,GAAA,CAAI,CAAC,OAAA,KAAY,OAAA,CAAQ,GAAG,CAAA,IAAK,EAAC;AAClE,IAAA,MAAM,YAAY,qBAAA,CAAsB,GAAA;AAAA,MACvC,CAAC,cAAc,SAAA,CAAU;AAAA,KAC1B;AACA,IAAA,OAAO;AAAA,MACN,OAAA;AAAA,MACA,QAAA;AAAA,MACA;AAAA,KACD;AAAA,EACD,CAAA,EAAG,CAAC,qBAAA,EAAuB,IAAI,CAAC,CAAA;AAChC,EAAA,MAAM,EAAE,IAAA,EAAM,OAAA,EAAS,KAAA,EAAM,GAAI,aAAkC,KAAA,EAAO;AAAA,IACzE,SAAA,EAAW;AAAA,GACX,CAAA;AAED,EAAA,OAAO;AAAA,IACN,MAAM,IAAA,EAAM,IAAA;AAAA,IACZ,OAAA;AAAA,IACA;AAAA,GACD;AACD","file":"data.js","sourcesContent":["import { useScorecardMeta } from \"../../MetaProvider\";\nimport { useScorecardConfig } from \"../../ConfigProvider\";\nimport { useMemo } from \"react\";\nimport { useDataQuery } from \"@dhis2/app-runtime\";\nimport type { Analytics } from \"@hisptz/dhis2-utils\";\n\nconst query: any = {\n\tdata: {\n\t\tresource: \"analytics\",\n\t\tparams: ({\n\t\t\tperiods,\n\t\t\torgUnits,\n\t\t\tdataItems,\n\t\t}: {\n\t\t\tperiods: string[];\n\t\t\torgUnits: string[];\n\t\t\tdataItems: string[];\n\t\t}) => {\n\t\t\treturn {\n\t\t\t\tskipMeta: true,\n\t\t\t\tdimension: [`dx:${dataItems.join(\";\")}`],\n\t\t\t\tfilter: [`ou:${orgUnits.join(\";\")}`, `pe:${periods.join(\";\")}`],\n\t\t\t};\n\t\t},\n\t},\n};\n\nexport function useHighlightedItemsData() {\n\tconst meta = useScorecardMeta();\n\n\tconst { highlightedIndicators } = useScorecardConfig();\n\tconst dimensions = useMemo(() => {\n\t\tconst periods = meta?.periods.map((period) => period.uid) || [];\n\t\tconst orgUnits = meta?.orgUnits.map((orgUnit) => orgUnit.uid) || [];\n\t\tconst dataItems = highlightedIndicators.map(\n\t\t\t(indicator) => indicator.id,\n\t\t);\n\t\treturn {\n\t\t\tperiods,\n\t\t\torgUnits,\n\t\t\tdataItems,\n\t\t};\n\t}, [highlightedIndicators, meta]);\n\tconst { data, loading, error } = useDataQuery<{ data: Analytics }>(query, {\n\t\tvariables: dimensions,\n\t});\n\n\treturn {\n\t\tdata: data?.data,\n\t\tloading,\n\t\terror,\n\t};\n}\n"]}
1
+ {"version":3,"sources":["../../../../../src/components/HighlightedItems/hooks/data.ts"],"names":[],"mappings":";;;;;;AAOA,MAAM,KAAA,GAAa;AAAA,EAClB,IAAA,EAAM;AAAA,IACL,QAAA,EAAU,WAAA;AAAA,IACV,QAAQ,CAAC;AAAA,MACR,OAAA;AAAA,MACA,QAAA;AAAA,MACA;AAAA,KACD,KAIM;AACL,MAAA,OAAO;AAAA,QACN,QAAA,EAAU,IAAA;AAAA,QACV,WAAW,CAAC,CAAA,GAAA,EAAM,UAAU,IAAA,CAAK,GAAG,CAAC,CAAA,CAAE,CAAA;AAAA,QACvC,MAAA,EAAQ,CAAC,CAAA,GAAA,EAAM,QAAA,CAAS,IAAA,CAAK,GAAG,CAAC,CAAA,CAAA,EAAI,CAAA,GAAA,EAAM,OAAA,CAAQ,IAAA,CAAK,GAAG,CAAC,CAAA,CAAE;AAAA,OAC/D;AAAA,IACD;AAAA;AAEF,CAAA;AAEO,SAAS,uBAAA,GAA0B;AACzC,EAAA,MAAM,oBAAA,GAAuB,0BAAA;AAAA,IAC5B;AAAA,GACD;AACA,EAAA,MAAM,OAAO,gBAAA,EAAiB;AAC9B,EAAA,MAAM,EAAE,qBAAA,EAAsB,GAAI,kBAAA,EAAmB;AACrD,EAAA,MAAM,UAAA,GAAa,QAAQ,MAAM;AAChC,IAAA,MAAM,OAAA,GAAU,MAAM,OAAA,CAAQ,GAAA,CAAI,CAAC,MAAA,KAAW,MAAA,CAAO,GAAG,CAAA,IAAK,EAAC;AAC9D,IAAA,MAAM,QAAA,GAAW,MAAM,QAAA,CAAS,GAAA,CAAI,CAAC,OAAA,KAAY,OAAA,CAAQ,GAAG,CAAA,IAAK,EAAC;AAClE,IAAA,MAAM,YAAY,qBAAA,CAAsB,GAAA;AAAA,MACvC,CAAC,cAAc,SAAA,CAAU;AAAA,KAC1B;AACA,IAAA,OAAO;AAAA,MACN,OAAA;AAAA,MACA,QAAA;AAAA,MACA;AAAA,KACD;AAAA,EACD,CAAA,EAAG,CAAC,qBAAA,EAAuB,IAAI,CAAC,CAAA;AAChC,EAAA,MAAM,EAAE,IAAA,EAAM,OAAA,EAAS,KAAA,EAAO,SAAQ,GAAI,YAAA;AAAA,IACzC,KAAA;AAAA,IACA;AAAA,MACC,SAAA,EAAW,UAAA;AAAA,MACX,IAAA,EAAM;AAAA;AACP,GACD;AAEA,EAAA,SAAA,CAAU,MAAM;AACf,IAAA,IAAI,oBAAA,EAAsB;AACzB,MAAA,OAAA,EAAQ;AAAA,IACT;AAAA,EACD,CAAA,EAAG,CAAC,oBAAA,EAAsB,UAAU,CAAC,CAAA;AAErC,EAAA,OAAO;AAAA,IACN,MAAM,IAAA,EAAM,IAAA;AAAA,IACZ,OAAA;AAAA,IACA;AAAA,GACD;AACD","file":"data.js","sourcesContent":["import { useScorecardMeta } from \"../../MetaProvider\";\nimport { useScorecardConfig } from \"../../ConfigProvider\";\nimport { useEffect, useMemo } from \"react\";\nimport { useDataQuery } from \"@dhis2/app-runtime\";\nimport type { Analytics } from \"@hisptz/dhis2-utils\";\nimport { useScorecardViewStateValue } from \"../../../utils\";\n\nconst query: any = {\n\tdata: {\n\t\tresource: \"analytics\",\n\t\tparams: ({\n\t\t\tperiods,\n\t\t\torgUnits,\n\t\t\tdataItems,\n\t\t}: {\n\t\t\tperiods: string[];\n\t\t\torgUnits: string[];\n\t\t\tdataItems: string[];\n\t\t}) => {\n\t\t\treturn {\n\t\t\t\tskipMeta: true,\n\t\t\t\tdimension: [`dx:${dataItems.join(\";\")}`],\n\t\t\t\tfilter: [`ou:${orgUnits.join(\";\")}`, `pe:${periods.join(\";\")}`],\n\t\t\t};\n\t\t},\n\t},\n};\n\nexport function useHighlightedItemsData() {\n\tconst showHighlightedItems = useScorecardViewStateValue<boolean>(\n\t\t\"highlightedIndicators\",\n\t);\n\tconst meta = useScorecardMeta();\n\tconst { highlightedIndicators } = useScorecardConfig();\n\tconst dimensions = useMemo(() => {\n\t\tconst periods = meta?.periods.map((period) => period.uid) || [];\n\t\tconst orgUnits = meta?.orgUnits.map((orgUnit) => orgUnit.uid) || [];\n\t\tconst dataItems = highlightedIndicators.map(\n\t\t\t(indicator) => indicator.id,\n\t\t);\n\t\treturn {\n\t\t\tperiods,\n\t\t\torgUnits,\n\t\t\tdataItems,\n\t\t};\n\t}, [highlightedIndicators, meta]);\n\tconst { data, loading, error, refetch } = useDataQuery<{ data: Analytics }>(\n\t\tquery,\n\t\t{\n\t\t\tvariables: dimensions,\n\t\t\tlazy: true,\n\t\t},\n\t);\n\n\tuseEffect(() => {\n\t\tif (showHighlightedItems) {\n\t\t\trefetch();\n\t\t}\n\t}, [showHighlightedItems, dimensions]);\n\n\treturn {\n\t\tdata: data?.data,\n\t\tloading,\n\t\terror,\n\t};\n}\n"]}
@@ -1,14 +1,45 @@
1
- import { jsx } from 'react/jsx-runtime';
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import { useHighlightedItemsData } from './hooks/data';
3
- import { CircularLoader } from '@dhis2/ui';
3
+ import { CircularLoader, IconError16, colors } from '@dhis2/ui';
4
4
  import { useScorecardConfig } from '../ConfigProvider';
5
5
  import { HighlightedItem } from './components/HighlightedItem';
6
+ import i18n from '@dhis2/d2-i18n';
7
+ import { useScorecardViewStateValue } from '../../utils';
6
8
 
7
9
  function HighlightedItems() {
10
+ const showHighlightedItems = useScorecardViewStateValue(
11
+ "highlightedIndicators"
12
+ );
8
13
  const { highlightedIndicators } = useScorecardConfig();
9
14
  const { loading, error, data } = useHighlightedItemsData();
15
+ if (!showHighlightedItems) {
16
+ return null;
17
+ }
10
18
  if (loading) {
11
- return /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(CircularLoader, { small: true }) });
19
+ return /* @__PURE__ */ jsx(
20
+ "div",
21
+ {
22
+ style: {
23
+ width: "100%",
24
+ display: "flex",
25
+ justifyContent: "center",
26
+ alignItems: "center"
27
+ },
28
+ children: /* @__PURE__ */ jsx(CircularLoader, { small: true })
29
+ }
30
+ );
31
+ }
32
+ if (error) {
33
+ return /* @__PURE__ */ jsxs(
34
+ "span",
35
+ {
36
+ style: { display: "inline-flex", alignItems: "center", gap: 8 },
37
+ children: [
38
+ /* @__PURE__ */ jsx(IconError16, {}),
39
+ /* @__PURE__ */ jsx("span", { style: { fontSize: 14, color: colors.grey700 }, children: `${i18n.t("Error loading highlighted items")}: ${error.message}` })
40
+ ]
41
+ }
42
+ );
12
43
  }
13
44
  return /* @__PURE__ */ jsx(
14
45
  "div",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/HighlightedItems/index.tsx"],"names":[],"mappings":";;;;;;AAKO,SAAS,gBAAA,GAAmB;AAClC,EAAA,MAAM,EAAE,qBAAA,EAAsB,GAAI,kBAAA,EAAmB;AACrD,EAAA,MAAM,EAAE,OAAA,EAAS,KAAA,EAAO,IAAA,KAAS,uBAAA,EAAwB;AAEzD,EAAA,IAAI,OAAA,EAAS;AACZ,IAAA,2BACE,KAAA,EAAA,EACA,QAAA,kBAAA,GAAA,CAAC,cAAA,EAAA,EAAe,KAAA,EAAK,MAAC,CAAA,EACvB,CAAA;AAAA,EAEF;AAEA,EAAA,uBACC,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,KAAA,EAAO;AAAA,QACN,OAAA,EAAS,MAAA;AAAA,QACT,GAAA,EAAK,EAAA;AAAA,QACL,mBAAA,EAAqB;AAAA,OACtB;AAAA,MAEC,QAAA,EAAA,qBAAA,EAAuB,GAAA,CAAI,CAAC,IAAA,KAAS;AACrC,QAAA,MAAM,KAAA,GAAQ,MAAM,IAAA,EAAM,IAAA;AAAA,UAAK,CAAC,GAAA,KAC/B,GAAA,CAAI,QAAA,CAAS,KAAK,EAAE;AAAA,YACjB,CAAC,CAAA;AACL,QAAA,2BACE,eAAA,EAAA,EAA8B,IAAA,EAAY,IAAA,EAAM,KAAA,EAAA,EAA3B,KAAK,EAA6B,CAAA;AAAA,MAE1D,CAAC;AAAA;AAAA,GACF;AAEF","file":"index.js","sourcesContent":["import { useHighlightedItemsData } from \"./hooks/data\";\nimport { CircularLoader } from \"@dhis2/ui\";\nimport { useScorecardConfig } from \"../ConfigProvider\";\nimport { HighlightedItem } from \"./components/HighlightedItem\";\n\nexport function HighlightedItems() {\n\tconst { highlightedIndicators } = useScorecardConfig();\n\tconst { loading, error, data } = useHighlightedItemsData();\n\n\tif (loading) {\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t<CircularLoader small />\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\tdisplay: \"grid\",\n\t\t\t\tgap: 16,\n\t\t\t\tgridTemplateColumns: \"repeat(auto-fill, minmax(400px, 1fr))\",\n\t\t\t}}\n\t\t>\n\t\t\t{highlightedIndicators?.map((item) => {\n\t\t\t\tconst value = data?.rows?.find((row) =>\n\t\t\t\t\trow.includes(item.id),\n\t\t\t\t)?.[1];\n\t\t\t\treturn (\n\t\t\t\t\t<HighlightedItem key={item.id} item={item} data={value} />\n\t\t\t\t);\n\t\t\t})}\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../../src/components/HighlightedItems/index.tsx"],"names":[],"mappings":";;;;;;;;AAOO,SAAS,gBAAA,GAAmB;AAClC,EAAA,MAAM,oBAAA,GAAuB,0BAAA;AAAA,IAC5B;AAAA,GACD;AAEA,EAAA,MAAM,EAAE,qBAAA,EAAsB,GAAI,kBAAA,EAAmB;AACrD,EAAA,MAAM,EAAE,OAAA,EAAS,KAAA,EAAO,IAAA,KAAS,uBAAA,EAAwB;AAEzD,EAAA,IAAI,CAAC,oBAAA,EAAsB;AAC1B,IAAA,OAAO,IAAA;AAAA,EACR;AAEA,EAAA,IAAI,OAAA,EAAS;AACZ,IAAA,uBACC,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACA,KAAA,EAAO;AAAA,UACN,KAAA,EAAO,MAAA;AAAA,UACP,OAAA,EAAS,MAAA;AAAA,UACT,cAAA,EAAgB,QAAA;AAAA,UAChB,UAAA,EAAY;AAAA,SACb;AAAA,QAEA,QAAA,kBAAA,GAAA,CAAC,cAAA,EAAA,EAAe,KAAA,EAAK,IAAA,EAAC;AAAA;AAAA,KACvB;AAAA,EAEF;AAEA,EAAA,IAAI,KAAA,EAAO;AACV,IAAA,uBACC,IAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACA,OAAO,EAAE,OAAA,EAAS,eAAe,UAAA,EAAY,QAAA,EAAU,KAAK,CAAA,EAAE;AAAA,QAE9D,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,WAAA,EAAA,EAAY,CAAA;AAAA,8BACZ,MAAA,EAAA,EAAK,KAAA,EAAO,EAAE,QAAA,EAAU,EAAA,EAAI,OAAO,MAAA,CAAO,OAAA,EAAQ,EACjD,QAAA,EAAA,CAAA,EAAG,KAAK,CAAA,CAAE,iCAAiC,CAAC,CAAA,EAAA,EAAK,KAAA,CAAM,OAAO,CAAA,CAAA,EAChE;AAAA;AAAA;AAAA,KACD;AAAA,EAEF;AAEA,EAAA,uBACC,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,KAAA,EAAO;AAAA,QACN,OAAA,EAAS,MAAA;AAAA,QACT,GAAA,EAAK,EAAA;AAAA,QACL,mBAAA,EAAqB;AAAA,OACtB;AAAA,MAEC,QAAA,EAAA,qBAAA,EAAuB,GAAA,CAAI,CAAC,IAAA,KAAS;AACrC,QAAA,MAAM,KAAA,GAAQ,MAAM,IAAA,EAAM,IAAA;AAAA,UAAK,CAAC,GAAA,KAC/B,GAAA,CAAI,QAAA,CAAS,KAAK,EAAE;AAAA,YACjB,CAAC,CAAA;AACL,QAAA,2BACE,eAAA,EAAA,EAA8B,IAAA,EAAY,IAAA,EAAM,KAAA,EAAA,EAA3B,KAAK,EAA6B,CAAA;AAAA,MAE1D,CAAC;AAAA;AAAA,GACF;AAEF","file":"index.js","sourcesContent":["import { useHighlightedItemsData } from \"./hooks/data\";\nimport { CircularLoader, colors, IconError16 } from \"@dhis2/ui\";\nimport { useScorecardConfig } from \"../ConfigProvider\";\nimport { HighlightedItem } from \"./components/HighlightedItem\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { useScorecardViewStateValue } from \"../../utils\";\n\nexport function HighlightedItems() {\n\tconst showHighlightedItems = useScorecardViewStateValue<boolean>(\n\t\t\"highlightedIndicators\",\n\t);\n\n\tconst { highlightedIndicators } = useScorecardConfig();\n\tconst { loading, error, data } = useHighlightedItemsData();\n\n\tif (!showHighlightedItems) {\n\t\treturn null;\n\t}\n\n\tif (loading) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\tjustifyContent: \"center\",\n\t\t\t\t\talignItems: \"center\",\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<CircularLoader small />\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif (error) {\n\t\treturn (\n\t\t\t<span\n\t\t\t\tstyle={{ display: \"inline-flex\", alignItems: \"center\", gap: 8 }}\n\t\t\t>\n\t\t\t\t<IconError16 />\n\t\t\t\t<span style={{ fontSize: 14, color: colors.grey700 }}>\n\t\t\t\t\t{`${i18n.t(\"Error loading highlighted items\")}: ${error.message}`}\n\t\t\t\t</span>\n\t\t\t</span>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tstyle={{\n\t\t\t\tdisplay: \"grid\",\n\t\t\t\tgap: 16,\n\t\t\t\tgridTemplateColumns: \"repeat(auto-fill, minmax(400px, 1fr))\",\n\t\t\t}}\n\t\t>\n\t\t\t{highlightedIndicators?.map((item) => {\n\t\t\t\tconst value = data?.rows?.find((row) =>\n\t\t\t\t\trow.includes(item.id),\n\t\t\t\t)?.[1];\n\t\t\t\treturn (\n\t\t\t\t\t<HighlightedItem key={item.id} item={item} data={value} />\n\t\t\t\t);\n\t\t\t})}\n\t\t</div>\n\t);\n}\n"]}
@@ -5,8 +5,7 @@ import { PeriodUtility } from '@hisptz/dhis2-utils';
5
5
  import { head } from 'lodash';
6
6
  import { colors } from '@dhis2/ui';
7
7
  import JsxParser from 'react-jsx-parser';
8
- import { useScorecardViewStateValue } from '../utils/viewState';
9
- import { usePeriodSelectionValue } from '../utils/dimensionState';
8
+ import { usePeriodSelectionValue, useScorecardViewStateValue } from '../utils';
10
9
 
11
10
  function ScorecardHeader() {
12
11
  const config = useScorecardConfig();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/ScorecardHeader.tsx"],"names":[],"mappings":";;;;;;;;;;AASO,SAAS,eAAA,GAAkB;AACjC,EAAA,MAAM,SAAS,kBAAA,EAAmB;AAClC,EAAA,MAAM,EAAE,YAAA,EAAc,KAAA,EAAO,QAAA,EAAS,GAAI,UAAU,EAAC;AAErD,EAAA,MAAM,kBAAkB,uBAAA,EAAwB;AAChD,EAAA,MAAM,SAAA,GAAY,2BAAoC,OAAO,CAAA;AAE7D,EAAA,MAAM,OAAA,GAAU,OAAA;AAAA,IACf,MAAM,eAAA,CAAgB,OAAA;AAAA,IACtB,CAAC,gBAAgB,OAAO;AAAA,GACzB;AAEA,EAAA,MAAM,MAAA,GAAS,QAAQ,MAAM;AAC5B,IAAA,IAAI,OAAA,CAAQ,SAAS,CAAA,EAAG;AACvB,MAAA;AAAA,IACD;AACA,IAAA,OAAO,aAAA,CAAc,aAAA,CAAc,IAAA,CAAK,OAAO,GAAG,EAAY,CAAA;AAAA,EAC/D,CAAA,EAAG,CAAC,OAAO,CAAC,CAAA;AAEZ,EAAA,IAAI,CAAC,SAAA,EAAW;AACf,IAAA,OAAO,IAAA;AAAA,EACR;AAEA,EAAA,uBACC,GAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA,YAAA;AAAA;AAAA;AAAA,oBAGA,GAAA;AAAA,MAAC,SAAA;AAAA,MAAA;AAAA,QACA,qBAAA,EAAqB,IAAA;AAAA,QACrB,SAAA,EAAU,OAAA;AAAA,QACV,SAAS,OAAA,CAAQ,KAAA;AAAA,QACjB,QAAA,EAAU;AAAA,UACT,KAAA;AAAA,UACA,QAAA;AAAA,UACA,MAAA,EAAQ,OAAA,CAAQ,MAAA,KAAW,CAAA,GAAI,QAAQ,IAAA,GAAO;AAAA,SAC/C;AAAA,QACA,GAAA,EAAK;AAAA;AAAA;AACN,sBAEA,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,KAAA,EAAO;AAAA,QACN,OAAA,EAAS,MAAA;AAAA,QACT,aAAA,EAAe,QAAA;AAAA,QACf,UAAA,EAAY,QAAA;AAAA,QACZ,cAAA,EAAgB,QAAA;AAAA,QAChB,KAAA,EAAO,MAAA;AAAA,QACP,GAAA,EAAK;AAAA,OACN;AAAA,MAEA,QAAA,EAAA;AAAA,wBAAA,IAAA,CAAC,QAAG,KAAA,EAAO,EAAE,QAAQ,CAAA,EAAE,EAAG,IAAI,4BAAA,EAC5B,QAAA,EAAA;AAAA,UAAA,KAAA;AAAA,UAAO,GAAA;AAAA,UACP,CAAA,EAAG,QAAQ,MAAA,KAAW,CAAA,GAAI,MAAM,MAAA,EAAQ,IAAI,KAAK,EAAE,CAAA;AAAA,SAAA,EACrD,CAAA;AAAA,wBACA,GAAA,CAAC,IAAA,EAAA,EAAG,KAAA,EAAO,EAAE,KAAA,EAAO,OAAO,OAAA,EAAS,MAAA,EAAQ,CAAA,EAAE,EAC5C,QAAA,EAAA,QAAA,EACF;AAAA;AAAA;AAAA,GACD,EAEF,CAAA;AAEF","file":"ScorecardHeader.js","sourcesContent":["import { useScorecardConfig } from \"./ConfigProvider\";\nimport { useMemo } from \"react\";\nimport { PeriodUtility } from \"@hisptz/dhis2-utils\";\nimport { head } from \"lodash\";\nimport { colors } from \"@dhis2/ui\";\nimport JsxParser from \"react-jsx-parser\";\nimport { useScorecardViewStateValue } from \"../utils/viewState\";\nimport { usePeriodSelectionValue } from \"../utils/dimensionState\";\n\nexport function ScorecardHeader() {\n\tconst config = useScorecardConfig();\n\tconst { customHeader, title, subtitle } = config ?? {};\n\n\tconst periodSelection = usePeriodSelectionValue();\n\tconst showTitle = useScorecardViewStateValue<boolean>(\"title\");\n\n\tconst periods = useMemo(\n\t\t() => periodSelection.periods,\n\t\t[periodSelection.periods],\n\t);\n\n\tconst period = useMemo(() => {\n\t\tif (periods.length > 1) {\n\t\t\treturn;\n\t\t}\n\t\treturn PeriodUtility.getPeriodById(head(periods)?.id as string);\n\t}, [periods]);\n\n\tif (!showTitle) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{customHeader ? (\n\t\t\t\t/*\n // @ts-ignore */\n\t\t\t\t<JsxParser\n\t\t\t\t\tautoCloseVoidElements\n\t\t\t\t\tclassName=\"w-100\"\n\t\t\t\t\tonError={console.error}\n\t\t\t\t\tbindings={{\n\t\t\t\t\t\ttitle,\n\t\t\t\t\t\tsubtitle,\n\t\t\t\t\t\tperiod: periods.length === 1 ? period?.name : \"\",\n\t\t\t\t\t}}\n\t\t\t\t\tjsx={customHeader}\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\tflexDirection: \"column\",\n\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\tjustifyContent: \"center\",\n\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\tgap: 16,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<h1 style={{ margin: 8 }} id={\"data-test-score-card-title\"}>\n\t\t\t\t\t\t{title}{\" \"}\n\t\t\t\t\t\t{`${periods.length === 1 ? ` - ${period?.name}` : \"\"}`}\n\t\t\t\t\t</h1>\n\t\t\t\t\t<h3 style={{ color: colors.grey600, margin: 0 }}>\n\t\t\t\t\t\t{subtitle}\n\t\t\t\t\t</h3>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../src/components/ScorecardHeader.tsx"],"names":[],"mappings":";;;;;;;;;AASO,SAAS,eAAA,GAAkB;AACjC,EAAA,MAAM,SAAS,kBAAA,EAAmB;AAClC,EAAA,MAAM,EAAE,YAAA,EAAc,KAAA,EAAO,QAAA,EAAS,GAAI,UAAU,EAAC;AAErD,EAAA,MAAM,kBAAkB,uBAAA,EAAwB;AAChD,EAAA,MAAM,SAAA,GAAY,2BAAoC,OAAO,CAAA;AAE7D,EAAA,MAAM,OAAA,GAAU,OAAA;AAAA,IACf,MAAM,eAAA,CAAgB,OAAA;AAAA,IACtB,CAAC,gBAAgB,OAAO;AAAA,GACzB;AAEA,EAAA,MAAM,MAAA,GAAS,QAAQ,MAAM;AAC5B,IAAA,IAAI,OAAA,CAAQ,SAAS,CAAA,EAAG;AACvB,MAAA;AAAA,IACD;AACA,IAAA,OAAO,aAAA,CAAc,aAAA,CAAc,IAAA,CAAK,OAAO,GAAG,EAAY,CAAA;AAAA,EAC/D,CAAA,EAAG,CAAC,OAAO,CAAC,CAAA;AAEZ,EAAA,IAAI,CAAC,SAAA,EAAW;AACf,IAAA,OAAO,IAAA;AAAA,EACR;AAEA,EAAA,uBACC,GAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA,YAAA;AAAA;AAAA;AAAA,oBAGA,GAAA;AAAA,MAAC,SAAA;AAAA,MAAA;AAAA,QACA,qBAAA,EAAqB,IAAA;AAAA,QACrB,SAAA,EAAU,OAAA;AAAA,QACV,SAAS,OAAA,CAAQ,KAAA;AAAA,QACjB,QAAA,EAAU;AAAA,UACT,KAAA;AAAA,UACA,QAAA;AAAA,UACA,MAAA,EAAQ,OAAA,CAAQ,MAAA,KAAW,CAAA,GAAI,QAAQ,IAAA,GAAO;AAAA,SAC/C;AAAA,QACA,GAAA,EAAK;AAAA;AAAA;AACN,sBAEA,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,KAAA,EAAO;AAAA,QACN,OAAA,EAAS,MAAA;AAAA,QACT,aAAA,EAAe,QAAA;AAAA,QACf,UAAA,EAAY,QAAA;AAAA,QACZ,cAAA,EAAgB,QAAA;AAAA,QAChB,KAAA,EAAO,MAAA;AAAA,QACP,GAAA,EAAK;AAAA,OACN;AAAA,MAEA,QAAA,EAAA;AAAA,wBAAA,IAAA,CAAC,QAAG,KAAA,EAAO,EAAE,QAAQ,CAAA,EAAE,EAAG,IAAI,4BAAA,EAC5B,QAAA,EAAA;AAAA,UAAA,KAAA;AAAA,UAAO,GAAA;AAAA,UACP,CAAA,EAAG,QAAQ,MAAA,KAAW,CAAA,GAAI,MAAM,MAAA,EAAQ,IAAI,KAAK,EAAE,CAAA;AAAA,SAAA,EACrD,CAAA;AAAA,wBACA,GAAA,CAAC,IAAA,EAAA,EAAG,KAAA,EAAO,EAAE,KAAA,EAAO,OAAO,OAAA,EAAS,MAAA,EAAQ,CAAA,EAAE,EAC5C,QAAA,EAAA,QAAA,EACF;AAAA;AAAA;AAAA,GACD,EAEF,CAAA;AAEF","file":"ScorecardHeader.js","sourcesContent":["import { useScorecardConfig } from \"./ConfigProvider\";\nimport { useMemo } from \"react\";\nimport { PeriodUtility } from \"@hisptz/dhis2-utils\";\nimport { head } from \"lodash\";\nimport { colors } from \"@dhis2/ui\";\nimport JsxParser from \"react-jsx-parser\";\nimport { useScorecardViewStateValue } from \"../utils\";\nimport { usePeriodSelectionValue } from \"../utils\";\n\nexport function ScorecardHeader() {\n\tconst config = useScorecardConfig();\n\tconst { customHeader, title, subtitle } = config ?? {};\n\n\tconst periodSelection = usePeriodSelectionValue();\n\tconst showTitle = useScorecardViewStateValue<boolean>(\"title\");\n\n\tconst periods = useMemo(\n\t\t() => periodSelection.periods,\n\t\t[periodSelection.periods],\n\t);\n\n\tconst period = useMemo(() => {\n\t\tif (periods.length > 1) {\n\t\t\treturn;\n\t\t}\n\t\treturn PeriodUtility.getPeriodById(head(periods)?.id as string);\n\t}, [periods]);\n\n\tif (!showTitle) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{customHeader ? (\n\t\t\t\t/*\n // @ts-ignore */\n\t\t\t\t<JsxParser\n\t\t\t\t\tautoCloseVoidElements\n\t\t\t\t\tclassName=\"w-100\"\n\t\t\t\t\tonError={console.error}\n\t\t\t\t\tbindings={{\n\t\t\t\t\t\ttitle,\n\t\t\t\t\t\tsubtitle,\n\t\t\t\t\t\tperiod: periods.length === 1 ? period?.name : \"\",\n\t\t\t\t\t}}\n\t\t\t\t\tjsx={customHeader}\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\tflexDirection: \"column\",\n\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\tjustifyContent: \"center\",\n\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\tgap: 16,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<h1 style={{ margin: 8 }} id={\"data-test-score-card-title\"}>\n\t\t\t\t\t\t{title}{\" \"}\n\t\t\t\t\t\t{`${periods.length === 1 ? ` - ${period?.name}` : \"\"}`}\n\t\t\t\t\t</h1>\n\t\t\t\t\t<h3 style={{ color: colors.grey600, margin: 0 }}>\n\t\t\t\t\t\t{subtitle}\n\t\t\t\t\t</h3>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</>\n\t);\n}\n"]}
@@ -27,7 +27,6 @@ function SpecificTargetsLibrary() {
27
27
  ),
28
28
  (ds) => head(ds.specificTargets)?.type
29
29
  );
30
- console.log({ data });
31
30
  data["orgUnitLevel"] = dataSourcesWithSpecificTargets.filter(
32
31
  (ds) => isEmpty(ds.specificTargets)
33
32
  );
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/ScorecardLegendsView/components/SpecificTargetLegendsView.tsx"],"names":[],"mappings":"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","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
+ {"version":3,"sources":["../../../../../src/components/ScorecardLegendsView/components/SpecificTargetLegendsView.tsx"],"names":[],"mappings":"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","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\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"]}
@@ -16,7 +16,7 @@ function FurtherAnalysisMenu({
16
16
  const lowestLevel = useLowestOrgUnitLevel();
17
17
  const orgUnitInLowestLevel = useMemo(() => {
18
18
  return getOrgUnitLevel(orgUnit) === lowestLevel?.level;
19
- }, [lowestLevel, orgUnit]);
19
+ }, [orgUnit, lowestLevel?.level]);
20
20
  const [showSubMenu, setShowSubMenu] = useState(false);
21
21
  return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(
22
22
  Popover,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/ScorecardTable/components/FurtherAnalysisMenu.tsx"],"names":[],"mappings":"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","file":"FurtherAnalysisMenu.js","sourcesContent":["import { useMemo, useState } from \"react\";\nimport {\n\tIconDimensionOrgUnit16,\n\tIconVisualizationColumnStacked16,\n\tIconVisualizationColumnStacked24,\n\tIconVisualizationLine24,\n\tMenu,\n\tMenuItem,\n\tPopover,\n\ttype ReferenceElement,\n} from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { useLowestOrgUnitLevel } from \"../../../hooks/orgUnit\";\nimport type { ItemMeta } from \"../../../hooks/metadata\";\nimport { getOrgUnitLevel } from \"../../../utils/orgUnits\";\nimport type { FurtherAnalysisConfig } from \"./FurtherAnalysisModal\";\nimport type { ScorecardDataSource } from \"../../../schemas/config\";\n\nexport function FurtherAnalysisMenu({\n\tstateActionRef,\n\tsetStateActionRef,\n\torgUnit,\n\tonSelect,\n\tperiodId,\n\tdataSources,\n}: {\n\tstateActionRef: ReferenceElement;\n\tsetStateActionRef: (val: undefined) => void;\n\torgUnit: ItemMeta & { hierarchy: string };\n\tonSelect: (config: FurtherAnalysisConfig) => void;\n\tperiodId: string;\n\tdataSources: ScorecardDataSource[];\n}) {\n\tconst lowestLevel = useLowestOrgUnitLevel();\n\tconst orgUnitInLowestLevel = useMemo(() => {\n\t\treturn getOrgUnitLevel(orgUnit) === lowestLevel?.level;\n\t}, [lowestLevel, orgUnit]);\n\tconst [showSubMenu, setShowSubMenu] = useState(false);\n\n\treturn (\n\t\t<>\n\t\t\t<Popover\n\t\t\t\tonClickOutside={() => setStateActionRef(undefined)}\n\t\t\t\tplacement=\"bottom-start\"\n\t\t\t\treference={stateActionRef}\n\t\t\t>\n\t\t\t\t<Menu>\n\t\t\t\t\t<MenuItem\n\t\t\t\t\t\tdense\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tonSelect({\n\t\t\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tid: periodId,\n\t\t\t\t\t\t\t\t\t\t},\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\torgUnitSelection: {\n\t\t\t\t\t\t\t\t\tlevels: [],\n\t\t\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\n\t\t\t\t\t\t\t\t\t\t},\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\tdataSources,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tsetStateActionRef(undefined);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tlabel={i18n.t(\"Further Analysis\")}\n\t\t\t\t\t\ticon={<IconVisualizationColumnStacked16 />}\n\t\t\t\t\t/>\n\t\t\t\t\t{!orgUnitInLowestLevel && (\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tsetStateActionRef(undefined);\n\t\t\t\t\t\t\t\tonSelect({\n\t\t\t\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: periodId,\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},\n\t\t\t\t\t\t\t\t\torgUnitSelection: {\n\t\t\t\t\t\t\t\t\t\tlevels: [\n\t\t\t\t\t\t\t\t\t\t\t(\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\t\tgetOrgUnitLevel(orgUnit) ??\n\t\t\t\t\t\t\t\t\t\t\t\t\t0\n\t\t\t\t\t\t\t\t\t\t\t\t) + 1\n\t\t\t\t\t\t\t\t\t\t\t).toString(),\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\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},\n\t\t\t\t\t\t\t\t\tdataSources,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tlabel={i18n.t(\"Lower Organisation Unit Levels\")}\n\t\t\t\t\t\t\ticon={<IconDimensionOrgUnit16 />}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t<MenuItem\n\t\t\t\t\t\tdense\n\t\t\t\t\t\tshowSubMenu={showSubMenu}\n\t\t\t\t\t\tactive={showSubMenu}\n\t\t\t\t\t\ttoggleSubMenu={() => {\n\t\t\t\t\t\t\tsetShowSubMenu((prevState) => !prevState);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tlabel={i18n.t(\"Trend Analysis \")}\n\t\t\t\t\t\ticon={<IconVisualizationLine24 />}\n\t\t\t\t\t>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tsetStateActionRef(undefined);\n\t\t\t\t\t\t\t\tonSelect({\n\t\t\t\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: \"LAST_3_MONTHS\",\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},\n\t\t\t\t\t\t\t\t\torgUnitSelection: {\n\t\t\t\t\t\t\t\t\t\tlevels: [],\n\t\t\t\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\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},\n\t\t\t\t\t\t\t\t\tdataSources,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tlabel={i18n.t(\"Last 3 Months\")}\n\t\t\t\t\t\t\ticon={<IconVisualizationColumnStacked24 />}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tsetStateActionRef(undefined);\n\t\t\t\t\t\t\t\tonSelect({\n\t\t\t\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: \"LAST_6_MONTHS\",\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},\n\t\t\t\t\t\t\t\t\torgUnitSelection: {\n\t\t\t\t\t\t\t\t\t\tlevels: [],\n\t\t\t\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\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},\n\t\t\t\t\t\t\t\t\tdataSources,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tlabel={i18n.t(\"Last 6 Months\")}\n\t\t\t\t\t\t\ticon={<IconVisualizationColumnStacked24 />}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tsetStateActionRef(undefined);\n\t\t\t\t\t\t\t\tonSelect({\n\t\t\t\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: \"LAST_12_MONTHS\",\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},\n\t\t\t\t\t\t\t\t\torgUnitSelection: {\n\t\t\t\t\t\t\t\t\t\tlevels: [],\n\t\t\t\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\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},\n\t\t\t\t\t\t\t\t\tdataSources,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tlabel={i18n.t(\"Last 12 Months\")}\n\t\t\t\t\t\t\ticon={<IconVisualizationColumnStacked24 />}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tsetStateActionRef(undefined);\n\t\t\t\t\t\t\t\tonSelect({\n\t\t\t\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: \"LAST_4_QUARTERS\",\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},\n\t\t\t\t\t\t\t\t\torgUnitSelection: {\n\t\t\t\t\t\t\t\t\t\tlevels: [],\n\t\t\t\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\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},\n\t\t\t\t\t\t\t\t\tdataSources,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tlabel={i18n.t(\"Last 4 Quarters\")}\n\t\t\t\t\t\t\ticon={<IconVisualizationColumnStacked24 />}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tsetStateActionRef(undefined);\n\t\t\t\t\t\t\t\tonSelect({\n\t\t\t\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: \"LAST_5_YEARS\",\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},\n\t\t\t\t\t\t\t\t\torgUnitSelection: {\n\t\t\t\t\t\t\t\t\t\tlevels: [],\n\t\t\t\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\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},\n\t\t\t\t\t\t\t\t\tdataSources,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tlabel={i18n.t(\"Last 5 Years\")}\n\t\t\t\t\t\t\ticon={<IconVisualizationColumnStacked24 />}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</MenuItem>\n\t\t\t\t</Menu>\n\t\t\t</Popover>\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../../../src/components/ScorecardTable/components/FurtherAnalysisMenu.tsx"],"names":[],"mappings":"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","file":"FurtherAnalysisMenu.js","sourcesContent":["import { useMemo, useState } from \"react\";\nimport {\n\tIconDimensionOrgUnit16,\n\tIconVisualizationColumnStacked16,\n\tIconVisualizationColumnStacked24,\n\tIconVisualizationLine24,\n\tMenu,\n\tMenuItem,\n\tPopover,\n\ttype ReferenceElement,\n} from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { useLowestOrgUnitLevel } from \"../../../hooks/orgUnit\";\nimport type { ItemMeta } from \"../../../hooks/metadata\";\nimport { getOrgUnitLevel } from \"../../../utils/orgUnits\";\nimport type { FurtherAnalysisConfig } from \"./FurtherAnalysisModal\";\nimport type { ScorecardDataSource } from \"../../../schemas/config\";\n\nexport function FurtherAnalysisMenu({\n\tstateActionRef,\n\tsetStateActionRef,\n\torgUnit,\n\tonSelect,\n\tperiodId,\n\tdataSources,\n}: {\n\tstateActionRef: ReferenceElement;\n\tsetStateActionRef: (val: undefined) => void;\n\torgUnit: ItemMeta & { hierarchy: string };\n\tonSelect: (config: FurtherAnalysisConfig) => void;\n\tperiodId: string;\n\tdataSources: ScorecardDataSource[];\n}) {\n\tconst lowestLevel = useLowestOrgUnitLevel();\n\tconst orgUnitInLowestLevel = useMemo(() => {\n\t\treturn getOrgUnitLevel(orgUnit) === lowestLevel?.level;\n\t}, [orgUnit, lowestLevel?.level]);\n\tconst [showSubMenu, setShowSubMenu] = useState(false);\n\n\treturn (\n\t\t<>\n\t\t\t<Popover\n\t\t\t\tonClickOutside={() => setStateActionRef(undefined)}\n\t\t\t\tplacement=\"bottom-start\"\n\t\t\t\treference={stateActionRef}\n\t\t\t>\n\t\t\t\t<Menu>\n\t\t\t\t\t<MenuItem\n\t\t\t\t\t\tdense\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tonSelect({\n\t\t\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tid: periodId,\n\t\t\t\t\t\t\t\t\t\t},\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\torgUnitSelection: {\n\t\t\t\t\t\t\t\t\tlevels: [],\n\t\t\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\n\t\t\t\t\t\t\t\t\t\t},\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\tdataSources,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tsetStateActionRef(undefined);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tlabel={i18n.t(\"Further Analysis\")}\n\t\t\t\t\t\ticon={<IconVisualizationColumnStacked16 />}\n\t\t\t\t\t/>\n\t\t\t\t\t{!orgUnitInLowestLevel && (\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tsetStateActionRef(undefined);\n\t\t\t\t\t\t\t\tonSelect({\n\t\t\t\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: periodId,\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},\n\t\t\t\t\t\t\t\t\torgUnitSelection: {\n\t\t\t\t\t\t\t\t\t\tlevels: [\n\t\t\t\t\t\t\t\t\t\t\t(\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\t\tgetOrgUnitLevel(orgUnit) ??\n\t\t\t\t\t\t\t\t\t\t\t\t\t0\n\t\t\t\t\t\t\t\t\t\t\t\t) + 1\n\t\t\t\t\t\t\t\t\t\t\t).toString(),\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\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},\n\t\t\t\t\t\t\t\t\tdataSources,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tlabel={i18n.t(\"Lower Organisation Unit Levels\")}\n\t\t\t\t\t\t\ticon={<IconDimensionOrgUnit16 />}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t<MenuItem\n\t\t\t\t\t\tdense\n\t\t\t\t\t\tshowSubMenu={showSubMenu}\n\t\t\t\t\t\tactive={showSubMenu}\n\t\t\t\t\t\ttoggleSubMenu={() => {\n\t\t\t\t\t\t\tsetShowSubMenu((prevState) => !prevState);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tlabel={i18n.t(\"Trend Analysis \")}\n\t\t\t\t\t\ticon={<IconVisualizationLine24 />}\n\t\t\t\t\t>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tsetStateActionRef(undefined);\n\t\t\t\t\t\t\t\tonSelect({\n\t\t\t\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: \"LAST_3_MONTHS\",\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},\n\t\t\t\t\t\t\t\t\torgUnitSelection: {\n\t\t\t\t\t\t\t\t\t\tlevels: [],\n\t\t\t\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\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},\n\t\t\t\t\t\t\t\t\tdataSources,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tlabel={i18n.t(\"Last 3 Months\")}\n\t\t\t\t\t\t\ticon={<IconVisualizationColumnStacked24 />}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tsetStateActionRef(undefined);\n\t\t\t\t\t\t\t\tonSelect({\n\t\t\t\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: \"LAST_6_MONTHS\",\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},\n\t\t\t\t\t\t\t\t\torgUnitSelection: {\n\t\t\t\t\t\t\t\t\t\tlevels: [],\n\t\t\t\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\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},\n\t\t\t\t\t\t\t\t\tdataSources,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tlabel={i18n.t(\"Last 6 Months\")}\n\t\t\t\t\t\t\ticon={<IconVisualizationColumnStacked24 />}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tsetStateActionRef(undefined);\n\t\t\t\t\t\t\t\tonSelect({\n\t\t\t\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: \"LAST_12_MONTHS\",\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},\n\t\t\t\t\t\t\t\t\torgUnitSelection: {\n\t\t\t\t\t\t\t\t\t\tlevels: [],\n\t\t\t\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\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},\n\t\t\t\t\t\t\t\t\tdataSources,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tlabel={i18n.t(\"Last 12 Months\")}\n\t\t\t\t\t\t\ticon={<IconVisualizationColumnStacked24 />}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tsetStateActionRef(undefined);\n\t\t\t\t\t\t\t\tonSelect({\n\t\t\t\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: \"LAST_4_QUARTERS\",\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},\n\t\t\t\t\t\t\t\t\torgUnitSelection: {\n\t\t\t\t\t\t\t\t\t\tlevels: [],\n\t\t\t\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\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},\n\t\t\t\t\t\t\t\t\tdataSources,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tlabel={i18n.t(\"Last 4 Quarters\")}\n\t\t\t\t\t\t\ticon={<IconVisualizationColumnStacked24 />}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tsetStateActionRef(undefined);\n\t\t\t\t\t\t\t\tonSelect({\n\t\t\t\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: \"LAST_5_YEARS\",\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},\n\t\t\t\t\t\t\t\t\torgUnitSelection: {\n\t\t\t\t\t\t\t\t\t\tlevels: [],\n\t\t\t\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\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},\n\t\t\t\t\t\t\t\t\tdataSources,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tlabel={i18n.t(\"Last 5 Years\")}\n\t\t\t\t\t\t\ticon={<IconVisualizationColumnStacked24 />}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</MenuItem>\n\t\t\t\t</Menu>\n\t\t\t</Popover>\n\t\t</>\n\t);\n}\n"]}
@@ -1,16 +1,17 @@
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, useEffect } from 'react';
4
+ import { useRef, useTransition } from 'react';
5
5
 
6
6
  function PaginatedToolbar() {
7
+ useRef(false);
7
8
  const [isPending, startTransition] = useTransition();
8
9
  const table = useTableState();
9
10
  const rowCount = table.getRowCount();
10
11
  const page = table.getState().pagination.pageIndex + 1;
11
12
  const pageSize = table.getState().pagination.pageSize;
12
13
  const pageCount = table.getPageCount();
13
- const toggleTableLoading = useToggleTableLoadingState();
14
+ useToggleTableLoadingState();
14
15
  const onPageChange = (page2) => {
15
16
  startTransition(() => {
16
17
  table.setPageIndex(page2 - 1);
@@ -21,9 +22,6 @@ function PaginatedToolbar() {
21
22
  table.setPageSize(pageSize2);
22
23
  });
23
24
  };
24
- useEffect(() => {
25
- toggleTableLoading();
26
- }, [isPending]);
27
25
  if (rowCount <= 50 || table.options.meta?.disablePagination) {
28
26
  return null;
29
27
  }
@@ -1 +1 @@
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"]}
1
+ {"version":3,"sources":["../../../../../src/components/ScorecardTable/components/PaginatedToolbar.tsx"],"names":["page","pageSize"],"mappings":";;;;;AAOO,SAAS,gBAAA,GAAmB;AAClC,EAAiB,OAAgB,KAAK;AACtC,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,EAA2B,0BAAA;AAE3B,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,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 { useRef, useTransition } from \"react\";\n\nexport function PaginatedToolbar() {\n\tconst rendered = useRef<boolean>(false);\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\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"]}
@@ -1 +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"}
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;AAenE,wBAAgB,eAAe,CAAC,EAC/B,IAAI,EACJ,IAAI,GACJ,EAAE;IACF,IAAI,EAAE,mBAAmB,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;CACd,2CA0FA"}
@@ -1 +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"}
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;AAwBrD,wBAAgB,uBAAuB;;;;EAqCtC"}
@@ -1,2 +1,2 @@
1
- export declare function HighlightedItems(): import("react/jsx-runtime").JSX.Element;
1
+ export declare function HighlightedItems(): import("react/jsx-runtime").JSX.Element | null;
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/HighlightedItems/index.tsx"],"names":[],"mappings":"AAKA,wBAAgB,gBAAgB,4CA8B/B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/HighlightedItems/index.tsx"],"names":[],"mappings":"AAOA,wBAAgB,gBAAgB,mDA0D/B"}
@@ -1 +1 @@
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
+ {"version":3,"file":"SpecificTargetLegendsView.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScorecardLegendsView/components/SpecificTargetLegendsView.tsx"],"names":[],"mappings":"AAwBA,wBAAgB,sBAAsB,4CA+HrC;AAsBD,wBAAgB,yBAAyB,mDA8BxC"}
@@ -1 +1 @@
1
- {"version":3,"file":"PaginatedToolbar.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScorecardTable/components/PaginatedToolbar.tsx"],"names":[],"mappings":"AAOA,wBAAgB,gBAAgB,mDAsD/B"}
1
+ {"version":3,"file":"PaginatedToolbar.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScorecardTable/components/PaginatedToolbar.tsx"],"names":[],"mappings":"AAOA,wBAAgB,gBAAgB,mDAmD/B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hisptz/dhis2-scorecard",
3
- "version": "1.2.25",
3
+ "version": "1.2.27",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/esm/index.js",
6
6
  "types": "./dist/types/index.d.ts",
@@ -43,8 +43,8 @@
43
43
  "tsup": "^8.3.0",
44
44
  "typescript": "^5.3.3",
45
45
  "usehooks-ts": "^2.9.2",
46
- "@repo/eslint-config": "0.0.0",
47
- "@repo/typescript-config": "0.0.2"
46
+ "@repo/typescript-config": "0.0.2",
47
+ "@repo/eslint-config": "0.0.0"
48
48
  },
49
49
  "dependencies": {
50
50
  "@tanstack/react-table": "^8.21.3",
@@ -58,8 +58,8 @@
58
58
  "react-to-print": "^3.0.1",
59
59
  "xlsx": "^0.18.5",
60
60
  "@hisptz/dhis2-analytics": "2.1.29",
61
- "@hisptz/dhis2-ui": "2.0.51",
62
- "@hisptz/dhis2-utils": "2.0.19"
61
+ "@hisptz/dhis2-utils": "2.0.19",
62
+ "@hisptz/dhis2-ui": "2.0.51"
63
63
  },
64
64
  "peerDependencies": {
65
65
  "@dhis2/app-runtime": "^3",