@hisptz/dhis2-analytics 2.0.14 → 2.0.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Scorecard/Scorecard.js +22 -0
- package/dist/components/Scorecard/Scorecard.js.map +1 -0
- package/dist/components/Scorecard/Scorecard.stories.js +1188 -0
- package/dist/components/Scorecard/Scorecard.stories.js.map +1 -0
- package/dist/components/Scorecard/components/ConfigProvider.js +17 -0
- package/dist/components/Scorecard/components/ConfigProvider.js.map +1 -0
- package/dist/components/Scorecard/components/DataProvider.js +39 -0
- package/dist/components/Scorecard/components/DataProvider.js.map +1 -0
- package/dist/components/Scorecard/components/MetaProvider.js +45 -0
- package/dist/components/Scorecard/components/MetaProvider.js.map +1 -0
- package/dist/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/FurtherAnalysisDictionary.js +29 -0
- package/dist/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/FurtherAnalysisDictionary.js.map +1 -0
- package/dist/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/ConfigProvider.js +30 -0
- package/dist/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/ConfigProvider.js.map +1 -0
- package/dist/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/DetailsProvider.js +62 -0
- package/dist/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/DetailsProvider.js.map +1 -0
- package/dist/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/index.js +14 -0
- package/dist/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/index.js.map +1 -0
- package/dist/components/Scorecard/components/ScorecardTable/FurtherAnalysisVisualization.js +77 -0
- package/dist/components/Scorecard/components/ScorecardTable/FurtherAnalysisVisualization.js.map +1 -0
- package/dist/components/Scorecard/components/ScorecardTable/ScorecardTable.js +42 -0
- package/dist/components/Scorecard/components/ScorecardTable/ScorecardTable.js.map +1 -0
- package/dist/components/Scorecard/components/ScorecardTable/ScorecardTable.module.css +11 -0
- package/dist/components/Scorecard/components/ScorecardTable/ScorecardTable.module.css.map +1 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/AverageCell.js +102 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/AverageCell.js.map +1 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/AverageFooterCell.js +24 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/AverageFooterCell.js.map +1 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/DataContainer.js +27 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/DataContainer.js.map +1 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/DataFooterCell.js +50 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/DataFooterCell.js.map +1 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/DataRow.js +50 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/DataRow.js.map +1 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/DataValue.js +66 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/DataValue.js.map +1 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/DraggableCell.js +47 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/DraggableCell.js.map +1 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/DroppableCell.js +38 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/DroppableCell.js.map +1 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/EmptyFooterCell.js +12 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/EmptyFooterCell.js.map +1 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/ExpandedScorecardTable.js +56 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/ExpandedScorecardTable.js.map +1 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisMenu.js +152 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisMenu.js.map +1 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisModal.js +58 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisModal.js.map +1 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/LinkedCell.js +100 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/LinkedCell.js.map +1 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/LinkedDataCell.js +95 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/LinkedDataCell.js.map +1 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/LinkedDataFooterCell.js +45 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/LinkedDataFooterCell.js.map +1 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.js +20 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.js.map +1 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/SingleDataCell.js +98 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/SingleDataCell.js.map +1 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/SingleDataFooterCell.js +38 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/SingleDataFooterCell.js.map +1 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/TableBody.js +15 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/TableBody.js.map +1 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/TableFoot.js +28 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/TableFoot.js.map +1 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.js +20 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.js.map +1 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.module.css +12 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.module.css.map +1 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.js +40 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.js.map +1 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js +62 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js.map +1 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/ExpandCell.js +16 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/ExpandCell.js.map +1 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/FilterArea.js +37 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/FilterArea.js.map +1 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.js +49 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.js.map +1 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js +63 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js.map +1 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.js +24 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.js.map +1 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/index.js +14 -0
- package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/index.js.map +1 -0
- package/dist/components/Scorecard/components/ScorecardTable/index.js +14 -0
- package/dist/components/Scorecard/components/ScorecardTable/index.js.map +1 -0
- package/dist/components/Scorecard/components/StateProvider.js +26 -0
- package/dist/components/Scorecard/components/StateProvider.js.map +1 -0
- package/dist/components/Scorecard/components/StateSetProvider.js +17 -0
- package/dist/components/Scorecard/components/StateSetProvider.js.map +1 -0
- package/dist/components/Scorecard/components/TableStateProvider.js +26 -0
- package/dist/components/Scorecard/components/TableStateProvider.js.map +1 -0
- package/dist/components/Scorecard/hooks/average.js +50 -0
- package/dist/components/Scorecard/hooks/average.js.map +1 -0
- package/dist/components/Scorecard/hooks/cellData.js +36 -0
- package/dist/components/Scorecard/hooks/cellData.js.map +1 -0
- package/dist/components/Scorecard/hooks/columns.js +150 -0
- package/dist/components/Scorecard/hooks/columns.js.map +1 -0
- package/dist/components/Scorecard/hooks/data.js +97 -0
- package/dist/components/Scorecard/hooks/data.js.map +1 -0
- package/dist/components/Scorecard/hooks/metadata.js +95 -0
- package/dist/components/Scorecard/hooks/metadata.js.map +1 -0
- package/dist/components/Scorecard/hooks/orgUnit.js +17 -0
- package/dist/components/Scorecard/hooks/orgUnit.js.map +1 -0
- package/dist/components/Scorecard/hooks/period.js +15 -0
- package/dist/components/Scorecard/hooks/period.js.map +1 -0
- package/dist/components/Scorecard/hooks/table.js +40 -0
- package/dist/components/Scorecard/hooks/table.js.map +1 -0
- package/dist/components/Scorecard/index.js +21 -0
- package/dist/components/Scorecard/index.js.map +1 -0
- package/dist/components/Scorecard/schemas/config.js +181 -0
- package/dist/components/Scorecard/schemas/config.js.map +1 -0
- package/dist/components/Scorecard/utils/analytics.js +27 -0
- package/dist/components/Scorecard/utils/analytics.js.map +1 -0
- package/dist/components/Scorecard/utils/columns.js +331 -0
- package/dist/components/Scorecard/utils/columns.js.map +1 -0
- package/dist/components/Scorecard/utils/data.js +147 -0
- package/dist/components/Scorecard/utils/data.js.map +1 -0
- package/dist/components/Scorecard/utils/dataSources.js +16 -0
- package/dist/components/Scorecard/utils/dataSources.js.map +1 -0
- package/dist/components/Scorecard/utils/engine.js +20 -0
- package/dist/components/Scorecard/utils/engine.js.map +1 -0
- package/dist/components/Scorecard/utils/legends.js +118 -0
- package/dist/components/Scorecard/utils/legends.js.map +1 -0
- package/dist/components/Scorecard/utils/orgUnits.js +40 -0
- package/dist/components/Scorecard/utils/orgUnits.js.map +1 -0
- package/dist/esm/components/Scorecard/Scorecard.js +20 -0
- package/dist/esm/components/Scorecard/Scorecard.js.map +1 -0
- package/dist/esm/components/Scorecard/Scorecard.stories.js +1178 -0
- package/dist/esm/components/Scorecard/Scorecard.stories.js.map +1 -0
- package/dist/esm/components/Scorecard/components/ConfigProvider.js +14 -0
- package/dist/esm/components/Scorecard/components/ConfigProvider.js.map +1 -0
- package/dist/esm/components/Scorecard/components/DataProvider.js +36 -0
- package/dist/esm/components/Scorecard/components/DataProvider.js.map +1 -0
- package/dist/esm/components/Scorecard/components/MetaProvider.js +42 -0
- package/dist/esm/components/Scorecard/components/MetaProvider.js.map +1 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/FurtherAnalysisDictionary.js +23 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/FurtherAnalysisDictionary.js.map +1 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/ConfigProvider.js +27 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/ConfigProvider.js.map +1 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/DetailsProvider.js +55 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/DetailsProvider.js.map +1 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/index.js +3 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/index.js.map +1 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/FurtherAnalysisVisualization.js +75 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/FurtherAnalysisVisualization.js.map +1 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/ScorecardTable.js +40 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/ScorecardTable.js.map +1 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/ScorecardTable.module.css +11 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/ScorecardTable.module.css.map +1 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/AverageCell.js +98 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/AverageCell.js.map +1 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/AverageFooterCell.js +22 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/AverageFooterCell.js.map +1 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataContainer.js +25 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataContainer.js.map +1 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataFooterCell.js +48 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataFooterCell.js.map +1 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataRow.js +44 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataRow.js.map +1 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataValue.js +64 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataValue.js.map +1 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/DraggableCell.js +45 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/DraggableCell.js.map +1 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/DroppableCell.js +36 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/DroppableCell.js.map +1 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/EmptyFooterCell.js +10 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/EmptyFooterCell.js.map +1 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/ExpandedScorecardTable.js +54 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/ExpandedScorecardTable.js.map +1 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisMenu.js +146 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisMenu.js.map +1 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisModal.js +52 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisModal.js.map +1 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/LinkedCell.js +94 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/LinkedCell.js.map +1 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/LinkedDataCell.js +93 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/LinkedDataCell.js.map +1 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/LinkedDataFooterCell.js +43 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/LinkedDataFooterCell.js.map +1 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.js +14 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.js.map +1 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/SingleDataCell.js +96 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/SingleDataCell.js.map +1 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/SingleDataFooterCell.js +36 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/SingleDataFooterCell.js.map +1 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableBody.js +13 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableBody.js.map +1 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableFoot.js +26 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableFoot.js.map +1 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.js +18 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.js.map +1 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.module.css +12 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.module.css.map +1 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.js +33 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.js.map +1 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js +54 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js.map +1 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/ExpandCell.js +14 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/ExpandCell.js.map +1 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/FilterArea.js +31 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/FilterArea.js.map +1 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.js +42 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.js.map +1 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js +56 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js.map +1 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.js +22 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.js.map +1 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/index.js +3 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/index.js.map +1 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/index.js +3 -0
- package/dist/esm/components/Scorecard/components/ScorecardTable/index.js.map +1 -0
- package/dist/esm/components/Scorecard/components/StateProvider.js +23 -0
- package/dist/esm/components/Scorecard/components/StateProvider.js.map +1 -0
- package/dist/esm/components/Scorecard/components/StateSetProvider.js +14 -0
- package/dist/esm/components/Scorecard/components/StateSetProvider.js.map +1 -0
- package/dist/esm/components/Scorecard/components/TableStateProvider.js +23 -0
- package/dist/esm/components/Scorecard/components/TableStateProvider.js.map +1 -0
- package/dist/esm/components/Scorecard/hooks/average.js +48 -0
- package/dist/esm/components/Scorecard/hooks/average.js.map +1 -0
- package/dist/esm/components/Scorecard/hooks/cellData.js +34 -0
- package/dist/esm/components/Scorecard/hooks/cellData.js.map +1 -0
- package/dist/esm/components/Scorecard/hooks/columns.js +147 -0
- package/dist/esm/components/Scorecard/hooks/columns.js.map +1 -0
- package/dist/esm/components/Scorecard/hooks/data.js +95 -0
- package/dist/esm/components/Scorecard/hooks/data.js.map +1 -0
- package/dist/esm/components/Scorecard/hooks/metadata.js +92 -0
- package/dist/esm/components/Scorecard/hooks/metadata.js.map +1 -0
- package/dist/esm/components/Scorecard/hooks/orgUnit.js +15 -0
- package/dist/esm/components/Scorecard/hooks/orgUnit.js.map +1 -0
- package/dist/esm/components/Scorecard/hooks/period.js +13 -0
- package/dist/esm/components/Scorecard/hooks/period.js.map +1 -0
- package/dist/esm/components/Scorecard/hooks/table.js +38 -0
- package/dist/esm/components/Scorecard/hooks/table.js.map +1 -0
- package/dist/esm/components/Scorecard/index.js +4 -0
- package/dist/esm/components/Scorecard/index.js.map +1 -0
- package/dist/esm/components/Scorecard/schemas/config.js +163 -0
- package/dist/esm/components/Scorecard/schemas/config.js.map +1 -0
- package/dist/esm/components/Scorecard/utils/analytics.js +25 -0
- package/dist/esm/components/Scorecard/utils/analytics.js.map +1 -0
- package/dist/esm/components/Scorecard/utils/columns.js +326 -0
- package/dist/esm/components/Scorecard/utils/columns.js.map +1 -0
- package/dist/esm/components/Scorecard/utils/data.js +144 -0
- package/dist/esm/components/Scorecard/utils/data.js.map +1 -0
- package/dist/esm/components/Scorecard/utils/dataSources.js +13 -0
- package/dist/esm/components/Scorecard/utils/dataSources.js.map +1 -0
- package/dist/esm/components/Scorecard/utils/engine.js +18 -0
- package/dist/esm/components/Scorecard/utils/engine.js.map +1 -0
- package/dist/esm/components/Scorecard/utils/legends.js +115 -0
- package/dist/esm/components/Scorecard/utils/legends.js.map +1 -0
- package/dist/esm/components/Scorecard/utils/orgUnits.js +37 -0
- package/dist/esm/components/Scorecard/utils/orgUnits.js.map +1 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/types/components/Scorecard/Scorecard.d.ts +10 -0
- package/dist/types/components/Scorecard/Scorecard.d.ts.map +1 -0
- package/dist/types/components/Scorecard/components/ConfigProvider.d.ts +125 -0
- package/dist/types/components/Scorecard/components/ConfigProvider.d.ts.map +1 -0
- package/dist/types/components/Scorecard/components/DataProvider.d.ts +13 -0
- package/dist/types/components/Scorecard/components/DataProvider.d.ts.map +1 -0
- package/dist/types/components/Scorecard/components/MetaProvider.d.ts +18 -0
- package/dist/types/components/Scorecard/components/MetaProvider.d.ts.map +1 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/FurtherAnalysisDictionary.d.ts +6 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/FurtherAnalysisDictionary.d.ts.map +1 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/ConfigProvider.d.ts +12 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/ConfigProvider.d.ts.map +1 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/DetailsProvider.d.ts +9 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/DetailsProvider.d.ts.map +1 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/index.d.ts +2 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/index.d.ts.map +1 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/FurtherAnalysisVisualization.d.ts +6 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/FurtherAnalysisVisualization.d.ts.map +1 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/ScorecardTable.d.ts +2 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/ScorecardTable.d.ts.map +1 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/AverageCell.d.ts +19 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/AverageCell.d.ts.map +1 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/AverageFooterCell.d.ts +4 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/AverageFooterCell.d.ts.map +1 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/DataContainer.d.ts +7 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/DataContainer.d.ts.map +1 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/DataFooterCell.d.ts +4 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/DataFooterCell.d.ts.map +1 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/DataRow.d.ts +8 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/DataRow.d.ts.map +1 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/DataValue.d.ts +6 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/DataValue.d.ts.map +1 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/DraggableCell.d.ts +8 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/DraggableCell.d.ts.map +1 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/DroppableCell.d.ts +7 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/DroppableCell.d.ts.map +1 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/EmptyFooterCell.d.ts +4 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/EmptyFooterCell.d.ts.map +1 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/ExpandedScorecardTable.d.ts +7 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/ExpandedScorecardTable.d.ts.map +1 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisMenu.d.ts +15 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisMenu.d.ts.map +1 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisModal.d.ts +13 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisModal.d.ts.map +1 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/LinkedCell.d.ts +19 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/LinkedCell.d.ts.map +1 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/LinkedDataCell.d.ts +14 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/LinkedDataCell.d.ts.map +1 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/LinkedDataFooterCell.d.ts +6 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/LinkedDataFooterCell.d.ts.map +1 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.d.ts +4 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.d.ts.map +1 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/SingleDataCell.d.ts +14 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/SingleDataCell.d.ts.map +1 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/SingleDataFooterCell.d.ts +6 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/SingleDataFooterCell.d.ts.map +1 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableBody.d.ts +2 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableBody.d.ts.map +1 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableFoot.d.ts +2 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableFoot.d.ts.map +1 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.d.ts +2 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.d.ts.map +1 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.d.ts +4 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.d.ts.map +1 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.d.ts +5 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.d.ts.map +1 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/ExpandCell.d.ts +4 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/ExpandCell.d.ts.map +1 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/FilterArea.d.ts +7 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/FilterArea.d.ts.map +1 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.d.ts +6 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.d.ts.map +1 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.d.ts +7 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.d.ts.map +1 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.d.ts +7 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.d.ts.map +1 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/index.d.ts +2 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/index.d.ts.map +1 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/index.d.ts +2 -0
- package/dist/types/components/Scorecard/components/ScorecardTable/index.d.ts.map +1 -0
- package/dist/types/components/Scorecard/components/StateProvider.d.ts +41 -0
- package/dist/types/components/Scorecard/components/StateProvider.d.ts.map +1 -0
- package/dist/types/components/Scorecard/components/StateSetProvider.d.ts +9 -0
- package/dist/types/components/Scorecard/components/StateSetProvider.d.ts.map +1 -0
- package/dist/types/components/Scorecard/components/TableStateProvider.d.ts +55 -0
- package/dist/types/components/Scorecard/components/TableStateProvider.d.ts.map +1 -0
- package/dist/types/components/Scorecard/hooks/average.d.ts +14 -0
- package/dist/types/components/Scorecard/hooks/average.d.ts.map +1 -0
- package/dist/types/components/Scorecard/hooks/cellData.d.ts +18 -0
- package/dist/types/components/Scorecard/hooks/cellData.d.ts.map +1 -0
- package/dist/types/components/Scorecard/hooks/columns.d.ts +54 -0
- package/dist/types/components/Scorecard/hooks/columns.d.ts.map +1 -0
- package/dist/types/components/Scorecard/hooks/data.d.ts +70 -0
- package/dist/types/components/Scorecard/hooks/data.d.ts.map +1 -0
- package/dist/types/components/Scorecard/hooks/metadata.d.ts +34 -0
- package/dist/types/components/Scorecard/hooks/metadata.d.ts.map +1 -0
- package/dist/types/components/Scorecard/hooks/orgUnit.d.ts +5 -0
- package/dist/types/components/Scorecard/hooks/orgUnit.d.ts.map +1 -0
- package/dist/types/components/Scorecard/hooks/period.d.ts +2 -0
- package/dist/types/components/Scorecard/hooks/period.d.ts.map +1 -0
- package/dist/types/components/Scorecard/hooks/table.d.ts +4 -0
- package/dist/types/components/Scorecard/hooks/table.d.ts.map +1 -0
- package/dist/types/components/Scorecard/index.d.ts +3 -0
- package/dist/types/components/Scorecard/index.d.ts.map +1 -0
- package/dist/types/components/Scorecard/schemas/config.d.ts +2522 -0
- package/dist/types/components/Scorecard/schemas/config.d.ts.map +1 -0
- package/dist/types/components/Scorecard/utils/analytics.d.ts +10 -0
- package/dist/types/components/Scorecard/utils/analytics.d.ts.map +1 -0
- package/dist/types/components/Scorecard/utils/columns.d.ts +71 -0
- package/dist/types/components/Scorecard/utils/columns.d.ts.map +1 -0
- package/dist/types/components/Scorecard/utils/data.d.ts +16 -0
- package/dist/types/components/Scorecard/utils/data.d.ts.map +1 -0
- package/dist/types/components/Scorecard/utils/dataSources.d.ts +35 -0
- package/dist/types/components/Scorecard/utils/dataSources.d.ts.map +1 -0
- package/dist/types/components/Scorecard/utils/engine.d.ts +14 -0
- package/dist/types/components/Scorecard/utils/engine.d.ts.map +1 -0
- package/dist/types/components/Scorecard/utils/legends.d.ts +22 -0
- package/dist/types/components/Scorecard/utils/legends.d.ts.map +1 -0
- package/dist/types/components/Scorecard/utils/orgUnits.d.ts +7 -0
- package/dist/types/components/Scorecard/utils/orgUnits.d.ts.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +8 -1
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var lodash = require('lodash');
|
|
4
|
+
var columns = require('./columns');
|
|
5
|
+
|
|
6
|
+
function sanitizeAnalyticsData(data) {
|
|
7
|
+
const { headers, rows } = data.data;
|
|
8
|
+
return rows.map((row) => {
|
|
9
|
+
return lodash.fromPairs(
|
|
10
|
+
row.map((value, index) => {
|
|
11
|
+
const key = headers[index].name;
|
|
12
|
+
return [key, value];
|
|
13
|
+
})
|
|
14
|
+
);
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
function getTableDataFromAnalytics(data, {
|
|
18
|
+
meta,
|
|
19
|
+
state,
|
|
20
|
+
config
|
|
21
|
+
}) {
|
|
22
|
+
const dataInRows = state.options.showDataInRows;
|
|
23
|
+
const showHierarchy = state.options.showHierarchy;
|
|
24
|
+
const sanitizedAnalyticsData = sanitizeAnalyticsData(data);
|
|
25
|
+
const averageFilter = state.options.averageDisplayType;
|
|
26
|
+
function getOrgUnitData() {
|
|
27
|
+
return meta.orgUnits.map((orgUnit, i) => {
|
|
28
|
+
const dataValues = sanitizedAnalyticsData.filter((value) => {
|
|
29
|
+
return orgUnit.uid === value.ou;
|
|
30
|
+
});
|
|
31
|
+
const label = showHierarchy ? orgUnit.hierarchy.replace("/", "") ?? "" : orgUnit.name ?? "";
|
|
32
|
+
return {
|
|
33
|
+
dataValues,
|
|
34
|
+
label,
|
|
35
|
+
orgUnit
|
|
36
|
+
};
|
|
37
|
+
}).flat();
|
|
38
|
+
}
|
|
39
|
+
function getDataGroupsData(dataGroups) {
|
|
40
|
+
return dataGroups.map(({ dataHolders }) => {
|
|
41
|
+
return dataHolders.map((dataHolder) => {
|
|
42
|
+
const { dataSources, id } = dataHolder;
|
|
43
|
+
const dataItemIds = dataSources.map(({ id: id2 }) => id2);
|
|
44
|
+
const dataValues = sanitizedAnalyticsData.filter(
|
|
45
|
+
(value) => {
|
|
46
|
+
return dataItemIds.includes(value.dx);
|
|
47
|
+
}
|
|
48
|
+
);
|
|
49
|
+
const label = (dataSources.length === 1 ? lodash.head(dataSources)?.label : dataSources.reduce(
|
|
50
|
+
(acc, { label: label2 }) => `${acc} / ${label2}`,
|
|
51
|
+
""
|
|
52
|
+
)) ?? "";
|
|
53
|
+
return {
|
|
54
|
+
id,
|
|
55
|
+
label,
|
|
56
|
+
dataValues,
|
|
57
|
+
dataHolder
|
|
58
|
+
};
|
|
59
|
+
});
|
|
60
|
+
}).flat();
|
|
61
|
+
}
|
|
62
|
+
if (averageFilter !== "ABOVE_AVERAGE" && averageFilter !== "BELOW_AVERAGE") {
|
|
63
|
+
if (dataInRows) {
|
|
64
|
+
const dataGroups = config.dataSelection.dataGroups;
|
|
65
|
+
return getDataGroupsData(dataGroups);
|
|
66
|
+
}
|
|
67
|
+
return getOrgUnitData();
|
|
68
|
+
}
|
|
69
|
+
const totalAverage = columns.getAverageValue({
|
|
70
|
+
dataValues: sanitizedAnalyticsData,
|
|
71
|
+
meta
|
|
72
|
+
});
|
|
73
|
+
if (averageFilter === "BELOW_AVERAGE") {
|
|
74
|
+
if (dataInRows) {
|
|
75
|
+
const dataGroups = config.dataSelection.dataGroups;
|
|
76
|
+
return getDataGroupsData(dataGroups).filter((data2) => {
|
|
77
|
+
const average = columns.getAverageValue({
|
|
78
|
+
meta,
|
|
79
|
+
dataValues: data2.dataValues
|
|
80
|
+
});
|
|
81
|
+
return average <= totalAverage;
|
|
82
|
+
}).map((data2, index) => ({ ...data2, count: index + 1 }));
|
|
83
|
+
}
|
|
84
|
+
return getOrgUnitData().filter((data2) => {
|
|
85
|
+
const average = columns.getAverageValue({
|
|
86
|
+
meta,
|
|
87
|
+
dataValues: data2.dataValues
|
|
88
|
+
});
|
|
89
|
+
return average <= totalAverage;
|
|
90
|
+
}).map((data2, index) => ({ ...data2, count: index + 1 }));
|
|
91
|
+
} else {
|
|
92
|
+
if (dataInRows) {
|
|
93
|
+
const dataGroups = config.dataSelection.dataGroups;
|
|
94
|
+
return lodash.compact(
|
|
95
|
+
dataGroups.map(({ dataHolders }) => {
|
|
96
|
+
return dataHolders.map((dataHolder) => {
|
|
97
|
+
const { dataSources, id } = dataHolder;
|
|
98
|
+
const dataItemIds = dataSources.map(({ id: id2 }) => id2);
|
|
99
|
+
const dataValues = sanitizedAnalyticsData.filter(
|
|
100
|
+
(value) => {
|
|
101
|
+
return dataItemIds.includes(value.dx);
|
|
102
|
+
}
|
|
103
|
+
);
|
|
104
|
+
const label = (dataSources.length === 1 ? lodash.head(dataSources)?.label : dataSources.reduce(
|
|
105
|
+
(acc, { label: label2 }) => `${acc} / ${label2}`,
|
|
106
|
+
""
|
|
107
|
+
)) ?? "";
|
|
108
|
+
return {
|
|
109
|
+
id,
|
|
110
|
+
label,
|
|
111
|
+
dataValues,
|
|
112
|
+
dataHolder
|
|
113
|
+
};
|
|
114
|
+
});
|
|
115
|
+
})
|
|
116
|
+
).flat().filter((data2) => {
|
|
117
|
+
const average = columns.getAverageValue({
|
|
118
|
+
meta,
|
|
119
|
+
dataValues: data2.dataValues
|
|
120
|
+
});
|
|
121
|
+
return average >= totalAverage;
|
|
122
|
+
}).map((data2, index) => ({ ...data2, count: index + 1 }));
|
|
123
|
+
}
|
|
124
|
+
return meta.orgUnits.map((orgUnit, i) => {
|
|
125
|
+
const dataValues = sanitizedAnalyticsData.filter((value) => {
|
|
126
|
+
return orgUnit.uid === value.ou;
|
|
127
|
+
});
|
|
128
|
+
const label = showHierarchy ? orgUnit.hierarchy.replace("/", "") ?? "" : orgUnit.name ?? "";
|
|
129
|
+
return {
|
|
130
|
+
dataValues,
|
|
131
|
+
label,
|
|
132
|
+
orgUnit
|
|
133
|
+
};
|
|
134
|
+
}).flat().filter((data2) => {
|
|
135
|
+
const average = columns.getAverageValue({
|
|
136
|
+
meta,
|
|
137
|
+
dataValues: data2.dataValues
|
|
138
|
+
});
|
|
139
|
+
return average >= totalAverage;
|
|
140
|
+
}).map((data2, index) => ({ ...data2, count: index + 1 }));
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
exports.getTableDataFromAnalytics = getTableDataFromAnalytics;
|
|
145
|
+
exports.sanitizeAnalyticsData = sanitizeAnalyticsData;
|
|
146
|
+
//# sourceMappingURL=out.js.map
|
|
147
|
+
//# sourceMappingURL=data.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Scorecard/utils/data.ts"],"names":["id","label","data"],"mappings":"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","sourcesContent":["import type { ScorecardDataQueryResponse } from \"../hooks/data\";\nimport type { ScorecardMeta } from \"../components/MetaProvider\";\nimport type {\n\tScorecardConfig,\n\tScorecardDataGroup,\n\tScorecardState,\n\tScorecardTableData,\n} from \"../schemas/config\";\nimport { compact, fromPairs, head } from \"lodash\";\nimport { getAverageValue } from \"./columns\";\n\nexport interface AnalyticsData {\n\tdx?: string;\n\tpe?: string;\n\tou?: 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 getTableDataFromAnalytics(\n\tdata: ScorecardDataQueryResponse,\n\t{\n\t\tmeta,\n\t\tstate,\n\t\tconfig,\n\t}: { meta: ScorecardMeta; state: ScorecardState; config: ScorecardConfig },\n): ScorecardTableData[] {\n\tconst dataInRows = state.options.showDataInRows;\n\tconst showHierarchy = state.options.showHierarchy;\n\tconst sanitizedAnalyticsData = sanitizeAnalyticsData(data);\n\tconst averageFilter = state.options.averageDisplayType;\n\n\tfunction getOrgUnitData() {\n\t\treturn meta.orgUnits\n\t\t\t.map((orgUnit, i) => {\n\t\t\t\tconst dataValues = sanitizedAnalyticsData.filter((value) => {\n\t\t\t\t\treturn orgUnit.uid === value.ou;\n\t\t\t\t});\n\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\tdataValues,\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 dataItemIds = dataSources.map(({ id }) => id);\n\t\t\t\t\tconst dataValues = sanitizedAnalyticsData.filter(\n\t\t\t\t\t\t(value) => {\n\t\t\t\t\t\t\treturn dataItemIds.includes(value.dx as string);\n\t\t\t\t\t\t},\n\t\t\t\t\t);\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\tdataValues,\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\tif (\n\t\taverageFilter !== \"ABOVE_AVERAGE\" &&\n\t\taverageFilter !== \"BELOW_AVERAGE\"\n\t) {\n\t\t//No need of computing the average of each row\n\t\tif (dataInRows) {\n\t\t\t//Rows are derived from groups\n\t\t\tconst dataGroups = config.dataSelection.dataGroups;\n\t\t\treturn getDataGroupsData(dataGroups);\n\t\t}\n\t\treturn getOrgUnitData();\n\t}\n\n\tconst totalAverage = getAverageValue({\n\t\tdataValues: sanitizedAnalyticsData,\n\t\tmeta,\n\t});\n\n\tif (averageFilter === \"BELOW_AVERAGE\") {\n\t\tif (dataInRows) {\n\t\t\t//Rows are derived from groups\n\t\t\tconst dataGroups = config.dataSelection.dataGroups;\n\t\t\treturn getDataGroupsData(dataGroups)\n\t\t\t\t.filter((data) => {\n\t\t\t\t\tconst average = getAverageValue({\n\t\t\t\t\t\tmeta,\n\t\t\t\t\t\tdataValues: data.dataValues,\n\t\t\t\t\t});\n\n\t\t\t\t\treturn average <= totalAverage;\n\t\t\t\t})\n\t\t\t\t.map((data, index) => ({ ...data, count: index + 1 }));\n\t\t}\n\n\t\treturn getOrgUnitData()\n\t\t\t.filter((data) => {\n\t\t\t\tconst average = getAverageValue({\n\t\t\t\t\tmeta,\n\t\t\t\t\tdataValues: data.dataValues,\n\t\t\t\t});\n\n\t\t\t\treturn average <= totalAverage;\n\t\t\t})\n\t\t\t.map((data, index) => ({ ...data, count: index + 1 }));\n\t} else {\n\t\tif (dataInRows) {\n\t\t\t//Rows are derived from groups\n\t\t\tconst dataGroups = config.dataSelection.dataGroups;\n\t\t\treturn compact(\n\t\t\t\tdataGroups.map(({ dataHolders }) => {\n\t\t\t\t\treturn dataHolders.map((dataHolder) => {\n\t\t\t\t\t\tconst { dataSources, id } = dataHolder;\n\t\t\t\t\t\tconst dataItemIds = dataSources.map(({ id }) => id);\n\t\t\t\t\t\tconst dataValues = sanitizedAnalyticsData.filter(\n\t\t\t\t\t\t\t(value) => {\n\t\t\t\t\t\t\t\treturn dataItemIds.includes(value.dx as string);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tconst label =\n\t\t\t\t\t\t\t(dataSources.length === 1\n\t\t\t\t\t\t\t\t? head(dataSources)?.label\n\t\t\t\t\t\t\t\t: dataSources.reduce(\n\t\t\t\t\t\t\t\t\t\t(acc, { label }) => `${acc} / ${label}`,\n\t\t\t\t\t\t\t\t\t\t\"\",\n\t\t\t\t\t\t\t\t\t)) ?? \"\";\n\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t\tdataValues,\n\t\t\t\t\t\t\tdataHolder,\n\t\t\t\t\t\t};\n\t\t\t\t\t});\n\t\t\t\t}),\n\t\t\t)\n\t\t\t\t.flat()\n\t\t\t\t.filter((data) => {\n\t\t\t\t\tconst average = getAverageValue({\n\t\t\t\t\t\tmeta,\n\t\t\t\t\t\tdataValues: data.dataValues,\n\t\t\t\t\t});\n\n\t\t\t\t\treturn average >= totalAverage;\n\t\t\t\t})\n\t\t\t\t.map((data, index) => ({ ...data, count: index + 1 }));\n\t\t}\n\n\t\treturn meta.orgUnits\n\t\t\t.map((orgUnit, i) => {\n\t\t\t\tconst dataValues = sanitizedAnalyticsData.filter((value) => {\n\t\t\t\t\treturn orgUnit.uid === value.ou;\n\t\t\t\t});\n\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\tdataValues,\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\t\t.filter((data) => {\n\t\t\t\tconst average = getAverageValue({\n\t\t\t\t\tmeta,\n\t\t\t\t\tdataValues: data.dataValues,\n\t\t\t\t});\n\n\t\t\t\treturn average >= totalAverage;\n\t\t\t})\n\t\t\t.map((data, index) => ({ ...data, count: index + 1 }));\n\t}\n}\n"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var lodash = require('lodash');
|
|
4
|
+
|
|
5
|
+
function getHoldersFromGroups(dataGroups) {
|
|
6
|
+
return lodash.flattenDeep(dataGroups?.map(({ dataHolders }) => dataHolders) ?? []);
|
|
7
|
+
}
|
|
8
|
+
function getDataSourcesFromGroups(dataGroups) {
|
|
9
|
+
const dataHolders = lodash.compact(getHoldersFromGroups(dataGroups));
|
|
10
|
+
return lodash.flattenDeep(dataHolders?.map(({ dataSources }) => dataSources));
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
exports.getDataSourcesFromGroups = getDataSourcesFromGroups;
|
|
14
|
+
exports.getHoldersFromGroups = getHoldersFromGroups;
|
|
15
|
+
//# sourceMappingURL=out.js.map
|
|
16
|
+
//# sourceMappingURL=dataSources.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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"]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
class ScorecardEngine {
|
|
4
|
+
constructor({
|
|
5
|
+
config,
|
|
6
|
+
meta,
|
|
7
|
+
state
|
|
8
|
+
}) {
|
|
9
|
+
this.config = config;
|
|
10
|
+
this.meta = meta;
|
|
11
|
+
this.state = state;
|
|
12
|
+
}
|
|
13
|
+
getRows() {
|
|
14
|
+
return [];
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
exports.ScorecardEngine = ScorecardEngine;
|
|
19
|
+
//# sourceMappingURL=out.js.map
|
|
20
|
+
//# sourceMappingURL=engine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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"]}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var lodash = require('lodash');
|
|
4
|
+
|
|
5
|
+
function findLegend({
|
|
6
|
+
max,
|
|
7
|
+
legendDefinitions,
|
|
8
|
+
value,
|
|
9
|
+
legends
|
|
10
|
+
}) {
|
|
11
|
+
if (!value) {
|
|
12
|
+
return lodash.find(legendDefinitions, { id: "No Data" });
|
|
13
|
+
}
|
|
14
|
+
const numericValue = value;
|
|
15
|
+
if (numericValue > max) {
|
|
16
|
+
return lodash.find(legendDefinitions, { id: "N/A" });
|
|
17
|
+
}
|
|
18
|
+
if (isNaN(numericValue)) {
|
|
19
|
+
return lodash.find(legendDefinitions, { id: "No Data" });
|
|
20
|
+
}
|
|
21
|
+
const { legendDefinitionId } = lodash.find(legends, (legend) => {
|
|
22
|
+
if (legend) {
|
|
23
|
+
const { startValue, endValue } = legend;
|
|
24
|
+
if (+endValue === max) {
|
|
25
|
+
return +startValue <= numericValue && +endValue >= numericValue;
|
|
26
|
+
}
|
|
27
|
+
return +startValue <= numericValue && +endValue > numericValue;
|
|
28
|
+
}
|
|
29
|
+
return false;
|
|
30
|
+
}) ?? {};
|
|
31
|
+
return lodash.find(legendDefinitions, ["id", legendDefinitionId]);
|
|
32
|
+
}
|
|
33
|
+
function getSpecificTargetLegends(specificTarget, id) {
|
|
34
|
+
if (specificTarget.items.includes(id)) {
|
|
35
|
+
return specificTarget.legends;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
function getLegendByOrgUnitLevel({
|
|
39
|
+
orgUnit,
|
|
40
|
+
orgUnitLevels,
|
|
41
|
+
legends
|
|
42
|
+
}) {
|
|
43
|
+
const orgUnitLevel = orgUnitLevels.find(({ id, level }) => {
|
|
44
|
+
const ouLevel = orgUnit.hierarchy.split("/").filter(Boolean).length;
|
|
45
|
+
return level === ouLevel;
|
|
46
|
+
});
|
|
47
|
+
if (!orgUnitLevel) {
|
|
48
|
+
throw new Error("Invalid orgUnitId");
|
|
49
|
+
}
|
|
50
|
+
return legends[orgUnitLevel.id];
|
|
51
|
+
}
|
|
52
|
+
function getLegend({
|
|
53
|
+
dataSource,
|
|
54
|
+
config,
|
|
55
|
+
value,
|
|
56
|
+
periodId,
|
|
57
|
+
orgUnit,
|
|
58
|
+
orgUnitLevels
|
|
59
|
+
}) {
|
|
60
|
+
let legends = [];
|
|
61
|
+
if (periodId && orgUnit && orgUnitLevels) {
|
|
62
|
+
if (!Array.isArray(dataSource.legends)) {
|
|
63
|
+
legends = getLegendByOrgUnitLevel({
|
|
64
|
+
orgUnit,
|
|
65
|
+
orgUnitLevels,
|
|
66
|
+
legends: dataSource.legends
|
|
67
|
+
});
|
|
68
|
+
} else {
|
|
69
|
+
const specificTargets = dataSource.specificTargets;
|
|
70
|
+
if (!lodash.isEmpty(specificTargets)) {
|
|
71
|
+
const specificTarget = lodash.head(specificTargets);
|
|
72
|
+
switch (specificTarget.type) {
|
|
73
|
+
case "period":
|
|
74
|
+
const targetLegends = getSpecificTargetLegends(
|
|
75
|
+
specificTarget,
|
|
76
|
+
periodId
|
|
77
|
+
);
|
|
78
|
+
legends = targetLegends ?? dataSource.legends;
|
|
79
|
+
break;
|
|
80
|
+
case "orgUnit":
|
|
81
|
+
const targetOrgUnitLegends = getSpecificTargetLegends(
|
|
82
|
+
specificTarget,
|
|
83
|
+
orgUnit.uid
|
|
84
|
+
);
|
|
85
|
+
legends = targetOrgUnitLegends ?? dataSource.legends;
|
|
86
|
+
break;
|
|
87
|
+
default:
|
|
88
|
+
legends = dataSource.legends;
|
|
89
|
+
}
|
|
90
|
+
} else {
|
|
91
|
+
legends = dataSource.legends;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
} else {
|
|
95
|
+
if (Array.isArray(dataSource.legends)) {
|
|
96
|
+
legends = dataSource.legends;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
return findLegend({
|
|
100
|
+
legends,
|
|
101
|
+
value,
|
|
102
|
+
max: dataSource.weight,
|
|
103
|
+
legendDefinitions: config.legendDefinitions
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
function getTextColorFromBackgroundColor(background) {
|
|
107
|
+
background = background.replace(/^#/, "");
|
|
108
|
+
let r = parseInt(background.substring(0, 2), 16);
|
|
109
|
+
let g = parseInt(background.substring(2, 4), 16);
|
|
110
|
+
let b = parseInt(background.substring(4, 6), 16);
|
|
111
|
+
let yiq = (r * 299 + g * 587 + b * 114) / 1e3;
|
|
112
|
+
return yiq >= 128 ? "#000000" : "#FFFFFF";
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
exports.getLegend = getLegend;
|
|
116
|
+
exports.getTextColorFromBackgroundColor = getTextColorFromBackgroundColor;
|
|
117
|
+
//# sourceMappingURL=out.js.map
|
|
118
|
+
//# sourceMappingURL=legends.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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 \"period\":\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"]}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
function getOrgUnitsForAnalytics(orgUnitSelection) {
|
|
4
|
+
const {
|
|
5
|
+
userOrgUnit,
|
|
6
|
+
orgUnits,
|
|
7
|
+
userSubUnit,
|
|
8
|
+
userSubX2Unit,
|
|
9
|
+
levels,
|
|
10
|
+
groups
|
|
11
|
+
} = orgUnitSelection ?? {};
|
|
12
|
+
const results = [];
|
|
13
|
+
if (userOrgUnit) {
|
|
14
|
+
results.push("USER_ORGUNIT");
|
|
15
|
+
}
|
|
16
|
+
if (userSubUnit) {
|
|
17
|
+
results.push("USER_ORGUNIT_CHILDREN");
|
|
18
|
+
}
|
|
19
|
+
if (userSubX2Unit) {
|
|
20
|
+
results.push("USER_ORGUNIT_GRANDCHILDREN");
|
|
21
|
+
}
|
|
22
|
+
if (orgUnits) {
|
|
23
|
+
results.push(...orgUnits.map((orgUnit) => orgUnit.id));
|
|
24
|
+
}
|
|
25
|
+
if (groups) {
|
|
26
|
+
results.push(...groups.map((group) => `OU_GROUP-${group}`));
|
|
27
|
+
}
|
|
28
|
+
if (levels) {
|
|
29
|
+
results.push(...levels.map((level) => `LEVEL-${level}`));
|
|
30
|
+
}
|
|
31
|
+
return results;
|
|
32
|
+
}
|
|
33
|
+
function getOrgUnitLevel(orgUnit) {
|
|
34
|
+
return orgUnit.hierarchy.split("/").filter(Boolean).length;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
exports.getOrgUnitLevel = getOrgUnitLevel;
|
|
38
|
+
exports.getOrgUnitsForAnalytics = getOrgUnitsForAnalytics;
|
|
39
|
+
//# sourceMappingURL=out.js.map
|
|
40
|
+
//# sourceMappingURL=orgUnits.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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"]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { ScorecardConfigProvider } from './components/ConfigProvider';
|
|
3
|
+
import { ScorecardMetaProvider } from './components/MetaProvider';
|
|
4
|
+
import { ScorecardStateProvider } from './components/StateProvider';
|
|
5
|
+
import { TableStateProvider } from './components/TableStateProvider';
|
|
6
|
+
import { ScorecardTable } from './components/ScorecardTable';
|
|
7
|
+
import { ScorecardDataProvider } from './components/DataProvider';
|
|
8
|
+
import { ScorecardSetStateProvider } from './components/StateSetProvider';
|
|
9
|
+
|
|
10
|
+
function Scorecard({
|
|
11
|
+
config,
|
|
12
|
+
state,
|
|
13
|
+
setState
|
|
14
|
+
}) {
|
|
15
|
+
return /* @__PURE__ */ jsx(ScorecardConfigProvider, { config, children: /* @__PURE__ */ jsx(ScorecardStateProvider, { config: state, children: /* @__PURE__ */ jsx(ScorecardSetStateProvider, { setState, children: /* @__PURE__ */ jsx(ScorecardMetaProvider, { children: /* @__PURE__ */ jsx(ScorecardDataProvider, { children: /* @__PURE__ */ jsx(TableStateProvider, { children: /* @__PURE__ */ jsx(ScorecardTable, {}) }) }) }) }) }) });
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export { Scorecard };
|
|
19
|
+
//# sourceMappingURL=out.js.map
|
|
20
|
+
//# sourceMappingURL=Scorecard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Scorecard/Scorecard.tsx"],"names":[],"mappings":"AA+BQ;AA7BR,SAAS,+BAA+B;AACxC,SAAS,6BAA6B;AACtC,SAAS,8BAA8B;AACvC,SAAS,0BAA0B;AACnC,SAAS,sBAAsB;AAC/B,SAAS,6BAA6B;AACtC;AAAA,EAEC;AAAA,OACM;AAQA,SAAS,UAAU;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AACD,GAAuC;AACtC,SACC,oBAAC,2BAAwB,QACxB,8BAAC,0BAAuB,QAAQ,OAC/B,8BAAC,6BAA0B,UAC1B,8BAAC,yBACA,8BAAC,yBACA,8BAAC,sBACA,8BAAC,kBAAe,GACjB,GACD,GACD,GACD,GACD,GACD;AAEF","sourcesContent":["import type { ScorecardConfig, ScorecardState } from \"./schemas/config\";\nimport React from \"react\";\nimport { ScorecardConfigProvider } from \"./components/ConfigProvider\";\nimport { ScorecardMetaProvider } from \"./components/MetaProvider\";\nimport { ScorecardStateProvider } from \"./components/StateProvider\";\nimport { TableStateProvider } from \"./components/TableStateProvider\";\nimport { ScorecardTable } from \"./components/ScorecardTable\";\nimport { ScorecardDataProvider } from \"./components/DataProvider\";\nimport {\n\ttype ScorecardSetState,\n\tScorecardSetStateProvider,\n} from \"./components/StateSetProvider\";\n\nexport interface ScorecardProps {\n\tconfig: ScorecardConfig;\n\tstate: ScorecardState;\n\tsetState: ScorecardSetState;\n}\n\nexport function Scorecard({\n\tconfig,\n\tstate,\n\tsetState,\n}: ScorecardProps): React.ReactElement {\n\treturn (\n\t\t<ScorecardConfigProvider config={config}>\n\t\t\t<ScorecardStateProvider config={state}>\n\t\t\t\t<ScorecardSetStateProvider setState={setState}>\n\t\t\t\t\t<ScorecardMetaProvider>\n\t\t\t\t\t\t<ScorecardDataProvider>\n\t\t\t\t\t\t\t<TableStateProvider>\n\t\t\t\t\t\t\t\t<ScorecardTable />\n\t\t\t\t\t\t\t</TableStateProvider>\n\t\t\t\t\t\t</ScorecardDataProvider>\n\t\t\t\t\t</ScorecardMetaProvider>\n\t\t\t\t</ScorecardSetStateProvider>\n\t\t\t</ScorecardStateProvider>\n\t\t</ScorecardConfigProvider>\n\t);\n}\n"]}
|