@hisptz/dhis2-analytics 2.0.31 → 2.0.33
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/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/components/ChoroplethLegend.js.map +1 -1
- package/dist/components/Scorecard/Scorecard.stories.js +150 -879
- package/dist/components/Scorecard/Scorecard.stories.js.map +1 -1
- package/dist/components/Scorecard/ScorecardContext.stories.js +422 -0
- package/dist/components/Scorecard/ScorecardContext.stories.js.map +1 -0
- package/dist/components/Scorecard/components/DataProvider.js +4 -19
- package/dist/components/Scorecard/components/DataProvider.js.map +1 -1
- package/dist/components/Scorecard/components/LoadingIndicator.js +27 -0
- package/dist/components/Scorecard/components/LoadingIndicator.js.map +1 -0
- package/dist/components/Scorecard/components/MetaProvider.js +10 -2
- package/dist/components/Scorecard/components/MetaProvider.js.map +1 -1
- package/dist/components/Scorecard/components/ScorecardContext.js +52 -1
- package/dist/components/Scorecard/components/ScorecardContext.js.map +1 -1
- package/dist/components/Scorecard/components/ScorecardTable/ScorecardTable.js +33 -14
- package/dist/components/Scorecard/components/ScorecardTable/ScorecardTable.js.map +1 -1
- package/dist/components/Scorecard/components/ScorecardTable/ScorecardTable.module.css +18 -0
- package/dist/components/Scorecard/components/ScorecardTable/ScorecardTable.module.css.map +1 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/AverageCell.js +47 -14
- package/dist/components/Scorecard/components/ScorecardTable/components/AverageCell.js.map +1 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/AverageFooterCell.js +39 -8
- package/dist/components/Scorecard/components/ScorecardTable/components/AverageFooterCell.js.map +1 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/CellLoader.js +12 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/CellLoader.js.map +1 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/DataContainer.js +24 -4
- package/dist/components/Scorecard/components/ScorecardTable/components/DataContainer.js.map +1 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/DataFooterCell.js +125 -32
- package/dist/components/Scorecard/components/ScorecardTable/components/DataFooterCell.js.map +1 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/DataRow.js +17 -7
- package/dist/components/Scorecard/components/ScorecardTable/components/DataRow.js.map +1 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/DataValue.js +8 -5
- package/dist/components/Scorecard/components/ScorecardTable/components/DataValue.js.map +1 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/ExpandedScorecardTable.js +16 -3
- package/dist/components/Scorecard/components/ScorecardTable/components/ExpandedScorecardTable.js.map +1 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/LinkedCell.js +8 -2
- package/dist/components/Scorecard/components/ScorecardTable/components/LinkedCell.js.map +1 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/LinkedDataCell.js.map +1 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.js +5 -3
- package/dist/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.js.map +1 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/SingleDataCell.js +2 -2
- package/dist/components/Scorecard/components/ScorecardTable/components/SingleDataCell.js.map +1 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/TableBody.js +8 -3
- package/dist/components/Scorecard/components/ScorecardTable/components/TableBody.js.map +1 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/TableFoot.js +8 -5
- package/dist/components/Scorecard/components/ScorecardTable/components/TableFoot.js.map +1 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.js +7 -8
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.js.map +1 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.js +6 -8
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.js.map +1 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js +13 -4
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js.map +1 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/FilterArea.js +4 -2
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/FilterArea.js.map +1 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.js +4 -2
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.js.map +1 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js +6 -7
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js.map +1 -1
- package/dist/components/Scorecard/components/StateProvider.js +8 -0
- package/dist/components/Scorecard/components/StateProvider.js.map +1 -1
- package/dist/components/Scorecard/hooks/cellData.js +3 -4
- package/dist/components/Scorecard/hooks/cellData.js.map +1 -1
- package/dist/components/Scorecard/hooks/columns.js +106 -89
- package/dist/components/Scorecard/hooks/columns.js.map +1 -1
- package/dist/components/Scorecard/hooks/data.js +126 -31
- package/dist/components/Scorecard/hooks/data.js.map +1 -1
- package/dist/components/Scorecard/hooks/metadata.js +23 -13
- package/dist/components/Scorecard/hooks/metadata.js.map +1 -1
- package/dist/components/Scorecard/hooks/table.js +137 -5
- package/dist/components/Scorecard/hooks/table.js.map +1 -1
- package/dist/components/Scorecard/hooks/value.js +198 -0
- package/dist/components/Scorecard/hooks/value.js.map +1 -0
- package/dist/components/Scorecard/schemas/config.js +27 -12
- package/dist/components/Scorecard/schemas/config.js.map +1 -1
- package/dist/components/Scorecard/utils/analytics.js +4 -3
- package/dist/components/Scorecard/utils/analytics.js.map +1 -1
- package/dist/components/Scorecard/utils/columns.js +66 -104
- package/dist/components/Scorecard/utils/columns.js.map +1 -1
- package/dist/components/Scorecard/utils/data.js +10 -100
- package/dist/components/Scorecard/utils/data.js.map +1 -1
- package/dist/components/Scorecard/utils/dataEngine.js +35 -0
- package/dist/components/Scorecard/utils/dataEngine.js.map +1 -0
- package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/components/ChoroplethLegend.js.map +1 -1
- package/dist/esm/components/Scorecard/Scorecard.stories.js +148 -876
- package/dist/esm/components/Scorecard/Scorecard.stories.js.map +1 -1
- package/dist/esm/components/Scorecard/ScorecardContext.stories.js +417 -0
- package/dist/esm/components/Scorecard/ScorecardContext.stories.js.map +1 -0
- package/dist/esm/components/Scorecard/components/DataProvider.js +4 -19
- package/dist/esm/components/Scorecard/components/DataProvider.js.map +1 -1
- package/dist/esm/components/Scorecard/components/LoadingIndicator.js +25 -0
- package/dist/esm/components/Scorecard/components/LoadingIndicator.js.map +1 -0
- package/dist/esm/components/Scorecard/components/MetaProvider.js +6 -2
- package/dist/esm/components/Scorecard/components/MetaProvider.js.map +1 -1
- package/dist/esm/components/Scorecard/components/ScorecardContext.js +49 -2
- package/dist/esm/components/Scorecard/components/ScorecardContext.js.map +1 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/ScorecardTable.js +34 -15
- package/dist/esm/components/Scorecard/components/ScorecardTable/ScorecardTable.js.map +1 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/ScorecardTable.module.css +18 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/ScorecardTable.module.css.map +1 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/AverageCell.js +47 -14
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/AverageCell.js.map +1 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/AverageFooterCell.js +40 -9
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/AverageFooterCell.js.map +1 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/CellLoader.js +10 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/CellLoader.js.map +1 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataContainer.js +25 -5
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataContainer.js.map +1 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataFooterCell.js +127 -34
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataFooterCell.js.map +1 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataRow.js +18 -8
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataRow.js.map +1 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataValue.js +10 -7
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataValue.js.map +1 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/ExpandedScorecardTable.js +16 -3
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/ExpandedScorecardTable.js.map +1 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/LinkedCell.js +8 -2
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/LinkedCell.js.map +1 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/LinkedDataCell.js.map +1 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.js +6 -4
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.js.map +1 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/SingleDataCell.js +2 -2
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/SingleDataCell.js.map +1 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableBody.js +9 -4
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableBody.js.map +1 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableFoot.js +9 -6
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableFoot.js.map +1 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.js +7 -8
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.js.map +1 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.js +7 -9
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.js.map +1 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js +14 -6
- 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/FilterArea.js +5 -3
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/FilterArea.js.map +1 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.js +5 -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/MetaHeaderCell.js +7 -8
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js.map +1 -1
- package/dist/esm/components/Scorecard/components/StateProvider.js +9 -2
- package/dist/esm/components/Scorecard/components/StateProvider.js.map +1 -1
- package/dist/esm/components/Scorecard/hooks/cellData.js +1 -2
- package/dist/esm/components/Scorecard/hooks/cellData.js.map +1 -1
- package/dist/esm/components/Scorecard/hooks/columns.js +107 -90
- package/dist/esm/components/Scorecard/hooks/columns.js.map +1 -1
- package/dist/esm/components/Scorecard/hooks/data.js +130 -35
- package/dist/esm/components/Scorecard/hooks/data.js.map +1 -1
- package/dist/esm/components/Scorecard/hooks/metadata.js +24 -14
- package/dist/esm/components/Scorecard/hooks/metadata.js.map +1 -1
- package/dist/esm/components/Scorecard/hooks/table.js +138 -6
- package/dist/esm/components/Scorecard/hooks/table.js.map +1 -1
- package/dist/esm/components/Scorecard/hooks/value.js +194 -0
- package/dist/esm/components/Scorecard/hooks/value.js.map +1 -0
- package/dist/esm/components/Scorecard/schemas/config.js +24 -12
- package/dist/esm/components/Scorecard/schemas/config.js.map +1 -1
- package/dist/esm/components/Scorecard/utils/analytics.js +4 -3
- package/dist/esm/components/Scorecard/utils/analytics.js.map +1 -1
- package/dist/esm/components/Scorecard/utils/columns.js +67 -106
- package/dist/esm/components/Scorecard/utils/columns.js.map +1 -1
- package/dist/esm/components/Scorecard/utils/data.js +11 -101
- package/dist/esm/components/Scorecard/utils/data.js.map +1 -1
- package/dist/esm/components/Scorecard/utils/dataEngine.js +33 -0
- package/dist/esm/components/Scorecard/utils/dataEngine.js.map +1 -0
- package/dist/types/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/components/ChoroplethLegend.d.ts +1 -1
- package/dist/types/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/components/ChoroplethLegend.d.ts.map +1 -1
- package/dist/types/components/Scorecard/components/DataProvider.d.ts +3 -3
- package/dist/types/components/Scorecard/components/DataProvider.d.ts.map +1 -1
- package/dist/types/components/Scorecard/components/LoadingIndicator.d.ts +2 -0
- package/dist/types/components/Scorecard/components/LoadingIndicator.d.ts.map +1 -0
- package/dist/types/components/Scorecard/components/MetaProvider.d.ts.map +1 -1
- package/dist/types/components/Scorecard/components/ScorecardContext.d.ts +1 -1
- package/dist/types/components/Scorecard/components/ScorecardContext.d.ts.map +1 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/ScorecardTable.d.ts +2 -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 -13
- 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.map +1 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/CellLoader.d.ts +2 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/CellLoader.d.ts.map +1 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/DataContainer.d.ts +2 -2
- 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 +2 -2
- 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.map +1 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/DataValue.d.ts +6 -5
- package/dist/types/components/Scorecard/components/ScorecardTable/components/DataValue.d.ts.map +1 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/ExpandedScorecardTable.d.ts +2 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/ExpandedScorecardTable.d.ts.map +1 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/LinkedCell.d.ts +3 -3
- 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 -2
- 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 +1 -3
- package/dist/types/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.d.ts.map +1 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/SingleDataCell.d.ts +2 -2
- 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 +2 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableBody.d.ts.map +1 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableFoot.d.ts.map +1 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.d.ts +2 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.d.ts.map +1 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.d.ts +1 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.d.ts.map +1 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.d.ts +1 -0
- 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/FilterArea.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/MetaHeaderCell.d.ts.map +1 -1
- package/dist/types/components/Scorecard/components/StateProvider.d.ts +1 -0
- package/dist/types/components/Scorecard/components/StateProvider.d.ts.map +1 -1
- package/dist/types/components/Scorecard/components/TableStateProvider.d.ts +0 -6
- package/dist/types/components/Scorecard/components/TableStateProvider.d.ts.map +1 -1
- package/dist/types/components/Scorecard/hooks/cellData.d.ts +2 -2
- package/dist/types/components/Scorecard/hooks/cellData.d.ts.map +1 -1
- package/dist/types/components/Scorecard/hooks/columns.d.ts +2 -8
- package/dist/types/components/Scorecard/hooks/columns.d.ts.map +1 -1
- package/dist/types/components/Scorecard/hooks/data.d.ts +11 -53
- package/dist/types/components/Scorecard/hooks/data.d.ts.map +1 -1
- package/dist/types/components/Scorecard/hooks/metadata.d.ts +1 -0
- package/dist/types/components/Scorecard/hooks/metadata.d.ts.map +1 -1
- package/dist/types/components/Scorecard/hooks/table.d.ts.map +1 -1
- package/dist/types/components/Scorecard/hooks/value.d.ts +87 -0
- package/dist/types/components/Scorecard/hooks/value.d.ts.map +1 -0
- package/dist/types/components/Scorecard/schemas/config.d.ts +666 -62
- package/dist/types/components/Scorecard/schemas/config.d.ts.map +1 -1
- package/dist/types/components/Scorecard/utils/analytics.d.ts +3 -2
- package/dist/types/components/Scorecard/utils/analytics.d.ts.map +1 -1
- package/dist/types/components/Scorecard/utils/columns.d.ts +19 -59
- package/dist/types/components/Scorecard/utils/columns.d.ts.map +1 -1
- package/dist/types/components/Scorecard/utils/data.d.ts +6 -4
- package/dist/types/components/Scorecard/utils/data.d.ts.map +1 -1
- package/dist/types/components/Scorecard/utils/dataEngine.d.ts +14 -0
- package/dist/types/components/Scorecard/utils/dataEngine.d.ts.map +1 -0
- package/package.json +4 -4
- package/dist/components/Scorecard/components/ScorecardTable/components/LinkedDataFooterCell.js +0 -45
- package/dist/components/Scorecard/components/ScorecardTable/components/LinkedDataFooterCell.js.map +0 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/SingleDataFooterCell.js +0 -38
- package/dist/components/Scorecard/components/ScorecardTable/components/SingleDataFooterCell.js.map +0 -1
- package/dist/components/Scorecard/hooks/average.js +0 -50
- package/dist/components/Scorecard/hooks/average.js.map +0 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/LinkedDataFooterCell.js +0 -43
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/LinkedDataFooterCell.js.map +0 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/SingleDataFooterCell.js +0 -36
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/SingleDataFooterCell.js.map +0 -1
- package/dist/esm/components/Scorecard/hooks/average.js +0 -48
- package/dist/esm/components/Scorecard/hooks/average.js.map +0 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/LinkedDataFooterCell.d.ts +0 -6
- package/dist/types/components/Scorecard/components/ScorecardTable/components/LinkedDataFooterCell.d.ts.map +0 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/SingleDataFooterCell.d.ts +0 -6
- package/dist/types/components/Scorecard/components/ScorecardTable/components/SingleDataFooterCell.d.ts.map +0 -1
- package/dist/types/components/Scorecard/hooks/average.d.ts +0 -14
- package/dist/types/components/Scorecard/hooks/average.d.ts.map +0 -1
|
@@ -2,16 +2,15 @@ import { jsx } from 'react/jsx-runtime';
|
|
|
2
2
|
import { useTableState } from '../../../TableStateProvider';
|
|
3
3
|
import { DataTableHead, DataTableRow } from '@dhis2/ui';
|
|
4
4
|
import { flexRender } from '@tanstack/react-table';
|
|
5
|
+
import { memo, Fragment } from 'react';
|
|
5
6
|
|
|
6
|
-
|
|
7
|
+
const TableHeader = memo(function TableHeaderComponent() {
|
|
7
8
|
const table = useTableState();
|
|
8
|
-
return /* @__PURE__ */ jsx(DataTableHead, { children: table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ jsx(DataTableRow, { children: headerGroup.headers.map(
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
) }, headerGroup.id)) });
|
|
14
|
-
}
|
|
9
|
+
return /* @__PURE__ */ jsx(DataTableHead, { children: table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ jsx(DataTableRow, { children: headerGroup.headers.map((header) => /* @__PURE__ */ jsx(Fragment, { children: flexRender(
|
|
10
|
+
header.column.columnDef.header,
|
|
11
|
+
header.getContext()
|
|
12
|
+
) }, `${header.id}-fragment`)) }, headerGroup.id)) });
|
|
13
|
+
});
|
|
15
14
|
|
|
16
15
|
export { TableHeader };
|
|
17
16
|
//# sourceMappingURL=out.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../src/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../src/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.tsx"],"names":[],"mappings":"AAaM;AAbN,SAAS,qBAAqB;AAC9B,SAAS,eAAe,oBAAoB;AAC5C,SAAS,kBAAkB;AAC3B,SAAS,UAAU,YAAY;AAExB,MAAM,cAAc,KAAK,SAAS,uBAAuB;AAC/D,QAAM,QAAQ,cAAc;AAE5B,SACC,oBAAC,iBACC,gBAAM,gBAAgB,EAAE,IAAI,CAAC,gBAC7B,oBAAC,gBACC,sBAAY,QAAQ,IAAI,CAAC,WACzB,oBAAC,YACC;AAAA,IACA,OAAO,OAAO,UAAU;AAAA,IACxB,OAAO,WAAW;AAAA,EACnB,KAJc,GAAG,OAAO,EAAE,WAK3B,CACA,KARiB,YAAY,EAS/B,CACA,GACF;AAEF,CAAC","sourcesContent":["import { useTableState } from \"../../../TableStateProvider\";\nimport { DataTableHead, DataTableRow } from \"@dhis2/ui\";\nimport { flexRender } from \"@tanstack/react-table\";\nimport { Fragment, memo } from \"react\";\n\nexport const TableHeader = memo(function TableHeaderComponent() {\n\tconst table = useTableState();\n\n\treturn (\n\t\t<DataTableHead>\n\t\t\t{table.getHeaderGroups().map((headerGroup) => (\n\t\t\t\t<DataTableRow key={headerGroup.id}>\n\t\t\t\t\t{headerGroup.headers.map((header) => (\n\t\t\t\t\t\t<Fragment key={`${header.id}-fragment`}>\n\t\t\t\t\t\t\t{flexRender(\n\t\t\t\t\t\t\t\theader.column.columnDef.header,\n\t\t\t\t\t\t\t\theader.getContext(),\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t))}\n\t\t\t\t</DataTableRow>\n\t\t\t))}\n\t\t</DataTableHead>\n\t);\n});\n"]}
|
|
@@ -2,23 +2,21 @@ import { jsx } from 'react/jsx-runtime';
|
|
|
2
2
|
import { DataTableColumnHeader } from '@dhis2/ui';
|
|
3
3
|
import i18n from '@dhis2/d2-i18n';
|
|
4
4
|
import styles from '../TableHeader.module.css';
|
|
5
|
-
import {
|
|
5
|
+
import { useScorecardStateSelector } from '../../../../StateProvider';
|
|
6
6
|
|
|
7
7
|
function AverageHeaderCell({
|
|
8
|
-
header
|
|
9
|
-
column
|
|
8
|
+
header
|
|
10
9
|
}) {
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
const dataInRows = useScorecardStateSelector([
|
|
11
|
+
"options",
|
|
12
|
+
"showDataInRows"
|
|
13
|
+
]);
|
|
14
|
+
const hasOnePeriod = useScorecardStateSelector(["hasOnePeriod"]);
|
|
14
15
|
const rowSpan = dataInRows ? hasOnePeriod ? "2" : "2" : hasOnePeriod ? "2" : "3";
|
|
15
16
|
return /* @__PURE__ */ jsx(
|
|
16
17
|
DataTableColumnHeader,
|
|
17
18
|
{
|
|
18
19
|
align: "right",
|
|
19
|
-
onFilterIconClick: () => {
|
|
20
|
-
},
|
|
21
|
-
fixed: true,
|
|
22
20
|
colSpan: header.colSpan.toString(),
|
|
23
21
|
rowSpan,
|
|
24
22
|
className: styles.metaHeader,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../../src/components/Scorecard/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../../src/components/Scorecard/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.tsx"],"names":[],"mappings":"AA+BG;AA7BH,SAAS,6BAA6B;AACtC,OAAO,UAAU;AACjB,OAAO,YAAY;AACnB,SAAS,iCAAiC;AAEnC,SAAS,kBAAkB;AAAA,EACjC;AACD,GAA2C;AAC1C,QAAM,aAAa,0BAAmC;AAAA,IACrD;AAAA,IACA;AAAA,EACD,CAAC;AACD,QAAM,eAAe,0BAAmC,CAAC,cAAc,CAAC;AACxE,QAAM,UAAU,aACb,eACC,MACA,MACD,eACC,MACA;AAEJ,SACC;AAAA,IAAC;AAAA;AAAA,MAEA,OAAM;AAAA,MACN,SAAS,OAAO,QAAQ,SAAS;AAAA,MACjC;AAAA,MACA,WAAW,OAAO;AAAA,MAElB,8BAAC,OAAG,eAAK,EAAE,SAAS,GAAE;AAAA;AAAA,IANjB,OAAO;AAAA,EAOb;AAEF","sourcesContent":["import type { HeaderContext } from \"@tanstack/react-table\";\nimport type { ScorecardTableData } from \"../../../../../schemas/config\";\nimport { DataTableColumnHeader } from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport styles from \"../TableHeader.module.css\";\nimport { useScorecardStateSelector } from \"../../../../StateProvider\";\n\nexport function AverageHeaderCell({\n\theader,\n}: HeaderContext<ScorecardTableData, any>) {\n\tconst dataInRows = useScorecardStateSelector<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\n\tconst hasOnePeriod = useScorecardStateSelector<boolean>([\"hasOnePeriod\"]);\n\tconst rowSpan = dataInRows\n\t\t? hasOnePeriod\n\t\t\t? \"2\"\n\t\t\t: \"2\"\n\t\t: hasOnePeriod\n\t\t\t? \"2\"\n\t\t\t: \"3\";\n\n\treturn (\n\t\t<DataTableColumnHeader\n\t\t\tkey={header.id}\n\t\t\talign=\"right\"\n\t\t\tcolSpan={header.colSpan.toString()}\n\t\t\trowSpan={rowSpan}\n\t\t\tclassName={styles.metaHeader}\n\t\t>\n\t\t\t<b>{i18n.t(\"Average\")}</b>\n\t\t</DataTableColumnHeader>\n\t);\n}\n"]}
|
|
@@ -4,14 +4,22 @@ import { DataTableColumnHeader } from '@dhis2/ui';
|
|
|
4
4
|
import i18n from '@dhis2/d2-i18n';
|
|
5
5
|
import { DraggableCell } from '../../DraggableCell';
|
|
6
6
|
import DroppableCell from '../../DroppableCell';
|
|
7
|
-
import {
|
|
7
|
+
import { useScorecardStateSelector } from '../../../../StateProvider';
|
|
8
8
|
|
|
9
|
+
function EmptyDataHeaderCell({
|
|
10
|
+
header
|
|
11
|
+
}) {
|
|
12
|
+
const colSpan = header.colSpan.toString();
|
|
13
|
+
return /* @__PURE__ */ jsx(DataTableColumnHeader, { colSpan });
|
|
14
|
+
}
|
|
9
15
|
function DataHeaderCellComponent({
|
|
10
16
|
column,
|
|
11
17
|
header
|
|
12
18
|
}) {
|
|
13
|
-
const
|
|
14
|
-
|
|
19
|
+
const dataInRows = useScorecardStateSelector([
|
|
20
|
+
"options",
|
|
21
|
+
"showDataInRows"
|
|
22
|
+
]);
|
|
15
23
|
const label = header.column.columnDef.meta.label ?? column.columnDef.meta.label;
|
|
16
24
|
const bold = header.column.columnDef.meta.bold ?? column.columnDef.meta.bold;
|
|
17
25
|
const colSpan = header.colSpan.toString();
|
|
@@ -20,7 +28,6 @@ function DataHeaderCellComponent({
|
|
|
20
28
|
return /* @__PURE__ */ jsx(
|
|
21
29
|
DataTableColumnHeader,
|
|
22
30
|
{
|
|
23
|
-
fixed: true,
|
|
24
31
|
sortIconTitle: i18n.t("Sort {{nextSortType}}", { nextSortType }),
|
|
25
32
|
onSortIconClick: header.column?.getCanSort() || column.getCanSort() ? (_, e) => {
|
|
26
33
|
const sort = column.getToggleSortingHandler();
|
|
@@ -44,11 +51,12 @@ function DataHeaderCellComponent({
|
|
|
44
51
|
)
|
|
45
52
|
}
|
|
46
53
|
)
|
|
47
|
-
}
|
|
54
|
+
},
|
|
55
|
+
`${label}`
|
|
48
56
|
);
|
|
49
57
|
}
|
|
50
58
|
const DataHeaderCell = DataHeaderCellComponent;
|
|
51
59
|
|
|
52
|
-
export { DataHeaderCell, DataHeaderCellComponent };
|
|
60
|
+
export { DataHeaderCell, DataHeaderCellComponent, EmptyDataHeaderCell };
|
|
53
61
|
//# sourceMappingURL=out.js.map
|
|
54
62
|
//# sourceMappingURL=DataHeaderCell.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../../src/components/Scorecard/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.tsx"],"names":[],"mappings":"
|
|
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,14 +1,16 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
2
|
import i18n from '@dhis2/d2-i18n';
|
|
3
|
-
import {
|
|
3
|
+
import { useScorecardStateSelector } from '../../../../StateProvider';
|
|
4
4
|
import { InputField } from '@dhis2/ui';
|
|
5
5
|
import { useState, useEffect } from 'react';
|
|
6
6
|
|
|
7
7
|
function FilterArea({ column }) {
|
|
8
8
|
const defaultValue = column.getFilterValue();
|
|
9
9
|
const [text, setText] = useState(defaultValue);
|
|
10
|
-
const
|
|
11
|
-
|
|
10
|
+
const dataInRows = useScorecardStateSelector([
|
|
11
|
+
"options",
|
|
12
|
+
"showDataInRows"
|
|
13
|
+
]);
|
|
12
14
|
const searchPlaceholder = dataInRows ? i18n.t("Search data items") : i18n.t("Search organisation units");
|
|
13
15
|
useEffect(() => {
|
|
14
16
|
const timeout = setTimeout(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../../src/components/Scorecard/components/ScorecardTable/components/TableHeader/components/FilterArea.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../../src/components/Scorecard/components/ScorecardTable/components/TableHeader/components/FilterArea.tsx"],"names":[],"mappings":"AA+BE;AA7BF,OAAO,UAAU;AACjB,SAAS,iCAAiC;AAC1C,SAAS,kBAAkB;AAC3B,SAAS,WAAW,gBAAgB;AAM7B,SAAS,WAAW,EAAE,OAAO,GAAoB;AACvD,QAAM,eAAe,OAAO,eAAe;AAC3C,QAAM,CAAC,MAAM,OAAO,IAAI,SAA6B,YAAY;AACjE,QAAM,aAAa,0BAAmC;AAAA,IACrD;AAAA,IACA;AAAA,EACD,CAAC;AACD,QAAM,oBAAoB,aACvB,KAAK,EAAE,mBAAmB,IAC1B,KAAK,EAAE,2BAA2B;AAErC,YAAU,MAAM;AACf,UAAM,UAAU,WAAW,MAAM;AAChC,aAAO,eAAe,IAAI;AAAA,IAC3B,GAAG,GAAG;AAEN,WAAO,MAAM,aAAa,OAAO;AAAA,EAClC,GAAG,CAAC,IAAI,CAAC;AAET,SACC;AAAA,IAAC;AAAA;AAAA,MACA,OAAO;AAAA,MACP,UAAU,CAAC,EAAE,MAAM,MAAM,QAAQ,KAAK;AAAA,MACtC,aAAa;AAAA;AAAA,EACd;AAEF","sourcesContent":["import type { ScorecardTableData } from \"../../../../../schemas/config\";\nimport type { Column } from \"@tanstack/react-table\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { useScorecardStateSelector } from \"../../../../StateProvider\";\nimport { InputField } from \"@dhis2/ui\";\nimport { useEffect, useState } from \"react\";\n\nexport interface FilterAreaProps {\n\tcolumn: Column<ScorecardTableData, any>;\n}\n\nexport function FilterArea({ column }: FilterAreaProps) {\n\tconst defaultValue = column.getFilterValue() as string | undefined;\n\tconst [text, setText] = useState<string | undefined>(defaultValue);\n\tconst dataInRows = useScorecardStateSelector<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\n\tconst searchPlaceholder = dataInRows\n\t\t? i18n.t(\"Search data items\")\n\t\t: i18n.t(\"Search organisation units\");\n\n\tuseEffect(() => {\n\t\tconst timeout = setTimeout(() => {\n\t\t\tcolumn.setFilterValue(text);\n\t\t}, 700);\n\n\t\treturn () => clearTimeout(timeout);\n\t}, [text]);\n\n\treturn (\n\t\t<InputField\n\t\t\tvalue={text}\n\t\t\tonChange={({ value }) => setText(value)}\n\t\t\tplaceholder={searchPlaceholder}\n\t\t/>\n\t);\n}\n"]}
|
|
@@ -3,13 +3,15 @@ import { ScorecardDraggableItems } from '../../../../../schemas/config';
|
|
|
3
3
|
import { DataTableCell } from '@dhis2/ui';
|
|
4
4
|
import DroppableCell from '../../DroppableCell';
|
|
5
5
|
import { DraggableCell } from '../../DraggableCell';
|
|
6
|
-
import {
|
|
6
|
+
import { useScorecardStateSelector } from '../../../../StateProvider';
|
|
7
7
|
import { memo } from 'react';
|
|
8
8
|
|
|
9
9
|
function LabelCellComponent(props) {
|
|
10
10
|
const data = props.getValue().toString();
|
|
11
|
-
const
|
|
12
|
-
|
|
11
|
+
const dataInRows = useScorecardStateSelector([
|
|
12
|
+
"options",
|
|
13
|
+
"showDataInRows"
|
|
14
|
+
]);
|
|
13
15
|
return /* @__PURE__ */ jsx(
|
|
14
16
|
DataTableCell,
|
|
15
17
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../../src/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../../src/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.tsx"],"names":[],"mappings":"AAoCI;AAnCJ;AAAA,EACC;AAAA,OAEM;AACP,SAAS,qBAAqB;AAC9B,OAAO,mBAAmB;AAC1B,SAAS,qBAAqB;AAC9B,SAAS,iCAAiC;AAC1C,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,SACC;AAAA,IAAC;AAAA;AAAA,MACA,OAAO;AAAA,QACN,OAAO;AAAA,QACP,UAAU;AAAA,MACX;AAAA,MACA,OAAK;AAAA,MACL,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 } from \"react\";\n\nexport function LabelCellComponent(\n\tprops: CellContext<ScorecardTableData, string | number>,\n) {\n\tconst data = props.getValue().toString();\n\tconst dataInRows = useScorecardStateSelector<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\n\n\treturn (\n\t\t<DataTableCell\n\t\t\tstyle={{\n\t\t\t\twidth: \"fit-content\",\n\t\t\t\tminWidth: 200,\n\t\t\t}}\n\t\t\tfixed\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,6 +1,6 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { DataTableColumnHeader } from '@dhis2/ui';
|
|
3
|
-
import {
|
|
3
|
+
import { useScorecardStateSelector } from '../../../../StateProvider';
|
|
4
4
|
import i18n from '@dhis2/d2-i18n';
|
|
5
5
|
import styles from '../TableHeader.module.css';
|
|
6
6
|
import { FilterArea } from './FilterArea';
|
|
@@ -11,9 +11,11 @@ function MetaHeaderCellComponent({
|
|
|
11
11
|
header
|
|
12
12
|
}) {
|
|
13
13
|
const randomId = useRef(uid());
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
|
|
14
|
+
const hasOnePeriod = useScorecardStateSelector(["hasOnePeriod"]);
|
|
15
|
+
const dataInRows = useScorecardStateSelector([
|
|
16
|
+
"options",
|
|
17
|
+
"showDataInRows"
|
|
18
|
+
]);
|
|
17
19
|
const rowSpan = dataInRows ? hasOnePeriod ? "2" : "2" : hasOnePeriod ? "2" : "3";
|
|
18
20
|
const filterColumn = header.subHeaders.find(
|
|
19
21
|
(header2) => header2.column.getCanFilter()
|
|
@@ -24,17 +26,14 @@ function MetaHeaderCellComponent({
|
|
|
24
26
|
DataTableColumnHeader,
|
|
25
27
|
{
|
|
26
28
|
align: "right",
|
|
27
|
-
onFilterIconClick: () => {
|
|
28
|
-
},
|
|
29
29
|
sortIconTitle: i18n.t("Sort {{nextSortType}}", { nextSortType }),
|
|
30
|
-
onSortIconClick: (
|
|
30
|
+
onSortIconClick: (_, e) => {
|
|
31
31
|
const sort = filterColumn.getToggleSortingHandler();
|
|
32
32
|
if (sort) {
|
|
33
33
|
sort(e);
|
|
34
34
|
}
|
|
35
35
|
},
|
|
36
36
|
sortDirection,
|
|
37
|
-
fixed: true,
|
|
38
37
|
colSpan: header.colSpan.toString(),
|
|
39
38
|
rowSpan,
|
|
40
39
|
className: styles.metaHeader,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../../src/components/Scorecard/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.tsx"],"names":["header"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../../src/components/Scorecard/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.tsx"],"names":["header"],"mappings":"AA4DI;AA1DJ,SAAS,6BAA0D;AACnE,SAAS,iCAAiC;AAC1C,OAAO,UAAU;AACjB,OAAO,YAAY;AACnB,SAAS,kBAAkB;AAC3B,SAAS,WAAW;AACpB,SAAS,MAAM,cAAc;AAE7B,SAAS,wBAAwB;AAAA,EAChC;AACD,GAA2C;AAC1C,QAAM,WAAW,OAAe,IAAI,CAAC;AAErC,QAAM,eAAe,0BAA0B,CAAC,cAAc,CAAC;AAC/D,QAAM,aAAa,0BAAmC;AAAA,IACrD;AAAA,IACA;AAAA,EACD,CAAC;AAED,QAAM,UAAU,aACb,eACC,MACA,MACD,eACC,MACA;AAEJ,QAAM,eAAe,OAAO,WAAW;AAAA,IAAK,CAACA,YAC5CA,QAAO,OAAO,aAAa;AAAA,EAC5B,GAAG;AAEH,QAAM,gBAAgB,CAAC,cAAc,YAAY,IAC9C,YACC,aAAc,YAAY;AAC9B,QAAM,eACL,cAAc,oBAAoB,MAAM,QACrC,KAAK,EAAE,oBAAoB,IAC3B,cAAc,oBAAoB,MAAM,SACvC,KAAK,EAAE,qBAAqB,IAC5B,KAAK,EAAE,SAAS;AAErB,SACC;AAAA,IAAC;AAAA;AAAA,MAEA,OAAM;AAAA,MACN,eAAe,KAAK,EAAE,yBAAyB,EAAE,aAAa,CAAC;AAAA,MAC/D,iBAAiB,CAAC,GAAG,MAAM;AAC1B,cAAM,OAAO,aAAc,wBAAwB;AACnD,YAAI,MAAM;AACT,eAAK,CAAC;AAAA,QACP;AAAA,MACD;AAAA,MACA;AAAA,MACA,SAAS,OAAO,QAAQ,SAAS;AAAA,MACjC;AAAA,MACA,WAAW,OAAO;AAAA,MAEjB,WAAC,CAAC,gBACF;AAAA,QAAC;AAAA;AAAA,UAEA,QAAQ;AAAA;AAAA,QADH,GAAG,OAAO,EAAE;AAAA,MAElB;AAAA;AAAA,IAlBI,GAAG,OAAO,EAAE,IAAI,SAAS,OAAO;AAAA,EAoBtC;AAEF;AAEO,MAAM,iBAAiB,KAAK,uBAAuB","sourcesContent":["import type { HeaderContext } from \"@tanstack/react-table\";\nimport type { ScorecardTableData } from \"../../../../../schemas/config\";\nimport { DataTableColumnHeader, type DataTableSortDirection } from \"@dhis2/ui\";\nimport { useScorecardStateSelector } from \"../../../../StateProvider\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport styles from \"../TableHeader.module.css\";\nimport { FilterArea } from \"./FilterArea\";\nimport { uid } from \"@hisptz/dhis2-utils\";\nimport { memo, useRef } from \"react\";\n\nfunction MetaHeaderCellComponent({\n\theader,\n}: HeaderContext<ScorecardTableData, any>) {\n\tconst randomId = useRef<string>(uid());\n\n\tconst hasOnePeriod = useScorecardStateSelector([\"hasOnePeriod\"]);\n\tconst dataInRows = useScorecardStateSelector<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\n\n\tconst rowSpan = dataInRows\n\t\t? hasOnePeriod\n\t\t\t? \"2\"\n\t\t\t: \"2\"\n\t\t: hasOnePeriod\n\t\t\t? \"2\"\n\t\t\t: \"3\";\n\n\tconst filterColumn = header.subHeaders.find((header) =>\n\t\theader.column.getCanFilter(),\n\t)?.column;\n\n\tconst sortDirection = !filterColumn?.getIsSorted()\n\t\t? \"default\"\n\t\t: (filterColumn!.getIsSorted() as DataTableSortDirection);\n\tconst nextSortType =\n\t\tfilterColumn?.getNextSortingOrder() === \"asc\"\n\t\t\t? i18n.t(\"in ascending order\")\n\t\t\t: filterColumn?.getNextSortingOrder() === \"desc\"\n\t\t\t\t? i18n.t(\"in descending order\")\n\t\t\t\t: i18n.t(\"disable\");\n\n\treturn (\n\t\t<DataTableColumnHeader\n\t\t\tkey={`${header.id}-${randomId.current}`}\n\t\t\talign=\"right\"\n\t\t\tsortIconTitle={i18n.t(\"Sort {{nextSortType}}\", { nextSortType })}\n\t\t\tonSortIconClick={(_, e) => {\n\t\t\t\tconst sort = filterColumn!.getToggleSortingHandler();\n\t\t\t\tif (sort) {\n\t\t\t\t\tsort(e);\n\t\t\t\t}\n\t\t\t}}\n\t\t\tsortDirection={sortDirection}\n\t\t\tcolSpan={header.colSpan.toString()}\n\t\t\trowSpan={rowSpan}\n\t\t\tclassName={styles.metaHeader}\n\t\t>\n\t\t\t{!!filterColumn && (\n\t\t\t\t<FilterArea\n\t\t\t\t\tkey={`${header.id}-filter-area`}\n\t\t\t\t\tcolumn={filterColumn}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</DataTableColumnHeader>\n\t);\n}\n\nexport const MetaHeaderCell = memo(MetaHeaderCellComponent);\n"]}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { createContext, useContext, useState } from 'react';
|
|
2
|
+
import { createContext, useContext, useMemo, useState } from 'react';
|
|
3
3
|
import i18n from '@dhis2/d2-i18n';
|
|
4
4
|
import { useScorecardConfig } from './ConfigProvider';
|
|
5
5
|
import { getInitialStateFromConfig } from '../utils/state';
|
|
6
|
+
import { get } from 'lodash';
|
|
6
7
|
|
|
7
8
|
const ScorecardStateContext = createContext(null);
|
|
8
9
|
const ScorecardSetStateContext = createContext(null);
|
|
@@ -17,6 +18,12 @@ function useScorecardState() {
|
|
|
17
18
|
}
|
|
18
19
|
return state;
|
|
19
20
|
}
|
|
21
|
+
function useScorecardStateSelector(path) {
|
|
22
|
+
const state = useScorecardState();
|
|
23
|
+
return useMemo(() => {
|
|
24
|
+
return get(state, path);
|
|
25
|
+
}, [get(state, path)]);
|
|
26
|
+
}
|
|
20
27
|
function useScorecardSetState() {
|
|
21
28
|
const setState = useContext(ScorecardSetStateContext);
|
|
22
29
|
if (!setState) {
|
|
@@ -45,6 +52,6 @@ const ScorecardStateProvider = ({ children, initialState }) => {
|
|
|
45
52
|
);
|
|
46
53
|
};
|
|
47
54
|
|
|
48
|
-
export { ScorecardStateProvider, useScorecardSetState, useScorecardState };
|
|
55
|
+
export { ScorecardStateProvider, useScorecardSetState, useScorecardState, useScorecardStateSelector };
|
|
49
56
|
//# sourceMappingURL=out.js.map
|
|
50
57
|
//# sourceMappingURL=StateProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/Scorecard/components/StateProvider.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/Scorecard/components/StateProvider.tsx"],"names":[],"mappings":"AAiEG;AAjEH;AAAA,EACC;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,OACM;AAEP,OAAO,UAAU;AACjB,SAAS,0BAA0B;AACnC,SAAS,iCAAiC;AAC1C,SAAS,WAAW;AAGpB,MAAM,wBAAwB,cAAqC,IAAI;AACvE,MAAM,2BAA2B,cAAwC,IAAI;AAEtE,SAAS,oBAAoB;AACnC,QAAM,QAAQ,WAAW,qBAAqB;AAC9C,MAAI,CAAC,OAAO;AACX,UAAM;AAAA,MACL,KAAK;AAAA,QACJ;AAAA,MACD;AAAA,IACD;AAAA,EACD;AACA,SAAO;AACR;AAEO,SAAS,0BAAiC,MAAyB;AACzE,QAAM,QAAQ,kBAAkB;AAChC,SAAO,QAAQ,MAAM;AACpB,WAAO,IAAI,OAAO,IAAI;AAAA,EACvB,GAAG,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC;AACtB;AAEO,SAAS,uBAAuB;AACtC,QAAM,WAAW,WAAW,wBAAwB;AACpD,MAAI,CAAC,UAAU;AACd,UAAM;AAAA,MACL,KAAK;AAAA,QACJ;AAAA,MACD;AAAA,IACD;AAAA,EACD;AACA,SAAO;AACR;AAEO,MAAM,yBAGR,CAAC,EAAE,UAAU,aAAa,MAAM;AACpC,QAAM,SAAS,mBAAmB;AAClC,QAAM,CAAC,OAAO,QAAQ,IAAI;AAAA,IACzB,gBAAgB,0BAA0B,MAAM;AAAA,EACjD;AAEA,SACC;AAAA,IAAC,sBAAsB;AAAA,IAAtB;AAAA,MACA,OAAO;AAAA,QACN,GAAG;AAAA,QACH,cAAc,MAAM,gBAAgB,SAAS,WAAW;AAAA,MACzD;AAAA,MAEA,8BAAC,yBAAyB,UAAzB,EAAkC,OAAO,UACxC,UACF;AAAA;AAAA,EACD;AAEF","sourcesContent":["import React, {\n\tcreateContext,\n\ttype Dispatch,\n\ttype SetStateAction,\n\tuseContext,\n\tuseMemo,\n\tuseState,\n} from \"react\";\nimport type { ScorecardState } from \"../schemas/config\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { useScorecardConfig } from \"./ConfigProvider\";\nimport { getInitialStateFromConfig } from \"../utils/state\";\nimport { get } from \"lodash\";\n\nexport type ScorecardSetState = Dispatch<SetStateAction<ScorecardState>>;\nconst ScorecardStateContext = createContext<ScorecardState | null>(null);\nconst ScorecardSetStateContext = createContext<ScorecardSetState | null>(null);\n\nexport function useScorecardState() {\n\tconst state = useContext(ScorecardStateContext);\n\tif (!state) {\n\t\tthrow Error(\n\t\t\ti18n.t(\n\t\t\t\t\"useScorecardState should be used inside a Scorecard Context\",\n\t\t\t),\n\t\t);\n\t}\n\treturn state;\n}\n\nexport function useScorecardStateSelector<Value>(path: string | string[]) {\n\tconst state = useScorecardState();\n\treturn useMemo(() => {\n\t\treturn get(state, path) as Value;\n\t}, [get(state, path)]);\n}\n\nexport function useScorecardSetState() {\n\tconst setState = useContext(ScorecardSetStateContext);\n\tif (!setState) {\n\t\tthrow Error(\n\t\t\ti18n.t(\n\t\t\t\t\"useScorecardSetState should be used inside a Scorecard Context\",\n\t\t\t),\n\t\t);\n\t}\n\treturn setState;\n}\n\nexport const ScorecardStateProvider: React.FC<{\n\tchildren: React.ReactNode;\n\tinitialState?: ScorecardState;\n}> = ({ children, initialState }) => {\n\tconst config = useScorecardConfig();\n\tconst [state, setState] = useState<ScorecardState>(\n\t\tinitialState ?? getInitialStateFromConfig(config),\n\t);\n\n\treturn (\n\t\t<ScorecardStateContext.Provider\n\t\t\tvalue={{\n\t\t\t\t...state,\n\t\t\t\thasOnePeriod: state.periodSelection.periods?.length === 1,\n\t\t\t}}\n\t\t>\n\t\t\t<ScorecardSetStateContext.Provider value={setState}>\n\t\t\t\t{children}\n\t\t\t</ScorecardSetStateContext.Provider>\n\t\t</ScorecardStateContext.Provider>\n\t);\n};\n"]}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { useScorecardConfig } from '../components
|
|
2
|
-
import { useScorecardMeta } from '../components/MetaProvider';
|
|
1
|
+
import { useScorecardConfig, useScorecardMeta } from '../components';
|
|
3
2
|
import { useMemo } from 'react';
|
|
4
3
|
import { getLegend } from '../utils/legends';
|
|
5
4
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/Scorecard/hooks/cellData.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/Scorecard/hooks/cellData.ts"],"names":[],"mappings":"AAIA,SAAS,0BAA0B;AACnC,SAAS,wBAAwB;AACjC,SAAS,eAAe;AACxB,SAAS,iBAAiB;AAGnB,SAAS,YAAY;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AACD,GAIG;AACF,QAAM,SAAS,mBAAmB;AAClC,QAAM,OAAO,iBAAiB;AAE9B,QAAM,eAAe,YAAY,KAAK;AAEtC,QAAM,mBAAmB,QAAQ,MAAM;AACtC,QAAI,CAAC;AAAY;AACjB,WAAO,UAAU;AAAA,MAChB;AAAA,MACA,OAAO;AAAA,MACP,eAAe,KAAM;AAAA,MACrB;AAAA,MACA;AAAA,MACA,UAAU;AAAA,IACX,CAAC;AAAA,EACF,GAAG,CAAC,YAAY,cAAc,MAAM,SAAS,MAAM,CAAC;AAEpD,SAAO;AAAA,IACN;AAAA,IACA;AAAA,EACD;AACD","sourcesContent":["import type {\n\tScorecardCellData,\n\tScorecardTableCellConfig,\n} from \"../schemas/config\";\nimport { useScorecardConfig } from \"../components\";\nimport { useScorecardMeta } from \"../components\";\nimport { useMemo } from \"react\";\nimport { getLegend } from \"../utils/legends\";\nimport type { ItemMeta } from \"./metadata\";\n\nexport function useCellData({\n\tdataSource,\n\torgUnit,\n\tperiod,\n}: {\n\tdataSource?: ScorecardCellData;\n\torgUnit: ItemMeta & { hierarchy: string };\n\tperiod: string;\n}) {\n\tconst config = useScorecardConfig();\n\tconst meta = useScorecardMeta();\n\n\tconst currentValue = dataSource?.data.current;\n\n\tconst legendDefinition = useMemo(() => {\n\t\tif (!dataSource) return;\n\t\treturn getLegend({\n\t\t\tdataSource,\n\t\t\tvalue: currentValue,\n\t\t\torgUnitLevels: meta!.orgUnitLevels,\n\t\t\tconfig: config!,\n\t\t\torgUnit,\n\t\t\tperiodId: period,\n\t\t});\n\t}, [dataSource, currentValue, meta, orgUnit, period]);\n\n\treturn {\n\t\tcurrentValue,\n\t\tlegendDefinition,\n\t};\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createColumnHelper } from '@tanstack/react-table';
|
|
2
|
-
import {
|
|
2
|
+
import { useScorecardStateSelector, useScorecardConfig, useScorecardMeta } from '../components';
|
|
3
3
|
import { useMemo } from 'react';
|
|
4
4
|
import { getOrgUnitColumnHeaders, getDataColumnHeaders, getAverageColumn } from '../utils/columns';
|
|
5
5
|
import { LabelCell } from '../components/ScorecardTable/components/TableHeader/components/LabelCell';
|
|
@@ -10,99 +10,118 @@ import { useCalendar } from './metadata';
|
|
|
10
10
|
import { MetaFooterCell } from '../components/ScorecardTable/components/MetaFooterCell';
|
|
11
11
|
import { getOrgUnitLevel } from '../utils/orgUnits';
|
|
12
12
|
import { useLowestOrgUnitLevel } from './orgUnit';
|
|
13
|
+
import { useScorecardData } from '../components/DataProvider';
|
|
13
14
|
|
|
14
15
|
const columnHelper = createColumnHelper();
|
|
15
16
|
function useMetaColumns() {
|
|
16
|
-
const
|
|
17
|
+
const showDataInRows = useScorecardStateSelector([
|
|
18
|
+
"options",
|
|
19
|
+
"showDataInRows"
|
|
20
|
+
]);
|
|
21
|
+
const disableExpanding = useScorecardStateSelector([
|
|
22
|
+
"options",
|
|
23
|
+
"disableExpanding"
|
|
24
|
+
]);
|
|
17
25
|
const lowestLevel = useLowestOrgUnitLevel();
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
(
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
id: "expand",
|
|
40
|
-
header: () => null,
|
|
41
|
-
meta: {
|
|
42
|
-
isMeta: true,
|
|
43
|
-
fixed: true,
|
|
44
|
-
label: ""
|
|
45
|
-
},
|
|
46
|
-
enableColumnFilter: false,
|
|
47
|
-
cell: ExpandCell,
|
|
48
|
-
footer: () => null
|
|
49
|
-
}
|
|
50
|
-
),
|
|
51
|
-
columnHelper.accessor(
|
|
52
|
-
(_, index) => {
|
|
53
|
-
return index + 1;
|
|
54
|
-
},
|
|
55
|
-
{
|
|
56
|
-
id: "count",
|
|
57
|
-
header: () => null,
|
|
58
|
-
meta: {
|
|
59
|
-
isMeta: true,
|
|
60
|
-
fixed: true,
|
|
61
|
-
label: ""
|
|
62
|
-
},
|
|
63
|
-
enableColumnFilter: false,
|
|
64
|
-
cell: NumberCell,
|
|
65
|
-
footer: () => null
|
|
66
|
-
}
|
|
67
|
-
)
|
|
68
|
-
];
|
|
69
|
-
if (state?.options?.showDataInRows) {
|
|
70
|
-
metaColumns.push(
|
|
71
|
-
columnHelper.accessor("label", {
|
|
72
|
-
header: () => null,
|
|
73
|
-
id: "dataItems",
|
|
74
|
-
meta: {
|
|
75
|
-
filterable: true
|
|
26
|
+
return useMemo(() => {
|
|
27
|
+
const metaColumns = [
|
|
28
|
+
columnHelper.accessor(
|
|
29
|
+
(rowData) => {
|
|
30
|
+
if (disableExpanding) {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
if (showDataInRows) {
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
if (!lowestLevel) {
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
const orgUnit = rowData.orgUnit;
|
|
40
|
+
if (!orgUnit) {
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
const ouLevel = getOrgUnitLevel(orgUnit);
|
|
44
|
+
return ouLevel !== lowestLevel.level;
|
|
76
45
|
},
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
46
|
+
{
|
|
47
|
+
id: "expand",
|
|
48
|
+
header: () => null,
|
|
49
|
+
meta: {
|
|
50
|
+
isMeta: true,
|
|
51
|
+
fixed: true,
|
|
52
|
+
label: ""
|
|
53
|
+
},
|
|
54
|
+
enableColumnFilter: false,
|
|
55
|
+
cell: ExpandCell,
|
|
56
|
+
footer: () => null
|
|
57
|
+
}
|
|
58
|
+
),
|
|
59
|
+
columnHelper.accessor(
|
|
60
|
+
(_, index) => {
|
|
61
|
+
return index + 1;
|
|
91
62
|
},
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
63
|
+
{
|
|
64
|
+
id: "count",
|
|
65
|
+
header: () => null,
|
|
66
|
+
meta: {
|
|
67
|
+
isMeta: true,
|
|
68
|
+
fixed: true,
|
|
69
|
+
label: ""
|
|
70
|
+
},
|
|
71
|
+
enableColumnFilter: false,
|
|
72
|
+
cell: NumberCell,
|
|
73
|
+
footer: () => null
|
|
74
|
+
}
|
|
75
|
+
)
|
|
76
|
+
];
|
|
77
|
+
if (showDataInRows) {
|
|
78
|
+
metaColumns.push(
|
|
79
|
+
columnHelper.accessor("label", {
|
|
80
|
+
header: () => null,
|
|
81
|
+
id: "dataItems",
|
|
82
|
+
meta: {
|
|
83
|
+
filterable: true
|
|
84
|
+
},
|
|
85
|
+
enableColumnFilter: true,
|
|
86
|
+
cell: LabelCell,
|
|
87
|
+
footer: MetaFooterCell
|
|
88
|
+
})
|
|
89
|
+
);
|
|
90
|
+
} else {
|
|
91
|
+
metaColumns.push(
|
|
92
|
+
columnHelper.accessor("label", {
|
|
93
|
+
header: () => null,
|
|
94
|
+
id: "orgUnits",
|
|
95
|
+
enableColumnFilter: true,
|
|
96
|
+
meta: {
|
|
97
|
+
isMeta: true,
|
|
98
|
+
fixed: true
|
|
99
|
+
},
|
|
100
|
+
cell: LabelCell,
|
|
101
|
+
footer: MetaFooterCell
|
|
102
|
+
})
|
|
103
|
+
);
|
|
104
|
+
}
|
|
105
|
+
return metaColumns;
|
|
106
|
+
}, [showDataInRows, disableExpanding]);
|
|
98
107
|
}
|
|
99
108
|
function useTableColumns() {
|
|
100
109
|
const config = useScorecardConfig();
|
|
110
|
+
const { data: dataEngine } = useScorecardData();
|
|
101
111
|
const meta = useScorecardMeta();
|
|
102
|
-
const state = useScorecardState();
|
|
103
112
|
const metaColumns = useMetaColumns();
|
|
104
113
|
const calendar = useCalendar();
|
|
105
|
-
|
|
114
|
+
const showDataInRows = useScorecardStateSelector([
|
|
115
|
+
"options",
|
|
116
|
+
"showDataInRows"
|
|
117
|
+
]);
|
|
118
|
+
const periodSelection = useScorecardStateSelector(
|
|
119
|
+
"periodSelection"
|
|
120
|
+
);
|
|
121
|
+
const orgUnitSelection = useScorecardStateSelector(
|
|
122
|
+
"orgUnitSelection"
|
|
123
|
+
);
|
|
124
|
+
if (!config || !meta) {
|
|
106
125
|
return [];
|
|
107
126
|
}
|
|
108
127
|
return useMemo(() => {
|
|
@@ -114,11 +133,12 @@ function useTableColumns() {
|
|
|
114
133
|
footer: () => null
|
|
115
134
|
})
|
|
116
135
|
];
|
|
117
|
-
if (
|
|
136
|
+
if (showDataInRows) {
|
|
118
137
|
columns.push(
|
|
119
138
|
...getOrgUnitColumnHeaders({
|
|
120
139
|
meta,
|
|
121
|
-
calendar
|
|
140
|
+
calendar,
|
|
141
|
+
dataEngine
|
|
122
142
|
})
|
|
123
143
|
);
|
|
124
144
|
} else {
|
|
@@ -126,7 +146,8 @@ function useTableColumns() {
|
|
|
126
146
|
...getDataColumnHeaders({
|
|
127
147
|
meta,
|
|
128
148
|
config,
|
|
129
|
-
calendar
|
|
149
|
+
calendar,
|
|
150
|
+
dataEngine
|
|
130
151
|
})
|
|
131
152
|
);
|
|
132
153
|
}
|
|
@@ -137,11 +158,7 @@ function useTableColumns() {
|
|
|
137
158
|
})
|
|
138
159
|
);
|
|
139
160
|
return columns;
|
|
140
|
-
}, [
|
|
141
|
-
state.options.showDataInRows,
|
|
142
|
-
state.periodSelection,
|
|
143
|
-
state.orgUnitSelection
|
|
144
|
-
]);
|
|
161
|
+
}, [showDataInRows, periodSelection, orgUnitSelection]);
|
|
145
162
|
}
|
|
146
163
|
|
|
147
164
|
export { useMetaColumns, useTableColumns };
|