@hisptz/dhis2-analytics 1.0.11 → 1.0.12
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
|
@@ -1,268 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import { CustomPivotTable } from ".";
|
|
3
|
-
const Template = args => /*#__PURE__*/React.createElement(CustomPivotTable, args);
|
|
4
|
-
export const Default = Template.bind({});
|
|
5
|
-
Default.args = {
|
|
6
|
-
analytics: {
|
|
7
|
-
"headers": [{
|
|
8
|
-
"name": "dx",
|
|
9
|
-
"column": "Data",
|
|
10
|
-
"valueType": "TEXT",
|
|
11
|
-
"type": "java.lang.String",
|
|
12
|
-
"hidden": false,
|
|
13
|
-
"meta": true
|
|
14
|
-
}, {
|
|
15
|
-
"name": "pe",
|
|
16
|
-
"column": "Period",
|
|
17
|
-
"valueType": "TEXT",
|
|
18
|
-
"type": "java.lang.String",
|
|
19
|
-
"hidden": false,
|
|
20
|
-
"meta": true
|
|
21
|
-
}, {
|
|
22
|
-
"name": "ou",
|
|
23
|
-
"column": "Organisation unit",
|
|
24
|
-
"valueType": "TEXT",
|
|
25
|
-
"type": "java.lang.String",
|
|
26
|
-
"hidden": false,
|
|
27
|
-
"meta": true
|
|
28
|
-
}, {
|
|
29
|
-
"name": "value",
|
|
30
|
-
"column": "Value",
|
|
31
|
-
"valueType": "NUMBER",
|
|
32
|
-
"type": "java.lang.Double",
|
|
33
|
-
"hidden": false,
|
|
34
|
-
"meta": false
|
|
35
|
-
}, {
|
|
36
|
-
"name": "numerator",
|
|
37
|
-
"column": "Numerator",
|
|
38
|
-
"valueType": "NUMBER",
|
|
39
|
-
"type": "java.lang.Double",
|
|
40
|
-
"hidden": false,
|
|
41
|
-
"meta": false
|
|
42
|
-
}, {
|
|
43
|
-
"name": "denominator",
|
|
44
|
-
"column": "Denominator",
|
|
45
|
-
"valueType": "NUMBER",
|
|
46
|
-
"type": "java.lang.Double",
|
|
47
|
-
"hidden": false,
|
|
48
|
-
"meta": false
|
|
49
|
-
}, {
|
|
50
|
-
"name": "factor",
|
|
51
|
-
"column": "Factor",
|
|
52
|
-
"valueType": "NUMBER",
|
|
53
|
-
"type": "java.lang.Double",
|
|
54
|
-
"hidden": false,
|
|
55
|
-
"meta": false
|
|
56
|
-
}, {
|
|
57
|
-
"name": "multiplier",
|
|
58
|
-
"column": "Multiplier",
|
|
59
|
-
"valueType": "NUMBER",
|
|
60
|
-
"type": "java.lang.Double",
|
|
61
|
-
"hidden": false,
|
|
62
|
-
"meta": false
|
|
63
|
-
}, {
|
|
64
|
-
"name": "divisor",
|
|
65
|
-
"column": "Divisor",
|
|
66
|
-
"valueType": "NUMBER",
|
|
67
|
-
"type": "java.lang.Double",
|
|
68
|
-
"hidden": false,
|
|
69
|
-
"meta": false
|
|
70
|
-
}],
|
|
71
|
-
"metaData": {
|
|
72
|
-
"items": {
|
|
73
|
-
"ou": {
|
|
74
|
-
"uid": "ou",
|
|
75
|
-
"name": "Organisation unit",
|
|
76
|
-
"dimensionType": "ORGANISATION_UNIT"
|
|
77
|
-
},
|
|
78
|
-
"202208": {
|
|
79
|
-
"uid": "202208",
|
|
80
|
-
"code": "202208",
|
|
81
|
-
"name": "August 2022",
|
|
82
|
-
"dimensionItemType": "PERIOD",
|
|
83
|
-
"valueType": "NUMBER",
|
|
84
|
-
"totalAggregationType": "SUM",
|
|
85
|
-
"startDate": "2022-08-01T00:00:00.000",
|
|
86
|
-
"endDate": "2022-08-31T00:00:00.000"
|
|
87
|
-
},
|
|
88
|
-
"202209": {
|
|
89
|
-
"uid": "202209",
|
|
90
|
-
"code": "202209",
|
|
91
|
-
"name": "September 2022",
|
|
92
|
-
"dimensionItemType": "PERIOD",
|
|
93
|
-
"valueType": "NUMBER",
|
|
94
|
-
"totalAggregationType": "SUM",
|
|
95
|
-
"startDate": "2022-09-01T00:00:00.000",
|
|
96
|
-
"endDate": "2022-09-30T00:00:00.000"
|
|
97
|
-
},
|
|
98
|
-
"202206": {
|
|
99
|
-
"uid": "202206",
|
|
100
|
-
"code": "202206",
|
|
101
|
-
"name": "June 2022",
|
|
102
|
-
"dimensionItemType": "PERIOD",
|
|
103
|
-
"valueType": "NUMBER",
|
|
104
|
-
"totalAggregationType": "SUM",
|
|
105
|
-
"startDate": "2022-06-01T00:00:00.000",
|
|
106
|
-
"endDate": "2022-06-30T00:00:00.000"
|
|
107
|
-
},
|
|
108
|
-
"fbfJHSPpUQD": {
|
|
109
|
-
"uid": "fbfJHSPpUQD",
|
|
110
|
-
"code": "DE_359596",
|
|
111
|
-
"name": "ANC 1st visit",
|
|
112
|
-
"legendSet": "fqs276KXCXi",
|
|
113
|
-
"dimensionItemType": "DATA_ELEMENT",
|
|
114
|
-
"valueType": "NUMBER",
|
|
115
|
-
"aggregationType": "SUM",
|
|
116
|
-
"totalAggregationType": "SUM"
|
|
117
|
-
},
|
|
118
|
-
"202207": {
|
|
119
|
-
"uid": "202207",
|
|
120
|
-
"code": "202207",
|
|
121
|
-
"name": "July 2022",
|
|
122
|
-
"dimensionItemType": "PERIOD",
|
|
123
|
-
"valueType": "NUMBER",
|
|
124
|
-
"totalAggregationType": "SUM",
|
|
125
|
-
"startDate": "2022-07-01T00:00:00.000",
|
|
126
|
-
"endDate": "2022-07-31T00:00:00.000"
|
|
127
|
-
},
|
|
128
|
-
"202204": {
|
|
129
|
-
"uid": "202204",
|
|
130
|
-
"code": "202204",
|
|
131
|
-
"name": "April 2022",
|
|
132
|
-
"dimensionItemType": "PERIOD",
|
|
133
|
-
"valueType": "NUMBER",
|
|
134
|
-
"totalAggregationType": "SUM",
|
|
135
|
-
"startDate": "2022-04-01T00:00:00.000",
|
|
136
|
-
"endDate": "2022-04-30T00:00:00.000"
|
|
137
|
-
},
|
|
138
|
-
"202205": {
|
|
139
|
-
"uid": "202205",
|
|
140
|
-
"code": "202205",
|
|
141
|
-
"name": "May 2022",
|
|
142
|
-
"dimensionItemType": "PERIOD",
|
|
143
|
-
"valueType": "NUMBER",
|
|
144
|
-
"totalAggregationType": "SUM",
|
|
145
|
-
"startDate": "2022-05-01T00:00:00.000",
|
|
146
|
-
"endDate": "2022-05-31T00:00:00.000"
|
|
147
|
-
},
|
|
148
|
-
"202202": {
|
|
149
|
-
"uid": "202202",
|
|
150
|
-
"code": "202202",
|
|
151
|
-
"name": "February 2022",
|
|
152
|
-
"dimensionItemType": "PERIOD",
|
|
153
|
-
"valueType": "NUMBER",
|
|
154
|
-
"totalAggregationType": "SUM",
|
|
155
|
-
"startDate": "2022-02-01T00:00:00.000",
|
|
156
|
-
"endDate": "2022-02-28T00:00:00.000"
|
|
157
|
-
},
|
|
158
|
-
"202301": {
|
|
159
|
-
"uid": "202301",
|
|
160
|
-
"code": "202301",
|
|
161
|
-
"name": "January 2023",
|
|
162
|
-
"dimensionItemType": "PERIOD",
|
|
163
|
-
"valueType": "NUMBER",
|
|
164
|
-
"totalAggregationType": "SUM",
|
|
165
|
-
"startDate": "2023-01-01T00:00:00.000",
|
|
166
|
-
"endDate": "2023-01-31T00:00:00.000"
|
|
167
|
-
},
|
|
168
|
-
"202203": {
|
|
169
|
-
"uid": "202203",
|
|
170
|
-
"code": "202203",
|
|
171
|
-
"name": "March 2022",
|
|
172
|
-
"dimensionItemType": "PERIOD",
|
|
173
|
-
"valueType": "NUMBER",
|
|
174
|
-
"totalAggregationType": "SUM",
|
|
175
|
-
"startDate": "2022-03-01T00:00:00.000",
|
|
176
|
-
"endDate": "2022-03-31T00:00:00.000"
|
|
177
|
-
},
|
|
178
|
-
"LAST_12_MONTHS": {
|
|
179
|
-
"name": "Last 12 months"
|
|
180
|
-
},
|
|
181
|
-
"202211": {
|
|
182
|
-
"uid": "202211",
|
|
183
|
-
"code": "202211",
|
|
184
|
-
"name": "November 2022",
|
|
185
|
-
"dimensionItemType": "PERIOD",
|
|
186
|
-
"valueType": "NUMBER",
|
|
187
|
-
"totalAggregationType": "SUM",
|
|
188
|
-
"startDate": "2022-11-01T00:00:00.000",
|
|
189
|
-
"endDate": "2022-11-30T00:00:00.000"
|
|
190
|
-
},
|
|
191
|
-
"202212": {
|
|
192
|
-
"uid": "202212",
|
|
193
|
-
"code": "202212",
|
|
194
|
-
"name": "December 2022",
|
|
195
|
-
"dimensionItemType": "PERIOD",
|
|
196
|
-
"valueType": "NUMBER",
|
|
197
|
-
"totalAggregationType": "SUM",
|
|
198
|
-
"startDate": "2022-12-01T00:00:00.000",
|
|
199
|
-
"endDate": "2022-12-31T00:00:00.000"
|
|
200
|
-
},
|
|
201
|
-
"ImspTQPwCqd": {
|
|
202
|
-
"uid": "ImspTQPwCqd",
|
|
203
|
-
"code": "OU_525",
|
|
204
|
-
"name": "Sierra Leone",
|
|
205
|
-
"dimensionItemType": "ORGANISATION_UNIT",
|
|
206
|
-
"valueType": "NUMBER",
|
|
207
|
-
"totalAggregationType": "SUM"
|
|
208
|
-
},
|
|
209
|
-
"202210": {
|
|
210
|
-
"uid": "202210",
|
|
211
|
-
"code": "202210",
|
|
212
|
-
"name": "October 2022",
|
|
213
|
-
"dimensionItemType": "PERIOD",
|
|
214
|
-
"valueType": "NUMBER",
|
|
215
|
-
"totalAggregationType": "SUM",
|
|
216
|
-
"startDate": "2022-10-01T00:00:00.000",
|
|
217
|
-
"endDate": "2022-10-31T00:00:00.000"
|
|
218
|
-
},
|
|
219
|
-
"dx": {
|
|
220
|
-
"uid": "dx",
|
|
221
|
-
"name": "Data",
|
|
222
|
-
"dimensionType": "DATA_X"
|
|
223
|
-
},
|
|
224
|
-
"pq2XI5kz2BY": {
|
|
225
|
-
"uid": "pq2XI5kz2BY",
|
|
226
|
-
"code": "COC_167661",
|
|
227
|
-
"name": "Fixed",
|
|
228
|
-
"valueType": "NUMBER",
|
|
229
|
-
"totalAggregationType": "SUM"
|
|
230
|
-
},
|
|
231
|
-
"pe": {
|
|
232
|
-
"uid": "pe",
|
|
233
|
-
"name": "Period",
|
|
234
|
-
"dimensionType": "PERIOD"
|
|
235
|
-
},
|
|
236
|
-
"PT59n8BQbqM": {
|
|
237
|
-
"uid": "PT59n8BQbqM",
|
|
238
|
-
"code": "COC_167660",
|
|
239
|
-
"name": "Outreach",
|
|
240
|
-
"valueType": "NUMBER",
|
|
241
|
-
"totalAggregationType": "SUM"
|
|
242
|
-
}
|
|
243
|
-
},
|
|
244
|
-
"dimensions": {
|
|
245
|
-
"dx": ["fbfJHSPpUQD"],
|
|
246
|
-
"pe": ["202202", "202203", "202204", "202205", "202206", "202207", "202208", "202209", "202210", "202211", "202212", "202301"],
|
|
247
|
-
"ou": ["ImspTQPwCqd"],
|
|
248
|
-
"co": ["pq2XI5kz2BY", "PT59n8BQbqM"]
|
|
249
|
-
}
|
|
250
|
-
},
|
|
251
|
-
"rows": [["fbfJHSPpUQD", "202209", "ImspTQPwCqd", "22308", "", "", "", "", ""], ["fbfJHSPpUQD", "202301", "ImspTQPwCqd", "20020", "", "", "", "", ""], ["fbfJHSPpUQD", "202206", "ImspTQPwCqd", "23813", "", "", "", "", ""], ["fbfJHSPpUQD", "202210", "ImspTQPwCqd", "17926", "", "", "", "", ""], ["fbfJHSPpUQD", "202207", "ImspTQPwCqd", "22356", "", "", "", "", ""], ["fbfJHSPpUQD", "202208", "ImspTQPwCqd", "22004", "", "", "", "", ""], ["fbfJHSPpUQD", "202212", "ImspTQPwCqd", "16445", "", "", "", "", ""], ["fbfJHSPpUQD", "202202", "ImspTQPwCqd", "18786", "", "", "", "", ""], ["fbfJHSPpUQD", "202211", "ImspTQPwCqd", "19691", "", "", "", "", ""], ["fbfJHSPpUQD", "202205", "ImspTQPwCqd", "29461", "", "", "", "", ""], ["fbfJHSPpUQD", "202203", "ImspTQPwCqd", "21877", "", "", "", "", ""], ["fbfJHSPpUQD", "202204", "ImspTQPwCqd", "18576", "", "", "", "", ""]],
|
|
252
|
-
"height": 0,
|
|
253
|
-
"width": 0,
|
|
254
|
-
"headerWidth": 0
|
|
255
|
-
},
|
|
256
|
-
config: {
|
|
257
|
-
layout: {
|
|
258
|
-
columns: ["dx"],
|
|
259
|
-
rows: ["ou", "pe"],
|
|
260
|
-
filter: []
|
|
261
|
-
},
|
|
262
|
-
options: {}
|
|
263
|
-
}
|
|
264
|
-
};
|
|
265
|
-
export default {
|
|
266
|
-
title: "Analytics/Pivot table",
|
|
267
|
-
component: CustomPivotTable
|
|
268
|
-
};
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
const AssignedCategoriesIcon = () => {
|
|
3
|
-
return /*#__PURE__*/React.createElement("svg", {
|
|
4
|
-
height: "16",
|
|
5
|
-
viewBox: "0 0 16 16",
|
|
6
|
-
width: "16"
|
|
7
|
-
}, /*#__PURE__*/React.createElement("g", {
|
|
8
|
-
fill: "#212934",
|
|
9
|
-
fillRule: "evenodd"
|
|
10
|
-
}, /*#__PURE__*/React.createElement("path", {
|
|
11
|
-
d: "m2 7h11v1h-11z"
|
|
12
|
-
}), /*#__PURE__*/React.createElement("path", {
|
|
13
|
-
d: "m2 13h11v1h-11z"
|
|
14
|
-
}), /*#__PURE__*/React.createElement("path", {
|
|
15
|
-
d: "m2 2h11v1h-11z"
|
|
16
|
-
}), /*#__PURE__*/React.createElement("path", {
|
|
17
|
-
d: "m7 8h1v5h-1z"
|
|
18
|
-
}), /*#__PURE__*/React.createElement("path", {
|
|
19
|
-
d: "m12 3h1v10h-1z"
|
|
20
|
-
}), /*#__PURE__*/React.createElement("path", {
|
|
21
|
-
d: "m2 3h1v10h-1z"
|
|
22
|
-
})));
|
|
23
|
-
};
|
|
24
|
-
export default AssignedCategoriesIcon;
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import React, { useMemo, useRef } from 'react';
|
|
2
|
-
import { PivotTableEngine } from '../services/engine';
|
|
3
|
-
import { PivotTableBody } from './PivotTableBody';
|
|
4
|
-
import { PivotTableContainer } from './PivotTableContainer';
|
|
5
|
-
import { Provider } from './PivotTableEngineContext';
|
|
6
|
-
import { PivotTableHead } from './PivotTableHead';
|
|
7
|
-
import { useTableClipping } from "../hooks/useTableClipping";
|
|
8
|
-
import { useSortableColumns } from "../hooks/useSortableColumns";
|
|
9
|
-
import { useParentSize } from "../hooks/useParentSize";
|
|
10
|
-
export const PivotTable = _ref => {
|
|
11
|
-
let {
|
|
12
|
-
visualization,
|
|
13
|
-
data,
|
|
14
|
-
legendSets,
|
|
15
|
-
renderCounter,
|
|
16
|
-
tableProps,
|
|
17
|
-
onToggleContextualMenu
|
|
18
|
-
} = _ref;
|
|
19
|
-
const containerRef = useRef(null);
|
|
20
|
-
const {
|
|
21
|
-
width,
|
|
22
|
-
height
|
|
23
|
-
} = useParentSize(containerRef, renderCounter !== null && renderCounter !== void 0 ? renderCounter : 1);
|
|
24
|
-
const engine = useMemo(() => new PivotTableEngine(visualization, data, legendSets), [visualization, data, legendSets]);
|
|
25
|
-
const {
|
|
26
|
-
sortBy,
|
|
27
|
-
onSortByColumn
|
|
28
|
-
} = useSortableColumns(engine);
|
|
29
|
-
const clippingResult = useTableClipping({
|
|
30
|
-
containerRef,
|
|
31
|
-
width,
|
|
32
|
-
height,
|
|
33
|
-
engine
|
|
34
|
-
});
|
|
35
|
-
return /*#__PURE__*/React.createElement(Provider, {
|
|
36
|
-
engine: engine
|
|
37
|
-
}, /*#__PURE__*/React.createElement(PivotTableContainer, {
|
|
38
|
-
tableProps: tableProps,
|
|
39
|
-
ref: containerRef,
|
|
40
|
-
width: width,
|
|
41
|
-
height: height
|
|
42
|
-
}, /*#__PURE__*/React.createElement(PivotTableHead, {
|
|
43
|
-
clippingResult: clippingResult,
|
|
44
|
-
width: width,
|
|
45
|
-
sortBy: sortBy,
|
|
46
|
-
onSortByColumn: onSortByColumn
|
|
47
|
-
}), /*#__PURE__*/React.createElement(PivotTableBody, {
|
|
48
|
-
clippingResult: clippingResult,
|
|
49
|
-
onToggleContextualMenu: onToggleContextualMenu
|
|
50
|
-
})));
|
|
51
|
-
};
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { PivotTableClippedAxis } from './PivotTableClippedAxis.js';
|
|
3
|
-
import { PivotTableEmptyRow } from './PivotTableEmptyRow';
|
|
4
|
-
import { PivotTableRow } from './PivotTableRow.js';
|
|
5
|
-
export const PivotTableBody = _ref => {
|
|
6
|
-
let {
|
|
7
|
-
clippingResult,
|
|
8
|
-
onToggleContextualMenu
|
|
9
|
-
} = _ref;
|
|
10
|
-
return /*#__PURE__*/React.createElement("tbody", null, /*#__PURE__*/React.createElement(PivotTableClippedAxis, {
|
|
11
|
-
axisClippingResult: clippingResult.rows,
|
|
12
|
-
EmptyComponent: _ref2 => {
|
|
13
|
-
let {
|
|
14
|
-
size
|
|
15
|
-
} = _ref2;
|
|
16
|
-
return /*#__PURE__*/React.createElement(PivotTableEmptyRow, {
|
|
17
|
-
height: size,
|
|
18
|
-
columns: clippingResult.columns.indices
|
|
19
|
-
});
|
|
20
|
-
},
|
|
21
|
-
ItemComponent: _ref3 => {
|
|
22
|
-
let {
|
|
23
|
-
index
|
|
24
|
-
} = _ref3;
|
|
25
|
-
return /*#__PURE__*/React.createElement(PivotTableRow, {
|
|
26
|
-
key: index,
|
|
27
|
-
clippingResult: clippingResult,
|
|
28
|
-
rowIndex: index,
|
|
29
|
-
onToggleContextualMenu: onToggleContextualMenu
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
}));
|
|
33
|
-
};
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
|
-
import React from 'react';
|
|
3
|
-
import { usePivotTableEngine } from './PivotTableEngineContext.js';
|
|
4
|
-
import { DataTableCell, DataTableColumnHeader } from '@dhis2/ui';
|
|
5
|
-
import { SORT_ORDER_ASCENDING, SORT_ORDER_DESCENDING } from "../constants/pivotTable";
|
|
6
|
-
export const PivotTableCell = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
7
|
-
let {
|
|
8
|
-
classes,
|
|
9
|
-
isHeader = false,
|
|
10
|
-
index,
|
|
11
|
-
isSortable,
|
|
12
|
-
sortBy,
|
|
13
|
-
children,
|
|
14
|
-
dataTest,
|
|
15
|
-
onSortClick,
|
|
16
|
-
style = {},
|
|
17
|
-
...props
|
|
18
|
-
} = _ref;
|
|
19
|
-
const engine = usePivotTableEngine();
|
|
20
|
-
if (!engine) {
|
|
21
|
-
return null;
|
|
22
|
-
}
|
|
23
|
-
style.width = style.minWidth = style.maxWidth = style.width;
|
|
24
|
-
style.height = style.minHeight = style.maxHeight = style.height || engine.fontSize + engine.cellPadding * 2 + 2;
|
|
25
|
-
return isHeader ? /*#__PURE__*/React.createElement(DataTableColumnHeader, _extends({
|
|
26
|
-
onSortIconClick: isSortable ? onSortClick : undefined,
|
|
27
|
-
sortDirection: isSortable ? (sortBy === null || sortBy === void 0 ? void 0 : sortBy.column) === index ? (sortBy === null || sortBy === void 0 ? void 0 : sortBy.order) === SORT_ORDER_DESCENDING ? "desc" : sortBy.order === SORT_ORDER_ASCENDING ? "asc" : "default" : undefined : undefined
|
|
28
|
-
}, props), children) : /*#__PURE__*/React.createElement(DataTableCell, {
|
|
29
|
-
ref: ref
|
|
30
|
-
}, children);
|
|
31
|
-
});
|
|
32
|
-
PivotTableCell.displayName = "PivotTableCell";
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
export const PivotTableClippedAxis = _ref => {
|
|
3
|
-
let {
|
|
4
|
-
axisClippingResult,
|
|
5
|
-
EmptyComponent,
|
|
6
|
-
ItemComponent
|
|
7
|
-
} = _ref;
|
|
8
|
-
return [axisClippingResult.pre ? /*#__PURE__*/React.createElement(EmptyComponent, {
|
|
9
|
-
key: "pre",
|
|
10
|
-
size: axisClippingResult.pre
|
|
11
|
-
}) : null, axisClippingResult.indices.map(index => /*#__PURE__*/React.createElement(ItemComponent, {
|
|
12
|
-
key: index,
|
|
13
|
-
index: index
|
|
14
|
-
})), axisClippingResult.post ? /*#__PURE__*/React.createElement(EmptyComponent, {
|
|
15
|
-
key: "post",
|
|
16
|
-
size: axisClippingResult.post
|
|
17
|
-
}) : null];
|
|
18
|
-
};
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
|
-
import React from 'react';
|
|
3
|
-
import { PivotTableCell } from './PivotTableCell';
|
|
4
|
-
import { usePivotTableEngine } from './PivotTableEngineContext';
|
|
5
|
-
import { PivotTableHeaderCell } from './PivotTableHeaderCell';
|
|
6
|
-
export const PivotTableColumnHeaderCell = _ref => {
|
|
7
|
-
var _engine$adaptiveClipp;
|
|
8
|
-
let {
|
|
9
|
-
clippingResult,
|
|
10
|
-
index,
|
|
11
|
-
level,
|
|
12
|
-
onSortByColumn,
|
|
13
|
-
sortBy
|
|
14
|
-
} = _ref;
|
|
15
|
-
const engine = usePivotTableEngine();
|
|
16
|
-
if (!engine) {
|
|
17
|
-
return null;
|
|
18
|
-
}
|
|
19
|
-
const width = (_engine$adaptiveClipp = engine.adaptiveClippingController.columns.sizes[engine.columnMap[index]]) === null || _engine$adaptiveClipp === void 0 ? void 0 : _engine$adaptiveClipp.size;
|
|
20
|
-
const height = engine.adaptiveClippingController.rows.headerSizes[level];
|
|
21
|
-
return /*#__PURE__*/React.createElement(PivotTableHeaderCell, {
|
|
22
|
-
axisClippingResult: clippingResult.columns,
|
|
23
|
-
index: index,
|
|
24
|
-
level: level,
|
|
25
|
-
getHeader: idx => engine.getColumnHeader(idx),
|
|
26
|
-
showHierarchy: engine.visualization.showHierarchy,
|
|
27
|
-
render: header => {
|
|
28
|
-
const isSortable = level === engine.columnDepth - 1 && header.span === 1 && engine.isSortable(index);
|
|
29
|
-
const style = {
|
|
30
|
-
cursor: isSortable ? "pointer" : "default",
|
|
31
|
-
width,
|
|
32
|
-
height,
|
|
33
|
-
whiteSpace: level === engine.columnDepth - 1 ? "pre-line" : "nowrap"
|
|
34
|
-
};
|
|
35
|
-
if (engine.options.fixColumnHeaders) {
|
|
36
|
-
style.top = level * (engine.fontSize + engine.cellPadding * 2 + 2);
|
|
37
|
-
// left value for the column header cells should be sum of row headers' width when engine.options.fixRowHeaders is true
|
|
38
|
-
style.left = engine.options.fixRowHeaders ? engine.rowHeaderPixelWidth : 0;
|
|
39
|
-
}
|
|
40
|
-
return /*#__PURE__*/React.createElement(PivotTableCell, {
|
|
41
|
-
index: index,
|
|
42
|
-
isSortable: isSortable,
|
|
43
|
-
sortOrder: sortBy,
|
|
44
|
-
onSortClick: isSortable ? () => onSortByColumn(index) : undefined,
|
|
45
|
-
isHeader: true,
|
|
46
|
-
classes: [header.label && header.label !== "Total" && header.label !== "Subtotal" // TODO: Actually look up the column type!
|
|
47
|
-
? "column-header" : "empty-header", {
|
|
48
|
-
"fixed-header": engine.options.fixColumnHeaders
|
|
49
|
-
}],
|
|
50
|
-
colSpan: header.span,
|
|
51
|
-
title: header.label,
|
|
52
|
-
style: style,
|
|
53
|
-
onClick: isSortable ? () => onSortByColumn(index) : undefined
|
|
54
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
55
|
-
className: "column-header-inner"
|
|
56
|
-
}, /*#__PURE__*/React.createElement("span", {
|
|
57
|
-
className: "column-header-label",
|
|
58
|
-
"data-test": "visualization-column-header"
|
|
59
|
-
}, header.label)));
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
|
-
};
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import times from 'lodash/times';
|
|
2
|
-
import React from 'react';
|
|
3
|
-
import { PivotTableClippedAxis } from './PivotTableClippedAxis';
|
|
4
|
-
import { PivotTableColumnHeaderCell } from './PivotTableColumnHeaderCell';
|
|
5
|
-
import { PivotTableDimensionLabelCell } from './PivotTableDimensionLabelCell';
|
|
6
|
-
import { PivotTableEmptyCell } from './PivotTableEmptyCell';
|
|
7
|
-
import { usePivotTableEngine } from './PivotTableEngineContext';
|
|
8
|
-
export const PivotTableColumnHeaders = _ref => {
|
|
9
|
-
let {
|
|
10
|
-
clippingResult,
|
|
11
|
-
onSortByColumn,
|
|
12
|
-
sortBy
|
|
13
|
-
} = _ref;
|
|
14
|
-
const engine = usePivotTableEngine();
|
|
15
|
-
if (!engine) {
|
|
16
|
-
return null;
|
|
17
|
-
}
|
|
18
|
-
const columns = times(engine.columnDepth, x => x);
|
|
19
|
-
const rows = times(engine.rowDepth, x => x);
|
|
20
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, columns.map(columnLevel => /*#__PURE__*/React.createElement("tr", {
|
|
21
|
-
key: columnLevel
|
|
22
|
-
}, rows.map(rowLevel => /*#__PURE__*/React.createElement(PivotTableDimensionLabelCell, {
|
|
23
|
-
key: rowLevel,
|
|
24
|
-
rowLevel: rowLevel,
|
|
25
|
-
columnLevel: columnLevel
|
|
26
|
-
})), /*#__PURE__*/React.createElement(PivotTableClippedAxis, {
|
|
27
|
-
axisClippingResult: clippingResult.columns,
|
|
28
|
-
EmptyComponent: _ref2 => {
|
|
29
|
-
let {
|
|
30
|
-
size
|
|
31
|
-
} = _ref2;
|
|
32
|
-
return /*#__PURE__*/React.createElement(PivotTableEmptyCell, {
|
|
33
|
-
classes: "column-header",
|
|
34
|
-
style: {
|
|
35
|
-
minWidth: size
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
},
|
|
39
|
-
ItemComponent: _ref3 => {
|
|
40
|
-
let {
|
|
41
|
-
index
|
|
42
|
-
} = _ref3;
|
|
43
|
-
return /*#__PURE__*/React.createElement(PivotTableColumnHeaderCell, {
|
|
44
|
-
clippingResult: clippingResult,
|
|
45
|
-
index: index,
|
|
46
|
-
level: columnLevel,
|
|
47
|
-
onSortByColumn: onSortByColumn,
|
|
48
|
-
sortBy: sortBy
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
}))));
|
|
52
|
-
};
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { usePivotTableEngine } from './PivotTableEngineContext';
|
|
3
|
-
import { DataTable } from '@dhis2/ui';
|
|
4
|
-
export const PivotTableContainer = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
5
|
-
let {
|
|
6
|
-
width,
|
|
7
|
-
height,
|
|
8
|
-
children,
|
|
9
|
-
tableProps
|
|
10
|
-
} = _ref;
|
|
11
|
-
const engine = usePivotTableEngine();
|
|
12
|
-
if (!engine) {
|
|
13
|
-
return null;
|
|
14
|
-
}
|
|
15
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
16
|
-
className: "pivot-table-container",
|
|
17
|
-
style: {
|
|
18
|
-
width,
|
|
19
|
-
height
|
|
20
|
-
},
|
|
21
|
-
ref: ref,
|
|
22
|
-
"data-test": "visualization-container"
|
|
23
|
-
}, width === 0 || height === 0 ? null : /*#__PURE__*/React.createElement(DataTable, tableProps !== null && tableProps !== void 0 ? tableProps : {}, children));
|
|
24
|
-
});
|
|
25
|
-
PivotTableContainer.displayName = "PivotTableContainer";
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
|
-
import React from 'react';
|
|
4
|
-
import { PivotTableCell } from './PivotTableCell';
|
|
5
|
-
import { usePivotTableEngine } from './PivotTableEngineContext';
|
|
6
|
-
export const PivotTableDimensionLabelCell = _ref => {
|
|
7
|
-
let {
|
|
8
|
-
rowLevel,
|
|
9
|
-
columnLevel
|
|
10
|
-
} = _ref;
|
|
11
|
-
const engine = usePivotTableEngine();
|
|
12
|
-
if (!engine) {
|
|
13
|
-
return null;
|
|
14
|
-
}
|
|
15
|
-
const colCount = engine.rowDepth;
|
|
16
|
-
const rowCount = engine.columnDepth;
|
|
17
|
-
let colSpan = 1,
|
|
18
|
-
rowSpan = 1,
|
|
19
|
-
label;
|
|
20
|
-
if (!engine.visualization.showDimensionLabels) {
|
|
21
|
-
if (rowLevel > 0 || columnLevel > 0) {
|
|
22
|
-
colSpan = rowSpan = 0;
|
|
23
|
-
} else {
|
|
24
|
-
colSpan = colCount;
|
|
25
|
-
rowSpan = rowCount;
|
|
26
|
-
}
|
|
27
|
-
} else {
|
|
28
|
-
label = engine.getDimensionLabel(rowLevel, columnLevel);
|
|
29
|
-
if (!label) {
|
|
30
|
-
if (rowLevel > 0 || columnLevel > 0) {
|
|
31
|
-
colSpan = rowSpan = 0;
|
|
32
|
-
} else {
|
|
33
|
-
colSpan = colCount - 1;
|
|
34
|
-
rowSpan = rowCount - 1;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
if (!colSpan || !rowSpan) {
|
|
39
|
-
return null;
|
|
40
|
-
}
|
|
41
|
-
const width = engine.adaptiveClippingController.columns.headerSizes[rowLevel];
|
|
42
|
-
const height = engine.adaptiveClippingController.rows.headerSizes[columnLevel];
|
|
43
|
-
const style = {
|
|
44
|
-
width,
|
|
45
|
-
height
|
|
46
|
-
};
|
|
47
|
-
if (engine.options.fixColumnHeaders || engine.options.fixRowHeaders) {
|
|
48
|
-
style.zIndex = engine.options.fixColumnHeaders && engine.options.fixRowHeaders ? 2 : 1;
|
|
49
|
-
style.top = engine.options.fixColumnHeaders ? columnLevel * (engine.fontSize + engine.cellPadding * 2 + 2) : 0;
|
|
50
|
-
style.left = engine.options.fixRowHeaders ?
|
|
51
|
-
// calculate the width of all row header cells on the left of current cell
|
|
52
|
-
engine.adaptiveClippingController.columns.headerSizes.slice(0, rowLevel).reduce((width, acc) => acc += width, 0) : 0;
|
|
53
|
-
}
|
|
54
|
-
return /*#__PURE__*/React.createElement(PivotTableCell, {
|
|
55
|
-
isHeader: true,
|
|
56
|
-
classes: ["empty-header", "column-header", {
|
|
57
|
-
"fixed-header": engine.options.fixColumnHeaders || engine.options.fixRowHeaders
|
|
58
|
-
}],
|
|
59
|
-
colSpan: colSpan,
|
|
60
|
-
rowSpan: rowSpan,
|
|
61
|
-
title: label,
|
|
62
|
-
style: style
|
|
63
|
-
}, label);
|
|
64
|
-
};
|
|
65
|
-
PivotTableDimensionLabelCell.propTypes = {
|
|
66
|
-
columnLevel: PropTypes.number.isRequired,
|
|
67
|
-
rowLevel: PropTypes.number.isRequired
|
|
68
|
-
};
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
|
-
import React from 'react';
|
|
3
|
-
import { PivotTableCell } from './PivotTableCell';
|
|
4
|
-
export const PivotTableEmptyCell = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
5
|
-
let {
|
|
6
|
-
onClick,
|
|
7
|
-
classes,
|
|
8
|
-
...props
|
|
9
|
-
} = _ref;
|
|
10
|
-
return /*#__PURE__*/React.createElement(PivotTableCell, _extends({
|
|
11
|
-
ref: ref
|
|
12
|
-
}, props));
|
|
13
|
-
});
|
|
14
|
-
PivotTableEmptyCell.displayName = "PivotTableEmptyCell";
|