@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 +7 -0
- package/build/cjs/api/analytics/AnalyticsResponse.js +6 -4
- package/build/cjs/api/analytics/__tests__/AnalyticsResponseHeader.spec.js +3 -1
- package/build/cjs/components/PivotTable/PivotTableValueCell.js +3 -1
- package/build/cjs/index.js +123 -1
- package/build/cjs/modules/dataTypes.js +1 -3
- package/build/cjs/modules/pivotTable/PivotTableEngine.js +9 -7
- package/build/cjs/modules/pivotTable/pivotTableConstants.js +1 -5
- package/build/cjs/modules/{pivotTable/renderValue.js → renderValue.js} +4 -2
- package/build/cjs/modules/valueTypes.js +50 -0
- package/build/cjs/visualizations/config/adapters/dhis_dhis/value/index.js +3 -3
- package/build/es/api/analytics/AnalyticsResponse.js +5 -4
- package/build/es/api/analytics/__tests__/AnalyticsResponseHeader.spec.js +2 -1
- package/build/es/api/dimensions.js +1 -2
- package/build/es/components/PivotTable/PivotTableValueCell.js +2 -1
- package/build/es/index.js +5 -3
- package/build/es/modules/dataTypes.js +0 -1
- package/build/es/modules/pivotTable/PivotTableEngine.js +3 -2
- package/build/es/modules/pivotTable/pivotTableConstants.js +0 -2
- package/build/es/modules/{pivotTable/renderValue.js → renderValue.js} +2 -1
- package/build/es/modules/valueTypes.js +23 -0
- package/build/es/visualizations/config/adapters/dhis_dhis/value/index.js +2 -2
- package/package.json +1 -1
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
|
|
28
|
+
case _valueTypes.VALUE_TYPE_TEXT:
|
|
27
29
|
return value => "".concat(value);
|
|
28
30
|
|
|
29
|
-
case
|
|
30
|
-
case
|
|
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 ===
|
|
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:
|
|
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 ===
|
|
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,
|
package/build/cjs/index.js
CHANGED
|
@@ -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/
|
|
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 =
|
|
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) ||
|
|
284
|
+
const valueType = (dxDimension === null || dxDimension === void 0 ? void 0 : dxDimension.valueType) || _valueTypes.VALUE_TYPE_TEXT;
|
|
283
285
|
|
|
284
|
-
if (valueType ===
|
|
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:
|
|
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) ===
|
|
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 ===
|
|
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.
|
|
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 !==
|
|
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
|
|
8
|
+
var _renderValue = require("../../../../../modules/renderValue.js");
|
|
9
9
|
|
|
10
|
-
var
|
|
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 ||
|
|
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
|
|
17
|
+
case VALUE_TYPE_TEXT:
|
|
17
18
|
return value => "".concat(value);
|
|
18
19
|
|
|
19
|
-
case
|
|
20
|
-
case
|
|
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 ===
|
|
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:
|
|
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
|
|
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 {
|
|
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:
|
|
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/
|
|
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,
|
|
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
|
|
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 {
|
|
2
|
-
import {
|
|
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;
|