waveform-analysis 0.1.28 → 0.1.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +57 -33
- package/dist/index.cjs +1 -1
- package/dist/index.js +590 -577
- package/dist/types/components/WaveformChart.vue.d.ts +1 -0
- package/dist/types/components/core/constants.d.ts +2 -0
- package/dist/types/components/core/trackLayoutBuilder.d.ts +2 -1
- package/dist/types/components/core/useWaveformChartController.d.ts +6 -1
- package/dist/types/components/core/useWaveformLayout.d.ts +0 -1
- package/dist/types/components/core/useWaveformPresentation.d.ts +5 -0
- package/dist/types/components/core/waveformChartTypes.d.ts +3 -2
- package/dist/types/components/data/types.d.ts +1 -1
- package/dist/types/components/index.d.ts +1 -1
- package/dist/types/components/waveform.d.ts +1 -1
- package/dist/types/demo/types.d.ts +13 -1
- package/dist/types/demo/useDemoXAxisLabelControls.d.ts +32 -0
- package/dist/types/index.d.ts +1 -1
- package/dist/types/types/chart.d.ts +22 -0
- package/dist/types/types/index.d.ts +1 -1
- package/dist/types/utils/formatters.d.ts +5 -2
- package/dist/types/utils/index.d.ts +1 -1
- package/package.json +1 -1
- package/src/App.vue +17 -1
- package/src/components/WaveformChart.vue +1 -0
- package/src/components/WaveformChartView.vue +13 -10
- package/src/components/core/constants.ts +3 -0
- package/src/components/core/trackLayoutBuilder.ts +22 -4
- package/src/components/core/useWaveformLayout.ts +1 -3
- package/src/components/core/useWaveformPresentation.ts +17 -2
- package/src/components/core/waveformChartTypes.ts +3 -0
- package/src/components/data/types.ts +1 -0
- package/src/components/index.ts +1 -0
- package/src/components/rendering/WaveformTrackAxes.vue +6 -3
- package/src/components/waveform.ts +1 -0
- package/src/components/waveformChartCases/frameGridAndFormatting.test.ts +70 -3
- package/src/components/waveformChartCases/sizingAndTitles.test.ts +59 -0
- package/src/demo/DemoChartHost.vue +1 -0
- package/src/demo/DemoGridFrameControls.vue +99 -0
- package/src/demo/plotMarginControls.test.ts +29 -0
- package/src/demo/types.ts +13 -0
- package/src/demo/useDemoXAxisLabelControls.ts +77 -0
- package/src/demo/xAxisLabelControls.test.ts +86 -0
- package/src/index.ts +4 -0
- package/src/styles.css +9 -0
- package/src/types/chart.ts +29 -0
- package/src/types/index.ts +4 -0
- package/src/utils/formatters.test.ts +37 -5
- package/src/utils/formatters.ts +26 -16
- package/src/utils/index.ts +1 -0
package/dist/index.js
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import { Fragment as e, computed as t, createBlock as n, createCommentVNode as r, createElementBlock as i, createElementVNode as a, createTextVNode as o, createVNode as s, defineComponent as c, getCurrentInstance as l, markRaw as u, nextTick as d, normalizeClass as f, normalizeStyle as p, onBeforeUnmount as m, onMounted as h, openBlock as g, reactive as _, ref as v, renderList as y, shallowReactive as b, shallowRef as x, toDisplayString as S, toRefs as C, unref as w, vModelText as T, watch as E, watchEffect as D, withDirectives as O, withModifiers as k } from "vue";
|
|
2
|
-
import { axisBottom as A, axisLeft as j, axisRight as M, bisector as N, curveStep as P, curveStepAfter as F, curveStepBefore as I, extent as L, line as R, pointer as z, scaleLinear as B, select as V, symbol as H, symbolCircle as
|
|
3
|
-
import { Pagination as
|
|
4
|
-
import { ColorPicker as
|
|
2
|
+
import { axisBottom as A, axisLeft as j, axisRight as M, bisector as N, curveStep as P, curveStepAfter as F, curveStepBefore as I, extent as L, line as R, pointer as z, scaleLinear as B, select as V, symbol as H, symbolCircle as U, symbolDiamond as ee, symbolSquare as te, symbolTriangle as ne, zoom as re, zoomIdentity as W, zoomTransform as G } from "d3";
|
|
3
|
+
import { Pagination as ie } from "ant-design-vue";
|
|
4
|
+
import { ColorPicker as K } from "vue3-colorpicker";
|
|
5
5
|
import "vue3-colorpicker/style.css";
|
|
6
6
|
//#region src/utils/waveformId.ts
|
|
7
|
-
var
|
|
8
|
-
function
|
|
7
|
+
var ae = 0;
|
|
8
|
+
function oe(e = "waveform") {
|
|
9
9
|
let t = l();
|
|
10
|
-
return `${e}-${t ? `v${t.uid}` : `f${++
|
|
10
|
+
return `${e}-${t ? `v${t.uid}` : `f${++ae}`}`;
|
|
11
11
|
}
|
|
12
12
|
//#endregion
|
|
13
13
|
//#region src/components/annotation/annotationLayout.ts
|
|
14
|
-
function
|
|
14
|
+
function q(e, t) {
|
|
15
15
|
return e >= Math.min(t[0], t[1]) && e <= Math.max(t[0], t[1]);
|
|
16
16
|
}
|
|
17
|
-
function
|
|
17
|
+
function se(e, t, n) {
|
|
18
18
|
let r = Math.max(0, Math.min(e.x, Math.max(0, t - e.width))), i = Math.max(0, Math.min(e.y, Math.max(0, n - e.height)));
|
|
19
19
|
return {
|
|
20
20
|
...e,
|
|
@@ -24,11 +24,11 @@ function le(e, t, n) {
|
|
|
24
24
|
lineEndY: Math.max(i, Math.min(e.lineEndY, i + e.height))
|
|
25
25
|
};
|
|
26
26
|
}
|
|
27
|
-
function
|
|
28
|
-
let s =
|
|
27
|
+
function ce(e, t, n, r, i, a, o) {
|
|
28
|
+
let s = de(e, t, n, r, i);
|
|
29
29
|
return s.x >= 0 && s.y >= 0 && s.x + n <= a && s.y + r <= o;
|
|
30
30
|
}
|
|
31
|
-
function
|
|
31
|
+
function le(e, t, n, r, i, a) {
|
|
32
32
|
for (let o of [
|
|
33
33
|
"top",
|
|
34
34
|
"bottom",
|
|
@@ -38,10 +38,10 @@ function de(e, t, n, r, i, a) {
|
|
|
38
38
|
"top-left",
|
|
39
39
|
"bottom-right",
|
|
40
40
|
"bottom-left"
|
|
41
|
-
]) if (
|
|
41
|
+
]) if (ce(e, t, n, r, o, i, a)) return o;
|
|
42
42
|
return "top";
|
|
43
43
|
}
|
|
44
|
-
function
|
|
44
|
+
function ue(e, t, n) {
|
|
45
45
|
let r = e.x + e.width / 2, i = e.y + e.height / 2, a = t - r, o = n - i;
|
|
46
46
|
if (Math.abs(a) * e.height > Math.abs(o) * e.width) {
|
|
47
47
|
let t = a >= 0 ? e.x + e.width : e.x, n = a === 0 ? 0 : (t - r) / a;
|
|
@@ -56,7 +56,7 @@ function K(e, t, n) {
|
|
|
56
56
|
y: s
|
|
57
57
|
};
|
|
58
58
|
}
|
|
59
|
-
function
|
|
59
|
+
function de(e, t, n, r, i) {
|
|
60
60
|
let a = e - n / 2, o = t - r / 2, s = e + 32, c = e - n - 32, l = t - r - 32, u = t + 32;
|
|
61
61
|
switch (i) {
|
|
62
62
|
case "top": return {
|
|
@@ -93,36 +93,36 @@ function fe(e, t, n, r, i) {
|
|
|
93
93
|
};
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
|
-
function
|
|
96
|
+
function fe(e, t, n) {
|
|
97
97
|
return {
|
|
98
|
-
width: Math.min(t, Math.max(16, Math.min(240, Math.ceil(Math.max(...e.map(
|
|
98
|
+
width: Math.min(t, Math.max(16, Math.min(240, Math.ceil(Math.max(...e.map(be), 0)) + 16))),
|
|
99
99
|
height: Math.min(n, Math.max(26, (e.length - 1) * 16 + 14 + 16))
|
|
100
100
|
};
|
|
101
101
|
}
|
|
102
|
-
function
|
|
103
|
-
let { width: c, height: l } =
|
|
102
|
+
function pe(e, t, n, r, i, a, o = 0, s = 0) {
|
|
103
|
+
let { width: c, height: l } = fe(n, r, i), u = de(e, t, c, l, a), d = se({
|
|
104
104
|
x: u.x + o,
|
|
105
105
|
y: u.y + s,
|
|
106
106
|
width: c,
|
|
107
107
|
height: l,
|
|
108
108
|
lineEndX: e,
|
|
109
109
|
lineEndY: t
|
|
110
|
-
}, r, i), f =
|
|
110
|
+
}, r, i), f = ue(d, e, t);
|
|
111
111
|
return {
|
|
112
112
|
...d,
|
|
113
113
|
lineEndX: f.x,
|
|
114
114
|
lineEndY: f.y
|
|
115
115
|
};
|
|
116
116
|
}
|
|
117
|
-
function
|
|
117
|
+
function me(e, t, n, r) {
|
|
118
118
|
let i = [];
|
|
119
119
|
return e.forEach((e) => {
|
|
120
120
|
if (!Se(e)) return;
|
|
121
121
|
let a = t.find((t) => t.series.id === e.seriesId);
|
|
122
122
|
if (!a) return;
|
|
123
123
|
let o = a.xScale.domain(), s = a.yScale.domain();
|
|
124
|
-
if (!
|
|
125
|
-
let c = Ce(e.text), l = a.left ?? 0, u = a.width ?? n, d = a.xScale(e.x), f = l + d, p = a.yScale(e.y) + a.top, m = Math.min(a.height, Math.max(0, r - a.top)), h = p - a.top, g = Number.isFinite(e.labelOffsetX) && e.labelOffsetX !== 0 || Number.isFinite(e.labelOffsetY) && e.labelOffsetY !== 0, { width: _, height: v } =
|
|
124
|
+
if (!q(e.x, o) || !q(e.y, s)) return;
|
|
125
|
+
let c = Ce(e.text), l = a.left ?? 0, u = a.width ?? n, d = a.xScale(e.x), f = l + d, p = a.yScale(e.y) + a.top, m = Math.min(a.height, Math.max(0, r - a.top)), h = p - a.top, g = Number.isFinite(e.labelOffsetX) && e.labelOffsetX !== 0 || Number.isFinite(e.labelOffsetY) && e.labelOffsetY !== 0, { width: _, height: v } = fe(c, u, m), y = g ? "top" : le(d, h, _, v, u, m), b = pe(d, h, c, u, m, y, Number.isFinite(e.labelOffsetX) ? e.labelOffsetX : 0, Number.isFinite(e.labelOffsetY) ? e.labelOffsetY : 0), x = {
|
|
126
126
|
...b,
|
|
127
127
|
x: b.x + l,
|
|
128
128
|
y: b.y + a.top,
|
|
@@ -143,22 +143,22 @@ function he(e, t, n, r) {
|
|
|
143
143
|
}
|
|
144
144
|
//#endregion
|
|
145
145
|
//#region src/components/annotation/markup.ts
|
|
146
|
-
var
|
|
146
|
+
var he = {
|
|
147
147
|
borderColor: "#1677ff",
|
|
148
148
|
textColor: "#333333",
|
|
149
149
|
backgroundColor: "rgba(255, 255, 255, 0.92)"
|
|
150
|
-
},
|
|
151
|
-
function
|
|
150
|
+
}, ge = "12px Arial, sans-serif", J = N((e) => e.x);
|
|
151
|
+
function _e(e, t) {
|
|
152
152
|
if (!e.length || !Number.isFinite(t)) return null;
|
|
153
|
-
let n =
|
|
153
|
+
let n = J.center(e, t), r = e[Math.min(n, e.length - 1)], i = e[Math.max(0, n - 1)];
|
|
154
154
|
return Math.abs(t - i.x) < Math.abs(r.x - t) ? i : r;
|
|
155
155
|
}
|
|
156
|
-
function
|
|
156
|
+
function ve(e, t, n = "linear") {
|
|
157
157
|
if (!e.length || !Number.isFinite(t)) return null;
|
|
158
158
|
let r = e[0], i = e[e.length - 1];
|
|
159
159
|
if (t < r.x || t > i.x) return null;
|
|
160
160
|
if (e.length === 1) return t === r.x ? { ...r } : null;
|
|
161
|
-
let a =
|
|
161
|
+
let a = J.left(e, t), o = e[Math.min(a, e.length - 1)];
|
|
162
162
|
if (o.x === t || a === 0) return {
|
|
163
163
|
x: t,
|
|
164
164
|
y: o.y
|
|
@@ -188,18 +188,18 @@ function ye(e, t, n = "linear") {
|
|
|
188
188
|
y: s.y + (o.y - s.y) * l
|
|
189
189
|
};
|
|
190
190
|
}
|
|
191
|
-
function
|
|
191
|
+
function Y(e, t, n, r) {
|
|
192
192
|
return e.flatMap((e) => {
|
|
193
|
-
let i =
|
|
193
|
+
let i = ve(e.series.points, t, e.series.lineType);
|
|
194
194
|
if (!i) return [];
|
|
195
|
-
let a =
|
|
195
|
+
let a = _e(e.series.points, t);
|
|
196
196
|
if (!a) return [];
|
|
197
197
|
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);
|
|
198
198
|
return [{
|
|
199
199
|
trackIndex: e.index,
|
|
200
200
|
seriesId: e.series.id,
|
|
201
201
|
name: e.series.name?.trim() || e.series.id,
|
|
202
|
-
color: e.series.color ||
|
|
202
|
+
color: e.series.color || he.borderColor,
|
|
203
203
|
unit: e.series.unit,
|
|
204
204
|
point: a,
|
|
205
205
|
screenX: c,
|
|
@@ -208,18 +208,18 @@ function J(e, t, n, r) {
|
|
|
208
208
|
}];
|
|
209
209
|
}).sort((e, t) => e.distance - t.distance || e.trackIndex - t.trackIndex);
|
|
210
210
|
}
|
|
211
|
-
var
|
|
212
|
-
function
|
|
211
|
+
var X;
|
|
212
|
+
function ye(e) {
|
|
213
213
|
return Array.from(e).reduce((e, t) => e + (t.codePointAt(0) > 255 ? 12 : 6.7), 0);
|
|
214
214
|
}
|
|
215
|
-
function
|
|
216
|
-
return
|
|
215
|
+
function be(e) {
|
|
216
|
+
return X === void 0 && (X = null, typeof document < "u" && typeof CanvasRenderingContext2D < "u" && (X = document.createElement("canvas").getContext("2d"), X && (X.font = ge))), X?.measureText(e).width ?? ye(e);
|
|
217
217
|
}
|
|
218
218
|
function xe(e) {
|
|
219
219
|
return {
|
|
220
|
-
borderColor: e?.borderColor ||
|
|
221
|
-
textColor: e?.textColor ||
|
|
222
|
-
backgroundColor: e?.backgroundColor ||
|
|
220
|
+
borderColor: e?.borderColor || he.borderColor,
|
|
221
|
+
textColor: e?.textColor || he.textColor,
|
|
222
|
+
backgroundColor: e?.backgroundColor || he.backgroundColor
|
|
223
223
|
};
|
|
224
224
|
}
|
|
225
225
|
function Se(e) {
|
|
@@ -425,7 +425,7 @@ var we = [
|
|
|
425
425
|
x: b(t).x + b(t).width / 2,
|
|
426
426
|
y: b(t).y + b(t).height / 2 - (t.lines.length - 1) * w(16) / 2,
|
|
427
427
|
fill: t.style.textColor,
|
|
428
|
-
style: p({ font: w(
|
|
428
|
+
style: p({ font: w(ge) }),
|
|
429
429
|
"text-anchor": "middle",
|
|
430
430
|
"dominant-baseline": "central"
|
|
431
431
|
}, [(g(!0), i(e, null, y(t.lines, (e, n) => (g(), i("tspan", {
|
|
@@ -625,67 +625,69 @@ function Ke(e, t = 5, n) {
|
|
|
625
625
|
}
|
|
626
626
|
//#endregion
|
|
627
627
|
//#region src/utils/formatters.ts
|
|
628
|
-
var qe = .001, Je = 1e3, Ye = new Intl.NumberFormat("zh-CN", { maximumFractionDigits: 4 }), Xe = new Intl.NumberFormat("zh-CN", { maximumFractionDigits: 4 })
|
|
629
|
-
|
|
630
|
-
useGrouping: !1
|
|
631
|
-
});
|
|
632
|
-
function Qe(e, t) {
|
|
628
|
+
var qe = .001, Je = 1e3, Ye = new Intl.NumberFormat("zh-CN", { maximumFractionDigits: 4 }), Xe = new Intl.NumberFormat("zh-CN", { maximumFractionDigits: 4 });
|
|
629
|
+
function Ze(e, t) {
|
|
633
630
|
let n = e.toFixed(Math.max(0, t));
|
|
634
631
|
return /^-0(?:\.0+)?$/.test(n) ? n.slice(1) : n;
|
|
635
632
|
}
|
|
636
|
-
function
|
|
633
|
+
function Qe(e) {
|
|
637
634
|
return Number.isFinite(e) && (e >= Je || e > 0 && e < qe);
|
|
638
635
|
}
|
|
639
|
-
function
|
|
636
|
+
function $e(e, t) {
|
|
640
637
|
if (typeof e != "number" || typeof t != "number") return null;
|
|
641
638
|
let n = Math.abs(Math.max(e, t));
|
|
642
|
-
return
|
|
639
|
+
return Qe(n) ? Math.floor(Math.log10(n)) : null;
|
|
643
640
|
}
|
|
644
|
-
function
|
|
641
|
+
function et(e) {
|
|
645
642
|
return `E${e >= 0 ? "+" : "-"}${Math.abs(e).toString().padStart(2, "0")}`;
|
|
646
643
|
}
|
|
647
|
-
function
|
|
644
|
+
function tt(e) {
|
|
648
645
|
if (Object.is(e, -0)) return "0";
|
|
649
646
|
let t = e === 0 ? 0 : Number(e.toPrecision(5)), n = Ye.format(t);
|
|
650
647
|
return n === "-0" ? "0" : n;
|
|
651
648
|
}
|
|
652
|
-
function
|
|
649
|
+
function nt(e, t = {}) {
|
|
653
650
|
if (!Number.isFinite(e)) return String(e);
|
|
654
|
-
let n =
|
|
655
|
-
return n !== null && e === i ? `${
|
|
651
|
+
let n = $e(t.axisMin, t.axisMax), r = tt(n === null ? e : e / 10 ** n), i = t.topTickValue ?? t.axisMax;
|
|
652
|
+
return n !== null && e === i ? `${et(n)} ${r}` : r;
|
|
656
653
|
}
|
|
657
|
-
function
|
|
654
|
+
function rt(e) {
|
|
658
655
|
return Number.isFinite(e) ? Object.is(e, -0) ? "0" : Xe.format(e) : String(e);
|
|
659
656
|
}
|
|
660
|
-
function
|
|
661
|
-
if (!Number.isFinite(e)) return String(e);
|
|
662
|
-
let t = Ze.format(e);
|
|
663
|
-
return t === "-0" ? "0" : t;
|
|
664
|
-
}
|
|
665
|
-
function ot(e) {
|
|
657
|
+
function it(e) {
|
|
666
658
|
if (!Number.isFinite(e)) return String(e);
|
|
667
659
|
if (Object.is(e, -0)) return "0";
|
|
668
660
|
let [t, n] = e.toExponential().split("e"), r = Number(n), i = t.startsWith("-"), a = t.replace("-", "").replace(".", ""), o = r + 1, s;
|
|
669
661
|
return s = o <= 0 ? `0.${"0".repeat(Math.abs(o))}${a}` : o >= a.length ? `${a}${"0".repeat(o - a.length)}` : `${a.slice(0, o)}.${a.slice(o)}`, `${i ? "-" : ""}${s}`;
|
|
670
662
|
}
|
|
671
|
-
function
|
|
663
|
+
function at(e, t) {
|
|
672
664
|
return t === "ms" ? e * 1e3 : e;
|
|
673
665
|
}
|
|
666
|
+
function ot(e, t, n, r, i) {
|
|
667
|
+
let a = at(e, n);
|
|
668
|
+
return i ? i(a, {
|
|
669
|
+
kind: r,
|
|
670
|
+
rawValue: e,
|
|
671
|
+
timeUnit: n,
|
|
672
|
+
domain: [t[0], t[1]],
|
|
673
|
+
displayDomain: [at(t[0], n), at(t[1], n)]
|
|
674
|
+
}) : it(a);
|
|
675
|
+
}
|
|
676
|
+
function st(e, t, n) {
|
|
677
|
+
return ot(e, t, n, "end");
|
|
678
|
+
}
|
|
674
679
|
function ct(e, t, n) {
|
|
675
|
-
return
|
|
680
|
+
return ot(e, n ?? [e, e], t, "tick");
|
|
676
681
|
}
|
|
677
|
-
function lt(e, t
|
|
678
|
-
return at(
|
|
682
|
+
function lt(e, t) {
|
|
683
|
+
return rt(at(e, t));
|
|
679
684
|
}
|
|
680
685
|
function ut(e, t) {
|
|
681
|
-
return
|
|
682
|
-
}
|
|
683
|
-
function dt(e, t) {
|
|
684
|
-
return Number.isFinite(e) ? Qe(st(e, t), 3) : String(e);
|
|
686
|
+
return Number.isFinite(e) ? Ze(at(e, t), 3) : String(e);
|
|
685
687
|
}
|
|
686
688
|
//#endregion
|
|
687
689
|
//#region src/utils/geometry.ts
|
|
688
|
-
function
|
|
690
|
+
function dt(e, t, n) {
|
|
689
691
|
if (e <= 0) return {
|
|
690
692
|
gap: 0,
|
|
691
693
|
axisBand: 0,
|
|
@@ -698,20 +700,20 @@ function ft(e, t, n) {
|
|
|
698
700
|
height: Math.max(1, (n - (e - 1) * (c + l)) / e)
|
|
699
701
|
};
|
|
700
702
|
}
|
|
701
|
-
function
|
|
703
|
+
function ft(e, t, n) {
|
|
702
704
|
return Math.min(Math.max(e, t), n);
|
|
703
705
|
}
|
|
704
706
|
//#endregion
|
|
705
707
|
//#region src/components/core/constants.ts
|
|
706
|
-
var
|
|
708
|
+
var pt = {
|
|
707
709
|
top: 18,
|
|
708
710
|
right: 24,
|
|
709
711
|
bottom: 52,
|
|
710
712
|
left: 64
|
|
711
|
-
},
|
|
713
|
+
}, mt = {
|
|
712
714
|
DEFAULT_MAX_SCALE: 40,
|
|
713
715
|
MIN_SCALE: 1
|
|
714
|
-
},
|
|
716
|
+
}, ht = .62, gt = 1.2, _t = [
|
|
715
717
|
"#0960bd",
|
|
716
718
|
"#ff7f0e",
|
|
717
719
|
"#389e0d",
|
|
@@ -722,42 +724,42 @@ var mt = {
|
|
|
722
724
|
"#434343",
|
|
723
725
|
"#7cb305",
|
|
724
726
|
"#1d39c4"
|
|
725
|
-
],
|
|
727
|
+
], vt = {
|
|
726
728
|
WIDTH: 1.5,
|
|
727
729
|
CAP_WIDTH: 8
|
|
728
|
-
},
|
|
730
|
+
}, yt = {
|
|
729
731
|
COLOR: "#98a2b3",
|
|
730
732
|
WIDTH: 1,
|
|
731
733
|
DASH: "6 4"
|
|
732
734
|
};
|
|
733
735
|
//#endregion
|
|
734
736
|
//#region src/components/core/yDomain.ts
|
|
735
|
-
function
|
|
737
|
+
function bt(e) {
|
|
736
738
|
if (!(!e || !Number.isFinite(e[0]) || !Number.isFinite(e[1]) || e[0] === e[1])) return e[0] < e[1] ? [e[0], e[1]] : [e[1], e[0]];
|
|
737
739
|
}
|
|
738
|
-
function
|
|
739
|
-
return
|
|
740
|
+
function xt(e, t) {
|
|
741
|
+
return bt(t?.[e.id]);
|
|
740
742
|
}
|
|
741
|
-
function
|
|
742
|
-
return
|
|
743
|
+
function St(e, t, n) {
|
|
744
|
+
return bt(n?.[e.id]) ?? bt(t);
|
|
743
745
|
}
|
|
744
|
-
function
|
|
745
|
-
return !!(
|
|
746
|
+
function Ct(e, t, n) {
|
|
747
|
+
return !!(xt(e, n) || e.visibleSeries.some((e) => St(e, t, n)));
|
|
746
748
|
}
|
|
747
|
-
function
|
|
749
|
+
function wt(e) {
|
|
748
750
|
return [Math.min(...e.map((e) => e[0])), Math.max(...e.map((e) => e[1]))];
|
|
749
751
|
}
|
|
750
752
|
//#endregion
|
|
751
753
|
//#region src/core/data.ts
|
|
752
|
-
var
|
|
753
|
-
function
|
|
754
|
+
var Tt = vt.WIDTH, Et = vt.CAP_WIDTH;
|
|
755
|
+
function Dt(e) {
|
|
754
756
|
return e === "dashed" || e === "dash-dot" ? e : "solid";
|
|
755
757
|
}
|
|
756
|
-
function
|
|
758
|
+
function Ot(e) {
|
|
757
759
|
return typeof e == "number" && Number.isFinite(e) && e >= 0 ? e : void 0;
|
|
758
760
|
}
|
|
759
|
-
function
|
|
760
|
-
let t =
|
|
761
|
+
function kt(e) {
|
|
762
|
+
let t = Ot(e.error), n = Ot(e.lowerError), r = Ot(e.upperError);
|
|
761
763
|
return {
|
|
762
764
|
x: e.x,
|
|
763
765
|
y: e.y,
|
|
@@ -766,14 +768,14 @@ function At(e) {
|
|
|
766
768
|
...r === void 0 ? {} : { upperError: r }
|
|
767
769
|
};
|
|
768
770
|
}
|
|
769
|
-
function
|
|
770
|
-
let t =
|
|
771
|
+
function At(e) {
|
|
772
|
+
let t = Ot(e.error) ?? 0;
|
|
771
773
|
return {
|
|
772
|
-
lower:
|
|
773
|
-
upper:
|
|
774
|
+
lower: Ot(e.lowerError) ?? t,
|
|
775
|
+
upper: Ot(e.upperError) ?? t
|
|
774
776
|
};
|
|
775
777
|
}
|
|
776
|
-
function
|
|
778
|
+
function jt(e) {
|
|
777
779
|
if (e.kind === "samples") {
|
|
778
780
|
if (!Number.isFinite(e.sampleRate) || e.sampleRate <= 0) return [];
|
|
779
781
|
let t = Number.isFinite(e.startTime) ? e.startTime ?? 0 : 0, n = [];
|
|
@@ -789,14 +791,14 @@ function Mt(e) {
|
|
|
789
791
|
let t = [], n = -Infinity, r = !0;
|
|
790
792
|
for (let i of e.points) {
|
|
791
793
|
if (!Number.isFinite(i.x) || !Number.isFinite(i.y)) continue;
|
|
792
|
-
let e =
|
|
794
|
+
let e = kt(i);
|
|
793
795
|
e.x < n && (r = !1), n = e.x, t.push(e);
|
|
794
796
|
}
|
|
795
797
|
return r || t.sort((e, t) => e.x - t.x), t;
|
|
796
798
|
}
|
|
797
|
-
function
|
|
799
|
+
function Mt(e) {
|
|
798
800
|
if (e.kind !== "series") {
|
|
799
|
-
let t =
|
|
801
|
+
let t = jt(e);
|
|
800
802
|
return t.length > 0 ? [{
|
|
801
803
|
id: "series-0",
|
|
802
804
|
name: "",
|
|
@@ -805,8 +807,8 @@ function Nt(e) {
|
|
|
805
807
|
pointType: "none",
|
|
806
808
|
errorBar: {
|
|
807
809
|
visible: !1,
|
|
808
|
-
width:
|
|
809
|
-
capWidth:
|
|
810
|
+
width: Tt,
|
|
811
|
+
capWidth: Et
|
|
810
812
|
},
|
|
811
813
|
points: t
|
|
812
814
|
}] : [];
|
|
@@ -816,7 +818,7 @@ function Nt(e) {
|
|
|
816
818
|
let r = e.id?.trim() || `series-${n}`, i = r, a = 1;
|
|
817
819
|
for (; t.has(i);) i = `${r}-${a}`, a++;
|
|
818
820
|
t.add(i);
|
|
819
|
-
let o = e.lineType ?? "linear", s =
|
|
821
|
+
let o = e.lineType ?? "linear", s = Dt(e.lineStyle), c = e.pointType ?? "none", l = e.errorBar?.visible === !0, u = o === "none" && c === "none" && !l ? "linear" : o, d = Number(e.errorBar?.width), f = Number(e.errorBar?.capWidth);
|
|
820
822
|
return {
|
|
821
823
|
id: i,
|
|
822
824
|
trackId: e.trackId?.trim() || void 0,
|
|
@@ -829,55 +831,55 @@ function Nt(e) {
|
|
|
829
831
|
errorBar: {
|
|
830
832
|
visible: l,
|
|
831
833
|
color: e.errorBar?.color,
|
|
832
|
-
width: Number.isFinite(d) && d > 0 ? d :
|
|
833
|
-
capWidth: Number.isFinite(f) && f > 0 ? f :
|
|
834
|
+
width: Number.isFinite(d) && d > 0 ? d : Tt,
|
|
835
|
+
capWidth: Number.isFinite(f) && f > 0 ? f : Et
|
|
834
836
|
},
|
|
835
|
-
points:
|
|
837
|
+
points: jt(e.data)
|
|
836
838
|
};
|
|
837
839
|
}).filter((e) => e.points.length > 0);
|
|
838
840
|
}
|
|
839
841
|
//#endregion
|
|
840
842
|
//#region src/core/renderingOptions.ts
|
|
841
|
-
var
|
|
843
|
+
var Nt = {
|
|
842
844
|
downsample: !0,
|
|
843
845
|
downsampleThreshold: 2e3,
|
|
844
846
|
maxPointsPerPixel: 4,
|
|
845
847
|
pointMinSpacing: 10,
|
|
846
848
|
errorBarMinSpacing: 12
|
|
847
849
|
};
|
|
848
|
-
function
|
|
850
|
+
function Pt(e) {
|
|
849
851
|
let t = Number(e?.downsampleThreshold), n = Number(e?.maxPointsPerPixel), r = Number(e?.pointMinSpacing), i = Number(e?.errorBarMinSpacing);
|
|
850
852
|
return {
|
|
851
|
-
downsample: e?.downsample ??
|
|
852
|
-
downsampleThreshold: Number.isFinite(t) && t >= 2 ? Math.floor(t) :
|
|
853
|
-
maxPointsPerPixel: Number.isFinite(n) && n > 0 ? n :
|
|
854
|
-
pointMinSpacing: Number.isFinite(r) && r >= 0 ? r :
|
|
855
|
-
errorBarMinSpacing: Number.isFinite(i) && i >= 0 ? i :
|
|
853
|
+
downsample: e?.downsample ?? Nt.downsample,
|
|
854
|
+
downsampleThreshold: Number.isFinite(t) && t >= 2 ? Math.floor(t) : Nt.downsampleThreshold,
|
|
855
|
+
maxPointsPerPixel: Number.isFinite(n) && n > 0 ? n : Nt.maxPointsPerPixel,
|
|
856
|
+
pointMinSpacing: Number.isFinite(r) && r >= 0 ? r : Nt.pointMinSpacing,
|
|
857
|
+
errorBarMinSpacing: Number.isFinite(i) && i >= 0 ? i : Nt.errorBarMinSpacing
|
|
856
858
|
};
|
|
857
859
|
}
|
|
858
860
|
//#endregion
|
|
859
861
|
//#region src/core/rendering.ts
|
|
860
|
-
var
|
|
861
|
-
function
|
|
862
|
+
var Ft = N((e) => e.x), It = () => !0;
|
|
863
|
+
function Lt(e, t) {
|
|
862
864
|
let n = Math.min(t[0], t[1]), r = Math.max(t[0], t[1]);
|
|
863
865
|
return {
|
|
864
|
-
start:
|
|
865
|
-
end:
|
|
866
|
+
start: Ft.left(e, n),
|
|
867
|
+
end: Ft.right(e, r)
|
|
866
868
|
};
|
|
867
869
|
}
|
|
868
|
-
function
|
|
870
|
+
function Rt(e, t, n) {
|
|
869
871
|
if (!Number.isFinite(n) || n <= 0) return !0;
|
|
870
872
|
let r = Math.ceil(n), i = /* @__PURE__ */ new Set();
|
|
871
873
|
for (let n of e) {
|
|
872
|
-
let e =
|
|
874
|
+
let e = Lt(n.points, t);
|
|
873
875
|
for (let t = e.start; t < e.end; t += 1) if (i.add(n.points[t].x), i.size >= r) return !0;
|
|
874
876
|
}
|
|
875
877
|
return !1;
|
|
876
878
|
}
|
|
877
|
-
function
|
|
879
|
+
function zt(e, t) {
|
|
878
880
|
t && e[e.length - 1] !== t && e.push(t);
|
|
879
881
|
}
|
|
880
|
-
function
|
|
882
|
+
function Bt(e, t, n, r, i) {
|
|
881
883
|
let a = Math.min(n[0], n[1]), o = Math.max(n[0], n[1]), s = Math.max(0, t.start - 1), c = Math.min(e.length, t.end + 1), l = c - s;
|
|
882
884
|
if (l <= 0) return [];
|
|
883
885
|
if (!i.downsample || l <= i.downsampleThreshold) return e.slice(s, c);
|
|
@@ -896,9 +898,9 @@ function Vt(e, t, n, r, i) {
|
|
|
896
898
|
for (; n >= 0 && m[n] > t;) m[n + 1] = m[n], --n;
|
|
897
899
|
m[n + 1] = t;
|
|
898
900
|
}
|
|
899
|
-
for (let n = 0; n < t; n += 1)
|
|
901
|
+
for (let n = 0; n < t; n += 1) zt(f, e[m[n]]);
|
|
900
902
|
};
|
|
901
|
-
|
|
903
|
+
zt(f, e[s]);
|
|
902
904
|
for (let n = t.start; n < t.end; n += 1) {
|
|
903
905
|
let t = e[n], r = Math.min(d - 1, Math.max(0, Math.floor((t.x - a) / p * d)));
|
|
904
906
|
if (r !== h) {
|
|
@@ -907,14 +909,14 @@ function Vt(e, t, n, r, i) {
|
|
|
907
909
|
}
|
|
908
910
|
_ = n, t.y < e[v].y && (v = n), t.y > e[y].y && (y = n);
|
|
909
911
|
}
|
|
910
|
-
return x(),
|
|
912
|
+
return x(), zt(f, e[c - 1]), f;
|
|
911
913
|
}
|
|
912
|
-
function
|
|
913
|
-
return !e.length || n <= 0 ? [] :
|
|
914
|
+
function Vt(e, t, n, r) {
|
|
915
|
+
return !e.length || n <= 0 ? [] : Bt(e, Lt(e, t), t, n, r);
|
|
914
916
|
}
|
|
915
|
-
function
|
|
917
|
+
function Ht(e, t, n, r, i, a, o, s) {
|
|
916
918
|
if (!a || i === 0) {
|
|
917
|
-
if (o ===
|
|
919
|
+
if (o === It) return e.slice(t.start, t.end);
|
|
918
920
|
let n = [];
|
|
919
921
|
for (let r = t.start; r < t.end; r += 1) o(e[r]) && n.push(e[r]);
|
|
920
922
|
return n;
|
|
@@ -947,36 +949,36 @@ function Ut(e, t, n, r, i, a, o, s) {
|
|
|
947
949
|
let w = (f ?? []).map((e, t) => m?.[t] ?? e).filter((e) => e !== void 0);
|
|
948
950
|
return v && w[0] !== v && w.unshift(v), y && w.at(-1) !== y && w.push(y), w;
|
|
949
951
|
}
|
|
950
|
-
function
|
|
951
|
-
let { lower: t, upper: n } =
|
|
952
|
+
function Ut(e) {
|
|
953
|
+
let { lower: t, upper: n } = At(e);
|
|
952
954
|
return t !== 0 || n !== 0;
|
|
953
955
|
}
|
|
954
|
-
function
|
|
956
|
+
function Wt(e, t, n, r, i) {
|
|
955
957
|
if (!e.length || n <= 0) return {
|
|
956
958
|
linePoints: [],
|
|
957
959
|
pointRenderPoints: [],
|
|
958
960
|
errorBarRenderPoints: []
|
|
959
961
|
};
|
|
960
|
-
let a =
|
|
962
|
+
let a = Lt(e, t), o = i.lineVisible ? Bt(e, a, t, n, r) : [], s = i.errorBarVisible && i.hasErrorPoints;
|
|
961
963
|
if (i.pointVisible && s) {
|
|
962
|
-
let i =
|
|
964
|
+
let i = Ht(e, a, t, n, Math.max(r.pointMinSpacing, r.errorBarMinSpacing), r.downsample, It, Ut);
|
|
963
965
|
return {
|
|
964
966
|
linePoints: o,
|
|
965
967
|
pointRenderPoints: i,
|
|
966
|
-
errorBarRenderPoints: i.filter(
|
|
968
|
+
errorBarRenderPoints: i.filter(Ut)
|
|
967
969
|
};
|
|
968
970
|
}
|
|
969
971
|
return {
|
|
970
972
|
linePoints: o,
|
|
971
|
-
pointRenderPoints: i.pointVisible ?
|
|
972
|
-
errorBarRenderPoints: s ?
|
|
973
|
+
pointRenderPoints: i.pointVisible ? Ht(e, a, t, n, r.pointMinSpacing, r.downsample, It) : [],
|
|
974
|
+
errorBarRenderPoints: s ? Ht(e, a, t, n, r.errorBarMinSpacing, r.downsample, Ut) : []
|
|
973
975
|
};
|
|
974
976
|
}
|
|
975
|
-
var
|
|
977
|
+
var Gt = (e, t) => {
|
|
976
978
|
let n = typeof e == "number" ? e : Number(e);
|
|
977
979
|
return Number.isFinite(n) ? Math.min(10, Math.max(1, Math.floor(n))) : t;
|
|
978
980
|
};
|
|
979
|
-
function
|
|
981
|
+
function Kt(e) {
|
|
980
982
|
let t = Object.fromEntries(Object.entries(e?.trackLines ?? {}).map(([e, t]) => [e, {
|
|
981
983
|
horizontal: typeof t?.horizontal != "boolean" || t.horizontal,
|
|
982
984
|
vertical: typeof t?.vertical != "boolean" || t.vertical,
|
|
@@ -984,37 +986,37 @@ function qt(e) {
|
|
|
984
986
|
verticalColor: typeof t?.verticalColor == "string" && t.verticalColor.trim() ? t.verticalColor : void 0
|
|
985
987
|
}]));
|
|
986
988
|
return {
|
|
987
|
-
rowCount:
|
|
988
|
-
columnCount:
|
|
989
|
+
rowCount: Gt(e?.rowCount, 2),
|
|
990
|
+
columnCount: Gt(e?.columnCount, 1),
|
|
989
991
|
showPagination: e?.showPagination ?? !0,
|
|
990
992
|
trackLines: t
|
|
991
993
|
};
|
|
992
994
|
}
|
|
993
|
-
function
|
|
995
|
+
function qt(e) {
|
|
994
996
|
return e.rowCount * e.columnCount;
|
|
995
997
|
}
|
|
996
|
-
function
|
|
997
|
-
return Math.max(1, Math.ceil(Math.max(0, e) /
|
|
998
|
+
function Jt(e, t) {
|
|
999
|
+
return Math.max(1, Math.ceil(Math.max(0, e) / qt(t)));
|
|
998
1000
|
}
|
|
999
|
-
function
|
|
1000
|
-
let r =
|
|
1001
|
-
return e.slice(i, i +
|
|
1001
|
+
function Yt(e, t, n) {
|
|
1002
|
+
let r = Jt(e.length, n), i = (Math.min(r, Math.max(1, Math.floor(t))) - 1) * qt(n);
|
|
1003
|
+
return e.slice(i, i + qt(n));
|
|
1002
1004
|
}
|
|
1003
|
-
function
|
|
1005
|
+
function Xt(e) {
|
|
1004
1006
|
return e === "compact" ? 0 : e === "separated" ? 16 : 14;
|
|
1005
1007
|
}
|
|
1006
|
-
function
|
|
1007
|
-
let s =
|
|
1008
|
+
function Zt(e, t, n, r, i = [], a, o = !0) {
|
|
1009
|
+
let s = Xt(r), c = Number.isFinite(a) ? Math.max(0, a) : s, l = Math.max(0, n.columnCount - 1) * c, u = /* @__PURE__ */ new Set();
|
|
1008
1010
|
if (o) {
|
|
1009
1011
|
if (r === "independent") for (let e = 0; e < n.rowCount; e += 1) u.add(e);
|
|
1010
1012
|
else if (r === "compact") u.add(n.rowCount - 1);
|
|
1011
|
-
else for (let e = 0; e < n.columnCount; e += 1) for (let t =
|
|
1013
|
+
else for (let e = 0; e < n.columnCount; e += 1) for (let t = qt(n) - 1; t >= 0; --t) if (t % n.columnCount === e && i[t]) {
|
|
1012
1014
|
u.add(Math.floor(t / n.columnCount));
|
|
1013
1015
|
break;
|
|
1014
1016
|
}
|
|
1015
1017
|
}
|
|
1016
1018
|
let d = Math.max(0, n.rowCount - 1) * s, f = u.size * 30, p = Math.max(1, (e - l) / n.columnCount), m = Math.max(1, (t - d - f) / n.rowCount);
|
|
1017
|
-
return Array.from({ length:
|
|
1019
|
+
return Array.from({ length: qt(n) }, (e, t) => {
|
|
1018
1020
|
let r = Math.floor(t / n.columnCount), i = t % n.columnCount, a = u.has(r) ? 30 : 0, o = m + a, l = Array.from({ length: r }, (e, t) => {
|
|
1019
1021
|
let n = u.has(t) ? 30 : 0;
|
|
1020
1022
|
return m + n + s;
|
|
@@ -1033,7 +1035,7 @@ function Qt(e, t, n, r, i = [], a, o = !0) {
|
|
|
1033
1035
|
};
|
|
1034
1036
|
});
|
|
1035
1037
|
}
|
|
1036
|
-
function
|
|
1038
|
+
function Qt(e, t) {
|
|
1037
1039
|
let n = /* @__PURE__ */ new Set();
|
|
1038
1040
|
for (let r = 0; r < t; r += 1) for (let t = e.length - 1; t >= 0; --t) {
|
|
1039
1041
|
let i = e[t];
|
|
@@ -1046,11 +1048,11 @@ function $t(e, t) {
|
|
|
1046
1048
|
}
|
|
1047
1049
|
//#endregion
|
|
1048
1050
|
//#region src/components/core/trackLayoutBuilder.ts
|
|
1049
|
-
function
|
|
1051
|
+
function $t(e) {
|
|
1050
1052
|
let t = e.cells.map((e) => ({
|
|
1051
1053
|
...e,
|
|
1052
1054
|
hasSeries: !!e.series
|
|
1053
|
-
})), n =
|
|
1055
|
+
})), n = Qt(t, e.grid.columnCount);
|
|
1054
1056
|
return t.flatMap((t, r) => {
|
|
1055
1057
|
let i = !t.series;
|
|
1056
1058
|
if (i && (e.displayMode !== "compact" || !e.showCompactEmptyTracks)) return [];
|
|
@@ -1076,7 +1078,7 @@ function en(e) {
|
|
|
1076
1078
|
visibleSeries: [a],
|
|
1077
1079
|
xDomain: a.xDomain,
|
|
1078
1080
|
yDomain: a.yDomain
|
|
1079
|
-
}, s = !i && o.visibleSeries.length > 0, c = o.visibleSeries[0] ?? o.series[0] ?? a, l = e.displayMode === "independent" ? B(e.initialXDomains?.[o.id] ?? e.initialXDomains?.[c.id] ?? e.initialXDomain ?? o.xDomain, [0, t.width]) : B(e.sharedZoomDomain, [0, t.width]), u = (e.displayMode === "independent" ? e.independentTransforms[r] ??
|
|
1081
|
+
}, s = !i && o.visibleSeries.length > 0, c = o.visibleSeries[0] ?? o.series[0] ?? a, l = e.displayMode === "independent" ? B(e.initialXDomains?.[o.id] ?? e.initialXDomains?.[c.id] ?? e.initialXDomain ?? o.xDomain, [0, t.width]) : B(e.sharedZoomDomain, [0, t.width]), u = (e.displayMode === "independent" ? e.independentTransforms[r] ?? W : W).rescaleX(l), d = e.yDomains?.[o.id], f = ln(o, e.overlayMode, e.fixedYDomain, e.fixedYDomains).map((e) => !e.fixed && d ? {
|
|
1080
1082
|
...e,
|
|
1081
1083
|
domain: d
|
|
1082
1084
|
} : e), p = {
|
|
@@ -1089,7 +1091,7 @@ function en(e) {
|
|
|
1089
1091
|
a,
|
|
1090
1092
|
...c,
|
|
1091
1093
|
...s ? [o] : []
|
|
1092
|
-
])), { tickTextWidth: u } =
|
|
1094
|
+
])), { tickTextWidth: u } = un(n.domain, !n.fixed, l), d = u + 7 + 6 + 24 + 4, f = n.side === "left" ? -p.left : t.width + p.right, m = u + 7 + 6 + 24 / 2, h = f + (n.side === "left" ? -m : m);
|
|
1093
1095
|
return p[n.side] += d, {
|
|
1094
1096
|
index: n.index,
|
|
1095
1097
|
side: n.side,
|
|
@@ -1102,13 +1104,13 @@ function en(e) {
|
|
|
1102
1104
|
seriesList: n.seriesList
|
|
1103
1105
|
};
|
|
1104
1106
|
}), h = m[0]?.scale ?? B(o.yDomain, [t.plotHeight, 0]).nice(), g = u.ticks(Math.max(2, Math.floor(t.width / 100))), _ = m[0]?.majorTicks ?? [], v = m[0]?.tickValues ?? [], y = u.domain(), b = {
|
|
1105
|
-
start:
|
|
1106
|
-
end:
|
|
1107
|
+
start: ot(y[0], y, e.timeUnit, "start", e.xAxisLabelFormatter),
|
|
1108
|
+
end: ot(y[1], y, e.timeUnit, "end", e.xAxisLabelFormatter)
|
|
1107
1109
|
}, x = b.start.length * 7 + 10, S = b.end.length * 7 + 10, C = g.filter((e) => {
|
|
1108
1110
|
let n = u(e);
|
|
1109
1111
|
return n > x && n < t.width - S;
|
|
1110
1112
|
}), w = o.visibleSeries.map((n) => {
|
|
1111
|
-
let r = m.find((e) => e.seriesList.some((e) => e.id === n.id)), a = r?.scale ?? h, o =
|
|
1113
|
+
let r = m.find((e) => e.seriesList.some((e) => e.id === n.id)), a = r?.scale ?? h, o = Wt(n.points, y, t.width, e.rendering, {
|
|
1112
1114
|
lineVisible: !i && n.lineType !== "none",
|
|
1113
1115
|
pointVisible: n.pointType !== "none",
|
|
1114
1116
|
errorBarVisible: n.errorBar.visible,
|
|
@@ -1160,8 +1162,8 @@ function en(e) {
|
|
|
1160
1162
|
}
|
|
1161
1163
|
//#endregion
|
|
1162
1164
|
//#region src/components/core/layout.ts
|
|
1163
|
-
var
|
|
1164
|
-
function
|
|
1165
|
+
var en = 7, tn = 7, nn = 4, rn = 6, an = 24;
|
|
1166
|
+
function on(e) {
|
|
1165
1167
|
return e >= 4 ? [
|
|
1166
1168
|
"left",
|
|
1167
1169
|
"left",
|
|
@@ -1173,13 +1175,13 @@ function sn(e) {
|
|
|
1173
1175
|
"right"
|
|
1174
1176
|
] : e === 2 ? ["left", "right"] : ["left"];
|
|
1175
1177
|
}
|
|
1176
|
-
var
|
|
1177
|
-
function
|
|
1178
|
-
let n =
|
|
1179
|
-
n || (n = /* @__PURE__ */ new Map(),
|
|
1178
|
+
var sn = /* @__PURE__ */ new WeakMap();
|
|
1179
|
+
function cn(e, t) {
|
|
1180
|
+
let n = sn.get(e);
|
|
1181
|
+
n || (n = /* @__PURE__ */ new Map(), sn.set(e, n));
|
|
1180
1182
|
let r = n.get(t);
|
|
1181
1183
|
if (r) return r;
|
|
1182
|
-
let i = t === "multi-axis" ? Math.min(e.visibleSeries.length, 4) : Math.min(e.visibleSeries.length, 1), a =
|
|
1184
|
+
let i = t === "multi-axis" ? Math.min(e.visibleSeries.length, 4) : Math.min(e.visibleSeries.length, 1), a = on(i), o = Array.from({ length: i }, (e, t) => ({
|
|
1183
1185
|
index: t,
|
|
1184
1186
|
side: a[t],
|
|
1185
1187
|
seriesList: [],
|
|
@@ -1196,23 +1198,23 @@ function ln(e, t) {
|
|
|
1196
1198
|
}
|
|
1197
1199
|
}), n.set(t, o), o;
|
|
1198
1200
|
}
|
|
1199
|
-
function
|
|
1200
|
-
let i =
|
|
1201
|
-
return
|
|
1201
|
+
function ln(e, t, n, r) {
|
|
1202
|
+
let i = xt(e, r);
|
|
1203
|
+
return cn(e, t).map((e) => {
|
|
1202
1204
|
if (i) return {
|
|
1203
1205
|
...e,
|
|
1204
1206
|
domain: i,
|
|
1205
1207
|
fixed: !0
|
|
1206
1208
|
};
|
|
1207
|
-
let t = e.seriesList.map((e) =>
|
|
1209
|
+
let t = e.seriesList.map((e) => St(e, n, r) ?? e.yDomain), a = e.seriesList.some((e) => St(e, n, r));
|
|
1208
1210
|
return a ? {
|
|
1209
1211
|
...e,
|
|
1210
|
-
domain:
|
|
1212
|
+
domain: wt(t),
|
|
1211
1213
|
fixed: a
|
|
1212
1214
|
} : e;
|
|
1213
1215
|
});
|
|
1214
1216
|
}
|
|
1215
|
-
function
|
|
1217
|
+
function un(e, t = !0, n) {
|
|
1216
1218
|
let r = B(e, [1, 0]);
|
|
1217
1219
|
t && r.nice();
|
|
1218
1220
|
let [i, a] = r.domain(), o = n ?? Array.from(/* @__PURE__ */ new Set([
|
|
@@ -1220,25 +1222,25 @@ function dn(e, t = !0, n) {
|
|
|
1220
1222
|
...r.ticks(10),
|
|
1221
1223
|
a
|
|
1222
1224
|
])), s = Math.max(...o);
|
|
1223
|
-
return { tickTextWidth: Math.max(1, ...o.map((e) =>
|
|
1225
|
+
return { tickTextWidth: Math.max(1, ...o.map((e) => nt(e, {
|
|
1224
1226
|
axisMin: i,
|
|
1225
1227
|
axisMax: a,
|
|
1226
1228
|
topTickValue: s
|
|
1227
|
-
}).length)) *
|
|
1229
|
+
}).length)) * en };
|
|
1228
1230
|
}
|
|
1229
|
-
function
|
|
1230
|
-
return
|
|
1231
|
+
function dn(e) {
|
|
1232
|
+
return un(e.domain, !e.fixed).tickTextWidth + tn + rn + an + nn;
|
|
1231
1233
|
}
|
|
1232
|
-
function
|
|
1233
|
-
return
|
|
1234
|
+
function fn(e) {
|
|
1235
|
+
return un(e.domain, !e.fixed).tickTextWidth + tn + nn;
|
|
1234
1236
|
}
|
|
1235
|
-
function
|
|
1236
|
-
return
|
|
1237
|
+
function pn(e, t, n, r) {
|
|
1238
|
+
return ln(e, t, n, r).reduce((n, r) => (n[r.side] += t === "multi-axis" || e.visibleSeries.length === 1 ? dn(r) : fn(r), n), {
|
|
1237
1239
|
left: 0,
|
|
1238
1240
|
right: 0
|
|
1239
1241
|
});
|
|
1240
1242
|
}
|
|
1241
|
-
function
|
|
1243
|
+
function mn(e, t, n) {
|
|
1242
1244
|
let r = (e) => {
|
|
1243
1245
|
let r = t < e.left ? e.left - t : t > e.left + e.width ? t - e.left - e.width : 0;
|
|
1244
1246
|
return n < e.top ? e.top - n : n > e.top + e.height ? n - (e.top + e.height) : r;
|
|
@@ -1257,11 +1259,11 @@ function hn(e, t, n) {
|
|
|
1257
1259
|
}
|
|
1258
1260
|
//#endregion
|
|
1259
1261
|
//#region src/components/annotation/useWaveformChartAnnotations.ts
|
|
1260
|
-
var
|
|
1261
|
-
function
|
|
1262
|
-
return
|
|
1262
|
+
var hn = 0;
|
|
1263
|
+
function gn() {
|
|
1264
|
+
return hn += 1, typeof crypto < "u" && typeof crypto.randomUUID == "function" ? crypto.randomUUID() : `annotation-${Date.now()}-${hn}`;
|
|
1263
1265
|
}
|
|
1264
|
-
function
|
|
1266
|
+
function _n(e) {
|
|
1265
1267
|
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;
|
|
1266
1268
|
function b(e) {
|
|
1267
1269
|
if (!i.value.some((t) => t.id === e)) return;
|
|
@@ -1294,7 +1296,7 @@ function vn(e) {
|
|
|
1294
1296
|
};
|
|
1295
1297
|
}
|
|
1296
1298
|
function C(e, t, n) {
|
|
1297
|
-
s.openCreate(e,
|
|
1299
|
+
s.openCreate(e, gn, t), c.value = n;
|
|
1298
1300
|
let r = s.editorDraft.value, i = l.value.find((t) => t.index === e.trackIndex)?.seriesList.find((t) => t.id === e.seriesId);
|
|
1299
1301
|
r?.mode === "add" && (r.annotation.style = {
|
|
1300
1302
|
borderColor: i?.color || "#1677ff",
|
|
@@ -1304,7 +1306,7 @@ function vn(e) {
|
|
|
1304
1306
|
}
|
|
1305
1307
|
function w(e) {
|
|
1306
1308
|
if (y.value) return;
|
|
1307
|
-
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), a = i && t ?
|
|
1309
|
+
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), a = i && t ? ve(i.points, t.annotation.x, i.lineType) : null;
|
|
1308
1310
|
!t || !n || !r || !a || (t.annotation = {
|
|
1309
1311
|
...t.annotation,
|
|
1310
1312
|
seriesId: e,
|
|
@@ -1323,7 +1325,7 @@ function vn(e) {
|
|
|
1323
1325
|
let e = l.value[n];
|
|
1324
1326
|
return e?.hasVisibleSeries ? e : void 0;
|
|
1325
1327
|
}
|
|
1326
|
-
return
|
|
1328
|
+
return mn(l.value.filter((e) => e.hasVisibleSeries), e, t);
|
|
1327
1329
|
}
|
|
1328
1330
|
function D(e, t) {
|
|
1329
1331
|
let n = e.currentTarget;
|
|
@@ -1332,7 +1334,7 @@ function vn(e) {
|
|
|
1332
1334
|
if (!o) return null;
|
|
1333
1335
|
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);
|
|
1334
1336
|
return {
|
|
1335
|
-
candidates:
|
|
1337
|
+
candidates: Y(u(o), d, c, a),
|
|
1336
1338
|
editorAnchor: x(e, t)
|
|
1337
1339
|
};
|
|
1338
1340
|
}
|
|
@@ -1382,7 +1384,7 @@ function vn(e) {
|
|
|
1382
1384
|
let e = s.contextMenu.value, n = t.annotations.find((t) => t.id === e?.annotationId);
|
|
1383
1385
|
if (!n) return;
|
|
1384
1386
|
let r = l.value.find((e) => e.seriesList.some((e) => e.id === n.seriesId));
|
|
1385
|
-
c.value = r ?
|
|
1387
|
+
c.value = r ? Y(u(r), n.x, r.xScale(n.x), r.top + d(r, n.seriesId)(n.y)) : [], s.openEdit(n, e?.editorAnchor ?? S(n));
|
|
1386
1388
|
}
|
|
1387
1389
|
function F() {
|
|
1388
1390
|
if (y.value) return;
|
|
@@ -1411,8 +1413,8 @@ function vn(e) {
|
|
|
1411
1413
|
}
|
|
1412
1414
|
//#endregion
|
|
1413
1415
|
//#region src/components/interaction/useWaveformHover.ts
|
|
1414
|
-
var
|
|
1415
|
-
function
|
|
1416
|
+
var vn = N((e) => e.x);
|
|
1417
|
+
function yn(e) {
|
|
1416
1418
|
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) => {
|
|
1417
1419
|
let r = n.points[t];
|
|
1418
1420
|
return r?.id === e.id && r.trackIndex === e.trackIndex && r.point === e.point;
|
|
@@ -1433,7 +1435,7 @@ function bn(e) {
|
|
|
1433
1435
|
r.value = !0, y();
|
|
1434
1436
|
}, C = (e = !1) => {
|
|
1435
1437
|
r.value = !e, y();
|
|
1436
|
-
}, w = () => r.value ? (r.value = !1, y(), !0) : !1, T = (e, t) => e.points[
|
|
1438
|
+
}, w = () => r.value ? (r.value = !1, y(), !0) : !1, T = (e, t) => e.points[vn.center(e.points, t)];
|
|
1437
1439
|
return {
|
|
1438
1440
|
cancelPendingHover: h,
|
|
1439
1441
|
clearHover: y,
|
|
@@ -1488,7 +1490,7 @@ function bn(e) {
|
|
|
1488
1490
|
}
|
|
1489
1491
|
//#endregion
|
|
1490
1492
|
//#region src/components/interaction/useWaveformViewport.ts
|
|
1491
|
-
function
|
|
1493
|
+
function bn(e) {
|
|
1492
1494
|
let { props: n, emit: r, selection: i, spacePressed: a, trackLayouts: o, chartTracks: s, initialXDomain: c, innerWidth: l, innerHeight: u, sharedOverlayElement: f, sharedTransform: p, independentTransforms: m, sharedYDomains: h, independentYDomains: g, isZoomMode: _, isPresentationMode: v, editorSeriesOptions: y, resolveInitialTrackDomain: b, canZoomTrack: x, canZoomSharedTracks: S, configureZoom: C, cancelPendingZoom: w, clearHover: T, resolveTrackAtPointer: E } = e, D = t(() => {
|
|
1493
1495
|
let e = i.value;
|
|
1494
1496
|
if (!e) return null;
|
|
@@ -1501,9 +1503,9 @@ function xn(e) {
|
|
|
1501
1503
|
};
|
|
1502
1504
|
}), O = (e, t, n) => {
|
|
1503
1505
|
let r = t[1] - t[0], i = e[1] - e[0];
|
|
1504
|
-
if (!Number.isFinite(r) || !Number.isFinite(i) || r <= 0 || i <= 0) return
|
|
1506
|
+
if (!Number.isFinite(r) || !Number.isFinite(i) || r <= 0 || i <= 0) return W;
|
|
1505
1507
|
let a = r / i, o = B(t, [0, n]);
|
|
1506
|
-
return
|
|
1508
|
+
return W.translate(-a * o(e[0]), 0).scale(a);
|
|
1507
1509
|
}, k = (e) => {
|
|
1508
1510
|
let t = Math.abs(e[1] - e[0]);
|
|
1509
1511
|
if (!Number.isFinite(t) || t <= 0) return 0;
|
|
@@ -1550,7 +1552,7 @@ function xn(e) {
|
|
|
1550
1552
|
let y = e.independent ? [t] : o.value, x = { ...g.value }, S = { ...h.value };
|
|
1551
1553
|
y.forEach((t) => {
|
|
1552
1554
|
let r = s.value.find((e) => e.id === t.id);
|
|
1553
|
-
if (r &&
|
|
1555
|
+
if (r && Ct(r, n.yDomain, n.yDomains)) return;
|
|
1554
1556
|
let i = t.series.trackId ?? t.series.id, o = e.yDomains[i] ?? t.yScale.domain(), c = r?.yDomain ?? o, l = o[1] - o[0], u = j([o[0] + d / a * l, o[1] + d / a * l], c);
|
|
1555
1557
|
e.independent ? x[t.index] = u : S[i] = u;
|
|
1556
1558
|
}), e.independent ? g.value = x : h.value = S, r("zoom-change", v);
|
|
@@ -1619,10 +1621,10 @@ function xn(e) {
|
|
|
1619
1621
|
}, H = (e) => {
|
|
1620
1622
|
if (w(), L(), n.displayMode === "independent" && e !== void 0) {
|
|
1621
1623
|
let t = [...m.value];
|
|
1622
|
-
t[e] =
|
|
1624
|
+
t[e] = W, m.value = t;
|
|
1623
1625
|
let n = { ...g.value };
|
|
1624
1626
|
delete n[e], g.value = n;
|
|
1625
|
-
} else p.value =
|
|
1627
|
+
} else p.value = W, m.value = s.value.map(() => W), h.value = {}, g.value = {};
|
|
1626
1628
|
T(), y.value = [], d(C);
|
|
1627
1629
|
};
|
|
1628
1630
|
return {
|
|
@@ -1640,7 +1642,7 @@ function xn(e) {
|
|
|
1640
1642
|
}
|
|
1641
1643
|
//#endregion
|
|
1642
1644
|
//#region src/components/utils/useAnimationFrameThrottle.ts
|
|
1643
|
-
function
|
|
1645
|
+
function xn() {
|
|
1644
1646
|
let e = null, t = null;
|
|
1645
1647
|
function n(n) {
|
|
1646
1648
|
t = n, e === null && (e = requestAnimationFrame(() => {
|
|
@@ -1669,8 +1671,8 @@ function Sn() {
|
|
|
1669
1671
|
}
|
|
1670
1672
|
//#endregion
|
|
1671
1673
|
//#region src/components/interaction/useWaveformZoom.ts
|
|
1672
|
-
function
|
|
1673
|
-
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 =
|
|
1674
|
+
function Sn(e) {
|
|
1675
|
+
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 = xn(), y = !1, b = null, x = null, S = null, C = /* @__PURE__ */ new Map(), w = /* @__PURE__ */ new Map(), T = /* @__PURE__ */ new Map(), E = /* @__PURE__ */ new Set(), D, O = () => v.schedule(j), k = (e) => {
|
|
1674
1676
|
y || m.value || (g(), b = e.transform, x = "wheel", O(), P());
|
|
1675
1677
|
}, A = (e, t) => {
|
|
1676
1678
|
y || m.value || (g(), C.set(t, e.transform), w.set(t, "wheel"), O(), P());
|
|
@@ -1757,16 +1759,16 @@ function Cn(e) {
|
|
|
1757
1759
|
F(), r.value?.querySelectorAll(".waveform-chart__overlay").forEach((e) => V(e).on(".zoom", null)), _.clear();
|
|
1758
1760
|
}, L = (e) => {
|
|
1759
1761
|
let n = t.minZoomSpan;
|
|
1760
|
-
if (!Number.isFinite(n) || (n ?? 0) <= 0) return
|
|
1762
|
+
if (!Number.isFinite(n) || (n ?? 0) <= 0) return mt.DEFAULT_MAX_SCALE;
|
|
1761
1763
|
let r = Math.abs(e[1] - e[0]);
|
|
1762
|
-
return !Number.isFinite(r) || r <= 0 ?
|
|
1763
|
-
}, R = (e) =>
|
|
1764
|
+
return !Number.isFinite(r) || r <= 0 ? mt.MIN_SCALE : Math.min(mt.DEFAULT_MAX_SCALE, Math.max(mt.MIN_SCALE, r / (n ?? r)));
|
|
1765
|
+
}, R = (e) => Rt(e.seriesList, e.xScale.domain(), Number(t.minVisiblePoints)), z = () => {
|
|
1764
1766
|
let e = s.value.filter((e) => e.hasVisibleSeries);
|
|
1765
1767
|
return e.length > 0 && e.every(R);
|
|
1766
1768
|
}, H = (e, t) => {
|
|
1767
1769
|
if (e.type !== "wheel") return !1;
|
|
1768
1770
|
let n = e.deltaY;
|
|
1769
|
-
return n < 0 ? t : n > 0 &&
|
|
1771
|
+
return n < 0 ? t : n > 0 && G(e.currentTarget).k > mt.MIN_SCALE;
|
|
1770
1772
|
};
|
|
1771
1773
|
return {
|
|
1772
1774
|
cancelPendingZoom: F,
|
|
@@ -1779,10 +1781,10 @@ function Cn(e) {
|
|
|
1779
1781
|
s.value.forEach((e) => {
|
|
1780
1782
|
let t = r.value?.querySelector(`[data-independent-overlay-index="${e.index}"]`);
|
|
1781
1783
|
if (!t) return;
|
|
1782
|
-
let n = h(e), i =
|
|
1784
|
+
let n = h(e), i = re().filter((t) => H(t, R(e))).scaleExtent([1, L(n)]).extent([[0, 0], [e.width, e.height]]).translateExtent([[0, 0], [e.width, e.height]]).on("zoom", (t) => A(t, e.index)).on("end", N);
|
|
1783
1785
|
_.set(e.index, i), y = !0;
|
|
1784
1786
|
try {
|
|
1785
|
-
V(t).call(i).on("dblclick.zoom", null).call(i.transform, o.value[e.index] ??
|
|
1787
|
+
V(t).call(i).on("dblclick.zoom", null).call(i.transform, o.value[e.index] ?? W);
|
|
1786
1788
|
} finally {
|
|
1787
1789
|
y = !1;
|
|
1788
1790
|
}
|
|
@@ -1791,7 +1793,7 @@ function Cn(e) {
|
|
|
1791
1793
|
}
|
|
1792
1794
|
let e = i.value;
|
|
1793
1795
|
if (!e) return;
|
|
1794
|
-
let n =
|
|
1796
|
+
let n = re().filter((e) => H(e, z())).scaleExtent([1, L(c.value)]).extent([[0, 0], [u.value, d.value]]).translateExtent([[0, 0], [u.value, d.value]]).on("zoom", k).on("end", N);
|
|
1795
1797
|
_.set("shared", n), y = !0;
|
|
1796
1798
|
try {
|
|
1797
1799
|
V(e).call(n).on("dblclick.zoom", null).call(n.transform, a.value);
|
|
@@ -1803,25 +1805,25 @@ function Cn(e) {
|
|
|
1803
1805
|
}
|
|
1804
1806
|
//#endregion
|
|
1805
1807
|
//#region src/components/core/useWaveformChartLifecycle.ts
|
|
1806
|
-
function
|
|
1808
|
+
function Cn(e) {
|
|
1807
1809
|
return e instanceof Element && !!e.closest("button, input, select, textarea, [contenteditable]:not([contenteditable=\"false\"])");
|
|
1808
1810
|
}
|
|
1809
|
-
function
|
|
1811
|
+
function wn(e) {
|
|
1810
1812
|
let { props: t, emit: n, container: r, titleMeasureElement: i, resizeObserver: a, observedWidth: o, observedHeight: s, measuredTitleWidth: c, measuredTitleHeight: l, resolvedTitleText: u, titleAreaReserved: f, titleMeasureStyle: p, spacePressed: g, pointerInsideChart: _, currentPage: v, pageCount: y, pagedTracks: b, gridOptions: x, chartSeries: S, chartTracks: C, innerWidth: w, innerHeight: T, activeInteractionMode: D, hiddenSeriesIdSet: O, internalHiddenSeriesIds: k, independentTransforms: A, independentYDomains: j, annotationInteraction: M, editorSeriesOptions: N, isPresentationMode: P, clearHover: F, cancelAnnotation: I, configureZoom: L, resetViewport: R, cancelViewportDrag: z, cancelPendingHover: B, clearZoomBindings: V } = e;
|
|
1811
1813
|
function H(e) {
|
|
1812
|
-
P.value || e.code !== "Space" || !t.pannable || !_.value ||
|
|
1814
|
+
P.value || e.code !== "Space" || !t.pannable || !_.value || Cn(e.target) || (g.value = !0, e.preventDefault());
|
|
1813
1815
|
}
|
|
1814
|
-
function
|
|
1816
|
+
function U(e) {
|
|
1815
1817
|
e.code === "Space" && (g.value = !1);
|
|
1816
1818
|
}
|
|
1817
|
-
function
|
|
1819
|
+
function ee(e) {
|
|
1818
1820
|
let r = Math.min(y.value, Math.max(1, Math.floor(e)));
|
|
1819
|
-
r !== v.value && (v.value = r, F(), M.closeContextMenu(), I(), t.displayMode === "independent" && (A.value = b.value.map(() =>
|
|
1821
|
+
r !== v.value && (v.value = r, F(), M.closeContextMenu(), I(), t.displayMode === "independent" && (A.value = b.value.map(() => W), j.value = {}), d(L), n("page-change", r, y.value));
|
|
1820
1822
|
}
|
|
1821
|
-
function
|
|
1823
|
+
function te() {
|
|
1822
1824
|
if (t.displayMode === "independent") {
|
|
1823
1825
|
let e = A.value;
|
|
1824
|
-
A.value = C.value.map((t, n) => e[n] ??
|
|
1826
|
+
A.value = C.value.map((t, n) => e[n] ?? W);
|
|
1825
1827
|
}
|
|
1826
1828
|
F(), N.value = [], d(L);
|
|
1827
1829
|
}
|
|
@@ -1873,7 +1875,7 @@ function Tn(e) {
|
|
|
1873
1875
|
let n = M.editorDraft.value;
|
|
1874
1876
|
n?.mode === "edit" && !e.some((e) => e.id === n.annotation.id) && M.closeEditor();
|
|
1875
1877
|
}, { deep: !0 });
|
|
1876
|
-
function
|
|
1878
|
+
function ne() {
|
|
1877
1879
|
if (!f.value || !i.value) {
|
|
1878
1880
|
c.value = 0, l.value = 0;
|
|
1879
1881
|
return;
|
|
@@ -1886,24 +1888,24 @@ function Tn(e) {
|
|
|
1886
1888
|
f,
|
|
1887
1889
|
p
|
|
1888
1890
|
], async () => {
|
|
1889
|
-
c.value = 0, l.value = 0, await d(),
|
|
1891
|
+
c.value = 0, l.value = 0, await d(), ne();
|
|
1890
1892
|
}, { immediate: !0 }), h(() => {
|
|
1891
|
-
window.addEventListener("keydown", H), window.addEventListener("keyup",
|
|
1892
|
-
o.value = Math.max(0, e?.contentRect.width ?? 0), s.value = Math.max(0, e?.contentRect.height ?? 0), d(
|
|
1893
|
+
window.addEventListener("keydown", H), window.addEventListener("keyup", U), r.value && (a.value = new ResizeObserver(([e]) => {
|
|
1894
|
+
o.value = Math.max(0, e?.contentRect.width ?? 0), s.value = Math.max(0, e?.contentRect.height ?? 0), d(ne);
|
|
1893
1895
|
}), a.value.observe(r.value));
|
|
1894
1896
|
}), m(() => {
|
|
1895
|
-
window.removeEventListener("keydown", H), window.removeEventListener("keyup",
|
|
1897
|
+
window.removeEventListener("keydown", H), window.removeEventListener("keyup", U), B(), a.value?.disconnect(), V(), N.value = [];
|
|
1896
1898
|
}), {
|
|
1897
|
-
goToPage:
|
|
1898
|
-
handleDataReferenceChange:
|
|
1899
|
+
goToPage: ee,
|
|
1900
|
+
handleDataReferenceChange: te
|
|
1899
1901
|
};
|
|
1900
1902
|
}
|
|
1901
1903
|
//#endregion
|
|
1902
1904
|
//#region src/components/core/useWaveformData.ts
|
|
1903
|
-
function
|
|
1905
|
+
function Tn(e, t = !1) {
|
|
1904
1906
|
let n = Infinity, r = -Infinity, i = Infinity, a = -Infinity, o = !1;
|
|
1905
1907
|
for (let s of e) if (s.x < n && (n = s.x), s.x > r && (r = s.x), s.y < i && (i = s.y), s.y > a && (a = s.y), t) {
|
|
1906
|
-
let e =
|
|
1908
|
+
let e = At(s);
|
|
1907
1909
|
(e.lower !== 0 || e.upper !== 0) && (o = !0), i = Math.min(i, s.y - e.lower), a = Math.max(a, s.y + e.upper);
|
|
1908
1910
|
}
|
|
1909
1911
|
return {
|
|
@@ -1912,27 +1914,27 @@ function En(e, t = !1) {
|
|
|
1912
1914
|
hasErrorPoints: o
|
|
1913
1915
|
};
|
|
1914
1916
|
}
|
|
1915
|
-
function
|
|
1916
|
-
return
|
|
1917
|
-
let t =
|
|
1917
|
+
function En(e) {
|
|
1918
|
+
return Mt(e).map((e) => {
|
|
1919
|
+
let t = Tn(e.points, e.errorBar.visible);
|
|
1918
1920
|
return {
|
|
1919
1921
|
...e,
|
|
1920
1922
|
...t
|
|
1921
1923
|
};
|
|
1922
1924
|
});
|
|
1923
1925
|
}
|
|
1924
|
-
function
|
|
1925
|
-
let n = x(
|
|
1926
|
+
function Dn(e, t) {
|
|
1927
|
+
let n = x(En(e()));
|
|
1926
1928
|
return E(e, (e) => {
|
|
1927
|
-
n.value =
|
|
1929
|
+
n.value = En(e), t();
|
|
1928
1930
|
}), n;
|
|
1929
1931
|
}
|
|
1930
1932
|
//#endregion
|
|
1931
1933
|
//#region src/components/core/useWaveformLayout.ts
|
|
1932
|
-
function
|
|
1934
|
+
function On(e) {
|
|
1933
1935
|
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 } = e, m = t(() => r.value.map((e, t) => ({
|
|
1934
1936
|
...e,
|
|
1935
|
-
color: e.color ?? (t === 0 ? n.lineColor :
|
|
1937
|
+
color: e.color ?? (t === 0 ? n.lineColor : _t[t % _t.length])
|
|
1936
1938
|
}))), h = t(() => {
|
|
1937
1939
|
let e = /* @__PURE__ */ new Map();
|
|
1938
1940
|
return m.value.forEach((t) => {
|
|
@@ -1950,15 +1952,15 @@ function kn(e) {
|
|
|
1950
1952
|
yDomain: $(i)
|
|
1951
1953
|
};
|
|
1952
1954
|
});
|
|
1953
|
-
}), g = t(() =>
|
|
1954
|
-
let e = h.value.filter((e) => e.visibleSeries.length > 0).flatMap((e) =>
|
|
1955
|
+
}), g = t(() => Kt(n.grid)), _ = t(() => Pt(n.rendering)), v = t(() => Jt(h.value.length, g.value)), y = t(() => Yt(h.value, i.value, g.value)), b = t(() => {
|
|
1956
|
+
let e = h.value.filter((e) => e.visibleSeries.length > 0).flatMap((e) => ln(e, n.overlayMode, n.yDomain, n.yDomains)).map((e) => un(e.domain, !e.fixed).tickTextWidth), t = Math.max(7, ...e), r = t + 7 + 4, i = -(7 + t + 6 + 24 / 2);
|
|
1955
1957
|
return {
|
|
1956
1958
|
tickClearance: r,
|
|
1957
1959
|
fullClearance: t + 7 + 6 + 24 + 4,
|
|
1958
1960
|
labelCenterX: i
|
|
1959
1961
|
};
|
|
1960
|
-
}), x = t(() => h.value.some((e) => e.visibleSeries.length === 1 && !!(e.visibleSeries[0]?.name.trim() || n.yLabel))), S = t(() => h.value.some((e) => e.visibleSeries.length > 0)), C = t(() => Math.max(
|
|
1961
|
-
let r =
|
|
1962
|
+
}), x = t(() => h.value.some((e) => e.visibleSeries.length === 1 && !!(e.visibleSeries[0]?.name.trim() || n.yLabel))), S = t(() => h.value.some((e) => e.visibleSeries.length > 0)), C = t(() => Math.max(pt.left, x.value ? b.value.fullClearance : S.value ? b.value.tickClearance : 0)), w = t(() => h.value.reduce((e, t) => {
|
|
1963
|
+
let r = pn(t, n.overlayMode, n.yDomain, n.yDomains);
|
|
1962
1964
|
return {
|
|
1963
1965
|
left: Math.max(e.left, r.left),
|
|
1964
1966
|
right: Math.max(e.right, r.right)
|
|
@@ -1966,8 +1968,8 @@ function kn(e) {
|
|
|
1966
1968
|
}, {
|
|
1967
1969
|
left: 0,
|
|
1968
1970
|
right: 0
|
|
1969
|
-
})), T = t(() => n.overlayMode === "multi-axis" ? Math.max(C.value, w.value.left) : C.value), E = t(() => n.overlayMode === "multi-axis" ? Math.max(
|
|
1970
|
-
let e =
|
|
1971
|
+
})), T = t(() => n.overlayMode === "multi-axis" ? Math.max(C.value, w.value.left) : C.value), E = t(() => n.overlayMode === "multi-axis" ? Math.max(pt.right, w.value.right) : pt.right), D = t(() => Math.max(0, o.value - T.value - E.value)), O = t(() => {
|
|
1972
|
+
let e = Xt(n.displayMode), t = g.value.columnCount, r = t > 1, i = Math.max(e, b.value.fullClearance), a = Math.max(e, b.value.tickClearance), o = (D.value - i * Math.max(0, t - 1)) / t >= 120;
|
|
1971
1973
|
return {
|
|
1972
1974
|
horizontalGap: n.overlayMode === "multi-axis" && r && S.value ? Math.max(e, w.value.left + w.value.right) : r && S.value ? x.value && o ? i : a : e,
|
|
1973
1975
|
hideSecondaryLabels: n.overlayMode !== "multi-axis" && r && x.value && !o
|
|
@@ -1983,10 +1985,10 @@ function kn(e) {
|
|
|
1983
1985
|
}), I = (e) => {
|
|
1984
1986
|
let t = n.initialXDomains?.[e.series.trackId ?? e.series.id] ?? n.initialXDomains?.[e.series.id] ?? n.initialXDomain;
|
|
1985
1987
|
return t && Number.isFinite(t[0]) && Number.isFinite(t[1]) && t[0] !== t[1] ? t[0] < t[1] ? t : [t[1], t[0]] : $(e.seriesList.flatMap((e) => e.xDomain));
|
|
1986
|
-
}, L = t(() => l.value.rescaleX(B(F.value, [0, D.value])).domain()), R = t(() =>
|
|
1988
|
+
}, L = t(() => l.value.rescaleX(B(F.value, [0, D.value])).domain()), R = t(() => Zt(D.value, s.value, g.value, n.displayMode, y.value.map(Boolean), O.value.horizontalGap).map((e, t) => ({
|
|
1987
1989
|
...e,
|
|
1988
1990
|
series: y.value[t]
|
|
1989
|
-
}))), z = t(() =>
|
|
1991
|
+
}))), z = t(() => $t({
|
|
1990
1992
|
cells: R.value,
|
|
1991
1993
|
grid: g.value,
|
|
1992
1994
|
displayMode: n.displayMode,
|
|
@@ -2002,6 +2004,7 @@ function kn(e) {
|
|
|
2002
2004
|
return n ? [[e.id, n]] : [];
|
|
2003
2005
|
})) : d.value,
|
|
2004
2006
|
timeUnit: n.timeUnit,
|
|
2007
|
+
xAxisLabelFormatter: n.axes?.x?.labelFormatter,
|
|
2005
2008
|
rendering: _.value,
|
|
2006
2009
|
hideSecondaryLabels: c.value || O.value.hideSecondaryLabels,
|
|
2007
2010
|
yAxisLabelX: b.value.labelCenterX,
|
|
@@ -2010,7 +2013,7 @@ function kn(e) {
|
|
|
2010
2013
|
...e,
|
|
2011
2014
|
series: t,
|
|
2012
2015
|
yScale: e.seriesPaths.find((e) => e.series.id === t.id)?.yScale ?? e.yScale
|
|
2013
|
-
})), H = (e, t) => e.seriesPaths.find((e) => e.series.id === t)?.yScale ?? e.yScale,
|
|
2016
|
+
})), H = (e, t) => e.seriesPaths.find((e) => e.series.id === t)?.yScale ?? e.yScale, U = t(() => z.value.flatMap(V));
|
|
2014
2017
|
return {
|
|
2015
2018
|
chartSeries: m,
|
|
2016
2019
|
chartTracks: h,
|
|
@@ -2032,9 +2035,8 @@ function kn(e) {
|
|
|
2032
2035
|
trackLayouts: z,
|
|
2033
2036
|
annotationLayoutsForTrack: V,
|
|
2034
2037
|
resolveSeriesYScale: H,
|
|
2035
|
-
annotationTrackLayouts:
|
|
2036
|
-
renderedAnnotations: t(() => n.annotationsVisible ?
|
|
2037
|
-
xAxisTitleY: t(() => s.value + 30 + 10),
|
|
2038
|
+
annotationTrackLayouts: U,
|
|
2039
|
+
renderedAnnotations: t(() => n.annotationsVisible ? me(n.annotations, U.value, D.value, s.value) : []),
|
|
2038
2040
|
editorSeries: t(() => {
|
|
2039
2041
|
let e = p.editorDraft.value?.annotation.seriesId, t = m.value.find((t) => t.id === e);
|
|
2040
2042
|
return t ? {
|
|
@@ -2049,13 +2051,13 @@ function kn(e) {
|
|
|
2049
2051
|
}
|
|
2050
2052
|
};
|
|
2051
2053
|
}
|
|
2052
|
-
var
|
|
2053
|
-
function
|
|
2054
|
+
var kn = 1e-6;
|
|
2055
|
+
function An(e) {
|
|
2054
2056
|
return Number.isFinite(e) ? Math.max(1, e) : 1;
|
|
2055
2057
|
}
|
|
2056
|
-
function
|
|
2057
|
-
let i =
|
|
2058
|
-
if (!(d >
|
|
2058
|
+
function jn({ naturalWidth: e, naturalHeight: t, availableWidth: n, rotation: r }) {
|
|
2059
|
+
let i = An(e), a = An(t), o = An(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;
|
|
2060
|
+
if (!(d > kn && Math.abs(d - 360) > kn)) {
|
|
2059
2061
|
let e = Math.max(1, Math.ceil(i / o)), t = o, n = a * e;
|
|
2060
2062
|
return {
|
|
2061
2063
|
textWidth: t,
|
|
@@ -2080,7 +2082,7 @@ function Mn({ naturalWidth: e, naturalHeight: t, availableWidth: n, rotation: r
|
|
|
2080
2082
|
}
|
|
2081
2083
|
//#endregion
|
|
2082
2084
|
//#region src/components/core/useWaveformPresentation.ts
|
|
2083
|
-
function
|
|
2085
|
+
function Mn(e) {
|
|
2084
2086
|
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(() => ({
|
|
2085
2087
|
width: l.value === void 0 ? "100%" : `${l.value}px`,
|
|
2086
2088
|
height: u.value === void 0 ? "100%" : `${u.value}px`
|
|
@@ -2088,9 +2090,9 @@ function Nn(e) {
|
|
|
2088
2090
|
let e = n.zeroLine.width;
|
|
2089
2091
|
return {
|
|
2090
2092
|
visible: n.zeroLine.visible === !0,
|
|
2091
|
-
color: n.zeroLine.color ||
|
|
2092
|
-
width: typeof e == "number" && Number.isFinite(e) && e > 0 ? e :
|
|
2093
|
-
dash: n.zeroLine.dash ??
|
|
2093
|
+
color: n.zeroLine.color || yt.COLOR,
|
|
2094
|
+
width: typeof e == "number" && Number.isFinite(e) && e > 0 ? e : yt.WIDTH,
|
|
2095
|
+
dash: n.zeroLine.dash ?? yt.DASH
|
|
2094
2096
|
};
|
|
2095
2097
|
}), _ = t(() => n.legend.backgroundColor || "rgba(255, 255, 255, 0.7)"), v = t(() => n.legend.interactive === !0), y = t(() => n.hiddenSeriesIds === void 0 ? s.value : new Set(n.hiddenSeriesIds)), b = t(() => Array.from(y.value)), x = (e) => n.legend.trackPositions?.[e] ?? n.legend.position ?? "top-right", S = (e) => {
|
|
2096
2098
|
let t = n.legend.orientation ?? "auto";
|
|
@@ -2112,10 +2114,10 @@ function Nn(e) {
|
|
|
2112
2114
|
fontStyle: n.title?.textStyle?.fontStyle ?? "normal",
|
|
2113
2115
|
textDecoration: n.title?.textStyle?.textDecoration ?? "none",
|
|
2114
2116
|
letterSpacing: n.title?.textStyle?.letterSpacing ?? "normal",
|
|
2115
|
-
lineHeight: String(
|
|
2117
|
+
lineHeight: String(gt)
|
|
2116
2118
|
})), A = t(() => {
|
|
2117
2119
|
let e = Number.parseFloat(n.title?.textStyle?.letterSpacing ?? ""), t = Number.isFinite(e) ? Math.max(0, C.value.length - 1) * e : 0;
|
|
2118
|
-
return Math.max(1, C.value.length * E.value *
|
|
2120
|
+
return Math.max(1, C.value.length * E.value * ht + t);
|
|
2119
2121
|
}), j = t(() => {
|
|
2120
2122
|
let e = d.value - 48;
|
|
2121
2123
|
return e > 0 ? e : A.value;
|
|
@@ -2125,12 +2127,15 @@ function Nn(e) {
|
|
|
2125
2127
|
maxWidth: O.value ? "none" : `${j.value}px`,
|
|
2126
2128
|
whiteSpace: O.value ? "nowrap" : "normal",
|
|
2127
2129
|
overflowWrap: O.value ? "normal" : "anywhere"
|
|
2128
|
-
})), N = t(() =>
|
|
2130
|
+
})), N = t(() => jn({
|
|
2129
2131
|
naturalWidth: a.value || A.value,
|
|
2130
2132
|
naturalHeight: o.value || E.value * 1.2,
|
|
2131
2133
|
availableWidth: j.value,
|
|
2132
2134
|
rotation: D.value
|
|
2133
|
-
})), P = t(() => w.value ? N.value.areaHeight : 0), F = t
|
|
2135
|
+
})), P = t(() => w.value ? N.value.areaHeight : 0), F = (e, t) => typeof e == "number" && Number.isFinite(e) && e >= 0 ? e : t, I = t(() => ({
|
|
2136
|
+
top: F(n.plotMargin.top, pt.top),
|
|
2137
|
+
bottom: F(n.plotMargin.bottom, pt.bottom)
|
|
2138
|
+
})), L = t(() => I.value.top), R = t(() => Math.max(0, f.value - P.value - c.value));
|
|
2134
2139
|
return {
|
|
2135
2140
|
fixedWidth: l,
|
|
2136
2141
|
fixedHeight: u,
|
|
@@ -2152,9 +2157,11 @@ function Nn(e) {
|
|
|
2152
2157
|
titleMeasureStyle: M,
|
|
2153
2158
|
titleLayout: N,
|
|
2154
2159
|
titleAreaHeight: P,
|
|
2155
|
-
|
|
2156
|
-
|
|
2157
|
-
|
|
2160
|
+
resolvedPlotMargin: I,
|
|
2161
|
+
chartTopMargin: L,
|
|
2162
|
+
drawingHeight: R,
|
|
2163
|
+
xAxisTitleY: t(() => Math.max(0, R.value - 12)),
|
|
2164
|
+
innerHeight: t(() => Math.max(0, R.value - I.value.top - I.value.bottom)),
|
|
2158
2165
|
titleAreaStyle: t(() => ({
|
|
2159
2166
|
height: `${P.value}px`,
|
|
2160
2167
|
justifyContent: n.title?.align === "left" ? "flex-start" : n.title?.align === "right" ? "flex-end" : "center"
|
|
@@ -2176,22 +2183,22 @@ function Nn(e) {
|
|
|
2176
2183
|
}
|
|
2177
2184
|
//#endregion
|
|
2178
2185
|
//#region src/components/core/useWaveformChartController.ts
|
|
2179
|
-
function
|
|
2186
|
+
function Nn(e, t) {
|
|
2180
2187
|
e.value = t instanceof Element ? t : void 0;
|
|
2181
2188
|
}
|
|
2182
|
-
function
|
|
2183
|
-
let n = v(), r = v(), i = v(), a = v(), o = v(0), s = v(0), c = v(0), l = v(0), d = v(0), f = x(
|
|
2189
|
+
function Pn(e, t) {
|
|
2190
|
+
let n = v(), r = v(), i = v(), a = v(), o = v(0), s = v(0), c = v(0), l = v(0), d = v(0), f = x(W), p = x([]), m = v({}), h = v({}), g = b({
|
|
2184
2191
|
points: [],
|
|
2185
2192
|
trackIndex: null,
|
|
2186
2193
|
position: {
|
|
2187
2194
|
x: 0,
|
|
2188
2195
|
y: 0
|
|
2189
2196
|
}
|
|
2190
|
-
}), y = v(!1), S = v(1), w = x(), T =
|
|
2197
|
+
}), y = v(!1), S = v(1), w = x(), T = oe("waveform-clip"), O = v(new Set(e.defaultHiddenSeriesIds)), k = Ge(), A = v([]), j = xn();
|
|
2191
2198
|
E([() => e.yDomain, () => e.yDomains], () => {
|
|
2192
2199
|
m.value = {}, h.value = {};
|
|
2193
2200
|
}, { deep: !0 });
|
|
2194
|
-
let M = v(null), N = v(!1), P = v(!1), F = () => void 0, I =
|
|
2201
|
+
let M = v(null), N = v(!1), P = v(!1), F = () => void 0, I = Dn(() => e.data, () => F()), L = Mn({
|
|
2195
2202
|
props: e,
|
|
2196
2203
|
observedWidth: o,
|
|
2197
2204
|
observedHeight: s,
|
|
@@ -2199,101 +2206,101 @@ function Fn(e, t) {
|
|
|
2199
2206
|
measuredTitleHeight: l,
|
|
2200
2207
|
internalHiddenSeriesIds: O,
|
|
2201
2208
|
paginationBandHeight: d
|
|
2202
|
-
}), { chartWidth: R, chartHeight: z, isCleanView: B, isPresentationMode: V, hiddenSeriesIdSet: H, resolvedTitleText:
|
|
2209
|
+
}), { chartWidth: R, chartHeight: z, isCleanView: B, isPresentationMode: V, hiddenSeriesIdSet: H, resolvedTitleText: U, titleAreaReserved: ee, titleMeasureStyle: te, titleAreaHeight: ne, chartTopMargin: re, innerHeight: G } = L, ie = On({
|
|
2203
2210
|
props: e,
|
|
2204
2211
|
preparedSeries: I,
|
|
2205
2212
|
currentPage: S,
|
|
2206
2213
|
hiddenSeriesIdSet: H,
|
|
2207
2214
|
chartWidth: R,
|
|
2208
|
-
innerHeight:
|
|
2215
|
+
innerHeight: G,
|
|
2209
2216
|
isCleanView: B,
|
|
2210
2217
|
sharedTransform: f,
|
|
2211
2218
|
independentTransforms: p,
|
|
2212
2219
|
sharedYDomains: m,
|
|
2213
2220
|
independentYDomains: h,
|
|
2214
2221
|
annotationInteraction: u(k)
|
|
2215
|
-
}), { chartSeries:
|
|
2222
|
+
}), { chartSeries: K, chartTracks: ae, gridOptions: q, pageCount: se, pagedTracks: ce, resolvedChartLeftMargin: le, innerWidth: ue, hasChartArea: de, activeInteractionMode: fe, isZoomMode: pe, initialXDomain: me, sharedZoomDomain: he, resolveInitialTrackDomain: ge, trackLayouts: J, annotationLayoutsForTrack: _e, resolveSeriesYScale: ve } = ie;
|
|
2216
2223
|
D(() => {
|
|
2217
|
-
d.value =
|
|
2224
|
+
d.value = q.value.showPagination && se.value > 1 && R.value <= 520 ? 40 : 0;
|
|
2218
2225
|
});
|
|
2219
|
-
let
|
|
2226
|
+
let Y = Sn({
|
|
2220
2227
|
props: e,
|
|
2221
2228
|
emit: t,
|
|
2222
2229
|
svgElement: r,
|
|
2223
2230
|
sharedOverlayElement: a,
|
|
2224
2231
|
sharedTransform: f,
|
|
2225
2232
|
independentTransforms: p,
|
|
2226
|
-
trackLayouts:
|
|
2227
|
-
initialXDomain:
|
|
2228
|
-
sharedZoomDomain:
|
|
2229
|
-
innerWidth:
|
|
2230
|
-
innerHeight:
|
|
2231
|
-
hasChartArea:
|
|
2232
|
-
isZoomMode:
|
|
2233
|
+
trackLayouts: J,
|
|
2234
|
+
initialXDomain: me,
|
|
2235
|
+
sharedZoomDomain: he,
|
|
2236
|
+
innerWidth: ue,
|
|
2237
|
+
innerHeight: G,
|
|
2238
|
+
hasChartArea: de,
|
|
2239
|
+
isZoomMode: pe,
|
|
2233
2240
|
isPresentationMode: V,
|
|
2234
|
-
resolveInitialTrackDomain:
|
|
2235
|
-
cancelPendingHover: () =>
|
|
2236
|
-
}),
|
|
2241
|
+
resolveInitialTrackDomain: ge,
|
|
2242
|
+
cancelPendingHover: () => be.cancelPendingHover()
|
|
2243
|
+
}), X = _n({
|
|
2237
2244
|
props: e,
|
|
2238
2245
|
emit: t,
|
|
2239
2246
|
container: n,
|
|
2240
|
-
chartSeries:
|
|
2247
|
+
chartSeries: K,
|
|
2241
2248
|
hiddenSeriesIdSet: H,
|
|
2242
2249
|
internalHiddenSeriesIds: O,
|
|
2243
2250
|
annotationInteraction: k,
|
|
2244
2251
|
editorSeriesOptions: A,
|
|
2245
|
-
trackLayouts:
|
|
2246
|
-
annotationLayoutsForTrack:
|
|
2247
|
-
resolveSeriesYScale:
|
|
2252
|
+
trackLayouts: J,
|
|
2253
|
+
annotationLayoutsForTrack: _e,
|
|
2254
|
+
resolveSeriesYScale: ve,
|
|
2248
2255
|
chartWidth: R,
|
|
2249
2256
|
chartHeight: z,
|
|
2250
|
-
innerWidth:
|
|
2251
|
-
resolvedChartLeftMargin:
|
|
2252
|
-
titleAreaHeight:
|
|
2253
|
-
chartTopMargin:
|
|
2254
|
-
activeInteractionMode:
|
|
2257
|
+
innerWidth: ue,
|
|
2258
|
+
resolvedChartLeftMargin: le,
|
|
2259
|
+
titleAreaHeight: ne,
|
|
2260
|
+
chartTopMargin: re,
|
|
2261
|
+
activeInteractionMode: fe,
|
|
2255
2262
|
isPresentationMode: V
|
|
2256
|
-
}),
|
|
2263
|
+
}), ye = bn({
|
|
2257
2264
|
props: e,
|
|
2258
2265
|
emit: t,
|
|
2259
2266
|
selection: M,
|
|
2260
2267
|
spacePressed: N,
|
|
2261
|
-
trackLayouts:
|
|
2262
|
-
chartTracks:
|
|
2263
|
-
initialXDomain:
|
|
2264
|
-
innerWidth:
|
|
2265
|
-
innerHeight:
|
|
2268
|
+
trackLayouts: J,
|
|
2269
|
+
chartTracks: ae,
|
|
2270
|
+
initialXDomain: me,
|
|
2271
|
+
innerWidth: ue,
|
|
2272
|
+
innerHeight: G,
|
|
2266
2273
|
sharedOverlayElement: a,
|
|
2267
2274
|
sharedTransform: f,
|
|
2268
2275
|
independentTransforms: p,
|
|
2269
2276
|
sharedYDomains: m,
|
|
2270
2277
|
independentYDomains: h,
|
|
2271
|
-
isZoomMode:
|
|
2278
|
+
isZoomMode: pe,
|
|
2272
2279
|
isPresentationMode: V,
|
|
2273
2280
|
editorSeriesOptions: A,
|
|
2274
|
-
resolveInitialTrackDomain:
|
|
2275
|
-
canZoomTrack:
|
|
2276
|
-
canZoomSharedTracks:
|
|
2277
|
-
configureZoom:
|
|
2278
|
-
cancelPendingZoom:
|
|
2279
|
-
clearHover: () =>
|
|
2280
|
-
resolveTrackAtPointer:
|
|
2281
|
-
}),
|
|
2281
|
+
resolveInitialTrackDomain: ge,
|
|
2282
|
+
canZoomTrack: Y.canZoomTrack,
|
|
2283
|
+
canZoomSharedTracks: Y.canZoomSharedTracks,
|
|
2284
|
+
configureZoom: Y.configureZoom,
|
|
2285
|
+
cancelPendingZoom: Y.cancelPendingZoom,
|
|
2286
|
+
clearHover: () => be.clearHover(),
|
|
2287
|
+
resolveTrackAtPointer: X.resolveTrackAtPointer
|
|
2288
|
+
}), be = yn({
|
|
2282
2289
|
emit: t,
|
|
2283
2290
|
hoverState: g,
|
|
2284
2291
|
suppressHoverUntilMove: y,
|
|
2285
2292
|
hoverThrottle: j,
|
|
2286
2293
|
selection: M,
|
|
2287
|
-
trackLayouts:
|
|
2288
|
-
innerWidth:
|
|
2289
|
-
resolvedChartLeftMargin:
|
|
2290
|
-
titleAreaHeight:
|
|
2291
|
-
chartTopMargin:
|
|
2294
|
+
trackLayouts: J,
|
|
2295
|
+
innerWidth: ue,
|
|
2296
|
+
resolvedChartLeftMargin: le,
|
|
2297
|
+
titleAreaHeight: ne,
|
|
2298
|
+
chartTopMargin: re,
|
|
2292
2299
|
sharedOverlayElement: a,
|
|
2293
2300
|
isPresentationMode: V,
|
|
2294
|
-
updateViewportDrag:
|
|
2295
|
-
resolveTrackAtPointer:
|
|
2296
|
-
}), xe =
|
|
2301
|
+
updateViewportDrag: ye.updateViewportDrag,
|
|
2302
|
+
resolveTrackAtPointer: X.resolveTrackAtPointer
|
|
2303
|
+
}), xe = wn({
|
|
2297
2304
|
props: e,
|
|
2298
2305
|
emit: t,
|
|
2299
2306
|
container: n,
|
|
@@ -2303,20 +2310,20 @@ function Fn(e, t) {
|
|
|
2303
2310
|
observedHeight: s,
|
|
2304
2311
|
measuredTitleWidth: c,
|
|
2305
2312
|
measuredTitleHeight: l,
|
|
2306
|
-
resolvedTitleText:
|
|
2307
|
-
titleAreaReserved:
|
|
2308
|
-
titleMeasureStyle:
|
|
2313
|
+
resolvedTitleText: U,
|
|
2314
|
+
titleAreaReserved: ee,
|
|
2315
|
+
titleMeasureStyle: te,
|
|
2309
2316
|
spacePressed: N,
|
|
2310
2317
|
pointerInsideChart: P,
|
|
2311
2318
|
currentPage: S,
|
|
2312
|
-
pageCount:
|
|
2313
|
-
pagedTracks:
|
|
2314
|
-
gridOptions:
|
|
2315
|
-
chartSeries:
|
|
2316
|
-
chartTracks:
|
|
2317
|
-
innerWidth:
|
|
2318
|
-
innerHeight:
|
|
2319
|
-
activeInteractionMode:
|
|
2319
|
+
pageCount: se,
|
|
2320
|
+
pagedTracks: ce,
|
|
2321
|
+
gridOptions: q,
|
|
2322
|
+
chartSeries: K,
|
|
2323
|
+
chartTracks: ae,
|
|
2324
|
+
innerWidth: ue,
|
|
2325
|
+
innerHeight: G,
|
|
2326
|
+
activeInteractionMode: fe,
|
|
2320
2327
|
hiddenSeriesIdSet: H,
|
|
2321
2328
|
internalHiddenSeriesIds: O,
|
|
2322
2329
|
independentTransforms: p,
|
|
@@ -2324,23 +2331,23 @@ function Fn(e, t) {
|
|
|
2324
2331
|
annotationInteraction: k,
|
|
2325
2332
|
editorSeriesOptions: A,
|
|
2326
2333
|
isPresentationMode: V,
|
|
2327
|
-
clearHover:
|
|
2328
|
-
cancelAnnotation:
|
|
2329
|
-
configureZoom:
|
|
2330
|
-
resetViewport:
|
|
2331
|
-
cancelViewportDrag:
|
|
2332
|
-
cancelPendingHover:
|
|
2333
|
-
clearZoomBindings:
|
|
2334
|
+
clearHover: be.clearHover,
|
|
2335
|
+
cancelAnnotation: X.cancelAnnotation,
|
|
2336
|
+
configureZoom: Y.configureZoom,
|
|
2337
|
+
resetViewport: ye.resetViewport,
|
|
2338
|
+
cancelViewportDrag: ye.cancelViewportDrag,
|
|
2339
|
+
cancelPendingHover: be.cancelPendingHover,
|
|
2340
|
+
clearZoomBindings: Y.clearZoomBindings
|
|
2334
2341
|
});
|
|
2335
2342
|
return F = xe.handleDataReferenceChange, _({
|
|
2336
2343
|
...C(e),
|
|
2337
2344
|
...L,
|
|
2338
|
-
...
|
|
2339
|
-
...Y,
|
|
2340
|
-
...be,
|
|
2345
|
+
...ie,
|
|
2341
2346
|
...X,
|
|
2342
|
-
|
|
2343
|
-
|
|
2347
|
+
...ye,
|
|
2348
|
+
...be,
|
|
2349
|
+
margin: pt,
|
|
2350
|
+
getPageSize: qt,
|
|
2344
2351
|
currentPage: S,
|
|
2345
2352
|
selection: M,
|
|
2346
2353
|
pointerInsideChart: P,
|
|
@@ -2351,31 +2358,31 @@ function Fn(e, t) {
|
|
|
2351
2358
|
editorSeriesOptions: A,
|
|
2352
2359
|
clipPathId: T,
|
|
2353
2360
|
goToPage: xe.goToPage,
|
|
2354
|
-
setContainer: (e) =>
|
|
2355
|
-
setSvgElement: (e) =>
|
|
2356
|
-
setTitleMeasureElement: (e) =>
|
|
2357
|
-
setSharedOverlayElement: (e) =>
|
|
2361
|
+
setContainer: (e) => Nn(n, e),
|
|
2362
|
+
setSvgElement: (e) => Nn(r, e),
|
|
2363
|
+
setTitleMeasureElement: (e) => Nn(i, e),
|
|
2364
|
+
setSharedOverlayElement: (e) => Nn(a, e)
|
|
2358
2365
|
});
|
|
2359
2366
|
}
|
|
2360
2367
|
//#endregion
|
|
2361
2368
|
//#region src/components/annotation/WaveformAnnotationEditor.vue?vue&type=script&setup=true&lang.ts
|
|
2362
|
-
var
|
|
2369
|
+
var Fn = ["aria-labelledby"], In = { class: "waveform-annotation-editor__panel" }, Ln = { class: "waveform-annotation-editor__header" }, Rn = ["id"], zn = {
|
|
2363
2370
|
class: "waveform-annotation-editor__coordinates",
|
|
2364
2371
|
"aria-label": "标注坐标"
|
|
2365
|
-
},
|
|
2372
|
+
}, Bn = {
|
|
2366
2373
|
key: 0,
|
|
2367
2374
|
class: "waveform-annotation-editor__series",
|
|
2368
2375
|
"aria-label": "标注所属波形"
|
|
2369
|
-
},
|
|
2376
|
+
}, Vn = { class: "waveform-annotation-editor__series-label" }, Hn = ["value"], Un = ["value"], Wn = { key: 1 }, Gn = { class: "waveform-annotation-editor__field" }, Kn = { class: "waveform-annotation-editor__label-row" }, qn = ["maxlength"], Jn = { class: "waveform-annotation-editor__colors" }, Yn = {
|
|
2370
2377
|
class: "waveform-annotation-editor__color-field",
|
|
2371
2378
|
title: "调整标注边框色和透明度"
|
|
2372
|
-
},
|
|
2379
|
+
}, Xn = {
|
|
2373
2380
|
class: "waveform-annotation-editor__color-field",
|
|
2374
2381
|
title: "调整标注文字色和透明度"
|
|
2375
|
-
},
|
|
2382
|
+
}, Zn = {
|
|
2376
2383
|
class: "waveform-annotation-editor__color-field",
|
|
2377
2384
|
title: "调整标注背景色和透明度"
|
|
2378
|
-
},
|
|
2385
|
+
}, Qn = { class: "waveform-annotation-editor__actions" }, $n = ["disabled"], er = /*#__PURE__*/ Z(/* @__PURE__ */ c({
|
|
2379
2386
|
__name: "WaveformAnnotationEditor",
|
|
2380
2387
|
props: {
|
|
2381
2388
|
annotation: {},
|
|
@@ -2390,7 +2397,7 @@ var In = ["aria-labelledby"], Ln = { class: "waveform-annotation-editor__panel"
|
|
|
2390
2397
|
"series-change"
|
|
2391
2398
|
],
|
|
2392
2399
|
setup(n, { emit: o }) {
|
|
2393
|
-
let c = n, l = o, u = v(), f =
|
|
2400
|
+
let c = n, l = o, u = v(), f = oe("waveform-annotation-editor-title"), m = v(""), h = v(""), _ = v(""), b = v(""), x = t(() => m.value.trim().length > 0), C = t(() => m.value.length), D = t(() => {
|
|
2394
2401
|
let e = c.seriesOptions?.find((e) => e.seriesId === c.annotation.seriesId);
|
|
2395
2402
|
return e ? {
|
|
2396
2403
|
id: e.seriesId,
|
|
@@ -2428,21 +2435,21 @@ var In = ["aria-labelledby"], Ln = { class: "waveform-annotation-editor__panel"
|
|
|
2428
2435
|
"aria-modal": "true",
|
|
2429
2436
|
"aria-labelledby": w(f),
|
|
2430
2437
|
onClick: n[6] ||= k((e) => l("cancel"), ["self"])
|
|
2431
|
-
}, [a("section",
|
|
2432
|
-
a("header",
|
|
2438
|
+
}, [a("section", In, [
|
|
2439
|
+
a("header", Ln, [a("div", null, [a("h2", { id: w(f) }, S(c.mode === "add" ? "添加标注" : "编辑标注"), 9, Rn)]), a("button", {
|
|
2433
2440
|
type: "button",
|
|
2434
2441
|
class: "waveform-annotation-editor__close",
|
|
2435
2442
|
"aria-label": "关闭标注编辑器",
|
|
2436
2443
|
title: "关闭",
|
|
2437
2444
|
onClick: n[0] ||= (e) => l("cancel")
|
|
2438
2445
|
}, " × ")]),
|
|
2439
|
-
a("div",
|
|
2440
|
-
D.value ? (g(), i("label",
|
|
2446
|
+
a("div", zn, [a("span", null, [a("b", null, "X (" + S(c.timeUnit) + ")", 1), a("code", null, S(w(ut)(c.annotation.x, c.timeUnit)), 1)]), a("span", null, [n[7] ||= a("b", null, "Y", -1), a("code", null, S(w(it)(c.annotation.y)), 1)])]),
|
|
2447
|
+
D.value ? (g(), i("label", Bn, [
|
|
2441
2448
|
a("i", {
|
|
2442
2449
|
style: p({ backgroundColor: D.value.color }),
|
|
2443
2450
|
"aria-hidden": "true"
|
|
2444
2451
|
}, null, 4),
|
|
2445
|
-
a("span",
|
|
2452
|
+
a("span", Vn, [n[8] ||= a("small", null, "标注波形", -1), a("b", null, S(D.value.name), 1)]),
|
|
2446
2453
|
c.seriesOptions?.length ? (g(), i("select", {
|
|
2447
2454
|
key: 0,
|
|
2448
2455
|
value: c.annotation.seriesId,
|
|
@@ -2451,9 +2458,9 @@ var In = ["aria-labelledby"], Ln = { class: "waveform-annotation-editor__panel"
|
|
|
2451
2458
|
}, [(g(!0), i(e, null, y(c.seriesOptions, (e) => (g(), i("option", {
|
|
2452
2459
|
key: e.seriesId,
|
|
2453
2460
|
value: e.seriesId
|
|
2454
|
-
}, S(e.name) + S(e.unit ? ` (${e.unit})` : ""), 9,
|
|
2461
|
+
}, S(e.name) + S(e.unit ? ` (${e.unit})` : ""), 9, Un))), 128))], 40, Hn)) : D.value.unit ? (g(), i("code", Wn, S(D.value.unit), 1)) : r("", !0)
|
|
2455
2462
|
])) : r("", !0),
|
|
2456
|
-
a("label",
|
|
2463
|
+
a("label", Gn, [a("span", Kn, [n[9] ||= a("b", null, "标注文本", -1), a("small", null, S(C.value) + "/" + S(w(40)), 1)]), O(a("textarea", {
|
|
2457
2464
|
ref_key: "textarea",
|
|
2458
2465
|
ref: u,
|
|
2459
2466
|
"onUpdate:modelValue": n[1] ||= (e) => m.value = e,
|
|
@@ -2462,10 +2469,10 @@ var In = ["aria-labelledby"], Ln = { class: "waveform-annotation-editor__panel"
|
|
|
2462
2469
|
"aria-label": "标注文本",
|
|
2463
2470
|
placeholder: "输入这处波形的说明",
|
|
2464
2471
|
onKeydown: M
|
|
2465
|
-
}, null, 40,
|
|
2466
|
-
a("fieldset",
|
|
2472
|
+
}, null, 40, qn), [[T, m.value]])]),
|
|
2473
|
+
a("fieldset", Jn, [
|
|
2467
2474
|
n[13] ||= a("legend", null, "颜色与透明度", -1),
|
|
2468
|
-
a("label",
|
|
2475
|
+
a("label", Yn, [n[10] ||= a("span", null, "边框色", -1), s(w(K), {
|
|
2469
2476
|
"pure-color": h.value,
|
|
2470
2477
|
"onUpdate:pureColor": n[2] ||= (e) => h.value = e,
|
|
2471
2478
|
"aria-label": "标注边框色",
|
|
@@ -2475,7 +2482,7 @@ var In = ["aria-labelledby"], Ln = { class: "waveform-annotation-editor__panel"
|
|
|
2475
2482
|
"disable-alpha": !1,
|
|
2476
2483
|
"blur-close": !0
|
|
2477
2484
|
}, null, 8, ["pure-color"])]),
|
|
2478
|
-
a("label",
|
|
2485
|
+
a("label", Xn, [n[11] ||= a("span", null, "文字色", -1), s(w(K), {
|
|
2479
2486
|
"pure-color": _.value,
|
|
2480
2487
|
"onUpdate:pureColor": n[3] ||= (e) => _.value = e,
|
|
2481
2488
|
"aria-label": "标注文字色",
|
|
@@ -2485,7 +2492,7 @@ var In = ["aria-labelledby"], Ln = { class: "waveform-annotation-editor__panel"
|
|
|
2485
2492
|
"disable-alpha": !1,
|
|
2486
2493
|
"blur-close": !0
|
|
2487
2494
|
}, null, 8, ["pure-color"])]),
|
|
2488
|
-
a("label",
|
|
2495
|
+
a("label", Zn, [n[12] ||= a("span", null, "背景色", -1), s(w(K), {
|
|
2489
2496
|
"pure-color": b.value,
|
|
2490
2497
|
"onUpdate:pureColor": n[4] ||= (e) => b.value = e,
|
|
2491
2498
|
"aria-label": "标注背景色",
|
|
@@ -2496,7 +2503,7 @@ var In = ["aria-labelledby"], Ln = { class: "waveform-annotation-editor__panel"
|
|
|
2496
2503
|
"blur-close": !0
|
|
2497
2504
|
}, null, 8, ["pure-color"])])
|
|
2498
2505
|
]),
|
|
2499
|
-
a("footer",
|
|
2506
|
+
a("footer", Qn, [a("button", {
|
|
2500
2507
|
type: "button",
|
|
2501
2508
|
onClick: n[5] ||= (e) => l("cancel")
|
|
2502
2509
|
}, "取消"), a("button", {
|
|
@@ -2504,10 +2511,10 @@ var In = ["aria-labelledby"], Ln = { class: "waveform-annotation-editor__panel"
|
|
|
2504
2511
|
class: "is-primary",
|
|
2505
2512
|
disabled: !x.value,
|
|
2506
2513
|
onClick: j
|
|
2507
|
-
}, " 保存标注 ", 8,
|
|
2508
|
-
])], 8,
|
|
2514
|
+
}, " 保存标注 ", 8, $n)])
|
|
2515
|
+
])], 8, Fn));
|
|
2509
2516
|
}
|
|
2510
|
-
}), [["__scopeId", "data-v-52818b45"]]),
|
|
2517
|
+
}), [["__scopeId", "data-v-52818b45"]]), tr = { class: "waveform-tooltip__time waveform-chart__tooltip-time" }, nr = { key: 0 }, rr = { class: "waveform-tooltip__value" }, ir = { key: 0 }, ar = 12, or = 8, sr = 238, cr = /*#__PURE__*/ Z(/* @__PURE__ */ c({
|
|
2511
2518
|
__name: "WaveformTooltip",
|
|
2512
2519
|
props: {
|
|
2513
2520
|
visible: { type: Boolean },
|
|
@@ -2521,30 +2528,30 @@ var In = ["aria-labelledby"], Ln = { class: "waveform-annotation-editor__panel"
|
|
|
2521
2528
|
setup(n) {
|
|
2522
2529
|
let s = n, c = t(() => {
|
|
2523
2530
|
if (!s.visible || !s.hoveredPoint) return { display: "none" };
|
|
2524
|
-
let e = 44 + s.seriesPoints.length * 22, t = s.position.x +
|
|
2531
|
+
let e = 44 + s.seriesPoints.length * 22, t = s.position.x + ar, n = s.position.x - ar - sr;
|
|
2525
2532
|
return {
|
|
2526
|
-
...t +
|
|
2533
|
+
...t + sr <= s.containerWidth - or ? { left: `${t}px` } : n >= or ? { right: `${s.containerWidth - s.position.x + ar}px` } : { left: `${or}px` },
|
|
2527
2534
|
top: `${Math.max(8, Math.min(s.position.y - 18, s.containerHeight - e - 8))}px`
|
|
2528
2535
|
};
|
|
2529
2536
|
});
|
|
2530
2537
|
function l(e) {
|
|
2531
|
-
let { lower: t, upper: n } =
|
|
2532
|
-
return t === 0 && n === 0 ? null : `(+${
|
|
2538
|
+
let { lower: t, upper: n } = At(e);
|
|
2539
|
+
return t === 0 && n === 0 ? null : `(+${rt(n)} / -${rt(t)})`;
|
|
2533
2540
|
}
|
|
2534
2541
|
return (t, s) => n.visible && n.hoveredPoint ? (g(), i("div", {
|
|
2535
2542
|
key: 0,
|
|
2536
2543
|
class: "waveform-tooltip waveform-chart__tooltip",
|
|
2537
2544
|
style: p(c.value)
|
|
2538
|
-
}, [a("span",
|
|
2545
|
+
}, [a("span", tr, S(n.timeUnit) + ": " + S(w(lt)(n.hoveredPoint.x, n.timeUnit)), 1), (g(!0), i(e, null, y(n.seriesPoints, (e) => (g(), i("span", {
|
|
2539
2546
|
key: `${e.trackIndex}-${e.name}`,
|
|
2540
2547
|
class: "waveform-tooltip__series waveform-chart__tooltip-series"
|
|
2541
2548
|
}, [
|
|
2542
2549
|
a("i", { style: p({ backgroundColor: e.color }) }, null, 4),
|
|
2543
|
-
e.name ? (g(), i("strong",
|
|
2544
|
-
a("span",
|
|
2550
|
+
e.name ? (g(), i("strong", nr, S(e.name) + ":", 1)) : r("", !0),
|
|
2551
|
+
a("span", rr, [o(S(w(rt)(e.point.y)) + S(e.unit ? ` ${e.unit}` : "") + " ", 1), l(e.point) ? (g(), i("small", ir, S(l(e.point)), 1)) : r("", !0)])
|
|
2545
2552
|
]))), 128))], 4)) : r("", !0);
|
|
2546
2553
|
}
|
|
2547
|
-
}), [["__scopeId", "data-v-b8b5592a"]]),
|
|
2554
|
+
}), [["__scopeId", "data-v-b8b5592a"]]), lr = /* @__PURE__ */ c({
|
|
2548
2555
|
__name: "WaveformHoverHost",
|
|
2549
2556
|
props: {
|
|
2550
2557
|
state: {},
|
|
@@ -2555,7 +2562,7 @@ var In = ["aria-labelledby"], Ln = { class: "waveform-annotation-editor__panel"
|
|
|
2555
2562
|
},
|
|
2556
2563
|
setup(e) {
|
|
2557
2564
|
let r = e, i = t(() => r.state.points[0]?.point ?? null);
|
|
2558
|
-
return (t, r) => (g(), n(
|
|
2565
|
+
return (t, r) => (g(), n(cr, {
|
|
2559
2566
|
visible: e.visible && i.value !== null,
|
|
2560
2567
|
position: e.state.position,
|
|
2561
2568
|
"time-unit": e.timeUnit,
|
|
@@ -2573,16 +2580,16 @@ var In = ["aria-labelledby"], Ln = { class: "waveform-annotation-editor__panel"
|
|
|
2573
2580
|
"container-height"
|
|
2574
2581
|
]));
|
|
2575
2582
|
}
|
|
2576
|
-
}),
|
|
2577
|
-
circle:
|
|
2578
|
-
square:
|
|
2579
|
-
triangle:
|
|
2580
|
-
diamond:
|
|
2583
|
+
}), ur = 13, dr = 2, fr = 14, pr = 8, mr = 24, hr = {
|
|
2584
|
+
circle: U,
|
|
2585
|
+
square: te,
|
|
2586
|
+
triangle: ne,
|
|
2587
|
+
diamond: ee
|
|
2581
2588
|
};
|
|
2582
|
-
function
|
|
2583
|
-
return e === "none" ? null : H().type(
|
|
2589
|
+
function gr(e, t = 48) {
|
|
2590
|
+
return e === "none" ? null : H().type(hr[e]).size(t)() ?? null;
|
|
2584
2591
|
}
|
|
2585
|
-
function
|
|
2592
|
+
function _r(e, t, n = 48) {
|
|
2586
2593
|
if (e === "none" || t.length === 0) return null;
|
|
2587
2594
|
if (e === "circle") {
|
|
2588
2595
|
let e = Math.sqrt(n / Math.PI);
|
|
@@ -2599,24 +2606,24 @@ function vr(e, t, n = 48) {
|
|
|
2599
2606
|
let r = Math.sqrt(n / (2 * Math.tan(Math.PI / 6))), i = r * Math.tan(Math.PI / 6);
|
|
2600
2607
|
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("");
|
|
2601
2608
|
}
|
|
2602
|
-
function
|
|
2609
|
+
function vr(e) {
|
|
2603
2610
|
return e === "none" ? null : "M1 8H25";
|
|
2604
2611
|
}
|
|
2605
|
-
function
|
|
2612
|
+
function yr(e) {
|
|
2606
2613
|
if (e === "dashed") return "8 5";
|
|
2607
2614
|
if (e === "dash-dot") return "8 5 1.5 5";
|
|
2608
2615
|
}
|
|
2609
|
-
function
|
|
2610
|
-
let t = (Number.isFinite(e) && e > 0 ? Math.min(e,
|
|
2616
|
+
function br(e) {
|
|
2617
|
+
let t = (Number.isFinite(e) && e > 0 ? Math.min(e, mr) : pr) / 2, n = ur - t, r = ur + t;
|
|
2611
2618
|
return [
|
|
2612
|
-
`M${n} ${
|
|
2613
|
-
`M${
|
|
2614
|
-
`M${n} ${
|
|
2619
|
+
`M${n} ${dr}H${r}`,
|
|
2620
|
+
`M${ur} ${dr}V${fr}`,
|
|
2621
|
+
`M${n} ${fr}H${r}`
|
|
2615
2622
|
].join("");
|
|
2616
2623
|
}
|
|
2617
2624
|
//#endregion
|
|
2618
2625
|
//#region src/components/rendering/WaveformSeriesLayer.vue?vue&type=script&setup=true&lang.ts
|
|
2619
|
-
var
|
|
2626
|
+
var xr = ["clip-path"], Sr = ["data-series-id", "data-series-name"], Cr = [
|
|
2620
2627
|
"data-series-id",
|
|
2621
2628
|
"data-series-name",
|
|
2622
2629
|
"data-y-axis-index",
|
|
@@ -2625,11 +2632,11 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
|
|
|
2625
2632
|
"d",
|
|
2626
2633
|
"stroke",
|
|
2627
2634
|
"stroke-dasharray"
|
|
2628
|
-
],
|
|
2635
|
+
], wr = ["data-series-id"], Tr = [
|
|
2629
2636
|
"d",
|
|
2630
2637
|
"stroke",
|
|
2631
2638
|
"stroke-width"
|
|
2632
|
-
],
|
|
2639
|
+
], Er = ["data-series-id", "data-point-type"], Dr = ["d", "fill"], Or = /*#__PURE__*/ Z(/* @__PURE__ */ c({
|
|
2633
2640
|
__name: "WaveformSeriesLayer",
|
|
2634
2641
|
props: {
|
|
2635
2642
|
track: {},
|
|
@@ -2637,11 +2644,11 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
|
|
|
2637
2644
|
},
|
|
2638
2645
|
setup(n) {
|
|
2639
2646
|
let a = n, o = t(() => a.track.seriesPaths.map((e) => {
|
|
2640
|
-
let t =
|
|
2647
|
+
let t = _r(e.series.pointType, e.pointRenderPoints.map((t) => ({
|
|
2641
2648
|
x: a.track.xScale(t.x),
|
|
2642
2649
|
y: e.yScale(t.y)
|
|
2643
2650
|
}))), n = e.series.errorBar.capWidth / 2, r = e.errorBarRenderPoints.map((t) => {
|
|
2644
|
-
let { lower: r, upper: i } =
|
|
2651
|
+
let { lower: r, upper: i } = At(t), o = a.track.xScale(t.x), s = e.yScale(t.y - r), c = e.yScale(t.y + i);
|
|
2645
2652
|
return [
|
|
2646
2653
|
`M${o - n},${s}H${o + n}`,
|
|
2647
2654
|
`M${o},${s}V${c}`,
|
|
@@ -2674,8 +2681,8 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
|
|
|
2674
2681
|
"data-line-style": e.series.lineStyle,
|
|
2675
2682
|
d: e.path,
|
|
2676
2683
|
stroke: e.series.color,
|
|
2677
|
-
"stroke-dasharray": w(
|
|
2678
|
-
}, null, 8,
|
|
2684
|
+
"stroke-dasharray": w(yr)(e.series.lineStyle)
|
|
2685
|
+
}, null, 8, Cr)) : r("", !0),
|
|
2679
2686
|
e.series.errorBar.visible ? (g(), i("g", {
|
|
2680
2687
|
key: 1,
|
|
2681
2688
|
class: "waveform-track__error-bars waveform-chart__error-bars",
|
|
@@ -2686,7 +2693,7 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
|
|
|
2686
2693
|
d: e.errorBarPath,
|
|
2687
2694
|
stroke: e.series.errorBar.color || e.series.color,
|
|
2688
2695
|
"stroke-width": e.series.errorBar.width
|
|
2689
|
-
}, null, 8,
|
|
2696
|
+
}, null, 8, Tr)) : r("", !0)], 8, wr)) : r("", !0),
|
|
2690
2697
|
e.series.pointType === "none" ? r("", !0) : (g(), i("g", {
|
|
2691
2698
|
key: 2,
|
|
2692
2699
|
class: "waveform-track__points waveform-chart__points",
|
|
@@ -2697,20 +2704,20 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
|
|
|
2697
2704
|
class: "waveform-track__point waveform-chart__point",
|
|
2698
2705
|
d: e.pointPath,
|
|
2699
2706
|
fill: e.series.color
|
|
2700
|
-
}, null, 8,
|
|
2701
|
-
], 8,
|
|
2707
|
+
}, null, 8, Dr)) : r("", !0)], 8, Er))
|
|
2708
|
+
], 8, Sr))), 128))], 8, xr)) : r("", !0);
|
|
2702
2709
|
}
|
|
2703
|
-
}), [["__scopeId", "data-v-42a3fd47"]]),
|
|
2710
|
+
}), [["__scopeId", "data-v-42a3fd47"]]), kr = ["transform"], Ar = ["transform"], jr = {
|
|
2704
2711
|
class: "waveform-track__axis-endpoint waveform-track__axis-endpoint--start waveform-chart__axis-endpoint waveform-chart__axis-endpoint--start",
|
|
2705
2712
|
x: "0",
|
|
2706
2713
|
y: "7",
|
|
2707
2714
|
dy: "0.71em",
|
|
2708
2715
|
"text-anchor": "start"
|
|
2709
|
-
},
|
|
2716
|
+
}, Mr = ["x"], Nr = [
|
|
2710
2717
|
"data-y-axis-index",
|
|
2711
2718
|
"data-y-axis-side",
|
|
2712
2719
|
"transform"
|
|
2713
|
-
],
|
|
2720
|
+
], Pr = { key: 2 }, Fr = ["x", "y"], Ir = ["fill", "transform"], Lr = ["data-y-axis-title-index"], Rr = ["x", "y"], zr = ["fill", "transform"], Br = /* @__PURE__ */ c({
|
|
2714
2721
|
__name: "WaveformTrackAxes",
|
|
2715
2722
|
props: {
|
|
2716
2723
|
track: {},
|
|
@@ -2739,7 +2746,7 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
|
|
|
2739
2746
|
if (n.track.yAxes.forEach((e, t) => {
|
|
2740
2747
|
let r = s.value[t];
|
|
2741
2748
|
if (!r) return;
|
|
2742
|
-
let [i, a] = e.scale.domain(), o = Math.max(...e.tickValues), c = (e.side === "left" ? j(e.scale) : M(e.scale)).tickFormat((e) =>
|
|
2749
|
+
let [i, a] = e.scale.domain(), o = Math.max(...e.tickValues), c = (e.side === "left" ? j(e.scale) : M(e.scale)).tickFormat((e) => nt(Number(e), {
|
|
2743
2750
|
axisMin: i,
|
|
2744
2751
|
axisMax: a,
|
|
2745
2752
|
topTickValue: o
|
|
@@ -2747,7 +2754,7 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
|
|
|
2747
2754
|
l.call(c), l.selectAll("path.domain").attr("display", n.axes?.y?.lineVisible === !1 ? "none" : null);
|
|
2748
2755
|
}), !o.value) return;
|
|
2749
2756
|
let e = V(o.value);
|
|
2750
|
-
e.call(A(n.track.xScale).tickValues(n.track.xAxisTickValues).tickFormat((e) =>
|
|
2757
|
+
e.call(A(n.track.xScale).tickValues(n.track.xAxisTickValues).tickFormat((e) => ot(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);
|
|
2751
2758
|
}
|
|
2752
2759
|
return h(async () => {
|
|
2753
2760
|
await d(), m();
|
|
@@ -2757,6 +2764,7 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
|
|
|
2757
2764
|
() => n.track.xAxisTickValues,
|
|
2758
2765
|
() => n.track.yAxisTickValues,
|
|
2759
2766
|
() => n.timeUnit,
|
|
2767
|
+
() => n.axes?.x?.labelFormatter,
|
|
2760
2768
|
() => n.axes?.x?.lineVisible,
|
|
2761
2769
|
() => n.axes?.y?.lineVisible
|
|
2762
2770
|
], async () => {
|
|
@@ -2768,7 +2776,7 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
|
|
|
2768
2776
|
ref: o,
|
|
2769
2777
|
class: f(["waveform-track__axis waveform-track__axis--x waveform-chart__axis waveform-chart__axis--x", { "waveform-track__axis--line-hidden": t.axes?.x?.lineVisible === !1 }]),
|
|
2770
2778
|
transform: `translate(0, ${t.track.height})`
|
|
2771
|
-
}, null, 10,
|
|
2779
|
+
}, null, 10, kr)) : r("", !0),
|
|
2772
2780
|
t.track.showXAxis ? (g(), i("g", {
|
|
2773
2781
|
key: 1,
|
|
2774
2782
|
class: "waveform-track__axis-endpoints waveform-chart__axis-endpoints",
|
|
@@ -2776,13 +2784,13 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
|
|
|
2776
2784
|
"font-family": "sans-serif",
|
|
2777
2785
|
"font-size": "10",
|
|
2778
2786
|
"aria-hidden": "true"
|
|
2779
|
-
}, [a("text",
|
|
2787
|
+
}, [a("text", jr, S(t.track.endpointLabels.start), 1), a("text", {
|
|
2780
2788
|
class: "waveform-track__axis-endpoint waveform-track__axis-endpoint--end waveform-chart__axis-endpoint waveform-chart__axis-endpoint--end",
|
|
2781
2789
|
x: t.track.width ?? t.innerWidth,
|
|
2782
2790
|
y: "7",
|
|
2783
2791
|
dy: "0.71em",
|
|
2784
2792
|
"text-anchor": "end"
|
|
2785
|
-
}, S(t.track.endpointLabels.end), 9,
|
|
2793
|
+
}, S(t.track.endpointLabels.end), 9, Mr)], 8, Ar)) : r("", !0),
|
|
2786
2794
|
(g(!0), i(e, null, y(t.track.isEmpty ? [] : t.track.yAxes, (e) => (g(), i("g", {
|
|
2787
2795
|
key: `y-axis-${t.track.index}-${e.index}`,
|
|
2788
2796
|
ref_for: !0,
|
|
@@ -2791,21 +2799,21 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
|
|
|
2791
2799
|
"data-y-axis-index": e.index,
|
|
2792
2800
|
"data-y-axis-side": e.side,
|
|
2793
2801
|
transform: `translate(${e.x}, 0)`
|
|
2794
|
-
}, null, 10,
|
|
2795
|
-
!t.cleanView && !t.track.isEmpty && t.track.hasVisibleSeries && t.track.seriesList.length === 1 && t.track.showYAxisLabel && c(t.track.series) && p(t.track.height, t.track.index) ? (g(), i("g",
|
|
2802
|
+
}, null, 10, Nr))), 128)),
|
|
2803
|
+
!t.cleanView && !t.track.isEmpty && t.track.hasVisibleSeries && t.track.seriesList.length === 1 && t.track.showYAxisLabel && c(t.track.series) && p(t.track.height, t.track.index) ? (g(), i("g", Pr, [a("rect", {
|
|
2796
2804
|
class: "waveform-track__y-axis-label-bg waveform-chart__y-axis-label-bg",
|
|
2797
2805
|
x: t.track.yAxisLabelX - 12,
|
|
2798
2806
|
y: t.track.height / 2 - 40,
|
|
2799
2807
|
width: "24",
|
|
2800
2808
|
height: "80",
|
|
2801
2809
|
rx: "2"
|
|
2802
|
-
}, null, 8,
|
|
2810
|
+
}, null, 8, Fr), a("text", {
|
|
2803
2811
|
class: "waveform-track__y-axis-label waveform-chart__y-axis-label",
|
|
2804
2812
|
fill: t.track.series.color,
|
|
2805
2813
|
transform: `translate(${t.track.yAxisLabelX}, ${t.track.height / 2}) rotate(-90)`,
|
|
2806
2814
|
"text-anchor": "middle",
|
|
2807
2815
|
"dominant-baseline": "central"
|
|
2808
|
-
}, S(c(t.track.series)), 9,
|
|
2816
|
+
}, S(c(t.track.series)), 9, Ir)])) : r("", !0),
|
|
2809
2817
|
(g(!0), i(e, null, y(!t.cleanView && t.track.yAxes.length > 1 ? t.track.yAxes.filter(l) : [], (e) => (g(), i("g", {
|
|
2810
2818
|
key: `y-axis-title-${t.track.index}-${e.index}`,
|
|
2811
2819
|
class: "waveform-track__multi-axis-title",
|
|
@@ -2817,40 +2825,40 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
|
|
|
2817
2825
|
width: "24",
|
|
2818
2826
|
height: "80",
|
|
2819
2827
|
rx: "2"
|
|
2820
|
-
}, null, 8,
|
|
2828
|
+
}, null, 8, Rr), a("text", {
|
|
2821
2829
|
class: "waveform-track__y-axis-label waveform-chart__y-axis-label",
|
|
2822
2830
|
fill: e.seriesList[0].color,
|
|
2823
2831
|
transform: `translate(${e.labelX}, ${t.track.height / 2}) rotate(-90)`,
|
|
2824
2832
|
"text-anchor": "middle",
|
|
2825
2833
|
"dominant-baseline": "central"
|
|
2826
|
-
}, S(c(e.seriesList[0])), 9,
|
|
2834
|
+
}, S(c(e.seriesList[0])), 9, zr)], 8, Lr))), 128))
|
|
2827
2835
|
], 64));
|
|
2828
2836
|
}
|
|
2829
|
-
}),
|
|
2837
|
+
}), Vr = [
|
|
2830
2838
|
"width",
|
|
2831
2839
|
"height",
|
|
2832
2840
|
"fill"
|
|
2833
|
-
],
|
|
2841
|
+
], Hr = ["clip-path"], Ur = { class: "waveform-track__grid waveform-track__grid--minor waveform-chart__grid waveform-chart__grid--minor" }, Wr = [
|
|
2834
2842
|
"stroke",
|
|
2835
2843
|
"x1",
|
|
2836
2844
|
"x2",
|
|
2837
2845
|
"y2"
|
|
2838
|
-
],
|
|
2846
|
+
], Gr = [
|
|
2839
2847
|
"stroke",
|
|
2840
2848
|
"x2",
|
|
2841
2849
|
"y1",
|
|
2842
2850
|
"y2"
|
|
2843
|
-
],
|
|
2851
|
+
], Kr = { class: "waveform-track__grid waveform-track__grid--major waveform-chart__grid waveform-chart__grid--major" }, qr = [
|
|
2844
2852
|
"stroke",
|
|
2845
2853
|
"x1",
|
|
2846
2854
|
"x2",
|
|
2847
2855
|
"y2"
|
|
2848
|
-
],
|
|
2856
|
+
], Jr = [
|
|
2849
2857
|
"stroke",
|
|
2850
2858
|
"x2",
|
|
2851
2859
|
"y1",
|
|
2852
2860
|
"y2"
|
|
2853
|
-
],
|
|
2861
|
+
], Yr = ["clip-path"], Xr = [
|
|
2854
2862
|
"data-y-axis-index",
|
|
2855
2863
|
"x2",
|
|
2856
2864
|
"y1",
|
|
@@ -2858,7 +2866,7 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
|
|
|
2858
2866
|
"stroke",
|
|
2859
2867
|
"stroke-width",
|
|
2860
2868
|
"stroke-dasharray"
|
|
2861
|
-
],
|
|
2869
|
+
], Zr = ["x", "y"], Qr = /* @__PURE__ */ c({
|
|
2862
2870
|
__name: "WaveformTrackBackdrop",
|
|
2863
2871
|
props: {
|
|
2864
2872
|
track: {},
|
|
@@ -2883,12 +2891,12 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
|
|
|
2883
2891
|
height: t.track.height,
|
|
2884
2892
|
fill: t.frameStyle.backgroundColor,
|
|
2885
2893
|
"aria-hidden": "true"
|
|
2886
|
-
}, null, 8,
|
|
2894
|
+
}, null, 8, Vr)) : r("", !0),
|
|
2887
2895
|
!t.track.isEmpty && t.track.hasVisibleSeries && !t.cleanView ? (g(), i("g", {
|
|
2888
2896
|
key: 1,
|
|
2889
2897
|
"clip-path": `url(#${t.clipPathId}-${t.track.index})`,
|
|
2890
2898
|
"aria-hidden": "true"
|
|
2891
|
-
}, [a("g",
|
|
2899
|
+
}, [a("g", Ur, [t.track.gridLines.vertical ? (g(!0), i(e, { key: 0 }, y(t.track.xMinorTicks, (e) => (g(), i("line", {
|
|
2892
2900
|
key: `x-minor-${t.track.index}-${e}`,
|
|
2893
2901
|
"data-grid-direction": "vertical",
|
|
2894
2902
|
stroke: t.track.gridLines.verticalColor,
|
|
@@ -2896,7 +2904,7 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
|
|
|
2896
2904
|
x2: t.track.xScale(e),
|
|
2897
2905
|
y1: "0",
|
|
2898
2906
|
y2: t.track.height
|
|
2899
|
-
}, null, 8,
|
|
2907
|
+
}, null, 8, Wr))), 128)) : r("", !0), t.track.gridLines.horizontal ? (g(!0), i(e, { key: 1 }, y(t.track.yMinorTicks, (e) => (g(), i("line", {
|
|
2900
2908
|
key: `y-minor-${t.track.index}-${e}`,
|
|
2901
2909
|
"data-grid-direction": "horizontal",
|
|
2902
2910
|
stroke: t.track.gridLines.horizontalColor,
|
|
@@ -2904,7 +2912,7 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
|
|
|
2904
2912
|
x2: t.track.width ?? t.innerWidth,
|
|
2905
2913
|
y1: t.track.yScale(e),
|
|
2906
2914
|
y2: t.track.yScale(e)
|
|
2907
|
-
}, null, 8,
|
|
2915
|
+
}, null, 8, Gr))), 128)) : r("", !0)]), a("g", Kr, [t.track.gridLines.vertical ? (g(!0), i(e, { key: 0 }, y(t.track.xMajorTicks, (e) => (g(), i("line", {
|
|
2908
2916
|
key: `x-major-${t.track.index}-${e}`,
|
|
2909
2917
|
"data-grid-direction": "vertical",
|
|
2910
2918
|
stroke: t.track.gridLines.verticalColor,
|
|
@@ -2912,7 +2920,7 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
|
|
|
2912
2920
|
x2: t.track.xScale(e),
|
|
2913
2921
|
y1: "0",
|
|
2914
2922
|
y2: t.track.height
|
|
2915
|
-
}, null, 8,
|
|
2923
|
+
}, null, 8, qr))), 128)) : r("", !0), t.track.gridLines.horizontal ? (g(!0), i(e, { key: 1 }, y(t.track.yMajorTicks, (e) => (g(), i("line", {
|
|
2916
2924
|
key: `y-major-${t.track.index}-${e}`,
|
|
2917
2925
|
"data-grid-direction": "horizontal",
|
|
2918
2926
|
stroke: t.track.gridLines.horizontalColor,
|
|
@@ -2920,7 +2928,7 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
|
|
|
2920
2928
|
x2: t.track.width ?? t.innerWidth,
|
|
2921
2929
|
y1: t.track.yScale(e),
|
|
2922
2930
|
y2: t.track.yScale(e)
|
|
2923
|
-
}, null, 8,
|
|
2931
|
+
}, null, 8, Jr))), 128)) : r("", !0)])], 8, Hr)) : r("", !0),
|
|
2924
2932
|
!t.track.isEmpty && t.track.hasVisibleSeries && t.zeroLine.visible && !t.cleanView ? (g(), i("g", {
|
|
2925
2933
|
key: 2,
|
|
2926
2934
|
class: "waveform-track__zero-lines waveform-chart__zero-lines",
|
|
@@ -2937,7 +2945,7 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
|
|
|
2937
2945
|
stroke: t.zeroLine.color,
|
|
2938
2946
|
"stroke-width": t.zeroLine.width,
|
|
2939
2947
|
"stroke-dasharray": t.zeroLine.dash || void 0
|
|
2940
|
-
}, null, 8,
|
|
2948
|
+
}, null, 8, Xr))], 64))), 128))], 8, Yr)) : r("", !0),
|
|
2941
2949
|
!t.track.isEmpty && t.track.hasVisibleSeries && t.frameNumber !== void 0 && !t.cleanView ? (g(), i("text", {
|
|
2942
2950
|
key: 3,
|
|
2943
2951
|
class: "waveform-track__watermark waveform-chart__watermark",
|
|
@@ -2947,10 +2955,10 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
|
|
|
2947
2955
|
"text-anchor": "middle",
|
|
2948
2956
|
"dominant-baseline": "central",
|
|
2949
2957
|
"aria-hidden": "true"
|
|
2950
|
-
}, S(t.frameNumber), 13,
|
|
2958
|
+
}, S(t.frameNumber), 13, Zr)) : r("", !0)
|
|
2951
2959
|
], 64));
|
|
2952
2960
|
}
|
|
2953
|
-
}),
|
|
2961
|
+
}), $r = [
|
|
2954
2962
|
"data-track-index",
|
|
2955
2963
|
"data-track-empty",
|
|
2956
2964
|
"data-track-left",
|
|
@@ -2959,19 +2967,19 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
|
|
|
2959
2967
|
"data-track-top",
|
|
2960
2968
|
"data-track-height",
|
|
2961
2969
|
"transform"
|
|
2962
|
-
],
|
|
2970
|
+
], ei = [
|
|
2963
2971
|
"width",
|
|
2964
2972
|
"height",
|
|
2965
2973
|
"stroke",
|
|
2966
2974
|
"stroke-width",
|
|
2967
2975
|
"stroke-dasharray",
|
|
2968
2976
|
"stroke-linecap"
|
|
2969
|
-
],
|
|
2977
|
+
], ti = [
|
|
2970
2978
|
"data-interactive",
|
|
2971
2979
|
"data-independent-overlay-index",
|
|
2972
2980
|
"width",
|
|
2973
2981
|
"height"
|
|
2974
|
-
],
|
|
2982
|
+
], ni = ["x", "y"], ri = /* @__PURE__ */ c({
|
|
2975
2983
|
__name: "WaveformTrack",
|
|
2976
2984
|
props: {
|
|
2977
2985
|
track: {},
|
|
@@ -3030,7 +3038,7 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
|
|
|
3030
3038
|
"data-track-height": e.track.height,
|
|
3031
3039
|
transform: `translate(${e.track.left ?? 0}, ${e.track.top})`
|
|
3032
3040
|
}, [
|
|
3033
|
-
s(
|
|
3041
|
+
s(Qr, {
|
|
3034
3042
|
track: e.track,
|
|
3035
3043
|
"clip-path-id": e.clipPathId,
|
|
3036
3044
|
"inner-width": e.innerWidth,
|
|
@@ -3047,7 +3055,7 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
|
|
|
3047
3055
|
"frame-style",
|
|
3048
3056
|
"zero-line"
|
|
3049
3057
|
]),
|
|
3050
|
-
s(
|
|
3058
|
+
s(Br, {
|
|
3051
3059
|
track: e.track,
|
|
3052
3060
|
"inner-width": e.innerWidth,
|
|
3053
3061
|
"clean-view": e.cleanView,
|
|
@@ -3073,8 +3081,8 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
|
|
|
3073
3081
|
"stroke-dasharray": c.value.borderStyle === "dashed" ? "6 4" : c.value.borderStyle === "dotted" ? "1 3" : void 0,
|
|
3074
3082
|
"stroke-linecap": c.value.borderStyle === "dotted" ? "round" : void 0,
|
|
3075
3083
|
"aria-hidden": "true"
|
|
3076
|
-
}, null, 8,
|
|
3077
|
-
s(
|
|
3084
|
+
}, null, 8, ei)),
|
|
3085
|
+
s(Or, {
|
|
3078
3086
|
track: e.track,
|
|
3079
3087
|
"clip-path-id": e.clipPathId
|
|
3080
3088
|
}, null, 8, ["track", "clip-path-id"]),
|
|
@@ -3096,7 +3104,7 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
|
|
|
3096
3104
|
onPointerleave: n[4] ||= (e) => o("pointer-leave"),
|
|
3097
3105
|
onClick: n[5] ||= (e) => o("click", e),
|
|
3098
3106
|
onContextmenu: n[6] ||= (e) => o("contextmenu", e)
|
|
3099
|
-
}, null, 42,
|
|
3107
|
+
}, null, 42, ti)) : r("", !0),
|
|
3100
3108
|
!e.track.isEmpty && !e.track.hasVisibleSeries && !e.cleanView ? (g(), i("text", {
|
|
3101
3109
|
key: 2,
|
|
3102
3110
|
class: "waveform-track__no-visible-series",
|
|
@@ -3104,33 +3112,33 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
|
|
|
3104
3112
|
y: e.track.height / 2,
|
|
3105
3113
|
"text-anchor": "middle",
|
|
3106
3114
|
"dominant-baseline": "central"
|
|
3107
|
-
}, " 暂无可见曲线 ", 8,
|
|
3108
|
-
], 10,
|
|
3115
|
+
}, " 暂无可见曲线 ", 8, ni)) : r("", !0)
|
|
3116
|
+
], 10, $r));
|
|
3109
3117
|
}
|
|
3110
|
-
}),
|
|
3118
|
+
}), ii = [
|
|
3111
3119
|
"width",
|
|
3112
3120
|
"height",
|
|
3113
3121
|
"data-position",
|
|
3114
3122
|
"data-orientation"
|
|
3115
|
-
],
|
|
3123
|
+
], ai = [
|
|
3116
3124
|
"disabled",
|
|
3117
3125
|
"aria-pressed",
|
|
3118
3126
|
"aria-label",
|
|
3119
3127
|
"onClick"
|
|
3120
|
-
],
|
|
3128
|
+
], oi = [
|
|
3121
3129
|
"data-line-type",
|
|
3122
3130
|
"data-line-style",
|
|
3123
3131
|
"data-point-type",
|
|
3124
3132
|
"data-error-bar-visible"
|
|
3125
|
-
],
|
|
3133
|
+
], si = [
|
|
3126
3134
|
"d",
|
|
3127
3135
|
"stroke",
|
|
3128
3136
|
"stroke-dasharray"
|
|
3129
|
-
],
|
|
3137
|
+
], ci = [
|
|
3130
3138
|
"d",
|
|
3131
3139
|
"stroke",
|
|
3132
3140
|
"stroke-width"
|
|
3133
|
-
],
|
|
3141
|
+
], li = ["d", "fill"], ui = ["title"], di = /*#__PURE__*/ Z(/* @__PURE__ */ c({
|
|
3134
3142
|
__name: "WaveformLegend",
|
|
3135
3143
|
props: {
|
|
3136
3144
|
series: {},
|
|
@@ -3188,45 +3196,45 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
|
|
|
3188
3196
|
"data-point-type": e.pointType,
|
|
3189
3197
|
"data-error-bar-visible": e.errorBar.visible || void 0
|
|
3190
3198
|
}, [
|
|
3191
|
-
w(
|
|
3199
|
+
w(vr)(e.lineType) ? (g(), i("path", {
|
|
3192
3200
|
key: 0,
|
|
3193
3201
|
class: "waveform-legend__line",
|
|
3194
|
-
d: w(
|
|
3202
|
+
d: w(vr)(e.lineType) ?? void 0,
|
|
3195
3203
|
stroke: e.color,
|
|
3196
|
-
"stroke-dasharray": w(
|
|
3204
|
+
"stroke-dasharray": w(yr)(e.lineStyle),
|
|
3197
3205
|
"stroke-width": "1.5",
|
|
3198
3206
|
fill: "none"
|
|
3199
|
-
}, null, 8,
|
|
3207
|
+
}, null, 8, si)) : r("", !0),
|
|
3200
3208
|
e.errorBar.visible ? (g(), i("path", {
|
|
3201
3209
|
key: 1,
|
|
3202
3210
|
class: "waveform-legend__error-bar",
|
|
3203
|
-
d: w(
|
|
3211
|
+
d: w(br)(e.errorBar.capWidth),
|
|
3204
3212
|
stroke: e.errorBar.color || e.color,
|
|
3205
3213
|
"stroke-width": e.errorBar.width,
|
|
3206
3214
|
"stroke-linecap": "butt",
|
|
3207
3215
|
fill: "none"
|
|
3208
|
-
}, null, 8,
|
|
3216
|
+
}, null, 8, ci)) : r("", !0),
|
|
3209
3217
|
e.pointType === "none" ? r("", !0) : (g(), i("path", {
|
|
3210
3218
|
key: 2,
|
|
3211
3219
|
class: "waveform-legend__point",
|
|
3212
|
-
d: w(
|
|
3220
|
+
d: w(gr)(e.pointType, 30) ?? void 0,
|
|
3213
3221
|
fill: e.color,
|
|
3214
3222
|
transform: "translate(13 8)"
|
|
3215
|
-
}, null, 8,
|
|
3216
|
-
], 8,
|
|
3223
|
+
}, null, 8, li))
|
|
3224
|
+
], 8, oi)), a("span", {
|
|
3217
3225
|
class: "waveform-legend__label",
|
|
3218
3226
|
title: e.name
|
|
3219
|
-
}, S(e.name), 9,
|
|
3227
|
+
}, S(e.name), 9, ui)], 10, ai))), 128))], 6)], 2)], 8, ii));
|
|
3220
3228
|
}
|
|
3221
|
-
}), [["__scopeId", "data-v-2ae12e71"]]),
|
|
3229
|
+
}), [["__scopeId", "data-v-2ae12e71"]]), fi = {
|
|
3222
3230
|
class: "waveform-chart__hover-layer",
|
|
3223
3231
|
"pointer-events": "none",
|
|
3224
3232
|
"aria-hidden": "true"
|
|
3225
|
-
},
|
|
3233
|
+
}, pi = ["clip-path", "transform"], mi = [
|
|
3226
3234
|
"x1",
|
|
3227
3235
|
"x2",
|
|
3228
3236
|
"y2"
|
|
3229
|
-
],
|
|
3237
|
+
], hi = /*#__PURE__*/ Z(/* @__PURE__ */ c({
|
|
3230
3238
|
__name: "WaveformHoverLayer",
|
|
3231
3239
|
props: {
|
|
3232
3240
|
state: {},
|
|
@@ -3249,7 +3257,7 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
|
|
|
3249
3257
|
}] : [];
|
|
3250
3258
|
});
|
|
3251
3259
|
});
|
|
3252
|
-
return (t, r) => (g(), i("g",
|
|
3260
|
+
return (t, r) => (g(), i("g", fi, [(g(!0), i(e, null, y(o.value, (e) => (g(), i("g", {
|
|
3253
3261
|
key: e.track.index,
|
|
3254
3262
|
class: "waveform-track__crosshair waveform-chart__crosshair",
|
|
3255
3263
|
"clip-path": `url(#${n.clipPathId}-${e.track.index})`,
|
|
@@ -3259,46 +3267,48 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
|
|
|
3259
3267
|
x2: e.x,
|
|
3260
3268
|
y1: "0",
|
|
3261
3269
|
y2: e.track.height
|
|
3262
|
-
}, null, 8,
|
|
3270
|
+
}, null, 8, mi)], 8, pi))), 128))]));
|
|
3263
3271
|
}
|
|
3264
|
-
}), [["__scopeId", "data-v-a6f82099"]]),
|
|
3272
|
+
}), [["__scopeId", "data-v-a6f82099"]]), gi = [
|
|
3265
3273
|
"data-display-mode",
|
|
3266
3274
|
"data-interaction-mode",
|
|
3267
3275
|
"data-presentation-mode",
|
|
3268
3276
|
"data-overlay-mode",
|
|
3269
3277
|
"data-chart-left-margin",
|
|
3278
|
+
"data-plot-margin-top",
|
|
3279
|
+
"data-plot-margin-bottom",
|
|
3270
3280
|
"data-title-area-height"
|
|
3271
|
-
],
|
|
3281
|
+
], _i = [
|
|
3272
3282
|
"role",
|
|
3273
3283
|
"aria-level",
|
|
3274
3284
|
"aria-hidden"
|
|
3275
|
-
],
|
|
3285
|
+
], vi = ["data-title-scale", "data-title-wrapped"], yi = [
|
|
3276
3286
|
"width",
|
|
3277
3287
|
"height",
|
|
3278
3288
|
"aria-label"
|
|
3279
|
-
],
|
|
3289
|
+
], bi = ["id"], xi = ["width", "height"], Si = ["transform"], Ci = {
|
|
3280
3290
|
key: 0,
|
|
3281
3291
|
class: "waveform-chart__grid-slots",
|
|
3282
3292
|
"aria-hidden": "true"
|
|
3283
|
-
},
|
|
3293
|
+
}, wi = ["transform"], Ti = ["width", "height"], Ei = ["width", "height"], Di = [
|
|
3284
3294
|
"x",
|
|
3285
3295
|
"y",
|
|
3286
3296
|
"width",
|
|
3287
3297
|
"height"
|
|
3288
|
-
],
|
|
3298
|
+
], Oi = {
|
|
3289
3299
|
key: 4,
|
|
3290
3300
|
class: "waveform-chart__legend-layer"
|
|
3291
|
-
},
|
|
3301
|
+
}, ki = [
|
|
3292
3302
|
"data-legend-track-index",
|
|
3293
3303
|
"data-legend-track-id",
|
|
3294
3304
|
"transform"
|
|
3295
|
-
],
|
|
3305
|
+
], Ai = ["x", "y"], ji = ["x", "y"], Mi = /* @__PURE__ */ c({
|
|
3296
3306
|
__name: "WaveformChartView",
|
|
3297
3307
|
props: { controller: {} },
|
|
3298
3308
|
setup(t) {
|
|
3299
|
-
let { displayMode: o, activeInteractionMode: c, isCleanView: l, isPresentationMode: u, selection: d, containerStyle: m, overlayMode: h, resolvedChartLeftMargin: _, titleAreaHeight: v,
|
|
3309
|
+
let { displayMode: o, activeInteractionMode: c, isCleanView: l, isPresentationMode: u, selection: d, containerStyle: m, overlayMode: h, resolvedChartLeftMargin: _, titleAreaHeight: v, resolvedPlotMargin: b, pointerInsideChart: x, handleNativeContextMenu: T, titleAreaReserved: E, titleAreaStyle: D, titleVisible: O, titleMeasureStyle: k, resolvedTitleText: A, titleVisualStyle: j, titleTextStyle: M, titleLayout: N, chartWidth: P, drawingHeight: F, hasWaveformData: I, requestViewportReset: L, trackLayouts: R, clipPathId: z, chartTopMargin: B, gridCells: V, hasVisibleWaveformData: H, zoomable: U, isZoomMode: ee, innerWidth: te, innerHeight: ne, handleSharedPointerMove: re, beginSharedViewportDrag: W, finishViewportDrag: G, cancelViewportDrag: K, handlePointerLeave: ae, handleAnnotationClick: oe, handleAnnotationContextMenu: q, resolveFrameNumber: se, frameStyle: ce, axes: le, resolvedZeroLine: ue, timeUnit: de, yLabel: fe, handleIndependentPointerMove: pe, beginViewportDrag: me, hoverState: he, showTooltip: ge, selectionBox: J, renderedAnnotations: _e, annotationsVisible: ve, handleExistingAnnotationContextMenu: Y, beginAnnotationDrag: X, handleAnnotationMove: ye, endAnnotationDrag: be, resolveLegendPosition: xe, resolveLegendOrientation: Se, legendBackgroundColor: Ce, legendInteractive: we, resolvedHiddenSeriesIds: Te, toggleSeriesVisibility: Ee, resolvedXLabel: De, xAxisTitleY: Oe, hasChartArea: ke, gridOptions: Ae, pageCount: je, currentPage: Z, getPageSize: Pe, chartTracks: Q, goToPage: Fe, annotationInteraction: Ie, editorDraft: Le, contextMenu: Re, editorSeries: ze, editorSeriesOptions: Be, confirmAnnotation: Ve, cancelAnnotation: He, changeDraftSeries: Ue, editContextAnnotation: We, deleteContextAnnotation: Ge, chartHeight: $, setContainer: Ke, setSvgElement: qe, setTitleMeasureElement: Je, setSharedOverlayElement: Ye } = C(t.controller);
|
|
3300
3310
|
return (t, C) => (g(), i("div", {
|
|
3301
|
-
ref: w(
|
|
3311
|
+
ref: w(Ke),
|
|
3302
3312
|
class: f(["waveform-chart", [
|
|
3303
3313
|
`waveform-chart--${w(o)}`,
|
|
3304
3314
|
`waveform-chart--interaction-${w(c)}`,
|
|
@@ -3314,52 +3324,54 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
|
|
|
3314
3324
|
"data-presentation-mode": w(u),
|
|
3315
3325
|
"data-overlay-mode": w(h),
|
|
3316
3326
|
"data-chart-left-margin": w(_),
|
|
3327
|
+
"data-plot-margin-top": w(b).top,
|
|
3328
|
+
"data-plot-margin-bottom": w(b).bottom,
|
|
3317
3329
|
"data-title-area-height": w(v),
|
|
3318
|
-
onPointerenter: C[8] ||= (e) =>
|
|
3319
|
-
onPointerleave: C[9] ||= (e) =>
|
|
3320
|
-
onContextmenuCapture: C[10] ||= (...e) => w(
|
|
3330
|
+
onPointerenter: C[8] ||= (e) => x.value = !0,
|
|
3331
|
+
onPointerleave: C[9] ||= (e) => x.value = !1,
|
|
3332
|
+
onContextmenuCapture: C[10] ||= (...e) => w(T) && w(T)(...e)
|
|
3321
3333
|
}, [
|
|
3322
|
-
w(
|
|
3334
|
+
w(E) ? (g(), i("div", {
|
|
3323
3335
|
key: 0,
|
|
3324
3336
|
class: "waveform-chart__title-area",
|
|
3325
|
-
style: p(w(
|
|
3326
|
-
role: w(
|
|
3327
|
-
"aria-level": w(
|
|
3337
|
+
style: p(w(D)),
|
|
3338
|
+
role: w(O) ? "heading" : void 0,
|
|
3339
|
+
"aria-level": w(O) ? 2 : void 0,
|
|
3328
3340
|
"aria-hidden": w(l) || void 0
|
|
3329
3341
|
}, [a("span", {
|
|
3330
|
-
ref: w(
|
|
3342
|
+
ref: w(Je),
|
|
3331
3343
|
class: "waveform-chart__title-measure",
|
|
3332
|
-
style: p(w(
|
|
3344
|
+
style: p(w(k)),
|
|
3333
3345
|
"aria-hidden": "true"
|
|
3334
|
-
}, S(w(
|
|
3346
|
+
}, S(w(A)), 5), w(O) ? (g(), i("span", {
|
|
3335
3347
|
key: 0,
|
|
3336
3348
|
class: "waveform-chart__title-visual",
|
|
3337
|
-
style: p(w(
|
|
3349
|
+
style: p(w(j))
|
|
3338
3350
|
}, [a("span", {
|
|
3339
3351
|
class: "waveform-chart__title-text",
|
|
3340
|
-
style: p(w(
|
|
3341
|
-
"data-title-scale": w(
|
|
3342
|
-
"data-title-wrapped": w(
|
|
3343
|
-
}, S(w(
|
|
3352
|
+
style: p(w(M)),
|
|
3353
|
+
"data-title-scale": w(N).scale,
|
|
3354
|
+
"data-title-wrapped": w(N).wrapped || void 0
|
|
3355
|
+
}, S(w(A)), 13, vi)], 4)) : r("", !0)], 12, _i)) : r("", !0),
|
|
3344
3356
|
(g(), i("svg", {
|
|
3345
|
-
ref: w(
|
|
3357
|
+
ref: w(qe),
|
|
3346
3358
|
class: "waveform-chart__svg",
|
|
3347
|
-
width: w(
|
|
3348
|
-
height: w(
|
|
3359
|
+
width: w(P),
|
|
3360
|
+
height: w(F),
|
|
3349
3361
|
role: "img",
|
|
3350
|
-
"aria-label": w(
|
|
3351
|
-
onDblclick: C[7] ||= (...e) => w(
|
|
3362
|
+
"aria-label": w(I) ? "波形折线图" : "暂无波形数据",
|
|
3363
|
+
onDblclick: C[7] ||= (...e) => w(L) && w(L)(...e)
|
|
3352
3364
|
}, [
|
|
3353
|
-
a("defs", null, [(g(!0), i(e, null, y(w(
|
|
3354
|
-
id: `${w(
|
|
3355
|
-
key: `${w(
|
|
3365
|
+
a("defs", null, [(g(!0), i(e, null, y(w(R), (e) => (g(), i("clipPath", {
|
|
3366
|
+
id: `${w(z)}-${e.index}`,
|
|
3367
|
+
key: `${w(z)}-${e.index}`,
|
|
3356
3368
|
clipPathUnits: "userSpaceOnUse"
|
|
3357
3369
|
}, [a("rect", {
|
|
3358
3370
|
width: e.width,
|
|
3359
3371
|
height: e.height
|
|
3360
|
-
}, null, 8,
|
|
3361
|
-
a("g", { transform: `translate(${w(_)}, ${w(
|
|
3362
|
-
w(o) !== "compact" && !w(l) ? (g(), i("g",
|
|
3372
|
+
}, null, 8, xi)], 8, bi))), 128))]),
|
|
3373
|
+
a("g", { transform: `translate(${w(_)}, ${w(B)})` }, [
|
|
3374
|
+
w(o) !== "compact" && !w(l) ? (g(), i("g", Ci, [(g(!0), i(e, null, y(w(V), (e) => (g(), i("g", {
|
|
3363
3375
|
key: `grid-slot-${e.slotIndex}`,
|
|
3364
3376
|
transform: `translate(${e.left}, ${e.top})`
|
|
3365
3377
|
}, [e.series ? r("", !0) : (g(), i("rect", {
|
|
@@ -3367,47 +3379,47 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
|
|
|
3367
3379
|
class: "waveform-chart__grid-slot-placeholder",
|
|
3368
3380
|
width: e.width,
|
|
3369
3381
|
height: e.cellHeight
|
|
3370
|
-
}, null, 8,
|
|
3371
|
-
w(o) !== "independent" && w(
|
|
3382
|
+
}, null, 8, Ti))], 8, wi))), 128))])) : r("", !0),
|
|
3383
|
+
w(o) !== "independent" && w(R).length && w(H) ? (g(), i("rect", {
|
|
3372
3384
|
key: 1,
|
|
3373
|
-
ref: w(
|
|
3385
|
+
ref: w(Ye),
|
|
3374
3386
|
class: f(["waveform-chart__overlay waveform-chart__overlay--shared", {
|
|
3375
|
-
"is-zoomable": !w(u) && w(
|
|
3387
|
+
"is-zoomable": !w(u) && w(U) && w(ee),
|
|
3376
3388
|
"is-annotating": !w(u) && w(c) === "annotation"
|
|
3377
3389
|
}]),
|
|
3378
3390
|
width: w(te),
|
|
3379
3391
|
height: w(ne),
|
|
3380
3392
|
onPointermove: C[0] ||= (...e) => w(re) && w(re)(...e),
|
|
3381
|
-
onPointerdown: C[1] ||= (...e) => w(
|
|
3382
|
-
onPointerup: C[2] ||= (...e) => w(
|
|
3383
|
-
onPointercancel: C[3] ||= (...e) => w(
|
|
3384
|
-
onPointerleave: C[4] ||= (...e) => w(
|
|
3393
|
+
onPointerdown: C[1] ||= (...e) => w(W) && w(W)(...e),
|
|
3394
|
+
onPointerup: C[2] ||= (...e) => w(G) && w(G)(...e),
|
|
3395
|
+
onPointercancel: C[3] ||= (...e) => w(K) && w(K)(...e),
|
|
3396
|
+
onPointerleave: C[4] ||= (...e) => w(ae) && w(ae)(...e),
|
|
3385
3397
|
onClick: C[5] ||= (...e) => w(oe) && w(oe)(...e),
|
|
3386
|
-
onContextmenu: C[6] ||= (...e) => w(
|
|
3387
|
-
}, null, 42,
|
|
3388
|
-
(g(!0), i(e, null, y(w(
|
|
3398
|
+
onContextmenu: C[6] ||= (...e) => w(q) && w(q)(...e)
|
|
3399
|
+
}, null, 42, Ei)) : r("", !0),
|
|
3400
|
+
(g(!0), i(e, null, y(w(R), (e) => (g(), n(w(ri), {
|
|
3389
3401
|
key: `${e.index}-${e.series.name}`,
|
|
3390
3402
|
track: e,
|
|
3391
|
-
"clip-path-id": w(
|
|
3403
|
+
"clip-path-id": w(z),
|
|
3392
3404
|
"inner-width": w(te),
|
|
3393
|
-
zoomable: w(
|
|
3405
|
+
zoomable: w(U),
|
|
3394
3406
|
interactive: !w(u),
|
|
3395
3407
|
"display-mode": w(o),
|
|
3396
3408
|
"interaction-mode": w(c),
|
|
3397
|
-
"frame-number": w(
|
|
3398
|
-
"frame-style": w(
|
|
3399
|
-
axes: w(
|
|
3409
|
+
"frame-number": w(se)(e.index),
|
|
3410
|
+
"frame-style": w(ce),
|
|
3411
|
+
axes: w(le),
|
|
3400
3412
|
"clean-view": w(l),
|
|
3401
|
-
"zero-line": w(
|
|
3402
|
-
"time-unit": w(
|
|
3413
|
+
"zero-line": w(ue),
|
|
3414
|
+
"time-unit": w(de),
|
|
3403
3415
|
"y-label": w(fe),
|
|
3404
3416
|
onPointerMove: (t) => w(pe)(t, e.index),
|
|
3405
3417
|
onPointerDown: (t) => w(me)(t, e.index, !0),
|
|
3406
|
-
onPointerUp: w(
|
|
3407
|
-
onPointerCancel: w(
|
|
3408
|
-
onPointerLeave: w(
|
|
3418
|
+
onPointerUp: w(G),
|
|
3419
|
+
onPointerCancel: w(K),
|
|
3420
|
+
onPointerLeave: w(ae),
|
|
3409
3421
|
onClick: (t) => w(oe)(t, e.index),
|
|
3410
|
-
onContextmenu: (t) => w(
|
|
3422
|
+
onContextmenu: (t) => w(q)(t, e.index)
|
|
3411
3423
|
}, null, 8, [
|
|
3412
3424
|
"track",
|
|
3413
3425
|
"clip-path-id",
|
|
@@ -3431,10 +3443,10 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
|
|
|
3431
3443
|
"onClick",
|
|
3432
3444
|
"onContextmenu"
|
|
3433
3445
|
]))), 128)),
|
|
3434
|
-
s(w(
|
|
3446
|
+
s(w(hi), {
|
|
3435
3447
|
state: w(he),
|
|
3436
|
-
tracks: w(
|
|
3437
|
-
"clip-path-id": w(
|
|
3448
|
+
tracks: w(R),
|
|
3449
|
+
"clip-path-id": w(z),
|
|
3438
3450
|
visible: w(ge) && !w(u)
|
|
3439
3451
|
}, null, 8, [
|
|
3440
3452
|
"state",
|
|
@@ -3442,23 +3454,23 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
|
|
|
3442
3454
|
"clip-path-id",
|
|
3443
3455
|
"visible"
|
|
3444
3456
|
]),
|
|
3445
|
-
w(
|
|
3457
|
+
w(J) && w(d)?.mode === "box" ? (g(), i("rect", {
|
|
3446
3458
|
key: 2,
|
|
3447
3459
|
class: "waveform-chart__zoom-selection",
|
|
3448
|
-
x: w(
|
|
3449
|
-
y: w(
|
|
3450
|
-
width: w(
|
|
3451
|
-
height: w(
|
|
3460
|
+
x: w(J).x,
|
|
3461
|
+
y: w(J).y,
|
|
3462
|
+
width: w(J).width,
|
|
3463
|
+
height: w(J).height,
|
|
3452
3464
|
"aria-hidden": "true"
|
|
3453
|
-
}, null, 8,
|
|
3465
|
+
}, null, 8, Di)) : r("", !0),
|
|
3454
3466
|
w(l) ? r("", !0) : (g(), n(w(Me), {
|
|
3455
3467
|
key: 3,
|
|
3456
3468
|
annotations: w(_e),
|
|
3457
3469
|
visible: w(ve),
|
|
3458
3470
|
interactive: !w(u),
|
|
3459
|
-
onContextmenu: w(
|
|
3460
|
-
onDragStart: w(
|
|
3461
|
-
onMove: w(
|
|
3471
|
+
onContextmenu: w(Y),
|
|
3472
|
+
onDragStart: w(X),
|
|
3473
|
+
onMove: w(ye),
|
|
3462
3474
|
onDragEnd: w(be)
|
|
3463
3475
|
}, null, 8, [
|
|
3464
3476
|
"annotations",
|
|
@@ -3469,23 +3481,23 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
|
|
|
3469
3481
|
"onMove",
|
|
3470
3482
|
"onDragEnd"
|
|
3471
3483
|
])),
|
|
3472
|
-
w(l) ? r("", !0) : (g(), i("g",
|
|
3484
|
+
w(l) ? r("", !0) : (g(), i("g", Oi, [(g(!0), i(e, null, y(w(R), (e) => (g(), i("g", {
|
|
3473
3485
|
key: `legend-${e.index}-${e.series.name}`,
|
|
3474
3486
|
class: "waveform-chart__legend-track",
|
|
3475
3487
|
"data-legend-track-index": e.index,
|
|
3476
3488
|
"data-legend-track-id": e.id,
|
|
3477
3489
|
transform: `translate(${e.left}, ${e.top})`
|
|
3478
|
-
}, [!e.isEmpty && e.legendSeries.length > 1 ? (g(), n(w(
|
|
3490
|
+
}, [!e.isEmpty && e.legendSeries.length > 1 ? (g(), n(w(di), {
|
|
3479
3491
|
key: 0,
|
|
3480
3492
|
series: e.legendSeries,
|
|
3481
|
-
position: w(
|
|
3482
|
-
orientation: w(
|
|
3483
|
-
"background-color": w(
|
|
3484
|
-
interactive: w(
|
|
3485
|
-
"hidden-series-ids": w(
|
|
3493
|
+
position: w(xe)(e.id),
|
|
3494
|
+
orientation: w(Se)(w(xe)(e.id)),
|
|
3495
|
+
"background-color": w(Ce),
|
|
3496
|
+
interactive: w(we),
|
|
3497
|
+
"hidden-series-ids": w(Te),
|
|
3486
3498
|
width: e.width ?? w(te),
|
|
3487
3499
|
height: e.height,
|
|
3488
|
-
onToggle: w(
|
|
3500
|
+
onToggle: w(Ee)
|
|
3489
3501
|
}, null, 8, [
|
|
3490
3502
|
"series",
|
|
3491
3503
|
"position",
|
|
@@ -3496,49 +3508,49 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
|
|
|
3496
3508
|
"width",
|
|
3497
3509
|
"height",
|
|
3498
3510
|
"onToggle"
|
|
3499
|
-
])) : r("", !0)], 8,
|
|
3500
|
-
|
|
3501
|
-
|
|
3502
|
-
class: "waveform-chart__label waveform-chart__x-label",
|
|
3503
|
-
x: w(te) / 2,
|
|
3504
|
-
y: w(De),
|
|
3505
|
-
"text-anchor": "middle"
|
|
3506
|
-
}, S(w(Ee)), 9, ji)) : r("", !0)
|
|
3507
|
-
], 8, Ci),
|
|
3508
|
-
w(Oe) && !w(F) ? (g(), i("text", {
|
|
3511
|
+
])) : r("", !0)], 8, ki))), 128))]))
|
|
3512
|
+
], 8, Si),
|
|
3513
|
+
w(De) && !w(l) ? (g(), i("text", {
|
|
3509
3514
|
key: 0,
|
|
3515
|
+
class: "waveform-chart__label waveform-chart__x-label",
|
|
3516
|
+
x: w(_) + w(te) / 2,
|
|
3517
|
+
y: w(Oe),
|
|
3518
|
+
"text-anchor": "middle"
|
|
3519
|
+
}, S(w(De)), 9, Ai)) : r("", !0),
|
|
3520
|
+
w(ke) && !w(I) ? (g(), i("text", {
|
|
3521
|
+
key: 1,
|
|
3510
3522
|
class: "waveform-chart__empty",
|
|
3511
|
-
x: w(
|
|
3512
|
-
y: w(
|
|
3523
|
+
x: w(P) / 2,
|
|
3524
|
+
y: w(F) / 2,
|
|
3513
3525
|
"text-anchor": "middle"
|
|
3514
|
-
}, " 暂无有效波形数据 ", 8,
|
|
3515
|
-
], 40,
|
|
3516
|
-
w(
|
|
3526
|
+
}, " 暂无有效波形数据 ", 8, ji)) : r("", !0)
|
|
3527
|
+
], 40, yi)),
|
|
3528
|
+
w(Ae).showPagination && w(je) > 1 && !w(l) ? (g(), n(w(ie), {
|
|
3517
3529
|
key: 1,
|
|
3518
3530
|
class: "waveform-chart__pagination",
|
|
3519
3531
|
"aria-label": "波形分页",
|
|
3520
|
-
current: w(
|
|
3521
|
-
"page-size": w(
|
|
3522
|
-
total: w(
|
|
3532
|
+
current: w(Z),
|
|
3533
|
+
"page-size": w(Pe)(w(Ae)),
|
|
3534
|
+
total: w(Q).length,
|
|
3523
3535
|
"show-size-changer": !1,
|
|
3524
3536
|
"show-quick-jumper": !1,
|
|
3525
|
-
onChange: w(
|
|
3537
|
+
onChange: w(Fe)
|
|
3526
3538
|
}, null, 8, [
|
|
3527
3539
|
"current",
|
|
3528
3540
|
"page-size",
|
|
3529
3541
|
"total",
|
|
3530
3542
|
"onChange"
|
|
3531
3543
|
])) : r("", !0),
|
|
3532
|
-
w(
|
|
3544
|
+
w(Le) && !w(l) && !w(u) ? (g(), n(er, {
|
|
3533
3545
|
key: 2,
|
|
3534
|
-
annotation: w(
|
|
3535
|
-
mode: w(
|
|
3536
|
-
series: w(
|
|
3537
|
-
"series-options": w(
|
|
3538
|
-
"time-unit": w(
|
|
3539
|
-
onConfirm: w(
|
|
3540
|
-
onCancel: w(
|
|
3541
|
-
onSeriesChange: w(
|
|
3546
|
+
annotation: w(Le).annotation,
|
|
3547
|
+
mode: w(Le).mode,
|
|
3548
|
+
series: w(ze),
|
|
3549
|
+
"series-options": w(Be),
|
|
3550
|
+
"time-unit": w(de),
|
|
3551
|
+
onConfirm: w(Ve),
|
|
3552
|
+
onCancel: w(He),
|
|
3553
|
+
onSeriesChange: w(Ue)
|
|
3542
3554
|
}, null, 8, [
|
|
3543
3555
|
"annotation",
|
|
3544
3556
|
"mode",
|
|
@@ -3551,13 +3563,13 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
|
|
|
3551
3563
|
])) : r("", !0),
|
|
3552
3564
|
!w(l) && !w(u) ? (g(), n(w(Ne), {
|
|
3553
3565
|
key: 3,
|
|
3554
|
-
visible: w(
|
|
3555
|
-
x: w(
|
|
3556
|
-
y: w(
|
|
3557
|
-
"can-edit": !!w(
|
|
3558
|
-
onEdit: w(
|
|
3559
|
-
onDelete: w(
|
|
3560
|
-
onClose: w(
|
|
3566
|
+
visible: w(Re) !== null,
|
|
3567
|
+
x: w(Re)?.x || 0,
|
|
3568
|
+
y: w(Re)?.y || 0,
|
|
3569
|
+
"can-edit": !!w(Re)?.annotationId,
|
|
3570
|
+
onEdit: w(We),
|
|
3571
|
+
onDelete: w(Ge),
|
|
3572
|
+
onClose: w(Ie).closeContextMenu
|
|
3561
3573
|
}, null, 8, [
|
|
3562
3574
|
"visible",
|
|
3563
3575
|
"x",
|
|
@@ -3567,12 +3579,12 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
|
|
|
3567
3579
|
"onDelete",
|
|
3568
3580
|
"onClose"
|
|
3569
3581
|
])) : r("", !0),
|
|
3570
|
-
s(w(
|
|
3582
|
+
s(w(lr), {
|
|
3571
3583
|
state: w(he),
|
|
3572
3584
|
visible: w(ge) && !w(u),
|
|
3573
|
-
"time-unit": w(
|
|
3574
|
-
"container-width": w(
|
|
3575
|
-
"container-height": w(
|
|
3585
|
+
"time-unit": w(de),
|
|
3586
|
+
"container-width": w(P),
|
|
3587
|
+
"container-height": w($)
|
|
3576
3588
|
}, null, 8, [
|
|
3577
3589
|
"state",
|
|
3578
3590
|
"visible",
|
|
@@ -3580,9 +3592,9 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
|
|
|
3580
3592
|
"container-width",
|
|
3581
3593
|
"container-height"
|
|
3582
3594
|
])
|
|
3583
|
-
], 46,
|
|
3595
|
+
], 46, gi));
|
|
3584
3596
|
}
|
|
3585
|
-
}),
|
|
3597
|
+
}), Ni = /* @__PURE__ */ c({
|
|
3586
3598
|
__name: "WaveformChart",
|
|
3587
3599
|
props: {
|
|
3588
3600
|
data: {},
|
|
@@ -3627,6 +3639,7 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
|
|
|
3627
3639
|
showPagination: !0
|
|
3628
3640
|
}) },
|
|
3629
3641
|
rendering: { default: () => ({}) },
|
|
3642
|
+
plotMargin: { default: () => ({}) },
|
|
3630
3643
|
title: {},
|
|
3631
3644
|
legend: { default: () => ({
|
|
3632
3645
|
position: "top-right",
|
|
@@ -3658,9 +3671,9 @@ var Sr = ["clip-path"], Cr = ["data-series-id", "data-series-name"], wr = [
|
|
|
3658
3671
|
"page-change"
|
|
3659
3672
|
],
|
|
3660
3673
|
setup(e, { expose: t, emit: r }) {
|
|
3661
|
-
let i =
|
|
3662
|
-
return t({ resetViewport: i.resetViewport }), (e, t) => (g(), n(
|
|
3674
|
+
let i = Pn(e, r);
|
|
3675
|
+
return t({ resetViewport: i.resetViewport }), (e, t) => (g(), n(Mi, { controller: w(i) }, null, 8, ["controller"]));
|
|
3663
3676
|
}
|
|
3664
3677
|
});
|
|
3665
3678
|
//#endregion
|
|
3666
|
-
export {
|
|
3679
|
+
export { Nt as DEFAULT_WAVEFORM_RENDERING_OPTIONS, Ni as WaveformChart, Ke as buildMinorTicks, ft as clamp, at as displayTime, ct as formatAxisTime, st as formatEndpointTime, lt as formatTooltipTime, jt as normalizeWaveformData, Mt as normalizeWaveformSeries, $ as paddedDomain, We as parseWaveformAnnotations, dt as resolveTrackGeometry, Pt as resolveWaveformRenderingOptions, Vt as selectRenderablePoints, Ue as serializeWaveformAnnotations };
|