@hisptz/dhis2-analytics 1.0.10 → 1.0.11

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.
Files changed (154) hide show
  1. package/build/cjs/components/ChartAnalytics/ChartAnalytics.stories.js +1 -1
  2. package/build/cjs/components/CircularProgressDashboard/CircularProgressIndicator.stories.js +1 -1
  3. package/build/cjs/components/Map/Map.stories.js +1 -1
  4. package/build/cjs/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfigModal.stories.js +1 -1
  5. package/build/cjs/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfiguration.stories.js +1 -1
  6. package/build/cjs/components/Map/components/MapProvider/components/MapLayerProvider/hooks/index.js +8 -1
  7. package/build/cjs/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfigModal.stories.js +1 -1
  8. package/build/cjs/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfiguration.stories.js +1 -1
  9. package/build/cjs/components/PivotTable/PivotTable.stories.js +277 -0
  10. package/build/cjs/components/PivotTable/components/AssignedCategoriesIcon/index.js +32 -0
  11. package/build/cjs/components/PivotTable/components/PivotTable.js +60 -0
  12. package/build/cjs/components/PivotTable/components/PivotTableBody.js +41 -0
  13. package/build/cjs/components/PivotTable/components/PivotTableCell.js +40 -0
  14. package/build/cjs/components/PivotTable/components/PivotTableClippedAxis.js +26 -0
  15. package/build/cjs/components/PivotTable/components/PivotTableColumnHeaderCell.js +71 -0
  16. package/build/cjs/components/PivotTable/components/PivotTableColumnHeaders.js +60 -0
  17. package/build/cjs/components/PivotTable/components/PivotTableContainer.js +33 -0
  18. package/build/cjs/components/PivotTable/components/PivotTableDimensionLabelCell.js +77 -0
  19. package/build/cjs/components/PivotTable/components/PivotTableEmptyCell.js +22 -0
  20. package/build/cjs/components/PivotTable/components/PivotTableEmptyRow.js +33 -0
  21. package/build/cjs/components/PivotTable/components/PivotTableEngineContext.js +25 -0
  22. package/build/cjs/components/PivotTable/components/PivotTableHead.js +35 -0
  23. package/build/cjs/components/PivotTable/components/PivotTableHeaderCell.js +37 -0
  24. package/build/cjs/components/PivotTable/components/PivotTableRow.js +65 -0
  25. package/build/cjs/components/PivotTable/components/PivotTableRowHeaderCell.js +49 -0
  26. package/build/cjs/components/PivotTable/components/PivotTableTitleRow.js +52 -0
  27. package/build/cjs/components/PivotTable/components/PivotTableTitleRows.js +46 -0
  28. package/build/cjs/components/PivotTable/components/PivotTableValueCell.js +69 -0
  29. package/build/cjs/components/PivotTable/constants/dataTypes.js +129 -0
  30. package/build/cjs/components/PivotTable/constants/pivotTable.js +64 -0
  31. package/build/cjs/components/PivotTable/constants/predefinedDimensions.js +62 -0
  32. package/build/cjs/components/PivotTable/constants/valueTypes.js +55 -0
  33. package/build/cjs/components/PivotTable/data/column-data.json +210 -0
  34. package/build/cjs/components/PivotTable/hooks/useParentSize.js +41 -0
  35. package/build/cjs/components/PivotTable/hooks/useScrollPosition.js +38 -0
  36. package/build/cjs/components/PivotTable/hooks/useSortableColumns.js +34 -0
  37. package/build/cjs/components/PivotTable/hooks/useTableClipping.js +53 -0
  38. package/build/cjs/components/PivotTable/index.js +47 -0
  39. package/build/cjs/components/PivotTable/interfaces/index.js +1 -0
  40. package/build/cjs/components/PivotTable/services/adaptiveClippingController.js +197 -0
  41. package/build/cjs/components/PivotTable/services/engine.js +901 -0
  42. package/build/cjs/components/PivotTable/utils/getOuLevelAndGroupText.js +71 -0
  43. package/build/cjs/components/PivotTable/utils/index.js +322 -0
  44. package/build/cjs/components/PivotTable/utils/isColorBright.js +29 -0
  45. package/build/cjs/components/PivotTable/utils/layout/dimension.js +61 -0
  46. package/build/cjs/components/PivotTable/utils/layout/dimensionGetId.js +12 -0
  47. package/build/cjs/components/PivotTable/utils/layout/dimensionGetItems.js +12 -0
  48. package/build/cjs/components/PivotTable/utils/layout/dimensionIs.js +9 -0
  49. package/build/cjs/components/PivotTable/utils/layout/dimensionIsEmpty.js +9 -0
  50. package/build/cjs/components/PivotTable/utils/layout/dimensionIsValid.js +25 -0
  51. package/build/cjs/components/PivotTable/utils/legend.js +40 -0
  52. package/build/cjs/components/PivotTable/utils/ouIdHelper/index.js +27 -0
  53. package/build/cjs/components/SingleValueContainer/SingleValueContainer.stories.js +1 -1
  54. package/build/cjs/index.js +11 -0
  55. package/build/cjs/locales/en/translations.json +33 -0
  56. package/build/es/components/ChartAnalytics/ChartAnalytics.stories.js +1 -1
  57. package/build/es/components/CircularProgressDashboard/CircularProgressIndicator.stories.js +1 -1
  58. package/build/es/components/Map/Map.stories.js +1 -1
  59. package/build/es/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfigModal.stories.js +1 -1
  60. package/build/es/components/Map/components/EarthEngineLayerConfiguration/EarthEngineLayerConfiguration.stories.js +1 -1
  61. package/build/es/components/Map/components/MapProvider/components/MapLayerProvider/hooks/index.js +8 -1
  62. package/build/es/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfigModal.stories.js +1 -1
  63. package/build/es/components/Map/components/ThematicLayerConfiguration/ThematicLayerConfiguration.stories.js +1 -1
  64. package/build/es/components/PivotTable/PivotTable.stories.js +268 -0
  65. package/build/es/components/PivotTable/components/AssignedCategoriesIcon/index.js +24 -0
  66. package/build/es/components/PivotTable/components/PivotTable.js +51 -0
  67. package/build/es/components/PivotTable/components/PivotTableBody.js +33 -0
  68. package/build/es/components/PivotTable/components/PivotTableCell.js +32 -0
  69. package/build/es/components/PivotTable/components/PivotTableClippedAxis.js +18 -0
  70. package/build/es/components/PivotTable/components/PivotTableColumnHeaderCell.js +62 -0
  71. package/build/es/components/PivotTable/components/PivotTableColumnHeaders.js +52 -0
  72. package/build/es/components/PivotTable/components/PivotTableContainer.js +25 -0
  73. package/build/es/components/PivotTable/components/PivotTableDimensionLabelCell.js +68 -0
  74. package/build/es/components/PivotTable/components/PivotTableEmptyCell.js +14 -0
  75. package/build/es/components/PivotTable/components/PivotTableEmptyRow.js +25 -0
  76. package/build/es/components/PivotTable/components/PivotTableEngineContext.js +14 -0
  77. package/build/es/components/PivotTable/components/PivotTableHead.js +27 -0
  78. package/build/es/components/PivotTable/components/PivotTableHeaderCell.js +29 -0
  79. package/build/es/components/PivotTable/components/PivotTableRow.js +57 -0
  80. package/build/es/components/PivotTable/components/PivotTableRowHeaderCell.js +41 -0
  81. package/build/es/components/PivotTable/components/PivotTableTitleRow.js +42 -0
  82. package/build/es/components/PivotTable/components/PivotTableTitleRows.js +37 -0
  83. package/build/es/components/PivotTable/components/PivotTableValueCell.js +60 -0
  84. package/build/es/components/PivotTable/constants/dataTypes.js +98 -0
  85. package/build/es/components/PivotTable/constants/pivotTable.js +29 -0
  86. package/build/es/components/PivotTable/constants/predefinedDimensions.js +44 -0
  87. package/build/es/components/PivotTable/constants/valueTypes.js +27 -0
  88. package/build/es/components/PivotTable/data/column-data.json +210 -0
  89. package/build/es/components/PivotTable/hooks/useParentSize.js +33 -0
  90. package/build/es/components/PivotTable/hooks/useScrollPosition.js +30 -0
  91. package/build/es/components/PivotTable/hooks/useSortableColumns.js +27 -0
  92. package/build/es/components/PivotTable/hooks/useTableClipping.js +46 -0
  93. package/build/es/components/PivotTable/index.js +26 -0
  94. package/build/es/components/PivotTable/interfaces/index.js +1 -0
  95. package/build/es/components/PivotTable/services/adaptiveClippingController.js +191 -0
  96. package/build/es/components/PivotTable/services/engine.js +894 -0
  97. package/build/es/components/PivotTable/utils/getOuLevelAndGroupText.js +63 -0
  98. package/build/es/components/PivotTable/utils/index.js +309 -0
  99. package/build/es/components/PivotTable/utils/isColorBright.js +22 -0
  100. package/build/es/components/PivotTable/utils/layout/dimension.js +48 -0
  101. package/build/es/components/PivotTable/utils/layout/dimensionGetId.js +5 -0
  102. package/build/es/components/PivotTable/utils/layout/dimensionGetItems.js +5 -0
  103. package/build/es/components/PivotTable/utils/layout/dimensionIs.js +2 -0
  104. package/build/es/components/PivotTable/utils/layout/dimensionIsEmpty.js +2 -0
  105. package/build/es/components/PivotTable/utils/layout/dimensionIsValid.js +18 -0
  106. package/build/es/components/PivotTable/utils/legend.js +27 -0
  107. package/build/es/components/PivotTable/utils/ouIdHelper/index.js +17 -0
  108. package/build/es/components/SingleValueContainer/SingleValueContainer.stories.js +1 -1
  109. package/build/es/index.js +1 -0
  110. package/build/es/locales/en/translations.json +33 -0
  111. package/build/types/components/PivotTable/components/AssignedCategoriesIcon/index.d.ts +3 -0
  112. package/build/types/components/PivotTable/components/PivotTable.d.ts +12 -0
  113. package/build/types/components/PivotTable/components/PivotTableBody.d.ts +7 -0
  114. package/build/types/components/PivotTable/components/PivotTableCell.d.ts +17 -0
  115. package/build/types/components/PivotTable/components/PivotTableClippedAxis.d.ts +7 -0
  116. package/build/types/components/PivotTable/components/PivotTableColumnHeaderCell.d.ts +13 -0
  117. package/build/types/components/PivotTable/components/PivotTableColumnHeaders.d.ts +11 -0
  118. package/build/types/components/PivotTable/components/PivotTableContainer.d.ts +8 -0
  119. package/build/types/components/PivotTable/components/PivotTableDimensionLabelCell.d.ts +13 -0
  120. package/build/types/components/PivotTable/components/PivotTableEmptyCell.d.ts +7 -0
  121. package/build/types/components/PivotTable/components/PivotTableEmptyRow.d.ts +5 -0
  122. package/build/types/components/PivotTable/components/PivotTableEngineContext.d.ts +8 -0
  123. package/build/types/components/PivotTable/components/PivotTableHead.d.ts +21 -0
  124. package/build/types/components/PivotTable/components/PivotTableHeaderCell.d.ts +22 -0
  125. package/build/types/components/PivotTable/components/PivotTableRow.d.ts +19 -0
  126. package/build/types/components/PivotTable/components/PivotTableRowHeaderCell.d.ts +8 -0
  127. package/build/types/components/PivotTable/components/PivotTableTitleRow.d.ts +21 -0
  128. package/build/types/components/PivotTable/components/PivotTableTitleRows.d.ts +12 -0
  129. package/build/types/components/PivotTable/components/PivotTableValueCell.d.ts +8 -0
  130. package/build/types/components/PivotTable/constants/dataTypes.d.ts +90 -0
  131. package/build/types/components/PivotTable/constants/pivotTable.d.ts +29 -0
  132. package/build/types/components/PivotTable/constants/predefinedDimensions.d.ts +80 -0
  133. package/build/types/components/PivotTable/constants/valueTypes.d.ts +22 -0
  134. package/build/types/components/PivotTable/hooks/useParentSize.d.ts +8 -0
  135. package/build/types/components/PivotTable/hooks/useScrollPosition.d.ts +5 -0
  136. package/build/types/components/PivotTable/hooks/useSortableColumns.d.ts +8 -0
  137. package/build/types/components/PivotTable/hooks/useTableClipping.d.ts +24 -0
  138. package/build/types/components/PivotTable/index.d.ts +26 -0
  139. package/build/types/components/PivotTable/interfaces/index.d.ts +72 -0
  140. package/build/types/components/PivotTable/services/adaptiveClippingController.d.ts +44 -0
  141. package/build/types/components/PivotTable/services/engine.d.ts +252 -0
  142. package/build/types/components/PivotTable/utils/getOuLevelAndGroupText.d.ts +1 -0
  143. package/build/types/components/PivotTable/utils/index.d.ts +38 -0
  144. package/build/types/components/PivotTable/utils/isColorBright.d.ts +1 -0
  145. package/build/types/components/PivotTable/utils/layout/dimension.d.ts +35 -0
  146. package/build/types/components/PivotTable/utils/layout/dimensionGetId.d.ts +3 -0
  147. package/build/types/components/PivotTable/utils/layout/dimensionGetItems.d.ts +3 -0
  148. package/build/types/components/PivotTable/utils/layout/dimensionIs.d.ts +1 -0
  149. package/build/types/components/PivotTable/utils/layout/dimensionIsEmpty.d.ts +3 -0
  150. package/build/types/components/PivotTable/utils/layout/dimensionIsValid.d.ts +5 -0
  151. package/build/types/components/PivotTable/utils/legend.d.ts +11 -0
  152. package/build/types/components/PivotTable/utils/ouIdHelper/index.d.ts +10 -0
  153. package/build/types/index.d.ts +1 -0
  154. package/package.json +6 -3
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.dataTypeMap = exports.TOTALS = exports.SUB_GROUP_METRIC = exports.SUB_GROUP_DETAIL = exports.DIMENSION_TYPE_PROGRAM_INDICATOR = exports.DIMENSION_TYPE_PROGRAM_DATA_ELEMENT = exports.DIMENSION_TYPE_PROGRAM_ATTRIBUTE = exports.DIMENSION_TYPE_PERIOD = exports.DIMENSION_TYPE_ORGANISATION_UNIT_GROUP_SET = exports.DIMENSION_TYPE_ORGANISATION_UNIT = exports.DIMENSION_TYPE_INDICATOR = exports.DIMENSION_TYPE_EVENT_DATA_ITEM = exports.DIMENSION_TYPE_DATA_SET = exports.DIMENSION_TYPE_DATA_ELEMENT_OPERAND = exports.DIMENSION_TYPE_DATA_ELEMENT_GROUP_SET = exports.DIMENSION_TYPE_DATA_ELEMENT = exports.DIMENSION_TYPE_DATA = exports.DIMENSION_TYPE_CATEGORY_OPTION_GROUP_SET = exports.DIMENSION_TYPE_CATEGORY = exports.DIMENSION_TYPE_ALL = exports.DETAIL = exports.DEFAULT_DATATYPE_ID = void 0;
7
+ exports.defaultGroupDetail = defaultGroupDetail;
8
+ exports.defaultGroupId = defaultGroupId;
9
+ var _d2I18n = _interopRequireDefault(require("@dhis2/d2-i18n"));
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ // @ts-nocheck
12
+
13
+ const DIMENSION_TYPE_ALL = 'ALL';
14
+ exports.DIMENSION_TYPE_ALL = DIMENSION_TYPE_ALL;
15
+ const DIMENSION_TYPE_INDICATOR = 'INDICATOR';
16
+ exports.DIMENSION_TYPE_INDICATOR = DIMENSION_TYPE_INDICATOR;
17
+ const DIMENSION_TYPE_DATA_ELEMENT = 'DATA_ELEMENT';
18
+ exports.DIMENSION_TYPE_DATA_ELEMENT = DIMENSION_TYPE_DATA_ELEMENT;
19
+ const DIMENSION_TYPE_DATA_SET = 'DATA_SET';
20
+ exports.DIMENSION_TYPE_DATA_SET = DIMENSION_TYPE_DATA_SET;
21
+ const DIMENSION_TYPE_EVENT_DATA_ITEM = 'EVENT_DATA_ITEM';
22
+ exports.DIMENSION_TYPE_EVENT_DATA_ITEM = DIMENSION_TYPE_EVENT_DATA_ITEM;
23
+ const DIMENSION_TYPE_PROGRAM_INDICATOR = 'PROGRAM_INDICATOR';
24
+ exports.DIMENSION_TYPE_PROGRAM_INDICATOR = DIMENSION_TYPE_PROGRAM_INDICATOR;
25
+ const DIMENSION_TYPE_PROGRAM_DATA_ELEMENT = 'PROGRAM_DATA_ELEMENT';
26
+ exports.DIMENSION_TYPE_PROGRAM_DATA_ELEMENT = DIMENSION_TYPE_PROGRAM_DATA_ELEMENT;
27
+ const DIMENSION_TYPE_PROGRAM_ATTRIBUTE = 'PROGRAM_ATTRIBUTE';
28
+ exports.DIMENSION_TYPE_PROGRAM_ATTRIBUTE = DIMENSION_TYPE_PROGRAM_ATTRIBUTE;
29
+ const DIMENSION_TYPE_DATA_ELEMENT_OPERAND = 'DATA_ELEMENT_OPERAND';
30
+ exports.DIMENSION_TYPE_DATA_ELEMENT_OPERAND = DIMENSION_TYPE_DATA_ELEMENT_OPERAND;
31
+ const DIMENSION_TYPE_CATEGORY = 'CATEGORY';
32
+ exports.DIMENSION_TYPE_CATEGORY = DIMENSION_TYPE_CATEGORY;
33
+ const DIMENSION_TYPE_CATEGORY_OPTION_GROUP_SET = 'CATEGORY_OPTION_GROUP_SET';
34
+ exports.DIMENSION_TYPE_CATEGORY_OPTION_GROUP_SET = DIMENSION_TYPE_CATEGORY_OPTION_GROUP_SET;
35
+ const DIMENSION_TYPE_DATA_ELEMENT_GROUP_SET = 'DATA_ELEMENT_GROUP_SET';
36
+ exports.DIMENSION_TYPE_DATA_ELEMENT_GROUP_SET = DIMENSION_TYPE_DATA_ELEMENT_GROUP_SET;
37
+ const DIMENSION_TYPE_DATA = 'DATA_X';
38
+ exports.DIMENSION_TYPE_DATA = DIMENSION_TYPE_DATA;
39
+ const DIMENSION_TYPE_PERIOD = 'PERIOD';
40
+ exports.DIMENSION_TYPE_PERIOD = DIMENSION_TYPE_PERIOD;
41
+ const DIMENSION_TYPE_ORGANISATION_UNIT = 'ORGANISATION_UNIT';
42
+ exports.DIMENSION_TYPE_ORGANISATION_UNIT = DIMENSION_TYPE_ORGANISATION_UNIT;
43
+ const DIMENSION_TYPE_ORGANISATION_UNIT_GROUP_SET = 'ORGANISATION_UNIT_GROUP_SET';
44
+ exports.DIMENSION_TYPE_ORGANISATION_UNIT_GROUP_SET = DIMENSION_TYPE_ORGANISATION_UNIT_GROUP_SET;
45
+ const TOTALS = 'totals';
46
+ exports.TOTALS = TOTALS;
47
+ const DETAIL = 'detail';
48
+ exports.DETAIL = DETAIL;
49
+ const SUB_GROUP_DETAIL = 'DETAIL';
50
+ exports.SUB_GROUP_DETAIL = SUB_GROUP_DETAIL;
51
+ const SUB_GROUP_METRIC = 'METRIC';
52
+ exports.SUB_GROUP_METRIC = SUB_GROUP_METRIC;
53
+ const getProgramText = () => _d2I18n.default.t('Program');
54
+ const getSelectProgramText = () => _d2I18n.default.t('Select a program');
55
+ const dataTypeMap = {
56
+ [DIMENSION_TYPE_INDICATOR]: {
57
+ id: DIMENSION_TYPE_INDICATOR,
58
+ getName: () => _d2I18n.default.t('Indicators'),
59
+ getGroupLabel: () => _d2I18n.default.t('Indicator group'),
60
+ defaultGroup: {
61
+ id: DIMENSION_TYPE_ALL,
62
+ getName: () => _d2I18n.default.t('All groups')
63
+ },
64
+ getItemName: () => _d2I18n.default.t('Indicator'),
65
+ getGroupEmptyLabel: () => _d2I18n.default.t('No indicator groups found'),
66
+ getGroupLoadingLabel: () => _d2I18n.default.t('Loading indicator groups')
67
+ },
68
+ [DIMENSION_TYPE_DATA_ELEMENT]: {
69
+ id: DIMENSION_TYPE_DATA_ELEMENT,
70
+ getName: () => _d2I18n.default.t('Data elements'),
71
+ getGroupLabel: () => _d2I18n.default.t('Data element group'),
72
+ defaultGroup: {
73
+ id: DIMENSION_TYPE_ALL,
74
+ getName: () => _d2I18n.default.t('All groups')
75
+ },
76
+ subGroup: SUB_GROUP_DETAIL,
77
+ getItemName: () => _d2I18n.default.t('Data element'),
78
+ getGroupEmptyLabel: () => _d2I18n.default.t('No data element groups found'),
79
+ getGroupLoadingLabel: () => _d2I18n.default.t('Loading data element groups')
80
+ },
81
+ [DIMENSION_TYPE_DATA_SET]: {
82
+ id: DIMENSION_TYPE_DATA_SET,
83
+ getName: () => _d2I18n.default.t('Data sets'),
84
+ getGroupLabel: () => _d2I18n.default.t('Data set'),
85
+ defaultGroup: {
86
+ id: DIMENSION_TYPE_ALL,
87
+ getName: () => _d2I18n.default.t('All data sets')
88
+ },
89
+ subGroup: SUB_GROUP_METRIC,
90
+ getItemName: () => _d2I18n.default.t('Data set'),
91
+ getGroupEmptyLabel: () => _d2I18n.default.t('No data sets found'),
92
+ getGroupLoadingLabel: () => _d2I18n.default.t('Loading data sets')
93
+ },
94
+ [DIMENSION_TYPE_EVENT_DATA_ITEM]: {
95
+ id: DIMENSION_TYPE_EVENT_DATA_ITEM,
96
+ getName: () => _d2I18n.default.t('Event data items'),
97
+ getGroupLabel: getProgramText,
98
+ getPlaceholder: getSelectProgramText,
99
+ defaultGroup: {
100
+ id: DIMENSION_TYPE_ALL,
101
+ getName: () => _d2I18n.default.t('All programs')
102
+ },
103
+ getItemName: () => _d2I18n.default.t('Event data item'),
104
+ getGroupEmptyLabel: () => _d2I18n.default.t('No programs found'),
105
+ getGroupLoadingLabel: () => _d2I18n.default.t('Loading programs')
106
+ },
107
+ [DIMENSION_TYPE_PROGRAM_INDICATOR]: {
108
+ id: DIMENSION_TYPE_PROGRAM_INDICATOR,
109
+ getName: () => _d2I18n.default.t('Program indicators'),
110
+ getGroupLabel: getProgramText,
111
+ getPlaceholder: getSelectProgramText,
112
+ defaultGroup: {
113
+ id: DIMENSION_TYPE_ALL,
114
+ getName: () => _d2I18n.default.t('All programs')
115
+ },
116
+ getItemName: () => _d2I18n.default.t('Program indicator'),
117
+ getGroupEmptyLabel: () => _d2I18n.default.t('No programs found'),
118
+ getGroupLoadingLabel: () => _d2I18n.default.t('Loading programs')
119
+ }
120
+ };
121
+ exports.dataTypeMap = dataTypeMap;
122
+ function defaultGroupId(dataType) {
123
+ return dataTypeMap[dataType].defaultGroup ? dataTypeMap[dataType].defaultGroup.id : '';
124
+ }
125
+ function defaultGroupDetail(dataType) {
126
+ return dataTypeMap[dataType].groupDetail ? dataTypeMap[dataType].groupDetail.default : '';
127
+ }
128
+ const DEFAULT_DATATYPE_ID = DIMENSION_TYPE_INDICATOR;
129
+ exports.DEFAULT_DATATYPE_ID = DEFAULT_DATATYPE_ID;
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.WRAPPED_TEXT_LINE_HEIGHT = exports.WRAPPED_TEXT_JUSTIFY_BUFFER = exports.SORT_ORDER_DESCENDING = exports.SORT_ORDER_ASCENDING = exports.NUMBER_TYPE_VALUE = exports.NUMBER_TYPE_ROW_PERCENTAGE = exports.NUMBER_TYPE_COLUMN_PERCENTAGE = exports.FONT_SIZE_SMALL = exports.FONT_SIZE_OPTION_SMALL = exports.FONT_SIZE_OPTION_NORMAL = exports.FONT_SIZE_OPTION_LARGE = exports.FONT_SIZE_NORMAL = exports.FONT_SIZE_LARGE = exports.DISPLAY_DENSITY_PADDING_NORMAL = exports.DISPLAY_DENSITY_PADDING_COMPACT = exports.DISPLAY_DENSITY_PADDING_COMFORTABLE = exports.DISPLAY_DENSITY_OPTION_NORMAL = exports.DISPLAY_DENSITY_OPTION_COMPACT = exports.DISPLAY_DENSITY_OPTION_COMFORTABLE = exports.CLIPPED_CELL_MIN_SIZE = exports.CLIPPED_CELL_MAX_SIZE = exports.CLIPPED_AXIS_PARTITION_SIZE_PX = exports.CELL_TYPE_VALUE = exports.CELL_TYPE_TOTAL = exports.CELL_TYPE_SUBTOTAL = exports.BORDER_COLOR = exports.AGGREGATE_TYPE_SUM = exports.AGGREGATE_TYPE_NA = exports.AGGREGATE_TYPE_AVERAGE = void 0;
7
+ const SORT_ORDER_ASCENDING = 1;
8
+ exports.SORT_ORDER_ASCENDING = SORT_ORDER_ASCENDING;
9
+ const SORT_ORDER_DESCENDING = -1;
10
+ exports.SORT_ORDER_DESCENDING = SORT_ORDER_DESCENDING;
11
+ const CELL_TYPE_VALUE = 'value';
12
+ exports.CELL_TYPE_VALUE = CELL_TYPE_VALUE;
13
+ const CELL_TYPE_SUBTOTAL = 'subtotal';
14
+ exports.CELL_TYPE_SUBTOTAL = CELL_TYPE_SUBTOTAL;
15
+ const CELL_TYPE_TOTAL = 'total';
16
+ exports.CELL_TYPE_TOTAL = CELL_TYPE_TOTAL;
17
+ const AGGREGATE_TYPE_SUM = 'SUM';
18
+ exports.AGGREGATE_TYPE_SUM = AGGREGATE_TYPE_SUM;
19
+ const AGGREGATE_TYPE_AVERAGE = 'AVERAGE';
20
+ exports.AGGREGATE_TYPE_AVERAGE = AGGREGATE_TYPE_AVERAGE;
21
+ const AGGREGATE_TYPE_NA = 'N/A';
22
+ exports.AGGREGATE_TYPE_NA = AGGREGATE_TYPE_NA;
23
+ const NUMBER_TYPE_VALUE = 'VALUE';
24
+ exports.NUMBER_TYPE_VALUE = NUMBER_TYPE_VALUE;
25
+ const NUMBER_TYPE_ROW_PERCENTAGE = 'ROW_PERCENTAGE';
26
+ exports.NUMBER_TYPE_ROW_PERCENTAGE = NUMBER_TYPE_ROW_PERCENTAGE;
27
+ const NUMBER_TYPE_COLUMN_PERCENTAGE = 'COLUMN_PERCENTAGE';
28
+ exports.NUMBER_TYPE_COLUMN_PERCENTAGE = NUMBER_TYPE_COLUMN_PERCENTAGE;
29
+ const BORDER_COLOR = '#b2b2b2';
30
+ exports.BORDER_COLOR = BORDER_COLOR;
31
+ const FONT_SIZE_OPTION_SMALL = 'SMALL';
32
+ exports.FONT_SIZE_OPTION_SMALL = FONT_SIZE_OPTION_SMALL;
33
+ const FONT_SIZE_SMALL = 10;
34
+ exports.FONT_SIZE_SMALL = FONT_SIZE_SMALL;
35
+ const FONT_SIZE_OPTION_NORMAL = 'NORMAL';
36
+ exports.FONT_SIZE_OPTION_NORMAL = FONT_SIZE_OPTION_NORMAL;
37
+ const FONT_SIZE_NORMAL = 11;
38
+ exports.FONT_SIZE_NORMAL = FONT_SIZE_NORMAL;
39
+ const FONT_SIZE_OPTION_LARGE = 'LARGE';
40
+ exports.FONT_SIZE_OPTION_LARGE = FONT_SIZE_OPTION_LARGE;
41
+ const FONT_SIZE_LARGE = 13;
42
+ exports.FONT_SIZE_LARGE = FONT_SIZE_LARGE;
43
+ const DISPLAY_DENSITY_OPTION_COMPACT = 'COMPACT';
44
+ exports.DISPLAY_DENSITY_OPTION_COMPACT = DISPLAY_DENSITY_OPTION_COMPACT;
45
+ const DISPLAY_DENSITY_PADDING_COMPACT = 4;
46
+ exports.DISPLAY_DENSITY_PADDING_COMPACT = DISPLAY_DENSITY_PADDING_COMPACT;
47
+ const DISPLAY_DENSITY_OPTION_NORMAL = 'NORMAL';
48
+ exports.DISPLAY_DENSITY_OPTION_NORMAL = DISPLAY_DENSITY_OPTION_NORMAL;
49
+ const DISPLAY_DENSITY_PADDING_NORMAL = 5;
50
+ exports.DISPLAY_DENSITY_PADDING_NORMAL = DISPLAY_DENSITY_PADDING_NORMAL;
51
+ const DISPLAY_DENSITY_OPTION_COMFORTABLE = 'COMFORTABLE';
52
+ exports.DISPLAY_DENSITY_OPTION_COMFORTABLE = DISPLAY_DENSITY_OPTION_COMFORTABLE;
53
+ const DISPLAY_DENSITY_PADDING_COMFORTABLE = 7;
54
+ exports.DISPLAY_DENSITY_PADDING_COMFORTABLE = DISPLAY_DENSITY_PADDING_COMFORTABLE;
55
+ const CLIPPED_CELL_MAX_SIZE = 360;
56
+ exports.CLIPPED_CELL_MAX_SIZE = CLIPPED_CELL_MAX_SIZE;
57
+ const CLIPPED_CELL_MIN_SIZE = 36;
58
+ exports.CLIPPED_CELL_MIN_SIZE = CLIPPED_CELL_MIN_SIZE;
59
+ const WRAPPED_TEXT_JUSTIFY_BUFFER = 25;
60
+ exports.WRAPPED_TEXT_JUSTIFY_BUFFER = WRAPPED_TEXT_JUSTIFY_BUFFER;
61
+ const WRAPPED_TEXT_LINE_HEIGHT = 1.0;
62
+ exports.WRAPPED_TEXT_LINE_HEIGHT = WRAPPED_TEXT_LINE_HEIGHT;
63
+ const CLIPPED_AXIS_PARTITION_SIZE_PX = 1000;
64
+ exports.CLIPPED_AXIS_PARTITION_SIZE_PX = CLIPPED_AXIS_PARTITION_SIZE_PX;
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getPredefinedDimensions = exports.getPredefinedDimensionProp = exports.getFixedDimensions = exports.getDynamicDimensions = exports.getDimensionById = exports.filterOutPredefinedDimensions = exports.DIMENSION_PROP_NO_ITEMS = exports.DIMENSION_ID_PERIOD = exports.DIMENSION_ID_ORGUNIT = exports.DIMENSION_ID_DATA = exports.DIMENSION_ID_ASSIGNED_CATEGORIES = void 0;
7
+ var _ui = require("@dhis2/ui");
8
+ var _d2I18n = _interopRequireDefault(require("@dhis2/d2-i18n"));
9
+ var _AssignedCategoriesIcon = _interopRequireDefault(require("../components/AssignedCategoriesIcon"));
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ const DIMENSION_ID_DATA = 'dx';
12
+ exports.DIMENSION_ID_DATA = DIMENSION_ID_DATA;
13
+ const DIMENSION_ID_PERIOD = 'pe';
14
+ exports.DIMENSION_ID_PERIOD = DIMENSION_ID_PERIOD;
15
+ const DIMENSION_ID_ORGUNIT = 'ou';
16
+ exports.DIMENSION_ID_ORGUNIT = DIMENSION_ID_ORGUNIT;
17
+ const DIMENSION_ID_ASSIGNED_CATEGORIES = 'co';
18
+ exports.DIMENSION_ID_ASSIGNED_CATEGORIES = DIMENSION_ID_ASSIGNED_CATEGORIES;
19
+ const DIMENSION_PROP_NO_ITEMS = 'noItems';
20
+ exports.DIMENSION_PROP_NO_ITEMS = DIMENSION_PROP_NO_ITEMS;
21
+ const getFixedDimensions = () => ({
22
+ [DIMENSION_ID_DATA]: {
23
+ id: DIMENSION_ID_DATA,
24
+ name: _d2I18n.default.t('Data'),
25
+ iconName: 'DataIcon',
26
+ icon: _ui.IconDimensionData16
27
+ },
28
+ [DIMENSION_ID_PERIOD]: {
29
+ id: DIMENSION_ID_PERIOD,
30
+ name: _d2I18n.default.t('Period'),
31
+ iconName: 'PeriodIcon',
32
+ icon: _ui.IconClock16
33
+ },
34
+ [DIMENSION_ID_ORGUNIT]: {
35
+ id: DIMENSION_ID_ORGUNIT,
36
+ name: _d2I18n.default.t('Organisation unit'),
37
+ iconName: 'OrgUnitIcon',
38
+ icon: _ui.IconDimensionOrgUnit16
39
+ }
40
+ });
41
+ exports.getFixedDimensions = getFixedDimensions;
42
+ const getDynamicDimensions = () => ({
43
+ [DIMENSION_ID_ASSIGNED_CATEGORIES]: {
44
+ id: DIMENSION_ID_ASSIGNED_CATEGORIES,
45
+ name: _d2I18n.default.t('Assigned Categories'),
46
+ iconName: 'AssignedCategoriesIcon',
47
+ icon: _AssignedCategoriesIcon.default,
48
+ [DIMENSION_PROP_NO_ITEMS]: true
49
+ }
50
+ });
51
+ exports.getDynamicDimensions = getDynamicDimensions;
52
+ const getPredefinedDimensions = () => ({
53
+ ...getFixedDimensions(),
54
+ ...getDynamicDimensions()
55
+ });
56
+ exports.getPredefinedDimensions = getPredefinedDimensions;
57
+ const filterOutPredefinedDimensions = dimensionIds => dimensionIds.filter(dimensionId => !Object.keys(getPredefinedDimensions()).includes(dimensionId));
58
+ exports.filterOutPredefinedDimensions = filterOutPredefinedDimensions;
59
+ const getPredefinedDimensionProp = (dimensionId, propName) => (getPredefinedDimensions()[dimensionId] || {})[propName];
60
+ exports.getPredefinedDimensionProp = getPredefinedDimensionProp;
61
+ const getDimensionById = dimensionId => getPredefinedDimensions()[dimensionId];
62
+ exports.getDimensionById = getDimensionById;
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isNumericValueType = exports.VALUE_TYPE_USERNAME = exports.VALUE_TYPE_URL = exports.VALUE_TYPE_UNIT_INTERVAL = exports.VALUE_TYPE_TRUE_ONLY = exports.VALUE_TYPE_TIME = exports.VALUE_TYPE_TEXT = exports.VALUE_TYPE_PHONE_NUMBER = exports.VALUE_TYPE_PERCENTAGE = exports.VALUE_TYPE_ORGANISATION_UNIT = exports.VALUE_TYPE_NUMBER = exports.VALUE_TYPE_LONG_TEXT = exports.VALUE_TYPE_LETTER = exports.VALUE_TYPE_INTEGER_ZERO_OR_POSITIVE = exports.VALUE_TYPE_INTEGER_POSITIVE = exports.VALUE_TYPE_INTEGER_NEGATIVE = exports.VALUE_TYPE_INTEGER = exports.VALUE_TYPE_EMAIL = exports.VALUE_TYPE_DATETIME = exports.VALUE_TYPE_DATE = exports.VALUE_TYPE_BOOLEAN = exports.VALUE_TYPE_AGE = void 0;
7
+ /* These types match the types in the backend
8
+ https://github.com/dhis2/dhis2-core/blob/master/dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/ValueType.java
9
+ */
10
+
11
+ const VALUE_TYPE_NUMBER = 'NUMBER';
12
+ exports.VALUE_TYPE_NUMBER = VALUE_TYPE_NUMBER;
13
+ const VALUE_TYPE_UNIT_INTERVAL = 'UNIT_INTERVAL';
14
+ exports.VALUE_TYPE_UNIT_INTERVAL = VALUE_TYPE_UNIT_INTERVAL;
15
+ const VALUE_TYPE_PERCENTAGE = 'PERCENTAGE';
16
+ exports.VALUE_TYPE_PERCENTAGE = VALUE_TYPE_PERCENTAGE;
17
+ const VALUE_TYPE_INTEGER = 'INTEGER';
18
+ exports.VALUE_TYPE_INTEGER = VALUE_TYPE_INTEGER;
19
+ const VALUE_TYPE_INTEGER_POSITIVE = 'INTEGER_POSITIVE';
20
+ exports.VALUE_TYPE_INTEGER_POSITIVE = VALUE_TYPE_INTEGER_POSITIVE;
21
+ const VALUE_TYPE_INTEGER_NEGATIVE = 'INTEGER_NEGATIVE';
22
+ exports.VALUE_TYPE_INTEGER_NEGATIVE = VALUE_TYPE_INTEGER_NEGATIVE;
23
+ const VALUE_TYPE_INTEGER_ZERO_OR_POSITIVE = 'INTEGER_ZERO_OR_POSITIVE';
24
+ exports.VALUE_TYPE_INTEGER_ZERO_OR_POSITIVE = VALUE_TYPE_INTEGER_ZERO_OR_POSITIVE;
25
+ const VALUE_TYPE_TEXT = 'TEXT';
26
+ exports.VALUE_TYPE_TEXT = VALUE_TYPE_TEXT;
27
+ const VALUE_TYPE_LONG_TEXT = 'LONG_TEXT';
28
+ exports.VALUE_TYPE_LONG_TEXT = VALUE_TYPE_LONG_TEXT;
29
+ const VALUE_TYPE_LETTER = 'LETTER';
30
+ exports.VALUE_TYPE_LETTER = VALUE_TYPE_LETTER;
31
+ const VALUE_TYPE_PHONE_NUMBER = 'PHONE_NUMBER';
32
+ exports.VALUE_TYPE_PHONE_NUMBER = VALUE_TYPE_PHONE_NUMBER;
33
+ const VALUE_TYPE_EMAIL = 'EMAIL';
34
+ exports.VALUE_TYPE_EMAIL = VALUE_TYPE_EMAIL;
35
+ const VALUE_TYPE_USERNAME = 'USERNAME';
36
+ exports.VALUE_TYPE_USERNAME = VALUE_TYPE_USERNAME;
37
+ const VALUE_TYPE_URL = 'URL';
38
+ exports.VALUE_TYPE_URL = VALUE_TYPE_URL;
39
+ const VALUE_TYPE_BOOLEAN = 'BOOLEAN';
40
+ exports.VALUE_TYPE_BOOLEAN = VALUE_TYPE_BOOLEAN;
41
+ const VALUE_TYPE_TRUE_ONLY = 'TRUE_ONLY';
42
+ exports.VALUE_TYPE_TRUE_ONLY = VALUE_TYPE_TRUE_ONLY;
43
+ const VALUE_TYPE_DATE = 'DATE';
44
+ exports.VALUE_TYPE_DATE = VALUE_TYPE_DATE;
45
+ const VALUE_TYPE_TIME = 'TIME';
46
+ exports.VALUE_TYPE_TIME = VALUE_TYPE_TIME;
47
+ const VALUE_TYPE_DATETIME = 'DATETIME';
48
+ exports.VALUE_TYPE_DATETIME = VALUE_TYPE_DATETIME;
49
+ const VALUE_TYPE_ORGANISATION_UNIT = 'ORGANISATION_UNIT';
50
+ exports.VALUE_TYPE_ORGANISATION_UNIT = VALUE_TYPE_ORGANISATION_UNIT;
51
+ const VALUE_TYPE_AGE = 'AGE';
52
+ exports.VALUE_TYPE_AGE = VALUE_TYPE_AGE;
53
+ const NUMERIC_VALUE_TYPES = [VALUE_TYPE_NUMBER, VALUE_TYPE_UNIT_INTERVAL, VALUE_TYPE_PERCENTAGE, VALUE_TYPE_INTEGER, VALUE_TYPE_INTEGER_POSITIVE, VALUE_TYPE_INTEGER_NEGATIVE, VALUE_TYPE_INTEGER_ZERO_OR_POSITIVE];
54
+ const isNumericValueType = type => NUMERIC_VALUE_TYPES.includes(type);
55
+ exports.isNumericValueType = isNumericValueType;
@@ -0,0 +1,210 @@
1
+ {
2
+ "headers": [
3
+ {
4
+ "name": "dx",
5
+ "column": "Data",
6
+ "valueType": "TEXT",
7
+ "type": "java.lang.String",
8
+ "hidden": false,
9
+ "meta": true
10
+ },
11
+ {
12
+ "name": "ou",
13
+ "column": "Organisation unit",
14
+ "valueType": "TEXT",
15
+ "type": "java.lang.String",
16
+ "hidden": false,
17
+ "meta": true
18
+ },
19
+ {
20
+ "name": "value",
21
+ "column": "Value",
22
+ "valueType": "NUMBER",
23
+ "type": "java.lang.Double",
24
+ "hidden": false,
25
+ "meta": false
26
+ }
27
+ ],
28
+ "metaData": {
29
+ "items": {
30
+ "2022": {
31
+ "name": "2022"
32
+ },
33
+ "KctpIIucige": {
34
+ "name": "Selenga"
35
+ },
36
+ "YmmeuGbqOwR": {
37
+ "name": "Gbo"
38
+ },
39
+ "daJPPxtIrQn": {
40
+ "name": "Jaiama Bongor"
41
+ },
42
+ "tTUf91fCytl": {
43
+ "uid": "tTUf91fCytl",
44
+ "name": "Chiefdom"
45
+ },
46
+ "ou": {
47
+ "name": "Organisation unit"
48
+ },
49
+ "sxRd2XOzFbz": {
50
+ "name": "Tikonko"
51
+ },
52
+ "THIS_YEAR": {
53
+ "name": "This year"
54
+ },
55
+ "O6uvpzGd5pu": {
56
+ "uid": "O6uvpzGd5pu",
57
+ "code": "OU_264",
58
+ "name": "Bo"
59
+ },
60
+ "U6Kr7Gtpidn": {
61
+ "name": "Kakua"
62
+ },
63
+ "YuQRtpLP10I": {
64
+ "name": "Badjia"
65
+ },
66
+ "zFDYIgyGmXG": {
67
+ "name": "Bargbo"
68
+ },
69
+ "I4jWcnFmgEC": {
70
+ "name": "Niawa Lenga"
71
+ },
72
+ "dx": {
73
+ "name": "Data"
74
+ },
75
+ "BGGmAwx33dj": {
76
+ "name": "Bumpe Ngao"
77
+ },
78
+ "pe": {
79
+ "name": "Period"
80
+ },
81
+ "Uvn6LCg7dVU": {
82
+ "name": "ANC 1 Coverage"
83
+ },
84
+ "ARZ4y5i4reU": {
85
+ "name": "Wonde"
86
+ },
87
+ "JdhagCUEMbj": {
88
+ "name": "Komboya"
89
+ },
90
+ "vWbkYPRmKyS": {
91
+ "name": "Baoma"
92
+ },
93
+ "dGheVylzol6": {
94
+ "name": "Bargbe"
95
+ },
96
+ "kU8vhUkAGaT": {
97
+ "name": "Lugbu"
98
+ },
99
+ "npWGUj37qDe": {
100
+ "name": "Valunia"
101
+ }
102
+ },
103
+ "dimensions": {
104
+ "dx": [
105
+ "Uvn6LCg7dVU"
106
+ ],
107
+ "pe": [
108
+ "2022"
109
+ ],
110
+ "ou": [
111
+ "YuQRtpLP10I",
112
+ "vWbkYPRmKyS",
113
+ "dGheVylzol6",
114
+ "zFDYIgyGmXG",
115
+ "BGGmAwx33dj",
116
+ "YmmeuGbqOwR",
117
+ "daJPPxtIrQn",
118
+ "U6Kr7Gtpidn",
119
+ "JdhagCUEMbj",
120
+ "kU8vhUkAGaT",
121
+ "I4jWcnFmgEC",
122
+ "KctpIIucige",
123
+ "sxRd2XOzFbz",
124
+ "npWGUj37qDe",
125
+ "ARZ4y5i4reU"
126
+ ],
127
+ "co": []
128
+ }
129
+ },
130
+ "rows": [
131
+ [
132
+ "Uvn6LCg7dVU",
133
+ "YuQRtpLP10I",
134
+ "304.1"
135
+ ],
136
+ [
137
+ "Uvn6LCg7dVU",
138
+ "vWbkYPRmKyS",
139
+ "213.7"
140
+ ],
141
+ [
142
+ "Uvn6LCg7dVU",
143
+ "dGheVylzol6",
144
+ "126.5"
145
+ ],
146
+ [
147
+ "Uvn6LCg7dVU",
148
+ "zFDYIgyGmXG",
149
+ "206.4"
150
+ ],
151
+ [
152
+ "Uvn6LCg7dVU",
153
+ "BGGmAwx33dj",
154
+ "120.9"
155
+ ],
156
+ [
157
+ "Uvn6LCg7dVU",
158
+ "YmmeuGbqOwR",
159
+ "203.1"
160
+ ],
161
+ [
162
+ "Uvn6LCg7dVU",
163
+ "daJPPxtIrQn",
164
+ "89.3"
165
+ ],
166
+ [
167
+ "Uvn6LCg7dVU",
168
+ "U6Kr7Gtpidn",
169
+ "104.4"
170
+ ],
171
+ [
172
+ "Uvn6LCg7dVU",
173
+ "JdhagCUEMbj",
174
+ "187.1"
175
+ ],
176
+ [
177
+ "Uvn6LCg7dVU",
178
+ "kU8vhUkAGaT",
179
+ "96.1"
180
+ ],
181
+ [
182
+ "Uvn6LCg7dVU",
183
+ "I4jWcnFmgEC",
184
+ "147.9"
185
+ ],
186
+ [
187
+ "Uvn6LCg7dVU",
188
+ "KctpIIucige",
189
+ "91.1"
190
+ ],
191
+ [
192
+ "Uvn6LCg7dVU",
193
+ "sxRd2XOzFbz",
194
+ "203.2"
195
+ ],
196
+ [
197
+ "Uvn6LCg7dVU",
198
+ "npWGUj37qDe",
199
+ "95.7"
200
+ ],
201
+ [
202
+ "Uvn6LCg7dVU",
203
+ "ARZ4y5i4reU",
204
+ "84.3"
205
+ ]
206
+ ],
207
+ "height": 15,
208
+ "width": 3,
209
+ "headerWidth": 3
210
+ }
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useParentSize = void 0;
7
+ var _react = require("react");
8
+ var _resizeObserverPolyfill = _interopRequireDefault(require("resize-observer-polyfill"));
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+ const initialState = {
11
+ width: 0,
12
+ height: 0
13
+ };
14
+ const useParentSize = function (elementRef, renderCounter) {
15
+ let initialSize = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : initialState;
16
+ const [size, setSize] = (0, _react.useState)({
17
+ width: initialSize.width || 0,
18
+ height: initialSize.height || 0
19
+ });
20
+ (0, _react.useEffect)(() => {
21
+ const el = elementRef.current && elementRef.current.parentElement;
22
+ if (!el) {
23
+ return;
24
+ }
25
+ const onResize = () => {
26
+ setSize({
27
+ width: el.clientWidth,
28
+ height: el.clientHeight
29
+ });
30
+ };
31
+ onResize();
32
+ if (renderCounter) {
33
+ setSize(initialState);
34
+ }
35
+ const observer = new _resizeObserverPolyfill.default(onResize);
36
+ observer.observe(el);
37
+ return () => observer.disconnect();
38
+ }, [elementRef, renderCounter]);
39
+ return size;
40
+ };
41
+ exports.useParentSize = useParentSize;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useScrollPosition = void 0;
7
+ var _debounce = _interopRequireDefault(require("lodash/debounce"));
8
+ var _react = require("react");
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+ const useScrollPosition = function (containerRef) {
11
+ let debounceWait = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 10;
12
+ const [scrollPosition, setScrollPosition] = (0, _react.useState)({
13
+ x: 0,
14
+ y: 0
15
+ });
16
+ const onScroll = (0, _react.useCallback)((0, _debounce.default)(() => {
17
+ if (!containerRef.current) {
18
+ return;
19
+ }
20
+ const scroll = {
21
+ x: containerRef.current.scrollLeft,
22
+ y: containerRef.current.scrollTop
23
+ };
24
+ setScrollPosition(scroll);
25
+ }, debounceWait), [containerRef, debounceWait]);
26
+ (0, _react.useEffect)(() => {
27
+ const currentRef = containerRef.current;
28
+ if (!currentRef) {
29
+ return;
30
+ }
31
+ currentRef.addEventListener('scroll', onScroll);
32
+ return () => {
33
+ currentRef.removeEventListener('scroll', onScroll);
34
+ };
35
+ }, [containerRef, onScroll]);
36
+ return scrollPosition;
37
+ };
38
+ exports.useScrollPosition = useScrollPosition;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useSortableColumns = void 0;
7
+ var _react = require("react");
8
+ var _pivotTable = require("../constants/pivotTable");
9
+ const useSortableColumns = engine => {
10
+ const [sortBy, setSortBy] = (0, _react.useState)(null);
11
+ const onSortByColumn = column => {
12
+ let order = _pivotTable.SORT_ORDER_ASCENDING;
13
+ if (sortBy && sortBy.column === column) {
14
+ if (sortBy.order === _pivotTable.SORT_ORDER_ASCENDING) {
15
+ order = _pivotTable.SORT_ORDER_DESCENDING;
16
+ } else if (sortBy.order === _pivotTable.SORT_ORDER_DESCENDING) {
17
+ engine.clearSort();
18
+ setSortBy(null);
19
+ return;
20
+ }
21
+ }
22
+ engine.sort(column, order);
23
+ setSortBy({
24
+ column,
25
+ order
26
+ }); // Force a re-render
27
+ };
28
+
29
+ return {
30
+ sortBy,
31
+ onSortByColumn
32
+ };
33
+ };
34
+ exports.useSortableColumns = useSortableColumns;