evui 3.4.108 → 3.4.110
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/evui.common.js +279 -123
- package/dist/evui.common.js.map +1 -1
- package/dist/evui.umd.js +279 -123
- package/dist/evui.umd.js.map +1 -1
- package/dist/evui.umd.min.js +1 -1
- package/dist/evui.umd.min.js.map +1 -1
- package/package.json +1 -1
- package/src/components/chart/chart.core.js +9 -0
- package/src/components/chart/element/element.bar.js +109 -94
- package/src/components/chart/element/element.bar.time.js +2 -1
- package/src/components/chart/plugins/plugins.scrollbar.js +123 -13
- package/src/components/chart/plugins/plugins.tooltip.js +2 -1
package/dist/evui.common.js
CHANGED
|
@@ -11164,7 +11164,7 @@ module.exports = exports;
|
|
|
11164
11164
|
/***/ "9224":
|
|
11165
11165
|
/***/ (function(module) {
|
|
11166
11166
|
|
|
11167
|
-
module.exports = JSON.parse("{\"a\":\"3.4.
|
|
11167
|
+
module.exports = JSON.parse("{\"a\":\"3.4.110\"}");
|
|
11168
11168
|
|
|
11169
11169
|
/***/ }),
|
|
11170
11170
|
|
|
@@ -42592,8 +42592,6 @@ var element_bar_Bar = /*#__PURE__*/function () {
|
|
|
42592
42592
|
_createClass(Bar, [{
|
|
42593
42593
|
key: "draw",
|
|
42594
42594
|
value: function draw(param) {
|
|
42595
|
-
var _this2 = this;
|
|
42596
|
-
|
|
42597
42595
|
if (!this.show) {
|
|
42598
42596
|
return;
|
|
42599
42597
|
}
|
|
@@ -42623,7 +42621,8 @@ var element_bar_Bar = /*#__PURE__*/function () {
|
|
|
42623
42621
|
var _ref2 = [minmaxX.minIndex, minmaxX.maxIndex];
|
|
42624
42622
|
minIndex = _ref2[0];
|
|
42625
42623
|
maxIndex = _ref2[1];
|
|
42626
|
-
}
|
|
42624
|
+
} // minIndex, maxIndex가 유효하면 실제 그릴 데이터 개수로 보정
|
|
42625
|
+
|
|
42627
42626
|
|
|
42628
42627
|
if (truthyNumber(minIndex) && truthyNumber(maxIndex)) {
|
|
42629
42628
|
totalCount = maxIndex - minIndex + 1;
|
|
@@ -42678,131 +42677,142 @@ var element_bar_Bar = /*#__PURE__*/function () {
|
|
|
42678
42677
|
this.labelOffset = labelOffset;
|
|
42679
42678
|
this.borderRadius = param.borderRadius;
|
|
42680
42679
|
this.filteredCount = totalCount;
|
|
42681
|
-
var
|
|
42682
|
-
this.data.
|
|
42683
|
-
var _param$selectLabel, _param$selectItem, _param$selectLabel$se, _param$selectLabel2, _param$selectLabel2$s, _param$selectItem$sel, _param$selectItem2;
|
|
42680
|
+
var startIndex = truthyNumber(minIndex) ? minIndex : 0;
|
|
42681
|
+
var endIndex = truthyNumber(maxIndex) ? maxIndex : this.data.length - 1; // 스크롤 범위 내에서만 루프 돌림
|
|
42684
42682
|
|
|
42685
|
-
|
|
42686
|
-
var
|
|
42683
|
+
for (var i = startIndex; i <= endIndex; i++) {
|
|
42684
|
+
var screenIndex = i - startIndex; // 현재 화면상의 위치 인덱스
|
|
42687
42685
|
|
|
42688
|
-
|
|
42689
|
-
return;
|
|
42690
|
-
} else if (truthyNumber(minIndex) && index > maxIndex) {
|
|
42691
|
-
return;
|
|
42692
|
-
}
|
|
42686
|
+
var item = this.data[i]; // 실제 데이터 인덱스에 해당하는 항목
|
|
42693
42687
|
|
|
42694
|
-
if (
|
|
42695
|
-
|
|
42696
|
-
} else {
|
|
42697
|
-
categoryPoint = xsp + cArea * (index - (minIndex || 0)) + cPad;
|
|
42698
|
-
}
|
|
42688
|
+
if (item) {
|
|
42689
|
+
var _param$selectLabel, _param$selectItem, _param$selectLabel$se, _param$selectLabel2, _param$selectLabel2$s, _param$selectItem$sel, _param$selectItem2;
|
|
42699
42690
|
|
|
42700
|
-
|
|
42701
|
-
|
|
42702
|
-
y = Math.round(categoryPoint - (bArea * barSeriesX - (h + bPad)));
|
|
42703
|
-
} else {
|
|
42704
|
-
x = Math.round(categoryPoint + (bArea * barSeriesX - (w + bPad)));
|
|
42705
|
-
y = ysp;
|
|
42706
|
-
}
|
|
42691
|
+
// 스크롤 offset(minIndex)만큼 보정해서 그리기
|
|
42692
|
+
var categoryPoint = void 0;
|
|
42707
42693
|
|
|
42708
|
-
|
|
42709
|
-
|
|
42710
|
-
w = helpers_canvas.calculateX(item.x - item.b, minmaxX.graphMin, minmaxX.graphMax, xArea);
|
|
42711
|
-
x = helpers_canvas.calculateX(item.b, minmaxX.graphMin, minmaxX.graphMax, xArea, xsp);
|
|
42694
|
+
if (isHorizontal) {
|
|
42695
|
+
categoryPoint = ysp - cArea * screenIndex - cPad;
|
|
42712
42696
|
} else {
|
|
42713
|
-
|
|
42697
|
+
categoryPoint = xsp + cArea * screenIndex + cPad;
|
|
42714
42698
|
}
|
|
42715
|
-
} else if (item.b) {
|
|
42716
|
-
// vertical stack bar chart
|
|
42717
|
-
h = helpers_canvas.calculateY(item.y - item.b, minmaxY.graphMin, minmaxY.graphMax, yArea);
|
|
42718
|
-
y = helpers_canvas.calculateY(item.b, minmaxY.graphMin, minmaxY.graphMax, yArea, ysp);
|
|
42719
|
-
} else {
|
|
42720
|
-
// vertical bar chart
|
|
42721
|
-
h = helpers_canvas.calculateY(item.y, minmaxY.graphMin, minmaxY.graphMax, yArea);
|
|
42722
|
-
}
|
|
42723
42699
|
|
|
42724
|
-
|
|
42725
|
-
|
|
42726
|
-
|
|
42727
|
-
|
|
42728
|
-
|
|
42729
|
-
|
|
42730
|
-
|
|
42731
|
-
selectedItemDataIndex = _ref3.dataIndex,
|
|
42732
|
-
selectedItemSeriesId = _ref3.seriesID;
|
|
42733
|
-
|
|
42734
|
-
var isDownplay = false;
|
|
42700
|
+
if (isHorizontal) {
|
|
42701
|
+
x = xsp;
|
|
42702
|
+
y = Math.round(categoryPoint - (bArea * barSeriesX - (h + bPad)));
|
|
42703
|
+
} else {
|
|
42704
|
+
x = Math.round(categoryPoint + (bArea * barSeriesX - (w + bPad)));
|
|
42705
|
+
y = ysp;
|
|
42706
|
+
}
|
|
42735
42707
|
|
|
42736
|
-
|
|
42737
|
-
|
|
42738
|
-
|
|
42739
|
-
|
|
42740
|
-
|
|
42741
|
-
|
|
42742
|
-
|
|
42708
|
+
if (isHorizontal) {
|
|
42709
|
+
if (item.b) {
|
|
42710
|
+
w = helpers_canvas.calculateX(item.x - item.b, minmaxX.graphMin, minmaxX.graphMax, xArea);
|
|
42711
|
+
x = helpers_canvas.calculateX(item.b, minmaxX.graphMin, minmaxX.graphMax, xArea, xsp);
|
|
42712
|
+
} else {
|
|
42713
|
+
w = helpers_canvas.calculateX(item.x, minmaxX.graphMin, minmaxX.graphMax, xArea);
|
|
42714
|
+
}
|
|
42715
|
+
} else if (item.b) {
|
|
42716
|
+
// vertical stack bar chart
|
|
42717
|
+
h = helpers_canvas.calculateY(item.y - item.b, minmaxY.graphMin, minmaxY.graphMax, yArea);
|
|
42718
|
+
y = helpers_canvas.calculateY(item.b, minmaxY.graphMin, minmaxY.graphMax, yArea, ysp);
|
|
42743
42719
|
} else {
|
|
42744
|
-
|
|
42720
|
+
// vertical bar chart
|
|
42721
|
+
h = helpers_canvas.calculateY(item.y, minmaxY.graphMin, minmaxY.graphMax, yArea);
|
|
42745
42722
|
}
|
|
42746
|
-
}
|
|
42747
42723
|
|
|
42748
|
-
|
|
42749
|
-
|
|
42750
|
-
|
|
42751
|
-
|
|
42752
|
-
|
|
42753
|
-
|
|
42754
|
-
|
|
42755
|
-
|
|
42756
|
-
|
|
42757
|
-
|
|
42758
|
-
|
|
42759
|
-
|
|
42724
|
+
var barColor = item.dataColor || this.color;
|
|
42725
|
+
var legendHitInfo = param === null || param === void 0 ? void 0 : param.legendHitInfo;
|
|
42726
|
+
var selectLabelOption = param === null || param === void 0 ? void 0 : (_param$selectLabel = param.selectLabel) === null || _param$selectLabel === void 0 ? void 0 : _param$selectLabel.option;
|
|
42727
|
+
var selectItemOption = param === null || param === void 0 ? void 0 : (_param$selectItem = param.selectItem) === null || _param$selectItem === void 0 ? void 0 : _param$selectItem.option;
|
|
42728
|
+
var selectedLabelList = (_param$selectLabel$se = param === null || param === void 0 ? void 0 : (_param$selectLabel2 = param.selectLabel) === null || _param$selectLabel2 === void 0 ? void 0 : (_param$selectLabel2$s = _param$selectLabel2.selected) === null || _param$selectLabel2$s === void 0 ? void 0 : _param$selectLabel2$s.dataIndex) !== null && _param$selectLabel$se !== void 0 ? _param$selectLabel$se : [];
|
|
42729
|
+
|
|
42730
|
+
var _ref3 = (_param$selectItem$sel = param === null || param === void 0 ? void 0 : (_param$selectItem2 = param.selectItem) === null || _param$selectItem2 === void 0 ? void 0 : _param$selectItem2.selected) !== null && _param$selectItem$sel !== void 0 ? _param$selectItem$sel : {},
|
|
42731
|
+
selectedItemDataIndex = _ref3.dataIndex,
|
|
42732
|
+
selectedItemSeriesId = _ref3.seriesID;
|
|
42733
|
+
|
|
42734
|
+
var isDownplay = false;
|
|
42735
|
+
|
|
42736
|
+
if (legendHitInfo) {
|
|
42737
|
+
isDownplay = (legendHitInfo === null || legendHitInfo === void 0 ? void 0 : legendHitInfo.sId) !== this.sId;
|
|
42738
|
+
} else if (selectLabelOption !== null && selectLabelOption !== void 0 && selectLabelOption.use && selectLabelOption !== null && selectLabelOption !== void 0 && selectLabelOption.useSeriesOpacity) {
|
|
42739
|
+
isDownplay = selectedLabelList.length && !selectedLabelList.includes(i);
|
|
42740
|
+
} else if (truthy(selectedItemDataIndex) && selectItemOption !== null && selectItemOption !== void 0 && selectItemOption.useSeriesOpacity) {
|
|
42741
|
+
if (this.isExistGrp) {
|
|
42742
|
+
isDownplay = selectedItemDataIndex !== i;
|
|
42743
|
+
} else {
|
|
42744
|
+
isDownplay = selectedItemDataIndex !== i || selectedItemSeriesId !== this.sId;
|
|
42745
|
+
}
|
|
42746
|
+
}
|
|
42760
42747
|
|
|
42761
|
-
|
|
42762
|
-
|
|
42763
|
-
|
|
42764
|
-
|
|
42765
|
-
|
|
42766
|
-
|
|
42767
|
-
|
|
42748
|
+
if (typeof barColor !== 'string') {
|
|
42749
|
+
ctx.fillStyle = helpers_canvas.createGradient(ctx, isHorizontal, {
|
|
42750
|
+
x: x,
|
|
42751
|
+
y: y,
|
|
42752
|
+
w: w,
|
|
42753
|
+
h: h
|
|
42754
|
+
}, barColor, isDownplay);
|
|
42755
|
+
} else {
|
|
42756
|
+
var noneDownplayOpacity = barColor.includes('rgba') ? helpers_util.getOpacity(barColor) : 1;
|
|
42757
|
+
var opacity = isDownplay ? 0.1 : noneDownplayOpacity;
|
|
42758
|
+
ctx.fillStyle = helpers_util.colorStringToRgba(barColor, opacity);
|
|
42768
42759
|
}
|
|
42769
|
-
});
|
|
42770
42760
|
|
|
42771
|
-
|
|
42772
|
-
|
|
42773
|
-
context: ctx,
|
|
42774
|
-
data: item,
|
|
42761
|
+
this.drawBar({
|
|
42762
|
+
ctx: ctx,
|
|
42775
42763
|
positions: {
|
|
42776
42764
|
x: x,
|
|
42777
42765
|
y: y,
|
|
42778
|
-
|
|
42779
|
-
|
|
42780
|
-
}
|
|
42781
|
-
isHighlight: false,
|
|
42782
|
-
textColor: item.dataTextColor
|
|
42766
|
+
w: w,
|
|
42767
|
+
h: h
|
|
42768
|
+
}
|
|
42783
42769
|
});
|
|
42784
|
-
}
|
|
42785
42770
|
|
|
42786
|
-
|
|
42771
|
+
if (showValue.use) {
|
|
42772
|
+
this.drawValueLabels({
|
|
42773
|
+
context: ctx,
|
|
42774
|
+
data: item,
|
|
42775
|
+
positions: {
|
|
42776
|
+
x: x,
|
|
42777
|
+
y: y,
|
|
42778
|
+
h: h,
|
|
42779
|
+
w: w
|
|
42780
|
+
},
|
|
42781
|
+
isHighlight: false,
|
|
42782
|
+
textColor: item.dataTextColor,
|
|
42783
|
+
index: i
|
|
42784
|
+
});
|
|
42785
|
+
} // 좌표 및 인덱스 정보 세팅 (툴팁/hover용)
|
|
42787
42786
|
|
|
42788
|
-
item.yp = y; // eslint-disable-line
|
|
42789
42787
|
|
|
42790
|
-
|
|
42788
|
+
item.xp = x; // eslint-disable-line
|
|
42791
42789
|
|
|
42792
|
-
|
|
42793
|
-
|
|
42790
|
+
item.yp = y; // eslint-disable-line
|
|
42791
|
+
|
|
42792
|
+
item.w = w; // eslint-disable-line
|
|
42793
|
+
|
|
42794
|
+
item.h = isHorizontal ? -h : h; // eslint-disable-line
|
|
42795
|
+
|
|
42796
|
+
item.index = i; // 실제 데이터 인덱스 (스크롤 offset 포함)
|
|
42797
|
+
// 검색(hitInfo) 로직은 this.data[0..filteredCount-1] 범위만 검사하므로,
|
|
42798
|
+
// 현재 화면에 그린 항목을 배열 앞쪽으로 매핑해준다.
|
|
42799
|
+
|
|
42800
|
+
this.data[screenIndex] = item;
|
|
42801
|
+
}
|
|
42802
|
+
}
|
|
42794
42803
|
}
|
|
42795
42804
|
/**
|
|
42796
42805
|
* Draw item highlight
|
|
42797
42806
|
* @param {object} item object for drawing series data
|
|
42798
42807
|
* @param {CanvasRenderingContext2D} context canvas context
|
|
42808
|
+
* @param {number} index label index
|
|
42799
42809
|
*
|
|
42800
42810
|
* @returns {undefined}
|
|
42801
42811
|
*/
|
|
42802
42812
|
|
|
42803
42813
|
}, {
|
|
42804
42814
|
key: "itemHighlight",
|
|
42805
|
-
value: function itemHighlight(item, context) {
|
|
42815
|
+
value: function itemHighlight(item, context, index) {
|
|
42806
42816
|
var showValue = this.showValue;
|
|
42807
42817
|
var gdata = item.data;
|
|
42808
42818
|
var ctx = context;
|
|
@@ -42852,7 +42862,8 @@ var element_bar_Bar = /*#__PURE__*/function () {
|
|
|
42852
42862
|
w: w
|
|
42853
42863
|
},
|
|
42854
42864
|
isHighlight: true,
|
|
42855
|
-
textColor: item.data.dataTextColor || item.dataTextColor
|
|
42865
|
+
textColor: item.data.dataTextColor || item.dataTextColor,
|
|
42866
|
+
index: index
|
|
42856
42867
|
});
|
|
42857
42868
|
}
|
|
42858
42869
|
|
|
@@ -42977,6 +42988,7 @@ var element_bar_Bar = /*#__PURE__*/function () {
|
|
|
42977
42988
|
* @param positions series value positions
|
|
42978
42989
|
* @param isHighlight draw label with highlight effect
|
|
42979
42990
|
* @param textColor data text color
|
|
42991
|
+
* @param index label index
|
|
42980
42992
|
*/
|
|
42981
42993
|
|
|
42982
42994
|
}, {
|
|
@@ -42986,7 +42998,8 @@ var element_bar_Bar = /*#__PURE__*/function () {
|
|
|
42986
42998
|
data = _ref4.data,
|
|
42987
42999
|
positions = _ref4.positions,
|
|
42988
43000
|
isHighlight = _ref4.isHighlight,
|
|
42989
|
-
textColor = _ref4.textColor
|
|
43001
|
+
textColor = _ref4.textColor,
|
|
43002
|
+
index = _ref4.index;
|
|
42990
43003
|
var isHorizontal = this.isHorizontal;
|
|
42991
43004
|
var _this$showValue = this.showValue,
|
|
42992
43005
|
fontSize = _this$showValue.fontSize,
|
|
@@ -43021,7 +43034,8 @@ var element_bar_Bar = /*#__PURE__*/function () {
|
|
|
43021
43034
|
|
|
43022
43035
|
if (formatter) {
|
|
43023
43036
|
formattedTxt = formatter(value, {
|
|
43024
|
-
label: isHorizontal ? data.y : data.x
|
|
43037
|
+
label: isHorizontal ? data.y : data.x,
|
|
43038
|
+
index: index
|
|
43025
43039
|
});
|
|
43026
43040
|
}
|
|
43027
43041
|
|
|
@@ -43120,6 +43134,8 @@ var element_bar_Bar = /*#__PURE__*/function () {
|
|
|
43120
43134
|
return;
|
|
43121
43135
|
}
|
|
43122
43136
|
|
|
43137
|
+
ctx.save();
|
|
43138
|
+
|
|
43123
43139
|
if (isBorderRadius && !isStackBar) {
|
|
43124
43140
|
try {
|
|
43125
43141
|
this.drawRoundedRect(ctx, positions);
|
|
@@ -43129,6 +43145,8 @@ var element_bar_Bar = /*#__PURE__*/function () {
|
|
|
43129
43145
|
} else {
|
|
43130
43146
|
ctx.fillRect(x, y, w, h);
|
|
43131
43147
|
}
|
|
43148
|
+
|
|
43149
|
+
ctx.restore();
|
|
43132
43150
|
}
|
|
43133
43151
|
}, {
|
|
43134
43152
|
key: "drawRoundedRect",
|
|
@@ -43144,6 +43162,7 @@ var element_bar_Bar = /*#__PURE__*/function () {
|
|
|
43144
43162
|
var squarePath = new Path2D();
|
|
43145
43163
|
squarePath.rect(chartRect.x1 + labelOffset.left, chartRect.y1, chartRect.chartWidth - labelOffset.right, chartRect.chartHeight - labelOffset.bottom);
|
|
43146
43164
|
ctx.clip(squarePath);
|
|
43165
|
+
ctx.beginPath();
|
|
43147
43166
|
ctx.moveTo(x, y);
|
|
43148
43167
|
|
|
43149
43168
|
if (isHorizontal) {
|
|
@@ -43372,7 +43391,7 @@ var element_bar_time_TimeBar = /*#__PURE__*/function (_Bar) {
|
|
|
43372
43391
|
this.chartRect = chartRect;
|
|
43373
43392
|
this.labelOffset = labelOffset;
|
|
43374
43393
|
this.borderRadius = param.borderRadius;
|
|
43375
|
-
this.data.forEach(function (item) {
|
|
43394
|
+
this.data.forEach(function (item, index) {
|
|
43376
43395
|
ctx.beginPath();
|
|
43377
43396
|
|
|
43378
43397
|
if (isHorizontal) {
|
|
@@ -43452,7 +43471,8 @@ var element_bar_time_TimeBar = /*#__PURE__*/function (_Bar) {
|
|
|
43452
43471
|
h: h,
|
|
43453
43472
|
w: w
|
|
43454
43473
|
},
|
|
43455
|
-
isHighlight: false
|
|
43474
|
+
isHighlight: false,
|
|
43475
|
+
index: index
|
|
43456
43476
|
});
|
|
43457
43477
|
}
|
|
43458
43478
|
}
|
|
@@ -49034,8 +49054,24 @@ var plugins_scrollbar_module = {
|
|
|
49034
49054
|
limitMax = +minMax.max;
|
|
49035
49055
|
}
|
|
49036
49056
|
|
|
49037
|
-
|
|
49038
|
-
|
|
49057
|
+
var originalWidth = max - min;
|
|
49058
|
+
var availableWidth = limitMax - limitMin;
|
|
49059
|
+
|
|
49060
|
+
if (originalWidth >= availableWidth) {
|
|
49061
|
+
scrollbarOpt.range[0] = limitMin;
|
|
49062
|
+
scrollbarOpt.range[1] = limitMax;
|
|
49063
|
+
} else {
|
|
49064
|
+
scrollbarOpt.range[0] = +min < limitMin ? limitMin : +min;
|
|
49065
|
+
scrollbarOpt.range[1] = +max > limitMax ? limitMax : +max;
|
|
49066
|
+
|
|
49067
|
+
if (scrollbarOpt.range[1] - scrollbarOpt.range[0] < originalWidth) {
|
|
49068
|
+
scrollbarOpt.range[0] = scrollbarOpt.range[1] - originalWidth;
|
|
49069
|
+
|
|
49070
|
+
if (scrollbarOpt.range[0] < limitMin) {
|
|
49071
|
+
scrollbarOpt.range[0] = limitMin;
|
|
49072
|
+
}
|
|
49073
|
+
}
|
|
49074
|
+
}
|
|
49039
49075
|
}
|
|
49040
49076
|
}
|
|
49041
49077
|
},
|
|
@@ -49073,9 +49109,22 @@ var plugins_scrollbar_module = {
|
|
|
49073
49109
|
var isUpdateAxesRange = !lodash_es_isEqual(newOpt === null || newOpt === void 0 ? void 0 : (_newOpt$4 = newOpt[0]) === null || _newOpt$4 === void 0 ? void 0 : _newOpt$4.range, axisOpt === null || axisOpt === void 0 ? void 0 : (_axisOpt$5 = axisOpt[0]) === null || _axisOpt$5 === void 0 ? void 0 : _axisOpt$5.range);
|
|
49074
49110
|
|
|
49075
49111
|
if (isUpdateAxesRange || updateData) {
|
|
49076
|
-
var
|
|
49112
|
+
var _this$options$axesX2, _this$options$axesX2$, _this$options$axesX2$2, _this$options$axesY2, _this$options$axesY2$, _this$options$axesY2$2;
|
|
49113
|
+
|
|
49114
|
+
var isResetPosition = dir === 'x' ? (_this$options$axesX2 = this.options.axesX) === null || _this$options$axesX2 === void 0 ? void 0 : (_this$options$axesX2$ = _this$options$axesX2[0]) === null || _this$options$axesX2$ === void 0 ? void 0 : (_this$options$axesX2$2 = _this$options$axesX2$.scrollbar) === null || _this$options$axesX2$2 === void 0 ? void 0 : _this$options$axesX2$2.resetPosition : (_this$options$axesY2 = this.options.axesY) === null || _this$options$axesY2 === void 0 ? void 0 : (_this$options$axesY2$ = _this$options$axesY2[0]) === null || _this$options$axesY2$ === void 0 ? void 0 : (_this$options$axesY2$2 = _this$options$axesY2$.scrollbar) === null || _this$options$axesY2$2 === void 0 ? void 0 : _this$options$axesY2$2.resetPosition;
|
|
49115
|
+
|
|
49116
|
+
if (isUpdateAxesRange || isResetPosition) {
|
|
49117
|
+
var _newOpt$5, _newOpt$5$range, _newOpt$6;
|
|
49118
|
+
|
|
49119
|
+
this.scrollbar[dir].range = newOpt !== null && newOpt !== void 0 && (_newOpt$5 = newOpt[0]) !== null && _newOpt$5 !== void 0 && (_newOpt$5$range = _newOpt$5.range) !== null && _newOpt$5$range !== void 0 && _newOpt$5$range.length ? _toConsumableArray(newOpt === null || newOpt === void 0 ? void 0 : (_newOpt$6 = newOpt[0]) === null || _newOpt$6 === void 0 ? void 0 : _newOpt$6.range) : null; // range가 업데이트되면 저장된 스크롤 위치를 초기화
|
|
49120
|
+
|
|
49121
|
+
delete this.scrollbar[dir].savedPosition;
|
|
49122
|
+
} else if (updateData) {
|
|
49123
|
+
// 데이터가 업데이트되면 저장된 픽셀 위치는 더 이상 유효하지 않으므로 삭제하여
|
|
49124
|
+
// 논리적 범위에 따라 다시 계산하도록 합니다.
|
|
49125
|
+
delete this.scrollbar[dir].savedPosition;
|
|
49126
|
+
}
|
|
49077
49127
|
|
|
49078
|
-
this.scrollbar[dir].range = newOpt !== null && newOpt !== void 0 && (_newOpt$5 = newOpt[0]) !== null && _newOpt$5 !== void 0 && (_newOpt$5$range = _newOpt$5.range) !== null && _newOpt$5$range !== void 0 && _newOpt$5$range.length ? _toConsumableArray(newOpt === null || newOpt === void 0 ? void 0 : (_newOpt$6 = newOpt[0]) === null || _newOpt$6 === void 0 ? void 0 : _newOpt$6.range) : null;
|
|
49079
49128
|
this.initScrollbarRange(dir);
|
|
49080
49129
|
}
|
|
49081
49130
|
|
|
@@ -49089,11 +49138,20 @@ var plugins_scrollbar_module = {
|
|
|
49089
49138
|
var _this$scrollbar$x, _this$scrollbar$x2, _this$scrollbar$y, _this$scrollbar$y2;
|
|
49090
49139
|
|
|
49091
49140
|
if ((_this$scrollbar$x = this.scrollbar.x) !== null && _this$scrollbar$x !== void 0 && _this$scrollbar$x.use && (_this$scrollbar$x2 = this.scrollbar.x) !== null && _this$scrollbar$x2 !== void 0 && _this$scrollbar$x2.isInit) {
|
|
49092
|
-
|
|
49141
|
+
var _this$options$axesX3, _this$options$axesX3$, _this$options$axesX3$2;
|
|
49142
|
+
|
|
49143
|
+
// resetPosition 옵션에 따라 preservePosition 결정
|
|
49144
|
+
var preservePosition = !((_this$options$axesX3 = this.options.axesX) !== null && _this$options$axesX3 !== void 0 && (_this$options$axesX3$ = _this$options$axesX3[0]) !== null && _this$options$axesX3$ !== void 0 && (_this$options$axesX3$2 = _this$options$axesX3$.scrollbar) !== null && _this$options$axesX3$2 !== void 0 && _this$options$axesX3$2.resetPosition);
|
|
49145
|
+
this.setScrollbarPosition('x', preservePosition);
|
|
49093
49146
|
}
|
|
49094
49147
|
|
|
49095
49148
|
if ((_this$scrollbar$y = this.scrollbar.y) !== null && _this$scrollbar$y !== void 0 && _this$scrollbar$y.use && (_this$scrollbar$y2 = this.scrollbar.y) !== null && _this$scrollbar$y2 !== void 0 && _this$scrollbar$y2.isInit) {
|
|
49096
|
-
|
|
49149
|
+
var _this$options$axesY3, _this$options$axesY3$, _this$options$axesY3$2;
|
|
49150
|
+
|
|
49151
|
+
// resetPosition 옵션에 따라 preservePosition 결정
|
|
49152
|
+
var _preservePosition = !((_this$options$axesY3 = this.options.axesY) !== null && _this$options$axesY3 !== void 0 && (_this$options$axesY3$ = _this$options$axesY3[0]) !== null && _this$options$axesY3$ !== void 0 && (_this$options$axesY3$2 = _this$options$axesY3$.scrollbar) !== null && _this$options$axesY3$2 !== void 0 && _this$options$axesY3$2.resetPosition);
|
|
49153
|
+
|
|
49154
|
+
this.setScrollbarPosition('y', _preservePosition);
|
|
49097
49155
|
}
|
|
49098
49156
|
},
|
|
49099
49157
|
|
|
@@ -49176,10 +49234,12 @@ var plugins_scrollbar_module = {
|
|
|
49176
49234
|
/**
|
|
49177
49235
|
* set scrollbar position
|
|
49178
49236
|
* @param dir axis direction ('x' | 'y')
|
|
49237
|
+
* @param preservePosition 기존 위치를 유지할지 여부
|
|
49179
49238
|
*/
|
|
49180
49239
|
setScrollbarPosition: function setScrollbarPosition(dir) {
|
|
49181
49240
|
var _this$options$title, _this$options$title2;
|
|
49182
49241
|
|
|
49242
|
+
var preservePosition = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
49183
49243
|
var scrollbarOpt = this.scrollbar[dir];
|
|
49184
49244
|
|
|
49185
49245
|
if (!scrollbarOpt.use || !scrollbarOpt.range) {
|
|
@@ -49200,8 +49260,17 @@ var plugins_scrollbar_module = {
|
|
|
49200
49260
|
var scrollHeight = isXScroll ? scrollbarOpt.height : scrollbarOpt.width;
|
|
49201
49261
|
var fullSize = isXScroll ? aPos.x2 - aPos.x1 : aPos.y2 - aPos.y1;
|
|
49202
49262
|
var buttonSize = scrollbarOpt.showButton ? scrollHeight : 0;
|
|
49203
|
-
var trackSize = fullSize - buttonSize * 2;
|
|
49204
|
-
|
|
49263
|
+
var trackSize = fullSize - buttonSize * 2; // 현재 위치를 보존해야 하는 경우 기존 위치를 저장
|
|
49264
|
+
|
|
49265
|
+
var savedThumbPosition = null;
|
|
49266
|
+
|
|
49267
|
+
if (preservePosition && scrollbarOpt.savedPosition !== undefined) {
|
|
49268
|
+
savedThumbPosition = scrollbarOpt.savedPosition;
|
|
49269
|
+
}
|
|
49270
|
+
|
|
49271
|
+
var thumbSize = this.getScrollbarThumbSize(dir, trackSize, savedThumbPosition); // 새로 계산된 위치를 저장
|
|
49272
|
+
|
|
49273
|
+
scrollbarOpt.savedPosition = thumbSize.position;
|
|
49205
49274
|
var scrollbarStyle = 'display: block;';
|
|
49206
49275
|
var scrollbarTrackStyle;
|
|
49207
49276
|
var scrollbarThumbStyle;
|
|
@@ -49268,8 +49337,9 @@ var plugins_scrollbar_module = {
|
|
|
49268
49337
|
* get scrollbar thumb size
|
|
49269
49338
|
* @param dir axis direction ('x' | 'y')
|
|
49270
49339
|
* @param trackSize scrollbar track size
|
|
49340
|
+
* @param savedThumbPosition 기존 위치를 보존해야 하는 경우 저장된 위치
|
|
49271
49341
|
*/
|
|
49272
|
-
getScrollbarThumbSize: function getScrollbarThumbSize(dir, trackSize) {
|
|
49342
|
+
getScrollbarThumbSize: function getScrollbarThumbSize(dir, trackSize, savedThumbPosition) {
|
|
49273
49343
|
var scrollbarOpt = this.scrollbar[dir];
|
|
49274
49344
|
|
|
49275
49345
|
var _scrollbarOpt$range3 = _slicedToArray(scrollbarOpt.range, 2),
|
|
@@ -49322,7 +49392,12 @@ var plugins_scrollbar_module = {
|
|
|
49322
49392
|
|
|
49323
49393
|
scrollbarOpt.startValue = startValue;
|
|
49324
49394
|
scrollbarOpt.steps = steps;
|
|
49325
|
-
scrollbarOpt.interval = interval;
|
|
49395
|
+
scrollbarOpt.interval = interval; // 기존 위치를 보존해야 하는 경우 저장된 위치를 사용
|
|
49396
|
+
|
|
49397
|
+
if (savedThumbPosition !== null) {
|
|
49398
|
+
thumbPosition = savedThumbPosition;
|
|
49399
|
+
}
|
|
49400
|
+
|
|
49326
49401
|
return {
|
|
49327
49402
|
size: thumbSize,
|
|
49328
49403
|
position: thumbPosition
|
|
@@ -49387,7 +49462,9 @@ var plugins_scrollbar_module = {
|
|
|
49387
49462
|
}
|
|
49388
49463
|
|
|
49389
49464
|
if (!isOutOfRange) {
|
|
49390
|
-
scrollbarOpt.range = [minValue, maxValue];
|
|
49465
|
+
scrollbarOpt.range = [minValue, maxValue]; // 사용자가 스크롤할 때는 저장된 위치를 초기화
|
|
49466
|
+
|
|
49467
|
+
delete scrollbarOpt.savedPosition;
|
|
49391
49468
|
this.update({
|
|
49392
49469
|
updateSeries: false,
|
|
49393
49470
|
updateSelTip: {
|
|
@@ -49402,7 +49479,9 @@ var plugins_scrollbar_module = {
|
|
|
49402
49479
|
* create scroll event
|
|
49403
49480
|
*/
|
|
49404
49481
|
createScrollEvent: function createScrollEvent() {
|
|
49405
|
-
var _this = this
|
|
49482
|
+
var _this = this,
|
|
49483
|
+
_this$scrollbar$x6,
|
|
49484
|
+
_this$scrollbar$y5;
|
|
49406
49485
|
|
|
49407
49486
|
this.onScrollbarClick = function (e) {
|
|
49408
49487
|
e.preventDefault();
|
|
@@ -49494,9 +49573,65 @@ var plugins_scrollbar_module = {
|
|
|
49494
49573
|
};
|
|
49495
49574
|
|
|
49496
49575
|
this.onScrollbarWheel = function (e) {
|
|
49576
|
+
var _this$tooltipDOM, _this$tooltipDOM$styl, _this$tooltipDOM2, _this$scrollbar$x3, _this$scrollbar$x5, _this$scrollbar$y4;
|
|
49577
|
+
|
|
49578
|
+
var isTooltipVisible = ((_this$tooltipDOM = _this.tooltipDOM) === null || _this$tooltipDOM === void 0 ? void 0 : (_this$tooltipDOM$styl = _this$tooltipDOM.style) === null || _this$tooltipDOM$styl === void 0 ? void 0 : _this$tooltipDOM$styl.display) === 'block';
|
|
49579
|
+
var tooltipBodyDOM = _this.tooltipBodyDOM || ((_this$tooltipDOM2 = _this.tooltipDOM) === null || _this$tooltipDOM2 === void 0 ? void 0 : _this$tooltipDOM2.querySelector(_this.options.tooltip.htmlScrollTarget));
|
|
49580
|
+
|
|
49581
|
+
if (isTooltipVisible && tooltipBodyDOM) {
|
|
49582
|
+
var scrollTop = tooltipBodyDOM.scrollTop,
|
|
49583
|
+
scrollHeight = tooltipBodyDOM.scrollHeight,
|
|
49584
|
+
clientHeight = tooltipBodyDOM.clientHeight;
|
|
49585
|
+
var isAtTop = scrollTop <= 0;
|
|
49586
|
+
var isAtBottom = scrollTop + clientHeight >= scrollHeight;
|
|
49587
|
+
var isScrollingUp = e.deltaY < 0;
|
|
49588
|
+
var isScrollingDown = e.deltaY > 0;
|
|
49589
|
+
|
|
49590
|
+
if (isAtTop && isScrollingUp || isAtBottom && isScrollingDown) {// 툴팁의 스크롤이 맨 위나 맨 아래에 닿았는데 스크롤 하면 차트 스크롤 허용
|
|
49591
|
+
} else {
|
|
49592
|
+
// 툴팁 내부 스크롤만 수행
|
|
49593
|
+
return;
|
|
49594
|
+
}
|
|
49595
|
+
}
|
|
49596
|
+
|
|
49497
49597
|
e.preventDefault();
|
|
49598
|
+
var threshold = 1; // 최소 스크롤 임계값
|
|
49599
|
+
// Shift + 휠: 가로 스크롤 (일반 마우스 휠 지원)
|
|
49600
|
+
|
|
49601
|
+
if ((_this$scrollbar$x3 = _this.scrollbar.x) !== null && _this$scrollbar$x3 !== void 0 && _this$scrollbar$x3.use && e.shiftKey && Math.abs(e.deltaY) > threshold) {
|
|
49602
|
+
_this.updateScrollbarRange('x', e.deltaY > 0);
|
|
49603
|
+
|
|
49604
|
+
return;
|
|
49605
|
+
} // 대각선 스크롤 처리: 더 큰 방향을 우선으로 처리
|
|
49606
|
+
|
|
49607
|
+
|
|
49608
|
+
var absX = Math.abs(e.deltaX);
|
|
49609
|
+
var absY = Math.abs(e.deltaY);
|
|
49610
|
+
|
|
49611
|
+
if (absX > threshold && absY > threshold) {
|
|
49612
|
+
var _this$scrollbar$x4, _this$scrollbar$y3;
|
|
49613
|
+
|
|
49614
|
+
// 두 방향 모두 임계값 이상일 때: 더 큰 방향을 우선 처리
|
|
49615
|
+
if (absX > absY && (_this$scrollbar$x4 = _this.scrollbar.x) !== null && _this$scrollbar$x4 !== void 0 && _this$scrollbar$x4.use) {
|
|
49616
|
+
_this.updateScrollbarRange('x', e.deltaX > 0);
|
|
49617
|
+
} else if (absY > absX && (_this$scrollbar$y3 = _this.scrollbar.y) !== null && _this$scrollbar$y3 !== void 0 && _this$scrollbar$y3.use) {
|
|
49618
|
+
_this.updateScrollbarRange('y', e.deltaY < 0);
|
|
49619
|
+
}
|
|
49620
|
+
|
|
49621
|
+
return;
|
|
49622
|
+
} // 가로 스크롤 처리 (deltaX - 트랙패드 좌우 스크롤)
|
|
49623
|
+
|
|
49624
|
+
|
|
49625
|
+
if ((_this$scrollbar$x5 = _this.scrollbar.x) !== null && _this$scrollbar$x5 !== void 0 && _this$scrollbar$x5.use && absX > threshold) {
|
|
49626
|
+
_this.updateScrollbarRange('x', e.deltaX > 0);
|
|
49498
49627
|
|
|
49499
|
-
|
|
49628
|
+
return;
|
|
49629
|
+
} // 세로 스크롤 처리 (deltaY)
|
|
49630
|
+
|
|
49631
|
+
|
|
49632
|
+
if ((_this$scrollbar$y4 = _this.scrollbar.y) !== null && _this$scrollbar$y4 !== void 0 && _this$scrollbar$y4.use && absY > threshold) {
|
|
49633
|
+
_this.updateScrollbarRange('y', e.deltaY < 0);
|
|
49634
|
+
}
|
|
49500
49635
|
};
|
|
49501
49636
|
|
|
49502
49637
|
if (this.scrollbar.x.use && !this.scrollbar.x.isInit) {
|
|
@@ -49507,12 +49642,16 @@ var plugins_scrollbar_module = {
|
|
|
49507
49642
|
}
|
|
49508
49643
|
|
|
49509
49644
|
if (this.scrollbar.y.use && !this.scrollbar.y.isInit) {
|
|
49510
|
-
var _this$overlayCanvas;
|
|
49511
|
-
|
|
49512
49645
|
var scrollbarYDOM = this.scrollbar.y.dom;
|
|
49513
49646
|
scrollbarYDOM.addEventListener('click', this.onScrollbarClick);
|
|
49514
49647
|
scrollbarYDOM.addEventListener('mousedown', this.onScrollbarDown);
|
|
49515
49648
|
scrollbarYDOM.addEventListener('mouseleave', this.onScrollbarLeave);
|
|
49649
|
+
} // 가로 또는 세로 스크롤바가 있으면 휠 이벤트 등록
|
|
49650
|
+
|
|
49651
|
+
|
|
49652
|
+
if ((_this$scrollbar$x6 = this.scrollbar.x) !== null && _this$scrollbar$x6 !== void 0 && _this$scrollbar$x6.use || (_this$scrollbar$y5 = this.scrollbar.y) !== null && _this$scrollbar$y5 !== void 0 && _this$scrollbar$y5.use) {
|
|
49653
|
+
var _this$overlayCanvas;
|
|
49654
|
+
|
|
49516
49655
|
(_this$overlayCanvas = this.overlayCanvas) === null || _this$overlayCanvas === void 0 ? void 0 : _this$overlayCanvas.addEventListener('wheel', this.onScrollbarWheel, {
|
|
49517
49656
|
passive: false
|
|
49518
49657
|
});
|
|
@@ -49588,7 +49727,9 @@ var plugins_scrollbar_module = {
|
|
|
49588
49727
|
return;
|
|
49589
49728
|
}
|
|
49590
49729
|
|
|
49591
|
-
this.scrollbar[dir].range = [movedMin, movedMax];
|
|
49730
|
+
this.scrollbar[dir].range = [movedMin, movedMax]; // 사용자가 드래그로 스크롤할 때는 저장된 위치를 초기화
|
|
49731
|
+
|
|
49732
|
+
delete this.scrollbar[dir].savedPosition;
|
|
49592
49733
|
this.update({
|
|
49593
49734
|
updateSeries: false,
|
|
49594
49735
|
updateSelTip: {
|
|
@@ -49637,15 +49778,17 @@ var plugins_scrollbar_module = {
|
|
|
49637
49778
|
* @param dir axis direction ('x' | 'y')
|
|
49638
49779
|
*/
|
|
49639
49780
|
destroyScrollbar: function destroyScrollbar(dir) {
|
|
49640
|
-
var
|
|
49781
|
+
var scrollbarDOM = this.scrollbar[dir].dom;
|
|
49782
|
+
|
|
49783
|
+
if (scrollbarDOM) {
|
|
49784
|
+
var _this$scrollbar$x7, _this$scrollbar$y6;
|
|
49641
49785
|
|
|
49642
|
-
|
|
49643
|
-
scrollbarXDOM.remove();
|
|
49786
|
+
scrollbarDOM.remove();
|
|
49644
49787
|
this.scrollbar[dir] = {
|
|
49645
49788
|
isInit: false
|
|
49646
|
-
};
|
|
49789
|
+
}; // 가로, 세로 스크롤바 모두 없어지면 휠 이벤트 제거
|
|
49647
49790
|
|
|
49648
|
-
if (
|
|
49791
|
+
if (!((_this$scrollbar$x7 = this.scrollbar.x) !== null && _this$scrollbar$x7 !== void 0 && _this$scrollbar$x7.use) && !((_this$scrollbar$y6 = this.scrollbar.y) !== null && _this$scrollbar$y6 !== void 0 && _this$scrollbar$y6.use)) {
|
|
49649
49792
|
var _this$overlayCanvas2;
|
|
49650
49793
|
|
|
49651
49794
|
(_this$overlayCanvas2 = this.overlayCanvas) === null || _this$overlayCanvas2 === void 0 ? void 0 : _this$overlayCanvas2.removeEventListener('wheel', this.onScrollbarWheel, {
|
|
@@ -52413,7 +52556,8 @@ var plugins_tooltip_modules = {
|
|
|
52413
52556
|
data: hitInfoItems[sId].data,
|
|
52414
52557
|
color: hitInfoItems[sId].color,
|
|
52415
52558
|
name: hitInfoItems[sId].name,
|
|
52416
|
-
dataId: hitInfoItems[sId].id
|
|
52559
|
+
dataId: hitInfoItems[sId].id,
|
|
52560
|
+
index: hitInfoItems[sId].index
|
|
52417
52561
|
});
|
|
52418
52562
|
});
|
|
52419
52563
|
var userCustomTooltipBody = helpers_util.htmlToElement(opt === null || opt === void 0 ? void 0 : (_opt$formatter3 = opt.formatter) === null || _opt$formatter3 === void 0 ? void 0 : _opt$formatter3.html(seriesList));
|
|
@@ -52463,7 +52607,7 @@ var plugins_tooltip_modules = {
|
|
|
52463
52607
|
|
|
52464
52608
|
Object.keys(hitInfo.items).forEach(function (sId) {
|
|
52465
52609
|
var series = _this2.seriesList[sId];
|
|
52466
|
-
series.itemHighlight(hitInfo.items[sId], ctx);
|
|
52610
|
+
series.itemHighlight(hitInfo.items[sId], ctx, hitInfo.items[sId].index);
|
|
52467
52611
|
|
|
52468
52612
|
if (helpers_util.isDoughnutHole(series.type)) {
|
|
52469
52613
|
_this2.drawDoughnutHole(ctx);
|
|
@@ -54818,6 +54962,18 @@ var chart_core_EvChart = /*#__PURE__*/function () {
|
|
|
54818
54962
|
}, {
|
|
54819
54963
|
key: "resize",
|
|
54820
54964
|
value: function resize(promiseRes) {
|
|
54965
|
+
var _this$scrollbar3, _this$scrollbar4;
|
|
54966
|
+
|
|
54967
|
+
// 차트 크기가 변경될 때 저장된 스크롤 픽셀 위치를 초기화하여
|
|
54968
|
+
// 새로운 크기에 맞춰 스크롤바 크기/위치를 재계산하도록 함
|
|
54969
|
+
if ((_this$scrollbar3 = this.scrollbar) !== null && _this$scrollbar3 !== void 0 && _this$scrollbar3.x) {
|
|
54970
|
+
delete this.scrollbar.x.savedPosition;
|
|
54971
|
+
}
|
|
54972
|
+
|
|
54973
|
+
if ((_this$scrollbar4 = this.scrollbar) !== null && _this$scrollbar4 !== void 0 && _this$scrollbar4.y) {
|
|
54974
|
+
delete this.scrollbar.y.savedPosition;
|
|
54975
|
+
}
|
|
54976
|
+
|
|
54821
54977
|
this.clear();
|
|
54822
54978
|
this.bufferCtx.restore();
|
|
54823
54979
|
this.bufferCtx.save();
|