@dhis2/analytics 26.13.1 → 26.13.3

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 (43) hide show
  1. package/build/cjs/components/FileMenu/GetLinkDialog.js +6 -7
  2. package/build/cjs/components/FileMenu/__tests__/GetLinkDialog.spec.js +65 -16
  3. package/build/cjs/components/FileMenu/utils.js +4 -3
  4. package/build/cjs/components/RichText/Parser/MdParser.js +18 -0
  5. package/build/cjs/components/RichText/Parser/__tests__/MdParser.spec.js +2 -2
  6. package/build/cjs/locales/ar/translations.json +18 -11
  7. package/build/cjs/locales/da/translations.json +18 -11
  8. package/build/cjs/locales/fr/translations.json +18 -11
  9. package/build/cjs/locales/my/translations.json +18 -11
  10. package/build/cjs/locales/nb/translations.json +18 -11
  11. package/build/cjs/locales/prs/translations.json +18 -11
  12. package/build/cjs/locales/ps/translations.json +18 -11
  13. package/build/cjs/locales/pt_BR/translations.json +18 -11
  14. package/build/cjs/locales/ru/translations.json +21 -14
  15. package/build/cjs/locales/tg/translations.json +18 -11
  16. package/build/cjs/locales/uk/translations.json +18 -11
  17. package/build/cjs/locales/ur/translations.json +18 -11
  18. package/build/cjs/locales/uz_UZ_Cyrl/translations.json +18 -11
  19. package/build/cjs/locales/uz_UZ_Latn/translations.json +18 -11
  20. package/build/cjs/locales/zh/translations.json +7 -7
  21. package/build/cjs/locales/zh_CN/translations.json +18 -11
  22. package/build/es/components/FileMenu/GetLinkDialog.js +6 -7
  23. package/build/es/components/FileMenu/__tests__/GetLinkDialog.spec.js +65 -16
  24. package/build/es/components/FileMenu/utils.js +4 -3
  25. package/build/es/components/RichText/Parser/MdParser.js +18 -0
  26. package/build/es/components/RichText/Parser/__tests__/MdParser.spec.js +2 -2
  27. package/build/es/locales/ar/translations.json +18 -11
  28. package/build/es/locales/da/translations.json +18 -11
  29. package/build/es/locales/fr/translations.json +18 -11
  30. package/build/es/locales/my/translations.json +18 -11
  31. package/build/es/locales/nb/translations.json +18 -11
  32. package/build/es/locales/prs/translations.json +18 -11
  33. package/build/es/locales/ps/translations.json +18 -11
  34. package/build/es/locales/pt_BR/translations.json +18 -11
  35. package/build/es/locales/ru/translations.json +21 -14
  36. package/build/es/locales/tg/translations.json +18 -11
  37. package/build/es/locales/uk/translations.json +18 -11
  38. package/build/es/locales/ur/translations.json +18 -11
  39. package/build/es/locales/uz_UZ_Cyrl/translations.json +18 -11
  40. package/build/es/locales/uz_UZ_Latn/translations.json +18 -11
  41. package/build/es/locales/zh/translations.json +7 -7
  42. package/build/es/locales/zh_CN/translations.json +18 -11
  43. package/package.json +1 -1
@@ -44,11 +44,6 @@
44
44
  "No data elements found": "",
45
45
  "Drag items here, or double click in the list, to start building a calculation formula": "",
46
46
  "Math operators": "",
47
- "Data Type": "",
48
- "Only {{dataType}} can be used in {{visType}}": "",
49
- "All types": "",
50
- "Disaggregation": "分解",
51
- "No data": "无数据",
52
47
  "Expression description": "表达式描述",
53
48
  "Error loading value": "",
54
49
  "None": "无",
@@ -97,9 +92,24 @@
97
92
  "{{ offsetPeriodType }} × {{ offsetPeriods }}": "",
98
93
  "Expression": "表达式",
99
94
  "Filter": "过滤器",
95
+ "All available options are already selected": "",
96
+ "No available options for this item": "",
97
+ "Search by option name": "",
98
+ "Back to all items": "",
99
+ "Options": "选项",
100
+ "Selected items": "",
101
+ "Data Type": "",
102
+ "Only {{dataType}} can be used in {{visType}}": "",
103
+ "All types": "",
104
+ "Disaggregation": "分解",
105
+ "No data": "无数据",
100
106
  "Search by data item name": "",
101
- "No items selected": "",
102
107
  "Selected Items": "",
108
+ "All available items are already selected": "",
109
+ "Calculation": "",
110
+ "Metric type": "",
111
+ "All metrics": "",
112
+ "No items selected": "",
103
113
  "No indicators found": "",
104
114
  "No data sets found": "",
105
115
  "No event data items found": "",
@@ -111,9 +121,7 @@
111
121
  "No program indicators found for \"{{- searchTerm}}\"": "",
112
122
  "No calculations found for \"{{- searchTerm}}\"": "",
113
123
  "Nothing found for \"{{- searchTerm}}\"": "",
114
- "Calculation": "",
115
- "Metric type": "",
116
- "All metrics": "",
124
+ "Click to choose from available options": "",
117
125
  "Move to {{axisName}}": "",
118
126
  "Add to {{axisName}}": "添加到 {{axisName}}",
119
127
  "Not available for {{visualizationType}}": "",
@@ -130,7 +138,6 @@
130
138
  "Manually select items...": "",
131
139
  "Nothing found in {{- dimensionTitle}}": "",
132
140
  "Search": "搜索",
133
- "Nothing found for {{- searchTerm}}": "",
134
141
  "Delete {{fileType}}": "",
135
142
  "This {{fileType}} and related interpretations will be deleted. Continue?": "",
136
143
  "Delete": "删除",
@@ -217,7 +224,6 @@
217
224
  "No line lists found. Click New line list to get started.": "",
218
225
  "No line lists found. Try adjusting your search or filter options to find what you're looking for.": "",
219
226
  "New line list": "",
220
- "Options": "选项",
221
227
  "Hide": "隐藏",
222
228
  "{{count}} org units": "",
223
229
  "{{count}} levels": "",
@@ -358,6 +364,7 @@
358
364
  "Program indicators": "项目指标",
359
365
  "Program indicator": "项目指标",
360
366
  "Calculations": "",
367
+ "Option": "选项",
361
368
  "Number": "数字",
362
369
  "Formula is empty. Add items to the formula from the lists on the left.": "",
363
370
  "Consecutive math operators": "",
@@ -13,12 +13,11 @@ export const GetLinkDialog = _ref => {
13
13
  onClose
14
14
  } = _ref;
15
15
  const {
16
+ apiVersion,
16
17
  baseUrl
17
18
  } = useConfig();
18
-
19
- // TODO simply use href from the visualization object?
20
- const appBaseUrl = new URL(baseUrl, self.location.href);
21
- const appUrl = new URL(appPathFor(type, id), appBaseUrl);
19
+ const appBaseUrl = new URL(baseUrl.endsWith('/') ? baseUrl : `${baseUrl}/`, self.location.href).href;
20
+ const appUrl = new URL(appPathFor(type, id, apiVersion), appBaseUrl).href;
22
21
  return /*#__PURE__*/React.createElement(Modal, {
23
22
  onClose: onClose
24
23
  }, /*#__PURE__*/React.createElement(_JSXStyle, {
@@ -28,12 +27,12 @@ export const GetLinkDialog = _ref => {
28
27
  }, i18n.t('Open in this app')), /*#__PURE__*/React.createElement("div", {
29
28
  className: `jsx-${styles.__hash}` + " " + "link-container"
30
29
  }, /*#__PURE__*/React.createElement("a", {
31
- href: appUrl.href,
30
+ href: appUrl,
32
31
  className: `jsx-${styles.__hash}`
33
- }, appUrl.href), /*#__PURE__*/React.createElement(Button, {
32
+ }, appUrl), /*#__PURE__*/React.createElement(Button, {
34
33
  icon: /*#__PURE__*/React.createElement(IconCopy24, null),
35
34
  small: true,
36
- onClick: () => navigator.clipboard.writeText(appUrl.href)
35
+ onClick: () => navigator.clipboard.writeText(appUrl)
37
36
  }))), /*#__PURE__*/React.createElement(ModalActions, null, /*#__PURE__*/React.createElement(ButtonStrip, null, /*#__PURE__*/React.createElement(Button, {
38
37
  onClick: onClose,
39
38
  secondary: true
@@ -2,16 +2,48 @@ import { Button, Modal } from '@dhis2/ui';
2
2
  import { shallow } from 'enzyme';
3
3
  import React from 'react';
4
4
  import { GetLinkDialog } from '../GetLinkDialog.js';
5
- import { appPathFor } from '../utils.js';
6
- const testBaseUrl = 'http://test.tld/test';
5
+ const testBaseUrl = 'http://host.tld/test/';
6
+ const mockUseConfig = jest.fn(() => ({
7
+ apiVersion: 42,
8
+ baseUrl: testBaseUrl
9
+ }));
7
10
  jest.mock('@dhis2/app-runtime', () => ({
8
- useConfig: () => ({
9
- baseUrl: testBaseUrl
10
- })
11
+ useConfig: () => mockUseConfig()
11
12
  }));
13
+ const tests = [{
14
+ type: 'visualization',
15
+ baseUrl: 'http://host.tld',
16
+ id: 'dv-id-1',
17
+ expected: 'http://host.tld/dhis-web-data-visualizer/#/dv-id-1'
18
+ }, {
19
+ type: 'visualization',
20
+ baseUrl: testBaseUrl,
21
+ id: 'dv-id-2',
22
+ expected: 'http://host.tld/test/dhis-web-data-visualizer/#/dv-id-2'
23
+ }, {
24
+ type: 'eventVisualization',
25
+ baseUrl: 'http://host.tld/other-path/',
26
+ id: 'll-id-1',
27
+ expected: 'http://host.tld/other-path/dhis-web-line-listing/#/ll-id-1'
28
+ }, {
29
+ type: 'eventVisualization',
30
+ apiVersion: 41,
31
+ baseUrl: 'http://host.tld/other-path',
32
+ id: 'll-id-2',
33
+ expected: 'http://host.tld/other-path/api/apps/line-listing/#/ll-id-2'
34
+ }, {
35
+ type: 'map',
36
+ baseUrl: testBaseUrl,
37
+ id: 'map-id-1',
38
+ expected: 'http://host.tld/test/dhis-web-maps/#/map-id-1'
39
+ }, {
40
+ type: 'map',
41
+ baseUrl: '../',
42
+ id: 'map-id-2',
43
+ expected: 'http://localhost/dhis-web-maps/#/map-id-2'
44
+ }];
12
45
  describe('The FileMenu - GetLinkDialog component', () => {
13
46
  let shallowGetLinkDialog;
14
- let props;
15
47
  const onClose = jest.fn();
16
48
  const getGetLinkDialogComponent = props => {
17
49
  if (!shallowGetLinkDialog) {
@@ -21,21 +53,38 @@ describe('The FileMenu - GetLinkDialog component', () => {
21
53
  };
22
54
  beforeEach(() => {
23
55
  shallowGetLinkDialog = undefined;
24
- props = {
25
- type: 'visualization',
26
- id: 'get-link-test-id',
27
- onClose
28
- };
29
56
  });
30
57
  it('renders a Modal component', () => {
31
- expect(getGetLinkDialogComponent(props).find(Modal)).toHaveLength(1);
58
+ expect(getGetLinkDialogComponent({
59
+ type: tests[0].type,
60
+ id: tests[0].id
61
+ }).find(Modal)).toHaveLength(1);
32
62
  });
33
- it('renders a <a> tag containing the type and id props', () => {
34
- const href = getGetLinkDialogComponent(props).find('a').prop('href');
35
- expect(href).toMatch(new URL(appPathFor(props.type, props.id), testBaseUrl).href);
63
+ test.each(tests)('renders a <a> tag containing the correct app path and id', _ref => {
64
+ let {
65
+ apiVersion,
66
+ baseUrl,
67
+ type,
68
+ id,
69
+ expected
70
+ } = _ref;
71
+ mockUseConfig.mockReturnValueOnce({
72
+ apiVersion: apiVersion || 42,
73
+ baseUrl
74
+ });
75
+ const href = getGetLinkDialogComponent({
76
+ type,
77
+ id,
78
+ onClose
79
+ }).find('a').prop('href');
80
+ expect(href).toMatch(expected);
36
81
  });
37
82
  it('calls the onClose callback when the Close button is clicked', () => {
38
- getGetLinkDialogComponent(props).find(Button).at(1).simulate('click');
83
+ getGetLinkDialogComponent({
84
+ type: tests[0].type,
85
+ id: tests[0].id,
86
+ onClose
87
+ }).find(Button).at(1).simulate('click');
39
88
  expect(onClose).toHaveBeenCalled();
40
89
  });
41
90
  });
@@ -19,14 +19,15 @@ export const labelForFileType = fileType => {
19
19
  return fileType;
20
20
  }
21
21
  };
22
- export const appPathFor = (fileType, id) => {
22
+ export const appPathFor = (fileType, id, apiVersion) => {
23
23
  switch (fileType) {
24
24
  case FILE_TYPE_VISUALIZATION:
25
25
  return `dhis-web-data-visualizer/#/${id}`;
26
26
  case FILE_TYPE_MAP:
27
- return `dhis-web-maps/index.html?id=${id}`;
27
+ return `dhis-web-maps/#/${id}`;
28
28
  case FILE_TYPE_EVENT_VISUALIZATION:
29
- return `api/apps/line-listing/#/${id}`;
29
+ // VERSION-TOGGLE: remove when 42 is the lowest supported version
30
+ return apiVersion >= 42 ? `dhis-web-line-listing/#/${id}` : `api/apps/line-listing/#/${id}`;
30
31
  default:
31
32
  return `${window.location.search}${window.location.hash}`;
32
33
  }
@@ -80,6 +80,24 @@ export class MdParser {
80
80
  breaks: true
81
81
  });
82
82
 
83
+ // From: https://github.com/markdown-it/markdown-it/blob/master/docs/architecture.md#renderer
84
+ // Remember the old renderer if overridden, or proxy to the default renderer.
85
+ const defaultRender = md.renderer.rules.link_open || (
86
+ // eslint-disable-next-line max-params
87
+ (tokens, idx, options, env, self) => {
88
+ return self.renderToken(tokens, idx, options);
89
+ });
90
+
91
+ // eslint-disable-next-line max-params
92
+ md.renderer.rules.link_open = (tokens, idx, options, env, self) => {
93
+ // Add a new 'target' and 'rel' attributes, or replace the value of the existing ones.
94
+ tokens[idx].attrSet('target', '_blank');
95
+ tokens[idx].attrSet('rel', 'noreferrer');
96
+
97
+ // Pass the token to the default renderer.
98
+ return defaultRender(tokens, idx, options, env, self);
99
+ };
100
+
83
101
  // *bold* -> <strong>bold</strong>
84
102
  md.inline.ruler.push('strong', parse(codes.bold.name));
85
103
 
@@ -14,13 +14,13 @@ describe('MdParser class', () => {
14
14
  // nested italic/bold combinations not allowed
15
15
  ['_italic with *bold* inside_', '<em>italic with *bold* inside</em>'], ['*bold with _italic_ inside*', '<strong>bold with _italic_ inside</strong>'], ['text with : and :)', 'text with : and <span>\u{1F642}</span>'], ['(parenthesis and :))', '(parenthesis and <span>\u{1F642}</span>)'], [':((parenthesis:))', '<span>\u{1F641}</span>(parenthesis<span>\u{1F642}</span>)'], [':+1+1', '<span>\u{1F44D}</span>+1'], ['-1:-1', '-1<span>\u{1F44E}</span>'],
16
16
  // links
17
- ['example.com/path', '<a href="http://example.com/path">example.com/path</a>'],
17
+ ['[Test link](https://host.tld/path/link)', '<a href="https://host.tld/path/link" target="_blank" rel="noreferrer">Test link</a>'], ['example.com/path', '<a href="http://example.com/path" target="_blank" rel="noreferrer">example.com/path</a>'],
18
18
  // not recognized links with italic marker inside not converted
19
19
  ['example_with_underscore.com/path', 'example_with_underscore.com/path'], ['example_with_underscore.com/path_with_underscore', 'example_with_underscore.com/path_with_underscore'],
20
20
  // markers around non-recognized links
21
21
  ['link example_with_underscore.com/path should _not_ be converted', 'link example_with_underscore.com/path should <em>not</em> be converted'], ['link example_with_underscore.com/path should *not* be converted', 'link example_with_underscore.com/path should <strong>not</strong> be converted'],
22
22
  // italic marker inside links not converted
23
- ['example.com/path_with_underscore', '<a href="http://example.com/path_with_underscore">example.com/path_with_underscore</a>'], ['_italic_ and *bold* with a example.com/link_with_underscore', '<em>italic</em> and <strong>bold</strong> with a <a href="http://example.com/link_with_underscore">example.com/link_with_underscore</a>'], ['example.com/path with *bold* after :)', '<a href="http://example.com/path">example.com/path</a> with <strong>bold</strong> after <span>\u{1F642}</span>'], ['_before_ example.com/path_with_underscore *after* :)', '<em>before</em> <a href="http://example.com/path_with_underscore">example.com/path_with_underscore</a> <strong>after</strong> <span>\u{1F642}</span>'],
23
+ ['example.com/path_with_underscore', '<a href="http://example.com/path_with_underscore" target="_blank" rel="noreferrer">example.com/path_with_underscore</a>'], ['_italic_ and *bold* with a example.com/link_with_underscore', '<em>italic</em> and <strong>bold</strong> with a <a href="http://example.com/link_with_underscore" target="_blank" rel="noreferrer">example.com/link_with_underscore</a>'], ['example.com/path with *bold* after :)', '<a href="http://example.com/path" target="_blank" rel="noreferrer">example.com/path</a> with <strong>bold</strong> after <span>\u{1F642}</span>'], ['_before_ example.com/path_with_underscore *after* :)', '<em>before</em> <a href="http://example.com/path_with_underscore" target="_blank" rel="noreferrer">example.com/path_with_underscore</a> <strong>after</strong> <span>\u{1F642}</span>'],
24
24
  // italic/bold markers right after non-word characters
25
25
  ['_If % of ART retention rate after 12 months >90(%)_: Sustain the efforts.', '<em>If % of ART retention rate after 12 months &gt;90(%)</em>: Sustain the efforts.'], ['*If % of ART retention rate after 12 months >90(%)*: Sustain the efforts.', '<strong>If % of ART retention rate after 12 months &gt;90(%)</strong>: Sustain the efforts.']];
26
26
  inlineTests.forEach(test => {
@@ -49,11 +49,6 @@
49
49
  "No data elements found": "",
50
50
  "Drag items here, or double click in the list, to start building a calculation formula": "",
51
51
  "Math operators": "",
52
- "Data Type": "نوع البيانات",
53
- "Only {{dataType}} can be used in {{visType}}": "",
54
- "All types": "جميع الأنواع",
55
- "Disaggregation": "تصنيف",
56
- "No data": "لا توجد بيانات",
57
52
  "Expression description": "وصف التعبير",
58
53
  "Error loading value": "",
59
54
  "None": "لا شيء",
@@ -102,9 +97,24 @@
102
97
  "{{ offsetPeriodType }} × {{ offsetPeriods }}": "",
103
98
  "Expression": "‏‏التعبير",
104
99
  "Filter": "عامل التصفية",
100
+ "All available options are already selected": "",
101
+ "No available options for this item": "",
102
+ "Search by option name": "",
103
+ "Back to all items": "",
104
+ "Options": "الخيارات",
105
+ "Selected items": "",
106
+ "Data Type": "نوع البيانات",
107
+ "Only {{dataType}} can be used in {{visType}}": "",
108
+ "All types": "جميع الأنواع",
109
+ "Disaggregation": "تصنيف",
110
+ "No data": "لا توجد بيانات",
105
111
  "Search by data item name": "",
106
- "No items selected": "لم يتم تحديد عناصر",
107
112
  "Selected Items": "العناصر المحددة",
113
+ "All available items are already selected": "",
114
+ "Calculation": "",
115
+ "Metric type": "",
116
+ "All metrics": "جميع المقاييس",
117
+ "No items selected": "لم يتم تحديد عناصر",
108
118
  "No indicators found": "",
109
119
  "No data sets found": "",
110
120
  "No event data items found": "",
@@ -116,9 +126,7 @@
116
126
  "No program indicators found for \"{{- searchTerm}}\"": "",
117
127
  "No calculations found for \"{{- searchTerm}}\"": "",
118
128
  "Nothing found for \"{{- searchTerm}}\"": "",
119
- "Calculation": "",
120
- "Metric type": "",
121
- "All metrics": "جميع المقاييس",
129
+ "Click to choose from available options": "",
122
130
  "Move to {{axisName}}": "تحريك إلى {{axisName}}",
123
131
  "Add to {{axisName}}": "إضافة إلى {{axisName}}",
124
132
  "Not available for {{visualizationType}}": "غير متوفر لـ {{visualizationType}}",
@@ -135,7 +143,6 @@
135
143
  "Manually select items...": "",
136
144
  "Nothing found in {{- dimensionTitle}}": "",
137
145
  "Search": "البحث",
138
- "Nothing found for {{- searchTerm}}": "",
139
146
  "Delete {{fileType}}": "حذف {{fileType}}",
140
147
  "This {{fileType}} and related interpretations will be deleted. Continue?": "",
141
148
  "Delete": "حذف",
@@ -227,7 +234,6 @@
227
234
  "No line lists found. Click New line list to get started.": "",
228
235
  "No line lists found. Try adjusting your search or filter options to find what you're looking for.": "",
229
236
  "New line list": "",
230
- "Options": "الخيارات",
231
237
  "Hide": "إخفاء",
232
238
  "{{count}} org units_0": "",
233
239
  "{{count}} org units_1": "",
@@ -383,6 +389,7 @@
383
389
  "Program indicators": "مؤشرات البرنامج",
384
390
  "Program indicator": "مؤشرات البرنامج",
385
391
  "Calculations": "",
392
+ "Option": "الخيار",
386
393
  "Number": "العدد",
387
394
  "Formula is empty. Add items to the formula from the lists on the left.": "",
388
395
  "Consecutive math operators": "",
@@ -45,11 +45,6 @@
45
45
  "No data elements found": "",
46
46
  "Drag items here, or double click in the list, to start building a calculation formula": "",
47
47
  "Math operators": "",
48
- "Data Type": "",
49
- "Only {{dataType}} can be used in {{visType}}": "",
50
- "All types": "",
51
- "Disaggregation": "",
52
- "No data": "",
53
48
  "Expression description": "",
54
49
  "Error loading value": "",
55
50
  "None": "None",
@@ -98,9 +93,24 @@
98
93
  "{{ offsetPeriodType }} × {{ offsetPeriods }}": "",
99
94
  "Expression": "Expression",
100
95
  "Filter": "Filter",
96
+ "All available options are already selected": "",
97
+ "No available options for this item": "",
98
+ "Search by option name": "",
99
+ "Back to all items": "",
100
+ "Options": "",
101
+ "Selected items": "",
102
+ "Data Type": "",
103
+ "Only {{dataType}} can be used in {{visType}}": "",
104
+ "All types": "",
105
+ "Disaggregation": "",
106
+ "No data": "",
101
107
  "Search by data item name": "",
102
- "No items selected": "",
103
108
  "Selected Items": "",
109
+ "All available items are already selected": "",
110
+ "Calculation": "",
111
+ "Metric type": "",
112
+ "All metrics": "",
113
+ "No items selected": "",
104
114
  "No indicators found": "",
105
115
  "No data sets found": "",
106
116
  "No event data items found": "",
@@ -112,9 +122,7 @@
112
122
  "No program indicators found for \"{{- searchTerm}}\"": "",
113
123
  "No calculations found for \"{{- searchTerm}}\"": "",
114
124
  "Nothing found for \"{{- searchTerm}}\"": "",
115
- "Calculation": "",
116
- "Metric type": "",
117
- "All metrics": "",
125
+ "Click to choose from available options": "",
118
126
  "Move to {{axisName}}": "",
119
127
  "Add to {{axisName}}": "",
120
128
  "Not available for {{visualizationType}}": "",
@@ -131,7 +139,6 @@
131
139
  "Manually select items...": "",
132
140
  "Nothing found in {{- dimensionTitle}}": "",
133
141
  "Search": "",
134
- "Nothing found for {{- searchTerm}}": "",
135
142
  "Delete {{fileType}}": "",
136
143
  "This {{fileType}} and related interpretations will be deleted. Continue?": "",
137
144
  "Delete": "Delete",
@@ -219,7 +226,6 @@
219
226
  "No line lists found. Click New line list to get started.": "",
220
227
  "No line lists found. Try adjusting your search or filter options to find what you're looking for.": "",
221
228
  "New line list": "",
222
- "Options": "",
223
229
  "Hide": "",
224
230
  "{{count}} org units": "",
225
231
  "{{count}} org units_plural": "",
@@ -363,6 +369,7 @@
363
369
  "Program indicators": "",
364
370
  "Program indicator": "",
365
371
  "Calculations": "",
372
+ "Option": "Option",
366
373
  "Number": "Number",
367
374
  "Formula is empty. Add items to the formula from the lists on the left.": "",
368
375
  "Consecutive math operators": "",
@@ -45,11 +45,6 @@
45
45
  "No data elements found": "Aucun élément de donnée trouvé",
46
46
  "Drag items here, or double click in the list, to start building a calculation formula": "",
47
47
  "Math operators": "Opérateurs mathématiques",
48
- "Data Type": "Type de données",
49
- "Only {{dataType}} can be used in {{visType}}": "",
50
- "All types": "Tous les types",
51
- "Disaggregation": "Disaggregation",
52
- "No data": "Aucune donnée",
53
48
  "Expression description": "Description de l'expression",
54
49
  "Error loading value": "",
55
50
  "None": "Aucun",
@@ -98,9 +93,24 @@
98
93
  "{{ offsetPeriodType }} × {{ offsetPeriods }}": "",
99
94
  "Expression": "Expression",
100
95
  "Filter": "Filtrer",
96
+ "All available options are already selected": "",
97
+ "No available options for this item": "",
98
+ "Search by option name": "",
99
+ "Back to all items": "",
100
+ "Options": "Options",
101
+ "Selected items": "",
102
+ "Data Type": "Type de données",
103
+ "Only {{dataType}} can be used in {{visType}}": "",
104
+ "All types": "Tous les types",
105
+ "Disaggregation": "Disaggregation",
106
+ "No data": "Aucune donnée",
101
107
  "Search by data item name": "Rechercher par le nom de la donnée",
102
- "No items selected": "Aucun élément sélectionné",
103
108
  "Selected Items": "Éléments sélectionnés",
109
+ "All available items are already selected": "",
110
+ "Calculation": "",
111
+ "Metric type": "Type de métrique",
112
+ "All metrics": "Tous les éléments",
113
+ "No items selected": "Aucun élément sélectionné",
104
114
  "No indicators found": "Aucun indicateur trouvé",
105
115
  "No data sets found": "Aucun ensemble de données trouvé",
106
116
  "No event data items found": "Aucun éléments de données événement trouvé",
@@ -112,9 +122,7 @@
112
122
  "No program indicators found for \"{{- searchTerm}}\"": "Aucun Indicateur de programme trouvé pour \"{{- searchTerm}}\"",
113
123
  "No calculations found for \"{{- searchTerm}}\"": "",
114
124
  "Nothing found for \"{{- searchTerm}}\"": "Rien retrouvé pour \"{{- searchTerm}}\"",
115
- "Calculation": "",
116
- "Metric type": "Type de métrique",
117
- "All metrics": "Tous les éléments",
125
+ "Click to choose from available options": "",
118
126
  "Move to {{axisName}}": "Déménager à {{axisName}}",
119
127
  "Add to {{axisName}}": "Ajouter à {{axisName}} ",
120
128
  "Not available for {{visualizationType}}": "Non disponible pour {{visualizationType}}",
@@ -131,7 +139,6 @@
131
139
  "Manually select items...": "",
132
140
  "Nothing found in {{- dimensionTitle}}": "",
133
141
  "Search": "Chercher",
134
- "Nothing found for {{- searchTerm}}": "",
135
142
  "Delete {{fileType}}": "Supprimer {{fileType}}",
136
143
  "This {{fileType}} and related interpretations will be deleted. Continue?": "",
137
144
  "Delete": "Supprimer",
@@ -219,7 +226,6 @@
219
226
  "No line lists found. Click New line list to get started.": "",
220
227
  "No line lists found. Try adjusting your search or filter options to find what you're looking for.": "",
221
228
  "New line list": "",
222
- "Options": "Options",
223
229
  "Hide": "Masquer",
224
230
  "{{count}} org units": "",
225
231
  "{{count}} org units_plural": "",
@@ -363,6 +369,7 @@
363
369
  "Program indicators": "Program indicators",
364
370
  "Program indicator": "Gestion des indicateurs de programme",
365
371
  "Calculations": "",
372
+ "Option": "Option",
366
373
  "Number": "Nombre",
367
374
  "Formula is empty. Add items to the formula from the lists on the left.": "",
368
375
  "Consecutive math operators": "",
@@ -44,11 +44,6 @@
44
44
  "No data elements found": "",
45
45
  "Drag items here, or double click in the list, to start building a calculation formula": "",
46
46
  "Math operators": "",
47
- "Data Type": "",
48
- "Only {{dataType}} can be used in {{visType}}": "",
49
- "All types": "",
50
- "Disaggregation": "",
51
- "No data": "အချက်အလက်မရှိပါ။",
52
47
  "Expression description": "",
53
48
  "Error loading value": "",
54
49
  "None": "တစ်ခုမှမဟုတ်",
@@ -97,9 +92,24 @@
97
92
  "{{ offsetPeriodType }} × {{ offsetPeriods }}": "",
98
93
  "Expression": "ဖော်ပြချက်",
99
94
  "Filter": "ရှာဖွေထုတ်သည်",
95
+ "All available options are already selected": "",
96
+ "No available options for this item": "",
97
+ "Search by option name": "",
98
+ "Back to all items": "",
99
+ "Options": "",
100
+ "Selected items": "",
101
+ "Data Type": "",
102
+ "Only {{dataType}} can be used in {{visType}}": "",
103
+ "All types": "",
104
+ "Disaggregation": "",
105
+ "No data": "အချက်အလက်မရှိပါ။",
100
106
  "Search by data item name": "",
101
- "No items selected": "",
102
107
  "Selected Items": "",
108
+ "All available items are already selected": "",
109
+ "Calculation": "",
110
+ "Metric type": "",
111
+ "All metrics": "",
112
+ "No items selected": "",
103
113
  "No indicators found": "",
104
114
  "No data sets found": "",
105
115
  "No event data items found": "",
@@ -111,9 +121,7 @@
111
121
  "No program indicators found for \"{{- searchTerm}}\"": "",
112
122
  "No calculations found for \"{{- searchTerm}}\"": "",
113
123
  "Nothing found for \"{{- searchTerm}}\"": "",
114
- "Calculation": "",
115
- "Metric type": "",
116
- "All metrics": "",
124
+ "Click to choose from available options": "",
117
125
  "Move to {{axisName}}": "",
118
126
  "Add to {{axisName}}": "",
119
127
  "Not available for {{visualizationType}}": "",
@@ -130,7 +138,6 @@
130
138
  "Manually select items...": "",
131
139
  "Nothing found in {{- dimensionTitle}}": "",
132
140
  "Search": "",
133
- "Nothing found for {{- searchTerm}}": "",
134
141
  "Delete {{fileType}}": "",
135
142
  "This {{fileType}} and related interpretations will be deleted. Continue?": "",
136
143
  "Delete": "ဖျက်ဆီးသည်",
@@ -217,7 +224,6 @@
217
224
  "No line lists found. Click New line list to get started.": "",
218
225
  "No line lists found. Try adjusting your search or filter options to find what you're looking for.": "",
219
226
  "New line list": "",
220
- "Options": "",
221
227
  "Hide": "",
222
228
  "{{count}} org units": "",
223
229
  "{{count}} levels": "",
@@ -358,6 +364,7 @@
358
364
  "Program indicators": "",
359
365
  "Program indicator": "",
360
366
  "Calculations": "",
367
+ "Option": "Option",
361
368
  "Number": "ဂဏန်း",
362
369
  "Formula is empty. Add items to the formula from the lists on the left.": "",
363
370
  "Consecutive math operators": "",
@@ -45,11 +45,6 @@
45
45
  "No data elements found": "Ingen dataelementer funnet",
46
46
  "Drag items here, or double click in the list, to start building a calculation formula": "",
47
47
  "Math operators": "",
48
- "Data Type": "Datatype",
49
- "Only {{dataType}} can be used in {{visType}}": "",
50
- "All types": "Alle typer",
51
- "Disaggregation": "Disaggregering",
52
- "No data": "Ingen data",
53
48
  "Expression description": "Frasebeskrivelse",
54
49
  "Error loading value": "",
55
50
  "None": "Ingen",
@@ -98,9 +93,24 @@
98
93
  "{{ offsetPeriodType }} × {{ offsetPeriods }}": "",
99
94
  "Expression": "Uttrykk",
100
95
  "Filter": "Filter",
96
+ "All available options are already selected": "",
97
+ "No available options for this item": "",
98
+ "Search by option name": "",
99
+ "Back to all items": "",
100
+ "Options": "Alternativ",
101
+ "Selected items": "",
102
+ "Data Type": "Datatype",
103
+ "Only {{dataType}} can be used in {{visType}}": "",
104
+ "All types": "Alle typer",
105
+ "Disaggregation": "Disaggregering",
106
+ "No data": "Ingen data",
101
107
  "Search by data item name": "Søk etter datapunktnavn",
102
- "No items selected": "Ingen elementer er valgt",
103
108
  "Selected Items": "Valgte elementer",
109
+ "All available items are already selected": "",
110
+ "Calculation": "",
111
+ "Metric type": "Metrisk type",
112
+ "All metrics": "Alle beregninger",
113
+ "No items selected": "Ingen elementer er valgt",
104
114
  "No indicators found": "Ingen indikatorer funnet",
105
115
  "No data sets found": "Ingen datasett funnet",
106
116
  "No event data items found": "Ingen hendelsesdataelementer funnet",
@@ -112,9 +122,7 @@
112
122
  "No program indicators found for \"{{- searchTerm}}\"": "Ingen programindikatorer funnet for \"{{- searchTerm}}\"",
113
123
  "No calculations found for \"{{- searchTerm}}\"": "",
114
124
  "Nothing found for \"{{- searchTerm}}\"": "Ingenting funnet for \"{{- searchTerm}}\"",
115
- "Calculation": "",
116
- "Metric type": "Metrisk type",
117
- "All metrics": "Alle beregninger",
125
+ "Click to choose from available options": "",
118
126
  "Move to {{axisName}}": "Flytt til {{axisName}}",
119
127
  "Add to {{axisName}}": "Legg til {{axisName}}",
120
128
  "Not available for {{visualizationType}}": "Ikke tilgjengelig for {{visualizationType}}",
@@ -131,7 +139,6 @@
131
139
  "Manually select items...": "Velg elementer manuelt...",
132
140
  "Nothing found in {{- dimensionTitle}}": "Ingenting funnet i {{- dimensionTitle}}",
133
141
  "Search": "Søk",
134
- "Nothing found for {{- searchTerm}}": "",
135
142
  "Delete {{fileType}}": "Slett {{fileType}}",
136
143
  "This {{fileType}} and related interpretations will be deleted. Continue?": "Denne {{fileType}} og relaterte tolkninger vil bli slettet. Fortsette?",
137
144
  "Delete": "Slett",
@@ -219,7 +226,6 @@
219
226
  "No line lists found. Click New line list to get started.": "",
220
227
  "No line lists found. Try adjusting your search or filter options to find what you're looking for.": "",
221
228
  "New line list": "",
222
- "Options": "Alternativ",
223
229
  "Hide": "Skjul",
224
230
  "{{count}} org units": "",
225
231
  "{{count}} org units_plural": "",
@@ -363,6 +369,7 @@
363
369
  "Program indicators": "Programindikatorer",
364
370
  "Program indicator": "Programindikator",
365
371
  "Calculations": "",
372
+ "Option": "Alternativ",
366
373
  "Number": "Nummer",
367
374
  "Formula is empty. Add items to the formula from the lists on the left.": "",
368
375
  "Consecutive math operators": "",