@hisptz/dhis2-analytics 2.0.37 → 2.0.38

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 (90) hide show
  1. package/dist/components/Scorecard/Scorecard.stories.js +6 -927
  2. package/dist/components/Scorecard/Scorecard.stories.js.map +1 -1
  3. package/dist/components/Scorecard/components/ScorecardTable/components/AverageCell.js +30 -8
  4. package/dist/components/Scorecard/components/ScorecardTable/components/AverageCell.js.map +1 -1
  5. package/dist/components/Scorecard/components/ScorecardTable/components/AverageFooterCell.js +7 -4
  6. package/dist/components/Scorecard/components/ScorecardTable/components/AverageFooterCell.js.map +1 -1
  7. package/dist/components/Scorecard/components/ScorecardTable/components/CellLoader.js +2 -2
  8. package/dist/components/Scorecard/components/ScorecardTable/components/CellLoader.js.map +1 -1
  9. package/dist/components/Scorecard/components/ScorecardTable/components/DataContainer.js +5 -2
  10. package/dist/components/Scorecard/components/ScorecardTable/components/DataContainer.js.map +1 -1
  11. package/dist/components/Scorecard/components/ScorecardTable/components/DataFooterCell.js +19 -10
  12. package/dist/components/Scorecard/components/ScorecardTable/components/DataFooterCell.js.map +1 -1
  13. package/dist/components/Scorecard/components/ScorecardTable/components/DataRow.js +2 -8
  14. package/dist/components/Scorecard/components/ScorecardTable/components/DataRow.js.map +1 -1
  15. package/dist/components/Scorecard/components/ScorecardTable/components/LinkedCell.js +2 -1
  16. package/dist/components/Scorecard/components/ScorecardTable/components/LinkedCell.js.map +1 -1
  17. package/dist/components/Scorecard/components/ScorecardTable/components/LinkedDataCell.js +3 -1
  18. package/dist/components/Scorecard/components/ScorecardTable/components/LinkedDataCell.js.map +1 -1
  19. package/dist/components/Scorecard/components/ScorecardTable/components/SingleDataCell.js +4 -1
  20. package/dist/components/Scorecard/components/ScorecardTable/components/SingleDataCell.js.map +1 -1
  21. package/dist/components/Scorecard/components/ScorecardTable/components/TableBody.js +4 -14
  22. package/dist/components/Scorecard/components/ScorecardTable/components/TableBody.js.map +1 -1
  23. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/ExpandCell.js +3 -2
  24. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/ExpandCell.js.map +1 -1
  25. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.js +3 -3
  26. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.js.map +1 -1
  27. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.js +6 -4
  28. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.js.map +1 -1
  29. package/dist/components/Scorecard/hooks/columns.js +4 -0
  30. package/dist/components/Scorecard/hooks/columns.js.map +1 -1
  31. package/dist/components/Scorecard/utils/columns.js +4 -0
  32. package/dist/components/Scorecard/utils/columns.js.map +1 -1
  33. package/dist/components/Visualization/components/VisualizationDimensionSelector/index.js +1 -1
  34. package/dist/components/Visualization/components/VisualizationDimensionSelector/index.js.map +1 -1
  35. package/dist/esm/components/Scorecard/Scorecard.stories.js +6 -927
  36. package/dist/esm/components/Scorecard/Scorecard.stories.js.map +1 -1
  37. package/dist/esm/components/Scorecard/components/ScorecardTable/components/AverageCell.js +30 -8
  38. package/dist/esm/components/Scorecard/components/ScorecardTable/components/AverageCell.js.map +1 -1
  39. package/dist/esm/components/Scorecard/components/ScorecardTable/components/AverageFooterCell.js +7 -4
  40. package/dist/esm/components/Scorecard/components/ScorecardTable/components/AverageFooterCell.js.map +1 -1
  41. package/dist/esm/components/Scorecard/components/ScorecardTable/components/CellLoader.js +2 -2
  42. package/dist/esm/components/Scorecard/components/ScorecardTable/components/CellLoader.js.map +1 -1
  43. package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataContainer.js +5 -2
  44. package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataContainer.js.map +1 -1
  45. package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataFooterCell.js +19 -10
  46. package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataFooterCell.js.map +1 -1
  47. package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataRow.js +3 -9
  48. package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataRow.js.map +1 -1
  49. package/dist/esm/components/Scorecard/components/ScorecardTable/components/LinkedCell.js +2 -1
  50. package/dist/esm/components/Scorecard/components/ScorecardTable/components/LinkedCell.js.map +1 -1
  51. package/dist/esm/components/Scorecard/components/ScorecardTable/components/LinkedDataCell.js +3 -1
  52. package/dist/esm/components/Scorecard/components/ScorecardTable/components/LinkedDataCell.js.map +1 -1
  53. package/dist/esm/components/Scorecard/components/ScorecardTable/components/SingleDataCell.js +4 -1
  54. package/dist/esm/components/Scorecard/components/ScorecardTable/components/SingleDataCell.js.map +1 -1
  55. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableBody.js +5 -15
  56. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableBody.js.map +1 -1
  57. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/ExpandCell.js +3 -2
  58. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/ExpandCell.js.map +1 -1
  59. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.js +3 -3
  60. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.js.map +1 -1
  61. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.js +6 -4
  62. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.js.map +1 -1
  63. package/dist/esm/components/Scorecard/hooks/columns.js +4 -0
  64. package/dist/esm/components/Scorecard/hooks/columns.js.map +1 -1
  65. package/dist/esm/components/Scorecard/utils/columns.js +4 -0
  66. package/dist/esm/components/Scorecard/utils/columns.js.map +1 -1
  67. package/dist/esm/components/Visualization/components/VisualizationDimensionSelector/index.js +1 -1
  68. package/dist/esm/components/Visualization/components/VisualizationDimensionSelector/index.js.map +1 -1
  69. package/dist/types/components/Scorecard/components/ScorecardTable/components/AverageCell.d.ts +4 -2
  70. package/dist/types/components/Scorecard/components/ScorecardTable/components/AverageCell.d.ts.map +1 -1
  71. package/dist/types/components/Scorecard/components/ScorecardTable/components/AverageFooterCell.d.ts +1 -1
  72. package/dist/types/components/Scorecard/components/ScorecardTable/components/AverageFooterCell.d.ts.map +1 -1
  73. package/dist/types/components/Scorecard/components/ScorecardTable/components/CellLoader.d.ts +3 -1
  74. package/dist/types/components/Scorecard/components/ScorecardTable/components/CellLoader.d.ts.map +1 -1
  75. package/dist/types/components/Scorecard/components/ScorecardTable/components/DataContainer.d.ts.map +1 -1
  76. package/dist/types/components/Scorecard/components/ScorecardTable/components/DataFooterCell.d.ts.map +1 -1
  77. package/dist/types/components/Scorecard/components/ScorecardTable/components/DataRow.d.ts +3 -5
  78. package/dist/types/components/Scorecard/components/ScorecardTable/components/DataRow.d.ts.map +1 -1
  79. package/dist/types/components/Scorecard/components/ScorecardTable/components/LinkedCell.d.ts +2 -1
  80. package/dist/types/components/Scorecard/components/ScorecardTable/components/LinkedCell.d.ts.map +1 -1
  81. package/dist/types/components/Scorecard/components/ScorecardTable/components/LinkedDataCell.d.ts +2 -1
  82. package/dist/types/components/Scorecard/components/ScorecardTable/components/LinkedDataCell.d.ts.map +1 -1
  83. package/dist/types/components/Scorecard/components/ScorecardTable/components/SingleDataCell.d.ts +2 -1
  84. package/dist/types/components/Scorecard/components/ScorecardTable/components/SingleDataCell.d.ts.map +1 -1
  85. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableBody.d.ts.map +1 -1
  86. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/ExpandCell.d.ts.map +1 -1
  87. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.d.ts.map +1 -1
  88. package/dist/types/components/Scorecard/hooks/columns.d.ts.map +1 -1
  89. package/dist/types/components/Scorecard/utils/columns.d.ts.map +1 -1
  90. package/package.json +3 -3
@@ -29,7 +29,8 @@ function getOrgUnitAverage({
29
29
  });
30
30
  }
31
31
  function OrgUnitFooterCell({
32
- dataSourcesConfig
32
+ dataSourcesConfig,
33
+ size
33
34
  }) {
34
35
  const { data: scorecardEngine } = DataProvider.useScorecardData();
35
36
  const [loading, setLoading] = react.useState(false);
@@ -63,19 +64,20 @@ function OrgUnitFooterCell({
63
64
  };
64
65
  }, [dataSourcesConfig]);
65
66
  if (loading) {
66
- return /* @__PURE__ */ jsxRuntime.jsx(CellLoader.CellLoader, {});
67
+ return /* @__PURE__ */ jsxRuntime.jsx(CellLoader.CellLoader, { size });
67
68
  }
68
69
  if (lodash.isEmpty(averageValues)) {
69
- return /* @__PURE__ */ jsxRuntime.jsx(ui.DataTableCell, { bordered: true });
70
+ return /* @__PURE__ */ jsxRuntime.jsx(ui.DataTableCell, { style: { width: size }, bordered: true });
70
71
  }
71
72
  if (averageValues?.length === 1) {
72
- return /* @__PURE__ */ jsxRuntime.jsx(AverageCell.SingleAverageCell, { dataSource: lodash.head(averageValues) });
73
+ return /* @__PURE__ */ jsxRuntime.jsx(AverageCell.SingleAverageCell, { size, dataSource: lodash.head(averageValues) });
73
74
  } else {
74
- return /* @__PURE__ */ jsxRuntime.jsx(AverageCell.LinkedAverageCell, { dataSources: averageValues });
75
+ return /* @__PURE__ */ jsxRuntime.jsx(AverageCell.LinkedAverageCell, { size, dataSources: averageValues });
75
76
  }
76
77
  }
77
78
  function DataHolderFooterCell({
78
- dataSourcesConfig
79
+ dataSourcesConfig,
80
+ size
79
81
  }) {
80
82
  const { data: scorecardEngine } = DataProvider.useScorecardData();
81
83
  const [loading, setLoading] = react.useState(false);
@@ -115,14 +117,15 @@ function DataHolderFooterCell({
115
117
  };
116
118
  }, [dataSourcesConfig]);
117
119
  if (loading) {
118
- return /* @__PURE__ */ jsxRuntime.jsx(CellLoader.CellLoader, {});
120
+ return /* @__PURE__ */ jsxRuntime.jsx(CellLoader.CellLoader, { size });
119
121
  }
120
- return /* @__PURE__ */ jsxRuntime.jsx(ui.DataTableCell, { bordered: true, align: "center", children: /* @__PURE__ */ jsxRuntime.jsx("b", { children: average?.toFixed(2).toString() }) });
122
+ return /* @__PURE__ */ jsxRuntime.jsx(ui.DataTableCell, { style: { width: size }, bordered: true, align: "center", children: /* @__PURE__ */ jsxRuntime.jsx("b", { children: average?.toFixed(2).toString() }) });
121
123
  }
122
124
  function DataFooterCell({
123
125
  table,
124
126
  column
125
127
  }) {
128
+ const size = column.getSize();
126
129
  const showDataInRows = StateProvider.useScorecardStateSelector([
127
130
  "options",
128
131
  "showDataInRows"
@@ -133,9 +136,15 @@ function DataFooterCell({
133
136
  );
134
137
  }, [table.getRowModel().rows]);
135
138
  if (showDataInRows) {
136
- return /* @__PURE__ */ jsxRuntime.jsx(DataHolderFooterCell, { dataSourcesConfig: dataSourceConfig });
139
+ return /* @__PURE__ */ jsxRuntime.jsx(
140
+ DataHolderFooterCell,
141
+ {
142
+ size,
143
+ dataSourcesConfig: dataSourceConfig
144
+ }
145
+ );
137
146
  }
138
- return /* @__PURE__ */ jsxRuntime.jsx(OrgUnitFooterCell, { dataSourcesConfig: dataSourceConfig });
147
+ return /* @__PURE__ */ jsxRuntime.jsx(OrgUnitFooterCell, { size, dataSourcesConfig: dataSourceConfig });
139
148
  }
140
149
 
141
150
  exports.DataFooterCell = DataFooterCell;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/components/Scorecard/components/ScorecardTable/components/DataFooterCell.tsx"],"names":["average"],"mappings":"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","sourcesContent":["import type { HeaderContext } from \"@tanstack/react-table\";\nimport type {\n\tScorecardAverageCellData,\n\tScorecardTableCellConfig,\n\tScorecardTableData,\n} from \"../../../schemas/config\";\nimport { useEffect, useMemo, useState } from \"react\";\nimport { useScorecardStateSelector } from \"../../StateProvider\";\nimport { DataTableCell } from \"@dhis2/ui\";\nimport type { AnalyticsData } from \"../../../utils/data\";\nimport { useScorecardData } from \"../../DataProvider\";\nimport { head, isEmpty, meanBy } from \"lodash\";\nimport { CellLoader } from \"./CellLoader\";\nimport { LinkedAverageCell, SingleAverageCell } from \"./AverageCell\";\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}: {\n\tdataSourcesConfig: ScorecardTableCellConfig[];\n}) {\n\tconst { data: scorecardEngine } = useScorecardData();\n\tconst [loading, setLoading] = useState<boolean>(false);\n\tconst [averageValues, setAverageValues] =\n\t\tuseState<ScorecardAverageCellData[]>();\n\n\tuseEffect(() => {\n\t\tsetLoading(true);\n\t\tconst listener = (data: AnalyticsData[] | \"done\") => {\n\t\t\tif (data === \"done\") {\n\t\t\t\tsetAverageValues(\n\t\t\t\t\tgetOrgUnitAverage({\n\t\t\t\t\t\tdataSourcesConfig,\n\t\t\t\t\t\tdata: scorecardEngine.data,\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t\tsetLoading(false);\n\t\t\t}\n\t\t};\n\t\tif (scorecardEngine.isDone) {\n\t\t\tsetAverageValues(\n\t\t\t\tgetOrgUnitAverage({\n\t\t\t\t\tdataSourcesConfig,\n\t\t\t\t\tdata: scorecardEngine.data,\n\t\t\t\t}),\n\t\t\t);\n\t\t\tsetLoading(false);\n\t\t} else {\n\t\t\tscorecardEngine.addListener(listener);\n\t\t}\n\n\t\treturn () => {\n\t\t\tscorecardEngine.removeListener(listener);\n\t\t};\n\t}, [dataSourcesConfig]);\n\n\tif (loading) {\n\t\treturn <CellLoader />;\n\t}\n\n\tif (isEmpty(averageValues)) {\n\t\treturn <DataTableCell bordered />;\n\t}\n\n\tif (averageValues?.length === 1) {\n\t\treturn <SingleAverageCell dataSource={head(averageValues)!} />;\n\t} else {\n\t\treturn <LinkedAverageCell dataSources={averageValues!} />;\n\t}\n}\n\nfunction DataHolderFooterCell({\n\tdataSourcesConfig,\n}: {\n\tdataSourcesConfig: ScorecardTableCellConfig[];\n}) {\n\tconst { data: scorecardEngine } = useScorecardData();\n\tconst [loading, setLoading] = useState<boolean>(false);\n\tconst [average, setAverage] = useState<number>();\n\n\tuseEffect(() => {\n\t\tsetLoading(true);\n\t\tconst listener = (data: AnalyticsData[] | \"done\") => {\n\t\t\tif (data === \"done\") {\n\t\t\t\tsetLoading(false);\n\t\t\t\tconst orgUnitId = head(dataSourcesConfig)!;\n\t\t\t\tconst dataValues = scorecardEngine.data.filter(\n\t\t\t\t\t(datum) => datum.ou === orgUnitId.orgUnit.uid,\n\t\t\t\t);\n\t\t\t\tconst average = meanBy(dataValues, (value) =>\n\t\t\t\t\tparseFloat(value.value!),\n\t\t\t\t);\n\t\t\t\tsetAverage(average);\n\t\t\t}\n\t\t};\n\t\tif (scorecardEngine.isDone) {\n\t\t\tconst orgUnitId = head(dataSourcesConfig)!;\n\t\t\tconst dataValues = scorecardEngine.data.filter(\n\t\t\t\t(datum) => datum.ou === orgUnitId.orgUnit.uid,\n\t\t\t);\n\t\t\tconst average = meanBy(dataValues, (value) =>\n\t\t\t\tparseFloat(value.value!),\n\t\t\t);\n\t\t\tsetAverage(average);\n\t\t\tsetLoading(false);\n\t\t} else {\n\t\t\tscorecardEngine.addListener(listener);\n\t\t}\n\n\t\treturn () => {\n\t\t\tscorecardEngine.removeListener(listener);\n\t\t};\n\t}, [dataSourcesConfig]);\n\n\tif (loading) {\n\t\treturn <CellLoader />;\n\t}\n\treturn (\n\t\t<DataTableCell 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 showDataInRows = useScorecardStateSelector<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\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.getRowModel().rows]);\n\n\tif (showDataInRows) {\n\t\treturn <DataHolderFooterCell dataSourcesConfig={dataSourceConfig} />;\n\t}\n\n\treturn <OrgUnitFooterCell dataSourcesConfig={dataSourceConfig} />;\n}\n"]}
1
+ {"version":3,"sources":["../../../../../../src/components/Scorecard/components/ScorecardTable/components/DataFooterCell.tsx"],"names":["average"],"mappings":"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","sourcesContent":["import type { HeaderContext } from \"@tanstack/react-table\";\nimport type {\n\tScorecardAverageCellData,\n\tScorecardTableCellConfig,\n\tScorecardTableData,\n} from \"../../../schemas/config\";\nimport { useEffect, useMemo, useState } from \"react\";\nimport { useScorecardStateSelector } from \"../../StateProvider\";\nimport { DataTableCell } from \"@dhis2/ui\";\nimport type { AnalyticsData } from \"../../../utils/data\";\nimport { useScorecardData } from \"../../DataProvider\";\nimport { head, isEmpty, meanBy } from \"lodash\";\nimport { CellLoader } from \"./CellLoader\";\nimport { LinkedAverageCell, SingleAverageCell } from \"./AverageCell\";\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 { data: scorecardEngine } = useScorecardData();\n\tconst [loading, setLoading] = useState<boolean>(false);\n\tconst [averageValues, setAverageValues] =\n\t\tuseState<ScorecardAverageCellData[]>();\n\n\tuseEffect(() => {\n\t\tsetLoading(true);\n\t\tconst listener = (data: AnalyticsData[] | \"done\") => {\n\t\t\tif (data === \"done\") {\n\t\t\t\tsetAverageValues(\n\t\t\t\t\tgetOrgUnitAverage({\n\t\t\t\t\t\tdataSourcesConfig,\n\t\t\t\t\t\tdata: scorecardEngine.data,\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t\tsetLoading(false);\n\t\t\t}\n\t\t};\n\t\tif (scorecardEngine.isDone) {\n\t\t\tsetAverageValues(\n\t\t\t\tgetOrgUnitAverage({\n\t\t\t\t\tdataSourcesConfig,\n\t\t\t\t\tdata: scorecardEngine.data,\n\t\t\t\t}),\n\t\t\t);\n\t\t\tsetLoading(false);\n\t\t} else {\n\t\t\tscorecardEngine.addListener(listener);\n\t\t}\n\n\t\treturn () => {\n\t\t\tscorecardEngine.removeListener(listener);\n\t\t};\n\t}, [dataSourcesConfig]);\n\n\tif (loading) {\n\t\treturn <CellLoader size={size} />;\n\t}\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 { data: scorecardEngine } = useScorecardData();\n\tconst [loading, setLoading] = useState<boolean>(false);\n\tconst [average, setAverage] = useState<number>();\n\n\tuseEffect(() => {\n\t\tsetLoading(true);\n\t\tconst listener = (data: AnalyticsData[] | \"done\") => {\n\t\t\tif (data === \"done\") {\n\t\t\t\tsetLoading(false);\n\t\t\t\tconst orgUnitId = head(dataSourcesConfig)!;\n\t\t\t\tconst dataValues = scorecardEngine.data.filter(\n\t\t\t\t\t(datum) => datum.ou === orgUnitId.orgUnit.uid,\n\t\t\t\t);\n\t\t\t\tconst average = meanBy(dataValues, (value) =>\n\t\t\t\t\tparseFloat(value.value!),\n\t\t\t\t);\n\t\t\t\tsetAverage(average);\n\t\t\t}\n\t\t};\n\t\tif (scorecardEngine.isDone) {\n\t\t\tconst orgUnitId = head(dataSourcesConfig)!;\n\t\t\tconst dataValues = scorecardEngine.data.filter(\n\t\t\t\t(datum) => datum.ou === orgUnitId.orgUnit.uid,\n\t\t\t);\n\t\t\tconst average = meanBy(dataValues, (value) =>\n\t\t\t\tparseFloat(value.value!),\n\t\t\t);\n\t\t\tsetAverage(average);\n\t\t\tsetLoading(false);\n\t\t} else {\n\t\t\tscorecardEngine.addListener(listener);\n\t\t}\n\n\t\treturn () => {\n\t\t\tscorecardEngine.removeListener(listener);\n\t\t};\n\t}, [dataSourcesConfig]);\n\n\tif (loading) {\n\t\treturn <CellLoader size={size} />;\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 = useScorecardStateSelector<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\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.getRowModel().rows]);\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"]}
@@ -12,11 +12,7 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
12
12
 
13
13
  var styles__default = /*#__PURE__*/_interopDefault(styles);
14
14
 
15
- function TableRowComponent({
16
- row,
17
- virtualRow,
18
- virtualizer
19
- }) {
15
+ function TableRowComponent({ row }) {
20
16
  const [isPending, startTransition] = react.useTransition();
21
17
  const orgUnit = react.useMemo(() => {
22
18
  const dataCell = row.getVisibleCells().find((cell) => {
@@ -33,8 +29,6 @@ function TableRowComponent({
33
29
  return /* @__PURE__ */ jsxRuntime.jsx(
34
30
  ui.DataTableRow,
35
31
  {
36
- "data-index": virtualRow ? virtualRow.index : void 0,
37
- ref: virtualizer ? (node) => virtualizer.measureElement(node) : void 0,
38
32
  className: styles__default.default.expandCell,
39
33
  onExpandToggle: canExpand ? ({ expanded }) => {
40
34
  startTransition(() => {
@@ -59,7 +53,7 @@ function TableRowComponent({
59
53
  row.id
60
54
  );
61
55
  }
62
- const TableRow = TableRowComponent;
56
+ const TableRow = react.memo(TableRowComponent);
63
57
 
64
58
  exports.TableRow = TableRow;
65
59
  //# sourceMappingURL=out.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/components/Scorecard/components/ScorecardTable/components/DataRow.tsx"],"names":[],"mappings":"AA2DK;AA3DL,SAAS,kBAA4B;AAKrC,SAAS,YAAY;AACrB,SAAS,oBAAoB;AAC7B,OAAO,YAAY;AACnB,SAAS,8BAA8B;AACvC,SAAS,UAAU,SAAS,qBAAqB;AAGjD,SAAS,kBAAkB;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AACD,GAIG;AACF,QAAM,CAAC,WAAW,eAAe,IAAI,cAAc;AACnD,QAAM,UAAU,QAAQ,MAAM;AAC7B,UAAM,WAAW,IAAI,gBAAgB,EAAE,KAAK,CAAC,SAAS;AACrD,YAAM,OAAO,KAAK,SAAS;AAC3B,aAAO,CAAC,CAAC,MAAM;AAAA,IAChB,CAAC;AACD,WAAQ,UAAU,SAAS,GAAgC;AAAA,EAC5D,GAAG,CAAC,GAAG,CAAC;AAER,QAAM,eAAe,QAAQ,MAAM;AAClC,UAAM,aAAa,KAAK,IAAI,gBAAgB,CAAC;AAC7C,WAAQ,YAAY,SAAS,KAAiB;AAAA,EAC/C,GAAG,CAAC,GAAG,CAAC;AAER,QAAM,YAAY,WAAW;AAE7B,SACC;AAAA,IAAC;AAAA;AAAA,MACA,cAAY,aAAa,WAAW,QAAQ;AAAA,MAG5C,KACC,cACG,CAAC,SAAc,YAAY,eAAe,IAAI,IAC9C;AAAA,MAEJ,WAAW,OAAO;AAAA,MAClB,gBACC,YACG,CAAC,EAAE,SAAS,MAAM;AAClB,wBAAgB,MAAM;AACrB,cAAI,eAAe,QAAQ;AAAA,QAC5B,CAAC;AAAA,MACF,IACC;AAAA,MAEJ,mBACC,WAAW,eACV;AAAA,QAAC;AAAA;AAAA,UACA,SAAS;AAAA,UACT;AAAA;AAAA,MACD,IACG;AAAA,MAEL,UAAU,aAAa,IAAI,cAAc;AAAA,MAGxC,cAAI,gBAAgB,EAAE,IAAI,CAAC,SAAS;AACpC,eACC,oBAAC,YACC;AAAA,UACA,KAAK,OAAO,UAAU;AAAA,UACtB,KAAK,WAAW;AAAA,QACjB,KAJc,KAAK,EAKpB;AAAA,MAEF,CAAC;AAAA;AAAA,IAXI,IAAI;AAAA,EAYV;AAEF;AAEO,MAAM,WAAW","sourcesContent":["import { flexRender, type Row } from \"@tanstack/react-table\";\nimport type {\n\tScorecardTableCellConfig,\n\tScorecardTableData,\n} from \"../../../schemas/config\";\nimport { head } from \"lodash\";\nimport { DataTableRow } from \"@dhis2/ui\";\nimport styles from \"../ScorecardTable.module.css\";\nimport { ExpandedScorecardTable } from \"./ExpandedScorecardTable\";\nimport { Fragment, useMemo, useTransition } from \"react\";\nimport type { VirtualItem, Virtualizer } from \"@tanstack/react-virtual\";\n\nfunction TableRowComponent({\n\trow,\n\tvirtualRow,\n\tvirtualizer,\n}: {\n\trow: Row<ScorecardTableData>;\n\tvirtualRow?: VirtualItem;\n\tvirtualizer?: Virtualizer<HTMLDivElement, any>;\n}) {\n\tconst [isPending, startTransition] = useTransition();\n\tconst orgUnit = useMemo(() => {\n\t\tconst dataCell = row.getVisibleCells().find((cell) => {\n\t\t\tconst data = cell.getValue() as ScorecardTableCellConfig;\n\t\t\treturn !!data?.orgUnit;\n\t\t});\n\t\treturn (dataCell?.getValue() as ScorecardTableCellConfig)?.orgUnit;\n\t}, [row]);\n\n\tconst shouldExpand = useMemo(() => {\n\t\tconst expandCell = head(row.getVisibleCells());\n\t\treturn (expandCell?.getValue() as boolean) ?? false;\n\t}, [row]);\n\n\tconst canExpand = orgUnit && shouldExpand;\n\n\treturn (\n\t\t<DataTableRow\n\t\t\tdata-index={virtualRow ? virtualRow.index : undefined}\n\t\t\t/*\n // @ts-ignore */\n\t\t\tref={\n\t\t\t\tvirtualizer\n\t\t\t\t\t? (node: any) => virtualizer.measureElement(node)\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t\tclassName={styles.expandCell}\n\t\t\tonExpandToggle={\n\t\t\t\tcanExpand\n\t\t\t\t\t? ({ expanded }) => {\n\t\t\t\t\t\t\tstartTransition(() => {\n\t\t\t\t\t\t\t\trow.toggleExpanded(expanded);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t\texpandableContent={\n\t\t\t\torgUnit && shouldExpand ? (\n\t\t\t\t\t<ExpandedScorecardTable\n\t\t\t\t\t\tpending={isPending}\n\t\t\t\t\t\torgUnit={orgUnit}\n\t\t\t\t\t/>\n\t\t\t\t) : undefined\n\t\t\t}\n\t\t\texpanded={canExpand && row.getIsExpanded()}\n\t\t\tkey={row.id}\n\t\t>\n\t\t\t{row.getVisibleCells().map((cell) => {\n\t\t\t\treturn (\n\t\t\t\t\t<Fragment key={cell.id}>\n\t\t\t\t\t\t{flexRender(\n\t\t\t\t\t\t\tcell.column.columnDef.cell,\n\t\t\t\t\t\t\tcell.getContext(),\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Fragment>\n\t\t\t\t);\n\t\t\t})}\n\t\t</DataTableRow>\n\t);\n}\n\nexport const TableRow = TableRowComponent;\n"]}
1
+ {"version":3,"sources":["../../../../../../src/components/Scorecard/components/ScorecardTable/components/DataRow.tsx"],"names":[],"mappings":"AA0CK;AA1CL,SAAS,kBAA4B;AAKrC,SAAS,YAAY;AACrB,SAAS,oBAAoB;AAC7B,OAAO,YAAY;AACnB,SAAS,8BAA8B;AACvC,SAAS,UAAU,MAAM,SAAS,qBAAqB;AAEvD,SAAS,kBAAkB,EAAE,IAAI,GAAqC;AACrE,QAAM,CAAC,WAAW,eAAe,IAAI,cAAc;AACnD,QAAM,UAAU,QAAQ,MAAM;AAC7B,UAAM,WAAW,IAAI,gBAAgB,EAAE,KAAK,CAAC,SAAS;AACrD,YAAM,OAAO,KAAK,SAAS;AAC3B,aAAO,CAAC,CAAC,MAAM;AAAA,IAChB,CAAC;AACD,WAAQ,UAAU,SAAS,GAAgC;AAAA,EAC5D,GAAG,CAAC,GAAG,CAAC;AAER,QAAM,eAAe,QAAQ,MAAM;AAClC,UAAM,aAAa,KAAK,IAAI,gBAAgB,CAAC;AAC7C,WAAQ,YAAY,SAAS,KAAiB;AAAA,EAC/C,GAAG,CAAC,GAAG,CAAC;AAER,QAAM,YAAY,WAAW;AAE7B,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAW,OAAO;AAAA,MAClB,gBACC,YACG,CAAC,EAAE,SAAS,MAAM;AAClB,wBAAgB,MAAM;AACrB,cAAI,eAAe,QAAQ;AAAA,QAC5B,CAAC;AAAA,MACF,IACC;AAAA,MAEJ,mBACC,WAAW,eACV;AAAA,QAAC;AAAA;AAAA,UACA,SAAS;AAAA,UACT;AAAA;AAAA,MACD,IACG;AAAA,MAEL,UAAU,aAAa,IAAI,cAAc;AAAA,MAGxC,cAAI,gBAAgB,EAAE,IAAI,CAAC,SAAS;AACpC,eACC,oBAAC,YACC;AAAA,UACA,KAAK,OAAO,UAAU;AAAA,UACtB,KAAK,WAAW;AAAA,QACjB,KAJc,KAAK,EAKpB;AAAA,MAEF,CAAC;AAAA;AAAA,IAXI,IAAI;AAAA,EAYV;AAEF;AAEO,MAAM,WAAW,KAAK,iBAAiB","sourcesContent":["import { flexRender, type Row } from \"@tanstack/react-table\";\nimport type {\n\tScorecardTableCellConfig,\n\tScorecardTableData,\n} from \"../../../schemas/config\";\nimport { head } from \"lodash\";\nimport { DataTableRow } from \"@dhis2/ui\";\nimport styles from \"../ScorecardTable.module.css\";\nimport { ExpandedScorecardTable } from \"./ExpandedScorecardTable\";\nimport { Fragment, memo, useMemo, useTransition } from \"react\";\n\nfunction TableRowComponent({ row }: { row: Row<ScorecardTableData> }) {\n\tconst [isPending, startTransition] = useTransition();\n\tconst orgUnit = useMemo(() => {\n\t\tconst dataCell = row.getVisibleCells().find((cell) => {\n\t\t\tconst data = cell.getValue() as ScorecardTableCellConfig;\n\t\t\treturn !!data?.orgUnit;\n\t\t});\n\t\treturn (dataCell?.getValue() as ScorecardTableCellConfig)?.orgUnit;\n\t}, [row]);\n\n\tconst shouldExpand = useMemo(() => {\n\t\tconst expandCell = head(row.getVisibleCells());\n\t\treturn (expandCell?.getValue() as boolean) ?? false;\n\t}, [row]);\n\n\tconst canExpand = orgUnit && shouldExpand;\n\n\treturn (\n\t\t<DataTableRow\n\t\t\tclassName={styles.expandCell}\n\t\t\tonExpandToggle={\n\t\t\t\tcanExpand\n\t\t\t\t\t? ({ expanded }) => {\n\t\t\t\t\t\t\tstartTransition(() => {\n\t\t\t\t\t\t\t\trow.toggleExpanded(expanded);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t\texpandableContent={\n\t\t\t\torgUnit && shouldExpand ? (\n\t\t\t\t\t<ExpandedScorecardTable\n\t\t\t\t\t\tpending={isPending}\n\t\t\t\t\t\torgUnit={orgUnit}\n\t\t\t\t\t/>\n\t\t\t\t) : undefined\n\t\t\t}\n\t\t\texpanded={canExpand && row.getIsExpanded()}\n\t\t\tkey={row.id}\n\t\t>\n\t\t\t{row.getVisibleCells().map((cell) => {\n\t\t\t\treturn (\n\t\t\t\t\t<Fragment key={cell.id}>\n\t\t\t\t\t\t{flexRender(\n\t\t\t\t\t\t\tcell.column.columnDef.cell,\n\t\t\t\t\t\t\tcell.getContext(),\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Fragment>\n\t\t\t\t);\n\t\t\t})}\n\t\t</DataTableRow>\n\t);\n}\n\nexport const TableRow = memo(TableRowComponent);\n"]}
@@ -11,7 +11,7 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
11
11
 
12
12
  var React__default = /*#__PURE__*/_interopDefault(React);
13
13
 
14
- function LinkedCellComponent({ top, bottom, ...props }) {
14
+ function LinkedCellComponent({ top, bottom, size, ...props }) {
15
15
  const [ref, { height, width }] = usehooksTs.useElementSize();
16
16
  const {
17
17
  legendDefinition: topLegendDefinition,
@@ -33,6 +33,7 @@ function LinkedCellComponent({ top, bottom, ...props }) {
33
33
  ref,
34
34
  style: {
35
35
  padding: 8,
36
+ width: size,
36
37
  minWidth: 120,
37
38
  background: `linear-gradient(-${angle}rad, ${bottomLegendDefinition?.color ?? ui.colors.white} 0%, ${bottomLegendDefinition?.color ?? ui.colors.white} 49%, ${ui.colors.white} 49%, ${ui.colors.white} 50%, ${topLegendDefinition?.color ?? ui.colors.white} 50%, ${topLegendDefinition?.color ?? ui.colors.white} 100%)`
38
39
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/components/Scorecard/components/ScorecardTable/components/LinkedCell.tsx"],"names":[],"mappings":"AA8DG,SAuBG,KAvBH;AA9DH,SAAS,QAAQ,qBAAqB;AACtC,SAAS,uCAAuC;AAChD,SAAS,iBAAiB;AAC1B,SAAS,sBAAsB;AAC/B,OAAO,SAAS,eAAe;AAqB/B,SAAS,oBAAoB,EAAE,KAAK,QAAQ,GAAG,MAAM,GAAoB;AACxE,QAAM,CAAC,KAAK,EAAE,QAAQ,MAAM,CAAC,IAAI,eAAe;AAEhD,QAAM;AAAA,IACL,kBAAkB;AAAA,IAClB,YAAY;AAAA,IACZ,OAAO;AAAA,EACR,IAAI;AACJ,QAAM;AAAA,IACL,kBAAkB;AAAA,IAClB,YAAY;AAAA,IACZ,OAAO;AAAA,EACR,IAAI;AAEJ,QAAM,QAAQ,QAAQ,MAAM;AAC3B,WAAO,KAAK,IAAI,SAAS,KAAK;AAAA,EAC/B,GAAG,CAAC,QAAQ,KAAK,CAAC;AAElB,SACC;AAAA,IAAC;AAAA;AAAA,MACC,GAAG;AAAA,MAGJ;AAAA,MACA,OAAO;AAAA,QACN,SAAS;AAAA,QACT,UAAU;AAAA,QACV,YAAY,oBAAoB,KAAK,QACpC,wBAAwB,SAAS,OAAO,KACzC,QAAQ,wBAAwB,SAAS,OAAO,KAAK,SACpD,OAAO,KACR,SAAS,OAAO,KAAK,SACpB,qBAAqB,SAAS,OAAO,KACtC,SAAS,qBAAqB,SAAS,OAAO,KAAK;AAAA,MACpD;AAAA,MACA,UAAQ;AAAA,MAER;AAAA,QAAC;AAAA;AAAA,UACA,OAAO;AAAA,YACN,SAAS;AAAA,YACT,OAAO;AAAA,YACP,QAAQ;AAAA,YACR,eAAe;AAAA,UAChB;AAAA,UAEA;AAAA;AAAA,cAAC;AAAA;AAAA,gBACA,OAAO;AAAA,kBACN,YAAY;AAAA,kBACZ,SAAS;AAAA,kBACT,OAAO;AAAA,kBACP,YAAY;AAAA,kBACZ,gBAAgB;AAAA,kBAChB,OAAO,sBACJ;AAAA,oBACA,qBAAqB,SAAS;AAAA,kBAC/B,IACC;AAAA,gBACJ;AAAA,gBAEC,2BACA;AAAA,kBAAC;AAAA;AAAA,oBACA,OAAO;AAAA,oBACP,YAAY;AAAA;AAAA,gBACb;AAAA;AAAA,YAEF;AAAA,YACA;AAAA,cAAC;AAAA;AAAA,gBACA,OAAO;AAAA,kBACN,YAAY;AAAA,kBACZ,SAAS;AAAA,kBACT,OAAO;AAAA,kBACP,YAAY;AAAA,kBACZ,gBAAgB;AAAA,kBAChB,OAAO,yBACJ;AAAA,oBACA,wBAAwB,SAAS;AAAA,kBAClC,IACC;AAAA,gBACJ;AAAA,gBAEC,8BACA;AAAA,kBAAC;AAAA;AAAA,oBACA,OAAO;AAAA,oBACP,YAAY;AAAA;AAAA,gBACb;AAAA;AAAA,YAEF;AAAA;AAAA;AAAA,MACD;AAAA;AAAA,EACD;AAEF;AAEO,MAAM,aAAa,MAAM,KAAK,qBAAqB,CAAC,MAAM,SAAS;AACzE,SACC,KAAK,IAAI,UAAU,KAAK,IAAI,SAC5B,KAAK,OAAO,UAAU,KAAK,OAAO;AAEpC,CAAC","sourcesContent":["import { colors, DataTableCell } from \"@dhis2/ui\";\nimport { getTextColorFromBackgroundColor } from \"../../../utils/legends\";\nimport { DataValue } from \"./DataValue\";\nimport { useElementSize } from \"usehooks-ts\";\nimport React, { useMemo } from \"react\";\nimport type {\n\tLegendDefinition,\n\tScorecardCellData,\n} from \"../../../schemas/config\";\n\nexport interface LinkedCellProps {\n\ttop: {\n\t\tdataSource: ScorecardCellData;\n\t\tlegendDefinition?: LegendDefinition;\n\t\tvalue?: number;\n\t};\n\tbottom: {\n\t\tdataSource: ScorecardCellData;\n\t\tlegendDefinition?: LegendDefinition;\n\t\tvalue?: number;\n\t};\n\n\t[key: string]: unknown;\n}\n\nfunction LinkedCellComponent({ top, bottom, ...props }: LinkedCellProps) {\n\tconst [ref, { height, width }] = useElementSize();\n\n\tconst {\n\t\tlegendDefinition: topLegendDefinition,\n\t\tdataSource: topDataSource,\n\t\tvalue: topValue,\n\t} = top;\n\tconst {\n\t\tlegendDefinition: bottomLegendDefinition,\n\t\tdataSource: bottomDataSource,\n\t\tvalue: bottomValue,\n\t} = bottom;\n\n\tconst angle = useMemo(() => {\n\t\treturn Math.tan(height / width);\n\t}, [height, width]);\n\n\treturn (\n\t\t<DataTableCell\n\t\t\t{...props}\n\t\t\t/*\n // @ts-ignore */\n\t\t\tref={ref}\n\t\t\tstyle={{\n\t\t\t\tpadding: 8,\n\t\t\t\tminWidth: 120,\n\t\t\t\tbackground: `linear-gradient(-${angle}rad, ${\n\t\t\t\t\tbottomLegendDefinition?.color ?? colors.white\n\t\t\t\t} 0%, ${bottomLegendDefinition?.color ?? colors.white} 49%, ${\n\t\t\t\t\tcolors.white\n\t\t\t\t} 49%, ${colors.white} 50%, ${\n\t\t\t\t\ttopLegendDefinition?.color ?? colors.white\n\t\t\t\t} 50%, ${topLegendDefinition?.color ?? colors.white} 100%)`,\n\t\t\t}}\n\t\t\tbordered\n\t\t>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\theight: \"100%\",\n\t\t\t\t\tflexDirection: \"column\",\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tbackground: \"inherit\",\n\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\talignItems: \"flex-start\",\n\t\t\t\t\t\tjustifyContent: \"flex-start\",\n\t\t\t\t\t\tcolor: topLegendDefinition\n\t\t\t\t\t\t\t? getTextColorFromBackgroundColor(\n\t\t\t\t\t\t\t\t\ttopLegendDefinition?.color ?? \"#FFFFFF\",\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{topDataSource && (\n\t\t\t\t\t\t<DataValue\n\t\t\t\t\t\t\tvalue={topValue}\n\t\t\t\t\t\t\tdataSource={topDataSource}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tbackground: \"inherit\",\n\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\talignItems: \"flex-end\",\n\t\t\t\t\t\tjustifyContent: \"flex-end\",\n\t\t\t\t\t\tcolor: bottomLegendDefinition\n\t\t\t\t\t\t\t? getTextColorFromBackgroundColor(\n\t\t\t\t\t\t\t\t\tbottomLegendDefinition?.color ?? \"#FFFFFF\",\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{bottomDataSource && (\n\t\t\t\t\t\t<DataValue\n\t\t\t\t\t\t\tvalue={bottomValue}\n\t\t\t\t\t\t\tdataSource={bottomDataSource}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</DataTableCell>\n\t);\n}\n\nexport const LinkedCell = React.memo(LinkedCellComponent, (prev, next) => {\n\treturn (\n\t\tprev.top.value === next.top.value &&\n\t\tprev.bottom.value === next.bottom.value\n\t);\n});\n"]}
1
+ {"version":3,"sources":["../../../../../../src/components/Scorecard/components/ScorecardTable/components/LinkedCell.tsx"],"names":[],"mappings":"AAgEG,SAuBG,KAvBH;AAhEH,SAAS,QAAQ,qBAAqB;AACtC,SAAS,uCAAuC;AAChD,SAAS,iBAAiB;AAC1B,SAAS,sBAAsB;AAC/B,OAAO,SAAS,eAAe;AAsB/B,SAAS,oBAAoB,EAAE,KAAK,QAAQ,MAAM,GAAG,MAAM,GAAoB;AAC9E,QAAM,CAAC,KAAK,EAAE,QAAQ,MAAM,CAAC,IAAI,eAAe;AAEhD,QAAM;AAAA,IACL,kBAAkB;AAAA,IAClB,YAAY;AAAA,IACZ,OAAO;AAAA,EACR,IAAI;AACJ,QAAM;AAAA,IACL,kBAAkB;AAAA,IAClB,YAAY;AAAA,IACZ,OAAO;AAAA,EACR,IAAI;AAEJ,QAAM,QAAQ,QAAQ,MAAM;AAC3B,WAAO,KAAK,IAAI,SAAS,KAAK;AAAA,EAC/B,GAAG,CAAC,QAAQ,KAAK,CAAC;AAElB,SACC;AAAA,IAAC;AAAA;AAAA,MACC,GAAG;AAAA,MAGJ;AAAA,MACA,OAAO;AAAA,QACN,SAAS;AAAA,QACT,OAAO;AAAA,QACP,UAAU;AAAA,QACV,YAAY,oBAAoB,KAAK,QACpC,wBAAwB,SAAS,OAAO,KACzC,QAAQ,wBAAwB,SAAS,OAAO,KAAK,SACpD,OAAO,KACR,SAAS,OAAO,KAAK,SACpB,qBAAqB,SAAS,OAAO,KACtC,SAAS,qBAAqB,SAAS,OAAO,KAAK;AAAA,MACpD;AAAA,MACA,UAAQ;AAAA,MAER;AAAA,QAAC;AAAA;AAAA,UACA,OAAO;AAAA,YACN,SAAS;AAAA,YACT,OAAO;AAAA,YACP,QAAQ;AAAA,YACR,eAAe;AAAA,UAChB;AAAA,UAEA;AAAA;AAAA,cAAC;AAAA;AAAA,gBACA,OAAO;AAAA,kBACN,YAAY;AAAA,kBACZ,SAAS;AAAA,kBACT,OAAO;AAAA,kBACP,YAAY;AAAA,kBACZ,gBAAgB;AAAA,kBAChB,OAAO,sBACJ;AAAA,oBACA,qBAAqB,SAAS;AAAA,kBAC/B,IACC;AAAA,gBACJ;AAAA,gBAEC,2BACA;AAAA,kBAAC;AAAA;AAAA,oBACA,OAAO;AAAA,oBACP,YAAY;AAAA;AAAA,gBACb;AAAA;AAAA,YAEF;AAAA,YACA;AAAA,cAAC;AAAA;AAAA,gBACA,OAAO;AAAA,kBACN,YAAY;AAAA,kBACZ,SAAS;AAAA,kBACT,OAAO;AAAA,kBACP,YAAY;AAAA,kBACZ,gBAAgB;AAAA,kBAChB,OAAO,yBACJ;AAAA,oBACA,wBAAwB,SAAS;AAAA,kBAClC,IACC;AAAA,gBACJ;AAAA,gBAEC,8BACA;AAAA,kBAAC;AAAA;AAAA,oBACA,OAAO;AAAA,oBACP,YAAY;AAAA;AAAA,gBACb;AAAA;AAAA,YAEF;AAAA;AAAA;AAAA,MACD;AAAA;AAAA,EACD;AAEF;AAEO,MAAM,aAAa,MAAM,KAAK,qBAAqB,CAAC,MAAM,SAAS;AACzE,SACC,KAAK,IAAI,UAAU,KAAK,IAAI,SAC5B,KAAK,OAAO,UAAU,KAAK,OAAO;AAEpC,CAAC","sourcesContent":["import { colors, DataTableCell } from \"@dhis2/ui\";\nimport { getTextColorFromBackgroundColor } from \"../../../utils/legends\";\nimport { DataValue } from \"./DataValue\";\nimport { useElementSize } from \"usehooks-ts\";\nimport React, { useMemo } from \"react\";\nimport type {\n\tLegendDefinition,\n\tScorecardCellData,\n} from \"../../../schemas/config\";\n\nexport interface LinkedCellProps {\n\ttop: {\n\t\tdataSource: ScorecardCellData;\n\t\tlegendDefinition?: LegendDefinition;\n\t\tvalue?: number;\n\t};\n\tbottom: {\n\t\tdataSource: ScorecardCellData;\n\t\tlegendDefinition?: LegendDefinition;\n\t\tvalue?: number;\n\t};\n\tsize: number;\n\n\t[key: string]: unknown;\n}\n\nfunction LinkedCellComponent({ top, bottom, size, ...props }: LinkedCellProps) {\n\tconst [ref, { height, width }] = useElementSize();\n\n\tconst {\n\t\tlegendDefinition: topLegendDefinition,\n\t\tdataSource: topDataSource,\n\t\tvalue: topValue,\n\t} = top;\n\tconst {\n\t\tlegendDefinition: bottomLegendDefinition,\n\t\tdataSource: bottomDataSource,\n\t\tvalue: bottomValue,\n\t} = bottom;\n\n\tconst angle = useMemo(() => {\n\t\treturn Math.tan(height / width);\n\t}, [height, width]);\n\n\treturn (\n\t\t<DataTableCell\n\t\t\t{...props}\n\t\t\t/*\n // @ts-ignore */\n\t\t\tref={ref}\n\t\t\tstyle={{\n\t\t\t\tpadding: 8,\n\t\t\t\twidth: size,\n\t\t\t\tminWidth: 120,\n\t\t\t\tbackground: `linear-gradient(-${angle}rad, ${\n\t\t\t\t\tbottomLegendDefinition?.color ?? colors.white\n\t\t\t\t} 0%, ${bottomLegendDefinition?.color ?? colors.white} 49%, ${\n\t\t\t\t\tcolors.white\n\t\t\t\t} 49%, ${colors.white} 50%, ${\n\t\t\t\t\ttopLegendDefinition?.color ?? colors.white\n\t\t\t\t} 50%, ${topLegendDefinition?.color ?? colors.white} 100%)`,\n\t\t\t}}\n\t\t\tbordered\n\t\t>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\theight: \"100%\",\n\t\t\t\t\tflexDirection: \"column\",\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tbackground: \"inherit\",\n\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\talignItems: \"flex-start\",\n\t\t\t\t\t\tjustifyContent: \"flex-start\",\n\t\t\t\t\t\tcolor: topLegendDefinition\n\t\t\t\t\t\t\t? getTextColorFromBackgroundColor(\n\t\t\t\t\t\t\t\t\ttopLegendDefinition?.color ?? \"#FFFFFF\",\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{topDataSource && (\n\t\t\t\t\t\t<DataValue\n\t\t\t\t\t\t\tvalue={topValue}\n\t\t\t\t\t\t\tdataSource={topDataSource}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tbackground: \"inherit\",\n\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\talignItems: \"flex-end\",\n\t\t\t\t\t\tjustifyContent: \"flex-end\",\n\t\t\t\t\t\tcolor: bottomLegendDefinition\n\t\t\t\t\t\t\t? getTextColorFromBackgroundColor(\n\t\t\t\t\t\t\t\t\tbottomLegendDefinition?.color ?? \"#FFFFFF\",\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{bottomDataSource && (\n\t\t\t\t\t\t<DataValue\n\t\t\t\t\t\t\tvalue={bottomValue}\n\t\t\t\t\t\t\tdataSource={bottomDataSource}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</DataTableCell>\n\t);\n}\n\nexport const LinkedCell = React.memo(LinkedCellComponent, (prev, next) => {\n\treturn (\n\t\tprev.top.value === next.top.value &&\n\t\tprev.bottom.value === next.bottom.value\n\t);\n});\n"]}
@@ -10,7 +10,8 @@ var FurtherAnalysisModal = require('./FurtherAnalysisModal');
10
10
  function LinkedDataCellComponent({
11
11
  dataSources,
12
12
  orgUnit,
13
- period
13
+ period,
14
+ size
14
15
  }) {
15
16
  const [furtherAnalysisConfig, setFurtherAnalysisConfig] = react.useState(null);
16
17
  const [stateActionRef, setStateActionRef] = react.useState(void 0);
@@ -39,6 +40,7 @@ function LinkedDataCellComponent({
39
40
  /* @__PURE__ */ jsxRuntime.jsx(
40
41
  LinkedCell.LinkedCell,
41
42
  {
43
+ size,
42
44
  onContextMenu: (e) => {
43
45
  e.preventDefault();
44
46
  setStateActionRef(e.target);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/components/Scorecard/components/ScorecardTable/components/LinkedDataCell.tsx"],"names":[],"mappings":"AAuCE,mBAEE,KAFF;AArCF,SAAS,mBAAmB;AAC5B,SAAS,kBAAkB;AAC3B,SAAS,MAAM,gBAAgB;AAC/B,SAAS,2BAA2B;AACpC;AAAA,EACC;AAAA,OAEM;AAQP,SAAS,wBAAwB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AACD,GAAwB;AACvB,QAAM,CAAC,uBAAuB,wBAAwB,IACrD,SAAuC,IAAI;AAC5C,QAAM,CAAC,gBAAgB,iBAAiB,IAAI,SAAS,MAAS;AAE9D,QAAM,CAAC,KAAK,MAAM,IAAI,eAAe,CAAC;AACtC,QAAM,EAAE,kBAAkB,oBAAoB,IAAI,YAAY;AAAA,IAC7D,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,EACD,CAAC;AACD,QAAM,EAAE,kBAAkB,uBAAuB,IAAI,YAAY;AAAA,IAChE,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,EACD,CAAC;AAED,SACC,iCACE;AAAA,KAAC,CAAC,yBACF;AAAA,MAAC;AAAA;AAAA,QACA,SAAS,MAAM;AACd,mCAAyB,IAAI;AAAA,QAC9B;AAAA,QACA,MAAM,CAAC;AAAA,QACP,QAAQ;AAAA;AAAA,IACT;AAAA,IAED;AAAA,MAAC;AAAA;AAAA,QACA,eAAe,CAAC,MAAW;AAC1B,YAAE,eAAe;AACjB,4BAAkB,EAAE,MAAM;AAAA,QAC3B;AAAA,QACA,SAAS,CAAC,UAAsB;AAC/B,gBAAM,gBAAgB;AACtB,mCAAyB;AAAA,YACxB,iBAAiB;AAAA,cAChB,SAAS;AAAA,gBACR;AAAA,kBACC,IAAI;AAAA,gBACL;AAAA,cACD;AAAA,YACD;AAAA,YACA,kBAAkB;AAAA,cACjB,QAAQ,CAAC;AAAA,cACT,QAAQ,CAAC;AAAA,cACT,UAAU;AAAA,gBACT;AAAA,kBACC,IAAI,QAAQ;AAAA,gBACb;AAAA,cACD;AAAA,YACD;AAAA,YACA;AAAA,UACD,CAAC;AAAA,QACF;AAAA,QACA,KAAK;AAAA,UACJ,kBAAkB;AAAA,UAClB,YAAY;AAAA,QACb;AAAA,QACA,QAAQ;AAAA,UACP,kBAAkB;AAAA,UAClB,YAAY;AAAA,QACb;AAAA;AAAA,IACD;AAAA,IACC,kBACA;AAAA,MAAC;AAAA;AAAA,QACA;AAAA,QACA,UAAU;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA,UAAU;AAAA;AAAA,IACX;AAAA,KAEF;AAEF;AAEO,MAAM,iBAAiB,KAAK,uBAAuB","sourcesContent":["import type { ScorecardCellData } from \"../../../schemas/config\";\nimport type { ItemMeta } from \"../../../hooks/metadata\";\nimport { useCellData } from \"../../../hooks/cellData\";\nimport { LinkedCell } from \"./LinkedCell\";\nimport { memo, useState } from \"react\";\nimport { FurtherAnalysisMenu } from \"./FurtherAnalysisMenu\";\nimport {\n\tFurtherAnalysis,\n\ttype FurtherAnalysisConfig,\n} from \"./FurtherAnalysisModal\";\n\nexport interface LinkedDataCellProps {\n\tdataSources: ScorecardCellData[];\n\torgUnit: ItemMeta & { hierarchy: string };\n\tperiod: string;\n}\n\nfunction LinkedDataCellComponent({\n\tdataSources,\n\torgUnit,\n\tperiod,\n}: LinkedDataCellProps) {\n\tconst [furtherAnalysisConfig, setFurtherAnalysisConfig] =\n\t\tuseState<FurtherAnalysisConfig | null>(null);\n\tconst [stateActionRef, setStateActionRef] = useState(undefined);\n\n\tconst [top, bottom] = dataSources ?? [];\n\tconst { legendDefinition: topLegendDefinition } = useCellData({\n\t\tdataSource: top,\n\t\torgUnit,\n\t\tperiod,\n\t});\n\tconst { legendDefinition: bottomLegendDefinition } = useCellData({\n\t\tdataSource: bottom,\n\t\torgUnit,\n\t\tperiod,\n\t});\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<LinkedCell\n\t\t\t\tonContextMenu={(e: any) => {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tsetStateActionRef(e.target);\n\t\t\t\t}}\n\t\t\t\tonClick={(event: MouseEvent) => {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\tsetFurtherAnalysisConfig({\n\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tid: period,\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\torgUnitSelection: {\n\t\t\t\t\t\t\tlevels: [],\n\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\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\tdataSources,\n\t\t\t\t\t});\n\t\t\t\t}}\n\t\t\t\ttop={{\n\t\t\t\t\tlegendDefinition: topLegendDefinition,\n\t\t\t\t\tdataSource: top,\n\t\t\t\t}}\n\t\t\t\tbottom={{\n\t\t\t\t\tlegendDefinition: bottomLegendDefinition,\n\t\t\t\t\tdataSource: bottom,\n\t\t\t\t}}\n\t\t\t/>\n\t\t\t{stateActionRef && (\n\t\t\t\t<FurtherAnalysisMenu\n\t\t\t\t\tdataSources={dataSources}\n\t\t\t\t\tonSelect={setFurtherAnalysisConfig}\n\t\t\t\t\tstateActionRef={stateActionRef}\n\t\t\t\t\tsetStateActionRef={setStateActionRef}\n\t\t\t\t\torgUnit={orgUnit}\n\t\t\t\t\tperiodId={period}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</>\n\t);\n}\n\nexport const LinkedDataCell = memo(LinkedDataCellComponent);\n"]}
1
+ {"version":3,"sources":["../../../../../../src/components/Scorecard/components/ScorecardTable/components/LinkedDataCell.tsx"],"names":[],"mappings":"AAyCE,mBAEE,KAFF;AAvCF,SAAS,mBAAmB;AAC5B,SAAS,kBAAkB;AAC3B,SAAS,MAAM,gBAAgB;AAC/B,SAAS,2BAA2B;AACpC;AAAA,EACC;AAAA,OAEM;AASP,SAAS,wBAAwB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAAwB;AACvB,QAAM,CAAC,uBAAuB,wBAAwB,IACrD,SAAuC,IAAI;AAC5C,QAAM,CAAC,gBAAgB,iBAAiB,IAAI,SAAS,MAAS;AAE9D,QAAM,CAAC,KAAK,MAAM,IAAI,eAAe,CAAC;AACtC,QAAM,EAAE,kBAAkB,oBAAoB,IAAI,YAAY;AAAA,IAC7D,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,EACD,CAAC;AACD,QAAM,EAAE,kBAAkB,uBAAuB,IAAI,YAAY;AAAA,IAChE,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,EACD,CAAC;AAED,SACC,iCACE;AAAA,KAAC,CAAC,yBACF;AAAA,MAAC;AAAA;AAAA,QACA,SAAS,MAAM;AACd,mCAAyB,IAAI;AAAA,QAC9B;AAAA,QACA,MAAM,CAAC;AAAA,QACP,QAAQ;AAAA;AAAA,IACT;AAAA,IAED;AAAA,MAAC;AAAA;AAAA,QACA;AAAA,QACA,eAAe,CAAC,MAAW;AAC1B,YAAE,eAAe;AACjB,4BAAkB,EAAE,MAAM;AAAA,QAC3B;AAAA,QACA,SAAS,CAAC,UAAsB;AAC/B,gBAAM,gBAAgB;AACtB,mCAAyB;AAAA,YACxB,iBAAiB;AAAA,cAChB,SAAS;AAAA,gBACR;AAAA,kBACC,IAAI;AAAA,gBACL;AAAA,cACD;AAAA,YACD;AAAA,YACA,kBAAkB;AAAA,cACjB,QAAQ,CAAC;AAAA,cACT,QAAQ,CAAC;AAAA,cACT,UAAU;AAAA,gBACT;AAAA,kBACC,IAAI,QAAQ;AAAA,gBACb;AAAA,cACD;AAAA,YACD;AAAA,YACA;AAAA,UACD,CAAC;AAAA,QACF;AAAA,QACA,KAAK;AAAA,UACJ,kBAAkB;AAAA,UAClB,YAAY;AAAA,QACb;AAAA,QACA,QAAQ;AAAA,UACP,kBAAkB;AAAA,UAClB,YAAY;AAAA,QACb;AAAA;AAAA,IACD;AAAA,IACC,kBACA;AAAA,MAAC;AAAA;AAAA,QACA;AAAA,QACA,UAAU;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA,UAAU;AAAA;AAAA,IACX;AAAA,KAEF;AAEF;AAEO,MAAM,iBAAiB,KAAK,uBAAuB","sourcesContent":["import type { ScorecardCellData } from \"../../../schemas/config\";\nimport type { ItemMeta } from \"../../../hooks/metadata\";\nimport { useCellData } from \"../../../hooks/cellData\";\nimport { LinkedCell } from \"./LinkedCell\";\nimport { memo, useState } from \"react\";\nimport { FurtherAnalysisMenu } from \"./FurtherAnalysisMenu\";\nimport {\n\tFurtherAnalysis,\n\ttype FurtherAnalysisConfig,\n} from \"./FurtherAnalysisModal\";\n\nexport interface LinkedDataCellProps {\n\tdataSources: ScorecardCellData[];\n\torgUnit: ItemMeta & { hierarchy: string };\n\tperiod: string;\n\tsize: number;\n}\n\nfunction LinkedDataCellComponent({\n\tdataSources,\n\torgUnit,\n\tperiod,\n\tsize,\n}: LinkedDataCellProps) {\n\tconst [furtherAnalysisConfig, setFurtherAnalysisConfig] =\n\t\tuseState<FurtherAnalysisConfig | null>(null);\n\tconst [stateActionRef, setStateActionRef] = useState(undefined);\n\n\tconst [top, bottom] = dataSources ?? [];\n\tconst { legendDefinition: topLegendDefinition } = useCellData({\n\t\tdataSource: top,\n\t\torgUnit,\n\t\tperiod,\n\t});\n\tconst { legendDefinition: bottomLegendDefinition } = useCellData({\n\t\tdataSource: bottom,\n\t\torgUnit,\n\t\tperiod,\n\t});\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<LinkedCell\n\t\t\t\tsize={size}\n\t\t\t\tonContextMenu={(e: any) => {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tsetStateActionRef(e.target);\n\t\t\t\t}}\n\t\t\t\tonClick={(event: MouseEvent) => {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\tsetFurtherAnalysisConfig({\n\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tid: period,\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\torgUnitSelection: {\n\t\t\t\t\t\t\tlevels: [],\n\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\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\tdataSources,\n\t\t\t\t\t});\n\t\t\t\t}}\n\t\t\t\ttop={{\n\t\t\t\t\tlegendDefinition: topLegendDefinition,\n\t\t\t\t\tdataSource: top,\n\t\t\t\t}}\n\t\t\t\tbottom={{\n\t\t\t\t\tlegendDefinition: bottomLegendDefinition,\n\t\t\t\t\tdataSource: bottom,\n\t\t\t\t}}\n\t\t\t/>\n\t\t\t{stateActionRef && (\n\t\t\t\t<FurtherAnalysisMenu\n\t\t\t\t\tdataSources={dataSources}\n\t\t\t\t\tonSelect={setFurtherAnalysisConfig}\n\t\t\t\t\tstateActionRef={stateActionRef}\n\t\t\t\t\tsetStateActionRef={setStateActionRef}\n\t\t\t\t\torgUnit={orgUnit}\n\t\t\t\t\tperiodId={period}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</>\n\t);\n}\n\nexport const LinkedDataCell = memo(LinkedDataCellComponent);\n"]}
@@ -13,7 +13,8 @@ var FurtherAnalysisModal = require('./FurtherAnalysisModal');
13
13
  function SingleDataCellComponent({
14
14
  dataSources,
15
15
  period,
16
- orgUnit
16
+ orgUnit,
17
+ size
17
18
  }) {
18
19
  const [furtherAnalysisConfig, setFurtherAnalysisConfig] = react.useState(null);
19
20
  const dataSource = lodash.head(dataSources);
@@ -70,7 +71,9 @@ function SingleDataCellComponent({
70
71
  style: {
71
72
  background: legendDefinition?.color,
72
73
  textAlign: "center",
74
+ width: size,
73
75
  minWidth: 100,
76
+ height: 48,
74
77
  color: legendDefinition ? legends.getTextColorFromBackgroundColor(
75
78
  legendDefinition?.color
76
79
  ) : void 0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/components/Scorecard/components/ScorecardTable/components/SingleDataCell.tsx"],"names":[],"mappings":"AAqCS,SAIP,UAJO,KAIP,YAJO;AAnCT,SAAS,MAAsB,gBAAgB;AAC/C,SAAS,YAAY;AACrB,SAAS,qBAAqB;AAC9B,SAAS,uCAAuC;AAChD,SAAS,iBAAiB;AAC1B,SAAS,mBAAmB;AAC5B,SAAS,2BAA2B;AACpC;AAAA,EACC;AAAA,OAEM;AAQP,SAAS,wBAAwB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AACD,GAAmC;AAClC,QAAM,CAAC,uBAAuB,wBAAwB,IACrD,SAAuC,IAAI;AAC5C,QAAM,aAAa,KAAK,WAAW;AACnC,QAAM,CAAC,gBAAgB,iBAAiB,IAAI,SAAS,MAAS;AAE9D,QAAM,EAAE,iBAAiB,IAAI,YAAY;AAAA,IACxC;AAAA,IACA;AAAA,IACA;AAAA,EACD,CAAC;AAED,MAAI,CAAC,cAAc,CAAC,WAAW,MAAM;AACpC,WAAO,oBAAC,iBAAc,UAAQ,MAAC;AAAA,EAChC;AAEA,SACC,iCACE;AAAA,KAAC,CAAC,yBACF;AAAA,MAAC;AAAA;AAAA,QACA,SAAS,MAAM;AACd,mCAAyB,IAAI;AAAA,QAC9B;AAAA,QACA,MAAM,CAAC;AAAA,QACP,QAAQ;AAAA;AAAA,IACT;AAAA,IAED;AAAA,MAAC;AAAA;AAAA,QACA,SAAS,CAAC,UAAU;AACnB,gBAAM,gBAAgB;AACtB,mCAAyB;AAAA,YACxB,iBAAiB;AAAA,cAChB,SAAS;AAAA,gBACR;AAAA,kBACC,IAAI;AAAA,gBACL;AAAA,cACD;AAAA,YACD;AAAA,YACA,kBAAkB;AAAA,cACjB,QAAQ,CAAC;AAAA,cACT,QAAQ,CAAC;AAAA,cACT,UAAU;AAAA,gBACT;AAAA,kBACC,IAAI,QAAQ;AAAA,gBACb;AAAA,cACD;AAAA,YACD;AAAA,YACA;AAAA,UACD,CAAC;AAAA,QACF;AAAA,QACA,eAAe,CAAC,MAAW;AAC1B,YAAE,eAAe;AACjB,4BAAkB,EAAE,MAAM;AAAA,QAC3B;AAAA,QACA,UAAQ;AAAA,QACR,OAAO;AAAA,UACN,YAAY,kBAAkB;AAAA,UAC9B,WAAW;AAAA,UACX,UAAU;AAAA,UACV,OAAO,mBACJ;AAAA,YACA,kBAAkB;AAAA,UACnB,IACC;AAAA,QACJ;AAAA,QAEC,wBAAc,oBAAC,aAAU,YAAwB;AAAA;AAAA,IACnD;AAAA,IAEC,kBACA;AAAA,MAAC;AAAA;AAAA,QACA;AAAA,QACA,UAAU;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA,UAAU;AAAA;AAAA,IACX;AAAA,KAEF;AAEF;AAEO,MAAM,iBAAiB,KAAK,uBAAuB","sourcesContent":["import { type ScorecardCellData } from \"../../../schemas/config\";\nimport { type ItemMeta } from \"../../../hooks/metadata\";\nimport { memo, type ReactNode, useState } from \"react\";\nimport { head } from \"lodash\";\nimport { DataTableCell } from \"@dhis2/ui\";\nimport { getTextColorFromBackgroundColor } from \"../../../utils/legends\";\nimport { DataValue } from \"./DataValue\";\nimport { useCellData } from \"../../../hooks/cellData\";\nimport { FurtherAnalysisMenu } from \"./FurtherAnalysisMenu\";\nimport {\n\tFurtherAnalysis,\n\ttype FurtherAnalysisConfig,\n} from \"./FurtherAnalysisModal\";\n\nexport interface SingleDataCellProps {\n\tdataSources: ScorecardCellData[];\n\torgUnit: ItemMeta & { hierarchy: string };\n\tperiod: string;\n}\n\nfunction SingleDataCellComponent({\n\tdataSources,\n\tperiod,\n\torgUnit,\n}: SingleDataCellProps): ReactNode {\n\tconst [furtherAnalysisConfig, setFurtherAnalysisConfig] =\n\t\tuseState<FurtherAnalysisConfig | null>(null);\n\tconst dataSource = head(dataSources);\n\tconst [stateActionRef, setStateActionRef] = useState(undefined);\n\n\tconst { legendDefinition } = useCellData({\n\t\tdataSource,\n\t\tperiod,\n\t\torgUnit,\n\t});\n\n\tif (!dataSource || !dataSource.data) {\n\t\treturn <DataTableCell bordered />;\n\t}\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<DataTableCell\n\t\t\t\tonClick={(event) => {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\tsetFurtherAnalysisConfig({\n\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tid: period,\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\torgUnitSelection: {\n\t\t\t\t\t\t\tlevels: [],\n\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\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\tdataSources,\n\t\t\t\t\t});\n\t\t\t\t}}\n\t\t\t\tonContextMenu={(e: any) => {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tsetStateActionRef(e.target);\n\t\t\t\t}}\n\t\t\t\tbordered\n\t\t\t\tstyle={{\n\t\t\t\t\tbackground: legendDefinition?.color,\n\t\t\t\t\ttextAlign: \"center\",\n\t\t\t\t\tminWidth: 100,\n\t\t\t\t\tcolor: legendDefinition\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{dataSource && <DataValue dataSource={dataSource} />}\n\t\t\t</DataTableCell>\n\n\t\t\t{stateActionRef && (\n\t\t\t\t<FurtherAnalysisMenu\n\t\t\t\t\tdataSources={dataSources}\n\t\t\t\t\tonSelect={setFurtherAnalysisConfig}\n\t\t\t\t\tstateActionRef={stateActionRef}\n\t\t\t\t\tsetStateActionRef={setStateActionRef}\n\t\t\t\t\torgUnit={orgUnit}\n\t\t\t\t\tperiodId={period}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</>\n\t);\n}\n\nexport const SingleDataCell = memo(SingleDataCellComponent);\n"]}
1
+ {"version":3,"sources":["../../../../../../src/components/Scorecard/components/ScorecardTable/components/SingleDataCell.tsx"],"names":[],"mappings":"AAuCS,SAIP,UAJO,KAIP,YAJO;AArCT,SAAS,MAAsB,gBAAgB;AAC/C,SAAS,YAAY;AACrB,SAAS,qBAAqB;AAC9B,SAAS,uCAAuC;AAChD,SAAS,iBAAiB;AAC1B,SAAS,mBAAmB;AAC5B,SAAS,2BAA2B;AACpC;AAAA,EACC;AAAA,OAEM;AASP,SAAS,wBAAwB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAAmC;AAClC,QAAM,CAAC,uBAAuB,wBAAwB,IACrD,SAAuC,IAAI;AAC5C,QAAM,aAAa,KAAK,WAAW;AACnC,QAAM,CAAC,gBAAgB,iBAAiB,IAAI,SAAS,MAAS;AAE9D,QAAM,EAAE,iBAAiB,IAAI,YAAY;AAAA,IACxC;AAAA,IACA;AAAA,IACA;AAAA,EACD,CAAC;AAED,MAAI,CAAC,cAAc,CAAC,WAAW,MAAM;AACpC,WAAO,oBAAC,iBAAc,UAAQ,MAAC;AAAA,EAChC;AAEA,SACC,iCACE;AAAA,KAAC,CAAC,yBACF;AAAA,MAAC;AAAA;AAAA,QACA,SAAS,MAAM;AACd,mCAAyB,IAAI;AAAA,QAC9B;AAAA,QACA,MAAM,CAAC;AAAA,QACP,QAAQ;AAAA;AAAA,IACT;AAAA,IAED;AAAA,MAAC;AAAA;AAAA,QACA,SAAS,CAAC,UAAU;AACnB,gBAAM,gBAAgB;AACtB,mCAAyB;AAAA,YACxB,iBAAiB;AAAA,cAChB,SAAS;AAAA,gBACR;AAAA,kBACC,IAAI;AAAA,gBACL;AAAA,cACD;AAAA,YACD;AAAA,YACA,kBAAkB;AAAA,cACjB,QAAQ,CAAC;AAAA,cACT,QAAQ,CAAC;AAAA,cACT,UAAU;AAAA,gBACT;AAAA,kBACC,IAAI,QAAQ;AAAA,gBACb;AAAA,cACD;AAAA,YACD;AAAA,YACA;AAAA,UACD,CAAC;AAAA,QACF;AAAA,QACA,eAAe,CAAC,MAAW;AAC1B,YAAE,eAAe;AACjB,4BAAkB,EAAE,MAAM;AAAA,QAC3B;AAAA,QACA,UAAQ;AAAA,QACR,OAAO;AAAA,UACN,YAAY,kBAAkB;AAAA,UAC9B,WAAW;AAAA,UACX,OAAO;AAAA,UACP,UAAU;AAAA,UACV,QAAQ;AAAA,UACR,OAAO,mBACJ;AAAA,YACA,kBAAkB;AAAA,UACnB,IACC;AAAA,QACJ;AAAA,QAEC,wBAAc,oBAAC,aAAU,YAAwB;AAAA;AAAA,IACnD;AAAA,IAEC,kBACA;AAAA,MAAC;AAAA;AAAA,QACA;AAAA,QACA,UAAU;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA,UAAU;AAAA;AAAA,IACX;AAAA,KAEF;AAEF;AAEO,MAAM,iBAAiB,KAAK,uBAAuB","sourcesContent":["import { type ScorecardCellData } from \"../../../schemas/config\";\nimport { type ItemMeta } from \"../../../hooks/metadata\";\nimport { memo, type ReactNode, useState } from \"react\";\nimport { head } from \"lodash\";\nimport { DataTableCell } from \"@dhis2/ui\";\nimport { getTextColorFromBackgroundColor } from \"../../../utils/legends\";\nimport { DataValue } from \"./DataValue\";\nimport { useCellData } from \"../../../hooks/cellData\";\nimport { FurtherAnalysisMenu } from \"./FurtherAnalysisMenu\";\nimport {\n\tFurtherAnalysis,\n\ttype FurtherAnalysisConfig,\n} from \"./FurtherAnalysisModal\";\n\nexport interface SingleDataCellProps {\n\tdataSources: ScorecardCellData[];\n\torgUnit: ItemMeta & { hierarchy: string };\n\tperiod: string;\n\tsize: number;\n}\n\nfunction SingleDataCellComponent({\n\tdataSources,\n\tperiod,\n\torgUnit,\n\tsize,\n}: SingleDataCellProps): ReactNode {\n\tconst [furtherAnalysisConfig, setFurtherAnalysisConfig] =\n\t\tuseState<FurtherAnalysisConfig | null>(null);\n\tconst dataSource = head(dataSources);\n\tconst [stateActionRef, setStateActionRef] = useState(undefined);\n\n\tconst { legendDefinition } = useCellData({\n\t\tdataSource,\n\t\tperiod,\n\t\torgUnit,\n\t});\n\n\tif (!dataSource || !dataSource.data) {\n\t\treturn <DataTableCell bordered />;\n\t}\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<DataTableCell\n\t\t\t\tonClick={(event) => {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\tsetFurtherAnalysisConfig({\n\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tid: period,\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\torgUnitSelection: {\n\t\t\t\t\t\t\tlevels: [],\n\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\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\tdataSources,\n\t\t\t\t\t});\n\t\t\t\t}}\n\t\t\t\tonContextMenu={(e: any) => {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tsetStateActionRef(e.target);\n\t\t\t\t}}\n\t\t\t\tbordered\n\t\t\t\tstyle={{\n\t\t\t\t\tbackground: legendDefinition?.color,\n\t\t\t\t\ttextAlign: \"center\",\n\t\t\t\t\twidth: size,\n\t\t\t\t\tminWidth: 100,\n\t\t\t\t\theight: 48,\n\t\t\t\t\tcolor: legendDefinition\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{dataSource && <DataValue dataSource={dataSource} />}\n\t\t\t</DataTableCell>\n\n\t\t\t{stateActionRef && (\n\t\t\t\t<FurtherAnalysisMenu\n\t\t\t\t\tdataSources={dataSources}\n\t\t\t\t\tonSelect={setFurtherAnalysisConfig}\n\t\t\t\t\tstateActionRef={stateActionRef}\n\t\t\t\t\tsetStateActionRef={setStateActionRef}\n\t\t\t\t\torgUnit={orgUnit}\n\t\t\t\t\tperiodId={period}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</>\n\t);\n}\n\nexport const SingleDataCell = memo(SingleDataCellComponent);\n"]}
@@ -4,10 +4,9 @@ var jsxRuntime = require('react/jsx-runtime');
4
4
  var ui = require('@dhis2/ui');
5
5
  var TableStateProvider = require('../../TableStateProvider');
6
6
  var DataRow = require('./DataRow');
7
- var LoadingIndicator = require('../../LoadingIndicator');
8
7
  var react = require('react');
8
+ var LoadingIndicator = require('../../LoadingIndicator');
9
9
  var DataProvider = require('../../DataProvider');
10
- var reactVirtual = require('@tanstack/react-virtual');
11
10
 
12
11
  const TableBody = react.memo(function TableBody2({
13
12
  tableRef
@@ -17,18 +16,9 @@ const TableBody = react.memo(function TableBody2({
17
16
  () => table.getRowModel().rows,
18
17
  [table.getRowModel().rows]
19
18
  );
20
- const enabled = false;
21
- reactVirtual.useVirtualizer({
22
- count: rows.length,
23
- getScrollElement: () => tableRef.current?.parentElement ?? null,
24
- enabled,
25
- overscan: 5,
26
- measureElement: typeof window !== "undefined" && navigator.userAgent.indexOf("Firefox") === -1 ? (element) => element?.getBoundingClientRect().height : void 0,
27
- estimateSize: () => 60
28
- });
29
- return /* @__PURE__ */ jsxRuntime.jsxs(ui.DataTableBody, { children: [
30
- /* @__PURE__ */ jsxRuntime.jsx(DataProvider.ScorecardDataFetchProgressProvider, { children: /* @__PURE__ */ jsxRuntime.jsx(LoadingIndicator.LoadingIndicator, { tableRef }) }),
31
- rows.map((row) => /* @__PURE__ */ jsxRuntime.jsx(DataRow.TableRow, { row }, row.id))
19
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
20
+ /* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsx(DataProvider.ScorecardDataFetchProgressProvider, { children: /* @__PURE__ */ jsxRuntime.jsx(LoadingIndicator.LoadingIndicator, { tableRef }) }) }),
21
+ /* @__PURE__ */ jsxRuntime.jsx(ui.DataTableBody, { children: rows.map((row) => /* @__PURE__ */ jsxRuntime.jsx(DataRow.TableRow, { row }, row.id)) })
32
22
  ] });
33
23
  });
34
24
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/components/Scorecard/components/ScorecardTable/components/TableBody.tsx"],"names":["TableBody"],"mappings":"AAoCE,SAEE,KAFF;AApCF,SAAS,qBAAqB;AAC9B,SAAS,qBAAqB;AAC9B,SAAS,gBAAgB;AACzB,SAAS,wBAAwB;AACjC,SAAS,MAAsB,eAAe;AAC9C,SAAS,0CAA0C;AACnD,SAAS,sBAAsB;AAExB,MAAM,YAAY,KAAK,SAASA,WAAU;AAAA,EAChD;AACD,GAEG;AACF,QAAM,QAAQ,cAAc;AAC5B,QAAM,OAAO;AAAA,IACZ,MAAM,MAAM,YAAY,EAAE;AAAA,IAC1B,CAAC,MAAM,YAAY,EAAE,IAAI;AAAA,EAC1B;AAEA,QAAM,UAAU;AAEhB,QAAM,cAAc,eAAe;AAAA,IAClC,OAAO,KAAK;AAAA,IACZ,kBAAkB,MAChB,SAAS,SAAS,iBAAoC;AAAA,IACxD;AAAA,IACA,UAAU;AAAA,IACV,gBACC,OAAO,WAAW,eAClB,UAAU,UAAU,QAAQ,SAAS,MAAM,KACxC,CAAC,YAAY,SAAS,sBAAsB,EAAE,SAC9C;AAAA,IACJ,cAAc,MAAM;AAAA,EACrB,CAAC;AAED,SACC,qBAAC,iBACA;AAAA,wBAAC,sCACA,8BAAC,oBAAiB,UAAoB,GACvC;AAAA,IACC,UACE,YAAY,gBAAgB,EAAE,IAAI,CAAC,eAAe;AAClD,YAAM,MAAM,KAAK,WAAW,KAAK;AACjC,aACC;AAAA,QAAC;AAAA;AAAA,UACA;AAAA,UACA;AAAA,UAEA;AAAA;AAAA,QADK,IAAI;AAAA,MAEV;AAAA,IAEF,CAAC,IACA,KAAK,IAAI,CAAC,QAAQ,oBAAC,YAAsB,OAAR,IAAI,EAAc,CAAE;AAAA,KACzD;AAEF,CAAC","sourcesContent":["import { DataTableBody } from \"@dhis2/ui\";\nimport { useTableState } from \"../../TableStateProvider\";\nimport { TableRow } from \"./DataRow\";\nimport { LoadingIndicator } from \"../../LoadingIndicator\";\nimport { memo, type RefObject, useMemo } from \"react\";\nimport { ScorecardDataFetchProgressProvider } from \"../../DataProvider\";\nimport { useVirtualizer } from \"@tanstack/react-virtual\";\n\nexport const TableBody = memo(function TableBody({\n\ttableRef,\n}: {\n\ttableRef: RefObject<HTMLTableElement>;\n}) {\n\tconst table = useTableState();\n\tconst rows = useMemo(\n\t\t() => table.getRowModel().rows,\n\t\t[table.getRowModel().rows],\n\t);\n\n\tconst enabled = false; //TODO: Work for smooth scroll first\n\n\tconst virtualizer = useVirtualizer({\n\t\tcount: rows.length,\n\t\tgetScrollElement: () =>\n\t\t\t(tableRef.current?.parentElement as HTMLDivElement) ?? null,\n\t\tenabled,\n\t\toverscan: 5,\n\t\tmeasureElement:\n\t\t\ttypeof window !== \"undefined\" &&\n\t\t\tnavigator.userAgent.indexOf(\"Firefox\") === -1\n\t\t\t\t? (element) => element?.getBoundingClientRect().height\n\t\t\t\t: undefined,\n\t\testimateSize: () => 60,\n\t});\n\n\treturn (\n\t\t<DataTableBody>\n\t\t\t<ScorecardDataFetchProgressProvider>\n\t\t\t\t<LoadingIndicator tableRef={tableRef} />\n\t\t\t</ScorecardDataFetchProgressProvider>\n\t\t\t{enabled\n\t\t\t\t? virtualizer.getVirtualItems().map((virtualRow) => {\n\t\t\t\t\t\tconst row = rows[virtualRow.index];\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<TableRow\n\t\t\t\t\t\t\t\tvirtualizer={virtualizer}\n\t\t\t\t\t\t\t\tvirtualRow={virtualRow}\n\t\t\t\t\t\t\t\tkey={row.id}\n\t\t\t\t\t\t\t\trow={row}\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: rows.map((row) => <TableRow key={row.id} row={row} />)}\n\t\t</DataTableBody>\n\t);\n});\n"]}
1
+ {"version":3,"sources":["../../../../../../src/components/Scorecard/components/ScorecardTable/components/TableBody.tsx"],"names":["TableBody"],"mappings":"AAmBE,mBAGG,KAHH;AAnBF,SAAS,qBAAqB;AAC9B,SAAS,qBAAqB;AAC9B,SAAS,gBAAgB;AACzB,SAAS,MAAsB,eAAe;AAC9C,SAAS,wBAAwB;AACjC,SAAS,0CAA0C;AAE5C,MAAM,YAAY,KAAK,SAASA,WAAU;AAAA,EAChD;AACD,GAEG;AACF,QAAM,QAAQ,cAAc;AAC5B,QAAM,OAAO;AAAA,IACZ,MAAM,MAAM,YAAY,EAAE;AAAA,IAC1B,CAAC,MAAM,YAAY,EAAE,IAAI;AAAA,EAC1B;AAEA,SACC,iCACC;AAAA,wBAAC,WACA,8BAAC,sCACA,8BAAC,oBAAiB,UAAoB,GACvC,GACD;AAAA,IACA,oBAAC,iBACC,eAAK,IAAI,CAAC,QACV,oBAAC,YAAsB,OAAR,IAAI,EAAc,CACjC,GACF;AAAA,KACD;AAEF,CAAC","sourcesContent":["import { DataTableBody } from \"@dhis2/ui\";\nimport { useTableState } from \"../../TableStateProvider\";\nimport { TableRow } from \"./DataRow\";\nimport { memo, type RefObject, useMemo } from \"react\";\nimport { LoadingIndicator } from \"../../LoadingIndicator\";\nimport { ScorecardDataFetchProgressProvider } from \"../../DataProvider\";\n\nexport const TableBody = memo(function TableBody({\n\ttableRef,\n}: {\n\ttableRef: RefObject<HTMLTableElement>;\n}) {\n\tconst table = useTableState();\n\tconst rows = useMemo(\n\t\t() => table.getRowModel().rows,\n\t\t[table.getRowModel().rows],\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<thead>\n\t\t\t\t<ScorecardDataFetchProgressProvider>\n\t\t\t\t\t<LoadingIndicator tableRef={tableRef} />\n\t\t\t\t</ScorecardDataFetchProgressProvider>\n\t\t\t</thead>\n\t\t\t<DataTableBody>\n\t\t\t\t{rows.map((row) => (\n\t\t\t\t\t<TableRow key={row.id} row={row} />\n\t\t\t\t))}\n\t\t\t</DataTableBody>\n\t\t</>\n\t);\n});\n"]}
@@ -5,12 +5,13 @@ var ui = require('@dhis2/ui');
5
5
 
6
6
  function ExpandCell(props) {
7
7
  const data = props.getValue();
8
+ const size = props.cell.column.getSize();
8
9
  if (!data) {
9
10
  return /* @__PURE__ */ jsxRuntime.jsx(
10
11
  ui.DataTableCell,
11
12
  {
12
- width: "48px",
13
- style: { width: 48, maxWidth: 48, minWidth: 48 },
13
+ width: `${size}px`,
14
+ style: { width: size, minWidth: size },
14
15
  fixed: true,
15
16
  left: "0"
16
17
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../../src/components/Scorecard/components/ScorecardTable/components/TableHeader/components/ExpandCell.tsx"],"names":[],"mappings":"AASG;AAPH,SAAS,qBAAqB;AAEvB,SAAS,WAAW,OAAiD;AAC3E,QAAM,OAAO,MAAM,SAAS;AAE5B,MAAI,CAAC,MAAM;AACV,WACC;AAAA,MAAC;AAAA;AAAA,QACA,OAAO;AAAA,QACP,OAAO,EAAE,OAAO,IAAI,UAAU,IAAI,UAAU,GAAG;AAAA,QAE/C,OAAK;AAAA,QAGL,MAAK;AAAA;AAAA,MAJA,MAAM,KAAK;AAAA,IAKjB;AAAA,EAEF;AAEA,SAAO;AACR","sourcesContent":["import type { CellContext } from \"@tanstack/react-table\";\nimport type { ScorecardTableData } from \"../../../../../schemas/config\";\nimport { DataTableCell } from \"@dhis2/ui\";\n\nexport function ExpandCell(props: CellContext<ScorecardTableData, boolean>) {\n\tconst data = props.getValue();\n\n\tif (!data) {\n\t\treturn (\n\t\t\t<DataTableCell\n\t\t\t\twidth={\"48px\"}\n\t\t\t\tstyle={{ width: 48, maxWidth: 48, minWidth: 48 }}\n\t\t\t\tkey={props.cell.id}\n\t\t\t\tfixed\n\t\t\t\t/*\n // @ts-ignore */\n\t\t\t\tleft=\"0\"\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn null;\n}\n"]}
1
+ {"version":3,"sources":["../../../../../../../../src/components/Scorecard/components/ScorecardTable/components/TableHeader/components/ExpandCell.tsx"],"names":[],"mappings":"AAUG;AARH,SAAS,qBAAqB;AAEvB,SAAS,WAAW,OAAiD;AAC3E,QAAM,OAAO,MAAM,SAAS;AAC5B,QAAM,OAAO,MAAM,KAAK,OAAO,QAAQ;AAEvC,MAAI,CAAC,MAAM;AACV,WACC;AAAA,MAAC;AAAA;AAAA,QACA,OAAO,GAAG,IAAI;AAAA,QACd,OAAO,EAAE,OAAO,MAAM,UAAU,KAAK;AAAA,QAErC,OAAK;AAAA,QAGL,MAAK;AAAA;AAAA,MAJA,MAAM,KAAK;AAAA,IAKjB;AAAA,EAEF;AAEA,SAAO;AACR","sourcesContent":["import type { CellContext } from \"@tanstack/react-table\";\nimport type { ScorecardTableData } from \"../../../../../schemas/config\";\nimport { DataTableCell } from \"@dhis2/ui\";\n\nexport function ExpandCell(props: CellContext<ScorecardTableData, boolean>) {\n\tconst data = props.getValue();\n\tconst size = props.cell.column.getSize();\n\n\tif (!data) {\n\t\treturn (\n\t\t\t<DataTableCell\n\t\t\t\twidth={`${size}px`}\n\t\t\t\tstyle={{ width: size, minWidth: size }}\n\t\t\t\tkey={props.cell.id}\n\t\t\t\tfixed\n\t\t\t\t/*\n // @ts-ignore */\n\t\t\t\tleft=\"0\"\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn null;\n}\n"]}
@@ -15,6 +15,7 @@ var DroppableCell__default = /*#__PURE__*/_interopDefault(DroppableCell);
15
15
 
16
16
  function LabelCellComponent(props) {
17
17
  const data = props.getValue().toString();
18
+ const size = props.cell.column.getSize();
18
19
  const dataInRows = StateProvider.useScorecardStateSelector([
19
20
  "options",
20
21
  "showDataInRows"
@@ -37,10 +38,9 @@ function LabelCellComponent(props) {
37
38
  return /* @__PURE__ */ jsxRuntime.jsx(
38
39
  ui.DataTableCell,
39
40
  {
40
- width: "300px",
41
+ width: `${size}px`,
41
42
  style: {
42
- width: "fit-content",
43
- minWidth: 300
43
+ width: size
44
44
  },
45
45
  fixed: true,
46
46
  left: `${left}px`,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../../src/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.tsx"],"names":["left"],"mappings":"AA2DI;AA1DJ;AAAA,EACC;AAAA,OAEM;AACP,SAAS,qBAAqB;AAC9B,OAAO,mBAAmB;AAC1B,SAAS,qBAAqB;AAC9B,SAAS,iCAAiC;AAC1C,SAAS,MAAM,eAAe;AAC9B,SAAS,YAAY;AAEd,SAAS,mBACf,OACC;AACD,QAAM,OAAO,MAAM,SAAS,EAAE,SAAS;AACvC,QAAM,aAAa,0BAAmC;AAAA,IACrD;AAAA,IACA;AAAA,EACD,CAAC;AAED,QAAM,aAAa,0BAAmC;AAAA,IACrD;AAAA,IACA;AAAA,EACD,CAAC;AAED,QAAM,YAAY,QAAQ,MAAM;AAC/B,UAAM,aAAa,KAAK,MAAM,IAAI,gBAAgB,CAAC;AACnD,WAAQ,YAAY,SAAS,KAAiB;AAAA,EAC/C,GAAG,CAAC,CAAC;AAEL,QAAM,OAAO,QAAQ,MAAM;AAC1B,QAAIA,QAAO;AACX,QAAI,YAAY;AACf,MAAAA;AAAA,IACD;AACA,WAAOA,QAAO;AAAA,EACf,GAAG,CAAC,WAAW,UAAU,CAAC;AAE1B,SACC;AAAA,IAAC;AAAA;AAAA,MACA,OAAM;AAAA,MACN,OAAO;AAAA,QACN,OAAO;AAAA,QACP,UAAU;AAAA,MACX;AAAA,MACA,OAAK;AAAA,MAGL,MAAM,GAAG,IAAI;AAAA,MACb,UAAQ;AAAA,MAER;AAAA,QAAC;AAAA;AAAA,UACA,QACC,aACG,CAAC,wBAAwB,EAAE,IAC3B,CAAC,wBAAwB,IAAI;AAAA,UAGjC;AAAA,YAAC;AAAA;AAAA,cACA,MACC,aACG,wBAAwB,OACxB,wBAAwB;AAAA,cAG3B;AAAA;AAAA,UACF;AAAA;AAAA,MACD;AAAA;AAAA,EACD;AAEF;AAEO,MAAM,YAAY,KAAK,kBAAkB","sourcesContent":["import type { CellContext } from \"@tanstack/react-table\";\nimport {\n\tScorecardDraggableItems,\n\ttype ScorecardTableData,\n} from \"../../../../../schemas/config\";\nimport { DataTableCell } from \"@dhis2/ui\";\nimport DroppableCell from \"../../DroppableCell\";\nimport { DraggableCell } from \"../../DraggableCell\";\nimport { useScorecardStateSelector } from \"../../../../StateProvider\";\nimport { memo, useMemo } from \"react\";\nimport { head } from \"lodash\";\n\nexport function LabelCellComponent(\n\tprops: CellContext<ScorecardTableData, string | number>,\n) {\n\tconst data = props.getValue().toString();\n\tconst dataInRows = useScorecardStateSelector<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\n\n\tconst itemNumber = useScorecardStateSelector<boolean>([\n\t\t\"options\",\n\t\t\"itemNumber\",\n\t]);\n\n\tconst canExpand = useMemo(() => {\n\t\tconst expandCell = head(props.row.getVisibleCells());\n\t\treturn (expandCell?.getValue() as boolean) ?? false;\n\t}, []);\n\n\tconst left = useMemo(() => {\n\t\tlet left = 1;\n\t\tif (itemNumber) {\n\t\t\tleft++;\n\t\t}\n\t\treturn left * 48;\n\t}, [canExpand, itemNumber]);\n\n\treturn (\n\t\t<DataTableCell\n\t\t\twidth=\"300px\"\n\t\t\tstyle={{\n\t\t\t\twidth: \"fit-content\",\n\t\t\t\tminWidth: 300,\n\t\t\t}}\n\t\t\tfixed\n\t\t\t/*\n // @ts-ignore */\n\t\t\tleft={`${left}px`}\n\t\t\tbordered\n\t\t>\n\t\t\t<DroppableCell\n\t\t\t\taccept={\n\t\t\t\t\tdataInRows\n\t\t\t\t\t\t? [ScorecardDraggableItems.ou]\n\t\t\t\t\t\t: [ScorecardDraggableItems.data]\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<DraggableCell\n\t\t\t\t\ttype={\n\t\t\t\t\t\tdataInRows\n\t\t\t\t\t\t\t? ScorecardDraggableItems.data\n\t\t\t\t\t\t\t: ScorecardDraggableItems.ou\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{data}\n\t\t\t\t</DraggableCell>\n\t\t\t</DroppableCell>\n\t\t</DataTableCell>\n\t);\n}\n\nexport const LabelCell = memo(LabelCellComponent);\n"]}
1
+ {"version":3,"sources":["../../../../../../../../src/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.tsx"],"names":["left"],"mappings":"AA2DI;AA1DJ;AAAA,EACC;AAAA,OAEM;AACP,SAAS,qBAAqB;AAC9B,OAAO,mBAAmB;AAC1B,SAAS,qBAAqB;AAC9B,SAAS,iCAAiC;AAC1C,SAAS,MAAM,eAAe;AAC9B,SAAS,YAAY;AAEd,SAAS,mBACf,OACC;AACD,QAAM,OAAO,MAAM,SAAS,EAAE,SAAS;AACvC,QAAM,OAAO,MAAM,KAAK,OAAO,QAAQ;AACvC,QAAM,aAAa,0BAAmC;AAAA,IACrD;AAAA,IACA;AAAA,EACD,CAAC;AAED,QAAM,aAAa,0BAAmC;AAAA,IACrD;AAAA,IACA;AAAA,EACD,CAAC;AAED,QAAM,YAAY,QAAQ,MAAM;AAC/B,UAAM,aAAa,KAAK,MAAM,IAAI,gBAAgB,CAAC;AACnD,WAAQ,YAAY,SAAS,KAAiB;AAAA,EAC/C,GAAG,CAAC,CAAC;AAEL,QAAM,OAAO,QAAQ,MAAM;AAC1B,QAAIA,QAAO;AACX,QAAI,YAAY;AACf,MAAAA;AAAA,IACD;AACA,WAAOA,QAAO;AAAA,EACf,GAAG,CAAC,WAAW,UAAU,CAAC;AAE1B,SACC;AAAA,IAAC;AAAA;AAAA,MACA,OAAO,GAAG,IAAI;AAAA,MACd,OAAO;AAAA,QACN,OAAO;AAAA,MACR;AAAA,MACA,OAAK;AAAA,MAGL,MAAM,GAAG,IAAI;AAAA,MACb,UAAQ;AAAA,MAER;AAAA,QAAC;AAAA;AAAA,UACA,QACC,aACG,CAAC,wBAAwB,EAAE,IAC3B,CAAC,wBAAwB,IAAI;AAAA,UAGjC;AAAA,YAAC;AAAA;AAAA,cACA,MACC,aACG,wBAAwB,OACxB,wBAAwB;AAAA,cAG3B;AAAA;AAAA,UACF;AAAA;AAAA,MACD;AAAA;AAAA,EACD;AAEF;AAEO,MAAM,YAAY,KAAK,kBAAkB","sourcesContent":["import type { CellContext } from \"@tanstack/react-table\";\nimport {\n\tScorecardDraggableItems,\n\ttype ScorecardTableData,\n} from \"../../../../../schemas/config\";\nimport { DataTableCell } from \"@dhis2/ui\";\nimport DroppableCell from \"../../DroppableCell\";\nimport { DraggableCell } from \"../../DraggableCell\";\nimport { useScorecardStateSelector } from \"../../../../StateProvider\";\nimport { memo, useMemo } from \"react\";\nimport { head } from \"lodash\";\n\nexport function LabelCellComponent(\n\tprops: CellContext<ScorecardTableData, string | number>,\n) {\n\tconst data = props.getValue().toString();\n\tconst size = props.cell.column.getSize();\n\tconst dataInRows = useScorecardStateSelector<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\n\n\tconst itemNumber = useScorecardStateSelector<boolean>([\n\t\t\"options\",\n\t\t\"itemNumber\",\n\t]);\n\n\tconst canExpand = useMemo(() => {\n\t\tconst expandCell = head(props.row.getVisibleCells());\n\t\treturn (expandCell?.getValue() as boolean) ?? false;\n\t}, []);\n\n\tconst left = useMemo(() => {\n\t\tlet left = 1;\n\t\tif (itemNumber) {\n\t\t\tleft++;\n\t\t}\n\t\treturn left * 48;\n\t}, [canExpand, itemNumber]);\n\n\treturn (\n\t\t<DataTableCell\n\t\t\twidth={`${size}px`}\n\t\t\tstyle={{\n\t\t\t\twidth: size,\n\t\t\t}}\n\t\t\tfixed\n\t\t\t/*\n // @ts-ignore */\n\t\t\tleft={`${left}px`}\n\t\t\tbordered\n\t\t>\n\t\t\t<DroppableCell\n\t\t\t\taccept={\n\t\t\t\t\tdataInRows\n\t\t\t\t\t\t? [ScorecardDraggableItems.ou]\n\t\t\t\t\t\t: [ScorecardDraggableItems.data]\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<DraggableCell\n\t\t\t\t\ttype={\n\t\t\t\t\t\tdataInRows\n\t\t\t\t\t\t\t? ScorecardDraggableItems.data\n\t\t\t\t\t\t\t: ScorecardDraggableItems.ou\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{data}\n\t\t\t\t</DraggableCell>\n\t\t\t</DroppableCell>\n\t\t</DataTableCell>\n\t);\n}\n\nexport const LabelCell = memo(LabelCellComponent);\n"]}
@@ -6,14 +6,16 @@ var react = require('react');
6
6
 
7
7
  function NumberCellComponent(props) {
8
8
  const data = props.getValue().toString();
9
+ const size = props.cell.column.getSize();
9
10
  return /* @__PURE__ */ jsxRuntime.jsx(
10
11
  ui.DataTableCell,
11
12
  {
12
- width: "48px",
13
+ width: `${size}px`,
13
14
  style: {
14
- width: 48,
15
- minWidth: 48,
16
- maxWidth: 48
15
+ width: size,
16
+ minWidth: size,
17
+ maxWidth: 48,
18
+ height: 48
17
19
  },
18
20
  fixed: true,
19
21
  left: "48px",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../../src/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.tsx"],"names":[],"mappings":"AAWE;AATF,SAAS,qBAAqB;AAC9B,SAAS,YAAY;AAErB,SAAS,oBACR,OACC;AACD,QAAM,OAAO,MAAM,SAAS,EAAE,SAAS;AAEvC,SACC;AAAA,IAAC;AAAA;AAAA,MACA,OAAO;AAAA,MACP,OAAO;AAAA,QACN,OAAO;AAAA,QACP,UAAU;AAAA,QACV,UAAU;AAAA,MACX;AAAA,MACA,OAAK;AAAA,MAGL,MAAK;AAAA,MAEJ;AAAA;AAAA,EACF;AAEF;AAEO,MAAM,aAAa,KAAK,mBAAmB","sourcesContent":["import type { CellContext } from \"@tanstack/react-table\";\nimport type { ScorecardTableData } from \"../../../../../schemas/config\";\nimport { DataTableCell } from \"@dhis2/ui\";\nimport { memo } from \"react\";\n\nfunction NumberCellComponent(\n\tprops: CellContext<ScorecardTableData, string | number>,\n) {\n\tconst data = props.getValue().toString();\n\n\treturn (\n\t\t<DataTableCell\n\t\t\twidth={\"48px\"}\n\t\t\tstyle={{\n\t\t\t\twidth: 48,\n\t\t\t\tminWidth: 48,\n\t\t\t\tmaxWidth: 48,\n\t\t\t}}\n\t\t\tfixed\n\t\t\t/*\n // @ts-ignore */\n\t\t\tleft=\"48px\"\n\t\t>\n\t\t\t{data}\n\t\t</DataTableCell>\n\t);\n}\n\nexport const NumberCell = memo(NumberCellComponent);\n"]}
1
+ {"version":3,"sources":["../../../../../../../../src/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.tsx"],"names":[],"mappings":"AAYE;AAVF,SAAS,qBAAqB;AAC9B,SAAS,YAAY;AAErB,SAAS,oBACR,OACC;AACD,QAAM,OAAO,MAAM,SAAS,EAAE,SAAS;AACvC,QAAM,OAAO,MAAM,KAAK,OAAO,QAAQ;AAEvC,SACC;AAAA,IAAC;AAAA;AAAA,MACA,OAAO,GAAG,IAAI;AAAA,MACd,OAAO;AAAA,QACN,OAAO;AAAA,QACP,UAAU;AAAA,QACV,UAAU;AAAA,QACV,QAAQ;AAAA,MACT;AAAA,MACA,OAAK;AAAA,MAGL,MAAK;AAAA,MAEJ;AAAA;AAAA,EACF;AAEF;AAEO,MAAM,aAAa,KAAK,mBAAmB","sourcesContent":["import type { CellContext } from \"@tanstack/react-table\";\nimport type { ScorecardTableData } from \"../../../../../schemas/config\";\nimport { DataTableCell } from \"@dhis2/ui\";\nimport { memo } from \"react\";\n\nfunction NumberCellComponent(\n\tprops: CellContext<ScorecardTableData, string | number>,\n) {\n\tconst data = props.getValue().toString();\n\tconst size = props.cell.column.getSize();\n\n\treturn (\n\t\t<DataTableCell\n\t\t\twidth={`${size}px`}\n\t\t\tstyle={{\n\t\t\t\twidth: size,\n\t\t\t\tminWidth: size,\n\t\t\t\tmaxWidth: 48,\n\t\t\t\theight: 48,\n\t\t\t}}\n\t\t\tfixed\n\t\t\t/*\n // @ts-ignore */\n\t\t\tleft=\"48px\"\n\t\t>\n\t\t\t{data}\n\t\t</DataTableCell>\n\t);\n}\n\nexport const NumberCell = memo(NumberCellComponent);\n"]}
@@ -55,6 +55,7 @@ function useMetaColumns() {
55
55
  },
56
56
  enableColumnFilter: false,
57
57
  cell: ExpandCell.ExpandCell,
58
+ size: 48,
58
59
  footer: () => null
59
60
  }
60
61
  ),
@@ -72,6 +73,7 @@ function useMetaColumns() {
72
73
  },
73
74
  enableColumnFilter: false,
74
75
  cell: NumberCell.NumberCell,
76
+ size: 48,
75
77
  footer: () => null
76
78
  }
77
79
  )
@@ -86,6 +88,7 @@ function useMetaColumns() {
86
88
  },
87
89
  enableColumnFilter: true,
88
90
  cell: LabelCell.LabelCell,
91
+ size: 300,
89
92
  footer: MetaFooterCell.MetaFooterCell
90
93
  })
91
94
  );
@@ -100,6 +103,7 @@ function useMetaColumns() {
100
103
  fixed: true
101
104
  },
102
105
  cell: LabelCell.LabelCell,
106
+ size: 300,
103
107
  footer: MetaFooterCell.MetaFooterCell
104
108
  })
105
109
  );
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Scorecard/hooks/columns.ts"],"names":[],"mappings":"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","sourcesContent":["import { type ColumnDef, createColumnHelper } from \"@tanstack/react-table\";\nimport {\n\tuseScorecardConfig,\n\tuseScorecardMeta,\n\tuseScorecardStateSelector,\n} from \"../components\";\nimport { useMemo } from \"react\";\nimport {\n\ttype ScorecardState,\n\ttype ScorecardTableCellConfig,\n\ttype ScorecardTableData,\n} from \"../schemas/config\";\nimport {\n\tgetAverageColumn,\n\tgetDataColumnHeaders,\n\tgetOrgUnitColumnHeaders,\n} from \"../utils/columns\";\nimport { LabelCell } from \"../components/ScorecardTable/components/TableHeader/components/LabelCell\";\nimport { ExpandCell } from \"../components/ScorecardTable/components/TableHeader/components/ExpandCell\";\nimport { NumberCell } from \"../components/ScorecardTable/components/TableHeader/components/NumberCell\";\nimport { MetaHeaderCell } from \"../components/ScorecardTable/components/TableHeader/components/MetaHeaderCell\";\nimport { useCalendar } from \"./metadata\";\nimport { MetaFooterCell } from \"../components/ScorecardTable/components/MetaFooterCell\";\nimport { getOrgUnitLevel } from \"../utils/orgUnits\";\nimport { useLowestOrgUnitLevel } from \"./orgUnit\";\nimport { useScorecardData } from \"../components/DataProvider\";\n\nconst columnHelper = createColumnHelper<ScorecardTableData>();\n\nexport function useMetaColumns() {\n\tconst showDataInRows = useScorecardStateSelector<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\n\n\tconst disableExpanding = useScorecardStateSelector<boolean>([\n\t\t\"options\",\n\t\t\"disableExpanding\",\n\t]);\n\n\tconst lowestLevel = useLowestOrgUnitLevel();\n\n\treturn useMemo(() => {\n\t\tconst metaColumns: ColumnDef<ScorecardTableData, any>[] = [\n\t\t\tcolumnHelper.accessor(\n\t\t\t\t(rowData) => {\n\t\t\t\t\tif (disableExpanding) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (showDataInRows) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!lowestLevel) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst orgUnit = rowData.orgUnit;\n\t\t\t\t\tif (!orgUnit) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\tconst ouLevel = getOrgUnitLevel(orgUnit);\n\n\t\t\t\t\treturn ouLevel !== lowestLevel.level;\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: \"expand\",\n\t\t\t\t\theader: () => null,\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tisMeta: true,\n\t\t\t\t\t\tfixed: true,\n\t\t\t\t\t\tlabel: \"\",\n\t\t\t\t\t},\n\t\t\t\t\tenableColumnFilter: false,\n\t\t\t\t\tcell: ExpandCell,\n\t\t\t\t\tfooter: () => null,\n\t\t\t\t},\n\t\t\t),\n\t\t\tcolumnHelper.accessor(\n\t\t\t\t(_, index) => {\n\t\t\t\t\treturn index + 1;\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: \"count\",\n\t\t\t\t\theader: () => null,\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tisMeta: true,\n\t\t\t\t\t\tfixed: true,\n\t\t\t\t\t\tlabel: \"\",\n\t\t\t\t\t},\n\t\t\t\t\tenableColumnFilter: false,\n\t\t\t\t\tcell: NumberCell,\n\t\t\t\t\tfooter: () => null,\n\t\t\t\t},\n\t\t\t),\n\t\t];\n\n\t\tif (showDataInRows) {\n\t\t\tmetaColumns.push(\n\t\t\t\tcolumnHelper.accessor(\"label\", {\n\t\t\t\t\theader: () => null,\n\t\t\t\t\tid: \"dataItems\",\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tfilterable: true,\n\t\t\t\t\t},\n\t\t\t\t\tenableColumnFilter: true,\n\t\t\t\t\tcell: LabelCell,\n\t\t\t\t\tfooter: MetaFooterCell,\n\t\t\t\t}),\n\t\t\t);\n\t\t} else {\n\t\t\tmetaColumns.push(\n\t\t\t\tcolumnHelper.accessor(\"label\", {\n\t\t\t\t\theader: () => null,\n\t\t\t\t\tid: \"orgUnits\",\n\t\t\t\t\tenableColumnFilter: true,\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tisMeta: true,\n\t\t\t\t\t\tfixed: true,\n\t\t\t\t\t},\n\t\t\t\t\tcell: LabelCell,\n\t\t\t\t\tfooter: MetaFooterCell,\n\t\t\t\t}),\n\t\t\t);\n\t\t}\n\n\t\treturn metaColumns;\n\t}, [showDataInRows, disableExpanding]);\n}\n\nexport function useTableColumns(): ColumnDef<\n\tScorecardTableData,\n\tScorecardTableCellConfig\n>[] {\n\tconst config = useScorecardConfig();\n\tconst { data: dataEngine } = useScorecardData();\n\tconst meta = useScorecardMeta();\n\tconst metaColumns = useMetaColumns();\n\tconst calendar = useCalendar();\n\tconst showDataInRows = useScorecardStateSelector<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\n\tconst periodSelection =\n\t\tuseScorecardStateSelector<ScorecardState[\"periodSelection\"]>(\n\t\t\t\"periodSelection\",\n\t\t);\n\n\tconst orgUnitSelection =\n\t\tuseScorecardStateSelector<ScorecardState[\"orgUnitSelection\"]>(\n\t\t\t\"orgUnitSelection\",\n\t\t);\n\n\tif (!config || !meta) {\n\t\treturn [];\n\t}\n\treturn useMemo(() => {\n\t\tconst columns: ColumnDef<ScorecardTableData, any>[] = [\n\t\t\tcolumnHelper.group({\n\t\t\t\tid: \"metaHeader\",\n\t\t\t\tcolumns: metaColumns,\n\t\t\t\theader: MetaHeaderCell,\n\t\t\t\tfooter: () => null,\n\t\t\t}),\n\t\t];\n\n\t\tif (showDataInRows) {\n\t\t\tcolumns.push(\n\t\t\t\t...getOrgUnitColumnHeaders({\n\t\t\t\t\tmeta,\n\t\t\t\t\tcalendar,\n\t\t\t\t\tdataEngine,\n\t\t\t\t}),\n\t\t\t);\n\t\t} else {\n\t\t\tcolumns.push(\n\t\t\t\t...getDataColumnHeaders({\n\t\t\t\t\tmeta,\n\t\t\t\t\tconfig,\n\t\t\t\t\tcalendar,\n\t\t\t\t\tdataEngine,\n\t\t\t\t}),\n\t\t\t);\n\t\t}\n\n\t\tcolumns.push(\n\t\t\tgetAverageColumn({\n\t\t\t\tmeta,\n\t\t\t\tconfig,\n\t\t\t}),\n\t\t);\n\n\t\treturn columns;\n\t}, [showDataInRows, periodSelection, orgUnitSelection]);\n}\n"]}
1
+ {"version":3,"sources":["../../../../src/components/Scorecard/hooks/columns.ts"],"names":[],"mappings":"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","sourcesContent":["import { type ColumnDef, createColumnHelper } from \"@tanstack/react-table\";\nimport {\n\tuseScorecardConfig,\n\tuseScorecardMeta,\n\tuseScorecardStateSelector,\n} from \"../components\";\nimport { useMemo } from \"react\";\nimport {\n\ttype ScorecardState,\n\ttype ScorecardTableCellConfig,\n\ttype ScorecardTableData,\n} from \"../schemas/config\";\nimport {\n\tgetAverageColumn,\n\tgetDataColumnHeaders,\n\tgetOrgUnitColumnHeaders,\n} from \"../utils/columns\";\nimport { LabelCell } from \"../components/ScorecardTable/components/TableHeader/components/LabelCell\";\nimport { ExpandCell } from \"../components/ScorecardTable/components/TableHeader/components/ExpandCell\";\nimport { NumberCell } from \"../components/ScorecardTable/components/TableHeader/components/NumberCell\";\nimport { MetaHeaderCell } from \"../components/ScorecardTable/components/TableHeader/components/MetaHeaderCell\";\nimport { useCalendar } from \"./metadata\";\nimport { MetaFooterCell } from \"../components/ScorecardTable/components/MetaFooterCell\";\nimport { getOrgUnitLevel } from \"../utils/orgUnits\";\nimport { useLowestOrgUnitLevel } from \"./orgUnit\";\nimport { useScorecardData } from \"../components/DataProvider\";\n\nconst columnHelper = createColumnHelper<ScorecardTableData>();\n\nexport function useMetaColumns() {\n\tconst showDataInRows = useScorecardStateSelector<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\n\n\tconst disableExpanding = useScorecardStateSelector<boolean>([\n\t\t\"options\",\n\t\t\"disableExpanding\",\n\t]);\n\n\tconst lowestLevel = useLowestOrgUnitLevel();\n\n\treturn useMemo(() => {\n\t\tconst metaColumns: ColumnDef<ScorecardTableData, any>[] = [\n\t\t\tcolumnHelper.accessor(\n\t\t\t\t(rowData) => {\n\t\t\t\t\tif (disableExpanding) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (showDataInRows) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!lowestLevel) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst orgUnit = rowData.orgUnit;\n\t\t\t\t\tif (!orgUnit) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\tconst ouLevel = getOrgUnitLevel(orgUnit);\n\n\t\t\t\t\treturn ouLevel !== lowestLevel.level;\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: \"expand\",\n\t\t\t\t\theader: () => null,\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tisMeta: true,\n\t\t\t\t\t\tfixed: true,\n\t\t\t\t\t\tlabel: \"\",\n\t\t\t\t\t},\n\t\t\t\t\tenableColumnFilter: false,\n\t\t\t\t\tcell: ExpandCell,\n\t\t\t\t\tsize: 48,\n\t\t\t\t\tfooter: () => null,\n\t\t\t\t},\n\t\t\t),\n\t\t\tcolumnHelper.accessor(\n\t\t\t\t(_, index) => {\n\t\t\t\t\treturn index + 1;\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: \"count\",\n\t\t\t\t\theader: () => null,\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tisMeta: true,\n\t\t\t\t\t\tfixed: true,\n\t\t\t\t\t\tlabel: \"\",\n\t\t\t\t\t},\n\t\t\t\t\tenableColumnFilter: false,\n\t\t\t\t\tcell: NumberCell,\n\t\t\t\t\tsize: 48,\n\t\t\t\t\tfooter: () => null,\n\t\t\t\t},\n\t\t\t),\n\t\t];\n\n\t\tif (showDataInRows) {\n\t\t\tmetaColumns.push(\n\t\t\t\tcolumnHelper.accessor(\"label\", {\n\t\t\t\t\theader: () => null,\n\t\t\t\t\tid: \"dataItems\",\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tfilterable: true,\n\t\t\t\t\t},\n\t\t\t\t\tenableColumnFilter: true,\n\t\t\t\t\tcell: LabelCell,\n\t\t\t\t\tsize: 300,\n\t\t\t\t\tfooter: MetaFooterCell,\n\t\t\t\t}),\n\t\t\t);\n\t\t} else {\n\t\t\tmetaColumns.push(\n\t\t\t\tcolumnHelper.accessor(\"label\", {\n\t\t\t\t\theader: () => null,\n\t\t\t\t\tid: \"orgUnits\",\n\t\t\t\t\tenableColumnFilter: true,\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tisMeta: true,\n\t\t\t\t\t\tfixed: true,\n\t\t\t\t\t},\n\t\t\t\t\tcell: LabelCell,\n\t\t\t\t\tsize: 300,\n\t\t\t\t\tfooter: MetaFooterCell,\n\t\t\t\t}),\n\t\t\t);\n\t\t}\n\n\t\treturn metaColumns;\n\t}, [showDataInRows, disableExpanding]);\n}\n\nexport function useTableColumns(): ColumnDef<\n\tScorecardTableData,\n\tScorecardTableCellConfig\n>[] {\n\tconst config = useScorecardConfig();\n\tconst { data: dataEngine } = useScorecardData();\n\tconst meta = useScorecardMeta();\n\tconst metaColumns = useMetaColumns();\n\tconst calendar = useCalendar();\n\tconst showDataInRows = useScorecardStateSelector<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\n\tconst periodSelection =\n\t\tuseScorecardStateSelector<ScorecardState[\"periodSelection\"]>(\n\t\t\t\"periodSelection\",\n\t\t);\n\n\tconst orgUnitSelection =\n\t\tuseScorecardStateSelector<ScorecardState[\"orgUnitSelection\"]>(\n\t\t\t\"orgUnitSelection\",\n\t\t);\n\n\tif (!config || !meta) {\n\t\treturn [];\n\t}\n\treturn useMemo(() => {\n\t\tconst columns: ColumnDef<ScorecardTableData, any>[] = [\n\t\t\tcolumnHelper.group({\n\t\t\t\tid: \"metaHeader\",\n\t\t\t\tcolumns: metaColumns,\n\t\t\t\theader: MetaHeaderCell,\n\t\t\t\tfooter: () => null,\n\t\t\t}),\n\t\t];\n\n\t\tif (showDataInRows) {\n\t\t\tcolumns.push(\n\t\t\t\t...getOrgUnitColumnHeaders({\n\t\t\t\t\tmeta,\n\t\t\t\t\tcalendar,\n\t\t\t\t\tdataEngine,\n\t\t\t\t}),\n\t\t\t);\n\t\t} else {\n\t\t\tcolumns.push(\n\t\t\t\t...getDataColumnHeaders({\n\t\t\t\t\tmeta,\n\t\t\t\t\tconfig,\n\t\t\t\t\tcalendar,\n\t\t\t\t\tdataEngine,\n\t\t\t\t}),\n\t\t\t);\n\t\t}\n\n\t\tcolumns.push(\n\t\t\tgetAverageColumn({\n\t\t\t\tmeta,\n\t\t\t\tconfig,\n\t\t\t}),\n\t\t);\n\n\t\treturn columns;\n\t}, [showDataInRows, periodSelection, orgUnitSelection]);\n}\n"]}
@@ -120,6 +120,7 @@ function getOrgUnitColumnHeaders({
120
120
  label: name
121
121
  },
122
122
  cell: DataContainer.DataContainer,
123
+ size: 120,
123
124
  id: `${orgUnit.uid}-${uid}`,
124
125
  enableSorting: true,
125
126
  sortingFn: getSortingFunction(dataEngine),
@@ -146,6 +147,7 @@ function getAverageColumn({}) {
146
147
  header: () => null,
147
148
  cell: AverageCell.AverageCell,
148
149
  enableHiding: true,
150
+ size: 120,
149
151
  footer: AverageFooterCell.AverageFooterCell
150
152
  }
151
153
  )
@@ -189,6 +191,7 @@ function getDataHolderColumn({
189
191
  },
190
192
  id: id.toString(),
191
193
  cell: DataContainer.DataContainer,
194
+ size: 120,
192
195
  enableSorting: true,
193
196
  sortingFn: getSortingFunction(dataEngine),
194
197
  footer: DataFooterCell.DataFooterCell
@@ -224,6 +227,7 @@ function getDataHolderColumn({
224
227
  label: name
225
228
  },
226
229
  cell: DataContainer.DataContainer,
230
+ size: 120,
227
231
  id: `${id.toString()}-${uid}`,
228
232
  enableSorting: true,
229
233
  sortingFn: getSortingFunction(dataEngine),