@dhis2/analytics 26.9.6 → 26.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. package/build/cjs/__demo__/DataDimension.stories.js +53 -0
  2. package/build/cjs/api/dimensions.js +1 -1
  3. package/build/cjs/api/expression.js +20 -10
  4. package/build/cjs/components/DataDimension/Calculation/CalculationModal.js +1 -1
  5. package/build/cjs/components/DataDimension/DataDimension.js +4 -1
  6. package/build/cjs/components/DataDimension/Info/CalculationInfo.js +106 -0
  7. package/build/cjs/components/DataDimension/Info/DataElementInfo.js +135 -0
  8. package/build/cjs/components/DataDimension/Info/DataElementOperandInfo.js +188 -0
  9. package/build/cjs/components/DataDimension/Info/DataSetInfo.js +115 -0
  10. package/build/cjs/components/DataDimension/Info/EventDataItemInfo.js +111 -0
  11. package/build/cjs/components/DataDimension/Info/IndicatorInfo.js +179 -0
  12. package/build/cjs/components/DataDimension/Info/InfoPopover.js +58 -0
  13. package/build/cjs/components/DataDimension/Info/InfoTable.js +219 -0
  14. package/build/cjs/components/DataDimension/Info/ProgramIndicatorInfo.js +191 -0
  15. package/build/cjs/components/DataDimension/Info/styles/InfoPopover.style.js +10 -0
  16. package/build/cjs/components/DataDimension/ItemSelector.js +22 -5
  17. package/build/cjs/components/DataDimension/TransferOption.js +117 -0
  18. package/build/cjs/components/DataDimension/styles/TransferOption.style.js +10 -0
  19. package/build/cjs/components/DimensionsPanel/List/__tests__/__snapshots__/DimensionItem.spec.js.snap +0 -20
  20. package/build/cjs/components/OrgUnitDimension/__tests__/__snapshots__/OrgUnitDimension.spec.js.snap +0 -5
  21. package/build/cjs/components/PeriodDimension/__tests__/__snapshots__/FixedPeriodSingleSelect.spec.js.snap +0 -12
  22. package/build/cjs/components/PeriodDimension/__tests__/__snapshots__/PeriodSelector.spec.js.snap +3 -10
  23. package/build/cjs/components/styles/DimensionSelector.style.js +2 -2
  24. package/build/cjs/index.js +66 -10
  25. package/build/cjs/locales/ar/translations.json +96 -22
  26. package/build/cjs/locales/ar_IQ/translations.json +141 -44
  27. package/build/cjs/locales/bn/translations.json +458 -0
  28. package/build/cjs/locales/ckb/translations.json +137 -44
  29. package/build/cjs/locales/cs/translations.json +88 -20
  30. package/build/cjs/locales/da/translations.json +102 -23
  31. package/build/cjs/locales/en/translations.json +73 -9
  32. package/build/cjs/locales/es/translations.json +75 -9
  33. package/build/cjs/locales/es_419/translations.json +77 -9
  34. package/build/cjs/locales/fr/translations.json +77 -9
  35. package/build/cjs/locales/hi_IN/translations.json +458 -0
  36. package/build/cjs/locales/id/translations.json +95 -22
  37. package/build/cjs/locales/index.js +74 -70
  38. package/build/cjs/locales/km/translations.json +100 -23
  39. package/build/cjs/locales/lo/translations.json +73 -9
  40. package/build/cjs/locales/my/translations.json +101 -23
  41. package/build/cjs/locales/nb/translations.json +88 -20
  42. package/build/cjs/locales/ne/translations.json +77 -9
  43. package/build/cjs/locales/nl/translations.json +95 -22
  44. package/build/cjs/locales/or/translations.json +137 -44
  45. package/build/cjs/locales/prs/translations.json +102 -23
  46. package/build/cjs/locales/ps/translations.json +102 -23
  47. package/build/cjs/locales/pt/translations.json +73 -9
  48. package/build/cjs/locales/pt_BR/translations.json +95 -22
  49. package/build/cjs/locales/ro/translations.json +138 -44
  50. package/build/cjs/locales/ru/translations.json +77 -9
  51. package/build/cjs/locales/si/translations.json +102 -23
  52. package/build/cjs/locales/sv/translations.json +88 -20
  53. package/build/cjs/locales/tet/translations.json +101 -23
  54. package/build/cjs/locales/tg/translations.json +102 -23
  55. package/build/cjs/locales/uk/translations.json +96 -22
  56. package/build/cjs/locales/ur/translations.json +96 -22
  57. package/build/cjs/locales/uz_UZ_Cyrl/translations.json +95 -22
  58. package/build/cjs/locales/uz_UZ_Latn/translations.json +96 -22
  59. package/build/cjs/locales/vi/translations.json +73 -9
  60. package/build/cjs/locales/zh/translations.json +73 -9
  61. package/build/cjs/locales/zh_CN/translations.json +95 -22
  62. package/build/cjs/modules/dimensionListItem.js +3 -3
  63. package/build/cjs/modules/dimensionSelectorHelper.js +2 -2
  64. package/build/cjs/modules/valueTypes.js +50 -11
  65. package/build/es/__demo__/DataDimension.stories.js +42 -0
  66. package/build/es/api/dimensions.js +1 -1
  67. package/build/es/api/expression.js +19 -9
  68. package/build/es/components/DataDimension/Calculation/CalculationModal.js +2 -2
  69. package/build/es/components/DataDimension/DataDimension.js +4 -1
  70. package/build/es/components/DataDimension/Info/CalculationInfo.js +96 -0
  71. package/build/es/components/DataDimension/Info/DataElementInfo.js +127 -0
  72. package/build/es/components/DataDimension/Info/DataElementOperandInfo.js +178 -0
  73. package/build/es/components/DataDimension/Info/DataSetInfo.js +107 -0
  74. package/build/es/components/DataDimension/Info/EventDataItemInfo.js +103 -0
  75. package/build/es/components/DataDimension/Info/IndicatorInfo.js +169 -0
  76. package/build/es/components/DataDimension/Info/InfoPopover.js +54 -0
  77. package/build/es/components/DataDimension/Info/InfoTable.js +205 -0
  78. package/build/es/components/DataDimension/Info/ProgramIndicatorInfo.js +181 -0
  79. package/build/es/components/DataDimension/Info/styles/InfoPopover.style.js +4 -0
  80. package/build/es/components/DataDimension/ItemSelector.js +24 -7
  81. package/build/es/components/DataDimension/TransferOption.js +109 -0
  82. package/build/es/components/DataDimension/styles/TransferOption.style.js +4 -0
  83. package/build/es/components/DimensionsPanel/List/__tests__/__snapshots__/DimensionItem.spec.js.snap +0 -20
  84. package/build/es/components/OrgUnitDimension/__tests__/__snapshots__/OrgUnitDimension.spec.js.snap +0 -5
  85. package/build/es/components/PeriodDimension/__tests__/__snapshots__/FixedPeriodSingleSelect.spec.js.snap +0 -12
  86. package/build/es/components/PeriodDimension/__tests__/__snapshots__/PeriodSelector.spec.js.snap +3 -10
  87. package/build/es/components/styles/DimensionSelector.style.js +2 -2
  88. package/build/es/index.js +1 -1
  89. package/build/es/locales/ar/translations.json +96 -22
  90. package/build/es/locales/ar_IQ/translations.json +141 -44
  91. package/build/es/locales/bn/translations.json +458 -0
  92. package/build/es/locales/ckb/translations.json +137 -44
  93. package/build/es/locales/cs/translations.json +88 -20
  94. package/build/es/locales/da/translations.json +102 -23
  95. package/build/es/locales/en/translations.json +73 -9
  96. package/build/es/locales/es/translations.json +75 -9
  97. package/build/es/locales/es_419/translations.json +77 -9
  98. package/build/es/locales/fr/translations.json +77 -9
  99. package/build/es/locales/hi_IN/translations.json +458 -0
  100. package/build/es/locales/id/translations.json +95 -22
  101. package/build/es/locales/index.js +4 -0
  102. package/build/es/locales/km/translations.json +100 -23
  103. package/build/es/locales/lo/translations.json +73 -9
  104. package/build/es/locales/my/translations.json +101 -23
  105. package/build/es/locales/nb/translations.json +88 -20
  106. package/build/es/locales/ne/translations.json +77 -9
  107. package/build/es/locales/nl/translations.json +95 -22
  108. package/build/es/locales/or/translations.json +137 -44
  109. package/build/es/locales/prs/translations.json +102 -23
  110. package/build/es/locales/ps/translations.json +102 -23
  111. package/build/es/locales/pt/translations.json +73 -9
  112. package/build/es/locales/pt_BR/translations.json +95 -22
  113. package/build/es/locales/ro/translations.json +138 -44
  114. package/build/es/locales/ru/translations.json +77 -9
  115. package/build/es/locales/si/translations.json +102 -23
  116. package/build/es/locales/sv/translations.json +88 -20
  117. package/build/es/locales/tet/translations.json +101 -23
  118. package/build/es/locales/tg/translations.json +102 -23
  119. package/build/es/locales/uk/translations.json +96 -22
  120. package/build/es/locales/ur/translations.json +96 -22
  121. package/build/es/locales/uz_UZ_Cyrl/translations.json +95 -22
  122. package/build/es/locales/uz_UZ_Latn/translations.json +96 -22
  123. package/build/es/locales/vi/translations.json +73 -9
  124. package/build/es/locales/zh/translations.json +73 -9
  125. package/build/es/locales/zh_CN/translations.json +95 -22
  126. package/build/es/modules/dimensionListItem.js +1 -1
  127. package/build/es/modules/dimensionSelectorHelper.js +2 -2
  128. package/build/es/modules/valueTypes.js +48 -10
  129. package/package.json +5 -5
@@ -3,19 +3,20 @@ function _extends() { return _extends = Object.assign ? Object.assign.bind() : f
3
3
  import { useDataEngine } from '@dhis2/app-runtime';
4
4
  import { Transfer, InputField, IconInfo16, Button, IconAdd24 } from '@dhis2/ui';
5
5
  import PropTypes from 'prop-types';
6
- import React, { useState } from 'react';
6
+ import React, { useRef, useState } from 'react';
7
7
  import { apiFetchOptions } from '../../api/dimensions.js';
8
8
  import i18n from '../../locales/index.js';
9
9
  import { DATA_SETS_CONSTANTS, REPORTING_RATE } from '../../modules/dataSets.js';
10
10
  import { DIMENSION_TYPE_ALL, DIMENSION_TYPE_DATA_ELEMENT, DIMENSION_TYPE_DATA_SET, DIMENSION_TYPE_EVENT_DATA_ITEM, DIMENSION_TYPE_PROGRAM_INDICATOR, DIMENSION_TYPE_INDICATOR, TOTALS, DIMENSION_TYPE_EXPRESSION_DIMENSION_ITEM } from '../../modules/dataTypes.js';
11
- import { getIcon, getTooltipText } from '../../modules/dimensionListItem.js';
11
+ import { getIcon, getDimensionType } from '../../modules/dimensionListItem.js';
12
12
  import { TRANSFER_HEIGHT, TRANSFER_OPTIONS_WIDTH, TRANSFER_SELECTED_WIDTH } from '../../modules/dimensionSelectorHelper.js';
13
13
  import { useDebounce, useDidUpdateEffect } from '../../modules/utils.js';
14
14
  import styles from '../styles/DimensionSelector.style.js';
15
- import { TransferOption } from '../TransferOption.js';
16
15
  import CalculationModal from './Calculation/CalculationModal.js';
17
16
  import DataTypeSelector from './DataTypeSelector.js';
18
17
  import GroupSelector from './GroupSelector.js';
18
+ import { InfoPopover } from './Info/InfoPopover.js';
19
+ import { TransferOption } from './TransferOption.js';
19
20
  const LeftHeader = _ref => {
20
21
  let {
21
22
  searchTerm,
@@ -203,6 +204,7 @@ const ItemSelector = _ref5 => {
203
204
  dataTest,
204
205
  onEDISave
205
206
  } = _ref5;
207
+ const itemsRef = useRef(new Map());
206
208
  const [state, setState] = useState({
207
209
  searchTerm: '',
208
210
  dataTypes,
@@ -222,12 +224,13 @@ const ItemSelector = _ref5 => {
222
224
  }).includes(DIMENSION_TYPE_EXPRESSION_DIMENSION_ITEM)
223
225
  });
224
226
  const [currentCalculation, setCurrentCalculation] = useState();
227
+ const [currentDataItem, setCurrentDataItem] = useState();
228
+ const debouncedSearchTerm = useDebounce(state.searchTerm, 500);
225
229
  const dataEngine = useDataEngine();
226
230
  const setSearchTerm = searchTerm => setState(state => ({
227
231
  ...state,
228
232
  searchTerm
229
233
  }));
230
- const debouncedSearchTerm = useDebounce(state.searchTerm, 500);
231
234
  const fetchItems = async page => {
232
235
  var _result$dimensionItem;
233
236
  setState(state => ({
@@ -391,7 +394,9 @@ const ItemSelector = _ref5 => {
391
394
  subGroup: dataType === DIMENSION_TYPE_DATA_ELEMENT ? TOTALS : null
392
395
  }
393
396
  }));
394
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Transfer, {
397
+ return /*#__PURE__*/React.createElement("div", {
398
+ className: `jsx-${styles.__hash}` + " " + "transfer-container"
399
+ }, /*#__PURE__*/React.createElement(Transfer, {
395
400
  onChange: _ref9 => {
396
401
  let {
397
402
  selected
@@ -445,17 +450,23 @@ const ItemSelector = _ref5 => {
445
450
  return /*#__PURE__*/React.createElement(TransferOption
446
451
  /* eslint-disable react/prop-types */, _extends({}, props, {
447
452
  active: isActive(props.value),
453
+ showingInfo: (currentDataItem === null || currentDataItem === void 0 ? void 0 : currentDataItem.id) === props.value,
448
454
  icon: getIcon(getItemType(props.value)),
449
- tooltipText: getTooltipText({
455
+ dimensionType: getDimensionType({
450
456
  type: getItemType(props.value),
451
457
  expression: props.expression
452
458
  }),
453
459
  dataTest: `${dataTest}-transfer-option`,
460
+ itemsRef: itemsRef,
454
461
  onEditClick: getItemType(props.value) === DIMENSION_TYPE_EXPRESSION_DIMENSION_ITEM && !(((_props$access = props.access) === null || _props$access === void 0 ? void 0 : _props$access.write) === false) && state.supportsEDI ? () => setCurrentCalculation({
455
462
  id: props.value,
456
463
  name: props.label,
457
464
  expression: props.expression
458
- }) : undefined
465
+ }) : undefined,
466
+ onInfoClick: () => setCurrentDataItem({
467
+ id: props.value,
468
+ type: getItemType(props.value)
469
+ })
459
470
  /* eslint-enable react/prop-types */
460
471
  }));
461
472
  },
@@ -466,6 +477,12 @@ const ItemSelector = _ref5 => {
466
477
  onClose: () => setCurrentCalculation(),
467
478
  onDelete: onDeleteCalculation,
468
479
  displayNameProp: displayNameProp
480
+ }), currentDataItem && /*#__PURE__*/React.createElement(InfoPopover, {
481
+ dataTest: `${dataTest}-info`,
482
+ item: currentDataItem,
483
+ reference: itemsRef.current.get(currentDataItem.id),
484
+ onClose: () => setCurrentDataItem(),
485
+ displayNameProp: displayNameProp
469
486
  }), /*#__PURE__*/React.createElement(_JSXStyle, {
470
487
  id: styles.__hash
471
488
  }, styles));
@@ -0,0 +1,109 @@
1
+ import _JSXStyle from "styled-jsx/style";
2
+ import { IconEdit16, IconInfo16 } from '@dhis2/ui';
3
+ import cx from 'classnames';
4
+ import PropTypes from 'prop-types';
5
+ import React from 'react';
6
+ import styles from './styles/TransferOption.style.js';
7
+ export const TransferOption = _ref => {
8
+ let {
9
+ disabled,
10
+ label,
11
+ highlighted,
12
+ selected,
13
+ onClick,
14
+ onDoubleClick,
15
+ value,
16
+ icon,
17
+ active,
18
+ dimensionType,
19
+ dataTest,
20
+ itemsRef,
21
+ showingInfo,
22
+ onEditClick,
23
+ onInfoClick
24
+ } = _ref;
25
+ const renderContent = () => /*#__PURE__*/React.createElement("div", {
26
+ "data-test": `${dataTest}-content`,
27
+ onClick: event => {
28
+ if (disabled) {
29
+ return;
30
+ }
31
+ onClick({
32
+ label,
33
+ value
34
+ }, event);
35
+ },
36
+ onDoubleClick: event => {
37
+ if (disabled) {
38
+ return;
39
+ }
40
+ onDoubleClick({
41
+ label,
42
+ value
43
+ }, event);
44
+ },
45
+ className: `jsx-${styles.__hash}` + " " + (cx('item', {
46
+ highlighted,
47
+ disabled,
48
+ selected,
49
+ inactive: active !== undefined && !active
50
+ }) || "")
51
+ }, /*#__PURE__*/React.createElement("div", {
52
+ className: `jsx-${styles.__hash}` + " " + "labelGroup"
53
+ }, /*#__PURE__*/React.createElement("span", {
54
+ className: `jsx-${styles.__hash}` + " " + "icon"
55
+ }, icon), /*#__PURE__*/React.createElement("span", {
56
+ className: `jsx-${styles.__hash}` + " " + "label"
57
+ }, label), onEditClick && /*#__PURE__*/React.createElement("span", {
58
+ onClick: e => {
59
+ e.stopPropagation();
60
+ onEditClick();
61
+ },
62
+ "data-test": `${dataTest}-edit-button`,
63
+ className: `jsx-${styles.__hash}` + " " + "edit"
64
+ }, /*#__PURE__*/React.createElement(IconEdit16, null))), /*#__PURE__*/React.createElement("div", {
65
+ className: `jsx-${styles.__hash}` + " " + (cx('group', 'nowrap', 'typeGroup') || "")
66
+ }, /*#__PURE__*/React.createElement("span", {
67
+ className: `jsx-${styles.__hash}` + " " + "type"
68
+ }, dimensionType), /*#__PURE__*/React.createElement("span", {
69
+ ref: node => {
70
+ node ? itemsRef.current.set(value, node) : itemsRef.current.delete(value);
71
+ }
72
+ // avoid moving items when toggling the info popover
73
+ // sometimes a double click event is fired
74
+ ,
75
+ onDoubleClick: e => e.stopPropagation(),
76
+ onClick: e => {
77
+ e.stopPropagation();
78
+ onInfoClick();
79
+ },
80
+ "data-test": `${dataTest}-info-button`,
81
+ className: `jsx-${styles.__hash}` + " " + (cx('info', {
82
+ active: showingInfo
83
+ }) || "")
84
+ }, /*#__PURE__*/React.createElement(IconInfo16, null))), /*#__PURE__*/React.createElement(_JSXStyle, {
85
+ id: styles.__hash
86
+ }, styles));
87
+ return /*#__PURE__*/React.createElement("div", {
88
+ "data-value": value,
89
+ "data-test": dataTest,
90
+ className: "wrapper"
91
+ }, renderContent());
92
+ };
93
+ TransferOption.propTypes = {
94
+ label: PropTypes.string.isRequired,
95
+ value: PropTypes.string.isRequired,
96
+ active: PropTypes.bool,
97
+ dataTest: PropTypes.string,
98
+ dimensionType: PropTypes.string,
99
+ disabled: PropTypes.bool,
100
+ highlighted: PropTypes.bool,
101
+ icon: PropTypes.node,
102
+ itemsRef: PropTypes.object,
103
+ selected: PropTypes.bool,
104
+ showingInfo: PropTypes.bool,
105
+ onClick: PropTypes.func,
106
+ onDoubleClick: PropTypes.func,
107
+ onEditClick: PropTypes.func,
108
+ onInfoClick: PropTypes.func
109
+ };
@@ -0,0 +1,4 @@
1
+ import { colors, spacers, theme } from '@dhis2/ui';
2
+ const _defaultExport = [`.wrapper.jsx-2953719875:last-child{margin-bottom:${spacers.dp4};}`, `.item.jsx-2953719875{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;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:${colors.white};font-size:14px;line-height:16px;border-bottom:1px solid ${colors.grey300};-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}`, `.item.jsx-2953719875:hover{background:${colors.grey100};}`, ".disabled.jsx-2953719875{opacity:0.3;cursor:not-allowed;}", ".inactive.jsx-2953719875{opacity:0.3;}", ".labelGroup.jsx-2953719875{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;margin:6px 4px;}", ".typeGroup.jsx-2953719875{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;margin:0;-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}", ".nowrap.jsx-2953719875{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}", ".icon.jsx-2953719875,.label.jsx-2953719875{line-height:18px;}", `.icon.jsx-2953719875{margin-right:${spacers.dp4};display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;vertical-align:text-bottom;}`, `.label.jsx-2953719875{font-size:14px;color:${colors.grey900};}`, `.type.jsx-2953719875{font-size:10px;-webkit-letter-spacing:-0.2px;-moz-letter-spacing:-0.2px;-ms-letter-spacing:-0.2px;letter-spacing:-0.2px;color:${colors.grey600};font-family:ui-monospace,'Cascadia Code','Source Code Pro',Menlo, Consolas,'DejaVu Sans Mono',monospace;font-weight:normal;}`, `.edit.jsx-2953719875,.info.jsx-2953719875{height:16px;margin-top:1px;margin-left:${spacers.dp8};cursor:pointer;color:${colors.grey600};}`, `.info.jsx-2953719875{margin:0 0 0 ${spacers.dp4};height:100%;padding:0 6px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}`, `.info.active.jsx-2953719875{background-color:${colors.grey300};color:${colors.grey900};}`, `.highlighted.jsx-2953719875{background:${theme.secondary700};}`, `.highlighted.jsx-2953719875:hover{background:${theme.secondary800};}`, `.highlighted.jsx-2953719875 .label.jsx-2953719875{color:${colors.white};}`, `.highlighted.jsx-2953719875 .type.jsx-2953719875{color:${theme.secondary050};}`, `.highlighted.jsx-2953719875 .info.jsx-2953719875{color:${theme.secondary050};}`, `.highlighted.jsx-2953719875 .icon path{fill:${colors.teal050};}`, `.highlighted.jsx-2953719875 .type.jsx-2953719875{color:${colors.teal050};}`, `.edit.jsx-2953719875:hover,.info.jsx-2953719875:hover{background-color:${colors.grey200};border-radius:0px;}`, `.highlighted.jsx-2953719875 .info.active.jsx-2953719875{background-color:${theme.secondary900};}`, `.highlighted.jsx-2953719875 .edit.jsx-2953719875:hover,.highlighted.jsx-2953719875 .info.jsx-2953719875:hover{background-color:${theme.secondary900};}`];
3
+ _defaultExport.__hash = "2953719875";
4
+ export default _defaultExport;
@@ -4,10 +4,6 @@ exports[`DimensionItem matches the snapshot 1`] = `
4
4
  <Fragment>
5
5
  <CssVariables
6
6
  colors={true}
7
- elevations={false}
8
- layers={false}
9
- spacers={false}
10
- theme={false}
11
7
  />
12
8
  <li
13
9
  className="item"
@@ -56,10 +52,6 @@ exports[`DimensionItem matches the snapshot with locked 1`] = `
56
52
  <Fragment>
57
53
  <CssVariables
58
54
  colors={true}
59
- elevations={false}
60
- layers={false}
61
- spacers={false}
62
- theme={false}
63
55
  />
64
56
  <li
65
57
  className="item"
@@ -126,10 +118,6 @@ exports[`DimensionItem matches the snapshot with onOptionsClick 1`] = `
126
118
  <Fragment>
127
119
  <CssVariables
128
120
  colors={true}
129
- elevations={false}
130
- layers={false}
131
- spacers={false}
132
- theme={false}
133
121
  />
134
122
  <li
135
123
  className="item"
@@ -182,10 +170,6 @@ exports[`DimensionItem matches the snapshot with recommended 1`] = `
182
170
  <Fragment>
183
171
  <CssVariables
184
172
  colors={true}
185
- elevations={false}
186
- layers={false}
187
- spacers={false}
188
- theme={false}
189
173
  />
190
174
  <li
191
175
  className="item"
@@ -234,10 +218,6 @@ exports[`DimensionItem matches the snapshot with selected 1`] = `
234
218
  <Fragment>
235
219
  <CssVariables
236
220
  colors={true}
237
- elevations={false}
238
- layers={false}
239
- spacers={false}
240
- theme={false}
241
221
  />
242
222
  <li
243
223
  className="item selected"
@@ -37,11 +37,8 @@ exports[`The OrgUnitDimension component matches the snapshot 1`] = `
37
37
  >
38
38
  <OrganisationUnitTree
39
39
  dataTest="org-unit-tree"
40
- filter={Array []}
41
- highlighted={Array []}
42
40
  initiallyExpanded={Array []}
43
41
  onChange={[Function]}
44
- renderNodeLabel={[Function]}
45
42
  roots={Array []}
46
43
  selected={Array []}
47
44
  />
@@ -78,12 +75,10 @@ exports[`The OrgUnitDimension component matches the snapshot 1`] = `
78
75
  className="deselectButton"
79
76
  >
80
77
  <Button
81
- dataTest="dhis2-uicore-button"
82
78
  disabled={true}
83
79
  onClick={[Function]}
84
80
  secondary={true}
85
81
  small={true}
86
- type="button"
87
82
  >
88
83
  Deselect all
89
84
  </Button>
@@ -28,73 +28,61 @@ exports[`The Fixed Period Single Select component matches the snapshot 1`] = `
28
28
  selected="201405"
29
29
  >
30
30
  <SingleSelectOption
31
- dataTest="dhis2-uicore-singleselectoption"
32
31
  key="201401"
33
32
  label="January 2014"
34
33
  value="201401"
35
34
  />
36
35
  <SingleSelectOption
37
- dataTest="dhis2-uicore-singleselectoption"
38
36
  key="201402"
39
37
  label="February 2014"
40
38
  value="201402"
41
39
  />
42
40
  <SingleSelectOption
43
- dataTest="dhis2-uicore-singleselectoption"
44
41
  key="201403"
45
42
  label="March 2014"
46
43
  value="201403"
47
44
  />
48
45
  <SingleSelectOption
49
- dataTest="dhis2-uicore-singleselectoption"
50
46
  key="201404"
51
47
  label="April 2014"
52
48
  value="201404"
53
49
  />
54
50
  <SingleSelectOption
55
- dataTest="dhis2-uicore-singleselectoption"
56
51
  key="201405"
57
52
  label="May 2014"
58
53
  value="201405"
59
54
  />
60
55
  <SingleSelectOption
61
- dataTest="dhis2-uicore-singleselectoption"
62
56
  key="201406"
63
57
  label="June 2014"
64
58
  value="201406"
65
59
  />
66
60
  <SingleSelectOption
67
- dataTest="dhis2-uicore-singleselectoption"
68
61
  key="201407"
69
62
  label="July 2014"
70
63
  value="201407"
71
64
  />
72
65
  <SingleSelectOption
73
- dataTest="dhis2-uicore-singleselectoption"
74
66
  key="201408"
75
67
  label="August 2014"
76
68
  value="201408"
77
69
  />
78
70
  <SingleSelectOption
79
- dataTest="dhis2-uicore-singleselectoption"
80
71
  key="201409"
81
72
  label="September 2014"
82
73
  value="201409"
83
74
  />
84
75
  <SingleSelectOption
85
- dataTest="dhis2-uicore-singleselectoption"
86
76
  key="201410"
87
77
  label="October 2014"
88
78
  value="201410"
89
79
  />
90
80
  <SingleSelectOption
91
- dataTest="dhis2-uicore-singleselectoption"
92
81
  key="201411"
93
82
  label="November 2014"
94
83
  value="201411"
95
84
  />
96
85
  <SingleSelectOption
97
- dataTest="dhis2-uicore-singleselectoption"
98
86
  key="201412"
99
87
  label="December 2014"
100
88
  value="201412"
@@ -4,16 +4,10 @@ exports[`The Period Selector component matches the snapshot 1`] = `
4
4
  <Transfer
5
5
  dataTest="period-dimension-transfer"
6
6
  enableOrderChange={true}
7
- filterCallback={[Function]}
8
- filterCallbackPicked={[Function]}
9
7
  height="512px"
10
- initialSearchTerm=""
11
- initialSearchTermPicked=""
12
8
  leftHeader={
13
9
  <React.Fragment>
14
- <TabBar
15
- dataTest="dhis2-uicore-tabbar"
16
- >
10
+ <TabBar>
17
11
  <Tab
18
12
  dataTest="period-dimension-relative-periods-button"
19
13
  onClick={[Function]}
@@ -44,7 +38,6 @@ exports[`The Period Selector component matches the snapshot 1`] = `
44
38
  </style>
45
39
  </React.Fragment>
46
40
  }
47
- maxSelections={Infinity}
48
41
  onChange={[Function]}
49
42
  options={
50
43
  Array [
@@ -74,7 +67,7 @@ exports[`The Period Selector component matches the snapshot 1`] = `
74
67
  },
75
68
  ]
76
69
  }
77
- optionsWidth="420px"
70
+ optionsWidth="520px"
78
71
  renderOption={[Function]}
79
72
  rightFooter={<React.Fragment />}
80
73
  rightHeader={<RightHeader />}
@@ -91,6 +84,6 @@ exports[`The Period Selector component matches the snapshot 1`] = `
91
84
  </style>
92
85
  </React.Fragment>
93
86
  }
94
- selectedWidth="298px"
87
+ selectedWidth="520px"
95
88
  />
96
89
  `;
@@ -1,4 +1,4 @@
1
1
  import { spacers, colors } from '@dhis2/ui';
2
- const _defaultExport = [`.filterContainer.jsx-336728173{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-bottom:${spacers.dp12};margin-top:${spacers.dp8};}`, `.emptyList.jsx-336728173{text-align:center;font-size:14px;line-height:16px;margin:${spacers.dp24} 0 0;color:${colors.grey700};}`, ".rightHeader.jsx-336728173{font-size:14px;font-weight:400;}", `.leftHeader.jsx-336728173{padding:${spacers.dp12} ${spacers.dp4};}`, `.info-container.jsx-336728173{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-bottom:${spacers.dp8};padding:${spacers.dp8};background-color:${colors.grey200};border-radius:3px;}`, `.info-text.jsx-336728173{padding-left:${spacers.dp8};color:${colors.grey900};font-size:12px;line-height:16px;}`, `.calculation-button.jsx-336728173{margin:${spacers.dp8} 0;}`];
3
- _defaultExport.__hash = "336728173";
2
+ const _defaultExport = [".transfer-container.jsx-1438110436{min-width:800px;}", `.filterContainer.jsx-1438110436{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-bottom:${spacers.dp12};margin-top:${spacers.dp8};}`, `.emptyList.jsx-1438110436{text-align:center;font-size:14px;line-height:16px;margin:${spacers.dp24} 0 0;color:${colors.grey700};}`, ".rightHeader.jsx-1438110436{font-size:14px;font-weight:400;}", `.leftHeader.jsx-1438110436{padding:${spacers.dp12} ${spacers.dp4};}`, `.info-container.jsx-1438110436{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-bottom:${spacers.dp8};padding:${spacers.dp8};background-color:${colors.grey200};border-radius:3px;}`, `.info-text.jsx-1438110436{padding-left:${spacers.dp8};color:${colors.grey900};font-size:12px;line-height:16px;}`, `.calculation-button.jsx-1438110436{margin:${spacers.dp8} 0;}`];
3
+ _defaultExport.__hash = "1438110436";
4
4
  export default _defaultExport;
package/build/es/index.js CHANGED
@@ -70,7 +70,7 @@ export { layoutHasDynamicDimension } from './modules/layout/layoutHasDynamicDime
70
70
  export { layoutHasPeriodDimension } from './modules/layout/layoutHasPeriodDimension.js';
71
71
 
72
72
  // Modules: valueTypes
73
- export { VALUE_TYPE_NUMBER, VALUE_TYPE_UNIT_INTERVAL, VALUE_TYPE_PERCENTAGE, VALUE_TYPE_INTEGER, VALUE_TYPE_INTEGER_POSITIVE, VALUE_TYPE_INTEGER_NEGATIVE, VALUE_TYPE_INTEGER_ZERO_OR_POSITIVE, VALUE_TYPE_TEXT, VALUE_TYPE_LONG_TEXT, VALUE_TYPE_LETTER, VALUE_TYPE_PHONE_NUMBER, VALUE_TYPE_EMAIL, VALUE_TYPE_USERNAME, VALUE_TYPE_URL, VALUE_TYPE_BOOLEAN, VALUE_TYPE_TRUE_ONLY, VALUE_TYPE_DATE, VALUE_TYPE_TIME, VALUE_TYPE_DATETIME, VALUE_TYPE_ORGANISATION_UNIT, VALUE_TYPE_AGE } from './modules/valueTypes.js';
73
+ export { VALUE_TYPE_TEXT, VALUE_TYPE_LONG_TEXT, VALUE_TYPE_MULTI_TEXT, VALUE_TYPE_LETTER, VALUE_TYPE_PHONE_NUMBER, VALUE_TYPE_EMAIL, VALUE_TYPE_BOOLEAN, VALUE_TYPE_TRUE_ONLY, VALUE_TYPE_DATE, VALUE_TYPE_DATETIME, VALUE_TYPE_TIME, VALUE_TYPE_NUMBER, VALUE_TYPE_UNIT_INTERVAL, VALUE_TYPE_PERCENTAGE, VALUE_TYPE_INTEGER, VALUE_TYPE_INTEGER_POSITIVE, VALUE_TYPE_INTEGER_NEGATIVE, VALUE_TYPE_INTEGER_ZERO_OR_POSITIVE, VALUE_TYPE_TRACKER_ASSOCIATE, VALUE_TYPE_USERNAME, VALUE_TYPE_COORDINATE, VALUE_TYPE_ORGANISATION_UNIT, VALUE_TYPE_REFERENCE, VALUE_TYPE_AGE, VALUE_TYPE_URL, VALUE_TYPE_FILE_RESOURCE, VALUE_TYPE_IMAGE, VALUE_TYPE_GEOJSON, valueTypeDisplayNames } from './modules/valueTypes.js';
74
74
  export { AXIS, AXIS_ID_COLUMNS, AXIS_ID_ROWS, AXIS_ID_FILTERS, DEFAULT_AXIS_IDS } from './modules/layout/axis.js';
75
75
  export { axisGetAllItems } from './modules/layout/axisGetAllItems.js';
76
76
  export { axisGetDimension } from './modules/layout/axisGetDimension.js';
@@ -23,6 +23,8 @@
23
23
  "About this map": "",
24
24
  "About this line list": "",
25
25
  "About this visualization": "",
26
+ "About this event chart": "",
27
+ "About this event report": "",
26
28
  "This app could not retrieve required data.": "",
27
29
  "Network error": "",
28
30
  "Data / Edit calculation": "",
@@ -48,9 +50,58 @@
48
50
  "Drag items here, or double click in the list, to start building a calculation formula": "",
49
51
  "Math operators": "",
50
52
  "Data Type": "نوع البيانات",
53
+ "Only {{dataType}} can be used in {{visType}}": "",
51
54
  "All types": "جميع الأنواع",
52
55
  "Disaggregation": "تصنيف",
53
56
  "No data": "لا توجد بيانات",
57
+ "Expression description": "وصف التعبير",
58
+ "Error loading value": "",
59
+ "None": "لا شيء",
60
+ "Data set(s)": "",
61
+ "Zero is significant": "",
62
+ "True": "صح",
63
+ "False": "خطأ",
64
+ "Value type": "نوع القيمة",
65
+ "Aggregation type": "نوع التجميع",
66
+ "Category combo": "Category combo",
67
+ "Option set": "حزمة الخيارات",
68
+ "Group membership": "",
69
+ "Legend set(s)": "",
70
+ "Category option name": "",
71
+ "Category combo name": "",
72
+ "Categories name": "",
73
+ "Period type": "نوع الفترة الزمنية",
74
+ "Indicators": "المؤشرات",
75
+ "Expiry days": "أيام انتهاء الصلاحية",
76
+ "Type": "النوع",
77
+ "Data element": "عنصر البيانات",
78
+ "Tracked entity attribute": "سمة الكيان المتعقب",
79
+ "Numerator description": "وصف البسط",
80
+ "Numerator expression": "",
81
+ "Denominator description": "وصف المقام",
82
+ "Denominator expression": "",
83
+ "Annualized": "بشكل سنوي",
84
+ "Yes": "نعم",
85
+ "No": "لا",
86
+ "Indicator type": "نوع المؤشر",
87
+ "Decimals in output": "",
88
+ "There was a problem loading information for this data item.": "",
89
+ "Name": "الإسم",
90
+ "Description": "الوصف",
91
+ "Code": "الكود",
92
+ "ID": "ID",
93
+ "Last updated date": "",
94
+ "Created date": "",
95
+ "Created by": "تم الإنشاء بواسطة",
96
+ "Custom": "مخصص",
97
+ "Program": "البرنامج",
98
+ "Analytics type": "Analytics type",
99
+ "Enrollment": "التسجيل",
100
+ "Event": "حدث",
101
+ "Analytics period boundaries": "",
102
+ "{{ offsetPeriodType }} × {{ offsetPeriods }}": "",
103
+ "Expression": "‏‏التعبير",
104
+ "Filter": "عامل التصفية",
54
105
  "Search by data item name": "",
55
106
  "No items selected": "لم يتم تحديد عناصر",
56
107
  "Selected Items": "العناصر المحددة",
@@ -58,10 +109,12 @@
58
109
  "No data sets found": "",
59
110
  "No event data items found": "",
60
111
  "No program indicators found": "",
112
+ "No calculations found": "",
61
113
  "No indicators found for \"{{- searchTerm}}\"": "",
62
114
  "No data sets found for \"{{- searchTerm}}\"": "",
63
115
  "No event data items found for \"{{- searchTerm}}\"": "",
64
116
  "No program indicators found for \"{{- searchTerm}}\"": "",
117
+ "No calculations found for \"{{- searchTerm}}\"": "",
65
118
  "Nothing found for \"{{- searchTerm}}\"": "",
66
119
  "Calculation": "",
67
120
  "Metric type": "",
@@ -99,8 +152,6 @@
99
152
  "Open in this app": "فتح في هذا التطبيق",
100
153
  "Close": "إغلاق",
101
154
  "Rename {{fileType}}": "",
102
- "Name": "الإسم",
103
- "Description": "الوصف",
104
155
  "Rename": "إعادة التسمية",
105
156
  "{{- objectName}} (copy)": "",
106
157
  "Save {{fileType}} as": "",
@@ -120,6 +171,7 @@
120
171
  "The interpretation couldn’t be displayed. Try again or contact your system administrator.": "",
121
172
  "Hide interpretation": "",
122
173
  "Write an interpretation": "كتابة تفسير",
174
+ "Other people viewing this interpretation in the future may see more data.": "",
123
175
  "Post interpretation": "",
124
176
  "Interpretations": "التفسيرات",
125
177
  "Reply": "رد",
@@ -132,24 +184,13 @@
132
184
  "View replies": "",
133
185
  "Unlike": "إلغاء الإعجاب",
134
186
  "Like": "إعجاب",
135
- "Share": "مشاركة",
136
187
  "See interpretation": "",
188
+ "Open in app": "",
189
+ "Share": "مشاركة",
137
190
  "Manage sharing": "إدارة المشاركة",
138
191
  "Could not update interpretation": "",
139
192
  "Enter interpretation text": "",
140
- "Bold text": "",
141
- "Italic text": "",
142
- "Link to a URL": "",
143
- "Mention a user": "",
144
- "Add emoji": "",
145
- "Preview": "معاينة",
146
- "Back to write mode": "",
147
- "Too many results. Try refining the search.": "",
148
- "Search for a user": "",
149
- "Searching for \"{{- searchText}}\"": "",
150
- "No results found": "لم يتم العثور على أي نتائج",
151
193
  "Not available offline": "غير متوفر في وضع عدم الإتصال",
152
- "Created by": "تم الإنشاء بواسطة",
153
194
  "Anyone": "أي شخص",
154
195
  "Only you": "",
155
196
  "Others": "أخرى",
@@ -157,7 +198,6 @@
157
198
  "Filter by name": "تصفية بواسطة الاسم",
158
199
  "Created": "تم الإنشاء",
159
200
  "Last updated": "آخر تحديث",
160
- "Type": "النوع",
161
201
  "Clear filters": "إلغاء عوامل التصفية",
162
202
  "{{firstItemIndex}}-{{lastItemIndex}} of {{totalNumberOfItems}}": "",
163
203
  "Open": "مفتوح",
@@ -215,13 +255,12 @@
215
255
  "Select a level": "حدد مستوى",
216
256
  "Select a group": "حدد مجموعة",
217
257
  "Deselect all": "إلغاء تحديد الكل",
218
- "Period type": "نوع الفترة الزمنية",
219
258
  "Year": "سنة",
220
259
  "Select year": "اختر السنة",
221
260
  "Period": "الفترة الزمنية",
261
+ "Selected Periods": "الفترات المحددة",
222
262
  "Relative periods": "الفترات الزمنية النسبية",
223
263
  "Fixed periods": "فترات زمنية ثابتة",
224
- "Selected Periods": "الفترات المحددة",
225
264
  "No periods selected": "لم يتم تحديد أية فترات زمنية",
226
265
  "Daily": "يومي",
227
266
  "Weekly": "أسبوعي",
@@ -291,6 +330,14 @@
291
330
  "Six-months": "ستة-أشهر",
292
331
  "Financial Years": "السنوات المالية",
293
332
  "Years": "السنوات",
333
+ "Value: {{value}}": "",
334
+ "Bold text": "",
335
+ "Italic text": "",
336
+ "Link to a URL": "",
337
+ "Mention a user": "",
338
+ "Add emoji": "",
339
+ "Preview": "معاينة",
340
+ "Back to write mode": "",
294
341
  "Interpretations and details": "",
295
342
  "Translating to": "",
296
343
  "Choose a locale": "",
@@ -301,9 +348,12 @@
301
348
  "Cannot save while offline": "",
302
349
  "Could not load translations": "",
303
350
  "Retry": "",
351
+ "Too many results. Try refining the search.": "",
352
+ "Search for a user": "",
353
+ "Searching for \"{{- searchText}}\"": "",
354
+ "No results found": "لم يتم العثور على أي نتائج",
304
355
  "Series": "سلسلة",
305
356
  "Category": "الفئة",
306
- "Filter": "عامل التصفية",
307
357
  "Columns": "الأعمدة",
308
358
  "Rows": "الصفوف",
309
359
  "Points": "",
@@ -312,16 +362,13 @@
312
362
  "Actual reports": "الإبلاغات الفعلية",
313
363
  "Actual reports on time": "الإبلاغات الفعلية في الوقت المحدد",
314
364
  "Expected reports": "الإبلاغات المتوقعة",
315
- "Program": "البرنامج",
316
365
  "Select a program": "حدد برنامجاً",
317
- "Indicators": "المؤشرات",
318
366
  "Indicator group": "مجموعة المؤشرات",
319
367
  "All groups": "",
320
368
  "Indicator": "المؤشر",
321
369
  "No indicator groups found": "",
322
370
  "Loading indicator groups": "",
323
371
  "Data element group": "مجموعة عناصر البيانات",
324
- "Data element": "عنصر البيانات",
325
372
  "No data element groups found": "",
326
373
  "Loading data element groups": "",
327
374
  "Data sets": "حزم البيانات",
@@ -370,9 +417,35 @@
370
417
  "{{thresholdFactor}} × Modified Z-score high": "",
371
418
  "{{thresholdFactor}} × Z-score low": "",
372
419
  "{{thresholdFactor}} × Z-score high": "",
420
+ "Not applicable": "",
373
421
  "Data": "بيانات",
374
422
  "Organisation unit": "الوحدة التنظيمية",
375
423
  "Assigned Categories": "الفئات المعينة",
424
+ "Text": "نص",
425
+ "Long text": "نص طويل",
426
+ "Multi text": "",
427
+ "Letter": "حرف",
428
+ "Phone number": "رقم الهاتف",
429
+ "Email": "بريد إلكتروني",
430
+ "Yes/No": "نعم/لا",
431
+ "Yes Only": "نعم فقط",
432
+ "Date": "التاريخ",
433
+ "Date & Time": "تاريخ ووقت",
434
+ "Time": "الوقت",
435
+ "Unit interval": "الفاصل الزمني للوحدة",
436
+ "Percentage": "النسبة المئوية",
437
+ "Integer": "عدد صحيح",
438
+ "Positive Integer": "عدد صحيح موجب",
439
+ "Negative Integer": "عدد صحيح سالب",
440
+ "Positive or Zero Integer": "عدد صحيح موجب أو صفري",
441
+ "Tracker Associate": "ارتباط التتبع",
442
+ "Username": "اسم المستخدم",
443
+ "Coordinate": "الإحداثية",
444
+ "Reference": "المرجع",
445
+ "Age": "عُمر",
446
+ "URL": "عنوان URL",
447
+ "Image": "الصورة",
448
+ "GeoJSON": "",
376
449
  "Pivot table": "الجدول المحوري",
377
450
  "Area": "مساحة",
378
451
  "Stacked area": "منطقة تراكمية",
@@ -389,6 +462,7 @@
389
462
  "Radar": "مخطط رادار",
390
463
  "Scatter": "",
391
464
  "Single value": "قيمة مفردة",
465
+ "Outlier table": "",
392
466
  "All charts": "",
393
467
  "{{seriesName}} (trend)": "",
394
468
  "Trend": "الاتجاه",