waveform-analysis 0.1.55 → 0.1.58
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 +3 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +565 -539
- package/dist/types/components/core/grid.d.ts +3 -0
- package/dist/types/components/core/layout.d.ts +18 -0
- package/dist/types/components/core/trackLayoutBuilder.d.ts +2 -0
- package/dist/types/components/core/trackPagination.d.ts +4 -0
- package/dist/types/components/core/useWaveformChartController.d.ts +3 -1
- package/dist/types/components/core/useWaveformLayout.d.ts +2 -1
- package/dist/types/components/core/waveformChartTypes.d.ts +2 -0
- package/dist/types/components/core/yAxisConstants.d.ts +1 -0
- package/package.json +1 -1
- package/src/App.test.ts +2 -1
- package/src/components/WaveformChartView.vue +3 -3
- package/src/components/core/grid.test.ts +3 -0
- package/src/components/core/grid.ts +4 -0
- package/src/components/core/layout.test.ts +1 -1
- package/src/components/core/layout.ts +63 -0
- package/src/components/core/trackLayoutBuilder.ts +24 -4
- package/src/components/core/trackPagination.ts +40 -0
- package/src/components/core/useWaveformLayout.ts +28 -31
- package/src/components/core/waveformChartTypes.ts +2 -0
- package/src/components/core/yAxisConstants.ts +1 -0
- package/src/components/core/yAxisSlotLayout.test.ts +129 -0
- package/src/components/waveformChartCases/layoutAndDomains.test.ts +3 -5
- package/src/components/waveformChartCases/multiAxisLabelAlignment.test.ts +61 -0
- package/src/components/waveformChartCases/trackOrder.test.ts +62 -0
- package/src/data/simulatedWaveforms.test.ts +4 -4
- package/src/data/simulatedWaveforms.ts +12 -0
package/dist/index.js
CHANGED
|
@@ -1439,6 +1439,7 @@ function zn(e) {
|
|
|
1439
1439
|
showPagination: e?.showPagination ?? !0,
|
|
1440
1440
|
fillIncompleteLastRow: e?.fillIncompleteLastRow ?? !1,
|
|
1441
1441
|
trackOrder: Rn(e?.trackOrder),
|
|
1442
|
+
hideEmptyTracks: e?.hideEmptyTracks ?? !1,
|
|
1442
1443
|
trackLines: t
|
|
1443
1444
|
};
|
|
1444
1445
|
}
|
|
@@ -1534,31 +1535,34 @@ function Xn(e) {
|
|
|
1534
1535
|
} : e), f = {
|
|
1535
1536
|
left: 0,
|
|
1536
1537
|
right: 0
|
|
1537
|
-
}, p =
|
|
1538
|
-
|
|
1539
|
-
|
|
1540
|
-
|
|
1541
|
-
|
|
1538
|
+
}, p = {
|
|
1539
|
+
left: 0,
|
|
1540
|
+
right: 0
|
|
1541
|
+
}, m = d.map((n) => {
|
|
1542
|
+
let r = f[n.side]++, i = nr(t.plotHeight, e.yAxisSplitNumber), a = Math.max(1, i - 1), o = U(n.domain, [t.plotHeight, 0]);
|
|
1543
|
+
e.yAxisNice !== !1 && o.nice(a);
|
|
1544
|
+
let [s, c] = o.domain(), l = Array.from({ length: i }, (e, t) => s + (c - s) * t / (i - 1)), u = e.displayMode !== "compact" || t.row === 0 ? l : l.slice(0, -1), { tickTextWidth: d } = sr(o.domain(), !1, u, n.seriesList[0]?.unit, i), m = d + 7 + 0 + 12 + 4, h = e.yAxisSlots?.find((e) => e.side === n.side && e.sideIndex === r), g = h ? (n.side === "left" ? 0 : t.width) + h.axisOffset : n.side === "left" ? -p.left : t.width + p.right, _ = d + 7 + 0 + 12 / 2, v = (h ? (n.side === "left" ? 0 : t.width) + h.labelOffset : g + (n.side === "left" ? -_ : _)) - (n.side === "right" ? 10 : 0);
|
|
1545
|
+
return h || (p[n.side] += m), {
|
|
1542
1546
|
index: n.index,
|
|
1543
1547
|
side: n.side,
|
|
1544
|
-
x:
|
|
1545
|
-
labelX:
|
|
1546
|
-
scale:
|
|
1547
|
-
majorTicks:
|
|
1548
|
-
minorTicks: gt(
|
|
1549
|
-
tickValues:
|
|
1548
|
+
x: g,
|
|
1549
|
+
labelX: v,
|
|
1550
|
+
scale: o,
|
|
1551
|
+
majorTicks: l,
|
|
1552
|
+
minorTicks: gt(l, 2),
|
|
1553
|
+
tickValues: u,
|
|
1550
1554
|
seriesList: n.seriesList
|
|
1551
1555
|
};
|
|
1552
|
-
}),
|
|
1553
|
-
e.yAxisNice !== !1 &&
|
|
1554
|
-
let
|
|
1555
|
-
start: At(
|
|
1556
|
-
end: At(
|
|
1557
|
-
},
|
|
1556
|
+
}), h = U(a.yDomain, [t.plotHeight, 0]);
|
|
1557
|
+
e.yAxisNice !== !1 && h.nice();
|
|
1558
|
+
let g = m[0]?.scale ?? h, _ = l.ticks(Math.max(2, Math.floor(t.width / 100))), v = m[0]?.majorTicks ?? [], y = m[0]?.tickValues ?? [], b = l.domain(), x = {
|
|
1559
|
+
start: At(b[0], b, e.timeUnit, "start", e.xAxisLabelFormatter),
|
|
1560
|
+
end: At(b[1], b, e.timeUnit, "end", e.xAxisLabelFormatter)
|
|
1561
|
+
}, S = x.start.length * 7 + 10, C = x.end.length * 7 + 10, w = _.filter((e) => {
|
|
1558
1562
|
let n = l(e);
|
|
1559
|
-
return n >
|
|
1560
|
-
}),
|
|
1561
|
-
let r =
|
|
1563
|
+
return n > S && n < t.width - C;
|
|
1564
|
+
}), T = a.visibleSeries.map((n) => {
|
|
1565
|
+
let r = m.find((e) => e.seriesList.some((e) => e.id === n.id)), a = r?.scale ?? g, o = In(n.points, b, t.width, e.rendering, {
|
|
1562
1566
|
lineVisible: !i && n.lineType !== "none",
|
|
1563
1567
|
linePointOverride: e.linePointOverrides?.[n.id],
|
|
1564
1568
|
pointVisible: n.pointType !== "none",
|
|
@@ -1590,17 +1594,17 @@ function Xn(e) {
|
|
|
1590
1594
|
width: t.width,
|
|
1591
1595
|
height: t.plotHeight,
|
|
1592
1596
|
xScale: l,
|
|
1593
|
-
yScale:
|
|
1594
|
-
yAxes:
|
|
1595
|
-
xMajorTicks:
|
|
1596
|
-
xMinorTicks: gt(
|
|
1597
|
-
yMajorTicks:
|
|
1598
|
-
yMinorTicks:
|
|
1599
|
-
yAxisTickValues:
|
|
1600
|
-
xAxisTickValues:
|
|
1601
|
-
endpointLabels:
|
|
1602
|
-
path:
|
|
1603
|
-
seriesPaths:
|
|
1597
|
+
yScale: g,
|
|
1598
|
+
yAxes: m,
|
|
1599
|
+
xMajorTicks: _,
|
|
1600
|
+
xMinorTicks: gt(_, 3, b),
|
|
1601
|
+
yMajorTicks: v,
|
|
1602
|
+
yMinorTicks: m[0]?.minorTicks ?? [],
|
|
1603
|
+
yAxisTickValues: y,
|
|
1604
|
+
xAxisTickValues: w,
|
|
1605
|
+
endpointLabels: x,
|
|
1606
|
+
path: T[0]?.path ?? null,
|
|
1607
|
+
seriesPaths: T,
|
|
1604
1608
|
gridLines: e.grid.trackLines[a.id] ?? {
|
|
1605
1609
|
horizontal: !0,
|
|
1606
1610
|
vertical: !0
|
|
@@ -1677,19 +1681,39 @@ function sr(e, t = !0, n, r, i = 10) {
|
|
|
1677
1681
|
unit: r
|
|
1678
1682
|
}).length)) * Zn };
|
|
1679
1683
|
}
|
|
1680
|
-
function cr(e, t, n = !0) {
|
|
1681
|
-
|
|
1682
|
-
|
|
1683
|
-
|
|
1684
|
-
|
|
1685
|
-
|
|
1686
|
-
|
|
1687
|
-
|
|
1684
|
+
function cr(e, t, n, r, i, a = !0) {
|
|
1685
|
+
let o = /* @__PURE__ */ new Map();
|
|
1686
|
+
e.forEach((e) => {
|
|
1687
|
+
let s = {
|
|
1688
|
+
left: 0,
|
|
1689
|
+
right: 0
|
|
1690
|
+
};
|
|
1691
|
+
or(e, t, n, r).forEach((e) => {
|
|
1692
|
+
let t = s[e.side]++, n = `${e.side}:${t}`, r = sr(e.domain, a, void 0, e.seriesList[0]?.unit, i).tickTextWidth;
|
|
1693
|
+
o.set(n, Math.max(o.get(n) ?? Zn, r));
|
|
1694
|
+
});
|
|
1695
|
+
});
|
|
1696
|
+
let s = [], c = {
|
|
1688
1697
|
left: 0,
|
|
1689
1698
|
right: 0
|
|
1690
|
-
}
|
|
1699
|
+
};
|
|
1700
|
+
return ["left", "right"].forEach((e) => {
|
|
1701
|
+
Array.from(o.keys()).filter((t) => t.startsWith(`${e}:`)).map((t) => Number(t.slice(e.length + 1))).sort((e, t) => e - t).forEach((t) => {
|
|
1702
|
+
let n = o.get(`${e}:${t}`) ?? Zn, r = e === "left" && c.left > 0 ? -c.left : c[e], i = r + (n + Qn + er + tr / 2) * (e === "left" ? -1 : 1), a = n + Qn + er + tr + $n;
|
|
1703
|
+
s.push({
|
|
1704
|
+
side: e,
|
|
1705
|
+
sideIndex: t,
|
|
1706
|
+
axisOffset: r,
|
|
1707
|
+
labelOffset: i,
|
|
1708
|
+
clearance: a
|
|
1709
|
+
}), c[e] += a;
|
|
1710
|
+
});
|
|
1711
|
+
}), {
|
|
1712
|
+
slots: s,
|
|
1713
|
+
clearance: c
|
|
1714
|
+
};
|
|
1691
1715
|
}
|
|
1692
|
-
function
|
|
1716
|
+
function lr(e, t, n) {
|
|
1693
1717
|
let r = (e) => {
|
|
1694
1718
|
let r = t < e.left ? e.left - t : t > e.left + e.width ? t - e.left - e.width : 0;
|
|
1695
1719
|
return n < e.top ? e.top - n : n > e.top + e.height ? n - (e.top + e.height) : r;
|
|
@@ -1708,11 +1732,11 @@ function dr(e, t, n) {
|
|
|
1708
1732
|
}
|
|
1709
1733
|
//#endregion
|
|
1710
1734
|
//#region src/components/annotation/useWaveformChartAnnotations.ts
|
|
1711
|
-
var
|
|
1712
|
-
function
|
|
1713
|
-
return
|
|
1735
|
+
var ur = 0;
|
|
1736
|
+
function dr() {
|
|
1737
|
+
return ur += 1, typeof crypto < "u" && typeof crypto.randomUUID == "function" ? crypto.randomUUID() : `annotation-${Date.now()}-${ur}`;
|
|
1714
1738
|
}
|
|
1715
|
-
function
|
|
1739
|
+
function fr(e) {
|
|
1716
1740
|
let { props: t, emit: n, container: r, chartSeries: i, hiddenSeriesIdSet: a, internalHiddenSeriesIds: o, annotationInteraction: s, editorSeriesOptions: c, trackLayouts: l, annotationLayoutsForTrack: u, resolveSeriesYScale: d, chartWidth: f, chartHeight: p, innerWidth: m, resolvedChartLeftMargin: h, titleAreaHeight: g, chartTopMargin: _, activeInteractionMode: v, isPresentationMode: y } = e, x = b("");
|
|
1717
1741
|
function S(e) {
|
|
1718
1742
|
if (!i.value.some((t) => t.id === e)) return;
|
|
@@ -1745,7 +1769,7 @@ function mr(e) {
|
|
|
1745
1769
|
};
|
|
1746
1770
|
}
|
|
1747
1771
|
function T(e, t, n) {
|
|
1748
|
-
x.value = "", s.openCreate(e,
|
|
1772
|
+
x.value = "", s.openCreate(e, dr, t), c.value = n;
|
|
1749
1773
|
let r = s.editorDraft.value, i = l.value.find((t) => t.index === e.trackIndex)?.seriesList.find((t) => t.id === e.seriesId);
|
|
1750
1774
|
r?.mode === "add" && (r.annotation.style = {
|
|
1751
1775
|
borderColor: i?.color || "#1677ff",
|
|
@@ -1805,7 +1829,7 @@ function mr(e) {
|
|
|
1805
1829
|
let e = l.value[n];
|
|
1806
1830
|
return e?.hasVisibleSeries ? e : void 0;
|
|
1807
1831
|
}
|
|
1808
|
-
return
|
|
1832
|
+
return lr(l.value.filter((e) => e.hasVisibleSeries), e, t);
|
|
1809
1833
|
}
|
|
1810
1834
|
function A(e, t) {
|
|
1811
1835
|
let n = e.currentTarget;
|
|
@@ -1896,7 +1920,7 @@ function mr(e) {
|
|
|
1896
1920
|
}
|
|
1897
1921
|
//#endregion
|
|
1898
1922
|
//#region src/components/interaction/useWaveformHover.ts
|
|
1899
|
-
function
|
|
1923
|
+
function pr(e) {
|
|
1900
1924
|
let { emit: t, hoverState: n, suppressHoverUntilMove: r, hoverThrottle: i, selection: a, trackLayouts: o, innerWidth: s, resolvedChartLeftMargin: c, titleAreaHeight: l, chartTopMargin: u, sharedOverlayElement: d, isPresentationMode: f, updateViewportDrag: p, resolveTrackAtPointer: m } = e, h = () => i.cancel(), g = (e) => i.schedule(e), _ = (e) => n.points.length === e.length && e.every((e, t) => {
|
|
1901
1925
|
let r = n.points[t];
|
|
1902
1926
|
return r?.id === e.id && r.trackIndex === e.trackIndex && r.point === e.point;
|
|
@@ -1981,14 +2005,14 @@ function hr(e) {
|
|
|
1981
2005
|
}
|
|
1982
2006
|
//#endregion
|
|
1983
2007
|
//#region src/components/interaction/pointerCapture.ts
|
|
1984
|
-
function
|
|
2008
|
+
function mr(e, t) {
|
|
1985
2009
|
try {
|
|
1986
2010
|
e?.releasePointerCapture?.(t);
|
|
1987
2011
|
} catch {}
|
|
1988
2012
|
}
|
|
1989
2013
|
//#endregion
|
|
1990
2014
|
//#region src/components/interaction/viewportInteractionState.ts
|
|
1991
|
-
function
|
|
2015
|
+
function hr(e) {
|
|
1992
2016
|
return {
|
|
1993
2017
|
...e,
|
|
1994
2018
|
currentX: e.startX,
|
|
@@ -1997,37 +2021,37 @@ function _r(e) {
|
|
|
1997
2021
|
yDomains: Object.fromEntries(Object.entries(e.yDomains).map(([e, t]) => [e, [...t]]))
|
|
1998
2022
|
};
|
|
1999
2023
|
}
|
|
2000
|
-
function
|
|
2024
|
+
function gr(e, t) {
|
|
2001
2025
|
return {
|
|
2002
2026
|
...e,
|
|
2003
2027
|
...t
|
|
2004
2028
|
};
|
|
2005
2029
|
}
|
|
2006
|
-
function
|
|
2030
|
+
function _r(e) {
|
|
2007
2031
|
return {
|
|
2008
2032
|
state: e,
|
|
2009
2033
|
accepted: !1,
|
|
2010
2034
|
completed: null
|
|
2011
2035
|
};
|
|
2012
2036
|
}
|
|
2013
|
-
function
|
|
2037
|
+
function vr(e, t) {
|
|
2014
2038
|
switch (t.type) {
|
|
2015
|
-
case "begin": return e ?
|
|
2016
|
-
state:
|
|
2039
|
+
case "begin": return e ? _r(e) : {
|
|
2040
|
+
state: hr(t.gesture),
|
|
2017
2041
|
accepted: !0,
|
|
2018
2042
|
completed: null
|
|
2019
2043
|
};
|
|
2020
|
-
case "move": return !e || e.pointerId !== t.pointerId ?
|
|
2021
|
-
state:
|
|
2044
|
+
case "move": return !e || e.pointerId !== t.pointerId ? _r(e) : {
|
|
2045
|
+
state: gr(e, t.position),
|
|
2022
2046
|
accepted: !0,
|
|
2023
2047
|
completed: null
|
|
2024
2048
|
};
|
|
2025
|
-
case "finish": return !e || e.pointerId !== t.pointerId ?
|
|
2049
|
+
case "finish": return !e || e.pointerId !== t.pointerId ? _r(e) : {
|
|
2026
2050
|
state: null,
|
|
2027
2051
|
accepted: !0,
|
|
2028
|
-
completed:
|
|
2052
|
+
completed: gr(e, t.position)
|
|
2029
2053
|
};
|
|
2030
|
-
case "cancel": return !e || t.pointerId !== void 0 && e.pointerId !== t.pointerId ?
|
|
2054
|
+
case "cancel": return !e || t.pointerId !== void 0 && e.pointerId !== t.pointerId ? _r(e) : {
|
|
2031
2055
|
state: null,
|
|
2032
2056
|
accepted: !0,
|
|
2033
2057
|
completed: null
|
|
@@ -2041,15 +2065,15 @@ function br(e, t) {
|
|
|
2041
2065
|
}
|
|
2042
2066
|
//#endregion
|
|
2043
2067
|
//#region src/components/interaction/zoomConstraints.ts
|
|
2044
|
-
var
|
|
2045
|
-
function
|
|
2068
|
+
var yr = /* @__PURE__ */ new WeakMap();
|
|
2069
|
+
function br(e) {
|
|
2046
2070
|
return e[0] <= e[1] ? [...e] : [e[1], e[0]];
|
|
2047
2071
|
}
|
|
2048
|
-
function
|
|
2072
|
+
function xr(e) {
|
|
2049
2073
|
return Number.isFinite(e) && (e ?? 0) > 0 ? Math.ceil(e) : 0;
|
|
2050
2074
|
}
|
|
2051
|
-
function
|
|
2052
|
-
let n = `${t[0]}\u0000${t[1]}`, r =
|
|
2075
|
+
function Sr(e, t) {
|
|
2076
|
+
let n = `${t[0]}\u0000${t[1]}`, r = yr.get(e)?.get(n);
|
|
2053
2077
|
if (r) return r;
|
|
2054
2078
|
let i = /* @__PURE__ */ new Set();
|
|
2055
2079
|
for (let n of e) {
|
|
@@ -2059,14 +2083,14 @@ function wr(e, t) {
|
|
|
2059
2083
|
r.x >= t[0] && r.x <= t[1] && i.add(r.x);
|
|
2060
2084
|
}
|
|
2061
2085
|
}
|
|
2062
|
-
let a = Array.from(i).sort((e, t) => e - t), o =
|
|
2063
|
-
return o.set(n, a),
|
|
2086
|
+
let a = Array.from(i).sort((e, t) => e - t), o = yr.get(e) ?? /* @__PURE__ */ new Map();
|
|
2087
|
+
return o.set(n, a), yr.set(e, o), a;
|
|
2064
2088
|
}
|
|
2065
|
-
function
|
|
2089
|
+
function Cr(e, t, n) {
|
|
2066
2090
|
if (n <= 1) return 0;
|
|
2067
2091
|
let r = 0;
|
|
2068
2092
|
for (let i of e) {
|
|
2069
|
-
let e =
|
|
2093
|
+
let e = Sr(i, t);
|
|
2070
2094
|
if (e.length < n) return t[1] - t[0];
|
|
2071
2095
|
let a = Infinity;
|
|
2072
2096
|
for (let t = 0; t + n <= e.length; t += 1) a = Math.min(a, e[t + n - 1] - e[t]);
|
|
@@ -2075,17 +2099,17 @@ function Tr(e, t, n) {
|
|
|
2075
2099
|
}
|
|
2076
2100
|
return r;
|
|
2077
2101
|
}
|
|
2078
|
-
function
|
|
2079
|
-
let r =
|
|
2102
|
+
function wr(e, t, n) {
|
|
2103
|
+
let r = br(e), i = r[1] - r[0];
|
|
2080
2104
|
if (!Number.isFinite(i) || i <= 0) return 0;
|
|
2081
|
-
let a = Number.isFinite(n.minZoomSpan) && (n.minZoomSpan ?? 0) > 0 ? Math.min(i, n.minZoomSpan) : 0, o =
|
|
2105
|
+
let a = Number.isFinite(n.minZoomSpan) && (n.minZoomSpan ?? 0) > 0 ? Math.min(i, n.minZoomSpan) : 0, o = xr(n.minVisiblePoints), s = Cr(t, r, o), c = Number(n.maxZoomScale), l = Number.isFinite(c) && c >= Rt.MIN_SCALE ? i / c : n.maxZoomScale !== null && a === 0 && o === 0 ? i / Rt.DEFAULT_MAX_SCALE : 0;
|
|
2082
2106
|
return Math.max(a, s, l);
|
|
2083
2107
|
}
|
|
2084
|
-
function
|
|
2108
|
+
function Tr(e, t, n, r) {
|
|
2085
2109
|
if (r <= 0) return e;
|
|
2086
2110
|
let i = 2 ** -52 * Math.max(1, Math.abs(t[0]), Math.abs(t[1])) * 16, a = e;
|
|
2087
2111
|
for (let e of n) {
|
|
2088
|
-
let n =
|
|
2112
|
+
let n = Sr(e, t);
|
|
2089
2113
|
if (n.length < r) return [...t];
|
|
2090
2114
|
if (n.filter((e) => e >= a[0] && e <= a[1]).length >= r) continue;
|
|
2091
2115
|
let o, s = Infinity, c = Infinity, l = (a[0] + a[1]) / 2;
|
|
@@ -2097,13 +2121,13 @@ function Dr(e, t, n, r) {
|
|
|
2097
2121
|
}
|
|
2098
2122
|
return a;
|
|
2099
2123
|
}
|
|
2100
|
-
function
|
|
2101
|
-
let i =
|
|
2124
|
+
function Er(e, t, n, r) {
|
|
2125
|
+
let i = br(t), a = i[1] - i[0];
|
|
2102
2126
|
if (!Number.isFinite(a) || a <= 0 || Math.abs(e[1] - e[0]) >= a * .999999999999) return i;
|
|
2103
|
-
let o =
|
|
2127
|
+
let o = Tr([Math.max(i[0], Math.min(e[0], e[1])), Math.min(i[1], Math.max(e[0], e[1]))], i, n, xr(r.minVisiblePoints)), s = wr(i, n, r), c = Math.max(s, Math.min(a, o[1] - o[0])), l = (o[0] + o[1]) / 2, u = Math.max(i[0], Math.min(l - c / 2, i[1] - c));
|
|
2104
2128
|
return [u, u + c];
|
|
2105
2129
|
}
|
|
2106
|
-
function
|
|
2130
|
+
function Dr(e, t, n) {
|
|
2107
2131
|
let r = t[1] - t[0], i = e[1] - e[0];
|
|
2108
2132
|
if (!Number.isFinite(r) || !Number.isFinite(i) || r <= 0 || i <= 0) return K;
|
|
2109
2133
|
let a = r / i, o = U(t, [0, n]);
|
|
@@ -2111,7 +2135,7 @@ function kr(e, t, n) {
|
|
|
2111
2135
|
}
|
|
2112
2136
|
//#endregion
|
|
2113
2137
|
//#region src/components/interaction/viewportDomain.ts
|
|
2114
|
-
function
|
|
2138
|
+
function Or(e) {
|
|
2115
2139
|
return (t, n) => {
|
|
2116
2140
|
if (!(!Number.isFinite(t[0]) || !Number.isFinite(t[1]) || t[0] === t[1])) {
|
|
2117
2141
|
if (e.cancelPendingZoom(), e.cancelViewportDrag(), e.props.displayMode === "independent") {
|
|
@@ -2119,12 +2143,12 @@ function Ar(e) {
|
|
|
2119
2143
|
r.forEach((n) => {
|
|
2120
2144
|
let r = e.trackLayouts.value.find((e) => e.index === n);
|
|
2121
2145
|
if (!r) return;
|
|
2122
|
-
let a = e.resolveInitialTrackDomain(r), o =
|
|
2123
|
-
i[n] =
|
|
2146
|
+
let a = e.resolveInitialTrackDomain(r), o = Er(t, a, [r.seriesList], e.props);
|
|
2147
|
+
i[n] = Dr(o, a, r.width);
|
|
2124
2148
|
}), e.independentTransforms.value = i;
|
|
2125
2149
|
} else {
|
|
2126
|
-
let n = e.initialXDomain.value, r =
|
|
2127
|
-
e.sharedTransform.value =
|
|
2150
|
+
let n = e.initialXDomain.value, r = Er(t, n, e.trackLayouts.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), e.props);
|
|
2151
|
+
e.sharedTransform.value = Dr(r, n, e.innerWidth.value);
|
|
2128
2152
|
}
|
|
2129
2153
|
e.clearHover(), e.editorSeriesOptions.value = [], f(e.configureZoom);
|
|
2130
2154
|
}
|
|
@@ -2132,13 +2156,13 @@ function Ar(e) {
|
|
|
2132
2156
|
}
|
|
2133
2157
|
//#endregion
|
|
2134
2158
|
//#region src/components/interaction/useWaveformViewport.ts
|
|
2135
|
-
function
|
|
2159
|
+
function kr(e) {
|
|
2136
2160
|
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) => {
|
|
2137
2161
|
let n = O.value, r = t?.currentTarget;
|
|
2138
|
-
|
|
2162
|
+
mr(n, e), r && r !== n && mr(r, e);
|
|
2139
2163
|
}, A = (e, t) => {
|
|
2140
2164
|
let n = i.value;
|
|
2141
|
-
!n || n.pointerId !== e || (k(e, t), i.value =
|
|
2165
|
+
!n || n.pointerId !== e || (k(e, t), i.value = vr(i.value, {
|
|
2142
2166
|
type: "cancel",
|
|
2143
2167
|
pointerId: e
|
|
2144
2168
|
}).state, O.value = void 0);
|
|
@@ -2161,7 +2185,7 @@ function jr(e) {
|
|
|
2161
2185
|
if (!n.zoomable && !s || !_.value || e.button !== 0) return;
|
|
2162
2186
|
let c = e.currentTarget, d = o.value.find((e) => e.index === t);
|
|
2163
2187
|
if (!d) return;
|
|
2164
|
-
let [f, p] = H(e, c), m = Math.max(0, Math.min(r ? d.width : l.value, f)), h = Math.max(0, Math.min(r ? d.height : u.value, p)), g =
|
|
2188
|
+
let [f, p] = H(e, c), m = Math.max(0, Math.min(r ? d.width : l.value, f)), h = Math.max(0, Math.min(r ? d.height : u.value, p)), g = vr(i.value, {
|
|
2165
2189
|
type: "begin",
|
|
2166
2190
|
gesture: {
|
|
2167
2191
|
trackIndex: t,
|
|
@@ -2183,8 +2207,8 @@ function jr(e) {
|
|
|
2183
2207
|
let i = t.width || 1, a = t.height || 1, u = e.currentX - e.startX, d = e.currentY - e.startY, f = e.xDomain[1] - e.xDomain[0], _ = e.independent ? b(t) : c.value, v = M([e.xDomain[0] - u / i * f, e.xDomain[1] - u / i * f], _);
|
|
2184
2208
|
if (e.independent) {
|
|
2185
2209
|
let e = [...m.value];
|
|
2186
|
-
e[t.index] =
|
|
2187
|
-
} else p.value =
|
|
2210
|
+
e[t.index] = Dr(v, _, i), m.value = e;
|
|
2211
|
+
} else p.value = Dr(v, _, l.value);
|
|
2188
2212
|
let y = e.independent ? [t] : o.value.filter((e) => e.hasVisibleSeries), x = { ...g.value }, S = { ...h.value };
|
|
2189
2213
|
y.forEach((t) => {
|
|
2190
2214
|
let r = s.value.find((e) => e.id === t.id);
|
|
@@ -2198,7 +2222,7 @@ function jr(e) {
|
|
|
2198
2222
|
if (!t || !n || e.pointerId !== t.pointerId) return;
|
|
2199
2223
|
let r = o.value.find((e) => e.index === t.trackIndex);
|
|
2200
2224
|
if (!r) return;
|
|
2201
|
-
let [a, s] = H(e, n), c = Math.max(0, Math.min(t.independent ? r.width : l.value, a)), d = Math.max(0, Math.min(t.independent ? r.height : u.value, s)), f =
|
|
2225
|
+
let [a, s] = H(e, n), c = Math.max(0, Math.min(t.independent ? r.width : l.value, a)), d = Math.max(0, Math.min(t.independent ? r.height : u.value, s)), f = vr(i.value, {
|
|
2202
2226
|
type: "move",
|
|
2203
2227
|
pointerId: e.pointerId,
|
|
2204
2228
|
position: {
|
|
@@ -2217,11 +2241,11 @@ function jr(e) {
|
|
|
2217
2241
|
if (!t || (e.independent ? !x(t) : !S())) return;
|
|
2218
2242
|
let i = e.independent ? 0 : t.left, a = Math.max(0, Math.min(t.width, Math.min(e.startX, e.currentX) - i)), s = Math.max(0, Math.min(t.width, Math.max(e.startX, e.currentX) - i));
|
|
2219
2243
|
if (s - a < 6) return;
|
|
2220
|
-
let u = e.independent ? b(t) : c.value, d = e.independent ? [t.seriesList] : o.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), h =
|
|
2244
|
+
let u = e.independent ? b(t) : c.value, d = e.independent ? [t.seriesList] : o.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), h = Er([t.xScale.invert(a), t.xScale.invert(s)], u, d, n);
|
|
2221
2245
|
if (e.independent) {
|
|
2222
2246
|
let e = [...m.value];
|
|
2223
|
-
e[t.index] =
|
|
2224
|
-
} else p.value =
|
|
2247
|
+
e[t.index] = Dr(h, u, t.width), m.value = e;
|
|
2248
|
+
} else p.value = Dr(h, u, l.value);
|
|
2225
2249
|
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()]));
|
|
2226
2250
|
if (r("zoom-change", h), e.independent) {
|
|
2227
2251
|
let e = _[t.series?.trackId ?? t.series?.id ?? t.id];
|
|
@@ -2262,7 +2286,7 @@ function jr(e) {
|
|
|
2262
2286
|
A(t.pointerId, e);
|
|
2263
2287
|
return;
|
|
2264
2288
|
}
|
|
2265
|
-
let [a, s] = H(e, r), c = Math.max(0, Math.min(t.independent ? n.width : l.value, a)), d = Math.max(0, Math.min(t.independent ? n.height : u.value, s)), p =
|
|
2289
|
+
let [a, s] = H(e, r), c = Math.max(0, Math.min(t.independent ? n.width : l.value, a)), d = Math.max(0, Math.min(t.independent ? n.height : u.value, s)), p = vr(i.value, {
|
|
2266
2290
|
type: "finish",
|
|
2267
2291
|
pointerId: e.pointerId,
|
|
2268
2292
|
position: {
|
|
@@ -2294,7 +2318,7 @@ function jr(e) {
|
|
|
2294
2318
|
finishViewportDrag: B,
|
|
2295
2319
|
cancelViewportDrag: R,
|
|
2296
2320
|
resetViewport: V,
|
|
2297
|
-
setViewportDomain:
|
|
2321
|
+
setViewportDomain: Or({
|
|
2298
2322
|
props: n,
|
|
2299
2323
|
trackLayouts: o,
|
|
2300
2324
|
initialXDomain: c,
|
|
@@ -2326,7 +2350,7 @@ function jr(e) {
|
|
|
2326
2350
|
}
|
|
2327
2351
|
//#endregion
|
|
2328
2352
|
//#region src/components/utils/useAnimationFrameThrottle.ts
|
|
2329
|
-
function
|
|
2353
|
+
function Ar() {
|
|
2330
2354
|
let e = null, t = null;
|
|
2331
2355
|
function n(n) {
|
|
2332
2356
|
t = n, e === null && (e = requestAnimationFrame(() => {
|
|
@@ -2355,8 +2379,8 @@ function Mr() {
|
|
|
2355
2379
|
}
|
|
2356
2380
|
//#endregion
|
|
2357
2381
|
//#region src/components/interaction/useWaveformZoom.ts
|
|
2358
|
-
function
|
|
2359
|
-
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 =
|
|
2382
|
+
function jr(e) {
|
|
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 = Ar(), y = !1, b = null, x = null, S = null, C = /* @__PURE__ */ new Map(), w = /* @__PURE__ */ new Map(), T = /* @__PURE__ */ new Map(), E = /* @__PURE__ */ new Set(), D, O = () => v.schedule(j), k = (e) => {
|
|
2360
2384
|
y || m.value || (g(), b = e.transform, x = "wheel", O(), P());
|
|
2361
2385
|
}, A = (e, t) => {
|
|
2362
2386
|
y || m.value || (g(), C.set(t, e.transform), w.set(t, "wheel"), O(), P());
|
|
@@ -2444,9 +2468,9 @@ function Nr(e) {
|
|
|
2444
2468
|
}, L = (e, n) => {
|
|
2445
2469
|
let r = Math.abs(e[1] - e[0]);
|
|
2446
2470
|
if (!Number.isFinite(r) || r <= 0) return Rt.MIN_SCALE;
|
|
2447
|
-
let i =
|
|
2471
|
+
let i = wr(e, n, t);
|
|
2448
2472
|
return Math.max(Rt.MIN_SCALE, i > 0 ? r / i : Infinity);
|
|
2449
|
-
}, R = (e, n, r, i) =>
|
|
2473
|
+
}, R = (e, n, r, i) => Dr(Er(e.rescaleX(U(n, [0, r])).domain(), n, i, t), n, r), z = (e) => {
|
|
2450
2474
|
let n = Number(t.minVisiblePoints);
|
|
2451
2475
|
return kn(e.seriesList, e.xScale.domain(), Number.isFinite(n) && n > 0 ? Math.ceil(n) + 1 : n);
|
|
2452
2476
|
}, B = () => {
|
|
@@ -2495,13 +2519,13 @@ function Nr(e) {
|
|
|
2495
2519
|
}
|
|
2496
2520
|
//#endregion
|
|
2497
2521
|
//#region src/components/core/useWaveformChartLifecycle.ts
|
|
2498
|
-
function
|
|
2522
|
+
function Mr(e) {
|
|
2499
2523
|
return e instanceof Element && !!e.closest("button, input, select, textarea, [contenteditable]:not([contenteditable=\"false\"])");
|
|
2500
2524
|
}
|
|
2501
|
-
function
|
|
2525
|
+
function Nr(e) {
|
|
2502
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: ee, clearZoomBindings: te } = e;
|
|
2503
2527
|
function ne(e) {
|
|
2504
|
-
z.value || e.code !== "Space" || !t.pannable || !_.value ||
|
|
2528
|
+
z.value || e.code !== "Space" || !t.pannable || !_.value || Mr(e.target) || (m.value = !0, e.preventDefault());
|
|
2505
2529
|
}
|
|
2506
2530
|
function re(e) {
|
|
2507
2531
|
e.code === "Space" && (m.value = !1);
|
|
@@ -2534,12 +2558,12 @@ function Fr(e) {
|
|
|
2534
2558
|
w.value.forEach((n) => {
|
|
2535
2559
|
let r = q?.[n.index];
|
|
2536
2560
|
if (!r) return;
|
|
2537
|
-
let i = I(n), a =
|
|
2538
|
-
e[n.index] =
|
|
2561
|
+
let i = I(n), a = Er(r, i, [n.seriesList], t);
|
|
2562
|
+
e[n.index] = Dr(a, i, n.width);
|
|
2539
2563
|
}), P.value = e, q = void 0;
|
|
2540
2564
|
} else if (t.displayMode !== "independent" && G) {
|
|
2541
|
-
let e = k.value, n = w.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), r =
|
|
2542
|
-
A.value =
|
|
2565
|
+
let e = k.value, n = w.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), r = Er(G, e, n, t);
|
|
2566
|
+
A.value = Dr(r, e, T.value), G = void 0;
|
|
2543
2567
|
}
|
|
2544
2568
|
H();
|
|
2545
2569
|
});
|
|
@@ -2625,7 +2649,7 @@ function Fr(e) {
|
|
|
2625
2649
|
}
|
|
2626
2650
|
//#endregion
|
|
2627
2651
|
//#region src/components/core/useWaveformData.ts
|
|
2628
|
-
function
|
|
2652
|
+
function Pr(e) {
|
|
2629
2653
|
return ln(e).map(({ source: e, ...t }) => {
|
|
2630
2654
|
let n = e.metrics(t.errorBar.visible);
|
|
2631
2655
|
return {
|
|
@@ -2638,45 +2662,45 @@ function Ir(e) {
|
|
|
2638
2662
|
};
|
|
2639
2663
|
});
|
|
2640
2664
|
}
|
|
2641
|
-
function
|
|
2642
|
-
let r = C(
|
|
2665
|
+
function Fr(e, t, n) {
|
|
2666
|
+
let r = C(Pr(e()));
|
|
2643
2667
|
return O(e, (e) => {
|
|
2644
|
-
t(), r.value =
|
|
2668
|
+
t(), r.value = Pr(e), n();
|
|
2645
2669
|
}), r;
|
|
2646
2670
|
}
|
|
2647
2671
|
//#endregion
|
|
2648
2672
|
//#region wasm/pkg/waveform_sampling_wasm.js
|
|
2649
|
-
function
|
|
2650
|
-
let n =
|
|
2651
|
-
if (o[3]) throw
|
|
2652
|
-
var s =
|
|
2673
|
+
function Ir(e, t) {
|
|
2674
|
+
let n = Xr(e, $.__wbindgen_malloc), r = ni, i = Xr(t, $.__wbindgen_malloc), a = ni, o = $.calculate_range(n, r, i, a);
|
|
2675
|
+
if (o[3]) throw Zr(o[2]);
|
|
2676
|
+
var s = Vr(o[0], o[1]).slice();
|
|
2653
2677
|
return $.__wbindgen_free(o[0], o[1] * 8, 8), s;
|
|
2654
2678
|
}
|
|
2655
|
-
function
|
|
2656
|
-
let i =
|
|
2657
|
-
if (c[3]) throw
|
|
2658
|
-
var l =
|
|
2679
|
+
function Lr(e, t, n, r) {
|
|
2680
|
+
let i = Xr(e, $.__wbindgen_malloc), a = ni, o = Xr(t, $.__wbindgen_malloc), s = ni, c = $.find_visible_range(i, a, o, s, n, r);
|
|
2681
|
+
if (c[3]) throw Zr(c[2]);
|
|
2682
|
+
var l = Hr(c[0], c[1]).slice();
|
|
2659
2683
|
return $.__wbindgen_free(c[0], c[1] * 4, 4), l;
|
|
2660
2684
|
}
|
|
2661
|
-
function
|
|
2662
|
-
let i =
|
|
2663
|
-
if (c[3]) throw
|
|
2664
|
-
var l =
|
|
2685
|
+
function Rr(e, t, n, r) {
|
|
2686
|
+
let i = Xr(e, $.__wbindgen_malloc), a = ni, o = Xr(t, $.__wbindgen_malloc), s = ni, c = $.sample_aggregates(i, a, o, s, n, r);
|
|
2687
|
+
if (c[3]) throw Zr(c[2]);
|
|
2688
|
+
var l = Vr(c[0], c[1]).slice();
|
|
2665
2689
|
return $.__wbindgen_free(c[0], c[1] * 8, 8), l;
|
|
2666
2690
|
}
|
|
2667
|
-
function
|
|
2668
|
-
let i =
|
|
2669
|
-
if (c[3]) throw
|
|
2670
|
-
var l =
|
|
2691
|
+
function zr(e, t, n, r) {
|
|
2692
|
+
let i = Xr(e, $.__wbindgen_malloc), a = ni, o = Xr(t, $.__wbindgen_malloc), s = ni, c = $.sample_indexes(i, a, o, s, n, r);
|
|
2693
|
+
if (c[3]) throw Zr(c[2]);
|
|
2694
|
+
var l = Hr(c[0], c[1]).slice();
|
|
2671
2695
|
return $.__wbindgen_free(c[0], c[1] * 4, 4), l;
|
|
2672
2696
|
}
|
|
2673
|
-
function
|
|
2697
|
+
function Br() {
|
|
2674
2698
|
return {
|
|
2675
2699
|
__proto__: null,
|
|
2676
2700
|
"./waveform_sampling_wasm_bg.js": {
|
|
2677
2701
|
__proto__: null,
|
|
2678
2702
|
__wbindgen_cast_0000000000000001: function(e, t) {
|
|
2679
|
-
return
|
|
2703
|
+
return Gr(e, t);
|
|
2680
2704
|
},
|
|
2681
2705
|
__wbindgen_init_externref_table: function() {
|
|
2682
2706
|
let e = $.__wbindgen_externrefs, t = e.grow(4);
|
|
@@ -2685,52 +2709,52 @@ function Hr() {
|
|
|
2685
2709
|
}
|
|
2686
2710
|
};
|
|
2687
2711
|
}
|
|
2688
|
-
function
|
|
2689
|
-
return e >>>= 0,
|
|
2712
|
+
function Vr(e, t) {
|
|
2713
|
+
return e >>>= 0, Wr().subarray(e / 8, e / 8 + t);
|
|
2690
2714
|
}
|
|
2691
|
-
function
|
|
2692
|
-
return e >>>= 0,
|
|
2715
|
+
function Hr(e, t) {
|
|
2716
|
+
return e >>>= 0, qr().subarray(e / 4, e / 4 + t);
|
|
2693
2717
|
}
|
|
2694
|
-
var
|
|
2695
|
-
function
|
|
2696
|
-
return (
|
|
2718
|
+
var Ur = null;
|
|
2719
|
+
function Wr() {
|
|
2720
|
+
return (Ur === null || Ur.byteLength === 0) && (Ur = new Float64Array($.memory.buffer)), Ur;
|
|
2697
2721
|
}
|
|
2698
|
-
function
|
|
2699
|
-
return e >>>= 0,
|
|
2722
|
+
function Gr(e, t) {
|
|
2723
|
+
return e >>>= 0, ti(e, t);
|
|
2724
|
+
}
|
|
2725
|
+
var Kr = null;
|
|
2726
|
+
function qr() {
|
|
2727
|
+
return (Kr === null || Kr.byteLength === 0) && (Kr = new Uint32Array($.memory.buffer)), Kr;
|
|
2700
2728
|
}
|
|
2701
2729
|
var Jr = null;
|
|
2702
2730
|
function Yr() {
|
|
2703
|
-
return (Jr === null || Jr.byteLength === 0) && (Jr = new
|
|
2704
|
-
}
|
|
2705
|
-
var Xr = null;
|
|
2706
|
-
function Zr() {
|
|
2707
|
-
return (Xr === null || Xr.byteLength === 0) && (Xr = new Uint8Array($.memory.buffer)), Xr;
|
|
2731
|
+
return (Jr === null || Jr.byteLength === 0) && (Jr = new Uint8Array($.memory.buffer)), Jr;
|
|
2708
2732
|
}
|
|
2709
|
-
function
|
|
2733
|
+
function Xr(e, t) {
|
|
2710
2734
|
let n = t(e.length * 8, 8) >>> 0;
|
|
2711
|
-
return
|
|
2735
|
+
return Wr().set(e, n / 8), ni = e.length, n;
|
|
2712
2736
|
}
|
|
2713
|
-
function
|
|
2737
|
+
function Zr(e) {
|
|
2714
2738
|
let t = $.__wbindgen_externrefs.get(e);
|
|
2715
2739
|
return $.__externref_table_dealloc(e), t;
|
|
2716
2740
|
}
|
|
2717
|
-
var
|
|
2741
|
+
var Qr = new TextDecoder("utf-8", {
|
|
2718
2742
|
ignoreBOM: !0,
|
|
2719
2743
|
fatal: !0
|
|
2720
2744
|
});
|
|
2721
|
-
|
|
2722
|
-
var
|
|
2723
|
-
function
|
|
2724
|
-
return
|
|
2745
|
+
Qr.decode();
|
|
2746
|
+
var $r = 2146435072, ei = 0;
|
|
2747
|
+
function ti(e, t) {
|
|
2748
|
+
return ei += t, ei >= $r && (Qr = new TextDecoder("utf-8", {
|
|
2725
2749
|
ignoreBOM: !0,
|
|
2726
2750
|
fatal: !0
|
|
2727
|
-
}),
|
|
2751
|
+
}), Qr.decode(), ei = t), Qr.decode(Yr().subarray(e, e + t));
|
|
2728
2752
|
}
|
|
2729
|
-
var
|
|
2730
|
-
function
|
|
2731
|
-
return $ = e.exports,
|
|
2753
|
+
var ni = 0, $;
|
|
2754
|
+
function ri(e, t) {
|
|
2755
|
+
return $ = e.exports, Ur = null, Kr = null, Jr = null, $.__wbindgen_start(), $;
|
|
2732
2756
|
}
|
|
2733
|
-
async function
|
|
2757
|
+
async function ii(e, t) {
|
|
2734
2758
|
if (typeof Response == "function" && e instanceof Response) {
|
|
2735
2759
|
if (typeof WebAssembly.instantiateStreaming == "function") try {
|
|
2736
2760
|
return await WebAssembly.instantiateStreaming(e, t);
|
|
@@ -2756,17 +2780,17 @@ async function oi(e, t) {
|
|
|
2756
2780
|
return !1;
|
|
2757
2781
|
}
|
|
2758
2782
|
}
|
|
2759
|
-
async function
|
|
2783
|
+
async function ai(e) {
|
|
2760
2784
|
if ($ !== void 0) return $;
|
|
2761
2785
|
e !== void 0 && (Object.getPrototypeOf(e) === Object.prototype ? {module_or_path: e} = e : console.warn("using deprecated parameters for the initialization function; pass a single object instead")), e === void 0 && (e = new URL("data:application/wasm;base64,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kkA7AAAgAkEEayECIAVB/6ziBEsNAAsLIABBCUsEQCACQQJrIgIgBkEGamogACAAQf//A3FB5ABuIgBB5ABsa0H//wNxQQF0LwDSkkA7AAALQQAgBCAAG0UEQCACQQFrIgIgBkEGamogAEEBdC0A05JAOgAACwJ/IAZBBmogAmohB0EAIQRBK0GAgMQAIAEoAggiA0GAgIABcSIAGyEIIANBgICABHFFRSEKAkBBCiACayILIABBFXZqIgAgAS8BDCIFSQRAAkACQCADQYCAgAhxRQRAIAUgAGshBUEAIQACQAJAAkAgA0EddkEDcUEBaw4DAAEAAgsgBSEADAELIAVB/v8DcUEBdiEACyADQf///wBxIQkgASgCBCEDIAEoAgAhAQNAIARB//8DcSAAQf//A3FPDQJBASECIARBAWohBCABIAkgAygCEBEBAEUNAAsMBAsgASABKQIIIgynQYCAgP95cUGwgICAAnI2AghBASECIAEoAgAiAyABKAIEIgkgCCAKECwNAyAFIABrQf//A3EhAANAIARB//8DcSAATw0CIARBAWohBCADQTAgCSgCEBEBAEUNAAsMAwtBASECIAEgAyAIIAoQLA0CIAEgByALIAMoAgwRAgANAkEAIQQgBSAAa0H//wNxIQADQCAEQf//A3EiBSAASSECIAAgBU0NAyAEQQFqIQQgASAJIAMoAhARAQBFDQALDAILIAMgByALIAkoAgwRAgANASABIAw3AghBAAwCC0EBIQIgASgCACIAIAEoAgQiASAIIAoQLA0AIAAgByALIAEoAgwRAgAhAgsgAgsgBkEQaiQAC4gCAQZ/IAAoAggiBCECAn9BASABQYABSQ0AGkECIAFBgBBJDQAaQQNBBCABQYCABEkbCyIGIAAoAgAgBGtLBH8gACAEIAYQHSAAKAIIBSACCyAAKAIEaiECAkAgAUGAAU8EQCABQT9xQYB/ciEFIAFBBnYhAyABQYAQSQRAIAIgBToAASACIANBwAFyOgAADAILIAFBDHYhByADQT9xQYB/ciEDIAFB//8DTQRAIAIgBToAAiACIAM6AAEgAiAHQeABcjoAAAwCCyACIAU6AAMgAiADOgACIAIgB0E/cUGAf3I6AAEgAiABQRJ2QXByOgAADAELIAIgAToAAAsgACAEIAZqNgIIQQALzwIBCH9BAEHo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gIACcSABQYCABElyDQBBgIAEIQYgAEGAgARxIAFBgIAISXINAEGAgAghBiAAQYCACHEgAUGAgBBJcg0AQYCAECEGIABBgIAQcSABQYCAIElyDQBBgIAgIQYgAEGAgCBxIAFBgIDAAElyDQBBgIDAACEGIABBgIDAAHEgAUGAgIABSXINAEGAgIABIQYgAEGAgIABcSABQYCAgAJJcg0AQYCAgAIhBiAAQYCAgAJxIAFBgICABElyDQBBgICABCEGIABBgICABHEgAUGAgIAISXINAEGAgIAIIQYgAEGAgIAIcSABQYCAgBBJcg0AQYCAgBAhBiAAQYCAgBBxIAFBgICAIElyDQBBgICAICEGIABBgICAIHEgAUGAgIDAAElyDQBBgICAwAAhBiAAQYCAgMAAcSABQYCAgIABSXINAEGAgICAASEGIABBgICAgAFxIAFBgICAgAJJcg0AQYCAgIACIQYgAEGAgICAAnEgAUGAgICABElyDQBBgICAgAQhBiAAQYCAgIAEcSABQQBOcg0AEEoACyAAIQEgACEDAkAgBmgiCEUNAAJAIAggC0kEQCAQIAhBGGxqIgEoAgBBgICAgHhHDQEMDAsgCCALQbyJwAAQJgALIAAgCHYiAyABKAIIIghJBEAgASgCFCIIIANLBEAgA0ECdCIIIAEoAhBqKAIAIQMgASgCBCAIaigCACEBDAILIAMgCEHcicAAECYACyADIAhBzInAABAmAAsgASAMTw0BIAcgDE8NAiAHIAEgDyABQQN0aisDACInIA8gB0EDdGorAwAiKGNFIAEgB08gJyAoYnJxGyEHIAMgDE8NAyAEIAxPDQQgBCADIA8gA0EDdGorAwAiJyAPIARBA3RqKwMAIihkRSADIARPICcgKGJycRshBCAAIAZqIgAgI0kNAAsCQAJAAkACQAJAIBZBAWsOBgMAAAECBAALQZyKwABBKEHEisAAED4ACyAFKAIUIgAEQCAFKAIQIABBAnRqQQRrKAIAIAdGDQkLIAUoAgwgAEYEQCAFQQxqECcLIAUoAhAgAEECdGogBzYCACAFIABBAWo2AhQMCAsgBSgCFCIABEAgBSgCECAAQQJ0akEEaygCACAERg0ICyAFKAIMIABGBEAgBUEMahAnCyAFKAIQIABBAnRqIAQ2AgAgBSAAQQFqNgIUDAcLIAUgBDYC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IQ4gAyEKIwBB8ABrIgckAAJ/AkAgBL0iEEL///////////8Ag0KAgICAgICA+P8AWg0AIAW9IhFC////////////AIMiD1AgEUIAUyIIIA9CAX1C/////////wdUcXIgD0KAgICAgICA+P8AUXIgD0KAgICAgICA+P8AVXIgD0KAgICAgICACH1CgICAgICAgPD/AFQgCHFyDQAgAUEDdCELQQAhCAJAA0AgCCALRg0BIAAgCGogCEEIaiEIKQMAQv///////////wCDQv/////////3/wBYDQALQcmIwABBLBA/rSEQIAdBGGohCUGAgICAeAwCCwJAIApFDQAgASAKRgRAIAFBAWohCSACIQgDQCAJQQFrIglBAkkNAiAIKAIAIQsgCyAIQQRqIggoAgBNDQALC0GciMAAQS0QP60hECAHQRhqIQlBgICAgHgMAgsCQCABRQRAQQghCwwBCyABQQN0IghBCBBLIgsEQCAIRQ0BIAsgACAI/AoAAAwBC0EIIAgQPQALAkACQCAKRQRAQYCAgIB4IQoMAQsgCkECdCIJQQQQSyIIRQ0BIAkEQCAIIAIgCfwKAAALIAitIAqtQiCGhCEPC0QAAAAAAADwPyAFoyEEIAdBADYCGCAHQRBqIQlBAAwCC0EEIAkQPQALQfWIwABBNhA/rSEQIAdBGGohCUGAgICAeAshCCAJIAg2AgACfyAHKAIYIghBgICAgHhGBEBBASEJIBCnDAELIAcgBygCEDYCaCAHQQQ2AmQgByAINgJgIAdBADYCXCAHQoCAgIDAADcCVCAHIAE2AlAgByALNgJMIAcgATYCSCAHIA83A0AgByAKNgI8IAdBgICAgHg2AjAgByAGNgIsIAdBADYCKCAHIAQ5AyAgByAQNwMYIAdBCGogB0EYahAXIAcoAgghCSAHKAIMCyEGIA4gCTYCACAOIAY2AgQgB0HwAGokACANKAIMIQogDSgCCCEGIAMEQCACIANBAnRBBBBHCyABBEAgACABQQN0QQgQRwsgDCAGQQFxIgA2AgggDCAKQQAgABs2AgQgDEEAIAogABs2AgAgDUEQaiQAIAwoAgAgDCgCBCAMKAIIIAxBEGokAAuBIAMmfwV8AX4jAEEQayIPJAAjAEFAaiIKJAAgCiAENgIoIAogAzYCJCAKIAI2AiAgCiABNgIcIAogADYC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ZSBmb3Igc2xpY2Ugb2YgbGVuZ3RoIMAASGNhbm5vdCBhY2Nlc3MgYSBUaHJlYWQgTG9jYWwgU3RvcmFnZSB2YWx1ZSBkdXJpbmcgb3IgYWZ0ZXIgZGVzdHJ1Y3Rpb246IMAAL3J1c3RjLzU5ODA3NjE2ZTFmYTI1NDA3MjRiZmJhYzE0ZDc5NzZkN2U0YTM4NjAvbGlicmFyeS9jb3JlL3NyYy9zbGljZS9zb3J0L3NoYXJlZC9zbWFsbHNvcnQucnMAL3J1c3RjLzU5ODA3NjE2ZTFmYTI1NDA3MjRiZmJhYzE0ZDc5NzZkN2U0YTM4NjAvbGlicmFyeS9jb3JlL3NyYy9zbGljZS9zb3J0L3N0YWJsZS9xdWlja3NvcnQucnMAL3J1c3RjLzU5ODA3NjE2ZTFmYTI1NDA3MjRiZmJhYzE0ZDc5NzZkN2U0YTM4NjAvbGlicmFyeS9zdGQvc3JjL3RocmVhZC9sb2NhbC5ycwAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi93YXNtLWJpbmRnZW4tMC4yLjExOC9zcmMvZXh0ZXJucmVmLnJzAC9ydXN0Yy81OTgwNzYxNmUxZmEyNTQwNzI0YmZiYWMxNGQ3OTc2ZDdlNGEzODYwL2xpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMvbW9kLnJzAC9ydXN0L2RlcHMvZGxtYWxsb2MtMC4yLjExL3NyYy9kbG1hbGxvYy5ycwBzcmMvbGliLnJzAAAAAA4DEAAKAAAA0gAAABkAAAAOAxAACgAAANoAAAAaAAAADgMQAAoAAADaAAAAPQAAAA4DEAAKAAAAyQAAAB0AAAAOAxAACgAAAKoAAAAQAAAADgMQAAoAAACqAAAAIgAAAA4DEAAKAAAArQAAACIAAAAOAxAACgAAABcCAAAcAAAADgMQAAoAAAALAgAAJgAAAA4DEAAKAAAA8gEAACoAAAAOAxAACgAAAPgBAAAqAAAADgMQAAoAAAD+AQAAMgAAAA4DEAAKAAAAkgEAAA8AAAAOAxAACgAAAJIBAAAsAAAADgMQAAoAAACNAQAADwAAAA4DEAAKAAAAjQEAACwAAABzb3VyY2UgaW5kZXhlcyBtdXN0IGJlIGVtcHR5IG9yIG5vbmRlY3JlYXNpbmdzYW1wbGUgdmFsdWVzIG11c3QgYmUgZmluaXRlIGFuZCBhZGRyZXNzYWJsZXNhbXBsZSBtZXRhZGF0YSBtdXN0IGJlIGZpbml0ZSBhbmQgc2FtcGxlUmF0ZSBwb3NpdGl2ZQAOAxAACgAAABYBAAAkAAAADgMQAAoAAAAuAgAAMAAAAA4DEAAKAAAALwIAAB8AAAAOAxAACgAAAC8CAAA1AAAADgMQAAoAAADWAQAAIAAAAA4DEAAKAAAAsQEAAC0AAAAOAxAACgAAALIBAAAtAAAAaW50ZXJuYWwgZXJyb3I6IGVudGVyZWQgdW5yZWFjaGFibGUgY29kZQ4DEAAKAAAAmgIAABYAAABzdHJhdGVneSBkb2VzIG5vdCByZXR1cm4gc291cmNlIGluZGV4ZXNzdHJhdGVneSBkb2VzIG5vdCByZXR1cm4gYWdncmVnYXRlIHZhbHVlc3JlZ2lzdGVyZWQgZGF0YXNldHMgbXVzdCBjb250YWluIGZpbml0ZSBjb29yZGluYXRlc3ggYW5kIHkgbXVzdCBoYXZlIHRoZSBzYW1lIGxlbmd0aA4DEAAKAAAAdgEAABIAAAAOAxAACgAAAHMBAAA8AAAADgMQAAoAAABMAgAAHAAAAA4DEAAKAAAATwIAACwAAAAOAxAACgAAAFACAAAdAAAADgMQAAoAAABRAgAAHQAAAA4DEAAKAAAAUgIAACUAAAABAAAADgMQAAoAAACUAAAAEgAAAA4DEAAKAAAAggAAABAAAAAOAxAACgAAAIIAAAAiAAAADgMQAAoAAACFAAAAIgAAAA4DEAAKAAAAAQEAAB0AAAAOAxAACgAAABwDAAAlAAAADgMQAAoAAABJAAAAQwAAAA4DEAAKAAAALQMAAA4AAAAOAxAACgAAACYDAAAnAAAAZGF0YXNldCBoYW5kbGUgd2FzIG5vdCBmb3VuZA4DEAAKAAAAPwMAACUAAAAOAxAACgAAAAoDAAAlAAAADgMQAAoAAABRAwAAJQAAANoBEABPAAAA3wEAABkAAABtaWQgPiBsZW4AAAB6ARAAXwAAAE0AAAAfAAAAegEQAF8AAABHAAAAFwAAAA4DEAAKAAAAfwEAABoAAAAOAxAACgAAAPMAAAAWAAAADgMQAAoAAABJAAAAQwAAAA4DEAAKAAAASQAAAEMAAAAqAhAAZwAAAHwAAAARAAAAKgIQAGcAAACJAAAAEQAAAAUAAAAMAAAABAAAAAYAAAAHAAAACAAAAAAAAAAIAAAABAAAAAkAAAAKAAAACwAAAAwAAAANAAAAEAAAAAQAAAAOAAAADwAAABAAAAARAAAAbV3L1ixQ62N4QaZXcRuLuRWiXFU0VQfUU3itgVHwo/dhc3NlcnRpb24gZmFpbGVkOiBwc2l6ZSA+PSBzaXplICsgbWluX292ZXJoZWFkAADjAhAAKgAAALEEAAAJAAAAYXNzZXJ0aW9uIGZhaWxlZDogcHNpemUgPD0gc2l6ZSArIG1heF9vdmVyaGVhZAAA4wIQACoAAAC3BAAADQAAAAAAAAAIAAAABAAAABIAAABBY2Nlc3NFcnJvcgAFAAAADAAAAAQAAAATAAAAY2FwYWNpdHkgb3ZlcmZsb3cAAACSAhAAUAAAABwAAAAFAAAAfSB9Y2FsbGVkIGBPcHRpb246OnVud3JhcCgpYCBvbiBhIGBOb25lYCB2YWx1ZTAwMDEwMjAzMDQwNTA2MDcwODA5MTAxMTEyMTMxNDE1MTYxNzE4MTkyMDIxMjIyMzI0MjUyNjI3MjgyOTMwMzEzMjMzMzQzNTM2MzczODM5NDA0MTQyNDM0NDQ1NDY0NzQ4NDk1MDUxNTI1MzU0NTU1NjU3NTg1OTYwNjE2MjYzNjQ2NTY2Njc2ODY5NzA3MTcyNzM3NDc1NzY3Nzc4Nzk4MDgxODI4Mzg0ODU4Njg3ODg4OTkwOTE5MjkzOTQ5NTk2OTc5ODk5YXR0ZW1wdCB0byBjYWxjdWxhdGUgdGhlIHJlbWFpbmRlciB3aXRoIGEgZGl2aXNvciBvZiB6ZXJvdXNlci1wcm92aWRlZCBjb21wYXJpc29uIGZ1bmN0aW9uIGRvZXMgbm90IGNvcnJlY3RseSBpbXBsZW1lbnQgYSB0b3RhbCBvcmRlcgAaARAAXwAAAFwDAAAFAAAAUmVmQ2VsbCBhbHJlYWR5IG11dGFibHkgYm9ycm93ZWRSZWZDZWxsIGFscmVhZHkgYm9ycm93ZWQAQfCVwAALAQgAQYCWwAALAQQAfAlwcm9kdWNlcnMCCGxhbmd1YWdlAQRSdXN0AAxwcm9jZXNzZWQtYnkDBXJ1c3RjHTEuOTUuMCAoNTk4MDc2MTZlIDIwMjYtMDQtMTQpBndhbHJ1cwYwLjI2LjEMd2FzbS1iaW5kZ2VuEzAuMi4xMTggKDc1M2JiN2ZmNCkAaw90YXJnZXRfZmVhdHVyZXMGKw9tdXRhYmxlLWdsb2JhbHMrE25vbnRyYXBwaW5nLWZwdG9pbnQrC2J1bGstbWVtb3J5KwhzaWduLWV4dCsPcmVmZXJlbmNlLXR5cGVzKwptdWx0aXZhbHVl", "" + import.meta.url));
|
|
2762
|
-
let t =
|
|
2786
|
+
let t = Br();
|
|
2763
2787
|
(typeof e == "string" || typeof Request == "function" && e instanceof Request || typeof URL == "function" && e instanceof URL) && (e = fetch(e));
|
|
2764
|
-
let { instance: n, module: r } = await
|
|
2765
|
-
return
|
|
2788
|
+
let { instance: n, module: r } = await ii(await e, t);
|
|
2789
|
+
return ri(n, r);
|
|
2766
2790
|
}
|
|
2767
2791
|
//#endregion
|
|
2768
2792
|
//#region src/core/wasmSampling.ts
|
|
2769
|
-
var
|
|
2793
|
+
var oi = {
|
|
2770
2794
|
none: 0,
|
|
2771
2795
|
peak: 1,
|
|
2772
2796
|
lttb: 2,
|
|
@@ -2775,24 +2799,24 @@ var ci = {
|
|
|
2775
2799
|
max: 5,
|
|
2776
2800
|
minmax: 6,
|
|
2777
2801
|
sum: 7
|
|
2778
|
-
},
|
|
2779
|
-
function
|
|
2802
|
+
}, si;
|
|
2803
|
+
function ci(e, t) {
|
|
2780
2804
|
return t === 0 ? 0 : Number.isFinite(e) ? Math.min(t, Math.max(1, Math.floor(e))) : t;
|
|
2781
2805
|
}
|
|
2782
|
-
function
|
|
2806
|
+
function li(e) {
|
|
2783
2807
|
if (e.x.length !== e.y.length) throw Error("x and y must have the same length");
|
|
2784
2808
|
}
|
|
2785
|
-
function
|
|
2786
|
-
return
|
|
2809
|
+
function ui(e) {
|
|
2810
|
+
return si ??= Promise.resolve(ai(e)).then(() => void 0), si;
|
|
2787
2811
|
}
|
|
2788
|
-
async function
|
|
2789
|
-
|
|
2790
|
-
let t =
|
|
2812
|
+
async function di(e) {
|
|
2813
|
+
li(e), await ui();
|
|
2814
|
+
let t = ci(e.targetPointCount, e.x.length), n = oi[e.strategy];
|
|
2791
2815
|
if (e.strategy !== "average" && e.strategy !== "sum") return {
|
|
2792
2816
|
kind: "source-indexes",
|
|
2793
|
-
sourceIndexes:
|
|
2817
|
+
sourceIndexes: zr(e.x, e.y, n, t)
|
|
2794
2818
|
};
|
|
2795
|
-
let r =
|
|
2819
|
+
let r = Rr(e.x, e.y, n, t), i = new Float64Array(r.length / 2), a = new Float64Array(r.length / 2);
|
|
2796
2820
|
for (let e = 0; e < i.length; e += 1) i[e] = r[e * 2], a[e] = r[e * 2 + 1];
|
|
2797
2821
|
return {
|
|
2798
2822
|
kind: "aggregates",
|
|
@@ -2800,24 +2824,34 @@ async function pi(e) {
|
|
|
2800
2824
|
y: a
|
|
2801
2825
|
};
|
|
2802
2826
|
}
|
|
2803
|
-
async function
|
|
2827
|
+
async function fi(e, t) {
|
|
2804
2828
|
if (e.length !== t.length) throw Error("x and y must have the same length");
|
|
2805
|
-
await
|
|
2806
|
-
let n =
|
|
2829
|
+
await ui();
|
|
2830
|
+
let n = Ir(e, t);
|
|
2807
2831
|
return n.length === 4 ? {
|
|
2808
2832
|
x: [n[0], n[1]],
|
|
2809
2833
|
y: [n[2], n[3]]
|
|
2810
2834
|
} : void 0;
|
|
2811
2835
|
}
|
|
2812
|
-
async function
|
|
2836
|
+
async function pi(e, t, n) {
|
|
2813
2837
|
if (e.length !== t.length) throw Error("x and y must have the same length");
|
|
2814
|
-
await
|
|
2815
|
-
let r =
|
|
2838
|
+
await ui();
|
|
2839
|
+
let r = Lr(e, t, n[0], n[1]);
|
|
2816
2840
|
return [r[0], r[1]];
|
|
2817
2841
|
}
|
|
2818
2842
|
//#endregion
|
|
2843
|
+
//#region src/components/core/trackPagination.ts
|
|
2844
|
+
var mi = (e, t) => t ? e.filter((e) => e.series.length > 0) : e, hi = (e, t, n, r, i) => {
|
|
2845
|
+
let a = t?.[i];
|
|
2846
|
+
if (a !== void 0) return a;
|
|
2847
|
+
if (e !== void 0) return n === 1 ? e : typeof e == "number" ? e + r : `${e}-${r + 1}`;
|
|
2848
|
+
}, gi = (e, t, n) => (r) => {
|
|
2849
|
+
let i = n(), a = i.findIndex((e) => e.id === r);
|
|
2850
|
+
return hi(e(), t(), i.length, a >= 0 ? a : 0, r);
|
|
2851
|
+
};
|
|
2852
|
+
//#endregion
|
|
2819
2853
|
//#region src/components/core/useWaveformLayout.ts
|
|
2820
|
-
function
|
|
2854
|
+
function _i(e) {
|
|
2821
2855
|
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) => ({
|
|
2822
2856
|
...e,
|
|
2823
2857
|
color: e.color ?? (t === 0 ? n.lineColor : Vt[t % Vt.length])
|
|
@@ -2840,53 +2874,44 @@ function gi(e) {
|
|
|
2840
2874
|
yDomain: o.length ? ht(o) : [0, 1]
|
|
2841
2875
|
};
|
|
2842
2876
|
});
|
|
2843
|
-
}), v = t(() => Tn(n.rendering)), y = t(() =>
|
|
2844
|
-
let e =
|
|
2845
|
-
return g.value.fillIncompleteLastRow && e.length > 0 ? e :
|
|
2846
|
-
}),
|
|
2877
|
+
}), v = t(() => Tn(n.rendering)), y = t(() => mi(_.value, g.value.hideEmptyTracks)), b = t(() => Vn(y.value.length, g.value)), x = t(() => Hn(y.value, i.value, g.value)), S = t(() => {
|
|
2878
|
+
let e = x.value.filter((e) => e.series.length > 0);
|
|
2879
|
+
return g.value.fillIncompleteLastRow && e.length > 0 ? e : x.value;
|
|
2880
|
+
}), C = t(() => {
|
|
2847
2881
|
let e = _.value.filter((e) => e.visibleSeries.length > 0).flatMap((e) => or(e, n.overlayMode, n.yDomain, n.yDomains)).map((e) => sr(e.domain, n.axes?.y?.nice !== !1, void 0, e.seriesList[0]?.unit, n.axes?.y?.splitNumber).tickTextWidth), t = Math.max(7, ...e), r = t + 7 + 4, i = -(7 + t + 0 + 12 / 2);
|
|
2848
2882
|
return {
|
|
2849
2883
|
tickClearance: r,
|
|
2850
2884
|
fullClearance: t + 7 + 0 + 12 + 4,
|
|
2851
2885
|
labelCenterX: i
|
|
2852
2886
|
};
|
|
2853
|
-
}),
|
|
2854
|
-
let
|
|
2887
|
+
}), w = t(() => _.value.some((e) => e.visibleSeries.length === 1 && !!(e.visibleSeries[0]?.name.trim() || n.yLabel))), T = t(() => _.value.some((e) => e.visibleSeries.length > 0)), E = t(() => Math.max(Lt.left, w.value ? C.value.fullClearance : T.value ? C.value.tickClearance : 0)), D = t(() => cr(S.value.filter((e) => e.visibleSeries.length > 0), n.overlayMode, n.yDomain, n.yDomains, n.axes?.y?.splitNumber, n.axes?.y?.nice !== !1)), O = t(() => n.overlayMode === "multi-axis" ? Math.max(E.value, D.value.clearance.left) : E.value), k = t(() => n.overlayMode === "multi-axis" ? Math.max(Lt.right, D.value.clearance.right) : Lt.right), A = t(() => Math.max(0, o.value - O.value - k.value)), j = t(() => {
|
|
2888
|
+
let e = Un(n.displayMode), t = g.value.columnCount, r = t > 1, i = Math.max(e, C.value.fullClearance), a = Math.max(e, C.value.tickClearance), o = (A.value - i * Math.max(0, t - 1)) / t >= 120;
|
|
2855
2889
|
return {
|
|
2856
|
-
|
|
2857
|
-
|
|
2890
|
+
horizontalGap: n.overlayMode === "multi-axis" && r && T.value ? Math.max(e, D.value.clearance.left + D.value.clearance.right) : r && T.value ? w.value && o ? i : a : e,
|
|
2891
|
+
hideSecondaryLabels: n.overlayMode !== "multi-axis" && r && w.value && !o
|
|
2858
2892
|
};
|
|
2859
|
-
}, {
|
|
2860
|
-
left: 0,
|
|
2861
|
-
right: 0
|
|
2862
|
-
})), D = t(() => n.overlayMode === "multi-axis" ? Math.max(T.value, E.value.left) : T.value), O = t(() => n.overlayMode === "multi-axis" ? Math.max(Lt.right, E.value.right) : Lt.right), k = t(() => Math.max(0, o.value - D.value - O.value)), A = t(() => {
|
|
2863
|
-
let e = Un(n.displayMode), t = g.value.columnCount, r = t > 1, i = Math.max(e, S.value.fullClearance), a = Math.max(e, S.value.tickClearance), o = (k.value - i * Math.max(0, t - 1)) / t >= 120;
|
|
2864
|
-
return {
|
|
2865
|
-
horizontalGap: n.overlayMode === "multi-axis" && r && w.value ? Math.max(e, E.value.left + E.value.right) : r && w.value ? C.value && o ? i : a : e,
|
|
2866
|
-
hideSecondaryLabels: n.overlayMode !== "multi-axis" && r && C.value && !o
|
|
2867
|
-
};
|
|
2868
|
-
}), j = t(() => h.value.length > 0), M = t(() => k.value > 0 && s.value > 0), N = t(() => n.xLabel ?? `时间(${n.timeUnit})`), P = t(() => n.interactionMode), F = t(() => P.value !== "annotation"), I = t(() => {
|
|
2893
|
+
}), M = t(() => h.value.length > 0), N = t(() => A.value > 0 && s.value > 0), P = t(() => n.xLabel ?? `时间(${n.timeUnit})`), F = t(() => n.interactionMode), I = t(() => F.value !== "annotation"), L = t(() => {
|
|
2869
2894
|
let e = [];
|
|
2870
2895
|
return _.value.forEach((t) => {
|
|
2871
2896
|
t.visibleSeries.length && e.push(t.xDomain[0], t.xDomain[1]);
|
|
2872
2897
|
}), ht(e);
|
|
2873
|
-
}),
|
|
2898
|
+
}), R = t(() => {
|
|
2874
2899
|
let e = n.initialXDomain;
|
|
2875
|
-
return e && Number.isFinite(e[0]) && Number.isFinite(e[1]) && e[0] !== e[1] ? Jn(e[0] < e[1] ? e : [e[1], e[0]], n.xDomainStrategy, !0) : Jn(
|
|
2876
|
-
}),
|
|
2900
|
+
return e && Number.isFinite(e[0]) && Number.isFinite(e[1]) && e[0] !== e[1] ? Jn(e[0] < e[1] ? e : [e[1], e[0]], n.xDomainStrategy, !0) : Jn(L.value, n.xDomainStrategy);
|
|
2901
|
+
}), z = (e) => {
|
|
2877
2902
|
let t = n.initialXDomains?.[e.series?.trackId ?? e.series?.id ?? e.id] ?? (e.series ? n.initialXDomains?.[e.series.id] : void 0) ?? n.initialXDomain;
|
|
2878
2903
|
return t && Number.isFinite(t[0]) && Number.isFinite(t[1]) && t[0] !== t[1] ? Jn(t[0] < t[1] ? t : [t[1], t[0]], n.xDomainStrategy, !0) : Jn(ht(e.seriesList.flatMap((e) => e.xDomain)), n.xDomainStrategy);
|
|
2879
|
-
},
|
|
2904
|
+
}, B = t(() => l.value.rescaleX(U(R.value, [0, A.value])).domain()), V = t(() => Wn(A.value, s.value, g.value, n.displayMode, S.value.map(Boolean), j.value.horizontalGap).map((e, t) => ({
|
|
2880
2905
|
...e,
|
|
2881
|
-
series:
|
|
2882
|
-
}))),
|
|
2883
|
-
cells:
|
|
2906
|
+
series: S.value[t]
|
|
2907
|
+
}))), H = t(() => Xn({
|
|
2908
|
+
cells: V.value,
|
|
2884
2909
|
grid: g.value,
|
|
2885
2910
|
displayMode: n.displayMode,
|
|
2886
2911
|
overlayMode: n.overlayMode,
|
|
2887
2912
|
independentTransforms: u.value,
|
|
2888
|
-
sharedZoomDomain:
|
|
2889
|
-
initialXDomain: n.initialXDomain ?
|
|
2913
|
+
sharedZoomDomain: B.value,
|
|
2914
|
+
initialXDomain: n.initialXDomain ? R.value : void 0,
|
|
2890
2915
|
initialXDomains: n.initialXDomains,
|
|
2891
2916
|
xDomainStrategy: n.xDomainStrategy,
|
|
2892
2917
|
fixedYDomain: n.yDomain,
|
|
@@ -2901,38 +2926,40 @@ function gi(e) {
|
|
|
2901
2926
|
yAxisNice: n.axes?.y?.nice,
|
|
2902
2927
|
rendering: v.value,
|
|
2903
2928
|
linePointOverrides: m?.value,
|
|
2904
|
-
hideSecondaryLabels: c.value ||
|
|
2905
|
-
yAxisLabelX:
|
|
2906
|
-
|
|
2907
|
-
|
|
2929
|
+
hideSecondaryLabels: c.value || j.value.hideSecondaryLabels,
|
|
2930
|
+
yAxisLabelX: D.value.slots.find((e) => e.side === "left" && e.sideIndex === 0)?.labelOffset ?? C.value.labelCenterX,
|
|
2931
|
+
yAxisSlots: n.overlayMode === "multi-axis" ? D.value.slots : void 0,
|
|
2932
|
+
showCompactEmptyTracks: n.displayMode === "compact" && M.value
|
|
2933
|
+
})), W = (e) => e.seriesList.map((t) => ({
|
|
2908
2934
|
...e,
|
|
2909
2935
|
series: t,
|
|
2910
2936
|
yScale: e.seriesPaths.find((e) => e.series.id === t.id)?.yScale ?? e.yScale
|
|
2911
|
-
})),
|
|
2937
|
+
})), ee = (e, t) => e.seriesPaths.find((e) => e.series.id === t)?.yScale ?? e.yScale, te = t(() => H.value.flatMap(W));
|
|
2912
2938
|
return {
|
|
2913
2939
|
chartSeries: h,
|
|
2914
2940
|
chartTracks: _,
|
|
2941
|
+
pageableTracks: y,
|
|
2915
2942
|
renderingOptions: v,
|
|
2916
2943
|
gridOptions: g,
|
|
2917
|
-
pageCount:
|
|
2918
|
-
pagedTracks:
|
|
2919
|
-
resolvedChartLeftMargin:
|
|
2920
|
-
innerWidth:
|
|
2921
|
-
hasVisibleWaveformData:
|
|
2922
|
-
hasWaveformData:
|
|
2923
|
-
hasChartArea:
|
|
2924
|
-
resolvedXLabel:
|
|
2925
|
-
activeInteractionMode:
|
|
2926
|
-
isZoomMode:
|
|
2927
|
-
initialXDomain:
|
|
2928
|
-
sharedZoomDomain:
|
|
2929
|
-
resolveInitialTrackDomain:
|
|
2930
|
-
gridCells:
|
|
2931
|
-
trackLayouts:
|
|
2932
|
-
annotationLayoutsForTrack:
|
|
2933
|
-
resolveSeriesYScale:
|
|
2934
|
-
annotationTrackLayouts:
|
|
2935
|
-
renderedAnnotations: t(() => n.annotationsVisible ? Me(n.annotations,
|
|
2944
|
+
pageCount: b,
|
|
2945
|
+
pagedTracks: x,
|
|
2946
|
+
resolvedChartLeftMargin: O,
|
|
2947
|
+
innerWidth: A,
|
|
2948
|
+
hasVisibleWaveformData: T,
|
|
2949
|
+
hasWaveformData: M,
|
|
2950
|
+
hasChartArea: N,
|
|
2951
|
+
resolvedXLabel: P,
|
|
2952
|
+
activeInteractionMode: F,
|
|
2953
|
+
isZoomMode: I,
|
|
2954
|
+
initialXDomain: R,
|
|
2955
|
+
sharedZoomDomain: B,
|
|
2956
|
+
resolveInitialTrackDomain: z,
|
|
2957
|
+
gridCells: V,
|
|
2958
|
+
trackLayouts: H,
|
|
2959
|
+
annotationLayoutsForTrack: W,
|
|
2960
|
+
resolveSeriesYScale: ee,
|
|
2961
|
+
annotationTrackLayouts: te,
|
|
2962
|
+
renderedAnnotations: t(() => n.annotationsVisible ? Me(n.annotations, te.value, A.value, s.value) : []),
|
|
2936
2963
|
editorSeries: t(() => {
|
|
2937
2964
|
let e = p.editorDraft.value?.annotation.seriesId, t = h.value.find((t) => t.id === e);
|
|
2938
2965
|
return t ? {
|
|
@@ -2942,18 +2969,16 @@ function gi(e) {
|
|
|
2942
2969
|
unit: t.unit
|
|
2943
2970
|
} : void 0;
|
|
2944
2971
|
}),
|
|
2945
|
-
resolveFrameNumber: (
|
|
2946
|
-
if (!(n.frameNumber === void 0 || n.frameNumber === null)) return _.value.length === 1 ? n.frameNumber : typeof n.frameNumber == "number" ? n.frameNumber + e : `${n.frameNumber}-${e + 1}`;
|
|
2947
|
-
}
|
|
2972
|
+
resolveFrameNumber: gi(() => n.frameNumber, () => n.frameNumbers, () => _.value)
|
|
2948
2973
|
};
|
|
2949
2974
|
}
|
|
2950
|
-
var
|
|
2951
|
-
function
|
|
2975
|
+
var vi = 1e-6;
|
|
2976
|
+
function yi(e) {
|
|
2952
2977
|
return Number.isFinite(e) ? Math.max(1, e) : 1;
|
|
2953
2978
|
}
|
|
2954
|
-
function
|
|
2955
|
-
let i =
|
|
2956
|
-
if (!(d >
|
|
2979
|
+
function bi({ naturalWidth: e, naturalHeight: t, availableWidth: n, rotation: r }) {
|
|
2980
|
+
let i = yi(e), a = yi(t), o = yi(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;
|
|
2981
|
+
if (!(d > vi && Math.abs(d - 360) > vi)) {
|
|
2957
2982
|
let e = Math.max(1, Math.ceil(i / o)), t = o, n = a * e;
|
|
2958
2983
|
return {
|
|
2959
2984
|
textWidth: t,
|
|
@@ -2978,7 +3003,7 @@ function yi({ naturalWidth: e, naturalHeight: t, availableWidth: n, rotation: r
|
|
|
2978
3003
|
}
|
|
2979
3004
|
//#endregion
|
|
2980
3005
|
//#region src/components/core/useWaveformPresentation.ts
|
|
2981
|
-
function
|
|
3006
|
+
function xi(e) {
|
|
2982
3007
|
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(() => ({
|
|
2983
3008
|
width: l.value === void 0 ? "100%" : `${l.value}px`,
|
|
2984
3009
|
height: u.value === void 0 ? "100%" : `${u.value}px`
|
|
@@ -3023,7 +3048,7 @@ function bi(e) {
|
|
|
3023
3048
|
maxWidth: O.value ? "none" : `${j.value}px`,
|
|
3024
3049
|
whiteSpace: O.value ? "nowrap" : "normal",
|
|
3025
3050
|
overflowWrap: O.value ? "normal" : "anywhere"
|
|
3026
|
-
})), N = t(() =>
|
|
3051
|
+
})), N = t(() => bi({
|
|
3027
3052
|
naturalWidth: a.value || A.value,
|
|
3028
3053
|
naturalHeight: o.value || E.value * 1.2,
|
|
3029
3054
|
availableWidth: j.value,
|
|
@@ -3079,66 +3104,66 @@ function bi(e) {
|
|
|
3079
3104
|
}
|
|
3080
3105
|
//#endregion
|
|
3081
3106
|
//#region src/core/samplingReferenceValues.ts
|
|
3082
|
-
function
|
|
3107
|
+
function Si(e, t) {
|
|
3083
3108
|
return t === 0 ? 0 : Number.isFinite(e) ? Math.min(t, Math.max(1, Math.floor(e))) : t;
|
|
3084
3109
|
}
|
|
3085
|
-
function
|
|
3110
|
+
function Ci(e, t, n, r) {
|
|
3086
3111
|
let i = r - n;
|
|
3087
3112
|
return {
|
|
3088
3113
|
start: n + Math.floor(e * i / t),
|
|
3089
3114
|
end: n + Math.floor((e + 1) * i / t)
|
|
3090
3115
|
};
|
|
3091
3116
|
}
|
|
3092
|
-
function
|
|
3117
|
+
function wi(e, t) {
|
|
3093
3118
|
e[e.length - 1] !== t && e.push(t);
|
|
3094
3119
|
}
|
|
3095
|
-
function
|
|
3120
|
+
function Ti(e, t, n) {
|
|
3096
3121
|
if (e <= t) return Array.from({ length: e }, (e, t) => t);
|
|
3097
3122
|
if (t === 1) return [0];
|
|
3098
3123
|
if (t === 2) return [0, e - 1];
|
|
3099
3124
|
let r = [0];
|
|
3100
|
-
return n().forEach((e) =>
|
|
3125
|
+
return n().forEach((e) => wi(r, e)), wi(r, e - 1), r;
|
|
3101
3126
|
}
|
|
3102
|
-
function
|
|
3127
|
+
function Ei(e, t, n) {
|
|
3103
3128
|
let r = n === "minmax" ? Math.floor((t - 2) / 2) : Math.max(0, t - 2);
|
|
3104
|
-
return
|
|
3129
|
+
return Ti(e.length, t, () => {
|
|
3105
3130
|
if (!r) return [];
|
|
3106
3131
|
let t = [];
|
|
3107
3132
|
for (let i = 0; i < r; i += 1) {
|
|
3108
|
-
let a =
|
|
3133
|
+
let a = Ci(i, r, 1, e.length - 1), o = a.start, s = a.start;
|
|
3109
3134
|
for (let t = a.start + 1; t < a.end; t += 1) e[t] < e[o] && (o = t), e[t] > e[s] && (s = t);
|
|
3110
|
-
n === "min" ?
|
|
3135
|
+
n === "min" ? wi(t, o) : n === "max" ? wi(t, s) : o <= s ? (wi(t, o), wi(t, s)) : (wi(t, s), wi(t, o));
|
|
3111
3136
|
}
|
|
3112
3137
|
return t;
|
|
3113
3138
|
});
|
|
3114
3139
|
}
|
|
3115
|
-
function
|
|
3140
|
+
function Di(e, t) {
|
|
3116
3141
|
let n = Math.floor((t - 2) / 4);
|
|
3117
|
-
return
|
|
3142
|
+
return Ti(e.length, t, () => {
|
|
3118
3143
|
if (!n) return [];
|
|
3119
3144
|
let t = [];
|
|
3120
3145
|
for (let r = 0; r < n; r += 1) {
|
|
3121
|
-
let i =
|
|
3146
|
+
let i = Ci(r, n, 1, e.length - 1), a = i.start, o = i.start;
|
|
3122
3147
|
for (let t = i.start + 1; t < i.end; t += 1) e[t] < e[a] && (a = t), e[t] > e[o] && (o = t);
|
|
3123
3148
|
[
|
|
3124
3149
|
i.start,
|
|
3125
3150
|
a,
|
|
3126
3151
|
o,
|
|
3127
3152
|
i.end - 1
|
|
3128
|
-
].sort((e, t) => e - t).forEach((e) =>
|
|
3153
|
+
].sort((e, t) => e - t).forEach((e) => wi(t, e));
|
|
3129
3154
|
}
|
|
3130
3155
|
return t;
|
|
3131
3156
|
});
|
|
3132
3157
|
}
|
|
3133
|
-
function
|
|
3134
|
-
return
|
|
3158
|
+
function Oi(e, t, n) {
|
|
3159
|
+
return Ti(e.length, n, () => {
|
|
3135
3160
|
let r = (e.length - 2) / (n - 2), i = [], a = 0;
|
|
3136
3161
|
for (let o = 0; o < n - 2; o += 1) {
|
|
3137
3162
|
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;
|
|
3138
3163
|
for (let n = s; n < c; n += 1) l += e[n], u += t[n];
|
|
3139
3164
|
let d = c - s;
|
|
3140
3165
|
d ? (l /= d, u /= d) : (l = e[e.length - 1], u = t[t.length - 1]);
|
|
3141
|
-
let f =
|
|
3166
|
+
let f = Ci(o, n - 2, 1, e.length - 1), p = f.start, m = -1;
|
|
3142
3167
|
for (let n = f.start; n < f.end; n += 1) {
|
|
3143
3168
|
let r = Math.abs((e[a] - l) * (t[n] - t[a]) - (e[a] - e[n]) * (u - t[a]));
|
|
3144
3169
|
r > m && (m = r, p = n);
|
|
@@ -3148,10 +3173,10 @@ function Di(e, t, n) {
|
|
|
3148
3173
|
return i;
|
|
3149
3174
|
});
|
|
3150
3175
|
}
|
|
3151
|
-
function
|
|
3152
|
-
let i =
|
|
3176
|
+
function ki(e, t, n, r) {
|
|
3177
|
+
let i = Si(n, e.length), a = new Float64Array(i), o = new Float64Array(i);
|
|
3153
3178
|
for (let n = 0; n < i; n += 1) {
|
|
3154
|
-
let s =
|
|
3179
|
+
let s = Ci(n, i, 0, e.length);
|
|
3155
3180
|
for (let r = s.start; r < s.end; r += 1) a[n] += e[r], o[n] += t[r];
|
|
3156
3181
|
let c = s.end - s.start;
|
|
3157
3182
|
a[n] /= c, r === "average" && (o[n] /= c);
|
|
@@ -3162,10 +3187,10 @@ function Oi(e, t, n, r) {
|
|
|
3162
3187
|
y: o
|
|
3163
3188
|
};
|
|
3164
3189
|
}
|
|
3165
|
-
function
|
|
3190
|
+
function Ai(e, t, n, r) {
|
|
3166
3191
|
if (e.length !== t.length) throw Error("x and y must have the same length");
|
|
3167
|
-
if (n === "average" || n === "sum") return
|
|
3168
|
-
let i =
|
|
3192
|
+
if (n === "average" || n === "sum") return ki(e, t, r, n);
|
|
3193
|
+
let i = Si(r, e.length), a = n === "none" || e.length <= i ? Array.from({ length: e.length }, (e, t) => t) : n === "peak" ? Di(t, i) : n === "lttb" ? Oi(e, t, i) : Ei(t, i, n);
|
|
3169
3194
|
return {
|
|
3170
3195
|
kind: "source-indexes",
|
|
3171
3196
|
sourceIndexes: Uint32Array.from(a)
|
|
@@ -3173,41 +3198,41 @@ function ki(e, t, n, r) {
|
|
|
3173
3198
|
}
|
|
3174
3199
|
//#endregion
|
|
3175
3200
|
//#region src/core/workerSampling/javascriptBackend.ts
|
|
3176
|
-
var
|
|
3201
|
+
var ji = {
|
|
3177
3202
|
kind: "javascript",
|
|
3178
3203
|
sample(e) {
|
|
3179
|
-
return
|
|
3204
|
+
return Ai(e.x, e.y, e.strategy, e.targetPointCount);
|
|
3180
3205
|
}
|
|
3181
|
-
},
|
|
3182
|
-
function
|
|
3206
|
+
}, Mi = 8 * 1024 * 1024;
|
|
3207
|
+
function Ni(e, t) {
|
|
3183
3208
|
return t === 0 ? 0 : Number.isFinite(e) ? Math.min(t, Math.max(1, Math.floor(e))) : t;
|
|
3184
3209
|
}
|
|
3185
|
-
function
|
|
3210
|
+
function Pi(e, t, n, r) {
|
|
3186
3211
|
let i = r - n;
|
|
3187
3212
|
return {
|
|
3188
3213
|
start: n + Math.floor(e * i / t),
|
|
3189
3214
|
end: n + Math.floor((e + 1) * i / t)
|
|
3190
3215
|
};
|
|
3191
3216
|
}
|
|
3192
|
-
function
|
|
3217
|
+
function Fi(e, t) {
|
|
3193
3218
|
e[e.length - 1] !== t && e.push(t);
|
|
3194
3219
|
}
|
|
3195
|
-
function
|
|
3220
|
+
function Ii(e) {
|
|
3196
3221
|
return "minimumIndexes" in e ? e.minimumIndexes.byteLength + e.maximumIndexes.byteLength : e.x.byteLength + e.y.byteLength + e.count.byteLength;
|
|
3197
3222
|
}
|
|
3198
|
-
function
|
|
3223
|
+
function Li(e, t) {
|
|
3199
3224
|
let n = 1;
|
|
3200
3225
|
for (; n * 2 <= t && e % (n * 2) == 0;) n *= 2;
|
|
3201
3226
|
return n;
|
|
3202
3227
|
}
|
|
3203
|
-
var
|
|
3228
|
+
var Ri = class {
|
|
3204
3229
|
points;
|
|
3205
3230
|
extremaLayers = [];
|
|
3206
3231
|
sumLayers = [];
|
|
3207
3232
|
indexBytes = 0;
|
|
3208
3233
|
maxBytes;
|
|
3209
3234
|
constructor(e, t = {}) {
|
|
3210
|
-
this.points = e, this.maxBytes = Number.isFinite(t.maxBytes) ? Math.max(0, Math.floor(t.maxBytes ?? 0)) :
|
|
3235
|
+
this.points = e, this.maxBytes = Number.isFinite(t.maxBytes) ? Math.max(0, Math.floor(t.maxBytes ?? 0)) : Mi;
|
|
3211
3236
|
}
|
|
3212
3237
|
get byteLength() {
|
|
3213
3238
|
return this.indexBytes;
|
|
@@ -3216,7 +3241,7 @@ var Li = class {
|
|
|
3216
3241
|
this.extremaLayers.length = 0, this.sumLayers.length = 0, this.indexBytes = 0;
|
|
3217
3242
|
}
|
|
3218
3243
|
sample(e, t, n, r) {
|
|
3219
|
-
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 =
|
|
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 = Ni(r, o);
|
|
3220
3245
|
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);
|
|
3221
3246
|
}
|
|
3222
3247
|
allIndexes(e, t) {
|
|
@@ -3236,24 +3261,24 @@ var Li = class {
|
|
|
3236
3261
|
if (i === 0) return this.indexes([e, t - 1]);
|
|
3237
3262
|
let a = [e];
|
|
3238
3263
|
for (let n = 0; n < i; n += 1) {
|
|
3239
|
-
let o =
|
|
3264
|
+
let o = Pi(n, i, e + 1, t - 1), s = this.queryExtrema(o.start, o.end);
|
|
3240
3265
|
if (!s) return;
|
|
3241
|
-
if (r === "min")
|
|
3242
|
-
else if (r === "max")
|
|
3243
|
-
else if (r === "minmax") s.minimum <= s.maximum ? (
|
|
3266
|
+
if (r === "min") Fi(a, s.minimum);
|
|
3267
|
+
else if (r === "max") Fi(a, s.maximum);
|
|
3268
|
+
else if (r === "minmax") s.minimum <= s.maximum ? (Fi(a, s.minimum), Fi(a, s.maximum)) : (Fi(a, s.maximum), Fi(a, s.minimum));
|
|
3244
3269
|
else for (let e of [
|
|
3245
3270
|
o.start,
|
|
3246
3271
|
s.minimum,
|
|
3247
3272
|
s.maximum,
|
|
3248
3273
|
o.end - 1
|
|
3249
|
-
].sort((e, t) => e - t))
|
|
3274
|
+
].sort((e, t) => e - t)) Fi(a, e);
|
|
3250
3275
|
}
|
|
3251
|
-
return
|
|
3276
|
+
return Fi(a, t - 1), this.indexes(a);
|
|
3252
3277
|
}
|
|
3253
3278
|
aggregate(e, t, n, r) {
|
|
3254
3279
|
let i = new Float64Array(n), a = new Float64Array(n);
|
|
3255
3280
|
for (let o = 0; o < n; o += 1) {
|
|
3256
|
-
let s =
|
|
3281
|
+
let s = Pi(o, n, e, t), c = this.querySum(s.start, s.end);
|
|
3257
3282
|
if (!c || c.count === 0) return;
|
|
3258
3283
|
i[o] = c.x / c.count, a[o] = r === "average" ? c.y / c.count : c.y;
|
|
3259
3284
|
}
|
|
@@ -3268,7 +3293,7 @@ var Li = class {
|
|
|
3268
3293
|
if (!this.ensureExtrema(n)) return;
|
|
3269
3294
|
let r = e, i = e;
|
|
3270
3295
|
for (let n = e; n < t;) {
|
|
3271
|
-
let e =
|
|
3296
|
+
let e = Li(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;
|
|
3272
3297
|
this.isMinimum(c, r) && (r = c), this.isMaximum(l, i) && (i = l), n += e;
|
|
3273
3298
|
}
|
|
3274
3299
|
return {
|
|
@@ -3281,7 +3306,7 @@ var Li = class {
|
|
|
3281
3306
|
if (!this.ensureSum(n)) return;
|
|
3282
3307
|
let r = 0, i = 0, a = 0;
|
|
3283
3308
|
for (let n = e; n < t;) {
|
|
3284
|
-
let e =
|
|
3309
|
+
let e = Li(n, t - n), o = Math.floor(Math.log2(e)), s = n / e, c = this.sumLayers[o];
|
|
3285
3310
|
if (c) r += c.x[s], i += c.y[s], a += c.count[s];
|
|
3286
3311
|
else {
|
|
3287
3312
|
let e = this.points[n];
|
|
@@ -3302,7 +3327,7 @@ var Li = class {
|
|
|
3302
3327
|
minimumIndexes: new Uint32Array(e),
|
|
3303
3328
|
maximumIndexes: new Uint32Array(e)
|
|
3304
3329
|
};
|
|
3305
|
-
if (!this.reserve(
|
|
3330
|
+
if (!this.reserve(Ii(n))) return !1;
|
|
3306
3331
|
let r = this.extremaLayers[t - 1];
|
|
3307
3332
|
for (let t = 0; t < e; t += 1) {
|
|
3308
3333
|
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;
|
|
@@ -3320,7 +3345,7 @@ var Li = class {
|
|
|
3320
3345
|
y: new Float64Array(e),
|
|
3321
3346
|
count: new Uint32Array(e)
|
|
3322
3347
|
};
|
|
3323
|
-
if (!this.reserve(
|
|
3348
|
+
if (!this.reserve(Ii(n))) return !1;
|
|
3324
3349
|
let r = this.sumLayers[t - 1];
|
|
3325
3350
|
for (let t = 0; t < e; t += 1) {
|
|
3326
3351
|
let e = t * 2, i = e + 1;
|
|
@@ -3345,8 +3370,8 @@ var Li = class {
|
|
|
3345
3370
|
let n = this.points[e], r = this.points[t];
|
|
3346
3371
|
return n.y > r.y || n.y === r.y && e < t;
|
|
3347
3372
|
}
|
|
3348
|
-
},
|
|
3349
|
-
function
|
|
3373
|
+
}, zi = 1e3, Bi = I((e) => e.x);
|
|
3374
|
+
function Vi(e) {
|
|
3350
3375
|
let t = [], n = !0, r = -Infinity;
|
|
3351
3376
|
for (let i of e) !Number.isFinite(i.x) || !Number.isFinite(i.y) || (i.x < r && (n = !1), r = i.x, t.push({
|
|
3352
3377
|
x: i.x,
|
|
@@ -3357,7 +3382,7 @@ function Bi(e) {
|
|
|
3357
3382
|
}));
|
|
3358
3383
|
return n || t.sort((e, t) => e.x - t.x), t;
|
|
3359
3384
|
}
|
|
3360
|
-
function
|
|
3385
|
+
function Hi(e, t) {
|
|
3361
3386
|
let n = Infinity, r = -Infinity, i = Infinity, a = -Infinity;
|
|
3362
3387
|
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);
|
|
3363
3388
|
return {
|
|
@@ -3367,7 +3392,7 @@ function Vi(e, t) {
|
|
|
3367
3392
|
yDomain: e.length ? [i, a] : null
|
|
3368
3393
|
};
|
|
3369
3394
|
}
|
|
3370
|
-
function
|
|
3395
|
+
function Ui(e, t, n = e.length) {
|
|
3371
3396
|
let r = Infinity, i = -Infinity, a = Infinity, o = -Infinity;
|
|
3372
3397
|
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]);
|
|
3373
3398
|
return {
|
|
@@ -3377,39 +3402,39 @@ function Hi(e, t, n = e.length) {
|
|
|
3377
3402
|
yDomain: e.length ? [a, o] : null
|
|
3378
3403
|
};
|
|
3379
3404
|
}
|
|
3380
|
-
function
|
|
3405
|
+
function Wi(e, t) {
|
|
3381
3406
|
return e ? e.revision === t ? "ok" : "stale-revision" : "not-found";
|
|
3382
3407
|
}
|
|
3383
|
-
function
|
|
3408
|
+
function Gi(e) {
|
|
3384
3409
|
return e === "auto" ? "peak" : e;
|
|
3385
3410
|
}
|
|
3386
|
-
function
|
|
3411
|
+
function Ki(e) {
|
|
3387
3412
|
if (Number.isFinite(e.maxPointCount) && (e.maxPointCount ?? 0) >= 1) return Math.floor(e.maxPointCount);
|
|
3388
3413
|
let t = Number.isFinite(e.plotWidth) ? Math.max(0, e.plotWidth) : 0, n = Number.isFinite(e.maxPointsPerPixel) ? Math.max(0, e.maxPointsPerPixel ?? 0) : 4;
|
|
3389
3414
|
return Math.max(1, Math.floor(t * n));
|
|
3390
3415
|
}
|
|
3391
|
-
function
|
|
3416
|
+
function qi(e, t) {
|
|
3392
3417
|
if (e.mode === "raw") return !0;
|
|
3393
3418
|
if (e.mode !== "auto") return !1;
|
|
3394
|
-
let n = Number.isFinite(e.autoThreshold) ? Math.max(1, Math.floor(e.autoThreshold ?? 0)) :
|
|
3419
|
+
let n = Number.isFinite(e.autoThreshold) ? Math.max(1, Math.floor(e.autoThreshold ?? 0)) : zi;
|
|
3395
3420
|
if (!e.previousSelectedMode) return t <= n;
|
|
3396
3421
|
let r = Number.isFinite(e.autoHysteresis) ? Math.max(0, Math.floor(e.autoHysteresis ?? 0)) : 0;
|
|
3397
3422
|
return e.previousSelectedMode === "raw" ? t <= n + r : t <= Math.max(0, n - r);
|
|
3398
3423
|
}
|
|
3399
|
-
function
|
|
3424
|
+
function Ji(e, t) {
|
|
3400
3425
|
let n = e[0], r = e.at(-1);
|
|
3401
|
-
return Number.isFinite(t) && n && r && t >= n.x && t <= r.x ? e[
|
|
3426
|
+
return Number.isFinite(t) && n && r && t >= n.x && t <= r.x ? e[Bi.center(e, t)] : void 0;
|
|
3402
3427
|
}
|
|
3403
|
-
function
|
|
3428
|
+
function Yi(e) {
|
|
3404
3429
|
return e ? e.kind === "source-indexes" ? e.sourceIndexes.length : e.x.length : 0;
|
|
3405
3430
|
}
|
|
3406
|
-
function
|
|
3431
|
+
function Xi(e, t) {
|
|
3407
3432
|
return e.kind === "aggregates" ? e : {
|
|
3408
3433
|
kind: "source-indexes",
|
|
3409
3434
|
sourceIndexes: Uint32Array.from(e.sourceIndexes, (e) => e + t)
|
|
3410
3435
|
};
|
|
3411
3436
|
}
|
|
3412
|
-
function
|
|
3437
|
+
function Zi(e, t, n, r, i) {
|
|
3413
3438
|
return [
|
|
3414
3439
|
e.datasetId,
|
|
3415
3440
|
e.revision,
|
|
@@ -3429,14 +3454,14 @@ function Xi(e, t, n, r, i) {
|
|
|
3429
3454
|
e.errorBarMinSpacing ?? 0
|
|
3430
3455
|
].join("\0");
|
|
3431
3456
|
}
|
|
3432
|
-
function
|
|
3457
|
+
function Qi(e, t, n, r, i, a, o, s) {
|
|
3433
3458
|
return {
|
|
3434
3459
|
seriesId: e.seriesId,
|
|
3435
3460
|
datasetId: e.datasetId,
|
|
3436
3461
|
mode: e.mode,
|
|
3437
3462
|
selectedMode: i,
|
|
3438
3463
|
backend: r,
|
|
3439
|
-
strategy:
|
|
3464
|
+
strategy: Gi(e.strategy),
|
|
3440
3465
|
sourcePointCount: t,
|
|
3441
3466
|
visiblePointCount: n,
|
|
3442
3467
|
renderedPointCount: o,
|
|
@@ -3452,18 +3477,18 @@ function Zi(e, t, n, r, i, a, o, s) {
|
|
|
3452
3477
|
}
|
|
3453
3478
|
//#endregion
|
|
3454
3479
|
//#region src/core/workerSampling/repositoryDataset.ts
|
|
3455
|
-
function
|
|
3480
|
+
function $i(e) {
|
|
3456
3481
|
return e?.y.length ?? 0;
|
|
3457
3482
|
}
|
|
3458
|
-
function
|
|
3483
|
+
function ea(e, t) {
|
|
3459
3484
|
return e.x ? e.x[t] : e.sampleStartTime + (e.sampleSourceIndexes?.[t] ?? t) / e.sampleRate;
|
|
3460
3485
|
}
|
|
3461
|
-
function
|
|
3486
|
+
function ta(e, t) {
|
|
3462
3487
|
let n = (t, n) => {
|
|
3463
|
-
let r = 0, i =
|
|
3488
|
+
let r = 0, i = $i(e);
|
|
3464
3489
|
for (; r < i;) {
|
|
3465
3490
|
let a = r + Math.floor((i - r) / 2);
|
|
3466
|
-
(n ?
|
|
3491
|
+
(n ? ea(e, a) <= t : ea(e, a) < t) ? r = a + 1 : i = a;
|
|
3467
3492
|
}
|
|
3468
3493
|
return r;
|
|
3469
3494
|
}, r = Math.min(t[0], t[1]), i = Math.max(t[0], t[1]);
|
|
@@ -3472,13 +3497,13 @@ function ea(e, t) {
|
|
|
3472
3497
|
end: n(i, !0)
|
|
3473
3498
|
};
|
|
3474
3499
|
}
|
|
3475
|
-
function
|
|
3476
|
-
return e.x ? e.x.subarray(t, n) : Float64Array.from({ length: n - t }, (n, r) =>
|
|
3500
|
+
function na(e, t, n) {
|
|
3501
|
+
return e.x ? e.x.subarray(t, n) : Float64Array.from({ length: n - t }, (n, r) => ea(e, t + r));
|
|
3477
3502
|
}
|
|
3478
|
-
function
|
|
3503
|
+
function ra(e) {
|
|
3479
3504
|
return e?.kind === "wasm" && "registerDataset" in e && "disposeDataset" in e && "disposeAllDatasets" in e && "datasetIndexBytes" in e && "registerSamples" in e && "sampleDataset" in e;
|
|
3480
3505
|
}
|
|
3481
|
-
function
|
|
3506
|
+
function ia(e, t) {
|
|
3482
3507
|
let n = [], r = Math.min(e.length, t.length);
|
|
3483
3508
|
for (let i = 0; i < r; i += 1) Number.isFinite(e[i]) && Number.isFinite(t[i]) && n.push(i);
|
|
3484
3509
|
return n.sort((t, n) => e[t] - e[n] || t - n), {
|
|
@@ -3486,14 +3511,14 @@ function ra(e, t) {
|
|
|
3486
3511
|
y: Float64Array.from(n, (e) => t[e])
|
|
3487
3512
|
};
|
|
3488
3513
|
}
|
|
3489
|
-
function
|
|
3514
|
+
function aa(e, t, n, r) {
|
|
3490
3515
|
if (t?.kind === "typed") {
|
|
3491
|
-
let e =
|
|
3516
|
+
let e = ia(t.x, t.y);
|
|
3492
3517
|
return {
|
|
3493
3518
|
x: e.x,
|
|
3494
3519
|
y: e.y,
|
|
3495
3520
|
revision: n,
|
|
3496
|
-
metrics:
|
|
3521
|
+
metrics: Ui(e.x, e.y, Math.max(t.x.length, t.y.length))
|
|
3497
3522
|
};
|
|
3498
3523
|
}
|
|
3499
3524
|
if (t?.kind === "samples") {
|
|
@@ -3527,35 +3552,35 @@ function ia(e, t, n, r) {
|
|
|
3527
3552
|
}
|
|
3528
3553
|
};
|
|
3529
3554
|
}
|
|
3530
|
-
let i =
|
|
3555
|
+
let i = Vi(e ?? t?.points ?? []);
|
|
3531
3556
|
return {
|
|
3532
3557
|
x: Float64Array.from(i, (e) => e.x),
|
|
3533
3558
|
y: Float64Array.from(i, (e) => e.y),
|
|
3534
3559
|
points: i,
|
|
3535
3560
|
revision: n,
|
|
3536
|
-
metrics:
|
|
3537
|
-
index: new
|
|
3561
|
+
metrics: Hi(i, e?.length ?? t?.points.length ?? 0),
|
|
3562
|
+
index: new Ri(i, { maxBytes: r })
|
|
3538
3563
|
};
|
|
3539
3564
|
}
|
|
3540
|
-
function
|
|
3541
|
-
!
|
|
3565
|
+
function oa(e, t, n) {
|
|
3566
|
+
!ra(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));
|
|
3542
3567
|
}
|
|
3543
|
-
function
|
|
3544
|
-
t.index?.dispose(), t.wasmDatasetHandle !== void 0 &&
|
|
3568
|
+
function sa(e, t) {
|
|
3569
|
+
t.index?.dispose(), t.wasmDatasetHandle !== void 0 && ra(e) && e.disposeDataset(t.wasmDatasetHandle);
|
|
3545
3570
|
}
|
|
3546
3571
|
//#endregion
|
|
3547
3572
|
//#region src/core/workerSampling/samplingCache.ts
|
|
3548
|
-
var
|
|
3549
|
-
function
|
|
3573
|
+
var ca = 96, la = 16 * 1024 * 1024;
|
|
3574
|
+
function ua(e) {
|
|
3550
3575
|
return e.kind === "source-indexes" ? e.sourceIndexes.byteLength : e.x.byteLength + e.y.byteLength;
|
|
3551
3576
|
}
|
|
3552
|
-
var
|
|
3577
|
+
var da = class {
|
|
3553
3578
|
entries = /* @__PURE__ */ new Map();
|
|
3554
3579
|
bytes = 0;
|
|
3555
3580
|
maxEntries;
|
|
3556
3581
|
maxBytes;
|
|
3557
3582
|
constructor(e = {}) {
|
|
3558
|
-
this.maxEntries = Number.isFinite(e.maxEntries) ? Math.max(0, Math.floor(e.maxEntries ?? 0)) :
|
|
3583
|
+
this.maxEntries = Number.isFinite(e.maxEntries) ? Math.max(0, Math.floor(e.maxEntries ?? 0)) : ca, this.maxBytes = Number.isFinite(e.maxBytes) ? Math.max(0, Math.floor(e.maxBytes ?? 0)) : la;
|
|
3559
3584
|
}
|
|
3560
3585
|
get metrics() {
|
|
3561
3586
|
return {
|
|
@@ -3570,7 +3595,7 @@ var ua = class {
|
|
|
3570
3595
|
if (t) return this.entries.delete(e), this.entries.set(e, t), t.output;
|
|
3571
3596
|
}
|
|
3572
3597
|
set(e, t) {
|
|
3573
|
-
let n =
|
|
3598
|
+
let n = ua(t);
|
|
3574
3599
|
if (n > this.maxBytes || this.maxEntries === 0) return;
|
|
3575
3600
|
let r = this.entries.get(e);
|
|
3576
3601
|
for (r && (this.bytes -= r.bytes, this.entries.delete(e)), this.entries.set(e, {
|
|
@@ -3590,14 +3615,14 @@ var ua = class {
|
|
|
3590
3615
|
clear() {
|
|
3591
3616
|
this.entries.clear(), this.bytes = 0;
|
|
3592
3617
|
}
|
|
3593
|
-
},
|
|
3618
|
+
}, fa = class {
|
|
3594
3619
|
datasets = /* @__PURE__ */ new Map();
|
|
3595
3620
|
javascriptBackend;
|
|
3596
3621
|
cache;
|
|
3597
3622
|
indexMaxBytes;
|
|
3598
3623
|
wasmBackend;
|
|
3599
3624
|
constructor(e = {}) {
|
|
3600
|
-
this.javascriptBackend = e.javascriptBackend ??
|
|
3625
|
+
this.javascriptBackend = e.javascriptBackend ?? ji, this.wasmBackend = e.wasmBackend, this.indexMaxBytes = e.indexMaxBytes, this.cache = new da({
|
|
3601
3626
|
maxEntries: e.cacheMaxEntries,
|
|
3602
3627
|
maxBytes: e.cacheMaxBytes
|
|
3603
3628
|
});
|
|
@@ -3610,9 +3635,9 @@ var ua = class {
|
|
|
3610
3635
|
};
|
|
3611
3636
|
}
|
|
3612
3637
|
setWasmBackend(e) {
|
|
3613
|
-
this.wasmBackend && this.wasmBackend !== e &&
|
|
3638
|
+
this.wasmBackend && this.wasmBackend !== e && ra(this.wasmBackend) && (this.wasmBackend.disposeAllDatasets(), this.datasets.forEach((e) => {
|
|
3614
3639
|
e.wasmDatasetHandle = void 0, e.wasmIndexBytes = void 0;
|
|
3615
|
-
})), this.wasmBackend = e,
|
|
3640
|
+
})), this.wasmBackend = e, ra(e) && this.datasets.forEach((t) => oa(e, t, this.indexMaxBytes));
|
|
3616
3641
|
}
|
|
3617
3642
|
handle(e) {
|
|
3618
3643
|
switch (e.type) {
|
|
@@ -3628,15 +3653,15 @@ var ua = class {
|
|
|
3628
3653
|
register(e, t, n, r) {
|
|
3629
3654
|
let i = this.datasets.get(e);
|
|
3630
3655
|
if (i) return this.datasetResponse(t, e, i, "stale-revision");
|
|
3631
|
-
let a =
|
|
3632
|
-
return
|
|
3656
|
+
let a = aa(n, r, 1, this.indexMaxBytes);
|
|
3657
|
+
return oa(this.wasmBackend, a, this.indexMaxBytes), this.datasets.set(e, a), this.datasetResponse(t, e, a, "ok");
|
|
3633
3658
|
}
|
|
3634
3659
|
replace(e, t, n, r, i) {
|
|
3635
|
-
let a = this.datasets.get(e), o =
|
|
3660
|
+
let a = this.datasets.get(e), o = Wi(a, n);
|
|
3636
3661
|
if (o !== "ok" || !a) return this.datasetResponse(t, e, a, o);
|
|
3637
|
-
|
|
3638
|
-
let s =
|
|
3639
|
-
return
|
|
3662
|
+
sa(this.wasmBackend, a), this.cache.deleteDataset(e);
|
|
3663
|
+
let s = aa(r, i, a.revision + 1, this.indexMaxBytes);
|
|
3664
|
+
return oa(this.wasmBackend, s, this.indexMaxBytes), this.datasets.set(e, s), this.datasetResponse(t, e, s, "ok");
|
|
3640
3665
|
}
|
|
3641
3666
|
sample(e) {
|
|
3642
3667
|
return {
|
|
@@ -3646,28 +3671,28 @@ var ua = class {
|
|
|
3646
3671
|
};
|
|
3647
3672
|
}
|
|
3648
3673
|
sampleSeries(e, t) {
|
|
3649
|
-
let n = performance.now(), r = this.datasets.get(t.datasetId), i =
|
|
3674
|
+
let n = performance.now(), r = this.datasets.get(t.datasetId), i = Wi(r, t.revision);
|
|
3650
3675
|
if (i !== "ok" || !r) return this.sampleResponse(e, t, i, void 0, "unavailable", "sampled", 0, n, !1);
|
|
3651
|
-
let a =
|
|
3652
|
-
if (
|
|
3676
|
+
let a = ta(r, t.xDomain), o = a.end - a.start;
|
|
3677
|
+
if (qi(t, o)) return this.sampleResponse(e, t, "ok", {
|
|
3653
3678
|
kind: "source-indexes",
|
|
3654
3679
|
sourceIndexes: Uint32Array.from({ length: o }, (e, t) => a.start + t)
|
|
3655
3680
|
}, "raw", "raw", o, n, !1);
|
|
3656
3681
|
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);
|
|
3657
3682
|
if (!l) return this.sampleResponse(e, t, "wasm-unavailable", void 0, "unavailable", "sampled", o, n, !1);
|
|
3658
|
-
let u =
|
|
3683
|
+
let u = Gi(t.strategy), d = Ki(t), f = Zi(t, a, u, d, l.kind), p = this.cache.get(f);
|
|
3659
3684
|
if (p) return this.sampleResponse(e, t, c ? "wasm-unavailable" : "ok", p, l.kind, "sampled", o, n, !0);
|
|
3660
|
-
let m = (l.kind === "wasm" ? r.wasmDatasetHandle !== void 0 &&
|
|
3661
|
-
x:
|
|
3685
|
+
let m = (l.kind === "wasm" ? r.wasmDatasetHandle !== void 0 && ra(l) ? l.sampleDataset(r.wasmDatasetHandle, a.start, a.end, u, d) : void 0 : r.index?.sample(a.start, a.end, u, d)) ?? Xi(l.sample({
|
|
3686
|
+
x: na(r, a.start, a.end),
|
|
3662
3687
|
y: r.y.subarray(a.start, a.end),
|
|
3663
3688
|
points: r.points?.slice(a.start, a.end) ?? [],
|
|
3664
3689
|
strategy: u,
|
|
3665
3690
|
targetPointCount: d
|
|
3666
3691
|
}), a.start);
|
|
3667
|
-
return this.cache.set(f, m), r.wasmDatasetHandle !== void 0 &&
|
|
3692
|
+
return this.cache.set(f, m), r.wasmDatasetHandle !== void 0 && ra(l) && (r.wasmIndexBytes = l.datasetIndexBytes(r.wasmDatasetHandle)), this.sampleResponse(e, t, c ? "wasm-unavailable" : "ok", m, l.kind, "sampled", o, n, !1);
|
|
3668
3693
|
}
|
|
3669
3694
|
sampleResponse(e, t, n, r, i, a, o, s, c) {
|
|
3670
|
-
let l =
|
|
3695
|
+
let l = Qi(t, $i(this.datasets.get(t.datasetId)), o, i, a, performance.now() - s, Yi(r), c);
|
|
3671
3696
|
return l.requestId = e, {
|
|
3672
3697
|
seriesId: t.seriesId,
|
|
3673
3698
|
datasetId: t.datasetId,
|
|
@@ -3678,7 +3703,7 @@ var ua = class {
|
|
|
3678
3703
|
};
|
|
3679
3704
|
}
|
|
3680
3705
|
findNearest(e, t, n, r) {
|
|
3681
|
-
let i = this.datasets.get(e), a =
|
|
3706
|
+
let i = this.datasets.get(e), a = Wi(i, n);
|
|
3682
3707
|
return a !== "ok" || !i ? {
|
|
3683
3708
|
type: "find-nearest-point-response",
|
|
3684
3709
|
requestId: t,
|
|
@@ -3691,12 +3716,12 @@ var ua = class {
|
|
|
3691
3716
|
datasetId: e,
|
|
3692
3717
|
revision: n,
|
|
3693
3718
|
status: a,
|
|
3694
|
-
point: i.points ?
|
|
3695
|
-
let e =
|
|
3696
|
-
if (
|
|
3697
|
-
let t = Math.min(
|
|
3698
|
-
return Number.isFinite(r) &&
|
|
3699
|
-
x:
|
|
3719
|
+
point: i.points ? Ji(i.points, r) : (() => {
|
|
3720
|
+
let e = ta(i, [r, r]);
|
|
3721
|
+
if (!$i(i) || r < ea(i, 0) || r > ea(i, $i(i) - 1)) return;
|
|
3722
|
+
let t = Math.min($i(i) - 1, e.start), n = Math.max(0, t - 1), a = Math.abs(r - ea(i, n)) < Math.abs(ea(i, t) - r) ? n : t;
|
|
3723
|
+
return Number.isFinite(r) && $i(i) ? {
|
|
3724
|
+
x: ea(i, a),
|
|
3700
3725
|
y: i.y[a]
|
|
3701
3726
|
} : void 0;
|
|
3702
3727
|
})()
|
|
@@ -3704,15 +3729,15 @@ var ua = class {
|
|
|
3704
3729
|
}
|
|
3705
3730
|
metrics(e, t, n) {
|
|
3706
3731
|
let r = this.datasets.get(e);
|
|
3707
|
-
return this.datasetResponse(t, e, r,
|
|
3732
|
+
return this.datasetResponse(t, e, r, Wi(r, n));
|
|
3708
3733
|
}
|
|
3709
3734
|
dispose(e, t, n) {
|
|
3710
|
-
let r = this.datasets.get(e), i =
|
|
3711
|
-
return i === "ok" && r && (
|
|
3735
|
+
let r = this.datasets.get(e), i = Wi(r, n);
|
|
3736
|
+
return i === "ok" && r && (sa(this.wasmBackend, r), this.cache.deleteDataset(e), this.datasets.delete(e)), this.datasetResponse(t, e, r, i);
|
|
3712
3737
|
}
|
|
3713
3738
|
disposeAll(e) {
|
|
3714
3739
|
let t = [...this.datasets.keys()];
|
|
3715
|
-
return this.datasets.forEach((e) =>
|
|
3740
|
+
return this.datasets.forEach((e) => sa(this.wasmBackend, e)), ra(this.wasmBackend) && this.wasmBackend.disposeAllDatasets(), this.datasets.clear(), this.cache.clear(), {
|
|
3716
3741
|
type: "dispose-all-response",
|
|
3717
3742
|
requestId: e,
|
|
3718
3743
|
disposedDatasetIds: t
|
|
@@ -3734,10 +3759,10 @@ var ua = class {
|
|
|
3734
3759
|
};
|
|
3735
3760
|
//#endregion
|
|
3736
3761
|
//#region src/components/core/latestTaskScheduler.ts
|
|
3737
|
-
function
|
|
3762
|
+
function pa(e, t, n, r) {
|
|
3738
3763
|
return r ? r === "raw" ? e <= t + n ? "raw" : "sampled" : e <= Math.max(0, t - n) ? "raw" : "sampled" : e <= t ? "raw" : "sampled";
|
|
3739
3764
|
}
|
|
3740
|
-
function
|
|
3765
|
+
function ma() {
|
|
3741
3766
|
let e = 0, t = !1, n, r = !1, i = {
|
|
3742
3767
|
scheduled: 0,
|
|
3743
3768
|
coalesced: 0,
|
|
@@ -3776,12 +3801,12 @@ function pa() {
|
|
|
3776
3801
|
}
|
|
3777
3802
|
//#endregion
|
|
3778
3803
|
//#region src/components/core/workerSamplingClient.ts
|
|
3779
|
-
function
|
|
3804
|
+
function ha(e) {
|
|
3780
3805
|
return e?.message || "Web Worker is unavailable; JavaScript sampling is being used.";
|
|
3781
3806
|
}
|
|
3782
|
-
function
|
|
3807
|
+
function ga() {
|
|
3783
3808
|
let e, t, n, r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map(), a = () => {
|
|
3784
|
-
t ??= new
|
|
3809
|
+
t ??= new fa();
|
|
3785
3810
|
for (let [e, n] of i) {
|
|
3786
3811
|
t.handle({
|
|
3787
3812
|
type: "register-dataset",
|
|
@@ -3817,7 +3842,7 @@ function ha() {
|
|
|
3817
3842
|
let t = a();
|
|
3818
3843
|
e.forEach(({ request: e, resolve: n }) => n(t.handle(e)));
|
|
3819
3844
|
}, c = (r) => {
|
|
3820
|
-
t || (n =
|
|
3845
|
+
t || (n = ha(r), e?.terminate(), e = void 0, s());
|
|
3821
3846
|
};
|
|
3822
3847
|
try {
|
|
3823
3848
|
typeof Worker > "u" ? c() : (e = new Worker(new URL(
|
|
@@ -3854,20 +3879,20 @@ function ha() {
|
|
|
3854
3879
|
}
|
|
3855
3880
|
};
|
|
3856
3881
|
}
|
|
3857
|
-
function
|
|
3882
|
+
function _a(e) {
|
|
3858
3883
|
return e.type === "dataset-response";
|
|
3859
3884
|
}
|
|
3860
3885
|
//#endregion
|
|
3861
3886
|
//#region src/components/core/useWaveformRenderSampling.ts
|
|
3862
|
-
var
|
|
3863
|
-
function
|
|
3887
|
+
var va = 120;
|
|
3888
|
+
function ya(e, t) {
|
|
3864
3889
|
let n = e.output;
|
|
3865
3890
|
if (n) return n.kind === "aggregates" ? Array.from(n.x, (e, t) => ({
|
|
3866
3891
|
x: e,
|
|
3867
3892
|
y: n.y[t]
|
|
3868
3893
|
})) : Array.from(n.sourceIndexes, (e) => t.pointAt(e)).filter((e) => e !== void 0);
|
|
3869
3894
|
}
|
|
3870
|
-
function
|
|
3895
|
+
function ba(e, t) {
|
|
3871
3896
|
let n = e.request, r = e.visibleRange.end - e.visibleRange.start;
|
|
3872
3897
|
return {
|
|
3873
3898
|
seriesId: n.seriesId,
|
|
@@ -3889,7 +3914,7 @@ function ya(e, t) {
|
|
|
3889
3914
|
maxPendingRequestCount: 0
|
|
3890
3915
|
};
|
|
3891
3916
|
}
|
|
3892
|
-
function
|
|
3917
|
+
function xa(e) {
|
|
3893
3918
|
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));
|
|
3894
3919
|
if (i <= a) return t.pointsInRange(n, r);
|
|
3895
3920
|
if (a === 1) return t.pointAt(n) ? [t.pointAt(n)] : [];
|
|
@@ -3900,7 +3925,7 @@ function ba(e) {
|
|
|
3900
3925
|
}
|
|
3901
3926
|
return o;
|
|
3902
3927
|
}
|
|
3903
|
-
function
|
|
3928
|
+
function Sa(e, t, n, r) {
|
|
3904
3929
|
return {
|
|
3905
3930
|
message: e,
|
|
3906
3931
|
mode: t,
|
|
@@ -3908,8 +3933,8 @@ function xa(e, t, n, r) {
|
|
|
3908
3933
|
seriesIds: r
|
|
3909
3934
|
};
|
|
3910
3935
|
}
|
|
3911
|
-
function
|
|
3912
|
-
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 =
|
|
3936
|
+
function Ca(e) {
|
|
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 = ma(), d, f, p = !1, m = t(() => {
|
|
3913
3938
|
let t = e.renderingOptions.value.sampling;
|
|
3914
3939
|
return e.sourceTrackLayouts.value.flatMap((n) => {
|
|
3915
3940
|
let r = n.xScale.domain();
|
|
@@ -3974,13 +3999,13 @@ function Sa(e) {
|
|
|
3974
3999
|
revision: 0,
|
|
3975
4000
|
dataset: t.source.toWorkerDataset()
|
|
3976
4001
|
});
|
|
3977
|
-
!u.isCurrent(n) || !
|
|
4002
|
+
!u.isCurrent(n) || !_a(r) || r.status !== "ok" && r.status !== "stale-revision" || a.set(t.request.datasetId, r.revision);
|
|
3978
4003
|
}));
|
|
3979
4004
|
}, x = async (t, n = !1) => {
|
|
3980
4005
|
let o = m.value, c = { ...e.linePointOverrides.value }, l = [], d = [];
|
|
3981
4006
|
if (o.forEach((e) => {
|
|
3982
|
-
let r = e.visibleRange.end - e.visibleRange.start, i = n ? s.get(e.series.id) : void 0, a = e.request.mode === "auto" &&
|
|
3983
|
-
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(
|
|
4007
|
+
let r = e.visibleRange.end - e.visibleRange.start, i = n ? s.get(e.series.id) : void 0, a = e.request.mode === "auto" && pa(r, e.request.autoThreshold, e.request.autoHysteresis ?? 0, i) === "raw";
|
|
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(ba(e, t))) : (c[e.series.id]?.length || (c[e.series.id] = xa(e)), l.push({
|
|
3984
4009
|
...e,
|
|
3985
4010
|
request: {
|
|
3986
4011
|
...e.request,
|
|
@@ -3992,7 +4017,7 @@ function Sa(e) {
|
|
|
3992
4017
|
e.linePointOverrides.value = c, v(d);
|
|
3993
4018
|
return;
|
|
3994
4019
|
}
|
|
3995
|
-
if (e.linePointOverrides.value = c, r ??=
|
|
4020
|
+
if (e.linePointOverrides.value = c, r ??= ga(), await b(r, l, t), !u.isCurrent(t)) return;
|
|
3996
4021
|
let f = l.map((e) => ({
|
|
3997
4022
|
...e.request,
|
|
3998
4023
|
revision: a.get(e.request.datasetId) ?? 1
|
|
@@ -4007,22 +4032,22 @@ function Sa(e) {
|
|
|
4007
4032
|
p = e;
|
|
4008
4033
|
} catch (n) {
|
|
4009
4034
|
if (!u.isCurrent(t)) return;
|
|
4010
|
-
y(
|
|
4035
|
+
y(Sa(n instanceof Error ? n.message : String(n), e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id)));
|
|
4011
4036
|
return;
|
|
4012
4037
|
}
|
|
4013
4038
|
if (!u.isCurrent(t)) return;
|
|
4014
4039
|
let h = new Map(l.map((e) => [e.series.id, e.source]));
|
|
4015
4040
|
p.results.forEach((e) => {
|
|
4016
|
-
let t = h.get(e.seriesId), n = t ?
|
|
4017
|
-
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(
|
|
4018
|
-
}), p.workerError && y(
|
|
4041
|
+
let t = h.get(e.seriesId), n = t ? ya(e, t) : void 0;
|
|
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(Sa(p.workerError ?? "WASM sampling is unavailable.", e.diagnostics.mode, e.diagnostics.backend === "javascript" ? "javascript" : "none", [e.seriesId]));
|
|
4043
|
+
}), p.workerError && y(Sa(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(Sa(r.workerFailureReason, e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id))), e.linePointOverrides.value = { ...c }, v(d);
|
|
4019
4044
|
};
|
|
4020
4045
|
return O(h, () => {
|
|
4021
4046
|
f && clearTimeout(f);
|
|
4022
4047
|
let t = p;
|
|
4023
4048
|
p = !0, u.schedule((e) => x(e, t)), t && e.renderingOptions.value.sampling.mode === "auto" && e.renderingOptions.value.sampling.autoHysteresis > 0 && (f = setTimeout(() => {
|
|
4024
4049
|
f = void 0, u.schedule((e) => x(e, !1));
|
|
4025
|
-
},
|
|
4050
|
+
}, va));
|
|
4026
4051
|
}, { immediate: !0 }), O(e.preparedSeries, () => {
|
|
4027
4052
|
u.cancelPending(), n.value += 1, e.linePointOverrides.value = {}, a.clear(), o.clear(), s.clear(), c.clear(), r?.dispose(), r = void 0;
|
|
4028
4053
|
}, { flush: "sync" }), _(() => {
|
|
@@ -4031,10 +4056,10 @@ function Sa(e) {
|
|
|
4031
4056
|
}
|
|
4032
4057
|
//#endregion
|
|
4033
4058
|
//#region src/components/core/useWaveformChartController.ts
|
|
4034
|
-
function
|
|
4059
|
+
function wa(e, t) {
|
|
4035
4060
|
e.value = t instanceof Element ? t : void 0;
|
|
4036
4061
|
}
|
|
4037
|
-
function
|
|
4062
|
+
function Ta(e, t) {
|
|
4038
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(K), p = C([]), m = b({}), h = b({}), g = S({
|
|
4039
4064
|
points: [],
|
|
4040
4065
|
trackIndex: null,
|
|
@@ -4044,11 +4069,11 @@ function wa(e, t) {
|
|
|
4044
4069
|
x: 0,
|
|
4045
4070
|
y: 0
|
|
4046
4071
|
}
|
|
4047
|
-
}), _ = b(!1), v = b(1), x = C(), w = le("waveform-clip"), E = b(new Set(e.defaultHiddenSeriesIds)), D = mt(), A = C({}), j = b([]), M =
|
|
4072
|
+
}), _ = b(!1), v = b(1), x = C(), w = le("waveform-clip"), E = b(new Set(e.defaultHiddenSeriesIds)), D = mt(), A = C({}), j = b([]), M = Ar();
|
|
4048
4073
|
O([() => e.yDomain, () => e.yDomains], () => {
|
|
4049
4074
|
m.value = {}, h.value = {};
|
|
4050
4075
|
}, { deep: !0 });
|
|
4051
|
-
let N = C(null), P = b(!1), F = b(!1), I = () => void 0, L = () => void 0, R =
|
|
4076
|
+
let N = C(null), P = b(!1), F = b(!1), I = () => void 0, L = () => void 0, R = Fr(() => e.data, () => I(), () => L()), z = xi({
|
|
4052
4077
|
props: e,
|
|
4053
4078
|
observedWidth: o,
|
|
4054
4079
|
observedHeight: s,
|
|
@@ -4056,7 +4081,7 @@ function wa(e, t) {
|
|
|
4056
4081
|
measuredTitleHeight: l,
|
|
4057
4082
|
internalHiddenSeriesIds: E,
|
|
4058
4083
|
paginationBandHeight: u
|
|
4059
|
-
}), { chartWidth: B, chartHeight: V, isCleanView: H, isPresentationMode: U, hiddenSeriesIdSet: W, resolvedTitleText: ee, titleAreaReserved: te, titleMeasureStyle: ne, titleAreaHeight: re, chartTopMargin: ie, innerHeight: G } = z, q =
|
|
4084
|
+
}), { chartWidth: B, chartHeight: V, isCleanView: H, isPresentationMode: U, hiddenSeriesIdSet: W, resolvedTitleText: ee, titleAreaReserved: te, titleMeasureStyle: ne, titleAreaHeight: re, chartTopMargin: ie, innerHeight: G } = z, q = _i({
|
|
4060
4085
|
props: e,
|
|
4061
4086
|
preparedSeries: R,
|
|
4062
4087
|
currentPage: v,
|
|
@@ -4071,7 +4096,7 @@ function wa(e, t) {
|
|
|
4071
4096
|
annotationInteraction: d(D),
|
|
4072
4097
|
linePointOverrides: A
|
|
4073
4098
|
}), { chartSeries: ae, chartTracks: oe, renderingOptions: se, trackLayouts: ce, gridOptions: ue, pageCount: de, pagedTracks: J, resolvedChartLeftMargin: fe, innerWidth: Y, hasChartArea: pe, activeInteractionMode: me, isZoomMode: he, initialXDomain: ge, sharedZoomDomain: _e, resolveInitialTrackDomain: ve, annotationLayoutsForTrack: ye, resolveSeriesYScale: be } = q;
|
|
4074
|
-
|
|
4099
|
+
Ca({
|
|
4075
4100
|
props: e,
|
|
4076
4101
|
emit: t,
|
|
4077
4102
|
instanceId: w,
|
|
@@ -4082,7 +4107,7 @@ function wa(e, t) {
|
|
|
4082
4107
|
}), k(() => {
|
|
4083
4108
|
u.value = ue.value.showPagination && de.value > 1 && B.value <= 520 ? 40 : 0;
|
|
4084
4109
|
});
|
|
4085
|
-
let xe =
|
|
4110
|
+
let xe = jr({
|
|
4086
4111
|
props: e,
|
|
4087
4112
|
emit: t,
|
|
4088
4113
|
svgElement: r,
|
|
@@ -4099,7 +4124,7 @@ function wa(e, t) {
|
|
|
4099
4124
|
isPresentationMode: U,
|
|
4100
4125
|
resolveInitialTrackDomain: ve,
|
|
4101
4126
|
cancelPendingHover: () => Ce.cancelPendingHover()
|
|
4102
|
-
}), X =
|
|
4127
|
+
}), X = fr({
|
|
4103
4128
|
props: e,
|
|
4104
4129
|
emit: t,
|
|
4105
4130
|
container: n,
|
|
@@ -4119,7 +4144,7 @@ function wa(e, t) {
|
|
|
4119
4144
|
chartTopMargin: ie,
|
|
4120
4145
|
activeInteractionMode: me,
|
|
4121
4146
|
isPresentationMode: U
|
|
4122
|
-
}), Se =
|
|
4147
|
+
}), Se = kr({
|
|
4123
4148
|
props: e,
|
|
4124
4149
|
emit: t,
|
|
4125
4150
|
selection: N,
|
|
@@ -4144,7 +4169,7 @@ function wa(e, t) {
|
|
|
4144
4169
|
cancelPendingZoom: xe.cancelPendingZoom,
|
|
4145
4170
|
clearHover: () => Ce.clearHover(),
|
|
4146
4171
|
resolveTrackAtPointer: X.resolveTrackAtPointer
|
|
4147
|
-
}), Ce =
|
|
4172
|
+
}), Ce = pr({
|
|
4148
4173
|
emit: t,
|
|
4149
4174
|
hoverState: g,
|
|
4150
4175
|
suppressHoverUntilMove: _,
|
|
@@ -4159,7 +4184,7 @@ function wa(e, t) {
|
|
|
4159
4184
|
isPresentationMode: U,
|
|
4160
4185
|
updateViewportDrag: Se.updateViewportDrag,
|
|
4161
4186
|
resolveTrackAtPointer: X.resolveTrackAtPointer
|
|
4162
|
-
}), we =
|
|
4187
|
+
}), we = Nr({
|
|
4163
4188
|
props: e,
|
|
4164
4189
|
emit: t,
|
|
4165
4190
|
container: n,
|
|
@@ -4222,34 +4247,34 @@ function wa(e, t) {
|
|
|
4222
4247
|
editorSeriesOptions: j,
|
|
4223
4248
|
clipPathId: w,
|
|
4224
4249
|
goToPage: we.goToPage,
|
|
4225
|
-
setContainer: (e) =>
|
|
4226
|
-
setSvgElement: (e) =>
|
|
4227
|
-
setTitleMeasureElement: (e) =>
|
|
4228
|
-
setSharedOverlayElement: (e) =>
|
|
4250
|
+
setContainer: (e) => wa(n, e),
|
|
4251
|
+
setSvgElement: (e) => wa(r, e),
|
|
4252
|
+
setTitleMeasureElement: (e) => wa(i, e),
|
|
4253
|
+
setSharedOverlayElement: (e) => wa(a, e)
|
|
4229
4254
|
});
|
|
4230
4255
|
}
|
|
4231
4256
|
//#endregion
|
|
4232
4257
|
//#region src/components/annotation/WaveformAnnotationEditor.vue?vue&type=script&setup=true&lang.ts
|
|
4233
|
-
var
|
|
4258
|
+
var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
|
|
4234
4259
|
class: "waveform-annotation-editor__coordinates",
|
|
4235
4260
|
"aria-label": "标注坐标"
|
|
4236
|
-
},
|
|
4261
|
+
}, ka = ["aria-invalid"], Aa = {
|
|
4237
4262
|
class: "waveform-annotation-editor__coordinate-value",
|
|
4238
4263
|
"aria-hidden": "true"
|
|
4239
|
-
},
|
|
4264
|
+
}, ja = ["id"], Ma = {
|
|
4240
4265
|
key: 0,
|
|
4241
4266
|
class: "waveform-annotation-editor__series",
|
|
4242
4267
|
"aria-label": "标注所属波形"
|
|
4243
|
-
},
|
|
4268
|
+
}, Na = { class: "waveform-annotation-editor__series-label" }, Pa = ["value"], Fa = ["value"], Ia = { key: 1 }, La = { class: "waveform-annotation-editor__field" }, Ra = { class: "waveform-annotation-editor__label-row" }, za = ["maxlength"], Ba = { class: "waveform-annotation-editor__colors" }, Va = {
|
|
4244
4269
|
class: "waveform-annotation-editor__color-field",
|
|
4245
4270
|
title: "调整标注边框色和透明度"
|
|
4246
|
-
},
|
|
4271
|
+
}, Ha = {
|
|
4247
4272
|
class: "waveform-annotation-editor__color-field",
|
|
4248
4273
|
title: "调整标注文字色和透明度"
|
|
4249
|
-
},
|
|
4274
|
+
}, Ua = {
|
|
4250
4275
|
class: "waveform-annotation-editor__color-field",
|
|
4251
4276
|
title: "调整标注背景色和透明度"
|
|
4252
|
-
},
|
|
4277
|
+
}, Wa = /*#__PURE__*/ et(/* @__PURE__ */ l({
|
|
4253
4278
|
__name: "WaveformAnnotationEditor",
|
|
4254
4279
|
props: {
|
|
4255
4280
|
annotation: {},
|
|
@@ -4320,9 +4345,9 @@ var Ta = ["id"], Ea = { class: "waveform-annotation-editor__content" }, Da = {
|
|
|
4320
4345
|
onCancel: o[4] ||= (e) => p("cancel"),
|
|
4321
4346
|
onOk: B
|
|
4322
4347
|
}, {
|
|
4323
|
-
title: A(() => [a("span", { id: E(g) }, w(d.mode === "add" ? "添加标注" : "编辑标注"), 9,
|
|
4324
|
-
default: A(() => [a("div",
|
|
4325
|
-
a("div",
|
|
4348
|
+
title: A(() => [a("span", { id: E(g) }, w(d.mode === "add" ? "添加标注" : "编辑标注"), 9, Ea)]),
|
|
4349
|
+
default: A(() => [a("div", Da, [
|
|
4350
|
+
a("div", Oa, [
|
|
4326
4351
|
a("label", {
|
|
4327
4352
|
class: "waveform-annotation-editor__coordinate-input",
|
|
4328
4353
|
"aria-invalid": !!N.value
|
|
@@ -4345,26 +4370,26 @@ var Ta = ["id"], Ea = { class: "waveform-annotation-editor__content" }, Da = {
|
|
|
4345
4370
|
"aria-invalid",
|
|
4346
4371
|
"aria-describedby"
|
|
4347
4372
|
]),
|
|
4348
|
-
a("code",
|
|
4349
|
-
], 8,
|
|
4373
|
+
a("code", Aa, w(y.value), 1)
|
|
4374
|
+
], 8, ka),
|
|
4350
4375
|
N.value ? (v(), i("p", {
|
|
4351
4376
|
key: 0,
|
|
4352
4377
|
id: `${E(g)}-time-error`,
|
|
4353
4378
|
class: "waveform-annotation-editor__coordinate-error",
|
|
4354
4379
|
role: "alert"
|
|
4355
|
-
}, w(N.value), 9,
|
|
4380
|
+
}, w(N.value), 9, ja)) : r("", !0),
|
|
4356
4381
|
a("span", null, [o[6] ||= a("b", null, "Y", -1), a("code", null, w(E(Ot)(d.annotation.y)), 1)])
|
|
4357
4382
|
]),
|
|
4358
4383
|
o[13] ||= a("p", {
|
|
4359
4384
|
class: "waveform-annotation-editor__coordinate-hint",
|
|
4360
4385
|
role: "note"
|
|
4361
4386
|
}, " 修改 X 轴后失焦时会自动吸附最近的采样点 ", -1),
|
|
4362
|
-
I.value ? (v(), i("label",
|
|
4387
|
+
I.value ? (v(), i("label", Ma, [
|
|
4363
4388
|
a("i", {
|
|
4364
4389
|
style: m({ backgroundColor: I.value.color }),
|
|
4365
4390
|
"aria-hidden": "true"
|
|
4366
4391
|
}, null, 4),
|
|
4367
|
-
a("span",
|
|
4392
|
+
a("span", Na, [o[7] ||= a("small", null, "标注波形", -1), a("b", null, w(I.value.name), 1)]),
|
|
4368
4393
|
d.seriesOptions?.length ? (v(), i("select", {
|
|
4369
4394
|
key: 0,
|
|
4370
4395
|
value: d.annotation.seriesId,
|
|
@@ -4373,9 +4398,9 @@ var Ta = ["id"], Ea = { class: "waveform-annotation-editor__content" }, Da = {
|
|
|
4373
4398
|
}, [(v(!0), i(e, null, x(d.seriesOptions, (e) => (v(), i("option", {
|
|
4374
4399
|
key: e.seriesId,
|
|
4375
4400
|
value: e.seriesId
|
|
4376
|
-
}, w(e.name) + w(e.unit ? ` (${e.unit})` : ""), 9,
|
|
4401
|
+
}, w(e.name) + w(e.unit ? ` (${e.unit})` : ""), 9, Fa))), 128))], 40, Pa)) : I.value.unit ? (v(), i("code", Ia, w(I.value.unit), 1)) : r("", !0)
|
|
4377
4402
|
])) : r("", !0),
|
|
4378
|
-
a("label",
|
|
4403
|
+
a("label", La, [a("span", Ra, [o[8] ||= a("b", null, "标注文本", -1), a("small", null, w(F.value) + "/" + w(E(40)), 1)]), j(a("textarea", {
|
|
4379
4404
|
ref_key: "textarea",
|
|
4380
4405
|
ref: h,
|
|
4381
4406
|
"onUpdate:modelValue": o[0] ||= (e) => _.value = e,
|
|
@@ -4384,10 +4409,10 @@ var Ta = ["id"], Ea = { class: "waveform-annotation-editor__content" }, Da = {
|
|
|
4384
4409
|
"aria-label": "标注文本",
|
|
4385
4410
|
placeholder: "输入这处波形的说明",
|
|
4386
4411
|
onKeydown: V
|
|
4387
|
-
}, null, 40,
|
|
4388
|
-
a("fieldset",
|
|
4412
|
+
}, null, 40, za), [[D, _.value]])]),
|
|
4413
|
+
a("fieldset", Ba, [
|
|
4389
4414
|
o[12] ||= a("legend", null, "颜色与透明度", -1),
|
|
4390
|
-
a("label",
|
|
4415
|
+
a("label", Va, [o[9] ||= a("span", null, "边框色", -1), s(E(u), {
|
|
4391
4416
|
"pure-color": C.value,
|
|
4392
4417
|
"onUpdate:pureColor": o[1] ||= (e) => C.value = e,
|
|
4393
4418
|
"aria-label": "标注边框色",
|
|
@@ -4397,7 +4422,7 @@ var Ta = ["id"], Ea = { class: "waveform-annotation-editor__content" }, Da = {
|
|
|
4397
4422
|
"disable-alpha": !1,
|
|
4398
4423
|
"blur-close": !0
|
|
4399
4424
|
}, null, 8, ["pure-color"])]),
|
|
4400
|
-
a("label",
|
|
4425
|
+
a("label", Ha, [o[10] ||= a("span", null, "文字色", -1), s(E(u), {
|
|
4401
4426
|
"pure-color": T.value,
|
|
4402
4427
|
"onUpdate:pureColor": o[2] ||= (e) => T.value = e,
|
|
4403
4428
|
"aria-label": "标注文字色",
|
|
@@ -4407,7 +4432,7 @@ var Ta = ["id"], Ea = { class: "waveform-annotation-editor__content" }, Da = {
|
|
|
4407
4432
|
"disable-alpha": !1,
|
|
4408
4433
|
"blur-close": !0
|
|
4409
4434
|
}, null, 8, ["pure-color"])]),
|
|
4410
|
-
a("label",
|
|
4435
|
+
a("label", Ua, [o[11] ||= a("span", null, "背景色", -1), s(E(u), {
|
|
4411
4436
|
"pure-color": k.value,
|
|
4412
4437
|
"onUpdate:pureColor": o[3] ||= (e) => k.value = e,
|
|
4413
4438
|
"aria-label": "标注背景色",
|
|
@@ -4422,13 +4447,13 @@ var Ta = ["id"], Ea = { class: "waveform-annotation-editor__content" }, Da = {
|
|
|
4422
4447
|
_: 1
|
|
4423
4448
|
}, 8, ["ok-button-props"]));
|
|
4424
4449
|
}
|
|
4425
|
-
}), [["__scopeId", "data-v-01ecd3a4"]]),
|
|
4450
|
+
}), [["__scopeId", "data-v-01ecd3a4"]]), Ga = { class: "waveform-tooltip__series-content" }, Ka = { class: "waveform-tooltip__series-label" }, qa = {
|
|
4426
4451
|
key: 0,
|
|
4427
4452
|
class: "waveform-tooltip__value"
|
|
4428
|
-
},
|
|
4453
|
+
}, Ja = {
|
|
4429
4454
|
key: 1,
|
|
4430
4455
|
class: "waveform-tooltip__value waveform-tooltip__value--missing"
|
|
4431
|
-
},
|
|
4456
|
+
}, Ya = 12, Xa = 8, Za = 238, Qa = 560, $a = 20, eo = 20, to = /*#__PURE__*/ et(/* @__PURE__ */ l({
|
|
4432
4457
|
__name: "WaveformTooltip",
|
|
4433
4458
|
props: {
|
|
4434
4459
|
visible: { type: Boolean },
|
|
@@ -4442,7 +4467,7 @@ var Ta = ["id"], Ea = { class: "waveform-annotation-editor__content" }, Da = {
|
|
|
4442
4467
|
setup(n) {
|
|
4443
4468
|
let s = n;
|
|
4444
4469
|
function c(e, t) {
|
|
4445
|
-
let n = Math.max(1, t -
|
|
4470
|
+
let n = Math.max(1, t - $a - 14), r = Math.max(1, Math.floor(n / 7.2));
|
|
4446
4471
|
return Math.max(1, Math.ceil([...e].length / r));
|
|
4447
4472
|
}
|
|
4448
4473
|
function l(e) {
|
|
@@ -4450,18 +4475,18 @@ var Ta = ["id"], Ea = { class: "waveform-annotation-editor__content" }, Da = {
|
|
|
4450
4475
|
return `${e.shotNo?.trim() || "未配置炮号"}: ${e.name}${e.unit ? `(${e.unit})` : ""} ${t}`;
|
|
4451
4476
|
}
|
|
4452
4477
|
function u(e) {
|
|
4453
|
-
return 16 +
|
|
4478
|
+
return 16 + eo * s.seriesPoints.reduce((t, n) => t + c(l(n), e), 0) + 5;
|
|
4454
4479
|
}
|
|
4455
4480
|
let d = t(() => {
|
|
4456
4481
|
if (!s.visible || !s.hoveredPoint) return { display: "none" };
|
|
4457
|
-
let e = s.position.x +
|
|
4482
|
+
let e = s.position.x + Ya, t = s.position.x - Ya - Za, n = s.containerWidth - Xa - e, r = s.position.x - Ya - Xa, i = Math.max(1, Math.min(Qa, s.containerWidth - Xa * 2)), a = e + Za <= s.containerWidth - Xa ? {
|
|
4458
4483
|
left: `${e}px`,
|
|
4459
|
-
maxWidth: `${Math.min(
|
|
4460
|
-
} : t >=
|
|
4461
|
-
right: `${s.containerWidth - s.position.x +
|
|
4462
|
-
maxWidth: `${Math.min(
|
|
4484
|
+
maxWidth: `${Math.min(Qa, n)}px`
|
|
4485
|
+
} : t >= Xa ? {
|
|
4486
|
+
right: `${s.containerWidth - s.position.x + Ya}px`,
|
|
4487
|
+
maxWidth: `${Math.min(Qa, r)}px`
|
|
4463
4488
|
} : {
|
|
4464
|
-
left: `${
|
|
4489
|
+
left: `${Xa}px`,
|
|
4465
4490
|
maxWidth: `${i}px`
|
|
4466
4491
|
}, o = Number.parseFloat(a.maxWidth);
|
|
4467
4492
|
return {
|
|
@@ -4476,9 +4501,9 @@ var Ta = ["id"], Ea = { class: "waveform-annotation-editor__content" }, Da = {
|
|
|
4476
4501
|
}, [(v(!0), i(e, null, x(n.seriesPoints, (t) => (v(), i("span", {
|
|
4477
4502
|
key: `${t.trackIndex}-${t.name}`,
|
|
4478
4503
|
class: "waveform-tooltip__series waveform-chart__tooltip-series"
|
|
4479
|
-
}, [a("i", { style: m({ backgroundColor: t.color }) }, null, 4), a("span",
|
|
4504
|
+
}, [a("i", { style: m({ backgroundColor: t.color }) }, null, 4), a("span", Ga, [a("span", Ka, [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", Ja, "无数据"))])]))), 128))], 4)) : r("", !0);
|
|
4480
4505
|
}
|
|
4481
|
-
}), [["__scopeId", "data-v-1ae3316b"]]),
|
|
4506
|
+
}), [["__scopeId", "data-v-1ae3316b"]]), no = /* @__PURE__ */ l({
|
|
4482
4507
|
__name: "WaveformHoverHost",
|
|
4483
4508
|
props: {
|
|
4484
4509
|
state: {},
|
|
@@ -4489,7 +4514,7 @@ var Ta = ["id"], Ea = { class: "waveform-annotation-editor__content" }, Da = {
|
|
|
4489
4514
|
},
|
|
4490
4515
|
setup(e) {
|
|
4491
4516
|
let r = e, i = t(() => r.state.points.find((e) => e.point)?.point ?? null);
|
|
4492
|
-
return (t, r) => (v(), n(
|
|
4517
|
+
return (t, r) => (v(), n(to, {
|
|
4493
4518
|
visible: e.visible && i.value !== null,
|
|
4494
4519
|
position: e.state.position,
|
|
4495
4520
|
"time-unit": e.timeUnit,
|
|
@@ -4507,16 +4532,16 @@ var Ta = ["id"], Ea = { class: "waveform-annotation-editor__content" }, Da = {
|
|
|
4507
4532
|
"container-height"
|
|
4508
4533
|
]));
|
|
4509
4534
|
}
|
|
4510
|
-
}),
|
|
4535
|
+
}), ro = 13, io = 2, ao = 14, oo = 8, so = 24, co = {
|
|
4511
4536
|
circle: te,
|
|
4512
4537
|
square: re,
|
|
4513
4538
|
triangle: ie,
|
|
4514
4539
|
diamond: ne
|
|
4515
4540
|
};
|
|
4516
|
-
function
|
|
4517
|
-
return e === "none" ? null : ee().type(
|
|
4541
|
+
function lo(e, t = 48) {
|
|
4542
|
+
return e === "none" ? null : ee().type(co[e]).size(t)() ?? null;
|
|
4518
4543
|
}
|
|
4519
|
-
function
|
|
4544
|
+
function uo(e, t, n = 48) {
|
|
4520
4545
|
if (e === "none" || t.length === 0) return null;
|
|
4521
4546
|
if (e === "circle") {
|
|
4522
4547
|
let e = Math.sqrt(n / Math.PI);
|
|
@@ -4533,24 +4558,24 @@ function lo(e, t, n = 48) {
|
|
|
4533
4558
|
let r = Math.sqrt(n / (2 * Math.tan(Math.PI / 6))), i = r * Math.tan(Math.PI / 6);
|
|
4534
4559
|
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("");
|
|
4535
4560
|
}
|
|
4536
|
-
function
|
|
4561
|
+
function fo(e) {
|
|
4537
4562
|
return e === "none" ? null : "M1 8H25";
|
|
4538
4563
|
}
|
|
4539
|
-
function
|
|
4564
|
+
function po(e) {
|
|
4540
4565
|
if (e === "dashed") return "8 5";
|
|
4541
4566
|
if (e === "dash-dot") return "8 5 1.5 5";
|
|
4542
4567
|
}
|
|
4543
|
-
function
|
|
4544
|
-
let t = (Number.isFinite(e) && e > 0 ? Math.min(e,
|
|
4568
|
+
function mo(e) {
|
|
4569
|
+
let t = (Number.isFinite(e) && e > 0 ? Math.min(e, so) : oo) / 2, n = ro - t, r = ro + t;
|
|
4545
4570
|
return [
|
|
4546
|
-
`M${n} ${
|
|
4547
|
-
`M${
|
|
4548
|
-
`M${n} ${
|
|
4571
|
+
`M${n} ${io}H${r}`,
|
|
4572
|
+
`M${ro} ${io}V${ao}`,
|
|
4573
|
+
`M${n} ${ao}H${r}`
|
|
4549
4574
|
].join("");
|
|
4550
4575
|
}
|
|
4551
4576
|
//#endregion
|
|
4552
4577
|
//#region src/components/rendering/WaveformSeriesLayer.vue?vue&type=script&setup=true&lang.ts
|
|
4553
|
-
var
|
|
4578
|
+
var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
|
|
4554
4579
|
"data-series-id",
|
|
4555
4580
|
"data-series-name",
|
|
4556
4581
|
"data-y-axis-index",
|
|
@@ -4559,11 +4584,11 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
|
|
|
4559
4584
|
"d",
|
|
4560
4585
|
"stroke",
|
|
4561
4586
|
"stroke-dasharray"
|
|
4562
|
-
],
|
|
4587
|
+
], vo = ["data-series-id"], yo = [
|
|
4563
4588
|
"d",
|
|
4564
4589
|
"stroke",
|
|
4565
4590
|
"stroke-width"
|
|
4566
|
-
],
|
|
4591
|
+
], bo = ["data-series-id", "data-point-type"], xo = ["d", "fill"], So = /*#__PURE__*/ et(/* @__PURE__ */ l({
|
|
4567
4592
|
__name: "WaveformSeriesLayer",
|
|
4568
4593
|
props: {
|
|
4569
4594
|
track: {},
|
|
@@ -4571,7 +4596,7 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
|
|
|
4571
4596
|
},
|
|
4572
4597
|
setup(n) {
|
|
4573
4598
|
let a = n, o = t(() => a.track.seriesPaths.map((e) => {
|
|
4574
|
-
let t =
|
|
4599
|
+
let t = uo(e.series.pointType, e.pointRenderPoints.map((t) => ({
|
|
4575
4600
|
x: a.track.xScale(t.x),
|
|
4576
4601
|
y: e.yScale(t.y)
|
|
4577
4602
|
}))), n = e.series.errorBar.capWidth / 2, r = e.errorBarRenderPoints.map((t) => {
|
|
@@ -4608,8 +4633,8 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
|
|
|
4608
4633
|
"data-line-style": e.series.lineStyle,
|
|
4609
4634
|
d: e.path,
|
|
4610
4635
|
stroke: e.series.color,
|
|
4611
|
-
"stroke-dasharray": E(
|
|
4612
|
-
}, null, 8,
|
|
4636
|
+
"stroke-dasharray": E(po)(e.series.lineStyle)
|
|
4637
|
+
}, null, 8, _o)) : r("", !0),
|
|
4613
4638
|
e.series.errorBar.visible ? (v(), i("g", {
|
|
4614
4639
|
key: 1,
|
|
4615
4640
|
class: "waveform-track__error-bars waveform-chart__error-bars",
|
|
@@ -4620,7 +4645,7 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
|
|
|
4620
4645
|
d: e.errorBarPath,
|
|
4621
4646
|
stroke: e.series.errorBar.color || e.series.color,
|
|
4622
4647
|
"stroke-width": e.series.errorBar.width
|
|
4623
|
-
}, null, 8,
|
|
4648
|
+
}, null, 8, yo)) : r("", !0)], 8, vo)) : r("", !0),
|
|
4624
4649
|
e.series.pointType === "none" ? r("", !0) : (v(), i("g", {
|
|
4625
4650
|
key: 2,
|
|
4626
4651
|
class: "waveform-track__points waveform-chart__points",
|
|
@@ -4631,28 +4656,28 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
|
|
|
4631
4656
|
class: "waveform-track__point waveform-chart__point",
|
|
4632
4657
|
d: e.pointPath,
|
|
4633
4658
|
fill: e.series.color
|
|
4634
|
-
}, null, 8,
|
|
4635
|
-
], 8,
|
|
4659
|
+
}, null, 8, xo)) : r("", !0)], 8, bo))
|
|
4660
|
+
], 8, go))), 128))], 8, ho)) : r("", !0);
|
|
4636
4661
|
}
|
|
4637
|
-
}), [["__scopeId", "data-v-42a3fd47"]]),
|
|
4662
|
+
}), [["__scopeId", "data-v-42a3fd47"]]), Co = ["transform"], wo = ["transform"], To = {
|
|
4638
4663
|
class: "waveform-track__axis-endpoint waveform-track__axis-endpoint--start waveform-chart__axis-endpoint waveform-chart__axis-endpoint--start",
|
|
4639
4664
|
x: "0",
|
|
4640
4665
|
y: "7",
|
|
4641
4666
|
dy: "0.71em",
|
|
4642
4667
|
"text-anchor": "start"
|
|
4643
|
-
},
|
|
4668
|
+
}, Eo = ["x"], Do = [
|
|
4644
4669
|
"data-y-axis-index",
|
|
4645
4670
|
"data-y-axis-side",
|
|
4646
4671
|
"transform"
|
|
4647
|
-
],
|
|
4672
|
+
], Oo = { key: 2 }, ko = [
|
|
4648
4673
|
"x",
|
|
4649
4674
|
"y",
|
|
4650
4675
|
"width"
|
|
4651
|
-
],
|
|
4676
|
+
], Ao = ["fill", "transform"], jo = ["data-y-axis-title-index"], Mo = [
|
|
4652
4677
|
"x",
|
|
4653
4678
|
"y",
|
|
4654
4679
|
"width"
|
|
4655
|
-
],
|
|
4680
|
+
], No = ["fill", "transform"], Po = /* @__PURE__ */ l({
|
|
4656
4681
|
__name: "WaveformTrackAxes",
|
|
4657
4682
|
props: {
|
|
4658
4683
|
track: {},
|
|
@@ -4712,7 +4737,7 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
|
|
|
4712
4737
|
ref: o,
|
|
4713
4738
|
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 }]),
|
|
4714
4739
|
transform: `translate(0, ${t.track.height})`
|
|
4715
|
-
}, null, 10,
|
|
4740
|
+
}, null, 10, Co)) : r("", !0),
|
|
4716
4741
|
t.track.showXAxis ? (v(), i("g", {
|
|
4717
4742
|
key: 1,
|
|
4718
4743
|
class: "waveform-track__axis-endpoints waveform-chart__axis-endpoints",
|
|
@@ -4720,13 +4745,13 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
|
|
|
4720
4745
|
"font-family": "sans-serif",
|
|
4721
4746
|
"font-size": "10",
|
|
4722
4747
|
"aria-hidden": "true"
|
|
4723
|
-
}, [a("text",
|
|
4748
|
+
}, [a("text", To, w(t.track.endpointLabels.start), 1), a("text", {
|
|
4724
4749
|
class: "waveform-track__axis-endpoint waveform-track__axis-endpoint--end waveform-chart__axis-endpoint waveform-chart__axis-endpoint--end",
|
|
4725
4750
|
x: t.track.width ?? t.innerWidth,
|
|
4726
4751
|
y: "7",
|
|
4727
4752
|
dy: "0.71em",
|
|
4728
4753
|
"text-anchor": "end"
|
|
4729
|
-
}, w(t.track.endpointLabels.end), 9,
|
|
4754
|
+
}, w(t.track.endpointLabels.end), 9, Eo)], 8, wo)) : r("", !0),
|
|
4730
4755
|
(v(!0), i(e, null, x(t.track.isEmpty ? [] : t.track.yAxes, (e) => (v(), i("g", {
|
|
4731
4756
|
key: `y-axis-${t.track.index}-${e.index}`,
|
|
4732
4757
|
ref_for: !0,
|
|
@@ -4735,21 +4760,21 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
|
|
|
4735
4760
|
"data-y-axis-index": e.index,
|
|
4736
4761
|
"data-y-axis-side": e.side,
|
|
4737
4762
|
transform: `translate(${e.x}, 0)`
|
|
4738
|
-
}, null, 10,
|
|
4739
|
-
!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",
|
|
4763
|
+
}, null, 10, Do))), 128)),
|
|
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", Oo, [a("rect", {
|
|
4740
4765
|
class: "waveform-track__y-axis-label-bg waveform-chart__y-axis-label-bg",
|
|
4741
4766
|
x: t.track.yAxisLabelX - E(12) / 2,
|
|
4742
4767
|
y: t.track.height / 2 - 40,
|
|
4743
4768
|
width: E(12),
|
|
4744
4769
|
height: "80",
|
|
4745
4770
|
rx: "2"
|
|
4746
|
-
}, null, 8,
|
|
4771
|
+
}, null, 8, ko), a("text", {
|
|
4747
4772
|
class: "waveform-track__y-axis-label waveform-chart__y-axis-label",
|
|
4748
4773
|
fill: t.track.series?.color,
|
|
4749
4774
|
transform: `translate(${t.track.yAxisLabelX}, ${t.track.height / 2}) rotate(-90)`,
|
|
4750
4775
|
"text-anchor": "middle",
|
|
4751
4776
|
"dominant-baseline": "central"
|
|
4752
|
-
}, w(t.track.series ? c(t.track.series) : ""), 9,
|
|
4777
|
+
}, w(t.track.series ? c(t.track.series) : ""), 9, Ao)])) : r("", !0),
|
|
4753
4778
|
(v(!0), i(e, null, x(!t.cleanView && t.track.yAxes.length > 1 ? t.track.yAxes.filter(l) : [], (e) => (v(), i("g", {
|
|
4754
4779
|
key: `y-axis-title-${t.track.index}-${e.index}`,
|
|
4755
4780
|
class: "waveform-track__multi-axis-title",
|
|
@@ -4761,40 +4786,40 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
|
|
|
4761
4786
|
width: E(12),
|
|
4762
4787
|
height: "80",
|
|
4763
4788
|
rx: "2"
|
|
4764
|
-
}, null, 8,
|
|
4789
|
+
}, null, 8, Mo), a("text", {
|
|
4765
4790
|
class: "waveform-track__y-axis-label waveform-chart__y-axis-label",
|
|
4766
4791
|
fill: e.seriesList[0].color,
|
|
4767
4792
|
transform: `translate(${e.labelX}, ${t.track.height / 2}) rotate(-90)`,
|
|
4768
4793
|
"text-anchor": "middle",
|
|
4769
4794
|
"dominant-baseline": "central"
|
|
4770
|
-
}, w(c(e.seriesList[0])), 9,
|
|
4795
|
+
}, w(c(e.seriesList[0])), 9, No)], 8, jo))), 128))
|
|
4771
4796
|
], 64));
|
|
4772
4797
|
}
|
|
4773
|
-
}),
|
|
4798
|
+
}), Fo = [
|
|
4774
4799
|
"width",
|
|
4775
4800
|
"height",
|
|
4776
4801
|
"fill"
|
|
4777
|
-
],
|
|
4802
|
+
], Io = ["clip-path"], Lo = { class: "waveform-track__grid waveform-track__grid--minor waveform-chart__grid waveform-chart__grid--minor" }, Ro = [
|
|
4778
4803
|
"stroke",
|
|
4779
4804
|
"x1",
|
|
4780
4805
|
"x2",
|
|
4781
4806
|
"y2"
|
|
4782
|
-
],
|
|
4807
|
+
], zo = [
|
|
4783
4808
|
"stroke",
|
|
4784
4809
|
"x2",
|
|
4785
4810
|
"y1",
|
|
4786
4811
|
"y2"
|
|
4787
|
-
],
|
|
4812
|
+
], Bo = { class: "waveform-track__grid waveform-track__grid--major waveform-chart__grid waveform-chart__grid--major" }, Vo = [
|
|
4788
4813
|
"stroke",
|
|
4789
4814
|
"x1",
|
|
4790
4815
|
"x2",
|
|
4791
4816
|
"y2"
|
|
4792
|
-
],
|
|
4817
|
+
], Ho = [
|
|
4793
4818
|
"stroke",
|
|
4794
4819
|
"x2",
|
|
4795
4820
|
"y1",
|
|
4796
4821
|
"y2"
|
|
4797
|
-
],
|
|
4822
|
+
], Uo = ["clip-path"], Wo = [
|
|
4798
4823
|
"data-y-axis-index",
|
|
4799
4824
|
"x2",
|
|
4800
4825
|
"y1",
|
|
@@ -4802,7 +4827,7 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
|
|
|
4802
4827
|
"stroke",
|
|
4803
4828
|
"stroke-width",
|
|
4804
4829
|
"stroke-dasharray"
|
|
4805
|
-
],
|
|
4830
|
+
], Go = ["x", "y"], Ko = /* @__PURE__ */ l({
|
|
4806
4831
|
__name: "WaveformTrackBackdrop",
|
|
4807
4832
|
props: {
|
|
4808
4833
|
track: {},
|
|
@@ -4827,12 +4852,12 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
|
|
|
4827
4852
|
height: t.track.height,
|
|
4828
4853
|
fill: t.frameStyle.backgroundColor,
|
|
4829
4854
|
"aria-hidden": "true"
|
|
4830
|
-
}, null, 8,
|
|
4855
|
+
}, null, 8, Fo)) : r("", !0),
|
|
4831
4856
|
!t.track.isEmpty && t.track.hasVisibleSeries && !t.cleanView ? (v(), i("g", {
|
|
4832
4857
|
key: 1,
|
|
4833
4858
|
"clip-path": `url(#${t.clipPathId}-${t.track.index})`,
|
|
4834
4859
|
"aria-hidden": "true"
|
|
4835
|
-
}, [a("g",
|
|
4860
|
+
}, [a("g", Lo, [t.track.gridLines.vertical ? (v(!0), i(e, { key: 0 }, x(t.track.xMinorTicks, (e) => (v(), i("line", {
|
|
4836
4861
|
key: `x-minor-${t.track.index}-${e}`,
|
|
4837
4862
|
"data-grid-direction": "vertical",
|
|
4838
4863
|
stroke: t.track.gridLines.verticalColor,
|
|
@@ -4840,7 +4865,7 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
|
|
|
4840
4865
|
x2: t.track.xScale(e),
|
|
4841
4866
|
y1: "0",
|
|
4842
4867
|
y2: t.track.height
|
|
4843
|
-
}, null, 8,
|
|
4868
|
+
}, null, 8, Ro))), 128)) : r("", !0), t.track.gridLines.horizontal ? (v(!0), i(e, { key: 1 }, x(t.track.yMinorTicks, (e) => (v(), i("line", {
|
|
4844
4869
|
key: `y-minor-${t.track.index}-${e}`,
|
|
4845
4870
|
"data-grid-direction": "horizontal",
|
|
4846
4871
|
stroke: t.track.gridLines.horizontalColor,
|
|
@@ -4848,7 +4873,7 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
|
|
|
4848
4873
|
x2: t.track.width ?? t.innerWidth,
|
|
4849
4874
|
y1: t.track.yScale(e),
|
|
4850
4875
|
y2: t.track.yScale(e)
|
|
4851
|
-
}, null, 8,
|
|
4876
|
+
}, null, 8, zo))), 128)) : r("", !0)]), a("g", Bo, [t.track.gridLines.vertical ? (v(!0), i(e, { key: 0 }, x(t.track.xMajorTicks, (e) => (v(), i("line", {
|
|
4852
4877
|
key: `x-major-${t.track.index}-${e}`,
|
|
4853
4878
|
"data-grid-direction": "vertical",
|
|
4854
4879
|
stroke: t.track.gridLines.verticalColor,
|
|
@@ -4856,7 +4881,7 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
|
|
|
4856
4881
|
x2: t.track.xScale(e),
|
|
4857
4882
|
y1: "0",
|
|
4858
4883
|
y2: t.track.height
|
|
4859
|
-
}, null, 8,
|
|
4884
|
+
}, null, 8, Vo))), 128)) : r("", !0), t.track.gridLines.horizontal ? (v(!0), i(e, { key: 1 }, x(t.track.yMajorTicks, (e) => (v(), i("line", {
|
|
4860
4885
|
key: `y-major-${t.track.index}-${e}`,
|
|
4861
4886
|
"data-grid-direction": "horizontal",
|
|
4862
4887
|
stroke: t.track.gridLines.horizontalColor,
|
|
@@ -4864,7 +4889,7 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
|
|
|
4864
4889
|
x2: t.track.width ?? t.innerWidth,
|
|
4865
4890
|
y1: t.track.yScale(e),
|
|
4866
4891
|
y2: t.track.yScale(e)
|
|
4867
|
-
}, null, 8,
|
|
4892
|
+
}, null, 8, Ho))), 128)) : r("", !0)])], 8, Io)) : r("", !0),
|
|
4868
4893
|
!t.track.isEmpty && t.track.hasVisibleSeries && t.zeroLine.visible && !t.cleanView ? (v(), i("g", {
|
|
4869
4894
|
key: 2,
|
|
4870
4895
|
class: "waveform-track__zero-lines waveform-chart__zero-lines",
|
|
@@ -4881,7 +4906,7 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
|
|
|
4881
4906
|
stroke: t.zeroLine.color,
|
|
4882
4907
|
"stroke-width": t.zeroLine.width,
|
|
4883
4908
|
"stroke-dasharray": t.zeroLine.dash || void 0
|
|
4884
|
-
}, null, 8,
|
|
4909
|
+
}, null, 8, Wo))], 64))), 128))], 8, Uo)) : r("", !0),
|
|
4885
4910
|
!t.track.isEmpty && t.track.hasVisibleSeries && t.frameNumber !== void 0 && !t.cleanView ? (v(), i("text", {
|
|
4886
4911
|
key: 3,
|
|
4887
4912
|
class: "waveform-track__watermark waveform-chart__watermark",
|
|
@@ -4891,10 +4916,10 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
|
|
|
4891
4916
|
"text-anchor": "middle",
|
|
4892
4917
|
"dominant-baseline": "central",
|
|
4893
4918
|
"aria-hidden": "true"
|
|
4894
|
-
}, w(t.frameNumber), 13,
|
|
4919
|
+
}, w(t.frameNumber), 13, Go)) : r("", !0)
|
|
4895
4920
|
], 64));
|
|
4896
4921
|
}
|
|
4897
|
-
}),
|
|
4922
|
+
}), qo = [
|
|
4898
4923
|
"data-track-index",
|
|
4899
4924
|
"data-track-id",
|
|
4900
4925
|
"data-track-empty",
|
|
@@ -4904,19 +4929,19 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
|
|
|
4904
4929
|
"data-track-top",
|
|
4905
4930
|
"data-track-height",
|
|
4906
4931
|
"transform"
|
|
4907
|
-
],
|
|
4932
|
+
], Jo = [
|
|
4908
4933
|
"width",
|
|
4909
4934
|
"height",
|
|
4910
4935
|
"stroke",
|
|
4911
4936
|
"stroke-width",
|
|
4912
4937
|
"stroke-dasharray",
|
|
4913
4938
|
"stroke-linecap"
|
|
4914
|
-
],
|
|
4939
|
+
], Yo = [
|
|
4915
4940
|
"data-interactive",
|
|
4916
4941
|
"data-independent-overlay-index",
|
|
4917
4942
|
"width",
|
|
4918
4943
|
"height"
|
|
4919
|
-
],
|
|
4944
|
+
], Xo = ["x", "y"], Zo = /* @__PURE__ */ l({
|
|
4920
4945
|
__name: "WaveformTrack",
|
|
4921
4946
|
props: {
|
|
4922
4947
|
track: {},
|
|
@@ -4976,7 +5001,7 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
|
|
|
4976
5001
|
"data-track-height": e.track.height,
|
|
4977
5002
|
transform: `translate(${e.track.left ?? 0}, ${e.track.top})`
|
|
4978
5003
|
}, [
|
|
4979
|
-
s(
|
|
5004
|
+
s(Ko, {
|
|
4980
5005
|
track: e.track,
|
|
4981
5006
|
"clip-path-id": e.clipPathId,
|
|
4982
5007
|
"inner-width": e.innerWidth,
|
|
@@ -4993,7 +5018,7 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
|
|
|
4993
5018
|
"frame-style",
|
|
4994
5019
|
"zero-line"
|
|
4995
5020
|
]),
|
|
4996
|
-
s(
|
|
5021
|
+
s(Po, {
|
|
4997
5022
|
track: e.track,
|
|
4998
5023
|
"inner-width": e.innerWidth,
|
|
4999
5024
|
"clean-view": e.cleanView,
|
|
@@ -5019,8 +5044,8 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
|
|
|
5019
5044
|
"stroke-dasharray": c.value.borderStyle === "dashed" ? "6 4" : c.value.borderStyle === "dotted" ? "1 3" : void 0,
|
|
5020
5045
|
"stroke-linecap": c.value.borderStyle === "dotted" ? "round" : void 0,
|
|
5021
5046
|
"aria-hidden": "true"
|
|
5022
|
-
}, null, 8,
|
|
5023
|
-
s(
|
|
5047
|
+
}, null, 8, Jo)),
|
|
5048
|
+
s(So, {
|
|
5024
5049
|
track: e.track,
|
|
5025
5050
|
"clip-path-id": e.clipPathId
|
|
5026
5051
|
}, null, 8, ["track", "clip-path-id"]),
|
|
@@ -5042,7 +5067,7 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
|
|
|
5042
5067
|
onPointerleave: n[4] ||= (e) => o("pointer-leave"),
|
|
5043
5068
|
onClick: n[5] ||= (e) => o("click", e),
|
|
5044
5069
|
onContextmenu: n[6] ||= (e) => o("contextmenu", e)
|
|
5045
|
-
}, null, 42,
|
|
5070
|
+
}, null, 42, Yo)) : r("", !0),
|
|
5046
5071
|
!e.track.isEmpty && !e.track.hasVisibleSeries && !e.cleanView ? (v(), i("text", {
|
|
5047
5072
|
key: 2,
|
|
5048
5073
|
class: "waveform-track__no-visible-series",
|
|
@@ -5050,33 +5075,33 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
|
|
|
5050
5075
|
y: e.track.height / 2,
|
|
5051
5076
|
"text-anchor": "middle",
|
|
5052
5077
|
"dominant-baseline": "central"
|
|
5053
|
-
}, " 暂无可见曲线 ", 8,
|
|
5054
|
-
], 10,
|
|
5078
|
+
}, " 暂无可见曲线 ", 8, Xo)) : r("", !0)
|
|
5079
|
+
], 10, qo));
|
|
5055
5080
|
}
|
|
5056
|
-
}),
|
|
5081
|
+
}), Qo = [
|
|
5057
5082
|
"width",
|
|
5058
5083
|
"height",
|
|
5059
5084
|
"data-position",
|
|
5060
5085
|
"data-orientation"
|
|
5061
|
-
],
|
|
5086
|
+
], $o = [
|
|
5062
5087
|
"disabled",
|
|
5063
5088
|
"aria-pressed",
|
|
5064
5089
|
"aria-label",
|
|
5065
5090
|
"onClick"
|
|
5066
|
-
],
|
|
5091
|
+
], es = [
|
|
5067
5092
|
"data-line-type",
|
|
5068
5093
|
"data-line-style",
|
|
5069
5094
|
"data-point-type",
|
|
5070
5095
|
"data-error-bar-visible"
|
|
5071
|
-
],
|
|
5096
|
+
], ts = [
|
|
5072
5097
|
"d",
|
|
5073
5098
|
"stroke",
|
|
5074
5099
|
"stroke-dasharray"
|
|
5075
|
-
],
|
|
5100
|
+
], ns = [
|
|
5076
5101
|
"d",
|
|
5077
5102
|
"stroke",
|
|
5078
5103
|
"stroke-width"
|
|
5079
|
-
],
|
|
5104
|
+
], rs = ["d", "fill"], is = ["title"], as = /*#__PURE__*/ et(/* @__PURE__ */ l({
|
|
5080
5105
|
__name: "WaveformLegend",
|
|
5081
5106
|
props: {
|
|
5082
5107
|
series: {},
|
|
@@ -5134,45 +5159,45 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
|
|
|
5134
5159
|
"data-point-type": e.pointType,
|
|
5135
5160
|
"data-error-bar-visible": e.errorBar.visible || void 0
|
|
5136
5161
|
}, [
|
|
5137
|
-
E(
|
|
5162
|
+
E(fo)(e.lineType) ? (v(), i("path", {
|
|
5138
5163
|
key: 0,
|
|
5139
5164
|
class: "waveform-legend__line",
|
|
5140
|
-
d: E(
|
|
5165
|
+
d: E(fo)(e.lineType) ?? void 0,
|
|
5141
5166
|
stroke: e.color,
|
|
5142
|
-
"stroke-dasharray": E(
|
|
5167
|
+
"stroke-dasharray": E(po)(e.lineStyle),
|
|
5143
5168
|
"stroke-width": "1.5",
|
|
5144
5169
|
fill: "none"
|
|
5145
|
-
}, null, 8,
|
|
5170
|
+
}, null, 8, ts)) : r("", !0),
|
|
5146
5171
|
e.errorBar.visible ? (v(), i("path", {
|
|
5147
5172
|
key: 1,
|
|
5148
5173
|
class: "waveform-legend__error-bar",
|
|
5149
|
-
d: E(
|
|
5174
|
+
d: E(mo)(e.errorBar.capWidth),
|
|
5150
5175
|
stroke: e.errorBar.color || e.color,
|
|
5151
5176
|
"stroke-width": e.errorBar.width,
|
|
5152
5177
|
"stroke-linecap": "butt",
|
|
5153
5178
|
fill: "none"
|
|
5154
|
-
}, null, 8,
|
|
5179
|
+
}, null, 8, ns)) : r("", !0),
|
|
5155
5180
|
e.pointType === "none" ? r("", !0) : (v(), i("path", {
|
|
5156
5181
|
key: 2,
|
|
5157
5182
|
class: "waveform-legend__point",
|
|
5158
|
-
d: E(
|
|
5183
|
+
d: E(lo)(e.pointType, 30) ?? void 0,
|
|
5159
5184
|
fill: e.color,
|
|
5160
5185
|
transform: "translate(13 8)"
|
|
5161
|
-
}, null, 8,
|
|
5162
|
-
], 8,
|
|
5186
|
+
}, null, 8, rs))
|
|
5187
|
+
], 8, es)), a("span", {
|
|
5163
5188
|
class: "waveform-legend__label",
|
|
5164
5189
|
title: e.name
|
|
5165
|
-
}, w(e.name), 9,
|
|
5190
|
+
}, w(e.name), 9, is)], 10, $o))), 128))], 6)], 2)], 8, Qo));
|
|
5166
5191
|
}
|
|
5167
|
-
}), [["__scopeId", "data-v-2ae12e71"]]),
|
|
5192
|
+
}), [["__scopeId", "data-v-2ae12e71"]]), os = {
|
|
5168
5193
|
class: "waveform-chart__hover-layer",
|
|
5169
5194
|
"pointer-events": "none",
|
|
5170
5195
|
"aria-hidden": "true"
|
|
5171
|
-
},
|
|
5196
|
+
}, ss = ["clip-path", "transform"], cs = [
|
|
5172
5197
|
"x1",
|
|
5173
5198
|
"x2",
|
|
5174
5199
|
"y2"
|
|
5175
|
-
],
|
|
5200
|
+
], ls = /*#__PURE__*/ et(/* @__PURE__ */ l({
|
|
5176
5201
|
__name: "WaveformHoverLayer",
|
|
5177
5202
|
props: {
|
|
5178
5203
|
state: {},
|
|
@@ -5188,7 +5213,7 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
|
|
|
5188
5213
|
x: e.xScale(n)
|
|
5189
5214
|
}] : [];
|
|
5190
5215
|
}));
|
|
5191
|
-
return (t, r) => (v(), i("g",
|
|
5216
|
+
return (t, r) => (v(), i("g", os, [(v(!0), i(e, null, x(o.value, (e) => (v(), i("g", {
|
|
5192
5217
|
key: e.track.index,
|
|
5193
5218
|
class: "waveform-track__crosshair waveform-chart__crosshair",
|
|
5194
5219
|
"clip-path": `url(#${n.clipPathId}-${e.track.index})`,
|
|
@@ -5198,9 +5223,9 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
|
|
|
5198
5223
|
x2: e.x,
|
|
5199
5224
|
y1: "0",
|
|
5200
5225
|
y2: e.track.height
|
|
5201
|
-
}, null, 8,
|
|
5226
|
+
}, null, 8, cs)], 8, ss))), 128))]));
|
|
5202
5227
|
}
|
|
5203
|
-
}), [["__scopeId", "data-v-54a5a37d"]]),
|
|
5228
|
+
}), [["__scopeId", "data-v-54a5a37d"]]), us = [
|
|
5204
5229
|
"data-display-mode",
|
|
5205
5230
|
"data-interaction-mode",
|
|
5206
5231
|
"data-presentation-mode",
|
|
@@ -5209,35 +5234,35 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
|
|
|
5209
5234
|
"data-plot-margin-top",
|
|
5210
5235
|
"data-plot-margin-bottom",
|
|
5211
5236
|
"data-title-area-height"
|
|
5212
|
-
],
|
|
5237
|
+
], ds = [
|
|
5213
5238
|
"role",
|
|
5214
5239
|
"aria-level",
|
|
5215
5240
|
"aria-hidden"
|
|
5216
|
-
],
|
|
5241
|
+
], fs = ["data-title-scale", "data-title-wrapped"], ps = [
|
|
5217
5242
|
"width",
|
|
5218
5243
|
"height",
|
|
5219
5244
|
"aria-label"
|
|
5220
|
-
],
|
|
5245
|
+
], ms = ["id"], hs = ["width", "height"], gs = ["transform"], _s = {
|
|
5221
5246
|
key: 0,
|
|
5222
5247
|
class: "waveform-chart__grid-slots",
|
|
5223
5248
|
"aria-hidden": "true"
|
|
5224
|
-
},
|
|
5249
|
+
}, vs = ["transform"], ys = ["width", "height"], bs = ["width", "height"], xs = [
|
|
5225
5250
|
"x",
|
|
5226
5251
|
"y",
|
|
5227
5252
|
"width",
|
|
5228
5253
|
"height"
|
|
5229
|
-
],
|
|
5254
|
+
], Ss = {
|
|
5230
5255
|
key: 4,
|
|
5231
5256
|
class: "waveform-chart__legend-layer"
|
|
5232
|
-
},
|
|
5257
|
+
}, Cs = [
|
|
5233
5258
|
"data-legend-track-index",
|
|
5234
5259
|
"data-legend-track-id",
|
|
5235
5260
|
"transform"
|
|
5236
|
-
],
|
|
5261
|
+
], ws = ["x", "y"], Ts = ["x", "y"], Es = /* @__PURE__ */ l({
|
|
5237
5262
|
__name: "WaveformChartView",
|
|
5238
5263
|
props: { controller: {} },
|
|
5239
5264
|
setup(t) {
|
|
5240
|
-
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: ee, innerHeight: te, handleSharedPointerMove: ne, beginSharedViewportDrag: re, finishViewportDrag: ie, cancelViewportDrag: G, handlePointerLeave: K, handleAnnotationClick: q, handleAnnotationContextMenu: ae, resolveFrameNumber: oe, frameStyle: ce, axes: le, resolvedZeroLine: ue, timeUnit: de, yLabel: J, handleIndependentPointerMove: fe, beginViewportDrag: Y, 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,
|
|
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: ee, innerHeight: te, handleSharedPointerMove: ne, beginSharedViewportDrag: re, finishViewportDrag: ie, cancelViewportDrag: G, handlePointerLeave: K, handleAnnotationClick: q, handleAnnotationContextMenu: ae, resolveFrameNumber: oe, frameStyle: ce, axes: le, resolvedZeroLine: ue, timeUnit: de, yLabel: J, handleIndependentPointerMove: fe, beginViewportDrag: Y, 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);
|
|
5241
5266
|
function $e() {
|
|
5242
5267
|
b.value = !1, K.value();
|
|
5243
5268
|
}
|
|
@@ -5286,7 +5311,7 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
|
|
|
5286
5311
|
style: m(E(M)),
|
|
5287
5312
|
"data-title-scale": E(N).scale,
|
|
5288
5313
|
"data-title-wrapped": E(N).wrapped || void 0
|
|
5289
|
-
}, w(E(A)), 13,
|
|
5314
|
+
}, w(E(A)), 13, fs)], 4)) : r("", !0)], 12, ds)) : r("", !0),
|
|
5290
5315
|
(v(), i("svg", {
|
|
5291
5316
|
ref: E(Xe),
|
|
5292
5317
|
class: "waveform-chart__svg",
|
|
@@ -5303,9 +5328,9 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
|
|
|
5303
5328
|
}, [a("rect", {
|
|
5304
5329
|
width: e.width,
|
|
5305
5330
|
height: e.height
|
|
5306
|
-
}, null, 8,
|
|
5331
|
+
}, null, 8, hs)], 8, ms))), 128))]),
|
|
5307
5332
|
a("g", { transform: `translate(${E(g)}, ${E(B)})` }, [
|
|
5308
|
-
E(o) !== "compact" && !E(l) ? (v(), i("g",
|
|
5333
|
+
E(o) !== "compact" && !E(l) ? (v(), i("g", _s, [(v(!0), i(e, null, x(E(V), (e) => (v(), i("g", {
|
|
5309
5334
|
key: `grid-slot-${e.slotIndex}`,
|
|
5310
5335
|
transform: `translate(${e.left}, ${e.top})`
|
|
5311
5336
|
}, [e.series ? r("", !0) : (v(), i("rect", {
|
|
@@ -5313,7 +5338,7 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
|
|
|
5313
5338
|
class: "waveform-chart__grid-slot-placeholder",
|
|
5314
5339
|
width: e.width,
|
|
5315
5340
|
height: e.cellHeight
|
|
5316
|
-
}, null, 8,
|
|
5341
|
+
}, null, 8, ys))], 8, vs))), 128))])) : r("", !0),
|
|
5317
5342
|
E(o) !== "independent" && E(R).length && E(H) ? (v(), i("rect", {
|
|
5318
5343
|
key: 1,
|
|
5319
5344
|
ref: E(Qe),
|
|
@@ -5330,8 +5355,8 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
|
|
|
5330
5355
|
onPointerleave: T[4] ||= (...e) => E(K) && E(K)(...e),
|
|
5331
5356
|
onClick: T[5] ||= (...e) => E(q) && E(q)(...e),
|
|
5332
5357
|
onContextmenu: T[6] ||= (...e) => E(ae) && E(ae)(...e)
|
|
5333
|
-
}, null, 42,
|
|
5334
|
-
(v(!0), i(e, null, x(E(R), (e) => (v(), n(E(
|
|
5358
|
+
}, null, 42, bs)) : r("", !0),
|
|
5359
|
+
(v(!0), i(e, null, x(E(R), (e) => (v(), n(E(Zo), {
|
|
5335
5360
|
key: `${e.index}-${e.id}`,
|
|
5336
5361
|
track: e,
|
|
5337
5362
|
"clip-path-id": E(z),
|
|
@@ -5340,7 +5365,7 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
|
|
|
5340
5365
|
interactive: !E(u),
|
|
5341
5366
|
"display-mode": E(o),
|
|
5342
5367
|
"interaction-mode": E(c),
|
|
5343
|
-
"frame-number": E(oe)(e.
|
|
5368
|
+
"frame-number": E(oe)(e.id),
|
|
5344
5369
|
"frame-style": E(ce),
|
|
5345
5370
|
axes: E(le),
|
|
5346
5371
|
"clean-view": E(l),
|
|
@@ -5377,7 +5402,7 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
|
|
|
5377
5402
|
"onClick",
|
|
5378
5403
|
"onContextmenu"
|
|
5379
5404
|
]))), 128)),
|
|
5380
|
-
s(E(
|
|
5405
|
+
s(E(ls), {
|
|
5381
5406
|
state: E(pe),
|
|
5382
5407
|
tracks: E(R),
|
|
5383
5408
|
"clip-path-id": E(z),
|
|
@@ -5396,7 +5421,7 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
|
|
|
5396
5421
|
width: E(he).width,
|
|
5397
5422
|
height: E(he).height,
|
|
5398
5423
|
"aria-hidden": "true"
|
|
5399
|
-
}, null, 8,
|
|
5424
|
+
}, null, 8, xs)) : r("", !0),
|
|
5400
5425
|
E(l) ? r("", !0) : (v(), n(E(tt), {
|
|
5401
5426
|
key: 3,
|
|
5402
5427
|
annotations: E(ge),
|
|
@@ -5415,13 +5440,13 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
|
|
|
5415
5440
|
"onMove",
|
|
5416
5441
|
"onDragEnd"
|
|
5417
5442
|
])),
|
|
5418
|
-
E(l) ? r("", !0) : (v(), i("g",
|
|
5443
|
+
E(l) ? r("", !0) : (v(), i("g", Ss, [(v(!0), i(e, null, x(E(R), (e) => (v(), i("g", {
|
|
5419
5444
|
key: `legend-${e.index}-${e.id}`,
|
|
5420
5445
|
class: "waveform-chart__legend-track",
|
|
5421
5446
|
"data-legend-track-index": e.index,
|
|
5422
5447
|
"data-legend-track-id": e.id,
|
|
5423
5448
|
transform: `translate(${e.left}, ${e.top})`
|
|
5424
|
-
}, [!e.isEmpty && e.legendSeries.length > 1 ? (v(), n(E(
|
|
5449
|
+
}, [!e.isEmpty && e.legendSeries.length > 1 ? (v(), n(E(as), {
|
|
5425
5450
|
key: 0,
|
|
5426
5451
|
series: e.legendSeries,
|
|
5427
5452
|
position: E(X)(e.id),
|
|
@@ -5442,23 +5467,23 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
|
|
|
5442
5467
|
"width",
|
|
5443
5468
|
"height",
|
|
5444
5469
|
"onToggle"
|
|
5445
|
-
])) : r("", !0)], 8,
|
|
5446
|
-
], 8,
|
|
5470
|
+
])) : r("", !0)], 8, Cs))), 128))]))
|
|
5471
|
+
], 8, gs),
|
|
5447
5472
|
E(De) && !E(l) ? (v(), i("text", {
|
|
5448
5473
|
key: 0,
|
|
5449
5474
|
class: "waveform-chart__label waveform-chart__x-label",
|
|
5450
5475
|
x: E(g) + E(ee) / 2,
|
|
5451
5476
|
y: E(Oe),
|
|
5452
5477
|
"text-anchor": "middle"
|
|
5453
|
-
}, w(E(De)), 9,
|
|
5478
|
+
}, w(E(De)), 9, ws)) : r("", !0),
|
|
5454
5479
|
E(ke) && !E(I) ? (v(), i("text", {
|
|
5455
5480
|
key: 1,
|
|
5456
5481
|
class: "waveform-chart__empty",
|
|
5457
5482
|
x: E(P) / 2,
|
|
5458
5483
|
y: E(F) / 2,
|
|
5459
5484
|
"text-anchor": "middle"
|
|
5460
|
-
}, " 暂无有效波形数据 ", 8,
|
|
5461
|
-
], 40,
|
|
5485
|
+
}, " 暂无有效波形数据 ", 8, Ts)) : r("", !0)
|
|
5486
|
+
], 40, ps)),
|
|
5462
5487
|
E(Ae).showPagination && E(je) > 1 && !E(l) ? (v(), n(E(se), {
|
|
5463
5488
|
key: 1,
|
|
5464
5489
|
class: "waveform-chart__pagination",
|
|
@@ -5475,7 +5500,7 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
|
|
|
5475
5500
|
"total",
|
|
5476
5501
|
"onChange"
|
|
5477
5502
|
])) : r("", !0),
|
|
5478
|
-
E(Le) && !E(l) && !E(u) ? (v(), n(
|
|
5503
|
+
E(Le) && !E(l) && !E(u) ? (v(), n(Wa, {
|
|
5479
5504
|
key: 2,
|
|
5480
5505
|
annotation: E(Le).annotation,
|
|
5481
5506
|
mode: E(Le).mode,
|
|
@@ -5517,7 +5542,7 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
|
|
|
5517
5542
|
"onDelete",
|
|
5518
5543
|
"onClose"
|
|
5519
5544
|
])) : r("", !0),
|
|
5520
|
-
s(E(
|
|
5545
|
+
s(E(no), {
|
|
5521
5546
|
state: E(pe),
|
|
5522
5547
|
visible: E(me) && !E(u),
|
|
5523
5548
|
"time-unit": E(de),
|
|
@@ -5530,9 +5555,9 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
|
|
|
5530
5555
|
"container-width",
|
|
5531
5556
|
"container-height"
|
|
5532
5557
|
])
|
|
5533
|
-
], 46,
|
|
5558
|
+
], 46, us));
|
|
5534
5559
|
}
|
|
5535
|
-
}),
|
|
5560
|
+
}), Ds = /* @__PURE__ */ l({
|
|
5536
5561
|
__name: "WaveformChart",
|
|
5537
5562
|
props: {
|
|
5538
5563
|
data: {},
|
|
@@ -5565,6 +5590,7 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
|
|
|
5565
5590
|
yDomains: {},
|
|
5566
5591
|
timeUnit: { default: "ms" },
|
|
5567
5592
|
frameNumber: { default: void 0 },
|
|
5593
|
+
frameNumbers: {},
|
|
5568
5594
|
frameStyle: {},
|
|
5569
5595
|
axes: {},
|
|
5570
5596
|
annotations: { default: () => [] },
|
|
@@ -5614,12 +5640,12 @@ var mo = ["clip-path"], ho = ["data-series-id", "data-series-name"], go = [
|
|
|
5614
5640
|
"sampling-error"
|
|
5615
5641
|
],
|
|
5616
5642
|
setup(e, { expose: t, emit: r }) {
|
|
5617
|
-
let i =
|
|
5643
|
+
let i = Ta(e, r);
|
|
5618
5644
|
return t({
|
|
5619
5645
|
resetViewport: i.resetViewport,
|
|
5620
5646
|
setViewportDomain: i.setViewportDomain
|
|
5621
|
-
}), (e, t) => (v(), n(
|
|
5647
|
+
}), (e, t) => (v(), n(Es, { controller: E(i) }, null, 8, ["controller"]));
|
|
5622
5648
|
}
|
|
5623
5649
|
});
|
|
5624
5650
|
//#endregion
|
|
5625
|
-
export { Q as DEFAULT_WAVEFORM_RENDERING_OPTIONS,
|
|
5651
|
+
export { Q as DEFAULT_WAVEFORM_RENDERING_OPTIONS, Ds as WaveformChart, gt as buildMinorTicks, fi as calculateWasmRange, It as clamp, kt as displayTime, pi as findWasmVisibleRange, Mt as formatAxisTime, jt as formatEndpointTime, Nt as formatTooltipTime, ui as initializeWasmSampling, sn as normalizeWaveformData, un as normalizeWaveformSeries, ht as paddedDomain, pt as parseWaveformAnnotations, Ft as resolveTrackGeometry, Tn as resolveWaveformRenderingOptions, di as sampleWaveformWasm, Nn as selectRenderablePoints, ft as serializeWaveformAnnotations };
|