@hisptz/dhis2-scorecard 1.2.19 → 1.2.21

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 (43) hide show
  1. package/dist/components/ScorecardTable/components/AverageCell.js +2 -2
  2. package/dist/components/ScorecardTable/components/AverageCell.js.map +1 -1
  3. package/dist/components/ScorecardTable/components/DataValue.js +3 -3
  4. package/dist/components/ScorecardTable/components/DataValue.js.map +1 -1
  5. package/dist/components/ScorecardTable/components/PaginatedToolbar.js +1 -1
  6. package/dist/components/ScorecardTable/components/PaginatedToolbar.js.map +1 -1
  7. package/dist/components/ScorecardTable/components/SingleDataCell.js +1 -1
  8. package/dist/components/ScorecardTable/components/SingleDataCell.js.map +1 -1
  9. package/dist/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js +2 -2
  10. package/dist/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js.map +1 -1
  11. package/dist/components/ScorecardTable/components/TableHeader/components/LabelCell.js +5 -5
  12. package/dist/components/ScorecardTable/components/TableHeader/components/LabelCell.js.map +1 -1
  13. package/dist/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js +3 -4
  14. package/dist/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js.map +1 -1
  15. package/dist/esm/components/ScorecardTable/components/AverageCell.js +1 -1
  16. package/dist/esm/components/ScorecardTable/components/AverageCell.js.map +1 -1
  17. package/dist/esm/components/ScorecardTable/components/DataValue.js +2 -2
  18. package/dist/esm/components/ScorecardTable/components/DataValue.js.map +1 -1
  19. package/dist/esm/components/ScorecardTable/components/PaginatedToolbar.js +1 -1
  20. package/dist/esm/components/ScorecardTable/components/PaginatedToolbar.js.map +1 -1
  21. package/dist/esm/components/ScorecardTable/components/SingleDataCell.js +1 -1
  22. package/dist/esm/components/ScorecardTable/components/SingleDataCell.js.map +1 -1
  23. package/dist/esm/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js +1 -1
  24. package/dist/esm/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js.map +1 -1
  25. package/dist/esm/components/ScorecardTable/components/TableHeader/components/LabelCell.js +2 -2
  26. package/dist/esm/components/ScorecardTable/components/TableHeader/components/LabelCell.js.map +1 -1
  27. package/dist/esm/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js +1 -2
  28. package/dist/esm/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js.map +1 -1
  29. package/dist/esm/schemas/config.js +12 -1
  30. package/dist/esm/schemas/config.js.map +1 -1
  31. package/dist/esm/utils/dimensionState.js +5 -1
  32. package/dist/esm/utils/dimensionState.js.map +1 -1
  33. package/dist/schemas/config.js +12 -1
  34. package/dist/schemas/config.js.map +1 -1
  35. package/dist/types/components/ConfigProvider.d.ts +21 -6
  36. package/dist/types/components/ConfigProvider.d.ts.map +1 -1
  37. package/dist/types/components/ScorecardTable/components/DataValue.d.ts.map +1 -1
  38. package/dist/types/schemas/config.d.ts +81 -14
  39. package/dist/types/schemas/config.d.ts.map +1 -1
  40. package/dist/types/utils/dimensionState.d.ts.map +1 -1
  41. package/dist/utils/dimensionState.js +4 -0
  42. package/dist/utils/dimensionState.js.map +1 -1
  43. package/package.json +6 -5
@@ -9,7 +9,7 @@ var legends = require('../../../utils/legends');
9
9
  var LinkedCell = require('./LinkedCell');
10
10
  var value = require('../../../hooks/value');
11
11
  var CellLoader = require('./CellLoader');
12
- var viewState = require('../../../utils/viewState');
12
+ var utils = require('../../../utils');
13
13
 
14
14
  function SingleAverageCell({
15
15
  dataSource,
@@ -152,7 +152,7 @@ function OrgUnitAverageCell(props) {
152
152
  );
153
153
  }
154
154
  function AverageCell(props) {
155
- const showDataInRows = viewState.useScorecardViewStateValue("showDataInRows");
155
+ const showDataInRows = utils.useScorecardViewStateValue("showDataInRows");
156
156
  if (showDataInRows) {
157
157
  return /* @__PURE__ */ jsxRuntime.jsx(DataSourceAverageCell, { ...props });
158
158
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ScorecardTable/components/AverageCell.tsx"],"names":["useScorecardConfig","useMemo","getLegend","jsx","DataTableCell","getTextColorFromBackgroundColor","LinkedCell","useDataHolderAverageCellValue","CellLoader","isEmpty","head","useOrgUnitAverageCellValue","useScorecardViewStateValue"],"mappings":"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","file":"AverageCell.js","sourcesContent":["import type { CellContext } from \"@tanstack/react-table\";\nimport type {\n\tScorecardAverageCellData,\n\tScorecardTableAverageCellConfig,\n\tScorecardTableData,\n} from \"../../../schemas/config\";\nimport { DataTableCell } from \"@dhis2/ui\";\nimport { head, isEmpty } from \"lodash\";\nimport { useScorecardConfig } from \"../../ConfigProvider\";\nimport { useMemo } from \"react\";\nimport {\n\tgetLegend,\n\tgetTextColorFromBackgroundColor,\n} from \"../../../utils/legends\";\nimport { LinkedCell } from \"./LinkedCell\";\nimport {\n\tuseDataHolderAverageCellValue,\n\tuseOrgUnitAverageCellValue,\n} from \"../../../hooks/value\";\nimport { CellLoader } from \"./CellLoader\";\nimport { useScorecardViewStateValue } from \"../../../utils/viewState\";\n\nexport function SingleAverageCell({\n\tdataSource,\n\tsize,\n}: {\n\tdataSource: ScorecardAverageCellData;\n\tsize: number;\n}) {\n\tconst config = useScorecardConfig();\n\tconst legendDefinition = useMemo(() => {\n\t\tif (!dataSource) {\n\t\t\treturn;\n\t\t}\n\t\treturn getLegend({\n\t\t\tdataSource,\n\t\t\tconfig: config!,\n\t\t\tvalue: dataSource.data.average,\n\t\t});\n\t}, [dataSource]);\n\n\tif (!dataSource.data.average || isNaN(dataSource.data.average)) {\n\t\treturn <DataTableCell bordered />;\n\t}\n\n\treturn (\n\t\t<DataTableCell\n\t\t\tbordered\n\t\t\tstyle={{\n\t\t\t\tbackground: legendDefinition?.color,\n\t\t\t\ttextAlign: \"center\",\n\t\t\t\tminWidth: 100,\n\t\t\t\twidth: size,\n\t\t\t\theight: 48,\n\t\t\t\tcolor: legendDefinition\n\t\t\t\t\t? getTextColorFromBackgroundColor(legendDefinition?.color)\n\t\t\t\t\t: undefined,\n\t\t\t}}\n\t\t\talign=\"center\"\n\t\t>\n\t\t\t<b>{dataSource.data.average?.toFixed(2).toString()}</b>\n\t\t</DataTableCell>\n\t);\n}\n\nexport function LinkedAverageCell({\n\tdataSources,\n\tsize,\n}: {\n\tdataSources: Array<ScorecardAverageCellData>;\n\tsize: number;\n}) {\n\tconst [top, bottom] = dataSources ?? [];\n\tconst config = useScorecardConfig();\n\tconst topLegendDefinition = useMemo(() => {\n\t\tif (!top) {\n\t\t\treturn;\n\t\t}\n\t\treturn getLegend({\n\t\t\tdataSource: top,\n\t\t\tconfig: config!,\n\t\t\tvalue: top.data.average,\n\t\t});\n\t}, [top]);\n\tconst bottomLegendDefinition = useMemo(() => {\n\t\tif (!bottom) {\n\t\t\treturn;\n\t\t}\n\t\treturn getLegend({\n\t\t\tdataSource: bottom,\n\t\t\tconfig: config!,\n\t\t\tvalue: bottom.data.average,\n\t\t});\n\t}, [bottom]);\n\n\treturn (\n\t\t<LinkedCell\n\t\t\tbold\n\t\t\tsize={size}\n\t\t\ttop={{\n\t\t\t\tdataSource: {\n\t\t\t\t\t...top,\n\t\t\t\t\tdata: {\n\t\t\t\t\t\tcurrent: top.data.average,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tlegendDefinition: topLegendDefinition,\n\t\t\t\tvalue: top.data.average,\n\t\t\t}}\n\t\t\tbottom={{\n\t\t\t\tdataSource: {\n\t\t\t\t\t...bottom,\n\t\t\t\t\tdata: {\n\t\t\t\t\t\tcurrent: bottom.data.average,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tlegendDefinition: bottomLegendDefinition,\n\t\t\t\tvalue: bottom.data.average,\n\t\t\t}}\n\t\t/>\n\t);\n}\n\nfunction DataSourceAverageCell(\n\tprops: CellContext<ScorecardTableData, ScorecardTableAverageCellConfig>,\n) {\n\tconst size = props.cell.column.getSize();\n\tconst dataConfig = useMemo(() => props.getValue(), [props.getValue()]);\n\tconst { cellData: dataSources, loading } =\n\t\tuseDataHolderAverageCellValue(dataConfig);\n\n\tif (loading) {\n\t\treturn <CellLoader size={size} />;\n\t}\n\n\tif (!isEmpty(dataSources)) {\n\t\tif (dataSources?.length === 1) {\n\t\t\treturn (\n\t\t\t\t<SingleAverageCell\n\t\t\t\t\tsize={size}\n\t\t\t\t\tdataSource={head(dataSources)!}\n\t\t\t\t/>\n\t\t\t);\n\t\t} else {\n\t\t\treturn <LinkedAverageCell size={size} dataSources={dataSources!} />;\n\t\t}\n\t}\n\n\treturn <DataTableCell bordered style={{ width: size }} />;\n}\n\nfunction OrgUnitAverageCell(\n\tprops: CellContext<ScorecardTableData, ScorecardTableAverageCellConfig>,\n) {\n\tconst size = props.cell.column.getSize();\n\tconst dataConfig = useMemo(() => props.getValue(), [props.getValue()]);\n\tconst { loading, average } = useOrgUnitAverageCellValue(dataConfig);\n\n\tif (loading) {\n\t\treturn <CellLoader size={size} />;\n\t}\n\n\tif (isNaN(average as number)) {\n\t\treturn (\n\t\t\t<DataTableCell\n\t\t\t\tstyle={{ width: size }}\n\t\t\t\tbordered\n\t\t\t\talign=\"center\"\n\t\t\t\tkey={props.row.id}\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<DataTableCell\n\t\t\tstyle={{ width: size }}\n\t\t\tbordered\n\t\t\talign=\"center\"\n\t\t\tkey={props.row.id}\n\t\t>\n\t\t\t<b>{average?.toFixed(2).toString()}</b>\n\t\t</DataTableCell>\n\t);\n}\n\nexport function AverageCell(\n\tprops: CellContext<ScorecardTableData, ScorecardTableAverageCellConfig>,\n) {\n\tconst showDataInRows =\n\t\tuseScorecardViewStateValue<boolean>(\"showDataInRows\");\n\n\tif (showDataInRows) {\n\t\treturn <DataSourceAverageCell {...props} />;\n\t}\n\n\treturn <OrgUnitAverageCell {...props} />;\n}\n"]}
1
+ {"version":3,"sources":["../../../../src/components/ScorecardTable/components/AverageCell.tsx"],"names":["useScorecardConfig","useMemo","getLegend","jsx","DataTableCell","getTextColorFromBackgroundColor","LinkedCell","useDataHolderAverageCellValue","CellLoader","isEmpty","head","useOrgUnitAverageCellValue","useScorecardViewStateValue"],"mappings":"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","file":"AverageCell.js","sourcesContent":["import type { CellContext } from \"@tanstack/react-table\";\nimport type {\n\tScorecardAverageCellData,\n\tScorecardTableAverageCellConfig,\n\tScorecardTableData,\n} from \"../../../schemas/config\";\nimport { DataTableCell } from \"@dhis2/ui\";\nimport { head, isEmpty } from \"lodash\";\nimport { useScorecardConfig } from \"../../ConfigProvider\";\nimport { useMemo } from \"react\";\nimport {\n\tgetLegend,\n\tgetTextColorFromBackgroundColor,\n} from \"../../../utils/legends\";\nimport { LinkedCell } from \"./LinkedCell\";\nimport {\n\tuseDataHolderAverageCellValue,\n\tuseOrgUnitAverageCellValue,\n} from \"../../../hooks/value\";\nimport { CellLoader } from \"./CellLoader\";\nimport { useScorecardViewStateValue } from \"../../../utils\";\n\nexport function SingleAverageCell({\n\tdataSource,\n\tsize,\n}: {\n\tdataSource: ScorecardAverageCellData;\n\tsize: number;\n}) {\n\tconst config = useScorecardConfig();\n\tconst legendDefinition = useMemo(() => {\n\t\tif (!dataSource) {\n\t\t\treturn;\n\t\t}\n\t\treturn getLegend({\n\t\t\tdataSource,\n\t\t\tconfig: config!,\n\t\t\tvalue: dataSource.data.average,\n\t\t});\n\t}, [dataSource]);\n\n\tif (!dataSource.data.average || isNaN(dataSource.data.average)) {\n\t\treturn <DataTableCell bordered />;\n\t}\n\n\treturn (\n\t\t<DataTableCell\n\t\t\tbordered\n\t\t\tstyle={{\n\t\t\t\tbackground: legendDefinition?.color,\n\t\t\t\ttextAlign: \"center\",\n\t\t\t\tminWidth: 100,\n\t\t\t\twidth: size,\n\t\t\t\theight: 48,\n\t\t\t\tcolor: legendDefinition\n\t\t\t\t\t? getTextColorFromBackgroundColor(legendDefinition?.color)\n\t\t\t\t\t: undefined,\n\t\t\t}}\n\t\t\talign=\"center\"\n\t\t>\n\t\t\t<b>{dataSource.data.average?.toFixed(2).toString()}</b>\n\t\t</DataTableCell>\n\t);\n}\n\nexport function LinkedAverageCell({\n\tdataSources,\n\tsize,\n}: {\n\tdataSources: Array<ScorecardAverageCellData>;\n\tsize: number;\n}) {\n\tconst [top, bottom] = dataSources ?? [];\n\tconst config = useScorecardConfig();\n\tconst topLegendDefinition = useMemo(() => {\n\t\tif (!top) {\n\t\t\treturn;\n\t\t}\n\t\treturn getLegend({\n\t\t\tdataSource: top,\n\t\t\tconfig: config!,\n\t\t\tvalue: top.data.average,\n\t\t});\n\t}, [top]);\n\tconst bottomLegendDefinition = useMemo(() => {\n\t\tif (!bottom) {\n\t\t\treturn;\n\t\t}\n\t\treturn getLegend({\n\t\t\tdataSource: bottom,\n\t\t\tconfig: config!,\n\t\t\tvalue: bottom.data.average,\n\t\t});\n\t}, [bottom]);\n\n\treturn (\n\t\t<LinkedCell\n\t\t\tbold\n\t\t\tsize={size}\n\t\t\ttop={{\n\t\t\t\tdataSource: {\n\t\t\t\t\t...top,\n\t\t\t\t\tdata: {\n\t\t\t\t\t\tcurrent: top.data.average,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tlegendDefinition: topLegendDefinition,\n\t\t\t\tvalue: top.data.average,\n\t\t\t}}\n\t\t\tbottom={{\n\t\t\t\tdataSource: {\n\t\t\t\t\t...bottom,\n\t\t\t\t\tdata: {\n\t\t\t\t\t\tcurrent: bottom.data.average,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tlegendDefinition: bottomLegendDefinition,\n\t\t\t\tvalue: bottom.data.average,\n\t\t\t}}\n\t\t/>\n\t);\n}\n\nfunction DataSourceAverageCell(\n\tprops: CellContext<ScorecardTableData, ScorecardTableAverageCellConfig>,\n) {\n\tconst size = props.cell.column.getSize();\n\tconst dataConfig = useMemo(() => props.getValue(), [props.getValue()]);\n\tconst { cellData: dataSources, loading } =\n\t\tuseDataHolderAverageCellValue(dataConfig);\n\n\tif (loading) {\n\t\treturn <CellLoader size={size} />;\n\t}\n\n\tif (!isEmpty(dataSources)) {\n\t\tif (dataSources?.length === 1) {\n\t\t\treturn (\n\t\t\t\t<SingleAverageCell\n\t\t\t\t\tsize={size}\n\t\t\t\t\tdataSource={head(dataSources)!}\n\t\t\t\t/>\n\t\t\t);\n\t\t} else {\n\t\t\treturn <LinkedAverageCell size={size} dataSources={dataSources!} />;\n\t\t}\n\t}\n\n\treturn <DataTableCell bordered style={{ width: size }} />;\n}\n\nfunction OrgUnitAverageCell(\n\tprops: CellContext<ScorecardTableData, ScorecardTableAverageCellConfig>,\n) {\n\tconst size = props.cell.column.getSize();\n\tconst dataConfig = useMemo(() => props.getValue(), [props.getValue()]);\n\tconst { loading, average } = useOrgUnitAverageCellValue(dataConfig);\n\n\tif (loading) {\n\t\treturn <CellLoader size={size} />;\n\t}\n\n\tif (isNaN(average as number)) {\n\t\treturn (\n\t\t\t<DataTableCell\n\t\t\t\tstyle={{ width: size }}\n\t\t\t\tbordered\n\t\t\t\talign=\"center\"\n\t\t\t\tkey={props.row.id}\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<DataTableCell\n\t\t\tstyle={{ width: size }}\n\t\t\tbordered\n\t\t\talign=\"center\"\n\t\t\tkey={props.row.id}\n\t\t>\n\t\t\t<b>{average?.toFixed(2).toString()}</b>\n\t\t</DataTableCell>\n\t);\n}\n\nexport function AverageCell(\n\tprops: CellContext<ScorecardTableData, ScorecardTableAverageCellConfig>,\n) {\n\tconst showDataInRows =\n\t\tuseScorecardViewStateValue<boolean>(\"showDataInRows\");\n\n\tif (showDataInRows) {\n\t\treturn <DataSourceAverageCell {...props} />;\n\t}\n\n\treturn <OrgUnitAverageCell {...props} />;\n}\n"]}
@@ -3,14 +3,14 @@
3
3
  var jsxRuntime = require('react/jsx-runtime');
4
4
  var ui = require('@dhis2/ui');
5
5
  var react = require('react');
6
- var viewState = require('../../../utils/viewState');
6
+ var utils = require('../../../utils');
7
7
 
8
8
  const DataValue = react.memo(function DataValue2({
9
9
  dataSource,
10
10
  value,
11
11
  bold
12
12
  }) {
13
- const showArrows = viewState.useScorecardViewStateValue("arrows");
13
+ const showArrows = utils.useScorecardViewStateValue("arrows");
14
14
  const currentValue = dataSource.data.current;
15
15
  const previousValue = dataSource.data.previous;
16
16
  const showArrow = react.useMemo(() => {
@@ -59,7 +59,7 @@ const DataValue = react.memo(function DataValue2({
59
59
  children: [
60
60
  showArrow === "decreasing" && /* @__PURE__ */ jsxRuntime.jsx(ui.IconArrowDown16, {}),
61
61
  showArrow === "increasing" && /* @__PURE__ */ jsxRuntime.jsx(ui.IconArrowUp16, {}),
62
- bold ? /* @__PURE__ */ jsxRuntime.jsx("b", { children: currentValue?.toFixed(2).toString() ?? "" }) : currentValue?.toFixed(2).toString() ?? ""
62
+ bold ? /* @__PURE__ */ jsxRuntime.jsx("b", { children: isNaN(currentValue) ? "" : currentValue?.toFixed(2).toString() ?? "" }) : isNaN(currentValue) ? "" : currentValue?.toFixed(2).toString() ?? ""
63
63
  ]
64
64
  }
65
65
  );
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ScorecardTable/components/DataValue.tsx"],"names":["memo","DataValue","useScorecardViewStateValue","useMemo","jsx","jsxs","IconArrowDown16","IconArrowUp16"],"mappings":";;;;;;;AAKa,MAAA,SAAA,GAAYA,UAAK,CAAA,SAASC,UAAU,CAAA;AAAA,EAChD,UAAA;AAAA,EACA,KAAA;AAAA,EACA;AACD,CAIG,EAAA;AACF,EAAM,MAAA,UAAA,GAAaC,qCAAoC,QAAQ,CAAA;AAC/D,EAAM,MAAA,YAAA,GAAe,WAAW,IAAK,CAAA,OAAA;AACrC,EAAM,MAAA,aAAA,GAAgB,WAAW,IAAK,CAAA,QAAA;AACtC,EAAM,MAAA,SAAA,GAAqDC,cAAQ,MAAM;AACxE,IAAA,IAAI,CAAC,UAAY,EAAA;AAChB,MAAA;AAAA;AAGD,IAAI,IAAA,CAAC,aAAiB,IAAA,CAAC,YAAc,EAAA;AACpC,MAAA;AAAA;AAGD,IAAA,MAAM,eAAe,UAAW,CAAA,YAAA;AAChC,IAAA,MAAM,GAAM,GAAA,IAAA,CAAK,GAAI,CAAA,aAAA,GAAgB,YAAY,CAAA;AACjD,IAAA,IAAI,MAAM,YAAc,EAAA;AACvB,MAAA;AAAA;AAGD,IAAA,IAAI,kBAAkB,YAAc,EAAA;AACnC,MAAA;AAAA;AAGD,IAAO,OAAA,YAAA,GAAe,gBAAgB,YAAe,GAAA,YAAA;AAAA,KACnD,CAAC,YAAA,EAAc,WAAW,YAAc,EAAA,UAAA,EAAY,aAAa,CAAC,CAAA;AAErE,EAAA,IAAI,KAAS,IAAA,CAAC,UAAW,CAAA,IAAA,CAAK,OAAS,EAAA;AACtC,IAAI,IAAA,KAAA,CAAM,KAAe,CAAG,EAAA;AAC3B,MAAO,OAAA,EAAA;AAAA;AAER,IACC,uBAAAC,cAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACA,KAAO,EAAA;AAAA,UACN,OAAS,EAAA,MAAA;AAAA,UACT,UAAY,EAAA,QAAA;AAAA,UACZ,cAAgB,EAAA,QAAA;AAAA,UAChB,GAAK,EAAA;AAAA,SACN;AAAA,QAEC,iCACCA,cAAA,CAAA,GAAA,EAAA,EAAG,QAAO,EAAA,KAAA,EAAA,OAAA,CAAQ,CAAC,CAAE,CAAA,QAAA,EAAc,IAAA,EAAA,EAAG,IAEtC,KAAO,EAAA,OAAA,CAAQ,CAAC,CAAA,CAAE,UAAc,IAAA;AAAA;AAAA,KAEnC;AAAA;AAIF,EACC,uBAAAC,eAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,KAAO,EAAA;AAAA,QACN,OAAS,EAAA,MAAA;AAAA,QACT,UAAY,EAAA,QAAA;AAAA,QACZ,cAAgB,EAAA,QAAA;AAAA,QAChB,GAAK,EAAA;AAAA,OACN;AAAA,MAEC,QAAA,EAAA;AAAA,QAAc,SAAA,KAAA,YAAA,mCAAiBC,kBAAgB,EAAA,EAAA,CAAA;AAAA,QAC/C,SAAA,KAAc,YAAgB,oBAAAF,cAAA,CAACG,gBAAc,EAAA,EAAA,CAAA;AAAA,QAC7C,uBACCH,cAAA,CAAA,GAAA,EAAA,EAAG,QAAc,EAAA,YAAA,EAAA,OAAA,CAAQ,CAAC,CAAE,CAAA,QAAA,EAAc,IAAA,EAAA,EAAG,IAE7C,YAAc,EAAA,OAAA,CAAQ,CAAC,CAAA,CAAE,UAAc,IAAA;AAAA;AAAA;AAAA,GAE1C;AAEF,CAAC","file":"DataValue.js","sourcesContent":["import { IconArrowDown16, IconArrowUp16 } from \"@dhis2/ui\";\nimport { memo, useMemo } from \"react\";\nimport type { ScorecardCellData } from \"../../../schemas/config\";\nimport { useScorecardViewStateValue } from \"../../../utils/viewState\";\n\nexport const DataValue = memo(function DataValue({\n\tdataSource,\n\tvalue,\n\tbold,\n}: {\n\tdataSource: ScorecardCellData;\n\tvalue?: number;\n\tbold?: boolean;\n}) {\n\tconst showArrows = useScorecardViewStateValue<boolean>(\"arrows\");\n\tconst currentValue = dataSource.data.current;\n\tconst previousValue = dataSource.data.previous;\n\tconst showArrow: \"decreasing\" | \"increasing\" | undefined = useMemo(() => {\n\t\tif (!showArrows) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!previousValue || !currentValue) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst effectiveGap = dataSource.effectiveGap;\n\t\tconst gap = Math.abs(previousValue - currentValue);\n\t\tif (gap < effectiveGap) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (previousValue === currentValue) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn currentValue > previousValue ? \"increasing\" : \"decreasing\";\n\t}, [currentValue, dataSource.effectiveGap, showArrows, previousValue]);\n\n\tif (value && !dataSource.data.current) {\n\t\tif (isNaN(value as number)) {\n\t\t\treturn \"\";\n\t\t}\n\t\treturn (\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\tjustifyContent: \"center\",\n\t\t\t\t\tgap: 4,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{bold ? (\n\t\t\t\t\t<b>{value?.toFixed(2).toString() ?? \"\"}</b>\n\t\t\t\t) : (\n\t\t\t\t\t(value?.toFixed(2).toString() ?? \"\")\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tstyle={{\n\t\t\t\tdisplay: \"flex\",\n\t\t\t\talignItems: \"center\",\n\t\t\t\tjustifyContent: \"center\",\n\t\t\t\tgap: 2,\n\t\t\t}}\n\t\t>\n\t\t\t{showArrow === \"decreasing\" && <IconArrowDown16 />}\n\t\t\t{showArrow === \"increasing\" && <IconArrowUp16 />}\n\t\t\t{bold ? (\n\t\t\t\t<b>{currentValue?.toFixed(2).toString() ?? \"\"}</b>\n\t\t\t) : (\n\t\t\t\t(currentValue?.toFixed(2).toString() ?? \"\")\n\t\t\t)}\n\t\t</div>\n\t);\n});\n"]}
1
+ {"version":3,"sources":["../../../../src/components/ScorecardTable/components/DataValue.tsx"],"names":["memo","DataValue","useScorecardViewStateValue","useMemo","jsx","jsxs","IconArrowDown16","IconArrowUp16"],"mappings":";;;;;;;AAKa,MAAA,SAAA,GAAYA,UAAK,CAAA,SAASC,UAAU,CAAA;AAAA,EAChD,UAAA;AAAA,EACA,KAAA;AAAA,EACA;AACD,CAIG,EAAA;AACF,EAAM,MAAA,UAAA,GAAaC,iCAAoC,QAAQ,CAAA;AAC/D,EAAM,MAAA,YAAA,GAAe,WAAW,IAAK,CAAA,OAAA;AACrC,EAAM,MAAA,aAAA,GAAgB,WAAW,IAAK,CAAA,QAAA;AACtC,EAAM,MAAA,SAAA,GAAqDC,cAAQ,MAAM;AACxE,IAAA,IAAI,CAAC,UAAY,EAAA;AAChB,MAAA;AAAA;AAGD,IAAI,IAAA,CAAC,aAAiB,IAAA,CAAC,YAAc,EAAA;AACpC,MAAA;AAAA;AAGD,IAAA,MAAM,eAAe,UAAW,CAAA,YAAA;AAChC,IAAA,MAAM,GAAM,GAAA,IAAA,CAAK,GAAI,CAAA,aAAA,GAAgB,YAAY,CAAA;AACjD,IAAA,IAAI,MAAM,YAAc,EAAA;AACvB,MAAA;AAAA;AAGD,IAAA,IAAI,kBAAkB,YAAc,EAAA;AACnC,MAAA;AAAA;AAGD,IAAO,OAAA,YAAA,GAAe,gBAAgB,YAAe,GAAA,YAAA;AAAA,KACnD,CAAC,YAAA,EAAc,WAAW,YAAc,EAAA,UAAA,EAAY,aAAa,CAAC,CAAA;AAErE,EAAA,IAAI,KAAS,IAAA,CAAC,UAAW,CAAA,IAAA,CAAK,OAAS,EAAA;AACtC,IAAI,IAAA,KAAA,CAAM,KAAe,CAAG,EAAA;AAC3B,MAAO,OAAA,EAAA;AAAA;AAER,IACC,uBAAAC,cAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACA,KAAO,EAAA;AAAA,UACN,OAAS,EAAA,MAAA;AAAA,UACT,UAAY,EAAA,QAAA;AAAA,UACZ,cAAgB,EAAA,QAAA;AAAA,UAChB,GAAK,EAAA;AAAA,SACN;AAAA,QAEC,iCACCA,cAAA,CAAA,GAAA,EAAA,EAAG,QAAO,EAAA,KAAA,EAAA,OAAA,CAAQ,CAAC,CAAE,CAAA,QAAA,EAAc,IAAA,EAAA,EAAG,IAEtC,KAAO,EAAA,OAAA,CAAQ,CAAC,CAAA,CAAE,UAAc,IAAA;AAAA;AAAA,KAEnC;AAAA;AAIF,EACC,uBAAAC,eAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,KAAO,EAAA;AAAA,QACN,OAAS,EAAA,MAAA;AAAA,QACT,UAAY,EAAA,QAAA;AAAA,QACZ,cAAgB,EAAA,QAAA;AAAA,QAChB,GAAK,EAAA;AAAA,OACN;AAAA,MAEC,QAAA,EAAA;AAAA,QAAc,SAAA,KAAA,YAAA,mCAAiBC,kBAAgB,EAAA,EAAA,CAAA;AAAA,QAC/C,SAAA,KAAc,YAAgB,oBAAAF,cAAA,CAACG,gBAAc,EAAA,EAAA,CAAA;AAAA,QAC7C,IAAA,mBACCH,cAAA,CAAA,GAAA,EAAA,EACC,QAAM,EAAA,KAAA,CAAA,YAAsB,IAC1B,EACC,GAAA,YAAA,EAAc,OAAQ,CAAA,CAAC,CAAE,CAAA,QAAA,MAAc,EAC5C,EAAA,CAAA,GACG,KAAM,CAAA,YAAsB,CAC/B,GAAA,EAAA,GAEC,cAAc,OAAQ,CAAA,CAAC,CAAE,CAAA,QAAA,EAAc,IAAA;AAAA;AAAA;AAAA,GAE1C;AAEF,CAAC","file":"DataValue.js","sourcesContent":["import { IconArrowDown16, IconArrowUp16 } from \"@dhis2/ui\";\nimport { memo, useMemo } from \"react\";\nimport type { ScorecardCellData } from \"../../../schemas/config\";\nimport { useScorecardViewStateValue } from \"../../../utils\";\n\nexport const DataValue = memo(function DataValue({\n\tdataSource,\n\tvalue,\n\tbold,\n}: {\n\tdataSource: ScorecardCellData;\n\tvalue?: number;\n\tbold?: boolean;\n}) {\n\tconst showArrows = useScorecardViewStateValue<boolean>(\"arrows\");\n\tconst currentValue = dataSource.data.current;\n\tconst previousValue = dataSource.data.previous;\n\tconst showArrow: \"decreasing\" | \"increasing\" | undefined = useMemo(() => {\n\t\tif (!showArrows) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!previousValue || !currentValue) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst effectiveGap = dataSource.effectiveGap;\n\t\tconst gap = Math.abs(previousValue - currentValue);\n\t\tif (gap < effectiveGap) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (previousValue === currentValue) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn currentValue > previousValue ? \"increasing\" : \"decreasing\";\n\t}, [currentValue, dataSource.effectiveGap, showArrows, previousValue]);\n\n\tif (value && !dataSource.data.current) {\n\t\tif (isNaN(value as number)) {\n\t\t\treturn \"\";\n\t\t}\n\t\treturn (\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\tjustifyContent: \"center\",\n\t\t\t\t\tgap: 4,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{bold ? (\n\t\t\t\t\t<b>{value?.toFixed(2).toString() ?? \"\"}</b>\n\t\t\t\t) : (\n\t\t\t\t\t(value?.toFixed(2).toString() ?? \"\")\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tstyle={{\n\t\t\t\tdisplay: \"flex\",\n\t\t\t\talignItems: \"center\",\n\t\t\t\tjustifyContent: \"center\",\n\t\t\t\tgap: 2,\n\t\t\t}}\n\t\t>\n\t\t\t{showArrow === \"decreasing\" && <IconArrowDown16 />}\n\t\t\t{showArrow === \"increasing\" && <IconArrowUp16 />}\n\t\t\t{bold ? (\n\t\t\t\t<b>\n\t\t\t\t\t{isNaN(currentValue as number)\n\t\t\t\t\t\t? \"\"\n\t\t\t\t\t\t: (currentValue?.toFixed(2).toString() ?? \"\")}\n\t\t\t\t</b>\n\t\t\t) : isNaN(currentValue as number) ? (\n\t\t\t\t\"\"\n\t\t\t) : (\n\t\t\t\t(currentValue?.toFixed(2).toString() ?? \"\")\n\t\t\t)}\n\t\t</div>\n\t);\n});\n"]}
@@ -35,7 +35,7 @@ function PaginatedToolbar() {
35
35
  {
36
36
  style: { position: "unset" },
37
37
  position: "bottom",
38
- children: /* @__PURE__ */ jsxRuntime.jsx("div", { style: { width: "100%" }, children: /* @__PURE__ */ jsxRuntime.jsx(
38
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { style: { width: "stretch" }, children: /* @__PURE__ */ jsxRuntime.jsx(
39
39
  ui.Pagination,
40
40
  {
41
41
  total: rowCount,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ScorecardTable/components/PaginatedToolbar.tsx"],"names":["useTransition","useTableState","useToggleTableLoadingState","page","pageSize","useUpdateEffect","jsx","DataTableToolbar","Pagination"],"mappings":";;;;;;;;AAQO,SAAS,gBAAmB,GAAA;AAClC,EAAA,MAAM,CAAC,SAAA,EAAW,eAAe,CAAA,GAAIA,mBAAc,EAAA;AACnD,EAAA,MAAM,QAAQC,gCAAc,EAAA;AAC5B,EAAM,MAAA,QAAA,GAAW,MAAM,WAAY,EAAA;AACnC,EAAA,MAAM,IAAO,GAAA,KAAA,CAAM,QAAS,EAAA,CAAE,WAAW,SAAY,GAAA,CAAA;AACrD,EAAA,MAAM,QAAW,GAAA,KAAA,CAAM,QAAS,EAAA,CAAE,UAAW,CAAA,QAAA;AAC7C,EAAM,MAAA,SAAA,GAAY,MAAM,YAAa,EAAA;AACrC,EAAA,MAAM,qBAAqBC,6CAA2B,EAAA;AAEtD,EAAM,MAAA,YAAA,GAAe,CAACC,KAAiB,KAAA;AACtC,IAAA,eAAA,CAAgB,MAAM;AACrB,MAAM,KAAA,CAAA,YAAA,CAAaA,QAAO,CAAC,CAAA;AAAA,KAC3B,CAAA;AAAA,GACF;AACA,EAAM,MAAA,gBAAA,GAAmB,CAACC,SAAqB,KAAA;AAC9C,IAAA,eAAA,CAAgB,MAAM;AACrB,MAAA,KAAA,CAAM,YAAYA,SAAQ,CAAA;AAAA,KAC1B,CAAA;AAAA,GACF;AAEA,EAAAC,0BAAA,CAAgB,MAAM;AACrB,IAAmB,kBAAA,EAAA;AAAA,GACpB,EAAG,CAAC,SAAS,CAAC,CAAA;AAEd,EAAA,IACC,QAAY,IAAA,EAAA,IACX,KAAM,CAAA,OAAA,CAAQ,MACZ,iBACF,EAAA;AACD,IAAO,OAAA,IAAA;AAAA;AAGR,EACC,uBAAAC,cAAA;AAAA,IAACC,mBAAA;AAAA,IAAA;AAAA,MAGA,KAAA,EAAO,EAAE,QAAA,EAAU,OAAQ,EAAA;AAAA,MAC3B,QAAS,EAAA,QAAA;AAAA,MAET,yCAAC,KAAI,EAAA,EAAA,KAAA,EAAO,EAAE,KAAA,EAAO,QACpB,EAAA,QAAA,kBAAAD,cAAA;AAAA,QAACE,aAAA;AAAA,QAAA;AAAA,UACA,KAAO,EAAA,QAAA;AAAA,UACP,SAAA;AAAA,UACA,SAAA,EAAW,CAAC,EAAI,EAAA,EAAA,EAAI,IAAI,EAAI,EAAA,EAAA,EAAI,GAAG,CAAE,CAAA,GAAA;AAAA,YAAI,CAAC,IACzC,KAAA,IAAA,CAAK,QAAS;AAAA,WACf;AAAA,UACA,IAAA;AAAA,UACA,QAAA;AAAA,UACA,YAAA;AAAA,UACA;AAAA;AAAA,OAEF,EAAA;AAAA;AAAA,GACD;AAEF","file":"PaginatedToolbar.js","sourcesContent":["import { DataTableToolbar, Pagination } from \"@dhis2/ui\";\nimport {\n\tuseTableState,\n\tuseToggleTableLoadingState,\n} from \"../../TableStateProvider\";\nimport { useTransition } from \"react\";\nimport { useUpdateEffect } from \"usehooks-ts\";\n\nexport function PaginatedToolbar() {\n\tconst [isPending, startTransition] = useTransition();\n\tconst table = useTableState();\n\tconst rowCount = table.getRowCount();\n\tconst page = table.getState().pagination.pageIndex + 1;\n\tconst pageSize = table.getState().pagination.pageSize;\n\tconst pageCount = table.getPageCount();\n\tconst toggleTableLoading = useToggleTableLoadingState();\n\n\tconst onPageChange = (page: number) => {\n\t\tstartTransition(() => {\n\t\t\ttable.setPageIndex(page - 1);\n\t\t});\n\t};\n\tconst onPageSizeChange = (pageSize: number) => {\n\t\tstartTransition(() => {\n\t\t\ttable.setPageSize(pageSize);\n\t\t});\n\t};\n\n\tuseUpdateEffect(() => {\n\t\ttoggleTableLoading();\n\t}, [isPending]);\n\n\tif (\n\t\trowCount <= 50 ||\n\t\t(table.options.meta as { disablePagination?: boolean })\n\t\t\t?.disablePagination\n\t) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<DataTableToolbar\n\t\t\t/*\n\t\t\t// @ts-ignore */\n\t\t\tstyle={{ position: \"unset\" }}\n\t\t\tposition=\"bottom\"\n\t\t>\n\t\t\t<div style={{ width: \"100%\" }}>\n\t\t\t\t<Pagination\n\t\t\t\t\ttotal={rowCount}\n\t\t\t\t\tpageCount={pageCount}\n\t\t\t\t\tpageSizes={[10, 20, 30, 40, 50, 100].map((size) =>\n\t\t\t\t\t\tsize.toString(),\n\t\t\t\t\t)}\n\t\t\t\t\tpage={page}\n\t\t\t\t\tpageSize={pageSize}\n\t\t\t\t\tonPageChange={onPageChange}\n\t\t\t\t\tonPageSizeChange={onPageSizeChange}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</DataTableToolbar>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../../src/components/ScorecardTable/components/PaginatedToolbar.tsx"],"names":["useTransition","useTableState","useToggleTableLoadingState","page","pageSize","useUpdateEffect","jsx","DataTableToolbar","Pagination"],"mappings":";;;;;;;;AAQO,SAAS,gBAAmB,GAAA;AAClC,EAAA,MAAM,CAAC,SAAA,EAAW,eAAe,CAAA,GAAIA,mBAAc,EAAA;AACnD,EAAA,MAAM,QAAQC,gCAAc,EAAA;AAC5B,EAAM,MAAA,QAAA,GAAW,MAAM,WAAY,EAAA;AACnC,EAAA,MAAM,IAAO,GAAA,KAAA,CAAM,QAAS,EAAA,CAAE,WAAW,SAAY,GAAA,CAAA;AACrD,EAAA,MAAM,QAAW,GAAA,KAAA,CAAM,QAAS,EAAA,CAAE,UAAW,CAAA,QAAA;AAC7C,EAAM,MAAA,SAAA,GAAY,MAAM,YAAa,EAAA;AACrC,EAAA,MAAM,qBAAqBC,6CAA2B,EAAA;AAEtD,EAAM,MAAA,YAAA,GAAe,CAACC,KAAiB,KAAA;AACtC,IAAA,eAAA,CAAgB,MAAM;AACrB,MAAM,KAAA,CAAA,YAAA,CAAaA,QAAO,CAAC,CAAA;AAAA,KAC3B,CAAA;AAAA,GACF;AACA,EAAM,MAAA,gBAAA,GAAmB,CAACC,SAAqB,KAAA;AAC9C,IAAA,eAAA,CAAgB,MAAM;AACrB,MAAA,KAAA,CAAM,YAAYA,SAAQ,CAAA;AAAA,KAC1B,CAAA;AAAA,GACF;AAEA,EAAAC,0BAAA,CAAgB,MAAM;AACrB,IAAmB,kBAAA,EAAA;AAAA,GACpB,EAAG,CAAC,SAAS,CAAC,CAAA;AAEd,EAAA,IACC,QAAY,IAAA,EAAA,IACX,KAAM,CAAA,OAAA,CAAQ,MACZ,iBACF,EAAA;AACD,IAAO,OAAA,IAAA;AAAA;AAGR,EACC,uBAAAC,cAAA;AAAA,IAACC,mBAAA;AAAA,IAAA;AAAA,MAGA,KAAA,EAAO,EAAE,QAAA,EAAU,OAAQ,EAAA;AAAA,MAC3B,QAAS,EAAA,QAAA;AAAA,MAET,yCAAC,KAAI,EAAA,EAAA,KAAA,EAAO,EAAE,KAAA,EAAO,WACpB,EAAA,QAAA,kBAAAD,cAAA;AAAA,QAACE,aAAA;AAAA,QAAA;AAAA,UACA,KAAO,EAAA,QAAA;AAAA,UACP,SAAA;AAAA,UACA,SAAA,EAAW,CAAC,EAAI,EAAA,EAAA,EAAI,IAAI,EAAI,EAAA,EAAA,EAAI,GAAG,CAAE,CAAA,GAAA;AAAA,YAAI,CAAC,IACzC,KAAA,IAAA,CAAK,QAAS;AAAA,WACf;AAAA,UACA,IAAA;AAAA,UACA,QAAA;AAAA,UACA,YAAA;AAAA,UACA;AAAA;AAAA,OAEF,EAAA;AAAA;AAAA,GACD;AAEF","file":"PaginatedToolbar.js","sourcesContent":["import { DataTableToolbar, Pagination } from \"@dhis2/ui\";\nimport {\n\tuseTableState,\n\tuseToggleTableLoadingState,\n} from \"../../TableStateProvider\";\nimport { useTransition } from \"react\";\nimport { useUpdateEffect } from \"usehooks-ts\";\n\nexport function PaginatedToolbar() {\n\tconst [isPending, startTransition] = useTransition();\n\tconst table = useTableState();\n\tconst rowCount = table.getRowCount();\n\tconst page = table.getState().pagination.pageIndex + 1;\n\tconst pageSize = table.getState().pagination.pageSize;\n\tconst pageCount = table.getPageCount();\n\tconst toggleTableLoading = useToggleTableLoadingState();\n\n\tconst onPageChange = (page: number) => {\n\t\tstartTransition(() => {\n\t\t\ttable.setPageIndex(page - 1);\n\t\t});\n\t};\n\tconst onPageSizeChange = (pageSize: number) => {\n\t\tstartTransition(() => {\n\t\t\ttable.setPageSize(pageSize);\n\t\t});\n\t};\n\n\tuseUpdateEffect(() => {\n\t\ttoggleTableLoading();\n\t}, [isPending]);\n\n\tif (\n\t\trowCount <= 50 ||\n\t\t(table.options.meta as { disablePagination?: boolean })\n\t\t\t?.disablePagination\n\t) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<DataTableToolbar\n\t\t\t/*\n\t\t\t// @ts-ignore */\n\t\t\tstyle={{ position: \"unset\" }}\n\t\t\tposition=\"bottom\"\n\t\t>\n\t\t\t<div style={{ width: \"stretch\" }}>\n\t\t\t\t<Pagination\n\t\t\t\t\ttotal={rowCount}\n\t\t\t\t\tpageCount={pageCount}\n\t\t\t\t\tpageSizes={[10, 20, 30, 40, 50, 100].map((size) =>\n\t\t\t\t\t\tsize.toString(),\n\t\t\t\t\t)}\n\t\t\t\t\tpage={page}\n\t\t\t\t\tpageSize={pageSize}\n\t\t\t\t\tonPageChange={onPageChange}\n\t\t\t\t\tonPageSizeChange={onPageSizeChange}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</DataTableToolbar>\n\t);\n}\n"]}
@@ -71,7 +71,7 @@ function SingleDataCellComponent({
71
71
  },
72
72
  onContextMenu: (e) => {
73
73
  e.preventDefault();
74
- if (disableFurtherAnalysis) {
74
+ if (!disableFurtherAnalysis) {
75
75
  setStateActionRef(e.target);
76
76
  }
77
77
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ScorecardTable/components/SingleDataCell.tsx"],"names":["useScorecardViewStateValue","useState","head","useCellData","jsx","DataTableCell","jsxs","Fragment","FurtherAnalysis","getTextColorFromBackgroundColor","DataValue","FurtherAnalysisMenu","memo"],"mappings":";;;;;;;;;;;;;AAsBA,SAAS,uBAAwB,CAAA;AAAA,EAChC,WAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA;AAAA,EACA;AACD,CAAmC,EAAA;AAClC,EAAA,MAAM,sBAAyB,GAAAA,gCAAA;AAAA,IAC9B;AAAA,GACD;AACA,EAAA,MAAM,CAAC,qBAAA,EAAuB,wBAAwB,CAAA,GACrDC,eAAuC,IAAI,CAAA;AAC5C,EAAM,MAAA,UAAA,GAAaC,YAAK,WAAW,CAAA;AACnC,EAAA,MAAM,CAAC,cAAA,EAAgB,iBAAiB,CAAA,GAAID,eAAS,MAAS,CAAA;AAE9D,EAAM,MAAA,EAAE,gBAAiB,EAAA,GAAIE,oBAAY,CAAA;AAAA,IACxC,UAAA;AAAA,IACA,MAAA;AAAA,IACA;AAAA,GACA,CAAA;AAED,EAAA,IAAI,CAAC,UAAA,IAAc,CAAC,UAAA,CAAW,IAAM,EAAA;AACpC,IAAO,uBAAAC,cAAA,CAACC,gBAAc,EAAA,EAAA,QAAA,EAAQ,IAAC,EAAA,CAAA;AAAA;AAGhC,EAAA,uBAEGC,eAAA,CAAAC,mBAAA,EAAA,EAAA,QAAA,EAAA;AAAA,IAAA,CAAC,CAAC,qBACF,oBAAAH,cAAA;AAAA,MAACI,oCAAA;AAAA,MAAA;AAAA,QACA,SAAS,MAAM;AACd,UAAA,wBAAA,CAAyB,IAAI,CAAA;AAAA,SAC9B;AAAA,QACA,MAAM,CAAC,qBAAA;AAAA,QACP,MAAQ,EAAA;AAAA;AAAA,KACT;AAAA,oBAEDJ,cAAA;AAAA,MAACC,gBAAA;AAAA,MAAA;AAAA,QACA,OAAA,EAAS,CAAC,KAAU,KAAA;AACnB,UAAA,KAAA,CAAM,eAAgB,EAAA;AACtB,UAAA,IAAI,CAAC,sBAAwB,EAAA;AAC5B,YAAyB,wBAAA,CAAA;AAAA,cACxB,eAAiB,EAAA;AAAA,gBAChB,OAAS,EAAA;AAAA,kBACR;AAAA,oBACC,EAAI,EAAA;AAAA;AACL;AACD,eACD;AAAA,cACA,gBAAkB,EAAA;AAAA,gBACjB,QAAQ,EAAC;AAAA,gBACT,QAAQ,EAAC;AAAA,gBACT,QAAU,EAAA;AAAA,kBACT;AAAA,oBACC,IAAI,OAAQ,CAAA;AAAA;AACb;AACD,eACD;AAAA,cACA;AAAA,aACA,CAAA;AAAA;AACF,SACD;AAAA,QACA,aAAA,EAAe,CAAC,CAAW,KAAA;AAC1B,UAAA,CAAA,CAAE,cAAe,EAAA;AACjB,UAAA,IAAI,sBAAwB,EAAA;AAC3B,YAAA,iBAAA,CAAkB,EAAE,MAAM,CAAA;AAAA;AAC3B,SACD;AAAA,QACA,QAAQ,EAAA,IAAA;AAAA,QACR,KAAO,EAAA;AAAA,UACN,YAAY,gBAAkB,EAAA,KAAA;AAAA,UAC9B,SAAW,EAAA,QAAA;AAAA,UACX,KAAO,EAAA,IAAA;AAAA,UACP,QAAU,EAAA,GAAA;AAAA,UACV,MAAQ,EAAA,EAAA;AAAA,UACR,OAAO,gBACJ,GAAAI,uCAAA;AAAA,YACA,gBAAkB,EAAA;AAAA,WAElB,GAAA;AAAA,SACJ;AAAA,QAEC,QAAA,EAAA,UAAA,oBAAeL,cAAA,CAAAM,mBAAA,EAAA,EAAU,UAAwB,EAAA;AAAA;AAAA,KACnD;AAAA,IAEC,cACA,oBAAAN,cAAA;AAAA,MAACO,uCAAA;AAAA,MAAA;AAAA,QACA,WAAA;AAAA,QACA,QAAU,EAAA,wBAAA;AAAA,QACV,cAAA;AAAA,QACA,iBAAA;AAAA,QACA,OAAA;AAAA,QACA,QAAU,EAAA;AAAA;AAAA;AACX,GAEF,EAAA,CAAA;AAEF;AAEa,MAAA,cAAA,GAAiBC,WAAK,uBAAuB","file":"SingleDataCell.js","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\";\nimport { useScorecardViewStateValue } from \"../../../utils\";\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 disableFurtherAnalysis = useScorecardViewStateValue<boolean>(\n\t\t\"disableFurtherAnalysis\",\n\t);\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\tif (!disableFurtherAnalysis) {\n\t\t\t\t\t\tsetFurtherAnalysisConfig({\n\t\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tid: period,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\torgUnitSelection: {\n\t\t\t\t\t\t\t\tlevels: [],\n\t\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tdataSources,\n\t\t\t\t\t\t});\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\tif (disableFurtherAnalysis) {\n\t\t\t\t\t\tsetStateActionRef(e.target);\n\t\t\t\t\t}\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"]}
1
+ {"version":3,"sources":["../../../../src/components/ScorecardTable/components/SingleDataCell.tsx"],"names":["useScorecardViewStateValue","useState","head","useCellData","jsx","DataTableCell","jsxs","Fragment","FurtherAnalysis","getTextColorFromBackgroundColor","DataValue","FurtherAnalysisMenu","memo"],"mappings":";;;;;;;;;;;;;AAsBA,SAAS,uBAAwB,CAAA;AAAA,EAChC,WAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA;AAAA,EACA;AACD,CAAmC,EAAA;AAClC,EAAA,MAAM,sBAAyB,GAAAA,gCAAA;AAAA,IAC9B;AAAA,GACD;AACA,EAAA,MAAM,CAAC,qBAAA,EAAuB,wBAAwB,CAAA,GACrDC,eAAuC,IAAI,CAAA;AAC5C,EAAM,MAAA,UAAA,GAAaC,YAAK,WAAW,CAAA;AACnC,EAAA,MAAM,CAAC,cAAA,EAAgB,iBAAiB,CAAA,GAAID,eAAS,MAAS,CAAA;AAE9D,EAAM,MAAA,EAAE,gBAAiB,EAAA,GAAIE,oBAAY,CAAA;AAAA,IACxC,UAAA;AAAA,IACA,MAAA;AAAA,IACA;AAAA,GACA,CAAA;AAED,EAAA,IAAI,CAAC,UAAA,IAAc,CAAC,UAAA,CAAW,IAAM,EAAA;AACpC,IAAO,uBAAAC,cAAA,CAACC,gBAAc,EAAA,EAAA,QAAA,EAAQ,IAAC,EAAA,CAAA;AAAA;AAGhC,EAAA,uBAEGC,eAAA,CAAAC,mBAAA,EAAA,EAAA,QAAA,EAAA;AAAA,IAAA,CAAC,CAAC,qBACF,oBAAAH,cAAA;AAAA,MAACI,oCAAA;AAAA,MAAA;AAAA,QACA,SAAS,MAAM;AACd,UAAA,wBAAA,CAAyB,IAAI,CAAA;AAAA,SAC9B;AAAA,QACA,MAAM,CAAC,qBAAA;AAAA,QACP,MAAQ,EAAA;AAAA;AAAA,KACT;AAAA,oBAEDJ,cAAA;AAAA,MAACC,gBAAA;AAAA,MAAA;AAAA,QACA,OAAA,EAAS,CAAC,KAAU,KAAA;AACnB,UAAA,KAAA,CAAM,eAAgB,EAAA;AACtB,UAAA,IAAI,CAAC,sBAAwB,EAAA;AAC5B,YAAyB,wBAAA,CAAA;AAAA,cACxB,eAAiB,EAAA;AAAA,gBAChB,OAAS,EAAA;AAAA,kBACR;AAAA,oBACC,EAAI,EAAA;AAAA;AACL;AACD,eACD;AAAA,cACA,gBAAkB,EAAA;AAAA,gBACjB,QAAQ,EAAC;AAAA,gBACT,QAAQ,EAAC;AAAA,gBACT,QAAU,EAAA;AAAA,kBACT;AAAA,oBACC,IAAI,OAAQ,CAAA;AAAA;AACb;AACD,eACD;AAAA,cACA;AAAA,aACA,CAAA;AAAA;AACF,SACD;AAAA,QACA,aAAA,EAAe,CAAC,CAAW,KAAA;AAC1B,UAAA,CAAA,CAAE,cAAe,EAAA;AACjB,UAAA,IAAI,CAAC,sBAAwB,EAAA;AAC5B,YAAA,iBAAA,CAAkB,EAAE,MAAM,CAAA;AAAA;AAC3B,SACD;AAAA,QACA,QAAQ,EAAA,IAAA;AAAA,QACR,KAAO,EAAA;AAAA,UACN,YAAY,gBAAkB,EAAA,KAAA;AAAA,UAC9B,SAAW,EAAA,QAAA;AAAA,UACX,KAAO,EAAA,IAAA;AAAA,UACP,QAAU,EAAA,GAAA;AAAA,UACV,MAAQ,EAAA,EAAA;AAAA,UACR,OAAO,gBACJ,GAAAI,uCAAA;AAAA,YACA,gBAAkB,EAAA;AAAA,WAElB,GAAA;AAAA,SACJ;AAAA,QAEC,QAAA,EAAA,UAAA,oBAAeL,cAAA,CAAAM,mBAAA,EAAA,EAAU,UAAwB,EAAA;AAAA;AAAA,KACnD;AAAA,IAEC,cACA,oBAAAN,cAAA;AAAA,MAACO,uCAAA;AAAA,MAAA;AAAA,QACA,WAAA;AAAA,QACA,QAAU,EAAA,wBAAA;AAAA,QACV,cAAA;AAAA,QACA,iBAAA;AAAA,QACA,OAAA;AAAA,QACA,QAAU,EAAA;AAAA;AAAA;AACX,GAEF,EAAA,CAAA;AAEF;AAEa,MAAA,cAAA,GAAiBC,WAAK,uBAAuB","file":"SingleDataCell.js","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\";\nimport { useScorecardViewStateValue } from \"../../../utils\";\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 disableFurtherAnalysis = useScorecardViewStateValue<boolean>(\n\t\t\"disableFurtherAnalysis\",\n\t);\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\tif (!disableFurtherAnalysis) {\n\t\t\t\t\t\tsetFurtherAnalysisConfig({\n\t\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tid: period,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\torgUnitSelection: {\n\t\t\t\t\t\t\t\tlevels: [],\n\t\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tdataSources,\n\t\t\t\t\t\t});\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\tif (!disableFurtherAnalysis) {\n\t\t\t\t\t\tsetStateActionRef(e.target);\n\t\t\t\t\t}\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"]}
@@ -6,7 +6,7 @@ var ui = require('@dhis2/ui');
6
6
  var i18n = require('@dhis2/d2-i18n');
7
7
  var DraggableCell = require('../../DraggableCell');
8
8
  var DroppableCell = require('../../DroppableCell');
9
- var viewState = require('../../../../../utils/viewState');
9
+ var utils = require('../../../../../utils');
10
10
 
11
11
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
12
12
 
@@ -23,7 +23,7 @@ function DataHeaderCellComponent({
23
23
  column,
24
24
  header
25
25
  }) {
26
- const dataInRows = viewState.useScorecardViewStateValue("showDataInRows");
26
+ const dataInRows = utils.useScorecardViewStateValue("showDataInRows");
27
27
  const label = header.column.columnDef.meta.label ?? column.columnDef.meta.label;
28
28
  const bold = header.column.columnDef.meta.bold ?? column.columnDef.meta.bold;
29
29
  const colSpan = header.colSpan.toString();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.tsx"],"names":["jsx","DataTableColumnHeader","useScorecardViewStateValue","i18n","DroppableCell","ScorecardDraggableItems","DraggableCell"],"mappings":";;;;;;;;;;;;;;;AAWO,SAAS,mBAAoB,CAAA;AAAA,EACnC;AACD,CAA2C,EAAA;AAC1C,EAAM,MAAA,OAAA,GAAU,MAAO,CAAA,OAAA,CAAQ,QAAS,EAAA;AACxC,EAAO,uBAAAA,cAAA,CAACC,4BAAsB,OAAkB,EAAA,CAAA;AACjD;AAEO,SAAS,uBAAwB,CAAA;AAAA,EACvC,MAAA;AAAA,EACA;AACD,CAA2C,EAAA;AAC1C,EAAM,MAAA,UAAA,GAAaC,qCAAoC,gBAAgB,CAAA;AACvE,EAAM,MAAA,KAAA,GACJ,OAAO,MAAO,CAAA,SAAA,CAAU,KAA2B,KACnD,IAAA,MAAA,CAAO,UAAU,IAA2B,CAAA,KAAA;AAE9C,EAAM,MAAA,IAAA,GACJ,OAAO,MAAO,CAAA,SAAA,CAAU,KAA4B,IACpD,IAAA,MAAA,CAAO,UAAU,IAA4B,CAAA,IAAA;AAE/C,EAAM,MAAA,OAAA,GAAU,MAAO,CAAA,OAAA,CAAQ,QAAS,EAAA;AAExC,EAAA,MAAM,gBAAgB,CAAC,MAAA,EAAQ,aAC5B,GAAA,SAAA,GACC,OAAQ,WAAY,EAAA;AACxB,EAAA,MAAM,eACL,MAAQ,EAAA,mBAAA,OAA0B,KAC/B,GAAAC,qBAAA,CAAK,EAAE,oBAAoB,CAAA,GAC3B,QAAQ,mBAAoB,EAAA,KAAM,SACjCA,qBAAK,CAAA,CAAA,CAAE,qBAAqB,CAC5B,GAAAA,qBAAA,CAAK,EAAE,SAAS,CAAA;AAErB,EACC,uBAAAH,cAAA;AAAA,IAACC,wBAAA;AAAA,IAAA;AAAA,MAEA,eAAeE,qBAAK,CAAA,CAAA,CAAE,uBAAyB,EAAA,EAAE,cAAc,CAAA;AAAA,MAC/D,eAAA,EACC,MAAO,CAAA,MAAA,EAAQ,UAAW,EAAA,IAAK,OAAO,UAAW,EAAA,GAC9C,CAAC,CAAA,EAAG,CAAM,KAAA;AACV,QAAM,MAAA,IAAA,GAAO,OAAQ,uBAAwB,EAAA;AAC7C,QAAA,IAAI,IAAM,EAAA;AACT,UAAA,IAAA,CAAK,CAAC,CAAA;AAAA;AACP,OAEA,GAAA,MAAA;AAAA,MAEJ,aAAA,EACC,OAAO,MAAQ,EAAA,UAAA,MAAgB,MAAO,CAAA,UAAA,KACnC,aACA,GAAA,MAAA;AAAA,MAEJ,KAAM,EAAA,QAAA;AAAA,MACN,OAAA;AAAA,MAEA,QAAA,kBAAAH,cAAA;AAAA,QAACI,8BAAA;AAAA,QAAA;AAAA,UACA,MAAA,EACC,aACG,CAACC,8BAAA,CAAwB,IAAI,CAC7B,GAAA,CAACA,+BAAwB,EAAE,CAAA;AAAA,UAG/B,QAAA,kBAAAL,cAAA;AAAA,YAACM,2BAAA;AAAA,YAAA;AAAA,cACA,EAAI,EAAA,KAAA;AAAA,cACJ,IACC,EAAA,UAAA,GACGD,8BAAwB,CAAA,EAAA,GACxBA,8BAAwB,CAAA,IAAA;AAAA,cAG3B,QAAO,EAAA,IAAA,mBAAAL,cAAA,CAAC,GAAG,EAAA,EAAA,QAAA,EAAA,KAAA,EAAM,CAAO,GAAA;AAAA;AAAA;AAC1B;AAAA;AACD,KAAA;AAAA,IArCK,GAAG,KAAK,CAAA;AAAA,GAsCd;AAEF;AAEO,MAAM,cAAiB,GAAA","file":"DataHeaderCell.js","sourcesContent":["import type { HeaderContext } from \"@tanstack/react-table\";\nimport {\n\tScorecardDraggableItems,\n\ttype ScorecardTableData,\n} from \"../../../../../schemas/config\";\nimport { DataTableColumnHeader, type DataTableSortDirection } from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { DraggableCell } from \"../../DraggableCell\";\nimport DroppableCell from \"../../DroppableCell\";\nimport { useScorecardViewStateValue } from \"../../../../../utils/viewState\";\n\nexport function EmptyDataHeaderCell({\n\theader,\n}: HeaderContext<ScorecardTableData, any>) {\n\tconst colSpan = header.colSpan.toString();\n\treturn <DataTableColumnHeader colSpan={colSpan} />;\n}\n\nexport function DataHeaderCellComponent({\n\tcolumn,\n\theader,\n}: HeaderContext<ScorecardTableData, any>) {\n\tconst dataInRows = useScorecardViewStateValue<boolean>(\"showDataInRows\");\n\tconst label =\n\t\t(header.column.columnDef.meta as { label: string }).label ??\n\t\t(column.columnDef.meta as { label: string }).label;\n\n\tconst bold =\n\t\t(header.column.columnDef.meta as { bold?: boolean }).bold ??\n\t\t(column.columnDef.meta as { bold?: boolean }).bold;\n\n\tconst colSpan = header.colSpan.toString();\n\n\tconst sortDirection = !column?.getIsSorted()\n\t\t? \"default\"\n\t\t: (column!.getIsSorted() as DataTableSortDirection);\n\tconst nextSortType =\n\t\tcolumn?.getNextSortingOrder() === \"asc\"\n\t\t\t? i18n.t(\"in ascending order\")\n\t\t\t: column?.getNextSortingOrder() === \"desc\"\n\t\t\t\t? i18n.t(\"in descending order\")\n\t\t\t\t: i18n.t(\"disable\");\n\n\treturn (\n\t\t<DataTableColumnHeader\n\t\t\tkey={`${label}`}\n\t\t\tsortIconTitle={i18n.t(\"Sort {{nextSortType}}\", { nextSortType })}\n\t\t\tonSortIconClick={\n\t\t\t\theader.column?.getCanSort() || column.getCanSort()\n\t\t\t\t\t? (_, e) => {\n\t\t\t\t\t\t\tconst sort = column!.getToggleSortingHandler();\n\t\t\t\t\t\t\tif (sort) {\n\t\t\t\t\t\t\t\tsort(e);\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\tsortDirection={\n\t\t\t\theader.column?.getCanSort() || column.getCanSort()\n\t\t\t\t\t? sortDirection\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t\talign=\"center\"\n\t\t\tcolSpan={colSpan}\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.data]\n\t\t\t\t\t\t: [ScorecardDraggableItems.ou]\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<DraggableCell\n\t\t\t\t\tid={label}\n\t\t\t\t\ttype={\n\t\t\t\t\t\tdataInRows\n\t\t\t\t\t\t\t? ScorecardDraggableItems.ou\n\t\t\t\t\t\t\t: ScorecardDraggableItems.data\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{bold ? <b>{label}</b> : label}\n\t\t\t\t</DraggableCell>\n\t\t\t</DroppableCell>\n\t\t</DataTableColumnHeader>\n\t);\n}\n\nexport const DataHeaderCell = DataHeaderCellComponent;\n"]}
1
+ {"version":3,"sources":["../../../../../../src/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.tsx"],"names":["jsx","DataTableColumnHeader","useScorecardViewStateValue","i18n","DroppableCell","ScorecardDraggableItems","DraggableCell"],"mappings":";;;;;;;;;;;;;;;AAWO,SAAS,mBAAoB,CAAA;AAAA,EACnC;AACD,CAA2C,EAAA;AAC1C,EAAM,MAAA,OAAA,GAAU,MAAO,CAAA,OAAA,CAAQ,QAAS,EAAA;AACxC,EAAO,uBAAAA,cAAA,CAACC,4BAAsB,OAAkB,EAAA,CAAA;AACjD;AAEO,SAAS,uBAAwB,CAAA;AAAA,EACvC,MAAA;AAAA,EACA;AACD,CAA2C,EAAA;AAC1C,EAAM,MAAA,UAAA,GAAaC,iCAAoC,gBAAgB,CAAA;AACvE,EAAM,MAAA,KAAA,GACJ,OAAO,MAAO,CAAA,SAAA,CAAU,KAA2B,KACnD,IAAA,MAAA,CAAO,UAAU,IAA2B,CAAA,KAAA;AAE9C,EAAM,MAAA,IAAA,GACJ,OAAO,MAAO,CAAA,SAAA,CAAU,KAA4B,IACpD,IAAA,MAAA,CAAO,UAAU,IAA4B,CAAA,IAAA;AAE/C,EAAM,MAAA,OAAA,GAAU,MAAO,CAAA,OAAA,CAAQ,QAAS,EAAA;AAExC,EAAA,MAAM,gBAAgB,CAAC,MAAA,EAAQ,aAC5B,GAAA,SAAA,GACC,OAAQ,WAAY,EAAA;AACxB,EAAA,MAAM,eACL,MAAQ,EAAA,mBAAA,OAA0B,KAC/B,GAAAC,qBAAA,CAAK,EAAE,oBAAoB,CAAA,GAC3B,QAAQ,mBAAoB,EAAA,KAAM,SACjCA,qBAAK,CAAA,CAAA,CAAE,qBAAqB,CAC5B,GAAAA,qBAAA,CAAK,EAAE,SAAS,CAAA;AAErB,EACC,uBAAAH,cAAA;AAAA,IAACC,wBAAA;AAAA,IAAA;AAAA,MAEA,eAAeE,qBAAK,CAAA,CAAA,CAAE,uBAAyB,EAAA,EAAE,cAAc,CAAA;AAAA,MAC/D,eAAA,EACC,MAAO,CAAA,MAAA,EAAQ,UAAW,EAAA,IAAK,OAAO,UAAW,EAAA,GAC9C,CAAC,CAAA,EAAG,CAAM,KAAA;AACV,QAAM,MAAA,IAAA,GAAO,OAAQ,uBAAwB,EAAA;AAC7C,QAAA,IAAI,IAAM,EAAA;AACT,UAAA,IAAA,CAAK,CAAC,CAAA;AAAA;AACP,OAEA,GAAA,MAAA;AAAA,MAEJ,aAAA,EACC,OAAO,MAAQ,EAAA,UAAA,MAAgB,MAAO,CAAA,UAAA,KACnC,aACA,GAAA,MAAA;AAAA,MAEJ,KAAM,EAAA,QAAA;AAAA,MACN,OAAA;AAAA,MAEA,QAAA,kBAAAH,cAAA;AAAA,QAACI,8BAAA;AAAA,QAAA;AAAA,UACA,MAAA,EACC,aACG,CAACC,8BAAA,CAAwB,IAAI,CAC7B,GAAA,CAACA,+BAAwB,EAAE,CAAA;AAAA,UAG/B,QAAA,kBAAAL,cAAA;AAAA,YAACM,2BAAA;AAAA,YAAA;AAAA,cACA,EAAI,EAAA,KAAA;AAAA,cACJ,IACC,EAAA,UAAA,GACGD,8BAAwB,CAAA,EAAA,GACxBA,8BAAwB,CAAA,IAAA;AAAA,cAG3B,QAAO,EAAA,IAAA,mBAAAL,cAAA,CAAC,GAAG,EAAA,EAAA,QAAA,EAAA,KAAA,EAAM,CAAO,GAAA;AAAA;AAAA;AAC1B;AAAA;AACD,KAAA;AAAA,IArCK,GAAG,KAAK,CAAA;AAAA,GAsCd;AAEF;AAEO,MAAM,cAAiB,GAAA","file":"DataHeaderCell.js","sourcesContent":["import type { HeaderContext } from \"@tanstack/react-table\";\nimport {\n\tScorecardDraggableItems,\n\ttype ScorecardTableData,\n} from \"../../../../../schemas/config\";\nimport { DataTableColumnHeader, type DataTableSortDirection } from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { DraggableCell } from \"../../DraggableCell\";\nimport DroppableCell from \"../../DroppableCell\";\nimport { useScorecardViewStateValue } from \"../../../../../utils\";\n\nexport function EmptyDataHeaderCell({\n\theader,\n}: HeaderContext<ScorecardTableData, any>) {\n\tconst colSpan = header.colSpan.toString();\n\treturn <DataTableColumnHeader colSpan={colSpan} />;\n}\n\nexport function DataHeaderCellComponent({\n\tcolumn,\n\theader,\n}: HeaderContext<ScorecardTableData, any>) {\n\tconst dataInRows = useScorecardViewStateValue<boolean>(\"showDataInRows\");\n\tconst label =\n\t\t(header.column.columnDef.meta as { label: string }).label ??\n\t\t(column.columnDef.meta as { label: string }).label;\n\n\tconst bold =\n\t\t(header.column.columnDef.meta as { bold?: boolean }).bold ??\n\t\t(column.columnDef.meta as { bold?: boolean }).bold;\n\n\tconst colSpan = header.colSpan.toString();\n\n\tconst sortDirection = !column?.getIsSorted()\n\t\t? \"default\"\n\t\t: (column!.getIsSorted() as DataTableSortDirection);\n\tconst nextSortType =\n\t\tcolumn?.getNextSortingOrder() === \"asc\"\n\t\t\t? i18n.t(\"in ascending order\")\n\t\t\t: column?.getNextSortingOrder() === \"desc\"\n\t\t\t\t? i18n.t(\"in descending order\")\n\t\t\t\t: i18n.t(\"disable\");\n\n\treturn (\n\t\t<DataTableColumnHeader\n\t\t\tkey={`${label}`}\n\t\t\tsortIconTitle={i18n.t(\"Sort {{nextSortType}}\", { nextSortType })}\n\t\t\tonSortIconClick={\n\t\t\t\theader.column?.getCanSort() || column.getCanSort()\n\t\t\t\t\t? (_, e) => {\n\t\t\t\t\t\t\tconst sort = column!.getToggleSortingHandler();\n\t\t\t\t\t\t\tif (sort) {\n\t\t\t\t\t\t\t\tsort(e);\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\tsortDirection={\n\t\t\t\theader.column?.getCanSort() || column.getCanSort()\n\t\t\t\t\t? sortDirection\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t\talign=\"center\"\n\t\t\tcolSpan={colSpan}\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.data]\n\t\t\t\t\t\t: [ScorecardDraggableItems.ou]\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<DraggableCell\n\t\t\t\t\tid={label}\n\t\t\t\t\ttype={\n\t\t\t\t\t\tdataInRows\n\t\t\t\t\t\t\t? ScorecardDraggableItems.ou\n\t\t\t\t\t\t\t: ScorecardDraggableItems.data\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{bold ? <b>{label}</b> : label}\n\t\t\t\t</DraggableCell>\n\t\t\t</DroppableCell>\n\t\t</DataTableColumnHeader>\n\t);\n}\n\nexport const DataHeaderCell = DataHeaderCellComponent;\n"]}
@@ -7,7 +7,7 @@ var DroppableCell = require('../../DroppableCell');
7
7
  var DraggableCell = require('../../DraggableCell');
8
8
  var react = require('react');
9
9
  var lodash = require('lodash');
10
- var viewState = require('../../../../../utils/viewState');
10
+ var utils = require('../../../../../utils');
11
11
 
12
12
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
13
13
 
@@ -16,13 +16,13 @@ var DroppableCell__default = /*#__PURE__*/_interopDefault(DroppableCell);
16
16
  function LabelCellComponent(props) {
17
17
  const data = props.getValue();
18
18
  const size = props.cell.column.getSize();
19
- const dataInRows = viewState.useScorecardViewStateValue("showDataInRows");
20
- const showHierarchy = viewState.useScorecardViewStateValue("showHierarchy");
21
- const inPrintMode = viewState.useScorecardViewStateValue("printMode");
19
+ const dataInRows = utils.useScorecardViewStateValue("showDataInRows");
20
+ const showHierarchy = utils.useScorecardViewStateValue("showHierarchy");
21
+ const inPrintMode = utils.useScorecardViewStateValue("printMode");
22
22
  const left = react.useMemo(() => {
23
23
  const index = props.row.getVisibleCells().findIndex(({ id }) => props.cell.id === id);
24
24
  return index * 48;
25
- }, [props.row.getVisibleCells(), props.cell.id]);
25
+ }, [props.cell.id, props.row]);
26
26
  const label = react.useMemo(() => {
27
27
  if (dataInRows) {
28
28
  return data.label ?? "";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/components/ScorecardTable/components/TableHeader/components/LabelCell.tsx"],"names":["useScorecardViewStateValue","useMemo","isEmpty","jsx","DataTableCell","DroppableCell","ScorecardDraggableItems","DraggableCell"],"mappings":";;;;;;;;;;;;;;;AAYO,SAAS,mBACf,KAOC,EAAA;AACD,EAAM,MAAA,IAAA,GAAO,MAAM,QAAS,EAAA;AAC5B,EAAA,MAAM,IAAO,GAAA,KAAA,CAAM,IAAK,CAAA,MAAA,CAAO,OAAQ,EAAA;AACvC,EAAM,MAAA,UAAA,GAAaA,qCAAoC,gBAAgB,CAAA;AACvE,EAAM,MAAA,aAAA,GAAgBA,qCAAoC,eAAe,CAAA;AAEzE,EAAM,MAAA,WAAA,GAAcA,qCAAoC,WAAW,CAAA;AAEnE,EAAM,MAAA,IAAA,GAAOC,cAAQ,MAAM;AAC1B,IAAA,MAAM,KAAQ,GAAA,KAAA,CAAM,GAClB,CAAA,eAAA,EACA,CAAA,SAAA,CAAU,CAAC,EAAE,EAAG,EAAA,KAAM,KAAM,CAAA,IAAA,CAAK,OAAO,EAAE,CAAA;AAC5C,IAAA,OAAO,KAAQ,GAAA,EAAA;AAAA,GAChB,EAAG,CAAC,KAAM,CAAA,GAAA,CAAI,iBAAmB,EAAA,KAAA,CAAM,IAAK,CAAA,EAAE,CAAC,CAAA;AAE/C,EAAM,MAAA,KAAA,GAAQA,cAAQ,MAAM;AAC3B,IAAA,IAAI,UAAY,EAAA;AACf,MAAA,OAAO,KAAK,KAAS,IAAA,EAAA;AAAA;AAEtB,IAAA,IAAI,aAAe,EAAA;AAClB,MAAA,OACC,KAAK,OAAS,EAAA,SAAA,CACZ,KAAM,CAAA,GAAG,EACT,MAAO,CAAA,CAAC,GAAQ,KAAA,CAACC,eAAQ,GAAG,CAAC,CAC7B,CAAA,IAAA,CAAK,KAAK,CAAK,IAAA,EAAA;AAAA;AAGnB,IAAA,OAAO,KAAK,KAAS,IAAA,EAAA;AAAA,GACnB,EAAA,CAAC,IAAM,EAAA,aAAA,EAAe,UAAU,CAAC,CAAA;AAEpC,EACC,uBAAAC,cAAA;AAAA,IAACC,gBAAA;AAAA,IAAA;AAAA,MACA,SAAU,EAAA,YAAA;AAAA,MACV,KAAK,EAAA,IAAA;AAAA,MACL,KAAA,EAAO,GAAG,IAAI,CAAA,EAAA,CAAA;AAAA,MACd,KAAO,EAAA;AAAA,QACN,KAAA,EAAO,cAAc,MAAS,GAAA,IAAA;AAAA,QAC9B,QAAA,EAAU,cAAc,MAAY,GAAA;AAAA,OACrC;AAAA,MAGA,IAAA,EAAM,GAAG,IAAI,CAAA,EAAA,CAAA;AAAA,MACb,QAAQ,EAAA,IAAA;AAAA,MACR,KAAM,EAAA,MAAA;AAAA,MAEN,QAAA,kBAAAD,cAAA;AAAA,QAACE,8BAAA;AAAA,QAAA;AAAA,UACA,MAAA,EACC,aACG,CAACC,8BAAA,CAAwB,EAAE,CAC3B,GAAA,CAACA,+BAAwB,IAAI,CAAA;AAAA,UAGjC,QAAA,kBAAAH,cAAA;AAAA,YAACI,2BAAA;AAAA,YAAA;AAAA,cACA,EAAI,EAAA,KAAA;AAAA,cACJ,IACC,EAAA,UAAA,GACGD,8BAAwB,CAAA,IAAA,GACxBA,8BAAwB,CAAA,EAAA;AAAA,cAG3B,QAAA,EAAA;AAAA;AAAA;AACF;AAAA;AACD;AAAA,GACD;AAEF;AAEO,MAAM,SAAY,GAAA","file":"LabelCell.js","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 { useMemo } from \"react\";\nimport { isEmpty } from \"lodash\";\nimport { useScorecardViewStateValue } from \"../../../../../utils/viewState\";\n\nexport function LabelCellComponent(\n\tprops: CellContext<\n\t\tScorecardTableData,\n\t\t{\n\t\t\tlabel: string;\n\t\t\torgUnit?: { uid: string; hierarchy: string; name: string };\n\t\t}\n\t>,\n) {\n\tconst data = props.getValue();\n\tconst size = props.cell.column.getSize();\n\tconst dataInRows = useScorecardViewStateValue<boolean>(\"showDataInRows\");\n\tconst showHierarchy = useScorecardViewStateValue<boolean>(\"showHierarchy\");\n\n\tconst inPrintMode = useScorecardViewStateValue<boolean>(\"printMode\");\n\n\tconst left = useMemo(() => {\n\t\tconst index = props.row\n\t\t\t.getVisibleCells()\n\t\t\t.findIndex(({ id }) => props.cell.id === id);\n\t\treturn index * 48;\n\t}, [props.row.getVisibleCells(), props.cell.id]);\n\n\tconst label = useMemo(() => {\n\t\tif (dataInRows) {\n\t\t\treturn data.label ?? \"\";\n\t\t}\n\t\tif (showHierarchy) {\n\t\t\treturn (\n\t\t\t\tdata.orgUnit?.hierarchy\n\t\t\t\t\t.split(\"/\")\n\t\t\t\t\t.filter((val) => !isEmpty(val))\n\t\t\t\t\t.join(\" / \") ?? \"\"\n\t\t\t);\n\t\t}\n\t\treturn data.label ?? \"\";\n\t}, [data, showHierarchy, dataInRows]);\n\n\treturn (\n\t\t<DataTableCell\n\t\t\tclassName=\"label-cell\"\n\t\t\tfixed\n\t\t\twidth={`${size}px`}\n\t\t\tstyle={{\n\t\t\t\twidth: inPrintMode ? \"auto\" : size,\n\t\t\t\tminWidth: inPrintMode ? undefined : size,\n\t\t\t}}\n\t\t\t/*\n // @ts-ignore */\n\t\t\tleft={`${left}px`}\n\t\t\tbordered\n\t\t\talign=\"left\"\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\tid={label}\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{label}\n\t\t\t\t</DraggableCell>\n\t\t\t</DroppableCell>\n\t\t</DataTableCell>\n\t);\n}\n\nexport const LabelCell = LabelCellComponent;\n"]}
1
+ {"version":3,"sources":["../../../../../../src/components/ScorecardTable/components/TableHeader/components/LabelCell.tsx"],"names":["useScorecardViewStateValue","useMemo","isEmpty","jsx","DataTableCell","DroppableCell","ScorecardDraggableItems","DraggableCell"],"mappings":";;;;;;;;;;;;;;;AAYO,SAAS,mBACf,KAOC,EAAA;AACD,EAAM,MAAA,IAAA,GAAO,MAAM,QAAS,EAAA;AAC5B,EAAA,MAAM,IAAO,GAAA,KAAA,CAAM,IAAK,CAAA,MAAA,CAAO,OAAQ,EAAA;AACvC,EAAM,MAAA,UAAA,GAAaA,iCAAoC,gBAAgB,CAAA;AACvE,EAAM,MAAA,aAAA,GAAgBA,iCAAoC,eAAe,CAAA;AAEzE,EAAM,MAAA,WAAA,GAAcA,iCAAoC,WAAW,CAAA;AAEnE,EAAM,MAAA,IAAA,GAAOC,cAAQ,MAAM;AAC1B,IAAA,MAAM,KAAQ,GAAA,KAAA,CAAM,GAClB,CAAA,eAAA,EACA,CAAA,SAAA,CAAU,CAAC,EAAE,EAAG,EAAA,KAAM,KAAM,CAAA,IAAA,CAAK,OAAO,EAAE,CAAA;AAC5C,IAAA,OAAO,KAAQ,GAAA,EAAA;AAAA,KACb,CAAC,KAAA,CAAM,KAAK,EAAI,EAAA,KAAA,CAAM,GAAG,CAAC,CAAA;AAE7B,EAAM,MAAA,KAAA,GAAQA,cAAQ,MAAM;AAC3B,IAAA,IAAI,UAAY,EAAA;AACf,MAAA,OAAO,KAAK,KAAS,IAAA,EAAA;AAAA;AAEtB,IAAA,IAAI,aAAe,EAAA;AAClB,MAAA,OACC,KAAK,OAAS,EAAA,SAAA,CACZ,KAAM,CAAA,GAAG,EACT,MAAO,CAAA,CAAC,GAAQ,KAAA,CAACC,eAAQ,GAAG,CAAC,CAC7B,CAAA,IAAA,CAAK,KAAK,CAAK,IAAA,EAAA;AAAA;AAGnB,IAAA,OAAO,KAAK,KAAS,IAAA,EAAA;AAAA,GACnB,EAAA,CAAC,IAAM,EAAA,aAAA,EAAe,UAAU,CAAC,CAAA;AAEpC,EACC,uBAAAC,cAAA;AAAA,IAACC,gBAAA;AAAA,IAAA;AAAA,MACA,SAAU,EAAA,YAAA;AAAA,MACV,KAAK,EAAA,IAAA;AAAA,MACL,KAAA,EAAO,GAAG,IAAI,CAAA,EAAA,CAAA;AAAA,MACd,KAAO,EAAA;AAAA,QACN,KAAA,EAAO,cAAc,MAAS,GAAA,IAAA;AAAA,QAC9B,QAAA,EAAU,cAAc,MAAY,GAAA;AAAA,OACrC;AAAA,MAGA,IAAA,EAAM,GAAG,IAAI,CAAA,EAAA,CAAA;AAAA,MACb,QAAQ,EAAA,IAAA;AAAA,MACR,KAAM,EAAA,MAAA;AAAA,MAEN,QAAA,kBAAAD,cAAA;AAAA,QAACE,8BAAA;AAAA,QAAA;AAAA,UACA,MAAA,EACC,aACG,CAACC,8BAAA,CAAwB,EAAE,CAC3B,GAAA,CAACA,+BAAwB,IAAI,CAAA;AAAA,UAGjC,QAAA,kBAAAH,cAAA;AAAA,YAACI,2BAAA;AAAA,YAAA;AAAA,cACA,EAAI,EAAA,KAAA;AAAA,cACJ,IACC,EAAA,UAAA,GACGD,8BAAwB,CAAA,IAAA,GACxBA,8BAAwB,CAAA,EAAA;AAAA,cAG3B,QAAA,EAAA;AAAA;AAAA;AACF;AAAA;AACD;AAAA,GACD;AAEF;AAEO,MAAM,SAAY,GAAA","file":"LabelCell.js","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 { useMemo } from \"react\";\nimport { isEmpty } from \"lodash\";\nimport { useScorecardViewStateValue } from \"../../../../../utils\";\n\nexport function LabelCellComponent(\n\tprops: CellContext<\n\t\tScorecardTableData,\n\t\t{\n\t\t\tlabel: string;\n\t\t\torgUnit?: { uid: string; hierarchy: string; name: string };\n\t\t}\n\t>,\n) {\n\tconst data = props.getValue();\n\tconst size = props.cell.column.getSize();\n\tconst dataInRows = useScorecardViewStateValue<boolean>(\"showDataInRows\");\n\tconst showHierarchy = useScorecardViewStateValue<boolean>(\"showHierarchy\");\n\n\tconst inPrintMode = useScorecardViewStateValue<boolean>(\"printMode\");\n\n\tconst left = useMemo(() => {\n\t\tconst index = props.row\n\t\t\t.getVisibleCells()\n\t\t\t.findIndex(({ id }) => props.cell.id === id);\n\t\treturn index * 48;\n\t}, [props.cell.id, props.row]);\n\n\tconst label = useMemo(() => {\n\t\tif (dataInRows) {\n\t\t\treturn data.label ?? \"\";\n\t\t}\n\t\tif (showHierarchy) {\n\t\t\treturn (\n\t\t\t\tdata.orgUnit?.hierarchy\n\t\t\t\t\t.split(\"/\")\n\t\t\t\t\t.filter((val) => !isEmpty(val))\n\t\t\t\t\t.join(\" / \") ?? \"\"\n\t\t\t);\n\t\t}\n\t\treturn data.label ?? \"\";\n\t}, [data, showHierarchy, dataInRows]);\n\n\treturn (\n\t\t<DataTableCell\n\t\t\tclassName=\"label-cell\"\n\t\t\tfixed\n\t\t\twidth={`${size}px`}\n\t\t\tstyle={{\n\t\t\t\twidth: inPrintMode ? \"auto\" : size,\n\t\t\t\tminWidth: inPrintMode ? undefined : size,\n\t\t\t}}\n\t\t\t/*\n // @ts-ignore */\n\t\t\tleft={`${left}px`}\n\t\t\tbordered\n\t\t\talign=\"left\"\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\tid={label}\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{label}\n\t\t\t\t</DraggableCell>\n\t\t\t</DroppableCell>\n\t\t</DataTableCell>\n\t);\n}\n\nexport const LabelCell = LabelCellComponent;\n"]}
@@ -7,8 +7,7 @@ var styles = require('../TableHeader.module.css');
7
7
  var FilterArea = require('./FilterArea');
8
8
  var dhis2Utils = require('@hisptz/dhis2-utils');
9
9
  var react = require('react');
10
- var viewState = require('../../../../../utils/viewState');
11
- var dimensionState = require('../../../../../utils/dimensionState');
10
+ var utils = require('../../../../../utils');
12
11
 
13
12
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
14
13
 
@@ -19,8 +18,8 @@ function MetaHeaderCellComponent({
19
18
  header
20
19
  }) {
21
20
  const randomId = react.useRef(dhis2Utils.uid());
22
- const hasOnePeriod = dimensionState.useHasOnePeriod();
23
- const dataInRows = viewState.useScorecardViewStateValue("showDataInRows");
21
+ const hasOnePeriod = utils.useHasOnePeriod();
22
+ const dataInRows = utils.useScorecardViewStateValue("showDataInRows");
24
23
  const rowSpan = dataInRows ? hasOnePeriod ? "2" : "2" : hasOnePeriod ? "2" : "3";
25
24
  const filterColumn = header.subHeaders.find(
26
25
  (header2) => header2.column.getCanFilter()
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.tsx"],"names":["useRef","uid","useHasOnePeriod","useScorecardViewStateValue","header","i18n","jsx","DataTableColumnHeader","styles","FilterArea","memo"],"mappings":";;;;;;;;;;;;;;;;;AAWA,SAAS,uBAAwB,CAAA;AAAA,EAChC;AACD,CAA2C,EAAA;AAC1C,EAAM,MAAA,QAAA,GAAWA,YAAe,CAAAC,cAAA,EAAK,CAAA;AAErC,EAAA,MAAM,eAAeC,8BAAgB,EAAA;AACrC,EAAM,MAAA,UAAA,GAAaC,qCAAoC,gBAAgB,CAAA;AAEvE,EAAA,MAAM,UAAU,UACb,GAAA,YAAA,GACC,GACA,GAAA,GAAA,GACD,eACC,GACA,GAAA,GAAA;AAEJ,EAAM,MAAA,YAAA,GAAe,OAAO,UAAW,CAAA,IAAA;AAAA,IAAK,CAACC,OAAAA,KAC5CA,OAAO,CAAA,MAAA,CAAO,YAAa;AAAA,GACzB,EAAA,MAAA;AAEH,EAAA,MAAM,gBAAgB,CAAC,YAAA,EAAc,aAClC,GAAA,SAAA,GACC,aAAc,WAAY,EAAA;AAC9B,EAAA,MAAM,eACL,YAAc,EAAA,mBAAA,OAA0B,KACrC,GAAAC,qBAAA,CAAK,EAAE,oBAAoB,CAAA,GAC3B,cAAc,mBAAoB,EAAA,KAAM,SACvCA,qBAAK,CAAA,CAAA,CAAE,qBAAqB,CAC5B,GAAAA,qBAAA,CAAK,EAAE,SAAS,CAAA;AAErB,EACC,uBAAAC,cAAA;AAAA,IAACC,wBAAA;AAAA,IAAA;AAAA,MAEA,KAAM,EAAA,QAAA;AAAA,MACN,eAAeF,qBAAK,CAAA,CAAA,CAAE,uBAAyB,EAAA,EAAE,cAAc,CAAA;AAAA,MAC/D,eAAA,EAAiB,CAAC,CAAA,EAAG,CAAM,KAAA;AAC1B,QAAM,MAAA,IAAA,GAAO,aAAc,uBAAwB,EAAA;AACnD,QAAA,IAAI,IAAM,EAAA;AACT,UAAA,IAAA,CAAK,CAAC,CAAA;AAAA;AACP,OACD;AAAA,MACA,KAAK,EAAA,IAAA;AAAA,MAGL,IAAK,EAAA,GAAA;AAAA,MACL,aAAA;AAAA,MACA,OAAA,EAAS,MAAO,CAAA,OAAA,CAAQ,QAAS,EAAA;AAAA,MACjC,OAAA;AAAA,MACA,WAAWG,uBAAO,CAAA,UAAA;AAAA,MAEjB,QAAA,EAAA,CAAC,CAAC,YACF,oBAAAF,cAAA;AAAA,QAACG,qBAAA;AAAA,QAAA;AAAA,UAEA,MAAQ,EAAA;AAAA,SAAA;AAAA,QADH,CAAA,EAAG,OAAO,EAAE,CAAA,YAAA;AAAA;AAElB,KAAA;AAAA,IAtBI,CAAG,EAAA,MAAA,CAAO,EAAE,CAAA,CAAA,EAAI,SAAS,OAAO,CAAA;AAAA,GAwBtC;AAEF;AAEa,MAAA,cAAA,GAAiBC,WAAK,uBAAuB","file":"MetaHeaderCell.js","sourcesContent":["import type { HeaderContext } from \"@tanstack/react-table\";\nimport type { ScorecardTableData } from \"../../../../../schemas/config\";\nimport { DataTableColumnHeader, type DataTableSortDirection } from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport styles from \"../TableHeader.module.css\";\nimport { FilterArea } from \"./FilterArea\";\nimport { uid } from \"@hisptz/dhis2-utils\";\nimport { memo, useRef } from \"react\";\nimport { useScorecardViewStateValue } from \"../../../../../utils/viewState\";\nimport { useHasOnePeriod } from \"../../../../../utils/dimensionState\";\n\nfunction MetaHeaderCellComponent({\n\theader,\n}: HeaderContext<ScorecardTableData, any>) {\n\tconst randomId = useRef<string>(uid());\n\n\tconst hasOnePeriod = useHasOnePeriod();\n\tconst dataInRows = useScorecardViewStateValue<boolean>(\"showDataInRows\");\n\n\tconst rowSpan = dataInRows\n\t\t? hasOnePeriod\n\t\t\t? \"2\"\n\t\t\t: \"2\"\n\t\t: hasOnePeriod\n\t\t\t? \"2\"\n\t\t\t: \"3\";\n\n\tconst filterColumn = header.subHeaders.find((header) =>\n\t\theader.column.getCanFilter(),\n\t)?.column;\n\n\tconst sortDirection = !filterColumn?.getIsSorted()\n\t\t? \"default\"\n\t\t: (filterColumn!.getIsSorted() as DataTableSortDirection);\n\tconst nextSortType =\n\t\tfilterColumn?.getNextSortingOrder() === \"asc\"\n\t\t\t? i18n.t(\"in ascending order\")\n\t\t\t: filterColumn?.getNextSortingOrder() === \"desc\"\n\t\t\t\t? i18n.t(\"in descending order\")\n\t\t\t\t: i18n.t(\"disable\");\n\n\treturn (\n\t\t<DataTableColumnHeader\n\t\t\tkey={`${header.id}-${randomId.current}`}\n\t\t\talign=\"center\"\n\t\t\tsortIconTitle={i18n.t(\"Sort {{nextSortType}}\", { nextSortType })}\n\t\t\tonSortIconClick={(_, e) => {\n\t\t\t\tconst sort = filterColumn!.getToggleSortingHandler();\n\t\t\t\tif (sort) {\n\t\t\t\t\tsort(e);\n\t\t\t\t}\n\t\t\t}}\n\t\t\tfixed\n\t\t\t/*\n // @ts-ignore */\n\t\t\tleft=\"0\"\n\t\t\tsortDirection={sortDirection}\n\t\t\tcolSpan={header.colSpan.toString()}\n\t\t\trowSpan={rowSpan}\n\t\t\tclassName={styles.metaHeader}\n\t\t>\n\t\t\t{!!filterColumn && (\n\t\t\t\t<FilterArea\n\t\t\t\t\tkey={`${header.id}-filter-area`}\n\t\t\t\t\tcolumn={filterColumn}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</DataTableColumnHeader>\n\t);\n}\n\nexport const MetaHeaderCell = memo(MetaHeaderCellComponent);\n"]}
1
+ {"version":3,"sources":["../../../../../../src/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.tsx"],"names":["useRef","uid","useHasOnePeriod","useScorecardViewStateValue","header","i18n","jsx","DataTableColumnHeader","styles","FilterArea","memo"],"mappings":";;;;;;;;;;;;;;;;AAWA,SAAS,uBAAwB,CAAA;AAAA,EAChC;AACD,CAA2C,EAAA;AAC1C,EAAM,MAAA,QAAA,GAAWA,YAAe,CAAAC,cAAA,EAAK,CAAA;AAErC,EAAA,MAAM,eAAeC,qBAAgB,EAAA;AACrC,EAAM,MAAA,UAAA,GAAaC,iCAAoC,gBAAgB,CAAA;AAEvE,EAAA,MAAM,UAAU,UACb,GAAA,YAAA,GACC,GACA,GAAA,GAAA,GACD,eACC,GACA,GAAA,GAAA;AAEJ,EAAM,MAAA,YAAA,GAAe,OAAO,UAAW,CAAA,IAAA;AAAA,IAAK,CAACC,OAAAA,KAC5CA,OAAO,CAAA,MAAA,CAAO,YAAa;AAAA,GACzB,EAAA,MAAA;AAEH,EAAA,MAAM,gBAAgB,CAAC,YAAA,EAAc,aAClC,GAAA,SAAA,GACC,aAAc,WAAY,EAAA;AAC9B,EAAA,MAAM,eACL,YAAc,EAAA,mBAAA,OAA0B,KACrC,GAAAC,qBAAA,CAAK,EAAE,oBAAoB,CAAA,GAC3B,cAAc,mBAAoB,EAAA,KAAM,SACvCA,qBAAK,CAAA,CAAA,CAAE,qBAAqB,CAC5B,GAAAA,qBAAA,CAAK,EAAE,SAAS,CAAA;AAErB,EACC,uBAAAC,cAAA;AAAA,IAACC,wBAAA;AAAA,IAAA;AAAA,MAEA,KAAM,EAAA,QAAA;AAAA,MACN,eAAeF,qBAAK,CAAA,CAAA,CAAE,uBAAyB,EAAA,EAAE,cAAc,CAAA;AAAA,MAC/D,eAAA,EAAiB,CAAC,CAAA,EAAG,CAAM,KAAA;AAC1B,QAAM,MAAA,IAAA,GAAO,aAAc,uBAAwB,EAAA;AACnD,QAAA,IAAI,IAAM,EAAA;AACT,UAAA,IAAA,CAAK,CAAC,CAAA;AAAA;AACP,OACD;AAAA,MACA,KAAK,EAAA,IAAA;AAAA,MAGL,IAAK,EAAA,GAAA;AAAA,MACL,aAAA;AAAA,MACA,OAAA,EAAS,MAAO,CAAA,OAAA,CAAQ,QAAS,EAAA;AAAA,MACjC,OAAA;AAAA,MACA,WAAWG,uBAAO,CAAA,UAAA;AAAA,MAEjB,QAAA,EAAA,CAAC,CAAC,YACF,oBAAAF,cAAA;AAAA,QAACG,qBAAA;AAAA,QAAA;AAAA,UAEA,MAAQ,EAAA;AAAA,SAAA;AAAA,QADH,CAAA,EAAG,OAAO,EAAE,CAAA,YAAA;AAAA;AAElB,KAAA;AAAA,IAtBI,CAAG,EAAA,MAAA,CAAO,EAAE,CAAA,CAAA,EAAI,SAAS,OAAO,CAAA;AAAA,GAwBtC;AAEF;AAEa,MAAA,cAAA,GAAiBC,WAAK,uBAAuB","file":"MetaHeaderCell.js","sourcesContent":["import type { HeaderContext } from \"@tanstack/react-table\";\nimport type { ScorecardTableData } from \"../../../../../schemas/config\";\nimport { DataTableColumnHeader, type DataTableSortDirection } from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport styles from \"../TableHeader.module.css\";\nimport { FilterArea } from \"./FilterArea\";\nimport { uid } from \"@hisptz/dhis2-utils\";\nimport { memo, useRef } from \"react\";\nimport { useScorecardViewStateValue } from \"../../../../../utils\";\nimport { useHasOnePeriod } from \"../../../../../utils\";\n\nfunction MetaHeaderCellComponent({\n\theader,\n}: HeaderContext<ScorecardTableData, any>) {\n\tconst randomId = useRef<string>(uid());\n\n\tconst hasOnePeriod = useHasOnePeriod();\n\tconst dataInRows = useScorecardViewStateValue<boolean>(\"showDataInRows\");\n\n\tconst rowSpan = dataInRows\n\t\t? hasOnePeriod\n\t\t\t? \"2\"\n\t\t\t: \"2\"\n\t\t: hasOnePeriod\n\t\t\t? \"2\"\n\t\t\t: \"3\";\n\n\tconst filterColumn = header.subHeaders.find((header) =>\n\t\theader.column.getCanFilter(),\n\t)?.column;\n\n\tconst sortDirection = !filterColumn?.getIsSorted()\n\t\t? \"default\"\n\t\t: (filterColumn!.getIsSorted() as DataTableSortDirection);\n\tconst nextSortType =\n\t\tfilterColumn?.getNextSortingOrder() === \"asc\"\n\t\t\t? i18n.t(\"in ascending order\")\n\t\t\t: filterColumn?.getNextSortingOrder() === \"desc\"\n\t\t\t\t? i18n.t(\"in descending order\")\n\t\t\t\t: i18n.t(\"disable\");\n\n\treturn (\n\t\t<DataTableColumnHeader\n\t\t\tkey={`${header.id}-${randomId.current}`}\n\t\t\talign=\"center\"\n\t\t\tsortIconTitle={i18n.t(\"Sort {{nextSortType}}\", { nextSortType })}\n\t\t\tonSortIconClick={(_, e) => {\n\t\t\t\tconst sort = filterColumn!.getToggleSortingHandler();\n\t\t\t\tif (sort) {\n\t\t\t\t\tsort(e);\n\t\t\t\t}\n\t\t\t}}\n\t\t\tfixed\n\t\t\t/*\n // @ts-ignore */\n\t\t\tleft=\"0\"\n\t\t\tsortDirection={sortDirection}\n\t\t\tcolSpan={header.colSpan.toString()}\n\t\t\trowSpan={rowSpan}\n\t\t\tclassName={styles.metaHeader}\n\t\t>\n\t\t\t{!!filterColumn && (\n\t\t\t\t<FilterArea\n\t\t\t\t\tkey={`${header.id}-filter-area`}\n\t\t\t\t\tcolumn={filterColumn}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</DataTableColumnHeader>\n\t);\n}\n\nexport const MetaHeaderCell = memo(MetaHeaderCellComponent);\n"]}
@@ -7,7 +7,7 @@ import { getLegend, getTextColorFromBackgroundColor } from '../../../utils/legen
7
7
  import { LinkedCell } from './LinkedCell';
8
8
  import { useDataHolderAverageCellValue, useOrgUnitAverageCellValue } from '../../../hooks/value';
9
9
  import { CellLoader } from './CellLoader';
10
- import { useScorecardViewStateValue } from '../../../utils/viewState';
10
+ import { useScorecardViewStateValue } from '../../../utils';
11
11
 
12
12
  function SingleAverageCell({
13
13
  dataSource,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/ScorecardTable/components/AverageCell.tsx"],"names":[],"mappings":"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","file":"AverageCell.js","sourcesContent":["import type { CellContext } from \"@tanstack/react-table\";\nimport type {\n\tScorecardAverageCellData,\n\tScorecardTableAverageCellConfig,\n\tScorecardTableData,\n} from \"../../../schemas/config\";\nimport { DataTableCell } from \"@dhis2/ui\";\nimport { head, isEmpty } from \"lodash\";\nimport { useScorecardConfig } from \"../../ConfigProvider\";\nimport { useMemo } from \"react\";\nimport {\n\tgetLegend,\n\tgetTextColorFromBackgroundColor,\n} from \"../../../utils/legends\";\nimport { LinkedCell } from \"./LinkedCell\";\nimport {\n\tuseDataHolderAverageCellValue,\n\tuseOrgUnitAverageCellValue,\n} from \"../../../hooks/value\";\nimport { CellLoader } from \"./CellLoader\";\nimport { useScorecardViewStateValue } from \"../../../utils/viewState\";\n\nexport function SingleAverageCell({\n\tdataSource,\n\tsize,\n}: {\n\tdataSource: ScorecardAverageCellData;\n\tsize: number;\n}) {\n\tconst config = useScorecardConfig();\n\tconst legendDefinition = useMemo(() => {\n\t\tif (!dataSource) {\n\t\t\treturn;\n\t\t}\n\t\treturn getLegend({\n\t\t\tdataSource,\n\t\t\tconfig: config!,\n\t\t\tvalue: dataSource.data.average,\n\t\t});\n\t}, [dataSource]);\n\n\tif (!dataSource.data.average || isNaN(dataSource.data.average)) {\n\t\treturn <DataTableCell bordered />;\n\t}\n\n\treturn (\n\t\t<DataTableCell\n\t\t\tbordered\n\t\t\tstyle={{\n\t\t\t\tbackground: legendDefinition?.color,\n\t\t\t\ttextAlign: \"center\",\n\t\t\t\tminWidth: 100,\n\t\t\t\twidth: size,\n\t\t\t\theight: 48,\n\t\t\t\tcolor: legendDefinition\n\t\t\t\t\t? getTextColorFromBackgroundColor(legendDefinition?.color)\n\t\t\t\t\t: undefined,\n\t\t\t}}\n\t\t\talign=\"center\"\n\t\t>\n\t\t\t<b>{dataSource.data.average?.toFixed(2).toString()}</b>\n\t\t</DataTableCell>\n\t);\n}\n\nexport function LinkedAverageCell({\n\tdataSources,\n\tsize,\n}: {\n\tdataSources: Array<ScorecardAverageCellData>;\n\tsize: number;\n}) {\n\tconst [top, bottom] = dataSources ?? [];\n\tconst config = useScorecardConfig();\n\tconst topLegendDefinition = useMemo(() => {\n\t\tif (!top) {\n\t\t\treturn;\n\t\t}\n\t\treturn getLegend({\n\t\t\tdataSource: top,\n\t\t\tconfig: config!,\n\t\t\tvalue: top.data.average,\n\t\t});\n\t}, [top]);\n\tconst bottomLegendDefinition = useMemo(() => {\n\t\tif (!bottom) {\n\t\t\treturn;\n\t\t}\n\t\treturn getLegend({\n\t\t\tdataSource: bottom,\n\t\t\tconfig: config!,\n\t\t\tvalue: bottom.data.average,\n\t\t});\n\t}, [bottom]);\n\n\treturn (\n\t\t<LinkedCell\n\t\t\tbold\n\t\t\tsize={size}\n\t\t\ttop={{\n\t\t\t\tdataSource: {\n\t\t\t\t\t...top,\n\t\t\t\t\tdata: {\n\t\t\t\t\t\tcurrent: top.data.average,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tlegendDefinition: topLegendDefinition,\n\t\t\t\tvalue: top.data.average,\n\t\t\t}}\n\t\t\tbottom={{\n\t\t\t\tdataSource: {\n\t\t\t\t\t...bottom,\n\t\t\t\t\tdata: {\n\t\t\t\t\t\tcurrent: bottom.data.average,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tlegendDefinition: bottomLegendDefinition,\n\t\t\t\tvalue: bottom.data.average,\n\t\t\t}}\n\t\t/>\n\t);\n}\n\nfunction DataSourceAverageCell(\n\tprops: CellContext<ScorecardTableData, ScorecardTableAverageCellConfig>,\n) {\n\tconst size = props.cell.column.getSize();\n\tconst dataConfig = useMemo(() => props.getValue(), [props.getValue()]);\n\tconst { cellData: dataSources, loading } =\n\t\tuseDataHolderAverageCellValue(dataConfig);\n\n\tif (loading) {\n\t\treturn <CellLoader size={size} />;\n\t}\n\n\tif (!isEmpty(dataSources)) {\n\t\tif (dataSources?.length === 1) {\n\t\t\treturn (\n\t\t\t\t<SingleAverageCell\n\t\t\t\t\tsize={size}\n\t\t\t\t\tdataSource={head(dataSources)!}\n\t\t\t\t/>\n\t\t\t);\n\t\t} else {\n\t\t\treturn <LinkedAverageCell size={size} dataSources={dataSources!} />;\n\t\t}\n\t}\n\n\treturn <DataTableCell bordered style={{ width: size }} />;\n}\n\nfunction OrgUnitAverageCell(\n\tprops: CellContext<ScorecardTableData, ScorecardTableAverageCellConfig>,\n) {\n\tconst size = props.cell.column.getSize();\n\tconst dataConfig = useMemo(() => props.getValue(), [props.getValue()]);\n\tconst { loading, average } = useOrgUnitAverageCellValue(dataConfig);\n\n\tif (loading) {\n\t\treturn <CellLoader size={size} />;\n\t}\n\n\tif (isNaN(average as number)) {\n\t\treturn (\n\t\t\t<DataTableCell\n\t\t\t\tstyle={{ width: size }}\n\t\t\t\tbordered\n\t\t\t\talign=\"center\"\n\t\t\t\tkey={props.row.id}\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<DataTableCell\n\t\t\tstyle={{ width: size }}\n\t\t\tbordered\n\t\t\talign=\"center\"\n\t\t\tkey={props.row.id}\n\t\t>\n\t\t\t<b>{average?.toFixed(2).toString()}</b>\n\t\t</DataTableCell>\n\t);\n}\n\nexport function AverageCell(\n\tprops: CellContext<ScorecardTableData, ScorecardTableAverageCellConfig>,\n) {\n\tconst showDataInRows =\n\t\tuseScorecardViewStateValue<boolean>(\"showDataInRows\");\n\n\tif (showDataInRows) {\n\t\treturn <DataSourceAverageCell {...props} />;\n\t}\n\n\treturn <OrgUnitAverageCell {...props} />;\n}\n"]}
1
+ {"version":3,"sources":["../../../../../src/components/ScorecardTable/components/AverageCell.tsx"],"names":[],"mappings":"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","file":"AverageCell.js","sourcesContent":["import type { CellContext } from \"@tanstack/react-table\";\nimport type {\n\tScorecardAverageCellData,\n\tScorecardTableAverageCellConfig,\n\tScorecardTableData,\n} from \"../../../schemas/config\";\nimport { DataTableCell } from \"@dhis2/ui\";\nimport { head, isEmpty } from \"lodash\";\nimport { useScorecardConfig } from \"../../ConfigProvider\";\nimport { useMemo } from \"react\";\nimport {\n\tgetLegend,\n\tgetTextColorFromBackgroundColor,\n} from \"../../../utils/legends\";\nimport { LinkedCell } from \"./LinkedCell\";\nimport {\n\tuseDataHolderAverageCellValue,\n\tuseOrgUnitAverageCellValue,\n} from \"../../../hooks/value\";\nimport { CellLoader } from \"./CellLoader\";\nimport { useScorecardViewStateValue } from \"../../../utils\";\n\nexport function SingleAverageCell({\n\tdataSource,\n\tsize,\n}: {\n\tdataSource: ScorecardAverageCellData;\n\tsize: number;\n}) {\n\tconst config = useScorecardConfig();\n\tconst legendDefinition = useMemo(() => {\n\t\tif (!dataSource) {\n\t\t\treturn;\n\t\t}\n\t\treturn getLegend({\n\t\t\tdataSource,\n\t\t\tconfig: config!,\n\t\t\tvalue: dataSource.data.average,\n\t\t});\n\t}, [dataSource]);\n\n\tif (!dataSource.data.average || isNaN(dataSource.data.average)) {\n\t\treturn <DataTableCell bordered />;\n\t}\n\n\treturn (\n\t\t<DataTableCell\n\t\t\tbordered\n\t\t\tstyle={{\n\t\t\t\tbackground: legendDefinition?.color,\n\t\t\t\ttextAlign: \"center\",\n\t\t\t\tminWidth: 100,\n\t\t\t\twidth: size,\n\t\t\t\theight: 48,\n\t\t\t\tcolor: legendDefinition\n\t\t\t\t\t? getTextColorFromBackgroundColor(legendDefinition?.color)\n\t\t\t\t\t: undefined,\n\t\t\t}}\n\t\t\talign=\"center\"\n\t\t>\n\t\t\t<b>{dataSource.data.average?.toFixed(2).toString()}</b>\n\t\t</DataTableCell>\n\t);\n}\n\nexport function LinkedAverageCell({\n\tdataSources,\n\tsize,\n}: {\n\tdataSources: Array<ScorecardAverageCellData>;\n\tsize: number;\n}) {\n\tconst [top, bottom] = dataSources ?? [];\n\tconst config = useScorecardConfig();\n\tconst topLegendDefinition = useMemo(() => {\n\t\tif (!top) {\n\t\t\treturn;\n\t\t}\n\t\treturn getLegend({\n\t\t\tdataSource: top,\n\t\t\tconfig: config!,\n\t\t\tvalue: top.data.average,\n\t\t});\n\t}, [top]);\n\tconst bottomLegendDefinition = useMemo(() => {\n\t\tif (!bottom) {\n\t\t\treturn;\n\t\t}\n\t\treturn getLegend({\n\t\t\tdataSource: bottom,\n\t\t\tconfig: config!,\n\t\t\tvalue: bottom.data.average,\n\t\t});\n\t}, [bottom]);\n\n\treturn (\n\t\t<LinkedCell\n\t\t\tbold\n\t\t\tsize={size}\n\t\t\ttop={{\n\t\t\t\tdataSource: {\n\t\t\t\t\t...top,\n\t\t\t\t\tdata: {\n\t\t\t\t\t\tcurrent: top.data.average,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tlegendDefinition: topLegendDefinition,\n\t\t\t\tvalue: top.data.average,\n\t\t\t}}\n\t\t\tbottom={{\n\t\t\t\tdataSource: {\n\t\t\t\t\t...bottom,\n\t\t\t\t\tdata: {\n\t\t\t\t\t\tcurrent: bottom.data.average,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tlegendDefinition: bottomLegendDefinition,\n\t\t\t\tvalue: bottom.data.average,\n\t\t\t}}\n\t\t/>\n\t);\n}\n\nfunction DataSourceAverageCell(\n\tprops: CellContext<ScorecardTableData, ScorecardTableAverageCellConfig>,\n) {\n\tconst size = props.cell.column.getSize();\n\tconst dataConfig = useMemo(() => props.getValue(), [props.getValue()]);\n\tconst { cellData: dataSources, loading } =\n\t\tuseDataHolderAverageCellValue(dataConfig);\n\n\tif (loading) {\n\t\treturn <CellLoader size={size} />;\n\t}\n\n\tif (!isEmpty(dataSources)) {\n\t\tif (dataSources?.length === 1) {\n\t\t\treturn (\n\t\t\t\t<SingleAverageCell\n\t\t\t\t\tsize={size}\n\t\t\t\t\tdataSource={head(dataSources)!}\n\t\t\t\t/>\n\t\t\t);\n\t\t} else {\n\t\t\treturn <LinkedAverageCell size={size} dataSources={dataSources!} />;\n\t\t}\n\t}\n\n\treturn <DataTableCell bordered style={{ width: size }} />;\n}\n\nfunction OrgUnitAverageCell(\n\tprops: CellContext<ScorecardTableData, ScorecardTableAverageCellConfig>,\n) {\n\tconst size = props.cell.column.getSize();\n\tconst dataConfig = useMemo(() => props.getValue(), [props.getValue()]);\n\tconst { loading, average } = useOrgUnitAverageCellValue(dataConfig);\n\n\tif (loading) {\n\t\treturn <CellLoader size={size} />;\n\t}\n\n\tif (isNaN(average as number)) {\n\t\treturn (\n\t\t\t<DataTableCell\n\t\t\t\tstyle={{ width: size }}\n\t\t\t\tbordered\n\t\t\t\talign=\"center\"\n\t\t\t\tkey={props.row.id}\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<DataTableCell\n\t\t\tstyle={{ width: size }}\n\t\t\tbordered\n\t\t\talign=\"center\"\n\t\t\tkey={props.row.id}\n\t\t>\n\t\t\t<b>{average?.toFixed(2).toString()}</b>\n\t\t</DataTableCell>\n\t);\n}\n\nexport function AverageCell(\n\tprops: CellContext<ScorecardTableData, ScorecardTableAverageCellConfig>,\n) {\n\tconst showDataInRows =\n\t\tuseScorecardViewStateValue<boolean>(\"showDataInRows\");\n\n\tif (showDataInRows) {\n\t\treturn <DataSourceAverageCell {...props} />;\n\t}\n\n\treturn <OrgUnitAverageCell {...props} />;\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import { IconArrowDown16, IconArrowUp16 } from '@dhis2/ui';
3
3
  import { memo, useMemo } from 'react';
4
- import { useScorecardViewStateValue } from '../../../utils/viewState';
4
+ import { useScorecardViewStateValue } from '../../../utils';
5
5
 
6
6
  const DataValue = memo(function DataValue2({
7
7
  dataSource,
@@ -57,7 +57,7 @@ const DataValue = memo(function DataValue2({
57
57
  children: [
58
58
  showArrow === "decreasing" && /* @__PURE__ */ jsx(IconArrowDown16, {}),
59
59
  showArrow === "increasing" && /* @__PURE__ */ jsx(IconArrowUp16, {}),
60
- bold ? /* @__PURE__ */ jsx("b", { children: currentValue?.toFixed(2).toString() ?? "" }) : currentValue?.toFixed(2).toString() ?? ""
60
+ bold ? /* @__PURE__ */ jsx("b", { children: isNaN(currentValue) ? "" : currentValue?.toFixed(2).toString() ?? "" }) : isNaN(currentValue) ? "" : currentValue?.toFixed(2).toString() ?? ""
61
61
  ]
62
62
  }
63
63
  );
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/ScorecardTable/components/DataValue.tsx"],"names":["DataValue"],"mappings":";;;;;AAKa,MAAA,SAAA,GAAY,IAAK,CAAA,SAASA,UAAU,CAAA;AAAA,EAChD,UAAA;AAAA,EACA,KAAA;AAAA,EACA;AACD,CAIG,EAAA;AACF,EAAM,MAAA,UAAA,GAAa,2BAAoC,QAAQ,CAAA;AAC/D,EAAM,MAAA,YAAA,GAAe,WAAW,IAAK,CAAA,OAAA;AACrC,EAAM,MAAA,aAAA,GAAgB,WAAW,IAAK,CAAA,QAAA;AACtC,EAAM,MAAA,SAAA,GAAqD,QAAQ,MAAM;AACxE,IAAA,IAAI,CAAC,UAAY,EAAA;AAChB,MAAA;AAAA;AAGD,IAAI,IAAA,CAAC,aAAiB,IAAA,CAAC,YAAc,EAAA;AACpC,MAAA;AAAA;AAGD,IAAA,MAAM,eAAe,UAAW,CAAA,YAAA;AAChC,IAAA,MAAM,GAAM,GAAA,IAAA,CAAK,GAAI,CAAA,aAAA,GAAgB,YAAY,CAAA;AACjD,IAAA,IAAI,MAAM,YAAc,EAAA;AACvB,MAAA;AAAA;AAGD,IAAA,IAAI,kBAAkB,YAAc,EAAA;AACnC,MAAA;AAAA;AAGD,IAAO,OAAA,YAAA,GAAe,gBAAgB,YAAe,GAAA,YAAA;AAAA,KACnD,CAAC,YAAA,EAAc,WAAW,YAAc,EAAA,UAAA,EAAY,aAAa,CAAC,CAAA;AAErE,EAAA,IAAI,KAAS,IAAA,CAAC,UAAW,CAAA,IAAA,CAAK,OAAS,EAAA;AACtC,IAAI,IAAA,KAAA,CAAM,KAAe,CAAG,EAAA;AAC3B,MAAO,OAAA,EAAA;AAAA;AAER,IACC,uBAAA,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACA,KAAO,EAAA;AAAA,UACN,OAAS,EAAA,MAAA;AAAA,UACT,UAAY,EAAA,QAAA;AAAA,UACZ,cAAgB,EAAA,QAAA;AAAA,UAChB,GAAK,EAAA;AAAA,SACN;AAAA,QAEC,iCACC,GAAA,CAAA,GAAA,EAAA,EAAG,QAAO,EAAA,KAAA,EAAA,OAAA,CAAQ,CAAC,CAAE,CAAA,QAAA,EAAc,IAAA,EAAA,EAAG,IAEtC,KAAO,EAAA,OAAA,CAAQ,CAAC,CAAA,CAAE,UAAc,IAAA;AAAA;AAAA,KAEnC;AAAA;AAIF,EACC,uBAAA,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,KAAO,EAAA;AAAA,QACN,OAAS,EAAA,MAAA;AAAA,QACT,UAAY,EAAA,QAAA;AAAA,QACZ,cAAgB,EAAA,QAAA;AAAA,QAChB,GAAK,EAAA;AAAA,OACN;AAAA,MAEC,QAAA,EAAA;AAAA,QAAc,SAAA,KAAA,YAAA,wBAAiB,eAAgB,EAAA,EAAA,CAAA;AAAA,QAC/C,SAAA,KAAc,YAAgB,oBAAA,GAAA,CAAC,aAAc,EAAA,EAAA,CAAA;AAAA,QAC7C,uBACC,GAAA,CAAA,GAAA,EAAA,EAAG,QAAc,EAAA,YAAA,EAAA,OAAA,CAAQ,CAAC,CAAE,CAAA,QAAA,EAAc,IAAA,EAAA,EAAG,IAE7C,YAAc,EAAA,OAAA,CAAQ,CAAC,CAAA,CAAE,UAAc,IAAA;AAAA;AAAA;AAAA,GAE1C;AAEF,CAAC","file":"DataValue.js","sourcesContent":["import { IconArrowDown16, IconArrowUp16 } from \"@dhis2/ui\";\nimport { memo, useMemo } from \"react\";\nimport type { ScorecardCellData } from \"../../../schemas/config\";\nimport { useScorecardViewStateValue } from \"../../../utils/viewState\";\n\nexport const DataValue = memo(function DataValue({\n\tdataSource,\n\tvalue,\n\tbold,\n}: {\n\tdataSource: ScorecardCellData;\n\tvalue?: number;\n\tbold?: boolean;\n}) {\n\tconst showArrows = useScorecardViewStateValue<boolean>(\"arrows\");\n\tconst currentValue = dataSource.data.current;\n\tconst previousValue = dataSource.data.previous;\n\tconst showArrow: \"decreasing\" | \"increasing\" | undefined = useMemo(() => {\n\t\tif (!showArrows) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!previousValue || !currentValue) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst effectiveGap = dataSource.effectiveGap;\n\t\tconst gap = Math.abs(previousValue - currentValue);\n\t\tif (gap < effectiveGap) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (previousValue === currentValue) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn currentValue > previousValue ? \"increasing\" : \"decreasing\";\n\t}, [currentValue, dataSource.effectiveGap, showArrows, previousValue]);\n\n\tif (value && !dataSource.data.current) {\n\t\tif (isNaN(value as number)) {\n\t\t\treturn \"\";\n\t\t}\n\t\treturn (\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\tjustifyContent: \"center\",\n\t\t\t\t\tgap: 4,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{bold ? (\n\t\t\t\t\t<b>{value?.toFixed(2).toString() ?? \"\"}</b>\n\t\t\t\t) : (\n\t\t\t\t\t(value?.toFixed(2).toString() ?? \"\")\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tstyle={{\n\t\t\t\tdisplay: \"flex\",\n\t\t\t\talignItems: \"center\",\n\t\t\t\tjustifyContent: \"center\",\n\t\t\t\tgap: 2,\n\t\t\t}}\n\t\t>\n\t\t\t{showArrow === \"decreasing\" && <IconArrowDown16 />}\n\t\t\t{showArrow === \"increasing\" && <IconArrowUp16 />}\n\t\t\t{bold ? (\n\t\t\t\t<b>{currentValue?.toFixed(2).toString() ?? \"\"}</b>\n\t\t\t) : (\n\t\t\t\t(currentValue?.toFixed(2).toString() ?? \"\")\n\t\t\t)}\n\t\t</div>\n\t);\n});\n"]}
1
+ {"version":3,"sources":["../../../../../src/components/ScorecardTable/components/DataValue.tsx"],"names":["DataValue"],"mappings":";;;;;AAKa,MAAA,SAAA,GAAY,IAAK,CAAA,SAASA,UAAU,CAAA;AAAA,EAChD,UAAA;AAAA,EACA,KAAA;AAAA,EACA;AACD,CAIG,EAAA;AACF,EAAM,MAAA,UAAA,GAAa,2BAAoC,QAAQ,CAAA;AAC/D,EAAM,MAAA,YAAA,GAAe,WAAW,IAAK,CAAA,OAAA;AACrC,EAAM,MAAA,aAAA,GAAgB,WAAW,IAAK,CAAA,QAAA;AACtC,EAAM,MAAA,SAAA,GAAqD,QAAQ,MAAM;AACxE,IAAA,IAAI,CAAC,UAAY,EAAA;AAChB,MAAA;AAAA;AAGD,IAAI,IAAA,CAAC,aAAiB,IAAA,CAAC,YAAc,EAAA;AACpC,MAAA;AAAA;AAGD,IAAA,MAAM,eAAe,UAAW,CAAA,YAAA;AAChC,IAAA,MAAM,GAAM,GAAA,IAAA,CAAK,GAAI,CAAA,aAAA,GAAgB,YAAY,CAAA;AACjD,IAAA,IAAI,MAAM,YAAc,EAAA;AACvB,MAAA;AAAA;AAGD,IAAA,IAAI,kBAAkB,YAAc,EAAA;AACnC,MAAA;AAAA;AAGD,IAAO,OAAA,YAAA,GAAe,gBAAgB,YAAe,GAAA,YAAA;AAAA,KACnD,CAAC,YAAA,EAAc,WAAW,YAAc,EAAA,UAAA,EAAY,aAAa,CAAC,CAAA;AAErE,EAAA,IAAI,KAAS,IAAA,CAAC,UAAW,CAAA,IAAA,CAAK,OAAS,EAAA;AACtC,IAAI,IAAA,KAAA,CAAM,KAAe,CAAG,EAAA;AAC3B,MAAO,OAAA,EAAA;AAAA;AAER,IACC,uBAAA,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACA,KAAO,EAAA;AAAA,UACN,OAAS,EAAA,MAAA;AAAA,UACT,UAAY,EAAA,QAAA;AAAA,UACZ,cAAgB,EAAA,QAAA;AAAA,UAChB,GAAK,EAAA;AAAA,SACN;AAAA,QAEC,iCACC,GAAA,CAAA,GAAA,EAAA,EAAG,QAAO,EAAA,KAAA,EAAA,OAAA,CAAQ,CAAC,CAAE,CAAA,QAAA,EAAc,IAAA,EAAA,EAAG,IAEtC,KAAO,EAAA,OAAA,CAAQ,CAAC,CAAA,CAAE,UAAc,IAAA;AAAA;AAAA,KAEnC;AAAA;AAIF,EACC,uBAAA,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,KAAO,EAAA;AAAA,QACN,OAAS,EAAA,MAAA;AAAA,QACT,UAAY,EAAA,QAAA;AAAA,QACZ,cAAgB,EAAA,QAAA;AAAA,QAChB,GAAK,EAAA;AAAA,OACN;AAAA,MAEC,QAAA,EAAA;AAAA,QAAc,SAAA,KAAA,YAAA,wBAAiB,eAAgB,EAAA,EAAA,CAAA;AAAA,QAC/C,SAAA,KAAc,YAAgB,oBAAA,GAAA,CAAC,aAAc,EAAA,EAAA,CAAA;AAAA,QAC7C,IAAA,mBACC,GAAA,CAAA,GAAA,EAAA,EACC,QAAM,EAAA,KAAA,CAAA,YAAsB,IAC1B,EACC,GAAA,YAAA,EAAc,OAAQ,CAAA,CAAC,CAAE,CAAA,QAAA,MAAc,EAC5C,EAAA,CAAA,GACG,KAAM,CAAA,YAAsB,CAC/B,GAAA,EAAA,GAEC,cAAc,OAAQ,CAAA,CAAC,CAAE,CAAA,QAAA,EAAc,IAAA;AAAA;AAAA;AAAA,GAE1C;AAEF,CAAC","file":"DataValue.js","sourcesContent":["import { IconArrowDown16, IconArrowUp16 } from \"@dhis2/ui\";\nimport { memo, useMemo } from \"react\";\nimport type { ScorecardCellData } from \"../../../schemas/config\";\nimport { useScorecardViewStateValue } from \"../../../utils\";\n\nexport const DataValue = memo(function DataValue({\n\tdataSource,\n\tvalue,\n\tbold,\n}: {\n\tdataSource: ScorecardCellData;\n\tvalue?: number;\n\tbold?: boolean;\n}) {\n\tconst showArrows = useScorecardViewStateValue<boolean>(\"arrows\");\n\tconst currentValue = dataSource.data.current;\n\tconst previousValue = dataSource.data.previous;\n\tconst showArrow: \"decreasing\" | \"increasing\" | undefined = useMemo(() => {\n\t\tif (!showArrows) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!previousValue || !currentValue) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst effectiveGap = dataSource.effectiveGap;\n\t\tconst gap = Math.abs(previousValue - currentValue);\n\t\tif (gap < effectiveGap) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (previousValue === currentValue) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn currentValue > previousValue ? \"increasing\" : \"decreasing\";\n\t}, [currentValue, dataSource.effectiveGap, showArrows, previousValue]);\n\n\tif (value && !dataSource.data.current) {\n\t\tif (isNaN(value as number)) {\n\t\t\treturn \"\";\n\t\t}\n\t\treturn (\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\tjustifyContent: \"center\",\n\t\t\t\t\tgap: 4,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{bold ? (\n\t\t\t\t\t<b>{value?.toFixed(2).toString() ?? \"\"}</b>\n\t\t\t\t) : (\n\t\t\t\t\t(value?.toFixed(2).toString() ?? \"\")\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tstyle={{\n\t\t\t\tdisplay: \"flex\",\n\t\t\t\talignItems: \"center\",\n\t\t\t\tjustifyContent: \"center\",\n\t\t\t\tgap: 2,\n\t\t\t}}\n\t\t>\n\t\t\t{showArrow === \"decreasing\" && <IconArrowDown16 />}\n\t\t\t{showArrow === \"increasing\" && <IconArrowUp16 />}\n\t\t\t{bold ? (\n\t\t\t\t<b>\n\t\t\t\t\t{isNaN(currentValue as number)\n\t\t\t\t\t\t? \"\"\n\t\t\t\t\t\t: (currentValue?.toFixed(2).toString() ?? \"\")}\n\t\t\t\t</b>\n\t\t\t) : isNaN(currentValue as number) ? (\n\t\t\t\t\"\"\n\t\t\t) : (\n\t\t\t\t(currentValue?.toFixed(2).toString() ?? \"\")\n\t\t\t)}\n\t\t</div>\n\t);\n});\n"]}
@@ -33,7 +33,7 @@ function PaginatedToolbar() {
33
33
  {
34
34
  style: { position: "unset" },
35
35
  position: "bottom",
36
- children: /* @__PURE__ */ jsx("div", { style: { width: "100%" }, children: /* @__PURE__ */ jsx(
36
+ children: /* @__PURE__ */ jsx("div", { style: { width: "stretch" }, children: /* @__PURE__ */ jsx(
37
37
  Pagination,
38
38
  {
39
39
  total: rowCount,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/ScorecardTable/components/PaginatedToolbar.tsx"],"names":["page","pageSize"],"mappings":";;;;;;AAQO,SAAS,gBAAmB,GAAA;AAClC,EAAA,MAAM,CAAC,SAAA,EAAW,eAAe,CAAA,GAAI,aAAc,EAAA;AACnD,EAAA,MAAM,QAAQ,aAAc,EAAA;AAC5B,EAAM,MAAA,QAAA,GAAW,MAAM,WAAY,EAAA;AACnC,EAAA,MAAM,IAAO,GAAA,KAAA,CAAM,QAAS,EAAA,CAAE,WAAW,SAAY,GAAA,CAAA;AACrD,EAAA,MAAM,QAAW,GAAA,KAAA,CAAM,QAAS,EAAA,CAAE,UAAW,CAAA,QAAA;AAC7C,EAAM,MAAA,SAAA,GAAY,MAAM,YAAa,EAAA;AACrC,EAAA,MAAM,qBAAqB,0BAA2B,EAAA;AAEtD,EAAM,MAAA,YAAA,GAAe,CAACA,KAAiB,KAAA;AACtC,IAAA,eAAA,CAAgB,MAAM;AACrB,MAAM,KAAA,CAAA,YAAA,CAAaA,QAAO,CAAC,CAAA;AAAA,KAC3B,CAAA;AAAA,GACF;AACA,EAAM,MAAA,gBAAA,GAAmB,CAACC,SAAqB,KAAA;AAC9C,IAAA,eAAA,CAAgB,MAAM;AACrB,MAAA,KAAA,CAAM,YAAYA,SAAQ,CAAA;AAAA,KAC1B,CAAA;AAAA,GACF;AAEA,EAAA,eAAA,CAAgB,MAAM;AACrB,IAAmB,kBAAA,EAAA;AAAA,GACpB,EAAG,CAAC,SAAS,CAAC,CAAA;AAEd,EAAA,IACC,QAAY,IAAA,EAAA,IACX,KAAM,CAAA,OAAA,CAAQ,MACZ,iBACF,EAAA;AACD,IAAO,OAAA,IAAA;AAAA;AAGR,EACC,uBAAA,GAAA;AAAA,IAAC,gBAAA;AAAA,IAAA;AAAA,MAGA,KAAA,EAAO,EAAE,QAAA,EAAU,OAAQ,EAAA;AAAA,MAC3B,QAAS,EAAA,QAAA;AAAA,MAET,8BAAC,KAAI,EAAA,EAAA,KAAA,EAAO,EAAE,KAAA,EAAO,QACpB,EAAA,QAAA,kBAAA,GAAA;AAAA,QAAC,UAAA;AAAA,QAAA;AAAA,UACA,KAAO,EAAA,QAAA;AAAA,UACP,SAAA;AAAA,UACA,SAAA,EAAW,CAAC,EAAI,EAAA,EAAA,EAAI,IAAI,EAAI,EAAA,EAAA,EAAI,GAAG,CAAE,CAAA,GAAA;AAAA,YAAI,CAAC,IACzC,KAAA,IAAA,CAAK,QAAS;AAAA,WACf;AAAA,UACA,IAAA;AAAA,UACA,QAAA;AAAA,UACA,YAAA;AAAA,UACA;AAAA;AAAA,OAEF,EAAA;AAAA;AAAA,GACD;AAEF","file":"PaginatedToolbar.js","sourcesContent":["import { DataTableToolbar, Pagination } from \"@dhis2/ui\";\nimport {\n\tuseTableState,\n\tuseToggleTableLoadingState,\n} from \"../../TableStateProvider\";\nimport { useTransition } from \"react\";\nimport { useUpdateEffect } from \"usehooks-ts\";\n\nexport function PaginatedToolbar() {\n\tconst [isPending, startTransition] = useTransition();\n\tconst table = useTableState();\n\tconst rowCount = table.getRowCount();\n\tconst page = table.getState().pagination.pageIndex + 1;\n\tconst pageSize = table.getState().pagination.pageSize;\n\tconst pageCount = table.getPageCount();\n\tconst toggleTableLoading = useToggleTableLoadingState();\n\n\tconst onPageChange = (page: number) => {\n\t\tstartTransition(() => {\n\t\t\ttable.setPageIndex(page - 1);\n\t\t});\n\t};\n\tconst onPageSizeChange = (pageSize: number) => {\n\t\tstartTransition(() => {\n\t\t\ttable.setPageSize(pageSize);\n\t\t});\n\t};\n\n\tuseUpdateEffect(() => {\n\t\ttoggleTableLoading();\n\t}, [isPending]);\n\n\tif (\n\t\trowCount <= 50 ||\n\t\t(table.options.meta as { disablePagination?: boolean })\n\t\t\t?.disablePagination\n\t) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<DataTableToolbar\n\t\t\t/*\n\t\t\t// @ts-ignore */\n\t\t\tstyle={{ position: \"unset\" }}\n\t\t\tposition=\"bottom\"\n\t\t>\n\t\t\t<div style={{ width: \"100%\" }}>\n\t\t\t\t<Pagination\n\t\t\t\t\ttotal={rowCount}\n\t\t\t\t\tpageCount={pageCount}\n\t\t\t\t\tpageSizes={[10, 20, 30, 40, 50, 100].map((size) =>\n\t\t\t\t\t\tsize.toString(),\n\t\t\t\t\t)}\n\t\t\t\t\tpage={page}\n\t\t\t\t\tpageSize={pageSize}\n\t\t\t\t\tonPageChange={onPageChange}\n\t\t\t\t\tonPageSizeChange={onPageSizeChange}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</DataTableToolbar>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../../../src/components/ScorecardTable/components/PaginatedToolbar.tsx"],"names":["page","pageSize"],"mappings":";;;;;;AAQO,SAAS,gBAAmB,GAAA;AAClC,EAAA,MAAM,CAAC,SAAA,EAAW,eAAe,CAAA,GAAI,aAAc,EAAA;AACnD,EAAA,MAAM,QAAQ,aAAc,EAAA;AAC5B,EAAM,MAAA,QAAA,GAAW,MAAM,WAAY,EAAA;AACnC,EAAA,MAAM,IAAO,GAAA,KAAA,CAAM,QAAS,EAAA,CAAE,WAAW,SAAY,GAAA,CAAA;AACrD,EAAA,MAAM,QAAW,GAAA,KAAA,CAAM,QAAS,EAAA,CAAE,UAAW,CAAA,QAAA;AAC7C,EAAM,MAAA,SAAA,GAAY,MAAM,YAAa,EAAA;AACrC,EAAA,MAAM,qBAAqB,0BAA2B,EAAA;AAEtD,EAAM,MAAA,YAAA,GAAe,CAACA,KAAiB,KAAA;AACtC,IAAA,eAAA,CAAgB,MAAM;AACrB,MAAM,KAAA,CAAA,YAAA,CAAaA,QAAO,CAAC,CAAA;AAAA,KAC3B,CAAA;AAAA,GACF;AACA,EAAM,MAAA,gBAAA,GAAmB,CAACC,SAAqB,KAAA;AAC9C,IAAA,eAAA,CAAgB,MAAM;AACrB,MAAA,KAAA,CAAM,YAAYA,SAAQ,CAAA;AAAA,KAC1B,CAAA;AAAA,GACF;AAEA,EAAA,eAAA,CAAgB,MAAM;AACrB,IAAmB,kBAAA,EAAA;AAAA,GACpB,EAAG,CAAC,SAAS,CAAC,CAAA;AAEd,EAAA,IACC,QAAY,IAAA,EAAA,IACX,KAAM,CAAA,OAAA,CAAQ,MACZ,iBACF,EAAA;AACD,IAAO,OAAA,IAAA;AAAA;AAGR,EACC,uBAAA,GAAA;AAAA,IAAC,gBAAA;AAAA,IAAA;AAAA,MAGA,KAAA,EAAO,EAAE,QAAA,EAAU,OAAQ,EAAA;AAAA,MAC3B,QAAS,EAAA,QAAA;AAAA,MAET,8BAAC,KAAI,EAAA,EAAA,KAAA,EAAO,EAAE,KAAA,EAAO,WACpB,EAAA,QAAA,kBAAA,GAAA;AAAA,QAAC,UAAA;AAAA,QAAA;AAAA,UACA,KAAO,EAAA,QAAA;AAAA,UACP,SAAA;AAAA,UACA,SAAA,EAAW,CAAC,EAAI,EAAA,EAAA,EAAI,IAAI,EAAI,EAAA,EAAA,EAAI,GAAG,CAAE,CAAA,GAAA;AAAA,YAAI,CAAC,IACzC,KAAA,IAAA,CAAK,QAAS;AAAA,WACf;AAAA,UACA,IAAA;AAAA,UACA,QAAA;AAAA,UACA,YAAA;AAAA,UACA;AAAA;AAAA,OAEF,EAAA;AAAA;AAAA,GACD;AAEF","file":"PaginatedToolbar.js","sourcesContent":["import { DataTableToolbar, Pagination } from \"@dhis2/ui\";\nimport {\n\tuseTableState,\n\tuseToggleTableLoadingState,\n} from \"../../TableStateProvider\";\nimport { useTransition } from \"react\";\nimport { useUpdateEffect } from \"usehooks-ts\";\n\nexport function PaginatedToolbar() {\n\tconst [isPending, startTransition] = useTransition();\n\tconst table = useTableState();\n\tconst rowCount = table.getRowCount();\n\tconst page = table.getState().pagination.pageIndex + 1;\n\tconst pageSize = table.getState().pagination.pageSize;\n\tconst pageCount = table.getPageCount();\n\tconst toggleTableLoading = useToggleTableLoadingState();\n\n\tconst onPageChange = (page: number) => {\n\t\tstartTransition(() => {\n\t\t\ttable.setPageIndex(page - 1);\n\t\t});\n\t};\n\tconst onPageSizeChange = (pageSize: number) => {\n\t\tstartTransition(() => {\n\t\t\ttable.setPageSize(pageSize);\n\t\t});\n\t};\n\n\tuseUpdateEffect(() => {\n\t\ttoggleTableLoading();\n\t}, [isPending]);\n\n\tif (\n\t\trowCount <= 50 ||\n\t\t(table.options.meta as { disablePagination?: boolean })\n\t\t\t?.disablePagination\n\t) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<DataTableToolbar\n\t\t\t/*\n\t\t\t// @ts-ignore */\n\t\t\tstyle={{ position: \"unset\" }}\n\t\t\tposition=\"bottom\"\n\t\t>\n\t\t\t<div style={{ width: \"stretch\" }}>\n\t\t\t\t<Pagination\n\t\t\t\t\ttotal={rowCount}\n\t\t\t\t\tpageCount={pageCount}\n\t\t\t\t\tpageSizes={[10, 20, 30, 40, 50, 100].map((size) =>\n\t\t\t\t\t\tsize.toString(),\n\t\t\t\t\t)}\n\t\t\t\t\tpage={page}\n\t\t\t\t\tpageSize={pageSize}\n\t\t\t\t\tonPageChange={onPageChange}\n\t\t\t\t\tonPageSizeChange={onPageSizeChange}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</DataTableToolbar>\n\t);\n}\n"]}
@@ -69,7 +69,7 @@ function SingleDataCellComponent({
69
69
  },
70
70
  onContextMenu: (e) => {
71
71
  e.preventDefault();
72
- if (disableFurtherAnalysis) {
72
+ if (!disableFurtherAnalysis) {
73
73
  setStateActionRef(e.target);
74
74
  }
75
75
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/ScorecardTable/components/SingleDataCell.tsx"],"names":[],"mappings":";;;;;;;;;;;AAsBA,SAAS,uBAAwB,CAAA;AAAA,EAChC,WAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA;AAAA,EACA;AACD,CAAmC,EAAA;AAClC,EAAA,MAAM,sBAAyB,GAAA,0BAAA;AAAA,IAC9B;AAAA,GACD;AACA,EAAA,MAAM,CAAC,qBAAA,EAAuB,wBAAwB,CAAA,GACrD,SAAuC,IAAI,CAAA;AAC5C,EAAM,MAAA,UAAA,GAAa,KAAK,WAAW,CAAA;AACnC,EAAA,MAAM,CAAC,cAAA,EAAgB,iBAAiB,CAAA,GAAI,SAAS,MAAS,CAAA;AAE9D,EAAM,MAAA,EAAE,gBAAiB,EAAA,GAAI,WAAY,CAAA;AAAA,IACxC,UAAA;AAAA,IACA,MAAA;AAAA,IACA;AAAA,GACA,CAAA;AAED,EAAA,IAAI,CAAC,UAAA,IAAc,CAAC,UAAA,CAAW,IAAM,EAAA;AACpC,IAAO,uBAAA,GAAA,CAAC,aAAc,EAAA,EAAA,QAAA,EAAQ,IAAC,EAAA,CAAA;AAAA;AAGhC,EAAA,uBAEG,IAAA,CAAA,QAAA,EAAA,EAAA,QAAA,EAAA;AAAA,IAAA,CAAC,CAAC,qBACF,oBAAA,GAAA;AAAA,MAAC,eAAA;AAAA,MAAA;AAAA,QACA,SAAS,MAAM;AACd,UAAA,wBAAA,CAAyB,IAAI,CAAA;AAAA,SAC9B;AAAA,QACA,MAAM,CAAC,qBAAA;AAAA,QACP,MAAQ,EAAA;AAAA;AAAA,KACT;AAAA,oBAED,GAAA;AAAA,MAAC,aAAA;AAAA,MAAA;AAAA,QACA,OAAA,EAAS,CAAC,KAAU,KAAA;AACnB,UAAA,KAAA,CAAM,eAAgB,EAAA;AACtB,UAAA,IAAI,CAAC,sBAAwB,EAAA;AAC5B,YAAyB,wBAAA,CAAA;AAAA,cACxB,eAAiB,EAAA;AAAA,gBAChB,OAAS,EAAA;AAAA,kBACR;AAAA,oBACC,EAAI,EAAA;AAAA;AACL;AACD,eACD;AAAA,cACA,gBAAkB,EAAA;AAAA,gBACjB,QAAQ,EAAC;AAAA,gBACT,QAAQ,EAAC;AAAA,gBACT,QAAU,EAAA;AAAA,kBACT;AAAA,oBACC,IAAI,OAAQ,CAAA;AAAA;AACb;AACD,eACD;AAAA,cACA;AAAA,aACA,CAAA;AAAA;AACF,SACD;AAAA,QACA,aAAA,EAAe,CAAC,CAAW,KAAA;AAC1B,UAAA,CAAA,CAAE,cAAe,EAAA;AACjB,UAAA,IAAI,sBAAwB,EAAA;AAC3B,YAAA,iBAAA,CAAkB,EAAE,MAAM,CAAA;AAAA;AAC3B,SACD;AAAA,QACA,QAAQ,EAAA,IAAA;AAAA,QACR,KAAO,EAAA;AAAA,UACN,YAAY,gBAAkB,EAAA,KAAA;AAAA,UAC9B,SAAW,EAAA,QAAA;AAAA,UACX,KAAO,EAAA,IAAA;AAAA,UACP,QAAU,EAAA,GAAA;AAAA,UACV,MAAQ,EAAA,EAAA;AAAA,UACR,OAAO,gBACJ,GAAA,+BAAA;AAAA,YACA,gBAAkB,EAAA;AAAA,WAElB,GAAA;AAAA,SACJ;AAAA,QAEC,QAAA,EAAA,UAAA,oBAAe,GAAA,CAAA,SAAA,EAAA,EAAU,UAAwB,EAAA;AAAA;AAAA,KACnD;AAAA,IAEC,cACA,oBAAA,GAAA;AAAA,MAAC,mBAAA;AAAA,MAAA;AAAA,QACA,WAAA;AAAA,QACA,QAAU,EAAA,wBAAA;AAAA,QACV,cAAA;AAAA,QACA,iBAAA;AAAA,QACA,OAAA;AAAA,QACA,QAAU,EAAA;AAAA;AAAA;AACX,GAEF,EAAA,CAAA;AAEF;AAEa,MAAA,cAAA,GAAiB,KAAK,uBAAuB","file":"SingleDataCell.js","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\";\nimport { useScorecardViewStateValue } from \"../../../utils\";\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 disableFurtherAnalysis = useScorecardViewStateValue<boolean>(\n\t\t\"disableFurtherAnalysis\",\n\t);\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\tif (!disableFurtherAnalysis) {\n\t\t\t\t\t\tsetFurtherAnalysisConfig({\n\t\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tid: period,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\torgUnitSelection: {\n\t\t\t\t\t\t\t\tlevels: [],\n\t\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tdataSources,\n\t\t\t\t\t\t});\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\tif (disableFurtherAnalysis) {\n\t\t\t\t\t\tsetStateActionRef(e.target);\n\t\t\t\t\t}\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"]}
1
+ {"version":3,"sources":["../../../../../src/components/ScorecardTable/components/SingleDataCell.tsx"],"names":[],"mappings":";;;;;;;;;;;AAsBA,SAAS,uBAAwB,CAAA;AAAA,EAChC,WAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA;AAAA,EACA;AACD,CAAmC,EAAA;AAClC,EAAA,MAAM,sBAAyB,GAAA,0BAAA;AAAA,IAC9B;AAAA,GACD;AACA,EAAA,MAAM,CAAC,qBAAA,EAAuB,wBAAwB,CAAA,GACrD,SAAuC,IAAI,CAAA;AAC5C,EAAM,MAAA,UAAA,GAAa,KAAK,WAAW,CAAA;AACnC,EAAA,MAAM,CAAC,cAAA,EAAgB,iBAAiB,CAAA,GAAI,SAAS,MAAS,CAAA;AAE9D,EAAM,MAAA,EAAE,gBAAiB,EAAA,GAAI,WAAY,CAAA;AAAA,IACxC,UAAA;AAAA,IACA,MAAA;AAAA,IACA;AAAA,GACA,CAAA;AAED,EAAA,IAAI,CAAC,UAAA,IAAc,CAAC,UAAA,CAAW,IAAM,EAAA;AACpC,IAAO,uBAAA,GAAA,CAAC,aAAc,EAAA,EAAA,QAAA,EAAQ,IAAC,EAAA,CAAA;AAAA;AAGhC,EAAA,uBAEG,IAAA,CAAA,QAAA,EAAA,EAAA,QAAA,EAAA;AAAA,IAAA,CAAC,CAAC,qBACF,oBAAA,GAAA;AAAA,MAAC,eAAA;AAAA,MAAA;AAAA,QACA,SAAS,MAAM;AACd,UAAA,wBAAA,CAAyB,IAAI,CAAA;AAAA,SAC9B;AAAA,QACA,MAAM,CAAC,qBAAA;AAAA,QACP,MAAQ,EAAA;AAAA;AAAA,KACT;AAAA,oBAED,GAAA;AAAA,MAAC,aAAA;AAAA,MAAA;AAAA,QACA,OAAA,EAAS,CAAC,KAAU,KAAA;AACnB,UAAA,KAAA,CAAM,eAAgB,EAAA;AACtB,UAAA,IAAI,CAAC,sBAAwB,EAAA;AAC5B,YAAyB,wBAAA,CAAA;AAAA,cACxB,eAAiB,EAAA;AAAA,gBAChB,OAAS,EAAA;AAAA,kBACR;AAAA,oBACC,EAAI,EAAA;AAAA;AACL;AACD,eACD;AAAA,cACA,gBAAkB,EAAA;AAAA,gBACjB,QAAQ,EAAC;AAAA,gBACT,QAAQ,EAAC;AAAA,gBACT,QAAU,EAAA;AAAA,kBACT;AAAA,oBACC,IAAI,OAAQ,CAAA;AAAA;AACb;AACD,eACD;AAAA,cACA;AAAA,aACA,CAAA;AAAA;AACF,SACD;AAAA,QACA,aAAA,EAAe,CAAC,CAAW,KAAA;AAC1B,UAAA,CAAA,CAAE,cAAe,EAAA;AACjB,UAAA,IAAI,CAAC,sBAAwB,EAAA;AAC5B,YAAA,iBAAA,CAAkB,EAAE,MAAM,CAAA;AAAA;AAC3B,SACD;AAAA,QACA,QAAQ,EAAA,IAAA;AAAA,QACR,KAAO,EAAA;AAAA,UACN,YAAY,gBAAkB,EAAA,KAAA;AAAA,UAC9B,SAAW,EAAA,QAAA;AAAA,UACX,KAAO,EAAA,IAAA;AAAA,UACP,QAAU,EAAA,GAAA;AAAA,UACV,MAAQ,EAAA,EAAA;AAAA,UACR,OAAO,gBACJ,GAAA,+BAAA;AAAA,YACA,gBAAkB,EAAA;AAAA,WAElB,GAAA;AAAA,SACJ;AAAA,QAEC,QAAA,EAAA,UAAA,oBAAe,GAAA,CAAA,SAAA,EAAA,EAAU,UAAwB,EAAA;AAAA;AAAA,KACnD;AAAA,IAEC,cACA,oBAAA,GAAA;AAAA,MAAC,mBAAA;AAAA,MAAA;AAAA,QACA,WAAA;AAAA,QACA,QAAU,EAAA,wBAAA;AAAA,QACV,cAAA;AAAA,QACA,iBAAA;AAAA,QACA,OAAA;AAAA,QACA,QAAU,EAAA;AAAA;AAAA;AACX,GAEF,EAAA,CAAA;AAEF;AAEa,MAAA,cAAA,GAAiB,KAAK,uBAAuB","file":"SingleDataCell.js","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\";\nimport { useScorecardViewStateValue } from \"../../../utils\";\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 disableFurtherAnalysis = useScorecardViewStateValue<boolean>(\n\t\t\"disableFurtherAnalysis\",\n\t);\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\tif (!disableFurtherAnalysis) {\n\t\t\t\t\t\tsetFurtherAnalysisConfig({\n\t\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tid: period,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\torgUnitSelection: {\n\t\t\t\t\t\t\t\tlevels: [],\n\t\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tdataSources,\n\t\t\t\t\t\t});\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\tif (!disableFurtherAnalysis) {\n\t\t\t\t\t\tsetStateActionRef(e.target);\n\t\t\t\t\t}\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,7 +4,7 @@ import { DataTableColumnHeader } from '@dhis2/ui';
4
4
  import i18n from '@dhis2/d2-i18n';
5
5
  import { DraggableCell } from '../../DraggableCell';
6
6
  import DroppableCell from '../../DroppableCell';
7
- import { useScorecardViewStateValue } from '../../../../../utils/viewState';
7
+ import { useScorecardViewStateValue } from '../../../../../utils';
8
8
 
9
9
  function EmptyDataHeaderCell({
10
10
  header
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../src/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.tsx"],"names":[],"mappings":";;;;;;;;AAWO,SAAS,mBAAoB,CAAA;AAAA,EACnC;AACD,CAA2C,EAAA;AAC1C,EAAM,MAAA,OAAA,GAAU,MAAO,CAAA,OAAA,CAAQ,QAAS,EAAA;AACxC,EAAO,uBAAA,GAAA,CAAC,yBAAsB,OAAkB,EAAA,CAAA;AACjD;AAEO,SAAS,uBAAwB,CAAA;AAAA,EACvC,MAAA;AAAA,EACA;AACD,CAA2C,EAAA;AAC1C,EAAM,MAAA,UAAA,GAAa,2BAAoC,gBAAgB,CAAA;AACvE,EAAM,MAAA,KAAA,GACJ,OAAO,MAAO,CAAA,SAAA,CAAU,KAA2B,KACnD,IAAA,MAAA,CAAO,UAAU,IAA2B,CAAA,KAAA;AAE9C,EAAM,MAAA,IAAA,GACJ,OAAO,MAAO,CAAA,SAAA,CAAU,KAA4B,IACpD,IAAA,MAAA,CAAO,UAAU,IAA4B,CAAA,IAAA;AAE/C,EAAM,MAAA,OAAA,GAAU,MAAO,CAAA,OAAA,CAAQ,QAAS,EAAA;AAExC,EAAA,MAAM,gBAAgB,CAAC,MAAA,EAAQ,aAC5B,GAAA,SAAA,GACC,OAAQ,WAAY,EAAA;AACxB,EAAA,MAAM,eACL,MAAQ,EAAA,mBAAA,OAA0B,KAC/B,GAAA,IAAA,CAAK,EAAE,oBAAoB,CAAA,GAC3B,QAAQ,mBAAoB,EAAA,KAAM,SACjC,IAAK,CAAA,CAAA,CAAE,qBAAqB,CAC5B,GAAA,IAAA,CAAK,EAAE,SAAS,CAAA;AAErB,EACC,uBAAA,GAAA;AAAA,IAAC,qBAAA;AAAA,IAAA;AAAA,MAEA,eAAe,IAAK,CAAA,CAAA,CAAE,uBAAyB,EAAA,EAAE,cAAc,CAAA;AAAA,MAC/D,eAAA,EACC,MAAO,CAAA,MAAA,EAAQ,UAAW,EAAA,IAAK,OAAO,UAAW,EAAA,GAC9C,CAAC,CAAA,EAAG,CAAM,KAAA;AACV,QAAM,MAAA,IAAA,GAAO,OAAQ,uBAAwB,EAAA;AAC7C,QAAA,IAAI,IAAM,EAAA;AACT,UAAA,IAAA,CAAK,CAAC,CAAA;AAAA;AACP,OAEA,GAAA,MAAA;AAAA,MAEJ,aAAA,EACC,OAAO,MAAQ,EAAA,UAAA,MAAgB,MAAO,CAAA,UAAA,KACnC,aACA,GAAA,MAAA;AAAA,MAEJ,KAAM,EAAA,QAAA;AAAA,MACN,OAAA;AAAA,MAEA,QAAA,kBAAA,GAAA;AAAA,QAAC,aAAA;AAAA,QAAA;AAAA,UACA,MAAA,EACC,aACG,CAAC,uBAAA,CAAwB,IAAI,CAC7B,GAAA,CAAC,wBAAwB,EAAE,CAAA;AAAA,UAG/B,QAAA,kBAAA,GAAA;AAAA,YAAC,aAAA;AAAA,YAAA;AAAA,cACA,EAAI,EAAA,KAAA;AAAA,cACJ,IACC,EAAA,UAAA,GACG,uBAAwB,CAAA,EAAA,GACxB,uBAAwB,CAAA,IAAA;AAAA,cAG3B,QAAO,EAAA,IAAA,mBAAA,GAAA,CAAC,GAAG,EAAA,EAAA,QAAA,EAAA,KAAA,EAAM,CAAO,GAAA;AAAA;AAAA;AAC1B;AAAA;AACD,KAAA;AAAA,IArCK,GAAG,KAAK,CAAA;AAAA,GAsCd;AAEF;AAEO,MAAM,cAAiB,GAAA","file":"DataHeaderCell.js","sourcesContent":["import type { HeaderContext } from \"@tanstack/react-table\";\nimport {\n\tScorecardDraggableItems,\n\ttype ScorecardTableData,\n} from \"../../../../../schemas/config\";\nimport { DataTableColumnHeader, type DataTableSortDirection } from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { DraggableCell } from \"../../DraggableCell\";\nimport DroppableCell from \"../../DroppableCell\";\nimport { useScorecardViewStateValue } from \"../../../../../utils/viewState\";\n\nexport function EmptyDataHeaderCell({\n\theader,\n}: HeaderContext<ScorecardTableData, any>) {\n\tconst colSpan = header.colSpan.toString();\n\treturn <DataTableColumnHeader colSpan={colSpan} />;\n}\n\nexport function DataHeaderCellComponent({\n\tcolumn,\n\theader,\n}: HeaderContext<ScorecardTableData, any>) {\n\tconst dataInRows = useScorecardViewStateValue<boolean>(\"showDataInRows\");\n\tconst label =\n\t\t(header.column.columnDef.meta as { label: string }).label ??\n\t\t(column.columnDef.meta as { label: string }).label;\n\n\tconst bold =\n\t\t(header.column.columnDef.meta as { bold?: boolean }).bold ??\n\t\t(column.columnDef.meta as { bold?: boolean }).bold;\n\n\tconst colSpan = header.colSpan.toString();\n\n\tconst sortDirection = !column?.getIsSorted()\n\t\t? \"default\"\n\t\t: (column!.getIsSorted() as DataTableSortDirection);\n\tconst nextSortType =\n\t\tcolumn?.getNextSortingOrder() === \"asc\"\n\t\t\t? i18n.t(\"in ascending order\")\n\t\t\t: column?.getNextSortingOrder() === \"desc\"\n\t\t\t\t? i18n.t(\"in descending order\")\n\t\t\t\t: i18n.t(\"disable\");\n\n\treturn (\n\t\t<DataTableColumnHeader\n\t\t\tkey={`${label}`}\n\t\t\tsortIconTitle={i18n.t(\"Sort {{nextSortType}}\", { nextSortType })}\n\t\t\tonSortIconClick={\n\t\t\t\theader.column?.getCanSort() || column.getCanSort()\n\t\t\t\t\t? (_, e) => {\n\t\t\t\t\t\t\tconst sort = column!.getToggleSortingHandler();\n\t\t\t\t\t\t\tif (sort) {\n\t\t\t\t\t\t\t\tsort(e);\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\tsortDirection={\n\t\t\t\theader.column?.getCanSort() || column.getCanSort()\n\t\t\t\t\t? sortDirection\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t\talign=\"center\"\n\t\t\tcolSpan={colSpan}\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.data]\n\t\t\t\t\t\t: [ScorecardDraggableItems.ou]\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<DraggableCell\n\t\t\t\t\tid={label}\n\t\t\t\t\ttype={\n\t\t\t\t\t\tdataInRows\n\t\t\t\t\t\t\t? ScorecardDraggableItems.ou\n\t\t\t\t\t\t\t: ScorecardDraggableItems.data\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{bold ? <b>{label}</b> : label}\n\t\t\t\t</DraggableCell>\n\t\t\t</DroppableCell>\n\t\t</DataTableColumnHeader>\n\t);\n}\n\nexport const DataHeaderCell = DataHeaderCellComponent;\n"]}
1
+ {"version":3,"sources":["../../../../../../../src/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.tsx"],"names":[],"mappings":";;;;;;;;AAWO,SAAS,mBAAoB,CAAA;AAAA,EACnC;AACD,CAA2C,EAAA;AAC1C,EAAM,MAAA,OAAA,GAAU,MAAO,CAAA,OAAA,CAAQ,QAAS,EAAA;AACxC,EAAO,uBAAA,GAAA,CAAC,yBAAsB,OAAkB,EAAA,CAAA;AACjD;AAEO,SAAS,uBAAwB,CAAA;AAAA,EACvC,MAAA;AAAA,EACA;AACD,CAA2C,EAAA;AAC1C,EAAM,MAAA,UAAA,GAAa,2BAAoC,gBAAgB,CAAA;AACvE,EAAM,MAAA,KAAA,GACJ,OAAO,MAAO,CAAA,SAAA,CAAU,KAA2B,KACnD,IAAA,MAAA,CAAO,UAAU,IAA2B,CAAA,KAAA;AAE9C,EAAM,MAAA,IAAA,GACJ,OAAO,MAAO,CAAA,SAAA,CAAU,KAA4B,IACpD,IAAA,MAAA,CAAO,UAAU,IAA4B,CAAA,IAAA;AAE/C,EAAM,MAAA,OAAA,GAAU,MAAO,CAAA,OAAA,CAAQ,QAAS,EAAA;AAExC,EAAA,MAAM,gBAAgB,CAAC,MAAA,EAAQ,aAC5B,GAAA,SAAA,GACC,OAAQ,WAAY,EAAA;AACxB,EAAA,MAAM,eACL,MAAQ,EAAA,mBAAA,OAA0B,KAC/B,GAAA,IAAA,CAAK,EAAE,oBAAoB,CAAA,GAC3B,QAAQ,mBAAoB,EAAA,KAAM,SACjC,IAAK,CAAA,CAAA,CAAE,qBAAqB,CAC5B,GAAA,IAAA,CAAK,EAAE,SAAS,CAAA;AAErB,EACC,uBAAA,GAAA;AAAA,IAAC,qBAAA;AAAA,IAAA;AAAA,MAEA,eAAe,IAAK,CAAA,CAAA,CAAE,uBAAyB,EAAA,EAAE,cAAc,CAAA;AAAA,MAC/D,eAAA,EACC,MAAO,CAAA,MAAA,EAAQ,UAAW,EAAA,IAAK,OAAO,UAAW,EAAA,GAC9C,CAAC,CAAA,EAAG,CAAM,KAAA;AACV,QAAM,MAAA,IAAA,GAAO,OAAQ,uBAAwB,EAAA;AAC7C,QAAA,IAAI,IAAM,EAAA;AACT,UAAA,IAAA,CAAK,CAAC,CAAA;AAAA;AACP,OAEA,GAAA,MAAA;AAAA,MAEJ,aAAA,EACC,OAAO,MAAQ,EAAA,UAAA,MAAgB,MAAO,CAAA,UAAA,KACnC,aACA,GAAA,MAAA;AAAA,MAEJ,KAAM,EAAA,QAAA;AAAA,MACN,OAAA;AAAA,MAEA,QAAA,kBAAA,GAAA;AAAA,QAAC,aAAA;AAAA,QAAA;AAAA,UACA,MAAA,EACC,aACG,CAAC,uBAAA,CAAwB,IAAI,CAC7B,GAAA,CAAC,wBAAwB,EAAE,CAAA;AAAA,UAG/B,QAAA,kBAAA,GAAA;AAAA,YAAC,aAAA;AAAA,YAAA;AAAA,cACA,EAAI,EAAA,KAAA;AAAA,cACJ,IACC,EAAA,UAAA,GACG,uBAAwB,CAAA,EAAA,GACxB,uBAAwB,CAAA,IAAA;AAAA,cAG3B,QAAO,EAAA,IAAA,mBAAA,GAAA,CAAC,GAAG,EAAA,EAAA,QAAA,EAAA,KAAA,EAAM,CAAO,GAAA;AAAA;AAAA;AAC1B;AAAA;AACD,KAAA;AAAA,IArCK,GAAG,KAAK,CAAA;AAAA,GAsCd;AAEF;AAEO,MAAM,cAAiB,GAAA","file":"DataHeaderCell.js","sourcesContent":["import type { HeaderContext } from \"@tanstack/react-table\";\nimport {\n\tScorecardDraggableItems,\n\ttype ScorecardTableData,\n} from \"../../../../../schemas/config\";\nimport { DataTableColumnHeader, type DataTableSortDirection } from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { DraggableCell } from \"../../DraggableCell\";\nimport DroppableCell from \"../../DroppableCell\";\nimport { useScorecardViewStateValue } from \"../../../../../utils\";\n\nexport function EmptyDataHeaderCell({\n\theader,\n}: HeaderContext<ScorecardTableData, any>) {\n\tconst colSpan = header.colSpan.toString();\n\treturn <DataTableColumnHeader colSpan={colSpan} />;\n}\n\nexport function DataHeaderCellComponent({\n\tcolumn,\n\theader,\n}: HeaderContext<ScorecardTableData, any>) {\n\tconst dataInRows = useScorecardViewStateValue<boolean>(\"showDataInRows\");\n\tconst label =\n\t\t(header.column.columnDef.meta as { label: string }).label ??\n\t\t(column.columnDef.meta as { label: string }).label;\n\n\tconst bold =\n\t\t(header.column.columnDef.meta as { bold?: boolean }).bold ??\n\t\t(column.columnDef.meta as { bold?: boolean }).bold;\n\n\tconst colSpan = header.colSpan.toString();\n\n\tconst sortDirection = !column?.getIsSorted()\n\t\t? \"default\"\n\t\t: (column!.getIsSorted() as DataTableSortDirection);\n\tconst nextSortType =\n\t\tcolumn?.getNextSortingOrder() === \"asc\"\n\t\t\t? i18n.t(\"in ascending order\")\n\t\t\t: column?.getNextSortingOrder() === \"desc\"\n\t\t\t\t? i18n.t(\"in descending order\")\n\t\t\t\t: i18n.t(\"disable\");\n\n\treturn (\n\t\t<DataTableColumnHeader\n\t\t\tkey={`${label}`}\n\t\t\tsortIconTitle={i18n.t(\"Sort {{nextSortType}}\", { nextSortType })}\n\t\t\tonSortIconClick={\n\t\t\t\theader.column?.getCanSort() || column.getCanSort()\n\t\t\t\t\t? (_, e) => {\n\t\t\t\t\t\t\tconst sort = column!.getToggleSortingHandler();\n\t\t\t\t\t\t\tif (sort) {\n\t\t\t\t\t\t\t\tsort(e);\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\tsortDirection={\n\t\t\t\theader.column?.getCanSort() || column.getCanSort()\n\t\t\t\t\t? sortDirection\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t\talign=\"center\"\n\t\t\tcolSpan={colSpan}\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.data]\n\t\t\t\t\t\t: [ScorecardDraggableItems.ou]\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<DraggableCell\n\t\t\t\t\tid={label}\n\t\t\t\t\ttype={\n\t\t\t\t\t\tdataInRows\n\t\t\t\t\t\t\t? ScorecardDraggableItems.ou\n\t\t\t\t\t\t\t: ScorecardDraggableItems.data\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{bold ? <b>{label}</b> : label}\n\t\t\t\t</DraggableCell>\n\t\t\t</DroppableCell>\n\t\t</DataTableColumnHeader>\n\t);\n}\n\nexport const DataHeaderCell = DataHeaderCellComponent;\n"]}
@@ -5,7 +5,7 @@ import DroppableCell from '../../DroppableCell';
5
5
  import { DraggableCell } from '../../DraggableCell';
6
6
  import { useMemo } from 'react';
7
7
  import { isEmpty } from 'lodash';
8
- import { useScorecardViewStateValue } from '../../../../../utils/viewState';
8
+ import { useScorecardViewStateValue } from '../../../../../utils';
9
9
 
10
10
  function LabelCellComponent(props) {
11
11
  const data = props.getValue();
@@ -16,7 +16,7 @@ function LabelCellComponent(props) {
16
16
  const left = useMemo(() => {
17
17
  const index = props.row.getVisibleCells().findIndex(({ id }) => props.cell.id === id);
18
18
  return index * 48;
19
- }, [props.row.getVisibleCells(), props.cell.id]);
19
+ }, [props.cell.id, props.row]);
20
20
  const label = useMemo(() => {
21
21
  if (dataInRows) {
22
22
  return data.label ?? "";