@dhis2/analytics 23.7.9 → 23.8.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 (36) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/build/cjs/api/analytics/AnalyticsRequest.js +10 -2
  3. package/build/cjs/api/analytics/AnalyticsResponse.js +6 -4
  4. package/build/cjs/api/analytics/__tests__/AnalyticsResponseHeader.spec.js +3 -1
  5. package/build/cjs/api/dimensions.js +19 -19
  6. package/build/cjs/components/DataDimension/{DataTypesSelector.js → DataTypeSelector.js} +11 -11
  7. package/build/cjs/components/DataDimension/GroupSelector.js +10 -10
  8. package/build/cjs/components/DataDimension/ItemSelector.js +31 -31
  9. package/build/cjs/components/DataDimension/MetricSelector.js +4 -4
  10. package/build/cjs/components/DataDimension/styles/{DataTypesSelector.style.js → DataTypeSelector.style.js} +0 -0
  11. package/build/cjs/components/PivotTable/PivotTableValueCell.js +3 -1
  12. package/build/cjs/index.js +221 -1
  13. package/build/cjs/modules/dataTypes.js +53 -41
  14. package/build/cjs/modules/pivotTable/PivotTableEngine.js +14 -10
  15. package/build/cjs/modules/pivotTable/pivotTableConstants.js +2 -14
  16. package/build/cjs/modules/{pivotTable/renderValue.js → renderValue.js} +4 -2
  17. package/build/cjs/modules/valueTypes.js +50 -0
  18. package/build/cjs/visualizations/config/adapters/dhis_dhis/value/index.js +3 -3
  19. package/build/es/api/analytics/AnalyticsRequest.js +10 -2
  20. package/build/es/api/analytics/AnalyticsResponse.js +5 -4
  21. package/build/es/api/analytics/__tests__/AnalyticsResponseHeader.spec.js +2 -1
  22. package/build/es/api/dimensions.js +20 -21
  23. package/build/es/components/DataDimension/{DataTypesSelector.js → DataTypeSelector.js} +8 -8
  24. package/build/es/components/DataDimension/GroupSelector.js +4 -4
  25. package/build/es/components/DataDimension/ItemSelector.js +29 -29
  26. package/build/es/components/DataDimension/MetricSelector.js +5 -5
  27. package/build/es/components/DataDimension/styles/{DataTypesSelector.style.js → DataTypeSelector.style.js} +0 -0
  28. package/build/es/components/PivotTable/PivotTableValueCell.js +2 -1
  29. package/build/es/index.js +7 -4
  30. package/build/es/modules/dataTypes.js +35 -29
  31. package/build/es/modules/pivotTable/PivotTableEngine.js +5 -3
  32. package/build/es/modules/pivotTable/pivotTableConstants.js +1 -7
  33. package/build/es/modules/{pivotTable/renderValue.js → renderValue.js} +2 -1
  34. package/build/es/modules/valueTypes.js +23 -0
  35. package/build/es/visualizations/config/adapters/dhis_dhis/value/index.js +2 -2
  36. package/package.json +1 -1
@@ -363,6 +363,126 @@ Object.defineProperty(exports, "layoutHasPeriodDimension", {
363
363
  return _layoutHasPeriodDimension.layoutHasPeriodDimension;
364
364
  }
365
365
  });
366
+ Object.defineProperty(exports, "VALUE_TYPE_NUMBER", {
367
+ enumerable: true,
368
+ get: function () {
369
+ return _valueTypes.VALUE_TYPE_NUMBER;
370
+ }
371
+ });
372
+ Object.defineProperty(exports, "VALUE_TYPE_UNIT_INTERVAL", {
373
+ enumerable: true,
374
+ get: function () {
375
+ return _valueTypes.VALUE_TYPE_UNIT_INTERVAL;
376
+ }
377
+ });
378
+ Object.defineProperty(exports, "VALUE_TYPE_PERCENTAGE", {
379
+ enumerable: true,
380
+ get: function () {
381
+ return _valueTypes.VALUE_TYPE_PERCENTAGE;
382
+ }
383
+ });
384
+ Object.defineProperty(exports, "VALUE_TYPE_INTEGER", {
385
+ enumerable: true,
386
+ get: function () {
387
+ return _valueTypes.VALUE_TYPE_INTEGER;
388
+ }
389
+ });
390
+ Object.defineProperty(exports, "VALUE_TYPE_INTEGER_POSITIVE", {
391
+ enumerable: true,
392
+ get: function () {
393
+ return _valueTypes.VALUE_TYPE_INTEGER_POSITIVE;
394
+ }
395
+ });
396
+ Object.defineProperty(exports, "VALUE_TYPE_INTEGER_NEGATIVE", {
397
+ enumerable: true,
398
+ get: function () {
399
+ return _valueTypes.VALUE_TYPE_INTEGER_NEGATIVE;
400
+ }
401
+ });
402
+ Object.defineProperty(exports, "VALUE_TYPE_INTEGER_ZERO_OR_POSITIVE", {
403
+ enumerable: true,
404
+ get: function () {
405
+ return _valueTypes.VALUE_TYPE_INTEGER_ZERO_OR_POSITIVE;
406
+ }
407
+ });
408
+ Object.defineProperty(exports, "VALUE_TYPE_TEXT", {
409
+ enumerable: true,
410
+ get: function () {
411
+ return _valueTypes.VALUE_TYPE_TEXT;
412
+ }
413
+ });
414
+ Object.defineProperty(exports, "VALUE_TYPE_LONG_TEXT", {
415
+ enumerable: true,
416
+ get: function () {
417
+ return _valueTypes.VALUE_TYPE_LONG_TEXT;
418
+ }
419
+ });
420
+ Object.defineProperty(exports, "VALUE_TYPE_LETTER", {
421
+ enumerable: true,
422
+ get: function () {
423
+ return _valueTypes.VALUE_TYPE_LETTER;
424
+ }
425
+ });
426
+ Object.defineProperty(exports, "VALUE_TYPE_PHONE_NUMBER", {
427
+ enumerable: true,
428
+ get: function () {
429
+ return _valueTypes.VALUE_TYPE_PHONE_NUMBER;
430
+ }
431
+ });
432
+ Object.defineProperty(exports, "VALUE_TYPE_EMAIL", {
433
+ enumerable: true,
434
+ get: function () {
435
+ return _valueTypes.VALUE_TYPE_EMAIL;
436
+ }
437
+ });
438
+ Object.defineProperty(exports, "VALUE_TYPE_USERNAME", {
439
+ enumerable: true,
440
+ get: function () {
441
+ return _valueTypes.VALUE_TYPE_USERNAME;
442
+ }
443
+ });
444
+ Object.defineProperty(exports, "VALUE_TYPE_URL", {
445
+ enumerable: true,
446
+ get: function () {
447
+ return _valueTypes.VALUE_TYPE_URL;
448
+ }
449
+ });
450
+ Object.defineProperty(exports, "VALUE_TYPE_BOOLEAN", {
451
+ enumerable: true,
452
+ get: function () {
453
+ return _valueTypes.VALUE_TYPE_BOOLEAN;
454
+ }
455
+ });
456
+ Object.defineProperty(exports, "VALUE_TYPE_TRUE_ONLY", {
457
+ enumerable: true,
458
+ get: function () {
459
+ return _valueTypes.VALUE_TYPE_TRUE_ONLY;
460
+ }
461
+ });
462
+ Object.defineProperty(exports, "VALUE_TYPE_DATE", {
463
+ enumerable: true,
464
+ get: function () {
465
+ return _valueTypes.VALUE_TYPE_DATE;
466
+ }
467
+ });
468
+ Object.defineProperty(exports, "VALUE_TYPE_TIME", {
469
+ enumerable: true,
470
+ get: function () {
471
+ return _valueTypes.VALUE_TYPE_TIME;
472
+ }
473
+ });
474
+ Object.defineProperty(exports, "VALUE_TYPE_DATETIME", {
475
+ enumerable: true,
476
+ get: function () {
477
+ return _valueTypes.VALUE_TYPE_DATETIME;
478
+ }
479
+ });
480
+ Object.defineProperty(exports, "VALUE_TYPE_ORGANISATION_UNIT", {
481
+ enumerable: true,
482
+ get: function () {
483
+ return _valueTypes.VALUE_TYPE_ORGANISATION_UNIT;
484
+ }
485
+ });
366
486
  Object.defineProperty(exports, "AXIS", {
367
487
  enumerable: true,
368
488
  get: function () {
@@ -1179,6 +1299,102 @@ Object.defineProperty(exports, "VisualizationOptions", {
1179
1299
  return _VisualizationOptions.default;
1180
1300
  }
1181
1301
  });
1302
+ Object.defineProperty(exports, "DIMENSION_TYPE_INDICATOR", {
1303
+ enumerable: true,
1304
+ get: function () {
1305
+ return _dataTypes.DIMENSION_TYPE_INDICATOR;
1306
+ }
1307
+ });
1308
+ Object.defineProperty(exports, "DIMENSION_TYPE_DATA_ELEMENT", {
1309
+ enumerable: true,
1310
+ get: function () {
1311
+ return _dataTypes.DIMENSION_TYPE_DATA_ELEMENT;
1312
+ }
1313
+ });
1314
+ Object.defineProperty(exports, "DIMENSION_TYPE_DATA_SET", {
1315
+ enumerable: true,
1316
+ get: function () {
1317
+ return _dataTypes.DIMENSION_TYPE_DATA_SET;
1318
+ }
1319
+ });
1320
+ Object.defineProperty(exports, "DIMENSION_TYPE_EVENT_DATA_ITEM", {
1321
+ enumerable: true,
1322
+ get: function () {
1323
+ return _dataTypes.DIMENSION_TYPE_EVENT_DATA_ITEM;
1324
+ }
1325
+ });
1326
+ Object.defineProperty(exports, "DIMENSION_TYPE_PROGRAM_INDICATOR", {
1327
+ enumerable: true,
1328
+ get: function () {
1329
+ return _dataTypes.DIMENSION_TYPE_PROGRAM_INDICATOR;
1330
+ }
1331
+ });
1332
+ Object.defineProperty(exports, "DIMENSION_TYPE_PROGRAM_DATA_ELEMENT", {
1333
+ enumerable: true,
1334
+ get: function () {
1335
+ return _dataTypes.DIMENSION_TYPE_PROGRAM_DATA_ELEMENT;
1336
+ }
1337
+ });
1338
+ Object.defineProperty(exports, "DIMENSION_TYPE_PROGRAM_ATTRIBUTE", {
1339
+ enumerable: true,
1340
+ get: function () {
1341
+ return _dataTypes.DIMENSION_TYPE_PROGRAM_ATTRIBUTE;
1342
+ }
1343
+ });
1344
+ Object.defineProperty(exports, "DIMENSION_TYPE_DATA_ELEMENT_OPERAND", {
1345
+ enumerable: true,
1346
+ get: function () {
1347
+ return _dataTypes.DIMENSION_TYPE_DATA_ELEMENT_OPERAND;
1348
+ }
1349
+ });
1350
+ Object.defineProperty(exports, "DIMENSION_TYPE_CATEGORY", {
1351
+ enumerable: true,
1352
+ get: function () {
1353
+ return _dataTypes.DIMENSION_TYPE_CATEGORY;
1354
+ }
1355
+ });
1356
+ Object.defineProperty(exports, "DIMENSION_TYPE_CATEGORY_OPTION_GROUP_SET", {
1357
+ enumerable: true,
1358
+ get: function () {
1359
+ return _dataTypes.DIMENSION_TYPE_CATEGORY_OPTION_GROUP_SET;
1360
+ }
1361
+ });
1362
+ Object.defineProperty(exports, "DIMENSION_TYPE_ALL", {
1363
+ enumerable: true,
1364
+ get: function () {
1365
+ return _dataTypes.DIMENSION_TYPE_ALL;
1366
+ }
1367
+ });
1368
+ Object.defineProperty(exports, "DIMENSION_TYPE_DATA", {
1369
+ enumerable: true,
1370
+ get: function () {
1371
+ return _dataTypes.DIMENSION_TYPE_DATA;
1372
+ }
1373
+ });
1374
+ Object.defineProperty(exports, "DIMENSION_TYPE_DATA_ELEMENT_GROUP_SET", {
1375
+ enumerable: true,
1376
+ get: function () {
1377
+ return _dataTypes.DIMENSION_TYPE_DATA_ELEMENT_GROUP_SET;
1378
+ }
1379
+ });
1380
+ Object.defineProperty(exports, "DIMENSION_TYPE_ORGANISATION_UNIT", {
1381
+ enumerable: true,
1382
+ get: function () {
1383
+ return _dataTypes.DIMENSION_TYPE_ORGANISATION_UNIT;
1384
+ }
1385
+ });
1386
+ Object.defineProperty(exports, "DIMENSION_TYPE_PERIOD", {
1387
+ enumerable: true,
1388
+ get: function () {
1389
+ return _dataTypes.DIMENSION_TYPE_PERIOD;
1390
+ }
1391
+ });
1392
+ Object.defineProperty(exports, "DIMENSION_TYPE_ORGANISATION_UNIT_GROUP_SET", {
1393
+ enumerable: true,
1394
+ get: function () {
1395
+ return _dataTypes.DIMENSION_TYPE_ORGANISATION_UNIT_GROUP_SET;
1396
+ }
1397
+ });
1182
1398
 
1183
1399
  require("./locales/index.js");
1184
1400
 
@@ -1260,6 +1476,8 @@ var _layoutHasDynamicDimension = require("./modules/layout/layoutHasDynamicDimen
1260
1476
 
1261
1477
  var _layoutHasPeriodDimension = require("./modules/layout/layoutHasPeriodDimension.js");
1262
1478
 
1479
+ var _valueTypes = require("./modules/valueTypes.js");
1480
+
1263
1481
  var _axis2 = require("./modules/layout/axis.js");
1264
1482
 
1265
1483
  var _axisGetAllItems = require("./modules/layout/axisGetAllItems.js");
@@ -1314,7 +1532,7 @@ var _fontStyle = require("./modules/fontStyle.js");
1314
1532
 
1315
1533
  var _legends = require("./modules/legends.js");
1316
1534
 
1317
- var _renderValue = require("./modules/pivotTable/renderValue.js");
1535
+ var _renderValue = require("./modules/renderValue.js");
1318
1536
 
1319
1537
  var _colorSets = require("./visualizations/util/colors/colorSets.js");
1320
1538
 
@@ -1326,6 +1544,8 @@ var _fixedPeriods = require("./components/PeriodDimension/utils/fixedPeriods.js"
1326
1544
 
1327
1545
  var _VisualizationOptions = _interopRequireDefault(require("./components/Options/VisualizationOptions.js"));
1328
1546
 
1547
+ var _dataTypes = require("./modules/dataTypes.js");
1548
+
1329
1549
  function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
1330
1550
 
1331
1551
  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; }
@@ -5,32 +5,44 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.defaultGroupId = defaultGroupId;
7
7
  exports.defaultGroupDetail = defaultGroupDetail;
8
- exports.DEFAULT_DATATYPE_ID = exports.dataTypes = exports.SUB_GROUP_METRIC = exports.SUB_GROUP_DETAIL = exports.DETAIL = exports.TOTALS = exports.DATA_ELEMENT_OPERAND = exports.PROGRAM_ATTRIBUTE = exports.PROGRAM_DATA_ELEMENT = exports.PROGRAM_INDICATORS = exports.EVENT_DATA_ITEMS = exports.DATA_SETS = exports.DATA_ELEMENTS = exports.INDICATORS = exports.ALL_ID = exports.CHART_AGGREGATE_AGGREGATABLE_TYPES = void 0;
8
+ exports.DEFAULT_DATATYPE_ID = exports.dataTypeMap = exports.SUB_GROUP_METRIC = exports.SUB_GROUP_DETAIL = exports.DETAIL = exports.TOTALS = exports.DIMENSION_TYPE_ORGANISATION_UNIT_GROUP_SET = exports.DIMENSION_TYPE_ORGANISATION_UNIT = exports.DIMENSION_TYPE_PERIOD = exports.DIMENSION_TYPE_DATA = exports.DIMENSION_TYPE_DATA_ELEMENT_GROUP_SET = exports.DIMENSION_TYPE_CATEGORY_OPTION_GROUP_SET = exports.DIMENSION_TYPE_CATEGORY = exports.DIMENSION_TYPE_DATA_ELEMENT_OPERAND = exports.DIMENSION_TYPE_PROGRAM_ATTRIBUTE = exports.DIMENSION_TYPE_PROGRAM_DATA_ELEMENT = exports.DIMENSION_TYPE_PROGRAM_INDICATOR = exports.DIMENSION_TYPE_EVENT_DATA_ITEM = exports.DIMENSION_TYPE_DATA_SET = exports.DIMENSION_TYPE_DATA_ELEMENT = exports.DIMENSION_TYPE_INDICATOR = exports.DIMENSION_TYPE_ALL = void 0;
9
9
 
10
10
  var _index = _interopRequireDefault(require("../locales/index.js"));
11
11
 
12
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
13
 
14
- const CHART_AGGREGATE_AGGREGATABLE_TYPES = ['BOOLEAN', 'TRUE_ONLY', 'INTEGER', 'INTEGER_POSITIVE', 'INTEGER_NEGATIVE', 'INTEGER_ZERO_OR_POSITIVE', 'NUMBER', 'UNIT_INTERVAL', 'PERCENTAGE'];
15
- exports.CHART_AGGREGATE_AGGREGATABLE_TYPES = CHART_AGGREGATE_AGGREGATABLE_TYPES;
16
- const ALL_ID = 'ALL';
17
- exports.ALL_ID = ALL_ID;
18
- const INDICATORS = 'INDICATOR';
19
- exports.INDICATORS = INDICATORS;
20
- const DATA_ELEMENTS = 'DATA_ELEMENT';
21
- exports.DATA_ELEMENTS = DATA_ELEMENTS;
22
- const DATA_SETS = 'DATA_SET';
23
- exports.DATA_SETS = DATA_SETS;
24
- const EVENT_DATA_ITEMS = 'EVENT_DATA_ITEM';
25
- exports.EVENT_DATA_ITEMS = EVENT_DATA_ITEMS;
26
- const PROGRAM_INDICATORS = 'PROGRAM_INDICATOR';
27
- exports.PROGRAM_INDICATORS = PROGRAM_INDICATORS;
28
- const PROGRAM_DATA_ELEMENT = 'PROGRAM_DATA_ELEMENT';
29
- exports.PROGRAM_DATA_ELEMENT = PROGRAM_DATA_ELEMENT;
30
- const PROGRAM_ATTRIBUTE = 'PROGRAM_ATTRIBUTE';
31
- exports.PROGRAM_ATTRIBUTE = PROGRAM_ATTRIBUTE;
32
- const DATA_ELEMENT_OPERAND = 'DATA_ELEMENT_OPERAND';
33
- exports.DATA_ELEMENT_OPERAND = DATA_ELEMENT_OPERAND;
14
+ const DIMENSION_TYPE_ALL = 'ALL';
15
+ exports.DIMENSION_TYPE_ALL = DIMENSION_TYPE_ALL;
16
+ const DIMENSION_TYPE_INDICATOR = 'INDICATOR';
17
+ exports.DIMENSION_TYPE_INDICATOR = DIMENSION_TYPE_INDICATOR;
18
+ const DIMENSION_TYPE_DATA_ELEMENT = 'DATA_ELEMENT';
19
+ exports.DIMENSION_TYPE_DATA_ELEMENT = DIMENSION_TYPE_DATA_ELEMENT;
20
+ const DIMENSION_TYPE_DATA_SET = 'DATA_SET';
21
+ exports.DIMENSION_TYPE_DATA_SET = DIMENSION_TYPE_DATA_SET;
22
+ const DIMENSION_TYPE_EVENT_DATA_ITEM = 'EVENT_DATA_ITEM';
23
+ exports.DIMENSION_TYPE_EVENT_DATA_ITEM = DIMENSION_TYPE_EVENT_DATA_ITEM;
24
+ const DIMENSION_TYPE_PROGRAM_INDICATOR = 'PROGRAM_INDICATOR';
25
+ exports.DIMENSION_TYPE_PROGRAM_INDICATOR = DIMENSION_TYPE_PROGRAM_INDICATOR;
26
+ const DIMENSION_TYPE_PROGRAM_DATA_ELEMENT = 'PROGRAM_DATA_ELEMENT';
27
+ exports.DIMENSION_TYPE_PROGRAM_DATA_ELEMENT = DIMENSION_TYPE_PROGRAM_DATA_ELEMENT;
28
+ const DIMENSION_TYPE_PROGRAM_ATTRIBUTE = 'PROGRAM_ATTRIBUTE';
29
+ exports.DIMENSION_TYPE_PROGRAM_ATTRIBUTE = DIMENSION_TYPE_PROGRAM_ATTRIBUTE;
30
+ const DIMENSION_TYPE_DATA_ELEMENT_OPERAND = 'DATA_ELEMENT_OPERAND';
31
+ exports.DIMENSION_TYPE_DATA_ELEMENT_OPERAND = DIMENSION_TYPE_DATA_ELEMENT_OPERAND;
32
+ const DIMENSION_TYPE_CATEGORY = 'CATEGORY';
33
+ exports.DIMENSION_TYPE_CATEGORY = DIMENSION_TYPE_CATEGORY;
34
+ const DIMENSION_TYPE_CATEGORY_OPTION_GROUP_SET = 'CATEGORY_OPTION_GROUP_SET';
35
+ exports.DIMENSION_TYPE_CATEGORY_OPTION_GROUP_SET = DIMENSION_TYPE_CATEGORY_OPTION_GROUP_SET;
36
+ const DIMENSION_TYPE_DATA_ELEMENT_GROUP_SET = 'DATA_ELEMENT_GROUP_SET';
37
+ exports.DIMENSION_TYPE_DATA_ELEMENT_GROUP_SET = DIMENSION_TYPE_DATA_ELEMENT_GROUP_SET;
38
+ const DIMENSION_TYPE_DATA = 'DATA_X';
39
+ exports.DIMENSION_TYPE_DATA = DIMENSION_TYPE_DATA;
40
+ const DIMENSION_TYPE_PERIOD = 'PERIOD';
41
+ exports.DIMENSION_TYPE_PERIOD = DIMENSION_TYPE_PERIOD;
42
+ const DIMENSION_TYPE_ORGANISATION_UNIT = 'ORGANISATION_UNIT';
43
+ exports.DIMENSION_TYPE_ORGANISATION_UNIT = DIMENSION_TYPE_ORGANISATION_UNIT;
44
+ const DIMENSION_TYPE_ORGANISATION_UNIT_GROUP_SET = 'ORGANISATION_UNIT_GROUP_SET';
45
+ exports.DIMENSION_TYPE_ORGANISATION_UNIT_GROUP_SET = DIMENSION_TYPE_ORGANISATION_UNIT_GROUP_SET;
34
46
  const TOTALS = 'totals';
35
47
  exports.TOTALS = TOTALS;
36
48
  const DETAIL = 'detail';
@@ -44,25 +56,25 @@ const getProgramText = () => _index.default.t('Program');
44
56
 
45
57
  const getSelectProgramText = () => _index.default.t('Select a program');
46
58
 
47
- const dataTypes = {
48
- [INDICATORS]: {
49
- id: INDICATORS,
59
+ const dataTypeMap = {
60
+ [DIMENSION_TYPE_INDICATOR]: {
61
+ id: DIMENSION_TYPE_INDICATOR,
50
62
  getName: () => _index.default.t('Indicators'),
51
63
  getGroupLabel: () => _index.default.t('Indicator group'),
52
64
  defaultGroup: {
53
- id: ALL_ID,
65
+ id: DIMENSION_TYPE_ALL,
54
66
  getName: () => _index.default.t('All groups')
55
67
  },
56
68
  getItemName: () => _index.default.t('Indicator'),
57
69
  getGroupEmptyLabel: () => _index.default.t('No indicator groups found'),
58
70
  getGroupLoadingLabel: () => _index.default.t('Loading indicator groups')
59
71
  },
60
- [DATA_ELEMENTS]: {
61
- id: DATA_ELEMENTS,
72
+ [DIMENSION_TYPE_DATA_ELEMENT]: {
73
+ id: DIMENSION_TYPE_DATA_ELEMENT,
62
74
  getName: () => _index.default.t('Data elements'),
63
75
  getGroupLabel: () => _index.default.t('Data element group'),
64
76
  defaultGroup: {
65
- id: ALL_ID,
77
+ id: DIMENSION_TYPE_ALL,
66
78
  getName: () => _index.default.t('All groups')
67
79
  },
68
80
  subGroup: SUB_GROUP_DETAIL,
@@ -70,12 +82,12 @@ const dataTypes = {
70
82
  getGroupEmptyLabel: () => _index.default.t('No data element groups found'),
71
83
  getGroupLoadingLabel: () => _index.default.t('Loading data element groups')
72
84
  },
73
- [DATA_SETS]: {
74
- id: DATA_SETS,
85
+ [DIMENSION_TYPE_DATA_SET]: {
86
+ id: DIMENSION_TYPE_DATA_SET,
75
87
  getName: () => _index.default.t('Data sets'),
76
88
  getGroupLabel: () => _index.default.t('Data set'),
77
89
  defaultGroup: {
78
- id: ALL_ID,
90
+ id: DIMENSION_TYPE_ALL,
79
91
  getName: () => _index.default.t('All data sets')
80
92
  },
81
93
  subGroup: SUB_GROUP_METRIC,
@@ -83,26 +95,26 @@ const dataTypes = {
83
95
  getGroupEmptyLabel: () => _index.default.t('No data sets found'),
84
96
  getGroupLoadingLabel: () => _index.default.t('Loading data sets')
85
97
  },
86
- [EVENT_DATA_ITEMS]: {
87
- id: EVENT_DATA_ITEMS,
98
+ [DIMENSION_TYPE_EVENT_DATA_ITEM]: {
99
+ id: DIMENSION_TYPE_EVENT_DATA_ITEM,
88
100
  getName: () => _index.default.t('Event data items'),
89
101
  getGroupLabel: getProgramText,
90
102
  getPlaceholder: getSelectProgramText,
91
103
  defaultGroup: {
92
- id: ALL_ID,
104
+ id: DIMENSION_TYPE_ALL,
93
105
  getName: () => _index.default.t('All programs')
94
106
  },
95
107
  getItemName: () => _index.default.t('Event data item'),
96
108
  getGroupEmptyLabel: () => _index.default.t('No programs found'),
97
109
  getGroupLoadingLabel: () => _index.default.t('Loading programs')
98
110
  },
99
- [PROGRAM_INDICATORS]: {
100
- id: PROGRAM_INDICATORS,
111
+ [DIMENSION_TYPE_PROGRAM_INDICATOR]: {
112
+ id: DIMENSION_TYPE_PROGRAM_INDICATOR,
101
113
  getName: () => _index.default.t('Program indicators'),
102
114
  getGroupLabel: getProgramText,
103
115
  getPlaceholder: getSelectProgramText,
104
116
  defaultGroup: {
105
- id: ALL_ID,
117
+ id: DIMENSION_TYPE_ALL,
106
118
  getName: () => _index.default.t('All programs')
107
119
  },
108
120
  getItemName: () => _index.default.t('Program indicator'),
@@ -110,15 +122,15 @@ const dataTypes = {
110
122
  getGroupLoadingLabel: () => _index.default.t('Loading programs')
111
123
  }
112
124
  };
113
- exports.dataTypes = dataTypes;
125
+ exports.dataTypeMap = dataTypeMap;
114
126
 
115
127
  function defaultGroupId(dataType) {
116
- return dataTypes[dataType].defaultGroup ? dataTypes[dataType].defaultGroup.id : '';
128
+ return dataTypeMap[dataType].defaultGroup ? dataTypeMap[dataType].defaultGroup.id : '';
117
129
  }
118
130
 
119
131
  function defaultGroupDetail(dataType) {
120
- return dataTypes[dataType].groupDetail ? dataTypes[dataType].groupDetail.default : '';
132
+ return dataTypeMap[dataType].groupDetail ? dataTypeMap[dataType].groupDetail.default : '';
121
133
  }
122
134
 
123
- const DEFAULT_DATATYPE_ID = INDICATORS;
135
+ const DEFAULT_DATATYPE_ID = DIMENSION_TYPE_INDICATOR;
124
136
  exports.DEFAULT_DATATYPE_ID = DEFAULT_DATATYPE_ID;
@@ -7,16 +7,20 @@ exports.PivotTableEngine = void 0;
7
7
 
8
8
  var _times = _interopRequireDefault(require("lodash/times"));
9
9
 
10
+ var _dataTypes = require("../dataTypes.js");
11
+
10
12
  var _predefinedDimensions = require("../predefinedDimensions.js");
11
13
 
14
+ var _renderValue = require("../renderValue.js");
15
+
16
+ var _valueTypes = require("../valueTypes.js");
17
+
12
18
  var _AdaptiveClippingController = require("./AdaptiveClippingController.js");
13
19
 
14
20
  var _parseValue = require("./parseValue.js");
15
21
 
16
22
  var _pivotTableConstants = require("./pivotTableConstants.js");
17
23
 
18
- var _renderValue = require("./renderValue.js");
19
-
20
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
25
 
22
26
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
@@ -37,7 +41,7 @@ const defaultVisualizationProps = {
37
41
  displayDensity: _pivotTableConstants.DISPLAY_DENSITY_OPTION_NORMAL
38
42
  };
39
43
 
40
- const isDxDimension = dimensionItem => [_pivotTableConstants.DIMENSION_TYPE_DATA, _pivotTableConstants.DIMENSION_TYPE_DATA_ELEMENT_GROUP_SET].includes(dimensionItem.dimensionType);
44
+ const isDxDimension = dimensionItem => [_dataTypes.DIMENSION_TYPE_DATA, _dataTypes.DIMENSION_TYPE_DATA_ELEMENT_GROUP_SET].includes(dimensionItem.dimensionType);
41
45
 
42
46
  const countFromDisaggregates = list => {
43
47
  let count = 1;
@@ -264,8 +268,8 @@ class PivotTableEngine {
264
268
  column
265
269
  });
266
270
  const headers = [...this.getRawRowHeader(row), ...this.getRawColumnHeader(column)];
267
- const peId = (_headers$find = headers.find(header => (header === null || header === void 0 ? void 0 : header.dimensionItemType) === _pivotTableConstants.DIMENSION_TYPE_PERIOD)) === null || _headers$find === void 0 ? void 0 : _headers$find.uid;
268
- const ouId = (_headers$find2 = headers.find(header => (header === null || header === void 0 ? void 0 : header.dimensionItemType) === _pivotTableConstants.DIMENSION_TYPE_ORGUNIT)) === null || _headers$find2 === void 0 ? void 0 : _headers$find2.uid;
271
+ const peId = (_headers$find = headers.find(header => (header === null || header === void 0 ? void 0 : header.dimensionItemType) === _dataTypes.DIMENSION_TYPE_PERIOD)) === null || _headers$find === void 0 ? void 0 : _headers$find.uid;
272
+ const ouId = (_headers$find2 = headers.find(header => (header === null || header === void 0 ? void 0 : header.dimensionItemType) === _dataTypes.DIMENSION_TYPE_ORGANISATION_UNIT)) === null || _headers$find2 === void 0 ? void 0 : _headers$find2.uid;
269
273
 
270
274
  if (!this.data[row] || !this.data[row][column]) {
271
275
  return {
@@ -279,9 +283,9 @@ class PivotTableEngine {
279
283
  const dataRow = this.data[row][column];
280
284
  let rawValue = cellType === _pivotTableConstants.CELL_TYPE_VALUE ? dataRow[this.dimensionLookup.dataHeaders.value] : dataRow.value;
281
285
  let renderedValue = rawValue;
282
- const valueType = (dxDimension === null || dxDimension === void 0 ? void 0 : dxDimension.valueType) || _pivotTableConstants.VALUE_TYPE_TEXT;
286
+ const valueType = (dxDimension === null || dxDimension === void 0 ? void 0 : dxDimension.valueType) || _valueTypes.VALUE_TYPE_TEXT;
283
287
 
284
- if (valueType === _pivotTableConstants.VALUE_TYPE_NUMBER) {
288
+ if (valueType === _valueTypes.VALUE_TYPE_NUMBER) {
285
289
  rawValue = (0, _parseValue.parseValue)(rawValue);
286
290
 
287
291
  switch (this.visualization.numberType) {
@@ -448,7 +452,7 @@ class PivotTableEngine {
448
452
 
449
453
 
450
454
  return {
451
- valueType: _pivotTableConstants.VALUE_TYPE_NUMBER,
455
+ valueType: _valueTypes.VALUE_TYPE_NUMBER,
452
456
  totalAggregationType: _pivotTableConstants.AGGREGATE_TYPE_SUM
453
457
  };
454
458
  }
@@ -607,7 +611,7 @@ class PivotTableEngine {
607
611
  totalCell.valueType = currentValueType;
608
612
  }
609
613
 
610
- if ((dxDimension === null || dxDimension === void 0 ? void 0 : dxDimension.valueType) === _pivotTableConstants.VALUE_TYPE_NUMBER) {
614
+ if ((dxDimension === null || dxDimension === void 0 ? void 0 : dxDimension.valueType) === _valueTypes.VALUE_TYPE_NUMBER) {
611
615
  dataFields.forEach(field => {
612
616
  const headerIndex = this.dimensionLookup.dataHeaders[field];
613
617
  const value = (0, _parseValue.parseValue)(dataRow[headerIndex]);
@@ -1007,7 +1011,7 @@ class PivotTableEngine {
1007
1011
  return 1 * order;
1008
1012
  }
1009
1013
 
1010
- if (valueA.valueType === _pivotTableConstants.VALUE_TYPE_NUMBER && valueB.valueType === _pivotTableConstants.VALUE_TYPE_NUMBER) {
1014
+ if (valueA.valueType === _valueTypes.VALUE_TYPE_NUMBER && valueB.valueType === _valueTypes.VALUE_TYPE_NUMBER) {
1011
1015
  return (valueA.rawValue - valueB.rawValue) * order;
1012
1016
  }
1013
1017
 
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.DIMENSION_TYPE_ORGUNIT = exports.DIMENSION_TYPE_PERIOD = exports.DIMENSION_TYPE_DATA = exports.DIMENSION_TYPE_DATA_ELEMENT_GROUP_SET = exports.CLIPPED_AXIS_PARTITION_SIZE_PX = exports.WRAPPED_TEXT_LINE_HEIGHT = exports.WRAPPED_TEXT_JUSTIFY_BUFFER = exports.CLIPPED_CELL_MIN_SIZE = exports.CLIPPED_CELL_MAX_SIZE = exports.DISPLAY_DENSITY_PADDING_COMFORTABLE = exports.DISPLAY_DENSITY_OPTION_COMFORTABLE = exports.DISPLAY_DENSITY_PADDING_NORMAL = exports.DISPLAY_DENSITY_OPTION_NORMAL = exports.DISPLAY_DENSITY_PADDING_COMPACT = exports.DISPLAY_DENSITY_OPTION_COMPACT = exports.FONT_SIZE_LARGE = exports.FONT_SIZE_OPTION_LARGE = exports.FONT_SIZE_NORMAL = exports.FONT_SIZE_OPTION_NORMAL = exports.FONT_SIZE_SMALL = exports.FONT_SIZE_OPTION_SMALL = exports.BORDER_COLOR = exports.NUMBER_TYPE_COLUMN_PERCENTAGE = exports.NUMBER_TYPE_ROW_PERCENTAGE = exports.NUMBER_TYPE_VALUE = exports.VALUE_TYPE_NUMBER = exports.VALUE_TYPE_TEXT = exports.AGGREGATE_TYPE_NA = exports.AGGREGATE_TYPE_AVERAGE = exports.AGGREGATE_TYPE_SUM = exports.CELL_TYPE_TOTAL = exports.CELL_TYPE_SUBTOTAL = exports.CELL_TYPE_VALUE = exports.SORT_ORDER_DESCENDING = exports.SORT_ORDER_ASCENDING = void 0;
6
+ exports.CLIPPED_AXIS_PARTITION_SIZE_PX = exports.WRAPPED_TEXT_LINE_HEIGHT = exports.WRAPPED_TEXT_JUSTIFY_BUFFER = exports.CLIPPED_CELL_MIN_SIZE = exports.CLIPPED_CELL_MAX_SIZE = exports.DISPLAY_DENSITY_PADDING_COMFORTABLE = exports.DISPLAY_DENSITY_OPTION_COMFORTABLE = exports.DISPLAY_DENSITY_PADDING_NORMAL = exports.DISPLAY_DENSITY_OPTION_NORMAL = exports.DISPLAY_DENSITY_PADDING_COMPACT = exports.DISPLAY_DENSITY_OPTION_COMPACT = exports.FONT_SIZE_LARGE = exports.FONT_SIZE_OPTION_LARGE = exports.FONT_SIZE_NORMAL = exports.FONT_SIZE_OPTION_NORMAL = exports.FONT_SIZE_SMALL = exports.FONT_SIZE_OPTION_SMALL = exports.BORDER_COLOR = exports.NUMBER_TYPE_COLUMN_PERCENTAGE = exports.NUMBER_TYPE_ROW_PERCENTAGE = exports.NUMBER_TYPE_VALUE = exports.AGGREGATE_TYPE_NA = exports.AGGREGATE_TYPE_AVERAGE = exports.AGGREGATE_TYPE_SUM = exports.CELL_TYPE_TOTAL = exports.CELL_TYPE_SUBTOTAL = exports.CELL_TYPE_VALUE = exports.SORT_ORDER_DESCENDING = exports.SORT_ORDER_ASCENDING = void 0;
7
7
  const SORT_ORDER_ASCENDING = 1;
8
8
  exports.SORT_ORDER_ASCENDING = SORT_ORDER_ASCENDING;
9
9
  const SORT_ORDER_DESCENDING = -1;
@@ -20,10 +20,6 @@ const AGGREGATE_TYPE_AVERAGE = 'AVERAGE';
20
20
  exports.AGGREGATE_TYPE_AVERAGE = AGGREGATE_TYPE_AVERAGE;
21
21
  const AGGREGATE_TYPE_NA = 'N/A';
22
22
  exports.AGGREGATE_TYPE_NA = AGGREGATE_TYPE_NA;
23
- const VALUE_TYPE_TEXT = 'TEXT';
24
- exports.VALUE_TYPE_TEXT = VALUE_TYPE_TEXT;
25
- const VALUE_TYPE_NUMBER = 'NUMBER';
26
- exports.VALUE_TYPE_NUMBER = VALUE_TYPE_NUMBER;
27
23
  const NUMBER_TYPE_VALUE = 'VALUE';
28
24
  exports.NUMBER_TYPE_VALUE = NUMBER_TYPE_VALUE;
29
25
  const NUMBER_TYPE_ROW_PERCENTAGE = 'ROW_PERCENTAGE';
@@ -65,12 +61,4 @@ exports.WRAPPED_TEXT_JUSTIFY_BUFFER = WRAPPED_TEXT_JUSTIFY_BUFFER;
65
61
  const WRAPPED_TEXT_LINE_HEIGHT = 1.0;
66
62
  exports.WRAPPED_TEXT_LINE_HEIGHT = WRAPPED_TEXT_LINE_HEIGHT;
67
63
  const CLIPPED_AXIS_PARTITION_SIZE_PX = 1000;
68
- exports.CLIPPED_AXIS_PARTITION_SIZE_PX = CLIPPED_AXIS_PARTITION_SIZE_PX;
69
- const DIMENSION_TYPE_DATA_ELEMENT_GROUP_SET = 'DATA_ELEMENT_GROUP_SET';
70
- exports.DIMENSION_TYPE_DATA_ELEMENT_GROUP_SET = DIMENSION_TYPE_DATA_ELEMENT_GROUP_SET;
71
- const DIMENSION_TYPE_DATA = 'DATA_X';
72
- exports.DIMENSION_TYPE_DATA = DIMENSION_TYPE_DATA;
73
- const DIMENSION_TYPE_PERIOD = 'PERIOD';
74
- exports.DIMENSION_TYPE_PERIOD = DIMENSION_TYPE_PERIOD;
75
- const DIMENSION_TYPE_ORGUNIT = 'ORGANISATION_UNIT';
76
- exports.DIMENSION_TYPE_ORGUNIT = DIMENSION_TYPE_ORGUNIT;
64
+ exports.CLIPPED_AXIS_PARTITION_SIZE_PX = CLIPPED_AXIS_PARTITION_SIZE_PX;
@@ -5,7 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.renderValue = void 0;
7
7
 
8
- var _pivotTableConstants = require("./pivotTableConstants.js");
8
+ var _pivotTableConstants = require("./pivotTable/pivotTableConstants.js");
9
+
10
+ var _valueTypes = require("./valueTypes.js");
9
11
 
10
12
  const trimTrailingZeros = stringValue => stringValue.replace(/\.?0+$/, '');
11
13
 
@@ -63,7 +65,7 @@ const toFixedPrecisionString = (value, skipRounding) => {
63
65
  };
64
66
 
65
67
  const renderValue = (value, valueType, visualization) => {
66
- if (valueType !== _pivotTableConstants.VALUE_TYPE_NUMBER || value === undefined) {
68
+ if (valueType !== _valueTypes.VALUE_TYPE_NUMBER || value === undefined) {
67
69
  return String(value).replace(/[^\S\n]+/, ' ');
68
70
  }
69
71
 
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.VALUE_TYPE_ORGANISATION_UNIT = exports.VALUE_TYPE_DATETIME = exports.VALUE_TYPE_TIME = exports.VALUE_TYPE_DATE = exports.VALUE_TYPE_TRUE_ONLY = exports.VALUE_TYPE_BOOLEAN = exports.VALUE_TYPE_URL = exports.VALUE_TYPE_USERNAME = exports.VALUE_TYPE_EMAIL = exports.VALUE_TYPE_PHONE_NUMBER = exports.VALUE_TYPE_LETTER = exports.VALUE_TYPE_LONG_TEXT = exports.VALUE_TYPE_TEXT = exports.VALUE_TYPE_INTEGER_ZERO_OR_POSITIVE = exports.VALUE_TYPE_INTEGER_NEGATIVE = exports.VALUE_TYPE_INTEGER_POSITIVE = exports.VALUE_TYPE_INTEGER = exports.VALUE_TYPE_PERCENTAGE = exports.VALUE_TYPE_UNIT_INTERVAL = exports.VALUE_TYPE_NUMBER = void 0;
7
+
8
+ /* These types match the types in the backend
9
+ https://github.com/dhis2/dhis2-core/blob/master/dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/ValueType.java
10
+ */
11
+ const VALUE_TYPE_NUMBER = 'NUMBER';
12
+ exports.VALUE_TYPE_NUMBER = VALUE_TYPE_NUMBER;
13
+ const VALUE_TYPE_UNIT_INTERVAL = 'UNIT_INTERVAL';
14
+ exports.VALUE_TYPE_UNIT_INTERVAL = VALUE_TYPE_UNIT_INTERVAL;
15
+ const VALUE_TYPE_PERCENTAGE = 'PERCENTAGE';
16
+ exports.VALUE_TYPE_PERCENTAGE = VALUE_TYPE_PERCENTAGE;
17
+ const VALUE_TYPE_INTEGER = 'INTEGER';
18
+ exports.VALUE_TYPE_INTEGER = VALUE_TYPE_INTEGER;
19
+ const VALUE_TYPE_INTEGER_POSITIVE = 'INTEGER_POSITIVE';
20
+ exports.VALUE_TYPE_INTEGER_POSITIVE = VALUE_TYPE_INTEGER_POSITIVE;
21
+ const VALUE_TYPE_INTEGER_NEGATIVE = 'INTEGER_NEGATIVE';
22
+ exports.VALUE_TYPE_INTEGER_NEGATIVE = VALUE_TYPE_INTEGER_NEGATIVE;
23
+ const VALUE_TYPE_INTEGER_ZERO_OR_POSITIVE = 'INTEGER_ZERO_OR_POSITIVE';
24
+ exports.VALUE_TYPE_INTEGER_ZERO_OR_POSITIVE = VALUE_TYPE_INTEGER_ZERO_OR_POSITIVE;
25
+ const VALUE_TYPE_TEXT = 'TEXT';
26
+ exports.VALUE_TYPE_TEXT = VALUE_TYPE_TEXT;
27
+ const VALUE_TYPE_LONG_TEXT = 'LONG_TEXT';
28
+ exports.VALUE_TYPE_LONG_TEXT = VALUE_TYPE_LONG_TEXT;
29
+ const VALUE_TYPE_LETTER = 'LETTER';
30
+ exports.VALUE_TYPE_LETTER = VALUE_TYPE_LETTER;
31
+ const VALUE_TYPE_PHONE_NUMBER = 'PHONE_NUMBER';
32
+ exports.VALUE_TYPE_PHONE_NUMBER = VALUE_TYPE_PHONE_NUMBER;
33
+ const VALUE_TYPE_EMAIL = 'EMAIL';
34
+ exports.VALUE_TYPE_EMAIL = VALUE_TYPE_EMAIL;
35
+ const VALUE_TYPE_USERNAME = 'USERNAME';
36
+ exports.VALUE_TYPE_USERNAME = VALUE_TYPE_USERNAME;
37
+ const VALUE_TYPE_URL = 'URL';
38
+ exports.VALUE_TYPE_URL = VALUE_TYPE_URL;
39
+ const VALUE_TYPE_BOOLEAN = 'BOOLEAN';
40
+ exports.VALUE_TYPE_BOOLEAN = VALUE_TYPE_BOOLEAN;
41
+ const VALUE_TYPE_TRUE_ONLY = 'TRUE_ONLY';
42
+ exports.VALUE_TYPE_TRUE_ONLY = VALUE_TYPE_TRUE_ONLY;
43
+ const VALUE_TYPE_DATE = 'DATE';
44
+ exports.VALUE_TYPE_DATE = VALUE_TYPE_DATE;
45
+ const VALUE_TYPE_TIME = 'TIME';
46
+ exports.VALUE_TYPE_TIME = VALUE_TYPE_TIME;
47
+ const VALUE_TYPE_DATETIME = 'DATETIME';
48
+ exports.VALUE_TYPE_DATETIME = VALUE_TYPE_DATETIME;
49
+ const VALUE_TYPE_ORGANISATION_UNIT = 'ORGANISATION_UNIT';
50
+ exports.VALUE_TYPE_ORGANISATION_UNIT = VALUE_TYPE_ORGANISATION_UNIT;
@@ -5,16 +5,16 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = _default;
7
7
 
8
- var _pivotTableConstants = require("../../../../../modules/pivotTable/pivotTableConstants.js");
8
+ var _renderValue = require("../../../../../modules/renderValue.js");
9
9
 
10
- var _renderValue = require("../../../../../modules/pivotTable/renderValue.js");
10
+ var _valueTypes = require("../../../../../modules/valueTypes.js");
11
11
 
12
12
  var _index = require("../index.js");
13
13
 
14
14
  function _default(value, layout, metaData) {
15
15
  const valueType = metaData.items[metaData.dimensions.dx[0]].valueType;
16
16
  const indicatorType = metaData.items[metaData.dimensions.dx[0]].indicatorType;
17
- let formattedValue = (0, _renderValue.renderValue)(value, valueType || _pivotTableConstants.VALUE_TYPE_TEXT, {
17
+ let formattedValue = (0, _renderValue.renderValue)(value, valueType || _valueTypes.VALUE_TYPE_TEXT, {
18
18
  digitGroupSeparator: layout.digitGroupSeparator,
19
19
  skipRounding: layout.skipRounding
20
20
  }); // only show the percentage symbol for per cent
@@ -79,7 +79,7 @@ class AnalyticsRequest extends AnalyticsRequestDimensionsMixin(AnalyticsRequestF
79
79
 
80
80
  request = request.addDimension(f.dimension, (_f$items = f.items) === null || _f$items === void 0 ? void 0 : _f$items.map(item => item.id));
81
81
  } else {
82
- var _f$programStage, _f$items2;
82
+ var _f$programStage, _f$repetition, _f$repetition$indexes;
83
83
 
84
84
  let filterString = (_f$programStage = f.programStage) !== null && _f$programStage !== void 0 && _f$programStage.id ? "".concat(f.programStage.id, ".").concat(f.dimension) : f.dimension;
85
85
 
@@ -87,7 +87,15 @@ class AnalyticsRequest extends AnalyticsRequestDimensionsMixin(AnalyticsRequestF
87
87
  filterString += ":".concat(f.filter);
88
88
  }
89
89
 
90
- request = request.addFilter(filterString, (_f$items2 = f.items) === null || _f$items2 === void 0 ? void 0 : _f$items2.map(item => item.id));
90
+ if ((_f$repetition = f.repetition) !== null && _f$repetition !== void 0 && (_f$repetition$indexes = _f$repetition.indexes) !== null && _f$repetition$indexes !== void 0 && _f$repetition$indexes.length) {
91
+ f.repetition.indexes.forEach(index => {
92
+ request = request.addFilter(filterString.replace(/\./, "[".concat(index, "].")));
93
+ });
94
+ } else {
95
+ var _f$items2;
96
+
97
+ request = request.addFilter(filterString, (_f$items2 = f.items) === null || _f$items2 === void 0 ? void 0 : _f$items2.map(item => item.id));
98
+ }
91
99
  }
92
100
  });
93
101
  return request;