@hisptz/dhis2-analytics 2.0.37 → 2.0.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Scorecard/Scorecard.js +3 -1
- package/dist/components/Scorecard/Scorecard.js.map +1 -1
- package/dist/components/Scorecard/Scorecard.stories.js +6 -927
- package/dist/components/Scorecard/Scorecard.stories.js.map +1 -1
- package/dist/components/Scorecard/components/ScorecardTable/ScorecardTable.js +38 -37
- package/dist/components/Scorecard/components/ScorecardTable/ScorecardTable.js.map +1 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/AverageCell.js +30 -8
- package/dist/components/Scorecard/components/ScorecardTable/components/AverageCell.js.map +1 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/AverageFooterCell.js +7 -4
- package/dist/components/Scorecard/components/ScorecardTable/components/AverageFooterCell.js.map +1 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/CellLoader.js +2 -2
- package/dist/components/Scorecard/components/ScorecardTable/components/CellLoader.js.map +1 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/DataContainer.js +5 -2
- package/dist/components/Scorecard/components/ScorecardTable/components/DataContainer.js.map +1 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/DataFooterCell.js +19 -10
- package/dist/components/Scorecard/components/ScorecardTable/components/DataFooterCell.js.map +1 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/DataRow.js +2 -8
- package/dist/components/Scorecard/components/ScorecardTable/components/DataRow.js.map +1 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/DraggableCell.js +29 -30
- package/dist/components/Scorecard/components/ScorecardTable/components/DraggableCell.js.map +1 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/DroppableCell.js +28 -16
- package/dist/components/Scorecard/components/ScorecardTable/components/DroppableCell.js.map +1 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/EmptyFooterCell.js +1 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/EmptyFooterCell.js.map +1 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/LinkedCell.js +2 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/LinkedCell.js.map +1 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/LinkedDataCell.js +3 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/LinkedDataCell.js.map +1 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.js +1 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.js.map +1 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/PaginatedToolbar.js +51 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/PaginatedToolbar.js.map +1 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/SingleDataCell.js +4 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/SingleDataCell.js.map +1 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/TableBody.js +5 -14
- package/dist/components/Scorecard/components/ScorecardTable/components/TableBody.js.map +1 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js +1 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js.map +1 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/ExpandCell.js +3 -2
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/ExpandCell.js.map +1 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.js +4 -3
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.js.map +1 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.js +7 -4
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.js.map +1 -1
- package/dist/components/Scorecard/components/TableStateProvider.js +20 -1
- package/dist/components/Scorecard/components/TableStateProvider.js.map +1 -1
- package/dist/components/Scorecard/hooks/columns.js +4 -0
- package/dist/components/Scorecard/hooks/columns.js.map +1 -1
- package/dist/components/Scorecard/hooks/table.js +11 -2
- package/dist/components/Scorecard/hooks/table.js.map +1 -1
- package/dist/components/Scorecard/utils/columns.js +4 -0
- package/dist/components/Scorecard/utils/columns.js.map +1 -1
- package/dist/esm/components/Scorecard/Scorecard.js +3 -1
- package/dist/esm/components/Scorecard/Scorecard.js.map +1 -1
- package/dist/esm/components/Scorecard/Scorecard.stories.js +6 -927
- package/dist/esm/components/Scorecard/Scorecard.stories.js.map +1 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/ScorecardTable.js +39 -38
- package/dist/esm/components/Scorecard/components/ScorecardTable/ScorecardTable.js.map +1 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/AverageCell.js +30 -8
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/AverageCell.js.map +1 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/AverageFooterCell.js +7 -4
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/AverageFooterCell.js.map +1 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/CellLoader.js +2 -2
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/CellLoader.js.map +1 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataContainer.js +5 -2
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataContainer.js.map +1 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataFooterCell.js +19 -10
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataFooterCell.js.map +1 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataRow.js +3 -9
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataRow.js.map +1 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/DraggableCell.js +29 -30
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/DraggableCell.js.map +1 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/DroppableCell.js +28 -16
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/DroppableCell.js.map +1 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/EmptyFooterCell.js +1 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/EmptyFooterCell.js.map +1 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/LinkedCell.js +2 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/LinkedCell.js.map +1 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/LinkedDataCell.js +3 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/LinkedDataCell.js.map +1 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.js +1 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.js.map +1 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/PaginatedToolbar.js +49 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/PaginatedToolbar.js.map +1 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/SingleDataCell.js +4 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/SingleDataCell.js.map +1 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableBody.js +7 -16
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableBody.js.map +1 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js +1 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js.map +1 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/ExpandCell.js +3 -2
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/ExpandCell.js.map +1 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.js +4 -3
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.js.map +1 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.js +7 -4
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.js.map +1 -1
- package/dist/esm/components/Scorecard/components/TableStateProvider.js +18 -2
- package/dist/esm/components/Scorecard/components/TableStateProvider.js.map +1 -1
- package/dist/esm/components/Scorecard/hooks/columns.js +4 -0
- package/dist/esm/components/Scorecard/hooks/columns.js.map +1 -1
- package/dist/esm/components/Scorecard/hooks/table.js +12 -3
- package/dist/esm/components/Scorecard/hooks/table.js.map +1 -1
- package/dist/esm/components/Scorecard/utils/columns.js +4 -0
- package/dist/esm/components/Scorecard/utils/columns.js.map +1 -1
- package/dist/types/components/Scorecard/Scorecard.d.ts.map +1 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/ScorecardTable.d.ts.map +1 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/AverageCell.d.ts +4 -2
- package/dist/types/components/Scorecard/components/ScorecardTable/components/AverageCell.d.ts.map +1 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/AverageFooterCell.d.ts +1 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/AverageFooterCell.d.ts.map +1 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/CellLoader.d.ts +3 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/CellLoader.d.ts.map +1 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/DataContainer.d.ts.map +1 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/DataFooterCell.d.ts.map +1 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/DataRow.d.ts +3 -5
- package/dist/types/components/Scorecard/components/ScorecardTable/components/DataRow.d.ts.map +1 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/DraggableCell.d.ts +2 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/DraggableCell.d.ts.map +1 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/DroppableCell.d.ts.map +1 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/LinkedCell.d.ts +2 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/LinkedCell.d.ts.map +1 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/LinkedDataCell.d.ts +2 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/LinkedDataCell.d.ts.map +1 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.d.ts.map +1 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/PaginatedToolbar.d.ts +2 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/PaginatedToolbar.d.ts.map +1 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/SingleDataCell.d.ts +2 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/SingleDataCell.d.ts.map +1 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableBody.d.ts.map +1 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.d.ts.map +1 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/ExpandCell.d.ts.map +1 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.d.ts.map +1 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.d.ts.map +1 -1
- package/dist/types/components/Scorecard/components/TableStateProvider.d.ts +5 -0
- package/dist/types/components/Scorecard/components/TableStateProvider.d.ts.map +1 -1
- package/dist/types/components/Scorecard/hooks/columns.d.ts.map +1 -1
- package/dist/types/components/Scorecard/hooks/table.d.ts.map +1 -1
- package/dist/types/components/Scorecard/utils/columns.d.ts.map +1 -1
- package/package.json +4 -6
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var ui = require('@dhis2/ui');
|
|
5
|
+
var TableStateProvider = require('../../TableStateProvider');
|
|
6
|
+
var react = require('react');
|
|
7
|
+
var usehooksTs = require('usehooks-ts');
|
|
8
|
+
|
|
9
|
+
function PaginatedToolbar() {
|
|
10
|
+
const [isPending, startTransition] = react.useTransition();
|
|
11
|
+
const table = TableStateProvider.useTableState();
|
|
12
|
+
const rowCount = table.getRowCount();
|
|
13
|
+
const page = table.getState().pagination.pageIndex + 1;
|
|
14
|
+
const pageSize = table.getState().pagination.pageSize;
|
|
15
|
+
const pageCount = table.getPageCount();
|
|
16
|
+
const toggleTableLoading = TableStateProvider.useToggleTableLoadingState();
|
|
17
|
+
const onPageChange = (page2) => {
|
|
18
|
+
startTransition(() => {
|
|
19
|
+
table.setPageIndex(page2 - 1);
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
const onPageSizeChange = (pageSize2) => {
|
|
23
|
+
startTransition(() => {
|
|
24
|
+
table.setPageSize(pageSize2);
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
usehooksTs.useUpdateEffect(() => {
|
|
28
|
+
toggleTableLoading();
|
|
29
|
+
}, [isPending]);
|
|
30
|
+
if (rowCount <= 50) {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ui.DataTableToolbar, { position: "bottom", children: /* @__PURE__ */ jsxRuntime.jsx("div", { style: { width: "100%" }, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
34
|
+
ui.Pagination,
|
|
35
|
+
{
|
|
36
|
+
total: rowCount,
|
|
37
|
+
pageCount,
|
|
38
|
+
pageSizes: [10, 20, 30, 40, 50, 100].map(
|
|
39
|
+
(size) => size.toString()
|
|
40
|
+
),
|
|
41
|
+
page,
|
|
42
|
+
pageSize,
|
|
43
|
+
onPageChange,
|
|
44
|
+
onPageSizeChange
|
|
45
|
+
}
|
|
46
|
+
) }) });
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
exports.PaginatedToolbar = PaginatedToolbar;
|
|
50
|
+
//# sourceMappingURL=out.js.map
|
|
51
|
+
//# sourceMappingURL=PaginatedToolbar.js.map
|
package/dist/components/Scorecard/components/ScorecardTable/components/PaginatedToolbar.js.map
ADDED
|
@@ -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"]}
|
|
@@ -13,7 +13,8 @@ var FurtherAnalysisModal = require('./FurtherAnalysisModal');
|
|
|
13
13
|
function SingleDataCellComponent({
|
|
14
14
|
dataSources,
|
|
15
15
|
period,
|
|
16
|
-
orgUnit
|
|
16
|
+
orgUnit,
|
|
17
|
+
size
|
|
17
18
|
}) {
|
|
18
19
|
const [furtherAnalysisConfig, setFurtherAnalysisConfig] = react.useState(null);
|
|
19
20
|
const dataSource = lodash.head(dataSources);
|
|
@@ -70,7 +71,9 @@ function SingleDataCellComponent({
|
|
|
70
71
|
style: {
|
|
71
72
|
background: legendDefinition?.color,
|
|
72
73
|
textAlign: "center",
|
|
74
|
+
width: size,
|
|
73
75
|
minWidth: 100,
|
|
76
|
+
height: 48,
|
|
74
77
|
color: legendDefinition ? legends.getTextColorFromBackgroundColor(
|
|
75
78
|
legendDefinition?.color
|
|
76
79
|
) : void 0
|
package/dist/components/Scorecard/components/ScorecardTable/components/SingleDataCell.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/components/Scorecard/components/ScorecardTable/components/SingleDataCell.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/components/Scorecard/components/ScorecardTable/components/SingleDataCell.tsx"],"names":[],"mappings":"AAuCS,SAIP,UAJO,KAIP,YAJO;AArCT,SAAS,MAAsB,gBAAgB;AAC/C,SAAS,YAAY;AACrB,SAAS,qBAAqB;AAC9B,SAAS,uCAAuC;AAChD,SAAS,iBAAiB;AAC1B,SAAS,mBAAmB;AAC5B,SAAS,2BAA2B;AACpC;AAAA,EACC;AAAA,OAEM;AASP,SAAS,wBAAwB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAAmC;AAClC,QAAM,CAAC,uBAAuB,wBAAwB,IACrD,SAAuC,IAAI;AAC5C,QAAM,aAAa,KAAK,WAAW;AACnC,QAAM,CAAC,gBAAgB,iBAAiB,IAAI,SAAS,MAAS;AAE9D,QAAM,EAAE,iBAAiB,IAAI,YAAY;AAAA,IACxC;AAAA,IACA;AAAA,IACA;AAAA,EACD,CAAC;AAED,MAAI,CAAC,cAAc,CAAC,WAAW,MAAM;AACpC,WAAO,oBAAC,iBAAc,UAAQ,MAAC;AAAA,EAChC;AAEA,SACC,iCACE;AAAA,KAAC,CAAC,yBACF;AAAA,MAAC;AAAA;AAAA,QACA,SAAS,MAAM;AACd,mCAAyB,IAAI;AAAA,QAC9B;AAAA,QACA,MAAM,CAAC;AAAA,QACP,QAAQ;AAAA;AAAA,IACT;AAAA,IAED;AAAA,MAAC;AAAA;AAAA,QACA,SAAS,CAAC,UAAU;AACnB,gBAAM,gBAAgB;AACtB,mCAAyB;AAAA,YACxB,iBAAiB;AAAA,cAChB,SAAS;AAAA,gBACR;AAAA,kBACC,IAAI;AAAA,gBACL;AAAA,cACD;AAAA,YACD;AAAA,YACA,kBAAkB;AAAA,cACjB,QAAQ,CAAC;AAAA,cACT,QAAQ,CAAC;AAAA,cACT,UAAU;AAAA,gBACT;AAAA,kBACC,IAAI,QAAQ;AAAA,gBACb;AAAA,cACD;AAAA,YACD;AAAA,YACA;AAAA,UACD,CAAC;AAAA,QACF;AAAA,QACA,eAAe,CAAC,MAAW;AAC1B,YAAE,eAAe;AACjB,4BAAkB,EAAE,MAAM;AAAA,QAC3B;AAAA,QACA,UAAQ;AAAA,QACR,OAAO;AAAA,UACN,YAAY,kBAAkB;AAAA,UAC9B,WAAW;AAAA,UACX,OAAO;AAAA,UACP,UAAU;AAAA,UACV,QAAQ;AAAA,UACR,OAAO,mBACJ;AAAA,YACA,kBAAkB;AAAA,UACnB,IACC;AAAA,QACJ;AAAA,QAEC,wBAAc,oBAAC,aAAU,YAAwB;AAAA;AAAA,IACnD;AAAA,IAEC,kBACA;AAAA,MAAC;AAAA;AAAA,QACA;AAAA,QACA,UAAU;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA,UAAU;AAAA;AAAA,IACX;AAAA,KAEF;AAEF;AAEO,MAAM,iBAAiB,KAAK,uBAAuB","sourcesContent":["import { type ScorecardCellData } from \"../../../schemas/config\";\nimport { type ItemMeta } from \"../../../hooks/metadata\";\nimport { memo, type ReactNode, useState } from \"react\";\nimport { head } from \"lodash\";\nimport { DataTableCell } from \"@dhis2/ui\";\nimport { getTextColorFromBackgroundColor } from \"../../../utils/legends\";\nimport { DataValue } from \"./DataValue\";\nimport { useCellData } from \"../../../hooks/cellData\";\nimport { FurtherAnalysisMenu } from \"./FurtherAnalysisMenu\";\nimport {\n\tFurtherAnalysis,\n\ttype FurtherAnalysisConfig,\n} from \"./FurtherAnalysisModal\";\n\nexport interface SingleDataCellProps {\n\tdataSources: ScorecardCellData[];\n\torgUnit: ItemMeta & { hierarchy: string };\n\tperiod: string;\n\tsize: number;\n}\n\nfunction SingleDataCellComponent({\n\tdataSources,\n\tperiod,\n\torgUnit,\n\tsize,\n}: SingleDataCellProps): ReactNode {\n\tconst [furtherAnalysisConfig, setFurtherAnalysisConfig] =\n\t\tuseState<FurtherAnalysisConfig | null>(null);\n\tconst dataSource = head(dataSources);\n\tconst [stateActionRef, setStateActionRef] = useState(undefined);\n\n\tconst { legendDefinition } = useCellData({\n\t\tdataSource,\n\t\tperiod,\n\t\torgUnit,\n\t});\n\n\tif (!dataSource || !dataSource.data) {\n\t\treturn <DataTableCell bordered />;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{!!furtherAnalysisConfig && (\n\t\t\t\t<FurtherAnalysis\n\t\t\t\t\tonClose={() => {\n\t\t\t\t\t\tsetFurtherAnalysisConfig(null);\n\t\t\t\t\t}}\n\t\t\t\t\thide={!furtherAnalysisConfig}\n\t\t\t\t\tconfig={furtherAnalysisConfig}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t<DataTableCell\n\t\t\t\tonClick={(event) => {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\tsetFurtherAnalysisConfig({\n\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tid: period,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t},\n\t\t\t\t\t\torgUnitSelection: {\n\t\t\t\t\t\t\tlevels: [],\n\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdataSources,\n\t\t\t\t\t});\n\t\t\t\t}}\n\t\t\t\tonContextMenu={(e: any) => {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tsetStateActionRef(e.target);\n\t\t\t\t}}\n\t\t\t\tbordered\n\t\t\t\tstyle={{\n\t\t\t\t\tbackground: legendDefinition?.color,\n\t\t\t\t\ttextAlign: \"center\",\n\t\t\t\t\twidth: size,\n\t\t\t\t\tminWidth: 100,\n\t\t\t\t\theight: 48,\n\t\t\t\t\tcolor: legendDefinition\n\t\t\t\t\t\t? getTextColorFromBackgroundColor(\n\t\t\t\t\t\t\t\tlegendDefinition?.color,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t: undefined,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{dataSource && <DataValue dataSource={dataSource} />}\n\t\t\t</DataTableCell>\n\n\t\t\t{stateActionRef && (\n\t\t\t\t<FurtherAnalysisMenu\n\t\t\t\t\tdataSources={dataSources}\n\t\t\t\t\tonSelect={setFurtherAnalysisConfig}\n\t\t\t\t\tstateActionRef={stateActionRef}\n\t\t\t\t\tsetStateActionRef={setStateActionRef}\n\t\t\t\t\torgUnit={orgUnit}\n\t\t\t\t\tperiodId={period}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</>\n\t);\n}\n\nexport const SingleDataCell = memo(SingleDataCellComponent);\n"]}
|
|
@@ -4,31 +4,22 @@ var jsxRuntime = require('react/jsx-runtime');
|
|
|
4
4
|
var ui = require('@dhis2/ui');
|
|
5
5
|
var TableStateProvider = require('../../TableStateProvider');
|
|
6
6
|
var DataRow = require('./DataRow');
|
|
7
|
-
var LoadingIndicator = require('../../LoadingIndicator');
|
|
8
7
|
var react = require('react');
|
|
8
|
+
var LoadingIndicator = require('../../LoadingIndicator');
|
|
9
9
|
var DataProvider = require('../../DataProvider');
|
|
10
|
-
var reactVirtual = require('@tanstack/react-virtual');
|
|
11
10
|
|
|
12
11
|
const TableBody = react.memo(function TableBody2({
|
|
13
12
|
tableRef
|
|
14
13
|
}) {
|
|
15
14
|
const table = TableStateProvider.useTableState();
|
|
15
|
+
const loading = TableStateProvider.useTableLoadingState();
|
|
16
16
|
const rows = react.useMemo(
|
|
17
17
|
() => table.getRowModel().rows,
|
|
18
18
|
[table.getRowModel().rows]
|
|
19
19
|
);
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
getScrollElement: () => tableRef.current?.parentElement ?? null,
|
|
24
|
-
enabled,
|
|
25
|
-
overscan: 5,
|
|
26
|
-
measureElement: typeof window !== "undefined" && navigator.userAgent.indexOf("Firefox") === -1 ? (element) => element?.getBoundingClientRect().height : void 0,
|
|
27
|
-
estimateSize: () => 60
|
|
28
|
-
});
|
|
29
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(ui.DataTableBody, { children: [
|
|
30
|
-
/* @__PURE__ */ jsxRuntime.jsx(DataProvider.ScorecardDataFetchProgressProvider, { children: /* @__PURE__ */ jsxRuntime.jsx(LoadingIndicator.LoadingIndicator, { tableRef }) }),
|
|
31
|
-
rows.map((row) => /* @__PURE__ */ jsxRuntime.jsx(DataRow.TableRow, { row }, row.id))
|
|
20
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
21
|
+
/* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsx(DataProvider.ScorecardDataFetchProgressProvider, { children: /* @__PURE__ */ jsxRuntime.jsx(LoadingIndicator.LoadingIndicator, { tableRef }) }) }),
|
|
22
|
+
/* @__PURE__ */ jsxRuntime.jsx(ui.DataTableBody, { loading, children: rows.map((row) => /* @__PURE__ */ jsxRuntime.jsx(DataRow.TableRow, { row }, row.id)) })
|
|
32
23
|
] });
|
|
33
24
|
});
|
|
34
25
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/components/Scorecard/components/ScorecardTable/components/TableBody.tsx"],"names":["TableBody"],"mappings":"
|
|
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"]}
|
|
@@ -52,6 +52,7 @@ function DataHeaderCellComponent({
|
|
|
52
52
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
53
53
|
DraggableCell.DraggableCell,
|
|
54
54
|
{
|
|
55
|
+
id: label,
|
|
55
56
|
type: dataInRows ? config.ScorecardDraggableItems.ou : config.ScorecardDraggableItems.data,
|
|
56
57
|
children: bold ? /* @__PURE__ */ jsxRuntime.jsx("b", { children: label }) : label
|
|
57
58
|
}
|
|
@@ -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,
|
|
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"]}
|
|
@@ -5,12 +5,13 @@ var ui = require('@dhis2/ui');
|
|
|
5
5
|
|
|
6
6
|
function ExpandCell(props) {
|
|
7
7
|
const data = props.getValue();
|
|
8
|
+
const size = props.cell.column.getSize();
|
|
8
9
|
if (!data) {
|
|
9
10
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
10
11
|
ui.DataTableCell,
|
|
11
12
|
{
|
|
12
|
-
width:
|
|
13
|
-
style: { width:
|
|
13
|
+
width: `${size}px`,
|
|
14
|
+
style: { width: size, minWidth: size },
|
|
14
15
|
fixed: true,
|
|
15
16
|
left: "0"
|
|
16
17
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../src/components/Scorecard/components/ScorecardTable/components/TableHeader/components/ExpandCell.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../src/components/Scorecard/components/ScorecardTable/components/TableHeader/components/ExpandCell.tsx"],"names":[],"mappings":"AAUG;AARH,SAAS,qBAAqB;AAEvB,SAAS,WAAW,OAAiD;AAC3E,QAAM,OAAO,MAAM,SAAS;AAC5B,QAAM,OAAO,MAAM,KAAK,OAAO,QAAQ;AAEvC,MAAI,CAAC,MAAM;AACV,WACC;AAAA,MAAC;AAAA;AAAA,QACA,OAAO,GAAG,IAAI;AAAA,QACd,OAAO,EAAE,OAAO,MAAM,UAAU,KAAK;AAAA,QAErC,OAAK;AAAA,QAGL,MAAK;AAAA;AAAA,MAJA,MAAM,KAAK;AAAA,IAKjB;AAAA,EAEF;AAEA,SAAO;AACR","sourcesContent":["import type { CellContext } from \"@tanstack/react-table\";\nimport type { ScorecardTableData } from \"../../../../../schemas/config\";\nimport { DataTableCell } from \"@dhis2/ui\";\n\nexport function ExpandCell(props: CellContext<ScorecardTableData, boolean>) {\n\tconst data = props.getValue();\n\tconst size = props.cell.column.getSize();\n\n\tif (!data) {\n\t\treturn (\n\t\t\t<DataTableCell\n\t\t\t\twidth={`${size}px`}\n\t\t\t\tstyle={{ width: size, minWidth: size }}\n\t\t\t\tkey={props.cell.id}\n\t\t\t\tfixed\n\t\t\t\t/*\n // @ts-ignore */\n\t\t\t\tleft=\"0\"\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn null;\n}\n"]}
|
|
@@ -15,6 +15,7 @@ var DroppableCell__default = /*#__PURE__*/_interopDefault(DroppableCell);
|
|
|
15
15
|
|
|
16
16
|
function LabelCellComponent(props) {
|
|
17
17
|
const data = props.getValue().toString();
|
|
18
|
+
const size = props.cell.column.getSize();
|
|
18
19
|
const dataInRows = StateProvider.useScorecardStateSelector([
|
|
19
20
|
"options",
|
|
20
21
|
"showDataInRows"
|
|
@@ -37,10 +38,9 @@ function LabelCellComponent(props) {
|
|
|
37
38
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
38
39
|
ui.DataTableCell,
|
|
39
40
|
{
|
|
40
|
-
width:
|
|
41
|
+
width: `${size}px`,
|
|
41
42
|
style: {
|
|
42
|
-
width:
|
|
43
|
-
minWidth: 300
|
|
43
|
+
width: size
|
|
44
44
|
},
|
|
45
45
|
fixed: true,
|
|
46
46
|
left: `${left}px`,
|
|
@@ -52,6 +52,7 @@ function LabelCellComponent(props) {
|
|
|
52
52
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
53
53
|
DraggableCell.DraggableCell,
|
|
54
54
|
{
|
|
55
|
+
id: data,
|
|
55
56
|
type: dataInRows ? config.ScorecardDraggableItems.data : config.ScorecardDraggableItems.ou,
|
|
56
57
|
children: data
|
|
57
58
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../src/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.tsx"],"names":["left"],"mappings":"AA2DI;AA1DJ;AAAA,EACC;AAAA,OAEM;AACP,SAAS,qBAAqB;AAC9B,OAAO,mBAAmB;AAC1B,SAAS,qBAAqB;AAC9B,SAAS,iCAAiC;AAC1C,SAAS,MAAM,eAAe;AAC9B,SAAS,YAAY;AAEd,SAAS,mBACf,OACC;AACD,QAAM,OAAO,MAAM,SAAS,EAAE,SAAS;AACvC,QAAM,aAAa,0BAAmC;AAAA,IACrD;AAAA,IACA;AAAA,EACD,CAAC;AAED,QAAM,aAAa,0BAAmC;AAAA,IACrD;AAAA,IACA;AAAA,EACD,CAAC;AAED,QAAM,YAAY,QAAQ,MAAM;AAC/B,UAAM,aAAa,KAAK,MAAM,IAAI,gBAAgB,CAAC;AACnD,WAAQ,YAAY,SAAS,KAAiB;AAAA,EAC/C,GAAG,CAAC,CAAC;AAEL,QAAM,OAAO,QAAQ,MAAM;AAC1B,QAAIA,QAAO;AACX,QAAI,YAAY;AACf,MAAAA;AAAA,IACD;AACA,WAAOA,QAAO;AAAA,EACf,GAAG,CAAC,WAAW,UAAU,CAAC;AAE1B,SACC;AAAA,IAAC;AAAA;AAAA,MACA,
|
|
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,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}}\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"]}
|
|
@@ -6,14 +6,17 @@ var react = require('react');
|
|
|
6
6
|
|
|
7
7
|
function NumberCellComponent(props) {
|
|
8
8
|
const data = props.getValue().toString();
|
|
9
|
+
const size = props.cell.column.getSize();
|
|
9
10
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
10
11
|
ui.DataTableCell,
|
|
11
12
|
{
|
|
12
|
-
|
|
13
|
+
bordered: true,
|
|
14
|
+
width: `${size}px`,
|
|
13
15
|
style: {
|
|
14
|
-
width:
|
|
15
|
-
minWidth:
|
|
16
|
-
maxWidth: 48
|
|
16
|
+
width: size,
|
|
17
|
+
minWidth: size,
|
|
18
|
+
maxWidth: 48,
|
|
19
|
+
height: 48
|
|
17
20
|
},
|
|
18
21
|
fixed: true,
|
|
19
22
|
left: "48px",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../src/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.tsx"],"names":[],"mappings":"
|
|
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"]}
|
|
@@ -4,6 +4,7 @@ var jsxRuntime = require('react/jsx-runtime');
|
|
|
4
4
|
var react = require('react');
|
|
5
5
|
var reactTable = require('@tanstack/react-table');
|
|
6
6
|
var table = require('../hooks/table');
|
|
7
|
+
var usehooksTs = require('usehooks-ts');
|
|
7
8
|
|
|
8
9
|
const TableStateContext = react.createContext({
|
|
9
10
|
state: {},
|
|
@@ -11,16 +12,34 @@ const TableStateContext = react.createContext({
|
|
|
11
12
|
getCoreRowModel: reactTable.getCoreRowModel(),
|
|
12
13
|
data: []
|
|
13
14
|
});
|
|
15
|
+
const TableLoadingStateContext = react.createContext(false);
|
|
16
|
+
const TableLoadingStateToggleContext = react.createContext(() => {
|
|
17
|
+
});
|
|
14
18
|
function useTableState() {
|
|
15
19
|
const context = react.useContext(TableStateContext);
|
|
16
20
|
return reactTable.useReactTable(context);
|
|
17
21
|
}
|
|
22
|
+
function useToggleTableLoadingState() {
|
|
23
|
+
return react.useContext(TableLoadingStateToggleContext);
|
|
24
|
+
}
|
|
25
|
+
function useTableLoadingState() {
|
|
26
|
+
return react.useContext(TableLoadingStateContext);
|
|
27
|
+
}
|
|
28
|
+
function TableLoadingStateProvider({
|
|
29
|
+
children
|
|
30
|
+
}) {
|
|
31
|
+
const { value: loading, toggle } = usehooksTs.useBoolean(false);
|
|
32
|
+
return /* @__PURE__ */ jsxRuntime.jsx(TableLoadingStateToggleContext.Provider, { value: toggle, children: /* @__PURE__ */ jsxRuntime.jsx(TableLoadingStateContext.Provider, { value: loading, children }) });
|
|
33
|
+
}
|
|
18
34
|
function TableStateProvider({ children }) {
|
|
19
35
|
const options = table.useTableSetup();
|
|
20
|
-
return /* @__PURE__ */ jsxRuntime.jsx(TableStateContext.Provider, { value: options, children });
|
|
36
|
+
return /* @__PURE__ */ jsxRuntime.jsx(TableStateContext.Provider, { value: options, children: /* @__PURE__ */ jsxRuntime.jsx(TableLoadingStateProvider, { children }) });
|
|
21
37
|
}
|
|
22
38
|
|
|
39
|
+
exports.TableLoadingStateProvider = TableLoadingStateProvider;
|
|
23
40
|
exports.TableStateProvider = TableStateProvider;
|
|
41
|
+
exports.useTableLoadingState = useTableLoadingState;
|
|
24
42
|
exports.useTableState = useTableState;
|
|
43
|
+
exports.useToggleTableLoadingState = useToggleTableLoadingState;
|
|
25
44
|
//# sourceMappingURL=out.js.map
|
|
26
45
|
//# sourceMappingURL=TableStateProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Scorecard/components/TableStateProvider.tsx"],"names":[],"mappings":"
|
|
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"]}
|
|
@@ -55,6 +55,7 @@ function useMetaColumns() {
|
|
|
55
55
|
},
|
|
56
56
|
enableColumnFilter: false,
|
|
57
57
|
cell: ExpandCell.ExpandCell,
|
|
58
|
+
size: 48,
|
|
58
59
|
footer: () => null
|
|
59
60
|
}
|
|
60
61
|
),
|
|
@@ -72,6 +73,7 @@ function useMetaColumns() {
|
|
|
72
73
|
},
|
|
73
74
|
enableColumnFilter: false,
|
|
74
75
|
cell: NumberCell.NumberCell,
|
|
76
|
+
size: 48,
|
|
75
77
|
footer: () => null
|
|
76
78
|
}
|
|
77
79
|
)
|
|
@@ -86,6 +88,7 @@ function useMetaColumns() {
|
|
|
86
88
|
},
|
|
87
89
|
enableColumnFilter: true,
|
|
88
90
|
cell: LabelCell.LabelCell,
|
|
91
|
+
size: 300,
|
|
89
92
|
footer: MetaFooterCell.MetaFooterCell
|
|
90
93
|
})
|
|
91
94
|
);
|
|
@@ -100,6 +103,7 @@ function useMetaColumns() {
|
|
|
100
103
|
fixed: true
|
|
101
104
|
},
|
|
102
105
|
cell: LabelCell.LabelCell,
|
|
106
|
+
size: 300,
|
|
103
107
|
footer: MetaFooterCell.MetaFooterCell
|
|
104
108
|
})
|
|
105
109
|
);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Scorecard/hooks/columns.ts"],"names":[],"mappings":"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","sourcesContent":["import { type ColumnDef, createColumnHelper } from \"@tanstack/react-table\";\nimport {\n\tuseScorecardConfig,\n\tuseScorecardMeta,\n\tuseScorecardStateSelector,\n} from \"../components\";\nimport { useMemo } from \"react\";\nimport {\n\ttype ScorecardState,\n\ttype ScorecardTableCellConfig,\n\ttype ScorecardTableData,\n} from \"../schemas/config\";\nimport {\n\tgetAverageColumn,\n\tgetDataColumnHeaders,\n\tgetOrgUnitColumnHeaders,\n} from \"../utils/columns\";\nimport { LabelCell } from \"../components/ScorecardTable/components/TableHeader/components/LabelCell\";\nimport { ExpandCell } from \"../components/ScorecardTable/components/TableHeader/components/ExpandCell\";\nimport { NumberCell } from \"../components/ScorecardTable/components/TableHeader/components/NumberCell\";\nimport { MetaHeaderCell } from \"../components/ScorecardTable/components/TableHeader/components/MetaHeaderCell\";\nimport { useCalendar } from \"./metadata\";\nimport { MetaFooterCell } from \"../components/ScorecardTable/components/MetaFooterCell\";\nimport { getOrgUnitLevel } from \"../utils/orgUnits\";\nimport { useLowestOrgUnitLevel } from \"./orgUnit\";\nimport { useScorecardData } from \"../components/DataProvider\";\n\nconst columnHelper = createColumnHelper<ScorecardTableData>();\n\nexport function useMetaColumns() {\n\tconst showDataInRows = useScorecardStateSelector<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\n\n\tconst disableExpanding = useScorecardStateSelector<boolean>([\n\t\t\"options\",\n\t\t\"disableExpanding\",\n\t]);\n\n\tconst lowestLevel = useLowestOrgUnitLevel();\n\n\treturn useMemo(() => {\n\t\tconst metaColumns: ColumnDef<ScorecardTableData, any>[] = [\n\t\t\tcolumnHelper.accessor(\n\t\t\t\t(rowData) => {\n\t\t\t\t\tif (disableExpanding) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (showDataInRows) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!lowestLevel) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst orgUnit = rowData.orgUnit;\n\t\t\t\t\tif (!orgUnit) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\tconst ouLevel = getOrgUnitLevel(orgUnit);\n\n\t\t\t\t\treturn ouLevel !== lowestLevel.level;\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: \"expand\",\n\t\t\t\t\theader: () => null,\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tisMeta: true,\n\t\t\t\t\t\tfixed: true,\n\t\t\t\t\t\tlabel: \"\",\n\t\t\t\t\t},\n\t\t\t\t\tenableColumnFilter: false,\n\t\t\t\t\tcell: ExpandCell,\n\t\t\t\t\tfooter: () => null,\n\t\t\t\t},\n\t\t\t),\n\t\t\tcolumnHelper.accessor(\n\t\t\t\t(_, index) => {\n\t\t\t\t\treturn index + 1;\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: \"count\",\n\t\t\t\t\theader: () => null,\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tisMeta: true,\n\t\t\t\t\t\tfixed: true,\n\t\t\t\t\t\tlabel: \"\",\n\t\t\t\t\t},\n\t\t\t\t\tenableColumnFilter: false,\n\t\t\t\t\tcell: NumberCell,\n\t\t\t\t\tfooter: () => null,\n\t\t\t\t},\n\t\t\t),\n\t\t];\n\n\t\tif (showDataInRows) {\n\t\t\tmetaColumns.push(\n\t\t\t\tcolumnHelper.accessor(\"label\", {\n\t\t\t\t\theader: () => null,\n\t\t\t\t\tid: \"dataItems\",\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tfilterable: true,\n\t\t\t\t\t},\n\t\t\t\t\tenableColumnFilter: true,\n\t\t\t\t\tcell: LabelCell,\n\t\t\t\t\tfooter: MetaFooterCell,\n\t\t\t\t}),\n\t\t\t);\n\t\t} else {\n\t\t\tmetaColumns.push(\n\t\t\t\tcolumnHelper.accessor(\"label\", {\n\t\t\t\t\theader: () => null,\n\t\t\t\t\tid: \"orgUnits\",\n\t\t\t\t\tenableColumnFilter: true,\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tisMeta: true,\n\t\t\t\t\t\tfixed: true,\n\t\t\t\t\t},\n\t\t\t\t\tcell: LabelCell,\n\t\t\t\t\tfooter: MetaFooterCell,\n\t\t\t\t}),\n\t\t\t);\n\t\t}\n\n\t\treturn metaColumns;\n\t}, [showDataInRows, disableExpanding]);\n}\n\nexport function useTableColumns(): ColumnDef<\n\tScorecardTableData,\n\tScorecardTableCellConfig\n>[] {\n\tconst config = useScorecardConfig();\n\tconst { data: dataEngine } = useScorecardData();\n\tconst meta = useScorecardMeta();\n\tconst metaColumns = useMetaColumns();\n\tconst calendar = useCalendar();\n\tconst showDataInRows = useScorecardStateSelector<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\n\tconst periodSelection =\n\t\tuseScorecardStateSelector<ScorecardState[\"periodSelection\"]>(\n\t\t\t\"periodSelection\",\n\t\t);\n\n\tconst orgUnitSelection =\n\t\tuseScorecardStateSelector<ScorecardState[\"orgUnitSelection\"]>(\n\t\t\t\"orgUnitSelection\",\n\t\t);\n\n\tif (!config || !meta) {\n\t\treturn [];\n\t}\n\treturn useMemo(() => {\n\t\tconst columns: ColumnDef<ScorecardTableData, any>[] = [\n\t\t\tcolumnHelper.group({\n\t\t\t\tid: \"metaHeader\",\n\t\t\t\tcolumns: metaColumns,\n\t\t\t\theader: MetaHeaderCell,\n\t\t\t\tfooter: () => null,\n\t\t\t}),\n\t\t];\n\n\t\tif (showDataInRows) {\n\t\t\tcolumns.push(\n\t\t\t\t...getOrgUnitColumnHeaders({\n\t\t\t\t\tmeta,\n\t\t\t\t\tcalendar,\n\t\t\t\t\tdataEngine,\n\t\t\t\t}),\n\t\t\t);\n\t\t} else {\n\t\t\tcolumns.push(\n\t\t\t\t...getDataColumnHeaders({\n\t\t\t\t\tmeta,\n\t\t\t\t\tconfig,\n\t\t\t\t\tcalendar,\n\t\t\t\t\tdataEngine,\n\t\t\t\t}),\n\t\t\t);\n\t\t}\n\n\t\tcolumns.push(\n\t\t\tgetAverageColumn({\n\t\t\t\tmeta,\n\t\t\t\tconfig,\n\t\t\t}),\n\t\t);\n\n\t\treturn columns;\n\t}, [showDataInRows, periodSelection, orgUnitSelection]);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Scorecard/hooks/columns.ts"],"names":[],"mappings":"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","sourcesContent":["import { type ColumnDef, createColumnHelper } from \"@tanstack/react-table\";\nimport {\n\tuseScorecardConfig,\n\tuseScorecardMeta,\n\tuseScorecardStateSelector,\n} from \"../components\";\nimport { useMemo } from \"react\";\nimport {\n\ttype ScorecardState,\n\ttype ScorecardTableCellConfig,\n\ttype ScorecardTableData,\n} from \"../schemas/config\";\nimport {\n\tgetAverageColumn,\n\tgetDataColumnHeaders,\n\tgetOrgUnitColumnHeaders,\n} from \"../utils/columns\";\nimport { LabelCell } from \"../components/ScorecardTable/components/TableHeader/components/LabelCell\";\nimport { ExpandCell } from \"../components/ScorecardTable/components/TableHeader/components/ExpandCell\";\nimport { NumberCell } from \"../components/ScorecardTable/components/TableHeader/components/NumberCell\";\nimport { MetaHeaderCell } from \"../components/ScorecardTable/components/TableHeader/components/MetaHeaderCell\";\nimport { useCalendar } from \"./metadata\";\nimport { MetaFooterCell } from \"../components/ScorecardTable/components/MetaFooterCell\";\nimport { getOrgUnitLevel } from \"../utils/orgUnits\";\nimport { useLowestOrgUnitLevel } from \"./orgUnit\";\nimport { useScorecardData } from \"../components/DataProvider\";\n\nconst columnHelper = createColumnHelper<ScorecardTableData>();\n\nexport function useMetaColumns() {\n\tconst showDataInRows = useScorecardStateSelector<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\n\n\tconst disableExpanding = useScorecardStateSelector<boolean>([\n\t\t\"options\",\n\t\t\"disableExpanding\",\n\t]);\n\n\tconst lowestLevel = useLowestOrgUnitLevel();\n\n\treturn useMemo(() => {\n\t\tconst metaColumns: ColumnDef<ScorecardTableData, any>[] = [\n\t\t\tcolumnHelper.accessor(\n\t\t\t\t(rowData) => {\n\t\t\t\t\tif (disableExpanding) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (showDataInRows) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!lowestLevel) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst orgUnit = rowData.orgUnit;\n\t\t\t\t\tif (!orgUnit) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\tconst ouLevel = getOrgUnitLevel(orgUnit);\n\n\t\t\t\t\treturn ouLevel !== lowestLevel.level;\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: \"expand\",\n\t\t\t\t\theader: () => null,\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tisMeta: true,\n\t\t\t\t\t\tfixed: true,\n\t\t\t\t\t\tlabel: \"\",\n\t\t\t\t\t},\n\t\t\t\t\tenableColumnFilter: false,\n\t\t\t\t\tcell: ExpandCell,\n\t\t\t\t\tsize: 48,\n\t\t\t\t\tfooter: () => null,\n\t\t\t\t},\n\t\t\t),\n\t\t\tcolumnHelper.accessor(\n\t\t\t\t(_, index) => {\n\t\t\t\t\treturn index + 1;\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: \"count\",\n\t\t\t\t\theader: () => null,\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tisMeta: true,\n\t\t\t\t\t\tfixed: true,\n\t\t\t\t\t\tlabel: \"\",\n\t\t\t\t\t},\n\t\t\t\t\tenableColumnFilter: false,\n\t\t\t\t\tcell: NumberCell,\n\t\t\t\t\tsize: 48,\n\t\t\t\t\tfooter: () => null,\n\t\t\t\t},\n\t\t\t),\n\t\t];\n\n\t\tif (showDataInRows) {\n\t\t\tmetaColumns.push(\n\t\t\t\tcolumnHelper.accessor(\"label\", {\n\t\t\t\t\theader: () => null,\n\t\t\t\t\tid: \"dataItems\",\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tfilterable: true,\n\t\t\t\t\t},\n\t\t\t\t\tenableColumnFilter: true,\n\t\t\t\t\tcell: LabelCell,\n\t\t\t\t\tsize: 300,\n\t\t\t\t\tfooter: MetaFooterCell,\n\t\t\t\t}),\n\t\t\t);\n\t\t} else {\n\t\t\tmetaColumns.push(\n\t\t\t\tcolumnHelper.accessor(\"label\", {\n\t\t\t\t\theader: () => null,\n\t\t\t\t\tid: \"orgUnits\",\n\t\t\t\t\tenableColumnFilter: true,\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tisMeta: true,\n\t\t\t\t\t\tfixed: true,\n\t\t\t\t\t},\n\t\t\t\t\tcell: LabelCell,\n\t\t\t\t\tsize: 300,\n\t\t\t\t\tfooter: MetaFooterCell,\n\t\t\t\t}),\n\t\t\t);\n\t\t}\n\n\t\treturn metaColumns;\n\t}, [showDataInRows, disableExpanding]);\n}\n\nexport function useTableColumns(): ColumnDef<\n\tScorecardTableData,\n\tScorecardTableCellConfig\n>[] {\n\tconst config = useScorecardConfig();\n\tconst { data: dataEngine } = useScorecardData();\n\tconst meta = useScorecardMeta();\n\tconst metaColumns = useMetaColumns();\n\tconst calendar = useCalendar();\n\tconst showDataInRows = useScorecardStateSelector<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\n\tconst periodSelection =\n\t\tuseScorecardStateSelector<ScorecardState[\"periodSelection\"]>(\n\t\t\t\"periodSelection\",\n\t\t);\n\n\tconst orgUnitSelection =\n\t\tuseScorecardStateSelector<ScorecardState[\"orgUnitSelection\"]>(\n\t\t\t\"orgUnitSelection\",\n\t\t);\n\n\tif (!config || !meta) {\n\t\treturn [];\n\t}\n\treturn useMemo(() => {\n\t\tconst columns: ColumnDef<ScorecardTableData, any>[] = [\n\t\t\tcolumnHelper.group({\n\t\t\t\tid: \"metaHeader\",\n\t\t\t\tcolumns: metaColumns,\n\t\t\t\theader: MetaHeaderCell,\n\t\t\t\tfooter: () => null,\n\t\t\t}),\n\t\t];\n\n\t\tif (showDataInRows) {\n\t\t\tcolumns.push(\n\t\t\t\t...getOrgUnitColumnHeaders({\n\t\t\t\t\tmeta,\n\t\t\t\t\tcalendar,\n\t\t\t\t\tdataEngine,\n\t\t\t\t}),\n\t\t\t);\n\t\t} else {\n\t\t\tcolumns.push(\n\t\t\t\t...getDataColumnHeaders({\n\t\t\t\t\tmeta,\n\t\t\t\t\tconfig,\n\t\t\t\t\tcalendar,\n\t\t\t\t\tdataEngine,\n\t\t\t\t}),\n\t\t\t);\n\t\t}\n\n\t\tcolumns.push(\n\t\t\tgetAverageColumn({\n\t\t\t\tmeta,\n\t\t\t\tconfig,\n\t\t\t}),\n\t\t);\n\n\t\treturn columns;\n\t}, [showDataInRows, periodSelection, orgUnitSelection]);\n}\n"]}
|
|
@@ -147,6 +147,10 @@ function useTableSetup() {
|
|
|
147
147
|
average: showAverageColumn,
|
|
148
148
|
count: showItemNumber
|
|
149
149
|
});
|
|
150
|
+
const [pagination, setPagination] = react.useState({
|
|
151
|
+
pageSize: 50,
|
|
152
|
+
pageIndex: 0
|
|
153
|
+
});
|
|
150
154
|
const [sorting, setSorting] = react.useState([]);
|
|
151
155
|
const columns$1 = columns.useTableColumns();
|
|
152
156
|
const data = useTableRows();
|
|
@@ -156,14 +160,19 @@ function useTableSetup() {
|
|
|
156
160
|
state: {
|
|
157
161
|
columnFilters,
|
|
158
162
|
sorting,
|
|
159
|
-
columnVisibility
|
|
163
|
+
columnVisibility,
|
|
164
|
+
pagination
|
|
160
165
|
},
|
|
166
|
+
autoResetPageIndex: true,
|
|
167
|
+
rowCount: data.length,
|
|
161
168
|
onColumnFiltersChange: setColumnFilters,
|
|
162
169
|
onSortingChange: setSorting,
|
|
163
170
|
getCoreRowModel: reactTable.getCoreRowModel(),
|
|
164
171
|
getFilteredRowModel: reactTable.getFilteredRowModel(),
|
|
172
|
+
getPaginationRowModel: reactTable.getPaginationRowModel(),
|
|
165
173
|
getSortedRowModel: reactTable.getSortedRowModel(),
|
|
166
|
-
onColumnVisibilityChange: setColumnVisibility
|
|
174
|
+
onColumnVisibilityChange: setColumnVisibility,
|
|
175
|
+
onPaginationChange: setPagination
|
|
167
176
|
};
|
|
168
177
|
}
|
|
169
178
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Scorecard/hooks/table.ts"],"names":["emptyRows","rows"],"mappings":"AAAA;AAAA,EAEC;AAAA,EACA;AAAA,EACA;AAAA,
|
|
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"]}
|
|
@@ -120,6 +120,7 @@ function getOrgUnitColumnHeaders({
|
|
|
120
120
|
label: name
|
|
121
121
|
},
|
|
122
122
|
cell: DataContainer.DataContainer,
|
|
123
|
+
size: 120,
|
|
123
124
|
id: `${orgUnit.uid}-${uid}`,
|
|
124
125
|
enableSorting: true,
|
|
125
126
|
sortingFn: getSortingFunction(dataEngine),
|
|
@@ -146,6 +147,7 @@ function getAverageColumn({}) {
|
|
|
146
147
|
header: () => null,
|
|
147
148
|
cell: AverageCell.AverageCell,
|
|
148
149
|
enableHiding: true,
|
|
150
|
+
size: 120,
|
|
149
151
|
footer: AverageFooterCell.AverageFooterCell
|
|
150
152
|
}
|
|
151
153
|
)
|
|
@@ -189,6 +191,7 @@ function getDataHolderColumn({
|
|
|
189
191
|
},
|
|
190
192
|
id: id.toString(),
|
|
191
193
|
cell: DataContainer.DataContainer,
|
|
194
|
+
size: 120,
|
|
192
195
|
enableSorting: true,
|
|
193
196
|
sortingFn: getSortingFunction(dataEngine),
|
|
194
197
|
footer: DataFooterCell.DataFooterCell
|
|
@@ -224,6 +227,7 @@ function getDataHolderColumn({
|
|
|
224
227
|
label: name
|
|
225
228
|
},
|
|
226
229
|
cell: DataContainer.DataContainer,
|
|
230
|
+
size: 120,
|
|
227
231
|
id: `${id.toString()}-${uid}`,
|
|
228
232
|
enableSorting: true,
|
|
229
233
|
sortingFn: getSortingFunction(dataEngine),
|