@hisptz/dhis2-scorecard 1.0.5 → 1.0.6

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 (96) hide show
  1. package/dist/Scorecard.stories.js +2 -2
  2. package/dist/Scorecard.stories.js.map +1 -1
  3. package/dist/components/ColGroup.js +3 -3
  4. package/dist/components/ColGroup.js.map +1 -1
  5. package/dist/components/ScorecardHeader.js +3 -3
  6. package/dist/components/ScorecardHeader.js.map +1 -1
  7. package/dist/components/ScorecardLegendsView/components/ArrowLegendView.js +2 -2
  8. package/dist/components/ScorecardLegendsView/components/ArrowLegendView.js.map +1 -1
  9. package/dist/components/ScorecardTable/ScorecardTable.js +2 -2
  10. package/dist/components/ScorecardTable/ScorecardTable.js.map +1 -1
  11. package/dist/components/ScorecardTable/components/AverageCell.js +2 -2
  12. package/dist/components/ScorecardTable/components/AverageCell.js.map +1 -1
  13. package/dist/components/ScorecardTable/components/DataFooterCell.js +2 -2
  14. package/dist/components/ScorecardTable/components/DataFooterCell.js.map +1 -1
  15. package/dist/components/ScorecardTable/components/DataValue.js +2 -2
  16. package/dist/components/ScorecardTable/components/DataValue.js.map +1 -1
  17. package/dist/components/ScorecardTable/components/ExpandedScorecardTable.js +3 -3
  18. package/dist/components/ScorecardTable/components/ExpandedScorecardTable.js.map +1 -1
  19. package/dist/components/ScorecardTable/components/MetaFooterCell.js +2 -2
  20. package/dist/components/ScorecardTable/components/MetaFooterCell.js.map +1 -1
  21. package/dist/components/ScorecardTable/components/TableFoot.js +2 -2
  22. package/dist/components/ScorecardTable/components/TableFoot.js.map +1 -1
  23. package/dist/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.js +3 -3
  24. package/dist/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.js.map +1 -1
  25. package/dist/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js +2 -2
  26. package/dist/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js.map +1 -1
  27. package/dist/components/ScorecardTable/components/TableHeader/components/FilterArea.js +2 -2
  28. package/dist/components/ScorecardTable/components/TableHeader/components/FilterArea.js.map +1 -1
  29. package/dist/components/ScorecardTable/components/TableHeader/components/LabelCell.js +4 -4
  30. package/dist/components/ScorecardTable/components/TableHeader/components/LabelCell.js.map +1 -1
  31. package/dist/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js +3 -3
  32. package/dist/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js.map +1 -1
  33. package/dist/components/StateProvider.js +2 -2
  34. package/dist/components/StateProvider.js.map +1 -1
  35. package/dist/esm/Scorecard.stories.js +1 -1
  36. package/dist/esm/Scorecard.stories.js.map +1 -1
  37. package/dist/esm/components/ColGroup.js +1 -1
  38. package/dist/esm/components/ColGroup.js.map +1 -1
  39. package/dist/esm/components/ScorecardHeader.js +1 -1
  40. package/dist/esm/components/ScorecardHeader.js.map +1 -1
  41. package/dist/esm/components/ScorecardLegendsView/components/ArrowLegendView.js +1 -1
  42. package/dist/esm/components/ScorecardLegendsView/components/ArrowLegendView.js.map +1 -1
  43. package/dist/esm/components/ScorecardTable/ScorecardTable.js +1 -1
  44. package/dist/esm/components/ScorecardTable/ScorecardTable.js.map +1 -1
  45. package/dist/esm/components/ScorecardTable/components/AverageCell.js +1 -1
  46. package/dist/esm/components/ScorecardTable/components/AverageCell.js.map +1 -1
  47. package/dist/esm/components/ScorecardTable/components/DataFooterCell.js +1 -1
  48. package/dist/esm/components/ScorecardTable/components/DataFooterCell.js.map +1 -1
  49. package/dist/esm/components/ScorecardTable/components/DataValue.js +1 -1
  50. package/dist/esm/components/ScorecardTable/components/DataValue.js.map +1 -1
  51. package/dist/esm/components/ScorecardTable/components/ExpandedScorecardTable.js +1 -1
  52. package/dist/esm/components/ScorecardTable/components/ExpandedScorecardTable.js.map +1 -1
  53. package/dist/esm/components/ScorecardTable/components/MetaFooterCell.js +1 -1
  54. package/dist/esm/components/ScorecardTable/components/MetaFooterCell.js.map +1 -1
  55. package/dist/esm/components/ScorecardTable/components/TableFoot.js +1 -1
  56. package/dist/esm/components/ScorecardTable/components/TableFoot.js.map +1 -1
  57. package/dist/esm/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.js +1 -1
  58. package/dist/esm/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.js.map +1 -1
  59. package/dist/esm/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js +1 -1
  60. package/dist/esm/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js.map +1 -1
  61. package/dist/esm/components/ScorecardTable/components/TableHeader/components/FilterArea.js +1 -1
  62. package/dist/esm/components/ScorecardTable/components/TableHeader/components/FilterArea.js.map +1 -1
  63. package/dist/esm/components/ScorecardTable/components/TableHeader/components/LabelCell.js +1 -1
  64. package/dist/esm/components/ScorecardTable/components/TableHeader/components/LabelCell.js.map +1 -1
  65. package/dist/esm/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js +1 -1
  66. package/dist/esm/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js.map +1 -1
  67. package/dist/esm/components/StateProvider.js +1 -1
  68. package/dist/esm/components/StateProvider.js.map +1 -1
  69. package/dist/esm/hooks/columns.js +1 -1
  70. package/dist/esm/hooks/columns.js.map +1 -1
  71. package/dist/esm/hooks/metadata.js +1 -1
  72. package/dist/esm/hooks/metadata.js.map +1 -1
  73. package/dist/esm/hooks/table.js +1 -1
  74. package/dist/esm/hooks/table.js.map +1 -1
  75. package/dist/esm/index.js +1 -0
  76. package/dist/esm/index.js.map +1 -1
  77. package/dist/esm/state/{scorecardState.js → index.js} +13 -3
  78. package/dist/esm/state/index.js.map +1 -0
  79. package/dist/hooks/columns.js +6 -6
  80. package/dist/hooks/columns.js.map +1 -1
  81. package/dist/hooks/metadata.js +3 -3
  82. package/dist/hooks/metadata.js.map +1 -1
  83. package/dist/hooks/table.js +10 -10
  84. package/dist/hooks/table.js.map +1 -1
  85. package/dist/index.js +7 -0
  86. package/dist/index.js.map +1 -1
  87. package/dist/state/{scorecardState.js → index.js} +13 -1
  88. package/dist/state/index.js.map +1 -0
  89. package/dist/types/index.d.ts +1 -0
  90. package/dist/types/index.d.ts.map +1 -1
  91. package/dist/types/state/{scorecardState.d.ts → index.d.ts} +31 -1
  92. package/dist/types/state/index.d.ts.map +1 -0
  93. package/package.json +1 -1
  94. package/dist/esm/state/scorecardState.js.map +0 -1
  95. package/dist/state/scorecardState.js.map +0 -1
  96. package/dist/types/state/scorecardState.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ScorecardTable/components/DataFooterCell.tsx"],"names":["average"],"mappings":"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","sourcesContent":["import type { HeaderContext } from \"@tanstack/react-table\";\nimport type {\n\tScorecardAverageCellData,\n\tScorecardTableCellConfig,\n\tScorecardTableData,\n} from \"../../../schemas/config\";\nimport { useEffect, useMemo, useState } from \"react\";\nimport { DataTableCell } from \"@dhis2/ui\";\nimport type { AnalyticsData } from \"../../../utils/data\";\nimport { useScorecardData } from \"../../DataProvider\";\nimport { head, isEmpty, meanBy } from \"lodash\";\nimport { CellLoader } from \"./CellLoader\";\nimport { LinkedAverageCell, SingleAverageCell } from \"./AverageCell\";\nimport { useScorecardStateSelectorValue } from \"../../../state/scorecardState\";\n\nfunction getOrgUnitAverage({\n\tdataSourcesConfig,\n\tdata,\n}: {\n\tdataSourcesConfig: ScorecardTableCellConfig[];\n\tdata: AnalyticsData[];\n}): ScorecardAverageCellData[] {\n\tconst dataSourceConfig = head(dataSourcesConfig)!;\n\n\treturn dataSourceConfig.dataSources?.map((config) => {\n\t\tconst period = dataSourceConfig.currentPeriod!;\n\t\tconst dataValues = data.filter(\n\t\t\t(datum) => datum.pe === period && datum.dx === config.id,\n\t\t);\n\t\tconst average = meanBy(dataValues, (value) => parseFloat(value.value!));\n\n\t\treturn {\n\t\t\t...config,\n\t\t\tdata: {\n\t\t\t\taverage,\n\t\t\t},\n\t\t};\n\t});\n}\n\nfunction OrgUnitFooterCell({\n\tdataSourcesConfig,\n\tsize,\n}: {\n\tdataSourcesConfig: ScorecardTableCellConfig[];\n\tsize: number;\n}) {\n\tconst { data: scorecardEngine } = useScorecardData();\n\tconst [loading, setLoading] = useState<boolean>(false);\n\tconst [averageValues, setAverageValues] =\n\t\tuseState<ScorecardAverageCellData[]>();\n\n\tuseEffect(() => {\n\t\tsetLoading(true);\n\t\tconst listener = (completed: boolean) => {\n\t\t\tif (completed) {\n\t\t\t\tsetAverageValues(\n\t\t\t\t\tgetOrgUnitAverage({\n\t\t\t\t\t\tdataSourcesConfig,\n\t\t\t\t\t\tdata: scorecardEngine.data,\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t\tsetLoading(false);\n\t\t\t}\n\t\t};\n\t\tif (scorecardEngine.isDone) {\n\t\t\tsetAverageValues(\n\t\t\t\tgetOrgUnitAverage({\n\t\t\t\t\tdataSourcesConfig,\n\t\t\t\t\tdata: scorecardEngine.data,\n\t\t\t\t}),\n\t\t\t);\n\t\t\tsetLoading(false);\n\t\t} else {\n\t\t\treturn scorecardEngine.addOnCompleteListener(listener);\n\t\t}\n\t}, [dataSourcesConfig]);\n\n\tif (loading) {\n\t\treturn <CellLoader size={size} />;\n\t}\n\n\tif (isEmpty(averageValues)) {\n\t\treturn <DataTableCell style={{ width: size }} bordered />;\n\t}\n\n\tif (averageValues?.length === 1) {\n\t\treturn (\n\t\t\t<SingleAverageCell size={size} dataSource={head(averageValues)!} />\n\t\t);\n\t} else {\n\t\treturn <LinkedAverageCell size={size} dataSources={averageValues!} />;\n\t}\n}\n\nfunction DataHolderFooterCell({\n\tdataSourcesConfig,\n\tsize,\n}: {\n\tdataSourcesConfig: ScorecardTableCellConfig[];\n\tsize: number;\n}) {\n\tconst { data: scorecardEngine } = useScorecardData();\n\tconst [loading, setLoading] = useState<boolean>(false);\n\tconst [average, setAverage] = useState<number>();\n\n\tuseEffect(() => {\n\t\tsetLoading(true);\n\t\tconst listener = (completed: boolean) => {\n\t\t\tif (completed) {\n\t\t\t\tsetLoading(false);\n\t\t\t\tconst orgUnitId = head(dataSourcesConfig)!;\n\t\t\t\tconst dataValues = scorecardEngine.data.filter(\n\t\t\t\t\t(datum) => datum.ou === orgUnitId.orgUnit.uid,\n\t\t\t\t);\n\t\t\t\tconst average = meanBy(dataValues, (value) =>\n\t\t\t\t\tparseFloat(value.value!),\n\t\t\t\t);\n\t\t\t\tsetAverage(average);\n\t\t\t}\n\t\t};\n\t\tif (scorecardEngine.isDone) {\n\t\t\tconst orgUnitId = head(dataSourcesConfig)!;\n\t\t\tconst dataValues = scorecardEngine.data.filter(\n\t\t\t\t(datum) => datum.ou === orgUnitId.orgUnit.uid,\n\t\t\t);\n\t\t\tconst average = meanBy(dataValues, (value) =>\n\t\t\t\tparseFloat(value.value!),\n\t\t\t);\n\t\t\tsetAverage(average);\n\t\t\tsetLoading(false);\n\t\t} else {\n\t\t\treturn scorecardEngine.addOnCompleteListener(listener);\n\t\t}\n\t}, [dataSourcesConfig]);\n\n\tif (loading) {\n\t\treturn <CellLoader size={size} />;\n\t}\n\treturn (\n\t\t<DataTableCell style={{ width: size }} bordered align=\"center\">\n\t\t\t<b>{average?.toFixed(2).toString()}</b>\n\t\t</DataTableCell>\n\t);\n}\n\nexport function DataFooterCell({\n\ttable,\n\tcolumn,\n}: HeaderContext<ScorecardTableData, ScorecardTableCellConfig>) {\n\tconst size = column.getSize();\n\tconst showDataInRows = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\n\tconst dataSourceConfig = useMemo(() => {\n\t\treturn table\n\t\t\t.getRowModel()\n\t\t\t.rows.map((row) =>\n\t\t\t\trow.getValue(column.id),\n\t\t\t) as ScorecardTableCellConfig[];\n\t}, [table.getRowModel().rows]);\n\n\tif (showDataInRows) {\n\t\treturn (\n\t\t\t<DataHolderFooterCell\n\t\t\t\tsize={size}\n\t\t\t\tdataSourcesConfig={dataSourceConfig}\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<OrgUnitFooterCell size={size} dataSourcesConfig={dataSourceConfig} />\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../../src/components/ScorecardTable/components/DataFooterCell.tsx"],"names":["average"],"mappings":"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","sourcesContent":["import type { HeaderContext } from \"@tanstack/react-table\";\nimport type {\n\tScorecardAverageCellData,\n\tScorecardTableCellConfig,\n\tScorecardTableData,\n} from \"../../../schemas/config\";\nimport { useEffect, useMemo, useState } from \"react\";\nimport { DataTableCell } from \"@dhis2/ui\";\nimport type { AnalyticsData } from \"../../../utils/data\";\nimport { useScorecardData } from \"../../DataProvider\";\nimport { head, isEmpty, meanBy } from \"lodash\";\nimport { CellLoader } from \"./CellLoader\";\nimport { LinkedAverageCell, SingleAverageCell } from \"./AverageCell\";\nimport { useScorecardStateSelectorValue } from \"../../../state\";\n\nfunction getOrgUnitAverage({\n\tdataSourcesConfig,\n\tdata,\n}: {\n\tdataSourcesConfig: ScorecardTableCellConfig[];\n\tdata: AnalyticsData[];\n}): ScorecardAverageCellData[] {\n\tconst dataSourceConfig = head(dataSourcesConfig)!;\n\n\treturn dataSourceConfig.dataSources?.map((config) => {\n\t\tconst period = dataSourceConfig.currentPeriod!;\n\t\tconst dataValues = data.filter(\n\t\t\t(datum) => datum.pe === period && datum.dx === config.id,\n\t\t);\n\t\tconst average = meanBy(dataValues, (value) => parseFloat(value.value!));\n\n\t\treturn {\n\t\t\t...config,\n\t\t\tdata: {\n\t\t\t\taverage,\n\t\t\t},\n\t\t};\n\t});\n}\n\nfunction OrgUnitFooterCell({\n\tdataSourcesConfig,\n\tsize,\n}: {\n\tdataSourcesConfig: ScorecardTableCellConfig[];\n\tsize: number;\n}) {\n\tconst { data: scorecardEngine } = useScorecardData();\n\tconst [loading, setLoading] = useState<boolean>(false);\n\tconst [averageValues, setAverageValues] =\n\t\tuseState<ScorecardAverageCellData[]>();\n\n\tuseEffect(() => {\n\t\tsetLoading(true);\n\t\tconst listener = (completed: boolean) => {\n\t\t\tif (completed) {\n\t\t\t\tsetAverageValues(\n\t\t\t\t\tgetOrgUnitAverage({\n\t\t\t\t\t\tdataSourcesConfig,\n\t\t\t\t\t\tdata: scorecardEngine.data,\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t\tsetLoading(false);\n\t\t\t}\n\t\t};\n\t\tif (scorecardEngine.isDone) {\n\t\t\tsetAverageValues(\n\t\t\t\tgetOrgUnitAverage({\n\t\t\t\t\tdataSourcesConfig,\n\t\t\t\t\tdata: scorecardEngine.data,\n\t\t\t\t}),\n\t\t\t);\n\t\t\tsetLoading(false);\n\t\t} else {\n\t\t\treturn scorecardEngine.addOnCompleteListener(listener);\n\t\t}\n\t}, [dataSourcesConfig]);\n\n\tif (loading) {\n\t\treturn <CellLoader size={size} />;\n\t}\n\n\tif (isEmpty(averageValues)) {\n\t\treturn <DataTableCell style={{ width: size }} bordered />;\n\t}\n\n\tif (averageValues?.length === 1) {\n\t\treturn (\n\t\t\t<SingleAverageCell size={size} dataSource={head(averageValues)!} />\n\t\t);\n\t} else {\n\t\treturn <LinkedAverageCell size={size} dataSources={averageValues!} />;\n\t}\n}\n\nfunction DataHolderFooterCell({\n\tdataSourcesConfig,\n\tsize,\n}: {\n\tdataSourcesConfig: ScorecardTableCellConfig[];\n\tsize: number;\n}) {\n\tconst { data: scorecardEngine } = useScorecardData();\n\tconst [loading, setLoading] = useState<boolean>(false);\n\tconst [average, setAverage] = useState<number>();\n\n\tuseEffect(() => {\n\t\tsetLoading(true);\n\t\tconst listener = (completed: boolean) => {\n\t\t\tif (completed) {\n\t\t\t\tsetLoading(false);\n\t\t\t\tconst orgUnitId = head(dataSourcesConfig)!;\n\t\t\t\tconst dataValues = scorecardEngine.data.filter(\n\t\t\t\t\t(datum) => datum.ou === orgUnitId.orgUnit.uid,\n\t\t\t\t);\n\t\t\t\tconst average = meanBy(dataValues, (value) =>\n\t\t\t\t\tparseFloat(value.value!),\n\t\t\t\t);\n\t\t\t\tsetAverage(average);\n\t\t\t}\n\t\t};\n\t\tif (scorecardEngine.isDone) {\n\t\t\tconst orgUnitId = head(dataSourcesConfig)!;\n\t\t\tconst dataValues = scorecardEngine.data.filter(\n\t\t\t\t(datum) => datum.ou === orgUnitId.orgUnit.uid,\n\t\t\t);\n\t\t\tconst average = meanBy(dataValues, (value) =>\n\t\t\t\tparseFloat(value.value!),\n\t\t\t);\n\t\t\tsetAverage(average);\n\t\t\tsetLoading(false);\n\t\t} else {\n\t\t\treturn scorecardEngine.addOnCompleteListener(listener);\n\t\t}\n\t}, [dataSourcesConfig]);\n\n\tif (loading) {\n\t\treturn <CellLoader size={size} />;\n\t}\n\treturn (\n\t\t<DataTableCell style={{ width: size }} bordered align=\"center\">\n\t\t\t<b>{average?.toFixed(2).toString()}</b>\n\t\t</DataTableCell>\n\t);\n}\n\nexport function DataFooterCell({\n\ttable,\n\tcolumn,\n}: HeaderContext<ScorecardTableData, ScorecardTableCellConfig>) {\n\tconst size = column.getSize();\n\tconst showDataInRows = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\n\tconst dataSourceConfig = useMemo(() => {\n\t\treturn table\n\t\t\t.getRowModel()\n\t\t\t.rows.map((row) =>\n\t\t\t\trow.getValue(column.id),\n\t\t\t) as ScorecardTableCellConfig[];\n\t}, [table.getRowModel().rows]);\n\n\tif (showDataInRows) {\n\t\treturn (\n\t\t\t<DataHolderFooterCell\n\t\t\t\tsize={size}\n\t\t\t\tdataSourcesConfig={dataSourceConfig}\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<OrgUnitFooterCell size={size} dataSourcesConfig={dataSourceConfig} />\n\t);\n}\n"]}
@@ -3,13 +3,13 @@
3
3
  var jsxRuntime = require('react/jsx-runtime');
4
4
  var ui = require('@dhis2/ui');
5
5
  var react = require('react');
6
- var scorecardState = require('../../../state/scorecardState');
6
+ var state = require('../../../state');
7
7
 
8
8
  const DataValue = react.memo(function DataValue2({
9
9
  dataSource,
10
10
  value
11
11
  }) {
12
- const showArrows = scorecardState.useScorecardStateSelectorValue([
12
+ const showArrows = state.useScorecardStateSelectorValue([
13
13
  "options",
14
14
  "arrows"
15
15
  ]);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ScorecardTable/components/DataValue.tsx"],"names":["DataValue"],"mappings":"AAkDI,cAMF,YANE;AAlDJ,SAAS,iBAAiB,qBAAqB;AAC/C,SAAS,MAAM,eAAe;AAE9B,SAAS,sCAAsC;AAExC,MAAM,YAAY,KAAK,SAASA,WAAU;AAAA,EAChD;AAAA,EACA;AACD,GAGG;AACF,QAAM,aAAa,+BAAwC;AAAA,IAC1D;AAAA,IACA;AAAA,EACD,CAAC;AACD,QAAM,eAAe,WAAW,KAAK;AACrC,QAAM,gBAAgB,WAAW,KAAK;AACtC,QAAM,YAAqD,QAAQ,MAAM;AACxE,QAAI,CAAC,YAAY;AAChB;AAAA,IACD;AAEA,QAAI,CAAC,iBAAiB,CAAC,cAAc;AACpC;AAAA,IACD;AAEA,UAAM,eAAe,WAAW;AAChC,UAAM,MAAM,KAAK,IAAI,gBAAgB,YAAY;AACjD,QAAI,MAAM,cAAc;AACvB;AAAA,IACD;AAEA,QAAI,kBAAkB,cAAc;AACnC;AAAA,IACD;AAEA,WAAO,eAAe,gBAAgB,eAAe;AAAA,EACtD,GAAG,CAAC,cAAc,WAAW,cAAc,UAAU,CAAC;AAEtD,MAAI,OAAO;AACV,WACC;AAAA,MAAC;AAAA;AAAA,QACA,OAAO;AAAA,UACN,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,gBAAgB;AAAA,UAChB,KAAK;AAAA,QACN;AAAA,QAEA,8BAAC,OAAG,iBAAO,SAAS,KAAK,IAAG;AAAA;AAAA,IAC7B;AAAA,EAEF;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA,OAAO;AAAA,QACN,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,gBAAgB;AAAA,QAChB,KAAK;AAAA,MACN;AAAA,MAEC;AAAA,sBAAc,gBAAgB,oBAAC,mBAAgB;AAAA,QAC/C,cAAc,gBAAgB,oBAAC,iBAAc;AAAA,QAC7C,cAAc,SAAS,KAAK;AAAA;AAAA;AAAA,EAC9B;AAEF,CAAC","sourcesContent":["import { IconArrowDown16, IconArrowUp16 } from \"@dhis2/ui\";\nimport { memo, useMemo } from \"react\";\nimport type { ScorecardCellData } from \"../../../schemas/config\";\nimport { useScorecardStateSelectorValue } from \"../../../state/scorecardState\";\n\nexport const DataValue = memo(function DataValue({\n\tdataSource,\n\tvalue,\n}: {\n\tdataSource: ScorecardCellData;\n\tvalue?: number;\n}) {\n\tconst showArrows = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"arrows\",\n\t]);\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]);\n\n\tif (value) {\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<b>{value?.toString() ?? \"\"}</b>\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: 4,\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{currentValue?.toString() ?? \"\"}\n\t\t</div>\n\t);\n});\n"]}
1
+ {"version":3,"sources":["../../../../src/components/ScorecardTable/components/DataValue.tsx"],"names":["DataValue"],"mappings":"AAkDI,cAMF,YANE;AAlDJ,SAAS,iBAAiB,qBAAqB;AAC/C,SAAS,MAAM,eAAe;AAE9B,SAAS,sCAAsC;AAExC,MAAM,YAAY,KAAK,SAASA,WAAU;AAAA,EAChD;AAAA,EACA;AACD,GAGG;AACF,QAAM,aAAa,+BAAwC;AAAA,IAC1D;AAAA,IACA;AAAA,EACD,CAAC;AACD,QAAM,eAAe,WAAW,KAAK;AACrC,QAAM,gBAAgB,WAAW,KAAK;AACtC,QAAM,YAAqD,QAAQ,MAAM;AACxE,QAAI,CAAC,YAAY;AAChB;AAAA,IACD;AAEA,QAAI,CAAC,iBAAiB,CAAC,cAAc;AACpC;AAAA,IACD;AAEA,UAAM,eAAe,WAAW;AAChC,UAAM,MAAM,KAAK,IAAI,gBAAgB,YAAY;AACjD,QAAI,MAAM,cAAc;AACvB;AAAA,IACD;AAEA,QAAI,kBAAkB,cAAc;AACnC;AAAA,IACD;AAEA,WAAO,eAAe,gBAAgB,eAAe;AAAA,EACtD,GAAG,CAAC,cAAc,WAAW,cAAc,UAAU,CAAC;AAEtD,MAAI,OAAO;AACV,WACC;AAAA,MAAC;AAAA;AAAA,QACA,OAAO;AAAA,UACN,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,gBAAgB;AAAA,UAChB,KAAK;AAAA,QACN;AAAA,QAEA,8BAAC,OAAG,iBAAO,SAAS,KAAK,IAAG;AAAA;AAAA,IAC7B;AAAA,EAEF;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA,OAAO;AAAA,QACN,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,gBAAgB;AAAA,QAChB,KAAK;AAAA,MACN;AAAA,MAEC;AAAA,sBAAc,gBAAgB,oBAAC,mBAAgB;AAAA,QAC/C,cAAc,gBAAgB,oBAAC,iBAAc;AAAA,QAC7C,cAAc,SAAS,KAAK;AAAA;AAAA;AAAA,EAC9B;AAEF,CAAC","sourcesContent":["import { IconArrowDown16, IconArrowUp16 } from \"@dhis2/ui\";\nimport { memo, useMemo } from \"react\";\nimport type { ScorecardCellData } from \"../../../schemas/config\";\nimport { useScorecardStateSelectorValue } from \"../../../state\";\n\nexport const DataValue = memo(function DataValue({\n\tdataSource,\n\tvalue,\n}: {\n\tdataSource: ScorecardCellData;\n\tvalue?: number;\n}) {\n\tconst showArrows = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"arrows\",\n\t]);\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]);\n\n\tif (value) {\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<b>{value?.toString() ?? \"\"}</b>\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: 4,\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{currentValue?.toString() ?? \"\"}\n\t\t</div>\n\t);\n});\n"]}
@@ -6,7 +6,7 @@ var react = require('react');
6
6
  var orgUnits = require('../../../utils/orgUnits');
7
7
  var ScorecardContext = require('../../ScorecardContext');
8
8
  var ui = require('@dhis2/ui');
9
- var scorecardState = require('../../../state/scorecardState');
9
+ var state = require('../../../state');
10
10
  var TableStateProvider = require('../../TableStateProvider');
11
11
  var ScorecardTable = require('../ScorecardTable');
12
12
  var DataProvider = require('../../DataProvider');
@@ -17,7 +17,7 @@ function ExpandedScorecardTable({
17
17
  pending
18
18
  }) {
19
19
  const config = ConfigProvider.useScorecardConfig();
20
- const state = scorecardState.useScorecardStateValue();
20
+ const state$1 = state.useScorecardStateValue();
21
21
  const orgUnitSelection = react.useMemo(() => {
22
22
  const orgUnitId = orgUnit.uid;
23
23
  const level = orgUnits.getOrgUnitLevel(orgUnit) + 1;
@@ -62,7 +62,7 @@ function ExpandedScorecardTable({
62
62
  orgUnitSelection
63
63
  },
64
64
  initialState: {
65
- ...state,
65
+ ...state$1,
66
66
  orgUnitSelection
67
67
  },
68
68
  children: /* @__PURE__ */ jsxRuntime.jsx(
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ScorecardTable/components/ExpandedScorecardTable.tsx"],"names":[],"mappings":"AA4DK;AA5DL,SAAS,0BAA0B;AAEnC,SAAS,eAAe;AACxB,SAAS,uBAAuB;AAEhC,SAAS,wBAAwB;AACjC,SAAS,sBAAsB;AAC/B,SAAS,8BAA8B;AACvC,SAAS,0BAA0B;AACnC,SAAS,sBAAsB;AAC/B,SAAS,6BAA6B;AACtC,SAAS,8BAA8B;AAEhC,SAAS,uBAAuB;AAAA,EACtC;AAAA,EACA;AACD,GAGG;AACF,QAAM,SAAS,mBAAmB;AAClC,QAAM,QAAQ,uBAAuB;AAErC,QAAM,mBAAqC,QAAQ,MAAM;AACxD,UAAM,YAAY,QAAQ;AAC1B,UAAM,QAAQ,gBAAgB,OAAO,IAAI;AAEzC,WAAO;AAAA,MACN,UAAU;AAAA,QACT;AAAA,UACC,IAAI;AAAA,QACL;AAAA,MACD;AAAA,MACA,QAAQ,CAAC,MAAM,SAAS,CAAC;AAAA,MACzB,QAAQ,CAAC;AAAA,IACV;AAAA,EACD,GAAG,CAAC,OAAO,CAAC;AAEZ,MAAI,CAAC,QAAQ;AACZ,WAAO;AAAA,EACR;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA,OAAO;AAAA,QACN,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,WAAW;AAAA,QACX,SAAS;AAAA,MACV;AAAA,MAEC,oBACA;AAAA,QAAC;AAAA;AAAA,UACA,OAAO;AAAA,YACN,QAAQ;AAAA,YACR,OAAO;AAAA,YACP,WAAW;AAAA,YACX,SAAS;AAAA,UACV;AAAA,UAEA,8BAAC,kBAAe,OAAK,MAAC;AAAA;AAAA,MACvB,IAEA;AAAA,QAAC;AAAA;AAAA,UACA,QAAQ;AAAA,YACP,GAAG;AAAA,YACH;AAAA,UACD;AAAA,UACA,cACC;AAAA,YACC,GAAG;AAAA,YACH;AAAA,UACD;AAAA,UAGD;AAAA,YAAC;AAAA;AAAA,cAEA,QAAQ;AAAA,gBACP,GAAG;AAAA,gBACH;AAAA,cACD;AAAA,cAEA,8BAAC,yBACA,8BAAC,sBACA;AAAA,gBAAC;AAAA;AAAA,kBACA,cAAa;AAAA,kBACb,aAAY;AAAA,kBACZ,OAAM;AAAA;AAAA,cACP,GACD,GACD;AAAA;AAAA,YAdK,GAAG,QAAQ,GAAG;AAAA,UAepB;AAAA;AAAA,MACD;AAAA;AAAA,EAEF;AAEF","sourcesContent":["import { useScorecardConfig } from \"../../ConfigProvider\";\nimport type { ItemMeta } from \"../../../hooks/metadata\";\nimport { useMemo } from \"react\";\nimport { getOrgUnitLevel } from \"../../../utils/orgUnits\";\nimport type { OrgUnitSelection, ScorecardState } from \"../../../schemas/config\";\nimport { ScorecardContext } from \"../../ScorecardContext\";\nimport { CircularLoader } from \"@dhis2/ui\";\nimport { useScorecardStateValue } from \"../../../state/scorecardState\";\nimport { TableStateProvider } from \"../../TableStateProvider\";\nimport { ScorecardTable } from \"../ScorecardTable\";\nimport { ScorecardDataProvider } from \"../../DataProvider\";\nimport { ScorecardStateProvider } from \"../../StateProvider\";\n\nexport function ExpandedScorecardTable({\n\torgUnit,\n\tpending,\n}: {\n\torgUnit: ItemMeta & { hierarchy: string };\n\tpending: boolean;\n}) {\n\tconst config = useScorecardConfig();\n\tconst state = useScorecardStateValue();\n\n\tconst orgUnitSelection: OrgUnitSelection = useMemo(() => {\n\t\tconst orgUnitId = orgUnit.uid;\n\t\tconst level = getOrgUnitLevel(orgUnit) + 1;\n\n\t\treturn {\n\t\t\torgUnits: [\n\t\t\t\t{\n\t\t\t\t\tid: orgUnitId,\n\t\t\t\t},\n\t\t\t],\n\t\t\tlevels: [level.toString()],\n\t\t\tgroups: [],\n\t\t};\n\t}, [orgUnit]);\n\n\tif (!config) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tstyle={{\n\t\t\t\theight: \"100%\",\n\t\t\t\twidth: \"100%\",\n\t\t\t\tminHeight: 500,\n\t\t\t\tpadding: 32,\n\t\t\t}}\n\t\t>\n\t\t\t{pending ? (\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\theight: \"100%\",\n\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\tminHeight: 500,\n\t\t\t\t\t\tpadding: 32,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<CircularLoader small />\n\t\t\t\t</div>\n\t\t\t) : (\n\t\t\t\t<ScorecardStateProvider\n\t\t\t\t\tconfig={{\n\t\t\t\t\t\t...config,\n\t\t\t\t\t\torgUnitSelection,\n\t\t\t\t\t}}\n\t\t\t\t\tinitialState={\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t...state,\n\t\t\t\t\t\t\torgUnitSelection,\n\t\t\t\t\t\t} as ScorecardState\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<ScorecardContext\n\t\t\t\t\t\tkey={`${orgUnit.uid}-expanded`}\n\t\t\t\t\t\tconfig={{\n\t\t\t\t\t\t\t...config,\n\t\t\t\t\t\t\torgUnitSelection,\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ScorecardDataProvider>\n\t\t\t\t\t\t\t<TableStateProvider>\n\t\t\t\t\t\t\t\t<ScorecardTable\n\t\t\t\t\t\t\t\t\tscrollHeight=\"100%\"\n\t\t\t\t\t\t\t\t\tscrollWidth=\"100%\"\n\t\t\t\t\t\t\t\t\twidth=\"auto\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</TableStateProvider>\n\t\t\t\t\t\t</ScorecardDataProvider>\n\t\t\t\t\t</ScorecardContext>\n\t\t\t\t</ScorecardStateProvider>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../../src/components/ScorecardTable/components/ExpandedScorecardTable.tsx"],"names":[],"mappings":"AA4DK;AA5DL,SAAS,0BAA0B;AAEnC,SAAS,eAAe;AACxB,SAAS,uBAAuB;AAEhC,SAAS,wBAAwB;AACjC,SAAS,sBAAsB;AAC/B,SAAS,8BAA8B;AACvC,SAAS,0BAA0B;AACnC,SAAS,sBAAsB;AAC/B,SAAS,6BAA6B;AACtC,SAAS,8BAA8B;AAEhC,SAAS,uBAAuB;AAAA,EACtC;AAAA,EACA;AACD,GAGG;AACF,QAAM,SAAS,mBAAmB;AAClC,QAAM,QAAQ,uBAAuB;AAErC,QAAM,mBAAqC,QAAQ,MAAM;AACxD,UAAM,YAAY,QAAQ;AAC1B,UAAM,QAAQ,gBAAgB,OAAO,IAAI;AAEzC,WAAO;AAAA,MACN,UAAU;AAAA,QACT;AAAA,UACC,IAAI;AAAA,QACL;AAAA,MACD;AAAA,MACA,QAAQ,CAAC,MAAM,SAAS,CAAC;AAAA,MACzB,QAAQ,CAAC;AAAA,IACV;AAAA,EACD,GAAG,CAAC,OAAO,CAAC;AAEZ,MAAI,CAAC,QAAQ;AACZ,WAAO;AAAA,EACR;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA,OAAO;AAAA,QACN,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,WAAW;AAAA,QACX,SAAS;AAAA,MACV;AAAA,MAEC,oBACA;AAAA,QAAC;AAAA;AAAA,UACA,OAAO;AAAA,YACN,QAAQ;AAAA,YACR,OAAO;AAAA,YACP,WAAW;AAAA,YACX,SAAS;AAAA,UACV;AAAA,UAEA,8BAAC,kBAAe,OAAK,MAAC;AAAA;AAAA,MACvB,IAEA;AAAA,QAAC;AAAA;AAAA,UACA,QAAQ;AAAA,YACP,GAAG;AAAA,YACH;AAAA,UACD;AAAA,UACA,cACC;AAAA,YACC,GAAG;AAAA,YACH;AAAA,UACD;AAAA,UAGD;AAAA,YAAC;AAAA;AAAA,cAEA,QAAQ;AAAA,gBACP,GAAG;AAAA,gBACH;AAAA,cACD;AAAA,cAEA,8BAAC,yBACA,8BAAC,sBACA;AAAA,gBAAC;AAAA;AAAA,kBACA,cAAa;AAAA,kBACb,aAAY;AAAA,kBACZ,OAAM;AAAA;AAAA,cACP,GACD,GACD;AAAA;AAAA,YAdK,GAAG,QAAQ,GAAG;AAAA,UAepB;AAAA;AAAA,MACD;AAAA;AAAA,EAEF;AAEF","sourcesContent":["import { useScorecardConfig } from \"../../ConfigProvider\";\nimport type { ItemMeta } from \"../../../hooks/metadata\";\nimport { useMemo } from \"react\";\nimport { getOrgUnitLevel } from \"../../../utils/orgUnits\";\nimport type { OrgUnitSelection, ScorecardState } from \"../../../schemas/config\";\nimport { ScorecardContext } from \"../../ScorecardContext\";\nimport { CircularLoader } from \"@dhis2/ui\";\nimport { useScorecardStateValue } from \"../../../state\";\nimport { TableStateProvider } from \"../../TableStateProvider\";\nimport { ScorecardTable } from \"../ScorecardTable\";\nimport { ScorecardDataProvider } from \"../../DataProvider\";\nimport { ScorecardStateProvider } from \"../../StateProvider\";\n\nexport function ExpandedScorecardTable({\n\torgUnit,\n\tpending,\n}: {\n\torgUnit: ItemMeta & { hierarchy: string };\n\tpending: boolean;\n}) {\n\tconst config = useScorecardConfig();\n\tconst state = useScorecardStateValue();\n\n\tconst orgUnitSelection: OrgUnitSelection = useMemo(() => {\n\t\tconst orgUnitId = orgUnit.uid;\n\t\tconst level = getOrgUnitLevel(orgUnit) + 1;\n\n\t\treturn {\n\t\t\torgUnits: [\n\t\t\t\t{\n\t\t\t\t\tid: orgUnitId,\n\t\t\t\t},\n\t\t\t],\n\t\t\tlevels: [level.toString()],\n\t\t\tgroups: [],\n\t\t};\n\t}, [orgUnit]);\n\n\tif (!config) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tstyle={{\n\t\t\t\theight: \"100%\",\n\t\t\t\twidth: \"100%\",\n\t\t\t\tminHeight: 500,\n\t\t\t\tpadding: 32,\n\t\t\t}}\n\t\t>\n\t\t\t{pending ? (\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\theight: \"100%\",\n\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\tminHeight: 500,\n\t\t\t\t\t\tpadding: 32,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<CircularLoader small />\n\t\t\t\t</div>\n\t\t\t) : (\n\t\t\t\t<ScorecardStateProvider\n\t\t\t\t\tconfig={{\n\t\t\t\t\t\t...config,\n\t\t\t\t\t\torgUnitSelection,\n\t\t\t\t\t}}\n\t\t\t\t\tinitialState={\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t...state,\n\t\t\t\t\t\t\torgUnitSelection,\n\t\t\t\t\t\t} as ScorecardState\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<ScorecardContext\n\t\t\t\t\t\tkey={`${orgUnit.uid}-expanded`}\n\t\t\t\t\t\tconfig={{\n\t\t\t\t\t\t\t...config,\n\t\t\t\t\t\t\torgUnitSelection,\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ScorecardDataProvider>\n\t\t\t\t\t\t\t<TableStateProvider>\n\t\t\t\t\t\t\t\t<ScorecardTable\n\t\t\t\t\t\t\t\t\tscrollHeight=\"100%\"\n\t\t\t\t\t\t\t\t\tscrollWidth=\"100%\"\n\t\t\t\t\t\t\t\t\twidth=\"auto\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</TableStateProvider>\n\t\t\t\t\t\t</ScorecardDataProvider>\n\t\t\t\t\t</ScorecardContext>\n\t\t\t\t</ScorecardStateProvider>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n"]}
@@ -3,14 +3,14 @@
3
3
  var jsxRuntime = require('react/jsx-runtime');
4
4
  var ui = require('@dhis2/ui');
5
5
  var i18n = require('@dhis2/d2-i18n');
6
- var scorecardState = require('../../../state/scorecardState');
6
+ var state = require('../../../state');
7
7
 
8
8
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
9
9
 
10
10
  var i18n__default = /*#__PURE__*/_interopDefault(i18n);
11
11
 
12
12
  function MetaFooterCell() {
13
- const itemNumber = scorecardState.useScorecardStateSelectorValue([
13
+ const itemNumber = state.useScorecardStateSelectorValue([
14
14
  "options",
15
15
  "itemNumber"
16
16
  ]);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ScorecardTable/components/MetaFooterCell.tsx"],"names":[],"mappings":"AAyBG;AAzBH,SAAS,qBAAqB;AAC9B,OAAO,UAAU;AACjB,SAAS,sCAAsC;AAExC,SAAS,iBAAiB;AAChC,QAAM,aAAa,+BAAwC;AAAA,IAC1D;AAAA,IACA;AAAA,EACD,CAAC;AAED,SACC;AAAA,IAAC;AAAA;AAAA,MACA,UAAQ;AAAA,MACR,OAAM;AAAA,MACN,OAAO;AAAA,QACN,OAAO;AAAA,QACP,UAAU;AAAA,MACX;AAAA,MACA,OAAM;AAAA,MACN,SAAS,aAAa,MAAM;AAAA,MAC5B,OAAK;AAAA,MAGL,MAAK;AAAA,MAEL,8BAAC,OAAE,OAAO,EAAE,SAAS,QAAQ,GAAI,eAAK,EAAE,SAAS,GAAE;AAAA;AAAA,EACpD;AAEF","sourcesContent":["import { DataTableCell } from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { useScorecardStateSelectorValue } from \"../../../state/scorecardState\";\n\nexport function MetaFooterCell() {\n\tconst itemNumber = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"itemNumber\",\n\t]);\n\n\treturn (\n\t\t<DataTableCell\n\t\t\tbordered\n\t\t\twidth=\"300px\"\n\t\t\tstyle={{\n\t\t\t\twidth: \"fit-content\",\n\t\t\t\tminWidth: 300,\n\t\t\t}}\n\t\t\talign=\"center\"\n\t\t\tcolSpan={itemNumber ? \"3\" : \"2\"}\n\t\t\tfixed\n\t\t\t/*\n // @ts-ignore */\n\t\t\tleft=\"0\"\n\t\t>\n\t\t\t<b style={{ padding: \"8px 0\" }}>{i18n.t(\"Average\")}</b>\n\t\t</DataTableCell>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../../src/components/ScorecardTable/components/MetaFooterCell.tsx"],"names":[],"mappings":"AAyBG;AAzBH,SAAS,qBAAqB;AAC9B,OAAO,UAAU;AACjB,SAAS,sCAAsC;AAExC,SAAS,iBAAiB;AAChC,QAAM,aAAa,+BAAwC;AAAA,IAC1D;AAAA,IACA;AAAA,EACD,CAAC;AAED,SACC;AAAA,IAAC;AAAA;AAAA,MACA,UAAQ;AAAA,MACR,OAAM;AAAA,MACN,OAAO;AAAA,QACN,OAAO;AAAA,QACP,UAAU;AAAA,MACX;AAAA,MACA,OAAM;AAAA,MACN,SAAS,aAAa,MAAM;AAAA,MAC5B,OAAK;AAAA,MAGL,MAAK;AAAA,MAEL,8BAAC,OAAE,OAAO,EAAE,SAAS,QAAQ,GAAI,eAAK,EAAE,SAAS,GAAE;AAAA;AAAA,EACpD;AAEF","sourcesContent":["import { DataTableCell } from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { useScorecardStateSelectorValue } from \"../../../state\";\n\nexport function MetaFooterCell() {\n\tconst itemNumber = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"itemNumber\",\n\t]);\n\n\treturn (\n\t\t<DataTableCell\n\t\t\tbordered\n\t\t\twidth=\"300px\"\n\t\t\tstyle={{\n\t\t\t\twidth: \"fit-content\",\n\t\t\t\tminWidth: 300,\n\t\t\t}}\n\t\t\talign=\"center\"\n\t\t\tcolSpan={itemNumber ? \"3\" : \"2\"}\n\t\t\tfixed\n\t\t\t/*\n // @ts-ignore */\n\t\t\tleft=\"0\"\n\t\t>\n\t\t\t<b style={{ padding: \"8px 0\" }}>{i18n.t(\"Average\")}</b>\n\t\t</DataTableCell>\n\t);\n}\n"]}
@@ -5,11 +5,11 @@ var ui = require('@dhis2/ui');
5
5
  var TableStateProvider = require('../../TableStateProvider');
6
6
  var reactTable = require('@tanstack/react-table');
7
7
  var react = require('react');
8
- var scorecardState = require('../../../state/scorecardState');
8
+ var state = require('../../../state');
9
9
 
10
10
  function TableFoot() {
11
11
  const table = TableStateProvider.useTableState();
12
- const showAverageRow = scorecardState.useScorecardStateSelectorValue([
12
+ const showAverageRow = state.useScorecardStateSelectorValue([
13
13
  "options",
14
14
  "averageRow"
15
15
  ]);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ScorecardTable/components/TableFoot.tsx"],"names":[],"mappings":"AAwBQ;AAxBR,SAAS,eAAe,oBAAoB;AAC5C,SAAS,qBAAqB;AAC9B,SAAS,kBAAkB;AAC3B,SAAS,gBAAgB;AACzB,SAAS,sCAAsC;AAExC,SAAS,YAAY;AAC3B,QAAM,QAAQ,cAAc;AAC5B,QAAM,iBAAiB,+BAAwC;AAAA,IAC9D;AAAA,IACA;AAAA,EACD,CAAC;AAED,MAAI,CAAC,gBAAgB;AACpB,WAAO;AAAA,EACR;AAEA,SACC,oBAAC,iBACC,gBAAM,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;AAC7C,WACC,oBAAC,gBACC,sBAAY,QAAQ,IAAI,CAAC,WAAW;AACpC,aAAO,OAAO,gBAAgB,OAC7B,oBAAC,YACC;AAAA,QACA,OAAO,OAAO,UAAU;AAAA,QACxB,OAAO,WAAW;AAAA,MACnB,KAJc,OAAO,EAKtB;AAAA,IAEF,CAAC,KAViB,YAAY,EAW/B;AAAA,EAEF,CAAC,GACF;AAEF","sourcesContent":["import { DataTableFoot, DataTableRow } from \"@dhis2/ui\";\nimport { useTableState } from \"../../TableStateProvider\";\nimport { flexRender } from \"@tanstack/react-table\";\nimport { Fragment } from \"react\";\nimport { useScorecardStateSelectorValue } from \"../../../state/scorecardState\";\n\nexport function TableFoot() {\n\tconst table = useTableState();\n\tconst showAverageRow = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"averageRow\",\n\t]);\n\n\tif (!showAverageRow) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<DataTableFoot>\n\t\t\t{table.getFooterGroups().map((footerGroup) => {\n\t\t\t\treturn (\n\t\t\t\t\t<DataTableRow key={footerGroup.id}>\n\t\t\t\t\t\t{footerGroup.headers.map((footer) => {\n\t\t\t\t\t\t\treturn footer.isPlaceholder ? null : (\n\t\t\t\t\t\t\t\t<Fragment key={footer.id}>\n\t\t\t\t\t\t\t\t\t{flexRender(\n\t\t\t\t\t\t\t\t\t\tfooter.column.columnDef.footer,\n\t\t\t\t\t\t\t\t\t\tfooter.getContext(),\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t</DataTableRow>\n\t\t\t\t);\n\t\t\t})}\n\t\t</DataTableFoot>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../../src/components/ScorecardTable/components/TableFoot.tsx"],"names":[],"mappings":"AAwBQ;AAxBR,SAAS,eAAe,oBAAoB;AAC5C,SAAS,qBAAqB;AAC9B,SAAS,kBAAkB;AAC3B,SAAS,gBAAgB;AACzB,SAAS,sCAAsC;AAExC,SAAS,YAAY;AAC3B,QAAM,QAAQ,cAAc;AAC5B,QAAM,iBAAiB,+BAAwC;AAAA,IAC9D;AAAA,IACA;AAAA,EACD,CAAC;AAED,MAAI,CAAC,gBAAgB;AACpB,WAAO;AAAA,EACR;AAEA,SACC,oBAAC,iBACC,gBAAM,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;AAC7C,WACC,oBAAC,gBACC,sBAAY,QAAQ,IAAI,CAAC,WAAW;AACpC,aAAO,OAAO,gBAAgB,OAC7B,oBAAC,YACC;AAAA,QACA,OAAO,OAAO,UAAU;AAAA,QACxB,OAAO,WAAW;AAAA,MACnB,KAJc,OAAO,EAKtB;AAAA,IAEF,CAAC,KAViB,YAAY,EAW/B;AAAA,EAEF,CAAC,GACF;AAEF","sourcesContent":["import { DataTableFoot, DataTableRow } from \"@dhis2/ui\";\nimport { useTableState } from \"../../TableStateProvider\";\nimport { flexRender } from \"@tanstack/react-table\";\nimport { Fragment } from \"react\";\nimport { useScorecardStateSelectorValue } from \"../../../state\";\n\nexport function TableFoot() {\n\tconst table = useTableState();\n\tconst showAverageRow = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"averageRow\",\n\t]);\n\n\tif (!showAverageRow) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<DataTableFoot>\n\t\t\t{table.getFooterGroups().map((footerGroup) => {\n\t\t\t\treturn (\n\t\t\t\t\t<DataTableRow key={footerGroup.id}>\n\t\t\t\t\t\t{footerGroup.headers.map((footer) => {\n\t\t\t\t\t\t\treturn footer.isPlaceholder ? null : (\n\t\t\t\t\t\t\t\t<Fragment key={footer.id}>\n\t\t\t\t\t\t\t\t\t{flexRender(\n\t\t\t\t\t\t\t\t\t\tfooter.column.columnDef.footer,\n\t\t\t\t\t\t\t\t\t\tfooter.getContext(),\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t</DataTableRow>\n\t\t\t\t);\n\t\t\t})}\n\t\t</DataTableFoot>\n\t);\n}\n"]}
@@ -4,7 +4,7 @@ var jsxRuntime = require('react/jsx-runtime');
4
4
  var ui = require('@dhis2/ui');
5
5
  var i18n = require('@dhis2/d2-i18n');
6
6
  var styles = require('../TableHeader.module.css');
7
- var scorecardState = require('../../../../../state/scorecardState');
7
+ var state = require('../../../../../state');
8
8
 
9
9
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
10
10
 
@@ -14,11 +14,11 @@ var styles__default = /*#__PURE__*/_interopDefault(styles);
14
14
  function AverageHeaderCell({
15
15
  header
16
16
  }) {
17
- const dataInRows = scorecardState.useScorecardStateSelectorValue([
17
+ const dataInRows = state.useScorecardStateSelectorValue([
18
18
  "options",
19
19
  "showDataInRows"
20
20
  ]);
21
- const hasOnePeriod = scorecardState.useScorecardStateSelectorValue([
21
+ const hasOnePeriod = state.useScorecardStateSelectorValue([
22
22
  "hasOnePeriod"
23
23
  ]);
24
24
  const rowSpan = dataInRows ? hasOnePeriod ? "2" : "2" : hasOnePeriod ? "2" : "3";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.tsx"],"names":[],"mappings":"AAiCG;AA/BH,SAAS,6BAA6B;AACtC,OAAO,UAAU;AACjB,OAAO,YAAY;AACnB,SAAS,sCAAsC;AAExC,SAAS,kBAAkB;AAAA,EACjC;AACD,GAA2C;AAC1C,QAAM,aAAa,+BAAwC;AAAA,IAC1D;AAAA,IACA;AAAA,EACD,CAAC;AACD,QAAM,eAAe,+BAAwC;AAAA,IAC5D;AAAA,EACD,CAAC;AACD,QAAM,UAAU,aACb,eACC,MACA,MACD,eACC,MACA;AAEJ,SACC;AAAA,IAAC;AAAA;AAAA,MAEA,OAAM;AAAA,MACN,SAAS,OAAO,QAAQ,SAAS;AAAA,MACjC;AAAA,MACA,WAAW,OAAO;AAAA,MAElB,8BAAC,OAAG,eAAK,EAAE,SAAS,GAAE;AAAA;AAAA,IANjB,OAAO;AAAA,EAOb;AAEF","sourcesContent":["import type { HeaderContext } from \"@tanstack/react-table\";\nimport type { ScorecardTableData } from \"../../../../../schemas/config\";\nimport { DataTableColumnHeader } from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport styles from \"../TableHeader.module.css\";\nimport { useScorecardStateSelectorValue } from \"../../../../../state/scorecardState\";\n\nexport function AverageHeaderCell({\n\theader,\n}: HeaderContext<ScorecardTableData, any>) {\n\tconst dataInRows = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\n\tconst hasOnePeriod = useScorecardStateSelectorValue<boolean>([\n\t\t\"hasOnePeriod\",\n\t]);\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\treturn (\n\t\t<DataTableColumnHeader\n\t\t\tkey={header.id}\n\t\t\talign=\"right\"\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<b>{i18n.t(\"Average\")}</b>\n\t\t</DataTableColumnHeader>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../../../../src/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.tsx"],"names":[],"mappings":"AAiCG;AA/BH,SAAS,6BAA6B;AACtC,OAAO,UAAU;AACjB,OAAO,YAAY;AACnB,SAAS,sCAAsC;AAExC,SAAS,kBAAkB;AAAA,EACjC;AACD,GAA2C;AAC1C,QAAM,aAAa,+BAAwC;AAAA,IAC1D;AAAA,IACA;AAAA,EACD,CAAC;AACD,QAAM,eAAe,+BAAwC;AAAA,IAC5D;AAAA,EACD,CAAC;AACD,QAAM,UAAU,aACb,eACC,MACA,MACD,eACC,MACA;AAEJ,SACC;AAAA,IAAC;AAAA;AAAA,MAEA,OAAM;AAAA,MACN,SAAS,OAAO,QAAQ,SAAS;AAAA,MACjC;AAAA,MACA,WAAW,OAAO;AAAA,MAElB,8BAAC,OAAG,eAAK,EAAE,SAAS,GAAE;AAAA;AAAA,IANjB,OAAO;AAAA,EAOb;AAEF","sourcesContent":["import type { HeaderContext } from \"@tanstack/react-table\";\nimport type { ScorecardTableData } from \"../../../../../schemas/config\";\nimport { DataTableColumnHeader } from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport styles from \"../TableHeader.module.css\";\nimport { useScorecardStateSelectorValue } from \"../../../../../state\";\n\nexport function AverageHeaderCell({\n\theader,\n}: HeaderContext<ScorecardTableData, any>) {\n\tconst dataInRows = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\n\tconst hasOnePeriod = useScorecardStateSelectorValue<boolean>([\n\t\t\"hasOnePeriod\",\n\t]);\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\treturn (\n\t\t<DataTableColumnHeader\n\t\t\tkey={header.id}\n\t\t\talign=\"right\"\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<b>{i18n.t(\"Average\")}</b>\n\t\t</DataTableColumnHeader>\n\t);\n}\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 scorecardState = require('../../../../../state/scorecardState');
9
+ var state = require('../../../../../state');
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 = scorecardState.useScorecardStateSelectorValue([
26
+ const dataInRows = state.useScorecardStateSelectorValue([
27
27
  "options",
28
28
  "showDataInRows"
29
29
  ]);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.tsx"],"names":[],"mappings":"AAeQ;AAdR;AAAA,EACC;AAAA,OAEM;AACP,SAAS,6BAA0D;AACnE,OAAO,UAAU;AACjB,SAAS,qBAAqB;AAC9B,OAAO,mBAAmB;AAC1B,SAAS,sCAAsC;AAExC,SAAS,oBAAoB;AAAA,EACnC;AACD,GAA2C;AAC1C,QAAM,UAAU,OAAO,QAAQ,SAAS;AACxC,SAAO,oBAAC,yBAAsB,SAAkB;AACjD;AAEO,SAAS,wBAAwB;AAAA,EACvC;AAAA,EACA;AACD,GAA2C;AAC1C,QAAM,aAAa,+BAAwC;AAAA,IAC1D;AAAA,IACA;AAAA,EACD,CAAC;AACD,QAAM,QACJ,OAAO,OAAO,UAAU,KAA2B,SACnD,OAAO,UAAU,KAA2B;AAE9C,QAAM,OACJ,OAAO,OAAO,UAAU,KAA4B,QACpD,OAAO,UAAU,KAA4B;AAE/C,QAAM,UAAU,OAAO,QAAQ,SAAS;AAExC,QAAM,gBAAgB,CAAC,QAAQ,YAAY,IACxC,YACC,OAAQ,YAAY;AACxB,QAAM,eACL,QAAQ,oBAAoB,MAAM,QAC/B,KAAK,EAAE,oBAAoB,IAC3B,QAAQ,oBAAoB,MAAM,SACjC,KAAK,EAAE,qBAAqB,IAC5B,KAAK,EAAE,SAAS;AAErB,SACC;AAAA,IAAC;AAAA;AAAA,MAEA,eAAe,KAAK,EAAE,yBAAyB,EAAE,aAAa,CAAC;AAAA,MAC/D,iBACC,OAAO,QAAQ,WAAW,KAAK,OAAO,WAAW,IAC9C,CAAC,GAAG,MAAM;AACV,cAAM,OAAO,OAAQ,wBAAwB;AAC7C,YAAI,MAAM;AACT,eAAK,CAAC;AAAA,QACP;AAAA,MACD,IACC;AAAA,MAEJ,eACC,OAAO,QAAQ,WAAW,KAAK,OAAO,WAAW,IAC9C,gBACA;AAAA,MAEJ,OAAM;AAAA,MACN;AAAA,MAEA;AAAA,QAAC;AAAA;AAAA,UACA,QACC,aACG,CAAC,wBAAwB,IAAI,IAC7B,CAAC,wBAAwB,EAAE;AAAA,UAG/B;AAAA,YAAC;AAAA;AAAA,cACA,IAAI;AAAA,cACJ,MACC,aACG,wBAAwB,KACxB,wBAAwB;AAAA,cAG3B,iBAAO,oBAAC,OAAG,iBAAM,IAAO;AAAA;AAAA,UAC1B;AAAA;AAAA,MACD;AAAA;AAAA,IArCK,GAAG,KAAK;AAAA,EAsCd;AAEF;AAEO,MAAM,iBAAiB","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 { useScorecardStateSelectorValue } from \"../../../../../state/scorecardState\";\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 = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\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":"AAeQ;AAdR;AAAA,EACC;AAAA,OAEM;AACP,SAAS,6BAA0D;AACnE,OAAO,UAAU;AACjB,SAAS,qBAAqB;AAC9B,OAAO,mBAAmB;AAC1B,SAAS,sCAAsC;AAExC,SAAS,oBAAoB;AAAA,EACnC;AACD,GAA2C;AAC1C,QAAM,UAAU,OAAO,QAAQ,SAAS;AACxC,SAAO,oBAAC,yBAAsB,SAAkB;AACjD;AAEO,SAAS,wBAAwB;AAAA,EACvC;AAAA,EACA;AACD,GAA2C;AAC1C,QAAM,aAAa,+BAAwC;AAAA,IAC1D;AAAA,IACA;AAAA,EACD,CAAC;AACD,QAAM,QACJ,OAAO,OAAO,UAAU,KAA2B,SACnD,OAAO,UAAU,KAA2B;AAE9C,QAAM,OACJ,OAAO,OAAO,UAAU,KAA4B,QACpD,OAAO,UAAU,KAA4B;AAE/C,QAAM,UAAU,OAAO,QAAQ,SAAS;AAExC,QAAM,gBAAgB,CAAC,QAAQ,YAAY,IACxC,YACC,OAAQ,YAAY;AACxB,QAAM,eACL,QAAQ,oBAAoB,MAAM,QAC/B,KAAK,EAAE,oBAAoB,IAC3B,QAAQ,oBAAoB,MAAM,SACjC,KAAK,EAAE,qBAAqB,IAC5B,KAAK,EAAE,SAAS;AAErB,SACC;AAAA,IAAC;AAAA;AAAA,MAEA,eAAe,KAAK,EAAE,yBAAyB,EAAE,aAAa,CAAC;AAAA,MAC/D,iBACC,OAAO,QAAQ,WAAW,KAAK,OAAO,WAAW,IAC9C,CAAC,GAAG,MAAM;AACV,cAAM,OAAO,OAAQ,wBAAwB;AAC7C,YAAI,MAAM;AACT,eAAK,CAAC;AAAA,QACP;AAAA,MACD,IACC;AAAA,MAEJ,eACC,OAAO,QAAQ,WAAW,KAAK,OAAO,WAAW,IAC9C,gBACA;AAAA,MAEJ,OAAM;AAAA,MACN;AAAA,MAEA;AAAA,QAAC;AAAA;AAAA,UACA,QACC,aACG,CAAC,wBAAwB,IAAI,IAC7B,CAAC,wBAAwB,EAAE;AAAA,UAG/B;AAAA,YAAC;AAAA;AAAA,cACA,IAAI;AAAA,cACJ,MACC,aACG,wBAAwB,KACxB,wBAAwB;AAAA,cAG3B,iBAAO,oBAAC,OAAG,iBAAM,IAAO;AAAA;AAAA,UAC1B;AAAA;AAAA,MACD;AAAA;AAAA,IArCK,GAAG,KAAK;AAAA,EAsCd;AAEF;AAEO,MAAM,iBAAiB","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 { useScorecardStateSelectorValue } from \"../../../../../state\";\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 = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\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"]}
@@ -2,7 +2,7 @@
2
2
 
3
3
  var jsxRuntime = require('react/jsx-runtime');
4
4
  var i18n = require('@dhis2/d2-i18n');
5
- var scorecardState = require('../../../../../state/scorecardState');
5
+ var state = require('../../../../../state');
6
6
  var ui = require('@dhis2/ui');
7
7
  var styles = require('../TableHeader.module.css');
8
8
  var react = require('react');
@@ -15,7 +15,7 @@ var styles__default = /*#__PURE__*/_interopDefault(styles);
15
15
  function FilterArea({ column }) {
16
16
  const defaultValue = column.getFilterValue();
17
17
  const [text, setText] = react.useState(defaultValue);
18
- const dataInRows = scorecardState.useScorecardStateSelectorValue([
18
+ const dataInRows = state.useScorecardStateSelectorValue([
19
19
  "options",
20
20
  "showDataInRows"
21
21
  ]);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/components/ScorecardTable/components/TableHeader/components/FilterArea.tsx"],"names":[],"mappings":"AAgCE;AA9BF,OAAO,UAAU;AACjB,SAAS,sCAAsC;AAC/C,SAAS,kBAAkB;AAC3B,OAAO,YAAY;AACnB,SAAS,WAAW,gBAAgB;AAM7B,SAAS,WAAW,EAAE,OAAO,GAAoB;AACvD,QAAM,eAAe,OAAO,eAAe;AAC3C,QAAM,CAAC,MAAM,OAAO,IAAI,SAA6B,YAAY;AACjE,QAAM,aAAa,+BAAwC;AAAA,IAC1D;AAAA,IACA;AAAA,EACD,CAAC;AACD,QAAM,oBAAoB,aACvB,KAAK,EAAE,mBAAmB,IAC1B,KAAK,EAAE,2BAA2B;AAErC,YAAU,MAAM;AACf,UAAM,UAAU,WAAW,MAAM;AAChC,aAAO,eAAe,IAAI;AAAA,IAC3B,GAAG,GAAG;AAEN,WAAO,MAAM,aAAa,OAAO;AAAA,EAClC,GAAG,CAAC,IAAI,CAAC;AAET,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAW,OAAO,cAAc;AAAA,MAChC,OAAO;AAAA,MACP,UAAU,CAAC,EAAE,MAAM,MAAM,QAAQ,KAAK;AAAA,MACtC,aAAa;AAAA;AAAA,EACd;AAEF","sourcesContent":["import type { ScorecardTableData } from \"../../../../../schemas/config\";\nimport type { Column } from \"@tanstack/react-table\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { useScorecardStateSelectorValue } from \"../../../../../state/scorecardState\";\nimport { InputField } from \"@dhis2/ui\";\nimport styles from \"../TableHeader.module.css\";\nimport { useEffect, useState } from \"react\";\n\nexport interface FilterAreaProps {\n\tcolumn: Column<ScorecardTableData, any>;\n}\n\nexport function FilterArea({ column }: FilterAreaProps) {\n\tconst defaultValue = column.getFilterValue() as string | undefined;\n\tconst [text, setText] = useState<string | undefined>(defaultValue);\n\tconst dataInRows = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\n\tconst searchPlaceholder = dataInRows\n\t\t? i18n.t(\"Search data items\")\n\t\t: i18n.t(\"Search organisation units\");\n\n\tuseEffect(() => {\n\t\tconst timeout = setTimeout(() => {\n\t\t\tcolumn.setFilterValue(text);\n\t\t}, 700);\n\n\t\treturn () => clearTimeout(timeout);\n\t}, [text]);\n\n\treturn (\n\t\t<InputField\n\t\t\tclassName={styles[\"filter-input\"]}\n\t\t\tvalue={text}\n\t\t\tonChange={({ value }) => setText(value)}\n\t\t\tplaceholder={searchPlaceholder}\n\t\t/>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../../../../src/components/ScorecardTable/components/TableHeader/components/FilterArea.tsx"],"names":[],"mappings":"AAgCE;AA9BF,OAAO,UAAU;AACjB,SAAS,sCAAsC;AAC/C,SAAS,kBAAkB;AAC3B,OAAO,YAAY;AACnB,SAAS,WAAW,gBAAgB;AAM7B,SAAS,WAAW,EAAE,OAAO,GAAoB;AACvD,QAAM,eAAe,OAAO,eAAe;AAC3C,QAAM,CAAC,MAAM,OAAO,IAAI,SAA6B,YAAY;AACjE,QAAM,aAAa,+BAAwC;AAAA,IAC1D;AAAA,IACA;AAAA,EACD,CAAC;AACD,QAAM,oBAAoB,aACvB,KAAK,EAAE,mBAAmB,IAC1B,KAAK,EAAE,2BAA2B;AAErC,YAAU,MAAM;AACf,UAAM,UAAU,WAAW,MAAM;AAChC,aAAO,eAAe,IAAI;AAAA,IAC3B,GAAG,GAAG;AAEN,WAAO,MAAM,aAAa,OAAO;AAAA,EAClC,GAAG,CAAC,IAAI,CAAC;AAET,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAW,OAAO,cAAc;AAAA,MAChC,OAAO;AAAA,MACP,UAAU,CAAC,EAAE,MAAM,MAAM,QAAQ,KAAK;AAAA,MACtC,aAAa;AAAA;AAAA,EACd;AAEF","sourcesContent":["import type { ScorecardTableData } from \"../../../../../schemas/config\";\nimport type { Column } from \"@tanstack/react-table\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { useScorecardStateSelectorValue } from \"../../../../../state\";\nimport { InputField } from \"@dhis2/ui\";\nimport styles from \"../TableHeader.module.css\";\nimport { useEffect, useState } from \"react\";\n\nexport interface FilterAreaProps {\n\tcolumn: Column<ScorecardTableData, any>;\n}\n\nexport function FilterArea({ column }: FilterAreaProps) {\n\tconst defaultValue = column.getFilterValue() as string | undefined;\n\tconst [text, setText] = useState<string | undefined>(defaultValue);\n\tconst dataInRows = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\n\tconst searchPlaceholder = dataInRows\n\t\t? i18n.t(\"Search data items\")\n\t\t: i18n.t(\"Search organisation units\");\n\n\tuseEffect(() => {\n\t\tconst timeout = setTimeout(() => {\n\t\t\tcolumn.setFilterValue(text);\n\t\t}, 700);\n\n\t\treturn () => clearTimeout(timeout);\n\t}, [text]);\n\n\treturn (\n\t\t<InputField\n\t\t\tclassName={styles[\"filter-input\"]}\n\t\t\tvalue={text}\n\t\t\tonChange={({ value }) => setText(value)}\n\t\t\tplaceholder={searchPlaceholder}\n\t\t/>\n\t);\n}\n"]}
@@ -5,7 +5,7 @@ var config = require('../../../../../schemas/config');
5
5
  var ui = require('@dhis2/ui');
6
6
  var DroppableCell = require('../../DroppableCell');
7
7
  var DraggableCell = require('../../DraggableCell');
8
- var scorecardState = require('../../../../../state/scorecardState');
8
+ var state = require('../../../../../state');
9
9
  var react = require('react');
10
10
  var lodash = require('lodash');
11
11
 
@@ -16,15 +16,15 @@ 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 = scorecardState.useScorecardStateSelectorValue([
19
+ const dataInRows = state.useScorecardStateSelectorValue([
20
20
  "options",
21
21
  "showDataInRows"
22
22
  ]);
23
- const showHierarchy = scorecardState.useScorecardStateSelectorValue([
23
+ const showHierarchy = state.useScorecardStateSelectorValue([
24
24
  "options",
25
25
  "showHierarchy"
26
26
  ]);
27
- const inPrintMode = scorecardState.useScorecardStateSelectorValue([
27
+ const inPrintMode = state.useScorecardStateSelectorValue([
28
28
  "options",
29
29
  "printMode"
30
30
  ]);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/components/ScorecardTable/components/TableHeader/components/LabelCell.tsx"],"names":[],"mappings":"AAiFI;AAhFJ;AAAA,EACC;AAAA,OAEM;AACP,SAAS,qBAAqB;AAC9B,OAAO,mBAAmB;AAC1B,SAAS,qBAAqB;AAC9B,SAAS,sCAAsC;AAC/C,SAAS,eAAe;AACxB,SAAS,eAAe;AAEjB,SAAS,mBACf,OAOC;AACD,QAAM,OAAO,MAAM,SAAS;AAC5B,QAAM,OAAO,MAAM,KAAK,OAAO,QAAQ;AACvC,QAAM,aAAa,+BAAwC;AAAA,IAC1D;AAAA,IACA;AAAA,EACD,CAAC;AACD,QAAM,gBAAgB,+BAAwC;AAAA,IAC7D;AAAA,IACA;AAAA,EACD,CAAC;AAED,QAAM,cAAc,+BAAwC;AAAA,IAC3D;AAAA,IACA;AAAA,EACD,CAAC;AAED,QAAM,OAAO,QAAQ,MAAM;AAC1B,UAAM,QAAQ,MAAM,IAClB,gBAAgB,EAChB,UAAU,CAAC,EAAE,GAAG,MAAM,MAAM,KAAK,OAAO,EAAE;AAC5C,WAAO,QAAQ;AAAA,EAChB,GAAG,CAAC,MAAM,IAAI,gBAAgB,GAAG,MAAM,KAAK,EAAE,CAAC;AAE/C,QAAM,QAAQ,QAAQ,MAAM;AAC3B,QAAI,YAAY;AACf,aAAO,KAAK,SAAS;AAAA,IACtB;AACA,QAAI,eAAe;AAClB,aACC,KAAK,SAAS,UACZ,MAAM,GAAG,EACT,OAAO,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,EAC7B,KAAK,KAAK,KAAK;AAAA,IAEnB;AACA,WAAO,KAAK,SAAS;AAAA,EACtB,GAAG,CAAC,MAAM,eAAe,UAAU,CAAC;AAEpC,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAU;AAAA,MACV,OAAK;AAAA,MACL,OAAO,GAAG,IAAI;AAAA,MACd,OAAO;AAAA,QACN,OAAO,cAAc,SAAS;AAAA,QAC9B,UAAU,cAAc,SAAY;AAAA,MACrC;AAAA,MAGA,MAAM,GAAG,IAAI;AAAA,MACb,UAAQ;AAAA,MACR,OAAM;AAAA,MAEN;AAAA,QAAC;AAAA;AAAA,UACA,QACC,aACG,CAAC,wBAAwB,EAAE,IAC3B,CAAC,wBAAwB,IAAI;AAAA,UAGjC;AAAA,YAAC;AAAA;AAAA,cACA,IAAI;AAAA,cACJ,MACC,aACG,wBAAwB,OACxB,wBAAwB;AAAA,cAG3B;AAAA;AAAA,UACF;AAAA;AAAA,MACD;AAAA;AAAA,EACD;AAEF;AAEO,MAAM,YAAY","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 { useScorecardStateSelectorValue } from \"../../../../../state/scorecardState\";\nimport { useMemo } from \"react\";\nimport { isEmpty } from \"lodash\";\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 = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\n\tconst showHierarchy = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"showHierarchy\",\n\t]);\n\n\tconst inPrintMode = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"printMode\",\n\t]);\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":[],"mappings":"AAiFI;AAhFJ;AAAA,EACC;AAAA,OAEM;AACP,SAAS,qBAAqB;AAC9B,OAAO,mBAAmB;AAC1B,SAAS,qBAAqB;AAC9B,SAAS,sCAAsC;AAC/C,SAAS,eAAe;AACxB,SAAS,eAAe;AAEjB,SAAS,mBACf,OAOC;AACD,QAAM,OAAO,MAAM,SAAS;AAC5B,QAAM,OAAO,MAAM,KAAK,OAAO,QAAQ;AACvC,QAAM,aAAa,+BAAwC;AAAA,IAC1D;AAAA,IACA;AAAA,EACD,CAAC;AACD,QAAM,gBAAgB,+BAAwC;AAAA,IAC7D;AAAA,IACA;AAAA,EACD,CAAC;AAED,QAAM,cAAc,+BAAwC;AAAA,IAC3D;AAAA,IACA;AAAA,EACD,CAAC;AAED,QAAM,OAAO,QAAQ,MAAM;AAC1B,UAAM,QAAQ,MAAM,IAClB,gBAAgB,EAChB,UAAU,CAAC,EAAE,GAAG,MAAM,MAAM,KAAK,OAAO,EAAE;AAC5C,WAAO,QAAQ;AAAA,EAChB,GAAG,CAAC,MAAM,IAAI,gBAAgB,GAAG,MAAM,KAAK,EAAE,CAAC;AAE/C,QAAM,QAAQ,QAAQ,MAAM;AAC3B,QAAI,YAAY;AACf,aAAO,KAAK,SAAS;AAAA,IACtB;AACA,QAAI,eAAe;AAClB,aACC,KAAK,SAAS,UACZ,MAAM,GAAG,EACT,OAAO,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,EAC7B,KAAK,KAAK,KAAK;AAAA,IAEnB;AACA,WAAO,KAAK,SAAS;AAAA,EACtB,GAAG,CAAC,MAAM,eAAe,UAAU,CAAC;AAEpC,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAU;AAAA,MACV,OAAK;AAAA,MACL,OAAO,GAAG,IAAI;AAAA,MACd,OAAO;AAAA,QACN,OAAO,cAAc,SAAS;AAAA,QAC9B,UAAU,cAAc,SAAY;AAAA,MACrC;AAAA,MAGA,MAAM,GAAG,IAAI;AAAA,MACb,UAAQ;AAAA,MACR,OAAM;AAAA,MAEN;AAAA,QAAC;AAAA;AAAA,UACA,QACC,aACG,CAAC,wBAAwB,EAAE,IAC3B,CAAC,wBAAwB,IAAI;AAAA,UAGjC;AAAA,YAAC;AAAA;AAAA,cACA,IAAI;AAAA,cACJ,MACC,aACG,wBAAwB,OACxB,wBAAwB;AAAA,cAG3B;AAAA;AAAA,UACF;AAAA;AAAA,MACD;AAAA;AAAA,EACD;AAEF;AAEO,MAAM,YAAY","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 { useScorecardStateSelectorValue } from \"../../../../../state\";\nimport { useMemo } from \"react\";\nimport { isEmpty } from \"lodash\";\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 = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\n\tconst showHierarchy = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"showHierarchy\",\n\t]);\n\n\tconst inPrintMode = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"printMode\",\n\t]);\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"]}
@@ -7,7 +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 scorecardState = require('../../../../../state/scorecardState');
10
+ var state = require('../../../../../state');
11
11
 
12
12
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
13
13
 
@@ -18,8 +18,8 @@ function MetaHeaderCellComponent({
18
18
  header
19
19
  }) {
20
20
  const randomId = react.useRef(dhis2Utils.uid());
21
- const hasOnePeriod = scorecardState.useScorecardStateSelectorValue(["hasOnePeriod"]);
22
- const dataInRows = scorecardState.useScorecardStateSelectorValue([
21
+ const hasOnePeriod = state.useScorecardStateSelectorValue(["hasOnePeriod"]);
22
+ const dataInRows = state.useScorecardStateSelectorValue([
23
23
  "options",
24
24
  "showDataInRows"
25
25
  ]);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.tsx"],"names":["header"],"mappings":"AAgEI;AA9DJ,SAAS,6BAA0D;AACnE,OAAO,UAAU;AACjB,OAAO,YAAY;AACnB,SAAS,kBAAkB;AAC3B,SAAS,WAAW;AACpB,SAAS,MAAM,cAAc;AAC7B,SAAS,sCAAsC;AAE/C,SAAS,wBAAwB;AAAA,EAChC;AACD,GAA2C;AAC1C,QAAM,WAAW,OAAe,IAAI,CAAC;AAErC,QAAM,eAAe,+BAA+B,CAAC,cAAc,CAAC;AACpE,QAAM,aAAa,+BAAwC;AAAA,IAC1D;AAAA,IACA;AAAA,EACD,CAAC;AAED,QAAM,UAAU,aACb,eACC,MACA,MACD,eACC,MACA;AAEJ,QAAM,eAAe,OAAO,WAAW;AAAA,IAAK,CAACA,YAC5CA,QAAO,OAAO,aAAa;AAAA,EAC5B,GAAG;AAEH,QAAM,gBAAgB,CAAC,cAAc,YAAY,IAC9C,YACC,aAAc,YAAY;AAC9B,QAAM,eACL,cAAc,oBAAoB,MAAM,QACrC,KAAK,EAAE,oBAAoB,IAC3B,cAAc,oBAAoB,MAAM,SACvC,KAAK,EAAE,qBAAqB,IAC5B,KAAK,EAAE,SAAS;AAErB,SACC;AAAA,IAAC;AAAA;AAAA,MAEA,OAAM;AAAA,MACN,eAAe,KAAK,EAAE,yBAAyB,EAAE,aAAa,CAAC;AAAA,MAC/D,iBAAiB,CAAC,GAAG,MAAM;AAC1B,cAAM,OAAO,aAAc,wBAAwB;AACnD,YAAI,MAAM;AACT,eAAK,CAAC;AAAA,QACP;AAAA,MACD;AAAA,MACA,OAAK;AAAA,MAGL,MAAK;AAAA,MACL;AAAA,MACA,SAAS,OAAO,QAAQ,SAAS;AAAA,MACjC;AAAA,MACA,WAAW,OAAO;AAAA,MAEjB,WAAC,CAAC,gBACF;AAAA,QAAC;AAAA;AAAA,UAEA,QAAQ;AAAA;AAAA,QADH,GAAG,OAAO,EAAE;AAAA,MAElB;AAAA;AAAA,IAtBI,GAAG,OAAO,EAAE,IAAI,SAAS,OAAO;AAAA,EAwBtC;AAEF;AAEO,MAAM,iBAAiB,KAAK,uBAAuB","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 { useScorecardStateSelectorValue } from \"../../../../../state/scorecardState\";\n\nfunction MetaHeaderCellComponent({\n\theader,\n}: HeaderContext<ScorecardTableData, any>) {\n\tconst randomId = useRef<string>(uid());\n\n\tconst hasOnePeriod = useScorecardStateSelectorValue([\"hasOnePeriod\"]);\n\tconst dataInRows = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\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":["header"],"mappings":"AAgEI;AA9DJ,SAAS,6BAA0D;AACnE,OAAO,UAAU;AACjB,OAAO,YAAY;AACnB,SAAS,kBAAkB;AAC3B,SAAS,WAAW;AACpB,SAAS,MAAM,cAAc;AAC7B,SAAS,sCAAsC;AAE/C,SAAS,wBAAwB;AAAA,EAChC;AACD,GAA2C;AAC1C,QAAM,WAAW,OAAe,IAAI,CAAC;AAErC,QAAM,eAAe,+BAA+B,CAAC,cAAc,CAAC;AACpE,QAAM,aAAa,+BAAwC;AAAA,IAC1D;AAAA,IACA;AAAA,EACD,CAAC;AAED,QAAM,UAAU,aACb,eACC,MACA,MACD,eACC,MACA;AAEJ,QAAM,eAAe,OAAO,WAAW;AAAA,IAAK,CAACA,YAC5CA,QAAO,OAAO,aAAa;AAAA,EAC5B,GAAG;AAEH,QAAM,gBAAgB,CAAC,cAAc,YAAY,IAC9C,YACC,aAAc,YAAY;AAC9B,QAAM,eACL,cAAc,oBAAoB,MAAM,QACrC,KAAK,EAAE,oBAAoB,IAC3B,cAAc,oBAAoB,MAAM,SACvC,KAAK,EAAE,qBAAqB,IAC5B,KAAK,EAAE,SAAS;AAErB,SACC;AAAA,IAAC;AAAA;AAAA,MAEA,OAAM;AAAA,MACN,eAAe,KAAK,EAAE,yBAAyB,EAAE,aAAa,CAAC;AAAA,MAC/D,iBAAiB,CAAC,GAAG,MAAM;AAC1B,cAAM,OAAO,aAAc,wBAAwB;AACnD,YAAI,MAAM;AACT,eAAK,CAAC;AAAA,QACP;AAAA,MACD;AAAA,MACA,OAAK;AAAA,MAGL,MAAK;AAAA,MACL;AAAA,MACA,SAAS,OAAO,QAAQ,SAAS;AAAA,MACjC;AAAA,MACA,WAAW,OAAO;AAAA,MAEjB,WAAC,CAAC,gBACF;AAAA,QAAC;AAAA;AAAA,UAEA,QAAQ;AAAA;AAAA,QADH,GAAG,OAAO,EAAE;AAAA,MAElB;AAAA;AAAA,IAtBI,GAAG,OAAO,EAAE,IAAI,SAAS,OAAO;AAAA,EAwBtC;AAEF;AAEO,MAAM,iBAAiB,KAAK,uBAAuB","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 { useScorecardStateSelectorValue } from \"../../../../../state\";\n\nfunction MetaHeaderCellComponent({\n\theader,\n}: HeaderContext<ScorecardTableData, any>) {\n\tconst randomId = useRef<string>(uid());\n\n\tconst hasOnePeriod = useScorecardStateSelectorValue([\"hasOnePeriod\"]);\n\tconst dataInRows = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\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"]}
@@ -3,7 +3,7 @@
3
3
  var jsxRuntime = require('react/jsx-runtime');
4
4
  var react = require('react');
5
5
  var recoil = require('recoil');
6
- var scorecardState = require('../state/scorecardState');
6
+ var state = require('../state');
7
7
  var utils = require('../utils');
8
8
 
9
9
  function ScorecardStateProvider({
@@ -14,7 +14,7 @@ function ScorecardStateProvider({
14
14
  const initState = react.useCallback(
15
15
  ({ set }) => {
16
16
  set(
17
- scorecardState.scorecardStateAtom,
17
+ state.scorecardStateAtom,
18
18
  initialState ?? utils.getInitialStateFromConfig(config)
19
19
  );
20
20
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/StateProvider.tsx"],"names":[],"mappings":"AA2BQ;AA1BR,SAAyB,mBAAmB;AAC5C,SAA0B,kBAAkB;AAC5C,SAAS,0BAA0B;AACnC,SAAS,iCAAiC;AAQnC,SAAS,uBAAuB;AAAA,EACtC;AAAA,EACA;AAAA,EACA;AACD,GAAgC;AAC/B,QAAM,YAAY;AAAA,IACjB,CAAC,EAAE,IAAI,MAAuB;AAC7B;AAAA,QACC;AAAA,QACA,gBAAgB,0BAA0B,MAAM;AAAA,MACjD;AAAA,IACD;AAAA,IACA,CAAC,cAAc,MAAM;AAAA,EACtB;AAEA,SAAO,oBAAC,cAAW,iBAAiB,WAAY,UAAS;AAC1D","sourcesContent":["import type { ScorecardConfig, ScorecardState } from \"../schemas/config\";\nimport { type ReactNode, useCallback } from \"react\";\nimport { MutableSnapshot, RecoilRoot } from \"recoil\";\nimport { scorecardStateAtom } from \"../state/scorecardState\";\nimport { getInitialStateFromConfig } from \"../utils\";\n\nexport interface ScorecardStateProviderProps {\n\tinitialState?: ScorecardState;\n\tconfig: ScorecardConfig;\n\tchildren: ReactNode;\n}\n\nexport function ScorecardStateProvider({\n\tchildren,\n\tinitialState,\n\tconfig,\n}: ScorecardStateProviderProps) {\n\tconst initState = useCallback(\n\t\t({ set }: MutableSnapshot) => {\n\t\t\tset(\n\t\t\t\tscorecardStateAtom,\n\t\t\t\tinitialState ?? getInitialStateFromConfig(config),\n\t\t\t);\n\t\t},\n\t\t[initialState, config],\n\t);\n\n\treturn <RecoilRoot initializeState={initState}>{children}</RecoilRoot>;\n}\n"]}
1
+ {"version":3,"sources":["../../src/components/StateProvider.tsx"],"names":[],"mappings":"AA2BQ;AA1BR,SAAyB,mBAAmB;AAC5C,SAA0B,kBAAkB;AAC5C,SAAS,0BAA0B;AACnC,SAAS,iCAAiC;AAQnC,SAAS,uBAAuB;AAAA,EACtC;AAAA,EACA;AAAA,EACA;AACD,GAAgC;AAC/B,QAAM,YAAY;AAAA,IACjB,CAAC,EAAE,IAAI,MAAuB;AAC7B;AAAA,QACC;AAAA,QACA,gBAAgB,0BAA0B,MAAM;AAAA,MACjD;AAAA,IACD;AAAA,IACA,CAAC,cAAc,MAAM;AAAA,EACtB;AAEA,SAAO,oBAAC,cAAW,iBAAiB,WAAY,UAAS;AAC1D","sourcesContent":["import type { ScorecardConfig, ScorecardState } from \"../schemas/config\";\nimport { type ReactNode, useCallback } from \"react\";\nimport { MutableSnapshot, RecoilRoot } from \"recoil\";\nimport { scorecardStateAtom } from \"../state\";\nimport { getInitialStateFromConfig } from \"../utils\";\n\nexport interface ScorecardStateProviderProps {\n\tinitialState?: ScorecardState;\n\tconfig: ScorecardConfig;\n\tchildren: ReactNode;\n}\n\nexport function ScorecardStateProvider({\n\tchildren,\n\tinitialState,\n\tconfig,\n}: ScorecardStateProviderProps) {\n\tconst initState = useCallback(\n\t\t({ set }: MutableSnapshot) => {\n\t\t\tset(\n\t\t\t\tscorecardStateAtom,\n\t\t\t\tinitialState ?? getInitialStateFromConfig(config),\n\t\t\t);\n\t\t},\n\t\t[initialState, config],\n\t);\n\n\treturn <RecoilRoot initializeState={initState}>{children}</RecoilRoot>;\n}\n"]}
@@ -4,7 +4,7 @@ import { ScorecardContext } from './components';
4
4
  import { CheckboxField } from '@dhis2/ui';
5
5
  import { ScorecardStateProvider } from './components/StateProvider';
6
6
  import { getInitialStateFromConfig } from './utils';
7
- import { useScorecardStateSelector } from './state/scorecardState';
7
+ import { useScorecardStateSelector } from './state';
8
8
 
9
9
  const playConfig = {
10
10
  id: "YyeJxCBJpcz",