@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
@@ -20,12 +20,11 @@ const GetLinkDialog = _ref => {
20
20
  onClose
21
21
  } = _ref;
22
22
  const {
23
+ apiVersion,
23
24
  baseUrl
24
25
  } = (0, _appRuntime.useConfig)();
25
-
26
- // TODO simply use href from the visualization object?
27
- const appBaseUrl = new URL(baseUrl, self.location.href);
28
- const appUrl = new URL((0, _utils.appPathFor)(type, id), appBaseUrl);
26
+ const appBaseUrl = new URL(baseUrl.endsWith('/') ? baseUrl : `${baseUrl}/`, self.location.href).href;
27
+ const appUrl = new URL((0, _utils.appPathFor)(type, id, apiVersion), appBaseUrl).href;
29
28
  return /*#__PURE__*/_react.default.createElement(_ui.Modal, {
30
29
  onClose: onClose
31
30
  }, /*#__PURE__*/_react.default.createElement(_style.default, {
@@ -35,12 +34,12 @@ const GetLinkDialog = _ref => {
35
34
  }, _index.default.t('Open in this app')), /*#__PURE__*/_react.default.createElement("div", {
36
35
  className: `jsx-${_GetLinkDialogStyles.styles.__hash}` + " " + "link-container"
37
36
  }, /*#__PURE__*/_react.default.createElement("a", {
38
- href: appUrl.href,
37
+ href: appUrl,
39
38
  className: `jsx-${_GetLinkDialogStyles.styles.__hash}`
40
- }, appUrl.href), /*#__PURE__*/_react.default.createElement(_ui.Button, {
39
+ }, appUrl), /*#__PURE__*/_react.default.createElement(_ui.Button, {
41
40
  icon: /*#__PURE__*/_react.default.createElement(_ui.IconCopy24, null),
42
41
  small: true,
43
- onClick: () => navigator.clipboard.writeText(appUrl.href)
42
+ onClick: () => navigator.clipboard.writeText(appUrl)
44
43
  }))), /*#__PURE__*/_react.default.createElement(_ui.ModalActions, null, /*#__PURE__*/_react.default.createElement(_ui.ButtonStrip, null, /*#__PURE__*/_react.default.createElement(_ui.Button, {
45
44
  onClick: onClose,
46
45
  secondary: true
@@ -4,17 +4,49 @@ var _ui = require("@dhis2/ui");
4
4
  var _enzyme = require("enzyme");
5
5
  var _react = _interopRequireDefault(require("react"));
6
6
  var _GetLinkDialog = require("../GetLinkDialog.js");
7
- var _utils = require("../utils.js");
8
7
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
- const testBaseUrl = 'http://test.tld/test';
8
+ const testBaseUrl = 'http://host.tld/test/';
9
+ const mockUseConfig = jest.fn(() => ({
10
+ apiVersion: 42,
11
+ baseUrl: testBaseUrl
12
+ }));
10
13
  jest.mock('@dhis2/app-runtime', () => ({
11
- useConfig: () => ({
12
- baseUrl: testBaseUrl
13
- })
14
+ useConfig: () => mockUseConfig()
14
15
  }));
16
+ const tests = [{
17
+ type: 'visualization',
18
+ baseUrl: 'http://host.tld',
19
+ id: 'dv-id-1',
20
+ expected: 'http://host.tld/dhis-web-data-visualizer/#/dv-id-1'
21
+ }, {
22
+ type: 'visualization',
23
+ baseUrl: testBaseUrl,
24
+ id: 'dv-id-2',
25
+ expected: 'http://host.tld/test/dhis-web-data-visualizer/#/dv-id-2'
26
+ }, {
27
+ type: 'eventVisualization',
28
+ baseUrl: 'http://host.tld/other-path/',
29
+ id: 'll-id-1',
30
+ expected: 'http://host.tld/other-path/dhis-web-line-listing/#/ll-id-1'
31
+ }, {
32
+ type: 'eventVisualization',
33
+ apiVersion: 41,
34
+ baseUrl: 'http://host.tld/other-path',
35
+ id: 'll-id-2',
36
+ expected: 'http://host.tld/other-path/api/apps/line-listing/#/ll-id-2'
37
+ }, {
38
+ type: 'map',
39
+ baseUrl: testBaseUrl,
40
+ id: 'map-id-1',
41
+ expected: 'http://host.tld/test/dhis-web-maps/#/map-id-1'
42
+ }, {
43
+ type: 'map',
44
+ baseUrl: '../',
45
+ id: 'map-id-2',
46
+ expected: 'http://localhost/dhis-web-maps/#/map-id-2'
47
+ }];
15
48
  describe('The FileMenu - GetLinkDialog component', () => {
16
49
  let shallowGetLinkDialog;
17
- let props;
18
50
  const onClose = jest.fn();
19
51
  const getGetLinkDialogComponent = props => {
20
52
  if (!shallowGetLinkDialog) {
@@ -24,21 +56,38 @@ describe('The FileMenu - GetLinkDialog component', () => {
24
56
  };
25
57
  beforeEach(() => {
26
58
  shallowGetLinkDialog = undefined;
27
- props = {
28
- type: 'visualization',
29
- id: 'get-link-test-id',
30
- onClose
31
- };
32
59
  });
33
60
  it('renders a Modal component', () => {
34
- expect(getGetLinkDialogComponent(props).find(_ui.Modal)).toHaveLength(1);
61
+ expect(getGetLinkDialogComponent({
62
+ type: tests[0].type,
63
+ id: tests[0].id
64
+ }).find(_ui.Modal)).toHaveLength(1);
35
65
  });
36
- it('renders a <a> tag containing the type and id props', () => {
37
- const href = getGetLinkDialogComponent(props).find('a').prop('href');
38
- expect(href).toMatch(new URL((0, _utils.appPathFor)(props.type, props.id), testBaseUrl).href);
66
+ test.each(tests)('renders a <a> tag containing the correct app path and id', _ref => {
67
+ let {
68
+ apiVersion,
69
+ baseUrl,
70
+ type,
71
+ id,
72
+ expected
73
+ } = _ref;
74
+ mockUseConfig.mockReturnValueOnce({
75
+ apiVersion: apiVersion || 42,
76
+ baseUrl
77
+ });
78
+ const href = getGetLinkDialogComponent({
79
+ type,
80
+ id,
81
+ onClose
82
+ }).find('a').prop('href');
83
+ expect(href).toMatch(expected);
39
84
  });
40
85
  it('calls the onClose callback when the Close button is clicked', () => {
41
- getGetLinkDialogComponent(props).find(_ui.Button).at(1).simulate('click');
86
+ getGetLinkDialogComponent({
87
+ type: tests[0].type,
88
+ id: tests[0].id,
89
+ onClose
90
+ }).find(_ui.Button).at(1).simulate('click');
42
91
  expect(onClose).toHaveBeenCalled();
43
92
  });
44
93
  });
@@ -28,14 +28,15 @@ const labelForFileType = fileType => {
28
28
  }
29
29
  };
30
30
  exports.labelForFileType = labelForFileType;
31
- const appPathFor = (fileType, id) => {
31
+ const appPathFor = (fileType, id, apiVersion) => {
32
32
  switch (fileType) {
33
33
  case FILE_TYPE_VISUALIZATION:
34
34
  return `dhis-web-data-visualizer/#/${id}`;
35
35
  case FILE_TYPE_MAP:
36
- return `dhis-web-maps/index.html?id=${id}`;
36
+ return `dhis-web-maps/#/${id}`;
37
37
  case FILE_TYPE_EVENT_VISUALIZATION:
38
- return `api/apps/line-listing/#/${id}`;
38
+ // VERSION-TOGGLE: remove when 42 is the lowest supported version
39
+ return apiVersion >= 42 ? `dhis-web-line-listing/#/${id}` : `api/apps/line-listing/#/${id}`;
39
40
  default:
40
41
  return `${window.location.search}${window.location.hash}`;
41
42
  }
@@ -87,6 +87,24 @@ class MdParser {
87
87
  breaks: true
88
88
  });
89
89
 
90
+ // From: https://github.com/markdown-it/markdown-it/blob/master/docs/architecture.md#renderer
91
+ // Remember the old renderer if overridden, or proxy to the default renderer.
92
+ const defaultRender = md.renderer.rules.link_open || (
93
+ // eslint-disable-next-line max-params
94
+ (tokens, idx, options, env, self) => {
95
+ return self.renderToken(tokens, idx, options);
96
+ });
97
+
98
+ // eslint-disable-next-line max-params
99
+ md.renderer.rules.link_open = (tokens, idx, options, env, self) => {
100
+ // Add a new 'target' and 'rel' attributes, or replace the value of the existing ones.
101
+ tokens[idx].attrSet('target', '_blank');
102
+ tokens[idx].attrSet('rel', 'noreferrer');
103
+
104
+ // Pass the token to the default renderer.
105
+ return defaultRender(tokens, idx, options, env, self);
106
+ };
107
+
90
108
  // *bold* -> <strong>bold</strong>
91
109
  md.inline.ruler.push('strong', parse(codes.bold.name));
92
110
 
@@ -16,13 +16,13 @@ describe('MdParser class', () => {
16
16
  // nested italic/bold combinations not allowed
17
17
  ['_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>'],
18
18
  // links
19
- ['example.com/path', '<a href="http://example.com/path">example.com/path</a>'],
19
+ ['[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>'],
20
20
  // not recognized links with italic marker inside not converted
21
21
  ['example_with_underscore.com/path', 'example_with_underscore.com/path'], ['example_with_underscore.com/path_with_underscore', 'example_with_underscore.com/path_with_underscore'],
22
22
  // markers around non-recognized links
23
23
  ['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'],
24
24
  // italic marker inside links not converted
25
- ['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>'],
25
+ ['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>'],
26
26
  // italic/bold markers right after non-word characters
27
27
  ['_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.']];
28
28
  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": "",
@@ -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": "هیچ‌کدام",
@@ -98,9 +93,24 @@
98
93
  "{{ offsetPeriodType }} × {{ offsetPeriods }}": "",
99
94
  "Expression": "عبارت",
100
95
  "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": "حذف",
@@ -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_0": "",
225
231
  "{{count}} org units_1": "",
@@ -363,6 +369,7 @@
363
369
  "Program indicators": "د پروګرام شاخصونه",
364
370
  "Program indicator": "ایجاد پروگرام شاخص",
365
371
  "Calculations": "",
372
+ "Option": "گزینه ها",
366
373
  "Number": "نمبر",
367
374
  "Formula is empty. Add items to the formula from the lists on the left.": "",
368
375
  "Consecutive math operators": "",