@dhis2/analytics 26.13.3 → 26.13.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.
- package/build/cjs/visualizations/util/__tests__/getFilterText.spec.js +11 -15
- package/build/cjs/visualizations/util/getFilterText.js +8 -0
- package/build/es/visualizations/util/__tests__/getFilterText.spec.js +11 -15
- package/build/es/visualizations/util/getFilterText.js +9 -1
- package/package.json +1 -1
|
@@ -114,24 +114,20 @@ describe('getFilterText', () => {
|
|
|
114
114
|
filters.push({
|
|
115
115
|
dimension: 'pe',
|
|
116
116
|
items: [{
|
|
117
|
-
id: '
|
|
118
|
-
|
|
117
|
+
id: '201801'
|
|
118
|
+
}, {
|
|
119
|
+
id: 'LAST_3_MONTHS'
|
|
120
|
+
}, {
|
|
121
|
+
id: 'LAST_MONTH'
|
|
119
122
|
}]
|
|
120
123
|
});
|
|
121
|
-
metaData.dimensions.pe = ['
|
|
122
|
-
metaData.items
|
|
123
|
-
name: '
|
|
124
|
-
uid: '_LAST_2_MONTHS_'
|
|
125
|
-
};
|
|
126
|
-
metaData.items._201801_ = {
|
|
127
|
-
name: '01 of 2018',
|
|
128
|
-
uid: '_201801_'
|
|
124
|
+
metaData.dimensions.pe = ['202501', '202502', '202503', '202504', '201801'];
|
|
125
|
+
metaData.items['201801'] = {
|
|
126
|
+
name: 'January 2018'
|
|
129
127
|
};
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
};
|
|
134
|
-
expect((0, _getFilterText.default)(filters, metaData)).toEqual('Clinics, Hospital - 01 of 2018, 02 of 2018');
|
|
128
|
+
|
|
129
|
+
// Relative period names come from relativePeriods.js
|
|
130
|
+
expect((0, _getFilterText.default)(filters, metaData)).toEqual('Clinics, Hospital - January 2018, Last 3 months, Last month');
|
|
135
131
|
});
|
|
136
132
|
});
|
|
137
133
|
});
|
|
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = _default;
|
|
7
|
+
var _relativePeriods = require("../../components/PeriodDimension/utils/relativePeriods.js");
|
|
7
8
|
var _getOuLevelAndGroupText = require("../../modules/getOuLevelAndGroupText.js");
|
|
9
|
+
var _dimensionGetItemIds = require("../../modules/layout/dimensionGetItemIds.js");
|
|
8
10
|
var _dimensionGetItems = require("../../modules/layout/dimensionGetItems.js");
|
|
9
11
|
var _dimensionIs = require("../../modules/layout/dimensionIs.js");
|
|
10
12
|
var _index = require("../../modules/ouIdHelper/index.js");
|
|
@@ -25,6 +27,12 @@ function _default(filters, metaData) {
|
|
|
25
27
|
return _index.ouIdHelper.hasGroupPrefix(id) || _index.ouIdHelper.hasLevelPrefix(id);
|
|
26
28
|
})) {
|
|
27
29
|
titleFragments.push((0, _getOuLevelAndGroupText.getOuLevelAndGroupText)(filter, metaData));
|
|
30
|
+
} else if ((0, _dimensionIs.dimensionIs)(filter, _predefinedDimensions.DIMENSION_ID_PERIOD)) {
|
|
31
|
+
const relativePeriodNames = (0, _relativePeriods.getRelativePeriodsName)();
|
|
32
|
+
titleFragments.push((0, _dimensionGetItemIds.dimensionGetItemIds)(filter).map(id => {
|
|
33
|
+
var _metaData$items$id;
|
|
34
|
+
return relativePeriodNames[id] || ((_metaData$items$id = metaData.items[id]) === null || _metaData$items$id === void 0 ? void 0 : _metaData$items$id.name) || id;
|
|
35
|
+
}).join(', '));
|
|
28
36
|
} else {
|
|
29
37
|
const filterItems = metaData.dimensions[filter.dimension];
|
|
30
38
|
if (Array.isArray(filterItems)) {
|
|
@@ -111,24 +111,20 @@ describe('getFilterText', () => {
|
|
|
111
111
|
filters.push({
|
|
112
112
|
dimension: 'pe',
|
|
113
113
|
items: [{
|
|
114
|
-
id: '
|
|
115
|
-
|
|
114
|
+
id: '201801'
|
|
115
|
+
}, {
|
|
116
|
+
id: 'LAST_3_MONTHS'
|
|
117
|
+
}, {
|
|
118
|
+
id: 'LAST_MONTH'
|
|
116
119
|
}]
|
|
117
120
|
});
|
|
118
|
-
metaData.dimensions.pe = ['
|
|
119
|
-
metaData.items
|
|
120
|
-
name: '
|
|
121
|
-
uid: '_LAST_2_MONTHS_'
|
|
122
|
-
};
|
|
123
|
-
metaData.items._201801_ = {
|
|
124
|
-
name: '01 of 2018',
|
|
125
|
-
uid: '_201801_'
|
|
126
|
-
};
|
|
127
|
-
metaData.items._201802_ = {
|
|
128
|
-
name: '02 of 2018',
|
|
129
|
-
uid: '_201802_'
|
|
121
|
+
metaData.dimensions.pe = ['202501', '202502', '202503', '202504', '201801'];
|
|
122
|
+
metaData.items['201801'] = {
|
|
123
|
+
name: 'January 2018'
|
|
130
124
|
};
|
|
131
|
-
|
|
125
|
+
|
|
126
|
+
// Relative period names come from relativePeriods.js
|
|
127
|
+
expect(getFilterText(filters, metaData)).toEqual('Clinics, Hospital - January 2018, Last 3 months, Last month');
|
|
132
128
|
});
|
|
133
129
|
});
|
|
134
130
|
});
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
import { getRelativePeriodsName } from '../../components/PeriodDimension/utils/relativePeriods.js';
|
|
1
2
|
import { getOuLevelAndGroupText } from '../../modules/getOuLevelAndGroupText.js';
|
|
3
|
+
import { dimensionGetItemIds } from '../../modules/layout/dimensionGetItemIds.js';
|
|
2
4
|
import { dimensionGetItems } from '../../modules/layout/dimensionGetItems.js';
|
|
3
5
|
import { dimensionIs } from '../../modules/layout/dimensionIs.js';
|
|
4
6
|
import { ouIdHelper } from '../../modules/ouIdHelper/index.js';
|
|
5
|
-
import { DIMENSION_ID_ORGUNIT } from '../../modules/predefinedDimensions.js';
|
|
7
|
+
import { DIMENSION_ID_ORGUNIT, DIMENSION_ID_PERIOD } from '../../modules/predefinedDimensions.js';
|
|
6
8
|
export default function (filters, metaData) {
|
|
7
9
|
if (!Array.isArray(filters) || !filters.length) {
|
|
8
10
|
return '';
|
|
@@ -19,6 +21,12 @@ export default function (filters, metaData) {
|
|
|
19
21
|
return ouIdHelper.hasGroupPrefix(id) || ouIdHelper.hasLevelPrefix(id);
|
|
20
22
|
})) {
|
|
21
23
|
titleFragments.push(getOuLevelAndGroupText(filter, metaData));
|
|
24
|
+
} else if (dimensionIs(filter, DIMENSION_ID_PERIOD)) {
|
|
25
|
+
const relativePeriodNames = getRelativePeriodsName();
|
|
26
|
+
titleFragments.push(dimensionGetItemIds(filter).map(id => {
|
|
27
|
+
var _metaData$items$id;
|
|
28
|
+
return relativePeriodNames[id] || ((_metaData$items$id = metaData.items[id]) === null || _metaData$items$id === void 0 ? void 0 : _metaData$items$id.name) || id;
|
|
29
|
+
}).join(', '));
|
|
22
30
|
} else {
|
|
23
31
|
const filterItems = metaData.dimensions[filter.dimension];
|
|
24
32
|
if (Array.isArray(filterItems)) {
|