waveform-analysis 0.1.65 → 0.1.67
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/README.md +146 -5
- package/dist/index.cjs +1 -1
- package/dist/index.js +1326 -1118
- package/dist/style.css +1 -1
- package/dist/types/components/WaveformChart.vue.d.ts +7 -2
- package/dist/types/components/core/constants.d.ts +2 -0
- package/dist/types/components/core/grid.d.ts +1 -1
- package/dist/types/components/core/layout.d.ts +2 -2
- package/dist/types/components/core/pagination.d.ts +2 -0
- package/dist/types/components/core/title.d.ts +2 -1
- package/dist/types/components/core/trackLayoutBuilder.d.ts +5 -0
- package/dist/types/components/core/types.d.ts +2 -1
- package/dist/types/components/core/useWaveformChartController.d.ts +9 -0
- package/dist/types/components/core/useWaveformLayout.d.ts +1 -0
- package/dist/types/components/core/useWaveformPresentation.d.ts +3 -0
- package/dist/types/components/core/useWaveformYAxisLayout.d.ts +31 -0
- package/dist/types/components/core/waveformChartTypes.d.ts +11 -2
- package/dist/types/components/core/yAxisLayoutMetrics.d.ts +1 -1
- package/dist/types/components/core/yAxisTitleLayout.d.ts +4 -0
- package/dist/types/components/data/types.d.ts +1 -1
- package/dist/types/components/interaction/integerZoom.d.ts +12 -0
- package/dist/types/components/interaction/interactionTarget.d.ts +1 -0
- package/dist/types/components/interaction/remoteViewport.d.ts +8 -0
- package/dist/types/components/interaction/useWaveformViewport.d.ts +1 -2
- package/dist/types/components/interaction/viewportDomain.d.ts +1 -1
- package/dist/types/components/interaction/viewportPan.d.ts +4 -0
- package/dist/types/components/interaction/zoomConstraints.d.ts +2 -1
- package/dist/types/components/rendering/WaveformLegend.vue.d.ts +2 -0
- package/dist/types/components/rendering/WaveformTrack.vue.d.ts +6 -6
- package/dist/types/components/rendering/WaveformTrackAxes.vue.d.ts +5 -1
- package/dist/types/components/rendering/WaveformTrackBackdrop.vue.d.ts +0 -4
- package/dist/types/components/rendering/WaveformZeroLines.vue.d.ts +12 -0
- package/dist/types/data/recordedDampedWaveform.d.ts +1 -0
- package/dist/types/demo/types.d.ts +3 -0
- package/dist/types/index.d.ts +2 -1
- package/dist/types/types/chart.d.ts +17 -0
- package/dist/types/types/index.d.ts +1 -1
- package/package.json +1 -1
- package/src/App.vue +6 -0
- package/src/components/WaveformChart.css +5 -0
- package/src/components/WaveformChart.vue +3 -0
- package/src/components/WaveformChartView.vue +14 -3
- package/src/components/core/constants.ts +2 -0
- package/src/components/core/grid.ts +4 -1
- package/src/components/core/layout.ts +16 -2
- package/src/components/core/pagination.ts +17 -0
- package/src/components/core/title.ts +7 -3
- package/src/components/core/trackLayoutBuilder.ts +39 -59
- package/src/components/core/types.ts +2 -0
- package/src/components/core/useWaveformChartController.ts +17 -1
- package/src/components/core/useWaveformChartLifecycle.ts +11 -17
- package/src/components/core/useWaveformLayout.ts +67 -107
- package/src/components/core/useWaveformPresentation.ts +27 -3
- package/src/components/core/useWaveformYAxisLayout.ts +140 -0
- package/src/components/core/waveformChartTypes.ts +15 -0
- package/src/components/core/yAxisLayoutMetrics.ts +11 -2
- package/src/components/core/yAxisTitleLayout.ts +78 -0
- package/src/components/data/types.ts +3 -0
- package/src/components/interaction/integerZoom.ts +64 -0
- package/src/components/interaction/interactionTarget.ts +10 -0
- package/src/components/interaction/remoteViewport.ts +53 -0
- package/src/components/interaction/useWaveformViewport.ts +16 -58
- package/src/components/interaction/useWaveformZoom.ts +13 -11
- package/src/components/interaction/viewportDomain.ts +11 -3
- package/src/components/interaction/viewportPan.ts +82 -0
- package/src/components/interaction/zoomConstraints.ts +7 -5
- package/src/components/rendering/WaveformLegend.vue +10 -1
- package/src/components/rendering/WaveformTrack.vue +24 -6
- package/src/components/rendering/WaveformTrackAxes.vue +16 -5
- package/src/components/rendering/WaveformTrackBackdrop.vue +2 -34
- package/src/components/rendering/WaveformZeroLines.vue +53 -0
- package/src/data/recordedDampedWaveform.ts +3 -0
- package/src/data/simulatedWaveforms.ts +12 -10
- package/src/demo/DemoChartHost.vue +1 -0
- package/src/demo/DemoGridFrameControls.vue +12 -0
- package/src/demo/DemoViewControls.vue +4 -0
- package/src/demo/types.ts +3 -0
- package/src/index.ts +4 -0
- package/src/styles.css +3 -3
- package/src/types/chart.ts +20 -0
- package/src/types/index.ts +3 -0
package/dist/index.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { Fragment as e, computed as t, createBlock as n, createCommentVNode as r, createElementBlock as i, createElementVNode as a, createTextVNode as o, createVNode as s, defineAsyncComponent as c, defineComponent as l, getCurrentInstance as u, markRaw as d, nextTick as f, normalizeClass as p, normalizeStyle as m, onBeforeUnmount as h, onMounted as g, onScopeDispose as _, onUpdated as v, openBlock as y, reactive as b, ref as x, renderList as S, shallowReactive as C, shallowRef as w, toDisplayString as T, toRefs as E, unref as D, vModelText as O, watch as k, watchEffect as A, withCtx as j, withDirectives as M, withModifiers as N } from "vue";
|
|
2
|
-
import { axisBottom as P, axisLeft as F, axisRight as I, bisector as L, curveStep as R, curveStepAfter as z, curveStepBefore as B, extent as V, line as H, pointer as U, scaleLinear as W, select as G, symbol as
|
|
3
|
-
import { InputNumber as
|
|
2
|
+
import { axisBottom as P, axisLeft as F, axisRight as I, bisector as L, curveStep as R, curveStepAfter as z, curveStepBefore as B, extent as V, line as H, pointer as U, scaleLinear as W, select as G, symbol as K, symbolCircle as ee, symbolDiamond as te, symbolSquare as ne, symbolTriangle as re, tickStep as ie, zoom as ae, zoomIdentity as q, zoomTransform as oe } from "d3";
|
|
3
|
+
import { InputNumber as se, Modal as ce, Pagination as le } from "ant-design-vue";
|
|
4
4
|
//#region src/utils/waveformId.ts
|
|
5
|
-
var
|
|
6
|
-
function
|
|
5
|
+
var ue = 0;
|
|
6
|
+
function de(e = "waveform") {
|
|
7
7
|
let t = u();
|
|
8
|
-
return `${e}-${t ? `v${t.uid}` : `f${++
|
|
8
|
+
return `${e}-${t ? `v${t.uid}` : `f${++ue}`}`;
|
|
9
9
|
}
|
|
10
10
|
//#endregion
|
|
11
11
|
//#region src/core/compactSamplePointSource.ts
|
|
12
|
-
function
|
|
12
|
+
function fe(e, t, n, r) {
|
|
13
13
|
let i = 0, a = e;
|
|
14
14
|
for (; i < a;) {
|
|
15
15
|
let e = i + Math.floor((a - i) / 2);
|
|
@@ -17,7 +17,7 @@ function de(e, t, n, r) {
|
|
|
17
17
|
}
|
|
18
18
|
return i;
|
|
19
19
|
}
|
|
20
|
-
function
|
|
20
|
+
function pe(e, t, n, r) {
|
|
21
21
|
let i = (e) => n + (r?.[e] ?? e) / t, a = (t) => t < 0 || t >= e.length ? void 0 : {
|
|
22
22
|
x: i(t),
|
|
23
23
|
y: e[t]
|
|
@@ -33,15 +33,15 @@ function fe(e, t, n, r) {
|
|
|
33
33
|
visibleRange(t) {
|
|
34
34
|
let n = Math.min(t[0], t[1]), r = Math.max(t[0], t[1]);
|
|
35
35
|
return {
|
|
36
|
-
start:
|
|
37
|
-
end:
|
|
36
|
+
start: fe(e.length, i, n, !1),
|
|
37
|
+
end: fe(e.length, i, r, !0)
|
|
38
38
|
};
|
|
39
39
|
},
|
|
40
40
|
nearestPoint(t) {
|
|
41
41
|
if (!Number.isFinite(t) || !e.length) return;
|
|
42
42
|
if (t <= i(0)) return a(0);
|
|
43
43
|
if (t >= i(e.length - 1)) return a(e.length - 1);
|
|
44
|
-
let n =
|
|
44
|
+
let n = fe(e.length, i, t, !1), r = Math.max(0, n - 1);
|
|
45
45
|
return Math.abs(t - i(r)) < Math.abs(i(n) - t) ? a(r) : a(n);
|
|
46
46
|
},
|
|
47
47
|
metrics() {
|
|
@@ -68,17 +68,17 @@ function fe(e, t, n, r) {
|
|
|
68
68
|
}
|
|
69
69
|
//#endregion
|
|
70
70
|
//#region src/core/waveformPointSource.ts
|
|
71
|
-
function
|
|
71
|
+
function J(e) {
|
|
72
72
|
return typeof e == "number" && Number.isFinite(e) && e >= 0 ? e : void 0;
|
|
73
73
|
}
|
|
74
|
-
function
|
|
74
|
+
function me(e, t, n) {
|
|
75
75
|
let r = Math.max(0, Math.min(n, Math.floor(e)));
|
|
76
76
|
return {
|
|
77
77
|
start: r,
|
|
78
78
|
end: Math.max(r, Math.min(n, Math.floor(t)))
|
|
79
79
|
};
|
|
80
80
|
}
|
|
81
|
-
function
|
|
81
|
+
function Y(e, t, n) {
|
|
82
82
|
let r = 0, i = e;
|
|
83
83
|
for (; r < i;) {
|
|
84
84
|
let e = r + Math.floor((i - r) / 2);
|
|
@@ -99,7 +99,7 @@ function ge(e, t, n) {
|
|
|
99
99
|
for (let c = 0; c < e; c += 1) {
|
|
100
100
|
let e = t(c);
|
|
101
101
|
if (!e || (r = Math.min(r, e.x), i = Math.max(i, e.x), a = Math.min(a, e.y), o = Math.max(o, e.y), !n)) continue;
|
|
102
|
-
let l =
|
|
102
|
+
let l = J(e.lowerError) ?? J(e.error) ?? 0, u = J(e.upperError) ?? J(e.error) ?? 0;
|
|
103
103
|
s ||= l !== 0 || u !== 0, a = Math.min(a, e.y - l), o = Math.max(o, e.y + u);
|
|
104
104
|
}
|
|
105
105
|
return {
|
|
@@ -123,13 +123,13 @@ var _e = class {
|
|
|
123
123
|
return this.sourcePoints[e];
|
|
124
124
|
}
|
|
125
125
|
pointsInRange(e = 0, t = this.length) {
|
|
126
|
-
let n =
|
|
126
|
+
let n = me(e, t, this.length);
|
|
127
127
|
return this.sourcePoints.slice(n.start, n.end);
|
|
128
128
|
}
|
|
129
129
|
visibleRange(e) {
|
|
130
130
|
let t = Math.min(e[0], e[1]), n = Math.max(e[0], e[1]);
|
|
131
131
|
return {
|
|
132
|
-
start:
|
|
132
|
+
start: Y(this.length, (e) => this.sourcePoints[e].x, t),
|
|
133
133
|
end: he(this.length, (e) => this.sourcePoints[e].x, n)
|
|
134
134
|
};
|
|
135
135
|
}
|
|
@@ -138,7 +138,7 @@ var _e = class {
|
|
|
138
138
|
let t = this.sourcePoints[0], n = this.sourcePoints[this.length - 1];
|
|
139
139
|
if (e <= t.x) return t;
|
|
140
140
|
if (e >= n.x) return n;
|
|
141
|
-
let r =
|
|
141
|
+
let r = Y(this.length, (e) => this.sourcePoints[e].x, e), i = this.sourcePoints[Math.min(r, this.length - 1)], a = this.sourcePoints[Math.max(0, r - 1)];
|
|
142
142
|
return Math.abs(e - a.x) < Math.abs(i.x - e) ? a : i;
|
|
143
143
|
}
|
|
144
144
|
metrics(e = !1) {
|
|
@@ -165,7 +165,7 @@ var _e = class {
|
|
|
165
165
|
}
|
|
166
166
|
pointAt(e) {
|
|
167
167
|
if (e < 0 || e >= this.length) return;
|
|
168
|
-
let t =
|
|
168
|
+
let t = J(this.error?.[e]), n = J(this.lowerError?.[e]), r = J(this.upperError?.[e]);
|
|
169
169
|
return {
|
|
170
170
|
x: this.x[e],
|
|
171
171
|
y: this.y[e],
|
|
@@ -175,14 +175,14 @@ var _e = class {
|
|
|
175
175
|
};
|
|
176
176
|
}
|
|
177
177
|
pointsInRange(e = 0, t = this.length) {
|
|
178
|
-
let n =
|
|
178
|
+
let n = me(e, t, this.length), r = [];
|
|
179
179
|
for (let e = n.start; e < n.end; e += 1) r.push(this.pointAt(e));
|
|
180
180
|
return r;
|
|
181
181
|
}
|
|
182
182
|
visibleRange(e) {
|
|
183
183
|
let t = Math.min(e[0], e[1]), n = Math.max(e[0], e[1]);
|
|
184
184
|
return {
|
|
185
|
-
start:
|
|
185
|
+
start: Y(this.length, (e) => this.x[e], t),
|
|
186
186
|
end: he(this.length, (e) => this.x[e], n)
|
|
187
187
|
};
|
|
188
188
|
}
|
|
@@ -190,7 +190,7 @@ var _e = class {
|
|
|
190
190
|
if (!Number.isFinite(e) || !this.length) return;
|
|
191
191
|
if (e <= this.x[0]) return this.pointAt(0);
|
|
192
192
|
if (e >= this.x[this.length - 1]) return this.pointAt(this.length - 1);
|
|
193
|
-
let t =
|
|
193
|
+
let t = Y(this.length, (e) => this.x[e], e), n = Math.min(t, this.length - 1), r = Math.max(0, t - 1);
|
|
194
194
|
return Math.abs(e - this.x[r]) < Math.abs(this.x[n] - e) ? this.pointAt(r) : this.pointAt(n);
|
|
195
195
|
}
|
|
196
196
|
metrics(e = !1) {
|
|
@@ -198,7 +198,7 @@ var _e = class {
|
|
|
198
198
|
for (let o = 0; o < this.length; o += 1) {
|
|
199
199
|
let s = this.x[o], c = this.y[o];
|
|
200
200
|
if (t = Math.min(t, s), n = Math.max(n, s), r = Math.min(r, c), i = Math.max(i, c), !e) continue;
|
|
201
|
-
let l =
|
|
201
|
+
let l = J(this.lowerError?.[o]) ?? J(this.error?.[o]) ?? 0, u = J(this.upperError?.[o]) ?? J(this.error?.[o]) ?? 0;
|
|
202
202
|
a ||= l !== 0 || u !== 0, r = Math.min(r, c - l), i = Math.max(i, c + u);
|
|
203
203
|
}
|
|
204
204
|
return {
|
|
@@ -230,7 +230,7 @@ function be(e) {
|
|
|
230
230
|
return e.x instanceof Float64Array && t.every((t) => t === void 0 || ye(t) && t.length === e.x.length);
|
|
231
231
|
}
|
|
232
232
|
function xe(e) {
|
|
233
|
-
if (!ye(e.values) || !Number.isFinite(e.sampleRate) || e.sampleRate <= 0 || e.startTime !== void 0 && !Number.isFinite(e.startTime)) return
|
|
233
|
+
if (!ye(e.values) || !Number.isFinite(e.sampleRate) || e.sampleRate <= 0 || e.startTime !== void 0 && !Number.isFinite(e.startTime)) return pe(/* @__PURE__ */ new Float64Array(), 1, 0);
|
|
234
234
|
let t = e.startTime ?? 0, n = 0;
|
|
235
235
|
for (let t = 0; t < e.values.length; t += 1) n += +!!Number.isFinite(e.values[t]);
|
|
236
236
|
let r = e.values instanceof Float32Array ? new Float32Array(n) : new Float64Array(n), i = n === e.values.length ? void 0 : new Uint32Array(n);
|
|
@@ -238,7 +238,7 @@ function xe(e) {
|
|
|
238
238
|
let a = e.values[t];
|
|
239
239
|
Number.isFinite(a) && (r[n] = a, i && (i[n] = t), n += 1);
|
|
240
240
|
}
|
|
241
|
-
return
|
|
241
|
+
return pe(r, e.sampleRate, t, i);
|
|
242
242
|
}
|
|
243
243
|
function Se(e) {
|
|
244
244
|
if (!be(e)) return new ve(/* @__PURE__ */ new Float64Array(), /* @__PURE__ */ new Float64Array());
|
|
@@ -1041,7 +1041,9 @@ var zt = {
|
|
|
1041
1041
|
}, Gt = {
|
|
1042
1042
|
COLOR: "#ff0000",
|
|
1043
1043
|
WIDTH: 1,
|
|
1044
|
-
DASH: "6 4"
|
|
1044
|
+
DASH: "6 4",
|
|
1045
|
+
OPACITY: .5,
|
|
1046
|
+
BOUNDARY_THRESHOLD: .02
|
|
1045
1047
|
};
|
|
1046
1048
|
//#endregion
|
|
1047
1049
|
//#region src/components/core/yDomain.ts
|
|
@@ -1456,34 +1458,34 @@ function Wn(e, t, n) {
|
|
|
1456
1458
|
function Gn(e) {
|
|
1457
1459
|
return e === "compact" ? 0 : e === "separated" ? 16 : 14;
|
|
1458
1460
|
}
|
|
1459
|
-
function Kn(e, t, n, r, i = [], a, o = !0) {
|
|
1460
|
-
let
|
|
1461
|
+
function Kn(e, t, n, r, i = [], a, o = !0, s = !1) {
|
|
1462
|
+
let c = Hn(n), l = i.filter(Boolean).length, u = n.fillIncompleteLastRow && l > 0 && l < c, d = u ? Math.ceil(l / n.columnCount) : n.rowCount, f = Gn(r), p = Number.isFinite(a) ? Math.max(0, a) : f, m = /* @__PURE__ */ new Set();
|
|
1461
1463
|
if (o) {
|
|
1462
|
-
if (r === "independent") for (let e = 0; e <
|
|
1463
|
-
else if (r === "compact")
|
|
1464
|
+
if (r === "independent") for (let e = 0; e < d; e += 1) m.add(e);
|
|
1465
|
+
else if (r === "compact") m.add(d - 1);
|
|
1464
1466
|
else for (let e = 0; e < n.columnCount; e += 1) for (let t = Hn(n) - 1; t >= 0; --t) if (t % n.columnCount === e && i[t]) {
|
|
1465
|
-
|
|
1467
|
+
m.add(Math.floor(t / n.columnCount));
|
|
1466
1468
|
break;
|
|
1467
1469
|
}
|
|
1468
1470
|
}
|
|
1469
|
-
let
|
|
1470
|
-
return Array.from({ length:
|
|
1471
|
-
let i = Math.floor(r / n.columnCount), a = r % n.columnCount, o =
|
|
1472
|
-
let n =
|
|
1473
|
-
return
|
|
1471
|
+
let h = Math.max(0, d - 1) * f, g = s && m.has(d - 1) ? 30 : 0, _ = m.size * 30 - g, v = Math.max(1, (t - h - _) / d);
|
|
1472
|
+
return Array.from({ length: u ? l : c }, (t, r) => {
|
|
1473
|
+
let i = Math.floor(r / n.columnCount), a = r % n.columnCount, o = u && i === d - 1 ? l - i * n.columnCount : n.columnCount, s = Math.max(0, o - 1) * p, c = Math.max(1, (e - s) / o), h = m.has(i) ? 30 : 0, g = v + h, _ = Array.from({ length: i }, (e, t) => {
|
|
1474
|
+
let n = m.has(t) ? 30 : 0;
|
|
1475
|
+
return v + n + f;
|
|
1474
1476
|
}).reduce((e, t) => e + t, 0);
|
|
1475
1477
|
return {
|
|
1476
1478
|
slotIndex: r,
|
|
1477
1479
|
row: i,
|
|
1478
1480
|
column: a,
|
|
1479
|
-
left: a * (
|
|
1480
|
-
top:
|
|
1481
|
-
width:
|
|
1482
|
-
height:
|
|
1483
|
-
plotHeight:
|
|
1484
|
-
cellHeight:
|
|
1481
|
+
left: a * (c + p),
|
|
1482
|
+
top: _,
|
|
1483
|
+
width: c,
|
|
1484
|
+
height: v,
|
|
1485
|
+
plotHeight: v,
|
|
1486
|
+
cellHeight: g,
|
|
1485
1487
|
xAxisBand: h,
|
|
1486
|
-
isLastRow: i ===
|
|
1488
|
+
isLastRow: i === d - 1
|
|
1487
1489
|
};
|
|
1488
1490
|
});
|
|
1489
1491
|
}
|
|
@@ -1509,7 +1511,7 @@ function Qn(e, t, n = !1) {
|
|
|
1509
1511
|
if (t.type === "integer-ms") {
|
|
1510
1512
|
let t = e[0] * Yn, n = e[1] * Yn;
|
|
1511
1513
|
if (!Number.isSafeInteger(Math.ceil(Math.abs(t))) || !Number.isSafeInteger(Math.ceil(Math.abs(n))) || n - t < 1) return [...e];
|
|
1512
|
-
let r = n - t >= Xn ? Math.max(10,
|
|
1514
|
+
let r = n - t >= Xn ? Math.max(10, ie(t, n, Jn) / 10) : 1;
|
|
1513
1515
|
return [Math.floor(t / r) * r / Yn, Math.ceil(n / r) * r / Yn];
|
|
1514
1516
|
}
|
|
1515
1517
|
if (t.type !== "nice") return [...e];
|
|
@@ -1517,15 +1519,72 @@ function Qn(e, t, n = !1) {
|
|
|
1517
1519
|
return t.bounds === "end" ? [e[0], r[1]] : r;
|
|
1518
1520
|
}
|
|
1519
1521
|
//#endregion
|
|
1522
|
+
//#region src/components/core/yAxisTitleLayout.ts
|
|
1523
|
+
var $n = 14, er = 11, tr = 2;
|
|
1524
|
+
function nr(e) {
|
|
1525
|
+
return Array.from(e).reduce((e, t) => e + (/[\u2e80-\u9fff\uf900-\ufaff\uff01-\uff60]/u.test(t) ? 1 : /[MW@%]/u.test(t) ? .95 : /[ilI1., :;|'!]/u.test(t) ? .4 : .65) * $n, 0);
|
|
1526
|
+
}
|
|
1527
|
+
function rr(e, t, n) {
|
|
1528
|
+
let r = t.seriesList[0], i = nr(r?.name.trim() || n || "") / 2, a = e.height / 2 - i - tr, o = e.height / 2 + i + tr, s = Math.min(...t.tickValues), c = t.tickValues.flatMap((e) => {
|
|
1529
|
+
let n = t.scale(e) + .5, i = n - (e === s ? er : er / 2);
|
|
1530
|
+
return (e === s ? n : n + er / 2) < a || i > o ? [] : [br(e, t.scale.domain(), t.tickValues, r?.unit).length * 7];
|
|
1531
|
+
});
|
|
1532
|
+
return Math.max(7, ...c) + 7 + 20 / 2;
|
|
1533
|
+
}
|
|
1534
|
+
function ir(e, t) {
|
|
1535
|
+
let n = /* @__PURE__ */ new Map();
|
|
1536
|
+
for (let r of e) {
|
|
1537
|
+
let e = 0;
|
|
1538
|
+
for (let i of r.yAxes) {
|
|
1539
|
+
if (i.side !== "left") continue;
|
|
1540
|
+
let a = `${r.column}:${e++}`;
|
|
1541
|
+
n.set(a, Math.max(n.get(a) ?? 0, rr(r, i, t)));
|
|
1542
|
+
}
|
|
1543
|
+
}
|
|
1544
|
+
for (let t of e) {
|
|
1545
|
+
let e = 0;
|
|
1546
|
+
for (let r of t.yAxes) r.side === "left" && (r.labelX = r.x - n.get(`${t.column}:${e++}`));
|
|
1547
|
+
}
|
|
1548
|
+
}
|
|
1549
|
+
//#endregion
|
|
1550
|
+
//#region src/components/interaction/integerZoom.ts
|
|
1551
|
+
function ar(e, t, n) {
|
|
1552
|
+
if (!n.integerZoom) return W().domain(e).ticks(t);
|
|
1553
|
+
let r = n.timeUnit === "s" ? 1 : 1e3;
|
|
1554
|
+
return W().domain(e.map((e) => e * r)).ticks(t).filter(Number.isInteger).map((e) => e / r);
|
|
1555
|
+
}
|
|
1556
|
+
function or(e) {
|
|
1557
|
+
return String(Math.round(e));
|
|
1558
|
+
}
|
|
1559
|
+
function sr(e) {
|
|
1560
|
+
let t = Math.round(e);
|
|
1561
|
+
return Math.abs(e - t) <= 2 ** -52 * Math.max(1, Math.abs(e)) * 16 ? t : e;
|
|
1562
|
+
}
|
|
1563
|
+
function cr(e, t) {
|
|
1564
|
+
if (!t.integerZoom) return e;
|
|
1565
|
+
let n = t.timeUnit === "s" ? 1 : 1e3, r = sr(Math.min(e[0], e[1]) * n), i = sr(Math.max(e[0], e[1]) * n);
|
|
1566
|
+
if (!Number.isSafeInteger(Math.floor(r)) || !Number.isSafeInteger(Math.ceil(i))) return e;
|
|
1567
|
+
let a = Math.floor(r);
|
|
1568
|
+
return [a / n, Math.max(a + 1, Math.ceil(i)) / n];
|
|
1569
|
+
}
|
|
1570
|
+
function lr(e, t) {
|
|
1571
|
+
return cr(e, t);
|
|
1572
|
+
}
|
|
1573
|
+
function ur(e, t) {
|
|
1574
|
+
if (!t.integerZoom) return e;
|
|
1575
|
+
let n = t.timeUnit === "s" ? 1 : 1e3;
|
|
1576
|
+
return [Math.round(e[0] * n) / n, Math.round(e[1] * n) / n];
|
|
1577
|
+
}
|
|
1578
|
+
//#endregion
|
|
1520
1579
|
//#region src/components/core/trackLayoutBuilder.ts
|
|
1521
|
-
function
|
|
1580
|
+
function dr(e, t, n) {
|
|
1522
1581
|
let r = n.xDomainStrategy ?? { type: "data" }, i = n.initialXDomains?.[e.id] ?? n.initialXDomains?.[t] ?? n.initialXDomain;
|
|
1523
|
-
return i ? Qn(i, r, !0) : Qn(e.xDomain, r);
|
|
1582
|
+
return cr(i ? Qn(i, r, !0) : Qn(e.xDomain, r), n);
|
|
1524
1583
|
}
|
|
1525
|
-
function
|
|
1526
|
-
let t = e.cells.map((
|
|
1527
|
-
...
|
|
1528
|
-
hasSeries:
|
|
1584
|
+
function fr(e) {
|
|
1585
|
+
let t = e.cells.map((t) => ({
|
|
1586
|
+
...t,
|
|
1587
|
+
hasSeries: e.useNonEmptyBottomTracks ? !!t.series?.series.length : !!t.series
|
|
1529
1588
|
})), n = qn(t, e.grid.columnCount), r = t.flatMap((t, r) => {
|
|
1530
1589
|
let i = !t.series || t.series.series.length === 0;
|
|
1531
1590
|
if (!t.series && (e.displayMode !== "compact" || !e.showCompactEmptyTracks)) return [];
|
|
@@ -1535,14 +1594,16 @@ function er(e) {
|
|
|
1535
1594
|
visibleSeries: [],
|
|
1536
1595
|
xDomain: [0, 1],
|
|
1537
1596
|
yDomain: [0, 1]
|
|
1538
|
-
}, o = !i && a.visibleSeries.length > 0, s = a.visibleSeries[0] ?? a.series[0] ?? null, c = e.displayMode === "independent" ? W(
|
|
1597
|
+
}, o = !i && a.visibleSeries.length > 0, s = a.visibleSeries[0] ?? a.series[0] ?? null, c = e.displayMode === "independent" ? W(dr(a, s?.id ?? a.id, e), [0, t.width]) : W(e.sharedZoomDomain, [0, t.width]), l = (e.displayMode === "independent" ? e.independentTransforms[r] ?? q : q).rescaleX(c);
|
|
1598
|
+
l.domain(lr(l.domain(), e));
|
|
1599
|
+
let u = Tr(a, e.overlayMode, e.fixedYDomain, e.fixedYDomains, e.yDomains, e.yAxisUpperPaddingRatio), d = {
|
|
1539
1600
|
left: 0,
|
|
1540
1601
|
right: 0
|
|
1541
1602
|
}, f = {
|
|
1542
1603
|
left: 0,
|
|
1543
1604
|
right: 0
|
|
1544
1605
|
}, p = u.map((n) => {
|
|
1545
|
-
let r = d[n.side]++, i =
|
|
1606
|
+
let r = d[n.side]++, i = vr(t.plotHeight, e.yAxisSplitNumber), a = yr(n.domain, i, e.yAxisNice !== !1), o = W(a.domain, [t.plotHeight, 0]), s = a.values, c = e.displayMode !== "compact" || t.row === 0 ? s : s.slice(0, -1), { tickTextWidth: l } = Er(o.domain(), !1, c, e.showAxisUnits === !1 ? void 0 : n.seriesList[0]?.unit, i), u = l + 7 + 0 + 20 + 4, p = e.yAxisSlots?.find((e) => e.side === n.side && e.sideIndex === r), m = p ? (n.side === "left" ? 0 : t.width) + p.axisOffset : n.side === "left" ? -f.left : t.width + f.right, h = l + 7 + 0 + 20 / 2, g = (p ? (n.side === "left" ? 0 : t.width) + p.labelOffset : m + (n.side === "left" ? -h : h)) - (n.side === "right" && !e.compactYAxisLayout ? 10 : 0);
|
|
1546
1607
|
return p || (f[n.side] += u), {
|
|
1547
1608
|
index: n.index,
|
|
1548
1609
|
side: n.side,
|
|
@@ -1556,14 +1617,14 @@ function er(e) {
|
|
|
1556
1617
|
};
|
|
1557
1618
|
}), m = W(a.yDomain, [t.plotHeight, 0]);
|
|
1558
1619
|
e.yAxisNice !== !1 && m.nice();
|
|
1559
|
-
let h = p[0]?.scale ?? m, g = l.
|
|
1560
|
-
start: Mt(
|
|
1561
|
-
end: Mt(
|
|
1562
|
-
},
|
|
1620
|
+
let h = p[0]?.scale ?? m, g = ar(l.domain(), Math.max(2, Math.floor(t.width / 100)), e), _ = e.xAxisLabelFormatter ?? (e.integerZoom ? or : void 0), v = p[0]?.majorTicks ?? [], y = p[0]?.tickValues ?? [], b = l.domain(), x = {
|
|
1621
|
+
start: Mt(b[0], b, e.timeUnit, "start", _),
|
|
1622
|
+
end: Mt(b[1], b, e.timeUnit, "end", _)
|
|
1623
|
+
}, S = x.start.length * 7 + 10, C = x.end.length * 7 + 10, w = g.filter((e) => {
|
|
1563
1624
|
let n = l(e);
|
|
1564
|
-
return n >
|
|
1565
|
-
}),
|
|
1566
|
-
let r = p.find((e) => e.seriesList.some((e) => e.id === n.id)), a = r?.scale ?? h, o = Rn(n.points,
|
|
1625
|
+
return n > S && n < t.width - C;
|
|
1626
|
+
}), T = a.visibleSeries.map((n) => {
|
|
1627
|
+
let r = p.find((e) => e.seriesList.some((e) => e.id === n.id)), a = r?.scale ?? h, o = Rn(n.points, b, t.width, e.rendering, {
|
|
1567
1628
|
lineVisible: !i && n.lineType !== "none",
|
|
1568
1629
|
linePointOverride: e.linePointOverrides?.[n.id],
|
|
1569
1630
|
pointVisible: n.pointType !== "none",
|
|
@@ -1598,42 +1659,31 @@ function er(e) {
|
|
|
1598
1659
|
yScale: h,
|
|
1599
1660
|
yAxes: p,
|
|
1600
1661
|
xMajorTicks: g,
|
|
1601
|
-
|
|
1602
|
-
|
|
1662
|
+
xAxisLabelFormatter: _,
|
|
1663
|
+
xMinorTicks: vt(g, 3, b),
|
|
1664
|
+
yMajorTicks: v,
|
|
1603
1665
|
yMinorTicks: p[0]?.minorTicks ?? [],
|
|
1604
|
-
yAxisTickValues:
|
|
1605
|
-
xAxisTickValues:
|
|
1606
|
-
endpointLabels:
|
|
1607
|
-
path:
|
|
1608
|
-
seriesPaths:
|
|
1666
|
+
yAxisTickValues: y,
|
|
1667
|
+
xAxisTickValues: w,
|
|
1668
|
+
endpointLabels: x,
|
|
1669
|
+
path: T[0]?.path ?? null,
|
|
1670
|
+
seriesPaths: T,
|
|
1609
1671
|
gridLines: e.grid.trackLines[a.id] ?? {
|
|
1610
1672
|
horizontal: !0,
|
|
1611
1673
|
vertical: !0
|
|
1612
1674
|
},
|
|
1613
1675
|
showXAxis: (i || o) && (e.displayMode === "independent" || (e.displayMode === "compact" ? t.isLastRow ?? t.row === e.grid.rowCount - 1 : n.has(t.slotIndex)))
|
|
1614
1676
|
};
|
|
1615
|
-
})
|
|
1616
|
-
|
|
1617
|
-
let n = 0;
|
|
1618
|
-
for (let r of t.yAxes) {
|
|
1619
|
-
if (r.side !== "left") continue;
|
|
1620
|
-
let a = `${t.column}:${n++}`, o = r.seriesList[0], s = (o?.name.trim() || e.yLabel || "").length * 8 + 6, c = r.tickValues.filter((e) => Math.abs(r.scale(e) - t.height / 2) <= s), l = Math.max(7, ...c.map((e) => cr(e, r.scale.domain(), r.tickValues, o?.unit).length * 7)) + 7 + 20 / 2;
|
|
1621
|
-
i.set(a, Math.max(i.get(a) ?? 0, l));
|
|
1622
|
-
}
|
|
1623
|
-
}
|
|
1624
|
-
for (let e of r) {
|
|
1625
|
-
let t = 0;
|
|
1626
|
-
for (let n of e.yAxes) n.side === "left" && (n.labelX = n.x - i.get(`${e.column}:${t++}`));
|
|
1627
|
-
}
|
|
1628
|
-
return r;
|
|
1677
|
+
});
|
|
1678
|
+
return e.compactYAxisLayout || ir(r, e.yLabel), r;
|
|
1629
1679
|
}
|
|
1630
1680
|
//#endregion
|
|
1631
1681
|
//#region src/components/core/layout.ts
|
|
1632
|
-
var
|
|
1633
|
-
function
|
|
1682
|
+
var pr = 7, mr = 7, hr = 4, gr = 0, _r = 20;
|
|
1683
|
+
function vr(e, t) {
|
|
1634
1684
|
return typeof t == "number" && Number.isFinite(t) ? Math.max(2, Math.floor(t)) : 5;
|
|
1635
1685
|
}
|
|
1636
|
-
function
|
|
1686
|
+
function yr(e, t = 5, n = !0) {
|
|
1637
1687
|
let r = typeof t == "number" && Number.isFinite(t) ? Math.max(2, Math.floor(t)) : 5, i = W(e, [1, 0]);
|
|
1638
1688
|
n && i.nice(Math.max(1, r - 1));
|
|
1639
1689
|
let a = i.domain(), [o, s] = a;
|
|
@@ -1642,7 +1692,7 @@ function sr(e, t = 5, n = !0) {
|
|
|
1642
1692
|
values: Array.from({ length: r }, (e, t) => o + (s - o) * t / (r - 1))
|
|
1643
1693
|
};
|
|
1644
1694
|
}
|
|
1645
|
-
function
|
|
1695
|
+
function br(e, t, n, r) {
|
|
1646
1696
|
return Ot(e, {
|
|
1647
1697
|
axisMin: t[0],
|
|
1648
1698
|
axisMax: t[1],
|
|
@@ -1650,7 +1700,7 @@ function cr(e, t, n, r) {
|
|
|
1650
1700
|
unit: r
|
|
1651
1701
|
});
|
|
1652
1702
|
}
|
|
1653
|
-
function
|
|
1703
|
+
function xr(e) {
|
|
1654
1704
|
return e >= 4 ? [
|
|
1655
1705
|
"left",
|
|
1656
1706
|
"left",
|
|
@@ -1662,13 +1712,13 @@ function lr(e) {
|
|
|
1662
1712
|
"right"
|
|
1663
1713
|
] : e === 2 ? ["left", "right"] : ["left"];
|
|
1664
1714
|
}
|
|
1665
|
-
var
|
|
1666
|
-
function
|
|
1667
|
-
let n =
|
|
1668
|
-
n || (n = /* @__PURE__ */ new Map(),
|
|
1715
|
+
var Sr = /* @__PURE__ */ new WeakMap();
|
|
1716
|
+
function Cr(e, t) {
|
|
1717
|
+
let n = Sr.get(e);
|
|
1718
|
+
n || (n = /* @__PURE__ */ new Map(), Sr.set(e, n));
|
|
1669
1719
|
let r = n.get(t);
|
|
1670
1720
|
if (r) return r;
|
|
1671
|
-
let i = t === "multi-axis" ? Math.min(e.visibleSeries.length, 4) : Math.min(e.visibleSeries.length, 1), a =
|
|
1721
|
+
let i = t === "multi-axis" ? Math.min(e.visibleSeries.length, 4) : Math.min(e.visibleSeries.length, 1), a = xr(i), o = Array.from({ length: i }, (e, t) => ({
|
|
1672
1722
|
index: t,
|
|
1673
1723
|
side: a[t],
|
|
1674
1724
|
seriesList: [],
|
|
@@ -1685,9 +1735,9 @@ function dr(e, t) {
|
|
|
1685
1735
|
}
|
|
1686
1736
|
}), n.set(t, o), o;
|
|
1687
1737
|
}
|
|
1688
|
-
function
|
|
1738
|
+
function wr(e, t, n, r) {
|
|
1689
1739
|
let i = qt(e, r);
|
|
1690
|
-
return
|
|
1740
|
+
return Cr(e, t).map((e) => {
|
|
1691
1741
|
if (i) return {
|
|
1692
1742
|
...e,
|
|
1693
1743
|
domain: i,
|
|
@@ -1701,53 +1751,56 @@ function fr(e, t, n, r) {
|
|
|
1701
1751
|
} : e;
|
|
1702
1752
|
});
|
|
1703
1753
|
}
|
|
1704
|
-
function
|
|
1705
|
-
let
|
|
1706
|
-
return
|
|
1754
|
+
function Tr(e, t, n, r, i, a = 0) {
|
|
1755
|
+
let o = i?.[e.id];
|
|
1756
|
+
return wr(e, t, n, r).map((e) => !e.fixed && o ? {
|
|
1707
1757
|
...e,
|
|
1708
|
-
domain:
|
|
1758
|
+
domain: o
|
|
1759
|
+
} : !e.fixed && Number.isFinite(a) && a > 0 ? {
|
|
1760
|
+
...e,
|
|
1761
|
+
domain: [e.domain[0], e.domain[1] + (e.domain[1] - e.domain[0]) * a]
|
|
1709
1762
|
} : e);
|
|
1710
1763
|
}
|
|
1711
|
-
function
|
|
1764
|
+
function Er(e, t = !0, n, r, i = 5, a = !1) {
|
|
1712
1765
|
let o = n ? {
|
|
1713
1766
|
domain: e,
|
|
1714
1767
|
values: n
|
|
1715
|
-
} :
|
|
1716
|
-
return a && o.values.length > 1 && s.push(o.values.slice(0, -1)), { tickTextWidth: Math.max(1, ...s.flatMap((e) => e.map((t) =>
|
|
1768
|
+
} : yr(e, i, t), s = [o.values];
|
|
1769
|
+
return a && o.values.length > 1 && s.push(o.values.slice(0, -1)), { tickTextWidth: Math.max(1, ...s.flatMap((e) => e.map((t) => br(t, o.domain, e, r).length))) * pr };
|
|
1717
1770
|
}
|
|
1718
|
-
function
|
|
1719
|
-
let
|
|
1771
|
+
function Dr(e, t, n, r, i, a = !0, o = !1, s, c = 0, l = !0) {
|
|
1772
|
+
let u = /* @__PURE__ */ new Map();
|
|
1720
1773
|
e.forEach((e) => {
|
|
1721
|
-
let
|
|
1774
|
+
let d = {
|
|
1722
1775
|
left: 0,
|
|
1723
1776
|
right: 0
|
|
1724
1777
|
};
|
|
1725
|
-
|
|
1726
|
-
let t =
|
|
1727
|
-
|
|
1778
|
+
Tr(e, t, n, r, s, c).forEach((e) => {
|
|
1779
|
+
let t = d[e.side]++, n = `${e.side}:${t}`, r = Er(e.domain, a, void 0, l ? e.seriesList[0]?.unit : void 0, i, o).tickTextWidth;
|
|
1780
|
+
u.set(n, Math.max(u.get(n) ?? pr, r));
|
|
1728
1781
|
});
|
|
1729
1782
|
});
|
|
1730
|
-
let
|
|
1783
|
+
let d = [], f = {
|
|
1731
1784
|
left: 0,
|
|
1732
1785
|
right: 0
|
|
1733
1786
|
};
|
|
1734
1787
|
return ["left", "right"].forEach((e) => {
|
|
1735
|
-
Array.from(
|
|
1736
|
-
let n =
|
|
1737
|
-
|
|
1788
|
+
Array.from(u.keys()).filter((t) => t.startsWith(`${e}:`)).map((t) => Number(t.slice(e.length + 1))).sort((e, t) => e - t).forEach((t) => {
|
|
1789
|
+
let n = u.get(`${e}:${t}`) ?? pr, r = e === "left" && f.left > 0 ? -f.left : f[e], i = r + (n + mr + gr + _r / 2) * (e === "left" ? -1 : 1), a = n + mr + gr + _r + hr;
|
|
1790
|
+
d.push({
|
|
1738
1791
|
side: e,
|
|
1739
1792
|
sideIndex: t,
|
|
1740
1793
|
axisOffset: r,
|
|
1741
1794
|
labelOffset: i,
|
|
1742
1795
|
clearance: a
|
|
1743
|
-
}),
|
|
1796
|
+
}), f[e] += a;
|
|
1744
1797
|
});
|
|
1745
1798
|
}), {
|
|
1746
|
-
slots:
|
|
1747
|
-
clearance:
|
|
1799
|
+
slots: d,
|
|
1800
|
+
clearance: f
|
|
1748
1801
|
};
|
|
1749
1802
|
}
|
|
1750
|
-
function
|
|
1803
|
+
function Or(e, t, n) {
|
|
1751
1804
|
let r = (e) => {
|
|
1752
1805
|
let r = t < e.left ? e.left - t : t > e.left + e.width ? t - e.left - e.width : 0;
|
|
1753
1806
|
return n < e.top ? e.top - n : n > e.top + e.height ? n - (e.top + e.height) : r;
|
|
@@ -1766,11 +1819,11 @@ function gr(e, t, n) {
|
|
|
1766
1819
|
}
|
|
1767
1820
|
//#endregion
|
|
1768
1821
|
//#region src/components/annotation/useWaveformChartAnnotations.ts
|
|
1769
|
-
var
|
|
1770
|
-
function
|
|
1771
|
-
return
|
|
1822
|
+
var kr = 0;
|
|
1823
|
+
function Ar() {
|
|
1824
|
+
return kr += 1, typeof crypto < "u" && typeof crypto.randomUUID == "function" ? crypto.randomUUID() : `annotation-${Date.now()}-${kr}`;
|
|
1772
1825
|
}
|
|
1773
|
-
function
|
|
1826
|
+
function jr(e) {
|
|
1774
1827
|
let { props: t, emit: n, container: r, chartSeries: i, hiddenSeriesIdSet: a, internalHiddenSeriesIds: o, annotationInteraction: s, editorSeriesOptions: c, trackLayouts: l, annotationLayoutsForTrack: u, resolveSeriesYScale: d, chartWidth: f, chartHeight: p, innerWidth: m, resolvedChartLeftMargin: h, titleAreaHeight: g, chartTopMargin: _, activeInteractionMode: v, isPresentationMode: y } = e, b = x("");
|
|
1775
1828
|
function S(e) {
|
|
1776
1829
|
if (!i.value.some((t) => t.id === e)) return;
|
|
@@ -1803,7 +1856,7 @@ function yr(e) {
|
|
|
1803
1856
|
};
|
|
1804
1857
|
}
|
|
1805
1858
|
function T(e, t, n) {
|
|
1806
|
-
b.value = "", s.openCreate(e,
|
|
1859
|
+
b.value = "", s.openCreate(e, Ar, t), c.value = n;
|
|
1807
1860
|
let r = s.editorDraft.value, i = l.value.find((t) => t.index === e.trackIndex)?.seriesList.find((t) => t.id === e.seriesId);
|
|
1808
1861
|
r?.mode === "add" && (r.annotation.style = {
|
|
1809
1862
|
borderColor: i?.color || "#1677ff",
|
|
@@ -1863,7 +1916,7 @@ function yr(e) {
|
|
|
1863
1916
|
let e = l.value[n];
|
|
1864
1917
|
return e?.hasVisibleSeries ? e : void 0;
|
|
1865
1918
|
}
|
|
1866
|
-
return
|
|
1919
|
+
return Or(l.value.filter((e) => e.hasVisibleSeries), e, t);
|
|
1867
1920
|
}
|
|
1868
1921
|
function A(e, t) {
|
|
1869
1922
|
let n = e.currentTarget;
|
|
@@ -1954,7 +2007,7 @@ function yr(e) {
|
|
|
1954
2007
|
}
|
|
1955
2008
|
//#endregion
|
|
1956
2009
|
//#region src/components/interaction/useWaveformHover.ts
|
|
1957
|
-
function
|
|
2010
|
+
function Mr(e) {
|
|
1958
2011
|
let { emit: t, hoverState: n, suppressHoverUntilMove: r, hoverThrottle: i, selection: a, trackLayouts: o, innerWidth: s, resolvedChartLeftMargin: c, titleAreaHeight: l, chartTopMargin: u, sharedOverlayElement: d, isPresentationMode: f, updateViewportDrag: p, resolveTrackAtPointer: m } = e, h = () => i.cancel(), g = (e) => i.schedule(e), _ = (e) => n.points.length === e.length && e.every((e, t) => {
|
|
1959
2012
|
let r = n.points[t];
|
|
1960
2013
|
return r?.id === e.id && r.trackIndex === e.trackIndex && r.point === e.point;
|
|
@@ -2039,14 +2092,14 @@ function br(e) {
|
|
|
2039
2092
|
}
|
|
2040
2093
|
//#endregion
|
|
2041
2094
|
//#region src/components/interaction/pointerCapture.ts
|
|
2042
|
-
function
|
|
2095
|
+
function Nr(e, t) {
|
|
2043
2096
|
try {
|
|
2044
2097
|
e?.releasePointerCapture?.(t);
|
|
2045
2098
|
} catch {}
|
|
2046
2099
|
}
|
|
2047
2100
|
//#endregion
|
|
2048
2101
|
//#region src/components/interaction/viewportInteractionState.ts
|
|
2049
|
-
function
|
|
2102
|
+
function Pr(e) {
|
|
2050
2103
|
return {
|
|
2051
2104
|
...e,
|
|
2052
2105
|
currentX: e.startX,
|
|
@@ -2055,37 +2108,37 @@ function Sr(e) {
|
|
|
2055
2108
|
yDomains: Object.fromEntries(Object.entries(e.yDomains).map(([e, t]) => [e, [...t]]))
|
|
2056
2109
|
};
|
|
2057
2110
|
}
|
|
2058
|
-
function
|
|
2111
|
+
function Fr(e, t) {
|
|
2059
2112
|
return {
|
|
2060
2113
|
...e,
|
|
2061
2114
|
...t
|
|
2062
2115
|
};
|
|
2063
2116
|
}
|
|
2064
|
-
function
|
|
2117
|
+
function Ir(e) {
|
|
2065
2118
|
return {
|
|
2066
2119
|
state: e,
|
|
2067
2120
|
accepted: !1,
|
|
2068
2121
|
completed: null
|
|
2069
2122
|
};
|
|
2070
2123
|
}
|
|
2071
|
-
function
|
|
2124
|
+
function Lr(e, t) {
|
|
2072
2125
|
switch (t.type) {
|
|
2073
|
-
case "begin": return e ?
|
|
2074
|
-
state:
|
|
2126
|
+
case "begin": return e ? Ir(e) : {
|
|
2127
|
+
state: Pr(t.gesture),
|
|
2075
2128
|
accepted: !0,
|
|
2076
2129
|
completed: null
|
|
2077
2130
|
};
|
|
2078
|
-
case "move": return !e || e.pointerId !== t.pointerId ?
|
|
2079
|
-
state:
|
|
2131
|
+
case "move": return !e || e.pointerId !== t.pointerId ? Ir(e) : {
|
|
2132
|
+
state: Fr(e, t.position),
|
|
2080
2133
|
accepted: !0,
|
|
2081
2134
|
completed: null
|
|
2082
2135
|
};
|
|
2083
|
-
case "finish": return !e || e.pointerId !== t.pointerId ?
|
|
2136
|
+
case "finish": return !e || e.pointerId !== t.pointerId ? Ir(e) : {
|
|
2084
2137
|
state: null,
|
|
2085
2138
|
accepted: !0,
|
|
2086
|
-
completed:
|
|
2139
|
+
completed: Fr(e, t.position)
|
|
2087
2140
|
};
|
|
2088
|
-
case "cancel": return !e || t.pointerId !== void 0 && e.pointerId !== t.pointerId ?
|
|
2141
|
+
case "cancel": return !e || t.pointerId !== void 0 && e.pointerId !== t.pointerId ? Ir(e) : {
|
|
2089
2142
|
state: null,
|
|
2090
2143
|
accepted: !0,
|
|
2091
2144
|
completed: null
|
|
@@ -2099,15 +2152,15 @@ function Tr(e, t) {
|
|
|
2099
2152
|
}
|
|
2100
2153
|
//#endregion
|
|
2101
2154
|
//#region src/components/interaction/zoomConstraints.ts
|
|
2102
|
-
var
|
|
2103
|
-
function
|
|
2155
|
+
var Rr = /* @__PURE__ */ new WeakMap();
|
|
2156
|
+
function zr(e) {
|
|
2104
2157
|
return e[0] <= e[1] ? [...e] : [e[1], e[0]];
|
|
2105
2158
|
}
|
|
2106
|
-
function
|
|
2159
|
+
function Br(e) {
|
|
2107
2160
|
return Number.isFinite(e) && (e ?? 0) > 0 ? Math.ceil(e) : 0;
|
|
2108
2161
|
}
|
|
2109
|
-
function
|
|
2110
|
-
let n = `${t[0]}\u0000${t[1]}`, r =
|
|
2162
|
+
function Vr(e, t) {
|
|
2163
|
+
let n = `${t[0]}\u0000${t[1]}`, r = Rr.get(e)?.get(n);
|
|
2111
2164
|
if (r) return r;
|
|
2112
2165
|
let i = /* @__PURE__ */ new Set();
|
|
2113
2166
|
for (let n of e) {
|
|
@@ -2117,14 +2170,14 @@ function kr(e, t) {
|
|
|
2117
2170
|
r.x >= t[0] && r.x <= t[1] && i.add(r.x);
|
|
2118
2171
|
}
|
|
2119
2172
|
}
|
|
2120
|
-
let a = Array.from(i).sort((e, t) => e - t), o =
|
|
2121
|
-
return o.set(n, a),
|
|
2173
|
+
let a = Array.from(i).sort((e, t) => e - t), o = Rr.get(e) ?? /* @__PURE__ */ new Map();
|
|
2174
|
+
return o.set(n, a), Rr.set(e, o), a;
|
|
2122
2175
|
}
|
|
2123
|
-
function
|
|
2176
|
+
function Hr(e, t, n) {
|
|
2124
2177
|
if (n <= 1) return 0;
|
|
2125
2178
|
let r = 0;
|
|
2126
2179
|
for (let i of e) {
|
|
2127
|
-
let e =
|
|
2180
|
+
let e = Vr(i, t);
|
|
2128
2181
|
if (e.length < n) return t[1] - t[0];
|
|
2129
2182
|
let a = Infinity;
|
|
2130
2183
|
for (let t = 0; t + n <= e.length; t += 1) a = Math.min(a, e[t + n - 1] - e[t]);
|
|
@@ -2133,17 +2186,17 @@ function Ar(e, t, n) {
|
|
|
2133
2186
|
}
|
|
2134
2187
|
return r;
|
|
2135
2188
|
}
|
|
2136
|
-
function
|
|
2137
|
-
let r =
|
|
2189
|
+
function Ur(e, t, n) {
|
|
2190
|
+
let r = cr(zr(e), n), i = r[1] - r[0];
|
|
2138
2191
|
if (!Number.isFinite(i) || i <= 0) return 0;
|
|
2139
|
-
let a = Number.isFinite(n.minZoomSpan) && (n.minZoomSpan ?? 0) > 0 ? Math.min(i, n.minZoomSpan) : 0, o =
|
|
2140
|
-
return Math.max(a, s, l);
|
|
2192
|
+
let a = Number.isFinite(n.minZoomSpan) && (n.minZoomSpan ?? 0) > 0 ? Math.min(i, n.minZoomSpan) : 0, o = Br(n.minVisiblePoints), s = Hr(t, r, o), c = Number(n.maxZoomScale), l = Number.isFinite(c) && c >= Bt.MIN_SCALE ? i / c : n.maxZoomScale !== null && a === 0 && o === 0 ? i / Bt.DEFAULT_MAX_SCALE : 0, u = n.integerZoom ? n.timeUnit === "s" ? 1 : .001 : 0;
|
|
2193
|
+
return Math.max(a, s, l, u);
|
|
2141
2194
|
}
|
|
2142
|
-
function
|
|
2195
|
+
function Wr(e, t, n, r) {
|
|
2143
2196
|
if (r <= 0) return e;
|
|
2144
2197
|
let i = 2 ** -52 * Math.max(1, Math.abs(t[0]), Math.abs(t[1])) * 16, a = e;
|
|
2145
2198
|
for (let e of n) {
|
|
2146
|
-
let n =
|
|
2199
|
+
let n = Vr(e, t);
|
|
2147
2200
|
if (n.length < r) return [...t];
|
|
2148
2201
|
if (n.filter((e) => e >= a[0] && e <= a[1]).length >= r) continue;
|
|
2149
2202
|
let o, s = Infinity, c = Infinity, l = (a[0] + a[1]) / 2;
|
|
@@ -2155,21 +2208,44 @@ function Mr(e, t, n, r) {
|
|
|
2155
2208
|
}
|
|
2156
2209
|
return a;
|
|
2157
2210
|
}
|
|
2158
|
-
function
|
|
2159
|
-
let i =
|
|
2211
|
+
function Gr(e, t, n, r) {
|
|
2212
|
+
let i = cr(zr(t), r), a = i[1] - i[0];
|
|
2160
2213
|
if (!Number.isFinite(a) || a <= 0 || Math.abs(e[1] - e[0]) >= a * .999999999999) return i;
|
|
2161
|
-
let o =
|
|
2162
|
-
return [u, u + c];
|
|
2214
|
+
let o = Wr([Math.max(i[0], Math.min(e[0], e[1])), Math.min(i[1], Math.max(e[0], e[1]))], i, n, Br(r.minVisiblePoints)), s = Ur(i, n, r), c = Math.max(s, Math.min(a, o[1] - o[0])), l = (o[0] + o[1]) / 2, u = Math.max(i[0], Math.min(l - c / 2, i[1] - c));
|
|
2215
|
+
return cr([u, u + c], r);
|
|
2163
2216
|
}
|
|
2164
|
-
function
|
|
2217
|
+
function Kr(e, t, n) {
|
|
2165
2218
|
let r = t[1] - t[0], i = e[1] - e[0];
|
|
2166
|
-
if (!Number.isFinite(r) || !Number.isFinite(i) || r <= 0 || i <= 0) return
|
|
2219
|
+
if (!Number.isFinite(r) || !Number.isFinite(i) || r <= 0 || i <= 0) return q;
|
|
2167
2220
|
let a = r / i, o = W(t, [0, n]);
|
|
2168
|
-
return
|
|
2221
|
+
return q.translate(-a * o(e[0]), 0).scale(a);
|
|
2222
|
+
}
|
|
2223
|
+
//#endregion
|
|
2224
|
+
//#region src/components/interaction/remoteViewport.ts
|
|
2225
|
+
function qr(e, t) {
|
|
2226
|
+
let n = e[1] - e[0];
|
|
2227
|
+
return n >= t[1] - t[0] ? [...t] : e[0] < t[0] ? [t[0], t[0] + n] : e[1] > t[1] ? [t[1] - n, t[1]] : e;
|
|
2228
|
+
}
|
|
2229
|
+
function Jr(e) {
|
|
2230
|
+
let t = e.panXDomain;
|
|
2231
|
+
return t && t.every(Number.isFinite) && t[0] < t[1] ? t : void 0;
|
|
2232
|
+
}
|
|
2233
|
+
function Yr(e, t, n, r) {
|
|
2234
|
+
let i = Jr(r);
|
|
2235
|
+
return i ? qr(e, i) : Gr(e, t, n, r);
|
|
2236
|
+
}
|
|
2237
|
+
function Xr(e, t, n, r) {
|
|
2238
|
+
let i = Jr(r);
|
|
2239
|
+
return i ? Gr(e, i, [], {
|
|
2240
|
+
...r,
|
|
2241
|
+
minVisiblePoints: 0,
|
|
2242
|
+
maxZoomScale: null,
|
|
2243
|
+
minZoomSpan: Ur(t, n, r)
|
|
2244
|
+
}) : Gr(e, t, n, r);
|
|
2169
2245
|
}
|
|
2170
2246
|
//#endregion
|
|
2171
2247
|
//#region src/components/interaction/viewportDomain.ts
|
|
2172
|
-
function
|
|
2248
|
+
function Zr(e) {
|
|
2173
2249
|
return (t, n) => {
|
|
2174
2250
|
if (!(!Number.isFinite(t[0]) || !Number.isFinite(t[1]) || t[0] === t[1])) {
|
|
2175
2251
|
if (e.cancelPendingZoom(), e.cancelViewportDrag(), e.props.displayMode === "independent") {
|
|
@@ -2177,27 +2253,47 @@ function Fr(e) {
|
|
|
2177
2253
|
r.forEach((n) => {
|
|
2178
2254
|
let r = e.trackLayouts.value.find((e) => e.index === n);
|
|
2179
2255
|
if (!r) return;
|
|
2180
|
-
let a = e.resolveInitialTrackDomain(r), o =
|
|
2181
|
-
i[n] =
|
|
2256
|
+
let a = e.resolveInitialTrackDomain(r), o = Xr(t, a, [r.seriesList], e.props);
|
|
2257
|
+
i[n] = Kr(o, a, r.width);
|
|
2182
2258
|
}), e.independentTransforms.value = i;
|
|
2183
2259
|
} else {
|
|
2184
|
-
let n = e.initialXDomain.value, r =
|
|
2185
|
-
e.sharedTransform.value =
|
|
2260
|
+
let n = e.initialXDomain.value, r = Xr(t, n, e.trackLayouts.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), e.props);
|
|
2261
|
+
e.sharedTransform.value = Kr(r, n, e.innerWidth.value);
|
|
2186
2262
|
}
|
|
2187
2263
|
e.clearHover(), e.editorSeriesOptions.value = [], f(e.configureZoom);
|
|
2188
2264
|
}
|
|
2189
2265
|
};
|
|
2190
2266
|
}
|
|
2191
2267
|
//#endregion
|
|
2268
|
+
//#region src/components/interaction/viewportPan.ts
|
|
2269
|
+
function Qr(e) {
|
|
2270
|
+
let { props: t, emit: n, resolveInitialTrackDomain: r, initialXDomain: i, independentTransforms: a, sharedTransform: o, innerWidth: s, trackLayouts: c, chartTracks: l, independentYDomains: u, sharedYDomains: d } = e;
|
|
2271
|
+
return (e, f) => {
|
|
2272
|
+
let p = f.width || 1, m = f.height || 1, h = e.currentX - e.startX, g = e.currentY - e.startY, _ = e.xDomain[1] - e.xDomain[0], v = e.independent ? r(f) : i.value, y = Jr(t) ?? v, b = qr(ur(qr([e.xDomain[0] - h / p * _, e.xDomain[1] - h / p * _], y), t), y);
|
|
2273
|
+
if (e.independent) {
|
|
2274
|
+
let e = [...a.value];
|
|
2275
|
+
e[f.index] = Kr(b, v, p), a.value = e;
|
|
2276
|
+
} else o.value = Kr(b, v, s.value);
|
|
2277
|
+
if (Jr(t)) return n("zoom-change", b), b;
|
|
2278
|
+
let x = e.independent ? [f] : c.value.filter((e) => e.hasVisibleSeries), S = { ...u.value }, C = { ...d.value };
|
|
2279
|
+
return x.forEach((n) => {
|
|
2280
|
+
let r = l.value.find((e) => e.id === n.id);
|
|
2281
|
+
if (r && Yt(r, t.yDomain, t.yDomains)) return;
|
|
2282
|
+
let i = n.series?.trackId ?? n.series?.id ?? n.id, a = e.yDomains[i] ?? n.yScale.domain(), o = r?.yDomain ?? a, s = a[1] - a[0], c = qr([a[0] + g / m * s, a[1] + g / m * s], o);
|
|
2283
|
+
e.independent ? S[n.index] = c : C[i] = c;
|
|
2284
|
+
}), e.independent ? u.value = S : d.value = C, n("zoom-change", b), b;
|
|
2285
|
+
};
|
|
2286
|
+
}
|
|
2287
|
+
//#endregion
|
|
2192
2288
|
//#region src/components/interaction/zoomEventPayload.ts
|
|
2193
|
-
function
|
|
2289
|
+
function $r(e) {
|
|
2194
2290
|
return [...e].sort().join("\0");
|
|
2195
2291
|
}
|
|
2196
|
-
function
|
|
2197
|
-
let n =
|
|
2198
|
-
return e.find((e) =>
|
|
2292
|
+
function ei(e, t) {
|
|
2293
|
+
let n = $r(t);
|
|
2294
|
+
return e.find((e) => $r(e.seriesList.map((e) => e.id)) === n);
|
|
2199
2295
|
}
|
|
2200
|
-
function
|
|
2296
|
+
function ti(e, t, n, r) {
|
|
2201
2297
|
e("zoom-intent", r ? {
|
|
2202
2298
|
start: t[0],
|
|
2203
2299
|
end: t[1],
|
|
@@ -2210,9 +2306,9 @@ function Rr(e, t, n, r) {
|
|
|
2210
2306
|
gesture: "box"
|
|
2211
2307
|
});
|
|
2212
2308
|
}
|
|
2213
|
-
function
|
|
2309
|
+
function ni(e, t, n) {
|
|
2214
2310
|
for (let r of n) {
|
|
2215
|
-
let n =
|
|
2311
|
+
let n = ei(t, r);
|
|
2216
2312
|
if (!n) continue;
|
|
2217
2313
|
let i = n.xScale.domain(), a = n.yScale.domain();
|
|
2218
2314
|
e("zoom-end", {
|
|
@@ -2226,7 +2322,7 @@ function zr(e, t, n) {
|
|
|
2226
2322
|
});
|
|
2227
2323
|
}
|
|
2228
2324
|
}
|
|
2229
|
-
function
|
|
2325
|
+
function ri(e, t, n) {
|
|
2230
2326
|
let r = n.filter((e) => e.hasVisibleSeries);
|
|
2231
2327
|
if (r.length === 1) {
|
|
2232
2328
|
let n = r[0]?.yScale.domain();
|
|
@@ -2248,13 +2344,13 @@ function Br(e, t, n) {
|
|
|
2248
2344
|
}
|
|
2249
2345
|
//#endregion
|
|
2250
2346
|
//#region src/components/interaction/useWaveformViewport.ts
|
|
2251
|
-
function
|
|
2347
|
+
function ii(e) {
|
|
2252
2348
|
let { props: n, emit: r, selection: i, spacePressed: a, trackLayouts: o, chartTracks: s, initialXDomain: c, innerWidth: l, innerHeight: u, sharedOverlayElement: d, sharedTransform: p, independentTransforms: m, sharedYDomains: h, independentYDomains: g, isZoomMode: _, isPresentationMode: v, editorSeriesOptions: y, resolveInitialTrackDomain: b, canZoomTrack: x, canZoomSharedTracks: S, configureZoom: C, cancelPendingZoom: T, clearHover: E, resolveTrackAtPointer: D } = e, O = w(), k = (e, t) => {
|
|
2253
2349
|
let n = O.value, r = t?.currentTarget;
|
|
2254
|
-
|
|
2350
|
+
Nr(n, e), r && r !== n && Nr(r, e);
|
|
2255
2351
|
}, A = (e, t) => {
|
|
2256
2352
|
let n = i.value;
|
|
2257
|
-
!n || n.pointerId !== e || (k(e, t), i.value =
|
|
2353
|
+
!n || n.pointerId !== e || (k(e, t), i.value = Lr(i.value, {
|
|
2258
2354
|
type: "cancel",
|
|
2259
2355
|
pointerId: e
|
|
2260
2356
|
}).state, O.value = void 0);
|
|
@@ -2268,16 +2364,13 @@ function Vr(e) {
|
|
|
2268
2364
|
width: Math.abs(e.currentX - e.startX),
|
|
2269
2365
|
height: Math.abs(e.currentY - e.startY)
|
|
2270
2366
|
};
|
|
2271
|
-
}), M = (e, t) => {
|
|
2272
|
-
let n = e[1] - e[0];
|
|
2273
|
-
return n >= t[1] - t[0] ? [...t] : e[0] < t[0] ? [t[0], t[0] + n] : e[1] > t[1] ? [t[1] - n, t[1]] : e;
|
|
2274
|
-
}, N = () => Object.fromEntries(o.value.filter((e) => e.hasVisibleSeries).map((e) => [e.series?.trackId ?? e.series?.id ?? e.id, e.yScale.domain()])), P = (e, t, r) => {
|
|
2367
|
+
}), M = () => Object.fromEntries(o.value.filter((e) => e.hasVisibleSeries).map((e) => [e.series?.trackId ?? e.series?.id ?? e.id, e.yScale.domain()])), N = (e, t, r) => {
|
|
2275
2368
|
if (v.value) return;
|
|
2276
2369
|
let s = n.pannable && a.value;
|
|
2277
2370
|
if (!n.zoomable && !s || !_.value || e.button !== 0) return;
|
|
2278
2371
|
let c = e.currentTarget, d = o.value.find((e) => e.index === t);
|
|
2279
2372
|
if (!d) return;
|
|
2280
|
-
let [f, p] = U(e, c), m = Math.max(0, Math.min(r ? d.width : l.value, f)), h = Math.max(0, Math.min(r ? d.height : u.value, p)), g =
|
|
2373
|
+
let [f, p] = U(e, c), m = Math.max(0, Math.min(r ? d.width : l.value, f)), h = Math.max(0, Math.min(r ? d.height : u.value, p)), g = Lr(i.value, {
|
|
2281
2374
|
type: "begin",
|
|
2282
2375
|
gesture: {
|
|
2283
2376
|
trackIndex: t,
|
|
@@ -2287,34 +2380,21 @@ function Vr(e) {
|
|
|
2287
2380
|
pointerId: e.pointerId,
|
|
2288
2381
|
kind: s ? "pan" : "box",
|
|
2289
2382
|
xDomain: d.xScale.domain(),
|
|
2290
|
-
yDomains:
|
|
2383
|
+
yDomains: M()
|
|
2291
2384
|
}
|
|
2292
2385
|
});
|
|
2293
2386
|
g.accepted && (i.value = g.state, O.value = c, c.setPointerCapture?.(e.pointerId), E(), e.preventDefault());
|
|
2294
|
-
},
|
|
2387
|
+
}, P = (e) => {
|
|
2295
2388
|
if (!d.value) return;
|
|
2296
2389
|
let [t, n] = U(e, d.value), r = D(t, n), i = (r?.hasVisibleSeries ? r : void 0) ?? o.value.find((e) => e.hasVisibleSeries);
|
|
2297
|
-
i &&
|
|
2298
|
-
},
|
|
2299
|
-
let i = t.width || 1, a = t.height || 1, u = e.currentX - e.startX, d = e.currentY - e.startY, f = e.xDomain[1] - e.xDomain[0], _ = e.independent ? b(t) : c.value, v = M([e.xDomain[0] - u / i * f, e.xDomain[1] - u / i * f], _);
|
|
2300
|
-
if (e.independent) {
|
|
2301
|
-
let e = [...m.value];
|
|
2302
|
-
e[t.index] = Pr(v, _, i), m.value = e;
|
|
2303
|
-
} else p.value = Pr(v, _, l.value);
|
|
2304
|
-
let y = e.independent ? [t] : o.value.filter((e) => e.hasVisibleSeries), x = { ...g.value }, S = { ...h.value };
|
|
2305
|
-
y.forEach((t) => {
|
|
2306
|
-
let r = s.value.find((e) => e.id === t.id);
|
|
2307
|
-
if (r && Yt(r, n.yDomain, n.yDomains)) return;
|
|
2308
|
-
let i = t.series?.trackId ?? t.series?.id ?? t.id, o = e.yDomains[i] ?? t.yScale.domain(), c = r?.yDomain ?? o, l = o[1] - o[0], u = M([o[0] + d / a * l, o[1] + d / a * l], c);
|
|
2309
|
-
e.independent ? x[t.index] = u : S[i] = u;
|
|
2310
|
-
}), e.independent ? g.value = x : h.value = S, r("zoom-change", v);
|
|
2311
|
-
}, L = (e) => {
|
|
2390
|
+
i && N(e, i.index, !1);
|
|
2391
|
+
}, F = Qr(e), I = (e) => {
|
|
2312
2392
|
if (v.value) return;
|
|
2313
2393
|
let t = i.value, n = O.value;
|
|
2314
2394
|
if (!t || !n || e.pointerId !== t.pointerId) return;
|
|
2315
2395
|
let r = o.value.find((e) => e.index === t.trackIndex);
|
|
2316
2396
|
if (!r) return;
|
|
2317
|
-
let [a, s] = U(e, n), c = Math.max(0, Math.min(t.independent ? r.width : l.value, a)), d = Math.max(0, Math.min(t.independent ? r.height : u.value, s)), f =
|
|
2397
|
+
let [a, s] = U(e, n), c = Math.max(0, Math.min(t.independent ? r.width : l.value, a)), d = Math.max(0, Math.min(t.independent ? r.height : u.value, s)), f = Lr(i.value, {
|
|
2318
2398
|
type: "move",
|
|
2319
2399
|
pointerId: e.pointerId,
|
|
2320
2400
|
position: {
|
|
@@ -2324,21 +2404,21 @@ function Vr(e) {
|
|
|
2324
2404
|
});
|
|
2325
2405
|
if (!f.accepted || !f.state) return;
|
|
2326
2406
|
let p = f.state;
|
|
2327
|
-
i.value = p, p.kind === "pan" &&
|
|
2328
|
-
},
|
|
2407
|
+
i.value = p, p.kind === "pan" && F(p, r), e.preventDefault();
|
|
2408
|
+
}, L = (e) => {
|
|
2329
2409
|
let t = i.value;
|
|
2330
2410
|
!t || e && e.pointerId !== t.pointerId || A(t.pointerId, e);
|
|
2331
|
-
},
|
|
2411
|
+
}, R = (e) => {
|
|
2332
2412
|
let t = o.value.find((t) => t.index === e.trackIndex);
|
|
2333
2413
|
if (!t || (e.independent ? !x(t) : !S())) return;
|
|
2334
2414
|
let i = e.independent ? 0 : t.left, a = Math.max(0, Math.min(t.width, Math.min(e.startX, e.currentX) - i)), s = Math.max(0, Math.min(t.width, Math.max(e.startX, e.currentX) - i));
|
|
2335
2415
|
if (s - a < 6) return;
|
|
2336
|
-
let u = e.independent ? b(t) : c.value, d = e.independent ? [t.seriesList] : o.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), h =
|
|
2416
|
+
let u = e.independent ? b(t) : c.value, d = e.independent ? [t.seriesList] : o.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), h = Xr([t.xScale.invert(a), t.xScale.invert(s)], u, d, n);
|
|
2337
2417
|
if (e.independent) {
|
|
2338
2418
|
let e = [...m.value];
|
|
2339
|
-
e[t.index] =
|
|
2340
|
-
} else p.value =
|
|
2341
|
-
|
|
2419
|
+
e[t.index] = Kr(h, u, t.width), m.value = e;
|
|
2420
|
+
} else p.value = Kr(h, u, l.value);
|
|
2421
|
+
ti(r, h, t, e.independent);
|
|
2342
2422
|
let g = e.independent ? [t] : o.value.filter((e) => e.hasVisibleSeries), _ = Object.fromEntries(g.map((e) => [e.series?.trackId ?? e.series?.id ?? e.id, e.yScale.domain()]));
|
|
2343
2423
|
if (r("zoom-change", h), e.independent) {
|
|
2344
2424
|
let e = _[t.series?.trackId ?? t.series?.id ?? t.id];
|
|
@@ -2367,51 +2447,59 @@ function Vr(e) {
|
|
|
2367
2447
|
gesture: "box"
|
|
2368
2448
|
});
|
|
2369
2449
|
f(C);
|
|
2370
|
-
},
|
|
2450
|
+
}, z = (e) => {
|
|
2371
2451
|
if (v.value) {
|
|
2372
|
-
|
|
2452
|
+
L();
|
|
2373
2453
|
return;
|
|
2374
2454
|
}
|
|
2375
2455
|
let t = i.value;
|
|
2376
2456
|
if (!t || e.pointerId !== t.pointerId) return;
|
|
2377
|
-
let n = o.value.find((e) => e.index === t.trackIndex),
|
|
2378
|
-
if (!n || !
|
|
2457
|
+
let n = o.value.find((e) => e.index === t.trackIndex), a = O.value;
|
|
2458
|
+
if (!n || !a || !a.parentNode) {
|
|
2379
2459
|
A(t.pointerId, e);
|
|
2380
2460
|
return;
|
|
2381
2461
|
}
|
|
2382
|
-
let [
|
|
2462
|
+
let [s, c] = U(e, a), d = Math.max(0, Math.min(t.independent ? n.width : l.value, s)), p = Math.max(0, Math.min(t.independent ? n.height : u.value, c)), m = Lr(i.value, {
|
|
2383
2463
|
type: "finish",
|
|
2384
2464
|
pointerId: e.pointerId,
|
|
2385
2465
|
position: {
|
|
2386
|
-
currentX:
|
|
2387
|
-
currentY:
|
|
2466
|
+
currentX: d,
|
|
2467
|
+
currentY: p
|
|
2388
2468
|
}
|
|
2389
2469
|
}).completed;
|
|
2390
|
-
if (
|
|
2391
|
-
if (i.value = null, k(
|
|
2392
|
-
|
|
2470
|
+
if (m) {
|
|
2471
|
+
if (i.value = null, k(m.pointerId, e), O.value = void 0, e.preventDefault(), m.kind === "pan") {
|
|
2472
|
+
let e = F(m, n);
|
|
2473
|
+
e.some((e, t) => Math.abs(e - m.xDomain[t]) > 1e-12) && r("pan-end", {
|
|
2474
|
+
start: e[0],
|
|
2475
|
+
end: e[1],
|
|
2476
|
+
...m.independent ? {
|
|
2477
|
+
trackIndex: n.index,
|
|
2478
|
+
seriesIds: n.seriesList.map((e) => e.id)
|
|
2479
|
+
} : {}
|
|
2480
|
+
}), f(C);
|
|
2393
2481
|
return;
|
|
2394
2482
|
}
|
|
2395
|
-
Math.abs(
|
|
2483
|
+
Math.abs(m.currentX - m.startX) >= 6 && R(m);
|
|
2396
2484
|
}
|
|
2397
|
-
},
|
|
2398
|
-
if (T(),
|
|
2485
|
+
}, B = (e) => {
|
|
2486
|
+
if (T(), L(), n.displayMode === "independent" && e !== void 0) {
|
|
2399
2487
|
let t = [...m.value];
|
|
2400
|
-
t[e] =
|
|
2488
|
+
t[e] = q, m.value = t;
|
|
2401
2489
|
let n = { ...g.value };
|
|
2402
2490
|
delete n[e], g.value = n;
|
|
2403
|
-
} else p.value =
|
|
2491
|
+
} else p.value = q, m.value = s.value.map(() => q), h.value = {}, g.value = {};
|
|
2404
2492
|
E(), y.value = [], f(C);
|
|
2405
2493
|
};
|
|
2406
2494
|
return {
|
|
2407
2495
|
selectionBox: j,
|
|
2408
|
-
beginViewportDrag:
|
|
2409
|
-
beginSharedViewportDrag:
|
|
2410
|
-
updateViewportDrag:
|
|
2411
|
-
finishViewportDrag:
|
|
2412
|
-
cancelViewportDrag:
|
|
2413
|
-
resetViewport:
|
|
2414
|
-
setViewportDomain:
|
|
2496
|
+
beginViewportDrag: N,
|
|
2497
|
+
beginSharedViewportDrag: P,
|
|
2498
|
+
updateViewportDrag: I,
|
|
2499
|
+
finishViewportDrag: z,
|
|
2500
|
+
cancelViewportDrag: L,
|
|
2501
|
+
resetViewport: B,
|
|
2502
|
+
setViewportDomain: Zr({
|
|
2415
2503
|
props: n,
|
|
2416
2504
|
trackLayouts: o,
|
|
2417
2505
|
initialXDomain: c,
|
|
@@ -2420,7 +2508,7 @@ function Vr(e) {
|
|
|
2420
2508
|
sharedTransform: p,
|
|
2421
2509
|
independentTransforms: m,
|
|
2422
2510
|
cancelPendingZoom: T,
|
|
2423
|
-
cancelViewportDrag:
|
|
2511
|
+
cancelViewportDrag: L,
|
|
2424
2512
|
clearHover: E,
|
|
2425
2513
|
editorSeriesOptions: y,
|
|
2426
2514
|
configureZoom: C
|
|
@@ -2430,20 +2518,20 @@ function Vr(e) {
|
|
|
2430
2518
|
if (n.displayMode === "independent") {
|
|
2431
2519
|
let t = (e.target instanceof Element ? e.target : null)?.closest("[data-independent-overlay-index]"), n = Number(t?.getAttribute("data-independent-overlay-index")), i = o.value.find((e) => e.index === n);
|
|
2432
2520
|
if (!i) return;
|
|
2433
|
-
e.preventDefault(),
|
|
2521
|
+
e.preventDefault(), B(n), r("zoom-reset", {
|
|
2434
2522
|
trackIndex: n,
|
|
2435
2523
|
seriesIds: i.legendSeries.map((e) => e.id)
|
|
2436
2524
|
});
|
|
2437
2525
|
return;
|
|
2438
2526
|
}
|
|
2439
|
-
e.preventDefault(),
|
|
2527
|
+
e.preventDefault(), B(), r("zoom-reset", {});
|
|
2440
2528
|
}
|
|
2441
2529
|
}
|
|
2442
2530
|
};
|
|
2443
2531
|
}
|
|
2444
2532
|
//#endregion
|
|
2445
2533
|
//#region src/components/utils/useAnimationFrameThrottle.ts
|
|
2446
|
-
function
|
|
2534
|
+
function ai() {
|
|
2447
2535
|
let e = null, t = null;
|
|
2448
2536
|
function n(n) {
|
|
2449
2537
|
t = n, e === null && (e = requestAnimationFrame(() => {
|
|
@@ -2472,27 +2560,27 @@ function Hr() {
|
|
|
2472
2560
|
}
|
|
2473
2561
|
//#endregion
|
|
2474
2562
|
//#region src/components/interaction/useWaveformZoom.ts
|
|
2475
|
-
function
|
|
2476
|
-
let { props: t, emit: n, svgElement: r, sharedOverlayElement: i, sharedTransform: a, independentTransforms: o, trackLayouts: s, initialXDomain: c, sharedZoomDomain: l, innerWidth: u, innerHeight: d, hasChartArea: f, isZoomMode: p, isPresentationMode: m, resolveInitialTrackDomain: h, cancelPendingHover: g } = e, _ = /* @__PURE__ */ new Map(), v =
|
|
2563
|
+
function oi(e) {
|
|
2564
|
+
let { props: t, emit: n, svgElement: r, sharedOverlayElement: i, sharedTransform: a, independentTransforms: o, trackLayouts: s, initialXDomain: c, sharedZoomDomain: l, innerWidth: u, innerHeight: d, hasChartArea: f, isZoomMode: p, isPresentationMode: m, resolveInitialTrackDomain: h, cancelPendingHover: g } = e, _ = /* @__PURE__ */ new Map(), v = ai(), y = !1, b = null, x = null, S = null, C = /* @__PURE__ */ new Map(), w = /* @__PURE__ */ new Map(), T = /* @__PURE__ */ new Map(), E, D = !1, O = 0, k = () => v.schedule(M), A = (e) => {
|
|
2477
2565
|
if (y || m.value) return;
|
|
2478
2566
|
g(), b = e.transform, x = "wheel", I();
|
|
2479
|
-
let
|
|
2567
|
+
let [r, i] = lr(e.transform.rescaleX(W(c.value, [0, u.value])).domain(), t);
|
|
2480
2568
|
n("zoom-intent", {
|
|
2481
|
-
start:
|
|
2482
|
-
end:
|
|
2569
|
+
start: r,
|
|
2570
|
+
end: i,
|
|
2483
2571
|
gesture: "wheel"
|
|
2484
2572
|
}), k();
|
|
2485
|
-
}, j = (e,
|
|
2573
|
+
}, j = (e, r) => {
|
|
2486
2574
|
if (y || m.value) return;
|
|
2487
|
-
g(), C.set(
|
|
2488
|
-
let
|
|
2489
|
-
if (
|
|
2490
|
-
let
|
|
2575
|
+
g(), C.set(r, e.transform), w.set(r, "wheel"), I();
|
|
2576
|
+
let i = s.value.find((e) => e.index === r);
|
|
2577
|
+
if (i) {
|
|
2578
|
+
let a = e.transform.rescaleX(W(h(i), [0, i.width])).domain();
|
|
2491
2579
|
n("zoom-intent", {
|
|
2492
|
-
start:
|
|
2493
|
-
end:
|
|
2494
|
-
trackIndex:
|
|
2495
|
-
seriesIds:
|
|
2580
|
+
start: lr(a, t)[0],
|
|
2581
|
+
end: lr(a, t)[1],
|
|
2582
|
+
trackIndex: r,
|
|
2583
|
+
seriesIds: i.seriesList.map((e) => e.id),
|
|
2496
2584
|
gesture: "wheel"
|
|
2497
2585
|
});
|
|
2498
2586
|
}
|
|
@@ -2506,36 +2594,36 @@ function Ur(e) {
|
|
|
2506
2594
|
if (b) {
|
|
2507
2595
|
let e = b;
|
|
2508
2596
|
b = null, S = x, x = null, a.value = e;
|
|
2509
|
-
let
|
|
2510
|
-
n("zoom-change", [
|
|
2597
|
+
let r = e.rescaleX(W(c.value, [0, u.value])).domain();
|
|
2598
|
+
n("zoom-change", lr([r[0], r[1]], t));
|
|
2511
2599
|
}
|
|
2512
2600
|
if (!C.size) return;
|
|
2513
|
-
let e = [...o.value],
|
|
2601
|
+
let e = [...o.value], r = Array.from(C.keys()), i = new Map(w);
|
|
2514
2602
|
C.forEach((t, n) => {
|
|
2515
2603
|
e[n] = t;
|
|
2516
2604
|
}), C.clear(), w.clear(), o.value = e;
|
|
2517
|
-
let
|
|
2518
|
-
|
|
2519
|
-
let t =
|
|
2605
|
+
let l = new Map(s.value.map((e) => [e.index, e]));
|
|
2606
|
+
r.forEach((e) => {
|
|
2607
|
+
let t = l.get(e);
|
|
2520
2608
|
if (!t) return;
|
|
2521
|
-
if (
|
|
2609
|
+
if (i.get(e) === "wheel") {
|
|
2522
2610
|
let e = t.seriesList.map((e) => e.id);
|
|
2523
|
-
T.set(
|
|
2611
|
+
T.set($r(e), e);
|
|
2524
2612
|
}
|
|
2525
|
-
let
|
|
2526
|
-
n("zoom-change", [
|
|
2613
|
+
let r = t.xScale.domain();
|
|
2614
|
+
n("zoom-change", [r[0], r[1]]);
|
|
2527
2615
|
});
|
|
2528
2616
|
}
|
|
2529
2617
|
let N = () => {
|
|
2530
2618
|
if (t.displayMode === "independent") {
|
|
2531
|
-
|
|
2619
|
+
ni(n, s.value, T.values()), T.clear();
|
|
2532
2620
|
return;
|
|
2533
2621
|
}
|
|
2534
2622
|
if (S !== "wheel") {
|
|
2535
2623
|
S = null;
|
|
2536
2624
|
return;
|
|
2537
2625
|
}
|
|
2538
|
-
|
|
2626
|
+
ri(n, l.value, s.value), S = null;
|
|
2539
2627
|
}, P = () => {
|
|
2540
2628
|
v.flush(), M(), !(S === "wheel" || T.size) && N();
|
|
2541
2629
|
}, F = (e) => {
|
|
@@ -2555,18 +2643,18 @@ function Ur(e) {
|
|
|
2555
2643
|
}, B = (e, n) => {
|
|
2556
2644
|
let r = Math.abs(e[1] - e[0]);
|
|
2557
2645
|
if (!Number.isFinite(r) || r <= 0) return Bt.MIN_SCALE;
|
|
2558
|
-
let i =
|
|
2646
|
+
let i = Ur(e, n, t);
|
|
2559
2647
|
return Math.max(Bt.MIN_SCALE, i > 0 ? r / i : Infinity);
|
|
2560
|
-
}, V = (e, n, r, i) =>
|
|
2648
|
+
}, V = (e, n, r, i) => Kr(Xr(e.rescaleX(W(n, [0, r])).domain(), n, i, t), n, r), H = (e) => {
|
|
2561
2649
|
let n = Number(t.minVisiblePoints);
|
|
2562
2650
|
return jn(e.seriesList, e.xScale.domain(), Number.isFinite(n) && n > 0 ? Math.ceil(n) + 1 : n);
|
|
2563
2651
|
}, U = () => {
|
|
2564
2652
|
let e = s.value.filter((e) => e.hasVisibleSeries);
|
|
2565
2653
|
return e.length > 0 && e.every(H);
|
|
2566
|
-
},
|
|
2654
|
+
}, K = (e, t) => {
|
|
2567
2655
|
if (e.type !== "wheel") return !1;
|
|
2568
2656
|
let n = e.deltaY;
|
|
2569
|
-
return n < 0 ? t : n > 0 &&
|
|
2657
|
+
return n < 0 ? t : n > 0 && oe(e.currentTarget).k > Bt.MIN_SCALE;
|
|
2570
2658
|
};
|
|
2571
2659
|
return {
|
|
2572
2660
|
cancelPendingZoom: R,
|
|
@@ -2581,13 +2669,13 @@ function Ur(e) {
|
|
|
2581
2669
|
s.value.forEach((t) => {
|
|
2582
2670
|
let n = r.value?.querySelector(`[data-independent-overlay-index="${t.index}"]`);
|
|
2583
2671
|
if (!n) return;
|
|
2584
|
-
let i = h(t), a = [t.seriesList], c =
|
|
2672
|
+
let i = h(t), a = [t.seriesList], c = ae().filter((e) => {
|
|
2585
2673
|
let n = s.value.find((e) => e.index === t.index) ?? t;
|
|
2586
|
-
return
|
|
2674
|
+
return K(e, H(n));
|
|
2587
2675
|
}).scaleExtent([1, B(i, a)]).constrain((e) => V(e, i, t.width, a)).extent([[0, 0], [t.width, t.height]]).translateExtent([[0, 0], [t.width, t.height]]).on("zoom", (e) => j(e, t.index)).on("end", () => F(e));
|
|
2588
2676
|
_.set(t.index, c), y = !0;
|
|
2589
2677
|
try {
|
|
2590
|
-
G(n).call(c).on("dblclick.zoom", null).call(c.transform, o.value[t.index] ??
|
|
2678
|
+
G(n).call(c).on("dblclick.zoom", null).call(c.transform, o.value[t.index] ?? q);
|
|
2591
2679
|
} finally {
|
|
2592
2680
|
y = !1;
|
|
2593
2681
|
}
|
|
@@ -2596,7 +2684,7 @@ function Ur(e) {
|
|
|
2596
2684
|
}
|
|
2597
2685
|
let n = i.value;
|
|
2598
2686
|
if (!n) return;
|
|
2599
|
-
let l = s.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), g =
|
|
2687
|
+
let l = s.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), g = ae().filter((e) => K(e, U())).scaleExtent([1, B(c.value, l)]).constrain((e) => V(e, c.value, u.value, l)).extent([[0, 0], [u.value, d.value]]).translateExtent([[0, 0], [u.value, d.value]]).on("zoom", A).on("end", () => F(e));
|
|
2600
2688
|
_.set("shared", g), y = !0;
|
|
2601
2689
|
try {
|
|
2602
2690
|
G(n).call(g).on("dblclick.zoom", null).call(g.transform, a.value);
|
|
@@ -2608,52 +2696,62 @@ function Ur(e) {
|
|
|
2608
2696
|
};
|
|
2609
2697
|
}
|
|
2610
2698
|
//#endregion
|
|
2611
|
-
//#region src/components/core/
|
|
2612
|
-
function
|
|
2699
|
+
//#region src/components/core/pagination.ts
|
|
2700
|
+
function si(e, t, n, r, i) {
|
|
2701
|
+
if (!e) return 0;
|
|
2702
|
+
if (t <= 520) return 40;
|
|
2703
|
+
let a = Math.min(n, 9) + 2, o = a * 32 + a * 8, s = r + Array.from(i).length * 18 / 2;
|
|
2704
|
+
return t - 10 - s - 8 >= o ? 16 : 40;
|
|
2705
|
+
}
|
|
2706
|
+
//#endregion
|
|
2707
|
+
//#region src/components/interaction/interactionTarget.ts
|
|
2708
|
+
function ci(e) {
|
|
2613
2709
|
return e instanceof Element && !!e.closest("button, input, select, textarea, [contenteditable]:not([contenteditable=\"false\"])");
|
|
2614
2710
|
}
|
|
2615
|
-
|
|
2616
|
-
|
|
2617
|
-
|
|
2618
|
-
|
|
2711
|
+
//#endregion
|
|
2712
|
+
//#region src/components/core/useWaveformChartLifecycle.ts
|
|
2713
|
+
function li(e) {
|
|
2714
|
+
let { props: t, emit: n, container: r, titleMeasureElement: i, resizeObserver: a, observedWidth: o, observedHeight: s, measuredTitleWidth: c, measuredTitleHeight: l, resolvedTitleText: u, titleAreaReserved: d, titleMeasureStyle: p, spacePressed: m, pointerInsideChart: _, currentPage: v, pageCount: y, pagedTracks: b, gridOptions: x, chartSeries: S, chartTracks: C, trackLayouts: w, innerWidth: T, innerHeight: E, sharedZoomDomain: D, initialXDomain: O, sharedTransform: A, activeInteractionMode: j, hiddenSeriesIdSet: M, internalHiddenSeriesIds: N, independentTransforms: P, independentYDomains: F, resolveInitialTrackDomain: I, annotationInteraction: L, editorSeriesOptions: R, isPresentationMode: z, clearHover: B, cancelAnnotation: V, configureZoom: H, resetViewport: U, cancelViewportDrag: W, cancelPendingHover: G, clearZoomBindings: K } = e;
|
|
2715
|
+
function ee(e) {
|
|
2716
|
+
z.value || e.code !== "Space" || !t.pannable || !_.value || ci(e.target) || (m.value = !0, e.preventDefault());
|
|
2619
2717
|
}
|
|
2620
|
-
function
|
|
2718
|
+
function te(e) {
|
|
2621
2719
|
e.code === "Space" && (m.value = !1);
|
|
2622
2720
|
}
|
|
2623
|
-
function
|
|
2721
|
+
function ne(e) {
|
|
2624
2722
|
let r = Math.min(y.value, Math.max(1, Math.floor(e)));
|
|
2625
|
-
r !== v.value && (v.value = r, B(), L.closeContextMenu(), V(), t.displayMode === "independent" && (P.value = b.value.map(() =>
|
|
2723
|
+
r !== v.value && (v.value = r, B(), L.closeContextMenu(), V(), t.displayMode === "independent" && (P.value = b.value.map(() => q), F.value = {}), f(H), n("page-change", r, y.value));
|
|
2626
2724
|
}
|
|
2627
|
-
let
|
|
2628
|
-
function
|
|
2725
|
+
let re, ie;
|
|
2726
|
+
function ae() {
|
|
2629
2727
|
if (t.displayMode === "independent") {
|
|
2630
|
-
|
|
2631
|
-
let
|
|
2632
|
-
return t[1] -
|
|
2728
|
+
re = void 0, ie = new Map(w.value.flatMap((e) => {
|
|
2729
|
+
let n = e.xScale.domain(), r = I(e);
|
|
2730
|
+
return Jr(t) || n[1] - n[0] < r[1] - r[0] - 1e-12 ? [[$r(e.seriesList.map((e) => e.id)), n]] : [];
|
|
2633
2731
|
}));
|
|
2634
2732
|
return;
|
|
2635
2733
|
}
|
|
2636
|
-
|
|
2734
|
+
ie = void 0;
|
|
2637
2735
|
let e = D.value, n = O.value;
|
|
2638
|
-
|
|
2736
|
+
re = Jr(t) || e[1] - e[0] < n[1] - n[0] - 1e-12 ? [...e] : void 0;
|
|
2639
2737
|
}
|
|
2640
|
-
function
|
|
2738
|
+
function oe() {
|
|
2641
2739
|
if (t.displayMode === "independent") {
|
|
2642
2740
|
let e = P.value;
|
|
2643
|
-
P.value = C.value.map((t, n) => e[n] ??
|
|
2741
|
+
P.value = C.value.map((t, n) => e[n] ?? q);
|
|
2644
2742
|
}
|
|
2645
2743
|
B(), R.value = [], f(() => {
|
|
2646
|
-
if (t.displayMode === "independent" &&
|
|
2647
|
-
let e = C.value.map(() =>
|
|
2744
|
+
if (t.displayMode === "independent" && ie) {
|
|
2745
|
+
let e = C.value.map(() => q);
|
|
2648
2746
|
w.value.forEach((n) => {
|
|
2649
|
-
let r =
|
|
2747
|
+
let r = ie?.get($r(n.seriesList.map((e) => e.id)));
|
|
2650
2748
|
if (!r) return;
|
|
2651
|
-
let i = I(n), a =
|
|
2652
|
-
e[n.index] =
|
|
2653
|
-
}), P.value = e,
|
|
2654
|
-
} else if (t.displayMode !== "independent" &&
|
|
2655
|
-
let e = O.value, n = w.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), r =
|
|
2656
|
-
A.value =
|
|
2749
|
+
let i = I(n), a = Yr(r, i, [n.seriesList], t);
|
|
2750
|
+
e[n.index] = Kr(a, i, n.width);
|
|
2751
|
+
}), P.value = e, ie = void 0;
|
|
2752
|
+
} else if (t.displayMode !== "independent" && re) {
|
|
2753
|
+
let e = O.value, n = w.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), r = Yr(re, e, n, t);
|
|
2754
|
+
A.value = Kr(r, e, T.value), re = void 0;
|
|
2657
2755
|
}
|
|
2658
2756
|
H();
|
|
2659
2757
|
});
|
|
@@ -2678,7 +2776,11 @@ function Gr(e) {
|
|
|
2678
2776
|
j
|
|
2679
2777
|
], async () => {
|
|
2680
2778
|
await f(), H();
|
|
2681
|
-
}, { immediate: !0 }), k(() =>
|
|
2779
|
+
}, { immediate: !0 }), k(() => [
|
|
2780
|
+
t.displayMode,
|
|
2781
|
+
t.integerZoom,
|
|
2782
|
+
t.integerZoom ? t.timeUnit : void 0
|
|
2783
|
+
], () => {
|
|
2682
2784
|
let e = v.value;
|
|
2683
2785
|
v.value = 1, U(), e !== 1 && n("page-change", 1, y.value);
|
|
2684
2786
|
}), k([
|
|
@@ -2692,7 +2794,7 @@ function Gr(e) {
|
|
|
2692
2794
|
}), k(j, () => {
|
|
2693
2795
|
R.value = [];
|
|
2694
2796
|
}), k(z, (e) => {
|
|
2695
|
-
m.value = !1, e && (W(),
|
|
2797
|
+
m.value = !1, e && (W(), K(), B(), L.closeContextMenu(), V());
|
|
2696
2798
|
}), k(() => S.value.map((e) => e.id).join("\0"), () => {
|
|
2697
2799
|
if (t.hiddenSeriesIds !== void 0) return;
|
|
2698
2800
|
let e = new Set(S.value.map((e) => e.id)), n = new Set(Array.from(N.value).filter((t) => e.has(t)));
|
|
@@ -2711,7 +2813,7 @@ function Gr(e) {
|
|
|
2711
2813
|
let n = L.editorDraft.value;
|
|
2712
2814
|
n?.mode === "edit" && !e.some((e) => e.id === n.annotation.id) && L.closeEditor();
|
|
2713
2815
|
}, { deep: !0 });
|
|
2714
|
-
function
|
|
2816
|
+
function se() {
|
|
2715
2817
|
if (!d.value || !i.value) {
|
|
2716
2818
|
c.value = 0, l.value = 0;
|
|
2717
2819
|
return;
|
|
@@ -2724,22 +2826,22 @@ function Gr(e) {
|
|
|
2724
2826
|
d,
|
|
2725
2827
|
p
|
|
2726
2828
|
], async () => {
|
|
2727
|
-
c.value = 0, l.value = 0, await f(),
|
|
2829
|
+
c.value = 0, l.value = 0, await f(), se();
|
|
2728
2830
|
}, { immediate: !0 }), g(() => {
|
|
2729
|
-
window.addEventListener("keydown",
|
|
2730
|
-
o.value = Math.max(0, e?.contentRect.width ?? 0), s.value = Math.max(0, e?.contentRect.height ?? 0), f(
|
|
2831
|
+
window.addEventListener("keydown", ee), window.addEventListener("keyup", te), r.value && (a.value = new ResizeObserver(([e]) => {
|
|
2832
|
+
o.value = Math.max(0, e?.contentRect.width ?? 0), s.value = Math.max(0, e?.contentRect.height ?? 0), f(se);
|
|
2731
2833
|
}), a.value.observe(r.value));
|
|
2732
2834
|
}), h(() => {
|
|
2733
|
-
window.removeEventListener("keydown",
|
|
2835
|
+
window.removeEventListener("keydown", ee), window.removeEventListener("keyup", te), G(), a.value?.disconnect(), K(), R.value = [];
|
|
2734
2836
|
}), {
|
|
2735
|
-
goToPage:
|
|
2736
|
-
handleBeforeDataReferenceChange:
|
|
2737
|
-
handleDataReferenceChange:
|
|
2837
|
+
goToPage: ne,
|
|
2838
|
+
handleBeforeDataReferenceChange: ae,
|
|
2839
|
+
handleDataReferenceChange: oe
|
|
2738
2840
|
};
|
|
2739
2841
|
}
|
|
2740
2842
|
//#endregion
|
|
2741
2843
|
//#region src/components/core/useWaveformData.ts
|
|
2742
|
-
function
|
|
2844
|
+
function ui(e) {
|
|
2743
2845
|
return dn(e).map(({ source: e, ...t }) => {
|
|
2744
2846
|
let n = e.metrics(t.errorBar.visible);
|
|
2745
2847
|
return {
|
|
@@ -2752,45 +2854,45 @@ function Kr(e) {
|
|
|
2752
2854
|
};
|
|
2753
2855
|
});
|
|
2754
2856
|
}
|
|
2755
|
-
function
|
|
2756
|
-
let r = w(
|
|
2857
|
+
function di(e, t, n) {
|
|
2858
|
+
let r = w(ui(e()));
|
|
2757
2859
|
return k(e, (e) => {
|
|
2758
|
-
t(), r.value =
|
|
2860
|
+
t(), r.value = ui(e), n();
|
|
2759
2861
|
}), r;
|
|
2760
2862
|
}
|
|
2761
2863
|
//#endregion
|
|
2762
2864
|
//#region wasm/pkg/waveform_sampling_wasm.js
|
|
2763
|
-
function
|
|
2764
|
-
let n =
|
|
2765
|
-
if (o[3]) throw
|
|
2766
|
-
var s =
|
|
2865
|
+
function fi(e, t) {
|
|
2866
|
+
let n = Ei(e, $.__wbindgen_malloc), r = Mi, i = Ei(t, $.__wbindgen_malloc), a = Mi, o = $.calculate_range(n, r, i, a);
|
|
2867
|
+
if (o[3]) throw Di(o[2]);
|
|
2868
|
+
var s = _i(o[0], o[1]).slice();
|
|
2767
2869
|
return $.__wbindgen_free(o[0], o[1] * 8, 8), s;
|
|
2768
2870
|
}
|
|
2769
|
-
function
|
|
2770
|
-
let i =
|
|
2771
|
-
if (c[3]) throw
|
|
2772
|
-
var l =
|
|
2871
|
+
function pi(e, t, n, r) {
|
|
2872
|
+
let i = Ei(e, $.__wbindgen_malloc), a = Mi, o = Ei(t, $.__wbindgen_malloc), s = Mi, c = $.find_visible_range(i, a, o, s, n, r);
|
|
2873
|
+
if (c[3]) throw Di(c[2]);
|
|
2874
|
+
var l = vi(c[0], c[1]).slice();
|
|
2773
2875
|
return $.__wbindgen_free(c[0], c[1] * 4, 4), l;
|
|
2774
2876
|
}
|
|
2775
|
-
function
|
|
2776
|
-
let i =
|
|
2777
|
-
if (c[3]) throw
|
|
2778
|
-
var l =
|
|
2877
|
+
function mi(e, t, n, r) {
|
|
2878
|
+
let i = Ei(e, $.__wbindgen_malloc), a = Mi, o = Ei(t, $.__wbindgen_malloc), s = Mi, c = $.sample_aggregates(i, a, o, s, n, r);
|
|
2879
|
+
if (c[3]) throw Di(c[2]);
|
|
2880
|
+
var l = _i(c[0], c[1]).slice();
|
|
2779
2881
|
return $.__wbindgen_free(c[0], c[1] * 8, 8), l;
|
|
2780
2882
|
}
|
|
2781
|
-
function
|
|
2782
|
-
let i =
|
|
2783
|
-
if (c[3]) throw
|
|
2784
|
-
var l =
|
|
2883
|
+
function hi(e, t, n, r) {
|
|
2884
|
+
let i = Ei(e, $.__wbindgen_malloc), a = Mi, o = Ei(t, $.__wbindgen_malloc), s = Mi, c = $.sample_indexes(i, a, o, s, n, r);
|
|
2885
|
+
if (c[3]) throw Di(c[2]);
|
|
2886
|
+
var l = vi(c[0], c[1]).slice();
|
|
2785
2887
|
return $.__wbindgen_free(c[0], c[1] * 4, 4), l;
|
|
2786
2888
|
}
|
|
2787
|
-
function
|
|
2889
|
+
function gi() {
|
|
2788
2890
|
return {
|
|
2789
2891
|
__proto__: null,
|
|
2790
2892
|
"./waveform_sampling_wasm_bg.js": {
|
|
2791
2893
|
__proto__: null,
|
|
2792
2894
|
__wbindgen_cast_0000000000000001: function(e, t) {
|
|
2793
|
-
return
|
|
2895
|
+
return xi(e, t);
|
|
2794
2896
|
},
|
|
2795
2897
|
__wbindgen_init_externref_table: function() {
|
|
2796
2898
|
let e = $.__wbindgen_externrefs, t = e.grow(4);
|
|
@@ -2799,52 +2901,52 @@ function Qr() {
|
|
|
2799
2901
|
}
|
|
2800
2902
|
};
|
|
2801
2903
|
}
|
|
2802
|
-
function
|
|
2803
|
-
return e >>>= 0,
|
|
2904
|
+
function _i(e, t) {
|
|
2905
|
+
return e >>>= 0, bi().subarray(e / 8, e / 8 + t);
|
|
2804
2906
|
}
|
|
2805
|
-
function
|
|
2806
|
-
return e >>>= 0,
|
|
2907
|
+
function vi(e, t) {
|
|
2908
|
+
return e >>>= 0, Ci().subarray(e / 4, e / 4 + t);
|
|
2807
2909
|
}
|
|
2808
|
-
var
|
|
2809
|
-
function
|
|
2810
|
-
return (
|
|
2910
|
+
var yi = null;
|
|
2911
|
+
function bi() {
|
|
2912
|
+
return (yi === null || yi.byteLength === 0) && (yi = new Float64Array($.memory.buffer)), yi;
|
|
2811
2913
|
}
|
|
2812
|
-
function
|
|
2813
|
-
return e >>>= 0,
|
|
2914
|
+
function xi(e, t) {
|
|
2915
|
+
return e >>>= 0, ji(e, t);
|
|
2814
2916
|
}
|
|
2815
|
-
var
|
|
2816
|
-
function
|
|
2817
|
-
return (
|
|
2917
|
+
var Si = null;
|
|
2918
|
+
function Ci() {
|
|
2919
|
+
return (Si === null || Si.byteLength === 0) && (Si = new Uint32Array($.memory.buffer)), Si;
|
|
2818
2920
|
}
|
|
2819
|
-
var
|
|
2820
|
-
function
|
|
2821
|
-
return (
|
|
2921
|
+
var wi = null;
|
|
2922
|
+
function Ti() {
|
|
2923
|
+
return (wi === null || wi.byteLength === 0) && (wi = new Uint8Array($.memory.buffer)), wi;
|
|
2822
2924
|
}
|
|
2823
|
-
function
|
|
2925
|
+
function Ei(e, t) {
|
|
2824
2926
|
let n = t(e.length * 8, 8) >>> 0;
|
|
2825
|
-
return
|
|
2927
|
+
return bi().set(e, n / 8), Mi = e.length, n;
|
|
2826
2928
|
}
|
|
2827
|
-
function
|
|
2929
|
+
function Di(e) {
|
|
2828
2930
|
let t = $.__wbindgen_externrefs.get(e);
|
|
2829
2931
|
return $.__externref_table_dealloc(e), t;
|
|
2830
2932
|
}
|
|
2831
|
-
var
|
|
2933
|
+
var Oi = new TextDecoder("utf-8", {
|
|
2832
2934
|
ignoreBOM: !0,
|
|
2833
2935
|
fatal: !0
|
|
2834
2936
|
});
|
|
2835
|
-
|
|
2836
|
-
var
|
|
2837
|
-
function
|
|
2838
|
-
return
|
|
2937
|
+
Oi.decode();
|
|
2938
|
+
var ki = 2146435072, Ai = 0;
|
|
2939
|
+
function ji(e, t) {
|
|
2940
|
+
return Ai += t, Ai >= ki && (Oi = new TextDecoder("utf-8", {
|
|
2839
2941
|
ignoreBOM: !0,
|
|
2840
2942
|
fatal: !0
|
|
2841
|
-
}),
|
|
2943
|
+
}), Oi.decode(), Ai = t), Oi.decode(Ti().subarray(e, e + t));
|
|
2842
2944
|
}
|
|
2843
|
-
var
|
|
2844
|
-
function
|
|
2845
|
-
return $ = e.exports,
|
|
2945
|
+
var Mi = 0, $;
|
|
2946
|
+
function Ni(e, t) {
|
|
2947
|
+
return $ = e.exports, yi = null, Si = null, wi = null, $.__wbindgen_start(), $;
|
|
2846
2948
|
}
|
|
2847
|
-
async function
|
|
2949
|
+
async function Pi(e, t) {
|
|
2848
2950
|
if (typeof Response == "function" && e instanceof Response) {
|
|
2849
2951
|
if (typeof WebAssembly.instantiateStreaming == "function") try {
|
|
2850
2952
|
return await WebAssembly.instantiateStreaming(e, t);
|
|
@@ -2870,17 +2972,17 @@ async function gi(e, t) {
|
|
|
2870
2972
|
return !1;
|
|
2871
2973
|
}
|
|
2872
2974
|
}
|
|
2873
|
-
async function
|
|
2975
|
+
async function Fi(e) {
|
|
2874
2976
|
if ($ !== void 0) return $;
|
|
2875
2977
|
e !== void 0 && (Object.getPrototypeOf(e) === Object.prototype ? {module_or_path: e} = e : console.warn("using deprecated parameters for the initialization function; pass a single object instead")), e === void 0 && (e = new URL("data:application/wasm;base64,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kkA7AAAgAkEEayECIAVB/6ziBEsNAAsLIABBCUsEQCACQQJrIgIgBkEGamogACAAQf//A3FB5ABuIgBB5ABsa0H//wNxQQF0LwDSkkA7AAALQQAgBCAAG0UEQCACQQFrIgIgBkEGamogAEEBdC0A05JAOgAACwJ/IAZBBmogAmohB0EAIQRBK0GAgMQAIAEoAggiA0GAgIABcSIAGyEIIANBgICABHFFRSEKAkBBCiACayILIABBFXZqIgAgAS8BDCIFSQRAAkACQCADQYCAgAhxRQRAIAUgAGshBUEAIQACQAJAAkAgA0EddkEDcUEBaw4DAAEAAgsgBSEADAELIAVB/v8DcUEBdiEACyADQf///wBxIQkgASgCBCEDIAEoAgAhAQNAIARB//8DcSAAQf//A3FPDQJBASECIARBAWohBCABIAkgAygCEBEBAEUNAAsMBAsgASABKQIIIgynQYCAgP95cUGwgICAAnI2AghBASECIAEoAgAiAyABKAIEIgkgCCAKECwNAyAFIABrQf//A3EhAANAIARB//8DcSAATw0CIARBAWohBCADQTAgCSgCEBEBAEUNAAsMAwtBASECIAEgAyAIIAoQLA0CIAEgByALIAMoAgwRAgANAkEAIQQgBSAAa0H//wNxIQADQCAEQf//A3EiBSAASSECIAAgBU0NAyAEQQFqIQQgASAJIAMoAhARAQBFDQALDAILIAMgByALIAkoAgwRAgANASABIAw3AghBAAwCC0EBIQIgASgCACIAIAEoAgQiASAIIAoQLA0AIAAgByALIAEoAgwRAgAhAgsgAgsgBkEQaiQAC4gCAQZ/IAAoAggiBCECAn9BASABQYABSQ0AGkECIAFBgBBJDQAaQQNBBCABQYCABEkbCyIGIAAoAgAgBGtLBH8gACAEIAYQHSAAKAIIBSACCyAAKAIEaiECAkAgAUGAAU8EQCABQT9xQYB/ciEFIAFBBnYhAyABQYAQSQRAIAIgBToAASACIANBwAFyOgAADAILIAFBDHYhByADQT9xQYB/ciEDIAFB//8DTQRAIAIgBToAAiACIAM6AAEgAiAHQeABcjoAAAwCCyACIAU6AAMgAiADOgACIAIgB0E/cUGAf3I6AAEgAiABQRJ2QXByOgAADAELIAIgAToAAAsgACAEIAZqNgIIQQALzwIBCH9BAEHo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gIACcSABQYCABElyDQBBgIAEIQYgAEGAgARxIAFBgIAISXINAEGAgAghBiAAQYCACHEgAUGAgBBJcg0AQYCAECEGIABBgIAQcSABQYCAIElyDQBBgIAgIQYgAEGAgCBxIAFBgIDAAElyDQBBgIDAACEGIABBgIDAAHEgAUGAgIABSXINAEGAgIABIQYgAEGAgIABcSABQYCAgAJJcg0AQYCAgAIhBiAAQYCAgAJxIAFBgICABElyDQBBgICABCEGIABBgICABHEgAUGAgIAISXINAEGAgIAIIQYgAEGAgIAIcSABQYCAgBBJcg0AQYCAgBAhBiAAQYCAgBBxIAFBgICAIElyDQBBgICAICEGIABBgICAIHEgAUGAgIDAAElyDQBBgICAwAAhBiAAQYCAgMAAcSABQYCAgIABSXINAEGAgICAASEGIABBgICAgAFxIAFBgICAgAJJcg0AQYCAgIACIQYgAEGAgICAAnEgAUGAgICABElyDQBBgICAgAQhBiAAQYCAgIAEcSABQQBOcg0AEEoACyAAIQEgACEDAkAgBmgiCEUNAAJAIAggC0kEQCAQIAhBGGxqIgEoAgBBgICAgHhHDQEMDAsgCCALQbyJwAAQJgALIAAgCHYiAyABKAIIIghJBEAgASgCFCIIIANLBEAgA0ECdCIIIAEoAhBqKAIAIQMgASgCBCAIaigCACEBDAILIAMgCEHcicAAECYACyADIAhBzInAABAmAAsgASAMTw0BIAcgDE8NAiAHIAEgDyABQQN0aisDACInIA8gB0EDdGorAwAiKGNFIAEgB08gJyAoYnJxGyEHIAMgDE8NAyAEIAxPDQQgBCADIA8gA0EDdGorAwAiJyAPIARBA3RqKwMAIihkRSADIARPICcgKGJycRshBCAAIAZqIgAgI0kNAAsCQAJAAkACQAJAIBZBAWsOBgMAAAECBAALQZyKwABBKEHEisAAED4ACyAFKAIUIgAEQCAFKAIQIABBAnRqQQRrKAIAIAdGDQkLIAUoAgwgAEYEQCAFQQxqECcLIAUoAhAgAEECdGogBzYCACAFIABBAWo2AhQMCAsgBSgCFCIABEAgBSgCECAAQQJ0akEEaygCACAERg0ICyAFKAIMIABGBEAgBUEMahAnCyAFKAIQIABBAnRqIAQ2AgAgBSAAQQFqNgIUDAcLIAUgBDYCCCAFIAI2AiQgBSAHNgIYAkAgAiAHTQRAIAIhASAHIQIMAQsgBSAHNgIkIAUgAjYCGCAHIQELIA4gImohAAJAIAIgBE0EQCACIQEgBCECDAELIAUgAjYCCCAFQRhqIQMgASAESwR/IAUgATYCGCAFQSRqBSADCyAENgIAIAUoAhghAQsCQCAAIAJPBEAgAiEDIAAhAgwBCwJ/IAVBCGogACABTw0AGiAFIAE2AgggBUEYaiAFKAIkIgEgAE0NABogBSABNgIYIAVBJGoLIAA2AgAgBSgCCCEDIAUoAhghAQsgBUEMaiIAIAUoAiQQJSAAIAEQJSAAIAMQJSAAIAIQJQwGCyAEIAdJDQQCQAJAIAUoAhQiAARAIAUoAhAgAEECdGpBBGsoAgAgB0YNAQsgBSgCDCAARgRAIAVBDGoQJyAFKAIQIABBAnRqIAc2AgAgBSAAQQFqIgA2AhQMAQsgBSgCECAAQQJ0aiAHNgIAIAUgAEEBaiIANgIUQQAhASAARQ0BCyAAIQEgBSgCECAAQQJ0akEEaygCACAERg0GCyAFKAIMIAFGBEAgBUEMahAnCyAFKAIQIAFBAnRqIAQ2AgAgBSABQQFqNgIUDAULIAEgDEH8h8AAECYACyAHIAxBjIjAABAmAAsgAyAMQdyHwAAQJgALIAQgDEHsh8AAECYACwJAAkAgBSgCFCIABEAgBSgCECAAQQJ0akEEaygCACAERg0BCyAFKAIMIABGBEAgBUEMahAnIAUoAhAgAEECdGogBDYCACAFIABBAWoiADYCFAwBCyAFKAIQIABBAnRqIAQ2AgAgBSAAQQFqIgA2AhRBACEBIABFDQELIAAhASAFKAIQIABBAnRqQQRrKAIAIAdGDQELIAUoAgwgAUYEQCAFQQxqECcLIAUoAhAgAUECdGogBzYCACAFIAFBAWo2AhQLIBggGUcNAAsgBUEMaiAUQQFrECUgDSAFKAIUNgIIIA0gBSkCDDcCAAwGC0HUisAAQScQPyEAIA1BgICAgHg2AgAgDSAANgIEDAULIAUgFDYCLCAFIA42AiggBSAJNgIkIAVBGGohB0EAIQAjAEEgayICJAAgBUEkaiIJKAIIIgEgCSgCBGsiA0EAIAEgA08bIgFBGGwhBAJAAkAgAUHVqtUqSw0AQQghAyAEBEBBCCEAIARBCBBLIgNFDQEgASEACyACQQA2AhAgAiADNgIMIAIgADYCCCACQQA2AhggAiACQRBqNgIUIAIgAzYCHCAJIAJBFGoQEyAHIAIoAhA2AgggByACKQIINwIAIAJBIGokAAwBCyAAIAQQPQALIA0gBSgCHCIAIAUoAiAgFiATEAMgBSgCGCIBBEAgACABQRhsQQgQRwsgBSgCDCIARQ0EIAUoAhAgAEECdEEEEEcMBAsgCCAAQeyJwAAQJgALQQAhAyACQQAgAiAUTRsiB0ECdCIAQQQQSyIBBEAgAkEDcSEGIA4gFGtBfE0EQCACQXxxIQQgASEAA0AgACADIA5qIgI2AgAgAEEMaiACQQNqNgIAIABBCGogAkECajYCACAAQQRqIAJBAWo2AgAgAEEQaiEAIAQgA0EEaiIDRw0ACyAGRQ0CIAMgDmohDgsgAyAGaiABIANBAnRqIQADQCAAIA42AgAgAEEEaiEAIA5BAWohDiAGQQFrIgYNAAshAwwBC0EEIAAQPQALIA0gAzYCCCANIAE2AgQgDSAHNgIADAELIAUgCTYCDCAFIA42AhAgBSAUNgIUQQAhAyACQQAgAiAUTRsiAEEYbCECIABB1arVKksNAUEIIQEgAgRAQQghAyACQQgQSyIBRQ0CIAAhAwsgBUEANgIgIAUgATYCHCAFIAM2AhggBUEANgIoIAUgBUEgajYCJCAFIAE2AiwgBUEMaiAFQSRqEBMgBSgCGCEAIA0gBSgCHCIBIAUoAiAgFiATEAMgAEUNACABIABBGGxBCBBHCyAFQTBqJAAMAQsgAyACED0ACyASIBIoAgBBAWo2AgAgFygCBCIAQYGAgIB4Rg0CIBcpAggLNwIEIB8gADYCACAXQRBqJAAMAgtBmI7AABA3AAsQNgALAkACQAJ/IAooAgwiAEGAgICAeEYEQEEBIQFBACEAQQAhAiAKKAIQDAELIAooAhAhAQJAIAooAhQiAiAATwRAIAEhAAwBCyAAQQJ0IQMgAkUEQEEEIQAgASADQQQQRwwBCyABIANBBCACQQJ0IgEQRCIARQ0CC0EAIQFBAAshAyARIAE2AgwgESADNgIIIBEgAjYCBCARIAA2AgAgCkFAayQADAELQQQgARA9AAsgESgCACARKAIEIBEoAgggESgCDCARQRBqJAAL4wYCCH8DfiMAQRBrIgwkACMAQRBrIg0kACANQQhqIQ4gAyEKIwBB8ABrIgckAAJ/AkAgBL0iEEL///////////8Ag0KAgICAgICA+P8AWg0AIAW9IhFC////////////AIMiD1AgEUIAUyIIIA9CAX1C/////////wdUcXIgD0KAgICAgICA+P8AUXIgD0KAgICAgICA+P8AVXIgD0KAgICAgICACH1CgICAgICAgPD/AFQgCHFyDQAgAUEDdCELQQAhCAJAA0AgCCALRg0BIAAgCGogCEEIaiEIKQMAQv///////////wCDQv/////////3/wBYDQALQcmIwABBLBA/rSEQIAdBGGohCUGAgICAeAwCCwJAIApFDQAgASAKRgRAIAFBAWohCSACIQgDQCAJQQFrIglBAkkNAiAIKAIAIQsgCyAIQQRqIggoAgBNDQALC0GciMAAQS0QP60hECAHQRhqIQlBgICAgHgMAgsCQCABRQRAQQghCwwBCyABQQN0IghBCBBLIgsEQCAIRQ0BIAsgACAI/AoAAAwBC0EIIAgQPQALAkACQCAKRQRAQYCAgIB4IQoMAQsgCkECdCIJQQQQSyIIRQ0BIAkEQCAIIAIgCfwKAAALIAitIAqtQiCGhCEPC0QAAAAAAADwPyAFoyEEIAdBADYCGCAHQRBqIQlBAAwCC0EEIAkQPQALQfWIwABBNhA/rSEQIAdBGGohCUGAgICAeAshCCAJIAg2AgACfyAHKAIYIghBgICAgHhGBEBBASEJIBCnDAELIAcgBygCEDYCaCAHQQQ2AmQgByAINgJgIAdBADYCXCAHQoCAgIDAADcCVCAHIAE2AlAgByALNgJMIAcgATYCSCAHIA83A0AgByAKNgI8IAdBgICAgHg2AjAgByAGNgIsIAdBADYCKCAHIAQ5AyAgByAQNwMYIAdBCGogB0EYahAXIAcoAgghCSAHKAIMCyEGIA4gCTYCACAOIAY2AgQgB0HwAGokACANKAIMIQogDSgCCCEGIAMEQCACIANBAnRBBBBHCyABBEAgACABQQN0QQgQRwsgDCAGQQFxIgA2AgggDCAKQQAgABs2AgQgDEEAIAogABs2AgAgDUEQaiQAIAwoAgAgDCgCBCAMKAIIIAxBEGokAAuBIAMmfwV8AX4jAEEQayIPJAAjAEFAaiIKJAAgCiAENgIoIAogAzYCJCAKIAI2AiAgCiABNgIcIAogADYC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ZSBmb3Igc2xpY2Ugb2YgbGVuZ3RoIMAASGNhbm5vdCBhY2Nlc3MgYSBUaHJlYWQgTG9jYWwgU3RvcmFnZSB2YWx1ZSBkdXJpbmcgb3IgYWZ0ZXIgZGVzdHJ1Y3Rpb246IMAAL3J1c3RjLzU5ODA3NjE2ZTFmYTI1NDA3MjRiZmJhYzE0ZDc5NzZkN2U0YTM4NjAvbGlicmFyeS9jb3JlL3NyYy9zbGljZS9zb3J0L3NoYXJlZC9zbWFsbHNvcnQucnMAL3J1c3RjLzU5ODA3NjE2ZTFmYTI1NDA3MjRiZmJhYzE0ZDc5NzZkN2U0YTM4NjAvbGlicmFyeS9jb3JlL3NyYy9zbGljZS9zb3J0L3N0YWJsZS9xdWlja3NvcnQucnMAL3J1c3RjLzU5ODA3NjE2ZTFmYTI1NDA3MjRiZmJhYzE0ZDc5NzZkN2U0YTM4NjAvbGlicmFyeS9zdGQvc3JjL3RocmVhZC9sb2NhbC5ycwAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi93YXNtLWJpbmRnZW4tMC4yLjExOC9zcmMvZXh0ZXJucmVmLnJzAC9ydXN0Yy81OTgwNzYxNmUxZmEyNTQwNzI0YmZiYWMxNGQ3OTc2ZDdlNGEzODYwL2xpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMvbW9kLnJzAC9ydXN0L2RlcHMvZGxtYWxsb2MtMC4yLjExL3NyYy9kbG1hbGxvYy5ycwBzcmMvbGliLnJzAAAAAA4DEAAKAAAA0gAAABkAAAAOAxAACgAAANoAAAAaAAAADgMQAAoAAADaAAAAPQAAAA4DEAAKAAAAyQAAAB0AAAAOAxAACgAAAKoAAAAQAAAADgMQAAoAAACqAAAAIgAAAA4DEAAKAAAArQAAACIAAAAOAxAACgAAABcCAAAcAAAADgMQAAoAAAALAgAAJgAAAA4DEAAKAAAA8gEAACoAAAAOAxAACgAAAPgBAAAqAAAADgMQAAoAAAD+AQAAMgAAAA4DEAAKAAAAkgEAAA8AAAAOAxAACgAAAJIBAAAsAAAADgMQAAoAAACNAQAADwAAAA4DEAAKAAAAjQEAACwAAABzb3VyY2UgaW5kZXhlcyBtdXN0IGJlIGVtcHR5IG9yIG5vbmRlY3JlYXNpbmdzYW1wbGUgdmFsdWVzIG11c3QgYmUgZmluaXRlIGFuZCBhZGRyZXNzYWJsZXNhbXBsZSBtZXRhZGF0YSBtdXN0IGJlIGZpbml0ZSBhbmQgc2FtcGxlUmF0ZSBwb3NpdGl2ZQAOAxAACgAAABYBAAAkAAAADgMQAAoAAAAuAgAAMAAAAA4DEAAKAAAALwIAAB8AAAAOAxAACgAAAC8CAAA1AAAADgMQAAoAAADWAQAAIAAAAA4DEAAKAAAAsQEAAC0AAAAOAxAACgAAALIBAAAtAAAAaW50ZXJuYWwgZXJyb3I6IGVudGVyZWQgdW5yZWFjaGFibGUgY29kZQ4DEAAKAAAAmgIAABYAAABzdHJhdGVneSBkb2VzIG5vdCByZXR1cm4gc291cmNlIGluZGV4ZXNzdHJhdGVneSBkb2VzIG5vdCByZXR1cm4gYWdncmVnYXRlIHZhbHVlc3JlZ2lzdGVyZWQgZGF0YXNldHMgbXVzdCBjb250YWluIGZpbml0ZSBjb29yZGluYXRlc3ggYW5kIHkgbXVzdCBoYXZlIHRoZSBzYW1lIGxlbmd0aA4DEAAKAAAAdgEAABIAAAAOAxAACgAAAHMBAAA8AAAADgMQAAoAAABMAgAAHAAAAA4DEAAKAAAATwIAACwAAAAOAxAACgAAAFACAAAdAAAADgMQAAoAAABRAgAAHQAAAA4DEAAKAAAAUgIAACUAAAABAAAADgMQAAoAAACUAAAAEgAAAA4DEAAKAAAAggAAABAAAAAOAxAACgAAAIIAAAAiAAAADgMQAAoAAACFAAAAIgAAAA4DEAAKAAAAAQEAAB0AAAAOAxAACgAAABwDAAAlAAAADgMQAAoAAABJAAAAQwAAAA4DEAAKAAAALQMAAA4AAAAOAxAACgAAACYDAAAnAAAAZGF0YXNldCBoYW5kbGUgd2FzIG5vdCBmb3VuZA4DEAAKAAAAPwMAACUAAAAOAxAACgAAAAoDAAAlAAAADgMQAAoAAABRAwAAJQAAANoBEABPAAAA3wEAABkAAABtaWQgPiBsZW4AAAB6ARAAXwAAAE0AAAAfAAAAegEQAF8AAABHAAAAFwAAAA4DEAAKAAAAfwEAABoAAAAOAxAACgAAAPMAAAAWAAAADgMQAAoAAABJAAAAQwAAAA4DEAAKAAAASQAAAEMAAAAqAhAAZwAAAHwAAAARAAAAKgIQAGcAAACJAAAAEQAAAAUAAAAMAAAABAAAAAYAAAAHAAAACAAAAAAAAAAIAAAABAAAAAkAAAAKAAAACwAAAAwAAAANAAAAEAAAAAQAAAAOAAAADwAAABAAAAARAAAAbV3L1ixQ62N4QaZXcRuLuRWiXFU0VQfUU3itgVHwo/dhc3NlcnRpb24gZmFpbGVkOiBwc2l6ZSA+PSBzaXplICsgbWluX292ZXJoZWFkAADjAhAAKgAAALEEAAAJAAAAYXNzZXJ0aW9uIGZhaWxlZDogcHNpemUgPD0gc2l6ZSArIG1heF9vdmVyaGVhZAAA4wIQACoAAAC3BAAADQAAAAAAAAAIAAAABAAAABIAAABBY2Nlc3NFcnJvcgAFAAAADAAAAAQAAAATAAAAY2FwYWNpdHkgb3ZlcmZsb3cAAACSAhAAUAAAABwAAAAFAAAAfSB9Y2FsbGVkIGBPcHRpb246OnVud3JhcCgpYCBvbiBhIGBOb25lYCB2YWx1ZTAwMDEwMjAzMDQwNTA2MDcwODA5MTAxMTEyMTMxNDE1MTYxNzE4MTkyMDIxMjIyMzI0MjUyNjI3MjgyOTMwMzEzMjMzMzQzNTM2MzczODM5NDA0MTQyNDM0NDQ1NDY0NzQ4NDk1MDUxNTI1MzU0NTU1NjU3NTg1OTYwNjE2MjYzNjQ2NTY2Njc2ODY5NzA3MTcyNzM3NDc1NzY3Nzc4Nzk4MDgxODI4Mzg0ODU4Njg3ODg4OTkwOTE5MjkzOTQ5NTk2OTc5ODk5YXR0ZW1wdCB0byBjYWxjdWxhdGUgdGhlIHJlbWFpbmRlciB3aXRoIGEgZGl2aXNvciBvZiB6ZXJvdXNlci1wcm92aWRlZCBjb21wYXJpc29uIGZ1bmN0aW9uIGRvZXMgbm90IGNvcnJlY3RseSBpbXBsZW1lbnQgYSB0b3RhbCBvcmRlcgAaARAAXwAAAFwDAAAFAAAAUmVmQ2VsbCBhbHJlYWR5IG11dGFibHkgYm9ycm93ZWRSZWZDZWxsIGFscmVhZHkgYm9ycm93ZWQAQfCVwAALAQgAQYCWwAALAQQAfAlwcm9kdWNlcnMCCGxhbmd1YWdlAQRSdXN0AAxwcm9jZXNzZWQtYnkDBXJ1c3RjHTEuOTUuMCAoNTk4MDc2MTZlIDIwMjYtMDQtMTQpBndhbHJ1cwYwLjI2LjEMd2FzbS1iaW5kZ2VuEzAuMi4xMTggKDc1M2JiN2ZmNCkAaw90YXJnZXRfZmVhdHVyZXMGKw9tdXRhYmxlLWdsb2JhbHMrE25vbnRyYXBwaW5nLWZwdG9pbnQrC2J1bGstbWVtb3J5KwhzaWduLWV4dCsPcmVmZXJlbmNlLXR5cGVzKwptdWx0aXZhbHVl", "" + import.meta.url));
|
|
2876
|
-
let t =
|
|
2978
|
+
let t = gi();
|
|
2877
2979
|
(typeof e == "string" || typeof Request == "function" && e instanceof Request || typeof URL == "function" && e instanceof URL) && (e = fetch(e));
|
|
2878
|
-
let { instance: n, module: r } = await
|
|
2879
|
-
return
|
|
2980
|
+
let { instance: n, module: r } = await Pi(await e, t);
|
|
2981
|
+
return Ni(n, r);
|
|
2880
2982
|
}
|
|
2881
2983
|
//#endregion
|
|
2882
2984
|
//#region src/core/wasmSampling.ts
|
|
2883
|
-
var
|
|
2985
|
+
var Ii = {
|
|
2884
2986
|
none: 0,
|
|
2885
2987
|
peak: 1,
|
|
2886
2988
|
lttb: 2,
|
|
@@ -2889,24 +2991,24 @@ var vi = {
|
|
|
2889
2991
|
max: 5,
|
|
2890
2992
|
minmax: 6,
|
|
2891
2993
|
sum: 7
|
|
2892
|
-
},
|
|
2893
|
-
function
|
|
2994
|
+
}, Li;
|
|
2995
|
+
function Ri(e, t) {
|
|
2894
2996
|
return t === 0 ? 0 : Number.isFinite(e) ? Math.min(t, Math.max(1, Math.floor(e))) : t;
|
|
2895
2997
|
}
|
|
2896
|
-
function
|
|
2998
|
+
function zi(e) {
|
|
2897
2999
|
if (e.x.length !== e.y.length) throw Error("x and y must have the same length");
|
|
2898
3000
|
}
|
|
2899
|
-
function
|
|
2900
|
-
return
|
|
3001
|
+
function Bi(e) {
|
|
3002
|
+
return Li ??= Promise.resolve(Fi(e)).then(() => void 0), Li;
|
|
2901
3003
|
}
|
|
2902
|
-
async function
|
|
2903
|
-
|
|
2904
|
-
let t =
|
|
3004
|
+
async function Vi(e) {
|
|
3005
|
+
zi(e), await Bi();
|
|
3006
|
+
let t = Ri(e.targetPointCount, e.x.length), n = Ii[e.strategy];
|
|
2905
3007
|
if (e.strategy !== "average" && e.strategy !== "sum") return {
|
|
2906
3008
|
kind: "source-indexes",
|
|
2907
|
-
sourceIndexes:
|
|
3009
|
+
sourceIndexes: hi(e.x, e.y, n, t)
|
|
2908
3010
|
};
|
|
2909
|
-
let r =
|
|
3011
|
+
let r = mi(e.x, e.y, n, t), i = new Float64Array(r.length / 2), a = new Float64Array(r.length / 2);
|
|
2910
3012
|
for (let e = 0; e < i.length; e += 1) i[e] = r[e * 2], a[e] = r[e * 2 + 1];
|
|
2911
3013
|
return {
|
|
2912
3014
|
kind: "aggregates",
|
|
@@ -2914,50 +3016,69 @@ async function Ci(e) {
|
|
|
2914
3016
|
y: a
|
|
2915
3017
|
};
|
|
2916
3018
|
}
|
|
2917
|
-
async function
|
|
3019
|
+
async function Hi(e, t) {
|
|
2918
3020
|
if (e.length !== t.length) throw Error("x and y must have the same length");
|
|
2919
|
-
await
|
|
2920
|
-
let n =
|
|
3021
|
+
await Bi();
|
|
3022
|
+
let n = fi(e, t);
|
|
2921
3023
|
return n.length === 4 ? {
|
|
2922
3024
|
x: [n[0], n[1]],
|
|
2923
3025
|
y: [n[2], n[3]]
|
|
2924
3026
|
} : void 0;
|
|
2925
3027
|
}
|
|
2926
|
-
async function
|
|
3028
|
+
async function Ui(e, t, n) {
|
|
2927
3029
|
if (e.length !== t.length) throw Error("x and y must have the same length");
|
|
2928
|
-
await
|
|
2929
|
-
let r =
|
|
3030
|
+
await Bi();
|
|
3031
|
+
let r = pi(e, t, n[0], n[1]);
|
|
2930
3032
|
return [r[0], r[1]];
|
|
2931
3033
|
}
|
|
2932
3034
|
//#endregion
|
|
2933
3035
|
//#region src/components/core/trackPagination.ts
|
|
2934
|
-
var
|
|
3036
|
+
var Wi = (e, t) => t ? e.filter((e) => e.series.length > 0) : e, Gi = (e, t, n, r, i) => {
|
|
2935
3037
|
let a = t?.[i];
|
|
2936
3038
|
if (a !== void 0) return a;
|
|
2937
3039
|
if (e !== void 0) return n === 1 ? e : typeof e == "number" ? e + r : `${e}-${r + 1}`;
|
|
2938
|
-
},
|
|
3040
|
+
}, Ki = (e, t, n) => (r) => {
|
|
2939
3041
|
let i = n(), a = i.findIndex((e) => e.id === r);
|
|
2940
|
-
return
|
|
3042
|
+
return Gi(e(), t(), i.length, a >= 0 ? a : 0, r);
|
|
2941
3043
|
};
|
|
2942
3044
|
//#endregion
|
|
2943
3045
|
//#region src/components/core/yAxisLayoutMetrics.ts
|
|
2944
|
-
function
|
|
3046
|
+
function qi(e, t, n, r) {
|
|
2945
3047
|
return e === "independent" ? Object.fromEntries(t.flatMap((e, t) => {
|
|
2946
3048
|
let n = r[t];
|
|
2947
3049
|
return n ? [[e.id, n]] : [];
|
|
2948
3050
|
})) : n;
|
|
2949
3051
|
}
|
|
2950
|
-
function
|
|
2951
|
-
let
|
|
3052
|
+
function Ji(e, t, n, r, i, a, o, s, c = 0, l = !0) {
|
|
3053
|
+
let u = e.filter((e) => e.visibleSeries.length > 0).flatMap((e) => Tr(e, t, n, r, i, c)).map((e) => Er(e.domain, a, void 0, l ? e.seriesList[0]?.unit : void 0, o, s).tickTextWidth), d = Math.max(7, ...u), f = d + 7 + 4, p = -(7 + d + 0 + 20 / 2);
|
|
2952
3054
|
return {
|
|
2953
|
-
tickClearance:
|
|
2954
|
-
fullClearance:
|
|
2955
|
-
labelCenterX:
|
|
3055
|
+
tickClearance: f,
|
|
3056
|
+
fullClearance: d + 7 + 0 + 20 + 4,
|
|
3057
|
+
labelCenterX: p
|
|
3058
|
+
};
|
|
3059
|
+
}
|
|
3060
|
+
//#endregion
|
|
3061
|
+
//#region src/components/core/useWaveformYAxisLayout.ts
|
|
3062
|
+
function Yi(e) {
|
|
3063
|
+
let { props: n, chartTracks: r, layoutTracks: i, chartWidth: a, gridOptions: o, viewportYDomains: s, yAxisTickCount: c } = e, l = t(() => n.layoutPreset === "edge-compact"), u = t(() => !l.value || n.unitDisplayMode === "axis"), d = t(() => Ji(r.value, n.overlayMode, n.yDomain, n.yDomains, s.value, n.axes?.y?.nice !== !1, c.value, n.displayMode === "compact", n.axes?.y?.upperPaddingRatio, u.value)), f = t(() => r.value.some((e) => e.visibleSeries.length === 1 && !!(e.visibleSeries[0]?.name.trim() || n.yLabel))), p = t(() => r.value.some((e) => e.visibleSeries.length > 0)), m = t(() => Math.max(zt.left, f.value ? d.value.fullClearance : p.value ? d.value.tickClearance : 0)), h = t(() => Dr(i.value.filter((e) => e.visibleSeries.length > 0), n.overlayMode, n.yDomain, n.yDomains, c.value, n.axes?.y?.nice !== !1, n.displayMode === "compact", s.value, n.axes?.y?.upperPaddingRatio, u.value)), g = t(() => l.value ? zt.right + Math.max(0, _.value - 4) : n.overlayMode === "multi-axis" ? Math.max(m.value, h.value.clearance.left) : m.value), _ = t(() => p.value ? n.overlayMode === "multi-axis" || f.value ? h.value.clearance.left : d.value.tickClearance : 0), v = t(() => n.overlayMode === "multi-axis" ? Math.max(zt.right, h.value.clearance.right) : zt.right), y = t(() => Math.max(0, a.value - g.value - v.value));
|
|
3064
|
+
return {
|
|
3065
|
+
yAxisMetrics: d,
|
|
3066
|
+
yAxisSlots: h,
|
|
3067
|
+
resolvedChartLeftMargin: g,
|
|
3068
|
+
innerWidth: y,
|
|
3069
|
+
yAxisLayout: t(() => {
|
|
3070
|
+
let e = Gn(n.displayMode), t = o.value.columnCount, r = t > 1, i = Math.max(e, l.value ? h.value.clearance.left : d.value.fullClearance), a = Math.max(e, d.value.tickClearance), s = (y.value - i * Math.max(0, t - 1)) / t >= 120;
|
|
3071
|
+
return {
|
|
3072
|
+
horizontalGap: n.overlayMode === "multi-axis" && r && p.value ? Math.max(e, h.value.clearance.left + h.value.clearance.right) : r && p.value ? f.value && s ? i : a : e,
|
|
3073
|
+
hideSecondaryLabels: n.overlayMode !== "multi-axis" && r && f.value && !s
|
|
3074
|
+
};
|
|
3075
|
+
}),
|
|
3076
|
+
hasVisibleWaveformData: p
|
|
2956
3077
|
};
|
|
2957
3078
|
}
|
|
2958
3079
|
//#endregion
|
|
2959
3080
|
//#region src/components/core/useWaveformLayout.ts
|
|
2960
|
-
function
|
|
3081
|
+
function Xi(e) {
|
|
2961
3082
|
let { props: n, preparedSeries: r, currentPage: i, hiddenSeriesIdSet: a, chartWidth: o, innerHeight: s, isCleanView: c, sharedTransform: l, independentTransforms: u, sharedYDomains: d, independentYDomains: f, annotationInteraction: p, linePointOverrides: m } = e, h = t(() => r.value.map((e, t) => ({
|
|
2962
3083
|
...e,
|
|
2963
3084
|
color: e.color ?? (t === 0 ? n.lineColor : Ut[t % Ut.length])
|
|
@@ -2980,83 +3101,91 @@ function ji(e) {
|
|
|
2980
3101
|
yDomain: o.length ? _t(o) : [0, 1]
|
|
2981
3102
|
};
|
|
2982
3103
|
});
|
|
2983
|
-
}), v = t(() => Dn(n.rendering)),
|
|
2984
|
-
let e =
|
|
2985
|
-
return g.value.fillIncompleteLastRow && e.length > 0 ? e :
|
|
2986
|
-
}),
|
|
2987
|
-
|
|
2988
|
-
|
|
2989
|
-
|
|
2990
|
-
|
|
2991
|
-
|
|
2992
|
-
|
|
3104
|
+
}), v = t(() => n.unitDisplayMode === "legend-single-series" && !_.value.some((e) => e.series.length > 1)), y = t(() => Dn(n.rendering)), b = t(() => Wi(_.value, g.value.hideEmptyTracks)), x = t(() => Un(b.value.length, g.value)), S = t(() => Wn(b.value, i.value, g.value)), C = t(() => {
|
|
3105
|
+
let e = S.value.filter((e) => e.series.length > 0);
|
|
3106
|
+
return g.value.fillIncompleteLastRow && e.length > 0 ? e : S.value;
|
|
3107
|
+
}), w = t(() => vr(s.value, n.axes?.y?.splitNumber)), T = t(() => qi(n.displayMode, _.value, d.value, f.value)), { yAxisMetrics: E, yAxisSlots: D, resolvedChartLeftMargin: O, innerWidth: k, yAxisLayout: A, hasVisibleWaveformData: j } = Yi({
|
|
3108
|
+
props: n,
|
|
3109
|
+
chartTracks: _,
|
|
3110
|
+
layoutTracks: C,
|
|
3111
|
+
chartWidth: o,
|
|
3112
|
+
gridOptions: g,
|
|
3113
|
+
viewportYDomains: T,
|
|
3114
|
+
yAxisTickCount: w
|
|
3115
|
+
}), M = t(() => h.value.length > 0), N = t(() => k.value > 0 && s.value > 0), P = t(() => n.xLabel ?? `时间(${n.timeUnit})`), F = t(() => n.interactionMode), I = t(() => F.value !== "annotation"), L = t(() => {
|
|
2993
3116
|
let e = [];
|
|
2994
3117
|
return _.value.forEach((t) => {
|
|
2995
3118
|
t.visibleSeries.length && e.push(t.xDomain[0], t.xDomain[1]);
|
|
2996
3119
|
}), _t(e);
|
|
2997
|
-
}),
|
|
3120
|
+
}), R = t(() => {
|
|
2998
3121
|
let e = n.initialXDomain;
|
|
2999
|
-
return e && Number.isFinite(e[0]) && Number.isFinite(e[1]) && e[0] !== e[1] ? Qn(e[0] < e[1] ? e : [e[1], e[0]], n.xDomainStrategy, !0) : Qn(
|
|
3000
|
-
}),
|
|
3122
|
+
return e && Number.isFinite(e[0]) && Number.isFinite(e[1]) && e[0] !== e[1] ? cr(Qn(e[0] < e[1] ? e : [e[1], e[0]], n.xDomainStrategy, !0), n) : cr(Qn(L.value, n.xDomainStrategy), n);
|
|
3123
|
+
}), z = (e) => {
|
|
3001
3124
|
let t = n.initialXDomains?.[e.series?.trackId ?? e.series?.id ?? e.id] ?? (e.series ? n.initialXDomains?.[e.series.id] : void 0) ?? n.initialXDomain;
|
|
3002
|
-
return t && Number.isFinite(t[0]) && Number.isFinite(t[1]) && t[0] !== t[1] ? Qn(t[0] < t[1] ? t : [t[1], t[0]], n.xDomainStrategy, !0) : Qn(_t(e.seriesList.flatMap((e) => e.xDomain)), n.xDomainStrategy);
|
|
3003
|
-
},
|
|
3125
|
+
return t && Number.isFinite(t[0]) && Number.isFinite(t[1]) && t[0] !== t[1] ? cr(Qn(t[0] < t[1] ? t : [t[1], t[0]], n.xDomainStrategy, !0), n) : cr(Qn(_t(e.seriesList.flatMap((e) => e.xDomain)), n.xDomainStrategy), n);
|
|
3126
|
+
}, B = t(() => lr(l.value.rescaleX(W(R.value, [0, k.value])).domain(), n)), V = t(() => Kn(k.value, s.value, g.value, n.displayMode, C.value.map((e) => n.layoutPreset === "edge-compact" ? e.series.length > 0 : !!e), A.value.horizontalGap, !0, n.layoutPreset === "edge-compact" && !c.value).map((e, t) => ({
|
|
3004
3127
|
...e,
|
|
3005
|
-
series:
|
|
3006
|
-
}))),
|
|
3007
|
-
cells:
|
|
3128
|
+
series: C.value[t]
|
|
3129
|
+
}))), H = t(() => fr({
|
|
3130
|
+
cells: V.value,
|
|
3008
3131
|
grid: g.value,
|
|
3132
|
+
useNonEmptyBottomTracks: n.layoutPreset === "edge-compact",
|
|
3133
|
+
compactYAxisLayout: n.layoutPreset === "edge-compact",
|
|
3134
|
+
showAxisUnits: n.layoutPreset !== "edge-compact" || n.unitDisplayMode === "axis",
|
|
3009
3135
|
displayMode: n.displayMode,
|
|
3010
3136
|
overlayMode: n.overlayMode,
|
|
3011
3137
|
independentTransforms: u.value,
|
|
3012
|
-
sharedZoomDomain:
|
|
3013
|
-
initialXDomain: n.initialXDomain ?
|
|
3138
|
+
sharedZoomDomain: B.value,
|
|
3139
|
+
initialXDomain: n.initialXDomain ? R.value : void 0,
|
|
3014
3140
|
initialXDomains: n.initialXDomains,
|
|
3015
3141
|
xDomainStrategy: n.xDomainStrategy,
|
|
3142
|
+
integerZoom: n.integerZoom,
|
|
3016
3143
|
fixedYDomain: n.yDomain,
|
|
3017
3144
|
fixedYDomains: n.yDomains,
|
|
3018
|
-
yDomains:
|
|
3145
|
+
yDomains: T.value,
|
|
3019
3146
|
timeUnit: n.timeUnit,
|
|
3020
3147
|
xAxisLabelFormatter: n.axes?.x?.labelFormatter,
|
|
3021
3148
|
yAxisSplitNumber: n.axes?.y?.splitNumber,
|
|
3022
3149
|
yAxisNice: n.axes?.y?.nice,
|
|
3023
|
-
|
|
3150
|
+
yAxisUpperPaddingRatio: n.axes?.y?.upperPaddingRatio,
|
|
3151
|
+
rendering: y.value,
|
|
3024
3152
|
linePointOverrides: m?.value,
|
|
3025
|
-
hideSecondaryLabels: c.value ||
|
|
3153
|
+
hideSecondaryLabels: c.value || A.value.hideSecondaryLabels,
|
|
3026
3154
|
yLabel: n.yLabel,
|
|
3027
|
-
yAxisLabelX:
|
|
3028
|
-
yAxisSlots:
|
|
3029
|
-
showCompactEmptyTracks: n.displayMode === "compact" &&
|
|
3030
|
-
})),
|
|
3155
|
+
yAxisLabelX: D.value.slots.find((e) => e.side === "left" && e.sideIndex === 0)?.labelOffset ?? E.value.labelCenterX,
|
|
3156
|
+
yAxisSlots: D.value.slots,
|
|
3157
|
+
showCompactEmptyTracks: n.displayMode === "compact" && M.value
|
|
3158
|
+
})), U = (e) => e.seriesList.map((t) => ({
|
|
3031
3159
|
...e,
|
|
3032
3160
|
series: t,
|
|
3033
3161
|
yScale: e.seriesPaths.find((e) => e.series.id === t.id)?.yScale ?? e.yScale
|
|
3034
|
-
})),
|
|
3162
|
+
})), G = (e, t) => e.seriesPaths.find((e) => e.series.id === t)?.yScale ?? e.yScale, K = t(() => H.value.flatMap(U));
|
|
3035
3163
|
return {
|
|
3036
3164
|
chartSeries: h,
|
|
3037
3165
|
chartTracks: _,
|
|
3038
|
-
|
|
3039
|
-
|
|
3166
|
+
showLegendUnits: v,
|
|
3167
|
+
pageableTracks: b,
|
|
3168
|
+
renderingOptions: y,
|
|
3040
3169
|
gridOptions: g,
|
|
3041
|
-
pageCount:
|
|
3042
|
-
pagedTracks:
|
|
3043
|
-
resolvedChartLeftMargin:
|
|
3044
|
-
innerWidth:
|
|
3045
|
-
hasVisibleWaveformData:
|
|
3046
|
-
hasWaveformData:
|
|
3047
|
-
hasChartArea:
|
|
3048
|
-
resolvedXLabel:
|
|
3049
|
-
activeInteractionMode:
|
|
3050
|
-
isZoomMode:
|
|
3051
|
-
initialXDomain:
|
|
3052
|
-
sharedZoomDomain:
|
|
3053
|
-
resolveInitialTrackDomain:
|
|
3054
|
-
gridCells:
|
|
3055
|
-
trackLayouts:
|
|
3056
|
-
annotationLayoutsForTrack:
|
|
3057
|
-
resolveSeriesYScale:
|
|
3058
|
-
annotationTrackLayouts:
|
|
3059
|
-
renderedAnnotations: t(() => n.annotationsVisible ? Pe(n.annotations,
|
|
3170
|
+
pageCount: x,
|
|
3171
|
+
pagedTracks: S,
|
|
3172
|
+
resolvedChartLeftMargin: O,
|
|
3173
|
+
innerWidth: k,
|
|
3174
|
+
hasVisibleWaveformData: j,
|
|
3175
|
+
hasWaveformData: M,
|
|
3176
|
+
hasChartArea: N,
|
|
3177
|
+
resolvedXLabel: P,
|
|
3178
|
+
activeInteractionMode: F,
|
|
3179
|
+
isZoomMode: I,
|
|
3180
|
+
initialXDomain: R,
|
|
3181
|
+
sharedZoomDomain: B,
|
|
3182
|
+
resolveInitialTrackDomain: z,
|
|
3183
|
+
gridCells: V,
|
|
3184
|
+
trackLayouts: H,
|
|
3185
|
+
annotationLayoutsForTrack: U,
|
|
3186
|
+
resolveSeriesYScale: G,
|
|
3187
|
+
annotationTrackLayouts: K,
|
|
3188
|
+
renderedAnnotations: t(() => n.annotationsVisible ? Pe(n.annotations, K.value, k.value, s.value) : []),
|
|
3060
3189
|
editorSeries: t(() => {
|
|
3061
3190
|
let e = p.editorDraft.value?.annotation.seriesId, t = h.value.find((t) => t.id === e);
|
|
3062
3191
|
return t ? {
|
|
@@ -3066,94 +3195,97 @@ function ji(e) {
|
|
|
3066
3195
|
unit: t.unit
|
|
3067
3196
|
} : void 0;
|
|
3068
3197
|
}),
|
|
3069
|
-
resolveFrameNumber:
|
|
3198
|
+
resolveFrameNumber: Ki(() => n.frameNumber, () => n.frameNumbers, () => _.value)
|
|
3070
3199
|
};
|
|
3071
3200
|
}
|
|
3072
|
-
var
|
|
3073
|
-
function
|
|
3201
|
+
var Zi = 1e-6;
|
|
3202
|
+
function Qi(e) {
|
|
3074
3203
|
return Number.isFinite(e) ? Math.max(1, e) : 1;
|
|
3075
3204
|
}
|
|
3076
|
-
function
|
|
3077
|
-
let i =
|
|
3078
|
-
if (!(
|
|
3079
|
-
let e = Math.max(1, Math.ceil(
|
|
3205
|
+
function $i({ naturalWidth: e, naturalHeight: t, availableWidth: n, rotation: r, edgeCompact: i = !1 }) {
|
|
3206
|
+
let a = i ? 8 : 18, o = i ? 0 : 44, s = Qi(e), c = Qi(t), l = Qi(n), u = Number.isFinite(r) ? r : 0, d = u * Math.PI / 180, f = Math.abs(Math.cos(d)), p = Math.abs(Math.sin(d)), m = (u % 360 + 360) % 360;
|
|
3207
|
+
if (!(m > Zi && Math.abs(m - 360) > Zi)) {
|
|
3208
|
+
let e = Math.max(1, Math.ceil(s / l)), t = l, n = c * e;
|
|
3080
3209
|
return {
|
|
3081
3210
|
textWidth: t,
|
|
3082
3211
|
textHeight: n,
|
|
3083
3212
|
visualWidth: t,
|
|
3084
3213
|
visualHeight: n,
|
|
3085
|
-
areaHeight: Math.max(
|
|
3214
|
+
areaHeight: Math.max(o, n + a),
|
|
3086
3215
|
scale: 1,
|
|
3087
3216
|
wrapped: e > 1
|
|
3088
3217
|
};
|
|
3089
3218
|
}
|
|
3090
|
-
let
|
|
3219
|
+
let h = 160 - a, g = s * f + c * p, _ = s * p + c * f, v = Math.min(1, l / g, h / _), y = g * v, b = _ * v;
|
|
3091
3220
|
return {
|
|
3092
|
-
textWidth:
|
|
3093
|
-
textHeight:
|
|
3094
|
-
visualWidth:
|
|
3095
|
-
visualHeight:
|
|
3096
|
-
areaHeight: Math.min(160, Math.max(
|
|
3097
|
-
scale:
|
|
3221
|
+
textWidth: s,
|
|
3222
|
+
textHeight: c,
|
|
3223
|
+
visualWidth: y,
|
|
3224
|
+
visualHeight: b,
|
|
3225
|
+
areaHeight: Math.min(160, Math.max(o, b + a)),
|
|
3226
|
+
scale: v,
|
|
3098
3227
|
wrapped: !1
|
|
3099
3228
|
};
|
|
3100
3229
|
}
|
|
3101
3230
|
//#endregion
|
|
3102
3231
|
//#region src/components/core/useWaveformPresentation.ts
|
|
3103
|
-
function
|
|
3232
|
+
function ea(e) {
|
|
3104
3233
|
let { props: n, observedWidth: r, observedHeight: i, measuredTitleWidth: a, measuredTitleHeight: o, internalHiddenSeriesIds: s, paginationBandHeight: c } = e, l = t(() => Number.isFinite(n.width) ? Math.max(0, n.width ?? 0) : void 0), u = t(() => Number.isFinite(n.height) ? Math.max(180, n.height ?? 0) : void 0), d = t(() => r.value > 0 ? r.value : l.value ?? 0), f = t(() => i.value > 0 ? i.value : u.value ?? 180), p = t(() => ({
|
|
3105
3234
|
width: l.value === void 0 ? "100%" : `${l.value}px`,
|
|
3106
3235
|
height: u.value === void 0 ? "100%" : `${u.value}px`
|
|
3107
3236
|
})), m = t(() => n.cleanView === !0), h = t(() => n.presentationMode === !0), g = t(() => {
|
|
3108
|
-
let e = n.zeroLine.width;
|
|
3237
|
+
let e = n.zeroLine.width, t = n.zeroLine.opacity, r = n.zeroLine.boundaryThreshold;
|
|
3109
3238
|
return {
|
|
3110
3239
|
visible: n.zeroLine.visible !== !1,
|
|
3111
3240
|
color: n.zeroLine.color || Gt.COLOR,
|
|
3112
3241
|
width: typeof e == "number" && Number.isFinite(e) && e > 0 ? e : Gt.WIDTH,
|
|
3113
|
-
dash: n.zeroLine.dash ?? Gt.DASH
|
|
3242
|
+
dash: n.zeroLine.dash ?? Gt.DASH,
|
|
3243
|
+
opacity: typeof t == "number" && Number.isFinite(t) && t >= 0 && t <= 1 ? t : Gt.OPACITY,
|
|
3244
|
+
boundaryThreshold: typeof r == "number" && Number.isFinite(r) && r >= 0 ? r : Gt.BOUNDARY_THRESHOLD
|
|
3114
3245
|
};
|
|
3115
3246
|
}), _ = t(() => n.legend.backgroundColor || "rgba(255, 255, 255, 0.7)"), v = t(() => n.legend.interactive === !0), y = t(() => n.hiddenSeriesIds === void 0 ? s.value : new Set(n.hiddenSeriesIds)), b = t(() => Array.from(y.value)), x = (e) => n.legend.trackPositions?.[e] ?? n.legend.position ?? "top-right", S = (e) => {
|
|
3116
3247
|
let t = n.legend.orientation ?? "auto";
|
|
3117
3248
|
return t === "auto" ? e === "top" || e === "bottom" ? "horizontal" : "vertical" : t;
|
|
3118
|
-
}, C = t(() => n.title?.text.trim() ?? ""),
|
|
3249
|
+
}, C = t(() => n.layoutPreset === "edge-compact"), w = t(() => n.title?.text.trim() ?? ""), T = t(() => !!n.title && n.title?.visible !== !1 && w.value.length > 0), E = t(() => T.value && !m.value), D = t(() => {
|
|
3119
3250
|
let e = n.title?.textStyle?.fontSize;
|
|
3120
3251
|
return Number.isFinite(e) && (e ?? 0) > 0 ? e : 14;
|
|
3121
|
-
}),
|
|
3252
|
+
}), O = t(() => {
|
|
3122
3253
|
let e = n.title?.textStyle?.rotation;
|
|
3123
3254
|
return Number.isFinite(e) ? e : 0;
|
|
3124
|
-
}),
|
|
3125
|
-
let e = (
|
|
3255
|
+
}), k = t(() => {
|
|
3256
|
+
let e = (O.value % 360 + 360) % 360;
|
|
3126
3257
|
return e > 1e-6 && Math.abs(e - 360) > 1e-6;
|
|
3127
|
-
}),
|
|
3258
|
+
}), A = t(() => ({
|
|
3128
3259
|
color: n.title?.textStyle?.color ?? "#1f2937",
|
|
3129
|
-
fontSize: `${
|
|
3260
|
+
fontSize: `${D.value}px`,
|
|
3130
3261
|
fontFamily: n.title?.textStyle?.fontFamily || "\"Microsoft YaHei\", \"微软雅黑\", sans-serif",
|
|
3131
3262
|
fontWeight: n.title?.textStyle?.fontWeight ?? 400,
|
|
3132
3263
|
fontStyle: n.title?.textStyle?.fontStyle ?? "normal",
|
|
3133
3264
|
textDecoration: n.title?.textStyle?.textDecoration ?? "none",
|
|
3134
3265
|
letterSpacing: n.title?.textStyle?.letterSpacing ?? "normal",
|
|
3135
3266
|
lineHeight: String(Ht)
|
|
3136
|
-
})),
|
|
3137
|
-
let e = Number.parseFloat(n.title?.textStyle?.letterSpacing ?? ""), t = Number.isFinite(e) ? Math.max(0,
|
|
3138
|
-
return Math.max(1,
|
|
3139
|
-
}),
|
|
3267
|
+
})), j = t(() => {
|
|
3268
|
+
let e = Number.parseFloat(n.title?.textStyle?.letterSpacing ?? ""), t = Number.isFinite(e) ? Math.max(0, w.value.length - 1) * e : 0;
|
|
3269
|
+
return Math.max(1, w.value.length * D.value * Vt + t);
|
|
3270
|
+
}), M = t(() => {
|
|
3140
3271
|
let e = d.value - 48;
|
|
3141
|
-
return e > 0 ? e :
|
|
3142
|
-
}),
|
|
3143
|
-
...
|
|
3272
|
+
return e > 0 ? e : j.value;
|
|
3273
|
+
}), N = t(() => ({
|
|
3274
|
+
...A.value,
|
|
3144
3275
|
width: "max-content",
|
|
3145
|
-
maxWidth:
|
|
3146
|
-
whiteSpace:
|
|
3147
|
-
overflowWrap:
|
|
3148
|
-
})),
|
|
3149
|
-
naturalWidth: a.value ||
|
|
3150
|
-
naturalHeight: o.value ||
|
|
3151
|
-
availableWidth:
|
|
3152
|
-
rotation:
|
|
3153
|
-
|
|
3154
|
-
|
|
3155
|
-
|
|
3156
|
-
|
|
3276
|
+
maxWidth: k.value ? "none" : `${M.value}px`,
|
|
3277
|
+
whiteSpace: k.value ? "nowrap" : "normal",
|
|
3278
|
+
overflowWrap: k.value ? "normal" : "anywhere"
|
|
3279
|
+
})), P = t(() => $i({
|
|
3280
|
+
naturalWidth: C.value && !k.value && o.value > 0 ? Math.min(a.value || M.value, M.value) : a.value || j.value,
|
|
3281
|
+
naturalHeight: o.value || D.value * 1.2,
|
|
3282
|
+
availableWidth: M.value,
|
|
3283
|
+
rotation: O.value,
|
|
3284
|
+
edgeCompact: C.value
|
|
3285
|
+
})), F = t(() => T.value ? P.value.areaHeight : 0), I = (e, t) => typeof e == "number" && Number.isFinite(e) && e >= 0 ? e : t, L = t(() => ({
|
|
3286
|
+
top: I(n.plotMargin.top, zt.top),
|
|
3287
|
+
bottom: Math.max(C.value ? 44 : 0, I(n.plotMargin.bottom, zt.bottom))
|
|
3288
|
+
})), R = t(() => L.value.top), z = t(() => Math.max(0, f.value - F.value - c.value));
|
|
3157
3289
|
return {
|
|
3158
3290
|
fixedWidth: l,
|
|
3159
3291
|
fixedHeight: u,
|
|
@@ -3161,6 +3293,7 @@ function Fi(e) {
|
|
|
3161
3293
|
chartHeight: f,
|
|
3162
3294
|
containerStyle: p,
|
|
3163
3295
|
isCleanView: m,
|
|
3296
|
+
isEdgeCompact: C,
|
|
3164
3297
|
isPresentationMode: h,
|
|
3165
3298
|
resolvedZeroLine: g,
|
|
3166
3299
|
legendBackgroundColor: _,
|
|
@@ -3169,98 +3302,98 @@ function Fi(e) {
|
|
|
3169
3302
|
resolvedHiddenSeriesIds: b,
|
|
3170
3303
|
resolveLegendPosition: x,
|
|
3171
3304
|
resolveLegendOrientation: S,
|
|
3172
|
-
resolvedTitleText:
|
|
3173
|
-
titleAreaReserved:
|
|
3174
|
-
titleVisible:
|
|
3175
|
-
titleMeasureStyle:
|
|
3176
|
-
titleLayout:
|
|
3177
|
-
titleAreaHeight:
|
|
3178
|
-
resolvedPlotMargin:
|
|
3179
|
-
chartTopMargin:
|
|
3180
|
-
drawingHeight:
|
|
3181
|
-
xAxisTitleY: t(() => Math.max(0,
|
|
3182
|
-
innerHeight: t(() => Math.max(0,
|
|
3305
|
+
resolvedTitleText: w,
|
|
3306
|
+
titleAreaReserved: T,
|
|
3307
|
+
titleVisible: E,
|
|
3308
|
+
titleMeasureStyle: N,
|
|
3309
|
+
titleLayout: P,
|
|
3310
|
+
titleAreaHeight: F,
|
|
3311
|
+
resolvedPlotMargin: L,
|
|
3312
|
+
chartTopMargin: R,
|
|
3313
|
+
drawingHeight: z,
|
|
3314
|
+
xAxisTitleY: t(() => Math.max(0, z.value - 12 + (C.value ? 3 : 0))),
|
|
3315
|
+
innerHeight: t(() => Math.max(0, z.value - L.value.top - L.value.bottom)),
|
|
3183
3316
|
titleAreaStyle: t(() => ({
|
|
3184
|
-
height: `${
|
|
3317
|
+
height: `${F.value}px`,
|
|
3185
3318
|
justifyContent: n.title?.align === "left" ? "flex-start" : n.title?.align === "right" ? "flex-end" : "center"
|
|
3186
3319
|
})),
|
|
3187
3320
|
titleVisualStyle: t(() => ({
|
|
3188
|
-
width: `${
|
|
3189
|
-
height: `${
|
|
3321
|
+
width: `${P.value.visualWidth}px`,
|
|
3322
|
+
height: `${P.value.visualHeight}px`
|
|
3190
3323
|
})),
|
|
3191
3324
|
titleTextStyle: t(() => ({
|
|
3192
|
-
...
|
|
3193
|
-
width: `${
|
|
3194
|
-
minHeight: `${
|
|
3325
|
+
...A.value,
|
|
3326
|
+
width: `${P.value.textWidth}px`,
|
|
3327
|
+
minHeight: `${P.value.textHeight}px`,
|
|
3195
3328
|
textAlign: n.title?.align ?? "center",
|
|
3196
|
-
whiteSpace:
|
|
3197
|
-
overflowWrap:
|
|
3198
|
-
transform: `translate(-50%, -50%) rotate(${
|
|
3329
|
+
whiteSpace: k.value ? "nowrap" : "normal",
|
|
3330
|
+
overflowWrap: k.value ? "normal" : "anywhere",
|
|
3331
|
+
transform: `translate(-50%, -50%) rotate(${O.value}deg) scale(${P.value.scale})`
|
|
3199
3332
|
}))
|
|
3200
3333
|
};
|
|
3201
3334
|
}
|
|
3202
3335
|
//#endregion
|
|
3203
3336
|
//#region src/core/samplingReferenceValues.ts
|
|
3204
|
-
function
|
|
3337
|
+
function ta(e, t) {
|
|
3205
3338
|
return t === 0 ? 0 : Number.isFinite(e) ? Math.min(t, Math.max(1, Math.floor(e))) : t;
|
|
3206
3339
|
}
|
|
3207
|
-
function
|
|
3340
|
+
function na(e, t, n, r) {
|
|
3208
3341
|
let i = r - n;
|
|
3209
3342
|
return {
|
|
3210
3343
|
start: n + Math.floor(e * i / t),
|
|
3211
3344
|
end: n + Math.floor((e + 1) * i / t)
|
|
3212
3345
|
};
|
|
3213
3346
|
}
|
|
3214
|
-
function
|
|
3347
|
+
function ra(e, t) {
|
|
3215
3348
|
e[e.length - 1] !== t && e.push(t);
|
|
3216
3349
|
}
|
|
3217
|
-
function
|
|
3350
|
+
function ia(e, t, n) {
|
|
3218
3351
|
if (e <= t) return Array.from({ length: e }, (e, t) => t);
|
|
3219
3352
|
if (t === 1) return [0];
|
|
3220
3353
|
if (t === 2) return [0, e - 1];
|
|
3221
3354
|
let r = [0];
|
|
3222
|
-
return n().forEach((e) =>
|
|
3355
|
+
return n().forEach((e) => ra(r, e)), ra(r, e - 1), r;
|
|
3223
3356
|
}
|
|
3224
|
-
function
|
|
3357
|
+
function aa(e, t, n) {
|
|
3225
3358
|
let r = n === "minmax" ? Math.floor((t - 2) / 2) : Math.max(0, t - 2);
|
|
3226
|
-
return
|
|
3359
|
+
return ia(e.length, t, () => {
|
|
3227
3360
|
if (!r) return [];
|
|
3228
3361
|
let t = [];
|
|
3229
3362
|
for (let i = 0; i < r; i += 1) {
|
|
3230
|
-
let a =
|
|
3363
|
+
let a = na(i, r, 1, e.length - 1), o = a.start, s = a.start;
|
|
3231
3364
|
for (let t = a.start + 1; t < a.end; t += 1) e[t] < e[o] && (o = t), e[t] > e[s] && (s = t);
|
|
3232
|
-
n === "min" ?
|
|
3365
|
+
n === "min" ? ra(t, o) : n === "max" ? ra(t, s) : o <= s ? (ra(t, o), ra(t, s)) : (ra(t, s), ra(t, o));
|
|
3233
3366
|
}
|
|
3234
3367
|
return t;
|
|
3235
3368
|
});
|
|
3236
3369
|
}
|
|
3237
|
-
function
|
|
3370
|
+
function oa(e, t) {
|
|
3238
3371
|
let n = Math.floor((t - 2) / 4);
|
|
3239
|
-
return
|
|
3372
|
+
return ia(e.length, t, () => {
|
|
3240
3373
|
if (!n) return [];
|
|
3241
3374
|
let t = [];
|
|
3242
3375
|
for (let r = 0; r < n; r += 1) {
|
|
3243
|
-
let i =
|
|
3376
|
+
let i = na(r, n, 1, e.length - 1), a = i.start, o = i.start;
|
|
3244
3377
|
for (let t = i.start + 1; t < i.end; t += 1) e[t] < e[a] && (a = t), e[t] > e[o] && (o = t);
|
|
3245
3378
|
[
|
|
3246
3379
|
i.start,
|
|
3247
3380
|
a,
|
|
3248
3381
|
o,
|
|
3249
3382
|
i.end - 1
|
|
3250
|
-
].sort((e, t) => e - t).forEach((e) =>
|
|
3383
|
+
].sort((e, t) => e - t).forEach((e) => ra(t, e));
|
|
3251
3384
|
}
|
|
3252
3385
|
return t;
|
|
3253
3386
|
});
|
|
3254
3387
|
}
|
|
3255
|
-
function
|
|
3256
|
-
return
|
|
3388
|
+
function sa(e, t, n) {
|
|
3389
|
+
return ia(e.length, n, () => {
|
|
3257
3390
|
let r = (e.length - 2) / (n - 2), i = [], a = 0;
|
|
3258
3391
|
for (let o = 0; o < n - 2; o += 1) {
|
|
3259
3392
|
let s = Math.min(e.length, Math.floor((o + 1) * r) + 1), c = Math.min(e.length, Math.floor((o + 2) * r) + 1), l = 0, u = 0;
|
|
3260
3393
|
for (let n = s; n < c; n += 1) l += e[n], u += t[n];
|
|
3261
3394
|
let d = c - s;
|
|
3262
3395
|
d ? (l /= d, u /= d) : (l = e[e.length - 1], u = t[t.length - 1]);
|
|
3263
|
-
let f =
|
|
3396
|
+
let f = na(o, n - 2, 1, e.length - 1), p = f.start, m = -1;
|
|
3264
3397
|
for (let n = f.start; n < f.end; n += 1) {
|
|
3265
3398
|
let r = Math.abs((e[a] - l) * (t[n] - t[a]) - (e[a] - e[n]) * (u - t[a]));
|
|
3266
3399
|
r > m && (m = r, p = n);
|
|
@@ -3270,10 +3403,10 @@ function Hi(e, t, n) {
|
|
|
3270
3403
|
return i;
|
|
3271
3404
|
});
|
|
3272
3405
|
}
|
|
3273
|
-
function
|
|
3274
|
-
let i =
|
|
3406
|
+
function ca(e, t, n, r) {
|
|
3407
|
+
let i = ta(n, e.length), a = new Float64Array(i), o = new Float64Array(i);
|
|
3275
3408
|
for (let n = 0; n < i; n += 1) {
|
|
3276
|
-
let s =
|
|
3409
|
+
let s = na(n, i, 0, e.length);
|
|
3277
3410
|
for (let r = s.start; r < s.end; r += 1) a[n] += e[r], o[n] += t[r];
|
|
3278
3411
|
let c = s.end - s.start;
|
|
3279
3412
|
a[n] /= c, r === "average" && (o[n] /= c);
|
|
@@ -3284,10 +3417,10 @@ function Ui(e, t, n, r) {
|
|
|
3284
3417
|
y: o
|
|
3285
3418
|
};
|
|
3286
3419
|
}
|
|
3287
|
-
function
|
|
3420
|
+
function la(e, t, n, r) {
|
|
3288
3421
|
if (e.length !== t.length) throw Error("x and y must have the same length");
|
|
3289
|
-
if (n === "average" || n === "sum") return
|
|
3290
|
-
let i =
|
|
3422
|
+
if (n === "average" || n === "sum") return ca(e, t, r, n);
|
|
3423
|
+
let i = ta(r, e.length), a = n === "none" || e.length <= i ? Array.from({ length: e.length }, (e, t) => t) : n === "peak" ? oa(t, i) : n === "lttb" ? sa(e, t, i) : aa(t, i, n);
|
|
3291
3424
|
return {
|
|
3292
3425
|
kind: "source-indexes",
|
|
3293
3426
|
sourceIndexes: Uint32Array.from(a)
|
|
@@ -3295,41 +3428,41 @@ function Wi(e, t, n, r) {
|
|
|
3295
3428
|
}
|
|
3296
3429
|
//#endregion
|
|
3297
3430
|
//#region src/core/workerSampling/javascriptBackend.ts
|
|
3298
|
-
var
|
|
3431
|
+
var ua = {
|
|
3299
3432
|
kind: "javascript",
|
|
3300
3433
|
sample(e) {
|
|
3301
|
-
return
|
|
3434
|
+
return la(e.x, e.y, e.strategy, e.targetPointCount);
|
|
3302
3435
|
}
|
|
3303
|
-
},
|
|
3304
|
-
function
|
|
3436
|
+
}, da = 8 * 1024 * 1024;
|
|
3437
|
+
function fa(e, t) {
|
|
3305
3438
|
return t === 0 ? 0 : Number.isFinite(e) ? Math.min(t, Math.max(1, Math.floor(e))) : t;
|
|
3306
3439
|
}
|
|
3307
|
-
function
|
|
3440
|
+
function pa(e, t, n, r) {
|
|
3308
3441
|
let i = r - n;
|
|
3309
3442
|
return {
|
|
3310
3443
|
start: n + Math.floor(e * i / t),
|
|
3311
3444
|
end: n + Math.floor((e + 1) * i / t)
|
|
3312
3445
|
};
|
|
3313
3446
|
}
|
|
3314
|
-
function
|
|
3447
|
+
function ma(e, t) {
|
|
3315
3448
|
e[e.length - 1] !== t && e.push(t);
|
|
3316
3449
|
}
|
|
3317
|
-
function
|
|
3450
|
+
function ha(e) {
|
|
3318
3451
|
return "minimumIndexes" in e ? e.minimumIndexes.byteLength + e.maximumIndexes.byteLength : e.x.byteLength + e.y.byteLength + e.count.byteLength;
|
|
3319
3452
|
}
|
|
3320
|
-
function
|
|
3453
|
+
function ga(e, t) {
|
|
3321
3454
|
let n = 1;
|
|
3322
3455
|
for (; n * 2 <= t && e % (n * 2) == 0;) n *= 2;
|
|
3323
3456
|
return n;
|
|
3324
3457
|
}
|
|
3325
|
-
var
|
|
3458
|
+
var _a = class {
|
|
3326
3459
|
points;
|
|
3327
3460
|
extremaLayers = [];
|
|
3328
3461
|
sumLayers = [];
|
|
3329
3462
|
indexBytes = 0;
|
|
3330
3463
|
maxBytes;
|
|
3331
3464
|
constructor(e, t = {}) {
|
|
3332
|
-
this.points = e, this.maxBytes = Number.isFinite(t.maxBytes) ? Math.max(0, Math.floor(t.maxBytes ?? 0)) :
|
|
3465
|
+
this.points = e, this.maxBytes = Number.isFinite(t.maxBytes) ? Math.max(0, Math.floor(t.maxBytes ?? 0)) : da;
|
|
3333
3466
|
}
|
|
3334
3467
|
get byteLength() {
|
|
3335
3468
|
return this.indexBytes;
|
|
@@ -3338,7 +3471,7 @@ var Qi = class {
|
|
|
3338
3471
|
this.extremaLayers.length = 0, this.sumLayers.length = 0, this.indexBytes = 0;
|
|
3339
3472
|
}
|
|
3340
3473
|
sample(e, t, n, r) {
|
|
3341
|
-
let i = Math.max(0, Math.min(this.points.length, Math.floor(e))), a = Math.max(i, Math.min(this.points.length, Math.floor(t))), o = a - i, s =
|
|
3474
|
+
let i = Math.max(0, Math.min(this.points.length, Math.floor(e))), a = Math.max(i, Math.min(this.points.length, Math.floor(t))), o = a - i, s = fa(r, o);
|
|
3342
3475
|
if (n !== "lttb") return n === "average" || n === "sum" ? this.aggregate(i, a, s, n) : n === "none" || o <= s ? this.allIndexes(i, a) : s === 1 ? this.indexes([i]) : s === 2 ? this.indexes([i, a - 1]) : this.extrema(i, a, s, n);
|
|
3343
3476
|
}
|
|
3344
3477
|
allIndexes(e, t) {
|
|
@@ -3358,24 +3491,24 @@ var Qi = class {
|
|
|
3358
3491
|
if (i === 0) return this.indexes([e, t - 1]);
|
|
3359
3492
|
let a = [e];
|
|
3360
3493
|
for (let n = 0; n < i; n += 1) {
|
|
3361
|
-
let o =
|
|
3494
|
+
let o = pa(n, i, e + 1, t - 1), s = this.queryExtrema(o.start, o.end);
|
|
3362
3495
|
if (!s) return;
|
|
3363
|
-
if (r === "min")
|
|
3364
|
-
else if (r === "max")
|
|
3365
|
-
else if (r === "minmax") s.minimum <= s.maximum ? (
|
|
3496
|
+
if (r === "min") ma(a, s.minimum);
|
|
3497
|
+
else if (r === "max") ma(a, s.maximum);
|
|
3498
|
+
else if (r === "minmax") s.minimum <= s.maximum ? (ma(a, s.minimum), ma(a, s.maximum)) : (ma(a, s.maximum), ma(a, s.minimum));
|
|
3366
3499
|
else for (let e of [
|
|
3367
3500
|
o.start,
|
|
3368
3501
|
s.minimum,
|
|
3369
3502
|
s.maximum,
|
|
3370
3503
|
o.end - 1
|
|
3371
|
-
].sort((e, t) => e - t))
|
|
3504
|
+
].sort((e, t) => e - t)) ma(a, e);
|
|
3372
3505
|
}
|
|
3373
|
-
return
|
|
3506
|
+
return ma(a, t - 1), this.indexes(a);
|
|
3374
3507
|
}
|
|
3375
3508
|
aggregate(e, t, n, r) {
|
|
3376
3509
|
let i = new Float64Array(n), a = new Float64Array(n);
|
|
3377
3510
|
for (let o = 0; o < n; o += 1) {
|
|
3378
|
-
let s =
|
|
3511
|
+
let s = pa(o, n, e, t), c = this.querySum(s.start, s.end);
|
|
3379
3512
|
if (!c || c.count === 0) return;
|
|
3380
3513
|
i[o] = c.x / c.count, a[o] = r === "average" ? c.y / c.count : c.y;
|
|
3381
3514
|
}
|
|
@@ -3390,7 +3523,7 @@ var Qi = class {
|
|
|
3390
3523
|
if (!this.ensureExtrema(n)) return;
|
|
3391
3524
|
let r = e, i = e;
|
|
3392
3525
|
for (let n = e; n < t;) {
|
|
3393
|
-
let e =
|
|
3526
|
+
let e = ga(n, t - n), a = Math.floor(Math.log2(e)), o = n / e, s = this.extremaLayers[a], c = s ? s.minimumIndexes[o] : n, l = s ? s.maximumIndexes[o] : n;
|
|
3394
3527
|
this.isMinimum(c, r) && (r = c), this.isMaximum(l, i) && (i = l), n += e;
|
|
3395
3528
|
}
|
|
3396
3529
|
return {
|
|
@@ -3403,7 +3536,7 @@ var Qi = class {
|
|
|
3403
3536
|
if (!this.ensureSum(n)) return;
|
|
3404
3537
|
let r = 0, i = 0, a = 0;
|
|
3405
3538
|
for (let n = e; n < t;) {
|
|
3406
|
-
let e =
|
|
3539
|
+
let e = ga(n, t - n), o = Math.floor(Math.log2(e)), s = n / e, c = this.sumLayers[o];
|
|
3407
3540
|
if (c) r += c.x[s], i += c.y[s], a += c.count[s];
|
|
3408
3541
|
else {
|
|
3409
3542
|
let e = this.points[n];
|
|
@@ -3424,7 +3557,7 @@ var Qi = class {
|
|
|
3424
3557
|
minimumIndexes: new Uint32Array(e),
|
|
3425
3558
|
maximumIndexes: new Uint32Array(e)
|
|
3426
3559
|
};
|
|
3427
|
-
if (!this.reserve(
|
|
3560
|
+
if (!this.reserve(ha(n))) return !1;
|
|
3428
3561
|
let r = this.extremaLayers[t - 1];
|
|
3429
3562
|
for (let t = 0; t < e; t += 1) {
|
|
3430
3563
|
let e = t * 2, i = e + 1, a = r ? r.minimumIndexes[e] : e, o = r ? r.maximumIndexes[e] : e, s = r ? i < r.minimumIndexes.length : i < this.points.length, c = r && s ? r.minimumIndexes[i] : i, l = r && s ? r.maximumIndexes[i] : i;
|
|
@@ -3442,7 +3575,7 @@ var Qi = class {
|
|
|
3442
3575
|
y: new Float64Array(e),
|
|
3443
3576
|
count: new Uint32Array(e)
|
|
3444
3577
|
};
|
|
3445
|
-
if (!this.reserve(
|
|
3578
|
+
if (!this.reserve(ha(n))) return !1;
|
|
3446
3579
|
let r = this.sumLayers[t - 1];
|
|
3447
3580
|
for (let t = 0; t < e; t += 1) {
|
|
3448
3581
|
let e = t * 2, i = e + 1;
|
|
@@ -3467,8 +3600,8 @@ var Qi = class {
|
|
|
3467
3600
|
let n = this.points[e], r = this.points[t];
|
|
3468
3601
|
return n.y > r.y || n.y === r.y && e < t;
|
|
3469
3602
|
}
|
|
3470
|
-
},
|
|
3471
|
-
function
|
|
3603
|
+
}, va = 1e3, ya = L((e) => e.x);
|
|
3604
|
+
function ba(e) {
|
|
3472
3605
|
let t = [], n = !0, r = -Infinity;
|
|
3473
3606
|
for (let i of e) !Number.isFinite(i.x) || !Number.isFinite(i.y) || (i.x < r && (n = !1), r = i.x, t.push({
|
|
3474
3607
|
x: i.x,
|
|
@@ -3479,7 +3612,7 @@ function ta(e) {
|
|
|
3479
3612
|
}));
|
|
3480
3613
|
return n || t.sort((e, t) => e.x - t.x), t;
|
|
3481
3614
|
}
|
|
3482
|
-
function
|
|
3615
|
+
function xa(e, t) {
|
|
3483
3616
|
let n = Infinity, r = -Infinity, i = Infinity, a = -Infinity;
|
|
3484
3617
|
for (let t of e) n = Math.min(n, t.x), r = Math.max(r, t.x), i = Math.min(i, t.y), a = Math.max(a, t.y);
|
|
3485
3618
|
return {
|
|
@@ -3489,7 +3622,7 @@ function na(e, t) {
|
|
|
3489
3622
|
yDomain: e.length ? [i, a] : null
|
|
3490
3623
|
};
|
|
3491
3624
|
}
|
|
3492
|
-
function
|
|
3625
|
+
function Sa(e, t, n = e.length) {
|
|
3493
3626
|
let r = Infinity, i = -Infinity, a = Infinity, o = -Infinity;
|
|
3494
3627
|
for (let n = 0; n < e.length; n += 1) r = Math.min(r, e[n]), i = Math.max(i, e[n]), a = Math.min(a, t[n]), o = Math.max(o, t[n]);
|
|
3495
3628
|
return {
|
|
@@ -3499,39 +3632,39 @@ function ra(e, t, n = e.length) {
|
|
|
3499
3632
|
yDomain: e.length ? [a, o] : null
|
|
3500
3633
|
};
|
|
3501
3634
|
}
|
|
3502
|
-
function
|
|
3635
|
+
function Ca(e, t) {
|
|
3503
3636
|
return e ? e.revision === t ? "ok" : "stale-revision" : "not-found";
|
|
3504
3637
|
}
|
|
3505
|
-
function
|
|
3638
|
+
function wa(e) {
|
|
3506
3639
|
return e === "auto" ? "peak" : e;
|
|
3507
3640
|
}
|
|
3508
|
-
function
|
|
3641
|
+
function Ta(e) {
|
|
3509
3642
|
if (Number.isFinite(e.maxPointCount) && (e.maxPointCount ?? 0) >= 1) return Math.floor(e.maxPointCount);
|
|
3510
3643
|
let t = Number.isFinite(e.plotWidth) ? Math.max(0, e.plotWidth) : 0, n = Number.isFinite(e.maxPointsPerPixel) ? Math.max(0, e.maxPointsPerPixel ?? 0) : 4;
|
|
3511
3644
|
return Math.max(1, Math.floor(t * n));
|
|
3512
3645
|
}
|
|
3513
|
-
function
|
|
3646
|
+
function Ea(e, t) {
|
|
3514
3647
|
if (e.mode === "raw") return !0;
|
|
3515
3648
|
if (e.mode !== "auto") return !1;
|
|
3516
|
-
let n = Number.isFinite(e.autoThreshold) ? Math.max(1, Math.floor(e.autoThreshold ?? 0)) :
|
|
3649
|
+
let n = Number.isFinite(e.autoThreshold) ? Math.max(1, Math.floor(e.autoThreshold ?? 0)) : va;
|
|
3517
3650
|
if (!e.previousSelectedMode) return t <= n;
|
|
3518
3651
|
let r = Number.isFinite(e.autoHysteresis) ? Math.max(0, Math.floor(e.autoHysteresis ?? 0)) : 0;
|
|
3519
3652
|
return e.previousSelectedMode === "raw" ? t <= n + r : t <= Math.max(0, n - r);
|
|
3520
3653
|
}
|
|
3521
|
-
function
|
|
3654
|
+
function Da(e, t) {
|
|
3522
3655
|
let n = e[0], r = e.at(-1);
|
|
3523
|
-
return Number.isFinite(t) && n && r && t >= n.x && t <= r.x ? e[
|
|
3656
|
+
return Number.isFinite(t) && n && r && t >= n.x && t <= r.x ? e[ya.center(e, t)] : void 0;
|
|
3524
3657
|
}
|
|
3525
|
-
function
|
|
3658
|
+
function Oa(e) {
|
|
3526
3659
|
return e ? e.kind === "source-indexes" ? e.sourceIndexes.length : e.x.length : 0;
|
|
3527
3660
|
}
|
|
3528
|
-
function
|
|
3661
|
+
function ka(e, t) {
|
|
3529
3662
|
return e.kind === "aggregates" ? e : {
|
|
3530
3663
|
kind: "source-indexes",
|
|
3531
3664
|
sourceIndexes: Uint32Array.from(e.sourceIndexes, (e) => e + t)
|
|
3532
3665
|
};
|
|
3533
3666
|
}
|
|
3534
|
-
function
|
|
3667
|
+
function Aa(e, t, n, r, i) {
|
|
3535
3668
|
return [
|
|
3536
3669
|
e.datasetId,
|
|
3537
3670
|
e.revision,
|
|
@@ -3551,14 +3684,14 @@ function da(e, t, n, r, i) {
|
|
|
3551
3684
|
e.errorBarMinSpacing ?? 0
|
|
3552
3685
|
].join("\0");
|
|
3553
3686
|
}
|
|
3554
|
-
function
|
|
3687
|
+
function ja(e, t, n, r, i, a, o, s) {
|
|
3555
3688
|
return {
|
|
3556
3689
|
seriesId: e.seriesId,
|
|
3557
3690
|
datasetId: e.datasetId,
|
|
3558
3691
|
mode: e.mode,
|
|
3559
3692
|
selectedMode: i,
|
|
3560
3693
|
backend: r,
|
|
3561
|
-
strategy:
|
|
3694
|
+
strategy: wa(e.strategy),
|
|
3562
3695
|
sourcePointCount: t,
|
|
3563
3696
|
visiblePointCount: n,
|
|
3564
3697
|
renderedPointCount: o,
|
|
@@ -3574,18 +3707,18 @@ function fa(e, t, n, r, i, a, o, s) {
|
|
|
3574
3707
|
}
|
|
3575
3708
|
//#endregion
|
|
3576
3709
|
//#region src/core/workerSampling/repositoryDataset.ts
|
|
3577
|
-
function
|
|
3710
|
+
function Ma(e) {
|
|
3578
3711
|
return e?.y.length ?? 0;
|
|
3579
3712
|
}
|
|
3580
|
-
function
|
|
3713
|
+
function Na(e, t) {
|
|
3581
3714
|
return e.x ? e.x[t] : e.sampleStartTime + (e.sampleSourceIndexes?.[t] ?? t) / e.sampleRate;
|
|
3582
3715
|
}
|
|
3583
|
-
function
|
|
3716
|
+
function Pa(e, t) {
|
|
3584
3717
|
let n = (t, n) => {
|
|
3585
|
-
let r = 0, i =
|
|
3718
|
+
let r = 0, i = Ma(e);
|
|
3586
3719
|
for (; r < i;) {
|
|
3587
3720
|
let a = r + Math.floor((i - r) / 2);
|
|
3588
|
-
(n ?
|
|
3721
|
+
(n ? Na(e, a) <= t : Na(e, a) < t) ? r = a + 1 : i = a;
|
|
3589
3722
|
}
|
|
3590
3723
|
return r;
|
|
3591
3724
|
}, r = Math.min(t[0], t[1]), i = Math.max(t[0], t[1]);
|
|
@@ -3594,13 +3727,13 @@ function ha(e, t) {
|
|
|
3594
3727
|
end: n(i, !0)
|
|
3595
3728
|
};
|
|
3596
3729
|
}
|
|
3597
|
-
function
|
|
3598
|
-
return e.x ? e.x.subarray(t, n) : Float64Array.from({ length: n - t }, (n, r) =>
|
|
3730
|
+
function Fa(e, t, n) {
|
|
3731
|
+
return e.x ? e.x.subarray(t, n) : Float64Array.from({ length: n - t }, (n, r) => Na(e, t + r));
|
|
3599
3732
|
}
|
|
3600
|
-
function
|
|
3733
|
+
function Ia(e) {
|
|
3601
3734
|
return e?.kind === "wasm" && "registerDataset" in e && "disposeDataset" in e && "disposeAllDatasets" in e && "datasetIndexBytes" in e && "registerSamples" in e && "sampleDataset" in e;
|
|
3602
3735
|
}
|
|
3603
|
-
function
|
|
3736
|
+
function La(e, t) {
|
|
3604
3737
|
let n = [], r = Math.min(e.length, t.length);
|
|
3605
3738
|
for (let i = 0; i < r; i += 1) Number.isFinite(e[i]) && Number.isFinite(t[i]) && n.push(i);
|
|
3606
3739
|
return n.sort((t, n) => e[t] - e[n] || t - n), {
|
|
@@ -3608,14 +3741,14 @@ function va(e, t) {
|
|
|
3608
3741
|
y: Float64Array.from(n, (e) => t[e])
|
|
3609
3742
|
};
|
|
3610
3743
|
}
|
|
3611
|
-
function
|
|
3744
|
+
function Ra(e, t, n, r) {
|
|
3612
3745
|
if (t?.kind === "typed") {
|
|
3613
|
-
let e =
|
|
3746
|
+
let e = La(t.x, t.y);
|
|
3614
3747
|
return {
|
|
3615
3748
|
x: e.x,
|
|
3616
3749
|
y: e.y,
|
|
3617
3750
|
revision: n,
|
|
3618
|
-
metrics:
|
|
3751
|
+
metrics: Sa(e.x, e.y, Math.max(t.x.length, t.y.length))
|
|
3619
3752
|
};
|
|
3620
3753
|
}
|
|
3621
3754
|
if (t?.kind === "samples") {
|
|
@@ -3649,35 +3782,35 @@ function ya(e, t, n, r) {
|
|
|
3649
3782
|
}
|
|
3650
3783
|
};
|
|
3651
3784
|
}
|
|
3652
|
-
let i =
|
|
3785
|
+
let i = ba(e ?? t?.points ?? []);
|
|
3653
3786
|
return {
|
|
3654
3787
|
x: Float64Array.from(i, (e) => e.x),
|
|
3655
3788
|
y: Float64Array.from(i, (e) => e.y),
|
|
3656
3789
|
points: i,
|
|
3657
3790
|
revision: n,
|
|
3658
|
-
metrics:
|
|
3659
|
-
index: new
|
|
3791
|
+
metrics: xa(i, e?.length ?? t?.points.length ?? 0),
|
|
3792
|
+
index: new _a(i, { maxBytes: r })
|
|
3660
3793
|
};
|
|
3661
3794
|
}
|
|
3662
|
-
function
|
|
3663
|
-
!
|
|
3795
|
+
function za(e, t, n) {
|
|
3796
|
+
!Ia(e) || t.wasmDatasetHandle !== void 0 || (t.wasmDatasetHandle = t.x ? e.registerDataset(t.x, t.y, n) : e.registerSamples(t.y, t.sampleSourceIndexes, t.sampleStartTime, t.sampleRate, n), t.wasmIndexBytes = e.datasetIndexBytes(t.wasmDatasetHandle));
|
|
3664
3797
|
}
|
|
3665
|
-
function
|
|
3666
|
-
t.index?.dispose(), t.wasmDatasetHandle !== void 0 &&
|
|
3798
|
+
function Ba(e, t) {
|
|
3799
|
+
t.index?.dispose(), t.wasmDatasetHandle !== void 0 && Ia(e) && e.disposeDataset(t.wasmDatasetHandle);
|
|
3667
3800
|
}
|
|
3668
3801
|
//#endregion
|
|
3669
3802
|
//#region src/core/workerSampling/samplingCache.ts
|
|
3670
|
-
var
|
|
3671
|
-
function
|
|
3803
|
+
var Va = 96, Ha = 16 * 1024 * 1024;
|
|
3804
|
+
function Ua(e) {
|
|
3672
3805
|
return e.kind === "source-indexes" ? e.sourceIndexes.byteLength : e.x.byteLength + e.y.byteLength;
|
|
3673
3806
|
}
|
|
3674
|
-
var
|
|
3807
|
+
var Wa = class {
|
|
3675
3808
|
entries = /* @__PURE__ */ new Map();
|
|
3676
3809
|
bytes = 0;
|
|
3677
3810
|
maxEntries;
|
|
3678
3811
|
maxBytes;
|
|
3679
3812
|
constructor(e = {}) {
|
|
3680
|
-
this.maxEntries = Number.isFinite(e.maxEntries) ? Math.max(0, Math.floor(e.maxEntries ?? 0)) :
|
|
3813
|
+
this.maxEntries = Number.isFinite(e.maxEntries) ? Math.max(0, Math.floor(e.maxEntries ?? 0)) : Va, this.maxBytes = Number.isFinite(e.maxBytes) ? Math.max(0, Math.floor(e.maxBytes ?? 0)) : Ha;
|
|
3681
3814
|
}
|
|
3682
3815
|
get metrics() {
|
|
3683
3816
|
return {
|
|
@@ -3692,7 +3825,7 @@ var Ta = class {
|
|
|
3692
3825
|
if (t) return this.entries.delete(e), this.entries.set(e, t), t.output;
|
|
3693
3826
|
}
|
|
3694
3827
|
set(e, t) {
|
|
3695
|
-
let n =
|
|
3828
|
+
let n = Ua(t);
|
|
3696
3829
|
if (n > this.maxBytes || this.maxEntries === 0) return;
|
|
3697
3830
|
let r = this.entries.get(e);
|
|
3698
3831
|
for (r && (this.bytes -= r.bytes, this.entries.delete(e)), this.entries.set(e, {
|
|
@@ -3712,14 +3845,14 @@ var Ta = class {
|
|
|
3712
3845
|
clear() {
|
|
3713
3846
|
this.entries.clear(), this.bytes = 0;
|
|
3714
3847
|
}
|
|
3715
|
-
},
|
|
3848
|
+
}, Ga = class {
|
|
3716
3849
|
datasets = /* @__PURE__ */ new Map();
|
|
3717
3850
|
javascriptBackend;
|
|
3718
3851
|
cache;
|
|
3719
3852
|
indexMaxBytes;
|
|
3720
3853
|
wasmBackend;
|
|
3721
3854
|
constructor(e = {}) {
|
|
3722
|
-
this.javascriptBackend = e.javascriptBackend ??
|
|
3855
|
+
this.javascriptBackend = e.javascriptBackend ?? ua, this.wasmBackend = e.wasmBackend, this.indexMaxBytes = e.indexMaxBytes, this.cache = new Wa({
|
|
3723
3856
|
maxEntries: e.cacheMaxEntries,
|
|
3724
3857
|
maxBytes: e.cacheMaxBytes
|
|
3725
3858
|
});
|
|
@@ -3732,9 +3865,9 @@ var Ta = class {
|
|
|
3732
3865
|
};
|
|
3733
3866
|
}
|
|
3734
3867
|
setWasmBackend(e) {
|
|
3735
|
-
this.wasmBackend && this.wasmBackend !== e &&
|
|
3868
|
+
this.wasmBackend && this.wasmBackend !== e && Ia(this.wasmBackend) && (this.wasmBackend.disposeAllDatasets(), this.datasets.forEach((e) => {
|
|
3736
3869
|
e.wasmDatasetHandle = void 0, e.wasmIndexBytes = void 0;
|
|
3737
|
-
})), this.wasmBackend = e,
|
|
3870
|
+
})), this.wasmBackend = e, Ia(e) && this.datasets.forEach((t) => za(e, t, this.indexMaxBytes));
|
|
3738
3871
|
}
|
|
3739
3872
|
handle(e) {
|
|
3740
3873
|
switch (e.type) {
|
|
@@ -3750,15 +3883,15 @@ var Ta = class {
|
|
|
3750
3883
|
register(e, t, n, r) {
|
|
3751
3884
|
let i = this.datasets.get(e);
|
|
3752
3885
|
if (i) return this.datasetResponse(t, e, i, "stale-revision");
|
|
3753
|
-
let a =
|
|
3754
|
-
return
|
|
3886
|
+
let a = Ra(n, r, 1, this.indexMaxBytes);
|
|
3887
|
+
return za(this.wasmBackend, a, this.indexMaxBytes), this.datasets.set(e, a), this.datasetResponse(t, e, a, "ok");
|
|
3755
3888
|
}
|
|
3756
3889
|
replace(e, t, n, r, i) {
|
|
3757
|
-
let a = this.datasets.get(e), o =
|
|
3890
|
+
let a = this.datasets.get(e), o = Ca(a, n);
|
|
3758
3891
|
if (o !== "ok" || !a) return this.datasetResponse(t, e, a, o);
|
|
3759
|
-
|
|
3760
|
-
let s =
|
|
3761
|
-
return
|
|
3892
|
+
Ba(this.wasmBackend, a), this.cache.deleteDataset(e);
|
|
3893
|
+
let s = Ra(r, i, a.revision + 1, this.indexMaxBytes);
|
|
3894
|
+
return za(this.wasmBackend, s, this.indexMaxBytes), this.datasets.set(e, s), this.datasetResponse(t, e, s, "ok");
|
|
3762
3895
|
}
|
|
3763
3896
|
sample(e) {
|
|
3764
3897
|
return {
|
|
@@ -3768,28 +3901,28 @@ var Ta = class {
|
|
|
3768
3901
|
};
|
|
3769
3902
|
}
|
|
3770
3903
|
sampleSeries(e, t) {
|
|
3771
|
-
let n = performance.now(), r = this.datasets.get(t.datasetId), i =
|
|
3904
|
+
let n = performance.now(), r = this.datasets.get(t.datasetId), i = Ca(r, t.revision);
|
|
3772
3905
|
if (i !== "ok" || !r) return this.sampleResponse(e, t, i, void 0, "unavailable", "sampled", 0, n, !1);
|
|
3773
|
-
let a =
|
|
3774
|
-
if (
|
|
3906
|
+
let a = Pa(r, t.xDomain), o = a.end - a.start;
|
|
3907
|
+
if (Ea(t, o)) return this.sampleResponse(e, t, "ok", {
|
|
3775
3908
|
kind: "source-indexes",
|
|
3776
3909
|
sourceIndexes: Uint32Array.from({ length: o }, (e, t) => a.start + t)
|
|
3777
3910
|
}, "raw", "raw", o, n, !1);
|
|
3778
3911
|
let s = t.mode === "wasm" || t.mode === "auto" && this.wasmBackend ? this.wasmBackend : this.javascriptBackend, c = !s && t.wasmFailureFallback === "javascript", l = s ?? (c ? this.javascriptBackend : void 0);
|
|
3779
3912
|
if (!l) return this.sampleResponse(e, t, "wasm-unavailable", void 0, "unavailable", "sampled", o, n, !1);
|
|
3780
|
-
let u =
|
|
3913
|
+
let u = wa(t.strategy), d = Ta(t), f = Aa(t, a, u, d, l.kind), p = this.cache.get(f);
|
|
3781
3914
|
if (p) return this.sampleResponse(e, t, c ? "wasm-unavailable" : "ok", p, l.kind, "sampled", o, n, !0);
|
|
3782
|
-
let m = (l.kind === "wasm" ? r.wasmDatasetHandle !== void 0 &&
|
|
3783
|
-
x:
|
|
3915
|
+
let m = (l.kind === "wasm" ? r.wasmDatasetHandle !== void 0 && Ia(l) ? l.sampleDataset(r.wasmDatasetHandle, a.start, a.end, u, d) : void 0 : r.index?.sample(a.start, a.end, u, d)) ?? ka(l.sample({
|
|
3916
|
+
x: Fa(r, a.start, a.end),
|
|
3784
3917
|
y: r.y.subarray(a.start, a.end),
|
|
3785
3918
|
points: r.points?.slice(a.start, a.end) ?? [],
|
|
3786
3919
|
strategy: u,
|
|
3787
3920
|
targetPointCount: d
|
|
3788
3921
|
}), a.start);
|
|
3789
|
-
return this.cache.set(f, m), r.wasmDatasetHandle !== void 0 &&
|
|
3922
|
+
return this.cache.set(f, m), r.wasmDatasetHandle !== void 0 && Ia(l) && (r.wasmIndexBytes = l.datasetIndexBytes(r.wasmDatasetHandle)), this.sampleResponse(e, t, c ? "wasm-unavailable" : "ok", m, l.kind, "sampled", o, n, !1);
|
|
3790
3923
|
}
|
|
3791
3924
|
sampleResponse(e, t, n, r, i, a, o, s, c) {
|
|
3792
|
-
let l =
|
|
3925
|
+
let l = ja(t, Ma(this.datasets.get(t.datasetId)), o, i, a, performance.now() - s, Oa(r), c);
|
|
3793
3926
|
return l.requestId = e, {
|
|
3794
3927
|
seriesId: t.seriesId,
|
|
3795
3928
|
datasetId: t.datasetId,
|
|
@@ -3800,7 +3933,7 @@ var Ta = class {
|
|
|
3800
3933
|
};
|
|
3801
3934
|
}
|
|
3802
3935
|
findNearest(e, t, n, r) {
|
|
3803
|
-
let i = this.datasets.get(e), a =
|
|
3936
|
+
let i = this.datasets.get(e), a = Ca(i, n);
|
|
3804
3937
|
return a !== "ok" || !i ? {
|
|
3805
3938
|
type: "find-nearest-point-response",
|
|
3806
3939
|
requestId: t,
|
|
@@ -3813,12 +3946,12 @@ var Ta = class {
|
|
|
3813
3946
|
datasetId: e,
|
|
3814
3947
|
revision: n,
|
|
3815
3948
|
status: a,
|
|
3816
|
-
point: i.points ?
|
|
3817
|
-
let e =
|
|
3818
|
-
if (!
|
|
3819
|
-
let t = Math.min(
|
|
3820
|
-
return Number.isFinite(r) &&
|
|
3821
|
-
x:
|
|
3949
|
+
point: i.points ? Da(i.points, r) : (() => {
|
|
3950
|
+
let e = Pa(i, [r, r]);
|
|
3951
|
+
if (!Ma(i) || r < Na(i, 0) || r > Na(i, Ma(i) - 1)) return;
|
|
3952
|
+
let t = Math.min(Ma(i) - 1, e.start), n = Math.max(0, t - 1), a = Math.abs(r - Na(i, n)) < Math.abs(Na(i, t) - r) ? n : t;
|
|
3953
|
+
return Number.isFinite(r) && Ma(i) ? {
|
|
3954
|
+
x: Na(i, a),
|
|
3822
3955
|
y: i.y[a]
|
|
3823
3956
|
} : void 0;
|
|
3824
3957
|
})()
|
|
@@ -3826,15 +3959,15 @@ var Ta = class {
|
|
|
3826
3959
|
}
|
|
3827
3960
|
metrics(e, t, n) {
|
|
3828
3961
|
let r = this.datasets.get(e);
|
|
3829
|
-
return this.datasetResponse(t, e, r,
|
|
3962
|
+
return this.datasetResponse(t, e, r, Ca(r, n));
|
|
3830
3963
|
}
|
|
3831
3964
|
dispose(e, t, n) {
|
|
3832
|
-
let r = this.datasets.get(e), i =
|
|
3833
|
-
return i === "ok" && r && (
|
|
3965
|
+
let r = this.datasets.get(e), i = Ca(r, n);
|
|
3966
|
+
return i === "ok" && r && (Ba(this.wasmBackend, r), this.cache.deleteDataset(e), this.datasets.delete(e)), this.datasetResponse(t, e, r, i);
|
|
3834
3967
|
}
|
|
3835
3968
|
disposeAll(e) {
|
|
3836
3969
|
let t = [...this.datasets.keys()];
|
|
3837
|
-
return this.datasets.forEach((e) =>
|
|
3970
|
+
return this.datasets.forEach((e) => Ba(this.wasmBackend, e)), Ia(this.wasmBackend) && this.wasmBackend.disposeAllDatasets(), this.datasets.clear(), this.cache.clear(), {
|
|
3838
3971
|
type: "dispose-all-response",
|
|
3839
3972
|
requestId: e,
|
|
3840
3973
|
disposedDatasetIds: t
|
|
@@ -3856,10 +3989,10 @@ var Ta = class {
|
|
|
3856
3989
|
};
|
|
3857
3990
|
//#endregion
|
|
3858
3991
|
//#region src/components/core/latestTaskScheduler.ts
|
|
3859
|
-
function
|
|
3992
|
+
function Ka(e, t, n, r) {
|
|
3860
3993
|
return r ? r === "raw" ? e <= t + n ? "raw" : "sampled" : e <= Math.max(0, t - n) ? "raw" : "sampled" : e <= t ? "raw" : "sampled";
|
|
3861
3994
|
}
|
|
3862
|
-
function
|
|
3995
|
+
function qa() {
|
|
3863
3996
|
let e = 0, t = !1, n, r = !1, i = {
|
|
3864
3997
|
scheduled: 0,
|
|
3865
3998
|
coalesced: 0,
|
|
@@ -3898,12 +4031,12 @@ function Oa() {
|
|
|
3898
4031
|
}
|
|
3899
4032
|
//#endregion
|
|
3900
4033
|
//#region src/components/core/workerSamplingClient.ts
|
|
3901
|
-
function
|
|
4034
|
+
function Ja(e) {
|
|
3902
4035
|
return e?.message || "Web Worker is unavailable; JavaScript sampling is being used.";
|
|
3903
4036
|
}
|
|
3904
|
-
function
|
|
4037
|
+
function Ya() {
|
|
3905
4038
|
let e, t, n, r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map(), a = () => {
|
|
3906
|
-
t ??= new
|
|
4039
|
+
t ??= new Ga();
|
|
3907
4040
|
for (let [e, n] of i) {
|
|
3908
4041
|
t.handle({
|
|
3909
4042
|
type: "register-dataset",
|
|
@@ -3939,7 +4072,7 @@ function Aa() {
|
|
|
3939
4072
|
let t = a();
|
|
3940
4073
|
e.forEach(({ request: e, resolve: n }) => n(t.handle(e)));
|
|
3941
4074
|
}, c = (r) => {
|
|
3942
|
-
t || (n =
|
|
4075
|
+
t || (n = Ja(r), e?.terminate(), e = void 0, s());
|
|
3943
4076
|
};
|
|
3944
4077
|
try {
|
|
3945
4078
|
typeof Worker > "u" ? c() : (e = new Worker(new URL(
|
|
@@ -3976,20 +4109,20 @@ function Aa() {
|
|
|
3976
4109
|
}
|
|
3977
4110
|
};
|
|
3978
4111
|
}
|
|
3979
|
-
function
|
|
4112
|
+
function Xa(e) {
|
|
3980
4113
|
return e.type === "dataset-response";
|
|
3981
4114
|
}
|
|
3982
4115
|
//#endregion
|
|
3983
4116
|
//#region src/components/core/useWaveformRenderSampling.ts
|
|
3984
|
-
var
|
|
3985
|
-
function
|
|
4117
|
+
var Za = 120;
|
|
4118
|
+
function Qa(e, t) {
|
|
3986
4119
|
let n = e.output;
|
|
3987
4120
|
if (n) return n.kind === "aggregates" ? Array.from(n.x, (e, t) => ({
|
|
3988
4121
|
x: e,
|
|
3989
4122
|
y: n.y[t]
|
|
3990
4123
|
})) : Array.from(n.sourceIndexes, (e) => t.pointAt(e)).filter((e) => e !== void 0);
|
|
3991
4124
|
}
|
|
3992
|
-
function
|
|
4125
|
+
function $a(e, t) {
|
|
3993
4126
|
let n = e.request, r = e.visibleRange.end - e.visibleRange.start;
|
|
3994
4127
|
return {
|
|
3995
4128
|
seriesId: n.seriesId,
|
|
@@ -4011,7 +4144,7 @@ function Pa(e, t) {
|
|
|
4011
4144
|
maxPendingRequestCount: 0
|
|
4012
4145
|
};
|
|
4013
4146
|
}
|
|
4014
|
-
function
|
|
4147
|
+
function eo(e) {
|
|
4015
4148
|
let { source: t } = e, { start: n, end: r } = e.visibleRange, i = r - n, a = Number.isFinite(e.request.maxPointCount) && (e.request.maxPointCount ?? 0) >= 1 ? Math.floor(e.request.maxPointCount) : Math.max(1, Math.floor(e.request.plotWidth * e.request.maxPointsPerPixel));
|
|
4016
4149
|
if (i <= a) return t.pointsInRange(n, r);
|
|
4017
4150
|
if (a === 1) return t.pointAt(n) ? [t.pointAt(n)] : [];
|
|
@@ -4022,7 +4155,7 @@ function Fa(e) {
|
|
|
4022
4155
|
}
|
|
4023
4156
|
return o;
|
|
4024
4157
|
}
|
|
4025
|
-
function
|
|
4158
|
+
function to(e, t, n, r) {
|
|
4026
4159
|
return {
|
|
4027
4160
|
message: e,
|
|
4028
4161
|
mode: t,
|
|
@@ -4030,8 +4163,8 @@ function Ia(e, t, n, r) {
|
|
|
4030
4163
|
seriesIds: r
|
|
4031
4164
|
};
|
|
4032
4165
|
}
|
|
4033
|
-
function
|
|
4034
|
-
let n = w(0), r, i = 0, a = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Map(), c = /* @__PURE__ */ new Set(), l = /* @__PURE__ */ new Map(), u =
|
|
4166
|
+
function no(e) {
|
|
4167
|
+
let n = w(0), r, i = 0, a = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Map(), c = /* @__PURE__ */ new Set(), l = /* @__PURE__ */ new Map(), u = qa(), d, f, p = !1, m = t(() => {
|
|
4035
4168
|
let t = e.renderingOptions.value.sampling;
|
|
4036
4169
|
return e.sourceTrackLayouts.value.flatMap((n) => {
|
|
4037
4170
|
let r = n.xScale.domain();
|
|
@@ -4096,13 +4229,13 @@ function La(e) {
|
|
|
4096
4229
|
revision: 0,
|
|
4097
4230
|
dataset: t.source.toWorkerDataset()
|
|
4098
4231
|
});
|
|
4099
|
-
!u.isCurrent(n) || !
|
|
4232
|
+
!u.isCurrent(n) || !Xa(r) || r.status !== "ok" && r.status !== "stale-revision" || a.set(t.request.datasetId, r.revision);
|
|
4100
4233
|
}));
|
|
4101
4234
|
}, x = async (t, n = !1) => {
|
|
4102
4235
|
let o = m.value, c = { ...e.linePointOverrides.value }, l = [], d = [];
|
|
4103
4236
|
if (o.forEach((e) => {
|
|
4104
|
-
let r = e.visibleRange.end - e.visibleRange.start, i = n ? s.get(e.series.id) : void 0, a = e.request.mode === "auto" &&
|
|
4105
|
-
e.request.mode === "raw" || a ? (c[e.series.id] = e.source.pointsInRange(e.visibleRange.start, e.visibleRange.end), s.set(e.series.id, "raw"), d.push(
|
|
4237
|
+
let r = e.visibleRange.end - e.visibleRange.start, i = n ? s.get(e.series.id) : void 0, a = e.request.mode === "auto" && Ka(r, e.request.autoThreshold, e.request.autoHysteresis ?? 0, i) === "raw";
|
|
4238
|
+
e.request.mode === "raw" || a ? (c[e.series.id] = e.source.pointsInRange(e.visibleRange.start, e.visibleRange.end), s.set(e.series.id, "raw"), d.push($a(e, t))) : (c[e.series.id]?.length || (c[e.series.id] = eo(e)), l.push({
|
|
4106
4239
|
...e,
|
|
4107
4240
|
request: {
|
|
4108
4241
|
...e.request,
|
|
@@ -4114,7 +4247,7 @@ function La(e) {
|
|
|
4114
4247
|
e.linePointOverrides.value = c, v(d);
|
|
4115
4248
|
return;
|
|
4116
4249
|
}
|
|
4117
|
-
if (e.linePointOverrides.value = c, r ??=
|
|
4250
|
+
if (e.linePointOverrides.value = c, r ??= Ya(), await b(r, l, t), !u.isCurrent(t)) return;
|
|
4118
4251
|
let f = l.map((e) => ({
|
|
4119
4252
|
...e.request,
|
|
4120
4253
|
revision: a.get(e.request.datasetId) ?? 1
|
|
@@ -4129,22 +4262,22 @@ function La(e) {
|
|
|
4129
4262
|
p = e;
|
|
4130
4263
|
} catch (n) {
|
|
4131
4264
|
if (!u.isCurrent(t)) return;
|
|
4132
|
-
y(
|
|
4265
|
+
y(to(n instanceof Error ? n.message : String(n), e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id)));
|
|
4133
4266
|
return;
|
|
4134
4267
|
}
|
|
4135
4268
|
if (!u.isCurrent(t)) return;
|
|
4136
4269
|
let h = new Map(l.map((e) => [e.series.id, e.source]));
|
|
4137
4270
|
p.results.forEach((e) => {
|
|
4138
|
-
let t = h.get(e.seriesId), n = t ?
|
|
4139
|
-
n && (e.status === "ok" || e.status === "wasm-unavailable") && (c[e.seriesId] = n), d.push(e.diagnostics), s.set(e.seriesId, e.diagnostics.selectedMode), e.status === "wasm-unavailable" && y(
|
|
4140
|
-
}), p.workerError && y(
|
|
4271
|
+
let t = h.get(e.seriesId), n = t ? Qa(e, t) : void 0;
|
|
4272
|
+
n && (e.status === "ok" || e.status === "wasm-unavailable") && (c[e.seriesId] = n), d.push(e.diagnostics), s.set(e.seriesId, e.diagnostics.selectedMode), e.status === "wasm-unavailable" && y(to(p.workerError ?? "WASM sampling is unavailable.", e.diagnostics.mode, e.diagnostics.backend === "javascript" ? "javascript" : "none", [e.seriesId]));
|
|
4273
|
+
}), p.workerError && y(to(p.workerError, e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id))), r.workerFailureReason && p.results.every((e) => e.status !== "wasm-unavailable") && y(to(r.workerFailureReason, e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id))), e.linePointOverrides.value = { ...c }, v(d);
|
|
4141
4274
|
};
|
|
4142
4275
|
return k(h, () => {
|
|
4143
4276
|
f && clearTimeout(f);
|
|
4144
4277
|
let t = p;
|
|
4145
4278
|
p = !0, u.schedule((e) => x(e, t)), t && e.renderingOptions.value.sampling.mode === "auto" && e.renderingOptions.value.sampling.autoHysteresis > 0 && (f = setTimeout(() => {
|
|
4146
4279
|
f = void 0, u.schedule((e) => x(e, !1));
|
|
4147
|
-
},
|
|
4280
|
+
}, Za));
|
|
4148
4281
|
}, { immediate: !0 }), k(e.preparedSeries, () => {
|
|
4149
4282
|
u.cancelPending(), n.value += 1, e.linePointOverrides.value = {}, a.clear(), o.clear(), s.clear(), c.clear(), r?.dispose(), r = void 0;
|
|
4150
4283
|
}, { flush: "sync" }), _(() => {
|
|
@@ -4153,11 +4286,11 @@ function La(e) {
|
|
|
4153
4286
|
}
|
|
4154
4287
|
//#endregion
|
|
4155
4288
|
//#region src/components/core/useWaveformChartController.ts
|
|
4156
|
-
function
|
|
4289
|
+
function ro(e, t) {
|
|
4157
4290
|
e.value = t instanceof Element ? t : void 0;
|
|
4158
4291
|
}
|
|
4159
|
-
function
|
|
4160
|
-
let
|
|
4292
|
+
function io(e, n) {
|
|
4293
|
+
let r = x(), i = x(), a = x(), o = x(), s = x(0), c = x(0), l = x(0), u = x(0), f = x(0), p = w(q), m = w([]), h = x({}), g = x({}), _ = C({
|
|
4161
4294
|
points: [],
|
|
4162
4295
|
trackIndex: null,
|
|
4163
4296
|
queryX: null,
|
|
@@ -4166,216 +4299,219 @@ function za(e, t) {
|
|
|
4166
4299
|
x: 0,
|
|
4167
4300
|
y: 0
|
|
4168
4301
|
}
|
|
4169
|
-
}),
|
|
4302
|
+
}), v = x(!1), y = x(1), S = w(), T = de("waveform-clip"), D = x(new Set(e.defaultHiddenSeriesIds)), O = gt(), j = w({}), M = x([]), N = ai();
|
|
4170
4303
|
k([() => e.yDomain, () => e.yDomains], () => {
|
|
4171
|
-
|
|
4304
|
+
h.value = {}, g.value = {};
|
|
4172
4305
|
}, { deep: !0 });
|
|
4173
|
-
let
|
|
4174
|
-
|
|
4175
|
-
}, () =>
|
|
4306
|
+
let P = w(null), F = x(!1), I = x(!1), L = () => void 0, R = () => void 0, z = () => void 0, B = di(() => e.data, () => {
|
|
4307
|
+
z(), L();
|
|
4308
|
+
}, () => R()), V = ea({
|
|
4176
4309
|
props: e,
|
|
4177
|
-
observedWidth:
|
|
4178
|
-
observedHeight:
|
|
4179
|
-
measuredTitleWidth:
|
|
4180
|
-
measuredTitleHeight:
|
|
4181
|
-
internalHiddenSeriesIds:
|
|
4182
|
-
paginationBandHeight:
|
|
4183
|
-
}), { chartWidth:
|
|
4310
|
+
observedWidth: s,
|
|
4311
|
+
observedHeight: c,
|
|
4312
|
+
measuredTitleWidth: l,
|
|
4313
|
+
measuredTitleHeight: u,
|
|
4314
|
+
internalHiddenSeriesIds: D,
|
|
4315
|
+
paginationBandHeight: f
|
|
4316
|
+
}), { chartWidth: H, chartHeight: U, isCleanView: W, isPresentationMode: G, hiddenSeriesIdSet: K, resolvedTitleText: ee, titleAreaReserved: te, titleMeasureStyle: ne, titleAreaHeight: re, chartTopMargin: ie, innerHeight: ae } = V, oe = Xi({
|
|
4184
4317
|
props: e,
|
|
4185
|
-
preparedSeries:
|
|
4186
|
-
currentPage:
|
|
4187
|
-
hiddenSeriesIdSet:
|
|
4188
|
-
chartWidth:
|
|
4189
|
-
innerHeight:
|
|
4190
|
-
isCleanView:
|
|
4191
|
-
sharedTransform:
|
|
4192
|
-
independentTransforms:
|
|
4193
|
-
sharedYDomains:
|
|
4194
|
-
independentYDomains:
|
|
4195
|
-
annotationInteraction: d(
|
|
4196
|
-
linePointOverrides:
|
|
4197
|
-
}), { chartSeries:
|
|
4198
|
-
|
|
4318
|
+
preparedSeries: B,
|
|
4319
|
+
currentPage: y,
|
|
4320
|
+
hiddenSeriesIdSet: K,
|
|
4321
|
+
chartWidth: H,
|
|
4322
|
+
innerHeight: ae,
|
|
4323
|
+
isCleanView: W,
|
|
4324
|
+
sharedTransform: p,
|
|
4325
|
+
independentTransforms: m,
|
|
4326
|
+
sharedYDomains: h,
|
|
4327
|
+
independentYDomains: g,
|
|
4328
|
+
annotationInteraction: d(O),
|
|
4329
|
+
linePointOverrides: j
|
|
4330
|
+
}), { chartSeries: se, chartTracks: ce, renderingOptions: le, trackLayouts: ue, gridOptions: fe, pageCount: pe, pagedTracks: J, resolvedChartLeftMargin: me, innerWidth: Y, hasChartArea: he, activeInteractionMode: ge, isZoomMode: _e, initialXDomain: ve, sharedZoomDomain: ye, resolveInitialTrackDomain: be, annotationLayoutsForTrack: xe, resolveSeriesYScale: Se } = oe;
|
|
4331
|
+
no({
|
|
4199
4332
|
props: e,
|
|
4200
|
-
emit:
|
|
4201
|
-
instanceId:
|
|
4202
|
-
preparedSeries:
|
|
4203
|
-
sourceTrackLayouts:
|
|
4204
|
-
renderingOptions:
|
|
4205
|
-
linePointOverrides:
|
|
4206
|
-
}), A(() => {
|
|
4207
|
-
u.value = le.value.showPagination && de.value > 1 && V.value <= 520 ? 40 : 0;
|
|
4333
|
+
emit: n,
|
|
4334
|
+
instanceId: T,
|
|
4335
|
+
preparedSeries: B,
|
|
4336
|
+
sourceTrackLayouts: ue,
|
|
4337
|
+
renderingOptions: le,
|
|
4338
|
+
linePointOverrides: j
|
|
4208
4339
|
});
|
|
4209
|
-
let
|
|
4340
|
+
let Ce = t(() => fe.value.showPagination && pe.value > 1 && !W.value);
|
|
4341
|
+
A(() => {
|
|
4342
|
+
f.value = e.layoutPreset === "edge-compact" ? si(Ce.value, H.value, pe.value, me.value + Y.value / 2, oe.resolvedXLabel.value) : fe.value.showPagination && pe.value > 1 && H.value <= 520 ? 40 : 0;
|
|
4343
|
+
});
|
|
4344
|
+
let X = oi({
|
|
4210
4345
|
props: e,
|
|
4211
|
-
emit:
|
|
4212
|
-
svgElement:
|
|
4213
|
-
sharedOverlayElement:
|
|
4214
|
-
sharedTransform:
|
|
4215
|
-
independentTransforms:
|
|
4216
|
-
trackLayouts:
|
|
4217
|
-
initialXDomain:
|
|
4218
|
-
sharedZoomDomain:
|
|
4219
|
-
innerWidth:
|
|
4220
|
-
innerHeight:
|
|
4221
|
-
hasChartArea:
|
|
4222
|
-
isZoomMode:
|
|
4223
|
-
isPresentationMode:
|
|
4224
|
-
resolveInitialTrackDomain:
|
|
4225
|
-
cancelPendingHover: () =>
|
|
4346
|
+
emit: n,
|
|
4347
|
+
svgElement: i,
|
|
4348
|
+
sharedOverlayElement: o,
|
|
4349
|
+
sharedTransform: p,
|
|
4350
|
+
independentTransforms: m,
|
|
4351
|
+
trackLayouts: ue,
|
|
4352
|
+
initialXDomain: ve,
|
|
4353
|
+
sharedZoomDomain: ye,
|
|
4354
|
+
innerWidth: Y,
|
|
4355
|
+
innerHeight: ae,
|
|
4356
|
+
hasChartArea: he,
|
|
4357
|
+
isZoomMode: _e,
|
|
4358
|
+
isPresentationMode: G,
|
|
4359
|
+
resolveInitialTrackDomain: be,
|
|
4360
|
+
cancelPendingHover: () => Ee.cancelPendingHover()
|
|
4226
4361
|
});
|
|
4227
|
-
|
|
4228
|
-
let
|
|
4362
|
+
z = X.prepareForDataChange;
|
|
4363
|
+
let we = jr({
|
|
4229
4364
|
props: e,
|
|
4230
|
-
emit:
|
|
4231
|
-
container:
|
|
4232
|
-
chartSeries:
|
|
4233
|
-
hiddenSeriesIdSet:
|
|
4234
|
-
internalHiddenSeriesIds:
|
|
4235
|
-
annotationInteraction:
|
|
4236
|
-
editorSeriesOptions:
|
|
4237
|
-
trackLayouts:
|
|
4238
|
-
annotationLayoutsForTrack:
|
|
4239
|
-
resolveSeriesYScale:
|
|
4240
|
-
chartWidth:
|
|
4241
|
-
chartHeight:
|
|
4242
|
-
innerWidth:
|
|
4243
|
-
resolvedChartLeftMargin:
|
|
4365
|
+
emit: n,
|
|
4366
|
+
container: r,
|
|
4367
|
+
chartSeries: se,
|
|
4368
|
+
hiddenSeriesIdSet: K,
|
|
4369
|
+
internalHiddenSeriesIds: D,
|
|
4370
|
+
annotationInteraction: O,
|
|
4371
|
+
editorSeriesOptions: M,
|
|
4372
|
+
trackLayouts: ue,
|
|
4373
|
+
annotationLayoutsForTrack: xe,
|
|
4374
|
+
resolveSeriesYScale: Se,
|
|
4375
|
+
chartWidth: H,
|
|
4376
|
+
chartHeight: U,
|
|
4377
|
+
innerWidth: Y,
|
|
4378
|
+
resolvedChartLeftMargin: me,
|
|
4244
4379
|
titleAreaHeight: re,
|
|
4245
|
-
chartTopMargin:
|
|
4246
|
-
activeInteractionMode:
|
|
4247
|
-
isPresentationMode:
|
|
4248
|
-
}),
|
|
4380
|
+
chartTopMargin: ie,
|
|
4381
|
+
activeInteractionMode: ge,
|
|
4382
|
+
isPresentationMode: G
|
|
4383
|
+
}), Te = ii({
|
|
4249
4384
|
props: e,
|
|
4250
|
-
emit:
|
|
4251
|
-
selection:
|
|
4252
|
-
spacePressed:
|
|
4253
|
-
trackLayouts:
|
|
4254
|
-
chartTracks:
|
|
4255
|
-
initialXDomain:
|
|
4256
|
-
innerWidth:
|
|
4257
|
-
innerHeight:
|
|
4258
|
-
sharedOverlayElement:
|
|
4259
|
-
sharedTransform:
|
|
4260
|
-
independentTransforms:
|
|
4261
|
-
sharedYDomains:
|
|
4262
|
-
independentYDomains:
|
|
4263
|
-
isZoomMode:
|
|
4264
|
-
isPresentationMode:
|
|
4265
|
-
editorSeriesOptions:
|
|
4266
|
-
resolveInitialTrackDomain:
|
|
4267
|
-
canZoomTrack:
|
|
4268
|
-
canZoomSharedTracks:
|
|
4269
|
-
configureZoom:
|
|
4270
|
-
cancelPendingZoom:
|
|
4271
|
-
clearHover: () =>
|
|
4272
|
-
resolveTrackAtPointer:
|
|
4273
|
-
}),
|
|
4274
|
-
emit:
|
|
4275
|
-
hoverState:
|
|
4276
|
-
suppressHoverUntilMove:
|
|
4277
|
-
hoverThrottle:
|
|
4278
|
-
selection:
|
|
4279
|
-
trackLayouts:
|
|
4280
|
-
innerWidth:
|
|
4281
|
-
resolvedChartLeftMargin:
|
|
4385
|
+
emit: n,
|
|
4386
|
+
selection: P,
|
|
4387
|
+
spacePressed: F,
|
|
4388
|
+
trackLayouts: ue,
|
|
4389
|
+
chartTracks: ce,
|
|
4390
|
+
initialXDomain: ve,
|
|
4391
|
+
innerWidth: Y,
|
|
4392
|
+
innerHeight: ae,
|
|
4393
|
+
sharedOverlayElement: o,
|
|
4394
|
+
sharedTransform: p,
|
|
4395
|
+
independentTransforms: m,
|
|
4396
|
+
sharedYDomains: h,
|
|
4397
|
+
independentYDomains: g,
|
|
4398
|
+
isZoomMode: _e,
|
|
4399
|
+
isPresentationMode: G,
|
|
4400
|
+
editorSeriesOptions: M,
|
|
4401
|
+
resolveInitialTrackDomain: be,
|
|
4402
|
+
canZoomTrack: X.canZoomTrack,
|
|
4403
|
+
canZoomSharedTracks: X.canZoomSharedTracks,
|
|
4404
|
+
configureZoom: X.configureZoom,
|
|
4405
|
+
cancelPendingZoom: X.cancelPendingZoom,
|
|
4406
|
+
clearHover: () => Ee.clearHover(),
|
|
4407
|
+
resolveTrackAtPointer: we.resolveTrackAtPointer
|
|
4408
|
+
}), Ee = Mr({
|
|
4409
|
+
emit: n,
|
|
4410
|
+
hoverState: _,
|
|
4411
|
+
suppressHoverUntilMove: v,
|
|
4412
|
+
hoverThrottle: N,
|
|
4413
|
+
selection: P,
|
|
4414
|
+
trackLayouts: ue,
|
|
4415
|
+
innerWidth: Y,
|
|
4416
|
+
resolvedChartLeftMargin: me,
|
|
4282
4417
|
titleAreaHeight: re,
|
|
4283
|
-
chartTopMargin:
|
|
4284
|
-
sharedOverlayElement:
|
|
4285
|
-
isPresentationMode:
|
|
4286
|
-
updateViewportDrag:
|
|
4287
|
-
resolveTrackAtPointer:
|
|
4288
|
-
}),
|
|
4418
|
+
chartTopMargin: ie,
|
|
4419
|
+
sharedOverlayElement: o,
|
|
4420
|
+
isPresentationMode: G,
|
|
4421
|
+
updateViewportDrag: Te.updateViewportDrag,
|
|
4422
|
+
resolveTrackAtPointer: we.resolveTrackAtPointer
|
|
4423
|
+
}), De = li({
|
|
4289
4424
|
props: e,
|
|
4290
|
-
emit:
|
|
4291
|
-
container:
|
|
4292
|
-
titleMeasureElement:
|
|
4293
|
-
resizeObserver:
|
|
4294
|
-
observedWidth:
|
|
4295
|
-
observedHeight:
|
|
4296
|
-
measuredTitleWidth:
|
|
4297
|
-
measuredTitleHeight:
|
|
4425
|
+
emit: n,
|
|
4426
|
+
container: r,
|
|
4427
|
+
titleMeasureElement: a,
|
|
4428
|
+
resizeObserver: S,
|
|
4429
|
+
observedWidth: s,
|
|
4430
|
+
observedHeight: c,
|
|
4431
|
+
measuredTitleWidth: l,
|
|
4432
|
+
measuredTitleHeight: u,
|
|
4298
4433
|
resolvedTitleText: ee,
|
|
4299
4434
|
titleAreaReserved: te,
|
|
4300
4435
|
titleMeasureStyle: ne,
|
|
4301
|
-
spacePressed:
|
|
4302
|
-
pointerInsideChart:
|
|
4303
|
-
currentPage:
|
|
4304
|
-
pageCount:
|
|
4305
|
-
pagedTracks:
|
|
4306
|
-
gridOptions:
|
|
4307
|
-
chartSeries:
|
|
4308
|
-
chartTracks:
|
|
4309
|
-
trackLayouts:
|
|
4310
|
-
innerWidth:
|
|
4311
|
-
innerHeight:
|
|
4312
|
-
sharedZoomDomain:
|
|
4313
|
-
initialXDomain:
|
|
4314
|
-
sharedTransform:
|
|
4315
|
-
activeInteractionMode:
|
|
4316
|
-
hiddenSeriesIdSet:
|
|
4317
|
-
internalHiddenSeriesIds:
|
|
4318
|
-
independentTransforms:
|
|
4319
|
-
independentYDomains:
|
|
4320
|
-
resolveInitialTrackDomain:
|
|
4321
|
-
annotationInteraction:
|
|
4322
|
-
editorSeriesOptions:
|
|
4323
|
-
isPresentationMode:
|
|
4324
|
-
clearHover:
|
|
4325
|
-
cancelAnnotation:
|
|
4326
|
-
configureZoom:
|
|
4327
|
-
resetViewport:
|
|
4328
|
-
cancelViewportDrag:
|
|
4329
|
-
cancelPendingHover:
|
|
4330
|
-
clearZoomBindings:
|
|
4436
|
+
spacePressed: F,
|
|
4437
|
+
pointerInsideChart: I,
|
|
4438
|
+
currentPage: y,
|
|
4439
|
+
pageCount: pe,
|
|
4440
|
+
pagedTracks: J,
|
|
4441
|
+
gridOptions: fe,
|
|
4442
|
+
chartSeries: se,
|
|
4443
|
+
chartTracks: ce,
|
|
4444
|
+
trackLayouts: ue,
|
|
4445
|
+
innerWidth: Y,
|
|
4446
|
+
innerHeight: ae,
|
|
4447
|
+
sharedZoomDomain: ye,
|
|
4448
|
+
initialXDomain: ve,
|
|
4449
|
+
sharedTransform: p,
|
|
4450
|
+
activeInteractionMode: ge,
|
|
4451
|
+
hiddenSeriesIdSet: K,
|
|
4452
|
+
internalHiddenSeriesIds: D,
|
|
4453
|
+
independentTransforms: m,
|
|
4454
|
+
independentYDomains: g,
|
|
4455
|
+
resolveInitialTrackDomain: be,
|
|
4456
|
+
annotationInteraction: O,
|
|
4457
|
+
editorSeriesOptions: M,
|
|
4458
|
+
isPresentationMode: G,
|
|
4459
|
+
clearHover: Ee.clearHover,
|
|
4460
|
+
cancelAnnotation: we.cancelAnnotation,
|
|
4461
|
+
configureZoom: X.configureZoom,
|
|
4462
|
+
resetViewport: Te.resetViewport,
|
|
4463
|
+
cancelViewportDrag: Te.cancelViewportDrag,
|
|
4464
|
+
cancelPendingHover: Ee.cancelPendingHover,
|
|
4465
|
+
clearZoomBindings: X.clearZoomBindings
|
|
4331
4466
|
});
|
|
4332
|
-
return
|
|
4467
|
+
return L = De.handleBeforeDataReferenceChange, R = De.handleDataReferenceChange, b({
|
|
4333
4468
|
...E(e),
|
|
4334
|
-
...
|
|
4335
|
-
|
|
4336
|
-
...
|
|
4337
|
-
...X,
|
|
4469
|
+
...V,
|
|
4470
|
+
paginationVisible: Ce,
|
|
4471
|
+
...oe,
|
|
4338
4472
|
...we,
|
|
4473
|
+
...Te,
|
|
4474
|
+
...Ee,
|
|
4339
4475
|
margin: zt,
|
|
4340
4476
|
getPageSize: Hn,
|
|
4341
|
-
currentPage:
|
|
4342
|
-
selection:
|
|
4343
|
-
pointerInsideChart:
|
|
4344
|
-
hoverState:
|
|
4345
|
-
annotationInteraction:
|
|
4346
|
-
editorDraft:
|
|
4347
|
-
contextMenu:
|
|
4348
|
-
editorSeriesOptions:
|
|
4349
|
-
clipPathId:
|
|
4350
|
-
goToPage:
|
|
4351
|
-
setContainer: (e) =>
|
|
4352
|
-
setSvgElement: (e) =>
|
|
4353
|
-
setTitleMeasureElement: (e) =>
|
|
4354
|
-
setSharedOverlayElement: (e) =>
|
|
4477
|
+
currentPage: y,
|
|
4478
|
+
selection: P,
|
|
4479
|
+
pointerInsideChart: I,
|
|
4480
|
+
hoverState: _,
|
|
4481
|
+
annotationInteraction: O,
|
|
4482
|
+
editorDraft: O.editorDraft,
|
|
4483
|
+
contextMenu: O.contextMenu,
|
|
4484
|
+
editorSeriesOptions: M,
|
|
4485
|
+
clipPathId: T,
|
|
4486
|
+
goToPage: De.goToPage,
|
|
4487
|
+
setContainer: (e) => ro(r, e),
|
|
4488
|
+
setSvgElement: (e) => ro(i, e),
|
|
4489
|
+
setTitleMeasureElement: (e) => ro(a, e),
|
|
4490
|
+
setSharedOverlayElement: (e) => ro(o, e)
|
|
4355
4491
|
});
|
|
4356
4492
|
}
|
|
4357
4493
|
//#endregion
|
|
4358
4494
|
//#region src/components/annotation/WaveformAnnotationEditor.vue?vue&type=script&setup=true&lang.ts
|
|
4359
|
-
var
|
|
4495
|
+
var ao = ["id"], oo = { class: "waveform-annotation-editor__content" }, so = {
|
|
4360
4496
|
class: "waveform-annotation-editor__coordinates",
|
|
4361
4497
|
"aria-label": "标注坐标"
|
|
4362
|
-
},
|
|
4498
|
+
}, co = ["aria-invalid"], lo = {
|
|
4363
4499
|
class: "waveform-annotation-editor__coordinate-value",
|
|
4364
4500
|
"aria-hidden": "true"
|
|
4365
|
-
},
|
|
4501
|
+
}, uo = ["id"], fo = {
|
|
4366
4502
|
key: 0,
|
|
4367
4503
|
class: "waveform-annotation-editor__series",
|
|
4368
4504
|
"aria-label": "标注所属波形"
|
|
4369
|
-
},
|
|
4505
|
+
}, po = { class: "waveform-annotation-editor__series-label" }, mo = ["value"], ho = ["value"], go = { key: 1 }, _o = { class: "waveform-annotation-editor__field" }, vo = { class: "waveform-annotation-editor__label-row" }, yo = ["maxlength"], bo = { class: "waveform-annotation-editor__colors" }, xo = {
|
|
4370
4506
|
class: "waveform-annotation-editor__color-field",
|
|
4371
4507
|
title: "调整标注边框色和透明度"
|
|
4372
|
-
},
|
|
4508
|
+
}, So = {
|
|
4373
4509
|
class: "waveform-annotation-editor__color-field",
|
|
4374
4510
|
title: "调整标注文字色和透明度"
|
|
4375
|
-
},
|
|
4511
|
+
}, Co = {
|
|
4376
4512
|
class: "waveform-annotation-editor__color-field",
|
|
4377
4513
|
title: "调整标注背景色和透明度"
|
|
4378
|
-
},
|
|
4514
|
+
}, wo = /*#__PURE__*/ nt(/* @__PURE__ */ l({
|
|
4379
4515
|
__name: "WaveformAnnotationEditor",
|
|
4380
4516
|
props: {
|
|
4381
4517
|
annotation: {},
|
|
@@ -4395,7 +4531,7 @@ var Ba = ["id"], Va = { class: "waveform-annotation-editor__content" }, Ha = {
|
|
|
4395
4531
|
let u = c(async () => typeof window > "u" ? {
|
|
4396
4532
|
name: "WaveformColorPickerSsrFallback",
|
|
4397
4533
|
render: () => null
|
|
4398
|
-
} : (await import("vue3-colorpicker")).ColorPicker), d = o, p = l, h = x(), g =
|
|
4534
|
+
} : (await import("vue3-colorpicker")).ColorPicker), d = o, p = l, h = x(), g = de("waveform-annotation-editor-title"), _ = x(""), v = x(""), b = x(!1), C = x(""), w = x(""), E = x(""), A = t(() => b.value && (!v.value.trim() || !Number.isFinite(Number(v.value))) ? "请输入有效的时间" : ""), N = t(() => b.value && (A.value || d.timeError) || ""), P = t(() => _.value.trim().length > 0 && v.value.trim().length > 0 && Number.isFinite(Number(v.value)) && !N.value), F = t(() => _.value.length), I = t(() => {
|
|
4399
4535
|
let e = d.seriesOptions?.find((e) => e.seriesId === d.annotation.seriesId);
|
|
4400
4536
|
return e ? {
|
|
4401
4537
|
id: e.seriesId,
|
|
@@ -4433,7 +4569,7 @@ var Ba = ["id"], Va = { class: "waveform-annotation-editor__content" }, Ha = {
|
|
|
4433
4569
|
let t = e.target;
|
|
4434
4570
|
t.value && p("series-change", t.value);
|
|
4435
4571
|
}
|
|
4436
|
-
return (t, o) => (y(), n(D(
|
|
4572
|
+
return (t, o) => (y(), n(D(ce), {
|
|
4437
4573
|
visible: !0,
|
|
4438
4574
|
width: 440,
|
|
4439
4575
|
"mask-closable": !0,
|
|
@@ -4446,15 +4582,15 @@ var Ba = ["id"], Va = { class: "waveform-annotation-editor__content" }, Ha = {
|
|
|
4446
4582
|
onCancel: o[4] ||= (e) => p("cancel"),
|
|
4447
4583
|
onOk: B
|
|
4448
4584
|
}, {
|
|
4449
|
-
title: j(() => [a("span", { id: D(g) }, T(d.mode === "add" ? "添加标注" : "编辑标注"), 9,
|
|
4450
|
-
default: j(() => [a("div",
|
|
4451
|
-
a("div",
|
|
4585
|
+
title: j(() => [a("span", { id: D(g) }, T(d.mode === "add" ? "添加标注" : "编辑标注"), 9, ao)]),
|
|
4586
|
+
default: j(() => [a("div", oo, [
|
|
4587
|
+
a("div", so, [
|
|
4452
4588
|
a("label", {
|
|
4453
4589
|
class: "waveform-annotation-editor__coordinate-input",
|
|
4454
4590
|
"aria-invalid": !!N.value
|
|
4455
4591
|
}, [
|
|
4456
4592
|
o[5] ||= a("b", null, "X", -1),
|
|
4457
|
-
s(D(
|
|
4593
|
+
s(D(se), {
|
|
4458
4594
|
value: v.value === "" ? void 0 : Number(v.value),
|
|
4459
4595
|
controls: !0,
|
|
4460
4596
|
step: .001,
|
|
@@ -4471,26 +4607,26 @@ var Ba = ["id"], Va = { class: "waveform-annotation-editor__content" }, Ha = {
|
|
|
4471
4607
|
"aria-invalid",
|
|
4472
4608
|
"aria-describedby"
|
|
4473
4609
|
]),
|
|
4474
|
-
a("code",
|
|
4475
|
-
], 8,
|
|
4610
|
+
a("code", lo, T(v.value), 1)
|
|
4611
|
+
], 8, co),
|
|
4476
4612
|
N.value ? (y(), i("p", {
|
|
4477
4613
|
key: 0,
|
|
4478
4614
|
id: `${D(g)}-time-error`,
|
|
4479
4615
|
class: "waveform-annotation-editor__coordinate-error",
|
|
4480
4616
|
role: "alert"
|
|
4481
|
-
}, T(N.value), 9,
|
|
4617
|
+
}, T(N.value), 9, uo)) : r("", !0),
|
|
4482
4618
|
a("span", null, [o[6] ||= a("b", null, "Y", -1), a("code", null, T(D(At)(d.annotation.y)), 1)])
|
|
4483
4619
|
]),
|
|
4484
4620
|
o[13] ||= a("p", {
|
|
4485
4621
|
class: "waveform-annotation-editor__coordinate-hint",
|
|
4486
4622
|
role: "note"
|
|
4487
4623
|
}, " 修改 X 轴后失焦时会自动吸附最近的采样点 ", -1),
|
|
4488
|
-
I.value ? (y(), i("label",
|
|
4624
|
+
I.value ? (y(), i("label", fo, [
|
|
4489
4625
|
a("i", {
|
|
4490
4626
|
style: m({ backgroundColor: I.value.color }),
|
|
4491
4627
|
"aria-hidden": "true"
|
|
4492
4628
|
}, null, 4),
|
|
4493
|
-
a("span",
|
|
4629
|
+
a("span", po, [o[7] ||= a("small", null, "标注波形", -1), a("b", null, T(I.value.name), 1)]),
|
|
4494
4630
|
d.seriesOptions?.length ? (y(), i("select", {
|
|
4495
4631
|
key: 0,
|
|
4496
4632
|
value: d.annotation.seriesId,
|
|
@@ -4499,9 +4635,9 @@ var Ba = ["id"], Va = { class: "waveform-annotation-editor__content" }, Ha = {
|
|
|
4499
4635
|
}, [(y(!0), i(e, null, S(d.seriesOptions, (e) => (y(), i("option", {
|
|
4500
4636
|
key: e.seriesId,
|
|
4501
4637
|
value: e.seriesId
|
|
4502
|
-
}, T(e.name) + T(e.unit ? ` (${e.unit})` : ""), 9,
|
|
4638
|
+
}, T(e.name) + T(e.unit ? ` (${e.unit})` : ""), 9, ho))), 128))], 40, mo)) : I.value.unit ? (y(), i("code", go, T(I.value.unit), 1)) : r("", !0)
|
|
4503
4639
|
])) : r("", !0),
|
|
4504
|
-
a("label",
|
|
4640
|
+
a("label", _o, [a("span", vo, [o[8] ||= a("b", null, "标注文本", -1), a("small", null, T(F.value) + "/" + T(D(40)), 1)]), M(a("textarea", {
|
|
4505
4641
|
ref_key: "textarea",
|
|
4506
4642
|
ref: h,
|
|
4507
4643
|
"onUpdate:modelValue": o[0] ||= (e) => _.value = e,
|
|
@@ -4510,10 +4646,10 @@ var Ba = ["id"], Va = { class: "waveform-annotation-editor__content" }, Ha = {
|
|
|
4510
4646
|
"aria-label": "标注文本",
|
|
4511
4647
|
placeholder: "输入这处波形的说明",
|
|
4512
4648
|
onKeydown: V
|
|
4513
|
-
}, null, 40,
|
|
4514
|
-
a("fieldset",
|
|
4649
|
+
}, null, 40, yo), [[O, _.value]])]),
|
|
4650
|
+
a("fieldset", bo, [
|
|
4515
4651
|
o[12] ||= a("legend", null, "颜色与透明度", -1),
|
|
4516
|
-
a("label",
|
|
4652
|
+
a("label", xo, [o[9] ||= a("span", null, "边框色", -1), s(D(u), {
|
|
4517
4653
|
"pure-color": C.value,
|
|
4518
4654
|
"onUpdate:pureColor": o[1] ||= (e) => C.value = e,
|
|
4519
4655
|
"aria-label": "标注边框色",
|
|
@@ -4523,7 +4659,7 @@ var Ba = ["id"], Va = { class: "waveform-annotation-editor__content" }, Ha = {
|
|
|
4523
4659
|
"disable-alpha": !1,
|
|
4524
4660
|
"blur-close": !0
|
|
4525
4661
|
}, null, 8, ["pure-color"])]),
|
|
4526
|
-
a("label",
|
|
4662
|
+
a("label", So, [o[10] ||= a("span", null, "文字色", -1), s(D(u), {
|
|
4527
4663
|
"pure-color": w.value,
|
|
4528
4664
|
"onUpdate:pureColor": o[2] ||= (e) => w.value = e,
|
|
4529
4665
|
"aria-label": "标注文字色",
|
|
@@ -4533,7 +4669,7 @@ var Ba = ["id"], Va = { class: "waveform-annotation-editor__content" }, Ha = {
|
|
|
4533
4669
|
"disable-alpha": !1,
|
|
4534
4670
|
"blur-close": !0
|
|
4535
4671
|
}, null, 8, ["pure-color"])]),
|
|
4536
|
-
a("label",
|
|
4672
|
+
a("label", Co, [o[11] ||= a("span", null, "背景色", -1), s(D(u), {
|
|
4537
4673
|
"pure-color": E.value,
|
|
4538
4674
|
"onUpdate:pureColor": o[3] ||= (e) => E.value = e,
|
|
4539
4675
|
"aria-label": "标注背景色",
|
|
@@ -4548,13 +4684,13 @@ var Ba = ["id"], Va = { class: "waveform-annotation-editor__content" }, Ha = {
|
|
|
4548
4684
|
_: 1
|
|
4549
4685
|
}, 8, ["ok-button-props"]));
|
|
4550
4686
|
}
|
|
4551
|
-
}), [["__scopeId", "data-v-01ecd3a4"]]),
|
|
4687
|
+
}), [["__scopeId", "data-v-01ecd3a4"]]), To = { class: "waveform-tooltip__series-content" }, Eo = { class: "waveform-tooltip__series-label" }, Do = {
|
|
4552
4688
|
key: 0,
|
|
4553
4689
|
class: "waveform-tooltip__value"
|
|
4554
|
-
},
|
|
4690
|
+
}, Oo = {
|
|
4555
4691
|
key: 1,
|
|
4556
4692
|
class: "waveform-tooltip__value waveform-tooltip__value--missing"
|
|
4557
|
-
},
|
|
4693
|
+
}, ko = 12, Ao = 8, jo = 560, Mo = /*#__PURE__*/ nt(/* @__PURE__ */ l({
|
|
4558
4694
|
__name: "WaveformTooltip",
|
|
4559
4695
|
props: {
|
|
4560
4696
|
visible: { type: Boolean },
|
|
@@ -4584,12 +4720,12 @@ var Ba = ["id"], Va = { class: "waveform-annotation-editor__content" }, Ha = {
|
|
|
4584
4720
|
}, { flush: "post" }), v(u);
|
|
4585
4721
|
let d = t(() => {
|
|
4586
4722
|
if (!s.visible || !s.hoveredPoint) return { display: "none" };
|
|
4587
|
-
let e = s.position.x +
|
|
4723
|
+
let e = s.position.x + ko, t = s.position.x - ko - l.value.width, n = Math.max(1, Math.min(jo, s.containerWidth - Ao * 2));
|
|
4588
4724
|
return {
|
|
4589
|
-
...e + l.value.width <= s.containerWidth -
|
|
4725
|
+
...e + l.value.width <= s.containerWidth - Ao ? { left: `${e}px` } : t >= Ao ? { right: `${s.containerWidth - s.position.x + ko}px` } : { left: `${Ao}px` },
|
|
4590
4726
|
maxWidth: `${n}px`,
|
|
4591
4727
|
visibility: l.value.width > 0 ? "visible" : "hidden",
|
|
4592
|
-
top: `${Math.max(
|
|
4728
|
+
top: `${Math.max(Ao, Math.min(s.position.y - 18, s.containerHeight - l.value.height - Ao))}px`
|
|
4593
4729
|
};
|
|
4594
4730
|
});
|
|
4595
4731
|
return (t, s) => n.visible && n.hoveredPoint ? (y(), i("div", {
|
|
@@ -4601,9 +4737,9 @@ var Ba = ["id"], Va = { class: "waveform-annotation-editor__content" }, Ha = {
|
|
|
4601
4737
|
}, [(y(!0), i(e, null, S(n.seriesPoints, (t) => (y(), i("span", {
|
|
4602
4738
|
key: `${t.trackIndex}-${t.name}`,
|
|
4603
4739
|
class: "waveform-tooltip__series waveform-chart__tooltip-series"
|
|
4604
|
-
}, [a("i", { style: m({ backgroundColor: t.color }) }, null, 4), a("span",
|
|
4740
|
+
}, [a("i", { style: m({ backgroundColor: t.color }) }, null, 4), a("span", To, [a("span", Eo, [o(T(t.shotNo?.trim() || "未配置炮号") + ": " + T(t.name), 1), t.unit ? (y(), i(e, { key: 0 }, [o("(" + T(t.unit) + ")", 1)], 64)) : r("", !0)]), t.point ? (y(), i("span", Do, "(x:" + T(D(Ft)(t.point.x, n.timeUnit)) + " y:" + T(D(kt)(t.point.y)) + ")", 1)) : (y(), i("span", Oo, "无数据"))])]))), 128))], 4)) : r("", !0);
|
|
4605
4741
|
}
|
|
4606
|
-
}), [["__scopeId", "data-v-0d0d1d3c"]]),
|
|
4742
|
+
}), [["__scopeId", "data-v-0d0d1d3c"]]), No = /* @__PURE__ */ l({
|
|
4607
4743
|
__name: "WaveformHoverHost",
|
|
4608
4744
|
props: {
|
|
4609
4745
|
state: {},
|
|
@@ -4614,7 +4750,7 @@ var Ba = ["id"], Va = { class: "waveform-annotation-editor__content" }, Ha = {
|
|
|
4614
4750
|
},
|
|
4615
4751
|
setup(e) {
|
|
4616
4752
|
let r = e, i = t(() => r.state.points.find((e) => e.point)?.point ?? null);
|
|
4617
|
-
return (t, r) => (y(), n(
|
|
4753
|
+
return (t, r) => (y(), n(Mo, {
|
|
4618
4754
|
visible: e.visible && i.value !== null,
|
|
4619
4755
|
position: e.state.position,
|
|
4620
4756
|
"time-unit": e.timeUnit,
|
|
@@ -4632,16 +4768,16 @@ var Ba = ["id"], Va = { class: "waveform-annotation-editor__content" }, Ha = {
|
|
|
4632
4768
|
"container-height"
|
|
4633
4769
|
]));
|
|
4634
4770
|
}
|
|
4635
|
-
}),
|
|
4636
|
-
circle:
|
|
4637
|
-
square:
|
|
4638
|
-
triangle:
|
|
4639
|
-
diamond:
|
|
4771
|
+
}), Po = 13, Fo = 2, Io = 14, Lo = 8, Ro = 24, zo = {
|
|
4772
|
+
circle: ee,
|
|
4773
|
+
square: ne,
|
|
4774
|
+
triangle: re,
|
|
4775
|
+
diamond: te
|
|
4640
4776
|
};
|
|
4641
|
-
function
|
|
4642
|
-
return e === "none" ? null :
|
|
4777
|
+
function Bo(e, t = 48) {
|
|
4778
|
+
return e === "none" ? null : K().type(zo[e]).size(t)() ?? null;
|
|
4643
4779
|
}
|
|
4644
|
-
function
|
|
4780
|
+
function Vo(e, t, n = 48) {
|
|
4645
4781
|
if (e === "none" || t.length === 0) return null;
|
|
4646
4782
|
if (e === "circle") {
|
|
4647
4783
|
let e = Math.sqrt(n / Math.PI);
|
|
@@ -4658,24 +4794,24 @@ function So(e, t, n = 48) {
|
|
|
4658
4794
|
let r = Math.sqrt(n / (2 * Math.tan(Math.PI / 6))), i = r * Math.tan(Math.PI / 6);
|
|
4659
4795
|
return t.map(({ x: e, y: t }) => `M${e},${t - r}L${e + i},${t}L${e},${t + r}L${e - i},${t}Z`).join("");
|
|
4660
4796
|
}
|
|
4661
|
-
function
|
|
4797
|
+
function Ho(e) {
|
|
4662
4798
|
return e === "none" ? null : "M1 8H25";
|
|
4663
4799
|
}
|
|
4664
|
-
function
|
|
4800
|
+
function Uo(e) {
|
|
4665
4801
|
if (e === "dashed") return "8 5";
|
|
4666
4802
|
if (e === "dash-dot") return "8 5 1.5 5";
|
|
4667
4803
|
}
|
|
4668
|
-
function
|
|
4669
|
-
let t = (Number.isFinite(e) && e > 0 ? Math.min(e,
|
|
4804
|
+
function Wo(e) {
|
|
4805
|
+
let t = (Number.isFinite(e) && e > 0 ? Math.min(e, Ro) : Lo) / 2, n = Po - t, r = Po + t;
|
|
4670
4806
|
return [
|
|
4671
|
-
`M${n} ${
|
|
4672
|
-
`M${
|
|
4673
|
-
`M${n} ${
|
|
4807
|
+
`M${n} ${Fo}H${r}`,
|
|
4808
|
+
`M${Po} ${Fo}V${Io}`,
|
|
4809
|
+
`M${n} ${Io}H${r}`
|
|
4674
4810
|
].join("");
|
|
4675
4811
|
}
|
|
4676
4812
|
//#endregion
|
|
4677
4813
|
//#region src/components/rendering/WaveformSeriesLayer.vue?vue&type=script&setup=true&lang.ts
|
|
4678
|
-
var
|
|
4814
|
+
var Go = ["clip-path"], Ko = ["data-series-id", "data-series-name"], qo = [
|
|
4679
4815
|
"data-series-id",
|
|
4680
4816
|
"data-series-name",
|
|
4681
4817
|
"data-y-axis-index",
|
|
@@ -4684,11 +4820,11 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
4684
4820
|
"d",
|
|
4685
4821
|
"stroke",
|
|
4686
4822
|
"stroke-dasharray"
|
|
4687
|
-
],
|
|
4823
|
+
], Jo = ["data-series-id"], Yo = [
|
|
4688
4824
|
"d",
|
|
4689
4825
|
"stroke",
|
|
4690
4826
|
"stroke-width"
|
|
4691
|
-
],
|
|
4827
|
+
], Xo = ["data-series-id", "data-point-type"], Zo = ["d", "fill"], Qo = /*#__PURE__*/ nt(/* @__PURE__ */ l({
|
|
4692
4828
|
__name: "WaveformSeriesLayer",
|
|
4693
4829
|
props: {
|
|
4694
4830
|
track: {},
|
|
@@ -4696,7 +4832,7 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
4696
4832
|
},
|
|
4697
4833
|
setup(n) {
|
|
4698
4834
|
let a = n, o = t(() => a.track.seriesPaths.map((e) => {
|
|
4699
|
-
let t =
|
|
4835
|
+
let t = Vo(e.series.pointType, e.pointRenderPoints.map((t) => ({
|
|
4700
4836
|
x: a.track.xScale(t.x),
|
|
4701
4837
|
y: e.yScale(t.y)
|
|
4702
4838
|
}))), n = e.series.errorBar.capWidth / 2, r = e.errorBarRenderPoints.map((t) => {
|
|
@@ -4733,8 +4869,8 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
4733
4869
|
"data-line-style": e.series.lineStyle,
|
|
4734
4870
|
d: e.path,
|
|
4735
4871
|
stroke: e.series.color,
|
|
4736
|
-
"stroke-dasharray": D(
|
|
4737
|
-
}, null, 8,
|
|
4872
|
+
"stroke-dasharray": D(Uo)(e.series.lineStyle)
|
|
4873
|
+
}, null, 8, qo)) : r("", !0),
|
|
4738
4874
|
e.series.errorBar.visible ? (y(), i("g", {
|
|
4739
4875
|
key: 1,
|
|
4740
4876
|
class: "waveform-track__error-bars waveform-chart__error-bars",
|
|
@@ -4745,7 +4881,7 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
4745
4881
|
d: e.errorBarPath,
|
|
4746
4882
|
stroke: e.series.errorBar.color || e.series.color,
|
|
4747
4883
|
"stroke-width": e.series.errorBar.width
|
|
4748
|
-
}, null, 8,
|
|
4884
|
+
}, null, 8, Yo)) : r("", !0)], 8, Jo)) : r("", !0),
|
|
4749
4885
|
e.series.pointType === "none" ? r("", !0) : (y(), i("g", {
|
|
4750
4886
|
key: 2,
|
|
4751
4887
|
class: "waveform-track__points waveform-chart__points",
|
|
@@ -4756,28 +4892,72 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
4756
4892
|
class: "waveform-track__point waveform-chart__point",
|
|
4757
4893
|
d: e.pointPath,
|
|
4758
4894
|
fill: e.series.color
|
|
4759
|
-
}, null, 8,
|
|
4760
|
-
], 8,
|
|
4895
|
+
}, null, 8, Zo)) : r("", !0)], 8, Xo))
|
|
4896
|
+
], 8, Ko))), 128))], 8, Go)) : r("", !0);
|
|
4761
4897
|
}
|
|
4762
|
-
}), [["__scopeId", "data-v-628502df"]]),
|
|
4898
|
+
}), [["__scopeId", "data-v-628502df"]]), $o = ["clip-path"], es = [
|
|
4899
|
+
"data-y-axis-index",
|
|
4900
|
+
"x2",
|
|
4901
|
+
"y1",
|
|
4902
|
+
"y2",
|
|
4903
|
+
"stroke",
|
|
4904
|
+
"stroke-opacity",
|
|
4905
|
+
"stroke-width",
|
|
4906
|
+
"stroke-dasharray"
|
|
4907
|
+
], ts = /* @__PURE__ */ l({
|
|
4908
|
+
__name: "WaveformZeroLines",
|
|
4909
|
+
props: {
|
|
4910
|
+
track: {},
|
|
4911
|
+
clipPathId: {},
|
|
4912
|
+
innerWidth: {},
|
|
4913
|
+
cleanView: { type: Boolean },
|
|
4914
|
+
zeroLine: {}
|
|
4915
|
+
},
|
|
4916
|
+
setup(t) {
|
|
4917
|
+
let n = t;
|
|
4918
|
+
function a(e) {
|
|
4919
|
+
let [t, r] = e.scale.domain(), i = Math.abs(e.tickValues[1] - e.tickValues[0]) * n.zeroLine.boundaryThreshold;
|
|
4920
|
+
return !n.zeroLine.visible || t >= 0 || r <= 0 || -t < i || r < i ? null : e.scale(0);
|
|
4921
|
+
}
|
|
4922
|
+
return (n, o) => !t.track.isEmpty && t.track.hasVisibleSeries && t.zeroLine.visible && !t.cleanView ? (y(), i("g", {
|
|
4923
|
+
key: 0,
|
|
4924
|
+
class: "waveform-track__zero-lines waveform-chart__zero-lines",
|
|
4925
|
+
"clip-path": `url(#${t.clipPathId}-${t.track.index})`,
|
|
4926
|
+
"aria-hidden": "true",
|
|
4927
|
+
"pointer-events": "none"
|
|
4928
|
+
}, [(y(!0), i(e, null, S(t.track.yAxes, (n) => (y(), i(e, { key: `zero-line-${t.track.index}-${n.index}` }, [a(n) === null ? r("", !0) : (y(), i("line", {
|
|
4929
|
+
key: 0,
|
|
4930
|
+
class: "waveform-track__zero-line waveform-chart__zero-line",
|
|
4931
|
+
"data-y-axis-index": n.index,
|
|
4932
|
+
x1: "0",
|
|
4933
|
+
x2: t.track.width ?? t.innerWidth,
|
|
4934
|
+
y1: a(n) ?? 0,
|
|
4935
|
+
y2: a(n) ?? 0,
|
|
4936
|
+
stroke: t.zeroLine.color,
|
|
4937
|
+
"stroke-opacity": t.zeroLine.opacity,
|
|
4938
|
+
"stroke-width": t.zeroLine.width,
|
|
4939
|
+
"stroke-dasharray": t.zeroLine.dash || void 0
|
|
4940
|
+
}, null, 8, es))], 64))), 128))], 8, $o)) : r("", !0);
|
|
4941
|
+
}
|
|
4942
|
+
}), ns = ["transform"], rs = ["transform"], is = {
|
|
4763
4943
|
class: "waveform-track__axis-endpoint waveform-track__axis-endpoint--start waveform-chart__axis-endpoint waveform-chart__axis-endpoint--start",
|
|
4764
4944
|
x: "0",
|
|
4765
4945
|
y: "7",
|
|
4766
4946
|
dy: "0.71em",
|
|
4767
4947
|
"text-anchor": "start"
|
|
4768
|
-
},
|
|
4948
|
+
}, as = ["x"], os = [
|
|
4769
4949
|
"data-y-axis-index",
|
|
4770
4950
|
"data-y-axis-side",
|
|
4771
4951
|
"transform"
|
|
4772
|
-
],
|
|
4952
|
+
], ss = { key: 2 }, cs = [
|
|
4773
4953
|
"x",
|
|
4774
4954
|
"y",
|
|
4775
4955
|
"width"
|
|
4776
|
-
],
|
|
4956
|
+
], ls = ["fill", "transform"], us = ["data-y-axis-title-index"], ds = [
|
|
4777
4957
|
"x",
|
|
4778
4958
|
"y",
|
|
4779
4959
|
"width"
|
|
4780
|
-
],
|
|
4960
|
+
], fs = ["fill", "transform"], ps = /* @__PURE__ */ l({
|
|
4781
4961
|
__name: "WaveformTrackAxes",
|
|
4782
4962
|
props: {
|
|
4783
4963
|
track: {},
|
|
@@ -4785,7 +4965,12 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
4785
4965
|
cleanView: { type: Boolean },
|
|
4786
4966
|
axes: {},
|
|
4787
4967
|
timeUnit: {},
|
|
4788
|
-
yLabel: {}
|
|
4968
|
+
yLabel: {},
|
|
4969
|
+
showUnits: {
|
|
4970
|
+
type: Boolean,
|
|
4971
|
+
default: !0
|
|
4972
|
+
},
|
|
4973
|
+
containYAxisEndpoints: { type: Boolean }
|
|
4789
4974
|
},
|
|
4790
4975
|
setup(t) {
|
|
4791
4976
|
let n = t, o = x(), s = x([]);
|
|
@@ -4806,13 +4991,13 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
4806
4991
|
if (n.track.yAxes.forEach((e, t) => {
|
|
4807
4992
|
let r = s.value[t];
|
|
4808
4993
|
if (!r) return;
|
|
4809
|
-
let i = e.seriesList[0]?.unit, a = (e.side === "left" ? F(e.scale) : I(e.scale)).tickFormat((t) =>
|
|
4994
|
+
let i = n.showUnits ? e.seriesList[0]?.unit : void 0, a = (e.side === "left" ? F(e.scale) : I(e.scale)).tickFormat((t) => br(Number(t), e.scale.domain(), e.tickValues, i)).tickSize(-4).tickPadding(7).tickSizeOuter(0).tickValues(e.tickValues), o = G(r);
|
|
4810
4995
|
o.call(a);
|
|
4811
|
-
let c = Math.min(...e.tickValues);
|
|
4812
|
-
o.selectAll(".tick text").attr("y", null).attr("dy", (e) => e === c ? "0" : "0.32em").attr("dominant-baseline", (e) => e === c ? "text-after-edge" : null), o.selectAll("path.domain").attr("display", n.axes?.y?.lineVisible === !1 ? "none" : null);
|
|
4996
|
+
let c = Math.min(...e.tickValues), l = n.containYAxisEndpoints ? Math.max(...e.tickValues) : void 0;
|
|
4997
|
+
o.selectAll(".tick text").attr("y", null).attr("dy", (e) => e === c || e === l ? "0" : "0.32em").attr("dominant-baseline", (e) => e === c ? "text-after-edge" : e === l ? "text-before-edge" : null), o.selectAll("path.domain").attr("display", n.axes?.y?.lineVisible === !1 ? "none" : null);
|
|
4813
4998
|
}), !o.value) return;
|
|
4814
4999
|
let e = G(o.value);
|
|
4815
|
-
e.call(P(n.track.xScale).tickValues(n.track.xAxisTickValues).tickFormat((e) => Mt(Number(e), n.track.xScale.domain(), n.timeUnit, "tick", n.axes?.x?.labelFormatter)).tickSize(-4).tickPadding(7).tickSizeOuter(0)), e.selectAll("path.domain").attr("display", n.axes?.x?.lineVisible === !1 ? "none" : null);
|
|
5000
|
+
e.call(P(n.track.xScale).tickValues(n.track.xAxisTickValues).tickFormat((e) => Mt(Number(e), n.track.xScale.domain(), n.timeUnit, "tick", n.axes?.x?.labelFormatter ?? n.track.xAxisLabelFormatter)).tickSize(-4).tickPadding(7).tickSizeOuter(0)), e.selectAll("path.domain").attr("display", n.axes?.x?.lineVisible === !1 ? "none" : null);
|
|
4816
5001
|
}
|
|
4817
5002
|
return g(async () => {
|
|
4818
5003
|
await f(), m();
|
|
@@ -4822,6 +5007,8 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
4822
5007
|
() => n.track.xAxisTickValues,
|
|
4823
5008
|
() => n.track.yAxisTickValues,
|
|
4824
5009
|
() => n.timeUnit,
|
|
5010
|
+
() => n.showUnits,
|
|
5011
|
+
() => n.containYAxisEndpoints,
|
|
4825
5012
|
() => n.axes?.x?.labelFormatter,
|
|
4826
5013
|
() => n.axes?.x?.lineVisible,
|
|
4827
5014
|
() => n.axes?.y?.lineVisible
|
|
@@ -4834,7 +5021,7 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
4834
5021
|
ref: o,
|
|
4835
5022
|
class: p(["waveform-track__axis waveform-track__axis--x waveform-chart__axis waveform-chart__axis--x", { "waveform-track__axis--line-hidden": t.axes?.x?.lineVisible === !1 }]),
|
|
4836
5023
|
transform: `translate(0, ${t.track.height})`
|
|
4837
|
-
}, null, 10,
|
|
5024
|
+
}, null, 10, ns)) : r("", !0),
|
|
4838
5025
|
t.track.showXAxis ? (y(), i("g", {
|
|
4839
5026
|
key: 1,
|
|
4840
5027
|
class: "waveform-track__axis-endpoints waveform-chart__axis-endpoints",
|
|
@@ -4842,13 +5029,13 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
4842
5029
|
"font-family": "sans-serif",
|
|
4843
5030
|
"font-size": "10",
|
|
4844
5031
|
"aria-hidden": "true"
|
|
4845
|
-
}, [a("text",
|
|
5032
|
+
}, [a("text", is, T(t.track.endpointLabels.start), 1), a("text", {
|
|
4846
5033
|
class: "waveform-track__axis-endpoint waveform-track__axis-endpoint--end waveform-chart__axis-endpoint waveform-chart__axis-endpoint--end",
|
|
4847
5034
|
x: t.track.width ?? t.innerWidth,
|
|
4848
5035
|
y: "7",
|
|
4849
5036
|
dy: "0.71em",
|
|
4850
5037
|
"text-anchor": "end"
|
|
4851
|
-
}, T(t.track.endpointLabels.end), 9,
|
|
5038
|
+
}, T(t.track.endpointLabels.end), 9, as)], 8, rs)) : r("", !0),
|
|
4852
5039
|
(y(!0), i(e, null, S(t.track.isEmpty ? [] : t.track.yAxes, (e) => (y(), i("g", {
|
|
4853
5040
|
key: `y-axis-${t.track.index}-${e.index}`,
|
|
4854
5041
|
ref_for: !0,
|
|
@@ -4857,21 +5044,21 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
4857
5044
|
"data-y-axis-index": e.index,
|
|
4858
5045
|
"data-y-axis-side": e.side,
|
|
4859
5046
|
transform: `translate(${e.x}, 0)`
|
|
4860
|
-
}, null, 10,
|
|
4861
|
-
!t.cleanView && !t.track.isEmpty && t.track.hasVisibleSeries && t.track.seriesList.length === 1 && t.track.showYAxisLabel && t.track.series && c(t.track.series) && d(t.track.height, t.track.index) ? (y(), i("g",
|
|
5047
|
+
}, null, 10, os))), 128)),
|
|
5048
|
+
!t.cleanView && !t.track.isEmpty && t.track.hasVisibleSeries && t.track.seriesList.length === 1 && t.track.showYAxisLabel && t.track.series && c(t.track.series) && d(t.track.height, t.track.index) ? (y(), i("g", ss, [a("rect", {
|
|
4862
5049
|
class: "waveform-track__y-axis-label-bg waveform-chart__y-axis-label-bg",
|
|
4863
5050
|
x: t.track.yAxes[0].labelX - D(20) / 2,
|
|
4864
5051
|
y: t.track.height / 2 - 40,
|
|
4865
5052
|
width: D(20),
|
|
4866
5053
|
height: "80",
|
|
4867
5054
|
rx: "2"
|
|
4868
|
-
}, null, 8,
|
|
5055
|
+
}, null, 8, cs), a("text", {
|
|
4869
5056
|
class: "waveform-track__y-axis-label waveform-chart__y-axis-label",
|
|
4870
5057
|
fill: t.track.series?.color,
|
|
4871
5058
|
transform: `translate(${t.track.yAxes[0].labelX}, ${t.track.height / 2}) rotate(-90)`,
|
|
4872
5059
|
"text-anchor": "middle",
|
|
4873
5060
|
"dominant-baseline": "central"
|
|
4874
|
-
}, T(t.track.series ? c(t.track.series) : ""), 9,
|
|
5061
|
+
}, T(t.track.series ? c(t.track.series) : ""), 9, ls)])) : r("", !0),
|
|
4875
5062
|
(y(!0), i(e, null, S(!t.cleanView && t.track.yAxes.length > 1 ? t.track.yAxes.filter(l) : [], (e) => (y(), i("g", {
|
|
4876
5063
|
key: `y-axis-title-${t.track.index}-${e.index}`,
|
|
4877
5064
|
class: "waveform-track__multi-axis-title",
|
|
@@ -4883,48 +5070,40 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
4883
5070
|
width: D(20),
|
|
4884
5071
|
height: "80",
|
|
4885
5072
|
rx: "2"
|
|
4886
|
-
}, null, 8,
|
|
5073
|
+
}, null, 8, ds), a("text", {
|
|
4887
5074
|
class: "waveform-track__y-axis-label waveform-chart__y-axis-label",
|
|
4888
5075
|
fill: e.seriesList[0].color,
|
|
4889
5076
|
transform: `translate(${e.labelX}, ${t.track.height / 2}) rotate(-90)`,
|
|
4890
5077
|
"text-anchor": "middle",
|
|
4891
5078
|
"dominant-baseline": "central"
|
|
4892
|
-
}, T(c(e.seriesList[0])), 9,
|
|
5079
|
+
}, T(c(e.seriesList[0])), 9, fs)], 8, us))), 128))
|
|
4893
5080
|
], 64));
|
|
4894
5081
|
}
|
|
4895
|
-
}),
|
|
5082
|
+
}), ms = [
|
|
4896
5083
|
"width",
|
|
4897
5084
|
"height",
|
|
4898
5085
|
"fill"
|
|
4899
|
-
],
|
|
5086
|
+
], hs = ["clip-path"], gs = { class: "waveform-track__grid waveform-track__grid--minor waveform-chart__grid waveform-chart__grid--minor" }, _s = [
|
|
4900
5087
|
"stroke",
|
|
4901
5088
|
"x1",
|
|
4902
5089
|
"x2",
|
|
4903
5090
|
"y2"
|
|
4904
|
-
],
|
|
5091
|
+
], vs = [
|
|
4905
5092
|
"stroke",
|
|
4906
5093
|
"x2",
|
|
4907
5094
|
"y1",
|
|
4908
5095
|
"y2"
|
|
4909
|
-
],
|
|
5096
|
+
], ys = { class: "waveform-track__grid waveform-track__grid--major waveform-chart__grid waveform-chart__grid--major" }, bs = [
|
|
4910
5097
|
"stroke",
|
|
4911
5098
|
"x1",
|
|
4912
5099
|
"x2",
|
|
4913
5100
|
"y2"
|
|
4914
|
-
],
|
|
5101
|
+
], xs = [
|
|
4915
5102
|
"stroke",
|
|
4916
5103
|
"x2",
|
|
4917
5104
|
"y1",
|
|
4918
5105
|
"y2"
|
|
4919
|
-
],
|
|
4920
|
-
"data-y-axis-index",
|
|
4921
|
-
"x2",
|
|
4922
|
-
"y1",
|
|
4923
|
-
"y2",
|
|
4924
|
-
"stroke",
|
|
4925
|
-
"stroke-width",
|
|
4926
|
-
"stroke-dasharray"
|
|
4927
|
-
], ns = ["x", "y"], rs = /* @__PURE__ */ l({
|
|
5106
|
+
], Ss = ["x", "y"], Cs = /* @__PURE__ */ l({
|
|
4928
5107
|
__name: "WaveformTrackBackdrop",
|
|
4929
5108
|
props: {
|
|
4930
5109
|
track: {},
|
|
@@ -4932,16 +5111,10 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
4932
5111
|
innerWidth: {},
|
|
4933
5112
|
cleanView: { type: Boolean },
|
|
4934
5113
|
frameNumber: {},
|
|
4935
|
-
frameStyle: {}
|
|
4936
|
-
zeroLine: {}
|
|
5114
|
+
frameStyle: {}
|
|
4937
5115
|
},
|
|
4938
5116
|
setup(t) {
|
|
4939
|
-
|
|
4940
|
-
function o(e) {
|
|
4941
|
-
let [t, r] = e.scale.domain();
|
|
4942
|
-
return !n.zeroLine.visible || t > 0 || r < 0 ? null : e.scale(0);
|
|
4943
|
-
}
|
|
4944
|
-
return (n, s) => (y(), i(e, null, [
|
|
5117
|
+
return (n, o) => (y(), i(e, null, [
|
|
4945
5118
|
!t.track.isEmpty && !t.cleanView ? (y(), i("rect", {
|
|
4946
5119
|
key: 0,
|
|
4947
5120
|
class: "waveform-track__plot-background waveform-chart__plot-background",
|
|
@@ -4949,12 +5122,12 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
4949
5122
|
height: t.track.height,
|
|
4950
5123
|
fill: t.frameStyle.backgroundColor,
|
|
4951
5124
|
"aria-hidden": "true"
|
|
4952
|
-
}, null, 8,
|
|
5125
|
+
}, null, 8, ms)) : r("", !0),
|
|
4953
5126
|
!t.track.isEmpty && t.track.hasVisibleSeries && !t.cleanView ? (y(), i("g", {
|
|
4954
5127
|
key: 1,
|
|
4955
5128
|
"clip-path": `url(#${t.clipPathId}-${t.track.index})`,
|
|
4956
5129
|
"aria-hidden": "true"
|
|
4957
|
-
}, [a("g",
|
|
5130
|
+
}, [a("g", gs, [t.track.gridLines.vertical ? (y(!0), i(e, { key: 0 }, S(t.track.xMinorTicks, (e) => (y(), i("line", {
|
|
4958
5131
|
key: `x-minor-${t.track.index}-${e}`,
|
|
4959
5132
|
"data-grid-direction": "vertical",
|
|
4960
5133
|
stroke: t.track.gridLines.verticalColor,
|
|
@@ -4962,7 +5135,7 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
4962
5135
|
x2: t.track.xScale(e),
|
|
4963
5136
|
y1: "0",
|
|
4964
5137
|
y2: t.track.height
|
|
4965
|
-
}, null, 8,
|
|
5138
|
+
}, null, 8, _s))), 128)) : r("", !0), t.track.gridLines.horizontal ? (y(!0), i(e, { key: 1 }, S(t.track.yMinorTicks, (e) => (y(), i("line", {
|
|
4966
5139
|
key: `y-minor-${t.track.index}-${e}`,
|
|
4967
5140
|
"data-grid-direction": "horizontal",
|
|
4968
5141
|
stroke: t.track.gridLines.horizontalColor,
|
|
@@ -4970,7 +5143,7 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
4970
5143
|
x2: t.track.width ?? t.innerWidth,
|
|
4971
5144
|
y1: t.track.yScale(e),
|
|
4972
5145
|
y2: t.track.yScale(e)
|
|
4973
|
-
}, null, 8,
|
|
5146
|
+
}, null, 8, vs))), 128)) : r("", !0)]), a("g", ys, [t.track.gridLines.vertical ? (y(!0), i(e, { key: 0 }, S(t.track.xMajorTicks, (e) => (y(), i("line", {
|
|
4974
5147
|
key: `x-major-${t.track.index}-${e}`,
|
|
4975
5148
|
"data-grid-direction": "vertical",
|
|
4976
5149
|
stroke: t.track.gridLines.verticalColor,
|
|
@@ -4978,7 +5151,7 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
4978
5151
|
x2: t.track.xScale(e),
|
|
4979
5152
|
y1: "0",
|
|
4980
5153
|
y2: t.track.height
|
|
4981
|
-
}, null, 8,
|
|
5154
|
+
}, null, 8, bs))), 128)) : r("", !0), t.track.gridLines.horizontal ? (y(!0), i(e, { key: 1 }, S(t.track.yMajorTicks, (e) => (y(), i("line", {
|
|
4982
5155
|
key: `y-major-${t.track.index}-${e}`,
|
|
4983
5156
|
"data-grid-direction": "horizontal",
|
|
4984
5157
|
stroke: t.track.gridLines.horizontalColor,
|
|
@@ -4986,26 +5159,9 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
4986
5159
|
x2: t.track.width ?? t.innerWidth,
|
|
4987
5160
|
y1: t.track.yScale(e),
|
|
4988
5161
|
y2: t.track.yScale(e)
|
|
4989
|
-
}, null, 8,
|
|
4990
|
-
!t.track.isEmpty && t.track.hasVisibleSeries && t.zeroLine.visible && !t.cleanView ? (y(), i("g", {
|
|
4991
|
-
key: 2,
|
|
4992
|
-
class: "waveform-track__zero-lines waveform-chart__zero-lines",
|
|
4993
|
-
"clip-path": `url(#${t.clipPathId}-${t.track.index})`,
|
|
4994
|
-
"aria-hidden": "true"
|
|
4995
|
-
}, [(y(!0), i(e, null, S(t.track.yAxes, (n) => (y(), i(e, { key: `zero-line-${t.track.index}-${n.index}` }, [o(n) === null ? r("", !0) : (y(), i("line", {
|
|
4996
|
-
key: 0,
|
|
4997
|
-
class: "waveform-track__zero-line waveform-chart__zero-line",
|
|
4998
|
-
"data-y-axis-index": n.index,
|
|
4999
|
-
x1: "0",
|
|
5000
|
-
x2: t.track.width ?? t.innerWidth,
|
|
5001
|
-
y1: o(n) ?? 0,
|
|
5002
|
-
y2: o(n) ?? 0,
|
|
5003
|
-
stroke: t.zeroLine.color,
|
|
5004
|
-
"stroke-width": t.zeroLine.width,
|
|
5005
|
-
"stroke-dasharray": t.zeroLine.dash || void 0
|
|
5006
|
-
}, null, 8, ts))], 64))), 128))], 8, es)) : r("", !0),
|
|
5162
|
+
}, null, 8, xs))), 128)) : r("", !0)])], 8, hs)) : r("", !0),
|
|
5007
5163
|
!t.track.isEmpty && t.track.hasVisibleSeries && t.frameNumber !== void 0 && !t.cleanView ? (y(), i("text", {
|
|
5008
|
-
key:
|
|
5164
|
+
key: 2,
|
|
5009
5165
|
class: "waveform-track__watermark waveform-chart__watermark",
|
|
5010
5166
|
x: (t.track.width ?? t.innerWidth) / 2,
|
|
5011
5167
|
y: t.track.height / 2,
|
|
@@ -5013,10 +5169,10 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
5013
5169
|
"text-anchor": "middle",
|
|
5014
5170
|
"dominant-baseline": "central",
|
|
5015
5171
|
"aria-hidden": "true"
|
|
5016
|
-
}, T(t.frameNumber), 13,
|
|
5172
|
+
}, T(t.frameNumber), 13, Ss)) : r("", !0)
|
|
5017
5173
|
], 64));
|
|
5018
5174
|
}
|
|
5019
|
-
}),
|
|
5175
|
+
}), ws = [
|
|
5020
5176
|
"data-track-index",
|
|
5021
5177
|
"data-track-id",
|
|
5022
5178
|
"data-track-empty",
|
|
@@ -5026,19 +5182,21 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
5026
5182
|
"data-track-top",
|
|
5027
5183
|
"data-track-height",
|
|
5028
5184
|
"transform"
|
|
5029
|
-
],
|
|
5185
|
+
], Ts = [
|
|
5186
|
+
"x",
|
|
5187
|
+
"y",
|
|
5030
5188
|
"width",
|
|
5031
5189
|
"height",
|
|
5032
5190
|
"stroke",
|
|
5033
5191
|
"stroke-width",
|
|
5034
5192
|
"stroke-dasharray",
|
|
5035
5193
|
"stroke-linecap"
|
|
5036
|
-
],
|
|
5194
|
+
], Es = [
|
|
5037
5195
|
"data-interactive",
|
|
5038
5196
|
"data-independent-overlay-index",
|
|
5039
5197
|
"width",
|
|
5040
5198
|
"height"
|
|
5041
|
-
],
|
|
5199
|
+
], Ds = ["x", "y"], Os = /* @__PURE__ */ l({
|
|
5042
5200
|
__name: "WaveformTrack",
|
|
5043
5201
|
props: {
|
|
5044
5202
|
track: {},
|
|
@@ -5056,6 +5214,12 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
5056
5214
|
axes: {},
|
|
5057
5215
|
timeUnit: {},
|
|
5058
5216
|
yLabel: {},
|
|
5217
|
+
showAxisUnits: {
|
|
5218
|
+
type: Boolean,
|
|
5219
|
+
default: !0
|
|
5220
|
+
},
|
|
5221
|
+
containYAxisEndpoints: { type: Boolean },
|
|
5222
|
+
containFrameStroke: { type: Boolean },
|
|
5059
5223
|
cleanView: {
|
|
5060
5224
|
type: Boolean,
|
|
5061
5225
|
default: !1
|
|
@@ -5064,7 +5228,9 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
5064
5228
|
visible: !0,
|
|
5065
5229
|
color: Gt.COLOR,
|
|
5066
5230
|
width: Gt.WIDTH,
|
|
5067
|
-
dash: Gt.DASH
|
|
5231
|
+
dash: Gt.DASH,
|
|
5232
|
+
opacity: Gt.OPACITY,
|
|
5233
|
+
boundaryThreshold: Gt.BOUNDARY_THRESHOLD
|
|
5068
5234
|
}) }
|
|
5069
5235
|
},
|
|
5070
5236
|
emits: [
|
|
@@ -5085,7 +5251,7 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
5085
5251
|
borderStyle: a.frameStyle?.borderStyle === "dashed" || a.frameStyle?.borderStyle === "dotted" ? a.frameStyle.borderStyle : "solid",
|
|
5086
5252
|
backgroundColor: a.frameStyle?.backgroundColor || "transparent"
|
|
5087
5253
|
};
|
|
5088
|
-
});
|
|
5254
|
+
}), l = t(() => a.containFrameStroke ? c.value.borderWidth / 2 : 0);
|
|
5089
5255
|
return (t, n) => (y(), i("g", {
|
|
5090
5256
|
class: p(["waveform-track waveform-chart__track", { "waveform-track--empty waveform-chart__track--empty": e.track.isEmpty }]),
|
|
5091
5257
|
"data-track-index": e.track.index,
|
|
@@ -5098,54 +5264,71 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
5098
5264
|
"data-track-height": e.track.height,
|
|
5099
5265
|
transform: `translate(${e.track.left ?? 0}, ${e.track.top})`
|
|
5100
5266
|
}, [
|
|
5101
|
-
s(
|
|
5267
|
+
s(Cs, {
|
|
5102
5268
|
track: e.track,
|
|
5103
5269
|
"clip-path-id": e.clipPathId,
|
|
5104
5270
|
"inner-width": e.innerWidth,
|
|
5105
5271
|
"clean-view": e.cleanView,
|
|
5106
5272
|
"frame-number": e.frameNumber,
|
|
5107
|
-
"frame-style": c.value
|
|
5108
|
-
"zero-line": e.zeroLine
|
|
5273
|
+
"frame-style": c.value
|
|
5109
5274
|
}, null, 8, [
|
|
5110
5275
|
"track",
|
|
5111
5276
|
"clip-path-id",
|
|
5112
5277
|
"inner-width",
|
|
5113
5278
|
"clean-view",
|
|
5114
5279
|
"frame-number",
|
|
5115
|
-
"frame-style"
|
|
5116
|
-
"zero-line"
|
|
5280
|
+
"frame-style"
|
|
5117
5281
|
]),
|
|
5118
|
-
s(
|
|
5282
|
+
s(ps, {
|
|
5119
5283
|
track: e.track,
|
|
5120
5284
|
"inner-width": e.innerWidth,
|
|
5121
5285
|
"clean-view": e.cleanView,
|
|
5122
5286
|
axes: e.axes,
|
|
5123
5287
|
"time-unit": e.timeUnit,
|
|
5124
|
-
"y-label": e.yLabel
|
|
5288
|
+
"y-label": e.yLabel,
|
|
5289
|
+
"show-units": e.showAxisUnits,
|
|
5290
|
+
"contain-y-axis-endpoints": e.containYAxisEndpoints
|
|
5125
5291
|
}, null, 8, [
|
|
5126
5292
|
"track",
|
|
5127
5293
|
"inner-width",
|
|
5128
5294
|
"clean-view",
|
|
5129
5295
|
"axes",
|
|
5130
5296
|
"time-unit",
|
|
5131
|
-
"y-label"
|
|
5297
|
+
"y-label",
|
|
5298
|
+
"show-units",
|
|
5299
|
+
"contain-y-axis-endpoints"
|
|
5132
5300
|
]),
|
|
5133
5301
|
e.track.isEmpty ? r("", !0) : (y(), i("rect", {
|
|
5134
5302
|
key: 0,
|
|
5135
5303
|
class: "waveform-track__plot-frame waveform-chart__plot-frame",
|
|
5136
|
-
|
|
5137
|
-
|
|
5304
|
+
x: e.containFrameStroke ? l.value : void 0,
|
|
5305
|
+
y: e.containFrameStroke ? l.value : void 0,
|
|
5306
|
+
width: Math.max(0, (e.track.width ?? e.innerWidth) - l.value * 2),
|
|
5307
|
+
height: Math.max(0, e.track.height - l.value * 2),
|
|
5138
5308
|
fill: "none",
|
|
5139
5309
|
stroke: c.value.borderColor,
|
|
5140
5310
|
"stroke-width": c.value.borderWidth,
|
|
5141
5311
|
"stroke-dasharray": c.value.borderStyle === "dashed" ? "6 4" : c.value.borderStyle === "dotted" ? "1 3" : void 0,
|
|
5142
5312
|
"stroke-linecap": c.value.borderStyle === "dotted" ? "round" : void 0,
|
|
5143
5313
|
"aria-hidden": "true"
|
|
5144
|
-
}, null, 8,
|
|
5145
|
-
s(
|
|
5314
|
+
}, null, 8, Ts)),
|
|
5315
|
+
s(Qo, {
|
|
5146
5316
|
track: e.track,
|
|
5147
5317
|
"clip-path-id": e.clipPathId
|
|
5148
5318
|
}, null, 8, ["track", "clip-path-id"]),
|
|
5319
|
+
s(ts, {
|
|
5320
|
+
track: e.track,
|
|
5321
|
+
"clip-path-id": e.clipPathId,
|
|
5322
|
+
"inner-width": e.innerWidth,
|
|
5323
|
+
"clean-view": e.cleanView,
|
|
5324
|
+
"zero-line": e.zeroLine
|
|
5325
|
+
}, null, 8, [
|
|
5326
|
+
"track",
|
|
5327
|
+
"clip-path-id",
|
|
5328
|
+
"inner-width",
|
|
5329
|
+
"clean-view",
|
|
5330
|
+
"zero-line"
|
|
5331
|
+
]),
|
|
5149
5332
|
!e.track.isEmpty && e.track.hasVisibleSeries && e.displayMode === "independent" ? (y(), i("rect", {
|
|
5150
5333
|
key: 1,
|
|
5151
5334
|
class: p(["waveform-track__overlay waveform-track__overlay--independent waveform-chart__overlay waveform-chart__overlay--independent", {
|
|
@@ -5164,7 +5347,7 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
5164
5347
|
onPointerleave: n[4] ||= (e) => o("pointer-leave"),
|
|
5165
5348
|
onClick: n[5] ||= (e) => o("click", e),
|
|
5166
5349
|
onContextmenu: n[6] ||= (e) => o("contextmenu", e)
|
|
5167
|
-
}, null, 42,
|
|
5350
|
+
}, null, 42, Es)) : r("", !0),
|
|
5168
5351
|
!e.track.isEmpty && !e.track.hasVisibleSeries && !e.cleanView ? (y(), i("text", {
|
|
5169
5352
|
key: 2,
|
|
5170
5353
|
class: "waveform-track__no-visible-series",
|
|
@@ -5172,33 +5355,33 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
5172
5355
|
y: e.track.height / 2,
|
|
5173
5356
|
"text-anchor": "middle",
|
|
5174
5357
|
"dominant-baseline": "central"
|
|
5175
|
-
}, " 暂无可见曲线 ", 8,
|
|
5176
|
-
], 10,
|
|
5358
|
+
}, " 暂无可见曲线 ", 8, Ds)) : r("", !0)
|
|
5359
|
+
], 10, ws));
|
|
5177
5360
|
}
|
|
5178
|
-
}),
|
|
5361
|
+
}), ks = [
|
|
5179
5362
|
"width",
|
|
5180
5363
|
"height",
|
|
5181
5364
|
"data-position",
|
|
5182
5365
|
"data-orientation"
|
|
5183
|
-
],
|
|
5366
|
+
], As = [
|
|
5184
5367
|
"disabled",
|
|
5185
5368
|
"aria-pressed",
|
|
5186
5369
|
"aria-label",
|
|
5187
5370
|
"onClick"
|
|
5188
|
-
],
|
|
5371
|
+
], js = [
|
|
5189
5372
|
"data-line-type",
|
|
5190
5373
|
"data-line-style",
|
|
5191
5374
|
"data-point-type",
|
|
5192
5375
|
"data-error-bar-visible"
|
|
5193
|
-
],
|
|
5376
|
+
], Ms = [
|
|
5194
5377
|
"d",
|
|
5195
5378
|
"stroke",
|
|
5196
5379
|
"stroke-dasharray"
|
|
5197
|
-
],
|
|
5380
|
+
], Ns = [
|
|
5198
5381
|
"d",
|
|
5199
5382
|
"stroke",
|
|
5200
5383
|
"stroke-width"
|
|
5201
|
-
],
|
|
5384
|
+
], Ps = ["d", "fill"], Fs = ["title"], Is = /*#__PURE__*/ nt(/* @__PURE__ */ l({
|
|
5202
5385
|
__name: "WaveformLegend",
|
|
5203
5386
|
props: {
|
|
5204
5387
|
series: {},
|
|
@@ -5211,15 +5394,23 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
5211
5394
|
type: Boolean,
|
|
5212
5395
|
default: !1
|
|
5213
5396
|
},
|
|
5397
|
+
showUnits: {
|
|
5398
|
+
type: Boolean,
|
|
5399
|
+
default: !1
|
|
5400
|
+
},
|
|
5214
5401
|
hiddenSeriesIds: { default: () => [] }
|
|
5215
5402
|
},
|
|
5216
5403
|
emits: ["toggle"],
|
|
5217
5404
|
setup(n, { emit: o }) {
|
|
5218
5405
|
let s = n, c = o, l = t(() => new Set(s.hiddenSeriesIds));
|
|
5219
5406
|
function u(e) {
|
|
5220
|
-
|
|
5407
|
+
let t = e.unit?.trim();
|
|
5408
|
+
return s.showUnits && t && t !== "--" ? `${e.name} (${t})` : e.name;
|
|
5221
5409
|
}
|
|
5222
5410
|
function d(e) {
|
|
5411
|
+
return l.value.has(e);
|
|
5412
|
+
}
|
|
5413
|
+
function f(e) {
|
|
5223
5414
|
s.interactive && c("toggle", e);
|
|
5224
5415
|
}
|
|
5225
5416
|
return (t, o) => (y(), i("foreignObject", {
|
|
@@ -5240,13 +5431,13 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
5240
5431
|
role: "list"
|
|
5241
5432
|
}, [(y(!0), i(e, null, S(n.series, (e) => (y(), i("button", {
|
|
5242
5433
|
key: e.id,
|
|
5243
|
-
class: p(["waveform-legend__item waveform-chart__legend-item", { "is-hidden":
|
|
5434
|
+
class: p(["waveform-legend__item waveform-chart__legend-item", { "is-hidden": d(e.id) }]),
|
|
5244
5435
|
type: "button",
|
|
5245
5436
|
role: "listitem",
|
|
5246
5437
|
disabled: !n.interactive,
|
|
5247
|
-
"aria-pressed": n.interactive ? !
|
|
5248
|
-
"aria-label": n.interactive ? `${
|
|
5249
|
-
onClick: N((t) =>
|
|
5438
|
+
"aria-pressed": n.interactive ? !d(e.id) : void 0,
|
|
5439
|
+
"aria-label": n.interactive ? `${d(e.id) ? "显示" : "隐藏"}曲线 ${e.name}` : void 0,
|
|
5440
|
+
onClick: N((t) => f(e.id), ["stop"])
|
|
5250
5441
|
}, [(y(), i("svg", {
|
|
5251
5442
|
class: "waveform-legend__swatch",
|
|
5252
5443
|
viewBox: "0 0 26 16",
|
|
@@ -5256,45 +5447,45 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
5256
5447
|
"data-point-type": e.pointType,
|
|
5257
5448
|
"data-error-bar-visible": e.errorBar.visible || void 0
|
|
5258
5449
|
}, [
|
|
5259
|
-
D(
|
|
5450
|
+
D(Ho)(e.lineType) ? (y(), i("path", {
|
|
5260
5451
|
key: 0,
|
|
5261
5452
|
class: "waveform-legend__line",
|
|
5262
|
-
d: D(
|
|
5453
|
+
d: D(Ho)(e.lineType) ?? void 0,
|
|
5263
5454
|
stroke: e.color,
|
|
5264
|
-
"stroke-dasharray": D(
|
|
5455
|
+
"stroke-dasharray": D(Uo)(e.lineStyle),
|
|
5265
5456
|
"stroke-width": "1",
|
|
5266
5457
|
fill: "none"
|
|
5267
|
-
}, null, 8,
|
|
5458
|
+
}, null, 8, Ms)) : r("", !0),
|
|
5268
5459
|
e.errorBar.visible ? (y(), i("path", {
|
|
5269
5460
|
key: 1,
|
|
5270
5461
|
class: "waveform-legend__error-bar",
|
|
5271
|
-
d: D(
|
|
5462
|
+
d: D(Wo)(e.errorBar.capWidth),
|
|
5272
5463
|
stroke: e.errorBar.color || e.color,
|
|
5273
5464
|
"stroke-width": e.errorBar.width,
|
|
5274
5465
|
"stroke-linecap": "butt",
|
|
5275
5466
|
fill: "none"
|
|
5276
|
-
}, null, 8,
|
|
5467
|
+
}, null, 8, Ns)) : r("", !0),
|
|
5277
5468
|
e.pointType === "none" ? r("", !0) : (y(), i("path", {
|
|
5278
5469
|
key: 2,
|
|
5279
5470
|
class: "waveform-legend__point",
|
|
5280
|
-
d: D(
|
|
5471
|
+
d: D(Bo)(e.pointType, 30) ?? void 0,
|
|
5281
5472
|
fill: e.color,
|
|
5282
5473
|
transform: "translate(13 8)"
|
|
5283
|
-
}, null, 8,
|
|
5284
|
-
], 8,
|
|
5474
|
+
}, null, 8, Ps))
|
|
5475
|
+
], 8, js)), a("span", {
|
|
5285
5476
|
class: "waveform-legend__label",
|
|
5286
|
-
title: e
|
|
5287
|
-
}, T(e
|
|
5477
|
+
title: u(e)
|
|
5478
|
+
}, T(u(e)), 9, Fs)], 10, As))), 128))], 6)], 2)], 8, ks));
|
|
5288
5479
|
}
|
|
5289
|
-
}), [["__scopeId", "data-v-
|
|
5480
|
+
}), [["__scopeId", "data-v-d5958f86"]]), Ls = {
|
|
5290
5481
|
class: "waveform-chart__hover-layer",
|
|
5291
5482
|
"pointer-events": "none",
|
|
5292
5483
|
"aria-hidden": "true"
|
|
5293
|
-
},
|
|
5484
|
+
}, Rs = ["clip-path", "transform"], zs = [
|
|
5294
5485
|
"x1",
|
|
5295
5486
|
"x2",
|
|
5296
5487
|
"y2"
|
|
5297
|
-
],
|
|
5488
|
+
], Bs = /*#__PURE__*/ nt(/* @__PURE__ */ l({
|
|
5298
5489
|
__name: "WaveformHoverLayer",
|
|
5299
5490
|
props: {
|
|
5300
5491
|
state: {},
|
|
@@ -5310,7 +5501,7 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
5310
5501
|
x: e.xScale(n)
|
|
5311
5502
|
}] : [];
|
|
5312
5503
|
}));
|
|
5313
|
-
return (t, r) => (y(), i("g",
|
|
5504
|
+
return (t, r) => (y(), i("g", Ls, [(y(!0), i(e, null, S(o.value, (e) => (y(), i("g", {
|
|
5314
5505
|
key: e.track.index,
|
|
5315
5506
|
class: "waveform-track__crosshair waveform-chart__crosshair",
|
|
5316
5507
|
"clip-path": `url(#${n.clipPathId}-${e.track.index})`,
|
|
@@ -5320,9 +5511,9 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
5320
5511
|
x2: e.x,
|
|
5321
5512
|
y1: "0",
|
|
5322
5513
|
y2: e.track.height
|
|
5323
|
-
}, null, 8,
|
|
5514
|
+
}, null, 8, zs)], 8, Rs))), 128))]));
|
|
5324
5515
|
}
|
|
5325
|
-
}), [["__scopeId", "data-v-54a5a37d"]]),
|
|
5516
|
+
}), [["__scopeId", "data-v-54a5a37d"]]), Vs = [
|
|
5326
5517
|
"data-display-mode",
|
|
5327
5518
|
"data-interaction-mode",
|
|
5328
5519
|
"data-presentation-mode",
|
|
@@ -5331,103 +5522,104 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
5331
5522
|
"data-plot-margin-top",
|
|
5332
5523
|
"data-plot-margin-bottom",
|
|
5333
5524
|
"data-title-area-height"
|
|
5334
|
-
],
|
|
5525
|
+
], Hs = [
|
|
5335
5526
|
"role",
|
|
5336
5527
|
"aria-level",
|
|
5337
5528
|
"aria-hidden"
|
|
5338
|
-
],
|
|
5529
|
+
], Us = ["data-title-scale", "data-title-wrapped"], Ws = [
|
|
5339
5530
|
"width",
|
|
5340
5531
|
"height",
|
|
5341
5532
|
"aria-label"
|
|
5342
|
-
],
|
|
5533
|
+
], Gs = ["id"], Ks = ["width", "height"], qs = ["transform"], Js = {
|
|
5343
5534
|
key: 0,
|
|
5344
5535
|
class: "waveform-chart__grid-slots",
|
|
5345
5536
|
"aria-hidden": "true"
|
|
5346
|
-
},
|
|
5537
|
+
}, Ys = ["transform"], Xs = ["width", "height"], Zs = ["width", "height"], Qs = [
|
|
5347
5538
|
"x",
|
|
5348
5539
|
"y",
|
|
5349
5540
|
"width",
|
|
5350
5541
|
"height"
|
|
5351
|
-
],
|
|
5542
|
+
], $s = {
|
|
5352
5543
|
key: 4,
|
|
5353
5544
|
class: "waveform-chart__legend-layer"
|
|
5354
|
-
},
|
|
5545
|
+
}, ec = [
|
|
5355
5546
|
"data-legend-track-index",
|
|
5356
5547
|
"data-legend-track-id",
|
|
5357
5548
|
"transform"
|
|
5358
|
-
],
|
|
5549
|
+
], tc = ["x", "y"], nc = ["x", "y"], rc = /* @__PURE__ */ l({
|
|
5359
5550
|
__name: "WaveformChartView",
|
|
5360
5551
|
props: { controller: {} },
|
|
5361
5552
|
setup(t) {
|
|
5362
|
-
let { displayMode: o, activeInteractionMode: c, isCleanView: l,
|
|
5363
|
-
function
|
|
5364
|
-
|
|
5553
|
+
let { displayMode: o, activeInteractionMode: c, isCleanView: l, isEdgeCompact: u, paginationVisible: d, isPresentationMode: f, selection: h, containerStyle: g, overlayMode: _, unitDisplayMode: v, showLegendUnits: b, resolvedChartLeftMargin: x, titleAreaHeight: C, resolvedPlotMargin: w, pointerInsideChart: O, handleNativeContextMenu: k, titleAreaReserved: A, titleAreaStyle: j, titleVisible: M, titleMeasureStyle: N, resolvedTitleText: P, titleVisualStyle: F, titleTextStyle: I, titleLayout: L, chartWidth: R, drawingHeight: z, hasWaveformData: B, requestViewportReset: V, trackLayouts: H, clipPathId: U, chartTopMargin: W, gridCells: G, hasVisibleWaveformData: K, zoomable: ee, isZoomMode: te, innerWidth: ne, innerHeight: re, handleSharedPointerMove: ie, beginSharedViewportDrag: ae, finishViewportDrag: q, cancelViewportDrag: oe, handlePointerLeave: se, handleAnnotationClick: ce, handleAnnotationContextMenu: ue, resolveFrameNumber: de, frameStyle: fe, axes: pe, resolvedZeroLine: J, timeUnit: me, yLabel: Y, handleIndependentPointerMove: he, beginViewportDrag: ge, hoverState: _e, showTooltip: ve, selectionBox: ye, renderedAnnotations: be, annotationsVisible: xe, handleExistingAnnotationContextMenu: Se, beginAnnotationDrag: Ce, handleAnnotationMove: X, endAnnotationDrag: we, resolveLegendPosition: Te, resolveLegendOrientation: Ee, legendBackgroundColor: De, legendInteractive: Oe, resolvedHiddenSeriesIds: ke, toggleSeriesVisibility: Ae, resolvedXLabel: je, xAxisTitleY: Me, hasChartArea: Ne, gridOptions: Pe, currentPage: Fe, getPageSize: Ie, pageableTracks: Le, goToPage: Re, annotationInteraction: ze, editorDraft: Be, contextMenu: Ve, editorSeries: He, editorSeriesOptions: Ue, timeError: We, confirmAnnotation: Ge, cancelAnnotation: Ke, changeDraftSeries: qe, changeDraftTime: Je, editContextAnnotation: Ye, deleteContextAnnotation: Xe, chartHeight: Ze, setContainer: Qe, setSvgElement: $e, setTitleMeasureElement: et, setSharedOverlayElement: tt } = E(t.controller);
|
|
5554
|
+
function nt() {
|
|
5555
|
+
O.value = !1, se.value();
|
|
5365
5556
|
}
|
|
5366
5557
|
return (t, E) => (y(), i("div", {
|
|
5367
|
-
ref: D(
|
|
5558
|
+
ref: D(Qe),
|
|
5368
5559
|
class: p(["waveform-chart", [
|
|
5369
5560
|
`waveform-chart--${D(o)}`,
|
|
5370
5561
|
`waveform-chart--interaction-${D(c)}`,
|
|
5371
5562
|
{
|
|
5372
5563
|
"waveform-chart--clean": D(l),
|
|
5373
|
-
"waveform-chart--
|
|
5374
|
-
"waveform-chart--
|
|
5564
|
+
"waveform-chart--edge-compact": D(u),
|
|
5565
|
+
"waveform-chart--presentation": D(f),
|
|
5566
|
+
"waveform-chart--panning": D(h)?.kind === "pan"
|
|
5375
5567
|
}
|
|
5376
5568
|
]]),
|
|
5377
|
-
style: m(D(
|
|
5569
|
+
style: m(D(g)),
|
|
5378
5570
|
"data-display-mode": D(o),
|
|
5379
5571
|
"data-interaction-mode": D(c),
|
|
5380
|
-
"data-presentation-mode": D(
|
|
5381
|
-
"data-overlay-mode": D(
|
|
5382
|
-
"data-chart-left-margin": D(
|
|
5383
|
-
"data-plot-margin-top": D(
|
|
5384
|
-
"data-plot-margin-bottom": D(
|
|
5385
|
-
"data-title-area-height": D(
|
|
5386
|
-
onPointerenter: E[8] ||= (e) =>
|
|
5387
|
-
onPointerleave:
|
|
5388
|
-
onContextmenuCapture: E[9] ||= (...e) => D(
|
|
5572
|
+
"data-presentation-mode": D(f),
|
|
5573
|
+
"data-overlay-mode": D(_),
|
|
5574
|
+
"data-chart-left-margin": D(x),
|
|
5575
|
+
"data-plot-margin-top": D(w).top,
|
|
5576
|
+
"data-plot-margin-bottom": D(w).bottom,
|
|
5577
|
+
"data-title-area-height": D(C),
|
|
5578
|
+
onPointerenter: E[8] ||= (e) => O.value = !0,
|
|
5579
|
+
onPointerleave: nt,
|
|
5580
|
+
onContextmenuCapture: E[9] ||= (...e) => D(k) && D(k)(...e)
|
|
5389
5581
|
}, [
|
|
5390
|
-
D(
|
|
5582
|
+
D(A) ? (y(), i("div", {
|
|
5391
5583
|
key: 0,
|
|
5392
5584
|
class: "waveform-chart__title-area",
|
|
5393
|
-
style: m(D(
|
|
5394
|
-
role: D(
|
|
5395
|
-
"aria-level": D(
|
|
5585
|
+
style: m(D(j)),
|
|
5586
|
+
role: D(M) ? "heading" : void 0,
|
|
5587
|
+
"aria-level": D(M) ? 2 : void 0,
|
|
5396
5588
|
"aria-hidden": D(l) || void 0
|
|
5397
5589
|
}, [a("span", {
|
|
5398
|
-
ref: D(
|
|
5590
|
+
ref: D(et),
|
|
5399
5591
|
class: "waveform-chart__title-measure",
|
|
5400
|
-
style: m(D(
|
|
5592
|
+
style: m(D(N)),
|
|
5401
5593
|
"aria-hidden": "true"
|
|
5402
|
-
}, T(D(
|
|
5594
|
+
}, T(D(P)), 5), D(M) ? (y(), i("span", {
|
|
5403
5595
|
key: 0,
|
|
5404
5596
|
class: "waveform-chart__title-visual",
|
|
5405
|
-
style: m(D(
|
|
5597
|
+
style: m(D(F))
|
|
5406
5598
|
}, [a("span", {
|
|
5407
5599
|
class: "waveform-chart__title-text",
|
|
5408
|
-
style: m(D(
|
|
5409
|
-
"data-title-scale": D(
|
|
5410
|
-
"data-title-wrapped": D(
|
|
5411
|
-
}, T(D(
|
|
5600
|
+
style: m(D(I)),
|
|
5601
|
+
"data-title-scale": D(L).scale,
|
|
5602
|
+
"data-title-wrapped": D(L).wrapped || void 0
|
|
5603
|
+
}, T(D(P)), 13, Us)], 4)) : r("", !0)], 12, Hs)) : r("", !0),
|
|
5412
5604
|
(y(), i("svg", {
|
|
5413
|
-
ref: D(
|
|
5605
|
+
ref: D($e),
|
|
5414
5606
|
class: "waveform-chart__svg",
|
|
5415
|
-
width: D(
|
|
5416
|
-
height: D(
|
|
5607
|
+
width: D(R),
|
|
5608
|
+
height: D(z),
|
|
5417
5609
|
role: "img",
|
|
5418
|
-
"aria-label": D(
|
|
5419
|
-
onDblclick: E[7] ||= (...e) => D(
|
|
5610
|
+
"aria-label": D(B) ? "波形折线图" : "暂无波形数据",
|
|
5611
|
+
onDblclick: E[7] ||= (...e) => D(V) && D(V)(...e)
|
|
5420
5612
|
}, [
|
|
5421
|
-
a("defs", null, [(y(!0), i(e, null, S(D(
|
|
5422
|
-
id: `${D(
|
|
5423
|
-
key: `${D(
|
|
5613
|
+
a("defs", null, [(y(!0), i(e, null, S(D(H), (e) => (y(), i("clipPath", {
|
|
5614
|
+
id: `${D(U)}-${e.index}`,
|
|
5615
|
+
key: `${D(U)}-${e.index}`,
|
|
5424
5616
|
clipPathUnits: "userSpaceOnUse"
|
|
5425
5617
|
}, [a("rect", {
|
|
5426
5618
|
width: e.width,
|
|
5427
5619
|
height: e.height
|
|
5428
|
-
}, null, 8,
|
|
5429
|
-
a("g", { transform: `translate(${D(
|
|
5430
|
-
D(o) !== "compact" && !D(l) ? (y(), i("g",
|
|
5620
|
+
}, null, 8, Ks)], 8, Gs))), 128))]),
|
|
5621
|
+
a("g", { transform: `translate(${D(x)}, ${D(W)})` }, [
|
|
5622
|
+
D(o) !== "compact" && !D(l) ? (y(), i("g", Js, [(y(!0), i(e, null, S(D(G), (e) => (y(), i("g", {
|
|
5431
5623
|
key: `grid-slot-${e.slotIndex}`,
|
|
5432
5624
|
transform: `translate(${e.left}, ${e.top})`
|
|
5433
5625
|
}, [e.series ? r("", !0) : (y(), i("rect", {
|
|
@@ -5435,47 +5627,50 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
5435
5627
|
class: "waveform-chart__grid-slot-placeholder",
|
|
5436
5628
|
width: e.width,
|
|
5437
5629
|
height: e.cellHeight
|
|
5438
|
-
}, null, 8,
|
|
5439
|
-
D(o) !== "independent" && D(
|
|
5630
|
+
}, null, 8, Xs))], 8, Ys))), 128))])) : r("", !0),
|
|
5631
|
+
D(o) !== "independent" && D(H).length && D(K) ? (y(), i("rect", {
|
|
5440
5632
|
key: 1,
|
|
5441
|
-
ref: D(
|
|
5633
|
+
ref: D(tt),
|
|
5442
5634
|
class: p(["waveform-chart__overlay waveform-chart__overlay--shared", {
|
|
5443
|
-
"is-zoomable": !D(
|
|
5444
|
-
"is-annotating": !D(
|
|
5635
|
+
"is-zoomable": !D(f) && D(ee) && D(te),
|
|
5636
|
+
"is-annotating": !D(f) && D(c) === "annotation"
|
|
5445
5637
|
}]),
|
|
5446
|
-
width: D(
|
|
5447
|
-
height: D(
|
|
5448
|
-
onPointermove: E[0] ||= (...e) => D(
|
|
5449
|
-
onPointerdown: E[1] ||= (...e) => D(
|
|
5450
|
-
onPointerup: E[2] ||= (...e) => D(
|
|
5451
|
-
onPointercancel: E[3] ||= (...e) => D(
|
|
5452
|
-
onPointerleave: E[4] ||= (...e) => D(
|
|
5453
|
-
onClick: E[5] ||= (...e) => D(
|
|
5454
|
-
onContextmenu: E[6] ||= (...e) => D(
|
|
5455
|
-
}, null, 42,
|
|
5456
|
-
(y(!0), i(e, null, S(D(
|
|
5638
|
+
width: D(ne),
|
|
5639
|
+
height: D(re),
|
|
5640
|
+
onPointermove: E[0] ||= (...e) => D(ie) && D(ie)(...e),
|
|
5641
|
+
onPointerdown: E[1] ||= (...e) => D(ae) && D(ae)(...e),
|
|
5642
|
+
onPointerup: E[2] ||= (...e) => D(q) && D(q)(...e),
|
|
5643
|
+
onPointercancel: E[3] ||= (...e) => D(oe) && D(oe)(...e),
|
|
5644
|
+
onPointerleave: E[4] ||= (...e) => D(se) && D(se)(...e),
|
|
5645
|
+
onClick: E[5] ||= (...e) => D(ce) && D(ce)(...e),
|
|
5646
|
+
onContextmenu: E[6] ||= (...e) => D(ue) && D(ue)(...e)
|
|
5647
|
+
}, null, 42, Zs)) : r("", !0),
|
|
5648
|
+
(y(!0), i(e, null, S(D(H), (e) => (y(), n(D(Os), {
|
|
5457
5649
|
key: `${e.index}-${e.id}`,
|
|
5458
5650
|
track: e,
|
|
5459
|
-
"clip-path-id": D(
|
|
5460
|
-
"inner-width": D(
|
|
5461
|
-
zoomable: D(
|
|
5462
|
-
interactive: !D(
|
|
5651
|
+
"clip-path-id": D(U),
|
|
5652
|
+
"inner-width": D(ne),
|
|
5653
|
+
zoomable: D(ee),
|
|
5654
|
+
interactive: !D(f),
|
|
5463
5655
|
"display-mode": D(o),
|
|
5464
5656
|
"interaction-mode": D(c),
|
|
5465
|
-
"frame-number": D(
|
|
5466
|
-
"frame-style": D(
|
|
5467
|
-
axes: D(
|
|
5657
|
+
"frame-number": D(de)(e.id),
|
|
5658
|
+
"frame-style": D(fe),
|
|
5659
|
+
axes: D(pe),
|
|
5660
|
+
"show-axis-units": D(v) === "axis",
|
|
5661
|
+
"contain-y-axis-endpoints": D(u),
|
|
5662
|
+
"contain-frame-stroke": D(u),
|
|
5468
5663
|
"clean-view": D(l),
|
|
5469
|
-
"zero-line": D(
|
|
5470
|
-
"time-unit": D(
|
|
5471
|
-
"y-label": D(
|
|
5472
|
-
onPointerMove: (t) => D(
|
|
5473
|
-
onPointerDown: (t) => D(
|
|
5474
|
-
onPointerUp: D(
|
|
5475
|
-
onPointerCancel: D(
|
|
5476
|
-
onPointerLeave: D(
|
|
5477
|
-
onClick: (t) => D(
|
|
5478
|
-
onContextmenu: (t) => D(
|
|
5664
|
+
"zero-line": D(J),
|
|
5665
|
+
"time-unit": D(me),
|
|
5666
|
+
"y-label": D(Y),
|
|
5667
|
+
onPointerMove: (t) => D(he)(t, e.index),
|
|
5668
|
+
onPointerDown: (t) => D(ge)(t, e.index, !0),
|
|
5669
|
+
onPointerUp: D(q),
|
|
5670
|
+
onPointerCancel: D(oe),
|
|
5671
|
+
onPointerLeave: D(se),
|
|
5672
|
+
onClick: (t) => D(ce)(t, e.index),
|
|
5673
|
+
onContextmenu: (t) => D(ue)(t, e.index)
|
|
5479
5674
|
}, null, 8, [
|
|
5480
5675
|
"track",
|
|
5481
5676
|
"clip-path-id",
|
|
@@ -5487,6 +5682,9 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
5487
5682
|
"frame-number",
|
|
5488
5683
|
"frame-style",
|
|
5489
5684
|
"axes",
|
|
5685
|
+
"show-axis-units",
|
|
5686
|
+
"contain-y-axis-endpoints",
|
|
5687
|
+
"contain-frame-stroke",
|
|
5490
5688
|
"clean-view",
|
|
5491
5689
|
"zero-line",
|
|
5492
5690
|
"time-unit",
|
|
@@ -5499,35 +5697,35 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
5499
5697
|
"onClick",
|
|
5500
5698
|
"onContextmenu"
|
|
5501
5699
|
]))), 128)),
|
|
5502
|
-
s(D(
|
|
5503
|
-
state: D(
|
|
5504
|
-
tracks: D(
|
|
5505
|
-
"clip-path-id": D(
|
|
5506
|
-
visible: D(
|
|
5700
|
+
s(D(Bs), {
|
|
5701
|
+
state: D(_e),
|
|
5702
|
+
tracks: D(H),
|
|
5703
|
+
"clip-path-id": D(U),
|
|
5704
|
+
visible: D(ve) && !D(f)
|
|
5507
5705
|
}, null, 8, [
|
|
5508
5706
|
"state",
|
|
5509
5707
|
"tracks",
|
|
5510
5708
|
"clip-path-id",
|
|
5511
5709
|
"visible"
|
|
5512
5710
|
]),
|
|
5513
|
-
D(
|
|
5711
|
+
D(ye) && D(h)?.kind === "box" ? (y(), i("rect", {
|
|
5514
5712
|
key: 2,
|
|
5515
5713
|
class: "waveform-chart__zoom-selection",
|
|
5516
|
-
x: D(
|
|
5517
|
-
y: D(
|
|
5518
|
-
width: D(
|
|
5519
|
-
height: D(
|
|
5714
|
+
x: D(ye).x,
|
|
5715
|
+
y: D(ye).y,
|
|
5716
|
+
width: D(ye).width,
|
|
5717
|
+
height: D(ye).height,
|
|
5520
5718
|
"aria-hidden": "true"
|
|
5521
|
-
}, null, 8,
|
|
5719
|
+
}, null, 8, Qs)) : r("", !0),
|
|
5522
5720
|
D(l) ? r("", !0) : (y(), n(D(rt), {
|
|
5523
5721
|
key: 3,
|
|
5524
|
-
annotations: D(
|
|
5525
|
-
visible: D(
|
|
5526
|
-
interactive: !D(
|
|
5527
|
-
onContextmenu: D(
|
|
5528
|
-
onDragStart: D(
|
|
5529
|
-
onMove: D(
|
|
5530
|
-
onDragEnd: D(
|
|
5722
|
+
annotations: D(be),
|
|
5723
|
+
visible: D(xe),
|
|
5724
|
+
interactive: !D(f),
|
|
5725
|
+
onContextmenu: D(Se),
|
|
5726
|
+
onDragStart: D(Ce),
|
|
5727
|
+
onMove: D(X),
|
|
5728
|
+
onDragEnd: D(we)
|
|
5531
5729
|
}, null, 8, [
|
|
5532
5730
|
"annotations",
|
|
5533
5731
|
"visible",
|
|
@@ -5537,25 +5735,27 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
5537
5735
|
"onMove",
|
|
5538
5736
|
"onDragEnd"
|
|
5539
5737
|
])),
|
|
5540
|
-
D(l) ? r("", !0) : (y(), i("g",
|
|
5738
|
+
D(l) ? r("", !0) : (y(), i("g", $s, [(y(!0), i(e, null, S(D(H), (e) => (y(), i("g", {
|
|
5541
5739
|
key: `legend-${e.index}-${e.id}`,
|
|
5542
5740
|
class: "waveform-chart__legend-track",
|
|
5543
5741
|
"data-legend-track-index": e.index,
|
|
5544
5742
|
"data-legend-track-id": e.id,
|
|
5545
5743
|
transform: `translate(${e.left}, ${e.top})`
|
|
5546
|
-
}, [!e.isEmpty && e.legendSeries.length > 1 ? (y(), n(D(
|
|
5744
|
+
}, [!e.isEmpty && (e.legendSeries.length > 1 || D(v) === "legend-single-series") ? (y(), n(D(Is), {
|
|
5547
5745
|
key: 0,
|
|
5548
5746
|
series: e.legendSeries,
|
|
5549
|
-
|
|
5550
|
-
|
|
5551
|
-
|
|
5552
|
-
|
|
5553
|
-
|
|
5554
|
-
|
|
5747
|
+
"show-units": D(b),
|
|
5748
|
+
position: D(Te)(e.id),
|
|
5749
|
+
orientation: D(Ee)(D(Te)(e.id)),
|
|
5750
|
+
"background-color": D(De),
|
|
5751
|
+
interactive: D(Oe),
|
|
5752
|
+
"hidden-series-ids": D(ke),
|
|
5753
|
+
width: e.width ?? D(ne),
|
|
5555
5754
|
height: e.height,
|
|
5556
|
-
onToggle: D(
|
|
5755
|
+
onToggle: D(Ae)
|
|
5557
5756
|
}, null, 8, [
|
|
5558
5757
|
"series",
|
|
5758
|
+
"show-units",
|
|
5559
5759
|
"position",
|
|
5560
5760
|
"orientation",
|
|
5561
5761
|
"background-color",
|
|
@@ -5564,51 +5764,51 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
5564
5764
|
"width",
|
|
5565
5765
|
"height",
|
|
5566
5766
|
"onToggle"
|
|
5567
|
-
])) : r("", !0)], 8,
|
|
5568
|
-
], 8,
|
|
5569
|
-
D(
|
|
5767
|
+
])) : r("", !0)], 8, ec))), 128))]))
|
|
5768
|
+
], 8, qs),
|
|
5769
|
+
D(je) && !D(l) ? (y(), i("text", {
|
|
5570
5770
|
key: 0,
|
|
5571
5771
|
class: "waveform-chart__label waveform-chart__x-label",
|
|
5572
|
-
x: D(
|
|
5573
|
-
y: D(
|
|
5772
|
+
x: D(x) + D(ne) / 2,
|
|
5773
|
+
y: D(Me),
|
|
5574
5774
|
"text-anchor": "middle"
|
|
5575
|
-
}, T(D(
|
|
5576
|
-
D(
|
|
5775
|
+
}, T(D(je)), 9, tc)) : r("", !0),
|
|
5776
|
+
D(Ne) && !D(B) ? (y(), i("text", {
|
|
5577
5777
|
key: 1,
|
|
5578
5778
|
class: "waveform-chart__empty",
|
|
5579
|
-
x: D(
|
|
5580
|
-
y: D(
|
|
5779
|
+
x: D(R) / 2,
|
|
5780
|
+
y: D(z) / 2,
|
|
5581
5781
|
"text-anchor": "middle"
|
|
5582
|
-
}, " 暂无有效波形数据 ", 8,
|
|
5583
|
-
], 40,
|
|
5584
|
-
D(
|
|
5782
|
+
}, " 暂无有效波形数据 ", 8, nc)) : r("", !0)
|
|
5783
|
+
], 40, Ws)),
|
|
5784
|
+
D(d) ? (y(), n(D(le), {
|
|
5585
5785
|
key: 1,
|
|
5586
5786
|
class: "waveform-chart__pagination",
|
|
5587
5787
|
"aria-label": "波形分页",
|
|
5588
|
-
current: D(
|
|
5589
|
-
"page-size": D(
|
|
5590
|
-
total: D(
|
|
5788
|
+
current: D(Fe),
|
|
5789
|
+
"page-size": D(Ie)(D(Pe)),
|
|
5790
|
+
total: D(Le).length,
|
|
5591
5791
|
"show-size-changer": !1,
|
|
5592
5792
|
"show-quick-jumper": !1,
|
|
5593
|
-
onChange: D(
|
|
5793
|
+
onChange: D(Re)
|
|
5594
5794
|
}, null, 8, [
|
|
5595
5795
|
"current",
|
|
5596
5796
|
"page-size",
|
|
5597
5797
|
"total",
|
|
5598
5798
|
"onChange"
|
|
5599
5799
|
])) : r("", !0),
|
|
5600
|
-
D(
|
|
5800
|
+
D(Be) && !D(l) && !D(f) ? (y(), n(wo, {
|
|
5601
5801
|
key: 2,
|
|
5602
|
-
annotation: D(
|
|
5603
|
-
mode: D(
|
|
5604
|
-
series: D(
|
|
5605
|
-
"series-options": D(
|
|
5606
|
-
"time-unit": D(
|
|
5607
|
-
"time-error": D(
|
|
5608
|
-
onConfirm: D(
|
|
5609
|
-
onCancel: D(
|
|
5610
|
-
onSeriesChange: D(
|
|
5611
|
-
onTimeChange: D(
|
|
5802
|
+
annotation: D(Be).annotation,
|
|
5803
|
+
mode: D(Be).mode,
|
|
5804
|
+
series: D(He),
|
|
5805
|
+
"series-options": D(Ue),
|
|
5806
|
+
"time-unit": D(me),
|
|
5807
|
+
"time-error": D(We),
|
|
5808
|
+
onConfirm: D(Ge),
|
|
5809
|
+
onCancel: D(Ke),
|
|
5810
|
+
onSeriesChange: D(qe),
|
|
5811
|
+
onTimeChange: D(Je)
|
|
5612
5812
|
}, null, 8, [
|
|
5613
5813
|
"annotation",
|
|
5614
5814
|
"mode",
|
|
@@ -5621,15 +5821,15 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
5621
5821
|
"onSeriesChange",
|
|
5622
5822
|
"onTimeChange"
|
|
5623
5823
|
])) : r("", !0),
|
|
5624
|
-
!D(l) && !D(
|
|
5824
|
+
!D(l) && !D(f) ? (y(), n(D(it), {
|
|
5625
5825
|
key: 3,
|
|
5626
|
-
visible: D(
|
|
5627
|
-
x: D(
|
|
5628
|
-
y: D(
|
|
5629
|
-
"can-edit": !!D(
|
|
5630
|
-
onEdit: D(
|
|
5631
|
-
onDelete: D(
|
|
5632
|
-
onClose: D(
|
|
5826
|
+
visible: D(Ve) !== null,
|
|
5827
|
+
x: D(Ve)?.x || 0,
|
|
5828
|
+
y: D(Ve)?.y || 0,
|
|
5829
|
+
"can-edit": !!D(Ve)?.annotationId,
|
|
5830
|
+
onEdit: D(Ye),
|
|
5831
|
+
onDelete: D(Xe),
|
|
5832
|
+
onClose: D(ze).closeContextMenu
|
|
5633
5833
|
}, null, 8, [
|
|
5634
5834
|
"visible",
|
|
5635
5835
|
"x",
|
|
@@ -5639,12 +5839,12 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
5639
5839
|
"onDelete",
|
|
5640
5840
|
"onClose"
|
|
5641
5841
|
])) : r("", !0),
|
|
5642
|
-
s(D(
|
|
5643
|
-
state: D(
|
|
5644
|
-
visible: D(
|
|
5645
|
-
"time-unit": D(
|
|
5646
|
-
"container-width": D(
|
|
5647
|
-
"container-height": D(
|
|
5842
|
+
s(D(No), {
|
|
5843
|
+
state: D(_e),
|
|
5844
|
+
visible: D(ve) && !D(f),
|
|
5845
|
+
"time-unit": D(me),
|
|
5846
|
+
"container-width": D(R),
|
|
5847
|
+
"container-height": D(Ze)
|
|
5648
5848
|
}, null, 8, [
|
|
5649
5849
|
"state",
|
|
5650
5850
|
"visible",
|
|
@@ -5652,14 +5852,16 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
5652
5852
|
"container-width",
|
|
5653
5853
|
"container-height"
|
|
5654
5854
|
])
|
|
5655
|
-
], 46,
|
|
5855
|
+
], 46, Vs));
|
|
5656
5856
|
}
|
|
5657
|
-
}),
|
|
5857
|
+
}), ic = /* @__PURE__ */ l({
|
|
5658
5858
|
__name: "WaveformChart",
|
|
5659
5859
|
props: {
|
|
5660
5860
|
data: {},
|
|
5661
5861
|
displayMode: { default: "independent" },
|
|
5662
5862
|
overlayMode: { default: "single-axis" },
|
|
5863
|
+
unitDisplayMode: { default: "axis" },
|
|
5864
|
+
layoutPreset: { default: "default" },
|
|
5663
5865
|
width: {},
|
|
5664
5866
|
height: {},
|
|
5665
5867
|
xLabel: {},
|
|
@@ -5673,10 +5875,15 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
5673
5875
|
type: Boolean,
|
|
5674
5876
|
default: !0
|
|
5675
5877
|
},
|
|
5878
|
+
integerZoom: {
|
|
5879
|
+
type: Boolean,
|
|
5880
|
+
default: !1
|
|
5881
|
+
},
|
|
5676
5882
|
pannable: {
|
|
5677
5883
|
type: Boolean,
|
|
5678
5884
|
default: !1
|
|
5679
5885
|
},
|
|
5886
|
+
panXDomain: {},
|
|
5680
5887
|
minZoomSpan: {},
|
|
5681
5888
|
minVisiblePoints: { default: 0 },
|
|
5682
5889
|
maxZoomScale: {},
|
|
@@ -5725,6 +5932,7 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
5725
5932
|
"zoom-intent",
|
|
5726
5933
|
"zoom-change",
|
|
5727
5934
|
"zoom-end",
|
|
5935
|
+
"pan-end",
|
|
5728
5936
|
"zoom-reset",
|
|
5729
5937
|
"update:annotations",
|
|
5730
5938
|
"update:hidden-series-ids",
|
|
@@ -5738,12 +5946,12 @@ var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
|
5738
5946
|
"sampling-error"
|
|
5739
5947
|
],
|
|
5740
5948
|
setup(e, { expose: t, emit: r }) {
|
|
5741
|
-
let i =
|
|
5949
|
+
let i = io(e, r);
|
|
5742
5950
|
return t({
|
|
5743
5951
|
resetViewport: i.resetViewport,
|
|
5744
5952
|
setViewportDomain: i.setViewportDomain
|
|
5745
|
-
}), (e, t) => (y(), n(
|
|
5953
|
+
}), (e, t) => (y(), n(rc, { controller: D(i) }, null, 8, ["controller"]));
|
|
5746
5954
|
}
|
|
5747
5955
|
});
|
|
5748
5956
|
//#endregion
|
|
5749
|
-
export { Q as DEFAULT_WAVEFORM_RENDERING_OPTIONS,
|
|
5957
|
+
export { Q as DEFAULT_WAVEFORM_RENDERING_OPTIONS, ic as WaveformChart, vt as buildMinorTicks, Hi as calculateWasmRange, Rt as clamp, jt as displayTime, Ui as findWasmVisibleRange, Pt as formatAxisTime, Nt as formatEndpointTime, Ft as formatTooltipTime, Bi as initializeWasmSampling, ln as normalizeWaveformData, fn as normalizeWaveformSeries, _t as paddedDomain, ht as parseWaveformAnnotations, Lt as resolveTrackGeometry, Dn as resolveWaveformRenderingOptions, Vi as sampleWaveformWasm, Fn as selectRenderablePoints, mt as serializeWaveformAnnotations };
|