waveform-analysis 0.1.58 → 0.1.59
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -6
- package/dist/index.cjs +1 -1
- package/dist/index.js +705 -644
- package/dist/types/components/WaveformChart.vue.d.ts +2 -0
- package/dist/types/components/core/useWaveformChartLifecycle.d.ts +1 -2
- package/dist/types/components/core/waveformChartTypes.d.ts +2 -1
- package/dist/types/components/data/types.d.ts +1 -1
- package/dist/types/components/index.d.ts +1 -1
- package/dist/types/components/interaction/useWaveformZoom.d.ts +2 -1
- package/dist/types/components/interaction/zoomEventPayload.d.ts +7 -0
- package/dist/types/core/rendering.d.ts +1 -1
- package/dist/types/core/renderingOptions.d.ts +1 -1
- package/dist/types/core/wasmSampling.d.ts +1 -1
- package/dist/types/core/workerSampling/multiresolution.d.ts +1 -1
- package/dist/types/core/workerSampling/protocol.d.ts +1 -1
- package/dist/types/core/workerSampling/repositoryDataset.d.ts +1 -1
- package/dist/types/core/workerSampling/repositorySupport.d.ts +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/types/chart.d.ts +8 -0
- package/dist/types/types/index.d.ts +1 -1
- package/dist/types/utils/geometry.d.ts +1 -1
- package/dist/types/wasm/waveform_sampling_wasm.d.ts +74 -0
- package/dist/types/wasm/waveform_sampling_wasm_bg.wasm.d.ts +19 -0
- package/package.json +5 -4
- package/src/components/core/useWaveformChartController.ts +6 -1
- package/src/components/core/useWaveformChartLifecycle.ts +15 -9
- package/src/components/core/waveformChartTypes.ts +2 -0
- package/src/components/data/types.ts +1 -0
- package/src/components/index.ts +1 -0
- package/src/components/interaction/useWaveformViewport.ts +2 -0
- package/src/components/interaction/useWaveformZoom.ts +58 -61
- package/src/components/interaction/zoomEventPayload.ts +88 -0
- package/src/components/waveformChartCases/zoomIntentAndDataRebind.test.ts +213 -0
- package/src/core/rendering.ts +1 -1
- package/src/core/renderingOptions.ts +1 -1
- package/src/core/workerSampling/multiresolution.ts +1 -1
- package/src/core/workerSampling/protocol.ts +1 -1
- package/src/core/workerSampling/repository.ts +1 -1
- package/src/core/workerSampling/repositoryDataset.ts +1 -1
- package/src/core/workerSampling/repositorySupport.ts +1 -1
- package/src/index.ts +1 -0
- package/src/types/chart.ts +9 -0
- package/src/types/index.ts +1 -0
- package/src/utils/geometry.ts +1 -1
package/dist/index.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { Fragment as e, computed as t, createBlock as n, createCommentVNode as r, createElementBlock as i, createElementVNode as a, createTextVNode as o, createVNode as s, defineAsyncComponent as c, defineComponent as l, getCurrentInstance as u, markRaw as d, nextTick as f, normalizeClass as p, normalizeStyle as m, onBeforeUnmount as h, onMounted as g, onScopeDispose as _, openBlock as v, reactive as y, ref as b, renderList as x, shallowReactive as S, shallowRef as C, toDisplayString as w, toRefs as T, unref as E, vModelText as D, watch as O, watchEffect as k, withCtx as A, withDirectives as j, withModifiers as M } from "vue";
|
|
2
|
-
import { axisBottom as N, axisLeft as P, axisRight as F, bisector as I, curveStep as L, curveStepAfter as R, curveStepBefore as z, extent as B, line as V, pointer as H, scaleLinear as U, select as W, symbol as
|
|
3
|
-
import { InputNumber as
|
|
2
|
+
import { axisBottom as N, axisLeft as P, axisRight as F, bisector as I, curveStep as L, curveStepAfter as R, curveStepBefore as z, extent as B, line as V, pointer as H, scaleLinear as U, select as W, symbol as G, symbolCircle as ee, symbolDiamond as te, symbolSquare as ne, symbolTriangle as re, zoom as K, zoomIdentity as q, zoomTransform as J } from "d3";
|
|
3
|
+
import { InputNumber as ie, Modal as ae, Pagination as oe } from "ant-design-vue";
|
|
4
4
|
//#region src/utils/waveformId.ts
|
|
5
|
-
var
|
|
6
|
-
function
|
|
5
|
+
var se = 0;
|
|
6
|
+
function ce(e = "waveform") {
|
|
7
7
|
let t = u();
|
|
8
|
-
return `${e}-${t ? `v${t.uid}` : `f${++
|
|
8
|
+
return `${e}-${t ? `v${t.uid}` : `f${++se}`}`;
|
|
9
9
|
}
|
|
10
10
|
//#endregion
|
|
11
11
|
//#region src/core/compactSamplePointSource.ts
|
|
12
|
-
function
|
|
12
|
+
function le(e, t, n, r) {
|
|
13
13
|
let i = 0, a = e;
|
|
14
14
|
for (; i < a;) {
|
|
15
15
|
let e = i + Math.floor((a - i) / 2);
|
|
@@ -17,7 +17,7 @@ function ue(e, t, n, r) {
|
|
|
17
17
|
}
|
|
18
18
|
return i;
|
|
19
19
|
}
|
|
20
|
-
function
|
|
20
|
+
function ue(e, t, n, r) {
|
|
21
21
|
let i = (e) => n + (r?.[e] ?? e) / t, a = (t) => t < 0 || t >= e.length ? void 0 : {
|
|
22
22
|
x: i(t),
|
|
23
23
|
y: e[t]
|
|
@@ -33,15 +33,15 @@ function de(e, t, n, r) {
|
|
|
33
33
|
visibleRange(t) {
|
|
34
34
|
let n = Math.min(t[0], t[1]), r = Math.max(t[0], t[1]);
|
|
35
35
|
return {
|
|
36
|
-
start:
|
|
37
|
-
end:
|
|
36
|
+
start: le(e.length, i, n, !1),
|
|
37
|
+
end: le(e.length, i, r, !0)
|
|
38
38
|
};
|
|
39
39
|
},
|
|
40
40
|
nearestPoint(t) {
|
|
41
41
|
if (!Number.isFinite(t) || !e.length) return;
|
|
42
42
|
if (t <= i(0)) return a(0);
|
|
43
43
|
if (t >= i(e.length - 1)) return a(e.length - 1);
|
|
44
|
-
let n =
|
|
44
|
+
let n = le(e.length, i, t, !1), r = Math.max(0, n - 1);
|
|
45
45
|
return Math.abs(t - i(r)) < Math.abs(i(n) - t) ? a(r) : a(n);
|
|
46
46
|
},
|
|
47
47
|
metrics() {
|
|
@@ -68,17 +68,17 @@ function de(e, t, n, r) {
|
|
|
68
68
|
}
|
|
69
69
|
//#endregion
|
|
70
70
|
//#region src/core/waveformPointSource.ts
|
|
71
|
-
function
|
|
71
|
+
function Y(e) {
|
|
72
72
|
return typeof e == "number" && Number.isFinite(e) && e >= 0 ? e : void 0;
|
|
73
73
|
}
|
|
74
|
-
function
|
|
74
|
+
function de(e, t, n) {
|
|
75
75
|
let r = Math.max(0, Math.min(n, Math.floor(e)));
|
|
76
76
|
return {
|
|
77
77
|
start: r,
|
|
78
78
|
end: Math.max(r, Math.min(n, Math.floor(t)))
|
|
79
79
|
};
|
|
80
80
|
}
|
|
81
|
-
function
|
|
81
|
+
function fe(e, t, n) {
|
|
82
82
|
let r = 0, i = e;
|
|
83
83
|
for (; r < i;) {
|
|
84
84
|
let e = r + Math.floor((i - r) / 2);
|
|
@@ -99,7 +99,7 @@ function me(e, t, n) {
|
|
|
99
99
|
for (let c = 0; c < e; c += 1) {
|
|
100
100
|
let e = t(c);
|
|
101
101
|
if (!e || (r = Math.min(r, e.x), i = Math.max(i, e.x), a = Math.min(a, e.y), o = Math.max(o, e.y), !n)) continue;
|
|
102
|
-
let l =
|
|
102
|
+
let l = Y(e.lowerError) ?? Y(e.error) ?? 0, u = Y(e.upperError) ?? Y(e.error) ?? 0;
|
|
103
103
|
s ||= l !== 0 || u !== 0, a = Math.min(a, e.y - l), o = Math.max(o, e.y + u);
|
|
104
104
|
}
|
|
105
105
|
return {
|
|
@@ -123,13 +123,13 @@ var he = class {
|
|
|
123
123
|
return this.sourcePoints[e];
|
|
124
124
|
}
|
|
125
125
|
pointsInRange(e = 0, t = this.length) {
|
|
126
|
-
let n =
|
|
126
|
+
let n = de(e, t, this.length);
|
|
127
127
|
return this.sourcePoints.slice(n.start, n.end);
|
|
128
128
|
}
|
|
129
129
|
visibleRange(e) {
|
|
130
130
|
let t = Math.min(e[0], e[1]), n = Math.max(e[0], e[1]);
|
|
131
131
|
return {
|
|
132
|
-
start:
|
|
132
|
+
start: fe(this.length, (e) => this.sourcePoints[e].x, t),
|
|
133
133
|
end: pe(this.length, (e) => this.sourcePoints[e].x, n)
|
|
134
134
|
};
|
|
135
135
|
}
|
|
@@ -138,7 +138,7 @@ var he = class {
|
|
|
138
138
|
let t = this.sourcePoints[0], n = this.sourcePoints[this.length - 1];
|
|
139
139
|
if (e <= t.x) return t;
|
|
140
140
|
if (e >= n.x) return n;
|
|
141
|
-
let r =
|
|
141
|
+
let r = fe(this.length, (e) => this.sourcePoints[e].x, e), i = this.sourcePoints[Math.min(r, this.length - 1)], a = this.sourcePoints[Math.max(0, r - 1)];
|
|
142
142
|
return Math.abs(e - a.x) < Math.abs(i.x - e) ? a : i;
|
|
143
143
|
}
|
|
144
144
|
metrics(e = !1) {
|
|
@@ -165,7 +165,7 @@ var he = class {
|
|
|
165
165
|
}
|
|
166
166
|
pointAt(e) {
|
|
167
167
|
if (e < 0 || e >= this.length) return;
|
|
168
|
-
let t =
|
|
168
|
+
let t = Y(this.error?.[e]), n = Y(this.lowerError?.[e]), r = Y(this.upperError?.[e]);
|
|
169
169
|
return {
|
|
170
170
|
x: this.x[e],
|
|
171
171
|
y: this.y[e],
|
|
@@ -175,14 +175,14 @@ var he = class {
|
|
|
175
175
|
};
|
|
176
176
|
}
|
|
177
177
|
pointsInRange(e = 0, t = this.length) {
|
|
178
|
-
let n =
|
|
178
|
+
let n = de(e, t, this.length), r = [];
|
|
179
179
|
for (let e = n.start; e < n.end; e += 1) r.push(this.pointAt(e));
|
|
180
180
|
return r;
|
|
181
181
|
}
|
|
182
182
|
visibleRange(e) {
|
|
183
183
|
let t = Math.min(e[0], e[1]), n = Math.max(e[0], e[1]);
|
|
184
184
|
return {
|
|
185
|
-
start:
|
|
185
|
+
start: fe(this.length, (e) => this.x[e], t),
|
|
186
186
|
end: pe(this.length, (e) => this.x[e], n)
|
|
187
187
|
};
|
|
188
188
|
}
|
|
@@ -190,7 +190,7 @@ var he = class {
|
|
|
190
190
|
if (!Number.isFinite(e) || !this.length) return;
|
|
191
191
|
if (e <= this.x[0]) return this.pointAt(0);
|
|
192
192
|
if (e >= this.x[this.length - 1]) return this.pointAt(this.length - 1);
|
|
193
|
-
let t =
|
|
193
|
+
let t = fe(this.length, (e) => this.x[e], e), n = Math.min(t, this.length - 1), r = Math.max(0, t - 1);
|
|
194
194
|
return Math.abs(e - this.x[r]) < Math.abs(this.x[n] - e) ? this.pointAt(r) : this.pointAt(n);
|
|
195
195
|
}
|
|
196
196
|
metrics(e = !1) {
|
|
@@ -198,7 +198,7 @@ var he = class {
|
|
|
198
198
|
for (let o = 0; o < this.length; o += 1) {
|
|
199
199
|
let s = this.x[o], c = this.y[o];
|
|
200
200
|
if (t = Math.min(t, s), n = Math.max(n, s), r = Math.min(r, c), i = Math.max(i, c), !e) continue;
|
|
201
|
-
let l =
|
|
201
|
+
let l = Y(this.lowerError?.[o]) ?? Y(this.error?.[o]) ?? 0, u = Y(this.upperError?.[o]) ?? Y(this.error?.[o]) ?? 0;
|
|
202
202
|
a ||= l !== 0 || u !== 0, r = Math.min(r, c - l), i = Math.max(i, c + u);
|
|
203
203
|
}
|
|
204
204
|
return {
|
|
@@ -230,7 +230,7 @@ function ve(e) {
|
|
|
230
230
|
return e.x instanceof Float64Array && t.every((t) => t === void 0 || _e(t) && t.length === e.x.length);
|
|
231
231
|
}
|
|
232
232
|
function ye(e) {
|
|
233
|
-
if (!_e(e.values) || !Number.isFinite(e.sampleRate) || e.sampleRate <= 0 || e.startTime !== void 0 && !Number.isFinite(e.startTime)) return
|
|
233
|
+
if (!_e(e.values) || !Number.isFinite(e.sampleRate) || e.sampleRate <= 0 || e.startTime !== void 0 && !Number.isFinite(e.startTime)) return ue(/* @__PURE__ */ new Float64Array(), 1, 0);
|
|
234
234
|
let t = e.startTime ?? 0, n = 0;
|
|
235
235
|
for (let t = 0; t < e.values.length; t += 1) n += +!!Number.isFinite(e.values[t]);
|
|
236
236
|
let r = e.values instanceof Float32Array ? new Float32Array(n) : new Float64Array(n), i = n === e.values.length ? void 0 : new Uint32Array(n);
|
|
@@ -238,7 +238,7 @@ function ye(e) {
|
|
|
238
238
|
let a = e.values[t];
|
|
239
239
|
Number.isFinite(a) && (r[n] = a, i && (i[n] = t), n += 1);
|
|
240
240
|
}
|
|
241
|
-
return
|
|
241
|
+
return ue(r, e.sampleRate, t, i);
|
|
242
242
|
}
|
|
243
243
|
function be(e) {
|
|
244
244
|
if (!ve(e)) return new ge(/* @__PURE__ */ new Float64Array(), /* @__PURE__ */ new Float64Array());
|
|
@@ -1529,7 +1529,7 @@ function Xn(e) {
|
|
|
1529
1529
|
visibleSeries: [],
|
|
1530
1530
|
xDomain: [0, 1],
|
|
1531
1531
|
yDomain: [0, 1]
|
|
1532
|
-
}, o = !i && a.visibleSeries.length > 0, s = a.visibleSeries[0] ?? a.series[0] ?? null, c = e.displayMode === "independent" ? U(Yn(a, s?.id ?? a.id, e), [0, t.width]) : U(e.sharedZoomDomain, [0, t.width]), l = (e.displayMode === "independent" ? e.independentTransforms[r] ??
|
|
1532
|
+
}, o = !i && a.visibleSeries.length > 0, s = a.visibleSeries[0] ?? a.series[0] ?? null, c = e.displayMode === "independent" ? U(Yn(a, s?.id ?? a.id, e), [0, t.width]) : U(e.sharedZoomDomain, [0, t.width]), l = (e.displayMode === "independent" ? e.independentTransforms[r] ?? q : q).rescaleX(c), u = e.yDomains?.[a.id], d = or(a, e.overlayMode, e.fixedYDomain, e.fixedYDomains).map((e) => !e.fixed && u ? {
|
|
1533
1533
|
...e,
|
|
1534
1534
|
domain: u
|
|
1535
1535
|
} : e), f = {
|
|
@@ -2129,9 +2129,9 @@ function Er(e, t, n, r) {
|
|
|
2129
2129
|
}
|
|
2130
2130
|
function Dr(e, t, n) {
|
|
2131
2131
|
let r = t[1] - t[0], i = e[1] - e[0];
|
|
2132
|
-
if (!Number.isFinite(r) || !Number.isFinite(i) || r <= 0 || i <= 0) return
|
|
2132
|
+
if (!Number.isFinite(r) || !Number.isFinite(i) || r <= 0 || i <= 0) return q;
|
|
2133
2133
|
let a = r / i, o = U(t, [0, n]);
|
|
2134
|
-
return
|
|
2134
|
+
return q.translate(-a * o(e[0]), 0).scale(a);
|
|
2135
2135
|
}
|
|
2136
2136
|
//#endregion
|
|
2137
2137
|
//#region src/components/interaction/viewportDomain.ts
|
|
@@ -2155,8 +2155,66 @@ function Or(e) {
|
|
|
2155
2155
|
};
|
|
2156
2156
|
}
|
|
2157
2157
|
//#endregion
|
|
2158
|
-
//#region src/components/interaction/
|
|
2158
|
+
//#region src/components/interaction/zoomEventPayload.ts
|
|
2159
2159
|
function kr(e) {
|
|
2160
|
+
return [...e].sort().join("\0");
|
|
2161
|
+
}
|
|
2162
|
+
function Ar(e, t) {
|
|
2163
|
+
let n = kr(t);
|
|
2164
|
+
return e.find((e) => kr(e.seriesList.map((e) => e.id)) === n);
|
|
2165
|
+
}
|
|
2166
|
+
function jr(e, t, n, r) {
|
|
2167
|
+
e("zoom-intent", r ? {
|
|
2168
|
+
start: t[0],
|
|
2169
|
+
end: t[1],
|
|
2170
|
+
trackIndex: n.index,
|
|
2171
|
+
seriesIds: n.seriesList.map((e) => e.id),
|
|
2172
|
+
gesture: "box"
|
|
2173
|
+
} : {
|
|
2174
|
+
start: t[0],
|
|
2175
|
+
end: t[1],
|
|
2176
|
+
gesture: "box"
|
|
2177
|
+
});
|
|
2178
|
+
}
|
|
2179
|
+
function Mr(e, t, n) {
|
|
2180
|
+
for (let r of n) {
|
|
2181
|
+
let n = Ar(t, r);
|
|
2182
|
+
if (!n) continue;
|
|
2183
|
+
let i = n.xScale.domain(), a = n.yScale.domain();
|
|
2184
|
+
e("zoom-end", {
|
|
2185
|
+
start: i[0],
|
|
2186
|
+
end: i[1],
|
|
2187
|
+
yStart: a[0],
|
|
2188
|
+
yEnd: a[1],
|
|
2189
|
+
trackIndex: n.index,
|
|
2190
|
+
seriesIds: [...r],
|
|
2191
|
+
gesture: "wheel"
|
|
2192
|
+
});
|
|
2193
|
+
}
|
|
2194
|
+
}
|
|
2195
|
+
function Nr(e, t, n) {
|
|
2196
|
+
let r = n.filter((e) => e.hasVisibleSeries);
|
|
2197
|
+
if (r.length === 1) {
|
|
2198
|
+
let n = r[0]?.yScale.domain();
|
|
2199
|
+
e("zoom-end", {
|
|
2200
|
+
start: t[0],
|
|
2201
|
+
end: t[1],
|
|
2202
|
+
yStart: n?.[0],
|
|
2203
|
+
yEnd: n?.[1],
|
|
2204
|
+
gesture: "wheel"
|
|
2205
|
+
});
|
|
2206
|
+
return;
|
|
2207
|
+
}
|
|
2208
|
+
e("zoom-end", {
|
|
2209
|
+
start: t[0],
|
|
2210
|
+
end: t[1],
|
|
2211
|
+
yRanges: Object.fromEntries(r.map((e) => [e.series?.trackId ?? e.series?.id ?? e.id, e.yScale.domain()])),
|
|
2212
|
+
gesture: "wheel"
|
|
2213
|
+
});
|
|
2214
|
+
}
|
|
2215
|
+
//#endregion
|
|
2216
|
+
//#region src/components/interaction/useWaveformViewport.ts
|
|
2217
|
+
function Pr(e) {
|
|
2160
2218
|
let { props: n, emit: r, selection: i, spacePressed: a, trackLayouts: o, chartTracks: s, initialXDomain: c, innerWidth: l, innerHeight: u, sharedOverlayElement: d, sharedTransform: p, independentTransforms: m, sharedYDomains: h, independentYDomains: g, isZoomMode: _, isPresentationMode: v, editorSeriesOptions: y, resolveInitialTrackDomain: b, canZoomTrack: x, canZoomSharedTracks: S, configureZoom: w, cancelPendingZoom: T, clearHover: E, resolveTrackAtPointer: D } = e, O = C(), k = (e, t) => {
|
|
2161
2219
|
let n = O.value, r = t?.currentTarget;
|
|
2162
2220
|
mr(n, e), r && r !== n && mr(r, e);
|
|
@@ -2246,6 +2304,7 @@ function kr(e) {
|
|
|
2246
2304
|
let e = [...m.value];
|
|
2247
2305
|
e[t.index] = Dr(h, u, t.width), m.value = e;
|
|
2248
2306
|
} else p.value = Dr(h, u, l.value);
|
|
2307
|
+
jr(r, h, t, e.independent);
|
|
2249
2308
|
let g = e.independent ? [t] : o.value.filter((e) => e.hasVisibleSeries), _ = Object.fromEntries(g.map((e) => [e.series?.trackId ?? e.series?.id ?? e.id, e.yScale.domain()]));
|
|
2250
2309
|
if (r("zoom-change", h), e.independent) {
|
|
2251
2310
|
let e = _[t.series?.trackId ?? t.series?.id ?? t.id];
|
|
@@ -2304,10 +2363,10 @@ function kr(e) {
|
|
|
2304
2363
|
}, V = (e) => {
|
|
2305
2364
|
if (T(), R(), n.displayMode === "independent" && e !== void 0) {
|
|
2306
2365
|
let t = [...m.value];
|
|
2307
|
-
t[e] =
|
|
2366
|
+
t[e] = q, m.value = t;
|
|
2308
2367
|
let n = { ...g.value };
|
|
2309
2368
|
delete n[e], g.value = n;
|
|
2310
|
-
} else p.value =
|
|
2369
|
+
} else p.value = q, m.value = s.value.map(() => q), h.value = {}, g.value = {};
|
|
2311
2370
|
E(), y.value = [], f(w);
|
|
2312
2371
|
};
|
|
2313
2372
|
return {
|
|
@@ -2350,7 +2409,7 @@ function kr(e) {
|
|
|
2350
2409
|
}
|
|
2351
2410
|
//#endregion
|
|
2352
2411
|
//#region src/components/utils/useAnimationFrameThrottle.ts
|
|
2353
|
-
function
|
|
2412
|
+
function Fr() {
|
|
2354
2413
|
let e = null, t = null;
|
|
2355
2414
|
function n(n) {
|
|
2356
2415
|
t = n, e === null && (e = requestAnimationFrame(() => {
|
|
@@ -2379,15 +2438,35 @@ function Ar() {
|
|
|
2379
2438
|
}
|
|
2380
2439
|
//#endregion
|
|
2381
2440
|
//#region src/components/interaction/useWaveformZoom.ts
|
|
2382
|
-
function
|
|
2383
|
-
let { props: t, emit: n, svgElement: r, sharedOverlayElement: i, sharedTransform: a, independentTransforms: o, trackLayouts: s, initialXDomain: c, sharedZoomDomain: l, innerWidth: u, innerHeight: d, hasChartArea: f, isZoomMode: p, isPresentationMode: m, resolveInitialTrackDomain: h, cancelPendingHover: g } = e, _ = /* @__PURE__ */ new Map(), v =
|
|
2384
|
-
y || m.value
|
|
2385
|
-
|
|
2386
|
-
|
|
2441
|
+
function Ir(e) {
|
|
2442
|
+
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 = Fr(), 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) => {
|
|
2443
|
+
if (y || m.value) return;
|
|
2444
|
+
g(), b = e.transform, x = "wheel", I();
|
|
2445
|
+
let t = e.transform.rescaleX(U(c.value, [0, u.value])).domain();
|
|
2446
|
+
n("zoom-intent", {
|
|
2447
|
+
start: t[0],
|
|
2448
|
+
end: t[1],
|
|
2449
|
+
gesture: "wheel"
|
|
2450
|
+
}), k();
|
|
2451
|
+
}, j = (e, t) => {
|
|
2452
|
+
if (y || m.value) return;
|
|
2453
|
+
g(), C.set(t, e.transform), w.set(t, "wheel"), I();
|
|
2454
|
+
let r = s.value.find((e) => e.index === t);
|
|
2455
|
+
if (r) {
|
|
2456
|
+
let i = e.transform.rescaleX(U(h(r), [0, r.width])).domain();
|
|
2457
|
+
n("zoom-intent", {
|
|
2458
|
+
start: i[0],
|
|
2459
|
+
end: i[1],
|
|
2460
|
+
trackIndex: t,
|
|
2461
|
+
seriesIds: r.seriesList.map((e) => e.id),
|
|
2462
|
+
gesture: "wheel"
|
|
2463
|
+
});
|
|
2464
|
+
}
|
|
2465
|
+
k();
|
|
2387
2466
|
};
|
|
2388
|
-
function
|
|
2467
|
+
function M() {
|
|
2389
2468
|
if (m.value) {
|
|
2390
|
-
|
|
2469
|
+
R();
|
|
2391
2470
|
return;
|
|
2392
2471
|
}
|
|
2393
2472
|
if (b) {
|
|
@@ -2397,173 +2476,150 @@ function jr(e) {
|
|
|
2397
2476
|
n("zoom-change", [t[0], t[1]]);
|
|
2398
2477
|
}
|
|
2399
2478
|
if (!C.size) return;
|
|
2400
|
-
let e = [...o.value], t = Array.from(C.keys());
|
|
2401
|
-
|
|
2402
|
-
let t = w.get(e);
|
|
2403
|
-
t && T.set(e, t);
|
|
2404
|
-
}), C.forEach((t, n) => {
|
|
2479
|
+
let e = [...o.value], t = Array.from(C.keys()), r = new Map(w);
|
|
2480
|
+
C.forEach((t, n) => {
|
|
2405
2481
|
e[n] = t;
|
|
2406
2482
|
}), C.clear(), w.clear(), o.value = e;
|
|
2407
|
-
let
|
|
2483
|
+
let i = new Map(s.value.map((e) => [e.index, e]));
|
|
2408
2484
|
t.forEach((e) => {
|
|
2409
|
-
let t =
|
|
2485
|
+
let t = i.get(e);
|
|
2410
2486
|
if (!t) return;
|
|
2411
|
-
|
|
2412
|
-
|
|
2487
|
+
if (r.get(e) === "wheel") {
|
|
2488
|
+
let e = t.seriesList.map((e) => e.id);
|
|
2489
|
+
T.set(kr(e), e);
|
|
2490
|
+
}
|
|
2491
|
+
let a = t.xScale.domain();
|
|
2492
|
+
n("zoom-change", [a[0], a[1]]);
|
|
2413
2493
|
});
|
|
2414
2494
|
}
|
|
2415
|
-
let
|
|
2495
|
+
let N = () => {
|
|
2416
2496
|
if (t.displayMode === "independent") {
|
|
2417
|
-
|
|
2418
|
-
E.forEach((t) => {
|
|
2419
|
-
if (T.get(t) !== "wheel") return;
|
|
2420
|
-
let r = e.get(t);
|
|
2421
|
-
if (!r) return;
|
|
2422
|
-
let i = r.xScale.domain(), a = r.yScale.domain();
|
|
2423
|
-
n("zoom-end", {
|
|
2424
|
-
start: i[0],
|
|
2425
|
-
end: i[1],
|
|
2426
|
-
yStart: a[0],
|
|
2427
|
-
yEnd: a[1],
|
|
2428
|
-
trackIndex: t,
|
|
2429
|
-
seriesIds: r.seriesList.map((e) => e.id),
|
|
2430
|
-
gesture: "wheel"
|
|
2431
|
-
});
|
|
2432
|
-
}), E.clear(), T.clear();
|
|
2497
|
+
Mr(n, s.value, T.values()), T.clear();
|
|
2433
2498
|
return;
|
|
2434
2499
|
}
|
|
2435
2500
|
if (S !== "wheel") {
|
|
2436
2501
|
S = null;
|
|
2437
2502
|
return;
|
|
2438
2503
|
}
|
|
2439
|
-
|
|
2440
|
-
|
|
2441
|
-
|
|
2442
|
-
|
|
2443
|
-
|
|
2444
|
-
end: e[1],
|
|
2445
|
-
yStart: t?.[0],
|
|
2446
|
-
yEnd: t?.[1],
|
|
2447
|
-
gesture: "wheel"
|
|
2448
|
-
});
|
|
2449
|
-
} else n("zoom-end", {
|
|
2450
|
-
start: e[0],
|
|
2451
|
-
end: e[1],
|
|
2452
|
-
yRanges: Object.fromEntries(r.map((e) => [e.series?.trackId ?? e.series?.id ?? e.id, e.yScale.domain()])),
|
|
2453
|
-
gesture: "wheel"
|
|
2454
|
-
});
|
|
2455
|
-
S = null;
|
|
2456
|
-
}, N = () => {
|
|
2457
|
-
v.flush(), j(), !(S === "wheel" || T.size) && M();
|
|
2504
|
+
Nr(n, l.value, s.value), S = null;
|
|
2505
|
+
}, P = () => {
|
|
2506
|
+
v.flush(), M(), !(S === "wheel" || T.size) && N();
|
|
2507
|
+
}, F = (e) => {
|
|
2508
|
+
e === O && P();
|
|
2458
2509
|
};
|
|
2459
|
-
function
|
|
2460
|
-
|
|
2461
|
-
|
|
2510
|
+
function I() {
|
|
2511
|
+
E !== void 0 && clearTimeout(E), E = setTimeout(() => {
|
|
2512
|
+
E = void 0, v.flush(), M(), N(), D = !1;
|
|
2462
2513
|
}, 200);
|
|
2463
2514
|
}
|
|
2464
|
-
let
|
|
2465
|
-
|
|
2466
|
-
},
|
|
2467
|
-
|
|
2468
|
-
},
|
|
2515
|
+
let L = () => {
|
|
2516
|
+
E !== void 0 && (v.flush(), M(), D = !0);
|
|
2517
|
+
}, R = () => {
|
|
2518
|
+
b = null, x = null, S = null, C.clear(), w.clear(), T.clear(), v.cancel(), D = !1, E !== void 0 && (clearTimeout(E), E = void 0);
|
|
2519
|
+
}, z = (e = !1) => {
|
|
2520
|
+
O += 1, e || R(), r.value?.querySelectorAll(".waveform-chart__overlay").forEach((e) => W(e).on(".zoom", null)), _.clear();
|
|
2521
|
+
}, B = (e, n) => {
|
|
2469
2522
|
let r = Math.abs(e[1] - e[0]);
|
|
2470
2523
|
if (!Number.isFinite(r) || r <= 0) return Rt.MIN_SCALE;
|
|
2471
2524
|
let i = wr(e, n, t);
|
|
2472
2525
|
return Math.max(Rt.MIN_SCALE, i > 0 ? r / i : Infinity);
|
|
2473
|
-
},
|
|
2526
|
+
}, V = (e, n, r, i) => Dr(Er(e.rescaleX(U(n, [0, r])).domain(), n, i, t), n, r), H = (e) => {
|
|
2474
2527
|
let n = Number(t.minVisiblePoints);
|
|
2475
2528
|
return kn(e.seriesList, e.xScale.domain(), Number.isFinite(n) && n > 0 ? Math.ceil(n) + 1 : n);
|
|
2476
|
-
},
|
|
2529
|
+
}, G = () => {
|
|
2477
2530
|
let e = s.value.filter((e) => e.hasVisibleSeries);
|
|
2478
|
-
return e.length > 0 && e.every(
|
|
2479
|
-
},
|
|
2531
|
+
return e.length > 0 && e.every(H);
|
|
2532
|
+
}, ee = (e, t) => {
|
|
2480
2533
|
if (e.type !== "wheel") return !1;
|
|
2481
2534
|
let n = e.deltaY;
|
|
2482
|
-
return n < 0 ? t : n > 0 &&
|
|
2535
|
+
return n < 0 ? t : n > 0 && J(e.currentTarget).k > Rt.MIN_SCALE;
|
|
2483
2536
|
};
|
|
2484
2537
|
return {
|
|
2485
|
-
cancelPendingZoom:
|
|
2486
|
-
clearZoomBindings:
|
|
2487
|
-
canZoomTrack:
|
|
2488
|
-
canZoomSharedTracks:
|
|
2538
|
+
cancelPendingZoom: R,
|
|
2539
|
+
clearZoomBindings: z,
|
|
2540
|
+
canZoomTrack: H,
|
|
2541
|
+
canZoomSharedTracks: G,
|
|
2489
2542
|
configureZoom: () => {
|
|
2490
|
-
|
|
2543
|
+
z(D);
|
|
2544
|
+
let e = O;
|
|
2545
|
+
if (m.value || !t.zoomable || !p.value || !f.value || !s.value.length) return;
|
|
2491
2546
|
if (t.displayMode === "independent") {
|
|
2492
|
-
s.value.forEach((
|
|
2493
|
-
let
|
|
2494
|
-
if (!
|
|
2495
|
-
let
|
|
2496
|
-
let n = s.value.find((
|
|
2497
|
-
return
|
|
2498
|
-
}).scaleExtent([1,
|
|
2499
|
-
_.set(
|
|
2547
|
+
s.value.forEach((t) => {
|
|
2548
|
+
let n = r.value?.querySelector(`[data-independent-overlay-index="${t.index}"]`);
|
|
2549
|
+
if (!n) return;
|
|
2550
|
+
let i = h(t), a = [t.seriesList], c = K().filter((e) => {
|
|
2551
|
+
let n = s.value.find((e) => e.index === t.index) ?? t;
|
|
2552
|
+
return ee(e, H(n));
|
|
2553
|
+
}).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));
|
|
2554
|
+
_.set(t.index, c), y = !0;
|
|
2500
2555
|
try {
|
|
2501
|
-
W(
|
|
2556
|
+
W(n).call(c).on("dblclick.zoom", null).call(c.transform, o.value[t.index] ?? q);
|
|
2502
2557
|
} finally {
|
|
2503
2558
|
y = !1;
|
|
2504
2559
|
}
|
|
2505
2560
|
});
|
|
2506
2561
|
return;
|
|
2507
2562
|
}
|
|
2508
|
-
let
|
|
2509
|
-
if (!
|
|
2510
|
-
let
|
|
2511
|
-
_.set("shared",
|
|
2563
|
+
let n = i.value;
|
|
2564
|
+
if (!n) return;
|
|
2565
|
+
let l = s.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), g = K().filter((e) => ee(e, G())).scaleExtent([1, B(c.value, l)]).constrain((e) => V(e, c.value, u.value, l)).extent([[0, 0], [u.value, d.value]]).translateExtent([[0, 0], [u.value, d.value]]).on("zoom", A).on("end", () => F(e));
|
|
2566
|
+
_.set("shared", g), y = !0;
|
|
2512
2567
|
try {
|
|
2513
|
-
W(
|
|
2568
|
+
W(n).call(g).on("dblclick.zoom", null).call(g.transform, a.value);
|
|
2514
2569
|
} finally {
|
|
2515
2570
|
y = !1;
|
|
2516
2571
|
}
|
|
2517
|
-
}
|
|
2572
|
+
},
|
|
2573
|
+
prepareForDataChange: L
|
|
2518
2574
|
};
|
|
2519
2575
|
}
|
|
2520
2576
|
//#endregion
|
|
2521
2577
|
//#region src/components/core/useWaveformChartLifecycle.ts
|
|
2522
|
-
function
|
|
2578
|
+
function Lr(e) {
|
|
2523
2579
|
return e instanceof Element && !!e.closest("button, input, select, textarea, [contenteditable]:not([contenteditable=\"false\"])");
|
|
2524
2580
|
}
|
|
2525
|
-
function
|
|
2526
|
-
let { props: t, emit: n, container: r, titleMeasureElement: i, resizeObserver: a, observedWidth: o, observedHeight: s, measuredTitleWidth: c, measuredTitleHeight: l, resolvedTitleText: u, titleAreaReserved: d, titleMeasureStyle: p, spacePressed: m, pointerInsideChart: _, currentPage: v, pageCount: y, pagedTracks: b, gridOptions: x, chartSeries: S, chartTracks: C, trackLayouts: w, innerWidth: T, innerHeight: E, sharedZoomDomain: D, initialXDomain: k, sharedTransform: A, activeInteractionMode: j, hiddenSeriesIdSet: M, internalHiddenSeriesIds: N, independentTransforms: P, independentYDomains: F, resolveInitialTrackDomain: I, annotationInteraction: L, editorSeriesOptions: R, isPresentationMode: z, clearHover: B, cancelAnnotation: V, configureZoom: H, resetViewport: U, cancelViewportDrag: W, cancelPendingHover:
|
|
2527
|
-
function
|
|
2528
|
-
z.value || e.code !== "Space" || !t.pannable || !_.value ||
|
|
2581
|
+
function Rr(e) {
|
|
2582
|
+
let { props: t, emit: n, container: r, titleMeasureElement: i, resizeObserver: a, observedWidth: o, observedHeight: s, measuredTitleWidth: c, measuredTitleHeight: l, resolvedTitleText: u, titleAreaReserved: d, titleMeasureStyle: p, spacePressed: m, pointerInsideChart: _, currentPage: v, pageCount: y, pagedTracks: b, gridOptions: x, chartSeries: S, chartTracks: C, trackLayouts: w, innerWidth: T, innerHeight: E, sharedZoomDomain: D, initialXDomain: k, sharedTransform: A, activeInteractionMode: j, hiddenSeriesIdSet: M, internalHiddenSeriesIds: N, independentTransforms: P, independentYDomains: F, resolveInitialTrackDomain: I, annotationInteraction: L, editorSeriesOptions: R, isPresentationMode: z, clearHover: B, cancelAnnotation: V, configureZoom: H, resetViewport: U, cancelViewportDrag: W, cancelPendingHover: G, clearZoomBindings: ee } = e;
|
|
2583
|
+
function te(e) {
|
|
2584
|
+
z.value || e.code !== "Space" || !t.pannable || !_.value || Lr(e.target) || (m.value = !0, e.preventDefault());
|
|
2529
2585
|
}
|
|
2530
|
-
function
|
|
2586
|
+
function ne(e) {
|
|
2531
2587
|
e.code === "Space" && (m.value = !1);
|
|
2532
2588
|
}
|
|
2533
|
-
function
|
|
2589
|
+
function re(e) {
|
|
2534
2590
|
let r = Math.min(y.value, Math.max(1, Math.floor(e)));
|
|
2535
|
-
r !== v.value && (v.value = r, B(), L.closeContextMenu(), V(), t.displayMode === "independent" && (P.value = b.value.map(() =>
|
|
2591
|
+
r !== v.value && (v.value = r, B(), L.closeContextMenu(), V(), t.displayMode === "independent" && (P.value = b.value.map(() => q), F.value = {}), f(H), n("page-change", r, y.value));
|
|
2536
2592
|
}
|
|
2537
|
-
let
|
|
2538
|
-
function
|
|
2593
|
+
let K, J;
|
|
2594
|
+
function ie() {
|
|
2539
2595
|
if (t.displayMode === "independent") {
|
|
2540
|
-
|
|
2596
|
+
K = void 0, J = new Map(w.value.flatMap((e) => {
|
|
2541
2597
|
let t = e.xScale.domain(), n = I(e);
|
|
2542
|
-
return t[1] - t[0] < n[1] - n[0] - 1e-12 ? t :
|
|
2543
|
-
});
|
|
2598
|
+
return t[1] - t[0] < n[1] - n[0] - 1e-12 ? [[kr(e.seriesList.map((e) => e.id)), t]] : [];
|
|
2599
|
+
}));
|
|
2544
2600
|
return;
|
|
2545
2601
|
}
|
|
2546
|
-
|
|
2602
|
+
J = void 0;
|
|
2547
2603
|
let e = D.value, n = k.value;
|
|
2548
|
-
|
|
2604
|
+
K = e[1] - e[0] < n[1] - n[0] - 1e-12 ? [...e] : void 0;
|
|
2549
2605
|
}
|
|
2550
|
-
function
|
|
2606
|
+
function ae() {
|
|
2551
2607
|
if (t.displayMode === "independent") {
|
|
2552
2608
|
let e = P.value;
|
|
2553
|
-
P.value = C.value.map((t, n) => e[n] ??
|
|
2609
|
+
P.value = C.value.map((t, n) => e[n] ?? q);
|
|
2554
2610
|
}
|
|
2555
2611
|
B(), R.value = [], f(() => {
|
|
2556
|
-
if (t.displayMode === "independent" &&
|
|
2557
|
-
let e = C.value.map(() =>
|
|
2612
|
+
if (t.displayMode === "independent" && J) {
|
|
2613
|
+
let e = C.value.map(() => q);
|
|
2558
2614
|
w.value.forEach((n) => {
|
|
2559
|
-
let r =
|
|
2615
|
+
let r = J?.get(kr(n.seriesList.map((e) => e.id)));
|
|
2560
2616
|
if (!r) return;
|
|
2561
2617
|
let i = I(n), a = Er(r, i, [n.seriesList], t);
|
|
2562
2618
|
e[n.index] = Dr(a, i, n.width);
|
|
2563
|
-
}), P.value = e,
|
|
2564
|
-
} else if (t.displayMode !== "independent" &&
|
|
2565
|
-
let e = k.value, n = w.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), r = Er(
|
|
2566
|
-
A.value = Dr(r, e, T.value),
|
|
2619
|
+
}), P.value = e, J = void 0;
|
|
2620
|
+
} else if (t.displayMode !== "independent" && K) {
|
|
2621
|
+
let e = k.value, n = w.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), r = Er(K, e, n, t);
|
|
2622
|
+
A.value = Dr(r, e, T.value), K = void 0;
|
|
2567
2623
|
}
|
|
2568
2624
|
H();
|
|
2569
2625
|
});
|
|
@@ -2602,7 +2658,7 @@ function Nr(e) {
|
|
|
2602
2658
|
}), O(j, () => {
|
|
2603
2659
|
R.value = [];
|
|
2604
2660
|
}), O(z, (e) => {
|
|
2605
|
-
m.value = !1, e && (W(),
|
|
2661
|
+
m.value = !1, e && (W(), ee(), B(), L.closeContextMenu(), V());
|
|
2606
2662
|
}), O(() => S.value.map((e) => e.id).join("\0"), () => {
|
|
2607
2663
|
if (t.hiddenSeriesIds !== void 0) return;
|
|
2608
2664
|
let e = new Set(S.value.map((e) => e.id)), n = new Set(Array.from(N.value).filter((t) => e.has(t)));
|
|
@@ -2621,7 +2677,7 @@ function Nr(e) {
|
|
|
2621
2677
|
let n = L.editorDraft.value;
|
|
2622
2678
|
n?.mode === "edit" && !e.some((e) => e.id === n.annotation.id) && L.closeEditor();
|
|
2623
2679
|
}, { deep: !0 });
|
|
2624
|
-
function
|
|
2680
|
+
function oe() {
|
|
2625
2681
|
if (!d.value || !i.value) {
|
|
2626
2682
|
c.value = 0, l.value = 0;
|
|
2627
2683
|
return;
|
|
@@ -2634,22 +2690,22 @@ function Nr(e) {
|
|
|
2634
2690
|
d,
|
|
2635
2691
|
p
|
|
2636
2692
|
], async () => {
|
|
2637
|
-
c.value = 0, l.value = 0, await f(),
|
|
2693
|
+
c.value = 0, l.value = 0, await f(), oe();
|
|
2638
2694
|
}, { immediate: !0 }), g(() => {
|
|
2639
|
-
window.addEventListener("keydown",
|
|
2640
|
-
o.value = Math.max(0, e?.contentRect.width ?? 0), s.value = Math.max(0, e?.contentRect.height ?? 0), f(
|
|
2695
|
+
window.addEventListener("keydown", te), window.addEventListener("keyup", ne), r.value && (a.value = new ResizeObserver(([e]) => {
|
|
2696
|
+
o.value = Math.max(0, e?.contentRect.width ?? 0), s.value = Math.max(0, e?.contentRect.height ?? 0), f(oe);
|
|
2641
2697
|
}), a.value.observe(r.value));
|
|
2642
2698
|
}), h(() => {
|
|
2643
|
-
window.removeEventListener("keydown",
|
|
2699
|
+
window.removeEventListener("keydown", te), window.removeEventListener("keyup", ne), G(), a.value?.disconnect(), ee(), R.value = [];
|
|
2644
2700
|
}), {
|
|
2645
|
-
goToPage:
|
|
2646
|
-
handleBeforeDataReferenceChange:
|
|
2647
|
-
handleDataReferenceChange:
|
|
2701
|
+
goToPage: re,
|
|
2702
|
+
handleBeforeDataReferenceChange: ie,
|
|
2703
|
+
handleDataReferenceChange: ae
|
|
2648
2704
|
};
|
|
2649
2705
|
}
|
|
2650
2706
|
//#endregion
|
|
2651
2707
|
//#region src/components/core/useWaveformData.ts
|
|
2652
|
-
function
|
|
2708
|
+
function zr(e) {
|
|
2653
2709
|
return ln(e).map(({ source: e, ...t }) => {
|
|
2654
2710
|
let n = e.metrics(t.errorBar.visible);
|
|
2655
2711
|
return {
|
|
@@ -2662,45 +2718,45 @@ function Pr(e) {
|
|
|
2662
2718
|
};
|
|
2663
2719
|
});
|
|
2664
2720
|
}
|
|
2665
|
-
function
|
|
2666
|
-
let r = C(
|
|
2721
|
+
function Br(e, t, n) {
|
|
2722
|
+
let r = C(zr(e()));
|
|
2667
2723
|
return O(e, (e) => {
|
|
2668
|
-
t(), r.value =
|
|
2724
|
+
t(), r.value = zr(e), n();
|
|
2669
2725
|
}), r;
|
|
2670
2726
|
}
|
|
2671
2727
|
//#endregion
|
|
2672
2728
|
//#region wasm/pkg/waveform_sampling_wasm.js
|
|
2673
|
-
function
|
|
2674
|
-
let n =
|
|
2675
|
-
if (o[3]) throw
|
|
2676
|
-
var s =
|
|
2729
|
+
function Vr(e, t) {
|
|
2730
|
+
let n = ti(e, $.__wbindgen_malloc), r = si, i = ti(t, $.__wbindgen_malloc), a = si, o = $.calculate_range(n, r, i, a);
|
|
2731
|
+
if (o[3]) throw ni(o[2]);
|
|
2732
|
+
var s = Kr(o[0], o[1]).slice();
|
|
2677
2733
|
return $.__wbindgen_free(o[0], o[1] * 8, 8), s;
|
|
2678
2734
|
}
|
|
2679
|
-
function
|
|
2680
|
-
let i =
|
|
2681
|
-
if (c[3]) throw
|
|
2682
|
-
var l =
|
|
2735
|
+
function Hr(e, t, n, r) {
|
|
2736
|
+
let i = ti(e, $.__wbindgen_malloc), a = si, o = ti(t, $.__wbindgen_malloc), s = si, c = $.find_visible_range(i, a, o, s, n, r);
|
|
2737
|
+
if (c[3]) throw ni(c[2]);
|
|
2738
|
+
var l = qr(c[0], c[1]).slice();
|
|
2683
2739
|
return $.__wbindgen_free(c[0], c[1] * 4, 4), l;
|
|
2684
2740
|
}
|
|
2685
|
-
function
|
|
2686
|
-
let i =
|
|
2687
|
-
if (c[3]) throw
|
|
2688
|
-
var l =
|
|
2741
|
+
function Ur(e, t, n, r) {
|
|
2742
|
+
let i = ti(e, $.__wbindgen_malloc), a = si, o = ti(t, $.__wbindgen_malloc), s = si, c = $.sample_aggregates(i, a, o, s, n, r);
|
|
2743
|
+
if (c[3]) throw ni(c[2]);
|
|
2744
|
+
var l = Kr(c[0], c[1]).slice();
|
|
2689
2745
|
return $.__wbindgen_free(c[0], c[1] * 8, 8), l;
|
|
2690
2746
|
}
|
|
2691
|
-
function
|
|
2692
|
-
let i =
|
|
2693
|
-
if (c[3]) throw
|
|
2694
|
-
var l =
|
|
2747
|
+
function Wr(e, t, n, r) {
|
|
2748
|
+
let i = ti(e, $.__wbindgen_malloc), a = si, o = ti(t, $.__wbindgen_malloc), s = si, c = $.sample_indexes(i, a, o, s, n, r);
|
|
2749
|
+
if (c[3]) throw ni(c[2]);
|
|
2750
|
+
var l = qr(c[0], c[1]).slice();
|
|
2695
2751
|
return $.__wbindgen_free(c[0], c[1] * 4, 4), l;
|
|
2696
2752
|
}
|
|
2697
|
-
function
|
|
2753
|
+
function Gr() {
|
|
2698
2754
|
return {
|
|
2699
2755
|
__proto__: null,
|
|
2700
2756
|
"./waveform_sampling_wasm_bg.js": {
|
|
2701
2757
|
__proto__: null,
|
|
2702
2758
|
__wbindgen_cast_0000000000000001: function(e, t) {
|
|
2703
|
-
return
|
|
2759
|
+
return Xr(e, t);
|
|
2704
2760
|
},
|
|
2705
2761
|
__wbindgen_init_externref_table: function() {
|
|
2706
2762
|
let e = $.__wbindgen_externrefs, t = e.grow(4);
|
|
@@ -2709,52 +2765,52 @@ function Br() {
|
|
|
2709
2765
|
}
|
|
2710
2766
|
};
|
|
2711
2767
|
}
|
|
2712
|
-
function
|
|
2713
|
-
return e >>>= 0,
|
|
2714
|
-
}
|
|
2715
|
-
function Hr(e, t) {
|
|
2716
|
-
return e >>>= 0, qr().subarray(e / 4, e / 4 + t);
|
|
2717
|
-
}
|
|
2718
|
-
var Ur = null;
|
|
2719
|
-
function Wr() {
|
|
2720
|
-
return (Ur === null || Ur.byteLength === 0) && (Ur = new Float64Array($.memory.buffer)), Ur;
|
|
2768
|
+
function Kr(e, t) {
|
|
2769
|
+
return e >>>= 0, Yr().subarray(e / 8, e / 8 + t);
|
|
2721
2770
|
}
|
|
2722
|
-
function
|
|
2723
|
-
return e >>>= 0,
|
|
2724
|
-
}
|
|
2725
|
-
var Kr = null;
|
|
2726
|
-
function qr() {
|
|
2727
|
-
return (Kr === null || Kr.byteLength === 0) && (Kr = new Uint32Array($.memory.buffer)), Kr;
|
|
2771
|
+
function qr(e, t) {
|
|
2772
|
+
return e >>>= 0, Qr().subarray(e / 4, e / 4 + t);
|
|
2728
2773
|
}
|
|
2729
2774
|
var Jr = null;
|
|
2730
2775
|
function Yr() {
|
|
2731
|
-
return (Jr === null || Jr.byteLength === 0) && (Jr = new
|
|
2776
|
+
return (Jr === null || Jr.byteLength === 0) && (Jr = new Float64Array($.memory.buffer)), Jr;
|
|
2732
2777
|
}
|
|
2733
2778
|
function Xr(e, t) {
|
|
2779
|
+
return e >>>= 0, oi(e, t);
|
|
2780
|
+
}
|
|
2781
|
+
var Zr = null;
|
|
2782
|
+
function Qr() {
|
|
2783
|
+
return (Zr === null || Zr.byteLength === 0) && (Zr = new Uint32Array($.memory.buffer)), Zr;
|
|
2784
|
+
}
|
|
2785
|
+
var $r = null;
|
|
2786
|
+
function ei() {
|
|
2787
|
+
return ($r === null || $r.byteLength === 0) && ($r = new Uint8Array($.memory.buffer)), $r;
|
|
2788
|
+
}
|
|
2789
|
+
function ti(e, t) {
|
|
2734
2790
|
let n = t(e.length * 8, 8) >>> 0;
|
|
2735
|
-
return
|
|
2791
|
+
return Yr().set(e, n / 8), si = e.length, n;
|
|
2736
2792
|
}
|
|
2737
|
-
function
|
|
2793
|
+
function ni(e) {
|
|
2738
2794
|
let t = $.__wbindgen_externrefs.get(e);
|
|
2739
2795
|
return $.__externref_table_dealloc(e), t;
|
|
2740
2796
|
}
|
|
2741
|
-
var
|
|
2797
|
+
var ri = new TextDecoder("utf-8", {
|
|
2742
2798
|
ignoreBOM: !0,
|
|
2743
2799
|
fatal: !0
|
|
2744
2800
|
});
|
|
2745
|
-
|
|
2746
|
-
var
|
|
2747
|
-
function
|
|
2748
|
-
return
|
|
2801
|
+
ri.decode();
|
|
2802
|
+
var ii = 2146435072, ai = 0;
|
|
2803
|
+
function oi(e, t) {
|
|
2804
|
+
return ai += t, ai >= ii && (ri = new TextDecoder("utf-8", {
|
|
2749
2805
|
ignoreBOM: !0,
|
|
2750
2806
|
fatal: !0
|
|
2751
|
-
}),
|
|
2807
|
+
}), ri.decode(), ai = t), ri.decode(ei().subarray(e, e + t));
|
|
2752
2808
|
}
|
|
2753
|
-
var
|
|
2754
|
-
function
|
|
2755
|
-
return $ = e.exports,
|
|
2809
|
+
var si = 0, $;
|
|
2810
|
+
function ci(e, t) {
|
|
2811
|
+
return $ = e.exports, Jr = null, Zr = null, $r = null, $.__wbindgen_start(), $;
|
|
2756
2812
|
}
|
|
2757
|
-
async function
|
|
2813
|
+
async function li(e, t) {
|
|
2758
2814
|
if (typeof Response == "function" && e instanceof Response) {
|
|
2759
2815
|
if (typeof WebAssembly.instantiateStreaming == "function") try {
|
|
2760
2816
|
return await WebAssembly.instantiateStreaming(e, t);
|
|
@@ -2780,17 +2836,17 @@ async function ii(e, t) {
|
|
|
2780
2836
|
return !1;
|
|
2781
2837
|
}
|
|
2782
2838
|
}
|
|
2783
|
-
async function
|
|
2839
|
+
async function ui(e) {
|
|
2784
2840
|
if ($ !== void 0) return $;
|
|
2785
2841
|
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/rSEQIAdBGGohCUGAgICAeAshCCAJIAg2AgACfyAHKAIYIghBgICAgHhGBEBBASEJIBCnDAELIAcgBygCEDYCaCAHQQQ2AmQgByAINgJgIAdBADYCXCAHQoCAgIDAADcCVCAHIAE2AlAgByALNgJMIAcgATYCSCAHIA83A0AgByAKNgI8IAdBgICAgHg2AjAgByAGNgIsIAdBADYCKCAHIAQ5AyAgByAQNwMYIAdBCGogB0EYahAXIAcoAgghCSAHKAIMCyEGIA4gCTYCACAOIAY2AgQgB0HwAGokACANKAIMIQogDSgCCCEGIAMEQCACIANBAnRBBBBHCyABBEAgACABQQN0QQgQRwsgDCAGQQFxIgA2AgggDCAKQQAgABs2AgQgDEEAIAogABs2AgAgDUEQaiQAIAwoAgAgDCgCBCAMKAIIIAxBEGokAAuBIAMmfwV8AX4jAEEQayIPJAAjAEFAaiIKJAAgCiAENgIoIAogAzYCJCAKIAI2AiAgCiABNgIcIAogADYCGCAKIApBKGo2AjwgCiAKQSRqNgI4IAogCkEgajYCNCAKIApBHGo2AjAgCiAKQRhqNgIsIApBDGohHyAKQSxqIQAjAEEQayITJAACQAJAQQBB6IzAACgCABEFACIQRQ0AIBAoAgBFBEAgEEF/NgIAIB8CfgJAIAAoAgAoAgAiASAQKAIMSQRAIBAoAgggAUHYAGxqIgcoAkhBgICAgHhHDQELQfyNwABBHBA/IQAgECAQKAIAQQFqNgIAIBMgADYCCEGAgICAeCEAIBMpAggMAQsgE0EEaiEYIAAoAgQoAgAhAiAAKAIIKAIAIQMgACgCDCgCACEeIAAoAhAoAgAhAEEAIQEjAEEwayIIJAACQAJAAkACQAJAIB5BA2sOBQABAQEAAQtBASAAIABBAU0bIgQgBygCOCIAIAIgACACSRsiGSAAIAMgACADSRsiACAAIBlJGyIgIBlrIhogBCAaSRsiIUEAIAAgAksbIh1BBHQhAgJAAkAgHUEBdCIGQf////8BSyACQfj///8HS3INAAJAIAJFBEBBCCEAQQAhBgwBC0EIIQkgAkEIEEsiAEUNAQsgCEEANgIIIAggADYCBCAIIAY2AgAgHQRAIAdByABqIREDQCAaIBxsICFuIgAgGWoiBSAcQQFqIhwgGmwgIW4iAiAZaiIiTw0DAkAgAiAAa2ciAEEfRg0AIABBH3MhG0EBIQsDQAJAIAcoAlAgC0sEQCAHKAJMIAtBJGxqKAIAQYCAgIB4Rw0BCyAHKAIUQX8CfyAHKAI4IgAgC3YgAEF/IAt0QX9zcUEAR2oiDa1CFH4iMEIgiFAEQCAwpwwBC0F/CyAHKAIQIgJqIgAgACACSRtJDQYgByAANgIQQQAhBgJAAkAgDUH/////AE0EQCANRQRAQQghAUEEIRRBCCEVDAMLQQghBiANQQN0IgBBCBBMIgENASAAIQELIAYgARA9AAsgAEEIEEwiFQRAIA1BAnQiAEEEEEwiFARAIA1BAXQhJCAHKAJMIAtBAWsiAkEkbGohDCAHKAI4IQ4gBygCNCElIAcoAighIyAHKAIsIRYgBysDCCEsIAcrAwAhLSAHKAIkISYgBygCHCEnIAcoAiAhF0EEIQBBACEGIAIgBygCUEkhKCAHKAIYQYCAgIB4RiEpQQAhCSAUIQMDQAJAIAZBAWohBAJAAnwCQAJAAkACQAJAAkACQCAoRQ0AIAwoAgBBgICAgHhGDQAgBiAMKAIIIgJPDQEgACABakEEayAMKAIEIAlqIhIrAwAgAiAESwR8IBJBCGorAwAFRAAAAAAAAAAAC6A5AwAgBiAMKAIUIgJPDQMgACAVakEEayAMKAIQIAlqIhIrAwAgAiAESwR8IBJBCGorAwAFRAAAAAAAAAAAC6A5AwAgBiAMKAIgIgJPDQQgDCgCHCAAaiISQQRrKAIAISogAyACIARLBH8gEigCAAVBAAsgKmo2AgAMCAsCQAJAAkAgKUUEQCAGIBdJDQEgBiAXQfiLwAAQJgALAkAgLSAsICZBgICAgHhGIhIEfyAGBSAGIBZPDQEgACAjakEEaygCAAu4oqAhKyAEIA5JDQJEAAAAAAAAAAAMCgsgBiAWQYiMwAAQJgALIAkgJ2oiAisDACErIAQgDkkNAUQAAAAAAAAAAAwICyAEIQIgEkUNBQwGCyAEIBdPDQEgAkEIaisDAAwGCyAGIAJBrIfAABAmAAsgBkEBaiAXQfiLwAAQJgALIAYgAkG8h8AAECYACyAGIAJBzIfAABAmAAsgBCAWSQRAIAAgI2ooAgAhAgwBCyAGQQFqIBZBiIzAABAmAAsgLSAsIAK4oqALIS4gACABakEEayArIC6gOQMAIAYgDk8NASAJICVqIgIrAwAhLkQAAAAAAAAAACErIAQgDkkiBARAIAJBCGorAwAhKwsgA0ECQQEgBBs2AgAgACAVakEEayAuICugOQMACyAJQRBqIQkgAEEIaiEAIANBBGohAyAGQQJqIgYgJEcNAQwECwsgBiAOQZyHwAAQJgALQQQgABA9AAtBCCAAED0ACyALIAcoAlAiBk8EQAJAIAtBAWoiBiARKAIIIgNNBEAgESAGNgIIIAMgBkYNASADIAZrIQkgESgCBCAGQSRsaiECA0ACQCACKAIAIgBBgICAgHhGDQAgAARAIAJBBGooAgAgAEEDdEEIEEcLIAJBDGooAgAiAARAIAJBEGooAgAgAEEDdEEIEEcLIAJBGGooAgAiAEUNACACQRxqKAIAIABBAnRBBBBHCyACQSRqIQIgCUEBayIJDQALDAELIAYgAyIAayIMIBEoAgAgAGtLBEAgESAAIAxBBEEkEBogESgCCCEACyARKAIEIQ4gDEEDcSIJBEAgACAJaiAGIANrIAlrIQwgDiAAQSRsaiECA0AgAkGAgICAeDYCACACQSRqIQIgCUEBayIJDQALIQALIAMgBmtBfE0EQCAOIABBJGxqIQIDQCACQYCAgIB4NgIAIAJB7ABqQYCAgIB4NgIAIAJByABqQYCAgIB4NgIAIAJBJGpBgICAgHg2AgAgAkGQAWohAiAAQQRqIQAgDEEEayIMDQALCyARIAA2AggLIAcoAlAhBgsgBiALTQ0JAkAgBygCTCALQSRsaiIAKAIAIgJBgICAgHhGDQAgAgRAIAAoAgQgAkEDdEEIEEcLIAAoAgwiAgRAIAAoAhAgAkEDdEEIEEcLIAAoAhgiAkUNACAAKAIcIAJBAnRBBBBHCyAAIA02AiAgACAUNgIcIAAgDTYCGCAAIA02AhQgACAVNgIQIAAgDTYCDCAAIA02AgggACABNgIEIAAgDTYCAAsgCyAbTw0BIAsgCyAbSWoiCyAbTQ0ACwsgBygCNCEMIAcoAjghFCAHKwMIIS4gBysDACEvIAcoAighDiAHKAIsIQYgBygCHCEVIAcoAiAhCyAHKAJMIRYgBygCUCENQQAhCUQAAAAAAAAAACEsIAcoAhhBgICAgHhGIRcgBygCJEGAgICAeEYhG0QAAAAAAAAAACErA0BBASEAAkAgBUEBcSAiIAVrIgJBAklyDQBBAiEAIAVBAnEgAkEESXINAEEEIQAgBUEEcSACQQhJcg0AQQghACAFQQhxIAJBEElyDQBBECEAIAVBEHEgAkEgSXINAEEgIQAgBUEgcSACQcAASXINAEHAACEAIAVBwABxIAJBgAFJcg0AQYABIQAgBUGAAXEgAkGAAklyDQBBgAIhACAFQYACcSACQYAESXINAEGABCEAIAVBgARxIAJBgAhJcg0AQYAIIQAgBUGACHEgAkGAEElyDQBBgBAhACAFQYAQcSACQYAgSXINAEGAICEAIAVBgCBxIAJBgMAASXINAEGAwAAhACAFQYDAAHEgAkGAgAFJcg0AQYCAASEAIAVBgIABcSACQYCAAklyDQBBgIACIQAgBUGAgAJxIAJBgIAESXINAEGAgAQhACAFQYCABHEgAkGAgAhJcg0AQYCACCEAIAVBgIAIcSACQYCAEElyDQBBgIAQIQAgBUGAgBBxIAJBgIAgSXINAEGAgCAhACAFQYCAIHEgAkGAgMAASXINAEGAgMAAIQAgBUGAgMAAcSACQYCAgAFJcg0AQYCAgAEhACAFQYCAgAFxIAJBgICAAklyDQBBgICAAiEAIAVBgICAAnEgAkGAgIAESXINAEGAgIAEIQAgBUGAgIAEcSACQYCAgAhJcg0AQYCAgAghACAFQYCAgAhxIAJBgICAEElyDQBBgICAECEAIAVBgICAEHEgAkGAgIAgSXINAEGAgIAgIQAgBUGAgIAgcSACQYCAgMAASXINAEGAgIDAACEAIAVBgICAwABxIAJBgICAgAFJcg0AQYCAgIABIQAgBUGAgICAAXEgAkGAgICAAklyDQBBgICAgAIhACAFQYCAgIACcSACQYCAgIAESXINAEGAgICABCEAIAVBgICAgARxIAJBAE5yDQAQSgALAkACQAJAAkACQCAAaCICRQRAAnwgF0UEQCAFIAtPDQQgFSAFQQN0aisDAAwBCyAvIC4gGwR/IAUFIAUgBk8NAyAOIAVBAnRqKAIAC7iioAshLSAFIBRPDQMgCUEBaiEJIAwgBUEDdGohAwwFCyACIA1PBEAgAiANQaiMwAAQJgALIBYgAkEkbGoiBCgCAEGAgICAeEcNAwwJCyAFIAZBiIzAABAmAAsgBSALQfiLwAAQJgALIAUgFEGYjMAAECYACwJAIAUgAnYiAiAEKAIIIgNJBEAgAiAEKAIUIgNPDQEgBCgCICIDIAJLBEAgAkEDdCIDIAQoAgRqKwMAIS0gBCgCECADaiEDIAQoAhwgAkECdGooAgAgCWohCQwDCyACIANB2IzAABAmAAsgAiADQbiMwAAQJgALIAIgA0HIjMAAECYACyAsIC2gISwgKyADKwMAoCErIAAgBWoiBSAiSQ0ACyAsIAm4IiyjIS0gCCgCCCIAIAgoAgBGBEAgCBAiCyAIKAIEIABBA3RqIC05AwAgCCAAQQFqIgI2AgggCCgCACACRgRAIAgQIgsgCCgCBCACQQN0aiArICyjICsgHkEDRhs5AwAgCCAAQQJqNgIIIBwgHUcNAAsLIBggCCgCCDYCCCAYIAgpAgA3AgAMAwsgCSACED0ACyAIIAc2AgwgCCAZNgIQIAggIDYCFEEAIQAgGkEAIBogIE0bIgFBGGwhAgJAIAFB1arVKksNAEEIIQYgAgRAQQghACACQQgQSyIGRQ0BIAEhAAsgCEEANgIgIAggBjYCHCAIIAA2AhggCEEANgIoIAggCEEgajYCJCAIIAY2AiwgCEEMaiAIQSRqEBMgCCgCGCEAIBggCCgCHCIBIAgoAiAgHSAeEAcgAARAIAEgAEEYbEEIEEcLIAgoAgAiAEUNAiAIKAIEIABBA3RBCBBHDAILIAAgAhA9AAtB+4rAAEEpED8hACAYQYCAgIB4NgIAIBggADYCBAsgCEEwaiQADAELIAsgBkGMh8AAECYACyAQIBAoAgBBAWo2AgAgEygCBCIAQYGAgIB4Rg0CIBMpAggLNwIEIB8gADYCACATQRBqJAAMAgtBuI7AABA3AAsQNgALAkACQAJ/IAooAgwiAUGAgICAeEYEQEEBIQBBACEBQQAhAyAKKAIQDAELIAooAhAhAAJAIAooAhQiAyABTwRAIAAhAQwBCyABQQN0IQIgA0UEQEEIIQEgACACQQgQRwwBCyAAIAJBCCADQQN0IgAQRCIBRQ0CC0EAIQBBAAshAiAPIAA2AgwgDyACNgIIIA8gAzYCBCAPIAE2AgAgCkFAayQADAELQQggABA9AAsgDygCACAPKAIEIA8oAgggDygCDCAPQRBqJAALugYCC38MfCMAQRBrIgYkACMAQRBrIggkACAIQQRqIQkjAEEQayIKJAAgCkEEaiAAIAEgAiADEAsgCigCCCEHAkACQAJAIAooAgQiDUGAgICAeEYEQCAJQYCAgIB4NgIAIAkgBzYCBAwBCyAJAn8gCigCDCIFRQRAQQghBEEADAELIAcrAwghDyAHKwMAIRACQCAFQQFGBEAgDyERIBAhEgwBCyAHQRhqIQQCfyAFQRhsIgxBMGsiDkEYbiIFQQNxQQNGBEAgECESIA8hESAHDAELQQAgBUEBakEDcWshCyAQIRIgDyERA0AgBCIFQRhqIQQgBUEIaisDACETIBIgBSsDACIUEDshEiAQIBQQPCEQIBEgExA7IREgDyATEDwhDyALQQFqIgsNAAsgBEEYawshBSAOQcgASQ0AIAcgDGohDANAIARByABqIgsrAwAhEyAEQTBqKwMAIRQgBEEYaisDACEVIARB0ABqKwMAIRYgBEE4aisDACEXIARBIGorAwAhGCAEKwMAIRkgESAFKwMgIhoQOyAYEDsgFxA7IBYQOyERIA8gGhA8IBgQPCAXEDwgFhA8IQ8gEiAZEDsgFRA7IBQQOyATEDshEiAQIBkQPCAVEDwgFBA8IBMQPCEQIAshBSAEQeAAaiIEIAxHDQALC0EgQQgQSyIERQ0CIAQgETkDGCAEIA85AxAgBCASOQMIIAQgEDkDAEEECyIFNgIIIAkgBDYCBCAJIAU2AgAgDUUNACAHIA1BGGxBCBBHCyAKQRBqJAAMAQtBCEEgEE4ACyADBEAgAiADQQN0QQgQRwsgAQRAIAAgAUEDdEEIEEcLAkACQAJ/IAgoAgQiAUGAgICAeEYEQEEBIQJBACEBQQAhAyAIKAIIDAELIAgoAgghAAJAIAgoAgwiAyABTwRAIAAhAQwBCyABQQN0IQIgA0UEQEEIIQEgACACQQgQRwwBCyAAIAJBCCADQQN0IgAQRCIBRQ0CC0EAIQJBAAshACAGIAI2AgwgBiAANgIIIAYgAzYCBCAGIAE2AgAgCEEQaiQADAELQQggABA9AAsgBigCACAGKAIEIAYoAgggBigCDCAGQRBqJAALswEBAn8jAEEQayIAJAAgASgCAEHkkcAAQQsgASgCBCgCDBECACEDIABBCGoiAkEAOgAFIAIgAzoABCACIAE2AgAgAiIBLQAEIQIgAS0ABQRAIAECf0EBIAJBAXENABogASgCACIBLQAKQYABcUUEQCABKAIAQaWSwABBAiABKAIEKAIMEQIADAELIAEoAgBBpJLAAEEBIAEoAgQoAgwRAgALIgI6AAQLIAJBAXEgAEEQaiQAC78GAwp/An4DfCMAQRBrIgskACMAQRBrIgwkACAMQQhqIQ4gACEIIwBB8ABrIgUkAAJAAkACQAJ/IAEgA0cEQEHXi8AAQSEQP60hD0GAgICAeCENIAVBGGoMAQsCfyABRQRAQYCAgIB4IQpBCCEGQQAMAQsgAUEDdCEJIAghByACIQYCQAJAAkADQAJAIAcpAwBC////////////AINC//////////f/AFYNACAGKQMAQv///////////wCDQv/////////3/wBWDQAgB0EIaiEHIAZBCGohBiAKQQFqIgogAUcNAQwCCwsgASAKSw0BCyABQQFGDQEgCCABQQFrIgdBA3RqKwMAIAgrAwChIAe4oyERDAELQaSLwABBMxA/rSEPQYCAgIB4IQ0gBUEYagwCC0EAIQdBACEGAn8DQEGAgICAeCAHIAlGDQEaIAcgCGogBrghEiAHQQhqIQcgBkEBaiEGKwMAIhMgESASoiAIKwMAoCISoZkgE5kgEpkQO0QAAAAAAADwPxA7RAAAAAAAACA9omUNAAsgCUEIEEsiB0UNAyAJBEAgByAIIAn8CgAACyAHrSABrUIghoQhECABCyEKIAlBCBBLIgZFDQMgCQRAIAYgAiAJ/AoAAAsgCCkDACEPIAELIQggBUEANgIYIAVBEGoLIA02AgACfyAFKAIYIgdBgICAgHhGBEBBASEGIA+nDAELIAUgBSgCEDYCaCAFQQQ2AmQgBSAHNgJgIAVBADYCXCAFQoCAgIDAADcCVCAFIAE2AlAgBSAGNgJMIAUgCDYCSCAFQYCAgIB4NgI8IAUgEDcCNCAFIAo2AjAgBSAENgIsIAVBADYCKCAFIBE5AyAgBSAPNwMYIAVBCGogBUEYahAXIAUoAgghBiAFKAIMCyEEIA4gBjYCACAOIAQ2AgQgBUHwAGokAAwCC0EIIAkQPQALQQggCRA9AAsgDCgCDCEIIAwoAgghBCADBEAgAiADQQN0QQgQRwsgAQRAIAAgAUEDdEEIEEcLIAsgBEEBcSIANgIIIAsgCEEAIAAbNgIEIAtBACAIIAAbNgIAIAxBEGokACALKAIAIAsoAgQgCygCCCALQRBqJAALLwEBfyMAQRBrIgAkACAAIABBD2qtQoCAgIDAAIQ3AwBBz4HAACAAQciOwAAQKQALLAEBfyMAQRBrIgEkACABIAFBD2qtQoCAgIDQAoQ3AwBBmILAACABIAAQKQALGQEBfyAAQQQQSyIBRQRAQQQgABBOAAsgAQscAQF/IAAoAgAiAUEASgRAIAAoAgQgAUEBEEcLCxkBAX8gACgCACIBBEAgACgCBCABQQEQRwsLFAAgASABIAAgACABYxsgACAAYhsLFAAgACAAIAEgACABYxsgASABYhsLHQAgAARAIAAgARBOAAtBgJLAAEEjQZSSwAAQKQALEQAgACABQQF0QQFyIAIQKQAL/gICA38BbyAAIAEQASEFAn8jAEEQayIDJAACQEH4lcAAKAIARQRAQfiVwABBfzYCAEGIlsAAKAIAIgFBhJbAACgCACIARgRAAn8gASABQfyVwAAoAgAiAEcNABrQb0GAASABIAFBgAFNGyIC/A8BIgBBf0YNAwJAQYyWwAAoAgAiBEUEQEGMlsAAIAA2AgAMAQsgASAEaiAARw0ECyABQfyVwAAoAgAiACABayACTw0AGiADQQRqIABBgJbAACgCACABIAJqIgBBBEEEEBwgAygCBEEBRg0DQYCWwAAgAygCCDYCAEH8lcAAIAA2AgBBhJbAACgCAAsiAiAATw0CQYCWwAAoAgAgAkECdGogAUEBajYCAEGElsAAIAJBAWoiADYCAAsgACABTQ0BQYiWwABBgJbAACgCACABQQJ0aigCADYCAEH4lcAAQfiVwAAoAgBBAWo2AgBBjJbAACgCACADQRBqJAAgAWoMAgtBxI/AABA3CwALIgAgBSYBIAALDwAgAQRAIAAgASACEEcLCxwAIABBzJDAACkCADcCCCAAQcSQwAApAgA3AgALHAAgAEG8kMAAKQIANwIIIABBtJDAACkCADcCAAsWACAAKAIAIAEgAiAAKAIEKAIMEQIAC+cGAQV/An8CQAJAAkACQAJAAkACQCAAQQRrIgcoAgAiCEF4cSIEQQRBCCAIQQNxIgUbIAFqTwRAIAVBACABQSdqIgYgBEkbDQECQCACQQlPBEAgAiADEBAiAg0BQQAMCgtBACECIANBzP97Sw0IQRAgA0ELakF4cSADQQtJGyEBIABBCGshBiAFRQRAIAZFIAFBgAJJciAEIAFrQYCACEsgASAET3JyDQcgAAwKCyAEIAZqIQUCQCABIARLBEAgBUHgmcAAKAIARg0BQdyZwAAoAgAgBUcEQCAFKAIEIghBAnENCSAIQXhxIgggBGoiBCABSQ0JIAUgCBARIAQgAWsiBUEQTwRAIAcgASAHKAIAQQFxckECcjYCACABIAZqIgEgBUEDcjYCBCAEIAZqIgQgBCgCBEEBcjYCBCABIAUQDAwJCyAHIAQgBygCAEEBcXJBAnI2AgAgBCAGaiIBIAEoAgRBAXI2AgQMCAtB1JnAACgCACAEaiIEIAFJDQgCQCAEIAFrIgVBD00EQCAHIAhBAXEgBHJBAnI2AgAgBCAGaiIBIAEoAgRBAXI2AgRBACEFQQAhAQwBCyAHIAEgCEEBcXJBAnI2AgAgASAGaiIBIAVBAXI2AgQgBCAGaiIEIAU2AgAgBCAEKAIEQX5xNgIEC0HcmcAAIAE2AgBB1JnAACAFNgIADAcLIAQgAWsiBEEPTQ0GIAcgASAIQQFxckECcjYCACABIAZqIgEgBEEDcjYCBCAFIAUoAgRBAXI2AgQgASAEEAwMBgtB2JnAACgCACAEaiIEIAFLDQQMBgsgAyABIAEgA0sbIgMEQCACIAAgA/wKAAALIAcoAgAiA0F4cSIHIAFBBEEIIANBA3EiAxtqSQ0CIANFIAYgB09yDQZBlJHAAEEuQcSRwAAQPgALQdSQwABBLkGEkcAAED4AC0GUkcAAQS5BxJHAABA+AAtB1JDAAEEuQYSRwAAQPgALIAcgASAIQQFxckECcjYCACABIAZqIgUgBCABayIBQQFyNgIEQdiZwAAgATYCAEHgmcAAIAU2AgALIAZFDQAgAAwDCyADEAIiAUUNASADQXxBeCAHKAIAIgJBA3EbIAJBeHFqIgIgAiADSxsiAgRAIAEgACAC/AoAAAsgASECCyAAEAgLIAILCxMAIABB1JHAADYCBCAAIAE2AgALEAAgASAAKAIAIAAoAgQQQwtfAQF/AkACQCAAQQRrKAIAIgJBeHEiA0EEQQggAkEDcSICGyABak8EQCACQQAgAyABQSdqSxsNASAAEAgMAgtB1JDAAEEuQYSRwAAQPgALQZSRwABBLkHEkcAAED4ACwsPACAAQeSPwAAgASACEAoLDgBBp5LAAEErIAAQPgALEgBBmpTAAEHzAEGsicAAECkACxkAAn8gAUEJTwRAIAEgABAQDAELIAAQAgsLPgACQAJ/IAFBCU8EQCABIAAQEAwBCyAAEAILIgFFDQAgAUEEay0AAEEDcUUgAEVyDQAgAUEAIAD8CwALIAELDAAgACABKQIANwMACz0BAX8jAEEQayICJAAgAiABNgIMIAIgADYCCCACQQhqIgAoAgAgACgCBEGglsAAKAIAIgBBAyAAGxEAAAALDQAgAUHQlcAAQRgQCQsNACABQbCVwABBIBAJCwwAQfiZwABBAToAAAsJACAAQQA2AgALBwBB6JXAAAsLhBYDAEGAgMAAC+gVFnNsaWNlIGluZGV4IHN0YXJ0cyBhdCDADSBidXQgZW5kcyBhdCDAACBpbmRleCBvdXQgb2YgYm91bmRzOiB0aGUgbGVuIGlzIMASIGJ1dCB0aGUgaW5kZXggaXMgwAAScmFuZ2Ugc3RhcnQgaW5kZXggwCIgb3V0IG9mIHJhbmdlIGZvciBzbGljZSBvZiBsZW5ndGggwAAQcmFuZ2UgZW5kIGluZGV4IMAiIG91dCBvZiByYW5nZSBmb3Igc2xpY2Ugb2YgbGVuZ3RoIMAASGNhbm5vdCBhY2Nlc3MgYSBUaHJlYWQgTG9jYWwgU3RvcmFnZSB2YWx1ZSBkdXJpbmcgb3IgYWZ0ZXIgZGVzdHJ1Y3Rpb246IMAAL3J1c3RjLzU5ODA3NjE2ZTFmYTI1NDA3MjRiZmJhYzE0ZDc5NzZkN2U0YTM4NjAvbGlicmFyeS9jb3JlL3NyYy9zbGljZS9zb3J0L3NoYXJlZC9zbWFsbHNvcnQucnMAL3J1c3RjLzU5ODA3NjE2ZTFmYTI1NDA3MjRiZmJhYzE0ZDc5NzZkN2U0YTM4NjAvbGlicmFyeS9jb3JlL3NyYy9zbGljZS9zb3J0L3N0YWJsZS9xdWlja3NvcnQucnMAL3J1c3RjLzU5ODA3NjE2ZTFmYTI1NDA3MjRiZmJhYzE0ZDc5NzZkN2U0YTM4NjAvbGlicmFyeS9zdGQvc3JjL3RocmVhZC9sb2NhbC5ycwAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi93YXNtLWJpbmRnZW4tMC4yLjExOC9zcmMvZXh0ZXJucmVmLnJzAC9ydXN0Yy81OTgwNzYxNmUxZmEyNTQwNzI0YmZiYWMxNGQ3OTc2ZDdlNGEzODYwL2xpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMvbW9kLnJzAC9ydXN0L2RlcHMvZGxtYWxsb2MtMC4yLjExL3NyYy9kbG1hbGxvYy5ycwBzcmMvbGliLnJzAAAAAA4DEAAKAAAA0gAAABkAAAAOAxAACgAAANoAAAAaAAAADgMQAAoAAADaAAAAPQAAAA4DEAAKAAAAyQAAAB0AAAAOAxAACgAAAKoAAAAQAAAADgMQAAoAAACqAAAAIgAAAA4DEAAKAAAArQAAACIAAAAOAxAACgAAABcCAAAcAAAADgMQAAoAAAALAgAAJgAAAA4DEAAKAAAA8gEAACoAAAAOAxAACgAAAPgBAAAqAAAADgMQAAoAAAD+AQAAMgAAAA4DEAAKAAAAkgEAAA8AAAAOAxAACgAAAJIBAAAsAAAADgMQAAoAAACNAQAADwAAAA4DEAAKAAAAjQEAACwAAABzb3VyY2UgaW5kZXhlcyBtdXN0IGJlIGVtcHR5IG9yIG5vbmRlY3JlYXNpbmdzYW1wbGUgdmFsdWVzIG11c3QgYmUgZmluaXRlIGFuZCBhZGRyZXNzYWJsZXNhbXBsZSBtZXRhZGF0YSBtdXN0IGJlIGZpbml0ZSBhbmQgc2FtcGxlUmF0ZSBwb3NpdGl2ZQAOAxAACgAAABYBAAAkAAAADgMQAAoAAAAuAgAAMAAAAA4DEAAKAAAALwIAAB8AAAAOAxAACgAAAC8CAAA1AAAADgMQAAoAAADWAQAAIAAAAA4DEAAKAAAAsQEAAC0AAAAOAxAACgAAALIBAAAtAAAAaW50ZXJuYWwgZXJyb3I6IGVudGVyZWQgdW5yZWFjaGFibGUgY29kZQ4DEAAKAAAAmgIAABYAAABzdHJhdGVneSBkb2VzIG5vdCByZXR1cm4gc291cmNlIGluZGV4ZXNzdHJhdGVneSBkb2VzIG5vdCByZXR1cm4gYWdncmVnYXRlIHZhbHVlc3JlZ2lzdGVyZWQgZGF0YXNldHMgbXVzdCBjb250YWluIGZpbml0ZSBjb29yZGluYXRlc3ggYW5kIHkgbXVzdCBoYXZlIHRoZSBzYW1lIGxlbmd0aA4DEAAKAAAAdgEAABIAAAAOAxAACgAAAHMBAAA8AAAADgMQAAoAAABMAgAAHAAAAA4DEAAKAAAATwIAACwAAAAOAxAACgAAAFACAAAdAAAADgMQAAoAAABRAgAAHQAAAA4DEAAKAAAAUgIAACUAAAABAAAADgMQAAoAAACUAAAAEgAAAA4DEAAKAAAAggAAABAAAAAOAxAACgAAAIIAAAAiAAAADgMQAAoAAACFAAAAIgAAAA4DEAAKAAAAAQEAAB0AAAAOAxAACgAAABwDAAAlAAAADgMQAAoAAABJAAAAQwAAAA4DEAAKAAAALQMAAA4AAAAOAxAACgAAACYDAAAnAAAAZGF0YXNldCBoYW5kbGUgd2FzIG5vdCBmb3VuZA4DEAAKAAAAPwMAACUAAAAOAxAACgAAAAoDAAAlAAAADgMQAAoAAABRAwAAJQAAANoBEABPAAAA3wEAABkAAABtaWQgPiBsZW4AAAB6ARAAXwAAAE0AAAAfAAAAegEQAF8AAABHAAAAFwAAAA4DEAAKAAAAfwEAABoAAAAOAxAACgAAAPMAAAAWAAAADgMQAAoAAABJAAAAQwAAAA4DEAAKAAAASQAAAEMAAAAqAhAAZwAAAHwAAAARAAAAKgIQAGcAAACJAAAAEQAAAAUAAAAMAAAABAAAAAYAAAAHAAAACAAAAAAAAAAIAAAABAAAAAkAAAAKAAAACwAAAAwAAAANAAAAEAAAAAQAAAAOAAAADwAAABAAAAARAAAAbV3L1ixQ62N4QaZXcRuLuRWiXFU0VQfUU3itgVHwo/dhc3NlcnRpb24gZmFpbGVkOiBwc2l6ZSA+PSBzaXplICsgbWluX292ZXJoZWFkAADjAhAAKgAAALEEAAAJAAAAYXNzZXJ0aW9uIGZhaWxlZDogcHNpemUgPD0gc2l6ZSArIG1heF9vdmVyaGVhZAAA4wIQACoAAAC3BAAADQAAAAAAAAAIAAAABAAAABIAAABBY2Nlc3NFcnJvcgAFAAAADAAAAAQAAAATAAAAY2FwYWNpdHkgb3ZlcmZsb3cAAACSAhAAUAAAABwAAAAFAAAAfSB9Y2FsbGVkIGBPcHRpb246OnVud3JhcCgpYCBvbiBhIGBOb25lYCB2YWx1ZTAwMDEwMjAzMDQwNTA2MDcwODA5MTAxMTEyMTMxNDE1MTYxNzE4MTkyMDIxMjIyMzI0MjUyNjI3MjgyOTMwMzEzMjMzMzQzNTM2MzczODM5NDA0MTQyNDM0NDQ1NDY0NzQ4NDk1MDUxNTI1MzU0NTU1NjU3NTg1OTYwNjE2MjYzNjQ2NTY2Njc2ODY5NzA3MTcyNzM3NDc1NzY3Nzc4Nzk4MDgxODI4Mzg0ODU4Njg3ODg4OTkwOTE5MjkzOTQ5NTk2OTc5ODk5YXR0ZW1wdCB0byBjYWxjdWxhdGUgdGhlIHJlbWFpbmRlciB3aXRoIGEgZGl2aXNvciBvZiB6ZXJvdXNlci1wcm92aWRlZCBjb21wYXJpc29uIGZ1bmN0aW9uIGRvZXMgbm90IGNvcnJlY3RseSBpbXBsZW1lbnQgYSB0b3RhbCBvcmRlcgAaARAAXwAAAFwDAAAFAAAAUmVmQ2VsbCBhbHJlYWR5IG11dGFibHkgYm9ycm93ZWRSZWZDZWxsIGFscmVhZHkgYm9ycm93ZWQAQfCVwAALAQgAQYCWwAALAQQAfAlwcm9kdWNlcnMCCGxhbmd1YWdlAQRSdXN0AAxwcm9jZXNzZWQtYnkDBXJ1c3RjHTEuOTUuMCAoNTk4MDc2MTZlIDIwMjYtMDQtMTQpBndhbHJ1cwYwLjI2LjEMd2FzbS1iaW5kZ2VuEzAuMi4xMTggKDc1M2JiN2ZmNCkAaw90YXJnZXRfZmVhdHVyZXMGKw9tdXRhYmxlLWdsb2JhbHMrE25vbnRyYXBwaW5nLWZwdG9pbnQrC2J1bGstbWVtb3J5KwhzaWduLWV4dCsPcmVmZXJlbmNlLXR5cGVzKwptdWx0aXZhbHVl", "" + import.meta.url));
|
|
2786
|
-
let t =
|
|
2842
|
+
let t = Gr();
|
|
2787
2843
|
(typeof e == "string" || typeof Request == "function" && e instanceof Request || typeof URL == "function" && e instanceof URL) && (e = fetch(e));
|
|
2788
|
-
let { instance: n, module: r } = await
|
|
2789
|
-
return
|
|
2844
|
+
let { instance: n, module: r } = await li(await e, t);
|
|
2845
|
+
return ci(n, r);
|
|
2790
2846
|
}
|
|
2791
2847
|
//#endregion
|
|
2792
2848
|
//#region src/core/wasmSampling.ts
|
|
2793
|
-
var
|
|
2849
|
+
var di = {
|
|
2794
2850
|
none: 0,
|
|
2795
2851
|
peak: 1,
|
|
2796
2852
|
lttb: 2,
|
|
@@ -2799,24 +2855,24 @@ var oi = {
|
|
|
2799
2855
|
max: 5,
|
|
2800
2856
|
minmax: 6,
|
|
2801
2857
|
sum: 7
|
|
2802
|
-
},
|
|
2803
|
-
function
|
|
2858
|
+
}, fi;
|
|
2859
|
+
function pi(e, t) {
|
|
2804
2860
|
return t === 0 ? 0 : Number.isFinite(e) ? Math.min(t, Math.max(1, Math.floor(e))) : t;
|
|
2805
2861
|
}
|
|
2806
|
-
function
|
|
2862
|
+
function mi(e) {
|
|
2807
2863
|
if (e.x.length !== e.y.length) throw Error("x and y must have the same length");
|
|
2808
2864
|
}
|
|
2809
|
-
function
|
|
2810
|
-
return
|
|
2865
|
+
function hi(e) {
|
|
2866
|
+
return fi ??= Promise.resolve(ui(e)).then(() => void 0), fi;
|
|
2811
2867
|
}
|
|
2812
|
-
async function
|
|
2813
|
-
|
|
2814
|
-
let t =
|
|
2868
|
+
async function gi(e) {
|
|
2869
|
+
mi(e), await hi();
|
|
2870
|
+
let t = pi(e.targetPointCount, e.x.length), n = di[e.strategy];
|
|
2815
2871
|
if (e.strategy !== "average" && e.strategy !== "sum") return {
|
|
2816
2872
|
kind: "source-indexes",
|
|
2817
|
-
sourceIndexes:
|
|
2873
|
+
sourceIndexes: Wr(e.x, e.y, n, t)
|
|
2818
2874
|
};
|
|
2819
|
-
let r =
|
|
2875
|
+
let r = Ur(e.x, e.y, n, t), i = new Float64Array(r.length / 2), a = new Float64Array(r.length / 2);
|
|
2820
2876
|
for (let e = 0; e < i.length; e += 1) i[e] = r[e * 2], a[e] = r[e * 2 + 1];
|
|
2821
2877
|
return {
|
|
2822
2878
|
kind: "aggregates",
|
|
@@ -2824,34 +2880,34 @@ async function di(e) {
|
|
|
2824
2880
|
y: a
|
|
2825
2881
|
};
|
|
2826
2882
|
}
|
|
2827
|
-
async function
|
|
2883
|
+
async function _i(e, t) {
|
|
2828
2884
|
if (e.length !== t.length) throw Error("x and y must have the same length");
|
|
2829
|
-
await
|
|
2830
|
-
let n =
|
|
2885
|
+
await hi();
|
|
2886
|
+
let n = Vr(e, t);
|
|
2831
2887
|
return n.length === 4 ? {
|
|
2832
2888
|
x: [n[0], n[1]],
|
|
2833
2889
|
y: [n[2], n[3]]
|
|
2834
2890
|
} : void 0;
|
|
2835
2891
|
}
|
|
2836
|
-
async function
|
|
2892
|
+
async function vi(e, t, n) {
|
|
2837
2893
|
if (e.length !== t.length) throw Error("x and y must have the same length");
|
|
2838
|
-
await
|
|
2839
|
-
let r =
|
|
2894
|
+
await hi();
|
|
2895
|
+
let r = Hr(e, t, n[0], n[1]);
|
|
2840
2896
|
return [r[0], r[1]];
|
|
2841
2897
|
}
|
|
2842
2898
|
//#endregion
|
|
2843
2899
|
//#region src/components/core/trackPagination.ts
|
|
2844
|
-
var
|
|
2900
|
+
var yi = (e, t) => t ? e.filter((e) => e.series.length > 0) : e, bi = (e, t, n, r, i) => {
|
|
2845
2901
|
let a = t?.[i];
|
|
2846
2902
|
if (a !== void 0) return a;
|
|
2847
2903
|
if (e !== void 0) return n === 1 ? e : typeof e == "number" ? e + r : `${e}-${r + 1}`;
|
|
2848
|
-
},
|
|
2904
|
+
}, xi = (e, t, n) => (r) => {
|
|
2849
2905
|
let i = n(), a = i.findIndex((e) => e.id === r);
|
|
2850
|
-
return
|
|
2906
|
+
return bi(e(), t(), i.length, a >= 0 ? a : 0, r);
|
|
2851
2907
|
};
|
|
2852
2908
|
//#endregion
|
|
2853
2909
|
//#region src/components/core/useWaveformLayout.ts
|
|
2854
|
-
function
|
|
2910
|
+
function Si(e) {
|
|
2855
2911
|
let { props: n, preparedSeries: r, currentPage: i, hiddenSeriesIdSet: a, chartWidth: o, innerHeight: s, isCleanView: c, sharedTransform: l, independentTransforms: u, sharedYDomains: d, independentYDomains: f, annotationInteraction: p, linePointOverrides: m } = e, h = t(() => r.value.map((e, t) => ({
|
|
2856
2912
|
...e,
|
|
2857
2913
|
color: e.color ?? (t === 0 ? n.lineColor : Vt[t % Vt.length])
|
|
@@ -2874,7 +2930,7 @@ function _i(e) {
|
|
|
2874
2930
|
yDomain: o.length ? ht(o) : [0, 1]
|
|
2875
2931
|
};
|
|
2876
2932
|
});
|
|
2877
|
-
}), v = t(() => Tn(n.rendering)), y = t(() =>
|
|
2933
|
+
}), v = t(() => Tn(n.rendering)), y = t(() => yi(_.value, g.value.hideEmptyTracks)), b = t(() => Vn(y.value.length, g.value)), x = t(() => Hn(y.value, i.value, g.value)), S = t(() => {
|
|
2878
2934
|
let e = x.value.filter((e) => e.series.length > 0);
|
|
2879
2935
|
return g.value.fillIncompleteLastRow && e.length > 0 ? e : x.value;
|
|
2880
2936
|
}), C = t(() => {
|
|
@@ -2934,7 +2990,7 @@ function _i(e) {
|
|
|
2934
2990
|
...e,
|
|
2935
2991
|
series: t,
|
|
2936
2992
|
yScale: e.seriesPaths.find((e) => e.series.id === t.id)?.yScale ?? e.yScale
|
|
2937
|
-
})),
|
|
2993
|
+
})), G = (e, t) => e.seriesPaths.find((e) => e.series.id === t)?.yScale ?? e.yScale, ee = t(() => H.value.flatMap(W));
|
|
2938
2994
|
return {
|
|
2939
2995
|
chartSeries: h,
|
|
2940
2996
|
chartTracks: _,
|
|
@@ -2957,9 +3013,9 @@ function _i(e) {
|
|
|
2957
3013
|
gridCells: V,
|
|
2958
3014
|
trackLayouts: H,
|
|
2959
3015
|
annotationLayoutsForTrack: W,
|
|
2960
|
-
resolveSeriesYScale:
|
|
2961
|
-
annotationTrackLayouts:
|
|
2962
|
-
renderedAnnotations: t(() => n.annotationsVisible ? Me(n.annotations,
|
|
3016
|
+
resolveSeriesYScale: G,
|
|
3017
|
+
annotationTrackLayouts: ee,
|
|
3018
|
+
renderedAnnotations: t(() => n.annotationsVisible ? Me(n.annotations, ee.value, A.value, s.value) : []),
|
|
2963
3019
|
editorSeries: t(() => {
|
|
2964
3020
|
let e = p.editorDraft.value?.annotation.seriesId, t = h.value.find((t) => t.id === e);
|
|
2965
3021
|
return t ? {
|
|
@@ -2969,16 +3025,16 @@ function _i(e) {
|
|
|
2969
3025
|
unit: t.unit
|
|
2970
3026
|
} : void 0;
|
|
2971
3027
|
}),
|
|
2972
|
-
resolveFrameNumber:
|
|
3028
|
+
resolveFrameNumber: xi(() => n.frameNumber, () => n.frameNumbers, () => _.value)
|
|
2973
3029
|
};
|
|
2974
3030
|
}
|
|
2975
|
-
var
|
|
2976
|
-
function
|
|
3031
|
+
var Ci = 1e-6;
|
|
3032
|
+
function wi(e) {
|
|
2977
3033
|
return Number.isFinite(e) ? Math.max(1, e) : 1;
|
|
2978
3034
|
}
|
|
2979
|
-
function
|
|
2980
|
-
let i =
|
|
2981
|
-
if (!(d >
|
|
3035
|
+
function Ti({ naturalWidth: e, naturalHeight: t, availableWidth: n, rotation: r }) {
|
|
3036
|
+
let i = wi(e), a = wi(t), o = wi(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;
|
|
3037
|
+
if (!(d > Ci && Math.abs(d - 360) > Ci)) {
|
|
2982
3038
|
let e = Math.max(1, Math.ceil(i / o)), t = o, n = a * e;
|
|
2983
3039
|
return {
|
|
2984
3040
|
textWidth: t,
|
|
@@ -3003,7 +3059,7 @@ function bi({ naturalWidth: e, naturalHeight: t, availableWidth: n, rotation: r
|
|
|
3003
3059
|
}
|
|
3004
3060
|
//#endregion
|
|
3005
3061
|
//#region src/components/core/useWaveformPresentation.ts
|
|
3006
|
-
function
|
|
3062
|
+
function Ei(e) {
|
|
3007
3063
|
let { props: n, observedWidth: r, observedHeight: i, measuredTitleWidth: a, measuredTitleHeight: o, internalHiddenSeriesIds: s, paginationBandHeight: c } = e, l = t(() => Number.isFinite(n.width) ? Math.max(0, n.width ?? 0) : void 0), u = t(() => Number.isFinite(n.height) ? Math.max(180, n.height ?? 0) : void 0), d = t(() => r.value > 0 ? r.value : l.value ?? 0), f = t(() => i.value > 0 ? i.value : u.value ?? 180), p = t(() => ({
|
|
3008
3064
|
width: l.value === void 0 ? "100%" : `${l.value}px`,
|
|
3009
3065
|
height: u.value === void 0 ? "100%" : `${u.value}px`
|
|
@@ -3048,7 +3104,7 @@ function xi(e) {
|
|
|
3048
3104
|
maxWidth: O.value ? "none" : `${j.value}px`,
|
|
3049
3105
|
whiteSpace: O.value ? "nowrap" : "normal",
|
|
3050
3106
|
overflowWrap: O.value ? "normal" : "anywhere"
|
|
3051
|
-
})), N = t(() =>
|
|
3107
|
+
})), N = t(() => Ti({
|
|
3052
3108
|
naturalWidth: a.value || A.value,
|
|
3053
3109
|
naturalHeight: o.value || E.value * 1.2,
|
|
3054
3110
|
availableWidth: j.value,
|
|
@@ -3104,66 +3160,66 @@ function xi(e) {
|
|
|
3104
3160
|
}
|
|
3105
3161
|
//#endregion
|
|
3106
3162
|
//#region src/core/samplingReferenceValues.ts
|
|
3107
|
-
function
|
|
3163
|
+
function Di(e, t) {
|
|
3108
3164
|
return t === 0 ? 0 : Number.isFinite(e) ? Math.min(t, Math.max(1, Math.floor(e))) : t;
|
|
3109
3165
|
}
|
|
3110
|
-
function
|
|
3166
|
+
function Oi(e, t, n, r) {
|
|
3111
3167
|
let i = r - n;
|
|
3112
3168
|
return {
|
|
3113
3169
|
start: n + Math.floor(e * i / t),
|
|
3114
3170
|
end: n + Math.floor((e + 1) * i / t)
|
|
3115
3171
|
};
|
|
3116
3172
|
}
|
|
3117
|
-
function
|
|
3173
|
+
function ki(e, t) {
|
|
3118
3174
|
e[e.length - 1] !== t && e.push(t);
|
|
3119
3175
|
}
|
|
3120
|
-
function
|
|
3176
|
+
function Ai(e, t, n) {
|
|
3121
3177
|
if (e <= t) return Array.from({ length: e }, (e, t) => t);
|
|
3122
3178
|
if (t === 1) return [0];
|
|
3123
3179
|
if (t === 2) return [0, e - 1];
|
|
3124
3180
|
let r = [0];
|
|
3125
|
-
return n().forEach((e) =>
|
|
3181
|
+
return n().forEach((e) => ki(r, e)), ki(r, e - 1), r;
|
|
3126
3182
|
}
|
|
3127
|
-
function
|
|
3183
|
+
function ji(e, t, n) {
|
|
3128
3184
|
let r = n === "minmax" ? Math.floor((t - 2) / 2) : Math.max(0, t - 2);
|
|
3129
|
-
return
|
|
3185
|
+
return Ai(e.length, t, () => {
|
|
3130
3186
|
if (!r) return [];
|
|
3131
3187
|
let t = [];
|
|
3132
3188
|
for (let i = 0; i < r; i += 1) {
|
|
3133
|
-
let a =
|
|
3189
|
+
let a = Oi(i, r, 1, e.length - 1), o = a.start, s = a.start;
|
|
3134
3190
|
for (let t = a.start + 1; t < a.end; t += 1) e[t] < e[o] && (o = t), e[t] > e[s] && (s = t);
|
|
3135
|
-
n === "min" ?
|
|
3191
|
+
n === "min" ? ki(t, o) : n === "max" ? ki(t, s) : o <= s ? (ki(t, o), ki(t, s)) : (ki(t, s), ki(t, o));
|
|
3136
3192
|
}
|
|
3137
3193
|
return t;
|
|
3138
3194
|
});
|
|
3139
3195
|
}
|
|
3140
|
-
function
|
|
3196
|
+
function Mi(e, t) {
|
|
3141
3197
|
let n = Math.floor((t - 2) / 4);
|
|
3142
|
-
return
|
|
3198
|
+
return Ai(e.length, t, () => {
|
|
3143
3199
|
if (!n) return [];
|
|
3144
3200
|
let t = [];
|
|
3145
3201
|
for (let r = 0; r < n; r += 1) {
|
|
3146
|
-
let i =
|
|
3202
|
+
let i = Oi(r, n, 1, e.length - 1), a = i.start, o = i.start;
|
|
3147
3203
|
for (let t = i.start + 1; t < i.end; t += 1) e[t] < e[a] && (a = t), e[t] > e[o] && (o = t);
|
|
3148
3204
|
[
|
|
3149
3205
|
i.start,
|
|
3150
3206
|
a,
|
|
3151
3207
|
o,
|
|
3152
3208
|
i.end - 1
|
|
3153
|
-
].sort((e, t) => e - t).forEach((e) =>
|
|
3209
|
+
].sort((e, t) => e - t).forEach((e) => ki(t, e));
|
|
3154
3210
|
}
|
|
3155
3211
|
return t;
|
|
3156
3212
|
});
|
|
3157
3213
|
}
|
|
3158
|
-
function
|
|
3159
|
-
return
|
|
3214
|
+
function Ni(e, t, n) {
|
|
3215
|
+
return Ai(e.length, n, () => {
|
|
3160
3216
|
let r = (e.length - 2) / (n - 2), i = [], a = 0;
|
|
3161
3217
|
for (let o = 0; o < n - 2; o += 1) {
|
|
3162
3218
|
let s = Math.min(e.length, Math.floor((o + 1) * r) + 1), c = Math.min(e.length, Math.floor((o + 2) * r) + 1), l = 0, u = 0;
|
|
3163
3219
|
for (let n = s; n < c; n += 1) l += e[n], u += t[n];
|
|
3164
3220
|
let d = c - s;
|
|
3165
3221
|
d ? (l /= d, u /= d) : (l = e[e.length - 1], u = t[t.length - 1]);
|
|
3166
|
-
let f =
|
|
3222
|
+
let f = Oi(o, n - 2, 1, e.length - 1), p = f.start, m = -1;
|
|
3167
3223
|
for (let n = f.start; n < f.end; n += 1) {
|
|
3168
3224
|
let r = Math.abs((e[a] - l) * (t[n] - t[a]) - (e[a] - e[n]) * (u - t[a]));
|
|
3169
3225
|
r > m && (m = r, p = n);
|
|
@@ -3173,10 +3229,10 @@ function Oi(e, t, n) {
|
|
|
3173
3229
|
return i;
|
|
3174
3230
|
});
|
|
3175
3231
|
}
|
|
3176
|
-
function
|
|
3177
|
-
let i =
|
|
3232
|
+
function Pi(e, t, n, r) {
|
|
3233
|
+
let i = Di(n, e.length), a = new Float64Array(i), o = new Float64Array(i);
|
|
3178
3234
|
for (let n = 0; n < i; n += 1) {
|
|
3179
|
-
let s =
|
|
3235
|
+
let s = Oi(n, i, 0, e.length);
|
|
3180
3236
|
for (let r = s.start; r < s.end; r += 1) a[n] += e[r], o[n] += t[r];
|
|
3181
3237
|
let c = s.end - s.start;
|
|
3182
3238
|
a[n] /= c, r === "average" && (o[n] /= c);
|
|
@@ -3187,10 +3243,10 @@ function ki(e, t, n, r) {
|
|
|
3187
3243
|
y: o
|
|
3188
3244
|
};
|
|
3189
3245
|
}
|
|
3190
|
-
function
|
|
3246
|
+
function Fi(e, t, n, r) {
|
|
3191
3247
|
if (e.length !== t.length) throw Error("x and y must have the same length");
|
|
3192
|
-
if (n === "average" || n === "sum") return
|
|
3193
|
-
let i =
|
|
3248
|
+
if (n === "average" || n === "sum") return Pi(e, t, r, n);
|
|
3249
|
+
let i = Di(r, e.length), a = n === "none" || e.length <= i ? Array.from({ length: e.length }, (e, t) => t) : n === "peak" ? Mi(t, i) : n === "lttb" ? Ni(e, t, i) : ji(t, i, n);
|
|
3194
3250
|
return {
|
|
3195
3251
|
kind: "source-indexes",
|
|
3196
3252
|
sourceIndexes: Uint32Array.from(a)
|
|
@@ -3198,41 +3254,41 @@ function Ai(e, t, n, r) {
|
|
|
3198
3254
|
}
|
|
3199
3255
|
//#endregion
|
|
3200
3256
|
//#region src/core/workerSampling/javascriptBackend.ts
|
|
3201
|
-
var
|
|
3257
|
+
var Ii = {
|
|
3202
3258
|
kind: "javascript",
|
|
3203
3259
|
sample(e) {
|
|
3204
|
-
return
|
|
3260
|
+
return Fi(e.x, e.y, e.strategy, e.targetPointCount);
|
|
3205
3261
|
}
|
|
3206
|
-
},
|
|
3207
|
-
function
|
|
3262
|
+
}, Li = 8 * 1024 * 1024;
|
|
3263
|
+
function Ri(e, t) {
|
|
3208
3264
|
return t === 0 ? 0 : Number.isFinite(e) ? Math.min(t, Math.max(1, Math.floor(e))) : t;
|
|
3209
3265
|
}
|
|
3210
|
-
function
|
|
3266
|
+
function zi(e, t, n, r) {
|
|
3211
3267
|
let i = r - n;
|
|
3212
3268
|
return {
|
|
3213
3269
|
start: n + Math.floor(e * i / t),
|
|
3214
3270
|
end: n + Math.floor((e + 1) * i / t)
|
|
3215
3271
|
};
|
|
3216
3272
|
}
|
|
3217
|
-
function
|
|
3273
|
+
function Bi(e, t) {
|
|
3218
3274
|
e[e.length - 1] !== t && e.push(t);
|
|
3219
3275
|
}
|
|
3220
|
-
function
|
|
3276
|
+
function Vi(e) {
|
|
3221
3277
|
return "minimumIndexes" in e ? e.minimumIndexes.byteLength + e.maximumIndexes.byteLength : e.x.byteLength + e.y.byteLength + e.count.byteLength;
|
|
3222
3278
|
}
|
|
3223
|
-
function
|
|
3279
|
+
function Hi(e, t) {
|
|
3224
3280
|
let n = 1;
|
|
3225
3281
|
for (; n * 2 <= t && e % (n * 2) == 0;) n *= 2;
|
|
3226
3282
|
return n;
|
|
3227
3283
|
}
|
|
3228
|
-
var
|
|
3284
|
+
var Ui = class {
|
|
3229
3285
|
points;
|
|
3230
3286
|
extremaLayers = [];
|
|
3231
3287
|
sumLayers = [];
|
|
3232
3288
|
indexBytes = 0;
|
|
3233
3289
|
maxBytes;
|
|
3234
3290
|
constructor(e, t = {}) {
|
|
3235
|
-
this.points = e, this.maxBytes = Number.isFinite(t.maxBytes) ? Math.max(0, Math.floor(t.maxBytes ?? 0)) :
|
|
3291
|
+
this.points = e, this.maxBytes = Number.isFinite(t.maxBytes) ? Math.max(0, Math.floor(t.maxBytes ?? 0)) : Li;
|
|
3236
3292
|
}
|
|
3237
3293
|
get byteLength() {
|
|
3238
3294
|
return this.indexBytes;
|
|
@@ -3241,7 +3297,7 @@ var Ri = class {
|
|
|
3241
3297
|
this.extremaLayers.length = 0, this.sumLayers.length = 0, this.indexBytes = 0;
|
|
3242
3298
|
}
|
|
3243
3299
|
sample(e, t, n, r) {
|
|
3244
|
-
let i = Math.max(0, Math.min(this.points.length, Math.floor(e))), a = Math.max(i, Math.min(this.points.length, Math.floor(t))), o = a - i, s =
|
|
3300
|
+
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 = Ri(r, o);
|
|
3245
3301
|
if (n !== "lttb") return n === "average" || n === "sum" ? this.aggregate(i, a, s, n) : n === "none" || o <= s ? this.allIndexes(i, a) : s === 1 ? this.indexes([i]) : s === 2 ? this.indexes([i, a - 1]) : this.extrema(i, a, s, n);
|
|
3246
3302
|
}
|
|
3247
3303
|
allIndexes(e, t) {
|
|
@@ -3261,24 +3317,24 @@ var Ri = class {
|
|
|
3261
3317
|
if (i === 0) return this.indexes([e, t - 1]);
|
|
3262
3318
|
let a = [e];
|
|
3263
3319
|
for (let n = 0; n < i; n += 1) {
|
|
3264
|
-
let o =
|
|
3320
|
+
let o = zi(n, i, e + 1, t - 1), s = this.queryExtrema(o.start, o.end);
|
|
3265
3321
|
if (!s) return;
|
|
3266
|
-
if (r === "min")
|
|
3267
|
-
else if (r === "max")
|
|
3268
|
-
else if (r === "minmax") s.minimum <= s.maximum ? (
|
|
3322
|
+
if (r === "min") Bi(a, s.minimum);
|
|
3323
|
+
else if (r === "max") Bi(a, s.maximum);
|
|
3324
|
+
else if (r === "minmax") s.minimum <= s.maximum ? (Bi(a, s.minimum), Bi(a, s.maximum)) : (Bi(a, s.maximum), Bi(a, s.minimum));
|
|
3269
3325
|
else for (let e of [
|
|
3270
3326
|
o.start,
|
|
3271
3327
|
s.minimum,
|
|
3272
3328
|
s.maximum,
|
|
3273
3329
|
o.end - 1
|
|
3274
|
-
].sort((e, t) => e - t))
|
|
3330
|
+
].sort((e, t) => e - t)) Bi(a, e);
|
|
3275
3331
|
}
|
|
3276
|
-
return
|
|
3332
|
+
return Bi(a, t - 1), this.indexes(a);
|
|
3277
3333
|
}
|
|
3278
3334
|
aggregate(e, t, n, r) {
|
|
3279
3335
|
let i = new Float64Array(n), a = new Float64Array(n);
|
|
3280
3336
|
for (let o = 0; o < n; o += 1) {
|
|
3281
|
-
let s =
|
|
3337
|
+
let s = zi(o, n, e, t), c = this.querySum(s.start, s.end);
|
|
3282
3338
|
if (!c || c.count === 0) return;
|
|
3283
3339
|
i[o] = c.x / c.count, a[o] = r === "average" ? c.y / c.count : c.y;
|
|
3284
3340
|
}
|
|
@@ -3293,7 +3349,7 @@ var Ri = class {
|
|
|
3293
3349
|
if (!this.ensureExtrema(n)) return;
|
|
3294
3350
|
let r = e, i = e;
|
|
3295
3351
|
for (let n = e; n < t;) {
|
|
3296
|
-
let e =
|
|
3352
|
+
let e = Hi(n, t - n), a = Math.floor(Math.log2(e)), o = n / e, s = this.extremaLayers[a], c = s ? s.minimumIndexes[o] : n, l = s ? s.maximumIndexes[o] : n;
|
|
3297
3353
|
this.isMinimum(c, r) && (r = c), this.isMaximum(l, i) && (i = l), n += e;
|
|
3298
3354
|
}
|
|
3299
3355
|
return {
|
|
@@ -3306,7 +3362,7 @@ var Ri = class {
|
|
|
3306
3362
|
if (!this.ensureSum(n)) return;
|
|
3307
3363
|
let r = 0, i = 0, a = 0;
|
|
3308
3364
|
for (let n = e; n < t;) {
|
|
3309
|
-
let e =
|
|
3365
|
+
let e = Hi(n, t - n), o = Math.floor(Math.log2(e)), s = n / e, c = this.sumLayers[o];
|
|
3310
3366
|
if (c) r += c.x[s], i += c.y[s], a += c.count[s];
|
|
3311
3367
|
else {
|
|
3312
3368
|
let e = this.points[n];
|
|
@@ -3327,7 +3383,7 @@ var Ri = class {
|
|
|
3327
3383
|
minimumIndexes: new Uint32Array(e),
|
|
3328
3384
|
maximumIndexes: new Uint32Array(e)
|
|
3329
3385
|
};
|
|
3330
|
-
if (!this.reserve(
|
|
3386
|
+
if (!this.reserve(Vi(n))) return !1;
|
|
3331
3387
|
let r = this.extremaLayers[t - 1];
|
|
3332
3388
|
for (let t = 0; t < e; t += 1) {
|
|
3333
3389
|
let e = t * 2, i = e + 1, a = r ? r.minimumIndexes[e] : e, o = r ? r.maximumIndexes[e] : e, s = r ? i < r.minimumIndexes.length : i < this.points.length, c = r && s ? r.minimumIndexes[i] : i, l = r && s ? r.maximumIndexes[i] : i;
|
|
@@ -3345,7 +3401,7 @@ var Ri = class {
|
|
|
3345
3401
|
y: new Float64Array(e),
|
|
3346
3402
|
count: new Uint32Array(e)
|
|
3347
3403
|
};
|
|
3348
|
-
if (!this.reserve(
|
|
3404
|
+
if (!this.reserve(Vi(n))) return !1;
|
|
3349
3405
|
let r = this.sumLayers[t - 1];
|
|
3350
3406
|
for (let t = 0; t < e; t += 1) {
|
|
3351
3407
|
let e = t * 2, i = e + 1;
|
|
@@ -3370,8 +3426,8 @@ var Ri = class {
|
|
|
3370
3426
|
let n = this.points[e], r = this.points[t];
|
|
3371
3427
|
return n.y > r.y || n.y === r.y && e < t;
|
|
3372
3428
|
}
|
|
3373
|
-
},
|
|
3374
|
-
function
|
|
3429
|
+
}, Wi = 1e3, Gi = I((e) => e.x);
|
|
3430
|
+
function Ki(e) {
|
|
3375
3431
|
let t = [], n = !0, r = -Infinity;
|
|
3376
3432
|
for (let i of e) !Number.isFinite(i.x) || !Number.isFinite(i.y) || (i.x < r && (n = !1), r = i.x, t.push({
|
|
3377
3433
|
x: i.x,
|
|
@@ -3382,7 +3438,7 @@ function Vi(e) {
|
|
|
3382
3438
|
}));
|
|
3383
3439
|
return n || t.sort((e, t) => e.x - t.x), t;
|
|
3384
3440
|
}
|
|
3385
|
-
function
|
|
3441
|
+
function qi(e, t) {
|
|
3386
3442
|
let n = Infinity, r = -Infinity, i = Infinity, a = -Infinity;
|
|
3387
3443
|
for (let t of e) n = Math.min(n, t.x), r = Math.max(r, t.x), i = Math.min(i, t.y), a = Math.max(a, t.y);
|
|
3388
3444
|
return {
|
|
@@ -3392,7 +3448,7 @@ function Hi(e, t) {
|
|
|
3392
3448
|
yDomain: e.length ? [i, a] : null
|
|
3393
3449
|
};
|
|
3394
3450
|
}
|
|
3395
|
-
function
|
|
3451
|
+
function Ji(e, t, n = e.length) {
|
|
3396
3452
|
let r = Infinity, i = -Infinity, a = Infinity, o = -Infinity;
|
|
3397
3453
|
for (let n = 0; n < e.length; n += 1) r = Math.min(r, e[n]), i = Math.max(i, e[n]), a = Math.min(a, t[n]), o = Math.max(o, t[n]);
|
|
3398
3454
|
return {
|
|
@@ -3402,39 +3458,39 @@ function Ui(e, t, n = e.length) {
|
|
|
3402
3458
|
yDomain: e.length ? [a, o] : null
|
|
3403
3459
|
};
|
|
3404
3460
|
}
|
|
3405
|
-
function
|
|
3461
|
+
function Yi(e, t) {
|
|
3406
3462
|
return e ? e.revision === t ? "ok" : "stale-revision" : "not-found";
|
|
3407
3463
|
}
|
|
3408
|
-
function
|
|
3464
|
+
function Xi(e) {
|
|
3409
3465
|
return e === "auto" ? "peak" : e;
|
|
3410
3466
|
}
|
|
3411
|
-
function
|
|
3467
|
+
function Zi(e) {
|
|
3412
3468
|
if (Number.isFinite(e.maxPointCount) && (e.maxPointCount ?? 0) >= 1) return Math.floor(e.maxPointCount);
|
|
3413
3469
|
let t = Number.isFinite(e.plotWidth) ? Math.max(0, e.plotWidth) : 0, n = Number.isFinite(e.maxPointsPerPixel) ? Math.max(0, e.maxPointsPerPixel ?? 0) : 4;
|
|
3414
3470
|
return Math.max(1, Math.floor(t * n));
|
|
3415
3471
|
}
|
|
3416
|
-
function
|
|
3472
|
+
function Qi(e, t) {
|
|
3417
3473
|
if (e.mode === "raw") return !0;
|
|
3418
3474
|
if (e.mode !== "auto") return !1;
|
|
3419
|
-
let n = Number.isFinite(e.autoThreshold) ? Math.max(1, Math.floor(e.autoThreshold ?? 0)) :
|
|
3475
|
+
let n = Number.isFinite(e.autoThreshold) ? Math.max(1, Math.floor(e.autoThreshold ?? 0)) : Wi;
|
|
3420
3476
|
if (!e.previousSelectedMode) return t <= n;
|
|
3421
3477
|
let r = Number.isFinite(e.autoHysteresis) ? Math.max(0, Math.floor(e.autoHysteresis ?? 0)) : 0;
|
|
3422
3478
|
return e.previousSelectedMode === "raw" ? t <= n + r : t <= Math.max(0, n - r);
|
|
3423
3479
|
}
|
|
3424
|
-
function
|
|
3480
|
+
function $i(e, t) {
|
|
3425
3481
|
let n = e[0], r = e.at(-1);
|
|
3426
|
-
return Number.isFinite(t) && n && r && t >= n.x && t <= r.x ? e[
|
|
3482
|
+
return Number.isFinite(t) && n && r && t >= n.x && t <= r.x ? e[Gi.center(e, t)] : void 0;
|
|
3427
3483
|
}
|
|
3428
|
-
function
|
|
3484
|
+
function ea(e) {
|
|
3429
3485
|
return e ? e.kind === "source-indexes" ? e.sourceIndexes.length : e.x.length : 0;
|
|
3430
3486
|
}
|
|
3431
|
-
function
|
|
3487
|
+
function ta(e, t) {
|
|
3432
3488
|
return e.kind === "aggregates" ? e : {
|
|
3433
3489
|
kind: "source-indexes",
|
|
3434
3490
|
sourceIndexes: Uint32Array.from(e.sourceIndexes, (e) => e + t)
|
|
3435
3491
|
};
|
|
3436
3492
|
}
|
|
3437
|
-
function
|
|
3493
|
+
function na(e, t, n, r, i) {
|
|
3438
3494
|
return [
|
|
3439
3495
|
e.datasetId,
|
|
3440
3496
|
e.revision,
|
|
@@ -3454,14 +3510,14 @@ function Zi(e, t, n, r, i) {
|
|
|
3454
3510
|
e.errorBarMinSpacing ?? 0
|
|
3455
3511
|
].join("\0");
|
|
3456
3512
|
}
|
|
3457
|
-
function
|
|
3513
|
+
function ra(e, t, n, r, i, a, o, s) {
|
|
3458
3514
|
return {
|
|
3459
3515
|
seriesId: e.seriesId,
|
|
3460
3516
|
datasetId: e.datasetId,
|
|
3461
3517
|
mode: e.mode,
|
|
3462
3518
|
selectedMode: i,
|
|
3463
3519
|
backend: r,
|
|
3464
|
-
strategy:
|
|
3520
|
+
strategy: Xi(e.strategy),
|
|
3465
3521
|
sourcePointCount: t,
|
|
3466
3522
|
visiblePointCount: n,
|
|
3467
3523
|
renderedPointCount: o,
|
|
@@ -3477,18 +3533,18 @@ function Qi(e, t, n, r, i, a, o, s) {
|
|
|
3477
3533
|
}
|
|
3478
3534
|
//#endregion
|
|
3479
3535
|
//#region src/core/workerSampling/repositoryDataset.ts
|
|
3480
|
-
function
|
|
3536
|
+
function ia(e) {
|
|
3481
3537
|
return e?.y.length ?? 0;
|
|
3482
3538
|
}
|
|
3483
|
-
function
|
|
3539
|
+
function aa(e, t) {
|
|
3484
3540
|
return e.x ? e.x[t] : e.sampleStartTime + (e.sampleSourceIndexes?.[t] ?? t) / e.sampleRate;
|
|
3485
3541
|
}
|
|
3486
|
-
function
|
|
3542
|
+
function oa(e, t) {
|
|
3487
3543
|
let n = (t, n) => {
|
|
3488
|
-
let r = 0, i =
|
|
3544
|
+
let r = 0, i = ia(e);
|
|
3489
3545
|
for (; r < i;) {
|
|
3490
3546
|
let a = r + Math.floor((i - r) / 2);
|
|
3491
|
-
(n ?
|
|
3547
|
+
(n ? aa(e, a) <= t : aa(e, a) < t) ? r = a + 1 : i = a;
|
|
3492
3548
|
}
|
|
3493
3549
|
return r;
|
|
3494
3550
|
}, r = Math.min(t[0], t[1]), i = Math.max(t[0], t[1]);
|
|
@@ -3497,13 +3553,13 @@ function ta(e, t) {
|
|
|
3497
3553
|
end: n(i, !0)
|
|
3498
3554
|
};
|
|
3499
3555
|
}
|
|
3500
|
-
function
|
|
3501
|
-
return e.x ? e.x.subarray(t, n) : Float64Array.from({ length: n - t }, (n, r) =>
|
|
3556
|
+
function sa(e, t, n) {
|
|
3557
|
+
return e.x ? e.x.subarray(t, n) : Float64Array.from({ length: n - t }, (n, r) => aa(e, t + r));
|
|
3502
3558
|
}
|
|
3503
|
-
function
|
|
3559
|
+
function ca(e) {
|
|
3504
3560
|
return e?.kind === "wasm" && "registerDataset" in e && "disposeDataset" in e && "disposeAllDatasets" in e && "datasetIndexBytes" in e && "registerSamples" in e && "sampleDataset" in e;
|
|
3505
3561
|
}
|
|
3506
|
-
function
|
|
3562
|
+
function la(e, t) {
|
|
3507
3563
|
let n = [], r = Math.min(e.length, t.length);
|
|
3508
3564
|
for (let i = 0; i < r; i += 1) Number.isFinite(e[i]) && Number.isFinite(t[i]) && n.push(i);
|
|
3509
3565
|
return n.sort((t, n) => e[t] - e[n] || t - n), {
|
|
@@ -3511,14 +3567,14 @@ function ia(e, t) {
|
|
|
3511
3567
|
y: Float64Array.from(n, (e) => t[e])
|
|
3512
3568
|
};
|
|
3513
3569
|
}
|
|
3514
|
-
function
|
|
3570
|
+
function ua(e, t, n, r) {
|
|
3515
3571
|
if (t?.kind === "typed") {
|
|
3516
|
-
let e =
|
|
3572
|
+
let e = la(t.x, t.y);
|
|
3517
3573
|
return {
|
|
3518
3574
|
x: e.x,
|
|
3519
3575
|
y: e.y,
|
|
3520
3576
|
revision: n,
|
|
3521
|
-
metrics:
|
|
3577
|
+
metrics: Ji(e.x, e.y, Math.max(t.x.length, t.y.length))
|
|
3522
3578
|
};
|
|
3523
3579
|
}
|
|
3524
3580
|
if (t?.kind === "samples") {
|
|
@@ -3552,35 +3608,35 @@ function aa(e, t, n, r) {
|
|
|
3552
3608
|
}
|
|
3553
3609
|
};
|
|
3554
3610
|
}
|
|
3555
|
-
let i =
|
|
3611
|
+
let i = Ki(e ?? t?.points ?? []);
|
|
3556
3612
|
return {
|
|
3557
3613
|
x: Float64Array.from(i, (e) => e.x),
|
|
3558
3614
|
y: Float64Array.from(i, (e) => e.y),
|
|
3559
3615
|
points: i,
|
|
3560
3616
|
revision: n,
|
|
3561
|
-
metrics:
|
|
3562
|
-
index: new
|
|
3617
|
+
metrics: qi(i, e?.length ?? t?.points.length ?? 0),
|
|
3618
|
+
index: new Ui(i, { maxBytes: r })
|
|
3563
3619
|
};
|
|
3564
3620
|
}
|
|
3565
|
-
function
|
|
3566
|
-
!
|
|
3621
|
+
function da(e, t, n) {
|
|
3622
|
+
!ca(e) || t.wasmDatasetHandle !== void 0 || (t.wasmDatasetHandle = t.x ? e.registerDataset(t.x, t.y, n) : e.registerSamples(t.y, t.sampleSourceIndexes, t.sampleStartTime, t.sampleRate, n), t.wasmIndexBytes = e.datasetIndexBytes(t.wasmDatasetHandle));
|
|
3567
3623
|
}
|
|
3568
|
-
function
|
|
3569
|
-
t.index?.dispose(), t.wasmDatasetHandle !== void 0 &&
|
|
3624
|
+
function fa(e, t) {
|
|
3625
|
+
t.index?.dispose(), t.wasmDatasetHandle !== void 0 && ca(e) && e.disposeDataset(t.wasmDatasetHandle);
|
|
3570
3626
|
}
|
|
3571
3627
|
//#endregion
|
|
3572
3628
|
//#region src/core/workerSampling/samplingCache.ts
|
|
3573
|
-
var
|
|
3574
|
-
function
|
|
3629
|
+
var pa = 96, ma = 16 * 1024 * 1024;
|
|
3630
|
+
function ha(e) {
|
|
3575
3631
|
return e.kind === "source-indexes" ? e.sourceIndexes.byteLength : e.x.byteLength + e.y.byteLength;
|
|
3576
3632
|
}
|
|
3577
|
-
var
|
|
3633
|
+
var ga = class {
|
|
3578
3634
|
entries = /* @__PURE__ */ new Map();
|
|
3579
3635
|
bytes = 0;
|
|
3580
3636
|
maxEntries;
|
|
3581
3637
|
maxBytes;
|
|
3582
3638
|
constructor(e = {}) {
|
|
3583
|
-
this.maxEntries = Number.isFinite(e.maxEntries) ? Math.max(0, Math.floor(e.maxEntries ?? 0)) :
|
|
3639
|
+
this.maxEntries = Number.isFinite(e.maxEntries) ? Math.max(0, Math.floor(e.maxEntries ?? 0)) : pa, this.maxBytes = Number.isFinite(e.maxBytes) ? Math.max(0, Math.floor(e.maxBytes ?? 0)) : ma;
|
|
3584
3640
|
}
|
|
3585
3641
|
get metrics() {
|
|
3586
3642
|
return {
|
|
@@ -3595,7 +3651,7 @@ var da = class {
|
|
|
3595
3651
|
if (t) return this.entries.delete(e), this.entries.set(e, t), t.output;
|
|
3596
3652
|
}
|
|
3597
3653
|
set(e, t) {
|
|
3598
|
-
let n =
|
|
3654
|
+
let n = ha(t);
|
|
3599
3655
|
if (n > this.maxBytes || this.maxEntries === 0) return;
|
|
3600
3656
|
let r = this.entries.get(e);
|
|
3601
3657
|
for (r && (this.bytes -= r.bytes, this.entries.delete(e)), this.entries.set(e, {
|
|
@@ -3615,14 +3671,14 @@ var da = class {
|
|
|
3615
3671
|
clear() {
|
|
3616
3672
|
this.entries.clear(), this.bytes = 0;
|
|
3617
3673
|
}
|
|
3618
|
-
},
|
|
3674
|
+
}, _a = class {
|
|
3619
3675
|
datasets = /* @__PURE__ */ new Map();
|
|
3620
3676
|
javascriptBackend;
|
|
3621
3677
|
cache;
|
|
3622
3678
|
indexMaxBytes;
|
|
3623
3679
|
wasmBackend;
|
|
3624
3680
|
constructor(e = {}) {
|
|
3625
|
-
this.javascriptBackend = e.javascriptBackend ??
|
|
3681
|
+
this.javascriptBackend = e.javascriptBackend ?? Ii, this.wasmBackend = e.wasmBackend, this.indexMaxBytes = e.indexMaxBytes, this.cache = new ga({
|
|
3626
3682
|
maxEntries: e.cacheMaxEntries,
|
|
3627
3683
|
maxBytes: e.cacheMaxBytes
|
|
3628
3684
|
});
|
|
@@ -3635,9 +3691,9 @@ var da = class {
|
|
|
3635
3691
|
};
|
|
3636
3692
|
}
|
|
3637
3693
|
setWasmBackend(e) {
|
|
3638
|
-
this.wasmBackend && this.wasmBackend !== e &&
|
|
3694
|
+
this.wasmBackend && this.wasmBackend !== e && ca(this.wasmBackend) && (this.wasmBackend.disposeAllDatasets(), this.datasets.forEach((e) => {
|
|
3639
3695
|
e.wasmDatasetHandle = void 0, e.wasmIndexBytes = void 0;
|
|
3640
|
-
})), this.wasmBackend = e,
|
|
3696
|
+
})), this.wasmBackend = e, ca(e) && this.datasets.forEach((t) => da(e, t, this.indexMaxBytes));
|
|
3641
3697
|
}
|
|
3642
3698
|
handle(e) {
|
|
3643
3699
|
switch (e.type) {
|
|
@@ -3653,15 +3709,15 @@ var da = class {
|
|
|
3653
3709
|
register(e, t, n, r) {
|
|
3654
3710
|
let i = this.datasets.get(e);
|
|
3655
3711
|
if (i) return this.datasetResponse(t, e, i, "stale-revision");
|
|
3656
|
-
let a =
|
|
3657
|
-
return
|
|
3712
|
+
let a = ua(n, r, 1, this.indexMaxBytes);
|
|
3713
|
+
return da(this.wasmBackend, a, this.indexMaxBytes), this.datasets.set(e, a), this.datasetResponse(t, e, a, "ok");
|
|
3658
3714
|
}
|
|
3659
3715
|
replace(e, t, n, r, i) {
|
|
3660
|
-
let a = this.datasets.get(e), o =
|
|
3716
|
+
let a = this.datasets.get(e), o = Yi(a, n);
|
|
3661
3717
|
if (o !== "ok" || !a) return this.datasetResponse(t, e, a, o);
|
|
3662
|
-
|
|
3663
|
-
let s =
|
|
3664
|
-
return
|
|
3718
|
+
fa(this.wasmBackend, a), this.cache.deleteDataset(e);
|
|
3719
|
+
let s = ua(r, i, a.revision + 1, this.indexMaxBytes);
|
|
3720
|
+
return da(this.wasmBackend, s, this.indexMaxBytes), this.datasets.set(e, s), this.datasetResponse(t, e, s, "ok");
|
|
3665
3721
|
}
|
|
3666
3722
|
sample(e) {
|
|
3667
3723
|
return {
|
|
@@ -3671,28 +3727,28 @@ var da = class {
|
|
|
3671
3727
|
};
|
|
3672
3728
|
}
|
|
3673
3729
|
sampleSeries(e, t) {
|
|
3674
|
-
let n = performance.now(), r = this.datasets.get(t.datasetId), i =
|
|
3730
|
+
let n = performance.now(), r = this.datasets.get(t.datasetId), i = Yi(r, t.revision);
|
|
3675
3731
|
if (i !== "ok" || !r) return this.sampleResponse(e, t, i, void 0, "unavailable", "sampled", 0, n, !1);
|
|
3676
|
-
let a =
|
|
3677
|
-
if (
|
|
3732
|
+
let a = oa(r, t.xDomain), o = a.end - a.start;
|
|
3733
|
+
if (Qi(t, o)) return this.sampleResponse(e, t, "ok", {
|
|
3678
3734
|
kind: "source-indexes",
|
|
3679
3735
|
sourceIndexes: Uint32Array.from({ length: o }, (e, t) => a.start + t)
|
|
3680
3736
|
}, "raw", "raw", o, n, !1);
|
|
3681
3737
|
let s = t.mode === "wasm" || t.mode === "auto" && this.wasmBackend ? this.wasmBackend : this.javascriptBackend, c = !s && t.wasmFailureFallback === "javascript", l = s ?? (c ? this.javascriptBackend : void 0);
|
|
3682
3738
|
if (!l) return this.sampleResponse(e, t, "wasm-unavailable", void 0, "unavailable", "sampled", o, n, !1);
|
|
3683
|
-
let u =
|
|
3739
|
+
let u = Xi(t.strategy), d = Zi(t), f = na(t, a, u, d, l.kind), p = this.cache.get(f);
|
|
3684
3740
|
if (p) return this.sampleResponse(e, t, c ? "wasm-unavailable" : "ok", p, l.kind, "sampled", o, n, !0);
|
|
3685
|
-
let m = (l.kind === "wasm" ? r.wasmDatasetHandle !== void 0 &&
|
|
3686
|
-
x:
|
|
3741
|
+
let m = (l.kind === "wasm" ? r.wasmDatasetHandle !== void 0 && ca(l) ? l.sampleDataset(r.wasmDatasetHandle, a.start, a.end, u, d) : void 0 : r.index?.sample(a.start, a.end, u, d)) ?? ta(l.sample({
|
|
3742
|
+
x: sa(r, a.start, a.end),
|
|
3687
3743
|
y: r.y.subarray(a.start, a.end),
|
|
3688
3744
|
points: r.points?.slice(a.start, a.end) ?? [],
|
|
3689
3745
|
strategy: u,
|
|
3690
3746
|
targetPointCount: d
|
|
3691
3747
|
}), a.start);
|
|
3692
|
-
return this.cache.set(f, m), r.wasmDatasetHandle !== void 0 &&
|
|
3748
|
+
return this.cache.set(f, m), r.wasmDatasetHandle !== void 0 && ca(l) && (r.wasmIndexBytes = l.datasetIndexBytes(r.wasmDatasetHandle)), this.sampleResponse(e, t, c ? "wasm-unavailable" : "ok", m, l.kind, "sampled", o, n, !1);
|
|
3693
3749
|
}
|
|
3694
3750
|
sampleResponse(e, t, n, r, i, a, o, s, c) {
|
|
3695
|
-
let l =
|
|
3751
|
+
let l = ra(t, ia(this.datasets.get(t.datasetId)), o, i, a, performance.now() - s, ea(r), c);
|
|
3696
3752
|
return l.requestId = e, {
|
|
3697
3753
|
seriesId: t.seriesId,
|
|
3698
3754
|
datasetId: t.datasetId,
|
|
@@ -3703,7 +3759,7 @@ var da = class {
|
|
|
3703
3759
|
};
|
|
3704
3760
|
}
|
|
3705
3761
|
findNearest(e, t, n, r) {
|
|
3706
|
-
let i = this.datasets.get(e), a =
|
|
3762
|
+
let i = this.datasets.get(e), a = Yi(i, n);
|
|
3707
3763
|
return a !== "ok" || !i ? {
|
|
3708
3764
|
type: "find-nearest-point-response",
|
|
3709
3765
|
requestId: t,
|
|
@@ -3716,12 +3772,12 @@ var da = class {
|
|
|
3716
3772
|
datasetId: e,
|
|
3717
3773
|
revision: n,
|
|
3718
3774
|
status: a,
|
|
3719
|
-
point: i.points ?
|
|
3720
|
-
let e =
|
|
3721
|
-
if (
|
|
3722
|
-
let t = Math.min(
|
|
3723
|
-
return Number.isFinite(r) &&
|
|
3724
|
-
x:
|
|
3775
|
+
point: i.points ? $i(i.points, r) : (() => {
|
|
3776
|
+
let e = oa(i, [r, r]);
|
|
3777
|
+
if (!ia(i) || r < aa(i, 0) || r > aa(i, ia(i) - 1)) return;
|
|
3778
|
+
let t = Math.min(ia(i) - 1, e.start), n = Math.max(0, t - 1), a = Math.abs(r - aa(i, n)) < Math.abs(aa(i, t) - r) ? n : t;
|
|
3779
|
+
return Number.isFinite(r) && ia(i) ? {
|
|
3780
|
+
x: aa(i, a),
|
|
3725
3781
|
y: i.y[a]
|
|
3726
3782
|
} : void 0;
|
|
3727
3783
|
})()
|
|
@@ -3729,15 +3785,15 @@ var da = class {
|
|
|
3729
3785
|
}
|
|
3730
3786
|
metrics(e, t, n) {
|
|
3731
3787
|
let r = this.datasets.get(e);
|
|
3732
|
-
return this.datasetResponse(t, e, r,
|
|
3788
|
+
return this.datasetResponse(t, e, r, Yi(r, n));
|
|
3733
3789
|
}
|
|
3734
3790
|
dispose(e, t, n) {
|
|
3735
|
-
let r = this.datasets.get(e), i =
|
|
3736
|
-
return i === "ok" && r && (
|
|
3791
|
+
let r = this.datasets.get(e), i = Yi(r, n);
|
|
3792
|
+
return i === "ok" && r && (fa(this.wasmBackend, r), this.cache.deleteDataset(e), this.datasets.delete(e)), this.datasetResponse(t, e, r, i);
|
|
3737
3793
|
}
|
|
3738
3794
|
disposeAll(e) {
|
|
3739
3795
|
let t = [...this.datasets.keys()];
|
|
3740
|
-
return this.datasets.forEach((e) =>
|
|
3796
|
+
return this.datasets.forEach((e) => fa(this.wasmBackend, e)), ca(this.wasmBackend) && this.wasmBackend.disposeAllDatasets(), this.datasets.clear(), this.cache.clear(), {
|
|
3741
3797
|
type: "dispose-all-response",
|
|
3742
3798
|
requestId: e,
|
|
3743
3799
|
disposedDatasetIds: t
|
|
@@ -3759,10 +3815,10 @@ var da = class {
|
|
|
3759
3815
|
};
|
|
3760
3816
|
//#endregion
|
|
3761
3817
|
//#region src/components/core/latestTaskScheduler.ts
|
|
3762
|
-
function
|
|
3818
|
+
function va(e, t, n, r) {
|
|
3763
3819
|
return r ? r === "raw" ? e <= t + n ? "raw" : "sampled" : e <= Math.max(0, t - n) ? "raw" : "sampled" : e <= t ? "raw" : "sampled";
|
|
3764
3820
|
}
|
|
3765
|
-
function
|
|
3821
|
+
function ya() {
|
|
3766
3822
|
let e = 0, t = !1, n, r = !1, i = {
|
|
3767
3823
|
scheduled: 0,
|
|
3768
3824
|
coalesced: 0,
|
|
@@ -3801,12 +3857,12 @@ function ma() {
|
|
|
3801
3857
|
}
|
|
3802
3858
|
//#endregion
|
|
3803
3859
|
//#region src/components/core/workerSamplingClient.ts
|
|
3804
|
-
function
|
|
3860
|
+
function ba(e) {
|
|
3805
3861
|
return e?.message || "Web Worker is unavailable; JavaScript sampling is being used.";
|
|
3806
3862
|
}
|
|
3807
|
-
function
|
|
3863
|
+
function xa() {
|
|
3808
3864
|
let e, t, n, r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map(), a = () => {
|
|
3809
|
-
t ??= new
|
|
3865
|
+
t ??= new _a();
|
|
3810
3866
|
for (let [e, n] of i) {
|
|
3811
3867
|
t.handle({
|
|
3812
3868
|
type: "register-dataset",
|
|
@@ -3842,7 +3898,7 @@ function ga() {
|
|
|
3842
3898
|
let t = a();
|
|
3843
3899
|
e.forEach(({ request: e, resolve: n }) => n(t.handle(e)));
|
|
3844
3900
|
}, c = (r) => {
|
|
3845
|
-
t || (n =
|
|
3901
|
+
t || (n = ba(r), e?.terminate(), e = void 0, s());
|
|
3846
3902
|
};
|
|
3847
3903
|
try {
|
|
3848
3904
|
typeof Worker > "u" ? c() : (e = new Worker(new URL(
|
|
@@ -3879,20 +3935,20 @@ function ga() {
|
|
|
3879
3935
|
}
|
|
3880
3936
|
};
|
|
3881
3937
|
}
|
|
3882
|
-
function
|
|
3938
|
+
function Sa(e) {
|
|
3883
3939
|
return e.type === "dataset-response";
|
|
3884
3940
|
}
|
|
3885
3941
|
//#endregion
|
|
3886
3942
|
//#region src/components/core/useWaveformRenderSampling.ts
|
|
3887
|
-
var
|
|
3888
|
-
function
|
|
3943
|
+
var Ca = 120;
|
|
3944
|
+
function wa(e, t) {
|
|
3889
3945
|
let n = e.output;
|
|
3890
3946
|
if (n) return n.kind === "aggregates" ? Array.from(n.x, (e, t) => ({
|
|
3891
3947
|
x: e,
|
|
3892
3948
|
y: n.y[t]
|
|
3893
3949
|
})) : Array.from(n.sourceIndexes, (e) => t.pointAt(e)).filter((e) => e !== void 0);
|
|
3894
3950
|
}
|
|
3895
|
-
function
|
|
3951
|
+
function Ta(e, t) {
|
|
3896
3952
|
let n = e.request, r = e.visibleRange.end - e.visibleRange.start;
|
|
3897
3953
|
return {
|
|
3898
3954
|
seriesId: n.seriesId,
|
|
@@ -3914,7 +3970,7 @@ function ba(e, t) {
|
|
|
3914
3970
|
maxPendingRequestCount: 0
|
|
3915
3971
|
};
|
|
3916
3972
|
}
|
|
3917
|
-
function
|
|
3973
|
+
function Ea(e) {
|
|
3918
3974
|
let { source: t } = e, { start: n, end: r } = e.visibleRange, i = r - n, a = Number.isFinite(e.request.maxPointCount) && (e.request.maxPointCount ?? 0) >= 1 ? Math.floor(e.request.maxPointCount) : Math.max(1, Math.floor(e.request.plotWidth * e.request.maxPointsPerPixel));
|
|
3919
3975
|
if (i <= a) return t.pointsInRange(n, r);
|
|
3920
3976
|
if (a === 1) return t.pointAt(n) ? [t.pointAt(n)] : [];
|
|
@@ -3925,7 +3981,7 @@ function xa(e) {
|
|
|
3925
3981
|
}
|
|
3926
3982
|
return o;
|
|
3927
3983
|
}
|
|
3928
|
-
function
|
|
3984
|
+
function Da(e, t, n, r) {
|
|
3929
3985
|
return {
|
|
3930
3986
|
message: e,
|
|
3931
3987
|
mode: t,
|
|
@@ -3933,8 +3989,8 @@ function Sa(e, t, n, r) {
|
|
|
3933
3989
|
seriesIds: r
|
|
3934
3990
|
};
|
|
3935
3991
|
}
|
|
3936
|
-
function
|
|
3937
|
-
let n = C(0), r, i = 0, a = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Map(), c = /* @__PURE__ */ new Set(), l = /* @__PURE__ */ new Map(), u =
|
|
3992
|
+
function Oa(e) {
|
|
3993
|
+
let n = C(0), r, i = 0, a = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Map(), c = /* @__PURE__ */ new Set(), l = /* @__PURE__ */ new Map(), u = ya(), d, f, p = !1, m = t(() => {
|
|
3938
3994
|
let t = e.renderingOptions.value.sampling;
|
|
3939
3995
|
return e.sourceTrackLayouts.value.flatMap((n) => {
|
|
3940
3996
|
let r = n.xScale.domain();
|
|
@@ -3999,13 +4055,13 @@ function Ca(e) {
|
|
|
3999
4055
|
revision: 0,
|
|
4000
4056
|
dataset: t.source.toWorkerDataset()
|
|
4001
4057
|
});
|
|
4002
|
-
!u.isCurrent(n) || !
|
|
4058
|
+
!u.isCurrent(n) || !Sa(r) || r.status !== "ok" && r.status !== "stale-revision" || a.set(t.request.datasetId, r.revision);
|
|
4003
4059
|
}));
|
|
4004
4060
|
}, x = async (t, n = !1) => {
|
|
4005
4061
|
let o = m.value, c = { ...e.linePointOverrides.value }, l = [], d = [];
|
|
4006
4062
|
if (o.forEach((e) => {
|
|
4007
|
-
let r = e.visibleRange.end - e.visibleRange.start, i = n ? s.get(e.series.id) : void 0, a = e.request.mode === "auto" &&
|
|
4008
|
-
e.request.mode === "raw" || a ? (c[e.series.id] = e.source.pointsInRange(e.visibleRange.start, e.visibleRange.end), s.set(e.series.id, "raw"), d.push(
|
|
4063
|
+
let r = e.visibleRange.end - e.visibleRange.start, i = n ? s.get(e.series.id) : void 0, a = e.request.mode === "auto" && va(r, e.request.autoThreshold, e.request.autoHysteresis ?? 0, i) === "raw";
|
|
4064
|
+
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(Ta(e, t))) : (c[e.series.id]?.length || (c[e.series.id] = Ea(e)), l.push({
|
|
4009
4065
|
...e,
|
|
4010
4066
|
request: {
|
|
4011
4067
|
...e.request,
|
|
@@ -4017,7 +4073,7 @@ function Ca(e) {
|
|
|
4017
4073
|
e.linePointOverrides.value = c, v(d);
|
|
4018
4074
|
return;
|
|
4019
4075
|
}
|
|
4020
|
-
if (e.linePointOverrides.value = c, r ??=
|
|
4076
|
+
if (e.linePointOverrides.value = c, r ??= xa(), await b(r, l, t), !u.isCurrent(t)) return;
|
|
4021
4077
|
let f = l.map((e) => ({
|
|
4022
4078
|
...e.request,
|
|
4023
4079
|
revision: a.get(e.request.datasetId) ?? 1
|
|
@@ -4032,22 +4088,22 @@ function Ca(e) {
|
|
|
4032
4088
|
p = e;
|
|
4033
4089
|
} catch (n) {
|
|
4034
4090
|
if (!u.isCurrent(t)) return;
|
|
4035
|
-
y(
|
|
4091
|
+
y(Da(n instanceof Error ? n.message : String(n), e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id)));
|
|
4036
4092
|
return;
|
|
4037
4093
|
}
|
|
4038
4094
|
if (!u.isCurrent(t)) return;
|
|
4039
4095
|
let h = new Map(l.map((e) => [e.series.id, e.source]));
|
|
4040
4096
|
p.results.forEach((e) => {
|
|
4041
|
-
let t = h.get(e.seriesId), n = t ?
|
|
4042
|
-
n && (e.status === "ok" || e.status === "wasm-unavailable") && (c[e.seriesId] = n), d.push(e.diagnostics), s.set(e.seriesId, e.diagnostics.selectedMode), e.status === "wasm-unavailable" && y(
|
|
4043
|
-
}), p.workerError && y(
|
|
4097
|
+
let t = h.get(e.seriesId), n = t ? wa(e, t) : void 0;
|
|
4098
|
+
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(Da(p.workerError ?? "WASM sampling is unavailable.", e.diagnostics.mode, e.diagnostics.backend === "javascript" ? "javascript" : "none", [e.seriesId]));
|
|
4099
|
+
}), p.workerError && y(Da(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(Da(r.workerFailureReason, e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id))), e.linePointOverrides.value = { ...c }, v(d);
|
|
4044
4100
|
};
|
|
4045
4101
|
return O(h, () => {
|
|
4046
4102
|
f && clearTimeout(f);
|
|
4047
4103
|
let t = p;
|
|
4048
4104
|
p = !0, u.schedule((e) => x(e, t)), t && e.renderingOptions.value.sampling.mode === "auto" && e.renderingOptions.value.sampling.autoHysteresis > 0 && (f = setTimeout(() => {
|
|
4049
4105
|
f = void 0, u.schedule((e) => x(e, !1));
|
|
4050
|
-
},
|
|
4106
|
+
}, Ca));
|
|
4051
4107
|
}, { immediate: !0 }), O(e.preparedSeries, () => {
|
|
4052
4108
|
u.cancelPending(), n.value += 1, e.linePointOverrides.value = {}, a.clear(), o.clear(), s.clear(), c.clear(), r?.dispose(), r = void 0;
|
|
4053
4109
|
}, { flush: "sync" }), _(() => {
|
|
@@ -4056,11 +4112,11 @@ function Ca(e) {
|
|
|
4056
4112
|
}
|
|
4057
4113
|
//#endregion
|
|
4058
4114
|
//#region src/components/core/useWaveformChartController.ts
|
|
4059
|
-
function
|
|
4115
|
+
function ka(e, t) {
|
|
4060
4116
|
e.value = t instanceof Element ? t : void 0;
|
|
4061
4117
|
}
|
|
4062
|
-
function
|
|
4063
|
-
let n = b(), r = b(), i = b(), a = b(), o = b(0), s = b(0), c = b(0), l = b(0), u = b(0), f = C(
|
|
4118
|
+
function Aa(e, t) {
|
|
4119
|
+
let n = b(), r = b(), i = b(), a = b(), o = b(0), s = b(0), c = b(0), l = b(0), u = b(0), f = C(q), p = C([]), m = b({}), h = b({}), g = S({
|
|
4064
4120
|
points: [],
|
|
4065
4121
|
trackIndex: null,
|
|
4066
4122
|
queryX: null,
|
|
@@ -4069,11 +4125,13 @@ function Ta(e, t) {
|
|
|
4069
4125
|
x: 0,
|
|
4070
4126
|
y: 0
|
|
4071
4127
|
}
|
|
4072
|
-
}), _ = b(!1), v = b(1), x = C(), w =
|
|
4128
|
+
}), _ = b(!1), v = b(1), x = C(), w = ce("waveform-clip"), E = b(new Set(e.defaultHiddenSeriesIds)), D = mt(), A = C({}), j = b([]), M = Fr();
|
|
4073
4129
|
O([() => e.yDomain, () => e.yDomains], () => {
|
|
4074
4130
|
m.value = {}, h.value = {};
|
|
4075
4131
|
}, { deep: !0 });
|
|
4076
|
-
let N = C(null), P = b(!1), F = b(!1), I = () => void 0, L = () => void 0, R =
|
|
4132
|
+
let N = C(null), P = b(!1), F = b(!1), I = () => void 0, L = () => void 0, R = () => void 0, z = Br(() => e.data, () => {
|
|
4133
|
+
R(), I();
|
|
4134
|
+
}, () => L()), B = Ei({
|
|
4077
4135
|
props: e,
|
|
4078
4136
|
observedWidth: o,
|
|
4079
4137
|
observedHeight: s,
|
|
@@ -4081,110 +4139,112 @@ function Ta(e, t) {
|
|
|
4081
4139
|
measuredTitleHeight: l,
|
|
4082
4140
|
internalHiddenSeriesIds: E,
|
|
4083
4141
|
paginationBandHeight: u
|
|
4084
|
-
}), { chartWidth:
|
|
4142
|
+
}), { chartWidth: V, chartHeight: H, isCleanView: U, isPresentationMode: W, hiddenSeriesIdSet: G, resolvedTitleText: ee, titleAreaReserved: te, titleMeasureStyle: ne, titleAreaHeight: re, chartTopMargin: K, innerHeight: J } = B, ie = Si({
|
|
4085
4143
|
props: e,
|
|
4086
|
-
preparedSeries:
|
|
4144
|
+
preparedSeries: z,
|
|
4087
4145
|
currentPage: v,
|
|
4088
|
-
hiddenSeriesIdSet:
|
|
4089
|
-
chartWidth:
|
|
4090
|
-
innerHeight:
|
|
4091
|
-
isCleanView:
|
|
4146
|
+
hiddenSeriesIdSet: G,
|
|
4147
|
+
chartWidth: V,
|
|
4148
|
+
innerHeight: J,
|
|
4149
|
+
isCleanView: U,
|
|
4092
4150
|
sharedTransform: f,
|
|
4093
4151
|
independentTransforms: p,
|
|
4094
4152
|
sharedYDomains: m,
|
|
4095
4153
|
independentYDomains: h,
|
|
4096
4154
|
annotationInteraction: d(D),
|
|
4097
4155
|
linePointOverrides: A
|
|
4098
|
-
}), { chartSeries: ae, chartTracks: oe, renderingOptions: se, trackLayouts:
|
|
4099
|
-
|
|
4156
|
+
}), { chartSeries: ae, chartTracks: oe, renderingOptions: se, trackLayouts: le, gridOptions: ue, pageCount: Y, pagedTracks: de, resolvedChartLeftMargin: fe, innerWidth: pe, hasChartArea: me, activeInteractionMode: he, isZoomMode: ge, initialXDomain: _e, sharedZoomDomain: ve, resolveInitialTrackDomain: ye, annotationLayoutsForTrack: be, resolveSeriesYScale: xe } = ie;
|
|
4157
|
+
Oa({
|
|
4100
4158
|
props: e,
|
|
4101
4159
|
emit: t,
|
|
4102
4160
|
instanceId: w,
|
|
4103
|
-
preparedSeries:
|
|
4104
|
-
sourceTrackLayouts:
|
|
4161
|
+
preparedSeries: z,
|
|
4162
|
+
sourceTrackLayouts: le,
|
|
4105
4163
|
renderingOptions: se,
|
|
4106
4164
|
linePointOverrides: A
|
|
4107
4165
|
}), k(() => {
|
|
4108
|
-
u.value = ue.value.showPagination &&
|
|
4166
|
+
u.value = ue.value.showPagination && Y.value > 1 && V.value <= 520 ? 40 : 0;
|
|
4109
4167
|
});
|
|
4110
|
-
let
|
|
4168
|
+
let X = Ir({
|
|
4111
4169
|
props: e,
|
|
4112
4170
|
emit: t,
|
|
4113
4171
|
svgElement: r,
|
|
4114
4172
|
sharedOverlayElement: a,
|
|
4115
4173
|
sharedTransform: f,
|
|
4116
4174
|
independentTransforms: p,
|
|
4117
|
-
trackLayouts:
|
|
4118
|
-
initialXDomain:
|
|
4119
|
-
sharedZoomDomain:
|
|
4120
|
-
innerWidth:
|
|
4121
|
-
innerHeight:
|
|
4122
|
-
hasChartArea:
|
|
4123
|
-
isZoomMode:
|
|
4124
|
-
isPresentationMode:
|
|
4125
|
-
resolveInitialTrackDomain:
|
|
4126
|
-
cancelPendingHover: () =>
|
|
4127
|
-
})
|
|
4175
|
+
trackLayouts: le,
|
|
4176
|
+
initialXDomain: _e,
|
|
4177
|
+
sharedZoomDomain: ve,
|
|
4178
|
+
innerWidth: pe,
|
|
4179
|
+
innerHeight: J,
|
|
4180
|
+
hasChartArea: me,
|
|
4181
|
+
isZoomMode: ge,
|
|
4182
|
+
isPresentationMode: W,
|
|
4183
|
+
resolveInitialTrackDomain: ye,
|
|
4184
|
+
cancelPendingHover: () => we.cancelPendingHover()
|
|
4185
|
+
});
|
|
4186
|
+
R = X.prepareForDataChange;
|
|
4187
|
+
let Se = fr({
|
|
4128
4188
|
props: e,
|
|
4129
4189
|
emit: t,
|
|
4130
4190
|
container: n,
|
|
4131
4191
|
chartSeries: ae,
|
|
4132
|
-
hiddenSeriesIdSet:
|
|
4192
|
+
hiddenSeriesIdSet: G,
|
|
4133
4193
|
internalHiddenSeriesIds: E,
|
|
4134
4194
|
annotationInteraction: D,
|
|
4135
4195
|
editorSeriesOptions: j,
|
|
4136
|
-
trackLayouts:
|
|
4137
|
-
annotationLayoutsForTrack:
|
|
4138
|
-
resolveSeriesYScale:
|
|
4139
|
-
chartWidth:
|
|
4140
|
-
chartHeight:
|
|
4141
|
-
innerWidth:
|
|
4196
|
+
trackLayouts: le,
|
|
4197
|
+
annotationLayoutsForTrack: be,
|
|
4198
|
+
resolveSeriesYScale: xe,
|
|
4199
|
+
chartWidth: V,
|
|
4200
|
+
chartHeight: H,
|
|
4201
|
+
innerWidth: pe,
|
|
4142
4202
|
resolvedChartLeftMargin: fe,
|
|
4143
4203
|
titleAreaHeight: re,
|
|
4144
|
-
chartTopMargin:
|
|
4145
|
-
activeInteractionMode:
|
|
4146
|
-
isPresentationMode:
|
|
4147
|
-
}),
|
|
4204
|
+
chartTopMargin: K,
|
|
4205
|
+
activeInteractionMode: he,
|
|
4206
|
+
isPresentationMode: W
|
|
4207
|
+
}), Ce = Pr({
|
|
4148
4208
|
props: e,
|
|
4149
4209
|
emit: t,
|
|
4150
4210
|
selection: N,
|
|
4151
4211
|
spacePressed: P,
|
|
4152
|
-
trackLayouts:
|
|
4212
|
+
trackLayouts: le,
|
|
4153
4213
|
chartTracks: oe,
|
|
4154
|
-
initialXDomain:
|
|
4155
|
-
innerWidth:
|
|
4156
|
-
innerHeight:
|
|
4214
|
+
initialXDomain: _e,
|
|
4215
|
+
innerWidth: pe,
|
|
4216
|
+
innerHeight: J,
|
|
4157
4217
|
sharedOverlayElement: a,
|
|
4158
4218
|
sharedTransform: f,
|
|
4159
4219
|
independentTransforms: p,
|
|
4160
4220
|
sharedYDomains: m,
|
|
4161
4221
|
independentYDomains: h,
|
|
4162
|
-
isZoomMode:
|
|
4163
|
-
isPresentationMode:
|
|
4222
|
+
isZoomMode: ge,
|
|
4223
|
+
isPresentationMode: W,
|
|
4164
4224
|
editorSeriesOptions: j,
|
|
4165
|
-
resolveInitialTrackDomain:
|
|
4166
|
-
canZoomTrack:
|
|
4167
|
-
canZoomSharedTracks:
|
|
4168
|
-
configureZoom:
|
|
4169
|
-
cancelPendingZoom:
|
|
4170
|
-
clearHover: () =>
|
|
4171
|
-
resolveTrackAtPointer:
|
|
4172
|
-
}),
|
|
4225
|
+
resolveInitialTrackDomain: ye,
|
|
4226
|
+
canZoomTrack: X.canZoomTrack,
|
|
4227
|
+
canZoomSharedTracks: X.canZoomSharedTracks,
|
|
4228
|
+
configureZoom: X.configureZoom,
|
|
4229
|
+
cancelPendingZoom: X.cancelPendingZoom,
|
|
4230
|
+
clearHover: () => we.clearHover(),
|
|
4231
|
+
resolveTrackAtPointer: Se.resolveTrackAtPointer
|
|
4232
|
+
}), we = pr({
|
|
4173
4233
|
emit: t,
|
|
4174
4234
|
hoverState: g,
|
|
4175
4235
|
suppressHoverUntilMove: _,
|
|
4176
4236
|
hoverThrottle: M,
|
|
4177
4237
|
selection: N,
|
|
4178
|
-
trackLayouts:
|
|
4179
|
-
innerWidth:
|
|
4238
|
+
trackLayouts: le,
|
|
4239
|
+
innerWidth: pe,
|
|
4180
4240
|
resolvedChartLeftMargin: fe,
|
|
4181
4241
|
titleAreaHeight: re,
|
|
4182
|
-
chartTopMargin:
|
|
4242
|
+
chartTopMargin: K,
|
|
4183
4243
|
sharedOverlayElement: a,
|
|
4184
|
-
isPresentationMode:
|
|
4185
|
-
updateViewportDrag:
|
|
4186
|
-
resolveTrackAtPointer:
|
|
4187
|
-
}),
|
|
4244
|
+
isPresentationMode: W,
|
|
4245
|
+
updateViewportDrag: Ce.updateViewportDrag,
|
|
4246
|
+
resolveTrackAtPointer: Se.resolveTrackAtPointer
|
|
4247
|
+
}), Te = Rr({
|
|
4188
4248
|
props: e,
|
|
4189
4249
|
emit: t,
|
|
4190
4250
|
container: n,
|
|
@@ -4200,41 +4260,41 @@ function Ta(e, t) {
|
|
|
4200
4260
|
spacePressed: P,
|
|
4201
4261
|
pointerInsideChart: F,
|
|
4202
4262
|
currentPage: v,
|
|
4203
|
-
pageCount:
|
|
4204
|
-
pagedTracks:
|
|
4263
|
+
pageCount: Y,
|
|
4264
|
+
pagedTracks: de,
|
|
4205
4265
|
gridOptions: ue,
|
|
4206
4266
|
chartSeries: ae,
|
|
4207
4267
|
chartTracks: oe,
|
|
4208
|
-
trackLayouts:
|
|
4209
|
-
innerWidth:
|
|
4210
|
-
innerHeight:
|
|
4211
|
-
sharedZoomDomain:
|
|
4212
|
-
initialXDomain:
|
|
4268
|
+
trackLayouts: le,
|
|
4269
|
+
innerWidth: pe,
|
|
4270
|
+
innerHeight: J,
|
|
4271
|
+
sharedZoomDomain: ve,
|
|
4272
|
+
initialXDomain: _e,
|
|
4213
4273
|
sharedTransform: f,
|
|
4214
|
-
activeInteractionMode:
|
|
4215
|
-
hiddenSeriesIdSet:
|
|
4274
|
+
activeInteractionMode: he,
|
|
4275
|
+
hiddenSeriesIdSet: G,
|
|
4216
4276
|
internalHiddenSeriesIds: E,
|
|
4217
4277
|
independentTransforms: p,
|
|
4218
4278
|
independentYDomains: h,
|
|
4219
|
-
resolveInitialTrackDomain:
|
|
4279
|
+
resolveInitialTrackDomain: ye,
|
|
4220
4280
|
annotationInteraction: D,
|
|
4221
4281
|
editorSeriesOptions: j,
|
|
4222
|
-
isPresentationMode:
|
|
4223
|
-
clearHover:
|
|
4224
|
-
cancelAnnotation:
|
|
4225
|
-
configureZoom:
|
|
4226
|
-
resetViewport:
|
|
4227
|
-
cancelViewportDrag:
|
|
4228
|
-
cancelPendingHover:
|
|
4229
|
-
clearZoomBindings:
|
|
4282
|
+
isPresentationMode: W,
|
|
4283
|
+
clearHover: we.clearHover,
|
|
4284
|
+
cancelAnnotation: Se.cancelAnnotation,
|
|
4285
|
+
configureZoom: X.configureZoom,
|
|
4286
|
+
resetViewport: Ce.resetViewport,
|
|
4287
|
+
cancelViewportDrag: Ce.cancelViewportDrag,
|
|
4288
|
+
cancelPendingHover: we.cancelPendingHover,
|
|
4289
|
+
clearZoomBindings: X.clearZoomBindings
|
|
4230
4290
|
});
|
|
4231
|
-
return I =
|
|
4291
|
+
return I = Te.handleBeforeDataReferenceChange, L = Te.handleDataReferenceChange, y({
|
|
4232
4292
|
...T(e),
|
|
4233
|
-
...
|
|
4234
|
-
...
|
|
4235
|
-
...X,
|
|
4293
|
+
...B,
|
|
4294
|
+
...ie,
|
|
4236
4295
|
...Se,
|
|
4237
4296
|
...Ce,
|
|
4297
|
+
...we,
|
|
4238
4298
|
margin: Lt,
|
|
4239
4299
|
getPageSize: Bn,
|
|
4240
4300
|
currentPage: v,
|
|
@@ -4246,35 +4306,35 @@ function Ta(e, t) {
|
|
|
4246
4306
|
contextMenu: D.contextMenu,
|
|
4247
4307
|
editorSeriesOptions: j,
|
|
4248
4308
|
clipPathId: w,
|
|
4249
|
-
goToPage:
|
|
4250
|
-
setContainer: (e) =>
|
|
4251
|
-
setSvgElement: (e) =>
|
|
4252
|
-
setTitleMeasureElement: (e) =>
|
|
4253
|
-
setSharedOverlayElement: (e) =>
|
|
4309
|
+
goToPage: Te.goToPage,
|
|
4310
|
+
setContainer: (e) => ka(n, e),
|
|
4311
|
+
setSvgElement: (e) => ka(r, e),
|
|
4312
|
+
setTitleMeasureElement: (e) => ka(i, e),
|
|
4313
|
+
setSharedOverlayElement: (e) => ka(a, e)
|
|
4254
4314
|
});
|
|
4255
4315
|
}
|
|
4256
4316
|
//#endregion
|
|
4257
4317
|
//#region src/components/annotation/WaveformAnnotationEditor.vue?vue&type=script&setup=true&lang.ts
|
|
4258
|
-
var
|
|
4318
|
+
var ja = ["id"], Ma = { class: "waveform-annotation-editor__content" }, Na = {
|
|
4259
4319
|
class: "waveform-annotation-editor__coordinates",
|
|
4260
4320
|
"aria-label": "标注坐标"
|
|
4261
|
-
},
|
|
4321
|
+
}, Pa = ["aria-invalid"], Fa = {
|
|
4262
4322
|
class: "waveform-annotation-editor__coordinate-value",
|
|
4263
4323
|
"aria-hidden": "true"
|
|
4264
|
-
},
|
|
4324
|
+
}, Ia = ["id"], La = {
|
|
4265
4325
|
key: 0,
|
|
4266
4326
|
class: "waveform-annotation-editor__series",
|
|
4267
4327
|
"aria-label": "标注所属波形"
|
|
4268
|
-
},
|
|
4328
|
+
}, Ra = { class: "waveform-annotation-editor__series-label" }, za = ["value"], Ba = ["value"], Va = { key: 1 }, Ha = { class: "waveform-annotation-editor__field" }, Ua = { class: "waveform-annotation-editor__label-row" }, Wa = ["maxlength"], Ga = { class: "waveform-annotation-editor__colors" }, Ka = {
|
|
4269
4329
|
class: "waveform-annotation-editor__color-field",
|
|
4270
4330
|
title: "调整标注边框色和透明度"
|
|
4271
|
-
},
|
|
4331
|
+
}, qa = {
|
|
4272
4332
|
class: "waveform-annotation-editor__color-field",
|
|
4273
4333
|
title: "调整标注文字色和透明度"
|
|
4274
|
-
},
|
|
4334
|
+
}, Ja = {
|
|
4275
4335
|
class: "waveform-annotation-editor__color-field",
|
|
4276
4336
|
title: "调整标注背景色和透明度"
|
|
4277
|
-
},
|
|
4337
|
+
}, Ya = /*#__PURE__*/ et(/* @__PURE__ */ l({
|
|
4278
4338
|
__name: "WaveformAnnotationEditor",
|
|
4279
4339
|
props: {
|
|
4280
4340
|
annotation: {},
|
|
@@ -4294,7 +4354,7 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
|
|
|
4294
4354
|
let u = c(async () => typeof window > "u" ? {
|
|
4295
4355
|
name: "WaveformColorPickerSsrFallback",
|
|
4296
4356
|
render: () => null
|
|
4297
|
-
} : (await import("vue3-colorpicker")).ColorPicker), d = o, p = l, h = b(), g =
|
|
4357
|
+
} : (await import("vue3-colorpicker")).ColorPicker), d = o, p = l, h = b(), g = ce("waveform-annotation-editor-title"), _ = b(""), y = b(""), S = b(!1), C = b(""), T = b(""), k = b(""), M = t(() => S.value && (!y.value.trim() || !Number.isFinite(Number(y.value))) ? "请输入有效的时间" : ""), N = t(() => S.value && (M.value || d.timeError) || ""), P = t(() => _.value.trim().length > 0 && y.value.trim().length > 0 && Number.isFinite(Number(y.value)) && !N.value), F = t(() => _.value.length), I = t(() => {
|
|
4298
4358
|
let e = d.seriesOptions?.find((e) => e.seriesId === d.annotation.seriesId);
|
|
4299
4359
|
return e ? {
|
|
4300
4360
|
id: e.seriesId,
|
|
@@ -4332,7 +4392,7 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
|
|
|
4332
4392
|
let t = e.target;
|
|
4333
4393
|
t.value && p("series-change", t.value);
|
|
4334
4394
|
}
|
|
4335
|
-
return (t, o) => (v(), n(E(
|
|
4395
|
+
return (t, o) => (v(), n(E(ae), {
|
|
4336
4396
|
visible: !0,
|
|
4337
4397
|
width: 440,
|
|
4338
4398
|
"mask-closable": !0,
|
|
@@ -4345,15 +4405,15 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
|
|
|
4345
4405
|
onCancel: o[4] ||= (e) => p("cancel"),
|
|
4346
4406
|
onOk: B
|
|
4347
4407
|
}, {
|
|
4348
|
-
title: A(() => [a("span", { id: E(g) }, w(d.mode === "add" ? "添加标注" : "编辑标注"), 9,
|
|
4349
|
-
default: A(() => [a("div",
|
|
4350
|
-
a("div",
|
|
4408
|
+
title: A(() => [a("span", { id: E(g) }, w(d.mode === "add" ? "添加标注" : "编辑标注"), 9, ja)]),
|
|
4409
|
+
default: A(() => [a("div", Ma, [
|
|
4410
|
+
a("div", Na, [
|
|
4351
4411
|
a("label", {
|
|
4352
4412
|
class: "waveform-annotation-editor__coordinate-input",
|
|
4353
4413
|
"aria-invalid": !!N.value
|
|
4354
4414
|
}, [
|
|
4355
4415
|
o[5] ||= a("b", null, "X", -1),
|
|
4356
|
-
s(E(
|
|
4416
|
+
s(E(ie), {
|
|
4357
4417
|
value: y.value === "" ? void 0 : Number(y.value),
|
|
4358
4418
|
controls: !0,
|
|
4359
4419
|
step: .001,
|
|
@@ -4370,26 +4430,26 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
|
|
|
4370
4430
|
"aria-invalid",
|
|
4371
4431
|
"aria-describedby"
|
|
4372
4432
|
]),
|
|
4373
|
-
a("code",
|
|
4374
|
-
], 8,
|
|
4433
|
+
a("code", Fa, w(y.value), 1)
|
|
4434
|
+
], 8, Pa),
|
|
4375
4435
|
N.value ? (v(), i("p", {
|
|
4376
4436
|
key: 0,
|
|
4377
4437
|
id: `${E(g)}-time-error`,
|
|
4378
4438
|
class: "waveform-annotation-editor__coordinate-error",
|
|
4379
4439
|
role: "alert"
|
|
4380
|
-
}, w(N.value), 9,
|
|
4440
|
+
}, w(N.value), 9, Ia)) : r("", !0),
|
|
4381
4441
|
a("span", null, [o[6] ||= a("b", null, "Y", -1), a("code", null, w(E(Ot)(d.annotation.y)), 1)])
|
|
4382
4442
|
]),
|
|
4383
4443
|
o[13] ||= a("p", {
|
|
4384
4444
|
class: "waveform-annotation-editor__coordinate-hint",
|
|
4385
4445
|
role: "note"
|
|
4386
4446
|
}, " 修改 X 轴后失焦时会自动吸附最近的采样点 ", -1),
|
|
4387
|
-
I.value ? (v(), i("label",
|
|
4447
|
+
I.value ? (v(), i("label", La, [
|
|
4388
4448
|
a("i", {
|
|
4389
4449
|
style: m({ backgroundColor: I.value.color }),
|
|
4390
4450
|
"aria-hidden": "true"
|
|
4391
4451
|
}, null, 4),
|
|
4392
|
-
a("span",
|
|
4452
|
+
a("span", Ra, [o[7] ||= a("small", null, "标注波形", -1), a("b", null, w(I.value.name), 1)]),
|
|
4393
4453
|
d.seriesOptions?.length ? (v(), i("select", {
|
|
4394
4454
|
key: 0,
|
|
4395
4455
|
value: d.annotation.seriesId,
|
|
@@ -4398,9 +4458,9 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
|
|
|
4398
4458
|
}, [(v(!0), i(e, null, x(d.seriesOptions, (e) => (v(), i("option", {
|
|
4399
4459
|
key: e.seriesId,
|
|
4400
4460
|
value: e.seriesId
|
|
4401
|
-
}, w(e.name) + w(e.unit ? ` (${e.unit})` : ""), 9,
|
|
4461
|
+
}, w(e.name) + w(e.unit ? ` (${e.unit})` : ""), 9, Ba))), 128))], 40, za)) : I.value.unit ? (v(), i("code", Va, w(I.value.unit), 1)) : r("", !0)
|
|
4402
4462
|
])) : r("", !0),
|
|
4403
|
-
a("label",
|
|
4463
|
+
a("label", Ha, [a("span", Ua, [o[8] ||= a("b", null, "标注文本", -1), a("small", null, w(F.value) + "/" + w(E(40)), 1)]), j(a("textarea", {
|
|
4404
4464
|
ref_key: "textarea",
|
|
4405
4465
|
ref: h,
|
|
4406
4466
|
"onUpdate:modelValue": o[0] ||= (e) => _.value = e,
|
|
@@ -4409,10 +4469,10 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
|
|
|
4409
4469
|
"aria-label": "标注文本",
|
|
4410
4470
|
placeholder: "输入这处波形的说明",
|
|
4411
4471
|
onKeydown: V
|
|
4412
|
-
}, null, 40,
|
|
4413
|
-
a("fieldset",
|
|
4472
|
+
}, null, 40, Wa), [[D, _.value]])]),
|
|
4473
|
+
a("fieldset", Ga, [
|
|
4414
4474
|
o[12] ||= a("legend", null, "颜色与透明度", -1),
|
|
4415
|
-
a("label",
|
|
4475
|
+
a("label", Ka, [o[9] ||= a("span", null, "边框色", -1), s(E(u), {
|
|
4416
4476
|
"pure-color": C.value,
|
|
4417
4477
|
"onUpdate:pureColor": o[1] ||= (e) => C.value = e,
|
|
4418
4478
|
"aria-label": "标注边框色",
|
|
@@ -4422,7 +4482,7 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
|
|
|
4422
4482
|
"disable-alpha": !1,
|
|
4423
4483
|
"blur-close": !0
|
|
4424
4484
|
}, null, 8, ["pure-color"])]),
|
|
4425
|
-
a("label",
|
|
4485
|
+
a("label", qa, [o[10] ||= a("span", null, "文字色", -1), s(E(u), {
|
|
4426
4486
|
"pure-color": T.value,
|
|
4427
4487
|
"onUpdate:pureColor": o[2] ||= (e) => T.value = e,
|
|
4428
4488
|
"aria-label": "标注文字色",
|
|
@@ -4432,7 +4492,7 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
|
|
|
4432
4492
|
"disable-alpha": !1,
|
|
4433
4493
|
"blur-close": !0
|
|
4434
4494
|
}, null, 8, ["pure-color"])]),
|
|
4435
|
-
a("label",
|
|
4495
|
+
a("label", Ja, [o[11] ||= a("span", null, "背景色", -1), s(E(u), {
|
|
4436
4496
|
"pure-color": k.value,
|
|
4437
4497
|
"onUpdate:pureColor": o[3] ||= (e) => k.value = e,
|
|
4438
4498
|
"aria-label": "标注背景色",
|
|
@@ -4447,13 +4507,13 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
|
|
|
4447
4507
|
_: 1
|
|
4448
4508
|
}, 8, ["ok-button-props"]));
|
|
4449
4509
|
}
|
|
4450
|
-
}), [["__scopeId", "data-v-01ecd3a4"]]),
|
|
4510
|
+
}), [["__scopeId", "data-v-01ecd3a4"]]), Xa = { class: "waveform-tooltip__series-content" }, Za = { class: "waveform-tooltip__series-label" }, Qa = {
|
|
4451
4511
|
key: 0,
|
|
4452
4512
|
class: "waveform-tooltip__value"
|
|
4453
|
-
},
|
|
4513
|
+
}, $a = {
|
|
4454
4514
|
key: 1,
|
|
4455
4515
|
class: "waveform-tooltip__value waveform-tooltip__value--missing"
|
|
4456
|
-
},
|
|
4516
|
+
}, eo = 12, to = 8, no = 238, ro = 560, io = 20, ao = 20, oo = /*#__PURE__*/ et(/* @__PURE__ */ l({
|
|
4457
4517
|
__name: "WaveformTooltip",
|
|
4458
4518
|
props: {
|
|
4459
4519
|
visible: { type: Boolean },
|
|
@@ -4467,7 +4527,7 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
|
|
|
4467
4527
|
setup(n) {
|
|
4468
4528
|
let s = n;
|
|
4469
4529
|
function c(e, t) {
|
|
4470
|
-
let n = Math.max(1, t -
|
|
4530
|
+
let n = Math.max(1, t - io - 14), r = Math.max(1, Math.floor(n / 7.2));
|
|
4471
4531
|
return Math.max(1, Math.ceil([...e].length / r));
|
|
4472
4532
|
}
|
|
4473
4533
|
function l(e) {
|
|
@@ -4475,18 +4535,18 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
|
|
|
4475
4535
|
return `${e.shotNo?.trim() || "未配置炮号"}: ${e.name}${e.unit ? `(${e.unit})` : ""} ${t}`;
|
|
4476
4536
|
}
|
|
4477
4537
|
function u(e) {
|
|
4478
|
-
return 16 +
|
|
4538
|
+
return 16 + ao * s.seriesPoints.reduce((t, n) => t + c(l(n), e), 0) + 5;
|
|
4479
4539
|
}
|
|
4480
4540
|
let d = t(() => {
|
|
4481
4541
|
if (!s.visible || !s.hoveredPoint) return { display: "none" };
|
|
4482
|
-
let e = s.position.x +
|
|
4542
|
+
let e = s.position.x + eo, t = s.position.x - eo - no, n = s.containerWidth - to - e, r = s.position.x - eo - to, i = Math.max(1, Math.min(ro, s.containerWidth - to * 2)), a = e + no <= s.containerWidth - to ? {
|
|
4483
4543
|
left: `${e}px`,
|
|
4484
|
-
maxWidth: `${Math.min(
|
|
4485
|
-
} : t >=
|
|
4486
|
-
right: `${s.containerWidth - s.position.x +
|
|
4487
|
-
maxWidth: `${Math.min(
|
|
4544
|
+
maxWidth: `${Math.min(ro, n)}px`
|
|
4545
|
+
} : t >= to ? {
|
|
4546
|
+
right: `${s.containerWidth - s.position.x + eo}px`,
|
|
4547
|
+
maxWidth: `${Math.min(ro, r)}px`
|
|
4488
4548
|
} : {
|
|
4489
|
-
left: `${
|
|
4549
|
+
left: `${to}px`,
|
|
4490
4550
|
maxWidth: `${i}px`
|
|
4491
4551
|
}, o = Number.parseFloat(a.maxWidth);
|
|
4492
4552
|
return {
|
|
@@ -4501,9 +4561,9 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
|
|
|
4501
4561
|
}, [(v(!0), i(e, null, x(n.seriesPoints, (t) => (v(), i("span", {
|
|
4502
4562
|
key: `${t.trackIndex}-${t.name}`,
|
|
4503
4563
|
class: "waveform-tooltip__series waveform-chart__tooltip-series"
|
|
4504
|
-
}, [a("i", { style: m({ backgroundColor: t.color }) }, null, 4), a("span",
|
|
4564
|
+
}, [a("i", { style: m({ backgroundColor: t.color }) }, null, 4), a("span", Xa, [a("span", Za, [o(w(t.shotNo?.trim() || "未配置炮号") + ": " + w(t.name), 1), t.unit ? (v(), i(e, { key: 0 }, [o("(" + w(t.unit) + ")", 1)], 64)) : r("", !0)]), t.point ? (v(), i("span", Qa, "(x:" + w(E(Nt)(t.point.x, n.timeUnit)) + " y:" + w(E(Dt)(t.point.y)) + ")", 1)) : (v(), i("span", $a, "无数据"))])]))), 128))], 4)) : r("", !0);
|
|
4505
4565
|
}
|
|
4506
|
-
}), [["__scopeId", "data-v-1ae3316b"]]),
|
|
4566
|
+
}), [["__scopeId", "data-v-1ae3316b"]]), so = /* @__PURE__ */ l({
|
|
4507
4567
|
__name: "WaveformHoverHost",
|
|
4508
4568
|
props: {
|
|
4509
4569
|
state: {},
|
|
@@ -4514,7 +4574,7 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
|
|
|
4514
4574
|
},
|
|
4515
4575
|
setup(e) {
|
|
4516
4576
|
let r = e, i = t(() => r.state.points.find((e) => e.point)?.point ?? null);
|
|
4517
|
-
return (t, r) => (v(), n(
|
|
4577
|
+
return (t, r) => (v(), n(oo, {
|
|
4518
4578
|
visible: e.visible && i.value !== null,
|
|
4519
4579
|
position: e.state.position,
|
|
4520
4580
|
"time-unit": e.timeUnit,
|
|
@@ -4532,16 +4592,16 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
|
|
|
4532
4592
|
"container-height"
|
|
4533
4593
|
]));
|
|
4534
4594
|
}
|
|
4535
|
-
}),
|
|
4536
|
-
circle:
|
|
4537
|
-
square:
|
|
4538
|
-
triangle:
|
|
4539
|
-
diamond:
|
|
4595
|
+
}), co = 13, lo = 2, uo = 14, fo = 8, po = 24, mo = {
|
|
4596
|
+
circle: ee,
|
|
4597
|
+
square: ne,
|
|
4598
|
+
triangle: re,
|
|
4599
|
+
diamond: te
|
|
4540
4600
|
};
|
|
4541
|
-
function
|
|
4542
|
-
return e === "none" ? null :
|
|
4601
|
+
function ho(e, t = 48) {
|
|
4602
|
+
return e === "none" ? null : G().type(mo[e]).size(t)() ?? null;
|
|
4543
4603
|
}
|
|
4544
|
-
function
|
|
4604
|
+
function go(e, t, n = 48) {
|
|
4545
4605
|
if (e === "none" || t.length === 0) return null;
|
|
4546
4606
|
if (e === "circle") {
|
|
4547
4607
|
let e = Math.sqrt(n / Math.PI);
|
|
@@ -4558,24 +4618,24 @@ function uo(e, t, n = 48) {
|
|
|
4558
4618
|
let r = Math.sqrt(n / (2 * Math.tan(Math.PI / 6))), i = r * Math.tan(Math.PI / 6);
|
|
4559
4619
|
return t.map(({ x: e, y: t }) => `M${e},${t - r}L${e + i},${t}L${e},${t + r}L${e - i},${t}Z`).join("");
|
|
4560
4620
|
}
|
|
4561
|
-
function
|
|
4621
|
+
function _o(e) {
|
|
4562
4622
|
return e === "none" ? null : "M1 8H25";
|
|
4563
4623
|
}
|
|
4564
|
-
function
|
|
4624
|
+
function vo(e) {
|
|
4565
4625
|
if (e === "dashed") return "8 5";
|
|
4566
4626
|
if (e === "dash-dot") return "8 5 1.5 5";
|
|
4567
4627
|
}
|
|
4568
|
-
function
|
|
4569
|
-
let t = (Number.isFinite(e) && e > 0 ? Math.min(e,
|
|
4628
|
+
function yo(e) {
|
|
4629
|
+
let t = (Number.isFinite(e) && e > 0 ? Math.min(e, po) : fo) / 2, n = co - t, r = co + t;
|
|
4570
4630
|
return [
|
|
4571
|
-
`M${n} ${
|
|
4572
|
-
`M${
|
|
4573
|
-
`M${n} ${
|
|
4631
|
+
`M${n} ${lo}H${r}`,
|
|
4632
|
+
`M${co} ${lo}V${uo}`,
|
|
4633
|
+
`M${n} ${uo}H${r}`
|
|
4574
4634
|
].join("");
|
|
4575
4635
|
}
|
|
4576
4636
|
//#endregion
|
|
4577
4637
|
//#region src/components/rendering/WaveformSeriesLayer.vue?vue&type=script&setup=true&lang.ts
|
|
4578
|
-
var
|
|
4638
|
+
var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
|
|
4579
4639
|
"data-series-id",
|
|
4580
4640
|
"data-series-name",
|
|
4581
4641
|
"data-y-axis-index",
|
|
@@ -4584,11 +4644,11 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
4584
4644
|
"d",
|
|
4585
4645
|
"stroke",
|
|
4586
4646
|
"stroke-dasharray"
|
|
4587
|
-
],
|
|
4647
|
+
], Co = ["data-series-id"], wo = [
|
|
4588
4648
|
"d",
|
|
4589
4649
|
"stroke",
|
|
4590
4650
|
"stroke-width"
|
|
4591
|
-
],
|
|
4651
|
+
], To = ["data-series-id", "data-point-type"], Eo = ["d", "fill"], Do = /*#__PURE__*/ et(/* @__PURE__ */ l({
|
|
4592
4652
|
__name: "WaveformSeriesLayer",
|
|
4593
4653
|
props: {
|
|
4594
4654
|
track: {},
|
|
@@ -4596,7 +4656,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
4596
4656
|
},
|
|
4597
4657
|
setup(n) {
|
|
4598
4658
|
let a = n, o = t(() => a.track.seriesPaths.map((e) => {
|
|
4599
|
-
let t =
|
|
4659
|
+
let t = go(e.series.pointType, e.pointRenderPoints.map((t) => ({
|
|
4600
4660
|
x: a.track.xScale(t.x),
|
|
4601
4661
|
y: e.yScale(t.y)
|
|
4602
4662
|
}))), n = e.series.errorBar.capWidth / 2, r = e.errorBarRenderPoints.map((t) => {
|
|
@@ -4633,8 +4693,8 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
4633
4693
|
"data-line-style": e.series.lineStyle,
|
|
4634
4694
|
d: e.path,
|
|
4635
4695
|
stroke: e.series.color,
|
|
4636
|
-
"stroke-dasharray": E(
|
|
4637
|
-
}, null, 8,
|
|
4696
|
+
"stroke-dasharray": E(vo)(e.series.lineStyle)
|
|
4697
|
+
}, null, 8, So)) : r("", !0),
|
|
4638
4698
|
e.series.errorBar.visible ? (v(), i("g", {
|
|
4639
4699
|
key: 1,
|
|
4640
4700
|
class: "waveform-track__error-bars waveform-chart__error-bars",
|
|
@@ -4645,7 +4705,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
4645
4705
|
d: e.errorBarPath,
|
|
4646
4706
|
stroke: e.series.errorBar.color || e.series.color,
|
|
4647
4707
|
"stroke-width": e.series.errorBar.width
|
|
4648
|
-
}, null, 8,
|
|
4708
|
+
}, null, 8, wo)) : r("", !0)], 8, Co)) : r("", !0),
|
|
4649
4709
|
e.series.pointType === "none" ? r("", !0) : (v(), i("g", {
|
|
4650
4710
|
key: 2,
|
|
4651
4711
|
class: "waveform-track__points waveform-chart__points",
|
|
@@ -4656,28 +4716,28 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
4656
4716
|
class: "waveform-track__point waveform-chart__point",
|
|
4657
4717
|
d: e.pointPath,
|
|
4658
4718
|
fill: e.series.color
|
|
4659
|
-
}, null, 8,
|
|
4660
|
-
], 8,
|
|
4719
|
+
}, null, 8, Eo)) : r("", !0)], 8, To))
|
|
4720
|
+
], 8, xo))), 128))], 8, bo)) : r("", !0);
|
|
4661
4721
|
}
|
|
4662
|
-
}), [["__scopeId", "data-v-42a3fd47"]]),
|
|
4722
|
+
}), [["__scopeId", "data-v-42a3fd47"]]), Oo = ["transform"], ko = ["transform"], Ao = {
|
|
4663
4723
|
class: "waveform-track__axis-endpoint waveform-track__axis-endpoint--start waveform-chart__axis-endpoint waveform-chart__axis-endpoint--start",
|
|
4664
4724
|
x: "0",
|
|
4665
4725
|
y: "7",
|
|
4666
4726
|
dy: "0.71em",
|
|
4667
4727
|
"text-anchor": "start"
|
|
4668
|
-
},
|
|
4728
|
+
}, jo = ["x"], Mo = [
|
|
4669
4729
|
"data-y-axis-index",
|
|
4670
4730
|
"data-y-axis-side",
|
|
4671
4731
|
"transform"
|
|
4672
|
-
],
|
|
4732
|
+
], No = { key: 2 }, Po = [
|
|
4673
4733
|
"x",
|
|
4674
4734
|
"y",
|
|
4675
4735
|
"width"
|
|
4676
|
-
],
|
|
4736
|
+
], Fo = ["fill", "transform"], Io = ["data-y-axis-title-index"], Lo = [
|
|
4677
4737
|
"x",
|
|
4678
4738
|
"y",
|
|
4679
4739
|
"width"
|
|
4680
|
-
],
|
|
4740
|
+
], Ro = ["fill", "transform"], zo = /* @__PURE__ */ l({
|
|
4681
4741
|
__name: "WaveformTrackAxes",
|
|
4682
4742
|
props: {
|
|
4683
4743
|
track: {},
|
|
@@ -4737,7 +4797,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
4737
4797
|
ref: o,
|
|
4738
4798
|
class: p(["waveform-track__axis waveform-track__axis--x waveform-chart__axis waveform-chart__axis--x", { "waveform-track__axis--line-hidden": t.axes?.x?.lineVisible === !1 }]),
|
|
4739
4799
|
transform: `translate(0, ${t.track.height})`
|
|
4740
|
-
}, null, 10,
|
|
4800
|
+
}, null, 10, Oo)) : r("", !0),
|
|
4741
4801
|
t.track.showXAxis ? (v(), i("g", {
|
|
4742
4802
|
key: 1,
|
|
4743
4803
|
class: "waveform-track__axis-endpoints waveform-chart__axis-endpoints",
|
|
@@ -4745,13 +4805,13 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
4745
4805
|
"font-family": "sans-serif",
|
|
4746
4806
|
"font-size": "10",
|
|
4747
4807
|
"aria-hidden": "true"
|
|
4748
|
-
}, [a("text",
|
|
4808
|
+
}, [a("text", Ao, w(t.track.endpointLabels.start), 1), a("text", {
|
|
4749
4809
|
class: "waveform-track__axis-endpoint waveform-track__axis-endpoint--end waveform-chart__axis-endpoint waveform-chart__axis-endpoint--end",
|
|
4750
4810
|
x: t.track.width ?? t.innerWidth,
|
|
4751
4811
|
y: "7",
|
|
4752
4812
|
dy: "0.71em",
|
|
4753
4813
|
"text-anchor": "end"
|
|
4754
|
-
}, w(t.track.endpointLabels.end), 9,
|
|
4814
|
+
}, w(t.track.endpointLabels.end), 9, jo)], 8, ko)) : r("", !0),
|
|
4755
4815
|
(v(!0), i(e, null, x(t.track.isEmpty ? [] : t.track.yAxes, (e) => (v(), i("g", {
|
|
4756
4816
|
key: `y-axis-${t.track.index}-${e.index}`,
|
|
4757
4817
|
ref_for: !0,
|
|
@@ -4760,21 +4820,21 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
4760
4820
|
"data-y-axis-index": e.index,
|
|
4761
4821
|
"data-y-axis-side": e.side,
|
|
4762
4822
|
transform: `translate(${e.x}, 0)`
|
|
4763
|
-
}, null, 10,
|
|
4764
|
-
!t.cleanView && !t.track.isEmpty && t.track.hasVisibleSeries && t.track.seriesList.length === 1 && t.track.showYAxisLabel && t.track.series && c(t.track.series) && d(t.track.height, t.track.index) ? (v(), i("g",
|
|
4823
|
+
}, null, 10, Mo))), 128)),
|
|
4824
|
+
!t.cleanView && !t.track.isEmpty && t.track.hasVisibleSeries && t.track.seriesList.length === 1 && t.track.showYAxisLabel && t.track.series && c(t.track.series) && d(t.track.height, t.track.index) ? (v(), i("g", No, [a("rect", {
|
|
4765
4825
|
class: "waveform-track__y-axis-label-bg waveform-chart__y-axis-label-bg",
|
|
4766
4826
|
x: t.track.yAxisLabelX - E(12) / 2,
|
|
4767
4827
|
y: t.track.height / 2 - 40,
|
|
4768
4828
|
width: E(12),
|
|
4769
4829
|
height: "80",
|
|
4770
4830
|
rx: "2"
|
|
4771
|
-
}, null, 8,
|
|
4831
|
+
}, null, 8, Po), a("text", {
|
|
4772
4832
|
class: "waveform-track__y-axis-label waveform-chart__y-axis-label",
|
|
4773
4833
|
fill: t.track.series?.color,
|
|
4774
4834
|
transform: `translate(${t.track.yAxisLabelX}, ${t.track.height / 2}) rotate(-90)`,
|
|
4775
4835
|
"text-anchor": "middle",
|
|
4776
4836
|
"dominant-baseline": "central"
|
|
4777
|
-
}, w(t.track.series ? c(t.track.series) : ""), 9,
|
|
4837
|
+
}, w(t.track.series ? c(t.track.series) : ""), 9, Fo)])) : r("", !0),
|
|
4778
4838
|
(v(!0), i(e, null, x(!t.cleanView && t.track.yAxes.length > 1 ? t.track.yAxes.filter(l) : [], (e) => (v(), i("g", {
|
|
4779
4839
|
key: `y-axis-title-${t.track.index}-${e.index}`,
|
|
4780
4840
|
class: "waveform-track__multi-axis-title",
|
|
@@ -4786,40 +4846,40 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
4786
4846
|
width: E(12),
|
|
4787
4847
|
height: "80",
|
|
4788
4848
|
rx: "2"
|
|
4789
|
-
}, null, 8,
|
|
4849
|
+
}, null, 8, Lo), a("text", {
|
|
4790
4850
|
class: "waveform-track__y-axis-label waveform-chart__y-axis-label",
|
|
4791
4851
|
fill: e.seriesList[0].color,
|
|
4792
4852
|
transform: `translate(${e.labelX}, ${t.track.height / 2}) rotate(-90)`,
|
|
4793
4853
|
"text-anchor": "middle",
|
|
4794
4854
|
"dominant-baseline": "central"
|
|
4795
|
-
}, w(c(e.seriesList[0])), 9,
|
|
4855
|
+
}, w(c(e.seriesList[0])), 9, Ro)], 8, Io))), 128))
|
|
4796
4856
|
], 64));
|
|
4797
4857
|
}
|
|
4798
|
-
}),
|
|
4858
|
+
}), Bo = [
|
|
4799
4859
|
"width",
|
|
4800
4860
|
"height",
|
|
4801
4861
|
"fill"
|
|
4802
|
-
],
|
|
4862
|
+
], Vo = ["clip-path"], Ho = { class: "waveform-track__grid waveform-track__grid--minor waveform-chart__grid waveform-chart__grid--minor" }, Uo = [
|
|
4803
4863
|
"stroke",
|
|
4804
4864
|
"x1",
|
|
4805
4865
|
"x2",
|
|
4806
4866
|
"y2"
|
|
4807
|
-
],
|
|
4867
|
+
], Wo = [
|
|
4808
4868
|
"stroke",
|
|
4809
4869
|
"x2",
|
|
4810
4870
|
"y1",
|
|
4811
4871
|
"y2"
|
|
4812
|
-
],
|
|
4872
|
+
], Go = { class: "waveform-track__grid waveform-track__grid--major waveform-chart__grid waveform-chart__grid--major" }, Ko = [
|
|
4813
4873
|
"stroke",
|
|
4814
4874
|
"x1",
|
|
4815
4875
|
"x2",
|
|
4816
4876
|
"y2"
|
|
4817
|
-
],
|
|
4877
|
+
], qo = [
|
|
4818
4878
|
"stroke",
|
|
4819
4879
|
"x2",
|
|
4820
4880
|
"y1",
|
|
4821
4881
|
"y2"
|
|
4822
|
-
],
|
|
4882
|
+
], Jo = ["clip-path"], Yo = [
|
|
4823
4883
|
"data-y-axis-index",
|
|
4824
4884
|
"x2",
|
|
4825
4885
|
"y1",
|
|
@@ -4827,7 +4887,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
4827
4887
|
"stroke",
|
|
4828
4888
|
"stroke-width",
|
|
4829
4889
|
"stroke-dasharray"
|
|
4830
|
-
],
|
|
4890
|
+
], Xo = ["x", "y"], Zo = /* @__PURE__ */ l({
|
|
4831
4891
|
__name: "WaveformTrackBackdrop",
|
|
4832
4892
|
props: {
|
|
4833
4893
|
track: {},
|
|
@@ -4852,12 +4912,12 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
4852
4912
|
height: t.track.height,
|
|
4853
4913
|
fill: t.frameStyle.backgroundColor,
|
|
4854
4914
|
"aria-hidden": "true"
|
|
4855
|
-
}, null, 8,
|
|
4915
|
+
}, null, 8, Bo)) : r("", !0),
|
|
4856
4916
|
!t.track.isEmpty && t.track.hasVisibleSeries && !t.cleanView ? (v(), i("g", {
|
|
4857
4917
|
key: 1,
|
|
4858
4918
|
"clip-path": `url(#${t.clipPathId}-${t.track.index})`,
|
|
4859
4919
|
"aria-hidden": "true"
|
|
4860
|
-
}, [a("g",
|
|
4920
|
+
}, [a("g", Ho, [t.track.gridLines.vertical ? (v(!0), i(e, { key: 0 }, x(t.track.xMinorTicks, (e) => (v(), i("line", {
|
|
4861
4921
|
key: `x-minor-${t.track.index}-${e}`,
|
|
4862
4922
|
"data-grid-direction": "vertical",
|
|
4863
4923
|
stroke: t.track.gridLines.verticalColor,
|
|
@@ -4865,7 +4925,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
4865
4925
|
x2: t.track.xScale(e),
|
|
4866
4926
|
y1: "0",
|
|
4867
4927
|
y2: t.track.height
|
|
4868
|
-
}, null, 8,
|
|
4928
|
+
}, null, 8, Uo))), 128)) : r("", !0), t.track.gridLines.horizontal ? (v(!0), i(e, { key: 1 }, x(t.track.yMinorTicks, (e) => (v(), i("line", {
|
|
4869
4929
|
key: `y-minor-${t.track.index}-${e}`,
|
|
4870
4930
|
"data-grid-direction": "horizontal",
|
|
4871
4931
|
stroke: t.track.gridLines.horizontalColor,
|
|
@@ -4873,7 +4933,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
4873
4933
|
x2: t.track.width ?? t.innerWidth,
|
|
4874
4934
|
y1: t.track.yScale(e),
|
|
4875
4935
|
y2: t.track.yScale(e)
|
|
4876
|
-
}, null, 8,
|
|
4936
|
+
}, null, 8, Wo))), 128)) : r("", !0)]), a("g", Go, [t.track.gridLines.vertical ? (v(!0), i(e, { key: 0 }, x(t.track.xMajorTicks, (e) => (v(), i("line", {
|
|
4877
4937
|
key: `x-major-${t.track.index}-${e}`,
|
|
4878
4938
|
"data-grid-direction": "vertical",
|
|
4879
4939
|
stroke: t.track.gridLines.verticalColor,
|
|
@@ -4881,7 +4941,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
4881
4941
|
x2: t.track.xScale(e),
|
|
4882
4942
|
y1: "0",
|
|
4883
4943
|
y2: t.track.height
|
|
4884
|
-
}, null, 8,
|
|
4944
|
+
}, null, 8, Ko))), 128)) : r("", !0), t.track.gridLines.horizontal ? (v(!0), i(e, { key: 1 }, x(t.track.yMajorTicks, (e) => (v(), i("line", {
|
|
4885
4945
|
key: `y-major-${t.track.index}-${e}`,
|
|
4886
4946
|
"data-grid-direction": "horizontal",
|
|
4887
4947
|
stroke: t.track.gridLines.horizontalColor,
|
|
@@ -4889,7 +4949,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
4889
4949
|
x2: t.track.width ?? t.innerWidth,
|
|
4890
4950
|
y1: t.track.yScale(e),
|
|
4891
4951
|
y2: t.track.yScale(e)
|
|
4892
|
-
}, null, 8,
|
|
4952
|
+
}, null, 8, qo))), 128)) : r("", !0)])], 8, Vo)) : r("", !0),
|
|
4893
4953
|
!t.track.isEmpty && t.track.hasVisibleSeries && t.zeroLine.visible && !t.cleanView ? (v(), i("g", {
|
|
4894
4954
|
key: 2,
|
|
4895
4955
|
class: "waveform-track__zero-lines waveform-chart__zero-lines",
|
|
@@ -4906,7 +4966,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
4906
4966
|
stroke: t.zeroLine.color,
|
|
4907
4967
|
"stroke-width": t.zeroLine.width,
|
|
4908
4968
|
"stroke-dasharray": t.zeroLine.dash || void 0
|
|
4909
|
-
}, null, 8,
|
|
4969
|
+
}, null, 8, Yo))], 64))), 128))], 8, Jo)) : r("", !0),
|
|
4910
4970
|
!t.track.isEmpty && t.track.hasVisibleSeries && t.frameNumber !== void 0 && !t.cleanView ? (v(), i("text", {
|
|
4911
4971
|
key: 3,
|
|
4912
4972
|
class: "waveform-track__watermark waveform-chart__watermark",
|
|
@@ -4916,10 +4976,10 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
4916
4976
|
"text-anchor": "middle",
|
|
4917
4977
|
"dominant-baseline": "central",
|
|
4918
4978
|
"aria-hidden": "true"
|
|
4919
|
-
}, w(t.frameNumber), 13,
|
|
4979
|
+
}, w(t.frameNumber), 13, Xo)) : r("", !0)
|
|
4920
4980
|
], 64));
|
|
4921
4981
|
}
|
|
4922
|
-
}),
|
|
4982
|
+
}), Qo = [
|
|
4923
4983
|
"data-track-index",
|
|
4924
4984
|
"data-track-id",
|
|
4925
4985
|
"data-track-empty",
|
|
@@ -4929,19 +4989,19 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
4929
4989
|
"data-track-top",
|
|
4930
4990
|
"data-track-height",
|
|
4931
4991
|
"transform"
|
|
4932
|
-
],
|
|
4992
|
+
], $o = [
|
|
4933
4993
|
"width",
|
|
4934
4994
|
"height",
|
|
4935
4995
|
"stroke",
|
|
4936
4996
|
"stroke-width",
|
|
4937
4997
|
"stroke-dasharray",
|
|
4938
4998
|
"stroke-linecap"
|
|
4939
|
-
],
|
|
4999
|
+
], es = [
|
|
4940
5000
|
"data-interactive",
|
|
4941
5001
|
"data-independent-overlay-index",
|
|
4942
5002
|
"width",
|
|
4943
5003
|
"height"
|
|
4944
|
-
],
|
|
5004
|
+
], ts = ["x", "y"], ns = /* @__PURE__ */ l({
|
|
4945
5005
|
__name: "WaveformTrack",
|
|
4946
5006
|
props: {
|
|
4947
5007
|
track: {},
|
|
@@ -5001,7 +5061,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
5001
5061
|
"data-track-height": e.track.height,
|
|
5002
5062
|
transform: `translate(${e.track.left ?? 0}, ${e.track.top})`
|
|
5003
5063
|
}, [
|
|
5004
|
-
s(
|
|
5064
|
+
s(Zo, {
|
|
5005
5065
|
track: e.track,
|
|
5006
5066
|
"clip-path-id": e.clipPathId,
|
|
5007
5067
|
"inner-width": e.innerWidth,
|
|
@@ -5018,7 +5078,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
5018
5078
|
"frame-style",
|
|
5019
5079
|
"zero-line"
|
|
5020
5080
|
]),
|
|
5021
|
-
s(
|
|
5081
|
+
s(zo, {
|
|
5022
5082
|
track: e.track,
|
|
5023
5083
|
"inner-width": e.innerWidth,
|
|
5024
5084
|
"clean-view": e.cleanView,
|
|
@@ -5044,8 +5104,8 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
5044
5104
|
"stroke-dasharray": c.value.borderStyle === "dashed" ? "6 4" : c.value.borderStyle === "dotted" ? "1 3" : void 0,
|
|
5045
5105
|
"stroke-linecap": c.value.borderStyle === "dotted" ? "round" : void 0,
|
|
5046
5106
|
"aria-hidden": "true"
|
|
5047
|
-
}, null, 8,
|
|
5048
|
-
s(
|
|
5107
|
+
}, null, 8, $o)),
|
|
5108
|
+
s(Do, {
|
|
5049
5109
|
track: e.track,
|
|
5050
5110
|
"clip-path-id": e.clipPathId
|
|
5051
5111
|
}, null, 8, ["track", "clip-path-id"]),
|
|
@@ -5067,7 +5127,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
5067
5127
|
onPointerleave: n[4] ||= (e) => o("pointer-leave"),
|
|
5068
5128
|
onClick: n[5] ||= (e) => o("click", e),
|
|
5069
5129
|
onContextmenu: n[6] ||= (e) => o("contextmenu", e)
|
|
5070
|
-
}, null, 42,
|
|
5130
|
+
}, null, 42, es)) : r("", !0),
|
|
5071
5131
|
!e.track.isEmpty && !e.track.hasVisibleSeries && !e.cleanView ? (v(), i("text", {
|
|
5072
5132
|
key: 2,
|
|
5073
5133
|
class: "waveform-track__no-visible-series",
|
|
@@ -5075,33 +5135,33 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
5075
5135
|
y: e.track.height / 2,
|
|
5076
5136
|
"text-anchor": "middle",
|
|
5077
5137
|
"dominant-baseline": "central"
|
|
5078
|
-
}, " 暂无可见曲线 ", 8,
|
|
5079
|
-
], 10,
|
|
5138
|
+
}, " 暂无可见曲线 ", 8, ts)) : r("", !0)
|
|
5139
|
+
], 10, Qo));
|
|
5080
5140
|
}
|
|
5081
|
-
}),
|
|
5141
|
+
}), rs = [
|
|
5082
5142
|
"width",
|
|
5083
5143
|
"height",
|
|
5084
5144
|
"data-position",
|
|
5085
5145
|
"data-orientation"
|
|
5086
|
-
],
|
|
5146
|
+
], is = [
|
|
5087
5147
|
"disabled",
|
|
5088
5148
|
"aria-pressed",
|
|
5089
5149
|
"aria-label",
|
|
5090
5150
|
"onClick"
|
|
5091
|
-
],
|
|
5151
|
+
], as = [
|
|
5092
5152
|
"data-line-type",
|
|
5093
5153
|
"data-line-style",
|
|
5094
5154
|
"data-point-type",
|
|
5095
5155
|
"data-error-bar-visible"
|
|
5096
|
-
],
|
|
5156
|
+
], os = [
|
|
5097
5157
|
"d",
|
|
5098
5158
|
"stroke",
|
|
5099
5159
|
"stroke-dasharray"
|
|
5100
|
-
],
|
|
5160
|
+
], ss = [
|
|
5101
5161
|
"d",
|
|
5102
5162
|
"stroke",
|
|
5103
5163
|
"stroke-width"
|
|
5104
|
-
],
|
|
5164
|
+
], cs = ["d", "fill"], ls = ["title"], us = /*#__PURE__*/ et(/* @__PURE__ */ l({
|
|
5105
5165
|
__name: "WaveformLegend",
|
|
5106
5166
|
props: {
|
|
5107
5167
|
series: {},
|
|
@@ -5159,45 +5219,45 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
5159
5219
|
"data-point-type": e.pointType,
|
|
5160
5220
|
"data-error-bar-visible": e.errorBar.visible || void 0
|
|
5161
5221
|
}, [
|
|
5162
|
-
E(
|
|
5222
|
+
E(_o)(e.lineType) ? (v(), i("path", {
|
|
5163
5223
|
key: 0,
|
|
5164
5224
|
class: "waveform-legend__line",
|
|
5165
|
-
d: E(
|
|
5225
|
+
d: E(_o)(e.lineType) ?? void 0,
|
|
5166
5226
|
stroke: e.color,
|
|
5167
|
-
"stroke-dasharray": E(
|
|
5227
|
+
"stroke-dasharray": E(vo)(e.lineStyle),
|
|
5168
5228
|
"stroke-width": "1.5",
|
|
5169
5229
|
fill: "none"
|
|
5170
|
-
}, null, 8,
|
|
5230
|
+
}, null, 8, os)) : r("", !0),
|
|
5171
5231
|
e.errorBar.visible ? (v(), i("path", {
|
|
5172
5232
|
key: 1,
|
|
5173
5233
|
class: "waveform-legend__error-bar",
|
|
5174
|
-
d: E(
|
|
5234
|
+
d: E(yo)(e.errorBar.capWidth),
|
|
5175
5235
|
stroke: e.errorBar.color || e.color,
|
|
5176
5236
|
"stroke-width": e.errorBar.width,
|
|
5177
5237
|
"stroke-linecap": "butt",
|
|
5178
5238
|
fill: "none"
|
|
5179
|
-
}, null, 8,
|
|
5239
|
+
}, null, 8, ss)) : r("", !0),
|
|
5180
5240
|
e.pointType === "none" ? r("", !0) : (v(), i("path", {
|
|
5181
5241
|
key: 2,
|
|
5182
5242
|
class: "waveform-legend__point",
|
|
5183
|
-
d: E(
|
|
5243
|
+
d: E(ho)(e.pointType, 30) ?? void 0,
|
|
5184
5244
|
fill: e.color,
|
|
5185
5245
|
transform: "translate(13 8)"
|
|
5186
|
-
}, null, 8,
|
|
5187
|
-
], 8,
|
|
5246
|
+
}, null, 8, cs))
|
|
5247
|
+
], 8, as)), a("span", {
|
|
5188
5248
|
class: "waveform-legend__label",
|
|
5189
5249
|
title: e.name
|
|
5190
|
-
}, w(e.name), 9,
|
|
5250
|
+
}, w(e.name), 9, ls)], 10, is))), 128))], 6)], 2)], 8, rs));
|
|
5191
5251
|
}
|
|
5192
|
-
}), [["__scopeId", "data-v-2ae12e71"]]),
|
|
5252
|
+
}), [["__scopeId", "data-v-2ae12e71"]]), ds = {
|
|
5193
5253
|
class: "waveform-chart__hover-layer",
|
|
5194
5254
|
"pointer-events": "none",
|
|
5195
5255
|
"aria-hidden": "true"
|
|
5196
|
-
},
|
|
5256
|
+
}, fs = ["clip-path", "transform"], ps = [
|
|
5197
5257
|
"x1",
|
|
5198
5258
|
"x2",
|
|
5199
5259
|
"y2"
|
|
5200
|
-
],
|
|
5260
|
+
], ms = /*#__PURE__*/ et(/* @__PURE__ */ l({
|
|
5201
5261
|
__name: "WaveformHoverLayer",
|
|
5202
5262
|
props: {
|
|
5203
5263
|
state: {},
|
|
@@ -5213,7 +5273,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
5213
5273
|
x: e.xScale(n)
|
|
5214
5274
|
}] : [];
|
|
5215
5275
|
}));
|
|
5216
|
-
return (t, r) => (v(), i("g",
|
|
5276
|
+
return (t, r) => (v(), i("g", ds, [(v(!0), i(e, null, x(o.value, (e) => (v(), i("g", {
|
|
5217
5277
|
key: e.track.index,
|
|
5218
5278
|
class: "waveform-track__crosshair waveform-chart__crosshair",
|
|
5219
5279
|
"clip-path": `url(#${n.clipPathId}-${e.track.index})`,
|
|
@@ -5223,9 +5283,9 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
5223
5283
|
x2: e.x,
|
|
5224
5284
|
y1: "0",
|
|
5225
5285
|
y2: e.track.height
|
|
5226
|
-
}, null, 8,
|
|
5286
|
+
}, null, 8, ps)], 8, fs))), 128))]));
|
|
5227
5287
|
}
|
|
5228
|
-
}), [["__scopeId", "data-v-54a5a37d"]]),
|
|
5288
|
+
}), [["__scopeId", "data-v-54a5a37d"]]), hs = [
|
|
5229
5289
|
"data-display-mode",
|
|
5230
5290
|
"data-interaction-mode",
|
|
5231
5291
|
"data-presentation-mode",
|
|
@@ -5234,37 +5294,37 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
5234
5294
|
"data-plot-margin-top",
|
|
5235
5295
|
"data-plot-margin-bottom",
|
|
5236
5296
|
"data-title-area-height"
|
|
5237
|
-
],
|
|
5297
|
+
], gs = [
|
|
5238
5298
|
"role",
|
|
5239
5299
|
"aria-level",
|
|
5240
5300
|
"aria-hidden"
|
|
5241
|
-
],
|
|
5301
|
+
], _s = ["data-title-scale", "data-title-wrapped"], vs = [
|
|
5242
5302
|
"width",
|
|
5243
5303
|
"height",
|
|
5244
5304
|
"aria-label"
|
|
5245
|
-
],
|
|
5305
|
+
], ys = ["id"], bs = ["width", "height"], xs = ["transform"], Ss = {
|
|
5246
5306
|
key: 0,
|
|
5247
5307
|
class: "waveform-chart__grid-slots",
|
|
5248
5308
|
"aria-hidden": "true"
|
|
5249
|
-
},
|
|
5309
|
+
}, Cs = ["transform"], ws = ["width", "height"], Ts = ["width", "height"], Es = [
|
|
5250
5310
|
"x",
|
|
5251
5311
|
"y",
|
|
5252
5312
|
"width",
|
|
5253
5313
|
"height"
|
|
5254
|
-
],
|
|
5314
|
+
], Ds = {
|
|
5255
5315
|
key: 4,
|
|
5256
5316
|
class: "waveform-chart__legend-layer"
|
|
5257
|
-
},
|
|
5317
|
+
}, Os = [
|
|
5258
5318
|
"data-legend-track-index",
|
|
5259
5319
|
"data-legend-track-id",
|
|
5260
5320
|
"transform"
|
|
5261
|
-
],
|
|
5321
|
+
], ks = ["x", "y"], As = ["x", "y"], js = /* @__PURE__ */ l({
|
|
5262
5322
|
__name: "WaveformChartView",
|
|
5263
5323
|
props: { controller: {} },
|
|
5264
5324
|
setup(t) {
|
|
5265
|
-
let { displayMode: o, activeInteractionMode: c, isCleanView: l, isPresentationMode: u, selection: d, containerStyle: f, overlayMode: h, resolvedChartLeftMargin: g, titleAreaHeight: _, resolvedPlotMargin: y, pointerInsideChart: b, handleNativeContextMenu: S, titleAreaReserved: C, titleAreaStyle: D, titleVisible: O, titleMeasureStyle: k, resolvedTitleText: A, titleVisualStyle: j, titleTextStyle: M, titleLayout: N, chartWidth: P, drawingHeight: F, hasWaveformData: I, requestViewportReset: L, trackLayouts: R, clipPathId: z, chartTopMargin: B, gridCells: V, hasVisibleWaveformData: H, zoomable: U, isZoomMode: W, innerWidth:
|
|
5325
|
+
let { displayMode: o, activeInteractionMode: c, isCleanView: l, isPresentationMode: u, selection: d, containerStyle: f, overlayMode: h, resolvedChartLeftMargin: g, titleAreaHeight: _, resolvedPlotMargin: y, pointerInsideChart: b, handleNativeContextMenu: S, titleAreaReserved: C, titleAreaStyle: D, titleVisible: O, titleMeasureStyle: k, resolvedTitleText: A, titleVisualStyle: j, titleTextStyle: M, titleLayout: N, chartWidth: P, drawingHeight: F, hasWaveformData: I, requestViewportReset: L, trackLayouts: R, clipPathId: z, chartTopMargin: B, gridCells: V, hasVisibleWaveformData: H, zoomable: U, isZoomMode: W, innerWidth: G, innerHeight: ee, handleSharedPointerMove: te, beginSharedViewportDrag: ne, finishViewportDrag: re, cancelViewportDrag: K, handlePointerLeave: q, handleAnnotationClick: J, handleAnnotationContextMenu: ie, resolveFrameNumber: ae, frameStyle: se, axes: ce, resolvedZeroLine: le, timeUnit: ue, yLabel: Y, handleIndependentPointerMove: de, beginViewportDrag: fe, hoverState: pe, showTooltip: me, selectionBox: he, renderedAnnotations: ge, annotationsVisible: _e, handleExistingAnnotationContextMenu: ve, beginAnnotationDrag: ye, handleAnnotationMove: be, endAnnotationDrag: xe, resolveLegendPosition: X, resolveLegendOrientation: Se, legendBackgroundColor: Ce, legendInteractive: we, resolvedHiddenSeriesIds: Te, toggleSeriesVisibility: Ee, resolvedXLabel: De, xAxisTitleY: Oe, hasChartArea: ke, gridOptions: Ae, pageCount: je, currentPage: Me, getPageSize: Ne, pageableTracks: Pe, goToPage: Fe, annotationInteraction: Ie, editorDraft: Le, contextMenu: Re, editorSeries: ze, editorSeriesOptions: Be, timeError: Ve, confirmAnnotation: He, cancelAnnotation: Ue, changeDraftSeries: We, changeDraftTime: Ge, editContextAnnotation: Ke, deleteContextAnnotation: qe, chartHeight: Je, setContainer: Ye, setSvgElement: Xe, setTitleMeasureElement: Ze, setSharedOverlayElement: Qe } = T(t.controller);
|
|
5266
5326
|
function $e() {
|
|
5267
|
-
b.value = !1,
|
|
5327
|
+
b.value = !1, q.value();
|
|
5268
5328
|
}
|
|
5269
5329
|
return (t, T) => (v(), i("div", {
|
|
5270
5330
|
ref: E(Ye),
|
|
@@ -5311,7 +5371,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
5311
5371
|
style: m(E(M)),
|
|
5312
5372
|
"data-title-scale": E(N).scale,
|
|
5313
5373
|
"data-title-wrapped": E(N).wrapped || void 0
|
|
5314
|
-
}, w(E(A)), 13,
|
|
5374
|
+
}, w(E(A)), 13, _s)], 4)) : r("", !0)], 12, gs)) : r("", !0),
|
|
5315
5375
|
(v(), i("svg", {
|
|
5316
5376
|
ref: E(Xe),
|
|
5317
5377
|
class: "waveform-chart__svg",
|
|
@@ -5328,9 +5388,9 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
5328
5388
|
}, [a("rect", {
|
|
5329
5389
|
width: e.width,
|
|
5330
5390
|
height: e.height
|
|
5331
|
-
}, null, 8,
|
|
5391
|
+
}, null, 8, bs)], 8, ys))), 128))]),
|
|
5332
5392
|
a("g", { transform: `translate(${E(g)}, ${E(B)})` }, [
|
|
5333
|
-
E(o) !== "compact" && !E(l) ? (v(), i("g",
|
|
5393
|
+
E(o) !== "compact" && !E(l) ? (v(), i("g", Ss, [(v(!0), i(e, null, x(E(V), (e) => (v(), i("g", {
|
|
5334
5394
|
key: `grid-slot-${e.slotIndex}`,
|
|
5335
5395
|
transform: `translate(${e.left}, ${e.top})`
|
|
5336
5396
|
}, [e.series ? r("", !0) : (v(), i("rect", {
|
|
@@ -5338,7 +5398,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
5338
5398
|
class: "waveform-chart__grid-slot-placeholder",
|
|
5339
5399
|
width: e.width,
|
|
5340
5400
|
height: e.cellHeight
|
|
5341
|
-
}, null, 8,
|
|
5401
|
+
}, null, 8, ws))], 8, Cs))), 128))])) : r("", !0),
|
|
5342
5402
|
E(o) !== "independent" && E(R).length && E(H) ? (v(), i("rect", {
|
|
5343
5403
|
key: 1,
|
|
5344
5404
|
ref: E(Qe),
|
|
@@ -5346,39 +5406,39 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
5346
5406
|
"is-zoomable": !E(u) && E(U) && E(W),
|
|
5347
5407
|
"is-annotating": !E(u) && E(c) === "annotation"
|
|
5348
5408
|
}]),
|
|
5349
|
-
width: E(
|
|
5350
|
-
height: E(
|
|
5351
|
-
onPointermove: T[0] ||= (...e) => E(
|
|
5352
|
-
onPointerdown: T[1] ||= (...e) => E(
|
|
5353
|
-
onPointerup: T[2] ||= (...e) => E(
|
|
5354
|
-
onPointercancel: T[3] ||= (...e) => E(
|
|
5355
|
-
onPointerleave: T[4] ||= (...e) => E(
|
|
5356
|
-
onClick: T[5] ||= (...e) => E(
|
|
5357
|
-
onContextmenu: T[6] ||= (...e) => E(
|
|
5358
|
-
}, null, 42,
|
|
5359
|
-
(v(!0), i(e, null, x(E(R), (e) => (v(), n(E(
|
|
5409
|
+
width: E(G),
|
|
5410
|
+
height: E(ee),
|
|
5411
|
+
onPointermove: T[0] ||= (...e) => E(te) && E(te)(...e),
|
|
5412
|
+
onPointerdown: T[1] ||= (...e) => E(ne) && E(ne)(...e),
|
|
5413
|
+
onPointerup: T[2] ||= (...e) => E(re) && E(re)(...e),
|
|
5414
|
+
onPointercancel: T[3] ||= (...e) => E(K) && E(K)(...e),
|
|
5415
|
+
onPointerleave: T[4] ||= (...e) => E(q) && E(q)(...e),
|
|
5416
|
+
onClick: T[5] ||= (...e) => E(J) && E(J)(...e),
|
|
5417
|
+
onContextmenu: T[6] ||= (...e) => E(ie) && E(ie)(...e)
|
|
5418
|
+
}, null, 42, Ts)) : r("", !0),
|
|
5419
|
+
(v(!0), i(e, null, x(E(R), (e) => (v(), n(E(ns), {
|
|
5360
5420
|
key: `${e.index}-${e.id}`,
|
|
5361
5421
|
track: e,
|
|
5362
5422
|
"clip-path-id": E(z),
|
|
5363
|
-
"inner-width": E(
|
|
5423
|
+
"inner-width": E(G),
|
|
5364
5424
|
zoomable: E(U),
|
|
5365
5425
|
interactive: !E(u),
|
|
5366
5426
|
"display-mode": E(o),
|
|
5367
5427
|
"interaction-mode": E(c),
|
|
5368
|
-
"frame-number": E(
|
|
5369
|
-
"frame-style": E(
|
|
5370
|
-
axes: E(
|
|
5428
|
+
"frame-number": E(ae)(e.id),
|
|
5429
|
+
"frame-style": E(se),
|
|
5430
|
+
axes: E(ce),
|
|
5371
5431
|
"clean-view": E(l),
|
|
5372
|
-
"zero-line": E(
|
|
5373
|
-
"time-unit": E(
|
|
5374
|
-
"y-label": E(
|
|
5375
|
-
onPointerMove: (t) => E(
|
|
5376
|
-
onPointerDown: (t) => E(
|
|
5377
|
-
onPointerUp: E(
|
|
5378
|
-
onPointerCancel: E(
|
|
5379
|
-
onPointerLeave: E(
|
|
5380
|
-
onClick: (t) => E(
|
|
5381
|
-
onContextmenu: (t) => E(
|
|
5432
|
+
"zero-line": E(le),
|
|
5433
|
+
"time-unit": E(ue),
|
|
5434
|
+
"y-label": E(Y),
|
|
5435
|
+
onPointerMove: (t) => E(de)(t, e.index),
|
|
5436
|
+
onPointerDown: (t) => E(fe)(t, e.index, !0),
|
|
5437
|
+
onPointerUp: E(re),
|
|
5438
|
+
onPointerCancel: E(K),
|
|
5439
|
+
onPointerLeave: E(q),
|
|
5440
|
+
onClick: (t) => E(J)(t, e.index),
|
|
5441
|
+
onContextmenu: (t) => E(ie)(t, e.index)
|
|
5382
5442
|
}, null, 8, [
|
|
5383
5443
|
"track",
|
|
5384
5444
|
"clip-path-id",
|
|
@@ -5402,7 +5462,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
5402
5462
|
"onClick",
|
|
5403
5463
|
"onContextmenu"
|
|
5404
5464
|
]))), 128)),
|
|
5405
|
-
s(E(
|
|
5465
|
+
s(E(ms), {
|
|
5406
5466
|
state: E(pe),
|
|
5407
5467
|
tracks: E(R),
|
|
5408
5468
|
"clip-path-id": E(z),
|
|
@@ -5421,7 +5481,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
5421
5481
|
width: E(he).width,
|
|
5422
5482
|
height: E(he).height,
|
|
5423
5483
|
"aria-hidden": "true"
|
|
5424
|
-
}, null, 8,
|
|
5484
|
+
}, null, 8, Es)) : r("", !0),
|
|
5425
5485
|
E(l) ? r("", !0) : (v(), n(E(tt), {
|
|
5426
5486
|
key: 3,
|
|
5427
5487
|
annotations: E(ge),
|
|
@@ -5440,13 +5500,13 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
5440
5500
|
"onMove",
|
|
5441
5501
|
"onDragEnd"
|
|
5442
5502
|
])),
|
|
5443
|
-
E(l) ? r("", !0) : (v(), i("g",
|
|
5503
|
+
E(l) ? r("", !0) : (v(), i("g", Ds, [(v(!0), i(e, null, x(E(R), (e) => (v(), i("g", {
|
|
5444
5504
|
key: `legend-${e.index}-${e.id}`,
|
|
5445
5505
|
class: "waveform-chart__legend-track",
|
|
5446
5506
|
"data-legend-track-index": e.index,
|
|
5447
5507
|
"data-legend-track-id": e.id,
|
|
5448
5508
|
transform: `translate(${e.left}, ${e.top})`
|
|
5449
|
-
}, [!e.isEmpty && e.legendSeries.length > 1 ? (v(), n(E(
|
|
5509
|
+
}, [!e.isEmpty && e.legendSeries.length > 1 ? (v(), n(E(us), {
|
|
5450
5510
|
key: 0,
|
|
5451
5511
|
series: e.legendSeries,
|
|
5452
5512
|
position: E(X)(e.id),
|
|
@@ -5454,7 +5514,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
5454
5514
|
"background-color": E(Ce),
|
|
5455
5515
|
interactive: E(we),
|
|
5456
5516
|
"hidden-series-ids": E(Te),
|
|
5457
|
-
width: e.width ?? E(
|
|
5517
|
+
width: e.width ?? E(G),
|
|
5458
5518
|
height: e.height,
|
|
5459
5519
|
onToggle: E(Ee)
|
|
5460
5520
|
}, null, 8, [
|
|
@@ -5467,24 +5527,24 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
5467
5527
|
"width",
|
|
5468
5528
|
"height",
|
|
5469
5529
|
"onToggle"
|
|
5470
|
-
])) : r("", !0)], 8,
|
|
5471
|
-
], 8,
|
|
5530
|
+
])) : r("", !0)], 8, Os))), 128))]))
|
|
5531
|
+
], 8, xs),
|
|
5472
5532
|
E(De) && !E(l) ? (v(), i("text", {
|
|
5473
5533
|
key: 0,
|
|
5474
5534
|
class: "waveform-chart__label waveform-chart__x-label",
|
|
5475
|
-
x: E(g) + E(
|
|
5535
|
+
x: E(g) + E(G) / 2,
|
|
5476
5536
|
y: E(Oe),
|
|
5477
5537
|
"text-anchor": "middle"
|
|
5478
|
-
}, w(E(De)), 9,
|
|
5538
|
+
}, w(E(De)), 9, ks)) : r("", !0),
|
|
5479
5539
|
E(ke) && !E(I) ? (v(), i("text", {
|
|
5480
5540
|
key: 1,
|
|
5481
5541
|
class: "waveform-chart__empty",
|
|
5482
5542
|
x: E(P) / 2,
|
|
5483
5543
|
y: E(F) / 2,
|
|
5484
5544
|
"text-anchor": "middle"
|
|
5485
|
-
}, " 暂无有效波形数据 ", 8,
|
|
5486
|
-
], 40,
|
|
5487
|
-
E(Ae).showPagination && E(je) > 1 && !E(l) ? (v(), n(E(
|
|
5545
|
+
}, " 暂无有效波形数据 ", 8, As)) : r("", !0)
|
|
5546
|
+
], 40, vs)),
|
|
5547
|
+
E(Ae).showPagination && E(je) > 1 && !E(l) ? (v(), n(E(oe), {
|
|
5488
5548
|
key: 1,
|
|
5489
5549
|
class: "waveform-chart__pagination",
|
|
5490
5550
|
"aria-label": "波形分页",
|
|
@@ -5500,13 +5560,13 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
5500
5560
|
"total",
|
|
5501
5561
|
"onChange"
|
|
5502
5562
|
])) : r("", !0),
|
|
5503
|
-
E(Le) && !E(l) && !E(u) ? (v(), n(
|
|
5563
|
+
E(Le) && !E(l) && !E(u) ? (v(), n(Ya, {
|
|
5504
5564
|
key: 2,
|
|
5505
5565
|
annotation: E(Le).annotation,
|
|
5506
5566
|
mode: E(Le).mode,
|
|
5507
5567
|
series: E(ze),
|
|
5508
5568
|
"series-options": E(Be),
|
|
5509
|
-
"time-unit": E(
|
|
5569
|
+
"time-unit": E(ue),
|
|
5510
5570
|
"time-error": E(Ve),
|
|
5511
5571
|
onConfirm: E(He),
|
|
5512
5572
|
onCancel: E(Ue),
|
|
@@ -5542,10 +5602,10 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
5542
5602
|
"onDelete",
|
|
5543
5603
|
"onClose"
|
|
5544
5604
|
])) : r("", !0),
|
|
5545
|
-
s(E(
|
|
5605
|
+
s(E(so), {
|
|
5546
5606
|
state: E(pe),
|
|
5547
5607
|
visible: E(me) && !E(u),
|
|
5548
|
-
"time-unit": E(
|
|
5608
|
+
"time-unit": E(ue),
|
|
5549
5609
|
"container-width": E(P),
|
|
5550
5610
|
"container-height": E(Je)
|
|
5551
5611
|
}, null, 8, [
|
|
@@ -5555,9 +5615,9 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
5555
5615
|
"container-width",
|
|
5556
5616
|
"container-height"
|
|
5557
5617
|
])
|
|
5558
|
-
], 46,
|
|
5618
|
+
], 46, hs));
|
|
5559
5619
|
}
|
|
5560
|
-
}),
|
|
5620
|
+
}), Ms = /* @__PURE__ */ l({
|
|
5561
5621
|
__name: "WaveformChart",
|
|
5562
5622
|
props: {
|
|
5563
5623
|
data: {},
|
|
@@ -5625,6 +5685,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
5625
5685
|
},
|
|
5626
5686
|
emits: [
|
|
5627
5687
|
"point-hover",
|
|
5688
|
+
"zoom-intent",
|
|
5628
5689
|
"zoom-change",
|
|
5629
5690
|
"zoom-end",
|
|
5630
5691
|
"zoom-reset",
|
|
@@ -5640,12 +5701,12 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
|
5640
5701
|
"sampling-error"
|
|
5641
5702
|
],
|
|
5642
5703
|
setup(e, { expose: t, emit: r }) {
|
|
5643
|
-
let i =
|
|
5704
|
+
let i = Aa(e, r);
|
|
5644
5705
|
return t({
|
|
5645
5706
|
resetViewport: i.resetViewport,
|
|
5646
5707
|
setViewportDomain: i.setViewportDomain
|
|
5647
|
-
}), (e, t) => (v(), n(
|
|
5708
|
+
}), (e, t) => (v(), n(js, { controller: E(i) }, null, 8, ["controller"]));
|
|
5648
5709
|
}
|
|
5649
5710
|
});
|
|
5650
5711
|
//#endregion
|
|
5651
|
-
export { Q as DEFAULT_WAVEFORM_RENDERING_OPTIONS,
|
|
5712
|
+
export { Q as DEFAULT_WAVEFORM_RENDERING_OPTIONS, Ms as WaveformChart, gt as buildMinorTicks, _i as calculateWasmRange, It as clamp, kt as displayTime, vi as findWasmVisibleRange, Mt as formatAxisTime, jt as formatEndpointTime, Nt as formatTooltipTime, hi as initializeWasmSampling, sn as normalizeWaveformData, un as normalizeWaveformSeries, ht as paddedDomain, pt as parseWaveformAnnotations, Ft as resolveTrackGeometry, Tn as resolveWaveformRenderingOptions, gi as sampleWaveformWasm, Nn as selectRenderablePoints, ft as serializeWaveformAnnotations };
|