@dhis2/analytics 23.7.10 → 23.8.0

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/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ # [23.8.0](https://github.com/dhis2/analytics/compare/v23.7.10...v23.8.0) (2022-05-04)
2
+
3
+
4
+ ### Features
5
+
6
+ * export constants for all value types ([#1216](https://github.com/dhis2/analytics/issues/1216)) ([d637002](https://github.com/dhis2/analytics/commit/d6370026ba653096f0781478c255b931925823c8))
7
+
1
8
  ## [23.7.10](https://github.com/dhis2/analytics/compare/v23.7.9...v23.7.10) (2022-04-28)
2
9
 
3
10
 
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
 
8
+ var _valueTypes = require("../../modules/valueTypes.js");
9
+
8
10
  var _AnalyticsResponseHeader = _interopRequireDefault(require("./AnalyticsResponseHeader.js"));
9
11
 
10
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -23,11 +25,11 @@ const DEFAULT_PREFIX_IGNORE_HEADERS = ['dy', ...DEFAULT_COLLECT_IGNORE_HEADERS];
23
25
  const getParseMiddleware = type => {
24
26
  switch (type) {
25
27
  case 'STRING':
26
- case 'TEXT':
28
+ case _valueTypes.VALUE_TYPE_TEXT:
27
29
  return value => "".concat(value);
28
30
 
29
- case 'INTEGER':
30
- case 'NUMBER':
31
+ case _valueTypes.VALUE_TYPE_INTEGER:
32
+ case _valueTypes.VALUE_TYPE_NUMBER:
31
33
  return value => !Number.isNaN(+value) && Number.isFinite(+value) ? parseFloat(+value) : value;
32
34
 
33
35
  default:
@@ -54,7 +56,7 @@ const isCollectHeader = (header, dimensions) => {
54
56
  const getPrefixedId = (id, prefix) => "".concat(prefix || '', " ").concat(id);
55
57
 
56
58
  const getNameByIdsByValueType = (id, valueType) => {
57
- if (valueType === 'BOOLEAN') {
59
+ if (valueType === _valueTypes.VALUE_TYPE_BOOLEAN) {
58
60
  return booleanMap[id];
59
61
  }
60
62
 
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ var _valueTypes = require("../../../modules/valueTypes.js");
4
+
3
5
  var _AnalyticsResponseHeader = _interopRequireDefault(require("../AnalyticsResponseHeader.js"));
4
6
 
5
7
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -29,7 +31,7 @@ describe('AnalyticsResponseHeader', () => {
29
31
  const header = {
30
32
  name: 'cejWyOfXge6',
31
33
  column: 'Gender',
32
- valueType: 'TEXT',
34
+ valueType: _valueTypes.VALUE_TYPE_TEXT,
33
35
  type: 'java.lang.String',
34
36
  hidden: false,
35
37
  meta: true,
@@ -13,6 +13,8 @@ var _applyLegendSet = require("../../modules/pivotTable/applyLegendSet.js");
13
13
 
14
14
  var _pivotTableConstants = require("../../modules/pivotTable/pivotTableConstants.js");
15
15
 
16
+ var _valueTypes = require("../../modules/valueTypes.js");
17
+
16
18
  var _PivotTableCell = require("./PivotTableCell.js");
17
19
 
18
20
  var _PivotTableEmptyCell = require("./PivotTableEmptyCell.js");
@@ -56,7 +58,7 @@ const PivotTableValueCell = ({
56
58
  } // TODO: Add support for 'INTEGER' type (requires server changes)
57
59
 
58
60
 
59
- const legendStyle = cellContent.cellType === _pivotTableConstants.CELL_TYPE_VALUE && cellContent.valueType === _pivotTableConstants.VALUE_TYPE_NUMBER ? (0, _applyLegendSet.applyLegendSet)(cellContent.rawValue, cellContent.dxDimension, engine) : undefined;
61
+ const legendStyle = cellContent.cellType === _pivotTableConstants.CELL_TYPE_VALUE && cellContent.valueType === _valueTypes.VALUE_TYPE_NUMBER ? (0, _applyLegendSet.applyLegendSet)(cellContent.rawValue, cellContent.dxDimension, engine) : undefined;
60
62
  const width = engine.adaptiveClippingController.columns.sizes[engine.columnMap[column]].size;
61
63
  const height = engine.adaptiveClippingController.rows.sizes[engine.rowMap[row]].size;
62
64
  const style = { ...legendStyle,
@@ -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 () {
@@ -1260,6 +1380,8 @@ var _layoutHasDynamicDimension = require("./modules/layout/layoutHasDynamicDimen
1260
1380
 
1261
1381
  var _layoutHasPeriodDimension = require("./modules/layout/layoutHasPeriodDimension.js");
1262
1382
 
1383
+ var _valueTypes = require("./modules/valueTypes.js");
1384
+
1263
1385
  var _axis2 = require("./modules/layout/axis.js");
1264
1386
 
1265
1387
  var _axisGetAllItems = require("./modules/layout/axisGetAllItems.js");
@@ -1314,7 +1436,7 @@ var _fontStyle = require("./modules/fontStyle.js");
1314
1436
 
1315
1437
  var _legends = require("./modules/legends.js");
1316
1438
 
1317
- var _renderValue = require("./modules/pivotTable/renderValue.js");
1439
+ var _renderValue = require("./modules/renderValue.js");
1318
1440
 
1319
1441
  var _colorSets = require("./visualizations/util/colors/colorSets.js");
1320
1442
 
@@ -5,14 +5,12 @@ 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.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 = 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
14
  const ALL_ID = 'ALL';
17
15
  exports.ALL_ID = ALL_ID;
18
16
  const INDICATORS = 'INDICATOR';
@@ -9,14 +9,16 @@ var _times = _interopRequireDefault(require("lodash/times"));
9
9
 
10
10
  var _predefinedDimensions = require("../predefinedDimensions.js");
11
11
 
12
+ var _renderValue = require("../renderValue.js");
13
+
14
+ var _valueTypes = require("../valueTypes.js");
15
+
12
16
  var _AdaptiveClippingController = require("./AdaptiveClippingController.js");
13
17
 
14
18
  var _parseValue = require("./parseValue.js");
15
19
 
16
20
  var _pivotTableConstants = require("./pivotTableConstants.js");
17
21
 
18
- var _renderValue = require("./renderValue.js");
19
-
20
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
23
 
22
24
  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; }
@@ -279,9 +281,9 @@ class PivotTableEngine {
279
281
  const dataRow = this.data[row][column];
280
282
  let rawValue = cellType === _pivotTableConstants.CELL_TYPE_VALUE ? dataRow[this.dimensionLookup.dataHeaders.value] : dataRow.value;
281
283
  let renderedValue = rawValue;
282
- const valueType = (dxDimension === null || dxDimension === void 0 ? void 0 : dxDimension.valueType) || _pivotTableConstants.VALUE_TYPE_TEXT;
284
+ const valueType = (dxDimension === null || dxDimension === void 0 ? void 0 : dxDimension.valueType) || _valueTypes.VALUE_TYPE_TEXT;
283
285
 
284
- if (valueType === _pivotTableConstants.VALUE_TYPE_NUMBER) {
286
+ if (valueType === _valueTypes.VALUE_TYPE_NUMBER) {
285
287
  rawValue = (0, _parseValue.parseValue)(rawValue);
286
288
 
287
289
  switch (this.visualization.numberType) {
@@ -448,7 +450,7 @@ class PivotTableEngine {
448
450
 
449
451
 
450
452
  return {
451
- valueType: _pivotTableConstants.VALUE_TYPE_NUMBER,
453
+ valueType: _valueTypes.VALUE_TYPE_NUMBER,
452
454
  totalAggregationType: _pivotTableConstants.AGGREGATE_TYPE_SUM
453
455
  };
454
456
  }
@@ -607,7 +609,7 @@ class PivotTableEngine {
607
609
  totalCell.valueType = currentValueType;
608
610
  }
609
611
 
610
- if ((dxDimension === null || dxDimension === void 0 ? void 0 : dxDimension.valueType) === _pivotTableConstants.VALUE_TYPE_NUMBER) {
612
+ if ((dxDimension === null || dxDimension === void 0 ? void 0 : dxDimension.valueType) === _valueTypes.VALUE_TYPE_NUMBER) {
611
613
  dataFields.forEach(field => {
612
614
  const headerIndex = this.dimensionLookup.dataHeaders[field];
613
615
  const value = (0, _parseValue.parseValue)(dataRow[headerIndex]);
@@ -1007,7 +1009,7 @@ class PivotTableEngine {
1007
1009
  return 1 * order;
1008
1010
  }
1009
1011
 
1010
- if (valueA.valueType === _pivotTableConstants.VALUE_TYPE_NUMBER && valueB.valueType === _pivotTableConstants.VALUE_TYPE_NUMBER) {
1012
+ if (valueA.valueType === _valueTypes.VALUE_TYPE_NUMBER && valueB.valueType === _valueTypes.VALUE_TYPE_NUMBER) {
1011
1013
  return (valueA.rawValue - valueB.rawValue) * order;
1012
1014
  }
1013
1015
 
@@ -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.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.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';
@@ -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
@@ -1,3 +1,4 @@
1
+ import { VALUE_TYPE_BOOLEAN, VALUE_TYPE_INTEGER, VALUE_TYPE_NUMBER, VALUE_TYPE_TEXT } from '../../modules/valueTypes.js';
1
2
  import AnalyticsResponseHeader from './AnalyticsResponseHeader.js';
2
3
  const booleanMap = {
3
4
  0: 'No',
@@ -13,11 +14,11 @@ const DEFAULT_PREFIX_IGNORE_HEADERS = ['dy', ...DEFAULT_COLLECT_IGNORE_HEADERS];
13
14
  const getParseMiddleware = type => {
14
15
  switch (type) {
15
16
  case 'STRING':
16
- case 'TEXT':
17
+ case VALUE_TYPE_TEXT:
17
18
  return value => "".concat(value);
18
19
 
19
- case 'INTEGER':
20
- case 'NUMBER':
20
+ case VALUE_TYPE_INTEGER:
21
+ case VALUE_TYPE_NUMBER:
21
22
  return value => !Number.isNaN(+value) && Number.isFinite(+value) ? parseFloat(+value) : value;
22
23
 
23
24
  default:
@@ -44,7 +45,7 @@ const isCollectHeader = (header, dimensions) => {
44
45
  const getPrefixedId = (id, prefix) => "".concat(prefix || '', " ").concat(id);
45
46
 
46
47
  const getNameByIdsByValueType = (id, valueType) => {
47
- if (valueType === 'BOOLEAN') {
48
+ if (valueType === VALUE_TYPE_BOOLEAN) {
48
49
  return booleanMap[id];
49
50
  }
50
51
 
@@ -1,3 +1,4 @@
1
+ import { VALUE_TYPE_TEXT } from '../../../modules/valueTypes.js';
1
2
  import AnalyticsResponseHeader from '../AnalyticsResponseHeader.js';
2
3
  let responseHeader;
3
4
  let expectedResponseHeader;
@@ -24,7 +25,7 @@ describe('AnalyticsResponseHeader', () => {
24
25
  const header = {
25
26
  name: 'cejWyOfXge6',
26
27
  column: 'Gender',
27
- valueType: 'TEXT',
28
+ valueType: VALUE_TYPE_TEXT,
28
29
  type: 'java.lang.String',
29
30
  hidden: false,
30
31
  meta: true,
@@ -1,6 +1,5 @@
1
1
  import objectClean from 'd2-utilizr/lib/objectClean';
2
- import { ALL_ID // CHART_AGGREGATE_AGGREGATABLE_TYPES,
3
- , INDICATORS, DATA_ELEMENTS, DATA_SETS, PROGRAM_INDICATORS, EVENT_DATA_ITEMS, PROGRAM_DATA_ELEMENT, PROGRAM_ATTRIBUTE, TOTALS } from '../modules/dataTypes.js';
2
+ import { ALL_ID, INDICATORS, DATA_ELEMENTS, DATA_SETS, PROGRAM_INDICATORS, EVENT_DATA_ITEMS, PROGRAM_DATA_ELEMENT, PROGRAM_ATTRIBUTE, TOTALS } from '../modules/dataTypes.js';
4
3
  import { onError } from './index.js'; // Query definitions
5
4
 
6
5
  export const dimensionsQuery = {
@@ -1,7 +1,8 @@
1
1
  import PropTypes from 'prop-types';
2
2
  import React, { useRef } from 'react';
3
3
  import { applyLegendSet } from '../../modules/pivotTable/applyLegendSet.js';
4
- import { VALUE_TYPE_NUMBER, CELL_TYPE_VALUE } from '../../modules/pivotTable/pivotTableConstants.js';
4
+ import { CELL_TYPE_VALUE } from '../../modules/pivotTable/pivotTableConstants.js';
5
+ import { VALUE_TYPE_NUMBER } from '../../modules/valueTypes.js';
5
6
  import { PivotTableCell } from './PivotTableCell.js';
6
7
  import { PivotTableEmptyCell } from './PivotTableEmptyCell.js';
7
8
  import { usePivotTableEngine } from './PivotTableEngineContext.js';
package/build/es/index.js CHANGED
@@ -45,7 +45,9 @@ export { layoutGetDimensionIdItemIdsObject } from './modules/layout/layoutGetDim
45
45
  export { layoutHasDataDimension } from './modules/layout/layoutHasDataDimension.js';
46
46
  export { layoutHasDimension } from './modules/layout/layoutHasDimension.js';
47
47
  export { layoutHasDynamicDimension } from './modules/layout/layoutHasDynamicDimension.js';
48
- export { layoutHasPeriodDimension } from './modules/layout/layoutHasPeriodDimension.js';
48
+ export { layoutHasPeriodDimension } from './modules/layout/layoutHasPeriodDimension.js'; // Modules: valueTypes
49
+
50
+ export { VALUE_TYPE_NUMBER, VALUE_TYPE_UNIT_INTERVAL, VALUE_TYPE_PERCENTAGE, VALUE_TYPE_INTEGER, VALUE_TYPE_INTEGER_POSITIVE, VALUE_TYPE_INTEGER_NEGATIVE, VALUE_TYPE_INTEGER_ZERO_OR_POSITIVE, VALUE_TYPE_TEXT, VALUE_TYPE_LONG_TEXT, VALUE_TYPE_LETTER, VALUE_TYPE_PHONE_NUMBER, VALUE_TYPE_EMAIL, VALUE_TYPE_USERNAME, VALUE_TYPE_URL, VALUE_TYPE_BOOLEAN, VALUE_TYPE_TRUE_ONLY, VALUE_TYPE_DATE, VALUE_TYPE_TIME, VALUE_TYPE_DATETIME, VALUE_TYPE_ORGANISATION_UNIT } from './modules/valueTypes.js';
49
51
  export { AXIS, AXIS_ID_COLUMNS, AXIS_ID_ROWS, AXIS_ID_FILTERS, DEFAULT_AXIS_IDS } from './modules/layout/axis.js';
50
52
  export { axisGetAllItems } from './modules/layout/axisGetAllItems.js';
51
53
  export { axisGetDimension } from './modules/layout/axisGetDimension.js';
@@ -79,9 +81,9 @@ export { createVisualization } from './visualizations/index.js'; // Modules: fon
79
81
 
80
82
  export { FONT_STYLE_VISUALIZATION_TITLE, FONT_STYLE_VISUALIZATION_SUBTITLE, FONT_STYLE_HORIZONTAL_AXIS_TITLE, FONT_STYLE_VERTICAL_AXIS_TITLE, FONT_STYLE_LEGEND, FONT_STYLE_AXIS_LABELS, FONT_STYLE_REGRESSION_LINE_LABEL, FONT_STYLE_OPTION_FONT, FONT_STYLE_OPTION_FONT_SIZE, FONT_STYLE_OPTION_BOLD, FONT_STYLE_OPTION_ITALIC, FONT_STYLE_OPTION_UNDERLINE, FONT_STYLE_OPTION_TEXT_COLOR, FONT_STYLE_OPTION_TEXT_ALIGN, TEXT_ALIGN_LEFT, TEXT_ALIGN_CENTER, TEXT_ALIGN_RIGHT, defaultFontStyle, getFontSizeOptions, getTextAlignOptions, deleteFontStyleOption } from './modules/fontStyle.js'; // Modules: legend
81
83
 
82
- export { LEGEND_DISPLAY_STRATEGY_BY_DATA_ITEM, LEGEND_DISPLAY_STRATEGY_FIXED, LEGEND_DISPLAY_STYLE_FILL, LEGEND_DISPLAY_STYLE_TEXT } from './modules/legends.js'; // Modules: pivotTable
84
+ export { LEGEND_DISPLAY_STRATEGY_BY_DATA_ITEM, LEGEND_DISPLAY_STRATEGY_FIXED, LEGEND_DISPLAY_STYLE_FILL, LEGEND_DISPLAY_STYLE_TEXT } from './modules/legends.js'; // Modules: general
83
85
 
84
- export { renderValue as formatValue } from './modules/pivotTable/renderValue.js'; // Utils: colorSets
86
+ export { renderValue as formatValue } from './modules/renderValue.js'; // Utils: colorSets
85
87
 
86
88
  export { COLOR_SET_DEFAULT, COLOR_SET_BRIGHT, COLOR_SET_DARK, COLOR_SET_GRAY, COLOR_SET_COLOR_BLIND, COLOR_SET_PATTERNS, colorSets } from './visualizations/util/colors/colorSets.js'; // Utils: periods
87
89
 
@@ -1,5 +1,4 @@
1
1
  import i18n from '../locales/index.js';
2
- export const CHART_AGGREGATE_AGGREGATABLE_TYPES = ['BOOLEAN', 'TRUE_ONLY', 'INTEGER', 'INTEGER_POSITIVE', 'INTEGER_NEGATIVE', 'INTEGER_ZERO_OR_POSITIVE', 'NUMBER', 'UNIT_INTERVAL', 'PERCENTAGE'];
3
2
  export const ALL_ID = 'ALL';
4
3
  export const INDICATORS = 'INDICATOR';
5
4
  export const DATA_ELEMENTS = 'DATA_ELEMENT';
@@ -2,10 +2,11 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
2
2
 
3
3
  import times from 'lodash/times';
4
4
  import { DIMENSION_ID_ORGUNIT } from '../predefinedDimensions.js';
5
+ import { renderValue } from '../renderValue.js';
6
+ import { VALUE_TYPE_NUMBER, VALUE_TYPE_TEXT } from '../valueTypes.js';
5
7
  import { AdaptiveClippingController } from './AdaptiveClippingController.js';
6
8
  import { parseValue } from './parseValue.js';
7
- import { AGGREGATE_TYPE_NA, AGGREGATE_TYPE_AVERAGE, AGGREGATE_TYPE_SUM, CELL_TYPE_VALUE, CELL_TYPE_TOTAL, CELL_TYPE_SUBTOTAL, SORT_ORDER_ASCENDING, SORT_ORDER_DESCENDING, DISPLAY_DENSITY_PADDING_COMPACT, DISPLAY_DENSITY_PADDING_COMFORTABLE, DISPLAY_DENSITY_OPTION_COMFORTABLE, DISPLAY_DENSITY_OPTION_COMPACT, DISPLAY_DENSITY_OPTION_NORMAL, DISPLAY_DENSITY_PADDING_NORMAL, FONT_SIZE_OPTION_SMALL, FONT_SIZE_SMALL, FONT_SIZE_OPTION_LARGE, FONT_SIZE_LARGE, FONT_SIZE_OPTION_NORMAL, FONT_SIZE_NORMAL, VALUE_TYPE_NUMBER, NUMBER_TYPE_COLUMN_PERCENTAGE, NUMBER_TYPE_ROW_PERCENTAGE, DIMENSION_TYPE_DATA, DIMENSION_TYPE_DATA_ELEMENT_GROUP_SET, DIMENSION_TYPE_ORGUNIT, DIMENSION_TYPE_PERIOD, VALUE_TYPE_TEXT, NUMBER_TYPE_VALUE } from './pivotTableConstants.js';
8
- import { renderValue } from './renderValue.js';
9
+ import { AGGREGATE_TYPE_NA, AGGREGATE_TYPE_AVERAGE, AGGREGATE_TYPE_SUM, CELL_TYPE_VALUE, CELL_TYPE_TOTAL, CELL_TYPE_SUBTOTAL, SORT_ORDER_ASCENDING, SORT_ORDER_DESCENDING, DISPLAY_DENSITY_PADDING_COMPACT, DISPLAY_DENSITY_PADDING_COMFORTABLE, DISPLAY_DENSITY_OPTION_COMFORTABLE, DISPLAY_DENSITY_OPTION_COMPACT, DISPLAY_DENSITY_OPTION_NORMAL, DISPLAY_DENSITY_PADDING_NORMAL, FONT_SIZE_OPTION_SMALL, FONT_SIZE_SMALL, FONT_SIZE_OPTION_LARGE, FONT_SIZE_LARGE, FONT_SIZE_OPTION_NORMAL, FONT_SIZE_NORMAL, NUMBER_TYPE_COLUMN_PERCENTAGE, NUMBER_TYPE_ROW_PERCENTAGE, DIMENSION_TYPE_DATA, DIMENSION_TYPE_DATA_ELEMENT_GROUP_SET, DIMENSION_TYPE_ORGUNIT, DIMENSION_TYPE_PERIOD, NUMBER_TYPE_VALUE } from './pivotTableConstants.js';
9
10
  const dataFields = ['value', 'numerator', 'denominator', 'factor', 'multiplier', 'divisor'];
10
11
  const defaultOptions = {
11
12
  hideEmptyColumns: false,
@@ -6,8 +6,6 @@ export const CELL_TYPE_TOTAL = 'total';
6
6
  export const AGGREGATE_TYPE_SUM = 'SUM';
7
7
  export const AGGREGATE_TYPE_AVERAGE = 'AVERAGE';
8
8
  export const AGGREGATE_TYPE_NA = 'N/A';
9
- export const VALUE_TYPE_TEXT = 'TEXT';
10
- export const VALUE_TYPE_NUMBER = 'NUMBER';
11
9
  export const NUMBER_TYPE_VALUE = 'VALUE';
12
10
  export const NUMBER_TYPE_ROW_PERCENTAGE = 'ROW_PERCENTAGE';
13
11
  export const NUMBER_TYPE_COLUMN_PERCENTAGE = 'COLUMN_PERCENTAGE';
@@ -1,4 +1,5 @@
1
- import { NUMBER_TYPE_ROW_PERCENTAGE, NUMBER_TYPE_COLUMN_PERCENTAGE, VALUE_TYPE_NUMBER } from './pivotTableConstants.js';
1
+ import { NUMBER_TYPE_ROW_PERCENTAGE, NUMBER_TYPE_COLUMN_PERCENTAGE } from './pivotTable/pivotTableConstants.js';
2
+ import { VALUE_TYPE_NUMBER } from './valueTypes.js';
2
3
 
3
4
  const trimTrailingZeros = stringValue => stringValue.replace(/\.?0+$/, '');
4
5
 
@@ -0,0 +1,23 @@
1
+ /* These types match the types in the backend
2
+ https://github.com/dhis2/dhis2-core/blob/master/dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/ValueType.java
3
+ */
4
+ export const VALUE_TYPE_NUMBER = 'NUMBER';
5
+ export const VALUE_TYPE_UNIT_INTERVAL = 'UNIT_INTERVAL';
6
+ export const VALUE_TYPE_PERCENTAGE = 'PERCENTAGE';
7
+ export const VALUE_TYPE_INTEGER = 'INTEGER';
8
+ export const VALUE_TYPE_INTEGER_POSITIVE = 'INTEGER_POSITIVE';
9
+ export const VALUE_TYPE_INTEGER_NEGATIVE = 'INTEGER_NEGATIVE';
10
+ export const VALUE_TYPE_INTEGER_ZERO_OR_POSITIVE = 'INTEGER_ZERO_OR_POSITIVE';
11
+ export const VALUE_TYPE_TEXT = 'TEXT';
12
+ export const VALUE_TYPE_LONG_TEXT = 'LONG_TEXT';
13
+ export const VALUE_TYPE_LETTER = 'LETTER';
14
+ export const VALUE_TYPE_PHONE_NUMBER = 'PHONE_NUMBER';
15
+ export const VALUE_TYPE_EMAIL = 'EMAIL';
16
+ export const VALUE_TYPE_USERNAME = 'USERNAME';
17
+ export const VALUE_TYPE_URL = 'URL';
18
+ export const VALUE_TYPE_BOOLEAN = 'BOOLEAN';
19
+ export const VALUE_TYPE_TRUE_ONLY = 'TRUE_ONLY';
20
+ export const VALUE_TYPE_DATE = 'DATE';
21
+ export const VALUE_TYPE_TIME = 'TIME';
22
+ export const VALUE_TYPE_DATETIME = 'DATETIME';
23
+ export const VALUE_TYPE_ORGANISATION_UNIT = 'ORGANISATION_UNIT';
@@ -1,5 +1,5 @@
1
- import { VALUE_TYPE_TEXT } from '../../../../../modules/pivotTable/pivotTableConstants.js';
2
- import { renderValue } from '../../../../../modules/pivotTable/renderValue.js';
1
+ import { renderValue } from '../../../../../modules/renderValue.js';
2
+ import { VALUE_TYPE_TEXT } from '../../../../../modules/valueTypes.js';
3
3
  import { INDICATOR_FACTOR_100 } from '../index.js';
4
4
  export default function (value, layout, metaData) {
5
5
  const valueType = metaData.items[metaData.dimensions.dx[0]].valueType;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dhis2/analytics",
3
- "version": "23.7.10",
3
+ "version": "23.8.0",
4
4
  "main": "./build/cjs/index.js",
5
5
  "module": "./build/es/index.js",
6
6
  "exports": {