@hisptz/dhis2-analytics 2.0.38 → 2.0.40

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 (80) hide show
  1. package/dist/components/Scorecard/Scorecard.js +3 -1
  2. package/dist/components/Scorecard/Scorecard.js.map +1 -1
  3. package/dist/components/Scorecard/Scorecard.stories.js +1 -1
  4. package/dist/components/Scorecard/Scorecard.stories.js.map +1 -1
  5. package/dist/components/Scorecard/components/ScorecardTable/ScorecardTable.js +43 -33
  6. package/dist/components/Scorecard/components/ScorecardTable/ScorecardTable.js.map +1 -1
  7. package/dist/components/Scorecard/components/ScorecardTable/components/AverageCell.js +1 -1
  8. package/dist/components/Scorecard/components/ScorecardTable/components/AverageCell.js.map +1 -1
  9. package/dist/components/Scorecard/components/ScorecardTable/components/DraggableCell.js +29 -30
  10. package/dist/components/Scorecard/components/ScorecardTable/components/DraggableCell.js.map +1 -1
  11. package/dist/components/Scorecard/components/ScorecardTable/components/DroppableCell.js +28 -16
  12. package/dist/components/Scorecard/components/ScorecardTable/components/DroppableCell.js.map +1 -1
  13. package/dist/components/Scorecard/components/ScorecardTable/components/EmptyFooterCell.js +1 -1
  14. package/dist/components/Scorecard/components/ScorecardTable/components/EmptyFooterCell.js.map +1 -1
  15. package/dist/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.js +1 -0
  16. package/dist/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.js.map +1 -1
  17. package/dist/components/Scorecard/components/ScorecardTable/components/PaginatedToolbar.js +51 -0
  18. package/dist/components/Scorecard/components/ScorecardTable/components/PaginatedToolbar.js.map +1 -0
  19. package/dist/components/Scorecard/components/ScorecardTable/components/TableBody.js +2 -1
  20. package/dist/components/Scorecard/components/ScorecardTable/components/TableBody.js.map +1 -1
  21. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js +1 -0
  22. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js.map +1 -1
  23. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.js +3 -1
  24. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.js.map +1 -1
  25. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.js +1 -0
  26. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.js.map +1 -1
  27. package/dist/components/Scorecard/components/TableStateProvider.js +20 -1
  28. package/dist/components/Scorecard/components/TableStateProvider.js.map +1 -1
  29. package/dist/components/Scorecard/hooks/table.js +11 -2
  30. package/dist/components/Scorecard/hooks/table.js.map +1 -1
  31. package/dist/components/Visualization/components/VisualizationDimensionSelector/index.js +1 -1
  32. package/dist/components/Visualization/components/VisualizationDimensionSelector/index.js.map +1 -1
  33. package/dist/esm/components/Scorecard/Scorecard.js +3 -1
  34. package/dist/esm/components/Scorecard/Scorecard.js.map +1 -1
  35. package/dist/esm/components/Scorecard/Scorecard.stories.js +1 -1
  36. package/dist/esm/components/Scorecard/Scorecard.stories.js.map +1 -1
  37. package/dist/esm/components/Scorecard/components/ScorecardTable/ScorecardTable.js +43 -33
  38. package/dist/esm/components/Scorecard/components/ScorecardTable/ScorecardTable.js.map +1 -1
  39. package/dist/esm/components/Scorecard/components/ScorecardTable/components/AverageCell.js +1 -1
  40. package/dist/esm/components/Scorecard/components/ScorecardTable/components/AverageCell.js.map +1 -1
  41. package/dist/esm/components/Scorecard/components/ScorecardTable/components/DraggableCell.js +29 -30
  42. package/dist/esm/components/Scorecard/components/ScorecardTable/components/DraggableCell.js.map +1 -1
  43. package/dist/esm/components/Scorecard/components/ScorecardTable/components/DroppableCell.js +28 -16
  44. package/dist/esm/components/Scorecard/components/ScorecardTable/components/DroppableCell.js.map +1 -1
  45. package/dist/esm/components/Scorecard/components/ScorecardTable/components/EmptyFooterCell.js +1 -1
  46. package/dist/esm/components/Scorecard/components/ScorecardTable/components/EmptyFooterCell.js.map +1 -1
  47. package/dist/esm/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.js +1 -0
  48. package/dist/esm/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.js.map +1 -1
  49. package/dist/esm/components/Scorecard/components/ScorecardTable/components/PaginatedToolbar.js +49 -0
  50. package/dist/esm/components/Scorecard/components/ScorecardTable/components/PaginatedToolbar.js.map +1 -0
  51. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableBody.js +3 -2
  52. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableBody.js.map +1 -1
  53. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js +1 -0
  54. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js.map +1 -1
  55. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.js +3 -1
  56. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.js.map +1 -1
  57. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.js +1 -0
  58. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.js.map +1 -1
  59. package/dist/esm/components/Scorecard/components/TableStateProvider.js +18 -2
  60. package/dist/esm/components/Scorecard/components/TableStateProvider.js.map +1 -1
  61. package/dist/esm/components/Scorecard/hooks/table.js +12 -3
  62. package/dist/esm/components/Scorecard/hooks/table.js.map +1 -1
  63. package/dist/esm/components/Visualization/components/VisualizationDimensionSelector/index.js +1 -1
  64. package/dist/esm/components/Visualization/components/VisualizationDimensionSelector/index.js.map +1 -1
  65. package/dist/types/components/Scorecard/Scorecard.d.ts.map +1 -1
  66. package/dist/types/components/Scorecard/components/ScorecardTable/ScorecardTable.d.ts.map +1 -1
  67. package/dist/types/components/Scorecard/components/ScorecardTable/components/DraggableCell.d.ts +2 -1
  68. package/dist/types/components/Scorecard/components/ScorecardTable/components/DraggableCell.d.ts.map +1 -1
  69. package/dist/types/components/Scorecard/components/ScorecardTable/components/DroppableCell.d.ts.map +1 -1
  70. package/dist/types/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.d.ts.map +1 -1
  71. package/dist/types/components/Scorecard/components/ScorecardTable/components/PaginatedToolbar.d.ts +2 -0
  72. package/dist/types/components/Scorecard/components/ScorecardTable/components/PaginatedToolbar.d.ts.map +1 -0
  73. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableBody.d.ts.map +1 -1
  74. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.d.ts.map +1 -1
  75. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.d.ts.map +1 -1
  76. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.d.ts.map +1 -1
  77. package/dist/types/components/Scorecard/components/TableStateProvider.d.ts +5 -0
  78. package/dist/types/components/Scorecard/components/TableStateProvider.d.ts.map +1 -1
  79. package/dist/types/components/Scorecard/hooks/table.d.ts.map +1 -1
  80. package/package.json +2 -4
@@ -11,6 +11,7 @@ function MetaFooterCell() {
11
11
  return /* @__PURE__ */ jsx(
12
12
  DataTableCell,
13
13
  {
14
+ bordered: true,
14
15
  width: "300px",
15
16
  style: {
16
17
  width: "fit-content",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../src/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.tsx"],"names":[],"mappings":"AAwBG;AAxBH,SAAS,qBAAqB;AAC9B,OAAO,UAAU;AACjB,SAAS,iCAAiC;AAEnC,SAAS,iBAAiB;AAChC,QAAM,aAAa,0BAAmC;AAAA,IACrD;AAAA,IACA;AAAA,EACD,CAAC;AAED,SACC;AAAA,IAAC;AAAA;AAAA,MACA,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 { useScorecardStateSelector } from \"../../StateProvider\";\n\nexport function MetaFooterCell() {\n\tconst itemNumber = useScorecardStateSelector<boolean>([\n\t\t\"options\",\n\t\t\"itemNumber\",\n\t]);\n\n\treturn (\n\t\t<DataTableCell\n\t\t\twidth=\"300px\"\n\t\t\tstyle={{\n\t\t\t\twidth: \"fit-content\",\n\t\t\t\tminWidth: 300,\n\t\t\t}}\n\t\t\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/Scorecard/components/ScorecardTable/components/MetaFooterCell.tsx"],"names":[],"mappings":"AAyBG;AAzBH,SAAS,qBAAqB;AAC9B,OAAO,UAAU;AACjB,SAAS,iCAAiC;AAEnC,SAAS,iBAAiB;AAChC,QAAM,aAAa,0BAAmC;AAAA,IACrD;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 { useScorecardStateSelector } from \"../../StateProvider\";\n\nexport function MetaFooterCell() {\n\tconst itemNumber = useScorecardStateSelector<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"]}
@@ -0,0 +1,49 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { DataTableToolbar, Pagination } from '@dhis2/ui';
3
+ import { useTableState, useToggleTableLoadingState } from '../../TableStateProvider';
4
+ import { useTransition } from 'react';
5
+ import { useUpdateEffect } from 'usehooks-ts';
6
+
7
+ function PaginatedToolbar() {
8
+ const [isPending, startTransition] = useTransition();
9
+ const table = useTableState();
10
+ const rowCount = table.getRowCount();
11
+ const page = table.getState().pagination.pageIndex + 1;
12
+ const pageSize = table.getState().pagination.pageSize;
13
+ const pageCount = table.getPageCount();
14
+ const toggleTableLoading = useToggleTableLoadingState();
15
+ const onPageChange = (page2) => {
16
+ startTransition(() => {
17
+ table.setPageIndex(page2 - 1);
18
+ });
19
+ };
20
+ const onPageSizeChange = (pageSize2) => {
21
+ startTransition(() => {
22
+ table.setPageSize(pageSize2);
23
+ });
24
+ };
25
+ useUpdateEffect(() => {
26
+ toggleTableLoading();
27
+ }, [isPending]);
28
+ if (rowCount <= 50) {
29
+ return null;
30
+ }
31
+ return /* @__PURE__ */ jsx(DataTableToolbar, { position: "bottom", children: /* @__PURE__ */ jsx("div", { style: { width: "100%" }, children: /* @__PURE__ */ jsx(
32
+ Pagination,
33
+ {
34
+ total: rowCount,
35
+ pageCount,
36
+ pageSizes: [10, 20, 30, 40, 50, 100].map(
37
+ (size) => size.toString()
38
+ ),
39
+ page,
40
+ pageSize,
41
+ onPageChange,
42
+ onPageSizeChange
43
+ }
44
+ ) }) });
45
+ }
46
+
47
+ export { PaginatedToolbar };
48
+ //# sourceMappingURL=out.js.map
49
+ //# sourceMappingURL=PaginatedToolbar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../src/components/Scorecard/components/ScorecardTable/components/PaginatedToolbar.tsx"],"names":["page","pageSize"],"mappings":"AAuCI;AAvCJ,SAAS,kBAAkB,kBAAkB;AAC7C;AAAA,EACC;AAAA,EACA;AAAA,OACM;AACP,SAAS,qBAAqB;AAC9B,SAAS,uBAAuB;AAEzB,SAAS,mBAAmB;AAClC,QAAM,CAAC,WAAW,eAAe,IAAI,cAAc;AACnD,QAAM,QAAQ,cAAc;AAC5B,QAAM,WAAW,MAAM,YAAY;AACnC,QAAM,OAAO,MAAM,SAAS,EAAE,WAAW,YAAY;AACrD,QAAM,WAAW,MAAM,SAAS,EAAE,WAAW;AAC7C,QAAM,YAAY,MAAM,aAAa;AACrC,QAAM,qBAAqB,2BAA2B;AAEtD,QAAM,eAAe,CAACA,UAAiB;AACtC,oBAAgB,MAAM;AACrB,YAAM,aAAaA,QAAO,CAAC;AAAA,IAC5B,CAAC;AAAA,EACF;AACA,QAAM,mBAAmB,CAACC,cAAqB;AAC9C,oBAAgB,MAAM;AACrB,YAAM,YAAYA,SAAQ;AAAA,IAC3B,CAAC;AAAA,EACF;AAEA,kBAAgB,MAAM;AACrB,uBAAmB;AAAA,EACpB,GAAG,CAAC,SAAS,CAAC;AAEd,MAAI,YAAY,IAAI;AACnB,WAAO;AAAA,EACR;AAEA,SACC,oBAAC,oBAAiB,UAAS,UAC1B,8BAAC,SAAI,OAAO,EAAE,OAAO,OAAO,GAC3B;AAAA,IAAC;AAAA;AAAA,MACA,OAAO;AAAA,MACP;AAAA,MACA,WAAW,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE;AAAA,QAAI,CAAC,SACzC,KAAK,SAAS;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,EACD,GACD,GACD;AAEF","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 (rowCount <= 50) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<DataTableToolbar position=\"bottom\">\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,6 +1,6 @@
1
1
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
2
  import { DataTableBody } from '@dhis2/ui';
3
- import { useTableState } from '../../TableStateProvider';
3
+ import { useTableState, useTableLoadingState } from '../../TableStateProvider';
4
4
  import { TableRow } from './DataRow';
5
5
  import { memo, useMemo } from 'react';
6
6
  import { LoadingIndicator } from '../../LoadingIndicator';
@@ -10,13 +10,14 @@ const TableBody = memo(function TableBody2({
10
10
  tableRef
11
11
  }) {
12
12
  const table = useTableState();
13
+ const loading = useTableLoadingState();
13
14
  const rows = useMemo(
14
15
  () => table.getRowModel().rows,
15
16
  [table.getRowModel().rows]
16
17
  );
17
18
  return /* @__PURE__ */ jsxs(Fragment, { children: [
18
19
  /* @__PURE__ */ jsx("thead", { children: /* @__PURE__ */ jsx(ScorecardDataFetchProgressProvider, { children: /* @__PURE__ */ jsx(LoadingIndicator, { tableRef }) }) }),
19
- /* @__PURE__ */ jsx(DataTableBody, { children: rows.map((row) => /* @__PURE__ */ jsx(TableRow, { row }, row.id)) })
20
+ /* @__PURE__ */ jsx(DataTableBody, { loading, children: rows.map((row) => /* @__PURE__ */ jsx(TableRow, { row }, row.id)) })
20
21
  ] });
21
22
  });
22
23
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../src/components/Scorecard/components/ScorecardTable/components/TableBody.tsx"],"names":["TableBody"],"mappings":"AAmBE,mBAGG,KAHH;AAnBF,SAAS,qBAAqB;AAC9B,SAAS,qBAAqB;AAC9B,SAAS,gBAAgB;AACzB,SAAS,MAAsB,eAAe;AAC9C,SAAS,wBAAwB;AACjC,SAAS,0CAA0C;AAE5C,MAAM,YAAY,KAAK,SAASA,WAAU;AAAA,EAChD;AACD,GAEG;AACF,QAAM,QAAQ,cAAc;AAC5B,QAAM,OAAO;AAAA,IACZ,MAAM,MAAM,YAAY,EAAE;AAAA,IAC1B,CAAC,MAAM,YAAY,EAAE,IAAI;AAAA,EAC1B;AAEA,SACC,iCACC;AAAA,wBAAC,WACA,8BAAC,sCACA,8BAAC,oBAAiB,UAAoB,GACvC,GACD;AAAA,IACA,oBAAC,iBACC,eAAK,IAAI,CAAC,QACV,oBAAC,YAAsB,OAAR,IAAI,EAAc,CACjC,GACF;AAAA,KACD;AAEF,CAAC","sourcesContent":["import { DataTableBody } from \"@dhis2/ui\";\nimport { useTableState } from \"../../TableStateProvider\";\nimport { TableRow } from \"./DataRow\";\nimport { memo, type RefObject, useMemo } from \"react\";\nimport { LoadingIndicator } from \"../../LoadingIndicator\";\nimport { ScorecardDataFetchProgressProvider } from \"../../DataProvider\";\n\nexport const TableBody = memo(function TableBody({\n\ttableRef,\n}: {\n\ttableRef: RefObject<HTMLTableElement>;\n}) {\n\tconst table = useTableState();\n\tconst rows = useMemo(\n\t\t() => table.getRowModel().rows,\n\t\t[table.getRowModel().rows],\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<thead>\n\t\t\t\t<ScorecardDataFetchProgressProvider>\n\t\t\t\t\t<LoadingIndicator tableRef={tableRef} />\n\t\t\t\t</ScorecardDataFetchProgressProvider>\n\t\t\t</thead>\n\t\t\t<DataTableBody>\n\t\t\t\t{rows.map((row) => (\n\t\t\t\t\t<TableRow key={row.id} row={row} />\n\t\t\t\t))}\n\t\t\t</DataTableBody>\n\t\t</>\n\t);\n});\n"]}
1
+ {"version":3,"sources":["../../../../../../../src/components/Scorecard/components/ScorecardTable/components/TableBody.tsx"],"names":["TableBody"],"mappings":"AAqBE,mBAGG,KAHH;AArBF,SAAS,qBAAqB;AAC9B,SAAS,sBAAsB,qBAAqB;AACpD,SAAS,gBAAgB;AACzB,SAAS,MAAsB,eAAe;AAC9C,SAAS,wBAAwB;AACjC,SAAS,0CAA0C;AAE5C,MAAM,YAAY,KAAK,SAASA,WAAU;AAAA,EAChD;AACD,GAEG;AACF,QAAM,QAAQ,cAAc;AAC5B,QAAM,UAAU,qBAAqB;AAErC,QAAM,OAAO;AAAA,IACZ,MAAM,MAAM,YAAY,EAAE;AAAA,IAC1B,CAAC,MAAM,YAAY,EAAE,IAAI;AAAA,EAC1B;AAEA,SACC,iCACC;AAAA,wBAAC,WACA,8BAAC,sCACA,8BAAC,oBAAiB,UAAoB,GACvC,GACD;AAAA,IACA,oBAAC,iBAAc,SACb,eAAK,IAAI,CAAC,QACV,oBAAC,YAAsB,OAAR,IAAI,EAAc,CACjC,GACF;AAAA,KACD;AAEF,CAAC","sourcesContent":["import { DataTableBody } from \"@dhis2/ui\";\nimport { useTableLoadingState, useTableState } from \"../../TableStateProvider\";\nimport { TableRow } from \"./DataRow\";\nimport { memo, type RefObject, useMemo } from \"react\";\nimport { LoadingIndicator } from \"../../LoadingIndicator\";\nimport { ScorecardDataFetchProgressProvider } from \"../../DataProvider\";\n\nexport const TableBody = memo(function TableBody({\n\ttableRef,\n}: {\n\ttableRef: RefObject<HTMLTableElement>;\n}) {\n\tconst table = useTableState();\n\tconst loading = useTableLoadingState();\n\n\tconst rows = useMemo(\n\t\t() => table.getRowModel().rows,\n\t\t[table.getRowModel().rows],\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<thead>\n\t\t\t\t<ScorecardDataFetchProgressProvider>\n\t\t\t\t\t<LoadingIndicator tableRef={tableRef} />\n\t\t\t\t</ScorecardDataFetchProgressProvider>\n\t\t\t</thead>\n\t\t\t<DataTableBody loading={loading}>\n\t\t\t\t{rows.map((row) => (\n\t\t\t\t\t<TableRow key={row.id} row={row} />\n\t\t\t\t))}\n\t\t\t</DataTableBody>\n\t\t</>\n\t);\n});\n"]}
@@ -45,6 +45,7 @@ function DataHeaderCellComponent({
45
45
  children: /* @__PURE__ */ jsx(
46
46
  DraggableCell,
47
47
  {
48
+ id: label,
48
49
  type: dataInRows ? ScorecardDraggableItems.ou : ScorecardDraggableItems.data,
49
50
  children: bold ? /* @__PURE__ */ jsx("b", { children: label }) : label
50
51
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../../../src/components/Scorecard/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,iCAAiC;AAEnC,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,0BAAmC;AAAA,IACrD;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,MACC,aACG,wBAAwB,KACxB,wBAAwB;AAAA,cAG3B,iBAAO,oBAAC,OAAG,iBAAM,IAAO;AAAA;AAAA,UAC1B;AAAA;AAAA,MACD;AAAA;AAAA,IApCK,GAAG,KAAK;AAAA,EAqCd;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 { useScorecardStateSelector } from \"../../../../StateProvider\";\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 = useScorecardStateSelector<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\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/Scorecard/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,iCAAiC;AAEnC,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,0BAAmC;AAAA,IACrD;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 { useScorecardStateSelector } from \"../../../../StateProvider\";\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 = useScorecardStateSelector<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"]}
@@ -34,7 +34,8 @@ function LabelCellComponent(props) {
34
34
  {
35
35
  width: `${size}px`,
36
36
  style: {
37
- width: size
37
+ width: size,
38
+ minWidth: size
38
39
  },
39
40
  fixed: true,
40
41
  left: `${left}px`,
@@ -46,6 +47,7 @@ function LabelCellComponent(props) {
46
47
  children: /* @__PURE__ */ jsx(
47
48
  DraggableCell,
48
49
  {
50
+ id: data,
49
51
  type: dataInRows ? ScorecardDraggableItems.data : ScorecardDraggableItems.ou,
50
52
  children: data
51
53
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../../../src/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.tsx"],"names":["left"],"mappings":"AA2DI;AA1DJ;AAAA,EACC;AAAA,OAEM;AACP,SAAS,qBAAqB;AAC9B,OAAO,mBAAmB;AAC1B,SAAS,qBAAqB;AAC9B,SAAS,iCAAiC;AAC1C,SAAS,MAAM,eAAe;AAC9B,SAAS,YAAY;AAEd,SAAS,mBACf,OACC;AACD,QAAM,OAAO,MAAM,SAAS,EAAE,SAAS;AACvC,QAAM,OAAO,MAAM,KAAK,OAAO,QAAQ;AACvC,QAAM,aAAa,0BAAmC;AAAA,IACrD;AAAA,IACA;AAAA,EACD,CAAC;AAED,QAAM,aAAa,0BAAmC;AAAA,IACrD;AAAA,IACA;AAAA,EACD,CAAC;AAED,QAAM,YAAY,QAAQ,MAAM;AAC/B,UAAM,aAAa,KAAK,MAAM,IAAI,gBAAgB,CAAC;AACnD,WAAQ,YAAY,SAAS,KAAiB;AAAA,EAC/C,GAAG,CAAC,CAAC;AAEL,QAAM,OAAO,QAAQ,MAAM;AAC1B,QAAIA,QAAO;AACX,QAAI,YAAY;AACf,MAAAA;AAAA,IACD;AACA,WAAOA,QAAO;AAAA,EACf,GAAG,CAAC,WAAW,UAAU,CAAC;AAE1B,SACC;AAAA,IAAC;AAAA;AAAA,MACA,OAAO,GAAG,IAAI;AAAA,MACd,OAAO;AAAA,QACN,OAAO;AAAA,MACR;AAAA,MACA,OAAK;AAAA,MAGL,MAAM,GAAG,IAAI;AAAA,MACb,UAAQ;AAAA,MAER;AAAA,QAAC;AAAA;AAAA,UACA,QACC,aACG,CAAC,wBAAwB,EAAE,IAC3B,CAAC,wBAAwB,IAAI;AAAA,UAGjC;AAAA,YAAC;AAAA;AAAA,cACA,MACC,aACG,wBAAwB,OACxB,wBAAwB;AAAA,cAG3B;AAAA;AAAA,UACF;AAAA;AAAA,MACD;AAAA;AAAA,EACD;AAEF;AAEO,MAAM,YAAY,KAAK,kBAAkB","sourcesContent":["import type { CellContext } from \"@tanstack/react-table\";\nimport {\n\tScorecardDraggableItems,\n\ttype ScorecardTableData,\n} from \"../../../../../schemas/config\";\nimport { DataTableCell } from \"@dhis2/ui\";\nimport DroppableCell from \"../../DroppableCell\";\nimport { DraggableCell } from \"../../DraggableCell\";\nimport { useScorecardStateSelector } from \"../../../../StateProvider\";\nimport { memo, useMemo } from \"react\";\nimport { head } from \"lodash\";\n\nexport function LabelCellComponent(\n\tprops: CellContext<ScorecardTableData, string | number>,\n) {\n\tconst data = props.getValue().toString();\n\tconst size = props.cell.column.getSize();\n\tconst dataInRows = useScorecardStateSelector<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\n\n\tconst itemNumber = useScorecardStateSelector<boolean>([\n\t\t\"options\",\n\t\t\"itemNumber\",\n\t]);\n\n\tconst canExpand = useMemo(() => {\n\t\tconst expandCell = head(props.row.getVisibleCells());\n\t\treturn (expandCell?.getValue() as boolean) ?? false;\n\t}, []);\n\n\tconst left = useMemo(() => {\n\t\tlet left = 1;\n\t\tif (itemNumber) {\n\t\t\tleft++;\n\t\t}\n\t\treturn left * 48;\n\t}, [canExpand, itemNumber]);\n\n\treturn (\n\t\t<DataTableCell\n\t\t\twidth={`${size}px`}\n\t\t\tstyle={{\n\t\t\t\twidth: size,\n\t\t\t}}\n\t\t\tfixed\n\t\t\t/*\n // @ts-ignore */\n\t\t\tleft={`${left}px`}\n\t\t\tbordered\n\t\t>\n\t\t\t<DroppableCell\n\t\t\t\taccept={\n\t\t\t\t\tdataInRows\n\t\t\t\t\t\t? [ScorecardDraggableItems.ou]\n\t\t\t\t\t\t: [ScorecardDraggableItems.data]\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<DraggableCell\n\t\t\t\t\ttype={\n\t\t\t\t\t\tdataInRows\n\t\t\t\t\t\t\t? ScorecardDraggableItems.data\n\t\t\t\t\t\t\t: ScorecardDraggableItems.ou\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{data}\n\t\t\t\t</DraggableCell>\n\t\t\t</DroppableCell>\n\t\t</DataTableCell>\n\t);\n}\n\nexport const LabelCell = memo(LabelCellComponent);\n"]}
1
+ {"version":3,"sources":["../../../../../../../../../src/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.tsx"],"names":["left"],"mappings":"AA4DI;AA3DJ;AAAA,EACC;AAAA,OAEM;AACP,SAAS,qBAAqB;AAC9B,OAAO,mBAAmB;AAC1B,SAAS,qBAAqB;AAC9B,SAAS,iCAAiC;AAC1C,SAAS,MAAM,eAAe;AAC9B,SAAS,YAAY;AAEd,SAAS,mBACf,OACC;AACD,QAAM,OAAO,MAAM,SAAS,EAAE,SAAS;AACvC,QAAM,OAAO,MAAM,KAAK,OAAO,QAAQ;AACvC,QAAM,aAAa,0BAAmC;AAAA,IACrD;AAAA,IACA;AAAA,EACD,CAAC;AAED,QAAM,aAAa,0BAAmC;AAAA,IACrD;AAAA,IACA;AAAA,EACD,CAAC;AAED,QAAM,YAAY,QAAQ,MAAM;AAC/B,UAAM,aAAa,KAAK,MAAM,IAAI,gBAAgB,CAAC;AACnD,WAAQ,YAAY,SAAS,KAAiB;AAAA,EAC/C,GAAG,CAAC,CAAC;AAEL,QAAM,OAAO,QAAQ,MAAM;AAC1B,QAAIA,QAAO;AACX,QAAI,YAAY;AACf,MAAAA;AAAA,IACD;AACA,WAAOA,QAAO;AAAA,EACf,GAAG,CAAC,WAAW,UAAU,CAAC;AAE1B,SACC;AAAA,IAAC;AAAA;AAAA,MACA,OAAO,GAAG,IAAI;AAAA,MACd,OAAO;AAAA,QACN,OAAO;AAAA,QACP,UAAU;AAAA,MACX;AAAA,MACA,OAAK;AAAA,MAGL,MAAM,GAAG,IAAI;AAAA,MACb,UAAQ;AAAA,MAER;AAAA,QAAC;AAAA;AAAA,UACA,QACC,aACG,CAAC,wBAAwB,EAAE,IAC3B,CAAC,wBAAwB,IAAI;AAAA,UAGjC;AAAA,YAAC;AAAA;AAAA,cACA,IAAI;AAAA,cACJ,MACC,aACG,wBAAwB,OACxB,wBAAwB;AAAA,cAG3B;AAAA;AAAA,UACF;AAAA;AAAA,MACD;AAAA;AAAA,EACD;AAEF;AAEO,MAAM,YAAY,KAAK,kBAAkB","sourcesContent":["import type { CellContext } from \"@tanstack/react-table\";\nimport {\n\tScorecardDraggableItems,\n\ttype ScorecardTableData,\n} from \"../../../../../schemas/config\";\nimport { DataTableCell } from \"@dhis2/ui\";\nimport DroppableCell from \"../../DroppableCell\";\nimport { DraggableCell } from \"../../DraggableCell\";\nimport { useScorecardStateSelector } from \"../../../../StateProvider\";\nimport { memo, useMemo } from \"react\";\nimport { head } from \"lodash\";\n\nexport function LabelCellComponent(\n\tprops: CellContext<ScorecardTableData, string | number>,\n) {\n\tconst data = props.getValue().toString();\n\tconst size = props.cell.column.getSize();\n\tconst dataInRows = useScorecardStateSelector<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\n\n\tconst itemNumber = useScorecardStateSelector<boolean>([\n\t\t\"options\",\n\t\t\"itemNumber\",\n\t]);\n\n\tconst canExpand = useMemo(() => {\n\t\tconst expandCell = head(props.row.getVisibleCells());\n\t\treturn (expandCell?.getValue() as boolean) ?? false;\n\t}, []);\n\n\tconst left = useMemo(() => {\n\t\tlet left = 1;\n\t\tif (itemNumber) {\n\t\t\tleft++;\n\t\t}\n\t\treturn left * 48;\n\t}, [canExpand, itemNumber]);\n\n\treturn (\n\t\t<DataTableCell\n\t\t\twidth={`${size}px`}\n\t\t\tstyle={{\n\t\t\t\twidth: size,\n\t\t\t\tminWidth: size,\n\t\t\t}}\n\t\t\tfixed\n\t\t\t/*\n // @ts-ignore */\n\t\t\tleft={`${left}px`}\n\t\t\tbordered\n\t\t>\n\t\t\t<DroppableCell\n\t\t\t\taccept={\n\t\t\t\t\tdataInRows\n\t\t\t\t\t\t? [ScorecardDraggableItems.ou]\n\t\t\t\t\t\t: [ScorecardDraggableItems.data]\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<DraggableCell\n\t\t\t\t\tid={data}\n\t\t\t\t\ttype={\n\t\t\t\t\t\tdataInRows\n\t\t\t\t\t\t\t? ScorecardDraggableItems.data\n\t\t\t\t\t\t\t: ScorecardDraggableItems.ou\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{data}\n\t\t\t\t</DraggableCell>\n\t\t\t</DroppableCell>\n\t\t</DataTableCell>\n\t);\n}\n\nexport const LabelCell = memo(LabelCellComponent);\n"]}
@@ -8,6 +8,7 @@ function NumberCellComponent(props) {
8
8
  return /* @__PURE__ */ jsx(
9
9
  DataTableCell,
10
10
  {
11
+ bordered: true,
11
12
  width: `${size}px`,
12
13
  style: {
13
14
  width: size,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../../../src/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.tsx"],"names":[],"mappings":"AAYE;AAVF,SAAS,qBAAqB;AAC9B,SAAS,YAAY;AAErB,SAAS,oBACR,OACC;AACD,QAAM,OAAO,MAAM,SAAS,EAAE,SAAS;AACvC,QAAM,OAAO,MAAM,KAAK,OAAO,QAAQ;AAEvC,SACC;AAAA,IAAC;AAAA;AAAA,MACA,OAAO,GAAG,IAAI;AAAA,MACd,OAAO;AAAA,QACN,OAAO;AAAA,QACP,UAAU;AAAA,QACV,UAAU;AAAA,QACV,QAAQ;AAAA,MACT;AAAA,MACA,OAAK;AAAA,MAGL,MAAK;AAAA,MAEJ;AAAA;AAAA,EACF;AAEF;AAEO,MAAM,aAAa,KAAK,mBAAmB","sourcesContent":["import type { CellContext } from \"@tanstack/react-table\";\nimport type { ScorecardTableData } from \"../../../../../schemas/config\";\nimport { DataTableCell } from \"@dhis2/ui\";\nimport { memo } from \"react\";\n\nfunction NumberCellComponent(\n\tprops: CellContext<ScorecardTableData, string | number>,\n) {\n\tconst data = props.getValue().toString();\n\tconst size = props.cell.column.getSize();\n\n\treturn (\n\t\t<DataTableCell\n\t\t\twidth={`${size}px`}\n\t\t\tstyle={{\n\t\t\t\twidth: size,\n\t\t\t\tminWidth: size,\n\t\t\t\tmaxWidth: 48,\n\t\t\t\theight: 48,\n\t\t\t}}\n\t\t\tfixed\n\t\t\t/*\n // @ts-ignore */\n\t\t\tleft=\"48px\"\n\t\t>\n\t\t\t{data}\n\t\t</DataTableCell>\n\t);\n}\n\nexport const NumberCell = memo(NumberCellComponent);\n"]}
1
+ {"version":3,"sources":["../../../../../../../../../src/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.tsx"],"names":[],"mappings":"AAYE;AAVF,SAAS,qBAAqB;AAC9B,SAAS,YAAY;AAErB,SAAS,oBACR,OACC;AACD,QAAM,OAAO,MAAM,SAAS,EAAE,SAAS;AACvC,QAAM,OAAO,MAAM,KAAK,OAAO,QAAQ;AAEvC,SACC;AAAA,IAAC;AAAA;AAAA,MACA,UAAQ;AAAA,MACR,OAAO,GAAG,IAAI;AAAA,MACd,OAAO;AAAA,QACN,OAAO;AAAA,QACP,UAAU;AAAA,QACV,UAAU;AAAA,QACV,QAAQ;AAAA,MACT;AAAA,MACA,OAAK;AAAA,MAGL,MAAK;AAAA,MAEJ;AAAA;AAAA,EACF;AAEF;AAEO,MAAM,aAAa,KAAK,mBAAmB","sourcesContent":["import type { CellContext } from \"@tanstack/react-table\";\nimport type { ScorecardTableData } from \"../../../../../schemas/config\";\nimport { DataTableCell } from \"@dhis2/ui\";\nimport { memo } from \"react\";\n\nfunction NumberCellComponent(\n\tprops: CellContext<ScorecardTableData, string | number>,\n) {\n\tconst data = props.getValue().toString();\n\tconst size = props.cell.column.getSize();\n\n\treturn (\n\t\t<DataTableCell\n\t\t\tbordered\n\t\t\twidth={`${size}px`}\n\t\t\tstyle={{\n\t\t\t\twidth: size,\n\t\t\t\tminWidth: size,\n\t\t\t\tmaxWidth: 48,\n\t\t\t\theight: 48,\n\t\t\t}}\n\t\t\tfixed\n\t\t\t/*\n // @ts-ignore */\n\t\t\tleft=\"48px\"\n\t\t>\n\t\t\t{data}\n\t\t</DataTableCell>\n\t);\n}\n\nexport const NumberCell = memo(NumberCellComponent);\n"]}
@@ -2,6 +2,7 @@ import { jsx } from 'react/jsx-runtime';
2
2
  import { createContext, useContext } from 'react';
3
3
  import { getCoreRowModel, useReactTable } from '@tanstack/react-table';
4
4
  import { useTableSetup } from '../hooks/table';
5
+ import { useBoolean } from 'usehooks-ts';
5
6
 
6
7
  const TableStateContext = createContext({
7
8
  state: {},
@@ -9,15 +10,30 @@ const TableStateContext = createContext({
9
10
  getCoreRowModel: getCoreRowModel(),
10
11
  data: []
11
12
  });
13
+ const TableLoadingStateContext = createContext(false);
14
+ const TableLoadingStateToggleContext = createContext(() => {
15
+ });
12
16
  function useTableState() {
13
17
  const context = useContext(TableStateContext);
14
18
  return useReactTable(context);
15
19
  }
20
+ function useToggleTableLoadingState() {
21
+ return useContext(TableLoadingStateToggleContext);
22
+ }
23
+ function useTableLoadingState() {
24
+ return useContext(TableLoadingStateContext);
25
+ }
26
+ function TableLoadingStateProvider({
27
+ children
28
+ }) {
29
+ const { value: loading, toggle } = useBoolean(false);
30
+ return /* @__PURE__ */ jsx(TableLoadingStateToggleContext.Provider, { value: toggle, children: /* @__PURE__ */ jsx(TableLoadingStateContext.Provider, { value: loading, children }) });
31
+ }
16
32
  function TableStateProvider({ children }) {
17
33
  const options = useTableSetup();
18
- return /* @__PURE__ */ jsx(TableStateContext.Provider, { value: options, children });
34
+ return /* @__PURE__ */ jsx(TableStateContext.Provider, { value: options, children: /* @__PURE__ */ jsx(TableLoadingStateProvider, { children }) });
19
35
  }
20
36
 
21
- export { TableStateProvider, useTableState };
37
+ export { TableLoadingStateProvider, TableStateProvider, useTableLoadingState, useTableState, useToggleTableLoadingState };
22
38
  //# sourceMappingURL=out.js.map
23
39
  //# sourceMappingURL=TableStateProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/Scorecard/components/TableStateProvider.tsx"],"names":[],"mappings":"AAwBE;AAxBF,SAAS,eAA+B,kBAAkB;AAC1D;AAAA,EACC;AAAA,EAEA;AAAA,OACM;AACP,SAAS,qBAAqB;AAG9B,MAAM,oBAAoB,cAAgD;AAAA,EACzE,OAAO,CAAC;AAAA,EACR,SAAS,CAAC;AAAA,EACV,iBAAiB,gBAAgB;AAAA,EACjC,MAAM,CAAC;AACR,CAAC;AAEM,SAAS,gBAAgB;AAC/B,QAAM,UAAU,WAAW,iBAAiB;AAC5C,SAAO,cAAkC,OAAO;AACjD;AAEO,SAAS,mBAAmB,EAAE,SAAS,GAA4B;AACzE,QAAM,UAAU,cAAc;AAC9B,SACC,oBAAC,kBAAkB,UAAlB,EAA2B,OAAO,SACjC,UACF;AAEF","sourcesContent":["import { createContext, type ReactNode, useContext } from \"react\";\nimport {\n\tgetCoreRowModel,\n\ttype TableOptions,\n\tuseReactTable,\n} from \"@tanstack/react-table\";\nimport { useTableSetup } from \"../hooks/table\";\nimport type { ScorecardTableData } from \"../schemas/config\";\n\nconst TableStateContext = createContext<TableOptions<ScorecardTableData>>({\n\tstate: {},\n\tcolumns: [],\n\tgetCoreRowModel: getCoreRowModel(),\n\tdata: [],\n});\n\nexport function useTableState() {\n\tconst context = useContext(TableStateContext);\n\treturn useReactTable<ScorecardTableData>(context);\n}\n\nexport function TableStateProvider({ children }: { children: ReactNode }) {\n\tconst options = useTableSetup();\n\treturn (\n\t\t<TableStateContext.Provider value={options}>\n\t\t\t{children}\n\t\t</TableStateContext.Provider>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../../../src/components/Scorecard/components/TableStateProvider.tsx"],"names":[],"mappings":"AA0CG;AA1CH,SAAS,eAA+B,kBAAkB;AAC1D;AAAA,EACC;AAAA,EAEA;AAAA,OACM;AACP,SAAS,qBAAqB;AAE9B,SAAS,kBAAkB;AAE3B,MAAM,oBAAoB,cAAgD;AAAA,EACzE,OAAO,CAAC;AAAA,EACR,SAAS,CAAC;AAAA,EACV,iBAAiB,gBAAgB;AAAA,EACjC,MAAM,CAAC;AACR,CAAC;AAED,MAAM,2BAA2B,cAAuB,KAAK;AAC7D,MAAM,iCAAiC,cAA0B,MAAM;AAAC,CAAC;AAElE,SAAS,gBAAgB;AAC/B,QAAM,UAAU,WAAW,iBAAiB;AAC5C,SAAO,cAAkC,OAAO;AACjD;AAEO,SAAS,6BAA6B;AAC5C,SAAO,WAAW,8BAA8B;AACjD;AAEO,SAAS,uBAAuB;AACtC,SAAO,WAAW,wBAAwB;AAC3C;AAEO,SAAS,0BAA0B;AAAA,EACzC;AACD,GAEG;AACF,QAAM,EAAE,OAAO,SAAS,OAAO,IAAI,WAAW,KAAK;AAEnD,SACC,oBAAC,+BAA+B,UAA/B,EAAwC,OAAO,QAC/C,8BAAC,yBAAyB,UAAzB,EAAkC,OAAO,SACxC,UACF,GACD;AAEF;AAEO,SAAS,mBAAmB,EAAE,SAAS,GAA4B;AACzE,QAAM,UAAU,cAAc;AAC9B,SACC,oBAAC,kBAAkB,UAAlB,EAA2B,OAAO,SAClC,8BAAC,6BAA2B,UAAS,GACtC;AAEF","sourcesContent":["import { createContext, type ReactNode, useContext } from \"react\";\nimport {\n\tgetCoreRowModel,\n\ttype TableOptions,\n\tuseReactTable,\n} from \"@tanstack/react-table\";\nimport { useTableSetup } from \"../hooks/table\";\nimport type { ScorecardTableData } from \"../schemas/config\";\nimport { useBoolean } from \"usehooks-ts\";\n\nconst TableStateContext = createContext<TableOptions<ScorecardTableData>>({\n\tstate: {},\n\tcolumns: [],\n\tgetCoreRowModel: getCoreRowModel(),\n\tdata: [],\n});\n\nconst TableLoadingStateContext = createContext<boolean>(false);\nconst TableLoadingStateToggleContext = createContext<() => void>(() => {});\n\nexport function useTableState() {\n\tconst context = useContext(TableStateContext);\n\treturn useReactTable<ScorecardTableData>(context);\n}\n\nexport function useToggleTableLoadingState() {\n\treturn useContext(TableLoadingStateToggleContext);\n}\n\nexport function useTableLoadingState() {\n\treturn useContext(TableLoadingStateContext);\n}\n\nexport function TableLoadingStateProvider({\n\tchildren,\n}: {\n\tchildren: ReactNode;\n}) {\n\tconst { value: loading, toggle } = useBoolean(false);\n\n\treturn (\n\t\t<TableLoadingStateToggleContext.Provider value={toggle}>\n\t\t\t<TableLoadingStateContext.Provider value={loading}>\n\t\t\t\t{children}\n\t\t\t</TableLoadingStateContext.Provider>\n\t\t</TableLoadingStateToggleContext.Provider>\n\t);\n}\n\nexport function TableStateProvider({ children }: { children: ReactNode }) {\n\tconst options = useTableSetup();\n\treturn (\n\t\t<TableStateContext.Provider value={options}>\n\t\t\t<TableLoadingStateProvider>{children}</TableLoadingStateProvider>\n\t\t</TableStateContext.Provider>\n\t);\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { getCoreRowModel, getFilteredRowModel, getSortedRowModel } from '@tanstack/react-table';
1
+ import { getCoreRowModel, getFilteredRowModel, getPaginationRowModel, getSortedRowModel } from '@tanstack/react-table';
2
2
  import { useTableColumns } from './columns';
3
3
  import { useState, useMemo, useEffect } from 'react';
4
4
  import { useScorecardStateSelector, useScorecardMeta, useScorecardConfig } from '../components';
@@ -145,6 +145,10 @@ function useTableSetup() {
145
145
  average: showAverageColumn,
146
146
  count: showItemNumber
147
147
  });
148
+ const [pagination, setPagination] = useState({
149
+ pageSize: 50,
150
+ pageIndex: 0
151
+ });
148
152
  const [sorting, setSorting] = useState([]);
149
153
  const columns = useTableColumns();
150
154
  const data = useTableRows();
@@ -154,14 +158,19 @@ function useTableSetup() {
154
158
  state: {
155
159
  columnFilters,
156
160
  sorting,
157
- columnVisibility
161
+ columnVisibility,
162
+ pagination
158
163
  },
164
+ autoResetPageIndex: true,
165
+ rowCount: data.length,
159
166
  onColumnFiltersChange: setColumnFilters,
160
167
  onSortingChange: setSorting,
161
168
  getCoreRowModel: getCoreRowModel(),
162
169
  getFilteredRowModel: getFilteredRowModel(),
170
+ getPaginationRowModel: getPaginationRowModel(),
163
171
  getSortedRowModel: getSortedRowModel(),
164
- onColumnVisibilityChange: setColumnVisibility
172
+ onColumnVisibilityChange: setColumnVisibility,
173
+ onPaginationChange: setPagination
165
174
  };
166
175
  }
167
176
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/Scorecard/hooks/table.ts"],"names":["emptyRows","rows"],"mappings":"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","sourcesContent":["import {\n\ttype ColumnFiltersState,\n\tgetCoreRowModel,\n\tgetFilteredRowModel,\n\tgetSortedRowModel,\n\ttype SortingState,\n\ttype TableOptions,\n\ttype VisibilityState,\n} from \"@tanstack/react-table\";\nimport { useTableColumns } from \"./columns\";\nimport type {\n\tScorecardTableData,\n\tScorecardViewOptions,\n} from \"../schemas/config\";\nimport { useEffect, useMemo, useState } from \"react\";\nimport {\n\ttype ScorecardMeta,\n\tuseScorecardConfig,\n\tuseScorecardMeta,\n\tuseScorecardStateSelector,\n} from \"../components\";\nimport { type AnalyticsData, getRowsFromMeta } from \"../utils/data\";\nimport { isEmpty, meanBy } from \"lodash\";\nimport type { ScorecardDataEngine } from \"../utils/dataEngine\";\nimport { getAverageValue } from \"../utils/columns\";\nimport { useScorecardData } from \"../components/DataProvider\";\n\nfunction getRowValues({\n\tdata,\n\tshowDataInRows,\n\trow,\n}: {\n\trow: ScorecardTableData;\n\tdata: AnalyticsData[];\n\tshowDataInRows: boolean;\n}): AnalyticsData[] {\n\treturn data.filter((datum) => {\n\t\tif (showDataInRows) {\n\t\t\treturn row\n\t\t\t\t.dataHolder!.dataSources.map(({ id }) => id)\n\t\t\t\t.includes(datum.dx!);\n\t\t}\n\t\treturn datum.ou === row.orgUnit!.uid;\n\t});\n}\n\nfunction filterRows({\n\trows,\n\temptyRows,\n\tdataEngine,\n\tshowDataInRows,\n\taverageDisplayType,\n\tmeta,\n}: {\n\temptyRows: ScorecardViewOptions[\"emptyRows\"];\n\tshowDataInRows: boolean;\n\taverageDisplayType: ScorecardViewOptions[\"averageDisplayType\"];\n\tdataEngine: ScorecardDataEngine;\n\trows: ScorecardTableData[];\n\tmeta: ScorecardMeta;\n}) {\n\tif (!dataEngine.isDone) {\n\t\treturn [];\n\t}\n\tconst hiddenRows: number[] = [];\n\tconst rowsWithDataValues = rows.map((row, index) => {\n\t\tconst values = getRowValues({\n\t\t\trow,\n\t\t\tdata: dataEngine.data,\n\t\t\tshowDataInRows,\n\t\t});\n\t\tconst average = meanBy(values, ({ value }) => parseFloat(value!));\n\t\treturn {\n\t\t\trow,\n\t\t\tindex,\n\t\t\tvalues,\n\t\t\taverage,\n\t\t};\n\t});\n\tif (!emptyRows) {\n\t\t//Filter out all e\n\t\tconst emptyRows = rowsWithDataValues\n\t\t\t.filter(({ values }) => isEmpty(values))\n\t\t\t.map(({ index }) => index);\n\t\thiddenRows.push(...emptyRows);\n\t}\n\n\tif (averageDisplayType !== \"ALL\") {\n\t\tconst average = getAverageValue({\n\t\t\tdataValues: dataEngine.data,\n\t\t\tmeta,\n\t\t});\n\t\tif (averageDisplayType === \"BELOW_AVERAGE\") {\n\t\t\tconst aboveAverageRows = rowsWithDataValues\n\t\t\t\t.filter(({ average: rowAverage }) => rowAverage > average)\n\t\t\t\t.map(({ index }) => index);\n\t\t\thiddenRows.push(...aboveAverageRows);\n\t\t} else {\n\t\t\tconst belowAverageRows = rowsWithDataValues\n\t\t\t\t.filter(({ average: rowAverage }) => rowAverage < average)\n\t\t\t\t.map(({ index }) => index);\n\t\t\thiddenRows.push(...belowAverageRows);\n\t\t}\n\t}\n\n\treturn hiddenRows;\n}\n\nfunction useTableRows(): ScorecardTableData[] {\n\tconst meta = useScorecardMeta();\n\tconst { data: dataEngine } = useScorecardData();\n\tconst showDataInRows = useScorecardStateSelector<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\n\tconst showHierarchy = useScorecardStateSelector<boolean>([\n\t\t\"options\",\n\t\t\"showHierarchy\",\n\t]);\n\tconst emptyRows = useScorecardStateSelector<boolean>([\n\t\t\"options\",\n\t\t\"emptyRows\",\n\t]);\n\tconst averageDisplayType = useScorecardStateSelector<\n\t\tScorecardViewOptions[\"averageDisplayType\"]\n\t>([\"options\", \"averageDisplayType\"]);\n\n\tconst config = useScorecardConfig();\n\n\tconst [hiddenRowIndexes, setHiddenRowIndexes] = useState<number[]>([]);\n\n\tif (meta == null) return [];\n\n\tconst rows = useMemo(() => {\n\t\tconst rows = getRowsFromMeta({\n\t\t\tmeta,\n\t\t\tshowDataInRows,\n\t\t\tshowHierarchy,\n\t\t\tconfig,\n\t\t});\n\n\t\tif (isEmpty(hiddenRowIndexes)) {\n\t\t\treturn rows;\n\t\t}\n\n\t\treturn rows.filter((_, index) => !hiddenRowIndexes.includes(index));\n\t}, [meta, showDataInRows, showHierarchy, config, hiddenRowIndexes]);\n\n\tuseEffect(() => {\n\t\tconst listener = (data: AnalyticsData[] | \"done\") => {\n\t\t\tif (data === \"done\") {\n\t\t\t\tsetHiddenRowIndexes(\n\t\t\t\t\tfilterRows({\n\t\t\t\t\t\tmeta,\n\t\t\t\t\t\tdataEngine,\n\t\t\t\t\t\tshowDataInRows,\n\t\t\t\t\t\trows,\n\t\t\t\t\t\taverageDisplayType,\n\t\t\t\t\t\temptyRows,\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t}\n\t\t};\n\t\tif (dataEngine.isDone) {\n\t\t\tsetHiddenRowIndexes(\n\t\t\t\tfilterRows({\n\t\t\t\t\tmeta,\n\t\t\t\t\tdataEngine,\n\t\t\t\t\tshowDataInRows,\n\t\t\t\t\trows,\n\t\t\t\t\taverageDisplayType,\n\t\t\t\t\temptyRows,\n\t\t\t\t}),\n\t\t\t);\n\t\t} else {\n\t\t\tdataEngine.addListener(listener);\n\t\t}\n\t\treturn () => {\n\t\t\tdataEngine.removeListener(listener);\n\t\t};\n\t}, [averageDisplayType, emptyRows, showDataInRows]);\n\n\treturn rows;\n}\n\nexport function useTableSetup(): TableOptions<ScorecardTableData> {\n\tconst showAverageColumn = useScorecardStateSelector<boolean>([\n\t\t\"options\",\n\t\t\"averageColumn\",\n\t]);\n\tconst showItemNumber = useScorecardStateSelector<boolean>([\n\t\t\"options\",\n\t\t\"itemNumber\",\n\t]);\n\tconst [columnFilters, setColumnFilters] = useState<ColumnFiltersState>([]);\n\tconst [columnVisibility, setColumnVisibility] = useState<VisibilityState>({\n\t\taverage: showAverageColumn,\n\t\tcount: showItemNumber,\n\t});\n\n\tconst [sorting, setSorting] = useState<SortingState>([]);\n\tconst columns = useTableColumns();\n\tconst data = useTableRows();\n\n\treturn {\n\t\tcolumns,\n\t\tdata,\n\t\tstate: {\n\t\t\tcolumnFilters,\n\t\t\tsorting,\n\t\t\tcolumnVisibility,\n\t\t},\n\t\tonColumnFiltersChange: setColumnFilters,\n\t\tonSortingChange: setSorting,\n\t\tgetCoreRowModel: getCoreRowModel(),\n\t\tgetFilteredRowModel: getFilteredRowModel(),\n\t\tgetSortedRowModel: getSortedRowModel(),\n\t\tonColumnVisibilityChange: setColumnVisibility,\n\t};\n}\n"]}
1
+ {"version":3,"sources":["../../../../../src/components/Scorecard/hooks/table.ts"],"names":["emptyRows","rows"],"mappings":"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","sourcesContent":["import {\n\ttype ColumnFiltersState,\n\tgetCoreRowModel,\n\tgetFilteredRowModel,\n\tgetPaginationRowModel,\n\tgetSortedRowModel,\n\ttype PaginationState,\n\ttype SortingState,\n\ttype TableOptions,\n\ttype VisibilityState,\n} from \"@tanstack/react-table\";\nimport { useTableColumns } from \"./columns\";\nimport type {\n\tScorecardTableData,\n\tScorecardViewOptions,\n} from \"../schemas/config\";\nimport { useEffect, useMemo, useState } from \"react\";\nimport {\n\ttype ScorecardMeta,\n\tuseScorecardConfig,\n\tuseScorecardMeta,\n\tuseScorecardStateSelector,\n} from \"../components\";\nimport { type AnalyticsData, getRowsFromMeta } from \"../utils/data\";\nimport { isEmpty, meanBy } from \"lodash\";\nimport type { ScorecardDataEngine } from \"../utils/dataEngine\";\nimport { getAverageValue } from \"../utils/columns\";\nimport { useScorecardData } from \"../components/DataProvider\";\n\nfunction getRowValues({\n\tdata,\n\tshowDataInRows,\n\trow,\n}: {\n\trow: ScorecardTableData;\n\tdata: AnalyticsData[];\n\tshowDataInRows: boolean;\n}): AnalyticsData[] {\n\treturn data.filter((datum) => {\n\t\tif (showDataInRows) {\n\t\t\treturn row\n\t\t\t\t.dataHolder!.dataSources.map(({ id }) => id)\n\t\t\t\t.includes(datum.dx!);\n\t\t}\n\t\treturn datum.ou === row.orgUnit!.uid;\n\t});\n}\n\nfunction filterRows({\n\trows,\n\temptyRows,\n\tdataEngine,\n\tshowDataInRows,\n\taverageDisplayType,\n\tmeta,\n}: {\n\temptyRows: ScorecardViewOptions[\"emptyRows\"];\n\tshowDataInRows: boolean;\n\taverageDisplayType: ScorecardViewOptions[\"averageDisplayType\"];\n\tdataEngine: ScorecardDataEngine;\n\trows: ScorecardTableData[];\n\tmeta: ScorecardMeta;\n}) {\n\tif (!dataEngine.isDone) {\n\t\treturn [];\n\t}\n\tconst hiddenRows: number[] = [];\n\tconst rowsWithDataValues = rows.map((row, index) => {\n\t\tconst values = getRowValues({\n\t\t\trow,\n\t\t\tdata: dataEngine.data,\n\t\t\tshowDataInRows,\n\t\t});\n\t\tconst average = meanBy(values, ({ value }) => parseFloat(value!));\n\t\treturn {\n\t\t\trow,\n\t\t\tindex,\n\t\t\tvalues,\n\t\t\taverage,\n\t\t};\n\t});\n\tif (!emptyRows) {\n\t\t//Filter out all e\n\t\tconst emptyRows = rowsWithDataValues\n\t\t\t.filter(({ values }) => isEmpty(values))\n\t\t\t.map(({ index }) => index);\n\t\thiddenRows.push(...emptyRows);\n\t}\n\n\tif (averageDisplayType !== \"ALL\") {\n\t\tconst average = getAverageValue({\n\t\t\tdataValues: dataEngine.data,\n\t\t\tmeta,\n\t\t});\n\t\tif (averageDisplayType === \"BELOW_AVERAGE\") {\n\t\t\tconst aboveAverageRows = rowsWithDataValues\n\t\t\t\t.filter(({ average: rowAverage }) => rowAverage > average)\n\t\t\t\t.map(({ index }) => index);\n\t\t\thiddenRows.push(...aboveAverageRows);\n\t\t} else {\n\t\t\tconst belowAverageRows = rowsWithDataValues\n\t\t\t\t.filter(({ average: rowAverage }) => rowAverage < average)\n\t\t\t\t.map(({ index }) => index);\n\t\t\thiddenRows.push(...belowAverageRows);\n\t\t}\n\t}\n\n\treturn hiddenRows;\n}\n\nfunction useTableRows(): ScorecardTableData[] {\n\tconst meta = useScorecardMeta();\n\tconst { data: dataEngine } = useScorecardData();\n\tconst showDataInRows = useScorecardStateSelector<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\n\tconst showHierarchy = useScorecardStateSelector<boolean>([\n\t\t\"options\",\n\t\t\"showHierarchy\",\n\t]);\n\tconst emptyRows = useScorecardStateSelector<boolean>([\n\t\t\"options\",\n\t\t\"emptyRows\",\n\t]);\n\tconst averageDisplayType = useScorecardStateSelector<\n\t\tScorecardViewOptions[\"averageDisplayType\"]\n\t>([\"options\", \"averageDisplayType\"]);\n\n\tconst config = useScorecardConfig();\n\n\tconst [hiddenRowIndexes, setHiddenRowIndexes] = useState<number[]>([]);\n\n\tif (meta == null) return [];\n\n\tconst rows = useMemo(() => {\n\t\tconst rows = getRowsFromMeta({\n\t\t\tmeta,\n\t\t\tshowDataInRows,\n\t\t\tshowHierarchy,\n\t\t\tconfig,\n\t\t});\n\n\t\tif (isEmpty(hiddenRowIndexes)) {\n\t\t\treturn rows;\n\t\t}\n\n\t\treturn rows.filter((_, index) => !hiddenRowIndexes.includes(index));\n\t}, [meta, showDataInRows, showHierarchy, config, hiddenRowIndexes]);\n\n\tuseEffect(() => {\n\t\tconst listener = (data: AnalyticsData[] | \"done\") => {\n\t\t\tif (data === \"done\") {\n\t\t\t\tsetHiddenRowIndexes(\n\t\t\t\t\tfilterRows({\n\t\t\t\t\t\tmeta,\n\t\t\t\t\t\tdataEngine,\n\t\t\t\t\t\tshowDataInRows,\n\t\t\t\t\t\trows,\n\t\t\t\t\t\taverageDisplayType,\n\t\t\t\t\t\temptyRows,\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t}\n\t\t};\n\t\tif (dataEngine.isDone) {\n\t\t\tsetHiddenRowIndexes(\n\t\t\t\tfilterRows({\n\t\t\t\t\tmeta,\n\t\t\t\t\tdataEngine,\n\t\t\t\t\tshowDataInRows,\n\t\t\t\t\trows,\n\t\t\t\t\taverageDisplayType,\n\t\t\t\t\temptyRows,\n\t\t\t\t}),\n\t\t\t);\n\t\t} else {\n\t\t\tdataEngine.addListener(listener);\n\t\t}\n\t\treturn () => {\n\t\t\tdataEngine.removeListener(listener);\n\t\t};\n\t}, [averageDisplayType, emptyRows, showDataInRows]);\n\n\treturn rows;\n}\n\nexport function useTableSetup(): TableOptions<ScorecardTableData> {\n\tconst showAverageColumn = useScorecardStateSelector<boolean>([\n\t\t\"options\",\n\t\t\"averageColumn\",\n\t]);\n\tconst showItemNumber = useScorecardStateSelector<boolean>([\n\t\t\"options\",\n\t\t\"itemNumber\",\n\t]);\n\tconst [columnFilters, setColumnFilters] = useState<ColumnFiltersState>([]);\n\tconst [columnVisibility, setColumnVisibility] = useState<VisibilityState>({\n\t\taverage: showAverageColumn,\n\t\tcount: showItemNumber,\n\t});\n\tconst [pagination, setPagination] = useState<PaginationState>({\n\t\tpageSize: 50,\n\t\tpageIndex: 0,\n\t});\n\n\tconst [sorting, setSorting] = useState<SortingState>([]);\n\tconst columns = useTableColumns();\n\tconst data = useTableRows();\n\n\treturn {\n\t\tcolumns,\n\t\tdata,\n\t\tstate: {\n\t\t\tcolumnFilters,\n\t\t\tsorting,\n\t\t\tcolumnVisibility,\n\t\t\tpagination,\n\t\t},\n\t\tautoResetPageIndex: true,\n\t\trowCount: data.length,\n\t\tonColumnFiltersChange: setColumnFilters,\n\t\tonSortingChange: setSorting,\n\t\tgetCoreRowModel: getCoreRowModel(),\n\t\tgetFilteredRowModel: getFilteredRowModel(),\n\t\tgetPaginationRowModel: getPaginationRowModel(),\n\t\tgetSortedRowModel: getSortedRowModel(),\n\t\tonColumnVisibilityChange: setColumnVisibility,\n\t\tonPaginationChange: setPagination,\n\t};\n}\n"]}
@@ -3,9 +3,9 @@ import { useMemo, useState, useCallback } from 'react';
3
3
  import { Tooltip, Button, IconClock24, IconLocation24 } from '@dhis2/ui';
4
4
  import i18n from '@dhis2/d2-i18n';
5
5
  import { useDimensions } from '../DimensionsProvider/index.js';
6
+ import { PeriodSelectorModal, OrgUnitSelectorModal } from '@hisptz/dhis2-ui';
6
7
  import { getOrgUnitSelectionFromIds } from '../VisualizationSelector/index.js';
7
8
  import { getOrgUnitsSelection } from '../../../Map/utils/map.js';
8
- import { PeriodSelectorModal, OrgUnitSelectorModal } from '@hisptz/dhis2-ui';
9
9
 
10
10
  function VisualizationDimensionSelector({
11
11
  showPeriodSelector,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/components/Visualization/components/VisualizationDimensionSelector/index.tsx"],"names":[],"mappings":"AA+CM,mBACC,KADD;AA/CN,SAAgB,aAAa,SAAS,gBAAgB;AACtD,SAAS,QAAQ,aAAa,gBAAgB,eAAe;AAC7D,OAAO,UAAU;AACjB,SAAS,qBAAqB;AAE9B,SAAS,kCAAkC;AAC3C,SAAS,4BAA4B;AACrC,SAAS,sBAAsB,2BAA2B;AAEnD,SAAS,+BAA+B;AAAA,EAC9C;AAAA,EACA;AACD,GAGG;AACF,QAAM,CAAC,YAAY,aAAa,IAAI,cAAc;AAClD,QAAM,UAAU,QAAQ,MAAM,WAAW,IAAI,CAAC,WAAW,EAAE,CAAC;AAC5D,QAAM,mBAAmB;AAAA,IACxB,MAAM,2BAA2B,WAAW,MAAM,CAAC,CAAC;AAAA,IACpD,CAAC,WAAW,EAAE;AAAA,EACf;AACA,QAAM,CAAC,YAAY,aAAa,IAAI,SAAkC;AAEtE,QAAM,iBAAiB;AAAA,IACtB,CAAC,SAAsB,CAAC,SAAiC;AACxD,oBAAc,MAAS;AACvB,UAAI,SAAS,MAAM;AAClB,sBAAc;AAAA,UACb,WAAW;AAAA,UACX,OAAO,qBAAqB,IAAI;AAAA,QACjC,CAAC;AACD;AAAA,MACD;AACA,UAAI,SAAS,MAAM;AAClB,sBAAc,EAAE,WAAW,MAAM,OAAO,KAAK,CAAC;AAC9C;AAAA,MACD;AAAA,IACD;AAAA,IACA,CAAC,aAAa;AAAA,EACf;AAEA,SACC,gCACC,+BAAC,SAAI,OAAO,EAAE,SAAS,QAAQ,KAAK,EAAE,GACpC;AAAA,0BACA,oBAAC,WAAQ,SAAS,KAAK,EAAE,QAAQ,GAChC,2CACC;AAAA;AAAA,QAAC;AAAA;AAAA,UACA,UAAS;AAAA,UACT,sBAAoB;AAAA,UACpB,iBAAiB;AAAA,UACjB,SAAS,MAAM,cAAc,MAAS;AAAA,UACtC,MAAM,eAAe;AAAA,UACrB,UAAU,eAAe,IAAI;AAAA;AAAA,MAC9B;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACA,SAAS,MAAM,cAAc,IAAI;AAAA,UACjC,MAAM,oBAAC,eAAY;AAAA;AAAA,MACpB;AAAA,OACD,GACD;AAAA,IAEA,uBACA,oBAAC,WAAQ,SAAS,KAAK,EAAE,UAAU,GAClC,2CACC;AAAA;AAAA,QAAC;AAAA;AAAA,UACA,iBAAe;AAAA,UACf,YAAU;AAAA,UACV,OAAO,KAAK,EAAE,oBAAoB;AAAA,UAClC,OAAO;AAAA,UACP,SAAS,MAAM,cAAc,MAAS;AAAA,UACtC,MAAM,eAAe;AAAA,UACrB,UAAU,eAAe,IAAI;AAAA;AAAA,MAC9B;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACA,SAAS,MAAM,cAAc,IAAI;AAAA,UACjC,MAAM,oBAAC,kBAAe;AAAA;AAAA,MACvB;AAAA,OACD,GACD;AAAA,KAEF,GACD;AAEF","sourcesContent":["import React, { useCallback, useMemo, useState } from \"react\";\nimport { Button, IconClock24, IconLocation24, Tooltip } from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { useDimensions } from \"../DimensionsProvider/index.js\";\nimport { OrgUnitSelection } from \"@hisptz/dhis2-utils\";\nimport { getOrgUnitSelectionFromIds } from \"../VisualizationSelector/index.js\";\nimport { getOrgUnitsSelection } from \"../../../Map/utils/map.js\";\nimport { OrgUnitSelectorModal, PeriodSelectorModal } from \"@hisptz/dhis2-ui\";\n\nexport function VisualizationDimensionSelector({\n\tshowPeriodSelector,\n\tshowOrgUnitSelector,\n}: {\n\tshowPeriodSelector?: boolean;\n\tshowOrgUnitSelector?: boolean;\n}) {\n\tconst [dimensions, setDimensions] = useDimensions();\n\tconst periods = useMemo(() => dimensions.pe, [dimensions.pe]);\n\tconst orgUnitSelection = useMemo(\n\t\t() => getOrgUnitSelectionFromIds(dimensions.ou ?? []),\n\t\t[dimensions.ou],\n\t);\n\tconst [openFilter, setOpenFilter] = useState<\"pe\" | \"ou\" | undefined>();\n\n\tconst onFilterUpdate = useCallback(\n\t\t(type: \"ou\" | \"pe\") => (data: OrgUnitSelection | any) => {\n\t\t\tsetOpenFilter(undefined);\n\t\t\tif (type === \"ou\") {\n\t\t\t\tsetDimensions({\n\t\t\t\t\tdimension: \"ou\",\n\t\t\t\t\tvalue: getOrgUnitsSelection(data),\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (type === \"pe\") {\n\t\t\t\tsetDimensions({ dimension: \"pe\", value: data });\n\t\t\t\treturn;\n\t\t\t}\n\t\t},\n\t\t[setDimensions],\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<div style={{ display: \"flex\", gap: 8 }}>\n\t\t\t\t{showPeriodSelector && (\n\t\t\t\t\t<Tooltip content={i18n.t(\"Period\")}>\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<PeriodSelectorModal\n\t\t\t\t\t\t\t\tposition=\"middle\"\n\t\t\t\t\t\t\t\tenablePeriodSelector\n\t\t\t\t\t\t\t\tselectedPeriods={periods}\n\t\t\t\t\t\t\t\tonClose={() => setOpenFilter(undefined)}\n\t\t\t\t\t\t\t\thide={openFilter !== \"pe\"}\n\t\t\t\t\t\t\t\tonUpdate={onFilterUpdate(\"pe\")}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tonClick={() => setOpenFilter(\"pe\")}\n\t\t\t\t\t\t\t\ticon={<IconClock24 />}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t)}\n\t\t\t\t{showOrgUnitSelector && (\n\t\t\t\t\t<Tooltip content={i18n.t(\"Location\")}>\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<OrgUnitSelectorModal\n\t\t\t\t\t\t\t\tshowUserOptions\n\t\t\t\t\t\t\t\tsearchable\n\t\t\t\t\t\t\t\ttitle={i18n.t(\"Select location(s)\")}\n\t\t\t\t\t\t\t\tvalue={orgUnitSelection}\n\t\t\t\t\t\t\t\tonClose={() => setOpenFilter(undefined)}\n\t\t\t\t\t\t\t\thide={openFilter !== \"ou\"}\n\t\t\t\t\t\t\t\tonUpdate={onFilterUpdate(\"ou\")}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tonClick={() => setOpenFilter(\"ou\")}\n\t\t\t\t\t\t\t\ticon={<IconLocation24 />}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../../../../src/components/Visualization/components/VisualizationDimensionSelector/index.tsx"],"names":[],"mappings":"AA+CM,mBACC,KADD;AA/CN,SAAgB,aAAa,SAAS,gBAAgB;AACtD,SAAS,QAAQ,aAAa,gBAAgB,eAAe;AAC7D,OAAO,UAAU;AACjB,SAAS,qBAAqB;AAC9B,SAAS,sBAAsB,2BAA2B;AAE1D,SAAS,kCAAkC;AAC3C,SAAS,4BAA4B;AAE9B,SAAS,+BAA+B;AAAA,EAC9C;AAAA,EACA;AACD,GAGG;AACF,QAAM,CAAC,YAAY,aAAa,IAAI,cAAc;AAClD,QAAM,UAAU,QAAQ,MAAM,WAAW,IAAI,CAAC,WAAW,EAAE,CAAC;AAC5D,QAAM,mBAAmB;AAAA,IACxB,MAAM,2BAA2B,WAAW,MAAM,CAAC,CAAC;AAAA,IACpD,CAAC,WAAW,EAAE;AAAA,EACf;AACA,QAAM,CAAC,YAAY,aAAa,IAAI,SAAkC;AAEtE,QAAM,iBAAiB;AAAA,IACtB,CAAC,SAAsB,CAAC,SAAiC;AACxD,oBAAc,MAAS;AACvB,UAAI,SAAS,MAAM;AAClB,sBAAc;AAAA,UACb,WAAW;AAAA,UACX,OAAO,qBAAqB,IAAI;AAAA,QACjC,CAAC;AACD;AAAA,MACD;AACA,UAAI,SAAS,MAAM;AAClB,sBAAc,EAAE,WAAW,MAAM,OAAO,KAAK,CAAC;AAC9C;AAAA,MACD;AAAA,IACD;AAAA,IACA,CAAC,aAAa;AAAA,EACf;AAEA,SACC,gCACC,+BAAC,SAAI,OAAO,EAAE,SAAS,QAAQ,KAAK,EAAE,GACpC;AAAA,0BACA,oBAAC,WAAQ,SAAS,KAAK,EAAE,QAAQ,GAChC,2CACC;AAAA;AAAA,QAAC;AAAA;AAAA,UACA,UAAS;AAAA,UACT,sBAAoB;AAAA,UACpB,iBAAiB;AAAA,UACjB,SAAS,MAAM,cAAc,MAAS;AAAA,UACtC,MAAM,eAAe;AAAA,UACrB,UAAU,eAAe,IAAI;AAAA;AAAA,MAC9B;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACA,SAAS,MAAM,cAAc,IAAI;AAAA,UACjC,MAAM,oBAAC,eAAY;AAAA;AAAA,MACpB;AAAA,OACD,GACD;AAAA,IAEA,uBACA,oBAAC,WAAQ,SAAS,KAAK,EAAE,UAAU,GAClC,2CACC;AAAA;AAAA,QAAC;AAAA;AAAA,UACA,iBAAe;AAAA,UACf,YAAU;AAAA,UACV,OAAO,KAAK,EAAE,oBAAoB;AAAA,UAClC,OAAO;AAAA,UACP,SAAS,MAAM,cAAc,MAAS;AAAA,UACtC,MAAM,eAAe;AAAA,UACrB,UAAU,eAAe,IAAI;AAAA;AAAA,MAC9B;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACA,SAAS,MAAM,cAAc,IAAI;AAAA,UACjC,MAAM,oBAAC,kBAAe;AAAA;AAAA,MACvB;AAAA,OACD,GACD;AAAA,KAEF,GACD;AAEF","sourcesContent":["import React, { useCallback, useMemo, useState } from \"react\";\nimport { Button, IconClock24, IconLocation24, Tooltip } from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { useDimensions } from \"../DimensionsProvider/index.js\";\nimport { OrgUnitSelectorModal, PeriodSelectorModal } from \"@hisptz/dhis2-ui\";\nimport { OrgUnitSelection } from \"@hisptz/dhis2-utils\";\nimport { getOrgUnitSelectionFromIds } from \"../VisualizationSelector/index.js\";\nimport { getOrgUnitsSelection } from \"../../../Map/utils/map.js\";\n\nexport function VisualizationDimensionSelector({\n\tshowPeriodSelector,\n\tshowOrgUnitSelector,\n}: {\n\tshowPeriodSelector?: boolean;\n\tshowOrgUnitSelector?: boolean;\n}) {\n\tconst [dimensions, setDimensions] = useDimensions();\n\tconst periods = useMemo(() => dimensions.pe, [dimensions.pe]);\n\tconst orgUnitSelection = useMemo(\n\t\t() => getOrgUnitSelectionFromIds(dimensions.ou ?? []),\n\t\t[dimensions.ou],\n\t);\n\tconst [openFilter, setOpenFilter] = useState<\"pe\" | \"ou\" | undefined>();\n\n\tconst onFilterUpdate = useCallback(\n\t\t(type: \"ou\" | \"pe\") => (data: OrgUnitSelection | any) => {\n\t\t\tsetOpenFilter(undefined);\n\t\t\tif (type === \"ou\") {\n\t\t\t\tsetDimensions({\n\t\t\t\t\tdimension: \"ou\",\n\t\t\t\t\tvalue: getOrgUnitsSelection(data),\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (type === \"pe\") {\n\t\t\t\tsetDimensions({ dimension: \"pe\", value: data });\n\t\t\t\treturn;\n\t\t\t}\n\t\t},\n\t\t[setDimensions],\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<div style={{ display: \"flex\", gap: 8 }}>\n\t\t\t\t{showPeriodSelector && (\n\t\t\t\t\t<Tooltip content={i18n.t(\"Period\")}>\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<PeriodSelectorModal\n\t\t\t\t\t\t\t\tposition=\"middle\"\n\t\t\t\t\t\t\t\tenablePeriodSelector\n\t\t\t\t\t\t\t\tselectedPeriods={periods}\n\t\t\t\t\t\t\t\tonClose={() => setOpenFilter(undefined)}\n\t\t\t\t\t\t\t\thide={openFilter !== \"pe\"}\n\t\t\t\t\t\t\t\tonUpdate={onFilterUpdate(\"pe\")}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tonClick={() => setOpenFilter(\"pe\")}\n\t\t\t\t\t\t\t\ticon={<IconClock24 />}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t)}\n\t\t\t\t{showOrgUnitSelector && (\n\t\t\t\t\t<Tooltip content={i18n.t(\"Location\")}>\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<OrgUnitSelectorModal\n\t\t\t\t\t\t\t\tshowUserOptions\n\t\t\t\t\t\t\t\tsearchable\n\t\t\t\t\t\t\t\ttitle={i18n.t(\"Select location(s)\")}\n\t\t\t\t\t\t\t\tvalue={orgUnitSelection}\n\t\t\t\t\t\t\t\tonClose={() => setOpenFilter(undefined)}\n\t\t\t\t\t\t\t\thide={openFilter !== \"ou\"}\n\t\t\t\t\t\t\t\tonUpdate={onFilterUpdate(\"ou\")}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tonClick={() => setOpenFilter(\"ou\")}\n\t\t\t\t\t\t\t\ticon={<IconLocation24 />}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Scorecard.d.ts","sourceRoot":"","sources":["../../../../src/components/Scorecard/Scorecard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAEN,KAAK,mBAAmB,EACxB,MAAM,6BAA6B,CAAC;AAGrC,MAAM,WAAW,cAAc;IAC9B,UAAU,CAAC,EAAE,mBAAmB,CAAC;CACjC;AAED,wBAAgB,SAAS,CAAC,EAAE,UAAU,EAAE,EAAE,cAAc,GAAG,KAAK,CAAC,YAAY,CAQ5E"}
1
+ {"version":3,"file":"Scorecard.d.ts","sourceRoot":"","sources":["../../../../src/components/Scorecard/Scorecard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAEN,KAAK,mBAAmB,EACxB,MAAM,6BAA6B,CAAC;AAKrC,MAAM,WAAW,cAAc;IAC9B,UAAU,CAAC,EAAE,mBAAmB,CAAC;CACjC;AAED,wBAAgB,SAAS,CAAC,EAAE,UAAU,EAAE,EAAE,cAAc,GAAG,KAAK,CAAC,YAAY,CAU5E"}
@@ -1 +1 @@
1
- {"version":3,"file":"ScorecardTable.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Scorecard/components/ScorecardTable/ScorecardTable.tsx"],"names":[],"mappings":";AAAA,OAAO,EAA6B,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAQ3E,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC;CAAG;AAEhF,eAAO,MAAM,cAAc,2DAwDzB,CAAC"}
1
+ {"version":3,"file":"ScorecardTable.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Scorecard/components/ScorecardTable/ScorecardTable.tsx"],"names":[],"mappings":";AAAA,OAAO,EAA6B,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAS3E,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC;CAAG;AAEhF,eAAO,MAAM,cAAc,2DAgEzB,CAAC"}
@@ -1,8 +1,9 @@
1
1
  import React from "react";
2
2
  import type { ScorecardDraggableItems } from "../../../schemas/config";
3
- export declare function DraggableCell({ children, type, style, ...props }: {
3
+ export declare function DraggableCell({ children, type, style, id, ...props }: {
4
4
  children: React.ReactNode;
5
5
  type: ScorecardDraggableItems;
6
+ id: string;
6
7
  style?: React.CSSProperties;
7
8
  }): import("react/jsx-runtime").JSX.Element;
8
9
  //# sourceMappingURL=DraggableCell.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DraggableCell.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/Scorecard/components/ScorecardTable/components/DraggableCell.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAIvE,wBAAgB,aAAa,CAAC,EAC7B,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,GAAG,KAAK,EACR,EAAE;IACF,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,IAAI,EAAE,uBAAuB,CAAC;IAC9B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC5B,2CAmCA"}
1
+ {"version":3,"file":"DraggableCell.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/Scorecard/components/ScorecardTable/components/DraggableCell.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAGvE,wBAAgB,aAAa,CAAC,EAC7B,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,EAAE,EACF,GAAG,KAAK,EACR,EAAE;IACF,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,IAAI,EAAE,uBAAuB,CAAC;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC5B,2CAmCA"}
@@ -1 +1 @@
1
- {"version":3,"file":"DroppableCell.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/Scorecard/components/ScorecardTable/components/DroppableCell.tsx"],"names":[],"mappings":"AACA,OAAO,KAAkB,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAIvE,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EACrC,MAAM,EACN,QAAQ,GACR,EAAE;IACF,MAAM,EAAE,uBAAuB,EAAE,CAAC;IAClC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B,2CAuBA"}
1
+ {"version":3,"file":"DroppableCell.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/Scorecard/components/ScorecardTable/components/DroppableCell.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAGvE,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EACrC,MAAM,EACN,QAAQ,GACR,EAAE;IACF,MAAM,EAAE,uBAAuB,EAAE,CAAC;IAClC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B,2CAqCA"}
@@ -1 +1 @@
1
- {"version":3,"file":"MetaFooterCell.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.tsx"],"names":[],"mappings":"AAIA,wBAAgB,cAAc,4CAuB7B"}
1
+ {"version":3,"file":"MetaFooterCell.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.tsx"],"names":[],"mappings":"AAIA,wBAAgB,cAAc,4CAwB7B"}
@@ -0,0 +1,2 @@
1
+ export declare function PaginatedToolbar(): import("react/jsx-runtime").JSX.Element | null;
2
+ //# sourceMappingURL=PaginatedToolbar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaginatedToolbar.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/Scorecard/components/ScorecardTable/components/PaginatedToolbar.tsx"],"names":[],"mappings":"AAQA,wBAAgB,gBAAgB,mDA6C/B"}
@@ -1 +1 @@
1
- {"version":3,"file":"TableBody.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/Scorecard/components/ScorecardTable/components/TableBody.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAQ,KAAK,SAAS,EAAW,MAAM,OAAO,CAAC;AAItD,eAAO,MAAM,SAAS;cAGX,UAAU,gBAAgB,CAAC;EAsBpC,CAAC"}
1
+ {"version":3,"file":"TableBody.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/Scorecard/components/ScorecardTable/components/TableBody.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAQ,KAAK,SAAS,EAAW,MAAM,OAAO,CAAC;AAItD,eAAO,MAAM,SAAS;cAGX,UAAU,gBAAgB,CAAC;EAwBpC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DataHeaderCell.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/components/Scorecard/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAEN,KAAK,kBAAkB,EACvB,MAAM,+BAA+B,CAAC;AAOvC,wBAAgB,mBAAmB,CAAC,EACnC,MAAM,GACN,EAAE,aAAa,CAAC,kBAAkB,EAAE,GAAG,CAAC,2CAGxC;AAED,wBAAgB,uBAAuB,CAAC,EACvC,MAAM,EACN,MAAM,GACN,EAAE,aAAa,CAAC,kBAAkB,EAAE,GAAG,CAAC,2CAkExC;AAED,eAAO,MAAM,cAAc,gCAA0B,CAAC"}
1
+ {"version":3,"file":"DataHeaderCell.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/components/Scorecard/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAEN,KAAK,kBAAkB,EACvB,MAAM,+BAA+B,CAAC;AAOvC,wBAAgB,mBAAmB,CAAC,EACnC,MAAM,GACN,EAAE,aAAa,CAAC,kBAAkB,EAAE,GAAG,CAAC,2CAGxC;AAED,wBAAgB,uBAAuB,CAAC,EACvC,MAAM,EACN,MAAM,GACN,EAAE,aAAa,CAAC,kBAAkB,EAAE,GAAG,CAAC,2CAmExC;AAED,eAAO,MAAM,cAAc,gCAA0B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"LabelCell.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAEN,KAAK,kBAAkB,EACvB,MAAM,+BAA+B,CAAC;AAQvC,wBAAgB,kBAAkB,CACjC,KAAK,EAAE,WAAW,CAAC,kBAAkB,EAAE,MAAM,GAAG,MAAM,CAAC,2CA0DvD;AAED,eAAO,MAAM,SAAS,gEAA2B,CAAC"}
1
+ {"version":3,"file":"LabelCell.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAEN,KAAK,kBAAkB,EACvB,MAAM,+BAA+B,CAAC;AAQvC,wBAAgB,kBAAkB,CACjC,KAAK,EAAE,WAAW,CAAC,kBAAkB,EAAE,MAAM,GAAG,MAAM,CAAC,2CA4DvD;AAED,eAAO,MAAM,SAAS,gEAA2B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"NumberCell.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAIxE,iBAAS,mBAAmB,CAC3B,KAAK,EAAE,WAAW,CAAC,kBAAkB,EAAE,MAAM,GAAG,MAAM,CAAC,2CAsBvD;AAED,eAAO,MAAM,UAAU,iEAA4B,CAAC"}
1
+ {"version":3,"file":"NumberCell.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAIxE,iBAAS,mBAAmB,CAC3B,KAAK,EAAE,WAAW,CAAC,kBAAkB,EAAE,MAAM,GAAG,MAAM,CAAC,2CAuBvD;AAED,eAAO,MAAM,UAAU,iEAA4B,CAAC"}
@@ -45,6 +45,11 @@ export declare function useTableState(): import("@tanstack/react-table").Table<{
45
45
  } | undefined;
46
46
  expand?: boolean | undefined;
47
47
  }>;
48
+ export declare function useToggleTableLoadingState(): () => void;
49
+ export declare function useTableLoadingState(): boolean;
50
+ export declare function TableLoadingStateProvider({ children, }: {
51
+ children: ReactNode;
52
+ }): import("react/jsx-runtime").JSX.Element;
48
53
  export declare function TableStateProvider({ children }: {
49
54
  children: ReactNode;
50
55
  }): import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"TableStateProvider.d.ts","sourceRoot":"","sources":["../../../../../src/components/Scorecard/components/TableStateProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,SAAS,EAAc,MAAM,OAAO,CAAC;AAgBlE,wBAAgB,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAG5B;AAED,wBAAgB,kBAAkB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,2CAOvE"}
1
+ {"version":3,"file":"TableStateProvider.d.ts","sourceRoot":"","sources":["../../../../../src/components/Scorecard/components/TableStateProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,SAAS,EAAc,MAAM,OAAO,CAAC;AAoBlE,wBAAgB,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAG5B;AAED,wBAAgB,0BAA0B,eAEzC;AAED,wBAAgB,oBAAoB,YAEnC;AAED,wBAAgB,yBAAyB,CAAC,EACzC,QAAQ,GACR,EAAE;IACF,QAAQ,EAAE,SAAS,CAAC;CACpB,2CAUA;AAED,wBAAgB,kBAAkB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,2CAOvE"}
@@ -1 +1 @@
1
- {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../../../src/components/Scorecard/hooks/table.ts"],"names":[],"mappings":"AAAA,OAAO,EAMN,KAAK,YAAY,EAEjB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EACX,kBAAkB,EAElB,MAAM,mBAAmB,CAAC;AA4K3B,wBAAgB,aAAa,IAAI,YAAY,CAAC,kBAAkB,CAAC,CAkChE"}
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../../../src/components/Scorecard/hooks/table.ts"],"names":[],"mappings":"AAAA,OAAO,EAQN,KAAK,YAAY,EAEjB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EACX,kBAAkB,EAElB,MAAM,mBAAmB,CAAC;AA4K3B,wBAAgB,aAAa,IAAI,YAAY,CAAC,kBAAkB,CAAC,CA2ChE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hisptz/dhis2-analytics",
3
- "version": "2.0.38",
3
+ "version": "2.0.40",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/esm/index.js",
6
6
  "types": "./dist/types/index.d.ts",
@@ -48,11 +48,8 @@
48
48
  "@repo/typescript-config": "0.0.0"
49
49
  },
50
50
  "dependencies": {
51
- "@dnd-kit/core": "^6.1.0",
52
- "@dnd-kit/utilities": "^3.2.2",
53
51
  "@react-leaflet/core": "^2.1.0",
54
52
  "@tanstack/react-table": "^8.19.3",
55
- "@tanstack/react-virtual": "^3.10.8",
56
53
  "async-es": "^3.2.5",
57
54
  "d3-color": "^3.1.0",
58
55
  "d3-scale": "^4.0.2",
@@ -63,6 +60,7 @@
63
60
  "leaflet.fullscreen": "^2.4.0",
64
61
  "luxon": "^3.4.4",
65
62
  "react-circular-progressbar": "^2.1.0",
63
+ "react-dnd": "^16.0.1",
66
64
  "react-dnd-html5-backend": "^16.0.1",
67
65
  "react-error-boundary": "^4.0.12",
68
66
  "react-helmet": "^6.1.0",