@hisptz/dhis2-analytics 2.0.43 → 2.0.45
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/esm/index.js +0 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/index.js +0 -7
- package/dist/index.js.map +1 -1
- package/dist/types/components/Map/interfaces/index.d.ts +2 -2
- package/dist/types/components/Map/interfaces/index.d.ts.map +1 -1
- package/dist/types/index.d.ts +0 -1
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +10 -2
- package/dist/components/Scorecard/Scorecard.js +0 -16
- package/dist/components/Scorecard/Scorecard.js.map +0 -1
- package/dist/components/Scorecard/Scorecard.stories.js +0 -483
- package/dist/components/Scorecard/Scorecard.stories.js.map +0 -1
- package/dist/components/Scorecard/ScorecardContext.stories.js +0 -422
- package/dist/components/Scorecard/ScorecardContext.stories.js.map +0 -1
- package/dist/components/Scorecard/components/ConfigProvider.js +0 -30
- package/dist/components/Scorecard/components/ConfigProvider.js.map +0 -1
- package/dist/components/Scorecard/components/DataProvider.js +0 -45
- package/dist/components/Scorecard/components/DataProvider.js.map +0 -1
- package/dist/components/Scorecard/components/LoadingIndicator.js +0 -43
- package/dist/components/Scorecard/components/LoadingIndicator.js.map +0 -1
- package/dist/components/Scorecard/components/MetaProvider.js +0 -53
- package/dist/components/Scorecard/components/MetaProvider.js.map +0 -1
- package/dist/components/Scorecard/components/ScorecardContext.js +0 -69
- package/dist/components/Scorecard/components/ScorecardContext.js.map +0 -1
- package/dist/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/FurtherAnalysisDictionary.js +0 -29
- package/dist/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/FurtherAnalysisDictionary.js.map +0 -1
- package/dist/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/ConfigProvider.js +0 -30
- package/dist/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/ConfigProvider.js.map +0 -1
- package/dist/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/DetailsProvider.js +0 -62
- package/dist/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/DetailsProvider.js.map +0 -1
- package/dist/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/index.js +0 -14
- package/dist/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/index.js.map +0 -1
- package/dist/components/Scorecard/components/ScorecardTable/FurtherAnalysisVisualization.js +0 -77
- package/dist/components/Scorecard/components/ScorecardTable/FurtherAnalysisVisualization.js.map +0 -1
- package/dist/components/Scorecard/components/ScorecardTable/ScorecardTable.js +0 -80
- package/dist/components/Scorecard/components/ScorecardTable/ScorecardTable.js.map +0 -1
- package/dist/components/Scorecard/components/ScorecardTable/ScorecardTable.module.css +0 -33
- package/dist/components/Scorecard/components/ScorecardTable/ScorecardTable.module.css.map +0 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/AverageCell.js +0 -157
- package/dist/components/Scorecard/components/ScorecardTable/components/AverageCell.js.map +0 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/AverageFooterCell.js +0 -58
- package/dist/components/Scorecard/components/ScorecardTable/components/AverageFooterCell.js.map +0 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/CellLoader.js +0 -12
- package/dist/components/Scorecard/components/ScorecardTable/components/CellLoader.js.map +0 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/DataContainer.js +0 -59
- package/dist/components/Scorecard/components/ScorecardTable/components/DataContainer.js.map +0 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/DataFooterCell.js +0 -152
- package/dist/components/Scorecard/components/ScorecardTable/components/DataFooterCell.js.map +0 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/DataRow.js +0 -60
- package/dist/components/Scorecard/components/ScorecardTable/components/DataRow.js.map +0 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/DataValue.js +0 -69
- package/dist/components/Scorecard/components/ScorecardTable/components/DataValue.js.map +0 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/DraggableCell.js +0 -46
- package/dist/components/Scorecard/components/ScorecardTable/components/DraggableCell.js.map +0 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/DroppableCell.js +0 -50
- package/dist/components/Scorecard/components/ScorecardTable/components/DroppableCell.js.map +0 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/EmptyFooterCell.js +0 -12
- package/dist/components/Scorecard/components/ScorecardTable/components/EmptyFooterCell.js.map +0 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/ExpandedScorecardTable.js +0 -84
- package/dist/components/Scorecard/components/ScorecardTable/components/ExpandedScorecardTable.js.map +0 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisMenu.js +0 -152
- package/dist/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisMenu.js.map +0 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisModal.js +0 -58
- package/dist/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisModal.js.map +0 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/LinkedCell.js +0 -107
- package/dist/components/Scorecard/components/ScorecardTable/components/LinkedCell.js.map +0 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/LinkedDataCell.js +0 -97
- package/dist/components/Scorecard/components/ScorecardTable/components/LinkedDataCell.js.map +0 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.js +0 -37
- package/dist/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.js.map +0 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/PaginatedToolbar.js +0 -58
- package/dist/components/Scorecard/components/ScorecardTable/components/PaginatedToolbar.js.map +0 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/SingleDataCell.js +0 -101
- package/dist/components/Scorecard/components/ScorecardTable/components/SingleDataCell.js.map +0 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/TableBody.js +0 -28
- package/dist/components/Scorecard/components/ScorecardTable/components/TableBody.js.map +0 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/TableFoot.js +0 -31
- package/dist/components/Scorecard/components/ScorecardTable/components/TableFoot.js.map +0 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.js +0 -24
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.js.map +0 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.module.css +0 -32
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.module.css.map +0 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.js +0 -38
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.js.map +0 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js +0 -72
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js.map +0 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/ExpandCell.js +0 -26
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/ExpandCell.js.map +0 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/FilterArea.js +0 -42
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/FilterArea.js.map +0 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.js +0 -71
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.js.map +0 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js +0 -64
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js.map +0 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.js +0 -31
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.js.map +0 -1
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/index.js +0 -14
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/index.js.map +0 -1
- package/dist/components/Scorecard/components/ScorecardTable/index.js +0 -14
- package/dist/components/Scorecard/components/ScorecardTable/index.js.map +0 -1
- package/dist/components/Scorecard/components/StateProvider.js +0 -66
- package/dist/components/Scorecard/components/StateProvider.js.map +0 -1
- package/dist/components/Scorecard/components/TableStateProvider.js +0 -45
- package/dist/components/Scorecard/components/TableStateProvider.js.map +0 -1
- package/dist/components/Scorecard/components/index.js +0 -35
- package/dist/components/Scorecard/components/index.js.map +0 -1
- package/dist/components/Scorecard/hooks/cellData.js +0 -35
- package/dist/components/Scorecard/hooks/cellData.js.map +0 -1
- package/dist/components/Scorecard/hooks/columns.js +0 -173
- package/dist/components/Scorecard/hooks/columns.js.map +0 -1
- package/dist/components/Scorecard/hooks/data.js +0 -212
- package/dist/components/Scorecard/hooks/data.js.map +0 -1
- package/dist/components/Scorecard/hooks/dataEngine.js +0 -8
- package/dist/components/Scorecard/hooks/dataEngine.js.map +0 -1
- package/dist/components/Scorecard/hooks/dataItem.js +0 -20
- package/dist/components/Scorecard/hooks/dataItem.js.map +0 -1
- package/dist/components/Scorecard/hooks/index.js +0 -14
- package/dist/components/Scorecard/hooks/index.js.map +0 -1
- package/dist/components/Scorecard/hooks/metadata.js +0 -128
- package/dist/components/Scorecard/hooks/metadata.js.map +0 -1
- package/dist/components/Scorecard/hooks/orgUnit.js +0 -17
- package/dist/components/Scorecard/hooks/orgUnit.js.map +0 -1
- package/dist/components/Scorecard/hooks/period.js +0 -15
- package/dist/components/Scorecard/hooks/period.js.map +0 -1
- package/dist/components/Scorecard/hooks/table.js +0 -181
- package/dist/components/Scorecard/hooks/table.js.map +0 -1
- package/dist/components/Scorecard/hooks/value.js +0 -190
- package/dist/components/Scorecard/hooks/value.js.map +0 -1
- package/dist/components/Scorecard/index.js +0 -35
- package/dist/components/Scorecard/index.js.map +0 -1
- package/dist/components/Scorecard/schemas/config.js +0 -216
- package/dist/components/Scorecard/schemas/config.js.map +0 -1
- package/dist/components/Scorecard/utils/analytics.js +0 -39
- package/dist/components/Scorecard/utils/analytics.js.map +0 -1
- package/dist/components/Scorecard/utils/columns.js +0 -309
- package/dist/components/Scorecard/utils/columns.js.map +0 -1
- package/dist/components/Scorecard/utils/data.js +0 -57
- package/dist/components/Scorecard/utils/data.js.map +0 -1
- package/dist/components/Scorecard/utils/dataEngine.js +0 -35
- package/dist/components/Scorecard/utils/dataEngine.js.map +0 -1
- package/dist/components/Scorecard/utils/dataSources.js +0 -16
- package/dist/components/Scorecard/utils/dataSources.js.map +0 -1
- package/dist/components/Scorecard/utils/engine.js +0 -20
- package/dist/components/Scorecard/utils/engine.js.map +0 -1
- package/dist/components/Scorecard/utils/legends.js +0 -118
- package/dist/components/Scorecard/utils/legends.js.map +0 -1
- package/dist/components/Scorecard/utils/orgUnits.js +0 -40
- package/dist/components/Scorecard/utils/orgUnits.js.map +0 -1
- package/dist/components/Scorecard/utils/state.js +0 -15
- package/dist/components/Scorecard/utils/state.js.map +0 -1
- package/dist/esm/components/Scorecard/Scorecard.js +0 -14
- package/dist/esm/components/Scorecard/Scorecard.js.map +0 -1
- package/dist/esm/components/Scorecard/Scorecard.stories.js +0 -474
- package/dist/esm/components/Scorecard/Scorecard.stories.js.map +0 -1
- package/dist/esm/components/Scorecard/ScorecardContext.stories.js +0 -417
- package/dist/esm/components/Scorecard/ScorecardContext.stories.js.map +0 -1
- package/dist/esm/components/Scorecard/components/ConfigProvider.js +0 -23
- package/dist/esm/components/Scorecard/components/ConfigProvider.js.map +0 -1
- package/dist/esm/components/Scorecard/components/DataProvider.js +0 -40
- package/dist/esm/components/Scorecard/components/DataProvider.js.map +0 -1
- package/dist/esm/components/Scorecard/components/LoadingIndicator.js +0 -37
- package/dist/esm/components/Scorecard/components/LoadingIndicator.js.map +0 -1
- package/dist/esm/components/Scorecard/components/MetaProvider.js +0 -46
- package/dist/esm/components/Scorecard/components/MetaProvider.js.map +0 -1
- package/dist/esm/components/Scorecard/components/ScorecardContext.js +0 -63
- package/dist/esm/components/Scorecard/components/ScorecardContext.js.map +0 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/FurtherAnalysisDictionary.js +0 -23
- package/dist/esm/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/FurtherAnalysisDictionary.js.map +0 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/ConfigProvider.js +0 -27
- package/dist/esm/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/ConfigProvider.js.map +0 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/DetailsProvider.js +0 -55
- package/dist/esm/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/DetailsProvider.js.map +0 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/index.js +0 -3
- package/dist/esm/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/index.js.map +0 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/FurtherAnalysisVisualization.js +0 -75
- package/dist/esm/components/Scorecard/components/ScorecardTable/FurtherAnalysisVisualization.js.map +0 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/ScorecardTable.js +0 -78
- package/dist/esm/components/Scorecard/components/ScorecardTable/ScorecardTable.js.map +0 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/ScorecardTable.module.css +0 -33
- package/dist/esm/components/Scorecard/components/ScorecardTable/ScorecardTable.module.css.map +0 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/AverageCell.js +0 -153
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/AverageCell.js.map +0 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/AverageFooterCell.js +0 -56
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/AverageFooterCell.js.map +0 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/CellLoader.js +0 -10
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/CellLoader.js.map +0 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataContainer.js +0 -57
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataContainer.js.map +0 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataFooterCell.js +0 -150
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataFooterCell.js.map +0 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataRow.js +0 -54
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataRow.js.map +0 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataValue.js +0 -67
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataValue.js.map +0 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/DraggableCell.js +0 -44
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/DraggableCell.js.map +0 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/DroppableCell.js +0 -48
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/DroppableCell.js.map +0 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/EmptyFooterCell.js +0 -10
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/EmptyFooterCell.js.map +0 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/ExpandedScorecardTable.js +0 -82
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/ExpandedScorecardTable.js.map +0 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisMenu.js +0 -146
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisMenu.js.map +0 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisModal.js +0 -52
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisModal.js.map +0 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/LinkedCell.js +0 -101
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/LinkedCell.js.map +0 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/LinkedDataCell.js +0 -95
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/LinkedDataCell.js.map +0 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.js +0 -31
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.js.map +0 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/PaginatedToolbar.js +0 -56
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/PaginatedToolbar.js.map +0 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/SingleDataCell.js +0 -99
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/SingleDataCell.js.map +0 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableBody.js +0 -26
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableBody.js.map +0 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableFoot.js +0 -29
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableFoot.js.map +0 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.js +0 -18
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.js.map +0 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.module.css +0 -32
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.module.css.map +0 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.js +0 -31
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.js.map +0 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js +0 -63
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js.map +0 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/ExpandCell.js +0 -24
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/ExpandCell.js.map +0 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/FilterArea.js +0 -35
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/FilterArea.js.map +0 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.js +0 -64
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.js.map +0 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js +0 -57
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js.map +0 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.js +0 -29
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.js.map +0 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/index.js +0 -3
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/index.js.map +0 -1
- package/dist/esm/components/Scorecard/components/ScorecardTable/index.js +0 -3
- package/dist/esm/components/Scorecard/components/ScorecardTable/index.js.map +0 -1
- package/dist/esm/components/Scorecard/components/StateProvider.js +0 -57
- package/dist/esm/components/Scorecard/components/StateProvider.js.map +0 -1
- package/dist/esm/components/Scorecard/components/TableStateProvider.js +0 -39
- package/dist/esm/components/Scorecard/components/TableStateProvider.js.map +0 -1
- package/dist/esm/components/Scorecard/components/index.js +0 -6
- package/dist/esm/components/Scorecard/components/index.js.map +0 -1
- package/dist/esm/components/Scorecard/hooks/cellData.js +0 -33
- package/dist/esm/components/Scorecard/hooks/cellData.js.map +0 -1
- package/dist/esm/components/Scorecard/hooks/columns.js +0 -170
- package/dist/esm/components/Scorecard/hooks/columns.js.map +0 -1
- package/dist/esm/components/Scorecard/hooks/data.js +0 -206
- package/dist/esm/components/Scorecard/hooks/data.js.map +0 -1
- package/dist/esm/components/Scorecard/hooks/dataEngine.js +0 -6
- package/dist/esm/components/Scorecard/hooks/dataEngine.js.map +0 -1
- package/dist/esm/components/Scorecard/hooks/dataItem.js +0 -18
- package/dist/esm/components/Scorecard/hooks/dataItem.js.map +0 -1
- package/dist/esm/components/Scorecard/hooks/index.js +0 -3
- package/dist/esm/components/Scorecard/hooks/index.js.map +0 -1
- package/dist/esm/components/Scorecard/hooks/metadata.js +0 -121
- package/dist/esm/components/Scorecard/hooks/metadata.js.map +0 -1
- package/dist/esm/components/Scorecard/hooks/orgUnit.js +0 -15
- package/dist/esm/components/Scorecard/hooks/orgUnit.js.map +0 -1
- package/dist/esm/components/Scorecard/hooks/period.js +0 -13
- package/dist/esm/components/Scorecard/hooks/period.js.map +0 -1
- package/dist/esm/components/Scorecard/hooks/table.js +0 -179
- package/dist/esm/components/Scorecard/hooks/table.js.map +0 -1
- package/dist/esm/components/Scorecard/hooks/value.js +0 -186
- package/dist/esm/components/Scorecard/hooks/value.js.map +0 -1
- package/dist/esm/components/Scorecard/index.js +0 -6
- package/dist/esm/components/Scorecard/index.js.map +0 -1
- package/dist/esm/components/Scorecard/schemas/config.js +0 -193
- package/dist/esm/components/Scorecard/schemas/config.js.map +0 -1
- package/dist/esm/components/Scorecard/utils/analytics.js +0 -36
- package/dist/esm/components/Scorecard/utils/analytics.js.map +0 -1
- package/dist/esm/components/Scorecard/utils/columns.js +0 -303
- package/dist/esm/components/Scorecard/utils/columns.js.map +0 -1
- package/dist/esm/components/Scorecard/utils/data.js +0 -54
- package/dist/esm/components/Scorecard/utils/data.js.map +0 -1
- package/dist/esm/components/Scorecard/utils/dataEngine.js +0 -33
- package/dist/esm/components/Scorecard/utils/dataEngine.js.map +0 -1
- package/dist/esm/components/Scorecard/utils/dataSources.js +0 -13
- package/dist/esm/components/Scorecard/utils/dataSources.js.map +0 -1
- package/dist/esm/components/Scorecard/utils/engine.js +0 -18
- package/dist/esm/components/Scorecard/utils/engine.js.map +0 -1
- package/dist/esm/components/Scorecard/utils/legends.js +0 -115
- package/dist/esm/components/Scorecard/utils/legends.js.map +0 -1
- package/dist/esm/components/Scorecard/utils/orgUnits.js +0 -37
- package/dist/esm/components/Scorecard/utils/orgUnits.js.map +0 -1
- package/dist/esm/components/Scorecard/utils/state.js +0 -13
- package/dist/esm/components/Scorecard/utils/state.js.map +0 -1
- package/dist/types/components/Scorecard/Scorecard.d.ts +0 -7
- package/dist/types/components/Scorecard/Scorecard.d.ts.map +0 -1
- package/dist/types/components/Scorecard/components/ConfigProvider.d.ts +0 -142
- package/dist/types/components/Scorecard/components/ConfigProvider.d.ts.map +0 -1
- package/dist/types/components/Scorecard/components/DataProvider.d.ts +0 -16
- package/dist/types/components/Scorecard/components/DataProvider.d.ts.map +0 -1
- package/dist/types/components/Scorecard/components/LoadingIndicator.d.ts +0 -5
- package/dist/types/components/Scorecard/components/LoadingIndicator.d.ts.map +0 -1
- package/dist/types/components/Scorecard/components/MetaProvider.d.ts +0 -19
- package/dist/types/components/Scorecard/components/MetaProvider.d.ts.map +0 -1
- package/dist/types/components/Scorecard/components/ScorecardContext.d.ts +0 -10
- package/dist/types/components/Scorecard/components/ScorecardContext.d.ts.map +0 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/FurtherAnalysisDictionary.d.ts +0 -6
- package/dist/types/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/FurtherAnalysisDictionary.d.ts.map +0 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/ConfigProvider.d.ts +0 -12
- package/dist/types/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/ConfigProvider.d.ts.map +0 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/DetailsProvider.d.ts +0 -9
- package/dist/types/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/DetailsProvider.d.ts.map +0 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/index.d.ts +0 -2
- package/dist/types/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/index.d.ts.map +0 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/FurtherAnalysisVisualization.d.ts +0 -6
- package/dist/types/components/Scorecard/components/ScorecardTable/FurtherAnalysisVisualization.d.ts.map +0 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/ScorecardTable.d.ts +0 -6
- package/dist/types/components/Scorecard/components/ScorecardTable/ScorecardTable.d.ts.map +0 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/AverageCell.d.ts +0 -12
- package/dist/types/components/Scorecard/components/ScorecardTable/components/AverageCell.d.ts.map +0 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/AverageFooterCell.d.ts +0 -4
- package/dist/types/components/Scorecard/components/ScorecardTable/components/AverageFooterCell.d.ts.map +0 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/CellLoader.d.ts +0 -4
- package/dist/types/components/Scorecard/components/ScorecardTable/components/CellLoader.d.ts.map +0 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/DataContainer.d.ts +0 -91
- package/dist/types/components/Scorecard/components/ScorecardTable/components/DataContainer.d.ts.map +0 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/DataFooterCell.d.ts +0 -4
- package/dist/types/components/Scorecard/components/ScorecardTable/components/DataFooterCell.d.ts.map +0 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/DataRow.d.ts +0 -9
- package/dist/types/components/Scorecard/components/ScorecardTable/components/DataRow.d.ts.map +0 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/DataValue.d.ts +0 -7
- package/dist/types/components/Scorecard/components/ScorecardTable/components/DataValue.d.ts.map +0 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/DraggableCell.d.ts +0 -9
- package/dist/types/components/Scorecard/components/ScorecardTable/components/DraggableCell.d.ts.map +0 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/DroppableCell.d.ts +0 -7
- package/dist/types/components/Scorecard/components/ScorecardTable/components/DroppableCell.d.ts.map +0 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/EmptyFooterCell.d.ts +0 -4
- package/dist/types/components/Scorecard/components/ScorecardTable/components/EmptyFooterCell.d.ts.map +0 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/ExpandedScorecardTable.d.ts +0 -8
- package/dist/types/components/Scorecard/components/ScorecardTable/components/ExpandedScorecardTable.d.ts.map +0 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisMenu.d.ts +0 -15
- package/dist/types/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisMenu.d.ts.map +0 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisModal.d.ts +0 -13
- package/dist/types/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisModal.d.ts.map +0 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/LinkedCell.d.ts +0 -20
- package/dist/types/components/Scorecard/components/ScorecardTable/components/LinkedCell.d.ts.map +0 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/LinkedDataCell.d.ts +0 -15
- package/dist/types/components/Scorecard/components/ScorecardTable/components/LinkedDataCell.d.ts.map +0 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.d.ts +0 -2
- package/dist/types/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.d.ts.map +0 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/PaginatedToolbar.d.ts +0 -2
- package/dist/types/components/Scorecard/components/ScorecardTable/components/PaginatedToolbar.d.ts.map +0 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/SingleDataCell.d.ts +0 -15
- package/dist/types/components/Scorecard/components/ScorecardTable/components/SingleDataCell.d.ts.map +0 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableBody.d.ts +0 -5
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableBody.d.ts.map +0 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableFoot.d.ts +0 -2
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableFoot.d.ts.map +0 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.d.ts +0 -3
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.d.ts.map +0 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.d.ts +0 -4
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.d.ts.map +0 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.d.ts +0 -6
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.d.ts.map +0 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/ExpandCell.d.ts +0 -4
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/ExpandCell.d.ts.map +0 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/FilterArea.d.ts +0 -7
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/FilterArea.d.ts.map +0 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.d.ts +0 -6
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.d.ts.map +0 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.d.ts +0 -7
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.d.ts.map +0 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.d.ts +0 -7
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.d.ts.map +0 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/index.d.ts +0 -2
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/index.d.ts.map +0 -1
- package/dist/types/components/Scorecard/components/ScorecardTable/index.d.ts +0 -2
- package/dist/types/components/Scorecard/components/ScorecardTable/index.d.ts.map +0 -1
- package/dist/types/components/Scorecard/components/StateProvider.d.ts +0 -44
- package/dist/types/components/Scorecard/components/StateProvider.d.ts.map +0 -1
- package/dist/types/components/Scorecard/components/TableStateProvider.d.ts +0 -56
- package/dist/types/components/Scorecard/components/TableStateProvider.d.ts.map +0 -1
- package/dist/types/components/Scorecard/components/index.d.ts +0 -5
- package/dist/types/components/Scorecard/components/index.d.ts.map +0 -1
- package/dist/types/components/Scorecard/hooks/cellData.d.ts +0 -18
- package/dist/types/components/Scorecard/hooks/cellData.d.ts.map +0 -1
- package/dist/types/components/Scorecard/hooks/columns.d.ts +0 -50
- package/dist/types/components/Scorecard/hooks/columns.d.ts.map +0 -1
- package/dist/types/components/Scorecard/hooks/data.d.ts +0 -21
- package/dist/types/components/Scorecard/hooks/data.d.ts.map +0 -1
- package/dist/types/components/Scorecard/hooks/dataEngine.d.ts +0 -2
- package/dist/types/components/Scorecard/hooks/dataEngine.d.ts.map +0 -1
- package/dist/types/components/Scorecard/hooks/dataItem.d.ts +0 -3
- package/dist/types/components/Scorecard/hooks/dataItem.d.ts.map +0 -1
- package/dist/types/components/Scorecard/hooks/index.d.ts +0 -2
- package/dist/types/components/Scorecard/hooks/index.d.ts.map +0 -1
- package/dist/types/components/Scorecard/hooks/metadata.d.ts +0 -41
- package/dist/types/components/Scorecard/hooks/metadata.d.ts.map +0 -1
- package/dist/types/components/Scorecard/hooks/orgUnit.d.ts +0 -6
- package/dist/types/components/Scorecard/hooks/orgUnit.d.ts.map +0 -1
- package/dist/types/components/Scorecard/hooks/period.d.ts +0 -2
- package/dist/types/components/Scorecard/hooks/period.d.ts.map +0 -1
- package/dist/types/components/Scorecard/hooks/table.d.ts +0 -4
- package/dist/types/components/Scorecard/hooks/table.d.ts.map +0 -1
- package/dist/types/components/Scorecard/hooks/value.d.ts +0 -87
- package/dist/types/components/Scorecard/hooks/value.d.ts.map +0 -1
- package/dist/types/components/Scorecard/index.d.ts +0 -5
- package/dist/types/components/Scorecard/index.d.ts.map +0 -1
- package/dist/types/components/Scorecard/schemas/config.d.ts +0 -3337
- package/dist/types/components/Scorecard/schemas/config.d.ts.map +0 -1
- package/dist/types/components/Scorecard/utils/analytics.d.ts +0 -19
- package/dist/types/components/Scorecard/utils/analytics.d.ts.map +0 -1
- package/dist/types/components/Scorecard/utils/columns.d.ts +0 -33
- package/dist/types/components/Scorecard/utils/columns.d.ts.map +0 -1
- package/dist/types/components/Scorecard/utils/data.d.ts +0 -18
- package/dist/types/components/Scorecard/utils/data.d.ts.map +0 -1
- package/dist/types/components/Scorecard/utils/dataEngine.d.ts +0 -14
- package/dist/types/components/Scorecard/utils/dataEngine.d.ts.map +0 -1
- package/dist/types/components/Scorecard/utils/dataSources.d.ts +0 -37
- package/dist/types/components/Scorecard/utils/dataSources.d.ts.map +0 -1
- package/dist/types/components/Scorecard/utils/engine.d.ts +0 -14
- package/dist/types/components/Scorecard/utils/engine.d.ts.map +0 -1
- package/dist/types/components/Scorecard/utils/legends.d.ts +0 -22
- package/dist/types/components/Scorecard/utils/legends.d.ts.map +0 -1
- package/dist/types/components/Scorecard/utils/orgUnits.d.ts +0 -7
- package/dist/types/components/Scorecard/utils/orgUnits.d.ts.map +0 -1
- package/dist/types/components/Scorecard/utils/state.d.ts +0 -5
- package/dist/types/components/Scorecard/utils/state.d.ts.map +0 -1
|
@@ -1,303 +0,0 @@
|
|
|
1
|
-
import { createColumnHelper } from '@tanstack/react-table';
|
|
2
|
-
import { sum, head } from 'lodash';
|
|
3
|
-
import { DataContainer } from '../components/ScorecardTable/components/DataContainer';
|
|
4
|
-
import { DataHeaderCell, EmptyDataHeaderCell } from '../components/ScorecardTable/components/TableHeader/components/DataHeaderCell';
|
|
5
|
-
import { getAdjacentFixedPeriods, createFixedPeriodFromPeriodId } from '@dhis2/multi-calendar-dates';
|
|
6
|
-
import { AverageCell } from '../components/ScorecardTable/components/AverageCell';
|
|
7
|
-
import { AverageHeaderCell } from '../components/ScorecardTable/components/TableHeader/components/AverageHeaderCell';
|
|
8
|
-
import { DataFooterCell } from '../components/ScorecardTable/components/DataFooterCell';
|
|
9
|
-
import { AverageFooterCell } from '../components/ScorecardTable/components/AverageFooterCell';
|
|
10
|
-
|
|
11
|
-
const columnHelper = createColumnHelper();
|
|
12
|
-
function getValueFromConfig({
|
|
13
|
-
config,
|
|
14
|
-
data
|
|
15
|
-
}) {
|
|
16
|
-
const dataValues = data.filter((datum) => {
|
|
17
|
-
return config.orgUnit.uid === datum.ou && config.currentPeriod === datum.pe && datum.dx === head(config.dataSources).id;
|
|
18
|
-
});
|
|
19
|
-
return {
|
|
20
|
-
...head(config.dataSources),
|
|
21
|
-
data: getValues({
|
|
22
|
-
values: dataValues,
|
|
23
|
-
currentPeriod: config.currentPeriod,
|
|
24
|
-
previousPeriod: config.previousPeriod
|
|
25
|
-
})
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
function getSortingFunction(dataEngine) {
|
|
29
|
-
return function sortingFunction(rowA, rowB, columnId) {
|
|
30
|
-
if (!dataEngine.isDone) {
|
|
31
|
-
return 0;
|
|
32
|
-
}
|
|
33
|
-
const dataA = rowA.getValue(columnId);
|
|
34
|
-
const dataB = rowB.getValue(columnId);
|
|
35
|
-
const dataAValue = getValueFromConfig({
|
|
36
|
-
config: dataA,
|
|
37
|
-
data: dataEngine.data
|
|
38
|
-
});
|
|
39
|
-
const dataBValue = getValueFromConfig({
|
|
40
|
-
config: dataB,
|
|
41
|
-
data: dataEngine.data
|
|
42
|
-
});
|
|
43
|
-
const valueA = dataAValue.data.current ?? 0;
|
|
44
|
-
const valueB = dataBValue.data.current ?? 0;
|
|
45
|
-
if (valueA === valueB) {
|
|
46
|
-
return 0;
|
|
47
|
-
}
|
|
48
|
-
return valueA > valueB ? 1 : -1;
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
function getAverageValue({
|
|
52
|
-
dataValues,
|
|
53
|
-
meta
|
|
54
|
-
}) {
|
|
55
|
-
const currentPeriodValues = dataValues.filter(({ pe }) => {
|
|
56
|
-
return !!meta.periods.find(({ uid }) => uid === pe);
|
|
57
|
-
});
|
|
58
|
-
const values = currentPeriodValues.map(({ value }) => value ? +value : 0);
|
|
59
|
-
return Math.round(sum(values) / values.length * 100) / 100;
|
|
60
|
-
}
|
|
61
|
-
function getValues({
|
|
62
|
-
values,
|
|
63
|
-
currentPeriod,
|
|
64
|
-
previousPeriod
|
|
65
|
-
}) {
|
|
66
|
-
const currentValueData = values.find(({ pe }) => {
|
|
67
|
-
return pe === currentPeriod;
|
|
68
|
-
});
|
|
69
|
-
const previousValueData = values.find(({ pe }) => {
|
|
70
|
-
return pe === previousPeriod;
|
|
71
|
-
});
|
|
72
|
-
const previousValue = parseFloat(previousValueData?.value ?? "");
|
|
73
|
-
const currentValue = parseFloat(currentValueData?.value ?? "");
|
|
74
|
-
return {
|
|
75
|
-
previous: isNaN(previousValue) ? void 0 : previousValue,
|
|
76
|
-
current: isNaN(currentValue) ? void 0 : currentValue
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
function getOrgUnitColumnHeaders({
|
|
80
|
-
meta,
|
|
81
|
-
calendar,
|
|
82
|
-
dataEngine
|
|
83
|
-
}) {
|
|
84
|
-
const orgUnits = meta.orgUnits ?? [];
|
|
85
|
-
const periods = meta.periods ?? [];
|
|
86
|
-
return orgUnits.map((orgUnit) => {
|
|
87
|
-
return columnHelper.group({
|
|
88
|
-
id: orgUnit.uid,
|
|
89
|
-
header: DataHeaderCell,
|
|
90
|
-
meta: {
|
|
91
|
-
label: orgUnit.name
|
|
92
|
-
},
|
|
93
|
-
columns: periods.map(
|
|
94
|
-
({ name, uid }) => columnHelper.accessor(
|
|
95
|
-
(rowData) => {
|
|
96
|
-
const currentPeriod = uid;
|
|
97
|
-
const previousPeriod = head(
|
|
98
|
-
getAdjacentFixedPeriods({
|
|
99
|
-
calendar,
|
|
100
|
-
period: createFixedPeriodFromPeriodId({
|
|
101
|
-
calendar,
|
|
102
|
-
periodId: currentPeriod
|
|
103
|
-
}),
|
|
104
|
-
steps: -1
|
|
105
|
-
})
|
|
106
|
-
)?.id;
|
|
107
|
-
const dataSources = rowData.dataHolder?.dataSources;
|
|
108
|
-
return {
|
|
109
|
-
currentPeriod,
|
|
110
|
-
previousPeriod,
|
|
111
|
-
dataSources,
|
|
112
|
-
orgUnit
|
|
113
|
-
};
|
|
114
|
-
},
|
|
115
|
-
{
|
|
116
|
-
header: DataHeaderCell,
|
|
117
|
-
meta: {
|
|
118
|
-
label: name
|
|
119
|
-
},
|
|
120
|
-
cell: DataContainer,
|
|
121
|
-
size: 120,
|
|
122
|
-
id: `${orgUnit.uid}-${uid}`,
|
|
123
|
-
enableSorting: true,
|
|
124
|
-
sortingFn: getSortingFunction(dataEngine),
|
|
125
|
-
footer: DataFooterCell
|
|
126
|
-
}
|
|
127
|
-
)
|
|
128
|
-
)
|
|
129
|
-
});
|
|
130
|
-
});
|
|
131
|
-
}
|
|
132
|
-
function getAverageColumn({}) {
|
|
133
|
-
return columnHelper.group({
|
|
134
|
-
id: "average-header",
|
|
135
|
-
header: AverageHeaderCell,
|
|
136
|
-
columns: [
|
|
137
|
-
columnHelper.accessor(
|
|
138
|
-
(rowData) => {
|
|
139
|
-
return {
|
|
140
|
-
...rowData
|
|
141
|
-
};
|
|
142
|
-
},
|
|
143
|
-
{
|
|
144
|
-
id: `average`,
|
|
145
|
-
header: () => null,
|
|
146
|
-
cell: AverageCell,
|
|
147
|
-
enableHiding: true,
|
|
148
|
-
size: 120,
|
|
149
|
-
footer: AverageFooterCell
|
|
150
|
-
}
|
|
151
|
-
)
|
|
152
|
-
]
|
|
153
|
-
});
|
|
154
|
-
}
|
|
155
|
-
function getDataHolderColumn({
|
|
156
|
-
hasOnePeriod,
|
|
157
|
-
dataHolder,
|
|
158
|
-
periods,
|
|
159
|
-
calendar,
|
|
160
|
-
dataEngine
|
|
161
|
-
}) {
|
|
162
|
-
const { id, dataSources } = dataHolder;
|
|
163
|
-
const header = dataSources.length === 1 ? head(dataSources)?.label : dataSources.reduce((acc, { label }) => `${acc} / ${label}`, "");
|
|
164
|
-
if (hasOnePeriod) {
|
|
165
|
-
return columnHelper.accessor(
|
|
166
|
-
(rowData) => {
|
|
167
|
-
const currentPeriod = head(periods).uid;
|
|
168
|
-
const previousPeriod = head(
|
|
169
|
-
getAdjacentFixedPeriods({
|
|
170
|
-
calendar,
|
|
171
|
-
period: createFixedPeriodFromPeriodId({
|
|
172
|
-
calendar,
|
|
173
|
-
periodId: currentPeriod
|
|
174
|
-
}),
|
|
175
|
-
steps: -1
|
|
176
|
-
})
|
|
177
|
-
)?.id;
|
|
178
|
-
return {
|
|
179
|
-
...rowData,
|
|
180
|
-
dataSources,
|
|
181
|
-
previousPeriod,
|
|
182
|
-
currentPeriod
|
|
183
|
-
};
|
|
184
|
-
},
|
|
185
|
-
{
|
|
186
|
-
header: DataHeaderCell,
|
|
187
|
-
meta: {
|
|
188
|
-
label: header
|
|
189
|
-
},
|
|
190
|
-
id: id.toString(),
|
|
191
|
-
cell: DataContainer,
|
|
192
|
-
size: 120,
|
|
193
|
-
enableSorting: true,
|
|
194
|
-
sortingFn: getSortingFunction(dataEngine),
|
|
195
|
-
footer: DataFooterCell
|
|
196
|
-
}
|
|
197
|
-
);
|
|
198
|
-
}
|
|
199
|
-
return columnHelper.group({
|
|
200
|
-
id: id.toString(),
|
|
201
|
-
columns: periods.map(
|
|
202
|
-
({ name, uid }) => columnHelper.accessor(
|
|
203
|
-
(rowData) => {
|
|
204
|
-
const currentPeriod = uid;
|
|
205
|
-
const previousPeriod = head(
|
|
206
|
-
getAdjacentFixedPeriods({
|
|
207
|
-
calendar,
|
|
208
|
-
period: createFixedPeriodFromPeriodId({
|
|
209
|
-
calendar,
|
|
210
|
-
periodId: currentPeriod
|
|
211
|
-
}),
|
|
212
|
-
steps: -1
|
|
213
|
-
})
|
|
214
|
-
)?.id;
|
|
215
|
-
return {
|
|
216
|
-
...rowData,
|
|
217
|
-
dataSources,
|
|
218
|
-
currentPeriod,
|
|
219
|
-
previousPeriod
|
|
220
|
-
};
|
|
221
|
-
},
|
|
222
|
-
{
|
|
223
|
-
header: DataHeaderCell,
|
|
224
|
-
meta: {
|
|
225
|
-
label: name
|
|
226
|
-
},
|
|
227
|
-
cell: DataContainer,
|
|
228
|
-
size: 120,
|
|
229
|
-
id: `${id.toString()}-${uid}`,
|
|
230
|
-
enableSorting: true,
|
|
231
|
-
sortingFn: getSortingFunction(dataEngine),
|
|
232
|
-
footer: DataFooterCell
|
|
233
|
-
}
|
|
234
|
-
)
|
|
235
|
-
),
|
|
236
|
-
meta: {
|
|
237
|
-
label: header
|
|
238
|
-
},
|
|
239
|
-
header: DataHeaderCell,
|
|
240
|
-
enableSorting: true,
|
|
241
|
-
sortingFn: getSortingFunction(dataEngine)
|
|
242
|
-
});
|
|
243
|
-
}
|
|
244
|
-
function getDataColumnHeaders({
|
|
245
|
-
meta,
|
|
246
|
-
config,
|
|
247
|
-
calendar,
|
|
248
|
-
dataEngine
|
|
249
|
-
}) {
|
|
250
|
-
const dataGroups = config.dataSelection.dataGroups ?? [];
|
|
251
|
-
const hasOneGroup = dataGroups.length === 1;
|
|
252
|
-
const periods = meta.periods ?? [];
|
|
253
|
-
const hasOnePeriod = periods.length === 1;
|
|
254
|
-
if (hasOneGroup) {
|
|
255
|
-
return dataGroups.map(({ title, dataHolders, id }) => {
|
|
256
|
-
return columnHelper.group({
|
|
257
|
-
id: id.toString(),
|
|
258
|
-
header: EmptyDataHeaderCell,
|
|
259
|
-
meta: {
|
|
260
|
-
label: title,
|
|
261
|
-
bold: true
|
|
262
|
-
},
|
|
263
|
-
columns: dataHolders.map((dataHolder) => {
|
|
264
|
-
return getDataHolderColumn({
|
|
265
|
-
hasOnePeriod,
|
|
266
|
-
dataHolder,
|
|
267
|
-
periods,
|
|
268
|
-
calendar,
|
|
269
|
-
dataEngine
|
|
270
|
-
});
|
|
271
|
-
}),
|
|
272
|
-
enableSorting: false,
|
|
273
|
-
footer: () => null
|
|
274
|
-
});
|
|
275
|
-
});
|
|
276
|
-
} else {
|
|
277
|
-
return dataGroups.map(({ title, dataHolders, id }) => {
|
|
278
|
-
return columnHelper.group({
|
|
279
|
-
id: id.toString(),
|
|
280
|
-
header: DataHeaderCell,
|
|
281
|
-
meta: {
|
|
282
|
-
label: title,
|
|
283
|
-
bold: true
|
|
284
|
-
},
|
|
285
|
-
columns: dataHolders.map((dataHolder) => {
|
|
286
|
-
return getDataHolderColumn({
|
|
287
|
-
hasOnePeriod,
|
|
288
|
-
dataHolder,
|
|
289
|
-
periods,
|
|
290
|
-
calendar,
|
|
291
|
-
dataEngine
|
|
292
|
-
});
|
|
293
|
-
}),
|
|
294
|
-
enableSorting: false,
|
|
295
|
-
footer: () => null
|
|
296
|
-
});
|
|
297
|
-
});
|
|
298
|
-
}
|
|
299
|
-
}
|
|
300
|
-
|
|
301
|
-
export { getAverageColumn, getAverageValue, getDataColumnHeaders, getOrgUnitColumnHeaders, getValues };
|
|
302
|
-
//# sourceMappingURL=out.js.map
|
|
303
|
-
//# sourceMappingURL=columns.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/Scorecard/utils/columns.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ScorecardMeta } from \"../components\";\nimport type {\n\tScorecardAnalyticsData,\n\tScorecardCellData,\n\tScorecardConfig,\n\tScorecardDataHolder,\n\tScorecardTableAverageCellConfig,\n\tScorecardTableCellConfig,\n\tScorecardTableData,\n} from \"../schemas/config\";\nimport {\n\ttype ColumnDef,\n\tcreateColumnHelper,\n\ttype Row,\n} from \"@tanstack/react-table\";\nimport { head, sum } from \"lodash\";\nimport type { ItemMeta } from \"../hooks/metadata\";\nimport { DataContainer } from \"../components/ScorecardTable/components/DataContainer\";\nimport {\n\tDataHeaderCell,\n\tEmptyDataHeaderCell,\n} from \"../components/ScorecardTable/components/TableHeader/components/DataHeaderCell\";\nimport {\n\tcreateFixedPeriodFromPeriodId,\n\tgetAdjacentFixedPeriods,\n} from \"@dhis2/multi-calendar-dates\";\nimport type { SupportedCalendar } from \"@dhis2/multi-calendar-dates/build/types/types\";\nimport { AverageCell } from \"../components/ScorecardTable/components/AverageCell\";\nimport { AverageHeaderCell } from \"../components/ScorecardTable/components/TableHeader/components/AverageHeaderCell\";\nimport { DataFooterCell } from \"../components/ScorecardTable/components/DataFooterCell\";\nimport { AverageFooterCell } from \"../components/ScorecardTable/components/AverageFooterCell\";\nimport type { ScorecardDataEngine } from \"./dataEngine\";\nimport type { AnalyticsData } from \"./data\";\n\nconst columnHelper = createColumnHelper<ScorecardTableData>();\n\nfunction getValueFromConfig({\n\tconfig,\n\tdata,\n}: {\n\tconfig: ScorecardTableCellConfig;\n\tdata: AnalyticsData[];\n}): ScorecardCellData {\n\tconst dataValues = data.filter((datum) => {\n\t\treturn (\n\t\t\tconfig.orgUnit.uid === datum.ou &&\n\t\t\tconfig.currentPeriod === datum.pe &&\n\t\t\tdatum.dx === head(config.dataSources)!.id\n\t\t);\n\t});\n\n\treturn {\n\t\t...head(config.dataSources)!,\n\t\tdata: getValues({\n\t\t\tvalues: dataValues,\n\t\t\tcurrentPeriod: config.currentPeriod!,\n\t\t\tpreviousPeriod: config.previousPeriod,\n\t\t}),\n\t};\n}\n\nfunction getSortingFunction(dataEngine: ScorecardDataEngine) {\n\treturn function sortingFunction(\n\t\trowA: Row<ScorecardTableData>,\n\t\trowB: Row<ScorecardTableData>,\n\t\tcolumnId: string,\n\t) {\n\t\tif (!dataEngine.isDone) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tconst dataA = rowA.getValue(columnId) as ScorecardTableCellConfig;\n\t\tconst dataB = rowB.getValue(columnId) as ScorecardTableCellConfig;\n\n\t\tconst dataAValue = getValueFromConfig({\n\t\t\tconfig: dataA,\n\t\t\tdata: dataEngine.data,\n\t\t});\n\n\t\tconst dataBValue = getValueFromConfig({\n\t\t\tconfig: dataB,\n\t\t\tdata: dataEngine.data,\n\t\t});\n\n\t\tconst valueA = dataAValue.data.current ?? 0;\n\t\tconst valueB = dataBValue.data.current ?? 0;\n\n\t\tif (valueA === valueB) {\n\t\t\treturn 0;\n\t\t}\n\n\t\treturn valueA > valueB ? 1 : -1;\n\t};\n}\n\nexport function getAverageValue({\n\tdataValues,\n\tmeta,\n}: {\n\tdataValues: ScorecardAnalyticsData[];\n\tmeta: ScorecardMeta;\n}) {\n\tconst currentPeriodValues = dataValues.filter(({ pe }) => {\n\t\treturn !!meta.periods.find(({ uid }) => uid === pe);\n\t});\n\tconst values = currentPeriodValues.map(({ value }) => (value ? +value : 0));\n\n\treturn Math.round((sum(values) / values.length) * 100) / 100;\n}\n\nexport function getValues({\n\tvalues,\n\tcurrentPeriod,\n\tpreviousPeriod,\n}: {\n\tvalues: ScorecardAnalyticsData[];\n\tcurrentPeriod: string;\n\tpreviousPeriod?: string;\n}) {\n\tconst currentValueData = values.find(({ pe }) => {\n\t\treturn pe === currentPeriod;\n\t});\n\n\tconst previousValueData = values.find(({ pe }) => {\n\t\treturn pe === previousPeriod;\n\t});\n\n\tconst previousValue = parseFloat(previousValueData?.value ?? \"\");\n\tconst currentValue = parseFloat(currentValueData?.value ?? \"\");\n\n\treturn {\n\t\tprevious: isNaN(previousValue) ? undefined : previousValue,\n\t\tcurrent: isNaN(currentValue) ? undefined : currentValue,\n\t};\n}\n\nexport function getOrgUnitColumnHeaders({\n\tmeta,\n\tcalendar,\n\tdataEngine,\n}: {\n\tmeta: ScorecardMeta;\n\tcalendar: SupportedCalendar;\n\tdataEngine: ScorecardDataEngine;\n}): ColumnDef<ScorecardTableData, ScorecardTableCellConfig>[] {\n\tconst orgUnits = meta.orgUnits ?? [];\n\tconst periods = meta.periods ?? [];\n\treturn orgUnits.map((orgUnit) => {\n\t\treturn columnHelper.group({\n\t\t\tid: orgUnit.uid,\n\t\t\theader: DataHeaderCell,\n\t\t\tmeta: {\n\t\t\t\tlabel: orgUnit.name,\n\t\t\t},\n\t\t\tcolumns: periods.map(({ name, uid }) =>\n\t\t\t\tcolumnHelper.accessor(\n\t\t\t\t\t(rowData) => {\n\t\t\t\t\t\tconst currentPeriod = uid;\n\t\t\t\t\t\tconst previousPeriod = head(\n\t\t\t\t\t\t\tgetAdjacentFixedPeriods({\n\t\t\t\t\t\t\t\tcalendar,\n\t\t\t\t\t\t\t\tperiod: createFixedPeriodFromPeriodId({\n\t\t\t\t\t\t\t\t\tcalendar,\n\t\t\t\t\t\t\t\t\tperiodId: currentPeriod,\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\tsteps: -1,\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t)?.id;\n\t\t\t\t\t\tconst dataSources = rowData.dataHolder?.dataSources;\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tcurrentPeriod,\n\t\t\t\t\t\t\tpreviousPeriod,\n\t\t\t\t\t\t\tdataSources,\n\t\t\t\t\t\t\torgUnit: orgUnit,\n\t\t\t\t\t\t} as ScorecardTableCellConfig;\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\theader: DataHeaderCell,\n\t\t\t\t\t\tmeta: {\n\t\t\t\t\t\t\tlabel: name,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcell: DataContainer,\n\t\t\t\t\t\tsize: 120,\n\t\t\t\t\t\tid: `${orgUnit.uid}-${uid}`,\n\t\t\t\t\t\tenableSorting: true,\n\t\t\t\t\t\tsortingFn: getSortingFunction(dataEngine),\n\t\t\t\t\t\tfooter: DataFooterCell,\n\t\t\t\t\t},\n\t\t\t\t),\n\t\t\t),\n\t\t});\n\t});\n}\n\nexport function getAverageColumn({}: {\n\tmeta: ScorecardMeta;\n\tconfig: ScorecardConfig;\n}): ColumnDef<ScorecardTableData, ScorecardTableAverageCellConfig> {\n\treturn columnHelper.group({\n\t\tid: \"average-header\",\n\t\theader: AverageHeaderCell,\n\t\tcolumns: [\n\t\t\tcolumnHelper.accessor(\n\t\t\t\t(rowData) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...rowData,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: `average`,\n\t\t\t\t\theader: () => null,\n\t\t\t\t\tcell: AverageCell,\n\t\t\t\t\tenableHiding: true,\n\t\t\t\t\tsize: 120,\n\t\t\t\t\tfooter: AverageFooterCell,\n\t\t\t\t},\n\t\t\t),\n\t\t],\n\t});\n}\n\nfunction getDataHolderColumn({\n\thasOnePeriod,\n\tdataHolder,\n\tperiods,\n\tcalendar,\n\tdataEngine,\n}: {\n\thasOnePeriod: boolean;\n\tdataHolder: ScorecardDataHolder;\n\tperiods: ItemMeta[];\n\tcalendar: SupportedCalendar;\n\tdataEngine: ScorecardDataEngine;\n}) {\n\tconst { id, dataSources } = dataHolder;\n\n\tconst header =\n\t\tdataSources.length === 1\n\t\t\t? head(dataSources)?.label\n\t\t\t: dataSources.reduce((acc, { label }) => `${acc} / ${label}`, \"\");\n\n\tif (hasOnePeriod) {\n\t\treturn columnHelper.accessor(\n\t\t\t(rowData) => {\n\t\t\t\tconst currentPeriod = head(periods)!.uid;\n\t\t\t\tconst previousPeriod = head(\n\t\t\t\t\tgetAdjacentFixedPeriods({\n\t\t\t\t\t\tcalendar,\n\t\t\t\t\t\tperiod: createFixedPeriodFromPeriodId({\n\t\t\t\t\t\t\tcalendar,\n\t\t\t\t\t\t\tperiodId: currentPeriod,\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tsteps: -1,\n\t\t\t\t\t}),\n\t\t\t\t)?.id;\n\n\t\t\t\treturn {\n\t\t\t\t\t...rowData,\n\t\t\t\t\tdataSources,\n\t\t\t\t\tpreviousPeriod,\n\t\t\t\t\tcurrentPeriod,\n\t\t\t\t} as ScorecardTableCellConfig;\n\t\t\t},\n\t\t\t{\n\t\t\t\theader: DataHeaderCell,\n\t\t\t\tmeta: {\n\t\t\t\t\tlabel: header,\n\t\t\t\t},\n\t\t\t\tid: id.toString(),\n\t\t\t\tcell: DataContainer,\n\t\t\t\tsize: 120,\n\t\t\t\tenableSorting: true,\n\t\t\t\tsortingFn: getSortingFunction(dataEngine),\n\t\t\t\tfooter: DataFooterCell,\n\t\t\t},\n\t\t);\n\t}\n\n\treturn columnHelper.group({\n\t\tid: id.toString(),\n\t\tcolumns: periods.map(({ name, uid }) =>\n\t\t\tcolumnHelper.accessor(\n\t\t\t\t(rowData) => {\n\t\t\t\t\tconst currentPeriod = uid;\n\t\t\t\t\tconst previousPeriod = head(\n\t\t\t\t\t\tgetAdjacentFixedPeriods({\n\t\t\t\t\t\t\tcalendar,\n\t\t\t\t\t\t\tperiod: createFixedPeriodFromPeriodId({\n\t\t\t\t\t\t\t\tcalendar,\n\t\t\t\t\t\t\t\tperiodId: currentPeriod,\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tsteps: -1,\n\t\t\t\t\t\t}),\n\t\t\t\t\t)?.id;\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...rowData,\n\t\t\t\t\t\tdataSources,\n\t\t\t\t\t\tcurrentPeriod,\n\t\t\t\t\t\tpreviousPeriod,\n\t\t\t\t\t} as ScorecardTableCellConfig;\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\theader: DataHeaderCell,\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tlabel: name,\n\t\t\t\t\t},\n\t\t\t\t\tcell: DataContainer,\n\t\t\t\t\tsize: 120,\n\t\t\t\t\tid: `${id.toString()}-${uid}`,\n\t\t\t\t\tenableSorting: true,\n\t\t\t\t\tsortingFn: getSortingFunction(dataEngine),\n\t\t\t\t\tfooter: DataFooterCell,\n\t\t\t\t},\n\t\t\t),\n\t\t),\n\t\tmeta: {\n\t\t\tlabel: header,\n\t\t},\n\t\theader: DataHeaderCell,\n\t\tenableSorting: true,\n\t\tsortingFn: getSortingFunction(dataEngine),\n\t});\n}\n\nexport function getDataColumnHeaders({\n\tmeta,\n\tconfig,\n\tcalendar,\n\tdataEngine,\n}: {\n\tmeta: ScorecardMeta;\n\tconfig: ScorecardConfig;\n\tcalendar: SupportedCalendar;\n\tdataEngine: ScorecardDataEngine;\n}): ColumnDef<ScorecardTableData, ScorecardTableCellConfig>[] {\n\tconst dataGroups = config.dataSelection.dataGroups ?? [];\n\tconst hasOneGroup = dataGroups.length === 1;\n\tconst periods = meta.periods ?? [];\n\tconst hasOnePeriod = periods.length === 1;\n\n\tif (hasOneGroup) {\n\t\treturn dataGroups.map(({ title, dataHolders, id }) => {\n\t\t\treturn columnHelper.group({\n\t\t\t\tid: id.toString(),\n\t\t\t\theader: EmptyDataHeaderCell,\n\t\t\t\tmeta: {\n\t\t\t\t\tlabel: title,\n\t\t\t\t\tbold: true,\n\t\t\t\t},\n\t\t\t\tcolumns: dataHolders.map((dataHolder) => {\n\t\t\t\t\treturn getDataHolderColumn({\n\t\t\t\t\t\thasOnePeriod,\n\t\t\t\t\t\tdataHolder,\n\t\t\t\t\t\tperiods,\n\t\t\t\t\t\tcalendar,\n\t\t\t\t\t\tdataEngine,\n\t\t\t\t\t});\n\t\t\t\t}),\n\n\t\t\t\tenableSorting: false,\n\t\t\t\tfooter: () => null,\n\t\t\t});\n\t\t});\n\t} else {\n\t\treturn dataGroups.map(({ title, dataHolders, id }) => {\n\t\t\treturn columnHelper.group({\n\t\t\t\tid: id.toString(),\n\t\t\t\theader: DataHeaderCell,\n\t\t\t\tmeta: {\n\t\t\t\t\tlabel: title,\n\t\t\t\t\tbold: true,\n\t\t\t\t},\n\t\t\t\tcolumns: dataHolders.map((dataHolder) => {\n\t\t\t\t\treturn getDataHolderColumn({\n\t\t\t\t\t\thasOnePeriod,\n\t\t\t\t\t\tdataHolder,\n\t\t\t\t\t\tperiods,\n\t\t\t\t\t\tcalendar,\n\t\t\t\t\t\tdataEngine,\n\t\t\t\t\t});\n\t\t\t\t}),\n\t\t\t\tenableSorting: false,\n\t\t\t\tfooter: () => null,\n\t\t\t});\n\t\t});\n\t}\n}\n"]}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { fromPairs, head } from 'lodash';
|
|
2
|
-
|
|
3
|
-
function sanitizeAnalyticsData(data) {
|
|
4
|
-
const { headers, rows } = data.data;
|
|
5
|
-
return rows.map((row) => {
|
|
6
|
-
return fromPairs(
|
|
7
|
-
row.map((value, index) => {
|
|
8
|
-
const key = headers[index].name;
|
|
9
|
-
return [key, value];
|
|
10
|
-
})
|
|
11
|
-
);
|
|
12
|
-
});
|
|
13
|
-
}
|
|
14
|
-
function getRowsFromMeta({
|
|
15
|
-
meta,
|
|
16
|
-
config,
|
|
17
|
-
showHierarchy,
|
|
18
|
-
showDataInRows
|
|
19
|
-
}) {
|
|
20
|
-
function getOrgUnitData() {
|
|
21
|
-
return meta.orgUnits.map((orgUnit) => {
|
|
22
|
-
const label = showHierarchy ? orgUnit.hierarchy.replace("/", "") ?? "" : orgUnit.name ?? "";
|
|
23
|
-
return {
|
|
24
|
-
label,
|
|
25
|
-
orgUnit
|
|
26
|
-
};
|
|
27
|
-
}).flat();
|
|
28
|
-
}
|
|
29
|
-
function getDataGroupsData(dataGroups) {
|
|
30
|
-
return dataGroups.map(({ dataHolders }) => {
|
|
31
|
-
return dataHolders.map((dataHolder) => {
|
|
32
|
-
const { dataSources, id } = dataHolder;
|
|
33
|
-
const label = (dataSources.length === 1 ? head(dataSources)?.label : dataSources.reduce(
|
|
34
|
-
(acc, { label: label2 }) => `${acc} / ${label2}`,
|
|
35
|
-
""
|
|
36
|
-
)) ?? "";
|
|
37
|
-
return {
|
|
38
|
-
id,
|
|
39
|
-
label,
|
|
40
|
-
dataHolder
|
|
41
|
-
};
|
|
42
|
-
});
|
|
43
|
-
}).flat();
|
|
44
|
-
}
|
|
45
|
-
if (showDataInRows) {
|
|
46
|
-
const dataGroups = config.dataSelection.dataGroups;
|
|
47
|
-
return getDataGroupsData(dataGroups);
|
|
48
|
-
}
|
|
49
|
-
return getOrgUnitData();
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
export { getRowsFromMeta, sanitizeAnalyticsData };
|
|
53
|
-
//# sourceMappingURL=out.js.map
|
|
54
|
-
//# sourceMappingURL=data.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/Scorecard/utils/data.ts"],"names":["label"],"mappings":"AAOA,SAAS,WAAW,YAAY;AAWzB,SAAS,sBAAsB,MAAkC;AACvE,QAAM,EAAE,SAAS,KAAK,IAAI,KAAK;AAC/B,SAAO,KAAK,IAAI,CAAC,QAAQ;AACxB,WAAO;AAAA,MACN,IAAI,IAAI,CAAC,OAAO,UAAU;AACzB,cAAM,MAAM,QAAQ,KAAK,EAAE;AAC3B,eAAO,CAAC,KAAK,KAAK;AAAA,MACnB,CAAC;AAAA,IACF;AAAA,EACD,CAAC;AACF;AAEO,SAAS,gBAAgB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAKyB;AACxB,WAAS,iBAAiB;AACzB,WAAO,KAAK,SACV,IAAI,CAAC,YAAY;AACjB,YAAM,QAAQ,gBACX,QAAQ,UAAU,QAAQ,KAAK,EAAE,KAAK,KACtC,QAAQ,QAAQ;AAEnB,aAAO;AAAA,QACN;AAAA,QACA;AAAA,MACD;AAAA,IACD,CAAC,EACA,KAAK;AAAA,EACR;AAEA,WAAS,kBAAkB,YAAkC;AAC5D,WAAO,WACL,IAAI,CAAC,EAAE,YAAY,MAAM;AACzB,aAAO,YAAY,IAAI,CAAC,eAAe;AACtC,cAAM,EAAE,aAAa,GAAG,IAAI;AAC5B,cAAM,SACJ,YAAY,WAAW,IACrB,KAAK,WAAW,GAAG,QACnB,YAAY;AAAA,UACZ,CAAC,KAAK,EAAE,OAAAA,OAAM,MAAM,GAAG,GAAG,MAAMA,MAAK;AAAA,UACrC;AAAA,QACD,MAAM;AAET,eAAO;AAAA,UACN;AAAA,UACA;AAAA,UACA;AAAA,QACD;AAAA,MACD,CAAC;AAAA,IACF,CAAC,EACA,KAAK;AAAA,EACR;AAGA,MAAI,gBAAgB;AAEnB,UAAM,aAAa,OAAO,cAAc;AACxC,WAAO,kBAAkB,UAAU;AAAA,EACpC;AACA,SAAO,eAAe;AACvB","sourcesContent":["import type { ScorecardDataQueryResponse } from \"../hooks/data\";\nimport type { ScorecardMeta } from \"../components\";\nimport type {\n\tScorecardConfig,\n\tScorecardDataGroup,\n\tScorecardTableData,\n} from \"../schemas/config\";\nimport { fromPairs, head } from \"lodash\";\n\nexport interface AnalyticsData {\n\tdx?: string;\n\tpe?: string;\n\tou?: string;\n\tvalue?: string;\n\n\t[key: string]: string | undefined;\n}\n\nexport function sanitizeAnalyticsData(data: ScorecardDataQueryResponse) {\n\tconst { headers, rows } = data.data;\n\treturn rows.map((row) => {\n\t\treturn fromPairs(\n\t\t\trow.map((value, index) => {\n\t\t\t\tconst key = headers[index].name as \"dx\" | \"ou\" | \"pe\";\n\t\t\t\treturn [key, value];\n\t\t\t}),\n\t\t) as AnalyticsData;\n\t});\n}\n\nexport function getRowsFromMeta({\n\tmeta,\n\tconfig,\n\tshowHierarchy,\n\tshowDataInRows,\n}: {\n\tmeta: ScorecardMeta;\n\tshowDataInRows: boolean;\n\tshowHierarchy: boolean;\n\tconfig: ScorecardConfig;\n}): ScorecardTableData[] {\n\tfunction getOrgUnitData() {\n\t\treturn meta.orgUnits\n\t\t\t.map((orgUnit) => {\n\t\t\t\tconst label = showHierarchy\n\t\t\t\t\t? orgUnit.hierarchy.replace(\"/\", \"\") ?? \"\"\n\t\t\t\t\t: orgUnit.name ?? \"\";\n\n\t\t\t\treturn {\n\t\t\t\t\tlabel,\n\t\t\t\t\torgUnit,\n\t\t\t\t};\n\t\t\t})\n\t\t\t.flat();\n\t}\n\n\tfunction getDataGroupsData(dataGroups: ScorecardDataGroup[]) {\n\t\treturn dataGroups\n\t\t\t.map(({ dataHolders }) => {\n\t\t\t\treturn dataHolders.map((dataHolder) => {\n\t\t\t\t\tconst { dataSources, id } = dataHolder;\n\t\t\t\t\tconst label =\n\t\t\t\t\t\t(dataSources.length === 1\n\t\t\t\t\t\t\t? head(dataSources)?.label\n\t\t\t\t\t\t\t: dataSources.reduce(\n\t\t\t\t\t\t\t\t\t(acc, { label }) => `${acc} / ${label}`,\n\t\t\t\t\t\t\t\t\t\"\",\n\t\t\t\t\t\t\t\t)) ?? \"\";\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tid,\n\t\t\t\t\t\tlabel,\n\t\t\t\t\t\tdataHolder,\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t})\n\t\t\t.flat();\n\t}\n\n\t//No need of computing the average of each row\n\tif (showDataInRows) {\n\t\t//Rows are derived from groups\n\t\tconst dataGroups = config.dataSelection.dataGroups;\n\t\treturn getDataGroupsData(dataGroups);\n\t}\n\treturn getOrgUnitData();\n}\n"]}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
function createScorecardDataEngine() {
|
|
2
|
-
return {
|
|
3
|
-
data: [],
|
|
4
|
-
isDone: false,
|
|
5
|
-
listeners: [],
|
|
6
|
-
addListener(listener) {
|
|
7
|
-
this.listeners.push(listener);
|
|
8
|
-
},
|
|
9
|
-
removeListener(listener) {
|
|
10
|
-
return this.listeners.filter((l) => l !== listener);
|
|
11
|
-
},
|
|
12
|
-
updateData(data) {
|
|
13
|
-
this.data = [...this.data, ...data];
|
|
14
|
-
for (const listener of this.listeners) {
|
|
15
|
-
listener(this.data);
|
|
16
|
-
}
|
|
17
|
-
},
|
|
18
|
-
complete() {
|
|
19
|
-
for (const listener of this.listeners) {
|
|
20
|
-
this.isDone = true;
|
|
21
|
-
listener("done");
|
|
22
|
-
}
|
|
23
|
-
},
|
|
24
|
-
clear() {
|
|
25
|
-
this.data = [];
|
|
26
|
-
this.isDone = false;
|
|
27
|
-
}
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
export { createScorecardDataEngine };
|
|
32
|
-
//# sourceMappingURL=out.js.map
|
|
33
|
-
//# sourceMappingURL=dataEngine.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/Scorecard/utils/dataEngine.ts"],"names":[],"mappings":"AAMO,SAAS,4BAA4B;AAC3C,SAAO;AAAA,IACN,MAAM,CAAC;AAAA,IACP,QAAQ;AAAA,IACR,WAAW,CAAC;AAAA,IACZ,YAAY,UAA8B;AACzC,WAAK,UAAU,KAAK,QAAQ;AAAA,IAC7B;AAAA,IACA,eAAe,UAA8B;AAC5C,aAAO,KAAK,UAAU,OAAO,CAAC,MAAM,MAAM,QAAQ;AAAA,IACnD;AAAA,IACA,WAAW,MAAuB;AACjC,WAAK,OAAO,CAAC,GAAG,KAAK,MAAM,GAAG,IAAI;AAClC,iBAAW,YAAY,KAAK,WAAW;AACtC,iBAAS,KAAK,IAAI;AAAA,MACnB;AAAA,IACD;AAAA,IACA,WAAW;AACV,iBAAW,YAAY,KAAK,WAAW;AACtC,aAAK,SAAS;AACd,iBAAS,MAAM;AAAA,MAChB;AAAA,IACD;AAAA,IACA,QAAQ;AACP,WAAK,OAAO,CAAC;AACb,WAAK,SAAS;AAAA,IACf;AAAA,EACD;AACD","sourcesContent":["import type { AnalyticsData } from \"./data\";\n\nexport type DataEngineListener = (data: AnalyticsData[] | \"done\") => void;\n\nexport type ScorecardDataEngine = ReturnType<typeof createScorecardDataEngine>;\n\nexport function createScorecardDataEngine() {\n\treturn {\n\t\tdata: [] as AnalyticsData[],\n\t\tisDone: false,\n\t\tlisteners: [] as DataEngineListener[],\n\t\taddListener(listener: DataEngineListener) {\n\t\t\tthis.listeners.push(listener);\n\t\t},\n\t\tremoveListener(listener: DataEngineListener) {\n\t\t\treturn this.listeners.filter((l) => l !== listener);\n\t\t},\n\t\tupdateData(data: AnalyticsData[]) {\n\t\t\tthis.data = [...this.data, ...data];\n\t\t\tfor (const listener of this.listeners) {\n\t\t\t\tlistener(this.data);\n\t\t\t}\n\t\t},\n\t\tcomplete() {\n\t\t\tfor (const listener of this.listeners) {\n\t\t\t\tthis.isDone = true;\n\t\t\t\tlistener(\"done\");\n\t\t\t}\n\t\t},\n\t\tclear() {\n\t\t\tthis.data = [];\n\t\t\tthis.isDone = false;\n\t\t},\n\t};\n}\n"]}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { flattenDeep, compact } from 'lodash';
|
|
2
|
-
|
|
3
|
-
function getHoldersFromGroups(dataGroups) {
|
|
4
|
-
return flattenDeep(dataGroups?.map(({ dataHolders }) => dataHolders) ?? []);
|
|
5
|
-
}
|
|
6
|
-
function getDataSourcesFromGroups(dataGroups) {
|
|
7
|
-
const dataHolders = compact(getHoldersFromGroups(dataGroups));
|
|
8
|
-
return flattenDeep(dataHolders?.map(({ dataSources }) => dataSources));
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export { getDataSourcesFromGroups, getHoldersFromGroups };
|
|
12
|
-
//# sourceMappingURL=out.js.map
|
|
13
|
-
//# sourceMappingURL=dataSources.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/Scorecard/utils/dataSources.ts"],"names":[],"mappings":"AAAA,SAAS,SAAS,mBAAmB;AAM9B,SAAS,qBACf,YACwB;AACxB,SAAO,YAAY,YAAY,IAAI,CAAC,EAAE,YAAY,MAAM,WAAW,KAAK,CAAC,CAAC;AAC3E;AAEO,SAAS,yBAAyB,YAAkC;AAC1E,QAAM,cAAc,QAAQ,qBAAqB,UAAU,CAAC;AAC5D,SAAO,YAAY,aAAa,IAAI,CAAC,EAAE,YAAY,MAAM,WAAW,CAAC;AACtE","sourcesContent":["import { compact, flattenDeep } from \"lodash\";\nimport type {\n\tScorecardDataGroup,\n\tScorecardDataHolder,\n} from \"../schemas/config\";\n\nexport function getHoldersFromGroups(\n\tdataGroups: ScorecardDataGroup[],\n): ScorecardDataHolder[] {\n\treturn flattenDeep(dataGroups?.map(({ dataHolders }) => dataHolders) ?? []);\n}\n\nexport function getDataSourcesFromGroups(dataGroups: ScorecardDataGroup[]) {\n\tconst dataHolders = compact(getHoldersFromGroups(dataGroups));\n\treturn flattenDeep(dataHolders?.map(({ dataSources }) => dataSources));\n}\n"]}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
class ScorecardEngine {
|
|
2
|
-
constructor({
|
|
3
|
-
config,
|
|
4
|
-
meta,
|
|
5
|
-
state
|
|
6
|
-
}) {
|
|
7
|
-
this.config = config;
|
|
8
|
-
this.meta = meta;
|
|
9
|
-
this.state = state;
|
|
10
|
-
}
|
|
11
|
-
getRows() {
|
|
12
|
-
return [];
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export { ScorecardEngine };
|
|
17
|
-
//# sourceMappingURL=out.js.map
|
|
18
|
-
//# sourceMappingURL=engine.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/Scorecard/utils/engine.ts"],"names":[],"mappings":"AAOO,MAAM,gBAAgB;AAAA,EAK5B,YAAY;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,EACD,GAIG;AACF,SAAK,SAAS;AACd,SAAK,OAAO;AACZ,SAAK,QAAQ;AAAA,EACd;AAAA,EAEA,UAAgC;AAC/B,WAAO,CAAC;AAAA,EACT;AACD","sourcesContent":["import type {\n\tScorecardConfig,\n\tScorecardState,\n\tScorecardTableData,\n} from \"../schemas/config\";\nimport type { ScorecardMeta } from \"../components/MetaProvider\";\n\nexport class ScorecardEngine {\n\tconfig: ScorecardConfig;\n\tstate: ScorecardState;\n\tmeta: ScorecardMeta;\n\n\tconstructor({\n\t\tconfig,\n\t\tmeta,\n\t\tstate,\n\t}: {\n\t\tconfig: ScorecardConfig;\n\t\tstate: ScorecardState;\n\t\tmeta: ScorecardMeta;\n\t}) {\n\t\tthis.config = config;\n\t\tthis.meta = meta;\n\t\tthis.state = state;\n\t}\n\n\tgetRows(): ScorecardTableData[] {\n\t\treturn [];\n\t}\n}\n"]}
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
import { isEmpty, head, find } from 'lodash';
|
|
2
|
-
|
|
3
|
-
function findLegend({
|
|
4
|
-
max,
|
|
5
|
-
legendDefinitions,
|
|
6
|
-
value,
|
|
7
|
-
legends
|
|
8
|
-
}) {
|
|
9
|
-
if (!value) {
|
|
10
|
-
return find(legendDefinitions, { id: "No Data" });
|
|
11
|
-
}
|
|
12
|
-
const numericValue = value;
|
|
13
|
-
if (numericValue > max) {
|
|
14
|
-
return find(legendDefinitions, { id: "N/A" });
|
|
15
|
-
}
|
|
16
|
-
if (isNaN(numericValue)) {
|
|
17
|
-
return find(legendDefinitions, { id: "No Data" });
|
|
18
|
-
}
|
|
19
|
-
const { legendDefinitionId } = find(legends, (legend) => {
|
|
20
|
-
if (legend) {
|
|
21
|
-
const { startValue, endValue } = legend;
|
|
22
|
-
if (+endValue === max) {
|
|
23
|
-
return +startValue <= numericValue && +endValue >= numericValue;
|
|
24
|
-
}
|
|
25
|
-
return +startValue <= numericValue && +endValue > numericValue;
|
|
26
|
-
}
|
|
27
|
-
return false;
|
|
28
|
-
}) ?? {};
|
|
29
|
-
return find(legendDefinitions, ["id", legendDefinitionId]);
|
|
30
|
-
}
|
|
31
|
-
function getSpecificTargetLegends(specificTarget, id) {
|
|
32
|
-
if (specificTarget.items.includes(id)) {
|
|
33
|
-
return specificTarget.legends;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
function getLegendByOrgUnitLevel({
|
|
37
|
-
orgUnit,
|
|
38
|
-
orgUnitLevels,
|
|
39
|
-
legends
|
|
40
|
-
}) {
|
|
41
|
-
const orgUnitLevel = orgUnitLevels.find(({ id, level }) => {
|
|
42
|
-
const ouLevel = orgUnit.hierarchy.split("/").filter(Boolean).length;
|
|
43
|
-
return level === ouLevel;
|
|
44
|
-
});
|
|
45
|
-
if (!orgUnitLevel) {
|
|
46
|
-
throw new Error("Invalid orgUnitId");
|
|
47
|
-
}
|
|
48
|
-
return legends[orgUnitLevel.id];
|
|
49
|
-
}
|
|
50
|
-
function getLegend({
|
|
51
|
-
dataSource,
|
|
52
|
-
config,
|
|
53
|
-
value,
|
|
54
|
-
periodId,
|
|
55
|
-
orgUnit,
|
|
56
|
-
orgUnitLevels
|
|
57
|
-
}) {
|
|
58
|
-
let legends = [];
|
|
59
|
-
if (periodId && orgUnit && orgUnitLevels) {
|
|
60
|
-
if (!Array.isArray(dataSource.legends)) {
|
|
61
|
-
legends = getLegendByOrgUnitLevel({
|
|
62
|
-
orgUnit,
|
|
63
|
-
orgUnitLevels,
|
|
64
|
-
legends: dataSource.legends
|
|
65
|
-
});
|
|
66
|
-
} else {
|
|
67
|
-
const specificTargets = dataSource.specificTargets;
|
|
68
|
-
if (!isEmpty(specificTargets)) {
|
|
69
|
-
const specificTarget = head(specificTargets);
|
|
70
|
-
switch (specificTarget.type) {
|
|
71
|
-
case "periods":
|
|
72
|
-
const targetLegends = getSpecificTargetLegends(
|
|
73
|
-
specificTarget,
|
|
74
|
-
periodId
|
|
75
|
-
);
|
|
76
|
-
legends = targetLegends ?? dataSource.legends;
|
|
77
|
-
break;
|
|
78
|
-
case "orgUnit":
|
|
79
|
-
const targetOrgUnitLegends = getSpecificTargetLegends(
|
|
80
|
-
specificTarget,
|
|
81
|
-
orgUnit.uid
|
|
82
|
-
);
|
|
83
|
-
legends = targetOrgUnitLegends ?? dataSource.legends;
|
|
84
|
-
break;
|
|
85
|
-
default:
|
|
86
|
-
legends = dataSource.legends;
|
|
87
|
-
}
|
|
88
|
-
} else {
|
|
89
|
-
legends = dataSource.legends;
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
} else {
|
|
93
|
-
if (Array.isArray(dataSource.legends)) {
|
|
94
|
-
legends = dataSource.legends;
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
return findLegend({
|
|
98
|
-
legends,
|
|
99
|
-
value,
|
|
100
|
-
max: dataSource.weight,
|
|
101
|
-
legendDefinitions: config.legendDefinitions
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
function getTextColorFromBackgroundColor(background) {
|
|
105
|
-
background = background.replace(/^#/, "");
|
|
106
|
-
let r = parseInt(background.substring(0, 2), 16);
|
|
107
|
-
let g = parseInt(background.substring(2, 4), 16);
|
|
108
|
-
let b = parseInt(background.substring(4, 6), 16);
|
|
109
|
-
let yiq = (r * 299 + g * 587 + b * 114) / 1e3;
|
|
110
|
-
return yiq >= 128 ? "#000000" : "#FFFFFF";
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
export { getLegend, getTextColorFromBackgroundColor };
|
|
114
|
-
//# sourceMappingURL=out.js.map
|
|
115
|
-
//# sourceMappingURL=legends.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/Scorecard/utils/legends.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n\tLegendDefinition,\n\tOrgUnitLevelLegend,\n\tScorecardConfig,\n\tScorecardDataSource,\n\tScorecardLegend,\n\tSpecificTarget,\n} from \"../schemas/config\";\nimport { find, head, isEmpty } from \"lodash\";\nimport type { ItemMeta } from \"../hooks/metadata\";\n\nfunction findLegend({\n\tmax,\n\tlegendDefinitions,\n\tvalue,\n\tlegends,\n}: {\n\tmax: number;\n\tlegendDefinitions: LegendDefinition[];\n\tlegends: ScorecardLegend[];\n\tvalue?: number;\n}): LegendDefinition | undefined {\n\tif (!value) {\n\t\treturn find(legendDefinitions, { id: \"No Data\" });\n\t}\n\tconst numericValue = value;\n\tif (numericValue > max) {\n\t\treturn find(legendDefinitions, { id: \"N/A\" });\n\t}\n\tif (isNaN(numericValue)) {\n\t\treturn find(legendDefinitions, { id: \"No Data\" });\n\t}\n\n\tconst { legendDefinitionId } =\n\t\tfind(legends, (legend) => {\n\t\t\tif (legend) {\n\t\t\t\tconst { startValue, endValue } = legend;\n\t\t\t\tif (+endValue === max) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t+startValue <= numericValue && +endValue >= numericValue\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn +startValue <= numericValue && +endValue > numericValue;\n\t\t\t}\n\t\t\treturn false;\n\t\t}) ?? {};\n\n\treturn find(legendDefinitions, [\"id\", legendDefinitionId]);\n}\n\nfunction getSpecificTargetLegends(specificTarget: SpecificTarget, id: string) {\n\tif (specificTarget.items.includes(id)) {\n\t\treturn specificTarget.legends;\n\t}\n}\n\nfunction getLegendByOrgUnitLevel({\n\torgUnit,\n\torgUnitLevels,\n\tlegends,\n}: {\n\torgUnit: ItemMeta & { hierarchy: string };\n\tlegends: Record<string, ScorecardLegend[]>;\n\torgUnitLevels: Array<{\n\t\tid: string;\n\t\tlevel: number;\n\t}>;\n}): ScorecardLegend[] {\n\tconst orgUnitLevel = orgUnitLevels.find(({ id, level }) => {\n\t\tconst ouLevel = orgUnit.hierarchy.split(\"/\").filter(Boolean).length;\n\t\treturn level === ouLevel;\n\t});\n\n\tif (!orgUnitLevel) {\n\t\tthrow new Error(\"Invalid orgUnitId\");\n\t}\n\n\treturn legends[orgUnitLevel.id];\n}\n\nexport function getLegend({\n\tdataSource,\n\tconfig,\n\tvalue,\n\tperiodId,\n\torgUnit,\n\torgUnitLevels,\n}: {\n\tdataSource: ScorecardDataSource;\n\tvalue?: number;\n\tconfig: ScorecardConfig;\n\tperiodId?: string;\n\torgUnit?: ItemMeta & { hierarchy: string };\n\torgUnitLevels?: Array<{\n\t\tid: string;\n\t\tlevel: number;\n\t}>;\n}) {\n\tlet legends: ScorecardLegend[] = [];\n\n\tif (periodId && orgUnit && orgUnitLevels) {\n\t\tif (!Array.isArray(dataSource.legends)) {\n\t\t\tlegends = getLegendByOrgUnitLevel({\n\t\t\t\torgUnit,\n\t\t\t\torgUnitLevels,\n\t\t\t\tlegends: dataSource.legends as OrgUnitLevelLegend,\n\t\t\t});\n\t\t} else {\n\t\t\tconst specificTargets = dataSource.specificTargets;\n\t\t\tif (!isEmpty(specificTargets)) {\n\t\t\t\tconst specificTarget = head(specificTargets)!;\n\t\t\t\tswitch (specificTarget.type) {\n\t\t\t\t\tcase \"periods\":\n\t\t\t\t\t\tconst targetLegends = getSpecificTargetLegends(\n\t\t\t\t\t\t\tspecificTarget,\n\t\t\t\t\t\t\tperiodId,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tlegends = targetLegends ?? dataSource.legends;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"orgUnit\":\n\t\t\t\t\t\tconst targetOrgUnitLegends = getSpecificTargetLegends(\n\t\t\t\t\t\t\tspecificTarget,\n\t\t\t\t\t\t\torgUnit.uid,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tlegends = targetOrgUnitLegends ?? dataSource.legends;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tlegends = dataSource.legends;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tlegends = dataSource.legends;\n\t\t\t}\n\t\t}\n\t} else {\n\t\tif (Array.isArray(dataSource.legends)) {\n\t\t\tlegends = dataSource.legends;\n\t\t}\n\t}\n\n\treturn findLegend({\n\t\tlegends,\n\t\tvalue: value,\n\t\tmax: dataSource.weight,\n\t\tlegendDefinitions: config.legendDefinitions,\n\t});\n}\n\nexport function getTextColorFromBackgroundColor(background: string): string {\n\t// Remove the hash at the start if it's there\n\tbackground = background.replace(/^#/, \"\");\n\n\t// Convert hex to RGB\n\tlet r = parseInt(background.substring(0, 2), 16);\n\tlet g = parseInt(background.substring(2, 4), 16);\n\tlet b = parseInt(background.substring(4, 6), 16);\n\n\t// Calculate the YIQ value\n\tlet yiq = (r * 299 + g * 587 + b * 114) / 1000;\n\n\t// Return black for light backgrounds and white for dark backgrounds\n\treturn yiq >= 128 ? \"#000000\" : \"#FFFFFF\";\n}\n"]}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
function getOrgUnitsForAnalytics(orgUnitSelection) {
|
|
2
|
-
const {
|
|
3
|
-
userOrgUnit,
|
|
4
|
-
orgUnits,
|
|
5
|
-
userSubUnit,
|
|
6
|
-
userSubX2Unit,
|
|
7
|
-
levels,
|
|
8
|
-
groups
|
|
9
|
-
} = orgUnitSelection ?? {};
|
|
10
|
-
const results = [];
|
|
11
|
-
if (userOrgUnit) {
|
|
12
|
-
results.push("USER_ORGUNIT");
|
|
13
|
-
}
|
|
14
|
-
if (userSubUnit) {
|
|
15
|
-
results.push("USER_ORGUNIT_CHILDREN");
|
|
16
|
-
}
|
|
17
|
-
if (userSubX2Unit) {
|
|
18
|
-
results.push("USER_ORGUNIT_GRANDCHILDREN");
|
|
19
|
-
}
|
|
20
|
-
if (orgUnits) {
|
|
21
|
-
results.push(...orgUnits.map((orgUnit) => orgUnit.id));
|
|
22
|
-
}
|
|
23
|
-
if (groups) {
|
|
24
|
-
results.push(...groups.map((group) => `OU_GROUP-${group}`));
|
|
25
|
-
}
|
|
26
|
-
if (levels) {
|
|
27
|
-
results.push(...levels.map((level) => `LEVEL-${level}`));
|
|
28
|
-
}
|
|
29
|
-
return results;
|
|
30
|
-
}
|
|
31
|
-
function getOrgUnitLevel(orgUnit) {
|
|
32
|
-
return orgUnit.hierarchy.split("/").filter(Boolean).length;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
export { getOrgUnitLevel, getOrgUnitsForAnalytics };
|
|
36
|
-
//# sourceMappingURL=out.js.map
|
|
37
|
-
//# sourceMappingURL=orgUnits.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/Scorecard/utils/orgUnits.ts"],"names":[],"mappings":"AAGO,SAAS,wBACf,kBACW;AACX,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,IAAI,oBAAoB,CAAC;AACzB,QAAM,UAAU,CAAC;AAEjB,MAAI,aAAa;AAChB,YAAQ,KAAK,cAAc;AAAA,EAC5B;AACA,MAAI,aAAa;AAChB,YAAQ,KAAK,uBAAuB;AAAA,EACrC;AACA,MAAI,eAAe;AAClB,YAAQ,KAAK,4BAA4B;AAAA,EAC1C;AAEA,MAAI,UAAU;AACb,YAAQ,KAAK,GAAG,SAAS,IAAI,CAAC,YAAY,QAAQ,EAAE,CAAC;AAAA,EACtD;AACA,MAAI,QAAQ;AACX,YAAQ,KAAK,GAAG,OAAO,IAAI,CAAC,UAAU,YAAY,KAAK,EAAE,CAAC;AAAA,EAC3D;AACA,MAAI,QAAQ;AACX,YAAQ,KAAK,GAAG,OAAO,IAAI,CAAC,UAAU,SAAS,KAAK,EAAE,CAAC;AAAA,EACxD;AACA,SAAO;AACR;AAEO,SAAS,gBAAgB,SAA2C;AAC1E,SAAO,QAAQ,UAAU,MAAM,GAAG,EAAE,OAAO,OAAO,EAAE;AACrD","sourcesContent":["import type { OrgUnitSelection } from \"../schemas/config\";\nimport type { ItemMeta } from \"../hooks/metadata\";\n\nexport function getOrgUnitsForAnalytics(\n\torgUnitSelection: OrgUnitSelection,\n): string[] {\n\tconst {\n\t\tuserOrgUnit,\n\t\torgUnits,\n\t\tuserSubUnit,\n\t\tuserSubX2Unit,\n\t\tlevels,\n\t\tgroups,\n\t} = orgUnitSelection ?? {};\n\tconst results = [];\n\n\tif (userOrgUnit) {\n\t\tresults.push(\"USER_ORGUNIT\");\n\t}\n\tif (userSubUnit) {\n\t\tresults.push(\"USER_ORGUNIT_CHILDREN\");\n\t}\n\tif (userSubX2Unit) {\n\t\tresults.push(\"USER_ORGUNIT_GRANDCHILDREN\");\n\t}\n\n\tif (orgUnits) {\n\t\tresults.push(...orgUnits.map((orgUnit) => orgUnit.id));\n\t}\n\tif (groups) {\n\t\tresults.push(...groups.map((group) => `OU_GROUP-${group}`));\n\t}\n\tif (levels) {\n\t\tresults.push(...levels.map((level) => `LEVEL-${level}`));\n\t}\n\treturn results;\n}\n\nexport function getOrgUnitLevel(orgUnit: ItemMeta & { hierarchy: string }) {\n\treturn orgUnit.hierarchy.split(\"/\").filter(Boolean).length;\n}\n"]}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
function getInitialStateFromConfig(config, options) {
|
|
2
|
-
return {
|
|
3
|
-
periodSelection: config.periodSelection,
|
|
4
|
-
orgUnitSelection: config.orgUnitSelection,
|
|
5
|
-
options: config.options,
|
|
6
|
-
nested: options?.nested ?? false,
|
|
7
|
-
hasOnePeriod: config.periodSelection.periods.length === 1
|
|
8
|
-
};
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export { getInitialStateFromConfig };
|
|
12
|
-
//# sourceMappingURL=out.js.map
|
|
13
|
-
//# sourceMappingURL=state.js.map
|