waveform-analysis 0.1.58 → 0.1.60
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 +9 -6
- package/dist/index.cjs +1 -1
- package/dist/index.js +894 -817
- package/dist/types/components/WaveformChart.vue.d.ts +2 -0
- package/dist/types/components/core/layout.d.ts +9 -2
- package/dist/types/components/core/useWaveformChartLifecycle.d.ts +1 -2
- package/dist/types/components/core/waveformChartTypes.d.ts +2 -1
- package/dist/types/components/core/yAxisLayoutMetrics.d.ts +10 -0
- package/dist/types/components/data/types.d.ts +1 -1
- package/dist/types/components/index.d.ts +1 -1
- package/dist/types/components/interaction/useWaveformZoom.d.ts +2 -1
- package/dist/types/components/interaction/zoomEventPayload.d.ts +7 -0
- package/dist/types/core/rendering.d.ts +1 -1
- package/dist/types/core/renderingOptions.d.ts +1 -1
- package/dist/types/core/wasmSampling.d.ts +1 -1
- package/dist/types/core/workerSampling/multiresolution.d.ts +1 -1
- package/dist/types/core/workerSampling/protocol.d.ts +1 -1
- package/dist/types/core/workerSampling/repositoryDataset.d.ts +1 -1
- package/dist/types/core/workerSampling/repositorySupport.d.ts +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/types/chart.d.ts +8 -0
- package/dist/types/types/index.d.ts +1 -1
- package/dist/types/utils/geometry.d.ts +1 -1
- package/dist/types/wasm/waveform_sampling_wasm.d.ts +74 -0
- package/dist/types/wasm/waveform_sampling_wasm_bg.wasm.d.ts +19 -0
- package/package.json +5 -4
- package/src/components/core/layout.test.ts +24 -0
- package/src/components/core/layout.ts +75 -13
- package/src/components/core/trackLayoutBuilder.ts +7 -13
- package/src/components/core/useWaveformChartController.ts +6 -1
- package/src/components/core/useWaveformChartLifecycle.ts +15 -9
- package/src/components/core/useWaveformLayout.ts +30 -58
- package/src/components/core/waveformChartTypes.ts +2 -0
- package/src/components/core/yAxisLayoutMetrics.ts +75 -0
- package/src/components/core/yAxisSlotLayout.test.ts +37 -1
- package/src/components/data/types.ts +1 -0
- package/src/components/index.ts +1 -0
- package/src/components/interaction/useWaveformViewport.ts +2 -0
- package/src/components/interaction/useWaveformZoom.ts +58 -61
- package/src/components/interaction/zoomEventPayload.ts +88 -0
- package/src/components/rendering/WaveformTrackAxes.vue +8 -4
- package/src/components/waveformChartCases/layoutAndDomains.test.ts +23 -24
- package/src/components/waveformChartCases/yAxisLayout.test.ts +103 -0
- package/src/components/waveformChartCases/zoomIntentAndDataRebind.test.ts +213 -0
- package/src/core/rendering.ts +1 -1
- package/src/core/renderingOptions.ts +1 -1
- package/src/core/workerSampling/multiresolution.ts +1 -1
- package/src/core/workerSampling/protocol.ts +1 -1
- package/src/core/workerSampling/repository.ts +1 -1
- package/src/core/workerSampling/repositoryDataset.ts +1 -1
- package/src/core/workerSampling/repositorySupport.ts +1 -1
- package/src/index.ts +1 -0
- package/src/types/chart.ts +9 -0
- package/src/types/index.ts +1 -0
- package/src/utils/geometry.ts +1 -1
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 _, openBlock as v, reactive as y, ref as b, renderList as x, shallowReactive as S, shallowRef as C, toDisplayString as w, toRefs as T, unref as E, vModelText as D, watch as O, watchEffect as k, withCtx as A, withDirectives as j, withModifiers as M } from "vue";
|
|
2
|
-
import { axisBottom as N, axisLeft as P, axisRight as F, bisector as I, curveStep as L, curveStepAfter as R, curveStepBefore as z, extent as B, line as V, pointer as H, scaleLinear as U, select as W, symbol as
|
|
3
|
-
import { InputNumber as
|
|
2
|
+
import { axisBottom as N, axisLeft as P, axisRight as F, bisector as I, curveStep as L, curveStepAfter as R, curveStepBefore as z, extent as B, line as V, pointer as H, scaleLinear as U, select as W, symbol as G, symbolCircle as ee, symbolDiamond as te, symbolSquare as ne, symbolTriangle as re, zoom as K, zoomIdentity as q, zoomTransform as J } from "d3";
|
|
3
|
+
import { InputNumber as ie, Modal as ae, Pagination as oe } from "ant-design-vue";
|
|
4
4
|
//#region src/utils/waveformId.ts
|
|
5
|
-
var
|
|
6
|
-
function
|
|
5
|
+
var se = 0;
|
|
6
|
+
function ce(e = "waveform") {
|
|
7
7
|
let t = u();
|
|
8
|
-
return `${e}-${t ? `v${t.uid}` : `f${++
|
|
8
|
+
return `${e}-${t ? `v${t.uid}` : `f${++se}`}`;
|
|
9
9
|
}
|
|
10
10
|
//#endregion
|
|
11
11
|
//#region src/core/compactSamplePointSource.ts
|
|
12
|
-
function
|
|
12
|
+
function le(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 ue(e, t, n, r) {
|
|
|
17
17
|
}
|
|
18
18
|
return i;
|
|
19
19
|
}
|
|
20
|
-
function
|
|
20
|
+
function ue(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 de(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: le(e.length, i, n, !1),
|
|
37
|
+
end: le(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 = le(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 de(e, t, n, r) {
|
|
|
68
68
|
}
|
|
69
69
|
//#endregion
|
|
70
70
|
//#region src/core/waveformPointSource.ts
|
|
71
|
-
function
|
|
71
|
+
function Y(e) {
|
|
72
72
|
return typeof e == "number" && Number.isFinite(e) && e >= 0 ? e : void 0;
|
|
73
73
|
}
|
|
74
|
-
function
|
|
74
|
+
function de(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 fe(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 me(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 = Y(e.lowerError) ?? Y(e.error) ?? 0, u = Y(e.upperError) ?? Y(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 he = class {
|
|
|
123
123
|
return this.sourcePoints[e];
|
|
124
124
|
}
|
|
125
125
|
pointsInRange(e = 0, t = this.length) {
|
|
126
|
-
let n =
|
|
126
|
+
let n = de(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: fe(this.length, (e) => this.sourcePoints[e].x, t),
|
|
133
133
|
end: pe(this.length, (e) => this.sourcePoints[e].x, n)
|
|
134
134
|
};
|
|
135
135
|
}
|
|
@@ -138,7 +138,7 @@ var he = 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 = fe(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 he = class {
|
|
|
165
165
|
}
|
|
166
166
|
pointAt(e) {
|
|
167
167
|
if (e < 0 || e >= this.length) return;
|
|
168
|
-
let t =
|
|
168
|
+
let t = Y(this.error?.[e]), n = Y(this.lowerError?.[e]), r = Y(this.upperError?.[e]);
|
|
169
169
|
return {
|
|
170
170
|
x: this.x[e],
|
|
171
171
|
y: this.y[e],
|
|
@@ -175,14 +175,14 @@ var he = class {
|
|
|
175
175
|
};
|
|
176
176
|
}
|
|
177
177
|
pointsInRange(e = 0, t = this.length) {
|
|
178
|
-
let n =
|
|
178
|
+
let n = de(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: fe(this.length, (e) => this.x[e], t),
|
|
186
186
|
end: pe(this.length, (e) => this.x[e], n)
|
|
187
187
|
};
|
|
188
188
|
}
|
|
@@ -190,7 +190,7 @@ var he = 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 = fe(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 he = 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 = Y(this.lowerError?.[o]) ?? Y(this.error?.[o]) ?? 0, u = Y(this.upperError?.[o]) ?? Y(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 ve(e) {
|
|
|
230
230
|
return e.x instanceof Float64Array && t.every((t) => t === void 0 || _e(t) && t.length === e.x.length);
|
|
231
231
|
}
|
|
232
232
|
function ye(e) {
|
|
233
|
-
if (!_e(e.values) || !Number.isFinite(e.sampleRate) || e.sampleRate <= 0 || e.startTime !== void 0 && !Number.isFinite(e.startTime)) return
|
|
233
|
+
if (!_e(e.values) || !Number.isFinite(e.sampleRate) || e.sampleRate <= 0 || e.startTime !== void 0 && !Number.isFinite(e.startTime)) return ue(/* @__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 ye(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 ue(r, e.sampleRate, t, i);
|
|
242
242
|
}
|
|
243
243
|
function be(e) {
|
|
244
244
|
if (!ve(e)) return new ge(/* @__PURE__ */ new Float64Array(), /* @__PURE__ */ new Float64Array());
|
|
@@ -1529,40 +1529,35 @@ function Xn(e) {
|
|
|
1529
1529
|
visibleSeries: [],
|
|
1530
1530
|
xDomain: [0, 1],
|
|
1531
1531
|
yDomain: [0, 1]
|
|
1532
|
-
}, o = !i && a.visibleSeries.length > 0, s = a.visibleSeries[0] ?? a.series[0] ?? null, c = e.displayMode === "independent" ? U(Yn(a, s?.id ?? a.id, e), [0, t.width]) : U(e.sharedZoomDomain, [0, t.width]), l = (e.displayMode === "independent" ? e.independentTransforms[r] ??
|
|
1533
|
-
...e,
|
|
1534
|
-
domain: u
|
|
1535
|
-
} : e), f = {
|
|
1532
|
+
}, o = !i && a.visibleSeries.length > 0, s = a.visibleSeries[0] ?? a.series[0] ?? null, c = e.displayMode === "independent" ? U(Yn(a, s?.id ?? a.id, e), [0, t.width]) : U(e.sharedZoomDomain, [0, t.width]), l = (e.displayMode === "independent" ? e.independentTransforms[r] ?? q : q).rescaleX(c), u = lr(a, e.overlayMode, e.fixedYDomain, e.fixedYDomains, e.yDomains), d = {
|
|
1536
1533
|
left: 0,
|
|
1537
1534
|
right: 0
|
|
1538
|
-
},
|
|
1535
|
+
}, f = {
|
|
1539
1536
|
left: 0,
|
|
1540
1537
|
right: 0
|
|
1541
|
-
},
|
|
1542
|
-
let r =
|
|
1543
|
-
|
|
1544
|
-
let [s, c] = o.domain(), l = Array.from({ length: i }, (e, t) => s + (c - s) * t / (i - 1)), u = e.displayMode !== "compact" || t.row === 0 ? l : l.slice(0, -1), { tickTextWidth: d } = sr(o.domain(), !1, u, n.seriesList[0]?.unit, i), m = d + 7 + 0 + 12 + 4, h = e.yAxisSlots?.find((e) => e.side === n.side && e.sideIndex === r), g = h ? (n.side === "left" ? 0 : t.width) + h.axisOffset : n.side === "left" ? -p.left : t.width + p.right, _ = d + 7 + 0 + 12 / 2, v = (h ? (n.side === "left" ? 0 : t.width) + h.labelOffset : g + (n.side === "left" ? -_ : _)) - (n.side === "right" ? 10 : 0);
|
|
1545
|
-
return h || (p[n.side] += m), {
|
|
1538
|
+
}, p = u.map((n) => {
|
|
1539
|
+
let r = d[n.side]++, i = nr(t.plotHeight, e.yAxisSplitNumber), a = rr(n.domain, i, e.yAxisNice !== !1), o = U(a.domain, [t.plotHeight, 0]), s = a.values, c = e.displayMode !== "compact" || t.row === 0 ? s : s.slice(0, -1), { tickTextWidth: l } = ur(o.domain(), !1, c, n.seriesList[0]?.unit, i), u = l + 7 + 0 + 12 + 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 + 12 / 2, g = (p ? (n.side === "left" ? 0 : t.width) + p.labelOffset : m + (n.side === "left" ? -h : h)) - (n.side === "right" ? 10 : 0);
|
|
1540
|
+
return p || (f[n.side] += u), {
|
|
1546
1541
|
index: n.index,
|
|
1547
1542
|
side: n.side,
|
|
1548
|
-
x:
|
|
1549
|
-
labelX:
|
|
1543
|
+
x: m,
|
|
1544
|
+
labelX: g,
|
|
1550
1545
|
scale: o,
|
|
1551
|
-
majorTicks:
|
|
1552
|
-
minorTicks: gt(
|
|
1553
|
-
tickValues:
|
|
1546
|
+
majorTicks: s,
|
|
1547
|
+
minorTicks: gt(s, 2),
|
|
1548
|
+
tickValues: c,
|
|
1554
1549
|
seriesList: n.seriesList
|
|
1555
1550
|
};
|
|
1556
|
-
}),
|
|
1557
|
-
e.yAxisNice !== !1 &&
|
|
1558
|
-
let
|
|
1559
|
-
start: At(
|
|
1560
|
-
end: At(
|
|
1561
|
-
},
|
|
1551
|
+
}), m = U(a.yDomain, [t.plotHeight, 0]);
|
|
1552
|
+
e.yAxisNice !== !1 && m.nice();
|
|
1553
|
+
let h = p[0]?.scale ?? m, g = l.ticks(Math.max(2, Math.floor(t.width / 100))), _ = p[0]?.majorTicks ?? [], v = p[0]?.tickValues ?? [], y = l.domain(), b = {
|
|
1554
|
+
start: At(y[0], y, e.timeUnit, "start", e.xAxisLabelFormatter),
|
|
1555
|
+
end: At(y[1], y, e.timeUnit, "end", e.xAxisLabelFormatter)
|
|
1556
|
+
}, x = b.start.length * 7 + 10, S = b.end.length * 7 + 10, C = g.filter((e) => {
|
|
1562
1557
|
let n = l(e);
|
|
1563
|
-
return n >
|
|
1564
|
-
}),
|
|
1565
|
-
let r =
|
|
1558
|
+
return n > x && n < t.width - S;
|
|
1559
|
+
}), w = a.visibleSeries.map((n) => {
|
|
1560
|
+
let r = p.find((e) => e.seriesList.some((e) => e.id === n.id)), a = r?.scale ?? h, o = In(n.points, y, t.width, e.rendering, {
|
|
1566
1561
|
lineVisible: !i && n.lineType !== "none",
|
|
1567
1562
|
linePointOverride: e.linePointOverrides?.[n.id],
|
|
1568
1563
|
pointVisible: n.pointType !== "none",
|
|
@@ -1594,17 +1589,17 @@ function Xn(e) {
|
|
|
1594
1589
|
width: t.width,
|
|
1595
1590
|
height: t.plotHeight,
|
|
1596
1591
|
xScale: l,
|
|
1597
|
-
yScale:
|
|
1598
|
-
yAxes:
|
|
1599
|
-
xMajorTicks:
|
|
1600
|
-
xMinorTicks: gt(
|
|
1601
|
-
yMajorTicks:
|
|
1602
|
-
yMinorTicks:
|
|
1603
|
-
yAxisTickValues:
|
|
1604
|
-
xAxisTickValues:
|
|
1605
|
-
endpointLabels:
|
|
1606
|
-
path:
|
|
1607
|
-
seriesPaths:
|
|
1592
|
+
yScale: h,
|
|
1593
|
+
yAxes: p,
|
|
1594
|
+
xMajorTicks: g,
|
|
1595
|
+
xMinorTicks: gt(g, 3, y),
|
|
1596
|
+
yMajorTicks: _,
|
|
1597
|
+
yMinorTicks: p[0]?.minorTicks ?? [],
|
|
1598
|
+
yAxisTickValues: v,
|
|
1599
|
+
xAxisTickValues: C,
|
|
1600
|
+
endpointLabels: b,
|
|
1601
|
+
path: w[0]?.path ?? null,
|
|
1602
|
+
seriesPaths: w,
|
|
1608
1603
|
gridLines: e.grid.trackLines[a.id] ?? {
|
|
1609
1604
|
horizontal: !0,
|
|
1610
1605
|
vertical: !0
|
|
@@ -1619,7 +1614,24 @@ var Zn = 7, Qn = 7, $n = 4, er = 0, tr = 12;
|
|
|
1619
1614
|
function nr(e, t) {
|
|
1620
1615
|
return typeof t == "number" && Number.isFinite(t) ? Math.max(2, Math.floor(t)) : 5;
|
|
1621
1616
|
}
|
|
1622
|
-
function rr(e) {
|
|
1617
|
+
function rr(e, t = 5, n = !0) {
|
|
1618
|
+
let r = typeof t == "number" && Number.isFinite(t) ? Math.max(2, Math.floor(t)) : 5, i = U(e, [1, 0]);
|
|
1619
|
+
n && i.nice(Math.max(1, r - 1));
|
|
1620
|
+
let a = i.domain(), [o, s] = a;
|
|
1621
|
+
return {
|
|
1622
|
+
domain: a,
|
|
1623
|
+
values: Array.from({ length: r }, (e, t) => o + (s - o) * t / (r - 1))
|
|
1624
|
+
};
|
|
1625
|
+
}
|
|
1626
|
+
function ir(e, t, n, r) {
|
|
1627
|
+
return Et(e, {
|
|
1628
|
+
axisMin: t[0],
|
|
1629
|
+
axisMax: t[1],
|
|
1630
|
+
topTickValue: Math.max(...n),
|
|
1631
|
+
unit: r
|
|
1632
|
+
});
|
|
1633
|
+
}
|
|
1634
|
+
function ar(e) {
|
|
1623
1635
|
return e >= 4 ? [
|
|
1624
1636
|
"left",
|
|
1625
1637
|
"left",
|
|
@@ -1631,13 +1643,13 @@ function rr(e) {
|
|
|
1631
1643
|
"right"
|
|
1632
1644
|
] : e === 2 ? ["left", "right"] : ["left"];
|
|
1633
1645
|
}
|
|
1634
|
-
var
|
|
1635
|
-
function
|
|
1636
|
-
let n =
|
|
1637
|
-
n || (n = /* @__PURE__ */ new Map(),
|
|
1646
|
+
var or = /* @__PURE__ */ new WeakMap();
|
|
1647
|
+
function sr(e, t) {
|
|
1648
|
+
let n = or.get(e);
|
|
1649
|
+
n || (n = /* @__PURE__ */ new Map(), or.set(e, n));
|
|
1638
1650
|
let r = n.get(t);
|
|
1639
1651
|
if (r) return r;
|
|
1640
|
-
let i = t === "multi-axis" ? Math.min(e.visibleSeries.length, 4) : Math.min(e.visibleSeries.length, 1), a =
|
|
1652
|
+
let i = t === "multi-axis" ? Math.min(e.visibleSeries.length, 4) : Math.min(e.visibleSeries.length, 1), a = ar(i), o = Array.from({ length: i }, (e, t) => ({
|
|
1641
1653
|
index: t,
|
|
1642
1654
|
side: a[t],
|
|
1643
1655
|
seriesList: [],
|
|
@@ -1654,9 +1666,9 @@ function ar(e, t) {
|
|
|
1654
1666
|
}
|
|
1655
1667
|
}), n.set(t, o), o;
|
|
1656
1668
|
}
|
|
1657
|
-
function
|
|
1669
|
+
function cr(e, t, n, r) {
|
|
1658
1670
|
let i = Gt(e, r);
|
|
1659
|
-
return
|
|
1671
|
+
return sr(e, t).map((e) => {
|
|
1660
1672
|
if (i) return {
|
|
1661
1673
|
...e,
|
|
1662
1674
|
domain: i,
|
|
@@ -1670,50 +1682,53 @@ function or(e, t, n, r) {
|
|
|
1670
1682
|
} : e;
|
|
1671
1683
|
});
|
|
1672
1684
|
}
|
|
1673
|
-
function
|
|
1674
|
-
let a =
|
|
1675
|
-
t
|
|
1676
|
-
|
|
1677
|
-
|
|
1678
|
-
|
|
1679
|
-
|
|
1680
|
-
|
|
1681
|
-
|
|
1682
|
-
|
|
1683
|
-
|
|
1684
|
-
|
|
1685
|
-
|
|
1685
|
+
function lr(e, t, n, r, i) {
|
|
1686
|
+
let a = i?.[e.id];
|
|
1687
|
+
return cr(e, t, n, r).map((e) => !e.fixed && a ? {
|
|
1688
|
+
...e,
|
|
1689
|
+
domain: a
|
|
1690
|
+
} : e);
|
|
1691
|
+
}
|
|
1692
|
+
function ur(e, t = !0, n, r, i = 5, a = !1) {
|
|
1693
|
+
let o = n ? {
|
|
1694
|
+
domain: e,
|
|
1695
|
+
values: n
|
|
1696
|
+
} : rr(e, i, t), s = [o.values];
|
|
1697
|
+
return a && o.values.length > 1 && s.push(o.values.slice(0, -1)), { tickTextWidth: Math.max(1, ...s.flatMap((e) => e.map((t) => ir(t, o.domain, e, r).length))) * Zn };
|
|
1698
|
+
}
|
|
1699
|
+
function dr(e, t, n, r, i, a = !0, o = !1, s) {
|
|
1700
|
+
let c = /* @__PURE__ */ new Map();
|
|
1686
1701
|
e.forEach((e) => {
|
|
1687
|
-
let
|
|
1702
|
+
let l = {
|
|
1688
1703
|
left: 0,
|
|
1689
1704
|
right: 0
|
|
1690
1705
|
};
|
|
1691
|
-
|
|
1692
|
-
let t =
|
|
1693
|
-
|
|
1706
|
+
lr(e, t, n, r, s).forEach((e) => {
|
|
1707
|
+
let t = l[e.side]++, n = `${e.side}:${t}`, r = ur(e.domain, a, void 0, e.seriesList[0]?.unit, i, o).tickTextWidth;
|
|
1708
|
+
c.set(n, Math.max(c.get(n) ?? Zn, r));
|
|
1694
1709
|
});
|
|
1695
1710
|
});
|
|
1696
|
-
let
|
|
1711
|
+
let l = [], u = {
|
|
1697
1712
|
left: 0,
|
|
1698
1713
|
right: 0
|
|
1699
1714
|
};
|
|
1700
1715
|
return ["left", "right"].forEach((e) => {
|
|
1701
|
-
Array.from(
|
|
1702
|
-
let n =
|
|
1703
|
-
|
|
1716
|
+
Array.from(c.keys()).filter((t) => t.startsWith(`${e}:`)).map((t) => Number(t.slice(e.length + 1))).sort((e, t) => e - t).forEach((t) => {
|
|
1717
|
+
let n = c.get(`${e}:${t}`) ?? Zn, r = e === "left" && u.left > 0 ? -u.left : u[e], i = r + (n + Qn + er + tr / 2) * (e === "left" ? -1 : 1), a = n + Qn + er + tr + $n;
|
|
1718
|
+
l.push({
|
|
1704
1719
|
side: e,
|
|
1705
1720
|
sideIndex: t,
|
|
1706
1721
|
axisOffset: r,
|
|
1707
1722
|
labelOffset: i,
|
|
1708
1723
|
clearance: a
|
|
1709
|
-
}),
|
|
1724
|
+
}), u[e] += a;
|
|
1710
1725
|
});
|
|
1711
1726
|
}), {
|
|
1712
|
-
slots:
|
|
1713
|
-
clearance:
|
|
1727
|
+
slots: l,
|
|
1728
|
+
clearance: u
|
|
1714
1729
|
};
|
|
1715
1730
|
}
|
|
1716
|
-
function
|
|
1731
|
+
function fr(e, t, n) {
|
|
1717
1732
|
let r = (e) => {
|
|
1718
1733
|
let r = t < e.left ? e.left - t : t > e.left + e.width ? t - e.left - e.width : 0;
|
|
1719
1734
|
return n < e.top ? e.top - n : n > e.top + e.height ? n - (e.top + e.height) : r;
|
|
@@ -1732,11 +1747,11 @@ function lr(e, t, n) {
|
|
|
1732
1747
|
}
|
|
1733
1748
|
//#endregion
|
|
1734
1749
|
//#region src/components/annotation/useWaveformChartAnnotations.ts
|
|
1735
|
-
var
|
|
1736
|
-
function
|
|
1737
|
-
return
|
|
1750
|
+
var pr = 0;
|
|
1751
|
+
function mr() {
|
|
1752
|
+
return pr += 1, typeof crypto < "u" && typeof crypto.randomUUID == "function" ? crypto.randomUUID() : `annotation-${Date.now()}-${pr}`;
|
|
1738
1753
|
}
|
|
1739
|
-
function
|
|
1754
|
+
function hr(e) {
|
|
1740
1755
|
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, x = b("");
|
|
1741
1756
|
function S(e) {
|
|
1742
1757
|
if (!i.value.some((t) => t.id === e)) return;
|
|
@@ -1769,7 +1784,7 @@ function fr(e) {
|
|
|
1769
1784
|
};
|
|
1770
1785
|
}
|
|
1771
1786
|
function T(e, t, n) {
|
|
1772
|
-
x.value = "", s.openCreate(e,
|
|
1787
|
+
x.value = "", s.openCreate(e, mr, t), c.value = n;
|
|
1773
1788
|
let r = s.editorDraft.value, i = l.value.find((t) => t.index === e.trackIndex)?.seriesList.find((t) => t.id === e.seriesId);
|
|
1774
1789
|
r?.mode === "add" && (r.annotation.style = {
|
|
1775
1790
|
borderColor: i?.color || "#1677ff",
|
|
@@ -1829,7 +1844,7 @@ function fr(e) {
|
|
|
1829
1844
|
let e = l.value[n];
|
|
1830
1845
|
return e?.hasVisibleSeries ? e : void 0;
|
|
1831
1846
|
}
|
|
1832
|
-
return
|
|
1847
|
+
return fr(l.value.filter((e) => e.hasVisibleSeries), e, t);
|
|
1833
1848
|
}
|
|
1834
1849
|
function A(e, t) {
|
|
1835
1850
|
let n = e.currentTarget;
|
|
@@ -1920,7 +1935,7 @@ function fr(e) {
|
|
|
1920
1935
|
}
|
|
1921
1936
|
//#endregion
|
|
1922
1937
|
//#region src/components/interaction/useWaveformHover.ts
|
|
1923
|
-
function
|
|
1938
|
+
function gr(e) {
|
|
1924
1939
|
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) => {
|
|
1925
1940
|
let r = n.points[t];
|
|
1926
1941
|
return r?.id === e.id && r.trackIndex === e.trackIndex && r.point === e.point;
|
|
@@ -2005,14 +2020,14 @@ function pr(e) {
|
|
|
2005
2020
|
}
|
|
2006
2021
|
//#endregion
|
|
2007
2022
|
//#region src/components/interaction/pointerCapture.ts
|
|
2008
|
-
function
|
|
2023
|
+
function _r(e, t) {
|
|
2009
2024
|
try {
|
|
2010
2025
|
e?.releasePointerCapture?.(t);
|
|
2011
2026
|
} catch {}
|
|
2012
2027
|
}
|
|
2013
2028
|
//#endregion
|
|
2014
2029
|
//#region src/components/interaction/viewportInteractionState.ts
|
|
2015
|
-
function
|
|
2030
|
+
function vr(e) {
|
|
2016
2031
|
return {
|
|
2017
2032
|
...e,
|
|
2018
2033
|
currentX: e.startX,
|
|
@@ -2021,37 +2036,37 @@ function hr(e) {
|
|
|
2021
2036
|
yDomains: Object.fromEntries(Object.entries(e.yDomains).map(([e, t]) => [e, [...t]]))
|
|
2022
2037
|
};
|
|
2023
2038
|
}
|
|
2024
|
-
function
|
|
2039
|
+
function yr(e, t) {
|
|
2025
2040
|
return {
|
|
2026
2041
|
...e,
|
|
2027
2042
|
...t
|
|
2028
2043
|
};
|
|
2029
2044
|
}
|
|
2030
|
-
function
|
|
2045
|
+
function br(e) {
|
|
2031
2046
|
return {
|
|
2032
2047
|
state: e,
|
|
2033
2048
|
accepted: !1,
|
|
2034
2049
|
completed: null
|
|
2035
2050
|
};
|
|
2036
2051
|
}
|
|
2037
|
-
function
|
|
2052
|
+
function xr(e, t) {
|
|
2038
2053
|
switch (t.type) {
|
|
2039
|
-
case "begin": return e ?
|
|
2040
|
-
state:
|
|
2054
|
+
case "begin": return e ? br(e) : {
|
|
2055
|
+
state: vr(t.gesture),
|
|
2041
2056
|
accepted: !0,
|
|
2042
2057
|
completed: null
|
|
2043
2058
|
};
|
|
2044
|
-
case "move": return !e || e.pointerId !== t.pointerId ?
|
|
2045
|
-
state:
|
|
2059
|
+
case "move": return !e || e.pointerId !== t.pointerId ? br(e) : {
|
|
2060
|
+
state: yr(e, t.position),
|
|
2046
2061
|
accepted: !0,
|
|
2047
2062
|
completed: null
|
|
2048
2063
|
};
|
|
2049
|
-
case "finish": return !e || e.pointerId !== t.pointerId ?
|
|
2064
|
+
case "finish": return !e || e.pointerId !== t.pointerId ? br(e) : {
|
|
2050
2065
|
state: null,
|
|
2051
2066
|
accepted: !0,
|
|
2052
|
-
completed:
|
|
2067
|
+
completed: yr(e, t.position)
|
|
2053
2068
|
};
|
|
2054
|
-
case "cancel": return !e || t.pointerId !== void 0 && e.pointerId !== t.pointerId ?
|
|
2069
|
+
case "cancel": return !e || t.pointerId !== void 0 && e.pointerId !== t.pointerId ? br(e) : {
|
|
2055
2070
|
state: null,
|
|
2056
2071
|
accepted: !0,
|
|
2057
2072
|
completed: null
|
|
@@ -2065,15 +2080,15 @@ function vr(e, t) {
|
|
|
2065
2080
|
}
|
|
2066
2081
|
//#endregion
|
|
2067
2082
|
//#region src/components/interaction/zoomConstraints.ts
|
|
2068
|
-
var
|
|
2069
|
-
function
|
|
2083
|
+
var Sr = /* @__PURE__ */ new WeakMap();
|
|
2084
|
+
function Cr(e) {
|
|
2070
2085
|
return e[0] <= e[1] ? [...e] : [e[1], e[0]];
|
|
2071
2086
|
}
|
|
2072
|
-
function
|
|
2087
|
+
function wr(e) {
|
|
2073
2088
|
return Number.isFinite(e) && (e ?? 0) > 0 ? Math.ceil(e) : 0;
|
|
2074
2089
|
}
|
|
2075
|
-
function
|
|
2076
|
-
let n = `${t[0]}\u0000${t[1]}`, r =
|
|
2090
|
+
function Tr(e, t) {
|
|
2091
|
+
let n = `${t[0]}\u0000${t[1]}`, r = Sr.get(e)?.get(n);
|
|
2077
2092
|
if (r) return r;
|
|
2078
2093
|
let i = /* @__PURE__ */ new Set();
|
|
2079
2094
|
for (let n of e) {
|
|
@@ -2083,14 +2098,14 @@ function Sr(e, t) {
|
|
|
2083
2098
|
r.x >= t[0] && r.x <= t[1] && i.add(r.x);
|
|
2084
2099
|
}
|
|
2085
2100
|
}
|
|
2086
|
-
let a = Array.from(i).sort((e, t) => e - t), o =
|
|
2087
|
-
return o.set(n, a),
|
|
2101
|
+
let a = Array.from(i).sort((e, t) => e - t), o = Sr.get(e) ?? /* @__PURE__ */ new Map();
|
|
2102
|
+
return o.set(n, a), Sr.set(e, o), a;
|
|
2088
2103
|
}
|
|
2089
|
-
function
|
|
2104
|
+
function Er(e, t, n) {
|
|
2090
2105
|
if (n <= 1) return 0;
|
|
2091
2106
|
let r = 0;
|
|
2092
2107
|
for (let i of e) {
|
|
2093
|
-
let e =
|
|
2108
|
+
let e = Tr(i, t);
|
|
2094
2109
|
if (e.length < n) return t[1] - t[0];
|
|
2095
2110
|
let a = Infinity;
|
|
2096
2111
|
for (let t = 0; t + n <= e.length; t += 1) a = Math.min(a, e[t + n - 1] - e[t]);
|
|
@@ -2099,17 +2114,17 @@ function Cr(e, t, n) {
|
|
|
2099
2114
|
}
|
|
2100
2115
|
return r;
|
|
2101
2116
|
}
|
|
2102
|
-
function
|
|
2103
|
-
let r =
|
|
2117
|
+
function Dr(e, t, n) {
|
|
2118
|
+
let r = Cr(e), i = r[1] - r[0];
|
|
2104
2119
|
if (!Number.isFinite(i) || i <= 0) return 0;
|
|
2105
|
-
let a = Number.isFinite(n.minZoomSpan) && (n.minZoomSpan ?? 0) > 0 ? Math.min(i, n.minZoomSpan) : 0, o =
|
|
2120
|
+
let a = Number.isFinite(n.minZoomSpan) && (n.minZoomSpan ?? 0) > 0 ? Math.min(i, n.minZoomSpan) : 0, o = wr(n.minVisiblePoints), s = Er(t, r, o), c = Number(n.maxZoomScale), l = Number.isFinite(c) && c >= Rt.MIN_SCALE ? i / c : n.maxZoomScale !== null && a === 0 && o === 0 ? i / Rt.DEFAULT_MAX_SCALE : 0;
|
|
2106
2121
|
return Math.max(a, s, l);
|
|
2107
2122
|
}
|
|
2108
|
-
function
|
|
2123
|
+
function Or(e, t, n, r) {
|
|
2109
2124
|
if (r <= 0) return e;
|
|
2110
2125
|
let i = 2 ** -52 * Math.max(1, Math.abs(t[0]), Math.abs(t[1])) * 16, a = e;
|
|
2111
2126
|
for (let e of n) {
|
|
2112
|
-
let n =
|
|
2127
|
+
let n = Tr(e, t);
|
|
2113
2128
|
if (n.length < r) return [...t];
|
|
2114
2129
|
if (n.filter((e) => e >= a[0] && e <= a[1]).length >= r) continue;
|
|
2115
2130
|
let o, s = Infinity, c = Infinity, l = (a[0] + a[1]) / 2;
|
|
@@ -2121,21 +2136,21 @@ function Tr(e, t, n, r) {
|
|
|
2121
2136
|
}
|
|
2122
2137
|
return a;
|
|
2123
2138
|
}
|
|
2124
|
-
function
|
|
2125
|
-
let i =
|
|
2139
|
+
function kr(e, t, n, r) {
|
|
2140
|
+
let i = Cr(t), a = i[1] - i[0];
|
|
2126
2141
|
if (!Number.isFinite(a) || a <= 0 || Math.abs(e[1] - e[0]) >= a * .999999999999) return i;
|
|
2127
|
-
let o =
|
|
2142
|
+
let o = Or([Math.max(i[0], Math.min(e[0], e[1])), Math.min(i[1], Math.max(e[0], e[1]))], i, n, wr(r.minVisiblePoints)), s = Dr(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));
|
|
2128
2143
|
return [u, u + c];
|
|
2129
2144
|
}
|
|
2130
|
-
function
|
|
2145
|
+
function Ar(e, t, n) {
|
|
2131
2146
|
let r = t[1] - t[0], i = e[1] - e[0];
|
|
2132
|
-
if (!Number.isFinite(r) || !Number.isFinite(i) || r <= 0 || i <= 0) return
|
|
2147
|
+
if (!Number.isFinite(r) || !Number.isFinite(i) || r <= 0 || i <= 0) return q;
|
|
2133
2148
|
let a = r / i, o = U(t, [0, n]);
|
|
2134
|
-
return
|
|
2149
|
+
return q.translate(-a * o(e[0]), 0).scale(a);
|
|
2135
2150
|
}
|
|
2136
2151
|
//#endregion
|
|
2137
2152
|
//#region src/components/interaction/viewportDomain.ts
|
|
2138
|
-
function
|
|
2153
|
+
function jr(e) {
|
|
2139
2154
|
return (t, n) => {
|
|
2140
2155
|
if (!(!Number.isFinite(t[0]) || !Number.isFinite(t[1]) || t[0] === t[1])) {
|
|
2141
2156
|
if (e.cancelPendingZoom(), e.cancelViewportDrag(), e.props.displayMode === "independent") {
|
|
@@ -2143,26 +2158,84 @@ function Or(e) {
|
|
|
2143
2158
|
r.forEach((n) => {
|
|
2144
2159
|
let r = e.trackLayouts.value.find((e) => e.index === n);
|
|
2145
2160
|
if (!r) return;
|
|
2146
|
-
let a = e.resolveInitialTrackDomain(r), o =
|
|
2147
|
-
i[n] =
|
|
2161
|
+
let a = e.resolveInitialTrackDomain(r), o = kr(t, a, [r.seriesList], e.props);
|
|
2162
|
+
i[n] = Ar(o, a, r.width);
|
|
2148
2163
|
}), e.independentTransforms.value = i;
|
|
2149
2164
|
} else {
|
|
2150
|
-
let n = e.initialXDomain.value, r =
|
|
2151
|
-
e.sharedTransform.value =
|
|
2165
|
+
let n = e.initialXDomain.value, r = kr(t, n, e.trackLayouts.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), e.props);
|
|
2166
|
+
e.sharedTransform.value = Ar(r, n, e.innerWidth.value);
|
|
2152
2167
|
}
|
|
2153
2168
|
e.clearHover(), e.editorSeriesOptions.value = [], f(e.configureZoom);
|
|
2154
2169
|
}
|
|
2155
2170
|
};
|
|
2156
2171
|
}
|
|
2157
2172
|
//#endregion
|
|
2173
|
+
//#region src/components/interaction/zoomEventPayload.ts
|
|
2174
|
+
function Mr(e) {
|
|
2175
|
+
return [...e].sort().join("\0");
|
|
2176
|
+
}
|
|
2177
|
+
function Nr(e, t) {
|
|
2178
|
+
let n = Mr(t);
|
|
2179
|
+
return e.find((e) => Mr(e.seriesList.map((e) => e.id)) === n);
|
|
2180
|
+
}
|
|
2181
|
+
function Pr(e, t, n, r) {
|
|
2182
|
+
e("zoom-intent", r ? {
|
|
2183
|
+
start: t[0],
|
|
2184
|
+
end: t[1],
|
|
2185
|
+
trackIndex: n.index,
|
|
2186
|
+
seriesIds: n.seriesList.map((e) => e.id),
|
|
2187
|
+
gesture: "box"
|
|
2188
|
+
} : {
|
|
2189
|
+
start: t[0],
|
|
2190
|
+
end: t[1],
|
|
2191
|
+
gesture: "box"
|
|
2192
|
+
});
|
|
2193
|
+
}
|
|
2194
|
+
function Fr(e, t, n) {
|
|
2195
|
+
for (let r of n) {
|
|
2196
|
+
let n = Nr(t, r);
|
|
2197
|
+
if (!n) continue;
|
|
2198
|
+
let i = n.xScale.domain(), a = n.yScale.domain();
|
|
2199
|
+
e("zoom-end", {
|
|
2200
|
+
start: i[0],
|
|
2201
|
+
end: i[1],
|
|
2202
|
+
yStart: a[0],
|
|
2203
|
+
yEnd: a[1],
|
|
2204
|
+
trackIndex: n.index,
|
|
2205
|
+
seriesIds: [...r],
|
|
2206
|
+
gesture: "wheel"
|
|
2207
|
+
});
|
|
2208
|
+
}
|
|
2209
|
+
}
|
|
2210
|
+
function Ir(e, t, n) {
|
|
2211
|
+
let r = n.filter((e) => e.hasVisibleSeries);
|
|
2212
|
+
if (r.length === 1) {
|
|
2213
|
+
let n = r[0]?.yScale.domain();
|
|
2214
|
+
e("zoom-end", {
|
|
2215
|
+
start: t[0],
|
|
2216
|
+
end: t[1],
|
|
2217
|
+
yStart: n?.[0],
|
|
2218
|
+
yEnd: n?.[1],
|
|
2219
|
+
gesture: "wheel"
|
|
2220
|
+
});
|
|
2221
|
+
return;
|
|
2222
|
+
}
|
|
2223
|
+
e("zoom-end", {
|
|
2224
|
+
start: t[0],
|
|
2225
|
+
end: t[1],
|
|
2226
|
+
yRanges: Object.fromEntries(r.map((e) => [e.series?.trackId ?? e.series?.id ?? e.id, e.yScale.domain()])),
|
|
2227
|
+
gesture: "wheel"
|
|
2228
|
+
});
|
|
2229
|
+
}
|
|
2230
|
+
//#endregion
|
|
2158
2231
|
//#region src/components/interaction/useWaveformViewport.ts
|
|
2159
|
-
function
|
|
2232
|
+
function Lr(e) {
|
|
2160
2233
|
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: w, cancelPendingZoom: T, clearHover: E, resolveTrackAtPointer: D } = e, O = C(), k = (e, t) => {
|
|
2161
2234
|
let n = O.value, r = t?.currentTarget;
|
|
2162
|
-
|
|
2235
|
+
_r(n, e), r && r !== n && _r(r, e);
|
|
2163
2236
|
}, A = (e, t) => {
|
|
2164
2237
|
let n = i.value;
|
|
2165
|
-
!n || n.pointerId !== e || (k(e, t), i.value =
|
|
2238
|
+
!n || n.pointerId !== e || (k(e, t), i.value = xr(i.value, {
|
|
2166
2239
|
type: "cancel",
|
|
2167
2240
|
pointerId: e
|
|
2168
2241
|
}).state, O.value = void 0);
|
|
@@ -2185,7 +2258,7 @@ function kr(e) {
|
|
|
2185
2258
|
if (!n.zoomable && !s || !_.value || e.button !== 0) return;
|
|
2186
2259
|
let c = e.currentTarget, d = o.value.find((e) => e.index === t);
|
|
2187
2260
|
if (!d) return;
|
|
2188
|
-
let [f, p] = H(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 =
|
|
2261
|
+
let [f, p] = H(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 = xr(i.value, {
|
|
2189
2262
|
type: "begin",
|
|
2190
2263
|
gesture: {
|
|
2191
2264
|
trackIndex: t,
|
|
@@ -2207,8 +2280,8 @@ function kr(e) {
|
|
|
2207
2280
|
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], _);
|
|
2208
2281
|
if (e.independent) {
|
|
2209
2282
|
let e = [...m.value];
|
|
2210
|
-
e[t.index] =
|
|
2211
|
-
} else p.value =
|
|
2283
|
+
e[t.index] = Ar(v, _, i), m.value = e;
|
|
2284
|
+
} else p.value = Ar(v, _, l.value);
|
|
2212
2285
|
let y = e.independent ? [t] : o.value.filter((e) => e.hasVisibleSeries), x = { ...g.value }, S = { ...h.value };
|
|
2213
2286
|
y.forEach((t) => {
|
|
2214
2287
|
let r = s.value.find((e) => e.id === t.id);
|
|
@@ -2222,7 +2295,7 @@ function kr(e) {
|
|
|
2222
2295
|
if (!t || !n || e.pointerId !== t.pointerId) return;
|
|
2223
2296
|
let r = o.value.find((e) => e.index === t.trackIndex);
|
|
2224
2297
|
if (!r) return;
|
|
2225
|
-
let [a, s] = H(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 =
|
|
2298
|
+
let [a, s] = H(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 = xr(i.value, {
|
|
2226
2299
|
type: "move",
|
|
2227
2300
|
pointerId: e.pointerId,
|
|
2228
2301
|
position: {
|
|
@@ -2241,11 +2314,12 @@ function kr(e) {
|
|
|
2241
2314
|
if (!t || (e.independent ? !x(t) : !S())) return;
|
|
2242
2315
|
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));
|
|
2243
2316
|
if (s - a < 6) return;
|
|
2244
|
-
let u = e.independent ? b(t) : c.value, d = e.independent ? [t.seriesList] : o.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), h =
|
|
2317
|
+
let u = e.independent ? b(t) : c.value, d = e.independent ? [t.seriesList] : o.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), h = kr([t.xScale.invert(a), t.xScale.invert(s)], u, d, n);
|
|
2245
2318
|
if (e.independent) {
|
|
2246
2319
|
let e = [...m.value];
|
|
2247
|
-
e[t.index] =
|
|
2248
|
-
} else p.value =
|
|
2320
|
+
e[t.index] = Ar(h, u, t.width), m.value = e;
|
|
2321
|
+
} else p.value = Ar(h, u, l.value);
|
|
2322
|
+
Pr(r, h, t, e.independent);
|
|
2249
2323
|
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()]));
|
|
2250
2324
|
if (r("zoom-change", h), e.independent) {
|
|
2251
2325
|
let e = _[t.series?.trackId ?? t.series?.id ?? t.id];
|
|
@@ -2286,7 +2360,7 @@ function kr(e) {
|
|
|
2286
2360
|
A(t.pointerId, e);
|
|
2287
2361
|
return;
|
|
2288
2362
|
}
|
|
2289
|
-
let [a, s] = H(e, r), c = Math.max(0, Math.min(t.independent ? n.width : l.value, a)), d = Math.max(0, Math.min(t.independent ? n.height : u.value, s)), p =
|
|
2363
|
+
let [a, s] = H(e, r), c = Math.max(0, Math.min(t.independent ? n.width : l.value, a)), d = Math.max(0, Math.min(t.independent ? n.height : u.value, s)), p = xr(i.value, {
|
|
2290
2364
|
type: "finish",
|
|
2291
2365
|
pointerId: e.pointerId,
|
|
2292
2366
|
position: {
|
|
@@ -2304,10 +2378,10 @@ function kr(e) {
|
|
|
2304
2378
|
}, V = (e) => {
|
|
2305
2379
|
if (T(), R(), n.displayMode === "independent" && e !== void 0) {
|
|
2306
2380
|
let t = [...m.value];
|
|
2307
|
-
t[e] =
|
|
2381
|
+
t[e] = q, m.value = t;
|
|
2308
2382
|
let n = { ...g.value };
|
|
2309
2383
|
delete n[e], g.value = n;
|
|
2310
|
-
} else p.value =
|
|
2384
|
+
} else p.value = q, m.value = s.value.map(() => q), h.value = {}, g.value = {};
|
|
2311
2385
|
E(), y.value = [], f(w);
|
|
2312
2386
|
};
|
|
2313
2387
|
return {
|
|
@@ -2318,7 +2392,7 @@ function kr(e) {
|
|
|
2318
2392
|
finishViewportDrag: B,
|
|
2319
2393
|
cancelViewportDrag: R,
|
|
2320
2394
|
resetViewport: V,
|
|
2321
|
-
setViewportDomain:
|
|
2395
|
+
setViewportDomain: jr({
|
|
2322
2396
|
props: n,
|
|
2323
2397
|
trackLayouts: o,
|
|
2324
2398
|
initialXDomain: c,
|
|
@@ -2350,7 +2424,7 @@ function kr(e) {
|
|
|
2350
2424
|
}
|
|
2351
2425
|
//#endregion
|
|
2352
2426
|
//#region src/components/utils/useAnimationFrameThrottle.ts
|
|
2353
|
-
function
|
|
2427
|
+
function Rr() {
|
|
2354
2428
|
let e = null, t = null;
|
|
2355
2429
|
function n(n) {
|
|
2356
2430
|
t = n, e === null && (e = requestAnimationFrame(() => {
|
|
@@ -2379,15 +2453,35 @@ function Ar() {
|
|
|
2379
2453
|
}
|
|
2380
2454
|
//#endregion
|
|
2381
2455
|
//#region src/components/interaction/useWaveformZoom.ts
|
|
2382
|
-
function
|
|
2383
|
-
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 =
|
|
2384
|
-
y || m.value
|
|
2385
|
-
|
|
2386
|
-
|
|
2456
|
+
function zr(e) {
|
|
2457
|
+
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 = Rr(), 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) => {
|
|
2458
|
+
if (y || m.value) return;
|
|
2459
|
+
g(), b = e.transform, x = "wheel", I();
|
|
2460
|
+
let t = e.transform.rescaleX(U(c.value, [0, u.value])).domain();
|
|
2461
|
+
n("zoom-intent", {
|
|
2462
|
+
start: t[0],
|
|
2463
|
+
end: t[1],
|
|
2464
|
+
gesture: "wheel"
|
|
2465
|
+
}), k();
|
|
2466
|
+
}, j = (e, t) => {
|
|
2467
|
+
if (y || m.value) return;
|
|
2468
|
+
g(), C.set(t, e.transform), w.set(t, "wheel"), I();
|
|
2469
|
+
let r = s.value.find((e) => e.index === t);
|
|
2470
|
+
if (r) {
|
|
2471
|
+
let i = e.transform.rescaleX(U(h(r), [0, r.width])).domain();
|
|
2472
|
+
n("zoom-intent", {
|
|
2473
|
+
start: i[0],
|
|
2474
|
+
end: i[1],
|
|
2475
|
+
trackIndex: t,
|
|
2476
|
+
seriesIds: r.seriesList.map((e) => e.id),
|
|
2477
|
+
gesture: "wheel"
|
|
2478
|
+
});
|
|
2479
|
+
}
|
|
2480
|
+
k();
|
|
2387
2481
|
};
|
|
2388
|
-
function
|
|
2482
|
+
function M() {
|
|
2389
2483
|
if (m.value) {
|
|
2390
|
-
|
|
2484
|
+
R();
|
|
2391
2485
|
return;
|
|
2392
2486
|
}
|
|
2393
2487
|
if (b) {
|
|
@@ -2397,173 +2491,150 @@ function jr(e) {
|
|
|
2397
2491
|
n("zoom-change", [t[0], t[1]]);
|
|
2398
2492
|
}
|
|
2399
2493
|
if (!C.size) return;
|
|
2400
|
-
let e = [...o.value], t = Array.from(C.keys());
|
|
2401
|
-
|
|
2402
|
-
let t = w.get(e);
|
|
2403
|
-
t && T.set(e, t);
|
|
2404
|
-
}), C.forEach((t, n) => {
|
|
2494
|
+
let e = [...o.value], t = Array.from(C.keys()), r = new Map(w);
|
|
2495
|
+
C.forEach((t, n) => {
|
|
2405
2496
|
e[n] = t;
|
|
2406
2497
|
}), C.clear(), w.clear(), o.value = e;
|
|
2407
|
-
let
|
|
2498
|
+
let i = new Map(s.value.map((e) => [e.index, e]));
|
|
2408
2499
|
t.forEach((e) => {
|
|
2409
|
-
let t =
|
|
2500
|
+
let t = i.get(e);
|
|
2410
2501
|
if (!t) return;
|
|
2411
|
-
|
|
2412
|
-
|
|
2502
|
+
if (r.get(e) === "wheel") {
|
|
2503
|
+
let e = t.seriesList.map((e) => e.id);
|
|
2504
|
+
T.set(Mr(e), e);
|
|
2505
|
+
}
|
|
2506
|
+
let a = t.xScale.domain();
|
|
2507
|
+
n("zoom-change", [a[0], a[1]]);
|
|
2413
2508
|
});
|
|
2414
2509
|
}
|
|
2415
|
-
let
|
|
2510
|
+
let N = () => {
|
|
2416
2511
|
if (t.displayMode === "independent") {
|
|
2417
|
-
|
|
2418
|
-
E.forEach((t) => {
|
|
2419
|
-
if (T.get(t) !== "wheel") return;
|
|
2420
|
-
let r = e.get(t);
|
|
2421
|
-
if (!r) return;
|
|
2422
|
-
let i = r.xScale.domain(), a = r.yScale.domain();
|
|
2423
|
-
n("zoom-end", {
|
|
2424
|
-
start: i[0],
|
|
2425
|
-
end: i[1],
|
|
2426
|
-
yStart: a[0],
|
|
2427
|
-
yEnd: a[1],
|
|
2428
|
-
trackIndex: t,
|
|
2429
|
-
seriesIds: r.seriesList.map((e) => e.id),
|
|
2430
|
-
gesture: "wheel"
|
|
2431
|
-
});
|
|
2432
|
-
}), E.clear(), T.clear();
|
|
2512
|
+
Fr(n, s.value, T.values()), T.clear();
|
|
2433
2513
|
return;
|
|
2434
2514
|
}
|
|
2435
2515
|
if (S !== "wheel") {
|
|
2436
2516
|
S = null;
|
|
2437
2517
|
return;
|
|
2438
2518
|
}
|
|
2439
|
-
|
|
2440
|
-
|
|
2441
|
-
|
|
2442
|
-
|
|
2443
|
-
|
|
2444
|
-
end: e[1],
|
|
2445
|
-
yStart: t?.[0],
|
|
2446
|
-
yEnd: t?.[1],
|
|
2447
|
-
gesture: "wheel"
|
|
2448
|
-
});
|
|
2449
|
-
} else n("zoom-end", {
|
|
2450
|
-
start: e[0],
|
|
2451
|
-
end: e[1],
|
|
2452
|
-
yRanges: Object.fromEntries(r.map((e) => [e.series?.trackId ?? e.series?.id ?? e.id, e.yScale.domain()])),
|
|
2453
|
-
gesture: "wheel"
|
|
2454
|
-
});
|
|
2455
|
-
S = null;
|
|
2456
|
-
}, N = () => {
|
|
2457
|
-
v.flush(), j(), !(S === "wheel" || T.size) && M();
|
|
2519
|
+
Ir(n, l.value, s.value), S = null;
|
|
2520
|
+
}, P = () => {
|
|
2521
|
+
v.flush(), M(), !(S === "wheel" || T.size) && N();
|
|
2522
|
+
}, F = (e) => {
|
|
2523
|
+
e === O && P();
|
|
2458
2524
|
};
|
|
2459
|
-
function
|
|
2460
|
-
|
|
2461
|
-
|
|
2525
|
+
function I() {
|
|
2526
|
+
E !== void 0 && clearTimeout(E), E = setTimeout(() => {
|
|
2527
|
+
E = void 0, v.flush(), M(), N(), D = !1;
|
|
2462
2528
|
}, 200);
|
|
2463
2529
|
}
|
|
2464
|
-
let
|
|
2465
|
-
|
|
2466
|
-
},
|
|
2467
|
-
|
|
2468
|
-
},
|
|
2530
|
+
let L = () => {
|
|
2531
|
+
E !== void 0 && (v.flush(), M(), D = !0);
|
|
2532
|
+
}, R = () => {
|
|
2533
|
+
b = null, x = null, S = null, C.clear(), w.clear(), T.clear(), v.cancel(), D = !1, E !== void 0 && (clearTimeout(E), E = void 0);
|
|
2534
|
+
}, z = (e = !1) => {
|
|
2535
|
+
O += 1, e || R(), r.value?.querySelectorAll(".waveform-chart__overlay").forEach((e) => W(e).on(".zoom", null)), _.clear();
|
|
2536
|
+
}, B = (e, n) => {
|
|
2469
2537
|
let r = Math.abs(e[1] - e[0]);
|
|
2470
2538
|
if (!Number.isFinite(r) || r <= 0) return Rt.MIN_SCALE;
|
|
2471
|
-
let i =
|
|
2539
|
+
let i = Dr(e, n, t);
|
|
2472
2540
|
return Math.max(Rt.MIN_SCALE, i > 0 ? r / i : Infinity);
|
|
2473
|
-
},
|
|
2541
|
+
}, V = (e, n, r, i) => Ar(kr(e.rescaleX(U(n, [0, r])).domain(), n, i, t), n, r), H = (e) => {
|
|
2474
2542
|
let n = Number(t.minVisiblePoints);
|
|
2475
2543
|
return kn(e.seriesList, e.xScale.domain(), Number.isFinite(n) && n > 0 ? Math.ceil(n) + 1 : n);
|
|
2476
|
-
},
|
|
2544
|
+
}, G = () => {
|
|
2477
2545
|
let e = s.value.filter((e) => e.hasVisibleSeries);
|
|
2478
|
-
return e.length > 0 && e.every(
|
|
2479
|
-
},
|
|
2546
|
+
return e.length > 0 && e.every(H);
|
|
2547
|
+
}, ee = (e, t) => {
|
|
2480
2548
|
if (e.type !== "wheel") return !1;
|
|
2481
2549
|
let n = e.deltaY;
|
|
2482
|
-
return n < 0 ? t : n > 0 &&
|
|
2550
|
+
return n < 0 ? t : n > 0 && J(e.currentTarget).k > Rt.MIN_SCALE;
|
|
2483
2551
|
};
|
|
2484
2552
|
return {
|
|
2485
|
-
cancelPendingZoom:
|
|
2486
|
-
clearZoomBindings:
|
|
2487
|
-
canZoomTrack:
|
|
2488
|
-
canZoomSharedTracks:
|
|
2553
|
+
cancelPendingZoom: R,
|
|
2554
|
+
clearZoomBindings: z,
|
|
2555
|
+
canZoomTrack: H,
|
|
2556
|
+
canZoomSharedTracks: G,
|
|
2489
2557
|
configureZoom: () => {
|
|
2490
|
-
|
|
2558
|
+
z(D);
|
|
2559
|
+
let e = O;
|
|
2560
|
+
if (m.value || !t.zoomable || !p.value || !f.value || !s.value.length) return;
|
|
2491
2561
|
if (t.displayMode === "independent") {
|
|
2492
|
-
s.value.forEach((
|
|
2493
|
-
let
|
|
2494
|
-
if (!
|
|
2495
|
-
let
|
|
2496
|
-
let n = s.value.find((
|
|
2497
|
-
return
|
|
2498
|
-
}).scaleExtent([1,
|
|
2499
|
-
_.set(
|
|
2562
|
+
s.value.forEach((t) => {
|
|
2563
|
+
let n = r.value?.querySelector(`[data-independent-overlay-index="${t.index}"]`);
|
|
2564
|
+
if (!n) return;
|
|
2565
|
+
let i = h(t), a = [t.seriesList], c = K().filter((e) => {
|
|
2566
|
+
let n = s.value.find((e) => e.index === t.index) ?? t;
|
|
2567
|
+
return ee(e, H(n));
|
|
2568
|
+
}).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));
|
|
2569
|
+
_.set(t.index, c), y = !0;
|
|
2500
2570
|
try {
|
|
2501
|
-
W(
|
|
2571
|
+
W(n).call(c).on("dblclick.zoom", null).call(c.transform, o.value[t.index] ?? q);
|
|
2502
2572
|
} finally {
|
|
2503
2573
|
y = !1;
|
|
2504
2574
|
}
|
|
2505
2575
|
});
|
|
2506
2576
|
return;
|
|
2507
2577
|
}
|
|
2508
|
-
let
|
|
2509
|
-
if (!
|
|
2510
|
-
let
|
|
2511
|
-
_.set("shared",
|
|
2578
|
+
let n = i.value;
|
|
2579
|
+
if (!n) return;
|
|
2580
|
+
let l = s.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), g = K().filter((e) => ee(e, G())).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));
|
|
2581
|
+
_.set("shared", g), y = !0;
|
|
2512
2582
|
try {
|
|
2513
|
-
W(
|
|
2583
|
+
W(n).call(g).on("dblclick.zoom", null).call(g.transform, a.value);
|
|
2514
2584
|
} finally {
|
|
2515
2585
|
y = !1;
|
|
2516
2586
|
}
|
|
2517
|
-
}
|
|
2587
|
+
},
|
|
2588
|
+
prepareForDataChange: L
|
|
2518
2589
|
};
|
|
2519
2590
|
}
|
|
2520
2591
|
//#endregion
|
|
2521
2592
|
//#region src/components/core/useWaveformChartLifecycle.ts
|
|
2522
|
-
function
|
|
2593
|
+
function Br(e) {
|
|
2523
2594
|
return e instanceof Element && !!e.closest("button, input, select, textarea, [contenteditable]:not([contenteditable=\"false\"])");
|
|
2524
2595
|
}
|
|
2525
|
-
function
|
|
2526
|
-
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: k, 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:
|
|
2527
|
-
function
|
|
2528
|
-
z.value || e.code !== "Space" || !t.pannable || !_.value ||
|
|
2596
|
+
function Vr(e) {
|
|
2597
|
+
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: k, 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: ee } = e;
|
|
2598
|
+
function te(e) {
|
|
2599
|
+
z.value || e.code !== "Space" || !t.pannable || !_.value || Br(e.target) || (m.value = !0, e.preventDefault());
|
|
2529
2600
|
}
|
|
2530
|
-
function
|
|
2601
|
+
function ne(e) {
|
|
2531
2602
|
e.code === "Space" && (m.value = !1);
|
|
2532
2603
|
}
|
|
2533
|
-
function
|
|
2604
|
+
function re(e) {
|
|
2534
2605
|
let r = Math.min(y.value, Math.max(1, Math.floor(e)));
|
|
2535
|
-
r !== v.value && (v.value = r, B(), L.closeContextMenu(), V(), t.displayMode === "independent" && (P.value = b.value.map(() =>
|
|
2606
|
+
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));
|
|
2536
2607
|
}
|
|
2537
|
-
let
|
|
2538
|
-
function
|
|
2608
|
+
let K, J;
|
|
2609
|
+
function ie() {
|
|
2539
2610
|
if (t.displayMode === "independent") {
|
|
2540
|
-
|
|
2611
|
+
K = void 0, J = new Map(w.value.flatMap((e) => {
|
|
2541
2612
|
let t = e.xScale.domain(), n = I(e);
|
|
2542
|
-
return t[1] - t[0] < n[1] - n[0] - 1e-12 ? t :
|
|
2543
|
-
});
|
|
2613
|
+
return t[1] - t[0] < n[1] - n[0] - 1e-12 ? [[Mr(e.seriesList.map((e) => e.id)), t]] : [];
|
|
2614
|
+
}));
|
|
2544
2615
|
return;
|
|
2545
2616
|
}
|
|
2546
|
-
|
|
2617
|
+
J = void 0;
|
|
2547
2618
|
let e = D.value, n = k.value;
|
|
2548
|
-
|
|
2619
|
+
K = e[1] - e[0] < n[1] - n[0] - 1e-12 ? [...e] : void 0;
|
|
2549
2620
|
}
|
|
2550
|
-
function
|
|
2621
|
+
function ae() {
|
|
2551
2622
|
if (t.displayMode === "independent") {
|
|
2552
2623
|
let e = P.value;
|
|
2553
|
-
P.value = C.value.map((t, n) => e[n] ??
|
|
2624
|
+
P.value = C.value.map((t, n) => e[n] ?? q);
|
|
2554
2625
|
}
|
|
2555
2626
|
B(), R.value = [], f(() => {
|
|
2556
|
-
if (t.displayMode === "independent" &&
|
|
2557
|
-
let e = C.value.map(() =>
|
|
2627
|
+
if (t.displayMode === "independent" && J) {
|
|
2628
|
+
let e = C.value.map(() => q);
|
|
2558
2629
|
w.value.forEach((n) => {
|
|
2559
|
-
let r =
|
|
2630
|
+
let r = J?.get(Mr(n.seriesList.map((e) => e.id)));
|
|
2560
2631
|
if (!r) return;
|
|
2561
|
-
let i = I(n), a =
|
|
2562
|
-
e[n.index] =
|
|
2563
|
-
}), P.value = e,
|
|
2564
|
-
} else if (t.displayMode !== "independent" &&
|
|
2565
|
-
let e = k.value, n = w.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), r =
|
|
2566
|
-
A.value =
|
|
2632
|
+
let i = I(n), a = kr(r, i, [n.seriesList], t);
|
|
2633
|
+
e[n.index] = Ar(a, i, n.width);
|
|
2634
|
+
}), P.value = e, J = void 0;
|
|
2635
|
+
} else if (t.displayMode !== "independent" && K) {
|
|
2636
|
+
let e = k.value, n = w.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), r = kr(K, e, n, t);
|
|
2637
|
+
A.value = Ar(r, e, T.value), K = void 0;
|
|
2567
2638
|
}
|
|
2568
2639
|
H();
|
|
2569
2640
|
});
|
|
@@ -2602,7 +2673,7 @@ function Nr(e) {
|
|
|
2602
2673
|
}), O(j, () => {
|
|
2603
2674
|
R.value = [];
|
|
2604
2675
|
}), O(z, (e) => {
|
|
2605
|
-
m.value = !1, e && (W(),
|
|
2676
|
+
m.value = !1, e && (W(), ee(), B(), L.closeContextMenu(), V());
|
|
2606
2677
|
}), O(() => S.value.map((e) => e.id).join("\0"), () => {
|
|
2607
2678
|
if (t.hiddenSeriesIds !== void 0) return;
|
|
2608
2679
|
let e = new Set(S.value.map((e) => e.id)), n = new Set(Array.from(N.value).filter((t) => e.has(t)));
|
|
@@ -2621,7 +2692,7 @@ function Nr(e) {
|
|
|
2621
2692
|
let n = L.editorDraft.value;
|
|
2622
2693
|
n?.mode === "edit" && !e.some((e) => e.id === n.annotation.id) && L.closeEditor();
|
|
2623
2694
|
}, { deep: !0 });
|
|
2624
|
-
function
|
|
2695
|
+
function oe() {
|
|
2625
2696
|
if (!d.value || !i.value) {
|
|
2626
2697
|
c.value = 0, l.value = 0;
|
|
2627
2698
|
return;
|
|
@@ -2634,22 +2705,22 @@ function Nr(e) {
|
|
|
2634
2705
|
d,
|
|
2635
2706
|
p
|
|
2636
2707
|
], async () => {
|
|
2637
|
-
c.value = 0, l.value = 0, await f(),
|
|
2708
|
+
c.value = 0, l.value = 0, await f(), oe();
|
|
2638
2709
|
}, { immediate: !0 }), g(() => {
|
|
2639
|
-
window.addEventListener("keydown",
|
|
2640
|
-
o.value = Math.max(0, e?.contentRect.width ?? 0), s.value = Math.max(0, e?.contentRect.height ?? 0), f(
|
|
2710
|
+
window.addEventListener("keydown", te), window.addEventListener("keyup", ne), r.value && (a.value = new ResizeObserver(([e]) => {
|
|
2711
|
+
o.value = Math.max(0, e?.contentRect.width ?? 0), s.value = Math.max(0, e?.contentRect.height ?? 0), f(oe);
|
|
2641
2712
|
}), a.value.observe(r.value));
|
|
2642
2713
|
}), h(() => {
|
|
2643
|
-
window.removeEventListener("keydown",
|
|
2714
|
+
window.removeEventListener("keydown", te), window.removeEventListener("keyup", ne), G(), a.value?.disconnect(), ee(), R.value = [];
|
|
2644
2715
|
}), {
|
|
2645
|
-
goToPage:
|
|
2646
|
-
handleBeforeDataReferenceChange:
|
|
2647
|
-
handleDataReferenceChange:
|
|
2716
|
+
goToPage: re,
|
|
2717
|
+
handleBeforeDataReferenceChange: ie,
|
|
2718
|
+
handleDataReferenceChange: ae
|
|
2648
2719
|
};
|
|
2649
2720
|
}
|
|
2650
2721
|
//#endregion
|
|
2651
2722
|
//#region src/components/core/useWaveformData.ts
|
|
2652
|
-
function
|
|
2723
|
+
function Hr(e) {
|
|
2653
2724
|
return ln(e).map(({ source: e, ...t }) => {
|
|
2654
2725
|
let n = e.metrics(t.errorBar.visible);
|
|
2655
2726
|
return {
|
|
@@ -2662,45 +2733,45 @@ function Pr(e) {
|
|
|
2662
2733
|
};
|
|
2663
2734
|
});
|
|
2664
2735
|
}
|
|
2665
|
-
function
|
|
2666
|
-
let r = C(
|
|
2736
|
+
function Ur(e, t, n) {
|
|
2737
|
+
let r = C(Hr(e()));
|
|
2667
2738
|
return O(e, (e) => {
|
|
2668
|
-
t(), r.value =
|
|
2739
|
+
t(), r.value = Hr(e), n();
|
|
2669
2740
|
}), r;
|
|
2670
2741
|
}
|
|
2671
2742
|
//#endregion
|
|
2672
2743
|
//#region wasm/pkg/waveform_sampling_wasm.js
|
|
2673
|
-
function
|
|
2674
|
-
let n =
|
|
2675
|
-
if (o[3]) throw
|
|
2676
|
-
var s =
|
|
2744
|
+
function Wr(e, t) {
|
|
2745
|
+
let n = ii(e, $.__wbindgen_malloc), r = ui, i = ii(t, $.__wbindgen_malloc), a = ui, o = $.calculate_range(n, r, i, a);
|
|
2746
|
+
if (o[3]) throw ai(o[2]);
|
|
2747
|
+
var s = Yr(o[0], o[1]).slice();
|
|
2677
2748
|
return $.__wbindgen_free(o[0], o[1] * 8, 8), s;
|
|
2678
2749
|
}
|
|
2679
|
-
function
|
|
2680
|
-
let i =
|
|
2681
|
-
if (c[3]) throw
|
|
2682
|
-
var l =
|
|
2750
|
+
function Gr(e, t, n, r) {
|
|
2751
|
+
let i = ii(e, $.__wbindgen_malloc), a = ui, o = ii(t, $.__wbindgen_malloc), s = ui, c = $.find_visible_range(i, a, o, s, n, r);
|
|
2752
|
+
if (c[3]) throw ai(c[2]);
|
|
2753
|
+
var l = Xr(c[0], c[1]).slice();
|
|
2683
2754
|
return $.__wbindgen_free(c[0], c[1] * 4, 4), l;
|
|
2684
2755
|
}
|
|
2685
|
-
function
|
|
2686
|
-
let i =
|
|
2687
|
-
if (c[3]) throw
|
|
2688
|
-
var l =
|
|
2756
|
+
function Kr(e, t, n, r) {
|
|
2757
|
+
let i = ii(e, $.__wbindgen_malloc), a = ui, o = ii(t, $.__wbindgen_malloc), s = ui, c = $.sample_aggregates(i, a, o, s, n, r);
|
|
2758
|
+
if (c[3]) throw ai(c[2]);
|
|
2759
|
+
var l = Yr(c[0], c[1]).slice();
|
|
2689
2760
|
return $.__wbindgen_free(c[0], c[1] * 8, 8), l;
|
|
2690
2761
|
}
|
|
2691
|
-
function
|
|
2692
|
-
let i =
|
|
2693
|
-
if (c[3]) throw
|
|
2694
|
-
var l =
|
|
2762
|
+
function qr(e, t, n, r) {
|
|
2763
|
+
let i = ii(e, $.__wbindgen_malloc), a = ui, o = ii(t, $.__wbindgen_malloc), s = ui, c = $.sample_indexes(i, a, o, s, n, r);
|
|
2764
|
+
if (c[3]) throw ai(c[2]);
|
|
2765
|
+
var l = Xr(c[0], c[1]).slice();
|
|
2695
2766
|
return $.__wbindgen_free(c[0], c[1] * 4, 4), l;
|
|
2696
2767
|
}
|
|
2697
|
-
function
|
|
2768
|
+
function Jr() {
|
|
2698
2769
|
return {
|
|
2699
2770
|
__proto__: null,
|
|
2700
2771
|
"./waveform_sampling_wasm_bg.js": {
|
|
2701
2772
|
__proto__: null,
|
|
2702
2773
|
__wbindgen_cast_0000000000000001: function(e, t) {
|
|
2703
|
-
return
|
|
2774
|
+
return $r(e, t);
|
|
2704
2775
|
},
|
|
2705
2776
|
__wbindgen_init_externref_table: function() {
|
|
2706
2777
|
let e = $.__wbindgen_externrefs, t = e.grow(4);
|
|
@@ -2709,52 +2780,52 @@ function Br() {
|
|
|
2709
2780
|
}
|
|
2710
2781
|
};
|
|
2711
2782
|
}
|
|
2712
|
-
function
|
|
2713
|
-
return e >>>= 0,
|
|
2783
|
+
function Yr(e, t) {
|
|
2784
|
+
return e >>>= 0, Qr().subarray(e / 8, e / 8 + t);
|
|
2714
2785
|
}
|
|
2715
|
-
function
|
|
2716
|
-
return e >>>= 0,
|
|
2786
|
+
function Xr(e, t) {
|
|
2787
|
+
return e >>>= 0, ti().subarray(e / 4, e / 4 + t);
|
|
2717
2788
|
}
|
|
2718
|
-
var
|
|
2719
|
-
function
|
|
2720
|
-
return (
|
|
2789
|
+
var Zr = null;
|
|
2790
|
+
function Qr() {
|
|
2791
|
+
return (Zr === null || Zr.byteLength === 0) && (Zr = new Float64Array($.memory.buffer)), Zr;
|
|
2721
2792
|
}
|
|
2722
|
-
function
|
|
2723
|
-
return e >>>= 0,
|
|
2793
|
+
function $r(e, t) {
|
|
2794
|
+
return e >>>= 0, li(e, t);
|
|
2724
2795
|
}
|
|
2725
|
-
var
|
|
2726
|
-
function
|
|
2727
|
-
return (
|
|
2796
|
+
var ei = null;
|
|
2797
|
+
function ti() {
|
|
2798
|
+
return (ei === null || ei.byteLength === 0) && (ei = new Uint32Array($.memory.buffer)), ei;
|
|
2728
2799
|
}
|
|
2729
|
-
var
|
|
2730
|
-
function
|
|
2731
|
-
return (
|
|
2800
|
+
var ni = null;
|
|
2801
|
+
function ri() {
|
|
2802
|
+
return (ni === null || ni.byteLength === 0) && (ni = new Uint8Array($.memory.buffer)), ni;
|
|
2732
2803
|
}
|
|
2733
|
-
function
|
|
2804
|
+
function ii(e, t) {
|
|
2734
2805
|
let n = t(e.length * 8, 8) >>> 0;
|
|
2735
|
-
return
|
|
2806
|
+
return Qr().set(e, n / 8), ui = e.length, n;
|
|
2736
2807
|
}
|
|
2737
|
-
function
|
|
2808
|
+
function ai(e) {
|
|
2738
2809
|
let t = $.__wbindgen_externrefs.get(e);
|
|
2739
2810
|
return $.__externref_table_dealloc(e), t;
|
|
2740
2811
|
}
|
|
2741
|
-
var
|
|
2812
|
+
var oi = new TextDecoder("utf-8", {
|
|
2742
2813
|
ignoreBOM: !0,
|
|
2743
2814
|
fatal: !0
|
|
2744
2815
|
});
|
|
2745
|
-
|
|
2746
|
-
var
|
|
2747
|
-
function
|
|
2748
|
-
return
|
|
2816
|
+
oi.decode();
|
|
2817
|
+
var si = 2146435072, ci = 0;
|
|
2818
|
+
function li(e, t) {
|
|
2819
|
+
return ci += t, ci >= si && (oi = new TextDecoder("utf-8", {
|
|
2749
2820
|
ignoreBOM: !0,
|
|
2750
2821
|
fatal: !0
|
|
2751
|
-
}),
|
|
2822
|
+
}), oi.decode(), ci = t), oi.decode(ri().subarray(e, e + t));
|
|
2752
2823
|
}
|
|
2753
|
-
var
|
|
2754
|
-
function
|
|
2755
|
-
return $ = e.exports,
|
|
2824
|
+
var ui = 0, $;
|
|
2825
|
+
function di(e, t) {
|
|
2826
|
+
return $ = e.exports, Zr = null, ei = null, ni = null, $.__wbindgen_start(), $;
|
|
2756
2827
|
}
|
|
2757
|
-
async function
|
|
2828
|
+
async function fi(e, t) {
|
|
2758
2829
|
if (typeof Response == "function" && e instanceof Response) {
|
|
2759
2830
|
if (typeof WebAssembly.instantiateStreaming == "function") try {
|
|
2760
2831
|
return await WebAssembly.instantiateStreaming(e, t);
|
|
@@ -2780,17 +2851,17 @@ async function ii(e, t) {
|
|
|
2780
2851
|
return !1;
|
|
2781
2852
|
}
|
|
2782
2853
|
}
|
|
2783
|
-
async function
|
|
2854
|
+
async function pi(e) {
|
|
2784
2855
|
if ($ !== void 0) return $;
|
|
2785
2856
|
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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gIACcSABQYCABElyDQBBgIAEIQYgAEGAgARxIAFBgIAISXINAEGAgAghBiAAQYCACHEgAUGAgBBJcg0AQYCAECEGIABBgIAQcSABQYCAIElyDQBBgIAgIQYgAEGAgCBxIAFBgIDAAElyDQBBgIDAACEGIABBgIDAAHEgAUGAgIABSXINAEGAgIABIQYgAEGAgIABcSABQYCAgAJJcg0AQYCAgAIhBiAAQYCAgAJxIAFBgICABElyDQBBgICABCEGIABBgICABHEgAUGAgIAISXINAEGAgIAIIQYgAEGAgIAIcSABQYCAgBBJcg0AQYCAgBAhBiAAQYCAgBBxIAFBgICAIElyDQBBgICAICEGIABBgICAIHEgAUGAgIDAAElyDQBBgICAwAAhBiAAQYCAgMAAcSABQYCAgIABSXINAEGAgICAASEGIABBgICAgAFxIAFBgICAgAJJcg0AQYCAgIACIQYgAEGAgICAAnEgAUGAgICABElyDQBBgICAgAQhBiAAQYCAgIAEcSABQQBOcg0AEEoACyAAIQEgACEDAkAgBmgiCEUNAAJAIAggC0kEQCAQIAhBGGxqIgEoAgBBgICAgHhHDQEMDAsgCCALQbyJwAAQJgALIAAgCHYiAyABKAIIIghJBEAgASgCFCIIIANLBEAgA0ECdCIIIAEoAhBqKAIAIQMgASgCBCAIaigCACEBDAILIAMgCEHcicAAECYACyADIAhBzInAABAmAAsgASAMTw0BIAcgDE8NAiAHIAEgDyABQQN0aisDACInIA8gB0EDdGorAwAiKGNFIAEgB08gJyAoYnJxGyEHIAMgDE8NAyAEIAxPDQQgBCADIA8gA0EDdGorAwAiJyAPIARBA3RqKwMAIihkRSADIARPICcgKGJycRshBCAAIAZqIgAgI0kNAAsCQAJAAkACQAJAIBZBAWsOBgMAAAECBAALQZyKwABBKEHEisAAED4ACyAFKAIUIgAEQCAFKAIQIABBAnRqQQRrKAIAIAdGDQkLIAUoAgwgAEYEQCAFQQxqECcLIAUoAhAgAEECdGogBzYCACAFIABBAWo2AhQMCAsgBSgCFCIABEAgBSgCECAAQQJ0akEEaygCACAERg0ICyAFKAIMIABGBEAgBUEMahAnCyAFKAIQIABBAnRqIAQ2AgAgBSAAQQFqNgIUDAcLIAUgBDYC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IQ4gAyEKIwBB8ABrIgckAAJ/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));
|
|
2786
|
-
let t =
|
|
2857
|
+
let t = Jr();
|
|
2787
2858
|
(typeof e == "string" || typeof Request == "function" && e instanceof Request || typeof URL == "function" && e instanceof URL) && (e = fetch(e));
|
|
2788
|
-
let { instance: n, module: r } = await
|
|
2789
|
-
return
|
|
2859
|
+
let { instance: n, module: r } = await fi(await e, t);
|
|
2860
|
+
return di(n, r);
|
|
2790
2861
|
}
|
|
2791
2862
|
//#endregion
|
|
2792
2863
|
//#region src/core/wasmSampling.ts
|
|
2793
|
-
var
|
|
2864
|
+
var mi = {
|
|
2794
2865
|
none: 0,
|
|
2795
2866
|
peak: 1,
|
|
2796
2867
|
lttb: 2,
|
|
@@ -2799,24 +2870,24 @@ var oi = {
|
|
|
2799
2870
|
max: 5,
|
|
2800
2871
|
minmax: 6,
|
|
2801
2872
|
sum: 7
|
|
2802
|
-
},
|
|
2803
|
-
function
|
|
2873
|
+
}, hi;
|
|
2874
|
+
function gi(e, t) {
|
|
2804
2875
|
return t === 0 ? 0 : Number.isFinite(e) ? Math.min(t, Math.max(1, Math.floor(e))) : t;
|
|
2805
2876
|
}
|
|
2806
|
-
function
|
|
2877
|
+
function _i(e) {
|
|
2807
2878
|
if (e.x.length !== e.y.length) throw Error("x and y must have the same length");
|
|
2808
2879
|
}
|
|
2809
|
-
function
|
|
2810
|
-
return
|
|
2880
|
+
function vi(e) {
|
|
2881
|
+
return hi ??= Promise.resolve(pi(e)).then(() => void 0), hi;
|
|
2811
2882
|
}
|
|
2812
|
-
async function
|
|
2813
|
-
|
|
2814
|
-
let t =
|
|
2883
|
+
async function yi(e) {
|
|
2884
|
+
_i(e), await vi();
|
|
2885
|
+
let t = gi(e.targetPointCount, e.x.length), n = mi[e.strategy];
|
|
2815
2886
|
if (e.strategy !== "average" && e.strategy !== "sum") return {
|
|
2816
2887
|
kind: "source-indexes",
|
|
2817
|
-
sourceIndexes:
|
|
2888
|
+
sourceIndexes: qr(e.x, e.y, n, t)
|
|
2818
2889
|
};
|
|
2819
|
-
let r =
|
|
2890
|
+
let r = Kr(e.x, e.y, n, t), i = new Float64Array(r.length / 2), a = new Float64Array(r.length / 2);
|
|
2820
2891
|
for (let e = 0; e < i.length; e += 1) i[e] = r[e * 2], a[e] = r[e * 2 + 1];
|
|
2821
2892
|
return {
|
|
2822
2893
|
kind: "aggregates",
|
|
@@ -2824,34 +2895,50 @@ async function di(e) {
|
|
|
2824
2895
|
y: a
|
|
2825
2896
|
};
|
|
2826
2897
|
}
|
|
2827
|
-
async function
|
|
2898
|
+
async function bi(e, t) {
|
|
2828
2899
|
if (e.length !== t.length) throw Error("x and y must have the same length");
|
|
2829
|
-
await
|
|
2830
|
-
let n =
|
|
2900
|
+
await vi();
|
|
2901
|
+
let n = Wr(e, t);
|
|
2831
2902
|
return n.length === 4 ? {
|
|
2832
2903
|
x: [n[0], n[1]],
|
|
2833
2904
|
y: [n[2], n[3]]
|
|
2834
2905
|
} : void 0;
|
|
2835
2906
|
}
|
|
2836
|
-
async function
|
|
2907
|
+
async function xi(e, t, n) {
|
|
2837
2908
|
if (e.length !== t.length) throw Error("x and y must have the same length");
|
|
2838
|
-
await
|
|
2839
|
-
let r =
|
|
2909
|
+
await vi();
|
|
2910
|
+
let r = Gr(e, t, n[0], n[1]);
|
|
2840
2911
|
return [r[0], r[1]];
|
|
2841
2912
|
}
|
|
2842
2913
|
//#endregion
|
|
2843
2914
|
//#region src/components/core/trackPagination.ts
|
|
2844
|
-
var
|
|
2915
|
+
var Si = (e, t) => t ? e.filter((e) => e.series.length > 0) : e, Ci = (e, t, n, r, i) => {
|
|
2845
2916
|
let a = t?.[i];
|
|
2846
2917
|
if (a !== void 0) return a;
|
|
2847
2918
|
if (e !== void 0) return n === 1 ? e : typeof e == "number" ? e + r : `${e}-${r + 1}`;
|
|
2848
|
-
},
|
|
2919
|
+
}, wi = (e, t, n) => (r) => {
|
|
2849
2920
|
let i = n(), a = i.findIndex((e) => e.id === r);
|
|
2850
|
-
return
|
|
2921
|
+
return Ci(e(), t(), i.length, a >= 0 ? a : 0, r);
|
|
2851
2922
|
};
|
|
2852
2923
|
//#endregion
|
|
2924
|
+
//#region src/components/core/yAxisLayoutMetrics.ts
|
|
2925
|
+
function Ti(e, t, n, r) {
|
|
2926
|
+
return e === "independent" ? Object.fromEntries(t.flatMap((e, t) => {
|
|
2927
|
+
let n = r[t];
|
|
2928
|
+
return n ? [[e.id, n]] : [];
|
|
2929
|
+
})) : n;
|
|
2930
|
+
}
|
|
2931
|
+
function Ei(e, t, n, r, i, a, o, s) {
|
|
2932
|
+
let c = e.filter((e) => e.visibleSeries.length > 0).flatMap((e) => lr(e, t, n, r, i)).map((e) => ur(e.domain, a, void 0, e.seriesList[0]?.unit, o, s).tickTextWidth), l = Math.max(7, ...c), u = l + 7 + 4, d = -(7 + l + 0 + 12 / 2);
|
|
2933
|
+
return {
|
|
2934
|
+
tickClearance: u,
|
|
2935
|
+
fullClearance: l + 7 + 0 + 12 + 4,
|
|
2936
|
+
labelCenterX: d
|
|
2937
|
+
};
|
|
2938
|
+
}
|
|
2939
|
+
//#endregion
|
|
2853
2940
|
//#region src/components/core/useWaveformLayout.ts
|
|
2854
|
-
function
|
|
2941
|
+
function Di(e) {
|
|
2855
2942
|
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) => ({
|
|
2856
2943
|
...e,
|
|
2857
2944
|
color: e.color ?? (t === 0 ? n.lineColor : Vt[t % Vt.length])
|
|
@@ -2874,67 +2961,57 @@ function _i(e) {
|
|
|
2874
2961
|
yDomain: o.length ? ht(o) : [0, 1]
|
|
2875
2962
|
};
|
|
2876
2963
|
});
|
|
2877
|
-
}), v = t(() => Tn(n.rendering)), y = t(() =>
|
|
2964
|
+
}), v = t(() => Tn(n.rendering)), y = t(() => Si(_.value, g.value.hideEmptyTracks)), b = t(() => Vn(y.value.length, g.value)), x = t(() => Hn(y.value, i.value, g.value)), S = t(() => {
|
|
2878
2965
|
let e = x.value.filter((e) => e.series.length > 0);
|
|
2879
2966
|
return g.value.fillIncompleteLastRow && e.length > 0 ? e : x.value;
|
|
2880
|
-
}), C = t(() => {
|
|
2881
|
-
let e =
|
|
2967
|
+
}), C = t(() => nr(s.value, n.axes?.y?.splitNumber)), w = t(() => Ti(n.displayMode, _.value, d.value, f.value)), T = t(() => Ei(_.value, n.overlayMode, n.yDomain, n.yDomains, w.value, n.axes?.y?.nice !== !1, C.value, n.displayMode === "compact")), E = t(() => _.value.some((e) => e.visibleSeries.length === 1 && !!(e.visibleSeries[0]?.name.trim() || n.yLabel))), D = t(() => _.value.some((e) => e.visibleSeries.length > 0)), O = t(() => Math.max(Lt.left, E.value ? T.value.fullClearance : D.value ? T.value.tickClearance : 0)), k = t(() => dr(S.value.filter((e) => e.visibleSeries.length > 0), n.overlayMode, n.yDomain, n.yDomains, C.value, n.axes?.y?.nice !== !1, n.displayMode === "compact", w.value)), A = t(() => n.overlayMode === "multi-axis" ? Math.max(O.value, k.value.clearance.left) : O.value), j = t(() => n.overlayMode === "multi-axis" ? Math.max(Lt.right, k.value.clearance.right) : Lt.right), M = t(() => Math.max(0, o.value - A.value - j.value)), N = t(() => {
|
|
2968
|
+
let e = Un(n.displayMode), t = g.value.columnCount, r = t > 1, i = Math.max(e, T.value.fullClearance), a = Math.max(e, T.value.tickClearance), o = (M.value - i * Math.max(0, t - 1)) / t >= 120;
|
|
2882
2969
|
return {
|
|
2883
|
-
|
|
2884
|
-
|
|
2885
|
-
labelCenterX: i
|
|
2970
|
+
horizontalGap: n.overlayMode === "multi-axis" && r && D.value ? Math.max(e, k.value.clearance.left + k.value.clearance.right) : r && D.value ? E.value && o ? i : a : e,
|
|
2971
|
+
hideSecondaryLabels: n.overlayMode !== "multi-axis" && r && E.value && !o
|
|
2886
2972
|
};
|
|
2887
|
-
}),
|
|
2888
|
-
let e = Un(n.displayMode), t = g.value.columnCount, r = t > 1, i = Math.max(e, C.value.fullClearance), a = Math.max(e, C.value.tickClearance), o = (A.value - i * Math.max(0, t - 1)) / t >= 120;
|
|
2889
|
-
return {
|
|
2890
|
-
horizontalGap: n.overlayMode === "multi-axis" && r && T.value ? Math.max(e, D.value.clearance.left + D.value.clearance.right) : r && T.value ? w.value && o ? i : a : e,
|
|
2891
|
-
hideSecondaryLabels: n.overlayMode !== "multi-axis" && r && w.value && !o
|
|
2892
|
-
};
|
|
2893
|
-
}), M = t(() => h.value.length > 0), N = t(() => A.value > 0 && s.value > 0), P = t(() => n.xLabel ?? `时间(${n.timeUnit})`), F = t(() => n.interactionMode), I = t(() => F.value !== "annotation"), L = t(() => {
|
|
2973
|
+
}), P = t(() => h.value.length > 0), F = t(() => M.value > 0 && s.value > 0), I = t(() => n.xLabel ?? `时间(${n.timeUnit})`), L = t(() => n.interactionMode), R = t(() => L.value !== "annotation"), z = t(() => {
|
|
2894
2974
|
let e = [];
|
|
2895
2975
|
return _.value.forEach((t) => {
|
|
2896
2976
|
t.visibleSeries.length && e.push(t.xDomain[0], t.xDomain[1]);
|
|
2897
2977
|
}), ht(e);
|
|
2898
|
-
}),
|
|
2978
|
+
}), B = t(() => {
|
|
2899
2979
|
let e = n.initialXDomain;
|
|
2900
|
-
return e && Number.isFinite(e[0]) && Number.isFinite(e[1]) && e[0] !== e[1] ? Jn(e[0] < e[1] ? e : [e[1], e[0]], n.xDomainStrategy, !0) : Jn(
|
|
2901
|
-
}),
|
|
2980
|
+
return e && Number.isFinite(e[0]) && Number.isFinite(e[1]) && e[0] !== e[1] ? Jn(e[0] < e[1] ? e : [e[1], e[0]], n.xDomainStrategy, !0) : Jn(z.value, n.xDomainStrategy);
|
|
2981
|
+
}), V = (e) => {
|
|
2902
2982
|
let t = n.initialXDomains?.[e.series?.trackId ?? e.series?.id ?? e.id] ?? (e.series ? n.initialXDomains?.[e.series.id] : void 0) ?? n.initialXDomain;
|
|
2903
2983
|
return t && Number.isFinite(t[0]) && Number.isFinite(t[1]) && t[0] !== t[1] ? Jn(t[0] < t[1] ? t : [t[1], t[0]], n.xDomainStrategy, !0) : Jn(ht(e.seriesList.flatMap((e) => e.xDomain)), n.xDomainStrategy);
|
|
2904
|
-
},
|
|
2984
|
+
}, H = t(() => l.value.rescaleX(U(B.value, [0, M.value])).domain()), W = t(() => Wn(M.value, s.value, g.value, n.displayMode, S.value.map(Boolean), N.value.horizontalGap).map((e, t) => ({
|
|
2905
2985
|
...e,
|
|
2906
2986
|
series: S.value[t]
|
|
2907
|
-
}))),
|
|
2908
|
-
cells:
|
|
2987
|
+
}))), G = t(() => Xn({
|
|
2988
|
+
cells: W.value,
|
|
2909
2989
|
grid: g.value,
|
|
2910
2990
|
displayMode: n.displayMode,
|
|
2911
2991
|
overlayMode: n.overlayMode,
|
|
2912
2992
|
independentTransforms: u.value,
|
|
2913
|
-
sharedZoomDomain:
|
|
2914
|
-
initialXDomain: n.initialXDomain ?
|
|
2993
|
+
sharedZoomDomain: H.value,
|
|
2994
|
+
initialXDomain: n.initialXDomain ? B.value : void 0,
|
|
2915
2995
|
initialXDomains: n.initialXDomains,
|
|
2916
2996
|
xDomainStrategy: n.xDomainStrategy,
|
|
2917
2997
|
fixedYDomain: n.yDomain,
|
|
2918
2998
|
fixedYDomains: n.yDomains,
|
|
2919
|
-
yDomains:
|
|
2920
|
-
let n = f.value[t];
|
|
2921
|
-
return n ? [[e.id, n]] : [];
|
|
2922
|
-
})) : d.value,
|
|
2999
|
+
yDomains: w.value,
|
|
2923
3000
|
timeUnit: n.timeUnit,
|
|
2924
3001
|
xAxisLabelFormatter: n.axes?.x?.labelFormatter,
|
|
2925
3002
|
yAxisSplitNumber: n.axes?.y?.splitNumber,
|
|
2926
3003
|
yAxisNice: n.axes?.y?.nice,
|
|
2927
3004
|
rendering: v.value,
|
|
2928
3005
|
linePointOverrides: m?.value,
|
|
2929
|
-
hideSecondaryLabels: c.value ||
|
|
2930
|
-
yAxisLabelX:
|
|
2931
|
-
yAxisSlots: n.overlayMode === "multi-axis" ?
|
|
2932
|
-
showCompactEmptyTracks: n.displayMode === "compact" &&
|
|
2933
|
-
})),
|
|
3006
|
+
hideSecondaryLabels: c.value || N.value.hideSecondaryLabels,
|
|
3007
|
+
yAxisLabelX: k.value.slots.find((e) => e.side === "left" && e.sideIndex === 0)?.labelOffset ?? T.value.labelCenterX,
|
|
3008
|
+
yAxisSlots: n.overlayMode === "multi-axis" ? k.value.slots : void 0,
|
|
3009
|
+
showCompactEmptyTracks: n.displayMode === "compact" && P.value
|
|
3010
|
+
})), ee = (e) => e.seriesList.map((t) => ({
|
|
2934
3011
|
...e,
|
|
2935
3012
|
series: t,
|
|
2936
3013
|
yScale: e.seriesPaths.find((e) => e.series.id === t.id)?.yScale ?? e.yScale
|
|
2937
|
-
})),
|
|
3014
|
+
})), te = (e, t) => e.seriesPaths.find((e) => e.series.id === t)?.yScale ?? e.yScale, ne = t(() => G.value.flatMap(ee));
|
|
2938
3015
|
return {
|
|
2939
3016
|
chartSeries: h,
|
|
2940
3017
|
chartTracks: _,
|
|
@@ -2943,23 +3020,23 @@ function _i(e) {
|
|
|
2943
3020
|
gridOptions: g,
|
|
2944
3021
|
pageCount: b,
|
|
2945
3022
|
pagedTracks: x,
|
|
2946
|
-
resolvedChartLeftMargin:
|
|
2947
|
-
innerWidth:
|
|
2948
|
-
hasVisibleWaveformData:
|
|
2949
|
-
hasWaveformData:
|
|
2950
|
-
hasChartArea:
|
|
2951
|
-
resolvedXLabel:
|
|
2952
|
-
activeInteractionMode:
|
|
2953
|
-
isZoomMode:
|
|
2954
|
-
initialXDomain:
|
|
2955
|
-
sharedZoomDomain:
|
|
2956
|
-
resolveInitialTrackDomain:
|
|
2957
|
-
gridCells:
|
|
2958
|
-
trackLayouts:
|
|
2959
|
-
annotationLayoutsForTrack:
|
|
2960
|
-
resolveSeriesYScale:
|
|
2961
|
-
annotationTrackLayouts:
|
|
2962
|
-
renderedAnnotations: t(() => n.annotationsVisible ? Me(n.annotations,
|
|
3023
|
+
resolvedChartLeftMargin: A,
|
|
3024
|
+
innerWidth: M,
|
|
3025
|
+
hasVisibleWaveformData: D,
|
|
3026
|
+
hasWaveformData: P,
|
|
3027
|
+
hasChartArea: F,
|
|
3028
|
+
resolvedXLabel: I,
|
|
3029
|
+
activeInteractionMode: L,
|
|
3030
|
+
isZoomMode: R,
|
|
3031
|
+
initialXDomain: B,
|
|
3032
|
+
sharedZoomDomain: H,
|
|
3033
|
+
resolveInitialTrackDomain: V,
|
|
3034
|
+
gridCells: W,
|
|
3035
|
+
trackLayouts: G,
|
|
3036
|
+
annotationLayoutsForTrack: ee,
|
|
3037
|
+
resolveSeriesYScale: te,
|
|
3038
|
+
annotationTrackLayouts: ne,
|
|
3039
|
+
renderedAnnotations: t(() => n.annotationsVisible ? Me(n.annotations, ne.value, M.value, s.value) : []),
|
|
2963
3040
|
editorSeries: t(() => {
|
|
2964
3041
|
let e = p.editorDraft.value?.annotation.seriesId, t = h.value.find((t) => t.id === e);
|
|
2965
3042
|
return t ? {
|
|
@@ -2969,16 +3046,16 @@ function _i(e) {
|
|
|
2969
3046
|
unit: t.unit
|
|
2970
3047
|
} : void 0;
|
|
2971
3048
|
}),
|
|
2972
|
-
resolveFrameNumber:
|
|
3049
|
+
resolveFrameNumber: wi(() => n.frameNumber, () => n.frameNumbers, () => _.value)
|
|
2973
3050
|
};
|
|
2974
3051
|
}
|
|
2975
|
-
var
|
|
2976
|
-
function
|
|
3052
|
+
var Oi = 1e-6;
|
|
3053
|
+
function ki(e) {
|
|
2977
3054
|
return Number.isFinite(e) ? Math.max(1, e) : 1;
|
|
2978
3055
|
}
|
|
2979
|
-
function
|
|
2980
|
-
let i =
|
|
2981
|
-
if (!(d >
|
|
3056
|
+
function Ai({ naturalWidth: e, naturalHeight: t, availableWidth: n, rotation: r }) {
|
|
3057
|
+
let i = ki(e), a = ki(t), o = ki(n), s = Number.isFinite(r) ? r : 0, c = s * Math.PI / 180, l = Math.abs(Math.cos(c)), u = Math.abs(Math.sin(c)), d = (s % 360 + 360) % 360;
|
|
3058
|
+
if (!(d > Oi && Math.abs(d - 360) > Oi)) {
|
|
2982
3059
|
let e = Math.max(1, Math.ceil(i / o)), t = o, n = a * e;
|
|
2983
3060
|
return {
|
|
2984
3061
|
textWidth: t,
|
|
@@ -3003,7 +3080,7 @@ function bi({ naturalWidth: e, naturalHeight: t, availableWidth: n, rotation: r
|
|
|
3003
3080
|
}
|
|
3004
3081
|
//#endregion
|
|
3005
3082
|
//#region src/components/core/useWaveformPresentation.ts
|
|
3006
|
-
function
|
|
3083
|
+
function ji(e) {
|
|
3007
3084
|
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(() => ({
|
|
3008
3085
|
width: l.value === void 0 ? "100%" : `${l.value}px`,
|
|
3009
3086
|
height: u.value === void 0 ? "100%" : `${u.value}px`
|
|
@@ -3048,7 +3125,7 @@ function xi(e) {
|
|
|
3048
3125
|
maxWidth: O.value ? "none" : `${j.value}px`,
|
|
3049
3126
|
whiteSpace: O.value ? "nowrap" : "normal",
|
|
3050
3127
|
overflowWrap: O.value ? "normal" : "anywhere"
|
|
3051
|
-
})), N = t(() =>
|
|
3128
|
+
})), N = t(() => Ai({
|
|
3052
3129
|
naturalWidth: a.value || A.value,
|
|
3053
3130
|
naturalHeight: o.value || E.value * 1.2,
|
|
3054
3131
|
availableWidth: j.value,
|
|
@@ -3104,66 +3181,66 @@ function xi(e) {
|
|
|
3104
3181
|
}
|
|
3105
3182
|
//#endregion
|
|
3106
3183
|
//#region src/core/samplingReferenceValues.ts
|
|
3107
|
-
function
|
|
3184
|
+
function Mi(e, t) {
|
|
3108
3185
|
return t === 0 ? 0 : Number.isFinite(e) ? Math.min(t, Math.max(1, Math.floor(e))) : t;
|
|
3109
3186
|
}
|
|
3110
|
-
function
|
|
3187
|
+
function Ni(e, t, n, r) {
|
|
3111
3188
|
let i = r - n;
|
|
3112
3189
|
return {
|
|
3113
3190
|
start: n + Math.floor(e * i / t),
|
|
3114
3191
|
end: n + Math.floor((e + 1) * i / t)
|
|
3115
3192
|
};
|
|
3116
3193
|
}
|
|
3117
|
-
function
|
|
3194
|
+
function Pi(e, t) {
|
|
3118
3195
|
e[e.length - 1] !== t && e.push(t);
|
|
3119
3196
|
}
|
|
3120
|
-
function
|
|
3197
|
+
function Fi(e, t, n) {
|
|
3121
3198
|
if (e <= t) return Array.from({ length: e }, (e, t) => t);
|
|
3122
3199
|
if (t === 1) return [0];
|
|
3123
3200
|
if (t === 2) return [0, e - 1];
|
|
3124
3201
|
let r = [0];
|
|
3125
|
-
return n().forEach((e) =>
|
|
3202
|
+
return n().forEach((e) => Pi(r, e)), Pi(r, e - 1), r;
|
|
3126
3203
|
}
|
|
3127
|
-
function
|
|
3204
|
+
function Ii(e, t, n) {
|
|
3128
3205
|
let r = n === "minmax" ? Math.floor((t - 2) / 2) : Math.max(0, t - 2);
|
|
3129
|
-
return
|
|
3206
|
+
return Fi(e.length, t, () => {
|
|
3130
3207
|
if (!r) return [];
|
|
3131
3208
|
let t = [];
|
|
3132
3209
|
for (let i = 0; i < r; i += 1) {
|
|
3133
|
-
let a =
|
|
3210
|
+
let a = Ni(i, r, 1, e.length - 1), o = a.start, s = a.start;
|
|
3134
3211
|
for (let t = a.start + 1; t < a.end; t += 1) e[t] < e[o] && (o = t), e[t] > e[s] && (s = t);
|
|
3135
|
-
n === "min" ?
|
|
3212
|
+
n === "min" ? Pi(t, o) : n === "max" ? Pi(t, s) : o <= s ? (Pi(t, o), Pi(t, s)) : (Pi(t, s), Pi(t, o));
|
|
3136
3213
|
}
|
|
3137
3214
|
return t;
|
|
3138
3215
|
});
|
|
3139
3216
|
}
|
|
3140
|
-
function
|
|
3217
|
+
function Li(e, t) {
|
|
3141
3218
|
let n = Math.floor((t - 2) / 4);
|
|
3142
|
-
return
|
|
3219
|
+
return Fi(e.length, t, () => {
|
|
3143
3220
|
if (!n) return [];
|
|
3144
3221
|
let t = [];
|
|
3145
3222
|
for (let r = 0; r < n; r += 1) {
|
|
3146
|
-
let i =
|
|
3223
|
+
let i = Ni(r, n, 1, e.length - 1), a = i.start, o = i.start;
|
|
3147
3224
|
for (let t = i.start + 1; t < i.end; t += 1) e[t] < e[a] && (a = t), e[t] > e[o] && (o = t);
|
|
3148
3225
|
[
|
|
3149
3226
|
i.start,
|
|
3150
3227
|
a,
|
|
3151
3228
|
o,
|
|
3152
3229
|
i.end - 1
|
|
3153
|
-
].sort((e, t) => e - t).forEach((e) =>
|
|
3230
|
+
].sort((e, t) => e - t).forEach((e) => Pi(t, e));
|
|
3154
3231
|
}
|
|
3155
3232
|
return t;
|
|
3156
3233
|
});
|
|
3157
3234
|
}
|
|
3158
|
-
function
|
|
3159
|
-
return
|
|
3235
|
+
function Ri(e, t, n) {
|
|
3236
|
+
return Fi(e.length, n, () => {
|
|
3160
3237
|
let r = (e.length - 2) / (n - 2), i = [], a = 0;
|
|
3161
3238
|
for (let o = 0; o < n - 2; o += 1) {
|
|
3162
3239
|
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;
|
|
3163
3240
|
for (let n = s; n < c; n += 1) l += e[n], u += t[n];
|
|
3164
3241
|
let d = c - s;
|
|
3165
3242
|
d ? (l /= d, u /= d) : (l = e[e.length - 1], u = t[t.length - 1]);
|
|
3166
|
-
let f =
|
|
3243
|
+
let f = Ni(o, n - 2, 1, e.length - 1), p = f.start, m = -1;
|
|
3167
3244
|
for (let n = f.start; n < f.end; n += 1) {
|
|
3168
3245
|
let r = Math.abs((e[a] - l) * (t[n] - t[a]) - (e[a] - e[n]) * (u - t[a]));
|
|
3169
3246
|
r > m && (m = r, p = n);
|
|
@@ -3173,10 +3250,10 @@ function Oi(e, t, n) {
|
|
|
3173
3250
|
return i;
|
|
3174
3251
|
});
|
|
3175
3252
|
}
|
|
3176
|
-
function
|
|
3177
|
-
let i =
|
|
3253
|
+
function zi(e, t, n, r) {
|
|
3254
|
+
let i = Mi(n, e.length), a = new Float64Array(i), o = new Float64Array(i);
|
|
3178
3255
|
for (let n = 0; n < i; n += 1) {
|
|
3179
|
-
let s =
|
|
3256
|
+
let s = Ni(n, i, 0, e.length);
|
|
3180
3257
|
for (let r = s.start; r < s.end; r += 1) a[n] += e[r], o[n] += t[r];
|
|
3181
3258
|
let c = s.end - s.start;
|
|
3182
3259
|
a[n] /= c, r === "average" && (o[n] /= c);
|
|
@@ -3187,10 +3264,10 @@ function ki(e, t, n, r) {
|
|
|
3187
3264
|
y: o
|
|
3188
3265
|
};
|
|
3189
3266
|
}
|
|
3190
|
-
function
|
|
3267
|
+
function Bi(e, t, n, r) {
|
|
3191
3268
|
if (e.length !== t.length) throw Error("x and y must have the same length");
|
|
3192
|
-
if (n === "average" || n === "sum") return
|
|
3193
|
-
let i =
|
|
3269
|
+
if (n === "average" || n === "sum") return zi(e, t, r, n);
|
|
3270
|
+
let i = Mi(r, e.length), a = n === "none" || e.length <= i ? Array.from({ length: e.length }, (e, t) => t) : n === "peak" ? Li(t, i) : n === "lttb" ? Ri(e, t, i) : Ii(t, i, n);
|
|
3194
3271
|
return {
|
|
3195
3272
|
kind: "source-indexes",
|
|
3196
3273
|
sourceIndexes: Uint32Array.from(a)
|
|
@@ -3198,41 +3275,41 @@ function Ai(e, t, n, r) {
|
|
|
3198
3275
|
}
|
|
3199
3276
|
//#endregion
|
|
3200
3277
|
//#region src/core/workerSampling/javascriptBackend.ts
|
|
3201
|
-
var
|
|
3278
|
+
var Vi = {
|
|
3202
3279
|
kind: "javascript",
|
|
3203
3280
|
sample(e) {
|
|
3204
|
-
return
|
|
3281
|
+
return Bi(e.x, e.y, e.strategy, e.targetPointCount);
|
|
3205
3282
|
}
|
|
3206
|
-
},
|
|
3207
|
-
function
|
|
3283
|
+
}, Hi = 8 * 1024 * 1024;
|
|
3284
|
+
function Ui(e, t) {
|
|
3208
3285
|
return t === 0 ? 0 : Number.isFinite(e) ? Math.min(t, Math.max(1, Math.floor(e))) : t;
|
|
3209
3286
|
}
|
|
3210
|
-
function
|
|
3287
|
+
function Wi(e, t, n, r) {
|
|
3211
3288
|
let i = r - n;
|
|
3212
3289
|
return {
|
|
3213
3290
|
start: n + Math.floor(e * i / t),
|
|
3214
3291
|
end: n + Math.floor((e + 1) * i / t)
|
|
3215
3292
|
};
|
|
3216
3293
|
}
|
|
3217
|
-
function
|
|
3294
|
+
function Gi(e, t) {
|
|
3218
3295
|
e[e.length - 1] !== t && e.push(t);
|
|
3219
3296
|
}
|
|
3220
|
-
function
|
|
3297
|
+
function Ki(e) {
|
|
3221
3298
|
return "minimumIndexes" in e ? e.minimumIndexes.byteLength + e.maximumIndexes.byteLength : e.x.byteLength + e.y.byteLength + e.count.byteLength;
|
|
3222
3299
|
}
|
|
3223
|
-
function
|
|
3300
|
+
function qi(e, t) {
|
|
3224
3301
|
let n = 1;
|
|
3225
3302
|
for (; n * 2 <= t && e % (n * 2) == 0;) n *= 2;
|
|
3226
3303
|
return n;
|
|
3227
3304
|
}
|
|
3228
|
-
var
|
|
3305
|
+
var Ji = class {
|
|
3229
3306
|
points;
|
|
3230
3307
|
extremaLayers = [];
|
|
3231
3308
|
sumLayers = [];
|
|
3232
3309
|
indexBytes = 0;
|
|
3233
3310
|
maxBytes;
|
|
3234
3311
|
constructor(e, t = {}) {
|
|
3235
|
-
this.points = e, this.maxBytes = Number.isFinite(t.maxBytes) ? Math.max(0, Math.floor(t.maxBytes ?? 0)) :
|
|
3312
|
+
this.points = e, this.maxBytes = Number.isFinite(t.maxBytes) ? Math.max(0, Math.floor(t.maxBytes ?? 0)) : Hi;
|
|
3236
3313
|
}
|
|
3237
3314
|
get byteLength() {
|
|
3238
3315
|
return this.indexBytes;
|
|
@@ -3241,7 +3318,7 @@ var Ri = class {
|
|
|
3241
3318
|
this.extremaLayers.length = 0, this.sumLayers.length = 0, this.indexBytes = 0;
|
|
3242
3319
|
}
|
|
3243
3320
|
sample(e, t, n, r) {
|
|
3244
|
-
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 =
|
|
3321
|
+
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 = Ui(r, o);
|
|
3245
3322
|
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);
|
|
3246
3323
|
}
|
|
3247
3324
|
allIndexes(e, t) {
|
|
@@ -3261,24 +3338,24 @@ var Ri = class {
|
|
|
3261
3338
|
if (i === 0) return this.indexes([e, t - 1]);
|
|
3262
3339
|
let a = [e];
|
|
3263
3340
|
for (let n = 0; n < i; n += 1) {
|
|
3264
|
-
let o =
|
|
3341
|
+
let o = Wi(n, i, e + 1, t - 1), s = this.queryExtrema(o.start, o.end);
|
|
3265
3342
|
if (!s) return;
|
|
3266
|
-
if (r === "min")
|
|
3267
|
-
else if (r === "max")
|
|
3268
|
-
else if (r === "minmax") s.minimum <= s.maximum ? (
|
|
3343
|
+
if (r === "min") Gi(a, s.minimum);
|
|
3344
|
+
else if (r === "max") Gi(a, s.maximum);
|
|
3345
|
+
else if (r === "minmax") s.minimum <= s.maximum ? (Gi(a, s.minimum), Gi(a, s.maximum)) : (Gi(a, s.maximum), Gi(a, s.minimum));
|
|
3269
3346
|
else for (let e of [
|
|
3270
3347
|
o.start,
|
|
3271
3348
|
s.minimum,
|
|
3272
3349
|
s.maximum,
|
|
3273
3350
|
o.end - 1
|
|
3274
|
-
].sort((e, t) => e - t))
|
|
3351
|
+
].sort((e, t) => e - t)) Gi(a, e);
|
|
3275
3352
|
}
|
|
3276
|
-
return
|
|
3353
|
+
return Gi(a, t - 1), this.indexes(a);
|
|
3277
3354
|
}
|
|
3278
3355
|
aggregate(e, t, n, r) {
|
|
3279
3356
|
let i = new Float64Array(n), a = new Float64Array(n);
|
|
3280
3357
|
for (let o = 0; o < n; o += 1) {
|
|
3281
|
-
let s =
|
|
3358
|
+
let s = Wi(o, n, e, t), c = this.querySum(s.start, s.end);
|
|
3282
3359
|
if (!c || c.count === 0) return;
|
|
3283
3360
|
i[o] = c.x / c.count, a[o] = r === "average" ? c.y / c.count : c.y;
|
|
3284
3361
|
}
|
|
@@ -3293,7 +3370,7 @@ var Ri = class {
|
|
|
3293
3370
|
if (!this.ensureExtrema(n)) return;
|
|
3294
3371
|
let r = e, i = e;
|
|
3295
3372
|
for (let n = e; n < t;) {
|
|
3296
|
-
let e =
|
|
3373
|
+
let e = qi(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;
|
|
3297
3374
|
this.isMinimum(c, r) && (r = c), this.isMaximum(l, i) && (i = l), n += e;
|
|
3298
3375
|
}
|
|
3299
3376
|
return {
|
|
@@ -3306,7 +3383,7 @@ var Ri = class {
|
|
|
3306
3383
|
if (!this.ensureSum(n)) return;
|
|
3307
3384
|
let r = 0, i = 0, a = 0;
|
|
3308
3385
|
for (let n = e; n < t;) {
|
|
3309
|
-
let e =
|
|
3386
|
+
let e = qi(n, t - n), o = Math.floor(Math.log2(e)), s = n / e, c = this.sumLayers[o];
|
|
3310
3387
|
if (c) r += c.x[s], i += c.y[s], a += c.count[s];
|
|
3311
3388
|
else {
|
|
3312
3389
|
let e = this.points[n];
|
|
@@ -3327,7 +3404,7 @@ var Ri = class {
|
|
|
3327
3404
|
minimumIndexes: new Uint32Array(e),
|
|
3328
3405
|
maximumIndexes: new Uint32Array(e)
|
|
3329
3406
|
};
|
|
3330
|
-
if (!this.reserve(
|
|
3407
|
+
if (!this.reserve(Ki(n))) return !1;
|
|
3331
3408
|
let r = this.extremaLayers[t - 1];
|
|
3332
3409
|
for (let t = 0; t < e; t += 1) {
|
|
3333
3410
|
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;
|
|
@@ -3345,7 +3422,7 @@ var Ri = class {
|
|
|
3345
3422
|
y: new Float64Array(e),
|
|
3346
3423
|
count: new Uint32Array(e)
|
|
3347
3424
|
};
|
|
3348
|
-
if (!this.reserve(
|
|
3425
|
+
if (!this.reserve(Ki(n))) return !1;
|
|
3349
3426
|
let r = this.sumLayers[t - 1];
|
|
3350
3427
|
for (let t = 0; t < e; t += 1) {
|
|
3351
3428
|
let e = t * 2, i = e + 1;
|
|
@@ -3370,8 +3447,8 @@ var Ri = class {
|
|
|
3370
3447
|
let n = this.points[e], r = this.points[t];
|
|
3371
3448
|
return n.y > r.y || n.y === r.y && e < t;
|
|
3372
3449
|
}
|
|
3373
|
-
},
|
|
3374
|
-
function
|
|
3450
|
+
}, Yi = 1e3, Xi = I((e) => e.x);
|
|
3451
|
+
function Zi(e) {
|
|
3375
3452
|
let t = [], n = !0, r = -Infinity;
|
|
3376
3453
|
for (let i of e) !Number.isFinite(i.x) || !Number.isFinite(i.y) || (i.x < r && (n = !1), r = i.x, t.push({
|
|
3377
3454
|
x: i.x,
|
|
@@ -3382,7 +3459,7 @@ function Vi(e) {
|
|
|
3382
3459
|
}));
|
|
3383
3460
|
return n || t.sort((e, t) => e.x - t.x), t;
|
|
3384
3461
|
}
|
|
3385
|
-
function
|
|
3462
|
+
function Qi(e, t) {
|
|
3386
3463
|
let n = Infinity, r = -Infinity, i = Infinity, a = -Infinity;
|
|
3387
3464
|
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);
|
|
3388
3465
|
return {
|
|
@@ -3392,7 +3469,7 @@ function Hi(e, t) {
|
|
|
3392
3469
|
yDomain: e.length ? [i, a] : null
|
|
3393
3470
|
};
|
|
3394
3471
|
}
|
|
3395
|
-
function
|
|
3472
|
+
function $i(e, t, n = e.length) {
|
|
3396
3473
|
let r = Infinity, i = -Infinity, a = Infinity, o = -Infinity;
|
|
3397
3474
|
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]);
|
|
3398
3475
|
return {
|
|
@@ -3402,39 +3479,39 @@ function Ui(e, t, n = e.length) {
|
|
|
3402
3479
|
yDomain: e.length ? [a, o] : null
|
|
3403
3480
|
};
|
|
3404
3481
|
}
|
|
3405
|
-
function
|
|
3482
|
+
function ea(e, t) {
|
|
3406
3483
|
return e ? e.revision === t ? "ok" : "stale-revision" : "not-found";
|
|
3407
3484
|
}
|
|
3408
|
-
function
|
|
3485
|
+
function ta(e) {
|
|
3409
3486
|
return e === "auto" ? "peak" : e;
|
|
3410
3487
|
}
|
|
3411
|
-
function
|
|
3488
|
+
function na(e) {
|
|
3412
3489
|
if (Number.isFinite(e.maxPointCount) && (e.maxPointCount ?? 0) >= 1) return Math.floor(e.maxPointCount);
|
|
3413
3490
|
let t = Number.isFinite(e.plotWidth) ? Math.max(0, e.plotWidth) : 0, n = Number.isFinite(e.maxPointsPerPixel) ? Math.max(0, e.maxPointsPerPixel ?? 0) : 4;
|
|
3414
3491
|
return Math.max(1, Math.floor(t * n));
|
|
3415
3492
|
}
|
|
3416
|
-
function
|
|
3493
|
+
function ra(e, t) {
|
|
3417
3494
|
if (e.mode === "raw") return !0;
|
|
3418
3495
|
if (e.mode !== "auto") return !1;
|
|
3419
|
-
let n = Number.isFinite(e.autoThreshold) ? Math.max(1, Math.floor(e.autoThreshold ?? 0)) :
|
|
3496
|
+
let n = Number.isFinite(e.autoThreshold) ? Math.max(1, Math.floor(e.autoThreshold ?? 0)) : Yi;
|
|
3420
3497
|
if (!e.previousSelectedMode) return t <= n;
|
|
3421
3498
|
let r = Number.isFinite(e.autoHysteresis) ? Math.max(0, Math.floor(e.autoHysteresis ?? 0)) : 0;
|
|
3422
3499
|
return e.previousSelectedMode === "raw" ? t <= n + r : t <= Math.max(0, n - r);
|
|
3423
3500
|
}
|
|
3424
|
-
function
|
|
3501
|
+
function ia(e, t) {
|
|
3425
3502
|
let n = e[0], r = e.at(-1);
|
|
3426
|
-
return Number.isFinite(t) && n && r && t >= n.x && t <= r.x ? e[
|
|
3503
|
+
return Number.isFinite(t) && n && r && t >= n.x && t <= r.x ? e[Xi.center(e, t)] : void 0;
|
|
3427
3504
|
}
|
|
3428
|
-
function
|
|
3505
|
+
function aa(e) {
|
|
3429
3506
|
return e ? e.kind === "source-indexes" ? e.sourceIndexes.length : e.x.length : 0;
|
|
3430
3507
|
}
|
|
3431
|
-
function
|
|
3508
|
+
function oa(e, t) {
|
|
3432
3509
|
return e.kind === "aggregates" ? e : {
|
|
3433
3510
|
kind: "source-indexes",
|
|
3434
3511
|
sourceIndexes: Uint32Array.from(e.sourceIndexes, (e) => e + t)
|
|
3435
3512
|
};
|
|
3436
3513
|
}
|
|
3437
|
-
function
|
|
3514
|
+
function sa(e, t, n, r, i) {
|
|
3438
3515
|
return [
|
|
3439
3516
|
e.datasetId,
|
|
3440
3517
|
e.revision,
|
|
@@ -3454,14 +3531,14 @@ function Zi(e, t, n, r, i) {
|
|
|
3454
3531
|
e.errorBarMinSpacing ?? 0
|
|
3455
3532
|
].join("\0");
|
|
3456
3533
|
}
|
|
3457
|
-
function
|
|
3534
|
+
function ca(e, t, n, r, i, a, o, s) {
|
|
3458
3535
|
return {
|
|
3459
3536
|
seriesId: e.seriesId,
|
|
3460
3537
|
datasetId: e.datasetId,
|
|
3461
3538
|
mode: e.mode,
|
|
3462
3539
|
selectedMode: i,
|
|
3463
3540
|
backend: r,
|
|
3464
|
-
strategy:
|
|
3541
|
+
strategy: ta(e.strategy),
|
|
3465
3542
|
sourcePointCount: t,
|
|
3466
3543
|
visiblePointCount: n,
|
|
3467
3544
|
renderedPointCount: o,
|
|
@@ -3477,18 +3554,18 @@ function Qi(e, t, n, r, i, a, o, s) {
|
|
|
3477
3554
|
}
|
|
3478
3555
|
//#endregion
|
|
3479
3556
|
//#region src/core/workerSampling/repositoryDataset.ts
|
|
3480
|
-
function
|
|
3557
|
+
function la(e) {
|
|
3481
3558
|
return e?.y.length ?? 0;
|
|
3482
3559
|
}
|
|
3483
|
-
function
|
|
3560
|
+
function ua(e, t) {
|
|
3484
3561
|
return e.x ? e.x[t] : e.sampleStartTime + (e.sampleSourceIndexes?.[t] ?? t) / e.sampleRate;
|
|
3485
3562
|
}
|
|
3486
|
-
function
|
|
3563
|
+
function da(e, t) {
|
|
3487
3564
|
let n = (t, n) => {
|
|
3488
|
-
let r = 0, i =
|
|
3565
|
+
let r = 0, i = la(e);
|
|
3489
3566
|
for (; r < i;) {
|
|
3490
3567
|
let a = r + Math.floor((i - r) / 2);
|
|
3491
|
-
(n ?
|
|
3568
|
+
(n ? ua(e, a) <= t : ua(e, a) < t) ? r = a + 1 : i = a;
|
|
3492
3569
|
}
|
|
3493
3570
|
return r;
|
|
3494
3571
|
}, r = Math.min(t[0], t[1]), i = Math.max(t[0], t[1]);
|
|
@@ -3497,13 +3574,13 @@ function ta(e, t) {
|
|
|
3497
3574
|
end: n(i, !0)
|
|
3498
3575
|
};
|
|
3499
3576
|
}
|
|
3500
|
-
function
|
|
3501
|
-
return e.x ? e.x.subarray(t, n) : Float64Array.from({ length: n - t }, (n, r) =>
|
|
3577
|
+
function fa(e, t, n) {
|
|
3578
|
+
return e.x ? e.x.subarray(t, n) : Float64Array.from({ length: n - t }, (n, r) => ua(e, t + r));
|
|
3502
3579
|
}
|
|
3503
|
-
function
|
|
3580
|
+
function pa(e) {
|
|
3504
3581
|
return e?.kind === "wasm" && "registerDataset" in e && "disposeDataset" in e && "disposeAllDatasets" in e && "datasetIndexBytes" in e && "registerSamples" in e && "sampleDataset" in e;
|
|
3505
3582
|
}
|
|
3506
|
-
function
|
|
3583
|
+
function ma(e, t) {
|
|
3507
3584
|
let n = [], r = Math.min(e.length, t.length);
|
|
3508
3585
|
for (let i = 0; i < r; i += 1) Number.isFinite(e[i]) && Number.isFinite(t[i]) && n.push(i);
|
|
3509
3586
|
return n.sort((t, n) => e[t] - e[n] || t - n), {
|
|
@@ -3511,14 +3588,14 @@ function ia(e, t) {
|
|
|
3511
3588
|
y: Float64Array.from(n, (e) => t[e])
|
|
3512
3589
|
};
|
|
3513
3590
|
}
|
|
3514
|
-
function
|
|
3591
|
+
function ha(e, t, n, r) {
|
|
3515
3592
|
if (t?.kind === "typed") {
|
|
3516
|
-
let e =
|
|
3593
|
+
let e = ma(t.x, t.y);
|
|
3517
3594
|
return {
|
|
3518
3595
|
x: e.x,
|
|
3519
3596
|
y: e.y,
|
|
3520
3597
|
revision: n,
|
|
3521
|
-
metrics:
|
|
3598
|
+
metrics: $i(e.x, e.y, Math.max(t.x.length, t.y.length))
|
|
3522
3599
|
};
|
|
3523
3600
|
}
|
|
3524
3601
|
if (t?.kind === "samples") {
|
|
@@ -3552,35 +3629,35 @@ function aa(e, t, n, r) {
|
|
|
3552
3629
|
}
|
|
3553
3630
|
};
|
|
3554
3631
|
}
|
|
3555
|
-
let i =
|
|
3632
|
+
let i = Zi(e ?? t?.points ?? []);
|
|
3556
3633
|
return {
|
|
3557
3634
|
x: Float64Array.from(i, (e) => e.x),
|
|
3558
3635
|
y: Float64Array.from(i, (e) => e.y),
|
|
3559
3636
|
points: i,
|
|
3560
3637
|
revision: n,
|
|
3561
|
-
metrics:
|
|
3562
|
-
index: new
|
|
3638
|
+
metrics: Qi(i, e?.length ?? t?.points.length ?? 0),
|
|
3639
|
+
index: new Ji(i, { maxBytes: r })
|
|
3563
3640
|
};
|
|
3564
3641
|
}
|
|
3565
|
-
function
|
|
3566
|
-
!
|
|
3642
|
+
function ga(e, t, n) {
|
|
3643
|
+
!pa(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));
|
|
3567
3644
|
}
|
|
3568
|
-
function
|
|
3569
|
-
t.index?.dispose(), t.wasmDatasetHandle !== void 0 &&
|
|
3645
|
+
function _a(e, t) {
|
|
3646
|
+
t.index?.dispose(), t.wasmDatasetHandle !== void 0 && pa(e) && e.disposeDataset(t.wasmDatasetHandle);
|
|
3570
3647
|
}
|
|
3571
3648
|
//#endregion
|
|
3572
3649
|
//#region src/core/workerSampling/samplingCache.ts
|
|
3573
|
-
var
|
|
3574
|
-
function
|
|
3650
|
+
var va = 96, ya = 16 * 1024 * 1024;
|
|
3651
|
+
function ba(e) {
|
|
3575
3652
|
return e.kind === "source-indexes" ? e.sourceIndexes.byteLength : e.x.byteLength + e.y.byteLength;
|
|
3576
3653
|
}
|
|
3577
|
-
var
|
|
3654
|
+
var xa = class {
|
|
3578
3655
|
entries = /* @__PURE__ */ new Map();
|
|
3579
3656
|
bytes = 0;
|
|
3580
3657
|
maxEntries;
|
|
3581
3658
|
maxBytes;
|
|
3582
3659
|
constructor(e = {}) {
|
|
3583
|
-
this.maxEntries = Number.isFinite(e.maxEntries) ? Math.max(0, Math.floor(e.maxEntries ?? 0)) :
|
|
3660
|
+
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)) : ya;
|
|
3584
3661
|
}
|
|
3585
3662
|
get metrics() {
|
|
3586
3663
|
return {
|
|
@@ -3595,7 +3672,7 @@ var da = class {
|
|
|
3595
3672
|
if (t) return this.entries.delete(e), this.entries.set(e, t), t.output;
|
|
3596
3673
|
}
|
|
3597
3674
|
set(e, t) {
|
|
3598
|
-
let n =
|
|
3675
|
+
let n = ba(t);
|
|
3599
3676
|
if (n > this.maxBytes || this.maxEntries === 0) return;
|
|
3600
3677
|
let r = this.entries.get(e);
|
|
3601
3678
|
for (r && (this.bytes -= r.bytes, this.entries.delete(e)), this.entries.set(e, {
|
|
@@ -3615,14 +3692,14 @@ var da = class {
|
|
|
3615
3692
|
clear() {
|
|
3616
3693
|
this.entries.clear(), this.bytes = 0;
|
|
3617
3694
|
}
|
|
3618
|
-
},
|
|
3695
|
+
}, Sa = class {
|
|
3619
3696
|
datasets = /* @__PURE__ */ new Map();
|
|
3620
3697
|
javascriptBackend;
|
|
3621
3698
|
cache;
|
|
3622
3699
|
indexMaxBytes;
|
|
3623
3700
|
wasmBackend;
|
|
3624
3701
|
constructor(e = {}) {
|
|
3625
|
-
this.javascriptBackend = e.javascriptBackend ??
|
|
3702
|
+
this.javascriptBackend = e.javascriptBackend ?? Vi, this.wasmBackend = e.wasmBackend, this.indexMaxBytes = e.indexMaxBytes, this.cache = new xa({
|
|
3626
3703
|
maxEntries: e.cacheMaxEntries,
|
|
3627
3704
|
maxBytes: e.cacheMaxBytes
|
|
3628
3705
|
});
|
|
@@ -3635,9 +3712,9 @@ var da = class {
|
|
|
3635
3712
|
};
|
|
3636
3713
|
}
|
|
3637
3714
|
setWasmBackend(e) {
|
|
3638
|
-
this.wasmBackend && this.wasmBackend !== e &&
|
|
3715
|
+
this.wasmBackend && this.wasmBackend !== e && pa(this.wasmBackend) && (this.wasmBackend.disposeAllDatasets(), this.datasets.forEach((e) => {
|
|
3639
3716
|
e.wasmDatasetHandle = void 0, e.wasmIndexBytes = void 0;
|
|
3640
|
-
})), this.wasmBackend = e,
|
|
3717
|
+
})), this.wasmBackend = e, pa(e) && this.datasets.forEach((t) => ga(e, t, this.indexMaxBytes));
|
|
3641
3718
|
}
|
|
3642
3719
|
handle(e) {
|
|
3643
3720
|
switch (e.type) {
|
|
@@ -3653,15 +3730,15 @@ var da = class {
|
|
|
3653
3730
|
register(e, t, n, r) {
|
|
3654
3731
|
let i = this.datasets.get(e);
|
|
3655
3732
|
if (i) return this.datasetResponse(t, e, i, "stale-revision");
|
|
3656
|
-
let a =
|
|
3657
|
-
return
|
|
3733
|
+
let a = ha(n, r, 1, this.indexMaxBytes);
|
|
3734
|
+
return ga(this.wasmBackend, a, this.indexMaxBytes), this.datasets.set(e, a), this.datasetResponse(t, e, a, "ok");
|
|
3658
3735
|
}
|
|
3659
3736
|
replace(e, t, n, r, i) {
|
|
3660
|
-
let a = this.datasets.get(e), o =
|
|
3737
|
+
let a = this.datasets.get(e), o = ea(a, n);
|
|
3661
3738
|
if (o !== "ok" || !a) return this.datasetResponse(t, e, a, o);
|
|
3662
|
-
|
|
3663
|
-
let s =
|
|
3664
|
-
return
|
|
3739
|
+
_a(this.wasmBackend, a), this.cache.deleteDataset(e);
|
|
3740
|
+
let s = ha(r, i, a.revision + 1, this.indexMaxBytes);
|
|
3741
|
+
return ga(this.wasmBackend, s, this.indexMaxBytes), this.datasets.set(e, s), this.datasetResponse(t, e, s, "ok");
|
|
3665
3742
|
}
|
|
3666
3743
|
sample(e) {
|
|
3667
3744
|
return {
|
|
@@ -3671,28 +3748,28 @@ var da = class {
|
|
|
3671
3748
|
};
|
|
3672
3749
|
}
|
|
3673
3750
|
sampleSeries(e, t) {
|
|
3674
|
-
let n = performance.now(), r = this.datasets.get(t.datasetId), i =
|
|
3751
|
+
let n = performance.now(), r = this.datasets.get(t.datasetId), i = ea(r, t.revision);
|
|
3675
3752
|
if (i !== "ok" || !r) return this.sampleResponse(e, t, i, void 0, "unavailable", "sampled", 0, n, !1);
|
|
3676
|
-
let a =
|
|
3677
|
-
if (
|
|
3753
|
+
let a = da(r, t.xDomain), o = a.end - a.start;
|
|
3754
|
+
if (ra(t, o)) return this.sampleResponse(e, t, "ok", {
|
|
3678
3755
|
kind: "source-indexes",
|
|
3679
3756
|
sourceIndexes: Uint32Array.from({ length: o }, (e, t) => a.start + t)
|
|
3680
3757
|
}, "raw", "raw", o, n, !1);
|
|
3681
3758
|
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);
|
|
3682
3759
|
if (!l) return this.sampleResponse(e, t, "wasm-unavailable", void 0, "unavailable", "sampled", o, n, !1);
|
|
3683
|
-
let u =
|
|
3760
|
+
let u = ta(t.strategy), d = na(t), f = sa(t, a, u, d, l.kind), p = this.cache.get(f);
|
|
3684
3761
|
if (p) return this.sampleResponse(e, t, c ? "wasm-unavailable" : "ok", p, l.kind, "sampled", o, n, !0);
|
|
3685
|
-
let m = (l.kind === "wasm" ? r.wasmDatasetHandle !== void 0 &&
|
|
3686
|
-
x:
|
|
3762
|
+
let m = (l.kind === "wasm" ? r.wasmDatasetHandle !== void 0 && pa(l) ? l.sampleDataset(r.wasmDatasetHandle, a.start, a.end, u, d) : void 0 : r.index?.sample(a.start, a.end, u, d)) ?? oa(l.sample({
|
|
3763
|
+
x: fa(r, a.start, a.end),
|
|
3687
3764
|
y: r.y.subarray(a.start, a.end),
|
|
3688
3765
|
points: r.points?.slice(a.start, a.end) ?? [],
|
|
3689
3766
|
strategy: u,
|
|
3690
3767
|
targetPointCount: d
|
|
3691
3768
|
}), a.start);
|
|
3692
|
-
return this.cache.set(f, m), r.wasmDatasetHandle !== void 0 &&
|
|
3769
|
+
return this.cache.set(f, m), r.wasmDatasetHandle !== void 0 && pa(l) && (r.wasmIndexBytes = l.datasetIndexBytes(r.wasmDatasetHandle)), this.sampleResponse(e, t, c ? "wasm-unavailable" : "ok", m, l.kind, "sampled", o, n, !1);
|
|
3693
3770
|
}
|
|
3694
3771
|
sampleResponse(e, t, n, r, i, a, o, s, c) {
|
|
3695
|
-
let l =
|
|
3772
|
+
let l = ca(t, la(this.datasets.get(t.datasetId)), o, i, a, performance.now() - s, aa(r), c);
|
|
3696
3773
|
return l.requestId = e, {
|
|
3697
3774
|
seriesId: t.seriesId,
|
|
3698
3775
|
datasetId: t.datasetId,
|
|
@@ -3703,7 +3780,7 @@ var da = class {
|
|
|
3703
3780
|
};
|
|
3704
3781
|
}
|
|
3705
3782
|
findNearest(e, t, n, r) {
|
|
3706
|
-
let i = this.datasets.get(e), a =
|
|
3783
|
+
let i = this.datasets.get(e), a = ea(i, n);
|
|
3707
3784
|
return a !== "ok" || !i ? {
|
|
3708
3785
|
type: "find-nearest-point-response",
|
|
3709
3786
|
requestId: t,
|
|
@@ -3716,12 +3793,12 @@ var da = class {
|
|
|
3716
3793
|
datasetId: e,
|
|
3717
3794
|
revision: n,
|
|
3718
3795
|
status: a,
|
|
3719
|
-
point: i.points ?
|
|
3720
|
-
let e =
|
|
3721
|
-
if (
|
|
3722
|
-
let t = Math.min(
|
|
3723
|
-
return Number.isFinite(r) &&
|
|
3724
|
-
x:
|
|
3796
|
+
point: i.points ? ia(i.points, r) : (() => {
|
|
3797
|
+
let e = da(i, [r, r]);
|
|
3798
|
+
if (!la(i) || r < ua(i, 0) || r > ua(i, la(i) - 1)) return;
|
|
3799
|
+
let t = Math.min(la(i) - 1, e.start), n = Math.max(0, t - 1), a = Math.abs(r - ua(i, n)) < Math.abs(ua(i, t) - r) ? n : t;
|
|
3800
|
+
return Number.isFinite(r) && la(i) ? {
|
|
3801
|
+
x: ua(i, a),
|
|
3725
3802
|
y: i.y[a]
|
|
3726
3803
|
} : void 0;
|
|
3727
3804
|
})()
|
|
@@ -3729,15 +3806,15 @@ var da = class {
|
|
|
3729
3806
|
}
|
|
3730
3807
|
metrics(e, t, n) {
|
|
3731
3808
|
let r = this.datasets.get(e);
|
|
3732
|
-
return this.datasetResponse(t, e, r,
|
|
3809
|
+
return this.datasetResponse(t, e, r, ea(r, n));
|
|
3733
3810
|
}
|
|
3734
3811
|
dispose(e, t, n) {
|
|
3735
|
-
let r = this.datasets.get(e), i =
|
|
3736
|
-
return i === "ok" && r && (
|
|
3812
|
+
let r = this.datasets.get(e), i = ea(r, n);
|
|
3813
|
+
return i === "ok" && r && (_a(this.wasmBackend, r), this.cache.deleteDataset(e), this.datasets.delete(e)), this.datasetResponse(t, e, r, i);
|
|
3737
3814
|
}
|
|
3738
3815
|
disposeAll(e) {
|
|
3739
3816
|
let t = [...this.datasets.keys()];
|
|
3740
|
-
return this.datasets.forEach((e) =>
|
|
3817
|
+
return this.datasets.forEach((e) => _a(this.wasmBackend, e)), pa(this.wasmBackend) && this.wasmBackend.disposeAllDatasets(), this.datasets.clear(), this.cache.clear(), {
|
|
3741
3818
|
type: "dispose-all-response",
|
|
3742
3819
|
requestId: e,
|
|
3743
3820
|
disposedDatasetIds: t
|
|
@@ -3759,10 +3836,10 @@ var da = class {
|
|
|
3759
3836
|
};
|
|
3760
3837
|
//#endregion
|
|
3761
3838
|
//#region src/components/core/latestTaskScheduler.ts
|
|
3762
|
-
function
|
|
3839
|
+
function Ca(e, t, n, r) {
|
|
3763
3840
|
return r ? r === "raw" ? e <= t + n ? "raw" : "sampled" : e <= Math.max(0, t - n) ? "raw" : "sampled" : e <= t ? "raw" : "sampled";
|
|
3764
3841
|
}
|
|
3765
|
-
function
|
|
3842
|
+
function wa() {
|
|
3766
3843
|
let e = 0, t = !1, n, r = !1, i = {
|
|
3767
3844
|
scheduled: 0,
|
|
3768
3845
|
coalesced: 0,
|
|
@@ -3801,12 +3878,12 @@ function ma() {
|
|
|
3801
3878
|
}
|
|
3802
3879
|
//#endregion
|
|
3803
3880
|
//#region src/components/core/workerSamplingClient.ts
|
|
3804
|
-
function
|
|
3881
|
+
function Ta(e) {
|
|
3805
3882
|
return e?.message || "Web Worker is unavailable; JavaScript sampling is being used.";
|
|
3806
3883
|
}
|
|
3807
|
-
function
|
|
3884
|
+
function Ea() {
|
|
3808
3885
|
let e, t, n, r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map(), a = () => {
|
|
3809
|
-
t ??= new
|
|
3886
|
+
t ??= new Sa();
|
|
3810
3887
|
for (let [e, n] of i) {
|
|
3811
3888
|
t.handle({
|
|
3812
3889
|
type: "register-dataset",
|
|
@@ -3842,7 +3919,7 @@ function ga() {
|
|
|
3842
3919
|
let t = a();
|
|
3843
3920
|
e.forEach(({ request: e, resolve: n }) => n(t.handle(e)));
|
|
3844
3921
|
}, c = (r) => {
|
|
3845
|
-
t || (n =
|
|
3922
|
+
t || (n = Ta(r), e?.terminate(), e = void 0, s());
|
|
3846
3923
|
};
|
|
3847
3924
|
try {
|
|
3848
3925
|
typeof Worker > "u" ? c() : (e = new Worker(new URL(
|
|
@@ -3879,20 +3956,20 @@ function ga() {
|
|
|
3879
3956
|
}
|
|
3880
3957
|
};
|
|
3881
3958
|
}
|
|
3882
|
-
function
|
|
3959
|
+
function Da(e) {
|
|
3883
3960
|
return e.type === "dataset-response";
|
|
3884
3961
|
}
|
|
3885
3962
|
//#endregion
|
|
3886
3963
|
//#region src/components/core/useWaveformRenderSampling.ts
|
|
3887
|
-
var
|
|
3888
|
-
function
|
|
3964
|
+
var Oa = 120;
|
|
3965
|
+
function ka(e, t) {
|
|
3889
3966
|
let n = e.output;
|
|
3890
3967
|
if (n) return n.kind === "aggregates" ? Array.from(n.x, (e, t) => ({
|
|
3891
3968
|
x: e,
|
|
3892
3969
|
y: n.y[t]
|
|
3893
3970
|
})) : Array.from(n.sourceIndexes, (e) => t.pointAt(e)).filter((e) => e !== void 0);
|
|
3894
3971
|
}
|
|
3895
|
-
function
|
|
3972
|
+
function Aa(e, t) {
|
|
3896
3973
|
let n = e.request, r = e.visibleRange.end - e.visibleRange.start;
|
|
3897
3974
|
return {
|
|
3898
3975
|
seriesId: n.seriesId,
|
|
@@ -3914,7 +3991,7 @@ function ba(e, t) {
|
|
|
3914
3991
|
maxPendingRequestCount: 0
|
|
3915
3992
|
};
|
|
3916
3993
|
}
|
|
3917
|
-
function
|
|
3994
|
+
function ja(e) {
|
|
3918
3995
|
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));
|
|
3919
3996
|
if (i <= a) return t.pointsInRange(n, r);
|
|
3920
3997
|
if (a === 1) return t.pointAt(n) ? [t.pointAt(n)] : [];
|
|
@@ -3925,7 +4002,7 @@ function xa(e) {
|
|
|
3925
4002
|
}
|
|
3926
4003
|
return o;
|
|
3927
4004
|
}
|
|
3928
|
-
function
|
|
4005
|
+
function Ma(e, t, n, r) {
|
|
3929
4006
|
return {
|
|
3930
4007
|
message: e,
|
|
3931
4008
|
mode: t,
|
|
@@ -3933,8 +4010,8 @@ function Sa(e, t, n, r) {
|
|
|
3933
4010
|
seriesIds: r
|
|
3934
4011
|
};
|
|
3935
4012
|
}
|
|
3936
|
-
function
|
|
3937
|
-
let n = C(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 =
|
|
4013
|
+
function Na(e) {
|
|
4014
|
+
let n = C(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 = wa(), d, f, p = !1, m = t(() => {
|
|
3938
4015
|
let t = e.renderingOptions.value.sampling;
|
|
3939
4016
|
return e.sourceTrackLayouts.value.flatMap((n) => {
|
|
3940
4017
|
let r = n.xScale.domain();
|
|
@@ -3999,13 +4076,13 @@ function Ca(e) {
|
|
|
3999
4076
|
revision: 0,
|
|
4000
4077
|
dataset: t.source.toWorkerDataset()
|
|
4001
4078
|
});
|
|
4002
|
-
!u.isCurrent(n) || !
|
|
4079
|
+
!u.isCurrent(n) || !Da(r) || r.status !== "ok" && r.status !== "stale-revision" || a.set(t.request.datasetId, r.revision);
|
|
4003
4080
|
}));
|
|
4004
4081
|
}, x = async (t, n = !1) => {
|
|
4005
4082
|
let o = m.value, c = { ...e.linePointOverrides.value }, l = [], d = [];
|
|
4006
4083
|
if (o.forEach((e) => {
|
|
4007
|
-
let r = e.visibleRange.end - e.visibleRange.start, i = n ? s.get(e.series.id) : void 0, a = e.request.mode === "auto" &&
|
|
4008
|
-
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(
|
|
4084
|
+
let r = e.visibleRange.end - e.visibleRange.start, i = n ? s.get(e.series.id) : void 0, a = e.request.mode === "auto" && Ca(r, e.request.autoThreshold, e.request.autoHysteresis ?? 0, i) === "raw";
|
|
4085
|
+
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(Aa(e, t))) : (c[e.series.id]?.length || (c[e.series.id] = ja(e)), l.push({
|
|
4009
4086
|
...e,
|
|
4010
4087
|
request: {
|
|
4011
4088
|
...e.request,
|
|
@@ -4017,7 +4094,7 @@ function Ca(e) {
|
|
|
4017
4094
|
e.linePointOverrides.value = c, v(d);
|
|
4018
4095
|
return;
|
|
4019
4096
|
}
|
|
4020
|
-
if (e.linePointOverrides.value = c, r ??=
|
|
4097
|
+
if (e.linePointOverrides.value = c, r ??= Ea(), await b(r, l, t), !u.isCurrent(t)) return;
|
|
4021
4098
|
let f = l.map((e) => ({
|
|
4022
4099
|
...e.request,
|
|
4023
4100
|
revision: a.get(e.request.datasetId) ?? 1
|
|
@@ -4032,22 +4109,22 @@ function Ca(e) {
|
|
|
4032
4109
|
p = e;
|
|
4033
4110
|
} catch (n) {
|
|
4034
4111
|
if (!u.isCurrent(t)) return;
|
|
4035
|
-
y(
|
|
4112
|
+
y(Ma(n instanceof Error ? n.message : String(n), e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id)));
|
|
4036
4113
|
return;
|
|
4037
4114
|
}
|
|
4038
4115
|
if (!u.isCurrent(t)) return;
|
|
4039
4116
|
let h = new Map(l.map((e) => [e.series.id, e.source]));
|
|
4040
4117
|
p.results.forEach((e) => {
|
|
4041
|
-
let t = h.get(e.seriesId), n = t ?
|
|
4042
|
-
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(
|
|
4043
|
-
}), p.workerError && y(
|
|
4118
|
+
let t = h.get(e.seriesId), n = t ? ka(e, t) : void 0;
|
|
4119
|
+
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(Ma(p.workerError ?? "WASM sampling is unavailable.", e.diagnostics.mode, e.diagnostics.backend === "javascript" ? "javascript" : "none", [e.seriesId]));
|
|
4120
|
+
}), p.workerError && y(Ma(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(Ma(r.workerFailureReason, e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id))), e.linePointOverrides.value = { ...c }, v(d);
|
|
4044
4121
|
};
|
|
4045
4122
|
return O(h, () => {
|
|
4046
4123
|
f && clearTimeout(f);
|
|
4047
4124
|
let t = p;
|
|
4048
4125
|
p = !0, u.schedule((e) => x(e, t)), t && e.renderingOptions.value.sampling.mode === "auto" && e.renderingOptions.value.sampling.autoHysteresis > 0 && (f = setTimeout(() => {
|
|
4049
4126
|
f = void 0, u.schedule((e) => x(e, !1));
|
|
4050
|
-
},
|
|
4127
|
+
}, Oa));
|
|
4051
4128
|
}, { immediate: !0 }), O(e.preparedSeries, () => {
|
|
4052
4129
|
u.cancelPending(), n.value += 1, e.linePointOverrides.value = {}, a.clear(), o.clear(), s.clear(), c.clear(), r?.dispose(), r = void 0;
|
|
4053
4130
|
}, { flush: "sync" }), _(() => {
|
|
@@ -4056,11 +4133,11 @@ function Ca(e) {
|
|
|
4056
4133
|
}
|
|
4057
4134
|
//#endregion
|
|
4058
4135
|
//#region src/components/core/useWaveformChartController.ts
|
|
4059
|
-
function
|
|
4136
|
+
function Pa(e, t) {
|
|
4060
4137
|
e.value = t instanceof Element ? t : void 0;
|
|
4061
4138
|
}
|
|
4062
|
-
function
|
|
4063
|
-
let n = b(), r = b(), i = b(), a = b(), o = b(0), s = b(0), c = b(0), l = b(0), u = b(0), f = C(
|
|
4139
|
+
function Fa(e, t) {
|
|
4140
|
+
let n = b(), r = b(), i = b(), a = b(), o = b(0), s = b(0), c = b(0), l = b(0), u = b(0), f = C(q), p = C([]), m = b({}), h = b({}), g = S({
|
|
4064
4141
|
points: [],
|
|
4065
4142
|
trackIndex: null,
|
|
4066
4143
|
queryX: null,
|
|
@@ -4069,11 +4146,13 @@ function Ta(e, t) {
|
|
|
4069
4146
|
x: 0,
|
|
4070
4147
|
y: 0
|
|
4071
4148
|
}
|
|
4072
|
-
}), _ = b(!1), v = b(1), x = C(), w =
|
|
4149
|
+
}), _ = b(!1), v = b(1), x = C(), w = ce("waveform-clip"), E = b(new Set(e.defaultHiddenSeriesIds)), D = mt(), A = C({}), j = b([]), M = Rr();
|
|
4073
4150
|
O([() => e.yDomain, () => e.yDomains], () => {
|
|
4074
4151
|
m.value = {}, h.value = {};
|
|
4075
4152
|
}, { deep: !0 });
|
|
4076
|
-
let N = C(null), P = b(!1), F = b(!1), I = () => void 0, L = () => void 0, R =
|
|
4153
|
+
let N = C(null), P = b(!1), F = b(!1), I = () => void 0, L = () => void 0, R = () => void 0, z = Ur(() => e.data, () => {
|
|
4154
|
+
R(), I();
|
|
4155
|
+
}, () => L()), B = ji({
|
|
4077
4156
|
props: e,
|
|
4078
4157
|
observedWidth: o,
|
|
4079
4158
|
observedHeight: s,
|
|
@@ -4081,110 +4160,112 @@ function Ta(e, t) {
|
|
|
4081
4160
|
measuredTitleHeight: l,
|
|
4082
4161
|
internalHiddenSeriesIds: E,
|
|
4083
4162
|
paginationBandHeight: u
|
|
4084
|
-
}), { chartWidth:
|
|
4163
|
+
}), { chartWidth: V, chartHeight: H, isCleanView: U, isPresentationMode: W, hiddenSeriesIdSet: G, resolvedTitleText: ee, titleAreaReserved: te, titleMeasureStyle: ne, titleAreaHeight: re, chartTopMargin: K, innerHeight: J } = B, ie = Di({
|
|
4085
4164
|
props: e,
|
|
4086
|
-
preparedSeries:
|
|
4165
|
+
preparedSeries: z,
|
|
4087
4166
|
currentPage: v,
|
|
4088
|
-
hiddenSeriesIdSet:
|
|
4089
|
-
chartWidth:
|
|
4090
|
-
innerHeight:
|
|
4091
|
-
isCleanView:
|
|
4167
|
+
hiddenSeriesIdSet: G,
|
|
4168
|
+
chartWidth: V,
|
|
4169
|
+
innerHeight: J,
|
|
4170
|
+
isCleanView: U,
|
|
4092
4171
|
sharedTransform: f,
|
|
4093
4172
|
independentTransforms: p,
|
|
4094
4173
|
sharedYDomains: m,
|
|
4095
4174
|
independentYDomains: h,
|
|
4096
4175
|
annotationInteraction: d(D),
|
|
4097
4176
|
linePointOverrides: A
|
|
4098
|
-
}), { chartSeries: ae, chartTracks: oe, renderingOptions: se, trackLayouts:
|
|
4099
|
-
|
|
4177
|
+
}), { chartSeries: ae, chartTracks: oe, renderingOptions: se, trackLayouts: le, gridOptions: ue, pageCount: Y, pagedTracks: de, resolvedChartLeftMargin: fe, innerWidth: pe, hasChartArea: me, activeInteractionMode: he, isZoomMode: ge, initialXDomain: _e, sharedZoomDomain: ve, resolveInitialTrackDomain: ye, annotationLayoutsForTrack: be, resolveSeriesYScale: xe } = ie;
|
|
4178
|
+
Na({
|
|
4100
4179
|
props: e,
|
|
4101
4180
|
emit: t,
|
|
4102
4181
|
instanceId: w,
|
|
4103
|
-
preparedSeries:
|
|
4104
|
-
sourceTrackLayouts:
|
|
4182
|
+
preparedSeries: z,
|
|
4183
|
+
sourceTrackLayouts: le,
|
|
4105
4184
|
renderingOptions: se,
|
|
4106
4185
|
linePointOverrides: A
|
|
4107
4186
|
}), k(() => {
|
|
4108
|
-
u.value = ue.value.showPagination &&
|
|
4187
|
+
u.value = ue.value.showPagination && Y.value > 1 && V.value <= 520 ? 40 : 0;
|
|
4109
4188
|
});
|
|
4110
|
-
let
|
|
4189
|
+
let X = zr({
|
|
4111
4190
|
props: e,
|
|
4112
4191
|
emit: t,
|
|
4113
4192
|
svgElement: r,
|
|
4114
4193
|
sharedOverlayElement: a,
|
|
4115
4194
|
sharedTransform: f,
|
|
4116
4195
|
independentTransforms: p,
|
|
4117
|
-
trackLayouts:
|
|
4118
|
-
initialXDomain:
|
|
4119
|
-
sharedZoomDomain:
|
|
4120
|
-
innerWidth:
|
|
4121
|
-
innerHeight:
|
|
4122
|
-
hasChartArea:
|
|
4123
|
-
isZoomMode:
|
|
4124
|
-
isPresentationMode:
|
|
4125
|
-
resolveInitialTrackDomain:
|
|
4126
|
-
cancelPendingHover: () =>
|
|
4127
|
-
})
|
|
4196
|
+
trackLayouts: le,
|
|
4197
|
+
initialXDomain: _e,
|
|
4198
|
+
sharedZoomDomain: ve,
|
|
4199
|
+
innerWidth: pe,
|
|
4200
|
+
innerHeight: J,
|
|
4201
|
+
hasChartArea: me,
|
|
4202
|
+
isZoomMode: ge,
|
|
4203
|
+
isPresentationMode: W,
|
|
4204
|
+
resolveInitialTrackDomain: ye,
|
|
4205
|
+
cancelPendingHover: () => we.cancelPendingHover()
|
|
4206
|
+
});
|
|
4207
|
+
R = X.prepareForDataChange;
|
|
4208
|
+
let Se = hr({
|
|
4128
4209
|
props: e,
|
|
4129
4210
|
emit: t,
|
|
4130
4211
|
container: n,
|
|
4131
4212
|
chartSeries: ae,
|
|
4132
|
-
hiddenSeriesIdSet:
|
|
4213
|
+
hiddenSeriesIdSet: G,
|
|
4133
4214
|
internalHiddenSeriesIds: E,
|
|
4134
4215
|
annotationInteraction: D,
|
|
4135
4216
|
editorSeriesOptions: j,
|
|
4136
|
-
trackLayouts:
|
|
4137
|
-
annotationLayoutsForTrack:
|
|
4138
|
-
resolveSeriesYScale:
|
|
4139
|
-
chartWidth:
|
|
4140
|
-
chartHeight:
|
|
4141
|
-
innerWidth:
|
|
4217
|
+
trackLayouts: le,
|
|
4218
|
+
annotationLayoutsForTrack: be,
|
|
4219
|
+
resolveSeriesYScale: xe,
|
|
4220
|
+
chartWidth: V,
|
|
4221
|
+
chartHeight: H,
|
|
4222
|
+
innerWidth: pe,
|
|
4142
4223
|
resolvedChartLeftMargin: fe,
|
|
4143
4224
|
titleAreaHeight: re,
|
|
4144
|
-
chartTopMargin:
|
|
4145
|
-
activeInteractionMode:
|
|
4146
|
-
isPresentationMode:
|
|
4147
|
-
}),
|
|
4225
|
+
chartTopMargin: K,
|
|
4226
|
+
activeInteractionMode: he,
|
|
4227
|
+
isPresentationMode: W
|
|
4228
|
+
}), Ce = Lr({
|
|
4148
4229
|
props: e,
|
|
4149
4230
|
emit: t,
|
|
4150
4231
|
selection: N,
|
|
4151
4232
|
spacePressed: P,
|
|
4152
|
-
trackLayouts:
|
|
4233
|
+
trackLayouts: le,
|
|
4153
4234
|
chartTracks: oe,
|
|
4154
|
-
initialXDomain:
|
|
4155
|
-
innerWidth:
|
|
4156
|
-
innerHeight:
|
|
4235
|
+
initialXDomain: _e,
|
|
4236
|
+
innerWidth: pe,
|
|
4237
|
+
innerHeight: J,
|
|
4157
4238
|
sharedOverlayElement: a,
|
|
4158
4239
|
sharedTransform: f,
|
|
4159
4240
|
independentTransforms: p,
|
|
4160
4241
|
sharedYDomains: m,
|
|
4161
4242
|
independentYDomains: h,
|
|
4162
|
-
isZoomMode:
|
|
4163
|
-
isPresentationMode:
|
|
4243
|
+
isZoomMode: ge,
|
|
4244
|
+
isPresentationMode: W,
|
|
4164
4245
|
editorSeriesOptions: j,
|
|
4165
|
-
resolveInitialTrackDomain:
|
|
4166
|
-
canZoomTrack:
|
|
4167
|
-
canZoomSharedTracks:
|
|
4168
|
-
configureZoom:
|
|
4169
|
-
cancelPendingZoom:
|
|
4170
|
-
clearHover: () =>
|
|
4171
|
-
resolveTrackAtPointer:
|
|
4172
|
-
}),
|
|
4246
|
+
resolveInitialTrackDomain: ye,
|
|
4247
|
+
canZoomTrack: X.canZoomTrack,
|
|
4248
|
+
canZoomSharedTracks: X.canZoomSharedTracks,
|
|
4249
|
+
configureZoom: X.configureZoom,
|
|
4250
|
+
cancelPendingZoom: X.cancelPendingZoom,
|
|
4251
|
+
clearHover: () => we.clearHover(),
|
|
4252
|
+
resolveTrackAtPointer: Se.resolveTrackAtPointer
|
|
4253
|
+
}), we = gr({
|
|
4173
4254
|
emit: t,
|
|
4174
4255
|
hoverState: g,
|
|
4175
4256
|
suppressHoverUntilMove: _,
|
|
4176
4257
|
hoverThrottle: M,
|
|
4177
4258
|
selection: N,
|
|
4178
|
-
trackLayouts:
|
|
4179
|
-
innerWidth:
|
|
4259
|
+
trackLayouts: le,
|
|
4260
|
+
innerWidth: pe,
|
|
4180
4261
|
resolvedChartLeftMargin: fe,
|
|
4181
4262
|
titleAreaHeight: re,
|
|
4182
|
-
chartTopMargin:
|
|
4263
|
+
chartTopMargin: K,
|
|
4183
4264
|
sharedOverlayElement: a,
|
|
4184
|
-
isPresentationMode:
|
|
4185
|
-
updateViewportDrag:
|
|
4186
|
-
resolveTrackAtPointer:
|
|
4187
|
-
}),
|
|
4265
|
+
isPresentationMode: W,
|
|
4266
|
+
updateViewportDrag: Ce.updateViewportDrag,
|
|
4267
|
+
resolveTrackAtPointer: Se.resolveTrackAtPointer
|
|
4268
|
+
}), Te = Vr({
|
|
4188
4269
|
props: e,
|
|
4189
4270
|
emit: t,
|
|
4190
4271
|
container: n,
|
|
@@ -4200,41 +4281,41 @@ function Ta(e, t) {
|
|
|
4200
4281
|
spacePressed: P,
|
|
4201
4282
|
pointerInsideChart: F,
|
|
4202
4283
|
currentPage: v,
|
|
4203
|
-
pageCount:
|
|
4204
|
-
pagedTracks:
|
|
4284
|
+
pageCount: Y,
|
|
4285
|
+
pagedTracks: de,
|
|
4205
4286
|
gridOptions: ue,
|
|
4206
4287
|
chartSeries: ae,
|
|
4207
4288
|
chartTracks: oe,
|
|
4208
|
-
trackLayouts:
|
|
4209
|
-
innerWidth:
|
|
4210
|
-
innerHeight:
|
|
4211
|
-
sharedZoomDomain:
|
|
4212
|
-
initialXDomain:
|
|
4289
|
+
trackLayouts: le,
|
|
4290
|
+
innerWidth: pe,
|
|
4291
|
+
innerHeight: J,
|
|
4292
|
+
sharedZoomDomain: ve,
|
|
4293
|
+
initialXDomain: _e,
|
|
4213
4294
|
sharedTransform: f,
|
|
4214
|
-
activeInteractionMode:
|
|
4215
|
-
hiddenSeriesIdSet:
|
|
4295
|
+
activeInteractionMode: he,
|
|
4296
|
+
hiddenSeriesIdSet: G,
|
|
4216
4297
|
internalHiddenSeriesIds: E,
|
|
4217
4298
|
independentTransforms: p,
|
|
4218
4299
|
independentYDomains: h,
|
|
4219
|
-
resolveInitialTrackDomain:
|
|
4300
|
+
resolveInitialTrackDomain: ye,
|
|
4220
4301
|
annotationInteraction: D,
|
|
4221
4302
|
editorSeriesOptions: j,
|
|
4222
|
-
isPresentationMode:
|
|
4223
|
-
clearHover:
|
|
4224
|
-
cancelAnnotation:
|
|
4225
|
-
configureZoom:
|
|
4226
|
-
resetViewport:
|
|
4227
|
-
cancelViewportDrag:
|
|
4228
|
-
cancelPendingHover:
|
|
4229
|
-
clearZoomBindings:
|
|
4303
|
+
isPresentationMode: W,
|
|
4304
|
+
clearHover: we.clearHover,
|
|
4305
|
+
cancelAnnotation: Se.cancelAnnotation,
|
|
4306
|
+
configureZoom: X.configureZoom,
|
|
4307
|
+
resetViewport: Ce.resetViewport,
|
|
4308
|
+
cancelViewportDrag: Ce.cancelViewportDrag,
|
|
4309
|
+
cancelPendingHover: we.cancelPendingHover,
|
|
4310
|
+
clearZoomBindings: X.clearZoomBindings
|
|
4230
4311
|
});
|
|
4231
|
-
return I =
|
|
4312
|
+
return I = Te.handleBeforeDataReferenceChange, L = Te.handleDataReferenceChange, y({
|
|
4232
4313
|
...T(e),
|
|
4233
|
-
...
|
|
4234
|
-
...
|
|
4235
|
-
...X,
|
|
4314
|
+
...B,
|
|
4315
|
+
...ie,
|
|
4236
4316
|
...Se,
|
|
4237
4317
|
...Ce,
|
|
4318
|
+
...we,
|
|
4238
4319
|
margin: Lt,
|
|
4239
4320
|
getPageSize: Bn,
|
|
4240
4321
|
currentPage: v,
|
|
@@ -4246,35 +4327,35 @@ function Ta(e, t) {
|
|
|
4246
4327
|
contextMenu: D.contextMenu,
|
|
4247
4328
|
editorSeriesOptions: j,
|
|
4248
4329
|
clipPathId: w,
|
|
4249
|
-
goToPage:
|
|
4250
|
-
setContainer: (e) =>
|
|
4251
|
-
setSvgElement: (e) =>
|
|
4252
|
-
setTitleMeasureElement: (e) =>
|
|
4253
|
-
setSharedOverlayElement: (e) =>
|
|
4330
|
+
goToPage: Te.goToPage,
|
|
4331
|
+
setContainer: (e) => Pa(n, e),
|
|
4332
|
+
setSvgElement: (e) => Pa(r, e),
|
|
4333
|
+
setTitleMeasureElement: (e) => Pa(i, e),
|
|
4334
|
+
setSharedOverlayElement: (e) => Pa(a, e)
|
|
4254
4335
|
});
|
|
4255
4336
|
}
|
|
4256
4337
|
//#endregion
|
|
4257
4338
|
//#region src/components/annotation/WaveformAnnotationEditor.vue?vue&type=script&setup=true&lang.ts
|
|
4258
|
-
var
|
|
4339
|
+
var Ia = ["id"], La = { class: "waveform-annotation-editor__content" }, Ra = {
|
|
4259
4340
|
class: "waveform-annotation-editor__coordinates",
|
|
4260
4341
|
"aria-label": "标注坐标"
|
|
4261
|
-
},
|
|
4342
|
+
}, za = ["aria-invalid"], Ba = {
|
|
4262
4343
|
class: "waveform-annotation-editor__coordinate-value",
|
|
4263
4344
|
"aria-hidden": "true"
|
|
4264
|
-
},
|
|
4345
|
+
}, Va = ["id"], Ha = {
|
|
4265
4346
|
key: 0,
|
|
4266
4347
|
class: "waveform-annotation-editor__series",
|
|
4267
4348
|
"aria-label": "标注所属波形"
|
|
4268
|
-
},
|
|
4349
|
+
}, Ua = { class: "waveform-annotation-editor__series-label" }, Wa = ["value"], Ga = ["value"], Ka = { key: 1 }, qa = { class: "waveform-annotation-editor__field" }, Ja = { class: "waveform-annotation-editor__label-row" }, Ya = ["maxlength"], Xa = { class: "waveform-annotation-editor__colors" }, Za = {
|
|
4269
4350
|
class: "waveform-annotation-editor__color-field",
|
|
4270
4351
|
title: "调整标注边框色和透明度"
|
|
4271
|
-
},
|
|
4352
|
+
}, Qa = {
|
|
4272
4353
|
class: "waveform-annotation-editor__color-field",
|
|
4273
4354
|
title: "调整标注文字色和透明度"
|
|
4274
|
-
},
|
|
4355
|
+
}, $a = {
|
|
4275
4356
|
class: "waveform-annotation-editor__color-field",
|
|
4276
4357
|
title: "调整标注背景色和透明度"
|
|
4277
|
-
},
|
|
4358
|
+
}, eo = /*#__PURE__*/ et(/* @__PURE__ */ l({
|
|
4278
4359
|
__name: "WaveformAnnotationEditor",
|
|
4279
4360
|
props: {
|
|
4280
4361
|
annotation: {},
|
|
@@ -4294,7 +4375,7 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
|
|
|
4294
4375
|
let u = c(async () => typeof window > "u" ? {
|
|
4295
4376
|
name: "WaveformColorPickerSsrFallback",
|
|
4296
4377
|
render: () => null
|
|
4297
|
-
} : (await import("vue3-colorpicker")).ColorPicker), d = o, p = l, h = b(), g =
|
|
4378
|
+
} : (await import("vue3-colorpicker")).ColorPicker), d = o, p = l, h = b(), g = ce("waveform-annotation-editor-title"), _ = b(""), y = b(""), S = b(!1), C = b(""), T = b(""), k = b(""), M = t(() => S.value && (!y.value.trim() || !Number.isFinite(Number(y.value))) ? "请输入有效的时间" : ""), N = t(() => S.value && (M.value || d.timeError) || ""), P = t(() => _.value.trim().length > 0 && y.value.trim().length > 0 && Number.isFinite(Number(y.value)) && !N.value), F = t(() => _.value.length), I = t(() => {
|
|
4298
4379
|
let e = d.seriesOptions?.find((e) => e.seriesId === d.annotation.seriesId);
|
|
4299
4380
|
return e ? {
|
|
4300
4381
|
id: e.seriesId,
|
|
@@ -4332,7 +4413,7 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
|
|
|
4332
4413
|
let t = e.target;
|
|
4333
4414
|
t.value && p("series-change", t.value);
|
|
4334
4415
|
}
|
|
4335
|
-
return (t, o) => (v(), n(E(
|
|
4416
|
+
return (t, o) => (v(), n(E(ae), {
|
|
4336
4417
|
visible: !0,
|
|
4337
4418
|
width: 440,
|
|
4338
4419
|
"mask-closable": !0,
|
|
@@ -4345,15 +4426,15 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
|
|
|
4345
4426
|
onCancel: o[4] ||= (e) => p("cancel"),
|
|
4346
4427
|
onOk: B
|
|
4347
4428
|
}, {
|
|
4348
|
-
title: A(() => [a("span", { id: E(g) }, w(d.mode === "add" ? "添加标注" : "编辑标注"), 9,
|
|
4349
|
-
default: A(() => [a("div",
|
|
4350
|
-
a("div",
|
|
4429
|
+
title: A(() => [a("span", { id: E(g) }, w(d.mode === "add" ? "添加标注" : "编辑标注"), 9, Ia)]),
|
|
4430
|
+
default: A(() => [a("div", La, [
|
|
4431
|
+
a("div", Ra, [
|
|
4351
4432
|
a("label", {
|
|
4352
4433
|
class: "waveform-annotation-editor__coordinate-input",
|
|
4353
4434
|
"aria-invalid": !!N.value
|
|
4354
4435
|
}, [
|
|
4355
4436
|
o[5] ||= a("b", null, "X", -1),
|
|
4356
|
-
s(E(
|
|
4437
|
+
s(E(ie), {
|
|
4357
4438
|
value: y.value === "" ? void 0 : Number(y.value),
|
|
4358
4439
|
controls: !0,
|
|
4359
4440
|
step: .001,
|
|
@@ -4370,26 +4451,26 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
|
|
|
4370
4451
|
"aria-invalid",
|
|
4371
4452
|
"aria-describedby"
|
|
4372
4453
|
]),
|
|
4373
|
-
a("code",
|
|
4374
|
-
], 8,
|
|
4454
|
+
a("code", Ba, w(y.value), 1)
|
|
4455
|
+
], 8, za),
|
|
4375
4456
|
N.value ? (v(), i("p", {
|
|
4376
4457
|
key: 0,
|
|
4377
4458
|
id: `${E(g)}-time-error`,
|
|
4378
4459
|
class: "waveform-annotation-editor__coordinate-error",
|
|
4379
4460
|
role: "alert"
|
|
4380
|
-
}, w(N.value), 9,
|
|
4461
|
+
}, w(N.value), 9, Va)) : r("", !0),
|
|
4381
4462
|
a("span", null, [o[6] ||= a("b", null, "Y", -1), a("code", null, w(E(Ot)(d.annotation.y)), 1)])
|
|
4382
4463
|
]),
|
|
4383
4464
|
o[13] ||= a("p", {
|
|
4384
4465
|
class: "waveform-annotation-editor__coordinate-hint",
|
|
4385
4466
|
role: "note"
|
|
4386
4467
|
}, " 修改 X 轴后失焦时会自动吸附最近的采样点 ", -1),
|
|
4387
|
-
I.value ? (v(), i("label",
|
|
4468
|
+
I.value ? (v(), i("label", Ha, [
|
|
4388
4469
|
a("i", {
|
|
4389
4470
|
style: m({ backgroundColor: I.value.color }),
|
|
4390
4471
|
"aria-hidden": "true"
|
|
4391
4472
|
}, null, 4),
|
|
4392
|
-
a("span",
|
|
4473
|
+
a("span", Ua, [o[7] ||= a("small", null, "标注波形", -1), a("b", null, w(I.value.name), 1)]),
|
|
4393
4474
|
d.seriesOptions?.length ? (v(), i("select", {
|
|
4394
4475
|
key: 0,
|
|
4395
4476
|
value: d.annotation.seriesId,
|
|
@@ -4398,9 +4479,9 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
|
|
|
4398
4479
|
}, [(v(!0), i(e, null, x(d.seriesOptions, (e) => (v(), i("option", {
|
|
4399
4480
|
key: e.seriesId,
|
|
4400
4481
|
value: e.seriesId
|
|
4401
|
-
}, w(e.name) + w(e.unit ? ` (${e.unit})` : ""), 9,
|
|
4482
|
+
}, w(e.name) + w(e.unit ? ` (${e.unit})` : ""), 9, Ga))), 128))], 40, Wa)) : I.value.unit ? (v(), i("code", Ka, w(I.value.unit), 1)) : r("", !0)
|
|
4402
4483
|
])) : r("", !0),
|
|
4403
|
-
a("label",
|
|
4484
|
+
a("label", qa, [a("span", Ja, [o[8] ||= a("b", null, "标注文本", -1), a("small", null, w(F.value) + "/" + w(E(40)), 1)]), j(a("textarea", {
|
|
4404
4485
|
ref_key: "textarea",
|
|
4405
4486
|
ref: h,
|
|
4406
4487
|
"onUpdate:modelValue": o[0] ||= (e) => _.value = e,
|
|
@@ -4409,10 +4490,10 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
|
|
|
4409
4490
|
"aria-label": "标注文本",
|
|
4410
4491
|
placeholder: "输入这处波形的说明",
|
|
4411
4492
|
onKeydown: V
|
|
4412
|
-
}, null, 40,
|
|
4413
|
-
a("fieldset",
|
|
4493
|
+
}, null, 40, Ya), [[D, _.value]])]),
|
|
4494
|
+
a("fieldset", Xa, [
|
|
4414
4495
|
o[12] ||= a("legend", null, "颜色与透明度", -1),
|
|
4415
|
-
a("label",
|
|
4496
|
+
a("label", Za, [o[9] ||= a("span", null, "边框色", -1), s(E(u), {
|
|
4416
4497
|
"pure-color": C.value,
|
|
4417
4498
|
"onUpdate:pureColor": o[1] ||= (e) => C.value = e,
|
|
4418
4499
|
"aria-label": "标注边框色",
|
|
@@ -4422,7 +4503,7 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
|
|
|
4422
4503
|
"disable-alpha": !1,
|
|
4423
4504
|
"blur-close": !0
|
|
4424
4505
|
}, null, 8, ["pure-color"])]),
|
|
4425
|
-
a("label",
|
|
4506
|
+
a("label", Qa, [o[10] ||= a("span", null, "文字色", -1), s(E(u), {
|
|
4426
4507
|
"pure-color": T.value,
|
|
4427
4508
|
"onUpdate:pureColor": o[2] ||= (e) => T.value = e,
|
|
4428
4509
|
"aria-label": "标注文字色",
|
|
@@ -4432,7 +4513,7 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
|
|
|
4432
4513
|
"disable-alpha": !1,
|
|
4433
4514
|
"blur-close": !0
|
|
4434
4515
|
}, null, 8, ["pure-color"])]),
|
|
4435
|
-
a("label",
|
|
4516
|
+
a("label", $a, [o[11] ||= a("span", null, "背景色", -1), s(E(u), {
|
|
4436
4517
|
"pure-color": k.value,
|
|
4437
4518
|
"onUpdate:pureColor": o[3] ||= (e) => k.value = e,
|
|
4438
4519
|
"aria-label": "标注背景色",
|
|
@@ -4447,13 +4528,13 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
|
|
|
4447
4528
|
_: 1
|
|
4448
4529
|
}, 8, ["ok-button-props"]));
|
|
4449
4530
|
}
|
|
4450
|
-
}), [["__scopeId", "data-v-01ecd3a4"]]),
|
|
4531
|
+
}), [["__scopeId", "data-v-01ecd3a4"]]), to = { class: "waveform-tooltip__series-content" }, no = { class: "waveform-tooltip__series-label" }, ro = {
|
|
4451
4532
|
key: 0,
|
|
4452
4533
|
class: "waveform-tooltip__value"
|
|
4453
|
-
},
|
|
4534
|
+
}, io = {
|
|
4454
4535
|
key: 1,
|
|
4455
4536
|
class: "waveform-tooltip__value waveform-tooltip__value--missing"
|
|
4456
|
-
},
|
|
4537
|
+
}, ao = 12, oo = 8, so = 238, co = 560, lo = 20, uo = 20, fo = /*#__PURE__*/ et(/* @__PURE__ */ l({
|
|
4457
4538
|
__name: "WaveformTooltip",
|
|
4458
4539
|
props: {
|
|
4459
4540
|
visible: { type: Boolean },
|
|
@@ -4467,7 +4548,7 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
|
|
|
4467
4548
|
setup(n) {
|
|
4468
4549
|
let s = n;
|
|
4469
4550
|
function c(e, t) {
|
|
4470
|
-
let n = Math.max(1, t -
|
|
4551
|
+
let n = Math.max(1, t - lo - 14), r = Math.max(1, Math.floor(n / 7.2));
|
|
4471
4552
|
return Math.max(1, Math.ceil([...e].length / r));
|
|
4472
4553
|
}
|
|
4473
4554
|
function l(e) {
|
|
@@ -4475,18 +4556,18 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
|
|
|
4475
4556
|
return `${e.shotNo?.trim() || "未配置炮号"}: ${e.name}${e.unit ? `(${e.unit})` : ""} ${t}`;
|
|
4476
4557
|
}
|
|
4477
4558
|
function u(e) {
|
|
4478
|
-
return 16 +
|
|
4559
|
+
return 16 + uo * s.seriesPoints.reduce((t, n) => t + c(l(n), e), 0) + 5;
|
|
4479
4560
|
}
|
|
4480
4561
|
let d = t(() => {
|
|
4481
4562
|
if (!s.visible || !s.hoveredPoint) return { display: "none" };
|
|
4482
|
-
let e = s.position.x +
|
|
4563
|
+
let e = s.position.x + ao, t = s.position.x - ao - so, n = s.containerWidth - oo - e, r = s.position.x - ao - oo, i = Math.max(1, Math.min(co, s.containerWidth - oo * 2)), a = e + so <= s.containerWidth - oo ? {
|
|
4483
4564
|
left: `${e}px`,
|
|
4484
|
-
maxWidth: `${Math.min(
|
|
4485
|
-
} : t >=
|
|
4486
|
-
right: `${s.containerWidth - s.position.x +
|
|
4487
|
-
maxWidth: `${Math.min(
|
|
4565
|
+
maxWidth: `${Math.min(co, n)}px`
|
|
4566
|
+
} : t >= oo ? {
|
|
4567
|
+
right: `${s.containerWidth - s.position.x + ao}px`,
|
|
4568
|
+
maxWidth: `${Math.min(co, r)}px`
|
|
4488
4569
|
} : {
|
|
4489
|
-
left: `${
|
|
4570
|
+
left: `${oo}px`,
|
|
4490
4571
|
maxWidth: `${i}px`
|
|
4491
4572
|
}, o = Number.parseFloat(a.maxWidth);
|
|
4492
4573
|
return {
|
|
@@ -4501,9 +4582,9 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
|
|
|
4501
4582
|
}, [(v(!0), i(e, null, x(n.seriesPoints, (t) => (v(), i("span", {
|
|
4502
4583
|
key: `${t.trackIndex}-${t.name}`,
|
|
4503
4584
|
class: "waveform-tooltip__series waveform-chart__tooltip-series"
|
|
4504
|
-
}, [a("i", { style: m({ backgroundColor: t.color }) }, null, 4), a("span",
|
|
4585
|
+
}, [a("i", { style: m({ backgroundColor: t.color }) }, null, 4), a("span", to, [a("span", no, [o(w(t.shotNo?.trim() || "未配置炮号") + ": " + w(t.name), 1), t.unit ? (v(), i(e, { key: 0 }, [o("(" + w(t.unit) + ")", 1)], 64)) : r("", !0)]), t.point ? (v(), i("span", ro, "(x:" + w(E(Nt)(t.point.x, n.timeUnit)) + " y:" + w(E(Dt)(t.point.y)) + ")", 1)) : (v(), i("span", io, "无数据"))])]))), 128))], 4)) : r("", !0);
|
|
4505
4586
|
}
|
|
4506
|
-
}), [["__scopeId", "data-v-1ae3316b"]]),
|
|
4587
|
+
}), [["__scopeId", "data-v-1ae3316b"]]), po = /* @__PURE__ */ l({
|
|
4507
4588
|
__name: "WaveformHoverHost",
|
|
4508
4589
|
props: {
|
|
4509
4590
|
state: {},
|
|
@@ -4514,7 +4595,7 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
|
|
|
4514
4595
|
},
|
|
4515
4596
|
setup(e) {
|
|
4516
4597
|
let r = e, i = t(() => r.state.points.find((e) => e.point)?.point ?? null);
|
|
4517
|
-
return (t, r) => (v(), n(
|
|
4598
|
+
return (t, r) => (v(), n(fo, {
|
|
4518
4599
|
visible: e.visible && i.value !== null,
|
|
4519
4600
|
position: e.state.position,
|
|
4520
4601
|
"time-unit": e.timeUnit,
|
|
@@ -4532,16 +4613,16 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
|
|
|
4532
4613
|
"container-height"
|
|
4533
4614
|
]));
|
|
4534
4615
|
}
|
|
4535
|
-
}),
|
|
4536
|
-
circle:
|
|
4537
|
-
square:
|
|
4538
|
-
triangle:
|
|
4539
|
-
diamond:
|
|
4616
|
+
}), mo = 13, ho = 2, go = 14, _o = 8, vo = 24, yo = {
|
|
4617
|
+
circle: ee,
|
|
4618
|
+
square: ne,
|
|
4619
|
+
triangle: re,
|
|
4620
|
+
diamond: te
|
|
4540
4621
|
};
|
|
4541
|
-
function
|
|
4542
|
-
return e === "none" ? null :
|
|
4622
|
+
function bo(e, t = 48) {
|
|
4623
|
+
return e === "none" ? null : G().type(yo[e]).size(t)() ?? null;
|
|
4543
4624
|
}
|
|
4544
|
-
function
|
|
4625
|
+
function xo(e, t, n = 48) {
|
|
4545
4626
|
if (e === "none" || t.length === 0) return null;
|
|
4546
4627
|
if (e === "circle") {
|
|
4547
4628
|
let e = Math.sqrt(n / Math.PI);
|
|
@@ -4558,24 +4639,24 @@ function uo(e, t, n = 48) {
|
|
|
4558
4639
|
let r = Math.sqrt(n / (2 * Math.tan(Math.PI / 6))), i = r * Math.tan(Math.PI / 6);
|
|
4559
4640
|
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("");
|
|
4560
4641
|
}
|
|
4561
|
-
function
|
|
4642
|
+
function So(e) {
|
|
4562
4643
|
return e === "none" ? null : "M1 8H25";
|
|
4563
4644
|
}
|
|
4564
|
-
function
|
|
4645
|
+
function Co(e) {
|
|
4565
4646
|
if (e === "dashed") return "8 5";
|
|
4566
4647
|
if (e === "dash-dot") return "8 5 1.5 5";
|
|
4567
4648
|
}
|
|
4568
|
-
function
|
|
4569
|
-
let t = (Number.isFinite(e) && e > 0 ? Math.min(e,
|
|
4649
|
+
function wo(e) {
|
|
4650
|
+
let t = (Number.isFinite(e) && e > 0 ? Math.min(e, vo) : _o) / 2, n = mo - t, r = mo + t;
|
|
4570
4651
|
return [
|
|
4571
|
-
`M${n} ${
|
|
4572
|
-
`M${
|
|
4573
|
-
`M${n} ${
|
|
4652
|
+
`M${n} ${ho}H${r}`,
|
|
4653
|
+
`M${mo} ${ho}V${go}`,
|
|
4654
|
+
`M${n} ${go}H${r}`
|
|
4574
4655
|
].join("");
|
|
4575
4656
|
}
|
|
4576
4657
|
//#endregion
|
|
4577
4658
|
//#region src/components/rendering/WaveformSeriesLayer.vue?vue&type=script&setup=true&lang.ts
|
|
4578
|
-
var
|
|
4659
|
+
var To = ["clip-path"], Eo = ["data-series-id", "data-series-name"], Do = [
|
|
4579
4660
|
"data-series-id",
|
|
4580
4661
|
"data-series-name",
|
|
4581
4662
|
"data-y-axis-index",
|
|
@@ -4584,11 +4665,11 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
4584
4665
|
"d",
|
|
4585
4666
|
"stroke",
|
|
4586
4667
|
"stroke-dasharray"
|
|
4587
|
-
],
|
|
4668
|
+
], Oo = ["data-series-id"], ko = [
|
|
4588
4669
|
"d",
|
|
4589
4670
|
"stroke",
|
|
4590
4671
|
"stroke-width"
|
|
4591
|
-
],
|
|
4672
|
+
], Ao = ["data-series-id", "data-point-type"], jo = ["d", "fill"], Mo = /*#__PURE__*/ et(/* @__PURE__ */ l({
|
|
4592
4673
|
__name: "WaveformSeriesLayer",
|
|
4593
4674
|
props: {
|
|
4594
4675
|
track: {},
|
|
@@ -4596,7 +4677,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
4596
4677
|
},
|
|
4597
4678
|
setup(n) {
|
|
4598
4679
|
let a = n, o = t(() => a.track.seriesPaths.map((e) => {
|
|
4599
|
-
let t =
|
|
4680
|
+
let t = xo(e.series.pointType, e.pointRenderPoints.map((t) => ({
|
|
4600
4681
|
x: a.track.xScale(t.x),
|
|
4601
4682
|
y: e.yScale(t.y)
|
|
4602
4683
|
}))), n = e.series.errorBar.capWidth / 2, r = e.errorBarRenderPoints.map((t) => {
|
|
@@ -4633,8 +4714,8 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
4633
4714
|
"data-line-style": e.series.lineStyle,
|
|
4634
4715
|
d: e.path,
|
|
4635
4716
|
stroke: e.series.color,
|
|
4636
|
-
"stroke-dasharray": E(
|
|
4637
|
-
}, null, 8,
|
|
4717
|
+
"stroke-dasharray": E(Co)(e.series.lineStyle)
|
|
4718
|
+
}, null, 8, Do)) : r("", !0),
|
|
4638
4719
|
e.series.errorBar.visible ? (v(), i("g", {
|
|
4639
4720
|
key: 1,
|
|
4640
4721
|
class: "waveform-track__error-bars waveform-chart__error-bars",
|
|
@@ -4645,7 +4726,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
4645
4726
|
d: e.errorBarPath,
|
|
4646
4727
|
stroke: e.series.errorBar.color || e.series.color,
|
|
4647
4728
|
"stroke-width": e.series.errorBar.width
|
|
4648
|
-
}, null, 8,
|
|
4729
|
+
}, null, 8, ko)) : r("", !0)], 8, Oo)) : r("", !0),
|
|
4649
4730
|
e.series.pointType === "none" ? r("", !0) : (v(), i("g", {
|
|
4650
4731
|
key: 2,
|
|
4651
4732
|
class: "waveform-track__points waveform-chart__points",
|
|
@@ -4656,28 +4737,28 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
4656
4737
|
class: "waveform-track__point waveform-chart__point",
|
|
4657
4738
|
d: e.pointPath,
|
|
4658
4739
|
fill: e.series.color
|
|
4659
|
-
}, null, 8,
|
|
4660
|
-
], 8,
|
|
4740
|
+
}, null, 8, jo)) : r("", !0)], 8, Ao))
|
|
4741
|
+
], 8, Eo))), 128))], 8, To)) : r("", !0);
|
|
4661
4742
|
}
|
|
4662
|
-
}), [["__scopeId", "data-v-42a3fd47"]]),
|
|
4743
|
+
}), [["__scopeId", "data-v-42a3fd47"]]), No = ["transform"], Po = ["transform"], Fo = {
|
|
4663
4744
|
class: "waveform-track__axis-endpoint waveform-track__axis-endpoint--start waveform-chart__axis-endpoint waveform-chart__axis-endpoint--start",
|
|
4664
4745
|
x: "0",
|
|
4665
4746
|
y: "7",
|
|
4666
4747
|
dy: "0.71em",
|
|
4667
4748
|
"text-anchor": "start"
|
|
4668
|
-
},
|
|
4749
|
+
}, Io = ["x"], Lo = [
|
|
4669
4750
|
"data-y-axis-index",
|
|
4670
4751
|
"data-y-axis-side",
|
|
4671
4752
|
"transform"
|
|
4672
|
-
],
|
|
4753
|
+
], Ro = { key: 2 }, zo = [
|
|
4673
4754
|
"x",
|
|
4674
4755
|
"y",
|
|
4675
4756
|
"width"
|
|
4676
|
-
],
|
|
4757
|
+
], Bo = ["fill", "transform"], Vo = ["data-y-axis-title-index"], Ho = [
|
|
4677
4758
|
"x",
|
|
4678
4759
|
"y",
|
|
4679
4760
|
"width"
|
|
4680
|
-
],
|
|
4761
|
+
], Uo = ["fill", "transform"], Wo = /* @__PURE__ */ l({
|
|
4681
4762
|
__name: "WaveformTrackAxes",
|
|
4682
4763
|
props: {
|
|
4683
4764
|
track: {},
|
|
@@ -4706,13 +4787,8 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
4706
4787
|
if (n.track.yAxes.forEach((e, t) => {
|
|
4707
4788
|
let r = s.value[t];
|
|
4708
4789
|
if (!r) return;
|
|
4709
|
-
let
|
|
4710
|
-
|
|
4711
|
-
axisMax: a,
|
|
4712
|
-
topTickValue: o,
|
|
4713
|
-
unit: c
|
|
4714
|
-
})).tickSize(-4).tickPadding(7).tickSizeOuter(0).tickValues(e.tickValues), u = W(r);
|
|
4715
|
-
u.call(l), u.selectAll("path.domain").attr("display", n.axes?.y?.lineVisible === !1 ? "none" : null);
|
|
4790
|
+
let i = e.seriesList[0]?.unit, a = (e.side === "left" ? P(e.scale) : F(e.scale)).tickFormat((t) => ir(Number(t), e.scale.domain(), e.tickValues, i)).tickSize(-4).tickPadding(7).tickSizeOuter(0).tickValues(e.tickValues), o = W(r);
|
|
4791
|
+
o.call(a), o.selectAll("path.domain").attr("display", n.axes?.y?.lineVisible === !1 ? "none" : null);
|
|
4716
4792
|
}), !o.value) return;
|
|
4717
4793
|
let e = W(o.value);
|
|
4718
4794
|
e.call(N(n.track.xScale).tickValues(n.track.xAxisTickValues).tickFormat((e) => At(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);
|
|
@@ -4737,7 +4813,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
4737
4813
|
ref: o,
|
|
4738
4814
|
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 }]),
|
|
4739
4815
|
transform: `translate(0, ${t.track.height})`
|
|
4740
|
-
}, null, 10,
|
|
4816
|
+
}, null, 10, No)) : r("", !0),
|
|
4741
4817
|
t.track.showXAxis ? (v(), i("g", {
|
|
4742
4818
|
key: 1,
|
|
4743
4819
|
class: "waveform-track__axis-endpoints waveform-chart__axis-endpoints",
|
|
@@ -4745,13 +4821,13 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
4745
4821
|
"font-family": "sans-serif",
|
|
4746
4822
|
"font-size": "10",
|
|
4747
4823
|
"aria-hidden": "true"
|
|
4748
|
-
}, [a("text",
|
|
4824
|
+
}, [a("text", Fo, w(t.track.endpointLabels.start), 1), a("text", {
|
|
4749
4825
|
class: "waveform-track__axis-endpoint waveform-track__axis-endpoint--end waveform-chart__axis-endpoint waveform-chart__axis-endpoint--end",
|
|
4750
4826
|
x: t.track.width ?? t.innerWidth,
|
|
4751
4827
|
y: "7",
|
|
4752
4828
|
dy: "0.71em",
|
|
4753
4829
|
"text-anchor": "end"
|
|
4754
|
-
}, w(t.track.endpointLabels.end), 9,
|
|
4830
|
+
}, w(t.track.endpointLabels.end), 9, Io)], 8, Po)) : r("", !0),
|
|
4755
4831
|
(v(!0), i(e, null, x(t.track.isEmpty ? [] : t.track.yAxes, (e) => (v(), i("g", {
|
|
4756
4832
|
key: `y-axis-${t.track.index}-${e.index}`,
|
|
4757
4833
|
ref_for: !0,
|
|
@@ -4760,21 +4836,21 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
4760
4836
|
"data-y-axis-index": e.index,
|
|
4761
4837
|
"data-y-axis-side": e.side,
|
|
4762
4838
|
transform: `translate(${e.x}, 0)`
|
|
4763
|
-
}, null, 10,
|
|
4764
|
-
!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) ? (v(), i("g",
|
|
4839
|
+
}, null, 10, Lo))), 128)),
|
|
4840
|
+
!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) ? (v(), i("g", Ro, [a("rect", {
|
|
4765
4841
|
class: "waveform-track__y-axis-label-bg waveform-chart__y-axis-label-bg",
|
|
4766
4842
|
x: t.track.yAxisLabelX - E(12) / 2,
|
|
4767
4843
|
y: t.track.height / 2 - 40,
|
|
4768
4844
|
width: E(12),
|
|
4769
4845
|
height: "80",
|
|
4770
4846
|
rx: "2"
|
|
4771
|
-
}, null, 8,
|
|
4847
|
+
}, null, 8, zo), a("text", {
|
|
4772
4848
|
class: "waveform-track__y-axis-label waveform-chart__y-axis-label",
|
|
4773
4849
|
fill: t.track.series?.color,
|
|
4774
4850
|
transform: `translate(${t.track.yAxisLabelX}, ${t.track.height / 2}) rotate(-90)`,
|
|
4775
4851
|
"text-anchor": "middle",
|
|
4776
4852
|
"dominant-baseline": "central"
|
|
4777
|
-
}, w(t.track.series ? c(t.track.series) : ""), 9,
|
|
4853
|
+
}, w(t.track.series ? c(t.track.series) : ""), 9, Bo)])) : r("", !0),
|
|
4778
4854
|
(v(!0), i(e, null, x(!t.cleanView && t.track.yAxes.length > 1 ? t.track.yAxes.filter(l) : [], (e) => (v(), i("g", {
|
|
4779
4855
|
key: `y-axis-title-${t.track.index}-${e.index}`,
|
|
4780
4856
|
class: "waveform-track__multi-axis-title",
|
|
@@ -4786,40 +4862,40 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
4786
4862
|
width: E(12),
|
|
4787
4863
|
height: "80",
|
|
4788
4864
|
rx: "2"
|
|
4789
|
-
}, null, 8,
|
|
4865
|
+
}, null, 8, Ho), a("text", {
|
|
4790
4866
|
class: "waveform-track__y-axis-label waveform-chart__y-axis-label",
|
|
4791
4867
|
fill: e.seriesList[0].color,
|
|
4792
4868
|
transform: `translate(${e.labelX}, ${t.track.height / 2}) rotate(-90)`,
|
|
4793
4869
|
"text-anchor": "middle",
|
|
4794
4870
|
"dominant-baseline": "central"
|
|
4795
|
-
}, w(c(e.seriesList[0])), 9,
|
|
4871
|
+
}, w(c(e.seriesList[0])), 9, Uo)], 8, Vo))), 128))
|
|
4796
4872
|
], 64));
|
|
4797
4873
|
}
|
|
4798
|
-
}),
|
|
4874
|
+
}), Go = [
|
|
4799
4875
|
"width",
|
|
4800
4876
|
"height",
|
|
4801
4877
|
"fill"
|
|
4802
|
-
],
|
|
4878
|
+
], Ko = ["clip-path"], qo = { class: "waveform-track__grid waveform-track__grid--minor waveform-chart__grid waveform-chart__grid--minor" }, Jo = [
|
|
4803
4879
|
"stroke",
|
|
4804
4880
|
"x1",
|
|
4805
4881
|
"x2",
|
|
4806
4882
|
"y2"
|
|
4807
|
-
],
|
|
4883
|
+
], Yo = [
|
|
4808
4884
|
"stroke",
|
|
4809
4885
|
"x2",
|
|
4810
4886
|
"y1",
|
|
4811
4887
|
"y2"
|
|
4812
|
-
],
|
|
4888
|
+
], Xo = { class: "waveform-track__grid waveform-track__grid--major waveform-chart__grid waveform-chart__grid--major" }, Zo = [
|
|
4813
4889
|
"stroke",
|
|
4814
4890
|
"x1",
|
|
4815
4891
|
"x2",
|
|
4816
4892
|
"y2"
|
|
4817
|
-
],
|
|
4893
|
+
], Qo = [
|
|
4818
4894
|
"stroke",
|
|
4819
4895
|
"x2",
|
|
4820
4896
|
"y1",
|
|
4821
4897
|
"y2"
|
|
4822
|
-
],
|
|
4898
|
+
], $o = ["clip-path"], es = [
|
|
4823
4899
|
"data-y-axis-index",
|
|
4824
4900
|
"x2",
|
|
4825
4901
|
"y1",
|
|
@@ -4827,7 +4903,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
4827
4903
|
"stroke",
|
|
4828
4904
|
"stroke-width",
|
|
4829
4905
|
"stroke-dasharray"
|
|
4830
|
-
],
|
|
4906
|
+
], ts = ["x", "y"], ns = /* @__PURE__ */ l({
|
|
4831
4907
|
__name: "WaveformTrackBackdrop",
|
|
4832
4908
|
props: {
|
|
4833
4909
|
track: {},
|
|
@@ -4852,12 +4928,12 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
4852
4928
|
height: t.track.height,
|
|
4853
4929
|
fill: t.frameStyle.backgroundColor,
|
|
4854
4930
|
"aria-hidden": "true"
|
|
4855
|
-
}, null, 8,
|
|
4931
|
+
}, null, 8, Go)) : r("", !0),
|
|
4856
4932
|
!t.track.isEmpty && t.track.hasVisibleSeries && !t.cleanView ? (v(), i("g", {
|
|
4857
4933
|
key: 1,
|
|
4858
4934
|
"clip-path": `url(#${t.clipPathId}-${t.track.index})`,
|
|
4859
4935
|
"aria-hidden": "true"
|
|
4860
|
-
}, [a("g",
|
|
4936
|
+
}, [a("g", qo, [t.track.gridLines.vertical ? (v(!0), i(e, { key: 0 }, x(t.track.xMinorTicks, (e) => (v(), i("line", {
|
|
4861
4937
|
key: `x-minor-${t.track.index}-${e}`,
|
|
4862
4938
|
"data-grid-direction": "vertical",
|
|
4863
4939
|
stroke: t.track.gridLines.verticalColor,
|
|
@@ -4865,7 +4941,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
4865
4941
|
x2: t.track.xScale(e),
|
|
4866
4942
|
y1: "0",
|
|
4867
4943
|
y2: t.track.height
|
|
4868
|
-
}, null, 8,
|
|
4944
|
+
}, null, 8, Jo))), 128)) : r("", !0), t.track.gridLines.horizontal ? (v(!0), i(e, { key: 1 }, x(t.track.yMinorTicks, (e) => (v(), i("line", {
|
|
4869
4945
|
key: `y-minor-${t.track.index}-${e}`,
|
|
4870
4946
|
"data-grid-direction": "horizontal",
|
|
4871
4947
|
stroke: t.track.gridLines.horizontalColor,
|
|
@@ -4873,7 +4949,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
4873
4949
|
x2: t.track.width ?? t.innerWidth,
|
|
4874
4950
|
y1: t.track.yScale(e),
|
|
4875
4951
|
y2: t.track.yScale(e)
|
|
4876
|
-
}, null, 8,
|
|
4952
|
+
}, null, 8, Yo))), 128)) : r("", !0)]), a("g", Xo, [t.track.gridLines.vertical ? (v(!0), i(e, { key: 0 }, x(t.track.xMajorTicks, (e) => (v(), i("line", {
|
|
4877
4953
|
key: `x-major-${t.track.index}-${e}`,
|
|
4878
4954
|
"data-grid-direction": "vertical",
|
|
4879
4955
|
stroke: t.track.gridLines.verticalColor,
|
|
@@ -4881,7 +4957,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
4881
4957
|
x2: t.track.xScale(e),
|
|
4882
4958
|
y1: "0",
|
|
4883
4959
|
y2: t.track.height
|
|
4884
|
-
}, null, 8,
|
|
4960
|
+
}, null, 8, Zo))), 128)) : r("", !0), t.track.gridLines.horizontal ? (v(!0), i(e, { key: 1 }, x(t.track.yMajorTicks, (e) => (v(), i("line", {
|
|
4885
4961
|
key: `y-major-${t.track.index}-${e}`,
|
|
4886
4962
|
"data-grid-direction": "horizontal",
|
|
4887
4963
|
stroke: t.track.gridLines.horizontalColor,
|
|
@@ -4889,7 +4965,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
4889
4965
|
x2: t.track.width ?? t.innerWidth,
|
|
4890
4966
|
y1: t.track.yScale(e),
|
|
4891
4967
|
y2: t.track.yScale(e)
|
|
4892
|
-
}, null, 8,
|
|
4968
|
+
}, null, 8, Qo))), 128)) : r("", !0)])], 8, Ko)) : r("", !0),
|
|
4893
4969
|
!t.track.isEmpty && t.track.hasVisibleSeries && t.zeroLine.visible && !t.cleanView ? (v(), i("g", {
|
|
4894
4970
|
key: 2,
|
|
4895
4971
|
class: "waveform-track__zero-lines waveform-chart__zero-lines",
|
|
@@ -4906,7 +4982,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
4906
4982
|
stroke: t.zeroLine.color,
|
|
4907
4983
|
"stroke-width": t.zeroLine.width,
|
|
4908
4984
|
"stroke-dasharray": t.zeroLine.dash || void 0
|
|
4909
|
-
}, null, 8,
|
|
4985
|
+
}, null, 8, es))], 64))), 128))], 8, $o)) : r("", !0),
|
|
4910
4986
|
!t.track.isEmpty && t.track.hasVisibleSeries && t.frameNumber !== void 0 && !t.cleanView ? (v(), i("text", {
|
|
4911
4987
|
key: 3,
|
|
4912
4988
|
class: "waveform-track__watermark waveform-chart__watermark",
|
|
@@ -4916,10 +4992,10 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
4916
4992
|
"text-anchor": "middle",
|
|
4917
4993
|
"dominant-baseline": "central",
|
|
4918
4994
|
"aria-hidden": "true"
|
|
4919
|
-
}, w(t.frameNumber), 13,
|
|
4995
|
+
}, w(t.frameNumber), 13, ts)) : r("", !0)
|
|
4920
4996
|
], 64));
|
|
4921
4997
|
}
|
|
4922
|
-
}),
|
|
4998
|
+
}), rs = [
|
|
4923
4999
|
"data-track-index",
|
|
4924
5000
|
"data-track-id",
|
|
4925
5001
|
"data-track-empty",
|
|
@@ -4929,19 +5005,19 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
4929
5005
|
"data-track-top",
|
|
4930
5006
|
"data-track-height",
|
|
4931
5007
|
"transform"
|
|
4932
|
-
],
|
|
5008
|
+
], is = [
|
|
4933
5009
|
"width",
|
|
4934
5010
|
"height",
|
|
4935
5011
|
"stroke",
|
|
4936
5012
|
"stroke-width",
|
|
4937
5013
|
"stroke-dasharray",
|
|
4938
5014
|
"stroke-linecap"
|
|
4939
|
-
],
|
|
5015
|
+
], as = [
|
|
4940
5016
|
"data-interactive",
|
|
4941
5017
|
"data-independent-overlay-index",
|
|
4942
5018
|
"width",
|
|
4943
5019
|
"height"
|
|
4944
|
-
],
|
|
5020
|
+
], os = ["x", "y"], ss = /* @__PURE__ */ l({
|
|
4945
5021
|
__name: "WaveformTrack",
|
|
4946
5022
|
props: {
|
|
4947
5023
|
track: {},
|
|
@@ -5001,7 +5077,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
5001
5077
|
"data-track-height": e.track.height,
|
|
5002
5078
|
transform: `translate(${e.track.left ?? 0}, ${e.track.top})`
|
|
5003
5079
|
}, [
|
|
5004
|
-
s(
|
|
5080
|
+
s(ns, {
|
|
5005
5081
|
track: e.track,
|
|
5006
5082
|
"clip-path-id": e.clipPathId,
|
|
5007
5083
|
"inner-width": e.innerWidth,
|
|
@@ -5018,7 +5094,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
5018
5094
|
"frame-style",
|
|
5019
5095
|
"zero-line"
|
|
5020
5096
|
]),
|
|
5021
|
-
s(
|
|
5097
|
+
s(Wo, {
|
|
5022
5098
|
track: e.track,
|
|
5023
5099
|
"inner-width": e.innerWidth,
|
|
5024
5100
|
"clean-view": e.cleanView,
|
|
@@ -5044,8 +5120,8 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
5044
5120
|
"stroke-dasharray": c.value.borderStyle === "dashed" ? "6 4" : c.value.borderStyle === "dotted" ? "1 3" : void 0,
|
|
5045
5121
|
"stroke-linecap": c.value.borderStyle === "dotted" ? "round" : void 0,
|
|
5046
5122
|
"aria-hidden": "true"
|
|
5047
|
-
}, null, 8,
|
|
5048
|
-
s(
|
|
5123
|
+
}, null, 8, is)),
|
|
5124
|
+
s(Mo, {
|
|
5049
5125
|
track: e.track,
|
|
5050
5126
|
"clip-path-id": e.clipPathId
|
|
5051
5127
|
}, null, 8, ["track", "clip-path-id"]),
|
|
@@ -5067,7 +5143,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
5067
5143
|
onPointerleave: n[4] ||= (e) => o("pointer-leave"),
|
|
5068
5144
|
onClick: n[5] ||= (e) => o("click", e),
|
|
5069
5145
|
onContextmenu: n[6] ||= (e) => o("contextmenu", e)
|
|
5070
|
-
}, null, 42,
|
|
5146
|
+
}, null, 42, as)) : r("", !0),
|
|
5071
5147
|
!e.track.isEmpty && !e.track.hasVisibleSeries && !e.cleanView ? (v(), i("text", {
|
|
5072
5148
|
key: 2,
|
|
5073
5149
|
class: "waveform-track__no-visible-series",
|
|
@@ -5075,33 +5151,33 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
5075
5151
|
y: e.track.height / 2,
|
|
5076
5152
|
"text-anchor": "middle",
|
|
5077
5153
|
"dominant-baseline": "central"
|
|
5078
|
-
}, " 暂无可见曲线 ", 8,
|
|
5079
|
-
], 10,
|
|
5154
|
+
}, " 暂无可见曲线 ", 8, os)) : r("", !0)
|
|
5155
|
+
], 10, rs));
|
|
5080
5156
|
}
|
|
5081
|
-
}),
|
|
5157
|
+
}), cs = [
|
|
5082
5158
|
"width",
|
|
5083
5159
|
"height",
|
|
5084
5160
|
"data-position",
|
|
5085
5161
|
"data-orientation"
|
|
5086
|
-
],
|
|
5162
|
+
], ls = [
|
|
5087
5163
|
"disabled",
|
|
5088
5164
|
"aria-pressed",
|
|
5089
5165
|
"aria-label",
|
|
5090
5166
|
"onClick"
|
|
5091
|
-
],
|
|
5167
|
+
], us = [
|
|
5092
5168
|
"data-line-type",
|
|
5093
5169
|
"data-line-style",
|
|
5094
5170
|
"data-point-type",
|
|
5095
5171
|
"data-error-bar-visible"
|
|
5096
|
-
],
|
|
5172
|
+
], ds = [
|
|
5097
5173
|
"d",
|
|
5098
5174
|
"stroke",
|
|
5099
5175
|
"stroke-dasharray"
|
|
5100
|
-
],
|
|
5176
|
+
], fs = [
|
|
5101
5177
|
"d",
|
|
5102
5178
|
"stroke",
|
|
5103
5179
|
"stroke-width"
|
|
5104
|
-
],
|
|
5180
|
+
], ps = ["d", "fill"], ms = ["title"], hs = /*#__PURE__*/ et(/* @__PURE__ */ l({
|
|
5105
5181
|
__name: "WaveformLegend",
|
|
5106
5182
|
props: {
|
|
5107
5183
|
series: {},
|
|
@@ -5159,45 +5235,45 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
5159
5235
|
"data-point-type": e.pointType,
|
|
5160
5236
|
"data-error-bar-visible": e.errorBar.visible || void 0
|
|
5161
5237
|
}, [
|
|
5162
|
-
E(
|
|
5238
|
+
E(So)(e.lineType) ? (v(), i("path", {
|
|
5163
5239
|
key: 0,
|
|
5164
5240
|
class: "waveform-legend__line",
|
|
5165
|
-
d: E(
|
|
5241
|
+
d: E(So)(e.lineType) ?? void 0,
|
|
5166
5242
|
stroke: e.color,
|
|
5167
|
-
"stroke-dasharray": E(
|
|
5243
|
+
"stroke-dasharray": E(Co)(e.lineStyle),
|
|
5168
5244
|
"stroke-width": "1.5",
|
|
5169
5245
|
fill: "none"
|
|
5170
|
-
}, null, 8,
|
|
5246
|
+
}, null, 8, ds)) : r("", !0),
|
|
5171
5247
|
e.errorBar.visible ? (v(), i("path", {
|
|
5172
5248
|
key: 1,
|
|
5173
5249
|
class: "waveform-legend__error-bar",
|
|
5174
|
-
d: E(
|
|
5250
|
+
d: E(wo)(e.errorBar.capWidth),
|
|
5175
5251
|
stroke: e.errorBar.color || e.color,
|
|
5176
5252
|
"stroke-width": e.errorBar.width,
|
|
5177
5253
|
"stroke-linecap": "butt",
|
|
5178
5254
|
fill: "none"
|
|
5179
|
-
}, null, 8,
|
|
5255
|
+
}, null, 8, fs)) : r("", !0),
|
|
5180
5256
|
e.pointType === "none" ? r("", !0) : (v(), i("path", {
|
|
5181
5257
|
key: 2,
|
|
5182
5258
|
class: "waveform-legend__point",
|
|
5183
|
-
d: E(
|
|
5259
|
+
d: E(bo)(e.pointType, 30) ?? void 0,
|
|
5184
5260
|
fill: e.color,
|
|
5185
5261
|
transform: "translate(13 8)"
|
|
5186
|
-
}, null, 8,
|
|
5187
|
-
], 8,
|
|
5262
|
+
}, null, 8, ps))
|
|
5263
|
+
], 8, us)), a("span", {
|
|
5188
5264
|
class: "waveform-legend__label",
|
|
5189
5265
|
title: e.name
|
|
5190
|
-
}, w(e.name), 9,
|
|
5266
|
+
}, w(e.name), 9, ms)], 10, ls))), 128))], 6)], 2)], 8, cs));
|
|
5191
5267
|
}
|
|
5192
|
-
}), [["__scopeId", "data-v-2ae12e71"]]),
|
|
5268
|
+
}), [["__scopeId", "data-v-2ae12e71"]]), gs = {
|
|
5193
5269
|
class: "waveform-chart__hover-layer",
|
|
5194
5270
|
"pointer-events": "none",
|
|
5195
5271
|
"aria-hidden": "true"
|
|
5196
|
-
},
|
|
5272
|
+
}, _s = ["clip-path", "transform"], vs = [
|
|
5197
5273
|
"x1",
|
|
5198
5274
|
"x2",
|
|
5199
5275
|
"y2"
|
|
5200
|
-
],
|
|
5276
|
+
], ys = /*#__PURE__*/ et(/* @__PURE__ */ l({
|
|
5201
5277
|
__name: "WaveformHoverLayer",
|
|
5202
5278
|
props: {
|
|
5203
5279
|
state: {},
|
|
@@ -5213,7 +5289,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
5213
5289
|
x: e.xScale(n)
|
|
5214
5290
|
}] : [];
|
|
5215
5291
|
}));
|
|
5216
|
-
return (t, r) => (v(), i("g",
|
|
5292
|
+
return (t, r) => (v(), i("g", gs, [(v(!0), i(e, null, x(o.value, (e) => (v(), i("g", {
|
|
5217
5293
|
key: e.track.index,
|
|
5218
5294
|
class: "waveform-track__crosshair waveform-chart__crosshair",
|
|
5219
5295
|
"clip-path": `url(#${n.clipPathId}-${e.track.index})`,
|
|
@@ -5223,9 +5299,9 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
5223
5299
|
x2: e.x,
|
|
5224
5300
|
y1: "0",
|
|
5225
5301
|
y2: e.track.height
|
|
5226
|
-
}, null, 8,
|
|
5302
|
+
}, null, 8, vs)], 8, _s))), 128))]));
|
|
5227
5303
|
}
|
|
5228
|
-
}), [["__scopeId", "data-v-54a5a37d"]]),
|
|
5304
|
+
}), [["__scopeId", "data-v-54a5a37d"]]), bs = [
|
|
5229
5305
|
"data-display-mode",
|
|
5230
5306
|
"data-interaction-mode",
|
|
5231
5307
|
"data-presentation-mode",
|
|
@@ -5234,37 +5310,37 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
5234
5310
|
"data-plot-margin-top",
|
|
5235
5311
|
"data-plot-margin-bottom",
|
|
5236
5312
|
"data-title-area-height"
|
|
5237
|
-
],
|
|
5313
|
+
], xs = [
|
|
5238
5314
|
"role",
|
|
5239
5315
|
"aria-level",
|
|
5240
5316
|
"aria-hidden"
|
|
5241
|
-
],
|
|
5317
|
+
], Ss = ["data-title-scale", "data-title-wrapped"], Cs = [
|
|
5242
5318
|
"width",
|
|
5243
5319
|
"height",
|
|
5244
5320
|
"aria-label"
|
|
5245
|
-
],
|
|
5321
|
+
], ws = ["id"], Ts = ["width", "height"], Es = ["transform"], Ds = {
|
|
5246
5322
|
key: 0,
|
|
5247
5323
|
class: "waveform-chart__grid-slots",
|
|
5248
5324
|
"aria-hidden": "true"
|
|
5249
|
-
},
|
|
5325
|
+
}, Os = ["transform"], ks = ["width", "height"], As = ["width", "height"], js = [
|
|
5250
5326
|
"x",
|
|
5251
5327
|
"y",
|
|
5252
5328
|
"width",
|
|
5253
5329
|
"height"
|
|
5254
|
-
],
|
|
5330
|
+
], Ms = {
|
|
5255
5331
|
key: 4,
|
|
5256
5332
|
class: "waveform-chart__legend-layer"
|
|
5257
|
-
},
|
|
5333
|
+
}, Ns = [
|
|
5258
5334
|
"data-legend-track-index",
|
|
5259
5335
|
"data-legend-track-id",
|
|
5260
5336
|
"transform"
|
|
5261
|
-
],
|
|
5337
|
+
], Ps = ["x", "y"], Fs = ["x", "y"], Is = /* @__PURE__ */ l({
|
|
5262
5338
|
__name: "WaveformChartView",
|
|
5263
5339
|
props: { controller: {} },
|
|
5264
5340
|
setup(t) {
|
|
5265
|
-
let { displayMode: o, activeInteractionMode: c, isCleanView: l, isPresentationMode: u, selection: d, containerStyle: f, overlayMode: h, resolvedChartLeftMargin: g, titleAreaHeight: _, resolvedPlotMargin: y, pointerInsideChart: b, handleNativeContextMenu: S, titleAreaReserved: C, titleAreaStyle: D, titleVisible: O, titleMeasureStyle: k, resolvedTitleText: A, titleVisualStyle: j, titleTextStyle: M, titleLayout: N, chartWidth: P, drawingHeight: F, hasWaveformData: I, requestViewportReset: L, trackLayouts: R, clipPathId: z, chartTopMargin: B, gridCells: V, hasVisibleWaveformData: H, zoomable: U, isZoomMode: W, innerWidth:
|
|
5341
|
+
let { displayMode: o, activeInteractionMode: c, isCleanView: l, isPresentationMode: u, selection: d, containerStyle: f, overlayMode: h, resolvedChartLeftMargin: g, titleAreaHeight: _, resolvedPlotMargin: y, pointerInsideChart: b, handleNativeContextMenu: S, titleAreaReserved: C, titleAreaStyle: D, titleVisible: O, titleMeasureStyle: k, resolvedTitleText: A, titleVisualStyle: j, titleTextStyle: M, titleLayout: N, chartWidth: P, drawingHeight: F, hasWaveformData: I, requestViewportReset: L, trackLayouts: R, clipPathId: z, chartTopMargin: B, gridCells: V, hasVisibleWaveformData: H, zoomable: U, isZoomMode: W, innerWidth: G, innerHeight: ee, handleSharedPointerMove: te, beginSharedViewportDrag: ne, finishViewportDrag: re, cancelViewportDrag: K, handlePointerLeave: q, handleAnnotationClick: J, handleAnnotationContextMenu: ie, resolveFrameNumber: ae, frameStyle: se, axes: ce, resolvedZeroLine: le, timeUnit: ue, yLabel: Y, handleIndependentPointerMove: de, beginViewportDrag: fe, hoverState: pe, showTooltip: me, selectionBox: he, renderedAnnotations: ge, annotationsVisible: _e, handleExistingAnnotationContextMenu: ve, beginAnnotationDrag: ye, handleAnnotationMove: be, endAnnotationDrag: xe, resolveLegendPosition: X, resolveLegendOrientation: Se, legendBackgroundColor: Ce, legendInteractive: we, resolvedHiddenSeriesIds: Te, toggleSeriesVisibility: Ee, resolvedXLabel: De, xAxisTitleY: Oe, hasChartArea: ke, gridOptions: Ae, pageCount: je, currentPage: Me, getPageSize: Ne, pageableTracks: Pe, goToPage: Fe, annotationInteraction: Ie, editorDraft: Le, contextMenu: Re, editorSeries: ze, editorSeriesOptions: Be, timeError: Ve, confirmAnnotation: He, cancelAnnotation: Ue, changeDraftSeries: We, changeDraftTime: Ge, editContextAnnotation: Ke, deleteContextAnnotation: qe, chartHeight: Je, setContainer: Ye, setSvgElement: Xe, setTitleMeasureElement: Ze, setSharedOverlayElement: Qe } = T(t.controller);
|
|
5266
5342
|
function $e() {
|
|
5267
|
-
b.value = !1,
|
|
5343
|
+
b.value = !1, q.value();
|
|
5268
5344
|
}
|
|
5269
5345
|
return (t, T) => (v(), i("div", {
|
|
5270
5346
|
ref: E(Ye),
|
|
@@ -5311,7 +5387,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
5311
5387
|
style: m(E(M)),
|
|
5312
5388
|
"data-title-scale": E(N).scale,
|
|
5313
5389
|
"data-title-wrapped": E(N).wrapped || void 0
|
|
5314
|
-
}, w(E(A)), 13,
|
|
5390
|
+
}, w(E(A)), 13, Ss)], 4)) : r("", !0)], 12, xs)) : r("", !0),
|
|
5315
5391
|
(v(), i("svg", {
|
|
5316
5392
|
ref: E(Xe),
|
|
5317
5393
|
class: "waveform-chart__svg",
|
|
@@ -5328,9 +5404,9 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
5328
5404
|
}, [a("rect", {
|
|
5329
5405
|
width: e.width,
|
|
5330
5406
|
height: e.height
|
|
5331
|
-
}, null, 8,
|
|
5407
|
+
}, null, 8, Ts)], 8, ws))), 128))]),
|
|
5332
5408
|
a("g", { transform: `translate(${E(g)}, ${E(B)})` }, [
|
|
5333
|
-
E(o) !== "compact" && !E(l) ? (v(), i("g",
|
|
5409
|
+
E(o) !== "compact" && !E(l) ? (v(), i("g", Ds, [(v(!0), i(e, null, x(E(V), (e) => (v(), i("g", {
|
|
5334
5410
|
key: `grid-slot-${e.slotIndex}`,
|
|
5335
5411
|
transform: `translate(${e.left}, ${e.top})`
|
|
5336
5412
|
}, [e.series ? r("", !0) : (v(), i("rect", {
|
|
@@ -5338,7 +5414,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
5338
5414
|
class: "waveform-chart__grid-slot-placeholder",
|
|
5339
5415
|
width: e.width,
|
|
5340
5416
|
height: e.cellHeight
|
|
5341
|
-
}, null, 8,
|
|
5417
|
+
}, null, 8, ks))], 8, Os))), 128))])) : r("", !0),
|
|
5342
5418
|
E(o) !== "independent" && E(R).length && E(H) ? (v(), i("rect", {
|
|
5343
5419
|
key: 1,
|
|
5344
5420
|
ref: E(Qe),
|
|
@@ -5346,39 +5422,39 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
5346
5422
|
"is-zoomable": !E(u) && E(U) && E(W),
|
|
5347
5423
|
"is-annotating": !E(u) && E(c) === "annotation"
|
|
5348
5424
|
}]),
|
|
5349
|
-
width: E(
|
|
5350
|
-
height: E(
|
|
5351
|
-
onPointermove: T[0] ||= (...e) => E(
|
|
5352
|
-
onPointerdown: T[1] ||= (...e) => E(
|
|
5353
|
-
onPointerup: T[2] ||= (...e) => E(
|
|
5354
|
-
onPointercancel: T[3] ||= (...e) => E(
|
|
5355
|
-
onPointerleave: T[4] ||= (...e) => E(
|
|
5356
|
-
onClick: T[5] ||= (...e) => E(
|
|
5357
|
-
onContextmenu: T[6] ||= (...e) => E(
|
|
5358
|
-
}, null, 42,
|
|
5359
|
-
(v(!0), i(e, null, x(E(R), (e) => (v(), n(E(
|
|
5425
|
+
width: E(G),
|
|
5426
|
+
height: E(ee),
|
|
5427
|
+
onPointermove: T[0] ||= (...e) => E(te) && E(te)(...e),
|
|
5428
|
+
onPointerdown: T[1] ||= (...e) => E(ne) && E(ne)(...e),
|
|
5429
|
+
onPointerup: T[2] ||= (...e) => E(re) && E(re)(...e),
|
|
5430
|
+
onPointercancel: T[3] ||= (...e) => E(K) && E(K)(...e),
|
|
5431
|
+
onPointerleave: T[4] ||= (...e) => E(q) && E(q)(...e),
|
|
5432
|
+
onClick: T[5] ||= (...e) => E(J) && E(J)(...e),
|
|
5433
|
+
onContextmenu: T[6] ||= (...e) => E(ie) && E(ie)(...e)
|
|
5434
|
+
}, null, 42, As)) : r("", !0),
|
|
5435
|
+
(v(!0), i(e, null, x(E(R), (e) => (v(), n(E(ss), {
|
|
5360
5436
|
key: `${e.index}-${e.id}`,
|
|
5361
5437
|
track: e,
|
|
5362
5438
|
"clip-path-id": E(z),
|
|
5363
|
-
"inner-width": E(
|
|
5439
|
+
"inner-width": E(G),
|
|
5364
5440
|
zoomable: E(U),
|
|
5365
5441
|
interactive: !E(u),
|
|
5366
5442
|
"display-mode": E(o),
|
|
5367
5443
|
"interaction-mode": E(c),
|
|
5368
|
-
"frame-number": E(
|
|
5369
|
-
"frame-style": E(
|
|
5370
|
-
axes: E(
|
|
5444
|
+
"frame-number": E(ae)(e.id),
|
|
5445
|
+
"frame-style": E(se),
|
|
5446
|
+
axes: E(ce),
|
|
5371
5447
|
"clean-view": E(l),
|
|
5372
|
-
"zero-line": E(
|
|
5373
|
-
"time-unit": E(
|
|
5374
|
-
"y-label": E(
|
|
5375
|
-
onPointerMove: (t) => E(
|
|
5376
|
-
onPointerDown: (t) => E(
|
|
5377
|
-
onPointerUp: E(
|
|
5378
|
-
onPointerCancel: E(
|
|
5379
|
-
onPointerLeave: E(
|
|
5380
|
-
onClick: (t) => E(
|
|
5381
|
-
onContextmenu: (t) => E(
|
|
5448
|
+
"zero-line": E(le),
|
|
5449
|
+
"time-unit": E(ue),
|
|
5450
|
+
"y-label": E(Y),
|
|
5451
|
+
onPointerMove: (t) => E(de)(t, e.index),
|
|
5452
|
+
onPointerDown: (t) => E(fe)(t, e.index, !0),
|
|
5453
|
+
onPointerUp: E(re),
|
|
5454
|
+
onPointerCancel: E(K),
|
|
5455
|
+
onPointerLeave: E(q),
|
|
5456
|
+
onClick: (t) => E(J)(t, e.index),
|
|
5457
|
+
onContextmenu: (t) => E(ie)(t, e.index)
|
|
5382
5458
|
}, null, 8, [
|
|
5383
5459
|
"track",
|
|
5384
5460
|
"clip-path-id",
|
|
@@ -5402,7 +5478,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
5402
5478
|
"onClick",
|
|
5403
5479
|
"onContextmenu"
|
|
5404
5480
|
]))), 128)),
|
|
5405
|
-
s(E(
|
|
5481
|
+
s(E(ys), {
|
|
5406
5482
|
state: E(pe),
|
|
5407
5483
|
tracks: E(R),
|
|
5408
5484
|
"clip-path-id": E(z),
|
|
@@ -5421,7 +5497,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
5421
5497
|
width: E(he).width,
|
|
5422
5498
|
height: E(he).height,
|
|
5423
5499
|
"aria-hidden": "true"
|
|
5424
|
-
}, null, 8,
|
|
5500
|
+
}, null, 8, js)) : r("", !0),
|
|
5425
5501
|
E(l) ? r("", !0) : (v(), n(E(tt), {
|
|
5426
5502
|
key: 3,
|
|
5427
5503
|
annotations: E(ge),
|
|
@@ -5440,13 +5516,13 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
5440
5516
|
"onMove",
|
|
5441
5517
|
"onDragEnd"
|
|
5442
5518
|
])),
|
|
5443
|
-
E(l) ? r("", !0) : (v(), i("g",
|
|
5519
|
+
E(l) ? r("", !0) : (v(), i("g", Ms, [(v(!0), i(e, null, x(E(R), (e) => (v(), i("g", {
|
|
5444
5520
|
key: `legend-${e.index}-${e.id}`,
|
|
5445
5521
|
class: "waveform-chart__legend-track",
|
|
5446
5522
|
"data-legend-track-index": e.index,
|
|
5447
5523
|
"data-legend-track-id": e.id,
|
|
5448
5524
|
transform: `translate(${e.left}, ${e.top})`
|
|
5449
|
-
}, [!e.isEmpty && e.legendSeries.length > 1 ? (v(), n(E(
|
|
5525
|
+
}, [!e.isEmpty && e.legendSeries.length > 1 ? (v(), n(E(hs), {
|
|
5450
5526
|
key: 0,
|
|
5451
5527
|
series: e.legendSeries,
|
|
5452
5528
|
position: E(X)(e.id),
|
|
@@ -5454,7 +5530,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
5454
5530
|
"background-color": E(Ce),
|
|
5455
5531
|
interactive: E(we),
|
|
5456
5532
|
"hidden-series-ids": E(Te),
|
|
5457
|
-
width: e.width ?? E(
|
|
5533
|
+
width: e.width ?? E(G),
|
|
5458
5534
|
height: e.height,
|
|
5459
5535
|
onToggle: E(Ee)
|
|
5460
5536
|
}, null, 8, [
|
|
@@ -5467,24 +5543,24 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
5467
5543
|
"width",
|
|
5468
5544
|
"height",
|
|
5469
5545
|
"onToggle"
|
|
5470
|
-
])) : r("", !0)], 8,
|
|
5471
|
-
], 8,
|
|
5546
|
+
])) : r("", !0)], 8, Ns))), 128))]))
|
|
5547
|
+
], 8, Es),
|
|
5472
5548
|
E(De) && !E(l) ? (v(), i("text", {
|
|
5473
5549
|
key: 0,
|
|
5474
5550
|
class: "waveform-chart__label waveform-chart__x-label",
|
|
5475
|
-
x: E(g) + E(
|
|
5551
|
+
x: E(g) + E(G) / 2,
|
|
5476
5552
|
y: E(Oe),
|
|
5477
5553
|
"text-anchor": "middle"
|
|
5478
|
-
}, w(E(De)), 9,
|
|
5554
|
+
}, w(E(De)), 9, Ps)) : r("", !0),
|
|
5479
5555
|
E(ke) && !E(I) ? (v(), i("text", {
|
|
5480
5556
|
key: 1,
|
|
5481
5557
|
class: "waveform-chart__empty",
|
|
5482
5558
|
x: E(P) / 2,
|
|
5483
5559
|
y: E(F) / 2,
|
|
5484
5560
|
"text-anchor": "middle"
|
|
5485
|
-
}, " 暂无有效波形数据 ", 8,
|
|
5486
|
-
], 40,
|
|
5487
|
-
E(Ae).showPagination && E(je) > 1 && !E(l) ? (v(), n(E(
|
|
5561
|
+
}, " 暂无有效波形数据 ", 8, Fs)) : r("", !0)
|
|
5562
|
+
], 40, Cs)),
|
|
5563
|
+
E(Ae).showPagination && E(je) > 1 && !E(l) ? (v(), n(E(oe), {
|
|
5488
5564
|
key: 1,
|
|
5489
5565
|
class: "waveform-chart__pagination",
|
|
5490
5566
|
"aria-label": "波形分页",
|
|
@@ -5500,13 +5576,13 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
5500
5576
|
"total",
|
|
5501
5577
|
"onChange"
|
|
5502
5578
|
])) : r("", !0),
|
|
5503
|
-
E(Le) && !E(l) && !E(u) ? (v(), n(
|
|
5579
|
+
E(Le) && !E(l) && !E(u) ? (v(), n(eo, {
|
|
5504
5580
|
key: 2,
|
|
5505
5581
|
annotation: E(Le).annotation,
|
|
5506
5582
|
mode: E(Le).mode,
|
|
5507
5583
|
series: E(ze),
|
|
5508
5584
|
"series-options": E(Be),
|
|
5509
|
-
"time-unit": E(
|
|
5585
|
+
"time-unit": E(ue),
|
|
5510
5586
|
"time-error": E(Ve),
|
|
5511
5587
|
onConfirm: E(He),
|
|
5512
5588
|
onCancel: E(Ue),
|
|
@@ -5542,10 +5618,10 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
5542
5618
|
"onDelete",
|
|
5543
5619
|
"onClose"
|
|
5544
5620
|
])) : r("", !0),
|
|
5545
|
-
s(E(
|
|
5621
|
+
s(E(po), {
|
|
5546
5622
|
state: E(pe),
|
|
5547
5623
|
visible: E(me) && !E(u),
|
|
5548
|
-
"time-unit": E(
|
|
5624
|
+
"time-unit": E(ue),
|
|
5549
5625
|
"container-width": E(P),
|
|
5550
5626
|
"container-height": E(Je)
|
|
5551
5627
|
}, null, 8, [
|
|
@@ -5555,9 +5631,9 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
5555
5631
|
"container-width",
|
|
5556
5632
|
"container-height"
|
|
5557
5633
|
])
|
|
5558
|
-
], 46,
|
|
5634
|
+
], 46, bs));
|
|
5559
5635
|
}
|
|
5560
|
-
}),
|
|
5636
|
+
}), Ls = /* @__PURE__ */ l({
|
|
5561
5637
|
__name: "WaveformChart",
|
|
5562
5638
|
props: {
|
|
5563
5639
|
data: {},
|
|
@@ -5625,6 +5701,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
5625
5701
|
},
|
|
5626
5702
|
emits: [
|
|
5627
5703
|
"point-hover",
|
|
5704
|
+
"zoom-intent",
|
|
5628
5705
|
"zoom-change",
|
|
5629
5706
|
"zoom-end",
|
|
5630
5707
|
"zoom-reset",
|
|
@@ -5640,12 +5717,12 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
5640
5717
|
"sampling-error"
|
|
5641
5718
|
],
|
|
5642
5719
|
setup(e, { expose: t, emit: r }) {
|
|
5643
|
-
let i =
|
|
5720
|
+
let i = Fa(e, r);
|
|
5644
5721
|
return t({
|
|
5645
5722
|
resetViewport: i.resetViewport,
|
|
5646
5723
|
setViewportDomain: i.setViewportDomain
|
|
5647
|
-
}), (e, t) => (v(), n(
|
|
5724
|
+
}), (e, t) => (v(), n(Is, { controller: E(i) }, null, 8, ["controller"]));
|
|
5648
5725
|
}
|
|
5649
5726
|
});
|
|
5650
5727
|
//#endregion
|
|
5651
|
-
export { Q as DEFAULT_WAVEFORM_RENDERING_OPTIONS,
|
|
5728
|
+
export { Q as DEFAULT_WAVEFORM_RENDERING_OPTIONS, Ls as WaveformChart, gt as buildMinorTicks, bi as calculateWasmRange, It as clamp, kt as displayTime, xi as findWasmVisibleRange, Mt as formatAxisTime, jt as formatEndpointTime, Nt as formatTooltipTime, vi as initializeWasmSampling, sn as normalizeWaveformData, un as normalizeWaveformSeries, ht as paddedDomain, pt as parseWaveformAnnotations, Ft as resolveTrackGeometry, Tn as resolveWaveformRenderingOptions, yi as sampleWaveformWasm, Nn as selectRenderablePoints, ft as serializeWaveformAnnotations };
|