@dhis2/analytics 26.8.7 → 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/locales/lo/translations.json +16 -12
- 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/locales/lo/translations.json +16 -12
- 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 -1
- 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
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.MIN_SIDE_WHITESPACE = exports.DynamicStyles = void 0;
|
|
7
|
+
const valueStyles = [{
|
|
8
|
+
'font-size': '164px',
|
|
9
|
+
'letter-spacing': '-5px'
|
|
10
|
+
}, {
|
|
11
|
+
'font-size': '128px',
|
|
12
|
+
'letter-spacing': '-4px'
|
|
13
|
+
}, {
|
|
14
|
+
'font-size': '96px',
|
|
15
|
+
'letter-spacing': '-3px'
|
|
16
|
+
}, {
|
|
17
|
+
'font-size': '64px',
|
|
18
|
+
'letter-spacing': '-2.5px'
|
|
19
|
+
}, {
|
|
20
|
+
'font-size': '40px',
|
|
21
|
+
'letter-spacing': '-1.5px'
|
|
22
|
+
}, {
|
|
23
|
+
'font-size': '20px',
|
|
24
|
+
'letter-spacing': '-1px'
|
|
25
|
+
}];
|
|
26
|
+
const subTextStyles = [{
|
|
27
|
+
'font-size': '36px',
|
|
28
|
+
'letter-spacing': '-1.4px'
|
|
29
|
+
}, {
|
|
30
|
+
'font-size': '32px',
|
|
31
|
+
'letter-spacing': '-1.2px'
|
|
32
|
+
}, {
|
|
33
|
+
'font-size': '26px',
|
|
34
|
+
'letter-spacing': '-0.8px'
|
|
35
|
+
}, {
|
|
36
|
+
'font-size': '20px',
|
|
37
|
+
'letter-spacing': '-0.6px'
|
|
38
|
+
}, {
|
|
39
|
+
'font-size': '14px',
|
|
40
|
+
'letter-spacing': '0.2px'
|
|
41
|
+
}, {
|
|
42
|
+
'font-size': '9px',
|
|
43
|
+
'letter-spacing': '0px'
|
|
44
|
+
}];
|
|
45
|
+
const spacings = [{
|
|
46
|
+
valueTop: 8,
|
|
47
|
+
subTextTop: 12,
|
|
48
|
+
iconGap: 8,
|
|
49
|
+
iconSize: 164
|
|
50
|
+
}, {
|
|
51
|
+
valueTop: 8,
|
|
52
|
+
subTextTop: 12,
|
|
53
|
+
iconGap: 6,
|
|
54
|
+
iconSize: 128
|
|
55
|
+
}, {
|
|
56
|
+
valueTop: 8,
|
|
57
|
+
subTextTop: 8,
|
|
58
|
+
iconGap: 4,
|
|
59
|
+
iconSize: 96
|
|
60
|
+
}, {
|
|
61
|
+
valueTop: 8,
|
|
62
|
+
subTextTop: 8,
|
|
63
|
+
iconGap: 4,
|
|
64
|
+
iconSize: 64
|
|
65
|
+
}, {
|
|
66
|
+
valueTop: 8,
|
|
67
|
+
subTextTop: 8,
|
|
68
|
+
iconGap: 4,
|
|
69
|
+
iconSize: 40
|
|
70
|
+
}, {
|
|
71
|
+
valueTop: 8,
|
|
72
|
+
subTextTop: 4,
|
|
73
|
+
iconGap: 2,
|
|
74
|
+
iconSize: 20
|
|
75
|
+
}];
|
|
76
|
+
const MIN_SIDE_WHITESPACE = 4;
|
|
77
|
+
exports.MIN_SIDE_WHITESPACE = MIN_SIDE_WHITESPACE;
|
|
78
|
+
class DynamicStyles {
|
|
79
|
+
constructor(isPdfExport) {
|
|
80
|
+
this.currentIndex = 0;
|
|
81
|
+
this.isPdfExport = isPdfExport;
|
|
82
|
+
}
|
|
83
|
+
getStyle() {
|
|
84
|
+
return {
|
|
85
|
+
value: {
|
|
86
|
+
...valueStyles[this.currentIndex],
|
|
87
|
+
'font-weight': this.isPdfExport ? 'normal' : '300'
|
|
88
|
+
},
|
|
89
|
+
subText: subTextStyles[this.currentIndex],
|
|
90
|
+
spacing: spacings[this.currentIndex]
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
next() {
|
|
94
|
+
if (this.currentIndex === valueStyles.length - 1) {
|
|
95
|
+
throw new Error('No next available, already on the smallest style');
|
|
96
|
+
} else {
|
|
97
|
+
++this.currentIndex;
|
|
98
|
+
}
|
|
99
|
+
return this.getStyle();
|
|
100
|
+
}
|
|
101
|
+
first() {
|
|
102
|
+
this.currentIndex = 0;
|
|
103
|
+
return this.getStyle();
|
|
104
|
+
}
|
|
105
|
+
hasNext() {
|
|
106
|
+
return this.currentIndex < valueStyles.length - 1;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
exports.DynamicStyles = DynamicStyles;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = getExporting;
|
|
7
|
+
var _visTypes = require("../../../../modules/visTypes.js");
|
|
8
|
+
var _index = _interopRequireDefault(require("./events/loadCustomSVG/singleValue/index.js"));
|
|
9
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
|
+
function getExporting(visType) {
|
|
11
|
+
const exporting = {
|
|
12
|
+
// disable exporting context menu
|
|
13
|
+
enabled: false
|
|
14
|
+
};
|
|
15
|
+
switch (visType) {
|
|
16
|
+
case _visTypes.VIS_TYPE_SINGLE_VALUE:
|
|
17
|
+
return {
|
|
18
|
+
...exporting,
|
|
19
|
+
chartOptions: {
|
|
20
|
+
chart: {
|
|
21
|
+
events: {
|
|
22
|
+
load: _index.default
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
default:
|
|
28
|
+
return exporting;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -11,20 +11,23 @@ var _index = require("../../../../modules/outliers/index.js");
|
|
|
11
11
|
var _visTypes = require("../../../../modules/visTypes.js");
|
|
12
12
|
var _themes = require("../../../util/colors/themes.js");
|
|
13
13
|
var _addTrendLines = _interopRequireWildcard(require("./addTrendLines.js"));
|
|
14
|
-
var
|
|
14
|
+
var _index2 = _interopRequireDefault(require("./chart/index.js"));
|
|
15
|
+
var _index3 = _interopRequireDefault(require("./customSVGOptions/index.js"));
|
|
16
|
+
var _exporting = _interopRequireDefault(require("./exporting.js"));
|
|
15
17
|
var _getScatterData = _interopRequireDefault(require("./getScatterData.js"));
|
|
16
18
|
var _getSortedConfig = _interopRequireDefault(require("./getSortedConfig.js"));
|
|
17
19
|
var _getTrimmedConfig = _interopRequireDefault(require("./getTrimmedConfig.js"));
|
|
20
|
+
var _lang = _interopRequireDefault(require("./lang.js"));
|
|
18
21
|
var _legend = _interopRequireDefault(require("./legend.js"));
|
|
19
22
|
var _legendSet = require("./legendSet.js");
|
|
20
23
|
var _noData = _interopRequireDefault(require("./noData.js"));
|
|
21
|
-
var
|
|
24
|
+
var _index4 = _interopRequireDefault(require("./pane/index.js"));
|
|
22
25
|
var _plotOptions = _interopRequireDefault(require("./plotOptions.js"));
|
|
23
|
-
var
|
|
24
|
-
var
|
|
25
|
-
var
|
|
26
|
-
var
|
|
27
|
-
var
|
|
26
|
+
var _index5 = _interopRequireDefault(require("./series/index.js"));
|
|
27
|
+
var _index6 = _interopRequireDefault(require("./subtitle/index.js"));
|
|
28
|
+
var _index7 = _interopRequireDefault(require("./title/index.js"));
|
|
29
|
+
var _index8 = _interopRequireDefault(require("./xAxis/index.js"));
|
|
30
|
+
var _index9 = _interopRequireDefault(require("./yAxis/index.js"));
|
|
28
31
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
29
32
|
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; }
|
|
30
33
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -67,17 +70,17 @@ function _default(_ref) {
|
|
|
67
70
|
}
|
|
68
71
|
let config = {
|
|
69
72
|
// type etc
|
|
70
|
-
chart: (0,
|
|
73
|
+
chart: (0, _index2.default)(_layout, el, _extraOptions, series),
|
|
71
74
|
// title
|
|
72
|
-
title: (0,
|
|
75
|
+
title: (0, _index7.default)(_layout, store.data[0].metaData, _extraOptions, series),
|
|
73
76
|
// subtitle
|
|
74
|
-
subtitle: (0,
|
|
77
|
+
subtitle: (0, _index6.default)(series, _layout, store.data[0].metaData, _extraOptions),
|
|
75
78
|
// x-axis
|
|
76
|
-
xAxis: (0,
|
|
79
|
+
xAxis: (0, _index8.default)(store, _layout, _extraOptions, series),
|
|
77
80
|
// y-axis
|
|
78
|
-
yAxis: (0,
|
|
81
|
+
yAxis: (0, _index9.default)(_layout, series, _extraOptions),
|
|
79
82
|
// series
|
|
80
|
-
series: (0,
|
|
83
|
+
series: (0, _index5.default)({
|
|
81
84
|
series: series.slice(),
|
|
82
85
|
metaData: store.data[0].metaData.items,
|
|
83
86
|
layout: _layout,
|
|
@@ -94,22 +97,28 @@ function _default(_ref) {
|
|
|
94
97
|
dashboard: _extraOptions.dashboard
|
|
95
98
|
}),
|
|
96
99
|
// pane
|
|
97
|
-
pane: (0,
|
|
100
|
+
pane: (0, _index4.default)(_layout.type),
|
|
98
101
|
// no data + zoom
|
|
99
|
-
lang:
|
|
100
|
-
|
|
101
|
-
resetZoom: _extraOptions.resetZoom.text
|
|
102
|
-
},
|
|
103
|
-
noData: (0, _noData.default)(),
|
|
102
|
+
lang: (0, _lang.default)(_layout.type, _extraOptions),
|
|
103
|
+
noData: (0, _noData.default)(_layout.type),
|
|
104
104
|
// credits
|
|
105
105
|
credits: {
|
|
106
106
|
enabled: false
|
|
107
107
|
},
|
|
108
108
|
// exporting
|
|
109
|
-
exporting:
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
109
|
+
exporting: (0, _exporting.default)(_layout.type),
|
|
110
|
+
/* The config object passed to the Highcharts Chart constructor
|
|
111
|
+
* can contain arbitrary properties, which are made accessible
|
|
112
|
+
* under the Chart instance's `userOptions` member. This means
|
|
113
|
+
* that in event callback functions the custom SVG options are
|
|
114
|
+
* accessible as `this.userOptions.customSVGOptions` */
|
|
115
|
+
customSVGOptions: (0, _index3.default)({
|
|
116
|
+
extraConfig,
|
|
117
|
+
layout: _layout,
|
|
118
|
+
extraOptions: _extraOptions,
|
|
119
|
+
metaData: store.data[0].metaData,
|
|
120
|
+
series
|
|
121
|
+
})
|
|
113
122
|
};
|
|
114
123
|
|
|
115
124
|
// get plot options for scatter
|
|
@@ -185,5 +194,6 @@ function _default(_ref) {
|
|
|
185
194
|
|
|
186
195
|
// force apply extra config
|
|
187
196
|
Object.assign(config, extraConfig);
|
|
197
|
+
console.log((0, _objectClean.default)(config));
|
|
188
198
|
return (0, _objectClean.default)(config);
|
|
189
199
|
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = getLang;
|
|
7
|
+
var _visTypes = require("../../../../modules/visTypes.js");
|
|
8
|
+
function getLang(visType, extraOptions) {
|
|
9
|
+
return {
|
|
10
|
+
/* The SingleValue visualization consists of some custom SVG elements
|
|
11
|
+
* rendered on an empty chart. Since the chart is empty, there is never
|
|
12
|
+
* any data and Highcharts will show the noData text. To avoid this we
|
|
13
|
+
* clear the text here. */
|
|
14
|
+
noData: visType === _visTypes.VIS_TYPE_SINGLE_VALUE ? undefined : extraOptions.noData.text,
|
|
15
|
+
resetZoom: extraOptions.resetZoom.text
|
|
16
|
+
};
|
|
17
|
+
}
|
|
@@ -160,6 +160,7 @@ function getDefault(_ref) {
|
|
|
160
160
|
return series;
|
|
161
161
|
}
|
|
162
162
|
function _default(_ref2) {
|
|
163
|
+
var _series;
|
|
163
164
|
let {
|
|
164
165
|
series,
|
|
165
166
|
metaData,
|
|
@@ -170,6 +171,9 @@ function _default(_ref2) {
|
|
|
170
171
|
displayStrategy
|
|
171
172
|
} = _ref2;
|
|
172
173
|
switch (layout.type) {
|
|
174
|
+
case _visTypes.VIS_TYPE_SINGLE_VALUE:
|
|
175
|
+
series = [];
|
|
176
|
+
break;
|
|
173
177
|
case _visTypes.VIS_TYPE_PIE:
|
|
174
178
|
series = (0, _pie.default)(series, Object.values(getIdColorMap(series, layout, extraOptions)));
|
|
175
179
|
break;
|
|
@@ -190,7 +194,7 @@ function _default(_ref2) {
|
|
|
190
194
|
displayStrategy
|
|
191
195
|
});
|
|
192
196
|
}
|
|
193
|
-
series.forEach(seriesObj => {
|
|
197
|
+
(_series = series) === null || _series === void 0 ? void 0 : _series.forEach(seriesObj => {
|
|
194
198
|
// animation
|
|
195
199
|
seriesObj.animation = {
|
|
196
200
|
duration: getAnimation(extraOptions.animation, DEFAULT_ANIMATION_DURATION)
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _singleValue = _interopRequireDefault(require("../singleValue.js"));
|
|
4
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
5
|
+
jest.mock('../../../../../util/getFilterText', () => () => 'The default filter text');
|
|
6
|
+
describe('getSingleValueSubtitle', () => {
|
|
7
|
+
it('returns empty subtitle when flag hideSubtitle exists', () => {
|
|
8
|
+
expect((0, _singleValue.default)({
|
|
9
|
+
hideSubtitle: true
|
|
10
|
+
})).toEqual('');
|
|
11
|
+
});
|
|
12
|
+
it('returns the subtitle provided in the layout', () => {
|
|
13
|
+
const subtitle = 'The subtitle was already set';
|
|
14
|
+
expect((0, _singleValue.default)({
|
|
15
|
+
subtitle
|
|
16
|
+
})).toEqual(subtitle);
|
|
17
|
+
});
|
|
18
|
+
it('returns an empty string when layout does not have filters', () => {
|
|
19
|
+
expect((0, _singleValue.default)({})).toEqual('');
|
|
20
|
+
});
|
|
21
|
+
it('returns the filter text', () => {
|
|
22
|
+
expect((0, _singleValue.default)({
|
|
23
|
+
filters: []
|
|
24
|
+
})).toEqual('The default filter text');
|
|
25
|
+
});
|
|
26
|
+
describe('not dashboard', () => {
|
|
27
|
+
describe('layout does not include title', () => {
|
|
28
|
+
it('returns empty subtitle', () => {
|
|
29
|
+
expect((0, _singleValue.default)({
|
|
30
|
+
filters: undefined
|
|
31
|
+
}, {}, false)).toEqual('');
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
/* All these tests have been moved and adjusted from here:
|
|
36
|
+
* src/visualizations/config/adapters/dhis_dhis/title/__tests__`
|
|
37
|
+
* The test below asserted the default subtitle behaviour, for
|
|
38
|
+
* visualization types other than SingleValue. It expected that
|
|
39
|
+
* the title was being used as subtitle. It fails now, and I
|
|
40
|
+
* believe that this behaviour does not make sense. So instead
|
|
41
|
+
* of fixing it, I disabled it. */
|
|
42
|
+
// describe('layout includes title', () => {
|
|
43
|
+
// it('returns filter title as subtitle', () => {
|
|
44
|
+
// expect(
|
|
45
|
+
// getSingleValueSubtitle(
|
|
46
|
+
// { filters: undefined, title: 'Chart title' },
|
|
47
|
+
// {},
|
|
48
|
+
// false
|
|
49
|
+
// )
|
|
50
|
+
// ).toEqual('The default filter text')
|
|
51
|
+
// })
|
|
52
|
+
// })
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
describe('dashboard', () => {
|
|
56
|
+
it('returns filter title as subtitle', () => {
|
|
57
|
+
expect((0, _singleValue.default)({
|
|
58
|
+
filters: {}
|
|
59
|
+
}, {}, true)).toEqual('The default filter text');
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
});
|
|
@@ -10,6 +10,9 @@ var _visTypes = require("../../../../../modules/visTypes.js");
|
|
|
10
10
|
var _getFilterText = _interopRequireDefault(require("../../../../util/getFilterText.js"));
|
|
11
11
|
var _getTextAlignOption = require("../getTextAlignOption.js");
|
|
12
12
|
var _yearOverYear = _interopRequireDefault(require("../title/yearOverYear.js"));
|
|
13
|
+
var _singleValue = _interopRequireWildcard(require("./singleValue.js"));
|
|
14
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
15
|
+
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; }
|
|
13
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
14
17
|
const DASHBOARD_SUBTITLE = {
|
|
15
18
|
style: {
|
|
@@ -23,18 +26,33 @@ const DASHBOARD_SUBTITLE = {
|
|
|
23
26
|
}
|
|
24
27
|
};
|
|
25
28
|
function getDefault(layout, dashboard, filterTitle) {
|
|
26
|
-
return
|
|
27
|
-
text: dashboard || (0, _isString.default)(layout.title) ? filterTitle : undefined
|
|
28
|
-
};
|
|
29
|
+
return dashboard || (0, _isString.default)(layout.title) ? filterTitle : undefined;
|
|
29
30
|
}
|
|
30
|
-
function _default(series, layout, metaData,
|
|
31
|
-
const fontStyle = (0, _fontStyle.mergeFontStyleWithDefault)(layout.fontStyle && layout.fontStyle[_fontStyle.FONT_STYLE_VISUALIZATION_SUBTITLE], _fontStyle.FONT_STYLE_VISUALIZATION_SUBTITLE);
|
|
32
|
-
let subtitle = {
|
|
33
|
-
text: undefined
|
|
34
|
-
};
|
|
31
|
+
function _default(series, layout, metaData, extraOptions) {
|
|
35
32
|
if (layout.hideSubtitle) {
|
|
36
33
|
return null;
|
|
37
34
|
}
|
|
35
|
+
const {
|
|
36
|
+
dashboard,
|
|
37
|
+
legendSets
|
|
38
|
+
} = extraOptions;
|
|
39
|
+
const legendOptions = layout.legend;
|
|
40
|
+
const fontStyle = (0, _fontStyle.mergeFontStyleWithDefault)(layout.fontStyle && layout.fontStyle[_fontStyle.FONT_STYLE_VISUALIZATION_SUBTITLE], _fontStyle.FONT_STYLE_VISUALIZATION_SUBTITLE);
|
|
41
|
+
const subtitle = Object.assign({
|
|
42
|
+
text: undefined
|
|
43
|
+
}, dashboard ? DASHBOARD_SUBTITLE : {
|
|
44
|
+
align: (0, _getTextAlignOption.getTextAlignOption)(fontStyle[_fontStyle.FONT_STYLE_OPTION_TEXT_ALIGN], _fontStyle.FONT_STYLE_VISUALIZATION_SUBTITLE, (0, _visTypes.isVerticalType)(layout.type)),
|
|
45
|
+
style: {
|
|
46
|
+
// DHIS2-578: dynamically truncate subtitle when it's taking more than 1 line
|
|
47
|
+
color: undefined,
|
|
48
|
+
fontSize: `${fontStyle[_fontStyle.FONT_STYLE_OPTION_FONT_SIZE]}px`,
|
|
49
|
+
fontWeight: fontStyle[_fontStyle.FONT_STYLE_OPTION_BOLD] ? _fontStyle.FONT_STYLE_OPTION_BOLD : 'normal',
|
|
50
|
+
fontStyle: fontStyle[_fontStyle.FONT_STYLE_OPTION_ITALIC] ? _fontStyle.FONT_STYLE_OPTION_ITALIC : 'normal',
|
|
51
|
+
whiteSpace: 'nowrap',
|
|
52
|
+
overflow: 'hidden',
|
|
53
|
+
textOverflow: 'ellipsis'
|
|
54
|
+
}
|
|
55
|
+
});
|
|
38
56
|
|
|
39
57
|
// DHIS2-578: allow for optional custom subtitle
|
|
40
58
|
const customSubtitle = layout.subtitle && layout.displaySubtitle || layout.subtitle;
|
|
@@ -43,6 +61,9 @@ function _default(series, layout, metaData, dashboard) {
|
|
|
43
61
|
} else {
|
|
44
62
|
const filterTitle = (0, _getFilterText.default)(layout.filters, metaData);
|
|
45
63
|
switch (layout.type) {
|
|
64
|
+
case _visTypes.VIS_TYPE_SINGLE_VALUE:
|
|
65
|
+
subtitle.text = (0, _singleValue.default)(layout, metaData);
|
|
66
|
+
break;
|
|
46
67
|
case _visTypes.VIS_TYPE_YEAR_OVER_YEAR_LINE:
|
|
47
68
|
case _visTypes.VIS_TYPE_YEAR_OVER_YEAR_COLUMN:
|
|
48
69
|
subtitle.text = (0, _yearOverYear.default)(layout, metaData, Boolean(!dashboard));
|
|
@@ -51,20 +72,33 @@ function _default(series, layout, metaData, dashboard) {
|
|
|
51
72
|
subtitle.text = filterTitle;
|
|
52
73
|
break;
|
|
53
74
|
default:
|
|
54
|
-
subtitle = getDefault(layout, dashboard, filterTitle);
|
|
75
|
+
subtitle.text = getDefault(layout, dashboard, filterTitle);
|
|
55
76
|
}
|
|
56
77
|
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
78
|
+
switch (layout.type) {
|
|
79
|
+
case _visTypes.VIS_TYPE_SINGLE_VALUE:
|
|
80
|
+
{
|
|
81
|
+
var _defaultFontStyle$FON, _layout$fontStyle, _layout$fontStyle$FON;
|
|
82
|
+
const defaultColor = _fontStyle.defaultFontStyle === null || _fontStyle.defaultFontStyle === void 0 ? void 0 : (_defaultFontStyle$FON = _fontStyle.defaultFontStyle[_fontStyle.FONT_STYLE_VISUALIZATION_SUBTITLE]) === null || _defaultFontStyle$FON === void 0 ? void 0 : _defaultFontStyle$FON[_fontStyle.FONT_STYLE_OPTION_TEXT_COLOR];
|
|
83
|
+
const customColor = layout === null || layout === void 0 ? void 0 : (_layout$fontStyle = layout.fontStyle) === null || _layout$fontStyle === void 0 ? void 0 : (_layout$fontStyle$FON = _layout$fontStyle[_fontStyle.FONT_STYLE_VISUALIZATION_SUBTITLE]) === null || _layout$fontStyle$FON === void 0 ? void 0 : _layout$fontStyle$FON[_fontStyle.FONT_STYLE_OPTION_TEXT_COLOR];
|
|
84
|
+
subtitle.style.color = (0, _singleValue.getSingleValueSubtitleColor)(customColor, defaultColor, series[0], legendOptions, legendSets);
|
|
85
|
+
if (dashboard) {
|
|
86
|
+
// Single value subtitle text should be multiline
|
|
87
|
+
/* TODO: The default color of the subtitle now is #4a5768 but the
|
|
88
|
+
* original implementation used #666, which is a lighter grey.
|
|
89
|
+
* If we want to keep this color, changes are needed here. */
|
|
90
|
+
Object.assign(subtitle.style, {
|
|
91
|
+
wordWrap: 'normal',
|
|
92
|
+
whiteSpace: 'normal',
|
|
93
|
+
overflow: 'visible',
|
|
94
|
+
textOverflow: 'initial'
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
break;
|
|
99
|
+
default:
|
|
100
|
+
subtitle.style.color = fontStyle[_fontStyle.FONT_STYLE_OPTION_TEXT_COLOR];
|
|
101
|
+
break;
|
|
102
|
+
}
|
|
103
|
+
return subtitle;
|
|
70
104
|
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = getSingleValueSubtitle;
|
|
7
|
+
Object.defineProperty(exports, "getSingleValueSubtitleColor", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function () {
|
|
10
|
+
return _getSingleValueTitleColor.getSingleValueTitleColor;
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
var _getFilterText = _interopRequireDefault(require("../../../../util/getFilterText.js"));
|
|
14
|
+
var _getSingleValueTitleColor = require("../customSVGOptions/singleValue/getSingleValueTitleColor.js");
|
|
15
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
16
|
+
function getSingleValueSubtitle(layout, metaData) {
|
|
17
|
+
if (layout.hideSubtitle || 1 === 0) {
|
|
18
|
+
return '';
|
|
19
|
+
}
|
|
20
|
+
if (typeof layout.subtitle === 'string' && layout.subtitle.length) {
|
|
21
|
+
return layout.subtitle;
|
|
22
|
+
}
|
|
23
|
+
if (layout.filters) {
|
|
24
|
+
return (0, _getFilterText.default)(layout.filters, metaData);
|
|
25
|
+
}
|
|
26
|
+
return '';
|
|
27
|
+
}
|
package/build/cjs/visualizations/config/adapters/dhis_highcharts/title/__tests__/singleValue.spec.js
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _singleValue = require("../singleValue.js");
|
|
4
|
+
jest.mock('../../../../../util/getFilterText', () => () => 'The filter text');
|
|
5
|
+
describe('getSingleValueTitle', () => {
|
|
6
|
+
it('returns empty title when flag hideTitle exists', () => {
|
|
7
|
+
expect((0, _singleValue.getSingleValueTitleText)({
|
|
8
|
+
hideTitle: true
|
|
9
|
+
})).toEqual('');
|
|
10
|
+
});
|
|
11
|
+
it('returns the title provided in the layout', () => {
|
|
12
|
+
const title = 'The title was already set';
|
|
13
|
+
expect((0, _singleValue.getSingleValueTitleText)({
|
|
14
|
+
title
|
|
15
|
+
})).toEqual(title);
|
|
16
|
+
});
|
|
17
|
+
it('returns null when layout does not have columns', () => {
|
|
18
|
+
expect((0, _singleValue.getSingleValueTitleText)({})).toEqual('');
|
|
19
|
+
});
|
|
20
|
+
it('returns the filter text based on column items', () => {
|
|
21
|
+
expect((0, _singleValue.getSingleValueTitleText)({
|
|
22
|
+
columns: [{
|
|
23
|
+
items: [{}]
|
|
24
|
+
}]
|
|
25
|
+
})).toEqual('The filter text');
|
|
26
|
+
});
|
|
27
|
+
describe('not dashboard', () => {
|
|
28
|
+
it('returns filter text as title', () => {
|
|
29
|
+
expect((0, _singleValue.getSingleValueTitleText)({
|
|
30
|
+
columns: [{
|
|
31
|
+
items: [{}]
|
|
32
|
+
}],
|
|
33
|
+
filters: []
|
|
34
|
+
}, {}, false)).toEqual('The filter text');
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
describe('dashboard', () => {
|
|
38
|
+
it('returns empty string', () => {
|
|
39
|
+
expect((0, _singleValue.getSingleValueTitleText)({
|
|
40
|
+
filters: {}
|
|
41
|
+
}, {}, true)).toEqual('');
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
});
|
|
@@ -10,6 +10,7 @@ var _visTypes = require("../../../../../modules/visTypes.js");
|
|
|
10
10
|
var _getFilterText = _interopRequireDefault(require("../../../../util/getFilterText.js"));
|
|
11
11
|
var _getTextAlignOption = require("../getTextAlignOption.js");
|
|
12
12
|
var _scatter = _interopRequireDefault(require("./scatter.js"));
|
|
13
|
+
var _singleValue = require("./singleValue.js");
|
|
13
14
|
var _yearOverYear = _interopRequireDefault(require("./yearOverYear.js"));
|
|
14
15
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
16
|
const DASHBOARD_TITLE_STYLE = {
|
|
@@ -30,19 +31,41 @@ function getDefault(layout, metaData, dashboard) {
|
|
|
30
31
|
}
|
|
31
32
|
return null;
|
|
32
33
|
}
|
|
33
|
-
function _default(layout, metaData,
|
|
34
|
-
const fontStyle = (0, _fontStyle.mergeFontStyleWithDefault)(layout.fontStyle && layout.fontStyle[_fontStyle.FONT_STYLE_VISUALIZATION_TITLE], _fontStyle.FONT_STYLE_VISUALIZATION_TITLE);
|
|
35
|
-
const title = {
|
|
36
|
-
text: undefined
|
|
37
|
-
};
|
|
34
|
+
function _default(layout, metaData, extraOptions, series) {
|
|
38
35
|
if (layout.hideTitle) {
|
|
39
|
-
return
|
|
36
|
+
return {
|
|
37
|
+
text: undefined
|
|
38
|
+
};
|
|
40
39
|
}
|
|
41
|
-
const
|
|
42
|
-
|
|
43
|
-
|
|
40
|
+
const {
|
|
41
|
+
dashboard,
|
|
42
|
+
legendSets
|
|
43
|
+
} = extraOptions;
|
|
44
|
+
const legendOptions = layout.legend;
|
|
45
|
+
const fontStyle = (0, _fontStyle.mergeFontStyleWithDefault)(layout.fontStyle && layout.fontStyle[_fontStyle.FONT_STYLE_VISUALIZATION_TITLE], _fontStyle.FONT_STYLE_VISUALIZATION_TITLE);
|
|
46
|
+
const title = Object.assign({
|
|
47
|
+
text: undefined
|
|
48
|
+
}, dashboard ? DASHBOARD_TITLE_STYLE : {
|
|
49
|
+
margin: 30,
|
|
50
|
+
align: (0, _getTextAlignOption.getTextAlignOption)(fontStyle[_fontStyle.FONT_STYLE_OPTION_TEXT_ALIGN], _fontStyle.FONT_STYLE_VISUALIZATION_TITLE, (0, _visTypes.isVerticalType)(layout.type)),
|
|
51
|
+
style: {
|
|
52
|
+
color: undefined,
|
|
53
|
+
fontSize: `${fontStyle[_fontStyle.FONT_STYLE_OPTION_FONT_SIZE]}px`,
|
|
54
|
+
fontWeight: fontStyle[_fontStyle.FONT_STYLE_OPTION_BOLD] ? _fontStyle.FONT_STYLE_OPTION_BOLD : 'normal',
|
|
55
|
+
fontStyle: fontStyle[_fontStyle.FONT_STYLE_OPTION_ITALIC] ? _fontStyle.FONT_STYLE_OPTION_ITALIC : 'normal',
|
|
56
|
+
whiteSpace: 'nowrap',
|
|
57
|
+
overflow: 'hidden',
|
|
58
|
+
textOverflow: 'ellipsis'
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
const customTitleText = layout.title && layout.displayTitle || layout.title;
|
|
62
|
+
if ((0, _isString.default)(customTitleText) && customTitleText.length) {
|
|
63
|
+
title.text = customTitleText;
|
|
44
64
|
} else {
|
|
45
65
|
switch (layout.type) {
|
|
66
|
+
case _visTypes.VIS_TYPE_SINGLE_VALUE:
|
|
67
|
+
title.text = (0, _singleValue.getSingleValueTitleText)(layout, metaData, dashboard);
|
|
68
|
+
break;
|
|
46
69
|
case _visTypes.VIS_TYPE_GAUGE:
|
|
47
70
|
case _visTypes.VIS_TYPE_YEAR_OVER_YEAR_LINE:
|
|
48
71
|
case _visTypes.VIS_TYPE_YEAR_OVER_YEAR_COLUMN:
|
|
@@ -56,17 +79,22 @@ function _default(layout, metaData, dashboard) {
|
|
|
56
79
|
break;
|
|
57
80
|
}
|
|
58
81
|
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
82
|
+
switch (layout.type) {
|
|
83
|
+
case _visTypes.VIS_TYPE_SINGLE_VALUE:
|
|
84
|
+
{
|
|
85
|
+
var _defaultFontStyle$FON, _layout$fontStyle, _layout$fontStyle$FON;
|
|
86
|
+
const defaultColor = _fontStyle.defaultFontStyle === null || _fontStyle.defaultFontStyle === void 0 ? void 0 : (_defaultFontStyle$FON = _fontStyle.defaultFontStyle[_fontStyle.FONT_STYLE_VISUALIZATION_TITLE]) === null || _defaultFontStyle$FON === void 0 ? void 0 : _defaultFontStyle$FON[_fontStyle.FONT_STYLE_OPTION_TEXT_COLOR];
|
|
87
|
+
const customColor = layout === null || layout === void 0 ? void 0 : (_layout$fontStyle = layout.fontStyle) === null || _layout$fontStyle === void 0 ? void 0 : (_layout$fontStyle$FON = _layout$fontStyle[_fontStyle.FONT_STYLE_VISUALIZATION_TITLE]) === null || _layout$fontStyle$FON === void 0 ? void 0 : _layout$fontStyle$FON[_fontStyle.FONT_STYLE_OPTION_TEXT_COLOR];
|
|
88
|
+
title.style.color = (0, _singleValue.getSingleValueTitleColor)(customColor, defaultColor, series[0], legendOptions, legendSets);
|
|
89
|
+
if (dashboard) {
|
|
90
|
+
// TODO: is this always what we want?
|
|
91
|
+
title.style.fontWeight = 'normal';
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
break;
|
|
95
|
+
default:
|
|
96
|
+
title.style.color = fontStyle[_fontStyle.FONT_STYLE_OPTION_TEXT_COLOR];
|
|
97
|
+
break;
|
|
98
|
+
}
|
|
99
|
+
return title;
|
|
72
100
|
}
|