@hisptz/dhis2-analytics 2.0.14 → 2.0.16
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 +10 -3
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var MetaProvider = require('../components/MetaProvider');
|
|
4
|
+
var ConfigProvider = require('../components/ConfigProvider');
|
|
5
|
+
var react = require('react');
|
|
6
|
+
var lodash = require('lodash');
|
|
7
|
+
var legends = require('../utils/legends');
|
|
8
|
+
|
|
9
|
+
function useAverage({
|
|
10
|
+
dataSource,
|
|
11
|
+
table,
|
|
12
|
+
column
|
|
13
|
+
}) {
|
|
14
|
+
const meta = MetaProvider.useScorecardMeta();
|
|
15
|
+
const config = ConfigProvider.useScorecardConfig();
|
|
16
|
+
const legendDefinition = react.useMemo(() => {
|
|
17
|
+
if (!dataSource) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
const dataValue = lodash.head(table.getRowModel().rows)?.getValue(
|
|
21
|
+
column.id
|
|
22
|
+
);
|
|
23
|
+
return legends.getLegend({
|
|
24
|
+
dataSource,
|
|
25
|
+
config,
|
|
26
|
+
value: dataSource.data.current,
|
|
27
|
+
orgUnit: dataValue.orgUnit,
|
|
28
|
+
periodId: dataValue.period,
|
|
29
|
+
orgUnitLevels: meta.orgUnitLevels
|
|
30
|
+
});
|
|
31
|
+
}, [table]);
|
|
32
|
+
const dataValues = react.useMemo(() => {
|
|
33
|
+
const rowModel = table.getRowModel();
|
|
34
|
+
return rowModel.rows.map((row) => {
|
|
35
|
+
const value = row.getValue(column.id);
|
|
36
|
+
return lodash.head(value.dataSources)?.data.current ?? 0;
|
|
37
|
+
}).flat();
|
|
38
|
+
}, [table, column]);
|
|
39
|
+
const average = react.useMemo(() => {
|
|
40
|
+
return Math.round(lodash.sum(dataValues) / dataValues.length * 100) / 100;
|
|
41
|
+
}, [dataValues]);
|
|
42
|
+
return {
|
|
43
|
+
average,
|
|
44
|
+
legendDefinition
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
exports.useAverage = useAverage;
|
|
49
|
+
//# sourceMappingURL=out.js.map
|
|
50
|
+
//# sourceMappingURL=average.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Scorecard/hooks/average.ts"],"names":[],"mappings":"AAAA,SAAS,wBAAwB;AACjC,SAAS,0BAA0B;AACnC,SAAS,eAAe;AACxB,SAAS,MAAM,WAAW;AAK1B,SAAS,iBAAiB;AAGnB,SAAS,WAAW;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AACD,GAEG;AACF,QAAM,OAAO,iBAAiB;AAC9B,QAAM,SAAS,mBAAmB;AAClC,QAAM,mBAAmB,QAAQ,MAAM;AACtC,QAAI,CAAC,YAAY;AAChB;AAAA,IACD;AAEA,UAAM,YAAY,KAAK,MAAM,YAAY,EAAE,IAAI,GAAG;AAAA,MACjD,OAAO;AAAA,IACR;AAEA,WAAO,UAAU;AAAA,MAChB;AAAA,MACA;AAAA,MACA,OAAO,WAAW,KAAK;AAAA,MACvB,SAAS,UAAU;AAAA,MACnB,UAAU,UAAU;AAAA,MACpB,eAAe,KAAM;AAAA,IACtB,CAAC;AAAA,EACF,GAAG,CAAC,KAAK,CAAC;AACV,QAAM,aAAa,QAAQ,MAAM;AAChC,UAAM,WAAW,MAAM,YAAY;AACnC,WAAO,SAAS,KACd,IAAI,CAAC,QAAQ;AACb,YAAM,QAAQ,IAAI,SAAS,OAAO,EAAE;AACpC,aAAO,KAAK,MAAM,WAAW,GAAG,KAAK,WAAW;AAAA,IACjD,CAAC,EACA,KAAK;AAAA,EACR,GAAG,CAAC,OAAO,MAAM,CAAC;AAClB,QAAM,UAAU,QAAQ,MAAM;AAC7B,WAAO,KAAK,MAAO,IAAI,UAAU,IAAI,WAAW,SAAU,GAAG,IAAI;AAAA,EAClE,GAAG,CAAC,UAAU,CAAC;AAEf,SAAO;AAAA,IACN;AAAA,IACA;AAAA,EACD;AACD","sourcesContent":["import { useScorecardMeta } from \"../components/MetaProvider\";\nimport { useScorecardConfig } from \"../components/ConfigProvider\";\nimport { useMemo } from \"react\";\nimport { head, sum } from \"lodash\";\nimport type {\n\tScorecardTableCellData,\n\tScorecardTableData,\n} from \"../schemas/config\";\nimport { getLegend } from \"../utils/legends\";\nimport type { HeaderContext } from \"@tanstack/react-table\";\n\nexport function useAverage({\n\tdataSource,\n\ttable,\n\tcolumn,\n}: HeaderContext<ScorecardTableData, ScorecardTableCellData> & {\n\tdataSource: ScorecardTableCellData[\"dataSources\"][number];\n}) {\n\tconst meta = useScorecardMeta();\n\tconst config = useScorecardConfig();\n\tconst legendDefinition = useMemo(() => {\n\t\tif (!dataSource) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst dataValue = head(table.getRowModel().rows)?.getValue(\n\t\t\tcolumn.id,\n\t\t) as ScorecardTableCellData;\n\n\t\treturn getLegend({\n\t\t\tdataSource,\n\t\t\tconfig: config!,\n\t\t\tvalue: dataSource.data.current,\n\t\t\torgUnit: dataValue.orgUnit,\n\t\t\tperiodId: dataValue.period,\n\t\t\torgUnitLevels: meta!.orgUnitLevels,\n\t\t});\n\t}, [table]);\n\tconst dataValues = useMemo(() => {\n\t\tconst rowModel = table.getRowModel();\n\t\treturn rowModel.rows\n\t\t\t.map((row) => {\n\t\t\t\tconst value = row.getValue(column.id) as ScorecardTableCellData;\n\t\t\t\treturn head(value.dataSources)?.data.current ?? 0;\n\t\t\t})\n\t\t\t.flat();\n\t}, [table, column]);\n\tconst average = useMemo(() => {\n\t\treturn Math.round((sum(dataValues) / dataValues.length) * 100) / 100;\n\t}, [dataValues]);\n\n\treturn {\n\t\taverage,\n\t\tlegendDefinition,\n\t};\n}\n"]}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var ConfigProvider = require('../components/ConfigProvider');
|
|
4
|
+
var MetaProvider = require('../components/MetaProvider');
|
|
5
|
+
var react = require('react');
|
|
6
|
+
var legends = require('../utils/legends');
|
|
7
|
+
|
|
8
|
+
function useCellData({
|
|
9
|
+
dataSource,
|
|
10
|
+
orgUnit,
|
|
11
|
+
period
|
|
12
|
+
}) {
|
|
13
|
+
const config = ConfigProvider.useScorecardConfig();
|
|
14
|
+
const meta = MetaProvider.useScorecardMeta();
|
|
15
|
+
const currentValue = dataSource?.data.current;
|
|
16
|
+
const legendDefinition = react.useMemo(() => {
|
|
17
|
+
if (!dataSource)
|
|
18
|
+
return;
|
|
19
|
+
return legends.getLegend({
|
|
20
|
+
dataSource,
|
|
21
|
+
value: currentValue,
|
|
22
|
+
orgUnitLevels: meta.orgUnitLevels,
|
|
23
|
+
config,
|
|
24
|
+
orgUnit,
|
|
25
|
+
periodId: period
|
|
26
|
+
});
|
|
27
|
+
}, [dataSource, currentValue, meta, orgUnit, period]);
|
|
28
|
+
return {
|
|
29
|
+
currentValue,
|
|
30
|
+
legendDefinition
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
exports.useCellData = useCellData;
|
|
35
|
+
//# sourceMappingURL=out.js.map
|
|
36
|
+
//# sourceMappingURL=cellData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Scorecard/hooks/cellData.ts"],"names":[],"mappings":"AACA,SAAS,0BAA0B;AACnC,SAAS,wBAAwB;AACjC,SAAS,eAAe;AACxB,SAAS,iBAAiB;AAGnB,SAAS,YAAY;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AACD,GAIG;AACF,QAAM,SAAS,mBAAmB;AAClC,QAAM,OAAO,iBAAiB;AAE9B,QAAM,eAAe,YAAY,KAAK;AAEtC,QAAM,mBAAmB,QAAQ,MAAM;AACtC,QAAI,CAAC;AAAY;AACjB,WAAO,UAAU;AAAA,MAChB;AAAA,MACA,OAAO;AAAA,MACP,eAAe,KAAM;AAAA,MACrB;AAAA,MACA;AAAA,MACA,UAAU;AAAA,IACX,CAAC;AAAA,EACF,GAAG,CAAC,YAAY,cAAc,MAAM,SAAS,MAAM,CAAC;AAEpD,SAAO;AAAA,IACN;AAAA,IACA;AAAA,EACD;AACD","sourcesContent":["import type { ScorecardTableCellData } from \"../schemas/config\";\nimport { useScorecardConfig } from \"../components/ConfigProvider\";\nimport { useScorecardMeta } from \"../components/MetaProvider\";\nimport { useMemo } from \"react\";\nimport { getLegend } from \"../utils/legends\";\nimport type { ItemMeta } from \"./metadata\";\n\nexport function useCellData({\n\tdataSource,\n\torgUnit,\n\tperiod,\n}: {\n\tdataSource?: ScorecardTableCellData[\"dataSources\"][number];\n\torgUnit: ItemMeta & { hierarchy: string };\n\tperiod: string;\n}) {\n\tconst config = useScorecardConfig();\n\tconst meta = useScorecardMeta();\n\n\tconst currentValue = dataSource?.data.current;\n\n\tconst legendDefinition = useMemo(() => {\n\t\tif (!dataSource) return;\n\t\treturn getLegend({\n\t\t\tdataSource,\n\t\t\tvalue: currentValue,\n\t\t\torgUnitLevels: meta!.orgUnitLevels,\n\t\t\tconfig: config!,\n\t\t\torgUnit,\n\t\t\tperiodId: period,\n\t\t});\n\t}, [dataSource, currentValue, meta, orgUnit, period]);\n\n\treturn {\n\t\tcurrentValue,\n\t\tlegendDefinition,\n\t};\n}\n"]}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var reactTable = require('@tanstack/react-table');
|
|
4
|
+
var ConfigProvider = require('../components/ConfigProvider');
|
|
5
|
+
var MetaProvider = require('../components/MetaProvider');
|
|
6
|
+
var StateProvider = require('../components/StateProvider');
|
|
7
|
+
var react = require('react');
|
|
8
|
+
var columns = require('../utils/columns');
|
|
9
|
+
var LabelCell = require('../components/ScorecardTable/components/TableHeader/components/LabelCell');
|
|
10
|
+
var ExpandCell = require('../components/ScorecardTable/components/TableHeader/components/ExpandCell');
|
|
11
|
+
var NumberCell = require('../components/ScorecardTable/components/TableHeader/components/NumberCell');
|
|
12
|
+
var MetaHeaderCell = require('../components/ScorecardTable/components/TableHeader/components/MetaHeaderCell');
|
|
13
|
+
var metadata = require('./metadata');
|
|
14
|
+
var MetaFooterCell = require('../components/ScorecardTable/components/MetaFooterCell');
|
|
15
|
+
var orgUnits = require('../utils/orgUnits');
|
|
16
|
+
var orgUnit = require('./orgUnit');
|
|
17
|
+
|
|
18
|
+
const columnHelper = reactTable.createColumnHelper();
|
|
19
|
+
function useMetaColumns() {
|
|
20
|
+
const state = StateProvider.useScorecardState();
|
|
21
|
+
const lowestLevel = orgUnit.useLowestOrgUnitLevel();
|
|
22
|
+
const metaColumns = [
|
|
23
|
+
columnHelper.accessor(
|
|
24
|
+
(rowData) => {
|
|
25
|
+
if (state?.options?.disableExpanding) {
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
const dataInRows = state?.options?.showDataInRows;
|
|
29
|
+
if (dataInRows) {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
if (!lowestLevel) {
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
const orgUnit = rowData.orgUnit;
|
|
36
|
+
if (!orgUnit) {
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
const ouLevel = orgUnits.getOrgUnitLevel(orgUnit);
|
|
40
|
+
return ouLevel !== lowestLevel.level;
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
id: "expand",
|
|
44
|
+
header: () => null,
|
|
45
|
+
meta: {
|
|
46
|
+
isMeta: true,
|
|
47
|
+
fixed: true,
|
|
48
|
+
label: ""
|
|
49
|
+
},
|
|
50
|
+
enableColumnFilter: false,
|
|
51
|
+
cell: ExpandCell.ExpandCell,
|
|
52
|
+
footer: () => null
|
|
53
|
+
}
|
|
54
|
+
),
|
|
55
|
+
columnHelper.accessor(
|
|
56
|
+
(_, index) => {
|
|
57
|
+
return index + 1;
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
id: "count",
|
|
61
|
+
header: () => null,
|
|
62
|
+
meta: {
|
|
63
|
+
isMeta: true,
|
|
64
|
+
fixed: true,
|
|
65
|
+
label: ""
|
|
66
|
+
},
|
|
67
|
+
enableColumnFilter: false,
|
|
68
|
+
cell: NumberCell.NumberCell,
|
|
69
|
+
footer: () => null
|
|
70
|
+
}
|
|
71
|
+
)
|
|
72
|
+
];
|
|
73
|
+
if (state?.options?.showDataInRows) {
|
|
74
|
+
metaColumns.push(
|
|
75
|
+
columnHelper.accessor("label", {
|
|
76
|
+
header: () => null,
|
|
77
|
+
id: "dataItems",
|
|
78
|
+
meta: {
|
|
79
|
+
filterable: true
|
|
80
|
+
},
|
|
81
|
+
enableColumnFilter: true,
|
|
82
|
+
cell: LabelCell.LabelCell,
|
|
83
|
+
footer: MetaFooterCell.MetaFooterCell
|
|
84
|
+
})
|
|
85
|
+
);
|
|
86
|
+
} else {
|
|
87
|
+
metaColumns.push(
|
|
88
|
+
columnHelper.accessor("label", {
|
|
89
|
+
header: () => null,
|
|
90
|
+
id: "orgUnits",
|
|
91
|
+
enableColumnFilter: true,
|
|
92
|
+
meta: {
|
|
93
|
+
isMeta: true,
|
|
94
|
+
fixed: true
|
|
95
|
+
},
|
|
96
|
+
cell: LabelCell.LabelCell,
|
|
97
|
+
footer: MetaFooterCell.MetaFooterCell
|
|
98
|
+
})
|
|
99
|
+
);
|
|
100
|
+
}
|
|
101
|
+
return metaColumns;
|
|
102
|
+
}
|
|
103
|
+
function useTableColumns() {
|
|
104
|
+
const config = ConfigProvider.useScorecardConfig();
|
|
105
|
+
const meta = MetaProvider.useScorecardMeta();
|
|
106
|
+
const state = StateProvider.useScorecardState();
|
|
107
|
+
const metaColumns = useMetaColumns();
|
|
108
|
+
const calendar = metadata.useCalendar();
|
|
109
|
+
if (!config || !meta || !state) {
|
|
110
|
+
return [];
|
|
111
|
+
}
|
|
112
|
+
return react.useMemo(() => {
|
|
113
|
+
const columns$1 = [
|
|
114
|
+
columnHelper.group({
|
|
115
|
+
id: "metaHeader",
|
|
116
|
+
columns: metaColumns,
|
|
117
|
+
header: MetaHeaderCell.MetaHeaderCell,
|
|
118
|
+
footer: () => null
|
|
119
|
+
})
|
|
120
|
+
];
|
|
121
|
+
if (state.options.showDataInRows) {
|
|
122
|
+
columns$1.push(
|
|
123
|
+
...columns.getOrgUnitColumnHeaders({
|
|
124
|
+
meta,
|
|
125
|
+
calendar
|
|
126
|
+
})
|
|
127
|
+
);
|
|
128
|
+
} else {
|
|
129
|
+
columns$1.push(
|
|
130
|
+
...columns.getDataColumnHeaders({
|
|
131
|
+
meta,
|
|
132
|
+
config,
|
|
133
|
+
calendar
|
|
134
|
+
})
|
|
135
|
+
);
|
|
136
|
+
}
|
|
137
|
+
columns$1.push(
|
|
138
|
+
columns.getAverageColumn({
|
|
139
|
+
meta,
|
|
140
|
+
config
|
|
141
|
+
})
|
|
142
|
+
);
|
|
143
|
+
return columns$1;
|
|
144
|
+
}, [state.options.showDataInRows]);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
exports.useMetaColumns = useMetaColumns;
|
|
148
|
+
exports.useTableColumns = useTableColumns;
|
|
149
|
+
//# sourceMappingURL=out.js.map
|
|
150
|
+
//# sourceMappingURL=columns.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Scorecard/hooks/columns.ts"],"names":[],"mappings":"AAAA,SAAyB,0BAA0B;AACnD,SAAS,0BAA0B;AACnC,SAAS,wBAAwB;AACjC,SAAS,yBAAyB;AAClC,SAAS,eAAe;AAKxB;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,OACM;AACP,SAAS,iBAAiB;AAC1B,SAAS,kBAAkB;AAC3B,SAAS,kBAAkB;AAC3B,SAAS,sBAAsB;AAC/B,SAAS,mBAAmB;AAC5B,SAAS,sBAAsB;AAC/B,SAAS,uBAAuB;AAChC,SAAS,6BAA6B;AAEtC,MAAM,eAAe,mBAAuC;AAErD,SAAS,iBAAiB;AAChC,QAAM,QAAQ,kBAAkB;AAEhC,QAAM,cAAc,sBAAsB;AAE1C,QAAM,cAAoD;AAAA,IACzD,aAAa;AAAA,MACZ,CAAC,YAAY;AACZ,YAAI,OAAO,SAAS,kBAAkB;AACrC,iBAAO;AAAA,QACR;AAEA,cAAM,aAAa,OAAO,SAAS;AACnC,YAAI,YAAY;AACf,iBAAO;AAAA,QACR;AAEA,YAAI,CAAC,aAAa;AACjB,iBAAO;AAAA,QACR;AAEA,cAAM,UAAU,QAAQ;AACxB,YAAI,CAAC,SAAS;AACb,iBAAO;AAAA,QACR;AACA,cAAM,UAAU,gBAAgB,OAAO;AAEvC,eAAO,YAAY,YAAY;AAAA,MAChC;AAAA,MACA;AAAA,QACC,IAAI;AAAA,QACJ,QAAQ,MAAM;AAAA,QACd,MAAM;AAAA,UACL,QAAQ;AAAA,UACR,OAAO;AAAA,UACP,OAAO;AAAA,QACR;AAAA,QACA,oBAAoB;AAAA,QACpB,MAAM;AAAA,QACN,QAAQ,MAAM;AAAA,MACf;AAAA,IACD;AAAA,IACA,aAAa;AAAA,MACZ,CAAC,GAAG,UAAU;AACb,eAAO,QAAQ;AAAA,MAChB;AAAA,MACA;AAAA,QACC,IAAI;AAAA,QACJ,QAAQ,MAAM;AAAA,QACd,MAAM;AAAA,UACL,QAAQ;AAAA,UACR,OAAO;AAAA,UACP,OAAO;AAAA,QACR;AAAA,QACA,oBAAoB;AAAA,QACpB,MAAM;AAAA,QACN,QAAQ,MAAM;AAAA,MACf;AAAA,IACD;AAAA,EACD;AAEA,MAAI,OAAO,SAAS,gBAAgB;AACnC,gBAAY;AAAA,MACX,aAAa,SAAS,SAAS;AAAA,QAC9B,QAAQ,MAAM;AAAA,QACd,IAAI;AAAA,QACJ,MAAM;AAAA,UACL,YAAY;AAAA,QACb;AAAA,QACA,oBAAoB;AAAA,QACpB,MAAM;AAAA,QACN,QAAQ;AAAA,MACT,CAAC;AAAA,IACF;AAAA,EACD,OAAO;AACN,gBAAY;AAAA,MACX,aAAa,SAAS,SAAS;AAAA,QAC9B,QAAQ,MAAM;AAAA,QACd,IAAI;AAAA,QACJ,oBAAoB;AAAA,QACpB,MAAM;AAAA,UACL,QAAQ;AAAA,UACR,OAAO;AAAA,QACR;AAAA,QACA,MAAM;AAAA,QACN,QAAQ;AAAA,MACT,CAAC;AAAA,IACF;AAAA,EACD;AAEA,SAAO;AACR;AAEO,SAAS,kBAGZ;AACH,QAAM,SAAS,mBAAmB;AAClC,QAAM,OAAO,iBAAiB;AAC9B,QAAM,QAAQ,kBAAkB;AAChC,QAAM,cAAc,eAAe;AACnC,QAAM,WAAW,YAAY;AAE7B,MAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO;AAC/B,WAAO,CAAC;AAAA,EACT;AACA,SAAO,QAAQ,MAAM;AACpB,UAAM,UAAgD;AAAA,MACrD,aAAa,MAAM;AAAA,QAClB,IAAI;AAAA,QACJ,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,QAAQ,MAAM;AAAA,MACf,CAAC;AAAA,IACF;AAEA,QAAI,MAAM,QAAQ,gBAAgB;AACjC,cAAQ;AAAA,QACP,GAAG,wBAAwB;AAAA,UAC1B;AAAA,UACA;AAAA,QACD,CAAC;AAAA,MACF;AAAA,IACD,OAAO;AACN,cAAQ;AAAA,QACP,GAAG,qBAAqB;AAAA,UACvB;AAAA,UACA;AAAA,UACA;AAAA,QACD,CAAC;AAAA,MACF;AAAA,IACD;AAEA,YAAQ;AAAA,MACP,iBAAiB;AAAA,QAChB;AAAA,QACA;AAAA,MACD,CAAC;AAAA,IACF;AAEA,WAAO;AAAA,EACR,GAAG,CAAC,MAAM,QAAQ,cAAc,CAAC;AAClC","sourcesContent":["import { type ColumnDef, createColumnHelper } from \"@tanstack/react-table\";\nimport { useScorecardConfig } from \"../components/ConfigProvider\";\nimport { useScorecardMeta } from \"../components/MetaProvider\";\nimport { useScorecardState } from \"../components/StateProvider\";\nimport { useMemo } from \"react\";\nimport {\n\ttype ScorecardTableCellData,\n\ttype ScorecardTableData,\n} from \"../schemas/config\";\nimport {\n\tgetAverageColumn,\n\tgetDataColumnHeaders,\n\tgetOrgUnitColumnHeaders,\n} from \"../utils/columns\";\nimport { LabelCell } from \"../components/ScorecardTable/components/TableHeader/components/LabelCell\";\nimport { ExpandCell } from \"../components/ScorecardTable/components/TableHeader/components/ExpandCell\";\nimport { NumberCell } from \"../components/ScorecardTable/components/TableHeader/components/NumberCell\";\nimport { MetaHeaderCell } from \"../components/ScorecardTable/components/TableHeader/components/MetaHeaderCell\";\nimport { useCalendar } from \"./metadata\";\nimport { MetaFooterCell } from \"../components/ScorecardTable/components/MetaFooterCell\";\nimport { getOrgUnitLevel } from \"../utils/orgUnits\";\nimport { useLowestOrgUnitLevel } from \"./orgUnit\";\n\nconst columnHelper = createColumnHelper<ScorecardTableData>();\n\nexport function useMetaColumns() {\n\tconst state = useScorecardState();\n\n\tconst lowestLevel = useLowestOrgUnitLevel();\n\n\tconst metaColumns: ColumnDef<ScorecardTableData, any>[] = [\n\t\tcolumnHelper.accessor(\n\t\t\t(rowData) => {\n\t\t\t\tif (state?.options?.disableExpanding) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tconst dataInRows = state?.options?.showDataInRows;\n\t\t\t\tif (dataInRows) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tif (!lowestLevel) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tconst orgUnit = rowData.orgUnit;\n\t\t\t\tif (!orgUnit) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tconst ouLevel = getOrgUnitLevel(orgUnit);\n\n\t\t\t\treturn ouLevel !== lowestLevel.level;\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"expand\",\n\t\t\t\theader: () => null,\n\t\t\t\tmeta: {\n\t\t\t\t\tisMeta: true,\n\t\t\t\t\tfixed: true,\n\t\t\t\t\tlabel: \"\",\n\t\t\t\t},\n\t\t\t\tenableColumnFilter: false,\n\t\t\t\tcell: ExpandCell,\n\t\t\t\tfooter: () => null,\n\t\t\t},\n\t\t),\n\t\tcolumnHelper.accessor(\n\t\t\t(_, index) => {\n\t\t\t\treturn index + 1;\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"count\",\n\t\t\t\theader: () => null,\n\t\t\t\tmeta: {\n\t\t\t\t\tisMeta: true,\n\t\t\t\t\tfixed: true,\n\t\t\t\t\tlabel: \"\",\n\t\t\t\t},\n\t\t\t\tenableColumnFilter: false,\n\t\t\t\tcell: NumberCell,\n\t\t\t\tfooter: () => null,\n\t\t\t},\n\t\t),\n\t];\n\n\tif (state?.options?.showDataInRows) {\n\t\tmetaColumns.push(\n\t\t\tcolumnHelper.accessor(\"label\", {\n\t\t\t\theader: () => null,\n\t\t\t\tid: \"dataItems\",\n\t\t\t\tmeta: {\n\t\t\t\t\tfilterable: true,\n\t\t\t\t},\n\t\t\t\tenableColumnFilter: true,\n\t\t\t\tcell: LabelCell,\n\t\t\t\tfooter: MetaFooterCell,\n\t\t\t}),\n\t\t);\n\t} else {\n\t\tmetaColumns.push(\n\t\t\tcolumnHelper.accessor(\"label\", {\n\t\t\t\theader: () => null,\n\t\t\t\tid: \"orgUnits\",\n\t\t\t\tenableColumnFilter: true,\n\t\t\t\tmeta: {\n\t\t\t\t\tisMeta: true,\n\t\t\t\t\tfixed: true,\n\t\t\t\t},\n\t\t\t\tcell: LabelCell,\n\t\t\t\tfooter: MetaFooterCell,\n\t\t\t}),\n\t\t);\n\t}\n\n\treturn metaColumns;\n}\n\nexport function useTableColumns(): ColumnDef<\n\tScorecardTableData,\n\tScorecardTableCellData\n>[] {\n\tconst config = useScorecardConfig();\n\tconst meta = useScorecardMeta();\n\tconst state = useScorecardState();\n\tconst metaColumns = useMetaColumns();\n\tconst calendar = useCalendar();\n\n\tif (!config || !meta || !state) {\n\t\treturn [];\n\t}\n\treturn useMemo(() => {\n\t\tconst columns: ColumnDef<ScorecardTableData, any>[] = [\n\t\t\tcolumnHelper.group({\n\t\t\t\tid: \"metaHeader\",\n\t\t\t\tcolumns: metaColumns,\n\t\t\t\theader: MetaHeaderCell,\n\t\t\t\tfooter: () => null,\n\t\t\t}),\n\t\t];\n\n\t\tif (state.options.showDataInRows) {\n\t\t\tcolumns.push(\n\t\t\t\t...getOrgUnitColumnHeaders({\n\t\t\t\t\tmeta,\n\t\t\t\t\tcalendar,\n\t\t\t\t}),\n\t\t\t);\n\t\t} else {\n\t\t\tcolumns.push(\n\t\t\t\t...getDataColumnHeaders({\n\t\t\t\t\tmeta,\n\t\t\t\t\tconfig,\n\t\t\t\t\tcalendar,\n\t\t\t\t}),\n\t\t\t);\n\t\t}\n\n\t\tcolumns.push(\n\t\t\tgetAverageColumn({\n\t\t\t\tmeta,\n\t\t\t\tconfig,\n\t\t\t}),\n\t\t);\n\n\t\treturn columns;\n\t}, [state.options.showDataInRows]);\n}\n"]}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var StateProvider = require('../components/StateProvider');
|
|
4
|
+
var react = require('react');
|
|
5
|
+
var analytics = require('../utils/analytics');
|
|
6
|
+
var ConfigProvider = require('../components/ConfigProvider');
|
|
7
|
+
var appRuntime = require('@dhis2/app-runtime');
|
|
8
|
+
var multiCalendarDates = require('@dhis2/multi-calendar-dates');
|
|
9
|
+
var lodash = require('lodash');
|
|
10
|
+
var MetaProvider = require('../components/MetaProvider');
|
|
11
|
+
var data = require('../utils/data');
|
|
12
|
+
var metadata = require('./metadata');
|
|
13
|
+
|
|
14
|
+
const query = {
|
|
15
|
+
data: {
|
|
16
|
+
resource: "analytics",
|
|
17
|
+
params: ({
|
|
18
|
+
periods,
|
|
19
|
+
orgUnits,
|
|
20
|
+
dataItems
|
|
21
|
+
}) => {
|
|
22
|
+
return {
|
|
23
|
+
skipMeta: true,
|
|
24
|
+
dimension: [
|
|
25
|
+
`pe:${periods.join(";")}`,
|
|
26
|
+
`dx:${dataItems.join(";")}`,
|
|
27
|
+
`ou:${orgUnits.join(";")}`
|
|
28
|
+
]
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
function useGetScorecardData() {
|
|
34
|
+
const config = ConfigProvider.useScorecardConfig();
|
|
35
|
+
const meta = MetaProvider.useScorecardMeta();
|
|
36
|
+
const state = StateProvider.useScorecardState();
|
|
37
|
+
const calendar = metadata.useCalendar();
|
|
38
|
+
if (!config || !state || !meta) {
|
|
39
|
+
throw new Error(
|
|
40
|
+
"Invalid scorecard setup. Make sure the valid config and state props are passed."
|
|
41
|
+
);
|
|
42
|
+
}
|
|
43
|
+
const { dataItemsIds, orgUnitsIds, periodsIds } = analytics.getDimensions({
|
|
44
|
+
config,
|
|
45
|
+
state
|
|
46
|
+
});
|
|
47
|
+
const analyticsPeriod = react.useMemo(() => {
|
|
48
|
+
const pastPeriods = periodsIds.map((periodId) => {
|
|
49
|
+
const pe = multiCalendarDates.getAdjacentFixedPeriods({
|
|
50
|
+
calendar,
|
|
51
|
+
steps: -1,
|
|
52
|
+
period: multiCalendarDates.createFixedPeriodFromPeriodId({
|
|
53
|
+
calendar,
|
|
54
|
+
periodId
|
|
55
|
+
})
|
|
56
|
+
});
|
|
57
|
+
return pe.map(({ id }) => id);
|
|
58
|
+
}).flat();
|
|
59
|
+
return lodash.uniq([...periodsIds, ...pastPeriods]);
|
|
60
|
+
}, [periodsIds]);
|
|
61
|
+
const { loading, data: rawAnalyticsData } = appRuntime.useDataQuery(query, {
|
|
62
|
+
variables: {
|
|
63
|
+
periods: analyticsPeriod,
|
|
64
|
+
dataItems: dataItemsIds,
|
|
65
|
+
orgUnits: orgUnitsIds
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
const rawData = react.useMemo(() => {
|
|
69
|
+
if (!rawAnalyticsData)
|
|
70
|
+
return [];
|
|
71
|
+
return data.sanitizeAnalyticsData(rawAnalyticsData);
|
|
72
|
+
}, [rawAnalyticsData]);
|
|
73
|
+
const data$1 = react.useMemo(() => {
|
|
74
|
+
if (rawAnalyticsData) {
|
|
75
|
+
const data2 = data.getTableDataFromAnalytics(rawAnalyticsData, {
|
|
76
|
+
meta,
|
|
77
|
+
state,
|
|
78
|
+
config
|
|
79
|
+
});
|
|
80
|
+
if (!!state.options.emptyRows) {
|
|
81
|
+
return data2;
|
|
82
|
+
} else {
|
|
83
|
+
return data2.filter(({ dataValues }) => !lodash.isEmpty(dataValues));
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return [];
|
|
87
|
+
}, [rawAnalyticsData, meta]);
|
|
88
|
+
return {
|
|
89
|
+
loading,
|
|
90
|
+
data: data$1,
|
|
91
|
+
rawData
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
exports.useGetScorecardData = useGetScorecardData;
|
|
96
|
+
//# sourceMappingURL=out.js.map
|
|
97
|
+
//# sourceMappingURL=data.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Scorecard/hooks/data.ts"],"names":["data"],"mappings":"AAAA,SAAS,yBAAyB;AAClC,SAAS,eAAe;AACxB,SAAS,qBAAqB;AAC9B,SAAS,0BAA0B;AACnC,SAAS,oBAAoB;AAC7B;AAAA,EACC;AAAA,EACA;AAAA,OACM;AACP,SAAS,SAAS,YAAY;AAC9B,SAAS,wBAAwB;AACjC;AAAA,EACC;AAAA,EACA;AAAA,OACM;AACP,SAAS,mBAAmB;AAE5B,MAAM,QAAa;AAAA,EAClB,MAAM;AAAA,IACL,UAAU;AAAA,IACV,QAAQ,CAAC;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,IACD,MAIM;AACL,aAAO;AAAA,QACN,UAAU;AAAA,QACV,WAAW;AAAA,UACV,MAAM,QAAQ,KAAK,GAAG,CAAC;AAAA,UACvB,MAAM,UAAU,KAAK,GAAG,CAAC;AAAA,UACzB,MAAM,SAAS,KAAK,GAAG,CAAC;AAAA,QACzB;AAAA,MACD;AAAA,IACD;AAAA,EACD;AACD;AAkBO,SAAS,sBAAsB;AACrC,QAAM,SAAS,mBAAmB;AAClC,QAAM,OAAO,iBAAiB;AAC9B,QAAM,QAAQ,kBAAkB;AAChC,QAAM,WAAW,YAAY;AAC7B,MAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM;AAC/B,UAAM,IAAI;AAAA,MACT;AAAA,IACD;AAAA,EACD;AACA,QAAM,EAAE,cAAc,aAAa,WAAW,IAAI,cAAc;AAAA,IAC/D;AAAA,IACA;AAAA,EACD,CAAC;AAED,QAAM,kBAAkB,QAAQ,MAAM;AACrC,UAAM,cAAc,WAClB,IAAI,CAAC,aAAa;AAClB,YAAM,KAAK,wBAAwB;AAAA,QAClC;AAAA,QACA,OAAO;AAAA,QACP,QAAQ,8BAA8B;AAAA,UACrC;AAAA,UACA;AAAA,QACD,CAAC;AAAA,MACF,CAAC;AACD,aAAO,GAAG,IAAI,CAAC,EAAE,GAAG,MAAM,EAAE;AAAA,IAC7B,CAAC,EACA,KAAK;AAEP,WAAO,KAAK,CAAC,GAAG,YAAY,GAAG,WAAW,CAAC;AAAA,EAC5C,GAAG,CAAC,UAAU,CAAC;AAEf,QAAM,EAAE,SAAS,MAAM,iBAAiB,IACvC,aAAyC,OAAO;AAAA,IAC/C,WAAW;AAAA,MACV,SAAS;AAAA,MACT,WAAW;AAAA,MACX,UAAU;AAAA,IACX;AAAA,EACD,CAAC;AAEF,QAAM,UAAU,QAAQ,MAAM;AAC7B,QAAI,CAAC;AAAkB,aAAO,CAAC;AAC/B,WAAO,sBAAsB,gBAAgB;AAAA,EAC9C,GAAG,CAAC,gBAAgB,CAAC;AAErB,QAAM,OAAO,QAAQ,MAAM;AAC1B,QAAI,kBAAkB;AACrB,YAAMA,QAAO,0BAA0B,kBAAkB;AAAA,QACxD;AAAA,QACA;AAAA,QACA;AAAA,MACD,CAAC;AACD,UAAI,CAAC,CAAC,MAAM,QAAQ,WAAW;AAC9B,eAAOA;AAAA,MACR,OAAO;AACN,eAAOA,MAAK,OAAO,CAAC,EAAE,WAAW,MAAM,CAAC,QAAQ,UAAU,CAAC;AAAA,MAC5D;AAAA,IACD;AACA,WAAO,CAAC;AAAA,EACT,GAAG,CAAC,kBAAkB,IAAI,CAAC;AAE3B,SAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACD","sourcesContent":["import { useScorecardState } from \"../components/StateProvider\";\nimport { useMemo } from \"react\";\nimport { getDimensions } from \"../utils/analytics\";\nimport { useScorecardConfig } from \"../components/ConfigProvider\";\nimport { useDataQuery } from \"@dhis2/app-runtime\";\nimport {\n\tcreateFixedPeriodFromPeriodId,\n\tgetAdjacentFixedPeriods,\n} from \"@dhis2/multi-calendar-dates\";\nimport { isEmpty, uniq } from \"lodash\";\nimport { useScorecardMeta } from \"../components/MetaProvider\";\nimport {\n\tgetTableDataFromAnalytics,\n\tsanitizeAnalyticsData,\n} from \"../utils/data\";\nimport { useCalendar } from \"./metadata\";\n\nconst query: any = {\n\tdata: {\n\t\tresource: \"analytics\",\n\t\tparams: ({\n\t\t\tperiods,\n\t\t\torgUnits,\n\t\t\tdataItems,\n\t\t}: {\n\t\t\tperiods: string[];\n\t\t\torgUnits: string[];\n\t\t\tdataItems: string[];\n\t\t}) => {\n\t\t\treturn {\n\t\t\t\tskipMeta: true,\n\t\t\t\tdimension: [\n\t\t\t\t\t`pe:${periods.join(\";\")}`,\n\t\t\t\t\t`dx:${dataItems.join(\";\")}`,\n\t\t\t\t\t`ou:${orgUnits.join(\";\")}`,\n\t\t\t\t],\n\t\t\t};\n\t\t},\n\t},\n};\n\nexport interface ScorecardDataQueryResponse {\n\tdata: {\n\t\theaderWidth: number;\n\t\theaders: Array<{\n\t\t\tname: string;\n\t\t\thidden: boolean;\n\t\t\tmeta: boolean;\n\t\t\tcolumn: string;\n\t\t\tvalueType: string;\n\t\t}>;\n\t\trows: Array<Array<string>>;\n\t\theight: number;\n\t\twidth: number;\n\t};\n}\n\nexport function useGetScorecardData() {\n\tconst config = useScorecardConfig();\n\tconst meta = useScorecardMeta();\n\tconst state = useScorecardState();\n\tconst calendar = useCalendar();\n\tif (!config || !state || !meta) {\n\t\tthrow new Error(\n\t\t\t\"Invalid scorecard setup. Make sure the valid config and state props are passed.\",\n\t\t);\n\t}\n\tconst { dataItemsIds, orgUnitsIds, periodsIds } = getDimensions({\n\t\tconfig,\n\t\tstate,\n\t});\n\t//We need to make sure each period has a past period\n\tconst analyticsPeriod = useMemo(() => {\n\t\tconst pastPeriods = periodsIds\n\t\t\t.map((periodId) => {\n\t\t\t\tconst pe = getAdjacentFixedPeriods({\n\t\t\t\t\tcalendar,\n\t\t\t\t\tsteps: -1,\n\t\t\t\t\tperiod: createFixedPeriodFromPeriodId({\n\t\t\t\t\t\tcalendar,\n\t\t\t\t\t\tperiodId,\n\t\t\t\t\t}),\n\t\t\t\t});\n\t\t\t\treturn pe.map(({ id }) => id);\n\t\t\t})\n\t\t\t.flat();\n\n\t\treturn uniq([...periodsIds, ...pastPeriods]);\n\t}, [periodsIds]);\n\n\tconst { loading, data: rawAnalyticsData } =\n\t\tuseDataQuery<ScorecardDataQueryResponse>(query, {\n\t\t\tvariables: {\n\t\t\t\tperiods: analyticsPeriod,\n\t\t\t\tdataItems: dataItemsIds,\n\t\t\t\torgUnits: orgUnitsIds,\n\t\t\t},\n\t\t});\n\n\tconst rawData = useMemo(() => {\n\t\tif (!rawAnalyticsData) return [];\n\t\treturn sanitizeAnalyticsData(rawAnalyticsData);\n\t}, [rawAnalyticsData]);\n\n\tconst data = useMemo(() => {\n\t\tif (rawAnalyticsData) {\n\t\t\tconst data = getTableDataFromAnalytics(rawAnalyticsData, {\n\t\t\t\tmeta,\n\t\t\t\tstate,\n\t\t\t\tconfig,\n\t\t\t});\n\t\t\tif (!!state.options.emptyRows) {\n\t\t\t\treturn data;\n\t\t\t} else {\n\t\t\t\treturn data.filter(({ dataValues }) => !isEmpty(dataValues));\n\t\t\t}\n\t\t}\n\t\treturn [];\n\t}, [rawAnalyticsData, meta]);\n\n\treturn {\n\t\tloading,\n\t\tdata,\n\t\trawData,\n\t};\n}\n"]}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var ConfigProvider = require('../components/ConfigProvider');
|
|
4
|
+
var StateProvider = require('../components/StateProvider');
|
|
5
|
+
var appRuntime = require('@dhis2/app-runtime');
|
|
6
|
+
var react = require('react');
|
|
7
|
+
var analytics = require('../utils/analytics');
|
|
8
|
+
|
|
9
|
+
const query = {
|
|
10
|
+
meta: {
|
|
11
|
+
resource: "analytics",
|
|
12
|
+
params: ({
|
|
13
|
+
periods,
|
|
14
|
+
orgUnits,
|
|
15
|
+
dataItems
|
|
16
|
+
}) => {
|
|
17
|
+
return {
|
|
18
|
+
skipData: true,
|
|
19
|
+
hierarchyData: true,
|
|
20
|
+
showHierarchy: true,
|
|
21
|
+
enhancedConditions: true,
|
|
22
|
+
includeMetadataDetails: true,
|
|
23
|
+
dimension: [
|
|
24
|
+
`pe:${periods.join(";")}`,
|
|
25
|
+
`dx:${dataItems.join(";")}`,
|
|
26
|
+
`ou:${orgUnits.join(";")}`
|
|
27
|
+
]
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
ouLevel: {
|
|
32
|
+
resource: "organisationUnitLevels",
|
|
33
|
+
params: {
|
|
34
|
+
fields: ["id", "displayName", "level"]
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
function useGetScorecardMeta() {
|
|
39
|
+
const config = ConfigProvider.useScorecardConfig();
|
|
40
|
+
const state = StateProvider.useScorecardState();
|
|
41
|
+
if (!config || !state) {
|
|
42
|
+
throw new Error(
|
|
43
|
+
"Invalid scorecard setup. Make sure the valid config and state props are passed."
|
|
44
|
+
);
|
|
45
|
+
}
|
|
46
|
+
const { dataItemsIds, orgUnitsIds, periodsIds } = analytics.getDimensions({
|
|
47
|
+
config,
|
|
48
|
+
state
|
|
49
|
+
});
|
|
50
|
+
const { loading, data } = appRuntime.useDataQuery(query, {
|
|
51
|
+
variables: {
|
|
52
|
+
periods: periodsIds,
|
|
53
|
+
orgUnits: orgUnitsIds,
|
|
54
|
+
dataItems: dataItemsIds
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
const orgUnits = react.useMemo(() => {
|
|
58
|
+
return data?.meta?.metaData.dimensions["ou"].map((ou) => {
|
|
59
|
+
return {
|
|
60
|
+
...data?.meta?.metaData.items[ou],
|
|
61
|
+
hierarchy: data?.meta?.metaData?.ouNameHierarchy[ou]
|
|
62
|
+
};
|
|
63
|
+
}).filter(Boolean) ?? [];
|
|
64
|
+
}, [data?.meta]);
|
|
65
|
+
const periods = react.useMemo(() => {
|
|
66
|
+
return data?.meta?.metaData.dimensions["pe"].map((pe) => {
|
|
67
|
+
return data?.meta?.metaData.items[pe];
|
|
68
|
+
}).filter(Boolean) ?? [];
|
|
69
|
+
}, [data?.meta]);
|
|
70
|
+
const dataItems = react.useMemo(() => {
|
|
71
|
+
return data?.meta?.metaData.dimensions["dx"].map((dx) => {
|
|
72
|
+
return data?.meta?.metaData.items[dx];
|
|
73
|
+
}).filter(Boolean) ?? [];
|
|
74
|
+
}, [data?.meta]);
|
|
75
|
+
const orgUnitLevels = react.useMemo(
|
|
76
|
+
() => data?.ouLevel?.organisationUnitLevels ?? [],
|
|
77
|
+
[data?.ouLevel?.organisationUnitLevels]
|
|
78
|
+
);
|
|
79
|
+
return {
|
|
80
|
+
loading,
|
|
81
|
+
orgUnits,
|
|
82
|
+
periods,
|
|
83
|
+
dataItems,
|
|
84
|
+
orgUnitLevels
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
function useCalendar() {
|
|
88
|
+
const { systemInfo } = appRuntime.useConfig();
|
|
89
|
+
return systemInfo?.calendar ?? "iso8601";
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
exports.useCalendar = useCalendar;
|
|
93
|
+
exports.useGetScorecardMeta = useGetScorecardMeta;
|
|
94
|
+
//# sourceMappingURL=out.js.map
|
|
95
|
+
//# sourceMappingURL=metadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Scorecard/hooks/metadata.ts"],"names":[],"mappings":"AAAA,SAAS,0BAA0B;AACnC,SAAS,yBAAyB;AAClC,SAAS,WAAW,oBAAoB;AACxC,SAAS,eAAe;AACxB,SAAS,qBAAqB;AAG9B,MAAM,QAAa;AAAA,EAClB,MAAM;AAAA,IACL,UAAU;AAAA,IACV,QAAQ,CAAC;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,IACD,MAIM;AACL,aAAO;AAAA,QACN,UAAU;AAAA,QACV,eAAe;AAAA,QACf,eAAe;AAAA,QACf,oBAAoB;AAAA,QACpB,wBAAwB;AAAA,QACxB,WAAW;AAAA,UACV,MAAM,QAAQ,KAAK,GAAG,CAAC;AAAA,UACvB,MAAM,UAAU,KAAK,GAAG,CAAC;AAAA,UACzB,MAAM,SAAS,KAAK,GAAG,CAAC;AAAA,QACzB;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAAA,EACA,SAAS;AAAA,IACR,UAAU;AAAA,IACV,QAAQ;AAAA,MACP,QAAQ,CAAC,MAAM,eAAe,OAAO;AAAA,IACtC;AAAA,EACD;AACD;AA6CO,SAAS,sBAAsB;AACrC,QAAM,SAAS,mBAAmB;AAClC,QAAM,QAAQ,kBAAkB;AAEhC,MAAI,CAAC,UAAU,CAAC,OAAO;AACtB,UAAM,IAAI;AAAA,MACT;AAAA,IACD;AAAA,EACD;AAEA,QAAM,EAAE,cAAc,aAAa,WAAW,IAAI,cAAc;AAAA,IAC/D;AAAA,IACA;AAAA,EACD,CAAC;AAED,QAAM,EAAE,SAAS,KAAK,IAAI,aAA2B,OAAO;AAAA,IAC3D,WAAW;AAAA,MACV,SAAS;AAAA,MACT,UAAU;AAAA,MACV,WAAW;AAAA,IACZ;AAAA,EACD,CAAC;AAED,QAAM,WAAW,QAAQ,MAAM;AAC9B,WACC,MAAM,MAAM,SAAS,WAAW,IAAI,EAClC,IAAI,CAAC,OAAO;AACZ,aAAO;AAAA,QACN,GAAG,MAAM,MAAM,SAAS,MAAM,EAAE;AAAA,QAChC,WAAW,MAAM,MAAM,UAAU,gBAAgB,EAAE;AAAA,MACpD;AAAA,IACD,CAAC,EACA,OAAO,OAAO,KAAK,CAAC;AAAA,EAExB,GAAG,CAAC,MAAM,IAAI,CAAC;AACf,QAAM,UAAU,QAAQ,MAAM;AAC7B,WACC,MAAM,MAAM,SAAS,WAAW,IAAI,EAClC,IAAI,CAAC,OAAO;AACZ,aAAO,MAAM,MAAM,SAAS,MAAM,EAAE;AAAA,IACrC,CAAC,EACA,OAAO,OAAO,KAAK,CAAC;AAAA,EAExB,GAAG,CAAC,MAAM,IAAI,CAAC;AACf,QAAM,YAAY,QAAQ,MAAM;AAC/B,WACC,MAAM,MAAM,SAAS,WAAW,IAAI,EAClC,IAAI,CAAC,OAAO;AACZ,aAAO,MAAM,MAAM,SAAS,MAAM,EAAE;AAAA,IACrC,CAAC,EACA,OAAO,OAAO,KAAK,CAAC;AAAA,EAExB,GAAG,CAAC,MAAM,IAAI,CAAC;AACf,QAAM,gBAAgB;AAAA,IACrB,MAAM,MAAM,SAAS,0BAA0B,CAAC;AAAA,IAChD,CAAC,MAAM,SAAS,sBAAsB;AAAA,EACvC;AAEA,SAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACD;AAEO,SAAS,cAAc;AAC7B,QAAM,EAAE,WAAW,IAAI,UAAU;AACjC,SACE,YAA4D,YAC7D;AAEF","sourcesContent":["import { useScorecardConfig } from \"../components/ConfigProvider\";\nimport { useScorecardState } from \"../components/StateProvider\";\nimport { useConfig, useDataQuery } from \"@dhis2/app-runtime\";\nimport { useMemo } from \"react\";\nimport { getDimensions } from \"../utils/analytics\";\nimport type { SupportedCalendar } from \"@dhis2/multi-calendar-dates/build/types/types\";\n\nconst query: any = {\n\tmeta: {\n\t\tresource: \"analytics\",\n\t\tparams: ({\n\t\t\tperiods,\n\t\t\torgUnits,\n\t\t\tdataItems,\n\t\t}: {\n\t\t\tperiods: string[];\n\t\t\torgUnits: string[];\n\t\t\tdataItems: string[];\n\t\t}) => {\n\t\t\treturn {\n\t\t\t\tskipData: true,\n\t\t\t\thierarchyData: true,\n\t\t\t\tshowHierarchy: true,\n\t\t\t\tenhancedConditions: true,\n\t\t\t\tincludeMetadataDetails: true,\n\t\t\t\tdimension: [\n\t\t\t\t\t`pe:${periods.join(\";\")}`,\n\t\t\t\t\t`dx:${dataItems.join(\";\")}`,\n\t\t\t\t\t`ou:${orgUnits.join(\";\")}`,\n\t\t\t\t],\n\t\t\t};\n\t\t},\n\t},\n\touLevel: {\n\t\tresource: \"organisationUnitLevels\",\n\t\tparams: {\n\t\t\tfields: [\"id\", \"displayName\", \"level\"],\n\t\t},\n\t},\n};\n\nexport type ItemMeta = {\n\tuid: string;\n\tname: string;\n\tcode?: string;\n\tdescription?: string;\n\tvalueType?: string;\n\ttotalAggregationType?: string;\n\taggregationType?: string;\n\t[key: string]: string | number | undefined;\n};\n\ntype MetaResponse = {\n\tmeta: {\n\t\tcolumns: any[];\n\t\trows: [];\n\t\theaders: [];\n\t\tmetaData: {\n\t\t\tdimensions: {\n\t\t\t\tdx: string[];\n\t\t\t\tou: string[];\n\t\t\t\tpe: string[];\n\t\t\t\tco: string[];\n\t\t\t\t[key: string]: string[];\n\t\t\t};\n\t\t\titems: {\n\t\t\t\t[key: string]: ItemMeta;\n\t\t\t};\n\t\t\touNameHierarchy: {\n\t\t\t\t[key: string]: string;\n\t\t\t};\n\t\t};\n\t};\n\touLevel: {\n\t\torganisationUnitLevels: Array<{\n\t\t\tid: string;\n\t\t\tlevel: number;\n\t\t\torganisationUnits: Array<{\n\t\t\t\tid: string;\n\t\t\t}>;\n\t\t}>;\n\t};\n};\n\nexport function useGetScorecardMeta() {\n\tconst config = useScorecardConfig();\n\tconst state = useScorecardState();\n\n\tif (!config || !state) {\n\t\tthrow new Error(\n\t\t\t\"Invalid scorecard setup. Make sure the valid config and state props are passed.\",\n\t\t);\n\t}\n\n\tconst { dataItemsIds, orgUnitsIds, periodsIds } = getDimensions({\n\t\tconfig,\n\t\tstate,\n\t});\n\n\tconst { loading, data } = useDataQuery<MetaResponse>(query, {\n\t\tvariables: {\n\t\t\tperiods: periodsIds,\n\t\t\torgUnits: orgUnitsIds,\n\t\t\tdataItems: dataItemsIds,\n\t\t},\n\t});\n\n\tconst orgUnits = useMemo(() => {\n\t\treturn (\n\t\t\tdata?.meta?.metaData.dimensions[\"ou\"]\n\t\t\t\t.map((ou) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...data?.meta?.metaData.items[ou],\n\t\t\t\t\t\thierarchy: data?.meta?.metaData?.ouNameHierarchy[ou],\n\t\t\t\t\t};\n\t\t\t\t})\n\t\t\t\t.filter(Boolean) ?? []\n\t\t);\n\t}, [data?.meta]);\n\tconst periods = useMemo(() => {\n\t\treturn (\n\t\t\tdata?.meta?.metaData.dimensions[\"pe\"]\n\t\t\t\t.map((pe) => {\n\t\t\t\t\treturn data?.meta?.metaData.items[pe];\n\t\t\t\t})\n\t\t\t\t.filter(Boolean) ?? []\n\t\t);\n\t}, [data?.meta]);\n\tconst dataItems = useMemo(() => {\n\t\treturn (\n\t\t\tdata?.meta?.metaData.dimensions[\"dx\"]\n\t\t\t\t.map((dx) => {\n\t\t\t\t\treturn data?.meta?.metaData.items[dx];\n\t\t\t\t})\n\t\t\t\t.filter(Boolean) ?? []\n\t\t);\n\t}, [data?.meta]);\n\tconst orgUnitLevels = useMemo(\n\t\t() => data?.ouLevel?.organisationUnitLevels ?? [],\n\t\t[data?.ouLevel?.organisationUnitLevels],\n\t);\n\n\treturn {\n\t\tloading,\n\t\torgUnits,\n\t\tperiods,\n\t\tdataItems,\n\t\torgUnitLevels,\n\t};\n}\n\nexport function useCalendar() {\n\tconst { systemInfo } = useConfig();\n\treturn (\n\t\t(systemInfo as unknown as { calendar?: SupportedCalendar })?.calendar ??\n\t\t\"iso8601\"\n\t);\n}\n"]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var MetaProvider = require('../components/MetaProvider');
|
|
4
|
+
var react = require('react');
|
|
5
|
+
var lodash = require('lodash');
|
|
6
|
+
|
|
7
|
+
function useLowestOrgUnitLevel() {
|
|
8
|
+
const meta = MetaProvider.useScorecardMeta();
|
|
9
|
+
return react.useMemo(() => {
|
|
10
|
+
const sortedOrgUnitLevels = lodash.sortBy(meta?.orgUnitLevels ?? [], "level");
|
|
11
|
+
return lodash.last(sortedOrgUnitLevels);
|
|
12
|
+
}, [meta?.orgUnitLevels]);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
exports.useLowestOrgUnitLevel = useLowestOrgUnitLevel;
|
|
16
|
+
//# sourceMappingURL=out.js.map
|
|
17
|
+
//# sourceMappingURL=orgUnit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Scorecard/hooks/orgUnit.ts"],"names":[],"mappings":"AAAA,SAAS,wBAAwB;AACjC,SAAS,eAAe;AACxB,SAAS,MAAM,cAAc;AAEtB,SAAS,wBAAwB;AACvC,QAAM,OAAO,iBAAiB;AAE9B,SAAO,QAAQ,MAAM;AACpB,UAAM,sBAAsB,OAAO,MAAM,iBAAiB,CAAC,GAAG,OAAO;AACrE,WAAO,KAAK,mBAAmB;AAAA,EAChC,GAAG,CAAC,MAAM,aAAa,CAAC;AACzB","sourcesContent":["import { useScorecardMeta } from \"../components/MetaProvider\";\nimport { useMemo } from \"react\";\nimport { last, sortBy } from \"lodash\";\n\nexport function useLowestOrgUnitLevel() {\n\tconst meta = useScorecardMeta();\n\n\treturn useMemo(() => {\n\t\tconst sortedOrgUnitLevels = sortBy(meta?.orgUnitLevels ?? [], \"level\");\n\t\treturn last(sortedOrgUnitLevels);\n\t}, [meta?.orgUnitLevels]);\n}\n"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var ConfigProvider = require('../components/ConfigProvider');
|
|
4
|
+
|
|
5
|
+
function usePeriodSelection() {
|
|
6
|
+
const config = ConfigProvider.useScorecardConfig();
|
|
7
|
+
if (!config) {
|
|
8
|
+
return null;
|
|
9
|
+
}
|
|
10
|
+
config.periodSelection;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
exports.usePeriodSelection = usePeriodSelection;
|
|
14
|
+
//# sourceMappingURL=out.js.map
|
|
15
|
+
//# sourceMappingURL=period.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Scorecard/hooks/period.ts"],"names":[],"mappings":"AAAA,SAAS,0BAA0B;AAE5B,SAAS,qBAAqB;AACpC,QAAM,SAAS,mBAAmB;AAElC,MAAI,CAAC,QAAQ;AACZ,WAAO;AAAA,EACR;AACA,QAAM,kBAAkB,OAAO;AAChC","sourcesContent":["import { useScorecardConfig } from \"../components/ConfigProvider\";\n\nexport function usePeriodSelection() {\n\tconst config = useScorecardConfig();\n\n\tif (!config) {\n\t\treturn null;\n\t}\n\tconst periodSelection = config.periodSelection;\n}\n"]}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var reactTable = require('@tanstack/react-table');
|
|
4
|
+
var columns = require('./columns');
|
|
5
|
+
var DataProvider = require('../components/DataProvider');
|
|
6
|
+
var react = require('react');
|
|
7
|
+
var StateProvider = require('../components/StateProvider');
|
|
8
|
+
|
|
9
|
+
function useTableSetup() {
|
|
10
|
+
const state = StateProvider.useScorecardState();
|
|
11
|
+
const showAverageColumn = state?.options?.averageColumn ?? false;
|
|
12
|
+
const showItemNumber = state?.options?.itemNumber ?? false;
|
|
13
|
+
const [columnFilters, setColumnFilters] = react.useState([]);
|
|
14
|
+
const [columnVisibility, setColumnVisibility] = react.useState({
|
|
15
|
+
average: showAverageColumn,
|
|
16
|
+
count: showItemNumber
|
|
17
|
+
});
|
|
18
|
+
const [sorting, setSorting] = react.useState([]);
|
|
19
|
+
const columns$1 = columns.useTableColumns();
|
|
20
|
+
const { data } = DataProvider.useScorecardData();
|
|
21
|
+
return {
|
|
22
|
+
columns: columns$1,
|
|
23
|
+
data,
|
|
24
|
+
state: {
|
|
25
|
+
columnFilters,
|
|
26
|
+
sorting,
|
|
27
|
+
columnVisibility
|
|
28
|
+
},
|
|
29
|
+
onColumnFiltersChange: setColumnFilters,
|
|
30
|
+
onSortingChange: setSorting,
|
|
31
|
+
getCoreRowModel: reactTable.getCoreRowModel(),
|
|
32
|
+
getFilteredRowModel: reactTable.getFilteredRowModel(),
|
|
33
|
+
getSortedRowModel: reactTable.getSortedRowModel(),
|
|
34
|
+
onColumnVisibilityChange: setColumnVisibility
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
exports.useTableSetup = useTableSetup;
|
|
39
|
+
//# sourceMappingURL=out.js.map
|
|
40
|
+
//# sourceMappingURL=table.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Scorecard/hooks/table.ts"],"names":[],"mappings":"AAAA;AAAA,EAEC;AAAA,EACA;AAAA,EACA;AAAA,OAIM;AACP,SAAS,uBAAuB;AAEhC,SAAS,wBAAwB;AACjC,SAAS,gBAAgB;AACzB,SAAS,yBAAyB;AAE3B,SAAS,gBAAkD;AACjE,QAAM,QAAQ,kBAAkB;AAEhC,QAAM,oBAAoB,OAAO,SAAS,iBAAiB;AAC3D,QAAM,iBAAiB,OAAO,SAAS,cAAc;AAErD,QAAM,CAAC,eAAe,gBAAgB,IAAI,SAA6B,CAAC,CAAC;AACzE,QAAM,CAAC,kBAAkB,mBAAmB,IAAI,SAA0B;AAAA,IACzE,SAAS;AAAA,IACT,OAAO;AAAA,EACR,CAAC;AAED,QAAM,CAAC,SAAS,UAAU,IAAI,SAAuB,CAAC,CAAC;AACvD,QAAM,UAAU,gBAAgB;AAChC,QAAM,EAAE,KAAK,IAAI,iBAAiB;AAElC,SAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA,OAAO;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA,uBAAuB;AAAA,IACvB,iBAAiB;AAAA,IACjB,iBAAiB,gBAAgB;AAAA,IACjC,qBAAqB,oBAAoB;AAAA,IACzC,mBAAmB,kBAAkB;AAAA,IACrC,0BAA0B;AAAA,EAC3B;AACD","sourcesContent":["import {\n\ttype ColumnFiltersState,\n\tgetCoreRowModel,\n\tgetFilteredRowModel,\n\tgetSortedRowModel,\n\ttype SortingState,\n\ttype TableOptions,\n\ttype VisibilityState,\n} from \"@tanstack/react-table\";\nimport { useTableColumns } from \"./columns\";\nimport type { ScorecardTableData } from \"../schemas/config\";\nimport { useScorecardData } from \"../components/DataProvider\";\nimport { useState } from \"react\";\nimport { useScorecardState } from \"../components/StateProvider\";\n\nexport function useTableSetup(): TableOptions<ScorecardTableData> {\n\tconst state = useScorecardState();\n\n\tconst showAverageColumn = state?.options?.averageColumn ?? false;\n\tconst showItemNumber = state?.options?.itemNumber ?? false;\n\t// const [expanded, setExpanded] = useState<ExpandedState>({});\n\tconst [columnFilters, setColumnFilters] = useState<ColumnFiltersState>([]);\n\tconst [columnVisibility, setColumnVisibility] = useState<VisibilityState>({\n\t\taverage: showAverageColumn,\n\t\tcount: showItemNumber,\n\t});\n\n\tconst [sorting, setSorting] = useState<SortingState>([]);\n\tconst columns = useTableColumns();\n\tconst { data } = useScorecardData();\n\n\treturn {\n\t\tcolumns,\n\t\tdata,\n\t\tstate: {\n\t\t\tcolumnFilters,\n\t\t\tsorting,\n\t\t\tcolumnVisibility,\n\t\t},\n\t\tonColumnFiltersChange: setColumnFilters,\n\t\tonSortingChange: setSorting,\n\t\tgetCoreRowModel: getCoreRowModel(),\n\t\tgetFilteredRowModel: getFilteredRowModel(),\n\t\tgetSortedRowModel: getSortedRowModel(),\n\t\tonColumnVisibilityChange: setColumnVisibility,\n\t};\n}\n"]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var Scorecard = require('./Scorecard');
|
|
4
|
+
var config = require('./schemas/config');
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
Object.keys(Scorecard).forEach(function (k) {
|
|
9
|
+
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
10
|
+
enumerable: true,
|
|
11
|
+
get: function () { return Scorecard[k]; }
|
|
12
|
+
});
|
|
13
|
+
});
|
|
14
|
+
Object.keys(config).forEach(function (k) {
|
|
15
|
+
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
16
|
+
enumerable: true,
|
|
17
|
+
get: function () { return config[k]; }
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
//# sourceMappingURL=out.js.map
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Scorecard/index.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,cAAc","sourcesContent":["export * from \"./Scorecard\";\nexport * from \"./schemas/config\";\n"]}
|