waveform-analysis 0.1.63 → 0.1.64
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -2
- package/dist/index.cjs +1 -1
- package/dist/index.js +953 -946
- package/dist/style.css +1 -1
- package/dist/types/types/chart.d.ts +2 -1
- package/package.json +1 -1
- package/src/components/WaveformChart.vue +1 -1
- package/src/components/core/xDomain.ts +26 -2
- package/src/components/rendering/WaveformLegend.vue +1 -1
- package/src/components/rendering/WaveformSeriesLayer.vue +1 -1
- package/src/demo/DemoChartHost.vue +1 -0
- package/src/types/chart.ts +2 -1
- package/src/App.test.ts +0 -400
- package/src/components/annotation/components.test.ts +0 -372
- package/src/components/annotation/markup.test.ts +0 -371
- package/src/components/annotation/serialization.test.ts +0 -114
- package/src/components/core/constants.test.ts +0 -29
- package/src/components/core/fixedYDomainLayout.test.ts +0 -204
- package/src/components/core/grid.test.ts +0 -197
- package/src/components/core/latestTaskScheduler.test.ts +0 -51
- package/src/components/core/layout.test.ts +0 -373
- package/src/components/core/title.test.ts +0 -76
- package/src/components/core/useWaveformData.test.ts +0 -95
- package/src/components/core/useWaveformRenderSampling.test.ts +0 -17
- package/src/components/core/xDomain.test.ts +0 -28
- package/src/components/core/yAxisNice.test.ts +0 -174
- package/src/components/core/yAxisSlotLayout.test.ts +0 -165
- package/src/components/core/yDomain.test.ts +0 -56
- package/src/components/interaction/WaveformTooltip.test.ts +0 -276
- package/src/components/interaction/viewportInteractionState.test.ts +0 -101
- package/src/components/utils/useAnimationFrameThrottle.test.ts +0 -53
- package/src/components/waveformChartCases/annotationEditingAndReprojection.test.ts +0 -257
- package/src/components/waveformChartCases/compactAndSharedHover.test.ts +0 -358
- package/src/components/waveformChartCases/dataAndHoverPerformance.test.ts +0 -358
- package/src/components/waveformChartCases/dataLifecycle.test.ts +0 -310
- package/src/components/waveformChartCases/frameGridAndFormatting.test.ts +0 -389
- package/src/components/waveformChartCases/gridFill.test.ts +0 -95
- package/src/components/waveformChartCases/incompleteDataHover.test.ts +0 -155
- package/src/components/waveformChartCases/interactionAndAnnotationCreation.test.ts +0 -328
- package/src/components/waveformChartCases/layoutAndDomains.test.ts +0 -371
- package/src/components/waveformChartCases/legendVisibility.test.ts +0 -350
- package/src/components/waveformChartCases/multiAxisAndPagination.test.ts +0 -400
- package/src/components/waveformChartCases/multiAxisLabelAlignment.test.ts +0 -61
- package/src/components/waveformChartCases/presentationAndAxes.test.ts +0 -345
- package/src/components/waveformChartCases/presentationMode.test.ts +0 -327
- package/src/components/waveformChartCases/renderingStyles.test.ts +0 -283
- package/src/components/waveformChartCases/sizingAndTitles.test.ts +0 -370
- package/src/components/waveformChartCases/trackOrder.test.ts +0 -323
- package/src/components/waveformChartCases/viewportBoxAndPan.test.ts +0 -365
- package/src/components/waveformChartCases/viewportConstraintsAndReset.test.ts +0 -311
- package/src/components/waveformChartCases/viewportLifecycle.test.ts +0 -132
- package/src/components/waveformChartCases/viewportReset.test.ts +0 -251
- package/src/components/waveformChartCases/wheelZoomOut.test.ts +0 -114
- package/src/components/waveformChartCases/workerSamplingIntegration.test.ts +0 -117
- package/src/components/waveformChartCases/xDomainStrategy.test.ts +0 -168
- package/src/components/waveformChartCases/yAxisLayout.test.ts +0 -103
- package/src/components/waveformChartCases/zoomIntentAndDataRebind.test.ts +0 -213
- package/src/components/waveformChartCases/zoomPointConstraints.test.ts +0 -308
- package/src/components/waveformLegendGeometry.test.ts +0 -21
- package/src/components/waveformNormalization.test.ts +0 -170
- package/src/core/data.test.ts +0 -241
- package/src/core/rendering.test.ts +0 -267
- package/src/core/renderingStrategies.test.ts +0 -90
- package/src/core/samplingReference.test.ts +0 -124
- package/src/core/wasmSampling.test.ts +0 -205
- package/src/core/workerSampling/multiresolution.test.ts +0 -69
- package/src/core/workerSampling/protocol.test.ts +0 -34
- package/src/core/workerSampling/repository.test.ts +0 -400
- package/src/core/workerSampling/repositoryCache.test.ts +0 -163
- package/src/core/workerSampling/repositorySampling.test.ts +0 -106
- package/src/core/workerSampling/repositoryTypedDataset.test.ts +0 -89
- package/src/core/workerSampling/repositoryWasmDataset.test.ts +0 -70
- package/src/data/simulatedWaveforms.test.ts +0 -60
- package/src/demo/plotMarginControls.test.ts +0 -29
- package/src/demo/xAxisLabelControls.test.ts +0 -86
- package/src/test/setup.ts +0 -82
- package/src/test/waveformChart.ts +0 -75
- package/src/utils/domain.test.ts +0 -28
- package/src/utils/formatters.test.ts +0 -131
- package/src/utils/sampling.test.ts +0 -226
- package/src/views/FixedYDomainDemo.test.ts +0 -44
- package/src/views/WasmSamplingDemo.test.ts +0 -13
- package/src/views/wasmSamplingDemoSampling.test.ts +0 -27
package/dist/index.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { Fragment as e, computed as t, createBlock as n, createCommentVNode as r, createElementBlock as i, createElementVNode as a, createTextVNode as o, createVNode as s, defineAsyncComponent as c, defineComponent as l, getCurrentInstance as u, markRaw as d, nextTick as f, normalizeClass as p, normalizeStyle as m, onBeforeUnmount as h, onMounted as g, onScopeDispose as _, onUpdated as v, openBlock as y, reactive as b, ref as x, renderList as S, shallowReactive as C, shallowRef as w, toDisplayString as T, toRefs as E, unref as D, vModelText as O, watch as k, watchEffect as A, withCtx as j, withDirectives as M, withModifiers as N } from "vue";
|
|
2
|
-
import { axisBottom as P, axisLeft as F, axisRight as I, bisector as L, curveStep as R, curveStepAfter as z, curveStepBefore as B, extent as V, line as H, pointer as U, scaleLinear as W, select as G, symbol as ee, symbolCircle as te, symbolDiamond as ne, symbolSquare as re, symbolTriangle as K,
|
|
3
|
-
import { InputNumber as
|
|
2
|
+
import { axisBottom as P, axisLeft as F, axisRight as I, bisector as L, curveStep as R, curveStepAfter as z, curveStepBefore as B, extent as V, line as H, pointer as U, scaleLinear as W, select as G, symbol as ee, symbolCircle as te, symbolDiamond as ne, symbolSquare as re, symbolTriangle as K, tickStep as q, zoom as ie, zoomIdentity as J, zoomTransform as ae } from "d3";
|
|
3
|
+
import { InputNumber as oe, Modal as se, Pagination as ce } from "ant-design-vue";
|
|
4
4
|
//#region src/utils/waveformId.ts
|
|
5
|
-
var
|
|
6
|
-
function
|
|
5
|
+
var le = 0;
|
|
6
|
+
function ue(e = "waveform") {
|
|
7
7
|
let t = u();
|
|
8
|
-
return `${e}-${t ? `v${t.uid}` : `f${++
|
|
8
|
+
return `${e}-${t ? `v${t.uid}` : `f${++le}`}`;
|
|
9
9
|
}
|
|
10
10
|
//#endregion
|
|
11
11
|
//#region src/core/compactSamplePointSource.ts
|
|
12
|
-
function
|
|
12
|
+
function de(e, t, n, r) {
|
|
13
13
|
let i = 0, a = e;
|
|
14
14
|
for (; i < a;) {
|
|
15
15
|
let e = i + Math.floor((a - i) / 2);
|
|
@@ -17,7 +17,7 @@ function ue(e, t, n, r) {
|
|
|
17
17
|
}
|
|
18
18
|
return i;
|
|
19
19
|
}
|
|
20
|
-
function
|
|
20
|
+
function fe(e, t, n, r) {
|
|
21
21
|
let i = (e) => n + (r?.[e] ?? e) / t, a = (t) => t < 0 || t >= e.length ? void 0 : {
|
|
22
22
|
x: i(t),
|
|
23
23
|
y: e[t]
|
|
@@ -33,15 +33,15 @@ function de(e, t, n, r) {
|
|
|
33
33
|
visibleRange(t) {
|
|
34
34
|
let n = Math.min(t[0], t[1]), r = Math.max(t[0], t[1]);
|
|
35
35
|
return {
|
|
36
|
-
start:
|
|
37
|
-
end:
|
|
36
|
+
start: de(e.length, i, n, !1),
|
|
37
|
+
end: de(e.length, i, r, !0)
|
|
38
38
|
};
|
|
39
39
|
},
|
|
40
40
|
nearestPoint(t) {
|
|
41
41
|
if (!Number.isFinite(t) || !e.length) return;
|
|
42
42
|
if (t <= i(0)) return a(0);
|
|
43
43
|
if (t >= i(e.length - 1)) return a(e.length - 1);
|
|
44
|
-
let n =
|
|
44
|
+
let n = de(e.length, i, t, !1), r = Math.max(0, n - 1);
|
|
45
45
|
return Math.abs(t - i(r)) < Math.abs(i(n) - t) ? a(r) : a(n);
|
|
46
46
|
},
|
|
47
47
|
metrics() {
|
|
@@ -71,14 +71,14 @@ function de(e, t, n, r) {
|
|
|
71
71
|
function Y(e) {
|
|
72
72
|
return typeof e == "number" && Number.isFinite(e) && e >= 0 ? e : void 0;
|
|
73
73
|
}
|
|
74
|
-
function
|
|
74
|
+
function pe(e, t, n) {
|
|
75
75
|
let r = Math.max(0, Math.min(n, Math.floor(e)));
|
|
76
76
|
return {
|
|
77
77
|
start: r,
|
|
78
78
|
end: Math.max(r, Math.min(n, Math.floor(t)))
|
|
79
79
|
};
|
|
80
80
|
}
|
|
81
|
-
function
|
|
81
|
+
function me(e, t, n) {
|
|
82
82
|
let r = 0, i = e;
|
|
83
83
|
for (; r < i;) {
|
|
84
84
|
let e = r + Math.floor((i - r) / 2);
|
|
@@ -86,7 +86,7 @@ function X(e, t, n) {
|
|
|
86
86
|
}
|
|
87
87
|
return r;
|
|
88
88
|
}
|
|
89
|
-
function
|
|
89
|
+
function he(e, t, n) {
|
|
90
90
|
let r = 0, i = e;
|
|
91
91
|
for (; r < i;) {
|
|
92
92
|
let e = r + Math.floor((i - r) / 2);
|
|
@@ -94,7 +94,7 @@ function pe(e, t, n) {
|
|
|
94
94
|
}
|
|
95
95
|
return r;
|
|
96
96
|
}
|
|
97
|
-
function
|
|
97
|
+
function ge(e, t, n) {
|
|
98
98
|
let r = Infinity, i = -Infinity, a = Infinity, o = -Infinity, s = !1;
|
|
99
99
|
for (let c = 0; c < e; c += 1) {
|
|
100
100
|
let e = t(c);
|
|
@@ -110,7 +110,7 @@ function me(e, t, n) {
|
|
|
110
110
|
hasErrorPoints: s
|
|
111
111
|
};
|
|
112
112
|
}
|
|
113
|
-
var
|
|
113
|
+
var _e = class {
|
|
114
114
|
sourcePoints;
|
|
115
115
|
isCompact = !1;
|
|
116
116
|
constructor(e) {
|
|
@@ -123,14 +123,14 @@ var he = class {
|
|
|
123
123
|
return this.sourcePoints[e];
|
|
124
124
|
}
|
|
125
125
|
pointsInRange(e = 0, t = this.length) {
|
|
126
|
-
let n =
|
|
126
|
+
let n = pe(e, t, this.length);
|
|
127
127
|
return this.sourcePoints.slice(n.start, n.end);
|
|
128
128
|
}
|
|
129
129
|
visibleRange(e) {
|
|
130
130
|
let t = Math.min(e[0], e[1]), n = Math.max(e[0], e[1]);
|
|
131
131
|
return {
|
|
132
|
-
start:
|
|
133
|
-
end:
|
|
132
|
+
start: me(this.length, (e) => this.sourcePoints[e].x, t),
|
|
133
|
+
end: he(this.length, (e) => this.sourcePoints[e].x, n)
|
|
134
134
|
};
|
|
135
135
|
}
|
|
136
136
|
nearestPoint(e) {
|
|
@@ -138,11 +138,11 @@ var he = class {
|
|
|
138
138
|
let t = this.sourcePoints[0], n = this.sourcePoints[this.length - 1];
|
|
139
139
|
if (e <= t.x) return t;
|
|
140
140
|
if (e >= n.x) return n;
|
|
141
|
-
let r =
|
|
141
|
+
let r = me(this.length, (e) => this.sourcePoints[e].x, e), i = this.sourcePoints[Math.min(r, this.length - 1)], a = this.sourcePoints[Math.max(0, r - 1)];
|
|
142
142
|
return Math.abs(e - a.x) < Math.abs(i.x - e) ? a : i;
|
|
143
143
|
}
|
|
144
144
|
metrics(e = !1) {
|
|
145
|
-
return
|
|
145
|
+
return ge(this.length, (e) => this.sourcePoints[e], e);
|
|
146
146
|
}
|
|
147
147
|
toWorkerDataset() {
|
|
148
148
|
return {
|
|
@@ -150,7 +150,7 @@ var he = class {
|
|
|
150
150
|
points: this.sourcePoints
|
|
151
151
|
};
|
|
152
152
|
}
|
|
153
|
-
},
|
|
153
|
+
}, ve = class {
|
|
154
154
|
x;
|
|
155
155
|
y;
|
|
156
156
|
error;
|
|
@@ -175,22 +175,22 @@ var he = class {
|
|
|
175
175
|
};
|
|
176
176
|
}
|
|
177
177
|
pointsInRange(e = 0, t = this.length) {
|
|
178
|
-
let n =
|
|
178
|
+
let n = pe(e, t, this.length), r = [];
|
|
179
179
|
for (let e = n.start; e < n.end; e += 1) r.push(this.pointAt(e));
|
|
180
180
|
return r;
|
|
181
181
|
}
|
|
182
182
|
visibleRange(e) {
|
|
183
183
|
let t = Math.min(e[0], e[1]), n = Math.max(e[0], e[1]);
|
|
184
184
|
return {
|
|
185
|
-
start:
|
|
186
|
-
end:
|
|
185
|
+
start: me(this.length, (e) => this.x[e], t),
|
|
186
|
+
end: he(this.length, (e) => this.x[e], n)
|
|
187
187
|
};
|
|
188
188
|
}
|
|
189
189
|
nearestPoint(e) {
|
|
190
190
|
if (!Number.isFinite(e) || !this.length) return;
|
|
191
191
|
if (e <= this.x[0]) return this.pointAt(0);
|
|
192
192
|
if (e >= this.x[this.length - 1]) return this.pointAt(this.length - 1);
|
|
193
|
-
let t =
|
|
193
|
+
let t = me(this.length, (e) => this.x[e], e), n = Math.min(t, this.length - 1), r = Math.max(0, t - 1);
|
|
194
194
|
return Math.abs(e - this.x[r]) < Math.abs(this.x[n] - e) ? this.pointAt(r) : this.pointAt(n);
|
|
195
195
|
}
|
|
196
196
|
metrics(e = !1) {
|
|
@@ -217,20 +217,20 @@ var he = class {
|
|
|
217
217
|
};
|
|
218
218
|
}
|
|
219
219
|
};
|
|
220
|
-
function
|
|
220
|
+
function ye(e) {
|
|
221
221
|
return e instanceof Float32Array || e instanceof Float64Array;
|
|
222
222
|
}
|
|
223
|
-
function
|
|
223
|
+
function be(e) {
|
|
224
224
|
let t = [
|
|
225
225
|
e.y,
|
|
226
226
|
e.error,
|
|
227
227
|
e.lowerError,
|
|
228
228
|
e.upperError
|
|
229
229
|
];
|
|
230
|
-
return e.x instanceof Float64Array && t.every((t) => t === void 0 ||
|
|
230
|
+
return e.x instanceof Float64Array && t.every((t) => t === void 0 || ye(t) && t.length === e.x.length);
|
|
231
231
|
}
|
|
232
|
-
function
|
|
233
|
-
if (!
|
|
232
|
+
function xe(e) {
|
|
233
|
+
if (!ye(e.values) || !Number.isFinite(e.sampleRate) || e.sampleRate <= 0 || e.startTime !== void 0 && !Number.isFinite(e.startTime)) return fe(/* @__PURE__ */ new Float64Array(), 1, 0);
|
|
234
234
|
let t = e.startTime ?? 0, n = 0;
|
|
235
235
|
for (let t = 0; t < e.values.length; t += 1) n += +!!Number.isFinite(e.values[t]);
|
|
236
236
|
let r = e.values instanceof Float32Array ? new Float32Array(n) : new Float64Array(n), i = n === e.values.length ? void 0 : new Uint32Array(n);
|
|
@@ -238,10 +238,10 @@ function ye(e) {
|
|
|
238
238
|
let a = e.values[t];
|
|
239
239
|
Number.isFinite(a) && (r[n] = a, i && (i[n] = t), n += 1);
|
|
240
240
|
}
|
|
241
|
-
return
|
|
241
|
+
return fe(r, e.sampleRate, t, i);
|
|
242
242
|
}
|
|
243
|
-
function
|
|
244
|
-
if (!
|
|
243
|
+
function Se(e) {
|
|
244
|
+
if (!be(e)) return new ve(/* @__PURE__ */ new Float64Array(), /* @__PURE__ */ new Float64Array());
|
|
245
245
|
let t = [], n = !0, r = -Infinity;
|
|
246
246
|
for (let i = 0; i < e.x.length; i += 1) {
|
|
247
247
|
let a = e.x[i], o = e.y[i];
|
|
@@ -251,15 +251,15 @@ function be(e) {
|
|
|
251
251
|
let i = new Float64Array(t.length), a = e.y instanceof Float32Array ? new Float32Array(t.length) : new Float64Array(t.length), o = (e) => e ? e instanceof Float32Array ? new Float32Array(t.length) : new Float64Array(t.length) : void 0, s = o(e.error), c = o(e.lowerError), l = o(e.upperError);
|
|
252
252
|
return t.forEach((t, n) => {
|
|
253
253
|
i[n] = e.x[t], a[n] = e.y[t], s && (s[n] = e.error[t]), c && (c[n] = e.lowerError[t]), l && (l[n] = e.upperError[t]);
|
|
254
|
-
}), new
|
|
254
|
+
}), new ve(i, a, s, c, l);
|
|
255
255
|
}
|
|
256
|
-
function
|
|
257
|
-
return e.kind === "typed-samples" ?
|
|
256
|
+
function Ce(e, t) {
|
|
257
|
+
return e.kind === "typed-samples" ? xe(e) : e.kind === "typed-points" ? Se(e) : new _e(t(e));
|
|
258
258
|
}
|
|
259
|
-
function
|
|
260
|
-
return new
|
|
259
|
+
function X(e) {
|
|
260
|
+
return new _e(e);
|
|
261
261
|
}
|
|
262
|
-
function
|
|
262
|
+
function we(e) {
|
|
263
263
|
if (!e.isCompact) return e.pointsInRange();
|
|
264
264
|
let t = /* @__PURE__ */ new Map(), n = (n) => {
|
|
265
265
|
let r = t.get(n);
|
|
@@ -295,15 +295,15 @@ function Se(e) {
|
|
|
295
295
|
}
|
|
296
296
|
});
|
|
297
297
|
}
|
|
298
|
-
function
|
|
298
|
+
function Te(e) {
|
|
299
299
|
return typeof e == "object" && !!e && "pointAt" in e && "visibleRange" in e;
|
|
300
300
|
}
|
|
301
301
|
//#endregion
|
|
302
302
|
//#region src/components/annotation/annotationLayout.ts
|
|
303
|
-
function
|
|
303
|
+
function Ee(e, t) {
|
|
304
304
|
return e >= Math.min(t[0], t[1]) && e <= Math.max(t[0], t[1]);
|
|
305
305
|
}
|
|
306
|
-
function
|
|
306
|
+
function De(e, t, n) {
|
|
307
307
|
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)));
|
|
308
308
|
return {
|
|
309
309
|
...e,
|
|
@@ -313,11 +313,11 @@ function Te(e, t, n) {
|
|
|
313
313
|
lineEndY: Math.max(i, Math.min(e.lineEndY, i + e.height))
|
|
314
314
|
};
|
|
315
315
|
}
|
|
316
|
-
function
|
|
317
|
-
let s =
|
|
316
|
+
function Oe(e, t, n, r, i, a, o) {
|
|
317
|
+
let s = je(e, t, n, r, i);
|
|
318
318
|
return s.x >= 0 && s.y >= 0 && s.x + n <= a && s.y + r <= o;
|
|
319
319
|
}
|
|
320
|
-
function
|
|
320
|
+
function ke(e, t, n, r, i, a) {
|
|
321
321
|
for (let o of [
|
|
322
322
|
"top",
|
|
323
323
|
"bottom",
|
|
@@ -327,10 +327,10 @@ function De(e, t, n, r, i, a) {
|
|
|
327
327
|
"top-left",
|
|
328
328
|
"bottom-right",
|
|
329
329
|
"bottom-left"
|
|
330
|
-
]) if (
|
|
330
|
+
]) if (Oe(e, t, n, r, o, i, a)) return o;
|
|
331
331
|
return "top";
|
|
332
332
|
}
|
|
333
|
-
function
|
|
333
|
+
function Ae(e, t, n) {
|
|
334
334
|
let r = e.x + e.width / 2, i = e.y + e.height / 2, a = t - r, o = n - i;
|
|
335
335
|
if (Math.abs(a) * e.height > Math.abs(o) * e.width) {
|
|
336
336
|
let t = a >= 0 ? e.x + e.width : e.x, n = a === 0 ? 0 : (t - r) / a;
|
|
@@ -345,7 +345,7 @@ function Oe(e, t, n) {
|
|
|
345
345
|
y: s
|
|
346
346
|
};
|
|
347
347
|
}
|
|
348
|
-
function
|
|
348
|
+
function je(e, t, n, r, i) {
|
|
349
349
|
let a = e - n / 2, o = t - r / 2, s = e + 32, c = e - n - 32, l = t - r - 32, u = t + 32;
|
|
350
350
|
switch (i) {
|
|
351
351
|
case "top": return {
|
|
@@ -382,36 +382,36 @@ function ke(e, t, n, r, i) {
|
|
|
382
382
|
};
|
|
383
383
|
}
|
|
384
384
|
}
|
|
385
|
-
function
|
|
385
|
+
function Me(e, t, n) {
|
|
386
386
|
return {
|
|
387
|
-
width: Math.min(t, Math.max(16, Math.min(240, Math.ceil(Math.max(...e.map(
|
|
387
|
+
width: Math.min(t, Math.max(16, Math.min(240, Math.ceil(Math.max(...e.map(We), 0)) + 16))),
|
|
388
388
|
height: Math.min(n, Math.max(26, (e.length - 1) * 16 + 14 + 16))
|
|
389
389
|
};
|
|
390
390
|
}
|
|
391
|
-
function
|
|
392
|
-
let { width: c, height: l } =
|
|
391
|
+
function Ne(e, t, n, r, i, a, o = 0, s = 0) {
|
|
392
|
+
let { width: c, height: l } = Me(n, r, i), u = je(e, t, c, l, a), d = De({
|
|
393
393
|
x: u.x + o,
|
|
394
394
|
y: u.y + s,
|
|
395
395
|
width: c,
|
|
396
396
|
height: l,
|
|
397
397
|
lineEndX: e,
|
|
398
398
|
lineEndY: t
|
|
399
|
-
}, r, i), f =
|
|
399
|
+
}, r, i), f = Ae(d, e, t);
|
|
400
400
|
return {
|
|
401
401
|
...d,
|
|
402
402
|
lineEndX: f.x,
|
|
403
403
|
lineEndY: f.y
|
|
404
404
|
};
|
|
405
405
|
}
|
|
406
|
-
function
|
|
406
|
+
function Pe(e, t, n, r) {
|
|
407
407
|
let i = [];
|
|
408
408
|
return e.forEach((e) => {
|
|
409
|
-
if (!
|
|
409
|
+
if (!Ke(e)) return;
|
|
410
410
|
let a = t.find((t) => t.series.id === e.seriesId);
|
|
411
411
|
if (!a) return;
|
|
412
412
|
let o = a.xScale.domain(), s = a.yScale.domain();
|
|
413
|
-
if (!
|
|
414
|
-
let c =
|
|
413
|
+
if (!Ee(e.x, o) || !Ee(e.y, s)) return;
|
|
414
|
+
let c = qe(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 } = Me(c, u, m), y = g ? "top" : ke(d, h, _, v, u, m), b = Ne(d, h, c, u, m, y, Number.isFinite(e.labelOffsetX) ? e.labelOffsetX : 0, Number.isFinite(e.labelOffsetY) ? e.labelOffsetY : 0), x = {
|
|
415
415
|
...b,
|
|
416
416
|
x: b.x + l,
|
|
417
417
|
y: b.y + a.top,
|
|
@@ -426,22 +426,22 @@ function Me(e, t, n, r) {
|
|
|
426
426
|
placement: y,
|
|
427
427
|
lines: c,
|
|
428
428
|
box: { ...x },
|
|
429
|
-
style:
|
|
429
|
+
style: Ge(e.style)
|
|
430
430
|
});
|
|
431
431
|
}), i;
|
|
432
432
|
}
|
|
433
433
|
//#endregion
|
|
434
434
|
//#region src/components/annotation/markup.ts
|
|
435
|
-
var
|
|
435
|
+
var Fe = {
|
|
436
436
|
borderColor: "#1677ff",
|
|
437
437
|
textColor: "#333333",
|
|
438
438
|
backgroundColor: "rgba(255, 255, 255, 0.92)"
|
|
439
|
-
},
|
|
440
|
-
function
|
|
441
|
-
return
|
|
439
|
+
}, Ie = "12px Arial, sans-serif";
|
|
440
|
+
function Le(e) {
|
|
441
|
+
return Te(e) ? e : X(e);
|
|
442
442
|
}
|
|
443
|
-
function
|
|
444
|
-
let r = null, i = e.series.source ??
|
|
443
|
+
function Re(e, t, n) {
|
|
444
|
+
let r = null, i = e.series.source ?? X(e.series.points);
|
|
445
445
|
for (let a = 0; a < i.length; a += 1) {
|
|
446
446
|
let o = i.pointAt(a);
|
|
447
447
|
if (!Number.isFinite(o.x) || !Number.isFinite(o.y)) continue;
|
|
@@ -455,14 +455,14 @@ function Ie(e, t, n) {
|
|
|
455
455
|
}
|
|
456
456
|
return r;
|
|
457
457
|
}
|
|
458
|
-
function
|
|
459
|
-
let n =
|
|
458
|
+
function ze(e, t) {
|
|
459
|
+
let n = Le(e);
|
|
460
460
|
if (!n.length || !Number.isFinite(t)) return null;
|
|
461
461
|
let r = n.visibleRange([t, t]).start, i = n.pointAt(Math.min(r, n.length - 1)), a = n.pointAt(Math.max(0, r - 1));
|
|
462
462
|
return Math.abs(t - a.x) < Math.abs(i.x - t) ? a : i;
|
|
463
463
|
}
|
|
464
|
-
function
|
|
465
|
-
let r =
|
|
464
|
+
function Be(e, t, n = "linear") {
|
|
465
|
+
let r = Le(e);
|
|
466
466
|
if (!r.length || !Number.isFinite(t)) return null;
|
|
467
467
|
let i = r.pointAt(0), a = r.pointAt(r.length - 1);
|
|
468
468
|
if (t < i.x || t > a.x) return null;
|
|
@@ -497,29 +497,29 @@ function Re(e, t, n = "linear") {
|
|
|
497
497
|
y: c.y + (s.y - c.y) * u
|
|
498
498
|
};
|
|
499
499
|
}
|
|
500
|
-
function
|
|
500
|
+
function Ve(e, t, n, r) {
|
|
501
501
|
return e.flatMap((e) => {
|
|
502
502
|
if (e.series.lineType === "none") {
|
|
503
|
-
let t =
|
|
503
|
+
let t = Re(e, n, r);
|
|
504
504
|
return t ? [{
|
|
505
505
|
trackIndex: e.index,
|
|
506
506
|
seriesId: e.series.id,
|
|
507
507
|
name: e.series.name?.trim() || e.series.id,
|
|
508
|
-
color: e.series.color ||
|
|
508
|
+
color: e.series.color || Fe.borderColor,
|
|
509
509
|
unit: e.series.unit,
|
|
510
510
|
...t
|
|
511
511
|
}] : [];
|
|
512
512
|
}
|
|
513
|
-
let i =
|
|
513
|
+
let i = Be(e.series.source ?? X(e.series.points), t, e.series.lineType);
|
|
514
514
|
if (!i) return [];
|
|
515
|
-
let a =
|
|
515
|
+
let a = ze(e.series.source ?? X(e.series.points), t);
|
|
516
516
|
if (!a) return [];
|
|
517
517
|
let o = e.xScale(i.x), s = e.top + e.yScale(i.y), c = e.xScale(a.x), l = e.top + e.yScale(a.y);
|
|
518
518
|
return [{
|
|
519
519
|
trackIndex: e.index,
|
|
520
520
|
seriesId: e.series.id,
|
|
521
521
|
name: e.series.name?.trim() || e.series.id,
|
|
522
|
-
color: e.series.color ||
|
|
522
|
+
color: e.series.color || Fe.borderColor,
|
|
523
523
|
unit: e.series.unit,
|
|
524
524
|
point: a,
|
|
525
525
|
screenX: c,
|
|
@@ -528,24 +528,24 @@ function ze(e, t, n, r) {
|
|
|
528
528
|
}];
|
|
529
529
|
}).sort((e, t) => e.distance - t.distance || e.trackIndex - t.trackIndex);
|
|
530
530
|
}
|
|
531
|
-
var
|
|
532
|
-
function
|
|
531
|
+
var He;
|
|
532
|
+
function Ue(e) {
|
|
533
533
|
return Array.from(e).reduce((e, t) => e + (t.codePointAt(0) > 255 ? 12 : 6.7), 0);
|
|
534
534
|
}
|
|
535
|
-
function
|
|
536
|
-
return
|
|
535
|
+
function We(e) {
|
|
536
|
+
return He === void 0 && (He = null, typeof document < "u" && typeof CanvasRenderingContext2D < "u" && (He = document.createElement("canvas").getContext("2d"), He && (He.font = Ie))), He?.measureText(e).width ?? Ue(e);
|
|
537
537
|
}
|
|
538
|
-
function
|
|
538
|
+
function Ge(e) {
|
|
539
539
|
return {
|
|
540
|
-
borderColor: e?.borderColor ||
|
|
541
|
-
textColor: e?.textColor ||
|
|
542
|
-
backgroundColor: e?.backgroundColor ||
|
|
540
|
+
borderColor: e?.borderColor || Fe.borderColor,
|
|
541
|
+
textColor: e?.textColor || Fe.textColor,
|
|
542
|
+
backgroundColor: e?.backgroundColor || Fe.backgroundColor
|
|
543
543
|
};
|
|
544
544
|
}
|
|
545
|
-
function
|
|
545
|
+
function Ke(e) {
|
|
546
546
|
return !!(e.id && e.seriesId) && Number.isFinite(e.x) && Number.isFinite(e.y) && typeof e.text == "string" && e.text.trim().length > 0;
|
|
547
547
|
}
|
|
548
|
-
function
|
|
548
|
+
function qe(e, t = 10) {
|
|
549
549
|
let n = [];
|
|
550
550
|
return e.split(/\r?\n/).forEach((e) => {
|
|
551
551
|
let r = Array.from(e);
|
|
@@ -558,30 +558,30 @@ function Ge(e, t = 10) {
|
|
|
558
558
|
}
|
|
559
559
|
//#endregion
|
|
560
560
|
//#region src/components/annotation/WaveformAnnotationLayer.vue?vue&type=script&setup=true&lang.ts
|
|
561
|
-
var
|
|
561
|
+
var Je = [
|
|
562
562
|
"data-annotation-id",
|
|
563
563
|
"data-placement",
|
|
564
564
|
"onPointerdown",
|
|
565
565
|
"onContextmenu"
|
|
566
|
-
],
|
|
566
|
+
], Ye = ["id"], Xe = ["fill"], Ze = [
|
|
567
567
|
"x1",
|
|
568
568
|
"y1",
|
|
569
569
|
"x2",
|
|
570
570
|
"y2",
|
|
571
571
|
"stroke",
|
|
572
572
|
"marker-end"
|
|
573
|
-
],
|
|
573
|
+
], Qe = [
|
|
574
574
|
"x",
|
|
575
575
|
"y",
|
|
576
576
|
"width",
|
|
577
577
|
"height",
|
|
578
578
|
"fill",
|
|
579
579
|
"stroke"
|
|
580
|
-
],
|
|
580
|
+
], $e = [
|
|
581
581
|
"x",
|
|
582
582
|
"y",
|
|
583
583
|
"fill"
|
|
584
|
-
],
|
|
584
|
+
], et = ["x", "dy"], tt = /*@__PURE__*/ l({
|
|
585
585
|
__name: "WaveformAnnotationLayer",
|
|
586
586
|
props: {
|
|
587
587
|
annotations: {},
|
|
@@ -721,7 +721,7 @@ var Ke = [
|
|
|
721
721
|
}, [a("path", {
|
|
722
722
|
d: "M0,0 L8,4 L0,8 Z",
|
|
723
723
|
fill: t.style.borderColor
|
|
724
|
-
}, null, 8,
|
|
724
|
+
}, null, 8, Xe)], 8, Ye)]),
|
|
725
725
|
a("line", {
|
|
726
726
|
class: "waveform-annotation__arrow",
|
|
727
727
|
x1: _(t).lineEndX,
|
|
@@ -730,7 +730,7 @@ var Ke = [
|
|
|
730
730
|
y2: t.anchorY,
|
|
731
731
|
stroke: t.style.borderColor,
|
|
732
732
|
"marker-end": `url(#${M(t.annotation.id)})`
|
|
733
|
-
}, null, 8,
|
|
733
|
+
}, null, 8, Ze),
|
|
734
734
|
a("rect", {
|
|
735
735
|
class: "waveform-annotation__box",
|
|
736
736
|
x: _(t).x,
|
|
@@ -739,27 +739,27 @@ var Ke = [
|
|
|
739
739
|
height: _(t).height,
|
|
740
740
|
fill: t.style.backgroundColor,
|
|
741
741
|
stroke: t.style.borderColor
|
|
742
|
-
}, null, 8,
|
|
742
|
+
}, null, 8, Qe),
|
|
743
743
|
a("text", {
|
|
744
744
|
class: "waveform-annotation__text",
|
|
745
745
|
x: _(t).x + _(t).width / 2,
|
|
746
746
|
y: _(t).y + _(t).height / 2 - (t.lines.length - 1) * D(16) / 2,
|
|
747
747
|
fill: t.style.textColor,
|
|
748
|
-
style: m({ font: D(
|
|
748
|
+
style: m({ font: D(Ie) }),
|
|
749
749
|
"text-anchor": "middle",
|
|
750
750
|
"dominant-baseline": "central"
|
|
751
751
|
}, [(y(!0), i(e, null, S(t.lines, (e, n) => (y(), i("tspan", {
|
|
752
752
|
key: `${t.annotation.id}-${n}`,
|
|
753
753
|
x: _(t).x + _(t).width / 2,
|
|
754
754
|
dy: n === 0 ? 0 : D(16)
|
|
755
|
-
}, T(e), 9,
|
|
756
|
-
], 40,
|
|
755
|
+
}, T(e), 9, et))), 128))], 12, $e)
|
|
756
|
+
], 40, Je))), 128))], 2)) : r("", !0);
|
|
757
757
|
}
|
|
758
|
-
}),
|
|
758
|
+
}), nt = (e, t) => {
|
|
759
759
|
let n = e.__vccOpts || e;
|
|
760
760
|
for (let [e, r] of t) n[e] = r;
|
|
761
761
|
return n;
|
|
762
|
-
},
|
|
762
|
+
}, rt = /*#__PURE__*/ nt(tt, [["__scopeId", "data-v-7254383e"]]), it = /*#__PURE__*/ nt(/* @__PURE__ */ l({
|
|
763
763
|
__name: "WaveformAnnotationContextMenu",
|
|
764
764
|
props: {
|
|
765
765
|
visible: { type: Boolean },
|
|
@@ -801,50 +801,50 @@ var Ke = [
|
|
|
801
801
|
}, "取消")
|
|
802
802
|
], 36)) : r("", !0);
|
|
803
803
|
}
|
|
804
|
-
}), [["__scopeId", "data-v-c70c98a1"]]),
|
|
805
|
-
function
|
|
804
|
+
}), [["__scopeId", "data-v-c70c98a1"]]), at = 1;
|
|
805
|
+
function Z(e) {
|
|
806
806
|
throw TypeError(`Invalid waveform annotation file: ${e}`);
|
|
807
807
|
}
|
|
808
|
-
function
|
|
808
|
+
function ot(e) {
|
|
809
809
|
return typeof e == "object" && !!e && !Array.isArray(e);
|
|
810
810
|
}
|
|
811
|
-
function
|
|
811
|
+
function st(e, t, n) {
|
|
812
812
|
let r = e[t];
|
|
813
|
-
return (typeof r != "string" || r.trim().length === 0) &&
|
|
813
|
+
return (typeof r != "string" || r.trim().length === 0) && Z(`${n}.${t} must be a non-empty string`), r;
|
|
814
814
|
}
|
|
815
|
-
function
|
|
815
|
+
function ct(e, t, n) {
|
|
816
816
|
let r = e[t];
|
|
817
|
-
if (r !== void 0) return typeof r != "string" &&
|
|
817
|
+
if (r !== void 0) return typeof r != "string" && Z(`${n}.${t} must be a string`), r;
|
|
818
818
|
}
|
|
819
|
-
function
|
|
819
|
+
function lt(e, t, n) {
|
|
820
820
|
let r = e[t];
|
|
821
|
-
return (typeof r != "number" || !Number.isFinite(r)) &&
|
|
821
|
+
return (typeof r != "number" || !Number.isFinite(r)) && Z(`${n}.${t} must be a finite number`), r;
|
|
822
822
|
}
|
|
823
|
-
function
|
|
823
|
+
function ut(e, t, n) {
|
|
824
824
|
let r = e[t];
|
|
825
|
-
if (r !== void 0) return (typeof r != "number" || !Number.isFinite(r)) &&
|
|
825
|
+
if (r !== void 0) return (typeof r != "number" || !Number.isFinite(r)) && Z(`${n}.${t} must be a finite number`), r;
|
|
826
826
|
}
|
|
827
|
-
function
|
|
827
|
+
function dt(e, t) {
|
|
828
828
|
if (e === void 0) return;
|
|
829
|
-
|
|
830
|
-
let n =
|
|
829
|
+
ot(e) || Z(`${t} must be an object`);
|
|
830
|
+
let n = ct(e, "borderColor", t), r = ct(e, "textColor", t), i = ct(e, "backgroundColor", t);
|
|
831
831
|
return {
|
|
832
832
|
...n !== void 0 && { borderColor: n },
|
|
833
833
|
...r !== void 0 && { textColor: r },
|
|
834
834
|
...i !== void 0 && { backgroundColor: i }
|
|
835
835
|
};
|
|
836
836
|
}
|
|
837
|
-
function
|
|
837
|
+
function ft(e, t) {
|
|
838
838
|
let n = `annotations[${t}]`;
|
|
839
|
-
|
|
840
|
-
let r =
|
|
841
|
-
r.length > 40 &&
|
|
842
|
-
let i =
|
|
839
|
+
ot(e) || Z(`${n} must be an object`);
|
|
840
|
+
let r = st(e, "text", n);
|
|
841
|
+
r.length > 40 && Z(`${n}.text must not exceed 40 characters`);
|
|
842
|
+
let i = ut(e, "labelOffsetX", n), a = ut(e, "labelOffsetY", n), o = ct(e, "createdAt", n), s = dt(e.style, `${n}.style`);
|
|
843
843
|
return {
|
|
844
|
-
id:
|
|
845
|
-
seriesId:
|
|
846
|
-
x:
|
|
847
|
-
y:
|
|
844
|
+
id: st(e, "id", n),
|
|
845
|
+
seriesId: st(e, "seriesId", n),
|
|
846
|
+
x: lt(e, "x", n),
|
|
847
|
+
y: lt(e, "y", n),
|
|
848
848
|
text: r,
|
|
849
849
|
...i !== void 0 && { labelOffsetX: i },
|
|
850
850
|
...a !== void 0 && { labelOffsetY: a },
|
|
@@ -852,31 +852,31 @@ function ut(e, t) {
|
|
|
852
852
|
...o !== void 0 && { createdAt: o }
|
|
853
853
|
};
|
|
854
854
|
}
|
|
855
|
-
function
|
|
856
|
-
let t = e.map(
|
|
855
|
+
function pt(e) {
|
|
856
|
+
let t = e.map(ft), n = /* @__PURE__ */ new Set();
|
|
857
857
|
return t.forEach((e, t) => {
|
|
858
|
-
n.has(e.id) &&
|
|
858
|
+
n.has(e.id) && Z(`annotations[${t}].id must be unique`), n.add(e.id);
|
|
859
859
|
}), t;
|
|
860
860
|
}
|
|
861
|
-
function
|
|
861
|
+
function mt(e) {
|
|
862
862
|
return JSON.stringify({
|
|
863
|
-
version:
|
|
864
|
-
annotations:
|
|
863
|
+
version: at,
|
|
864
|
+
annotations: pt(e)
|
|
865
865
|
}, null, 2);
|
|
866
866
|
}
|
|
867
|
-
function
|
|
868
|
-
typeof e != "string" &&
|
|
867
|
+
function ht(e) {
|
|
868
|
+
typeof e != "string" && Z("input must be a JSON string");
|
|
869
869
|
let t;
|
|
870
870
|
try {
|
|
871
871
|
t = JSON.parse(e);
|
|
872
872
|
} catch {
|
|
873
|
-
|
|
873
|
+
Z("input is not valid JSON");
|
|
874
874
|
}
|
|
875
|
-
return
|
|
875
|
+
return ot(t) || Z("root must be an object"), t.version !== at && Z(`version must be ${at}`), Array.isArray(t.annotations) || Z("annotations must be an array"), pt(t.annotations);
|
|
876
876
|
}
|
|
877
877
|
//#endregion
|
|
878
878
|
//#region src/components/annotation/useWaveformAnnotationInteraction.ts
|
|
879
|
-
function
|
|
879
|
+
function gt() {
|
|
880
880
|
let e = x(null), t = x(null);
|
|
881
881
|
return {
|
|
882
882
|
editorDraft: e,
|
|
@@ -916,14 +916,14 @@ function mt() {
|
|
|
916
916
|
}
|
|
917
917
|
//#endregion
|
|
918
918
|
//#region src/utils/domain.ts
|
|
919
|
-
function
|
|
919
|
+
function _t(e) {
|
|
920
920
|
if (e.length === 0) return [0, 1];
|
|
921
921
|
let [t = 0, n = 1] = V(e);
|
|
922
922
|
if (t !== n) return [t, n];
|
|
923
923
|
let r = Math.abs(t) * .05 || .5;
|
|
924
924
|
return [t - r, n + r];
|
|
925
925
|
}
|
|
926
|
-
function
|
|
926
|
+
function vt(e, t = 5, n) {
|
|
927
927
|
let r = e;
|
|
928
928
|
if (n && e.length >= 2) {
|
|
929
929
|
let t = e[0], n = e[1], i = e[e.length - 1], a = e[e.length - 2];
|
|
@@ -945,71 +945,71 @@ function gt(e, t = 5, n) {
|
|
|
945
945
|
}
|
|
946
946
|
//#endregion
|
|
947
947
|
//#region src/utils/formatters.ts
|
|
948
|
-
var
|
|
949
|
-
function
|
|
948
|
+
var yt = .001, bt = 1e3, xt = new Intl.NumberFormat("zh-CN", { maximumFractionDigits: 4 }), St = new Intl.NumberFormat("zh-CN", { maximumFractionDigits: 4 });
|
|
949
|
+
function Ct(e, t) {
|
|
950
950
|
let n = e.toFixed(Math.max(0, t));
|
|
951
951
|
return /^-0(?:\.0+)?$/.test(n) ? n.slice(1) : n;
|
|
952
952
|
}
|
|
953
|
-
function
|
|
954
|
-
return Number.isFinite(e) && (e >=
|
|
953
|
+
function wt(e) {
|
|
954
|
+
return Number.isFinite(e) && (e >= bt || e > 0 && e < yt);
|
|
955
955
|
}
|
|
956
|
-
function
|
|
956
|
+
function Tt(e, t) {
|
|
957
957
|
if (typeof e != "number" || typeof t != "number") return null;
|
|
958
958
|
let n = Math.max(Math.abs(e), Math.abs(t));
|
|
959
|
-
return
|
|
959
|
+
return wt(n) ? Math.floor(Math.log10(n)) : null;
|
|
960
960
|
}
|
|
961
|
-
function
|
|
961
|
+
function Et(e) {
|
|
962
962
|
return `E${e >= 0 ? "+" : "-"}${Math.abs(e).toString().padStart(2, "0")}`;
|
|
963
963
|
}
|
|
964
|
-
function
|
|
964
|
+
function Dt(e) {
|
|
965
965
|
if (Object.is(e, -0)) return "0";
|
|
966
|
-
let t = e === 0 ? 0 : Number(e.toPrecision(5)), n =
|
|
966
|
+
let t = e === 0 ? 0 : Number(e.toPrecision(5)), n = xt.format(t);
|
|
967
967
|
return n === "-0" ? "0" : n;
|
|
968
968
|
}
|
|
969
|
-
function
|
|
969
|
+
function Ot(e, t = {}) {
|
|
970
970
|
if (!Number.isFinite(e)) return String(e);
|
|
971
|
-
let n =
|
|
971
|
+
let n = Tt(t.axisMin, t.axisMax), r = Dt(n === null ? e : e / 10 ** n);
|
|
972
972
|
if (e !== (t.topTickValue ?? t.axisMax)) return r;
|
|
973
973
|
let i = t.unit?.trim(), a = i ? `(${i}) ` : "";
|
|
974
|
-
return `${n === null ? "" : `${
|
|
974
|
+
return `${n === null ? "" : `${Et(n)} `}${a}${r}`;
|
|
975
975
|
}
|
|
976
|
-
function
|
|
977
|
-
return Number.isFinite(e) ? Object.is(e, -0) ? "0" :
|
|
976
|
+
function kt(e) {
|
|
977
|
+
return Number.isFinite(e) ? Object.is(e, -0) ? "0" : St.format(e) : String(e);
|
|
978
978
|
}
|
|
979
|
-
function
|
|
979
|
+
function At(e) {
|
|
980
980
|
if (!Number.isFinite(e)) return String(e);
|
|
981
981
|
if (Object.is(e, -0)) return "0";
|
|
982
982
|
let [t, n] = e.toExponential().split("e"), r = Number(n), i = t.startsWith("-"), a = t.replace("-", "").replace(".", ""), o = r + 1, s;
|
|
983
983
|
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}`;
|
|
984
984
|
}
|
|
985
|
-
function
|
|
985
|
+
function jt(e, t) {
|
|
986
986
|
return t === "ms" ? e * 1e3 : e;
|
|
987
987
|
}
|
|
988
|
-
function
|
|
989
|
-
let a =
|
|
988
|
+
function Mt(e, t, n, r, i) {
|
|
989
|
+
let a = jt(e, n);
|
|
990
990
|
return i ? i(a, {
|
|
991
991
|
kind: r,
|
|
992
992
|
rawValue: e,
|
|
993
993
|
timeUnit: n,
|
|
994
994
|
domain: [t[0], t[1]],
|
|
995
|
-
displayDomain: [
|
|
996
|
-
}) :
|
|
995
|
+
displayDomain: [jt(t[0], n), jt(t[1], n)]
|
|
996
|
+
}) : At(a);
|
|
997
997
|
}
|
|
998
|
-
function
|
|
999
|
-
return
|
|
998
|
+
function Nt(e, t, n) {
|
|
999
|
+
return Mt(e, t, n, "end");
|
|
1000
1000
|
}
|
|
1001
|
-
function
|
|
1002
|
-
return
|
|
1001
|
+
function Pt(e, t, n) {
|
|
1002
|
+
return Mt(e, n ?? [e, e], t, "tick");
|
|
1003
1003
|
}
|
|
1004
|
-
function
|
|
1005
|
-
return
|
|
1004
|
+
function Ft(e, t) {
|
|
1005
|
+
return kt(jt(e, t));
|
|
1006
1006
|
}
|
|
1007
|
-
function
|
|
1008
|
-
return Number.isFinite(e) ?
|
|
1007
|
+
function It(e, t) {
|
|
1008
|
+
return Number.isFinite(e) ? Ct(jt(e, t), 3) : String(e);
|
|
1009
1009
|
}
|
|
1010
1010
|
//#endregion
|
|
1011
1011
|
//#region src/utils/geometry.ts
|
|
1012
|
-
function
|
|
1012
|
+
function Lt(e, t, n) {
|
|
1013
1013
|
if (e <= 0) return {
|
|
1014
1014
|
gap: 0,
|
|
1015
1015
|
axisBand: 0,
|
|
@@ -1022,55 +1022,55 @@ function Ft(e, t, n) {
|
|
|
1022
1022
|
height: Math.max(1, (n - (e - 1) * (c + l)) / e)
|
|
1023
1023
|
};
|
|
1024
1024
|
}
|
|
1025
|
-
function
|
|
1025
|
+
function Rt(e, t, n) {
|
|
1026
1026
|
return Math.min(Math.max(e, t), n);
|
|
1027
1027
|
}
|
|
1028
1028
|
//#endregion
|
|
1029
1029
|
//#region src/components/core/constants.ts
|
|
1030
|
-
var
|
|
1030
|
+
var zt = {
|
|
1031
1031
|
top: 18,
|
|
1032
1032
|
right: 24,
|
|
1033
1033
|
bottom: 52,
|
|
1034
1034
|
left: 80
|
|
1035
|
-
},
|
|
1035
|
+
}, Bt = {
|
|
1036
1036
|
DEFAULT_MAX_SCALE: 40,
|
|
1037
1037
|
MIN_SCALE: 1
|
|
1038
|
-
},
|
|
1038
|
+
}, Vt = .62, Ht = 1.2, Ut = /* @__PURE__ */ "#0960bd.#ff7f0e.#2ca02c.#d62728.#9467bd.#8c564b.#e377c2.#7f7f7f.#bcbd22.#17becf.#005f73.#0a9396.#ae2012.#bb3e03.#ca6702.#ee9b00.#9b2226.#3a0ca3.#4361ee.#4895ef.#560bad.#7209b7.#b5179e.#f72585.#006d77.#2f3e46.#354f52.#52796f.#800f2f.#31572c".split("."), Wt = {
|
|
1039
1039
|
WIDTH: 1.5,
|
|
1040
1040
|
CAP_WIDTH: 8
|
|
1041
|
-
},
|
|
1041
|
+
}, Gt = {
|
|
1042
1042
|
COLOR: "#98a2b3",
|
|
1043
1043
|
WIDTH: 1,
|
|
1044
1044
|
DASH: "6 4"
|
|
1045
1045
|
};
|
|
1046
1046
|
//#endregion
|
|
1047
1047
|
//#region src/components/core/yDomain.ts
|
|
1048
|
-
function
|
|
1048
|
+
function Kt(e) {
|
|
1049
1049
|
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]];
|
|
1050
1050
|
}
|
|
1051
|
-
function
|
|
1052
|
-
return
|
|
1051
|
+
function qt(e, t) {
|
|
1052
|
+
return Kt(t?.[e.id]);
|
|
1053
1053
|
}
|
|
1054
|
-
function
|
|
1055
|
-
return
|
|
1054
|
+
function Jt(e, t, n) {
|
|
1055
|
+
return Kt(n?.[e.id]) ?? Kt(t);
|
|
1056
1056
|
}
|
|
1057
|
-
function
|
|
1058
|
-
return !!(
|
|
1057
|
+
function Yt(e, t, n) {
|
|
1058
|
+
return !!(qt(e, n) || e.visibleSeries.some((e) => Jt(e, t, n)));
|
|
1059
1059
|
}
|
|
1060
|
-
function
|
|
1060
|
+
function Xt(e) {
|
|
1061
1061
|
return [Math.min(...e.map((e) => e[0])), Math.max(...e.map((e) => e[1]))];
|
|
1062
1062
|
}
|
|
1063
1063
|
//#endregion
|
|
1064
1064
|
//#region src/core/data.ts
|
|
1065
|
-
var
|
|
1066
|
-
function
|
|
1065
|
+
var Zt = Wt.WIDTH, Qt = Wt.CAP_WIDTH;
|
|
1066
|
+
function $t(e) {
|
|
1067
1067
|
return e === "dashed" || e === "dash-dot" ? e : "solid";
|
|
1068
1068
|
}
|
|
1069
|
-
function
|
|
1069
|
+
function en(e) {
|
|
1070
1070
|
return typeof e == "number" && Number.isFinite(e) && e >= 0 ? e : void 0;
|
|
1071
1071
|
}
|
|
1072
|
-
function
|
|
1073
|
-
let t =
|
|
1072
|
+
function tn(e) {
|
|
1073
|
+
let t = en(e.error), n = en(e.lowerError), r = en(e.upperError);
|
|
1074
1074
|
return {
|
|
1075
1075
|
x: e.x,
|
|
1076
1076
|
y: e.y,
|
|
@@ -1079,10 +1079,10 @@ function $t(e) {
|
|
|
1079
1079
|
...r === void 0 ? {} : { upperError: r }
|
|
1080
1080
|
};
|
|
1081
1081
|
}
|
|
1082
|
-
function
|
|
1082
|
+
function nn(e) {
|
|
1083
1083
|
return e instanceof Float32Array || e instanceof Float64Array;
|
|
1084
1084
|
}
|
|
1085
|
-
function
|
|
1085
|
+
function rn(e, t, n) {
|
|
1086
1086
|
if (!Number.isFinite(t) || t <= 0) return [];
|
|
1087
1087
|
let r = Number.isFinite(n) ? n ?? 0 : 0, i = [];
|
|
1088
1088
|
for (let n = 0; n < e.length; n += 1) {
|
|
@@ -1094,24 +1094,24 @@ function tn(e, t, n) {
|
|
|
1094
1094
|
}
|
|
1095
1095
|
return i;
|
|
1096
1096
|
}
|
|
1097
|
-
function
|
|
1098
|
-
return !
|
|
1097
|
+
function an(e) {
|
|
1098
|
+
return !nn(e.values) || !Number.isFinite(e.sampleRate) || e.sampleRate <= 0 || e.startTime !== void 0 && !Number.isFinite(e.startTime) ? [] : rn(e.values, e.sampleRate, e.startTime);
|
|
1099
1099
|
}
|
|
1100
|
-
function
|
|
1101
|
-
if (!(e.x instanceof Float64Array) || !
|
|
1100
|
+
function on(e) {
|
|
1101
|
+
if (!(e.x instanceof Float64Array) || !nn(e.y)) return !1;
|
|
1102
1102
|
let t = e.x.length;
|
|
1103
1103
|
return [
|
|
1104
1104
|
e.error,
|
|
1105
1105
|
e.lowerError,
|
|
1106
1106
|
e.upperError
|
|
1107
|
-
].every((e) => e === void 0 ||
|
|
1107
|
+
].every((e) => e === void 0 || nn(e) && e.length === t) && e.y.length === t;
|
|
1108
1108
|
}
|
|
1109
|
-
function
|
|
1109
|
+
function sn(e) {
|
|
1110
1110
|
let t = [], n = -Infinity, r = !0;
|
|
1111
1111
|
for (let i = 0; i < e.x.length; i += 1) {
|
|
1112
1112
|
let a = e.x[i], o = e.y[i];
|
|
1113
1113
|
if (!Number.isFinite(a) || !Number.isFinite(o)) continue;
|
|
1114
|
-
let s =
|
|
1114
|
+
let s = tn({
|
|
1115
1115
|
x: a,
|
|
1116
1116
|
y: o,
|
|
1117
1117
|
error: e.error?.[i],
|
|
@@ -1122,27 +1122,27 @@ function an(e) {
|
|
|
1122
1122
|
}
|
|
1123
1123
|
return r || t.sort((e, t) => e.x - t.x), t;
|
|
1124
1124
|
}
|
|
1125
|
-
function
|
|
1126
|
-
let t =
|
|
1125
|
+
function cn(e) {
|
|
1126
|
+
let t = en(e.error) ?? 0;
|
|
1127
1127
|
return {
|
|
1128
|
-
lower:
|
|
1129
|
-
upper:
|
|
1128
|
+
lower: en(e.lowerError) ?? t,
|
|
1129
|
+
upper: en(e.upperError) ?? t
|
|
1130
1130
|
};
|
|
1131
1131
|
}
|
|
1132
|
-
function
|
|
1133
|
-
if (e.kind === "samples") return
|
|
1134
|
-
if (e.kind === "typed-samples") return
|
|
1135
|
-
if (e.kind === "typed-points") return
|
|
1132
|
+
function ln(e) {
|
|
1133
|
+
if (e.kind === "samples") return rn(e.values, e.sampleRate, e.startTime);
|
|
1134
|
+
if (e.kind === "typed-samples") return an(e);
|
|
1135
|
+
if (e.kind === "typed-points") return on(e) ? sn(e) : [];
|
|
1136
1136
|
let t = [], n = -Infinity, r = !0;
|
|
1137
1137
|
for (let i of e.points) {
|
|
1138
1138
|
if (!Number.isFinite(i.x) || !Number.isFinite(i.y)) continue;
|
|
1139
|
-
let e =
|
|
1139
|
+
let e = tn(i);
|
|
1140
1140
|
e.x < n && (r = !1), n = e.x, t.push(e);
|
|
1141
1141
|
}
|
|
1142
1142
|
return r || t.sort((e, t) => e.x - t.x), t;
|
|
1143
1143
|
}
|
|
1144
|
-
function
|
|
1145
|
-
let n = t.lineType ?? "linear", r =
|
|
1144
|
+
function un(e, t) {
|
|
1145
|
+
let n = t.lineType ?? "linear", r = $t(t.lineStyle), i = t.pointType ?? "none", a = t.errorBar?.visible === !0, o = n === "none" && i === "none" && !a ? "linear" : n, s = Number(t.errorBar?.width), c = Number(t.errorBar?.capWidth);
|
|
1146
1146
|
return {
|
|
1147
1147
|
id: e,
|
|
1148
1148
|
shotNo: t.shotNo?.trim() || void 0,
|
|
@@ -1156,16 +1156,16 @@ function cn(e, t) {
|
|
|
1156
1156
|
errorBar: {
|
|
1157
1157
|
visible: a,
|
|
1158
1158
|
color: t.errorBar?.color,
|
|
1159
|
-
width: Number.isFinite(s) && s > 0 ? s :
|
|
1160
|
-
capWidth: Number.isFinite(c) && c > 0 ? c :
|
|
1159
|
+
width: Number.isFinite(s) && s > 0 ? s : Zt,
|
|
1160
|
+
capWidth: Number.isFinite(c) && c > 0 ? c : Qt
|
|
1161
1161
|
}
|
|
1162
1162
|
};
|
|
1163
1163
|
}
|
|
1164
|
-
function
|
|
1164
|
+
function dn(e) {
|
|
1165
1165
|
if (e.kind !== "series") {
|
|
1166
|
-
let t =
|
|
1166
|
+
let t = Ce(e, ln);
|
|
1167
1167
|
return t.length ? [{
|
|
1168
|
-
...
|
|
1168
|
+
...un("series-0", { name: "" }),
|
|
1169
1169
|
source: t
|
|
1170
1170
|
}] : [];
|
|
1171
1171
|
}
|
|
@@ -1174,35 +1174,35 @@ function ln(e) {
|
|
|
1174
1174
|
let r = e.id?.trim() || `series-${n}`, i = r, a = 1;
|
|
1175
1175
|
for (; t.has(i);) i = `${r}-${a}`, a += 1;
|
|
1176
1176
|
t.add(i);
|
|
1177
|
-
let o =
|
|
1177
|
+
let o = Ce(e.data, ln);
|
|
1178
1178
|
return o.length ? [{
|
|
1179
|
-
...
|
|
1179
|
+
...un(i, e),
|
|
1180
1180
|
source: o
|
|
1181
1181
|
}] : [];
|
|
1182
1182
|
});
|
|
1183
1183
|
}
|
|
1184
|
-
function
|
|
1185
|
-
return
|
|
1184
|
+
function fn(e) {
|
|
1185
|
+
return dn(e).map(({ source: e, ...t }) => ({
|
|
1186
1186
|
...t,
|
|
1187
1187
|
points: e.pointsInRange()
|
|
1188
1188
|
}));
|
|
1189
1189
|
}
|
|
1190
1190
|
//#endregion
|
|
1191
1191
|
//#region src/core/renderingStrategies.ts
|
|
1192
|
-
function
|
|
1192
|
+
function pn(e, t) {
|
|
1193
1193
|
return {
|
|
1194
1194
|
start: Math.max(0, e.start - 1),
|
|
1195
1195
|
end: Math.min(t, e.end + 1)
|
|
1196
1196
|
};
|
|
1197
1197
|
}
|
|
1198
|
-
function
|
|
1198
|
+
function mn(e, t) {
|
|
1199
1199
|
t && e[e.length - 1] !== t && e.push(t);
|
|
1200
1200
|
}
|
|
1201
|
-
var
|
|
1202
|
-
let { start: t, end: n } =
|
|
1201
|
+
var hn = (e) => {
|
|
1202
|
+
let { start: t, end: n } = pn(e.range, e.points.length);
|
|
1203
1203
|
return e.points.slice(t, n);
|
|
1204
|
-
},
|
|
1205
|
-
let { points: t, range: n, domain: r, width: i, options: a } = e, { start: o, end: s } =
|
|
1204
|
+
}, gn = (e) => {
|
|
1205
|
+
let { points: t, range: n, domain: r, width: i, options: a } = e, { start: o, end: s } = pn(n, t.length);
|
|
1206
1206
|
if (s - o <= 0) return [];
|
|
1207
1207
|
let c = Math.min(r[0], r[1]), l = Math.max(r[0], r[1]), u = Math.max(4, a.sampling.maxPointCount ?? Math.floor(i * a.maxPointsPerPixel)), d = Math.max(1, Math.floor(u / 4)), f = [], p = l - c || 1, m = Array.from({ length: 4 }, () => -1), h = -1, g = -1, _ = -1, v = -1, y = -1, b = (e, t) => {
|
|
1208
1208
|
if (e < 0) return t;
|
|
@@ -1217,9 +1217,9 @@ var pn = (e) => {
|
|
|
1217
1217
|
for (; n >= 0 && m[n] > e;) m[n + 1] = m[n], --n;
|
|
1218
1218
|
m[n + 1] = e;
|
|
1219
1219
|
}
|
|
1220
|
-
for (let n = 0; n < e; n += 1)
|
|
1220
|
+
for (let n = 0; n < e; n += 1) mn(f, t[m[n]]);
|
|
1221
1221
|
};
|
|
1222
|
-
|
|
1222
|
+
mn(f, t[o]);
|
|
1223
1223
|
for (let e = n.start; e < n.end; e += 1) {
|
|
1224
1224
|
let n = t[e], r = Math.min(d - 1, Math.max(0, Math.floor((n.x - c) / p * d)));
|
|
1225
1225
|
if (r !== h) {
|
|
@@ -1228,15 +1228,15 @@ var pn = (e) => {
|
|
|
1228
1228
|
}
|
|
1229
1229
|
_ = e, n.y < t[v].y && (v = e), n.y > t[y].y && (y = e);
|
|
1230
1230
|
}
|
|
1231
|
-
return x(),
|
|
1231
|
+
return x(), mn(f, t[s - 1]), f;
|
|
1232
1232
|
};
|
|
1233
|
-
function
|
|
1233
|
+
function _n(e) {
|
|
1234
1234
|
let t = Math.max(4, e.options.sampling.maxPointCount ?? Math.floor(e.width * e.options.maxPointsPerPixel));
|
|
1235
|
-
return !e.options.downsample || e.visibleCount <= e.options.downsampleThreshold || e.visibleCount <= t ?
|
|
1235
|
+
return !e.options.downsample || e.visibleCount <= e.options.downsampleThreshold || e.visibleCount <= t ? hn : gn;
|
|
1236
1236
|
}
|
|
1237
1237
|
//#endregion
|
|
1238
1238
|
//#region src/core/renderingOptions.ts
|
|
1239
|
-
var
|
|
1239
|
+
var Q = {
|
|
1240
1240
|
downsample: !0,
|
|
1241
1241
|
downsampleThreshold: 2e3,
|
|
1242
1242
|
maxPointsPerPixel: 4,
|
|
@@ -1252,11 +1252,11 @@ var gn = {
|
|
|
1252
1252
|
rawPointLimit: 1e5,
|
|
1253
1253
|
wasmFailureFallback: "error"
|
|
1254
1254
|
}
|
|
1255
|
-
},
|
|
1255
|
+
}, vn = [
|
|
1256
1256
|
"auto",
|
|
1257
1257
|
"wasm",
|
|
1258
1258
|
"raw"
|
|
1259
|
-
],
|
|
1259
|
+
], yn = [
|
|
1260
1260
|
"auto",
|
|
1261
1261
|
"none",
|
|
1262
1262
|
"peak",
|
|
@@ -1267,70 +1267,70 @@ var gn = {
|
|
|
1267
1267
|
"minmax",
|
|
1268
1268
|
"sum"
|
|
1269
1269
|
];
|
|
1270
|
-
function yn(e) {
|
|
1271
|
-
return typeof e == "string" && _n.includes(e);
|
|
1272
|
-
}
|
|
1273
1270
|
function bn(e) {
|
|
1274
1271
|
return typeof e == "string" && vn.includes(e);
|
|
1275
1272
|
}
|
|
1276
|
-
function xn(e
|
|
1273
|
+
function xn(e) {
|
|
1274
|
+
return typeof e == "string" && yn.includes(e);
|
|
1275
|
+
}
|
|
1276
|
+
function Sn(e, t, n) {
|
|
1277
1277
|
return typeof e == "number" && Number.isFinite(e) && e >= t ? Math.floor(e) : n;
|
|
1278
1278
|
}
|
|
1279
|
-
function
|
|
1279
|
+
function Cn(e, t) {
|
|
1280
1280
|
return typeof e == "number" && Number.isFinite(e) && e > 0 ? e : t;
|
|
1281
1281
|
}
|
|
1282
|
-
function
|
|
1282
|
+
function wn(e, t) {
|
|
1283
1283
|
return typeof e == "number" && Number.isFinite(e) && e >= t ? Math.floor(e) : void 0;
|
|
1284
1284
|
}
|
|
1285
|
-
function
|
|
1285
|
+
function Tn(e, t) {
|
|
1286
1286
|
return Number.isFinite(e) && e >= 0 ? e : t;
|
|
1287
1287
|
}
|
|
1288
|
-
function
|
|
1289
|
-
let r =
|
|
1288
|
+
function En(e, t, n) {
|
|
1289
|
+
let r = bn(e?.mode) ? e.mode : t === !1 ? "raw" : Q.sampling.mode, i = Cn(e?.maxPointsPerPixel, n);
|
|
1290
1290
|
return {
|
|
1291
1291
|
mode: r,
|
|
1292
|
-
autoThreshold:
|
|
1293
|
-
autoHysteresis:
|
|
1294
|
-
strategy:
|
|
1292
|
+
autoThreshold: Sn(e?.autoThreshold, 1, Q.sampling.autoThreshold),
|
|
1293
|
+
autoHysteresis: Sn(e?.autoHysteresis, 0, Q.sampling.autoHysteresis),
|
|
1294
|
+
strategy: xn(e?.strategy) ? e.strategy : Q.sampling.strategy,
|
|
1295
1295
|
maxPointsPerPixel: i,
|
|
1296
|
-
maxPointCount:
|
|
1297
|
-
rawPointLimit:
|
|
1298
|
-
wasmFailureFallback: e?.wasmFailureFallback === "javascript" || e?.wasmFailureFallback === "error" ? e.wasmFailureFallback :
|
|
1296
|
+
maxPointCount: wn(e?.maxPointCount, 1),
|
|
1297
|
+
rawPointLimit: Sn(e?.rawPointLimit, 1, Q.sampling.rawPointLimit),
|
|
1298
|
+
wasmFailureFallback: e?.wasmFailureFallback === "javascript" || e?.wasmFailureFallback === "error" ? e.wasmFailureFallback : Q.sampling.wasmFailureFallback
|
|
1299
1299
|
};
|
|
1300
1300
|
}
|
|
1301
|
-
function
|
|
1302
|
-
let t = Number(e?.downsampleThreshold), n = Number(e?.maxPointsPerPixel), r = Number(e?.pointMinSpacing), i = Number(e?.errorBarMinSpacing), a = Number.isFinite(n) && n > 0 ? n :
|
|
1301
|
+
function Dn(e) {
|
|
1302
|
+
let t = Number(e?.downsampleThreshold), n = Number(e?.maxPointsPerPixel), r = Number(e?.pointMinSpacing), i = Number(e?.errorBarMinSpacing), a = Number.isFinite(n) && n > 0 ? n : Q.maxPointsPerPixel, o = En(e?.sampling, typeof e?.downsample == "boolean" ? e.downsample : void 0, a);
|
|
1303
1303
|
return {
|
|
1304
1304
|
downsample: o.mode !== "raw",
|
|
1305
|
-
downsampleThreshold: Number.isFinite(t) && t >= 2 ? Math.floor(t) :
|
|
1305
|
+
downsampleThreshold: Number.isFinite(t) && t >= 2 ? Math.floor(t) : Q.downsampleThreshold,
|
|
1306
1306
|
maxPointsPerPixel: o.maxPointsPerPixel,
|
|
1307
|
-
pointMinSpacing:
|
|
1308
|
-
errorBarMinSpacing:
|
|
1307
|
+
pointMinSpacing: Tn(r, Q.pointMinSpacing),
|
|
1308
|
+
errorBarMinSpacing: Tn(i, Q.errorBarMinSpacing),
|
|
1309
1309
|
sampling: o
|
|
1310
1310
|
};
|
|
1311
1311
|
}
|
|
1312
1312
|
//#endregion
|
|
1313
1313
|
//#region src/core/rendering.ts
|
|
1314
|
-
var
|
|
1315
|
-
function
|
|
1314
|
+
var On = L((e) => e.x), kn = () => !0;
|
|
1315
|
+
function An(e, t) {
|
|
1316
1316
|
let n = Math.min(t[0], t[1]), r = Math.max(t[0], t[1]);
|
|
1317
1317
|
return {
|
|
1318
|
-
start:
|
|
1319
|
-
end:
|
|
1318
|
+
start: On.left(e, n),
|
|
1319
|
+
end: On.right(e, r)
|
|
1320
1320
|
};
|
|
1321
1321
|
}
|
|
1322
|
-
function
|
|
1322
|
+
function jn(e, t, n) {
|
|
1323
1323
|
if (!Number.isFinite(n) || n <= 0) return !0;
|
|
1324
1324
|
let r = Math.ceil(n), i = /* @__PURE__ */ new Set();
|
|
1325
1325
|
for (let n of e) {
|
|
1326
|
-
let e =
|
|
1326
|
+
let e = An(n.points, t);
|
|
1327
1327
|
for (let t = e.start; t < e.end; t += 1) if (i.add(n.points[t].x), i.size >= r) return !0;
|
|
1328
1328
|
}
|
|
1329
1329
|
return !1;
|
|
1330
1330
|
}
|
|
1331
|
-
function
|
|
1331
|
+
function Mn(e, t, n, r, i) {
|
|
1332
1332
|
let a = Math.max(0, t.start - 1), o = Math.min(e.length, t.end + 1) - a;
|
|
1333
|
-
return o <= 0 ? [] :
|
|
1333
|
+
return o <= 0 ? [] : _n({
|
|
1334
1334
|
visibleCount: o,
|
|
1335
1335
|
width: r,
|
|
1336
1336
|
options: i
|
|
@@ -1342,10 +1342,10 @@ function jn(e, t, n, r, i) {
|
|
|
1342
1342
|
options: i
|
|
1343
1343
|
});
|
|
1344
1344
|
}
|
|
1345
|
-
function
|
|
1345
|
+
function Nn(e, t) {
|
|
1346
1346
|
return t.sampling.mode === "wasm" || t.sampling.mode === "auto" && e > t.sampling.autoThreshold;
|
|
1347
1347
|
}
|
|
1348
|
-
function
|
|
1348
|
+
function Pn(e, t, n, r) {
|
|
1349
1349
|
let i = Math.max(0, t.start - 1), a = Math.min(e.length, t.end + 1), o = a - i;
|
|
1350
1350
|
if (o <= 0) return [];
|
|
1351
1351
|
if (r.sampling.strategy === "none") return e.slice(i, a);
|
|
@@ -1355,12 +1355,12 @@ function Nn(e, t, n, r) {
|
|
|
1355
1355
|
return e[i + r];
|
|
1356
1356
|
});
|
|
1357
1357
|
}
|
|
1358
|
-
function
|
|
1359
|
-
return !e.length || n <= 0 ? [] :
|
|
1358
|
+
function Fn(e, t, n, r) {
|
|
1359
|
+
return !e.length || n <= 0 ? [] : Mn(e, An(e, t), t, n, r);
|
|
1360
1360
|
}
|
|
1361
|
-
function
|
|
1361
|
+
function In(e, t, n, r, i, a, o, s) {
|
|
1362
1362
|
if (!a || i === 0) {
|
|
1363
|
-
if (o ===
|
|
1363
|
+
if (o === kn) return e.slice(t.start, t.end);
|
|
1364
1364
|
let n = [];
|
|
1365
1365
|
for (let r = t.start; r < t.end; r += 1) o(e[r]) && n.push(e[r]);
|
|
1366
1366
|
return n;
|
|
@@ -1393,40 +1393,40 @@ function Fn(e, t, n, r, i, a, o, s) {
|
|
|
1393
1393
|
let w = (f ?? []).map((e, t) => m?.[t] ?? e).filter((e) => e !== void 0);
|
|
1394
1394
|
return v && w[0] !== v && w.unshift(v), y && w.at(-1) !== y && w.push(y), w;
|
|
1395
1395
|
}
|
|
1396
|
-
function
|
|
1397
|
-
let { lower: t, upper: n } =
|
|
1396
|
+
function Ln(e) {
|
|
1397
|
+
let { lower: t, upper: n } = cn(e);
|
|
1398
1398
|
return t !== 0 || n !== 0;
|
|
1399
1399
|
}
|
|
1400
|
-
function
|
|
1400
|
+
function Rn(e, t, n, r, i) {
|
|
1401
1401
|
if (!e.length || n <= 0) return {
|
|
1402
1402
|
linePoints: [],
|
|
1403
1403
|
pointRenderPoints: [],
|
|
1404
1404
|
errorBarRenderPoints: []
|
|
1405
1405
|
};
|
|
1406
|
-
let a =
|
|
1406
|
+
let a = An(e, t), o = i.lineVisible ? i.linePointOverride ?? (Nn(a.end - a.start, r) ? Pn(e, a, n, r) : Mn(e, a, t, n, r)) : [], s = i.errorBarVisible && i.hasErrorPoints;
|
|
1407
1407
|
if (i.pointVisible && s) {
|
|
1408
|
-
let i =
|
|
1408
|
+
let i = In(e, a, t, n, Math.max(r.pointMinSpacing, r.errorBarMinSpacing), r.downsample, kn, Ln);
|
|
1409
1409
|
return {
|
|
1410
1410
|
linePoints: o,
|
|
1411
1411
|
pointRenderPoints: i,
|
|
1412
|
-
errorBarRenderPoints: i.filter(
|
|
1412
|
+
errorBarRenderPoints: i.filter(Ln)
|
|
1413
1413
|
};
|
|
1414
1414
|
}
|
|
1415
1415
|
return {
|
|
1416
1416
|
linePoints: o,
|
|
1417
|
-
pointRenderPoints: i.pointVisible ?
|
|
1418
|
-
errorBarRenderPoints: s ?
|
|
1417
|
+
pointRenderPoints: i.pointVisible ? In(e, a, t, n, r.pointMinSpacing, r.downsample, kn) : [],
|
|
1418
|
+
errorBarRenderPoints: s ? In(e, a, t, n, r.errorBarMinSpacing, r.downsample, Ln) : []
|
|
1419
1419
|
};
|
|
1420
1420
|
}
|
|
1421
|
-
var
|
|
1421
|
+
var zn = (e, t) => {
|
|
1422
1422
|
let n = typeof e == "number" ? e : Number(e);
|
|
1423
1423
|
return Number.isFinite(n) ? Math.min(10, Math.max(1, Math.floor(n))) : t;
|
|
1424
|
-
},
|
|
1424
|
+
}, Bn = (e) => {
|
|
1425
1425
|
if (!Array.isArray(e)) return [];
|
|
1426
1426
|
let t = e.filter((e) => typeof e == "string").map((e) => e.trim()).filter(Boolean);
|
|
1427
1427
|
return Array.from(new Set(t));
|
|
1428
1428
|
};
|
|
1429
|
-
function
|
|
1429
|
+
function Vn(e) {
|
|
1430
1430
|
let t = Object.fromEntries(Object.entries(e?.trackLines ?? {}).map(([e, t]) => [e, {
|
|
1431
1431
|
horizontal: typeof t?.horizontal != "boolean" || t.horizontal,
|
|
1432
1432
|
vertical: typeof t?.vertical != "boolean" || t.vertical,
|
|
@@ -1434,34 +1434,34 @@ function Bn(e) {
|
|
|
1434
1434
|
verticalColor: typeof t?.verticalColor == "string" && t.verticalColor.trim() ? t.verticalColor : void 0
|
|
1435
1435
|
}]));
|
|
1436
1436
|
return {
|
|
1437
|
-
rowCount:
|
|
1438
|
-
columnCount:
|
|
1437
|
+
rowCount: zn(e?.rowCount, 2),
|
|
1438
|
+
columnCount: zn(e?.columnCount, 1),
|
|
1439
1439
|
showPagination: e?.showPagination ?? !0,
|
|
1440
1440
|
fillIncompleteLastRow: e?.fillIncompleteLastRow ?? !1,
|
|
1441
|
-
trackOrder:
|
|
1441
|
+
trackOrder: Bn(e?.trackOrder),
|
|
1442
1442
|
hideEmptyTracks: e?.hideEmptyTracks ?? !1,
|
|
1443
1443
|
trackLines: t
|
|
1444
1444
|
};
|
|
1445
1445
|
}
|
|
1446
|
-
function
|
|
1446
|
+
function Hn(e) {
|
|
1447
1447
|
return e.rowCount * e.columnCount;
|
|
1448
1448
|
}
|
|
1449
|
-
function
|
|
1450
|
-
return Math.max(1, Math.ceil(Math.max(0, e) /
|
|
1449
|
+
function Un(e, t) {
|
|
1450
|
+
return Math.max(1, Math.ceil(Math.max(0, e) / Hn(t)));
|
|
1451
1451
|
}
|
|
1452
|
-
function
|
|
1453
|
-
let r =
|
|
1454
|
-
return e.slice(i, i +
|
|
1452
|
+
function Wn(e, t, n) {
|
|
1453
|
+
let r = Un(e.length, n), i = (Math.min(r, Math.max(1, Math.floor(t))) - 1) * Hn(n);
|
|
1454
|
+
return e.slice(i, i + Hn(n));
|
|
1455
1455
|
}
|
|
1456
|
-
function
|
|
1456
|
+
function Gn(e) {
|
|
1457
1457
|
return e === "compact" ? 0 : e === "separated" ? 16 : 14;
|
|
1458
1458
|
}
|
|
1459
|
-
function
|
|
1460
|
-
let s =
|
|
1459
|
+
function Kn(e, t, n, r, i = [], a, o = !0) {
|
|
1460
|
+
let s = Hn(n), c = i.filter(Boolean).length, l = n.fillIncompleteLastRow && c > 0 && c < s, u = l ? Math.ceil(c / n.columnCount) : n.rowCount, d = Gn(r), f = Number.isFinite(a) ? Math.max(0, a) : d, p = /* @__PURE__ */ new Set();
|
|
1461
1461
|
if (o) {
|
|
1462
1462
|
if (r === "independent") for (let e = 0; e < u; e += 1) p.add(e);
|
|
1463
1463
|
else if (r === "compact") p.add(u - 1);
|
|
1464
|
-
else for (let e = 0; e < n.columnCount; e += 1) for (let t =
|
|
1464
|
+
else for (let e = 0; e < n.columnCount; e += 1) for (let t = Hn(n) - 1; t >= 0; --t) if (t % n.columnCount === e && i[t]) {
|
|
1465
1465
|
p.add(Math.floor(t / n.columnCount));
|
|
1466
1466
|
break;
|
|
1467
1467
|
}
|
|
@@ -1487,7 +1487,7 @@ function Gn(e, t, n, r, i = [], a, o = !0) {
|
|
|
1487
1487
|
};
|
|
1488
1488
|
});
|
|
1489
1489
|
}
|
|
1490
|
-
function
|
|
1490
|
+
function qn(e, t) {
|
|
1491
1491
|
let n = /* @__PURE__ */ new Set();
|
|
1492
1492
|
for (let r = 0; r < t; r += 1) for (let t = e.length - 1; t >= 0; --t) {
|
|
1493
1493
|
let i = e[t];
|
|
@@ -1500,26 +1500,33 @@ function Kn(e, t) {
|
|
|
1500
1500
|
}
|
|
1501
1501
|
//#endregion
|
|
1502
1502
|
//#region src/components/core/xDomain.ts
|
|
1503
|
-
var
|
|
1504
|
-
function
|
|
1505
|
-
return !Number.isFinite(e) || (e ?? 0) < 1 ?
|
|
1506
|
-
}
|
|
1507
|
-
function
|
|
1508
|
-
if (
|
|
1509
|
-
|
|
1503
|
+
var Jn = 10, Yn = 1e3, Xn = 100;
|
|
1504
|
+
function Zn(e) {
|
|
1505
|
+
return !Number.isFinite(e) || (e ?? 0) < 1 ? Jn : Math.max(1, Math.trunc(e));
|
|
1506
|
+
}
|
|
1507
|
+
function Qn(e, t, n = !1) {
|
|
1508
|
+
if (n && !t.includeExplicit) return [...e];
|
|
1509
|
+
if (t.type === "integer-ms") {
|
|
1510
|
+
let t = e[0] * Yn, n = e[1] * Yn;
|
|
1511
|
+
if (!Number.isSafeInteger(Math.ceil(Math.abs(t))) || !Number.isSafeInteger(Math.ceil(Math.abs(n))) || n - t < 1) return [...e];
|
|
1512
|
+
let r = n - t >= Xn ? Math.max(10, q(t, n, Jn) / 10) : 1;
|
|
1513
|
+
return [Math.floor(t / r) * r / Yn, Math.ceil(n / r) * r / Yn];
|
|
1514
|
+
}
|
|
1515
|
+
if (t.type !== "nice") return [...e];
|
|
1516
|
+
let r = W().domain(e).nice(Zn(t.tickCount)).domain();
|
|
1510
1517
|
return t.bounds === "end" ? [e[0], r[1]] : r;
|
|
1511
1518
|
}
|
|
1512
1519
|
//#endregion
|
|
1513
1520
|
//#region src/components/core/trackLayoutBuilder.ts
|
|
1514
|
-
function
|
|
1521
|
+
function $n(e, t, n) {
|
|
1515
1522
|
let r = n.xDomainStrategy ?? { type: "data" }, i = n.initialXDomains?.[e.id] ?? n.initialXDomains?.[t] ?? n.initialXDomain;
|
|
1516
|
-
return i ?
|
|
1523
|
+
return i ? Qn(i, r, !0) : Qn(e.xDomain, r);
|
|
1517
1524
|
}
|
|
1518
|
-
function
|
|
1525
|
+
function er(e) {
|
|
1519
1526
|
let t = e.cells.map((e) => ({
|
|
1520
1527
|
...e,
|
|
1521
1528
|
hasSeries: !!e.series
|
|
1522
|
-
})), n =
|
|
1529
|
+
})), n = qn(t, e.grid.columnCount);
|
|
1523
1530
|
return t.flatMap((t, r) => {
|
|
1524
1531
|
let i = !t.series || t.series.series.length === 0;
|
|
1525
1532
|
if (!t.series && (e.displayMode !== "compact" || !e.showCompactEmptyTracks)) return [];
|
|
@@ -1529,14 +1536,14 @@ function Zn(e) {
|
|
|
1529
1536
|
visibleSeries: [],
|
|
1530
1537
|
xDomain: [0, 1],
|
|
1531
1538
|
yDomain: [0, 1]
|
|
1532
|
-
}, o = !i && a.visibleSeries.length > 0, s = a.visibleSeries[0] ?? a.series[0] ?? null, c = e.displayMode === "independent" ? W(
|
|
1539
|
+
}, o = !i && a.visibleSeries.length > 0, s = a.visibleSeries[0] ?? a.series[0] ?? null, c = e.displayMode === "independent" ? W($n(a, s?.id ?? a.id, e), [0, t.width]) : W(e.sharedZoomDomain, [0, t.width]), l = (e.displayMode === "independent" ? e.independentTransforms[r] ?? J : J).rescaleX(c), u = pr(a, e.overlayMode, e.fixedYDomain, e.fixedYDomains, e.yDomains), d = {
|
|
1533
1540
|
left: 0,
|
|
1534
1541
|
right: 0
|
|
1535
1542
|
}, f = {
|
|
1536
1543
|
left: 0,
|
|
1537
1544
|
right: 0
|
|
1538
1545
|
}, p = u.map((n) => {
|
|
1539
|
-
let r = d[n.side]++, i =
|
|
1546
|
+
let r = d[n.side]++, i = or(t.plotHeight, e.yAxisSplitNumber), a = sr(n.domain, i, e.yAxisNice !== !1), o = W(a.domain, [t.plotHeight, 0]), s = a.values, c = e.displayMode !== "compact" || t.row === 0 ? s : s.slice(0, -1), { tickTextWidth: l } = mr(o.domain(), !1, c, n.seriesList[0]?.unit, i), u = l + 7 + 0 + 12 + 4, p = e.yAxisSlots?.find((e) => e.side === n.side && e.sideIndex === r), m = p ? (n.side === "left" ? 0 : t.width) + p.axisOffset : n.side === "left" ? -f.left : t.width + f.right, h = l + 7 + 0 + 12 / 2, g = (p ? (n.side === "left" ? 0 : t.width) + p.labelOffset : m + (n.side === "left" ? -h : h)) - (n.side === "right" ? 10 : 0);
|
|
1540
1547
|
return p || (f[n.side] += u), {
|
|
1541
1548
|
index: n.index,
|
|
1542
1549
|
side: n.side,
|
|
@@ -1544,20 +1551,20 @@ function Zn(e) {
|
|
|
1544
1551
|
labelX: g,
|
|
1545
1552
|
scale: o,
|
|
1546
1553
|
majorTicks: s,
|
|
1547
|
-
minorTicks:
|
|
1554
|
+
minorTicks: vt(s, 2),
|
|
1548
1555
|
tickValues: c,
|
|
1549
1556
|
seriesList: n.seriesList
|
|
1550
1557
|
};
|
|
1551
1558
|
}), m = W(a.yDomain, [t.plotHeight, 0]);
|
|
1552
1559
|
e.yAxisNice !== !1 && m.nice();
|
|
1553
1560
|
let h = p[0]?.scale ?? m, g = l.ticks(Math.max(2, Math.floor(t.width / 100))), _ = p[0]?.majorTicks ?? [], v = p[0]?.tickValues ?? [], y = l.domain(), b = {
|
|
1554
|
-
start:
|
|
1555
|
-
end:
|
|
1561
|
+
start: Mt(y[0], y, e.timeUnit, "start", e.xAxisLabelFormatter),
|
|
1562
|
+
end: Mt(y[1], y, e.timeUnit, "end", e.xAxisLabelFormatter)
|
|
1556
1563
|
}, x = b.start.length * 7 + 10, S = b.end.length * 7 + 10, C = g.filter((e) => {
|
|
1557
1564
|
let n = l(e);
|
|
1558
1565
|
return n > x && n < t.width - S;
|
|
1559
1566
|
}), w = a.visibleSeries.map((n) => {
|
|
1560
|
-
let r = p.find((e) => e.seriesList.some((e) => e.id === n.id)), a = r?.scale ?? h, o =
|
|
1567
|
+
let r = p.find((e) => e.seriesList.some((e) => e.id === n.id)), a = r?.scale ?? h, o = Rn(n.points, y, t.width, e.rendering, {
|
|
1561
1568
|
lineVisible: !i && n.lineType !== "none",
|
|
1562
1569
|
linePointOverride: e.linePointOverrides?.[n.id],
|
|
1563
1570
|
pointVisible: n.pointType !== "none",
|
|
@@ -1592,7 +1599,7 @@ function Zn(e) {
|
|
|
1592
1599
|
yScale: h,
|
|
1593
1600
|
yAxes: p,
|
|
1594
1601
|
xMajorTicks: g,
|
|
1595
|
-
xMinorTicks:
|
|
1602
|
+
xMinorTicks: vt(g, 3, y),
|
|
1596
1603
|
yMajorTicks: _,
|
|
1597
1604
|
yMinorTicks: p[0]?.minorTicks ?? [],
|
|
1598
1605
|
yAxisTickValues: v,
|
|
@@ -1610,11 +1617,11 @@ function Zn(e) {
|
|
|
1610
1617
|
}
|
|
1611
1618
|
//#endregion
|
|
1612
1619
|
//#region src/components/core/layout.ts
|
|
1613
|
-
var
|
|
1614
|
-
function
|
|
1620
|
+
var tr = 7, nr = 7, rr = 4, ir = 0, ar = 12;
|
|
1621
|
+
function or(e, t) {
|
|
1615
1622
|
return typeof t == "number" && Number.isFinite(t) ? Math.max(2, Math.floor(t)) : 5;
|
|
1616
1623
|
}
|
|
1617
|
-
function
|
|
1624
|
+
function sr(e, t = 5, n = !0) {
|
|
1618
1625
|
let r = typeof t == "number" && Number.isFinite(t) ? Math.max(2, Math.floor(t)) : 5, i = W(e, [1, 0]);
|
|
1619
1626
|
n && i.nice(Math.max(1, r - 1));
|
|
1620
1627
|
let a = i.domain(), [o, s] = a;
|
|
@@ -1623,15 +1630,15 @@ function ir(e, t = 5, n = !0) {
|
|
|
1623
1630
|
values: Array.from({ length: r }, (e, t) => o + (s - o) * t / (r - 1))
|
|
1624
1631
|
};
|
|
1625
1632
|
}
|
|
1626
|
-
function
|
|
1627
|
-
return
|
|
1633
|
+
function cr(e, t, n, r) {
|
|
1634
|
+
return Ot(e, {
|
|
1628
1635
|
axisMin: t[0],
|
|
1629
1636
|
axisMax: t[1],
|
|
1630
1637
|
topTickValue: Math.max(...n),
|
|
1631
1638
|
unit: r
|
|
1632
1639
|
});
|
|
1633
1640
|
}
|
|
1634
|
-
function
|
|
1641
|
+
function lr(e) {
|
|
1635
1642
|
return e >= 4 ? [
|
|
1636
1643
|
"left",
|
|
1637
1644
|
"left",
|
|
@@ -1643,13 +1650,13 @@ function or(e) {
|
|
|
1643
1650
|
"right"
|
|
1644
1651
|
] : e === 2 ? ["left", "right"] : ["left"];
|
|
1645
1652
|
}
|
|
1646
|
-
var
|
|
1647
|
-
function
|
|
1648
|
-
let n =
|
|
1649
|
-
n || (n = /* @__PURE__ */ new Map(),
|
|
1653
|
+
var ur = /* @__PURE__ */ new WeakMap();
|
|
1654
|
+
function dr(e, t) {
|
|
1655
|
+
let n = ur.get(e);
|
|
1656
|
+
n || (n = /* @__PURE__ */ new Map(), ur.set(e, n));
|
|
1650
1657
|
let r = n.get(t);
|
|
1651
1658
|
if (r) return r;
|
|
1652
|
-
let i = t === "multi-axis" ? Math.min(e.visibleSeries.length, 4) : Math.min(e.visibleSeries.length, 1), a =
|
|
1659
|
+
let i = t === "multi-axis" ? Math.min(e.visibleSeries.length, 4) : Math.min(e.visibleSeries.length, 1), a = lr(i), o = Array.from({ length: i }, (e, t) => ({
|
|
1653
1660
|
index: t,
|
|
1654
1661
|
side: a[t],
|
|
1655
1662
|
seriesList: [],
|
|
@@ -1662,50 +1669,50 @@ function cr(e, t) {
|
|
|
1662
1669
|
if (t === "single-axis") n.domain = e.yDomain;
|
|
1663
1670
|
else {
|
|
1664
1671
|
let t = n.seriesList.flatMap((e) => e.yDomain);
|
|
1665
|
-
n.domain = t.length > 0 ?
|
|
1672
|
+
n.domain = t.length > 0 ? _t(t) : e.yDomain;
|
|
1666
1673
|
}
|
|
1667
1674
|
}), n.set(t, o), o;
|
|
1668
1675
|
}
|
|
1669
|
-
function
|
|
1670
|
-
let i =
|
|
1671
|
-
return
|
|
1676
|
+
function fr(e, t, n, r) {
|
|
1677
|
+
let i = qt(e, r);
|
|
1678
|
+
return dr(e, t).map((e) => {
|
|
1672
1679
|
if (i) return {
|
|
1673
1680
|
...e,
|
|
1674
1681
|
domain: i,
|
|
1675
1682
|
fixed: !0
|
|
1676
1683
|
};
|
|
1677
|
-
let t = e.seriesList.map((e) =>
|
|
1684
|
+
let t = e.seriesList.map((e) => Jt(e, n, r) ?? e.yDomain), a = e.seriesList.some((e) => Jt(e, n, r));
|
|
1678
1685
|
return a ? {
|
|
1679
1686
|
...e,
|
|
1680
|
-
domain:
|
|
1687
|
+
domain: Xt(t),
|
|
1681
1688
|
fixed: a
|
|
1682
1689
|
} : e;
|
|
1683
1690
|
});
|
|
1684
1691
|
}
|
|
1685
|
-
function
|
|
1692
|
+
function pr(e, t, n, r, i) {
|
|
1686
1693
|
let a = i?.[e.id];
|
|
1687
|
-
return
|
|
1694
|
+
return fr(e, t, n, r).map((e) => !e.fixed && a ? {
|
|
1688
1695
|
...e,
|
|
1689
1696
|
domain: a
|
|
1690
1697
|
} : e);
|
|
1691
1698
|
}
|
|
1692
|
-
function
|
|
1699
|
+
function mr(e, t = !0, n, r, i = 5, a = !1) {
|
|
1693
1700
|
let o = n ? {
|
|
1694
1701
|
domain: e,
|
|
1695
1702
|
values: n
|
|
1696
|
-
} :
|
|
1697
|
-
return a && o.values.length > 1 && s.push(o.values.slice(0, -1)), { tickTextWidth: Math.max(1, ...s.flatMap((e) => e.map((t) =>
|
|
1703
|
+
} : sr(e, i, t), s = [o.values];
|
|
1704
|
+
return a && o.values.length > 1 && s.push(o.values.slice(0, -1)), { tickTextWidth: Math.max(1, ...s.flatMap((e) => e.map((t) => cr(t, o.domain, e, r).length))) * tr };
|
|
1698
1705
|
}
|
|
1699
|
-
function
|
|
1706
|
+
function hr(e, t, n, r, i, a = !0, o = !1, s) {
|
|
1700
1707
|
let c = /* @__PURE__ */ new Map();
|
|
1701
1708
|
e.forEach((e) => {
|
|
1702
1709
|
let l = {
|
|
1703
1710
|
left: 0,
|
|
1704
1711
|
right: 0
|
|
1705
1712
|
};
|
|
1706
|
-
|
|
1707
|
-
let t = l[e.side]++, n = `${e.side}:${t}`, r =
|
|
1708
|
-
c.set(n, Math.max(c.get(n) ??
|
|
1713
|
+
pr(e, t, n, r, s).forEach((e) => {
|
|
1714
|
+
let t = l[e.side]++, n = `${e.side}:${t}`, r = mr(e.domain, a, void 0, e.seriesList[0]?.unit, i, o).tickTextWidth;
|
|
1715
|
+
c.set(n, Math.max(c.get(n) ?? tr, r));
|
|
1709
1716
|
});
|
|
1710
1717
|
});
|
|
1711
1718
|
let l = [], u = {
|
|
@@ -1714,7 +1721,7 @@ function fr(e, t, n, r, i, a = !0, o = !1, s) {
|
|
|
1714
1721
|
};
|
|
1715
1722
|
return ["left", "right"].forEach((e) => {
|
|
1716
1723
|
Array.from(c.keys()).filter((t) => t.startsWith(`${e}:`)).map((t) => Number(t.slice(e.length + 1))).sort((e, t) => e - t).forEach((t) => {
|
|
1717
|
-
let n = c.get(`${e}:${t}`) ??
|
|
1724
|
+
let n = c.get(`${e}:${t}`) ?? tr, r = e === "left" && u.left > 0 ? -u.left : u[e], i = r + (n + nr + ir + ar / 2) * (e === "left" ? -1 : 1), a = n + nr + ir + ar + rr;
|
|
1718
1725
|
l.push({
|
|
1719
1726
|
side: e,
|
|
1720
1727
|
sideIndex: t,
|
|
@@ -1728,7 +1735,7 @@ function fr(e, t, n, r, i, a = !0, o = !1, s) {
|
|
|
1728
1735
|
clearance: u
|
|
1729
1736
|
};
|
|
1730
1737
|
}
|
|
1731
|
-
function
|
|
1738
|
+
function gr(e, t, n) {
|
|
1732
1739
|
let r = (e) => {
|
|
1733
1740
|
let r = t < e.left ? e.left - t : t > e.left + e.width ? t - e.left - e.width : 0;
|
|
1734
1741
|
return n < e.top ? e.top - n : n > e.top + e.height ? n - (e.top + e.height) : r;
|
|
@@ -1747,11 +1754,11 @@ function pr(e, t, n) {
|
|
|
1747
1754
|
}
|
|
1748
1755
|
//#endregion
|
|
1749
1756
|
//#region src/components/annotation/useWaveformChartAnnotations.ts
|
|
1750
|
-
var
|
|
1751
|
-
function
|
|
1752
|
-
return
|
|
1757
|
+
var _r = 0;
|
|
1758
|
+
function vr() {
|
|
1759
|
+
return _r += 1, typeof crypto < "u" && typeof crypto.randomUUID == "function" ? crypto.randomUUID() : `annotation-${Date.now()}-${_r}`;
|
|
1753
1760
|
}
|
|
1754
|
-
function
|
|
1761
|
+
function yr(e) {
|
|
1755
1762
|
let { props: t, emit: n, container: r, chartSeries: i, hiddenSeriesIdSet: a, internalHiddenSeriesIds: o, annotationInteraction: s, editorSeriesOptions: c, trackLayouts: l, annotationLayoutsForTrack: u, resolveSeriesYScale: d, chartWidth: f, chartHeight: p, innerWidth: m, resolvedChartLeftMargin: h, titleAreaHeight: g, chartTopMargin: _, activeInteractionMode: v, isPresentationMode: y } = e, b = x("");
|
|
1756
1763
|
function S(e) {
|
|
1757
1764
|
if (!i.value.some((t) => t.id === e)) return;
|
|
@@ -1784,7 +1791,7 @@ function gr(e) {
|
|
|
1784
1791
|
};
|
|
1785
1792
|
}
|
|
1786
1793
|
function T(e, t, n) {
|
|
1787
|
-
b.value = "", s.openCreate(e,
|
|
1794
|
+
b.value = "", s.openCreate(e, vr, t), c.value = n;
|
|
1788
1795
|
let r = s.editorDraft.value, i = l.value.find((t) => t.index === e.trackIndex)?.seriesList.find((t) => t.id === e.seriesId);
|
|
1789
1796
|
r?.mode === "add" && (r.annotation.style = {
|
|
1790
1797
|
borderColor: i?.color || "#1677ff",
|
|
@@ -1844,7 +1851,7 @@ function gr(e) {
|
|
|
1844
1851
|
let e = l.value[n];
|
|
1845
1852
|
return e?.hasVisibleSeries ? e : void 0;
|
|
1846
1853
|
}
|
|
1847
|
-
return
|
|
1854
|
+
return gr(l.value.filter((e) => e.hasVisibleSeries), e, t);
|
|
1848
1855
|
}
|
|
1849
1856
|
function A(e, t) {
|
|
1850
1857
|
let n = e.currentTarget;
|
|
@@ -1853,7 +1860,7 @@ function gr(e) {
|
|
|
1853
1860
|
if (!o) return null;
|
|
1854
1861
|
let s = Math.max(0, Math.min(m.value, r)), c = Math.max(0, Math.min(o.width, s - o.left)), d = o.xScale.invert(c);
|
|
1855
1862
|
return {
|
|
1856
|
-
candidates:
|
|
1863
|
+
candidates: Ve(u(o), d, c, a),
|
|
1857
1864
|
editorAnchor: C(e, t)
|
|
1858
1865
|
};
|
|
1859
1866
|
}
|
|
@@ -1904,7 +1911,7 @@ function gr(e) {
|
|
|
1904
1911
|
let e = s.contextMenu.value, n = t.annotations.find((t) => t.id === e?.annotationId);
|
|
1905
1912
|
if (!n) return;
|
|
1906
1913
|
let r = l.value.find((e) => e.seriesList.some((e) => e.id === n.seriesId));
|
|
1907
|
-
c.value = r ?
|
|
1914
|
+
c.value = r ? Ve(u(r), n.x, r.xScale(n.x), r.top + d(r, n.seriesId)(n.y)) : [], s.openEdit(n, e?.editorAnchor ?? w(n));
|
|
1908
1915
|
}
|
|
1909
1916
|
function R() {
|
|
1910
1917
|
if (y.value) return;
|
|
@@ -1935,7 +1942,7 @@ function gr(e) {
|
|
|
1935
1942
|
}
|
|
1936
1943
|
//#endregion
|
|
1937
1944
|
//#region src/components/interaction/useWaveformHover.ts
|
|
1938
|
-
function
|
|
1945
|
+
function br(e) {
|
|
1939
1946
|
let { emit: t, hoverState: n, suppressHoverUntilMove: r, hoverThrottle: i, selection: a, trackLayouts: o, innerWidth: s, resolvedChartLeftMargin: c, titleAreaHeight: l, chartTopMargin: u, sharedOverlayElement: d, isPresentationMode: f, updateViewportDrag: p, resolveTrackAtPointer: m } = e, h = () => i.cancel(), g = (e) => i.schedule(e), _ = (e) => n.points.length === e.length && e.every((e, t) => {
|
|
1940
1947
|
let r = n.points[t];
|
|
1941
1948
|
return r?.id === e.id && r.trackIndex === e.trackIndex && r.point === e.point;
|
|
@@ -1958,12 +1965,12 @@ function _r(e) {
|
|
|
1958
1965
|
}, C = (e = !1) => {
|
|
1959
1966
|
r.value = !e, y();
|
|
1960
1967
|
}, w = () => r.value ? (r.value = !1, y(), !0) : !1, T = (e, t) => {
|
|
1961
|
-
let n = e.source ??
|
|
1968
|
+
let n = e.source ?? X(e.points), r = n.pointAt(0), i = n.pointAt(n.length - 1);
|
|
1962
1969
|
if (!(!r || !i)) return t <= r.x ? r : t >= i.x ? i : n.nearestPoint(t);
|
|
1963
1970
|
}, E = (e, t) => {
|
|
1964
1971
|
let n, r = -Infinity;
|
|
1965
1972
|
if (e.seriesList.forEach((e) => {
|
|
1966
|
-
let t = e.source ??
|
|
1973
|
+
let t = e.source ?? X(e.points), i = t.pointAt(0), a = t.pointAt(t.length - 1);
|
|
1967
1974
|
if (!i || !a) return;
|
|
1968
1975
|
let o = a.x - i.x;
|
|
1969
1976
|
o > r && (r = o, n = [i.x, a.x]);
|
|
@@ -2020,14 +2027,14 @@ function _r(e) {
|
|
|
2020
2027
|
}
|
|
2021
2028
|
//#endregion
|
|
2022
2029
|
//#region src/components/interaction/pointerCapture.ts
|
|
2023
|
-
function
|
|
2030
|
+
function xr(e, t) {
|
|
2024
2031
|
try {
|
|
2025
2032
|
e?.releasePointerCapture?.(t);
|
|
2026
2033
|
} catch {}
|
|
2027
2034
|
}
|
|
2028
2035
|
//#endregion
|
|
2029
2036
|
//#region src/components/interaction/viewportInteractionState.ts
|
|
2030
|
-
function
|
|
2037
|
+
function Sr(e) {
|
|
2031
2038
|
return {
|
|
2032
2039
|
...e,
|
|
2033
2040
|
currentX: e.startX,
|
|
@@ -2036,37 +2043,37 @@ function yr(e) {
|
|
|
2036
2043
|
yDomains: Object.fromEntries(Object.entries(e.yDomains).map(([e, t]) => [e, [...t]]))
|
|
2037
2044
|
};
|
|
2038
2045
|
}
|
|
2039
|
-
function
|
|
2046
|
+
function Cr(e, t) {
|
|
2040
2047
|
return {
|
|
2041
2048
|
...e,
|
|
2042
2049
|
...t
|
|
2043
2050
|
};
|
|
2044
2051
|
}
|
|
2045
|
-
function
|
|
2052
|
+
function wr(e) {
|
|
2046
2053
|
return {
|
|
2047
2054
|
state: e,
|
|
2048
2055
|
accepted: !1,
|
|
2049
2056
|
completed: null
|
|
2050
2057
|
};
|
|
2051
2058
|
}
|
|
2052
|
-
function
|
|
2059
|
+
function Tr(e, t) {
|
|
2053
2060
|
switch (t.type) {
|
|
2054
|
-
case "begin": return e ?
|
|
2055
|
-
state:
|
|
2061
|
+
case "begin": return e ? wr(e) : {
|
|
2062
|
+
state: Sr(t.gesture),
|
|
2056
2063
|
accepted: !0,
|
|
2057
2064
|
completed: null
|
|
2058
2065
|
};
|
|
2059
|
-
case "move": return !e || e.pointerId !== t.pointerId ?
|
|
2060
|
-
state:
|
|
2066
|
+
case "move": return !e || e.pointerId !== t.pointerId ? wr(e) : {
|
|
2067
|
+
state: Cr(e, t.position),
|
|
2061
2068
|
accepted: !0,
|
|
2062
2069
|
completed: null
|
|
2063
2070
|
};
|
|
2064
|
-
case "finish": return !e || e.pointerId !== t.pointerId ?
|
|
2071
|
+
case "finish": return !e || e.pointerId !== t.pointerId ? wr(e) : {
|
|
2065
2072
|
state: null,
|
|
2066
2073
|
accepted: !0,
|
|
2067
|
-
completed:
|
|
2074
|
+
completed: Cr(e, t.position)
|
|
2068
2075
|
};
|
|
2069
|
-
case "cancel": return !e || t.pointerId !== void 0 && e.pointerId !== t.pointerId ?
|
|
2076
|
+
case "cancel": return !e || t.pointerId !== void 0 && e.pointerId !== t.pointerId ? wr(e) : {
|
|
2070
2077
|
state: null,
|
|
2071
2078
|
accepted: !0,
|
|
2072
2079
|
completed: null
|
|
@@ -2080,32 +2087,32 @@ function Sr(e, t) {
|
|
|
2080
2087
|
}
|
|
2081
2088
|
//#endregion
|
|
2082
2089
|
//#region src/components/interaction/zoomConstraints.ts
|
|
2083
|
-
var
|
|
2084
|
-
function
|
|
2090
|
+
var Er = /* @__PURE__ */ new WeakMap();
|
|
2091
|
+
function Dr(e) {
|
|
2085
2092
|
return e[0] <= e[1] ? [...e] : [e[1], e[0]];
|
|
2086
2093
|
}
|
|
2087
|
-
function
|
|
2094
|
+
function Or(e) {
|
|
2088
2095
|
return Number.isFinite(e) && (e ?? 0) > 0 ? Math.ceil(e) : 0;
|
|
2089
2096
|
}
|
|
2090
|
-
function
|
|
2091
|
-
let n = `${t[0]}\u0000${t[1]}`, r =
|
|
2097
|
+
function kr(e, t) {
|
|
2098
|
+
let n = `${t[0]}\u0000${t[1]}`, r = Er.get(e)?.get(n);
|
|
2092
2099
|
if (r) return r;
|
|
2093
2100
|
let i = /* @__PURE__ */ new Set();
|
|
2094
2101
|
for (let n of e) {
|
|
2095
|
-
let e = n.source ??
|
|
2102
|
+
let e = n.source ?? X(n.points);
|
|
2096
2103
|
for (let n = 0; n < e.length; n += 1) {
|
|
2097
2104
|
let r = e.pointAt(n);
|
|
2098
2105
|
r.x >= t[0] && r.x <= t[1] && i.add(r.x);
|
|
2099
2106
|
}
|
|
2100
2107
|
}
|
|
2101
|
-
let a = Array.from(i).sort((e, t) => e - t), o =
|
|
2102
|
-
return o.set(n, a),
|
|
2108
|
+
let a = Array.from(i).sort((e, t) => e - t), o = Er.get(e) ?? /* @__PURE__ */ new Map();
|
|
2109
|
+
return o.set(n, a), Er.set(e, o), a;
|
|
2103
2110
|
}
|
|
2104
|
-
function
|
|
2111
|
+
function Ar(e, t, n) {
|
|
2105
2112
|
if (n <= 1) return 0;
|
|
2106
2113
|
let r = 0;
|
|
2107
2114
|
for (let i of e) {
|
|
2108
|
-
let e =
|
|
2115
|
+
let e = kr(i, t);
|
|
2109
2116
|
if (e.length < n) return t[1] - t[0];
|
|
2110
2117
|
let a = Infinity;
|
|
2111
2118
|
for (let t = 0; t + n <= e.length; t += 1) a = Math.min(a, e[t + n - 1] - e[t]);
|
|
@@ -2114,17 +2121,17 @@ function Dr(e, t, n) {
|
|
|
2114
2121
|
}
|
|
2115
2122
|
return r;
|
|
2116
2123
|
}
|
|
2117
|
-
function
|
|
2118
|
-
let r =
|
|
2124
|
+
function jr(e, t, n) {
|
|
2125
|
+
let r = Dr(e), i = r[1] - r[0];
|
|
2119
2126
|
if (!Number.isFinite(i) || i <= 0) return 0;
|
|
2120
|
-
let a = Number.isFinite(n.minZoomSpan) && (n.minZoomSpan ?? 0) > 0 ? Math.min(i, n.minZoomSpan) : 0, o =
|
|
2127
|
+
let a = Number.isFinite(n.minZoomSpan) && (n.minZoomSpan ?? 0) > 0 ? Math.min(i, n.minZoomSpan) : 0, o = Or(n.minVisiblePoints), s = Ar(t, r, o), c = Number(n.maxZoomScale), l = Number.isFinite(c) && c >= Bt.MIN_SCALE ? i / c : n.maxZoomScale !== null && a === 0 && o === 0 ? i / Bt.DEFAULT_MAX_SCALE : 0;
|
|
2121
2128
|
return Math.max(a, s, l);
|
|
2122
2129
|
}
|
|
2123
|
-
function
|
|
2130
|
+
function Mr(e, t, n, r) {
|
|
2124
2131
|
if (r <= 0) return e;
|
|
2125
2132
|
let i = 2 ** -52 * Math.max(1, Math.abs(t[0]), Math.abs(t[1])) * 16, a = e;
|
|
2126
2133
|
for (let e of n) {
|
|
2127
|
-
let n =
|
|
2134
|
+
let n = kr(e, t);
|
|
2128
2135
|
if (n.length < r) return [...t];
|
|
2129
2136
|
if (n.filter((e) => e >= a[0] && e <= a[1]).length >= r) continue;
|
|
2130
2137
|
let o, s = Infinity, c = Infinity, l = (a[0] + a[1]) / 2;
|
|
@@ -2136,13 +2143,13 @@ function kr(e, t, n, r) {
|
|
|
2136
2143
|
}
|
|
2137
2144
|
return a;
|
|
2138
2145
|
}
|
|
2139
|
-
function
|
|
2140
|
-
let i =
|
|
2146
|
+
function Nr(e, t, n, r) {
|
|
2147
|
+
let i = Dr(t), a = i[1] - i[0];
|
|
2141
2148
|
if (!Number.isFinite(a) || a <= 0 || Math.abs(e[1] - e[0]) >= a * .999999999999) return i;
|
|
2142
|
-
let o =
|
|
2149
|
+
let o = Mr([Math.max(i[0], Math.min(e[0], e[1])), Math.min(i[1], Math.max(e[0], e[1]))], i, n, Or(r.minVisiblePoints)), s = jr(i, n, r), c = Math.max(s, Math.min(a, o[1] - o[0])), l = (o[0] + o[1]) / 2, u = Math.max(i[0], Math.min(l - c / 2, i[1] - c));
|
|
2143
2150
|
return [u, u + c];
|
|
2144
2151
|
}
|
|
2145
|
-
function
|
|
2152
|
+
function Pr(e, t, n) {
|
|
2146
2153
|
let r = t[1] - t[0], i = e[1] - e[0];
|
|
2147
2154
|
if (!Number.isFinite(r) || !Number.isFinite(i) || r <= 0 || i <= 0) return J;
|
|
2148
2155
|
let a = r / i, o = W(t, [0, n]);
|
|
@@ -2150,7 +2157,7 @@ function jr(e, t, n) {
|
|
|
2150
2157
|
}
|
|
2151
2158
|
//#endregion
|
|
2152
2159
|
//#region src/components/interaction/viewportDomain.ts
|
|
2153
|
-
function
|
|
2160
|
+
function Fr(e) {
|
|
2154
2161
|
return (t, n) => {
|
|
2155
2162
|
if (!(!Number.isFinite(t[0]) || !Number.isFinite(t[1]) || t[0] === t[1])) {
|
|
2156
2163
|
if (e.cancelPendingZoom(), e.cancelViewportDrag(), e.props.displayMode === "independent") {
|
|
@@ -2158,12 +2165,12 @@ function Mr(e) {
|
|
|
2158
2165
|
r.forEach((n) => {
|
|
2159
2166
|
let r = e.trackLayouts.value.find((e) => e.index === n);
|
|
2160
2167
|
if (!r) return;
|
|
2161
|
-
let a = e.resolveInitialTrackDomain(r), o =
|
|
2162
|
-
i[n] =
|
|
2168
|
+
let a = e.resolveInitialTrackDomain(r), o = Nr(t, a, [r.seriesList], e.props);
|
|
2169
|
+
i[n] = Pr(o, a, r.width);
|
|
2163
2170
|
}), e.independentTransforms.value = i;
|
|
2164
2171
|
} else {
|
|
2165
|
-
let n = e.initialXDomain.value, r =
|
|
2166
|
-
e.sharedTransform.value =
|
|
2172
|
+
let n = e.initialXDomain.value, r = Nr(t, n, e.trackLayouts.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), e.props);
|
|
2173
|
+
e.sharedTransform.value = Pr(r, n, e.innerWidth.value);
|
|
2167
2174
|
}
|
|
2168
2175
|
e.clearHover(), e.editorSeriesOptions.value = [], f(e.configureZoom);
|
|
2169
2176
|
}
|
|
@@ -2171,14 +2178,14 @@ function Mr(e) {
|
|
|
2171
2178
|
}
|
|
2172
2179
|
//#endregion
|
|
2173
2180
|
//#region src/components/interaction/zoomEventPayload.ts
|
|
2174
|
-
function
|
|
2181
|
+
function Ir(e) {
|
|
2175
2182
|
return [...e].sort().join("\0");
|
|
2176
2183
|
}
|
|
2177
|
-
function
|
|
2178
|
-
let n =
|
|
2179
|
-
return e.find((e) =>
|
|
2184
|
+
function Lr(e, t) {
|
|
2185
|
+
let n = Ir(t);
|
|
2186
|
+
return e.find((e) => Ir(e.seriesList.map((e) => e.id)) === n);
|
|
2180
2187
|
}
|
|
2181
|
-
function
|
|
2188
|
+
function Rr(e, t, n, r) {
|
|
2182
2189
|
e("zoom-intent", r ? {
|
|
2183
2190
|
start: t[0],
|
|
2184
2191
|
end: t[1],
|
|
@@ -2191,9 +2198,9 @@ function Fr(e, t, n, r) {
|
|
|
2191
2198
|
gesture: "box"
|
|
2192
2199
|
});
|
|
2193
2200
|
}
|
|
2194
|
-
function
|
|
2201
|
+
function zr(e, t, n) {
|
|
2195
2202
|
for (let r of n) {
|
|
2196
|
-
let n =
|
|
2203
|
+
let n = Lr(t, r);
|
|
2197
2204
|
if (!n) continue;
|
|
2198
2205
|
let i = n.xScale.domain(), a = n.yScale.domain();
|
|
2199
2206
|
e("zoom-end", {
|
|
@@ -2207,7 +2214,7 @@ function Ir(e, t, n) {
|
|
|
2207
2214
|
});
|
|
2208
2215
|
}
|
|
2209
2216
|
}
|
|
2210
|
-
function
|
|
2217
|
+
function Br(e, t, n) {
|
|
2211
2218
|
let r = n.filter((e) => e.hasVisibleSeries);
|
|
2212
2219
|
if (r.length === 1) {
|
|
2213
2220
|
let n = r[0]?.yScale.domain();
|
|
@@ -2229,13 +2236,13 @@ function Lr(e, t, n) {
|
|
|
2229
2236
|
}
|
|
2230
2237
|
//#endregion
|
|
2231
2238
|
//#region src/components/interaction/useWaveformViewport.ts
|
|
2232
|
-
function
|
|
2239
|
+
function Vr(e) {
|
|
2233
2240
|
let { props: n, emit: r, selection: i, spacePressed: a, trackLayouts: o, chartTracks: s, initialXDomain: c, innerWidth: l, innerHeight: u, sharedOverlayElement: d, sharedTransform: p, independentTransforms: m, sharedYDomains: h, independentYDomains: g, isZoomMode: _, isPresentationMode: v, editorSeriesOptions: y, resolveInitialTrackDomain: b, canZoomTrack: x, canZoomSharedTracks: S, configureZoom: C, cancelPendingZoom: T, clearHover: E, resolveTrackAtPointer: D } = e, O = w(), k = (e, t) => {
|
|
2234
2241
|
let n = O.value, r = t?.currentTarget;
|
|
2235
|
-
|
|
2242
|
+
xr(n, e), r && r !== n && xr(r, e);
|
|
2236
2243
|
}, A = (e, t) => {
|
|
2237
2244
|
let n = i.value;
|
|
2238
|
-
!n || n.pointerId !== e || (k(e, t), i.value =
|
|
2245
|
+
!n || n.pointerId !== e || (k(e, t), i.value = Tr(i.value, {
|
|
2239
2246
|
type: "cancel",
|
|
2240
2247
|
pointerId: e
|
|
2241
2248
|
}).state, O.value = void 0);
|
|
@@ -2258,7 +2265,7 @@ function Rr(e) {
|
|
|
2258
2265
|
if (!n.zoomable && !s || !_.value || e.button !== 0) return;
|
|
2259
2266
|
let c = e.currentTarget, d = o.value.find((e) => e.index === t);
|
|
2260
2267
|
if (!d) return;
|
|
2261
|
-
let [f, p] = U(e, c), m = Math.max(0, Math.min(r ? d.width : l.value, f)), h = Math.max(0, Math.min(r ? d.height : u.value, p)), g =
|
|
2268
|
+
let [f, p] = U(e, c), m = Math.max(0, Math.min(r ? d.width : l.value, f)), h = Math.max(0, Math.min(r ? d.height : u.value, p)), g = Tr(i.value, {
|
|
2262
2269
|
type: "begin",
|
|
2263
2270
|
gesture: {
|
|
2264
2271
|
trackIndex: t,
|
|
@@ -2280,12 +2287,12 @@ function Rr(e) {
|
|
|
2280
2287
|
let i = t.width || 1, a = t.height || 1, u = e.currentX - e.startX, d = e.currentY - e.startY, f = e.xDomain[1] - e.xDomain[0], _ = e.independent ? b(t) : c.value, v = M([e.xDomain[0] - u / i * f, e.xDomain[1] - u / i * f], _);
|
|
2281
2288
|
if (e.independent) {
|
|
2282
2289
|
let e = [...m.value];
|
|
2283
|
-
e[t.index] =
|
|
2284
|
-
} else p.value =
|
|
2290
|
+
e[t.index] = Pr(v, _, i), m.value = e;
|
|
2291
|
+
} else p.value = Pr(v, _, l.value);
|
|
2285
2292
|
let y = e.independent ? [t] : o.value.filter((e) => e.hasVisibleSeries), x = { ...g.value }, S = { ...h.value };
|
|
2286
2293
|
y.forEach((t) => {
|
|
2287
2294
|
let r = s.value.find((e) => e.id === t.id);
|
|
2288
|
-
if (r &&
|
|
2295
|
+
if (r && Yt(r, n.yDomain, n.yDomains)) return;
|
|
2289
2296
|
let i = t.series?.trackId ?? t.series?.id ?? t.id, o = e.yDomains[i] ?? t.yScale.domain(), c = r?.yDomain ?? o, l = o[1] - o[0], u = M([o[0] + d / a * l, o[1] + d / a * l], c);
|
|
2290
2297
|
e.independent ? x[t.index] = u : S[i] = u;
|
|
2291
2298
|
}), e.independent ? g.value = x : h.value = S, r("zoom-change", v);
|
|
@@ -2295,7 +2302,7 @@ function Rr(e) {
|
|
|
2295
2302
|
if (!t || !n || e.pointerId !== t.pointerId) return;
|
|
2296
2303
|
let r = o.value.find((e) => e.index === t.trackIndex);
|
|
2297
2304
|
if (!r) return;
|
|
2298
|
-
let [a, s] = U(e, n), c = Math.max(0, Math.min(t.independent ? r.width : l.value, a)), d = Math.max(0, Math.min(t.independent ? r.height : u.value, s)), f =
|
|
2305
|
+
let [a, s] = U(e, n), c = Math.max(0, Math.min(t.independent ? r.width : l.value, a)), d = Math.max(0, Math.min(t.independent ? r.height : u.value, s)), f = Tr(i.value, {
|
|
2299
2306
|
type: "move",
|
|
2300
2307
|
pointerId: e.pointerId,
|
|
2301
2308
|
position: {
|
|
@@ -2314,12 +2321,12 @@ function Rr(e) {
|
|
|
2314
2321
|
if (!t || (e.independent ? !x(t) : !S())) return;
|
|
2315
2322
|
let i = e.independent ? 0 : t.left, a = Math.max(0, Math.min(t.width, Math.min(e.startX, e.currentX) - i)), s = Math.max(0, Math.min(t.width, Math.max(e.startX, e.currentX) - i));
|
|
2316
2323
|
if (s - a < 6) return;
|
|
2317
|
-
let u = e.independent ? b(t) : c.value, d = e.independent ? [t.seriesList] : o.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), h =
|
|
2324
|
+
let u = e.independent ? b(t) : c.value, d = e.independent ? [t.seriesList] : o.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), h = Nr([t.xScale.invert(a), t.xScale.invert(s)], u, d, n);
|
|
2318
2325
|
if (e.independent) {
|
|
2319
2326
|
let e = [...m.value];
|
|
2320
|
-
e[t.index] =
|
|
2321
|
-
} else p.value =
|
|
2322
|
-
|
|
2327
|
+
e[t.index] = Pr(h, u, t.width), m.value = e;
|
|
2328
|
+
} else p.value = Pr(h, u, l.value);
|
|
2329
|
+
Rr(r, h, t, e.independent);
|
|
2323
2330
|
let g = e.independent ? [t] : o.value.filter((e) => e.hasVisibleSeries), _ = Object.fromEntries(g.map((e) => [e.series?.trackId ?? e.series?.id ?? e.id, e.yScale.domain()]));
|
|
2324
2331
|
if (r("zoom-change", h), e.independent) {
|
|
2325
2332
|
let e = _[t.series?.trackId ?? t.series?.id ?? t.id];
|
|
@@ -2360,7 +2367,7 @@ function Rr(e) {
|
|
|
2360
2367
|
A(t.pointerId, e);
|
|
2361
2368
|
return;
|
|
2362
2369
|
}
|
|
2363
|
-
let [a, s] = U(e, r), c = Math.max(0, Math.min(t.independent ? n.width : l.value, a)), d = Math.max(0, Math.min(t.independent ? n.height : u.value, s)), p =
|
|
2370
|
+
let [a, s] = U(e, r), c = Math.max(0, Math.min(t.independent ? n.width : l.value, a)), d = Math.max(0, Math.min(t.independent ? n.height : u.value, s)), p = Tr(i.value, {
|
|
2364
2371
|
type: "finish",
|
|
2365
2372
|
pointerId: e.pointerId,
|
|
2366
2373
|
position: {
|
|
@@ -2392,7 +2399,7 @@ function Rr(e) {
|
|
|
2392
2399
|
finishViewportDrag: B,
|
|
2393
2400
|
cancelViewportDrag: R,
|
|
2394
2401
|
resetViewport: V,
|
|
2395
|
-
setViewportDomain:
|
|
2402
|
+
setViewportDomain: Fr({
|
|
2396
2403
|
props: n,
|
|
2397
2404
|
trackLayouts: o,
|
|
2398
2405
|
initialXDomain: c,
|
|
@@ -2424,7 +2431,7 @@ function Rr(e) {
|
|
|
2424
2431
|
}
|
|
2425
2432
|
//#endregion
|
|
2426
2433
|
//#region src/components/utils/useAnimationFrameThrottle.ts
|
|
2427
|
-
function
|
|
2434
|
+
function Hr() {
|
|
2428
2435
|
let e = null, t = null;
|
|
2429
2436
|
function n(n) {
|
|
2430
2437
|
t = n, e === null && (e = requestAnimationFrame(() => {
|
|
@@ -2453,8 +2460,8 @@ function zr() {
|
|
|
2453
2460
|
}
|
|
2454
2461
|
//#endregion
|
|
2455
2462
|
//#region src/components/interaction/useWaveformZoom.ts
|
|
2456
|
-
function
|
|
2457
|
-
let { props: t, emit: n, svgElement: r, sharedOverlayElement: i, sharedTransform: a, independentTransforms: o, trackLayouts: s, initialXDomain: c, sharedZoomDomain: l, innerWidth: u, innerHeight: d, hasChartArea: f, isZoomMode: p, isPresentationMode: m, resolveInitialTrackDomain: h, cancelPendingHover: g } = e, _ = /* @__PURE__ */ new Map(), v =
|
|
2463
|
+
function Ur(e) {
|
|
2464
|
+
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 = Hr(), y = !1, b = null, x = null, S = null, C = /* @__PURE__ */ new Map(), w = /* @__PURE__ */ new Map(), T = /* @__PURE__ */ new Map(), E, D = !1, O = 0, k = () => v.schedule(M), A = (e) => {
|
|
2458
2465
|
if (y || m.value) return;
|
|
2459
2466
|
g(), b = e.transform, x = "wheel", I();
|
|
2460
2467
|
let t = e.transform.rescaleX(W(c.value, [0, u.value])).domain();
|
|
@@ -2501,7 +2508,7 @@ function Br(e) {
|
|
|
2501
2508
|
if (!t) return;
|
|
2502
2509
|
if (r.get(e) === "wheel") {
|
|
2503
2510
|
let e = t.seriesList.map((e) => e.id);
|
|
2504
|
-
T.set(
|
|
2511
|
+
T.set(Ir(e), e);
|
|
2505
2512
|
}
|
|
2506
2513
|
let a = t.xScale.domain();
|
|
2507
2514
|
n("zoom-change", [a[0], a[1]]);
|
|
@@ -2509,14 +2516,14 @@ function Br(e) {
|
|
|
2509
2516
|
}
|
|
2510
2517
|
let N = () => {
|
|
2511
2518
|
if (t.displayMode === "independent") {
|
|
2512
|
-
|
|
2519
|
+
zr(n, s.value, T.values()), T.clear();
|
|
2513
2520
|
return;
|
|
2514
2521
|
}
|
|
2515
2522
|
if (S !== "wheel") {
|
|
2516
2523
|
S = null;
|
|
2517
2524
|
return;
|
|
2518
2525
|
}
|
|
2519
|
-
|
|
2526
|
+
Br(n, l.value, s.value), S = null;
|
|
2520
2527
|
}, P = () => {
|
|
2521
2528
|
v.flush(), M(), !(S === "wheel" || T.size) && N();
|
|
2522
2529
|
}, F = (e) => {
|
|
@@ -2535,19 +2542,19 @@ function Br(e) {
|
|
|
2535
2542
|
O += 1, e || R(), r.value?.querySelectorAll(".waveform-chart__overlay").forEach((e) => G(e).on(".zoom", null)), _.clear();
|
|
2536
2543
|
}, B = (e, n) => {
|
|
2537
2544
|
let r = Math.abs(e[1] - e[0]);
|
|
2538
|
-
if (!Number.isFinite(r) || r <= 0) return
|
|
2539
|
-
let i =
|
|
2540
|
-
return Math.max(
|
|
2541
|
-
}, V = (e, n, r, i) =>
|
|
2545
|
+
if (!Number.isFinite(r) || r <= 0) return Bt.MIN_SCALE;
|
|
2546
|
+
let i = jr(e, n, t);
|
|
2547
|
+
return Math.max(Bt.MIN_SCALE, i > 0 ? r / i : Infinity);
|
|
2548
|
+
}, V = (e, n, r, i) => Pr(Nr(e.rescaleX(W(n, [0, r])).domain(), n, i, t), n, r), H = (e) => {
|
|
2542
2549
|
let n = Number(t.minVisiblePoints);
|
|
2543
|
-
return
|
|
2550
|
+
return jn(e.seriesList, e.xScale.domain(), Number.isFinite(n) && n > 0 ? Math.ceil(n) + 1 : n);
|
|
2544
2551
|
}, U = () => {
|
|
2545
2552
|
let e = s.value.filter((e) => e.hasVisibleSeries);
|
|
2546
2553
|
return e.length > 0 && e.every(H);
|
|
2547
2554
|
}, ee = (e, t) => {
|
|
2548
2555
|
if (e.type !== "wheel") return !1;
|
|
2549
2556
|
let n = e.deltaY;
|
|
2550
|
-
return n < 0 ? t : n > 0 &&
|
|
2557
|
+
return n < 0 ? t : n > 0 && ae(e.currentTarget).k > Bt.MIN_SCALE;
|
|
2551
2558
|
};
|
|
2552
2559
|
return {
|
|
2553
2560
|
cancelPendingZoom: R,
|
|
@@ -2562,7 +2569,7 @@ function Br(e) {
|
|
|
2562
2569
|
s.value.forEach((t) => {
|
|
2563
2570
|
let n = r.value?.querySelector(`[data-independent-overlay-index="${t.index}"]`);
|
|
2564
2571
|
if (!n) return;
|
|
2565
|
-
let i = h(t), a = [t.seriesList], c =
|
|
2572
|
+
let i = h(t), a = [t.seriesList], c = ie().filter((e) => {
|
|
2566
2573
|
let n = s.value.find((e) => e.index === t.index) ?? t;
|
|
2567
2574
|
return ee(e, H(n));
|
|
2568
2575
|
}).scaleExtent([1, B(i, a)]).constrain((e) => V(e, i, t.width, a)).extent([[0, 0], [t.width, t.height]]).translateExtent([[0, 0], [t.width, t.height]]).on("zoom", (e) => j(e, t.index)).on("end", () => F(e));
|
|
@@ -2577,7 +2584,7 @@ function Br(e) {
|
|
|
2577
2584
|
}
|
|
2578
2585
|
let n = i.value;
|
|
2579
2586
|
if (!n) return;
|
|
2580
|
-
let l = s.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), g =
|
|
2587
|
+
let l = s.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), g = ie().filter((e) => ee(e, U())).scaleExtent([1, B(c.value, l)]).constrain((e) => V(e, c.value, u.value, l)).extent([[0, 0], [u.value, d.value]]).translateExtent([[0, 0], [u.value, d.value]]).on("zoom", A).on("end", () => F(e));
|
|
2581
2588
|
_.set("shared", g), y = !0;
|
|
2582
2589
|
try {
|
|
2583
2590
|
G(n).call(g).on("dblclick.zoom", null).call(g.transform, a.value);
|
|
@@ -2590,13 +2597,13 @@ function Br(e) {
|
|
|
2590
2597
|
}
|
|
2591
2598
|
//#endregion
|
|
2592
2599
|
//#region src/components/core/useWaveformChartLifecycle.ts
|
|
2593
|
-
function
|
|
2600
|
+
function Wr(e) {
|
|
2594
2601
|
return e instanceof Element && !!e.closest("button, input, select, textarea, [contenteditable]:not([contenteditable=\"false\"])");
|
|
2595
2602
|
}
|
|
2596
|
-
function
|
|
2603
|
+
function Gr(e) {
|
|
2597
2604
|
let { props: t, emit: n, container: r, titleMeasureElement: i, resizeObserver: a, observedWidth: o, observedHeight: s, measuredTitleWidth: c, measuredTitleHeight: l, resolvedTitleText: u, titleAreaReserved: d, titleMeasureStyle: p, spacePressed: m, pointerInsideChart: _, currentPage: v, pageCount: y, pagedTracks: b, gridOptions: x, chartSeries: S, chartTracks: C, trackLayouts: w, innerWidth: T, innerHeight: E, sharedZoomDomain: D, initialXDomain: O, sharedTransform: A, activeInteractionMode: j, hiddenSeriesIdSet: M, internalHiddenSeriesIds: N, independentTransforms: P, independentYDomains: F, resolveInitialTrackDomain: I, annotationInteraction: L, editorSeriesOptions: R, isPresentationMode: z, clearHover: B, cancelAnnotation: V, configureZoom: H, resetViewport: U, cancelViewportDrag: W, cancelPendingHover: G, clearZoomBindings: ee } = e;
|
|
2598
2605
|
function te(e) {
|
|
2599
|
-
z.value || e.code !== "Space" || !t.pannable || !_.value ||
|
|
2606
|
+
z.value || e.code !== "Space" || !t.pannable || !_.value || Wr(e.target) || (m.value = !0, e.preventDefault());
|
|
2600
2607
|
}
|
|
2601
2608
|
function ne(e) {
|
|
2602
2609
|
e.code === "Space" && (m.value = !1);
|
|
@@ -2610,7 +2617,7 @@ function Hr(e) {
|
|
|
2610
2617
|
if (t.displayMode === "independent") {
|
|
2611
2618
|
K = void 0, q = new Map(w.value.flatMap((e) => {
|
|
2612
2619
|
let t = e.xScale.domain(), n = I(e);
|
|
2613
|
-
return t[1] - t[0] < n[1] - n[0] - 1e-12 ? [[
|
|
2620
|
+
return t[1] - t[0] < n[1] - n[0] - 1e-12 ? [[Ir(e.seriesList.map((e) => e.id)), t]] : [];
|
|
2614
2621
|
}));
|
|
2615
2622
|
return;
|
|
2616
2623
|
}
|
|
@@ -2627,14 +2634,14 @@ function Hr(e) {
|
|
|
2627
2634
|
if (t.displayMode === "independent" && q) {
|
|
2628
2635
|
let e = C.value.map(() => J);
|
|
2629
2636
|
w.value.forEach((n) => {
|
|
2630
|
-
let r = q?.get(
|
|
2637
|
+
let r = q?.get(Ir(n.seriesList.map((e) => e.id)));
|
|
2631
2638
|
if (!r) return;
|
|
2632
|
-
let i = I(n), a =
|
|
2633
|
-
e[n.index] =
|
|
2639
|
+
let i = I(n), a = Nr(r, i, [n.seriesList], t);
|
|
2640
|
+
e[n.index] = Pr(a, i, n.width);
|
|
2634
2641
|
}), P.value = e, q = void 0;
|
|
2635
2642
|
} else if (t.displayMode !== "independent" && K) {
|
|
2636
|
-
let e = O.value, n = w.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), r =
|
|
2637
|
-
A.value =
|
|
2643
|
+
let e = O.value, n = w.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), r = Nr(K, e, n, t);
|
|
2644
|
+
A.value = Pr(r, e, T.value), K = void 0;
|
|
2638
2645
|
}
|
|
2639
2646
|
H();
|
|
2640
2647
|
});
|
|
@@ -2720,58 +2727,58 @@ function Hr(e) {
|
|
|
2720
2727
|
}
|
|
2721
2728
|
//#endregion
|
|
2722
2729
|
//#region src/components/core/useWaveformData.ts
|
|
2723
|
-
function
|
|
2724
|
-
return
|
|
2730
|
+
function Kr(e) {
|
|
2731
|
+
return dn(e).map(({ source: e, ...t }) => {
|
|
2725
2732
|
let n = e.metrics(t.errorBar.visible);
|
|
2726
2733
|
return {
|
|
2727
2734
|
...t,
|
|
2728
2735
|
source: e,
|
|
2729
|
-
points:
|
|
2730
|
-
xDomain:
|
|
2731
|
-
yDomain:
|
|
2736
|
+
points: we(e),
|
|
2737
|
+
xDomain: _t(Number.isFinite(n.xMinimum) ? [n.xMinimum, n.xMaximum] : []),
|
|
2738
|
+
yDomain: _t(Number.isFinite(n.yMinimum) ? [n.yMinimum, n.yMaximum] : []),
|
|
2732
2739
|
hasErrorPoints: n.hasErrorPoints
|
|
2733
2740
|
};
|
|
2734
2741
|
});
|
|
2735
2742
|
}
|
|
2736
|
-
function
|
|
2737
|
-
let r = w(
|
|
2743
|
+
function qr(e, t, n) {
|
|
2744
|
+
let r = w(Kr(e()));
|
|
2738
2745
|
return k(e, (e) => {
|
|
2739
|
-
t(), r.value =
|
|
2746
|
+
t(), r.value = Kr(e), n();
|
|
2740
2747
|
}), r;
|
|
2741
2748
|
}
|
|
2742
2749
|
//#endregion
|
|
2743
2750
|
//#region wasm/pkg/waveform_sampling_wasm.js
|
|
2744
|
-
function
|
|
2745
|
-
let n =
|
|
2746
|
-
if (o[3]) throw
|
|
2747
|
-
var s =
|
|
2751
|
+
function Jr(e, t) {
|
|
2752
|
+
let n = ci(e, $.__wbindgen_malloc), r = mi, i = ci(t, $.__wbindgen_malloc), a = mi, o = $.calculate_range(n, r, i, a);
|
|
2753
|
+
if (o[3]) throw li(o[2]);
|
|
2754
|
+
var s = $r(o[0], o[1]).slice();
|
|
2748
2755
|
return $.__wbindgen_free(o[0], o[1] * 8, 8), s;
|
|
2749
2756
|
}
|
|
2750
|
-
function
|
|
2751
|
-
let i =
|
|
2752
|
-
if (c[3]) throw
|
|
2753
|
-
var l =
|
|
2757
|
+
function Yr(e, t, n, r) {
|
|
2758
|
+
let i = ci(e, $.__wbindgen_malloc), a = mi, o = ci(t, $.__wbindgen_malloc), s = mi, c = $.find_visible_range(i, a, o, s, n, r);
|
|
2759
|
+
if (c[3]) throw li(c[2]);
|
|
2760
|
+
var l = ei(c[0], c[1]).slice();
|
|
2754
2761
|
return $.__wbindgen_free(c[0], c[1] * 4, 4), l;
|
|
2755
2762
|
}
|
|
2756
|
-
function
|
|
2757
|
-
let i =
|
|
2758
|
-
if (c[3]) throw
|
|
2759
|
-
var l =
|
|
2763
|
+
function Xr(e, t, n, r) {
|
|
2764
|
+
let i = ci(e, $.__wbindgen_malloc), a = mi, o = ci(t, $.__wbindgen_malloc), s = mi, c = $.sample_aggregates(i, a, o, s, n, r);
|
|
2765
|
+
if (c[3]) throw li(c[2]);
|
|
2766
|
+
var l = $r(c[0], c[1]).slice();
|
|
2760
2767
|
return $.__wbindgen_free(c[0], c[1] * 8, 8), l;
|
|
2761
2768
|
}
|
|
2762
|
-
function
|
|
2763
|
-
let i =
|
|
2764
|
-
if (c[3]) throw
|
|
2765
|
-
var l =
|
|
2769
|
+
function Zr(e, t, n, r) {
|
|
2770
|
+
let i = ci(e, $.__wbindgen_malloc), a = mi, o = ci(t, $.__wbindgen_malloc), s = mi, c = $.sample_indexes(i, a, o, s, n, r);
|
|
2771
|
+
if (c[3]) throw li(c[2]);
|
|
2772
|
+
var l = ei(c[0], c[1]).slice();
|
|
2766
2773
|
return $.__wbindgen_free(c[0], c[1] * 4, 4), l;
|
|
2767
2774
|
}
|
|
2768
|
-
function
|
|
2775
|
+
function Qr() {
|
|
2769
2776
|
return {
|
|
2770
2777
|
__proto__: null,
|
|
2771
2778
|
"./waveform_sampling_wasm_bg.js": {
|
|
2772
2779
|
__proto__: null,
|
|
2773
2780
|
__wbindgen_cast_0000000000000001: function(e, t) {
|
|
2774
|
-
return
|
|
2781
|
+
return ri(e, t);
|
|
2775
2782
|
},
|
|
2776
2783
|
__wbindgen_init_externref_table: function() {
|
|
2777
2784
|
let e = $.__wbindgen_externrefs, t = e.grow(4);
|
|
@@ -2780,52 +2787,52 @@ function Yr() {
|
|
|
2780
2787
|
}
|
|
2781
2788
|
};
|
|
2782
2789
|
}
|
|
2783
|
-
function
|
|
2784
|
-
return e >>>= 0,
|
|
2785
|
-
}
|
|
2786
|
-
function Zr(e, t) {
|
|
2787
|
-
return e >>>= 0, ni().subarray(e / 4, e / 4 + t);
|
|
2788
|
-
}
|
|
2789
|
-
var Qr = null;
|
|
2790
|
-
function $r() {
|
|
2791
|
-
return (Qr === null || Qr.byteLength === 0) && (Qr = new Float64Array($.memory.buffer)), Qr;
|
|
2790
|
+
function $r(e, t) {
|
|
2791
|
+
return e >>>= 0, ni().subarray(e / 8, e / 8 + t);
|
|
2792
2792
|
}
|
|
2793
2793
|
function ei(e, t) {
|
|
2794
|
-
return e >>>= 0,
|
|
2794
|
+
return e >>>= 0, ai().subarray(e / 4, e / 4 + t);
|
|
2795
2795
|
}
|
|
2796
2796
|
var ti = null;
|
|
2797
2797
|
function ni() {
|
|
2798
|
-
return (ti === null || ti.byteLength === 0) && (ti = new
|
|
2798
|
+
return (ti === null || ti.byteLength === 0) && (ti = new Float64Array($.memory.buffer)), ti;
|
|
2799
2799
|
}
|
|
2800
|
-
|
|
2801
|
-
|
|
2802
|
-
return (ri === null || ri.byteLength === 0) && (ri = new Uint8Array($.memory.buffer)), ri;
|
|
2800
|
+
function ri(e, t) {
|
|
2801
|
+
return e >>>= 0, pi(e, t);
|
|
2803
2802
|
}
|
|
2804
|
-
|
|
2803
|
+
var ii = null;
|
|
2804
|
+
function ai() {
|
|
2805
|
+
return (ii === null || ii.byteLength === 0) && (ii = new Uint32Array($.memory.buffer)), ii;
|
|
2806
|
+
}
|
|
2807
|
+
var oi = null;
|
|
2808
|
+
function si() {
|
|
2809
|
+
return (oi === null || oi.byteLength === 0) && (oi = new Uint8Array($.memory.buffer)), oi;
|
|
2810
|
+
}
|
|
2811
|
+
function ci(e, t) {
|
|
2805
2812
|
let n = t(e.length * 8, 8) >>> 0;
|
|
2806
|
-
return
|
|
2813
|
+
return ni().set(e, n / 8), mi = e.length, n;
|
|
2807
2814
|
}
|
|
2808
|
-
function
|
|
2815
|
+
function li(e) {
|
|
2809
2816
|
let t = $.__wbindgen_externrefs.get(e);
|
|
2810
2817
|
return $.__externref_table_dealloc(e), t;
|
|
2811
2818
|
}
|
|
2812
|
-
var
|
|
2819
|
+
var ui = new TextDecoder("utf-8", {
|
|
2813
2820
|
ignoreBOM: !0,
|
|
2814
2821
|
fatal: !0
|
|
2815
2822
|
});
|
|
2816
|
-
|
|
2817
|
-
var
|
|
2818
|
-
function
|
|
2819
|
-
return
|
|
2823
|
+
ui.decode();
|
|
2824
|
+
var di = 2146435072, fi = 0;
|
|
2825
|
+
function pi(e, t) {
|
|
2826
|
+
return fi += t, fi >= di && (ui = new TextDecoder("utf-8", {
|
|
2820
2827
|
ignoreBOM: !0,
|
|
2821
2828
|
fatal: !0
|
|
2822
|
-
}),
|
|
2829
|
+
}), ui.decode(), fi = t), ui.decode(si().subarray(e, e + t));
|
|
2823
2830
|
}
|
|
2824
|
-
var
|
|
2825
|
-
function
|
|
2826
|
-
return $ = e.exports,
|
|
2831
|
+
var mi = 0, $;
|
|
2832
|
+
function hi(e, t) {
|
|
2833
|
+
return $ = e.exports, ti = null, ii = null, oi = null, $.__wbindgen_start(), $;
|
|
2827
2834
|
}
|
|
2828
|
-
async function
|
|
2835
|
+
async function gi(e, t) {
|
|
2829
2836
|
if (typeof Response == "function" && e instanceof Response) {
|
|
2830
2837
|
if (typeof WebAssembly.instantiateStreaming == "function") try {
|
|
2831
2838
|
return await WebAssembly.instantiateStreaming(e, t);
|
|
@@ -2851,17 +2858,17 @@ async function pi(e, t) {
|
|
|
2851
2858
|
return !1;
|
|
2852
2859
|
}
|
|
2853
2860
|
}
|
|
2854
|
-
async function
|
|
2861
|
+
async function _i(e) {
|
|
2855
2862
|
if ($ !== void 0) return $;
|
|
2856
2863
|
e !== void 0 && (Object.getPrototypeOf(e) === Object.prototype ? {module_or_path: e} = e : console.warn("using deprecated parameters for the initialization function; pass a single object instead")), e === void 0 && (e = new URL("data:application/wasm;base64,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kkA7AAAgAkEEayECIAVB/6ziBEsNAAsLIABBCUsEQCACQQJrIgIgBkEGamogACAAQf//A3FB5ABuIgBB5ABsa0H//wNxQQF0LwDSkkA7AAALQQAgBCAAG0UEQCACQQFrIgIgBkEGamogAEEBdC0A05JAOgAACwJ/IAZBBmogAmohB0EAIQRBK0GAgMQAIAEoAggiA0GAgIABcSIAGyEIIANBgICABHFFRSEKAkBBCiACayILIABBFXZqIgAgAS8BDCIFSQRAAkACQCADQYCAgAhxRQRAIAUgAGshBUEAIQACQAJAAkAgA0EddkEDcUEBaw4DAAEAAgsgBSEADAELIAVB/v8DcUEBdiEACyADQf///wBxIQkgASgCBCEDIAEoAgAhAQNAIARB//8DcSAAQf//A3FPDQJBASECIARBAWohBCABIAkgAygCEBEBAEUNAAsMBAsgASABKQIIIgynQYCAgP95cUGwgICAAnI2AghBASECIAEoAgAiAyABKAIEIgkgCCAKECwNAyAFIABrQf//A3EhAANAIARB//8DcSAATw0CIARBAWohBCADQTAgCSgCEBEBAEUNAAsMAwtBASECIAEgAyAIIAoQLA0CIAEgByALIAMoAgwRAgANAkEAIQQgBSAAa0H//wNxIQADQCAEQf//A3EiBSAASSECIAAgBU0NAyAEQQFqIQQgASAJIAMoAhARAQBFDQALDAILIAMgByALIAkoAgwRAgANASABIAw3AghBAAwCC0EBIQIgASgCACIAIAEoAgQiASAIIAoQLA0AIAAgByALIAEoAgwRAgAhAgsgAgsgBkEQaiQAC4gCAQZ/IAAoAggiBCECAn9BASABQYABSQ0AGkECIAFBgBBJDQAaQQNBBCABQYCABEkbCyIGIAAoAgAgBGtLBH8gACAEIAYQHSAAKAIIBSACCyAAKAIEaiECAkAgAUGAAU8EQCABQT9xQYB/ciEFIAFBBnYhAyABQYAQSQRAIAIgBToAASACIANBwAFyOgAADAILIAFBDHYhByADQT9xQYB/ciEDIAFB//8DTQRAIAIgBToAAiACIAM6AAEgAiAHQeABcjoAAAwCCyACIAU6AAMgAiADOgACIAIgB0E/cUGAf3I6AAEgAiABQRJ2QXByOgAADAELIAIgAToAAAsgACAEIAZqNgIIQQALzwIBCH9BAEHo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gIACcSABQYCABElyDQBBgIAEIQYgAEGAgARxIAFBgIAISXINAEGAgAghBiAAQYCACHEgAUGAgBBJcg0AQYCAECEGIABBgIAQcSABQYCAIElyDQBBgIAgIQYgAEGAgCBxIAFBgIDAAElyDQBBgIDAACEGIABBgIDAAHEgAUGAgIABSXINAEGAgIABIQYgAEGAgIABcSABQYCAgAJJcg0AQYCAgAIhBiAAQYCAgAJxIAFBgICABElyDQBBgICABCEGIABBgICABHEgAUGAgIAISXINAEGAgIAIIQYgAEGAgIAIcSABQYCAgBBJcg0AQYCAgBAhBiAAQYCAgBBxIAFBgICAIElyDQBBgICAICEGIABBgICAIHEgAUGAgIDAAElyDQBBgICAwAAhBiAAQYCAgMAAcSABQYCAgIABSXINAEGAgICAASEGIABBgICAgAFxIAFBgICAgAJJcg0AQYCAgIACIQYgAEGAgICAAnEgAUGAgICABElyDQBBgICAgAQhBiAAQYCAgIAEcSABQQBOcg0AEEoACyAAIQEgACEDAkAgBmgiCEUNAAJAIAggC0kEQCAQIAhBGGxqIgEoAgBBgICAgHhHDQEMDAsgCCALQbyJwAAQJgALIAAgCHYiAyABKAIIIghJBEAgASgCFCIIIANLBEAgA0ECdCIIIAEoAhBqKAIAIQMgASgCBCAIaigCACEBDAILIAMgCEHcicAAECYACyADIAhBzInAABAmAAsgASAMTw0BIAcgDE8NAiAHIAEgDyABQQN0aisDACInIA8gB0EDdGorAwAiKGNFIAEgB08gJyAoYnJxGyEHIAMgDE8NAyAEIAxPDQQgBCADIA8gA0EDdGorAwAiJyAPIARBA3RqKwMAIihkRSADIARPICcgKGJycRshBCAAIAZqIgAgI0kNAAsCQAJAAkACQAJAIBZBAWsOBgMAAAECBAALQZyKwABBKEHEisAAED4ACyAFKAIUIgAEQCAFKAIQIABBAnRqQQRrKAIAIAdGDQkLIAUoAgwgAEYEQCAFQQxqECcLIAUoAhAgAEECdGogBzYCACAFIABBAWo2AhQMCAsgBSgCFCIABEAgBSgCECAAQQJ0akEEaygCACAERg0ICyAFKAIMIABGBEAgBUEMahAnCyAFKAIQIABBAnRqIAQ2AgAgBSAAQQFqNgIUDAcLIAUgBDYC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IQ4gAyEKIwBB8ABrIgckAAJ/AkAgBL0iEEL///////////8Ag0KAgICAgICA+P8AWg0AIAW9IhFC////////////AIMiD1AgEUIAUyIIIA9CAX1C/////////wdUcXIgD0KAgICAgICA+P8AUXIgD0KAgICAgICA+P8AVXIgD0KAgICAgICACH1CgICAgICAgPD/AFQgCHFyDQAgAUEDdCELQQAhCAJAA0AgCCALRg0BIAAgCGogCEEIaiEIKQMAQv///////////wCDQv/////////3/wBYDQALQcmIwABBLBA/rSEQIAdBGGohCUGAgICAeAwCCwJAIApFDQAgASAKRgRAIAFBAWohCSACIQgDQCAJQQFrIglBAkkNAiAIKAIAIQsgCyAIQQRqIggoAgBNDQALC0GciMAAQS0QP60hECAHQRhqIQlBgICAgHgMAgsCQCABRQRAQQghCwwBCyABQQN0IghBCBBLIgsEQCAIRQ0BIAsgACAI/AoAAAwBC0EIIAgQPQALAkACQCAKRQRAQYCAgIB4IQoMAQsgCkECdCIJQQQQSyIIRQ0BIAkEQCAIIAIgCfwKAAALIAitIAqtQiCGhCEPC0QAAAAAAADwPyAFoyEEIAdBADYCGCAHQRBqIQlBAAwCC0EEIAkQPQALQfWIwABBNhA/rSEQIAdBGGohCUGAgICAeAshCCAJIAg2AgACfyAHKAIYIghBgICAgHhGBEBBASEJIBCnDAELIAcgBygCEDYCaCAHQQQ2AmQgByAINgJgIAdBADYCXCAHQoCAgIDAADcCVCAHIAE2AlAgByALNgJMIAcgATYCSCAHIA83A0AgByAKNgI8IAdBgICAgHg2AjAgByAGNgIsIAdBADYCKCAHIAQ5AyAgByAQNwMYIAdBCGogB0EYahAXIAcoAgghCSAHKAIMCyEGIA4gCTYCACAOIAY2AgQgB0HwAGokACANKAIMIQogDSgCCCEGIAMEQCACIANBAnRBBBBHCyABBEAgACABQQN0QQgQRwsgDCAGQQFxIgA2AgggDCAKQQAgABs2AgQgDEEAIAogABs2AgAgDUEQaiQAIAwoAgAgDCgCBCAMKAIIIAxBEGokAAuBIAMmfwV8AX4jAEEQayIPJAAjAEFAaiIKJAAgCiAENgIoIAogAzYCJCAKIAI2AiAgCiABNgIcIAogADYC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ZSBmb3Igc2xpY2Ugb2YgbGVuZ3RoIMAASGNhbm5vdCBhY2Nlc3MgYSBUaHJlYWQgTG9jYWwgU3RvcmFnZSB2YWx1ZSBkdXJpbmcgb3IgYWZ0ZXIgZGVzdHJ1Y3Rpb246IMAAL3J1c3RjLzU5ODA3NjE2ZTFmYTI1NDA3MjRiZmJhYzE0ZDc5NzZkN2U0YTM4NjAvbGlicmFyeS9jb3JlL3NyYy9zbGljZS9zb3J0L3NoYXJlZC9zbWFsbHNvcnQucnMAL3J1c3RjLzU5ODA3NjE2ZTFmYTI1NDA3MjRiZmJhYzE0ZDc5NzZkN2U0YTM4NjAvbGlicmFyeS9jb3JlL3NyYy9zbGljZS9zb3J0L3N0YWJsZS9xdWlja3NvcnQucnMAL3J1c3RjLzU5ODA3NjE2ZTFmYTI1NDA3MjRiZmJhYzE0ZDc5NzZkN2U0YTM4NjAvbGlicmFyeS9zdGQvc3JjL3RocmVhZC9sb2NhbC5ycwAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi93YXNtLWJpbmRnZW4tMC4yLjExOC9zcmMvZXh0ZXJucmVmLnJzAC9ydXN0Yy81OTgwNzYxNmUxZmEyNTQwNzI0YmZiYWMxNGQ3OTc2ZDdlNGEzODYwL2xpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMvbW9kLnJzAC9ydXN0L2RlcHMvZGxtYWxsb2MtMC4yLjExL3NyYy9kbG1hbGxvYy5ycwBzcmMvbGliLnJzAAAAAA4DEAAKAAAA0gAAABkAAAAOAxAACgAAANoAAAAaAAAADgMQAAoAAADaAAAAPQAAAA4DEAAKAAAAyQAAAB0AAAAOAxAACgAAAKoAAAAQAAAADgMQAAoAAACqAAAAIgAAAA4DEAAKAAAArQAAACIAAAAOAxAACgAAABcCAAAcAAAADgMQAAoAAAALAgAAJgAAAA4DEAAKAAAA8gEAACoAAAAOAxAACgAAAPgBAAAqAAAADgMQAAoAAAD+AQAAMgAAAA4DEAAKAAAAkgEAAA8AAAAOAxAACgAAAJIBAAAsAAAADgMQAAoAAACNAQAADwAAAA4DEAAKAAAAjQEAACwAAABzb3VyY2UgaW5kZXhlcyBtdXN0IGJlIGVtcHR5IG9yIG5vbmRlY3JlYXNpbmdzYW1wbGUgdmFsdWVzIG11c3QgYmUgZmluaXRlIGFuZCBhZGRyZXNzYWJsZXNhbXBsZSBtZXRhZGF0YSBtdXN0IGJlIGZpbml0ZSBhbmQgc2FtcGxlUmF0ZSBwb3NpdGl2ZQAOAxAACgAAABYBAAAkAAAADgMQAAoAAAAuAgAAMAAAAA4DEAAKAAAALwIAAB8AAAAOAxAACgAAAC8CAAA1AAAADgMQAAoAAADWAQAAIAAAAA4DEAAKAAAAsQEAAC0AAAAOAxAACgAAALIBAAAtAAAAaW50ZXJuYWwgZXJyb3I6IGVudGVyZWQgdW5yZWFjaGFibGUgY29kZQ4DEAAKAAAAmgIAABYAAABzdHJhdGVneSBkb2VzIG5vdCByZXR1cm4gc291cmNlIGluZGV4ZXNzdHJhdGVneSBkb2VzIG5vdCByZXR1cm4gYWdncmVnYXRlIHZhbHVlc3JlZ2lzdGVyZWQgZGF0YXNldHMgbXVzdCBjb250YWluIGZpbml0ZSBjb29yZGluYXRlc3ggYW5kIHkgbXVzdCBoYXZlIHRoZSBzYW1lIGxlbmd0aA4DEAAKAAAAdgEAABIAAAAOAxAACgAAAHMBAAA8AAAADgMQAAoAAABMAgAAHAAAAA4DEAAKAAAATwIAACwAAAAOAxAACgAAAFACAAAdAAAADgMQAAoAAABRAgAAHQAAAA4DEAAKAAAAUgIAACUAAAABAAAADgMQAAoAAACUAAAAEgAAAA4DEAAKAAAAggAAABAAAAAOAxAACgAAAIIAAAAiAAAADgMQAAoAAACFAAAAIgAAAA4DEAAKAAAAAQEAAB0AAAAOAxAACgAAABwDAAAlAAAADgMQAAoAAABJAAAAQwAAAA4DEAAKAAAALQMAAA4AAAAOAxAACgAAACYDAAAnAAAAZGF0YXNldCBoYW5kbGUgd2FzIG5vdCBmb3VuZA4DEAAKAAAAPwMAACUAAAAOAxAACgAAAAoDAAAlAAAADgMQAAoAAABRAwAAJQAAANoBEABPAAAA3wEAABkAAABtaWQgPiBsZW4AAAB6ARAAXwAAAE0AAAAfAAAAegEQAF8AAABHAAAAFwAAAA4DEAAKAAAAfwEAABoAAAAOAxAACgAAAPMAAAAWAAAADgMQAAoAAABJAAAAQwAAAA4DEAAKAAAASQAAAEMAAAAqAhAAZwAAAHwAAAARAAAAKgIQAGcAAACJAAAAEQAAAAUAAAAMAAAABAAAAAYAAAAHAAAACAAAAAAAAAAIAAAABAAAAAkAAAAKAAAACwAAAAwAAAANAAAAEAAAAAQAAAAOAAAADwAAABAAAAARAAAAbV3L1ixQ62N4QaZXcRuLuRWiXFU0VQfUU3itgVHwo/dhc3NlcnRpb24gZmFpbGVkOiBwc2l6ZSA+PSBzaXplICsgbWluX292ZXJoZWFkAADjAhAAKgAAALEEAAAJAAAAYXNzZXJ0aW9uIGZhaWxlZDogcHNpemUgPD0gc2l6ZSArIG1heF9vdmVyaGVhZAAA4wIQACoAAAC3BAAADQAAAAAAAAAIAAAABAAAABIAAABBY2Nlc3NFcnJvcgAFAAAADAAAAAQAAAATAAAAY2FwYWNpdHkgb3ZlcmZsb3cAAACSAhAAUAAAABwAAAAFAAAAfSB9Y2FsbGVkIGBPcHRpb246OnVud3JhcCgpYCBvbiBhIGBOb25lYCB2YWx1ZTAwMDEwMjAzMDQwNTA2MDcwODA5MTAxMTEyMTMxNDE1MTYxNzE4MTkyMDIxMjIyMzI0MjUyNjI3MjgyOTMwMzEzMjMzMzQzNTM2MzczODM5NDA0MTQyNDM0NDQ1NDY0NzQ4NDk1MDUxNTI1MzU0NTU1NjU3NTg1OTYwNjE2MjYzNjQ2NTY2Njc2ODY5NzA3MTcyNzM3NDc1NzY3Nzc4Nzk4MDgxODI4Mzg0ODU4Njg3ODg4OTkwOTE5MjkzOTQ5NTk2OTc5ODk5YXR0ZW1wdCB0byBjYWxjdWxhdGUgdGhlIHJlbWFpbmRlciB3aXRoIGEgZGl2aXNvciBvZiB6ZXJvdXNlci1wcm92aWRlZCBjb21wYXJpc29uIGZ1bmN0aW9uIGRvZXMgbm90IGNvcnJlY3RseSBpbXBsZW1lbnQgYSB0b3RhbCBvcmRlcgAaARAAXwAAAFwDAAAFAAAAUmVmQ2VsbCBhbHJlYWR5IG11dGFibHkgYm9ycm93ZWRSZWZDZWxsIGFscmVhZHkgYm9ycm93ZWQAQfCVwAALAQgAQYCWwAALAQQAfAlwcm9kdWNlcnMCCGxhbmd1YWdlAQRSdXN0AAxwcm9jZXNzZWQtYnkDBXJ1c3RjHTEuOTUuMCAoNTk4MDc2MTZlIDIwMjYtMDQtMTQpBndhbHJ1cwYwLjI2LjEMd2FzbS1iaW5kZ2VuEzAuMi4xMTggKDc1M2JiN2ZmNCkAaw90YXJnZXRfZmVhdHVyZXMGKw9tdXRhYmxlLWdsb2JhbHMrE25vbnRyYXBwaW5nLWZwdG9pbnQrC2J1bGstbWVtb3J5KwhzaWduLWV4dCsPcmVmZXJlbmNlLXR5cGVzKwptdWx0aXZhbHVl", "" + import.meta.url));
|
|
2857
|
-
let t =
|
|
2864
|
+
let t = Qr();
|
|
2858
2865
|
(typeof e == "string" || typeof Request == "function" && e instanceof Request || typeof URL == "function" && e instanceof URL) && (e = fetch(e));
|
|
2859
|
-
let { instance: n, module: r } = await
|
|
2860
|
-
return
|
|
2866
|
+
let { instance: n, module: r } = await gi(await e, t);
|
|
2867
|
+
return hi(n, r);
|
|
2861
2868
|
}
|
|
2862
2869
|
//#endregion
|
|
2863
2870
|
//#region src/core/wasmSampling.ts
|
|
2864
|
-
var
|
|
2871
|
+
var vi = {
|
|
2865
2872
|
none: 0,
|
|
2866
2873
|
peak: 1,
|
|
2867
2874
|
lttb: 2,
|
|
@@ -2870,24 +2877,24 @@ var hi = {
|
|
|
2870
2877
|
max: 5,
|
|
2871
2878
|
minmax: 6,
|
|
2872
2879
|
sum: 7
|
|
2873
|
-
},
|
|
2874
|
-
function
|
|
2880
|
+
}, yi;
|
|
2881
|
+
function bi(e, t) {
|
|
2875
2882
|
return t === 0 ? 0 : Number.isFinite(e) ? Math.min(t, Math.max(1, Math.floor(e))) : t;
|
|
2876
2883
|
}
|
|
2877
|
-
function
|
|
2884
|
+
function xi(e) {
|
|
2878
2885
|
if (e.x.length !== e.y.length) throw Error("x and y must have the same length");
|
|
2879
2886
|
}
|
|
2880
|
-
function
|
|
2881
|
-
return
|
|
2887
|
+
function Si(e) {
|
|
2888
|
+
return yi ??= Promise.resolve(_i(e)).then(() => void 0), yi;
|
|
2882
2889
|
}
|
|
2883
|
-
async function
|
|
2884
|
-
|
|
2885
|
-
let t =
|
|
2890
|
+
async function Ci(e) {
|
|
2891
|
+
xi(e), await Si();
|
|
2892
|
+
let t = bi(e.targetPointCount, e.x.length), n = vi[e.strategy];
|
|
2886
2893
|
if (e.strategy !== "average" && e.strategy !== "sum") return {
|
|
2887
2894
|
kind: "source-indexes",
|
|
2888
|
-
sourceIndexes:
|
|
2895
|
+
sourceIndexes: Zr(e.x, e.y, n, t)
|
|
2889
2896
|
};
|
|
2890
|
-
let r =
|
|
2897
|
+
let r = Xr(e.x, e.y, n, t), i = new Float64Array(r.length / 2), a = new Float64Array(r.length / 2);
|
|
2891
2898
|
for (let e = 0; e < i.length; e += 1) i[e] = r[e * 2], a[e] = r[e * 2 + 1];
|
|
2892
2899
|
return {
|
|
2893
2900
|
kind: "aggregates",
|
|
@@ -2895,41 +2902,41 @@ async function bi(e) {
|
|
|
2895
2902
|
y: a
|
|
2896
2903
|
};
|
|
2897
2904
|
}
|
|
2898
|
-
async function
|
|
2905
|
+
async function wi(e, t) {
|
|
2899
2906
|
if (e.length !== t.length) throw Error("x and y must have the same length");
|
|
2900
|
-
await
|
|
2901
|
-
let n =
|
|
2907
|
+
await Si();
|
|
2908
|
+
let n = Jr(e, t);
|
|
2902
2909
|
return n.length === 4 ? {
|
|
2903
2910
|
x: [n[0], n[1]],
|
|
2904
2911
|
y: [n[2], n[3]]
|
|
2905
2912
|
} : void 0;
|
|
2906
2913
|
}
|
|
2907
|
-
async function
|
|
2914
|
+
async function Ti(e, t, n) {
|
|
2908
2915
|
if (e.length !== t.length) throw Error("x and y must have the same length");
|
|
2909
|
-
await
|
|
2910
|
-
let r =
|
|
2916
|
+
await Si();
|
|
2917
|
+
let r = Yr(e, t, n[0], n[1]);
|
|
2911
2918
|
return [r[0], r[1]];
|
|
2912
2919
|
}
|
|
2913
2920
|
//#endregion
|
|
2914
2921
|
//#region src/components/core/trackPagination.ts
|
|
2915
|
-
var
|
|
2922
|
+
var Ei = (e, t) => t ? e.filter((e) => e.series.length > 0) : e, Di = (e, t, n, r, i) => {
|
|
2916
2923
|
let a = t?.[i];
|
|
2917
2924
|
if (a !== void 0) return a;
|
|
2918
2925
|
if (e !== void 0) return n === 1 ? e : typeof e == "number" ? e + r : `${e}-${r + 1}`;
|
|
2919
|
-
},
|
|
2926
|
+
}, Oi = (e, t, n) => (r) => {
|
|
2920
2927
|
let i = n(), a = i.findIndex((e) => e.id === r);
|
|
2921
|
-
return
|
|
2928
|
+
return Di(e(), t(), i.length, a >= 0 ? a : 0, r);
|
|
2922
2929
|
};
|
|
2923
2930
|
//#endregion
|
|
2924
2931
|
//#region src/components/core/yAxisLayoutMetrics.ts
|
|
2925
|
-
function
|
|
2932
|
+
function ki(e, t, n, r) {
|
|
2926
2933
|
return e === "independent" ? Object.fromEntries(t.flatMap((e, t) => {
|
|
2927
2934
|
let n = r[t];
|
|
2928
2935
|
return n ? [[e.id, n]] : [];
|
|
2929
2936
|
})) : n;
|
|
2930
2937
|
}
|
|
2931
|
-
function
|
|
2932
|
-
let c = e.filter((e) => e.visibleSeries.length > 0).flatMap((e) =>
|
|
2938
|
+
function Ai(e, t, n, r, i, a, o, s) {
|
|
2939
|
+
let c = e.filter((e) => e.visibleSeries.length > 0).flatMap((e) => pr(e, t, n, r, i)).map((e) => mr(e.domain, a, void 0, e.seriesList[0]?.unit, o, s).tickTextWidth), l = Math.max(7, ...c), u = l + 7 + 4, d = -(7 + l + 0 + 12 / 2);
|
|
2933
2940
|
return {
|
|
2934
2941
|
tickClearance: u,
|
|
2935
2942
|
fullClearance: l + 7 + 0 + 12 + 4,
|
|
@@ -2938,11 +2945,11 @@ function Di(e, t, n, r, i, a, o, s) {
|
|
|
2938
2945
|
}
|
|
2939
2946
|
//#endregion
|
|
2940
2947
|
//#region src/components/core/useWaveformLayout.ts
|
|
2941
|
-
function
|
|
2948
|
+
function ji(e) {
|
|
2942
2949
|
let { props: n, preparedSeries: r, currentPage: i, hiddenSeriesIdSet: a, chartWidth: o, innerHeight: s, isCleanView: c, sharedTransform: l, independentTransforms: u, sharedYDomains: d, independentYDomains: f, annotationInteraction: p, linePointOverrides: m } = e, h = t(() => r.value.map((e, t) => ({
|
|
2943
2950
|
...e,
|
|
2944
|
-
color: e.color ?? (t === 0 ? n.lineColor :
|
|
2945
|
-
}))), g = t(() =>
|
|
2951
|
+
color: e.color ?? (t === 0 ? n.lineColor : Ut[t % Ut.length])
|
|
2952
|
+
}))), g = t(() => Vn(n.grid)), _ = t(() => {
|
|
2946
2953
|
let e = /* @__PURE__ */ new Map();
|
|
2947
2954
|
h.value.forEach((t) => {
|
|
2948
2955
|
let n = t.trackId || t.id, r = e.get(n);
|
|
@@ -2957,15 +2964,15 @@ function Oi(e) {
|
|
|
2957
2964
|
id: t,
|
|
2958
2965
|
series: n,
|
|
2959
2966
|
visibleSeries: r,
|
|
2960
|
-
xDomain: i.length ?
|
|
2961
|
-
yDomain: o.length ?
|
|
2967
|
+
xDomain: i.length ? _t(i) : [0, 1],
|
|
2968
|
+
yDomain: o.length ? _t(o) : [0, 1]
|
|
2962
2969
|
};
|
|
2963
2970
|
});
|
|
2964
|
-
}), v = t(() =>
|
|
2971
|
+
}), v = t(() => Dn(n.rendering)), y = t(() => Ei(_.value, g.value.hideEmptyTracks)), b = t(() => Un(y.value.length, g.value)), x = t(() => Wn(y.value, i.value, g.value)), S = t(() => {
|
|
2965
2972
|
let e = x.value.filter((e) => e.series.length > 0);
|
|
2966
2973
|
return g.value.fillIncompleteLastRow && e.length > 0 ? e : x.value;
|
|
2967
|
-
}), C = t(() =>
|
|
2968
|
-
let e =
|
|
2974
|
+
}), C = t(() => or(s.value, n.axes?.y?.splitNumber)), w = t(() => ki(n.displayMode, _.value, d.value, f.value)), T = t(() => Ai(_.value, n.overlayMode, n.yDomain, n.yDomains, w.value, n.axes?.y?.nice !== !1, C.value, n.displayMode === "compact")), E = t(() => _.value.some((e) => e.visibleSeries.length === 1 && !!(e.visibleSeries[0]?.name.trim() || n.yLabel))), D = t(() => _.value.some((e) => e.visibleSeries.length > 0)), O = t(() => Math.max(zt.left, E.value ? T.value.fullClearance : D.value ? T.value.tickClearance : 0)), k = t(() => hr(S.value.filter((e) => e.visibleSeries.length > 0), n.overlayMode, n.yDomain, n.yDomains, C.value, n.axes?.y?.nice !== !1, n.displayMode === "compact", w.value)), A = t(() => n.overlayMode === "multi-axis" ? Math.max(O.value, k.value.clearance.left) : O.value), j = t(() => n.overlayMode === "multi-axis" ? Math.max(zt.right, k.value.clearance.right) : zt.right), M = t(() => Math.max(0, o.value - A.value - j.value)), N = t(() => {
|
|
2975
|
+
let e = Gn(n.displayMode), t = g.value.columnCount, r = t > 1, i = Math.max(e, T.value.fullClearance), a = Math.max(e, T.value.tickClearance), o = (M.value - i * Math.max(0, t - 1)) / t >= 120;
|
|
2969
2976
|
return {
|
|
2970
2977
|
horizontalGap: n.overlayMode === "multi-axis" && r && D.value ? Math.max(e, k.value.clearance.left + k.value.clearance.right) : r && D.value ? E.value && o ? i : a : e,
|
|
2971
2978
|
hideSecondaryLabels: n.overlayMode !== "multi-axis" && r && E.value && !o
|
|
@@ -2974,17 +2981,17 @@ function Oi(e) {
|
|
|
2974
2981
|
let e = [];
|
|
2975
2982
|
return _.value.forEach((t) => {
|
|
2976
2983
|
t.visibleSeries.length && e.push(t.xDomain[0], t.xDomain[1]);
|
|
2977
|
-
}),
|
|
2984
|
+
}), _t(e);
|
|
2978
2985
|
}), B = t(() => {
|
|
2979
2986
|
let e = n.initialXDomain;
|
|
2980
|
-
return e && Number.isFinite(e[0]) && Number.isFinite(e[1]) && e[0] !== e[1] ?
|
|
2987
|
+
return e && Number.isFinite(e[0]) && Number.isFinite(e[1]) && e[0] !== e[1] ? Qn(e[0] < e[1] ? e : [e[1], e[0]], n.xDomainStrategy, !0) : Qn(z.value, n.xDomainStrategy);
|
|
2981
2988
|
}), V = (e) => {
|
|
2982
2989
|
let t = n.initialXDomains?.[e.series?.trackId ?? e.series?.id ?? e.id] ?? (e.series ? n.initialXDomains?.[e.series.id] : void 0) ?? n.initialXDomain;
|
|
2983
|
-
return t && Number.isFinite(t[0]) && Number.isFinite(t[1]) && t[0] !== t[1] ?
|
|
2984
|
-
}, H = t(() => l.value.rescaleX(W(B.value, [0, M.value])).domain()), U = t(() =>
|
|
2990
|
+
return t && Number.isFinite(t[0]) && Number.isFinite(t[1]) && t[0] !== t[1] ? Qn(t[0] < t[1] ? t : [t[1], t[0]], n.xDomainStrategy, !0) : Qn(_t(e.seriesList.flatMap((e) => e.xDomain)), n.xDomainStrategy);
|
|
2991
|
+
}, H = t(() => l.value.rescaleX(W(B.value, [0, M.value])).domain()), U = t(() => Kn(M.value, s.value, g.value, n.displayMode, S.value.map(Boolean), N.value.horizontalGap).map((e, t) => ({
|
|
2985
2992
|
...e,
|
|
2986
2993
|
series: S.value[t]
|
|
2987
|
-
}))), G = t(() =>
|
|
2994
|
+
}))), G = t(() => er({
|
|
2988
2995
|
cells: U.value,
|
|
2989
2996
|
grid: g.value,
|
|
2990
2997
|
displayMode: n.displayMode,
|
|
@@ -3036,7 +3043,7 @@ function Oi(e) {
|
|
|
3036
3043
|
annotationLayoutsForTrack: ee,
|
|
3037
3044
|
resolveSeriesYScale: te,
|
|
3038
3045
|
annotationTrackLayouts: ne,
|
|
3039
|
-
renderedAnnotations: t(() => n.annotationsVisible ?
|
|
3046
|
+
renderedAnnotations: t(() => n.annotationsVisible ? Pe(n.annotations, ne.value, M.value, s.value) : []),
|
|
3040
3047
|
editorSeries: t(() => {
|
|
3041
3048
|
let e = p.editorDraft.value?.annotation.seriesId, t = h.value.find((t) => t.id === e);
|
|
3042
3049
|
return t ? {
|
|
@@ -3046,16 +3053,16 @@ function Oi(e) {
|
|
|
3046
3053
|
unit: t.unit
|
|
3047
3054
|
} : void 0;
|
|
3048
3055
|
}),
|
|
3049
|
-
resolveFrameNumber:
|
|
3056
|
+
resolveFrameNumber: Oi(() => n.frameNumber, () => n.frameNumbers, () => _.value)
|
|
3050
3057
|
};
|
|
3051
3058
|
}
|
|
3052
|
-
var
|
|
3053
|
-
function
|
|
3059
|
+
var Mi = 1e-6;
|
|
3060
|
+
function Ni(e) {
|
|
3054
3061
|
return Number.isFinite(e) ? Math.max(1, e) : 1;
|
|
3055
3062
|
}
|
|
3056
|
-
function
|
|
3057
|
-
let i =
|
|
3058
|
-
if (!(d >
|
|
3063
|
+
function Pi({ naturalWidth: e, naturalHeight: t, availableWidth: n, rotation: r }) {
|
|
3064
|
+
let i = Ni(e), a = Ni(t), o = Ni(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;
|
|
3065
|
+
if (!(d > Mi && Math.abs(d - 360) > Mi)) {
|
|
3059
3066
|
let e = Math.max(1, Math.ceil(i / o)), t = o, n = a * e;
|
|
3060
3067
|
return {
|
|
3061
3068
|
textWidth: t,
|
|
@@ -3080,7 +3087,7 @@ function ji({ naturalWidth: e, naturalHeight: t, availableWidth: n, rotation: r
|
|
|
3080
3087
|
}
|
|
3081
3088
|
//#endregion
|
|
3082
3089
|
//#region src/components/core/useWaveformPresentation.ts
|
|
3083
|
-
function
|
|
3090
|
+
function Fi(e) {
|
|
3084
3091
|
let { props: n, observedWidth: r, observedHeight: i, measuredTitleWidth: a, measuredTitleHeight: o, internalHiddenSeriesIds: s, paginationBandHeight: c } = e, l = t(() => Number.isFinite(n.width) ? Math.max(0, n.width ?? 0) : void 0), u = t(() => Number.isFinite(n.height) ? Math.max(180, n.height ?? 0) : void 0), d = t(() => r.value > 0 ? r.value : l.value ?? 0), f = t(() => i.value > 0 ? i.value : u.value ?? 180), p = t(() => ({
|
|
3085
3092
|
width: l.value === void 0 ? "100%" : `${l.value}px`,
|
|
3086
3093
|
height: u.value === void 0 ? "100%" : `${u.value}px`
|
|
@@ -3088,9 +3095,9 @@ function Mi(e) {
|
|
|
3088
3095
|
let e = n.zeroLine.width;
|
|
3089
3096
|
return {
|
|
3090
3097
|
visible: n.zeroLine.visible === !0,
|
|
3091
|
-
color: n.zeroLine.color ||
|
|
3092
|
-
width: typeof e == "number" && Number.isFinite(e) && e > 0 ? e :
|
|
3093
|
-
dash: n.zeroLine.dash ??
|
|
3098
|
+
color: n.zeroLine.color || Gt.COLOR,
|
|
3099
|
+
width: typeof e == "number" && Number.isFinite(e) && e > 0 ? e : Gt.WIDTH,
|
|
3100
|
+
dash: n.zeroLine.dash ?? Gt.DASH
|
|
3094
3101
|
};
|
|
3095
3102
|
}), _ = 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) => {
|
|
3096
3103
|
let t = n.legend.orientation ?? "auto";
|
|
@@ -3112,10 +3119,10 @@ function Mi(e) {
|
|
|
3112
3119
|
fontStyle: n.title?.textStyle?.fontStyle ?? "normal",
|
|
3113
3120
|
textDecoration: n.title?.textStyle?.textDecoration ?? "none",
|
|
3114
3121
|
letterSpacing: n.title?.textStyle?.letterSpacing ?? "normal",
|
|
3115
|
-
lineHeight: String(
|
|
3122
|
+
lineHeight: String(Ht)
|
|
3116
3123
|
})), A = t(() => {
|
|
3117
3124
|
let e = Number.parseFloat(n.title?.textStyle?.letterSpacing ?? ""), t = Number.isFinite(e) ? Math.max(0, C.value.length - 1) * e : 0;
|
|
3118
|
-
return Math.max(1, C.value.length * E.value *
|
|
3125
|
+
return Math.max(1, C.value.length * E.value * Vt + t);
|
|
3119
3126
|
}), j = t(() => {
|
|
3120
3127
|
let e = d.value - 48;
|
|
3121
3128
|
return e > 0 ? e : A.value;
|
|
@@ -3125,14 +3132,14 @@ function Mi(e) {
|
|
|
3125
3132
|
maxWidth: O.value ? "none" : `${j.value}px`,
|
|
3126
3133
|
whiteSpace: O.value ? "nowrap" : "normal",
|
|
3127
3134
|
overflowWrap: O.value ? "normal" : "anywhere"
|
|
3128
|
-
})), N = t(() =>
|
|
3135
|
+
})), N = t(() => Pi({
|
|
3129
3136
|
naturalWidth: a.value || A.value,
|
|
3130
3137
|
naturalHeight: o.value || E.value * 1.2,
|
|
3131
3138
|
availableWidth: j.value,
|
|
3132
3139
|
rotation: D.value
|
|
3133
3140
|
})), P = t(() => w.value ? N.value.areaHeight : 0), F = (e, t) => typeof e == "number" && Number.isFinite(e) && e >= 0 ? e : t, I = t(() => ({
|
|
3134
|
-
top: F(n.plotMargin.top,
|
|
3135
|
-
bottom: F(n.plotMargin.bottom,
|
|
3141
|
+
top: F(n.plotMargin.top, zt.top),
|
|
3142
|
+
bottom: F(n.plotMargin.bottom, zt.bottom)
|
|
3136
3143
|
})), L = t(() => I.value.top), R = t(() => Math.max(0, f.value - P.value - c.value));
|
|
3137
3144
|
return {
|
|
3138
3145
|
fixedWidth: l,
|
|
@@ -3181,66 +3188,66 @@ function Mi(e) {
|
|
|
3181
3188
|
}
|
|
3182
3189
|
//#endregion
|
|
3183
3190
|
//#region src/core/samplingReferenceValues.ts
|
|
3184
|
-
function
|
|
3191
|
+
function Ii(e, t) {
|
|
3185
3192
|
return t === 0 ? 0 : Number.isFinite(e) ? Math.min(t, Math.max(1, Math.floor(e))) : t;
|
|
3186
3193
|
}
|
|
3187
|
-
function
|
|
3194
|
+
function Li(e, t, n, r) {
|
|
3188
3195
|
let i = r - n;
|
|
3189
3196
|
return {
|
|
3190
3197
|
start: n + Math.floor(e * i / t),
|
|
3191
3198
|
end: n + Math.floor((e + 1) * i / t)
|
|
3192
3199
|
};
|
|
3193
3200
|
}
|
|
3194
|
-
function
|
|
3201
|
+
function Ri(e, t) {
|
|
3195
3202
|
e[e.length - 1] !== t && e.push(t);
|
|
3196
3203
|
}
|
|
3197
|
-
function
|
|
3204
|
+
function zi(e, t, n) {
|
|
3198
3205
|
if (e <= t) return Array.from({ length: e }, (e, t) => t);
|
|
3199
3206
|
if (t === 1) return [0];
|
|
3200
3207
|
if (t === 2) return [0, e - 1];
|
|
3201
3208
|
let r = [0];
|
|
3202
|
-
return n().forEach((e) =>
|
|
3209
|
+
return n().forEach((e) => Ri(r, e)), Ri(r, e - 1), r;
|
|
3203
3210
|
}
|
|
3204
|
-
function
|
|
3211
|
+
function Bi(e, t, n) {
|
|
3205
3212
|
let r = n === "minmax" ? Math.floor((t - 2) / 2) : Math.max(0, t - 2);
|
|
3206
|
-
return
|
|
3213
|
+
return zi(e.length, t, () => {
|
|
3207
3214
|
if (!r) return [];
|
|
3208
3215
|
let t = [];
|
|
3209
3216
|
for (let i = 0; i < r; i += 1) {
|
|
3210
|
-
let a =
|
|
3217
|
+
let a = Li(i, r, 1, e.length - 1), o = a.start, s = a.start;
|
|
3211
3218
|
for (let t = a.start + 1; t < a.end; t += 1) e[t] < e[o] && (o = t), e[t] > e[s] && (s = t);
|
|
3212
|
-
n === "min" ?
|
|
3219
|
+
n === "min" ? Ri(t, o) : n === "max" ? Ri(t, s) : o <= s ? (Ri(t, o), Ri(t, s)) : (Ri(t, s), Ri(t, o));
|
|
3213
3220
|
}
|
|
3214
3221
|
return t;
|
|
3215
3222
|
});
|
|
3216
3223
|
}
|
|
3217
|
-
function
|
|
3224
|
+
function Vi(e, t) {
|
|
3218
3225
|
let n = Math.floor((t - 2) / 4);
|
|
3219
|
-
return
|
|
3226
|
+
return zi(e.length, t, () => {
|
|
3220
3227
|
if (!n) return [];
|
|
3221
3228
|
let t = [];
|
|
3222
3229
|
for (let r = 0; r < n; r += 1) {
|
|
3223
|
-
let i =
|
|
3230
|
+
let i = Li(r, n, 1, e.length - 1), a = i.start, o = i.start;
|
|
3224
3231
|
for (let t = i.start + 1; t < i.end; t += 1) e[t] < e[a] && (a = t), e[t] > e[o] && (o = t);
|
|
3225
3232
|
[
|
|
3226
3233
|
i.start,
|
|
3227
3234
|
a,
|
|
3228
3235
|
o,
|
|
3229
3236
|
i.end - 1
|
|
3230
|
-
].sort((e, t) => e - t).forEach((e) =>
|
|
3237
|
+
].sort((e, t) => e - t).forEach((e) => Ri(t, e));
|
|
3231
3238
|
}
|
|
3232
3239
|
return t;
|
|
3233
3240
|
});
|
|
3234
3241
|
}
|
|
3235
|
-
function
|
|
3236
|
-
return
|
|
3242
|
+
function Hi(e, t, n) {
|
|
3243
|
+
return zi(e.length, n, () => {
|
|
3237
3244
|
let r = (e.length - 2) / (n - 2), i = [], a = 0;
|
|
3238
3245
|
for (let o = 0; o < n - 2; o += 1) {
|
|
3239
3246
|
let s = Math.min(e.length, Math.floor((o + 1) * r) + 1), c = Math.min(e.length, Math.floor((o + 2) * r) + 1), l = 0, u = 0;
|
|
3240
3247
|
for (let n = s; n < c; n += 1) l += e[n], u += t[n];
|
|
3241
3248
|
let d = c - s;
|
|
3242
3249
|
d ? (l /= d, u /= d) : (l = e[e.length - 1], u = t[t.length - 1]);
|
|
3243
|
-
let f =
|
|
3250
|
+
let f = Li(o, n - 2, 1, e.length - 1), p = f.start, m = -1;
|
|
3244
3251
|
for (let n = f.start; n < f.end; n += 1) {
|
|
3245
3252
|
let r = Math.abs((e[a] - l) * (t[n] - t[a]) - (e[a] - e[n]) * (u - t[a]));
|
|
3246
3253
|
r > m && (m = r, p = n);
|
|
@@ -3250,10 +3257,10 @@ function zi(e, t, n) {
|
|
|
3250
3257
|
return i;
|
|
3251
3258
|
});
|
|
3252
3259
|
}
|
|
3253
|
-
function
|
|
3254
|
-
let i =
|
|
3260
|
+
function Ui(e, t, n, r) {
|
|
3261
|
+
let i = Ii(n, e.length), a = new Float64Array(i), o = new Float64Array(i);
|
|
3255
3262
|
for (let n = 0; n < i; n += 1) {
|
|
3256
|
-
let s =
|
|
3263
|
+
let s = Li(n, i, 0, e.length);
|
|
3257
3264
|
for (let r = s.start; r < s.end; r += 1) a[n] += e[r], o[n] += t[r];
|
|
3258
3265
|
let c = s.end - s.start;
|
|
3259
3266
|
a[n] /= c, r === "average" && (o[n] /= c);
|
|
@@ -3264,10 +3271,10 @@ function Bi(e, t, n, r) {
|
|
|
3264
3271
|
y: o
|
|
3265
3272
|
};
|
|
3266
3273
|
}
|
|
3267
|
-
function
|
|
3274
|
+
function Wi(e, t, n, r) {
|
|
3268
3275
|
if (e.length !== t.length) throw Error("x and y must have the same length");
|
|
3269
|
-
if (n === "average" || n === "sum") return
|
|
3270
|
-
let i =
|
|
3276
|
+
if (n === "average" || n === "sum") return Ui(e, t, r, n);
|
|
3277
|
+
let i = Ii(r, e.length), a = n === "none" || e.length <= i ? Array.from({ length: e.length }, (e, t) => t) : n === "peak" ? Vi(t, i) : n === "lttb" ? Hi(e, t, i) : Bi(t, i, n);
|
|
3271
3278
|
return {
|
|
3272
3279
|
kind: "source-indexes",
|
|
3273
3280
|
sourceIndexes: Uint32Array.from(a)
|
|
@@ -3275,41 +3282,41 @@ function Vi(e, t, n, r) {
|
|
|
3275
3282
|
}
|
|
3276
3283
|
//#endregion
|
|
3277
3284
|
//#region src/core/workerSampling/javascriptBackend.ts
|
|
3278
|
-
var
|
|
3285
|
+
var Gi = {
|
|
3279
3286
|
kind: "javascript",
|
|
3280
3287
|
sample(e) {
|
|
3281
|
-
return
|
|
3288
|
+
return Wi(e.x, e.y, e.strategy, e.targetPointCount);
|
|
3282
3289
|
}
|
|
3283
|
-
},
|
|
3284
|
-
function
|
|
3290
|
+
}, Ki = 8 * 1024 * 1024;
|
|
3291
|
+
function qi(e, t) {
|
|
3285
3292
|
return t === 0 ? 0 : Number.isFinite(e) ? Math.min(t, Math.max(1, Math.floor(e))) : t;
|
|
3286
3293
|
}
|
|
3287
|
-
function
|
|
3294
|
+
function Ji(e, t, n, r) {
|
|
3288
3295
|
let i = r - n;
|
|
3289
3296
|
return {
|
|
3290
3297
|
start: n + Math.floor(e * i / t),
|
|
3291
3298
|
end: n + Math.floor((e + 1) * i / t)
|
|
3292
3299
|
};
|
|
3293
3300
|
}
|
|
3294
|
-
function
|
|
3301
|
+
function Yi(e, t) {
|
|
3295
3302
|
e[e.length - 1] !== t && e.push(t);
|
|
3296
3303
|
}
|
|
3297
|
-
function
|
|
3304
|
+
function Xi(e) {
|
|
3298
3305
|
return "minimumIndexes" in e ? e.minimumIndexes.byteLength + e.maximumIndexes.byteLength : e.x.byteLength + e.y.byteLength + e.count.byteLength;
|
|
3299
3306
|
}
|
|
3300
|
-
function
|
|
3307
|
+
function Zi(e, t) {
|
|
3301
3308
|
let n = 1;
|
|
3302
3309
|
for (; n * 2 <= t && e % (n * 2) == 0;) n *= 2;
|
|
3303
3310
|
return n;
|
|
3304
3311
|
}
|
|
3305
|
-
var
|
|
3312
|
+
var Qi = class {
|
|
3306
3313
|
points;
|
|
3307
3314
|
extremaLayers = [];
|
|
3308
3315
|
sumLayers = [];
|
|
3309
3316
|
indexBytes = 0;
|
|
3310
3317
|
maxBytes;
|
|
3311
3318
|
constructor(e, t = {}) {
|
|
3312
|
-
this.points = e, this.maxBytes = Number.isFinite(t.maxBytes) ? Math.max(0, Math.floor(t.maxBytes ?? 0)) :
|
|
3319
|
+
this.points = e, this.maxBytes = Number.isFinite(t.maxBytes) ? Math.max(0, Math.floor(t.maxBytes ?? 0)) : Ki;
|
|
3313
3320
|
}
|
|
3314
3321
|
get byteLength() {
|
|
3315
3322
|
return this.indexBytes;
|
|
@@ -3318,7 +3325,7 @@ var Yi = class {
|
|
|
3318
3325
|
this.extremaLayers.length = 0, this.sumLayers.length = 0, this.indexBytes = 0;
|
|
3319
3326
|
}
|
|
3320
3327
|
sample(e, t, n, r) {
|
|
3321
|
-
let i = Math.max(0, Math.min(this.points.length, Math.floor(e))), a = Math.max(i, Math.min(this.points.length, Math.floor(t))), o = a - i, s =
|
|
3328
|
+
let i = Math.max(0, Math.min(this.points.length, Math.floor(e))), a = Math.max(i, Math.min(this.points.length, Math.floor(t))), o = a - i, s = qi(r, o);
|
|
3322
3329
|
if (n !== "lttb") return n === "average" || n === "sum" ? this.aggregate(i, a, s, n) : n === "none" || o <= s ? this.allIndexes(i, a) : s === 1 ? this.indexes([i]) : s === 2 ? this.indexes([i, a - 1]) : this.extrema(i, a, s, n);
|
|
3323
3330
|
}
|
|
3324
3331
|
allIndexes(e, t) {
|
|
@@ -3338,24 +3345,24 @@ var Yi = class {
|
|
|
3338
3345
|
if (i === 0) return this.indexes([e, t - 1]);
|
|
3339
3346
|
let a = [e];
|
|
3340
3347
|
for (let n = 0; n < i; n += 1) {
|
|
3341
|
-
let o =
|
|
3348
|
+
let o = Ji(n, i, e + 1, t - 1), s = this.queryExtrema(o.start, o.end);
|
|
3342
3349
|
if (!s) return;
|
|
3343
|
-
if (r === "min")
|
|
3344
|
-
else if (r === "max")
|
|
3345
|
-
else if (r === "minmax") s.minimum <= s.maximum ? (
|
|
3350
|
+
if (r === "min") Yi(a, s.minimum);
|
|
3351
|
+
else if (r === "max") Yi(a, s.maximum);
|
|
3352
|
+
else if (r === "minmax") s.minimum <= s.maximum ? (Yi(a, s.minimum), Yi(a, s.maximum)) : (Yi(a, s.maximum), Yi(a, s.minimum));
|
|
3346
3353
|
else for (let e of [
|
|
3347
3354
|
o.start,
|
|
3348
3355
|
s.minimum,
|
|
3349
3356
|
s.maximum,
|
|
3350
3357
|
o.end - 1
|
|
3351
|
-
].sort((e, t) => e - t))
|
|
3358
|
+
].sort((e, t) => e - t)) Yi(a, e);
|
|
3352
3359
|
}
|
|
3353
|
-
return
|
|
3360
|
+
return Yi(a, t - 1), this.indexes(a);
|
|
3354
3361
|
}
|
|
3355
3362
|
aggregate(e, t, n, r) {
|
|
3356
3363
|
let i = new Float64Array(n), a = new Float64Array(n);
|
|
3357
3364
|
for (let o = 0; o < n; o += 1) {
|
|
3358
|
-
let s =
|
|
3365
|
+
let s = Ji(o, n, e, t), c = this.querySum(s.start, s.end);
|
|
3359
3366
|
if (!c || c.count === 0) return;
|
|
3360
3367
|
i[o] = c.x / c.count, a[o] = r === "average" ? c.y / c.count : c.y;
|
|
3361
3368
|
}
|
|
@@ -3370,7 +3377,7 @@ var Yi = class {
|
|
|
3370
3377
|
if (!this.ensureExtrema(n)) return;
|
|
3371
3378
|
let r = e, i = e;
|
|
3372
3379
|
for (let n = e; n < t;) {
|
|
3373
|
-
let e =
|
|
3380
|
+
let e = Zi(n, t - n), a = Math.floor(Math.log2(e)), o = n / e, s = this.extremaLayers[a], c = s ? s.minimumIndexes[o] : n, l = s ? s.maximumIndexes[o] : n;
|
|
3374
3381
|
this.isMinimum(c, r) && (r = c), this.isMaximum(l, i) && (i = l), n += e;
|
|
3375
3382
|
}
|
|
3376
3383
|
return {
|
|
@@ -3383,7 +3390,7 @@ var Yi = class {
|
|
|
3383
3390
|
if (!this.ensureSum(n)) return;
|
|
3384
3391
|
let r = 0, i = 0, a = 0;
|
|
3385
3392
|
for (let n = e; n < t;) {
|
|
3386
|
-
let e =
|
|
3393
|
+
let e = Zi(n, t - n), o = Math.floor(Math.log2(e)), s = n / e, c = this.sumLayers[o];
|
|
3387
3394
|
if (c) r += c.x[s], i += c.y[s], a += c.count[s];
|
|
3388
3395
|
else {
|
|
3389
3396
|
let e = this.points[n];
|
|
@@ -3404,7 +3411,7 @@ var Yi = class {
|
|
|
3404
3411
|
minimumIndexes: new Uint32Array(e),
|
|
3405
3412
|
maximumIndexes: new Uint32Array(e)
|
|
3406
3413
|
};
|
|
3407
|
-
if (!this.reserve(
|
|
3414
|
+
if (!this.reserve(Xi(n))) return !1;
|
|
3408
3415
|
let r = this.extremaLayers[t - 1];
|
|
3409
3416
|
for (let t = 0; t < e; t += 1) {
|
|
3410
3417
|
let e = t * 2, i = e + 1, a = r ? r.minimumIndexes[e] : e, o = r ? r.maximumIndexes[e] : e, s = r ? i < r.minimumIndexes.length : i < this.points.length, c = r && s ? r.minimumIndexes[i] : i, l = r && s ? r.maximumIndexes[i] : i;
|
|
@@ -3422,7 +3429,7 @@ var Yi = class {
|
|
|
3422
3429
|
y: new Float64Array(e),
|
|
3423
3430
|
count: new Uint32Array(e)
|
|
3424
3431
|
};
|
|
3425
|
-
if (!this.reserve(
|
|
3432
|
+
if (!this.reserve(Xi(n))) return !1;
|
|
3426
3433
|
let r = this.sumLayers[t - 1];
|
|
3427
3434
|
for (let t = 0; t < e; t += 1) {
|
|
3428
3435
|
let e = t * 2, i = e + 1;
|
|
@@ -3447,8 +3454,8 @@ var Yi = class {
|
|
|
3447
3454
|
let n = this.points[e], r = this.points[t];
|
|
3448
3455
|
return n.y > r.y || n.y === r.y && e < t;
|
|
3449
3456
|
}
|
|
3450
|
-
},
|
|
3451
|
-
function
|
|
3457
|
+
}, $i = 1e3, ea = L((e) => e.x);
|
|
3458
|
+
function ta(e) {
|
|
3452
3459
|
let t = [], n = !0, r = -Infinity;
|
|
3453
3460
|
for (let i of e) !Number.isFinite(i.x) || !Number.isFinite(i.y) || (i.x < r && (n = !1), r = i.x, t.push({
|
|
3454
3461
|
x: i.x,
|
|
@@ -3459,7 +3466,7 @@ function Qi(e) {
|
|
|
3459
3466
|
}));
|
|
3460
3467
|
return n || t.sort((e, t) => e.x - t.x), t;
|
|
3461
3468
|
}
|
|
3462
|
-
function
|
|
3469
|
+
function na(e, t) {
|
|
3463
3470
|
let n = Infinity, r = -Infinity, i = Infinity, a = -Infinity;
|
|
3464
3471
|
for (let t of e) n = Math.min(n, t.x), r = Math.max(r, t.x), i = Math.min(i, t.y), a = Math.max(a, t.y);
|
|
3465
3472
|
return {
|
|
@@ -3469,7 +3476,7 @@ function $i(e, t) {
|
|
|
3469
3476
|
yDomain: e.length ? [i, a] : null
|
|
3470
3477
|
};
|
|
3471
3478
|
}
|
|
3472
|
-
function
|
|
3479
|
+
function ra(e, t, n = e.length) {
|
|
3473
3480
|
let r = Infinity, i = -Infinity, a = Infinity, o = -Infinity;
|
|
3474
3481
|
for (let n = 0; n < e.length; n += 1) r = Math.min(r, e[n]), i = Math.max(i, e[n]), a = Math.min(a, t[n]), o = Math.max(o, t[n]);
|
|
3475
3482
|
return {
|
|
@@ -3479,39 +3486,39 @@ function ea(e, t, n = e.length) {
|
|
|
3479
3486
|
yDomain: e.length ? [a, o] : null
|
|
3480
3487
|
};
|
|
3481
3488
|
}
|
|
3482
|
-
function
|
|
3489
|
+
function ia(e, t) {
|
|
3483
3490
|
return e ? e.revision === t ? "ok" : "stale-revision" : "not-found";
|
|
3484
3491
|
}
|
|
3485
|
-
function
|
|
3492
|
+
function aa(e) {
|
|
3486
3493
|
return e === "auto" ? "peak" : e;
|
|
3487
3494
|
}
|
|
3488
|
-
function
|
|
3495
|
+
function oa(e) {
|
|
3489
3496
|
if (Number.isFinite(e.maxPointCount) && (e.maxPointCount ?? 0) >= 1) return Math.floor(e.maxPointCount);
|
|
3490
3497
|
let t = Number.isFinite(e.plotWidth) ? Math.max(0, e.plotWidth) : 0, n = Number.isFinite(e.maxPointsPerPixel) ? Math.max(0, e.maxPointsPerPixel ?? 0) : 4;
|
|
3491
3498
|
return Math.max(1, Math.floor(t * n));
|
|
3492
3499
|
}
|
|
3493
|
-
function
|
|
3500
|
+
function sa(e, t) {
|
|
3494
3501
|
if (e.mode === "raw") return !0;
|
|
3495
3502
|
if (e.mode !== "auto") return !1;
|
|
3496
|
-
let n = Number.isFinite(e.autoThreshold) ? Math.max(1, Math.floor(e.autoThreshold ?? 0)) :
|
|
3503
|
+
let n = Number.isFinite(e.autoThreshold) ? Math.max(1, Math.floor(e.autoThreshold ?? 0)) : $i;
|
|
3497
3504
|
if (!e.previousSelectedMode) return t <= n;
|
|
3498
3505
|
let r = Number.isFinite(e.autoHysteresis) ? Math.max(0, Math.floor(e.autoHysteresis ?? 0)) : 0;
|
|
3499
3506
|
return e.previousSelectedMode === "raw" ? t <= n + r : t <= Math.max(0, n - r);
|
|
3500
3507
|
}
|
|
3501
|
-
function
|
|
3508
|
+
function ca(e, t) {
|
|
3502
3509
|
let n = e[0], r = e.at(-1);
|
|
3503
|
-
return Number.isFinite(t) && n && r && t >= n.x && t <= r.x ? e[
|
|
3510
|
+
return Number.isFinite(t) && n && r && t >= n.x && t <= r.x ? e[ea.center(e, t)] : void 0;
|
|
3504
3511
|
}
|
|
3505
|
-
function
|
|
3512
|
+
function la(e) {
|
|
3506
3513
|
return e ? e.kind === "source-indexes" ? e.sourceIndexes.length : e.x.length : 0;
|
|
3507
3514
|
}
|
|
3508
|
-
function
|
|
3515
|
+
function ua(e, t) {
|
|
3509
3516
|
return e.kind === "aggregates" ? e : {
|
|
3510
3517
|
kind: "source-indexes",
|
|
3511
3518
|
sourceIndexes: Uint32Array.from(e.sourceIndexes, (e) => e + t)
|
|
3512
3519
|
};
|
|
3513
3520
|
}
|
|
3514
|
-
function
|
|
3521
|
+
function da(e, t, n, r, i) {
|
|
3515
3522
|
return [
|
|
3516
3523
|
e.datasetId,
|
|
3517
3524
|
e.revision,
|
|
@@ -3531,14 +3538,14 @@ function ca(e, t, n, r, i) {
|
|
|
3531
3538
|
e.errorBarMinSpacing ?? 0
|
|
3532
3539
|
].join("\0");
|
|
3533
3540
|
}
|
|
3534
|
-
function
|
|
3541
|
+
function fa(e, t, n, r, i, a, o, s) {
|
|
3535
3542
|
return {
|
|
3536
3543
|
seriesId: e.seriesId,
|
|
3537
3544
|
datasetId: e.datasetId,
|
|
3538
3545
|
mode: e.mode,
|
|
3539
3546
|
selectedMode: i,
|
|
3540
3547
|
backend: r,
|
|
3541
|
-
strategy:
|
|
3548
|
+
strategy: aa(e.strategy),
|
|
3542
3549
|
sourcePointCount: t,
|
|
3543
3550
|
visiblePointCount: n,
|
|
3544
3551
|
renderedPointCount: o,
|
|
@@ -3554,18 +3561,18 @@ function la(e, t, n, r, i, a, o, s) {
|
|
|
3554
3561
|
}
|
|
3555
3562
|
//#endregion
|
|
3556
3563
|
//#region src/core/workerSampling/repositoryDataset.ts
|
|
3557
|
-
function
|
|
3564
|
+
function pa(e) {
|
|
3558
3565
|
return e?.y.length ?? 0;
|
|
3559
3566
|
}
|
|
3560
|
-
function
|
|
3567
|
+
function ma(e, t) {
|
|
3561
3568
|
return e.x ? e.x[t] : e.sampleStartTime + (e.sampleSourceIndexes?.[t] ?? t) / e.sampleRate;
|
|
3562
3569
|
}
|
|
3563
|
-
function
|
|
3570
|
+
function ha(e, t) {
|
|
3564
3571
|
let n = (t, n) => {
|
|
3565
|
-
let r = 0, i =
|
|
3572
|
+
let r = 0, i = pa(e);
|
|
3566
3573
|
for (; r < i;) {
|
|
3567
3574
|
let a = r + Math.floor((i - r) / 2);
|
|
3568
|
-
(n ?
|
|
3575
|
+
(n ? ma(e, a) <= t : ma(e, a) < t) ? r = a + 1 : i = a;
|
|
3569
3576
|
}
|
|
3570
3577
|
return r;
|
|
3571
3578
|
}, r = Math.min(t[0], t[1]), i = Math.max(t[0], t[1]);
|
|
@@ -3574,13 +3581,13 @@ function fa(e, t) {
|
|
|
3574
3581
|
end: n(i, !0)
|
|
3575
3582
|
};
|
|
3576
3583
|
}
|
|
3577
|
-
function
|
|
3578
|
-
return e.x ? e.x.subarray(t, n) : Float64Array.from({ length: n - t }, (n, r) =>
|
|
3584
|
+
function ga(e, t, n) {
|
|
3585
|
+
return e.x ? e.x.subarray(t, n) : Float64Array.from({ length: n - t }, (n, r) => ma(e, t + r));
|
|
3579
3586
|
}
|
|
3580
|
-
function
|
|
3587
|
+
function _a(e) {
|
|
3581
3588
|
return e?.kind === "wasm" && "registerDataset" in e && "disposeDataset" in e && "disposeAllDatasets" in e && "datasetIndexBytes" in e && "registerSamples" in e && "sampleDataset" in e;
|
|
3582
3589
|
}
|
|
3583
|
-
function
|
|
3590
|
+
function va(e, t) {
|
|
3584
3591
|
let n = [], r = Math.min(e.length, t.length);
|
|
3585
3592
|
for (let i = 0; i < r; i += 1) Number.isFinite(e[i]) && Number.isFinite(t[i]) && n.push(i);
|
|
3586
3593
|
return n.sort((t, n) => e[t] - e[n] || t - n), {
|
|
@@ -3588,14 +3595,14 @@ function ha(e, t) {
|
|
|
3588
3595
|
y: Float64Array.from(n, (e) => t[e])
|
|
3589
3596
|
};
|
|
3590
3597
|
}
|
|
3591
|
-
function
|
|
3598
|
+
function ya(e, t, n, r) {
|
|
3592
3599
|
if (t?.kind === "typed") {
|
|
3593
|
-
let e =
|
|
3600
|
+
let e = va(t.x, t.y);
|
|
3594
3601
|
return {
|
|
3595
3602
|
x: e.x,
|
|
3596
3603
|
y: e.y,
|
|
3597
3604
|
revision: n,
|
|
3598
|
-
metrics:
|
|
3605
|
+
metrics: ra(e.x, e.y, Math.max(t.x.length, t.y.length))
|
|
3599
3606
|
};
|
|
3600
3607
|
}
|
|
3601
3608
|
if (t?.kind === "samples") {
|
|
@@ -3629,35 +3636,35 @@ function ga(e, t, n, r) {
|
|
|
3629
3636
|
}
|
|
3630
3637
|
};
|
|
3631
3638
|
}
|
|
3632
|
-
let i =
|
|
3639
|
+
let i = ta(e ?? t?.points ?? []);
|
|
3633
3640
|
return {
|
|
3634
3641
|
x: Float64Array.from(i, (e) => e.x),
|
|
3635
3642
|
y: Float64Array.from(i, (e) => e.y),
|
|
3636
3643
|
points: i,
|
|
3637
3644
|
revision: n,
|
|
3638
|
-
metrics:
|
|
3639
|
-
index: new
|
|
3645
|
+
metrics: na(i, e?.length ?? t?.points.length ?? 0),
|
|
3646
|
+
index: new Qi(i, { maxBytes: r })
|
|
3640
3647
|
};
|
|
3641
3648
|
}
|
|
3642
|
-
function
|
|
3643
|
-
!
|
|
3649
|
+
function ba(e, t, n) {
|
|
3650
|
+
!_a(e) || t.wasmDatasetHandle !== void 0 || (t.wasmDatasetHandle = t.x ? e.registerDataset(t.x, t.y, n) : e.registerSamples(t.y, t.sampleSourceIndexes, t.sampleStartTime, t.sampleRate, n), t.wasmIndexBytes = e.datasetIndexBytes(t.wasmDatasetHandle));
|
|
3644
3651
|
}
|
|
3645
|
-
function
|
|
3646
|
-
t.index?.dispose(), t.wasmDatasetHandle !== void 0 &&
|
|
3652
|
+
function xa(e, t) {
|
|
3653
|
+
t.index?.dispose(), t.wasmDatasetHandle !== void 0 && _a(e) && e.disposeDataset(t.wasmDatasetHandle);
|
|
3647
3654
|
}
|
|
3648
3655
|
//#endregion
|
|
3649
3656
|
//#region src/core/workerSampling/samplingCache.ts
|
|
3650
|
-
var
|
|
3651
|
-
function
|
|
3657
|
+
var Sa = 96, Ca = 16 * 1024 * 1024;
|
|
3658
|
+
function wa(e) {
|
|
3652
3659
|
return e.kind === "source-indexes" ? e.sourceIndexes.byteLength : e.x.byteLength + e.y.byteLength;
|
|
3653
3660
|
}
|
|
3654
|
-
var
|
|
3661
|
+
var Ta = class {
|
|
3655
3662
|
entries = /* @__PURE__ */ new Map();
|
|
3656
3663
|
bytes = 0;
|
|
3657
3664
|
maxEntries;
|
|
3658
3665
|
maxBytes;
|
|
3659
3666
|
constructor(e = {}) {
|
|
3660
|
-
this.maxEntries = Number.isFinite(e.maxEntries) ? Math.max(0, Math.floor(e.maxEntries ?? 0)) :
|
|
3667
|
+
this.maxEntries = Number.isFinite(e.maxEntries) ? Math.max(0, Math.floor(e.maxEntries ?? 0)) : Sa, this.maxBytes = Number.isFinite(e.maxBytes) ? Math.max(0, Math.floor(e.maxBytes ?? 0)) : Ca;
|
|
3661
3668
|
}
|
|
3662
3669
|
get metrics() {
|
|
3663
3670
|
return {
|
|
@@ -3672,7 +3679,7 @@ var Sa = class {
|
|
|
3672
3679
|
if (t) return this.entries.delete(e), this.entries.set(e, t), t.output;
|
|
3673
3680
|
}
|
|
3674
3681
|
set(e, t) {
|
|
3675
|
-
let n =
|
|
3682
|
+
let n = wa(t);
|
|
3676
3683
|
if (n > this.maxBytes || this.maxEntries === 0) return;
|
|
3677
3684
|
let r = this.entries.get(e);
|
|
3678
3685
|
for (r && (this.bytes -= r.bytes, this.entries.delete(e)), this.entries.set(e, {
|
|
@@ -3692,14 +3699,14 @@ var Sa = class {
|
|
|
3692
3699
|
clear() {
|
|
3693
3700
|
this.entries.clear(), this.bytes = 0;
|
|
3694
3701
|
}
|
|
3695
|
-
},
|
|
3702
|
+
}, Ea = class {
|
|
3696
3703
|
datasets = /* @__PURE__ */ new Map();
|
|
3697
3704
|
javascriptBackend;
|
|
3698
3705
|
cache;
|
|
3699
3706
|
indexMaxBytes;
|
|
3700
3707
|
wasmBackend;
|
|
3701
3708
|
constructor(e = {}) {
|
|
3702
|
-
this.javascriptBackend = e.javascriptBackend ??
|
|
3709
|
+
this.javascriptBackend = e.javascriptBackend ?? Gi, this.wasmBackend = e.wasmBackend, this.indexMaxBytes = e.indexMaxBytes, this.cache = new Ta({
|
|
3703
3710
|
maxEntries: e.cacheMaxEntries,
|
|
3704
3711
|
maxBytes: e.cacheMaxBytes
|
|
3705
3712
|
});
|
|
@@ -3712,9 +3719,9 @@ var Sa = class {
|
|
|
3712
3719
|
};
|
|
3713
3720
|
}
|
|
3714
3721
|
setWasmBackend(e) {
|
|
3715
|
-
this.wasmBackend && this.wasmBackend !== e &&
|
|
3722
|
+
this.wasmBackend && this.wasmBackend !== e && _a(this.wasmBackend) && (this.wasmBackend.disposeAllDatasets(), this.datasets.forEach((e) => {
|
|
3716
3723
|
e.wasmDatasetHandle = void 0, e.wasmIndexBytes = void 0;
|
|
3717
|
-
})), this.wasmBackend = e,
|
|
3724
|
+
})), this.wasmBackend = e, _a(e) && this.datasets.forEach((t) => ba(e, t, this.indexMaxBytes));
|
|
3718
3725
|
}
|
|
3719
3726
|
handle(e) {
|
|
3720
3727
|
switch (e.type) {
|
|
@@ -3730,15 +3737,15 @@ var Sa = class {
|
|
|
3730
3737
|
register(e, t, n, r) {
|
|
3731
3738
|
let i = this.datasets.get(e);
|
|
3732
3739
|
if (i) return this.datasetResponse(t, e, i, "stale-revision");
|
|
3733
|
-
let a =
|
|
3734
|
-
return
|
|
3740
|
+
let a = ya(n, r, 1, this.indexMaxBytes);
|
|
3741
|
+
return ba(this.wasmBackend, a, this.indexMaxBytes), this.datasets.set(e, a), this.datasetResponse(t, e, a, "ok");
|
|
3735
3742
|
}
|
|
3736
3743
|
replace(e, t, n, r, i) {
|
|
3737
|
-
let a = this.datasets.get(e), o =
|
|
3744
|
+
let a = this.datasets.get(e), o = ia(a, n);
|
|
3738
3745
|
if (o !== "ok" || !a) return this.datasetResponse(t, e, a, o);
|
|
3739
|
-
|
|
3740
|
-
let s =
|
|
3741
|
-
return
|
|
3746
|
+
xa(this.wasmBackend, a), this.cache.deleteDataset(e);
|
|
3747
|
+
let s = ya(r, i, a.revision + 1, this.indexMaxBytes);
|
|
3748
|
+
return ba(this.wasmBackend, s, this.indexMaxBytes), this.datasets.set(e, s), this.datasetResponse(t, e, s, "ok");
|
|
3742
3749
|
}
|
|
3743
3750
|
sample(e) {
|
|
3744
3751
|
return {
|
|
@@ -3748,28 +3755,28 @@ var Sa = class {
|
|
|
3748
3755
|
};
|
|
3749
3756
|
}
|
|
3750
3757
|
sampleSeries(e, t) {
|
|
3751
|
-
let n = performance.now(), r = this.datasets.get(t.datasetId), i =
|
|
3758
|
+
let n = performance.now(), r = this.datasets.get(t.datasetId), i = ia(r, t.revision);
|
|
3752
3759
|
if (i !== "ok" || !r) return this.sampleResponse(e, t, i, void 0, "unavailable", "sampled", 0, n, !1);
|
|
3753
|
-
let a =
|
|
3754
|
-
if (
|
|
3760
|
+
let a = ha(r, t.xDomain), o = a.end - a.start;
|
|
3761
|
+
if (sa(t, o)) return this.sampleResponse(e, t, "ok", {
|
|
3755
3762
|
kind: "source-indexes",
|
|
3756
3763
|
sourceIndexes: Uint32Array.from({ length: o }, (e, t) => a.start + t)
|
|
3757
3764
|
}, "raw", "raw", o, n, !1);
|
|
3758
3765
|
let s = t.mode === "wasm" || t.mode === "auto" && this.wasmBackend ? this.wasmBackend : this.javascriptBackend, c = !s && t.wasmFailureFallback === "javascript", l = s ?? (c ? this.javascriptBackend : void 0);
|
|
3759
3766
|
if (!l) return this.sampleResponse(e, t, "wasm-unavailable", void 0, "unavailable", "sampled", o, n, !1);
|
|
3760
|
-
let u =
|
|
3767
|
+
let u = aa(t.strategy), d = oa(t), f = da(t, a, u, d, l.kind), p = this.cache.get(f);
|
|
3761
3768
|
if (p) return this.sampleResponse(e, t, c ? "wasm-unavailable" : "ok", p, l.kind, "sampled", o, n, !0);
|
|
3762
|
-
let m = (l.kind === "wasm" ? r.wasmDatasetHandle !== void 0 &&
|
|
3763
|
-
x:
|
|
3769
|
+
let m = (l.kind === "wasm" ? r.wasmDatasetHandle !== void 0 && _a(l) ? l.sampleDataset(r.wasmDatasetHandle, a.start, a.end, u, d) : void 0 : r.index?.sample(a.start, a.end, u, d)) ?? ua(l.sample({
|
|
3770
|
+
x: ga(r, a.start, a.end),
|
|
3764
3771
|
y: r.y.subarray(a.start, a.end),
|
|
3765
3772
|
points: r.points?.slice(a.start, a.end) ?? [],
|
|
3766
3773
|
strategy: u,
|
|
3767
3774
|
targetPointCount: d
|
|
3768
3775
|
}), a.start);
|
|
3769
|
-
return this.cache.set(f, m), r.wasmDatasetHandle !== void 0 &&
|
|
3776
|
+
return this.cache.set(f, m), r.wasmDatasetHandle !== void 0 && _a(l) && (r.wasmIndexBytes = l.datasetIndexBytes(r.wasmDatasetHandle)), this.sampleResponse(e, t, c ? "wasm-unavailable" : "ok", m, l.kind, "sampled", o, n, !1);
|
|
3770
3777
|
}
|
|
3771
3778
|
sampleResponse(e, t, n, r, i, a, o, s, c) {
|
|
3772
|
-
let l =
|
|
3779
|
+
let l = fa(t, pa(this.datasets.get(t.datasetId)), o, i, a, performance.now() - s, la(r), c);
|
|
3773
3780
|
return l.requestId = e, {
|
|
3774
3781
|
seriesId: t.seriesId,
|
|
3775
3782
|
datasetId: t.datasetId,
|
|
@@ -3780,7 +3787,7 @@ var Sa = class {
|
|
|
3780
3787
|
};
|
|
3781
3788
|
}
|
|
3782
3789
|
findNearest(e, t, n, r) {
|
|
3783
|
-
let i = this.datasets.get(e), a =
|
|
3790
|
+
let i = this.datasets.get(e), a = ia(i, n);
|
|
3784
3791
|
return a !== "ok" || !i ? {
|
|
3785
3792
|
type: "find-nearest-point-response",
|
|
3786
3793
|
requestId: t,
|
|
@@ -3793,12 +3800,12 @@ var Sa = class {
|
|
|
3793
3800
|
datasetId: e,
|
|
3794
3801
|
revision: n,
|
|
3795
3802
|
status: a,
|
|
3796
|
-
point: i.points ?
|
|
3797
|
-
let e =
|
|
3798
|
-
if (!
|
|
3799
|
-
let t = Math.min(
|
|
3800
|
-
return Number.isFinite(r) &&
|
|
3801
|
-
x:
|
|
3803
|
+
point: i.points ? ca(i.points, r) : (() => {
|
|
3804
|
+
let e = ha(i, [r, r]);
|
|
3805
|
+
if (!pa(i) || r < ma(i, 0) || r > ma(i, pa(i) - 1)) return;
|
|
3806
|
+
let t = Math.min(pa(i) - 1, e.start), n = Math.max(0, t - 1), a = Math.abs(r - ma(i, n)) < Math.abs(ma(i, t) - r) ? n : t;
|
|
3807
|
+
return Number.isFinite(r) && pa(i) ? {
|
|
3808
|
+
x: ma(i, a),
|
|
3802
3809
|
y: i.y[a]
|
|
3803
3810
|
} : void 0;
|
|
3804
3811
|
})()
|
|
@@ -3806,15 +3813,15 @@ var Sa = class {
|
|
|
3806
3813
|
}
|
|
3807
3814
|
metrics(e, t, n) {
|
|
3808
3815
|
let r = this.datasets.get(e);
|
|
3809
|
-
return this.datasetResponse(t, e, r,
|
|
3816
|
+
return this.datasetResponse(t, e, r, ia(r, n));
|
|
3810
3817
|
}
|
|
3811
3818
|
dispose(e, t, n) {
|
|
3812
|
-
let r = this.datasets.get(e), i =
|
|
3813
|
-
return i === "ok" && r && (
|
|
3819
|
+
let r = this.datasets.get(e), i = ia(r, n);
|
|
3820
|
+
return i === "ok" && r && (xa(this.wasmBackend, r), this.cache.deleteDataset(e), this.datasets.delete(e)), this.datasetResponse(t, e, r, i);
|
|
3814
3821
|
}
|
|
3815
3822
|
disposeAll(e) {
|
|
3816
3823
|
let t = [...this.datasets.keys()];
|
|
3817
|
-
return this.datasets.forEach((e) =>
|
|
3824
|
+
return this.datasets.forEach((e) => xa(this.wasmBackend, e)), _a(this.wasmBackend) && this.wasmBackend.disposeAllDatasets(), this.datasets.clear(), this.cache.clear(), {
|
|
3818
3825
|
type: "dispose-all-response",
|
|
3819
3826
|
requestId: e,
|
|
3820
3827
|
disposedDatasetIds: t
|
|
@@ -3836,10 +3843,10 @@ var Sa = class {
|
|
|
3836
3843
|
};
|
|
3837
3844
|
//#endregion
|
|
3838
3845
|
//#region src/components/core/latestTaskScheduler.ts
|
|
3839
|
-
function
|
|
3846
|
+
function Da(e, t, n, r) {
|
|
3840
3847
|
return r ? r === "raw" ? e <= t + n ? "raw" : "sampled" : e <= Math.max(0, t - n) ? "raw" : "sampled" : e <= t ? "raw" : "sampled";
|
|
3841
3848
|
}
|
|
3842
|
-
function
|
|
3849
|
+
function Oa() {
|
|
3843
3850
|
let e = 0, t = !1, n, r = !1, i = {
|
|
3844
3851
|
scheduled: 0,
|
|
3845
3852
|
coalesced: 0,
|
|
@@ -3878,12 +3885,12 @@ function Ta() {
|
|
|
3878
3885
|
}
|
|
3879
3886
|
//#endregion
|
|
3880
3887
|
//#region src/components/core/workerSamplingClient.ts
|
|
3881
|
-
function
|
|
3888
|
+
function ka(e) {
|
|
3882
3889
|
return e?.message || "Web Worker is unavailable; JavaScript sampling is being used.";
|
|
3883
3890
|
}
|
|
3884
|
-
function
|
|
3891
|
+
function Aa() {
|
|
3885
3892
|
let e, t, n, r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map(), a = () => {
|
|
3886
|
-
t ??= new
|
|
3893
|
+
t ??= new Ea();
|
|
3887
3894
|
for (let [e, n] of i) {
|
|
3888
3895
|
t.handle({
|
|
3889
3896
|
type: "register-dataset",
|
|
@@ -3919,7 +3926,7 @@ function Da() {
|
|
|
3919
3926
|
let t = a();
|
|
3920
3927
|
e.forEach(({ request: e, resolve: n }) => n(t.handle(e)));
|
|
3921
3928
|
}, c = (r) => {
|
|
3922
|
-
t || (n =
|
|
3929
|
+
t || (n = ka(r), e?.terminate(), e = void 0, s());
|
|
3923
3930
|
};
|
|
3924
3931
|
try {
|
|
3925
3932
|
typeof Worker > "u" ? c() : (e = new Worker(new URL(
|
|
@@ -3956,20 +3963,20 @@ function Da() {
|
|
|
3956
3963
|
}
|
|
3957
3964
|
};
|
|
3958
3965
|
}
|
|
3959
|
-
function
|
|
3966
|
+
function ja(e) {
|
|
3960
3967
|
return e.type === "dataset-response";
|
|
3961
3968
|
}
|
|
3962
3969
|
//#endregion
|
|
3963
3970
|
//#region src/components/core/useWaveformRenderSampling.ts
|
|
3964
|
-
var
|
|
3965
|
-
function
|
|
3971
|
+
var Ma = 120;
|
|
3972
|
+
function Na(e, t) {
|
|
3966
3973
|
let n = e.output;
|
|
3967
3974
|
if (n) return n.kind === "aggregates" ? Array.from(n.x, (e, t) => ({
|
|
3968
3975
|
x: e,
|
|
3969
3976
|
y: n.y[t]
|
|
3970
3977
|
})) : Array.from(n.sourceIndexes, (e) => t.pointAt(e)).filter((e) => e !== void 0);
|
|
3971
3978
|
}
|
|
3972
|
-
function
|
|
3979
|
+
function Pa(e, t) {
|
|
3973
3980
|
let n = e.request, r = e.visibleRange.end - e.visibleRange.start;
|
|
3974
3981
|
return {
|
|
3975
3982
|
seriesId: n.seriesId,
|
|
@@ -3991,7 +3998,7 @@ function ja(e, t) {
|
|
|
3991
3998
|
maxPendingRequestCount: 0
|
|
3992
3999
|
};
|
|
3993
4000
|
}
|
|
3994
|
-
function
|
|
4001
|
+
function Fa(e) {
|
|
3995
4002
|
let { source: t } = e, { start: n, end: r } = e.visibleRange, i = r - n, a = Number.isFinite(e.request.maxPointCount) && (e.request.maxPointCount ?? 0) >= 1 ? Math.floor(e.request.maxPointCount) : Math.max(1, Math.floor(e.request.plotWidth * e.request.maxPointsPerPixel));
|
|
3996
4003
|
if (i <= a) return t.pointsInRange(n, r);
|
|
3997
4004
|
if (a === 1) return t.pointAt(n) ? [t.pointAt(n)] : [];
|
|
@@ -4002,7 +4009,7 @@ function Ma(e) {
|
|
|
4002
4009
|
}
|
|
4003
4010
|
return o;
|
|
4004
4011
|
}
|
|
4005
|
-
function
|
|
4012
|
+
function Ia(e, t, n, r) {
|
|
4006
4013
|
return {
|
|
4007
4014
|
message: e,
|
|
4008
4015
|
mode: t,
|
|
@@ -4010,14 +4017,14 @@ function Na(e, t, n, r) {
|
|
|
4010
4017
|
seriesIds: r
|
|
4011
4018
|
};
|
|
4012
4019
|
}
|
|
4013
|
-
function
|
|
4014
|
-
let n = w(0), r, i = 0, a = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Map(), c = /* @__PURE__ */ new Set(), l = /* @__PURE__ */ new Map(), u =
|
|
4020
|
+
function La(e) {
|
|
4021
|
+
let n = w(0), r, i = 0, a = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Map(), c = /* @__PURE__ */ new Set(), l = /* @__PURE__ */ new Map(), u = Oa(), d, f, p = !1, m = t(() => {
|
|
4015
4022
|
let t = e.renderingOptions.value.sampling;
|
|
4016
4023
|
return e.sourceTrackLayouts.value.flatMap((n) => {
|
|
4017
4024
|
let r = n.xScale.domain();
|
|
4018
4025
|
return n.seriesList.flatMap((i) => {
|
|
4019
4026
|
if (i.lineType === "none" || n.width <= 0) return [];
|
|
4020
|
-
let o = i.source ??
|
|
4027
|
+
let o = i.source ?? X(i.points), s = o.visibleRange(r), c = `${e.instanceId}:${i.id}`;
|
|
4021
4028
|
return [{
|
|
4022
4029
|
series: i,
|
|
4023
4030
|
source: o,
|
|
@@ -4076,13 +4083,13 @@ function Pa(e) {
|
|
|
4076
4083
|
revision: 0,
|
|
4077
4084
|
dataset: t.source.toWorkerDataset()
|
|
4078
4085
|
});
|
|
4079
|
-
!u.isCurrent(n) || !
|
|
4086
|
+
!u.isCurrent(n) || !ja(r) || r.status !== "ok" && r.status !== "stale-revision" || a.set(t.request.datasetId, r.revision);
|
|
4080
4087
|
}));
|
|
4081
4088
|
}, x = async (t, n = !1) => {
|
|
4082
4089
|
let o = m.value, c = { ...e.linePointOverrides.value }, l = [], d = [];
|
|
4083
4090
|
if (o.forEach((e) => {
|
|
4084
|
-
let r = e.visibleRange.end - e.visibleRange.start, i = n ? s.get(e.series.id) : void 0, a = e.request.mode === "auto" &&
|
|
4085
|
-
e.request.mode === "raw" || a ? (c[e.series.id] = e.source.pointsInRange(e.visibleRange.start, e.visibleRange.end), s.set(e.series.id, "raw"), d.push(
|
|
4091
|
+
let r = e.visibleRange.end - e.visibleRange.start, i = n ? s.get(e.series.id) : void 0, a = e.request.mode === "auto" && Da(r, e.request.autoThreshold, e.request.autoHysteresis ?? 0, i) === "raw";
|
|
4092
|
+
e.request.mode === "raw" || a ? (c[e.series.id] = e.source.pointsInRange(e.visibleRange.start, e.visibleRange.end), s.set(e.series.id, "raw"), d.push(Pa(e, t))) : (c[e.series.id]?.length || (c[e.series.id] = Fa(e)), l.push({
|
|
4086
4093
|
...e,
|
|
4087
4094
|
request: {
|
|
4088
4095
|
...e.request,
|
|
@@ -4094,7 +4101,7 @@ function Pa(e) {
|
|
|
4094
4101
|
e.linePointOverrides.value = c, v(d);
|
|
4095
4102
|
return;
|
|
4096
4103
|
}
|
|
4097
|
-
if (e.linePointOverrides.value = c, r ??=
|
|
4104
|
+
if (e.linePointOverrides.value = c, r ??= Aa(), await b(r, l, t), !u.isCurrent(t)) return;
|
|
4098
4105
|
let f = l.map((e) => ({
|
|
4099
4106
|
...e.request,
|
|
4100
4107
|
revision: a.get(e.request.datasetId) ?? 1
|
|
@@ -4109,22 +4116,22 @@ function Pa(e) {
|
|
|
4109
4116
|
p = e;
|
|
4110
4117
|
} catch (n) {
|
|
4111
4118
|
if (!u.isCurrent(t)) return;
|
|
4112
|
-
y(
|
|
4119
|
+
y(Ia(n instanceof Error ? n.message : String(n), e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id)));
|
|
4113
4120
|
return;
|
|
4114
4121
|
}
|
|
4115
4122
|
if (!u.isCurrent(t)) return;
|
|
4116
4123
|
let h = new Map(l.map((e) => [e.series.id, e.source]));
|
|
4117
4124
|
p.results.forEach((e) => {
|
|
4118
|
-
let t = h.get(e.seriesId), n = t ?
|
|
4119
|
-
n && (e.status === "ok" || e.status === "wasm-unavailable") && (c[e.seriesId] = n), d.push(e.diagnostics), s.set(e.seriesId, e.diagnostics.selectedMode), e.status === "wasm-unavailable" && y(
|
|
4120
|
-
}), p.workerError && y(
|
|
4125
|
+
let t = h.get(e.seriesId), n = t ? Na(e, t) : void 0;
|
|
4126
|
+
n && (e.status === "ok" || e.status === "wasm-unavailable") && (c[e.seriesId] = n), d.push(e.diagnostics), s.set(e.seriesId, e.diagnostics.selectedMode), e.status === "wasm-unavailable" && y(Ia(p.workerError ?? "WASM sampling is unavailable.", e.diagnostics.mode, e.diagnostics.backend === "javascript" ? "javascript" : "none", [e.seriesId]));
|
|
4127
|
+
}), p.workerError && y(Ia(p.workerError, e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id))), r.workerFailureReason && p.results.every((e) => e.status !== "wasm-unavailable") && y(Ia(r.workerFailureReason, e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id))), e.linePointOverrides.value = { ...c }, v(d);
|
|
4121
4128
|
};
|
|
4122
4129
|
return k(h, () => {
|
|
4123
4130
|
f && clearTimeout(f);
|
|
4124
4131
|
let t = p;
|
|
4125
4132
|
p = !0, u.schedule((e) => x(e, t)), t && e.renderingOptions.value.sampling.mode === "auto" && e.renderingOptions.value.sampling.autoHysteresis > 0 && (f = setTimeout(() => {
|
|
4126
4133
|
f = void 0, u.schedule((e) => x(e, !1));
|
|
4127
|
-
},
|
|
4134
|
+
}, Ma));
|
|
4128
4135
|
}, { immediate: !0 }), k(e.preparedSeries, () => {
|
|
4129
4136
|
u.cancelPending(), n.value += 1, e.linePointOverrides.value = {}, a.clear(), o.clear(), s.clear(), c.clear(), r?.dispose(), r = void 0;
|
|
4130
4137
|
}, { flush: "sync" }), _(() => {
|
|
@@ -4133,10 +4140,10 @@ function Pa(e) {
|
|
|
4133
4140
|
}
|
|
4134
4141
|
//#endregion
|
|
4135
4142
|
//#region src/components/core/useWaveformChartController.ts
|
|
4136
|
-
function
|
|
4143
|
+
function Ra(e, t) {
|
|
4137
4144
|
e.value = t instanceof Element ? t : void 0;
|
|
4138
4145
|
}
|
|
4139
|
-
function
|
|
4146
|
+
function za(e, t) {
|
|
4140
4147
|
let n = x(), r = x(), i = x(), a = x(), o = x(0), s = x(0), c = x(0), l = x(0), u = x(0), f = w(J), p = w([]), m = x({}), h = x({}), g = C({
|
|
4141
4148
|
points: [],
|
|
4142
4149
|
trackIndex: null,
|
|
@@ -4146,13 +4153,13 @@ function Ia(e, t) {
|
|
|
4146
4153
|
x: 0,
|
|
4147
4154
|
y: 0
|
|
4148
4155
|
}
|
|
4149
|
-
}), _ = x(!1), v = x(1), y = w(), S =
|
|
4156
|
+
}), _ = x(!1), v = x(1), y = w(), S = ue("waveform-clip"), T = x(new Set(e.defaultHiddenSeriesIds)), D = gt(), O = w({}), j = x([]), M = Hr();
|
|
4150
4157
|
k([() => e.yDomain, () => e.yDomains], () => {
|
|
4151
4158
|
m.value = {}, h.value = {};
|
|
4152
4159
|
}, { deep: !0 });
|
|
4153
|
-
let N = w(null), P = x(!1), F = x(!1), I = () => void 0, L = () => void 0, R = () => void 0, z =
|
|
4160
|
+
let N = w(null), P = x(!1), F = x(!1), I = () => void 0, L = () => void 0, R = () => void 0, z = qr(() => e.data, () => {
|
|
4154
4161
|
R(), I();
|
|
4155
|
-
}, () => L()), B =
|
|
4162
|
+
}, () => L()), B = Fi({
|
|
4156
4163
|
props: e,
|
|
4157
4164
|
observedWidth: o,
|
|
4158
4165
|
observedHeight: s,
|
|
@@ -4160,7 +4167,7 @@ function Ia(e, t) {
|
|
|
4160
4167
|
measuredTitleHeight: l,
|
|
4161
4168
|
internalHiddenSeriesIds: T,
|
|
4162
4169
|
paginationBandHeight: u
|
|
4163
|
-
}), { chartWidth: V, chartHeight: H, isCleanView: U, isPresentationMode: W, hiddenSeriesIdSet: G, resolvedTitleText: ee, titleAreaReserved: te, titleMeasureStyle: ne, titleAreaHeight: re, chartTopMargin: K, innerHeight: q } = B, ie =
|
|
4170
|
+
}), { chartWidth: V, chartHeight: H, isCleanView: U, isPresentationMode: W, hiddenSeriesIdSet: G, resolvedTitleText: ee, titleAreaReserved: te, titleMeasureStyle: ne, titleAreaHeight: re, chartTopMargin: K, innerHeight: q } = B, ie = ji({
|
|
4164
4171
|
props: e,
|
|
4165
4172
|
preparedSeries: z,
|
|
4166
4173
|
currentPage: v,
|
|
@@ -4174,8 +4181,8 @@ function Ia(e, t) {
|
|
|
4174
4181
|
independentYDomains: h,
|
|
4175
4182
|
annotationInteraction: d(D),
|
|
4176
4183
|
linePointOverrides: O
|
|
4177
|
-
}), { chartSeries: ae, chartTracks: oe, renderingOptions: se, trackLayouts: ce, gridOptions:
|
|
4178
|
-
|
|
4184
|
+
}), { chartSeries: ae, chartTracks: oe, renderingOptions: se, trackLayouts: ce, gridOptions: le, pageCount: de, pagedTracks: fe, resolvedChartLeftMargin: Y, innerWidth: pe, hasChartArea: me, activeInteractionMode: he, isZoomMode: ge, initialXDomain: _e, sharedZoomDomain: ve, resolveInitialTrackDomain: ye, annotationLayoutsForTrack: be, resolveSeriesYScale: xe } = ie;
|
|
4185
|
+
La({
|
|
4179
4186
|
props: e,
|
|
4180
4187
|
emit: t,
|
|
4181
4188
|
instanceId: S,
|
|
@@ -4184,9 +4191,9 @@ function Ia(e, t) {
|
|
|
4184
4191
|
renderingOptions: se,
|
|
4185
4192
|
linePointOverrides: O
|
|
4186
4193
|
}), A(() => {
|
|
4187
|
-
u.value =
|
|
4194
|
+
u.value = le.value.showPagination && de.value > 1 && V.value <= 520 ? 40 : 0;
|
|
4188
4195
|
});
|
|
4189
|
-
let
|
|
4196
|
+
let Se = Ur({
|
|
4190
4197
|
props: e,
|
|
4191
4198
|
emit: t,
|
|
4192
4199
|
svgElement: r,
|
|
@@ -4194,18 +4201,18 @@ function Ia(e, t) {
|
|
|
4194
4201
|
sharedTransform: f,
|
|
4195
4202
|
independentTransforms: p,
|
|
4196
4203
|
trackLayouts: ce,
|
|
4197
|
-
initialXDomain:
|
|
4198
|
-
sharedZoomDomain:
|
|
4199
|
-
innerWidth:
|
|
4204
|
+
initialXDomain: _e,
|
|
4205
|
+
sharedZoomDomain: ve,
|
|
4206
|
+
innerWidth: pe,
|
|
4200
4207
|
innerHeight: q,
|
|
4201
|
-
hasChartArea:
|
|
4202
|
-
isZoomMode:
|
|
4208
|
+
hasChartArea: me,
|
|
4209
|
+
isZoomMode: ge,
|
|
4203
4210
|
isPresentationMode: W,
|
|
4204
|
-
resolveInitialTrackDomain:
|
|
4205
|
-
cancelPendingHover: () =>
|
|
4211
|
+
resolveInitialTrackDomain: ye,
|
|
4212
|
+
cancelPendingHover: () => we.cancelPendingHover()
|
|
4206
4213
|
});
|
|
4207
|
-
R =
|
|
4208
|
-
let
|
|
4214
|
+
R = Se.prepareForDataChange;
|
|
4215
|
+
let Ce = yr({
|
|
4209
4216
|
props: e,
|
|
4210
4217
|
emit: t,
|
|
4211
4218
|
container: n,
|
|
@@ -4215,57 +4222,57 @@ function Ia(e, t) {
|
|
|
4215
4222
|
annotationInteraction: D,
|
|
4216
4223
|
editorSeriesOptions: j,
|
|
4217
4224
|
trackLayouts: ce,
|
|
4218
|
-
annotationLayoutsForTrack:
|
|
4219
|
-
resolveSeriesYScale:
|
|
4225
|
+
annotationLayoutsForTrack: be,
|
|
4226
|
+
resolveSeriesYScale: xe,
|
|
4220
4227
|
chartWidth: V,
|
|
4221
4228
|
chartHeight: H,
|
|
4222
|
-
innerWidth:
|
|
4223
|
-
resolvedChartLeftMargin:
|
|
4229
|
+
innerWidth: pe,
|
|
4230
|
+
resolvedChartLeftMargin: Y,
|
|
4224
4231
|
titleAreaHeight: re,
|
|
4225
4232
|
chartTopMargin: K,
|
|
4226
|
-
activeInteractionMode:
|
|
4233
|
+
activeInteractionMode: he,
|
|
4227
4234
|
isPresentationMode: W
|
|
4228
|
-
}),
|
|
4235
|
+
}), X = Vr({
|
|
4229
4236
|
props: e,
|
|
4230
4237
|
emit: t,
|
|
4231
4238
|
selection: N,
|
|
4232
4239
|
spacePressed: P,
|
|
4233
4240
|
trackLayouts: ce,
|
|
4234
4241
|
chartTracks: oe,
|
|
4235
|
-
initialXDomain:
|
|
4236
|
-
innerWidth:
|
|
4242
|
+
initialXDomain: _e,
|
|
4243
|
+
innerWidth: pe,
|
|
4237
4244
|
innerHeight: q,
|
|
4238
4245
|
sharedOverlayElement: a,
|
|
4239
4246
|
sharedTransform: f,
|
|
4240
4247
|
independentTransforms: p,
|
|
4241
4248
|
sharedYDomains: m,
|
|
4242
4249
|
independentYDomains: h,
|
|
4243
|
-
isZoomMode:
|
|
4250
|
+
isZoomMode: ge,
|
|
4244
4251
|
isPresentationMode: W,
|
|
4245
4252
|
editorSeriesOptions: j,
|
|
4246
|
-
resolveInitialTrackDomain:
|
|
4247
|
-
canZoomTrack:
|
|
4248
|
-
canZoomSharedTracks:
|
|
4249
|
-
configureZoom:
|
|
4250
|
-
cancelPendingZoom:
|
|
4251
|
-
clearHover: () =>
|
|
4252
|
-
resolveTrackAtPointer:
|
|
4253
|
-
}),
|
|
4253
|
+
resolveInitialTrackDomain: ye,
|
|
4254
|
+
canZoomTrack: Se.canZoomTrack,
|
|
4255
|
+
canZoomSharedTracks: Se.canZoomSharedTracks,
|
|
4256
|
+
configureZoom: Se.configureZoom,
|
|
4257
|
+
cancelPendingZoom: Se.cancelPendingZoom,
|
|
4258
|
+
clearHover: () => we.clearHover(),
|
|
4259
|
+
resolveTrackAtPointer: Ce.resolveTrackAtPointer
|
|
4260
|
+
}), we = br({
|
|
4254
4261
|
emit: t,
|
|
4255
4262
|
hoverState: g,
|
|
4256
4263
|
suppressHoverUntilMove: _,
|
|
4257
4264
|
hoverThrottle: M,
|
|
4258
4265
|
selection: N,
|
|
4259
4266
|
trackLayouts: ce,
|
|
4260
|
-
innerWidth:
|
|
4261
|
-
resolvedChartLeftMargin:
|
|
4267
|
+
innerWidth: pe,
|
|
4268
|
+
resolvedChartLeftMargin: Y,
|
|
4262
4269
|
titleAreaHeight: re,
|
|
4263
4270
|
chartTopMargin: K,
|
|
4264
4271
|
sharedOverlayElement: a,
|
|
4265
4272
|
isPresentationMode: W,
|
|
4266
|
-
updateViewportDrag:
|
|
4267
|
-
resolveTrackAtPointer:
|
|
4268
|
-
}),
|
|
4273
|
+
updateViewportDrag: X.updateViewportDrag,
|
|
4274
|
+
resolveTrackAtPointer: Ce.resolveTrackAtPointer
|
|
4275
|
+
}), Te = Gr({
|
|
4269
4276
|
props: e,
|
|
4270
4277
|
emit: t,
|
|
4271
4278
|
container: n,
|
|
@@ -4282,42 +4289,42 @@ function Ia(e, t) {
|
|
|
4282
4289
|
pointerInsideChart: F,
|
|
4283
4290
|
currentPage: v,
|
|
4284
4291
|
pageCount: de,
|
|
4285
|
-
pagedTracks:
|
|
4286
|
-
gridOptions:
|
|
4292
|
+
pagedTracks: fe,
|
|
4293
|
+
gridOptions: le,
|
|
4287
4294
|
chartSeries: ae,
|
|
4288
4295
|
chartTracks: oe,
|
|
4289
4296
|
trackLayouts: ce,
|
|
4290
|
-
innerWidth:
|
|
4297
|
+
innerWidth: pe,
|
|
4291
4298
|
innerHeight: q,
|
|
4292
|
-
sharedZoomDomain:
|
|
4293
|
-
initialXDomain:
|
|
4299
|
+
sharedZoomDomain: ve,
|
|
4300
|
+
initialXDomain: _e,
|
|
4294
4301
|
sharedTransform: f,
|
|
4295
|
-
activeInteractionMode:
|
|
4302
|
+
activeInteractionMode: he,
|
|
4296
4303
|
hiddenSeriesIdSet: G,
|
|
4297
4304
|
internalHiddenSeriesIds: T,
|
|
4298
4305
|
independentTransforms: p,
|
|
4299
4306
|
independentYDomains: h,
|
|
4300
|
-
resolveInitialTrackDomain:
|
|
4307
|
+
resolveInitialTrackDomain: ye,
|
|
4301
4308
|
annotationInteraction: D,
|
|
4302
4309
|
editorSeriesOptions: j,
|
|
4303
4310
|
isPresentationMode: W,
|
|
4304
|
-
clearHover:
|
|
4305
|
-
cancelAnnotation:
|
|
4306
|
-
configureZoom:
|
|
4307
|
-
resetViewport:
|
|
4308
|
-
cancelViewportDrag:
|
|
4309
|
-
cancelPendingHover:
|
|
4310
|
-
clearZoomBindings:
|
|
4311
|
+
clearHover: we.clearHover,
|
|
4312
|
+
cancelAnnotation: Ce.cancelAnnotation,
|
|
4313
|
+
configureZoom: Se.configureZoom,
|
|
4314
|
+
resetViewport: X.resetViewport,
|
|
4315
|
+
cancelViewportDrag: X.cancelViewportDrag,
|
|
4316
|
+
cancelPendingHover: we.cancelPendingHover,
|
|
4317
|
+
clearZoomBindings: Se.clearZoomBindings
|
|
4311
4318
|
});
|
|
4312
|
-
return I =
|
|
4319
|
+
return I = Te.handleBeforeDataReferenceChange, L = Te.handleDataReferenceChange, b({
|
|
4313
4320
|
...E(e),
|
|
4314
4321
|
...B,
|
|
4315
4322
|
...ie,
|
|
4316
|
-
...Z,
|
|
4317
|
-
...Se,
|
|
4318
4323
|
...Ce,
|
|
4319
|
-
|
|
4320
|
-
|
|
4324
|
+
...X,
|
|
4325
|
+
...we,
|
|
4326
|
+
margin: zt,
|
|
4327
|
+
getPageSize: Hn,
|
|
4321
4328
|
currentPage: v,
|
|
4322
4329
|
selection: N,
|
|
4323
4330
|
pointerInsideChart: F,
|
|
@@ -4327,35 +4334,35 @@ function Ia(e, t) {
|
|
|
4327
4334
|
contextMenu: D.contextMenu,
|
|
4328
4335
|
editorSeriesOptions: j,
|
|
4329
4336
|
clipPathId: S,
|
|
4330
|
-
goToPage:
|
|
4331
|
-
setContainer: (e) =>
|
|
4332
|
-
setSvgElement: (e) =>
|
|
4333
|
-
setTitleMeasureElement: (e) =>
|
|
4334
|
-
setSharedOverlayElement: (e) =>
|
|
4337
|
+
goToPage: Te.goToPage,
|
|
4338
|
+
setContainer: (e) => Ra(n, e),
|
|
4339
|
+
setSvgElement: (e) => Ra(r, e),
|
|
4340
|
+
setTitleMeasureElement: (e) => Ra(i, e),
|
|
4341
|
+
setSharedOverlayElement: (e) => Ra(a, e)
|
|
4335
4342
|
});
|
|
4336
4343
|
}
|
|
4337
4344
|
//#endregion
|
|
4338
4345
|
//#region src/components/annotation/WaveformAnnotationEditor.vue?vue&type=script&setup=true&lang.ts
|
|
4339
|
-
var
|
|
4346
|
+
var Ba = ["id"], Va = { class: "waveform-annotation-editor__content" }, Ha = {
|
|
4340
4347
|
class: "waveform-annotation-editor__coordinates",
|
|
4341
4348
|
"aria-label": "标注坐标"
|
|
4342
|
-
},
|
|
4349
|
+
}, Ua = ["aria-invalid"], Wa = {
|
|
4343
4350
|
class: "waveform-annotation-editor__coordinate-value",
|
|
4344
4351
|
"aria-hidden": "true"
|
|
4345
|
-
},
|
|
4352
|
+
}, Ga = ["id"], Ka = {
|
|
4346
4353
|
key: 0,
|
|
4347
4354
|
class: "waveform-annotation-editor__series",
|
|
4348
4355
|
"aria-label": "标注所属波形"
|
|
4349
|
-
},
|
|
4356
|
+
}, qa = { class: "waveform-annotation-editor__series-label" }, Ja = ["value"], Ya = ["value"], Xa = { key: 1 }, Za = { class: "waveform-annotation-editor__field" }, Qa = { class: "waveform-annotation-editor__label-row" }, $a = ["maxlength"], eo = { class: "waveform-annotation-editor__colors" }, to = {
|
|
4350
4357
|
class: "waveform-annotation-editor__color-field",
|
|
4351
4358
|
title: "调整标注边框色和透明度"
|
|
4352
|
-
},
|
|
4359
|
+
}, no = {
|
|
4353
4360
|
class: "waveform-annotation-editor__color-field",
|
|
4354
4361
|
title: "调整标注文字色和透明度"
|
|
4355
|
-
},
|
|
4362
|
+
}, ro = {
|
|
4356
4363
|
class: "waveform-annotation-editor__color-field",
|
|
4357
4364
|
title: "调整标注背景色和透明度"
|
|
4358
|
-
},
|
|
4365
|
+
}, io = /*#__PURE__*/ nt(/* @__PURE__ */ l({
|
|
4359
4366
|
__name: "WaveformAnnotationEditor",
|
|
4360
4367
|
props: {
|
|
4361
4368
|
annotation: {},
|
|
@@ -4375,7 +4382,7 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
|
|
|
4375
4382
|
let u = c(async () => typeof window > "u" ? {
|
|
4376
4383
|
name: "WaveformColorPickerSsrFallback",
|
|
4377
4384
|
render: () => null
|
|
4378
|
-
} : (await import("vue3-colorpicker")).ColorPicker), d = o, p = l, h = x(), g =
|
|
4385
|
+
} : (await import("vue3-colorpicker")).ColorPicker), d = o, p = l, h = x(), g = ue("waveform-annotation-editor-title"), _ = x(""), v = x(""), b = x(!1), C = x(""), w = x(""), E = x(""), A = t(() => b.value && (!v.value.trim() || !Number.isFinite(Number(v.value))) ? "请输入有效的时间" : ""), N = t(() => b.value && (A.value || d.timeError) || ""), P = t(() => _.value.trim().length > 0 && v.value.trim().length > 0 && Number.isFinite(Number(v.value)) && !N.value), F = t(() => _.value.length), I = t(() => {
|
|
4379
4386
|
let e = d.seriesOptions?.find((e) => e.seriesId === d.annotation.seriesId);
|
|
4380
4387
|
return e ? {
|
|
4381
4388
|
id: e.seriesId,
|
|
@@ -4385,8 +4392,8 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
|
|
|
4385
4392
|
} : d.series;
|
|
4386
4393
|
});
|
|
4387
4394
|
function L() {
|
|
4388
|
-
let e =
|
|
4389
|
-
_.value = d.annotation.text, v.value =
|
|
4395
|
+
let e = Ge(d.annotation.style);
|
|
4396
|
+
_.value = d.annotation.text, v.value = It(d.annotation.x, d.timeUnit), b.value = !1, C.value = e.borderColor, w.value = e.textColor, E.value = e.backgroundColor, f(() => h.value?.focus());
|
|
4390
4397
|
}
|
|
4391
4398
|
k(() => d.annotation.id, L, { immediate: !0 });
|
|
4392
4399
|
function R(e) {
|
|
@@ -4413,7 +4420,7 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
|
|
|
4413
4420
|
let t = e.target;
|
|
4414
4421
|
t.value && p("series-change", t.value);
|
|
4415
4422
|
}
|
|
4416
|
-
return (t, o) => (y(), n(D(
|
|
4423
|
+
return (t, o) => (y(), n(D(se), {
|
|
4417
4424
|
visible: !0,
|
|
4418
4425
|
width: 440,
|
|
4419
4426
|
"mask-closable": !0,
|
|
@@ -4426,15 +4433,15 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
|
|
|
4426
4433
|
onCancel: o[4] ||= (e) => p("cancel"),
|
|
4427
4434
|
onOk: B
|
|
4428
4435
|
}, {
|
|
4429
|
-
title: j(() => [a("span", { id: D(g) }, T(d.mode === "add" ? "添加标注" : "编辑标注"), 9,
|
|
4430
|
-
default: j(() => [a("div",
|
|
4431
|
-
a("div",
|
|
4436
|
+
title: j(() => [a("span", { id: D(g) }, T(d.mode === "add" ? "添加标注" : "编辑标注"), 9, Ba)]),
|
|
4437
|
+
default: j(() => [a("div", Va, [
|
|
4438
|
+
a("div", Ha, [
|
|
4432
4439
|
a("label", {
|
|
4433
4440
|
class: "waveform-annotation-editor__coordinate-input",
|
|
4434
4441
|
"aria-invalid": !!N.value
|
|
4435
4442
|
}, [
|
|
4436
4443
|
o[5] ||= a("b", null, "X", -1),
|
|
4437
|
-
s(D(
|
|
4444
|
+
s(D(oe), {
|
|
4438
4445
|
value: v.value === "" ? void 0 : Number(v.value),
|
|
4439
4446
|
controls: !0,
|
|
4440
4447
|
step: .001,
|
|
@@ -4451,26 +4458,26 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
|
|
|
4451
4458
|
"aria-invalid",
|
|
4452
4459
|
"aria-describedby"
|
|
4453
4460
|
]),
|
|
4454
|
-
a("code",
|
|
4455
|
-
], 8,
|
|
4461
|
+
a("code", Wa, T(v.value), 1)
|
|
4462
|
+
], 8, Ua),
|
|
4456
4463
|
N.value ? (y(), i("p", {
|
|
4457
4464
|
key: 0,
|
|
4458
4465
|
id: `${D(g)}-time-error`,
|
|
4459
4466
|
class: "waveform-annotation-editor__coordinate-error",
|
|
4460
4467
|
role: "alert"
|
|
4461
|
-
}, T(N.value), 9,
|
|
4462
|
-
a("span", null, [o[6] ||= a("b", null, "Y", -1), a("code", null, T(D(
|
|
4468
|
+
}, T(N.value), 9, Ga)) : r("", !0),
|
|
4469
|
+
a("span", null, [o[6] ||= a("b", null, "Y", -1), a("code", null, T(D(At)(d.annotation.y)), 1)])
|
|
4463
4470
|
]),
|
|
4464
4471
|
o[13] ||= a("p", {
|
|
4465
4472
|
class: "waveform-annotation-editor__coordinate-hint",
|
|
4466
4473
|
role: "note"
|
|
4467
4474
|
}, " 修改 X 轴后失焦时会自动吸附最近的采样点 ", -1),
|
|
4468
|
-
I.value ? (y(), i("label",
|
|
4475
|
+
I.value ? (y(), i("label", Ka, [
|
|
4469
4476
|
a("i", {
|
|
4470
4477
|
style: m({ backgroundColor: I.value.color }),
|
|
4471
4478
|
"aria-hidden": "true"
|
|
4472
4479
|
}, null, 4),
|
|
4473
|
-
a("span",
|
|
4480
|
+
a("span", qa, [o[7] ||= a("small", null, "标注波形", -1), a("b", null, T(I.value.name), 1)]),
|
|
4474
4481
|
d.seriesOptions?.length ? (y(), i("select", {
|
|
4475
4482
|
key: 0,
|
|
4476
4483
|
value: d.annotation.seriesId,
|
|
@@ -4479,9 +4486,9 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
|
|
|
4479
4486
|
}, [(y(!0), i(e, null, S(d.seriesOptions, (e) => (y(), i("option", {
|
|
4480
4487
|
key: e.seriesId,
|
|
4481
4488
|
value: e.seriesId
|
|
4482
|
-
}, T(e.name) + T(e.unit ? ` (${e.unit})` : ""), 9,
|
|
4489
|
+
}, T(e.name) + T(e.unit ? ` (${e.unit})` : ""), 9, Ya))), 128))], 40, Ja)) : I.value.unit ? (y(), i("code", Xa, T(I.value.unit), 1)) : r("", !0)
|
|
4483
4490
|
])) : r("", !0),
|
|
4484
|
-
a("label",
|
|
4491
|
+
a("label", Za, [a("span", Qa, [o[8] ||= a("b", null, "标注文本", -1), a("small", null, T(F.value) + "/" + T(D(40)), 1)]), M(a("textarea", {
|
|
4485
4492
|
ref_key: "textarea",
|
|
4486
4493
|
ref: h,
|
|
4487
4494
|
"onUpdate:modelValue": o[0] ||= (e) => _.value = e,
|
|
@@ -4490,10 +4497,10 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
|
|
|
4490
4497
|
"aria-label": "标注文本",
|
|
4491
4498
|
placeholder: "输入这处波形的说明",
|
|
4492
4499
|
onKeydown: V
|
|
4493
|
-
}, null, 40,
|
|
4494
|
-
a("fieldset",
|
|
4500
|
+
}, null, 40, $a), [[O, _.value]])]),
|
|
4501
|
+
a("fieldset", eo, [
|
|
4495
4502
|
o[12] ||= a("legend", null, "颜色与透明度", -1),
|
|
4496
|
-
a("label",
|
|
4503
|
+
a("label", to, [o[9] ||= a("span", null, "边框色", -1), s(D(u), {
|
|
4497
4504
|
"pure-color": C.value,
|
|
4498
4505
|
"onUpdate:pureColor": o[1] ||= (e) => C.value = e,
|
|
4499
4506
|
"aria-label": "标注边框色",
|
|
@@ -4503,7 +4510,7 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
|
|
|
4503
4510
|
"disable-alpha": !1,
|
|
4504
4511
|
"blur-close": !0
|
|
4505
4512
|
}, null, 8, ["pure-color"])]),
|
|
4506
|
-
a("label",
|
|
4513
|
+
a("label", no, [o[10] ||= a("span", null, "文字色", -1), s(D(u), {
|
|
4507
4514
|
"pure-color": w.value,
|
|
4508
4515
|
"onUpdate:pureColor": o[2] ||= (e) => w.value = e,
|
|
4509
4516
|
"aria-label": "标注文字色",
|
|
@@ -4513,7 +4520,7 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
|
|
|
4513
4520
|
"disable-alpha": !1,
|
|
4514
4521
|
"blur-close": !0
|
|
4515
4522
|
}, null, 8, ["pure-color"])]),
|
|
4516
|
-
a("label",
|
|
4523
|
+
a("label", ro, [o[11] ||= a("span", null, "背景色", -1), s(D(u), {
|
|
4517
4524
|
"pure-color": E.value,
|
|
4518
4525
|
"onUpdate:pureColor": o[3] ||= (e) => E.value = e,
|
|
4519
4526
|
"aria-label": "标注背景色",
|
|
@@ -4528,13 +4535,13 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
|
|
|
4528
4535
|
_: 1
|
|
4529
4536
|
}, 8, ["ok-button-props"]));
|
|
4530
4537
|
}
|
|
4531
|
-
}), [["__scopeId", "data-v-01ecd3a4"]]),
|
|
4538
|
+
}), [["__scopeId", "data-v-01ecd3a4"]]), ao = { class: "waveform-tooltip__series-content" }, oo = { class: "waveform-tooltip__series-label" }, so = {
|
|
4532
4539
|
key: 0,
|
|
4533
4540
|
class: "waveform-tooltip__value"
|
|
4534
|
-
},
|
|
4541
|
+
}, co = {
|
|
4535
4542
|
key: 1,
|
|
4536
4543
|
class: "waveform-tooltip__value waveform-tooltip__value--missing"
|
|
4537
|
-
},
|
|
4544
|
+
}, lo = 12, uo = 8, fo = 560, po = /*#__PURE__*/ nt(/* @__PURE__ */ l({
|
|
4538
4545
|
__name: "WaveformTooltip",
|
|
4539
4546
|
props: {
|
|
4540
4547
|
visible: { type: Boolean },
|
|
@@ -4564,12 +4571,12 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
|
|
|
4564
4571
|
}, { flush: "post" }), v(u);
|
|
4565
4572
|
let d = t(() => {
|
|
4566
4573
|
if (!s.visible || !s.hoveredPoint) return { display: "none" };
|
|
4567
|
-
let e = s.position.x +
|
|
4574
|
+
let e = s.position.x + lo, t = s.position.x - lo - l.value.width, n = Math.max(1, Math.min(fo, s.containerWidth - uo * 2));
|
|
4568
4575
|
return {
|
|
4569
|
-
...e + l.value.width <= s.containerWidth -
|
|
4576
|
+
...e + l.value.width <= s.containerWidth - uo ? { left: `${e}px` } : t >= uo ? { right: `${s.containerWidth - s.position.x + lo}px` } : { left: `${uo}px` },
|
|
4570
4577
|
maxWidth: `${n}px`,
|
|
4571
4578
|
visibility: l.value.width > 0 ? "visible" : "hidden",
|
|
4572
|
-
top: `${Math.max(
|
|
4579
|
+
top: `${Math.max(uo, Math.min(s.position.y - 18, s.containerHeight - l.value.height - uo))}px`
|
|
4573
4580
|
};
|
|
4574
4581
|
});
|
|
4575
4582
|
return (t, s) => n.visible && n.hoveredPoint ? (y(), i("div", {
|
|
@@ -4581,9 +4588,9 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
|
|
|
4581
4588
|
}, [(y(!0), i(e, null, S(n.seriesPoints, (t) => (y(), i("span", {
|
|
4582
4589
|
key: `${t.trackIndex}-${t.name}`,
|
|
4583
4590
|
class: "waveform-tooltip__series waveform-chart__tooltip-series"
|
|
4584
|
-
}, [a("i", { style: m({ backgroundColor: t.color }) }, null, 4), a("span",
|
|
4591
|
+
}, [a("i", { style: m({ backgroundColor: t.color }) }, null, 4), a("span", ao, [a("span", oo, [o(T(t.shotNo?.trim() || "未配置炮号") + ": " + T(t.name), 1), t.unit ? (y(), i(e, { key: 0 }, [o("(" + T(t.unit) + ")", 1)], 64)) : r("", !0)]), t.point ? (y(), i("span", so, "(x:" + T(D(Ft)(t.point.x, n.timeUnit)) + " y:" + T(D(kt)(t.point.y)) + ")", 1)) : (y(), i("span", co, "无数据"))])]))), 128))], 4)) : r("", !0);
|
|
4585
4592
|
}
|
|
4586
|
-
}), [["__scopeId", "data-v-0d0d1d3c"]]),
|
|
4593
|
+
}), [["__scopeId", "data-v-0d0d1d3c"]]), mo = /* @__PURE__ */ l({
|
|
4587
4594
|
__name: "WaveformHoverHost",
|
|
4588
4595
|
props: {
|
|
4589
4596
|
state: {},
|
|
@@ -4594,7 +4601,7 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
|
|
|
4594
4601
|
},
|
|
4595
4602
|
setup(e) {
|
|
4596
4603
|
let r = e, i = t(() => r.state.points.find((e) => e.point)?.point ?? null);
|
|
4597
|
-
return (t, r) => (y(), n(
|
|
4604
|
+
return (t, r) => (y(), n(po, {
|
|
4598
4605
|
visible: e.visible && i.value !== null,
|
|
4599
4606
|
position: e.state.position,
|
|
4600
4607
|
"time-unit": e.timeUnit,
|
|
@@ -4612,16 +4619,16 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
|
|
|
4612
4619
|
"container-height"
|
|
4613
4620
|
]));
|
|
4614
4621
|
}
|
|
4615
|
-
}),
|
|
4622
|
+
}), ho = 13, go = 2, _o = 14, vo = 8, yo = 24, bo = {
|
|
4616
4623
|
circle: te,
|
|
4617
4624
|
square: re,
|
|
4618
4625
|
triangle: K,
|
|
4619
4626
|
diamond: ne
|
|
4620
4627
|
};
|
|
4621
|
-
function
|
|
4622
|
-
return e === "none" ? null : ee().type(
|
|
4628
|
+
function xo(e, t = 48) {
|
|
4629
|
+
return e === "none" ? null : ee().type(bo[e]).size(t)() ?? null;
|
|
4623
4630
|
}
|
|
4624
|
-
function
|
|
4631
|
+
function So(e, t, n = 48) {
|
|
4625
4632
|
if (e === "none" || t.length === 0) return null;
|
|
4626
4633
|
if (e === "circle") {
|
|
4627
4634
|
let e = Math.sqrt(n / Math.PI);
|
|
@@ -4638,24 +4645,24 @@ function yo(e, t, n = 48) {
|
|
|
4638
4645
|
let r = Math.sqrt(n / (2 * Math.tan(Math.PI / 6))), i = r * Math.tan(Math.PI / 6);
|
|
4639
4646
|
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("");
|
|
4640
4647
|
}
|
|
4641
|
-
function
|
|
4648
|
+
function Co(e) {
|
|
4642
4649
|
return e === "none" ? null : "M1 8H25";
|
|
4643
4650
|
}
|
|
4644
|
-
function
|
|
4651
|
+
function wo(e) {
|
|
4645
4652
|
if (e === "dashed") return "8 5";
|
|
4646
4653
|
if (e === "dash-dot") return "8 5 1.5 5";
|
|
4647
4654
|
}
|
|
4648
|
-
function
|
|
4649
|
-
let t = (Number.isFinite(e) && e > 0 ? Math.min(e,
|
|
4655
|
+
function To(e) {
|
|
4656
|
+
let t = (Number.isFinite(e) && e > 0 ? Math.min(e, yo) : vo) / 2, n = ho - t, r = ho + t;
|
|
4650
4657
|
return [
|
|
4651
|
-
`M${n} ${
|
|
4652
|
-
`M${
|
|
4653
|
-
`M${n} ${
|
|
4658
|
+
`M${n} ${go}H${r}`,
|
|
4659
|
+
`M${ho} ${go}V${_o}`,
|
|
4660
|
+
`M${n} ${_o}H${r}`
|
|
4654
4661
|
].join("");
|
|
4655
4662
|
}
|
|
4656
4663
|
//#endregion
|
|
4657
4664
|
//#region src/components/rendering/WaveformSeriesLayer.vue?vue&type=script&setup=true&lang.ts
|
|
4658
|
-
var
|
|
4665
|
+
var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
4659
4666
|
"data-series-id",
|
|
4660
4667
|
"data-series-name",
|
|
4661
4668
|
"data-y-axis-index",
|
|
@@ -4664,11 +4671,11 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
4664
4671
|
"d",
|
|
4665
4672
|
"stroke",
|
|
4666
4673
|
"stroke-dasharray"
|
|
4667
|
-
],
|
|
4674
|
+
], ko = ["data-series-id"], Ao = [
|
|
4668
4675
|
"d",
|
|
4669
4676
|
"stroke",
|
|
4670
4677
|
"stroke-width"
|
|
4671
|
-
],
|
|
4678
|
+
], jo = ["data-series-id", "data-point-type"], Mo = ["d", "fill"], No = /*#__PURE__*/ nt(/* @__PURE__ */ l({
|
|
4672
4679
|
__name: "WaveformSeriesLayer",
|
|
4673
4680
|
props: {
|
|
4674
4681
|
track: {},
|
|
@@ -4676,11 +4683,11 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
4676
4683
|
},
|
|
4677
4684
|
setup(n) {
|
|
4678
4685
|
let a = n, o = t(() => a.track.seriesPaths.map((e) => {
|
|
4679
|
-
let t =
|
|
4686
|
+
let t = So(e.series.pointType, e.pointRenderPoints.map((t) => ({
|
|
4680
4687
|
x: a.track.xScale(t.x),
|
|
4681
4688
|
y: e.yScale(t.y)
|
|
4682
4689
|
}))), n = e.series.errorBar.capWidth / 2, r = e.errorBarRenderPoints.map((t) => {
|
|
4683
|
-
let { lower: r, upper: i } =
|
|
4690
|
+
let { lower: r, upper: i } = cn(t), o = a.track.xScale(t.x), s = e.yScale(t.y - r), c = e.yScale(t.y + i);
|
|
4684
4691
|
return [
|
|
4685
4692
|
`M${o - n},${s}H${o + n}`,
|
|
4686
4693
|
`M${o},${s}V${c}`,
|
|
@@ -4713,8 +4720,8 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
4713
4720
|
"data-line-style": e.series.lineStyle,
|
|
4714
4721
|
d: e.path,
|
|
4715
4722
|
stroke: e.series.color,
|
|
4716
|
-
"stroke-dasharray": D(
|
|
4717
|
-
}, null, 8,
|
|
4723
|
+
"stroke-dasharray": D(wo)(e.series.lineStyle)
|
|
4724
|
+
}, null, 8, Oo)) : r("", !0),
|
|
4718
4725
|
e.series.errorBar.visible ? (y(), i("g", {
|
|
4719
4726
|
key: 1,
|
|
4720
4727
|
class: "waveform-track__error-bars waveform-chart__error-bars",
|
|
@@ -4725,7 +4732,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
4725
4732
|
d: e.errorBarPath,
|
|
4726
4733
|
stroke: e.series.errorBar.color || e.series.color,
|
|
4727
4734
|
"stroke-width": e.series.errorBar.width
|
|
4728
|
-
}, null, 8,
|
|
4735
|
+
}, null, 8, Ao)) : r("", !0)], 8, ko)) : r("", !0),
|
|
4729
4736
|
e.series.pointType === "none" ? r("", !0) : (y(), i("g", {
|
|
4730
4737
|
key: 2,
|
|
4731
4738
|
class: "waveform-track__points waveform-chart__points",
|
|
@@ -4736,28 +4743,28 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
4736
4743
|
class: "waveform-track__point waveform-chart__point",
|
|
4737
4744
|
d: e.pointPath,
|
|
4738
4745
|
fill: e.series.color
|
|
4739
|
-
}, null, 8,
|
|
4740
|
-
], 8,
|
|
4746
|
+
}, null, 8, Mo)) : r("", !0)], 8, jo))
|
|
4747
|
+
], 8, Do))), 128))], 8, Eo)) : r("", !0);
|
|
4741
4748
|
}
|
|
4742
|
-
}), [["__scopeId", "data-v-
|
|
4749
|
+
}), [["__scopeId", "data-v-6ea098ba"]]), Po = ["transform"], Fo = ["transform"], Io = {
|
|
4743
4750
|
class: "waveform-track__axis-endpoint waveform-track__axis-endpoint--start waveform-chart__axis-endpoint waveform-chart__axis-endpoint--start",
|
|
4744
4751
|
x: "0",
|
|
4745
4752
|
y: "7",
|
|
4746
4753
|
dy: "0.71em",
|
|
4747
4754
|
"text-anchor": "start"
|
|
4748
|
-
},
|
|
4755
|
+
}, Lo = ["x"], Ro = [
|
|
4749
4756
|
"data-y-axis-index",
|
|
4750
4757
|
"data-y-axis-side",
|
|
4751
4758
|
"transform"
|
|
4752
|
-
],
|
|
4759
|
+
], zo = { key: 2 }, Bo = [
|
|
4753
4760
|
"x",
|
|
4754
4761
|
"y",
|
|
4755
4762
|
"width"
|
|
4756
|
-
],
|
|
4763
|
+
], Vo = ["fill", "transform"], Ho = ["data-y-axis-title-index"], Uo = [
|
|
4757
4764
|
"x",
|
|
4758
4765
|
"y",
|
|
4759
4766
|
"width"
|
|
4760
|
-
],
|
|
4767
|
+
], Wo = ["fill", "transform"], Go = /* @__PURE__ */ l({
|
|
4761
4768
|
__name: "WaveformTrackAxes",
|
|
4762
4769
|
props: {
|
|
4763
4770
|
track: {},
|
|
@@ -4786,11 +4793,11 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
4786
4793
|
if (n.track.yAxes.forEach((e, t) => {
|
|
4787
4794
|
let r = s.value[t];
|
|
4788
4795
|
if (!r) return;
|
|
4789
|
-
let i = e.seriesList[0]?.unit, a = (e.side === "left" ? F(e.scale) : I(e.scale)).tickFormat((t) =>
|
|
4796
|
+
let i = e.seriesList[0]?.unit, a = (e.side === "left" ? F(e.scale) : I(e.scale)).tickFormat((t) => cr(Number(t), e.scale.domain(), e.tickValues, i)).tickSize(-4).tickPadding(7).tickSizeOuter(0).tickValues(e.tickValues), o = G(r);
|
|
4790
4797
|
o.call(a), o.selectAll("path.domain").attr("display", n.axes?.y?.lineVisible === !1 ? "none" : null);
|
|
4791
4798
|
}), !o.value) return;
|
|
4792
4799
|
let e = G(o.value);
|
|
4793
|
-
e.call(P(n.track.xScale).tickValues(n.track.xAxisTickValues).tickFormat((e) =>
|
|
4800
|
+
e.call(P(n.track.xScale).tickValues(n.track.xAxisTickValues).tickFormat((e) => Mt(Number(e), n.track.xScale.domain(), n.timeUnit, "tick", n.axes?.x?.labelFormatter)).tickSize(-4).tickPadding(7).tickSizeOuter(0)), e.selectAll("path.domain").attr("display", n.axes?.x?.lineVisible === !1 ? "none" : null);
|
|
4794
4801
|
}
|
|
4795
4802
|
return g(async () => {
|
|
4796
4803
|
await f(), m();
|
|
@@ -4812,7 +4819,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
4812
4819
|
ref: o,
|
|
4813
4820
|
class: p(["waveform-track__axis waveform-track__axis--x waveform-chart__axis waveform-chart__axis--x", { "waveform-track__axis--line-hidden": t.axes?.x?.lineVisible === !1 }]),
|
|
4814
4821
|
transform: `translate(0, ${t.track.height})`
|
|
4815
|
-
}, null, 10,
|
|
4822
|
+
}, null, 10, Po)) : r("", !0),
|
|
4816
4823
|
t.track.showXAxis ? (y(), i("g", {
|
|
4817
4824
|
key: 1,
|
|
4818
4825
|
class: "waveform-track__axis-endpoints waveform-chart__axis-endpoints",
|
|
@@ -4820,13 +4827,13 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
4820
4827
|
"font-family": "sans-serif",
|
|
4821
4828
|
"font-size": "10",
|
|
4822
4829
|
"aria-hidden": "true"
|
|
4823
|
-
}, [a("text",
|
|
4830
|
+
}, [a("text", Io, T(t.track.endpointLabels.start), 1), a("text", {
|
|
4824
4831
|
class: "waveform-track__axis-endpoint waveform-track__axis-endpoint--end waveform-chart__axis-endpoint waveform-chart__axis-endpoint--end",
|
|
4825
4832
|
x: t.track.width ?? t.innerWidth,
|
|
4826
4833
|
y: "7",
|
|
4827
4834
|
dy: "0.71em",
|
|
4828
4835
|
"text-anchor": "end"
|
|
4829
|
-
}, T(t.track.endpointLabels.end), 9,
|
|
4836
|
+
}, T(t.track.endpointLabels.end), 9, Lo)], 8, Fo)) : r("", !0),
|
|
4830
4837
|
(y(!0), i(e, null, S(t.track.isEmpty ? [] : t.track.yAxes, (e) => (y(), i("g", {
|
|
4831
4838
|
key: `y-axis-${t.track.index}-${e.index}`,
|
|
4832
4839
|
ref_for: !0,
|
|
@@ -4835,21 +4842,21 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
4835
4842
|
"data-y-axis-index": e.index,
|
|
4836
4843
|
"data-y-axis-side": e.side,
|
|
4837
4844
|
transform: `translate(${e.x}, 0)`
|
|
4838
|
-
}, null, 10,
|
|
4839
|
-
!t.cleanView && !t.track.isEmpty && t.track.hasVisibleSeries && t.track.seriesList.length === 1 && t.track.showYAxisLabel && t.track.series && c(t.track.series) && d(t.track.height, t.track.index) ? (y(), i("g",
|
|
4845
|
+
}, null, 10, Ro))), 128)),
|
|
4846
|
+
!t.cleanView && !t.track.isEmpty && t.track.hasVisibleSeries && t.track.seriesList.length === 1 && t.track.showYAxisLabel && t.track.series && c(t.track.series) && d(t.track.height, t.track.index) ? (y(), i("g", zo, [a("rect", {
|
|
4840
4847
|
class: "waveform-track__y-axis-label-bg waveform-chart__y-axis-label-bg",
|
|
4841
4848
|
x: t.track.yAxisLabelX - D(12) / 2,
|
|
4842
4849
|
y: t.track.height / 2 - 40,
|
|
4843
4850
|
width: D(12),
|
|
4844
4851
|
height: "80",
|
|
4845
4852
|
rx: "2"
|
|
4846
|
-
}, null, 8,
|
|
4853
|
+
}, null, 8, Bo), a("text", {
|
|
4847
4854
|
class: "waveform-track__y-axis-label waveform-chart__y-axis-label",
|
|
4848
4855
|
fill: t.track.series?.color,
|
|
4849
4856
|
transform: `translate(${t.track.yAxisLabelX}, ${t.track.height / 2}) rotate(-90)`,
|
|
4850
4857
|
"text-anchor": "middle",
|
|
4851
4858
|
"dominant-baseline": "central"
|
|
4852
|
-
}, T(t.track.series ? c(t.track.series) : ""), 9,
|
|
4859
|
+
}, T(t.track.series ? c(t.track.series) : ""), 9, Vo)])) : r("", !0),
|
|
4853
4860
|
(y(!0), i(e, null, S(!t.cleanView && t.track.yAxes.length > 1 ? t.track.yAxes.filter(l) : [], (e) => (y(), i("g", {
|
|
4854
4861
|
key: `y-axis-title-${t.track.index}-${e.index}`,
|
|
4855
4862
|
class: "waveform-track__multi-axis-title",
|
|
@@ -4861,40 +4868,40 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
4861
4868
|
width: D(12),
|
|
4862
4869
|
height: "80",
|
|
4863
4870
|
rx: "2"
|
|
4864
|
-
}, null, 8,
|
|
4871
|
+
}, null, 8, Uo), a("text", {
|
|
4865
4872
|
class: "waveform-track__y-axis-label waveform-chart__y-axis-label",
|
|
4866
4873
|
fill: e.seriesList[0].color,
|
|
4867
4874
|
transform: `translate(${e.labelX}, ${t.track.height / 2}) rotate(-90)`,
|
|
4868
4875
|
"text-anchor": "middle",
|
|
4869
4876
|
"dominant-baseline": "central"
|
|
4870
|
-
}, T(c(e.seriesList[0])), 9,
|
|
4877
|
+
}, T(c(e.seriesList[0])), 9, Wo)], 8, Ho))), 128))
|
|
4871
4878
|
], 64));
|
|
4872
4879
|
}
|
|
4873
|
-
}),
|
|
4880
|
+
}), Ko = [
|
|
4874
4881
|
"width",
|
|
4875
4882
|
"height",
|
|
4876
4883
|
"fill"
|
|
4877
|
-
],
|
|
4884
|
+
], qo = ["clip-path"], Jo = { class: "waveform-track__grid waveform-track__grid--minor waveform-chart__grid waveform-chart__grid--minor" }, Yo = [
|
|
4878
4885
|
"stroke",
|
|
4879
4886
|
"x1",
|
|
4880
4887
|
"x2",
|
|
4881
4888
|
"y2"
|
|
4882
|
-
],
|
|
4889
|
+
], Xo = [
|
|
4883
4890
|
"stroke",
|
|
4884
4891
|
"x2",
|
|
4885
4892
|
"y1",
|
|
4886
4893
|
"y2"
|
|
4887
|
-
],
|
|
4894
|
+
], Zo = { class: "waveform-track__grid waveform-track__grid--major waveform-chart__grid waveform-chart__grid--major" }, Qo = [
|
|
4888
4895
|
"stroke",
|
|
4889
4896
|
"x1",
|
|
4890
4897
|
"x2",
|
|
4891
4898
|
"y2"
|
|
4892
|
-
],
|
|
4899
|
+
], $o = [
|
|
4893
4900
|
"stroke",
|
|
4894
4901
|
"x2",
|
|
4895
4902
|
"y1",
|
|
4896
4903
|
"y2"
|
|
4897
|
-
],
|
|
4904
|
+
], es = ["clip-path"], ts = [
|
|
4898
4905
|
"data-y-axis-index",
|
|
4899
4906
|
"x2",
|
|
4900
4907
|
"y1",
|
|
@@ -4902,7 +4909,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
4902
4909
|
"stroke",
|
|
4903
4910
|
"stroke-width",
|
|
4904
4911
|
"stroke-dasharray"
|
|
4905
|
-
],
|
|
4912
|
+
], ns = ["x", "y"], rs = /* @__PURE__ */ l({
|
|
4906
4913
|
__name: "WaveformTrackBackdrop",
|
|
4907
4914
|
props: {
|
|
4908
4915
|
track: {},
|
|
@@ -4927,12 +4934,12 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
4927
4934
|
height: t.track.height,
|
|
4928
4935
|
fill: t.frameStyle.backgroundColor,
|
|
4929
4936
|
"aria-hidden": "true"
|
|
4930
|
-
}, null, 8,
|
|
4937
|
+
}, null, 8, Ko)) : r("", !0),
|
|
4931
4938
|
!t.track.isEmpty && t.track.hasVisibleSeries && !t.cleanView ? (y(), i("g", {
|
|
4932
4939
|
key: 1,
|
|
4933
4940
|
"clip-path": `url(#${t.clipPathId}-${t.track.index})`,
|
|
4934
4941
|
"aria-hidden": "true"
|
|
4935
|
-
}, [a("g",
|
|
4942
|
+
}, [a("g", Jo, [t.track.gridLines.vertical ? (y(!0), i(e, { key: 0 }, S(t.track.xMinorTicks, (e) => (y(), i("line", {
|
|
4936
4943
|
key: `x-minor-${t.track.index}-${e}`,
|
|
4937
4944
|
"data-grid-direction": "vertical",
|
|
4938
4945
|
stroke: t.track.gridLines.verticalColor,
|
|
@@ -4940,7 +4947,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
4940
4947
|
x2: t.track.xScale(e),
|
|
4941
4948
|
y1: "0",
|
|
4942
4949
|
y2: t.track.height
|
|
4943
|
-
}, null, 8,
|
|
4950
|
+
}, null, 8, Yo))), 128)) : r("", !0), t.track.gridLines.horizontal ? (y(!0), i(e, { key: 1 }, S(t.track.yMinorTicks, (e) => (y(), i("line", {
|
|
4944
4951
|
key: `y-minor-${t.track.index}-${e}`,
|
|
4945
4952
|
"data-grid-direction": "horizontal",
|
|
4946
4953
|
stroke: t.track.gridLines.horizontalColor,
|
|
@@ -4948,7 +4955,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
4948
4955
|
x2: t.track.width ?? t.innerWidth,
|
|
4949
4956
|
y1: t.track.yScale(e),
|
|
4950
4957
|
y2: t.track.yScale(e)
|
|
4951
|
-
}, null, 8,
|
|
4958
|
+
}, null, 8, Xo))), 128)) : r("", !0)]), a("g", Zo, [t.track.gridLines.vertical ? (y(!0), i(e, { key: 0 }, S(t.track.xMajorTicks, (e) => (y(), i("line", {
|
|
4952
4959
|
key: `x-major-${t.track.index}-${e}`,
|
|
4953
4960
|
"data-grid-direction": "vertical",
|
|
4954
4961
|
stroke: t.track.gridLines.verticalColor,
|
|
@@ -4956,7 +4963,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
4956
4963
|
x2: t.track.xScale(e),
|
|
4957
4964
|
y1: "0",
|
|
4958
4965
|
y2: t.track.height
|
|
4959
|
-
}, null, 8,
|
|
4966
|
+
}, null, 8, Qo))), 128)) : r("", !0), t.track.gridLines.horizontal ? (y(!0), i(e, { key: 1 }, S(t.track.yMajorTicks, (e) => (y(), i("line", {
|
|
4960
4967
|
key: `y-major-${t.track.index}-${e}`,
|
|
4961
4968
|
"data-grid-direction": "horizontal",
|
|
4962
4969
|
stroke: t.track.gridLines.horizontalColor,
|
|
@@ -4964,7 +4971,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
4964
4971
|
x2: t.track.width ?? t.innerWidth,
|
|
4965
4972
|
y1: t.track.yScale(e),
|
|
4966
4973
|
y2: t.track.yScale(e)
|
|
4967
|
-
}, null, 8,
|
|
4974
|
+
}, null, 8, $o))), 128)) : r("", !0)])], 8, qo)) : r("", !0),
|
|
4968
4975
|
!t.track.isEmpty && t.track.hasVisibleSeries && t.zeroLine.visible && !t.cleanView ? (y(), i("g", {
|
|
4969
4976
|
key: 2,
|
|
4970
4977
|
class: "waveform-track__zero-lines waveform-chart__zero-lines",
|
|
@@ -4981,7 +4988,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
4981
4988
|
stroke: t.zeroLine.color,
|
|
4982
4989
|
"stroke-width": t.zeroLine.width,
|
|
4983
4990
|
"stroke-dasharray": t.zeroLine.dash || void 0
|
|
4984
|
-
}, null, 8,
|
|
4991
|
+
}, null, 8, ts))], 64))), 128))], 8, es)) : r("", !0),
|
|
4985
4992
|
!t.track.isEmpty && t.track.hasVisibleSeries && t.frameNumber !== void 0 && !t.cleanView ? (y(), i("text", {
|
|
4986
4993
|
key: 3,
|
|
4987
4994
|
class: "waveform-track__watermark waveform-chart__watermark",
|
|
@@ -4991,10 +4998,10 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
4991
4998
|
"text-anchor": "middle",
|
|
4992
4999
|
"dominant-baseline": "central",
|
|
4993
5000
|
"aria-hidden": "true"
|
|
4994
|
-
}, T(t.frameNumber), 13,
|
|
5001
|
+
}, T(t.frameNumber), 13, ns)) : r("", !0)
|
|
4995
5002
|
], 64));
|
|
4996
5003
|
}
|
|
4997
|
-
}),
|
|
5004
|
+
}), is = [
|
|
4998
5005
|
"data-track-index",
|
|
4999
5006
|
"data-track-id",
|
|
5000
5007
|
"data-track-empty",
|
|
@@ -5004,19 +5011,19 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
5004
5011
|
"data-track-top",
|
|
5005
5012
|
"data-track-height",
|
|
5006
5013
|
"transform"
|
|
5007
|
-
],
|
|
5014
|
+
], as = [
|
|
5008
5015
|
"width",
|
|
5009
5016
|
"height",
|
|
5010
5017
|
"stroke",
|
|
5011
5018
|
"stroke-width",
|
|
5012
5019
|
"stroke-dasharray",
|
|
5013
5020
|
"stroke-linecap"
|
|
5014
|
-
],
|
|
5021
|
+
], os = [
|
|
5015
5022
|
"data-interactive",
|
|
5016
5023
|
"data-independent-overlay-index",
|
|
5017
5024
|
"width",
|
|
5018
5025
|
"height"
|
|
5019
|
-
],
|
|
5026
|
+
], ss = ["x", "y"], cs = /* @__PURE__ */ l({
|
|
5020
5027
|
__name: "WaveformTrack",
|
|
5021
5028
|
props: {
|
|
5022
5029
|
track: {},
|
|
@@ -5076,7 +5083,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
5076
5083
|
"data-track-height": e.track.height,
|
|
5077
5084
|
transform: `translate(${e.track.left ?? 0}, ${e.track.top})`
|
|
5078
5085
|
}, [
|
|
5079
|
-
s(
|
|
5086
|
+
s(rs, {
|
|
5080
5087
|
track: e.track,
|
|
5081
5088
|
"clip-path-id": e.clipPathId,
|
|
5082
5089
|
"inner-width": e.innerWidth,
|
|
@@ -5093,7 +5100,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
5093
5100
|
"frame-style",
|
|
5094
5101
|
"zero-line"
|
|
5095
5102
|
]),
|
|
5096
|
-
s(
|
|
5103
|
+
s(Go, {
|
|
5097
5104
|
track: e.track,
|
|
5098
5105
|
"inner-width": e.innerWidth,
|
|
5099
5106
|
"clean-view": e.cleanView,
|
|
@@ -5119,8 +5126,8 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
5119
5126
|
"stroke-dasharray": c.value.borderStyle === "dashed" ? "6 4" : c.value.borderStyle === "dotted" ? "1 3" : void 0,
|
|
5120
5127
|
"stroke-linecap": c.value.borderStyle === "dotted" ? "round" : void 0,
|
|
5121
5128
|
"aria-hidden": "true"
|
|
5122
|
-
}, null, 8,
|
|
5123
|
-
s(
|
|
5129
|
+
}, null, 8, as)),
|
|
5130
|
+
s(No, {
|
|
5124
5131
|
track: e.track,
|
|
5125
5132
|
"clip-path-id": e.clipPathId
|
|
5126
5133
|
}, null, 8, ["track", "clip-path-id"]),
|
|
@@ -5142,7 +5149,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
5142
5149
|
onPointerleave: n[4] ||= (e) => o("pointer-leave"),
|
|
5143
5150
|
onClick: n[5] ||= (e) => o("click", e),
|
|
5144
5151
|
onContextmenu: n[6] ||= (e) => o("contextmenu", e)
|
|
5145
|
-
}, null, 42,
|
|
5152
|
+
}, null, 42, os)) : r("", !0),
|
|
5146
5153
|
!e.track.isEmpty && !e.track.hasVisibleSeries && !e.cleanView ? (y(), i("text", {
|
|
5147
5154
|
key: 2,
|
|
5148
5155
|
class: "waveform-track__no-visible-series",
|
|
@@ -5150,33 +5157,33 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
5150
5157
|
y: e.track.height / 2,
|
|
5151
5158
|
"text-anchor": "middle",
|
|
5152
5159
|
"dominant-baseline": "central"
|
|
5153
|
-
}, " 暂无可见曲线 ", 8,
|
|
5154
|
-
], 10,
|
|
5160
|
+
}, " 暂无可见曲线 ", 8, ss)) : r("", !0)
|
|
5161
|
+
], 10, is));
|
|
5155
5162
|
}
|
|
5156
|
-
}),
|
|
5163
|
+
}), ls = [
|
|
5157
5164
|
"width",
|
|
5158
5165
|
"height",
|
|
5159
5166
|
"data-position",
|
|
5160
5167
|
"data-orientation"
|
|
5161
|
-
],
|
|
5168
|
+
], us = [
|
|
5162
5169
|
"disabled",
|
|
5163
5170
|
"aria-pressed",
|
|
5164
5171
|
"aria-label",
|
|
5165
5172
|
"onClick"
|
|
5166
|
-
],
|
|
5173
|
+
], ds = [
|
|
5167
5174
|
"data-line-type",
|
|
5168
5175
|
"data-line-style",
|
|
5169
5176
|
"data-point-type",
|
|
5170
5177
|
"data-error-bar-visible"
|
|
5171
|
-
],
|
|
5178
|
+
], fs = [
|
|
5172
5179
|
"d",
|
|
5173
5180
|
"stroke",
|
|
5174
5181
|
"stroke-dasharray"
|
|
5175
|
-
],
|
|
5182
|
+
], ps = [
|
|
5176
5183
|
"d",
|
|
5177
5184
|
"stroke",
|
|
5178
5185
|
"stroke-width"
|
|
5179
|
-
],
|
|
5186
|
+
], ms = ["d", "fill"], hs = ["title"], gs = /*#__PURE__*/ nt(/* @__PURE__ */ l({
|
|
5180
5187
|
__name: "WaveformLegend",
|
|
5181
5188
|
props: {
|
|
5182
5189
|
series: {},
|
|
@@ -5234,45 +5241,45 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
5234
5241
|
"data-point-type": e.pointType,
|
|
5235
5242
|
"data-error-bar-visible": e.errorBar.visible || void 0
|
|
5236
5243
|
}, [
|
|
5237
|
-
D(
|
|
5244
|
+
D(Co)(e.lineType) ? (y(), i("path", {
|
|
5238
5245
|
key: 0,
|
|
5239
5246
|
class: "waveform-legend__line",
|
|
5240
|
-
d: D(
|
|
5247
|
+
d: D(Co)(e.lineType) ?? void 0,
|
|
5241
5248
|
stroke: e.color,
|
|
5242
|
-
"stroke-dasharray": D(
|
|
5243
|
-
"stroke-width": "
|
|
5249
|
+
"stroke-dasharray": D(wo)(e.lineStyle),
|
|
5250
|
+
"stroke-width": "2.5",
|
|
5244
5251
|
fill: "none"
|
|
5245
|
-
}, null, 8,
|
|
5252
|
+
}, null, 8, fs)) : r("", !0),
|
|
5246
5253
|
e.errorBar.visible ? (y(), i("path", {
|
|
5247
5254
|
key: 1,
|
|
5248
5255
|
class: "waveform-legend__error-bar",
|
|
5249
|
-
d: D(
|
|
5256
|
+
d: D(To)(e.errorBar.capWidth),
|
|
5250
5257
|
stroke: e.errorBar.color || e.color,
|
|
5251
5258
|
"stroke-width": e.errorBar.width,
|
|
5252
5259
|
"stroke-linecap": "butt",
|
|
5253
5260
|
fill: "none"
|
|
5254
|
-
}, null, 8,
|
|
5261
|
+
}, null, 8, ps)) : r("", !0),
|
|
5255
5262
|
e.pointType === "none" ? r("", !0) : (y(), i("path", {
|
|
5256
5263
|
key: 2,
|
|
5257
5264
|
class: "waveform-legend__point",
|
|
5258
|
-
d: D(
|
|
5265
|
+
d: D(xo)(e.pointType, 30) ?? void 0,
|
|
5259
5266
|
fill: e.color,
|
|
5260
5267
|
transform: "translate(13 8)"
|
|
5261
|
-
}, null, 8,
|
|
5262
|
-
], 8,
|
|
5268
|
+
}, null, 8, ms))
|
|
5269
|
+
], 8, ds)), a("span", {
|
|
5263
5270
|
class: "waveform-legend__label",
|
|
5264
5271
|
title: e.name
|
|
5265
|
-
}, T(e.name), 9,
|
|
5272
|
+
}, T(e.name), 9, hs)], 10, us))), 128))], 6)], 2)], 8, ls));
|
|
5266
5273
|
}
|
|
5267
|
-
}), [["__scopeId", "data-v-
|
|
5274
|
+
}), [["__scopeId", "data-v-3b9e78d8"]]), _s = {
|
|
5268
5275
|
class: "waveform-chart__hover-layer",
|
|
5269
5276
|
"pointer-events": "none",
|
|
5270
5277
|
"aria-hidden": "true"
|
|
5271
|
-
},
|
|
5278
|
+
}, vs = ["clip-path", "transform"], ys = [
|
|
5272
5279
|
"x1",
|
|
5273
5280
|
"x2",
|
|
5274
5281
|
"y2"
|
|
5275
|
-
],
|
|
5282
|
+
], bs = /*#__PURE__*/ nt(/* @__PURE__ */ l({
|
|
5276
5283
|
__name: "WaveformHoverLayer",
|
|
5277
5284
|
props: {
|
|
5278
5285
|
state: {},
|
|
@@ -5288,7 +5295,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
5288
5295
|
x: e.xScale(n)
|
|
5289
5296
|
}] : [];
|
|
5290
5297
|
}));
|
|
5291
|
-
return (t, r) => (y(), i("g",
|
|
5298
|
+
return (t, r) => (y(), i("g", _s, [(y(!0), i(e, null, S(o.value, (e) => (y(), i("g", {
|
|
5292
5299
|
key: e.track.index,
|
|
5293
5300
|
class: "waveform-track__crosshair waveform-chart__crosshair",
|
|
5294
5301
|
"clip-path": `url(#${n.clipPathId}-${e.track.index})`,
|
|
@@ -5298,9 +5305,9 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
5298
5305
|
x2: e.x,
|
|
5299
5306
|
y1: "0",
|
|
5300
5307
|
y2: e.track.height
|
|
5301
|
-
}, null, 8,
|
|
5308
|
+
}, null, 8, ys)], 8, vs))), 128))]));
|
|
5302
5309
|
}
|
|
5303
|
-
}), [["__scopeId", "data-v-54a5a37d"]]),
|
|
5310
|
+
}), [["__scopeId", "data-v-54a5a37d"]]), xs = [
|
|
5304
5311
|
"data-display-mode",
|
|
5305
5312
|
"data-interaction-mode",
|
|
5306
5313
|
"data-presentation-mode",
|
|
@@ -5309,40 +5316,40 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
5309
5316
|
"data-plot-margin-top",
|
|
5310
5317
|
"data-plot-margin-bottom",
|
|
5311
5318
|
"data-title-area-height"
|
|
5312
|
-
],
|
|
5319
|
+
], Ss = [
|
|
5313
5320
|
"role",
|
|
5314
5321
|
"aria-level",
|
|
5315
5322
|
"aria-hidden"
|
|
5316
|
-
],
|
|
5323
|
+
], Cs = ["data-title-scale", "data-title-wrapped"], ws = [
|
|
5317
5324
|
"width",
|
|
5318
5325
|
"height",
|
|
5319
5326
|
"aria-label"
|
|
5320
|
-
],
|
|
5327
|
+
], Ts = ["id"], Es = ["width", "height"], Ds = ["transform"], Os = {
|
|
5321
5328
|
key: 0,
|
|
5322
5329
|
class: "waveform-chart__grid-slots",
|
|
5323
5330
|
"aria-hidden": "true"
|
|
5324
|
-
},
|
|
5331
|
+
}, ks = ["transform"], As = ["width", "height"], js = ["width", "height"], Ms = [
|
|
5325
5332
|
"x",
|
|
5326
5333
|
"y",
|
|
5327
5334
|
"width",
|
|
5328
5335
|
"height"
|
|
5329
|
-
],
|
|
5336
|
+
], Ns = {
|
|
5330
5337
|
key: 4,
|
|
5331
5338
|
class: "waveform-chart__legend-layer"
|
|
5332
|
-
},
|
|
5339
|
+
}, Ps = [
|
|
5333
5340
|
"data-legend-track-index",
|
|
5334
5341
|
"data-legend-track-id",
|
|
5335
5342
|
"transform"
|
|
5336
|
-
],
|
|
5343
|
+
], Fs = ["x", "y"], Is = ["x", "y"], Ls = /* @__PURE__ */ l({
|
|
5337
5344
|
__name: "WaveformChartView",
|
|
5338
5345
|
props: { controller: {} },
|
|
5339
5346
|
setup(t) {
|
|
5340
|
-
let { displayMode: o, activeInteractionMode: c, isCleanView: l, isPresentationMode: u, selection: d, containerStyle: f, overlayMode: h, resolvedChartLeftMargin: g, titleAreaHeight: _, resolvedPlotMargin: v, pointerInsideChart: b, handleNativeContextMenu: x, titleAreaReserved: C, titleAreaStyle: w, titleVisible: O, titleMeasureStyle: k, resolvedTitleText: A, titleVisualStyle: j, titleTextStyle: M, titleLayout: N, chartWidth: P, drawingHeight: F, hasWaveformData: I, requestViewportReset: L, trackLayouts: R, clipPathId: z, chartTopMargin: B, gridCells: V, hasVisibleWaveformData: H, zoomable: U, isZoomMode: W, innerWidth: G, innerHeight: ee, handleSharedPointerMove: te, beginSharedViewportDrag: ne, finishViewportDrag: re, cancelViewportDrag: K, handlePointerLeave: q, handleAnnotationClick:
|
|
5341
|
-
function
|
|
5347
|
+
let { displayMode: o, activeInteractionMode: c, isCleanView: l, isPresentationMode: u, selection: d, containerStyle: f, overlayMode: h, resolvedChartLeftMargin: g, titleAreaHeight: _, resolvedPlotMargin: v, pointerInsideChart: b, handleNativeContextMenu: x, titleAreaReserved: C, titleAreaStyle: w, titleVisible: O, titleMeasureStyle: k, resolvedTitleText: A, titleVisualStyle: j, titleTextStyle: M, titleLayout: N, chartWidth: P, drawingHeight: F, hasWaveformData: I, requestViewportReset: L, trackLayouts: R, clipPathId: z, chartTopMargin: B, gridCells: V, hasVisibleWaveformData: H, zoomable: U, isZoomMode: W, innerWidth: G, innerHeight: ee, handleSharedPointerMove: te, beginSharedViewportDrag: ne, finishViewportDrag: re, cancelViewportDrag: K, handlePointerLeave: q, handleAnnotationClick: ie, handleAnnotationContextMenu: J, resolveFrameNumber: ae, frameStyle: oe, axes: se, resolvedZeroLine: le, timeUnit: ue, yLabel: de, handleIndependentPointerMove: fe, beginViewportDrag: Y, hoverState: pe, showTooltip: me, selectionBox: he, renderedAnnotations: ge, annotationsVisible: _e, handleExistingAnnotationContextMenu: ve, beginAnnotationDrag: ye, handleAnnotationMove: be, endAnnotationDrag: xe, resolveLegendPosition: Se, resolveLegendOrientation: Ce, legendBackgroundColor: X, legendInteractive: we, resolvedHiddenSeriesIds: Te, toggleSeriesVisibility: Ee, resolvedXLabel: De, xAxisTitleY: Oe, hasChartArea: ke, gridOptions: Ae, pageCount: je, currentPage: Me, getPageSize: Ne, pageableTracks: Pe, goToPage: Fe, annotationInteraction: Ie, editorDraft: Le, contextMenu: Re, editorSeries: ze, editorSeriesOptions: Be, timeError: Ve, confirmAnnotation: He, cancelAnnotation: Ue, changeDraftSeries: We, changeDraftTime: Ge, editContextAnnotation: Ke, deleteContextAnnotation: qe, chartHeight: Je, setContainer: Ye, setSvgElement: Xe, setTitleMeasureElement: Ze, setSharedOverlayElement: Qe } = E(t.controller);
|
|
5348
|
+
function $e() {
|
|
5342
5349
|
b.value = !1, q.value();
|
|
5343
5350
|
}
|
|
5344
5351
|
return (t, E) => (y(), i("div", {
|
|
5345
|
-
ref: D(
|
|
5352
|
+
ref: D(Ye),
|
|
5346
5353
|
class: p(["waveform-chart", [
|
|
5347
5354
|
`waveform-chart--${D(o)}`,
|
|
5348
5355
|
`waveform-chart--interaction-${D(c)}`,
|
|
@@ -5362,7 +5369,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
5362
5369
|
"data-plot-margin-bottom": D(v).bottom,
|
|
5363
5370
|
"data-title-area-height": D(_),
|
|
5364
5371
|
onPointerenter: E[8] ||= (e) => b.value = !0,
|
|
5365
|
-
onPointerleave:
|
|
5372
|
+
onPointerleave: $e,
|
|
5366
5373
|
onContextmenuCapture: E[9] ||= (...e) => D(x) && D(x)(...e)
|
|
5367
5374
|
}, [
|
|
5368
5375
|
D(C) ? (y(), i("div", {
|
|
@@ -5373,7 +5380,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
5373
5380
|
"aria-level": D(O) ? 2 : void 0,
|
|
5374
5381
|
"aria-hidden": D(l) || void 0
|
|
5375
5382
|
}, [a("span", {
|
|
5376
|
-
ref: D(
|
|
5383
|
+
ref: D(Ze),
|
|
5377
5384
|
class: "waveform-chart__title-measure",
|
|
5378
5385
|
style: m(D(k)),
|
|
5379
5386
|
"aria-hidden": "true"
|
|
@@ -5386,9 +5393,9 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
5386
5393
|
style: m(D(M)),
|
|
5387
5394
|
"data-title-scale": D(N).scale,
|
|
5388
5395
|
"data-title-wrapped": D(N).wrapped || void 0
|
|
5389
|
-
}, T(D(A)), 13,
|
|
5396
|
+
}, T(D(A)), 13, Cs)], 4)) : r("", !0)], 12, Ss)) : r("", !0),
|
|
5390
5397
|
(y(), i("svg", {
|
|
5391
|
-
ref: D(
|
|
5398
|
+
ref: D(Xe),
|
|
5392
5399
|
class: "waveform-chart__svg",
|
|
5393
5400
|
width: D(P),
|
|
5394
5401
|
height: D(F),
|
|
@@ -5403,9 +5410,9 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
5403
5410
|
}, [a("rect", {
|
|
5404
5411
|
width: e.width,
|
|
5405
5412
|
height: e.height
|
|
5406
|
-
}, null, 8,
|
|
5413
|
+
}, null, 8, Es)], 8, Ts))), 128))]),
|
|
5407
5414
|
a("g", { transform: `translate(${D(g)}, ${D(B)})` }, [
|
|
5408
|
-
D(o) !== "compact" && !D(l) ? (y(), i("g",
|
|
5415
|
+
D(o) !== "compact" && !D(l) ? (y(), i("g", Os, [(y(!0), i(e, null, S(D(V), (e) => (y(), i("g", {
|
|
5409
5416
|
key: `grid-slot-${e.slotIndex}`,
|
|
5410
5417
|
transform: `translate(${e.left}, ${e.top})`
|
|
5411
5418
|
}, [e.series ? r("", !0) : (y(), i("rect", {
|
|
@@ -5413,10 +5420,10 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
5413
5420
|
class: "waveform-chart__grid-slot-placeholder",
|
|
5414
5421
|
width: e.width,
|
|
5415
5422
|
height: e.cellHeight
|
|
5416
|
-
}, null, 8,
|
|
5423
|
+
}, null, 8, As))], 8, ks))), 128))])) : r("", !0),
|
|
5417
5424
|
D(o) !== "independent" && D(R).length && D(H) ? (y(), i("rect", {
|
|
5418
5425
|
key: 1,
|
|
5419
|
-
ref: D(
|
|
5426
|
+
ref: D(Qe),
|
|
5420
5427
|
class: p(["waveform-chart__overlay waveform-chart__overlay--shared", {
|
|
5421
5428
|
"is-zoomable": !D(u) && D(U) && D(W),
|
|
5422
5429
|
"is-annotating": !D(u) && D(c) === "annotation"
|
|
@@ -5428,10 +5435,10 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
5428
5435
|
onPointerup: E[2] ||= (...e) => D(re) && D(re)(...e),
|
|
5429
5436
|
onPointercancel: E[3] ||= (...e) => D(K) && D(K)(...e),
|
|
5430
5437
|
onPointerleave: E[4] ||= (...e) => D(q) && D(q)(...e),
|
|
5431
|
-
onClick: E[5] ||= (...e) => D(
|
|
5432
|
-
onContextmenu: E[6] ||= (...e) => D(
|
|
5433
|
-
}, null, 42,
|
|
5434
|
-
(y(!0), i(e, null, S(D(R), (e) => (y(), n(D(
|
|
5438
|
+
onClick: E[5] ||= (...e) => D(ie) && D(ie)(...e),
|
|
5439
|
+
onContextmenu: E[6] ||= (...e) => D(J) && D(J)(...e)
|
|
5440
|
+
}, null, 42, js)) : r("", !0),
|
|
5441
|
+
(y(!0), i(e, null, S(D(R), (e) => (y(), n(D(cs), {
|
|
5435
5442
|
key: `${e.index}-${e.id}`,
|
|
5436
5443
|
track: e,
|
|
5437
5444
|
"clip-path-id": D(z),
|
|
@@ -5442,18 +5449,18 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
5442
5449
|
"interaction-mode": D(c),
|
|
5443
5450
|
"frame-number": D(ae)(e.id),
|
|
5444
5451
|
"frame-style": D(oe),
|
|
5445
|
-
axes: D(
|
|
5452
|
+
axes: D(se),
|
|
5446
5453
|
"clean-view": D(l),
|
|
5447
5454
|
"zero-line": D(le),
|
|
5448
5455
|
"time-unit": D(ue),
|
|
5449
5456
|
"y-label": D(de),
|
|
5450
|
-
onPointerMove: (t) => D(
|
|
5451
|
-
onPointerDown: (t) => D(
|
|
5457
|
+
onPointerMove: (t) => D(fe)(t, e.index),
|
|
5458
|
+
onPointerDown: (t) => D(Y)(t, e.index, !0),
|
|
5452
5459
|
onPointerUp: D(re),
|
|
5453
5460
|
onPointerCancel: D(K),
|
|
5454
5461
|
onPointerLeave: D(q),
|
|
5455
|
-
onClick: (t) => D(
|
|
5456
|
-
onContextmenu: (t) => D(
|
|
5462
|
+
onClick: (t) => D(ie)(t, e.index),
|
|
5463
|
+
onContextmenu: (t) => D(J)(t, e.index)
|
|
5457
5464
|
}, null, 8, [
|
|
5458
5465
|
"track",
|
|
5459
5466
|
"clip-path-id",
|
|
@@ -5477,35 +5484,35 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
5477
5484
|
"onClick",
|
|
5478
5485
|
"onContextmenu"
|
|
5479
5486
|
]))), 128)),
|
|
5480
|
-
s(D(
|
|
5481
|
-
state: D(
|
|
5487
|
+
s(D(bs), {
|
|
5488
|
+
state: D(pe),
|
|
5482
5489
|
tracks: D(R),
|
|
5483
5490
|
"clip-path-id": D(z),
|
|
5484
|
-
visible: D(
|
|
5491
|
+
visible: D(me) && !D(u)
|
|
5485
5492
|
}, null, 8, [
|
|
5486
5493
|
"state",
|
|
5487
5494
|
"tracks",
|
|
5488
5495
|
"clip-path-id",
|
|
5489
5496
|
"visible"
|
|
5490
5497
|
]),
|
|
5491
|
-
D(
|
|
5498
|
+
D(he) && D(d)?.kind === "box" ? (y(), i("rect", {
|
|
5492
5499
|
key: 2,
|
|
5493
5500
|
class: "waveform-chart__zoom-selection",
|
|
5494
|
-
x: D(
|
|
5495
|
-
y: D(
|
|
5496
|
-
width: D(
|
|
5497
|
-
height: D(
|
|
5501
|
+
x: D(he).x,
|
|
5502
|
+
y: D(he).y,
|
|
5503
|
+
width: D(he).width,
|
|
5504
|
+
height: D(he).height,
|
|
5498
5505
|
"aria-hidden": "true"
|
|
5499
|
-
}, null, 8,
|
|
5500
|
-
D(l) ? r("", !0) : (y(), n(D(
|
|
5506
|
+
}, null, 8, Ms)) : r("", !0),
|
|
5507
|
+
D(l) ? r("", !0) : (y(), n(D(rt), {
|
|
5501
5508
|
key: 3,
|
|
5502
|
-
annotations: D(
|
|
5503
|
-
visible: D(
|
|
5509
|
+
annotations: D(ge),
|
|
5510
|
+
visible: D(_e),
|
|
5504
5511
|
interactive: !D(u),
|
|
5505
|
-
onContextmenu: D(
|
|
5506
|
-
onDragStart: D(
|
|
5507
|
-
onMove: D(
|
|
5508
|
-
onDragEnd: D(
|
|
5512
|
+
onContextmenu: D(ve),
|
|
5513
|
+
onDragStart: D(ye),
|
|
5514
|
+
onMove: D(be),
|
|
5515
|
+
onDragEnd: D(xe)
|
|
5509
5516
|
}, null, 8, [
|
|
5510
5517
|
"annotations",
|
|
5511
5518
|
"visible",
|
|
@@ -5515,23 +5522,23 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
5515
5522
|
"onMove",
|
|
5516
5523
|
"onDragEnd"
|
|
5517
5524
|
])),
|
|
5518
|
-
D(l) ? r("", !0) : (y(), i("g",
|
|
5525
|
+
D(l) ? r("", !0) : (y(), i("g", Ns, [(y(!0), i(e, null, S(D(R), (e) => (y(), i("g", {
|
|
5519
5526
|
key: `legend-${e.index}-${e.id}`,
|
|
5520
5527
|
class: "waveform-chart__legend-track",
|
|
5521
5528
|
"data-legend-track-index": e.index,
|
|
5522
5529
|
"data-legend-track-id": e.id,
|
|
5523
5530
|
transform: `translate(${e.left}, ${e.top})`
|
|
5524
|
-
}, [!e.isEmpty && e.legendSeries.length > 1 ? (y(), n(D(
|
|
5531
|
+
}, [!e.isEmpty && e.legendSeries.length > 1 ? (y(), n(D(gs), {
|
|
5525
5532
|
key: 0,
|
|
5526
5533
|
series: e.legendSeries,
|
|
5527
|
-
position: D(
|
|
5528
|
-
orientation: D(
|
|
5529
|
-
"background-color": D(
|
|
5530
|
-
interactive: D(
|
|
5531
|
-
"hidden-series-ids": D(
|
|
5534
|
+
position: D(Se)(e.id),
|
|
5535
|
+
orientation: D(Ce)(D(Se)(e.id)),
|
|
5536
|
+
"background-color": D(X),
|
|
5537
|
+
interactive: D(we),
|
|
5538
|
+
"hidden-series-ids": D(Te),
|
|
5532
5539
|
width: e.width ?? D(G),
|
|
5533
5540
|
height: e.height,
|
|
5534
|
-
onToggle: D(
|
|
5541
|
+
onToggle: D(Ee)
|
|
5535
5542
|
}, null, 8, [
|
|
5536
5543
|
"series",
|
|
5537
5544
|
"position",
|
|
@@ -5542,51 +5549,51 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
5542
5549
|
"width",
|
|
5543
5550
|
"height",
|
|
5544
5551
|
"onToggle"
|
|
5545
|
-
])) : r("", !0)], 8,
|
|
5546
|
-
], 8,
|
|
5547
|
-
D(
|
|
5552
|
+
])) : r("", !0)], 8, Ps))), 128))]))
|
|
5553
|
+
], 8, Ds),
|
|
5554
|
+
D(De) && !D(l) ? (y(), i("text", {
|
|
5548
5555
|
key: 0,
|
|
5549
5556
|
class: "waveform-chart__label waveform-chart__x-label",
|
|
5550
5557
|
x: D(g) + D(G) / 2,
|
|
5551
|
-
y: D(
|
|
5558
|
+
y: D(Oe),
|
|
5552
5559
|
"text-anchor": "middle"
|
|
5553
|
-
}, T(D(
|
|
5554
|
-
D(
|
|
5560
|
+
}, T(D(De)), 9, Fs)) : r("", !0),
|
|
5561
|
+
D(ke) && !D(I) ? (y(), i("text", {
|
|
5555
5562
|
key: 1,
|
|
5556
5563
|
class: "waveform-chart__empty",
|
|
5557
5564
|
x: D(P) / 2,
|
|
5558
5565
|
y: D(F) / 2,
|
|
5559
5566
|
"text-anchor": "middle"
|
|
5560
|
-
}, " 暂无有效波形数据 ", 8,
|
|
5561
|
-
], 40,
|
|
5562
|
-
D(
|
|
5567
|
+
}, " 暂无有效波形数据 ", 8, Is)) : r("", !0)
|
|
5568
|
+
], 40, ws)),
|
|
5569
|
+
D(Ae).showPagination && D(je) > 1 && !D(l) ? (y(), n(D(ce), {
|
|
5563
5570
|
key: 1,
|
|
5564
5571
|
class: "waveform-chart__pagination",
|
|
5565
5572
|
"aria-label": "波形分页",
|
|
5566
|
-
current: D(
|
|
5567
|
-
"page-size": D(
|
|
5568
|
-
total: D(
|
|
5573
|
+
current: D(Me),
|
|
5574
|
+
"page-size": D(Ne)(D(Ae)),
|
|
5575
|
+
total: D(Pe).length,
|
|
5569
5576
|
"show-size-changer": !1,
|
|
5570
5577
|
"show-quick-jumper": !1,
|
|
5571
|
-
onChange: D(
|
|
5578
|
+
onChange: D(Fe)
|
|
5572
5579
|
}, null, 8, [
|
|
5573
5580
|
"current",
|
|
5574
5581
|
"page-size",
|
|
5575
5582
|
"total",
|
|
5576
5583
|
"onChange"
|
|
5577
5584
|
])) : r("", !0),
|
|
5578
|
-
D(
|
|
5585
|
+
D(Le) && !D(l) && !D(u) ? (y(), n(io, {
|
|
5579
5586
|
key: 2,
|
|
5580
|
-
annotation: D(
|
|
5581
|
-
mode: D(
|
|
5582
|
-
series: D(
|
|
5583
|
-
"series-options": D(
|
|
5587
|
+
annotation: D(Le).annotation,
|
|
5588
|
+
mode: D(Le).mode,
|
|
5589
|
+
series: D(ze),
|
|
5590
|
+
"series-options": D(Be),
|
|
5584
5591
|
"time-unit": D(ue),
|
|
5585
|
-
"time-error": D(
|
|
5586
|
-
onConfirm: D(
|
|
5587
|
-
onCancel: D(
|
|
5588
|
-
onSeriesChange: D(
|
|
5589
|
-
onTimeChange: D(
|
|
5592
|
+
"time-error": D(Ve),
|
|
5593
|
+
onConfirm: D(He),
|
|
5594
|
+
onCancel: D(Ue),
|
|
5595
|
+
onSeriesChange: D(We),
|
|
5596
|
+
onTimeChange: D(Ge)
|
|
5590
5597
|
}, null, 8, [
|
|
5591
5598
|
"annotation",
|
|
5592
5599
|
"mode",
|
|
@@ -5599,15 +5606,15 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
5599
5606
|
"onSeriesChange",
|
|
5600
5607
|
"onTimeChange"
|
|
5601
5608
|
])) : r("", !0),
|
|
5602
|
-
!D(l) && !D(u) ? (y(), n(D(
|
|
5609
|
+
!D(l) && !D(u) ? (y(), n(D(it), {
|
|
5603
5610
|
key: 3,
|
|
5604
|
-
visible: D(
|
|
5605
|
-
x: D(
|
|
5606
|
-
y: D(
|
|
5607
|
-
"can-edit": !!D(
|
|
5608
|
-
onEdit: D(
|
|
5609
|
-
onDelete: D(
|
|
5610
|
-
onClose: D(
|
|
5611
|
+
visible: D(Re) !== null,
|
|
5612
|
+
x: D(Re)?.x || 0,
|
|
5613
|
+
y: D(Re)?.y || 0,
|
|
5614
|
+
"can-edit": !!D(Re)?.annotationId,
|
|
5615
|
+
onEdit: D(Ke),
|
|
5616
|
+
onDelete: D(qe),
|
|
5617
|
+
onClose: D(Ie).closeContextMenu
|
|
5611
5618
|
}, null, 8, [
|
|
5612
5619
|
"visible",
|
|
5613
5620
|
"x",
|
|
@@ -5617,12 +5624,12 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
5617
5624
|
"onDelete",
|
|
5618
5625
|
"onClose"
|
|
5619
5626
|
])) : r("", !0),
|
|
5620
|
-
s(D(
|
|
5621
|
-
state: D(
|
|
5622
|
-
visible: D(
|
|
5627
|
+
s(D(mo), {
|
|
5628
|
+
state: D(pe),
|
|
5629
|
+
visible: D(me) && !D(u),
|
|
5623
5630
|
"time-unit": D(ue),
|
|
5624
5631
|
"container-width": D(P),
|
|
5625
|
-
"container-height": D(
|
|
5632
|
+
"container-height": D(Je)
|
|
5626
5633
|
}, null, 8, [
|
|
5627
5634
|
"state",
|
|
5628
5635
|
"visible",
|
|
@@ -5630,9 +5637,9 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
5630
5637
|
"container-width",
|
|
5631
5638
|
"container-height"
|
|
5632
5639
|
])
|
|
5633
|
-
], 46,
|
|
5640
|
+
], 46, xs));
|
|
5634
5641
|
}
|
|
5635
|
-
}),
|
|
5642
|
+
}), Rs = /* @__PURE__ */ l({
|
|
5636
5643
|
__name: "WaveformChart",
|
|
5637
5644
|
props: {
|
|
5638
5645
|
data: {},
|
|
@@ -5660,7 +5667,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
5660
5667
|
maxZoomScale: {},
|
|
5661
5668
|
initialXDomain: {},
|
|
5662
5669
|
initialXDomains: {},
|
|
5663
|
-
xDomainStrategy: { default: () => ({ type: "
|
|
5670
|
+
xDomainStrategy: { default: () => ({ type: "integer-ms" }) },
|
|
5664
5671
|
yDomain: {},
|
|
5665
5672
|
yDomains: {},
|
|
5666
5673
|
timeUnit: { default: "ms" },
|
|
@@ -5716,12 +5723,12 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
5716
5723
|
"sampling-error"
|
|
5717
5724
|
],
|
|
5718
5725
|
setup(e, { expose: t, emit: r }) {
|
|
5719
|
-
let i =
|
|
5726
|
+
let i = za(e, r);
|
|
5720
5727
|
return t({
|
|
5721
5728
|
resetViewport: i.resetViewport,
|
|
5722
5729
|
setViewportDomain: i.setViewportDomain
|
|
5723
|
-
}), (e, t) => (y(), n(
|
|
5730
|
+
}), (e, t) => (y(), n(Ls, { controller: D(i) }, null, 8, ["controller"]));
|
|
5724
5731
|
}
|
|
5725
5732
|
});
|
|
5726
5733
|
//#endregion
|
|
5727
|
-
export {
|
|
5734
|
+
export { Q as DEFAULT_WAVEFORM_RENDERING_OPTIONS, Rs as WaveformChart, vt as buildMinorTicks, wi as calculateWasmRange, Rt as clamp, jt as displayTime, Ti as findWasmVisibleRange, Pt as formatAxisTime, Nt as formatEndpointTime, Ft as formatTooltipTime, Si as initializeWasmSampling, ln as normalizeWaveformData, fn as normalizeWaveformSeries, _t as paddedDomain, ht as parseWaveformAnnotations, Lt as resolveTrackGeometry, Dn as resolveWaveformRenderingOptions, Ci as sampleWaveformWasm, Fn as selectRenderablePoints, mt as serializeWaveformAnnotations };
|