@dhis2/analytics 21.0.0-alpha.1 → 21.0.0

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 (212) hide show
  1. package/CHANGELOG.md +2775 -0
  2. package/build/cjs/__demo__/Filter.stories.js +2 -2
  3. package/build/cjs/__demo__/FixedPeriodSelect.stories.js +2 -2
  4. package/build/cjs/__demo__/OpenFileDialog.stories.js +1 -1
  5. package/build/cjs/__demo__/OrgUnitDimension.stories.js +17 -8
  6. package/build/cjs/__demo__/PivotTable.stories.js +2 -2
  7. package/build/cjs/api/analytics/AnalyticsBase.js +1 -1
  8. package/build/cjs/api/analytics/AnalyticsRequest.js +1 -1
  9. package/build/cjs/api/analytics/AnalyticsRequestBase.js +3 -3
  10. package/build/cjs/api/analytics/AnalyticsRequestPropertiesMixin.js +7 -7
  11. package/build/cjs/api/analytics/AnalyticsResponse.js +2 -2
  12. package/build/cjs/api/analytics/__tests__/AnalyticsAggregate.spec.js +1 -11
  13. package/build/cjs/api/analytics/__tests__/AnalyticsRequest.spec.js +9 -9
  14. package/build/cjs/api/analytics/__tests__/AnalyticsRequestBase.spec.js +4 -4
  15. package/build/cjs/api/analytics/utils.js +1 -1
  16. package/build/cjs/api/dimensions.js +37 -37
  17. package/build/cjs/api/organisationUnits.js +5 -5
  18. package/build/cjs/components/AboutAOUnit/AboutAOUnit.js +226 -0
  19. package/build/cjs/components/AboutAOUnit/styles/AboutAOUnit.style.js +13 -0
  20. package/build/cjs/components/DataDimension/DataTypesSelector.js +3 -3
  21. package/build/cjs/components/DataDimension/DetailSelector.js +2 -2
  22. package/build/cjs/components/DataDimension/GroupSelector.js +9 -9
  23. package/build/cjs/components/DataDimension/ItemSelector.js +19 -19
  24. package/build/cjs/components/DataDimension/MetricSelector.js +3 -3
  25. package/build/cjs/components/DataDimension/styles/DataTypesSelector.style.js +1 -1
  26. package/build/cjs/components/DataDimension/styles/DetailSelector.style.js +1 -1
  27. package/build/cjs/components/DataDimension/styles/GroupSelector.style.js +1 -1
  28. package/build/cjs/components/DataDimension/styles/MetricSelector.style.js +1 -1
  29. package/build/cjs/components/DimensionMenu.js +10 -10
  30. package/build/cjs/components/DimensionsPanel/DimensionsPanel.js +2 -2
  31. package/build/cjs/components/DimensionsPanel/List/DimensionItem.js +5 -5
  32. package/build/cjs/components/DimensionsPanel/List/DimensionLabel.js +2 -2
  33. package/build/cjs/components/DimensionsPanel/List/DimensionList.js +10 -10
  34. package/build/cjs/components/DimensionsPanel/List/styles/DimensionList.style.js +1 -1
  35. package/build/cjs/components/DimensionsPanel/styles/DimensionsPanel.style.js +1 -1
  36. package/build/cjs/components/DynamicDimension/DynamicDimension.js +4 -4
  37. package/build/cjs/components/DynamicDimension/ItemSelector.js +8 -8
  38. package/build/cjs/components/DynamicDimension/styles/DynamicDimension.style.js +1 -1
  39. package/build/cjs/components/FileMenu/DeleteDialog.js +4 -4
  40. package/build/cjs/components/FileMenu/FileMenu.js +7 -7
  41. package/build/cjs/components/FileMenu/FileMenu.styles.js +1 -1
  42. package/build/cjs/components/FileMenu/GetLinkDialog.js +3 -3
  43. package/build/cjs/components/FileMenu/RenameDialog.js +4 -4
  44. package/build/cjs/components/FileMenu/SaveAsDialog.js +4 -4
  45. package/build/cjs/components/FileMenu/__tests__/DeleteDialog.spec.js +1 -1
  46. package/build/cjs/components/FileMenu/__tests__/RenameDialog.spec.js +1 -1
  47. package/build/cjs/components/FileMenu/__tests__/SaveAsDialog.spec.js +1 -1
  48. package/build/cjs/components/FileMenu/utils.js +3 -3
  49. package/build/cjs/components/Filter/Filter.js +1 -1
  50. package/build/cjs/components/Filter/styles/Filter.style.js +1 -1
  51. package/build/cjs/components/LegendKey/LegendKey.js +9 -9
  52. package/build/cjs/components/LegendKey/styles/LegendKey.style.js +1 -1
  53. package/build/cjs/components/OpenFileDialog/CustomSelectOption.js +2 -2
  54. package/build/cjs/components/OpenFileDialog/OpenFileDialog.js +21 -21
  55. package/build/cjs/components/OpenFileDialog/OpenFileDialog.styles.js +1 -1
  56. package/build/cjs/components/OpenFileDialog/styles/CustomSelectOption.style.js +1 -1
  57. package/build/cjs/components/Options/VisualizationOptions.js +2 -2
  58. package/build/cjs/components/Options/styles/VisualizationOptions.style.js +10 -10
  59. package/build/cjs/components/OrgUnitDimension/OrgUnitDimension.js +90 -20
  60. package/build/cjs/components/OrgUnitDimension/styles/OrgUnitDimension.style.js +2 -2
  61. package/build/cjs/components/PeriodDimension/FixedPeriodFilter.js +5 -5
  62. package/build/cjs/components/PeriodDimension/FixedPeriodSelect.js +6 -6
  63. package/build/cjs/components/PeriodDimension/PeriodTransfer.js +11 -11
  64. package/build/cjs/components/PeriodDimension/RelativePeriodFilter.js +2 -2
  65. package/build/cjs/components/PeriodDimension/styles/FixedPeriodSelect.style.js +1 -1
  66. package/build/cjs/components/PeriodDimension/styles/PeriodFilter.style.js +1 -1
  67. package/build/cjs/components/PeriodDimension/utils/fixedPeriods.js +49 -49
  68. package/build/cjs/components/PivotTable/PivotTable.js +2 -2
  69. package/build/cjs/components/PivotTable/PivotTableCell.js +3 -3
  70. package/build/cjs/components/PivotTable/PivotTableColumnHeaderCell.js +2 -2
  71. package/build/cjs/components/PivotTable/PivotTableContainer.js +2 -2
  72. package/build/cjs/components/PivotTable/PivotTableEngineContext.js +2 -2
  73. package/build/cjs/components/PivotTable/PivotTableSortIcon.js +2 -2
  74. package/build/cjs/components/PivotTable/PivotTableTitleRow.js +4 -4
  75. package/build/cjs/components/PivotTable/PivotTableValueCell.js +2 -2
  76. package/build/cjs/components/PivotTable/styles/PivotTable.style.js +3 -3
  77. package/build/cjs/components/TransferOption.js +7 -7
  78. package/build/cjs/components/styles/DimensionSelector.style.js +1 -1
  79. package/build/cjs/components/styles/TransferOption.style.js +1 -1
  80. package/build/cjs/index.js +28 -2
  81. package/build/cjs/locales/en/translations.json +26 -0
  82. package/build/cjs/modules/axis.js +1 -1
  83. package/build/cjs/modules/layoutUiRules/rules.js +1 -1
  84. package/build/cjs/modules/list.js +25 -0
  85. package/build/cjs/modules/ouIdHelper/index.js +2 -2
  86. package/build/cjs/modules/pivotTable/PivotTableEngine.js +3 -3
  87. package/build/cjs/modules/pivotTable/measureText.js +1 -1
  88. package/build/cjs/modules/visTypes.js +1 -1
  89. package/build/cjs/visualizations/config/adapters/dhis_highcharts/addTrendLines.js +1 -1
  90. package/build/cjs/visualizations/config/adapters/dhis_highcharts/axis.js +2 -2
  91. package/build/cjs/visualizations/config/adapters/dhis_highcharts/getAxisTitle.js +1 -1
  92. package/build/cjs/visualizations/config/adapters/dhis_highcharts/index.js +2 -2
  93. package/build/cjs/visualizations/config/adapters/dhis_highcharts/legend.js +8 -19
  94. package/build/cjs/visualizations/config/adapters/dhis_highcharts/legendSet.js +1 -1
  95. package/build/cjs/visualizations/config/adapters/dhis_highcharts/plotOptions.js +1 -1
  96. package/build/cjs/visualizations/config/adapters/dhis_highcharts/subtitle/index.js +1 -1
  97. package/build/cjs/visualizations/config/adapters/dhis_highcharts/title/index.js +1 -1
  98. package/build/cjs/visualizations/config/adapters/dhis_highcharts/title/scatter.js +1 -1
  99. package/build/cjs/visualizations/config/adapters/dhis_highcharts/xAxis/index.js +1 -1
  100. package/build/cjs/visualizations/config/adapters/dhis_highcharts/yAxis/gauge.js +3 -3
  101. package/build/cjs/visualizations/config/adapters/dhis_highcharts/yAxis/index.js +2 -2
  102. package/build/cjs/visualizations/config/generators/dhis/singleValue.js +5 -5
  103. package/build/cjs/visualizations/config/index.js +3 -3
  104. package/build/cjs/visualizations/store/adapters/dhis_dhis/index.js +1 -1
  105. package/build/cjs/visualizations/store/adapters/dhis_highcharts/index.js +1 -1
  106. package/build/cjs/visualizations/store/adapters/dhis_highcharts/twoCategory.js +1 -1
  107. package/build/cjs/visualizations/store/index.js +2 -2
  108. package/build/cjs/visualizations/util/__tests__/getFilterText.spec.js +1 -1
  109. package/build/cjs/visualizations/util/axisId.js +1 -1
  110. package/build/cjs/visualizations/util/getFilterText.js +4 -12
  111. package/build/es/__demo__/OpenFileDialog.stories.js +1 -1
  112. package/build/es/__demo__/OrgUnitDimension.stories.js +15 -6
  113. package/build/es/api/analytics/AnalyticsBase.js +1 -1
  114. package/build/es/api/analytics/AnalyticsRequest.js +1 -1
  115. package/build/es/api/analytics/AnalyticsRequestBase.js +3 -3
  116. package/build/es/api/analytics/AnalyticsRequestPropertiesMixin.js +7 -7
  117. package/build/es/api/analytics/AnalyticsResponse.js +2 -2
  118. package/build/es/api/analytics/__tests__/AnalyticsAggregate.spec.js +1 -11
  119. package/build/es/api/analytics/__tests__/AnalyticsRequest.spec.js +9 -9
  120. package/build/es/api/analytics/__tests__/AnalyticsRequestBase.spec.js +4 -4
  121. package/build/es/api/analytics/utils.js +1 -1
  122. package/build/es/api/dimensions.js +39 -39
  123. package/build/es/api/organisationUnits.js +5 -5
  124. package/build/es/components/AboutAOUnit/AboutAOUnit.js +203 -0
  125. package/build/es/components/AboutAOUnit/styles/AboutAOUnit.style.js +4 -0
  126. package/build/es/components/DataDimension/DataTypesSelector.js +3 -3
  127. package/build/es/components/DataDimension/DetailSelector.js +2 -2
  128. package/build/es/components/DataDimension/GroupSelector.js +7 -7
  129. package/build/es/components/DataDimension/ItemSelector.js +17 -17
  130. package/build/es/components/DataDimension/MetricSelector.js +3 -3
  131. package/build/es/components/DataDimension/styles/DataTypesSelector.style.js +1 -1
  132. package/build/es/components/DataDimension/styles/DetailSelector.style.js +1 -1
  133. package/build/es/components/DataDimension/styles/GroupSelector.style.js +1 -1
  134. package/build/es/components/DataDimension/styles/MetricSelector.style.js +1 -1
  135. package/build/es/components/DimensionMenu.js +10 -10
  136. package/build/es/components/DimensionsPanel/List/DimensionItem.js +3 -3
  137. package/build/es/components/DimensionsPanel/List/DimensionList.js +8 -8
  138. package/build/es/components/DimensionsPanel/List/styles/DimensionList.style.js +1 -1
  139. package/build/es/components/DimensionsPanel/styles/DimensionsPanel.style.js +1 -1
  140. package/build/es/components/DynamicDimension/DynamicDimension.js +4 -4
  141. package/build/es/components/DynamicDimension/ItemSelector.js +6 -6
  142. package/build/es/components/DynamicDimension/styles/DynamicDimension.style.js +1 -1
  143. package/build/es/components/FileMenu/DeleteDialog.js +1 -1
  144. package/build/es/components/FileMenu/FileMenu.js +4 -4
  145. package/build/es/components/FileMenu/FileMenu.styles.js +1 -1
  146. package/build/es/components/FileMenu/GetLinkDialog.js +2 -2
  147. package/build/es/components/FileMenu/RenameDialog.js +1 -1
  148. package/build/es/components/FileMenu/SaveAsDialog.js +1 -1
  149. package/build/es/components/FileMenu/__tests__/DeleteDialog.spec.js +1 -1
  150. package/build/es/components/FileMenu/__tests__/RenameDialog.spec.js +1 -1
  151. package/build/es/components/FileMenu/__tests__/SaveAsDialog.spec.js +1 -1
  152. package/build/es/components/FileMenu/utils.js +3 -3
  153. package/build/es/components/Filter/Filter.js +1 -1
  154. package/build/es/components/Filter/styles/Filter.style.js +1 -1
  155. package/build/es/components/LegendKey/LegendKey.js +9 -9
  156. package/build/es/components/LegendKey/styles/LegendKey.style.js +1 -1
  157. package/build/es/components/OpenFileDialog/CustomSelectOption.js +2 -2
  158. package/build/es/components/OpenFileDialog/OpenFileDialog.js +19 -19
  159. package/build/es/components/OpenFileDialog/OpenFileDialog.styles.js +1 -1
  160. package/build/es/components/OpenFileDialog/styles/CustomSelectOption.style.js +1 -1
  161. package/build/es/components/Options/styles/VisualizationOptions.style.js +10 -10
  162. package/build/es/components/OrgUnitDimension/OrgUnitDimension.js +88 -19
  163. package/build/es/components/OrgUnitDimension/styles/OrgUnitDimension.style.js +2 -2
  164. package/build/es/components/PeriodDimension/FixedPeriodFilter.js +5 -5
  165. package/build/es/components/PeriodDimension/FixedPeriodSelect.js +8 -8
  166. package/build/es/components/PeriodDimension/PeriodTransfer.js +9 -9
  167. package/build/es/components/PeriodDimension/RelativePeriodFilter.js +2 -2
  168. package/build/es/components/PeriodDimension/styles/FixedPeriodSelect.style.js +1 -1
  169. package/build/es/components/PeriodDimension/styles/PeriodFilter.style.js +1 -1
  170. package/build/es/components/PeriodDimension/utils/fixedPeriods.js +49 -49
  171. package/build/es/components/PivotTable/PivotTableCell.js +3 -3
  172. package/build/es/components/PivotTable/PivotTableColumnHeaderCell.js +2 -2
  173. package/build/es/components/PivotTable/PivotTableContainer.js +2 -2
  174. package/build/es/components/PivotTable/PivotTableSortIcon.js +2 -2
  175. package/build/es/components/PivotTable/PivotTableTitleRow.js +2 -2
  176. package/build/es/components/PivotTable/styles/PivotTable.style.js +3 -3
  177. package/build/es/components/TransferOption.js +17 -17
  178. package/build/es/components/styles/DimensionSelector.style.js +1 -1
  179. package/build/es/components/styles/TransferOption.style.js +1 -1
  180. package/build/es/index.js +3 -2
  181. package/build/es/locales/en/translations.json +26 -0
  182. package/build/es/modules/axis.js +1 -1
  183. package/build/es/modules/layoutUiRules/rules.js +1 -1
  184. package/build/es/modules/list.js +13 -0
  185. package/build/es/modules/ouIdHelper/index.js +2 -2
  186. package/build/es/modules/pivotTable/PivotTableEngine.js +3 -3
  187. package/build/es/modules/pivotTable/measureText.js +1 -1
  188. package/build/es/modules/visTypes.js +1 -1
  189. package/build/es/visualizations/config/adapters/dhis_highcharts/addTrendLines.js +1 -1
  190. package/build/es/visualizations/config/adapters/dhis_highcharts/axis.js +2 -2
  191. package/build/es/visualizations/config/adapters/dhis_highcharts/getAxisTitle.js +1 -1
  192. package/build/es/visualizations/config/adapters/dhis_highcharts/legend.js +8 -19
  193. package/build/es/visualizations/config/adapters/dhis_highcharts/legendSet.js +1 -1
  194. package/build/es/visualizations/config/adapters/dhis_highcharts/plotOptions.js +1 -1
  195. package/build/es/visualizations/config/adapters/dhis_highcharts/subtitle/index.js +1 -1
  196. package/build/es/visualizations/config/adapters/dhis_highcharts/title/index.js +1 -1
  197. package/build/es/visualizations/config/adapters/dhis_highcharts/title/scatter.js +1 -1
  198. package/build/es/visualizations/config/adapters/dhis_highcharts/xAxis/index.js +1 -1
  199. package/build/es/visualizations/config/adapters/dhis_highcharts/yAxis/gauge.js +3 -3
  200. package/build/es/visualizations/config/adapters/dhis_highcharts/yAxis/index.js +2 -2
  201. package/build/es/visualizations/config/generators/dhis/singleValue.js +5 -5
  202. package/build/es/visualizations/config/index.js +3 -3
  203. package/build/es/visualizations/store/adapters/dhis_dhis/index.js +1 -1
  204. package/build/es/visualizations/store/adapters/dhis_highcharts/index.js +1 -1
  205. package/build/es/visualizations/store/adapters/dhis_highcharts/twoCategory.js +1 -1
  206. package/build/es/visualizations/store/index.js +2 -2
  207. package/build/es/visualizations/util/__tests__/getFilterText.spec.js +1 -1
  208. package/build/es/visualizations/util/axisId.js +1 -1
  209. package/build/es/visualizations/util/getFilterText.js +5 -13
  210. package/package.json +4 -4
  211. package/build/cjs/components/OrgUnitDimension/OrgUnitDimensionOld.js +0 -244
  212. package/build/es/components/OrgUnitDimension/OrgUnitDimensionOld.js +0 -220
@@ -33,9 +33,9 @@ var _utils = require("./utils");
33
33
 
34
34
  var _VisTypeFilter = require("./VisTypeFilter");
35
35
 
36
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
36
+ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
37
37
 
38
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
38
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
39
39
 
40
40
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
41
41
 
@@ -50,14 +50,14 @@ const getQuery = type => ({
50
50
  }) => {
51
51
  const queryParams = {
52
52
  filter: filters,
53
- fields: `id,type,displayName,title,displayDescription,created,lastUpdated,user,access,href`,
53
+ fields: "id,type,displayName,title,displayDescription,created,lastUpdated,user,access,href",
54
54
  paging: true,
55
55
  pageSize: 8,
56
56
  page
57
57
  };
58
58
 
59
59
  if (sortDirection !== 'default') {
60
- queryParams.order = `${sortField}:${sortDirection}`;
60
+ queryParams.order = "".concat(sortField, ":").concat(sortDirection);
61
61
  }
62
62
 
63
63
  return queryParams;
@@ -96,11 +96,11 @@ const OpenFileDialog = ({
96
96
 
97
97
  switch (filters.createdBy) {
98
98
  case _CreatedByFilter.CREATED_BY_ALL_BUT_CURRENT_USER:
99
- queryFilters.push(`user.id:!eq:${currentUser.id}`);
99
+ queryFilters.push("user.id:!eq:".concat(currentUser.id));
100
100
  break;
101
101
 
102
102
  case _CreatedByFilter.CREATED_BY_CURRENT_USER:
103
- queryFilters.push(`user.id:eq:${currentUser.id}`);
103
+ queryFilters.push("user.id:eq:".concat(currentUser.id));
104
104
  break;
105
105
 
106
106
  case _CreatedByFilter.CREATED_BY_ALL:
@@ -117,12 +117,12 @@ const OpenFileDialog = ({
117
117
  break;
118
118
 
119
119
  default:
120
- queryFilters.push(`type:eq:${filters.visType}`);
120
+ queryFilters.push("type:eq:".concat(filters.visType));
121
121
  break;
122
122
  }
123
123
 
124
124
  if (filters.searchTerm) {
125
- queryFilters.push(`name:ilike:${filters.searchTerm}`);
125
+ queryFilters.push("name:ilike:".concat(filters.searchTerm));
126
126
  } // for ER 2.38 only show line list ER types
127
127
 
128
128
 
@@ -200,11 +200,11 @@ const OpenFileDialog = ({
200
200
  }, /*#__PURE__*/_react.default.createElement(_ui.ModalTitle, null, (0, _utils.getTranslatedString)(type, 'modalTitle')), /*#__PURE__*/_react.default.createElement(_ui.ModalContent, null, /*#__PURE__*/_react.default.createElement(_ui.Box, {
201
201
  minHeight: "496px"
202
202
  }, /*#__PURE__*/_react.default.createElement("div", {
203
- className: `jsx-${_OpenFileDialog.styles.__hash}` + " " + "search-and-filter-bar"
203
+ className: "jsx-".concat(_OpenFileDialog.styles.__hash) + " " + "search-and-filter-bar"
204
204
  }, /*#__PURE__*/_react.default.createElement("div", {
205
- className: `jsx-${_OpenFileDialog.styles.__hash}` + " " + "search-field-container"
205
+ className: "jsx-".concat(_OpenFileDialog.styles.__hash) + " " + "search-field-container"
206
206
  }, /*#__PURE__*/_react.default.createElement(_NameFilter.NameFilter, {
207
- dataTest: `${cypressSelector}-name-filter`,
207
+ dataTest: "".concat(cypressSelector, "-name-filter"),
208
208
  value: nameFilterValue,
209
209
  onChange: value => {
210
210
  setNameFilterValue(value);
@@ -214,14 +214,14 @@ const OpenFileDialog = ({
214
214
  }), 200));
215
215
  }
216
216
  })), type === _utils.AO_TYPE_VISUALIZATION && /*#__PURE__*/_react.default.createElement("div", {
217
- className: `jsx-${_OpenFileDialog.styles.__hash}` + " " + "type-field-container"
217
+ className: "jsx-".concat(_OpenFileDialog.styles.__hash) + " " + "type-field-container"
218
218
  }, /*#__PURE__*/_react.default.createElement(_VisTypeFilter.VisTypeFilter, {
219
219
  selected: filters.visType,
220
220
  onChange: value => setFilters({ ...filters,
221
221
  visType: value
222
222
  })
223
223
  })), /*#__PURE__*/_react.default.createElement("div", {
224
- className: `jsx-${_OpenFileDialog.styles.__hash}` + " " + "created-by-field-container"
224
+ className: "jsx-".concat(_OpenFileDialog.styles.__hash) + " " + "created-by-field-container"
225
225
  }, /*#__PURE__*/_react.default.createElement(_CreatedByFilter.CreatedByFilter, {
226
226
  selected: filters.createdBy,
227
227
  onChange: value => setFilters({ ...filters,
@@ -259,25 +259,25 @@ const OpenFileDialog = ({
259
259
  }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
260
260
  height: "384px"
261
261
  }, /*#__PURE__*/_react.default.createElement("div", {
262
- className: `jsx-${_OpenFileDialog.styles.__hash}` + " " + "info-cell"
262
+ className: "jsx-".concat(_OpenFileDialog.styles.__hash) + " " + "info-cell"
263
263
  }, /*#__PURE__*/_react.default.createElement(_ui.CircularLoader, {
264
264
  small: true
265
265
  }), /*#__PURE__*/_react.default.createElement("span", {
266
- className: `jsx-${_OpenFileDialog.styles.__hash}` + " " + "info-text"
266
+ className: "jsx-".concat(_OpenFileDialog.styles.__hash) + " " + "info-text"
267
267
  }, (0, _utils.getTranslatedString)(type, 'loadingText')))))), !loading && !(data !== null && data !== void 0 && data.files[_utils.AOTypeMap[type].apiEndpoint].length) > 0 && /*#__PURE__*/_react.default.createElement(_ui.DataTableRow, null, /*#__PURE__*/_react.default.createElement(_ui.DataTableCell, {
268
268
  large: true
269
269
  }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
270
270
  minHeight: "384px"
271
271
  }, /*#__PURE__*/_react.default.createElement("div", {
272
- className: `jsx-${_OpenFileDialog.styles.__hash}` + " " + "info-cell"
272
+ className: "jsx-".concat(_OpenFileDialog.styles.__hash) + " " + "info-cell"
273
273
  }, /*#__PURE__*/_react.default.createElement("div", {
274
- className: `jsx-${_OpenFileDialog.styles.__hash}` + " " + "info-container"
274
+ className: "jsx-".concat(_OpenFileDialog.styles.__hash) + " " + "info-container"
275
275
  }, !(0, _isEqual.default)(filters, defaultFilters) ? /*#__PURE__*/_react.default.createElement("span", {
276
- className: `jsx-${_OpenFileDialog.styles.__hash}` + " " + "info-text"
276
+ className: "jsx-".concat(_OpenFileDialog.styles.__hash) + " " + "info-text"
277
277
  }, (0, _utils.getTranslatedString)(type, 'noFilteredDataText')) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
278
- className: `jsx-${_OpenFileDialog.styles.__hash}` + " " + "info-text"
278
+ className: "jsx-".concat(_OpenFileDialog.styles.__hash) + " " + "info-text"
279
279
  }, (0, _utils.getTranslatedString)(type, 'noDataText')), /*#__PURE__*/_react.default.createElement("div", {
280
- className: `jsx-${_OpenFileDialog.styles.__hash}` + " " + "info-button"
280
+ className: "jsx-".concat(_OpenFileDialog.styles.__hash) + " " + "info-button"
281
281
  }, /*#__PURE__*/_react.default.createElement(_ui.Button, {
282
282
  onClick: () => {
283
283
  onNew();
@@ -290,7 +290,7 @@ const OpenFileDialog = ({
290
290
  }))), (data === null || data === void 0 ? void 0 : data.files[_utils.AOTypeMap[type].apiEndpoint].length) > 0 && /*#__PURE__*/_react.default.createElement(_ui.DataTableToolbar, {
291
291
  position: "bottom"
292
292
  }, /*#__PURE__*/_react.default.createElement("div", {
293
- className: `jsx-${_OpenFileDialog.styles.__hash}` + " " + "pagination-controls"
293
+ className: "jsx-".concat(_OpenFileDialog.styles.__hash) + " " + "pagination-controls"
294
294
  }, /*#__PURE__*/_react.default.createElement(_PaginationControls.PaginationControls, {
295
295
  page: page,
296
296
  pager: data.files.pager,
@@ -7,6 +7,6 @@ exports.styles = void 0;
7
7
 
8
8
  var _ui = require("@dhis2/ui");
9
9
 
10
- const styles = [".data-table-body.jsx-2890213967{min-height:465px;}", ".pagination-controls.jsx-2890213967{width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;}", `.search-and-filter-bar.jsx-2890213967{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:${_ui.spacers.dp8};}`, ".search-field-container.jsx-2890213967{min-width:220px;}", ".type-field-container.jsx-2890213967,.created-by-field-container.jsx-2890213967{min-width:180px;}", `.info-cell.jsx-2890213967{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;margin:${_ui.spacers.dp32} 0;}`, ".info-container.jsx-2890213967{max-width:400px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}", `.info-text.jsx-2890213967{text-align:center;font-size:14px;line-height:19px;color:${_ui.colors.grey700};}`, `.info-button.jsx-2890213967{margin-top:${_ui.spacers.dp12};}`];
10
+ const styles = [".data-table-body.jsx-2890213967{min-height:465px;}", ".pagination-controls.jsx-2890213967{width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;}", ".search-and-filter-bar.jsx-2890213967{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:".concat(_ui.spacers.dp8, ";}"), ".search-field-container.jsx-2890213967{min-width:220px;}", ".type-field-container.jsx-2890213967,.created-by-field-container.jsx-2890213967{min-width:180px;}", ".info-cell.jsx-2890213967{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;margin:".concat(_ui.spacers.dp32, " 0;}"), ".info-container.jsx-2890213967{max-width:400px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}", ".info-text.jsx-2890213967{text-align:center;font-size:14px;line-height:19px;color:".concat(_ui.colors.grey700, ";}"), ".info-button.jsx-2890213967{margin-top:".concat(_ui.spacers.dp12, ";}")];
11
11
  exports.styles = styles;
12
12
  styles.__hash = "2890213967";
@@ -7,7 +7,7 @@ exports.default = void 0;
7
7
 
8
8
  var _ui = require("@dhis2/ui");
9
9
 
10
- const _defaultExport = [`div.jsx-1267200705{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;cursor:pointer;font-size:14px;-webkit-text-decoration:none;text-decoration:none;color:${_ui.colors.grey900};padding:${_ui.spacers.dp8} ${_ui.spacers.dp12};}`, `div.jsx-1267200705:hover{background-color:${_ui.colors.grey200};}`, `div.jsx-1267200705:active,div.active.jsx-1267200705{background-color:${_ui.colors.teal700};color:${_ui.colors.white};cursor:auto;}`, `div.disabled.jsx-1267200705{color:${_ui.colors.grey500};cursor:not-allowed;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}`, "div.disabled.jsx-1267200705:hover{background-color:initial;}", `span.label.jsx-1267200705{margin-left:${_ui.spacers.dp8};}`];
10
+ const _defaultExport = ["div.jsx-1267200705{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;cursor:pointer;font-size:14px;-webkit-text-decoration:none;text-decoration:none;color:".concat(_ui.colors.grey900, ";padding:").concat(_ui.spacers.dp8, " ").concat(_ui.spacers.dp12, ";}"), "div.jsx-1267200705:hover{background-color:".concat(_ui.colors.grey200, ";}"), "div.jsx-1267200705:active,div.active.jsx-1267200705{background-color:".concat(_ui.colors.teal700, ";color:").concat(_ui.colors.white, ";cursor:auto;}"), "div.disabled.jsx-1267200705{color:".concat(_ui.colors.grey500, ";cursor:not-allowed;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}"), "div.disabled.jsx-1267200705:hover{background-color:initial;}", "span.label.jsx-1267200705{margin-left:".concat(_ui.spacers.dp8, ";}")];
11
11
  _defaultExport.__hash = "1267200705";
12
12
  var _default = _defaultExport;
13
13
  exports.default = _default;
@@ -15,9 +15,9 @@ var _react = _interopRequireWildcard(require("react"));
15
15
 
16
16
  var _VisualizationOptionsStyle = require("./styles/VisualizationOptions.style.js");
17
17
 
18
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
18
+ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
19
19
 
20
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
20
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
21
 
22
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
23
 
@@ -23,21 +23,21 @@ exports.modalContent = modalContent;
23
23
  const tabBar = {
24
24
  styles: /*#__PURE__*/_react.default.createElement(_style.default, {
25
25
  id: "3103009923"
26
- }, [`div.jsx-3103009923{padding-right:${_ui.spacers.dp24};}`]),
26
+ }, ["div.jsx-3103009923{padding-right:".concat(_ui.spacers.dp24, ";}")]),
27
27
  className: "jsx-3103009923"
28
28
  };
29
29
  exports.tabBar = tabBar;
30
30
  const tabContent = {
31
31
  styles: /*#__PURE__*/_react.default.createElement(_style.default, {
32
32
  id: "2208787536"
33
- }, [`div.jsx-2208787536{overflow:auto;padding-right:${_ui.spacers.dp24};}`]),
33
+ }, ["div.jsx-2208787536{overflow:auto;padding-right:".concat(_ui.spacers.dp24, ";}")]),
34
34
  className: "jsx-2208787536"
35
35
  };
36
36
  exports.tabContent = tabContent;
37
37
  const tabSection = {
38
38
  styles: /*#__PURE__*/_react.default.createElement(_style.default, {
39
39
  id: "1427514941"
40
- }, [`div.jsx-1427514941{padding:${_ui.spacers.dp16} 0;}`, `div.jsx-1427514941:not(:last-child){border-bottom:1px solid ${_ui.colors.grey300};margin-bottom:${_ui.spacers.dp8};}`]),
40
+ }, ["div.jsx-1427514941{padding:".concat(_ui.spacers.dp16, " 0;}"), "div.jsx-1427514941:not(:last-child){border-bottom:1px solid ".concat(_ui.colors.grey300, ";margin-bottom:").concat(_ui.spacers.dp8, ";}")]),
41
41
  className: "jsx-1427514941"
42
42
  };
43
43
  exports.tabSection = tabSection;
@@ -51,42 +51,42 @@ exports.tabSectionContent = tabSectionContent;
51
51
  const tabSectionTitle = {
52
52
  styles: /*#__PURE__*/_react.default.createElement(_style.default, {
53
53
  id: "3115295887"
54
- }, [`span.jsx-3115295887{display:inline-block;padding-bottom:${_ui.spacers.dp12};font-size:15px;color:${_ui.colors.grey900};font-weight:500;-webkit-letter-spacing:0.2px;-moz-letter-spacing:0.2px;-ms-letter-spacing:0.2px;letter-spacing:0.2px;}`]),
54
+ }, ["span.jsx-3115295887{display:inline-block;padding-bottom:".concat(_ui.spacers.dp12, ";font-size:15px;color:").concat(_ui.colors.grey900, ";font-weight:500;-webkit-letter-spacing:0.2px;-moz-letter-spacing:0.2px;-ms-letter-spacing:0.2px;letter-spacing:0.2px;}")]),
55
55
  className: "jsx-3115295887"
56
56
  };
57
57
  exports.tabSectionTitle = tabSectionTitle;
58
58
  const tabSectionTitleMargin = {
59
59
  styles: /*#__PURE__*/_react.default.createElement(_style.default, {
60
60
  id: "642558349"
61
- }, [`span.jsx-642558349{margin-top:${_ui.spacers.dp8};}`]),
61
+ }, ["span.jsx-642558349{margin-top:".concat(_ui.spacers.dp8, ";}")]),
62
62
  className: "jsx-642558349"
63
63
  };
64
64
  exports.tabSectionTitleMargin = tabSectionTitleMargin;
65
65
  const tabSectionOption = {
66
66
  styles: /*#__PURE__*/_react.default.createElement(_style.default, {
67
67
  id: "1665807213"
68
- }, [`div.jsx-1665807213:not(:last-child):not(.inline){padding-bottom:${_ui.spacers.dp16};}`]),
68
+ }, ["div.jsx-1665807213:not(:last-child):not(.inline){padding-bottom:".concat(_ui.spacers.dp16, ";}")]),
69
69
  className: "jsx-1665807213"
70
70
  };
71
71
  exports.tabSectionOption = tabSectionOption;
72
72
  const tabSectionOptionItem = {
73
73
  styles: /*#__PURE__*/_react.default.createElement(_style.default, {
74
74
  id: "2983019948"
75
- }, [`div.jsx-2983019948:not(:last-child){padding-bottom:${_ui.spacers.dp8};}`]),
75
+ }, ["div.jsx-2983019948:not(:last-child){padding-bottom:".concat(_ui.spacers.dp8, ";}")]),
76
76
  className: "jsx-2983019948"
77
77
  };
78
78
  exports.tabSectionOptionItem = tabSectionOptionItem;
79
79
  const tabSectionOptionText = {
80
80
  styles: /*#__PURE__*/_react.default.createElement(_style.default, {
81
81
  id: "3330936769"
82
- }, [`p.jsx-3330936769{margin:0;padding-bottom:${_ui.spacers.dp8};font-size:14px;line-height:19px;color:${_ui.colors.grey700};}`]),
82
+ }, ["p.jsx-3330936769{margin:0;padding-bottom:".concat(_ui.spacers.dp8, ";font-size:14px;line-height:19px;color:").concat(_ui.colors.grey700, ";}")]),
83
83
  className: "jsx-3330936769"
84
84
  };
85
85
  exports.tabSectionOptionText = tabSectionOptionText;
86
86
  const tabSectionOptionToggleable = {
87
87
  styles: /*#__PURE__*/_react.default.createElement(_style.default, {
88
88
  id: "684239008"
89
- }, [`div.jsx-684239008{margin:${_ui.spacers.dp4} 0 0 23px;}`]),
89
+ }, ["div.jsx-684239008{margin:".concat(_ui.spacers.dp4, " 0 0 23px;}")]),
90
90
  className: "jsx-684239008"
91
91
  };
92
92
  exports.tabSectionOptionToggleable = tabSectionOptionToggleable;
@@ -107,7 +107,7 @@ exports.tabSectionOptionComplexInline = tabSectionOptionComplexInline;
107
107
  const tabSectionOptionIcon = {
108
108
  styles: /*#__PURE__*/_react.default.createElement(_style.default, {
109
109
  id: "112181591"
110
- }, [`span.jsx-112181591{vertical-align:top;margin-right:${_ui.spacers.dp4};color:${_ui.colors.grey600};}`]),
110
+ }, ["span.jsx-112181591{vertical-align:top;margin-right:".concat(_ui.spacers.dp4, ";color:").concat(_ui.colors.grey600, ";}")]),
111
111
  className: "jsx-112181591"
112
112
  };
113
113
  exports.tabSectionOptionIcon = tabSectionOptionIcon;
@@ -21,22 +21,24 @@ var _organisationUnits = require("../../api/organisationUnits");
21
21
 
22
22
  var _index = _interopRequireDefault(require("../../locales/index.js"));
23
23
 
24
+ var _list = require("../../modules/list");
25
+
24
26
  var _ouIdHelper = require("../../modules/ouIdHelper");
25
27
 
26
28
  var _predefinedDimensions = require("../../modules/predefinedDimensions");
27
29
 
28
30
  var _OrgUnitDimension = _interopRequireDefault(require("./styles/OrgUnitDimension.style"));
29
31
 
30
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
32
+ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
31
33
 
32
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
34
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
33
35
 
34
36
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
35
37
 
36
38
  const DYNAMIC_ORG_UNITS = [_ouIdHelper.USER_ORG_UNIT, _ouIdHelper.USER_ORG_UNIT_CHILDREN, _ouIdHelper.USER_ORG_UNIT_GRANDCHILDREN];
37
39
 
38
40
  const OrgUnitDimension = ({
39
- root,
41
+ roots,
40
42
  selected,
41
43
  onSelect
42
44
  }) => {
@@ -54,7 +56,7 @@ const OrgUnitDimension = ({
54
56
  let result = [...selected];
55
57
 
56
58
  if (checked && DYNAMIC_ORG_UNITS.includes(id)) {
57
- result = [...result.filter(item => DYNAMIC_ORG_UNITS.includes(item.id)), {
59
+ result = [...result.filter(item => DYNAMIC_ORG_UNITS.includes(item.id) || _ouIdHelper.ouIdHelper.hasLevelPrefix(item.id) || _ouIdHelper.ouIdHelper.hasGroupPrefix(item.id)), {
58
60
  id,
59
61
  displayName
60
62
  }];
@@ -68,12 +70,17 @@ const OrgUnitDimension = ({
68
70
  result = [...result.filter(item => item.id !== id)];
69
71
  }
70
72
 
71
- return onSelect({
73
+ onSelect({
72
74
  dimensionId: _predefinedDimensions.DIMENSION_ID_ORGUNIT,
73
75
  items: result
74
76
  });
75
77
  };
76
78
 
79
+ const clearSelection = () => onSelect({
80
+ dimensionId: _predefinedDimensions.DIMENSION_ID_ORGUNIT,
81
+ items: []
82
+ });
83
+
77
84
  (0, _react.useEffect)(() => {
78
85
  const doFetchOuLevels = async () => {
79
86
  const result = await (0, _organisationUnits.apiFetchOrganisationUnitLevels)(dataEngine);
@@ -112,10 +119,59 @@ const OrgUnitDimension = ({
112
119
  });
113
120
  };
114
121
 
122
+ const getSummary = () => {
123
+ let summary;
124
+
125
+ if (selected.length) {
126
+ const numberOfOrgUnits = selected.filter(item => !DYNAMIC_ORG_UNITS.includes(item.id) && !_ouIdHelper.ouIdHelper.hasLevelPrefix(item.id) && !_ouIdHelper.ouIdHelper.hasGroupPrefix(item.id)).length;
127
+ const numberOfLevels = selected.filter(item => _ouIdHelper.ouIdHelper.hasLevelPrefix(item.id)).length;
128
+ const numberOfGroups = selected.filter(item => _ouIdHelper.ouIdHelper.hasGroupPrefix(item.id)).length;
129
+ const userOrgUnits = selected.filter(item => DYNAMIC_ORG_UNITS.includes(item.id));
130
+ const parts = [];
131
+
132
+ if (numberOfOrgUnits) {
133
+ parts.push(_index.default.t('{{count}} org units', {
134
+ count: numberOfOrgUnits,
135
+ defaultValue: '{{count}} org unit',
136
+ defaultValue_plural: '{{count}} org units'
137
+ }));
138
+ }
139
+
140
+ if (numberOfLevels) {
141
+ parts.push(_index.default.t('{{count}} levels', {
142
+ count: numberOfLevels,
143
+ defaultValue: '{{count}} level',
144
+ defaultValue_plural: '{{count}} levels'
145
+ }));
146
+ }
147
+
148
+ if (numberOfGroups) {
149
+ parts.push(_index.default.t('{{count}} groups', {
150
+ count: numberOfGroups,
151
+ defaultValue: '{{count}} group',
152
+ defaultValue_plural: '{{count}} groups'
153
+ }));
154
+ }
155
+
156
+ userOrgUnits.forEach(orgUnit => {
157
+ parts.push(orgUnit.name || orgUnit.displayName);
158
+ });
159
+ summary = _index.default.t('Selected: {{commaSeparatedListOfOrganisationUnits}}', {
160
+ keySeparator: '>',
161
+ nsSeparator: '|',
162
+ commaSeparatedListOfOrganisationUnits: (0, _list.formatList)(parts)
163
+ });
164
+ } else {
165
+ summary = _index.default.t('Nothing selected');
166
+ }
167
+
168
+ return summary;
169
+ };
170
+
115
171
  return /*#__PURE__*/_react.default.createElement("div", {
116
- className: `jsx-${_OrgUnitDimension.default.__hash}` + " " + "container"
172
+ className: "jsx-".concat(_OrgUnitDimension.default.__hash) + " " + "container"
117
173
  }, /*#__PURE__*/_react.default.createElement("div", {
118
- className: `jsx-${_OrgUnitDimension.default.__hash}` + " " + "userOrgUnitsWrapper"
174
+ className: "jsx-".concat(_OrgUnitDimension.default.__hash) + " " + "userOrgUnitsWrapper"
119
175
  }, /*#__PURE__*/_react.default.createElement(_ui.Checkbox, {
120
176
  label: _index.default.t('User organisation unit'),
121
177
  checked: selected.some(item => item.id === _ouIdHelper.USER_ORG_UNIT),
@@ -150,18 +206,17 @@ const OrgUnitDimension = ({
150
206
  }),
151
207
  dense: true
152
208
  })), /*#__PURE__*/_react.default.createElement("div", {
153
- className: `jsx-${_OrgUnitDimension.default.__hash}` + " " + ((0, _classnames.default)('orgUnitTreeWrapper', {
209
+ className: "jsx-".concat(_OrgUnitDimension.default.__hash) + " " + ((0, _classnames.default)('orgUnitTreeWrapper', {
154
210
  disabled: selected.some(item => DYNAMIC_ORG_UNITS.includes(item.id))
155
211
  }) || "")
156
212
  }, /*#__PURE__*/_react.default.createElement(_ui.OrganisationUnitTree, {
157
- roots: root,
158
- initiallyExpanded: [root, ...selected.filter(item => !DYNAMIC_ORG_UNITS.includes(item.id) && !_ouIdHelper.ouIdHelper.hasLevelPrefix(item.id) && !_ouIdHelper.ouIdHelper.hasGroupPrefix(item.id)).map(item => item.path)],
213
+ roots: roots,
214
+ initiallyExpanded: [...(roots.length === 1 ? ["/".concat(roots[0])] : []), ...selected.filter(item => !DYNAMIC_ORG_UNITS.includes(item.id) && !_ouIdHelper.ouIdHelper.hasLevelPrefix(item.id) && !_ouIdHelper.ouIdHelper.hasGroupPrefix(item.id)).map(item => item.path.substring(0, item.path.lastIndexOf('/'))).filter(path => path)],
159
215
  selected: selected.filter(item => !DYNAMIC_ORG_UNITS.includes(item.id) && !_ouIdHelper.ouIdHelper.hasLevelPrefix(item.id) && !_ouIdHelper.ouIdHelper.hasGroupPrefix(item.id)).map(item => item.path),
160
- onChange: onSelectItems
216
+ onChange: onSelectItems,
217
+ dataTest: 'org-unit-tree'
161
218
  })), /*#__PURE__*/_react.default.createElement("div", {
162
- className: `jsx-${_OrgUnitDimension.default.__hash}` + " " + ((0, _classnames.default)('selectsWrapper', {
163
- disabled: selected.some(item => DYNAMIC_ORG_UNITS.includes(item.id))
164
- }) || "")
219
+ className: "jsx-".concat(_OrgUnitDimension.default.__hash) + " " + "selectsWrapper"
165
220
  }, /*#__PURE__*/_react.default.createElement(_ui.MultiSelect, {
166
221
  selected: ouLevels.length ? selected.filter(item => _ouIdHelper.ouIdHelper.hasLevelPrefix(item.id)).map(item => _ouIdHelper.ouIdHelper.removePrefix(item.id)) : [],
167
222
  onChange: ({
@@ -169,11 +224,13 @@ const OrgUnitDimension = ({
169
224
  }) => onLevelChange(selected),
170
225
  placeholder: _index.default.t('Select a level'),
171
226
  loading: !ouLevels.length,
172
- dense: true
227
+ dense: true,
228
+ dataTest: 'org-unit-level-select'
173
229
  }, ouLevels.map(level => /*#__PURE__*/_react.default.createElement(_ui.MultiSelectOption, {
174
230
  key: level.id,
175
231
  value: level.id,
176
- label: level.displayName
232
+ label: level.displayName,
233
+ dataTest: "org-unit-level-select-option-".concat(level.id)
177
234
  }))), /*#__PURE__*/_react.default.createElement(_ui.MultiSelect, {
178
235
  selected: ouGroups.length ? selected.filter(item => _ouIdHelper.ouIdHelper.hasGroupPrefix(item.id)).map(item => _ouIdHelper.ouIdHelper.removePrefix(item.id)) : [],
179
236
  onChange: ({
@@ -181,18 +238,31 @@ const OrgUnitDimension = ({
181
238
  }) => onGroupChange(selected),
182
239
  placeholder: _index.default.t('Select a group'),
183
240
  loading: !ouGroups.length,
184
- dense: true
241
+ dense: true,
242
+ dataTest: 'org-unit-group-select'
185
243
  }, ouGroups.map(group => /*#__PURE__*/_react.default.createElement(_ui.MultiSelectOption, {
186
244
  key: group.id,
187
245
  value: group.id,
188
- label: group.displayName
189
- })))), /*#__PURE__*/_react.default.createElement(_style.default, {
246
+ label: group.displayName,
247
+ dataTest: "org-unit-group-select-option-".concat(group.id)
248
+ })))), /*#__PURE__*/_react.default.createElement("div", {
249
+ className: "jsx-".concat(_OrgUnitDimension.default.__hash) + " " + "summaryWrapper"
250
+ }, /*#__PURE__*/_react.default.createElement("span", {
251
+ className: "jsx-".concat(_OrgUnitDimension.default.__hash) + " " + "summaryText"
252
+ }, getSummary()), /*#__PURE__*/_react.default.createElement("div", {
253
+ className: "jsx-".concat(_OrgUnitDimension.default.__hash) + " " + "deselectButton"
254
+ }, /*#__PURE__*/_react.default.createElement(_ui.Button, {
255
+ secondary: true,
256
+ small: true,
257
+ onClick: clearSelection,
258
+ disabled: !selected.length
259
+ }, _index.default.t('Deselect all')))), /*#__PURE__*/_react.default.createElement(_style.default, {
190
260
  id: _OrgUnitDimension.default.__hash
191
261
  }, _OrgUnitDimension.default));
192
262
  };
193
263
 
194
264
  OrgUnitDimension.propTypes = {
195
- root: _propTypes.default.string,
265
+ roots: _propTypes.default.arrayOf(_propTypes.default.string),
196
266
  selected: _propTypes.default.arrayOf(_propTypes.default.shape({
197
267
  id: _propTypes.default.string.isRequired,
198
268
  name: _propTypes.default.string.isRequired,
@@ -7,7 +7,7 @@ exports.default = void 0;
7
7
 
8
8
  var _ui = require("@dhis2/ui");
9
9
 
10
- const _defaultExport = [".container.jsx-1731397832{height:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}", ".orgUnitTreeWrapper.jsx-1731397832{height:418px;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;overflow:auto;}", ".orgUnitTreeWrapper.jsx-1731397832>*{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}", ".disabled.jsx-1731397832{cursor:not-allowed;opacity:0.5;}", ".disabled.jsx-1731397832>*{pointer-events:none;}", `.userOrgUnitsWrapper.jsx-1731397832{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;background:${_ui.colors.grey200};padding:${_ui.spacers.dp8} ${_ui.spacers.dp8} ${_ui.spacers.dp8} ${_ui.spacers.dp24};margin-bottom:${_ui.spacers.dp12};}`, `.userOrgUnitsWrapper.jsx-1731397832>*{margin-right:${_ui.spacers.dp48};}`, `.selectsWrapper.jsx-1731397832{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;gap:${_ui.spacers.dp12};margin-top:${_ui.spacers.dp12};}`, ".selectsWrapper.jsx-1731397832>*{width:50%;}"];
11
- _defaultExport.__hash = "1731397832";
10
+ const _defaultExport = [".container.jsx-3879278432{height:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}", ".orgUnitTreeWrapper.jsx-3879278432{height:382px;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;overflow:auto;}", ".orgUnitTreeWrapper.jsx-3879278432>*{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}", ".disabled.jsx-3879278432{cursor:not-allowed;opacity:0.5;}", ".disabled.jsx-3879278432>*{pointer-events:none;}", ".userOrgUnitsWrapper.jsx-3879278432{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;background:".concat(_ui.colors.grey200, ";padding:").concat(_ui.spacers.dp8, " ").concat(_ui.spacers.dp8, " ").concat(_ui.spacers.dp8, " ").concat(_ui.spacers.dp24, ";margin-bottom:").concat(_ui.spacers.dp12, ";}"), ".userOrgUnitsWrapper.jsx-3879278432>*{margin-right:".concat(_ui.spacers.dp48, ";}"), ".selectsWrapper.jsx-3879278432{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;gap:".concat(_ui.spacers.dp8, ";margin-top:").concat(_ui.spacers.dp12, ";}"), ".selectsWrapper.jsx-3879278432>*{width:50%;}", ".summaryWrapper.jsx-3879278432{margin-top:".concat(_ui.spacers.dp8, ";}"), ".summaryText.jsx-3879278432{font-size:14px;line-height:18px;color:".concat(_ui.colors.grey700, ";}"), ".deselectButton.jsx-3879278432{display:inline-block;margin-left:".concat(_ui.spacers.dp8, ";}")];
11
+ _defaultExport.__hash = "3879278432";
12
12
  var _default = _defaultExport;
13
13
  exports.default = _default;
@@ -34,7 +34,7 @@ const FixedPeriodFilter = ({
34
34
  }) => {
35
35
  const onlyAllowedTypeIsSelected = Array.isArray(allowedPeriodTypes) && allowedPeriodTypes.length === 1 && allowedPeriodTypes[0] === currentPeriodType;
36
36
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
37
- className: `jsx-${_PeriodFilter.default.__hash}` + " " + "leftSection"
37
+ className: "jsx-".concat(_PeriodFilter.default.__hash) + " " + "leftSection"
38
38
  }, /*#__PURE__*/_react.default.createElement(_ui.SingleSelectField, {
39
39
  label: _index.default.t('Period type'),
40
40
  onChange: ({
@@ -44,14 +44,14 @@ const FixedPeriodFilter = ({
44
44
  selected: currentPeriodType,
45
45
  disabled: onlyAllowedTypeIsSelected,
46
46
  className: "filterElement",
47
- dataTest: `${dataTest}-period-type`
47
+ dataTest: "".concat(dataTest, "-period-type")
48
48
  }, (allowedPeriodTypes ? (0, _fixedPeriods.getFixedPeriodsOptions)().filter(option => allowedPeriodTypes.some(type => type === option.id)) : (0, _index2.filterPeriodTypesById)((0, _fixedPeriods.getFixedPeriodsOptions)(), excludedPeriodTypes)).map(option => /*#__PURE__*/_react.default.createElement(_ui.SingleSelectOption, {
49
49
  key: option.id,
50
50
  value: option.id,
51
51
  label: option.name,
52
- dataTest: `${dataTest}-period-type-option-${option.id}`
52
+ dataTest: "".concat(dataTest, "-period-type-option-").concat(option.id)
53
53
  })))), /*#__PURE__*/_react.default.createElement("div", {
54
- className: `jsx-${_PeriodFilter.default.__hash}` + " " + "rightSection"
54
+ className: "jsx-".concat(_PeriodFilter.default.__hash) + " " + "rightSection"
55
55
  }, /*#__PURE__*/_react.default.createElement(_ui.InputField, {
56
56
  label: _index.default.t('Year'),
57
57
  className: "filterElement",
@@ -62,7 +62,7 @@ const FixedPeriodFilter = ({
62
62
  value
63
63
  }) => onSelectYear(value),
64
64
  dense: true,
65
- dataTest: `${dataTest}-year`
65
+ dataTest: "".concat(dataTest, "-year")
66
66
  })), /*#__PURE__*/_react.default.createElement(_style.default, {
67
67
  id: _PeriodFilter.default.__hash
68
68
  }, _PeriodFilter.default));
@@ -7,10 +7,10 @@ exports.default = void 0;
7
7
 
8
8
  var _style = _interopRequireDefault(require("styled-jsx/style"));
9
9
 
10
- var _propTypes = _interopRequireDefault(require("@dhis2/prop-types"));
11
-
12
10
  var _ui = require("@dhis2/ui");
13
11
 
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+
14
14
  var _react = _interopRequireWildcard(require("react"));
15
15
 
16
16
  var _index = _interopRequireDefault(require("../../locales/index.js"));
@@ -21,9 +21,9 @@ var _FixedPeriodSelectStyle = _interopRequireDefault(require("./styles/FixedPeri
21
21
 
22
22
  var _fixedPeriods = require("./utils/fixedPeriods.js");
23
23
 
24
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
24
+ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
25
25
 
26
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
26
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
27
 
28
28
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
29
 
@@ -92,9 +92,9 @@ class FixedPeriodSelect extends _react.Component {
92
92
  render() {
93
93
  return /*#__PURE__*/_react.default.createElement("div", {
94
94
  "data-test": this.props.dataTest,
95
- className: `jsx-${_FixedPeriodSelectStyle.default.__hash}` + " " + (this.props.className || "")
95
+ className: "jsx-".concat(_FixedPeriodSelectStyle.default.__hash) + " " + (this.props.className || "")
96
96
  }, /*#__PURE__*/_react.default.createElement("div", {
97
- className: `jsx-${_FixedPeriodSelectStyle.default.__hash}` + " " + "row"
97
+ className: "jsx-".concat(_FixedPeriodSelectStyle.default.__hash) + " " + "row"
98
98
  }, /*#__PURE__*/_react.default.createElement(_FixedPeriodFilter.default, {
99
99
  allowedPeriodTypes: this.props.allowedPeriodTypes,
100
100
  currentPeriodType: this.state.periodType,