@dhis2/analytics 26.8.6 → 26.9.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/build/cjs/__demo__/SingleValue.stories.js +706 -0
- package/build/cjs/components/PivotTable/PivotTableValueCell.js +6 -2
- package/build/cjs/components/PivotTable/styles/PivotTable.style.js +2 -2
- package/build/cjs/locales/en/translations.json +2 -0
- package/build/cjs/locales/lo/translations.json +16 -12
- package/build/cjs/modules/pivotTable/PivotTableEngine.js +59 -24
- package/build/cjs/modules/pivotTable/pivotTableConstants.js +6 -2
- package/build/cjs/modules/valueTypes.js +4 -1
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/chart/default.js +26 -0
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/chart/index.js +18 -0
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/chart/singleValue.js +19 -0
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/customSVGOptions/index.js +36 -0
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/customSVGOptions/singleValue/getSingleValueBackgroundColor.js +12 -0
- package/build/cjs/visualizations/config/adapters/{dhis_dhis/value/index.js → dhis_highcharts/customSVGOptions/singleValue/getSingleValueFormattedValue.js} +8 -6
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/customSVGOptions/singleValue/getSingleValueLegendColor.js +11 -0
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/customSVGOptions/singleValue/getSingleValueSubtext.js +11 -0
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/customSVGOptions/singleValue/getSingleValueTextColor.js +20 -0
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/customSVGOptions/singleValue/getSingleValueTitleColor.js +26 -0
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/customSVGOptions/singleValue/index.js +31 -0
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/events/index.js +24 -0
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/events/loadCustomSVG/index.js +18 -0
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/events/loadCustomSVG/singleValue/addIconElement.js +34 -0
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/events/loadCustomSVG/singleValue/checkIfFitsWithinContainer.js +19 -0
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/events/loadCustomSVG/singleValue/computeLayoutRect.js +39 -0
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/events/loadCustomSVG/singleValue/computeSpacingTop.js +21 -0
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/events/loadCustomSVG/singleValue/constants.js +11 -0
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/events/loadCustomSVG/singleValue/getAvailableSpace.js +14 -0
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/events/loadCustomSVG/singleValue/index.js +48 -0
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/events/loadCustomSVG/singleValue/positionElements.js +46 -0
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/events/loadCustomSVG/singleValue/styles.js +109 -0
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/exporting.js +30 -0
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/index.js +33 -23
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/lang.js +17 -0
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/plotOptions.js +1 -1
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/series/index.js +5 -1
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/subtitle/__tests__/singleValue.spec.js +62 -0
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/subtitle/index.js +56 -22
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/subtitle/singleValue.js +27 -0
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/title/__tests__/singleValue.spec.js +44 -0
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/title/index.js +50 -22
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/title/singleValue.js +31 -0
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/type.js +2 -0
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/xAxis/index.js +1 -0
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/yAxis/index.js +4 -5
- package/build/cjs/visualizations/config/adapters/index.js +2 -4
- package/build/cjs/visualizations/config/generators/highcharts/index.js +8 -0
- package/build/cjs/visualizations/config/generators/highcharts/pdfExportBugFixPlugin/index.js +13 -0
- package/build/cjs/visualizations/config/generators/highcharts/pdfExportBugFixPlugin/nonASCIIFont.js +17 -0
- package/build/cjs/visualizations/config/generators/highcharts/pdfExportBugFixPlugin/textShadow.js +289 -0
- package/build/cjs/visualizations/config/generators/index.js +2 -4
- package/build/cjs/visualizations/store/adapters/dhis_highcharts/index.js +3 -0
- package/build/cjs/visualizations/store/adapters/dhis_highcharts/singleValue.js +10 -0
- package/build/cjs/visualizations/store/adapters/index.js +2 -4
- package/build/cjs/visualizations/util/shouldUseContrastColor.js +24 -0
- package/build/es/__demo__/SingleValue.stories.js +702 -0
- package/build/es/components/PivotTable/PivotTableValueCell.js +6 -2
- package/build/es/components/PivotTable/styles/PivotTable.style.js +2 -2
- package/build/es/locales/en/translations.json +2 -0
- package/build/es/locales/lo/translations.json +16 -12
- package/build/es/modules/pivotTable/PivotTableEngine.js +61 -26
- package/build/es/modules/pivotTable/pivotTableConstants.js +4 -1
- package/build/es/modules/valueTypes.js +2 -0
- package/build/es/visualizations/config/adapters/dhis_highcharts/chart/default.js +19 -0
- package/build/es/visualizations/config/adapters/dhis_highcharts/chart/index.js +11 -0
- package/build/es/visualizations/config/adapters/dhis_highcharts/chart/singleValue.js +12 -0
- package/build/es/visualizations/config/adapters/dhis_highcharts/customSVGOptions/index.js +29 -0
- package/build/es/visualizations/config/adapters/dhis_highcharts/customSVGOptions/singleValue/getSingleValueBackgroundColor.js +6 -0
- package/build/es/visualizations/config/adapters/{dhis_dhis/value/index.js → dhis_highcharts/customSVGOptions/singleValue/getSingleValueFormattedValue.js} +4 -4
- package/build/es/visualizations/config/adapters/dhis_highcharts/customSVGOptions/singleValue/getSingleValueLegendColor.js +5 -0
- package/build/es/visualizations/config/adapters/dhis_highcharts/customSVGOptions/singleValue/getSingleValueSubtext.js +5 -0
- package/build/es/visualizations/config/adapters/dhis_highcharts/customSVGOptions/singleValue/getSingleValueTextColor.js +14 -0
- package/build/es/visualizations/config/adapters/dhis_highcharts/customSVGOptions/singleValue/getSingleValueTitleColor.js +20 -0
- package/build/es/visualizations/config/adapters/dhis_highcharts/customSVGOptions/singleValue/index.js +25 -0
- package/build/es/visualizations/config/adapters/dhis_highcharts/events/index.js +16 -0
- package/build/es/visualizations/config/adapters/dhis_highcharts/events/loadCustomSVG/index.js +11 -0
- package/build/es/visualizations/config/adapters/dhis_highcharts/events/loadCustomSVG/singleValue/addIconElement.js +28 -0
- package/build/es/visualizations/config/adapters/dhis_highcharts/events/loadCustomSVG/singleValue/checkIfFitsWithinContainer.js +13 -0
- package/build/es/visualizations/config/adapters/dhis_highcharts/events/loadCustomSVG/singleValue/computeLayoutRect.js +33 -0
- package/build/es/visualizations/config/adapters/dhis_highcharts/events/loadCustomSVG/singleValue/computeSpacingTop.js +15 -0
- package/build/es/visualizations/config/adapters/dhis_highcharts/events/loadCustomSVG/singleValue/constants.js +4 -0
- package/build/es/visualizations/config/adapters/dhis_highcharts/events/loadCustomSVG/singleValue/getAvailableSpace.js +8 -0
- package/build/es/visualizations/config/adapters/dhis_highcharts/events/loadCustomSVG/singleValue/index.js +42 -0
- package/build/es/visualizations/config/adapters/dhis_highcharts/events/loadCustomSVG/singleValue/positionElements.js +40 -0
- package/build/es/visualizations/config/adapters/dhis_highcharts/events/loadCustomSVG/singleValue/styles.js +101 -0
- package/build/es/visualizations/config/adapters/dhis_highcharts/exporting.js +23 -0
- package/build/es/visualizations/config/adapters/dhis_highcharts/index.js +23 -13
- package/build/es/visualizations/config/adapters/dhis_highcharts/lang.js +11 -0
- package/build/es/visualizations/config/adapters/dhis_highcharts/plotOptions.js +1 -1
- package/build/es/visualizations/config/adapters/dhis_highcharts/series/index.js +6 -2
- package/build/es/visualizations/config/adapters/dhis_highcharts/subtitle/__tests__/singleValue.spec.js +59 -0
- package/build/es/visualizations/config/adapters/dhis_highcharts/subtitle/index.js +56 -24
- package/build/es/visualizations/config/adapters/dhis_highcharts/subtitle/singleValue.js +14 -0
- package/build/es/visualizations/config/adapters/dhis_highcharts/title/__tests__/singleValue.spec.js +42 -0
- package/build/es/visualizations/config/adapters/dhis_highcharts/title/index.js +52 -24
- package/build/es/visualizations/config/adapters/dhis_highcharts/title/singleValue.js +18 -0
- package/build/es/visualizations/config/adapters/dhis_highcharts/type.js +3 -1
- package/build/es/visualizations/config/adapters/dhis_highcharts/xAxis/index.js +2 -1
- package/build/es/visualizations/config/adapters/dhis_highcharts/yAxis/index.js +5 -6
- package/build/es/visualizations/config/adapters/index.js +1 -3
- package/build/es/visualizations/config/generators/highcharts/index.js +8 -0
- package/build/es/visualizations/config/generators/highcharts/pdfExportBugFixPlugin/index.js +6 -0
- package/build/es/visualizations/config/generators/highcharts/pdfExportBugFixPlugin/nonASCIIFont.js +11 -0
- package/build/es/visualizations/config/generators/highcharts/pdfExportBugFixPlugin/textShadow.js +283 -0
- package/build/es/visualizations/config/generators/index.js +1 -3
- package/build/es/visualizations/store/adapters/dhis_highcharts/index.js +4 -1
- package/build/es/visualizations/store/adapters/dhis_highcharts/singleValue.js +4 -0
- package/build/es/visualizations/store/adapters/index.js +1 -3
- package/build/es/visualizations/util/shouldUseContrastColor.js +17 -0
- package/package.json +1 -2
- package/build/cjs/visualizations/config/adapters/dhis_dhis/index.js +0 -39
- package/build/cjs/visualizations/config/adapters/dhis_dhis/subtitle/__tests__/index.spec.js +0 -49
- package/build/cjs/visualizations/config/adapters/dhis_dhis/subtitle/__tests__/singleValue.spec.js +0 -15
- package/build/cjs/visualizations/config/adapters/dhis_dhis/subtitle/index.js +0 -34
- package/build/cjs/visualizations/config/adapters/dhis_dhis/subtitle/singleValue.js +0 -11
- package/build/cjs/visualizations/config/adapters/dhis_dhis/title/__tests__/index.spec.js +0 -39
- package/build/cjs/visualizations/config/adapters/dhis_dhis/title/__tests__/singleValue.spec.js +0 -17
- package/build/cjs/visualizations/config/adapters/dhis_dhis/title/index.js +0 -31
- package/build/cjs/visualizations/config/adapters/dhis_dhis/title/singleValue.js +0 -18
- package/build/cjs/visualizations/config/adapters/dhis_dhis/type.js +0 -19
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/chart.js +0 -39
- package/build/cjs/visualizations/config/generators/dhis/index.js +0 -28
- package/build/cjs/visualizations/config/generators/dhis/singleValue.js +0 -359
- package/build/cjs/visualizations/store/adapters/dhis_dhis/index.js +0 -83
- package/build/cjs/visualizations/store/adapters/dhis_dhis/singleValue.js +0 -10
- package/build/es/visualizations/config/adapters/dhis_dhis/index.js +0 -30
- package/build/es/visualizations/config/adapters/dhis_dhis/subtitle/__tests__/index.spec.js +0 -46
- package/build/es/visualizations/config/adapters/dhis_dhis/subtitle/__tests__/singleValue.spec.js +0 -12
- package/build/es/visualizations/config/adapters/dhis_dhis/subtitle/index.js +0 -27
- package/build/es/visualizations/config/adapters/dhis_dhis/subtitle/singleValue.js +0 -4
- package/build/es/visualizations/config/adapters/dhis_dhis/title/__tests__/index.spec.js +0 -36
- package/build/es/visualizations/config/adapters/dhis_dhis/title/__tests__/singleValue.spec.js +0 -14
- package/build/es/visualizations/config/adapters/dhis_dhis/title/index.js +0 -24
- package/build/es/visualizations/config/adapters/dhis_dhis/title/singleValue.js +0 -11
- package/build/es/visualizations/config/adapters/dhis_dhis/type.js +0 -13
- package/build/es/visualizations/config/adapters/dhis_highcharts/chart.js +0 -32
- package/build/es/visualizations/config/generators/dhis/index.js +0 -21
- package/build/es/visualizations/config/generators/dhis/singleValue.js +0 -353
- package/build/es/visualizations/store/adapters/dhis_dhis/index.js +0 -76
- package/build/es/visualizations/store/adapters/dhis_dhis/singleValue.js +0 -4
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.PivotTableValueCell = void 0;
|
|
7
|
+
var _d2I18n = _interopRequireDefault(require("@dhis2/d2-i18n"));
|
|
7
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
8
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
10
|
var _applyLegendSet = require("../../modules/pivotTable/applyLegendSet.js");
|
|
@@ -16,7 +17,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
16
17
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && 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; }
|
|
17
18
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
18
19
|
const PivotTableValueCell = _ref => {
|
|
19
|
-
var _cellContent$rendered;
|
|
20
|
+
var _cellContent$titleVal, _cellContent$rendered;
|
|
20
21
|
let {
|
|
21
22
|
row,
|
|
22
23
|
column,
|
|
@@ -54,7 +55,10 @@ const PivotTableValueCell = _ref => {
|
|
|
54
55
|
return /*#__PURE__*/_react.default.createElement(_PivotTableCell.PivotTableCell, {
|
|
55
56
|
key: column,
|
|
56
57
|
classes: classes,
|
|
57
|
-
title: cellContent.
|
|
58
|
+
title: (_cellContent$titleVal = cellContent.titleValue) !== null && _cellContent$titleVal !== void 0 ? _cellContent$titleVal : _d2I18n.default.t('Value: {{value}}', {
|
|
59
|
+
value: cellContent.renderedValue,
|
|
60
|
+
nsSeparator: '^^'
|
|
61
|
+
}),
|
|
58
62
|
style: style,
|
|
59
63
|
onClick: isClickable ? onClick : undefined,
|
|
60
64
|
ref: cellRef,
|
|
@@ -9,9 +9,9 @@ var _pivotTableConstants = require("../../../modules/pivotTable/pivotTableConsta
|
|
|
9
9
|
const table = [`div.pivot-table-container.jsx-3572446209{font-family:'Roboto',Arial,sans-serif;overflow:auto;color:${_ui.colors.grey900};}`, `div.pivot-table-container.jsx-3572446209 table{border-spacing:0;white-space:nowrap;box-sizing:border-box;text-align:center;border:1px solid ${_pivotTableConstants.BORDER_COLOR};border-width:1px 1px 0 0;}`, "div.pivot-table-container.jsx-3572446209 table.fixed-headers{border-width:0 0 0 1px;}", "div.pivot-table-container.jsx-3572446209 table.fixed-headers tr th,div.pivot-table-container.jsx-3572446209 table.fixed-headers tr td{border-width:0 1px 1px 0;}", "div.pivot-table-container.jsx-3572446209 table.fixed-column-headers{border-width:0 1px 0 0;}", "div.pivot-table-container.jsx-3572446209 table.fixed-column-headers tr th,div.pivot-table-container.jsx-3572446209 table.fixed-column-headers tr td{border-width:0 0 1px 1px;}", `div.pivot-table-container.jsx-3572446209 table.fixed-headers thead tr:first-of-type th,div.pivot-table-container.jsx-3572446209 table.fixed-column-headers thead tr:first-of-type th{border-top:1px solid ${_pivotTableConstants.BORDER_COLOR};}`, "div.pivot-table-container.jsx-3572446209 table.fixed-row-headers{border-width:0 0 1px 1px;}", "div.pivot-table-container.jsx-3572446209 table.fixed-row-headers tr th,div.pivot-table-container.jsx-3572446209 table.fixed-row-headers tr td{border-width:1px 1px 0 0;}"];
|
|
10
10
|
exports.table = table;
|
|
11
11
|
table.__hash = "3572446209";
|
|
12
|
-
const cell = [`td.jsx-
|
|
12
|
+
const cell = [`td.jsx-2444037071,th.jsx-2444037071{box-sizing:border-box;font-weight:normal;overflow:hidden;text-overflow:ellipsis;border:1px solid ${_pivotTableConstants.BORDER_COLOR};border-width:0 0 1px 1px;cursor:default;}`, "th.fixed-header.jsx-2444037071{position:-webkit-sticky;position:sticky;z-index:1;top:0;left:0;}", `.fontsize-SMALL.jsx-2444037071{font-size:${_pivotTableConstants.FONT_SIZE_SMALL}px;line-height:${_pivotTableConstants.FONT_SIZE_SMALL}px;}`, `.fontsize-NORMAL.jsx-2444037071{font-size:${_pivotTableConstants.FONT_SIZE_NORMAL}px;line-height:${_pivotTableConstants.FONT_SIZE_NORMAL}px;}`, `.fontsize-LARGE.jsx-2444037071{font-size:${_pivotTableConstants.FONT_SIZE_LARGE}px;line-height:${_pivotTableConstants.FONT_SIZE_LARGE}px;}`, `.displaydensity-COMPACT.jsx-2444037071{padding:${_pivotTableConstants.DISPLAY_DENSITY_PADDING_COMPACT}px;}`, `.displaydensity-NORMAL.jsx-2444037071{padding:${_pivotTableConstants.DISPLAY_DENSITY_PADDING_NORMAL}px;}`, `.displaydensity-COMFORTABLE.jsx-2444037071{padding:${_pivotTableConstants.DISPLAY_DENSITY_PADDING_COMFORTABLE}px;}`, ".column-header.jsx-2444037071{background-color:#dae6f8;}", "div.column-header-inner.jsx-2444037071{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}", ".title-cell.jsx-2444037071{font-weight:bold;background-color:#cddaed;padding:0;}", ".title-cell-content.jsx-2444037071{text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}", `.title-cell.displaydensity-COMPACT.jsx-2444037071>.title-cell-content.jsx-2444037071{padding:${_pivotTableConstants.DISPLAY_DENSITY_PADDING_COMPACT}px;}`, `.title-cell.displaydensity-NORMAL.jsx-2444037071>.title-cell-content.jsx-2444037071{padding:${_pivotTableConstants.DISPLAY_DENSITY_PADDING_NORMAL}px;}`, `.title-cell.displaydensity-COMFORTABLE.jsx-2444037071>.title-cell-content.jsx-2444037071{padding:${_pivotTableConstants.DISPLAY_DENSITY_PADDING_COMFORTABLE}px;}`, ".row-header.jsx-2444037071{background-color:#dae6f8;}", ".row-header-hierarchy.jsx-2444037071{text-align:left;}", ".empty-header.jsx-2444037071{background-color:#cddaed;}", ".total-header.jsx-2444037071{background-color:#bac6d8;}", ".value.jsx-2444037071{background-color:#ffffff;text-align:left;}", ".NUMBER.jsx-2444037071,.INTEGER.jsx-2444037071,.INTEGER_POSITIVE.jsx-2444037071,.INTEGER_NEGATIVE.jsx-2444037071,.INTEGER_ZERO_OR_POSITIVE.jsx-2444037071,.UNIT_INTERVAL.jsx-2444037071,.PERCENTAGE.jsx-2444037071,.BOOLEAN.jsx-2444037071,.TRUE_ONLY.jsx-2444037071{text-align:right;}", `.N_A.jsx-2444037071{text-align:center;color:${_ui.colors.grey600};}`, ".clickable.jsx-2444037071{cursor:pointer;}", ".value.jsx-2444037071:hover{background-color:#f3f3f3;}", ".subtotal.jsx-2444037071{background-color:#f4f4f4;}", ".total.jsx-2444037071{background-color:#d8d8d8;}", ".column-header-label.jsx-2444037071{overflow:hidden;text-overflow:ellipsis;}"];
|
|
13
13
|
exports.cell = cell;
|
|
14
|
-
cell.__hash = "
|
|
14
|
+
cell.__hash = "2444037071";
|
|
15
15
|
const sortIcon = [`.fontsize-SMALL.jsx-2877616992{height:${_pivotTableConstants.FONT_SIZE_SMALL}px;margin-bottom:1px;margin-left:5px;}`, `.fontsize-NORMAL.jsx-2877616992{height:${_pivotTableConstants.FONT_SIZE_NORMAL}px;max-height:11px;margin-bottom:2px;margin-left:6px;}`, `.fontsize-LARGE.jsx-2877616992{height:${_pivotTableConstants.FONT_SIZE_LARGE}px;margin-bottom:2px;margin-left:7px;}`];
|
|
16
16
|
exports.sortIcon = sortIcon;
|
|
17
17
|
sortIcon.__hash = "2877616992";
|
|
@@ -267,6 +267,7 @@
|
|
|
267
267
|
"Six-months": "Six-months",
|
|
268
268
|
"Financial Years": "Financial Years",
|
|
269
269
|
"Years": "Years",
|
|
270
|
+
"Value: {{value}}": "Value: {{value}}",
|
|
270
271
|
"Bold text": "Bold text",
|
|
271
272
|
"Italic text": "Italic text",
|
|
272
273
|
"Link to a URL": "Link to a URL",
|
|
@@ -357,6 +358,7 @@
|
|
|
357
358
|
"{{thresholdFactor}} × Modified Z-score high": "{{thresholdFactor}} × Modified Z-score high",
|
|
358
359
|
"{{thresholdFactor}} × Z-score low": "{{thresholdFactor}} × Z-score low",
|
|
359
360
|
"{{thresholdFactor}} × Z-score high": "{{thresholdFactor}} × Z-score high",
|
|
361
|
+
"Not applicable": "Not applicable",
|
|
360
362
|
"Data": "Data",
|
|
361
363
|
"Organisation unit": "Organisation unit",
|
|
362
364
|
"Assigned Categories": "Assigned Categories",
|
|
@@ -18,11 +18,13 @@
|
|
|
18
18
|
"About this map": "ກ່ຽວກັບແຜນທີ່",
|
|
19
19
|
"About this line list": "ກ່ຽວກັບບັນຊີລາຍຊື່",
|
|
20
20
|
"About this visualization": "ກ່ຽວກັບການສ້າງພາບຂໍ້ມູນ",
|
|
21
|
+
"About this event chart": "ກ່ຽວກັບເຫດການແຜນຜັງ",
|
|
22
|
+
"About this event report": "ກ່ຽວກັບບົດລາຍງານເຫດການຕ່າງໆ",
|
|
21
23
|
"This app could not retrieve required data.": "ແອັບນີ້ບໍ່ສາມາດດຶງຂໍ້ມູນທີ່ຕ້ອງການໄດ້",
|
|
22
24
|
"Network error": "ຂໍ້ຜິດພາດທາງເຄື່ອຂ່າຍ",
|
|
23
25
|
"Data / Edit calculation": "ຂໍ້ມູນ / ແກ້ໄຂການຄິດໄລ່",
|
|
24
26
|
"Data / New calculation": "ຂໍ້ມູນ / ຄິດໄລ່ໃໝ່",
|
|
25
|
-
"Remove item": "
|
|
27
|
+
"Remove item": "ເອົາລາຍການອອກ",
|
|
26
28
|
"Check formula": "ກວດເບິ່ງສູດ",
|
|
27
29
|
"Calculation name": "ຊື່ການຄິດໄລ່",
|
|
28
30
|
"Shown in table headers and chart axes/legends": "ສະແດງຢູ່ເທິງຕາຕະລາງ ແລະ ແກນແຜນວາດ",
|
|
@@ -132,17 +134,6 @@
|
|
|
132
134
|
"Manage sharing": "ຈັດການການເຜີຍແຜ່",
|
|
133
135
|
"Could not update interpretation": "ບໍ່ສາມາດອັບເດດຂໍ້ຄວາມ",
|
|
134
136
|
"Enter interpretation text": "ປ້ອນຂໍ້ຄວາມ",
|
|
135
|
-
"Bold text": "ຕົວອັກສອນເຂັ້ມ",
|
|
136
|
-
"Italic text": "ຕົວອັກສອນສະຫຼ່ຽງ",
|
|
137
|
-
"Link to a URL": "ເຊື່ອມຕໍ່ກັບ URL",
|
|
138
|
-
"Mention a user": "ກ່າວເຖິງຜູ້ໃຊ້",
|
|
139
|
-
"Add emoji": "ເພີ່ມ emoji",
|
|
140
|
-
"Preview": "ເບິ່ງຕົວຢ່າງ",
|
|
141
|
-
"Back to write mode": "ກັບໄປທີ່ໂໝດຂຽນ",
|
|
142
|
-
"Too many results. Try refining the search.": "ຜົນໄດ້ຮັບຫຼາຍເກີນໄປ. ປັບປຸງການຄົ້ນຫາ.",
|
|
143
|
-
"Search for a user": "ຄົ້ນຫາຜູ້ໃຊ້",
|
|
144
|
-
"Searching for \"{{- searchText}}\"": "ຄົ້ນຫາ \"{{- searchText}}\"",
|
|
145
|
-
"No results found": "ບໍ່ພົບຜົນການຊອກຫາ",
|
|
146
137
|
"Not available offline": "ບໍ່ສາມາດໃຊ້ໄດ້ອອບລາຍ",
|
|
147
138
|
"Created by": "ສ້າງໂດຍ",
|
|
148
139
|
"Anyone": "ທຸກຄົນ",
|
|
@@ -271,6 +262,14 @@
|
|
|
271
262
|
"Six-months": "6 ເດືອນ",
|
|
272
263
|
"Financial Years": "ສົກປີງົບປະມານ",
|
|
273
264
|
"Years": "ປີ",
|
|
265
|
+
"Value: {{value}}": "",
|
|
266
|
+
"Bold text": "ຕົວອັກສອນເຂັ້ມ",
|
|
267
|
+
"Italic text": "ຕົວອັກສອນສະຫຼ່ຽງ",
|
|
268
|
+
"Link to a URL": "ເຊື່ອມຕໍ່ກັບ URL",
|
|
269
|
+
"Mention a user": "ກ່າວເຖິງຜູ້ໃຊ້",
|
|
270
|
+
"Add emoji": "ເພີ່ມ emoji",
|
|
271
|
+
"Preview": "ເບິ່ງຕົວຢ່າງ",
|
|
272
|
+
"Back to write mode": "ກັບໄປທີ່ໂໝດຂຽນ",
|
|
274
273
|
"Interpretations and details": "ຂໍ້ມູນ ແລະ ລາຍລະອຽດ",
|
|
275
274
|
"Translating to": "ແປເປັນ",
|
|
276
275
|
"Choose a locale": "ເລືອກສະຖານທີ່ເກີດເຫດ",
|
|
@@ -281,6 +280,10 @@
|
|
|
281
280
|
"Cannot save while offline": "ບໍ່ສາມາດບັນທຶກແບບອອບລາຍ",
|
|
282
281
|
"Could not load translations": "ບໍ່ສາມາດໂຫຼດການແປ",
|
|
283
282
|
"Retry": "ລອງໃໝ່",
|
|
283
|
+
"Too many results. Try refining the search.": "ຜົນໄດ້ຮັບຫຼາຍເກີນໄປ. ປັບປຸງການຄົ້ນຫາ.",
|
|
284
|
+
"Search for a user": "ຄົ້ນຫາຜູ້ໃຊ້",
|
|
285
|
+
"Searching for \"{{- searchText}}\"": "ຄົ້ນຫາ \"{{- searchText}}\"",
|
|
286
|
+
"No results found": "ບໍ່ພົບຜົນການຊອກຫາ",
|
|
284
287
|
"Series": "ແທ່ງ",
|
|
285
288
|
"Category": "ລວງນອນ",
|
|
286
289
|
"Filter": "ຕົວກອງ",
|
|
@@ -350,6 +353,7 @@
|
|
|
350
353
|
"{{thresholdFactor}} × Modified Z-score high": "{{thresholdFactor}} x ແກ້ໄຂຄະແນນ z ສູງ",
|
|
351
354
|
"{{thresholdFactor}} × Z-score low": "{{thresholdFactor}} x ຄະແນນ z ຕ່ຳ",
|
|
352
355
|
"{{thresholdFactor}} × Z-score high": "{{thresholdFactor}} x ຄະແນນ z ສູງ",
|
|
356
|
+
"Not applicable": "",
|
|
353
357
|
"Data": "ຂໍ້ມູນ",
|
|
354
358
|
"Organisation unit": "ຫົວໜ່ວຍການຈັດຕັ້ງ",
|
|
355
359
|
"Assigned Categories": "ຈັດໝວດໝູ່",
|
|
@@ -160,7 +160,7 @@ const applyTotalAggregationType = (_ref2, overrideTotalAggregationType) => {
|
|
|
160
160
|
} = _ref2;
|
|
161
161
|
switch (overrideTotalAggregationType || totalAggregationType) {
|
|
162
162
|
case _pivotTableConstants.AGGREGATE_TYPE_NA:
|
|
163
|
-
return
|
|
163
|
+
return _pivotTableConstants.VALUE_NA;
|
|
164
164
|
case _pivotTableConstants.AGGREGATE_TYPE_AVERAGE:
|
|
165
165
|
return (numerator || value) * multiplier / (denominator * divisor || 1);
|
|
166
166
|
case _pivotTableConstants.AGGREGATE_TYPE_SUM:
|
|
@@ -265,15 +265,29 @@ class PivotTableEngine {
|
|
|
265
265
|
rawCell.rawValue = rawValue;
|
|
266
266
|
rawCell.renderedValue = renderedValue;
|
|
267
267
|
}
|
|
268
|
+
if ([_pivotTableConstants.CELL_TYPE_TOTAL, _pivotTableConstants.CELL_TYPE_SUBTOTAL].includes(rawCell.cellType) && rawCell.rawValue === _pivotTableConstants.AGGREGATE_TYPE_NA) {
|
|
269
|
+
rawCell.titleValue = _d2I18n.default.t('Not applicable');
|
|
270
|
+
}
|
|
268
271
|
if (this.options.cumulativeValues) {
|
|
272
|
+
let titleValue;
|
|
273
|
+
if (this.data[row] && this.data[row][column]) {
|
|
274
|
+
const dataRow = this.data[row][column];
|
|
275
|
+
const rawValue = cellType === _pivotTableConstants.CELL_TYPE_VALUE ? dataRow[this.dimensionLookup.dataHeaders.value] : dataRow.value;
|
|
276
|
+
titleValue = _d2I18n.default.t('Value: {{value}}', {
|
|
277
|
+
value: (0, _renderValue.renderValue)(rawValue, valueType, this.visualization),
|
|
278
|
+
nsSeparator: '^^'
|
|
279
|
+
});
|
|
280
|
+
}
|
|
269
281
|
const cumulativeValue = this.getCumulative({
|
|
270
282
|
row,
|
|
271
283
|
column
|
|
272
284
|
});
|
|
273
285
|
if (cumulativeValue !== undefined && cumulativeValue !== null) {
|
|
274
|
-
// force to
|
|
275
|
-
|
|
286
|
+
// force to TEXT for N/A (accumulated) values
|
|
287
|
+
// force to NUMBER for accumulated values if no valueType present
|
|
288
|
+
rawCell.valueType = cumulativeValue === _pivotTableConstants.VALUE_NA ? _pivotTableConstants.VALUE_TYPE_NA : valueType === undefined || valueType === null ? _valueTypes.VALUE_TYPE_NUMBER : valueType;
|
|
276
289
|
rawCell.empty = false;
|
|
290
|
+
rawCell.titleValue = titleValue;
|
|
277
291
|
rawCell.rawValue = cumulativeValue;
|
|
278
292
|
rawCell.renderedValue = (0, _renderValue.renderValue)(cumulativeValue, valueType, this.visualization);
|
|
279
293
|
}
|
|
@@ -372,15 +386,12 @@ class PivotTableEngine {
|
|
|
372
386
|
return undefined;
|
|
373
387
|
}
|
|
374
388
|
const cellValue = this.data[row][column];
|
|
389
|
+
|
|
390
|
+
// empty cell
|
|
375
391
|
if (!cellValue) {
|
|
376
|
-
|
|
377
|
-
// The cell still needs to get the valueType to render correctly 0 and cumulative values
|
|
378
|
-
return {
|
|
379
|
-
valueType: _valueTypes.VALUE_TYPE_NUMBER,
|
|
380
|
-
totalAggregationType: _pivotTableConstants.AGGREGATE_TYPE_SUM
|
|
381
|
-
};
|
|
392
|
+
return undefined;
|
|
382
393
|
}
|
|
383
|
-
if (!Array.isArray(cellValue)) {
|
|
394
|
+
if (cellValue && !Array.isArray(cellValue)) {
|
|
384
395
|
// This is a total cell
|
|
385
396
|
return {
|
|
386
397
|
valueType: cellValue.valueType,
|
|
@@ -543,19 +554,26 @@ class PivotTableEngine {
|
|
|
543
554
|
} else {
|
|
544
555
|
totalCell.totalAggregationType = currentAggType;
|
|
545
556
|
}
|
|
546
|
-
|
|
557
|
+
|
|
558
|
+
// Force value type of total cells to NUMBER for value cells with numeric or boolean types.
|
|
559
|
+
// This is to simplify the code below where we compare the previous value type.
|
|
560
|
+
// All numeric/boolean value types use the same style for rendering the total cell (right aligned content)
|
|
561
|
+
// and using NUMBER for the total cell is enough for that.
|
|
562
|
+
// (see DHIS2-9155)
|
|
563
|
+
const currentValueType = (0, _valueTypes.isNumericValueType)(dxDimension === null || dxDimension === void 0 ? void 0 : dxDimension.valueType) || (0, _valueTypes.isBooleanValueType)(dxDimension === null || dxDimension === void 0 ? void 0 : dxDimension.valueType) ? _valueTypes.VALUE_TYPE_NUMBER : dxDimension === null || dxDimension === void 0 ? void 0 : dxDimension.valueType;
|
|
547
564
|
const previousValueType = totalCell.valueType;
|
|
548
565
|
if (previousValueType && currentValueType !== previousValueType) {
|
|
549
|
-
totalCell.valueType = _pivotTableConstants.
|
|
566
|
+
totalCell.valueType = _pivotTableConstants.VALUE_TYPE_NA;
|
|
550
567
|
} else {
|
|
551
568
|
totalCell.valueType = currentValueType;
|
|
552
569
|
}
|
|
553
570
|
|
|
554
|
-
//
|
|
555
|
-
//
|
|
571
|
+
// Compute totals for all numeric and boolean value types only.
|
|
572
|
+
// In practice valueType here is NUMBER (see the comment above).
|
|
573
|
+
// When is not, it means there is some value cell with a valueType other than numeric/boolean,
|
|
574
|
+
// the total should not be computed then.
|
|
556
575
|
// (see DHIS2-9155)
|
|
557
|
-
if ((0, _valueTypes.isNumericValueType)(
|
|
558
|
-
totalCell.valueType = _valueTypes.VALUE_TYPE_NUMBER;
|
|
576
|
+
if ((0, _valueTypes.isNumericValueType)(totalCell.valueType)) {
|
|
559
577
|
dataFields.forEach(field => {
|
|
560
578
|
const headerIndex = this.dimensionLookup.dataHeaders[field];
|
|
561
579
|
const value = (0, _parseValue.parseValue)(dataRow[headerIndex]);
|
|
@@ -649,6 +667,17 @@ class PivotTableEngine {
|
|
|
649
667
|
}
|
|
650
668
|
}
|
|
651
669
|
}
|
|
670
|
+
computeOverrideTotalAggregationType(totalCell, visualization) {
|
|
671
|
+
// Avoid undefined on total cells with valueTypes that cannot be totalized.
|
|
672
|
+
// This happens for example when a column/row has all value cells of type TEXT.
|
|
673
|
+
if (!((0, _valueTypes.isNumericValueType)(totalCell.valueType) || (0, _valueTypes.isBooleanValueType)(totalCell.valueType))) {
|
|
674
|
+
return _pivotTableConstants.AGGREGATE_TYPE_NA;
|
|
675
|
+
}
|
|
676
|
+
|
|
677
|
+
// DHIS2-15698: do not override total aggregation type when numberType option is not present
|
|
678
|
+
// (numberType option default is VALUE)
|
|
679
|
+
return visualization.numberType && visualization.numberType !== _pivotTableConstants.NUMBER_TYPE_VALUE && _pivotTableConstants.AGGREGATE_TYPE_SUM;
|
|
680
|
+
}
|
|
652
681
|
finalizeTotal(_ref11) {
|
|
653
682
|
let {
|
|
654
683
|
row,
|
|
@@ -659,10 +688,12 @@ class PivotTableEngine {
|
|
|
659
688
|
}
|
|
660
689
|
const totalCell = this.data[row][column];
|
|
661
690
|
if (totalCell && totalCell.count) {
|
|
662
|
-
totalCell.value = applyTotalAggregationType(totalCell,
|
|
663
|
-
|
|
664
|
-
//
|
|
665
|
-
|
|
691
|
+
totalCell.value = applyTotalAggregationType(totalCell, this.computeOverrideTotalAggregationType(totalCell, this.visualization));
|
|
692
|
+
|
|
693
|
+
// override valueType for styling cells with N/A value
|
|
694
|
+
if (totalCell.value === _pivotTableConstants.AGGREGATE_TYPE_NA) {
|
|
695
|
+
totalCell.valueType = _pivotTableConstants.VALUE_TYPE_NA;
|
|
696
|
+
}
|
|
666
697
|
this.adaptiveClippingController.add({
|
|
667
698
|
row,
|
|
668
699
|
column
|
|
@@ -763,10 +794,14 @@ class PivotTableEngine {
|
|
|
763
794
|
column
|
|
764
795
|
});
|
|
765
796
|
const valueType = (dxDimension === null || dxDimension === void 0 ? void 0 : dxDimension.valueType) || _valueTypes.VALUE_TYPE_TEXT;
|
|
797
|
+
const totalAggregationType = dxDimension === null || dxDimension === void 0 ? void 0 : dxDimension.totalAggregationType;
|
|
766
798
|
|
|
767
|
-
// only accumulate numeric values
|
|
768
|
-
// accumulating text values does not make sense
|
|
769
|
-
if (valueType ===
|
|
799
|
+
// only accumulate numeric (except for PERCENTAGE and UNIT_INTERVAL) and boolean values
|
|
800
|
+
// accumulating other value types like text values does not make sense
|
|
801
|
+
if ((0, _valueTypes.isCumulativeValueType)(valueType) && totalAggregationType === _pivotTableConstants.AGGREGATE_TYPE_SUM) {
|
|
802
|
+
// initialise to 0 for cumulative types
|
|
803
|
+
// (||= is not transformed correctly in Babel with the current setup)
|
|
804
|
+
acc || (acc = 0);
|
|
770
805
|
if (this.data[row] && this.data[row][column]) {
|
|
771
806
|
const dataRow = this.data[row][column];
|
|
772
807
|
const rawValue = cellType === _pivotTableConstants.CELL_TYPE_VALUE ? dataRow[this.dimensionLookup.dataHeaders.value] : dataRow.value;
|
|
@@ -775,7 +810,7 @@ class PivotTableEngine {
|
|
|
775
810
|
this.accumulators.rows[row][column] = acc;
|
|
776
811
|
}
|
|
777
812
|
return acc;
|
|
778
|
-
},
|
|
813
|
+
}, '');
|
|
779
814
|
});
|
|
780
815
|
} else {
|
|
781
816
|
this.accumulators = {
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.WRAPPED_TEXT_LINE_HEIGHT = exports.WRAPPED_TEXT_JUSTIFY_BUFFER = exports.SORT_ORDER_DESCENDING = exports.SORT_ORDER_ASCENDING = exports.NUMBER_TYPE_VALUE = exports.NUMBER_TYPE_ROW_PERCENTAGE = exports.NUMBER_TYPE_COLUMN_PERCENTAGE = exports.FONT_SIZE_SMALL = exports.FONT_SIZE_OPTION_SMALL = exports.FONT_SIZE_OPTION_NORMAL = exports.FONT_SIZE_OPTION_LARGE = exports.FONT_SIZE_NORMAL = exports.FONT_SIZE_LARGE = exports.DISPLAY_DENSITY_PADDING_NORMAL = exports.DISPLAY_DENSITY_PADDING_COMPACT = exports.DISPLAY_DENSITY_PADDING_COMFORTABLE = exports.DISPLAY_DENSITY_OPTION_NORMAL = exports.DISPLAY_DENSITY_OPTION_COMPACT = exports.DISPLAY_DENSITY_OPTION_COMFORTABLE = exports.CLIPPED_CELL_MIN_SIZE = exports.CLIPPED_CELL_MAX_SIZE = exports.CLIPPED_AXIS_PARTITION_SIZE_PX = exports.CELL_TYPE_VALUE = exports.CELL_TYPE_TOTAL = exports.CELL_TYPE_SUBTOTAL = exports.BORDER_COLOR = exports.AGGREGATE_TYPE_SUM = exports.AGGREGATE_TYPE_NA = exports.AGGREGATE_TYPE_AVERAGE = void 0;
|
|
6
|
+
exports.WRAPPED_TEXT_LINE_HEIGHT = exports.WRAPPED_TEXT_JUSTIFY_BUFFER = exports.VALUE_TYPE_NA = exports.VALUE_NA = exports.SORT_ORDER_DESCENDING = exports.SORT_ORDER_ASCENDING = exports.NUMBER_TYPE_VALUE = exports.NUMBER_TYPE_ROW_PERCENTAGE = exports.NUMBER_TYPE_COLUMN_PERCENTAGE = exports.FONT_SIZE_SMALL = exports.FONT_SIZE_OPTION_SMALL = exports.FONT_SIZE_OPTION_NORMAL = exports.FONT_SIZE_OPTION_LARGE = exports.FONT_SIZE_NORMAL = exports.FONT_SIZE_LARGE = exports.DISPLAY_DENSITY_PADDING_NORMAL = exports.DISPLAY_DENSITY_PADDING_COMPACT = exports.DISPLAY_DENSITY_PADDING_COMFORTABLE = exports.DISPLAY_DENSITY_OPTION_NORMAL = exports.DISPLAY_DENSITY_OPTION_COMPACT = exports.DISPLAY_DENSITY_OPTION_COMFORTABLE = exports.CLIPPED_CELL_MIN_SIZE = exports.CLIPPED_CELL_MAX_SIZE = exports.CLIPPED_AXIS_PARTITION_SIZE_PX = exports.CELL_TYPE_VALUE = exports.CELL_TYPE_TOTAL = exports.CELL_TYPE_SUBTOTAL = exports.BORDER_COLOR = exports.AGGREGATE_TYPE_SUM = exports.AGGREGATE_TYPE_NA = exports.AGGREGATE_TYPE_AVERAGE = 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,6 +20,8 @@ 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_NA = 'N_A'; // this ends up as CSS class and / is problematic
|
|
24
|
+
exports.VALUE_TYPE_NA = VALUE_TYPE_NA;
|
|
23
25
|
const NUMBER_TYPE_VALUE = 'VALUE';
|
|
24
26
|
exports.NUMBER_TYPE_VALUE = NUMBER_TYPE_VALUE;
|
|
25
27
|
const NUMBER_TYPE_ROW_PERCENTAGE = 'ROW_PERCENTAGE';
|
|
@@ -61,4 +63,6 @@ exports.WRAPPED_TEXT_JUSTIFY_BUFFER = WRAPPED_TEXT_JUSTIFY_BUFFER;
|
|
|
61
63
|
const WRAPPED_TEXT_LINE_HEIGHT = 1.0;
|
|
62
64
|
exports.WRAPPED_TEXT_LINE_HEIGHT = WRAPPED_TEXT_LINE_HEIGHT;
|
|
63
65
|
const CLIPPED_AXIS_PARTITION_SIZE_PX = 1000;
|
|
64
|
-
exports.CLIPPED_AXIS_PARTITION_SIZE_PX = CLIPPED_AXIS_PARTITION_SIZE_PX;
|
|
66
|
+
exports.CLIPPED_AXIS_PARTITION_SIZE_PX = CLIPPED_AXIS_PARTITION_SIZE_PX;
|
|
67
|
+
const VALUE_NA = 'N/A';
|
|
68
|
+
exports.VALUE_NA = VALUE_NA;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.isNumericValueType = exports.isBooleanValueType = exports.VALUE_TYPE_USERNAME = exports.VALUE_TYPE_URL = exports.VALUE_TYPE_UNIT_INTERVAL = exports.VALUE_TYPE_TRUE_ONLY = exports.VALUE_TYPE_TIME = exports.VALUE_TYPE_TEXT = exports.VALUE_TYPE_PHONE_NUMBER = exports.VALUE_TYPE_PERCENTAGE = exports.VALUE_TYPE_ORGANISATION_UNIT = exports.VALUE_TYPE_NUMBER = exports.VALUE_TYPE_LONG_TEXT = exports.VALUE_TYPE_LETTER = exports.VALUE_TYPE_INTEGER_ZERO_OR_POSITIVE = exports.VALUE_TYPE_INTEGER_POSITIVE = exports.VALUE_TYPE_INTEGER_NEGATIVE = exports.VALUE_TYPE_INTEGER = exports.VALUE_TYPE_EMAIL = exports.VALUE_TYPE_DATETIME = exports.VALUE_TYPE_DATE = exports.VALUE_TYPE_BOOLEAN = exports.VALUE_TYPE_AGE = void 0;
|
|
6
|
+
exports.isNumericValueType = exports.isCumulativeValueType = exports.isBooleanValueType = exports.VALUE_TYPE_USERNAME = exports.VALUE_TYPE_URL = exports.VALUE_TYPE_UNIT_INTERVAL = exports.VALUE_TYPE_TRUE_ONLY = exports.VALUE_TYPE_TIME = exports.VALUE_TYPE_TEXT = exports.VALUE_TYPE_PHONE_NUMBER = exports.VALUE_TYPE_PERCENTAGE = exports.VALUE_TYPE_ORGANISATION_UNIT = exports.VALUE_TYPE_NUMBER = exports.VALUE_TYPE_LONG_TEXT = exports.VALUE_TYPE_LETTER = exports.VALUE_TYPE_INTEGER_ZERO_OR_POSITIVE = exports.VALUE_TYPE_INTEGER_POSITIVE = exports.VALUE_TYPE_INTEGER_NEGATIVE = exports.VALUE_TYPE_INTEGER = exports.VALUE_TYPE_EMAIL = exports.VALUE_TYPE_DATETIME = exports.VALUE_TYPE_DATE = exports.VALUE_TYPE_BOOLEAN = exports.VALUE_TYPE_AGE = void 0;
|
|
7
7
|
/* These types match the types in the backend
|
|
8
8
|
https://github.com/dhis2/dhis2-core/blob/master/dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/ValueType.java
|
|
9
9
|
*/
|
|
@@ -52,6 +52,9 @@ const VALUE_TYPE_AGE = 'AGE';
|
|
|
52
52
|
exports.VALUE_TYPE_AGE = VALUE_TYPE_AGE;
|
|
53
53
|
const NUMERIC_VALUE_TYPES = [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];
|
|
54
54
|
const BOOLEAN_VALUE_TYPES = [VALUE_TYPE_BOOLEAN, VALUE_TYPE_TRUE_ONLY];
|
|
55
|
+
const CUMULATIVE_VALUE_TYPES = [VALUE_TYPE_NUMBER, VALUE_TYPE_INTEGER, VALUE_TYPE_INTEGER_POSITIVE, VALUE_TYPE_INTEGER_NEGATIVE, VALUE_TYPE_INTEGER_ZERO_OR_POSITIVE, ...BOOLEAN_VALUE_TYPES];
|
|
56
|
+
const isCumulativeValueType = type => CUMULATIVE_VALUE_TYPES.includes(type);
|
|
57
|
+
exports.isCumulativeValueType = isCumulativeValueType;
|
|
55
58
|
const isNumericValueType = type => NUMERIC_VALUE_TYPES.includes(type);
|
|
56
59
|
exports.isNumericValueType = isNumericValueType;
|
|
57
60
|
const isBooleanValueType = type => BOOLEAN_VALUE_TYPES.includes(type);
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = getDefaultChart;
|
|
7
|
+
var _index = require("../events/index.js");
|
|
8
|
+
var _type = _interopRequireDefault(require("../type.js"));
|
|
9
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
|
+
const DEFAULT_CHART = {
|
|
11
|
+
spacingTop: 20,
|
|
12
|
+
style: {
|
|
13
|
+
fontFamily: 'Roboto,Helvetica Neue,Helvetica,Arial,sans-serif'
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
const DASHBOARD_CHART = {
|
|
17
|
+
spacingTop: 0,
|
|
18
|
+
spacingRight: 5,
|
|
19
|
+
spacingBottom: 2,
|
|
20
|
+
spacingLeft: 5
|
|
21
|
+
};
|
|
22
|
+
function getDefaultChart(layout, el, extraOptions) {
|
|
23
|
+
return Object.assign({}, (0, _type.default)(layout.type), {
|
|
24
|
+
renderTo: el || layout.el
|
|
25
|
+
}, DEFAULT_CHART, extraOptions.dashboard ? DASHBOARD_CHART : undefined, (0, _index.getEvents)(layout.type));
|
|
26
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = getChart;
|
|
7
|
+
var _visTypes = require("../../../../../modules/visTypes.js");
|
|
8
|
+
var _default = _interopRequireDefault(require("./default.js"));
|
|
9
|
+
var _singleValue = _interopRequireDefault(require("./singleValue.js"));
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
function getChart(layout, el, extraOptions, series) {
|
|
12
|
+
switch (layout.type) {
|
|
13
|
+
case _visTypes.VIS_TYPE_SINGLE_VALUE:
|
|
14
|
+
return (0, _singleValue.default)(layout, el, extraOptions, series);
|
|
15
|
+
default:
|
|
16
|
+
return (0, _default.default)(layout, el, extraOptions);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = getSingleValueChart;
|
|
7
|
+
var _getSingleValueBackgroundColor = require("../customSVGOptions/singleValue/getSingleValueBackgroundColor.js");
|
|
8
|
+
var _default = _interopRequireDefault(require("./default.js"));
|
|
9
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
|
+
function getSingleValueChart(layout, el, extraOptions, series) {
|
|
11
|
+
const chart = {
|
|
12
|
+
...(0, _default.default)(layout, el, extraOptions),
|
|
13
|
+
backgroundColor: (0, _getSingleValueBackgroundColor.getSingleValueBackgroundColor)(layout.legend, extraOptions.legendSets, series[0])
|
|
14
|
+
};
|
|
15
|
+
if (extraOptions.dashboard) {
|
|
16
|
+
chart.spacingTop = 7;
|
|
17
|
+
}
|
|
18
|
+
return chart;
|
|
19
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = getCustomSVGOptions;
|
|
7
|
+
var _visTypes = require("../../../../../modules/visTypes.js");
|
|
8
|
+
var _index = _interopRequireDefault(require("./singleValue/index.js"));
|
|
9
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
|
+
function getCustomSVGOptions(_ref) {
|
|
11
|
+
let {
|
|
12
|
+
extraConfig,
|
|
13
|
+
layout,
|
|
14
|
+
extraOptions,
|
|
15
|
+
metaData,
|
|
16
|
+
series
|
|
17
|
+
} = _ref;
|
|
18
|
+
const baseOptions = {
|
|
19
|
+
visualizationType: layout.type
|
|
20
|
+
};
|
|
21
|
+
switch (layout.type) {
|
|
22
|
+
case _visTypes.VIS_TYPE_SINGLE_VALUE:
|
|
23
|
+
return {
|
|
24
|
+
...baseOptions,
|
|
25
|
+
...(0, _index.default)({
|
|
26
|
+
extraConfig,
|
|
27
|
+
layout,
|
|
28
|
+
extraOptions,
|
|
29
|
+
metaData,
|
|
30
|
+
series
|
|
31
|
+
})
|
|
32
|
+
};
|
|
33
|
+
default:
|
|
34
|
+
break;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getSingleValueBackgroundColor = getSingleValueBackgroundColor;
|
|
7
|
+
var _legends = require("../../../../../../modules/legends.js");
|
|
8
|
+
var _getSingleValueLegendColor = require("./getSingleValueLegendColor.js");
|
|
9
|
+
function getSingleValueBackgroundColor(legendOptions, legendSets, value) {
|
|
10
|
+
const legendColor = (0, _getSingleValueLegendColor.getSingleValueLegendColor)(legendOptions, legendSets, value);
|
|
11
|
+
return legendColor && legendOptions.style === _legends.LEGEND_DISPLAY_STYLE_FILL ? legendColor : 'transparent';
|
|
12
|
+
}
|
|
@@ -3,11 +3,13 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
7
|
-
|
|
8
|
-
var
|
|
9
|
-
var
|
|
10
|
-
|
|
6
|
+
exports.INDICATOR_FACTOR_100 = void 0;
|
|
7
|
+
exports.getSingleValueFormattedValue = getSingleValueFormattedValue;
|
|
8
|
+
var _renderValue = require("../../../../../../modules/renderValue.js");
|
|
9
|
+
var _valueTypes = require("../../../../../../modules/valueTypes.js");
|
|
10
|
+
const INDICATOR_FACTOR_100 = 100;
|
|
11
|
+
exports.INDICATOR_FACTOR_100 = INDICATOR_FACTOR_100;
|
|
12
|
+
function getSingleValueFormattedValue(value, layout, metaData) {
|
|
11
13
|
const valueType = metaData.items[metaData.dimensions.dx[0]].valueType;
|
|
12
14
|
const indicatorType = metaData.items[metaData.dimensions.dx[0]].indicatorType;
|
|
13
15
|
let formattedValue = (0, _renderValue.renderValue)(value, valueType || _valueTypes.VALUE_TYPE_TEXT, {
|
|
@@ -17,7 +19,7 @@ function _default(value, layout, metaData) {
|
|
|
17
19
|
|
|
18
20
|
// only show the percentage symbol for per cent
|
|
19
21
|
// for other factors, show the full text under the value
|
|
20
|
-
if ((indicatorType === null || indicatorType === void 0 ? void 0 : indicatorType.factor) ===
|
|
22
|
+
if ((indicatorType === null || indicatorType === void 0 ? void 0 : indicatorType.factor) === INDICATOR_FACTOR_100) {
|
|
21
23
|
formattedValue += '%';
|
|
22
24
|
}
|
|
23
25
|
return formattedValue;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getSingleValueLegendColor = getSingleValueLegendColor;
|
|
7
|
+
var _legends = require("../../../../../../modules/legends.js");
|
|
8
|
+
function getSingleValueLegendColor(legendOptions, legendSets, value) {
|
|
9
|
+
const legendSet = legendOptions && legendSets[0];
|
|
10
|
+
return legendSet ? (0, _legends.getColorByValueFromLegendSet)(legendSet, value) : undefined;
|
|
11
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getSingleValueSubtext = getSingleValueSubtext;
|
|
7
|
+
var _getSingleValueFormattedValue = require("./getSingleValueFormattedValue.js");
|
|
8
|
+
function getSingleValueSubtext(metaData) {
|
|
9
|
+
const indicatorType = metaData.items[metaData.dimensions.dx[0]].indicatorType;
|
|
10
|
+
return indicatorType !== null && indicatorType !== void 0 && indicatorType.displayName && (indicatorType === null || indicatorType === void 0 ? void 0 : indicatorType.factor) !== _getSingleValueFormattedValue.INDICATOR_FACTOR_100 ? indicatorType === null || indicatorType === void 0 ? void 0 : indicatorType.displayName : undefined;
|
|
11
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getSingleValueTextColor = getSingleValueTextColor;
|
|
7
|
+
var _ui = require("@dhis2/ui");
|
|
8
|
+
var _legends = require("../../../../../../modules/legends.js");
|
|
9
|
+
var _shouldUseContrastColor = require("../../../../../util/shouldUseContrastColor.js");
|
|
10
|
+
var _getSingleValueLegendColor = require("./getSingleValueLegendColor.js");
|
|
11
|
+
function getSingleValueTextColor(baseColor, value, legendOptions, legendSets) {
|
|
12
|
+
const legendColor = (0, _getSingleValueLegendColor.getSingleValueLegendColor)(legendOptions, legendSets, value);
|
|
13
|
+
if (!legendColor) {
|
|
14
|
+
return baseColor;
|
|
15
|
+
}
|
|
16
|
+
if (legendOptions.style === _legends.LEGEND_DISPLAY_STYLE_TEXT) {
|
|
17
|
+
return legendColor;
|
|
18
|
+
}
|
|
19
|
+
return (0, _shouldUseContrastColor.shouldUseContrastColor)(legendColor) ? _ui.colors.white : baseColor;
|
|
20
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getSingleValueTitleColor = getSingleValueTitleColor;
|
|
7
|
+
var _ui = require("@dhis2/ui");
|
|
8
|
+
var _legends = require("../../../../../../modules/legends.js");
|
|
9
|
+
var _shouldUseContrastColor = require("../../../../../util/shouldUseContrastColor.js");
|
|
10
|
+
var _getSingleValueLegendColor = require("./getSingleValueLegendColor.js");
|
|
11
|
+
function getSingleValueTitleColor(customColor, defaultColor, value, legendOptions, legendSets) {
|
|
12
|
+
// Never override custom color
|
|
13
|
+
if (customColor) {
|
|
14
|
+
return customColor;
|
|
15
|
+
}
|
|
16
|
+
const isUsingLegendBackground = (legendOptions === null || legendOptions === void 0 ? void 0 : legendOptions.style) === _legends.LEGEND_DISPLAY_STYLE_FILL;
|
|
17
|
+
|
|
18
|
+
// If not using legend background, always return default color
|
|
19
|
+
if (!isUsingLegendBackground) {
|
|
20
|
+
return defaultColor;
|
|
21
|
+
}
|
|
22
|
+
const legendColor = (0, _getSingleValueLegendColor.getSingleValueLegendColor)(legendOptions, legendSets, value);
|
|
23
|
+
|
|
24
|
+
// Return default color or contrasting color when using legend background and default color
|
|
25
|
+
return (0, _shouldUseContrastColor.shouldUseContrastColor)(legendColor) ? _ui.colors.white : defaultColor;
|
|
26
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = getSingleValueCustomSVGOptions;
|
|
7
|
+
var _ui = require("@dhis2/ui");
|
|
8
|
+
var _getSingleValueFormattedValue = require("./getSingleValueFormattedValue.js");
|
|
9
|
+
var _getSingleValueSubtext = require("./getSingleValueSubtext.js");
|
|
10
|
+
var _getSingleValueTextColor = require("./getSingleValueTextColor.js");
|
|
11
|
+
function getSingleValueCustomSVGOptions(_ref) {
|
|
12
|
+
let {
|
|
13
|
+
layout,
|
|
14
|
+
extraOptions,
|
|
15
|
+
metaData,
|
|
16
|
+
series
|
|
17
|
+
} = _ref;
|
|
18
|
+
const {
|
|
19
|
+
dashboard,
|
|
20
|
+
icon
|
|
21
|
+
} = extraOptions;
|
|
22
|
+
const value = series[0];
|
|
23
|
+
return {
|
|
24
|
+
value,
|
|
25
|
+
fontColor: (0, _getSingleValueTextColor.getSingleValueTextColor)(_ui.colors.grey900, value, layout.legend, extraOptions.legendSets),
|
|
26
|
+
formattedValue: (0, _getSingleValueFormattedValue.getSingleValueFormattedValue)(value, layout, metaData),
|
|
27
|
+
icon,
|
|
28
|
+
dashboard,
|
|
29
|
+
subText: (0, _getSingleValueSubtext.getSingleValueSubtext)(metaData)
|
|
30
|
+
};
|
|
31
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getEvents = void 0;
|
|
7
|
+
var _index = _interopRequireDefault(require("./loadCustomSVG/index.js"));
|
|
8
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
|
+
const getEvents = visType => ({
|
|
10
|
+
events: {
|
|
11
|
+
load: function () {
|
|
12
|
+
// Align legend icon with legend text
|
|
13
|
+
this.legend.allItems.forEach(item => {
|
|
14
|
+
if (item.legendSymbol) {
|
|
15
|
+
item.legendSymbol.attr({
|
|
16
|
+
translateY: -(item.legendItem.label.getBBox().height * 0.75 / 4) + item.legendSymbol.r / 2
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
_index.default.call(this, visType);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
exports.getEvents = getEvents;
|