@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.
@@ -114,24 +114,20 @@ describe('getFilterText', () => {
114
114
  filters.push({
115
115
  dimension: 'pe',
116
116
  items: [{
117
- id: '_LAST_2_MONTHS_',
118
- name: 'Last 2 months'
117
+ id: '201801'
118
+ }, {
119
+ id: 'LAST_3_MONTHS'
120
+ }, {
121
+ id: 'LAST_MONTH'
119
122
  }]
120
123
  });
121
- metaData.dimensions.pe = ['_201801_', '_201802_'];
122
- metaData.items._LAST_2_MONTHS_ = {
123
- name: 'Last 2 months',
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
- metaData.items._201802_ = {
131
- name: '02 of 2018',
132
- uid: '_201802_'
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: '_LAST_2_MONTHS_',
115
- name: 'Last 2 months'
114
+ id: '201801'
115
+ }, {
116
+ id: 'LAST_3_MONTHS'
117
+ }, {
118
+ id: 'LAST_MONTH'
116
119
  }]
117
120
  });
118
- metaData.dimensions.pe = ['_201801_', '_201802_'];
119
- metaData.items._LAST_2_MONTHS_ = {
120
- name: 'Last 2 months',
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
- expect(getFilterText(filters, metaData)).toEqual('Clinics, Hospital - 01 of 2018, 02 of 2018');
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)) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dhis2/analytics",
3
- "version": "26.13.3",
3
+ "version": "26.13.4",
4
4
  "main": "./build/cjs/index.js",
5
5
  "module": "./build/es/index.js",
6
6
  "exports": {