waveform-analysis 0.1.63 → 0.1.65
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 +21 -5
- package/dist/index.cjs +1 -1
- package/dist/index.js +986 -964
- package/dist/style.css +1 -1
- package/dist/types/components/core/constants.d.ts +1 -1
- package/dist/types/components/core/trackLayoutBuilder.d.ts +1 -0
- package/dist/types/components/core/yAxisConstants.d.ts +1 -1
- package/dist/types/types/chart.d.ts +6 -1
- package/package.json +1 -1
- package/src/App.vue +2 -2
- package/src/components/WaveformChart.css +4 -0
- package/src/components/WaveformChart.vue +2 -2
- package/src/components/core/constants.ts +3 -3
- package/src/components/core/layout.ts +1 -1
- package/src/components/core/trackLayoutBuilder.ts +42 -1
- package/src/components/core/useWaveformLayout.ts +2 -1
- package/src/components/core/useWaveformPresentation.ts +1 -1
- package/src/components/core/xDomain.ts +26 -2
- package/src/components/core/yAxisConstants.ts +1 -1
- package/src/components/rendering/WaveformLegend.vue +1 -1
- package/src/components/rendering/WaveformSeriesLayer.vue +1 -1
- package/src/components/rendering/WaveformTrack.css +5 -2
- package/src/components/rendering/WaveformTrack.vue +7 -1
- package/src/components/rendering/WaveformTrackAxes.vue +8 -2
- package/src/demo/DemoChartHost.vue +1 -0
- package/src/types/chart.ts +6 -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
|
-
left:
|
|
1035
|
-
},
|
|
1034
|
+
left: 48
|
|
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
|
-
},
|
|
1042
|
-
COLOR: "#
|
|
1041
|
+
}, Gt = {
|
|
1042
|
+
COLOR: "#ff0000",
|
|
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,27 +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 =
|
|
1523
|
-
return t.flatMap((t, r) => {
|
|
1529
|
+
})), n = qn(t, e.grid.columnCount), r = t.flatMap((t, r) => {
|
|
1524
1530
|
let i = !t.series || t.series.series.length === 0;
|
|
1525
1531
|
if (!t.series && (e.displayMode !== "compact" || !e.showCompactEmptyTracks)) return [];
|
|
1526
1532
|
let a = t.series ?? {
|
|
@@ -1529,14 +1535,14 @@ function Zn(e) {
|
|
|
1529
1535
|
visibleSeries: [],
|
|
1530
1536
|
xDomain: [0, 1],
|
|
1531
1537
|
yDomain: [0, 1]
|
|
1532
|
-
}, o = !i && a.visibleSeries.length > 0, s = a.visibleSeries[0] ?? a.series[0] ?? null, c = e.displayMode === "independent" ? W(
|
|
1538
|
+
}, 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
1539
|
left: 0,
|
|
1534
1540
|
right: 0
|
|
1535
1541
|
}, f = {
|
|
1536
1542
|
left: 0,
|
|
1537
1543
|
right: 0
|
|
1538
1544
|
}, p = u.map((n) => {
|
|
1539
|
-
let r = d[n.side]++, i =
|
|
1545
|
+
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 + 20 + 4, p = e.yAxisSlots?.find((e) => e.side === n.side && e.sideIndex === r), m = p ? (n.side === "left" ? 0 : t.width) + p.axisOffset : n.side === "left" ? -f.left : t.width + f.right, h = l + 7 + 0 + 20 / 2, g = (p ? (n.side === "left" ? 0 : t.width) + p.labelOffset : m + (n.side === "left" ? -h : h)) - (n.side === "right" ? 10 : 0);
|
|
1540
1546
|
return p || (f[n.side] += u), {
|
|
1541
1547
|
index: n.index,
|
|
1542
1548
|
side: n.side,
|
|
@@ -1544,20 +1550,20 @@ function Zn(e) {
|
|
|
1544
1550
|
labelX: g,
|
|
1545
1551
|
scale: o,
|
|
1546
1552
|
majorTicks: s,
|
|
1547
|
-
minorTicks:
|
|
1553
|
+
minorTicks: vt(s, 2),
|
|
1548
1554
|
tickValues: c,
|
|
1549
1555
|
seriesList: n.seriesList
|
|
1550
1556
|
};
|
|
1551
1557
|
}), m = W(a.yDomain, [t.plotHeight, 0]);
|
|
1552
1558
|
e.yAxisNice !== !1 && m.nice();
|
|
1553
1559
|
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:
|
|
1560
|
+
start: Mt(y[0], y, e.timeUnit, "start", e.xAxisLabelFormatter),
|
|
1561
|
+
end: Mt(y[1], y, e.timeUnit, "end", e.xAxisLabelFormatter)
|
|
1556
1562
|
}, x = b.start.length * 7 + 10, S = b.end.length * 7 + 10, C = g.filter((e) => {
|
|
1557
1563
|
let n = l(e);
|
|
1558
1564
|
return n > x && n < t.width - S;
|
|
1559
1565
|
}), w = a.visibleSeries.map((n) => {
|
|
1560
|
-
let r = p.find((e) => e.seriesList.some((e) => e.id === n.id)), a = r?.scale ?? h, o =
|
|
1566
|
+
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
1567
|
lineVisible: !i && n.lineType !== "none",
|
|
1562
1568
|
linePointOverride: e.linePointOverrides?.[n.id],
|
|
1563
1569
|
pointVisible: n.pointType !== "none",
|
|
@@ -1592,7 +1598,7 @@ function Zn(e) {
|
|
|
1592
1598
|
yScale: h,
|
|
1593
1599
|
yAxes: p,
|
|
1594
1600
|
xMajorTicks: g,
|
|
1595
|
-
xMinorTicks:
|
|
1601
|
+
xMinorTicks: vt(g, 3, y),
|
|
1596
1602
|
yMajorTicks: _,
|
|
1597
1603
|
yMinorTicks: p[0]?.minorTicks ?? [],
|
|
1598
1604
|
yAxisTickValues: v,
|
|
@@ -1606,15 +1612,28 @@ function Zn(e) {
|
|
|
1606
1612
|
},
|
|
1607
1613
|
showXAxis: (i || o) && (e.displayMode === "independent" || (e.displayMode === "compact" ? t.isLastRow ?? t.row === e.grid.rowCount - 1 : n.has(t.slotIndex)))
|
|
1608
1614
|
};
|
|
1609
|
-
});
|
|
1615
|
+
}), i = /* @__PURE__ */ new Map();
|
|
1616
|
+
for (let t of r) {
|
|
1617
|
+
let n = 0;
|
|
1618
|
+
for (let r of t.yAxes) {
|
|
1619
|
+
if (r.side !== "left") continue;
|
|
1620
|
+
let a = `${t.column}:${n++}`, o = r.seriesList[0], s = (o?.name.trim() || e.yLabel || "").length * 8 + 6, c = r.tickValues.filter((e) => Math.abs(r.scale(e) - t.height / 2) <= s), l = Math.max(7, ...c.map((e) => cr(e, r.scale.domain(), r.tickValues, o?.unit).length * 7)) + 7 + 20 / 2;
|
|
1621
|
+
i.set(a, Math.max(i.get(a) ?? 0, l));
|
|
1622
|
+
}
|
|
1623
|
+
}
|
|
1624
|
+
for (let e of r) {
|
|
1625
|
+
let t = 0;
|
|
1626
|
+
for (let n of e.yAxes) n.side === "left" && (n.labelX = n.x - i.get(`${e.column}:${t++}`));
|
|
1627
|
+
}
|
|
1628
|
+
return r;
|
|
1610
1629
|
}
|
|
1611
1630
|
//#endregion
|
|
1612
1631
|
//#region src/components/core/layout.ts
|
|
1613
|
-
var
|
|
1614
|
-
function
|
|
1632
|
+
var tr = 7, nr = 7, rr = 4, ir = 0, ar = 20;
|
|
1633
|
+
function or(e, t) {
|
|
1615
1634
|
return typeof t == "number" && Number.isFinite(t) ? Math.max(2, Math.floor(t)) : 5;
|
|
1616
1635
|
}
|
|
1617
|
-
function
|
|
1636
|
+
function sr(e, t = 5, n = !0) {
|
|
1618
1637
|
let r = typeof t == "number" && Number.isFinite(t) ? Math.max(2, Math.floor(t)) : 5, i = W(e, [1, 0]);
|
|
1619
1638
|
n && i.nice(Math.max(1, r - 1));
|
|
1620
1639
|
let a = i.domain(), [o, s] = a;
|
|
@@ -1623,15 +1642,15 @@ function ir(e, t = 5, n = !0) {
|
|
|
1623
1642
|
values: Array.from({ length: r }, (e, t) => o + (s - o) * t / (r - 1))
|
|
1624
1643
|
};
|
|
1625
1644
|
}
|
|
1626
|
-
function
|
|
1627
|
-
return
|
|
1645
|
+
function cr(e, t, n, r) {
|
|
1646
|
+
return Ot(e, {
|
|
1628
1647
|
axisMin: t[0],
|
|
1629
1648
|
axisMax: t[1],
|
|
1630
1649
|
topTickValue: Math.max(...n),
|
|
1631
1650
|
unit: r
|
|
1632
1651
|
});
|
|
1633
1652
|
}
|
|
1634
|
-
function
|
|
1653
|
+
function lr(e) {
|
|
1635
1654
|
return e >= 4 ? [
|
|
1636
1655
|
"left",
|
|
1637
1656
|
"left",
|
|
@@ -1643,13 +1662,13 @@ function or(e) {
|
|
|
1643
1662
|
"right"
|
|
1644
1663
|
] : e === 2 ? ["left", "right"] : ["left"];
|
|
1645
1664
|
}
|
|
1646
|
-
var
|
|
1647
|
-
function
|
|
1648
|
-
let n =
|
|
1649
|
-
n || (n = /* @__PURE__ */ new Map(),
|
|
1665
|
+
var ur = /* @__PURE__ */ new WeakMap();
|
|
1666
|
+
function dr(e, t) {
|
|
1667
|
+
let n = ur.get(e);
|
|
1668
|
+
n || (n = /* @__PURE__ */ new Map(), ur.set(e, n));
|
|
1650
1669
|
let r = n.get(t);
|
|
1651
1670
|
if (r) return r;
|
|
1652
|
-
let i = t === "multi-axis" ? Math.min(e.visibleSeries.length, 4) : Math.min(e.visibleSeries.length, 1), a =
|
|
1671
|
+
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
1672
|
index: t,
|
|
1654
1673
|
side: a[t],
|
|
1655
1674
|
seriesList: [],
|
|
@@ -1662,50 +1681,50 @@ function cr(e, t) {
|
|
|
1662
1681
|
if (t === "single-axis") n.domain = e.yDomain;
|
|
1663
1682
|
else {
|
|
1664
1683
|
let t = n.seriesList.flatMap((e) => e.yDomain);
|
|
1665
|
-
n.domain = t.length > 0 ?
|
|
1684
|
+
n.domain = t.length > 0 ? _t(t) : e.yDomain;
|
|
1666
1685
|
}
|
|
1667
1686
|
}), n.set(t, o), o;
|
|
1668
1687
|
}
|
|
1669
|
-
function
|
|
1670
|
-
let i =
|
|
1671
|
-
return
|
|
1688
|
+
function fr(e, t, n, r) {
|
|
1689
|
+
let i = qt(e, r);
|
|
1690
|
+
return dr(e, t).map((e) => {
|
|
1672
1691
|
if (i) return {
|
|
1673
1692
|
...e,
|
|
1674
1693
|
domain: i,
|
|
1675
1694
|
fixed: !0
|
|
1676
1695
|
};
|
|
1677
|
-
let t = e.seriesList.map((e) =>
|
|
1696
|
+
let t = e.seriesList.map((e) => Jt(e, n, r) ?? e.yDomain), a = e.seriesList.some((e) => Jt(e, n, r));
|
|
1678
1697
|
return a ? {
|
|
1679
1698
|
...e,
|
|
1680
|
-
domain:
|
|
1699
|
+
domain: Xt(t),
|
|
1681
1700
|
fixed: a
|
|
1682
1701
|
} : e;
|
|
1683
1702
|
});
|
|
1684
1703
|
}
|
|
1685
|
-
function
|
|
1704
|
+
function pr(e, t, n, r, i) {
|
|
1686
1705
|
let a = i?.[e.id];
|
|
1687
|
-
return
|
|
1706
|
+
return fr(e, t, n, r).map((e) => !e.fixed && a ? {
|
|
1688
1707
|
...e,
|
|
1689
1708
|
domain: a
|
|
1690
1709
|
} : e);
|
|
1691
1710
|
}
|
|
1692
|
-
function
|
|
1711
|
+
function mr(e, t = !0, n, r, i = 5, a = !1) {
|
|
1693
1712
|
let o = n ? {
|
|
1694
1713
|
domain: e,
|
|
1695
1714
|
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) =>
|
|
1715
|
+
} : sr(e, i, t), s = [o.values];
|
|
1716
|
+
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
1717
|
}
|
|
1699
|
-
function
|
|
1718
|
+
function hr(e, t, n, r, i, a = !0, o = !1, s) {
|
|
1700
1719
|
let c = /* @__PURE__ */ new Map();
|
|
1701
1720
|
e.forEach((e) => {
|
|
1702
1721
|
let l = {
|
|
1703
1722
|
left: 0,
|
|
1704
1723
|
right: 0
|
|
1705
1724
|
};
|
|
1706
|
-
|
|
1707
|
-
let t = l[e.side]++, n = `${e.side}:${t}`, r =
|
|
1708
|
-
c.set(n, Math.max(c.get(n) ??
|
|
1725
|
+
pr(e, t, n, r, s).forEach((e) => {
|
|
1726
|
+
let t = l[e.side]++, n = `${e.side}:${t}`, r = mr(e.domain, a, void 0, e.seriesList[0]?.unit, i, o).tickTextWidth;
|
|
1727
|
+
c.set(n, Math.max(c.get(n) ?? tr, r));
|
|
1709
1728
|
});
|
|
1710
1729
|
});
|
|
1711
1730
|
let l = [], u = {
|
|
@@ -1714,7 +1733,7 @@ function fr(e, t, n, r, i, a = !0, o = !1, s) {
|
|
|
1714
1733
|
};
|
|
1715
1734
|
return ["left", "right"].forEach((e) => {
|
|
1716
1735
|
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}`) ??
|
|
1736
|
+
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
1737
|
l.push({
|
|
1719
1738
|
side: e,
|
|
1720
1739
|
sideIndex: t,
|
|
@@ -1728,7 +1747,7 @@ function fr(e, t, n, r, i, a = !0, o = !1, s) {
|
|
|
1728
1747
|
clearance: u
|
|
1729
1748
|
};
|
|
1730
1749
|
}
|
|
1731
|
-
function
|
|
1750
|
+
function gr(e, t, n) {
|
|
1732
1751
|
let r = (e) => {
|
|
1733
1752
|
let r = t < e.left ? e.left - t : t > e.left + e.width ? t - e.left - e.width : 0;
|
|
1734
1753
|
return n < e.top ? e.top - n : n > e.top + e.height ? n - (e.top + e.height) : r;
|
|
@@ -1747,11 +1766,11 @@ function pr(e, t, n) {
|
|
|
1747
1766
|
}
|
|
1748
1767
|
//#endregion
|
|
1749
1768
|
//#region src/components/annotation/useWaveformChartAnnotations.ts
|
|
1750
|
-
var
|
|
1751
|
-
function
|
|
1752
|
-
return
|
|
1769
|
+
var _r = 0;
|
|
1770
|
+
function vr() {
|
|
1771
|
+
return _r += 1, typeof crypto < "u" && typeof crypto.randomUUID == "function" ? crypto.randomUUID() : `annotation-${Date.now()}-${_r}`;
|
|
1753
1772
|
}
|
|
1754
|
-
function
|
|
1773
|
+
function yr(e) {
|
|
1755
1774
|
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
1775
|
function S(e) {
|
|
1757
1776
|
if (!i.value.some((t) => t.id === e)) return;
|
|
@@ -1784,7 +1803,7 @@ function gr(e) {
|
|
|
1784
1803
|
};
|
|
1785
1804
|
}
|
|
1786
1805
|
function T(e, t, n) {
|
|
1787
|
-
b.value = "", s.openCreate(e,
|
|
1806
|
+
b.value = "", s.openCreate(e, vr, t), c.value = n;
|
|
1788
1807
|
let r = s.editorDraft.value, i = l.value.find((t) => t.index === e.trackIndex)?.seriesList.find((t) => t.id === e.seriesId);
|
|
1789
1808
|
r?.mode === "add" && (r.annotation.style = {
|
|
1790
1809
|
borderColor: i?.color || "#1677ff",
|
|
@@ -1844,7 +1863,7 @@ function gr(e) {
|
|
|
1844
1863
|
let e = l.value[n];
|
|
1845
1864
|
return e?.hasVisibleSeries ? e : void 0;
|
|
1846
1865
|
}
|
|
1847
|
-
return
|
|
1866
|
+
return gr(l.value.filter((e) => e.hasVisibleSeries), e, t);
|
|
1848
1867
|
}
|
|
1849
1868
|
function A(e, t) {
|
|
1850
1869
|
let n = e.currentTarget;
|
|
@@ -1853,7 +1872,7 @@ function gr(e) {
|
|
|
1853
1872
|
if (!o) return null;
|
|
1854
1873
|
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
1874
|
return {
|
|
1856
|
-
candidates:
|
|
1875
|
+
candidates: Ve(u(o), d, c, a),
|
|
1857
1876
|
editorAnchor: C(e, t)
|
|
1858
1877
|
};
|
|
1859
1878
|
}
|
|
@@ -1904,7 +1923,7 @@ function gr(e) {
|
|
|
1904
1923
|
let e = s.contextMenu.value, n = t.annotations.find((t) => t.id === e?.annotationId);
|
|
1905
1924
|
if (!n) return;
|
|
1906
1925
|
let r = l.value.find((e) => e.seriesList.some((e) => e.id === n.seriesId));
|
|
1907
|
-
c.value = r ?
|
|
1926
|
+
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
1927
|
}
|
|
1909
1928
|
function R() {
|
|
1910
1929
|
if (y.value) return;
|
|
@@ -1935,7 +1954,7 @@ function gr(e) {
|
|
|
1935
1954
|
}
|
|
1936
1955
|
//#endregion
|
|
1937
1956
|
//#region src/components/interaction/useWaveformHover.ts
|
|
1938
|
-
function
|
|
1957
|
+
function br(e) {
|
|
1939
1958
|
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
1959
|
let r = n.points[t];
|
|
1941
1960
|
return r?.id === e.id && r.trackIndex === e.trackIndex && r.point === e.point;
|
|
@@ -1958,12 +1977,12 @@ function _r(e) {
|
|
|
1958
1977
|
}, C = (e = !1) => {
|
|
1959
1978
|
r.value = !e, y();
|
|
1960
1979
|
}, w = () => r.value ? (r.value = !1, y(), !0) : !1, T = (e, t) => {
|
|
1961
|
-
let n = e.source ??
|
|
1980
|
+
let n = e.source ?? X(e.points), r = n.pointAt(0), i = n.pointAt(n.length - 1);
|
|
1962
1981
|
if (!(!r || !i)) return t <= r.x ? r : t >= i.x ? i : n.nearestPoint(t);
|
|
1963
1982
|
}, E = (e, t) => {
|
|
1964
1983
|
let n, r = -Infinity;
|
|
1965
1984
|
if (e.seriesList.forEach((e) => {
|
|
1966
|
-
let t = e.source ??
|
|
1985
|
+
let t = e.source ?? X(e.points), i = t.pointAt(0), a = t.pointAt(t.length - 1);
|
|
1967
1986
|
if (!i || !a) return;
|
|
1968
1987
|
let o = a.x - i.x;
|
|
1969
1988
|
o > r && (r = o, n = [i.x, a.x]);
|
|
@@ -2020,14 +2039,14 @@ function _r(e) {
|
|
|
2020
2039
|
}
|
|
2021
2040
|
//#endregion
|
|
2022
2041
|
//#region src/components/interaction/pointerCapture.ts
|
|
2023
|
-
function
|
|
2042
|
+
function xr(e, t) {
|
|
2024
2043
|
try {
|
|
2025
2044
|
e?.releasePointerCapture?.(t);
|
|
2026
2045
|
} catch {}
|
|
2027
2046
|
}
|
|
2028
2047
|
//#endregion
|
|
2029
2048
|
//#region src/components/interaction/viewportInteractionState.ts
|
|
2030
|
-
function
|
|
2049
|
+
function Sr(e) {
|
|
2031
2050
|
return {
|
|
2032
2051
|
...e,
|
|
2033
2052
|
currentX: e.startX,
|
|
@@ -2036,37 +2055,37 @@ function yr(e) {
|
|
|
2036
2055
|
yDomains: Object.fromEntries(Object.entries(e.yDomains).map(([e, t]) => [e, [...t]]))
|
|
2037
2056
|
};
|
|
2038
2057
|
}
|
|
2039
|
-
function
|
|
2058
|
+
function Cr(e, t) {
|
|
2040
2059
|
return {
|
|
2041
2060
|
...e,
|
|
2042
2061
|
...t
|
|
2043
2062
|
};
|
|
2044
2063
|
}
|
|
2045
|
-
function
|
|
2064
|
+
function wr(e) {
|
|
2046
2065
|
return {
|
|
2047
2066
|
state: e,
|
|
2048
2067
|
accepted: !1,
|
|
2049
2068
|
completed: null
|
|
2050
2069
|
};
|
|
2051
2070
|
}
|
|
2052
|
-
function
|
|
2071
|
+
function Tr(e, t) {
|
|
2053
2072
|
switch (t.type) {
|
|
2054
|
-
case "begin": return e ?
|
|
2055
|
-
state:
|
|
2073
|
+
case "begin": return e ? wr(e) : {
|
|
2074
|
+
state: Sr(t.gesture),
|
|
2056
2075
|
accepted: !0,
|
|
2057
2076
|
completed: null
|
|
2058
2077
|
};
|
|
2059
|
-
case "move": return !e || e.pointerId !== t.pointerId ?
|
|
2060
|
-
state:
|
|
2078
|
+
case "move": return !e || e.pointerId !== t.pointerId ? wr(e) : {
|
|
2079
|
+
state: Cr(e, t.position),
|
|
2061
2080
|
accepted: !0,
|
|
2062
2081
|
completed: null
|
|
2063
2082
|
};
|
|
2064
|
-
case "finish": return !e || e.pointerId !== t.pointerId ?
|
|
2083
|
+
case "finish": return !e || e.pointerId !== t.pointerId ? wr(e) : {
|
|
2065
2084
|
state: null,
|
|
2066
2085
|
accepted: !0,
|
|
2067
|
-
completed:
|
|
2086
|
+
completed: Cr(e, t.position)
|
|
2068
2087
|
};
|
|
2069
|
-
case "cancel": return !e || t.pointerId !== void 0 && e.pointerId !== t.pointerId ?
|
|
2088
|
+
case "cancel": return !e || t.pointerId !== void 0 && e.pointerId !== t.pointerId ? wr(e) : {
|
|
2070
2089
|
state: null,
|
|
2071
2090
|
accepted: !0,
|
|
2072
2091
|
completed: null
|
|
@@ -2080,32 +2099,32 @@ function Sr(e, t) {
|
|
|
2080
2099
|
}
|
|
2081
2100
|
//#endregion
|
|
2082
2101
|
//#region src/components/interaction/zoomConstraints.ts
|
|
2083
|
-
var
|
|
2084
|
-
function
|
|
2102
|
+
var Er = /* @__PURE__ */ new WeakMap();
|
|
2103
|
+
function Dr(e) {
|
|
2085
2104
|
return e[0] <= e[1] ? [...e] : [e[1], e[0]];
|
|
2086
2105
|
}
|
|
2087
|
-
function
|
|
2106
|
+
function Or(e) {
|
|
2088
2107
|
return Number.isFinite(e) && (e ?? 0) > 0 ? Math.ceil(e) : 0;
|
|
2089
2108
|
}
|
|
2090
|
-
function
|
|
2091
|
-
let n = `${t[0]}\u0000${t[1]}`, r =
|
|
2109
|
+
function kr(e, t) {
|
|
2110
|
+
let n = `${t[0]}\u0000${t[1]}`, r = Er.get(e)?.get(n);
|
|
2092
2111
|
if (r) return r;
|
|
2093
2112
|
let i = /* @__PURE__ */ new Set();
|
|
2094
2113
|
for (let n of e) {
|
|
2095
|
-
let e = n.source ??
|
|
2114
|
+
let e = n.source ?? X(n.points);
|
|
2096
2115
|
for (let n = 0; n < e.length; n += 1) {
|
|
2097
2116
|
let r = e.pointAt(n);
|
|
2098
2117
|
r.x >= t[0] && r.x <= t[1] && i.add(r.x);
|
|
2099
2118
|
}
|
|
2100
2119
|
}
|
|
2101
|
-
let a = Array.from(i).sort((e, t) => e - t), o =
|
|
2102
|
-
return o.set(n, a),
|
|
2120
|
+
let a = Array.from(i).sort((e, t) => e - t), o = Er.get(e) ?? /* @__PURE__ */ new Map();
|
|
2121
|
+
return o.set(n, a), Er.set(e, o), a;
|
|
2103
2122
|
}
|
|
2104
|
-
function
|
|
2123
|
+
function Ar(e, t, n) {
|
|
2105
2124
|
if (n <= 1) return 0;
|
|
2106
2125
|
let r = 0;
|
|
2107
2126
|
for (let i of e) {
|
|
2108
|
-
let e =
|
|
2127
|
+
let e = kr(i, t);
|
|
2109
2128
|
if (e.length < n) return t[1] - t[0];
|
|
2110
2129
|
let a = Infinity;
|
|
2111
2130
|
for (let t = 0; t + n <= e.length; t += 1) a = Math.min(a, e[t + n - 1] - e[t]);
|
|
@@ -2114,17 +2133,17 @@ function Dr(e, t, n) {
|
|
|
2114
2133
|
}
|
|
2115
2134
|
return r;
|
|
2116
2135
|
}
|
|
2117
|
-
function
|
|
2118
|
-
let r =
|
|
2136
|
+
function jr(e, t, n) {
|
|
2137
|
+
let r = Dr(e), i = r[1] - r[0];
|
|
2119
2138
|
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 =
|
|
2139
|
+
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
2140
|
return Math.max(a, s, l);
|
|
2122
2141
|
}
|
|
2123
|
-
function
|
|
2142
|
+
function Mr(e, t, n, r) {
|
|
2124
2143
|
if (r <= 0) return e;
|
|
2125
2144
|
let i = 2 ** -52 * Math.max(1, Math.abs(t[0]), Math.abs(t[1])) * 16, a = e;
|
|
2126
2145
|
for (let e of n) {
|
|
2127
|
-
let n =
|
|
2146
|
+
let n = kr(e, t);
|
|
2128
2147
|
if (n.length < r) return [...t];
|
|
2129
2148
|
if (n.filter((e) => e >= a[0] && e <= a[1]).length >= r) continue;
|
|
2130
2149
|
let o, s = Infinity, c = Infinity, l = (a[0] + a[1]) / 2;
|
|
@@ -2136,13 +2155,13 @@ function kr(e, t, n, r) {
|
|
|
2136
2155
|
}
|
|
2137
2156
|
return a;
|
|
2138
2157
|
}
|
|
2139
|
-
function
|
|
2140
|
-
let i =
|
|
2158
|
+
function Nr(e, t, n, r) {
|
|
2159
|
+
let i = Dr(t), a = i[1] - i[0];
|
|
2141
2160
|
if (!Number.isFinite(a) || a <= 0 || Math.abs(e[1] - e[0]) >= a * .999999999999) return i;
|
|
2142
|
-
let o =
|
|
2161
|
+
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
2162
|
return [u, u + c];
|
|
2144
2163
|
}
|
|
2145
|
-
function
|
|
2164
|
+
function Pr(e, t, n) {
|
|
2146
2165
|
let r = t[1] - t[0], i = e[1] - e[0];
|
|
2147
2166
|
if (!Number.isFinite(r) || !Number.isFinite(i) || r <= 0 || i <= 0) return J;
|
|
2148
2167
|
let a = r / i, o = W(t, [0, n]);
|
|
@@ -2150,7 +2169,7 @@ function jr(e, t, n) {
|
|
|
2150
2169
|
}
|
|
2151
2170
|
//#endregion
|
|
2152
2171
|
//#region src/components/interaction/viewportDomain.ts
|
|
2153
|
-
function
|
|
2172
|
+
function Fr(e) {
|
|
2154
2173
|
return (t, n) => {
|
|
2155
2174
|
if (!(!Number.isFinite(t[0]) || !Number.isFinite(t[1]) || t[0] === t[1])) {
|
|
2156
2175
|
if (e.cancelPendingZoom(), e.cancelViewportDrag(), e.props.displayMode === "independent") {
|
|
@@ -2158,12 +2177,12 @@ function Mr(e) {
|
|
|
2158
2177
|
r.forEach((n) => {
|
|
2159
2178
|
let r = e.trackLayouts.value.find((e) => e.index === n);
|
|
2160
2179
|
if (!r) return;
|
|
2161
|
-
let a = e.resolveInitialTrackDomain(r), o =
|
|
2162
|
-
i[n] =
|
|
2180
|
+
let a = e.resolveInitialTrackDomain(r), o = Nr(t, a, [r.seriesList], e.props);
|
|
2181
|
+
i[n] = Pr(o, a, r.width);
|
|
2163
2182
|
}), e.independentTransforms.value = i;
|
|
2164
2183
|
} else {
|
|
2165
|
-
let n = e.initialXDomain.value, r =
|
|
2166
|
-
e.sharedTransform.value =
|
|
2184
|
+
let n = e.initialXDomain.value, r = Nr(t, n, e.trackLayouts.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), e.props);
|
|
2185
|
+
e.sharedTransform.value = Pr(r, n, e.innerWidth.value);
|
|
2167
2186
|
}
|
|
2168
2187
|
e.clearHover(), e.editorSeriesOptions.value = [], f(e.configureZoom);
|
|
2169
2188
|
}
|
|
@@ -2171,14 +2190,14 @@ function Mr(e) {
|
|
|
2171
2190
|
}
|
|
2172
2191
|
//#endregion
|
|
2173
2192
|
//#region src/components/interaction/zoomEventPayload.ts
|
|
2174
|
-
function
|
|
2193
|
+
function Ir(e) {
|
|
2175
2194
|
return [...e].sort().join("\0");
|
|
2176
2195
|
}
|
|
2177
|
-
function
|
|
2178
|
-
let n =
|
|
2179
|
-
return e.find((e) =>
|
|
2196
|
+
function Lr(e, t) {
|
|
2197
|
+
let n = Ir(t);
|
|
2198
|
+
return e.find((e) => Ir(e.seriesList.map((e) => e.id)) === n);
|
|
2180
2199
|
}
|
|
2181
|
-
function
|
|
2200
|
+
function Rr(e, t, n, r) {
|
|
2182
2201
|
e("zoom-intent", r ? {
|
|
2183
2202
|
start: t[0],
|
|
2184
2203
|
end: t[1],
|
|
@@ -2191,9 +2210,9 @@ function Fr(e, t, n, r) {
|
|
|
2191
2210
|
gesture: "box"
|
|
2192
2211
|
});
|
|
2193
2212
|
}
|
|
2194
|
-
function
|
|
2213
|
+
function zr(e, t, n) {
|
|
2195
2214
|
for (let r of n) {
|
|
2196
|
-
let n =
|
|
2215
|
+
let n = Lr(t, r);
|
|
2197
2216
|
if (!n) continue;
|
|
2198
2217
|
let i = n.xScale.domain(), a = n.yScale.domain();
|
|
2199
2218
|
e("zoom-end", {
|
|
@@ -2207,7 +2226,7 @@ function Ir(e, t, n) {
|
|
|
2207
2226
|
});
|
|
2208
2227
|
}
|
|
2209
2228
|
}
|
|
2210
|
-
function
|
|
2229
|
+
function Br(e, t, n) {
|
|
2211
2230
|
let r = n.filter((e) => e.hasVisibleSeries);
|
|
2212
2231
|
if (r.length === 1) {
|
|
2213
2232
|
let n = r[0]?.yScale.domain();
|
|
@@ -2229,13 +2248,13 @@ function Lr(e, t, n) {
|
|
|
2229
2248
|
}
|
|
2230
2249
|
//#endregion
|
|
2231
2250
|
//#region src/components/interaction/useWaveformViewport.ts
|
|
2232
|
-
function
|
|
2251
|
+
function Vr(e) {
|
|
2233
2252
|
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
2253
|
let n = O.value, r = t?.currentTarget;
|
|
2235
|
-
|
|
2254
|
+
xr(n, e), r && r !== n && xr(r, e);
|
|
2236
2255
|
}, A = (e, t) => {
|
|
2237
2256
|
let n = i.value;
|
|
2238
|
-
!n || n.pointerId !== e || (k(e, t), i.value =
|
|
2257
|
+
!n || n.pointerId !== e || (k(e, t), i.value = Tr(i.value, {
|
|
2239
2258
|
type: "cancel",
|
|
2240
2259
|
pointerId: e
|
|
2241
2260
|
}).state, O.value = void 0);
|
|
@@ -2258,7 +2277,7 @@ function Rr(e) {
|
|
|
2258
2277
|
if (!n.zoomable && !s || !_.value || e.button !== 0) return;
|
|
2259
2278
|
let c = e.currentTarget, d = o.value.find((e) => e.index === t);
|
|
2260
2279
|
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 =
|
|
2280
|
+
let [f, p] = U(e, c), m = Math.max(0, Math.min(r ? d.width : l.value, f)), h = Math.max(0, Math.min(r ? d.height : u.value, p)), g = Tr(i.value, {
|
|
2262
2281
|
type: "begin",
|
|
2263
2282
|
gesture: {
|
|
2264
2283
|
trackIndex: t,
|
|
@@ -2280,12 +2299,12 @@ function Rr(e) {
|
|
|
2280
2299
|
let i = t.width || 1, a = t.height || 1, u = e.currentX - e.startX, d = e.currentY - e.startY, f = e.xDomain[1] - e.xDomain[0], _ = e.independent ? b(t) : c.value, v = M([e.xDomain[0] - u / i * f, e.xDomain[1] - u / i * f], _);
|
|
2281
2300
|
if (e.independent) {
|
|
2282
2301
|
let e = [...m.value];
|
|
2283
|
-
e[t.index] =
|
|
2284
|
-
} else p.value =
|
|
2302
|
+
e[t.index] = Pr(v, _, i), m.value = e;
|
|
2303
|
+
} else p.value = Pr(v, _, l.value);
|
|
2285
2304
|
let y = e.independent ? [t] : o.value.filter((e) => e.hasVisibleSeries), x = { ...g.value }, S = { ...h.value };
|
|
2286
2305
|
y.forEach((t) => {
|
|
2287
2306
|
let r = s.value.find((e) => e.id === t.id);
|
|
2288
|
-
if (r &&
|
|
2307
|
+
if (r && Yt(r, n.yDomain, n.yDomains)) return;
|
|
2289
2308
|
let i = t.series?.trackId ?? t.series?.id ?? t.id, o = e.yDomains[i] ?? t.yScale.domain(), c = r?.yDomain ?? o, l = o[1] - o[0], u = M([o[0] + d / a * l, o[1] + d / a * l], c);
|
|
2290
2309
|
e.independent ? x[t.index] = u : S[i] = u;
|
|
2291
2310
|
}), e.independent ? g.value = x : h.value = S, r("zoom-change", v);
|
|
@@ -2295,7 +2314,7 @@ function Rr(e) {
|
|
|
2295
2314
|
if (!t || !n || e.pointerId !== t.pointerId) return;
|
|
2296
2315
|
let r = o.value.find((e) => e.index === t.trackIndex);
|
|
2297
2316
|
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 =
|
|
2317
|
+
let [a, s] = U(e, n), c = Math.max(0, Math.min(t.independent ? r.width : l.value, a)), d = Math.max(0, Math.min(t.independent ? r.height : u.value, s)), f = Tr(i.value, {
|
|
2299
2318
|
type: "move",
|
|
2300
2319
|
pointerId: e.pointerId,
|
|
2301
2320
|
position: {
|
|
@@ -2314,12 +2333,12 @@ function Rr(e) {
|
|
|
2314
2333
|
if (!t || (e.independent ? !x(t) : !S())) return;
|
|
2315
2334
|
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
2335
|
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 =
|
|
2336
|
+
let u = e.independent ? b(t) : c.value, d = e.independent ? [t.seriesList] : o.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), h = Nr([t.xScale.invert(a), t.xScale.invert(s)], u, d, n);
|
|
2318
2337
|
if (e.independent) {
|
|
2319
2338
|
let e = [...m.value];
|
|
2320
|
-
e[t.index] =
|
|
2321
|
-
} else p.value =
|
|
2322
|
-
|
|
2339
|
+
e[t.index] = Pr(h, u, t.width), m.value = e;
|
|
2340
|
+
} else p.value = Pr(h, u, l.value);
|
|
2341
|
+
Rr(r, h, t, e.independent);
|
|
2323
2342
|
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
2343
|
if (r("zoom-change", h), e.independent) {
|
|
2325
2344
|
let e = _[t.series?.trackId ?? t.series?.id ?? t.id];
|
|
@@ -2360,7 +2379,7 @@ function Rr(e) {
|
|
|
2360
2379
|
A(t.pointerId, e);
|
|
2361
2380
|
return;
|
|
2362
2381
|
}
|
|
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 =
|
|
2382
|
+
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
2383
|
type: "finish",
|
|
2365
2384
|
pointerId: e.pointerId,
|
|
2366
2385
|
position: {
|
|
@@ -2392,7 +2411,7 @@ function Rr(e) {
|
|
|
2392
2411
|
finishViewportDrag: B,
|
|
2393
2412
|
cancelViewportDrag: R,
|
|
2394
2413
|
resetViewport: V,
|
|
2395
|
-
setViewportDomain:
|
|
2414
|
+
setViewportDomain: Fr({
|
|
2396
2415
|
props: n,
|
|
2397
2416
|
trackLayouts: o,
|
|
2398
2417
|
initialXDomain: c,
|
|
@@ -2424,7 +2443,7 @@ function Rr(e) {
|
|
|
2424
2443
|
}
|
|
2425
2444
|
//#endregion
|
|
2426
2445
|
//#region src/components/utils/useAnimationFrameThrottle.ts
|
|
2427
|
-
function
|
|
2446
|
+
function Hr() {
|
|
2428
2447
|
let e = null, t = null;
|
|
2429
2448
|
function n(n) {
|
|
2430
2449
|
t = n, e === null && (e = requestAnimationFrame(() => {
|
|
@@ -2453,8 +2472,8 @@ function zr() {
|
|
|
2453
2472
|
}
|
|
2454
2473
|
//#endregion
|
|
2455
2474
|
//#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 =
|
|
2475
|
+
function Ur(e) {
|
|
2476
|
+
let { props: t, emit: n, svgElement: r, sharedOverlayElement: i, sharedTransform: a, independentTransforms: o, trackLayouts: s, initialXDomain: c, sharedZoomDomain: l, innerWidth: u, innerHeight: d, hasChartArea: f, isZoomMode: p, isPresentationMode: m, resolveInitialTrackDomain: h, cancelPendingHover: g } = e, _ = /* @__PURE__ */ new Map(), v = 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
2477
|
if (y || m.value) return;
|
|
2459
2478
|
g(), b = e.transform, x = "wheel", I();
|
|
2460
2479
|
let t = e.transform.rescaleX(W(c.value, [0, u.value])).domain();
|
|
@@ -2501,7 +2520,7 @@ function Br(e) {
|
|
|
2501
2520
|
if (!t) return;
|
|
2502
2521
|
if (r.get(e) === "wheel") {
|
|
2503
2522
|
let e = t.seriesList.map((e) => e.id);
|
|
2504
|
-
T.set(
|
|
2523
|
+
T.set(Ir(e), e);
|
|
2505
2524
|
}
|
|
2506
2525
|
let a = t.xScale.domain();
|
|
2507
2526
|
n("zoom-change", [a[0], a[1]]);
|
|
@@ -2509,14 +2528,14 @@ function Br(e) {
|
|
|
2509
2528
|
}
|
|
2510
2529
|
let N = () => {
|
|
2511
2530
|
if (t.displayMode === "independent") {
|
|
2512
|
-
|
|
2531
|
+
zr(n, s.value, T.values()), T.clear();
|
|
2513
2532
|
return;
|
|
2514
2533
|
}
|
|
2515
2534
|
if (S !== "wheel") {
|
|
2516
2535
|
S = null;
|
|
2517
2536
|
return;
|
|
2518
2537
|
}
|
|
2519
|
-
|
|
2538
|
+
Br(n, l.value, s.value), S = null;
|
|
2520
2539
|
}, P = () => {
|
|
2521
2540
|
v.flush(), M(), !(S === "wheel" || T.size) && N();
|
|
2522
2541
|
}, F = (e) => {
|
|
@@ -2535,19 +2554,19 @@ function Br(e) {
|
|
|
2535
2554
|
O += 1, e || R(), r.value?.querySelectorAll(".waveform-chart__overlay").forEach((e) => G(e).on(".zoom", null)), _.clear();
|
|
2536
2555
|
}, B = (e, n) => {
|
|
2537
2556
|
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) =>
|
|
2557
|
+
if (!Number.isFinite(r) || r <= 0) return Bt.MIN_SCALE;
|
|
2558
|
+
let i = jr(e, n, t);
|
|
2559
|
+
return Math.max(Bt.MIN_SCALE, i > 0 ? r / i : Infinity);
|
|
2560
|
+
}, V = (e, n, r, i) => Pr(Nr(e.rescaleX(W(n, [0, r])).domain(), n, i, t), n, r), H = (e) => {
|
|
2542
2561
|
let n = Number(t.minVisiblePoints);
|
|
2543
|
-
return
|
|
2562
|
+
return jn(e.seriesList, e.xScale.domain(), Number.isFinite(n) && n > 0 ? Math.ceil(n) + 1 : n);
|
|
2544
2563
|
}, U = () => {
|
|
2545
2564
|
let e = s.value.filter((e) => e.hasVisibleSeries);
|
|
2546
2565
|
return e.length > 0 && e.every(H);
|
|
2547
2566
|
}, ee = (e, t) => {
|
|
2548
2567
|
if (e.type !== "wheel") return !1;
|
|
2549
2568
|
let n = e.deltaY;
|
|
2550
|
-
return n < 0 ? t : n > 0 &&
|
|
2569
|
+
return n < 0 ? t : n > 0 && ae(e.currentTarget).k > Bt.MIN_SCALE;
|
|
2551
2570
|
};
|
|
2552
2571
|
return {
|
|
2553
2572
|
cancelPendingZoom: R,
|
|
@@ -2562,7 +2581,7 @@ function Br(e) {
|
|
|
2562
2581
|
s.value.forEach((t) => {
|
|
2563
2582
|
let n = r.value?.querySelector(`[data-independent-overlay-index="${t.index}"]`);
|
|
2564
2583
|
if (!n) return;
|
|
2565
|
-
let i = h(t), a = [t.seriesList], c =
|
|
2584
|
+
let i = h(t), a = [t.seriesList], c = ie().filter((e) => {
|
|
2566
2585
|
let n = s.value.find((e) => e.index === t.index) ?? t;
|
|
2567
2586
|
return ee(e, H(n));
|
|
2568
2587
|
}).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 +2596,7 @@ function Br(e) {
|
|
|
2577
2596
|
}
|
|
2578
2597
|
let n = i.value;
|
|
2579
2598
|
if (!n) return;
|
|
2580
|
-
let l = s.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), g =
|
|
2599
|
+
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
2600
|
_.set("shared", g), y = !0;
|
|
2582
2601
|
try {
|
|
2583
2602
|
G(n).call(g).on("dblclick.zoom", null).call(g.transform, a.value);
|
|
@@ -2590,13 +2609,13 @@ function Br(e) {
|
|
|
2590
2609
|
}
|
|
2591
2610
|
//#endregion
|
|
2592
2611
|
//#region src/components/core/useWaveformChartLifecycle.ts
|
|
2593
|
-
function
|
|
2612
|
+
function Wr(e) {
|
|
2594
2613
|
return e instanceof Element && !!e.closest("button, input, select, textarea, [contenteditable]:not([contenteditable=\"false\"])");
|
|
2595
2614
|
}
|
|
2596
|
-
function
|
|
2615
|
+
function Gr(e) {
|
|
2597
2616
|
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
2617
|
function te(e) {
|
|
2599
|
-
z.value || e.code !== "Space" || !t.pannable || !_.value ||
|
|
2618
|
+
z.value || e.code !== "Space" || !t.pannable || !_.value || Wr(e.target) || (m.value = !0, e.preventDefault());
|
|
2600
2619
|
}
|
|
2601
2620
|
function ne(e) {
|
|
2602
2621
|
e.code === "Space" && (m.value = !1);
|
|
@@ -2610,7 +2629,7 @@ function Hr(e) {
|
|
|
2610
2629
|
if (t.displayMode === "independent") {
|
|
2611
2630
|
K = void 0, q = new Map(w.value.flatMap((e) => {
|
|
2612
2631
|
let t = e.xScale.domain(), n = I(e);
|
|
2613
|
-
return t[1] - t[0] < n[1] - n[0] - 1e-12 ? [[
|
|
2632
|
+
return t[1] - t[0] < n[1] - n[0] - 1e-12 ? [[Ir(e.seriesList.map((e) => e.id)), t]] : [];
|
|
2614
2633
|
}));
|
|
2615
2634
|
return;
|
|
2616
2635
|
}
|
|
@@ -2627,14 +2646,14 @@ function Hr(e) {
|
|
|
2627
2646
|
if (t.displayMode === "independent" && q) {
|
|
2628
2647
|
let e = C.value.map(() => J);
|
|
2629
2648
|
w.value.forEach((n) => {
|
|
2630
|
-
let r = q?.get(
|
|
2649
|
+
let r = q?.get(Ir(n.seriesList.map((e) => e.id)));
|
|
2631
2650
|
if (!r) return;
|
|
2632
|
-
let i = I(n), a =
|
|
2633
|
-
e[n.index] =
|
|
2651
|
+
let i = I(n), a = Nr(r, i, [n.seriesList], t);
|
|
2652
|
+
e[n.index] = Pr(a, i, n.width);
|
|
2634
2653
|
}), P.value = e, q = void 0;
|
|
2635
2654
|
} 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 =
|
|
2655
|
+
let e = O.value, n = w.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), r = Nr(K, e, n, t);
|
|
2656
|
+
A.value = Pr(r, e, T.value), K = void 0;
|
|
2638
2657
|
}
|
|
2639
2658
|
H();
|
|
2640
2659
|
});
|
|
@@ -2720,58 +2739,58 @@ function Hr(e) {
|
|
|
2720
2739
|
}
|
|
2721
2740
|
//#endregion
|
|
2722
2741
|
//#region src/components/core/useWaveformData.ts
|
|
2723
|
-
function
|
|
2724
|
-
return
|
|
2742
|
+
function Kr(e) {
|
|
2743
|
+
return dn(e).map(({ source: e, ...t }) => {
|
|
2725
2744
|
let n = e.metrics(t.errorBar.visible);
|
|
2726
2745
|
return {
|
|
2727
2746
|
...t,
|
|
2728
2747
|
source: e,
|
|
2729
|
-
points:
|
|
2730
|
-
xDomain:
|
|
2731
|
-
yDomain:
|
|
2748
|
+
points: we(e),
|
|
2749
|
+
xDomain: _t(Number.isFinite(n.xMinimum) ? [n.xMinimum, n.xMaximum] : []),
|
|
2750
|
+
yDomain: _t(Number.isFinite(n.yMinimum) ? [n.yMinimum, n.yMaximum] : []),
|
|
2732
2751
|
hasErrorPoints: n.hasErrorPoints
|
|
2733
2752
|
};
|
|
2734
2753
|
});
|
|
2735
2754
|
}
|
|
2736
|
-
function
|
|
2737
|
-
let r = w(
|
|
2755
|
+
function qr(e, t, n) {
|
|
2756
|
+
let r = w(Kr(e()));
|
|
2738
2757
|
return k(e, (e) => {
|
|
2739
|
-
t(), r.value =
|
|
2758
|
+
t(), r.value = Kr(e), n();
|
|
2740
2759
|
}), r;
|
|
2741
2760
|
}
|
|
2742
2761
|
//#endregion
|
|
2743
2762
|
//#region wasm/pkg/waveform_sampling_wasm.js
|
|
2744
|
-
function
|
|
2745
|
-
let n =
|
|
2746
|
-
if (o[3]) throw
|
|
2747
|
-
var s =
|
|
2763
|
+
function Jr(e, t) {
|
|
2764
|
+
let n = ci(e, $.__wbindgen_malloc), r = mi, i = ci(t, $.__wbindgen_malloc), a = mi, o = $.calculate_range(n, r, i, a);
|
|
2765
|
+
if (o[3]) throw li(o[2]);
|
|
2766
|
+
var s = $r(o[0], o[1]).slice();
|
|
2748
2767
|
return $.__wbindgen_free(o[0], o[1] * 8, 8), s;
|
|
2749
2768
|
}
|
|
2750
|
-
function
|
|
2751
|
-
let i =
|
|
2752
|
-
if (c[3]) throw
|
|
2753
|
-
var l =
|
|
2769
|
+
function Yr(e, t, n, r) {
|
|
2770
|
+
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);
|
|
2771
|
+
if (c[3]) throw li(c[2]);
|
|
2772
|
+
var l = ei(c[0], c[1]).slice();
|
|
2754
2773
|
return $.__wbindgen_free(c[0], c[1] * 4, 4), l;
|
|
2755
2774
|
}
|
|
2756
|
-
function
|
|
2757
|
-
let i =
|
|
2758
|
-
if (c[3]) throw
|
|
2759
|
-
var l =
|
|
2775
|
+
function Xr(e, t, n, r) {
|
|
2776
|
+
let i = ci(e, $.__wbindgen_malloc), a = mi, o = ci(t, $.__wbindgen_malloc), s = mi, c = $.sample_aggregates(i, a, o, s, n, r);
|
|
2777
|
+
if (c[3]) throw li(c[2]);
|
|
2778
|
+
var l = $r(c[0], c[1]).slice();
|
|
2760
2779
|
return $.__wbindgen_free(c[0], c[1] * 8, 8), l;
|
|
2761
2780
|
}
|
|
2762
|
-
function
|
|
2763
|
-
let i =
|
|
2764
|
-
if (c[3]) throw
|
|
2765
|
-
var l =
|
|
2781
|
+
function Zr(e, t, n, r) {
|
|
2782
|
+
let i = ci(e, $.__wbindgen_malloc), a = mi, o = ci(t, $.__wbindgen_malloc), s = mi, c = $.sample_indexes(i, a, o, s, n, r);
|
|
2783
|
+
if (c[3]) throw li(c[2]);
|
|
2784
|
+
var l = ei(c[0], c[1]).slice();
|
|
2766
2785
|
return $.__wbindgen_free(c[0], c[1] * 4, 4), l;
|
|
2767
2786
|
}
|
|
2768
|
-
function
|
|
2787
|
+
function Qr() {
|
|
2769
2788
|
return {
|
|
2770
2789
|
__proto__: null,
|
|
2771
2790
|
"./waveform_sampling_wasm_bg.js": {
|
|
2772
2791
|
__proto__: null,
|
|
2773
2792
|
__wbindgen_cast_0000000000000001: function(e, t) {
|
|
2774
|
-
return
|
|
2793
|
+
return ri(e, t);
|
|
2775
2794
|
},
|
|
2776
2795
|
__wbindgen_init_externref_table: function() {
|
|
2777
2796
|
let e = $.__wbindgen_externrefs, t = e.grow(4);
|
|
@@ -2780,52 +2799,52 @@ function Yr() {
|
|
|
2780
2799
|
}
|
|
2781
2800
|
};
|
|
2782
2801
|
}
|
|
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;
|
|
2802
|
+
function $r(e, t) {
|
|
2803
|
+
return e >>>= 0, ni().subarray(e / 8, e / 8 + t);
|
|
2792
2804
|
}
|
|
2793
2805
|
function ei(e, t) {
|
|
2794
|
-
return e >>>= 0,
|
|
2806
|
+
return e >>>= 0, ai().subarray(e / 4, e / 4 + t);
|
|
2795
2807
|
}
|
|
2796
2808
|
var ti = null;
|
|
2797
2809
|
function ni() {
|
|
2798
|
-
return (ti === null || ti.byteLength === 0) && (ti = new
|
|
2810
|
+
return (ti === null || ti.byteLength === 0) && (ti = new Float64Array($.memory.buffer)), ti;
|
|
2799
2811
|
}
|
|
2800
|
-
|
|
2801
|
-
|
|
2802
|
-
return (ri === null || ri.byteLength === 0) && (ri = new Uint8Array($.memory.buffer)), ri;
|
|
2812
|
+
function ri(e, t) {
|
|
2813
|
+
return e >>>= 0, pi(e, t);
|
|
2803
2814
|
}
|
|
2804
|
-
|
|
2815
|
+
var ii = null;
|
|
2816
|
+
function ai() {
|
|
2817
|
+
return (ii === null || ii.byteLength === 0) && (ii = new Uint32Array($.memory.buffer)), ii;
|
|
2818
|
+
}
|
|
2819
|
+
var oi = null;
|
|
2820
|
+
function si() {
|
|
2821
|
+
return (oi === null || oi.byteLength === 0) && (oi = new Uint8Array($.memory.buffer)), oi;
|
|
2822
|
+
}
|
|
2823
|
+
function ci(e, t) {
|
|
2805
2824
|
let n = t(e.length * 8, 8) >>> 0;
|
|
2806
|
-
return
|
|
2825
|
+
return ni().set(e, n / 8), mi = e.length, n;
|
|
2807
2826
|
}
|
|
2808
|
-
function
|
|
2827
|
+
function li(e) {
|
|
2809
2828
|
let t = $.__wbindgen_externrefs.get(e);
|
|
2810
2829
|
return $.__externref_table_dealloc(e), t;
|
|
2811
2830
|
}
|
|
2812
|
-
var
|
|
2831
|
+
var ui = new TextDecoder("utf-8", {
|
|
2813
2832
|
ignoreBOM: !0,
|
|
2814
2833
|
fatal: !0
|
|
2815
2834
|
});
|
|
2816
|
-
|
|
2817
|
-
var
|
|
2818
|
-
function
|
|
2819
|
-
return
|
|
2835
|
+
ui.decode();
|
|
2836
|
+
var di = 2146435072, fi = 0;
|
|
2837
|
+
function pi(e, t) {
|
|
2838
|
+
return fi += t, fi >= di && (ui = new TextDecoder("utf-8", {
|
|
2820
2839
|
ignoreBOM: !0,
|
|
2821
2840
|
fatal: !0
|
|
2822
|
-
}),
|
|
2841
|
+
}), ui.decode(), fi = t), ui.decode(si().subarray(e, e + t));
|
|
2823
2842
|
}
|
|
2824
|
-
var
|
|
2825
|
-
function
|
|
2826
|
-
return $ = e.exports,
|
|
2843
|
+
var mi = 0, $;
|
|
2844
|
+
function hi(e, t) {
|
|
2845
|
+
return $ = e.exports, ti = null, ii = null, oi = null, $.__wbindgen_start(), $;
|
|
2827
2846
|
}
|
|
2828
|
-
async function
|
|
2847
|
+
async function gi(e, t) {
|
|
2829
2848
|
if (typeof Response == "function" && e instanceof Response) {
|
|
2830
2849
|
if (typeof WebAssembly.instantiateStreaming == "function") try {
|
|
2831
2850
|
return await WebAssembly.instantiateStreaming(e, t);
|
|
@@ -2851,17 +2870,17 @@ async function pi(e, t) {
|
|
|
2851
2870
|
return !1;
|
|
2852
2871
|
}
|
|
2853
2872
|
}
|
|
2854
|
-
async function
|
|
2873
|
+
async function _i(e) {
|
|
2855
2874
|
if ($ !== void 0) return $;
|
|
2856
2875
|
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 =
|
|
2876
|
+
let t = Qr();
|
|
2858
2877
|
(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
|
|
2878
|
+
let { instance: n, module: r } = await gi(await e, t);
|
|
2879
|
+
return hi(n, r);
|
|
2861
2880
|
}
|
|
2862
2881
|
//#endregion
|
|
2863
2882
|
//#region src/core/wasmSampling.ts
|
|
2864
|
-
var
|
|
2883
|
+
var vi = {
|
|
2865
2884
|
none: 0,
|
|
2866
2885
|
peak: 1,
|
|
2867
2886
|
lttb: 2,
|
|
@@ -2870,24 +2889,24 @@ var hi = {
|
|
|
2870
2889
|
max: 5,
|
|
2871
2890
|
minmax: 6,
|
|
2872
2891
|
sum: 7
|
|
2873
|
-
},
|
|
2874
|
-
function
|
|
2892
|
+
}, yi;
|
|
2893
|
+
function bi(e, t) {
|
|
2875
2894
|
return t === 0 ? 0 : Number.isFinite(e) ? Math.min(t, Math.max(1, Math.floor(e))) : t;
|
|
2876
2895
|
}
|
|
2877
|
-
function
|
|
2896
|
+
function xi(e) {
|
|
2878
2897
|
if (e.x.length !== e.y.length) throw Error("x and y must have the same length");
|
|
2879
2898
|
}
|
|
2880
|
-
function
|
|
2881
|
-
return
|
|
2899
|
+
function Si(e) {
|
|
2900
|
+
return yi ??= Promise.resolve(_i(e)).then(() => void 0), yi;
|
|
2882
2901
|
}
|
|
2883
|
-
async function
|
|
2884
|
-
|
|
2885
|
-
let t =
|
|
2902
|
+
async function Ci(e) {
|
|
2903
|
+
xi(e), await Si();
|
|
2904
|
+
let t = bi(e.targetPointCount, e.x.length), n = vi[e.strategy];
|
|
2886
2905
|
if (e.strategy !== "average" && e.strategy !== "sum") return {
|
|
2887
2906
|
kind: "source-indexes",
|
|
2888
|
-
sourceIndexes:
|
|
2907
|
+
sourceIndexes: Zr(e.x, e.y, n, t)
|
|
2889
2908
|
};
|
|
2890
|
-
let r =
|
|
2909
|
+
let r = Xr(e.x, e.y, n, t), i = new Float64Array(r.length / 2), a = new Float64Array(r.length / 2);
|
|
2891
2910
|
for (let e = 0; e < i.length; e += 1) i[e] = r[e * 2], a[e] = r[e * 2 + 1];
|
|
2892
2911
|
return {
|
|
2893
2912
|
kind: "aggregates",
|
|
@@ -2895,54 +2914,54 @@ async function bi(e) {
|
|
|
2895
2914
|
y: a
|
|
2896
2915
|
};
|
|
2897
2916
|
}
|
|
2898
|
-
async function
|
|
2917
|
+
async function wi(e, t) {
|
|
2899
2918
|
if (e.length !== t.length) throw Error("x and y must have the same length");
|
|
2900
|
-
await
|
|
2901
|
-
let n =
|
|
2919
|
+
await Si();
|
|
2920
|
+
let n = Jr(e, t);
|
|
2902
2921
|
return n.length === 4 ? {
|
|
2903
2922
|
x: [n[0], n[1]],
|
|
2904
2923
|
y: [n[2], n[3]]
|
|
2905
2924
|
} : void 0;
|
|
2906
2925
|
}
|
|
2907
|
-
async function
|
|
2926
|
+
async function Ti(e, t, n) {
|
|
2908
2927
|
if (e.length !== t.length) throw Error("x and y must have the same length");
|
|
2909
|
-
await
|
|
2910
|
-
let r =
|
|
2928
|
+
await Si();
|
|
2929
|
+
let r = Yr(e, t, n[0], n[1]);
|
|
2911
2930
|
return [r[0], r[1]];
|
|
2912
2931
|
}
|
|
2913
2932
|
//#endregion
|
|
2914
2933
|
//#region src/components/core/trackPagination.ts
|
|
2915
|
-
var
|
|
2934
|
+
var Ei = (e, t) => t ? e.filter((e) => e.series.length > 0) : e, Di = (e, t, n, r, i) => {
|
|
2916
2935
|
let a = t?.[i];
|
|
2917
2936
|
if (a !== void 0) return a;
|
|
2918
2937
|
if (e !== void 0) return n === 1 ? e : typeof e == "number" ? e + r : `${e}-${r + 1}`;
|
|
2919
|
-
},
|
|
2938
|
+
}, Oi = (e, t, n) => (r) => {
|
|
2920
2939
|
let i = n(), a = i.findIndex((e) => e.id === r);
|
|
2921
|
-
return
|
|
2940
|
+
return Di(e(), t(), i.length, a >= 0 ? a : 0, r);
|
|
2922
2941
|
};
|
|
2923
2942
|
//#endregion
|
|
2924
2943
|
//#region src/components/core/yAxisLayoutMetrics.ts
|
|
2925
|
-
function
|
|
2944
|
+
function ki(e, t, n, r) {
|
|
2926
2945
|
return e === "independent" ? Object.fromEntries(t.flatMap((e, t) => {
|
|
2927
2946
|
let n = r[t];
|
|
2928
2947
|
return n ? [[e.id, n]] : [];
|
|
2929
2948
|
})) : n;
|
|
2930
2949
|
}
|
|
2931
|
-
function
|
|
2932
|
-
let c = e.filter((e) => e.visibleSeries.length > 0).flatMap((e) =>
|
|
2950
|
+
function Ai(e, t, n, r, i, a, o, s) {
|
|
2951
|
+
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 + 20 / 2);
|
|
2933
2952
|
return {
|
|
2934
2953
|
tickClearance: u,
|
|
2935
|
-
fullClearance: l + 7 + 0 +
|
|
2954
|
+
fullClearance: l + 7 + 0 + 20 + 4,
|
|
2936
2955
|
labelCenterX: d
|
|
2937
2956
|
};
|
|
2938
2957
|
}
|
|
2939
2958
|
//#endregion
|
|
2940
2959
|
//#region src/components/core/useWaveformLayout.ts
|
|
2941
|
-
function
|
|
2960
|
+
function ji(e) {
|
|
2942
2961
|
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
2962
|
...e,
|
|
2944
|
-
color: e.color ?? (t === 0 ? n.lineColor :
|
|
2945
|
-
}))), g = t(() =>
|
|
2963
|
+
color: e.color ?? (t === 0 ? n.lineColor : Ut[t % Ut.length])
|
|
2964
|
+
}))), g = t(() => Vn(n.grid)), _ = t(() => {
|
|
2946
2965
|
let e = /* @__PURE__ */ new Map();
|
|
2947
2966
|
h.value.forEach((t) => {
|
|
2948
2967
|
let n = t.trackId || t.id, r = e.get(n);
|
|
@@ -2957,15 +2976,15 @@ function Oi(e) {
|
|
|
2957
2976
|
id: t,
|
|
2958
2977
|
series: n,
|
|
2959
2978
|
visibleSeries: r,
|
|
2960
|
-
xDomain: i.length ?
|
|
2961
|
-
yDomain: o.length ?
|
|
2979
|
+
xDomain: i.length ? _t(i) : [0, 1],
|
|
2980
|
+
yDomain: o.length ? _t(o) : [0, 1]
|
|
2962
2981
|
};
|
|
2963
2982
|
});
|
|
2964
|
-
}), v = t(() =>
|
|
2983
|
+
}), 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
2984
|
let e = x.value.filter((e) => e.series.length > 0);
|
|
2966
2985
|
return g.value.fillIncompleteLastRow && e.length > 0 ? e : x.value;
|
|
2967
|
-
}), C = t(() =>
|
|
2968
|
-
let e =
|
|
2986
|
+
}), 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(() => {
|
|
2987
|
+
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
2988
|
return {
|
|
2970
2989
|
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
2990
|
hideSecondaryLabels: n.overlayMode !== "multi-axis" && r && E.value && !o
|
|
@@ -2974,17 +2993,17 @@ function Oi(e) {
|
|
|
2974
2993
|
let e = [];
|
|
2975
2994
|
return _.value.forEach((t) => {
|
|
2976
2995
|
t.visibleSeries.length && e.push(t.xDomain[0], t.xDomain[1]);
|
|
2977
|
-
}),
|
|
2996
|
+
}), _t(e);
|
|
2978
2997
|
}), B = t(() => {
|
|
2979
2998
|
let e = n.initialXDomain;
|
|
2980
|
-
return e && Number.isFinite(e[0]) && Number.isFinite(e[1]) && e[0] !== e[1] ?
|
|
2999
|
+
return e && Number.isFinite(e[0]) && Number.isFinite(e[1]) && e[0] !== e[1] ? Qn(e[0] < e[1] ? e : [e[1], e[0]], n.xDomainStrategy, !0) : Qn(z.value, n.xDomainStrategy);
|
|
2981
3000
|
}), V = (e) => {
|
|
2982
3001
|
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(() =>
|
|
3002
|
+
return t && Number.isFinite(t[0]) && Number.isFinite(t[1]) && t[0] !== t[1] ? Qn(t[0] < t[1] ? t : [t[1], t[0]], n.xDomainStrategy, !0) : Qn(_t(e.seriesList.flatMap((e) => e.xDomain)), n.xDomainStrategy);
|
|
3003
|
+
}, 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
3004
|
...e,
|
|
2986
3005
|
series: S.value[t]
|
|
2987
|
-
}))), G = t(() =>
|
|
3006
|
+
}))), G = t(() => er({
|
|
2988
3007
|
cells: U.value,
|
|
2989
3008
|
grid: g.value,
|
|
2990
3009
|
displayMode: n.displayMode,
|
|
@@ -3004,8 +3023,9 @@ function Oi(e) {
|
|
|
3004
3023
|
rendering: v.value,
|
|
3005
3024
|
linePointOverrides: m?.value,
|
|
3006
3025
|
hideSecondaryLabels: c.value || N.value.hideSecondaryLabels,
|
|
3026
|
+
yLabel: n.yLabel,
|
|
3007
3027
|
yAxisLabelX: k.value.slots.find((e) => e.side === "left" && e.sideIndex === 0)?.labelOffset ?? T.value.labelCenterX,
|
|
3008
|
-
yAxisSlots:
|
|
3028
|
+
yAxisSlots: k.value.slots,
|
|
3009
3029
|
showCompactEmptyTracks: n.displayMode === "compact" && P.value
|
|
3010
3030
|
})), ee = (e) => e.seriesList.map((t) => ({
|
|
3011
3031
|
...e,
|
|
@@ -3036,7 +3056,7 @@ function Oi(e) {
|
|
|
3036
3056
|
annotationLayoutsForTrack: ee,
|
|
3037
3057
|
resolveSeriesYScale: te,
|
|
3038
3058
|
annotationTrackLayouts: ne,
|
|
3039
|
-
renderedAnnotations: t(() => n.annotationsVisible ?
|
|
3059
|
+
renderedAnnotations: t(() => n.annotationsVisible ? Pe(n.annotations, ne.value, M.value, s.value) : []),
|
|
3040
3060
|
editorSeries: t(() => {
|
|
3041
3061
|
let e = p.editorDraft.value?.annotation.seriesId, t = h.value.find((t) => t.id === e);
|
|
3042
3062
|
return t ? {
|
|
@@ -3046,16 +3066,16 @@ function Oi(e) {
|
|
|
3046
3066
|
unit: t.unit
|
|
3047
3067
|
} : void 0;
|
|
3048
3068
|
}),
|
|
3049
|
-
resolveFrameNumber:
|
|
3069
|
+
resolveFrameNumber: Oi(() => n.frameNumber, () => n.frameNumbers, () => _.value)
|
|
3050
3070
|
};
|
|
3051
3071
|
}
|
|
3052
|
-
var
|
|
3053
|
-
function
|
|
3072
|
+
var Mi = 1e-6;
|
|
3073
|
+
function Ni(e) {
|
|
3054
3074
|
return Number.isFinite(e) ? Math.max(1, e) : 1;
|
|
3055
3075
|
}
|
|
3056
|
-
function
|
|
3057
|
-
let i =
|
|
3058
|
-
if (!(d >
|
|
3076
|
+
function Pi({ naturalWidth: e, naturalHeight: t, availableWidth: n, rotation: r }) {
|
|
3077
|
+
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;
|
|
3078
|
+
if (!(d > Mi && Math.abs(d - 360) > Mi)) {
|
|
3059
3079
|
let e = Math.max(1, Math.ceil(i / o)), t = o, n = a * e;
|
|
3060
3080
|
return {
|
|
3061
3081
|
textWidth: t,
|
|
@@ -3080,17 +3100,17 @@ function ji({ naturalWidth: e, naturalHeight: t, availableWidth: n, rotation: r
|
|
|
3080
3100
|
}
|
|
3081
3101
|
//#endregion
|
|
3082
3102
|
//#region src/components/core/useWaveformPresentation.ts
|
|
3083
|
-
function
|
|
3103
|
+
function Fi(e) {
|
|
3084
3104
|
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
3105
|
width: l.value === void 0 ? "100%" : `${l.value}px`,
|
|
3086
3106
|
height: u.value === void 0 ? "100%" : `${u.value}px`
|
|
3087
3107
|
})), m = t(() => n.cleanView === !0), h = t(() => n.presentationMode === !0), g = t(() => {
|
|
3088
3108
|
let e = n.zeroLine.width;
|
|
3089
3109
|
return {
|
|
3090
|
-
visible: n.zeroLine.visible
|
|
3091
|
-
color: n.zeroLine.color ||
|
|
3092
|
-
width: typeof e == "number" && Number.isFinite(e) && e > 0 ? e :
|
|
3093
|
-
dash: n.zeroLine.dash ??
|
|
3110
|
+
visible: n.zeroLine.visible !== !1,
|
|
3111
|
+
color: n.zeroLine.color || Gt.COLOR,
|
|
3112
|
+
width: typeof e == "number" && Number.isFinite(e) && e > 0 ? e : Gt.WIDTH,
|
|
3113
|
+
dash: n.zeroLine.dash ?? Gt.DASH
|
|
3094
3114
|
};
|
|
3095
3115
|
}), _ = 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
3116
|
let t = n.legend.orientation ?? "auto";
|
|
@@ -3112,10 +3132,10 @@ function Mi(e) {
|
|
|
3112
3132
|
fontStyle: n.title?.textStyle?.fontStyle ?? "normal",
|
|
3113
3133
|
textDecoration: n.title?.textStyle?.textDecoration ?? "none",
|
|
3114
3134
|
letterSpacing: n.title?.textStyle?.letterSpacing ?? "normal",
|
|
3115
|
-
lineHeight: String(
|
|
3135
|
+
lineHeight: String(Ht)
|
|
3116
3136
|
})), A = t(() => {
|
|
3117
3137
|
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 *
|
|
3138
|
+
return Math.max(1, C.value.length * E.value * Vt + t);
|
|
3119
3139
|
}), j = t(() => {
|
|
3120
3140
|
let e = d.value - 48;
|
|
3121
3141
|
return e > 0 ? e : A.value;
|
|
@@ -3125,14 +3145,14 @@ function Mi(e) {
|
|
|
3125
3145
|
maxWidth: O.value ? "none" : `${j.value}px`,
|
|
3126
3146
|
whiteSpace: O.value ? "nowrap" : "normal",
|
|
3127
3147
|
overflowWrap: O.value ? "normal" : "anywhere"
|
|
3128
|
-
})), N = t(() =>
|
|
3148
|
+
})), N = t(() => Pi({
|
|
3129
3149
|
naturalWidth: a.value || A.value,
|
|
3130
3150
|
naturalHeight: o.value || E.value * 1.2,
|
|
3131
3151
|
availableWidth: j.value,
|
|
3132
3152
|
rotation: D.value
|
|
3133
3153
|
})), 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,
|
|
3154
|
+
top: F(n.plotMargin.top, zt.top),
|
|
3155
|
+
bottom: F(n.plotMargin.bottom, zt.bottom)
|
|
3136
3156
|
})), L = t(() => I.value.top), R = t(() => Math.max(0, f.value - P.value - c.value));
|
|
3137
3157
|
return {
|
|
3138
3158
|
fixedWidth: l,
|
|
@@ -3181,66 +3201,66 @@ function Mi(e) {
|
|
|
3181
3201
|
}
|
|
3182
3202
|
//#endregion
|
|
3183
3203
|
//#region src/core/samplingReferenceValues.ts
|
|
3184
|
-
function
|
|
3204
|
+
function Ii(e, t) {
|
|
3185
3205
|
return t === 0 ? 0 : Number.isFinite(e) ? Math.min(t, Math.max(1, Math.floor(e))) : t;
|
|
3186
3206
|
}
|
|
3187
|
-
function
|
|
3207
|
+
function Li(e, t, n, r) {
|
|
3188
3208
|
let i = r - n;
|
|
3189
3209
|
return {
|
|
3190
3210
|
start: n + Math.floor(e * i / t),
|
|
3191
3211
|
end: n + Math.floor((e + 1) * i / t)
|
|
3192
3212
|
};
|
|
3193
3213
|
}
|
|
3194
|
-
function
|
|
3214
|
+
function Ri(e, t) {
|
|
3195
3215
|
e[e.length - 1] !== t && e.push(t);
|
|
3196
3216
|
}
|
|
3197
|
-
function
|
|
3217
|
+
function zi(e, t, n) {
|
|
3198
3218
|
if (e <= t) return Array.from({ length: e }, (e, t) => t);
|
|
3199
3219
|
if (t === 1) return [0];
|
|
3200
3220
|
if (t === 2) return [0, e - 1];
|
|
3201
3221
|
let r = [0];
|
|
3202
|
-
return n().forEach((e) =>
|
|
3222
|
+
return n().forEach((e) => Ri(r, e)), Ri(r, e - 1), r;
|
|
3203
3223
|
}
|
|
3204
|
-
function
|
|
3224
|
+
function Bi(e, t, n) {
|
|
3205
3225
|
let r = n === "minmax" ? Math.floor((t - 2) / 2) : Math.max(0, t - 2);
|
|
3206
|
-
return
|
|
3226
|
+
return zi(e.length, t, () => {
|
|
3207
3227
|
if (!r) return [];
|
|
3208
3228
|
let t = [];
|
|
3209
3229
|
for (let i = 0; i < r; i += 1) {
|
|
3210
|
-
let a =
|
|
3230
|
+
let a = Li(i, r, 1, e.length - 1), o = a.start, s = a.start;
|
|
3211
3231
|
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" ?
|
|
3232
|
+
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
3233
|
}
|
|
3214
3234
|
return t;
|
|
3215
3235
|
});
|
|
3216
3236
|
}
|
|
3217
|
-
function
|
|
3237
|
+
function Vi(e, t) {
|
|
3218
3238
|
let n = Math.floor((t - 2) / 4);
|
|
3219
|
-
return
|
|
3239
|
+
return zi(e.length, t, () => {
|
|
3220
3240
|
if (!n) return [];
|
|
3221
3241
|
let t = [];
|
|
3222
3242
|
for (let r = 0; r < n; r += 1) {
|
|
3223
|
-
let i =
|
|
3243
|
+
let i = Li(r, n, 1, e.length - 1), a = i.start, o = i.start;
|
|
3224
3244
|
for (let t = i.start + 1; t < i.end; t += 1) e[t] < e[a] && (a = t), e[t] > e[o] && (o = t);
|
|
3225
3245
|
[
|
|
3226
3246
|
i.start,
|
|
3227
3247
|
a,
|
|
3228
3248
|
o,
|
|
3229
3249
|
i.end - 1
|
|
3230
|
-
].sort((e, t) => e - t).forEach((e) =>
|
|
3250
|
+
].sort((e, t) => e - t).forEach((e) => Ri(t, e));
|
|
3231
3251
|
}
|
|
3232
3252
|
return t;
|
|
3233
3253
|
});
|
|
3234
3254
|
}
|
|
3235
|
-
function
|
|
3236
|
-
return
|
|
3255
|
+
function Hi(e, t, n) {
|
|
3256
|
+
return zi(e.length, n, () => {
|
|
3237
3257
|
let r = (e.length - 2) / (n - 2), i = [], a = 0;
|
|
3238
3258
|
for (let o = 0; o < n - 2; o += 1) {
|
|
3239
3259
|
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
3260
|
for (let n = s; n < c; n += 1) l += e[n], u += t[n];
|
|
3241
3261
|
let d = c - s;
|
|
3242
3262
|
d ? (l /= d, u /= d) : (l = e[e.length - 1], u = t[t.length - 1]);
|
|
3243
|
-
let f =
|
|
3263
|
+
let f = Li(o, n - 2, 1, e.length - 1), p = f.start, m = -1;
|
|
3244
3264
|
for (let n = f.start; n < f.end; n += 1) {
|
|
3245
3265
|
let r = Math.abs((e[a] - l) * (t[n] - t[a]) - (e[a] - e[n]) * (u - t[a]));
|
|
3246
3266
|
r > m && (m = r, p = n);
|
|
@@ -3250,10 +3270,10 @@ function zi(e, t, n) {
|
|
|
3250
3270
|
return i;
|
|
3251
3271
|
});
|
|
3252
3272
|
}
|
|
3253
|
-
function
|
|
3254
|
-
let i =
|
|
3273
|
+
function Ui(e, t, n, r) {
|
|
3274
|
+
let i = Ii(n, e.length), a = new Float64Array(i), o = new Float64Array(i);
|
|
3255
3275
|
for (let n = 0; n < i; n += 1) {
|
|
3256
|
-
let s =
|
|
3276
|
+
let s = Li(n, i, 0, e.length);
|
|
3257
3277
|
for (let r = s.start; r < s.end; r += 1) a[n] += e[r], o[n] += t[r];
|
|
3258
3278
|
let c = s.end - s.start;
|
|
3259
3279
|
a[n] /= c, r === "average" && (o[n] /= c);
|
|
@@ -3264,10 +3284,10 @@ function Bi(e, t, n, r) {
|
|
|
3264
3284
|
y: o
|
|
3265
3285
|
};
|
|
3266
3286
|
}
|
|
3267
|
-
function
|
|
3287
|
+
function Wi(e, t, n, r) {
|
|
3268
3288
|
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 =
|
|
3289
|
+
if (n === "average" || n === "sum") return Ui(e, t, r, n);
|
|
3290
|
+
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
3291
|
return {
|
|
3272
3292
|
kind: "source-indexes",
|
|
3273
3293
|
sourceIndexes: Uint32Array.from(a)
|
|
@@ -3275,41 +3295,41 @@ function Vi(e, t, n, r) {
|
|
|
3275
3295
|
}
|
|
3276
3296
|
//#endregion
|
|
3277
3297
|
//#region src/core/workerSampling/javascriptBackend.ts
|
|
3278
|
-
var
|
|
3298
|
+
var Gi = {
|
|
3279
3299
|
kind: "javascript",
|
|
3280
3300
|
sample(e) {
|
|
3281
|
-
return
|
|
3301
|
+
return Wi(e.x, e.y, e.strategy, e.targetPointCount);
|
|
3282
3302
|
}
|
|
3283
|
-
},
|
|
3284
|
-
function
|
|
3303
|
+
}, Ki = 8 * 1024 * 1024;
|
|
3304
|
+
function qi(e, t) {
|
|
3285
3305
|
return t === 0 ? 0 : Number.isFinite(e) ? Math.min(t, Math.max(1, Math.floor(e))) : t;
|
|
3286
3306
|
}
|
|
3287
|
-
function
|
|
3307
|
+
function Ji(e, t, n, r) {
|
|
3288
3308
|
let i = r - n;
|
|
3289
3309
|
return {
|
|
3290
3310
|
start: n + Math.floor(e * i / t),
|
|
3291
3311
|
end: n + Math.floor((e + 1) * i / t)
|
|
3292
3312
|
};
|
|
3293
3313
|
}
|
|
3294
|
-
function
|
|
3314
|
+
function Yi(e, t) {
|
|
3295
3315
|
e[e.length - 1] !== t && e.push(t);
|
|
3296
3316
|
}
|
|
3297
|
-
function
|
|
3317
|
+
function Xi(e) {
|
|
3298
3318
|
return "minimumIndexes" in e ? e.minimumIndexes.byteLength + e.maximumIndexes.byteLength : e.x.byteLength + e.y.byteLength + e.count.byteLength;
|
|
3299
3319
|
}
|
|
3300
|
-
function
|
|
3320
|
+
function Zi(e, t) {
|
|
3301
3321
|
let n = 1;
|
|
3302
3322
|
for (; n * 2 <= t && e % (n * 2) == 0;) n *= 2;
|
|
3303
3323
|
return n;
|
|
3304
3324
|
}
|
|
3305
|
-
var
|
|
3325
|
+
var Qi = class {
|
|
3306
3326
|
points;
|
|
3307
3327
|
extremaLayers = [];
|
|
3308
3328
|
sumLayers = [];
|
|
3309
3329
|
indexBytes = 0;
|
|
3310
3330
|
maxBytes;
|
|
3311
3331
|
constructor(e, t = {}) {
|
|
3312
|
-
this.points = e, this.maxBytes = Number.isFinite(t.maxBytes) ? Math.max(0, Math.floor(t.maxBytes ?? 0)) :
|
|
3332
|
+
this.points = e, this.maxBytes = Number.isFinite(t.maxBytes) ? Math.max(0, Math.floor(t.maxBytes ?? 0)) : Ki;
|
|
3313
3333
|
}
|
|
3314
3334
|
get byteLength() {
|
|
3315
3335
|
return this.indexBytes;
|
|
@@ -3318,7 +3338,7 @@ var Yi = class {
|
|
|
3318
3338
|
this.extremaLayers.length = 0, this.sumLayers.length = 0, this.indexBytes = 0;
|
|
3319
3339
|
}
|
|
3320
3340
|
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 =
|
|
3341
|
+
let i = Math.max(0, Math.min(this.points.length, Math.floor(e))), a = Math.max(i, Math.min(this.points.length, Math.floor(t))), o = a - i, s = qi(r, o);
|
|
3322
3342
|
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
3343
|
}
|
|
3324
3344
|
allIndexes(e, t) {
|
|
@@ -3338,24 +3358,24 @@ var Yi = class {
|
|
|
3338
3358
|
if (i === 0) return this.indexes([e, t - 1]);
|
|
3339
3359
|
let a = [e];
|
|
3340
3360
|
for (let n = 0; n < i; n += 1) {
|
|
3341
|
-
let o =
|
|
3361
|
+
let o = Ji(n, i, e + 1, t - 1), s = this.queryExtrema(o.start, o.end);
|
|
3342
3362
|
if (!s) return;
|
|
3343
|
-
if (r === "min")
|
|
3344
|
-
else if (r === "max")
|
|
3345
|
-
else if (r === "minmax") s.minimum <= s.maximum ? (
|
|
3363
|
+
if (r === "min") Yi(a, s.minimum);
|
|
3364
|
+
else if (r === "max") Yi(a, s.maximum);
|
|
3365
|
+
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
3366
|
else for (let e of [
|
|
3347
3367
|
o.start,
|
|
3348
3368
|
s.minimum,
|
|
3349
3369
|
s.maximum,
|
|
3350
3370
|
o.end - 1
|
|
3351
|
-
].sort((e, t) => e - t))
|
|
3371
|
+
].sort((e, t) => e - t)) Yi(a, e);
|
|
3352
3372
|
}
|
|
3353
|
-
return
|
|
3373
|
+
return Yi(a, t - 1), this.indexes(a);
|
|
3354
3374
|
}
|
|
3355
3375
|
aggregate(e, t, n, r) {
|
|
3356
3376
|
let i = new Float64Array(n), a = new Float64Array(n);
|
|
3357
3377
|
for (let o = 0; o < n; o += 1) {
|
|
3358
|
-
let s =
|
|
3378
|
+
let s = Ji(o, n, e, t), c = this.querySum(s.start, s.end);
|
|
3359
3379
|
if (!c || c.count === 0) return;
|
|
3360
3380
|
i[o] = c.x / c.count, a[o] = r === "average" ? c.y / c.count : c.y;
|
|
3361
3381
|
}
|
|
@@ -3370,7 +3390,7 @@ var Yi = class {
|
|
|
3370
3390
|
if (!this.ensureExtrema(n)) return;
|
|
3371
3391
|
let r = e, i = e;
|
|
3372
3392
|
for (let n = e; n < t;) {
|
|
3373
|
-
let e =
|
|
3393
|
+
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
3394
|
this.isMinimum(c, r) && (r = c), this.isMaximum(l, i) && (i = l), n += e;
|
|
3375
3395
|
}
|
|
3376
3396
|
return {
|
|
@@ -3383,7 +3403,7 @@ var Yi = class {
|
|
|
3383
3403
|
if (!this.ensureSum(n)) return;
|
|
3384
3404
|
let r = 0, i = 0, a = 0;
|
|
3385
3405
|
for (let n = e; n < t;) {
|
|
3386
|
-
let e =
|
|
3406
|
+
let e = Zi(n, t - n), o = Math.floor(Math.log2(e)), s = n / e, c = this.sumLayers[o];
|
|
3387
3407
|
if (c) r += c.x[s], i += c.y[s], a += c.count[s];
|
|
3388
3408
|
else {
|
|
3389
3409
|
let e = this.points[n];
|
|
@@ -3404,7 +3424,7 @@ var Yi = class {
|
|
|
3404
3424
|
minimumIndexes: new Uint32Array(e),
|
|
3405
3425
|
maximumIndexes: new Uint32Array(e)
|
|
3406
3426
|
};
|
|
3407
|
-
if (!this.reserve(
|
|
3427
|
+
if (!this.reserve(Xi(n))) return !1;
|
|
3408
3428
|
let r = this.extremaLayers[t - 1];
|
|
3409
3429
|
for (let t = 0; t < e; t += 1) {
|
|
3410
3430
|
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 +3442,7 @@ var Yi = class {
|
|
|
3422
3442
|
y: new Float64Array(e),
|
|
3423
3443
|
count: new Uint32Array(e)
|
|
3424
3444
|
};
|
|
3425
|
-
if (!this.reserve(
|
|
3445
|
+
if (!this.reserve(Xi(n))) return !1;
|
|
3426
3446
|
let r = this.sumLayers[t - 1];
|
|
3427
3447
|
for (let t = 0; t < e; t += 1) {
|
|
3428
3448
|
let e = t * 2, i = e + 1;
|
|
@@ -3447,8 +3467,8 @@ var Yi = class {
|
|
|
3447
3467
|
let n = this.points[e], r = this.points[t];
|
|
3448
3468
|
return n.y > r.y || n.y === r.y && e < t;
|
|
3449
3469
|
}
|
|
3450
|
-
},
|
|
3451
|
-
function
|
|
3470
|
+
}, $i = 1e3, ea = L((e) => e.x);
|
|
3471
|
+
function ta(e) {
|
|
3452
3472
|
let t = [], n = !0, r = -Infinity;
|
|
3453
3473
|
for (let i of e) !Number.isFinite(i.x) || !Number.isFinite(i.y) || (i.x < r && (n = !1), r = i.x, t.push({
|
|
3454
3474
|
x: i.x,
|
|
@@ -3459,7 +3479,7 @@ function Qi(e) {
|
|
|
3459
3479
|
}));
|
|
3460
3480
|
return n || t.sort((e, t) => e.x - t.x), t;
|
|
3461
3481
|
}
|
|
3462
|
-
function
|
|
3482
|
+
function na(e, t) {
|
|
3463
3483
|
let n = Infinity, r = -Infinity, i = Infinity, a = -Infinity;
|
|
3464
3484
|
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
3485
|
return {
|
|
@@ -3469,7 +3489,7 @@ function $i(e, t) {
|
|
|
3469
3489
|
yDomain: e.length ? [i, a] : null
|
|
3470
3490
|
};
|
|
3471
3491
|
}
|
|
3472
|
-
function
|
|
3492
|
+
function ra(e, t, n = e.length) {
|
|
3473
3493
|
let r = Infinity, i = -Infinity, a = Infinity, o = -Infinity;
|
|
3474
3494
|
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
3495
|
return {
|
|
@@ -3479,39 +3499,39 @@ function ea(e, t, n = e.length) {
|
|
|
3479
3499
|
yDomain: e.length ? [a, o] : null
|
|
3480
3500
|
};
|
|
3481
3501
|
}
|
|
3482
|
-
function
|
|
3502
|
+
function ia(e, t) {
|
|
3483
3503
|
return e ? e.revision === t ? "ok" : "stale-revision" : "not-found";
|
|
3484
3504
|
}
|
|
3485
|
-
function
|
|
3505
|
+
function aa(e) {
|
|
3486
3506
|
return e === "auto" ? "peak" : e;
|
|
3487
3507
|
}
|
|
3488
|
-
function
|
|
3508
|
+
function oa(e) {
|
|
3489
3509
|
if (Number.isFinite(e.maxPointCount) && (e.maxPointCount ?? 0) >= 1) return Math.floor(e.maxPointCount);
|
|
3490
3510
|
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
3511
|
return Math.max(1, Math.floor(t * n));
|
|
3492
3512
|
}
|
|
3493
|
-
function
|
|
3513
|
+
function sa(e, t) {
|
|
3494
3514
|
if (e.mode === "raw") return !0;
|
|
3495
3515
|
if (e.mode !== "auto") return !1;
|
|
3496
|
-
let n = Number.isFinite(e.autoThreshold) ? Math.max(1, Math.floor(e.autoThreshold ?? 0)) :
|
|
3516
|
+
let n = Number.isFinite(e.autoThreshold) ? Math.max(1, Math.floor(e.autoThreshold ?? 0)) : $i;
|
|
3497
3517
|
if (!e.previousSelectedMode) return t <= n;
|
|
3498
3518
|
let r = Number.isFinite(e.autoHysteresis) ? Math.max(0, Math.floor(e.autoHysteresis ?? 0)) : 0;
|
|
3499
3519
|
return e.previousSelectedMode === "raw" ? t <= n + r : t <= Math.max(0, n - r);
|
|
3500
3520
|
}
|
|
3501
|
-
function
|
|
3521
|
+
function ca(e, t) {
|
|
3502
3522
|
let n = e[0], r = e.at(-1);
|
|
3503
|
-
return Number.isFinite(t) && n && r && t >= n.x && t <= r.x ? e[
|
|
3523
|
+
return Number.isFinite(t) && n && r && t >= n.x && t <= r.x ? e[ea.center(e, t)] : void 0;
|
|
3504
3524
|
}
|
|
3505
|
-
function
|
|
3525
|
+
function la(e) {
|
|
3506
3526
|
return e ? e.kind === "source-indexes" ? e.sourceIndexes.length : e.x.length : 0;
|
|
3507
3527
|
}
|
|
3508
|
-
function
|
|
3528
|
+
function ua(e, t) {
|
|
3509
3529
|
return e.kind === "aggregates" ? e : {
|
|
3510
3530
|
kind: "source-indexes",
|
|
3511
3531
|
sourceIndexes: Uint32Array.from(e.sourceIndexes, (e) => e + t)
|
|
3512
3532
|
};
|
|
3513
3533
|
}
|
|
3514
|
-
function
|
|
3534
|
+
function da(e, t, n, r, i) {
|
|
3515
3535
|
return [
|
|
3516
3536
|
e.datasetId,
|
|
3517
3537
|
e.revision,
|
|
@@ -3531,14 +3551,14 @@ function ca(e, t, n, r, i) {
|
|
|
3531
3551
|
e.errorBarMinSpacing ?? 0
|
|
3532
3552
|
].join("\0");
|
|
3533
3553
|
}
|
|
3534
|
-
function
|
|
3554
|
+
function fa(e, t, n, r, i, a, o, s) {
|
|
3535
3555
|
return {
|
|
3536
3556
|
seriesId: e.seriesId,
|
|
3537
3557
|
datasetId: e.datasetId,
|
|
3538
3558
|
mode: e.mode,
|
|
3539
3559
|
selectedMode: i,
|
|
3540
3560
|
backend: r,
|
|
3541
|
-
strategy:
|
|
3561
|
+
strategy: aa(e.strategy),
|
|
3542
3562
|
sourcePointCount: t,
|
|
3543
3563
|
visiblePointCount: n,
|
|
3544
3564
|
renderedPointCount: o,
|
|
@@ -3554,18 +3574,18 @@ function la(e, t, n, r, i, a, o, s) {
|
|
|
3554
3574
|
}
|
|
3555
3575
|
//#endregion
|
|
3556
3576
|
//#region src/core/workerSampling/repositoryDataset.ts
|
|
3557
|
-
function
|
|
3577
|
+
function pa(e) {
|
|
3558
3578
|
return e?.y.length ?? 0;
|
|
3559
3579
|
}
|
|
3560
|
-
function
|
|
3580
|
+
function ma(e, t) {
|
|
3561
3581
|
return e.x ? e.x[t] : e.sampleStartTime + (e.sampleSourceIndexes?.[t] ?? t) / e.sampleRate;
|
|
3562
3582
|
}
|
|
3563
|
-
function
|
|
3583
|
+
function ha(e, t) {
|
|
3564
3584
|
let n = (t, n) => {
|
|
3565
|
-
let r = 0, i =
|
|
3585
|
+
let r = 0, i = pa(e);
|
|
3566
3586
|
for (; r < i;) {
|
|
3567
3587
|
let a = r + Math.floor((i - r) / 2);
|
|
3568
|
-
(n ?
|
|
3588
|
+
(n ? ma(e, a) <= t : ma(e, a) < t) ? r = a + 1 : i = a;
|
|
3569
3589
|
}
|
|
3570
3590
|
return r;
|
|
3571
3591
|
}, r = Math.min(t[0], t[1]), i = Math.max(t[0], t[1]);
|
|
@@ -3574,13 +3594,13 @@ function fa(e, t) {
|
|
|
3574
3594
|
end: n(i, !0)
|
|
3575
3595
|
};
|
|
3576
3596
|
}
|
|
3577
|
-
function
|
|
3578
|
-
return e.x ? e.x.subarray(t, n) : Float64Array.from({ length: n - t }, (n, r) =>
|
|
3597
|
+
function ga(e, t, n) {
|
|
3598
|
+
return e.x ? e.x.subarray(t, n) : Float64Array.from({ length: n - t }, (n, r) => ma(e, t + r));
|
|
3579
3599
|
}
|
|
3580
|
-
function
|
|
3600
|
+
function _a(e) {
|
|
3581
3601
|
return e?.kind === "wasm" && "registerDataset" in e && "disposeDataset" in e && "disposeAllDatasets" in e && "datasetIndexBytes" in e && "registerSamples" in e && "sampleDataset" in e;
|
|
3582
3602
|
}
|
|
3583
|
-
function
|
|
3603
|
+
function va(e, t) {
|
|
3584
3604
|
let n = [], r = Math.min(e.length, t.length);
|
|
3585
3605
|
for (let i = 0; i < r; i += 1) Number.isFinite(e[i]) && Number.isFinite(t[i]) && n.push(i);
|
|
3586
3606
|
return n.sort((t, n) => e[t] - e[n] || t - n), {
|
|
@@ -3588,14 +3608,14 @@ function ha(e, t) {
|
|
|
3588
3608
|
y: Float64Array.from(n, (e) => t[e])
|
|
3589
3609
|
};
|
|
3590
3610
|
}
|
|
3591
|
-
function
|
|
3611
|
+
function ya(e, t, n, r) {
|
|
3592
3612
|
if (t?.kind === "typed") {
|
|
3593
|
-
let e =
|
|
3613
|
+
let e = va(t.x, t.y);
|
|
3594
3614
|
return {
|
|
3595
3615
|
x: e.x,
|
|
3596
3616
|
y: e.y,
|
|
3597
3617
|
revision: n,
|
|
3598
|
-
metrics:
|
|
3618
|
+
metrics: ra(e.x, e.y, Math.max(t.x.length, t.y.length))
|
|
3599
3619
|
};
|
|
3600
3620
|
}
|
|
3601
3621
|
if (t?.kind === "samples") {
|
|
@@ -3629,35 +3649,35 @@ function ga(e, t, n, r) {
|
|
|
3629
3649
|
}
|
|
3630
3650
|
};
|
|
3631
3651
|
}
|
|
3632
|
-
let i =
|
|
3652
|
+
let i = ta(e ?? t?.points ?? []);
|
|
3633
3653
|
return {
|
|
3634
3654
|
x: Float64Array.from(i, (e) => e.x),
|
|
3635
3655
|
y: Float64Array.from(i, (e) => e.y),
|
|
3636
3656
|
points: i,
|
|
3637
3657
|
revision: n,
|
|
3638
|
-
metrics:
|
|
3639
|
-
index: new
|
|
3658
|
+
metrics: na(i, e?.length ?? t?.points.length ?? 0),
|
|
3659
|
+
index: new Qi(i, { maxBytes: r })
|
|
3640
3660
|
};
|
|
3641
3661
|
}
|
|
3642
|
-
function
|
|
3643
|
-
!
|
|
3662
|
+
function ba(e, t, n) {
|
|
3663
|
+
!_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
3664
|
}
|
|
3645
|
-
function
|
|
3646
|
-
t.index?.dispose(), t.wasmDatasetHandle !== void 0 &&
|
|
3665
|
+
function xa(e, t) {
|
|
3666
|
+
t.index?.dispose(), t.wasmDatasetHandle !== void 0 && _a(e) && e.disposeDataset(t.wasmDatasetHandle);
|
|
3647
3667
|
}
|
|
3648
3668
|
//#endregion
|
|
3649
3669
|
//#region src/core/workerSampling/samplingCache.ts
|
|
3650
|
-
var
|
|
3651
|
-
function
|
|
3670
|
+
var Sa = 96, Ca = 16 * 1024 * 1024;
|
|
3671
|
+
function wa(e) {
|
|
3652
3672
|
return e.kind === "source-indexes" ? e.sourceIndexes.byteLength : e.x.byteLength + e.y.byteLength;
|
|
3653
3673
|
}
|
|
3654
|
-
var
|
|
3674
|
+
var Ta = class {
|
|
3655
3675
|
entries = /* @__PURE__ */ new Map();
|
|
3656
3676
|
bytes = 0;
|
|
3657
3677
|
maxEntries;
|
|
3658
3678
|
maxBytes;
|
|
3659
3679
|
constructor(e = {}) {
|
|
3660
|
-
this.maxEntries = Number.isFinite(e.maxEntries) ? Math.max(0, Math.floor(e.maxEntries ?? 0)) :
|
|
3680
|
+
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
3681
|
}
|
|
3662
3682
|
get metrics() {
|
|
3663
3683
|
return {
|
|
@@ -3672,7 +3692,7 @@ var Sa = class {
|
|
|
3672
3692
|
if (t) return this.entries.delete(e), this.entries.set(e, t), t.output;
|
|
3673
3693
|
}
|
|
3674
3694
|
set(e, t) {
|
|
3675
|
-
let n =
|
|
3695
|
+
let n = wa(t);
|
|
3676
3696
|
if (n > this.maxBytes || this.maxEntries === 0) return;
|
|
3677
3697
|
let r = this.entries.get(e);
|
|
3678
3698
|
for (r && (this.bytes -= r.bytes, this.entries.delete(e)), this.entries.set(e, {
|
|
@@ -3692,14 +3712,14 @@ var Sa = class {
|
|
|
3692
3712
|
clear() {
|
|
3693
3713
|
this.entries.clear(), this.bytes = 0;
|
|
3694
3714
|
}
|
|
3695
|
-
},
|
|
3715
|
+
}, Ea = class {
|
|
3696
3716
|
datasets = /* @__PURE__ */ new Map();
|
|
3697
3717
|
javascriptBackend;
|
|
3698
3718
|
cache;
|
|
3699
3719
|
indexMaxBytes;
|
|
3700
3720
|
wasmBackend;
|
|
3701
3721
|
constructor(e = {}) {
|
|
3702
|
-
this.javascriptBackend = e.javascriptBackend ??
|
|
3722
|
+
this.javascriptBackend = e.javascriptBackend ?? Gi, this.wasmBackend = e.wasmBackend, this.indexMaxBytes = e.indexMaxBytes, this.cache = new Ta({
|
|
3703
3723
|
maxEntries: e.cacheMaxEntries,
|
|
3704
3724
|
maxBytes: e.cacheMaxBytes
|
|
3705
3725
|
});
|
|
@@ -3712,9 +3732,9 @@ var Sa = class {
|
|
|
3712
3732
|
};
|
|
3713
3733
|
}
|
|
3714
3734
|
setWasmBackend(e) {
|
|
3715
|
-
this.wasmBackend && this.wasmBackend !== e &&
|
|
3735
|
+
this.wasmBackend && this.wasmBackend !== e && _a(this.wasmBackend) && (this.wasmBackend.disposeAllDatasets(), this.datasets.forEach((e) => {
|
|
3716
3736
|
e.wasmDatasetHandle = void 0, e.wasmIndexBytes = void 0;
|
|
3717
|
-
})), this.wasmBackend = e,
|
|
3737
|
+
})), this.wasmBackend = e, _a(e) && this.datasets.forEach((t) => ba(e, t, this.indexMaxBytes));
|
|
3718
3738
|
}
|
|
3719
3739
|
handle(e) {
|
|
3720
3740
|
switch (e.type) {
|
|
@@ -3730,15 +3750,15 @@ var Sa = class {
|
|
|
3730
3750
|
register(e, t, n, r) {
|
|
3731
3751
|
let i = this.datasets.get(e);
|
|
3732
3752
|
if (i) return this.datasetResponse(t, e, i, "stale-revision");
|
|
3733
|
-
let a =
|
|
3734
|
-
return
|
|
3753
|
+
let a = ya(n, r, 1, this.indexMaxBytes);
|
|
3754
|
+
return ba(this.wasmBackend, a, this.indexMaxBytes), this.datasets.set(e, a), this.datasetResponse(t, e, a, "ok");
|
|
3735
3755
|
}
|
|
3736
3756
|
replace(e, t, n, r, i) {
|
|
3737
|
-
let a = this.datasets.get(e), o =
|
|
3757
|
+
let a = this.datasets.get(e), o = ia(a, n);
|
|
3738
3758
|
if (o !== "ok" || !a) return this.datasetResponse(t, e, a, o);
|
|
3739
|
-
|
|
3740
|
-
let s =
|
|
3741
|
-
return
|
|
3759
|
+
xa(this.wasmBackend, a), this.cache.deleteDataset(e);
|
|
3760
|
+
let s = ya(r, i, a.revision + 1, this.indexMaxBytes);
|
|
3761
|
+
return ba(this.wasmBackend, s, this.indexMaxBytes), this.datasets.set(e, s), this.datasetResponse(t, e, s, "ok");
|
|
3742
3762
|
}
|
|
3743
3763
|
sample(e) {
|
|
3744
3764
|
return {
|
|
@@ -3748,28 +3768,28 @@ var Sa = class {
|
|
|
3748
3768
|
};
|
|
3749
3769
|
}
|
|
3750
3770
|
sampleSeries(e, t) {
|
|
3751
|
-
let n = performance.now(), r = this.datasets.get(t.datasetId), i =
|
|
3771
|
+
let n = performance.now(), r = this.datasets.get(t.datasetId), i = ia(r, t.revision);
|
|
3752
3772
|
if (i !== "ok" || !r) return this.sampleResponse(e, t, i, void 0, "unavailable", "sampled", 0, n, !1);
|
|
3753
|
-
let a =
|
|
3754
|
-
if (
|
|
3773
|
+
let a = ha(r, t.xDomain), o = a.end - a.start;
|
|
3774
|
+
if (sa(t, o)) return this.sampleResponse(e, t, "ok", {
|
|
3755
3775
|
kind: "source-indexes",
|
|
3756
3776
|
sourceIndexes: Uint32Array.from({ length: o }, (e, t) => a.start + t)
|
|
3757
3777
|
}, "raw", "raw", o, n, !1);
|
|
3758
3778
|
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
3779
|
if (!l) return this.sampleResponse(e, t, "wasm-unavailable", void 0, "unavailable", "sampled", o, n, !1);
|
|
3760
|
-
let u =
|
|
3780
|
+
let u = aa(t.strategy), d = oa(t), f = da(t, a, u, d, l.kind), p = this.cache.get(f);
|
|
3761
3781
|
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:
|
|
3782
|
+
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({
|
|
3783
|
+
x: ga(r, a.start, a.end),
|
|
3764
3784
|
y: r.y.subarray(a.start, a.end),
|
|
3765
3785
|
points: r.points?.slice(a.start, a.end) ?? [],
|
|
3766
3786
|
strategy: u,
|
|
3767
3787
|
targetPointCount: d
|
|
3768
3788
|
}), a.start);
|
|
3769
|
-
return this.cache.set(f, m), r.wasmDatasetHandle !== void 0 &&
|
|
3789
|
+
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
3790
|
}
|
|
3771
3791
|
sampleResponse(e, t, n, r, i, a, o, s, c) {
|
|
3772
|
-
let l =
|
|
3792
|
+
let l = fa(t, pa(this.datasets.get(t.datasetId)), o, i, a, performance.now() - s, la(r), c);
|
|
3773
3793
|
return l.requestId = e, {
|
|
3774
3794
|
seriesId: t.seriesId,
|
|
3775
3795
|
datasetId: t.datasetId,
|
|
@@ -3780,7 +3800,7 @@ var Sa = class {
|
|
|
3780
3800
|
};
|
|
3781
3801
|
}
|
|
3782
3802
|
findNearest(e, t, n, r) {
|
|
3783
|
-
let i = this.datasets.get(e), a =
|
|
3803
|
+
let i = this.datasets.get(e), a = ia(i, n);
|
|
3784
3804
|
return a !== "ok" || !i ? {
|
|
3785
3805
|
type: "find-nearest-point-response",
|
|
3786
3806
|
requestId: t,
|
|
@@ -3793,12 +3813,12 @@ var Sa = class {
|
|
|
3793
3813
|
datasetId: e,
|
|
3794
3814
|
revision: n,
|
|
3795
3815
|
status: a,
|
|
3796
|
-
point: i.points ?
|
|
3797
|
-
let e =
|
|
3798
|
-
if (!
|
|
3799
|
-
let t = Math.min(
|
|
3800
|
-
return Number.isFinite(r) &&
|
|
3801
|
-
x:
|
|
3816
|
+
point: i.points ? ca(i.points, r) : (() => {
|
|
3817
|
+
let e = ha(i, [r, r]);
|
|
3818
|
+
if (!pa(i) || r < ma(i, 0) || r > ma(i, pa(i) - 1)) return;
|
|
3819
|
+
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;
|
|
3820
|
+
return Number.isFinite(r) && pa(i) ? {
|
|
3821
|
+
x: ma(i, a),
|
|
3802
3822
|
y: i.y[a]
|
|
3803
3823
|
} : void 0;
|
|
3804
3824
|
})()
|
|
@@ -3806,15 +3826,15 @@ var Sa = class {
|
|
|
3806
3826
|
}
|
|
3807
3827
|
metrics(e, t, n) {
|
|
3808
3828
|
let r = this.datasets.get(e);
|
|
3809
|
-
return this.datasetResponse(t, e, r,
|
|
3829
|
+
return this.datasetResponse(t, e, r, ia(r, n));
|
|
3810
3830
|
}
|
|
3811
3831
|
dispose(e, t, n) {
|
|
3812
|
-
let r = this.datasets.get(e), i =
|
|
3813
|
-
return i === "ok" && r && (
|
|
3832
|
+
let r = this.datasets.get(e), i = ia(r, n);
|
|
3833
|
+
return i === "ok" && r && (xa(this.wasmBackend, r), this.cache.deleteDataset(e), this.datasets.delete(e)), this.datasetResponse(t, e, r, i);
|
|
3814
3834
|
}
|
|
3815
3835
|
disposeAll(e) {
|
|
3816
3836
|
let t = [...this.datasets.keys()];
|
|
3817
|
-
return this.datasets.forEach((e) =>
|
|
3837
|
+
return this.datasets.forEach((e) => xa(this.wasmBackend, e)), _a(this.wasmBackend) && this.wasmBackend.disposeAllDatasets(), this.datasets.clear(), this.cache.clear(), {
|
|
3818
3838
|
type: "dispose-all-response",
|
|
3819
3839
|
requestId: e,
|
|
3820
3840
|
disposedDatasetIds: t
|
|
@@ -3836,10 +3856,10 @@ var Sa = class {
|
|
|
3836
3856
|
};
|
|
3837
3857
|
//#endregion
|
|
3838
3858
|
//#region src/components/core/latestTaskScheduler.ts
|
|
3839
|
-
function
|
|
3859
|
+
function Da(e, t, n, r) {
|
|
3840
3860
|
return r ? r === "raw" ? e <= t + n ? "raw" : "sampled" : e <= Math.max(0, t - n) ? "raw" : "sampled" : e <= t ? "raw" : "sampled";
|
|
3841
3861
|
}
|
|
3842
|
-
function
|
|
3862
|
+
function Oa() {
|
|
3843
3863
|
let e = 0, t = !1, n, r = !1, i = {
|
|
3844
3864
|
scheduled: 0,
|
|
3845
3865
|
coalesced: 0,
|
|
@@ -3878,12 +3898,12 @@ function Ta() {
|
|
|
3878
3898
|
}
|
|
3879
3899
|
//#endregion
|
|
3880
3900
|
//#region src/components/core/workerSamplingClient.ts
|
|
3881
|
-
function
|
|
3901
|
+
function ka(e) {
|
|
3882
3902
|
return e?.message || "Web Worker is unavailable; JavaScript sampling is being used.";
|
|
3883
3903
|
}
|
|
3884
|
-
function
|
|
3904
|
+
function Aa() {
|
|
3885
3905
|
let e, t, n, r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map(), a = () => {
|
|
3886
|
-
t ??= new
|
|
3906
|
+
t ??= new Ea();
|
|
3887
3907
|
for (let [e, n] of i) {
|
|
3888
3908
|
t.handle({
|
|
3889
3909
|
type: "register-dataset",
|
|
@@ -3919,7 +3939,7 @@ function Da() {
|
|
|
3919
3939
|
let t = a();
|
|
3920
3940
|
e.forEach(({ request: e, resolve: n }) => n(t.handle(e)));
|
|
3921
3941
|
}, c = (r) => {
|
|
3922
|
-
t || (n =
|
|
3942
|
+
t || (n = ka(r), e?.terminate(), e = void 0, s());
|
|
3923
3943
|
};
|
|
3924
3944
|
try {
|
|
3925
3945
|
typeof Worker > "u" ? c() : (e = new Worker(new URL(
|
|
@@ -3956,20 +3976,20 @@ function Da() {
|
|
|
3956
3976
|
}
|
|
3957
3977
|
};
|
|
3958
3978
|
}
|
|
3959
|
-
function
|
|
3979
|
+
function ja(e) {
|
|
3960
3980
|
return e.type === "dataset-response";
|
|
3961
3981
|
}
|
|
3962
3982
|
//#endregion
|
|
3963
3983
|
//#region src/components/core/useWaveformRenderSampling.ts
|
|
3964
|
-
var
|
|
3965
|
-
function
|
|
3984
|
+
var Ma = 120;
|
|
3985
|
+
function Na(e, t) {
|
|
3966
3986
|
let n = e.output;
|
|
3967
3987
|
if (n) return n.kind === "aggregates" ? Array.from(n.x, (e, t) => ({
|
|
3968
3988
|
x: e,
|
|
3969
3989
|
y: n.y[t]
|
|
3970
3990
|
})) : Array.from(n.sourceIndexes, (e) => t.pointAt(e)).filter((e) => e !== void 0);
|
|
3971
3991
|
}
|
|
3972
|
-
function
|
|
3992
|
+
function Pa(e, t) {
|
|
3973
3993
|
let n = e.request, r = e.visibleRange.end - e.visibleRange.start;
|
|
3974
3994
|
return {
|
|
3975
3995
|
seriesId: n.seriesId,
|
|
@@ -3991,7 +4011,7 @@ function ja(e, t) {
|
|
|
3991
4011
|
maxPendingRequestCount: 0
|
|
3992
4012
|
};
|
|
3993
4013
|
}
|
|
3994
|
-
function
|
|
4014
|
+
function Fa(e) {
|
|
3995
4015
|
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
4016
|
if (i <= a) return t.pointsInRange(n, r);
|
|
3997
4017
|
if (a === 1) return t.pointAt(n) ? [t.pointAt(n)] : [];
|
|
@@ -4002,7 +4022,7 @@ function Ma(e) {
|
|
|
4002
4022
|
}
|
|
4003
4023
|
return o;
|
|
4004
4024
|
}
|
|
4005
|
-
function
|
|
4025
|
+
function Ia(e, t, n, r) {
|
|
4006
4026
|
return {
|
|
4007
4027
|
message: e,
|
|
4008
4028
|
mode: t,
|
|
@@ -4010,14 +4030,14 @@ function Na(e, t, n, r) {
|
|
|
4010
4030
|
seriesIds: r
|
|
4011
4031
|
};
|
|
4012
4032
|
}
|
|
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 =
|
|
4033
|
+
function La(e) {
|
|
4034
|
+
let n = w(0), r, i = 0, a = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Map(), c = /* @__PURE__ */ new Set(), l = /* @__PURE__ */ new Map(), u = Oa(), d, f, p = !1, m = t(() => {
|
|
4015
4035
|
let t = e.renderingOptions.value.sampling;
|
|
4016
4036
|
return e.sourceTrackLayouts.value.flatMap((n) => {
|
|
4017
4037
|
let r = n.xScale.domain();
|
|
4018
4038
|
return n.seriesList.flatMap((i) => {
|
|
4019
4039
|
if (i.lineType === "none" || n.width <= 0) return [];
|
|
4020
|
-
let o = i.source ??
|
|
4040
|
+
let o = i.source ?? X(i.points), s = o.visibleRange(r), c = `${e.instanceId}:${i.id}`;
|
|
4021
4041
|
return [{
|
|
4022
4042
|
series: i,
|
|
4023
4043
|
source: o,
|
|
@@ -4076,13 +4096,13 @@ function Pa(e) {
|
|
|
4076
4096
|
revision: 0,
|
|
4077
4097
|
dataset: t.source.toWorkerDataset()
|
|
4078
4098
|
});
|
|
4079
|
-
!u.isCurrent(n) || !
|
|
4099
|
+
!u.isCurrent(n) || !ja(r) || r.status !== "ok" && r.status !== "stale-revision" || a.set(t.request.datasetId, r.revision);
|
|
4080
4100
|
}));
|
|
4081
4101
|
}, x = async (t, n = !1) => {
|
|
4082
4102
|
let o = m.value, c = { ...e.linePointOverrides.value }, l = [], d = [];
|
|
4083
4103
|
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(
|
|
4104
|
+
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";
|
|
4105
|
+
e.request.mode === "raw" || a ? (c[e.series.id] = e.source.pointsInRange(e.visibleRange.start, e.visibleRange.end), s.set(e.series.id, "raw"), d.push(Pa(e, t))) : (c[e.series.id]?.length || (c[e.series.id] = Fa(e)), l.push({
|
|
4086
4106
|
...e,
|
|
4087
4107
|
request: {
|
|
4088
4108
|
...e.request,
|
|
@@ -4094,7 +4114,7 @@ function Pa(e) {
|
|
|
4094
4114
|
e.linePointOverrides.value = c, v(d);
|
|
4095
4115
|
return;
|
|
4096
4116
|
}
|
|
4097
|
-
if (e.linePointOverrides.value = c, r ??=
|
|
4117
|
+
if (e.linePointOverrides.value = c, r ??= Aa(), await b(r, l, t), !u.isCurrent(t)) return;
|
|
4098
4118
|
let f = l.map((e) => ({
|
|
4099
4119
|
...e.request,
|
|
4100
4120
|
revision: a.get(e.request.datasetId) ?? 1
|
|
@@ -4109,22 +4129,22 @@ function Pa(e) {
|
|
|
4109
4129
|
p = e;
|
|
4110
4130
|
} catch (n) {
|
|
4111
4131
|
if (!u.isCurrent(t)) return;
|
|
4112
|
-
y(
|
|
4132
|
+
y(Ia(n instanceof Error ? n.message : String(n), e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id)));
|
|
4113
4133
|
return;
|
|
4114
4134
|
}
|
|
4115
4135
|
if (!u.isCurrent(t)) return;
|
|
4116
4136
|
let h = new Map(l.map((e) => [e.series.id, e.source]));
|
|
4117
4137
|
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(
|
|
4138
|
+
let t = h.get(e.seriesId), n = t ? Na(e, t) : void 0;
|
|
4139
|
+
n && (e.status === "ok" || e.status === "wasm-unavailable") && (c[e.seriesId] = n), d.push(e.diagnostics), s.set(e.seriesId, e.diagnostics.selectedMode), e.status === "wasm-unavailable" && y(Ia(p.workerError ?? "WASM sampling is unavailable.", e.diagnostics.mode, e.diagnostics.backend === "javascript" ? "javascript" : "none", [e.seriesId]));
|
|
4140
|
+
}), 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
4141
|
};
|
|
4122
4142
|
return k(h, () => {
|
|
4123
4143
|
f && clearTimeout(f);
|
|
4124
4144
|
let t = p;
|
|
4125
4145
|
p = !0, u.schedule((e) => x(e, t)), t && e.renderingOptions.value.sampling.mode === "auto" && e.renderingOptions.value.sampling.autoHysteresis > 0 && (f = setTimeout(() => {
|
|
4126
4146
|
f = void 0, u.schedule((e) => x(e, !1));
|
|
4127
|
-
},
|
|
4147
|
+
}, Ma));
|
|
4128
4148
|
}, { immediate: !0 }), k(e.preparedSeries, () => {
|
|
4129
4149
|
u.cancelPending(), n.value += 1, e.linePointOverrides.value = {}, a.clear(), o.clear(), s.clear(), c.clear(), r?.dispose(), r = void 0;
|
|
4130
4150
|
}, { flush: "sync" }), _(() => {
|
|
@@ -4133,10 +4153,10 @@ function Pa(e) {
|
|
|
4133
4153
|
}
|
|
4134
4154
|
//#endregion
|
|
4135
4155
|
//#region src/components/core/useWaveformChartController.ts
|
|
4136
|
-
function
|
|
4156
|
+
function Ra(e, t) {
|
|
4137
4157
|
e.value = t instanceof Element ? t : void 0;
|
|
4138
4158
|
}
|
|
4139
|
-
function
|
|
4159
|
+
function za(e, t) {
|
|
4140
4160
|
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
4161
|
points: [],
|
|
4142
4162
|
trackIndex: null,
|
|
@@ -4146,13 +4166,13 @@ function Ia(e, t) {
|
|
|
4146
4166
|
x: 0,
|
|
4147
4167
|
y: 0
|
|
4148
4168
|
}
|
|
4149
|
-
}), _ = x(!1), v = x(1), y = w(), S =
|
|
4169
|
+
}), _ = 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
4170
|
k([() => e.yDomain, () => e.yDomains], () => {
|
|
4151
4171
|
m.value = {}, h.value = {};
|
|
4152
4172
|
}, { deep: !0 });
|
|
4153
|
-
let N = w(null), P = x(!1), F = x(!1), I = () => void 0, L = () => void 0, R = () => void 0, z =
|
|
4173
|
+
let N = w(null), P = x(!1), F = x(!1), I = () => void 0, L = () => void 0, R = () => void 0, z = qr(() => e.data, () => {
|
|
4154
4174
|
R(), I();
|
|
4155
|
-
}, () => L()), B =
|
|
4175
|
+
}, () => L()), B = Fi({
|
|
4156
4176
|
props: e,
|
|
4157
4177
|
observedWidth: o,
|
|
4158
4178
|
observedHeight: s,
|
|
@@ -4160,7 +4180,7 @@ function Ia(e, t) {
|
|
|
4160
4180
|
measuredTitleHeight: l,
|
|
4161
4181
|
internalHiddenSeriesIds: T,
|
|
4162
4182
|
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 =
|
|
4183
|
+
}), { 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
4184
|
props: e,
|
|
4165
4185
|
preparedSeries: z,
|
|
4166
4186
|
currentPage: v,
|
|
@@ -4174,8 +4194,8 @@ function Ia(e, t) {
|
|
|
4174
4194
|
independentYDomains: h,
|
|
4175
4195
|
annotationInteraction: d(D),
|
|
4176
4196
|
linePointOverrides: O
|
|
4177
|
-
}), { chartSeries: ae, chartTracks: oe, renderingOptions: se, trackLayouts: ce, gridOptions:
|
|
4178
|
-
|
|
4197
|
+
}), { 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;
|
|
4198
|
+
La({
|
|
4179
4199
|
props: e,
|
|
4180
4200
|
emit: t,
|
|
4181
4201
|
instanceId: S,
|
|
@@ -4184,9 +4204,9 @@ function Ia(e, t) {
|
|
|
4184
4204
|
renderingOptions: se,
|
|
4185
4205
|
linePointOverrides: O
|
|
4186
4206
|
}), A(() => {
|
|
4187
|
-
u.value =
|
|
4207
|
+
u.value = le.value.showPagination && de.value > 1 && V.value <= 520 ? 40 : 0;
|
|
4188
4208
|
});
|
|
4189
|
-
let
|
|
4209
|
+
let Se = Ur({
|
|
4190
4210
|
props: e,
|
|
4191
4211
|
emit: t,
|
|
4192
4212
|
svgElement: r,
|
|
@@ -4194,18 +4214,18 @@ function Ia(e, t) {
|
|
|
4194
4214
|
sharedTransform: f,
|
|
4195
4215
|
independentTransforms: p,
|
|
4196
4216
|
trackLayouts: ce,
|
|
4197
|
-
initialXDomain:
|
|
4198
|
-
sharedZoomDomain:
|
|
4199
|
-
innerWidth:
|
|
4217
|
+
initialXDomain: _e,
|
|
4218
|
+
sharedZoomDomain: ve,
|
|
4219
|
+
innerWidth: pe,
|
|
4200
4220
|
innerHeight: q,
|
|
4201
|
-
hasChartArea:
|
|
4202
|
-
isZoomMode:
|
|
4221
|
+
hasChartArea: me,
|
|
4222
|
+
isZoomMode: ge,
|
|
4203
4223
|
isPresentationMode: W,
|
|
4204
|
-
resolveInitialTrackDomain:
|
|
4205
|
-
cancelPendingHover: () =>
|
|
4224
|
+
resolveInitialTrackDomain: ye,
|
|
4225
|
+
cancelPendingHover: () => we.cancelPendingHover()
|
|
4206
4226
|
});
|
|
4207
|
-
R =
|
|
4208
|
-
let
|
|
4227
|
+
R = Se.prepareForDataChange;
|
|
4228
|
+
let Ce = yr({
|
|
4209
4229
|
props: e,
|
|
4210
4230
|
emit: t,
|
|
4211
4231
|
container: n,
|
|
@@ -4215,57 +4235,57 @@ function Ia(e, t) {
|
|
|
4215
4235
|
annotationInteraction: D,
|
|
4216
4236
|
editorSeriesOptions: j,
|
|
4217
4237
|
trackLayouts: ce,
|
|
4218
|
-
annotationLayoutsForTrack:
|
|
4219
|
-
resolveSeriesYScale:
|
|
4238
|
+
annotationLayoutsForTrack: be,
|
|
4239
|
+
resolveSeriesYScale: xe,
|
|
4220
4240
|
chartWidth: V,
|
|
4221
4241
|
chartHeight: H,
|
|
4222
|
-
innerWidth:
|
|
4223
|
-
resolvedChartLeftMargin:
|
|
4242
|
+
innerWidth: pe,
|
|
4243
|
+
resolvedChartLeftMargin: Y,
|
|
4224
4244
|
titleAreaHeight: re,
|
|
4225
4245
|
chartTopMargin: K,
|
|
4226
|
-
activeInteractionMode:
|
|
4246
|
+
activeInteractionMode: he,
|
|
4227
4247
|
isPresentationMode: W
|
|
4228
|
-
}),
|
|
4248
|
+
}), X = Vr({
|
|
4229
4249
|
props: e,
|
|
4230
4250
|
emit: t,
|
|
4231
4251
|
selection: N,
|
|
4232
4252
|
spacePressed: P,
|
|
4233
4253
|
trackLayouts: ce,
|
|
4234
4254
|
chartTracks: oe,
|
|
4235
|
-
initialXDomain:
|
|
4236
|
-
innerWidth:
|
|
4255
|
+
initialXDomain: _e,
|
|
4256
|
+
innerWidth: pe,
|
|
4237
4257
|
innerHeight: q,
|
|
4238
4258
|
sharedOverlayElement: a,
|
|
4239
4259
|
sharedTransform: f,
|
|
4240
4260
|
independentTransforms: p,
|
|
4241
4261
|
sharedYDomains: m,
|
|
4242
4262
|
independentYDomains: h,
|
|
4243
|
-
isZoomMode:
|
|
4263
|
+
isZoomMode: ge,
|
|
4244
4264
|
isPresentationMode: W,
|
|
4245
4265
|
editorSeriesOptions: j,
|
|
4246
|
-
resolveInitialTrackDomain:
|
|
4247
|
-
canZoomTrack:
|
|
4248
|
-
canZoomSharedTracks:
|
|
4249
|
-
configureZoom:
|
|
4250
|
-
cancelPendingZoom:
|
|
4251
|
-
clearHover: () =>
|
|
4252
|
-
resolveTrackAtPointer:
|
|
4253
|
-
}),
|
|
4266
|
+
resolveInitialTrackDomain: ye,
|
|
4267
|
+
canZoomTrack: Se.canZoomTrack,
|
|
4268
|
+
canZoomSharedTracks: Se.canZoomSharedTracks,
|
|
4269
|
+
configureZoom: Se.configureZoom,
|
|
4270
|
+
cancelPendingZoom: Se.cancelPendingZoom,
|
|
4271
|
+
clearHover: () => we.clearHover(),
|
|
4272
|
+
resolveTrackAtPointer: Ce.resolveTrackAtPointer
|
|
4273
|
+
}), we = br({
|
|
4254
4274
|
emit: t,
|
|
4255
4275
|
hoverState: g,
|
|
4256
4276
|
suppressHoverUntilMove: _,
|
|
4257
4277
|
hoverThrottle: M,
|
|
4258
4278
|
selection: N,
|
|
4259
4279
|
trackLayouts: ce,
|
|
4260
|
-
innerWidth:
|
|
4261
|
-
resolvedChartLeftMargin:
|
|
4280
|
+
innerWidth: pe,
|
|
4281
|
+
resolvedChartLeftMargin: Y,
|
|
4262
4282
|
titleAreaHeight: re,
|
|
4263
4283
|
chartTopMargin: K,
|
|
4264
4284
|
sharedOverlayElement: a,
|
|
4265
4285
|
isPresentationMode: W,
|
|
4266
|
-
updateViewportDrag:
|
|
4267
|
-
resolveTrackAtPointer:
|
|
4268
|
-
}),
|
|
4286
|
+
updateViewportDrag: X.updateViewportDrag,
|
|
4287
|
+
resolveTrackAtPointer: Ce.resolveTrackAtPointer
|
|
4288
|
+
}), Te = Gr({
|
|
4269
4289
|
props: e,
|
|
4270
4290
|
emit: t,
|
|
4271
4291
|
container: n,
|
|
@@ -4282,42 +4302,42 @@ function Ia(e, t) {
|
|
|
4282
4302
|
pointerInsideChart: F,
|
|
4283
4303
|
currentPage: v,
|
|
4284
4304
|
pageCount: de,
|
|
4285
|
-
pagedTracks:
|
|
4286
|
-
gridOptions:
|
|
4305
|
+
pagedTracks: fe,
|
|
4306
|
+
gridOptions: le,
|
|
4287
4307
|
chartSeries: ae,
|
|
4288
4308
|
chartTracks: oe,
|
|
4289
4309
|
trackLayouts: ce,
|
|
4290
|
-
innerWidth:
|
|
4310
|
+
innerWidth: pe,
|
|
4291
4311
|
innerHeight: q,
|
|
4292
|
-
sharedZoomDomain:
|
|
4293
|
-
initialXDomain:
|
|
4312
|
+
sharedZoomDomain: ve,
|
|
4313
|
+
initialXDomain: _e,
|
|
4294
4314
|
sharedTransform: f,
|
|
4295
|
-
activeInteractionMode:
|
|
4315
|
+
activeInteractionMode: he,
|
|
4296
4316
|
hiddenSeriesIdSet: G,
|
|
4297
4317
|
internalHiddenSeriesIds: T,
|
|
4298
4318
|
independentTransforms: p,
|
|
4299
4319
|
independentYDomains: h,
|
|
4300
|
-
resolveInitialTrackDomain:
|
|
4320
|
+
resolveInitialTrackDomain: ye,
|
|
4301
4321
|
annotationInteraction: D,
|
|
4302
4322
|
editorSeriesOptions: j,
|
|
4303
4323
|
isPresentationMode: W,
|
|
4304
|
-
clearHover:
|
|
4305
|
-
cancelAnnotation:
|
|
4306
|
-
configureZoom:
|
|
4307
|
-
resetViewport:
|
|
4308
|
-
cancelViewportDrag:
|
|
4309
|
-
cancelPendingHover:
|
|
4310
|
-
clearZoomBindings:
|
|
4324
|
+
clearHover: we.clearHover,
|
|
4325
|
+
cancelAnnotation: Ce.cancelAnnotation,
|
|
4326
|
+
configureZoom: Se.configureZoom,
|
|
4327
|
+
resetViewport: X.resetViewport,
|
|
4328
|
+
cancelViewportDrag: X.cancelViewportDrag,
|
|
4329
|
+
cancelPendingHover: we.cancelPendingHover,
|
|
4330
|
+
clearZoomBindings: Se.clearZoomBindings
|
|
4311
4331
|
});
|
|
4312
|
-
return I =
|
|
4332
|
+
return I = Te.handleBeforeDataReferenceChange, L = Te.handleDataReferenceChange, b({
|
|
4313
4333
|
...E(e),
|
|
4314
4334
|
...B,
|
|
4315
4335
|
...ie,
|
|
4316
|
-
...Z,
|
|
4317
|
-
...Se,
|
|
4318
4336
|
...Ce,
|
|
4319
|
-
|
|
4320
|
-
|
|
4337
|
+
...X,
|
|
4338
|
+
...we,
|
|
4339
|
+
margin: zt,
|
|
4340
|
+
getPageSize: Hn,
|
|
4321
4341
|
currentPage: v,
|
|
4322
4342
|
selection: N,
|
|
4323
4343
|
pointerInsideChart: F,
|
|
@@ -4327,35 +4347,35 @@ function Ia(e, t) {
|
|
|
4327
4347
|
contextMenu: D.contextMenu,
|
|
4328
4348
|
editorSeriesOptions: j,
|
|
4329
4349
|
clipPathId: S,
|
|
4330
|
-
goToPage:
|
|
4331
|
-
setContainer: (e) =>
|
|
4332
|
-
setSvgElement: (e) =>
|
|
4333
|
-
setTitleMeasureElement: (e) =>
|
|
4334
|
-
setSharedOverlayElement: (e) =>
|
|
4350
|
+
goToPage: Te.goToPage,
|
|
4351
|
+
setContainer: (e) => Ra(n, e),
|
|
4352
|
+
setSvgElement: (e) => Ra(r, e),
|
|
4353
|
+
setTitleMeasureElement: (e) => Ra(i, e),
|
|
4354
|
+
setSharedOverlayElement: (e) => Ra(a, e)
|
|
4335
4355
|
});
|
|
4336
4356
|
}
|
|
4337
4357
|
//#endregion
|
|
4338
4358
|
//#region src/components/annotation/WaveformAnnotationEditor.vue?vue&type=script&setup=true&lang.ts
|
|
4339
|
-
var
|
|
4359
|
+
var Ba = ["id"], Va = { class: "waveform-annotation-editor__content" }, Ha = {
|
|
4340
4360
|
class: "waveform-annotation-editor__coordinates",
|
|
4341
4361
|
"aria-label": "标注坐标"
|
|
4342
|
-
},
|
|
4362
|
+
}, Ua = ["aria-invalid"], Wa = {
|
|
4343
4363
|
class: "waveform-annotation-editor__coordinate-value",
|
|
4344
4364
|
"aria-hidden": "true"
|
|
4345
|
-
},
|
|
4365
|
+
}, Ga = ["id"], Ka = {
|
|
4346
4366
|
key: 0,
|
|
4347
4367
|
class: "waveform-annotation-editor__series",
|
|
4348
4368
|
"aria-label": "标注所属波形"
|
|
4349
|
-
},
|
|
4369
|
+
}, 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
4370
|
class: "waveform-annotation-editor__color-field",
|
|
4351
4371
|
title: "调整标注边框色和透明度"
|
|
4352
|
-
},
|
|
4372
|
+
}, no = {
|
|
4353
4373
|
class: "waveform-annotation-editor__color-field",
|
|
4354
4374
|
title: "调整标注文字色和透明度"
|
|
4355
|
-
},
|
|
4375
|
+
}, ro = {
|
|
4356
4376
|
class: "waveform-annotation-editor__color-field",
|
|
4357
4377
|
title: "调整标注背景色和透明度"
|
|
4358
|
-
},
|
|
4378
|
+
}, io = /*#__PURE__*/ nt(/* @__PURE__ */ l({
|
|
4359
4379
|
__name: "WaveformAnnotationEditor",
|
|
4360
4380
|
props: {
|
|
4361
4381
|
annotation: {},
|
|
@@ -4375,7 +4395,7 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
|
|
|
4375
4395
|
let u = c(async () => typeof window > "u" ? {
|
|
4376
4396
|
name: "WaveformColorPickerSsrFallback",
|
|
4377
4397
|
render: () => null
|
|
4378
|
-
} : (await import("vue3-colorpicker")).ColorPicker), d = o, p = l, h = x(), g =
|
|
4398
|
+
} : (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
4399
|
let e = d.seriesOptions?.find((e) => e.seriesId === d.annotation.seriesId);
|
|
4380
4400
|
return e ? {
|
|
4381
4401
|
id: e.seriesId,
|
|
@@ -4385,8 +4405,8 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
|
|
|
4385
4405
|
} : d.series;
|
|
4386
4406
|
});
|
|
4387
4407
|
function L() {
|
|
4388
|
-
let e =
|
|
4389
|
-
_.value = d.annotation.text, v.value =
|
|
4408
|
+
let e = Ge(d.annotation.style);
|
|
4409
|
+
_.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
4410
|
}
|
|
4391
4411
|
k(() => d.annotation.id, L, { immediate: !0 });
|
|
4392
4412
|
function R(e) {
|
|
@@ -4413,7 +4433,7 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
|
|
|
4413
4433
|
let t = e.target;
|
|
4414
4434
|
t.value && p("series-change", t.value);
|
|
4415
4435
|
}
|
|
4416
|
-
return (t, o) => (y(), n(D(
|
|
4436
|
+
return (t, o) => (y(), n(D(se), {
|
|
4417
4437
|
visible: !0,
|
|
4418
4438
|
width: 440,
|
|
4419
4439
|
"mask-closable": !0,
|
|
@@ -4426,15 +4446,15 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
|
|
|
4426
4446
|
onCancel: o[4] ||= (e) => p("cancel"),
|
|
4427
4447
|
onOk: B
|
|
4428
4448
|
}, {
|
|
4429
|
-
title: j(() => [a("span", { id: D(g) }, T(d.mode === "add" ? "添加标注" : "编辑标注"), 9,
|
|
4430
|
-
default: j(() => [a("div",
|
|
4431
|
-
a("div",
|
|
4449
|
+
title: j(() => [a("span", { id: D(g) }, T(d.mode === "add" ? "添加标注" : "编辑标注"), 9, Ba)]),
|
|
4450
|
+
default: j(() => [a("div", Va, [
|
|
4451
|
+
a("div", Ha, [
|
|
4432
4452
|
a("label", {
|
|
4433
4453
|
class: "waveform-annotation-editor__coordinate-input",
|
|
4434
4454
|
"aria-invalid": !!N.value
|
|
4435
4455
|
}, [
|
|
4436
4456
|
o[5] ||= a("b", null, "X", -1),
|
|
4437
|
-
s(D(
|
|
4457
|
+
s(D(oe), {
|
|
4438
4458
|
value: v.value === "" ? void 0 : Number(v.value),
|
|
4439
4459
|
controls: !0,
|
|
4440
4460
|
step: .001,
|
|
@@ -4451,26 +4471,26 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
|
|
|
4451
4471
|
"aria-invalid",
|
|
4452
4472
|
"aria-describedby"
|
|
4453
4473
|
]),
|
|
4454
|
-
a("code",
|
|
4455
|
-
], 8,
|
|
4474
|
+
a("code", Wa, T(v.value), 1)
|
|
4475
|
+
], 8, Ua),
|
|
4456
4476
|
N.value ? (y(), i("p", {
|
|
4457
4477
|
key: 0,
|
|
4458
4478
|
id: `${D(g)}-time-error`,
|
|
4459
4479
|
class: "waveform-annotation-editor__coordinate-error",
|
|
4460
4480
|
role: "alert"
|
|
4461
|
-
}, T(N.value), 9,
|
|
4462
|
-
a("span", null, [o[6] ||= a("b", null, "Y", -1), a("code", null, T(D(
|
|
4481
|
+
}, T(N.value), 9, Ga)) : r("", !0),
|
|
4482
|
+
a("span", null, [o[6] ||= a("b", null, "Y", -1), a("code", null, T(D(At)(d.annotation.y)), 1)])
|
|
4463
4483
|
]),
|
|
4464
4484
|
o[13] ||= a("p", {
|
|
4465
4485
|
class: "waveform-annotation-editor__coordinate-hint",
|
|
4466
4486
|
role: "note"
|
|
4467
4487
|
}, " 修改 X 轴后失焦时会自动吸附最近的采样点 ", -1),
|
|
4468
|
-
I.value ? (y(), i("label",
|
|
4488
|
+
I.value ? (y(), i("label", Ka, [
|
|
4469
4489
|
a("i", {
|
|
4470
4490
|
style: m({ backgroundColor: I.value.color }),
|
|
4471
4491
|
"aria-hidden": "true"
|
|
4472
4492
|
}, null, 4),
|
|
4473
|
-
a("span",
|
|
4493
|
+
a("span", qa, [o[7] ||= a("small", null, "标注波形", -1), a("b", null, T(I.value.name), 1)]),
|
|
4474
4494
|
d.seriesOptions?.length ? (y(), i("select", {
|
|
4475
4495
|
key: 0,
|
|
4476
4496
|
value: d.annotation.seriesId,
|
|
@@ -4479,9 +4499,9 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
|
|
|
4479
4499
|
}, [(y(!0), i(e, null, S(d.seriesOptions, (e) => (y(), i("option", {
|
|
4480
4500
|
key: e.seriesId,
|
|
4481
4501
|
value: e.seriesId
|
|
4482
|
-
}, T(e.name) + T(e.unit ? ` (${e.unit})` : ""), 9,
|
|
4502
|
+
}, 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
4503
|
])) : r("", !0),
|
|
4484
|
-
a("label",
|
|
4504
|
+
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
4505
|
ref_key: "textarea",
|
|
4486
4506
|
ref: h,
|
|
4487
4507
|
"onUpdate:modelValue": o[0] ||= (e) => _.value = e,
|
|
@@ -4490,10 +4510,10 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
|
|
|
4490
4510
|
"aria-label": "标注文本",
|
|
4491
4511
|
placeholder: "输入这处波形的说明",
|
|
4492
4512
|
onKeydown: V
|
|
4493
|
-
}, null, 40,
|
|
4494
|
-
a("fieldset",
|
|
4513
|
+
}, null, 40, $a), [[O, _.value]])]),
|
|
4514
|
+
a("fieldset", eo, [
|
|
4495
4515
|
o[12] ||= a("legend", null, "颜色与透明度", -1),
|
|
4496
|
-
a("label",
|
|
4516
|
+
a("label", to, [o[9] ||= a("span", null, "边框色", -1), s(D(u), {
|
|
4497
4517
|
"pure-color": C.value,
|
|
4498
4518
|
"onUpdate:pureColor": o[1] ||= (e) => C.value = e,
|
|
4499
4519
|
"aria-label": "标注边框色",
|
|
@@ -4503,7 +4523,7 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
|
|
|
4503
4523
|
"disable-alpha": !1,
|
|
4504
4524
|
"blur-close": !0
|
|
4505
4525
|
}, null, 8, ["pure-color"])]),
|
|
4506
|
-
a("label",
|
|
4526
|
+
a("label", no, [o[10] ||= a("span", null, "文字色", -1), s(D(u), {
|
|
4507
4527
|
"pure-color": w.value,
|
|
4508
4528
|
"onUpdate:pureColor": o[2] ||= (e) => w.value = e,
|
|
4509
4529
|
"aria-label": "标注文字色",
|
|
@@ -4513,7 +4533,7 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
|
|
|
4513
4533
|
"disable-alpha": !1,
|
|
4514
4534
|
"blur-close": !0
|
|
4515
4535
|
}, null, 8, ["pure-color"])]),
|
|
4516
|
-
a("label",
|
|
4536
|
+
a("label", ro, [o[11] ||= a("span", null, "背景色", -1), s(D(u), {
|
|
4517
4537
|
"pure-color": E.value,
|
|
4518
4538
|
"onUpdate:pureColor": o[3] ||= (e) => E.value = e,
|
|
4519
4539
|
"aria-label": "标注背景色",
|
|
@@ -4528,13 +4548,13 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
|
|
|
4528
4548
|
_: 1
|
|
4529
4549
|
}, 8, ["ok-button-props"]));
|
|
4530
4550
|
}
|
|
4531
|
-
}), [["__scopeId", "data-v-01ecd3a4"]]),
|
|
4551
|
+
}), [["__scopeId", "data-v-01ecd3a4"]]), ao = { class: "waveform-tooltip__series-content" }, oo = { class: "waveform-tooltip__series-label" }, so = {
|
|
4532
4552
|
key: 0,
|
|
4533
4553
|
class: "waveform-tooltip__value"
|
|
4534
|
-
},
|
|
4554
|
+
}, co = {
|
|
4535
4555
|
key: 1,
|
|
4536
4556
|
class: "waveform-tooltip__value waveform-tooltip__value--missing"
|
|
4537
|
-
},
|
|
4557
|
+
}, lo = 12, uo = 8, fo = 560, po = /*#__PURE__*/ nt(/* @__PURE__ */ l({
|
|
4538
4558
|
__name: "WaveformTooltip",
|
|
4539
4559
|
props: {
|
|
4540
4560
|
visible: { type: Boolean },
|
|
@@ -4564,12 +4584,12 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
|
|
|
4564
4584
|
}, { flush: "post" }), v(u);
|
|
4565
4585
|
let d = t(() => {
|
|
4566
4586
|
if (!s.visible || !s.hoveredPoint) return { display: "none" };
|
|
4567
|
-
let e = s.position.x +
|
|
4587
|
+
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
4588
|
return {
|
|
4569
|
-
...e + l.value.width <= s.containerWidth -
|
|
4589
|
+
...e + l.value.width <= s.containerWidth - uo ? { left: `${e}px` } : t >= uo ? { right: `${s.containerWidth - s.position.x + lo}px` } : { left: `${uo}px` },
|
|
4570
4590
|
maxWidth: `${n}px`,
|
|
4571
4591
|
visibility: l.value.width > 0 ? "visible" : "hidden",
|
|
4572
|
-
top: `${Math.max(
|
|
4592
|
+
top: `${Math.max(uo, Math.min(s.position.y - 18, s.containerHeight - l.value.height - uo))}px`
|
|
4573
4593
|
};
|
|
4574
4594
|
});
|
|
4575
4595
|
return (t, s) => n.visible && n.hoveredPoint ? (y(), i("div", {
|
|
@@ -4581,9 +4601,9 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
|
|
|
4581
4601
|
}, [(y(!0), i(e, null, S(n.seriesPoints, (t) => (y(), i("span", {
|
|
4582
4602
|
key: `${t.trackIndex}-${t.name}`,
|
|
4583
4603
|
class: "waveform-tooltip__series waveform-chart__tooltip-series"
|
|
4584
|
-
}, [a("i", { style: m({ backgroundColor: t.color }) }, null, 4), a("span",
|
|
4604
|
+
}, [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
4605
|
}
|
|
4586
|
-
}), [["__scopeId", "data-v-0d0d1d3c"]]),
|
|
4606
|
+
}), [["__scopeId", "data-v-0d0d1d3c"]]), mo = /* @__PURE__ */ l({
|
|
4587
4607
|
__name: "WaveformHoverHost",
|
|
4588
4608
|
props: {
|
|
4589
4609
|
state: {},
|
|
@@ -4594,7 +4614,7 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
|
|
|
4594
4614
|
},
|
|
4595
4615
|
setup(e) {
|
|
4596
4616
|
let r = e, i = t(() => r.state.points.find((e) => e.point)?.point ?? null);
|
|
4597
|
-
return (t, r) => (y(), n(
|
|
4617
|
+
return (t, r) => (y(), n(po, {
|
|
4598
4618
|
visible: e.visible && i.value !== null,
|
|
4599
4619
|
position: e.state.position,
|
|
4600
4620
|
"time-unit": e.timeUnit,
|
|
@@ -4612,16 +4632,16 @@ var La = ["id"], Ra = { class: "waveform-annotation-editor__content" }, za = {
|
|
|
4612
4632
|
"container-height"
|
|
4613
4633
|
]));
|
|
4614
4634
|
}
|
|
4615
|
-
}),
|
|
4635
|
+
}), ho = 13, go = 2, _o = 14, vo = 8, yo = 24, bo = {
|
|
4616
4636
|
circle: te,
|
|
4617
4637
|
square: re,
|
|
4618
4638
|
triangle: K,
|
|
4619
4639
|
diamond: ne
|
|
4620
4640
|
};
|
|
4621
|
-
function
|
|
4622
|
-
return e === "none" ? null : ee().type(
|
|
4641
|
+
function xo(e, t = 48) {
|
|
4642
|
+
return e === "none" ? null : ee().type(bo[e]).size(t)() ?? null;
|
|
4623
4643
|
}
|
|
4624
|
-
function
|
|
4644
|
+
function So(e, t, n = 48) {
|
|
4625
4645
|
if (e === "none" || t.length === 0) return null;
|
|
4626
4646
|
if (e === "circle") {
|
|
4627
4647
|
let e = Math.sqrt(n / Math.PI);
|
|
@@ -4638,24 +4658,24 @@ function yo(e, t, n = 48) {
|
|
|
4638
4658
|
let r = Math.sqrt(n / (2 * Math.tan(Math.PI / 6))), i = r * Math.tan(Math.PI / 6);
|
|
4639
4659
|
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
4660
|
}
|
|
4641
|
-
function
|
|
4661
|
+
function Co(e) {
|
|
4642
4662
|
return e === "none" ? null : "M1 8H25";
|
|
4643
4663
|
}
|
|
4644
|
-
function
|
|
4664
|
+
function wo(e) {
|
|
4645
4665
|
if (e === "dashed") return "8 5";
|
|
4646
4666
|
if (e === "dash-dot") return "8 5 1.5 5";
|
|
4647
4667
|
}
|
|
4648
|
-
function
|
|
4649
|
-
let t = (Number.isFinite(e) && e > 0 ? Math.min(e,
|
|
4668
|
+
function To(e) {
|
|
4669
|
+
let t = (Number.isFinite(e) && e > 0 ? Math.min(e, yo) : vo) / 2, n = ho - t, r = ho + t;
|
|
4650
4670
|
return [
|
|
4651
|
-
`M${n} ${
|
|
4652
|
-
`M${
|
|
4653
|
-
`M${n} ${
|
|
4671
|
+
`M${n} ${go}H${r}`,
|
|
4672
|
+
`M${ho} ${go}V${_o}`,
|
|
4673
|
+
`M${n} ${_o}H${r}`
|
|
4654
4674
|
].join("");
|
|
4655
4675
|
}
|
|
4656
4676
|
//#endregion
|
|
4657
4677
|
//#region src/components/rendering/WaveformSeriesLayer.vue?vue&type=script&setup=true&lang.ts
|
|
4658
|
-
var
|
|
4678
|
+
var Eo = ["clip-path"], Do = ["data-series-id", "data-series-name"], Oo = [
|
|
4659
4679
|
"data-series-id",
|
|
4660
4680
|
"data-series-name",
|
|
4661
4681
|
"data-y-axis-index",
|
|
@@ -4664,11 +4684,11 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
4664
4684
|
"d",
|
|
4665
4685
|
"stroke",
|
|
4666
4686
|
"stroke-dasharray"
|
|
4667
|
-
],
|
|
4687
|
+
], ko = ["data-series-id"], Ao = [
|
|
4668
4688
|
"d",
|
|
4669
4689
|
"stroke",
|
|
4670
4690
|
"stroke-width"
|
|
4671
|
-
],
|
|
4691
|
+
], jo = ["data-series-id", "data-point-type"], Mo = ["d", "fill"], No = /*#__PURE__*/ nt(/* @__PURE__ */ l({
|
|
4672
4692
|
__name: "WaveformSeriesLayer",
|
|
4673
4693
|
props: {
|
|
4674
4694
|
track: {},
|
|
@@ -4676,11 +4696,11 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
4676
4696
|
},
|
|
4677
4697
|
setup(n) {
|
|
4678
4698
|
let a = n, o = t(() => a.track.seriesPaths.map((e) => {
|
|
4679
|
-
let t =
|
|
4699
|
+
let t = So(e.series.pointType, e.pointRenderPoints.map((t) => ({
|
|
4680
4700
|
x: a.track.xScale(t.x),
|
|
4681
4701
|
y: e.yScale(t.y)
|
|
4682
4702
|
}))), n = e.series.errorBar.capWidth / 2, r = e.errorBarRenderPoints.map((t) => {
|
|
4683
|
-
let { lower: r, upper: i } =
|
|
4703
|
+
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
4704
|
return [
|
|
4685
4705
|
`M${o - n},${s}H${o + n}`,
|
|
4686
4706
|
`M${o},${s}V${c}`,
|
|
@@ -4713,8 +4733,8 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
4713
4733
|
"data-line-style": e.series.lineStyle,
|
|
4714
4734
|
d: e.path,
|
|
4715
4735
|
stroke: e.series.color,
|
|
4716
|
-
"stroke-dasharray": D(
|
|
4717
|
-
}, null, 8,
|
|
4736
|
+
"stroke-dasharray": D(wo)(e.series.lineStyle)
|
|
4737
|
+
}, null, 8, Oo)) : r("", !0),
|
|
4718
4738
|
e.series.errorBar.visible ? (y(), i("g", {
|
|
4719
4739
|
key: 1,
|
|
4720
4740
|
class: "waveform-track__error-bars waveform-chart__error-bars",
|
|
@@ -4725,7 +4745,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
4725
4745
|
d: e.errorBarPath,
|
|
4726
4746
|
stroke: e.series.errorBar.color || e.series.color,
|
|
4727
4747
|
"stroke-width": e.series.errorBar.width
|
|
4728
|
-
}, null, 8,
|
|
4748
|
+
}, null, 8, Ao)) : r("", !0)], 8, ko)) : r("", !0),
|
|
4729
4749
|
e.series.pointType === "none" ? r("", !0) : (y(), i("g", {
|
|
4730
4750
|
key: 2,
|
|
4731
4751
|
class: "waveform-track__points waveform-chart__points",
|
|
@@ -4736,28 +4756,28 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
4736
4756
|
class: "waveform-track__point waveform-chart__point",
|
|
4737
4757
|
d: e.pointPath,
|
|
4738
4758
|
fill: e.series.color
|
|
4739
|
-
}, null, 8,
|
|
4740
|
-
], 8,
|
|
4759
|
+
}, null, 8, Mo)) : r("", !0)], 8, jo))
|
|
4760
|
+
], 8, Do))), 128))], 8, Eo)) : r("", !0);
|
|
4741
4761
|
}
|
|
4742
|
-
}), [["__scopeId", "data-v-
|
|
4762
|
+
}), [["__scopeId", "data-v-628502df"]]), Po = ["transform"], Fo = ["transform"], Io = {
|
|
4743
4763
|
class: "waveform-track__axis-endpoint waveform-track__axis-endpoint--start waveform-chart__axis-endpoint waveform-chart__axis-endpoint--start",
|
|
4744
4764
|
x: "0",
|
|
4745
4765
|
y: "7",
|
|
4746
4766
|
dy: "0.71em",
|
|
4747
4767
|
"text-anchor": "start"
|
|
4748
|
-
},
|
|
4768
|
+
}, Lo = ["x"], Ro = [
|
|
4749
4769
|
"data-y-axis-index",
|
|
4750
4770
|
"data-y-axis-side",
|
|
4751
4771
|
"transform"
|
|
4752
|
-
],
|
|
4772
|
+
], zo = { key: 2 }, Bo = [
|
|
4753
4773
|
"x",
|
|
4754
4774
|
"y",
|
|
4755
4775
|
"width"
|
|
4756
|
-
],
|
|
4776
|
+
], Vo = ["fill", "transform"], Ho = ["data-y-axis-title-index"], Uo = [
|
|
4757
4777
|
"x",
|
|
4758
4778
|
"y",
|
|
4759
4779
|
"width"
|
|
4760
|
-
],
|
|
4780
|
+
], Wo = ["fill", "transform"], Go = /* @__PURE__ */ l({
|
|
4761
4781
|
__name: "WaveformTrackAxes",
|
|
4762
4782
|
props: {
|
|
4763
4783
|
track: {},
|
|
@@ -4786,11 +4806,13 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
4786
4806
|
if (n.track.yAxes.forEach((e, t) => {
|
|
4787
4807
|
let r = s.value[t];
|
|
4788
4808
|
if (!r) return;
|
|
4789
|
-
let i = e.seriesList[0]?.unit, a = (e.side === "left" ? F(e.scale) : I(e.scale)).tickFormat((t) =>
|
|
4790
|
-
o.call(a)
|
|
4809
|
+
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);
|
|
4810
|
+
o.call(a);
|
|
4811
|
+
let c = Math.min(...e.tickValues);
|
|
4812
|
+
o.selectAll(".tick text").attr("y", null).attr("dy", (e) => e === c ? "0" : "0.32em").attr("dominant-baseline", (e) => e === c ? "text-after-edge" : null), o.selectAll("path.domain").attr("display", n.axes?.y?.lineVisible === !1 ? "none" : null);
|
|
4791
4813
|
}), !o.value) return;
|
|
4792
4814
|
let e = G(o.value);
|
|
4793
|
-
e.call(P(n.track.xScale).tickValues(n.track.xAxisTickValues).tickFormat((e) =>
|
|
4815
|
+
e.call(P(n.track.xScale).tickValues(n.track.xAxisTickValues).tickFormat((e) => Mt(Number(e), n.track.xScale.domain(), n.timeUnit, "tick", n.axes?.x?.labelFormatter)).tickSize(-4).tickPadding(7).tickSizeOuter(0)), e.selectAll("path.domain").attr("display", n.axes?.x?.lineVisible === !1 ? "none" : null);
|
|
4794
4816
|
}
|
|
4795
4817
|
return g(async () => {
|
|
4796
4818
|
await f(), m();
|
|
@@ -4812,7 +4834,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
4812
4834
|
ref: o,
|
|
4813
4835
|
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
4836
|
transform: `translate(0, ${t.track.height})`
|
|
4815
|
-
}, null, 10,
|
|
4837
|
+
}, null, 10, Po)) : r("", !0),
|
|
4816
4838
|
t.track.showXAxis ? (y(), i("g", {
|
|
4817
4839
|
key: 1,
|
|
4818
4840
|
class: "waveform-track__axis-endpoints waveform-chart__axis-endpoints",
|
|
@@ -4820,13 +4842,13 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
4820
4842
|
"font-family": "sans-serif",
|
|
4821
4843
|
"font-size": "10",
|
|
4822
4844
|
"aria-hidden": "true"
|
|
4823
|
-
}, [a("text",
|
|
4845
|
+
}, [a("text", Io, T(t.track.endpointLabels.start), 1), a("text", {
|
|
4824
4846
|
class: "waveform-track__axis-endpoint waveform-track__axis-endpoint--end waveform-chart__axis-endpoint waveform-chart__axis-endpoint--end",
|
|
4825
4847
|
x: t.track.width ?? t.innerWidth,
|
|
4826
4848
|
y: "7",
|
|
4827
4849
|
dy: "0.71em",
|
|
4828
4850
|
"text-anchor": "end"
|
|
4829
|
-
}, T(t.track.endpointLabels.end), 9,
|
|
4851
|
+
}, T(t.track.endpointLabels.end), 9, Lo)], 8, Fo)) : r("", !0),
|
|
4830
4852
|
(y(!0), i(e, null, S(t.track.isEmpty ? [] : t.track.yAxes, (e) => (y(), i("g", {
|
|
4831
4853
|
key: `y-axis-${t.track.index}-${e.index}`,
|
|
4832
4854
|
ref_for: !0,
|
|
@@ -4835,66 +4857,66 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
4835
4857
|
"data-y-axis-index": e.index,
|
|
4836
4858
|
"data-y-axis-side": e.side,
|
|
4837
4859
|
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",
|
|
4860
|
+
}, null, 10, Ro))), 128)),
|
|
4861
|
+
!t.cleanView && !t.track.isEmpty && t.track.hasVisibleSeries && t.track.seriesList.length === 1 && t.track.showYAxisLabel && t.track.series && c(t.track.series) && d(t.track.height, t.track.index) ? (y(), i("g", zo, [a("rect", {
|
|
4840
4862
|
class: "waveform-track__y-axis-label-bg waveform-chart__y-axis-label-bg",
|
|
4841
|
-
x: t.track.
|
|
4863
|
+
x: t.track.yAxes[0].labelX - D(20) / 2,
|
|
4842
4864
|
y: t.track.height / 2 - 40,
|
|
4843
|
-
width: D(
|
|
4865
|
+
width: D(20),
|
|
4844
4866
|
height: "80",
|
|
4845
4867
|
rx: "2"
|
|
4846
|
-
}, null, 8,
|
|
4868
|
+
}, null, 8, Bo), a("text", {
|
|
4847
4869
|
class: "waveform-track__y-axis-label waveform-chart__y-axis-label",
|
|
4848
4870
|
fill: t.track.series?.color,
|
|
4849
|
-
transform: `translate(${t.track.
|
|
4871
|
+
transform: `translate(${t.track.yAxes[0].labelX}, ${t.track.height / 2}) rotate(-90)`,
|
|
4850
4872
|
"text-anchor": "middle",
|
|
4851
4873
|
"dominant-baseline": "central"
|
|
4852
|
-
}, T(t.track.series ? c(t.track.series) : ""), 9,
|
|
4874
|
+
}, T(t.track.series ? c(t.track.series) : ""), 9, Vo)])) : r("", !0),
|
|
4853
4875
|
(y(!0), i(e, null, S(!t.cleanView && t.track.yAxes.length > 1 ? t.track.yAxes.filter(l) : [], (e) => (y(), i("g", {
|
|
4854
4876
|
key: `y-axis-title-${t.track.index}-${e.index}`,
|
|
4855
4877
|
class: "waveform-track__multi-axis-title",
|
|
4856
4878
|
"data-y-axis-title-index": e.index
|
|
4857
4879
|
}, [a("rect", {
|
|
4858
4880
|
class: "waveform-track__y-axis-label-bg waveform-chart__y-axis-label-bg",
|
|
4859
|
-
x: e.labelX - D(
|
|
4881
|
+
x: e.labelX - D(20) / 2,
|
|
4860
4882
|
y: t.track.height / 2 - 40,
|
|
4861
|
-
width: D(
|
|
4883
|
+
width: D(20),
|
|
4862
4884
|
height: "80",
|
|
4863
4885
|
rx: "2"
|
|
4864
|
-
}, null, 8,
|
|
4886
|
+
}, null, 8, Uo), a("text", {
|
|
4865
4887
|
class: "waveform-track__y-axis-label waveform-chart__y-axis-label",
|
|
4866
4888
|
fill: e.seriesList[0].color,
|
|
4867
4889
|
transform: `translate(${e.labelX}, ${t.track.height / 2}) rotate(-90)`,
|
|
4868
4890
|
"text-anchor": "middle",
|
|
4869
4891
|
"dominant-baseline": "central"
|
|
4870
|
-
}, T(c(e.seriesList[0])), 9,
|
|
4892
|
+
}, T(c(e.seriesList[0])), 9, Wo)], 8, Ho))), 128))
|
|
4871
4893
|
], 64));
|
|
4872
4894
|
}
|
|
4873
|
-
}),
|
|
4895
|
+
}), Ko = [
|
|
4874
4896
|
"width",
|
|
4875
4897
|
"height",
|
|
4876
4898
|
"fill"
|
|
4877
|
-
],
|
|
4899
|
+
], qo = ["clip-path"], Jo = { class: "waveform-track__grid waveform-track__grid--minor waveform-chart__grid waveform-chart__grid--minor" }, Yo = [
|
|
4878
4900
|
"stroke",
|
|
4879
4901
|
"x1",
|
|
4880
4902
|
"x2",
|
|
4881
4903
|
"y2"
|
|
4882
|
-
],
|
|
4904
|
+
], Xo = [
|
|
4883
4905
|
"stroke",
|
|
4884
4906
|
"x2",
|
|
4885
4907
|
"y1",
|
|
4886
4908
|
"y2"
|
|
4887
|
-
],
|
|
4909
|
+
], Zo = { class: "waveform-track__grid waveform-track__grid--major waveform-chart__grid waveform-chart__grid--major" }, Qo = [
|
|
4888
4910
|
"stroke",
|
|
4889
4911
|
"x1",
|
|
4890
4912
|
"x2",
|
|
4891
4913
|
"y2"
|
|
4892
|
-
],
|
|
4914
|
+
], $o = [
|
|
4893
4915
|
"stroke",
|
|
4894
4916
|
"x2",
|
|
4895
4917
|
"y1",
|
|
4896
4918
|
"y2"
|
|
4897
|
-
],
|
|
4919
|
+
], es = ["clip-path"], ts = [
|
|
4898
4920
|
"data-y-axis-index",
|
|
4899
4921
|
"x2",
|
|
4900
4922
|
"y1",
|
|
@@ -4902,7 +4924,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
4902
4924
|
"stroke",
|
|
4903
4925
|
"stroke-width",
|
|
4904
4926
|
"stroke-dasharray"
|
|
4905
|
-
],
|
|
4927
|
+
], ns = ["x", "y"], rs = /* @__PURE__ */ l({
|
|
4906
4928
|
__name: "WaveformTrackBackdrop",
|
|
4907
4929
|
props: {
|
|
4908
4930
|
track: {},
|
|
@@ -4927,12 +4949,12 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
4927
4949
|
height: t.track.height,
|
|
4928
4950
|
fill: t.frameStyle.backgroundColor,
|
|
4929
4951
|
"aria-hidden": "true"
|
|
4930
|
-
}, null, 8,
|
|
4952
|
+
}, null, 8, Ko)) : r("", !0),
|
|
4931
4953
|
!t.track.isEmpty && t.track.hasVisibleSeries && !t.cleanView ? (y(), i("g", {
|
|
4932
4954
|
key: 1,
|
|
4933
4955
|
"clip-path": `url(#${t.clipPathId}-${t.track.index})`,
|
|
4934
4956
|
"aria-hidden": "true"
|
|
4935
|
-
}, [a("g",
|
|
4957
|
+
}, [a("g", Jo, [t.track.gridLines.vertical ? (y(!0), i(e, { key: 0 }, S(t.track.xMinorTicks, (e) => (y(), i("line", {
|
|
4936
4958
|
key: `x-minor-${t.track.index}-${e}`,
|
|
4937
4959
|
"data-grid-direction": "vertical",
|
|
4938
4960
|
stroke: t.track.gridLines.verticalColor,
|
|
@@ -4940,7 +4962,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
4940
4962
|
x2: t.track.xScale(e),
|
|
4941
4963
|
y1: "0",
|
|
4942
4964
|
y2: t.track.height
|
|
4943
|
-
}, null, 8,
|
|
4965
|
+
}, 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
4966
|
key: `y-minor-${t.track.index}-${e}`,
|
|
4945
4967
|
"data-grid-direction": "horizontal",
|
|
4946
4968
|
stroke: t.track.gridLines.horizontalColor,
|
|
@@ -4948,7 +4970,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
4948
4970
|
x2: t.track.width ?? t.innerWidth,
|
|
4949
4971
|
y1: t.track.yScale(e),
|
|
4950
4972
|
y2: t.track.yScale(e)
|
|
4951
|
-
}, null, 8,
|
|
4973
|
+
}, 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
4974
|
key: `x-major-${t.track.index}-${e}`,
|
|
4953
4975
|
"data-grid-direction": "vertical",
|
|
4954
4976
|
stroke: t.track.gridLines.verticalColor,
|
|
@@ -4956,7 +4978,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
4956
4978
|
x2: t.track.xScale(e),
|
|
4957
4979
|
y1: "0",
|
|
4958
4980
|
y2: t.track.height
|
|
4959
|
-
}, null, 8,
|
|
4981
|
+
}, 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
4982
|
key: `y-major-${t.track.index}-${e}`,
|
|
4961
4983
|
"data-grid-direction": "horizontal",
|
|
4962
4984
|
stroke: t.track.gridLines.horizontalColor,
|
|
@@ -4964,7 +4986,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
4964
4986
|
x2: t.track.width ?? t.innerWidth,
|
|
4965
4987
|
y1: t.track.yScale(e),
|
|
4966
4988
|
y2: t.track.yScale(e)
|
|
4967
|
-
}, null, 8,
|
|
4989
|
+
}, null, 8, $o))), 128)) : r("", !0)])], 8, qo)) : r("", !0),
|
|
4968
4990
|
!t.track.isEmpty && t.track.hasVisibleSeries && t.zeroLine.visible && !t.cleanView ? (y(), i("g", {
|
|
4969
4991
|
key: 2,
|
|
4970
4992
|
class: "waveform-track__zero-lines waveform-chart__zero-lines",
|
|
@@ -4981,7 +5003,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
4981
5003
|
stroke: t.zeroLine.color,
|
|
4982
5004
|
"stroke-width": t.zeroLine.width,
|
|
4983
5005
|
"stroke-dasharray": t.zeroLine.dash || void 0
|
|
4984
|
-
}, null, 8,
|
|
5006
|
+
}, null, 8, ts))], 64))), 128))], 8, es)) : r("", !0),
|
|
4985
5007
|
!t.track.isEmpty && t.track.hasVisibleSeries && t.frameNumber !== void 0 && !t.cleanView ? (y(), i("text", {
|
|
4986
5008
|
key: 3,
|
|
4987
5009
|
class: "waveform-track__watermark waveform-chart__watermark",
|
|
@@ -4991,10 +5013,10 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
4991
5013
|
"text-anchor": "middle",
|
|
4992
5014
|
"dominant-baseline": "central",
|
|
4993
5015
|
"aria-hidden": "true"
|
|
4994
|
-
}, T(t.frameNumber), 13,
|
|
5016
|
+
}, T(t.frameNumber), 13, ns)) : r("", !0)
|
|
4995
5017
|
], 64));
|
|
4996
5018
|
}
|
|
4997
|
-
}),
|
|
5019
|
+
}), is = [
|
|
4998
5020
|
"data-track-index",
|
|
4999
5021
|
"data-track-id",
|
|
5000
5022
|
"data-track-empty",
|
|
@@ -5004,19 +5026,19 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
5004
5026
|
"data-track-top",
|
|
5005
5027
|
"data-track-height",
|
|
5006
5028
|
"transform"
|
|
5007
|
-
],
|
|
5029
|
+
], as = [
|
|
5008
5030
|
"width",
|
|
5009
5031
|
"height",
|
|
5010
5032
|
"stroke",
|
|
5011
5033
|
"stroke-width",
|
|
5012
5034
|
"stroke-dasharray",
|
|
5013
5035
|
"stroke-linecap"
|
|
5014
|
-
],
|
|
5036
|
+
], os = [
|
|
5015
5037
|
"data-interactive",
|
|
5016
5038
|
"data-independent-overlay-index",
|
|
5017
5039
|
"width",
|
|
5018
5040
|
"height"
|
|
5019
|
-
],
|
|
5041
|
+
], ss = ["x", "y"], cs = /* @__PURE__ */ l({
|
|
5020
5042
|
__name: "WaveformTrack",
|
|
5021
5043
|
props: {
|
|
5022
5044
|
track: {},
|
|
@@ -5039,10 +5061,10 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
5039
5061
|
default: !1
|
|
5040
5062
|
},
|
|
5041
5063
|
zeroLine: { default: () => ({
|
|
5042
|
-
visible: !
|
|
5043
|
-
color:
|
|
5044
|
-
width:
|
|
5045
|
-
dash:
|
|
5064
|
+
visible: !0,
|
|
5065
|
+
color: Gt.COLOR,
|
|
5066
|
+
width: Gt.WIDTH,
|
|
5067
|
+
dash: Gt.DASH
|
|
5046
5068
|
}) }
|
|
5047
5069
|
},
|
|
5048
5070
|
emits: [
|
|
@@ -5076,7 +5098,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
5076
5098
|
"data-track-height": e.track.height,
|
|
5077
5099
|
transform: `translate(${e.track.left ?? 0}, ${e.track.top})`
|
|
5078
5100
|
}, [
|
|
5079
|
-
s(
|
|
5101
|
+
s(rs, {
|
|
5080
5102
|
track: e.track,
|
|
5081
5103
|
"clip-path-id": e.clipPathId,
|
|
5082
5104
|
"inner-width": e.innerWidth,
|
|
@@ -5093,7 +5115,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
5093
5115
|
"frame-style",
|
|
5094
5116
|
"zero-line"
|
|
5095
5117
|
]),
|
|
5096
|
-
s(
|
|
5118
|
+
s(Go, {
|
|
5097
5119
|
track: e.track,
|
|
5098
5120
|
"inner-width": e.innerWidth,
|
|
5099
5121
|
"clean-view": e.cleanView,
|
|
@@ -5119,8 +5141,8 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
5119
5141
|
"stroke-dasharray": c.value.borderStyle === "dashed" ? "6 4" : c.value.borderStyle === "dotted" ? "1 3" : void 0,
|
|
5120
5142
|
"stroke-linecap": c.value.borderStyle === "dotted" ? "round" : void 0,
|
|
5121
5143
|
"aria-hidden": "true"
|
|
5122
|
-
}, null, 8,
|
|
5123
|
-
s(
|
|
5144
|
+
}, null, 8, as)),
|
|
5145
|
+
s(No, {
|
|
5124
5146
|
track: e.track,
|
|
5125
5147
|
"clip-path-id": e.clipPathId
|
|
5126
5148
|
}, null, 8, ["track", "clip-path-id"]),
|
|
@@ -5142,7 +5164,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
5142
5164
|
onPointerleave: n[4] ||= (e) => o("pointer-leave"),
|
|
5143
5165
|
onClick: n[5] ||= (e) => o("click", e),
|
|
5144
5166
|
onContextmenu: n[6] ||= (e) => o("contextmenu", e)
|
|
5145
|
-
}, null, 42,
|
|
5167
|
+
}, null, 42, os)) : r("", !0),
|
|
5146
5168
|
!e.track.isEmpty && !e.track.hasVisibleSeries && !e.cleanView ? (y(), i("text", {
|
|
5147
5169
|
key: 2,
|
|
5148
5170
|
class: "waveform-track__no-visible-series",
|
|
@@ -5150,33 +5172,33 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
5150
5172
|
y: e.track.height / 2,
|
|
5151
5173
|
"text-anchor": "middle",
|
|
5152
5174
|
"dominant-baseline": "central"
|
|
5153
|
-
}, " 暂无可见曲线 ", 8,
|
|
5154
|
-
], 10,
|
|
5175
|
+
}, " 暂无可见曲线 ", 8, ss)) : r("", !0)
|
|
5176
|
+
], 10, is));
|
|
5155
5177
|
}
|
|
5156
|
-
}),
|
|
5178
|
+
}), ls = [
|
|
5157
5179
|
"width",
|
|
5158
5180
|
"height",
|
|
5159
5181
|
"data-position",
|
|
5160
5182
|
"data-orientation"
|
|
5161
|
-
],
|
|
5183
|
+
], us = [
|
|
5162
5184
|
"disabled",
|
|
5163
5185
|
"aria-pressed",
|
|
5164
5186
|
"aria-label",
|
|
5165
5187
|
"onClick"
|
|
5166
|
-
],
|
|
5188
|
+
], ds = [
|
|
5167
5189
|
"data-line-type",
|
|
5168
5190
|
"data-line-style",
|
|
5169
5191
|
"data-point-type",
|
|
5170
5192
|
"data-error-bar-visible"
|
|
5171
|
-
],
|
|
5193
|
+
], fs = [
|
|
5172
5194
|
"d",
|
|
5173
5195
|
"stroke",
|
|
5174
5196
|
"stroke-dasharray"
|
|
5175
|
-
],
|
|
5197
|
+
], ps = [
|
|
5176
5198
|
"d",
|
|
5177
5199
|
"stroke",
|
|
5178
5200
|
"stroke-width"
|
|
5179
|
-
],
|
|
5201
|
+
], ms = ["d", "fill"], hs = ["title"], gs = /*#__PURE__*/ nt(/* @__PURE__ */ l({
|
|
5180
5202
|
__name: "WaveformLegend",
|
|
5181
5203
|
props: {
|
|
5182
5204
|
series: {},
|
|
@@ -5234,45 +5256,45 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
5234
5256
|
"data-point-type": e.pointType,
|
|
5235
5257
|
"data-error-bar-visible": e.errorBar.visible || void 0
|
|
5236
5258
|
}, [
|
|
5237
|
-
D(
|
|
5259
|
+
D(Co)(e.lineType) ? (y(), i("path", {
|
|
5238
5260
|
key: 0,
|
|
5239
5261
|
class: "waveform-legend__line",
|
|
5240
|
-
d: D(
|
|
5262
|
+
d: D(Co)(e.lineType) ?? void 0,
|
|
5241
5263
|
stroke: e.color,
|
|
5242
|
-
"stroke-dasharray": D(
|
|
5243
|
-
"stroke-width": "1
|
|
5264
|
+
"stroke-dasharray": D(wo)(e.lineStyle),
|
|
5265
|
+
"stroke-width": "1",
|
|
5244
5266
|
fill: "none"
|
|
5245
|
-
}, null, 8,
|
|
5267
|
+
}, null, 8, fs)) : r("", !0),
|
|
5246
5268
|
e.errorBar.visible ? (y(), i("path", {
|
|
5247
5269
|
key: 1,
|
|
5248
5270
|
class: "waveform-legend__error-bar",
|
|
5249
|
-
d: D(
|
|
5271
|
+
d: D(To)(e.errorBar.capWidth),
|
|
5250
5272
|
stroke: e.errorBar.color || e.color,
|
|
5251
5273
|
"stroke-width": e.errorBar.width,
|
|
5252
5274
|
"stroke-linecap": "butt",
|
|
5253
5275
|
fill: "none"
|
|
5254
|
-
}, null, 8,
|
|
5276
|
+
}, null, 8, ps)) : r("", !0),
|
|
5255
5277
|
e.pointType === "none" ? r("", !0) : (y(), i("path", {
|
|
5256
5278
|
key: 2,
|
|
5257
5279
|
class: "waveform-legend__point",
|
|
5258
|
-
d: D(
|
|
5280
|
+
d: D(xo)(e.pointType, 30) ?? void 0,
|
|
5259
5281
|
fill: e.color,
|
|
5260
5282
|
transform: "translate(13 8)"
|
|
5261
|
-
}, null, 8,
|
|
5262
|
-
], 8,
|
|
5283
|
+
}, null, 8, ms))
|
|
5284
|
+
], 8, ds)), a("span", {
|
|
5263
5285
|
class: "waveform-legend__label",
|
|
5264
5286
|
title: e.name
|
|
5265
|
-
}, T(e.name), 9,
|
|
5287
|
+
}, T(e.name), 9, hs)], 10, us))), 128))], 6)], 2)], 8, ls));
|
|
5266
5288
|
}
|
|
5267
|
-
}), [["__scopeId", "data-v-
|
|
5289
|
+
}), [["__scopeId", "data-v-3af7ebae"]]), _s = {
|
|
5268
5290
|
class: "waveform-chart__hover-layer",
|
|
5269
5291
|
"pointer-events": "none",
|
|
5270
5292
|
"aria-hidden": "true"
|
|
5271
|
-
},
|
|
5293
|
+
}, vs = ["clip-path", "transform"], ys = [
|
|
5272
5294
|
"x1",
|
|
5273
5295
|
"x2",
|
|
5274
5296
|
"y2"
|
|
5275
|
-
],
|
|
5297
|
+
], bs = /*#__PURE__*/ nt(/* @__PURE__ */ l({
|
|
5276
5298
|
__name: "WaveformHoverLayer",
|
|
5277
5299
|
props: {
|
|
5278
5300
|
state: {},
|
|
@@ -5288,7 +5310,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
5288
5310
|
x: e.xScale(n)
|
|
5289
5311
|
}] : [];
|
|
5290
5312
|
}));
|
|
5291
|
-
return (t, r) => (y(), i("g",
|
|
5313
|
+
return (t, r) => (y(), i("g", _s, [(y(!0), i(e, null, S(o.value, (e) => (y(), i("g", {
|
|
5292
5314
|
key: e.track.index,
|
|
5293
5315
|
class: "waveform-track__crosshair waveform-chart__crosshair",
|
|
5294
5316
|
"clip-path": `url(#${n.clipPathId}-${e.track.index})`,
|
|
@@ -5298,9 +5320,9 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
5298
5320
|
x2: e.x,
|
|
5299
5321
|
y1: "0",
|
|
5300
5322
|
y2: e.track.height
|
|
5301
|
-
}, null, 8,
|
|
5323
|
+
}, null, 8, ys)], 8, vs))), 128))]));
|
|
5302
5324
|
}
|
|
5303
|
-
}), [["__scopeId", "data-v-54a5a37d"]]),
|
|
5325
|
+
}), [["__scopeId", "data-v-54a5a37d"]]), xs = [
|
|
5304
5326
|
"data-display-mode",
|
|
5305
5327
|
"data-interaction-mode",
|
|
5306
5328
|
"data-presentation-mode",
|
|
@@ -5309,40 +5331,40 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
5309
5331
|
"data-plot-margin-top",
|
|
5310
5332
|
"data-plot-margin-bottom",
|
|
5311
5333
|
"data-title-area-height"
|
|
5312
|
-
],
|
|
5334
|
+
], Ss = [
|
|
5313
5335
|
"role",
|
|
5314
5336
|
"aria-level",
|
|
5315
5337
|
"aria-hidden"
|
|
5316
|
-
],
|
|
5338
|
+
], Cs = ["data-title-scale", "data-title-wrapped"], ws = [
|
|
5317
5339
|
"width",
|
|
5318
5340
|
"height",
|
|
5319
5341
|
"aria-label"
|
|
5320
|
-
],
|
|
5342
|
+
], Ts = ["id"], Es = ["width", "height"], Ds = ["transform"], Os = {
|
|
5321
5343
|
key: 0,
|
|
5322
5344
|
class: "waveform-chart__grid-slots",
|
|
5323
5345
|
"aria-hidden": "true"
|
|
5324
|
-
},
|
|
5346
|
+
}, ks = ["transform"], As = ["width", "height"], js = ["width", "height"], Ms = [
|
|
5325
5347
|
"x",
|
|
5326
5348
|
"y",
|
|
5327
5349
|
"width",
|
|
5328
5350
|
"height"
|
|
5329
|
-
],
|
|
5351
|
+
], Ns = {
|
|
5330
5352
|
key: 4,
|
|
5331
5353
|
class: "waveform-chart__legend-layer"
|
|
5332
|
-
},
|
|
5354
|
+
}, Ps = [
|
|
5333
5355
|
"data-legend-track-index",
|
|
5334
5356
|
"data-legend-track-id",
|
|
5335
5357
|
"transform"
|
|
5336
|
-
],
|
|
5358
|
+
], Fs = ["x", "y"], Is = ["x", "y"], Ls = /* @__PURE__ */ l({
|
|
5337
5359
|
__name: "WaveformChartView",
|
|
5338
5360
|
props: { controller: {} },
|
|
5339
5361
|
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
|
|
5362
|
+
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);
|
|
5363
|
+
function $e() {
|
|
5342
5364
|
b.value = !1, q.value();
|
|
5343
5365
|
}
|
|
5344
5366
|
return (t, E) => (y(), i("div", {
|
|
5345
|
-
ref: D(
|
|
5367
|
+
ref: D(Ye),
|
|
5346
5368
|
class: p(["waveform-chart", [
|
|
5347
5369
|
`waveform-chart--${D(o)}`,
|
|
5348
5370
|
`waveform-chart--interaction-${D(c)}`,
|
|
@@ -5362,7 +5384,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
5362
5384
|
"data-plot-margin-bottom": D(v).bottom,
|
|
5363
5385
|
"data-title-area-height": D(_),
|
|
5364
5386
|
onPointerenter: E[8] ||= (e) => b.value = !0,
|
|
5365
|
-
onPointerleave:
|
|
5387
|
+
onPointerleave: $e,
|
|
5366
5388
|
onContextmenuCapture: E[9] ||= (...e) => D(x) && D(x)(...e)
|
|
5367
5389
|
}, [
|
|
5368
5390
|
D(C) ? (y(), i("div", {
|
|
@@ -5373,7 +5395,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
5373
5395
|
"aria-level": D(O) ? 2 : void 0,
|
|
5374
5396
|
"aria-hidden": D(l) || void 0
|
|
5375
5397
|
}, [a("span", {
|
|
5376
|
-
ref: D(
|
|
5398
|
+
ref: D(Ze),
|
|
5377
5399
|
class: "waveform-chart__title-measure",
|
|
5378
5400
|
style: m(D(k)),
|
|
5379
5401
|
"aria-hidden": "true"
|
|
@@ -5386,9 +5408,9 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
5386
5408
|
style: m(D(M)),
|
|
5387
5409
|
"data-title-scale": D(N).scale,
|
|
5388
5410
|
"data-title-wrapped": D(N).wrapped || void 0
|
|
5389
|
-
}, T(D(A)), 13,
|
|
5411
|
+
}, T(D(A)), 13, Cs)], 4)) : r("", !0)], 12, Ss)) : r("", !0),
|
|
5390
5412
|
(y(), i("svg", {
|
|
5391
|
-
ref: D(
|
|
5413
|
+
ref: D(Xe),
|
|
5392
5414
|
class: "waveform-chart__svg",
|
|
5393
5415
|
width: D(P),
|
|
5394
5416
|
height: D(F),
|
|
@@ -5403,9 +5425,9 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
5403
5425
|
}, [a("rect", {
|
|
5404
5426
|
width: e.width,
|
|
5405
5427
|
height: e.height
|
|
5406
|
-
}, null, 8,
|
|
5428
|
+
}, null, 8, Es)], 8, Ts))), 128))]),
|
|
5407
5429
|
a("g", { transform: `translate(${D(g)}, ${D(B)})` }, [
|
|
5408
|
-
D(o) !== "compact" && !D(l) ? (y(), i("g",
|
|
5430
|
+
D(o) !== "compact" && !D(l) ? (y(), i("g", Os, [(y(!0), i(e, null, S(D(V), (e) => (y(), i("g", {
|
|
5409
5431
|
key: `grid-slot-${e.slotIndex}`,
|
|
5410
5432
|
transform: `translate(${e.left}, ${e.top})`
|
|
5411
5433
|
}, [e.series ? r("", !0) : (y(), i("rect", {
|
|
@@ -5413,10 +5435,10 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
5413
5435
|
class: "waveform-chart__grid-slot-placeholder",
|
|
5414
5436
|
width: e.width,
|
|
5415
5437
|
height: e.cellHeight
|
|
5416
|
-
}, null, 8,
|
|
5438
|
+
}, null, 8, As))], 8, ks))), 128))])) : r("", !0),
|
|
5417
5439
|
D(o) !== "independent" && D(R).length && D(H) ? (y(), i("rect", {
|
|
5418
5440
|
key: 1,
|
|
5419
|
-
ref: D(
|
|
5441
|
+
ref: D(Qe),
|
|
5420
5442
|
class: p(["waveform-chart__overlay waveform-chart__overlay--shared", {
|
|
5421
5443
|
"is-zoomable": !D(u) && D(U) && D(W),
|
|
5422
5444
|
"is-annotating": !D(u) && D(c) === "annotation"
|
|
@@ -5428,10 +5450,10 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
5428
5450
|
onPointerup: E[2] ||= (...e) => D(re) && D(re)(...e),
|
|
5429
5451
|
onPointercancel: E[3] ||= (...e) => D(K) && D(K)(...e),
|
|
5430
5452
|
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(
|
|
5453
|
+
onClick: E[5] ||= (...e) => D(ie) && D(ie)(...e),
|
|
5454
|
+
onContextmenu: E[6] ||= (...e) => D(J) && D(J)(...e)
|
|
5455
|
+
}, null, 42, js)) : r("", !0),
|
|
5456
|
+
(y(!0), i(e, null, S(D(R), (e) => (y(), n(D(cs), {
|
|
5435
5457
|
key: `${e.index}-${e.id}`,
|
|
5436
5458
|
track: e,
|
|
5437
5459
|
"clip-path-id": D(z),
|
|
@@ -5442,18 +5464,18 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
5442
5464
|
"interaction-mode": D(c),
|
|
5443
5465
|
"frame-number": D(ae)(e.id),
|
|
5444
5466
|
"frame-style": D(oe),
|
|
5445
|
-
axes: D(
|
|
5467
|
+
axes: D(se),
|
|
5446
5468
|
"clean-view": D(l),
|
|
5447
5469
|
"zero-line": D(le),
|
|
5448
5470
|
"time-unit": D(ue),
|
|
5449
5471
|
"y-label": D(de),
|
|
5450
|
-
onPointerMove: (t) => D(
|
|
5451
|
-
onPointerDown: (t) => D(
|
|
5472
|
+
onPointerMove: (t) => D(fe)(t, e.index),
|
|
5473
|
+
onPointerDown: (t) => D(Y)(t, e.index, !0),
|
|
5452
5474
|
onPointerUp: D(re),
|
|
5453
5475
|
onPointerCancel: D(K),
|
|
5454
5476
|
onPointerLeave: D(q),
|
|
5455
|
-
onClick: (t) => D(
|
|
5456
|
-
onContextmenu: (t) => D(
|
|
5477
|
+
onClick: (t) => D(ie)(t, e.index),
|
|
5478
|
+
onContextmenu: (t) => D(J)(t, e.index)
|
|
5457
5479
|
}, null, 8, [
|
|
5458
5480
|
"track",
|
|
5459
5481
|
"clip-path-id",
|
|
@@ -5477,35 +5499,35 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
5477
5499
|
"onClick",
|
|
5478
5500
|
"onContextmenu"
|
|
5479
5501
|
]))), 128)),
|
|
5480
|
-
s(D(
|
|
5481
|
-
state: D(
|
|
5502
|
+
s(D(bs), {
|
|
5503
|
+
state: D(pe),
|
|
5482
5504
|
tracks: D(R),
|
|
5483
5505
|
"clip-path-id": D(z),
|
|
5484
|
-
visible: D(
|
|
5506
|
+
visible: D(me) && !D(u)
|
|
5485
5507
|
}, null, 8, [
|
|
5486
5508
|
"state",
|
|
5487
5509
|
"tracks",
|
|
5488
5510
|
"clip-path-id",
|
|
5489
5511
|
"visible"
|
|
5490
5512
|
]),
|
|
5491
|
-
D(
|
|
5513
|
+
D(he) && D(d)?.kind === "box" ? (y(), i("rect", {
|
|
5492
5514
|
key: 2,
|
|
5493
5515
|
class: "waveform-chart__zoom-selection",
|
|
5494
|
-
x: D(
|
|
5495
|
-
y: D(
|
|
5496
|
-
width: D(
|
|
5497
|
-
height: D(
|
|
5516
|
+
x: D(he).x,
|
|
5517
|
+
y: D(he).y,
|
|
5518
|
+
width: D(he).width,
|
|
5519
|
+
height: D(he).height,
|
|
5498
5520
|
"aria-hidden": "true"
|
|
5499
|
-
}, null, 8,
|
|
5500
|
-
D(l) ? r("", !0) : (y(), n(D(
|
|
5521
|
+
}, null, 8, Ms)) : r("", !0),
|
|
5522
|
+
D(l) ? r("", !0) : (y(), n(D(rt), {
|
|
5501
5523
|
key: 3,
|
|
5502
|
-
annotations: D(
|
|
5503
|
-
visible: D(
|
|
5524
|
+
annotations: D(ge),
|
|
5525
|
+
visible: D(_e),
|
|
5504
5526
|
interactive: !D(u),
|
|
5505
|
-
onContextmenu: D(
|
|
5506
|
-
onDragStart: D(
|
|
5507
|
-
onMove: D(
|
|
5508
|
-
onDragEnd: D(
|
|
5527
|
+
onContextmenu: D(ve),
|
|
5528
|
+
onDragStart: D(ye),
|
|
5529
|
+
onMove: D(be),
|
|
5530
|
+
onDragEnd: D(xe)
|
|
5509
5531
|
}, null, 8, [
|
|
5510
5532
|
"annotations",
|
|
5511
5533
|
"visible",
|
|
@@ -5515,23 +5537,23 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
5515
5537
|
"onMove",
|
|
5516
5538
|
"onDragEnd"
|
|
5517
5539
|
])),
|
|
5518
|
-
D(l) ? r("", !0) : (y(), i("g",
|
|
5540
|
+
D(l) ? r("", !0) : (y(), i("g", Ns, [(y(!0), i(e, null, S(D(R), (e) => (y(), i("g", {
|
|
5519
5541
|
key: `legend-${e.index}-${e.id}`,
|
|
5520
5542
|
class: "waveform-chart__legend-track",
|
|
5521
5543
|
"data-legend-track-index": e.index,
|
|
5522
5544
|
"data-legend-track-id": e.id,
|
|
5523
5545
|
transform: `translate(${e.left}, ${e.top})`
|
|
5524
|
-
}, [!e.isEmpty && e.legendSeries.length > 1 ? (y(), n(D(
|
|
5546
|
+
}, [!e.isEmpty && e.legendSeries.length > 1 ? (y(), n(D(gs), {
|
|
5525
5547
|
key: 0,
|
|
5526
5548
|
series: e.legendSeries,
|
|
5527
|
-
position: D(
|
|
5528
|
-
orientation: D(
|
|
5529
|
-
"background-color": D(
|
|
5530
|
-
interactive: D(
|
|
5531
|
-
"hidden-series-ids": D(
|
|
5549
|
+
position: D(Se)(e.id),
|
|
5550
|
+
orientation: D(Ce)(D(Se)(e.id)),
|
|
5551
|
+
"background-color": D(X),
|
|
5552
|
+
interactive: D(we),
|
|
5553
|
+
"hidden-series-ids": D(Te),
|
|
5532
5554
|
width: e.width ?? D(G),
|
|
5533
5555
|
height: e.height,
|
|
5534
|
-
onToggle: D(
|
|
5556
|
+
onToggle: D(Ee)
|
|
5535
5557
|
}, null, 8, [
|
|
5536
5558
|
"series",
|
|
5537
5559
|
"position",
|
|
@@ -5542,51 +5564,51 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
5542
5564
|
"width",
|
|
5543
5565
|
"height",
|
|
5544
5566
|
"onToggle"
|
|
5545
|
-
])) : r("", !0)], 8,
|
|
5546
|
-
], 8,
|
|
5547
|
-
D(
|
|
5567
|
+
])) : r("", !0)], 8, Ps))), 128))]))
|
|
5568
|
+
], 8, Ds),
|
|
5569
|
+
D(De) && !D(l) ? (y(), i("text", {
|
|
5548
5570
|
key: 0,
|
|
5549
5571
|
class: "waveform-chart__label waveform-chart__x-label",
|
|
5550
5572
|
x: D(g) + D(G) / 2,
|
|
5551
|
-
y: D(
|
|
5573
|
+
y: D(Oe),
|
|
5552
5574
|
"text-anchor": "middle"
|
|
5553
|
-
}, T(D(
|
|
5554
|
-
D(
|
|
5575
|
+
}, T(D(De)), 9, Fs)) : r("", !0),
|
|
5576
|
+
D(ke) && !D(I) ? (y(), i("text", {
|
|
5555
5577
|
key: 1,
|
|
5556
5578
|
class: "waveform-chart__empty",
|
|
5557
5579
|
x: D(P) / 2,
|
|
5558
5580
|
y: D(F) / 2,
|
|
5559
5581
|
"text-anchor": "middle"
|
|
5560
|
-
}, " 暂无有效波形数据 ", 8,
|
|
5561
|
-
], 40,
|
|
5562
|
-
D(
|
|
5582
|
+
}, " 暂无有效波形数据 ", 8, Is)) : r("", !0)
|
|
5583
|
+
], 40, ws)),
|
|
5584
|
+
D(Ae).showPagination && D(je) > 1 && !D(l) ? (y(), n(D(ce), {
|
|
5563
5585
|
key: 1,
|
|
5564
5586
|
class: "waveform-chart__pagination",
|
|
5565
5587
|
"aria-label": "波形分页",
|
|
5566
|
-
current: D(
|
|
5567
|
-
"page-size": D(
|
|
5568
|
-
total: D(
|
|
5588
|
+
current: D(Me),
|
|
5589
|
+
"page-size": D(Ne)(D(Ae)),
|
|
5590
|
+
total: D(Pe).length,
|
|
5569
5591
|
"show-size-changer": !1,
|
|
5570
5592
|
"show-quick-jumper": !1,
|
|
5571
|
-
onChange: D(
|
|
5593
|
+
onChange: D(Fe)
|
|
5572
5594
|
}, null, 8, [
|
|
5573
5595
|
"current",
|
|
5574
5596
|
"page-size",
|
|
5575
5597
|
"total",
|
|
5576
5598
|
"onChange"
|
|
5577
5599
|
])) : r("", !0),
|
|
5578
|
-
D(
|
|
5600
|
+
D(Le) && !D(l) && !D(u) ? (y(), n(io, {
|
|
5579
5601
|
key: 2,
|
|
5580
|
-
annotation: D(
|
|
5581
|
-
mode: D(
|
|
5582
|
-
series: D(
|
|
5583
|
-
"series-options": D(
|
|
5602
|
+
annotation: D(Le).annotation,
|
|
5603
|
+
mode: D(Le).mode,
|
|
5604
|
+
series: D(ze),
|
|
5605
|
+
"series-options": D(Be),
|
|
5584
5606
|
"time-unit": D(ue),
|
|
5585
|
-
"time-error": D(
|
|
5586
|
-
onConfirm: D(
|
|
5587
|
-
onCancel: D(
|
|
5588
|
-
onSeriesChange: D(
|
|
5589
|
-
onTimeChange: D(
|
|
5607
|
+
"time-error": D(Ve),
|
|
5608
|
+
onConfirm: D(He),
|
|
5609
|
+
onCancel: D(Ue),
|
|
5610
|
+
onSeriesChange: D(We),
|
|
5611
|
+
onTimeChange: D(Ge)
|
|
5590
5612
|
}, null, 8, [
|
|
5591
5613
|
"annotation",
|
|
5592
5614
|
"mode",
|
|
@@ -5599,15 +5621,15 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
5599
5621
|
"onSeriesChange",
|
|
5600
5622
|
"onTimeChange"
|
|
5601
5623
|
])) : r("", !0),
|
|
5602
|
-
!D(l) && !D(u) ? (y(), n(D(
|
|
5624
|
+
!D(l) && !D(u) ? (y(), n(D(it), {
|
|
5603
5625
|
key: 3,
|
|
5604
|
-
visible: D(
|
|
5605
|
-
x: D(
|
|
5606
|
-
y: D(
|
|
5607
|
-
"can-edit": !!D(
|
|
5608
|
-
onEdit: D(
|
|
5609
|
-
onDelete: D(
|
|
5610
|
-
onClose: D(
|
|
5626
|
+
visible: D(Re) !== null,
|
|
5627
|
+
x: D(Re)?.x || 0,
|
|
5628
|
+
y: D(Re)?.y || 0,
|
|
5629
|
+
"can-edit": !!D(Re)?.annotationId,
|
|
5630
|
+
onEdit: D(Ke),
|
|
5631
|
+
onDelete: D(qe),
|
|
5632
|
+
onClose: D(Ie).closeContextMenu
|
|
5611
5633
|
}, null, 8, [
|
|
5612
5634
|
"visible",
|
|
5613
5635
|
"x",
|
|
@@ -5617,12 +5639,12 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
5617
5639
|
"onDelete",
|
|
5618
5640
|
"onClose"
|
|
5619
5641
|
])) : r("", !0),
|
|
5620
|
-
s(D(
|
|
5621
|
-
state: D(
|
|
5622
|
-
visible: D(
|
|
5642
|
+
s(D(mo), {
|
|
5643
|
+
state: D(pe),
|
|
5644
|
+
visible: D(me) && !D(u),
|
|
5623
5645
|
"time-unit": D(ue),
|
|
5624
5646
|
"container-width": D(P),
|
|
5625
|
-
"container-height": D(
|
|
5647
|
+
"container-height": D(Je)
|
|
5626
5648
|
}, null, 8, [
|
|
5627
5649
|
"state",
|
|
5628
5650
|
"visible",
|
|
@@ -5630,9 +5652,9 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
5630
5652
|
"container-width",
|
|
5631
5653
|
"container-height"
|
|
5632
5654
|
])
|
|
5633
|
-
], 46,
|
|
5655
|
+
], 46, xs));
|
|
5634
5656
|
}
|
|
5635
|
-
}),
|
|
5657
|
+
}), Rs = /* @__PURE__ */ l({
|
|
5636
5658
|
__name: "WaveformChart",
|
|
5637
5659
|
props: {
|
|
5638
5660
|
data: {},
|
|
@@ -5660,7 +5682,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
5660
5682
|
maxZoomScale: {},
|
|
5661
5683
|
initialXDomain: {},
|
|
5662
5684
|
initialXDomains: {},
|
|
5663
|
-
xDomainStrategy: { default: () => ({ type: "
|
|
5685
|
+
xDomainStrategy: { default: () => ({ type: "integer-ms" }) },
|
|
5664
5686
|
yDomain: {},
|
|
5665
5687
|
yDomains: {},
|
|
5666
5688
|
timeUnit: { default: "ms" },
|
|
@@ -5696,7 +5718,7 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
5696
5718
|
type: Boolean,
|
|
5697
5719
|
default: !1
|
|
5698
5720
|
},
|
|
5699
|
-
zeroLine: { default: () => ({ visible: !
|
|
5721
|
+
zeroLine: { default: () => ({ visible: !0 }) }
|
|
5700
5722
|
},
|
|
5701
5723
|
emits: [
|
|
5702
5724
|
"point-hover",
|
|
@@ -5716,12 +5738,12 @@ var Co = ["clip-path"], wo = ["data-series-id", "data-series-name"], To = [
|
|
|
5716
5738
|
"sampling-error"
|
|
5717
5739
|
],
|
|
5718
5740
|
setup(e, { expose: t, emit: r }) {
|
|
5719
|
-
let i =
|
|
5741
|
+
let i = za(e, r);
|
|
5720
5742
|
return t({
|
|
5721
5743
|
resetViewport: i.resetViewport,
|
|
5722
5744
|
setViewportDomain: i.setViewportDomain
|
|
5723
|
-
}), (e, t) => (y(), n(
|
|
5745
|
+
}), (e, t) => (y(), n(Ls, { controller: D(i) }, null, 8, ["controller"]));
|
|
5724
5746
|
}
|
|
5725
5747
|
});
|
|
5726
5748
|
//#endregion
|
|
5727
|
-
export {
|
|
5749
|
+
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 };
|