@dhis2/analytics 20.7.0 → 21.0.0-alpha.4

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 (42) hide show
  1. package/build/cjs/__demo__/OrgUnitDimension.stories.js +104 -0
  2. package/build/cjs/api/organisationUnits.js +100 -46
  3. package/build/cjs/components/FileMenu/DeleteDialog.js +2 -2
  4. package/build/cjs/components/FileMenu/FileMenu.js +2 -2
  5. package/build/cjs/components/FileMenu/GetLinkDialog.js +2 -2
  6. package/build/cjs/components/FileMenu/RenameDialog.js +2 -2
  7. package/build/cjs/components/FileMenu/SaveAsDialog.js +2 -2
  8. package/build/cjs/components/OrgUnitDimension/OrgUnitDimension.js +223 -193
  9. package/build/cjs/components/OrgUnitDimension/styles/OrgUnitDimension.style.js +5 -2
  10. package/build/cjs/components/PeriodDimension/FixedPeriodSelect.js +2 -2
  11. package/build/cjs/components/TransferOption.js +2 -2
  12. package/build/cjs/index.js +22 -4
  13. package/build/cjs/locales/en/translations.json +14 -0
  14. package/build/cjs/modules/list.js +25 -0
  15. package/build/cjs/modules/ouIdHelper/index.js +7 -1
  16. package/build/cjs/modules/relativeItems/index.js +1 -1
  17. package/build/cjs/visualizations/util/__tests__/getFilterText.spec.js +1 -1
  18. package/build/cjs/visualizations/util/getFilterText.js +1 -9
  19. package/build/es/__demo__/OrgUnitDimension.stories.js +93 -0
  20. package/build/es/api/organisationUnits.js +93 -43
  21. package/build/es/components/FileMenu/DeleteDialog.js +1 -1
  22. package/build/es/components/FileMenu/FileMenu.js +1 -1
  23. package/build/es/components/FileMenu/GetLinkDialog.js +1 -1
  24. package/build/es/components/FileMenu/RenameDialog.js +1 -1
  25. package/build/es/components/FileMenu/SaveAsDialog.js +1 -1
  26. package/build/es/components/OrgUnitDimension/OrgUnitDimension.js +224 -196
  27. package/build/es/components/OrgUnitDimension/styles/OrgUnitDimension.style.js +3 -2
  28. package/build/es/components/PeriodDimension/FixedPeriodSelect.js +6 -6
  29. package/build/es/components/TransferOption.js +12 -12
  30. package/build/es/index.js +2 -2
  31. package/build/es/locales/en/translations.json +14 -0
  32. package/build/es/modules/list.js +13 -0
  33. package/build/es/modules/ouIdHelper/index.js +3 -0
  34. package/build/es/modules/relativeItems/index.js +2 -2
  35. package/build/es/visualizations/util/__tests__/getFilterText.spec.js +1 -1
  36. package/build/es/visualizations/util/getFilterText.js +2 -10
  37. package/package.json +3 -2
  38. package/CHANGELOG.md +0 -2763
  39. package/build/cjs/api/organisationUnits-dataEngine.js +0 -119
  40. package/build/cjs/components/OrgUnitDimension/__tests__/OrgUnitDimension.spec.js +0 -96
  41. package/build/es/api/organisationUnits-dataEngine.js +0 -96
  42. package/build/es/components/OrgUnitDimension/__tests__/OrgUnitDimension.spec.js +0 -86
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+
3
+ var _appRuntime = require("@dhis2/app-runtime");
4
+
5
+ var _react = require("@storybook/react");
6
+
7
+ var _react2 = _interopRequireWildcard(require("react"));
8
+
9
+ var _OrgUnitDimension = _interopRequireDefault(require("../components/OrgUnitDimension/OrgUnitDimension"));
10
+
11
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
+
13
+ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
14
+
15
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
16
+
17
+ const Wrapper = story => /*#__PURE__*/_react2.default.createElement(_appRuntime.DataProvider, {
18
+ baseUrl: "http://localhost:8080/",
19
+ apiVersion: ""
20
+ }, story());
21
+
22
+ const defaultRootOrgUnits = ['ImspTQPwCqd']; // Sierra Leone
23
+
24
+ (0, _react.storiesOf)('OrgUnitDimension', module).addDecorator(Wrapper).add('None selected', () => {
25
+ const [selected, setSelected] = (0, _react2.useState)([]);
26
+ return /*#__PURE__*/_react2.default.createElement(_OrgUnitDimension.default, {
27
+ selected: selected,
28
+ onSelect: response => setSelected(response.items),
29
+ roots: defaultRootOrgUnits
30
+ });
31
+ });
32
+ (0, _react.storiesOf)('OrgUnitDimension', module).addDecorator(Wrapper).add('Root selected', () => {
33
+ const [selected, setSelected] = (0, _react2.useState)([{
34
+ id: 'ImspTQPwCqd',
35
+ path: '/ImspTQPwCqd',
36
+ name: 'Sierra Leone'
37
+ }]);
38
+ return /*#__PURE__*/_react2.default.createElement(_OrgUnitDimension.default, {
39
+ selected: selected,
40
+ onSelect: response => setSelected(response.items),
41
+ roots: defaultRootOrgUnits
42
+ });
43
+ });
44
+ (0, _react.storiesOf)('OrgUnitDimension', module).addDecorator(Wrapper).add('Single level 2 child selected', () => {
45
+ const [selected, setSelected] = (0, _react2.useState)([{
46
+ id: 'fdc6uOvgoji',
47
+ path: '/ImspTQPwCqd/fdc6uOvgoji',
48
+ name: 'Bombali'
49
+ }]);
50
+ return /*#__PURE__*/_react2.default.createElement(_OrgUnitDimension.default, {
51
+ selected: selected,
52
+ onSelect: response => setSelected(response.items),
53
+ roots: defaultRootOrgUnits
54
+ });
55
+ });
56
+ (0, _react.storiesOf)('OrgUnitDimension', module).addDecorator(Wrapper).add('Multiple level 2 children selected', () => {
57
+ const [selected, setSelected] = (0, _react2.useState)([{
58
+ id: 'O6uvpzGd5pu',
59
+ path: '/ImspTQPwCqd/O6uvpzGd5pu',
60
+ name: 'Bo'
61
+ }, {
62
+ id: 'fdc6uOvgoji',
63
+ path: '/ImspTQPwCqd/fdc6uOvgoji',
64
+ name: 'Bombali'
65
+ }, {
66
+ id: 'lc3eMKXaEfw',
67
+ path: '/ImspTQPwCqd/lc3eMKXaEfw',
68
+ name: 'Bonthe'
69
+ }]);
70
+ return /*#__PURE__*/_react2.default.createElement(_OrgUnitDimension.default, {
71
+ selected: selected,
72
+ onSelect: response => setSelected(response.items),
73
+ roots: defaultRootOrgUnits
74
+ });
75
+ });
76
+ (0, _react.storiesOf)('OrgUnitDimension', module).addDecorator(Wrapper).add('Multiple selected across different levels', () => {
77
+ const [selected, setSelected] = (0, _react2.useState)([{
78
+ id: 'fdc6uOvgoji',
79
+ path: '/ImspTQPwCqd/fdc6uOvgoji',
80
+ name: 'Bombali'
81
+ }, {
82
+ id: 'KKkLOTpMXGV',
83
+ path: '/ImspTQPwCqd/fdc6uOvgoji/KKkLOTpMXGV',
84
+ name: 'Bombali Sebora'
85
+ }, {
86
+ id: 'GQcsUZf81vP',
87
+ path: '/ImspTQPwCqd/fdc6uOvgoji/KKkLOTpMXGV/GQcsUZf81vP',
88
+ name: 'Govt. Hosp. Makeni'
89
+ }]);
90
+ return /*#__PURE__*/_react2.default.createElement(_OrgUnitDimension.default, {
91
+ selected: selected,
92
+ onSelect: response => setSelected(response.items),
93
+ roots: defaultRootOrgUnits
94
+ });
95
+ });
96
+ (0, _react.storiesOf)('OrgUnitDimension', module).addDecorator(Wrapper).add('Multiple roots', () => {
97
+ const [selected, setSelected] = (0, _react2.useState)([]);
98
+ return /*#__PURE__*/_react2.default.createElement(_OrgUnitDimension.default, {
99
+ selected: selected,
100
+ onSelect: response => setSelected(response.items),
101
+ roots: ['O6uvpzGd5pu', 'fdc6uOvgoji'] // Bo + Bombali
102
+
103
+ });
104
+ });
@@ -3,66 +3,120 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.apiFetchOrganisationUnitLevels = exports.apiFetchOrganisationUnitGroups = exports.apiFetchOrganisationUnits = exports.apiFetchOrganisationUnitRoot = void 0;
6
+ exports.apiFetchOrganisationUnit = exports.apiFetchOrganisationUnits = exports.apiFetchOrganisationUnitRoots = exports.apiFetchOrganisationUnitGroups = exports.apiFetchOrganisationUnitLevels = void 0;
7
7
 
8
8
  var _index = require("./index");
9
9
 
10
- const apiFetchOrganisationUnitRoot = d2 => {
11
- const endPoint = '/organisationUnits';
12
- const fields = ['id', 'displayName', 'name'];
13
- const url = "".concat(endPoint, "?paging=false&userDataViewFallback=true&fields=").concat(fields.join(','));
14
- return d2.Api.getApi().get(url).then(({
15
- organisationUnits
16
- }) => organisationUnits[0]).catch(_index.onError);
10
+ const orgUnitLevelsQuery = {
11
+ resource: 'organisationUnitLevels',
12
+ params: ({
13
+ displayNameProp = 'displayName'
14
+ }) => ({
15
+ fields: "id,level,".concat(displayNameProp, "~rename(displayName),name"),
16
+ paging: false
17
+ })
18
+ };
19
+ const orgUnitGroupsQuery = {
20
+ resource: 'organisationUnitGroups',
21
+ params: ({
22
+ displayNameProp = 'displayName'
23
+ }) => ({
24
+ fields: "id,".concat(displayNameProp, "~rename(displayName),name"),
25
+ paging: false
26
+ })
27
+ };
28
+ const orgUnitRootsQuery = {
29
+ resource: 'organisationUnits',
30
+ params: {
31
+ fields: 'id,displayName,name',
32
+ userDataViewFallback: true,
33
+ paging: false
34
+ }
35
+ };
36
+ const orgUnitsQuery = {
37
+ resource: 'organisationUnits',
38
+ params: ({
39
+ displayNameProp
40
+ }) => ({
41
+ fields: "id,path,".concat(displayNameProp, "~rename(displayName),children::isNotEmpty"),
42
+ level: 1,
43
+ userDataViewFallback: true,
44
+ paging: false
45
+ })
46
+ };
47
+ const orgUnitQuery = {
48
+ resource: 'organisationUnits',
49
+ id: ({
50
+ id
51
+ }) => id,
52
+ params: {
53
+ fields: 'id,level,displayName~rename(name),path,parent[id,displayName~rename(name)],children[level]',
54
+ userDataViewFallback: true,
55
+ paging: false
56
+ }
17
57
  };
18
- /**
19
- * Fetch organisation units
20
- * @returns {Promise<T | never>}
21
- */
22
58
 
59
+ const apiFetchOrganisationUnitLevels = async dataEngine => {
60
+ const orgUnitLevelsData = await dataEngine.query({
61
+ orgUnitLevels: orgUnitLevelsQuery
62
+ }, {
63
+ onError: _index.onError
64
+ });
65
+ return orgUnitLevelsData.orgUnitLevels.organisationUnitLevels;
66
+ };
23
67
 
24
- exports.apiFetchOrganisationUnitRoot = apiFetchOrganisationUnitRoot;
68
+ exports.apiFetchOrganisationUnitLevels = apiFetchOrganisationUnitLevels;
25
69
 
26
- const apiFetchOrganisationUnits = (d2, displayNameProperty) => {
27
- const fields = ['id', 'path', "".concat(displayNameProperty, "~rename(displayName)"), 'children::isNotEmpty'];
28
- return d2.models.organisationUnits.list({
29
- paging: false,
30
- level: 1,
31
- fields: fields.join(','),
32
- userDataViewFallback: true
70
+ const apiFetchOrganisationUnitGroups = async (dataEngine, displayNameProp) => {
71
+ const orgUnitGroupsData = await dataEngine.query({
72
+ orgUnitGroups: orgUnitGroupsQuery
73
+ }, {
74
+ variables: {
75
+ displayNameProp
76
+ },
77
+ onError: _index.onError
33
78
  });
79
+ return orgUnitGroupsData.orgUnitGroups.organisationUnitGroups;
34
80
  };
35
- /**
36
- * Fetch organisation unit groups
37
- * @returns {*}
38
- */
39
81
 
82
+ exports.apiFetchOrganisationUnitGroups = apiFetchOrganisationUnitGroups;
83
+
84
+ const apiFetchOrganisationUnitRoots = async dataEngine => {
85
+ const orgUnitRootsData = await dataEngine.query({
86
+ orgUnitRoots: orgUnitRootsQuery
87
+ }, {
88
+ onError: _index.onError
89
+ });
90
+ return orgUnitRootsData.orgUnitRoots.organisationUnits;
91
+ }; // TODO: Unused, previously used to load all org units for the tree, but that is done by the ui component internally now, remove?
40
92
 
41
- exports.apiFetchOrganisationUnits = apiFetchOrganisationUnits;
42
93
 
43
- const apiFetchOrganisationUnitGroups = (d2, displayNameProperty) => {
44
- const endPoint = '/organisationUnitGroups';
45
- const fields = ['id', "".concat(displayNameProperty, "~rename(displayName)"), 'name'];
46
- const url = "".concat(endPoint, "?paging=false&fields=").concat(fields.join(','));
47
- return d2.Api.getApi().get(url).then(({
48
- organisationUnitGroups
49
- }) => organisationUnitGroups).catch(_index.onError);
50
- };
51
- /**
52
- * Fetch organisation unit levels
53
- * @returns {*}
54
- */
94
+ exports.apiFetchOrganisationUnitRoots = apiFetchOrganisationUnitRoots;
55
95
 
96
+ const apiFetchOrganisationUnits = async (dataEngine, displayNameProp) => {
97
+ const orgUnitsData = await dataEngine.query({
98
+ orgUnits: orgUnitsQuery
99
+ }, {
100
+ variables: {
101
+ displayNameProp
102
+ },
103
+ onError: _index.onError
104
+ });
105
+ return orgUnitsData.orgUnits.organisationUnits;
106
+ };
56
107
 
57
- exports.apiFetchOrganisationUnitGroups = apiFetchOrganisationUnitGroups;
108
+ exports.apiFetchOrganisationUnits = apiFetchOrganisationUnits;
58
109
 
59
- const apiFetchOrganisationUnitLevels = d2 => {
60
- const endPoint = '/organisationUnitLevels';
61
- const fields = ['id', 'displayName', 'name', 'level'];
62
- const url = "".concat(endPoint, "?paging=false&fields=").concat(fields.join(','));
63
- return d2.Api.getApi().get(url).then(({
64
- organisationUnitLevels
65
- }) => organisationUnitLevels).catch(_index.onError);
110
+ const apiFetchOrganisationUnit = async (dataEngine, id) => {
111
+ const orgUnitData = await dataEngine.query({
112
+ orgUnit: orgUnitQuery
113
+ }, {
114
+ variables: {
115
+ id
116
+ },
117
+ onError: _index.onError
118
+ });
119
+ return orgUnitData.orgUnit;
66
120
  };
67
121
 
68
- exports.apiFetchOrganisationUnitLevels = apiFetchOrganisationUnitLevels;
122
+ exports.apiFetchOrganisationUnit = apiFetchOrganisationUnit;
@@ -7,10 +7,10 @@ exports.DeleteDialog = void 0;
7
7
 
8
8
  var _appRuntime = require("@dhis2/app-runtime");
9
9
 
10
- var _propTypes = _interopRequireDefault(require("@dhis2/prop-types"));
11
-
12
10
  var _ui = require("@dhis2/ui");
13
11
 
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+
14
14
  var _react = _interopRequireWildcard(require("react"));
15
15
 
16
16
  var _index = _interopRequireDefault(require("../../locales/index.js"));
@@ -9,10 +9,10 @@ var _style = _interopRequireDefault(require("styled-jsx/style"));
9
9
 
10
10
  var _d2UiTranslationDialog = _interopRequireDefault(require("@dhis2/d2-ui-translation-dialog"));
11
11
 
12
- var _propTypes = _interopRequireDefault(require("@dhis2/prop-types"));
13
-
14
12
  var _ui = require("@dhis2/ui");
15
13
 
14
+ var _propTypes = _interopRequireDefault(require("prop-types"));
15
+
16
16
  var _react = _interopRequireWildcard(require("react"));
17
17
 
18
18
  var _index = _interopRequireDefault(require("../../locales/index.js"));
@@ -7,10 +7,10 @@ exports.GetLinkDialog = void 0;
7
7
 
8
8
  var _appRuntime = require("@dhis2/app-runtime");
9
9
 
10
- var _propTypes = _interopRequireDefault(require("@dhis2/prop-types"));
11
-
12
10
  var _ui = require("@dhis2/ui");
13
11
 
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+
14
14
  var _react = _interopRequireDefault(require("react"));
15
15
 
16
16
  var _index = _interopRequireDefault(require("../../locales/index.js"));
@@ -7,10 +7,10 @@ exports.RenameDialog = void 0;
7
7
 
8
8
  var _appRuntime = require("@dhis2/app-runtime");
9
9
 
10
- var _propTypes = _interopRequireDefault(require("@dhis2/prop-types"));
11
-
12
10
  var _ui = require("@dhis2/ui");
13
11
 
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+
14
14
  var _react = _interopRequireWildcard(require("react"));
15
15
 
16
16
  var _index = _interopRequireDefault(require("../../locales/index.js"));
@@ -5,10 +5,10 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.SaveAsDialog = void 0;
7
7
 
8
- var _propTypes = _interopRequireDefault(require("@dhis2/prop-types"));
9
-
10
8
  var _ui = require("@dhis2/ui");
11
9
 
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
12
  var _react = _interopRequireWildcard(require("react"));
13
13
 
14
14
  var _index = _interopRequireDefault(require("../../locales/index.js"));