waveform-analysis 0.1.60 → 0.1.61
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
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 _,
|
|
2
|
-
import { axisBottom as
|
|
3
|
-
import { InputNumber as
|
|
1
|
+
import { Fragment as e, computed as t, createBlock as n, createCommentVNode as r, createElementBlock as i, createElementVNode as a, createTextVNode as o, createVNode as s, defineAsyncComponent as c, defineComponent as l, getCurrentInstance as u, markRaw as d, nextTick as f, normalizeClass as p, normalizeStyle as m, onBeforeUnmount as h, onMounted as g, onScopeDispose as _, onUpdated as v, openBlock as y, reactive as b, ref as x, renderList as S, shallowReactive as C, shallowRef as w, toDisplayString as T, toRefs as E, unref as D, vModelText as O, watch as k, watchEffect as A, withCtx as j, withDirectives as M, withModifiers as N } from "vue";
|
|
2
|
+
import { axisBottom as P, axisLeft as F, axisRight as I, bisector as L, curveStep as R, curveStepAfter as z, curveStepBefore as B, extent as V, line as H, pointer as U, scaleLinear as W, select as G, symbol as ee, symbolCircle as te, symbolDiamond as ne, symbolSquare as re, symbolTriangle as K, zoom as q, zoomIdentity as J, zoomTransform as ie } from "d3";
|
|
3
|
+
import { InputNumber as ae, Modal as oe, Pagination as se } from "ant-design-vue";
|
|
4
4
|
//#region src/utils/waveformId.ts
|
|
5
|
-
var
|
|
6
|
-
function
|
|
5
|
+
var ce = 0;
|
|
6
|
+
function le(e = "waveform") {
|
|
7
7
|
let t = u();
|
|
8
|
-
return `${e}-${t ? `v${t.uid}` : `f${++
|
|
8
|
+
return `${e}-${t ? `v${t.uid}` : `f${++ce}`}`;
|
|
9
9
|
}
|
|
10
10
|
//#endregion
|
|
11
11
|
//#region src/core/compactSamplePointSource.ts
|
|
12
|
-
function
|
|
12
|
+
function ue(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 le(e, t, n, r) {
|
|
|
17
17
|
}
|
|
18
18
|
return i;
|
|
19
19
|
}
|
|
20
|
-
function
|
|
20
|
+
function de(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 ue(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: ue(e.length, i, n, !1),
|
|
37
|
+
end: ue(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 = ue(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() {
|
|
@@ -71,14 +71,14 @@ function ue(e, t, n, r) {
|
|
|
71
71
|
function Y(e) {
|
|
72
72
|
return typeof e == "number" && Number.isFinite(e) && e >= 0 ? e : void 0;
|
|
73
73
|
}
|
|
74
|
-
function
|
|
74
|
+
function fe(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 X(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);
|
|
@@ -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 = fe(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: X(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 = X(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) {
|
|
@@ -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 = fe(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: X(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 = X(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) {
|
|
@@ -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 de(/* @__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 de(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());
|
|
@@ -256,7 +256,7 @@ function be(e) {
|
|
|
256
256
|
function xe(e, t) {
|
|
257
257
|
return e.kind === "typed-samples" ? ye(e) : e.kind === "typed-points" ? be(e) : new he(t(e));
|
|
258
258
|
}
|
|
259
|
-
function
|
|
259
|
+
function Z(e) {
|
|
260
260
|
return new he(e);
|
|
261
261
|
}
|
|
262
262
|
function Se(e) {
|
|
@@ -438,10 +438,10 @@ var Ne = {
|
|
|
438
438
|
backgroundColor: "rgba(255, 255, 255, 0.92)"
|
|
439
439
|
}, Pe = "12px Arial, sans-serif";
|
|
440
440
|
function Fe(e) {
|
|
441
|
-
return Ce(e) ? e :
|
|
441
|
+
return Ce(e) ? e : Z(e);
|
|
442
442
|
}
|
|
443
443
|
function Ie(e, t, n) {
|
|
444
|
-
let r = null, i = e.series.source ??
|
|
444
|
+
let r = null, i = e.series.source ?? Z(e.series.points);
|
|
445
445
|
for (let a = 0; a < i.length; a += 1) {
|
|
446
446
|
let o = i.pointAt(a);
|
|
447
447
|
if (!Number.isFinite(o.x) || !Number.isFinite(o.y)) continue;
|
|
@@ -510,9 +510,9 @@ function ze(e, t, n, r) {
|
|
|
510
510
|
...t
|
|
511
511
|
}] : [];
|
|
512
512
|
}
|
|
513
|
-
let i = Re(e.series.source ??
|
|
513
|
+
let i = Re(e.series.source ?? Z(e.series.points), t, e.series.lineType);
|
|
514
514
|
if (!i) return [];
|
|
515
|
-
let a = Le(e.series.source ??
|
|
515
|
+
let a = Le(e.series.source ?? Z(e.series.points), t);
|
|
516
516
|
if (!a) return [];
|
|
517
517
|
let o = e.xScale(i.x), s = e.top + e.yScale(i.y), c = e.xScale(a.x), l = e.top + e.yScale(a.y);
|
|
518
518
|
return [{
|
|
@@ -598,7 +598,7 @@ var Ke = [
|
|
|
598
598
|
"drag-end"
|
|
599
599
|
],
|
|
600
600
|
setup(n, { emit: o }) {
|
|
601
|
-
let s = n, c = o, l =
|
|
601
|
+
let s = n, c = o, l = x(/* @__PURE__ */ new Map()), u = x(null), d = null, f = null, h = 0, g = t(() => {
|
|
602
602
|
let e = /* @__PURE__ */ new Map();
|
|
603
603
|
return s.annotations.forEach((t) => {
|
|
604
604
|
let n = l.value.get(t.annotation.id);
|
|
@@ -614,14 +614,14 @@ var Ke = [
|
|
|
614
614
|
function _(e) {
|
|
615
615
|
return g.value.get(e.annotation.id) ?? e.box;
|
|
616
616
|
}
|
|
617
|
-
function
|
|
617
|
+
function v() {
|
|
618
618
|
f = null, d && (l.value = new Map(l.value).set(d.annotationId, {
|
|
619
619
|
x: d.deltaX,
|
|
620
620
|
y: d.deltaY
|
|
621
621
|
}));
|
|
622
622
|
}
|
|
623
|
-
function
|
|
624
|
-
f === null && (f = requestAnimationFrame(
|
|
623
|
+
function b() {
|
|
624
|
+
f === null && (f = requestAnimationFrame(v));
|
|
625
625
|
}
|
|
626
626
|
function C(e, t) {
|
|
627
627
|
if (!s.interactive || t.button !== 0 || d) return;
|
|
@@ -643,12 +643,12 @@ var Ke = [
|
|
|
643
643
|
target: n
|
|
644
644
|
};
|
|
645
645
|
}
|
|
646
|
-
function
|
|
646
|
+
function w(e) {
|
|
647
647
|
if (!s.interactive || (e.stopPropagation(), !d || e.pointerId !== d.pointerId)) return;
|
|
648
648
|
let t = e.clientX - d.startX, n = e.clientY - d.startY;
|
|
649
|
-
d.deltaX = t, d.deltaY = n, d.moved = d.moved || Math.hypot(t, n) >= 2, d.moved &&
|
|
649
|
+
d.deltaX = t, d.deltaY = n, d.moved = d.moved || Math.hypot(t, n) >= 2, d.moved && b();
|
|
650
650
|
}
|
|
651
|
-
function
|
|
651
|
+
function E(e) {
|
|
652
652
|
if (!s.interactive || (e.preventDefault(), e.stopPropagation(), !d || e.pointerId !== d.pointerId)) return;
|
|
653
653
|
let t = d, n = e.clientX - t.startX, r = e.clientY - t.startY;
|
|
654
654
|
if (t.deltaX = n, t.deltaY = r, t.moved = Math.hypot(n, r) >= 2, t.moved = t.moved || Math.hypot(n, r) >= 2, f !== null && (cancelAnimationFrame(f), f = null), t.moved) {
|
|
@@ -665,7 +665,7 @@ var Ke = [
|
|
|
665
665
|
} else d = null;
|
|
666
666
|
t.target.hasPointerCapture(t.pointerId) && t.target.releasePointerCapture(t.pointerId), c("drag-end", !1);
|
|
667
667
|
}
|
|
668
|
-
|
|
668
|
+
k(() => s.annotations, (e) => {
|
|
669
669
|
let t = u.value;
|
|
670
670
|
if (!t) return;
|
|
671
671
|
let n = e.find((e) => e.annotation.id === t.annotationId);
|
|
@@ -676,7 +676,7 @@ var Ke = [
|
|
|
676
676
|
y: 0
|
|
677
677
|
}), u.value = null);
|
|
678
678
|
});
|
|
679
|
-
function
|
|
679
|
+
function O(e) {
|
|
680
680
|
e.preventDefault(), e.stopPropagation(), !(!d || e.pointerId !== d.pointerId) && A();
|
|
681
681
|
}
|
|
682
682
|
function A() {
|
|
@@ -687,7 +687,7 @@ var Ke = [
|
|
|
687
687
|
y: 0
|
|
688
688
|
}), f !== null && (cancelAnimationFrame(f), f = null), e.target.hasPointerCapture(e.pointerId) && e.target.releasePointerCapture(e.pointerId), c("drag-end", !0);
|
|
689
689
|
}
|
|
690
|
-
|
|
690
|
+
k(() => s.interactive, (e) => {
|
|
691
691
|
e || A();
|
|
692
692
|
});
|
|
693
693
|
function j(e, t) {
|
|
@@ -696,18 +696,18 @@ var Ke = [
|
|
|
696
696
|
function M(e) {
|
|
697
697
|
return `waveform-annotation-arrow-${e.replace(/[^a-zA-Z0-9_-]/g, "-")}`;
|
|
698
698
|
}
|
|
699
|
-
return (t, n) => s.visible ? (
|
|
699
|
+
return (t, n) => s.visible ? (y(), i("g", {
|
|
700
700
|
key: 0,
|
|
701
701
|
class: p(["waveform-annotation-layer", { "waveform-annotation-layer--interactive": s.interactive }])
|
|
702
|
-
}, [(
|
|
702
|
+
}, [(y(!0), i(e, null, S(s.annotations, (t) => (y(), i("g", {
|
|
703
703
|
key: t.annotation.id,
|
|
704
704
|
class: "waveform-annotation",
|
|
705
705
|
"data-annotation-id": t.annotation.id,
|
|
706
706
|
"data-placement": t.placement,
|
|
707
707
|
onPointerdown: (e) => C(t, e),
|
|
708
|
-
onPointermove:
|
|
709
|
-
onPointerup:
|
|
710
|
-
onPointercancel:
|
|
708
|
+
onPointermove: w,
|
|
709
|
+
onPointerup: E,
|
|
710
|
+
onPointercancel: O,
|
|
711
711
|
onContextmenu: (e) => j(t.annotation.id, e)
|
|
712
712
|
}, [
|
|
713
713
|
a("defs", null, [a("marker", {
|
|
@@ -743,16 +743,16 @@ var Ke = [
|
|
|
743
743
|
a("text", {
|
|
744
744
|
class: "waveform-annotation__text",
|
|
745
745
|
x: _(t).x + _(t).width / 2,
|
|
746
|
-
y: _(t).y + _(t).height / 2 - (t.lines.length - 1) *
|
|
746
|
+
y: _(t).y + _(t).height / 2 - (t.lines.length - 1) * D(16) / 2,
|
|
747
747
|
fill: t.style.textColor,
|
|
748
|
-
style: m({ font:
|
|
748
|
+
style: m({ font: D(Pe) }),
|
|
749
749
|
"text-anchor": "middle",
|
|
750
750
|
"dominant-baseline": "central"
|
|
751
|
-
}, [(
|
|
751
|
+
}, [(y(!0), i(e, null, S(t.lines, (e, n) => (y(), i("tspan", {
|
|
752
752
|
key: `${t.annotation.id}-${n}`,
|
|
753
753
|
x: _(t).x + _(t).width / 2,
|
|
754
|
-
dy: n === 0 ? 0 :
|
|
755
|
-
},
|
|
754
|
+
dy: n === 0 ? 0 : D(16)
|
|
755
|
+
}, T(e), 9, Qe))), 128))], 12, Ze)
|
|
756
756
|
], 40, Ke))), 128))], 2)) : r("", !0);
|
|
757
757
|
}
|
|
758
758
|
}), et = (e, t) => {
|
|
@@ -774,7 +774,7 @@ var Ke = [
|
|
|
774
774
|
],
|
|
775
775
|
setup(e, { emit: t }) {
|
|
776
776
|
let n = e, o = t;
|
|
777
|
-
return (e, t) => n.visible && n.canEdit ? (
|
|
777
|
+
return (e, t) => n.visible && n.canEdit ? (y(), i("div", {
|
|
778
778
|
key: 0,
|
|
779
779
|
class: "waveform-annotation-context-menu",
|
|
780
780
|
style: m({
|
|
@@ -782,7 +782,7 @@ var Ke = [
|
|
|
782
782
|
top: `${n.y}px`
|
|
783
783
|
}),
|
|
784
784
|
role: "menu",
|
|
785
|
-
onContextmenu: t[3] ||=
|
|
785
|
+
onContextmenu: t[3] ||= N(() => {}, ["prevent"])
|
|
786
786
|
}, [
|
|
787
787
|
a("button", {
|
|
788
788
|
type: "button",
|
|
@@ -802,7 +802,7 @@ var Ke = [
|
|
|
802
802
|
], 36)) : r("", !0);
|
|
803
803
|
}
|
|
804
804
|
}), [["__scopeId", "data-v-c70c98a1"]]), rt = 1;
|
|
805
|
-
function
|
|
805
|
+
function Q(e) {
|
|
806
806
|
throw TypeError(`Invalid waveform annotation file: ${e}`);
|
|
807
807
|
}
|
|
808
808
|
function it(e) {
|
|
@@ -810,23 +810,23 @@ function it(e) {
|
|
|
810
810
|
}
|
|
811
811
|
function at(e, t, n) {
|
|
812
812
|
let r = e[t];
|
|
813
|
-
return (typeof r != "string" || r.trim().length === 0) &&
|
|
813
|
+
return (typeof r != "string" || r.trim().length === 0) && Q(`${n}.${t} must be a non-empty string`), r;
|
|
814
814
|
}
|
|
815
815
|
function ot(e, t, n) {
|
|
816
816
|
let r = e[t];
|
|
817
|
-
if (r !== void 0) return typeof r != "string" &&
|
|
817
|
+
if (r !== void 0) return typeof r != "string" && Q(`${n}.${t} must be a string`), r;
|
|
818
818
|
}
|
|
819
819
|
function st(e, t, n) {
|
|
820
820
|
let r = e[t];
|
|
821
|
-
return (typeof r != "number" || !Number.isFinite(r)) &&
|
|
821
|
+
return (typeof r != "number" || !Number.isFinite(r)) && Q(`${n}.${t} must be a finite number`), r;
|
|
822
822
|
}
|
|
823
823
|
function ct(e, t, n) {
|
|
824
824
|
let r = e[t];
|
|
825
|
-
if (r !== void 0) return (typeof r != "number" || !Number.isFinite(r)) &&
|
|
825
|
+
if (r !== void 0) return (typeof r != "number" || !Number.isFinite(r)) && Q(`${n}.${t} must be a finite number`), r;
|
|
826
826
|
}
|
|
827
827
|
function lt(e, t) {
|
|
828
828
|
if (e === void 0) return;
|
|
829
|
-
it(e) ||
|
|
829
|
+
it(e) || Q(`${t} must be an object`);
|
|
830
830
|
let n = ot(e, "borderColor", t), r = ot(e, "textColor", t), i = ot(e, "backgroundColor", t);
|
|
831
831
|
return {
|
|
832
832
|
...n !== void 0 && { borderColor: n },
|
|
@@ -836,9 +836,9 @@ function lt(e, t) {
|
|
|
836
836
|
}
|
|
837
837
|
function ut(e, t) {
|
|
838
838
|
let n = `annotations[${t}]`;
|
|
839
|
-
it(e) ||
|
|
839
|
+
it(e) || Q(`${n} must be an object`);
|
|
840
840
|
let r = at(e, "text", n);
|
|
841
|
-
r.length > 40 &&
|
|
841
|
+
r.length > 40 && Q(`${n}.text must not exceed 40 characters`);
|
|
842
842
|
let i = ct(e, "labelOffsetX", n), a = ct(e, "labelOffsetY", n), o = ot(e, "createdAt", n), s = lt(e.style, `${n}.style`);
|
|
843
843
|
return {
|
|
844
844
|
id: at(e, "id", n),
|
|
@@ -855,7 +855,7 @@ function ut(e, t) {
|
|
|
855
855
|
function dt(e) {
|
|
856
856
|
let t = e.map(ut), n = /* @__PURE__ */ new Set();
|
|
857
857
|
return t.forEach((e, t) => {
|
|
858
|
-
n.has(e.id) &&
|
|
858
|
+
n.has(e.id) && Q(`annotations[${t}].id must be unique`), n.add(e.id);
|
|
859
859
|
}), t;
|
|
860
860
|
}
|
|
861
861
|
function ft(e) {
|
|
@@ -865,19 +865,19 @@ function ft(e) {
|
|
|
865
865
|
}, null, 2);
|
|
866
866
|
}
|
|
867
867
|
function pt(e) {
|
|
868
|
-
typeof e != "string" &&
|
|
868
|
+
typeof e != "string" && Q("input must be a JSON string");
|
|
869
869
|
let t;
|
|
870
870
|
try {
|
|
871
871
|
t = JSON.parse(e);
|
|
872
872
|
} catch {
|
|
873
|
-
|
|
873
|
+
Q("input is not valid JSON");
|
|
874
874
|
}
|
|
875
|
-
return it(t) ||
|
|
875
|
+
return it(t) || Q("root must be an object"), t.version !== rt && Q(`version must be ${rt}`), Array.isArray(t.annotations) || Q("annotations must be an array"), dt(t.annotations);
|
|
876
876
|
}
|
|
877
877
|
//#endregion
|
|
878
878
|
//#region src/components/annotation/useWaveformAnnotationInteraction.ts
|
|
879
879
|
function mt() {
|
|
880
|
-
let e =
|
|
880
|
+
let e = x(null), t = x(null);
|
|
881
881
|
return {
|
|
882
882
|
editorDraft: e,
|
|
883
883
|
contextMenu: t,
|
|
@@ -918,7 +918,7 @@ function mt() {
|
|
|
918
918
|
//#region src/utils/domain.ts
|
|
919
919
|
function ht(e) {
|
|
920
920
|
if (e.length === 0) return [0, 1];
|
|
921
|
-
let [t = 0, n = 1] =
|
|
921
|
+
let [t = 0, n = 1] = V(e);
|
|
922
922
|
if (t !== n) return [t, n];
|
|
923
923
|
let r = Math.abs(t) * .05 || .5;
|
|
924
924
|
return [t - r, n + r];
|
|
@@ -1236,7 +1236,7 @@ function hn(e) {
|
|
|
1236
1236
|
}
|
|
1237
1237
|
//#endregion
|
|
1238
1238
|
//#region src/core/renderingOptions.ts
|
|
1239
|
-
var
|
|
1239
|
+
var gn = {
|
|
1240
1240
|
downsample: !0,
|
|
1241
1241
|
downsampleThreshold: 2e3,
|
|
1242
1242
|
maxPointsPerPixel: 4,
|
|
@@ -1252,11 +1252,11 @@ var Q = {
|
|
|
1252
1252
|
rawPointLimit: 1e5,
|
|
1253
1253
|
wasmFailureFallback: "error"
|
|
1254
1254
|
}
|
|
1255
|
-
},
|
|
1255
|
+
}, _n = [
|
|
1256
1256
|
"auto",
|
|
1257
1257
|
"wasm",
|
|
1258
1258
|
"raw"
|
|
1259
|
-
],
|
|
1259
|
+
], vn = [
|
|
1260
1260
|
"auto",
|
|
1261
1261
|
"none",
|
|
1262
1262
|
"peak",
|
|
@@ -1267,68 +1267,68 @@ var Q = {
|
|
|
1267
1267
|
"minmax",
|
|
1268
1268
|
"sum"
|
|
1269
1269
|
];
|
|
1270
|
-
function vn(e) {
|
|
1271
|
-
return typeof e == "string" && gn.includes(e);
|
|
1272
|
-
}
|
|
1273
1270
|
function yn(e) {
|
|
1274
1271
|
return typeof e == "string" && _n.includes(e);
|
|
1275
1272
|
}
|
|
1276
|
-
function bn(e
|
|
1273
|
+
function bn(e) {
|
|
1274
|
+
return typeof e == "string" && vn.includes(e);
|
|
1275
|
+
}
|
|
1276
|
+
function xn(e, t, n) {
|
|
1277
1277
|
return typeof e == "number" && Number.isFinite(e) && e >= t ? Math.floor(e) : n;
|
|
1278
1278
|
}
|
|
1279
|
-
function
|
|
1279
|
+
function Sn(e, t) {
|
|
1280
1280
|
return typeof e == "number" && Number.isFinite(e) && e > 0 ? e : t;
|
|
1281
1281
|
}
|
|
1282
|
-
function
|
|
1282
|
+
function Cn(e, t) {
|
|
1283
1283
|
return typeof e == "number" && Number.isFinite(e) && e >= t ? Math.floor(e) : void 0;
|
|
1284
1284
|
}
|
|
1285
|
-
function
|
|
1285
|
+
function wn(e, t) {
|
|
1286
1286
|
return Number.isFinite(e) && e >= 0 ? e : t;
|
|
1287
1287
|
}
|
|
1288
|
-
function
|
|
1289
|
-
let r =
|
|
1288
|
+
function Tn(e, t, n) {
|
|
1289
|
+
let r = yn(e?.mode) ? e.mode : t === !1 ? "raw" : gn.sampling.mode, i = Sn(e?.maxPointsPerPixel, n);
|
|
1290
1290
|
return {
|
|
1291
1291
|
mode: r,
|
|
1292
|
-
autoThreshold:
|
|
1293
|
-
autoHysteresis:
|
|
1294
|
-
strategy:
|
|
1292
|
+
autoThreshold: xn(e?.autoThreshold, 1, gn.sampling.autoThreshold),
|
|
1293
|
+
autoHysteresis: xn(e?.autoHysteresis, 0, gn.sampling.autoHysteresis),
|
|
1294
|
+
strategy: bn(e?.strategy) ? e.strategy : gn.sampling.strategy,
|
|
1295
1295
|
maxPointsPerPixel: i,
|
|
1296
|
-
maxPointCount:
|
|
1297
|
-
rawPointLimit:
|
|
1298
|
-
wasmFailureFallback: e?.wasmFailureFallback === "javascript" || e?.wasmFailureFallback === "error" ? e.wasmFailureFallback :
|
|
1296
|
+
maxPointCount: Cn(e?.maxPointCount, 1),
|
|
1297
|
+
rawPointLimit: xn(e?.rawPointLimit, 1, gn.sampling.rawPointLimit),
|
|
1298
|
+
wasmFailureFallback: e?.wasmFailureFallback === "javascript" || e?.wasmFailureFallback === "error" ? e.wasmFailureFallback : gn.sampling.wasmFailureFallback
|
|
1299
1299
|
};
|
|
1300
1300
|
}
|
|
1301
|
-
function
|
|
1302
|
-
let t = Number(e?.downsampleThreshold), n = Number(e?.maxPointsPerPixel), r = Number(e?.pointMinSpacing), i = Number(e?.errorBarMinSpacing), a = Number.isFinite(n) && n > 0 ? n :
|
|
1301
|
+
function En(e) {
|
|
1302
|
+
let t = Number(e?.downsampleThreshold), n = Number(e?.maxPointsPerPixel), r = Number(e?.pointMinSpacing), i = Number(e?.errorBarMinSpacing), a = Number.isFinite(n) && n > 0 ? n : gn.maxPointsPerPixel, o = Tn(e?.sampling, typeof e?.downsample == "boolean" ? e.downsample : void 0, a);
|
|
1303
1303
|
return {
|
|
1304
1304
|
downsample: o.mode !== "raw",
|
|
1305
|
-
downsampleThreshold: Number.isFinite(t) && t >= 2 ? Math.floor(t) :
|
|
1305
|
+
downsampleThreshold: Number.isFinite(t) && t >= 2 ? Math.floor(t) : gn.downsampleThreshold,
|
|
1306
1306
|
maxPointsPerPixel: o.maxPointsPerPixel,
|
|
1307
|
-
pointMinSpacing:
|
|
1308
|
-
errorBarMinSpacing:
|
|
1307
|
+
pointMinSpacing: wn(r, gn.pointMinSpacing),
|
|
1308
|
+
errorBarMinSpacing: wn(i, gn.errorBarMinSpacing),
|
|
1309
1309
|
sampling: o
|
|
1310
1310
|
};
|
|
1311
1311
|
}
|
|
1312
1312
|
//#endregion
|
|
1313
1313
|
//#region src/core/rendering.ts
|
|
1314
|
-
var
|
|
1315
|
-
function
|
|
1314
|
+
var Dn = L((e) => e.x), On = () => !0;
|
|
1315
|
+
function kn(e, t) {
|
|
1316
1316
|
let n = Math.min(t[0], t[1]), r = Math.max(t[0], t[1]);
|
|
1317
1317
|
return {
|
|
1318
|
-
start:
|
|
1319
|
-
end:
|
|
1318
|
+
start: Dn.left(e, n),
|
|
1319
|
+
end: Dn.right(e, r)
|
|
1320
1320
|
};
|
|
1321
1321
|
}
|
|
1322
|
-
function
|
|
1322
|
+
function An(e, t, n) {
|
|
1323
1323
|
if (!Number.isFinite(n) || n <= 0) return !0;
|
|
1324
1324
|
let r = Math.ceil(n), i = /* @__PURE__ */ new Set();
|
|
1325
1325
|
for (let n of e) {
|
|
1326
|
-
let e =
|
|
1326
|
+
let e = kn(n.points, t);
|
|
1327
1327
|
for (let t = e.start; t < e.end; t += 1) if (i.add(n.points[t].x), i.size >= r) return !0;
|
|
1328
1328
|
}
|
|
1329
1329
|
return !1;
|
|
1330
1330
|
}
|
|
1331
|
-
function
|
|
1331
|
+
function jn(e, t, n, r, i) {
|
|
1332
1332
|
let a = Math.max(0, t.start - 1), o = Math.min(e.length, t.end + 1) - a;
|
|
1333
1333
|
return o <= 0 ? [] : hn({
|
|
1334
1334
|
visibleCount: o,
|
|
@@ -1342,10 +1342,10 @@ function An(e, t, n, r, i) {
|
|
|
1342
1342
|
options: i
|
|
1343
1343
|
});
|
|
1344
1344
|
}
|
|
1345
|
-
function
|
|
1345
|
+
function Mn(e, t) {
|
|
1346
1346
|
return t.sampling.mode === "wasm" || t.sampling.mode === "auto" && e > t.sampling.autoThreshold;
|
|
1347
1347
|
}
|
|
1348
|
-
function
|
|
1348
|
+
function Nn(e, t, n, r) {
|
|
1349
1349
|
let i = Math.max(0, t.start - 1), a = Math.min(e.length, t.end + 1), o = a - i;
|
|
1350
1350
|
if (o <= 0) return [];
|
|
1351
1351
|
if (r.sampling.strategy === "none") return e.slice(i, a);
|
|
@@ -1355,12 +1355,12 @@ function Mn(e, t, n, r) {
|
|
|
1355
1355
|
return e[i + r];
|
|
1356
1356
|
});
|
|
1357
1357
|
}
|
|
1358
|
-
function
|
|
1359
|
-
return !e.length || n <= 0 ? [] :
|
|
1358
|
+
function Pn(e, t, n, r) {
|
|
1359
|
+
return !e.length || n <= 0 ? [] : jn(e, kn(e, t), t, n, r);
|
|
1360
1360
|
}
|
|
1361
|
-
function
|
|
1361
|
+
function Fn(e, t, n, r, i, a, o, s) {
|
|
1362
1362
|
if (!a || i === 0) {
|
|
1363
|
-
if (o ===
|
|
1363
|
+
if (o === On) return e.slice(t.start, t.end);
|
|
1364
1364
|
let n = [];
|
|
1365
1365
|
for (let r = t.start; r < t.end; r += 1) o(e[r]) && n.push(e[r]);
|
|
1366
1366
|
return n;
|
|
@@ -1393,40 +1393,40 @@ function Pn(e, t, n, r, i, a, o, s) {
|
|
|
1393
1393
|
let w = (f ?? []).map((e, t) => m?.[t] ?? e).filter((e) => e !== void 0);
|
|
1394
1394
|
return v && w[0] !== v && w.unshift(v), y && w.at(-1) !== y && w.push(y), w;
|
|
1395
1395
|
}
|
|
1396
|
-
function
|
|
1396
|
+
function In(e) {
|
|
1397
1397
|
let { lower: t, upper: n } = on(e);
|
|
1398
1398
|
return t !== 0 || n !== 0;
|
|
1399
1399
|
}
|
|
1400
|
-
function
|
|
1400
|
+
function Ln(e, t, n, r, i) {
|
|
1401
1401
|
if (!e.length || n <= 0) return {
|
|
1402
1402
|
linePoints: [],
|
|
1403
1403
|
pointRenderPoints: [],
|
|
1404
1404
|
errorBarRenderPoints: []
|
|
1405
1405
|
};
|
|
1406
|
-
let a =
|
|
1406
|
+
let a = kn(e, t), o = i.lineVisible ? i.linePointOverride ?? (Mn(a.end - a.start, r) ? Nn(e, a, n, r) : jn(e, a, t, n, r)) : [], s = i.errorBarVisible && i.hasErrorPoints;
|
|
1407
1407
|
if (i.pointVisible && s) {
|
|
1408
|
-
let i =
|
|
1408
|
+
let i = Fn(e, a, t, n, Math.max(r.pointMinSpacing, r.errorBarMinSpacing), r.downsample, On, In);
|
|
1409
1409
|
return {
|
|
1410
1410
|
linePoints: o,
|
|
1411
1411
|
pointRenderPoints: i,
|
|
1412
|
-
errorBarRenderPoints: i.filter(
|
|
1412
|
+
errorBarRenderPoints: i.filter(In)
|
|
1413
1413
|
};
|
|
1414
1414
|
}
|
|
1415
1415
|
return {
|
|
1416
1416
|
linePoints: o,
|
|
1417
|
-
pointRenderPoints: i.pointVisible ?
|
|
1418
|
-
errorBarRenderPoints: s ?
|
|
1417
|
+
pointRenderPoints: i.pointVisible ? Fn(e, a, t, n, r.pointMinSpacing, r.downsample, On) : [],
|
|
1418
|
+
errorBarRenderPoints: s ? Fn(e, a, t, n, r.errorBarMinSpacing, r.downsample, In) : []
|
|
1419
1419
|
};
|
|
1420
1420
|
}
|
|
1421
|
-
var
|
|
1421
|
+
var Rn = (e, t) => {
|
|
1422
1422
|
let n = typeof e == "number" ? e : Number(e);
|
|
1423
1423
|
return Number.isFinite(n) ? Math.min(10, Math.max(1, Math.floor(n))) : t;
|
|
1424
|
-
},
|
|
1424
|
+
}, zn = (e) => {
|
|
1425
1425
|
if (!Array.isArray(e)) return [];
|
|
1426
1426
|
let t = e.filter((e) => typeof e == "string").map((e) => e.trim()).filter(Boolean);
|
|
1427
1427
|
return Array.from(new Set(t));
|
|
1428
1428
|
};
|
|
1429
|
-
function
|
|
1429
|
+
function Bn(e) {
|
|
1430
1430
|
let t = Object.fromEntries(Object.entries(e?.trackLines ?? {}).map(([e, t]) => [e, {
|
|
1431
1431
|
horizontal: typeof t?.horizontal != "boolean" || t.horizontal,
|
|
1432
1432
|
vertical: typeof t?.vertical != "boolean" || t.vertical,
|
|
@@ -1434,34 +1434,34 @@ function zn(e) {
|
|
|
1434
1434
|
verticalColor: typeof t?.verticalColor == "string" && t.verticalColor.trim() ? t.verticalColor : void 0
|
|
1435
1435
|
}]));
|
|
1436
1436
|
return {
|
|
1437
|
-
rowCount:
|
|
1438
|
-
columnCount:
|
|
1437
|
+
rowCount: Rn(e?.rowCount, 2),
|
|
1438
|
+
columnCount: Rn(e?.columnCount, 1),
|
|
1439
1439
|
showPagination: e?.showPagination ?? !0,
|
|
1440
1440
|
fillIncompleteLastRow: e?.fillIncompleteLastRow ?? !1,
|
|
1441
|
-
trackOrder:
|
|
1441
|
+
trackOrder: zn(e?.trackOrder),
|
|
1442
1442
|
hideEmptyTracks: e?.hideEmptyTracks ?? !1,
|
|
1443
1443
|
trackLines: t
|
|
1444
1444
|
};
|
|
1445
1445
|
}
|
|
1446
|
-
function
|
|
1446
|
+
function Vn(e) {
|
|
1447
1447
|
return e.rowCount * e.columnCount;
|
|
1448
1448
|
}
|
|
1449
|
-
function
|
|
1450
|
-
return Math.max(1, Math.ceil(Math.max(0, e) /
|
|
1449
|
+
function Hn(e, t) {
|
|
1450
|
+
return Math.max(1, Math.ceil(Math.max(0, e) / Vn(t)));
|
|
1451
1451
|
}
|
|
1452
|
-
function
|
|
1453
|
-
let r =
|
|
1454
|
-
return e.slice(i, i +
|
|
1452
|
+
function Un(e, t, n) {
|
|
1453
|
+
let r = Hn(e.length, n), i = (Math.min(r, Math.max(1, Math.floor(t))) - 1) * Vn(n);
|
|
1454
|
+
return e.slice(i, i + Vn(n));
|
|
1455
1455
|
}
|
|
1456
|
-
function
|
|
1456
|
+
function Wn(e) {
|
|
1457
1457
|
return e === "compact" ? 0 : e === "separated" ? 16 : 14;
|
|
1458
1458
|
}
|
|
1459
|
-
function
|
|
1460
|
-
let s =
|
|
1459
|
+
function Gn(e, t, n, r, i = [], a, o = !0) {
|
|
1460
|
+
let s = Vn(n), c = i.filter(Boolean).length, l = n.fillIncompleteLastRow && c > 0 && c < s, u = l ? Math.ceil(c / n.columnCount) : n.rowCount, d = Wn(r), f = Number.isFinite(a) ? Math.max(0, a) : d, p = /* @__PURE__ */ new Set();
|
|
1461
1461
|
if (o) {
|
|
1462
1462
|
if (r === "independent") for (let e = 0; e < u; e += 1) p.add(e);
|
|
1463
1463
|
else if (r === "compact") p.add(u - 1);
|
|
1464
|
-
else for (let e = 0; e < n.columnCount; e += 1) for (let t =
|
|
1464
|
+
else for (let e = 0; e < n.columnCount; e += 1) for (let t = Vn(n) - 1; t >= 0; --t) if (t % n.columnCount === e && i[t]) {
|
|
1465
1465
|
p.add(Math.floor(t / n.columnCount));
|
|
1466
1466
|
break;
|
|
1467
1467
|
}
|
|
@@ -1487,7 +1487,7 @@ function Wn(e, t, n, r, i = [], a, o = !0) {
|
|
|
1487
1487
|
};
|
|
1488
1488
|
});
|
|
1489
1489
|
}
|
|
1490
|
-
function
|
|
1490
|
+
function Kn(e, t) {
|
|
1491
1491
|
let n = /* @__PURE__ */ new Set();
|
|
1492
1492
|
for (let r = 0; r < t; r += 1) for (let t = e.length - 1; t >= 0; --t) {
|
|
1493
1493
|
let i = e[t];
|
|
@@ -1500,26 +1500,26 @@ function Gn(e, t) {
|
|
|
1500
1500
|
}
|
|
1501
1501
|
//#endregion
|
|
1502
1502
|
//#region src/components/core/xDomain.ts
|
|
1503
|
-
var
|
|
1504
|
-
function
|
|
1505
|
-
return !Number.isFinite(e) || (e ?? 0) < 1 ?
|
|
1503
|
+
var qn = 10;
|
|
1504
|
+
function Jn(e) {
|
|
1505
|
+
return !Number.isFinite(e) || (e ?? 0) < 1 ? qn : Math.max(1, Math.trunc(e));
|
|
1506
1506
|
}
|
|
1507
|
-
function
|
|
1507
|
+
function Yn(e, t, n = !1) {
|
|
1508
1508
|
if (t.type !== "nice" || n && !t.includeExplicit) return [...e];
|
|
1509
|
-
let r =
|
|
1509
|
+
let r = W().domain(e).nice(Jn(t.tickCount)).domain();
|
|
1510
1510
|
return t.bounds === "end" ? [e[0], r[1]] : r;
|
|
1511
1511
|
}
|
|
1512
1512
|
//#endregion
|
|
1513
1513
|
//#region src/components/core/trackLayoutBuilder.ts
|
|
1514
|
-
function
|
|
1514
|
+
function Xn(e, t, n) {
|
|
1515
1515
|
let r = n.xDomainStrategy ?? { type: "data" }, i = n.initialXDomains?.[e.id] ?? n.initialXDomains?.[t] ?? n.initialXDomain;
|
|
1516
|
-
return i ?
|
|
1516
|
+
return i ? Yn(i, r, !0) : Yn(e.xDomain, r);
|
|
1517
1517
|
}
|
|
1518
|
-
function
|
|
1518
|
+
function Zn(e) {
|
|
1519
1519
|
let t = e.cells.map((e) => ({
|
|
1520
1520
|
...e,
|
|
1521
1521
|
hasSeries: !!e.series
|
|
1522
|
-
})), n =
|
|
1522
|
+
})), n = Kn(t, e.grid.columnCount);
|
|
1523
1523
|
return t.flatMap((t, r) => {
|
|
1524
1524
|
let i = !t.series || t.series.series.length === 0;
|
|
1525
1525
|
if (!t.series && (e.displayMode !== "compact" || !e.showCompactEmptyTracks)) return [];
|
|
@@ -1529,14 +1529,14 @@ 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" ?
|
|
1532
|
+
}, o = !i && a.visibleSeries.length > 0, s = a.visibleSeries[0] ?? a.series[0] ?? null, c = e.displayMode === "independent" ? W(Xn(a, s?.id ?? a.id, e), [0, t.width]) : W(e.sharedZoomDomain, [0, t.width]), l = (e.displayMode === "independent" ? e.independentTransforms[r] ?? J : J).rescaleX(c), u = ur(a, e.overlayMode, e.fixedYDomain, e.fixedYDomains, e.yDomains), d = {
|
|
1533
1533
|
left: 0,
|
|
1534
1534
|
right: 0
|
|
1535
1535
|
}, f = {
|
|
1536
1536
|
left: 0,
|
|
1537
1537
|
right: 0
|
|
1538
1538
|
}, p = u.map((n) => {
|
|
1539
|
-
let r = d[n.side]++, i =
|
|
1539
|
+
let r = d[n.side]++, i = rr(t.plotHeight, e.yAxisSplitNumber), a = ir(n.domain, i, e.yAxisNice !== !1), o = W(a.domain, [t.plotHeight, 0]), s = a.values, c = e.displayMode !== "compact" || t.row === 0 ? s : s.slice(0, -1), { tickTextWidth: l } = dr(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
1540
|
return p || (f[n.side] += u), {
|
|
1541
1541
|
index: n.index,
|
|
1542
1542
|
side: n.side,
|
|
@@ -1548,7 +1548,7 @@ function Xn(e) {
|
|
|
1548
1548
|
tickValues: c,
|
|
1549
1549
|
seriesList: n.seriesList
|
|
1550
1550
|
};
|
|
1551
|
-
}), m =
|
|
1551
|
+
}), m = W(a.yDomain, [t.plotHeight, 0]);
|
|
1552
1552
|
e.yAxisNice !== !1 && m.nice();
|
|
1553
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
1554
|
start: At(y[0], y, e.timeUnit, "start", e.xAxisLabelFormatter),
|
|
@@ -1557,14 +1557,14 @@ function Xn(e) {
|
|
|
1557
1557
|
let n = l(e);
|
|
1558
1558
|
return n > x && n < t.width - S;
|
|
1559
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 =
|
|
1560
|
+
let r = p.find((e) => e.seriesList.some((e) => e.id === n.id)), a = r?.scale ?? h, o = Ln(n.points, y, t.width, e.rendering, {
|
|
1561
1561
|
lineVisible: !i && n.lineType !== "none",
|
|
1562
1562
|
linePointOverride: e.linePointOverrides?.[n.id],
|
|
1563
1563
|
pointVisible: n.pointType !== "none",
|
|
1564
1564
|
errorBarVisible: n.errorBar.visible,
|
|
1565
1565
|
hasErrorPoints: n.hasErrorPoints
|
|
1566
|
-
}), s =
|
|
1567
|
-
return n.lineType === "step-start" && s.curve(
|
|
1566
|
+
}), s = H().x((e) => l(e.x)).y((e) => a(e.y));
|
|
1567
|
+
return n.lineType === "step-start" && s.curve(B), n.lineType === "step-middle" && s.curve(R), (n.lineType === "step-end" || n.lineType === "step-after") && s.curve(z), {
|
|
1568
1568
|
series: n,
|
|
1569
1569
|
path: o.linePoints.length ? s(o.linePoints) : null,
|
|
1570
1570
|
pointRenderPoints: o.pointRenderPoints,
|
|
@@ -1610,12 +1610,12 @@ function Xn(e) {
|
|
|
1610
1610
|
}
|
|
1611
1611
|
//#endregion
|
|
1612
1612
|
//#region src/components/core/layout.ts
|
|
1613
|
-
var
|
|
1614
|
-
function
|
|
1613
|
+
var Qn = 7, $n = 7, er = 4, tr = 0, nr = 12;
|
|
1614
|
+
function rr(e, t) {
|
|
1615
1615
|
return typeof t == "number" && Number.isFinite(t) ? Math.max(2, Math.floor(t)) : 5;
|
|
1616
1616
|
}
|
|
1617
|
-
function
|
|
1618
|
-
let r = typeof t == "number" && Number.isFinite(t) ? Math.max(2, Math.floor(t)) : 5, i =
|
|
1617
|
+
function ir(e, t = 5, n = !0) {
|
|
1618
|
+
let r = typeof t == "number" && Number.isFinite(t) ? Math.max(2, Math.floor(t)) : 5, i = W(e, [1, 0]);
|
|
1619
1619
|
n && i.nice(Math.max(1, r - 1));
|
|
1620
1620
|
let a = i.domain(), [o, s] = a;
|
|
1621
1621
|
return {
|
|
@@ -1623,7 +1623,7 @@ function rr(e, t = 5, n = !0) {
|
|
|
1623
1623
|
values: Array.from({ length: r }, (e, t) => o + (s - o) * t / (r - 1))
|
|
1624
1624
|
};
|
|
1625
1625
|
}
|
|
1626
|
-
function
|
|
1626
|
+
function ar(e, t, n, r) {
|
|
1627
1627
|
return Et(e, {
|
|
1628
1628
|
axisMin: t[0],
|
|
1629
1629
|
axisMax: t[1],
|
|
@@ -1631,7 +1631,7 @@ function ir(e, t, n, r) {
|
|
|
1631
1631
|
unit: r
|
|
1632
1632
|
});
|
|
1633
1633
|
}
|
|
1634
|
-
function
|
|
1634
|
+
function or(e) {
|
|
1635
1635
|
return e >= 4 ? [
|
|
1636
1636
|
"left",
|
|
1637
1637
|
"left",
|
|
@@ -1643,13 +1643,13 @@ function ar(e) {
|
|
|
1643
1643
|
"right"
|
|
1644
1644
|
] : e === 2 ? ["left", "right"] : ["left"];
|
|
1645
1645
|
}
|
|
1646
|
-
var
|
|
1647
|
-
function
|
|
1648
|
-
let n =
|
|
1649
|
-
n || (n = /* @__PURE__ */ new Map(),
|
|
1646
|
+
var sr = /* @__PURE__ */ new WeakMap();
|
|
1647
|
+
function cr(e, t) {
|
|
1648
|
+
let n = sr.get(e);
|
|
1649
|
+
n || (n = /* @__PURE__ */ new Map(), sr.set(e, n));
|
|
1650
1650
|
let r = n.get(t);
|
|
1651
1651
|
if (r) return r;
|
|
1652
|
-
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 = or(i), o = Array.from({ length: i }, (e, t) => ({
|
|
1653
1653
|
index: t,
|
|
1654
1654
|
side: a[t],
|
|
1655
1655
|
seriesList: [],
|
|
@@ -1666,9 +1666,9 @@ function sr(e, t) {
|
|
|
1666
1666
|
}
|
|
1667
1667
|
}), n.set(t, o), o;
|
|
1668
1668
|
}
|
|
1669
|
-
function
|
|
1669
|
+
function lr(e, t, n, r) {
|
|
1670
1670
|
let i = Gt(e, r);
|
|
1671
|
-
return
|
|
1671
|
+
return cr(e, t).map((e) => {
|
|
1672
1672
|
if (i) return {
|
|
1673
1673
|
...e,
|
|
1674
1674
|
domain: i,
|
|
@@ -1682,30 +1682,30 @@ function cr(e, t, n, r) {
|
|
|
1682
1682
|
} : e;
|
|
1683
1683
|
});
|
|
1684
1684
|
}
|
|
1685
|
-
function
|
|
1685
|
+
function ur(e, t, n, r, i) {
|
|
1686
1686
|
let a = i?.[e.id];
|
|
1687
|
-
return
|
|
1687
|
+
return lr(e, t, n, r).map((e) => !e.fixed && a ? {
|
|
1688
1688
|
...e,
|
|
1689
1689
|
domain: a
|
|
1690
1690
|
} : e);
|
|
1691
1691
|
}
|
|
1692
|
-
function
|
|
1692
|
+
function dr(e, t = !0, n, r, i = 5, a = !1) {
|
|
1693
1693
|
let o = n ? {
|
|
1694
1694
|
domain: e,
|
|
1695
1695
|
values: n
|
|
1696
|
-
} :
|
|
1697
|
-
return a && o.values.length > 1 && s.push(o.values.slice(0, -1)), { tickTextWidth: Math.max(1, ...s.flatMap((e) => e.map((t) =>
|
|
1696
|
+
} : ir(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) => ar(t, o.domain, e, r).length))) * Qn };
|
|
1698
1698
|
}
|
|
1699
|
-
function
|
|
1699
|
+
function fr(e, t, n, r, i, a = !0, o = !1, s) {
|
|
1700
1700
|
let c = /* @__PURE__ */ new Map();
|
|
1701
1701
|
e.forEach((e) => {
|
|
1702
1702
|
let l = {
|
|
1703
1703
|
left: 0,
|
|
1704
1704
|
right: 0
|
|
1705
1705
|
};
|
|
1706
|
-
|
|
1707
|
-
let t = l[e.side]++, n = `${e.side}:${t}`, r =
|
|
1708
|
-
c.set(n, Math.max(c.get(n) ??
|
|
1706
|
+
ur(e, t, n, r, s).forEach((e) => {
|
|
1707
|
+
let t = l[e.side]++, n = `${e.side}:${t}`, r = dr(e.domain, a, void 0, e.seriesList[0]?.unit, i, o).tickTextWidth;
|
|
1708
|
+
c.set(n, Math.max(c.get(n) ?? Qn, r));
|
|
1709
1709
|
});
|
|
1710
1710
|
});
|
|
1711
1711
|
let l = [], u = {
|
|
@@ -1714,7 +1714,7 @@ function dr(e, t, n, r, i, a = !0, o = !1, s) {
|
|
|
1714
1714
|
};
|
|
1715
1715
|
return ["left", "right"].forEach((e) => {
|
|
1716
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}`) ??
|
|
1717
|
+
let n = c.get(`${e}:${t}`) ?? Qn, r = e === "left" && u.left > 0 ? -u.left : u[e], i = r + (n + $n + tr + nr / 2) * (e === "left" ? -1 : 1), a = n + $n + tr + nr + er;
|
|
1718
1718
|
l.push({
|
|
1719
1719
|
side: e,
|
|
1720
1720
|
sideIndex: t,
|
|
@@ -1728,7 +1728,7 @@ function dr(e, t, n, r, i, a = !0, o = !1, s) {
|
|
|
1728
1728
|
clearance: u
|
|
1729
1729
|
};
|
|
1730
1730
|
}
|
|
1731
|
-
function
|
|
1731
|
+
function pr(e, t, n) {
|
|
1732
1732
|
let r = (e) => {
|
|
1733
1733
|
let r = t < e.left ? e.left - t : t > e.left + e.width ? t - e.left - e.width : 0;
|
|
1734
1734
|
return n < e.top ? e.top - n : n > e.top + e.height ? n - (e.top + e.height) : r;
|
|
@@ -1747,12 +1747,12 @@ function fr(e, t, n) {
|
|
|
1747
1747
|
}
|
|
1748
1748
|
//#endregion
|
|
1749
1749
|
//#region src/components/annotation/useWaveformChartAnnotations.ts
|
|
1750
|
-
var
|
|
1751
|
-
function
|
|
1752
|
-
return
|
|
1750
|
+
var mr = 0;
|
|
1751
|
+
function hr() {
|
|
1752
|
+
return mr += 1, typeof crypto < "u" && typeof crypto.randomUUID == "function" ? crypto.randomUUID() : `annotation-${Date.now()}-${mr}`;
|
|
1753
1753
|
}
|
|
1754
|
-
function
|
|
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,
|
|
1754
|
+
function gr(e) {
|
|
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, b = x("");
|
|
1756
1756
|
function S(e) {
|
|
1757
1757
|
if (!i.value.some((t) => t.id === e)) return;
|
|
1758
1758
|
let r = new Set(a.value), s = r.has(e);
|
|
@@ -1770,7 +1770,7 @@ function hr(e) {
|
|
|
1770
1770
|
x: f.value / 2,
|
|
1771
1771
|
y: p.value / 2
|
|
1772
1772
|
};
|
|
1773
|
-
let [r, i] =
|
|
1773
|
+
let [r, i] = U(e, n), a = t === void 0 ? void 0 : l.value[t];
|
|
1774
1774
|
return {
|
|
1775
1775
|
x: h.value + (a ? a.left + r : r),
|
|
1776
1776
|
y: g.value + _.value + (a ? a.top + i : i)
|
|
@@ -1784,7 +1784,7 @@ function hr(e) {
|
|
|
1784
1784
|
};
|
|
1785
1785
|
}
|
|
1786
1786
|
function T(e, t, n) {
|
|
1787
|
-
|
|
1787
|
+
b.value = "", s.openCreate(e, hr, t), c.value = n;
|
|
1788
1788
|
let r = s.editorDraft.value, i = l.value.find((t) => t.index === e.trackIndex)?.seriesList.find((t) => t.id === e.seriesId);
|
|
1789
1789
|
r?.mode === "add" && (r.annotation.style = {
|
|
1790
1790
|
borderColor: i?.color || "#1677ff",
|
|
@@ -1796,14 +1796,14 @@ function hr(e) {
|
|
|
1796
1796
|
if (y.value) return;
|
|
1797
1797
|
let t = s.editorDraft.value, n = c.value.find((t) => t.seriesId === e), r = l.value.find((t) => t.seriesList.some((t) => t.id === e)), i = r?.seriesList.find((t) => t.id === e)?.source, a = i?.pointAt(0), o = i?.pointAt((i?.length ?? 0) - 1), u = t ? i?.nearestPoint(t.annotation.x) : void 0;
|
|
1798
1798
|
if (!t || !n || !r || !a || !o || !u) {
|
|
1799
|
-
|
|
1799
|
+
b.value = "当前波形没有有效数据";
|
|
1800
1800
|
return;
|
|
1801
1801
|
}
|
|
1802
1802
|
if (t.annotation.x < a.x || t.annotation.x > o.x) {
|
|
1803
|
-
|
|
1803
|
+
b.value = "时间超出当前波形范围";
|
|
1804
1804
|
return;
|
|
1805
1805
|
}
|
|
1806
|
-
|
|
1806
|
+
b.value = "", t.annotation = {
|
|
1807
1807
|
...t.annotation,
|
|
1808
1808
|
seriesId: e,
|
|
1809
1809
|
y: u.y,
|
|
@@ -1817,39 +1817,39 @@ function hr(e) {
|
|
|
1817
1817
|
if (y.value) return;
|
|
1818
1818
|
let n = s.editorDraft.value, r = Number(e);
|
|
1819
1819
|
if (!n || !Number.isFinite(r)) {
|
|
1820
|
-
|
|
1820
|
+
b.value = "请输入有效的时间";
|
|
1821
1821
|
return;
|
|
1822
1822
|
}
|
|
1823
1823
|
let i = t.timeUnit === "ms" ? r / 1e3 : r, a = l.value.find((e) => e.seriesList.some((e) => e.id === n.annotation.seriesId))?.seriesList.find((e) => e.id === n.annotation.seriesId)?.source, o = a?.pointAt(0), c = a?.pointAt((a?.length ?? 0) - 1);
|
|
1824
1824
|
if (!a || !o || !c) {
|
|
1825
|
-
|
|
1825
|
+
b.value = "当前波形没有有效数据";
|
|
1826
1826
|
return;
|
|
1827
1827
|
}
|
|
1828
1828
|
if (i < o.x || i > c.x) {
|
|
1829
|
-
|
|
1829
|
+
b.value = "时间超出当前波形范围";
|
|
1830
1830
|
return;
|
|
1831
1831
|
}
|
|
1832
1832
|
let u = a.nearestPoint(i);
|
|
1833
|
-
|
|
1833
|
+
b.value = "", n.annotation = {
|
|
1834
1834
|
...n.annotation,
|
|
1835
1835
|
x: u.x,
|
|
1836
1836
|
y: u.y
|
|
1837
1837
|
};
|
|
1838
1838
|
}
|
|
1839
1839
|
function O() {
|
|
1840
|
-
|
|
1840
|
+
b.value = "", s.closeEditor(), c.value = [];
|
|
1841
1841
|
}
|
|
1842
1842
|
function k(e, t, n) {
|
|
1843
1843
|
if (n !== void 0) {
|
|
1844
1844
|
let e = l.value[n];
|
|
1845
1845
|
return e?.hasVisibleSeries ? e : void 0;
|
|
1846
1846
|
}
|
|
1847
|
-
return
|
|
1847
|
+
return pr(l.value.filter((e) => e.hasVisibleSeries), e, t);
|
|
1848
1848
|
}
|
|
1849
1849
|
function A(e, t) {
|
|
1850
1850
|
let n = e.currentTarget;
|
|
1851
1851
|
if (!n || !l.value.length) return null;
|
|
1852
|
-
let [r, i] =
|
|
1852
|
+
let [r, i] = U(e, n), a = t === void 0 ? i : i + (l.value[t]?.top ?? 0), o = k(r, a, t);
|
|
1853
1853
|
if (!o) return null;
|
|
1854
1854
|
let s = Math.max(0, Math.min(m.value, r)), c = Math.max(0, Math.min(o.width, s - o.left)), d = o.xScale.invert(c);
|
|
1855
1855
|
return {
|
|
@@ -1900,7 +1900,7 @@ function hr(e) {
|
|
|
1900
1900
|
}
|
|
1901
1901
|
function L() {
|
|
1902
1902
|
if (y.value) return;
|
|
1903
|
-
|
|
1903
|
+
b.value = "";
|
|
1904
1904
|
let e = s.contextMenu.value, n = t.annotations.find((t) => t.id === e?.annotationId);
|
|
1905
1905
|
if (!n) return;
|
|
1906
1906
|
let r = l.value.find((e) => e.seriesList.some((e) => e.id === n.seriesId));
|
|
@@ -1914,13 +1914,13 @@ function hr(e) {
|
|
|
1914
1914
|
function z(e) {
|
|
1915
1915
|
if (y.value) return;
|
|
1916
1916
|
let r = s.editorDraft.value;
|
|
1917
|
-
!r ||
|
|
1917
|
+
!r || b.value || (r.mode === "add" ? (n("update:annotations", [...t.annotations, e]), n("annotation-create", e)) : (n("update:annotations", t.annotations.map((t) => t.id === e.id ? e : t)), n("annotation-update", e, r.previous)), O());
|
|
1918
1918
|
}
|
|
1919
1919
|
return {
|
|
1920
1920
|
toggleSeriesVisibility: S,
|
|
1921
1921
|
changeDraftSeries: E,
|
|
1922
1922
|
changeDraftTime: D,
|
|
1923
|
-
timeError:
|
|
1923
|
+
timeError: b,
|
|
1924
1924
|
cancelAnnotation: O,
|
|
1925
1925
|
resolveTrackAtPointer: k,
|
|
1926
1926
|
handleAnnotationClick: M,
|
|
@@ -1935,7 +1935,7 @@ function hr(e) {
|
|
|
1935
1935
|
}
|
|
1936
1936
|
//#endregion
|
|
1937
1937
|
//#region src/components/interaction/useWaveformHover.ts
|
|
1938
|
-
function
|
|
1938
|
+
function _r(e) {
|
|
1939
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) => {
|
|
1940
1940
|
let r = n.points[t];
|
|
1941
1941
|
return r?.id === e.id && r.trackIndex === e.trackIndex && r.point === e.point;
|
|
@@ -1958,12 +1958,12 @@ function gr(e) {
|
|
|
1958
1958
|
}, C = (e = !1) => {
|
|
1959
1959
|
r.value = !e, y();
|
|
1960
1960
|
}, w = () => r.value ? (r.value = !1, y(), !0) : !1, T = (e, t) => {
|
|
1961
|
-
let n = e.source ??
|
|
1961
|
+
let n = e.source ?? Z(e.points), r = n.pointAt(0), i = n.pointAt(n.length - 1);
|
|
1962
1962
|
if (!(!r || !i)) return t <= r.x ? r : t >= i.x ? i : n.nearestPoint(t);
|
|
1963
1963
|
}, E = (e, t) => {
|
|
1964
1964
|
let n, r = -Infinity;
|
|
1965
1965
|
if (e.seriesList.forEach((e) => {
|
|
1966
|
-
let t = e.source ??
|
|
1966
|
+
let t = e.source ?? Z(e.points), i = t.pointAt(0), a = t.pointAt(t.length - 1);
|
|
1967
1967
|
if (!i || !a) return;
|
|
1968
1968
|
let o = a.x - i.x;
|
|
1969
1969
|
o > r && (r = o, n = [i.x, a.x]);
|
|
@@ -1984,7 +1984,7 @@ function gr(e) {
|
|
|
1984
1984
|
if (w()) return;
|
|
1985
1985
|
let n = e.currentTarget;
|
|
1986
1986
|
if (!n) return;
|
|
1987
|
-
let [r, i] =
|
|
1987
|
+
let [r, i] = U(e, n), d = o.value[t];
|
|
1988
1988
|
!d || !d.hasVisibleSeries || g(() => {
|
|
1989
1989
|
let e = o.value[t];
|
|
1990
1990
|
if (!e || !e.hasVisibleSeries || e !== d) return;
|
|
@@ -2002,7 +2002,7 @@ function gr(e) {
|
|
|
2002
2002
|
return;
|
|
2003
2003
|
}
|
|
2004
2004
|
if (w() || !d.value || !o.value.length) return;
|
|
2005
|
-
let [t, n] =
|
|
2005
|
+
let [t, n] = U(e, d.value);
|
|
2006
2006
|
g(() => {
|
|
2007
2007
|
let e = m(t, n), r = (e?.hasVisibleSeries ? e : void 0) ?? o.value.find((e) => e.hasVisibleSeries);
|
|
2008
2008
|
if (!r) return;
|
|
@@ -2020,14 +2020,14 @@ function gr(e) {
|
|
|
2020
2020
|
}
|
|
2021
2021
|
//#endregion
|
|
2022
2022
|
//#region src/components/interaction/pointerCapture.ts
|
|
2023
|
-
function
|
|
2023
|
+
function vr(e, t) {
|
|
2024
2024
|
try {
|
|
2025
2025
|
e?.releasePointerCapture?.(t);
|
|
2026
2026
|
} catch {}
|
|
2027
2027
|
}
|
|
2028
2028
|
//#endregion
|
|
2029
2029
|
//#region src/components/interaction/viewportInteractionState.ts
|
|
2030
|
-
function
|
|
2030
|
+
function yr(e) {
|
|
2031
2031
|
return {
|
|
2032
2032
|
...e,
|
|
2033
2033
|
currentX: e.startX,
|
|
@@ -2036,37 +2036,37 @@ function vr(e) {
|
|
|
2036
2036
|
yDomains: Object.fromEntries(Object.entries(e.yDomains).map(([e, t]) => [e, [...t]]))
|
|
2037
2037
|
};
|
|
2038
2038
|
}
|
|
2039
|
-
function
|
|
2039
|
+
function br(e, t) {
|
|
2040
2040
|
return {
|
|
2041
2041
|
...e,
|
|
2042
2042
|
...t
|
|
2043
2043
|
};
|
|
2044
2044
|
}
|
|
2045
|
-
function
|
|
2045
|
+
function xr(e) {
|
|
2046
2046
|
return {
|
|
2047
2047
|
state: e,
|
|
2048
2048
|
accepted: !1,
|
|
2049
2049
|
completed: null
|
|
2050
2050
|
};
|
|
2051
2051
|
}
|
|
2052
|
-
function
|
|
2052
|
+
function Sr(e, t) {
|
|
2053
2053
|
switch (t.type) {
|
|
2054
|
-
case "begin": return e ?
|
|
2055
|
-
state:
|
|
2054
|
+
case "begin": return e ? xr(e) : {
|
|
2055
|
+
state: yr(t.gesture),
|
|
2056
2056
|
accepted: !0,
|
|
2057
2057
|
completed: null
|
|
2058
2058
|
};
|
|
2059
|
-
case "move": return !e || e.pointerId !== t.pointerId ?
|
|
2060
|
-
state:
|
|
2059
|
+
case "move": return !e || e.pointerId !== t.pointerId ? xr(e) : {
|
|
2060
|
+
state: br(e, t.position),
|
|
2061
2061
|
accepted: !0,
|
|
2062
2062
|
completed: null
|
|
2063
2063
|
};
|
|
2064
|
-
case "finish": return !e || e.pointerId !== t.pointerId ?
|
|
2064
|
+
case "finish": return !e || e.pointerId !== t.pointerId ? xr(e) : {
|
|
2065
2065
|
state: null,
|
|
2066
2066
|
accepted: !0,
|
|
2067
|
-
completed:
|
|
2067
|
+
completed: br(e, t.position)
|
|
2068
2068
|
};
|
|
2069
|
-
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 ? xr(e) : {
|
|
2070
2070
|
state: null,
|
|
2071
2071
|
accepted: !0,
|
|
2072
2072
|
completed: null
|
|
@@ -2080,32 +2080,32 @@ function xr(e, t) {
|
|
|
2080
2080
|
}
|
|
2081
2081
|
//#endregion
|
|
2082
2082
|
//#region src/components/interaction/zoomConstraints.ts
|
|
2083
|
-
var
|
|
2084
|
-
function
|
|
2083
|
+
var Cr = /* @__PURE__ */ new WeakMap();
|
|
2084
|
+
function wr(e) {
|
|
2085
2085
|
return e[0] <= e[1] ? [...e] : [e[1], e[0]];
|
|
2086
2086
|
}
|
|
2087
|
-
function
|
|
2087
|
+
function Tr(e) {
|
|
2088
2088
|
return Number.isFinite(e) && (e ?? 0) > 0 ? Math.ceil(e) : 0;
|
|
2089
2089
|
}
|
|
2090
|
-
function
|
|
2091
|
-
let n = `${t[0]}\u0000${t[1]}`, r =
|
|
2090
|
+
function Er(e, t) {
|
|
2091
|
+
let n = `${t[0]}\u0000${t[1]}`, r = Cr.get(e)?.get(n);
|
|
2092
2092
|
if (r) return r;
|
|
2093
2093
|
let i = /* @__PURE__ */ new Set();
|
|
2094
2094
|
for (let n of e) {
|
|
2095
|
-
let e = n.source ??
|
|
2095
|
+
let e = n.source ?? Z(n.points);
|
|
2096
2096
|
for (let n = 0; n < e.length; n += 1) {
|
|
2097
2097
|
let r = e.pointAt(n);
|
|
2098
2098
|
r.x >= t[0] && r.x <= t[1] && i.add(r.x);
|
|
2099
2099
|
}
|
|
2100
2100
|
}
|
|
2101
|
-
let a = Array.from(i).sort((e, t) => e - t), o =
|
|
2102
|
-
return o.set(n, a),
|
|
2101
|
+
let a = Array.from(i).sort((e, t) => e - t), o = Cr.get(e) ?? /* @__PURE__ */ new Map();
|
|
2102
|
+
return o.set(n, a), Cr.set(e, o), a;
|
|
2103
2103
|
}
|
|
2104
|
-
function
|
|
2104
|
+
function Dr(e, t, n) {
|
|
2105
2105
|
if (n <= 1) return 0;
|
|
2106
2106
|
let r = 0;
|
|
2107
2107
|
for (let i of e) {
|
|
2108
|
-
let e =
|
|
2108
|
+
let e = Er(i, t);
|
|
2109
2109
|
if (e.length < n) return t[1] - t[0];
|
|
2110
2110
|
let a = Infinity;
|
|
2111
2111
|
for (let t = 0; t + n <= e.length; t += 1) a = Math.min(a, e[t + n - 1] - e[t]);
|
|
@@ -2114,17 +2114,17 @@ function Er(e, t, n) {
|
|
|
2114
2114
|
}
|
|
2115
2115
|
return r;
|
|
2116
2116
|
}
|
|
2117
|
-
function
|
|
2118
|
-
let r =
|
|
2117
|
+
function Or(e, t, n) {
|
|
2118
|
+
let r = wr(e), i = r[1] - r[0];
|
|
2119
2119
|
if (!Number.isFinite(i) || i <= 0) return 0;
|
|
2120
|
-
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 = Tr(n.minVisiblePoints), s = Dr(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;
|
|
2121
2121
|
return Math.max(a, s, l);
|
|
2122
2122
|
}
|
|
2123
|
-
function
|
|
2123
|
+
function kr(e, t, n, r) {
|
|
2124
2124
|
if (r <= 0) return e;
|
|
2125
2125
|
let i = 2 ** -52 * Math.max(1, Math.abs(t[0]), Math.abs(t[1])) * 16, a = e;
|
|
2126
2126
|
for (let e of n) {
|
|
2127
|
-
let n =
|
|
2127
|
+
let n = Er(e, t);
|
|
2128
2128
|
if (n.length < r) return [...t];
|
|
2129
2129
|
if (n.filter((e) => e >= a[0] && e <= a[1]).length >= r) continue;
|
|
2130
2130
|
let o, s = Infinity, c = Infinity, l = (a[0] + a[1]) / 2;
|
|
@@ -2136,21 +2136,21 @@ function Or(e, t, n, r) {
|
|
|
2136
2136
|
}
|
|
2137
2137
|
return a;
|
|
2138
2138
|
}
|
|
2139
|
-
function
|
|
2140
|
-
let i =
|
|
2139
|
+
function Ar(e, t, n, r) {
|
|
2140
|
+
let i = wr(t), a = i[1] - i[0];
|
|
2141
2141
|
if (!Number.isFinite(a) || a <= 0 || Math.abs(e[1] - e[0]) >= a * .999999999999) return i;
|
|
2142
|
-
let o =
|
|
2142
|
+
let o = kr([Math.max(i[0], Math.min(e[0], e[1])), Math.min(i[1], Math.max(e[0], e[1]))], i, n, Tr(r.minVisiblePoints)), s = Or(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));
|
|
2143
2143
|
return [u, u + c];
|
|
2144
2144
|
}
|
|
2145
|
-
function
|
|
2145
|
+
function jr(e, t, n) {
|
|
2146
2146
|
let r = t[1] - t[0], i = e[1] - e[0];
|
|
2147
|
-
if (!Number.isFinite(r) || !Number.isFinite(i) || r <= 0 || i <= 0) return
|
|
2148
|
-
let a = r / i, o =
|
|
2149
|
-
return
|
|
2147
|
+
if (!Number.isFinite(r) || !Number.isFinite(i) || r <= 0 || i <= 0) return J;
|
|
2148
|
+
let a = r / i, o = W(t, [0, n]);
|
|
2149
|
+
return J.translate(-a * o(e[0]), 0).scale(a);
|
|
2150
2150
|
}
|
|
2151
2151
|
//#endregion
|
|
2152
2152
|
//#region src/components/interaction/viewportDomain.ts
|
|
2153
|
-
function
|
|
2153
|
+
function Mr(e) {
|
|
2154
2154
|
return (t, n) => {
|
|
2155
2155
|
if (!(!Number.isFinite(t[0]) || !Number.isFinite(t[1]) || t[0] === t[1])) {
|
|
2156
2156
|
if (e.cancelPendingZoom(), e.cancelViewportDrag(), e.props.displayMode === "independent") {
|
|
@@ -2158,12 +2158,12 @@ function jr(e) {
|
|
|
2158
2158
|
r.forEach((n) => {
|
|
2159
2159
|
let r = e.trackLayouts.value.find((e) => e.index === n);
|
|
2160
2160
|
if (!r) return;
|
|
2161
|
-
let a = e.resolveInitialTrackDomain(r), o =
|
|
2162
|
-
i[n] =
|
|
2161
|
+
let a = e.resolveInitialTrackDomain(r), o = Ar(t, a, [r.seriesList], e.props);
|
|
2162
|
+
i[n] = jr(o, a, r.width);
|
|
2163
2163
|
}), e.independentTransforms.value = i;
|
|
2164
2164
|
} else {
|
|
2165
|
-
let n = e.initialXDomain.value, r =
|
|
2166
|
-
e.sharedTransform.value =
|
|
2165
|
+
let n = e.initialXDomain.value, r = Ar(t, n, e.trackLayouts.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), e.props);
|
|
2166
|
+
e.sharedTransform.value = jr(r, n, e.innerWidth.value);
|
|
2167
2167
|
}
|
|
2168
2168
|
e.clearHover(), e.editorSeriesOptions.value = [], f(e.configureZoom);
|
|
2169
2169
|
}
|
|
@@ -2171,14 +2171,14 @@ function jr(e) {
|
|
|
2171
2171
|
}
|
|
2172
2172
|
//#endregion
|
|
2173
2173
|
//#region src/components/interaction/zoomEventPayload.ts
|
|
2174
|
-
function
|
|
2174
|
+
function Nr(e) {
|
|
2175
2175
|
return [...e].sort().join("\0");
|
|
2176
2176
|
}
|
|
2177
|
-
function
|
|
2178
|
-
let n =
|
|
2179
|
-
return e.find((e) =>
|
|
2177
|
+
function Pr(e, t) {
|
|
2178
|
+
let n = Nr(t);
|
|
2179
|
+
return e.find((e) => Nr(e.seriesList.map((e) => e.id)) === n);
|
|
2180
2180
|
}
|
|
2181
|
-
function
|
|
2181
|
+
function Fr(e, t, n, r) {
|
|
2182
2182
|
e("zoom-intent", r ? {
|
|
2183
2183
|
start: t[0],
|
|
2184
2184
|
end: t[1],
|
|
@@ -2191,9 +2191,9 @@ function Pr(e, t, n, r) {
|
|
|
2191
2191
|
gesture: "box"
|
|
2192
2192
|
});
|
|
2193
2193
|
}
|
|
2194
|
-
function
|
|
2194
|
+
function Ir(e, t, n) {
|
|
2195
2195
|
for (let r of n) {
|
|
2196
|
-
let n =
|
|
2196
|
+
let n = Pr(t, r);
|
|
2197
2197
|
if (!n) continue;
|
|
2198
2198
|
let i = n.xScale.domain(), a = n.yScale.domain();
|
|
2199
2199
|
e("zoom-end", {
|
|
@@ -2207,7 +2207,7 @@ function Fr(e, t, n) {
|
|
|
2207
2207
|
});
|
|
2208
2208
|
}
|
|
2209
2209
|
}
|
|
2210
|
-
function
|
|
2210
|
+
function Lr(e, t, n) {
|
|
2211
2211
|
let r = n.filter((e) => e.hasVisibleSeries);
|
|
2212
2212
|
if (r.length === 1) {
|
|
2213
2213
|
let n = r[0]?.yScale.domain();
|
|
@@ -2229,13 +2229,13 @@ function Ir(e, t, n) {
|
|
|
2229
2229
|
}
|
|
2230
2230
|
//#endregion
|
|
2231
2231
|
//#region src/components/interaction/useWaveformViewport.ts
|
|
2232
|
-
function
|
|
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:
|
|
2232
|
+
function Rr(e) {
|
|
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: C, cancelPendingZoom: T, clearHover: E, resolveTrackAtPointer: D } = e, O = w(), k = (e, t) => {
|
|
2234
2234
|
let n = O.value, r = t?.currentTarget;
|
|
2235
|
-
|
|
2235
|
+
vr(n, e), r && r !== n && vr(r, e);
|
|
2236
2236
|
}, A = (e, t) => {
|
|
2237
2237
|
let n = i.value;
|
|
2238
|
-
!n || n.pointerId !== e || (k(e, t), i.value =
|
|
2238
|
+
!n || n.pointerId !== e || (k(e, t), i.value = Sr(i.value, {
|
|
2239
2239
|
type: "cancel",
|
|
2240
2240
|
pointerId: e
|
|
2241
2241
|
}).state, O.value = void 0);
|
|
@@ -2258,7 +2258,7 @@ function Lr(e) {
|
|
|
2258
2258
|
if (!n.zoomable && !s || !_.value || e.button !== 0) return;
|
|
2259
2259
|
let c = e.currentTarget, d = o.value.find((e) => e.index === t);
|
|
2260
2260
|
if (!d) return;
|
|
2261
|
-
let [f, p] =
|
|
2261
|
+
let [f, p] = U(e, c), m = Math.max(0, Math.min(r ? d.width : l.value, f)), h = Math.max(0, Math.min(r ? d.height : u.value, p)), g = Sr(i.value, {
|
|
2262
2262
|
type: "begin",
|
|
2263
2263
|
gesture: {
|
|
2264
2264
|
trackIndex: t,
|
|
@@ -2274,14 +2274,14 @@ function Lr(e) {
|
|
|
2274
2274
|
g.accepted && (i.value = g.state, O.value = c, c.setPointerCapture?.(e.pointerId), E(), e.preventDefault());
|
|
2275
2275
|
}, F = (e) => {
|
|
2276
2276
|
if (!d.value) return;
|
|
2277
|
-
let [t, n] =
|
|
2277
|
+
let [t, n] = U(e, d.value), r = D(t, n), i = (r?.hasVisibleSeries ? r : void 0) ?? o.value.find((e) => e.hasVisibleSeries);
|
|
2278
2278
|
i && P(e, i.index, !1);
|
|
2279
2279
|
}, I = (e, t) => {
|
|
2280
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], _);
|
|
2281
2281
|
if (e.independent) {
|
|
2282
2282
|
let e = [...m.value];
|
|
2283
|
-
e[t.index] =
|
|
2284
|
-
} else p.value =
|
|
2283
|
+
e[t.index] = jr(v, _, i), m.value = e;
|
|
2284
|
+
} else p.value = jr(v, _, l.value);
|
|
2285
2285
|
let y = e.independent ? [t] : o.value.filter((e) => e.hasVisibleSeries), x = { ...g.value }, S = { ...h.value };
|
|
2286
2286
|
y.forEach((t) => {
|
|
2287
2287
|
let r = s.value.find((e) => e.id === t.id);
|
|
@@ -2295,7 +2295,7 @@ function Lr(e) {
|
|
|
2295
2295
|
if (!t || !n || e.pointerId !== t.pointerId) return;
|
|
2296
2296
|
let r = o.value.find((e) => e.index === t.trackIndex);
|
|
2297
2297
|
if (!r) return;
|
|
2298
|
-
let [a, s] =
|
|
2298
|
+
let [a, s] = U(e, n), c = Math.max(0, Math.min(t.independent ? r.width : l.value, a)), d = Math.max(0, Math.min(t.independent ? r.height : u.value, s)), f = Sr(i.value, {
|
|
2299
2299
|
type: "move",
|
|
2300
2300
|
pointerId: e.pointerId,
|
|
2301
2301
|
position: {
|
|
@@ -2314,12 +2314,12 @@ function Lr(e) {
|
|
|
2314
2314
|
if (!t || (e.independent ? !x(t) : !S())) return;
|
|
2315
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));
|
|
2316
2316
|
if (s - a < 6) return;
|
|
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 =
|
|
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 = Ar([t.xScale.invert(a), t.xScale.invert(s)], u, d, n);
|
|
2318
2318
|
if (e.independent) {
|
|
2319
2319
|
let e = [...m.value];
|
|
2320
|
-
e[t.index] =
|
|
2321
|
-
} else p.value =
|
|
2322
|
-
|
|
2320
|
+
e[t.index] = jr(h, u, t.width), m.value = e;
|
|
2321
|
+
} else p.value = jr(h, u, l.value);
|
|
2322
|
+
Fr(r, h, t, e.independent);
|
|
2323
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()]));
|
|
2324
2324
|
if (r("zoom-change", h), e.independent) {
|
|
2325
2325
|
let e = _[t.series?.trackId ?? t.series?.id ?? t.id];
|
|
@@ -2347,7 +2347,7 @@ function Lr(e) {
|
|
|
2347
2347
|
yRanges: _,
|
|
2348
2348
|
gesture: "box"
|
|
2349
2349
|
});
|
|
2350
|
-
f(
|
|
2350
|
+
f(C);
|
|
2351
2351
|
}, B = (e) => {
|
|
2352
2352
|
if (v.value) {
|
|
2353
2353
|
R();
|
|
@@ -2360,7 +2360,7 @@ function Lr(e) {
|
|
|
2360
2360
|
A(t.pointerId, e);
|
|
2361
2361
|
return;
|
|
2362
2362
|
}
|
|
2363
|
-
let [a, s] =
|
|
2363
|
+
let [a, s] = U(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 = Sr(i.value, {
|
|
2364
2364
|
type: "finish",
|
|
2365
2365
|
pointerId: e.pointerId,
|
|
2366
2366
|
position: {
|
|
@@ -2370,7 +2370,7 @@ function Lr(e) {
|
|
|
2370
2370
|
}).completed;
|
|
2371
2371
|
if (p) {
|
|
2372
2372
|
if (i.value = null, k(p.pointerId, e), O.value = void 0, e.preventDefault(), p.kind === "pan") {
|
|
2373
|
-
I(p, n), f(
|
|
2373
|
+
I(p, n), f(C);
|
|
2374
2374
|
return;
|
|
2375
2375
|
}
|
|
2376
2376
|
Math.abs(p.currentX - p.startX) >= 6 && z(p);
|
|
@@ -2378,11 +2378,11 @@ function Lr(e) {
|
|
|
2378
2378
|
}, V = (e) => {
|
|
2379
2379
|
if (T(), R(), n.displayMode === "independent" && e !== void 0) {
|
|
2380
2380
|
let t = [...m.value];
|
|
2381
|
-
t[e] =
|
|
2381
|
+
t[e] = J, m.value = t;
|
|
2382
2382
|
let n = { ...g.value };
|
|
2383
2383
|
delete n[e], g.value = n;
|
|
2384
|
-
} else p.value =
|
|
2385
|
-
E(), y.value = [], f(
|
|
2384
|
+
} else p.value = J, m.value = s.value.map(() => J), h.value = {}, g.value = {};
|
|
2385
|
+
E(), y.value = [], f(C);
|
|
2386
2386
|
};
|
|
2387
2387
|
return {
|
|
2388
2388
|
selectionBox: j,
|
|
@@ -2392,7 +2392,7 @@ function Lr(e) {
|
|
|
2392
2392
|
finishViewportDrag: B,
|
|
2393
2393
|
cancelViewportDrag: R,
|
|
2394
2394
|
resetViewport: V,
|
|
2395
|
-
setViewportDomain:
|
|
2395
|
+
setViewportDomain: Mr({
|
|
2396
2396
|
props: n,
|
|
2397
2397
|
trackLayouts: o,
|
|
2398
2398
|
initialXDomain: c,
|
|
@@ -2404,7 +2404,7 @@ function Lr(e) {
|
|
|
2404
2404
|
cancelViewportDrag: R,
|
|
2405
2405
|
clearHover: E,
|
|
2406
2406
|
editorSeriesOptions: y,
|
|
2407
|
-
configureZoom:
|
|
2407
|
+
configureZoom: C
|
|
2408
2408
|
}),
|
|
2409
2409
|
requestViewportReset: (e) => {
|
|
2410
2410
|
if (!(v.value || !n.zoomable || !_.value)) {
|
|
@@ -2424,7 +2424,7 @@ function Lr(e) {
|
|
|
2424
2424
|
}
|
|
2425
2425
|
//#endregion
|
|
2426
2426
|
//#region src/components/utils/useAnimationFrameThrottle.ts
|
|
2427
|
-
function
|
|
2427
|
+
function zr() {
|
|
2428
2428
|
let e = null, t = null;
|
|
2429
2429
|
function n(n) {
|
|
2430
2430
|
t = n, e === null && (e = requestAnimationFrame(() => {
|
|
@@ -2453,11 +2453,11 @@ function Rr() {
|
|
|
2453
2453
|
}
|
|
2454
2454
|
//#endregion
|
|
2455
2455
|
//#region src/components/interaction/useWaveformZoom.ts
|
|
2456
|
-
function
|
|
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 =
|
|
2456
|
+
function Br(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 = zr(), 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
2458
|
if (y || m.value) return;
|
|
2459
2459
|
g(), b = e.transform, x = "wheel", I();
|
|
2460
|
-
let t = e.transform.rescaleX(
|
|
2460
|
+
let t = e.transform.rescaleX(W(c.value, [0, u.value])).domain();
|
|
2461
2461
|
n("zoom-intent", {
|
|
2462
2462
|
start: t[0],
|
|
2463
2463
|
end: t[1],
|
|
@@ -2468,7 +2468,7 @@ function zr(e) {
|
|
|
2468
2468
|
g(), C.set(t, e.transform), w.set(t, "wheel"), I();
|
|
2469
2469
|
let r = s.value.find((e) => e.index === t);
|
|
2470
2470
|
if (r) {
|
|
2471
|
-
let i = e.transform.rescaleX(
|
|
2471
|
+
let i = e.transform.rescaleX(W(h(r), [0, r.width])).domain();
|
|
2472
2472
|
n("zoom-intent", {
|
|
2473
2473
|
start: i[0],
|
|
2474
2474
|
end: i[1],
|
|
@@ -2487,7 +2487,7 @@ function zr(e) {
|
|
|
2487
2487
|
if (b) {
|
|
2488
2488
|
let e = b;
|
|
2489
2489
|
b = null, S = x, x = null, a.value = e;
|
|
2490
|
-
let t = e.rescaleX(
|
|
2490
|
+
let t = e.rescaleX(W(c.value, [0, u.value])).domain();
|
|
2491
2491
|
n("zoom-change", [t[0], t[1]]);
|
|
2492
2492
|
}
|
|
2493
2493
|
if (!C.size) return;
|
|
@@ -2501,7 +2501,7 @@ function zr(e) {
|
|
|
2501
2501
|
if (!t) return;
|
|
2502
2502
|
if (r.get(e) === "wheel") {
|
|
2503
2503
|
let e = t.seriesList.map((e) => e.id);
|
|
2504
|
-
T.set(
|
|
2504
|
+
T.set(Nr(e), e);
|
|
2505
2505
|
}
|
|
2506
2506
|
let a = t.xScale.domain();
|
|
2507
2507
|
n("zoom-change", [a[0], a[1]]);
|
|
@@ -2509,14 +2509,14 @@ function zr(e) {
|
|
|
2509
2509
|
}
|
|
2510
2510
|
let N = () => {
|
|
2511
2511
|
if (t.displayMode === "independent") {
|
|
2512
|
-
|
|
2512
|
+
Ir(n, s.value, T.values()), T.clear();
|
|
2513
2513
|
return;
|
|
2514
2514
|
}
|
|
2515
2515
|
if (S !== "wheel") {
|
|
2516
2516
|
S = null;
|
|
2517
2517
|
return;
|
|
2518
2518
|
}
|
|
2519
|
-
|
|
2519
|
+
Lr(n, l.value, s.value), S = null;
|
|
2520
2520
|
}, P = () => {
|
|
2521
2521
|
v.flush(), M(), !(S === "wheel" || T.size) && N();
|
|
2522
2522
|
}, F = (e) => {
|
|
@@ -2532,28 +2532,28 @@ function zr(e) {
|
|
|
2532
2532
|
}, R = () => {
|
|
2533
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
2534
|
}, z = (e = !1) => {
|
|
2535
|
-
O += 1, e || R(), r.value?.querySelectorAll(".waveform-chart__overlay").forEach((e) =>
|
|
2535
|
+
O += 1, e || R(), r.value?.querySelectorAll(".waveform-chart__overlay").forEach((e) => G(e).on(".zoom", null)), _.clear();
|
|
2536
2536
|
}, B = (e, n) => {
|
|
2537
2537
|
let r = Math.abs(e[1] - e[0]);
|
|
2538
2538
|
if (!Number.isFinite(r) || r <= 0) return Rt.MIN_SCALE;
|
|
2539
|
-
let i =
|
|
2539
|
+
let i = Or(e, n, t);
|
|
2540
2540
|
return Math.max(Rt.MIN_SCALE, i > 0 ? r / i : Infinity);
|
|
2541
|
-
}, V = (e, n, r, i) => Ar(
|
|
2541
|
+
}, V = (e, n, r, i) => jr(Ar(e.rescaleX(W(n, [0, r])).domain(), n, i, t), n, r), H = (e) => {
|
|
2542
2542
|
let n = Number(t.minVisiblePoints);
|
|
2543
|
-
return
|
|
2544
|
-
},
|
|
2543
|
+
return An(e.seriesList, e.xScale.domain(), Number.isFinite(n) && n > 0 ? Math.ceil(n) + 1 : n);
|
|
2544
|
+
}, U = () => {
|
|
2545
2545
|
let e = s.value.filter((e) => e.hasVisibleSeries);
|
|
2546
2546
|
return e.length > 0 && e.every(H);
|
|
2547
2547
|
}, ee = (e, t) => {
|
|
2548
2548
|
if (e.type !== "wheel") return !1;
|
|
2549
2549
|
let n = e.deltaY;
|
|
2550
|
-
return n < 0 ? t : n > 0 &&
|
|
2550
|
+
return n < 0 ? t : n > 0 && ie(e.currentTarget).k > Rt.MIN_SCALE;
|
|
2551
2551
|
};
|
|
2552
2552
|
return {
|
|
2553
2553
|
cancelPendingZoom: R,
|
|
2554
2554
|
clearZoomBindings: z,
|
|
2555
2555
|
canZoomTrack: H,
|
|
2556
|
-
canZoomSharedTracks:
|
|
2556
|
+
canZoomSharedTracks: U,
|
|
2557
2557
|
configureZoom: () => {
|
|
2558
2558
|
z(D);
|
|
2559
2559
|
let e = O;
|
|
@@ -2562,13 +2562,13 @@ function zr(e) {
|
|
|
2562
2562
|
s.value.forEach((t) => {
|
|
2563
2563
|
let n = r.value?.querySelector(`[data-independent-overlay-index="${t.index}"]`);
|
|
2564
2564
|
if (!n) return;
|
|
2565
|
-
let i = h(t), a = [t.seriesList], c =
|
|
2565
|
+
let i = h(t), a = [t.seriesList], c = q().filter((e) => {
|
|
2566
2566
|
let n = s.value.find((e) => e.index === t.index) ?? t;
|
|
2567
2567
|
return ee(e, H(n));
|
|
2568
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
2569
|
_.set(t.index, c), y = !0;
|
|
2570
2570
|
try {
|
|
2571
|
-
|
|
2571
|
+
G(n).call(c).on("dblclick.zoom", null).call(c.transform, o.value[t.index] ?? J);
|
|
2572
2572
|
} finally {
|
|
2573
2573
|
y = !1;
|
|
2574
2574
|
}
|
|
@@ -2577,10 +2577,10 @@ function zr(e) {
|
|
|
2577
2577
|
}
|
|
2578
2578
|
let n = i.value;
|
|
2579
2579
|
if (!n) return;
|
|
2580
|
-
let l = s.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), g =
|
|
2580
|
+
let l = s.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), g = q().filter((e) => ee(e, U())).scaleExtent([1, B(c.value, l)]).constrain((e) => V(e, c.value, u.value, l)).extent([[0, 0], [u.value, d.value]]).translateExtent([[0, 0], [u.value, d.value]]).on("zoom", A).on("end", () => F(e));
|
|
2581
2581
|
_.set("shared", g), y = !0;
|
|
2582
2582
|
try {
|
|
2583
|
-
|
|
2583
|
+
G(n).call(g).on("dblclick.zoom", null).call(g.transform, a.value);
|
|
2584
2584
|
} finally {
|
|
2585
2585
|
y = !1;
|
|
2586
2586
|
}
|
|
@@ -2590,56 +2590,56 @@ function zr(e) {
|
|
|
2590
2590
|
}
|
|
2591
2591
|
//#endregion
|
|
2592
2592
|
//#region src/components/core/useWaveformChartLifecycle.ts
|
|
2593
|
-
function
|
|
2593
|
+
function Vr(e) {
|
|
2594
2594
|
return e instanceof Element && !!e.closest("button, input, select, textarea, [contenteditable]:not([contenteditable=\"false\"])");
|
|
2595
2595
|
}
|
|
2596
|
-
function
|
|
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:
|
|
2596
|
+
function Hr(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: O, sharedTransform: A, activeInteractionMode: j, hiddenSeriesIdSet: M, internalHiddenSeriesIds: N, independentTransforms: P, independentYDomains: F, resolveInitialTrackDomain: I, annotationInteraction: L, editorSeriesOptions: R, isPresentationMode: z, clearHover: B, cancelAnnotation: V, configureZoom: H, resetViewport: U, cancelViewportDrag: W, cancelPendingHover: G, clearZoomBindings: ee } = e;
|
|
2598
2598
|
function te(e) {
|
|
2599
|
-
z.value || e.code !== "Space" || !t.pannable || !_.value ||
|
|
2599
|
+
z.value || e.code !== "Space" || !t.pannable || !_.value || Vr(e.target) || (m.value = !0, e.preventDefault());
|
|
2600
2600
|
}
|
|
2601
2601
|
function ne(e) {
|
|
2602
2602
|
e.code === "Space" && (m.value = !1);
|
|
2603
2603
|
}
|
|
2604
2604
|
function re(e) {
|
|
2605
2605
|
let r = Math.min(y.value, Math.max(1, Math.floor(e)));
|
|
2606
|
-
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(() => J), F.value = {}), f(H), n("page-change", r, y.value));
|
|
2607
2607
|
}
|
|
2608
|
-
let K,
|
|
2608
|
+
let K, q;
|
|
2609
2609
|
function ie() {
|
|
2610
2610
|
if (t.displayMode === "independent") {
|
|
2611
|
-
K = void 0,
|
|
2611
|
+
K = void 0, q = new Map(w.value.flatMap((e) => {
|
|
2612
2612
|
let t = e.xScale.domain(), n = I(e);
|
|
2613
|
-
return t[1] - t[0] < n[1] - n[0] - 1e-12 ? [[
|
|
2613
|
+
return t[1] - t[0] < n[1] - n[0] - 1e-12 ? [[Nr(e.seriesList.map((e) => e.id)), t]] : [];
|
|
2614
2614
|
}));
|
|
2615
2615
|
return;
|
|
2616
2616
|
}
|
|
2617
|
-
|
|
2618
|
-
let e = D.value, n =
|
|
2617
|
+
q = void 0;
|
|
2618
|
+
let e = D.value, n = O.value;
|
|
2619
2619
|
K = e[1] - e[0] < n[1] - n[0] - 1e-12 ? [...e] : void 0;
|
|
2620
2620
|
}
|
|
2621
2621
|
function ae() {
|
|
2622
2622
|
if (t.displayMode === "independent") {
|
|
2623
2623
|
let e = P.value;
|
|
2624
|
-
P.value = C.value.map((t, n) => e[n] ??
|
|
2624
|
+
P.value = C.value.map((t, n) => e[n] ?? J);
|
|
2625
2625
|
}
|
|
2626
2626
|
B(), R.value = [], f(() => {
|
|
2627
|
-
if (t.displayMode === "independent" &&
|
|
2628
|
-
let e = C.value.map(() =>
|
|
2627
|
+
if (t.displayMode === "independent" && q) {
|
|
2628
|
+
let e = C.value.map(() => J);
|
|
2629
2629
|
w.value.forEach((n) => {
|
|
2630
|
-
let r =
|
|
2630
|
+
let r = q?.get(Nr(n.seriesList.map((e) => e.id)));
|
|
2631
2631
|
if (!r) return;
|
|
2632
|
-
let i = I(n), a =
|
|
2633
|
-
e[n.index] =
|
|
2634
|
-
}), P.value = e,
|
|
2632
|
+
let i = I(n), a = Ar(r, i, [n.seriesList], t);
|
|
2633
|
+
e[n.index] = jr(a, i, n.width);
|
|
2634
|
+
}), P.value = e, q = void 0;
|
|
2635
2635
|
} else if (t.displayMode !== "independent" && K) {
|
|
2636
|
-
let e =
|
|
2637
|
-
A.value =
|
|
2636
|
+
let e = O.value, n = w.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), r = Ar(K, e, n, t);
|
|
2637
|
+
A.value = jr(r, e, T.value), K = void 0;
|
|
2638
2638
|
}
|
|
2639
2639
|
H();
|
|
2640
2640
|
});
|
|
2641
2641
|
}
|
|
2642
|
-
|
|
2642
|
+
k([
|
|
2643
2643
|
T,
|
|
2644
2644
|
E,
|
|
2645
2645
|
() => t.zoomable,
|
|
@@ -2659,10 +2659,10 @@ function Vr(e) {
|
|
|
2659
2659
|
j
|
|
2660
2660
|
], async () => {
|
|
2661
2661
|
await f(), H();
|
|
2662
|
-
}, { immediate: !0 }),
|
|
2662
|
+
}, { immediate: !0 }), k(() => t.displayMode, () => {
|
|
2663
2663
|
let e = v.value;
|
|
2664
2664
|
v.value = 1, U(), e !== 1 && n("page-change", 1, y.value);
|
|
2665
|
-
}),
|
|
2665
|
+
}), k([
|
|
2666
2666
|
y,
|
|
2667
2667
|
() => t.grid?.rowCount,
|
|
2668
2668
|
() => t.grid?.columnCount,
|
|
@@ -2670,23 +2670,23 @@ function Vr(e) {
|
|
|
2670
2670
|
], () => {
|
|
2671
2671
|
let e = v.value;
|
|
2672
2672
|
v.value = v.value > y.value ? y.value : v.value === 1 ? v.value : 1, e !== v.value && n("page-change", v.value, y.value), B(), f(H);
|
|
2673
|
-
}),
|
|
2673
|
+
}), k(j, () => {
|
|
2674
2674
|
R.value = [];
|
|
2675
|
-
}),
|
|
2675
|
+
}), k(z, (e) => {
|
|
2676
2676
|
m.value = !1, e && (W(), ee(), B(), L.closeContextMenu(), V());
|
|
2677
|
-
}),
|
|
2677
|
+
}), k(() => S.value.map((e) => e.id).join("\0"), () => {
|
|
2678
2678
|
if (t.hiddenSeriesIds !== void 0) return;
|
|
2679
2679
|
let e = new Set(S.value.map((e) => e.id)), n = new Set(Array.from(N.value).filter((t) => e.has(t)));
|
|
2680
2680
|
(n.size !== N.value.size || Array.from(N.value).some((e) => !n.has(e))) && (N.value = n);
|
|
2681
|
-
}, { immediate: !0 }),
|
|
2681
|
+
}, { immediate: !0 }), k(() => C.value.flatMap((e) => e.visibleSeries.map((e) => e.id)).join("\0"), () => {
|
|
2682
2682
|
B(), R.value = [];
|
|
2683
2683
|
let e = L.editorDraft.value?.annotation.seriesId;
|
|
2684
2684
|
e && (!S.value.some((t) => t.id === e) || M.value.has(e)) && L.closeEditor();
|
|
2685
2685
|
let n = L.contextMenu.value?.annotationId, r = t.annotations.find((e) => e.id === n);
|
|
2686
2686
|
r && M.value.has(r.seriesId) && L.closeContextMenu(), f(H);
|
|
2687
|
-
}),
|
|
2687
|
+
}), k(() => t.annotationsVisible, (e) => {
|
|
2688
2688
|
e || (L.closeContextMenu(), V());
|
|
2689
|
-
}),
|
|
2689
|
+
}), k(() => t.annotations, (e) => {
|
|
2690
2690
|
let t = L.contextMenu.value?.annotationId;
|
|
2691
2691
|
t && !e.some((e) => e.id === t) && L.closeContextMenu();
|
|
2692
2692
|
let n = L.editorDraft.value;
|
|
@@ -2700,7 +2700,7 @@ function Vr(e) {
|
|
|
2700
2700
|
let e = i.value.getBoundingClientRect();
|
|
2701
2701
|
c.value = i.value.scrollWidth || e.width, l.value = i.value.scrollHeight || e.height;
|
|
2702
2702
|
}
|
|
2703
|
-
return
|
|
2703
|
+
return k([
|
|
2704
2704
|
u,
|
|
2705
2705
|
d,
|
|
2706
2706
|
p
|
|
@@ -2720,7 +2720,7 @@ function Vr(e) {
|
|
|
2720
2720
|
}
|
|
2721
2721
|
//#endregion
|
|
2722
2722
|
//#region src/components/core/useWaveformData.ts
|
|
2723
|
-
function
|
|
2723
|
+
function Ur(e) {
|
|
2724
2724
|
return ln(e).map(({ source: e, ...t }) => {
|
|
2725
2725
|
let n = e.metrics(t.errorBar.visible);
|
|
2726
2726
|
return {
|
|
@@ -2733,45 +2733,45 @@ function Hr(e) {
|
|
|
2733
2733
|
};
|
|
2734
2734
|
});
|
|
2735
2735
|
}
|
|
2736
|
-
function
|
|
2737
|
-
let r =
|
|
2738
|
-
return
|
|
2739
|
-
t(), r.value =
|
|
2736
|
+
function Wr(e, t, n) {
|
|
2737
|
+
let r = w(Ur(e()));
|
|
2738
|
+
return k(e, (e) => {
|
|
2739
|
+
t(), r.value = Ur(e), n();
|
|
2740
2740
|
}), r;
|
|
2741
2741
|
}
|
|
2742
2742
|
//#endregion
|
|
2743
2743
|
//#region wasm/pkg/waveform_sampling_wasm.js
|
|
2744
|
-
function
|
|
2745
|
-
let n =
|
|
2746
|
-
if (o[3]) throw
|
|
2747
|
-
var s =
|
|
2744
|
+
function Gr(e, t) {
|
|
2745
|
+
let n = ai(e, $.__wbindgen_malloc), r = di, i = ai(t, $.__wbindgen_malloc), a = di, o = $.calculate_range(n, r, i, a);
|
|
2746
|
+
if (o[3]) throw oi(o[2]);
|
|
2747
|
+
var s = Xr(o[0], o[1]).slice();
|
|
2748
2748
|
return $.__wbindgen_free(o[0], o[1] * 8, 8), s;
|
|
2749
2749
|
}
|
|
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();
|
|
2754
|
-
return $.__wbindgen_free(c[0], c[1] * 4, 4), l;
|
|
2755
|
-
}
|
|
2756
2750
|
function Kr(e, t, n, r) {
|
|
2757
|
-
let i =
|
|
2758
|
-
if (c[3]) throw
|
|
2759
|
-
var l =
|
|
2760
|
-
return $.__wbindgen_free(c[0], c[1] *
|
|
2751
|
+
let i = ai(e, $.__wbindgen_malloc), a = di, o = ai(t, $.__wbindgen_malloc), s = di, c = $.find_visible_range(i, a, o, s, n, r);
|
|
2752
|
+
if (c[3]) throw oi(c[2]);
|
|
2753
|
+
var l = Zr(c[0], c[1]).slice();
|
|
2754
|
+
return $.__wbindgen_free(c[0], c[1] * 4, 4), l;
|
|
2761
2755
|
}
|
|
2762
2756
|
function qr(e, t, n, r) {
|
|
2763
|
-
let i =
|
|
2764
|
-
if (c[3]) throw
|
|
2757
|
+
let i = ai(e, $.__wbindgen_malloc), a = di, o = ai(t, $.__wbindgen_malloc), s = di, c = $.sample_aggregates(i, a, o, s, n, r);
|
|
2758
|
+
if (c[3]) throw oi(c[2]);
|
|
2765
2759
|
var l = Xr(c[0], c[1]).slice();
|
|
2760
|
+
return $.__wbindgen_free(c[0], c[1] * 8, 8), l;
|
|
2761
|
+
}
|
|
2762
|
+
function Jr(e, t, n, r) {
|
|
2763
|
+
let i = ai(e, $.__wbindgen_malloc), a = di, o = ai(t, $.__wbindgen_malloc), s = di, c = $.sample_indexes(i, a, o, s, n, r);
|
|
2764
|
+
if (c[3]) throw oi(c[2]);
|
|
2765
|
+
var l = Zr(c[0], c[1]).slice();
|
|
2766
2766
|
return $.__wbindgen_free(c[0], c[1] * 4, 4), l;
|
|
2767
2767
|
}
|
|
2768
|
-
function
|
|
2768
|
+
function Yr() {
|
|
2769
2769
|
return {
|
|
2770
2770
|
__proto__: null,
|
|
2771
2771
|
"./waveform_sampling_wasm_bg.js": {
|
|
2772
2772
|
__proto__: null,
|
|
2773
2773
|
__wbindgen_cast_0000000000000001: function(e, t) {
|
|
2774
|
-
return
|
|
2774
|
+
return ei(e, t);
|
|
2775
2775
|
},
|
|
2776
2776
|
__wbindgen_init_externref_table: function() {
|
|
2777
2777
|
let e = $.__wbindgen_externrefs, t = e.grow(4);
|
|
@@ -2780,52 +2780,52 @@ function Jr() {
|
|
|
2780
2780
|
}
|
|
2781
2781
|
};
|
|
2782
2782
|
}
|
|
2783
|
-
function Yr(e, t) {
|
|
2784
|
-
return e >>>= 0, Qr().subarray(e / 8, e / 8 + t);
|
|
2785
|
-
}
|
|
2786
2783
|
function Xr(e, t) {
|
|
2787
|
-
return e >>>= 0,
|
|
2784
|
+
return e >>>= 0, $r().subarray(e / 8, e / 8 + t);
|
|
2788
2785
|
}
|
|
2789
|
-
|
|
2790
|
-
|
|
2791
|
-
return (Zr === null || Zr.byteLength === 0) && (Zr = new Float64Array($.memory.buffer)), Zr;
|
|
2786
|
+
function Zr(e, t) {
|
|
2787
|
+
return e >>>= 0, ni().subarray(e / 4, e / 4 + t);
|
|
2792
2788
|
}
|
|
2793
|
-
|
|
2794
|
-
|
|
2789
|
+
var Qr = null;
|
|
2790
|
+
function $r() {
|
|
2791
|
+
return (Qr === null || Qr.byteLength === 0) && (Qr = new Float64Array($.memory.buffer)), Qr;
|
|
2795
2792
|
}
|
|
2796
|
-
|
|
2797
|
-
|
|
2798
|
-
return (ei === null || ei.byteLength === 0) && (ei = new Uint32Array($.memory.buffer)), ei;
|
|
2793
|
+
function ei(e, t) {
|
|
2794
|
+
return e >>>= 0, ui(e, t);
|
|
2799
2795
|
}
|
|
2800
|
-
var
|
|
2801
|
-
function
|
|
2802
|
-
return (
|
|
2796
|
+
var ti = null;
|
|
2797
|
+
function ni() {
|
|
2798
|
+
return (ti === null || ti.byteLength === 0) && (ti = new Uint32Array($.memory.buffer)), ti;
|
|
2803
2799
|
}
|
|
2804
|
-
|
|
2800
|
+
var ri = null;
|
|
2801
|
+
function ii() {
|
|
2802
|
+
return (ri === null || ri.byteLength === 0) && (ri = new Uint8Array($.memory.buffer)), ri;
|
|
2803
|
+
}
|
|
2804
|
+
function ai(e, t) {
|
|
2805
2805
|
let n = t(e.length * 8, 8) >>> 0;
|
|
2806
|
-
return
|
|
2806
|
+
return $r().set(e, n / 8), di = e.length, n;
|
|
2807
2807
|
}
|
|
2808
|
-
function
|
|
2808
|
+
function oi(e) {
|
|
2809
2809
|
let t = $.__wbindgen_externrefs.get(e);
|
|
2810
2810
|
return $.__externref_table_dealloc(e), t;
|
|
2811
2811
|
}
|
|
2812
|
-
var
|
|
2812
|
+
var si = new TextDecoder("utf-8", {
|
|
2813
2813
|
ignoreBOM: !0,
|
|
2814
2814
|
fatal: !0
|
|
2815
2815
|
});
|
|
2816
|
-
|
|
2817
|
-
var
|
|
2818
|
-
function
|
|
2819
|
-
return
|
|
2816
|
+
si.decode();
|
|
2817
|
+
var ci = 2146435072, li = 0;
|
|
2818
|
+
function ui(e, t) {
|
|
2819
|
+
return li += t, li >= ci && (si = new TextDecoder("utf-8", {
|
|
2820
2820
|
ignoreBOM: !0,
|
|
2821
2821
|
fatal: !0
|
|
2822
|
-
}),
|
|
2822
|
+
}), si.decode(), li = t), si.decode(ii().subarray(e, e + t));
|
|
2823
2823
|
}
|
|
2824
|
-
var
|
|
2825
|
-
function
|
|
2826
|
-
return $ = e.exports,
|
|
2824
|
+
var di = 0, $;
|
|
2825
|
+
function fi(e, t) {
|
|
2826
|
+
return $ = e.exports, Qr = null, ti = null, ri = null, $.__wbindgen_start(), $;
|
|
2827
2827
|
}
|
|
2828
|
-
async function
|
|
2828
|
+
async function pi(e, t) {
|
|
2829
2829
|
if (typeof Response == "function" && e instanceof Response) {
|
|
2830
2830
|
if (typeof WebAssembly.instantiateStreaming == "function") try {
|
|
2831
2831
|
return await WebAssembly.instantiateStreaming(e, t);
|
|
@@ -2851,17 +2851,17 @@ async function fi(e, t) {
|
|
|
2851
2851
|
return !1;
|
|
2852
2852
|
}
|
|
2853
2853
|
}
|
|
2854
|
-
async function
|
|
2854
|
+
async function mi(e) {
|
|
2855
2855
|
if ($ !== void 0) return $;
|
|
2856
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/cUGAf3I6AAEgAiABQRJ2QXByOgAADAELIAIgAToAAAsgACAEIAZqNgIIQQALzwIBCH9BAEHojMAAKAIAEQUAIgIEQCACKAIARQRAQX8hAyACQX82AgAgAkEEaiEFIAIoAgwiBkHYAGwhBCACKAIIIQgCQAJAA0AgBCAHRg0BIANBAWohAyAHIAhqIAdB2ABqIQdByABqKAIAQYCAgIB4Rw0ACyAHIAhqQdgAayABQdgA/AoAACADIQYMAQsgBSgCACAGRgR/IwBBEGsiBCQAIARBBGogBSgCACIDIAUoAgRBBCADQQF0IgMgA0EETRsiCUEIQdgAEBwgBCgCBEEBRgRAIAQoAgggBCgCDBA9AAsgBCgCCCEDIAUgCTYCACAFIAM2AgQgBEEQaiQAIAIoAggFIAgLIAZB2ABsaiABQdgA/AoAACACIAZBAWo2AgwLIAIgAigCAEEBajYCACAAIAY2AgQgAEEANgIADwtBqI7AABA3AAsgARAPEDYAC9QBAgJ/A3wgA0H4////AXEEQCAAIAAgA0EDdiIDQeAAbCIFaiAAIANBqAFsIgZqIAMgBBAYIQAgASABIAVqIAEgBmogAyAEEBghASACIAIgBWogAiAGaiADIAQQGCECCwJAAkAgACsDACIHIAdhIgMgASsDACIIIAhhIgRxBEAgAyACKwMAIgkgCWEiBXFFDQEgByAIYyIDIAcgCWNzBH8gAAUgBCAFcUUNAyACIAEgAyAIIAljcxsLDwtBpI/AABBJAAtBpI/AABBJAAtBpI/AABBJAAvmAQICfwF+IwBBMGsiAiQAIAEoAgBBgICAgHhGBEAgASgCDCEDIAJBADYCLCACQoCAgIAQNwIkIAJBJGpB5I/AACADKAIAIgMoAgAgAygCBBAKGiACIAIoAiwiAzYCICACIAIpAiQiBDcDGCABIAM2AgggASAENwIACyABKAIIIQMgAUEANgIIIAEpAgAhBCABQoCAgIAQNwIAIAIgAzYCECACIAQ3AwhBDEEEEEsiAUUEQEEEQQwQTgALIAEgAigCEDYCCCABIAIpAwg3AgAgAEHwkcAANgIEIAAgATYCACACQTBqJAALpwEBAX8jAEEQayIFJAAgBEUEQEEAQQAQPQALIAIgASACaiIBSwRAQQBBABA9AAsgBUEEaiAAKAIAIgIgACgCBCABIAJBAXQiAiABIAJLGyIBQQhBBEEBIARBgQhJGyAEQQFGGyICIAEgAksbIgEgAyAEEBwgBSgCBEEBRgRAIAUoAgggBSgCDBA9AAsgBSgCCCECIAAgATYCACAAIAI2AgQgBUEQaiQAC5UCAQJ/IwBBIGsiBSQAQbCWwABBsJbAACgCACIGQQFqNgIAAkACQAJAAkACf0EAIAZBAEgNABpBAUGclsAALQAADQAaQZyWwABBAToAAEGYlsAAQZiWwAAoAgBBAWo2AgBBAgtB/wFxDgMDAQABC0GklsAAKAIAIgZBAEgNAkGklsAAIAZBAWo2AgBBqJbAACgCAEUNASAFQQhqIAAgASgCFBEAACAFIAQ6AB0gBSADOgAcIAUgAjYCGCAFIAUpAwg3AhBBqJbAACgCACAFQRBqQayWwAAoAgAoAhQRAAAMAQsgBSAAIAEoAhgRAAAMAQtBpJbAAEGklsAAKAIAQQFrNgIAQZyWwABBADoAACADRQ0AAAsAC5wBAgJ/AX5BASEHQQQhBgJAIAWtIAOtfiIIQiCIUEUEQEEAIQMMAQsgCKciA0GAgICAeCAEa0sEQEEAIQMMAQsCQAJAAn8gAQRAIAIgASAFbCAEIAMQRAwBCyADRQRAIAQhBgwCCyADIAQQSwsiBg0AIAAgBDYCBAwBCyAAIAY2AgRBACEHC0EIIQYLIAAgBmogAzYCACAAIAc2AgALhwEBAX8jAEEQayIDJAAgAiABIAJqIgFLBEBBAEEAED0ACyADQQRqIAAoAgAiAiAAKAIEQQggASACQQF0IgIgASACSxsiASABQQhNGyIBQQFBARAcIAMoAgRBAUYEQCADKAIIIAMoAgwQPQALIAMoAgghAiAAIAE2AgAgACACNgIEIANBEGokAAulAQEDfyMAQeAAayIBJABB6JXAACgCAEUEQEHolcAAQX82AgBB6JXAAEH0lcAAKAIAIABLBH8gAUEIaiICQfCVwAAoAgAgAEHYAGxqIgBB2AD8CgAAIABBgICAgHg2AkggASgCUCIAQYCAgIB4RwRAIAIQDwsgAEGAgICAeEchA0HolcAAKAIAQQFqBSACCzYCACABQeAAaiQAIAMPC0G8jcAAEDcAC5EBAgJ/AX4jAEEgayICJAAgASgCAEGAgICAeEYEQCABKAIMIQMgAkEANgIcIAJCgICAgBA3AhQgAkEUakHkj8AAIAMoAgAiAygCACADKAIEEAoaIAIgAigCHCIDNgIQIAIgAikCFCIENwMIIAEgAzYCCCABIAQ3AgALIABB8JHAADYCBCAAIAE2AgAgAkEgaiQAC4cBAQJ/QeiVwAAoAgBFBEBB6JXAAEF/NgIAQfSVwAAoAgAhAUH0lcAAQQA2AgBB6JXAACABBH9B8JXAACgCACEAA0AgAEHIAGooAgBBgICAgHhHBEAgABAPCyAAQdgAaiEAIAFBAWsiAQ0AC0HolcAAKAIAQQFqBSAACzYCAA8LQeyNwAAQNwALjgEBAX8CQAJAIABBhAhPBEAgANBvJgFB+JXAACgCAA0CQfiVwABBfzYCACAAQYyWwAAoAgAiAUkNASAAIAFrIgBBhJbAACgCAE8NAUGAlsAAKAIAIABBAnRqQYiWwAAoAgA2AgBBiJbAACAANgIAQfiVwABB+JXAACgCAEEBajYCAAsPCwALQdSPwAAQNwALaQEDfyMAQRBrIgEkACABQQRqIAAoAgAiAiAAKAIEQQQgAkEBdCICIAJBBE0bIgJBCEEIEBwgASgCBEEBRgRAIAEoAgggASgCDBA9AAsgASgCCCEDIAAgAjYCACAAIAM2AgQgAUEQaiQAC5EBAQJ/QeiVwAAoAgAiAUH/////B0kEQEHolcAAIAFBAWo2AgACQCAAQfSVwAAoAgBPDQBB8JXAACgCACAAQdgAbGoiACgCSEGAgICAeEYNACAAKAIQIQILQeiVwAAgATYCACACDwsjAEEQayIAJAAgACAAQQ9qrUKAgICA4AKENwMAQZiCwAAgAEHcjcAAECkAC1QBAX8CQAJAIAAoAgAgACgCCCIDayACSQRAIAAgAyACEB0gACgCCCEDDAELIAJFDQELIAJFDQAgACgCBCADaiABIAL8CgAACyAAIAIgA2o2AghBAAtQAQF/AkAgACgCCCICBEAgACgCBCACQQJ0akEEaygCACABRg0BCyAAKAIAIAJGBEAgABAnCyAAKAIEIAJBAnRqIAE2AgAgACACQQFqNgIICwtPAgF/AX4jAEEgayIDJAAgAyABNgIMIAMgADYCCCADQoCAgIDAAiIEIANBCGqthDcDGCADIAQgA0EMaq2ENwMQQaiAwAAgA0EQaiACECkAC8gBAQV/IwBBEGsiBCQAIARBCGohBSAAKAIAIQEjAEEQayICJAAgAkEEaiAAKAIAIgMgACgCBEEEIAFBAWoiASADQQF0IgMgASADSxsiASABQQRNGyIBQQRBBBAcAn8gAigCBARAIAIoAgwhACACKAIIDAELIAIoAgghAyAAIAE2AgAgACADNgIEQYGAgIB4CyEBIAUgADYCBCAFIAE2AgAgAkEQaiQAIAQoAggiAEGBgICAeEcEQCAAIAQoAgwQPQALIARBEGokAAtEAQJ/IAEoAgQhAiABKAIAIQNBCEEEEEsiAUUEQEEEQQgQTgALIAEgAjYCBCABIAM2AgAgAEHUkcAANgIEIAAgATYCAAveAQIBfwF+IwBBIGsiAyQAIAMgATYCECADIAA2AgwgA0EBOwEcIAMgAjYCGCADIANBDGo2AhQjAEEQayIBJAAgA0EUaiIAKQIAIQQgASAANgIMIAEgBDcCBCMAQRBrIgAkACABQQRqIgEoAgAiAigCBCIDQQFxBEAgAigCACECIAAgA0EBdjYCBCAAIAI2AgAgAEH8j8AAIAEoAgQgASgCCCIALQAIIAAtAAkQGwALIABBgICAgHg2AgAgACABNgIMIABBmJDAACABKAIEIAEoAggiAC0ACCAALQAJEBsACy4AAkAgAWlBAUcgAEGAgICAeCABa0tyDQAgAARAIAAgARBLIgFFDQELIAEPCwALPgAgACgCAEGAgICAeEcEQCABIAAoAgQgACgCCBBDDwsgASgCACABKAIEIAAoAgwoAgAiACgCACAAKAIEEAoLOAACQCACQYCAxABGDQAgACACIAEoAhARAQBFDQBBAQ8LIANFBEBBAA8LIAAgA0EAIAEoAgwRAgAL1gMBB38jAEEQayIGJAAjAEEQayIIJAAgCEEEaiEHIwBBEGsiCSQAIAlBBGogACABIAIgAxALIAkoAgghCgJAIAkoAgQiDEGAgICAeEYEQCAHQYCAgIB4NgIAIAcgCjYCBAwBCwJAIAkoAgwiC0UEQAJAAkAgBEEDaw4FAQAAAAEAC0H7isAAQSkQPyEEIAdBgICAgHg2AgAgByAENgIEDAILIAdBADYCCCAHQoCAgICAATcCAAwBCyAHIAogC0EBIAUgBUEBTRsiBSALIAUgC0kbIAQQBwsgDEUNACAKIAxBGGxBCBBHCyAJQRBqJAAgAwRAIAIgA0EDdEEIEEcLIAEEQCAAIAFBA3RBCBBHCwJAAkACfyAIKAIEIgBBgICAgHhGBEBBASEBQQAhAEEAIQIgCCgCCAwBCyAIKAIIIQECQCAIKAIMIgIgAE8EQCABIQAMAQsgAEEDdCEDIAJFBEBBCCEAIAEgA0EIEEcMAQsgASADQQggAkEDdCIBEEQiAEUNAgtBACEBQQALIQMgBiABNgIMIAYgAzYCCCAGIAI2AgQgBiAANgIAIAhBEGokAAwBC0EIIAEQPQALIAYoAgAgBigCBCAGKAIIIAYoAgwgBkEQaiQAC7MFAgx/AXwjAEEQayIHJAAjAEEQayIKJAAgCkEEaiEMIwBBEGsiDSQAIA1BBGogACABIAIgAxALIA0oAgghCwJAAkACQAJAIA0oAgQiEUGAgICAeEYEQCAMQYCAgIB4NgIAIAwgCzYCBAwBCwJAIAS9Qv///////////wCDQv/////////3/wBYIAW9Qv///////////wCDQv/////////3/wBYcUUEQEEIQQQQSyIGRQ0DIAZBADYCAAwBCyANKAIMIQkgBCAFEDshEiAEIAUQPCEEIAkhCAJAAkACQCAJDgICAQALA0AgCEEBdiIPIA5qIhAgDiALIBBBGGxqKwMAIARjGyEOIAggD2siCEEBSw0ACwsgCyAOQRhsaisDACAEYyAJQQFHBEADQCAJQQF2Ig8gBmoiECAGIAsgEEEYbGorAwAgEmUbIQYgCSAPayIJQQFLDQALCyAOaiEJIAYgCyAGQRhsaisDACASZWohCAtBCEEEEEsiBkUNAyAGIAk2AgALIAxBAjYCCCAMIAY2AgQgDEECNgIAIAYgCDYCBCARRQ0AIAsgEUEYbEEIEEcLIA1BEGokAAwCC0EEQQgQTgALQQRBCBBOAAsgAwRAIAIgA0EDdEEIEEcLIAEEQCAAIAFBA3RBCBBHCwJAAkACfyAKKAIEIgFBgICAgHhGBEBBASECQQAhAUEAIQMgCigCCAwBCyAKKAIIIQACQCAKKAIMIgMgAU8EQCAAIQEMAQsgAUECdCECIANFBEBBBCEBIAAgAkEEEEcMAQsgACACQQQgA0ECdCIAEEQiAUUNAgtBACECQQALIQAgByACNgIMIAcgADYCCCAHIAM2AgQgByABNgIAIApBEGokAAwBC0EEIAAQPQALIAcoAgAgBygCBCAHKAIIIAcoAgwgB0EQaiQAC4wDAQV/IwBBEGsiByQAIwBBIGsiBiQAIAZBFGogACABIAIgAxALIAYoAhghCAJAIAYoAhQiCkGAgICAeEYEQCAGIAg2AgwgBkGAgICAeDYCCAwBCwJAIAYoAhwiCUUEQCAGQQhqIAhBACAEQQAQAwwBCyAGQQhqIAggCSAEQQEgBSAFQQFNGyIEIAkgBCAJSRsQAwsgCkUNACAIIApBGGxBCBBHCyADBEAgAiADQQN0QQgQRwsgAQRAIAAgAUEDdEEIEEcLAkACQAJ/IAYoAggiAEGAgICAeEYEQEEBIQFBACEAQQAhAiAGKAIMDAELIAYoAgwhAQJAIAYoAhAiAiAATwRAIAEhAAwBCyAAQQJ0IQMgAkUEQEEEIQAgASADQQQQRwwBCyABIANBBCACQQJ0IgEQRCIARQ0CC0EAIQFBAAshAyAHIAE2AgwgByADNgIIIAcgAjYCBCAHIAA2AgAgBkEgaiQADAELQQQgARA9AAsgBygCACAHKAIEIAcoAgggBygCDCAHQRBqJAALqCcCIn8CfCMAQRBrIhEkACMAQUBqIgokACAKIAQ2AiggCiADNgIkIAogAjYCICAKIAE2AhwgCiAANgIYIAogCkEoajYCPCAKIApBJGo2AjggCiAKQSBqNgI0IAogCkEcajYCMCAKIApBGGo2AiwgCkEMaiEfIApBLGohACMAQRBrIhckAAJAAkBBAEHojMAAKAIAEQUAIhJFDQAgEigCAEUEQCASQX82AgAgHwJ+AkAgACgCACgCACIBIBIoAgxJBEAgEigCCCABQdgAbGoiCSgCSEGAgICAeEcNAQtB/I3AAEEcED8hACASIBIoAgBBAWo2AgAgFyAANgIIQYCAgIB4IQAgFykCCAwBCyAXQQRqIQ0gACgCBCgCACEBIAAoAggoAgAhAyAAKAIMKAIAIRYgACgCECgCACEAIwBBMGsiBSQAIAkoAjgiAiABIAEgAksbIg4gAiADIAIgA0kbIgMgAyAOSRsiFCAOayECAkACQAJAAkACQCABIANPBEAgFkECRg0CQQQhAUEAIQMMAQtBASETAkACQAJAAkAgAEEBTQRAIAJBAUYNASAWDgMEAgYCCyAAIAIgACACSRshEwsCQCAWDgMDAAUACyACIBNNDQICQCATQQFrDgIBAAILQQhBBBBLIgAEQCAAIA42AgAgDUECNgIIIA0gADYCBCANQQI2AgAgACAUQQFrNgIEDAYLQQRBCBBOAAtBBEEEEEsiAARAIA1BATYCCCANIAA2AgQgDUEBNgIAIAAgDjYCAAwFC0EEQQQQTgALQQEhAAJAAkACQAJAAkACQAJAIBZBAWsOBgAEBAICAQQLQQIhAAsgE0ECayAAdiIZDQFBCBA4IgAgFEEBazYCBCAAIA42AgAgDUECNgIIIA0gADYCBCANQQI2AgAMCAsgE0ECayEZC0EEEDgiACAONgIAIAVBATYCFCAFIAA2AhAgBUEBNgIMIAlBPGohFSAOQQFqISAgAkECayEhA0AgGCAhbCAZbiIAICBqIgIgGEEBaiIYICFsIBluIiIgIGoiI08NAgJAICIgAGtnIgBBH0YNACAAQR9zIR1BASEIA0ACQCAJKAJEIAhLBEAgCSgCQCAIQRhsaigCAEGAgICAeEcNAQsgCSgCFEF/IAkoAhAiASAJKAI4IgAgCHYgAEF/IAh0QX9zcUEAR2oiD0EDdGoiACAAIAFJG0kNBSAJIAA2AhACQCAPRQRAQQAhAUEEIR5BBCEaDAELIA9BAnQiG0EEEEwiGgRAIBtBBBBMIh4EQCAJKAJAIAhBAWsiAUEYbGohECAJKAI0IRwgCSgCOCELQQAhBkEBIQBBBCEHIAEgCSgCREkhJANAIABBAWshAQJAAkACQAJAAkACQAJAAn8CQCAkBEAgECgCAEGAgICAeEcNAQsgACEEIAEhAyAAIAAgC0kNARoMBwsgASAQKAIIIgRPDQEgASAQKAIUIgxPDQIgECgCBCAHaiIlQQRrKAIAIQEgECgCECAHaiImQQRrKAIAIQMgACAETw0GICUoAgAhBEEAIAAgDE8NABogJigCAAshDCAEIAtPDQIgASALTw0EIAYgGmogASAEIBwgBEEDdGorAwAiJyAcIAFBA3RqKwMAIihjRSABIARNICcgKGJycRs2AgAgCyAMTQ0DAkAgAyALSQRAIBwgDEEDdGorAwAiJyAcIANBA3RqKwMAIihkRQ0BIAwhAwwICyADIAtB7IfAABAmAAsgDCADIAMgDEsbIAMgJyAoYRshAwwGCyAAQQFrIARB/InAABAmAAsgAEEBayAMQYyKwAAQJgALIAQgC0H8h8AAECYACyAMIAtB3IfAABAmAAsgASALQYyIwAAQJgALIAYgGmogATYCAAsgBiAeaiADNgIAIAdBCGohByAAQQJqIQAgGyAGQQRqIgZHDQALIA8hAQwCC0EEIBsQPQALQQQgGxA9AAsgCCAJKAJEIgBPBEACQCAIQQFqIgYgFSgCCCIDTQRAIBUgBjYCCCADIAZGDQEgAyAGayELIBUoAgQgBkEYbGohBANAAkAgBCgCACIAQYCAgIB4Rg0AIAAEQCAEQQRqKAIAIABBAnRBBBBHCyAEQQxqKAIAIgBFDQAgBEEQaigCACAAQQJ0QQQQRwsgBEEYaiEEIAtBAWsiCw0ACwwBCyAGIAMiAGsiByAVKAIAIABrSwRAIBUgACAHQQRBGBAaIBUoAgghAAsgFSgCBCEQIAdBA3EiCwRAIAAgC2ogBiADayALayEHIBAgAEEYbGohBANAIARBgICAgHg2AgAgBEEYaiEEIAtBAWsiCw0ACyEACyADIAZrQXxNBEAgECAAQRhsaiEEA0AgBEGAgICAeDYCACAEQcgAakGAgICAeDYCACAEQTBqQYCAgIB4NgIAIARBGGpBgICAgHg2AgAgBEHgAGohBCAAQQRqIQAgB0EEayIHDQALCyAVIAA2AggLIAkoAkQhAAsgACAITQ0GAkAgCSgCQCAIQRhsaiIAKAIAIgNBgICAgHhGDQAgAwRAIAAoAgQgA0ECdEEEEEcLIAAoAgwiA0UNACAAKAIQIANBAnRBBBBHCyAAIA82AhQgACAeNgIQIAAgATYCDCAAIA82AgggACAaNgIEIAAgATYCAAsgCCAdTw0BIAggCCAdSWoiCCAdTQ0ACwsgCSgCOCEMIAkoAjQhDyAJKAJAIRAgCSgCRCELIAIiACEHIAAhBAJAAkACQAJAAkACQANAQQEhBgJAIABBAXEgIyAAayIBQQJJcg0AQQIhBiAAQQJxIAFBBElyDQBBBCEGIABBBHEgAUEISXINAEEIIQYgAEEIcSABQRBJcg0AQRAhBiAAQRBxIAFBIElyDQBBICEGIABBIHEgAUHAAElyDQBBwAAhBiAAQcAAcSABQYABSXINAEGAASEGIABBgAFxIAFBgAJJcg0AQYACIQYgAEGAAnEgAUGABElyDQBBgAQhBiAAQYAEcSABQYAISXINAEGACCEGIABBgAhxIAFBgBBJcg0AQYAQIQYgAEGAEHEgAUGAIElyDQBBgCAhBiAAQYAgcSABQYDAAElyDQBBgMAAIQYgAEGAwABxIAFBgIABSXINAEGAgAEhBiAAQYCAAXEgAUGAgAJJcg0AQYCAAiEGIABBgIACcSABQYCABElyDQBBgIAEIQYgAEGAgARxIAFBgIAISXINAEGAgAghBiAAQYCACHEgAUGAgBBJcg0AQYCAECEGIABBgIAQcSABQYCAIElyDQBBgIAgIQYgAEGAgCBxIAFBgIDAAElyDQBBgIDAACEGIABBgIDAAHEgAUGAgIABSXINAEGAgIABIQYgAEGAgIABcSABQYCAgAJJcg0AQYCAgAIhBiAAQYCAgAJxIAFBgICABElyDQBBgICABCEGIABBgICABHEgAUGAgIAISXINAEGAgIAIIQYgAEGAgIAIcSABQYCAgBBJcg0AQYCAgBAhBiAAQYCAgBBxIAFBgICAIElyDQBBgICAICEGIABBgICAIHEgAUGAgIDAAElyDQBBgICAwAAhBiAAQYCAgMAAcSABQYCAgIABSXINAEGAgICAASEGIABBgICAgAFxIAFBgICAgAJJcg0AQYCAgIACIQYgAEGAgICAAnEgAUGAgICABElyDQBBgICAgAQhBiAAQYCAgIAEcSABQQBOcg0AEEoACyAAIQEgACEDAkAgBmgiCEUNAAJAIAggC0kEQCAQIAhBGGxqIgEoAgBBgICAgHhHDQEMDAsgCCALQbyJwAAQJgALIAAgCHYiAyABKAIIIghJBEAgASgCFCIIIANLBEAgA0ECdCIIIAEoAhBqKAIAIQMgASgCBCAIaigCACEBDAILIAMgCEHcicAAECYACyADIAhBzInAABAmAAsgASAMTw0BIAcgDE8NAiAHIAEgDyABQQN0aisDACInIA8gB0EDdGorAwAiKGNFIAEgB08gJyAoYnJxGyEHIAMgDE8NAyAEIAxPDQQgBCADIA8gA0EDdGorAwAiJyAPIARBA3RqKwMAIihkRSADIARPICcgKGJycRshBCAAIAZqIgAgI0kNAAsCQAJAAkACQAJAIBZBAWsOBgMAAAECBAALQZyKwABBKEHEisAAED4ACyAFKAIUIgAEQCAFKAIQIABBAnRqQQRrKAIAIAdGDQkLIAUoAgwgAEYEQCAFQQxqECcLIAUoAhAgAEECdGogBzYCACAFIABBAWo2AhQMCAsgBSgCFCIABEAgBSgCECAAQQJ0akEEaygCACAERg0ICyAFKAIMIABGBEAgBUEMahAnCyAFKAIQIABBAnRqIAQ2AgAgBSAAQQFqNgIUDAcLIAUgBDYCCCAFIAI2AiQgBSAHNgIYAkAgAiAHTQRAIAIhASAHIQIMAQsgBSAHNgIkIAUgAjYCGCAHIQELIA4gImohAAJAIAIgBE0EQCACIQEgBCECDAELIAUgAjYCCCAFQRhqIQMgASAESwR/IAUgATYCGCAFQSRqBSADCyAENgIAIAUoAhghAQsCQCAAIAJPBEAgAiEDIAAhAgwBCwJ/IAVBCGogACABTw0AGiAFIAE2AgggBUEYaiAFKAIkIgEgAE0NABogBSABNgIYIAVBJGoLIAA2AgAgBSgCCCEDIAUoAhghAQsgBUEMaiIAIAUoAiQQJSAAIAEQJSAAIAMQJSAAIAIQJQwGCyAEIAdJDQQCQAJAIAUoAhQiAARAIAUoAhAgAEECdGpBBGsoAgAgB0YNAQsgBSgCDCAARgRAIAVBDGoQJyAFKAIQIABBAnRqIAc2AgAgBSAAQQFqIgA2AhQMAQsgBSgCECAAQQJ0aiAHNgIAIAUgAEEBaiIANgIUQQAhASAARQ0BCyAAIQEgBSgCECAAQQJ0akEEaygCACAERg0GCyAFKAIMIAFGBEAgBUEMahAnCyAFKAIQIAFBAnRqIAQ2AgAgBSABQQFqNgIUDAULIAEgDEH8h8AAECYACyAHIAxBjIjAABAmAAsgAyAMQdyHwAAQJgALIAQgDEHsh8AAECYACwJAAkAgBSgCFCIABEAgBSgCECAAQQJ0akEEaygCACAERg0BCyAFKAIMIABGBEAgBUEMahAnIAUoAhAgAEECdGogBDYCACAFIABBAWoiADYCFAwBCyAFKAIQIABBAnRqIAQ2AgAgBSAAQQFqIgA2AhRBACEBIABFDQELIAAhASAFKAIQIABBAnRqQQRrKAIAIAdGDQELIAUoAgwgAUYEQCAFQQxqECcLIAUoAhAgAUECdGogBzYCACAFIAFBAWo2AhQLIBggGUcNAAsgBUEMaiAUQQFrECUgDSAFKAIUNgIIIA0gBSkCDDcCAAwGC0HUisAAQScQPyEAIA1BgICAgHg2AgAgDSAANgIEDAULIAUgFDYCLCAFIA42AiggBSAJNgIkIAVBGGohB0EAIQAjAEEgayICJAAgBUEkaiIJKAIIIgEgCSgCBGsiA0EAIAEgA08bIgFBGGwhBAJAAkAgAUHVqtUqSw0AQQghAyAEBEBBCCEAIARBCBBLIgNFDQEgASEACyACQQA2AhAgAiADNgIMIAIgADYCCCACQQA2AhggAiACQRBqNgIUIAIgAzYCHCAJIAJBFGoQEyAHIAIoAhA2AgggByACKQIINwIAIAJBIGokAAwBCyAAIAQQPQALIA0gBSgCHCIAIAUoAiAgFiATEAMgBSgCGCIBBEAgACABQRhsQQgQRwsgBSgCDCIARQ0EIAUoAhAgAEECdEEEEEcMBAsgCCAAQeyJwAAQJgALQQAhAyACQQAgAiAUTRsiB0ECdCIAQQQQSyIBBEAgAkEDcSEGIA4gFGtBfE0EQCACQXxxIQQgASEAA0AgACADIA5qIgI2AgAgAEEMaiACQQNqNgIAIABBCGogAkECajYCACAAQQRqIAJBAWo2AgAgAEEQaiEAIAQgA0EEaiIDRw0ACyAGRQ0CIAMgDmohDgsgAyAGaiABIANBAnRqIQADQCAAIA42AgAgAEEEaiEAIA5BAWohDiAGQQFrIgYNAAshAwwBC0EEIAAQPQALIA0gAzYCCCANIAE2AgQgDSAHNgIADAELIAUgCTYCDCAFIA42AhAgBSAUNgIUQQAhAyACQQAgAiAUTRsiAEEYbCECIABB1arVKksNAUEIIQEgAgRAQQghAyACQQgQSyIBRQ0CIAAhAwsgBUEANgIgIAUgATYCHCAFIAM2AhggBUEANgIoIAUgBUEgajYCJCAFIAE2AiwgBUEMaiAFQSRqEBMgBSgCGCEAIA0gBSgCHCIBIAUoAiAgFiATEAMgAEUNACABIABBGGxBCBBHCyAFQTBqJAAMAQsgAyACED0ACyASIBIoAgBBAWo2AgAgFygCBCIAQYGAgIB4Rg0CIBcpAggLNwIEIB8gADYCACAXQRBqJAAMAgtBmI7AABA3AAsQNgALAkACQAJ/IAooAgwiAEGAgICAeEYEQEEBIQFBACEAQQAhAiAKKAIQDAELIAooAhAhAQJAIAooAhQiAiAATwRAIAEhAAwBCyAAQQJ0IQMgAkUEQEEEIQAgASADQQQQRwwBCyABIANBBCACQQJ0IgEQRCIARQ0CC0EAIQFBAAshAyARIAE2AgwgESADNgIIIBEgAjYCBCARIAA2AgAgCkFAayQADAELQQQgARA9AAsgESgCACARKAIEIBEoAgggESgCDCARQRBqJAAL4wYCCH8DfiMAQRBrIgwkACMAQRBrIg0kACANQQhqIQ4gAyEKIwBB8ABrIgckAAJ/AkAgBL0iEEL///////////8Ag0KAgICAgICA+P8AWg0AIAW9IhFC////////////AIMiD1AgEUIAUyIIIA9CAX1C/////////wdUcXIgD0KAgICAgICA+P8AUXIgD0KAgICAgICA+P8AVXIgD0KAgICAgICACH1CgICAgICAgPD/AFQgCHFyDQAgAUEDdCELQQAhCAJAA0AgCCALRg0BIAAgCGogCEEIaiEIKQMAQv///////////wCDQv/////////3/wBYDQALQcmIwABBLBA/rSEQIAdBGGohCUGAgICAeAwCCwJAIApFDQAgASAKRgRAIAFBAWohCSACIQgDQCAJQQFrIglBAkkNAiAIKAIAIQsgCyAIQQRqIggoAgBNDQALC0GciMAAQS0QP60hECAHQRhqIQlBgICAgHgMAgsCQCABRQRAQQghCwwBCyABQQN0IghBCBBLIgsEQCAIRQ0BIAsgACAI/AoAAAwBC0EIIAgQPQALAkACQCAKRQRAQYCAgIB4IQoMAQsgCkECdCIJQQQQSyIIRQ0BIAkEQCAIIAIgCfwKAAALIAitIAqtQiCGhCEPC0QAAAAAAADwPyAFoyEEIAdBADYCGCAHQRBqIQlBAAwCC0EEIAkQPQALQfWIwABBNhA/rSEQIAdBGGohCUGAgICAeAshCCAJIAg2AgACfyAHKAIYIghBgICAgHhGBEBBASEJIBCnDAELIAcgBygCEDYCaCAHQQQ2AmQgByAINgJgIAdBADYCXCAHQoCAgIDAADcCVCAHIAE2AlAgByALNgJMIAcgATYCSCAHIA83A0AgByAKNgI8IAdBgICAgHg2AjAgByAGNgIsIAdBADYCKCAHIAQ5AyAgByAQNwMYIAdBCGogB0EYahAXIAcoAgghCSAHKAIMCyEGIA4gCTYCACAOIAY2AgQgB0HwAGokACANKAIMIQogDSgCCCEGIAMEQCACIANBAnRBBBBHCyABBEAgACABQQN0QQgQRwsgDCAGQQFxIgA2AgggDCAKQQAgABs2AgQgDEEAIAogABs2AgAgDUEQaiQAIAwoAgAgDCgCBCAMKAIIIAxBEGokAAuBIAMmfwV8AX4jAEEQayIPJAAjAEFAaiIKJAAgCiAENgIoIAogAzYCJCAKIAI2AiAgCiABNgIcIAogADYC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ZSBmb3Igc2xpY2Ugb2YgbGVuZ3RoIMAASGNhbm5vdCBhY2Nlc3MgYSBUaHJlYWQgTG9jYWwgU3RvcmFnZSB2YWx1ZSBkdXJpbmcgb3IgYWZ0ZXIgZGVzdHJ1Y3Rpb246IMAAL3J1c3RjLzU5ODA3NjE2ZTFmYTI1NDA3MjRiZmJhYzE0ZDc5NzZkN2U0YTM4NjAvbGlicmFyeS9jb3JlL3NyYy9zbGljZS9zb3J0L3NoYXJlZC9zbWFsbHNvcnQucnMAL3J1c3RjLzU5ODA3NjE2ZTFmYTI1NDA3MjRiZmJhYzE0ZDc5NzZkN2U0YTM4NjAvbGlicmFyeS9jb3JlL3NyYy9zbGljZS9zb3J0L3N0YWJsZS9xdWlja3NvcnQucnMAL3J1c3RjLzU5ODA3NjE2ZTFmYTI1NDA3MjRiZmJhYzE0ZDc5NzZkN2U0YTM4NjAvbGlicmFyeS9zdGQvc3JjL3RocmVhZC9sb2NhbC5ycwAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi93YXNtLWJpbmRnZW4tMC4yLjExOC9zcmMvZXh0ZXJucmVmLnJzAC9ydXN0Yy81OTgwNzYxNmUxZmEyNTQwNzI0YmZiYWMxNGQ3OTc2ZDdlNGEzODYwL2xpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMvbW9kLnJzAC9ydXN0L2RlcHMvZGxtYWxsb2MtMC4yLjExL3NyYy9kbG1hbGxvYy5ycwBzcmMvbGliLnJzAAAAAA4DEAAKAAAA0gAAABkAAAAOAxAACgAAANoAAAAaAAAADgMQAAoAAADaAAAAPQAAAA4DEAAKAAAAyQAAAB0AAAAOAxAACgAAAKoAAAAQAAAADgMQAAoAAACqAAAAIgAAAA4DEAAKAAAArQAAACIAAAAOAxAACgAAABcCAAAcAAAADgMQAAoAAAALAgAAJgAAAA4DEAAKAAAA8gEAACoAAAAOAxAACgAAAPgBAAAqAAAADgMQAAoAAAD+AQAAMgAAAA4DEAAKAAAAkgEAAA8AAAAOAxAACgAAAJIBAAAsAAAADgMQAAoAAACNAQAADwAAAA4DEAAKAAAAjQEAACwAAABzb3VyY2UgaW5kZXhlcyBtdXN0IGJlIGVtcHR5IG9yIG5vbmRlY3JlYXNpbmdzYW1wbGUgdmFsdWVzIG11c3QgYmUgZmluaXRlIGFuZCBhZGRyZXNzYWJsZXNhbXBsZSBtZXRhZGF0YSBtdXN0IGJlIGZpbml0ZSBhbmQgc2FtcGxlUmF0ZSBwb3NpdGl2ZQAOAxAACgAAABYBAAAkAAAADgMQAAoAAAAuAgAAMAAAAA4DEAAKAAAALwIAAB8AAAAOAxAACgAAAC8CAAA1AAAADgMQAAoAAADWAQAAIAAAAA4DEAAKAAAAsQEAAC0AAAAOAxAACgAAALIBAAAtAAAAaW50ZXJuYWwgZXJyb3I6IGVudGVyZWQgdW5yZWFjaGFibGUgY29kZQ4DEAAKAAAAmgIAABYAAABzdHJhdGVneSBkb2VzIG5vdCByZXR1cm4gc291cmNlIGluZGV4ZXNzdHJhdGVneSBkb2VzIG5vdCByZXR1cm4gYWdncmVnYXRlIHZhbHVlc3JlZ2lzdGVyZWQgZGF0YXNldHMgbXVzdCBjb250YWluIGZpbml0ZSBjb29yZGluYXRlc3ggYW5kIHkgbXVzdCBoYXZlIHRoZSBzYW1lIGxlbmd0aA4DEAAKAAAAdgEAABIAAAAOAxAACgAAAHMBAAA8AAAADgMQAAoAAABMAgAAHAAAAA4DEAAKAAAATwIAACwAAAAOAxAACgAAAFACAAAdAAAADgMQAAoAAABRAgAAHQAAAA4DEAAKAAAAUgIAACUAAAABAAAADgMQAAoAAACUAAAAEgAAAA4DEAAKAAAAggAAABAAAAAOAxAACgAAAIIAAAAiAAAADgMQAAoAAACFAAAAIgAAAA4DEAAKAAAAAQEAAB0AAAAOAxAACgAAABwDAAAlAAAADgMQAAoAAABJAAAAQwAAAA4DEAAKAAAALQMAAA4AAAAOAxAACgAAACYDAAAnAAAAZGF0YXNldCBoYW5kbGUgd2FzIG5vdCBmb3VuZA4DEAAKAAAAPwMAACUAAAAOAxAACgAAAAoDAAAlAAAADgMQAAoAAABRAwAAJQAAANoBEABPAAAA3wEAABkAAABtaWQgPiBsZW4AAAB6ARAAXwAAAE0AAAAfAAAAegEQAF8AAABHAAAAFwAAAA4DEAAKAAAAfwEAABoAAAAOAxAACgAAAPMAAAAWAAAADgMQAAoAAABJAAAAQwAAAA4DEAAKAAAASQAAAEMAAAAqAhAAZwAAAHwAAAARAAAAKgIQAGcAAACJAAAAEQAAAAUAAAAMAAAABAAAAAYAAAAHAAAACAAAAAAAAAAIAAAABAAAAAkAAAAKAAAACwAAAAwAAAANAAAAEAAAAAQAAAAOAAAADwAAABAAAAARAAAAbV3L1ixQ62N4QaZXcRuLuRWiXFU0VQfUU3itgVHwo/dhc3NlcnRpb24gZmFpbGVkOiBwc2l6ZSA+PSBzaXplICsgbWluX292ZXJoZWFkAADjAhAAKgAAALEEAAAJAAAAYXNzZXJ0aW9uIGZhaWxlZDogcHNpemUgPD0gc2l6ZSArIG1heF9vdmVyaGVhZAAA4wIQACoAAAC3BAAADQAAAAAAAAAIAAAABAAAABIAAABBY2Nlc3NFcnJvcgAFAAAADAAAAAQAAAATAAAAY2FwYWNpdHkgb3ZlcmZsb3cAAACSAhAAUAAAABwAAAAFAAAAfSB9Y2FsbGVkIGBPcHRpb246OnVud3JhcCgpYCBvbiBhIGBOb25lYCB2YWx1ZTAwMDEwMjAzMDQwNTA2MDcwODA5MTAxMTEyMTMxNDE1MTYxNzE4MTkyMDIxMjIyMzI0MjUyNjI3MjgyOTMwMzEzMjMzMzQzNTM2MzczODM5NDA0MTQyNDM0NDQ1NDY0NzQ4NDk1MDUxNTI1MzU0NTU1NjU3NTg1OTYwNjE2MjYzNjQ2NTY2Njc2ODY5NzA3MTcyNzM3NDc1NzY3Nzc4Nzk4MDgxODI4Mzg0ODU4Njg3ODg4OTkwOTE5MjkzOTQ5NTk2OTc5ODk5YXR0ZW1wdCB0byBjYWxjdWxhdGUgdGhlIHJlbWFpbmRlciB3aXRoIGEgZGl2aXNvciBvZiB6ZXJvdXNlci1wcm92aWRlZCBjb21wYXJpc29uIGZ1bmN0aW9uIGRvZXMgbm90IGNvcnJlY3RseSBpbXBsZW1lbnQgYSB0b3RhbCBvcmRlcgAaARAAXwAAAFwDAAAFAAAAUmVmQ2VsbCBhbHJlYWR5IG11dGFibHkgYm9ycm93ZWRSZWZDZWxsIGFscmVhZHkgYm9ycm93ZWQAQfCVwAALAQgAQYCWwAALAQQAfAlwcm9kdWNlcnMCCGxhbmd1YWdlAQRSdXN0AAxwcm9jZXNzZWQtYnkDBXJ1c3RjHTEuOTUuMCAoNTk4MDc2MTZlIDIwMjYtMDQtMTQpBndhbHJ1cwYwLjI2LjEMd2FzbS1iaW5kZ2VuEzAuMi4xMTggKDc1M2JiN2ZmNCkAaw90YXJnZXRfZmVhdHVyZXMGKw9tdXRhYmxlLWdsb2JhbHMrE25vbnRyYXBwaW5nLWZwdG9pbnQrC2J1bGstbWVtb3J5KwhzaWduLWV4dCsPcmVmZXJlbmNlLXR5cGVzKwptdWx0aXZhbHVl", "" + import.meta.url));
|
|
2857
|
-
let t =
|
|
2857
|
+
let t = Yr();
|
|
2858
2858
|
(typeof e == "string" || typeof Request == "function" && e instanceof Request || typeof URL == "function" && e instanceof URL) && (e = fetch(e));
|
|
2859
|
-
let { instance: n, module: r } = await
|
|
2860
|
-
return
|
|
2859
|
+
let { instance: n, module: r } = await pi(await e, t);
|
|
2860
|
+
return fi(n, r);
|
|
2861
2861
|
}
|
|
2862
2862
|
//#endregion
|
|
2863
2863
|
//#region src/core/wasmSampling.ts
|
|
2864
|
-
var
|
|
2864
|
+
var hi = {
|
|
2865
2865
|
none: 0,
|
|
2866
2866
|
peak: 1,
|
|
2867
2867
|
lttb: 2,
|
|
@@ -2870,24 +2870,24 @@ var mi = {
|
|
|
2870
2870
|
max: 5,
|
|
2871
2871
|
minmax: 6,
|
|
2872
2872
|
sum: 7
|
|
2873
|
-
},
|
|
2874
|
-
function
|
|
2873
|
+
}, gi;
|
|
2874
|
+
function _i(e, t) {
|
|
2875
2875
|
return t === 0 ? 0 : Number.isFinite(e) ? Math.min(t, Math.max(1, Math.floor(e))) : t;
|
|
2876
2876
|
}
|
|
2877
|
-
function
|
|
2877
|
+
function vi(e) {
|
|
2878
2878
|
if (e.x.length !== e.y.length) throw Error("x and y must have the same length");
|
|
2879
2879
|
}
|
|
2880
|
-
function
|
|
2881
|
-
return
|
|
2880
|
+
function yi(e) {
|
|
2881
|
+
return gi ??= Promise.resolve(mi(e)).then(() => void 0), gi;
|
|
2882
2882
|
}
|
|
2883
|
-
async function
|
|
2884
|
-
|
|
2885
|
-
let t =
|
|
2883
|
+
async function bi(e) {
|
|
2884
|
+
vi(e), await yi();
|
|
2885
|
+
let t = _i(e.targetPointCount, e.x.length), n = hi[e.strategy];
|
|
2886
2886
|
if (e.strategy !== "average" && e.strategy !== "sum") return {
|
|
2887
2887
|
kind: "source-indexes",
|
|
2888
|
-
sourceIndexes:
|
|
2888
|
+
sourceIndexes: Jr(e.x, e.y, n, t)
|
|
2889
2889
|
};
|
|
2890
|
-
let r =
|
|
2890
|
+
let r = qr(e.x, e.y, n, t), i = new Float64Array(r.length / 2), a = new Float64Array(r.length / 2);
|
|
2891
2891
|
for (let e = 0; e < i.length; e += 1) i[e] = r[e * 2], a[e] = r[e * 2 + 1];
|
|
2892
2892
|
return {
|
|
2893
2893
|
kind: "aggregates",
|
|
@@ -2895,41 +2895,41 @@ async function yi(e) {
|
|
|
2895
2895
|
y: a
|
|
2896
2896
|
};
|
|
2897
2897
|
}
|
|
2898
|
-
async function
|
|
2898
|
+
async function xi(e, t) {
|
|
2899
2899
|
if (e.length !== t.length) throw Error("x and y must have the same length");
|
|
2900
|
-
await
|
|
2901
|
-
let n =
|
|
2900
|
+
await yi();
|
|
2901
|
+
let n = Gr(e, t);
|
|
2902
2902
|
return n.length === 4 ? {
|
|
2903
2903
|
x: [n[0], n[1]],
|
|
2904
2904
|
y: [n[2], n[3]]
|
|
2905
2905
|
} : void 0;
|
|
2906
2906
|
}
|
|
2907
|
-
async function
|
|
2907
|
+
async function Si(e, t, n) {
|
|
2908
2908
|
if (e.length !== t.length) throw Error("x and y must have the same length");
|
|
2909
|
-
await
|
|
2910
|
-
let r =
|
|
2909
|
+
await yi();
|
|
2910
|
+
let r = Kr(e, t, n[0], n[1]);
|
|
2911
2911
|
return [r[0], r[1]];
|
|
2912
2912
|
}
|
|
2913
2913
|
//#endregion
|
|
2914
2914
|
//#region src/components/core/trackPagination.ts
|
|
2915
|
-
var
|
|
2915
|
+
var Ci = (e, t) => t ? e.filter((e) => e.series.length > 0) : e, wi = (e, t, n, r, i) => {
|
|
2916
2916
|
let a = t?.[i];
|
|
2917
2917
|
if (a !== void 0) return a;
|
|
2918
2918
|
if (e !== void 0) return n === 1 ? e : typeof e == "number" ? e + r : `${e}-${r + 1}`;
|
|
2919
|
-
},
|
|
2919
|
+
}, Ti = (e, t, n) => (r) => {
|
|
2920
2920
|
let i = n(), a = i.findIndex((e) => e.id === r);
|
|
2921
|
-
return
|
|
2921
|
+
return wi(e(), t(), i.length, a >= 0 ? a : 0, r);
|
|
2922
2922
|
};
|
|
2923
2923
|
//#endregion
|
|
2924
2924
|
//#region src/components/core/yAxisLayoutMetrics.ts
|
|
2925
|
-
function
|
|
2925
|
+
function Ei(e, t, n, r) {
|
|
2926
2926
|
return e === "independent" ? Object.fromEntries(t.flatMap((e, t) => {
|
|
2927
2927
|
let n = r[t];
|
|
2928
2928
|
return n ? [[e.id, n]] : [];
|
|
2929
2929
|
})) : n;
|
|
2930
2930
|
}
|
|
2931
|
-
function
|
|
2932
|
-
let c = e.filter((e) => e.visibleSeries.length > 0).flatMap((e) =>
|
|
2931
|
+
function Di(e, t, n, r, i, a, o, s) {
|
|
2932
|
+
let c = e.filter((e) => e.visibleSeries.length > 0).flatMap((e) => ur(e, t, n, r, i)).map((e) => dr(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
2933
|
return {
|
|
2934
2934
|
tickClearance: u,
|
|
2935
2935
|
fullClearance: l + 7 + 0 + 12 + 4,
|
|
@@ -2938,11 +2938,11 @@ function Ei(e, t, n, r, i, a, o, s) {
|
|
|
2938
2938
|
}
|
|
2939
2939
|
//#endregion
|
|
2940
2940
|
//#region src/components/core/useWaveformLayout.ts
|
|
2941
|
-
function
|
|
2941
|
+
function Oi(e) {
|
|
2942
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) => ({
|
|
2943
2943
|
...e,
|
|
2944
2944
|
color: e.color ?? (t === 0 ? n.lineColor : Vt[t % Vt.length])
|
|
2945
|
-
}))), g = t(() =>
|
|
2945
|
+
}))), g = t(() => Bn(n.grid)), _ = t(() => {
|
|
2946
2946
|
let e = /* @__PURE__ */ new Map();
|
|
2947
2947
|
h.value.forEach((t) => {
|
|
2948
2948
|
let n = t.trackId || t.id, r = e.get(n);
|
|
@@ -2961,11 +2961,11 @@ function Di(e) {
|
|
|
2961
2961
|
yDomain: o.length ? ht(o) : [0, 1]
|
|
2962
2962
|
};
|
|
2963
2963
|
});
|
|
2964
|
-
}), v = t(() =>
|
|
2964
|
+
}), v = t(() => En(n.rendering)), y = t(() => Ci(_.value, g.value.hideEmptyTracks)), b = t(() => Hn(y.value.length, g.value)), x = t(() => Un(y.value, i.value, g.value)), S = t(() => {
|
|
2965
2965
|
let e = x.value.filter((e) => e.series.length > 0);
|
|
2966
2966
|
return g.value.fillIncompleteLastRow && e.length > 0 ? e : x.value;
|
|
2967
|
-
}), C = t(() =>
|
|
2968
|
-
let e =
|
|
2967
|
+
}), C = t(() => rr(s.value, n.axes?.y?.splitNumber)), w = t(() => Ei(n.displayMode, _.value, d.value, f.value)), T = t(() => Di(_.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(() => fr(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 = Wn(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;
|
|
2969
2969
|
return {
|
|
2970
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
2971
|
hideSecondaryLabels: n.overlayMode !== "multi-axis" && r && E.value && !o
|
|
@@ -2977,15 +2977,15 @@ function Di(e) {
|
|
|
2977
2977
|
}), ht(e);
|
|
2978
2978
|
}), B = t(() => {
|
|
2979
2979
|
let e = n.initialXDomain;
|
|
2980
|
-
return e && Number.isFinite(e[0]) && Number.isFinite(e[1]) && e[0] !== e[1] ?
|
|
2980
|
+
return e && Number.isFinite(e[0]) && Number.isFinite(e[1]) && e[0] !== e[1] ? Yn(e[0] < e[1] ? e : [e[1], e[0]], n.xDomainStrategy, !0) : Yn(z.value, n.xDomainStrategy);
|
|
2981
2981
|
}), V = (e) => {
|
|
2982
2982
|
let t = n.initialXDomains?.[e.series?.trackId ?? e.series?.id ?? e.id] ?? (e.series ? n.initialXDomains?.[e.series.id] : void 0) ?? n.initialXDomain;
|
|
2983
|
-
return t && Number.isFinite(t[0]) && Number.isFinite(t[1]) && t[0] !== t[1] ?
|
|
2984
|
-
}, H = t(() => l.value.rescaleX(
|
|
2983
|
+
return t && Number.isFinite(t[0]) && Number.isFinite(t[1]) && t[0] !== t[1] ? Yn(t[0] < t[1] ? t : [t[1], t[0]], n.xDomainStrategy, !0) : Yn(ht(e.seriesList.flatMap((e) => e.xDomain)), n.xDomainStrategy);
|
|
2984
|
+
}, H = t(() => l.value.rescaleX(W(B.value, [0, M.value])).domain()), U = t(() => Gn(M.value, s.value, g.value, n.displayMode, S.value.map(Boolean), N.value.horizontalGap).map((e, t) => ({
|
|
2985
2985
|
...e,
|
|
2986
2986
|
series: S.value[t]
|
|
2987
|
-
}))), G = t(() =>
|
|
2988
|
-
cells:
|
|
2987
|
+
}))), G = t(() => Zn({
|
|
2988
|
+
cells: U.value,
|
|
2989
2989
|
grid: g.value,
|
|
2990
2990
|
displayMode: n.displayMode,
|
|
2991
2991
|
overlayMode: n.overlayMode,
|
|
@@ -3031,7 +3031,7 @@ function Di(e) {
|
|
|
3031
3031
|
initialXDomain: B,
|
|
3032
3032
|
sharedZoomDomain: H,
|
|
3033
3033
|
resolveInitialTrackDomain: V,
|
|
3034
|
-
gridCells:
|
|
3034
|
+
gridCells: U,
|
|
3035
3035
|
trackLayouts: G,
|
|
3036
3036
|
annotationLayoutsForTrack: ee,
|
|
3037
3037
|
resolveSeriesYScale: te,
|
|
@@ -3046,16 +3046,16 @@ function Di(e) {
|
|
|
3046
3046
|
unit: t.unit
|
|
3047
3047
|
} : void 0;
|
|
3048
3048
|
}),
|
|
3049
|
-
resolveFrameNumber:
|
|
3049
|
+
resolveFrameNumber: Ti(() => n.frameNumber, () => n.frameNumbers, () => _.value)
|
|
3050
3050
|
};
|
|
3051
3051
|
}
|
|
3052
|
-
var
|
|
3053
|
-
function
|
|
3052
|
+
var ki = 1e-6;
|
|
3053
|
+
function Ai(e) {
|
|
3054
3054
|
return Number.isFinite(e) ? Math.max(1, e) : 1;
|
|
3055
3055
|
}
|
|
3056
|
-
function
|
|
3057
|
-
let i =
|
|
3058
|
-
if (!(d >
|
|
3056
|
+
function ji({ naturalWidth: e, naturalHeight: t, availableWidth: n, rotation: r }) {
|
|
3057
|
+
let i = Ai(e), a = Ai(t), o = Ai(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 > ki && Math.abs(d - 360) > ki)) {
|
|
3059
3059
|
let e = Math.max(1, Math.ceil(i / o)), t = o, n = a * e;
|
|
3060
3060
|
return {
|
|
3061
3061
|
textWidth: t,
|
|
@@ -3080,7 +3080,7 @@ function Ai({ naturalWidth: e, naturalHeight: t, availableWidth: n, rotation: r
|
|
|
3080
3080
|
}
|
|
3081
3081
|
//#endregion
|
|
3082
3082
|
//#region src/components/core/useWaveformPresentation.ts
|
|
3083
|
-
function
|
|
3083
|
+
function Mi(e) {
|
|
3084
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(() => ({
|
|
3085
3085
|
width: l.value === void 0 ? "100%" : `${l.value}px`,
|
|
3086
3086
|
height: u.value === void 0 ? "100%" : `${u.value}px`
|
|
@@ -3125,7 +3125,7 @@ function ji(e) {
|
|
|
3125
3125
|
maxWidth: O.value ? "none" : `${j.value}px`,
|
|
3126
3126
|
whiteSpace: O.value ? "nowrap" : "normal",
|
|
3127
3127
|
overflowWrap: O.value ? "normal" : "anywhere"
|
|
3128
|
-
})), N = t(() =>
|
|
3128
|
+
})), N = t(() => ji({
|
|
3129
3129
|
naturalWidth: a.value || A.value,
|
|
3130
3130
|
naturalHeight: o.value || E.value * 1.2,
|
|
3131
3131
|
availableWidth: j.value,
|
|
@@ -3181,66 +3181,66 @@ function ji(e) {
|
|
|
3181
3181
|
}
|
|
3182
3182
|
//#endregion
|
|
3183
3183
|
//#region src/core/samplingReferenceValues.ts
|
|
3184
|
-
function
|
|
3184
|
+
function Ni(e, t) {
|
|
3185
3185
|
return t === 0 ? 0 : Number.isFinite(e) ? Math.min(t, Math.max(1, Math.floor(e))) : t;
|
|
3186
3186
|
}
|
|
3187
|
-
function
|
|
3187
|
+
function Pi(e, t, n, r) {
|
|
3188
3188
|
let i = r - n;
|
|
3189
3189
|
return {
|
|
3190
3190
|
start: n + Math.floor(e * i / t),
|
|
3191
3191
|
end: n + Math.floor((e + 1) * i / t)
|
|
3192
3192
|
};
|
|
3193
3193
|
}
|
|
3194
|
-
function
|
|
3194
|
+
function Fi(e, t) {
|
|
3195
3195
|
e[e.length - 1] !== t && e.push(t);
|
|
3196
3196
|
}
|
|
3197
|
-
function
|
|
3197
|
+
function Ii(e, t, n) {
|
|
3198
3198
|
if (e <= t) return Array.from({ length: e }, (e, t) => t);
|
|
3199
3199
|
if (t === 1) return [0];
|
|
3200
3200
|
if (t === 2) return [0, e - 1];
|
|
3201
3201
|
let r = [0];
|
|
3202
|
-
return n().forEach((e) =>
|
|
3202
|
+
return n().forEach((e) => Fi(r, e)), Fi(r, e - 1), r;
|
|
3203
3203
|
}
|
|
3204
|
-
function
|
|
3204
|
+
function Li(e, t, n) {
|
|
3205
3205
|
let r = n === "minmax" ? Math.floor((t - 2) / 2) : Math.max(0, t - 2);
|
|
3206
|
-
return
|
|
3206
|
+
return Ii(e.length, t, () => {
|
|
3207
3207
|
if (!r) return [];
|
|
3208
3208
|
let t = [];
|
|
3209
3209
|
for (let i = 0; i < r; i += 1) {
|
|
3210
|
-
let a =
|
|
3210
|
+
let a = Pi(i, r, 1, e.length - 1), o = a.start, s = a.start;
|
|
3211
3211
|
for (let t = a.start + 1; t < a.end; t += 1) e[t] < e[o] && (o = t), e[t] > e[s] && (s = t);
|
|
3212
|
-
n === "min" ?
|
|
3212
|
+
n === "min" ? Fi(t, o) : n === "max" ? Fi(t, s) : o <= s ? (Fi(t, o), Fi(t, s)) : (Fi(t, s), Fi(t, o));
|
|
3213
3213
|
}
|
|
3214
3214
|
return t;
|
|
3215
3215
|
});
|
|
3216
3216
|
}
|
|
3217
|
-
function
|
|
3217
|
+
function Ri(e, t) {
|
|
3218
3218
|
let n = Math.floor((t - 2) / 4);
|
|
3219
|
-
return
|
|
3219
|
+
return Ii(e.length, t, () => {
|
|
3220
3220
|
if (!n) return [];
|
|
3221
3221
|
let t = [];
|
|
3222
3222
|
for (let r = 0; r < n; r += 1) {
|
|
3223
|
-
let i =
|
|
3223
|
+
let i = Pi(r, n, 1, e.length - 1), a = i.start, o = i.start;
|
|
3224
3224
|
for (let t = i.start + 1; t < i.end; t += 1) e[t] < e[a] && (a = t), e[t] > e[o] && (o = t);
|
|
3225
3225
|
[
|
|
3226
3226
|
i.start,
|
|
3227
3227
|
a,
|
|
3228
3228
|
o,
|
|
3229
3229
|
i.end - 1
|
|
3230
|
-
].sort((e, t) => e - t).forEach((e) =>
|
|
3230
|
+
].sort((e, t) => e - t).forEach((e) => Fi(t, e));
|
|
3231
3231
|
}
|
|
3232
3232
|
return t;
|
|
3233
3233
|
});
|
|
3234
3234
|
}
|
|
3235
|
-
function
|
|
3236
|
-
return
|
|
3235
|
+
function zi(e, t, n) {
|
|
3236
|
+
return Ii(e.length, n, () => {
|
|
3237
3237
|
let r = (e.length - 2) / (n - 2), i = [], a = 0;
|
|
3238
3238
|
for (let o = 0; o < n - 2; o += 1) {
|
|
3239
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;
|
|
3240
3240
|
for (let n = s; n < c; n += 1) l += e[n], u += t[n];
|
|
3241
3241
|
let d = c - s;
|
|
3242
3242
|
d ? (l /= d, u /= d) : (l = e[e.length - 1], u = t[t.length - 1]);
|
|
3243
|
-
let f =
|
|
3243
|
+
let f = Pi(o, n - 2, 1, e.length - 1), p = f.start, m = -1;
|
|
3244
3244
|
for (let n = f.start; n < f.end; n += 1) {
|
|
3245
3245
|
let r = Math.abs((e[a] - l) * (t[n] - t[a]) - (e[a] - e[n]) * (u - t[a]));
|
|
3246
3246
|
r > m && (m = r, p = n);
|
|
@@ -3250,10 +3250,10 @@ function Ri(e, t, n) {
|
|
|
3250
3250
|
return i;
|
|
3251
3251
|
});
|
|
3252
3252
|
}
|
|
3253
|
-
function
|
|
3254
|
-
let i =
|
|
3253
|
+
function Bi(e, t, n, r) {
|
|
3254
|
+
let i = Ni(n, e.length), a = new Float64Array(i), o = new Float64Array(i);
|
|
3255
3255
|
for (let n = 0; n < i; n += 1) {
|
|
3256
|
-
let s =
|
|
3256
|
+
let s = Pi(n, i, 0, e.length);
|
|
3257
3257
|
for (let r = s.start; r < s.end; r += 1) a[n] += e[r], o[n] += t[r];
|
|
3258
3258
|
let c = s.end - s.start;
|
|
3259
3259
|
a[n] /= c, r === "average" && (o[n] /= c);
|
|
@@ -3264,10 +3264,10 @@ function zi(e, t, n, r) {
|
|
|
3264
3264
|
y: o
|
|
3265
3265
|
};
|
|
3266
3266
|
}
|
|
3267
|
-
function
|
|
3267
|
+
function Vi(e, t, n, r) {
|
|
3268
3268
|
if (e.length !== t.length) throw Error("x and y must have the same length");
|
|
3269
|
-
if (n === "average" || n === "sum") return
|
|
3270
|
-
let i =
|
|
3269
|
+
if (n === "average" || n === "sum") return Bi(e, t, r, n);
|
|
3270
|
+
let i = Ni(r, e.length), a = n === "none" || e.length <= i ? Array.from({ length: e.length }, (e, t) => t) : n === "peak" ? Ri(t, i) : n === "lttb" ? zi(e, t, i) : Li(t, i, n);
|
|
3271
3271
|
return {
|
|
3272
3272
|
kind: "source-indexes",
|
|
3273
3273
|
sourceIndexes: Uint32Array.from(a)
|
|
@@ -3275,41 +3275,41 @@ function Bi(e, t, n, r) {
|
|
|
3275
3275
|
}
|
|
3276
3276
|
//#endregion
|
|
3277
3277
|
//#region src/core/workerSampling/javascriptBackend.ts
|
|
3278
|
-
var
|
|
3278
|
+
var Hi = {
|
|
3279
3279
|
kind: "javascript",
|
|
3280
3280
|
sample(e) {
|
|
3281
|
-
return
|
|
3281
|
+
return Vi(e.x, e.y, e.strategy, e.targetPointCount);
|
|
3282
3282
|
}
|
|
3283
|
-
},
|
|
3284
|
-
function
|
|
3283
|
+
}, Ui = 8 * 1024 * 1024;
|
|
3284
|
+
function Wi(e, t) {
|
|
3285
3285
|
return t === 0 ? 0 : Number.isFinite(e) ? Math.min(t, Math.max(1, Math.floor(e))) : t;
|
|
3286
3286
|
}
|
|
3287
|
-
function
|
|
3287
|
+
function Gi(e, t, n, r) {
|
|
3288
3288
|
let i = r - n;
|
|
3289
3289
|
return {
|
|
3290
3290
|
start: n + Math.floor(e * i / t),
|
|
3291
3291
|
end: n + Math.floor((e + 1) * i / t)
|
|
3292
3292
|
};
|
|
3293
3293
|
}
|
|
3294
|
-
function
|
|
3294
|
+
function Ki(e, t) {
|
|
3295
3295
|
e[e.length - 1] !== t && e.push(t);
|
|
3296
3296
|
}
|
|
3297
|
-
function
|
|
3297
|
+
function qi(e) {
|
|
3298
3298
|
return "minimumIndexes" in e ? e.minimumIndexes.byteLength + e.maximumIndexes.byteLength : e.x.byteLength + e.y.byteLength + e.count.byteLength;
|
|
3299
3299
|
}
|
|
3300
|
-
function
|
|
3300
|
+
function Ji(e, t) {
|
|
3301
3301
|
let n = 1;
|
|
3302
3302
|
for (; n * 2 <= t && e % (n * 2) == 0;) n *= 2;
|
|
3303
3303
|
return n;
|
|
3304
3304
|
}
|
|
3305
|
-
var
|
|
3305
|
+
var Yi = class {
|
|
3306
3306
|
points;
|
|
3307
3307
|
extremaLayers = [];
|
|
3308
3308
|
sumLayers = [];
|
|
3309
3309
|
indexBytes = 0;
|
|
3310
3310
|
maxBytes;
|
|
3311
3311
|
constructor(e, t = {}) {
|
|
3312
|
-
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)) : Ui;
|
|
3313
3313
|
}
|
|
3314
3314
|
get byteLength() {
|
|
3315
3315
|
return this.indexBytes;
|
|
@@ -3318,7 +3318,7 @@ var Ji = class {
|
|
|
3318
3318
|
this.extremaLayers.length = 0, this.sumLayers.length = 0, this.indexBytes = 0;
|
|
3319
3319
|
}
|
|
3320
3320
|
sample(e, t, n, r) {
|
|
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 =
|
|
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 = Wi(r, o);
|
|
3322
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);
|
|
3323
3323
|
}
|
|
3324
3324
|
allIndexes(e, t) {
|
|
@@ -3338,24 +3338,24 @@ var Ji = class {
|
|
|
3338
3338
|
if (i === 0) return this.indexes([e, t - 1]);
|
|
3339
3339
|
let a = [e];
|
|
3340
3340
|
for (let n = 0; n < i; n += 1) {
|
|
3341
|
-
let o =
|
|
3341
|
+
let o = Gi(n, i, e + 1, t - 1), s = this.queryExtrema(o.start, o.end);
|
|
3342
3342
|
if (!s) return;
|
|
3343
|
-
if (r === "min")
|
|
3344
|
-
else if (r === "max")
|
|
3345
|
-
else if (r === "minmax") s.minimum <= s.maximum ? (
|
|
3343
|
+
if (r === "min") Ki(a, s.minimum);
|
|
3344
|
+
else if (r === "max") Ki(a, s.maximum);
|
|
3345
|
+
else if (r === "minmax") s.minimum <= s.maximum ? (Ki(a, s.minimum), Ki(a, s.maximum)) : (Ki(a, s.maximum), Ki(a, s.minimum));
|
|
3346
3346
|
else for (let e of [
|
|
3347
3347
|
o.start,
|
|
3348
3348
|
s.minimum,
|
|
3349
3349
|
s.maximum,
|
|
3350
3350
|
o.end - 1
|
|
3351
|
-
].sort((e, t) => e - t))
|
|
3351
|
+
].sort((e, t) => e - t)) Ki(a, e);
|
|
3352
3352
|
}
|
|
3353
|
-
return
|
|
3353
|
+
return Ki(a, t - 1), this.indexes(a);
|
|
3354
3354
|
}
|
|
3355
3355
|
aggregate(e, t, n, r) {
|
|
3356
3356
|
let i = new Float64Array(n), a = new Float64Array(n);
|
|
3357
3357
|
for (let o = 0; o < n; o += 1) {
|
|
3358
|
-
let s =
|
|
3358
|
+
let s = Gi(o, n, e, t), c = this.querySum(s.start, s.end);
|
|
3359
3359
|
if (!c || c.count === 0) return;
|
|
3360
3360
|
i[o] = c.x / c.count, a[o] = r === "average" ? c.y / c.count : c.y;
|
|
3361
3361
|
}
|
|
@@ -3370,7 +3370,7 @@ var Ji = class {
|
|
|
3370
3370
|
if (!this.ensureExtrema(n)) return;
|
|
3371
3371
|
let r = e, i = e;
|
|
3372
3372
|
for (let n = e; n < t;) {
|
|
3373
|
-
let e =
|
|
3373
|
+
let e = Ji(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;
|
|
3374
3374
|
this.isMinimum(c, r) && (r = c), this.isMaximum(l, i) && (i = l), n += e;
|
|
3375
3375
|
}
|
|
3376
3376
|
return {
|
|
@@ -3383,7 +3383,7 @@ var Ji = class {
|
|
|
3383
3383
|
if (!this.ensureSum(n)) return;
|
|
3384
3384
|
let r = 0, i = 0, a = 0;
|
|
3385
3385
|
for (let n = e; n < t;) {
|
|
3386
|
-
let e =
|
|
3386
|
+
let e = Ji(n, t - n), o = Math.floor(Math.log2(e)), s = n / e, c = this.sumLayers[o];
|
|
3387
3387
|
if (c) r += c.x[s], i += c.y[s], a += c.count[s];
|
|
3388
3388
|
else {
|
|
3389
3389
|
let e = this.points[n];
|
|
@@ -3404,7 +3404,7 @@ var Ji = class {
|
|
|
3404
3404
|
minimumIndexes: new Uint32Array(e),
|
|
3405
3405
|
maximumIndexes: new Uint32Array(e)
|
|
3406
3406
|
};
|
|
3407
|
-
if (!this.reserve(
|
|
3407
|
+
if (!this.reserve(qi(n))) return !1;
|
|
3408
3408
|
let r = this.extremaLayers[t - 1];
|
|
3409
3409
|
for (let t = 0; t < e; t += 1) {
|
|
3410
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;
|
|
@@ -3422,7 +3422,7 @@ var Ji = class {
|
|
|
3422
3422
|
y: new Float64Array(e),
|
|
3423
3423
|
count: new Uint32Array(e)
|
|
3424
3424
|
};
|
|
3425
|
-
if (!this.reserve(
|
|
3425
|
+
if (!this.reserve(qi(n))) return !1;
|
|
3426
3426
|
let r = this.sumLayers[t - 1];
|
|
3427
3427
|
for (let t = 0; t < e; t += 1) {
|
|
3428
3428
|
let e = t * 2, i = e + 1;
|
|
@@ -3447,8 +3447,8 @@ var Ji = class {
|
|
|
3447
3447
|
let n = this.points[e], r = this.points[t];
|
|
3448
3448
|
return n.y > r.y || n.y === r.y && e < t;
|
|
3449
3449
|
}
|
|
3450
|
-
},
|
|
3451
|
-
function
|
|
3450
|
+
}, Xi = 1e3, Zi = L((e) => e.x);
|
|
3451
|
+
function Qi(e) {
|
|
3452
3452
|
let t = [], n = !0, r = -Infinity;
|
|
3453
3453
|
for (let i of e) !Number.isFinite(i.x) || !Number.isFinite(i.y) || (i.x < r && (n = !1), r = i.x, t.push({
|
|
3454
3454
|
x: i.x,
|
|
@@ -3459,7 +3459,7 @@ function Zi(e) {
|
|
|
3459
3459
|
}));
|
|
3460
3460
|
return n || t.sort((e, t) => e.x - t.x), t;
|
|
3461
3461
|
}
|
|
3462
|
-
function
|
|
3462
|
+
function $i(e, t) {
|
|
3463
3463
|
let n = Infinity, r = -Infinity, i = Infinity, a = -Infinity;
|
|
3464
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);
|
|
3465
3465
|
return {
|
|
@@ -3469,7 +3469,7 @@ function Qi(e, t) {
|
|
|
3469
3469
|
yDomain: e.length ? [i, a] : null
|
|
3470
3470
|
};
|
|
3471
3471
|
}
|
|
3472
|
-
function
|
|
3472
|
+
function ea(e, t, n = e.length) {
|
|
3473
3473
|
let r = Infinity, i = -Infinity, a = Infinity, o = -Infinity;
|
|
3474
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]);
|
|
3475
3475
|
return {
|
|
@@ -3479,39 +3479,39 @@ function $i(e, t, n = e.length) {
|
|
|
3479
3479
|
yDomain: e.length ? [a, o] : null
|
|
3480
3480
|
};
|
|
3481
3481
|
}
|
|
3482
|
-
function
|
|
3482
|
+
function ta(e, t) {
|
|
3483
3483
|
return e ? e.revision === t ? "ok" : "stale-revision" : "not-found";
|
|
3484
3484
|
}
|
|
3485
|
-
function
|
|
3485
|
+
function na(e) {
|
|
3486
3486
|
return e === "auto" ? "peak" : e;
|
|
3487
3487
|
}
|
|
3488
|
-
function
|
|
3488
|
+
function ra(e) {
|
|
3489
3489
|
if (Number.isFinite(e.maxPointCount) && (e.maxPointCount ?? 0) >= 1) return Math.floor(e.maxPointCount);
|
|
3490
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;
|
|
3491
3491
|
return Math.max(1, Math.floor(t * n));
|
|
3492
3492
|
}
|
|
3493
|
-
function
|
|
3493
|
+
function ia(e, t) {
|
|
3494
3494
|
if (e.mode === "raw") return !0;
|
|
3495
3495
|
if (e.mode !== "auto") return !1;
|
|
3496
|
-
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)) : Xi;
|
|
3497
3497
|
if (!e.previousSelectedMode) return t <= n;
|
|
3498
3498
|
let r = Number.isFinite(e.autoHysteresis) ? Math.max(0, Math.floor(e.autoHysteresis ?? 0)) : 0;
|
|
3499
3499
|
return e.previousSelectedMode === "raw" ? t <= n + r : t <= Math.max(0, n - r);
|
|
3500
3500
|
}
|
|
3501
|
-
function
|
|
3501
|
+
function aa(e, t) {
|
|
3502
3502
|
let n = e[0], r = e.at(-1);
|
|
3503
|
-
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[Zi.center(e, t)] : void 0;
|
|
3504
3504
|
}
|
|
3505
|
-
function
|
|
3505
|
+
function oa(e) {
|
|
3506
3506
|
return e ? e.kind === "source-indexes" ? e.sourceIndexes.length : e.x.length : 0;
|
|
3507
3507
|
}
|
|
3508
|
-
function
|
|
3508
|
+
function sa(e, t) {
|
|
3509
3509
|
return e.kind === "aggregates" ? e : {
|
|
3510
3510
|
kind: "source-indexes",
|
|
3511
3511
|
sourceIndexes: Uint32Array.from(e.sourceIndexes, (e) => e + t)
|
|
3512
3512
|
};
|
|
3513
3513
|
}
|
|
3514
|
-
function
|
|
3514
|
+
function ca(e, t, n, r, i) {
|
|
3515
3515
|
return [
|
|
3516
3516
|
e.datasetId,
|
|
3517
3517
|
e.revision,
|
|
@@ -3531,14 +3531,14 @@ function sa(e, t, n, r, i) {
|
|
|
3531
3531
|
e.errorBarMinSpacing ?? 0
|
|
3532
3532
|
].join("\0");
|
|
3533
3533
|
}
|
|
3534
|
-
function
|
|
3534
|
+
function la(e, t, n, r, i, a, o, s) {
|
|
3535
3535
|
return {
|
|
3536
3536
|
seriesId: e.seriesId,
|
|
3537
3537
|
datasetId: e.datasetId,
|
|
3538
3538
|
mode: e.mode,
|
|
3539
3539
|
selectedMode: i,
|
|
3540
3540
|
backend: r,
|
|
3541
|
-
strategy:
|
|
3541
|
+
strategy: na(e.strategy),
|
|
3542
3542
|
sourcePointCount: t,
|
|
3543
3543
|
visiblePointCount: n,
|
|
3544
3544
|
renderedPointCount: o,
|
|
@@ -3554,18 +3554,18 @@ function ca(e, t, n, r, i, a, o, s) {
|
|
|
3554
3554
|
}
|
|
3555
3555
|
//#endregion
|
|
3556
3556
|
//#region src/core/workerSampling/repositoryDataset.ts
|
|
3557
|
-
function
|
|
3557
|
+
function ua(e) {
|
|
3558
3558
|
return e?.y.length ?? 0;
|
|
3559
3559
|
}
|
|
3560
|
-
function
|
|
3560
|
+
function da(e, t) {
|
|
3561
3561
|
return e.x ? e.x[t] : e.sampleStartTime + (e.sampleSourceIndexes?.[t] ?? t) / e.sampleRate;
|
|
3562
3562
|
}
|
|
3563
|
-
function
|
|
3563
|
+
function fa(e, t) {
|
|
3564
3564
|
let n = (t, n) => {
|
|
3565
|
-
let r = 0, i =
|
|
3565
|
+
let r = 0, i = ua(e);
|
|
3566
3566
|
for (; r < i;) {
|
|
3567
3567
|
let a = r + Math.floor((i - r) / 2);
|
|
3568
|
-
(n ?
|
|
3568
|
+
(n ? da(e, a) <= t : da(e, a) < t) ? r = a + 1 : i = a;
|
|
3569
3569
|
}
|
|
3570
3570
|
return r;
|
|
3571
3571
|
}, r = Math.min(t[0], t[1]), i = Math.max(t[0], t[1]);
|
|
@@ -3574,13 +3574,13 @@ function da(e, t) {
|
|
|
3574
3574
|
end: n(i, !0)
|
|
3575
3575
|
};
|
|
3576
3576
|
}
|
|
3577
|
-
function
|
|
3578
|
-
return e.x ? e.x.subarray(t, n) : Float64Array.from({ length: n - t }, (n, r) =>
|
|
3577
|
+
function pa(e, t, n) {
|
|
3578
|
+
return e.x ? e.x.subarray(t, n) : Float64Array.from({ length: n - t }, (n, r) => da(e, t + r));
|
|
3579
3579
|
}
|
|
3580
|
-
function
|
|
3580
|
+
function ma(e) {
|
|
3581
3581
|
return e?.kind === "wasm" && "registerDataset" in e && "disposeDataset" in e && "disposeAllDatasets" in e && "datasetIndexBytes" in e && "registerSamples" in e && "sampleDataset" in e;
|
|
3582
3582
|
}
|
|
3583
|
-
function
|
|
3583
|
+
function ha(e, t) {
|
|
3584
3584
|
let n = [], r = Math.min(e.length, t.length);
|
|
3585
3585
|
for (let i = 0; i < r; i += 1) Number.isFinite(e[i]) && Number.isFinite(t[i]) && n.push(i);
|
|
3586
3586
|
return n.sort((t, n) => e[t] - e[n] || t - n), {
|
|
@@ -3588,14 +3588,14 @@ function ma(e, t) {
|
|
|
3588
3588
|
y: Float64Array.from(n, (e) => t[e])
|
|
3589
3589
|
};
|
|
3590
3590
|
}
|
|
3591
|
-
function
|
|
3591
|
+
function ga(e, t, n, r) {
|
|
3592
3592
|
if (t?.kind === "typed") {
|
|
3593
|
-
let e =
|
|
3593
|
+
let e = ha(t.x, t.y);
|
|
3594
3594
|
return {
|
|
3595
3595
|
x: e.x,
|
|
3596
3596
|
y: e.y,
|
|
3597
3597
|
revision: n,
|
|
3598
|
-
metrics:
|
|
3598
|
+
metrics: ea(e.x, e.y, Math.max(t.x.length, t.y.length))
|
|
3599
3599
|
};
|
|
3600
3600
|
}
|
|
3601
3601
|
if (t?.kind === "samples") {
|
|
@@ -3629,35 +3629,35 @@ function ha(e, t, n, r) {
|
|
|
3629
3629
|
}
|
|
3630
3630
|
};
|
|
3631
3631
|
}
|
|
3632
|
-
let i =
|
|
3632
|
+
let i = Qi(e ?? t?.points ?? []);
|
|
3633
3633
|
return {
|
|
3634
3634
|
x: Float64Array.from(i, (e) => e.x),
|
|
3635
3635
|
y: Float64Array.from(i, (e) => e.y),
|
|
3636
3636
|
points: i,
|
|
3637
3637
|
revision: n,
|
|
3638
|
-
metrics:
|
|
3639
|
-
index: new
|
|
3638
|
+
metrics: $i(i, e?.length ?? t?.points.length ?? 0),
|
|
3639
|
+
index: new Yi(i, { maxBytes: r })
|
|
3640
3640
|
};
|
|
3641
3641
|
}
|
|
3642
|
-
function
|
|
3643
|
-
!
|
|
3642
|
+
function _a(e, t, n) {
|
|
3643
|
+
!ma(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));
|
|
3644
3644
|
}
|
|
3645
|
-
function
|
|
3646
|
-
t.index?.dispose(), t.wasmDatasetHandle !== void 0 &&
|
|
3645
|
+
function va(e, t) {
|
|
3646
|
+
t.index?.dispose(), t.wasmDatasetHandle !== void 0 && ma(e) && e.disposeDataset(t.wasmDatasetHandle);
|
|
3647
3647
|
}
|
|
3648
3648
|
//#endregion
|
|
3649
3649
|
//#region src/core/workerSampling/samplingCache.ts
|
|
3650
|
-
var
|
|
3651
|
-
function
|
|
3650
|
+
var ya = 96, ba = 16 * 1024 * 1024;
|
|
3651
|
+
function xa(e) {
|
|
3652
3652
|
return e.kind === "source-indexes" ? e.sourceIndexes.byteLength : e.x.byteLength + e.y.byteLength;
|
|
3653
3653
|
}
|
|
3654
|
-
var
|
|
3654
|
+
var Sa = class {
|
|
3655
3655
|
entries = /* @__PURE__ */ new Map();
|
|
3656
3656
|
bytes = 0;
|
|
3657
3657
|
maxEntries;
|
|
3658
3658
|
maxBytes;
|
|
3659
3659
|
constructor(e = {}) {
|
|
3660
|
-
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)) : ya, this.maxBytes = Number.isFinite(e.maxBytes) ? Math.max(0, Math.floor(e.maxBytes ?? 0)) : ba;
|
|
3661
3661
|
}
|
|
3662
3662
|
get metrics() {
|
|
3663
3663
|
return {
|
|
@@ -3672,7 +3672,7 @@ var xa = class {
|
|
|
3672
3672
|
if (t) return this.entries.delete(e), this.entries.set(e, t), t.output;
|
|
3673
3673
|
}
|
|
3674
3674
|
set(e, t) {
|
|
3675
|
-
let n =
|
|
3675
|
+
let n = xa(t);
|
|
3676
3676
|
if (n > this.maxBytes || this.maxEntries === 0) return;
|
|
3677
3677
|
let r = this.entries.get(e);
|
|
3678
3678
|
for (r && (this.bytes -= r.bytes, this.entries.delete(e)), this.entries.set(e, {
|
|
@@ -3692,14 +3692,14 @@ var xa = class {
|
|
|
3692
3692
|
clear() {
|
|
3693
3693
|
this.entries.clear(), this.bytes = 0;
|
|
3694
3694
|
}
|
|
3695
|
-
},
|
|
3695
|
+
}, Ca = class {
|
|
3696
3696
|
datasets = /* @__PURE__ */ new Map();
|
|
3697
3697
|
javascriptBackend;
|
|
3698
3698
|
cache;
|
|
3699
3699
|
indexMaxBytes;
|
|
3700
3700
|
wasmBackend;
|
|
3701
3701
|
constructor(e = {}) {
|
|
3702
|
-
this.javascriptBackend = e.javascriptBackend ??
|
|
3702
|
+
this.javascriptBackend = e.javascriptBackend ?? Hi, this.wasmBackend = e.wasmBackend, this.indexMaxBytes = e.indexMaxBytes, this.cache = new Sa({
|
|
3703
3703
|
maxEntries: e.cacheMaxEntries,
|
|
3704
3704
|
maxBytes: e.cacheMaxBytes
|
|
3705
3705
|
});
|
|
@@ -3712,9 +3712,9 @@ var xa = class {
|
|
|
3712
3712
|
};
|
|
3713
3713
|
}
|
|
3714
3714
|
setWasmBackend(e) {
|
|
3715
|
-
this.wasmBackend && this.wasmBackend !== e &&
|
|
3715
|
+
this.wasmBackend && this.wasmBackend !== e && ma(this.wasmBackend) && (this.wasmBackend.disposeAllDatasets(), this.datasets.forEach((e) => {
|
|
3716
3716
|
e.wasmDatasetHandle = void 0, e.wasmIndexBytes = void 0;
|
|
3717
|
-
})), this.wasmBackend = e,
|
|
3717
|
+
})), this.wasmBackend = e, ma(e) && this.datasets.forEach((t) => _a(e, t, this.indexMaxBytes));
|
|
3718
3718
|
}
|
|
3719
3719
|
handle(e) {
|
|
3720
3720
|
switch (e.type) {
|
|
@@ -3730,15 +3730,15 @@ var xa = class {
|
|
|
3730
3730
|
register(e, t, n, r) {
|
|
3731
3731
|
let i = this.datasets.get(e);
|
|
3732
3732
|
if (i) return this.datasetResponse(t, e, i, "stale-revision");
|
|
3733
|
-
let a =
|
|
3734
|
-
return
|
|
3733
|
+
let a = ga(n, r, 1, this.indexMaxBytes);
|
|
3734
|
+
return _a(this.wasmBackend, a, this.indexMaxBytes), this.datasets.set(e, a), this.datasetResponse(t, e, a, "ok");
|
|
3735
3735
|
}
|
|
3736
3736
|
replace(e, t, n, r, i) {
|
|
3737
|
-
let a = this.datasets.get(e), o =
|
|
3737
|
+
let a = this.datasets.get(e), o = ta(a, n);
|
|
3738
3738
|
if (o !== "ok" || !a) return this.datasetResponse(t, e, a, o);
|
|
3739
|
-
|
|
3740
|
-
let s =
|
|
3741
|
-
return
|
|
3739
|
+
va(this.wasmBackend, a), this.cache.deleteDataset(e);
|
|
3740
|
+
let s = ga(r, i, a.revision + 1, this.indexMaxBytes);
|
|
3741
|
+
return _a(this.wasmBackend, s, this.indexMaxBytes), this.datasets.set(e, s), this.datasetResponse(t, e, s, "ok");
|
|
3742
3742
|
}
|
|
3743
3743
|
sample(e) {
|
|
3744
3744
|
return {
|
|
@@ -3748,28 +3748,28 @@ var xa = class {
|
|
|
3748
3748
|
};
|
|
3749
3749
|
}
|
|
3750
3750
|
sampleSeries(e, t) {
|
|
3751
|
-
let n = performance.now(), r = this.datasets.get(t.datasetId), i =
|
|
3751
|
+
let n = performance.now(), r = this.datasets.get(t.datasetId), i = ta(r, t.revision);
|
|
3752
3752
|
if (i !== "ok" || !r) return this.sampleResponse(e, t, i, void 0, "unavailable", "sampled", 0, n, !1);
|
|
3753
|
-
let a =
|
|
3754
|
-
if (
|
|
3753
|
+
let a = fa(r, t.xDomain), o = a.end - a.start;
|
|
3754
|
+
if (ia(t, o)) return this.sampleResponse(e, t, "ok", {
|
|
3755
3755
|
kind: "source-indexes",
|
|
3756
3756
|
sourceIndexes: Uint32Array.from({ length: o }, (e, t) => a.start + t)
|
|
3757
3757
|
}, "raw", "raw", o, n, !1);
|
|
3758
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);
|
|
3759
3759
|
if (!l) return this.sampleResponse(e, t, "wasm-unavailable", void 0, "unavailable", "sampled", o, n, !1);
|
|
3760
|
-
let u =
|
|
3760
|
+
let u = na(t.strategy), d = ra(t), f = ca(t, a, u, d, l.kind), p = this.cache.get(f);
|
|
3761
3761
|
if (p) return this.sampleResponse(e, t, c ? "wasm-unavailable" : "ok", p, l.kind, "sampled", o, n, !0);
|
|
3762
|
-
let m = (l.kind === "wasm" ? r.wasmDatasetHandle !== void 0 &&
|
|
3763
|
-
x:
|
|
3762
|
+
let m = (l.kind === "wasm" ? r.wasmDatasetHandle !== void 0 && ma(l) ? l.sampleDataset(r.wasmDatasetHandle, a.start, a.end, u, d) : void 0 : r.index?.sample(a.start, a.end, u, d)) ?? sa(l.sample({
|
|
3763
|
+
x: pa(r, a.start, a.end),
|
|
3764
3764
|
y: r.y.subarray(a.start, a.end),
|
|
3765
3765
|
points: r.points?.slice(a.start, a.end) ?? [],
|
|
3766
3766
|
strategy: u,
|
|
3767
3767
|
targetPointCount: d
|
|
3768
3768
|
}), a.start);
|
|
3769
|
-
return this.cache.set(f, m), r.wasmDatasetHandle !== void 0 &&
|
|
3769
|
+
return this.cache.set(f, m), r.wasmDatasetHandle !== void 0 && ma(l) && (r.wasmIndexBytes = l.datasetIndexBytes(r.wasmDatasetHandle)), this.sampleResponse(e, t, c ? "wasm-unavailable" : "ok", m, l.kind, "sampled", o, n, !1);
|
|
3770
3770
|
}
|
|
3771
3771
|
sampleResponse(e, t, n, r, i, a, o, s, c) {
|
|
3772
|
-
let l =
|
|
3772
|
+
let l = la(t, ua(this.datasets.get(t.datasetId)), o, i, a, performance.now() - s, oa(r), c);
|
|
3773
3773
|
return l.requestId = e, {
|
|
3774
3774
|
seriesId: t.seriesId,
|
|
3775
3775
|
datasetId: t.datasetId,
|
|
@@ -3780,7 +3780,7 @@ var xa = class {
|
|
|
3780
3780
|
};
|
|
3781
3781
|
}
|
|
3782
3782
|
findNearest(e, t, n, r) {
|
|
3783
|
-
let i = this.datasets.get(e), a =
|
|
3783
|
+
let i = this.datasets.get(e), a = ta(i, n);
|
|
3784
3784
|
return a !== "ok" || !i ? {
|
|
3785
3785
|
type: "find-nearest-point-response",
|
|
3786
3786
|
requestId: t,
|
|
@@ -3793,12 +3793,12 @@ var xa = class {
|
|
|
3793
3793
|
datasetId: e,
|
|
3794
3794
|
revision: n,
|
|
3795
3795
|
status: a,
|
|
3796
|
-
point: i.points ?
|
|
3797
|
-
let e =
|
|
3798
|
-
if (!
|
|
3799
|
-
let t = Math.min(
|
|
3800
|
-
return Number.isFinite(r) &&
|
|
3801
|
-
x:
|
|
3796
|
+
point: i.points ? aa(i.points, r) : (() => {
|
|
3797
|
+
let e = fa(i, [r, r]);
|
|
3798
|
+
if (!ua(i) || r < da(i, 0) || r > da(i, ua(i) - 1)) return;
|
|
3799
|
+
let t = Math.min(ua(i) - 1, e.start), n = Math.max(0, t - 1), a = Math.abs(r - da(i, n)) < Math.abs(da(i, t) - r) ? n : t;
|
|
3800
|
+
return Number.isFinite(r) && ua(i) ? {
|
|
3801
|
+
x: da(i, a),
|
|
3802
3802
|
y: i.y[a]
|
|
3803
3803
|
} : void 0;
|
|
3804
3804
|
})()
|
|
@@ -3806,15 +3806,15 @@ var xa = class {
|
|
|
3806
3806
|
}
|
|
3807
3807
|
metrics(e, t, n) {
|
|
3808
3808
|
let r = this.datasets.get(e);
|
|
3809
|
-
return this.datasetResponse(t, e, r,
|
|
3809
|
+
return this.datasetResponse(t, e, r, ta(r, n));
|
|
3810
3810
|
}
|
|
3811
3811
|
dispose(e, t, n) {
|
|
3812
|
-
let r = this.datasets.get(e), i =
|
|
3813
|
-
return i === "ok" && r && (
|
|
3812
|
+
let r = this.datasets.get(e), i = ta(r, n);
|
|
3813
|
+
return i === "ok" && r && (va(this.wasmBackend, r), this.cache.deleteDataset(e), this.datasets.delete(e)), this.datasetResponse(t, e, r, i);
|
|
3814
3814
|
}
|
|
3815
3815
|
disposeAll(e) {
|
|
3816
3816
|
let t = [...this.datasets.keys()];
|
|
3817
|
-
return this.datasets.forEach((e) =>
|
|
3817
|
+
return this.datasets.forEach((e) => va(this.wasmBackend, e)), ma(this.wasmBackend) && this.wasmBackend.disposeAllDatasets(), this.datasets.clear(), this.cache.clear(), {
|
|
3818
3818
|
type: "dispose-all-response",
|
|
3819
3819
|
requestId: e,
|
|
3820
3820
|
disposedDatasetIds: t
|
|
@@ -3836,10 +3836,10 @@ var xa = class {
|
|
|
3836
3836
|
};
|
|
3837
3837
|
//#endregion
|
|
3838
3838
|
//#region src/components/core/latestTaskScheduler.ts
|
|
3839
|
-
function
|
|
3839
|
+
function wa(e, t, n, r) {
|
|
3840
3840
|
return r ? r === "raw" ? e <= t + n ? "raw" : "sampled" : e <= Math.max(0, t - n) ? "raw" : "sampled" : e <= t ? "raw" : "sampled";
|
|
3841
3841
|
}
|
|
3842
|
-
function
|
|
3842
|
+
function Ta() {
|
|
3843
3843
|
let e = 0, t = !1, n, r = !1, i = {
|
|
3844
3844
|
scheduled: 0,
|
|
3845
3845
|
coalesced: 0,
|
|
@@ -3878,12 +3878,12 @@ function wa() {
|
|
|
3878
3878
|
}
|
|
3879
3879
|
//#endregion
|
|
3880
3880
|
//#region src/components/core/workerSamplingClient.ts
|
|
3881
|
-
function
|
|
3881
|
+
function Ea(e) {
|
|
3882
3882
|
return e?.message || "Web Worker is unavailable; JavaScript sampling is being used.";
|
|
3883
3883
|
}
|
|
3884
|
-
function
|
|
3884
|
+
function Da() {
|
|
3885
3885
|
let e, t, n, r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map(), a = () => {
|
|
3886
|
-
t ??= new
|
|
3886
|
+
t ??= new Ca();
|
|
3887
3887
|
for (let [e, n] of i) {
|
|
3888
3888
|
t.handle({
|
|
3889
3889
|
type: "register-dataset",
|
|
@@ -3919,7 +3919,7 @@ function Ea() {
|
|
|
3919
3919
|
let t = a();
|
|
3920
3920
|
e.forEach(({ request: e, resolve: n }) => n(t.handle(e)));
|
|
3921
3921
|
}, c = (r) => {
|
|
3922
|
-
t || (n =
|
|
3922
|
+
t || (n = Ea(r), e?.terminate(), e = void 0, s());
|
|
3923
3923
|
};
|
|
3924
3924
|
try {
|
|
3925
3925
|
typeof Worker > "u" ? c() : (e = new Worker(new URL(
|
|
@@ -3956,20 +3956,20 @@ function Ea() {
|
|
|
3956
3956
|
}
|
|
3957
3957
|
};
|
|
3958
3958
|
}
|
|
3959
|
-
function
|
|
3959
|
+
function Oa(e) {
|
|
3960
3960
|
return e.type === "dataset-response";
|
|
3961
3961
|
}
|
|
3962
3962
|
//#endregion
|
|
3963
3963
|
//#region src/components/core/useWaveformRenderSampling.ts
|
|
3964
|
-
var
|
|
3965
|
-
function
|
|
3964
|
+
var ka = 120;
|
|
3965
|
+
function Aa(e, t) {
|
|
3966
3966
|
let n = e.output;
|
|
3967
3967
|
if (n) return n.kind === "aggregates" ? Array.from(n.x, (e, t) => ({
|
|
3968
3968
|
x: e,
|
|
3969
3969
|
y: n.y[t]
|
|
3970
3970
|
})) : Array.from(n.sourceIndexes, (e) => t.pointAt(e)).filter((e) => e !== void 0);
|
|
3971
3971
|
}
|
|
3972
|
-
function
|
|
3972
|
+
function ja(e, t) {
|
|
3973
3973
|
let n = e.request, r = e.visibleRange.end - e.visibleRange.start;
|
|
3974
3974
|
return {
|
|
3975
3975
|
seriesId: n.seriesId,
|
|
@@ -3991,7 +3991,7 @@ function Aa(e, t) {
|
|
|
3991
3991
|
maxPendingRequestCount: 0
|
|
3992
3992
|
};
|
|
3993
3993
|
}
|
|
3994
|
-
function
|
|
3994
|
+
function Ma(e) {
|
|
3995
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));
|
|
3996
3996
|
if (i <= a) return t.pointsInRange(n, r);
|
|
3997
3997
|
if (a === 1) return t.pointAt(n) ? [t.pointAt(n)] : [];
|
|
@@ -4002,7 +4002,7 @@ function ja(e) {
|
|
|
4002
4002
|
}
|
|
4003
4003
|
return o;
|
|
4004
4004
|
}
|
|
4005
|
-
function
|
|
4005
|
+
function Na(e, t, n, r) {
|
|
4006
4006
|
return {
|
|
4007
4007
|
message: e,
|
|
4008
4008
|
mode: t,
|
|
@@ -4010,14 +4010,14 @@ function Ma(e, t, n, r) {
|
|
|
4010
4010
|
seriesIds: r
|
|
4011
4011
|
};
|
|
4012
4012
|
}
|
|
4013
|
-
function
|
|
4014
|
-
let n =
|
|
4013
|
+
function Pa(e) {
|
|
4014
|
+
let n = w(0), r, i = 0, a = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Map(), c = /* @__PURE__ */ new Set(), l = /* @__PURE__ */ new Map(), u = Ta(), d, f, p = !1, m = t(() => {
|
|
4015
4015
|
let t = e.renderingOptions.value.sampling;
|
|
4016
4016
|
return e.sourceTrackLayouts.value.flatMap((n) => {
|
|
4017
4017
|
let r = n.xScale.domain();
|
|
4018
4018
|
return n.seriesList.flatMap((i) => {
|
|
4019
4019
|
if (i.lineType === "none" || n.width <= 0) return [];
|
|
4020
|
-
let o = i.source ??
|
|
4020
|
+
let o = i.source ?? Z(i.points), s = o.visibleRange(r), c = `${e.instanceId}:${i.id}`;
|
|
4021
4021
|
return [{
|
|
4022
4022
|
series: i,
|
|
4023
4023
|
source: o,
|
|
@@ -4076,13 +4076,13 @@ function Na(e) {
|
|
|
4076
4076
|
revision: 0,
|
|
4077
4077
|
dataset: t.source.toWorkerDataset()
|
|
4078
4078
|
});
|
|
4079
|
-
!u.isCurrent(n) || !
|
|
4079
|
+
!u.isCurrent(n) || !Oa(r) || r.status !== "ok" && r.status !== "stale-revision" || a.set(t.request.datasetId, r.revision);
|
|
4080
4080
|
}));
|
|
4081
4081
|
}, x = async (t, n = !1) => {
|
|
4082
4082
|
let o = m.value, c = { ...e.linePointOverrides.value }, l = [], d = [];
|
|
4083
4083
|
if (o.forEach((e) => {
|
|
4084
|
-
let r = e.visibleRange.end - e.visibleRange.start, i = n ? s.get(e.series.id) : void 0, a = e.request.mode === "auto" &&
|
|
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(
|
|
4084
|
+
let r = e.visibleRange.end - e.visibleRange.start, i = n ? s.get(e.series.id) : void 0, a = e.request.mode === "auto" && wa(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(ja(e, t))) : (c[e.series.id]?.length || (c[e.series.id] = Ma(e)), l.push({
|
|
4086
4086
|
...e,
|
|
4087
4087
|
request: {
|
|
4088
4088
|
...e.request,
|
|
@@ -4094,7 +4094,7 @@ function Na(e) {
|
|
|
4094
4094
|
e.linePointOverrides.value = c, v(d);
|
|
4095
4095
|
return;
|
|
4096
4096
|
}
|
|
4097
|
-
if (e.linePointOverrides.value = c, r ??=
|
|
4097
|
+
if (e.linePointOverrides.value = c, r ??= Da(), await b(r, l, t), !u.isCurrent(t)) return;
|
|
4098
4098
|
let f = l.map((e) => ({
|
|
4099
4099
|
...e.request,
|
|
4100
4100
|
revision: a.get(e.request.datasetId) ?? 1
|
|
@@ -4109,23 +4109,23 @@ function Na(e) {
|
|
|
4109
4109
|
p = e;
|
|
4110
4110
|
} catch (n) {
|
|
4111
4111
|
if (!u.isCurrent(t)) return;
|
|
4112
|
-
y(
|
|
4112
|
+
y(Na(n instanceof Error ? n.message : String(n), e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id)));
|
|
4113
4113
|
return;
|
|
4114
4114
|
}
|
|
4115
4115
|
if (!u.isCurrent(t)) return;
|
|
4116
4116
|
let h = new Map(l.map((e) => [e.series.id, e.source]));
|
|
4117
4117
|
p.results.forEach((e) => {
|
|
4118
|
-
let t = h.get(e.seriesId), n = t ?
|
|
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(
|
|
4120
|
-
}), p.workerError && y(
|
|
4118
|
+
let t = h.get(e.seriesId), n = t ? Aa(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(Na(p.workerError ?? "WASM sampling is unavailable.", e.diagnostics.mode, e.diagnostics.backend === "javascript" ? "javascript" : "none", [e.seriesId]));
|
|
4120
|
+
}), p.workerError && y(Na(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(Na(r.workerFailureReason, e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id))), e.linePointOverrides.value = { ...c }, v(d);
|
|
4121
4121
|
};
|
|
4122
|
-
return
|
|
4122
|
+
return k(h, () => {
|
|
4123
4123
|
f && clearTimeout(f);
|
|
4124
4124
|
let t = p;
|
|
4125
4125
|
p = !0, u.schedule((e) => x(e, t)), t && e.renderingOptions.value.sampling.mode === "auto" && e.renderingOptions.value.sampling.autoHysteresis > 0 && (f = setTimeout(() => {
|
|
4126
4126
|
f = void 0, u.schedule((e) => x(e, !1));
|
|
4127
|
-
},
|
|
4128
|
-
}, { immediate: !0 }),
|
|
4127
|
+
}, ka));
|
|
4128
|
+
}, { immediate: !0 }), k(e.preparedSeries, () => {
|
|
4129
4129
|
u.cancelPending(), n.value += 1, e.linePointOverrides.value = {}, a.clear(), o.clear(), s.clear(), c.clear(), r?.dispose(), r = void 0;
|
|
4130
4130
|
}, { flush: "sync" }), _(() => {
|
|
4131
4131
|
d && clearTimeout(d), f && clearTimeout(f), u.dispose(), r?.dispose();
|
|
@@ -4133,11 +4133,11 @@ function Na(e) {
|
|
|
4133
4133
|
}
|
|
4134
4134
|
//#endregion
|
|
4135
4135
|
//#region src/components/core/useWaveformChartController.ts
|
|
4136
|
-
function
|
|
4136
|
+
function Fa(e, t) {
|
|
4137
4137
|
e.value = t instanceof Element ? t : void 0;
|
|
4138
4138
|
}
|
|
4139
|
-
function
|
|
4140
|
-
let n =
|
|
4139
|
+
function Ia(e, t) {
|
|
4140
|
+
let n = x(), r = x(), i = x(), a = x(), o = x(0), s = x(0), c = x(0), l = x(0), u = x(0), f = w(J), p = w([]), m = x({}), h = x({}), g = C({
|
|
4141
4141
|
points: [],
|
|
4142
4142
|
trackIndex: null,
|
|
4143
4143
|
queryX: null,
|
|
@@ -4146,131 +4146,131 @@ function Fa(e, t) {
|
|
|
4146
4146
|
x: 0,
|
|
4147
4147
|
y: 0
|
|
4148
4148
|
}
|
|
4149
|
-
}), _ =
|
|
4150
|
-
|
|
4149
|
+
}), _ = x(!1), v = x(1), y = w(), S = le("waveform-clip"), T = x(new Set(e.defaultHiddenSeriesIds)), D = mt(), O = w({}), j = x([]), M = zr();
|
|
4150
|
+
k([() => e.yDomain, () => e.yDomains], () => {
|
|
4151
4151
|
m.value = {}, h.value = {};
|
|
4152
4152
|
}, { deep: !0 });
|
|
4153
|
-
let N =
|
|
4153
|
+
let N = w(null), P = x(!1), F = x(!1), I = () => void 0, L = () => void 0, R = () => void 0, z = Wr(() => e.data, () => {
|
|
4154
4154
|
R(), I();
|
|
4155
|
-
}, () => L()), B =
|
|
4155
|
+
}, () => L()), B = Mi({
|
|
4156
4156
|
props: e,
|
|
4157
4157
|
observedWidth: o,
|
|
4158
4158
|
observedHeight: s,
|
|
4159
4159
|
measuredTitleWidth: c,
|
|
4160
4160
|
measuredTitleHeight: l,
|
|
4161
|
-
internalHiddenSeriesIds:
|
|
4161
|
+
internalHiddenSeriesIds: T,
|
|
4162
4162
|
paginationBandHeight: u
|
|
4163
|
-
}), { chartWidth: V, chartHeight: H, isCleanView: U, isPresentationMode: W, hiddenSeriesIdSet: G, resolvedTitleText: ee, titleAreaReserved: te, titleMeasureStyle: ne, titleAreaHeight: re, chartTopMargin: K, innerHeight:
|
|
4163
|
+
}), { chartWidth: V, chartHeight: H, isCleanView: U, isPresentationMode: W, hiddenSeriesIdSet: G, resolvedTitleText: ee, titleAreaReserved: te, titleMeasureStyle: ne, titleAreaHeight: re, chartTopMargin: K, innerHeight: q } = B, ie = Oi({
|
|
4164
4164
|
props: e,
|
|
4165
4165
|
preparedSeries: z,
|
|
4166
4166
|
currentPage: v,
|
|
4167
4167
|
hiddenSeriesIdSet: G,
|
|
4168
4168
|
chartWidth: V,
|
|
4169
|
-
innerHeight:
|
|
4169
|
+
innerHeight: q,
|
|
4170
4170
|
isCleanView: U,
|
|
4171
4171
|
sharedTransform: f,
|
|
4172
4172
|
independentTransforms: p,
|
|
4173
4173
|
sharedYDomains: m,
|
|
4174
4174
|
independentYDomains: h,
|
|
4175
4175
|
annotationInteraction: d(D),
|
|
4176
|
-
linePointOverrides:
|
|
4177
|
-
}), { chartSeries: ae, chartTracks: oe, renderingOptions: se, trackLayouts:
|
|
4178
|
-
|
|
4176
|
+
linePointOverrides: O
|
|
4177
|
+
}), { chartSeries: ae, chartTracks: oe, renderingOptions: se, trackLayouts: ce, gridOptions: ue, pageCount: de, pagedTracks: Y, resolvedChartLeftMargin: fe, innerWidth: X, hasChartArea: pe, activeInteractionMode: me, isZoomMode: he, initialXDomain: ge, sharedZoomDomain: _e, resolveInitialTrackDomain: ve, annotationLayoutsForTrack: ye, resolveSeriesYScale: be } = ie;
|
|
4178
|
+
Pa({
|
|
4179
4179
|
props: e,
|
|
4180
4180
|
emit: t,
|
|
4181
|
-
instanceId:
|
|
4181
|
+
instanceId: S,
|
|
4182
4182
|
preparedSeries: z,
|
|
4183
|
-
sourceTrackLayouts:
|
|
4183
|
+
sourceTrackLayouts: ce,
|
|
4184
4184
|
renderingOptions: se,
|
|
4185
|
-
linePointOverrides:
|
|
4186
|
-
}),
|
|
4187
|
-
u.value = ue.value.showPagination &&
|
|
4185
|
+
linePointOverrides: O
|
|
4186
|
+
}), A(() => {
|
|
4187
|
+
u.value = ue.value.showPagination && de.value > 1 && V.value <= 520 ? 40 : 0;
|
|
4188
4188
|
});
|
|
4189
|
-
let
|
|
4189
|
+
let xe = Br({
|
|
4190
4190
|
props: e,
|
|
4191
4191
|
emit: t,
|
|
4192
4192
|
svgElement: r,
|
|
4193
4193
|
sharedOverlayElement: a,
|
|
4194
4194
|
sharedTransform: f,
|
|
4195
4195
|
independentTransforms: p,
|
|
4196
|
-
trackLayouts:
|
|
4197
|
-
initialXDomain:
|
|
4198
|
-
sharedZoomDomain:
|
|
4199
|
-
innerWidth:
|
|
4200
|
-
innerHeight:
|
|
4201
|
-
hasChartArea:
|
|
4202
|
-
isZoomMode:
|
|
4196
|
+
trackLayouts: ce,
|
|
4197
|
+
initialXDomain: ge,
|
|
4198
|
+
sharedZoomDomain: _e,
|
|
4199
|
+
innerWidth: X,
|
|
4200
|
+
innerHeight: q,
|
|
4201
|
+
hasChartArea: pe,
|
|
4202
|
+
isZoomMode: he,
|
|
4203
4203
|
isPresentationMode: W,
|
|
4204
|
-
resolveInitialTrackDomain:
|
|
4205
|
-
cancelPendingHover: () =>
|
|
4204
|
+
resolveInitialTrackDomain: ve,
|
|
4205
|
+
cancelPendingHover: () => Ce.cancelPendingHover()
|
|
4206
4206
|
});
|
|
4207
|
-
R =
|
|
4208
|
-
let
|
|
4207
|
+
R = xe.prepareForDataChange;
|
|
4208
|
+
let Z = gr({
|
|
4209
4209
|
props: e,
|
|
4210
4210
|
emit: t,
|
|
4211
4211
|
container: n,
|
|
4212
4212
|
chartSeries: ae,
|
|
4213
4213
|
hiddenSeriesIdSet: G,
|
|
4214
|
-
internalHiddenSeriesIds:
|
|
4214
|
+
internalHiddenSeriesIds: T,
|
|
4215
4215
|
annotationInteraction: D,
|
|
4216
4216
|
editorSeriesOptions: j,
|
|
4217
|
-
trackLayouts:
|
|
4218
|
-
annotationLayoutsForTrack:
|
|
4219
|
-
resolveSeriesYScale:
|
|
4217
|
+
trackLayouts: ce,
|
|
4218
|
+
annotationLayoutsForTrack: ye,
|
|
4219
|
+
resolveSeriesYScale: be,
|
|
4220
4220
|
chartWidth: V,
|
|
4221
4221
|
chartHeight: H,
|
|
4222
|
-
innerWidth:
|
|
4222
|
+
innerWidth: X,
|
|
4223
4223
|
resolvedChartLeftMargin: fe,
|
|
4224
4224
|
titleAreaHeight: re,
|
|
4225
4225
|
chartTopMargin: K,
|
|
4226
|
-
activeInteractionMode:
|
|
4226
|
+
activeInteractionMode: me,
|
|
4227
4227
|
isPresentationMode: W
|
|
4228
|
-
}),
|
|
4228
|
+
}), Se = Rr({
|
|
4229
4229
|
props: e,
|
|
4230
4230
|
emit: t,
|
|
4231
4231
|
selection: N,
|
|
4232
4232
|
spacePressed: P,
|
|
4233
|
-
trackLayouts:
|
|
4233
|
+
trackLayouts: ce,
|
|
4234
4234
|
chartTracks: oe,
|
|
4235
|
-
initialXDomain:
|
|
4236
|
-
innerWidth:
|
|
4237
|
-
innerHeight:
|
|
4235
|
+
initialXDomain: ge,
|
|
4236
|
+
innerWidth: X,
|
|
4237
|
+
innerHeight: q,
|
|
4238
4238
|
sharedOverlayElement: a,
|
|
4239
4239
|
sharedTransform: f,
|
|
4240
4240
|
independentTransforms: p,
|
|
4241
4241
|
sharedYDomains: m,
|
|
4242
4242
|
independentYDomains: h,
|
|
4243
|
-
isZoomMode:
|
|
4243
|
+
isZoomMode: he,
|
|
4244
4244
|
isPresentationMode: W,
|
|
4245
4245
|
editorSeriesOptions: j,
|
|
4246
|
-
resolveInitialTrackDomain:
|
|
4247
|
-
canZoomTrack:
|
|
4248
|
-
canZoomSharedTracks:
|
|
4249
|
-
configureZoom:
|
|
4250
|
-
cancelPendingZoom:
|
|
4251
|
-
clearHover: () =>
|
|
4252
|
-
resolveTrackAtPointer:
|
|
4253
|
-
}),
|
|
4246
|
+
resolveInitialTrackDomain: ve,
|
|
4247
|
+
canZoomTrack: xe.canZoomTrack,
|
|
4248
|
+
canZoomSharedTracks: xe.canZoomSharedTracks,
|
|
4249
|
+
configureZoom: xe.configureZoom,
|
|
4250
|
+
cancelPendingZoom: xe.cancelPendingZoom,
|
|
4251
|
+
clearHover: () => Ce.clearHover(),
|
|
4252
|
+
resolveTrackAtPointer: Z.resolveTrackAtPointer
|
|
4253
|
+
}), Ce = _r({
|
|
4254
4254
|
emit: t,
|
|
4255
4255
|
hoverState: g,
|
|
4256
4256
|
suppressHoverUntilMove: _,
|
|
4257
4257
|
hoverThrottle: M,
|
|
4258
4258
|
selection: N,
|
|
4259
|
-
trackLayouts:
|
|
4260
|
-
innerWidth:
|
|
4259
|
+
trackLayouts: ce,
|
|
4260
|
+
innerWidth: X,
|
|
4261
4261
|
resolvedChartLeftMargin: fe,
|
|
4262
4262
|
titleAreaHeight: re,
|
|
4263
4263
|
chartTopMargin: K,
|
|
4264
4264
|
sharedOverlayElement: a,
|
|
4265
4265
|
isPresentationMode: W,
|
|
4266
|
-
updateViewportDrag:
|
|
4267
|
-
resolveTrackAtPointer:
|
|
4268
|
-
}),
|
|
4266
|
+
updateViewportDrag: Se.updateViewportDrag,
|
|
4267
|
+
resolveTrackAtPointer: Z.resolveTrackAtPointer
|
|
4268
|
+
}), we = Hr({
|
|
4269
4269
|
props: e,
|
|
4270
4270
|
emit: t,
|
|
4271
4271
|
container: n,
|
|
4272
4272
|
titleMeasureElement: i,
|
|
4273
|
-
resizeObserver:
|
|
4273
|
+
resizeObserver: y,
|
|
4274
4274
|
observedWidth: o,
|
|
4275
4275
|
observedHeight: s,
|
|
4276
4276
|
measuredTitleWidth: c,
|
|
@@ -4281,43 +4281,43 @@ function Fa(e, t) {
|
|
|
4281
4281
|
spacePressed: P,
|
|
4282
4282
|
pointerInsideChart: F,
|
|
4283
4283
|
currentPage: v,
|
|
4284
|
-
pageCount:
|
|
4285
|
-
pagedTracks:
|
|
4284
|
+
pageCount: de,
|
|
4285
|
+
pagedTracks: Y,
|
|
4286
4286
|
gridOptions: ue,
|
|
4287
4287
|
chartSeries: ae,
|
|
4288
4288
|
chartTracks: oe,
|
|
4289
|
-
trackLayouts:
|
|
4290
|
-
innerWidth:
|
|
4291
|
-
innerHeight:
|
|
4292
|
-
sharedZoomDomain:
|
|
4293
|
-
initialXDomain:
|
|
4289
|
+
trackLayouts: ce,
|
|
4290
|
+
innerWidth: X,
|
|
4291
|
+
innerHeight: q,
|
|
4292
|
+
sharedZoomDomain: _e,
|
|
4293
|
+
initialXDomain: ge,
|
|
4294
4294
|
sharedTransform: f,
|
|
4295
|
-
activeInteractionMode:
|
|
4295
|
+
activeInteractionMode: me,
|
|
4296
4296
|
hiddenSeriesIdSet: G,
|
|
4297
|
-
internalHiddenSeriesIds:
|
|
4297
|
+
internalHiddenSeriesIds: T,
|
|
4298
4298
|
independentTransforms: p,
|
|
4299
4299
|
independentYDomains: h,
|
|
4300
|
-
resolveInitialTrackDomain:
|
|
4300
|
+
resolveInitialTrackDomain: ve,
|
|
4301
4301
|
annotationInteraction: D,
|
|
4302
4302
|
editorSeriesOptions: j,
|
|
4303
4303
|
isPresentationMode: W,
|
|
4304
|
-
clearHover:
|
|
4305
|
-
cancelAnnotation:
|
|
4306
|
-
configureZoom:
|
|
4307
|
-
resetViewport:
|
|
4308
|
-
cancelViewportDrag:
|
|
4309
|
-
cancelPendingHover:
|
|
4310
|
-
clearZoomBindings:
|
|
4304
|
+
clearHover: Ce.clearHover,
|
|
4305
|
+
cancelAnnotation: Z.cancelAnnotation,
|
|
4306
|
+
configureZoom: xe.configureZoom,
|
|
4307
|
+
resetViewport: Se.resetViewport,
|
|
4308
|
+
cancelViewportDrag: Se.cancelViewportDrag,
|
|
4309
|
+
cancelPendingHover: Ce.cancelPendingHover,
|
|
4310
|
+
clearZoomBindings: xe.clearZoomBindings
|
|
4311
4311
|
});
|
|
4312
|
-
return I =
|
|
4313
|
-
...
|
|
4312
|
+
return I = we.handleBeforeDataReferenceChange, L = we.handleDataReferenceChange, b({
|
|
4313
|
+
...E(e),
|
|
4314
4314
|
...B,
|
|
4315
4315
|
...ie,
|
|
4316
|
+
...Z,
|
|
4316
4317
|
...Se,
|
|
4317
4318
|
...Ce,
|
|
4318
|
-
...we,
|
|
4319
4319
|
margin: Lt,
|
|
4320
|
-
getPageSize:
|
|
4320
|
+
getPageSize: Vn,
|
|
4321
4321
|
currentPage: v,
|
|
4322
4322
|
selection: N,
|
|
4323
4323
|
pointerInsideChart: F,
|
|
@@ -4326,36 +4326,36 @@ function Fa(e, t) {
|
|
|
4326
4326
|
editorDraft: D.editorDraft,
|
|
4327
4327
|
contextMenu: D.contextMenu,
|
|
4328
4328
|
editorSeriesOptions: j,
|
|
4329
|
-
clipPathId:
|
|
4330
|
-
goToPage:
|
|
4331
|
-
setContainer: (e) =>
|
|
4332
|
-
setSvgElement: (e) =>
|
|
4333
|
-
setTitleMeasureElement: (e) =>
|
|
4334
|
-
setSharedOverlayElement: (e) =>
|
|
4329
|
+
clipPathId: S,
|
|
4330
|
+
goToPage: we.goToPage,
|
|
4331
|
+
setContainer: (e) => Fa(n, e),
|
|
4332
|
+
setSvgElement: (e) => Fa(r, e),
|
|
4333
|
+
setTitleMeasureElement: (e) => Fa(i, e),
|
|
4334
|
+
setSharedOverlayElement: (e) => Fa(a, e)
|
|
4335
4335
|
});
|
|
4336
4336
|
}
|
|
4337
4337
|
//#endregion
|
|
4338
4338
|
//#region src/components/annotation/WaveformAnnotationEditor.vue?vue&type=script&setup=true&lang.ts
|
|
4339
|
-
var
|
|
4339
|
+
var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
|
|
4340
4340
|
class: "waveform-annotation-editor__coordinates",
|
|
4341
4341
|
"aria-label": "标注坐标"
|
|
4342
|
-
},
|
|
4342
|
+
}, Ba = ["aria-invalid"], Va = {
|
|
4343
4343
|
class: "waveform-annotation-editor__coordinate-value",
|
|
4344
4344
|
"aria-hidden": "true"
|
|
4345
|
-
},
|
|
4345
|
+
}, Ha = ["id"], Ua = {
|
|
4346
4346
|
key: 0,
|
|
4347
4347
|
class: "waveform-annotation-editor__series",
|
|
4348
4348
|
"aria-label": "标注所属波形"
|
|
4349
|
-
},
|
|
4349
|
+
}, Wa = { class: "waveform-annotation-editor__series-label" }, Ga = ["value"], Ka = ["value"], qa = { key: 1 }, Ja = { class: "waveform-annotation-editor__field" }, Ya = { class: "waveform-annotation-editor__label-row" }, Xa = ["maxlength"], Za = { class: "waveform-annotation-editor__colors" }, Qa = {
|
|
4350
4350
|
class: "waveform-annotation-editor__color-field",
|
|
4351
4351
|
title: "调整标注边框色和透明度"
|
|
4352
|
-
},
|
|
4352
|
+
}, $a = {
|
|
4353
4353
|
class: "waveform-annotation-editor__color-field",
|
|
4354
4354
|
title: "调整标注文字色和透明度"
|
|
4355
|
-
},
|
|
4355
|
+
}, eo = {
|
|
4356
4356
|
class: "waveform-annotation-editor__color-field",
|
|
4357
4357
|
title: "调整标注背景色和透明度"
|
|
4358
|
-
},
|
|
4358
|
+
}, to = /*#__PURE__*/ et(/* @__PURE__ */ l({
|
|
4359
4359
|
__name: "WaveformAnnotationEditor",
|
|
4360
4360
|
props: {
|
|
4361
4361
|
annotation: {},
|
|
@@ -4375,7 +4375,7 @@ var Ia = ["id"], La = { class: "waveform-annotation-editor__content" }, Ra = {
|
|
|
4375
4375
|
let u = c(async () => typeof window > "u" ? {
|
|
4376
4376
|
name: "WaveformColorPickerSsrFallback",
|
|
4377
4377
|
render: () => null
|
|
4378
|
-
} : (await import("vue3-colorpicker")).ColorPicker), d = o, p = l, h =
|
|
4378
|
+
} : (await import("vue3-colorpicker")).ColorPicker), d = o, p = l, h = x(), g = le("waveform-annotation-editor-title"), _ = x(""), v = x(""), b = x(!1), C = x(""), w = x(""), E = x(""), A = t(() => b.value && (!v.value.trim() || !Number.isFinite(Number(v.value))) ? "请输入有效的时间" : ""), N = t(() => b.value && (A.value || d.timeError) || ""), P = t(() => _.value.trim().length > 0 && v.value.trim().length > 0 && Number.isFinite(Number(v.value)) && !N.value), F = t(() => _.value.length), I = t(() => {
|
|
4379
4379
|
let e = d.seriesOptions?.find((e) => e.seriesId === d.annotation.seriesId);
|
|
4380
4380
|
return e ? {
|
|
4381
4381
|
id: e.seriesId,
|
|
@@ -4386,14 +4386,14 @@ var Ia = ["id"], La = { class: "waveform-annotation-editor__content" }, Ra = {
|
|
|
4386
4386
|
});
|
|
4387
4387
|
function L() {
|
|
4388
4388
|
let e = Ue(d.annotation.style);
|
|
4389
|
-
_.value = d.annotation.text,
|
|
4389
|
+
_.value = d.annotation.text, v.value = Pt(d.annotation.x, d.timeUnit), b.value = !1, C.value = e.borderColor, w.value = e.textColor, E.value = e.backgroundColor, f(() => h.value?.focus());
|
|
4390
4390
|
}
|
|
4391
|
-
|
|
4391
|
+
k(() => d.annotation.id, L, { immediate: !0 });
|
|
4392
4392
|
function R(e) {
|
|
4393
|
-
|
|
4393
|
+
v.value = e == null ? "" : String(e), b.value = !1;
|
|
4394
4394
|
}
|
|
4395
4395
|
function z() {
|
|
4396
|
-
|
|
4396
|
+
b.value = !0, p("time-change", v.value);
|
|
4397
4397
|
}
|
|
4398
4398
|
async function B() {
|
|
4399
4399
|
z(), await f(), P.value && p("confirm", {
|
|
@@ -4401,8 +4401,8 @@ var Ia = ["id"], La = { class: "waveform-annotation-editor__content" }, Ra = {
|
|
|
4401
4401
|
text: _.value.trim(),
|
|
4402
4402
|
style: {
|
|
4403
4403
|
borderColor: C.value,
|
|
4404
|
-
textColor:
|
|
4405
|
-
backgroundColor:
|
|
4404
|
+
textColor: w.value,
|
|
4405
|
+
backgroundColor: E.value.trim() || "rgba(255, 255, 255, 0.92)"
|
|
4406
4406
|
}
|
|
4407
4407
|
});
|
|
4408
4408
|
}
|
|
@@ -4413,7 +4413,7 @@ var Ia = ["id"], La = { class: "waveform-annotation-editor__content" }, Ra = {
|
|
|
4413
4413
|
let t = e.target;
|
|
4414
4414
|
t.value && p("series-change", t.value);
|
|
4415
4415
|
}
|
|
4416
|
-
return (t, o) => (
|
|
4416
|
+
return (t, o) => (y(), n(D(oe), {
|
|
4417
4417
|
visible: !0,
|
|
4418
4418
|
width: 440,
|
|
4419
4419
|
"mask-closable": !0,
|
|
@@ -4426,23 +4426,23 @@ var Ia = ["id"], La = { class: "waveform-annotation-editor__content" }, Ra = {
|
|
|
4426
4426
|
onCancel: o[4] ||= (e) => p("cancel"),
|
|
4427
4427
|
onOk: B
|
|
4428
4428
|
}, {
|
|
4429
|
-
title:
|
|
4430
|
-
default:
|
|
4431
|
-
a("div",
|
|
4429
|
+
title: j(() => [a("span", { id: D(g) }, T(d.mode === "add" ? "添加标注" : "编辑标注"), 9, La)]),
|
|
4430
|
+
default: j(() => [a("div", Ra, [
|
|
4431
|
+
a("div", za, [
|
|
4432
4432
|
a("label", {
|
|
4433
4433
|
class: "waveform-annotation-editor__coordinate-input",
|
|
4434
4434
|
"aria-invalid": !!N.value
|
|
4435
4435
|
}, [
|
|
4436
4436
|
o[5] ||= a("b", null, "X", -1),
|
|
4437
|
-
s(
|
|
4438
|
-
value:
|
|
4437
|
+
s(D(ae), {
|
|
4438
|
+
value: v.value === "" ? void 0 : Number(v.value),
|
|
4439
4439
|
controls: !0,
|
|
4440
4440
|
step: .001,
|
|
4441
4441
|
keyboard: !0,
|
|
4442
4442
|
status: N.value ? "error" : void 0,
|
|
4443
4443
|
"aria-label": "标注横轴时间",
|
|
4444
4444
|
"aria-invalid": !!N.value,
|
|
4445
|
-
"aria-describedby": N.value ? `${
|
|
4445
|
+
"aria-describedby": N.value ? `${D(g)}-time-error` : void 0,
|
|
4446
4446
|
onBlur: z,
|
|
4447
4447
|
"onUpdate:value": R
|
|
4448
4448
|
}, null, 8, [
|
|
@@ -4451,49 +4451,49 @@ var Ia = ["id"], La = { class: "waveform-annotation-editor__content" }, Ra = {
|
|
|
4451
4451
|
"aria-invalid",
|
|
4452
4452
|
"aria-describedby"
|
|
4453
4453
|
]),
|
|
4454
|
-
a("code",
|
|
4455
|
-
], 8,
|
|
4456
|
-
N.value ? (
|
|
4454
|
+
a("code", Va, T(v.value), 1)
|
|
4455
|
+
], 8, Ba),
|
|
4456
|
+
N.value ? (y(), i("p", {
|
|
4457
4457
|
key: 0,
|
|
4458
|
-
id: `${
|
|
4458
|
+
id: `${D(g)}-time-error`,
|
|
4459
4459
|
class: "waveform-annotation-editor__coordinate-error",
|
|
4460
4460
|
role: "alert"
|
|
4461
|
-
},
|
|
4462
|
-
a("span", null, [o[6] ||= a("b", null, "Y", -1), a("code", null,
|
|
4461
|
+
}, T(N.value), 9, Ha)) : r("", !0),
|
|
4462
|
+
a("span", null, [o[6] ||= a("b", null, "Y", -1), a("code", null, T(D(Ot)(d.annotation.y)), 1)])
|
|
4463
4463
|
]),
|
|
4464
4464
|
o[13] ||= a("p", {
|
|
4465
4465
|
class: "waveform-annotation-editor__coordinate-hint",
|
|
4466
4466
|
role: "note"
|
|
4467
4467
|
}, " 修改 X 轴后失焦时会自动吸附最近的采样点 ", -1),
|
|
4468
|
-
I.value ? (
|
|
4468
|
+
I.value ? (y(), i("label", Ua, [
|
|
4469
4469
|
a("i", {
|
|
4470
4470
|
style: m({ backgroundColor: I.value.color }),
|
|
4471
4471
|
"aria-hidden": "true"
|
|
4472
4472
|
}, null, 4),
|
|
4473
|
-
a("span",
|
|
4474
|
-
d.seriesOptions?.length ? (
|
|
4473
|
+
a("span", Wa, [o[7] ||= a("small", null, "标注波形", -1), a("b", null, T(I.value.name), 1)]),
|
|
4474
|
+
d.seriesOptions?.length ? (y(), i("select", {
|
|
4475
4475
|
key: 0,
|
|
4476
4476
|
value: d.annotation.seriesId,
|
|
4477
4477
|
"aria-label": "选择标注波形",
|
|
4478
4478
|
onChange: H
|
|
4479
|
-
}, [(
|
|
4479
|
+
}, [(y(!0), i(e, null, S(d.seriesOptions, (e) => (y(), i("option", {
|
|
4480
4480
|
key: e.seriesId,
|
|
4481
4481
|
value: e.seriesId
|
|
4482
|
-
},
|
|
4482
|
+
}, T(e.name) + T(e.unit ? ` (${e.unit})` : ""), 9, Ka))), 128))], 40, Ga)) : I.value.unit ? (y(), i("code", qa, T(I.value.unit), 1)) : r("", !0)
|
|
4483
4483
|
])) : r("", !0),
|
|
4484
|
-
a("label",
|
|
4484
|
+
a("label", Ja, [a("span", Ya, [o[8] ||= a("b", null, "标注文本", -1), a("small", null, T(F.value) + "/" + T(D(40)), 1)]), M(a("textarea", {
|
|
4485
4485
|
ref_key: "textarea",
|
|
4486
4486
|
ref: h,
|
|
4487
4487
|
"onUpdate:modelValue": o[0] ||= (e) => _.value = e,
|
|
4488
4488
|
rows: "4",
|
|
4489
|
-
maxlength:
|
|
4489
|
+
maxlength: D(40),
|
|
4490
4490
|
"aria-label": "标注文本",
|
|
4491
4491
|
placeholder: "输入这处波形的说明",
|
|
4492
4492
|
onKeydown: V
|
|
4493
|
-
}, null, 40,
|
|
4494
|
-
a("fieldset",
|
|
4493
|
+
}, null, 40, Xa), [[O, _.value]])]),
|
|
4494
|
+
a("fieldset", Za, [
|
|
4495
4495
|
o[12] ||= a("legend", null, "颜色与透明度", -1),
|
|
4496
|
-
a("label",
|
|
4496
|
+
a("label", Qa, [o[9] ||= a("span", null, "边框色", -1), s(D(u), {
|
|
4497
4497
|
"pure-color": C.value,
|
|
4498
4498
|
"onUpdate:pureColor": o[1] ||= (e) => C.value = e,
|
|
4499
4499
|
"aria-label": "标注边框色",
|
|
@@ -4503,9 +4503,9 @@ var Ia = ["id"], La = { class: "waveform-annotation-editor__content" }, Ra = {
|
|
|
4503
4503
|
"disable-alpha": !1,
|
|
4504
4504
|
"blur-close": !0
|
|
4505
4505
|
}, null, 8, ["pure-color"])]),
|
|
4506
|
-
a("label",
|
|
4507
|
-
"pure-color":
|
|
4508
|
-
"onUpdate:pureColor": o[2] ||= (e) =>
|
|
4506
|
+
a("label", $a, [o[10] ||= a("span", null, "文字色", -1), s(D(u), {
|
|
4507
|
+
"pure-color": w.value,
|
|
4508
|
+
"onUpdate:pureColor": o[2] ||= (e) => w.value = e,
|
|
4509
4509
|
"aria-label": "标注文字色",
|
|
4510
4510
|
"use-type": "pure",
|
|
4511
4511
|
"picker-type": "chrome",
|
|
@@ -4513,9 +4513,9 @@ var Ia = ["id"], La = { class: "waveform-annotation-editor__content" }, Ra = {
|
|
|
4513
4513
|
"disable-alpha": !1,
|
|
4514
4514
|
"blur-close": !0
|
|
4515
4515
|
}, null, 8, ["pure-color"])]),
|
|
4516
|
-
a("label",
|
|
4517
|
-
"pure-color":
|
|
4518
|
-
"onUpdate:pureColor": o[3] ||= (e) =>
|
|
4516
|
+
a("label", eo, [o[11] ||= a("span", null, "背景色", -1), s(D(u), {
|
|
4517
|
+
"pure-color": E.value,
|
|
4518
|
+
"onUpdate:pureColor": o[3] ||= (e) => E.value = e,
|
|
4519
4519
|
"aria-label": "标注背景色",
|
|
4520
4520
|
"use-type": "pure",
|
|
4521
4521
|
"picker-type": "chrome",
|
|
@@ -4528,13 +4528,13 @@ var Ia = ["id"], La = { class: "waveform-annotation-editor__content" }, Ra = {
|
|
|
4528
4528
|
_: 1
|
|
4529
4529
|
}, 8, ["ok-button-props"]));
|
|
4530
4530
|
}
|
|
4531
|
-
}), [["__scopeId", "data-v-01ecd3a4"]]),
|
|
4531
|
+
}), [["__scopeId", "data-v-01ecd3a4"]]), no = { class: "waveform-tooltip__series-content" }, ro = { class: "waveform-tooltip__series-label" }, io = {
|
|
4532
4532
|
key: 0,
|
|
4533
4533
|
class: "waveform-tooltip__value"
|
|
4534
|
-
},
|
|
4534
|
+
}, ao = {
|
|
4535
4535
|
key: 1,
|
|
4536
4536
|
class: "waveform-tooltip__value waveform-tooltip__value--missing"
|
|
4537
|
-
},
|
|
4537
|
+
}, oo = 12, so = 8, co = 560, lo = /*#__PURE__*/ et(/* @__PURE__ */ l({
|
|
4538
4538
|
__name: "WaveformTooltip",
|
|
4539
4539
|
props: {
|
|
4540
4540
|
visible: { type: Boolean },
|
|
@@ -4546,45 +4546,44 @@ var Ia = ["id"], La = { class: "waveform-annotation-editor__content" }, Ra = {
|
|
|
4546
4546
|
containerHeight: {}
|
|
4547
4547
|
},
|
|
4548
4548
|
setup(n) {
|
|
4549
|
-
let s = n
|
|
4550
|
-
|
|
4551
|
-
|
|
4552
|
-
|
|
4553
|
-
|
|
4554
|
-
|
|
4555
|
-
|
|
4556
|
-
|
|
4557
|
-
|
|
4558
|
-
|
|
4559
|
-
return 16 + uo * s.seriesPoints.reduce((t, n) => t + c(l(n), e), 0) + 5;
|
|
4549
|
+
let s = n, c = x(null), l = x({
|
|
4550
|
+
width: 0,
|
|
4551
|
+
height: 0
|
|
4552
|
+
});
|
|
4553
|
+
function u() {
|
|
4554
|
+
let e = c.value?.getBoundingClientRect(), t = e?.width ?? 0, n = e?.height ?? 0;
|
|
4555
|
+
(t !== l.value.width || n !== l.value.height) && (l.value = {
|
|
4556
|
+
width: t,
|
|
4557
|
+
height: n
|
|
4558
|
+
});
|
|
4560
4559
|
}
|
|
4560
|
+
k(c, (e, t, n) => {
|
|
4561
|
+
if (u(), !e) return;
|
|
4562
|
+
let r = new ResizeObserver(u);
|
|
4563
|
+
r.observe(e), n(() => r.disconnect());
|
|
4564
|
+
}, { flush: "post" }), v(u);
|
|
4561
4565
|
let d = t(() => {
|
|
4562
4566
|
if (!s.visible || !s.hoveredPoint) return { display: "none" };
|
|
4563
|
-
let e = s.position.x +
|
|
4564
|
-
left: `${e}px`,
|
|
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`
|
|
4569
|
-
} : {
|
|
4570
|
-
left: `${oo}px`,
|
|
4571
|
-
maxWidth: `${i}px`
|
|
4572
|
-
}, o = Number.parseFloat(a.maxWidth);
|
|
4567
|
+
let e = s.position.x + oo, t = s.position.x - oo - l.value.width, n = Math.max(1, Math.min(co, s.containerWidth - so * 2));
|
|
4573
4568
|
return {
|
|
4574
|
-
...
|
|
4575
|
-
|
|
4569
|
+
...e + l.value.width <= s.containerWidth - so ? { left: `${e}px` } : t >= so ? { right: `${s.containerWidth - s.position.x + oo}px` } : { left: `${so}px` },
|
|
4570
|
+
maxWidth: `${n}px`,
|
|
4571
|
+
visibility: l.value.width > 0 ? "visible" : "hidden",
|
|
4572
|
+
top: `${Math.max(so, Math.min(s.position.y - 18, s.containerHeight - l.value.height - so))}px`
|
|
4576
4573
|
};
|
|
4577
4574
|
});
|
|
4578
|
-
return (t, s) => n.visible && n.hoveredPoint ? (
|
|
4575
|
+
return (t, s) => n.visible && n.hoveredPoint ? (y(), i("div", {
|
|
4579
4576
|
key: 0,
|
|
4577
|
+
ref_key: "tooltipElement",
|
|
4578
|
+
ref: c,
|
|
4580
4579
|
class: "waveform-tooltip waveform-chart__tooltip",
|
|
4581
4580
|
style: m(d.value)
|
|
4582
|
-
}, [(
|
|
4581
|
+
}, [(y(!0), i(e, null, S(n.seriesPoints, (t) => (y(), i("span", {
|
|
4583
4582
|
key: `${t.trackIndex}-${t.name}`,
|
|
4584
4583
|
class: "waveform-tooltip__series waveform-chart__tooltip-series"
|
|
4585
|
-
}, [a("i", { style: m({ backgroundColor: t.color }) }, null, 4), a("span",
|
|
4584
|
+
}, [a("i", { style: m({ backgroundColor: t.color }) }, null, 4), a("span", no, [a("span", ro, [o(T(t.shotNo?.trim() || "未配置炮号") + ": " + T(t.name), 1), t.unit ? (y(), i(e, { key: 0 }, [o("(" + T(t.unit) + ")", 1)], 64)) : r("", !0)]), t.point ? (y(), i("span", io, "(x:" + T(D(Nt)(t.point.x, n.timeUnit)) + " y:" + T(D(Dt)(t.point.y)) + ")", 1)) : (y(), i("span", ao, "无数据"))])]))), 128))], 4)) : r("", !0);
|
|
4586
4585
|
}
|
|
4587
|
-
}), [["__scopeId", "data-v-
|
|
4586
|
+
}), [["__scopeId", "data-v-0d0d1d3c"]]), uo = /* @__PURE__ */ l({
|
|
4588
4587
|
__name: "WaveformHoverHost",
|
|
4589
4588
|
props: {
|
|
4590
4589
|
state: {},
|
|
@@ -4595,7 +4594,7 @@ var Ia = ["id"], La = { class: "waveform-annotation-editor__content" }, Ra = {
|
|
|
4595
4594
|
},
|
|
4596
4595
|
setup(e) {
|
|
4597
4596
|
let r = e, i = t(() => r.state.points.find((e) => e.point)?.point ?? null);
|
|
4598
|
-
return (t, r) => (
|
|
4597
|
+
return (t, r) => (y(), n(lo, {
|
|
4599
4598
|
visible: e.visible && i.value !== null,
|
|
4600
4599
|
position: e.state.position,
|
|
4601
4600
|
"time-unit": e.timeUnit,
|
|
@@ -4613,16 +4612,16 @@ var Ia = ["id"], La = { class: "waveform-annotation-editor__content" }, Ra = {
|
|
|
4613
4612
|
"container-height"
|
|
4614
4613
|
]));
|
|
4615
4614
|
}
|
|
4616
|
-
}),
|
|
4617
|
-
circle:
|
|
4618
|
-
square:
|
|
4619
|
-
triangle:
|
|
4620
|
-
diamond:
|
|
4615
|
+
}), fo = 13, po = 2, mo = 14, ho = 8, go = 24, _o = {
|
|
4616
|
+
circle: te,
|
|
4617
|
+
square: re,
|
|
4618
|
+
triangle: K,
|
|
4619
|
+
diamond: ne
|
|
4621
4620
|
};
|
|
4622
|
-
function
|
|
4623
|
-
return e === "none" ? null :
|
|
4621
|
+
function vo(e, t = 48) {
|
|
4622
|
+
return e === "none" ? null : ee().type(_o[e]).size(t)() ?? null;
|
|
4624
4623
|
}
|
|
4625
|
-
function
|
|
4624
|
+
function yo(e, t, n = 48) {
|
|
4626
4625
|
if (e === "none" || t.length === 0) return null;
|
|
4627
4626
|
if (e === "circle") {
|
|
4628
4627
|
let e = Math.sqrt(n / Math.PI);
|
|
@@ -4639,24 +4638,24 @@ function xo(e, t, n = 48) {
|
|
|
4639
4638
|
let r = Math.sqrt(n / (2 * Math.tan(Math.PI / 6))), i = r * Math.tan(Math.PI / 6);
|
|
4640
4639
|
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("");
|
|
4641
4640
|
}
|
|
4642
|
-
function
|
|
4641
|
+
function bo(e) {
|
|
4643
4642
|
return e === "none" ? null : "M1 8H25";
|
|
4644
4643
|
}
|
|
4645
|
-
function
|
|
4644
|
+
function xo(e) {
|
|
4646
4645
|
if (e === "dashed") return "8 5";
|
|
4647
4646
|
if (e === "dash-dot") return "8 5 1.5 5";
|
|
4648
4647
|
}
|
|
4649
|
-
function
|
|
4650
|
-
let t = (Number.isFinite(e) && e > 0 ? Math.min(e,
|
|
4648
|
+
function So(e) {
|
|
4649
|
+
let t = (Number.isFinite(e) && e > 0 ? Math.min(e, go) : ho) / 2, n = fo - t, r = fo + t;
|
|
4651
4650
|
return [
|
|
4652
|
-
`M${n} ${
|
|
4653
|
-
`M${
|
|
4654
|
-
`M${n} ${
|
|
4651
|
+
`M${n} ${po}H${r}`,
|
|
4652
|
+
`M${fo} ${po}V${mo}`,
|
|
4653
|
+
`M${n} ${mo}H${r}`
|
|
4655
4654
|
].join("");
|
|
4656
4655
|
}
|
|
4657
4656
|
//#endregion
|
|
4658
4657
|
//#region src/components/rendering/WaveformSeriesLayer.vue?vue&type=script&setup=true&lang.ts
|
|
4659
|
-
var
|
|
4658
|
+
var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
4660
4659
|
"data-series-id",
|
|
4661
4660
|
"data-series-name",
|
|
4662
4661
|
"data-y-axis-index",
|
|
@@ -4665,11 +4664,11 @@ var To = ["clip-path"], Eo = ["data-series-id", "data-series-name"], Do = [
|
|
|
4665
4664
|
"d",
|
|
4666
4665
|
"stroke",
|
|
4667
4666
|
"stroke-dasharray"
|
|
4668
|
-
],
|
|
4667
|
+
], Eo = ["data-series-id"], Do = [
|
|
4669
4668
|
"d",
|
|
4670
4669
|
"stroke",
|
|
4671
4670
|
"stroke-width"
|
|
4672
|
-
],
|
|
4671
|
+
], Oo = ["data-series-id", "data-point-type"], ko = ["d", "fill"], Ao = /*#__PURE__*/ et(/* @__PURE__ */ l({
|
|
4673
4672
|
__name: "WaveformSeriesLayer",
|
|
4674
4673
|
props: {
|
|
4675
4674
|
track: {},
|
|
@@ -4677,7 +4676,7 @@ var To = ["clip-path"], Eo = ["data-series-id", "data-series-name"], Do = [
|
|
|
4677
4676
|
},
|
|
4678
4677
|
setup(n) {
|
|
4679
4678
|
let a = n, o = t(() => a.track.seriesPaths.map((e) => {
|
|
4680
|
-
let t =
|
|
4679
|
+
let t = yo(e.series.pointType, e.pointRenderPoints.map((t) => ({
|
|
4681
4680
|
x: a.track.xScale(t.x),
|
|
4682
4681
|
y: e.yScale(t.y)
|
|
4683
4682
|
}))), n = e.series.errorBar.capWidth / 2, r = e.errorBarRenderPoints.map((t) => {
|
|
@@ -4694,17 +4693,17 @@ var To = ["clip-path"], Eo = ["data-series-id", "data-series-name"], Do = [
|
|
|
4694
4693
|
errorBarPath: r || null
|
|
4695
4694
|
};
|
|
4696
4695
|
}));
|
|
4697
|
-
return (t, a) => !n.track.isEmpty && n.track.hasVisibleSeries ? (
|
|
4696
|
+
return (t, a) => !n.track.isEmpty && n.track.hasVisibleSeries ? (y(), i("g", {
|
|
4698
4697
|
key: 0,
|
|
4699
4698
|
class: "waveform-track__series",
|
|
4700
4699
|
"clip-path": `url(#${n.clipPathId}-${n.track.index})`
|
|
4701
|
-
}, [(
|
|
4700
|
+
}, [(y(!0), i(e, null, S(o.value, (e) => (y(), i("g", {
|
|
4702
4701
|
key: e.series.id,
|
|
4703
4702
|
class: "waveform-track__series-item waveform-chart__series",
|
|
4704
4703
|
"data-series-id": e.series.id,
|
|
4705
4704
|
"data-series-name": e.series.name || void 0
|
|
4706
4705
|
}, [
|
|
4707
|
-
e.path ? (
|
|
4706
|
+
e.path ? (y(), i("path", {
|
|
4708
4707
|
key: 0,
|
|
4709
4708
|
class: "waveform-track__line waveform-chart__line",
|
|
4710
4709
|
"data-series-id": e.series.id,
|
|
@@ -4714,51 +4713,51 @@ var To = ["clip-path"], Eo = ["data-series-id", "data-series-name"], Do = [
|
|
|
4714
4713
|
"data-line-style": e.series.lineStyle,
|
|
4715
4714
|
d: e.path,
|
|
4716
4715
|
stroke: e.series.color,
|
|
4717
|
-
"stroke-dasharray":
|
|
4718
|
-
}, null, 8,
|
|
4719
|
-
e.series.errorBar.visible ? (
|
|
4716
|
+
"stroke-dasharray": D(xo)(e.series.lineStyle)
|
|
4717
|
+
}, null, 8, To)) : r("", !0),
|
|
4718
|
+
e.series.errorBar.visible ? (y(), i("g", {
|
|
4720
4719
|
key: 1,
|
|
4721
4720
|
class: "waveform-track__error-bars waveform-chart__error-bars",
|
|
4722
4721
|
"data-series-id": e.series.id
|
|
4723
|
-
}, [e.errorBarPath ? (
|
|
4722
|
+
}, [e.errorBarPath ? (y(), i("path", {
|
|
4724
4723
|
key: 0,
|
|
4725
4724
|
class: "waveform-track__error-bar waveform-chart__error-bar",
|
|
4726
4725
|
d: e.errorBarPath,
|
|
4727
4726
|
stroke: e.series.errorBar.color || e.series.color,
|
|
4728
4727
|
"stroke-width": e.series.errorBar.width
|
|
4729
|
-
}, null, 8,
|
|
4730
|
-
e.series.pointType === "none" ? r("", !0) : (
|
|
4728
|
+
}, null, 8, Do)) : r("", !0)], 8, Eo)) : r("", !0),
|
|
4729
|
+
e.series.pointType === "none" ? r("", !0) : (y(), i("g", {
|
|
4731
4730
|
key: 2,
|
|
4732
4731
|
class: "waveform-track__points waveform-chart__points",
|
|
4733
4732
|
"data-series-id": e.series.id,
|
|
4734
4733
|
"data-point-type": e.series.pointType
|
|
4735
|
-
}, [e.pointPath ? (
|
|
4734
|
+
}, [e.pointPath ? (y(), i("path", {
|
|
4736
4735
|
key: 0,
|
|
4737
4736
|
class: "waveform-track__point waveform-chart__point",
|
|
4738
4737
|
d: e.pointPath,
|
|
4739
4738
|
fill: e.series.color
|
|
4740
|
-
}, null, 8,
|
|
4741
|
-
], 8,
|
|
4739
|
+
}, null, 8, ko)) : r("", !0)], 8, Oo))
|
|
4740
|
+
], 8, wo))), 128))], 8, Co)) : r("", !0);
|
|
4742
4741
|
}
|
|
4743
|
-
}), [["__scopeId", "data-v-42a3fd47"]]),
|
|
4742
|
+
}), [["__scopeId", "data-v-42a3fd47"]]), jo = ["transform"], Mo = ["transform"], No = {
|
|
4744
4743
|
class: "waveform-track__axis-endpoint waveform-track__axis-endpoint--start waveform-chart__axis-endpoint waveform-chart__axis-endpoint--start",
|
|
4745
4744
|
x: "0",
|
|
4746
4745
|
y: "7",
|
|
4747
4746
|
dy: "0.71em",
|
|
4748
4747
|
"text-anchor": "start"
|
|
4749
|
-
},
|
|
4748
|
+
}, Po = ["x"], Fo = [
|
|
4750
4749
|
"data-y-axis-index",
|
|
4751
4750
|
"data-y-axis-side",
|
|
4752
4751
|
"transform"
|
|
4753
|
-
],
|
|
4752
|
+
], Io = { key: 2 }, Lo = [
|
|
4754
4753
|
"x",
|
|
4755
4754
|
"y",
|
|
4756
4755
|
"width"
|
|
4757
|
-
],
|
|
4756
|
+
], Ro = ["fill", "transform"], zo = ["data-y-axis-title-index"], Bo = [
|
|
4758
4757
|
"x",
|
|
4759
4758
|
"y",
|
|
4760
4759
|
"width"
|
|
4761
|
-
],
|
|
4760
|
+
], Vo = ["fill", "transform"], Ho = /* @__PURE__ */ l({
|
|
4762
4761
|
__name: "WaveformTrackAxes",
|
|
4763
4762
|
props: {
|
|
4764
4763
|
track: {},
|
|
@@ -4769,7 +4768,7 @@ var To = ["clip-path"], Eo = ["data-series-id", "data-series-name"], Do = [
|
|
|
4769
4768
|
yLabel: {}
|
|
4770
4769
|
},
|
|
4771
4770
|
setup(t) {
|
|
4772
|
-
let n = t, o =
|
|
4771
|
+
let n = t, o = x(), s = x([]);
|
|
4773
4772
|
function c(e) {
|
|
4774
4773
|
return e.name.trim() || n.yLabel || "";
|
|
4775
4774
|
}
|
|
@@ -4787,15 +4786,15 @@ var To = ["clip-path"], Eo = ["data-series-id", "data-series-name"], Do = [
|
|
|
4787
4786
|
if (n.track.yAxes.forEach((e, t) => {
|
|
4788
4787
|
let r = s.value[t];
|
|
4789
4788
|
if (!r) return;
|
|
4790
|
-
let i = e.seriesList[0]?.unit, a = (e.side === "left" ?
|
|
4789
|
+
let i = e.seriesList[0]?.unit, a = (e.side === "left" ? F(e.scale) : I(e.scale)).tickFormat((t) => ar(Number(t), e.scale.domain(), e.tickValues, i)).tickSize(-4).tickPadding(7).tickSizeOuter(0).tickValues(e.tickValues), o = G(r);
|
|
4791
4790
|
o.call(a), o.selectAll("path.domain").attr("display", n.axes?.y?.lineVisible === !1 ? "none" : null);
|
|
4792
4791
|
}), !o.value) return;
|
|
4793
|
-
let e =
|
|
4794
|
-
e.call(
|
|
4792
|
+
let e = G(o.value);
|
|
4793
|
+
e.call(P(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);
|
|
4795
4794
|
}
|
|
4796
4795
|
return g(async () => {
|
|
4797
4796
|
await f(), m();
|
|
4798
|
-
}),
|
|
4797
|
+
}), k([
|
|
4799
4798
|
() => n.track.xScale,
|
|
4800
4799
|
() => n.track.yAxes,
|
|
4801
4800
|
() => n.track.xAxisTickValues,
|
|
@@ -4806,29 +4805,29 @@ var To = ["clip-path"], Eo = ["data-series-id", "data-series-name"], Do = [
|
|
|
4806
4805
|
() => n.axes?.y?.lineVisible
|
|
4807
4806
|
], async () => {
|
|
4808
4807
|
await f(), m();
|
|
4809
|
-
}, { flush: "post" }), (n, s) => (
|
|
4810
|
-
t.track.showXAxis ? (
|
|
4808
|
+
}, { flush: "post" }), (n, s) => (y(), i(e, null, [
|
|
4809
|
+
t.track.showXAxis ? (y(), i("g", {
|
|
4811
4810
|
key: 0,
|
|
4812
4811
|
ref_key: "xAxisElement",
|
|
4813
4812
|
ref: o,
|
|
4814
4813
|
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 }]),
|
|
4815
4814
|
transform: `translate(0, ${t.track.height})`
|
|
4816
|
-
}, null, 10,
|
|
4817
|
-
t.track.showXAxis ? (
|
|
4815
|
+
}, null, 10, jo)) : r("", !0),
|
|
4816
|
+
t.track.showXAxis ? (y(), i("g", {
|
|
4818
4817
|
key: 1,
|
|
4819
4818
|
class: "waveform-track__axis-endpoints waveform-chart__axis-endpoints",
|
|
4820
4819
|
transform: `translate(0, ${t.track.height})`,
|
|
4821
4820
|
"font-family": "sans-serif",
|
|
4822
4821
|
"font-size": "10",
|
|
4823
4822
|
"aria-hidden": "true"
|
|
4824
|
-
}, [a("text",
|
|
4823
|
+
}, [a("text", No, T(t.track.endpointLabels.start), 1), a("text", {
|
|
4825
4824
|
class: "waveform-track__axis-endpoint waveform-track__axis-endpoint--end waveform-chart__axis-endpoint waveform-chart__axis-endpoint--end",
|
|
4826
4825
|
x: t.track.width ?? t.innerWidth,
|
|
4827
4826
|
y: "7",
|
|
4828
4827
|
dy: "0.71em",
|
|
4829
4828
|
"text-anchor": "end"
|
|
4830
|
-
},
|
|
4831
|
-
(
|
|
4829
|
+
}, T(t.track.endpointLabels.end), 9, Po)], 8, Mo)) : r("", !0),
|
|
4830
|
+
(y(!0), i(e, null, S(t.track.isEmpty ? [] : t.track.yAxes, (e) => (y(), i("g", {
|
|
4832
4831
|
key: `y-axis-${t.track.index}-${e.index}`,
|
|
4833
4832
|
ref_for: !0,
|
|
4834
4833
|
ref: (t) => u(t, e.index),
|
|
@@ -4836,66 +4835,66 @@ var To = ["clip-path"], Eo = ["data-series-id", "data-series-name"], Do = [
|
|
|
4836
4835
|
"data-y-axis-index": e.index,
|
|
4837
4836
|
"data-y-axis-side": e.side,
|
|
4838
4837
|
transform: `translate(${e.x}, 0)`
|
|
4839
|
-
}, null, 10,
|
|
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) ? (
|
|
4838
|
+
}, null, 10, Fo))), 128)),
|
|
4839
|
+
!t.cleanView && !t.track.isEmpty && t.track.hasVisibleSeries && t.track.seriesList.length === 1 && t.track.showYAxisLabel && t.track.series && c(t.track.series) && d(t.track.height, t.track.index) ? (y(), i("g", Io, [a("rect", {
|
|
4841
4840
|
class: "waveform-track__y-axis-label-bg waveform-chart__y-axis-label-bg",
|
|
4842
|
-
x: t.track.yAxisLabelX -
|
|
4841
|
+
x: t.track.yAxisLabelX - D(12) / 2,
|
|
4843
4842
|
y: t.track.height / 2 - 40,
|
|
4844
|
-
width:
|
|
4843
|
+
width: D(12),
|
|
4845
4844
|
height: "80",
|
|
4846
4845
|
rx: "2"
|
|
4847
|
-
}, null, 8,
|
|
4846
|
+
}, null, 8, Lo), a("text", {
|
|
4848
4847
|
class: "waveform-track__y-axis-label waveform-chart__y-axis-label",
|
|
4849
4848
|
fill: t.track.series?.color,
|
|
4850
4849
|
transform: `translate(${t.track.yAxisLabelX}, ${t.track.height / 2}) rotate(-90)`,
|
|
4851
4850
|
"text-anchor": "middle",
|
|
4852
4851
|
"dominant-baseline": "central"
|
|
4853
|
-
},
|
|
4854
|
-
(
|
|
4852
|
+
}, T(t.track.series ? c(t.track.series) : ""), 9, Ro)])) : r("", !0),
|
|
4853
|
+
(y(!0), i(e, null, S(!t.cleanView && t.track.yAxes.length > 1 ? t.track.yAxes.filter(l) : [], (e) => (y(), i("g", {
|
|
4855
4854
|
key: `y-axis-title-${t.track.index}-${e.index}`,
|
|
4856
4855
|
class: "waveform-track__multi-axis-title",
|
|
4857
4856
|
"data-y-axis-title-index": e.index
|
|
4858
4857
|
}, [a("rect", {
|
|
4859
4858
|
class: "waveform-track__y-axis-label-bg waveform-chart__y-axis-label-bg",
|
|
4860
|
-
x: e.labelX -
|
|
4859
|
+
x: e.labelX - D(12) / 2,
|
|
4861
4860
|
y: t.track.height / 2 - 40,
|
|
4862
|
-
width:
|
|
4861
|
+
width: D(12),
|
|
4863
4862
|
height: "80",
|
|
4864
4863
|
rx: "2"
|
|
4865
|
-
}, null, 8,
|
|
4864
|
+
}, null, 8, Bo), a("text", {
|
|
4866
4865
|
class: "waveform-track__y-axis-label waveform-chart__y-axis-label",
|
|
4867
4866
|
fill: e.seriesList[0].color,
|
|
4868
4867
|
transform: `translate(${e.labelX}, ${t.track.height / 2}) rotate(-90)`,
|
|
4869
4868
|
"text-anchor": "middle",
|
|
4870
4869
|
"dominant-baseline": "central"
|
|
4871
|
-
},
|
|
4870
|
+
}, T(c(e.seriesList[0])), 9, Vo)], 8, zo))), 128))
|
|
4872
4871
|
], 64));
|
|
4873
4872
|
}
|
|
4874
|
-
}),
|
|
4873
|
+
}), Uo = [
|
|
4875
4874
|
"width",
|
|
4876
4875
|
"height",
|
|
4877
4876
|
"fill"
|
|
4878
|
-
],
|
|
4877
|
+
], Wo = ["clip-path"], Go = { class: "waveform-track__grid waveform-track__grid--minor waveform-chart__grid waveform-chart__grid--minor" }, Ko = [
|
|
4879
4878
|
"stroke",
|
|
4880
4879
|
"x1",
|
|
4881
4880
|
"x2",
|
|
4882
4881
|
"y2"
|
|
4883
|
-
],
|
|
4882
|
+
], qo = [
|
|
4884
4883
|
"stroke",
|
|
4885
4884
|
"x2",
|
|
4886
4885
|
"y1",
|
|
4887
4886
|
"y2"
|
|
4888
|
-
],
|
|
4887
|
+
], Jo = { class: "waveform-track__grid waveform-track__grid--major waveform-chart__grid waveform-chart__grid--major" }, Yo = [
|
|
4889
4888
|
"stroke",
|
|
4890
4889
|
"x1",
|
|
4891
4890
|
"x2",
|
|
4892
4891
|
"y2"
|
|
4893
|
-
],
|
|
4892
|
+
], Xo = [
|
|
4894
4893
|
"stroke",
|
|
4895
4894
|
"x2",
|
|
4896
4895
|
"y1",
|
|
4897
4896
|
"y2"
|
|
4898
|
-
],
|
|
4897
|
+
], Zo = ["clip-path"], Qo = [
|
|
4899
4898
|
"data-y-axis-index",
|
|
4900
4899
|
"x2",
|
|
4901
4900
|
"y1",
|
|
@@ -4903,7 +4902,7 @@ var To = ["clip-path"], Eo = ["data-series-id", "data-series-name"], Do = [
|
|
|
4903
4902
|
"stroke",
|
|
4904
4903
|
"stroke-width",
|
|
4905
4904
|
"stroke-dasharray"
|
|
4906
|
-
],
|
|
4905
|
+
], $o = ["x", "y"], es = /* @__PURE__ */ l({
|
|
4907
4906
|
__name: "WaveformTrackBackdrop",
|
|
4908
4907
|
props: {
|
|
4909
4908
|
track: {},
|
|
@@ -4920,20 +4919,20 @@ var To = ["clip-path"], Eo = ["data-series-id", "data-series-name"], Do = [
|
|
|
4920
4919
|
let [t, r] = e.scale.domain();
|
|
4921
4920
|
return !n.zeroLine.visible || t > 0 || r < 0 ? null : e.scale(0);
|
|
4922
4921
|
}
|
|
4923
|
-
return (n, s) => (
|
|
4924
|
-
!t.track.isEmpty && !t.cleanView ? (
|
|
4922
|
+
return (n, s) => (y(), i(e, null, [
|
|
4923
|
+
!t.track.isEmpty && !t.cleanView ? (y(), i("rect", {
|
|
4925
4924
|
key: 0,
|
|
4926
4925
|
class: "waveform-track__plot-background waveform-chart__plot-background",
|
|
4927
4926
|
width: t.track.width ?? t.innerWidth,
|
|
4928
4927
|
height: t.track.height,
|
|
4929
4928
|
fill: t.frameStyle.backgroundColor,
|
|
4930
4929
|
"aria-hidden": "true"
|
|
4931
|
-
}, null, 8,
|
|
4932
|
-
!t.track.isEmpty && t.track.hasVisibleSeries && !t.cleanView ? (
|
|
4930
|
+
}, null, 8, Uo)) : r("", !0),
|
|
4931
|
+
!t.track.isEmpty && t.track.hasVisibleSeries && !t.cleanView ? (y(), i("g", {
|
|
4933
4932
|
key: 1,
|
|
4934
4933
|
"clip-path": `url(#${t.clipPathId}-${t.track.index})`,
|
|
4935
4934
|
"aria-hidden": "true"
|
|
4936
|
-
}, [a("g",
|
|
4935
|
+
}, [a("g", Go, [t.track.gridLines.vertical ? (y(!0), i(e, { key: 0 }, S(t.track.xMinorTicks, (e) => (y(), i("line", {
|
|
4937
4936
|
key: `x-minor-${t.track.index}-${e}`,
|
|
4938
4937
|
"data-grid-direction": "vertical",
|
|
4939
4938
|
stroke: t.track.gridLines.verticalColor,
|
|
@@ -4941,7 +4940,7 @@ var To = ["clip-path"], Eo = ["data-series-id", "data-series-name"], Do = [
|
|
|
4941
4940
|
x2: t.track.xScale(e),
|
|
4942
4941
|
y1: "0",
|
|
4943
4942
|
y2: t.track.height
|
|
4944
|
-
}, null, 8,
|
|
4943
|
+
}, null, 8, Ko))), 128)) : r("", !0), t.track.gridLines.horizontal ? (y(!0), i(e, { key: 1 }, S(t.track.yMinorTicks, (e) => (y(), i("line", {
|
|
4945
4944
|
key: `y-minor-${t.track.index}-${e}`,
|
|
4946
4945
|
"data-grid-direction": "horizontal",
|
|
4947
4946
|
stroke: t.track.gridLines.horizontalColor,
|
|
@@ -4949,7 +4948,7 @@ var To = ["clip-path"], Eo = ["data-series-id", "data-series-name"], Do = [
|
|
|
4949
4948
|
x2: t.track.width ?? t.innerWidth,
|
|
4950
4949
|
y1: t.track.yScale(e),
|
|
4951
4950
|
y2: t.track.yScale(e)
|
|
4952
|
-
}, null, 8,
|
|
4951
|
+
}, null, 8, qo))), 128)) : r("", !0)]), a("g", Jo, [t.track.gridLines.vertical ? (y(!0), i(e, { key: 0 }, S(t.track.xMajorTicks, (e) => (y(), i("line", {
|
|
4953
4952
|
key: `x-major-${t.track.index}-${e}`,
|
|
4954
4953
|
"data-grid-direction": "vertical",
|
|
4955
4954
|
stroke: t.track.gridLines.verticalColor,
|
|
@@ -4957,7 +4956,7 @@ var To = ["clip-path"], Eo = ["data-series-id", "data-series-name"], Do = [
|
|
|
4957
4956
|
x2: t.track.xScale(e),
|
|
4958
4957
|
y1: "0",
|
|
4959
4958
|
y2: t.track.height
|
|
4960
|
-
}, null, 8,
|
|
4959
|
+
}, null, 8, Yo))), 128)) : r("", !0), t.track.gridLines.horizontal ? (y(!0), i(e, { key: 1 }, S(t.track.yMajorTicks, (e) => (y(), i("line", {
|
|
4961
4960
|
key: `y-major-${t.track.index}-${e}`,
|
|
4962
4961
|
"data-grid-direction": "horizontal",
|
|
4963
4962
|
stroke: t.track.gridLines.horizontalColor,
|
|
@@ -4965,13 +4964,13 @@ var To = ["clip-path"], Eo = ["data-series-id", "data-series-name"], Do = [
|
|
|
4965
4964
|
x2: t.track.width ?? t.innerWidth,
|
|
4966
4965
|
y1: t.track.yScale(e),
|
|
4967
4966
|
y2: t.track.yScale(e)
|
|
4968
|
-
}, null, 8,
|
|
4969
|
-
!t.track.isEmpty && t.track.hasVisibleSeries && t.zeroLine.visible && !t.cleanView ? (
|
|
4967
|
+
}, null, 8, Xo))), 128)) : r("", !0)])], 8, Wo)) : r("", !0),
|
|
4968
|
+
!t.track.isEmpty && t.track.hasVisibleSeries && t.zeroLine.visible && !t.cleanView ? (y(), i("g", {
|
|
4970
4969
|
key: 2,
|
|
4971
4970
|
class: "waveform-track__zero-lines waveform-chart__zero-lines",
|
|
4972
4971
|
"clip-path": `url(#${t.clipPathId}-${t.track.index})`,
|
|
4973
4972
|
"aria-hidden": "true"
|
|
4974
|
-
}, [(
|
|
4973
|
+
}, [(y(!0), i(e, null, S(t.track.yAxes, (n) => (y(), i(e, { key: `zero-line-${t.track.index}-${n.index}` }, [o(n) === null ? r("", !0) : (y(), i("line", {
|
|
4975
4974
|
key: 0,
|
|
4976
4975
|
class: "waveform-track__zero-line waveform-chart__zero-line",
|
|
4977
4976
|
"data-y-axis-index": n.index,
|
|
@@ -4982,8 +4981,8 @@ var To = ["clip-path"], Eo = ["data-series-id", "data-series-name"], Do = [
|
|
|
4982
4981
|
stroke: t.zeroLine.color,
|
|
4983
4982
|
"stroke-width": t.zeroLine.width,
|
|
4984
4983
|
"stroke-dasharray": t.zeroLine.dash || void 0
|
|
4985
|
-
}, null, 8,
|
|
4986
|
-
!t.track.isEmpty && t.track.hasVisibleSeries && t.frameNumber !== void 0 && !t.cleanView ? (
|
|
4984
|
+
}, null, 8, Qo))], 64))), 128))], 8, Zo)) : r("", !0),
|
|
4985
|
+
!t.track.isEmpty && t.track.hasVisibleSeries && t.frameNumber !== void 0 && !t.cleanView ? (y(), i("text", {
|
|
4987
4986
|
key: 3,
|
|
4988
4987
|
class: "waveform-track__watermark waveform-chart__watermark",
|
|
4989
4988
|
x: (t.track.width ?? t.innerWidth) / 2,
|
|
@@ -4992,10 +4991,10 @@ var To = ["clip-path"], Eo = ["data-series-id", "data-series-name"], Do = [
|
|
|
4992
4991
|
"text-anchor": "middle",
|
|
4993
4992
|
"dominant-baseline": "central",
|
|
4994
4993
|
"aria-hidden": "true"
|
|
4995
|
-
},
|
|
4994
|
+
}, T(t.frameNumber), 13, $o)) : r("", !0)
|
|
4996
4995
|
], 64));
|
|
4997
4996
|
}
|
|
4998
|
-
}),
|
|
4997
|
+
}), ts = [
|
|
4999
4998
|
"data-track-index",
|
|
5000
4999
|
"data-track-id",
|
|
5001
5000
|
"data-track-empty",
|
|
@@ -5005,19 +5004,19 @@ var To = ["clip-path"], Eo = ["data-series-id", "data-series-name"], Do = [
|
|
|
5005
5004
|
"data-track-top",
|
|
5006
5005
|
"data-track-height",
|
|
5007
5006
|
"transform"
|
|
5008
|
-
],
|
|
5007
|
+
], ns = [
|
|
5009
5008
|
"width",
|
|
5010
5009
|
"height",
|
|
5011
5010
|
"stroke",
|
|
5012
5011
|
"stroke-width",
|
|
5013
5012
|
"stroke-dasharray",
|
|
5014
5013
|
"stroke-linecap"
|
|
5015
|
-
],
|
|
5014
|
+
], rs = [
|
|
5016
5015
|
"data-interactive",
|
|
5017
5016
|
"data-independent-overlay-index",
|
|
5018
5017
|
"width",
|
|
5019
5018
|
"height"
|
|
5020
|
-
],
|
|
5019
|
+
], is = ["x", "y"], as = /* @__PURE__ */ l({
|
|
5021
5020
|
__name: "WaveformTrack",
|
|
5022
5021
|
props: {
|
|
5023
5022
|
track: {},
|
|
@@ -5065,7 +5064,7 @@ var To = ["clip-path"], Eo = ["data-series-id", "data-series-name"], Do = [
|
|
|
5065
5064
|
backgroundColor: a.frameStyle?.backgroundColor || "transparent"
|
|
5066
5065
|
};
|
|
5067
5066
|
});
|
|
5068
|
-
return (t, n) => (
|
|
5067
|
+
return (t, n) => (y(), i("g", {
|
|
5069
5068
|
class: p(["waveform-track waveform-chart__track", { "waveform-track--empty waveform-chart__track--empty": e.track.isEmpty }]),
|
|
5070
5069
|
"data-track-index": e.track.index,
|
|
5071
5070
|
"data-track-id": e.track.id,
|
|
@@ -5077,7 +5076,7 @@ var To = ["clip-path"], Eo = ["data-series-id", "data-series-name"], Do = [
|
|
|
5077
5076
|
"data-track-height": e.track.height,
|
|
5078
5077
|
transform: `translate(${e.track.left ?? 0}, ${e.track.top})`
|
|
5079
5078
|
}, [
|
|
5080
|
-
s(
|
|
5079
|
+
s(es, {
|
|
5081
5080
|
track: e.track,
|
|
5082
5081
|
"clip-path-id": e.clipPathId,
|
|
5083
5082
|
"inner-width": e.innerWidth,
|
|
@@ -5094,7 +5093,7 @@ var To = ["clip-path"], Eo = ["data-series-id", "data-series-name"], Do = [
|
|
|
5094
5093
|
"frame-style",
|
|
5095
5094
|
"zero-line"
|
|
5096
5095
|
]),
|
|
5097
|
-
s(
|
|
5096
|
+
s(Ho, {
|
|
5098
5097
|
track: e.track,
|
|
5099
5098
|
"inner-width": e.innerWidth,
|
|
5100
5099
|
"clean-view": e.cleanView,
|
|
@@ -5109,7 +5108,7 @@ var To = ["clip-path"], Eo = ["data-series-id", "data-series-name"], Do = [
|
|
|
5109
5108
|
"time-unit",
|
|
5110
5109
|
"y-label"
|
|
5111
5110
|
]),
|
|
5112
|
-
e.track.isEmpty ? r("", !0) : (
|
|
5111
|
+
e.track.isEmpty ? r("", !0) : (y(), i("rect", {
|
|
5113
5112
|
key: 0,
|
|
5114
5113
|
class: "waveform-track__plot-frame waveform-chart__plot-frame",
|
|
5115
5114
|
width: e.track.width ?? e.innerWidth,
|
|
@@ -5120,12 +5119,12 @@ var To = ["clip-path"], Eo = ["data-series-id", "data-series-name"], Do = [
|
|
|
5120
5119
|
"stroke-dasharray": c.value.borderStyle === "dashed" ? "6 4" : c.value.borderStyle === "dotted" ? "1 3" : void 0,
|
|
5121
5120
|
"stroke-linecap": c.value.borderStyle === "dotted" ? "round" : void 0,
|
|
5122
5121
|
"aria-hidden": "true"
|
|
5123
|
-
}, null, 8,
|
|
5124
|
-
s(
|
|
5122
|
+
}, null, 8, ns)),
|
|
5123
|
+
s(Ao, {
|
|
5125
5124
|
track: e.track,
|
|
5126
5125
|
"clip-path-id": e.clipPathId
|
|
5127
5126
|
}, null, 8, ["track", "clip-path-id"]),
|
|
5128
|
-
!e.track.isEmpty && e.track.hasVisibleSeries && e.displayMode === "independent" ? (
|
|
5127
|
+
!e.track.isEmpty && e.track.hasVisibleSeries && e.displayMode === "independent" ? (y(), i("rect", {
|
|
5129
5128
|
key: 1,
|
|
5130
5129
|
class: p(["waveform-track__overlay waveform-track__overlay--independent waveform-chart__overlay waveform-chart__overlay--independent", {
|
|
5131
5130
|
"is-zoomable": e.interactive && e.zoomable && e.interactionMode === "zoom",
|
|
@@ -5143,41 +5142,41 @@ var To = ["clip-path"], Eo = ["data-series-id", "data-series-name"], Do = [
|
|
|
5143
5142
|
onPointerleave: n[4] ||= (e) => o("pointer-leave"),
|
|
5144
5143
|
onClick: n[5] ||= (e) => o("click", e),
|
|
5145
5144
|
onContextmenu: n[6] ||= (e) => o("contextmenu", e)
|
|
5146
|
-
}, null, 42,
|
|
5147
|
-
!e.track.isEmpty && !e.track.hasVisibleSeries && !e.cleanView ? (
|
|
5145
|
+
}, null, 42, rs)) : r("", !0),
|
|
5146
|
+
!e.track.isEmpty && !e.track.hasVisibleSeries && !e.cleanView ? (y(), i("text", {
|
|
5148
5147
|
key: 2,
|
|
5149
5148
|
class: "waveform-track__no-visible-series",
|
|
5150
5149
|
x: (e.track.width ?? e.innerWidth) / 2,
|
|
5151
5150
|
y: e.track.height / 2,
|
|
5152
5151
|
"text-anchor": "middle",
|
|
5153
5152
|
"dominant-baseline": "central"
|
|
5154
|
-
}, " 暂无可见曲线 ", 8,
|
|
5155
|
-
], 10,
|
|
5153
|
+
}, " 暂无可见曲线 ", 8, is)) : r("", !0)
|
|
5154
|
+
], 10, ts));
|
|
5156
5155
|
}
|
|
5157
|
-
}),
|
|
5156
|
+
}), os = [
|
|
5158
5157
|
"width",
|
|
5159
5158
|
"height",
|
|
5160
5159
|
"data-position",
|
|
5161
5160
|
"data-orientation"
|
|
5162
|
-
],
|
|
5161
|
+
], ss = [
|
|
5163
5162
|
"disabled",
|
|
5164
5163
|
"aria-pressed",
|
|
5165
5164
|
"aria-label",
|
|
5166
5165
|
"onClick"
|
|
5167
|
-
],
|
|
5166
|
+
], cs = [
|
|
5168
5167
|
"data-line-type",
|
|
5169
5168
|
"data-line-style",
|
|
5170
5169
|
"data-point-type",
|
|
5171
5170
|
"data-error-bar-visible"
|
|
5172
|
-
],
|
|
5171
|
+
], ls = [
|
|
5173
5172
|
"d",
|
|
5174
5173
|
"stroke",
|
|
5175
5174
|
"stroke-dasharray"
|
|
5176
|
-
],
|
|
5175
|
+
], us = [
|
|
5177
5176
|
"d",
|
|
5178
5177
|
"stroke",
|
|
5179
5178
|
"stroke-width"
|
|
5180
|
-
],
|
|
5179
|
+
], ds = ["d", "fill"], fs = ["title"], ps = /*#__PURE__*/ et(/* @__PURE__ */ l({
|
|
5181
5180
|
__name: "WaveformLegend",
|
|
5182
5181
|
props: {
|
|
5183
5182
|
series: {},
|
|
@@ -5201,7 +5200,7 @@ var To = ["clip-path"], Eo = ["data-series-id", "data-series-name"], Do = [
|
|
|
5201
5200
|
function d(e) {
|
|
5202
5201
|
s.interactive && c("toggle", e);
|
|
5203
5202
|
}
|
|
5204
|
-
return (t, o) => (
|
|
5203
|
+
return (t, o) => (y(), i("foreignObject", {
|
|
5205
5204
|
class: "waveform-legend waveform-chart__legend",
|
|
5206
5205
|
x: "0",
|
|
5207
5206
|
y: "0",
|
|
@@ -5217,7 +5216,7 @@ var To = ["clip-path"], Eo = ["data-series-id", "data-series-name"], Do = [
|
|
|
5217
5216
|
class: p(["waveform-legend__panel", [`waveform-legend__panel--${n.orientation}`, { "waveform-legend__panel--interactive": n.interactive }]]),
|
|
5218
5217
|
style: m({ backgroundColor: n.backgroundColor }),
|
|
5219
5218
|
role: "list"
|
|
5220
|
-
}, [(
|
|
5219
|
+
}, [(y(!0), i(e, null, S(n.series, (e) => (y(), i("button", {
|
|
5221
5220
|
key: e.id,
|
|
5222
5221
|
class: p(["waveform-legend__item waveform-chart__legend-item", { "is-hidden": u(e.id) }]),
|
|
5223
5222
|
type: "button",
|
|
@@ -5225,8 +5224,8 @@ var To = ["clip-path"], Eo = ["data-series-id", "data-series-name"], Do = [
|
|
|
5225
5224
|
disabled: !n.interactive,
|
|
5226
5225
|
"aria-pressed": n.interactive ? !u(e.id) : void 0,
|
|
5227
5226
|
"aria-label": n.interactive ? `${u(e.id) ? "显示" : "隐藏"}曲线 ${e.name}` : void 0,
|
|
5228
|
-
onClick:
|
|
5229
|
-
}, [(
|
|
5227
|
+
onClick: N((t) => d(e.id), ["stop"])
|
|
5228
|
+
}, [(y(), i("svg", {
|
|
5230
5229
|
class: "waveform-legend__swatch",
|
|
5231
5230
|
viewBox: "0 0 26 16",
|
|
5232
5231
|
"aria-hidden": "true",
|
|
@@ -5235,45 +5234,45 @@ var To = ["clip-path"], Eo = ["data-series-id", "data-series-name"], Do = [
|
|
|
5235
5234
|
"data-point-type": e.pointType,
|
|
5236
5235
|
"data-error-bar-visible": e.errorBar.visible || void 0
|
|
5237
5236
|
}, [
|
|
5238
|
-
|
|
5237
|
+
D(bo)(e.lineType) ? (y(), i("path", {
|
|
5239
5238
|
key: 0,
|
|
5240
5239
|
class: "waveform-legend__line",
|
|
5241
|
-
d:
|
|
5240
|
+
d: D(bo)(e.lineType) ?? void 0,
|
|
5242
5241
|
stroke: e.color,
|
|
5243
|
-
"stroke-dasharray":
|
|
5242
|
+
"stroke-dasharray": D(xo)(e.lineStyle),
|
|
5244
5243
|
"stroke-width": "1.5",
|
|
5245
5244
|
fill: "none"
|
|
5246
|
-
}, null, 8,
|
|
5247
|
-
e.errorBar.visible ? (
|
|
5245
|
+
}, null, 8, ls)) : r("", !0),
|
|
5246
|
+
e.errorBar.visible ? (y(), i("path", {
|
|
5248
5247
|
key: 1,
|
|
5249
5248
|
class: "waveform-legend__error-bar",
|
|
5250
|
-
d:
|
|
5249
|
+
d: D(So)(e.errorBar.capWidth),
|
|
5251
5250
|
stroke: e.errorBar.color || e.color,
|
|
5252
5251
|
"stroke-width": e.errorBar.width,
|
|
5253
5252
|
"stroke-linecap": "butt",
|
|
5254
5253
|
fill: "none"
|
|
5255
|
-
}, null, 8,
|
|
5256
|
-
e.pointType === "none" ? r("", !0) : (
|
|
5254
|
+
}, null, 8, us)) : r("", !0),
|
|
5255
|
+
e.pointType === "none" ? r("", !0) : (y(), i("path", {
|
|
5257
5256
|
key: 2,
|
|
5258
5257
|
class: "waveform-legend__point",
|
|
5259
|
-
d:
|
|
5258
|
+
d: D(vo)(e.pointType, 30) ?? void 0,
|
|
5260
5259
|
fill: e.color,
|
|
5261
5260
|
transform: "translate(13 8)"
|
|
5262
|
-
}, null, 8,
|
|
5263
|
-
], 8,
|
|
5261
|
+
}, null, 8, ds))
|
|
5262
|
+
], 8, cs)), a("span", {
|
|
5264
5263
|
class: "waveform-legend__label",
|
|
5265
5264
|
title: e.name
|
|
5266
|
-
},
|
|
5265
|
+
}, T(e.name), 9, fs)], 10, ss))), 128))], 6)], 2)], 8, os));
|
|
5267
5266
|
}
|
|
5268
|
-
}), [["__scopeId", "data-v-2ae12e71"]]),
|
|
5267
|
+
}), [["__scopeId", "data-v-2ae12e71"]]), ms = {
|
|
5269
5268
|
class: "waveform-chart__hover-layer",
|
|
5270
5269
|
"pointer-events": "none",
|
|
5271
5270
|
"aria-hidden": "true"
|
|
5272
|
-
},
|
|
5271
|
+
}, hs = ["clip-path", "transform"], gs = [
|
|
5273
5272
|
"x1",
|
|
5274
5273
|
"x2",
|
|
5275
5274
|
"y2"
|
|
5276
|
-
],
|
|
5275
|
+
], _s = /*#__PURE__*/ et(/* @__PURE__ */ l({
|
|
5277
5276
|
__name: "WaveformHoverLayer",
|
|
5278
5277
|
props: {
|
|
5279
5278
|
state: {},
|
|
@@ -5289,7 +5288,7 @@ var To = ["clip-path"], Eo = ["data-series-id", "data-series-name"], Do = [
|
|
|
5289
5288
|
x: e.xScale(n)
|
|
5290
5289
|
}] : [];
|
|
5291
5290
|
}));
|
|
5292
|
-
return (t, r) => (
|
|
5291
|
+
return (t, r) => (y(), i("g", ms, [(y(!0), i(e, null, S(o.value, (e) => (y(), i("g", {
|
|
5293
5292
|
key: e.track.index,
|
|
5294
5293
|
class: "waveform-track__crosshair waveform-chart__crosshair",
|
|
5295
5294
|
"clip-path": `url(#${n.clipPathId}-${e.track.index})`,
|
|
@@ -5299,9 +5298,9 @@ var To = ["clip-path"], Eo = ["data-series-id", "data-series-name"], Do = [
|
|
|
5299
5298
|
x2: e.x,
|
|
5300
5299
|
y1: "0",
|
|
5301
5300
|
y2: e.track.height
|
|
5302
|
-
}, null, 8,
|
|
5301
|
+
}, null, 8, gs)], 8, hs))), 128))]));
|
|
5303
5302
|
}
|
|
5304
|
-
}), [["__scopeId", "data-v-54a5a37d"]]),
|
|
5303
|
+
}), [["__scopeId", "data-v-54a5a37d"]]), vs = [
|
|
5305
5304
|
"data-display-mode",
|
|
5306
5305
|
"data-interaction-mode",
|
|
5307
5306
|
"data-presentation-mode",
|
|
@@ -5310,151 +5309,151 @@ var To = ["clip-path"], Eo = ["data-series-id", "data-series-name"], Do = [
|
|
|
5310
5309
|
"data-plot-margin-top",
|
|
5311
5310
|
"data-plot-margin-bottom",
|
|
5312
5311
|
"data-title-area-height"
|
|
5313
|
-
],
|
|
5312
|
+
], ys = [
|
|
5314
5313
|
"role",
|
|
5315
5314
|
"aria-level",
|
|
5316
5315
|
"aria-hidden"
|
|
5317
|
-
],
|
|
5316
|
+
], bs = ["data-title-scale", "data-title-wrapped"], xs = [
|
|
5318
5317
|
"width",
|
|
5319
5318
|
"height",
|
|
5320
5319
|
"aria-label"
|
|
5321
|
-
],
|
|
5320
|
+
], Ss = ["id"], Cs = ["width", "height"], ws = ["transform"], Ts = {
|
|
5322
5321
|
key: 0,
|
|
5323
5322
|
class: "waveform-chart__grid-slots",
|
|
5324
5323
|
"aria-hidden": "true"
|
|
5325
|
-
},
|
|
5324
|
+
}, Es = ["transform"], Ds = ["width", "height"], Os = ["width", "height"], ks = [
|
|
5326
5325
|
"x",
|
|
5327
5326
|
"y",
|
|
5328
5327
|
"width",
|
|
5329
5328
|
"height"
|
|
5330
|
-
],
|
|
5329
|
+
], As = {
|
|
5331
5330
|
key: 4,
|
|
5332
5331
|
class: "waveform-chart__legend-layer"
|
|
5333
|
-
},
|
|
5332
|
+
}, js = [
|
|
5334
5333
|
"data-legend-track-index",
|
|
5335
5334
|
"data-legend-track-id",
|
|
5336
5335
|
"transform"
|
|
5337
|
-
],
|
|
5336
|
+
], Ms = ["x", "y"], Ns = ["x", "y"], Ps = /* @__PURE__ */ l({
|
|
5338
5337
|
__name: "WaveformChartView",
|
|
5339
5338
|
props: { controller: {} },
|
|
5340
5339
|
setup(t) {
|
|
5341
|
-
let { displayMode: o, activeInteractionMode: c, isCleanView: l, isPresentationMode: u, selection: d, containerStyle: f, overlayMode: h, resolvedChartLeftMargin: g, titleAreaHeight: _, resolvedPlotMargin:
|
|
5342
|
-
function
|
|
5340
|
+
let { displayMode: o, activeInteractionMode: c, isCleanView: l, isPresentationMode: u, selection: d, containerStyle: f, overlayMode: h, resolvedChartLeftMargin: g, titleAreaHeight: _, resolvedPlotMargin: v, pointerInsideChart: b, handleNativeContextMenu: x, titleAreaReserved: C, titleAreaStyle: w, 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: oe, axes: ce, resolvedZeroLine: le, timeUnit: ue, yLabel: de, handleIndependentPointerMove: Y, beginViewportDrag: fe, hoverState: X, showTooltip: pe, selectionBox: me, renderedAnnotations: he, annotationsVisible: ge, handleExistingAnnotationContextMenu: _e, beginAnnotationDrag: ve, handleAnnotationMove: ye, endAnnotationDrag: be, resolveLegendPosition: xe, resolveLegendOrientation: Z, legendBackgroundColor: Se, legendInteractive: Ce, resolvedHiddenSeriesIds: we, toggleSeriesVisibility: Te, resolvedXLabel: Ee, xAxisTitleY: De, hasChartArea: Oe, gridOptions: ke, pageCount: Ae, currentPage: je, getPageSize: Me, pageableTracks: Ne, goToPage: Pe, annotationInteraction: Fe, editorDraft: Ie, contextMenu: Le, editorSeries: Re, editorSeriesOptions: ze, timeError: Be, confirmAnnotation: Ve, cancelAnnotation: He, changeDraftSeries: Ue, changeDraftTime: We, editContextAnnotation: Ge, deleteContextAnnotation: Ke, chartHeight: qe, setContainer: Je, setSvgElement: Ye, setTitleMeasureElement: Xe, setSharedOverlayElement: Ze } = E(t.controller);
|
|
5341
|
+
function Qe() {
|
|
5343
5342
|
b.value = !1, q.value();
|
|
5344
5343
|
}
|
|
5345
|
-
return (t,
|
|
5346
|
-
ref:
|
|
5344
|
+
return (t, E) => (y(), i("div", {
|
|
5345
|
+
ref: D(Je),
|
|
5347
5346
|
class: p(["waveform-chart", [
|
|
5348
|
-
`waveform-chart--${
|
|
5349
|
-
`waveform-chart--interaction-${
|
|
5347
|
+
`waveform-chart--${D(o)}`,
|
|
5348
|
+
`waveform-chart--interaction-${D(c)}`,
|
|
5350
5349
|
{
|
|
5351
|
-
"waveform-chart--clean":
|
|
5352
|
-
"waveform-chart--presentation":
|
|
5353
|
-
"waveform-chart--panning":
|
|
5350
|
+
"waveform-chart--clean": D(l),
|
|
5351
|
+
"waveform-chart--presentation": D(u),
|
|
5352
|
+
"waveform-chart--panning": D(d)?.kind === "pan"
|
|
5354
5353
|
}
|
|
5355
5354
|
]]),
|
|
5356
|
-
style: m(
|
|
5357
|
-
"data-display-mode":
|
|
5358
|
-
"data-interaction-mode":
|
|
5359
|
-
"data-presentation-mode":
|
|
5360
|
-
"data-overlay-mode":
|
|
5361
|
-
"data-chart-left-margin":
|
|
5362
|
-
"data-plot-margin-top":
|
|
5363
|
-
"data-plot-margin-bottom":
|
|
5364
|
-
"data-title-area-height":
|
|
5365
|
-
onPointerenter:
|
|
5366
|
-
onPointerleave:
|
|
5367
|
-
onContextmenuCapture:
|
|
5355
|
+
style: m(D(f)),
|
|
5356
|
+
"data-display-mode": D(o),
|
|
5357
|
+
"data-interaction-mode": D(c),
|
|
5358
|
+
"data-presentation-mode": D(u),
|
|
5359
|
+
"data-overlay-mode": D(h),
|
|
5360
|
+
"data-chart-left-margin": D(g),
|
|
5361
|
+
"data-plot-margin-top": D(v).top,
|
|
5362
|
+
"data-plot-margin-bottom": D(v).bottom,
|
|
5363
|
+
"data-title-area-height": D(_),
|
|
5364
|
+
onPointerenter: E[8] ||= (e) => b.value = !0,
|
|
5365
|
+
onPointerleave: Qe,
|
|
5366
|
+
onContextmenuCapture: E[9] ||= (...e) => D(x) && D(x)(...e)
|
|
5368
5367
|
}, [
|
|
5369
|
-
|
|
5368
|
+
D(C) ? (y(), i("div", {
|
|
5370
5369
|
key: 0,
|
|
5371
5370
|
class: "waveform-chart__title-area",
|
|
5372
|
-
style: m(
|
|
5373
|
-
role:
|
|
5374
|
-
"aria-level":
|
|
5375
|
-
"aria-hidden":
|
|
5371
|
+
style: m(D(w)),
|
|
5372
|
+
role: D(O) ? "heading" : void 0,
|
|
5373
|
+
"aria-level": D(O) ? 2 : void 0,
|
|
5374
|
+
"aria-hidden": D(l) || void 0
|
|
5376
5375
|
}, [a("span", {
|
|
5377
|
-
ref:
|
|
5376
|
+
ref: D(Xe),
|
|
5378
5377
|
class: "waveform-chart__title-measure",
|
|
5379
|
-
style: m(
|
|
5378
|
+
style: m(D(k)),
|
|
5380
5379
|
"aria-hidden": "true"
|
|
5381
|
-
},
|
|
5380
|
+
}, T(D(A)), 5), D(O) ? (y(), i("span", {
|
|
5382
5381
|
key: 0,
|
|
5383
5382
|
class: "waveform-chart__title-visual",
|
|
5384
|
-
style: m(
|
|
5383
|
+
style: m(D(j))
|
|
5385
5384
|
}, [a("span", {
|
|
5386
5385
|
class: "waveform-chart__title-text",
|
|
5387
|
-
style: m(
|
|
5388
|
-
"data-title-scale":
|
|
5389
|
-
"data-title-wrapped":
|
|
5390
|
-
},
|
|
5391
|
-
(
|
|
5392
|
-
ref:
|
|
5386
|
+
style: m(D(M)),
|
|
5387
|
+
"data-title-scale": D(N).scale,
|
|
5388
|
+
"data-title-wrapped": D(N).wrapped || void 0
|
|
5389
|
+
}, T(D(A)), 13, bs)], 4)) : r("", !0)], 12, ys)) : r("", !0),
|
|
5390
|
+
(y(), i("svg", {
|
|
5391
|
+
ref: D(Ye),
|
|
5393
5392
|
class: "waveform-chart__svg",
|
|
5394
|
-
width:
|
|
5395
|
-
height:
|
|
5393
|
+
width: D(P),
|
|
5394
|
+
height: D(F),
|
|
5396
5395
|
role: "img",
|
|
5397
|
-
"aria-label":
|
|
5398
|
-
onDblclick:
|
|
5396
|
+
"aria-label": D(I) ? "波形折线图" : "暂无波形数据",
|
|
5397
|
+
onDblclick: E[7] ||= (...e) => D(L) && D(L)(...e)
|
|
5399
5398
|
}, [
|
|
5400
|
-
a("defs", null, [(
|
|
5401
|
-
id: `${
|
|
5402
|
-
key: `${
|
|
5399
|
+
a("defs", null, [(y(!0), i(e, null, S(D(R), (e) => (y(), i("clipPath", {
|
|
5400
|
+
id: `${D(z)}-${e.index}`,
|
|
5401
|
+
key: `${D(z)}-${e.index}`,
|
|
5403
5402
|
clipPathUnits: "userSpaceOnUse"
|
|
5404
5403
|
}, [a("rect", {
|
|
5405
5404
|
width: e.width,
|
|
5406
5405
|
height: e.height
|
|
5407
|
-
}, null, 8,
|
|
5408
|
-
a("g", { transform: `translate(${
|
|
5409
|
-
|
|
5406
|
+
}, null, 8, Cs)], 8, Ss))), 128))]),
|
|
5407
|
+
a("g", { transform: `translate(${D(g)}, ${D(B)})` }, [
|
|
5408
|
+
D(o) !== "compact" && !D(l) ? (y(), i("g", Ts, [(y(!0), i(e, null, S(D(V), (e) => (y(), i("g", {
|
|
5410
5409
|
key: `grid-slot-${e.slotIndex}`,
|
|
5411
5410
|
transform: `translate(${e.left}, ${e.top})`
|
|
5412
|
-
}, [e.series ? r("", !0) : (
|
|
5411
|
+
}, [e.series ? r("", !0) : (y(), i("rect", {
|
|
5413
5412
|
key: 0,
|
|
5414
5413
|
class: "waveform-chart__grid-slot-placeholder",
|
|
5415
5414
|
width: e.width,
|
|
5416
5415
|
height: e.cellHeight
|
|
5417
|
-
}, null, 8,
|
|
5418
|
-
|
|
5416
|
+
}, null, 8, Ds))], 8, Es))), 128))])) : r("", !0),
|
|
5417
|
+
D(o) !== "independent" && D(R).length && D(H) ? (y(), i("rect", {
|
|
5419
5418
|
key: 1,
|
|
5420
|
-
ref:
|
|
5419
|
+
ref: D(Ze),
|
|
5421
5420
|
class: p(["waveform-chart__overlay waveform-chart__overlay--shared", {
|
|
5422
|
-
"is-zoomable": !
|
|
5423
|
-
"is-annotating": !
|
|
5421
|
+
"is-zoomable": !D(u) && D(U) && D(W),
|
|
5422
|
+
"is-annotating": !D(u) && D(c) === "annotation"
|
|
5424
5423
|
}]),
|
|
5425
|
-
width:
|
|
5426
|
-
height:
|
|
5427
|
-
onPointermove:
|
|
5428
|
-
onPointerdown:
|
|
5429
|
-
onPointerup:
|
|
5430
|
-
onPointercancel:
|
|
5431
|
-
onPointerleave:
|
|
5432
|
-
onClick:
|
|
5433
|
-
onContextmenu:
|
|
5434
|
-
}, null, 42,
|
|
5435
|
-
(
|
|
5424
|
+
width: D(G),
|
|
5425
|
+
height: D(ee),
|
|
5426
|
+
onPointermove: E[0] ||= (...e) => D(te) && D(te)(...e),
|
|
5427
|
+
onPointerdown: E[1] ||= (...e) => D(ne) && D(ne)(...e),
|
|
5428
|
+
onPointerup: E[2] ||= (...e) => D(re) && D(re)(...e),
|
|
5429
|
+
onPointercancel: E[3] ||= (...e) => D(K) && D(K)(...e),
|
|
5430
|
+
onPointerleave: E[4] ||= (...e) => D(q) && D(q)(...e),
|
|
5431
|
+
onClick: E[5] ||= (...e) => D(J) && D(J)(...e),
|
|
5432
|
+
onContextmenu: E[6] ||= (...e) => D(ie) && D(ie)(...e)
|
|
5433
|
+
}, null, 42, Os)) : r("", !0),
|
|
5434
|
+
(y(!0), i(e, null, S(D(R), (e) => (y(), n(D(as), {
|
|
5436
5435
|
key: `${e.index}-${e.id}`,
|
|
5437
5436
|
track: e,
|
|
5438
|
-
"clip-path-id":
|
|
5439
|
-
"inner-width":
|
|
5440
|
-
zoomable:
|
|
5441
|
-
interactive: !
|
|
5442
|
-
"display-mode":
|
|
5443
|
-
"interaction-mode":
|
|
5444
|
-
"frame-number":
|
|
5445
|
-
"frame-style":
|
|
5446
|
-
axes:
|
|
5447
|
-
"clean-view":
|
|
5448
|
-
"zero-line":
|
|
5449
|
-
"time-unit":
|
|
5450
|
-
"y-label":
|
|
5451
|
-
onPointerMove: (t) =>
|
|
5452
|
-
onPointerDown: (t) =>
|
|
5453
|
-
onPointerUp:
|
|
5454
|
-
onPointerCancel:
|
|
5455
|
-
onPointerLeave:
|
|
5456
|
-
onClick: (t) =>
|
|
5457
|
-
onContextmenu: (t) =>
|
|
5437
|
+
"clip-path-id": D(z),
|
|
5438
|
+
"inner-width": D(G),
|
|
5439
|
+
zoomable: D(U),
|
|
5440
|
+
interactive: !D(u),
|
|
5441
|
+
"display-mode": D(o),
|
|
5442
|
+
"interaction-mode": D(c),
|
|
5443
|
+
"frame-number": D(ae)(e.id),
|
|
5444
|
+
"frame-style": D(oe),
|
|
5445
|
+
axes: D(ce),
|
|
5446
|
+
"clean-view": D(l),
|
|
5447
|
+
"zero-line": D(le),
|
|
5448
|
+
"time-unit": D(ue),
|
|
5449
|
+
"y-label": D(de),
|
|
5450
|
+
onPointerMove: (t) => D(Y)(t, e.index),
|
|
5451
|
+
onPointerDown: (t) => D(fe)(t, e.index, !0),
|
|
5452
|
+
onPointerUp: D(re),
|
|
5453
|
+
onPointerCancel: D(K),
|
|
5454
|
+
onPointerLeave: D(q),
|
|
5455
|
+
onClick: (t) => D(J)(t, e.index),
|
|
5456
|
+
onContextmenu: (t) => D(ie)(t, e.index)
|
|
5458
5457
|
}, null, 8, [
|
|
5459
5458
|
"track",
|
|
5460
5459
|
"clip-path-id",
|
|
@@ -5478,35 +5477,35 @@ var To = ["clip-path"], Eo = ["data-series-id", "data-series-name"], Do = [
|
|
|
5478
5477
|
"onClick",
|
|
5479
5478
|
"onContextmenu"
|
|
5480
5479
|
]))), 128)),
|
|
5481
|
-
s(
|
|
5482
|
-
state:
|
|
5483
|
-
tracks:
|
|
5484
|
-
"clip-path-id":
|
|
5485
|
-
visible:
|
|
5480
|
+
s(D(_s), {
|
|
5481
|
+
state: D(X),
|
|
5482
|
+
tracks: D(R),
|
|
5483
|
+
"clip-path-id": D(z),
|
|
5484
|
+
visible: D(pe) && !D(u)
|
|
5486
5485
|
}, null, 8, [
|
|
5487
5486
|
"state",
|
|
5488
5487
|
"tracks",
|
|
5489
5488
|
"clip-path-id",
|
|
5490
5489
|
"visible"
|
|
5491
5490
|
]),
|
|
5492
|
-
|
|
5491
|
+
D(me) && D(d)?.kind === "box" ? (y(), i("rect", {
|
|
5493
5492
|
key: 2,
|
|
5494
5493
|
class: "waveform-chart__zoom-selection",
|
|
5495
|
-
x:
|
|
5496
|
-
y:
|
|
5497
|
-
width:
|
|
5498
|
-
height:
|
|
5494
|
+
x: D(me).x,
|
|
5495
|
+
y: D(me).y,
|
|
5496
|
+
width: D(me).width,
|
|
5497
|
+
height: D(me).height,
|
|
5499
5498
|
"aria-hidden": "true"
|
|
5500
|
-
}, null, 8,
|
|
5501
|
-
|
|
5499
|
+
}, null, 8, ks)) : r("", !0),
|
|
5500
|
+
D(l) ? r("", !0) : (y(), n(D(tt), {
|
|
5502
5501
|
key: 3,
|
|
5503
|
-
annotations:
|
|
5504
|
-
visible:
|
|
5505
|
-
interactive: !
|
|
5506
|
-
onContextmenu:
|
|
5507
|
-
onDragStart:
|
|
5508
|
-
onMove:
|
|
5509
|
-
onDragEnd:
|
|
5502
|
+
annotations: D(he),
|
|
5503
|
+
visible: D(ge),
|
|
5504
|
+
interactive: !D(u),
|
|
5505
|
+
onContextmenu: D(_e),
|
|
5506
|
+
onDragStart: D(ve),
|
|
5507
|
+
onMove: D(ye),
|
|
5508
|
+
onDragEnd: D(be)
|
|
5510
5509
|
}, null, 8, [
|
|
5511
5510
|
"annotations",
|
|
5512
5511
|
"visible",
|
|
@@ -5516,23 +5515,23 @@ var To = ["clip-path"], Eo = ["data-series-id", "data-series-name"], Do = [
|
|
|
5516
5515
|
"onMove",
|
|
5517
5516
|
"onDragEnd"
|
|
5518
5517
|
])),
|
|
5519
|
-
|
|
5518
|
+
D(l) ? r("", !0) : (y(), i("g", As, [(y(!0), i(e, null, S(D(R), (e) => (y(), i("g", {
|
|
5520
5519
|
key: `legend-${e.index}-${e.id}`,
|
|
5521
5520
|
class: "waveform-chart__legend-track",
|
|
5522
5521
|
"data-legend-track-index": e.index,
|
|
5523
5522
|
"data-legend-track-id": e.id,
|
|
5524
5523
|
transform: `translate(${e.left}, ${e.top})`
|
|
5525
|
-
}, [!e.isEmpty && e.legendSeries.length > 1 ? (
|
|
5524
|
+
}, [!e.isEmpty && e.legendSeries.length > 1 ? (y(), n(D(ps), {
|
|
5526
5525
|
key: 0,
|
|
5527
5526
|
series: e.legendSeries,
|
|
5528
|
-
position:
|
|
5529
|
-
orientation:
|
|
5530
|
-
"background-color":
|
|
5531
|
-
interactive:
|
|
5532
|
-
"hidden-series-ids":
|
|
5533
|
-
width: e.width ??
|
|
5527
|
+
position: D(xe)(e.id),
|
|
5528
|
+
orientation: D(Z)(D(xe)(e.id)),
|
|
5529
|
+
"background-color": D(Se),
|
|
5530
|
+
interactive: D(Ce),
|
|
5531
|
+
"hidden-series-ids": D(we),
|
|
5532
|
+
width: e.width ?? D(G),
|
|
5534
5533
|
height: e.height,
|
|
5535
|
-
onToggle:
|
|
5534
|
+
onToggle: D(Te)
|
|
5536
5535
|
}, null, 8, [
|
|
5537
5536
|
"series",
|
|
5538
5537
|
"position",
|
|
@@ -5543,51 +5542,51 @@ var To = ["clip-path"], Eo = ["data-series-id", "data-series-name"], Do = [
|
|
|
5543
5542
|
"width",
|
|
5544
5543
|
"height",
|
|
5545
5544
|
"onToggle"
|
|
5546
|
-
])) : r("", !0)], 8,
|
|
5547
|
-
], 8,
|
|
5548
|
-
|
|
5545
|
+
])) : r("", !0)], 8, js))), 128))]))
|
|
5546
|
+
], 8, ws),
|
|
5547
|
+
D(Ee) && !D(l) ? (y(), i("text", {
|
|
5549
5548
|
key: 0,
|
|
5550
5549
|
class: "waveform-chart__label waveform-chart__x-label",
|
|
5551
|
-
x:
|
|
5552
|
-
y:
|
|
5550
|
+
x: D(g) + D(G) / 2,
|
|
5551
|
+
y: D(De),
|
|
5553
5552
|
"text-anchor": "middle"
|
|
5554
|
-
},
|
|
5555
|
-
|
|
5553
|
+
}, T(D(Ee)), 9, Ms)) : r("", !0),
|
|
5554
|
+
D(Oe) && !D(I) ? (y(), i("text", {
|
|
5556
5555
|
key: 1,
|
|
5557
5556
|
class: "waveform-chart__empty",
|
|
5558
|
-
x:
|
|
5559
|
-
y:
|
|
5557
|
+
x: D(P) / 2,
|
|
5558
|
+
y: D(F) / 2,
|
|
5560
5559
|
"text-anchor": "middle"
|
|
5561
|
-
}, " 暂无有效波形数据 ", 8,
|
|
5562
|
-
], 40,
|
|
5563
|
-
|
|
5560
|
+
}, " 暂无有效波形数据 ", 8, Ns)) : r("", !0)
|
|
5561
|
+
], 40, xs)),
|
|
5562
|
+
D(ke).showPagination && D(Ae) > 1 && !D(l) ? (y(), n(D(se), {
|
|
5564
5563
|
key: 1,
|
|
5565
5564
|
class: "waveform-chart__pagination",
|
|
5566
5565
|
"aria-label": "波形分页",
|
|
5567
|
-
current:
|
|
5568
|
-
"page-size":
|
|
5569
|
-
total:
|
|
5566
|
+
current: D(je),
|
|
5567
|
+
"page-size": D(Me)(D(ke)),
|
|
5568
|
+
total: D(Ne).length,
|
|
5570
5569
|
"show-size-changer": !1,
|
|
5571
5570
|
"show-quick-jumper": !1,
|
|
5572
|
-
onChange:
|
|
5571
|
+
onChange: D(Pe)
|
|
5573
5572
|
}, null, 8, [
|
|
5574
5573
|
"current",
|
|
5575
5574
|
"page-size",
|
|
5576
5575
|
"total",
|
|
5577
5576
|
"onChange"
|
|
5578
5577
|
])) : r("", !0),
|
|
5579
|
-
|
|
5578
|
+
D(Ie) && !D(l) && !D(u) ? (y(), n(to, {
|
|
5580
5579
|
key: 2,
|
|
5581
|
-
annotation:
|
|
5582
|
-
mode:
|
|
5583
|
-
series:
|
|
5584
|
-
"series-options":
|
|
5585
|
-
"time-unit":
|
|
5586
|
-
"time-error":
|
|
5587
|
-
onConfirm:
|
|
5588
|
-
onCancel:
|
|
5589
|
-
onSeriesChange:
|
|
5590
|
-
onTimeChange:
|
|
5580
|
+
annotation: D(Ie).annotation,
|
|
5581
|
+
mode: D(Ie).mode,
|
|
5582
|
+
series: D(Re),
|
|
5583
|
+
"series-options": D(ze),
|
|
5584
|
+
"time-unit": D(ue),
|
|
5585
|
+
"time-error": D(Be),
|
|
5586
|
+
onConfirm: D(Ve),
|
|
5587
|
+
onCancel: D(He),
|
|
5588
|
+
onSeriesChange: D(Ue),
|
|
5589
|
+
onTimeChange: D(We)
|
|
5591
5590
|
}, null, 8, [
|
|
5592
5591
|
"annotation",
|
|
5593
5592
|
"mode",
|
|
@@ -5600,15 +5599,15 @@ var To = ["clip-path"], Eo = ["data-series-id", "data-series-name"], Do = [
|
|
|
5600
5599
|
"onSeriesChange",
|
|
5601
5600
|
"onTimeChange"
|
|
5602
5601
|
])) : r("", !0),
|
|
5603
|
-
!
|
|
5602
|
+
!D(l) && !D(u) ? (y(), n(D(nt), {
|
|
5604
5603
|
key: 3,
|
|
5605
|
-
visible:
|
|
5606
|
-
x:
|
|
5607
|
-
y:
|
|
5608
|
-
"can-edit": !!
|
|
5609
|
-
onEdit:
|
|
5610
|
-
onDelete:
|
|
5611
|
-
onClose:
|
|
5604
|
+
visible: D(Le) !== null,
|
|
5605
|
+
x: D(Le)?.x || 0,
|
|
5606
|
+
y: D(Le)?.y || 0,
|
|
5607
|
+
"can-edit": !!D(Le)?.annotationId,
|
|
5608
|
+
onEdit: D(Ge),
|
|
5609
|
+
onDelete: D(Ke),
|
|
5610
|
+
onClose: D(Fe).closeContextMenu
|
|
5612
5611
|
}, null, 8, [
|
|
5613
5612
|
"visible",
|
|
5614
5613
|
"x",
|
|
@@ -5618,12 +5617,12 @@ var To = ["clip-path"], Eo = ["data-series-id", "data-series-name"], Do = [
|
|
|
5618
5617
|
"onDelete",
|
|
5619
5618
|
"onClose"
|
|
5620
5619
|
])) : r("", !0),
|
|
5621
|
-
s(
|
|
5622
|
-
state:
|
|
5623
|
-
visible:
|
|
5624
|
-
"time-unit":
|
|
5625
|
-
"container-width":
|
|
5626
|
-
"container-height":
|
|
5620
|
+
s(D(uo), {
|
|
5621
|
+
state: D(X),
|
|
5622
|
+
visible: D(pe) && !D(u),
|
|
5623
|
+
"time-unit": D(ue),
|
|
5624
|
+
"container-width": D(P),
|
|
5625
|
+
"container-height": D(qe)
|
|
5627
5626
|
}, null, 8, [
|
|
5628
5627
|
"state",
|
|
5629
5628
|
"visible",
|
|
@@ -5631,9 +5630,9 @@ var To = ["clip-path"], Eo = ["data-series-id", "data-series-name"], Do = [
|
|
|
5631
5630
|
"container-width",
|
|
5632
5631
|
"container-height"
|
|
5633
5632
|
])
|
|
5634
|
-
], 46,
|
|
5633
|
+
], 46, vs));
|
|
5635
5634
|
}
|
|
5636
|
-
}),
|
|
5635
|
+
}), Fs = /* @__PURE__ */ l({
|
|
5637
5636
|
__name: "WaveformChart",
|
|
5638
5637
|
props: {
|
|
5639
5638
|
data: {},
|
|
@@ -5717,12 +5716,12 @@ var To = ["clip-path"], Eo = ["data-series-id", "data-series-name"], Do = [
|
|
|
5717
5716
|
"sampling-error"
|
|
5718
5717
|
],
|
|
5719
5718
|
setup(e, { expose: t, emit: r }) {
|
|
5720
|
-
let i =
|
|
5719
|
+
let i = Ia(e, r);
|
|
5721
5720
|
return t({
|
|
5722
5721
|
resetViewport: i.resetViewport,
|
|
5723
5722
|
setViewportDomain: i.setViewportDomain
|
|
5724
|
-
}), (e, t) => (
|
|
5723
|
+
}), (e, t) => (y(), n(Ps, { controller: D(i) }, null, 8, ["controller"]));
|
|
5725
5724
|
}
|
|
5726
5725
|
});
|
|
5727
5726
|
//#endregion
|
|
5728
|
-
export {
|
|
5727
|
+
export { gn as DEFAULT_WAVEFORM_RENDERING_OPTIONS, Fs as WaveformChart, gt as buildMinorTicks, xi as calculateWasmRange, It as clamp, kt as displayTime, Si as findWasmVisibleRange, Mt as formatAxisTime, jt as formatEndpointTime, Nt as formatTooltipTime, yi as initializeWasmSampling, sn as normalizeWaveformData, un as normalizeWaveformSeries, ht as paddedDomain, pt as parseWaveformAnnotations, Ft as resolveTrackGeometry, En as resolveWaveformRenderingOptions, bi as sampleWaveformWasm, Pn as selectRenderablePoints, ft as serializeWaveformAnnotations };
|