@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
@@ -0,0 +1,203 @@
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 styles from './styles/AboutAOUnit.style';
10
+ const READ_ONLY = 'r';
11
+ const READ_AND_WRITE = 'rw';
12
+
13
+ const getQueries = type => ({
14
+ ao: {
15
+ resource: type,
16
+ id: ({
17
+ id
18
+ }) => id,
19
+ params: {
20
+ fields: 'id,displayDescription,created,createdBy[displayName],lastUpdated,subscribed,publicAccess,userAccesses[displayName,access],userGroupAccesses[displayName,access]'
21
+ }
22
+ },
23
+ dataStatistics: {
24
+ resource: 'dataStatistics/favorites',
25
+ id: ({
26
+ id
27
+ }) => id
28
+ }
29
+ });
30
+
31
+ const getSubscribeMutation = (type, id) => ({
32
+ resource: "".concat(type, "/").concat(id, "/subscriber"),
33
+ type: 'create'
34
+ });
35
+
36
+ const getUnsubscribeMutation = (type, id) => ({
37
+ resource: "".concat(type, "/").concat(id, "/subscriber"),
38
+ type: 'delete'
39
+ });
40
+
41
+ const AboutAOUnit = ({
42
+ type,
43
+ id
44
+ }) => {
45
+ const [isExpanded, setIsExpanded] = useState(true);
46
+ const queries = useMemo(() => getQueries(type), []);
47
+ const {
48
+ data,
49
+ loading: dataIsLoading,
50
+ refetch
51
+ } = useDataQuery(queries, {
52
+ lazy: true
53
+ });
54
+ const subscribeMutation = useMemo(() => getSubscribeMutation(type, id), []);
55
+ const unsubscribeMutation = useMemo(() => getUnsubscribeMutation(type, id), []);
56
+ const [subscribe, {
57
+ loading: subscribeIsLoading
58
+ }] = useDataMutation(subscribeMutation, {
59
+ onComplete: res => {
60
+ if (res.status === 'OK') {
61
+ refetch({
62
+ id
63
+ });
64
+ }
65
+ }
66
+ });
67
+ const [unsubscribe, {
68
+ loading: unsubscribeIsLoading
69
+ }] = useDataMutation(unsubscribeMutation, {
70
+ onComplete: res => {
71
+ if (res.status === 'OK') {
72
+ refetch({
73
+ id
74
+ });
75
+ }
76
+ }
77
+ });
78
+ useEffect(() => {
79
+ if (id) {
80
+ refetch({
81
+ id
82
+ });
83
+ }
84
+ }, [type, id]);
85
+
86
+ const getAccessLevelString = access => {
87
+ const re = new RegExp("(?<accessLevel>".concat(READ_AND_WRITE, "?)"));
88
+ const accessMatch = re.exec(access);
89
+
90
+ switch (accessMatch.groups.accessLevel) {
91
+ case READ_ONLY:
92
+ return i18n.t('view only');
93
+
94
+ case READ_AND_WRITE:
95
+ return i18n.t('view and edit');
96
+ }
97
+ };
98
+
99
+ const getSharingSummary = ao => {
100
+ const sharingText = [];
101
+ const re = new RegExp("^".concat(READ_AND_WRITE, "?"));
102
+
103
+ if (re.test(ao.publicAccess)) {
104
+ sharingText.push(i18n.t('all users ({{accessLevel}})', {
105
+ accessLevel: getAccessLevelString(ao.publicAccess)
106
+ }));
107
+ }
108
+
109
+ const userAccesses = ao.userAccesses;
110
+ const groupAccesses = ao.userGroupAccesses;
111
+ userAccesses.concat(groupAccesses).forEach(accessRule => {
112
+ sharingText.push(i18n.t('{{userOrGroup}} ({{accessLevel}})', {
113
+ userOrGroup: accessRule.displayName,
114
+ accessLevel: getAccessLevelString(accessRule.access)
115
+ }));
116
+ });
117
+ return sharingText.length ? i18n.t('Shared with {{commaSeparatedListOfUsersAndGroups}}', {
118
+ commaSeparatedListOfUsersAndGroups: sharingText.join(', ')
119
+ }) : i18n.t('Not shared with any users or groups');
120
+ };
121
+
122
+ return /*#__PURE__*/React.createElement("div", {
123
+ className: "jsx-".concat(styles.__hash) + " " + (cx('container', {
124
+ expanded: isExpanded
125
+ }) || "")
126
+ }, /*#__PURE__*/React.createElement("div", {
127
+ onClick: () => setIsExpanded(!isExpanded),
128
+ className: "jsx-".concat(styles.__hash) + " " + "header"
129
+ }, i18n.t('About this visualization'), isExpanded ? /*#__PURE__*/React.createElement(IconChevronUp24, {
130
+ color: colors.grey700
131
+ }) : /*#__PURE__*/React.createElement(IconChevronDown24, {
132
+ color: colors.grey700
133
+ })), isExpanded && /*#__PURE__*/React.createElement(React.Fragment, null, dataIsLoading && /*#__PURE__*/React.createElement("div", {
134
+ className: "jsx-".concat(styles.__hash) + " " + "loader"
135
+ }, /*#__PURE__*/React.createElement(CircularLoader, {
136
+ small: true
137
+ })), data && /*#__PURE__*/React.createElement("div", {
138
+ className: "jsx-".concat(styles.__hash) + " " + "content"
139
+ }, /*#__PURE__*/React.createElement("p", {
140
+ className: "jsx-".concat(styles.__hash) + " " + (cx('detailLine', {
141
+ noDescription: !data.ao.displayDescription
142
+ }) || "")
143
+ }, data.ao.displayDescription ? data.ao.displayDescription : i18n.t('No description')), /*#__PURE__*/React.createElement("div", {
144
+ className: "jsx-".concat(styles.__hash)
145
+ }, /*#__PURE__*/React.createElement("p", {
146
+ className: "jsx-".concat(styles.__hash) + " " + "detailLine"
147
+ }, /*#__PURE__*/React.createElement(IconShare16, {
148
+ color: colors.grey700
149
+ }), getSharingSummary(data.ao)), /*#__PURE__*/React.createElement("p", {
150
+ className: "jsx-".concat(styles.__hash) + " " + "detailLine"
151
+ }, /*#__PURE__*/React.createElement(IconClock16, {
152
+ color: colors.grey700
153
+ }), i18n.t('Last updated {{time}}', {
154
+ time: moment(data.ao.lastUpdated).fromNow()
155
+ })), /*#__PURE__*/React.createElement("p", {
156
+ className: "jsx-".concat(styles.__hash) + " " + "detailLine"
157
+ }, /*#__PURE__*/React.createElement(IconUser16, {
158
+ color: colors.grey700
159
+ }), i18n.t('Created {{time}} by {{author}}', {
160
+ time: moment(data.ao.created).fromNow(),
161
+ author: data.ao.createdBy.displayName
162
+ })), /*#__PURE__*/React.createElement("p", {
163
+ className: "jsx-".concat(styles.__hash) + " " + "detailLine"
164
+ }, /*#__PURE__*/React.createElement(IconView16, {
165
+ color: colors.grey700
166
+ }), i18n.t('Viewed {{count}} times', {
167
+ count: data.dataStatistics.views,
168
+ defaultValue: 'Viewed 1 time',
169
+ defaultValue_plural: 'Viewed {{count}} times'
170
+ }))), /*#__PURE__*/React.createElement("div", {
171
+ className: "jsx-".concat(styles.__hash) + " " + "subsection"
172
+ }, /*#__PURE__*/React.createElement("span", {
173
+ className: "jsx-".concat(styles.__hash) + " " + "subsectionTitle"
174
+ }, i18n.t('Notifications')), data.ao.subscribed ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("p", {
175
+ className: "jsx-".concat(styles.__hash) + " " + "subscriptionLabel"
176
+ }, i18n.t("You're subscribed and getting updates about new interpretations.")), /*#__PURE__*/React.createElement(Button, {
177
+ icon: /*#__PURE__*/React.createElement(IconSubscribeOff24, {
178
+ color: colors.grey700
179
+ }),
180
+ secondary: true,
181
+ small: true,
182
+ disabled: unsubscribeIsLoading,
183
+ onClick: unsubscribe
184
+ }, i18n.t('Unsubscribe'))) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("p", {
185
+ className: "jsx-".concat(styles.__hash) + " " + "subscriptionLabel"
186
+ }, i18n.t('Subscribe to get updates about new interpretations.')), /*#__PURE__*/React.createElement(Button, {
187
+ icon: /*#__PURE__*/React.createElement(IconSubscribe24, {
188
+ color: colors.grey700
189
+ }),
190
+ secondary: true,
191
+ small: true,
192
+ disabled: subscribeIsLoading,
193
+ onClick: subscribe
194
+ }, i18n.t('Subscribe')))))), /*#__PURE__*/React.createElement(_JSXStyle, {
195
+ id: styles.__hash
196
+ }, styles));
197
+ };
198
+
199
+ AboutAOUnit.propTypes = {
200
+ id: PropTypes.string.isRequired,
201
+ type: PropTypes.string.isRequired
202
+ };
203
+ 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
  };