evui 3.4.150 → 3.4.151
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 +110 -84
- package/dist/evui.common.js.map +1 -1
- package/dist/evui.umd.js +110 -84
- 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/model/model.store.js +101 -97
package/dist/evui.common.js
CHANGED
|
@@ -11227,7 +11227,7 @@ var update = add("9519e5b6", content, true, {"sourceMap":false,"shadowMode":fals
|
|
|
11227
11227
|
/***/ "9224":
|
|
11228
11228
|
/***/ (function(module) {
|
|
11229
11229
|
|
|
11230
|
-
module.exports = JSON.parse("{\"a\":\"3.4.
|
|
11230
|
+
module.exports = JSON.parse("{\"a\":\"3.4.151\"}");
|
|
11231
11231
|
|
|
11232
11232
|
/***/ }),
|
|
11233
11233
|
|
|
@@ -39044,18 +39044,17 @@ var modules = {
|
|
|
39044
39044
|
};
|
|
39045
39045
|
|
|
39046
39046
|
for (var x = 0; x < keys.length; x++) {
|
|
39047
|
-
var
|
|
39047
|
+
var _dataGroup$at, _dataGroup$at$data, _dataGroup$at$data$at;
|
|
39048
39048
|
|
|
39049
39049
|
var key = keys[x];
|
|
39050
39050
|
var data = datas[key];
|
|
39051
|
-
var storeLength = data === null || data === void 0 ? void 0 : data.length;
|
|
39052
|
-
var lastTime = 0;
|
|
39051
|
+
var storeLength = data === null || data === void 0 ? void 0 : data.length; // 1) init / updateSeries 시 dataset shape 보장
|
|
39053
39052
|
|
|
39054
|
-
if (!this.isInit || this.updateSeries) {
|
|
39053
|
+
if (!this.isInit || this.updateSeries || !this.dataSet[key]) {
|
|
39055
39054
|
var defaultValues = {
|
|
39056
39055
|
dataGroup: [],
|
|
39057
39056
|
startIndex: 0,
|
|
39058
|
-
endIndex:
|
|
39057
|
+
endIndex: null,
|
|
39059
39058
|
length: 0,
|
|
39060
39059
|
fromTime: 0,
|
|
39061
39060
|
toTime: 0
|
|
@@ -39063,104 +39062,132 @@ var modules = {
|
|
|
39063
39062
|
this.dataSet[key] = _objectSpread2(_objectSpread2({}, defaultValues), this.dataSet[key]);
|
|
39064
39063
|
}
|
|
39065
39064
|
|
|
39066
|
-
this.dataSet[key]
|
|
39065
|
+
var dataset = this.dataSet[key];
|
|
39066
|
+
var dataGroup = dataset.dataGroup; // 2) range(length) 결정 + 변경 감지
|
|
39067
|
+
|
|
39068
|
+
var nextLength = this.options.realTimeScatter.range || 300;
|
|
39069
|
+
var lengthChanged = dataset.length !== nextLength;
|
|
39070
|
+
dataset.length = nextLength;
|
|
39071
|
+
var length = dataset.length; // 3) 이번 배치의 lastTime(초 단위) 계산
|
|
39072
|
+
|
|
39073
|
+
var lastTime = 0;
|
|
39067
39074
|
|
|
39068
39075
|
for (var i = 0; i < storeLength; i++) {
|
|
39069
39076
|
var item = data[i];
|
|
39070
39077
|
|
|
39071
|
-
if (lastTime < item.x) {
|
|
39078
|
+
if (item && lastTime < item.x) {
|
|
39072
39079
|
lastTime = item.x;
|
|
39073
39080
|
}
|
|
39074
39081
|
}
|
|
39075
39082
|
|
|
39076
|
-
lastTime = Math.floor(lastTime / 1000) * 1000;
|
|
39077
|
-
var dataGroupLastTime = ((
|
|
39078
|
-
|
|
39079
|
-
this.dataSet[key].fromTime = this.dataSet[key].toTime - this.dataSet[key].length * 1000;
|
|
39080
|
-
this.dataSet[key].endIndex = this.dataSet[key].length - 1;
|
|
39083
|
+
lastTime = lastTime ? Math.floor(lastTime / 1000) * 1000 : 0;
|
|
39084
|
+
var dataGroupLastTime = ((_dataGroup$at = dataGroup.at(-1)) === null || _dataGroup$at === void 0 ? void 0 : (_dataGroup$at$data = _dataGroup$at.data) === null || _dataGroup$at$data === void 0 ? void 0 : (_dataGroup$at$data$at = _dataGroup$at$data.at(-1)) === null || _dataGroup$at$data$at === void 0 ? void 0 : _dataGroup$at$data$at.x) || Date.now();
|
|
39085
|
+
var fallbackTime = Math.floor(dataGroupLastTime / 1000) * 1000; // 4) prevToTime은 덮기 전 값 (없으면 fallback)
|
|
39081
39086
|
|
|
39082
|
-
|
|
39083
|
-
return;
|
|
39084
|
-
}
|
|
39087
|
+
var prevToTime = dataset.toTime || fallbackTime; // 5) nextToTime 결정: 새 데이터가 있으면 lastTime, 없으면 이전 유지
|
|
39085
39088
|
|
|
39086
|
-
var
|
|
39089
|
+
var nextToTime = lastTime || prevToTime; // 6) endIndex/startIndex 초기화 (최초 1회) + length 변경 시 재구성
|
|
39087
39090
|
|
|
39088
|
-
if (
|
|
39089
|
-
|
|
39090
|
-
|
|
39091
|
-
}
|
|
39091
|
+
if (dataset.endIndex == null || lengthChanged) {
|
|
39092
|
+
dataset.startIndex = 0;
|
|
39093
|
+
dataset.endIndex = length - 1; // dataGroup 크기 맞추고 모두 reset
|
|
39092
39094
|
|
|
39093
|
-
|
|
39094
|
-
|
|
39095
|
-
|
|
39096
|
-
|
|
39097
|
-
|
|
39098
|
-
|
|
39099
|
-
|
|
39095
|
+
dataGroup.length = length;
|
|
39096
|
+
|
|
39097
|
+
for (var _i = 0; _i < length; _i++) {
|
|
39098
|
+
dataGroup[_i] = dataGroup[_i] || {
|
|
39099
|
+
data: [],
|
|
39100
|
+
max: 0,
|
|
39101
|
+
min: Infinity
|
|
39102
|
+
};
|
|
39103
|
+
dataGroup[_i].data.length = 0;
|
|
39104
|
+
dataGroup[_i].max = 0;
|
|
39105
|
+
dataGroup[_i].min = Infinity;
|
|
39106
|
+
} // toTime/fromTime도 새 기준으로 맞춤
|
|
39107
|
+
|
|
39108
|
+
|
|
39109
|
+
dataset.toTime = nextToTime;
|
|
39110
|
+
dataset.fromTime = dataset.toTime - length * 1000;
|
|
39111
|
+
} // 7) gapCount 계산 (반드시 정수) — prevToTime 기준
|
|
39112
|
+
|
|
39113
|
+
|
|
39114
|
+
var rawGap = (nextToTime - prevToTime) / 1000;
|
|
39115
|
+
var gapCount = Number.isFinite(rawGap) ? Math.max(0, Math.floor(rawGap)) : 0; // 8) to/from 갱신
|
|
39116
|
+
|
|
39117
|
+
dataset.toTime = nextToTime;
|
|
39118
|
+
dataset.fromTime = dataset.toTime - length * 1000; // (원래 코드에 있던 early return 유지)
|
|
39119
|
+
|
|
39120
|
+
if (lastTime && (dataset.toTime - lastTime) / 1000 > length && key === '') {
|
|
39121
|
+
return;
|
|
39100
39122
|
}
|
|
39101
39123
|
|
|
39102
|
-
|
|
39103
|
-
|
|
39104
|
-
|
|
39105
|
-
|
|
39106
|
-
|
|
39107
|
-
this.dataSet[key].dataGroup[_i2].min = Infinity;
|
|
39108
|
-
}
|
|
39124
|
+
var resetDataGroup = function resetDataGroup(group) {
|
|
39125
|
+
group.data.length = 0;
|
|
39126
|
+
group.max = 0;
|
|
39127
|
+
group.min = Infinity;
|
|
39128
|
+
}; // 9) dataGroup 슬롯 확보
|
|
39109
39129
|
|
|
39110
|
-
this.dataSet[key].startIndex = 0;
|
|
39111
|
-
this.dataSet[key].endIndex = this.dataSet[key].length - 1;
|
|
39112
|
-
} else {
|
|
39113
|
-
while (gapCount > 0) {
|
|
39114
|
-
if (this.dataSet[key].dataGroup[this.dataSet[key].startIndex] === null) {
|
|
39115
|
-
this.dataSet[key].dataGroup[this.dataSet[key].startIndex] = {
|
|
39116
|
-
data: [],
|
|
39117
|
-
max: 0,
|
|
39118
|
-
min: Infinity
|
|
39119
|
-
};
|
|
39120
|
-
} else {
|
|
39121
|
-
this.dataSet[key].dataGroup[this.dataSet[key].startIndex].data.length = 0;
|
|
39122
|
-
this.dataSet[key].dataGroup[this.dataSet[key].startIndex].max = 0;
|
|
39123
|
-
this.dataSet[key].dataGroup[this.dataSet[key].startIndex].min = Infinity;
|
|
39124
|
-
}
|
|
39125
39130
|
|
|
39126
|
-
|
|
39131
|
+
for (var _i2 = 0; _i2 < length; _i2++) {
|
|
39132
|
+
if (!dataGroup[_i2]) {
|
|
39133
|
+
dataGroup[_i2] = {
|
|
39134
|
+
data: [],
|
|
39135
|
+
max: 0,
|
|
39136
|
+
min: Infinity
|
|
39137
|
+
};
|
|
39138
|
+
} else if (!dataGroup[_i2].data) {
|
|
39139
|
+
dataGroup[_i2].data = [];
|
|
39140
|
+
dataGroup[_i2].max = 0;
|
|
39141
|
+
dataGroup[_i2].min = Infinity;
|
|
39142
|
+
}
|
|
39143
|
+
} // 10) gap만큼 링 전진 + 지나간 버킷 clear
|
|
39127
39144
|
|
|
39128
|
-
if (this.dataSet[key].startIndex >= this.dataSet[key].length) {
|
|
39129
|
-
this.dataSet[key].startIndex = 0;
|
|
39130
|
-
}
|
|
39131
39145
|
|
|
39132
|
-
|
|
39146
|
+
if (gapCount > 0) {
|
|
39147
|
+
if (gapCount >= length) {
|
|
39148
|
+
for (var _i3 = 0; _i3 < length; _i3++) {
|
|
39149
|
+
resetDataGroup(dataGroup[_i3]);
|
|
39150
|
+
}
|
|
39133
39151
|
|
|
39134
|
-
|
|
39135
|
-
|
|
39136
|
-
|
|
39152
|
+
dataset.startIndex = 0;
|
|
39153
|
+
dataset.endIndex = length - 1;
|
|
39154
|
+
} else {
|
|
39155
|
+
var currentStart = dataset.startIndex;
|
|
39156
|
+
var currentEnd = dataset.endIndex;
|
|
39137
39157
|
|
|
39138
|
-
|
|
39158
|
+
for (var _i4 = 0; _i4 < gapCount; _i4++) {
|
|
39159
|
+
resetDataGroup(dataGroup[currentStart]);
|
|
39160
|
+
currentStart = (currentStart + 1) % length;
|
|
39161
|
+
currentEnd = (currentEnd + 1) % length;
|
|
39139
39162
|
}
|
|
39163
|
+
|
|
39164
|
+
dataset.startIndex = currentStart;
|
|
39165
|
+
dataset.endIndex = currentEnd;
|
|
39140
39166
|
}
|
|
39141
|
-
}
|
|
39167
|
+
} // 11) 데이터 push (윈도우 안에 들어오는 것만)
|
|
39142
39168
|
|
|
39143
|
-
for (var _i3 = 0; _i3 < storeLength; _i3++) {
|
|
39144
|
-
var _item = data[_i3];
|
|
39145
|
-
var xAxisTime = Math.floor(_item.x / 1000) * 1000;
|
|
39146
39169
|
|
|
39147
|
-
|
|
39148
|
-
|
|
39170
|
+
for (var _i5 = 0; _i5 < storeLength; _i5++) {
|
|
39171
|
+
var _item = data[_i5];
|
|
39149
39172
|
|
|
39150
|
-
|
|
39173
|
+
if (_item) {
|
|
39174
|
+
var xAxisTime = Math.floor(_item.x / 1000) * 1000;
|
|
39151
39175
|
|
|
39152
|
-
if (
|
|
39153
|
-
|
|
39154
|
-
}
|
|
39176
|
+
if (dataset.fromTime <= xAxisTime) {
|
|
39177
|
+
var _item$value;
|
|
39155
39178
|
|
|
39156
|
-
|
|
39157
|
-
|
|
39158
|
-
|
|
39159
|
-
|
|
39160
|
-
|
|
39161
|
-
|
|
39162
|
-
|
|
39163
|
-
|
|
39179
|
+
var index = dataset.endIndex - (dataset.toTime - xAxisTime) / 1000;
|
|
39180
|
+
if (index < 0) index = length + index;
|
|
39181
|
+
var group = dataGroup[index];
|
|
39182
|
+
group.data.push({
|
|
39183
|
+
x: _item.x,
|
|
39184
|
+
y: _item.y,
|
|
39185
|
+
o: (_item$value = _item.value) !== null && _item$value !== void 0 ? _item$value : _item.y,
|
|
39186
|
+
color: _item.color
|
|
39187
|
+
});
|
|
39188
|
+
group.max = Math.max(group.max, _item.y);
|
|
39189
|
+
group.min = Math.min(group.min, _item.y);
|
|
39190
|
+
}
|
|
39164
39191
|
}
|
|
39165
39192
|
} // 실제 차트에 그려지는 데이터(fromTime ~ toTime 범위)에서만 min/max 계산
|
|
39166
39193
|
|
|
@@ -39169,12 +39196,11 @@ var modules = {
|
|
|
39169
39196
|
maxY: -Infinity,
|
|
39170
39197
|
minY: Infinity
|
|
39171
39198
|
};
|
|
39172
|
-
var
|
|
39173
|
-
|
|
39174
|
-
toTime = _this$dataSet$key.toTime;
|
|
39199
|
+
var fromTime = dataset.fromTime,
|
|
39200
|
+
toTime = dataset.toTime;
|
|
39175
39201
|
|
|
39176
|
-
for (var
|
|
39177
|
-
var groupData =
|
|
39202
|
+
for (var _i6 = 0; _i6 < length; _i6++) {
|
|
39203
|
+
var groupData = dataGroup[_i6].data;
|
|
39178
39204
|
|
|
39179
39205
|
for (var j = 0; j < groupData.length; j++) {
|
|
39180
39206
|
var _item2 = groupData[j]; // 현재 시간 범위 내의 데이터만 minMax 계산에 포함
|
|
@@ -39202,8 +39228,8 @@ var modules = {
|
|
|
39202
39228
|
|
|
39203
39229
|
minMaxValues.maxY = Math.max(minMaxValues.maxY, tempMinMax.maxY);
|
|
39204
39230
|
minMaxValues.minY = Math.min(minMaxValues.minY, tempMinMax.minY);
|
|
39205
|
-
minMaxValues.fromTime =
|
|
39206
|
-
minMaxValues.toTime =
|
|
39231
|
+
minMaxValues.fromTime = dataset.fromTime;
|
|
39232
|
+
minMaxValues.toTime = dataset.toTime;
|
|
39207
39233
|
}
|
|
39208
39234
|
|
|
39209
39235
|
this.seriesInfo.charts.scatter.forEach(function (seriesID) {
|