@dhis2/analytics 21.0.0-alpha.2 → 21.0.1

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 (209) hide show
  1. package/CHANGELOG.md +2782 -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 +228 -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 +2 -2
  40. package/build/cjs/components/FileMenu/FileMenu.js +5 -5
  41. package/build/cjs/components/FileMenu/FileMenu.styles.js +1 -1
  42. package/build/cjs/components/FileMenu/GetLinkDialog.js +1 -1
  43. package/build/cjs/components/FileMenu/RenameDialog.js +2 -2
  44. package/build/cjs/components/FileMenu/SaveAsDialog.js +2 -2
  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 +82 -17
  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 +4 -4
  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 +5 -5
  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 +204 -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/FileMenu.js +3 -3
  144. package/build/es/components/FileMenu/FileMenu.styles.js +1 -1
  145. package/build/es/components/FileMenu/GetLinkDialog.js +1 -1
  146. package/build/es/components/FileMenu/__tests__/DeleteDialog.spec.js +1 -1
  147. package/build/es/components/FileMenu/__tests__/RenameDialog.spec.js +1 -1
  148. package/build/es/components/FileMenu/__tests__/SaveAsDialog.spec.js +1 -1
  149. package/build/es/components/FileMenu/utils.js +3 -3
  150. package/build/es/components/Filter/Filter.js +1 -1
  151. package/build/es/components/Filter/styles/Filter.style.js +1 -1
  152. package/build/es/components/LegendKey/LegendKey.js +9 -9
  153. package/build/es/components/LegendKey/styles/LegendKey.style.js +1 -1
  154. package/build/es/components/OpenFileDialog/CustomSelectOption.js +2 -2
  155. package/build/es/components/OpenFileDialog/OpenFileDialog.js +19 -19
  156. package/build/es/components/OpenFileDialog/OpenFileDialog.styles.js +1 -1
  157. package/build/es/components/OpenFileDialog/styles/CustomSelectOption.style.js +1 -1
  158. package/build/es/components/Options/styles/VisualizationOptions.style.js +10 -10
  159. package/build/es/components/OrgUnitDimension/OrgUnitDimension.js +80 -16
  160. package/build/es/components/OrgUnitDimension/styles/OrgUnitDimension.style.js +2 -2
  161. package/build/es/components/PeriodDimension/FixedPeriodFilter.js +5 -5
  162. package/build/es/components/PeriodDimension/FixedPeriodSelect.js +8 -8
  163. package/build/es/components/PeriodDimension/PeriodTransfer.js +9 -9
  164. package/build/es/components/PeriodDimension/RelativePeriodFilter.js +2 -2
  165. package/build/es/components/PeriodDimension/styles/FixedPeriodSelect.style.js +1 -1
  166. package/build/es/components/PeriodDimension/styles/PeriodFilter.style.js +1 -1
  167. package/build/es/components/PeriodDimension/utils/fixedPeriods.js +49 -49
  168. package/build/es/components/PivotTable/PivotTableCell.js +3 -3
  169. package/build/es/components/PivotTable/PivotTableColumnHeaderCell.js +2 -2
  170. package/build/es/components/PivotTable/PivotTableContainer.js +2 -2
  171. package/build/es/components/PivotTable/PivotTableSortIcon.js +2 -2
  172. package/build/es/components/PivotTable/PivotTableTitleRow.js +2 -2
  173. package/build/es/components/PivotTable/styles/PivotTable.style.js +3 -3
  174. package/build/es/components/TransferOption.js +17 -17
  175. package/build/es/components/styles/DimensionSelector.style.js +1 -1
  176. package/build/es/components/styles/TransferOption.style.js +1 -1
  177. package/build/es/index.js +3 -2
  178. package/build/es/locales/en/translations.json +26 -0
  179. package/build/es/modules/axis.js +1 -1
  180. package/build/es/modules/layoutUiRules/rules.js +1 -1
  181. package/build/es/modules/list.js +13 -0
  182. package/build/es/modules/ouIdHelper/index.js +2 -2
  183. package/build/es/modules/pivotTable/PivotTableEngine.js +3 -3
  184. package/build/es/modules/pivotTable/measureText.js +1 -1
  185. package/build/es/modules/visTypes.js +1 -1
  186. package/build/es/visualizations/config/adapters/dhis_highcharts/addTrendLines.js +1 -1
  187. package/build/es/visualizations/config/adapters/dhis_highcharts/axis.js +2 -2
  188. package/build/es/visualizations/config/adapters/dhis_highcharts/getAxisTitle.js +1 -1
  189. package/build/es/visualizations/config/adapters/dhis_highcharts/legend.js +8 -19
  190. package/build/es/visualizations/config/adapters/dhis_highcharts/legendSet.js +1 -1
  191. package/build/es/visualizations/config/adapters/dhis_highcharts/plotOptions.js +1 -1
  192. package/build/es/visualizations/config/adapters/dhis_highcharts/subtitle/index.js +1 -1
  193. package/build/es/visualizations/config/adapters/dhis_highcharts/title/index.js +1 -1
  194. package/build/es/visualizations/config/adapters/dhis_highcharts/title/scatter.js +1 -1
  195. package/build/es/visualizations/config/adapters/dhis_highcharts/xAxis/index.js +1 -1
  196. package/build/es/visualizations/config/adapters/dhis_highcharts/yAxis/gauge.js +3 -3
  197. package/build/es/visualizations/config/adapters/dhis_highcharts/yAxis/index.js +2 -2
  198. package/build/es/visualizations/config/generators/dhis/singleValue.js +5 -5
  199. package/build/es/visualizations/config/index.js +3 -3
  200. package/build/es/visualizations/store/adapters/dhis_dhis/index.js +1 -1
  201. package/build/es/visualizations/store/adapters/dhis_highcharts/index.js +1 -1
  202. package/build/es/visualizations/store/adapters/dhis_highcharts/twoCategory.js +1 -1
  203. package/build/es/visualizations/store/index.js +2 -2
  204. package/build/es/visualizations/util/__tests__/getFilterText.spec.js +1 -1
  205. package/build/es/visualizations/util/axisId.js +1 -1
  206. package/build/es/visualizations/util/getFilterText.js +5 -13
  207. package/package.json +3 -4
  208. package/build/cjs/components/OrgUnitDimension/OrgUnitDimensionOld.js +0 -244
  209. package/build/es/components/OrgUnitDimension/OrgUnitDimensionOld.js +0 -220
@@ -0,0 +1,204 @@
1
+ import _JSXStyle from "styled-jsx/style";
2
+ import { useDataQuery, useDataMutation } from '@dhis2/app-runtime';
3
+ import i18n from '@dhis2/d2-i18n';
4
+ import { Button, CircularLoader, IconChevronDown24, IconChevronUp24, IconClock16, IconShare16, IconSubscribe24, IconSubscribeOff24, IconUser16, IconView16, colors } from '@dhis2/ui';
5
+ import cx from 'classnames';
6
+ import moment from 'moment';
7
+ import PropTypes from 'prop-types';
8
+ import React, { useEffect, useMemo, useState } from 'react';
9
+ import { formatList } from '../../modules/list';
10
+ import styles from './styles/AboutAOUnit.style';
11
+ const READ_ONLY = 'r';
12
+ const READ_AND_WRITE = 'rw';
13
+
14
+ const getQueries = type => ({
15
+ ao: {
16
+ resource: type,
17
+ id: ({
18
+ id
19
+ }) => id,
20
+ params: {
21
+ fields: 'id,displayDescription,created,createdBy[displayName],lastUpdated,subscribed,publicAccess,userAccesses[displayName,access],userGroupAccesses[displayName,access]'
22
+ }
23
+ },
24
+ dataStatistics: {
25
+ resource: 'dataStatistics/favorites',
26
+ id: ({
27
+ id
28
+ }) => id
29
+ }
30
+ });
31
+
32
+ const getSubscribeMutation = (type, id) => ({
33
+ resource: "".concat(type, "/").concat(id, "/subscriber"),
34
+ type: 'create'
35
+ });
36
+
37
+ const getUnsubscribeMutation = (type, id) => ({
38
+ resource: "".concat(type, "/").concat(id, "/subscriber"),
39
+ type: 'delete'
40
+ });
41
+
42
+ const AboutAOUnit = ({
43
+ type,
44
+ id
45
+ }) => {
46
+ const [isExpanded, setIsExpanded] = useState(true);
47
+ const queries = useMemo(() => getQueries(type), []);
48
+ const {
49
+ data,
50
+ loading: dataIsLoading,
51
+ refetch
52
+ } = useDataQuery(queries, {
53
+ lazy: true
54
+ });
55
+ const subscribeMutation = useMemo(() => getSubscribeMutation(type, id), []);
56
+ const unsubscribeMutation = useMemo(() => getUnsubscribeMutation(type, id), []);
57
+ const [subscribe, {
58
+ loading: subscribeIsLoading
59
+ }] = useDataMutation(subscribeMutation, {
60
+ onComplete: res => {
61
+ if (res.status === 'OK') {
62
+ refetch({
63
+ id
64
+ });
65
+ }
66
+ }
67
+ });
68
+ const [unsubscribe, {
69
+ loading: unsubscribeIsLoading
70
+ }] = useDataMutation(unsubscribeMutation, {
71
+ onComplete: res => {
72
+ if (res.status === 'OK') {
73
+ refetch({
74
+ id
75
+ });
76
+ }
77
+ }
78
+ });
79
+ useEffect(() => {
80
+ if (id) {
81
+ refetch({
82
+ id
83
+ });
84
+ }
85
+ }, [type, id]);
86
+
87
+ const getAccessLevelString = access => {
88
+ const re = new RegExp("(?<accessLevel>".concat(READ_AND_WRITE, "?)"));
89
+ const accessMatch = re.exec(access);
90
+
91
+ switch (accessMatch.groups.accessLevel) {
92
+ case READ_ONLY:
93
+ return i18n.t('view only');
94
+
95
+ case READ_AND_WRITE:
96
+ return i18n.t('view and edit');
97
+ }
98
+ };
99
+
100
+ const getSharingSummary = ao => {
101
+ const sharingTextParts = [];
102
+ const re = new RegExp("^".concat(READ_AND_WRITE, "?"));
103
+
104
+ if (re.test(ao.publicAccess)) {
105
+ sharingTextParts.push(i18n.t('all users ({{accessLevel}})', {
106
+ accessLevel: getAccessLevelString(ao.publicAccess)
107
+ }));
108
+ }
109
+
110
+ const userAccesses = ao.userAccesses;
111
+ const groupAccesses = ao.userGroupAccesses;
112
+ userAccesses.concat(groupAccesses).forEach(accessRule => {
113
+ sharingTextParts.push(i18n.t('{{userOrGroup}} ({{accessLevel}})', {
114
+ userOrGroup: accessRule.displayName,
115
+ accessLevel: getAccessLevelString(accessRule.access)
116
+ }));
117
+ });
118
+ return sharingTextParts.length ? i18n.t('Shared with {{commaSeparatedListOfUsersAndGroups}}', {
119
+ commaSeparatedListOfUsersAndGroups: formatList(sharingTextParts)
120
+ }) : i18n.t('Not shared with any users or groups');
121
+ };
122
+
123
+ return /*#__PURE__*/React.createElement("div", {
124
+ className: "jsx-".concat(styles.__hash) + " " + (cx('container', {
125
+ expanded: isExpanded
126
+ }) || "")
127
+ }, /*#__PURE__*/React.createElement("div", {
128
+ onClick: () => setIsExpanded(!isExpanded),
129
+ className: "jsx-".concat(styles.__hash) + " " + "header"
130
+ }, i18n.t('About this visualization'), isExpanded ? /*#__PURE__*/React.createElement(IconChevronUp24, {
131
+ color: colors.grey700
132
+ }) : /*#__PURE__*/React.createElement(IconChevronDown24, {
133
+ color: colors.grey700
134
+ })), isExpanded && /*#__PURE__*/React.createElement(React.Fragment, null, dataIsLoading && /*#__PURE__*/React.createElement("div", {
135
+ className: "jsx-".concat(styles.__hash) + " " + "loader"
136
+ }, /*#__PURE__*/React.createElement(CircularLoader, {
137
+ small: true
138
+ })), data && /*#__PURE__*/React.createElement("div", {
139
+ className: "jsx-".concat(styles.__hash) + " " + "content"
140
+ }, /*#__PURE__*/React.createElement("p", {
141
+ className: "jsx-".concat(styles.__hash) + " " + (cx('detailLine', {
142
+ noDescription: !data.ao.displayDescription
143
+ }) || "")
144
+ }, data.ao.displayDescription ? data.ao.displayDescription : i18n.t('No description')), /*#__PURE__*/React.createElement("div", {
145
+ className: "jsx-".concat(styles.__hash)
146
+ }, /*#__PURE__*/React.createElement("p", {
147
+ className: "jsx-".concat(styles.__hash) + " " + "detailLine"
148
+ }, /*#__PURE__*/React.createElement(IconShare16, {
149
+ color: colors.grey700
150
+ }), getSharingSummary(data.ao)), /*#__PURE__*/React.createElement("p", {
151
+ className: "jsx-".concat(styles.__hash) + " " + "detailLine"
152
+ }, /*#__PURE__*/React.createElement(IconClock16, {
153
+ color: colors.grey700
154
+ }), i18n.t('Last updated {{time}}', {
155
+ time: moment(data.ao.lastUpdated).fromNow()
156
+ })), /*#__PURE__*/React.createElement("p", {
157
+ className: "jsx-".concat(styles.__hash) + " " + "detailLine"
158
+ }, /*#__PURE__*/React.createElement(IconUser16, {
159
+ color: colors.grey700
160
+ }), i18n.t('Created {{time}} by {{author}}', {
161
+ time: moment(data.ao.created).fromNow(),
162
+ author: data.ao.createdBy.displayName
163
+ })), /*#__PURE__*/React.createElement("p", {
164
+ className: "jsx-".concat(styles.__hash) + " " + "detailLine"
165
+ }, /*#__PURE__*/React.createElement(IconView16, {
166
+ color: colors.grey700
167
+ }), i18n.t('Viewed {{count}} times', {
168
+ count: data.dataStatistics.views,
169
+ defaultValue: 'Viewed 1 time',
170
+ defaultValue_plural: 'Viewed {{count}} times'
171
+ }))), /*#__PURE__*/React.createElement("div", {
172
+ className: "jsx-".concat(styles.__hash) + " " + "subsection"
173
+ }, /*#__PURE__*/React.createElement("span", {
174
+ className: "jsx-".concat(styles.__hash) + " " + "subsectionTitle"
175
+ }, i18n.t('Notifications')), data.ao.subscribed ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("p", {
176
+ className: "jsx-".concat(styles.__hash) + " " + "subscriptionLabel"
177
+ }, i18n.t("You're subscribed and getting updates about new interpretations.")), /*#__PURE__*/React.createElement(Button, {
178
+ icon: /*#__PURE__*/React.createElement(IconSubscribeOff24, {
179
+ color: colors.grey700
180
+ }),
181
+ secondary: true,
182
+ small: true,
183
+ disabled: unsubscribeIsLoading,
184
+ onClick: unsubscribe
185
+ }, i18n.t('Unsubscribe'))) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("p", {
186
+ className: "jsx-".concat(styles.__hash) + " " + "subscriptionLabel"
187
+ }, i18n.t('Subscribe to get updates about new interpretations.')), /*#__PURE__*/React.createElement(Button, {
188
+ icon: /*#__PURE__*/React.createElement(IconSubscribe24, {
189
+ color: colors.grey700
190
+ }),
191
+ secondary: true,
192
+ small: true,
193
+ disabled: subscribeIsLoading,
194
+ onClick: subscribe
195
+ }, i18n.t('Subscribe')))))), /*#__PURE__*/React.createElement(_JSXStyle, {
196
+ id: styles.__hash
197
+ }, styles));
198
+ };
199
+
200
+ AboutAOUnit.propTypes = {
201
+ id: PropTypes.string.isRequired,
202
+ type: PropTypes.string.isRequired
203
+ };
204
+ export default AboutAOUnit;
@@ -0,0 +1,4 @@
1
+ import { colors, spacers } from '@dhis2/ui';
2
+ const _defaultExport = [".container.jsx-633421833{padding:".concat(spacers.dp16, ";border-bottom:1px solid ").concat(colors.grey400, ";background-color:").concat(colors.white, ";}"), ".expanded.jsx-633421833{padding-bottom:".concat(spacers.dp32, ";}"), ".loader.jsx-633421833{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}", ".header.jsx-633421833{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;font-size:".concat(spacers.dp16, ";font-weight:500;line-height:21px;color:").concat(colors.grey900, ";}"), ".content.jsx-633421833{font-size:14px;line-height:18px;color:".concat(colors.grey900, ";}"), ".detailLine.jsx-633421833{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin:0;padding:".concat(spacers.dp12, " 0 0 0;gap:").concat(spacers.dp8, ";}"), ".detailLine.jsx-633421833 svg.jsx-633421833{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}", ".noDescription.jsx-633421833{color:".concat(colors.grey600, ";}"), ".subsection.jsx-633421833{margin-top:".concat(spacers.dp24, ";}"), ".subsectionTitle.jsx-633421833{color:".concat(colors.grey700, ";font-weight:500;}"), ".subscriptionLabel.jsx-633421833{margin:".concat(spacers.dp12, " 0 ").concat(spacers.dp8, " 0;}"), ".subsection.jsx-633421833 button.jsx-633421833{margin-top:".concat(spacers.dp8, ";}")];
3
+ _defaultExport.__hash = "633421833";
4
+ export default _defaultExport;
@@ -14,7 +14,7 @@ const DataTypes = ({
14
14
  var _dataTypes$currentDat;
15
15
 
16
16
  return /*#__PURE__*/React.createElement("div", {
17
- className: `jsx-${styles.__hash}` + " " + "container"
17
+ className: "jsx-".concat(styles.__hash) + " " + "container"
18
18
  }, /*#__PURE__*/React.createElement(SingleSelectField, {
19
19
  label: i18n.t('Data Type'),
20
20
  dataTest: dataTest,
@@ -25,12 +25,12 @@ const DataTypes = ({
25
25
  value: ALL_ID,
26
26
  key: ALL_ID,
27
27
  label: i18n.t('All types'),
28
- dataTest: `${dataTest}-option-all`
28
+ dataTest: "".concat(dataTest, "-option-all")
29
29
  }), Object.values(dataTypes).map(type => /*#__PURE__*/React.createElement(SingleSelectOption, {
30
30
  value: type.id,
31
31
  key: type.id,
32
32
  label: type.getName(),
33
- dataTest: `${dataTest}-option-${type.id}`
33
+ dataTest: "".concat(dataTest, "-option-").concat(type.id)
34
34
  }))), /*#__PURE__*/React.createElement(_JSXStyle, {
35
35
  id: styles.__hash
36
36
  }, styles));
@@ -18,7 +18,7 @@ export const DetailSelector = ({
18
18
  }) => {
19
19
  const options = getOptions();
20
20
  return /*#__PURE__*/React.createElement("div", {
21
- className: `jsx-${styles.__hash}` + " " + "detail-container"
21
+ className: "jsx-".concat(styles.__hash) + " " + "detail-container"
22
22
  }, /*#__PURE__*/React.createElement(SingleSelectField, {
23
23
  dataTest: dataTest,
24
24
  label: i18n.t('Disaggregation'),
@@ -29,7 +29,7 @@ export const DetailSelector = ({
29
29
  value: option[0],
30
30
  key: option[0],
31
31
  label: option[1],
32
- dataTest: `${dataTest}-option-${option[0]}`
32
+ dataTest: "".concat(dataTest, "-option-").concat(option[0])
33
33
  }))), /*#__PURE__*/React.createElement(_JSXStyle, {
34
34
  id: styles.__hash
35
35
  }, styles));
@@ -38,14 +38,14 @@ const GroupsSelector = ({
38
38
  fetchGroups();
39
39
  }, [dataType]);
40
40
  return /*#__PURE__*/React.createElement("div", {
41
- className: `jsx-${styles.__hash}` + " " + "container"
41
+ className: "jsx-".concat(styles.__hash) + " " + "container"
42
42
  }, /*#__PURE__*/React.createElement(_JSXStyle, {
43
43
  id: styles.__hash
44
44
  }, styles), /*#__PURE__*/React.createElement("div", {
45
- className: `jsx-${styles.__hash}` + " " + "group-container"
45
+ className: "jsx-".concat(styles.__hash) + " " + "group-container"
46
46
  }, /*#__PURE__*/React.createElement(SingleSelectField, {
47
47
  label: (_dataTypes$dataType3 = dataTypes[dataType]) === null || _dataTypes$dataType3 === void 0 ? void 0 : _dataTypes$dataType3.getGroupLabel(),
48
- dataTest: `${dataTest}-groups-select-field`,
48
+ dataTest: "".concat(dataTest, "-groups-select-field"),
49
49
  selected: currentGroup || defaultGroup.id,
50
50
  placeholder: !currentGroup && (_dataTypes$dataType4 = dataTypes[dataType]) !== null && _dataTypes$dataType4 !== void 0 && _dataTypes$dataType4.getPlaceholder ? dataTypes[dataType].getPlaceholder() : null,
51
51
  onChange: ref => onGroupChange(ref.selected),
@@ -57,20 +57,20 @@ const GroupsSelector = ({
57
57
  value: defaultGroup.id,
58
58
  key: defaultGroup.id,
59
59
  label: defaultGroup.getName(),
60
- dataTest: `${dataTest}-groups-select-field-option-${defaultGroup.id}`
60
+ dataTest: "".concat(dataTest, "-groups-select-field-option-").concat(defaultGroup.id)
61
61
  }) : null, !isLoading ? groups.map(item => /*#__PURE__*/React.createElement(SingleSelectOption, {
62
62
  value: item.id,
63
63
  key: item.id,
64
64
  label: item.name,
65
- dataTest: `${dataTest}-groups-select-field-option-${item.id}`
65
+ dataTest: "".concat(dataTest, "-groups-select-field-option-").concat(item.id)
66
66
  })) : null)), subGroupType === SUB_GROUP_DETAIL && /*#__PURE__*/React.createElement(DetailSelector, {
67
67
  currentValue: currentSubGroup,
68
68
  onChange: onSubGroupChange,
69
- dataTest: `${dataTest}-sub-group-select-field`
69
+ dataTest: "".concat(dataTest, "-sub-group-select-field")
70
70
  }), subGroupType === SUB_GROUP_METRIC && /*#__PURE__*/React.createElement(MetricSelector, {
71
71
  currentValue: currentSubGroup,
72
72
  onChange: onSubGroupChange,
73
- dataTest: `${dataTest}-sub-group-select-field`
73
+ dataTest: "".concat(dataTest, "-sub-group-select-field")
74
74
  }));
75
75
  };
76
76
 
@@ -31,21 +31,21 @@ const LeftHeader = ({
31
31
  displayNameProp,
32
32
  dataTest
33
33
  }) => /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
34
- className: `jsx-${styles.__hash}` + " " + "leftHeader"
34
+ className: "jsx-".concat(styles.__hash) + " " + "leftHeader"
35
35
  }, /*#__PURE__*/React.createElement(InputField, {
36
36
  value: searchTerm,
37
37
  onChange: ({
38
38
  value
39
39
  }) => setSearchTerm(value),
40
40
  placeholder: i18n.t('Search by data item name'),
41
- dataTest: `${dataTest}-filter-input-field`,
41
+ dataTest: "".concat(dataTest, "-filter-input-field"),
42
42
  dense: true,
43
43
  initialFocus: true,
44
44
  type: 'search'
45
45
  }), /*#__PURE__*/React.createElement(DataTypeSelector, {
46
46
  currentDataType: dataType,
47
47
  onChange: setDataType,
48
- dataTest: `${dataTest}-data-types-select-field`
48
+ dataTest: "".concat(dataTest, "-data-types-select-field")
49
49
  }), dataTypes[dataType] && /*#__PURE__*/React.createElement(GroupSelector, {
50
50
  dataType: dataType,
51
51
  displayNameProp: displayNameProp,
@@ -72,7 +72,7 @@ LeftHeader.propTypes = {
72
72
  };
73
73
 
74
74
  const EmptySelection = () => /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("p", {
75
- className: `jsx-${styles.__hash}` + " " + "emptyList"
75
+ className: "jsx-".concat(styles.__hash) + " " + "emptyList"
76
76
  }, i18n.t('No items selected')), /*#__PURE__*/React.createElement(_JSXStyle, {
77
77
  id: styles.__hash
78
78
  }, styles));
@@ -80,13 +80,13 @@ const EmptySelection = () => /*#__PURE__*/React.createElement(React.Fragment, nu
80
80
  const RightHeader = ({
81
81
  infoText
82
82
  }) => /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("p", {
83
- className: `jsx-${styles.__hash}` + " " + "rightHeader"
83
+ className: "jsx-".concat(styles.__hash) + " " + "rightHeader"
84
84
  }, i18n.t('Selected Items')), infoText && /*#__PURE__*/React.createElement("div", {
85
- className: `jsx-${styles.__hash}` + " " + "info-container"
85
+ className: "jsx-".concat(styles.__hash) + " " + "info-container"
86
86
  }, /*#__PURE__*/React.createElement("div", {
87
- className: `jsx-${styles.__hash}`
87
+ className: "jsx-".concat(styles.__hash)
88
88
  }, /*#__PURE__*/React.createElement(IconInfo16, null)), /*#__PURE__*/React.createElement("span", {
89
- className: `jsx-${styles.__hash}` + " " + "info-text"
89
+ className: "jsx-".concat(styles.__hash) + " " + "info-text"
90
90
  }, infoText)), /*#__PURE__*/React.createElement(_JSXStyle, {
91
91
  id: styles.__hash
92
92
  }, styles));
@@ -177,7 +177,7 @@ const SourceEmptyPlaceholder = ({
177
177
 
178
178
  return message && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("p", {
179
179
  "data-test": dataTest,
180
- className: `jsx-${styles.__hash}` + " " + "emptyList"
180
+ className: "jsx-".concat(styles.__hash) + " " + "emptyList"
181
181
  }, message), /*#__PURE__*/React.createElement(_JSXStyle, {
182
182
  id: styles.__hash
183
183
  }, styles));
@@ -241,16 +241,16 @@ const ItemSelector = ({
241
241
  if (state.filter.subGroup && state.filter.subGroup !== ALL_ID) {
242
242
  const metric = DATA_SETS_CONSTANTS.find(item => item.id === state.filter.subGroup);
243
243
  newOptions.push({
244
- label: `${item.name} - ${metric.getName()}`,
245
- value: `${item.id}.${metric.id}`,
244
+ label: "".concat(item.name, " - ").concat(metric.getName()),
245
+ value: "".concat(item.id, ".").concat(metric.id),
246
246
  disabled: item.disabled,
247
247
  type: item.dimensionItemType
248
248
  });
249
249
  } else {
250
250
  DATA_SETS_CONSTANTS.forEach(metric => {
251
251
  newOptions.push({
252
- label: `${item.name} - ${metric.getName()}`,
253
- value: `${item.id}.${metric.id}`,
252
+ label: "".concat(item.name, " - ").concat(metric.getName()),
253
+ value: "".concat(item.id, ".").concat(metric.id),
254
254
  disabled: item.disabled,
255
255
  type: item.dimensionItemType
256
256
  });
@@ -379,7 +379,7 @@ const ItemSelector = ({
379
379
  options: state.options,
380
380
  noItemsMessage: noItemsMessage,
381
381
  dataType: state.filter.dataType,
382
- dataTest: `${dataTest}-empty-source`
382
+ dataTest: "".concat(dataTest, "-empty-source")
383
383
  }),
384
384
  onEndReached: onEndReached,
385
385
  leftHeader: /*#__PURE__*/React.createElement(LeftHeader, {
@@ -406,7 +406,7 @@ const ItemSelector = ({
406
406
  searchTerm: state.searchTerm,
407
407
  setSearchTerm: setSearchTerm,
408
408
  displayNameProp: displayNameProp,
409
- dataTest: `${dataTest}-left-header`
409
+ dataTest: "".concat(dataTest, "-left-header")
410
410
  }),
411
411
  enableOrderChange: true,
412
412
  height: TRANSFER_HEIGHT,
@@ -427,9 +427,9 @@ const ItemSelector = ({
427
427
  tooltipText: state.filter.dataType === ALL_ID ? getTooltipText(getItemType(props.value
428
428
  /* eslint-disable-line react/prop-types */
429
429
  )) : undefined,
430
- dataTest: `${dataTest}-transfer-option`
430
+ dataTest: "".concat(dataTest, "-transfer-option")
431
431
  })),
432
- dataTest: `${dataTest}-transfer`
432
+ dataTest: "".concat(dataTest, "-transfer")
433
433
  });
434
434
  };
435
435
 
@@ -12,7 +12,7 @@ export const MetricSelector = ({
12
12
  dataTest
13
13
  }) => {
14
14
  return /*#__PURE__*/React.createElement("div", {
15
- className: `jsx-${styles.__hash}` + " " + "metric-container"
15
+ className: "jsx-".concat(styles.__hash) + " " + "metric-container"
16
16
  }, /*#__PURE__*/React.createElement(SingleSelectField, {
17
17
  label: i18n.t('Metric type'),
18
18
  selected: currentValue || ALL_ID,
@@ -23,12 +23,12 @@ export const MetricSelector = ({
23
23
  value: ALL_ID,
24
24
  key: ALL_ID,
25
25
  label: i18n.t('All metrics'),
26
- dataTest: `${dataTest}-option-${ALL_ID}`
26
+ dataTest: "".concat(dataTest, "-option-").concat(ALL_ID)
27
27
  }), DATA_SETS_CONSTANTS.map(option => /*#__PURE__*/React.createElement(SingleSelectOption, {
28
28
  value: option.id,
29
29
  key: option.id,
30
30
  label: option.getName(),
31
- dataTest: `${dataTest}-option-${option.id}`
31
+ dataTest: "".concat(dataTest, "-option-").concat(option.id)
32
32
  }))), /*#__PURE__*/React.createElement(_JSXStyle, {
33
33
  id: styles.__hash
34
34
  }, styles));
@@ -1,4 +1,4 @@
1
1
  import { spacers } from '@dhis2/ui';
2
- const _defaultExport = [`.container.jsx-3368926978{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:column;-ms-flex-flow:column;flex-flow:column;border-bottom:0;padding:${spacers.dp12} 0 0;}`];
2
+ const _defaultExport = [".container.jsx-3368926978{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:column;-ms-flex-flow:column;flex-flow:column;border-bottom:0;padding:".concat(spacers.dp12, " 0 0;}")];
3
3
  _defaultExport.__hash = "3368926978";
4
4
  export default _defaultExport;
@@ -1,4 +1,4 @@
1
1
  import { spacers } from '@dhis2/ui';
2
- const _defaultExport = [`.detail-container.jsx-2733301753{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:column;-ms-flex-flow:column;flex-flow:column;padding-left:${spacers.dp4};width:40%;}`];
2
+ const _defaultExport = [".detail-container.jsx-2733301753{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:column;-ms-flex-flow:column;flex-flow:column;padding-left:".concat(spacers.dp4, ";width:40%;}")];
3
3
  _defaultExport.__hash = "2733301753";
4
4
  export default _defaultExport;
@@ -1,4 +1,4 @@
1
1
  import { spacers } from '@dhis2/ui';
2
- const _defaultExport = [`.container.jsx-2205421678{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;min-height:53px;padding-left:${spacers.dp16};margin-top:${spacers.dp12};}`, ".group-container.jsx-2205421678{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}"];
2
+ const _defaultExport = [".container.jsx-2205421678{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;min-height:53px;padding-left:".concat(spacers.dp16, ";margin-top:").concat(spacers.dp12, ";}"), ".group-container.jsx-2205421678{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}"];
3
3
  _defaultExport.__hash = "2205421678";
4
4
  export default _defaultExport;
@@ -1,4 +1,4 @@
1
1
  import { spacers } from '@dhis2/ui';
2
- const _defaultExport = [`.metric-container.jsx-3752467532{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:column;-ms-flex-flow:column;flex-flow:column;padding-left:${spacers.dp4};width:50%;}`];
2
+ const _defaultExport = [".metric-container.jsx-3752467532{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:column;-ms-flex-flow:column;flex-flow:column;padding-left:".concat(spacers.dp4, ";width:50%;}")];
3
3
  _defaultExport.__hash = "3752467532";
4
4
  export default _defaultExport;
@@ -49,7 +49,7 @@ const DimensionMenu = ({
49
49
  key: "remove-menu-item",
50
50
  onClick: onClick,
51
51
  label: i18n.t('Remove'),
52
- dataTest: `${dataTest}-item-remove-${dimensionId}`
52
+ dataTest: "".concat(dataTest, "-item-remove-").concat(dimensionId)
53
53
  }); // Assigned categories
54
54
 
55
55
 
@@ -58,8 +58,8 @@ const DimensionMenu = ({
58
58
  if (!isAssignedCategoriesInLayout) {
59
59
  menuItems.push( /*#__PURE__*/React.createElement(MenuItem, {
60
60
  label: assignedCategoriesItemLabel,
61
- key: `assigned-categories-item-${dimensionId}`,
62
- dataTest: `${dataTest}-item-co-menu`
61
+ key: "assigned-categories-item-".concat(dimensionId),
62
+ dataTest: "".concat(dataTest, "-item-co-menu")
63
63
  }, assignedCategoriesAvailableDestinations.map(destination => /*#__PURE__*/React.createElement(MenuItem, {
64
64
  key: destination,
65
65
  onClick: () => {
@@ -67,22 +67,22 @@ const DimensionMenu = ({
67
67
  onClose();
68
68
  },
69
69
  label: getAxisItemLabel(getAxisNameByLayoutType(destination, getLayoutTypeByVisType(visType))),
70
- dataTest: `${dataTest}-item-action-co-to-${destination}`
70
+ dataTest: "".concat(dataTest, "-item-action-co-to-").concat(destination)
71
71
  }))));
72
72
  } else {
73
73
  menuItems.push( /*#__PURE__*/React.createElement(MenuItem, {
74
- key: `assigned-categories-item-${dimensionId}`,
74
+ key: "assigned-categories-item-".concat(dimensionId),
75
75
  onClick: () => {
76
76
  assignedCategoriesItemHandler();
77
77
  onClose();
78
78
  },
79
79
  label: assignedCategoriesItemLabel,
80
- dataTest: `${dataTest}-item-remove-co`
80
+ dataTest: "".concat(dataTest, "-item-remove-co")
81
81
  }));
82
82
  }
83
83
  } else {
84
84
  menuItems.push( /*#__PURE__*/React.createElement(Tooltip, {
85
- key: `assigned-categories-item-${dimensionId}`,
85
+ key: "assigned-categories-item-".concat(dimensionId),
86
86
  content: getUnavailableLabel(visType),
87
87
  "aria-label": "disabled",
88
88
  classes: classes
@@ -90,7 +90,7 @@ const DimensionMenu = ({
90
90
  disabled: true,
91
91
  dense: true,
92
92
  label: assignedCategoriesItemLabel,
93
- dataTest: `${dataTest}-item-co-menu`
93
+ dataTest: "".concat(dataTest, "-item-co-menu")
94
94
  })));
95
95
  }
96
96
  } // divider
@@ -98,7 +98,7 @@ const DimensionMenu = ({
98
98
 
99
99
  menuItems.length && menuItems.push(getDividerItem('assigned-categories-divider'));
100
100
  menuItems.push(...applicableAxisIds.map(axisId => /*#__PURE__*/React.createElement(MenuItem, {
101
- key: `${dimensionId}-to-${axisId}`,
101
+ key: "".concat(dimensionId, "-to-").concat(axisId),
102
102
  onClick: () => {
103
103
  axisItemHandler({
104
104
  dimensionId,
@@ -110,7 +110,7 @@ const DimensionMenu = ({
110
110
  onClose();
111
111
  },
112
112
  label: getAxisItemLabel(getAxisNameByLayoutType(axisId, getLayoutTypeByVisType(visType)), isDimensionInLayout),
113
- dataTest: `${dataTest}-item-action-${dimensionId}-to-${axisId}`
113
+ dataTest: "".concat(dataTest, "-item-action-").concat(dimensionId, "-to-").concat(axisId)
114
114
  }))); // remove item
115
115
 
116
116
  if (isDimensionInLayout) {
@@ -88,20 +88,20 @@ class DimensionItem extends Component {
88
88
  id: id,
89
89
  isDeactivated: isDeactivated,
90
90
  onClick: onClick,
91
- dataTest: `${dataTest}-button-${id}`
91
+ dataTest: "".concat(dataTest, "-button-").concat(id)
92
92
  }, /*#__PURE__*/React.createElement("div", {
93
93
  style: styles.iconWrapper
94
94
  }, Icon), /*#__PURE__*/React.createElement("div", {
95
95
  style: styles.labelWrapper
96
96
  }, Label, /*#__PURE__*/React.createElement(RecommendedIcon, {
97
97
  isRecommended: isRecommended,
98
- dataTest: `${dataTest}-recommended-icon`
98
+ dataTest: "".concat(dataTest, "-recommended-icon")
99
99
  })), isLocked && /*#__PURE__*/React.createElement("div", {
100
100
  style: styles.iconWrapper
101
101
  }, /*#__PURE__*/React.createElement(IconLock16, null))), onOptionsClick ? /*#__PURE__*/React.createElement("div", {
102
102
  style: styles.optionsWrapper,
103
103
  ref: optionsRef,
104
- "data-test": `${dataTest}-menu-${id}`
104
+ "data-test": "".concat(dataTest, "-menu-").concat(id)
105
105
  }, this.state.mouseOver && !isDeactivated && !isLocked ? /*#__PURE__*/React.createElement(OptionsButton, {
106
106
  style: styles.optionsButton,
107
107
  onClick: this.onOptionsClick(id, optionsRef)
@@ -41,21 +41,21 @@ class DimensionList extends Component {
41
41
  const fixedDimensions = this.getDimensionItemsByFilter(dimension => Object.values(getFixedDimensions()).some(fixedDim => fixedDim.id === dimension.id));
42
42
  const nonPredefinedDimensions = this.getDimensionItemsByFilter(dimension => !Object.values(getPredefinedDimensions()).some(predefDim => predefDim.id === dimension.id));
43
43
  return /*#__PURE__*/React.createElement("div", {
44
- className: `jsx-${styles.__hash}` + " " + "container"
44
+ className: "jsx-".concat(styles.__hash) + " " + "container"
45
45
  }, /*#__PURE__*/React.createElement("div", {
46
- className: `jsx-${styles.__hash}` + " " + "wrapper"
46
+ className: "jsx-".concat(styles.__hash) + " " + "wrapper"
47
47
  }, fixedDimensions !== null && fixedDimensions !== void 0 && fixedDimensions.length ? /*#__PURE__*/React.createElement("div", {
48
- className: `jsx-${styles.__hash}` + " " + "section"
48
+ className: "jsx-".concat(styles.__hash) + " " + "section"
49
49
  }, /*#__PURE__*/React.createElement("h3", {
50
- className: `jsx-${styles.__hash}` + " " + "header"
50
+ className: "jsx-".concat(styles.__hash) + " " + "header"
51
51
  }, i18n.t('Main dimensions')), /*#__PURE__*/React.createElement("ul", {
52
- className: `jsx-${styles.__hash}` + " " + "list"
52
+ className: "jsx-".concat(styles.__hash) + " " + "list"
53
53
  }, fixedDimensions)) : null, nonPredefinedDimensions !== null && nonPredefinedDimensions !== void 0 && nonPredefinedDimensions.length ? /*#__PURE__*/React.createElement("div", {
54
- className: `jsx-${styles.__hash}` + " " + "section"
54
+ className: "jsx-".concat(styles.__hash) + " " + "section"
55
55
  }, /*#__PURE__*/React.createElement("h3", {
56
- className: `jsx-${styles.__hash}` + " " + "header"
56
+ className: "jsx-".concat(styles.__hash) + " " + "header"
57
57
  }, i18n.t('Your dimensions')), /*#__PURE__*/React.createElement("ul", {
58
- className: `jsx-${styles.__hash}` + " " + "list"
58
+ className: "jsx-".concat(styles.__hash) + " " + "list"
59
59
  }, nonPredefinedDimensions)) : null), /*#__PURE__*/React.createElement(_JSXStyle, {
60
60
  id: styles.__hash
61
61
  }, styles));
@@ -1,5 +1,5 @@
1
1
  import { colors, spacers } from '@dhis2/ui';
2
- const _defaultExport = [".container.jsx-2067921157{position:relative;-webkit-flex:1 1 0%;-ms-flex:1 1 0%;flex:1 1 0%;min-height:30vh;}", ".wrapper.jsx-2067921157{position:absolute;width:100%;height:100%;overflow:auto;margin-top:0;padding:0;}", ".list.jsx-2067921157{margin:0;padding:0;}", `.header.jsx-2067921157{text-transform:uppercase;font-size:11px;color:${colors.grey700};margin:5px 0;-webkit-letter-spacing:0.3px;-moz-letter-spacing:0.3px;-ms-letter-spacing:0.3px;letter-spacing:0.3px;}`, `.section.jsx-2067921157:not(:last-child){margin-bottom:${spacers.dp24};}`];
2
+ const _defaultExport = [".container.jsx-2067921157{position:relative;-webkit-flex:1 1 0%;-ms-flex:1 1 0%;flex:1 1 0%;min-height:30vh;}", ".wrapper.jsx-2067921157{position:absolute;width:100%;height:100%;overflow:auto;margin-top:0;padding:0;}", ".list.jsx-2067921157{margin:0;padding:0;}", ".header.jsx-2067921157{text-transform:uppercase;font-size:11px;color:".concat(colors.grey700, ";margin:5px 0;-webkit-letter-spacing:0.3px;-moz-letter-spacing:0.3px;-ms-letter-spacing:0.3px;letter-spacing:0.3px;}"), ".section.jsx-2067921157:not(:last-child){margin-bottom:".concat(spacers.dp24, ";}")];
3
3
  _defaultExport.__hash = "2067921157";
4
4
  // Fix for vertical flex scrolling in Firefox/Safari:
5
5
  // Wrap the list in a div with position:relative (and flex:1 instead of on the list)
@@ -11,7 +11,7 @@ export const styles = {
11
11
  textField: {
12
12
  marginBottom: '6px',
13
13
  background: colors.white,
14
- border: `1px solid ${colors.grey400}`,
14
+ border: "1px solid ".concat(colors.grey400),
15
15
  borderRadius: '5px'
16
16
  }
17
17
  };