@eclipse-scout/chart 22.0.39 → 22.0.41
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/dist/eclipse-scout-chart-8eb9461c14872058f638.min.js +3 -0
- package/dist/{eclipse-scout-chart-bc08151d11e1909eff6c.min.js.LICENSE.txt → eclipse-scout-chart-8eb9461c14872058f638.min.js.LICENSE.txt} +0 -0
- package/dist/eclipse-scout-chart-8eb9461c14872058f638.min.js.map +1 -0
- package/dist/eclipse-scout-chart-theme-dark.css.map +1 -1
- package/dist/eclipse-scout-chart-theme.css.map +1 -1
- package/dist/eclipse-scout-chart.js +43 -14
- package/dist/eclipse-scout-chart.js.map +1 -1
- package/dist/file-list +3 -3
- package/package.json +3 -3
- package/src/chart/Chart.js +2 -1
- package/src/chart/ChartJsRenderer.js +12 -2
- package/src/chart/SpeedoChartRenderer.js +13 -5
- package/dist/eclipse-scout-chart-bc08151d11e1909eff6c.min.js +0 -3
- package/dist/eclipse-scout-chart-bc08151d11e1909eff6c.min.js.map +0 -1
package/dist/file-list
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
eclipse-scout-chart-
|
|
2
|
-
eclipse-scout-chart-
|
|
3
|
-
eclipse-scout-chart-
|
|
1
|
+
eclipse-scout-chart-8eb9461c14872058f638.min.js
|
|
2
|
+
eclipse-scout-chart-8eb9461c14872058f638.min.js.LICENSE.txt
|
|
3
|
+
eclipse-scout-chart-8eb9461c14872058f638.min.js.map
|
|
4
4
|
eclipse-scout-chart-theme-79622289bda68b525e3e.min.css
|
|
5
5
|
eclipse-scout-chart-theme-dark-1de09c03e3dc40a9529a.min.css
|
|
6
6
|
eclipse-scout-chart-theme-dark.css
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eclipse-scout/chart",
|
|
3
|
-
"version": "22.0.
|
|
3
|
+
"version": "22.0.41",
|
|
4
4
|
"description": "Eclipse Scout chart",
|
|
5
5
|
"author": "BSI Business Systems Integration AG",
|
|
6
6
|
"homepage": "https://www.eclipse.org/scout",
|
|
@@ -25,13 +25,13 @@
|
|
|
25
25
|
"src"
|
|
26
26
|
],
|
|
27
27
|
"devDependencies": {
|
|
28
|
-
"@eclipse-scout/cli": "22.0.
|
|
28
|
+
"@eclipse-scout/cli": "22.0.41",
|
|
29
29
|
"@eclipse-scout/releng": "^22.0.0",
|
|
30
30
|
"jasmine-core": "3.10.1",
|
|
31
31
|
"karma": "6.3.20"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@eclipse-scout/core": "22.0.
|
|
34
|
+
"@eclipse-scout/core": "22.0.41",
|
|
35
35
|
"jquery": "3.6.0",
|
|
36
36
|
"chart.js": "3.7.0",
|
|
37
37
|
"chartjs-plugin-datalabels": "2.0.0"
|
package/src/chart/Chart.js
CHANGED
|
@@ -285,6 +285,7 @@ export default class Chart extends Widget {
|
|
|
285
285
|
*/
|
|
286
286
|
updateChart(opts) {
|
|
287
287
|
opts = opts || {};
|
|
288
|
+
opts.onlyUpdateData = opts.onlyUpdateData && this.chartRenderer && this.chartRenderer.isDataUpdatable();
|
|
288
289
|
opts.enforceRerender = !opts.onlyUpdateData && !opts.onlyRefresh;
|
|
289
290
|
|
|
290
291
|
// Cancel previously scheduled update and merge opts
|
|
@@ -338,7 +339,7 @@ export default class Chart extends Widget {
|
|
|
338
339
|
this.chartRenderer.render(opts.requestAnimation);
|
|
339
340
|
this.trigger('chartRender');
|
|
340
341
|
});
|
|
341
|
-
} else if (opts.onlyUpdateData
|
|
342
|
+
} else if (opts.onlyUpdateData) {
|
|
342
343
|
this.chartRenderer.updateData(opts.requestAnimation);
|
|
343
344
|
} else if (opts.onlyRefresh) {
|
|
344
345
|
this.chartRenderer.refresh();
|
|
@@ -1021,6 +1021,11 @@ export default class ChartJsRenderer extends AbstractChartRenderer {
|
|
|
1021
1021
|
if (dataPoints.length < 1) {
|
|
1022
1022
|
return;
|
|
1023
1023
|
}
|
|
1024
|
+
let firstDataPoint = dataPoints[0],
|
|
1025
|
+
chart = firstDataPoint.chart;
|
|
1026
|
+
if (!chart.getDatasetMeta(firstDataPoint.datasetIndex).data[firstDataPoint.dataIndex]) {
|
|
1027
|
+
return;
|
|
1028
|
+
}
|
|
1024
1029
|
if (this._tooltip) {
|
|
1025
1030
|
this._tooltip.destroy();
|
|
1026
1031
|
this._tooltip = null;
|
|
@@ -1042,7 +1047,7 @@ export default class ChartJsRenderer extends AbstractChartRenderer {
|
|
|
1042
1047
|
tooltipText += arrays.ensure(tooltipItems(dataPoints, tooltipLabel, tooltipLabelValue, tooltipColor)).join('');
|
|
1043
1048
|
}
|
|
1044
1049
|
|
|
1045
|
-
let positionAndOffset = this._computeTooltipPositionAndOffset(
|
|
1050
|
+
let positionAndOffset = this._computeTooltipPositionAndOffset(firstDataPoint),
|
|
1046
1051
|
origin = graphics.offsetBounds(this.$canvas);
|
|
1047
1052
|
origin.x += tooltip.caretX + positionAndOffset.offsetX;
|
|
1048
1053
|
origin.y += tooltip.caretY + positionAndOffset.offsetY;
|
|
@@ -1101,7 +1106,12 @@ export default class ChartJsRenderer extends AbstractChartRenderer {
|
|
|
1101
1106
|
value = dataset.data[dataIndex];
|
|
1102
1107
|
|
|
1103
1108
|
if (this._isHorizontalBar(config)) {
|
|
1104
|
-
|
|
1109
|
+
if (value && objects.isArray(value.x) && value.x.length === 2) {
|
|
1110
|
+
let avg = (value.x[0] + value.x[1]) / 2;
|
|
1111
|
+
tooltipDirection = avg < 0 ? 'left' : 'right';
|
|
1112
|
+
} else {
|
|
1113
|
+
tooltipDirection = value < 0 ? 'left' : 'right';
|
|
1114
|
+
}
|
|
1105
1115
|
} else if ((dataset.type || config.type) === Chart.Type.BAR) {
|
|
1106
1116
|
tooltipPosition = value < 0 ? 'bottom' : 'top';
|
|
1107
1117
|
} else if (scout.isOneOf(config.type, Chart.Type.PIE, Chart.Type.DOUGHNUT, Chart.Type.POLAR_AREA)) {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Copyright (c) 2010-
|
|
2
|
+
* Copyright (c) 2010-2022 BSI Business Systems Integration AG.
|
|
3
3
|
* All rights reserved. This program and the accompanying materials
|
|
4
4
|
* are made available under the terms of the Eclipse Public License v1.0
|
|
5
5
|
* which accompanies this distribution, and is available at
|
|
6
|
-
*
|
|
6
|
+
* https://www.eclipse.org/legal/epl-v10.html
|
|
7
7
|
*
|
|
8
8
|
* Contributors:
|
|
9
9
|
* BSI Business Systems Integration AG - initial API and implementation
|
|
@@ -95,10 +95,10 @@ export default class SpeedoChartRenderer extends AbstractSvgChartRenderer {
|
|
|
95
95
|
this.widthOfSegmentWithGap = this.segmentWidth + SpeedoChartRenderer.SEGMENT_GAP;
|
|
96
96
|
|
|
97
97
|
// pointer value in range [0,1]
|
|
98
|
-
let valuePercentage = this.
|
|
98
|
+
let valuePercentage = this._getValuePercentage(value, minValue, maxValue);
|
|
99
99
|
|
|
100
|
-
// value in the range [0,1] rounded to one segment
|
|
101
|
-
let segmentToPointAt =
|
|
100
|
+
// value in the range [0,numTotalSegments - 1] rounded to one segment
|
|
101
|
+
let segmentToPointAt = this._getSegmentToPointAt(valuePercentage, numTotalSegments);
|
|
102
102
|
|
|
103
103
|
// value rounded to the closest segment so that the pointer never stays "in between" two segments but always on a segment
|
|
104
104
|
let valuePercentageRounded = this._getPercentageValueOfSegment(segmentToPointAt % this.numSegmentsPerPart,
|
|
@@ -117,6 +117,14 @@ export default class SpeedoChartRenderer extends AbstractSvgChartRenderer {
|
|
|
117
117
|
}
|
|
118
118
|
}
|
|
119
119
|
|
|
120
|
+
_getValuePercentage(value, minValue, maxValue) {
|
|
121
|
+
return this._limitValue((value - minValue) / (maxValue - minValue), 1);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
_getSegmentToPointAt(valuePercentage, numTotalSegments) {
|
|
125
|
+
return this._limitValue(Math.floor(valuePercentage * numTotalSegments), numTotalSegments - 1);
|
|
126
|
+
}
|
|
127
|
+
|
|
120
128
|
_limitValue(value, maxValue) {
|
|
121
129
|
value = Math.max(value, 0); // cannot be < 0
|
|
122
130
|
value = Math.min(value, maxValue); // cannot be > maxValue
|