@hisptz/dhis2-scorecard 1.2.30 → 1.2.33
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/LoadingIndicator.js +3 -5
- package/dist/components/LoadingIndicator.js.map +1 -1
- package/dist/components/ScorecardLegendsView/components/LegendView.js +86 -56
- package/dist/components/ScorecardLegendsView/components/LegendView.js.map +1 -1
- package/dist/components/ScorecardLegendsView/components/OrgUnitLevelSpecificTargetView.js +7 -31
- package/dist/components/ScorecardLegendsView/components/OrgUnitLevelSpecificTargetView.js.map +1 -1
- package/dist/components/ScorecardLegendsView/components/OrgUnitSpecificTargetView.js +16 -26
- package/dist/components/ScorecardLegendsView/components/OrgUnitSpecificTargetView.js.map +1 -1
- package/dist/components/ScorecardLegendsView/components/PeriodSpecificTargetView.js +4 -22
- package/dist/components/ScorecardLegendsView/components/PeriodSpecificTargetView.js.map +1 -1
- package/dist/components/ScorecardPrint/components/ScorecardDownloadButton.js +6 -13
- package/dist/components/ScorecardPrint/components/ScorecardDownloadButton.js.map +1 -1
- package/dist/components/ScorecardTable/FurtherAnalysisVisualization.js +6 -6
- package/dist/components/ScorecardTable/FurtherAnalysisVisualization.js.map +1 -1
- package/dist/components/ScorecardTable/components/AverageCell.js +2 -2
- package/dist/components/ScorecardTable/components/AverageCell.js.map +1 -1
- package/dist/components/ScorecardTable/components/AverageFooterCell.js +10 -32
- package/dist/components/ScorecardTable/components/AverageFooterCell.js.map +1 -1
- package/dist/components/ScorecardTable/components/DataContainer.js +4 -1
- package/dist/components/ScorecardTable/components/DataContainer.js.map +1 -1
- package/dist/components/ScorecardTable/components/DataFooterCell.js +35 -71
- package/dist/components/ScorecardTable/components/DataFooterCell.js.map +1 -1
- package/dist/components/ScorecardTable/components/FurtherAnalysisMenu.js +45 -0
- package/dist/components/ScorecardTable/components/FurtherAnalysisMenu.js.map +1 -1
- package/dist/components/ScorecardTable/components/FurtherAnalysisModal.js.map +1 -1
- package/dist/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js +37 -2
- package/dist/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js.map +1 -1
- package/dist/components/ScorecardTable/components/TableHeader/components/DataHeaderLegendView.js +78 -0
- package/dist/components/ScorecardTable/components/TableHeader/components/DataHeaderLegendView.js.map +1 -0
- package/dist/esm/components/LoadingIndicator.js +2 -4
- package/dist/esm/components/LoadingIndicator.js.map +1 -1
- package/dist/esm/components/ScorecardLegendsView/components/LegendView.js +86 -52
- package/dist/esm/components/ScorecardLegendsView/components/LegendView.js.map +1 -1
- package/dist/esm/components/ScorecardLegendsView/components/OrgUnitLevelSpecificTargetView.js +7 -27
- package/dist/esm/components/ScorecardLegendsView/components/OrgUnitLevelSpecificTargetView.js.map +1 -1
- package/dist/esm/components/ScorecardLegendsView/components/OrgUnitSpecificTargetView.js +16 -22
- package/dist/esm/components/ScorecardLegendsView/components/OrgUnitSpecificTargetView.js.map +1 -1
- package/dist/esm/components/ScorecardLegendsView/components/PeriodSpecificTargetView.js +4 -18
- package/dist/esm/components/ScorecardLegendsView/components/PeriodSpecificTargetView.js.map +1 -1
- package/dist/esm/components/ScorecardPrint/components/ScorecardDownloadButton.js +4 -11
- package/dist/esm/components/ScorecardPrint/components/ScorecardDownloadButton.js.map +1 -1
- package/dist/esm/components/ScorecardTable/FurtherAnalysisVisualization.js +6 -6
- package/dist/esm/components/ScorecardTable/FurtherAnalysisVisualization.js.map +1 -1
- package/dist/esm/components/ScorecardTable/components/AverageCell.js +2 -2
- package/dist/esm/components/ScorecardTable/components/AverageCell.js.map +1 -1
- package/dist/esm/components/ScorecardTable/components/AverageFooterCell.js +11 -33
- package/dist/esm/components/ScorecardTable/components/AverageFooterCell.js.map +1 -1
- package/dist/esm/components/ScorecardTable/components/DataContainer.js +4 -1
- package/dist/esm/components/ScorecardTable/components/DataContainer.js.map +1 -1
- package/dist/esm/components/ScorecardTable/components/DataFooterCell.js +36 -72
- package/dist/esm/components/ScorecardTable/components/DataFooterCell.js.map +1 -1
- package/dist/esm/components/ScorecardTable/components/FurtherAnalysisMenu.js +45 -0
- package/dist/esm/components/ScorecardTable/components/FurtherAnalysisMenu.js.map +1 -1
- package/dist/esm/components/ScorecardTable/components/FurtherAnalysisModal.js.map +1 -1
- package/dist/esm/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js +39 -4
- package/dist/esm/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js.map +1 -1
- package/dist/esm/components/ScorecardTable/components/TableHeader/components/DataHeaderLegendView.js +72 -0
- package/dist/esm/components/ScorecardTable/components/TableHeader/components/DataHeaderLegendView.js.map +1 -0
- package/dist/esm/hooks/completed.js +13 -0
- package/dist/esm/hooks/completed.js.map +1 -0
- package/dist/esm/hooks/table.js +35 -45
- package/dist/esm/hooks/table.js.map +1 -1
- package/dist/esm/hooks/value.js +51 -101
- package/dist/esm/hooks/value.js.map +1 -1
- package/dist/esm/schemas/config.js +4 -0
- package/dist/esm/schemas/config.js.map +1 -1
- package/dist/esm/utils/columns.js +15 -5
- package/dist/esm/utils/columns.js.map +1 -1
- package/dist/esm/utils/dataEngine.js +128 -83
- package/dist/esm/utils/dataEngine.js.map +1 -1
- package/dist/hooks/completed.js +15 -0
- package/dist/hooks/completed.js.map +1 -0
- package/dist/hooks/table.js +43 -53
- package/dist/hooks/table.js.map +1 -1
- package/dist/hooks/value.js +49 -98
- package/dist/hooks/value.js.map +1 -1
- package/dist/schemas/config.js +4 -0
- package/dist/schemas/config.js.map +1 -1
- package/dist/types/components/LoadingIndicator.d.ts.map +1 -1
- package/dist/types/components/ScorecardLegendsView/components/LegendView.d.ts +1 -1
- package/dist/types/components/ScorecardLegendsView/components/LegendView.d.ts.map +1 -1
- package/dist/types/components/ScorecardLegendsView/components/OrgUnitLevelSpecificTargetView.d.ts.map +1 -1
- package/dist/types/components/ScorecardLegendsView/components/OrgUnitSpecificTargetView.d.ts.map +1 -1
- package/dist/types/components/ScorecardLegendsView/components/PeriodSpecificTargetView.d.ts.map +1 -1
- package/dist/types/components/ScorecardPrint/components/ScorecardDownloadButton.d.ts.map +1 -1
- package/dist/types/components/ScorecardTable/FurtherAnalysisVisualization.d.ts.map +1 -1
- package/dist/types/components/ScorecardTable/components/AverageFooterCell.d.ts.map +1 -1
- package/dist/types/components/ScorecardTable/components/DataContainer.d.ts.map +1 -1
- package/dist/types/components/ScorecardTable/components/DataFooterCell.d.ts.map +1 -1
- package/dist/types/components/ScorecardTable/components/FurtherAnalysisMenu.d.ts.map +1 -1
- package/dist/types/components/ScorecardTable/components/FurtherAnalysisModal.d.ts +10 -0
- package/dist/types/components/ScorecardTable/components/FurtherAnalysisModal.d.ts.map +1 -1
- package/dist/types/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.d.ts.map +1 -1
- package/dist/types/components/ScorecardTable/components/TableHeader/components/DataHeaderLegendView.d.ts +13 -0
- package/dist/types/components/ScorecardTable/components/TableHeader/components/DataHeaderLegendView.d.ts.map +1 -0
- package/dist/types/hooks/completed.d.ts +2 -0
- package/dist/types/hooks/completed.d.ts.map +1 -0
- package/dist/types/hooks/table.d.ts.map +1 -1
- package/dist/types/hooks/value.d.ts +9 -3
- package/dist/types/hooks/value.d.ts.map +1 -1
- package/dist/types/schemas/config.d.ts +18 -0
- package/dist/types/schemas/config.d.ts.map +1 -1
- package/dist/types/utils/columns.d.ts.map +1 -1
- package/dist/types/utils/dataEngine.d.ts +16 -12
- package/dist/types/utils/dataEngine.d.ts.map +1 -1
- package/dist/utils/columns.js +15 -5
- package/dist/utils/columns.js.map +1 -1
- package/dist/utils/dataEngine.js +127 -82
- package/dist/utils/dataEngine.js.map +1 -1
- package/package.json +5 -5
|
@@ -24,7 +24,7 @@ function FurtherAnalysisVisualization({
|
|
|
24
24
|
dhis2Analytics.Visualization,
|
|
25
25
|
{
|
|
26
26
|
height: 400,
|
|
27
|
-
layout: {
|
|
27
|
+
layout: config.layout ?? {
|
|
28
28
|
columns: ["dx"],
|
|
29
29
|
filters: ["pe"],
|
|
30
30
|
rows: ["ou"]
|
|
@@ -32,7 +32,7 @@ function FurtherAnalysisVisualization({
|
|
|
32
32
|
showToolbar: true,
|
|
33
33
|
showOrgUnitSelector: true,
|
|
34
34
|
showPeriodSelector: true,
|
|
35
|
-
defaultVisualizationType: "chart",
|
|
35
|
+
defaultVisualizationType: config.type?.visualizationType ?? "chart",
|
|
36
36
|
dimensions: {
|
|
37
37
|
ou: orgUnits$1,
|
|
38
38
|
pe: periods,
|
|
@@ -40,11 +40,11 @@ function FurtherAnalysisVisualization({
|
|
|
40
40
|
},
|
|
41
41
|
config: {
|
|
42
42
|
chart: {
|
|
43
|
-
type: "column",
|
|
43
|
+
type: config.type?.chartType ?? "column",
|
|
44
44
|
layout: {
|
|
45
|
-
filter: ["pe"],
|
|
46
|
-
category: ["ou"],
|
|
47
|
-
series: ["dx"]
|
|
45
|
+
filter: config.layout?.filters ?? ["pe"],
|
|
46
|
+
category: config.layout?.rows ?? ["ou"],
|
|
47
|
+
series: config.layout?.columns ?? ["dx"]
|
|
48
48
|
}
|
|
49
49
|
},
|
|
50
50
|
pivotTable: {},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/ScorecardTable/FurtherAnalysisVisualization.tsx"],"names":["orgUnits","getOrgUnitsForAnalytics","jsx","Visualization"],"mappings":";;;;;;AAUO,SAAS,4BAAA,CAA6B;AAAA,EAC5C;AACD,CAAA,EAAsC;AACrC,EAAA,MAAMA,UAAA,GAAWC,gCAAA,CAAwB,MAAA,CAAO,gBAAgB,CAAA;AAChE,EAAA,MAAM,OAAA,GAAU,OAAO,eAAA,CAAgB,OAAA,CAAQ,IAAI,CAAC,EAAE,EAAA,EAAG,KAAM,EAAE,CAAA;AACjE,EAAA,MAAM,SAAA,GAAY,OAAO,WAAA,CAAY,GAAA,CAAI,CAAC,EAAE,EAAA,OAAS,EAAE,CAAA;AACvD,EAAA,uBACCC,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,KAAA,EAAO;AAAA,QACN,KAAA,EAAO,MAAA;AAAA,QACP,MAAA,EAAQ,GAAA;AAAA,QACR,OAAA,EAAS,EAAA;AAAA,QACT,SAAA,EAAW,GAAA;AAAA,QACX,SAAA,EAAW;AAAA,OACZ;AAAA,MAEA,QAAA,kBAAAA,cAAA;AAAA,QAACC,4BAAA;AAAA,QAAA;AAAA,UACA,MAAA,EAAQ,GAAA;AAAA,UACR,MAAA,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/ScorecardTable/FurtherAnalysisVisualization.tsx"],"names":["orgUnits","getOrgUnitsForAnalytics","jsx","Visualization"],"mappings":";;;;;;AAUO,SAAS,4BAAA,CAA6B;AAAA,EAC5C;AACD,CAAA,EAAsC;AACrC,EAAA,MAAMA,UAAA,GAAWC,gCAAA,CAAwB,MAAA,CAAO,gBAAgB,CAAA;AAChE,EAAA,MAAM,OAAA,GAAU,OAAO,eAAA,CAAgB,OAAA,CAAQ,IAAI,CAAC,EAAE,EAAA,EAAG,KAAM,EAAE,CAAA;AACjE,EAAA,MAAM,SAAA,GAAY,OAAO,WAAA,CAAY,GAAA,CAAI,CAAC,EAAE,EAAA,OAAS,EAAE,CAAA;AACvD,EAAA,uBACCC,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,KAAA,EAAO;AAAA,QACN,KAAA,EAAO,MAAA;AAAA,QACP,MAAA,EAAQ,GAAA;AAAA,QACR,OAAA,EAAS,EAAA;AAAA,QACT,SAAA,EAAW,GAAA;AAAA,QACX,SAAA,EAAW;AAAA,OACZ;AAAA,MAEA,QAAA,kBAAAA,cAAA;AAAA,QAACC,4BAAA;AAAA,QAAA;AAAA,UACA,MAAA,EAAQ,GAAA;AAAA,UACR,MAAA,EACC,OAAO,MAAA,IAAU;AAAA,YAChB,OAAA,EAAS,CAAC,IAAI,CAAA;AAAA,YACd,OAAA,EAAS,CAAC,IAAI,CAAA;AAAA,YACd,IAAA,EAAM,CAAC,IAAI;AAAA,WACZ;AAAA,UAED,WAAA,EAAW,IAAA;AAAA,UACX,mBAAA,EAAmB,IAAA;AAAA,UACnB,kBAAA,EAAkB,IAAA;AAAA,UAClB,wBAAA,EACC,MAAA,CAAO,IAAA,EAAM,iBAAA,IAAqB,OAAA;AAAA,UAEnC,UAAA,EAAY;AAAA,YACX,EAAA,EAAIH,UAAA;AAAA,YACJ,EAAA,EAAI,OAAA;AAAA,YACJ,EAAA,EAAI;AAAA,WACL;AAAA,UACA,MAAA,EAAQ;AAAA,YACP,KAAA,EAAO;AAAA,cACN,IAAA,EAAM,MAAA,CAAO,IAAA,EAAM,SAAA,IAAa,QAAA;AAAA,cAChC,MAAA,EAAQ;AAAA,gBACP,MAAA,EAAQ,MAAA,CAAO,MAAA,EAAQ,OAAA,IAAW,CAAC,IAAI,CAAA;AAAA,gBACvC,QAAA,EAAU,MAAA,CAAO,MAAA,EAAQ,IAAA,IAAQ,CAAC,IAAI,CAAA;AAAA,gBACtC,MAAA,EAAQ,MAAA,CAAO,MAAA,EAAQ,OAAA,IAAW,CAAC,IAAI;AAAA;AACxC,aACD;AAAA,YACA,YAAY,EAAC;AAAA,YACb,GAAA,EAAK;AAAA,cACJ,eAAA,EAAiB,IAAA;AAAA,cACjB,cAAA,EAAgB,MAAA,CAAO,WAAA,CAAY,GAAA,CAAI,CAAC,IAAA,MAAU;AAAA,gBACjD,OAAA,EAAS,IAAA;AAAA,gBACT,MAAM,IAAA,CAAK,KAAA;AAAA,gBACX,IAAI,IAAA,CAAK,EAAA;AAAA,gBACT,IAAA,EAAM,YAAA;AAAA,gBACN,QAAA,EAAU;AAAA,kBACT,MAAM,IAAA,CAAK,IAAA;AAAA,kBACX,aAAa,IAAA,CAAK,KAAA;AAAA,kBAClB,IAAI,IAAA,CAAK,EAAA;AAAA,kBACT,YAAA,EAAc;AAAA,oBACb,UAAA,EAAY,QAAA;AAAA,oBACZ,KAAA,EAAO;AAAA;AACR;AACD,eACD,CAAE;AAAA;AACH;AACD;AAAA;AACD;AAAA,GACD;AAEF","file":"FurtherAnalysisVisualization.js","sourcesContent":["import { getOrgUnitsForAnalytics } from \"../../utils/orgUnits\";\nimport type { FurtherAnalysisConfig } from \"./components/FurtherAnalysisModal\";\nimport { Visualization } from \"@hisptz/dhis2-analytics\";\n\nexport type DataItemType = \"dataElement\" | \"indicator\" | \"programIndicator\";\n\nexport interface FurtherAnalysisVisualizationProps {\n\tconfig: FurtherAnalysisConfig;\n}\n\nexport function FurtherAnalysisVisualization({\n\tconfig,\n}: FurtherAnalysisVisualizationProps) {\n\tconst orgUnits = getOrgUnitsForAnalytics(config.orgUnitSelection);\n\tconst periods = config.periodSelection.periods.map(({ id }) => id);\n\tconst dataItems = config.dataSources.map(({ id }) => id);\n\treturn (\n\t\t<div\n\t\t\tstyle={{\n\t\t\t\twidth: \"100%\",\n\t\t\t\theight: 400,\n\t\t\t\tpadding: 32,\n\t\t\t\tminHeight: 500,\n\t\t\t\tmaxHeight: \"80dvh\",\n\t\t\t}}\n\t\t>\n\t\t\t<Visualization\n\t\t\t\theight={400}\n\t\t\t\tlayout={\n\t\t\t\t\tconfig.layout ?? {\n\t\t\t\t\t\tcolumns: [\"dx\"],\n\t\t\t\t\t\tfilters: [\"pe\"],\n\t\t\t\t\t\trows: [\"ou\"],\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tshowToolbar\n\t\t\t\tshowOrgUnitSelector\n\t\t\t\tshowPeriodSelector\n\t\t\t\tdefaultVisualizationType={\n\t\t\t\t\tconfig.type?.visualizationType ?? \"chart\"\n\t\t\t\t}\n\t\t\t\tdimensions={{\n\t\t\t\t\tou: orgUnits,\n\t\t\t\t\tpe: periods,\n\t\t\t\t\tdx: dataItems,\n\t\t\t\t}}\n\t\t\t\tconfig={{\n\t\t\t\t\tchart: {\n\t\t\t\t\t\ttype: config.type?.chartType ?? \"column\",\n\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\tfilter: config.layout?.filters ?? [\"pe\"],\n\t\t\t\t\t\t\tcategory: config.layout?.rows ?? [\"ou\"],\n\t\t\t\t\t\t\tseries: config.layout?.columns ?? [\"dx\"],\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tpivotTable: {},\n\t\t\t\t\tmap: {\n\t\t\t\t\t\tshowPeriodTitle: true,\n\t\t\t\t\t\tthematicLayers: config.dataSources.map((item) => ({\n\t\t\t\t\t\t\tenabled: true,\n\t\t\t\t\t\t\tname: item.label,\n\t\t\t\t\t\t\tid: item.id,\n\t\t\t\t\t\t\ttype: \"choropleth\",\n\t\t\t\t\t\t\tdataItem: {\n\t\t\t\t\t\t\t\ttype: item.type as DataItemType,\n\t\t\t\t\t\t\t\tdisplayName: item.label!,\n\t\t\t\t\t\t\t\tid: item.id,\n\t\t\t\t\t\t\t\tlegendConfig: {\n\t\t\t\t\t\t\t\t\tcolorClass: \"YlOrBr\",\n\t\t\t\t\t\t\t\t\tscale: 7,\n\t\t\t\t\t\t\t\t},\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}}\n\t\t\t/>\n\t\t</div>\n\t);\n}\n"]}
|
|
@@ -25,7 +25,7 @@ function SingleAverageCell({
|
|
|
25
25
|
config,
|
|
26
26
|
value: dataSource.data.average
|
|
27
27
|
});
|
|
28
|
-
}, [dataSource]);
|
|
28
|
+
}, [dataSource, config]);
|
|
29
29
|
if (!dataSource.data.average || isNaN(dataSource.data.average)) {
|
|
30
30
|
return /* @__PURE__ */ jsxRuntime.jsx(ui.DataTableCell, { bordered: true });
|
|
31
31
|
}
|
|
@@ -124,7 +124,7 @@ function DataSourceAverageCell(props) {
|
|
|
124
124
|
}
|
|
125
125
|
function OrgUnitAverageCell(props) {
|
|
126
126
|
const size = props.cell.column.getSize();
|
|
127
|
-
const dataConfig = react.useMemo(() => props.getValue(), [props
|
|
127
|
+
const dataConfig = react.useMemo(() => props.getValue(), [props]);
|
|
128
128
|
const { loading, average } = value.useOrgUnitAverageCellValue(dataConfig);
|
|
129
129
|
if (loading) {
|
|
130
130
|
return /* @__PURE__ */ jsxRuntime.jsx(CellLoader.CellLoader, { size });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/ScorecardTable/components/AverageCell.tsx"],"names":["useScorecardConfig","useMemo","getLegend","jsx","DataTableCell","getTextColorFromBackgroundColor","LinkedCell","useDataHolderAverageCellValue","CellLoader","isEmpty","head","useOrgUnitAverageCellValue","useScorecardViewStateValue"],"mappings":";;;;;;;;;;;;;AAsBO,SAAS,iBAAA,CAAkB;AAAA,EACjC,UAAA;AAAA,EACA;AACD,CAAA,EAGG;AACF,EAAA,MAAM,SAASA,iCAAA,EAAmB;AAClC,EAAA,MAAM,gBAAA,GAAmBC,cAAQ,MAAM;AACtC,IAAA,IAAI,CAAC,UAAA,EAAY;AAChB,MAAA;AAAA,IACD;AACA,IAAA,OAAOC,iBAAA,CAAU;AAAA,MAChB,UAAA;AAAA,MACA,MAAA;AAAA,MACA,KAAA,EAAO,WAAW,IAAA,CAAK;AAAA,KACvB,CAAA;AAAA,EACF,CAAA,EAAG,CAAC,
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/ScorecardTable/components/AverageCell.tsx"],"names":["useScorecardConfig","useMemo","getLegend","jsx","DataTableCell","getTextColorFromBackgroundColor","LinkedCell","useDataHolderAverageCellValue","CellLoader","isEmpty","head","useOrgUnitAverageCellValue","useScorecardViewStateValue"],"mappings":"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","file":"AverageCell.js","sourcesContent":["import type { CellContext } from \"@tanstack/react-table\";\nimport type {\n\tScorecardAverageCellData,\n\tScorecardTableAverageCellConfig,\n\tScorecardTableData,\n} from \"../../../schemas/config\";\nimport { DataTableCell } from \"@dhis2/ui\";\nimport { head, isEmpty } from \"lodash\";\nimport { useScorecardConfig } from \"../../ConfigProvider\";\nimport { useMemo } from \"react\";\nimport {\n\tgetLegend,\n\tgetTextColorFromBackgroundColor,\n} from \"../../../utils/legends\";\nimport { LinkedCell } from \"./LinkedCell\";\nimport {\n\tuseDataHolderAverageCellValue,\n\tuseOrgUnitAverageCellValue,\n} from \"../../../hooks/value\";\nimport { CellLoader } from \"./CellLoader\";\nimport { useScorecardViewStateValue } from \"../../../utils\";\n\nexport function SingleAverageCell({\n\tdataSource,\n\tsize,\n}: {\n\tdataSource: ScorecardAverageCellData;\n\tsize: number;\n}) {\n\tconst config = useScorecardConfig();\n\tconst legendDefinition = useMemo(() => {\n\t\tif (!dataSource) {\n\t\t\treturn;\n\t\t}\n\t\treturn getLegend({\n\t\t\tdataSource,\n\t\t\tconfig: config!,\n\t\t\tvalue: dataSource.data.average,\n\t\t});\n\t}, [dataSource, config]);\n\n\tif (!dataSource.data.average || isNaN(dataSource.data.average)) {\n\t\treturn <DataTableCell bordered />;\n\t}\n\n\treturn (\n\t\t<DataTableCell\n\t\t\tbordered\n\t\t\tstyle={{\n\t\t\t\tbackground: legendDefinition?.color,\n\t\t\t\ttextAlign: \"center\",\n\t\t\t\tminWidth: 100,\n\t\t\t\twidth: size,\n\t\t\t\theight: 48,\n\t\t\t\tcolor: legendDefinition\n\t\t\t\t\t? getTextColorFromBackgroundColor(legendDefinition?.color)\n\t\t\t\t\t: undefined,\n\t\t\t}}\n\t\t\talign=\"center\"\n\t\t>\n\t\t\t<b>{dataSource.data.average?.toFixed(2).toString()}</b>\n\t\t</DataTableCell>\n\t);\n}\n\nexport function LinkedAverageCell({\n\tdataSources,\n\tsize,\n}: {\n\tdataSources: Array<ScorecardAverageCellData>;\n\tsize: number;\n}) {\n\tconst [top, bottom] = dataSources ?? [];\n\tconst config = useScorecardConfig();\n\tconst topLegendDefinition = useMemo(() => {\n\t\tif (!top) {\n\t\t\treturn;\n\t\t}\n\t\treturn getLegend({\n\t\t\tdataSource: top,\n\t\t\tconfig: config!,\n\t\t\tvalue: top.data.average,\n\t\t});\n\t}, [top]);\n\tconst bottomLegendDefinition = useMemo(() => {\n\t\tif (!bottom) {\n\t\t\treturn;\n\t\t}\n\t\treturn getLegend({\n\t\t\tdataSource: bottom,\n\t\t\tconfig: config!,\n\t\t\tvalue: bottom.data.average,\n\t\t});\n\t}, [bottom]);\n\n\treturn (\n\t\t<LinkedCell\n\t\t\tbold\n\t\t\tsize={size}\n\t\t\ttop={{\n\t\t\t\tdataSource: {\n\t\t\t\t\t...top,\n\t\t\t\t\tdata: {\n\t\t\t\t\t\tcurrent: top.data.average,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tlegendDefinition: topLegendDefinition,\n\t\t\t\tvalue: top.data.average,\n\t\t\t}}\n\t\t\tbottom={{\n\t\t\t\tdataSource: {\n\t\t\t\t\t...bottom,\n\t\t\t\t\tdata: {\n\t\t\t\t\t\tcurrent: bottom.data.average,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tlegendDefinition: bottomLegendDefinition,\n\t\t\t\tvalue: bottom.data.average,\n\t\t\t}}\n\t\t/>\n\t);\n}\n\nfunction DataSourceAverageCell(\n\tprops: CellContext<ScorecardTableData, ScorecardTableAverageCellConfig>,\n) {\n\tconst size = props.cell.column.getSize();\n\tconst dataConfig = useMemo(() => props.getValue(), [props.getValue()]);\n\tconst { cellData: dataSources, loading } =\n\t\tuseDataHolderAverageCellValue(dataConfig);\n\n\tif (loading) {\n\t\treturn <CellLoader size={size} />;\n\t}\n\n\tif (!isEmpty(dataSources)) {\n\t\tif (dataSources?.length === 1) {\n\t\t\treturn (\n\t\t\t\t<SingleAverageCell\n\t\t\t\t\tsize={size}\n\t\t\t\t\tdataSource={head(dataSources)!}\n\t\t\t\t/>\n\t\t\t);\n\t\t} else {\n\t\t\treturn <LinkedAverageCell size={size} dataSources={dataSources!} />;\n\t\t}\n\t}\n\n\treturn <DataTableCell bordered style={{ width: size }} />;\n}\n\nfunction OrgUnitAverageCell(\n\tprops: CellContext<ScorecardTableData, ScorecardTableAverageCellConfig>,\n) {\n\tconst size = props.cell.column.getSize();\n\tconst dataConfig = useMemo(() => props.getValue(), [props]);\n\tconst { loading, average } = useOrgUnitAverageCellValue(dataConfig);\n\n\tif (loading) {\n\t\treturn <CellLoader size={size} />;\n\t}\n\n\tif (isNaN(average as number)) {\n\t\treturn (\n\t\t\t<DataTableCell\n\t\t\t\tstyle={{ width: size }}\n\t\t\t\tbordered\n\t\t\t\talign=\"center\"\n\t\t\t\tkey={props.row.id}\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<DataTableCell\n\t\t\tstyle={{ width: size }}\n\t\t\tbordered\n\t\t\talign=\"center\"\n\t\t\tkey={props.row.id}\n\t\t>\n\t\t\t<b>{average?.toFixed(2).toString()}</b>\n\t\t</DataTableCell>\n\t);\n}\n\nexport function AverageCell(\n\tprops: CellContext<ScorecardTableData, ScorecardTableAverageCellConfig>,\n) {\n\tconst showDataInRows =\n\t\tuseScorecardViewStateValue<boolean>(\"showDataInRows\");\n\n\tif (showDataInRows) {\n\t\treturn <DataSourceAverageCell {...props} />;\n\t}\n\n\treturn <OrgUnitAverageCell {...props} />;\n}\n"]}
|
|
@@ -6,44 +6,22 @@ var MetaProvider = require('../../MetaProvider');
|
|
|
6
6
|
var DataProvider = require('../../DataProvider');
|
|
7
7
|
var react = require('react');
|
|
8
8
|
var columns = require('../../../utils/columns');
|
|
9
|
-
var
|
|
9
|
+
var completed = require('../../../hooks/completed');
|
|
10
10
|
|
|
11
11
|
function AverageFooterCell({
|
|
12
12
|
column
|
|
13
13
|
}) {
|
|
14
14
|
const size = column.getSize();
|
|
15
|
-
const meta = MetaProvider.useScorecardMeta();
|
|
16
|
-
const [loading, setLoading] = react.useState(false);
|
|
17
|
-
const [average, setAverage] = react.useState();
|
|
18
15
|
const { data: scorecardEngine } = DataProvider.useScorecardData();
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
);
|
|
29
|
-
setLoading(false);
|
|
30
|
-
}
|
|
31
|
-
};
|
|
32
|
-
if (scorecardEngine.isDone) {
|
|
33
|
-
setAverage(
|
|
34
|
-
columns.getAverageValue({
|
|
35
|
-
dataValues: scorecardEngine.data,
|
|
36
|
-
meta
|
|
37
|
-
})
|
|
38
|
-
);
|
|
39
|
-
setLoading(false);
|
|
40
|
-
} else {
|
|
41
|
-
return scorecardEngine.addOnCompleteListener(listener);
|
|
42
|
-
}
|
|
43
|
-
}, []);
|
|
44
|
-
if (loading) {
|
|
45
|
-
return /* @__PURE__ */ jsxRuntime.jsx(CellLoader.CellLoader, { size });
|
|
46
|
-
}
|
|
16
|
+
const meta = MetaProvider.useScorecardMeta();
|
|
17
|
+
const isDone = completed.useScorecardLoadingCompleted();
|
|
18
|
+
const average = react.useMemo(() => {
|
|
19
|
+
if (!isDone) return;
|
|
20
|
+
return columns.getAverageValue({
|
|
21
|
+
dataValues: Array.from(scorecardEngine.data.values()),
|
|
22
|
+
meta
|
|
23
|
+
});
|
|
24
|
+
}, [meta, isDone, scorecardEngine.data]);
|
|
47
25
|
if (!average || isNaN(average)) {
|
|
48
26
|
return /* @__PURE__ */ jsxRuntime.jsx(ui.DataTableCell, { style: { width: size }, bordered: true });
|
|
49
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/ScorecardTable/components/AverageFooterCell.tsx"],"names":["
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/ScorecardTable/components/AverageFooterCell.tsx"],"names":["useScorecardData","useScorecardMeta","useScorecardLoadingCompleted","useMemo","getAverageValue","jsx","DataTableCell"],"mappings":";;;;;;;;;;AASO,SAAS,iBAAA,CAAkB;AAAA,EACjC;AACD,CAAA,EAA2C;AAC1C,EAAA,MAAM,IAAA,GAAO,OAAO,OAAA,EAAQ;AAC5B,EAAA,MAAM,EAAE,IAAA,EAAM,eAAA,EAAgB,GAAIA,6BAAA,EAAiB;AACnD,EAAA,MAAM,OAAOC,6BAAA,EAAiB;AAC9B,EAAA,MAAM,SAASC,sCAAA,EAA6B;AAC5C,EAAA,MAAM,OAAA,GAAUC,cAAQ,MAAM;AAC7B,IAAA,IAAI,CAAC,MAAA,EAAQ;AACb,IAAA,OAAOC,uBAAA,CAAgB;AAAA,MACtB,YAAY,KAAA,CAAM,IAAA,CAAK,eAAA,CAAgB,IAAA,CAAK,QAAQ,CAAA;AAAA,MACpD;AAAA,KACA,CAAA;AAAA,EACF,GAAG,CAAC,IAAA,EAAM,MAAA,EAAQ,eAAA,CAAgB,IAAI,CAAC,CAAA;AAEvC,EAAA,IAAI,CAAC,OAAA,IAAW,KAAA,CAAM,OAAO,CAAA,EAAG;AAC/B,IAAA,uBAAOC,cAAA,CAACC,oBAAc,KAAA,EAAO,EAAE,OAAO,IAAA,EAAK,EAAG,UAAQ,IAAA,EAAC,CAAA;AAAA,EACxD;AAEA,EAAA,sCACEA,gBAAA,EAAA,EAAc,KAAA,EAAO,EAAE,KAAA,EAAO,IAAA,IAAQ,QAAA,EAAQ,IAAA,EAAC,OAAM,QAAA,EACrD,QAAA,kBAAAD,cAAA,CAAC,OAAG,QAAA,EAAA,OAAA,EAAS,OAAA,CAAQ,CAAC,CAAA,CAAE,QAAA,IAAW,CAAA,EACpC,CAAA;AAEF","file":"AverageFooterCell.js","sourcesContent":["import { DataTableCell } from \"@dhis2/ui\";\nimport type { HeaderContext } from \"@tanstack/react-table\";\nimport type { ScorecardTableData } from \"../../../schemas/config\";\nimport { useScorecardMeta } from \"../../MetaProvider\";\nimport { useScorecardData } from \"../../DataProvider\";\nimport { useMemo, useSyncExternalStore } from \"react\";\nimport { getAverageValue } from \"../../../utils/columns\";\nimport { useScorecardLoadingCompleted } from \"../../../hooks/completed\";\n\nexport function AverageFooterCell({\n\tcolumn,\n}: HeaderContext<ScorecardTableData, any>) {\n\tconst size = column.getSize();\n\tconst { data: scorecardEngine } = useScorecardData();\n\tconst meta = useScorecardMeta();\n\tconst isDone = useScorecardLoadingCompleted();\n\tconst average = useMemo(() => {\n\t\tif (!isDone) return;\n\t\treturn getAverageValue({\n\t\t\tdataValues: Array.from(scorecardEngine.data.values()),\n\t\t\tmeta: meta!,\n\t\t});\n\t}, [meta, isDone, scorecardEngine.data]);\n\n\tif (!average || isNaN(average)) {\n\t\treturn <DataTableCell style={{ width: size }} bordered />;\n\t}\n\n\treturn (\n\t\t<DataTableCell style={{ width: size }} bordered align=\"center\">\n\t\t\t<b>{average?.toFixed(2).toString()}</b>\n\t\t</DataTableCell>\n\t);\n}\n"]}
|
|
@@ -25,7 +25,10 @@ function DataContainerComponent(props) {
|
|
|
25
25
|
if (!dataConfig) {
|
|
26
26
|
return /* @__PURE__ */ jsxRuntime.jsx(ui.DataTableCell, { bordered: true });
|
|
27
27
|
}
|
|
28
|
-
if (cellData
|
|
28
|
+
if (!cellData) {
|
|
29
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ui.DataTableCell, { bordered: true });
|
|
30
|
+
}
|
|
31
|
+
if (cellData.length === 1) {
|
|
29
32
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
30
33
|
SingleDataCell.SingleDataCell,
|
|
31
34
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/ScorecardTable/components/DataContainer.tsx"],"names":["useScorecardConfig","useScorecardMeta","useCellValue","jsx","DataTableCell","CellLoader","SingleDataCell","LinkedDataCell","memo","DataContainer"],"mappings":";;;;;;;;;;;;AAcA,SAAS,uBACR,KAAA,EACC;AACD,EAAA,MAAM,IAAA,GAAO,KAAA,CAAM,IAAA,CAAK,MAAA,CAAO,OAAA,EAAQ;AACvC,EAAA,MAAM,UAAA,GAAa,MAAM,QAAA,EAAS;AAClC,EAAA,MAAM,SAASA,iCAAA,EAAmB;AAClC,EAAA,MAAM,OAAOC,6BAAA,EAAiB;AAC9B,EAAA,MAAM,EAAE,OAAA,EAAS,QAAA,KAAaC,kBAAA,CAAa,KAAA,CAAM,UAAU,CAAA;AAE3D,EAAA,IAAI,CAAC,MAAA,IAAU,CAAC,IAAA,EAAM;AACrB,IAAA,uBAAOC,cAAA,CAACC,oBAAc,KAAA,EAAO,EAAE,OAAO,IAAA,EAAK,EAAG,UAAQ,IAAA,EAAC,CAAA;AAAA,EACxD;AAEA,EAAA,IAAI,OAAA,EAAS;AACZ,IAAA,uBAAOD,cAAA,CAACE,yBAAW,IAAA,EAAY,CAAA;AAAA,EAChC;AAEA,EAAA,IAAI,CAAC,UAAA,EAAY;AAChB,IAAA,uBAAOF,cAAA,CAACC,gBAAA,EAAA,EAAc,QAAA,EAAQ,IAAA,EAAC,CAAA;AAAA,EAChC;AAEA,EAAA,IAAI,QAAA,EAAU,WAAW,CAAA,EAAG;
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/ScorecardTable/components/DataContainer.tsx"],"names":["useScorecardConfig","useScorecardMeta","useCellValue","jsx","DataTableCell","CellLoader","SingleDataCell","LinkedDataCell","memo","DataContainer"],"mappings":";;;;;;;;;;;;AAcA,SAAS,uBACR,KAAA,EACC;AACD,EAAA,MAAM,IAAA,GAAO,KAAA,CAAM,IAAA,CAAK,MAAA,CAAO,OAAA,EAAQ;AACvC,EAAA,MAAM,UAAA,GAAa,MAAM,QAAA,EAAS;AAClC,EAAA,MAAM,SAASA,iCAAA,EAAmB;AAClC,EAAA,MAAM,OAAOC,6BAAA,EAAiB;AAC9B,EAAA,MAAM,EAAE,OAAA,EAAS,QAAA,KAAaC,kBAAA,CAAa,KAAA,CAAM,UAAU,CAAA;AAE3D,EAAA,IAAI,CAAC,MAAA,IAAU,CAAC,IAAA,EAAM;AACrB,IAAA,uBAAOC,cAAA,CAACC,oBAAc,KAAA,EAAO,EAAE,OAAO,IAAA,EAAK,EAAG,UAAQ,IAAA,EAAC,CAAA;AAAA,EACxD;AAEA,EAAA,IAAI,OAAA,EAAS;AACZ,IAAA,uBAAOD,cAAA,CAACE,yBAAW,IAAA,EAAY,CAAA;AAAA,EAChC;AAEA,EAAA,IAAI,CAAC,UAAA,EAAY;AAChB,IAAA,uBAAOF,cAAA,CAACC,gBAAA,EAAA,EAAc,QAAA,EAAQ,IAAA,EAAC,CAAA;AAAA,EAChC;AAEA,EAAA,IAAI,CAAC,QAAA,EAAU;AACd,IAAA,uBAAOD,cAAA,CAACC,gBAAA,EAAA,EAAc,QAAA,EAAQ,IAAA,EAAC,CAAA;AAAA,EAChC;AAEA,EAAA,IAAI,QAAA,CAAS,WAAW,CAAA,EAAG;AAC1B,IAAA,uBACCD,cAAA;AAAA,MAACG,6BAAA;AAAA,MAAA;AAAA,QACC,GAAG,UAAA;AAAA,QACJ,IAAA;AAAA,QACA,QAAQ,UAAA,CAAW,aAAA;AAAA,QACnB,WAAA,EAAa;AAAA;AAAA,KACd;AAAA,EAEF;AAEA,EAAA,uBACCH,cAAA;AAAA,IAACI,6BAAA;AAAA,IAAA;AAAA,MACC,GAAG,UAAA;AAAA,MACJ,IAAA;AAAA,MACA,QAAQ,UAAA,CAAW,aAAA;AAAA,MACnB,WAAA,EAAa;AAAA;AAAA,GACd;AAEF;AAEO,MAAM,aAAA,GAAgBC,UAAA,CAAK,SAASC,cAAAA,CAC1C,KAAA,EACC;AACD,EAAA,MAAM,MAAA,GAAS,MAAM,QAAA,EAAS;AAE9B,EAAA,IAAI,CAAC,MAAA,EAAQ;AACZ,IAAA,sCAAQL,gBAAA,EAAA,EAAc,QAAA,EAAQ,MAAC,GAAA,EAAI,IAAA,EAAK,OAAM,MAAA,EAAO,CAAA;AAAA,EACtD;AAEA,EAAA,uBAAOD,cAAA,CAAC,sBAAA,EAAA,EAAwB,GAAG,KAAA,EAAO,CAAA;AAC3C,CAAC","file":"DataContainer.js","sourcesContent":["import type {\n\tScorecardTableCellConfig,\n\tScorecardTableData,\n} from \"../../../schemas/config\";\nimport { useScorecardConfig } from \"../../ConfigProvider\";\nimport { useScorecardMeta } from \"../../MetaProvider\";\nimport { SingleDataCell } from \"./SingleDataCell\";\nimport { LinkedDataCell } from \"./LinkedDataCell\";\nimport type { CellContext } from \"@tanstack/react-table\";\nimport { DataTableCell } from \"@dhis2/ui\";\nimport { memo } from \"react\";\nimport { useCellValue } from \"../../../hooks/value\";\nimport { CellLoader } from \"./CellLoader\";\n\nfunction DataContainerComponent(\n\tprops: CellContext<ScorecardTableData, ScorecardTableCellConfig>,\n) {\n\tconst size = props.cell.column.getSize();\n\tconst dataConfig = props.getValue();\n\tconst config = useScorecardConfig();\n\tconst meta = useScorecardMeta();\n\tconst { loading, cellData } = useCellValue(props.getValue());\n\n\tif (!config || !meta) {\n\t\treturn <DataTableCell style={{ width: size }} bordered />;\n\t}\n\n\tif (loading) {\n\t\treturn <CellLoader size={size} />;\n\t}\n\n\tif (!dataConfig) {\n\t\treturn <DataTableCell bordered />;\n\t}\n\n\tif (!cellData) {\n\t\treturn <DataTableCell bordered />;\n\t}\n\n\tif (cellData.length === 1) {\n\t\treturn (\n\t\t\t<SingleDataCell\n\t\t\t\t{...dataConfig}\n\t\t\t\tsize={size}\n\t\t\t\tperiod={dataConfig.currentPeriod!}\n\t\t\t\tdataSources={cellData}\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<LinkedDataCell\n\t\t\t{...dataConfig}\n\t\t\tsize={size}\n\t\t\tperiod={dataConfig.currentPeriod!}\n\t\t\tdataSources={cellData}\n\t\t/>\n\t);\n}\n\nexport const DataContainer = memo(function DataContainer(\n\tprops: CellContext<ScorecardTableData, ScorecardTableCellConfig>,\n) {\n\tconst config = props.getValue();\n\n\tif (!config) {\n\t\treturn <DataTableCell bordered tag=\"th\" width=\"auto\" />;\n\t}\n\n\treturn <DataContainerComponent {...props} />;\n});\n"]}
|
|
@@ -3,11 +3,10 @@
|
|
|
3
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
4
|
var react = require('react');
|
|
5
5
|
var ui = require('@dhis2/ui');
|
|
6
|
-
var DataProvider = require('../../DataProvider');
|
|
7
6
|
var lodash = require('lodash');
|
|
8
|
-
var CellLoader = require('./CellLoader');
|
|
9
7
|
var AverageCell = require('./AverageCell');
|
|
10
|
-
var
|
|
8
|
+
var utils = require('../../../utils');
|
|
9
|
+
var value = require('../../../hooks/value');
|
|
11
10
|
|
|
12
11
|
function getOrgUnitAverage({
|
|
13
12
|
dataSourcesConfig,
|
|
@@ -32,37 +31,24 @@ function OrgUnitFooterCell({
|
|
|
32
31
|
dataSourcesConfig,
|
|
33
32
|
size
|
|
34
33
|
}) {
|
|
35
|
-
const
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
);
|
|
48
|
-
setLoading(false);
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
if (scorecardEngine.isDone) {
|
|
52
|
-
setAverageValues(
|
|
53
|
-
getOrgUnitAverage({
|
|
54
|
-
dataSourcesConfig,
|
|
55
|
-
data: scorecardEngine.data
|
|
56
|
-
})
|
|
57
|
-
);
|
|
58
|
-
setLoading(false);
|
|
59
|
-
} else {
|
|
60
|
-
return scorecardEngine.addOnCompleteListener(listener);
|
|
34
|
+
const analyticsData = value.useDataValue({
|
|
35
|
+
ou: dataSourcesConfig.map(({ orgUnit }) => orgUnit.uid),
|
|
36
|
+
pe: lodash.compact(
|
|
37
|
+
dataSourcesConfig.map(({ currentPeriod }) => currentPeriod)
|
|
38
|
+
),
|
|
39
|
+
dx: lodash.compact(
|
|
40
|
+
dataSourcesConfig.map(({ dataSources }) => dataSources?.map(({ id }) => id)).flat()
|
|
41
|
+
)
|
|
42
|
+
});
|
|
43
|
+
const averageValues = react.useMemo(() => {
|
|
44
|
+
if (!analyticsData) {
|
|
45
|
+
return;
|
|
61
46
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
47
|
+
return getOrgUnitAverage({
|
|
48
|
+
dataSourcesConfig,
|
|
49
|
+
data: analyticsData
|
|
50
|
+
});
|
|
51
|
+
}, [analyticsData, dataSourcesConfig]);
|
|
66
52
|
if (lodash.isEmpty(averageValues)) {
|
|
67
53
|
return /* @__PURE__ */ jsxRuntime.jsx(ui.DataTableCell, { style: { width: size }, bordered: true });
|
|
68
54
|
}
|
|
@@ -76,43 +62,21 @@ function DataHolderFooterCell({
|
|
|
76
62
|
dataSourcesConfig,
|
|
77
63
|
size
|
|
78
64
|
}) {
|
|
79
|
-
const
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
const average2 = lodash.meanBy(
|
|
92
|
-
dataValues,
|
|
93
|
-
(value) => parseFloat(value.value)
|
|
94
|
-
);
|
|
95
|
-
setAverage(average2);
|
|
96
|
-
}
|
|
97
|
-
};
|
|
98
|
-
if (scorecardEngine.isDone) {
|
|
99
|
-
const orgUnitId = lodash.head(dataSourcesConfig);
|
|
100
|
-
const dataValues = scorecardEngine.data.filter(
|
|
101
|
-
(datum) => datum.ou === orgUnitId.orgUnit.uid
|
|
102
|
-
);
|
|
103
|
-
const average2 = lodash.meanBy(
|
|
104
|
-
dataValues,
|
|
105
|
-
(value) => parseFloat(value.value)
|
|
106
|
-
);
|
|
107
|
-
setAverage(average2);
|
|
108
|
-
setLoading(false);
|
|
109
|
-
} else {
|
|
110
|
-
return scorecardEngine.addOnCompleteListener(listener);
|
|
65
|
+
const analyticsData = value.useDataValue({
|
|
66
|
+
ou: dataSourcesConfig.map(({ orgUnit }) => orgUnit.uid),
|
|
67
|
+
pe: lodash.compact(
|
|
68
|
+
dataSourcesConfig.map(({ currentPeriod }) => currentPeriod)
|
|
69
|
+
),
|
|
70
|
+
dx: lodash.compact(
|
|
71
|
+
dataSourcesConfig.map(({ dataSources }) => dataSources?.map(({ id }) => id)).flat()
|
|
72
|
+
)
|
|
73
|
+
});
|
|
74
|
+
const average = react.useMemo(() => {
|
|
75
|
+
if (!analyticsData) {
|
|
76
|
+
return;
|
|
111
77
|
}
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
return /* @__PURE__ */ jsxRuntime.jsx(CellLoader.CellLoader, { size });
|
|
115
|
-
}
|
|
78
|
+
return lodash.meanBy(analyticsData, (datum) => parseFloat(datum.value));
|
|
79
|
+
}, [analyticsData]);
|
|
116
80
|
if (isNaN(average)) {
|
|
117
81
|
return /* @__PURE__ */ jsxRuntime.jsx(ui.DataTableCell, { style: { width: size }, bordered: true, align: "center" });
|
|
118
82
|
}
|
|
@@ -123,12 +87,12 @@ function DataFooterCell({
|
|
|
123
87
|
column
|
|
124
88
|
}) {
|
|
125
89
|
const size = column.getSize();
|
|
126
|
-
const showDataInRows =
|
|
90
|
+
const showDataInRows = utils.useScorecardViewStateValue("showDataInRows");
|
|
127
91
|
const dataSourceConfig = react.useMemo(() => {
|
|
128
92
|
return table.getRowModel().rows.map(
|
|
129
93
|
(row) => row.getValue(column.id)
|
|
130
94
|
);
|
|
131
|
-
}, [table.
|
|
95
|
+
}, [table, column.id]);
|
|
132
96
|
if (showDataInRows) {
|
|
133
97
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
134
98
|
DataHolderFooterCell,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/ScorecardTable/components/DataFooterCell.tsx"],"names":["head","meanBy","
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/ScorecardTable/components/DataFooterCell.tsx"],"names":["head","meanBy","useDataValue","compact","useMemo","isEmpty","jsx","DataTableCell","SingleAverageCell","LinkedAverageCell","useScorecardViewStateValue"],"mappings":"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","file":"DataFooterCell.js","sourcesContent":["import type { HeaderContext } from \"@tanstack/react-table\";\nimport type {\n\tScorecardAverageCellData,\n\tScorecardTableCellConfig,\n\tScorecardTableData,\n} from \"../../../schemas/config\";\nimport { useMemo } from \"react\";\nimport { DataTableCell } from \"@dhis2/ui\";\nimport type { AnalyticsData } from \"../../../utils/data\";\nimport { compact, head, isEmpty, meanBy } from \"lodash\";\nimport { LinkedAverageCell, SingleAverageCell } from \"./AverageCell\";\nimport { useScorecardViewStateValue } from \"../../../utils\";\nimport { useDataValue } from \"../../../hooks/value\";\n\nfunction getOrgUnitAverage({\n\tdataSourcesConfig,\n\tdata,\n}: {\n\tdataSourcesConfig: ScorecardTableCellConfig[];\n\tdata: AnalyticsData[];\n}): ScorecardAverageCellData[] {\n\tconst dataSourceConfig = head(dataSourcesConfig)!;\n\n\treturn dataSourceConfig?.dataSources?.map((config) => {\n\t\tconst period = dataSourceConfig.currentPeriod!;\n\t\tconst dataValues = data.filter(\n\t\t\t(datum) => datum.pe === period && datum.dx === config.id,\n\t\t);\n\t\tconst average = meanBy(dataValues, (value) => parseFloat(value.value!));\n\n\t\treturn {\n\t\t\t...config,\n\t\t\tdata: {\n\t\t\t\taverage,\n\t\t\t},\n\t\t};\n\t});\n}\n\nfunction OrgUnitFooterCell({\n\tdataSourcesConfig,\n\tsize,\n}: {\n\tdataSourcesConfig: ScorecardTableCellConfig[];\n\tsize: number;\n}) {\n\tconst analyticsData = useDataValue({\n\t\tou: dataSourcesConfig.map(({ orgUnit }) => orgUnit.uid),\n\t\tpe: compact(\n\t\t\tdataSourcesConfig.map(({ currentPeriod }) => currentPeriod),\n\t\t),\n\t\tdx: compact(\n\t\t\tdataSourcesConfig\n\t\t\t\t.map(({ dataSources }) => dataSources?.map(({ id }) => id))\n\t\t\t\t.flat(),\n\t\t),\n\t});\n\n\tconst averageValues = useMemo(() => {\n\t\tif (!analyticsData) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn getOrgUnitAverage({\n\t\t\tdataSourcesConfig,\n\t\t\tdata: analyticsData,\n\t\t});\n\t}, [analyticsData, dataSourcesConfig]);\n\n\tif (isEmpty(averageValues)) {\n\t\treturn <DataTableCell style={{ width: size }} bordered />;\n\t}\n\n\tif (averageValues?.length === 1) {\n\t\treturn (\n\t\t\t<SingleAverageCell size={size} dataSource={head(averageValues)!} />\n\t\t);\n\t} else {\n\t\treturn <LinkedAverageCell size={size} dataSources={averageValues!} />;\n\t}\n}\n\nfunction DataHolderFooterCell({\n\tdataSourcesConfig,\n\tsize,\n}: {\n\tdataSourcesConfig: ScorecardTableCellConfig[];\n\tsize: number;\n}) {\n\tconst analyticsData = useDataValue({\n\t\tou: dataSourcesConfig.map(({ orgUnit }) => orgUnit.uid),\n\t\tpe: compact(\n\t\t\tdataSourcesConfig.map(({ currentPeriod }) => currentPeriod),\n\t\t),\n\t\tdx: compact(\n\t\t\tdataSourcesConfig\n\t\t\t\t.map(({ dataSources }) => dataSources?.map(({ id }) => id))\n\t\t\t\t.flat(),\n\t\t),\n\t});\n\tconst average = useMemo(() => {\n\t\tif (!analyticsData) {\n\t\t\treturn;\n\t\t}\n\t\treturn meanBy(analyticsData, (datum) => parseFloat(datum.value!)) as\n\t\t\t| number\n\t\t\t| undefined;\n\t}, [analyticsData]);\n\n\tif (isNaN(average as number)) {\n\t\treturn (\n\t\t\t<DataTableCell style={{ width: size }} bordered align=\"center\" />\n\t\t);\n\t}\n\treturn (\n\t\t<DataTableCell style={{ width: size }} bordered align=\"center\">\n\t\t\t<b>{average?.toFixed(2).toString()}</b>\n\t\t</DataTableCell>\n\t);\n}\n\nexport function DataFooterCell({\n\ttable,\n\tcolumn,\n}: HeaderContext<ScorecardTableData, ScorecardTableCellConfig>) {\n\tconst size = column.getSize();\n\tconst showDataInRows =\n\t\tuseScorecardViewStateValue<boolean>(\"showDataInRows\");\n\tconst dataSourceConfig = useMemo(() => {\n\t\treturn table\n\t\t\t.getRowModel()\n\t\t\t.rows.map((row) =>\n\t\t\t\trow.getValue(column.id),\n\t\t\t) as ScorecardTableCellConfig[];\n\t}, [table, column.id]);\n\n\tif (showDataInRows) {\n\t\treturn (\n\t\t\t<DataHolderFooterCell\n\t\t\t\tsize={size}\n\t\t\t\tdataSourcesConfig={dataSourceConfig}\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<OrgUnitFooterCell size={size} dataSourcesConfig={dataSourceConfig} />\n\t);\n}\n"]}
|
|
@@ -119,6 +119,15 @@ function FurtherAnalysisMenu({
|
|
|
119
119
|
}
|
|
120
120
|
]
|
|
121
121
|
},
|
|
122
|
+
type: {
|
|
123
|
+
visualizationType: "chart",
|
|
124
|
+
chartType: "line"
|
|
125
|
+
},
|
|
126
|
+
layout: {
|
|
127
|
+
columns: ["dx"],
|
|
128
|
+
rows: ["pe"],
|
|
129
|
+
filters: ["ou"]
|
|
130
|
+
},
|
|
122
131
|
orgUnitSelection: {
|
|
123
132
|
levels: [],
|
|
124
133
|
groups: [],
|
|
@@ -149,6 +158,15 @@ function FurtherAnalysisMenu({
|
|
|
149
158
|
}
|
|
150
159
|
]
|
|
151
160
|
},
|
|
161
|
+
type: {
|
|
162
|
+
visualizationType: "chart",
|
|
163
|
+
chartType: "line"
|
|
164
|
+
},
|
|
165
|
+
layout: {
|
|
166
|
+
columns: ["dx"],
|
|
167
|
+
rows: ["pe"],
|
|
168
|
+
filters: ["ou"]
|
|
169
|
+
},
|
|
152
170
|
orgUnitSelection: {
|
|
153
171
|
levels: [],
|
|
154
172
|
groups: [],
|
|
@@ -179,6 +197,15 @@ function FurtherAnalysisMenu({
|
|
|
179
197
|
}
|
|
180
198
|
]
|
|
181
199
|
},
|
|
200
|
+
type: {
|
|
201
|
+
visualizationType: "chart",
|
|
202
|
+
chartType: "line"
|
|
203
|
+
},
|
|
204
|
+
layout: {
|
|
205
|
+
columns: ["dx"],
|
|
206
|
+
rows: ["pe"],
|
|
207
|
+
filters: ["ou"]
|
|
208
|
+
},
|
|
182
209
|
orgUnitSelection: {
|
|
183
210
|
levels: [],
|
|
184
211
|
groups: [],
|
|
@@ -209,6 +236,15 @@ function FurtherAnalysisMenu({
|
|
|
209
236
|
}
|
|
210
237
|
]
|
|
211
238
|
},
|
|
239
|
+
type: {
|
|
240
|
+
visualizationType: "chart",
|
|
241
|
+
chartType: "line"
|
|
242
|
+
},
|
|
243
|
+
layout: {
|
|
244
|
+
columns: ["dx"],
|
|
245
|
+
rows: ["pe"],
|
|
246
|
+
filters: ["ou"]
|
|
247
|
+
},
|
|
212
248
|
orgUnitSelection: {
|
|
213
249
|
levels: [],
|
|
214
250
|
groups: [],
|
|
@@ -239,6 +275,15 @@ function FurtherAnalysisMenu({
|
|
|
239
275
|
}
|
|
240
276
|
]
|
|
241
277
|
},
|
|
278
|
+
type: {
|
|
279
|
+
visualizationType: "chart",
|
|
280
|
+
chartType: "line"
|
|
281
|
+
},
|
|
282
|
+
layout: {
|
|
283
|
+
columns: ["dx"],
|
|
284
|
+
rows: ["pe"],
|
|
285
|
+
filters: ["ou"]
|
|
286
|
+
},
|
|
242
287
|
orgUnitSelection: {
|
|
243
288
|
levels: [],
|
|
244
289
|
groups: [],
|
|
@@ -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}, [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
|
+
{"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\ttype: {\n\t\t\t\t\t\t\t\t\t\tvisualizationType: \"chart\",\n\t\t\t\t\t\t\t\t\t\tchartType: \"line\",\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\t\t\t\tcolumns: [\"dx\"],\n\t\t\t\t\t\t\t\t\t\trows: [\"pe\"],\n\t\t\t\t\t\t\t\t\t\tfilters: [\"ou\"],\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\ttype: {\n\t\t\t\t\t\t\t\t\t\tvisualizationType: \"chart\",\n\t\t\t\t\t\t\t\t\t\tchartType: \"line\",\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\t\t\t\tcolumns: [\"dx\"],\n\t\t\t\t\t\t\t\t\t\trows: [\"pe\"],\n\t\t\t\t\t\t\t\t\t\tfilters: [\"ou\"],\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\ttype: {\n\t\t\t\t\t\t\t\t\t\tvisualizationType: \"chart\",\n\t\t\t\t\t\t\t\t\t\tchartType: \"line\",\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\t\t\t\tcolumns: [\"dx\"],\n\t\t\t\t\t\t\t\t\t\trows: [\"pe\"],\n\t\t\t\t\t\t\t\t\t\tfilters: [\"ou\"],\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\ttype: {\n\t\t\t\t\t\t\t\t\t\tvisualizationType: \"chart\",\n\t\t\t\t\t\t\t\t\t\tchartType: \"line\",\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\t\t\t\tcolumns: [\"dx\"],\n\t\t\t\t\t\t\t\t\t\trows: [\"pe\"],\n\t\t\t\t\t\t\t\t\t\tfilters: [\"ou\"],\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\ttype: {\n\t\t\t\t\t\t\t\t\t\tvisualizationType: \"chart\",\n\t\t\t\t\t\t\t\t\t\tchartType: \"line\",\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\t\t\t\tcolumns: [\"dx\"],\n\t\t\t\t\t\t\t\t\t\trows: [\"pe\"],\n\t\t\t\t\t\t\t\t\t\tfilters: [\"ou\"],\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 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/ScorecardTable/components/FurtherAnalysisModal.tsx"],"names":["useState","Modal","jsx","ModalTitle","i18n","ModalContent","jsxs","FurtherAnalysisDictionary","FurtherAnalysisVisualization","ModalActions","Button"],"mappings":";;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/ScorecardTable/components/FurtherAnalysisModal.tsx"],"names":["useState","Modal","jsx","ModalTitle","i18n","ModalContent","jsxs","FurtherAnalysisDictionary","FurtherAnalysisVisualization","ModalActions","Button"],"mappings":";;;;;;;;;;;;;AAuCO,SAAS,eAAA,CAAgB;AAAA,EAC/B,IAAA;AAAA,EACA,OAAA;AAAA,EACA;AACD,CAAA,EAAyB;AACxB,EAAA,MAAM,CAAC,aAAA,EAAe,gBAAgB,CAAA,GAAIA,eAExC,eAAe,CAAA;AAEjB,EAAA,uCACEC,QAAA,EAAA,EAAM,OAAA,EAAkB,MAAY,KAAA,EAAK,IAAA,EAAC,UAAS,QAAA,EACnD,QAAA,EAAA;AAAA,oBAAAC,cAAA,CAACC,aAAA,EAAA,EAAY,QAAA,EAAAC,qBAAA,CAAK,CAAA,CAAE,kBAAkB,CAAA,EAAE,CAAA;AAAA,mCACvCC,eAAA,EAAA,EAmBA,QAAA,kBAAAH,cAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACA,KAAA,EAAO;AAAA,UACN,KAAA,EAAO,MAAA;AAAA,UACP,MAAA,EAAQ,MAAA;AAAA,UACR,aAAA,EAAe,QAAA;AAAA,UACf,OAAA,EAAS;AAAA,SACV;AAAA,QAEA,QAAA,kBAAAI,eAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACA,KAAA,EAAO;AAAA,cACN,IAAA,EAAM,CAAA;AAAA,cACN,KAAA,EAAO,MAAA;AAAA,cACP,MAAA,EAAQ;AAAA,aACT;AAAA,YAEC,QAAA,EAAA;AAAA,cAAA,aAAA,KAAkB,YAAA,oBAClBJ,cAAA;AAAA,gBAACK,mDAAA;AAAA,gBAAA;AAAA,kBACA;AAAA;AAAA,eACA;AAAA,cAED,aAAA,KAAkB,eAAA,oBAClBL,cAAA,CAACM,yDAAA,EAAA,EAA6B,MAAA,EAAgB;AAAA;AAAA;AAAA;AAEhD;AAAA,KACD,EACD,CAAA;AAAA,oBACAN,cAAA,CAACO,eAAA,EAAA,EACA,QAAA,kBAAAP,cAAA,CAACQ,SAAA,EAAA,EAAO,OAAA,EAAS,SAAU,QAAA,EAAAN,qBAAA,CAAK,CAAA,CAAE,OAAO,CAAA,EAAE,CAAA,EAC5C;AAAA,GAAA,EACD,CAAA;AAEF","file":"FurtherAnalysisModal.js","sourcesContent":["import type {\n\tOrgUnitSelection,\n\tPeriodSelection,\n\tScorecardDataSource,\n} from \"../../../schemas/config\";\nimport {\n\tButton,\n\tModal,\n\tModalActions,\n\tModalContent,\n\tModalTitle,\n} from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { useState } from \"react\";\nimport { FurtherAnalysisVisualization } from \"../FurtherAnalysisVisualization\";\nimport { FurtherAnalysisDictionary } from \"../FurtherAnalysisDictionary\";\nimport type { Dimension } from \"@hisptz/dhis2-analytics/src/components/Visualization/components/DimensionsProvider\";\n\nexport interface FurtherAnalysisConfig {\n\torgUnitSelection: OrgUnitSelection;\n\tperiodSelection: PeriodSelection;\n\tdataSources: ScorecardDataSource[];\n\tlayout?: {\n\t\tcolumns: Dimension[];\n\t\trows: Dimension[];\n\t\tfilters: Dimension[];\n\t};\n\ttype?: {\n\t\tvisualizationType: \"chart\" | \"pivotTable\" | \"map\";\n\t\tchartType?: \"line\" | \"bar\" | \"column\";\n\t};\n}\n\nexport interface FurtherAnalysisProps {\n\thide: boolean;\n\tonClose: () => void;\n\tconfig: FurtherAnalysisConfig;\n}\n\nexport function FurtherAnalysis({\n\thide,\n\tonClose,\n\tconfig,\n}: FurtherAnalysisProps) {\n\tconst [activeElement, setActiveElement] = useState<\n\t\t\"visualization\" | \"dictionary\" | undefined\n\t>(\"visualization\");\n\n\treturn (\n\t\t<Modal onClose={onClose} hide={hide} large position=\"middle\">\n\t\t\t<ModalTitle>{i18n.t(\"Further Analysis\")}</ModalTitle>\n\t\t\t<ModalContent>\n\t\t\t\t{/*<SegmentedControl*/}\n\t\t\t\t{/*\toptions={[*/}\n\t\t\t\t{/*\t\t{*/}\n\t\t\t\t{/*\t\t\tvalue: \"visualization\",*/}\n\t\t\t\t{/*\t\t\tlabel: i18n.t(\"Visualization\"),*/}\n\t\t\t\t{/*\t\t},*/}\n\t\t\t\t{/*\t\t{*/}\n\t\t\t\t{/*\t\t\tvalue: \"dictionary\",*/}\n\t\t\t\t{/*\t\t\tlabel: i18n.t(\"Dictionary\"),*/}\n\t\t\t\t{/*\t\t},*/}\n\t\t\t\t{/*\t]}*/}\n\t\t\t\t{/*\tselected={activeElement!}*/}\n\t\t\t\t{/*\tonChange={({ value }) =>*/}\n\t\t\t\t{/*\t\tsetActiveElement(*/}\n\t\t\t\t{/*\t\t\tvalue as \"visualization\" | \"dictionary\",*/}\n\t\t\t\t{/*\t\t)*/}\n\t\t\t\t{/*\t}*/}\n\t\t\t\t{/*/>*/}\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\theight: \"100%\",\n\t\t\t\t\t\tflexDirection: \"column\",\n\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tflex: 1,\n\t\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\t\theight: \"100%\",\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{activeElement === \"dictionary\" && (\n\t\t\t\t\t\t\t<FurtherAnalysisDictionary\n\t\t\t\t\t\t\t\tconfig={config}\n\t\t\t\t\t\t\t></FurtherAnalysisDictionary>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{activeElement === \"visualization\" && (\n\t\t\t\t\t\t\t<FurtherAnalysisVisualization config={config} />\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\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"]}
|