@dhis2/analytics 26.3.0-alpha.3 → 999.9.9-TE-alpha.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 (41) hide show
  1. package/build/cjs/__demo__/DimensionsPanel.stories.js +0 -1
  2. package/build/cjs/api/analytics/Analytics.js +7 -0
  3. package/build/cjs/api/analytics/AnalyticsBase.js +24 -6
  4. package/build/cjs/api/analytics/AnalyticsRequest.js +33 -10
  5. package/build/cjs/api/analytics/AnalyticsRequestBase.js +3 -1
  6. package/build/cjs/api/analytics/AnalyticsRequestPropertiesMixin.js +19 -0
  7. package/build/cjs/api/analytics/AnalyticsTrackedEntities.js +31 -0
  8. package/build/cjs/api/analytics/utils.js +23 -2
  9. package/build/cjs/assets/DynamicDimensionIcon.js +38 -12
  10. package/build/cjs/components/DimensionsPanel/List/DimensionItem.js +32 -44
  11. package/build/cjs/components/DimensionsPanel/List/OptionsButton.js +6 -7
  12. package/build/cjs/components/DimensionsPanel/List/RecommendedIcon.js +2 -1
  13. package/build/cjs/components/DimensionsPanel/List/__tests__/__snapshots__/DimensionItem.spec.js.snap +361 -238
  14. package/build/cjs/components/DimensionsPanel/List/styles/DimensionItem.style.js +67 -5
  15. package/build/cjs/components/DimensionsPanel/List/styles/DimensionList.style.js +2 -2
  16. package/build/cjs/components/DimensionsPanel/List/styles/RecommendedIcon.style.js +4 -4
  17. package/build/cjs/components/DimensionsPanel/styles/DimensionsPanel.style.js +1 -1
  18. package/build/cjs/locales/lo/translations.json +8 -3
  19. package/build/cjs/modules/layout/dimension.js +9 -2
  20. package/build/cjs/modules/layout/dimensionCreate.js +3 -0
  21. package/build/es/__demo__/DimensionsPanel.stories.js +0 -1
  22. package/build/es/api/analytics/Analytics.js +7 -0
  23. package/build/es/api/analytics/AnalyticsBase.js +24 -6
  24. package/build/es/api/analytics/AnalyticsRequest.js +33 -10
  25. package/build/es/api/analytics/AnalyticsRequestBase.js +3 -1
  26. package/build/es/api/analytics/AnalyticsRequestPropertiesMixin.js +19 -0
  27. package/build/es/api/analytics/AnalyticsTrackedEntities.js +24 -0
  28. package/build/es/api/analytics/utils.js +20 -1
  29. package/build/es/assets/DynamicDimensionIcon.js +38 -12
  30. package/build/es/components/DimensionsPanel/List/DimensionItem.js +33 -45
  31. package/build/es/components/DimensionsPanel/List/OptionsButton.js +6 -7
  32. package/build/es/components/DimensionsPanel/List/RecommendedIcon.js +2 -1
  33. package/build/es/components/DimensionsPanel/List/__tests__/__snapshots__/DimensionItem.spec.js.snap +361 -238
  34. package/build/es/components/DimensionsPanel/List/styles/DimensionItem.style.js +66 -4
  35. package/build/es/components/DimensionsPanel/List/styles/DimensionList.style.js +2 -2
  36. package/build/es/components/DimensionsPanel/List/styles/RecommendedIcon.style.js +4 -4
  37. package/build/es/components/DimensionsPanel/styles/DimensionsPanel.style.js +1 -1
  38. package/build/es/locales/lo/translations.json +8 -3
  39. package/build/es/modules/layout/dimension.js +7 -1
  40. package/build/es/modules/layout/dimensionCreate.js +4 -1
  41. package/package.json +1 -1
@@ -1,17 +1,15 @@
1
- import _JSXStyle from "styled-jsx/style";
2
1
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
2
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
4
3
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
5
4
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
6
- import { CssVariables } from '@dhis2/ui';
7
- import cx from 'classnames';
5
+ import { IconLock16 } from '@dhis2/ui';
8
6
  import PropTypes from 'prop-types';
9
7
  import React, { Component, createRef } from 'react';
10
8
  import DynamicDimensionIcon from '../../../assets/DynamicDimensionIcon.js';
11
9
  import { DIMENSION_PROP_NO_ITEMS, getPredefinedDimensionProp } from '../../../modules/predefinedDimensions.js';
12
10
  import OptionsButton from './OptionsButton.js';
13
11
  import RecommendedIcon from './RecommendedIcon.js';
14
- import styles from './styles/DimensionItem.style.js';
12
+ import { styles } from './styles/DimensionItem.style.js';
15
13
  class DimensionItem extends Component {
16
14
  constructor() {
17
15
  super(...arguments);
@@ -32,18 +30,23 @@ class DimensionItem extends Component {
32
30
  _defineProperty(this, "getDimensionIcon", () => {
33
31
  const Icon = getPredefinedDimensionProp(this.props.id, 'icon');
34
32
  return Icon ? /*#__PURE__*/React.createElement(Icon, {
35
- className: "fixedDimensionIcon"
33
+ style: styles.fixedDimensionIcon
36
34
  }) : /*#__PURE__*/React.createElement(DynamicDimensionIcon, {
37
- className: "dynamic-dimension-icon"
35
+ style: styles.dynamicDimensionIcon
38
36
  });
39
37
  });
40
38
  _defineProperty(this, "getDimensionType", () => {
41
39
  const {
42
40
  id,
43
- name
41
+ name,
42
+ isDeactivated
44
43
  } = this.props;
45
44
  return /*#__PURE__*/React.createElement("span", {
46
- "data-dimensionid": id
45
+ "data-dimensionid": id,
46
+ style: {
47
+ ...styles.text,
48
+ ...(isDeactivated ? styles.textDeactivated : {})
49
+ }
47
50
  }, name);
48
51
  });
49
52
  }
@@ -57,66 +60,51 @@ class DimensionItem extends Component {
57
60
  onClick,
58
61
  onOptionsClick,
59
62
  innerRef,
63
+ style,
60
64
  dataTest,
61
- className,
62
65
  ...rest
63
66
  } = this.props;
64
67
  const Icon = this.getDimensionIcon();
65
68
  const Label = this.getDimensionType();
69
+ const itemStyle = isSelected && !isDeactivated ? {
70
+ ...styles.item,
71
+ ...styles.selected
72
+ } : styles.item;
66
73
  const optionsRef = /*#__PURE__*/createRef();
67
- const LockIcon = /*#__PURE__*/React.createElement("svg", {
68
- width: "7",
69
- height: "9",
70
- fill: "none",
71
- xmlns: "http://www.w3.org/2000/svg"
72
- }, /*#__PURE__*/React.createElement("path", {
73
- fillRule: "evenodd",
74
- clipRule: "evenodd",
75
- d: "M3.5 1A1.5 1.5 0 0 0 2 2.5V3h3v-.5A1.5 1.5 0 0 0 3.5 1ZM1 2.5V3H0v6h7V3H6v-.5a2.5 2.5 0 0 0-5 0ZM1 8V4h5v4H1Zm3-1V5H3v2h1Z",
76
- fill: "none"
77
- }));
78
74
  const onLabelClick = () => {
79
75
  if (!isDeactivated && !getPredefinedDimensionProp(id, DIMENSION_PROP_NO_ITEMS)) {
80
76
  onClick(id);
81
77
  }
82
78
  };
83
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(CssVariables, {
84
- colors: true
85
- }), /*#__PURE__*/React.createElement("li", _extends({
79
+ return /*#__PURE__*/React.createElement("li", _extends({
86
80
  onMouseOver: this.onMouseOver,
87
81
  onMouseLeave: this.onMouseExit,
88
82
  ref: innerRef,
83
+ style: Object.assign({}, itemStyle, style, !isDeactivated && styles.clickable),
89
84
  "data-test": dataTest,
90
85
  onClick: onLabelClick
91
- }, rest, {
92
- className: `jsx-${styles.__hash}` + " " + (rest && rest.className != null && rest.className || cx('item', {
93
- deactivated: isDeactivated,
94
- selected: isSelected && !isDeactivated
95
- }, className) || "")
96
- }), /*#__PURE__*/React.createElement("div", {
86
+ }, rest), /*#__PURE__*/React.createElement("div", {
87
+ className: "label",
97
88
  tabIndex: 0,
98
- "data-test": `${dataTest}-button-${id}`,
99
- className: `jsx-${styles.__hash}` + " " + "label"
89
+ style: styles.label,
90
+ "data-test": `${dataTest}-button-${id}`
100
91
  }, /*#__PURE__*/React.createElement("div", {
101
- className: `jsx-${styles.__hash}` + " " + "iconWrapper"
92
+ style: styles.iconWrapper
102
93
  }, Icon), /*#__PURE__*/React.createElement("div", {
103
- className: `jsx-${styles.__hash}` + " " + "labelWrapper"
104
- }, /*#__PURE__*/React.createElement("span", {
105
- className: `jsx-${styles.__hash}` + " " + "labelText"
106
- }, Label), /*#__PURE__*/React.createElement(RecommendedIcon, {
94
+ style: styles.labelWrapper
95
+ }, Label, /*#__PURE__*/React.createElement(RecommendedIcon, {
107
96
  isRecommended: isRecommended,
108
97
  dataTest: `${dataTest}-recommended-icon`
109
- }))), onOptionsClick ? /*#__PURE__*/React.createElement("div", {
98
+ })), isLocked && /*#__PURE__*/React.createElement("div", {
99
+ style: styles.iconWrapper
100
+ }, /*#__PURE__*/React.createElement(IconLock16, null))), onOptionsClick ? /*#__PURE__*/React.createElement("div", {
101
+ style: styles.optionsWrapper,
110
102
  ref: optionsRef,
111
- "data-test": `${dataTest}-menu-${id}`,
112
- className: `jsx-${styles.__hash}` + " " + "optionsWrapper"
103
+ "data-test": `${dataTest}-menu-${id}`
113
104
  }, this.state.mouseOver && !isDeactivated && !isLocked ? /*#__PURE__*/React.createElement(OptionsButton, {
105
+ style: styles.optionsButton,
114
106
  onClick: this.onOptionsClick(id, optionsRef)
115
- }) : null) : null, isLocked && /*#__PURE__*/React.createElement("div", {
116
- className: `jsx-${styles.__hash}` + " " + "lockWrapper"
117
- }, LockIcon)), /*#__PURE__*/React.createElement(_JSXStyle, {
118
- id: styles.__hash
119
- }, styles));
107
+ }) : null) : null);
120
108
  }
121
109
  }
122
110
  DimensionItem.propTypes = {
@@ -124,12 +112,12 @@ DimensionItem.propTypes = {
124
112
  isSelected: PropTypes.bool.isRequired,
125
113
  // XXX
126
114
  name: PropTypes.string.isRequired,
127
- className: PropTypes.string,
128
115
  dataTest: PropTypes.string,
129
116
  innerRef: PropTypes.func,
130
117
  isDeactivated: PropTypes.bool,
131
118
  isLocked: PropTypes.bool,
132
119
  isRecommended: PropTypes.bool,
120
+ style: PropTypes.object,
133
121
  onClick: PropTypes.func,
134
122
  onOptionsClick: PropTypes.func
135
123
  };
@@ -1,19 +1,18 @@
1
- import _JSXStyle from "styled-jsx/style";
2
1
  import { IconMore16 } from '@dhis2/ui';
3
2
  import PropTypes from 'prop-types';
4
3
  import React from 'react';
5
4
  const OptionsButton = _ref => {
6
5
  let {
6
+ style,
7
7
  onClick
8
8
  } = _ref;
9
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("button", {
10
- onClick: onClick,
11
- className: "jsx-2728765288"
12
- }, /*#__PURE__*/React.createElement(IconMore16, null)), /*#__PURE__*/React.createElement(_JSXStyle, {
13
- id: "2728765288"
14
- }, ["button.jsx-2728765288{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;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;height:20px;width:20px;padding:0;border:none;background:none;outline:none;cursor:pointer;border-top-right-radius:2px;border-bottom-left-radius:2px;}", "button.jsx-2728765288:hover{background-color:rgba(0,0,0,0.09);}"]));
9
+ return /*#__PURE__*/React.createElement("button", {
10
+ style: style,
11
+ onClick: onClick
12
+ }, /*#__PURE__*/React.createElement(IconMore16, null));
15
13
  };
16
14
  OptionsButton.propTypes = {
15
+ style: PropTypes.object,
17
16
  onClick: PropTypes.func
18
17
  };
19
18
  export default OptionsButton;
@@ -10,7 +10,8 @@ const RecommendedIcon = _ref => {
10
10
  } = _ref;
11
11
  return isRecommended ? /*#__PURE__*/React.createElement(Tooltip, {
12
12
  content: i18n.t('Dimension recommended with selected data'),
13
- placement: "bottom"
13
+ placement: "bottom",
14
+ maxWidth: 160
14
15
  }, /*#__PURE__*/React.createElement("div", {
15
16
  style: styles.recommendedIcon,
16
17
  "data-test": dataTest