@hisptz/dhis2-analytics 1.0.11 → 1.0.13
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/build/cjs/components/CustomPivotTable/CustomPivotTable.stories.js +69 -0
- package/build/cjs/components/CustomPivotTable/components/Table/index.js +16 -0
- package/build/cjs/components/CustomPivotTable/components/TableBody/TableBody.module.css +12 -0
- package/build/cjs/components/CustomPivotTable/components/TableBody/index.js +109 -0
- package/build/cjs/components/CustomPivotTable/components/TableHeaders/TableHeaders.module.css +10 -0
- package/build/cjs/components/CustomPivotTable/components/TableHeaders/index.js +89 -0
- package/build/cjs/components/CustomPivotTable/index.js +30 -0
- package/build/cjs/components/{PivotTable → CustomPivotTable}/interfaces/index.js +0 -0
- package/build/cjs/components/CustomPivotTable/services/engine.js +89 -0
- package/build/cjs/components/{PivotTable/components/PivotTableEngineContext.js → CustomPivotTable/state/engine.js} +11 -13
- package/build/cjs/dataProviders/map.js +1 -1
- package/build/cjs/index.js +4 -4
- package/build/cjs/locales/en/translations.json +0 -33
- package/build/es/components/CustomPivotTable/CustomPivotTable.stories.js +59 -0
- package/build/es/components/CustomPivotTable/components/Table/index.js +9 -0
- package/build/es/components/CustomPivotTable/components/TableBody/TableBody.module.css +12 -0
- package/build/es/components/CustomPivotTable/components/TableBody/index.js +100 -0
- package/build/es/components/CustomPivotTable/components/TableHeaders/TableHeaders.module.css +10 -0
- package/build/es/components/CustomPivotTable/components/TableHeaders/index.js +82 -0
- package/build/es/components/CustomPivotTable/index.js +22 -0
- package/build/es/components/{PivotTable → CustomPivotTable}/interfaces/index.js +0 -0
- package/build/es/components/CustomPivotTable/services/engine.js +82 -0
- package/build/es/components/CustomPivotTable/state/engine.js +14 -0
- package/build/es/dataProviders/map.js +1 -1
- package/build/es/index.js +1 -1
- package/build/es/locales/en/translations.json +0 -33
- package/build/types/{components → src/components}/ChartAnalytics/components/DownloadMenu/components/Menu.d.ts +0 -0
- package/build/types/{components → src/components}/ChartAnalytics/components/DownloadMenu/constants/menu.d.ts +0 -0
- package/build/types/{components → src/components}/ChartAnalytics/components/DownloadMenu/index.d.ts +0 -0
- package/build/types/{components → src/components}/ChartAnalytics/components/DownloadMenu/interfaces/menu.d.ts +0 -0
- package/build/types/{components → src/components}/ChartAnalytics/hooks/useChart.d.ts +0 -0
- package/build/types/{components → src/components}/ChartAnalytics/index.d.ts +0 -0
- package/build/types/{components → src/components}/ChartAnalytics/models/column.d.ts +0 -0
- package/build/types/{components → src/components}/ChartAnalytics/models/index.d.ts +0 -0
- package/build/types/{components → src/components}/ChartAnalytics/models/line.d.ts +0 -0
- package/build/types/{components → src/components}/ChartAnalytics/models/multi-series.d.ts +0 -0
- package/build/types/{components → src/components}/ChartAnalytics/models/pie.d.ts +0 -0
- package/build/types/{components → src/components}/ChartAnalytics/services/export.d.ts +0 -0
- package/build/types/{components → src/components}/ChartAnalytics/types/props.d.ts +0 -0
- package/build/types/{components → src/components}/ChartAnalytics/utils/chart.d.ts +0 -0
- package/build/types/{components → src/components}/CircularProgressDashboard/index.d.ts +0 -0
- package/build/types/{components → src/components}/CircularProgressDashboard/types/props.d.ts +0 -0
- package/build/types/src/components/CustomPivotTable/components/Table/index.d.ts +11 -0
- package/build/types/src/components/CustomPivotTable/components/TableBody/index.d.ts +2 -0
- package/build/types/src/components/CustomPivotTable/components/TableHeaders/index.d.ts +2 -0
- package/build/types/{components/PivotTable → src/components/CustomPivotTable}/index.d.ts +19 -5
- package/build/types/src/components/CustomPivotTable/interfaces/index.d.ts +1 -0
- package/build/types/src/components/CustomPivotTable/services/engine.d.ts +58 -0
- package/build/types/src/components/CustomPivotTable/state/engine.d.ts +7 -0
- package/build/types/{components → src/components}/Map/components/EarthEngineLayerConfiguration/index.d.ts +0 -0
- package/build/types/{components → src/components}/Map/components/MapArea/index.d.ts +0 -0
- package/build/types/{components → src/components}/Map/components/MapArea/interfaces/index.d.ts +0 -0
- package/build/types/{components → src/components}/Map/components/MapControls/components/CustomControl/index.d.ts +0 -0
- package/build/types/{components → src/components}/Map/components/MapControls/components/DownloadControl/index.d.ts +0 -0
- package/build/types/{components → src/components}/Map/components/MapControls/components/FullscreenControl/index.d.ts +0 -0
- package/build/types/{components → src/components}/Map/components/MapControls/index.d.ts +0 -0
- package/build/types/{components → src/components}/Map/components/MapLayer/components/BoundaryLayer/hooks/useBoundaryData.d.ts +0 -0
- package/build/types/{components → src/components}/Map/components/MapLayer/components/BoundaryLayer/index.d.ts +0 -0
- package/build/types/{components → src/components}/Map/components/MapLayer/components/GoogleEngineLayer/components/EarthEngineLegend.d.ts +0 -0
- package/build/types/{components → src/components}/Map/components/MapLayer/components/GoogleEngineLayer/constants/index.d.ts +0 -0
- package/build/types/{components → src/components}/Map/components/MapLayer/components/GoogleEngineLayer/hooks/index.d.ts +0 -0
- package/build/types/{components → src/components}/Map/components/MapLayer/components/GoogleEngineLayer/index.d.ts +0 -0
- package/build/types/{components → src/components}/Map/components/MapLayer/components/GoogleEngineLayer/interfaces/index.d.ts +0 -0
- package/build/types/{components → src/components}/Map/components/MapLayer/components/GoogleEngineLayer/services/api.d.ts +0 -0
- package/build/types/{components → src/components}/Map/components/MapLayer/components/GoogleEngineLayer/services/engine.d.ts +0 -0
- package/build/types/{components → src/components}/Map/components/MapLayer/components/GoogleEngineLayer/utils/index.d.ts +0 -0
- package/build/types/{components → src/components}/Map/components/MapLayer/components/LegendArea/components/LegendCardHeader/index.d.ts +0 -0
- package/build/types/{components → src/components}/Map/components/MapLayer/components/LegendArea/index.d.ts +0 -0
- package/build/types/{components → src/components}/Map/components/MapLayer/components/PointLayer/components/PointLegend/index.d.ts +0 -0
- package/build/types/{components → src/components}/Map/components/MapLayer/components/PointLayer/hooks/index.d.ts +0 -0
- package/build/types/{components → src/components}/Map/components/MapLayer/components/PointLayer/index.d.ts +0 -0
- package/build/types/{components → src/components}/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubble.d.ts +0 -0
- package/build/types/{components → src/components}/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubbles.d.ts +0 -0
- package/build/types/{components → src/components}/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/index.d.ts +0 -0
- package/build/types/{components → src/components}/Map/components/MapLayer/components/ThematicLayer/components/Bubble/index.d.ts +0 -0
- package/build/types/{components → src/components}/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/components/ChoroplethLegend.d.ts +0 -0
- package/build/types/{components → src/components}/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/index.d.ts +0 -0
- package/build/types/{components → src/components}/Map/components/MapLayer/components/ThematicLayer/components/CustomTooltip/index.d.ts +0 -0
- package/build/types/{components → src/components}/Map/components/MapLayer/components/ThematicLayer/hooks/config.d.ts +0 -0
- package/build/types/{components → src/components}/Map/components/MapLayer/components/ThematicLayer/index.d.ts +0 -0
- package/build/types/{components → src/components}/Map/components/MapLayer/index.d.ts +0 -0
- package/build/types/{components → src/components}/Map/components/MapLayer/interfaces/index.d.ts +0 -0
- package/build/types/{components → src/components}/Map/components/MapProvider/components/MapLayerProvider/hooks/index.d.ts +0 -0
- package/build/types/{components → src/components}/Map/components/MapProvider/components/MapLayerProvider/index.d.ts +0 -0
- package/build/types/{components → src/components}/Map/components/MapProvider/hooks/index.d.ts +0 -0
- package/build/types/{components → src/components}/Map/components/MapProvider/index.d.ts +0 -0
- package/build/types/{components → src/components}/Map/components/MapUpdater/index.d.ts +0 -0
- package/build/types/{components → src/components}/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/components/ColorScale/index.d.ts +0 -0
- package/build/types/{components → src/components}/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/constants/colors.d.ts +0 -0
- package/build/types/{components → src/components}/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/index.d.ts +0 -0
- package/build/types/{components → src/components}/Map/components/ThematicLayerConfiguration/components/ColorScaleSelect/utils/colors.d.ts +0 -0
- package/build/types/{components → src/components}/Map/components/ThematicLayerConfiguration/components/CustomLegend/index.d.ts +0 -0
- package/build/types/{components → src/components}/Map/components/ThematicLayerConfiguration/components/IndicatorSelectorModal/index.d.ts +0 -0
- package/build/types/{components → src/components}/Map/components/ThematicLayerConfiguration/components/LegendSetSelector/index.d.ts +0 -0
- package/build/types/{components → src/components}/Map/components/ThematicLayerConfiguration/index.d.ts +0 -0
- package/build/types/{components → src/components}/Map/constants/colors.d.ts +0 -0
- package/build/types/{components → src/components}/Map/constants/legendSet.d.ts +0 -0
- package/build/types/{components → src/components}/Map/hooks/map.d.ts +0 -0
- package/build/types/{components → src/components}/Map/index.d.ts +0 -0
- package/build/types/{components → src/components}/Map/interfaces/index.d.ts +0 -0
- package/build/types/{components → src/components}/Map/state/index.d.ts +0 -0
- package/build/types/{components → src/components}/Map/utils/colors.d.ts +0 -0
- package/build/types/{components → src/components}/Map/utils/helpers.d.ts +0 -0
- package/build/types/{components → src/components}/Map/utils/map.d.ts +0 -0
- package/build/types/{components → src/components}/SingleValueContainer/components/SingleValueItem/SingleValueItem.d.ts +0 -0
- package/build/types/{components → src/components}/SingleValueContainer/components/SingleValueItem/SingleValuePercentage.d.ts +0 -0
- package/build/types/{components → src/components}/SingleValueContainer/index.d.ts +0 -0
- package/build/types/{components → src/components}/SingleValueContainer/types/props.d.ts +0 -0
- package/build/types/{dataProviders → src/dataProviders}/map.d.ts +0 -0
- package/build/types/{index.d.ts → src/index.d.ts} +1 -1
- package/package.json +4 -4
- package/build/cjs/components/PivotTable/PivotTable.stories.js +0 -277
- package/build/cjs/components/PivotTable/components/AssignedCategoriesIcon/index.js +0 -32
- package/build/cjs/components/PivotTable/components/PivotTable.js +0 -60
- package/build/cjs/components/PivotTable/components/PivotTableBody.js +0 -41
- package/build/cjs/components/PivotTable/components/PivotTableCell.js +0 -40
- package/build/cjs/components/PivotTable/components/PivotTableClippedAxis.js +0 -26
- package/build/cjs/components/PivotTable/components/PivotTableColumnHeaderCell.js +0 -71
- package/build/cjs/components/PivotTable/components/PivotTableColumnHeaders.js +0 -60
- package/build/cjs/components/PivotTable/components/PivotTableContainer.js +0 -33
- package/build/cjs/components/PivotTable/components/PivotTableDimensionLabelCell.js +0 -77
- package/build/cjs/components/PivotTable/components/PivotTableEmptyCell.js +0 -22
- package/build/cjs/components/PivotTable/components/PivotTableEmptyRow.js +0 -33
- package/build/cjs/components/PivotTable/components/PivotTableHead.js +0 -35
- package/build/cjs/components/PivotTable/components/PivotTableHeaderCell.js +0 -37
- package/build/cjs/components/PivotTable/components/PivotTableRow.js +0 -65
- package/build/cjs/components/PivotTable/components/PivotTableRowHeaderCell.js +0 -49
- package/build/cjs/components/PivotTable/components/PivotTableTitleRow.js +0 -52
- package/build/cjs/components/PivotTable/components/PivotTableTitleRows.js +0 -46
- package/build/cjs/components/PivotTable/components/PivotTableValueCell.js +0 -69
- package/build/cjs/components/PivotTable/constants/dataTypes.js +0 -129
- package/build/cjs/components/PivotTable/constants/pivotTable.js +0 -64
- package/build/cjs/components/PivotTable/constants/predefinedDimensions.js +0 -62
- package/build/cjs/components/PivotTable/constants/valueTypes.js +0 -55
- package/build/cjs/components/PivotTable/data/column-data.json +0 -210
- package/build/cjs/components/PivotTable/hooks/useParentSize.js +0 -41
- package/build/cjs/components/PivotTable/hooks/useScrollPosition.js +0 -38
- package/build/cjs/components/PivotTable/hooks/useSortableColumns.js +0 -34
- package/build/cjs/components/PivotTable/hooks/useTableClipping.js +0 -53
- package/build/cjs/components/PivotTable/index.js +0 -47
- package/build/cjs/components/PivotTable/services/adaptiveClippingController.js +0 -197
- package/build/cjs/components/PivotTable/services/engine.js +0 -901
- package/build/cjs/components/PivotTable/utils/getOuLevelAndGroupText.js +0 -71
- package/build/cjs/components/PivotTable/utils/index.js +0 -322
- package/build/cjs/components/PivotTable/utils/isColorBright.js +0 -29
- package/build/cjs/components/PivotTable/utils/layout/dimension.js +0 -61
- package/build/cjs/components/PivotTable/utils/layout/dimensionGetId.js +0 -12
- package/build/cjs/components/PivotTable/utils/layout/dimensionGetItems.js +0 -12
- package/build/cjs/components/PivotTable/utils/layout/dimensionIs.js +0 -9
- package/build/cjs/components/PivotTable/utils/layout/dimensionIsEmpty.js +0 -9
- package/build/cjs/components/PivotTable/utils/layout/dimensionIsValid.js +0 -25
- package/build/cjs/components/PivotTable/utils/legend.js +0 -40
- package/build/cjs/components/PivotTable/utils/ouIdHelper/index.js +0 -27
- package/build/cjs/data/map.json +0 -5984
- package/build/es/components/PivotTable/PivotTable.stories.js +0 -268
- package/build/es/components/PivotTable/components/AssignedCategoriesIcon/index.js +0 -24
- package/build/es/components/PivotTable/components/PivotTable.js +0 -51
- package/build/es/components/PivotTable/components/PivotTableBody.js +0 -33
- package/build/es/components/PivotTable/components/PivotTableCell.js +0 -32
- package/build/es/components/PivotTable/components/PivotTableClippedAxis.js +0 -18
- package/build/es/components/PivotTable/components/PivotTableColumnHeaderCell.js +0 -62
- package/build/es/components/PivotTable/components/PivotTableColumnHeaders.js +0 -52
- package/build/es/components/PivotTable/components/PivotTableContainer.js +0 -25
- package/build/es/components/PivotTable/components/PivotTableDimensionLabelCell.js +0 -68
- package/build/es/components/PivotTable/components/PivotTableEmptyCell.js +0 -14
- package/build/es/components/PivotTable/components/PivotTableEmptyRow.js +0 -25
- package/build/es/components/PivotTable/components/PivotTableEngineContext.js +0 -14
- package/build/es/components/PivotTable/components/PivotTableHead.js +0 -27
- package/build/es/components/PivotTable/components/PivotTableHeaderCell.js +0 -29
- package/build/es/components/PivotTable/components/PivotTableRow.js +0 -57
- package/build/es/components/PivotTable/components/PivotTableRowHeaderCell.js +0 -41
- package/build/es/components/PivotTable/components/PivotTableTitleRow.js +0 -42
- package/build/es/components/PivotTable/components/PivotTableTitleRows.js +0 -37
- package/build/es/components/PivotTable/components/PivotTableValueCell.js +0 -60
- package/build/es/components/PivotTable/constants/dataTypes.js +0 -98
- package/build/es/components/PivotTable/constants/pivotTable.js +0 -29
- package/build/es/components/PivotTable/constants/predefinedDimensions.js +0 -44
- package/build/es/components/PivotTable/constants/valueTypes.js +0 -27
- package/build/es/components/PivotTable/data/column-data.json +0 -210
- package/build/es/components/PivotTable/hooks/useParentSize.js +0 -33
- package/build/es/components/PivotTable/hooks/useScrollPosition.js +0 -30
- package/build/es/components/PivotTable/hooks/useSortableColumns.js +0 -27
- package/build/es/components/PivotTable/hooks/useTableClipping.js +0 -46
- package/build/es/components/PivotTable/index.js +0 -26
- package/build/es/components/PivotTable/services/adaptiveClippingController.js +0 -191
- package/build/es/components/PivotTable/services/engine.js +0 -894
- package/build/es/components/PivotTable/utils/getOuLevelAndGroupText.js +0 -63
- package/build/es/components/PivotTable/utils/index.js +0 -309
- package/build/es/components/PivotTable/utils/isColorBright.js +0 -22
- package/build/es/components/PivotTable/utils/layout/dimension.js +0 -48
- package/build/es/components/PivotTable/utils/layout/dimensionGetId.js +0 -5
- package/build/es/components/PivotTable/utils/layout/dimensionGetItems.js +0 -5
- package/build/es/components/PivotTable/utils/layout/dimensionIs.js +0 -2
- package/build/es/components/PivotTable/utils/layout/dimensionIsEmpty.js +0 -2
- package/build/es/components/PivotTable/utils/layout/dimensionIsValid.js +0 -18
- package/build/es/components/PivotTable/utils/legend.js +0 -27
- package/build/es/components/PivotTable/utils/ouIdHelper/index.js +0 -17
- package/build/es/data/map.json +0 -5984
- package/build/types/components/PivotTable/components/AssignedCategoriesIcon/index.d.ts +0 -3
- package/build/types/components/PivotTable/components/PivotTable.d.ts +0 -12
- package/build/types/components/PivotTable/components/PivotTableBody.d.ts +0 -7
- package/build/types/components/PivotTable/components/PivotTableCell.d.ts +0 -17
- package/build/types/components/PivotTable/components/PivotTableClippedAxis.d.ts +0 -7
- package/build/types/components/PivotTable/components/PivotTableColumnHeaderCell.d.ts +0 -13
- package/build/types/components/PivotTable/components/PivotTableColumnHeaders.d.ts +0 -11
- package/build/types/components/PivotTable/components/PivotTableContainer.d.ts +0 -8
- package/build/types/components/PivotTable/components/PivotTableDimensionLabelCell.d.ts +0 -13
- package/build/types/components/PivotTable/components/PivotTableEmptyCell.d.ts +0 -7
- package/build/types/components/PivotTable/components/PivotTableEmptyRow.d.ts +0 -5
- package/build/types/components/PivotTable/components/PivotTableEngineContext.d.ts +0 -8
- package/build/types/components/PivotTable/components/PivotTableHead.d.ts +0 -21
- package/build/types/components/PivotTable/components/PivotTableHeaderCell.d.ts +0 -22
- package/build/types/components/PivotTable/components/PivotTableRow.d.ts +0 -19
- package/build/types/components/PivotTable/components/PivotTableRowHeaderCell.d.ts +0 -8
- package/build/types/components/PivotTable/components/PivotTableTitleRow.d.ts +0 -21
- package/build/types/components/PivotTable/components/PivotTableTitleRows.d.ts +0 -12
- package/build/types/components/PivotTable/components/PivotTableValueCell.d.ts +0 -8
- package/build/types/components/PivotTable/constants/dataTypes.d.ts +0 -90
- package/build/types/components/PivotTable/constants/pivotTable.d.ts +0 -29
- package/build/types/components/PivotTable/constants/predefinedDimensions.d.ts +0 -80
- package/build/types/components/PivotTable/constants/valueTypes.d.ts +0 -22
- package/build/types/components/PivotTable/hooks/useParentSize.d.ts +0 -8
- package/build/types/components/PivotTable/hooks/useScrollPosition.d.ts +0 -5
- package/build/types/components/PivotTable/hooks/useSortableColumns.d.ts +0 -8
- package/build/types/components/PivotTable/hooks/useTableClipping.d.ts +0 -24
- package/build/types/components/PivotTable/interfaces/index.d.ts +0 -72
- package/build/types/components/PivotTable/services/adaptiveClippingController.d.ts +0 -44
- package/build/types/components/PivotTable/services/engine.d.ts +0 -252
- package/build/types/components/PivotTable/utils/getOuLevelAndGroupText.d.ts +0 -1
- package/build/types/components/PivotTable/utils/index.d.ts +0 -38
- package/build/types/components/PivotTable/utils/isColorBright.d.ts +0 -1
- package/build/types/components/PivotTable/utils/layout/dimension.d.ts +0 -35
- package/build/types/components/PivotTable/utils/layout/dimensionGetId.d.ts +0 -3
- package/build/types/components/PivotTable/utils/layout/dimensionGetItems.d.ts +0 -3
- package/build/types/components/PivotTable/utils/layout/dimensionIs.d.ts +0 -1
- package/build/types/components/PivotTable/utils/layout/dimensionIsEmpty.d.ts +0 -3
- package/build/types/components/PivotTable/utils/layout/dimensionIsValid.d.ts +0 -5
- package/build/types/components/PivotTable/utils/legend.d.ts +0 -11
- package/build/types/components/PivotTable/utils/ouIdHelper/index.d.ts +0 -10
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { isEmpty, slice } from "lodash";
|
|
2
|
+
import { useCustomPivotTableEngine } from "../../state/engine";
|
|
3
|
+
import { DataTableCell, DataTableRow, TableBody } from '@dhis2/ui';
|
|
4
|
+
import React, { Fragment } from "react";
|
|
5
|
+
import classes from "./TableBody.module.css";
|
|
6
|
+
import { useElementSize } from "usehooks-ts";
|
|
7
|
+
function DataRowRenderer(_ref) {
|
|
8
|
+
let {
|
|
9
|
+
mapper,
|
|
10
|
+
item,
|
|
11
|
+
dimension
|
|
12
|
+
} = _ref;
|
|
13
|
+
const engine = useCustomPivotTableEngine();
|
|
14
|
+
const columnMappers = engine === null || engine === void 0 ? void 0 : engine.columnMap;
|
|
15
|
+
const completeMapper = columnMappers === null || columnMappers === void 0 ? void 0 : columnMappers.map(map => ({
|
|
16
|
+
...map,
|
|
17
|
+
...mapper,
|
|
18
|
+
[dimension]: item.uid
|
|
19
|
+
}));
|
|
20
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, completeMapper === null || completeMapper === void 0 ? void 0 : completeMapper.map(mapper => {
|
|
21
|
+
var _engine$getValue;
|
|
22
|
+
return /*#__PURE__*/React.createElement(DataTableCell, {
|
|
23
|
+
key: `${Object.values(mapper).join('-')}-value`,
|
|
24
|
+
align: "center",
|
|
25
|
+
bordered: true
|
|
26
|
+
}, (_engine$getValue = engine === null || engine === void 0 ? void 0 : engine.getValue(mapper)) !== null && _engine$getValue !== void 0 ? _engine$getValue : '');
|
|
27
|
+
}));
|
|
28
|
+
}
|
|
29
|
+
function RowRenderer(_ref2) {
|
|
30
|
+
var _row$items;
|
|
31
|
+
let {
|
|
32
|
+
row,
|
|
33
|
+
index,
|
|
34
|
+
config: {
|
|
35
|
+
rows,
|
|
36
|
+
columns,
|
|
37
|
+
mapper,
|
|
38
|
+
prevWidth,
|
|
39
|
+
fixRowHeaders
|
|
40
|
+
}
|
|
41
|
+
} = _ref2;
|
|
42
|
+
const [cellRef, {
|
|
43
|
+
width
|
|
44
|
+
}] = useElementSize();
|
|
45
|
+
const rowSpan = slice(rows, index + 1).reduce((acc, column) => {
|
|
46
|
+
var _column$items$length, _column$items;
|
|
47
|
+
return acc * ((_column$items$length = (_column$items = column.items) === null || _column$items === void 0 ? void 0 : _column$items.length) !== null && _column$items$length !== void 0 ? _column$items$length : 1);
|
|
48
|
+
}, 1);
|
|
49
|
+
const hasSubRows = !isEmpty(rows[index + 1]);
|
|
50
|
+
const nextRow = rows[index + 1];
|
|
51
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, row === null || row === void 0 ? void 0 : (_row$items = row.items) === null || _row$items === void 0 ? void 0 : _row$items.map(item => {
|
|
52
|
+
return /*#__PURE__*/React.createElement(Fragment, {
|
|
53
|
+
key: `${item.name}-${row.dimension}-fragment`
|
|
54
|
+
}, /*#__PURE__*/React.createElement(DataTableRow, {
|
|
55
|
+
key: `${item.name}-${row.dimension}-row`
|
|
56
|
+
}, /*#__PURE__*/React.createElement(DataTableCell, {
|
|
57
|
+
ref: cellRef,
|
|
58
|
+
fixed: fixRowHeaders,
|
|
59
|
+
left: `${prevWidth}px`,
|
|
60
|
+
className: classes['header-cell'],
|
|
61
|
+
tag: "th",
|
|
62
|
+
bordered: true,
|
|
63
|
+
rowSpan: (rowSpan + (hasSubRows ? 1 : 0)).toString()
|
|
64
|
+
}, item.name), !hasSubRows ? /*#__PURE__*/React.createElement(DataRowRenderer, {
|
|
65
|
+
dimension: row.dimension,
|
|
66
|
+
mapper: mapper,
|
|
67
|
+
item: item
|
|
68
|
+
}) : null), hasSubRows ? /*#__PURE__*/React.createElement(RowRenderer, {
|
|
69
|
+
row: nextRow,
|
|
70
|
+
index: index + 1,
|
|
71
|
+
config: {
|
|
72
|
+
rows,
|
|
73
|
+
columns,
|
|
74
|
+
prevWidth: width,
|
|
75
|
+
mapper: {
|
|
76
|
+
...mapper,
|
|
77
|
+
[row.dimension]: item.uid
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}) : null);
|
|
81
|
+
}));
|
|
82
|
+
}
|
|
83
|
+
export function CustomPivotTableBody() {
|
|
84
|
+
const engine = useCustomPivotTableEngine();
|
|
85
|
+
const rows = engine === null || engine === void 0 ? void 0 : engine.rowHeaders;
|
|
86
|
+
const columns = engine === null || engine === void 0 ? void 0 : engine.columnHeaders;
|
|
87
|
+
const fixRowHeaders = engine === null || engine === void 0 ? void 0 : engine.fixRowHeaders;
|
|
88
|
+
if (!rows || isEmpty(rows)) {
|
|
89
|
+
return null;
|
|
90
|
+
}
|
|
91
|
+
return /*#__PURE__*/React.createElement(TableBody, null, /*#__PURE__*/React.createElement(RowRenderer, {
|
|
92
|
+
row: rows[0],
|
|
93
|
+
index: 0,
|
|
94
|
+
config: {
|
|
95
|
+
rows,
|
|
96
|
+
columns,
|
|
97
|
+
fixRowHeaders
|
|
98
|
+
}
|
|
99
|
+
}));
|
|
100
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { useCustomPivotTableEngine } from "../../state/engine";
|
|
3
|
+
import { DataTableColumnHeader, DataTableRow, TableHead } from '@dhis2/ui';
|
|
4
|
+
import { isEmpty, slice, times } from "lodash";
|
|
5
|
+
import classes from "./TableHeaders.module.css";
|
|
6
|
+
import { useElementSize } from "usehooks-ts";
|
|
7
|
+
function ColumnRenderer(_ref) {
|
|
8
|
+
let {
|
|
9
|
+
column,
|
|
10
|
+
index,
|
|
11
|
+
config: {
|
|
12
|
+
fixColumnHeaders,
|
|
13
|
+
rowHeaders,
|
|
14
|
+
prevHeight = 0,
|
|
15
|
+
columns
|
|
16
|
+
}
|
|
17
|
+
} = _ref;
|
|
18
|
+
const [columnHeaderRef, {
|
|
19
|
+
height
|
|
20
|
+
}] = useElementSize();
|
|
21
|
+
if (!column) {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
const colSpan = slice(columns, index + 1).reduce((acc, column) => {
|
|
25
|
+
var _column$items$length, _column$items;
|
|
26
|
+
return acc * ((_column$items$length = (_column$items = column.items) === null || _column$items === void 0 ? void 0 : _column$items.length) !== null && _column$items$length !== void 0 ? _column$items$length : 1);
|
|
27
|
+
}, 1);
|
|
28
|
+
const hasSubColumns = !isEmpty(columns[index + 1]);
|
|
29
|
+
const nextColumn = columns[index + 1];
|
|
30
|
+
const multiplicationFactor = slice(columns, 0, index).reduce((acc, column) => {
|
|
31
|
+
var _column$items$length2, _column$items2;
|
|
32
|
+
return acc * ((_column$items$length2 = (_column$items2 = column.items) === null || _column$items2 === void 0 ? void 0 : _column$items2.length) !== null && _column$items$length2 !== void 0 ? _column$items$length2 : 1);
|
|
33
|
+
}, 1);
|
|
34
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(DataTableRow, null, index === 0 && (rowHeaders === null || rowHeaders === void 0 ? void 0 : rowHeaders.map(header => {
|
|
35
|
+
var _header$label;
|
|
36
|
+
return /*#__PURE__*/React.createElement(DataTableColumnHeader, {
|
|
37
|
+
fixed: fixColumnHeaders,
|
|
38
|
+
top: "0",
|
|
39
|
+
className: classes['table-header'],
|
|
40
|
+
rowSpan: columns.length.toString(),
|
|
41
|
+
key: `${header.dimension}-header-column`
|
|
42
|
+
}, (_header$label = header.label) !== null && _header$label !== void 0 ? _header$label : "");
|
|
43
|
+
})), times(multiplicationFactor, colNo => {
|
|
44
|
+
var _column$items3;
|
|
45
|
+
return (_column$items3 = column.items) === null || _column$items3 === void 0 ? void 0 : _column$items3.map(item => /*#__PURE__*/React.createElement(DataTableColumnHeader, {
|
|
46
|
+
fixed: fixColumnHeaders,
|
|
47
|
+
top: `${prevHeight.toString()}px`,
|
|
48
|
+
ref: index === 0 ? columnHeaderRef : undefined,
|
|
49
|
+
className: classes['table-header'],
|
|
50
|
+
align: "center",
|
|
51
|
+
colSpan: colSpan.toString(),
|
|
52
|
+
key: `${colNo}-${item.name}-column-header`
|
|
53
|
+
}, item.name));
|
|
54
|
+
})), hasSubColumns ? /*#__PURE__*/React.createElement(ColumnRenderer, {
|
|
55
|
+
column: nextColumn,
|
|
56
|
+
index: index + 1,
|
|
57
|
+
config: {
|
|
58
|
+
columns,
|
|
59
|
+
rowHeaders,
|
|
60
|
+
prevHeight: height,
|
|
61
|
+
fixColumnHeaders
|
|
62
|
+
}
|
|
63
|
+
}) : null);
|
|
64
|
+
}
|
|
65
|
+
export function TableHeaders() {
|
|
66
|
+
const engine = useCustomPivotTableEngine();
|
|
67
|
+
const columns = engine === null || engine === void 0 ? void 0 : engine.columnHeaders;
|
|
68
|
+
const rowHeaders = engine === null || engine === void 0 ? void 0 : engine.rowHeaders;
|
|
69
|
+
const fixColumnHeaders = engine === null || engine === void 0 ? void 0 : engine.fixColumnHeaders;
|
|
70
|
+
if (!columns || isEmpty(columns)) {
|
|
71
|
+
return null;
|
|
72
|
+
}
|
|
73
|
+
return /*#__PURE__*/React.createElement(TableHead, null, /*#__PURE__*/React.createElement(ColumnRenderer, {
|
|
74
|
+
column: columns[0],
|
|
75
|
+
index: 0,
|
|
76
|
+
config: {
|
|
77
|
+
rowHeaders,
|
|
78
|
+
columns,
|
|
79
|
+
fixColumnHeaders
|
|
80
|
+
}
|
|
81
|
+
}));
|
|
82
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { CustomPivotTableEngine } from "./services/engine";
|
|
2
|
+
import React, { useMemo } from "react";
|
|
3
|
+
import { CustomPivotTableEngineProvider } from "./state/engine";
|
|
4
|
+
import { PivotTable } from "./components/Table";
|
|
5
|
+
import { TableHeaders } from "./components/TableHeaders";
|
|
6
|
+
import { CustomPivotTableBody } from "./components/TableBody";
|
|
7
|
+
export function CustomPivotTable(_ref) {
|
|
8
|
+
let {
|
|
9
|
+
analytics,
|
|
10
|
+
config,
|
|
11
|
+
tableProps
|
|
12
|
+
} = _ref;
|
|
13
|
+
const engine = useMemo(() => new CustomPivotTableEngine({
|
|
14
|
+
analytics,
|
|
15
|
+
config
|
|
16
|
+
}), [analytics, config]);
|
|
17
|
+
return /*#__PURE__*/React.createElement(CustomPivotTableEngineProvider, {
|
|
18
|
+
engine: engine
|
|
19
|
+
}, /*#__PURE__*/React.createElement(PivotTable, {
|
|
20
|
+
tableProps: tableProps
|
|
21
|
+
}, /*#__PURE__*/React.createElement(TableHeaders, null), /*#__PURE__*/React.createElement(CustomPivotTableBody, null)));
|
|
22
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
3
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
4
|
+
import { compact, findIndex, intersection, times, zip } from "lodash";
|
|
5
|
+
export class CustomPivotTableEngine {
|
|
6
|
+
constructor(_ref) {
|
|
7
|
+
let {
|
|
8
|
+
analytics,
|
|
9
|
+
config
|
|
10
|
+
} = _ref;
|
|
11
|
+
_defineProperty(this, "analyticsData", void 0);
|
|
12
|
+
_defineProperty(this, "valueIndex", void 0);
|
|
13
|
+
_defineProperty(this, "config", void 0);
|
|
14
|
+
_defineProperty(this, "rowHeaders", void 0);
|
|
15
|
+
_defineProperty(this, "columnHeaders", void 0);
|
|
16
|
+
_defineProperty(this, "columnMap", void 0);
|
|
17
|
+
this.config = config;
|
|
18
|
+
this.analyticsData = analytics;
|
|
19
|
+
this.valueIndex = findIndex(this.analyticsData.headers, ['name', 'value']);
|
|
20
|
+
this.getHeaders();
|
|
21
|
+
this.getColumnMap();
|
|
22
|
+
}
|
|
23
|
+
get fixColumnHeaders() {
|
|
24
|
+
var _this$config$options$, _this$config$options;
|
|
25
|
+
return (_this$config$options$ = (_this$config$options = this.config.options) === null || _this$config$options === void 0 ? void 0 : _this$config$options.fixColumnHeaders) !== null && _this$config$options$ !== void 0 ? _this$config$options$ : true;
|
|
26
|
+
}
|
|
27
|
+
get fixRowHeaders() {
|
|
28
|
+
var _this$config$options$2, _this$config$options2;
|
|
29
|
+
return (_this$config$options$2 = (_this$config$options2 = this.config.options) === null || _this$config$options2 === void 0 ? void 0 : _this$config$options2.fixRowHeaders) !== null && _this$config$options$2 !== void 0 ? _this$config$options$2 : true;
|
|
30
|
+
}
|
|
31
|
+
getDimensionItems(dimension) {
|
|
32
|
+
var _this$analyticsData$m, _this$analyticsData$m2;
|
|
33
|
+
return (_this$analyticsData$m = (_this$analyticsData$m2 = this.analyticsData.metaData) === null || _this$analyticsData$m2 === void 0 ? void 0 : _this$analyticsData$m2.dimensions[dimension]) !== null && _this$analyticsData$m !== void 0 ? _this$analyticsData$m : [];
|
|
34
|
+
}
|
|
35
|
+
getItem(id) {
|
|
36
|
+
var _this$analyticsData$m3;
|
|
37
|
+
return (_this$analyticsData$m3 = this.analyticsData.metaData) === null || _this$analyticsData$m3 === void 0 ? void 0 : _this$analyticsData$m3.items[id];
|
|
38
|
+
}
|
|
39
|
+
getValue(mapper) {
|
|
40
|
+
var _this$analyticsData$r;
|
|
41
|
+
const dimensions = Object.values(mapper);
|
|
42
|
+
const data = (_this$analyticsData$r = this.analyticsData.rows) === null || _this$analyticsData$r === void 0 ? void 0 : _this$analyticsData$r.filter(row => intersection(row, dimensions).length >= dimensions.length);
|
|
43
|
+
return data === null || data === void 0 ? void 0 : data.reduce((acc, row) => {
|
|
44
|
+
return acc + parseFloat(row[this.valueIndex]);
|
|
45
|
+
}, 0);
|
|
46
|
+
}
|
|
47
|
+
getHeaders() {
|
|
48
|
+
this.rowHeaders = this.config.layout.rows.map(rowConfig => {
|
|
49
|
+
return {
|
|
50
|
+
...rowConfig,
|
|
51
|
+
items: compact(this.getDimensionItems(rowConfig.dimension).map(itemId => this.getItem(itemId)))
|
|
52
|
+
};
|
|
53
|
+
});
|
|
54
|
+
this.columnHeaders = this.config.layout.columns.map(columnConfig => {
|
|
55
|
+
return {
|
|
56
|
+
...columnConfig,
|
|
57
|
+
items: compact(this.getDimensionItems(columnConfig.dimension).map(itemId => this.getItem(itemId)))
|
|
58
|
+
};
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
getColumnMap() {
|
|
62
|
+
var _compact;
|
|
63
|
+
const columns = this.columnHeaders;
|
|
64
|
+
const sanitizedColumns = (_compact = compact(columns === null || columns === void 0 ? void 0 : columns.map(column => {
|
|
65
|
+
var _column$items;
|
|
66
|
+
return (_column$items = column.items) === null || _column$items === void 0 ? void 0 : _column$items.map(item => ({
|
|
67
|
+
[column.dimension]: item.uid
|
|
68
|
+
}));
|
|
69
|
+
}))) !== null && _compact !== void 0 ? _compact : [];
|
|
70
|
+
const size = sanitizedColumns.reduce((acc, items) => {
|
|
71
|
+
var _items$length;
|
|
72
|
+
return acc * ((_items$length = items === null || items === void 0 ? void 0 : items.length) !== null && _items$length !== void 0 ? _items$length : 1);
|
|
73
|
+
}, 1);
|
|
74
|
+
const standardiseColumns = sanitizedColumns.map(items => [...times(size / items.length, () => items).flat()]);
|
|
75
|
+
this.columnMap = compact(zip(...standardiseColumns).map(arr => arr.reduce((obj, value) => {
|
|
76
|
+
return {
|
|
77
|
+
...obj,
|
|
78
|
+
...value
|
|
79
|
+
};
|
|
80
|
+
})));
|
|
81
|
+
}
|
|
82
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React, { createContext, useContext } from "react";
|
|
2
|
+
const CustomPivotTableEngineContext = /*#__PURE__*/createContext(null);
|
|
3
|
+
export function useCustomPivotTableEngine() {
|
|
4
|
+
return useContext(CustomPivotTableEngineContext);
|
|
5
|
+
}
|
|
6
|
+
export function CustomPivotTableEngineProvider(_ref) {
|
|
7
|
+
let {
|
|
8
|
+
children,
|
|
9
|
+
engine
|
|
10
|
+
} = _ref;
|
|
11
|
+
return /*#__PURE__*/React.createElement(CustomPivotTableEngineContext.Provider, {
|
|
12
|
+
value: engine
|
|
13
|
+
}, children);
|
|
14
|
+
}
|
package/build/es/index.js
CHANGED
|
@@ -2,5 +2,5 @@ export * from "./components/Map";
|
|
|
2
2
|
export * from "./components/CircularProgressDashboard";
|
|
3
3
|
export * from "./components/ChartAnalytics";
|
|
4
4
|
export * from "./components/SingleValueContainer";
|
|
5
|
-
export * from "./components/
|
|
5
|
+
export * from "./components/CustomPivotTable";
|
|
6
6
|
export {};
|
|
@@ -124,38 +124,5 @@
|
|
|
124
124
|
"Legend set is required": "Legend set is required",
|
|
125
125
|
"Radius": "Radius",
|
|
126
126
|
"Configure Thematic Layer": "Configure Thematic Layer",
|
|
127
|
-
"Program": "Program",
|
|
128
|
-
"Select a program": "Select a program",
|
|
129
|
-
"Indicators": "Indicators",
|
|
130
|
-
"Indicator group": "Indicator group",
|
|
131
|
-
"All groups": "All groups",
|
|
132
|
-
"Indicator": "Indicator",
|
|
133
|
-
"No indicator groups found": "No indicator groups found",
|
|
134
|
-
"Loading indicator groups": "Loading indicator groups",
|
|
135
|
-
"Data elements": "Data elements",
|
|
136
|
-
"Data element group": "Data element group",
|
|
137
|
-
"Data element": "Data element",
|
|
138
|
-
"No data element groups found": "No data element groups found",
|
|
139
|
-
"Loading data element groups": "Loading data element groups",
|
|
140
|
-
"Data sets": "Data sets",
|
|
141
|
-
"Data set": "Data set",
|
|
142
|
-
"All data sets": "All data sets",
|
|
143
|
-
"No data sets found": "No data sets found",
|
|
144
|
-
"Loading data sets": "Loading data sets",
|
|
145
|
-
"Event data items": "Event data items",
|
|
146
|
-
"All programs": "All programs",
|
|
147
|
-
"Event data item": "Event data item",
|
|
148
|
-
"No programs found": "No programs found",
|
|
149
|
-
"Loading programs": "Loading programs",
|
|
150
|
-
"Program indicators": "Program indicators",
|
|
151
|
-
"Program indicator": "Program indicator",
|
|
152
|
-
"Data": "Data",
|
|
153
|
-
"Organisation unit": "Organisation unit",
|
|
154
|
-
"Assigned Categories": "Assigned Categories",
|
|
155
|
-
"{{dynamicOuNames}} and {{lastOuName}}": "{{dynamicOuNames}} and {{lastOuName}}",
|
|
156
|
-
"{{allDynamicOuNames}} levels": "{{allDynamicOuNames}} levels",
|
|
157
|
-
"{{allDynamicOuNames}} groups": "{{allDynamicOuNames}} groups",
|
|
158
|
-
"{{allDynamicOuNames}} levels in {{staticOuNames}}": "{{allDynamicOuNames}} levels in {{staticOuNames}}",
|
|
159
|
-
"{{allDynamicOuNames}} groups in {{staticOuNames}}": "{{allDynamicOuNames}} groups in {{staticOuNames}}",
|
|
160
127
|
"Loading ...": "Loading ..."
|
|
161
128
|
}
|
|
File without changes
|
|
File without changes
|
package/build/types/{components → src/components}/ChartAnalytics/components/DownloadMenu/index.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/build/types/{components → src/components}/CircularProgressDashboard/types/props.d.ts
RENAMED
|
File without changes
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export interface PivotTableProps {
|
|
3
|
+
children: React.ReactNode;
|
|
4
|
+
tableProps?: {
|
|
5
|
+
scrollHeight?: string;
|
|
6
|
+
scrollWidth?: string;
|
|
7
|
+
layout?: string;
|
|
8
|
+
width?: string;
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
export declare function PivotTable({ tableProps, children }: PivotTableProps): JSX.Element;
|
|
@@ -1,14 +1,28 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { Analytics, LegendSet } from "@hisptz/dhis2-utils";
|
|
3
3
|
import { DHIS2Dimension } from "./interfaces";
|
|
4
|
-
export * from "./interfaces";
|
|
5
4
|
export interface CustomPivotTableProps {
|
|
6
5
|
analytics: Analytics;
|
|
6
|
+
tableProps?: {
|
|
7
|
+
scrollHeight?: string;
|
|
8
|
+
scrollWidth?: string;
|
|
9
|
+
layout?: string;
|
|
10
|
+
width?: string;
|
|
11
|
+
};
|
|
7
12
|
config: {
|
|
8
13
|
layout: {
|
|
9
|
-
columns:
|
|
10
|
-
|
|
11
|
-
|
|
14
|
+
columns: {
|
|
15
|
+
dimension: DHIS2Dimension;
|
|
16
|
+
label?: string;
|
|
17
|
+
}[];
|
|
18
|
+
rows: {
|
|
19
|
+
dimension: DHIS2Dimension;
|
|
20
|
+
label?: string;
|
|
21
|
+
}[];
|
|
22
|
+
filter?: {
|
|
23
|
+
dimension: DHIS2Dimension;
|
|
24
|
+
label?: string;
|
|
25
|
+
}[];
|
|
12
26
|
};
|
|
13
27
|
options?: {
|
|
14
28
|
legendSets?: LegendSet[];
|
|
@@ -23,4 +37,4 @@ export interface CustomPivotTableProps {
|
|
|
23
37
|
};
|
|
24
38
|
};
|
|
25
39
|
}
|
|
26
|
-
export declare function CustomPivotTable({ analytics, config }: CustomPivotTableProps): JSX.Element;
|
|
40
|
+
export declare function CustomPivotTable({ analytics, config, tableProps }: CustomPivotTableProps): JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type DHIS2Dimension = "ou" | "pe" | "dx" | "co" | string;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { Analytics, AnalyticsItem, LegendSet } from "@hisptz/dhis2-utils";
|
|
2
|
+
import { DHIS2Dimension } from "../interfaces";
|
|
3
|
+
export interface EngineConfig {
|
|
4
|
+
layout: {
|
|
5
|
+
columns: {
|
|
6
|
+
dimension: DHIS2Dimension;
|
|
7
|
+
label?: string;
|
|
8
|
+
}[];
|
|
9
|
+
rows: {
|
|
10
|
+
dimension: DHIS2Dimension;
|
|
11
|
+
label?: string;
|
|
12
|
+
}[];
|
|
13
|
+
filter?: {
|
|
14
|
+
dimension: DHIS2Dimension;
|
|
15
|
+
label?: string;
|
|
16
|
+
}[];
|
|
17
|
+
};
|
|
18
|
+
options?: {
|
|
19
|
+
legendSets?: LegendSet[];
|
|
20
|
+
hideEmptyColumns?: boolean;
|
|
21
|
+
hideEmptyRows?: boolean;
|
|
22
|
+
showRowTotals?: boolean;
|
|
23
|
+
showColumnTotals?: boolean;
|
|
24
|
+
showRowSubtotals?: boolean;
|
|
25
|
+
showColumnSubtotals?: boolean;
|
|
26
|
+
fixColumnHeaders?: boolean;
|
|
27
|
+
fixRowHeaders?: boolean;
|
|
28
|
+
[key: string]: any;
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
export interface Header {
|
|
32
|
+
dimension: DHIS2Dimension;
|
|
33
|
+
label?: string;
|
|
34
|
+
items?: AnalyticsItem[];
|
|
35
|
+
}
|
|
36
|
+
export declare class CustomPivotTableEngine {
|
|
37
|
+
analyticsData: Analytics;
|
|
38
|
+
valueIndex: number;
|
|
39
|
+
config: EngineConfig;
|
|
40
|
+
rowHeaders?: Header[];
|
|
41
|
+
columnHeaders?: Header[];
|
|
42
|
+
columnMap?: {
|
|
43
|
+
[key: string]: any;
|
|
44
|
+
}[];
|
|
45
|
+
constructor({ analytics, config }: {
|
|
46
|
+
analytics: Analytics;
|
|
47
|
+
config: EngineConfig;
|
|
48
|
+
});
|
|
49
|
+
get fixColumnHeaders(): boolean;
|
|
50
|
+
get fixRowHeaders(): boolean;
|
|
51
|
+
getDimensionItems(dimension: DHIS2Dimension): string[];
|
|
52
|
+
getItem(id: string): AnalyticsItem | undefined;
|
|
53
|
+
getValue(mapper: {
|
|
54
|
+
[key: string]: any;
|
|
55
|
+
}): number | undefined;
|
|
56
|
+
getHeaders(): void;
|
|
57
|
+
getColumnMap(): void;
|
|
58
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
|
+
import { CustomPivotTableEngine } from "../services/engine";
|
|
3
|
+
export declare function useCustomPivotTableEngine(): CustomPivotTableEngine | null;
|
|
4
|
+
export declare function CustomPivotTableEngineProvider({ children, engine }: {
|
|
5
|
+
children: ReactNode;
|
|
6
|
+
engine: CustomPivotTableEngine;
|
|
7
|
+
}): JSX.Element;
|
|
File without changes
|
|
File without changes
|
package/build/types/{components → src/components}/Map/components/MapArea/interfaces/index.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/build/types/{components → src/components}/Map/components/MapLayer/interfaces/index.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/build/types/{components → src/components}/Map/components/MapProvider/hooks/index.d.ts
RENAMED
|
File without changes
|