waveform-analysis 0.1.59 → 0.1.60
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/dist/index.cjs +1 -1
- package/dist/index.js +600 -584
- package/dist/types/components/core/layout.d.ts +9 -2
- package/dist/types/components/core/yAxisLayoutMetrics.d.ts +10 -0
- package/package.json +1 -1
- package/src/components/core/layout.test.ts +24 -0
- package/src/components/core/layout.ts +75 -13
- package/src/components/core/trackLayoutBuilder.ts +7 -13
- package/src/components/core/useWaveformLayout.ts +30 -58
- package/src/components/core/yAxisLayoutMetrics.ts +75 -0
- package/src/components/core/yAxisSlotLayout.test.ts +37 -1
- package/src/components/rendering/WaveformTrackAxes.vue +8 -4
- package/src/components/waveformChartCases/layoutAndDomains.test.ts +23 -24
- package/src/components/waveformChartCases/yAxisLayout.test.ts +103 -0
package/dist/index.js
CHANGED
|
@@ -1529,40 +1529,35 @@ function Xn(e) {
|
|
|
1529
1529
|
visibleSeries: [],
|
|
1530
1530
|
xDomain: [0, 1],
|
|
1531
1531
|
yDomain: [0, 1]
|
|
1532
|
-
}, o = !i && a.visibleSeries.length > 0, s = a.visibleSeries[0] ?? a.series[0] ?? null, c = e.displayMode === "independent" ? U(Yn(a, s?.id ?? a.id, e), [0, t.width]) : U(e.sharedZoomDomain, [0, t.width]), l = (e.displayMode === "independent" ? e.independentTransforms[r] ?? q : q).rescaleX(c), u =
|
|
1533
|
-
...e,
|
|
1534
|
-
domain: u
|
|
1535
|
-
} : e), f = {
|
|
1532
|
+
}, o = !i && a.visibleSeries.length > 0, s = a.visibleSeries[0] ?? a.series[0] ?? null, c = e.displayMode === "independent" ? U(Yn(a, s?.id ?? a.id, e), [0, t.width]) : U(e.sharedZoomDomain, [0, t.width]), l = (e.displayMode === "independent" ? e.independentTransforms[r] ?? q : q).rescaleX(c), u = lr(a, e.overlayMode, e.fixedYDomain, e.fixedYDomains, e.yDomains), d = {
|
|
1536
1533
|
left: 0,
|
|
1537
1534
|
right: 0
|
|
1538
|
-
},
|
|
1535
|
+
}, f = {
|
|
1539
1536
|
left: 0,
|
|
1540
1537
|
right: 0
|
|
1541
|
-
},
|
|
1542
|
-
let r =
|
|
1543
|
-
|
|
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), {
|
|
1538
|
+
}, p = u.map((n) => {
|
|
1539
|
+
let r = d[n.side]++, i = nr(t.plotHeight, e.yAxisSplitNumber), a = rr(n.domain, i, e.yAxisNice !== !1), o = U(a.domain, [t.plotHeight, 0]), s = a.values, c = e.displayMode !== "compact" || t.row === 0 ? s : s.slice(0, -1), { tickTextWidth: l } = ur(o.domain(), !1, c, n.seriesList[0]?.unit, i), u = l + 7 + 0 + 12 + 4, p = e.yAxisSlots?.find((e) => e.side === n.side && e.sideIndex === r), m = p ? (n.side === "left" ? 0 : t.width) + p.axisOffset : n.side === "left" ? -f.left : t.width + f.right, h = l + 7 + 0 + 12 / 2, g = (p ? (n.side === "left" ? 0 : t.width) + p.labelOffset : m + (n.side === "left" ? -h : h)) - (n.side === "right" ? 10 : 0);
|
|
1540
|
+
return p || (f[n.side] += u), {
|
|
1546
1541
|
index: n.index,
|
|
1547
1542
|
side: n.side,
|
|
1548
|
-
x:
|
|
1549
|
-
labelX:
|
|
1543
|
+
x: m,
|
|
1544
|
+
labelX: g,
|
|
1550
1545
|
scale: o,
|
|
1551
|
-
majorTicks:
|
|
1552
|
-
minorTicks: gt(
|
|
1553
|
-
tickValues:
|
|
1546
|
+
majorTicks: s,
|
|
1547
|
+
minorTicks: gt(s, 2),
|
|
1548
|
+
tickValues: c,
|
|
1554
1549
|
seriesList: n.seriesList
|
|
1555
1550
|
};
|
|
1556
|
-
}),
|
|
1557
|
-
e.yAxisNice !== !1 &&
|
|
1558
|
-
let
|
|
1559
|
-
start: At(
|
|
1560
|
-
end: At(
|
|
1561
|
-
},
|
|
1551
|
+
}), m = U(a.yDomain, [t.plotHeight, 0]);
|
|
1552
|
+
e.yAxisNice !== !1 && m.nice();
|
|
1553
|
+
let h = p[0]?.scale ?? m, g = l.ticks(Math.max(2, Math.floor(t.width / 100))), _ = p[0]?.majorTicks ?? [], v = p[0]?.tickValues ?? [], y = l.domain(), b = {
|
|
1554
|
+
start: At(y[0], y, e.timeUnit, "start", e.xAxisLabelFormatter),
|
|
1555
|
+
end: At(y[1], y, e.timeUnit, "end", e.xAxisLabelFormatter)
|
|
1556
|
+
}, x = b.start.length * 7 + 10, S = b.end.length * 7 + 10, C = g.filter((e) => {
|
|
1562
1557
|
let n = l(e);
|
|
1563
|
-
return n >
|
|
1564
|
-
}),
|
|
1565
|
-
let r =
|
|
1558
|
+
return n > x && n < t.width - S;
|
|
1559
|
+
}), w = a.visibleSeries.map((n) => {
|
|
1560
|
+
let r = p.find((e) => e.seriesList.some((e) => e.id === n.id)), a = r?.scale ?? h, o = In(n.points, y, t.width, e.rendering, {
|
|
1566
1561
|
lineVisible: !i && n.lineType !== "none",
|
|
1567
1562
|
linePointOverride: e.linePointOverrides?.[n.id],
|
|
1568
1563
|
pointVisible: n.pointType !== "none",
|
|
@@ -1594,17 +1589,17 @@ function Xn(e) {
|
|
|
1594
1589
|
width: t.width,
|
|
1595
1590
|
height: t.plotHeight,
|
|
1596
1591
|
xScale: l,
|
|
1597
|
-
yScale:
|
|
1598
|
-
yAxes:
|
|
1599
|
-
xMajorTicks:
|
|
1600
|
-
xMinorTicks: gt(
|
|
1601
|
-
yMajorTicks:
|
|
1602
|
-
yMinorTicks:
|
|
1603
|
-
yAxisTickValues:
|
|
1604
|
-
xAxisTickValues:
|
|
1605
|
-
endpointLabels:
|
|
1606
|
-
path:
|
|
1607
|
-
seriesPaths:
|
|
1592
|
+
yScale: h,
|
|
1593
|
+
yAxes: p,
|
|
1594
|
+
xMajorTicks: g,
|
|
1595
|
+
xMinorTicks: gt(g, 3, y),
|
|
1596
|
+
yMajorTicks: _,
|
|
1597
|
+
yMinorTicks: p[0]?.minorTicks ?? [],
|
|
1598
|
+
yAxisTickValues: v,
|
|
1599
|
+
xAxisTickValues: C,
|
|
1600
|
+
endpointLabels: b,
|
|
1601
|
+
path: w[0]?.path ?? null,
|
|
1602
|
+
seriesPaths: w,
|
|
1608
1603
|
gridLines: e.grid.trackLines[a.id] ?? {
|
|
1609
1604
|
horizontal: !0,
|
|
1610
1605
|
vertical: !0
|
|
@@ -1619,7 +1614,24 @@ var Zn = 7, Qn = 7, $n = 4, er = 0, tr = 12;
|
|
|
1619
1614
|
function nr(e, t) {
|
|
1620
1615
|
return typeof t == "number" && Number.isFinite(t) ? Math.max(2, Math.floor(t)) : 5;
|
|
1621
1616
|
}
|
|
1622
|
-
function rr(e) {
|
|
1617
|
+
function rr(e, t = 5, n = !0) {
|
|
1618
|
+
let r = typeof t == "number" && Number.isFinite(t) ? Math.max(2, Math.floor(t)) : 5, i = U(e, [1, 0]);
|
|
1619
|
+
n && i.nice(Math.max(1, r - 1));
|
|
1620
|
+
let a = i.domain(), [o, s] = a;
|
|
1621
|
+
return {
|
|
1622
|
+
domain: a,
|
|
1623
|
+
values: Array.from({ length: r }, (e, t) => o + (s - o) * t / (r - 1))
|
|
1624
|
+
};
|
|
1625
|
+
}
|
|
1626
|
+
function ir(e, t, n, r) {
|
|
1627
|
+
return Et(e, {
|
|
1628
|
+
axisMin: t[0],
|
|
1629
|
+
axisMax: t[1],
|
|
1630
|
+
topTickValue: Math.max(...n),
|
|
1631
|
+
unit: r
|
|
1632
|
+
});
|
|
1633
|
+
}
|
|
1634
|
+
function ar(e) {
|
|
1623
1635
|
return e >= 4 ? [
|
|
1624
1636
|
"left",
|
|
1625
1637
|
"left",
|
|
@@ -1631,13 +1643,13 @@ function rr(e) {
|
|
|
1631
1643
|
"right"
|
|
1632
1644
|
] : e === 2 ? ["left", "right"] : ["left"];
|
|
1633
1645
|
}
|
|
1634
|
-
var
|
|
1635
|
-
function
|
|
1636
|
-
let n =
|
|
1637
|
-
n || (n = /* @__PURE__ */ new Map(),
|
|
1646
|
+
var or = /* @__PURE__ */ new WeakMap();
|
|
1647
|
+
function sr(e, t) {
|
|
1648
|
+
let n = or.get(e);
|
|
1649
|
+
n || (n = /* @__PURE__ */ new Map(), or.set(e, n));
|
|
1638
1650
|
let r = n.get(t);
|
|
1639
1651
|
if (r) return r;
|
|
1640
|
-
let i = t === "multi-axis" ? Math.min(e.visibleSeries.length, 4) : Math.min(e.visibleSeries.length, 1), a =
|
|
1652
|
+
let i = t === "multi-axis" ? Math.min(e.visibleSeries.length, 4) : Math.min(e.visibleSeries.length, 1), a = ar(i), o = Array.from({ length: i }, (e, t) => ({
|
|
1641
1653
|
index: t,
|
|
1642
1654
|
side: a[t],
|
|
1643
1655
|
seriesList: [],
|
|
@@ -1654,9 +1666,9 @@ function ar(e, t) {
|
|
|
1654
1666
|
}
|
|
1655
1667
|
}), n.set(t, o), o;
|
|
1656
1668
|
}
|
|
1657
|
-
function
|
|
1669
|
+
function cr(e, t, n, r) {
|
|
1658
1670
|
let i = Gt(e, r);
|
|
1659
|
-
return
|
|
1671
|
+
return sr(e, t).map((e) => {
|
|
1660
1672
|
if (i) return {
|
|
1661
1673
|
...e,
|
|
1662
1674
|
domain: i,
|
|
@@ -1670,50 +1682,53 @@ function or(e, t, n, r) {
|
|
|
1670
1682
|
} : e;
|
|
1671
1683
|
});
|
|
1672
1684
|
}
|
|
1673
|
-
function
|
|
1674
|
-
let a =
|
|
1675
|
-
t
|
|
1676
|
-
|
|
1677
|
-
|
|
1678
|
-
|
|
1679
|
-
|
|
1680
|
-
|
|
1681
|
-
|
|
1682
|
-
|
|
1683
|
-
|
|
1684
|
-
|
|
1685
|
-
|
|
1685
|
+
function lr(e, t, n, r, i) {
|
|
1686
|
+
let a = i?.[e.id];
|
|
1687
|
+
return cr(e, t, n, r).map((e) => !e.fixed && a ? {
|
|
1688
|
+
...e,
|
|
1689
|
+
domain: a
|
|
1690
|
+
} : e);
|
|
1691
|
+
}
|
|
1692
|
+
function ur(e, t = !0, n, r, i = 5, a = !1) {
|
|
1693
|
+
let o = n ? {
|
|
1694
|
+
domain: e,
|
|
1695
|
+
values: n
|
|
1696
|
+
} : rr(e, i, t), s = [o.values];
|
|
1697
|
+
return a && o.values.length > 1 && s.push(o.values.slice(0, -1)), { tickTextWidth: Math.max(1, ...s.flatMap((e) => e.map((t) => ir(t, o.domain, e, r).length))) * Zn };
|
|
1698
|
+
}
|
|
1699
|
+
function dr(e, t, n, r, i, a = !0, o = !1, s) {
|
|
1700
|
+
let c = /* @__PURE__ */ new Map();
|
|
1686
1701
|
e.forEach((e) => {
|
|
1687
|
-
let
|
|
1702
|
+
let l = {
|
|
1688
1703
|
left: 0,
|
|
1689
1704
|
right: 0
|
|
1690
1705
|
};
|
|
1691
|
-
|
|
1692
|
-
let t =
|
|
1693
|
-
|
|
1706
|
+
lr(e, t, n, r, s).forEach((e) => {
|
|
1707
|
+
let t = l[e.side]++, n = `${e.side}:${t}`, r = ur(e.domain, a, void 0, e.seriesList[0]?.unit, i, o).tickTextWidth;
|
|
1708
|
+
c.set(n, Math.max(c.get(n) ?? Zn, r));
|
|
1694
1709
|
});
|
|
1695
1710
|
});
|
|
1696
|
-
let
|
|
1711
|
+
let l = [], u = {
|
|
1697
1712
|
left: 0,
|
|
1698
1713
|
right: 0
|
|
1699
1714
|
};
|
|
1700
1715
|
return ["left", "right"].forEach((e) => {
|
|
1701
|
-
Array.from(
|
|
1702
|
-
let n =
|
|
1703
|
-
|
|
1716
|
+
Array.from(c.keys()).filter((t) => t.startsWith(`${e}:`)).map((t) => Number(t.slice(e.length + 1))).sort((e, t) => e - t).forEach((t) => {
|
|
1717
|
+
let n = c.get(`${e}:${t}`) ?? Zn, r = e === "left" && u.left > 0 ? -u.left : u[e], i = r + (n + Qn + er + tr / 2) * (e === "left" ? -1 : 1), a = n + Qn + er + tr + $n;
|
|
1718
|
+
l.push({
|
|
1704
1719
|
side: e,
|
|
1705
1720
|
sideIndex: t,
|
|
1706
1721
|
axisOffset: r,
|
|
1707
1722
|
labelOffset: i,
|
|
1708
1723
|
clearance: a
|
|
1709
|
-
}),
|
|
1724
|
+
}), u[e] += a;
|
|
1710
1725
|
});
|
|
1711
1726
|
}), {
|
|
1712
|
-
slots:
|
|
1713
|
-
clearance:
|
|
1727
|
+
slots: l,
|
|
1728
|
+
clearance: u
|
|
1714
1729
|
};
|
|
1715
1730
|
}
|
|
1716
|
-
function
|
|
1731
|
+
function fr(e, t, n) {
|
|
1717
1732
|
let r = (e) => {
|
|
1718
1733
|
let r = t < e.left ? e.left - t : t > e.left + e.width ? t - e.left - e.width : 0;
|
|
1719
1734
|
return n < e.top ? e.top - n : n > e.top + e.height ? n - (e.top + e.height) : r;
|
|
@@ -1732,11 +1747,11 @@ function lr(e, t, n) {
|
|
|
1732
1747
|
}
|
|
1733
1748
|
//#endregion
|
|
1734
1749
|
//#region src/components/annotation/useWaveformChartAnnotations.ts
|
|
1735
|
-
var
|
|
1736
|
-
function
|
|
1737
|
-
return
|
|
1750
|
+
var pr = 0;
|
|
1751
|
+
function mr() {
|
|
1752
|
+
return pr += 1, typeof crypto < "u" && typeof crypto.randomUUID == "function" ? crypto.randomUUID() : `annotation-${Date.now()}-${pr}`;
|
|
1738
1753
|
}
|
|
1739
|
-
function
|
|
1754
|
+
function hr(e) {
|
|
1740
1755
|
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("");
|
|
1741
1756
|
function S(e) {
|
|
1742
1757
|
if (!i.value.some((t) => t.id === e)) return;
|
|
@@ -1769,7 +1784,7 @@ function fr(e) {
|
|
|
1769
1784
|
};
|
|
1770
1785
|
}
|
|
1771
1786
|
function T(e, t, n) {
|
|
1772
|
-
x.value = "", s.openCreate(e,
|
|
1787
|
+
x.value = "", s.openCreate(e, mr, t), c.value = n;
|
|
1773
1788
|
let r = s.editorDraft.value, i = l.value.find((t) => t.index === e.trackIndex)?.seriesList.find((t) => t.id === e.seriesId);
|
|
1774
1789
|
r?.mode === "add" && (r.annotation.style = {
|
|
1775
1790
|
borderColor: i?.color || "#1677ff",
|
|
@@ -1829,7 +1844,7 @@ function fr(e) {
|
|
|
1829
1844
|
let e = l.value[n];
|
|
1830
1845
|
return e?.hasVisibleSeries ? e : void 0;
|
|
1831
1846
|
}
|
|
1832
|
-
return
|
|
1847
|
+
return fr(l.value.filter((e) => e.hasVisibleSeries), e, t);
|
|
1833
1848
|
}
|
|
1834
1849
|
function A(e, t) {
|
|
1835
1850
|
let n = e.currentTarget;
|
|
@@ -1920,7 +1935,7 @@ function fr(e) {
|
|
|
1920
1935
|
}
|
|
1921
1936
|
//#endregion
|
|
1922
1937
|
//#region src/components/interaction/useWaveformHover.ts
|
|
1923
|
-
function
|
|
1938
|
+
function gr(e) {
|
|
1924
1939
|
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) => {
|
|
1925
1940
|
let r = n.points[t];
|
|
1926
1941
|
return r?.id === e.id && r.trackIndex === e.trackIndex && r.point === e.point;
|
|
@@ -2005,14 +2020,14 @@ function pr(e) {
|
|
|
2005
2020
|
}
|
|
2006
2021
|
//#endregion
|
|
2007
2022
|
//#region src/components/interaction/pointerCapture.ts
|
|
2008
|
-
function
|
|
2023
|
+
function _r(e, t) {
|
|
2009
2024
|
try {
|
|
2010
2025
|
e?.releasePointerCapture?.(t);
|
|
2011
2026
|
} catch {}
|
|
2012
2027
|
}
|
|
2013
2028
|
//#endregion
|
|
2014
2029
|
//#region src/components/interaction/viewportInteractionState.ts
|
|
2015
|
-
function
|
|
2030
|
+
function vr(e) {
|
|
2016
2031
|
return {
|
|
2017
2032
|
...e,
|
|
2018
2033
|
currentX: e.startX,
|
|
@@ -2021,37 +2036,37 @@ function hr(e) {
|
|
|
2021
2036
|
yDomains: Object.fromEntries(Object.entries(e.yDomains).map(([e, t]) => [e, [...t]]))
|
|
2022
2037
|
};
|
|
2023
2038
|
}
|
|
2024
|
-
function
|
|
2039
|
+
function yr(e, t) {
|
|
2025
2040
|
return {
|
|
2026
2041
|
...e,
|
|
2027
2042
|
...t
|
|
2028
2043
|
};
|
|
2029
2044
|
}
|
|
2030
|
-
function
|
|
2045
|
+
function br(e) {
|
|
2031
2046
|
return {
|
|
2032
2047
|
state: e,
|
|
2033
2048
|
accepted: !1,
|
|
2034
2049
|
completed: null
|
|
2035
2050
|
};
|
|
2036
2051
|
}
|
|
2037
|
-
function
|
|
2052
|
+
function xr(e, t) {
|
|
2038
2053
|
switch (t.type) {
|
|
2039
|
-
case "begin": return e ?
|
|
2040
|
-
state:
|
|
2054
|
+
case "begin": return e ? br(e) : {
|
|
2055
|
+
state: vr(t.gesture),
|
|
2041
2056
|
accepted: !0,
|
|
2042
2057
|
completed: null
|
|
2043
2058
|
};
|
|
2044
|
-
case "move": return !e || e.pointerId !== t.pointerId ?
|
|
2045
|
-
state:
|
|
2059
|
+
case "move": return !e || e.pointerId !== t.pointerId ? br(e) : {
|
|
2060
|
+
state: yr(e, t.position),
|
|
2046
2061
|
accepted: !0,
|
|
2047
2062
|
completed: null
|
|
2048
2063
|
};
|
|
2049
|
-
case "finish": return !e || e.pointerId !== t.pointerId ?
|
|
2064
|
+
case "finish": return !e || e.pointerId !== t.pointerId ? br(e) : {
|
|
2050
2065
|
state: null,
|
|
2051
2066
|
accepted: !0,
|
|
2052
|
-
completed:
|
|
2067
|
+
completed: yr(e, t.position)
|
|
2053
2068
|
};
|
|
2054
|
-
case "cancel": return !e || t.pointerId !== void 0 && e.pointerId !== t.pointerId ?
|
|
2069
|
+
case "cancel": return !e || t.pointerId !== void 0 && e.pointerId !== t.pointerId ? br(e) : {
|
|
2055
2070
|
state: null,
|
|
2056
2071
|
accepted: !0,
|
|
2057
2072
|
completed: null
|
|
@@ -2065,15 +2080,15 @@ function vr(e, t) {
|
|
|
2065
2080
|
}
|
|
2066
2081
|
//#endregion
|
|
2067
2082
|
//#region src/components/interaction/zoomConstraints.ts
|
|
2068
|
-
var
|
|
2069
|
-
function
|
|
2083
|
+
var Sr = /* @__PURE__ */ new WeakMap();
|
|
2084
|
+
function Cr(e) {
|
|
2070
2085
|
return e[0] <= e[1] ? [...e] : [e[1], e[0]];
|
|
2071
2086
|
}
|
|
2072
|
-
function
|
|
2087
|
+
function wr(e) {
|
|
2073
2088
|
return Number.isFinite(e) && (e ?? 0) > 0 ? Math.ceil(e) : 0;
|
|
2074
2089
|
}
|
|
2075
|
-
function
|
|
2076
|
-
let n = `${t[0]}\u0000${t[1]}`, r =
|
|
2090
|
+
function Tr(e, t) {
|
|
2091
|
+
let n = `${t[0]}\u0000${t[1]}`, r = Sr.get(e)?.get(n);
|
|
2077
2092
|
if (r) return r;
|
|
2078
2093
|
let i = /* @__PURE__ */ new Set();
|
|
2079
2094
|
for (let n of e) {
|
|
@@ -2083,14 +2098,14 @@ function Sr(e, t) {
|
|
|
2083
2098
|
r.x >= t[0] && r.x <= t[1] && i.add(r.x);
|
|
2084
2099
|
}
|
|
2085
2100
|
}
|
|
2086
|
-
let a = Array.from(i).sort((e, t) => e - t), o =
|
|
2087
|
-
return o.set(n, a),
|
|
2101
|
+
let a = Array.from(i).sort((e, t) => e - t), o = Sr.get(e) ?? /* @__PURE__ */ new Map();
|
|
2102
|
+
return o.set(n, a), Sr.set(e, o), a;
|
|
2088
2103
|
}
|
|
2089
|
-
function
|
|
2104
|
+
function Er(e, t, n) {
|
|
2090
2105
|
if (n <= 1) return 0;
|
|
2091
2106
|
let r = 0;
|
|
2092
2107
|
for (let i of e) {
|
|
2093
|
-
let e =
|
|
2108
|
+
let e = Tr(i, t);
|
|
2094
2109
|
if (e.length < n) return t[1] - t[0];
|
|
2095
2110
|
let a = Infinity;
|
|
2096
2111
|
for (let t = 0; t + n <= e.length; t += 1) a = Math.min(a, e[t + n - 1] - e[t]);
|
|
@@ -2099,17 +2114,17 @@ function Cr(e, t, n) {
|
|
|
2099
2114
|
}
|
|
2100
2115
|
return r;
|
|
2101
2116
|
}
|
|
2102
|
-
function
|
|
2103
|
-
let r =
|
|
2117
|
+
function Dr(e, t, n) {
|
|
2118
|
+
let r = Cr(e), i = r[1] - r[0];
|
|
2104
2119
|
if (!Number.isFinite(i) || i <= 0) return 0;
|
|
2105
|
-
let a = Number.isFinite(n.minZoomSpan) && (n.minZoomSpan ?? 0) > 0 ? Math.min(i, n.minZoomSpan) : 0, o =
|
|
2120
|
+
let a = Number.isFinite(n.minZoomSpan) && (n.minZoomSpan ?? 0) > 0 ? Math.min(i, n.minZoomSpan) : 0, o = wr(n.minVisiblePoints), s = Er(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;
|
|
2106
2121
|
return Math.max(a, s, l);
|
|
2107
2122
|
}
|
|
2108
|
-
function
|
|
2123
|
+
function Or(e, t, n, r) {
|
|
2109
2124
|
if (r <= 0) return e;
|
|
2110
2125
|
let i = 2 ** -52 * Math.max(1, Math.abs(t[0]), Math.abs(t[1])) * 16, a = e;
|
|
2111
2126
|
for (let e of n) {
|
|
2112
|
-
let n =
|
|
2127
|
+
let n = Tr(e, t);
|
|
2113
2128
|
if (n.length < r) return [...t];
|
|
2114
2129
|
if (n.filter((e) => e >= a[0] && e <= a[1]).length >= r) continue;
|
|
2115
2130
|
let o, s = Infinity, c = Infinity, l = (a[0] + a[1]) / 2;
|
|
@@ -2121,13 +2136,13 @@ function Tr(e, t, n, r) {
|
|
|
2121
2136
|
}
|
|
2122
2137
|
return a;
|
|
2123
2138
|
}
|
|
2124
|
-
function
|
|
2125
|
-
let i =
|
|
2139
|
+
function kr(e, t, n, r) {
|
|
2140
|
+
let i = Cr(t), a = i[1] - i[0];
|
|
2126
2141
|
if (!Number.isFinite(a) || a <= 0 || Math.abs(e[1] - e[0]) >= a * .999999999999) return i;
|
|
2127
|
-
let o =
|
|
2142
|
+
let o = Or([Math.max(i[0], Math.min(e[0], e[1])), Math.min(i[1], Math.max(e[0], e[1]))], i, n, wr(r.minVisiblePoints)), s = Dr(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));
|
|
2128
2143
|
return [u, u + c];
|
|
2129
2144
|
}
|
|
2130
|
-
function
|
|
2145
|
+
function Ar(e, t, n) {
|
|
2131
2146
|
let r = t[1] - t[0], i = e[1] - e[0];
|
|
2132
2147
|
if (!Number.isFinite(r) || !Number.isFinite(i) || r <= 0 || i <= 0) return q;
|
|
2133
2148
|
let a = r / i, o = U(t, [0, n]);
|
|
@@ -2135,7 +2150,7 @@ function Dr(e, t, n) {
|
|
|
2135
2150
|
}
|
|
2136
2151
|
//#endregion
|
|
2137
2152
|
//#region src/components/interaction/viewportDomain.ts
|
|
2138
|
-
function
|
|
2153
|
+
function jr(e) {
|
|
2139
2154
|
return (t, n) => {
|
|
2140
2155
|
if (!(!Number.isFinite(t[0]) || !Number.isFinite(t[1]) || t[0] === t[1])) {
|
|
2141
2156
|
if (e.cancelPendingZoom(), e.cancelViewportDrag(), e.props.displayMode === "independent") {
|
|
@@ -2143,12 +2158,12 @@ function Or(e) {
|
|
|
2143
2158
|
r.forEach((n) => {
|
|
2144
2159
|
let r = e.trackLayouts.value.find((e) => e.index === n);
|
|
2145
2160
|
if (!r) return;
|
|
2146
|
-
let a = e.resolveInitialTrackDomain(r), o =
|
|
2147
|
-
i[n] =
|
|
2161
|
+
let a = e.resolveInitialTrackDomain(r), o = kr(t, a, [r.seriesList], e.props);
|
|
2162
|
+
i[n] = Ar(o, a, r.width);
|
|
2148
2163
|
}), e.independentTransforms.value = i;
|
|
2149
2164
|
} else {
|
|
2150
|
-
let n = e.initialXDomain.value, r =
|
|
2151
|
-
e.sharedTransform.value =
|
|
2165
|
+
let n = e.initialXDomain.value, r = kr(t, n, e.trackLayouts.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), e.props);
|
|
2166
|
+
e.sharedTransform.value = Ar(r, n, e.innerWidth.value);
|
|
2152
2167
|
}
|
|
2153
2168
|
e.clearHover(), e.editorSeriesOptions.value = [], f(e.configureZoom);
|
|
2154
2169
|
}
|
|
@@ -2156,14 +2171,14 @@ function Or(e) {
|
|
|
2156
2171
|
}
|
|
2157
2172
|
//#endregion
|
|
2158
2173
|
//#region src/components/interaction/zoomEventPayload.ts
|
|
2159
|
-
function
|
|
2174
|
+
function Mr(e) {
|
|
2160
2175
|
return [...e].sort().join("\0");
|
|
2161
2176
|
}
|
|
2162
|
-
function
|
|
2163
|
-
let n =
|
|
2164
|
-
return e.find((e) =>
|
|
2177
|
+
function Nr(e, t) {
|
|
2178
|
+
let n = Mr(t);
|
|
2179
|
+
return e.find((e) => Mr(e.seriesList.map((e) => e.id)) === n);
|
|
2165
2180
|
}
|
|
2166
|
-
function
|
|
2181
|
+
function Pr(e, t, n, r) {
|
|
2167
2182
|
e("zoom-intent", r ? {
|
|
2168
2183
|
start: t[0],
|
|
2169
2184
|
end: t[1],
|
|
@@ -2176,9 +2191,9 @@ function jr(e, t, n, r) {
|
|
|
2176
2191
|
gesture: "box"
|
|
2177
2192
|
});
|
|
2178
2193
|
}
|
|
2179
|
-
function
|
|
2194
|
+
function Fr(e, t, n) {
|
|
2180
2195
|
for (let r of n) {
|
|
2181
|
-
let n =
|
|
2196
|
+
let n = Nr(t, r);
|
|
2182
2197
|
if (!n) continue;
|
|
2183
2198
|
let i = n.xScale.domain(), a = n.yScale.domain();
|
|
2184
2199
|
e("zoom-end", {
|
|
@@ -2192,7 +2207,7 @@ function Mr(e, t, n) {
|
|
|
2192
2207
|
});
|
|
2193
2208
|
}
|
|
2194
2209
|
}
|
|
2195
|
-
function
|
|
2210
|
+
function Ir(e, t, n) {
|
|
2196
2211
|
let r = n.filter((e) => e.hasVisibleSeries);
|
|
2197
2212
|
if (r.length === 1) {
|
|
2198
2213
|
let n = r[0]?.yScale.domain();
|
|
@@ -2214,13 +2229,13 @@ function Nr(e, t, n) {
|
|
|
2214
2229
|
}
|
|
2215
2230
|
//#endregion
|
|
2216
2231
|
//#region src/components/interaction/useWaveformViewport.ts
|
|
2217
|
-
function
|
|
2232
|
+
function Lr(e) {
|
|
2218
2233
|
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) => {
|
|
2219
2234
|
let n = O.value, r = t?.currentTarget;
|
|
2220
|
-
|
|
2235
|
+
_r(n, e), r && r !== n && _r(r, e);
|
|
2221
2236
|
}, A = (e, t) => {
|
|
2222
2237
|
let n = i.value;
|
|
2223
|
-
!n || n.pointerId !== e || (k(e, t), i.value =
|
|
2238
|
+
!n || n.pointerId !== e || (k(e, t), i.value = xr(i.value, {
|
|
2224
2239
|
type: "cancel",
|
|
2225
2240
|
pointerId: e
|
|
2226
2241
|
}).state, O.value = void 0);
|
|
@@ -2243,7 +2258,7 @@ function Pr(e) {
|
|
|
2243
2258
|
if (!n.zoomable && !s || !_.value || e.button !== 0) return;
|
|
2244
2259
|
let c = e.currentTarget, d = o.value.find((e) => e.index === t);
|
|
2245
2260
|
if (!d) return;
|
|
2246
|
-
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 =
|
|
2261
|
+
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 = xr(i.value, {
|
|
2247
2262
|
type: "begin",
|
|
2248
2263
|
gesture: {
|
|
2249
2264
|
trackIndex: t,
|
|
@@ -2265,8 +2280,8 @@ function Pr(e) {
|
|
|
2265
2280
|
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], _);
|
|
2266
2281
|
if (e.independent) {
|
|
2267
2282
|
let e = [...m.value];
|
|
2268
|
-
e[t.index] =
|
|
2269
|
-
} else p.value =
|
|
2283
|
+
e[t.index] = Ar(v, _, i), m.value = e;
|
|
2284
|
+
} else p.value = Ar(v, _, l.value);
|
|
2270
2285
|
let y = e.independent ? [t] : o.value.filter((e) => e.hasVisibleSeries), x = { ...g.value }, S = { ...h.value };
|
|
2271
2286
|
y.forEach((t) => {
|
|
2272
2287
|
let r = s.value.find((e) => e.id === t.id);
|
|
@@ -2280,7 +2295,7 @@ function Pr(e) {
|
|
|
2280
2295
|
if (!t || !n || e.pointerId !== t.pointerId) return;
|
|
2281
2296
|
let r = o.value.find((e) => e.index === t.trackIndex);
|
|
2282
2297
|
if (!r) return;
|
|
2283
|
-
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 =
|
|
2298
|
+
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 = xr(i.value, {
|
|
2284
2299
|
type: "move",
|
|
2285
2300
|
pointerId: e.pointerId,
|
|
2286
2301
|
position: {
|
|
@@ -2299,12 +2314,12 @@ function Pr(e) {
|
|
|
2299
2314
|
if (!t || (e.independent ? !x(t) : !S())) return;
|
|
2300
2315
|
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));
|
|
2301
2316
|
if (s - a < 6) return;
|
|
2302
|
-
let u = e.independent ? b(t) : c.value, d = e.independent ? [t.seriesList] : o.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), h =
|
|
2317
|
+
let u = e.independent ? b(t) : c.value, d = e.independent ? [t.seriesList] : o.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), h = kr([t.xScale.invert(a), t.xScale.invert(s)], u, d, n);
|
|
2303
2318
|
if (e.independent) {
|
|
2304
2319
|
let e = [...m.value];
|
|
2305
|
-
e[t.index] =
|
|
2306
|
-
} else p.value =
|
|
2307
|
-
|
|
2320
|
+
e[t.index] = Ar(h, u, t.width), m.value = e;
|
|
2321
|
+
} else p.value = Ar(h, u, l.value);
|
|
2322
|
+
Pr(r, h, t, e.independent);
|
|
2308
2323
|
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()]));
|
|
2309
2324
|
if (r("zoom-change", h), e.independent) {
|
|
2310
2325
|
let e = _[t.series?.trackId ?? t.series?.id ?? t.id];
|
|
@@ -2345,7 +2360,7 @@ function Pr(e) {
|
|
|
2345
2360
|
A(t.pointerId, e);
|
|
2346
2361
|
return;
|
|
2347
2362
|
}
|
|
2348
|
-
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 =
|
|
2363
|
+
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 = xr(i.value, {
|
|
2349
2364
|
type: "finish",
|
|
2350
2365
|
pointerId: e.pointerId,
|
|
2351
2366
|
position: {
|
|
@@ -2377,7 +2392,7 @@ function Pr(e) {
|
|
|
2377
2392
|
finishViewportDrag: B,
|
|
2378
2393
|
cancelViewportDrag: R,
|
|
2379
2394
|
resetViewport: V,
|
|
2380
|
-
setViewportDomain:
|
|
2395
|
+
setViewportDomain: jr({
|
|
2381
2396
|
props: n,
|
|
2382
2397
|
trackLayouts: o,
|
|
2383
2398
|
initialXDomain: c,
|
|
@@ -2409,7 +2424,7 @@ function Pr(e) {
|
|
|
2409
2424
|
}
|
|
2410
2425
|
//#endregion
|
|
2411
2426
|
//#region src/components/utils/useAnimationFrameThrottle.ts
|
|
2412
|
-
function
|
|
2427
|
+
function Rr() {
|
|
2413
2428
|
let e = null, t = null;
|
|
2414
2429
|
function n(n) {
|
|
2415
2430
|
t = n, e === null && (e = requestAnimationFrame(() => {
|
|
@@ -2438,8 +2453,8 @@ function Fr() {
|
|
|
2438
2453
|
}
|
|
2439
2454
|
//#endregion
|
|
2440
2455
|
//#region src/components/interaction/useWaveformZoom.ts
|
|
2441
|
-
function
|
|
2442
|
-
let { props: t, emit: n, svgElement: r, sharedOverlayElement: i, sharedTransform: a, independentTransforms: o, trackLayouts: s, initialXDomain: c, sharedZoomDomain: l, innerWidth: u, innerHeight: d, hasChartArea: f, isZoomMode: p, isPresentationMode: m, resolveInitialTrackDomain: h, cancelPendingHover: g } = e, _ = /* @__PURE__ */ new Map(), v =
|
|
2456
|
+
function zr(e) {
|
|
2457
|
+
let { props: t, emit: n, svgElement: r, sharedOverlayElement: i, sharedTransform: a, independentTransforms: o, trackLayouts: s, initialXDomain: c, sharedZoomDomain: l, innerWidth: u, innerHeight: d, hasChartArea: f, isZoomMode: p, isPresentationMode: m, resolveInitialTrackDomain: h, cancelPendingHover: g } = e, _ = /* @__PURE__ */ new Map(), v = Rr(), y = !1, b = null, x = null, S = null, C = /* @__PURE__ */ new Map(), w = /* @__PURE__ */ new Map(), T = /* @__PURE__ */ new Map(), E, D = !1, O = 0, k = () => v.schedule(M), A = (e) => {
|
|
2443
2458
|
if (y || m.value) return;
|
|
2444
2459
|
g(), b = e.transform, x = "wheel", I();
|
|
2445
2460
|
let t = e.transform.rescaleX(U(c.value, [0, u.value])).domain();
|
|
@@ -2486,7 +2501,7 @@ function Ir(e) {
|
|
|
2486
2501
|
if (!t) return;
|
|
2487
2502
|
if (r.get(e) === "wheel") {
|
|
2488
2503
|
let e = t.seriesList.map((e) => e.id);
|
|
2489
|
-
T.set(
|
|
2504
|
+
T.set(Mr(e), e);
|
|
2490
2505
|
}
|
|
2491
2506
|
let a = t.xScale.domain();
|
|
2492
2507
|
n("zoom-change", [a[0], a[1]]);
|
|
@@ -2494,14 +2509,14 @@ function Ir(e) {
|
|
|
2494
2509
|
}
|
|
2495
2510
|
let N = () => {
|
|
2496
2511
|
if (t.displayMode === "independent") {
|
|
2497
|
-
|
|
2512
|
+
Fr(n, s.value, T.values()), T.clear();
|
|
2498
2513
|
return;
|
|
2499
2514
|
}
|
|
2500
2515
|
if (S !== "wheel") {
|
|
2501
2516
|
S = null;
|
|
2502
2517
|
return;
|
|
2503
2518
|
}
|
|
2504
|
-
|
|
2519
|
+
Ir(n, l.value, s.value), S = null;
|
|
2505
2520
|
}, P = () => {
|
|
2506
2521
|
v.flush(), M(), !(S === "wheel" || T.size) && N();
|
|
2507
2522
|
}, F = (e) => {
|
|
@@ -2521,9 +2536,9 @@ function Ir(e) {
|
|
|
2521
2536
|
}, B = (e, n) => {
|
|
2522
2537
|
let r = Math.abs(e[1] - e[0]);
|
|
2523
2538
|
if (!Number.isFinite(r) || r <= 0) return Rt.MIN_SCALE;
|
|
2524
|
-
let i =
|
|
2539
|
+
let i = Dr(e, n, t);
|
|
2525
2540
|
return Math.max(Rt.MIN_SCALE, i > 0 ? r / i : Infinity);
|
|
2526
|
-
}, V = (e, n, r, i) =>
|
|
2541
|
+
}, V = (e, n, r, i) => Ar(kr(e.rescaleX(U(n, [0, r])).domain(), n, i, t), n, r), H = (e) => {
|
|
2527
2542
|
let n = Number(t.minVisiblePoints);
|
|
2528
2543
|
return kn(e.seriesList, e.xScale.domain(), Number.isFinite(n) && n > 0 ? Math.ceil(n) + 1 : n);
|
|
2529
2544
|
}, G = () => {
|
|
@@ -2575,13 +2590,13 @@ function Ir(e) {
|
|
|
2575
2590
|
}
|
|
2576
2591
|
//#endregion
|
|
2577
2592
|
//#region src/components/core/useWaveformChartLifecycle.ts
|
|
2578
|
-
function
|
|
2593
|
+
function Br(e) {
|
|
2579
2594
|
return e instanceof Element && !!e.closest("button, input, select, textarea, [contenteditable]:not([contenteditable=\"false\"])");
|
|
2580
2595
|
}
|
|
2581
|
-
function
|
|
2596
|
+
function Vr(e) {
|
|
2582
2597
|
let { props: t, emit: n, container: r, titleMeasureElement: i, resizeObserver: a, observedWidth: o, observedHeight: s, measuredTitleWidth: c, measuredTitleHeight: l, resolvedTitleText: u, titleAreaReserved: d, titleMeasureStyle: p, spacePressed: m, pointerInsideChart: _, currentPage: v, pageCount: y, pagedTracks: b, gridOptions: x, chartSeries: S, chartTracks: C, trackLayouts: w, innerWidth: T, innerHeight: E, sharedZoomDomain: D, initialXDomain: k, sharedTransform: A, activeInteractionMode: j, hiddenSeriesIdSet: M, internalHiddenSeriesIds: N, independentTransforms: P, independentYDomains: F, resolveInitialTrackDomain: I, annotationInteraction: L, editorSeriesOptions: R, isPresentationMode: z, clearHover: B, cancelAnnotation: V, configureZoom: H, resetViewport: U, cancelViewportDrag: W, cancelPendingHover: G, clearZoomBindings: ee } = e;
|
|
2583
2598
|
function te(e) {
|
|
2584
|
-
z.value || e.code !== "Space" || !t.pannable || !_.value ||
|
|
2599
|
+
z.value || e.code !== "Space" || !t.pannable || !_.value || Br(e.target) || (m.value = !0, e.preventDefault());
|
|
2585
2600
|
}
|
|
2586
2601
|
function ne(e) {
|
|
2587
2602
|
e.code === "Space" && (m.value = !1);
|
|
@@ -2595,7 +2610,7 @@ function Rr(e) {
|
|
|
2595
2610
|
if (t.displayMode === "independent") {
|
|
2596
2611
|
K = void 0, J = new Map(w.value.flatMap((e) => {
|
|
2597
2612
|
let t = e.xScale.domain(), n = I(e);
|
|
2598
|
-
return t[1] - t[0] < n[1] - n[0] - 1e-12 ? [[
|
|
2613
|
+
return t[1] - t[0] < n[1] - n[0] - 1e-12 ? [[Mr(e.seriesList.map((e) => e.id)), t]] : [];
|
|
2599
2614
|
}));
|
|
2600
2615
|
return;
|
|
2601
2616
|
}
|
|
@@ -2612,14 +2627,14 @@ function Rr(e) {
|
|
|
2612
2627
|
if (t.displayMode === "independent" && J) {
|
|
2613
2628
|
let e = C.value.map(() => q);
|
|
2614
2629
|
w.value.forEach((n) => {
|
|
2615
|
-
let r = J?.get(
|
|
2630
|
+
let r = J?.get(Mr(n.seriesList.map((e) => e.id)));
|
|
2616
2631
|
if (!r) return;
|
|
2617
|
-
let i = I(n), a =
|
|
2618
|
-
e[n.index] =
|
|
2632
|
+
let i = I(n), a = kr(r, i, [n.seriesList], t);
|
|
2633
|
+
e[n.index] = Ar(a, i, n.width);
|
|
2619
2634
|
}), P.value = e, J = void 0;
|
|
2620
2635
|
} else if (t.displayMode !== "independent" && K) {
|
|
2621
|
-
let e = k.value, n = w.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), r =
|
|
2622
|
-
A.value =
|
|
2636
|
+
let e = k.value, n = w.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), r = kr(K, e, n, t);
|
|
2637
|
+
A.value = Ar(r, e, T.value), K = void 0;
|
|
2623
2638
|
}
|
|
2624
2639
|
H();
|
|
2625
2640
|
});
|
|
@@ -2705,7 +2720,7 @@ function Rr(e) {
|
|
|
2705
2720
|
}
|
|
2706
2721
|
//#endregion
|
|
2707
2722
|
//#region src/components/core/useWaveformData.ts
|
|
2708
|
-
function
|
|
2723
|
+
function Hr(e) {
|
|
2709
2724
|
return ln(e).map(({ source: e, ...t }) => {
|
|
2710
2725
|
let n = e.metrics(t.errorBar.visible);
|
|
2711
2726
|
return {
|
|
@@ -2718,45 +2733,45 @@ function zr(e) {
|
|
|
2718
2733
|
};
|
|
2719
2734
|
});
|
|
2720
2735
|
}
|
|
2721
|
-
function
|
|
2722
|
-
let r = C(
|
|
2736
|
+
function Ur(e, t, n) {
|
|
2737
|
+
let r = C(Hr(e()));
|
|
2723
2738
|
return O(e, (e) => {
|
|
2724
|
-
t(), r.value =
|
|
2739
|
+
t(), r.value = Hr(e), n();
|
|
2725
2740
|
}), r;
|
|
2726
2741
|
}
|
|
2727
2742
|
//#endregion
|
|
2728
2743
|
//#region wasm/pkg/waveform_sampling_wasm.js
|
|
2729
|
-
function
|
|
2730
|
-
let n =
|
|
2731
|
-
if (o[3]) throw
|
|
2732
|
-
var s =
|
|
2744
|
+
function Wr(e, t) {
|
|
2745
|
+
let n = ii(e, $.__wbindgen_malloc), r = ui, i = ii(t, $.__wbindgen_malloc), a = ui, o = $.calculate_range(n, r, i, a);
|
|
2746
|
+
if (o[3]) throw ai(o[2]);
|
|
2747
|
+
var s = Yr(o[0], o[1]).slice();
|
|
2733
2748
|
return $.__wbindgen_free(o[0], o[1] * 8, 8), s;
|
|
2734
2749
|
}
|
|
2735
|
-
function
|
|
2736
|
-
let i =
|
|
2737
|
-
if (c[3]) throw
|
|
2738
|
-
var l =
|
|
2750
|
+
function Gr(e, t, n, r) {
|
|
2751
|
+
let i = ii(e, $.__wbindgen_malloc), a = ui, o = ii(t, $.__wbindgen_malloc), s = ui, c = $.find_visible_range(i, a, o, s, n, r);
|
|
2752
|
+
if (c[3]) throw ai(c[2]);
|
|
2753
|
+
var l = Xr(c[0], c[1]).slice();
|
|
2739
2754
|
return $.__wbindgen_free(c[0], c[1] * 4, 4), l;
|
|
2740
2755
|
}
|
|
2741
|
-
function
|
|
2742
|
-
let i =
|
|
2743
|
-
if (c[3]) throw
|
|
2744
|
-
var l =
|
|
2756
|
+
function Kr(e, t, n, r) {
|
|
2757
|
+
let i = ii(e, $.__wbindgen_malloc), a = ui, o = ii(t, $.__wbindgen_malloc), s = ui, c = $.sample_aggregates(i, a, o, s, n, r);
|
|
2758
|
+
if (c[3]) throw ai(c[2]);
|
|
2759
|
+
var l = Yr(c[0], c[1]).slice();
|
|
2745
2760
|
return $.__wbindgen_free(c[0], c[1] * 8, 8), l;
|
|
2746
2761
|
}
|
|
2747
|
-
function
|
|
2748
|
-
let i =
|
|
2749
|
-
if (c[3]) throw
|
|
2750
|
-
var l =
|
|
2762
|
+
function qr(e, t, n, r) {
|
|
2763
|
+
let i = ii(e, $.__wbindgen_malloc), a = ui, o = ii(t, $.__wbindgen_malloc), s = ui, c = $.sample_indexes(i, a, o, s, n, r);
|
|
2764
|
+
if (c[3]) throw ai(c[2]);
|
|
2765
|
+
var l = Xr(c[0], c[1]).slice();
|
|
2751
2766
|
return $.__wbindgen_free(c[0], c[1] * 4, 4), l;
|
|
2752
2767
|
}
|
|
2753
|
-
function
|
|
2768
|
+
function Jr() {
|
|
2754
2769
|
return {
|
|
2755
2770
|
__proto__: null,
|
|
2756
2771
|
"./waveform_sampling_wasm_bg.js": {
|
|
2757
2772
|
__proto__: null,
|
|
2758
2773
|
__wbindgen_cast_0000000000000001: function(e, t) {
|
|
2759
|
-
return
|
|
2774
|
+
return $r(e, t);
|
|
2760
2775
|
},
|
|
2761
2776
|
__wbindgen_init_externref_table: function() {
|
|
2762
2777
|
let e = $.__wbindgen_externrefs, t = e.grow(4);
|
|
@@ -2765,52 +2780,52 @@ function Gr() {
|
|
|
2765
2780
|
}
|
|
2766
2781
|
};
|
|
2767
2782
|
}
|
|
2768
|
-
function
|
|
2769
|
-
return e >>>= 0,
|
|
2770
|
-
}
|
|
2771
|
-
function qr(e, t) {
|
|
2772
|
-
return e >>>= 0, Qr().subarray(e / 4, e / 4 + t);
|
|
2773
|
-
}
|
|
2774
|
-
var Jr = null;
|
|
2775
|
-
function Yr() {
|
|
2776
|
-
return (Jr === null || Jr.byteLength === 0) && (Jr = new Float64Array($.memory.buffer)), Jr;
|
|
2783
|
+
function Yr(e, t) {
|
|
2784
|
+
return e >>>= 0, Qr().subarray(e / 8, e / 8 + t);
|
|
2777
2785
|
}
|
|
2778
2786
|
function Xr(e, t) {
|
|
2779
|
-
return e >>>= 0,
|
|
2787
|
+
return e >>>= 0, ti().subarray(e / 4, e / 4 + t);
|
|
2780
2788
|
}
|
|
2781
2789
|
var Zr = null;
|
|
2782
2790
|
function Qr() {
|
|
2783
|
-
return (Zr === null || Zr.byteLength === 0) && (Zr = new
|
|
2791
|
+
return (Zr === null || Zr.byteLength === 0) && (Zr = new Float64Array($.memory.buffer)), Zr;
|
|
2792
|
+
}
|
|
2793
|
+
function $r(e, t) {
|
|
2794
|
+
return e >>>= 0, li(e, t);
|
|
2784
2795
|
}
|
|
2785
|
-
var
|
|
2786
|
-
function
|
|
2787
|
-
return (
|
|
2796
|
+
var ei = null;
|
|
2797
|
+
function ti() {
|
|
2798
|
+
return (ei === null || ei.byteLength === 0) && (ei = new Uint32Array($.memory.buffer)), ei;
|
|
2788
2799
|
}
|
|
2789
|
-
|
|
2800
|
+
var ni = null;
|
|
2801
|
+
function ri() {
|
|
2802
|
+
return (ni === null || ni.byteLength === 0) && (ni = new Uint8Array($.memory.buffer)), ni;
|
|
2803
|
+
}
|
|
2804
|
+
function ii(e, t) {
|
|
2790
2805
|
let n = t(e.length * 8, 8) >>> 0;
|
|
2791
|
-
return
|
|
2806
|
+
return Qr().set(e, n / 8), ui = e.length, n;
|
|
2792
2807
|
}
|
|
2793
|
-
function
|
|
2808
|
+
function ai(e) {
|
|
2794
2809
|
let t = $.__wbindgen_externrefs.get(e);
|
|
2795
2810
|
return $.__externref_table_dealloc(e), t;
|
|
2796
2811
|
}
|
|
2797
|
-
var
|
|
2812
|
+
var oi = new TextDecoder("utf-8", {
|
|
2798
2813
|
ignoreBOM: !0,
|
|
2799
2814
|
fatal: !0
|
|
2800
2815
|
});
|
|
2801
|
-
|
|
2802
|
-
var
|
|
2803
|
-
function
|
|
2804
|
-
return
|
|
2816
|
+
oi.decode();
|
|
2817
|
+
var si = 2146435072, ci = 0;
|
|
2818
|
+
function li(e, t) {
|
|
2819
|
+
return ci += t, ci >= si && (oi = new TextDecoder("utf-8", {
|
|
2805
2820
|
ignoreBOM: !0,
|
|
2806
2821
|
fatal: !0
|
|
2807
|
-
}),
|
|
2822
|
+
}), oi.decode(), ci = t), oi.decode(ri().subarray(e, e + t));
|
|
2808
2823
|
}
|
|
2809
|
-
var
|
|
2810
|
-
function
|
|
2811
|
-
return $ = e.exports,
|
|
2824
|
+
var ui = 0, $;
|
|
2825
|
+
function di(e, t) {
|
|
2826
|
+
return $ = e.exports, Zr = null, ei = null, ni = null, $.__wbindgen_start(), $;
|
|
2812
2827
|
}
|
|
2813
|
-
async function
|
|
2828
|
+
async function fi(e, t) {
|
|
2814
2829
|
if (typeof Response == "function" && e instanceof Response) {
|
|
2815
2830
|
if (typeof WebAssembly.instantiateStreaming == "function") try {
|
|
2816
2831
|
return await WebAssembly.instantiateStreaming(e, t);
|
|
@@ -2836,17 +2851,17 @@ async function li(e, t) {
|
|
|
2836
2851
|
return !1;
|
|
2837
2852
|
}
|
|
2838
2853
|
}
|
|
2839
|
-
async function
|
|
2854
|
+
async function pi(e) {
|
|
2840
2855
|
if ($ !== void 0) return $;
|
|
2841
2856
|
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/cUGAf3I6AAEgAiABQRJ2QXByOgAADAELIAIgAToAAAsgACAEIAZqNgIIQQALzwIBCH9BAEHojMAAKAIAEQUAIgIEQCACKAIARQRAQX8hAyACQX82AgAgAkEEaiEFIAIoAgwiBkHYAGwhBCACKAIIIQgCQAJAA0AgBCAHRg0BIANBAWohAyAHIAhqIAdB2ABqIQdByABqKAIAQYCAgIB4Rw0ACyAHIAhqQdgAayABQdgA/AoAACADIQYMAQsgBSgCACAGRgR/IwBBEGsiBCQAIARBBGogBSgCACIDIAUoAgRBBCADQQF0IgMgA0EETRsiCUEIQdgAEBwgBCgCBEEBRgRAIAQoAgggBCgCDBA9AAsgBCgCCCEDIAUgCTYCACAFIAM2AgQgBEEQaiQAIAIoAggFIAgLIAZB2ABsaiABQdgA/AoAACACIAZBAWo2AgwLIAIgAigCAEEBajYCACAAIAY2AgQgAEEANgIADwtBqI7AABA3AAsgARAPEDYAC9QBAgJ/A3wgA0H4////AXEEQCAAIAAgA0EDdiIDQeAAbCIFaiAAIANBqAFsIgZqIAMgBBAYIQAgASABIAVqIAEgBmogAyAEEBghASACIAIgBWogAiAGaiADIAQQGCECCwJAAkAgACsDACIHIAdhIgMgASsDACIIIAhhIgRxBEAgAyACKwMAIgkgCWEiBXFFDQEgByAIYyIDIAcgCWNzBH8gAAUgBCAFcUUNAyACIAEgAyAIIAljcxsLDwtBpI/AABBJAAtBpI/AABBJAAtBpI/AABBJAAvmAQICfwF+IwBBMGsiAiQAIAEoAgBBgICAgHhGBEAgASgCDCEDIAJBADYCLCACQoCAgIAQNwIkIAJBJGpB5I/AACADKAIAIgMoAgAgAygCBBAKGiACIAIoAiwiAzYCICACIAIpAiQiBDcDGCABIAM2AgggASAENwIACyABKAIIIQMgAUEANgIIIAEpAgAhBCABQoCAgIAQNwIAIAIgAzYCECACIAQ3AwhBDEEEEEsiAUUEQEEEQQwQTgALIAEgAigCEDYCCCABIAIpAwg3AgAgAEHwkcAANgIEIAAgATYCACACQTBqJAALpwEBAX8jAEEQayIFJAAgBEUEQEEAQQAQPQALIAIgASACaiIBSwRAQQBBABA9AAsgBUEEaiAAKAIAIgIgACgCBCABIAJBAXQiAiABIAJLGyIBQQhBBEEBIARBgQhJGyAEQQFGGyICIAEgAksbIgEgAyAEEBwgBSgCBEEBRgRAIAUoAgggBSgCDBA9AAsgBSgCCCECIAAgATYCACAAIAI2AgQgBUEQaiQAC5UCAQJ/IwBBIGsiBSQAQbCWwABBsJbAACgCACIGQQFqNgIAAkACQAJAAkACf0EAIAZBAEgNABpBAUGclsAALQAADQAaQZyWwABBAToAAEGYlsAAQZiWwAAoAgBBAWo2AgBBAgtB/wFxDgMDAQABC0GklsAAKAIAIgZBAEgNAkGklsAAIAZBAWo2AgBBqJbAACgCAEUNASAFQQhqIAAgASgCFBEAACAFIAQ6AB0gBSADOgAcIAUgAjYCGCAFIAUpAwg3AhBBqJbAACgCACAFQRBqQayWwAAoAgAoAhQRAAAMAQsgBSAAIAEoAhgRAAAMAQtBpJbAAEGklsAAKAIAQQFrNgIAQZyWwABBADoAACADRQ0AAAsAC5wBAgJ/AX5BASEHQQQhBgJAIAWtIAOtfiIIQiCIUEUEQEEAIQMMAQsgCKciA0GAgICAeCAEa0sEQEEAIQMMAQsCQAJAAn8gAQRAIAIgASAFbCAEIAMQRAwBCyADRQRAIAQhBgwCCyADIAQQSwsiBg0AIAAgBDYCBAwBCyAAIAY2AgRBACEHC0EIIQYLIAAgBmogAzYCACAAIAc2AgALhwEBAX8jAEEQayIDJAAgAiABIAJqIgFLBEBBAEEAED0ACyADQQRqIAAoAgAiAiAAKAIEQQggASACQQF0IgIgASACSxsiASABQQhNGyIBQQFBARAcIAMoAgRBAUYEQCADKAIIIAMoAgwQPQALIAMoAgghAiAAIAE2AgAgACACNgIEIANBEGokAAulAQEDfyMAQeAAayIBJABB6JXAACgCAEUEQEHolcAAQX82AgBB6JXAAEH0lcAAKAIAIABLBH8gAUEIaiICQfCVwAAoAgAgAEHYAGxqIgBB2AD8CgAAIABBgICAgHg2AkggASgCUCIAQYCAgIB4RwRAIAIQDwsgAEGAgICAeEchA0HolcAAKAIAQQFqBSACCzYCACABQeAAaiQAIAMPC0G8jcAAEDcAC5EBAgJ/AX4jAEEgayICJAAgASgCAEGAgICAeEYEQCABKAIMIQMgAkEANgIcIAJCgICAgBA3AhQgAkEUakHkj8AAIAMoAgAiAygCACADKAIEEAoaIAIgAigCHCIDNgIQIAIgAikCFCIENwMIIAEgAzYCCCABIAQ3AgALIABB8JHAADYCBCAAIAE2AgAgAkEgaiQAC4cBAQJ/QeiVwAAoAgBFBEBB6JXAAEF/NgIAQfSVwAAoAgAhAUH0lcAAQQA2AgBB6JXAACABBH9B8JXAACgCACEAA0AgAEHIAGooAgBBgICAgHhHBEAgABAPCyAAQdgAaiEAIAFBAWsiAQ0AC0HolcAAKAIAQQFqBSAACzYCAA8LQeyNwAAQNwALjgEBAX8CQAJAIABBhAhPBEAgANBvJgFB+JXAACgCAA0CQfiVwABBfzYCACAAQYyWwAAoAgAiAUkNASAAIAFrIgBBhJbAACgCAE8NAUGAlsAAKAIAIABBAnRqQYiWwAAoAgA2AgBBiJbAACAANgIAQfiVwABB+JXAACgCAEEBajYCAAsPCwALQdSPwAAQNwALaQEDfyMAQRBrIgEkACABQQRqIAAoAgAiAiAAKAIEQQQgAkEBdCICIAJBBE0bIgJBCEEIEBwgASgCBEEBRgRAIAEoAgggASgCDBA9AAsgASgCCCEDIAAgAjYCACAAIAM2AgQgAUEQaiQAC5EBAQJ/QeiVwAAoAgAiAUH/////B0kEQEHolcAAIAFBAWo2AgACQCAAQfSVwAAoAgBPDQBB8JXAACgCACAAQdgAbGoiACgCSEGAgICAeEYNACAAKAIQIQILQeiVwAAgATYCACACDwsjAEEQayIAJAAgACAAQQ9qrUKAgICA4AKENwMAQZiCwAAgAEHcjcAAECkAC1QBAX8CQAJAIAAoAgAgACgCCCIDayACSQRAIAAgAyACEB0gACgCCCEDDAELIAJFDQELIAJFDQAgACgCBCADaiABIAL8CgAACyAAIAIgA2o2AghBAAtQAQF/AkAgACgCCCICBEAgACgCBCACQQJ0akEEaygCACABRg0BCyAAKAIAIAJGBEAgABAnCyAAKAIEIAJBAnRqIAE2AgAgACACQQFqNgIICwtPAgF/AX4jAEEgayIDJAAgAyABNgIMIAMgADYCCCADQoCAgIDAAiIEIANBCGqthDcDGCADIAQgA0EMaq2ENwMQQaiAwAAgA0EQaiACECkAC8gBAQV/IwBBEGsiBCQAIARBCGohBSAAKAIAIQEjAEEQayICJAAgAkEEaiAAKAIAIgMgACgCBEEEIAFBAWoiASADQQF0IgMgASADSxsiASABQQRNGyIBQQRBBBAcAn8gAigCBARAIAIoAgwhACACKAIIDAELIAIoAgghAyAAIAE2AgAgACADNgIEQYGAgIB4CyEBIAUgADYCBCAFIAE2AgAgAkEQaiQAIAQoAggiAEGBgICAeEcEQCAAIAQoAgwQPQALIARBEGokAAtEAQJ/IAEoAgQhAiABKAIAIQNBCEEEEEsiAUUEQEEEQQgQTgALIAEgAjYCBCABIAM2AgAgAEHUkcAANgIEIAAgATYCAAveAQIBfwF+IwBBIGsiAyQAIAMgATYCECADIAA2AgwgA0EBOwEcIAMgAjYCGCADIANBDGo2AhQjAEEQayIBJAAgA0EUaiIAKQIAIQQgASAANgIMIAEgBDcCBCMAQRBrIgAkACABQQRqIgEoAgAiAigCBCIDQQFxBEAgAigCACECIAAgA0EBdjYCBCAAIAI2AgAgAEH8j8AAIAEoAgQgASgCCCIALQAIIAAtAAkQGwALIABBgICAgHg2AgAgACABNgIMIABBmJDAACABKAIEIAEoAggiAC0ACCAALQAJEBsACy4AAkAgAWlBAUcgAEGAgICAeCABa0tyDQAgAARAIAAgARBLIgFFDQELIAEPCwALPgAgACgCAEGAgICAeEcEQCABIAAoAgQgACgCCBBDDwsgASgCACABKAIEIAAoAgwoAgAiACgCACAAKAIEEAoLOAACQCACQYCAxABGDQAgACACIAEoAhARAQBFDQBBAQ8LIANFBEBBAA8LIAAgA0EAIAEoAgwRAgAL1gMBB38jAEEQayIGJAAjAEEQayIIJAAgCEEEaiEHIwBBEGsiCSQAIAlBBGogACABIAIgAxALIAkoAgghCgJAIAkoAgQiDEGAgICAeEYEQCAHQYCAgIB4NgIAIAcgCjYCBAwBCwJAIAkoAgwiC0UEQAJAAkAgBEEDaw4FAQAAAAEAC0H7isAAQSkQPyEEIAdBgICAgHg2AgAgByAENgIEDAILIAdBADYCCCAHQoCAgICAATcCAAwBCyAHIAogC0EBIAUgBUEBTRsiBSALIAUgC0kbIAQQBwsgDEUNACAKIAxBGGxBCBBHCyAJQRBqJAAgAwRAIAIgA0EDdEEIEEcLIAEEQCAAIAFBA3RBCBBHCwJAAkACfyAIKAIEIgBBgICAgHhGBEBBASEBQQAhAEEAIQIgCCgCCAwBCyAIKAIIIQECQCAIKAIMIgIgAE8EQCABIQAMAQsgAEEDdCEDIAJFBEBBCCEAIAEgA0EIEEcMAQsgASADQQggAkEDdCIBEEQiAEUNAgtBACEBQQALIQMgBiABNgIMIAYgAzYCCCAGIAI2AgQgBiAANgIAIAhBEGokAAwBC0EIIAEQPQALIAYoAgAgBigCBCAGKAIIIAYoAgwgBkEQaiQAC7MFAgx/AXwjAEEQayIHJAAjAEEQayIKJAAgCkEEaiEMIwBBEGsiDSQAIA1BBGogACABIAIgAxALIA0oAgghCwJAAkACQAJAIA0oAgQiEUGAgICAeEYEQCAMQYCAgIB4NgIAIAwgCzYCBAwBCwJAIAS9Qv///////////wCDQv/////////3/wBYIAW9Qv///////////wCDQv/////////3/wBYcUUEQEEIQQQQSyIGRQ0DIAZBADYCAAwBCyANKAIMIQkgBCAFEDshEiAEIAUQPCEEIAkhCAJAAkACQCAJDgICAQALA0AgCEEBdiIPIA5qIhAgDiALIBBBGGxqKwMAIARjGyEOIAggD2siCEEBSw0ACwsgCyAOQRhsaisDACAEYyAJQQFHBEADQCAJQQF2Ig8gBmoiECAGIAsgEEEYbGorAwAgEmUbIQYgCSAPayIJQQFLDQALCyAOaiEJIAYgCyAGQRhsaisDACASZWohCAtBCEEEEEsiBkUNAyAGIAk2AgALIAxBAjYCCCAMIAY2AgQgDEECNgIAIAYgCDYCBCARRQ0AIAsgEUEYbEEIEEcLIA1BEGokAAwCC0EEQQgQTgALQQRBCBBOAAsgAwRAIAIgA0EDdEEIEEcLIAEEQCAAIAFBA3RBCBBHCwJAAkACfyAKKAIEIgFBgICAgHhGBEBBASECQQAhAUEAIQMgCigCCAwBCyAKKAIIIQACQCAKKAIMIgMgAU8EQCAAIQEMAQsgAUECdCECIANFBEBBBCEBIAAgAkEEEEcMAQsgACACQQQgA0ECdCIAEEQiAUUNAgtBACECQQALIQAgByACNgIMIAcgADYCCCAHIAM2AgQgByABNgIAIApBEGokAAwBC0EEIAAQPQALIAcoAgAgBygCBCAHKAIIIAcoAgwgB0EQaiQAC4wDAQV/IwBBEGsiByQAIwBBIGsiBiQAIAZBFGogACABIAIgAxALIAYoAhghCAJAIAYoAhQiCkGAgICAeEYEQCAGIAg2AgwgBkGAgICAeDYCCAwBCwJAIAYoAhwiCUUEQCAGQQhqIAhBACAEQQAQAwwBCyAGQQhqIAggCSAEQQEgBSAFQQFNGyIEIAkgBCAJSRsQAwsgCkUNACAIIApBGGxBCBBHCyADBEAgAiADQQN0QQgQRwsgAQRAIAAgAUEDdEEIEEcLAkACQAJ/IAYoAggiAEGAgICAeEYEQEEBIQFBACEAQQAhAiAGKAIMDAELIAYoAgwhAQJAIAYoAhAiAiAATwRAIAEhAAwBCyAAQQJ0IQMgAkUEQEEEIQAgASADQQQQRwwBCyABIANBBCACQQJ0IgEQRCIARQ0CC0EAIQFBAAshAyAHIAE2AgwgByADNgIIIAcgAjYCBCAHIAA2AgAgBkEgaiQADAELQQQgARA9AAsgBygCACAHKAIEIAcoAgggBygCDCAHQRBqJAALqCcCIn8CfCMAQRBrIhEkACMAQUBqIgokACAKIAQ2AiggCiADNgIkIAogAjYCICAKIAE2AhwgCiAANgIYIAogCkEoajYCPCAKIApBJGo2AjggCiAKQSBqNgI0IAogCkEcajYCMCAKIApBGGo2AiwgCkEMaiEfIApBLGohACMAQRBrIhckAAJAAkBBAEHojMAAKAIAEQUAIhJFDQAgEigCAEUEQCASQX82AgAgHwJ+AkAgACgCACgCACIBIBIoAgxJBEAgEigCCCABQdgAbGoiCSgCSEGAgICAeEcNAQtB/I3AAEEcED8hACASIBIoAgBBAWo2AgAgFyAANgIIQYCAgIB4IQAgFykCCAwBCyAXQQRqIQ0gACgCBCgCACEBIAAoAggoAgAhAyAAKAIMKAIAIRYgACgCECgCACEAIwBBMGsiBSQAIAkoAjgiAiABIAEgAksbIg4gAiADIAIgA0kbIgMgAyAOSRsiFCAOayECAkACQAJAAkACQCABIANPBEAgFkECRg0CQQQhAUEAIQMMAQtBASETAkACQAJAAkAgAEEBTQRAIAJBAUYNASAWDgMEAgYCCyAAIAIgACACSRshEwsCQCAWDgMDAAUACyACIBNNDQICQCATQQFrDgIBAAILQQhBBBBLIgAEQCAAIA42AgAgDUECNgIIIA0gADYCBCANQQI2AgAgACAUQQFrNgIEDAYLQQRBCBBOAAtBBEEEEEsiAARAIA1BATYCCCANIAA2AgQgDUEBNgIAIAAgDjYCAAwFC0EEQQQQTgALQQEhAAJAAkACQAJAAkACQAJAIBZBAWsOBgAEBAICAQQLQQIhAAsgE0ECayAAdiIZDQFBCBA4IgAgFEEBazYCBCAAIA42AgAgDUECNgIIIA0gADYCBCANQQI2AgAMCAsgE0ECayEZC0EEEDgiACAONgIAIAVBATYCFCAFIAA2AhAgBUEBNgIMIAlBPGohFSAOQQFqISAgAkECayEhA0AgGCAhbCAZbiIAICBqIgIgGEEBaiIYICFsIBluIiIgIGoiI08NAgJAICIgAGtnIgBBH0YNACAAQR9zIR1BASEIA0ACQCAJKAJEIAhLBEAgCSgCQCAIQRhsaigCAEGAgICAeEcNAQsgCSgCFEF/IAkoAhAiASAJKAI4IgAgCHYgAEF/IAh0QX9zcUEAR2oiD0EDdGoiACAAIAFJG0kNBSAJIAA2AhACQCAPRQRAQQAhAUEEIR5BBCEaDAELIA9BAnQiG0EEEEwiGgRAIBtBBBBMIh4EQCAJKAJAIAhBAWsiAUEYbGohECAJKAI0IRwgCSgCOCELQQAhBkEBIQBBBCEHIAEgCSgCREkhJANAIABBAWshAQJAAkACQAJAAkACQAJAAn8CQCAkBEAgECgCAEGAgICAeEcNAQsgACEEIAEhAyAAIAAgC0kNARoMBwsgASAQKAIIIgRPDQEgASAQKAIUIgxPDQIgECgCBCAHaiIlQQRrKAIAIQEgECgCECAHaiImQQRrKAIAIQMgACAETw0GICUoAgAhBEEAIAAgDE8NABogJigCAAshDCAEIAtPDQIgASALTw0EIAYgGmogASAEIBwgBEEDdGorAwAiJyAcIAFBA3RqKwMAIihjRSABIARNICcgKGJycRs2AgAgCyAMTQ0DAkAgAyALSQRAIBwgDEEDdGorAwAiJyAcIANBA3RqKwMAIihkRQ0BIAwhAwwICyADIAtB7IfAABAmAAsgDCADIAMgDEsbIAMgJyAoYRshAwwGCyAAQQFrIARB/InAABAmAAsgAEEBayAMQYyKwAAQJgALIAQgC0H8h8AAECYACyAMIAtB3IfAABAmAAsgASALQYyIwAAQJgALIAYgGmogATYCAAsgBiAeaiADNgIAIAdBCGohByAAQQJqIQAgGyAGQQRqIgZHDQALIA8hAQwCC0EEIBsQPQALQQQgGxA9AAsgCCAJKAJEIgBPBEACQCAIQQFqIgYgFSgCCCIDTQRAIBUgBjYCCCADIAZGDQEgAyAGayELIBUoAgQgBkEYbGohBANAAkAgBCgCACIAQYCAgIB4Rg0AIAAEQCAEQQRqKAIAIABBAnRBBBBHCyAEQQxqKAIAIgBFDQAgBEEQaigCACAAQQJ0QQQQRwsgBEEYaiEEIAtBAWsiCw0ACwwBCyAGIAMiAGsiByAVKAIAIABrSwRAIBUgACAHQQRBGBAaIBUoAgghAAsgFSgCBCEQIAdBA3EiCwRAIAAgC2ogBiADayALayEHIBAgAEEYbGohBANAIARBgICAgHg2AgAgBEEYaiEEIAtBAWsiCw0ACyEACyADIAZrQXxNBEAgECAAQRhsaiEEA0AgBEGAgICAeDYCACAEQcgAakGAgICAeDYCACAEQTBqQYCAgIB4NgIAIARBGGpBgICAgHg2AgAgBEHgAGohBCAAQQRqIQAgB0EEayIHDQALCyAVIAA2AggLIAkoAkQhAAsgACAITQ0GAkAgCSgCQCAIQRhsaiIAKAIAIgNBgICAgHhGDQAgAwRAIAAoAgQgA0ECdEEEEEcLIAAoAgwiA0UNACAAKAIQIANBAnRBBBBHCyAAIA82AhQgACAeNgIQIAAgATYCDCAAIA82AgggACAaNgIEIAAgATYCAAsgCCAdTw0BIAggCCAdSWoiCCAdTQ0ACwsgCSgCOCEMIAkoAjQhDyAJKAJAIRAgCSgCRCELIAIiACEHIAAhBAJAAkACQAJAAkACQANAQQEhBgJAIABBAXEgIyAAayIBQQJJcg0AQQIhBiAAQQJxIAFBBElyDQBBBCEGIABBBHEgAUEISXINAEEIIQYgAEEIcSABQRBJcg0AQRAhBiAAQRBxIAFBIElyDQBBICEGIABBIHEgAUHAAElyDQBBwAAhBiAAQcAAcSABQYABSXINAEGAASEGIABBgAFxIAFBgAJJcg0AQYACIQYgAEGAAnEgAUGABElyDQBBgAQhBiAAQYAEcSABQYAISXINAEGACCEGIABBgAhxIAFBgBBJcg0AQYAQIQYgAEGAEHEgAUGAIElyDQBBgCAhBiAAQYAgcSABQYDAAElyDQBBgMAAIQYgAEGAwABxIAFBgIABSXINAEGAgAEhBiAAQYCAAXEgAUGAgAJJcg0AQYCAAiEGIABBgIACcSABQYCABElyDQBBgIAEIQYgAEGAgARxIAFBgIAISXINAEGAgAghBiAAQYCACHEgAUGAgBBJcg0AQYCAECEGIABBgIAQcSABQYCAIElyDQBBgIAgIQYgAEGAgCBxIAFBgIDAAElyDQBBgIDAACEGIABBgIDAAHEgAUGAgIABSXINAEGAgIABIQYgAEGAgIABcSABQYCAgAJJcg0AQYCAgAIhBiAAQYCAgAJxIAFBgICABElyDQBBgICABCEGIABBgICABHEgAUGAgIAISXINAEGAgIAIIQYgAEGAgIAIcSABQYCAgBBJcg0AQYCAgBAhBiAAQYCAgBBxIAFBgICAIElyDQBBgICAICEGIABBgICAIHEgAUGAgIDAAElyDQBBgICAwAAhBiAAQYCAgMAAcSABQYCAgIABSXINAEGAgICAASEGIABBgICAgAFxIAFBgICAgAJJcg0AQYCAgIACIQYgAEGAgICAAnEgAUGAgICABElyDQBBgICAgAQhBiAAQYCAgIAEcSABQQBOcg0AEEoACyAAIQEgACEDAkAgBmgiCEUNAAJAIAggC0kEQCAQIAhBGGxqIgEoAgBBgICAgHhHDQEMDAsgCCALQbyJwAAQJgALIAAgCHYiAyABKAIIIghJBEAgASgCFCIIIANLBEAgA0ECdCIIIAEoAhBqKAIAIQMgASgCBCAIaigCACEBDAILIAMgCEHcicAAECYACyADIAhBzInAABAmAAsgASAMTw0BIAcgDE8NAiAHIAEgDyABQQN0aisDACInIA8gB0EDdGorAwAiKGNFIAEgB08gJyAoYnJxGyEHIAMgDE8NAyAEIAxPDQQgBCADIA8gA0EDdGorAwAiJyAPIARBA3RqKwMAIihkRSADIARPICcgKGJycRshBCAAIAZqIgAgI0kNAAsCQAJAAkACQAJAIBZBAWsOBgMAAAECBAALQZyKwABBKEHEisAAED4ACyAFKAIUIgAEQCAFKAIQIABBAnRqQQRrKAIAIAdGDQkLIAUoAgwgAEYEQCAFQQxqECcLIAUoAhAgAEECdGogBzYCACAFIABBAWo2AhQMCAsgBSgCFCIABEAgBSgCECAAQQJ0akEEaygCACAERg0ICyAFKAIMIABGBEAgBUEMahAnCyAFKAIQIABBAnRqIAQ2AgAgBSAAQQFqNgIUDAcLIAUgBDYC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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));
|
|
2842
|
-
let t =
|
|
2857
|
+
let t = Jr();
|
|
2843
2858
|
(typeof e == "string" || typeof Request == "function" && e instanceof Request || typeof URL == "function" && e instanceof URL) && (e = fetch(e));
|
|
2844
|
-
let { instance: n, module: r } = await
|
|
2845
|
-
return
|
|
2859
|
+
let { instance: n, module: r } = await fi(await e, t);
|
|
2860
|
+
return di(n, r);
|
|
2846
2861
|
}
|
|
2847
2862
|
//#endregion
|
|
2848
2863
|
//#region src/core/wasmSampling.ts
|
|
2849
|
-
var
|
|
2864
|
+
var mi = {
|
|
2850
2865
|
none: 0,
|
|
2851
2866
|
peak: 1,
|
|
2852
2867
|
lttb: 2,
|
|
@@ -2855,24 +2870,24 @@ var di = {
|
|
|
2855
2870
|
max: 5,
|
|
2856
2871
|
minmax: 6,
|
|
2857
2872
|
sum: 7
|
|
2858
|
-
},
|
|
2859
|
-
function
|
|
2873
|
+
}, hi;
|
|
2874
|
+
function gi(e, t) {
|
|
2860
2875
|
return t === 0 ? 0 : Number.isFinite(e) ? Math.min(t, Math.max(1, Math.floor(e))) : t;
|
|
2861
2876
|
}
|
|
2862
|
-
function
|
|
2877
|
+
function _i(e) {
|
|
2863
2878
|
if (e.x.length !== e.y.length) throw Error("x and y must have the same length");
|
|
2864
2879
|
}
|
|
2865
|
-
function
|
|
2866
|
-
return
|
|
2880
|
+
function vi(e) {
|
|
2881
|
+
return hi ??= Promise.resolve(pi(e)).then(() => void 0), hi;
|
|
2867
2882
|
}
|
|
2868
|
-
async function
|
|
2869
|
-
|
|
2870
|
-
let t =
|
|
2883
|
+
async function yi(e) {
|
|
2884
|
+
_i(e), await vi();
|
|
2885
|
+
let t = gi(e.targetPointCount, e.x.length), n = mi[e.strategy];
|
|
2871
2886
|
if (e.strategy !== "average" && e.strategy !== "sum") return {
|
|
2872
2887
|
kind: "source-indexes",
|
|
2873
|
-
sourceIndexes:
|
|
2888
|
+
sourceIndexes: qr(e.x, e.y, n, t)
|
|
2874
2889
|
};
|
|
2875
|
-
let r =
|
|
2890
|
+
let r = Kr(e.x, e.y, n, t), i = new Float64Array(r.length / 2), a = new Float64Array(r.length / 2);
|
|
2876
2891
|
for (let e = 0; e < i.length; e += 1) i[e] = r[e * 2], a[e] = r[e * 2 + 1];
|
|
2877
2892
|
return {
|
|
2878
2893
|
kind: "aggregates",
|
|
@@ -2880,34 +2895,50 @@ async function gi(e) {
|
|
|
2880
2895
|
y: a
|
|
2881
2896
|
};
|
|
2882
2897
|
}
|
|
2883
|
-
async function
|
|
2898
|
+
async function bi(e, t) {
|
|
2884
2899
|
if (e.length !== t.length) throw Error("x and y must have the same length");
|
|
2885
|
-
await
|
|
2886
|
-
let n =
|
|
2900
|
+
await vi();
|
|
2901
|
+
let n = Wr(e, t);
|
|
2887
2902
|
return n.length === 4 ? {
|
|
2888
2903
|
x: [n[0], n[1]],
|
|
2889
2904
|
y: [n[2], n[3]]
|
|
2890
2905
|
} : void 0;
|
|
2891
2906
|
}
|
|
2892
|
-
async function
|
|
2907
|
+
async function xi(e, t, n) {
|
|
2893
2908
|
if (e.length !== t.length) throw Error("x and y must have the same length");
|
|
2894
|
-
await
|
|
2895
|
-
let r =
|
|
2909
|
+
await vi();
|
|
2910
|
+
let r = Gr(e, t, n[0], n[1]);
|
|
2896
2911
|
return [r[0], r[1]];
|
|
2897
2912
|
}
|
|
2898
2913
|
//#endregion
|
|
2899
2914
|
//#region src/components/core/trackPagination.ts
|
|
2900
|
-
var
|
|
2915
|
+
var Si = (e, t) => t ? e.filter((e) => e.series.length > 0) : e, Ci = (e, t, n, r, i) => {
|
|
2901
2916
|
let a = t?.[i];
|
|
2902
2917
|
if (a !== void 0) return a;
|
|
2903
2918
|
if (e !== void 0) return n === 1 ? e : typeof e == "number" ? e + r : `${e}-${r + 1}`;
|
|
2904
|
-
},
|
|
2919
|
+
}, wi = (e, t, n) => (r) => {
|
|
2905
2920
|
let i = n(), a = i.findIndex((e) => e.id === r);
|
|
2906
|
-
return
|
|
2921
|
+
return Ci(e(), t(), i.length, a >= 0 ? a : 0, r);
|
|
2907
2922
|
};
|
|
2908
2923
|
//#endregion
|
|
2924
|
+
//#region src/components/core/yAxisLayoutMetrics.ts
|
|
2925
|
+
function Ti(e, t, n, r) {
|
|
2926
|
+
return e === "independent" ? Object.fromEntries(t.flatMap((e, t) => {
|
|
2927
|
+
let n = r[t];
|
|
2928
|
+
return n ? [[e.id, n]] : [];
|
|
2929
|
+
})) : n;
|
|
2930
|
+
}
|
|
2931
|
+
function Ei(e, t, n, r, i, a, o, s) {
|
|
2932
|
+
let c = e.filter((e) => e.visibleSeries.length > 0).flatMap((e) => lr(e, t, n, r, i)).map((e) => ur(e.domain, a, void 0, e.seriesList[0]?.unit, o, s).tickTextWidth), l = Math.max(7, ...c), u = l + 7 + 4, d = -(7 + l + 0 + 12 / 2);
|
|
2933
|
+
return {
|
|
2934
|
+
tickClearance: u,
|
|
2935
|
+
fullClearance: l + 7 + 0 + 12 + 4,
|
|
2936
|
+
labelCenterX: d
|
|
2937
|
+
};
|
|
2938
|
+
}
|
|
2939
|
+
//#endregion
|
|
2909
2940
|
//#region src/components/core/useWaveformLayout.ts
|
|
2910
|
-
function
|
|
2941
|
+
function Di(e) {
|
|
2911
2942
|
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) => ({
|
|
2912
2943
|
...e,
|
|
2913
2944
|
color: e.color ?? (t === 0 ? n.lineColor : Vt[t % Vt.length])
|
|
@@ -2930,67 +2961,57 @@ function Si(e) {
|
|
|
2930
2961
|
yDomain: o.length ? ht(o) : [0, 1]
|
|
2931
2962
|
};
|
|
2932
2963
|
});
|
|
2933
|
-
}), v = t(() => Tn(n.rendering)), y = t(() =>
|
|
2964
|
+
}), v = t(() => Tn(n.rendering)), y = t(() => Si(_.value, g.value.hideEmptyTracks)), b = t(() => Vn(y.value.length, g.value)), x = t(() => Hn(y.value, i.value, g.value)), S = t(() => {
|
|
2934
2965
|
let e = x.value.filter((e) => e.series.length > 0);
|
|
2935
2966
|
return g.value.fillIncompleteLastRow && e.length > 0 ? e : x.value;
|
|
2936
|
-
}), C = t(() => {
|
|
2937
|
-
let e =
|
|
2938
|
-
return {
|
|
2939
|
-
tickClearance: r,
|
|
2940
|
-
fullClearance: t + 7 + 0 + 12 + 4,
|
|
2941
|
-
labelCenterX: i
|
|
2942
|
-
};
|
|
2943
|
-
}), 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(() => {
|
|
2944
|
-
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;
|
|
2967
|
+
}), C = t(() => nr(s.value, n.axes?.y?.splitNumber)), w = t(() => Ti(n.displayMode, _.value, d.value, f.value)), T = t(() => Ei(_.value, n.overlayMode, n.yDomain, n.yDomains, w.value, n.axes?.y?.nice !== !1, C.value, n.displayMode === "compact")), E = t(() => _.value.some((e) => e.visibleSeries.length === 1 && !!(e.visibleSeries[0]?.name.trim() || n.yLabel))), D = t(() => _.value.some((e) => e.visibleSeries.length > 0)), O = t(() => Math.max(Lt.left, E.value ? T.value.fullClearance : D.value ? T.value.tickClearance : 0)), k = t(() => dr(S.value.filter((e) => e.visibleSeries.length > 0), n.overlayMode, n.yDomain, n.yDomains, C.value, n.axes?.y?.nice !== !1, n.displayMode === "compact", w.value)), A = t(() => n.overlayMode === "multi-axis" ? Math.max(O.value, k.value.clearance.left) : O.value), j = t(() => n.overlayMode === "multi-axis" ? Math.max(Lt.right, k.value.clearance.right) : Lt.right), M = t(() => Math.max(0, o.value - A.value - j.value)), N = t(() => {
|
|
2968
|
+
let e = Un(n.displayMode), t = g.value.columnCount, r = t > 1, i = Math.max(e, T.value.fullClearance), a = Math.max(e, T.value.tickClearance), o = (M.value - i * Math.max(0, t - 1)) / t >= 120;
|
|
2945
2969
|
return {
|
|
2946
|
-
horizontalGap: n.overlayMode === "multi-axis" && r &&
|
|
2947
|
-
hideSecondaryLabels: n.overlayMode !== "multi-axis" && r &&
|
|
2970
|
+
horizontalGap: n.overlayMode === "multi-axis" && r && D.value ? Math.max(e, k.value.clearance.left + k.value.clearance.right) : r && D.value ? E.value && o ? i : a : e,
|
|
2971
|
+
hideSecondaryLabels: n.overlayMode !== "multi-axis" && r && E.value && !o
|
|
2948
2972
|
};
|
|
2949
|
-
}),
|
|
2973
|
+
}), P = t(() => h.value.length > 0), F = t(() => M.value > 0 && s.value > 0), I = t(() => n.xLabel ?? `时间(${n.timeUnit})`), L = t(() => n.interactionMode), R = t(() => L.value !== "annotation"), z = t(() => {
|
|
2950
2974
|
let e = [];
|
|
2951
2975
|
return _.value.forEach((t) => {
|
|
2952
2976
|
t.visibleSeries.length && e.push(t.xDomain[0], t.xDomain[1]);
|
|
2953
2977
|
}), ht(e);
|
|
2954
|
-
}),
|
|
2978
|
+
}), B = t(() => {
|
|
2955
2979
|
let e = n.initialXDomain;
|
|
2956
|
-
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(
|
|
2957
|
-
}),
|
|
2980
|
+
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(z.value, n.xDomainStrategy);
|
|
2981
|
+
}), V = (e) => {
|
|
2958
2982
|
let t = n.initialXDomains?.[e.series?.trackId ?? e.series?.id ?? e.id] ?? (e.series ? n.initialXDomains?.[e.series.id] : void 0) ?? n.initialXDomain;
|
|
2959
2983
|
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);
|
|
2960
|
-
},
|
|
2984
|
+
}, H = t(() => l.value.rescaleX(U(B.value, [0, M.value])).domain()), W = t(() => Wn(M.value, s.value, g.value, n.displayMode, S.value.map(Boolean), N.value.horizontalGap).map((e, t) => ({
|
|
2961
2985
|
...e,
|
|
2962
2986
|
series: S.value[t]
|
|
2963
|
-
}))),
|
|
2964
|
-
cells:
|
|
2987
|
+
}))), G = t(() => Xn({
|
|
2988
|
+
cells: W.value,
|
|
2965
2989
|
grid: g.value,
|
|
2966
2990
|
displayMode: n.displayMode,
|
|
2967
2991
|
overlayMode: n.overlayMode,
|
|
2968
2992
|
independentTransforms: u.value,
|
|
2969
|
-
sharedZoomDomain:
|
|
2970
|
-
initialXDomain: n.initialXDomain ?
|
|
2993
|
+
sharedZoomDomain: H.value,
|
|
2994
|
+
initialXDomain: n.initialXDomain ? B.value : void 0,
|
|
2971
2995
|
initialXDomains: n.initialXDomains,
|
|
2972
2996
|
xDomainStrategy: n.xDomainStrategy,
|
|
2973
2997
|
fixedYDomain: n.yDomain,
|
|
2974
2998
|
fixedYDomains: n.yDomains,
|
|
2975
|
-
yDomains:
|
|
2976
|
-
let n = f.value[t];
|
|
2977
|
-
return n ? [[e.id, n]] : [];
|
|
2978
|
-
})) : d.value,
|
|
2999
|
+
yDomains: w.value,
|
|
2979
3000
|
timeUnit: n.timeUnit,
|
|
2980
3001
|
xAxisLabelFormatter: n.axes?.x?.labelFormatter,
|
|
2981
3002
|
yAxisSplitNumber: n.axes?.y?.splitNumber,
|
|
2982
3003
|
yAxisNice: n.axes?.y?.nice,
|
|
2983
3004
|
rendering: v.value,
|
|
2984
3005
|
linePointOverrides: m?.value,
|
|
2985
|
-
hideSecondaryLabels: c.value ||
|
|
2986
|
-
yAxisLabelX:
|
|
2987
|
-
yAxisSlots: n.overlayMode === "multi-axis" ?
|
|
2988
|
-
showCompactEmptyTracks: n.displayMode === "compact" &&
|
|
2989
|
-
})),
|
|
3006
|
+
hideSecondaryLabels: c.value || N.value.hideSecondaryLabels,
|
|
3007
|
+
yAxisLabelX: k.value.slots.find((e) => e.side === "left" && e.sideIndex === 0)?.labelOffset ?? T.value.labelCenterX,
|
|
3008
|
+
yAxisSlots: n.overlayMode === "multi-axis" ? k.value.slots : void 0,
|
|
3009
|
+
showCompactEmptyTracks: n.displayMode === "compact" && P.value
|
|
3010
|
+
})), ee = (e) => e.seriesList.map((t) => ({
|
|
2990
3011
|
...e,
|
|
2991
3012
|
series: t,
|
|
2992
3013
|
yScale: e.seriesPaths.find((e) => e.series.id === t.id)?.yScale ?? e.yScale
|
|
2993
|
-
})),
|
|
3014
|
+
})), te = (e, t) => e.seriesPaths.find((e) => e.series.id === t)?.yScale ?? e.yScale, ne = t(() => G.value.flatMap(ee));
|
|
2994
3015
|
return {
|
|
2995
3016
|
chartSeries: h,
|
|
2996
3017
|
chartTracks: _,
|
|
@@ -2999,23 +3020,23 @@ function Si(e) {
|
|
|
2999
3020
|
gridOptions: g,
|
|
3000
3021
|
pageCount: b,
|
|
3001
3022
|
pagedTracks: x,
|
|
3002
|
-
resolvedChartLeftMargin:
|
|
3003
|
-
innerWidth:
|
|
3004
|
-
hasVisibleWaveformData:
|
|
3005
|
-
hasWaveformData:
|
|
3006
|
-
hasChartArea:
|
|
3007
|
-
resolvedXLabel:
|
|
3008
|
-
activeInteractionMode:
|
|
3009
|
-
isZoomMode:
|
|
3010
|
-
initialXDomain:
|
|
3011
|
-
sharedZoomDomain:
|
|
3012
|
-
resolveInitialTrackDomain:
|
|
3013
|
-
gridCells:
|
|
3014
|
-
trackLayouts:
|
|
3015
|
-
annotationLayoutsForTrack:
|
|
3016
|
-
resolveSeriesYScale:
|
|
3017
|
-
annotationTrackLayouts:
|
|
3018
|
-
renderedAnnotations: t(() => n.annotationsVisible ? Me(n.annotations,
|
|
3023
|
+
resolvedChartLeftMargin: A,
|
|
3024
|
+
innerWidth: M,
|
|
3025
|
+
hasVisibleWaveformData: D,
|
|
3026
|
+
hasWaveformData: P,
|
|
3027
|
+
hasChartArea: F,
|
|
3028
|
+
resolvedXLabel: I,
|
|
3029
|
+
activeInteractionMode: L,
|
|
3030
|
+
isZoomMode: R,
|
|
3031
|
+
initialXDomain: B,
|
|
3032
|
+
sharedZoomDomain: H,
|
|
3033
|
+
resolveInitialTrackDomain: V,
|
|
3034
|
+
gridCells: W,
|
|
3035
|
+
trackLayouts: G,
|
|
3036
|
+
annotationLayoutsForTrack: ee,
|
|
3037
|
+
resolveSeriesYScale: te,
|
|
3038
|
+
annotationTrackLayouts: ne,
|
|
3039
|
+
renderedAnnotations: t(() => n.annotationsVisible ? Me(n.annotations, ne.value, M.value, s.value) : []),
|
|
3019
3040
|
editorSeries: t(() => {
|
|
3020
3041
|
let e = p.editorDraft.value?.annotation.seriesId, t = h.value.find((t) => t.id === e);
|
|
3021
3042
|
return t ? {
|
|
@@ -3025,16 +3046,16 @@ function Si(e) {
|
|
|
3025
3046
|
unit: t.unit
|
|
3026
3047
|
} : void 0;
|
|
3027
3048
|
}),
|
|
3028
|
-
resolveFrameNumber:
|
|
3049
|
+
resolveFrameNumber: wi(() => n.frameNumber, () => n.frameNumbers, () => _.value)
|
|
3029
3050
|
};
|
|
3030
3051
|
}
|
|
3031
|
-
var
|
|
3032
|
-
function
|
|
3052
|
+
var Oi = 1e-6;
|
|
3053
|
+
function ki(e) {
|
|
3033
3054
|
return Number.isFinite(e) ? Math.max(1, e) : 1;
|
|
3034
3055
|
}
|
|
3035
|
-
function
|
|
3036
|
-
let i =
|
|
3037
|
-
if (!(d >
|
|
3056
|
+
function Ai({ naturalWidth: e, naturalHeight: t, availableWidth: n, rotation: r }) {
|
|
3057
|
+
let i = ki(e), a = ki(t), o = ki(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;
|
|
3058
|
+
if (!(d > Oi && Math.abs(d - 360) > Oi)) {
|
|
3038
3059
|
let e = Math.max(1, Math.ceil(i / o)), t = o, n = a * e;
|
|
3039
3060
|
return {
|
|
3040
3061
|
textWidth: t,
|
|
@@ -3059,7 +3080,7 @@ function Ti({ naturalWidth: e, naturalHeight: t, availableWidth: n, rotation: r
|
|
|
3059
3080
|
}
|
|
3060
3081
|
//#endregion
|
|
3061
3082
|
//#region src/components/core/useWaveformPresentation.ts
|
|
3062
|
-
function
|
|
3083
|
+
function ji(e) {
|
|
3063
3084
|
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(() => ({
|
|
3064
3085
|
width: l.value === void 0 ? "100%" : `${l.value}px`,
|
|
3065
3086
|
height: u.value === void 0 ? "100%" : `${u.value}px`
|
|
@@ -3104,7 +3125,7 @@ function Ei(e) {
|
|
|
3104
3125
|
maxWidth: O.value ? "none" : `${j.value}px`,
|
|
3105
3126
|
whiteSpace: O.value ? "nowrap" : "normal",
|
|
3106
3127
|
overflowWrap: O.value ? "normal" : "anywhere"
|
|
3107
|
-
})), N = t(() =>
|
|
3128
|
+
})), N = t(() => Ai({
|
|
3108
3129
|
naturalWidth: a.value || A.value,
|
|
3109
3130
|
naturalHeight: o.value || E.value * 1.2,
|
|
3110
3131
|
availableWidth: j.value,
|
|
@@ -3160,66 +3181,66 @@ function Ei(e) {
|
|
|
3160
3181
|
}
|
|
3161
3182
|
//#endregion
|
|
3162
3183
|
//#region src/core/samplingReferenceValues.ts
|
|
3163
|
-
function
|
|
3184
|
+
function Mi(e, t) {
|
|
3164
3185
|
return t === 0 ? 0 : Number.isFinite(e) ? Math.min(t, Math.max(1, Math.floor(e))) : t;
|
|
3165
3186
|
}
|
|
3166
|
-
function
|
|
3187
|
+
function Ni(e, t, n, r) {
|
|
3167
3188
|
let i = r - n;
|
|
3168
3189
|
return {
|
|
3169
3190
|
start: n + Math.floor(e * i / t),
|
|
3170
3191
|
end: n + Math.floor((e + 1) * i / t)
|
|
3171
3192
|
};
|
|
3172
3193
|
}
|
|
3173
|
-
function
|
|
3194
|
+
function Pi(e, t) {
|
|
3174
3195
|
e[e.length - 1] !== t && e.push(t);
|
|
3175
3196
|
}
|
|
3176
|
-
function
|
|
3197
|
+
function Fi(e, t, n) {
|
|
3177
3198
|
if (e <= t) return Array.from({ length: e }, (e, t) => t);
|
|
3178
3199
|
if (t === 1) return [0];
|
|
3179
3200
|
if (t === 2) return [0, e - 1];
|
|
3180
3201
|
let r = [0];
|
|
3181
|
-
return n().forEach((e) =>
|
|
3202
|
+
return n().forEach((e) => Pi(r, e)), Pi(r, e - 1), r;
|
|
3182
3203
|
}
|
|
3183
|
-
function
|
|
3204
|
+
function Ii(e, t, n) {
|
|
3184
3205
|
let r = n === "minmax" ? Math.floor((t - 2) / 2) : Math.max(0, t - 2);
|
|
3185
|
-
return
|
|
3206
|
+
return Fi(e.length, t, () => {
|
|
3186
3207
|
if (!r) return [];
|
|
3187
3208
|
let t = [];
|
|
3188
3209
|
for (let i = 0; i < r; i += 1) {
|
|
3189
|
-
let a =
|
|
3210
|
+
let a = Ni(i, r, 1, e.length - 1), o = a.start, s = a.start;
|
|
3190
3211
|
for (let t = a.start + 1; t < a.end; t += 1) e[t] < e[o] && (o = t), e[t] > e[s] && (s = t);
|
|
3191
|
-
n === "min" ?
|
|
3212
|
+
n === "min" ? Pi(t, o) : n === "max" ? Pi(t, s) : o <= s ? (Pi(t, o), Pi(t, s)) : (Pi(t, s), Pi(t, o));
|
|
3192
3213
|
}
|
|
3193
3214
|
return t;
|
|
3194
3215
|
});
|
|
3195
3216
|
}
|
|
3196
|
-
function
|
|
3217
|
+
function Li(e, t) {
|
|
3197
3218
|
let n = Math.floor((t - 2) / 4);
|
|
3198
|
-
return
|
|
3219
|
+
return Fi(e.length, t, () => {
|
|
3199
3220
|
if (!n) return [];
|
|
3200
3221
|
let t = [];
|
|
3201
3222
|
for (let r = 0; r < n; r += 1) {
|
|
3202
|
-
let i =
|
|
3223
|
+
let i = Ni(r, n, 1, e.length - 1), a = i.start, o = i.start;
|
|
3203
3224
|
for (let t = i.start + 1; t < i.end; t += 1) e[t] < e[a] && (a = t), e[t] > e[o] && (o = t);
|
|
3204
3225
|
[
|
|
3205
3226
|
i.start,
|
|
3206
3227
|
a,
|
|
3207
3228
|
o,
|
|
3208
3229
|
i.end - 1
|
|
3209
|
-
].sort((e, t) => e - t).forEach((e) =>
|
|
3230
|
+
].sort((e, t) => e - t).forEach((e) => Pi(t, e));
|
|
3210
3231
|
}
|
|
3211
3232
|
return t;
|
|
3212
3233
|
});
|
|
3213
3234
|
}
|
|
3214
|
-
function
|
|
3215
|
-
return
|
|
3235
|
+
function Ri(e, t, n) {
|
|
3236
|
+
return Fi(e.length, n, () => {
|
|
3216
3237
|
let r = (e.length - 2) / (n - 2), i = [], a = 0;
|
|
3217
3238
|
for (let o = 0; o < n - 2; o += 1) {
|
|
3218
3239
|
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;
|
|
3219
3240
|
for (let n = s; n < c; n += 1) l += e[n], u += t[n];
|
|
3220
3241
|
let d = c - s;
|
|
3221
3242
|
d ? (l /= d, u /= d) : (l = e[e.length - 1], u = t[t.length - 1]);
|
|
3222
|
-
let f =
|
|
3243
|
+
let f = Ni(o, n - 2, 1, e.length - 1), p = f.start, m = -1;
|
|
3223
3244
|
for (let n = f.start; n < f.end; n += 1) {
|
|
3224
3245
|
let r = Math.abs((e[a] - l) * (t[n] - t[a]) - (e[a] - e[n]) * (u - t[a]));
|
|
3225
3246
|
r > m && (m = r, p = n);
|
|
@@ -3229,10 +3250,10 @@ function Ni(e, t, n) {
|
|
|
3229
3250
|
return i;
|
|
3230
3251
|
});
|
|
3231
3252
|
}
|
|
3232
|
-
function
|
|
3233
|
-
let i =
|
|
3253
|
+
function zi(e, t, n, r) {
|
|
3254
|
+
let i = Mi(n, e.length), a = new Float64Array(i), o = new Float64Array(i);
|
|
3234
3255
|
for (let n = 0; n < i; n += 1) {
|
|
3235
|
-
let s =
|
|
3256
|
+
let s = Ni(n, i, 0, e.length);
|
|
3236
3257
|
for (let r = s.start; r < s.end; r += 1) a[n] += e[r], o[n] += t[r];
|
|
3237
3258
|
let c = s.end - s.start;
|
|
3238
3259
|
a[n] /= c, r === "average" && (o[n] /= c);
|
|
@@ -3243,10 +3264,10 @@ function Pi(e, t, n, r) {
|
|
|
3243
3264
|
y: o
|
|
3244
3265
|
};
|
|
3245
3266
|
}
|
|
3246
|
-
function
|
|
3267
|
+
function Bi(e, t, n, r) {
|
|
3247
3268
|
if (e.length !== t.length) throw Error("x and y must have the same length");
|
|
3248
|
-
if (n === "average" || n === "sum") return
|
|
3249
|
-
let i =
|
|
3269
|
+
if (n === "average" || n === "sum") return zi(e, t, r, n);
|
|
3270
|
+
let i = Mi(r, e.length), a = n === "none" || e.length <= i ? Array.from({ length: e.length }, (e, t) => t) : n === "peak" ? Li(t, i) : n === "lttb" ? Ri(e, t, i) : Ii(t, i, n);
|
|
3250
3271
|
return {
|
|
3251
3272
|
kind: "source-indexes",
|
|
3252
3273
|
sourceIndexes: Uint32Array.from(a)
|
|
@@ -3254,41 +3275,41 @@ function Fi(e, t, n, r) {
|
|
|
3254
3275
|
}
|
|
3255
3276
|
//#endregion
|
|
3256
3277
|
//#region src/core/workerSampling/javascriptBackend.ts
|
|
3257
|
-
var
|
|
3278
|
+
var Vi = {
|
|
3258
3279
|
kind: "javascript",
|
|
3259
3280
|
sample(e) {
|
|
3260
|
-
return
|
|
3281
|
+
return Bi(e.x, e.y, e.strategy, e.targetPointCount);
|
|
3261
3282
|
}
|
|
3262
|
-
},
|
|
3263
|
-
function
|
|
3283
|
+
}, Hi = 8 * 1024 * 1024;
|
|
3284
|
+
function Ui(e, t) {
|
|
3264
3285
|
return t === 0 ? 0 : Number.isFinite(e) ? Math.min(t, Math.max(1, Math.floor(e))) : t;
|
|
3265
3286
|
}
|
|
3266
|
-
function
|
|
3287
|
+
function Wi(e, t, n, r) {
|
|
3267
3288
|
let i = r - n;
|
|
3268
3289
|
return {
|
|
3269
3290
|
start: n + Math.floor(e * i / t),
|
|
3270
3291
|
end: n + Math.floor((e + 1) * i / t)
|
|
3271
3292
|
};
|
|
3272
3293
|
}
|
|
3273
|
-
function
|
|
3294
|
+
function Gi(e, t) {
|
|
3274
3295
|
e[e.length - 1] !== t && e.push(t);
|
|
3275
3296
|
}
|
|
3276
|
-
function
|
|
3297
|
+
function Ki(e) {
|
|
3277
3298
|
return "minimumIndexes" in e ? e.minimumIndexes.byteLength + e.maximumIndexes.byteLength : e.x.byteLength + e.y.byteLength + e.count.byteLength;
|
|
3278
3299
|
}
|
|
3279
|
-
function
|
|
3300
|
+
function qi(e, t) {
|
|
3280
3301
|
let n = 1;
|
|
3281
3302
|
for (; n * 2 <= t && e % (n * 2) == 0;) n *= 2;
|
|
3282
3303
|
return n;
|
|
3283
3304
|
}
|
|
3284
|
-
var
|
|
3305
|
+
var Ji = class {
|
|
3285
3306
|
points;
|
|
3286
3307
|
extremaLayers = [];
|
|
3287
3308
|
sumLayers = [];
|
|
3288
3309
|
indexBytes = 0;
|
|
3289
3310
|
maxBytes;
|
|
3290
3311
|
constructor(e, t = {}) {
|
|
3291
|
-
this.points = e, this.maxBytes = Number.isFinite(t.maxBytes) ? Math.max(0, Math.floor(t.maxBytes ?? 0)) :
|
|
3312
|
+
this.points = e, this.maxBytes = Number.isFinite(t.maxBytes) ? Math.max(0, Math.floor(t.maxBytes ?? 0)) : Hi;
|
|
3292
3313
|
}
|
|
3293
3314
|
get byteLength() {
|
|
3294
3315
|
return this.indexBytes;
|
|
@@ -3297,7 +3318,7 @@ var Ui = class {
|
|
|
3297
3318
|
this.extremaLayers.length = 0, this.sumLayers.length = 0, this.indexBytes = 0;
|
|
3298
3319
|
}
|
|
3299
3320
|
sample(e, t, n, r) {
|
|
3300
|
-
let i = Math.max(0, Math.min(this.points.length, Math.floor(e))), a = Math.max(i, Math.min(this.points.length, Math.floor(t))), o = a - i, s =
|
|
3321
|
+
let i = Math.max(0, Math.min(this.points.length, Math.floor(e))), a = Math.max(i, Math.min(this.points.length, Math.floor(t))), o = a - i, s = Ui(r, o);
|
|
3301
3322
|
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);
|
|
3302
3323
|
}
|
|
3303
3324
|
allIndexes(e, t) {
|
|
@@ -3317,24 +3338,24 @@ var Ui = class {
|
|
|
3317
3338
|
if (i === 0) return this.indexes([e, t - 1]);
|
|
3318
3339
|
let a = [e];
|
|
3319
3340
|
for (let n = 0; n < i; n += 1) {
|
|
3320
|
-
let o =
|
|
3341
|
+
let o = Wi(n, i, e + 1, t - 1), s = this.queryExtrema(o.start, o.end);
|
|
3321
3342
|
if (!s) return;
|
|
3322
|
-
if (r === "min")
|
|
3323
|
-
else if (r === "max")
|
|
3324
|
-
else if (r === "minmax") s.minimum <= s.maximum ? (
|
|
3343
|
+
if (r === "min") Gi(a, s.minimum);
|
|
3344
|
+
else if (r === "max") Gi(a, s.maximum);
|
|
3345
|
+
else if (r === "minmax") s.minimum <= s.maximum ? (Gi(a, s.minimum), Gi(a, s.maximum)) : (Gi(a, s.maximum), Gi(a, s.minimum));
|
|
3325
3346
|
else for (let e of [
|
|
3326
3347
|
o.start,
|
|
3327
3348
|
s.minimum,
|
|
3328
3349
|
s.maximum,
|
|
3329
3350
|
o.end - 1
|
|
3330
|
-
].sort((e, t) => e - t))
|
|
3351
|
+
].sort((e, t) => e - t)) Gi(a, e);
|
|
3331
3352
|
}
|
|
3332
|
-
return
|
|
3353
|
+
return Gi(a, t - 1), this.indexes(a);
|
|
3333
3354
|
}
|
|
3334
3355
|
aggregate(e, t, n, r) {
|
|
3335
3356
|
let i = new Float64Array(n), a = new Float64Array(n);
|
|
3336
3357
|
for (let o = 0; o < n; o += 1) {
|
|
3337
|
-
let s =
|
|
3358
|
+
let s = Wi(o, n, e, t), c = this.querySum(s.start, s.end);
|
|
3338
3359
|
if (!c || c.count === 0) return;
|
|
3339
3360
|
i[o] = c.x / c.count, a[o] = r === "average" ? c.y / c.count : c.y;
|
|
3340
3361
|
}
|
|
@@ -3349,7 +3370,7 @@ var Ui = class {
|
|
|
3349
3370
|
if (!this.ensureExtrema(n)) return;
|
|
3350
3371
|
let r = e, i = e;
|
|
3351
3372
|
for (let n = e; n < t;) {
|
|
3352
|
-
let e =
|
|
3373
|
+
let e = qi(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;
|
|
3353
3374
|
this.isMinimum(c, r) && (r = c), this.isMaximum(l, i) && (i = l), n += e;
|
|
3354
3375
|
}
|
|
3355
3376
|
return {
|
|
@@ -3362,7 +3383,7 @@ var Ui = class {
|
|
|
3362
3383
|
if (!this.ensureSum(n)) return;
|
|
3363
3384
|
let r = 0, i = 0, a = 0;
|
|
3364
3385
|
for (let n = e; n < t;) {
|
|
3365
|
-
let e =
|
|
3386
|
+
let e = qi(n, t - n), o = Math.floor(Math.log2(e)), s = n / e, c = this.sumLayers[o];
|
|
3366
3387
|
if (c) r += c.x[s], i += c.y[s], a += c.count[s];
|
|
3367
3388
|
else {
|
|
3368
3389
|
let e = this.points[n];
|
|
@@ -3383,7 +3404,7 @@ var Ui = class {
|
|
|
3383
3404
|
minimumIndexes: new Uint32Array(e),
|
|
3384
3405
|
maximumIndexes: new Uint32Array(e)
|
|
3385
3406
|
};
|
|
3386
|
-
if (!this.reserve(
|
|
3407
|
+
if (!this.reserve(Ki(n))) return !1;
|
|
3387
3408
|
let r = this.extremaLayers[t - 1];
|
|
3388
3409
|
for (let t = 0; t < e; t += 1) {
|
|
3389
3410
|
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;
|
|
@@ -3401,7 +3422,7 @@ var Ui = class {
|
|
|
3401
3422
|
y: new Float64Array(e),
|
|
3402
3423
|
count: new Uint32Array(e)
|
|
3403
3424
|
};
|
|
3404
|
-
if (!this.reserve(
|
|
3425
|
+
if (!this.reserve(Ki(n))) return !1;
|
|
3405
3426
|
let r = this.sumLayers[t - 1];
|
|
3406
3427
|
for (let t = 0; t < e; t += 1) {
|
|
3407
3428
|
let e = t * 2, i = e + 1;
|
|
@@ -3426,8 +3447,8 @@ var Ui = class {
|
|
|
3426
3447
|
let n = this.points[e], r = this.points[t];
|
|
3427
3448
|
return n.y > r.y || n.y === r.y && e < t;
|
|
3428
3449
|
}
|
|
3429
|
-
},
|
|
3430
|
-
function
|
|
3450
|
+
}, Yi = 1e3, Xi = I((e) => e.x);
|
|
3451
|
+
function Zi(e) {
|
|
3431
3452
|
let t = [], n = !0, r = -Infinity;
|
|
3432
3453
|
for (let i of e) !Number.isFinite(i.x) || !Number.isFinite(i.y) || (i.x < r && (n = !1), r = i.x, t.push({
|
|
3433
3454
|
x: i.x,
|
|
@@ -3438,7 +3459,7 @@ function Ki(e) {
|
|
|
3438
3459
|
}));
|
|
3439
3460
|
return n || t.sort((e, t) => e.x - t.x), t;
|
|
3440
3461
|
}
|
|
3441
|
-
function
|
|
3462
|
+
function Qi(e, t) {
|
|
3442
3463
|
let n = Infinity, r = -Infinity, i = Infinity, a = -Infinity;
|
|
3443
3464
|
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);
|
|
3444
3465
|
return {
|
|
@@ -3448,7 +3469,7 @@ function qi(e, t) {
|
|
|
3448
3469
|
yDomain: e.length ? [i, a] : null
|
|
3449
3470
|
};
|
|
3450
3471
|
}
|
|
3451
|
-
function
|
|
3472
|
+
function $i(e, t, n = e.length) {
|
|
3452
3473
|
let r = Infinity, i = -Infinity, a = Infinity, o = -Infinity;
|
|
3453
3474
|
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]);
|
|
3454
3475
|
return {
|
|
@@ -3458,39 +3479,39 @@ function Ji(e, t, n = e.length) {
|
|
|
3458
3479
|
yDomain: e.length ? [a, o] : null
|
|
3459
3480
|
};
|
|
3460
3481
|
}
|
|
3461
|
-
function
|
|
3482
|
+
function ea(e, t) {
|
|
3462
3483
|
return e ? e.revision === t ? "ok" : "stale-revision" : "not-found";
|
|
3463
3484
|
}
|
|
3464
|
-
function
|
|
3485
|
+
function ta(e) {
|
|
3465
3486
|
return e === "auto" ? "peak" : e;
|
|
3466
3487
|
}
|
|
3467
|
-
function
|
|
3488
|
+
function na(e) {
|
|
3468
3489
|
if (Number.isFinite(e.maxPointCount) && (e.maxPointCount ?? 0) >= 1) return Math.floor(e.maxPointCount);
|
|
3469
3490
|
let t = Number.isFinite(e.plotWidth) ? Math.max(0, e.plotWidth) : 0, n = Number.isFinite(e.maxPointsPerPixel) ? Math.max(0, e.maxPointsPerPixel ?? 0) : 4;
|
|
3470
3491
|
return Math.max(1, Math.floor(t * n));
|
|
3471
3492
|
}
|
|
3472
|
-
function
|
|
3493
|
+
function ra(e, t) {
|
|
3473
3494
|
if (e.mode === "raw") return !0;
|
|
3474
3495
|
if (e.mode !== "auto") return !1;
|
|
3475
|
-
let n = Number.isFinite(e.autoThreshold) ? Math.max(1, Math.floor(e.autoThreshold ?? 0)) :
|
|
3496
|
+
let n = Number.isFinite(e.autoThreshold) ? Math.max(1, Math.floor(e.autoThreshold ?? 0)) : Yi;
|
|
3476
3497
|
if (!e.previousSelectedMode) return t <= n;
|
|
3477
3498
|
let r = Number.isFinite(e.autoHysteresis) ? Math.max(0, Math.floor(e.autoHysteresis ?? 0)) : 0;
|
|
3478
3499
|
return e.previousSelectedMode === "raw" ? t <= n + r : t <= Math.max(0, n - r);
|
|
3479
3500
|
}
|
|
3480
|
-
function
|
|
3501
|
+
function ia(e, t) {
|
|
3481
3502
|
let n = e[0], r = e.at(-1);
|
|
3482
|
-
return Number.isFinite(t) && n && r && t >= n.x && t <= r.x ? e[
|
|
3503
|
+
return Number.isFinite(t) && n && r && t >= n.x && t <= r.x ? e[Xi.center(e, t)] : void 0;
|
|
3483
3504
|
}
|
|
3484
|
-
function
|
|
3505
|
+
function aa(e) {
|
|
3485
3506
|
return e ? e.kind === "source-indexes" ? e.sourceIndexes.length : e.x.length : 0;
|
|
3486
3507
|
}
|
|
3487
|
-
function
|
|
3508
|
+
function oa(e, t) {
|
|
3488
3509
|
return e.kind === "aggregates" ? e : {
|
|
3489
3510
|
kind: "source-indexes",
|
|
3490
3511
|
sourceIndexes: Uint32Array.from(e.sourceIndexes, (e) => e + t)
|
|
3491
3512
|
};
|
|
3492
3513
|
}
|
|
3493
|
-
function
|
|
3514
|
+
function sa(e, t, n, r, i) {
|
|
3494
3515
|
return [
|
|
3495
3516
|
e.datasetId,
|
|
3496
3517
|
e.revision,
|
|
@@ -3510,14 +3531,14 @@ function na(e, t, n, r, i) {
|
|
|
3510
3531
|
e.errorBarMinSpacing ?? 0
|
|
3511
3532
|
].join("\0");
|
|
3512
3533
|
}
|
|
3513
|
-
function
|
|
3534
|
+
function ca(e, t, n, r, i, a, o, s) {
|
|
3514
3535
|
return {
|
|
3515
3536
|
seriesId: e.seriesId,
|
|
3516
3537
|
datasetId: e.datasetId,
|
|
3517
3538
|
mode: e.mode,
|
|
3518
3539
|
selectedMode: i,
|
|
3519
3540
|
backend: r,
|
|
3520
|
-
strategy:
|
|
3541
|
+
strategy: ta(e.strategy),
|
|
3521
3542
|
sourcePointCount: t,
|
|
3522
3543
|
visiblePointCount: n,
|
|
3523
3544
|
renderedPointCount: o,
|
|
@@ -3533,18 +3554,18 @@ function ra(e, t, n, r, i, a, o, s) {
|
|
|
3533
3554
|
}
|
|
3534
3555
|
//#endregion
|
|
3535
3556
|
//#region src/core/workerSampling/repositoryDataset.ts
|
|
3536
|
-
function
|
|
3557
|
+
function la(e) {
|
|
3537
3558
|
return e?.y.length ?? 0;
|
|
3538
3559
|
}
|
|
3539
|
-
function
|
|
3560
|
+
function ua(e, t) {
|
|
3540
3561
|
return e.x ? e.x[t] : e.sampleStartTime + (e.sampleSourceIndexes?.[t] ?? t) / e.sampleRate;
|
|
3541
3562
|
}
|
|
3542
|
-
function
|
|
3563
|
+
function da(e, t) {
|
|
3543
3564
|
let n = (t, n) => {
|
|
3544
|
-
let r = 0, i =
|
|
3565
|
+
let r = 0, i = la(e);
|
|
3545
3566
|
for (; r < i;) {
|
|
3546
3567
|
let a = r + Math.floor((i - r) / 2);
|
|
3547
|
-
(n ?
|
|
3568
|
+
(n ? ua(e, a) <= t : ua(e, a) < t) ? r = a + 1 : i = a;
|
|
3548
3569
|
}
|
|
3549
3570
|
return r;
|
|
3550
3571
|
}, r = Math.min(t[0], t[1]), i = Math.max(t[0], t[1]);
|
|
@@ -3553,13 +3574,13 @@ function oa(e, t) {
|
|
|
3553
3574
|
end: n(i, !0)
|
|
3554
3575
|
};
|
|
3555
3576
|
}
|
|
3556
|
-
function
|
|
3557
|
-
return e.x ? e.x.subarray(t, n) : Float64Array.from({ length: n - t }, (n, r) =>
|
|
3577
|
+
function fa(e, t, n) {
|
|
3578
|
+
return e.x ? e.x.subarray(t, n) : Float64Array.from({ length: n - t }, (n, r) => ua(e, t + r));
|
|
3558
3579
|
}
|
|
3559
|
-
function
|
|
3580
|
+
function pa(e) {
|
|
3560
3581
|
return e?.kind === "wasm" && "registerDataset" in e && "disposeDataset" in e && "disposeAllDatasets" in e && "datasetIndexBytes" in e && "registerSamples" in e && "sampleDataset" in e;
|
|
3561
3582
|
}
|
|
3562
|
-
function
|
|
3583
|
+
function ma(e, t) {
|
|
3563
3584
|
let n = [], r = Math.min(e.length, t.length);
|
|
3564
3585
|
for (let i = 0; i < r; i += 1) Number.isFinite(e[i]) && Number.isFinite(t[i]) && n.push(i);
|
|
3565
3586
|
return n.sort((t, n) => e[t] - e[n] || t - n), {
|
|
@@ -3567,14 +3588,14 @@ function la(e, t) {
|
|
|
3567
3588
|
y: Float64Array.from(n, (e) => t[e])
|
|
3568
3589
|
};
|
|
3569
3590
|
}
|
|
3570
|
-
function
|
|
3591
|
+
function ha(e, t, n, r) {
|
|
3571
3592
|
if (t?.kind === "typed") {
|
|
3572
|
-
let e =
|
|
3593
|
+
let e = ma(t.x, t.y);
|
|
3573
3594
|
return {
|
|
3574
3595
|
x: e.x,
|
|
3575
3596
|
y: e.y,
|
|
3576
3597
|
revision: n,
|
|
3577
|
-
metrics:
|
|
3598
|
+
metrics: $i(e.x, e.y, Math.max(t.x.length, t.y.length))
|
|
3578
3599
|
};
|
|
3579
3600
|
}
|
|
3580
3601
|
if (t?.kind === "samples") {
|
|
@@ -3608,35 +3629,35 @@ function ua(e, t, n, r) {
|
|
|
3608
3629
|
}
|
|
3609
3630
|
};
|
|
3610
3631
|
}
|
|
3611
|
-
let i =
|
|
3632
|
+
let i = Zi(e ?? t?.points ?? []);
|
|
3612
3633
|
return {
|
|
3613
3634
|
x: Float64Array.from(i, (e) => e.x),
|
|
3614
3635
|
y: Float64Array.from(i, (e) => e.y),
|
|
3615
3636
|
points: i,
|
|
3616
3637
|
revision: n,
|
|
3617
|
-
metrics:
|
|
3618
|
-
index: new
|
|
3638
|
+
metrics: Qi(i, e?.length ?? t?.points.length ?? 0),
|
|
3639
|
+
index: new Ji(i, { maxBytes: r })
|
|
3619
3640
|
};
|
|
3620
3641
|
}
|
|
3621
|
-
function
|
|
3622
|
-
!
|
|
3642
|
+
function ga(e, t, n) {
|
|
3643
|
+
!pa(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));
|
|
3623
3644
|
}
|
|
3624
|
-
function
|
|
3625
|
-
t.index?.dispose(), t.wasmDatasetHandle !== void 0 &&
|
|
3645
|
+
function _a(e, t) {
|
|
3646
|
+
t.index?.dispose(), t.wasmDatasetHandle !== void 0 && pa(e) && e.disposeDataset(t.wasmDatasetHandle);
|
|
3626
3647
|
}
|
|
3627
3648
|
//#endregion
|
|
3628
3649
|
//#region src/core/workerSampling/samplingCache.ts
|
|
3629
|
-
var
|
|
3630
|
-
function
|
|
3650
|
+
var va = 96, ya = 16 * 1024 * 1024;
|
|
3651
|
+
function ba(e) {
|
|
3631
3652
|
return e.kind === "source-indexes" ? e.sourceIndexes.byteLength : e.x.byteLength + e.y.byteLength;
|
|
3632
3653
|
}
|
|
3633
|
-
var
|
|
3654
|
+
var xa = class {
|
|
3634
3655
|
entries = /* @__PURE__ */ new Map();
|
|
3635
3656
|
bytes = 0;
|
|
3636
3657
|
maxEntries;
|
|
3637
3658
|
maxBytes;
|
|
3638
3659
|
constructor(e = {}) {
|
|
3639
|
-
this.maxEntries = Number.isFinite(e.maxEntries) ? Math.max(0, Math.floor(e.maxEntries ?? 0)) :
|
|
3660
|
+
this.maxEntries = Number.isFinite(e.maxEntries) ? Math.max(0, Math.floor(e.maxEntries ?? 0)) : va, this.maxBytes = Number.isFinite(e.maxBytes) ? Math.max(0, Math.floor(e.maxBytes ?? 0)) : ya;
|
|
3640
3661
|
}
|
|
3641
3662
|
get metrics() {
|
|
3642
3663
|
return {
|
|
@@ -3651,7 +3672,7 @@ var ga = class {
|
|
|
3651
3672
|
if (t) return this.entries.delete(e), this.entries.set(e, t), t.output;
|
|
3652
3673
|
}
|
|
3653
3674
|
set(e, t) {
|
|
3654
|
-
let n =
|
|
3675
|
+
let n = ba(t);
|
|
3655
3676
|
if (n > this.maxBytes || this.maxEntries === 0) return;
|
|
3656
3677
|
let r = this.entries.get(e);
|
|
3657
3678
|
for (r && (this.bytes -= r.bytes, this.entries.delete(e)), this.entries.set(e, {
|
|
@@ -3671,14 +3692,14 @@ var ga = class {
|
|
|
3671
3692
|
clear() {
|
|
3672
3693
|
this.entries.clear(), this.bytes = 0;
|
|
3673
3694
|
}
|
|
3674
|
-
},
|
|
3695
|
+
}, Sa = class {
|
|
3675
3696
|
datasets = /* @__PURE__ */ new Map();
|
|
3676
3697
|
javascriptBackend;
|
|
3677
3698
|
cache;
|
|
3678
3699
|
indexMaxBytes;
|
|
3679
3700
|
wasmBackend;
|
|
3680
3701
|
constructor(e = {}) {
|
|
3681
|
-
this.javascriptBackend = e.javascriptBackend ??
|
|
3702
|
+
this.javascriptBackend = e.javascriptBackend ?? Vi, this.wasmBackend = e.wasmBackend, this.indexMaxBytes = e.indexMaxBytes, this.cache = new xa({
|
|
3682
3703
|
maxEntries: e.cacheMaxEntries,
|
|
3683
3704
|
maxBytes: e.cacheMaxBytes
|
|
3684
3705
|
});
|
|
@@ -3691,9 +3712,9 @@ var ga = class {
|
|
|
3691
3712
|
};
|
|
3692
3713
|
}
|
|
3693
3714
|
setWasmBackend(e) {
|
|
3694
|
-
this.wasmBackend && this.wasmBackend !== e &&
|
|
3715
|
+
this.wasmBackend && this.wasmBackend !== e && pa(this.wasmBackend) && (this.wasmBackend.disposeAllDatasets(), this.datasets.forEach((e) => {
|
|
3695
3716
|
e.wasmDatasetHandle = void 0, e.wasmIndexBytes = void 0;
|
|
3696
|
-
})), this.wasmBackend = e,
|
|
3717
|
+
})), this.wasmBackend = e, pa(e) && this.datasets.forEach((t) => ga(e, t, this.indexMaxBytes));
|
|
3697
3718
|
}
|
|
3698
3719
|
handle(e) {
|
|
3699
3720
|
switch (e.type) {
|
|
@@ -3709,15 +3730,15 @@ var ga = class {
|
|
|
3709
3730
|
register(e, t, n, r) {
|
|
3710
3731
|
let i = this.datasets.get(e);
|
|
3711
3732
|
if (i) return this.datasetResponse(t, e, i, "stale-revision");
|
|
3712
|
-
let a =
|
|
3713
|
-
return
|
|
3733
|
+
let a = ha(n, r, 1, this.indexMaxBytes);
|
|
3734
|
+
return ga(this.wasmBackend, a, this.indexMaxBytes), this.datasets.set(e, a), this.datasetResponse(t, e, a, "ok");
|
|
3714
3735
|
}
|
|
3715
3736
|
replace(e, t, n, r, i) {
|
|
3716
|
-
let a = this.datasets.get(e), o =
|
|
3737
|
+
let a = this.datasets.get(e), o = ea(a, n);
|
|
3717
3738
|
if (o !== "ok" || !a) return this.datasetResponse(t, e, a, o);
|
|
3718
|
-
|
|
3719
|
-
let s =
|
|
3720
|
-
return
|
|
3739
|
+
_a(this.wasmBackend, a), this.cache.deleteDataset(e);
|
|
3740
|
+
let s = ha(r, i, a.revision + 1, this.indexMaxBytes);
|
|
3741
|
+
return ga(this.wasmBackend, s, this.indexMaxBytes), this.datasets.set(e, s), this.datasetResponse(t, e, s, "ok");
|
|
3721
3742
|
}
|
|
3722
3743
|
sample(e) {
|
|
3723
3744
|
return {
|
|
@@ -3727,28 +3748,28 @@ var ga = class {
|
|
|
3727
3748
|
};
|
|
3728
3749
|
}
|
|
3729
3750
|
sampleSeries(e, t) {
|
|
3730
|
-
let n = performance.now(), r = this.datasets.get(t.datasetId), i =
|
|
3751
|
+
let n = performance.now(), r = this.datasets.get(t.datasetId), i = ea(r, t.revision);
|
|
3731
3752
|
if (i !== "ok" || !r) return this.sampleResponse(e, t, i, void 0, "unavailable", "sampled", 0, n, !1);
|
|
3732
|
-
let a =
|
|
3733
|
-
if (
|
|
3753
|
+
let a = da(r, t.xDomain), o = a.end - a.start;
|
|
3754
|
+
if (ra(t, o)) return this.sampleResponse(e, t, "ok", {
|
|
3734
3755
|
kind: "source-indexes",
|
|
3735
3756
|
sourceIndexes: Uint32Array.from({ length: o }, (e, t) => a.start + t)
|
|
3736
3757
|
}, "raw", "raw", o, n, !1);
|
|
3737
3758
|
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);
|
|
3738
3759
|
if (!l) return this.sampleResponse(e, t, "wasm-unavailable", void 0, "unavailable", "sampled", o, n, !1);
|
|
3739
|
-
let u =
|
|
3760
|
+
let u = ta(t.strategy), d = na(t), f = sa(t, a, u, d, l.kind), p = this.cache.get(f);
|
|
3740
3761
|
if (p) return this.sampleResponse(e, t, c ? "wasm-unavailable" : "ok", p, l.kind, "sampled", o, n, !0);
|
|
3741
|
-
let m = (l.kind === "wasm" ? r.wasmDatasetHandle !== void 0 &&
|
|
3742
|
-
x:
|
|
3762
|
+
let m = (l.kind === "wasm" ? r.wasmDatasetHandle !== void 0 && pa(l) ? l.sampleDataset(r.wasmDatasetHandle, a.start, a.end, u, d) : void 0 : r.index?.sample(a.start, a.end, u, d)) ?? oa(l.sample({
|
|
3763
|
+
x: fa(r, a.start, a.end),
|
|
3743
3764
|
y: r.y.subarray(a.start, a.end),
|
|
3744
3765
|
points: r.points?.slice(a.start, a.end) ?? [],
|
|
3745
3766
|
strategy: u,
|
|
3746
3767
|
targetPointCount: d
|
|
3747
3768
|
}), a.start);
|
|
3748
|
-
return this.cache.set(f, m), r.wasmDatasetHandle !== void 0 &&
|
|
3769
|
+
return this.cache.set(f, m), r.wasmDatasetHandle !== void 0 && pa(l) && (r.wasmIndexBytes = l.datasetIndexBytes(r.wasmDatasetHandle)), this.sampleResponse(e, t, c ? "wasm-unavailable" : "ok", m, l.kind, "sampled", o, n, !1);
|
|
3749
3770
|
}
|
|
3750
3771
|
sampleResponse(e, t, n, r, i, a, o, s, c) {
|
|
3751
|
-
let l =
|
|
3772
|
+
let l = ca(t, la(this.datasets.get(t.datasetId)), o, i, a, performance.now() - s, aa(r), c);
|
|
3752
3773
|
return l.requestId = e, {
|
|
3753
3774
|
seriesId: t.seriesId,
|
|
3754
3775
|
datasetId: t.datasetId,
|
|
@@ -3759,7 +3780,7 @@ var ga = class {
|
|
|
3759
3780
|
};
|
|
3760
3781
|
}
|
|
3761
3782
|
findNearest(e, t, n, r) {
|
|
3762
|
-
let i = this.datasets.get(e), a =
|
|
3783
|
+
let i = this.datasets.get(e), a = ea(i, n);
|
|
3763
3784
|
return a !== "ok" || !i ? {
|
|
3764
3785
|
type: "find-nearest-point-response",
|
|
3765
3786
|
requestId: t,
|
|
@@ -3772,12 +3793,12 @@ var ga = class {
|
|
|
3772
3793
|
datasetId: e,
|
|
3773
3794
|
revision: n,
|
|
3774
3795
|
status: a,
|
|
3775
|
-
point: i.points ?
|
|
3776
|
-
let e =
|
|
3777
|
-
if (!
|
|
3778
|
-
let t = Math.min(
|
|
3779
|
-
return Number.isFinite(r) &&
|
|
3780
|
-
x:
|
|
3796
|
+
point: i.points ? ia(i.points, r) : (() => {
|
|
3797
|
+
let e = da(i, [r, r]);
|
|
3798
|
+
if (!la(i) || r < ua(i, 0) || r > ua(i, la(i) - 1)) return;
|
|
3799
|
+
let t = Math.min(la(i) - 1, e.start), n = Math.max(0, t - 1), a = Math.abs(r - ua(i, n)) < Math.abs(ua(i, t) - r) ? n : t;
|
|
3800
|
+
return Number.isFinite(r) && la(i) ? {
|
|
3801
|
+
x: ua(i, a),
|
|
3781
3802
|
y: i.y[a]
|
|
3782
3803
|
} : void 0;
|
|
3783
3804
|
})()
|
|
@@ -3785,15 +3806,15 @@ var ga = class {
|
|
|
3785
3806
|
}
|
|
3786
3807
|
metrics(e, t, n) {
|
|
3787
3808
|
let r = this.datasets.get(e);
|
|
3788
|
-
return this.datasetResponse(t, e, r,
|
|
3809
|
+
return this.datasetResponse(t, e, r, ea(r, n));
|
|
3789
3810
|
}
|
|
3790
3811
|
dispose(e, t, n) {
|
|
3791
|
-
let r = this.datasets.get(e), i =
|
|
3792
|
-
return i === "ok" && r && (
|
|
3812
|
+
let r = this.datasets.get(e), i = ea(r, n);
|
|
3813
|
+
return i === "ok" && r && (_a(this.wasmBackend, r), this.cache.deleteDataset(e), this.datasets.delete(e)), this.datasetResponse(t, e, r, i);
|
|
3793
3814
|
}
|
|
3794
3815
|
disposeAll(e) {
|
|
3795
3816
|
let t = [...this.datasets.keys()];
|
|
3796
|
-
return this.datasets.forEach((e) =>
|
|
3817
|
+
return this.datasets.forEach((e) => _a(this.wasmBackend, e)), pa(this.wasmBackend) && this.wasmBackend.disposeAllDatasets(), this.datasets.clear(), this.cache.clear(), {
|
|
3797
3818
|
type: "dispose-all-response",
|
|
3798
3819
|
requestId: e,
|
|
3799
3820
|
disposedDatasetIds: t
|
|
@@ -3815,10 +3836,10 @@ var ga = class {
|
|
|
3815
3836
|
};
|
|
3816
3837
|
//#endregion
|
|
3817
3838
|
//#region src/components/core/latestTaskScheduler.ts
|
|
3818
|
-
function
|
|
3839
|
+
function Ca(e, t, n, r) {
|
|
3819
3840
|
return r ? r === "raw" ? e <= t + n ? "raw" : "sampled" : e <= Math.max(0, t - n) ? "raw" : "sampled" : e <= t ? "raw" : "sampled";
|
|
3820
3841
|
}
|
|
3821
|
-
function
|
|
3842
|
+
function wa() {
|
|
3822
3843
|
let e = 0, t = !1, n, r = !1, i = {
|
|
3823
3844
|
scheduled: 0,
|
|
3824
3845
|
coalesced: 0,
|
|
@@ -3857,12 +3878,12 @@ function ya() {
|
|
|
3857
3878
|
}
|
|
3858
3879
|
//#endregion
|
|
3859
3880
|
//#region src/components/core/workerSamplingClient.ts
|
|
3860
|
-
function
|
|
3881
|
+
function Ta(e) {
|
|
3861
3882
|
return e?.message || "Web Worker is unavailable; JavaScript sampling is being used.";
|
|
3862
3883
|
}
|
|
3863
|
-
function
|
|
3884
|
+
function Ea() {
|
|
3864
3885
|
let e, t, n, r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map(), a = () => {
|
|
3865
|
-
t ??= new
|
|
3886
|
+
t ??= new Sa();
|
|
3866
3887
|
for (let [e, n] of i) {
|
|
3867
3888
|
t.handle({
|
|
3868
3889
|
type: "register-dataset",
|
|
@@ -3898,7 +3919,7 @@ function xa() {
|
|
|
3898
3919
|
let t = a();
|
|
3899
3920
|
e.forEach(({ request: e, resolve: n }) => n(t.handle(e)));
|
|
3900
3921
|
}, c = (r) => {
|
|
3901
|
-
t || (n =
|
|
3922
|
+
t || (n = Ta(r), e?.terminate(), e = void 0, s());
|
|
3902
3923
|
};
|
|
3903
3924
|
try {
|
|
3904
3925
|
typeof Worker > "u" ? c() : (e = new Worker(new URL(
|
|
@@ -3935,20 +3956,20 @@ function xa() {
|
|
|
3935
3956
|
}
|
|
3936
3957
|
};
|
|
3937
3958
|
}
|
|
3938
|
-
function
|
|
3959
|
+
function Da(e) {
|
|
3939
3960
|
return e.type === "dataset-response";
|
|
3940
3961
|
}
|
|
3941
3962
|
//#endregion
|
|
3942
3963
|
//#region src/components/core/useWaveformRenderSampling.ts
|
|
3943
|
-
var
|
|
3944
|
-
function
|
|
3964
|
+
var Oa = 120;
|
|
3965
|
+
function ka(e, t) {
|
|
3945
3966
|
let n = e.output;
|
|
3946
3967
|
if (n) return n.kind === "aggregates" ? Array.from(n.x, (e, t) => ({
|
|
3947
3968
|
x: e,
|
|
3948
3969
|
y: n.y[t]
|
|
3949
3970
|
})) : Array.from(n.sourceIndexes, (e) => t.pointAt(e)).filter((e) => e !== void 0);
|
|
3950
3971
|
}
|
|
3951
|
-
function
|
|
3972
|
+
function Aa(e, t) {
|
|
3952
3973
|
let n = e.request, r = e.visibleRange.end - e.visibleRange.start;
|
|
3953
3974
|
return {
|
|
3954
3975
|
seriesId: n.seriesId,
|
|
@@ -3970,7 +3991,7 @@ function Ta(e, t) {
|
|
|
3970
3991
|
maxPendingRequestCount: 0
|
|
3971
3992
|
};
|
|
3972
3993
|
}
|
|
3973
|
-
function
|
|
3994
|
+
function ja(e) {
|
|
3974
3995
|
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));
|
|
3975
3996
|
if (i <= a) return t.pointsInRange(n, r);
|
|
3976
3997
|
if (a === 1) return t.pointAt(n) ? [t.pointAt(n)] : [];
|
|
@@ -3981,7 +4002,7 @@ function Ea(e) {
|
|
|
3981
4002
|
}
|
|
3982
4003
|
return o;
|
|
3983
4004
|
}
|
|
3984
|
-
function
|
|
4005
|
+
function Ma(e, t, n, r) {
|
|
3985
4006
|
return {
|
|
3986
4007
|
message: e,
|
|
3987
4008
|
mode: t,
|
|
@@ -3989,8 +4010,8 @@ function Da(e, t, n, r) {
|
|
|
3989
4010
|
seriesIds: r
|
|
3990
4011
|
};
|
|
3991
4012
|
}
|
|
3992
|
-
function
|
|
3993
|
-
let n = C(0), r, i = 0, a = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Map(), c = /* @__PURE__ */ new Set(), l = /* @__PURE__ */ new Map(), u =
|
|
4013
|
+
function Na(e) {
|
|
4014
|
+
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 = wa(), d, f, p = !1, m = t(() => {
|
|
3994
4015
|
let t = e.renderingOptions.value.sampling;
|
|
3995
4016
|
return e.sourceTrackLayouts.value.flatMap((n) => {
|
|
3996
4017
|
let r = n.xScale.domain();
|
|
@@ -4055,13 +4076,13 @@ function Oa(e) {
|
|
|
4055
4076
|
revision: 0,
|
|
4056
4077
|
dataset: t.source.toWorkerDataset()
|
|
4057
4078
|
});
|
|
4058
|
-
!u.isCurrent(n) || !
|
|
4079
|
+
!u.isCurrent(n) || !Da(r) || r.status !== "ok" && r.status !== "stale-revision" || a.set(t.request.datasetId, r.revision);
|
|
4059
4080
|
}));
|
|
4060
4081
|
}, x = async (t, n = !1) => {
|
|
4061
4082
|
let o = m.value, c = { ...e.linePointOverrides.value }, l = [], d = [];
|
|
4062
4083
|
if (o.forEach((e) => {
|
|
4063
|
-
let r = e.visibleRange.end - e.visibleRange.start, i = n ? s.get(e.series.id) : void 0, a = e.request.mode === "auto" &&
|
|
4064
|
-
e.request.mode === "raw" || a ? (c[e.series.id] = e.source.pointsInRange(e.visibleRange.start, e.visibleRange.end), s.set(e.series.id, "raw"), d.push(
|
|
4084
|
+
let r = e.visibleRange.end - e.visibleRange.start, i = n ? s.get(e.series.id) : void 0, a = e.request.mode === "auto" && Ca(r, e.request.autoThreshold, e.request.autoHysteresis ?? 0, i) === "raw";
|
|
4085
|
+
e.request.mode === "raw" || a ? (c[e.series.id] = e.source.pointsInRange(e.visibleRange.start, e.visibleRange.end), s.set(e.series.id, "raw"), d.push(Aa(e, t))) : (c[e.series.id]?.length || (c[e.series.id] = ja(e)), l.push({
|
|
4065
4086
|
...e,
|
|
4066
4087
|
request: {
|
|
4067
4088
|
...e.request,
|
|
@@ -4073,7 +4094,7 @@ function Oa(e) {
|
|
|
4073
4094
|
e.linePointOverrides.value = c, v(d);
|
|
4074
4095
|
return;
|
|
4075
4096
|
}
|
|
4076
|
-
if (e.linePointOverrides.value = c, r ??=
|
|
4097
|
+
if (e.linePointOverrides.value = c, r ??= Ea(), await b(r, l, t), !u.isCurrent(t)) return;
|
|
4077
4098
|
let f = l.map((e) => ({
|
|
4078
4099
|
...e.request,
|
|
4079
4100
|
revision: a.get(e.request.datasetId) ?? 1
|
|
@@ -4088,22 +4109,22 @@ function Oa(e) {
|
|
|
4088
4109
|
p = e;
|
|
4089
4110
|
} catch (n) {
|
|
4090
4111
|
if (!u.isCurrent(t)) return;
|
|
4091
|
-
y(
|
|
4112
|
+
y(Ma(n instanceof Error ? n.message : String(n), e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id)));
|
|
4092
4113
|
return;
|
|
4093
4114
|
}
|
|
4094
4115
|
if (!u.isCurrent(t)) return;
|
|
4095
4116
|
let h = new Map(l.map((e) => [e.series.id, e.source]));
|
|
4096
4117
|
p.results.forEach((e) => {
|
|
4097
|
-
let t = h.get(e.seriesId), n = t ?
|
|
4098
|
-
n && (e.status === "ok" || e.status === "wasm-unavailable") && (c[e.seriesId] = n), d.push(e.diagnostics), s.set(e.seriesId, e.diagnostics.selectedMode), e.status === "wasm-unavailable" && y(
|
|
4099
|
-
}), p.workerError && y(
|
|
4118
|
+
let t = h.get(e.seriesId), n = t ? ka(e, t) : void 0;
|
|
4119
|
+
n && (e.status === "ok" || e.status === "wasm-unavailable") && (c[e.seriesId] = n), d.push(e.diagnostics), s.set(e.seriesId, e.diagnostics.selectedMode), e.status === "wasm-unavailable" && y(Ma(p.workerError ?? "WASM sampling is unavailable.", e.diagnostics.mode, e.diagnostics.backend === "javascript" ? "javascript" : "none", [e.seriesId]));
|
|
4120
|
+
}), p.workerError && y(Ma(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(Ma(r.workerFailureReason, e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id))), e.linePointOverrides.value = { ...c }, v(d);
|
|
4100
4121
|
};
|
|
4101
4122
|
return O(h, () => {
|
|
4102
4123
|
f && clearTimeout(f);
|
|
4103
4124
|
let t = p;
|
|
4104
4125
|
p = !0, u.schedule((e) => x(e, t)), t && e.renderingOptions.value.sampling.mode === "auto" && e.renderingOptions.value.sampling.autoHysteresis > 0 && (f = setTimeout(() => {
|
|
4105
4126
|
f = void 0, u.schedule((e) => x(e, !1));
|
|
4106
|
-
},
|
|
4127
|
+
}, Oa));
|
|
4107
4128
|
}, { immediate: !0 }), O(e.preparedSeries, () => {
|
|
4108
4129
|
u.cancelPending(), n.value += 1, e.linePointOverrides.value = {}, a.clear(), o.clear(), s.clear(), c.clear(), r?.dispose(), r = void 0;
|
|
4109
4130
|
}, { flush: "sync" }), _(() => {
|
|
@@ -4112,10 +4133,10 @@ function Oa(e) {
|
|
|
4112
4133
|
}
|
|
4113
4134
|
//#endregion
|
|
4114
4135
|
//#region src/components/core/useWaveformChartController.ts
|
|
4115
|
-
function
|
|
4136
|
+
function Pa(e, t) {
|
|
4116
4137
|
e.value = t instanceof Element ? t : void 0;
|
|
4117
4138
|
}
|
|
4118
|
-
function
|
|
4139
|
+
function Fa(e, t) {
|
|
4119
4140
|
let n = b(), r = b(), i = b(), a = b(), o = b(0), s = b(0), c = b(0), l = b(0), u = b(0), f = C(q), p = C([]), m = b({}), h = b({}), g = S({
|
|
4120
4141
|
points: [],
|
|
4121
4142
|
trackIndex: null,
|
|
@@ -4125,13 +4146,13 @@ function Aa(e, t) {
|
|
|
4125
4146
|
x: 0,
|
|
4126
4147
|
y: 0
|
|
4127
4148
|
}
|
|
4128
|
-
}), _ = b(!1), v = b(1), x = C(), w = ce("waveform-clip"), E = b(new Set(e.defaultHiddenSeriesIds)), D = mt(), A = C({}), j = b([]), M =
|
|
4149
|
+
}), _ = b(!1), v = b(1), x = C(), w = ce("waveform-clip"), E = b(new Set(e.defaultHiddenSeriesIds)), D = mt(), A = C({}), j = b([]), M = Rr();
|
|
4129
4150
|
O([() => e.yDomain, () => e.yDomains], () => {
|
|
4130
4151
|
m.value = {}, h.value = {};
|
|
4131
4152
|
}, { deep: !0 });
|
|
4132
|
-
let N = C(null), P = b(!1), F = b(!1), I = () => void 0, L = () => void 0, R = () => void 0, z =
|
|
4153
|
+
let N = C(null), P = b(!1), F = b(!1), I = () => void 0, L = () => void 0, R = () => void 0, z = Ur(() => e.data, () => {
|
|
4133
4154
|
R(), I();
|
|
4134
|
-
}, () => L()), B =
|
|
4155
|
+
}, () => L()), B = ji({
|
|
4135
4156
|
props: e,
|
|
4136
4157
|
observedWidth: o,
|
|
4137
4158
|
observedHeight: s,
|
|
@@ -4139,7 +4160,7 @@ function Aa(e, t) {
|
|
|
4139
4160
|
measuredTitleHeight: l,
|
|
4140
4161
|
internalHiddenSeriesIds: E,
|
|
4141
4162
|
paginationBandHeight: u
|
|
4142
|
-
}), { chartWidth: V, chartHeight: H, isCleanView: U, isPresentationMode: W, hiddenSeriesIdSet: G, resolvedTitleText: ee, titleAreaReserved: te, titleMeasureStyle: ne, titleAreaHeight: re, chartTopMargin: K, innerHeight: J } = B, ie =
|
|
4163
|
+
}), { chartWidth: V, chartHeight: H, isCleanView: U, isPresentationMode: W, hiddenSeriesIdSet: G, resolvedTitleText: ee, titleAreaReserved: te, titleMeasureStyle: ne, titleAreaHeight: re, chartTopMargin: K, innerHeight: J } = B, ie = Di({
|
|
4143
4164
|
props: e,
|
|
4144
4165
|
preparedSeries: z,
|
|
4145
4166
|
currentPage: v,
|
|
@@ -4154,7 +4175,7 @@ function Aa(e, t) {
|
|
|
4154
4175
|
annotationInteraction: d(D),
|
|
4155
4176
|
linePointOverrides: A
|
|
4156
4177
|
}), { chartSeries: ae, chartTracks: oe, renderingOptions: se, trackLayouts: le, gridOptions: ue, pageCount: Y, pagedTracks: de, resolvedChartLeftMargin: fe, innerWidth: pe, hasChartArea: me, activeInteractionMode: he, isZoomMode: ge, initialXDomain: _e, sharedZoomDomain: ve, resolveInitialTrackDomain: ye, annotationLayoutsForTrack: be, resolveSeriesYScale: xe } = ie;
|
|
4157
|
-
|
|
4178
|
+
Na({
|
|
4158
4179
|
props: e,
|
|
4159
4180
|
emit: t,
|
|
4160
4181
|
instanceId: w,
|
|
@@ -4165,7 +4186,7 @@ function Aa(e, t) {
|
|
|
4165
4186
|
}), k(() => {
|
|
4166
4187
|
u.value = ue.value.showPagination && Y.value > 1 && V.value <= 520 ? 40 : 0;
|
|
4167
4188
|
});
|
|
4168
|
-
let X =
|
|
4189
|
+
let X = zr({
|
|
4169
4190
|
props: e,
|
|
4170
4191
|
emit: t,
|
|
4171
4192
|
svgElement: r,
|
|
@@ -4184,7 +4205,7 @@ function Aa(e, t) {
|
|
|
4184
4205
|
cancelPendingHover: () => we.cancelPendingHover()
|
|
4185
4206
|
});
|
|
4186
4207
|
R = X.prepareForDataChange;
|
|
4187
|
-
let Se =
|
|
4208
|
+
let Se = hr({
|
|
4188
4209
|
props: e,
|
|
4189
4210
|
emit: t,
|
|
4190
4211
|
container: n,
|
|
@@ -4204,7 +4225,7 @@ function Aa(e, t) {
|
|
|
4204
4225
|
chartTopMargin: K,
|
|
4205
4226
|
activeInteractionMode: he,
|
|
4206
4227
|
isPresentationMode: W
|
|
4207
|
-
}), Ce =
|
|
4228
|
+
}), Ce = Lr({
|
|
4208
4229
|
props: e,
|
|
4209
4230
|
emit: t,
|
|
4210
4231
|
selection: N,
|
|
@@ -4229,7 +4250,7 @@ function Aa(e, t) {
|
|
|
4229
4250
|
cancelPendingZoom: X.cancelPendingZoom,
|
|
4230
4251
|
clearHover: () => we.clearHover(),
|
|
4231
4252
|
resolveTrackAtPointer: Se.resolveTrackAtPointer
|
|
4232
|
-
}), we =
|
|
4253
|
+
}), we = gr({
|
|
4233
4254
|
emit: t,
|
|
4234
4255
|
hoverState: g,
|
|
4235
4256
|
suppressHoverUntilMove: _,
|
|
@@ -4244,7 +4265,7 @@ function Aa(e, t) {
|
|
|
4244
4265
|
isPresentationMode: W,
|
|
4245
4266
|
updateViewportDrag: Ce.updateViewportDrag,
|
|
4246
4267
|
resolveTrackAtPointer: Se.resolveTrackAtPointer
|
|
4247
|
-
}), Te =
|
|
4268
|
+
}), Te = Vr({
|
|
4248
4269
|
props: e,
|
|
4249
4270
|
emit: t,
|
|
4250
4271
|
container: n,
|
|
@@ -4307,34 +4328,34 @@ function Aa(e, t) {
|
|
|
4307
4328
|
editorSeriesOptions: j,
|
|
4308
4329
|
clipPathId: w,
|
|
4309
4330
|
goToPage: Te.goToPage,
|
|
4310
|
-
setContainer: (e) =>
|
|
4311
|
-
setSvgElement: (e) =>
|
|
4312
|
-
setTitleMeasureElement: (e) =>
|
|
4313
|
-
setSharedOverlayElement: (e) =>
|
|
4331
|
+
setContainer: (e) => Pa(n, e),
|
|
4332
|
+
setSvgElement: (e) => Pa(r, e),
|
|
4333
|
+
setTitleMeasureElement: (e) => Pa(i, e),
|
|
4334
|
+
setSharedOverlayElement: (e) => Pa(a, e)
|
|
4314
4335
|
});
|
|
4315
4336
|
}
|
|
4316
4337
|
//#endregion
|
|
4317
4338
|
//#region src/components/annotation/WaveformAnnotationEditor.vue?vue&type=script&setup=true&lang.ts
|
|
4318
|
-
var
|
|
4339
|
+
var Ia = ["id"], La = { class: "waveform-annotation-editor__content" }, Ra = {
|
|
4319
4340
|
class: "waveform-annotation-editor__coordinates",
|
|
4320
4341
|
"aria-label": "标注坐标"
|
|
4321
|
-
},
|
|
4342
|
+
}, za = ["aria-invalid"], Ba = {
|
|
4322
4343
|
class: "waveform-annotation-editor__coordinate-value",
|
|
4323
4344
|
"aria-hidden": "true"
|
|
4324
|
-
},
|
|
4345
|
+
}, Va = ["id"], Ha = {
|
|
4325
4346
|
key: 0,
|
|
4326
4347
|
class: "waveform-annotation-editor__series",
|
|
4327
4348
|
"aria-label": "标注所属波形"
|
|
4328
|
-
},
|
|
4349
|
+
}, Ua = { class: "waveform-annotation-editor__series-label" }, Wa = ["value"], Ga = ["value"], Ka = { key: 1 }, qa = { class: "waveform-annotation-editor__field" }, Ja = { class: "waveform-annotation-editor__label-row" }, Ya = ["maxlength"], Xa = { class: "waveform-annotation-editor__colors" }, Za = {
|
|
4329
4350
|
class: "waveform-annotation-editor__color-field",
|
|
4330
4351
|
title: "调整标注边框色和透明度"
|
|
4331
|
-
},
|
|
4352
|
+
}, Qa = {
|
|
4332
4353
|
class: "waveform-annotation-editor__color-field",
|
|
4333
4354
|
title: "调整标注文字色和透明度"
|
|
4334
|
-
},
|
|
4355
|
+
}, $a = {
|
|
4335
4356
|
class: "waveform-annotation-editor__color-field",
|
|
4336
4357
|
title: "调整标注背景色和透明度"
|
|
4337
|
-
},
|
|
4358
|
+
}, eo = /*#__PURE__*/ et(/* @__PURE__ */ l({
|
|
4338
4359
|
__name: "WaveformAnnotationEditor",
|
|
4339
4360
|
props: {
|
|
4340
4361
|
annotation: {},
|
|
@@ -4405,9 +4426,9 @@ var ja = ["id"], Ma = { class: "waveform-annotation-editor__content" }, Na = {
|
|
|
4405
4426
|
onCancel: o[4] ||= (e) => p("cancel"),
|
|
4406
4427
|
onOk: B
|
|
4407
4428
|
}, {
|
|
4408
|
-
title: A(() => [a("span", { id: E(g) }, w(d.mode === "add" ? "添加标注" : "编辑标注"), 9,
|
|
4409
|
-
default: A(() => [a("div",
|
|
4410
|
-
a("div",
|
|
4429
|
+
title: A(() => [a("span", { id: E(g) }, w(d.mode === "add" ? "添加标注" : "编辑标注"), 9, Ia)]),
|
|
4430
|
+
default: A(() => [a("div", La, [
|
|
4431
|
+
a("div", Ra, [
|
|
4411
4432
|
a("label", {
|
|
4412
4433
|
class: "waveform-annotation-editor__coordinate-input",
|
|
4413
4434
|
"aria-invalid": !!N.value
|
|
@@ -4430,26 +4451,26 @@ var ja = ["id"], Ma = { class: "waveform-annotation-editor__content" }, Na = {
|
|
|
4430
4451
|
"aria-invalid",
|
|
4431
4452
|
"aria-describedby"
|
|
4432
4453
|
]),
|
|
4433
|
-
a("code",
|
|
4434
|
-
], 8,
|
|
4454
|
+
a("code", Ba, w(y.value), 1)
|
|
4455
|
+
], 8, za),
|
|
4435
4456
|
N.value ? (v(), i("p", {
|
|
4436
4457
|
key: 0,
|
|
4437
4458
|
id: `${E(g)}-time-error`,
|
|
4438
4459
|
class: "waveform-annotation-editor__coordinate-error",
|
|
4439
4460
|
role: "alert"
|
|
4440
|
-
}, w(N.value), 9,
|
|
4461
|
+
}, w(N.value), 9, Va)) : r("", !0),
|
|
4441
4462
|
a("span", null, [o[6] ||= a("b", null, "Y", -1), a("code", null, w(E(Ot)(d.annotation.y)), 1)])
|
|
4442
4463
|
]),
|
|
4443
4464
|
o[13] ||= a("p", {
|
|
4444
4465
|
class: "waveform-annotation-editor__coordinate-hint",
|
|
4445
4466
|
role: "note"
|
|
4446
4467
|
}, " 修改 X 轴后失焦时会自动吸附最近的采样点 ", -1),
|
|
4447
|
-
I.value ? (v(), i("label",
|
|
4468
|
+
I.value ? (v(), i("label", Ha, [
|
|
4448
4469
|
a("i", {
|
|
4449
4470
|
style: m({ backgroundColor: I.value.color }),
|
|
4450
4471
|
"aria-hidden": "true"
|
|
4451
4472
|
}, null, 4),
|
|
4452
|
-
a("span",
|
|
4473
|
+
a("span", Ua, [o[7] ||= a("small", null, "标注波形", -1), a("b", null, w(I.value.name), 1)]),
|
|
4453
4474
|
d.seriesOptions?.length ? (v(), i("select", {
|
|
4454
4475
|
key: 0,
|
|
4455
4476
|
value: d.annotation.seriesId,
|
|
@@ -4458,9 +4479,9 @@ var ja = ["id"], Ma = { class: "waveform-annotation-editor__content" }, Na = {
|
|
|
4458
4479
|
}, [(v(!0), i(e, null, x(d.seriesOptions, (e) => (v(), i("option", {
|
|
4459
4480
|
key: e.seriesId,
|
|
4460
4481
|
value: e.seriesId
|
|
4461
|
-
}, w(e.name) + w(e.unit ? ` (${e.unit})` : ""), 9,
|
|
4482
|
+
}, w(e.name) + w(e.unit ? ` (${e.unit})` : ""), 9, Ga))), 128))], 40, Wa)) : I.value.unit ? (v(), i("code", Ka, w(I.value.unit), 1)) : r("", !0)
|
|
4462
4483
|
])) : r("", !0),
|
|
4463
|
-
a("label",
|
|
4484
|
+
a("label", qa, [a("span", Ja, [o[8] ||= a("b", null, "标注文本", -1), a("small", null, w(F.value) + "/" + w(E(40)), 1)]), j(a("textarea", {
|
|
4464
4485
|
ref_key: "textarea",
|
|
4465
4486
|
ref: h,
|
|
4466
4487
|
"onUpdate:modelValue": o[0] ||= (e) => _.value = e,
|
|
@@ -4469,10 +4490,10 @@ var ja = ["id"], Ma = { class: "waveform-annotation-editor__content" }, Na = {
|
|
|
4469
4490
|
"aria-label": "标注文本",
|
|
4470
4491
|
placeholder: "输入这处波形的说明",
|
|
4471
4492
|
onKeydown: V
|
|
4472
|
-
}, null, 40,
|
|
4473
|
-
a("fieldset",
|
|
4493
|
+
}, null, 40, Ya), [[D, _.value]])]),
|
|
4494
|
+
a("fieldset", Xa, [
|
|
4474
4495
|
o[12] ||= a("legend", null, "颜色与透明度", -1),
|
|
4475
|
-
a("label",
|
|
4496
|
+
a("label", Za, [o[9] ||= a("span", null, "边框色", -1), s(E(u), {
|
|
4476
4497
|
"pure-color": C.value,
|
|
4477
4498
|
"onUpdate:pureColor": o[1] ||= (e) => C.value = e,
|
|
4478
4499
|
"aria-label": "标注边框色",
|
|
@@ -4482,7 +4503,7 @@ var ja = ["id"], Ma = { class: "waveform-annotation-editor__content" }, Na = {
|
|
|
4482
4503
|
"disable-alpha": !1,
|
|
4483
4504
|
"blur-close": !0
|
|
4484
4505
|
}, null, 8, ["pure-color"])]),
|
|
4485
|
-
a("label",
|
|
4506
|
+
a("label", Qa, [o[10] ||= a("span", null, "文字色", -1), s(E(u), {
|
|
4486
4507
|
"pure-color": T.value,
|
|
4487
4508
|
"onUpdate:pureColor": o[2] ||= (e) => T.value = e,
|
|
4488
4509
|
"aria-label": "标注文字色",
|
|
@@ -4492,7 +4513,7 @@ var ja = ["id"], Ma = { class: "waveform-annotation-editor__content" }, Na = {
|
|
|
4492
4513
|
"disable-alpha": !1,
|
|
4493
4514
|
"blur-close": !0
|
|
4494
4515
|
}, null, 8, ["pure-color"])]),
|
|
4495
|
-
a("label",
|
|
4516
|
+
a("label", $a, [o[11] ||= a("span", null, "背景色", -1), s(E(u), {
|
|
4496
4517
|
"pure-color": k.value,
|
|
4497
4518
|
"onUpdate:pureColor": o[3] ||= (e) => k.value = e,
|
|
4498
4519
|
"aria-label": "标注背景色",
|
|
@@ -4507,13 +4528,13 @@ var ja = ["id"], Ma = { class: "waveform-annotation-editor__content" }, Na = {
|
|
|
4507
4528
|
_: 1
|
|
4508
4529
|
}, 8, ["ok-button-props"]));
|
|
4509
4530
|
}
|
|
4510
|
-
}), [["__scopeId", "data-v-01ecd3a4"]]),
|
|
4531
|
+
}), [["__scopeId", "data-v-01ecd3a4"]]), to = { class: "waveform-tooltip__series-content" }, no = { class: "waveform-tooltip__series-label" }, ro = {
|
|
4511
4532
|
key: 0,
|
|
4512
4533
|
class: "waveform-tooltip__value"
|
|
4513
|
-
},
|
|
4534
|
+
}, io = {
|
|
4514
4535
|
key: 1,
|
|
4515
4536
|
class: "waveform-tooltip__value waveform-tooltip__value--missing"
|
|
4516
|
-
},
|
|
4537
|
+
}, ao = 12, oo = 8, so = 238, co = 560, lo = 20, uo = 20, fo = /*#__PURE__*/ et(/* @__PURE__ */ l({
|
|
4517
4538
|
__name: "WaveformTooltip",
|
|
4518
4539
|
props: {
|
|
4519
4540
|
visible: { type: Boolean },
|
|
@@ -4527,7 +4548,7 @@ var ja = ["id"], Ma = { class: "waveform-annotation-editor__content" }, Na = {
|
|
|
4527
4548
|
setup(n) {
|
|
4528
4549
|
let s = n;
|
|
4529
4550
|
function c(e, t) {
|
|
4530
|
-
let n = Math.max(1, t -
|
|
4551
|
+
let n = Math.max(1, t - lo - 14), r = Math.max(1, Math.floor(n / 7.2));
|
|
4531
4552
|
return Math.max(1, Math.ceil([...e].length / r));
|
|
4532
4553
|
}
|
|
4533
4554
|
function l(e) {
|
|
@@ -4535,18 +4556,18 @@ var ja = ["id"], Ma = { class: "waveform-annotation-editor__content" }, Na = {
|
|
|
4535
4556
|
return `${e.shotNo?.trim() || "未配置炮号"}: ${e.name}${e.unit ? `(${e.unit})` : ""} ${t}`;
|
|
4536
4557
|
}
|
|
4537
4558
|
function u(e) {
|
|
4538
|
-
return 16 +
|
|
4559
|
+
return 16 + uo * s.seriesPoints.reduce((t, n) => t + c(l(n), e), 0) + 5;
|
|
4539
4560
|
}
|
|
4540
4561
|
let d = t(() => {
|
|
4541
4562
|
if (!s.visible || !s.hoveredPoint) return { display: "none" };
|
|
4542
|
-
let e = s.position.x +
|
|
4563
|
+
let e = s.position.x + ao, t = s.position.x - ao - so, n = s.containerWidth - oo - e, r = s.position.x - ao - oo, i = Math.max(1, Math.min(co, s.containerWidth - oo * 2)), a = e + so <= s.containerWidth - oo ? {
|
|
4543
4564
|
left: `${e}px`,
|
|
4544
|
-
maxWidth: `${Math.min(
|
|
4545
|
-
} : t >=
|
|
4546
|
-
right: `${s.containerWidth - s.position.x +
|
|
4547
|
-
maxWidth: `${Math.min(
|
|
4565
|
+
maxWidth: `${Math.min(co, n)}px`
|
|
4566
|
+
} : t >= oo ? {
|
|
4567
|
+
right: `${s.containerWidth - s.position.x + ao}px`,
|
|
4568
|
+
maxWidth: `${Math.min(co, r)}px`
|
|
4548
4569
|
} : {
|
|
4549
|
-
left: `${
|
|
4570
|
+
left: `${oo}px`,
|
|
4550
4571
|
maxWidth: `${i}px`
|
|
4551
4572
|
}, o = Number.parseFloat(a.maxWidth);
|
|
4552
4573
|
return {
|
|
@@ -4561,9 +4582,9 @@ var ja = ["id"], Ma = { class: "waveform-annotation-editor__content" }, Na = {
|
|
|
4561
4582
|
}, [(v(!0), i(e, null, x(n.seriesPoints, (t) => (v(), i("span", {
|
|
4562
4583
|
key: `${t.trackIndex}-${t.name}`,
|
|
4563
4584
|
class: "waveform-tooltip__series waveform-chart__tooltip-series"
|
|
4564
|
-
}, [a("i", { style: m({ backgroundColor: t.color }) }, null, 4), a("span",
|
|
4585
|
+
}, [a("i", { style: m({ backgroundColor: t.color }) }, null, 4), a("span", to, [a("span", no, [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", ro, "(x:" + w(E(Nt)(t.point.x, n.timeUnit)) + " y:" + w(E(Dt)(t.point.y)) + ")", 1)) : (v(), i("span", io, "无数据"))])]))), 128))], 4)) : r("", !0);
|
|
4565
4586
|
}
|
|
4566
|
-
}), [["__scopeId", "data-v-1ae3316b"]]),
|
|
4587
|
+
}), [["__scopeId", "data-v-1ae3316b"]]), po = /* @__PURE__ */ l({
|
|
4567
4588
|
__name: "WaveformHoverHost",
|
|
4568
4589
|
props: {
|
|
4569
4590
|
state: {},
|
|
@@ -4574,7 +4595,7 @@ var ja = ["id"], Ma = { class: "waveform-annotation-editor__content" }, Na = {
|
|
|
4574
4595
|
},
|
|
4575
4596
|
setup(e) {
|
|
4576
4597
|
let r = e, i = t(() => r.state.points.find((e) => e.point)?.point ?? null);
|
|
4577
|
-
return (t, r) => (v(), n(
|
|
4598
|
+
return (t, r) => (v(), n(fo, {
|
|
4578
4599
|
visible: e.visible && i.value !== null,
|
|
4579
4600
|
position: e.state.position,
|
|
4580
4601
|
"time-unit": e.timeUnit,
|
|
@@ -4592,16 +4613,16 @@ var ja = ["id"], Ma = { class: "waveform-annotation-editor__content" }, Na = {
|
|
|
4592
4613
|
"container-height"
|
|
4593
4614
|
]));
|
|
4594
4615
|
}
|
|
4595
|
-
}),
|
|
4616
|
+
}), mo = 13, ho = 2, go = 14, _o = 8, vo = 24, yo = {
|
|
4596
4617
|
circle: ee,
|
|
4597
4618
|
square: ne,
|
|
4598
4619
|
triangle: re,
|
|
4599
4620
|
diamond: te
|
|
4600
4621
|
};
|
|
4601
|
-
function
|
|
4602
|
-
return e === "none" ? null : G().type(
|
|
4622
|
+
function bo(e, t = 48) {
|
|
4623
|
+
return e === "none" ? null : G().type(yo[e]).size(t)() ?? null;
|
|
4603
4624
|
}
|
|
4604
|
-
function
|
|
4625
|
+
function xo(e, t, n = 48) {
|
|
4605
4626
|
if (e === "none" || t.length === 0) return null;
|
|
4606
4627
|
if (e === "circle") {
|
|
4607
4628
|
let e = Math.sqrt(n / Math.PI);
|
|
@@ -4618,24 +4639,24 @@ function go(e, t, n = 48) {
|
|
|
4618
4639
|
let r = Math.sqrt(n / (2 * Math.tan(Math.PI / 6))), i = r * Math.tan(Math.PI / 6);
|
|
4619
4640
|
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("");
|
|
4620
4641
|
}
|
|
4621
|
-
function
|
|
4642
|
+
function So(e) {
|
|
4622
4643
|
return e === "none" ? null : "M1 8H25";
|
|
4623
4644
|
}
|
|
4624
|
-
function
|
|
4645
|
+
function Co(e) {
|
|
4625
4646
|
if (e === "dashed") return "8 5";
|
|
4626
4647
|
if (e === "dash-dot") return "8 5 1.5 5";
|
|
4627
4648
|
}
|
|
4628
|
-
function
|
|
4629
|
-
let t = (Number.isFinite(e) && e > 0 ? Math.min(e,
|
|
4649
|
+
function wo(e) {
|
|
4650
|
+
let t = (Number.isFinite(e) && e > 0 ? Math.min(e, vo) : _o) / 2, n = mo - t, r = mo + t;
|
|
4630
4651
|
return [
|
|
4631
|
-
`M${n} ${
|
|
4632
|
-
`M${
|
|
4633
|
-
`M${n} ${
|
|
4652
|
+
`M${n} ${ho}H${r}`,
|
|
4653
|
+
`M${mo} ${ho}V${go}`,
|
|
4654
|
+
`M${n} ${go}H${r}`
|
|
4634
4655
|
].join("");
|
|
4635
4656
|
}
|
|
4636
4657
|
//#endregion
|
|
4637
4658
|
//#region src/components/rendering/WaveformSeriesLayer.vue?vue&type=script&setup=true&lang.ts
|
|
4638
|
-
var
|
|
4659
|
+
var To = ["clip-path"], Eo = ["data-series-id", "data-series-name"], Do = [
|
|
4639
4660
|
"data-series-id",
|
|
4640
4661
|
"data-series-name",
|
|
4641
4662
|
"data-y-axis-index",
|
|
@@ -4644,11 +4665,11 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
|
|
|
4644
4665
|
"d",
|
|
4645
4666
|
"stroke",
|
|
4646
4667
|
"stroke-dasharray"
|
|
4647
|
-
],
|
|
4668
|
+
], Oo = ["data-series-id"], ko = [
|
|
4648
4669
|
"d",
|
|
4649
4670
|
"stroke",
|
|
4650
4671
|
"stroke-width"
|
|
4651
|
-
],
|
|
4672
|
+
], Ao = ["data-series-id", "data-point-type"], jo = ["d", "fill"], Mo = /*#__PURE__*/ et(/* @__PURE__ */ l({
|
|
4652
4673
|
__name: "WaveformSeriesLayer",
|
|
4653
4674
|
props: {
|
|
4654
4675
|
track: {},
|
|
@@ -4656,7 +4677,7 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
|
|
|
4656
4677
|
},
|
|
4657
4678
|
setup(n) {
|
|
4658
4679
|
let a = n, o = t(() => a.track.seriesPaths.map((e) => {
|
|
4659
|
-
let t =
|
|
4680
|
+
let t = xo(e.series.pointType, e.pointRenderPoints.map((t) => ({
|
|
4660
4681
|
x: a.track.xScale(t.x),
|
|
4661
4682
|
y: e.yScale(t.y)
|
|
4662
4683
|
}))), n = e.series.errorBar.capWidth / 2, r = e.errorBarRenderPoints.map((t) => {
|
|
@@ -4693,8 +4714,8 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
|
|
|
4693
4714
|
"data-line-style": e.series.lineStyle,
|
|
4694
4715
|
d: e.path,
|
|
4695
4716
|
stroke: e.series.color,
|
|
4696
|
-
"stroke-dasharray": E(
|
|
4697
|
-
}, null, 8,
|
|
4717
|
+
"stroke-dasharray": E(Co)(e.series.lineStyle)
|
|
4718
|
+
}, null, 8, Do)) : r("", !0),
|
|
4698
4719
|
e.series.errorBar.visible ? (v(), i("g", {
|
|
4699
4720
|
key: 1,
|
|
4700
4721
|
class: "waveform-track__error-bars waveform-chart__error-bars",
|
|
@@ -4705,7 +4726,7 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
|
|
|
4705
4726
|
d: e.errorBarPath,
|
|
4706
4727
|
stroke: e.series.errorBar.color || e.series.color,
|
|
4707
4728
|
"stroke-width": e.series.errorBar.width
|
|
4708
|
-
}, null, 8,
|
|
4729
|
+
}, null, 8, ko)) : r("", !0)], 8, Oo)) : r("", !0),
|
|
4709
4730
|
e.series.pointType === "none" ? r("", !0) : (v(), i("g", {
|
|
4710
4731
|
key: 2,
|
|
4711
4732
|
class: "waveform-track__points waveform-chart__points",
|
|
@@ -4716,28 +4737,28 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
|
|
|
4716
4737
|
class: "waveform-track__point waveform-chart__point",
|
|
4717
4738
|
d: e.pointPath,
|
|
4718
4739
|
fill: e.series.color
|
|
4719
|
-
}, null, 8,
|
|
4720
|
-
], 8,
|
|
4740
|
+
}, null, 8, jo)) : r("", !0)], 8, Ao))
|
|
4741
|
+
], 8, Eo))), 128))], 8, To)) : r("", !0);
|
|
4721
4742
|
}
|
|
4722
|
-
}), [["__scopeId", "data-v-42a3fd47"]]),
|
|
4743
|
+
}), [["__scopeId", "data-v-42a3fd47"]]), No = ["transform"], Po = ["transform"], Fo = {
|
|
4723
4744
|
class: "waveform-track__axis-endpoint waveform-track__axis-endpoint--start waveform-chart__axis-endpoint waveform-chart__axis-endpoint--start",
|
|
4724
4745
|
x: "0",
|
|
4725
4746
|
y: "7",
|
|
4726
4747
|
dy: "0.71em",
|
|
4727
4748
|
"text-anchor": "start"
|
|
4728
|
-
},
|
|
4749
|
+
}, Io = ["x"], Lo = [
|
|
4729
4750
|
"data-y-axis-index",
|
|
4730
4751
|
"data-y-axis-side",
|
|
4731
4752
|
"transform"
|
|
4732
|
-
],
|
|
4753
|
+
], Ro = { key: 2 }, zo = [
|
|
4733
4754
|
"x",
|
|
4734
4755
|
"y",
|
|
4735
4756
|
"width"
|
|
4736
|
-
],
|
|
4757
|
+
], Bo = ["fill", "transform"], Vo = ["data-y-axis-title-index"], Ho = [
|
|
4737
4758
|
"x",
|
|
4738
4759
|
"y",
|
|
4739
4760
|
"width"
|
|
4740
|
-
],
|
|
4761
|
+
], Uo = ["fill", "transform"], Wo = /* @__PURE__ */ l({
|
|
4741
4762
|
__name: "WaveformTrackAxes",
|
|
4742
4763
|
props: {
|
|
4743
4764
|
track: {},
|
|
@@ -4766,13 +4787,8 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
|
|
|
4766
4787
|
if (n.track.yAxes.forEach((e, t) => {
|
|
4767
4788
|
let r = s.value[t];
|
|
4768
4789
|
if (!r) return;
|
|
4769
|
-
let
|
|
4770
|
-
|
|
4771
|
-
axisMax: a,
|
|
4772
|
-
topTickValue: o,
|
|
4773
|
-
unit: c
|
|
4774
|
-
})).tickSize(-4).tickPadding(7).tickSizeOuter(0).tickValues(e.tickValues), u = W(r);
|
|
4775
|
-
u.call(l), u.selectAll("path.domain").attr("display", n.axes?.y?.lineVisible === !1 ? "none" : null);
|
|
4790
|
+
let i = e.seriesList[0]?.unit, a = (e.side === "left" ? P(e.scale) : F(e.scale)).tickFormat((t) => ir(Number(t), e.scale.domain(), e.tickValues, i)).tickSize(-4).tickPadding(7).tickSizeOuter(0).tickValues(e.tickValues), o = W(r);
|
|
4791
|
+
o.call(a), o.selectAll("path.domain").attr("display", n.axes?.y?.lineVisible === !1 ? "none" : null);
|
|
4776
4792
|
}), !o.value) return;
|
|
4777
4793
|
let e = W(o.value);
|
|
4778
4794
|
e.call(N(n.track.xScale).tickValues(n.track.xAxisTickValues).tickFormat((e) => At(Number(e), n.track.xScale.domain(), n.timeUnit, "tick", n.axes?.x?.labelFormatter)).tickSize(-4).tickPadding(7).tickSizeOuter(0)), e.selectAll("path.domain").attr("display", n.axes?.x?.lineVisible === !1 ? "none" : null);
|
|
@@ -4797,7 +4813,7 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
|
|
|
4797
4813
|
ref: o,
|
|
4798
4814
|
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 }]),
|
|
4799
4815
|
transform: `translate(0, ${t.track.height})`
|
|
4800
|
-
}, null, 10,
|
|
4816
|
+
}, null, 10, No)) : r("", !0),
|
|
4801
4817
|
t.track.showXAxis ? (v(), i("g", {
|
|
4802
4818
|
key: 1,
|
|
4803
4819
|
class: "waveform-track__axis-endpoints waveform-chart__axis-endpoints",
|
|
@@ -4805,13 +4821,13 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
|
|
|
4805
4821
|
"font-family": "sans-serif",
|
|
4806
4822
|
"font-size": "10",
|
|
4807
4823
|
"aria-hidden": "true"
|
|
4808
|
-
}, [a("text",
|
|
4824
|
+
}, [a("text", Fo, w(t.track.endpointLabels.start), 1), a("text", {
|
|
4809
4825
|
class: "waveform-track__axis-endpoint waveform-track__axis-endpoint--end waveform-chart__axis-endpoint waveform-chart__axis-endpoint--end",
|
|
4810
4826
|
x: t.track.width ?? t.innerWidth,
|
|
4811
4827
|
y: "7",
|
|
4812
4828
|
dy: "0.71em",
|
|
4813
4829
|
"text-anchor": "end"
|
|
4814
|
-
}, w(t.track.endpointLabels.end), 9,
|
|
4830
|
+
}, w(t.track.endpointLabels.end), 9, Io)], 8, Po)) : r("", !0),
|
|
4815
4831
|
(v(!0), i(e, null, x(t.track.isEmpty ? [] : t.track.yAxes, (e) => (v(), i("g", {
|
|
4816
4832
|
key: `y-axis-${t.track.index}-${e.index}`,
|
|
4817
4833
|
ref_for: !0,
|
|
@@ -4820,21 +4836,21 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
|
|
|
4820
4836
|
"data-y-axis-index": e.index,
|
|
4821
4837
|
"data-y-axis-side": e.side,
|
|
4822
4838
|
transform: `translate(${e.x}, 0)`
|
|
4823
|
-
}, null, 10,
|
|
4824
|
-
!t.cleanView && !t.track.isEmpty && t.track.hasVisibleSeries && t.track.seriesList.length === 1 && t.track.showYAxisLabel && t.track.series && c(t.track.series) && d(t.track.height, t.track.index) ? (v(), i("g",
|
|
4839
|
+
}, null, 10, Lo))), 128)),
|
|
4840
|
+
!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", Ro, [a("rect", {
|
|
4825
4841
|
class: "waveform-track__y-axis-label-bg waveform-chart__y-axis-label-bg",
|
|
4826
4842
|
x: t.track.yAxisLabelX - E(12) / 2,
|
|
4827
4843
|
y: t.track.height / 2 - 40,
|
|
4828
4844
|
width: E(12),
|
|
4829
4845
|
height: "80",
|
|
4830
4846
|
rx: "2"
|
|
4831
|
-
}, null, 8,
|
|
4847
|
+
}, null, 8, zo), a("text", {
|
|
4832
4848
|
class: "waveform-track__y-axis-label waveform-chart__y-axis-label",
|
|
4833
4849
|
fill: t.track.series?.color,
|
|
4834
4850
|
transform: `translate(${t.track.yAxisLabelX}, ${t.track.height / 2}) rotate(-90)`,
|
|
4835
4851
|
"text-anchor": "middle",
|
|
4836
4852
|
"dominant-baseline": "central"
|
|
4837
|
-
}, w(t.track.series ? c(t.track.series) : ""), 9,
|
|
4853
|
+
}, w(t.track.series ? c(t.track.series) : ""), 9, Bo)])) : r("", !0),
|
|
4838
4854
|
(v(!0), i(e, null, x(!t.cleanView && t.track.yAxes.length > 1 ? t.track.yAxes.filter(l) : [], (e) => (v(), i("g", {
|
|
4839
4855
|
key: `y-axis-title-${t.track.index}-${e.index}`,
|
|
4840
4856
|
class: "waveform-track__multi-axis-title",
|
|
@@ -4846,40 +4862,40 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
|
|
|
4846
4862
|
width: E(12),
|
|
4847
4863
|
height: "80",
|
|
4848
4864
|
rx: "2"
|
|
4849
|
-
}, null, 8,
|
|
4865
|
+
}, null, 8, Ho), a("text", {
|
|
4850
4866
|
class: "waveform-track__y-axis-label waveform-chart__y-axis-label",
|
|
4851
4867
|
fill: e.seriesList[0].color,
|
|
4852
4868
|
transform: `translate(${e.labelX}, ${t.track.height / 2}) rotate(-90)`,
|
|
4853
4869
|
"text-anchor": "middle",
|
|
4854
4870
|
"dominant-baseline": "central"
|
|
4855
|
-
}, w(c(e.seriesList[0])), 9,
|
|
4871
|
+
}, w(c(e.seriesList[0])), 9, Uo)], 8, Vo))), 128))
|
|
4856
4872
|
], 64));
|
|
4857
4873
|
}
|
|
4858
|
-
}),
|
|
4874
|
+
}), Go = [
|
|
4859
4875
|
"width",
|
|
4860
4876
|
"height",
|
|
4861
4877
|
"fill"
|
|
4862
|
-
],
|
|
4878
|
+
], Ko = ["clip-path"], qo = { class: "waveform-track__grid waveform-track__grid--minor waveform-chart__grid waveform-chart__grid--minor" }, Jo = [
|
|
4863
4879
|
"stroke",
|
|
4864
4880
|
"x1",
|
|
4865
4881
|
"x2",
|
|
4866
4882
|
"y2"
|
|
4867
|
-
],
|
|
4883
|
+
], Yo = [
|
|
4868
4884
|
"stroke",
|
|
4869
4885
|
"x2",
|
|
4870
4886
|
"y1",
|
|
4871
4887
|
"y2"
|
|
4872
|
-
],
|
|
4888
|
+
], Xo = { class: "waveform-track__grid waveform-track__grid--major waveform-chart__grid waveform-chart__grid--major" }, Zo = [
|
|
4873
4889
|
"stroke",
|
|
4874
4890
|
"x1",
|
|
4875
4891
|
"x2",
|
|
4876
4892
|
"y2"
|
|
4877
|
-
],
|
|
4893
|
+
], Qo = [
|
|
4878
4894
|
"stroke",
|
|
4879
4895
|
"x2",
|
|
4880
4896
|
"y1",
|
|
4881
4897
|
"y2"
|
|
4882
|
-
],
|
|
4898
|
+
], $o = ["clip-path"], es = [
|
|
4883
4899
|
"data-y-axis-index",
|
|
4884
4900
|
"x2",
|
|
4885
4901
|
"y1",
|
|
@@ -4887,7 +4903,7 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
|
|
|
4887
4903
|
"stroke",
|
|
4888
4904
|
"stroke-width",
|
|
4889
4905
|
"stroke-dasharray"
|
|
4890
|
-
],
|
|
4906
|
+
], ts = ["x", "y"], ns = /* @__PURE__ */ l({
|
|
4891
4907
|
__name: "WaveformTrackBackdrop",
|
|
4892
4908
|
props: {
|
|
4893
4909
|
track: {},
|
|
@@ -4912,12 +4928,12 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
|
|
|
4912
4928
|
height: t.track.height,
|
|
4913
4929
|
fill: t.frameStyle.backgroundColor,
|
|
4914
4930
|
"aria-hidden": "true"
|
|
4915
|
-
}, null, 8,
|
|
4931
|
+
}, null, 8, Go)) : r("", !0),
|
|
4916
4932
|
!t.track.isEmpty && t.track.hasVisibleSeries && !t.cleanView ? (v(), i("g", {
|
|
4917
4933
|
key: 1,
|
|
4918
4934
|
"clip-path": `url(#${t.clipPathId}-${t.track.index})`,
|
|
4919
4935
|
"aria-hidden": "true"
|
|
4920
|
-
}, [a("g",
|
|
4936
|
+
}, [a("g", qo, [t.track.gridLines.vertical ? (v(!0), i(e, { key: 0 }, x(t.track.xMinorTicks, (e) => (v(), i("line", {
|
|
4921
4937
|
key: `x-minor-${t.track.index}-${e}`,
|
|
4922
4938
|
"data-grid-direction": "vertical",
|
|
4923
4939
|
stroke: t.track.gridLines.verticalColor,
|
|
@@ -4925,7 +4941,7 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
|
|
|
4925
4941
|
x2: t.track.xScale(e),
|
|
4926
4942
|
y1: "0",
|
|
4927
4943
|
y2: t.track.height
|
|
4928
|
-
}, null, 8,
|
|
4944
|
+
}, null, 8, Jo))), 128)) : r("", !0), t.track.gridLines.horizontal ? (v(!0), i(e, { key: 1 }, x(t.track.yMinorTicks, (e) => (v(), i("line", {
|
|
4929
4945
|
key: `y-minor-${t.track.index}-${e}`,
|
|
4930
4946
|
"data-grid-direction": "horizontal",
|
|
4931
4947
|
stroke: t.track.gridLines.horizontalColor,
|
|
@@ -4933,7 +4949,7 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
|
|
|
4933
4949
|
x2: t.track.width ?? t.innerWidth,
|
|
4934
4950
|
y1: t.track.yScale(e),
|
|
4935
4951
|
y2: t.track.yScale(e)
|
|
4936
|
-
}, null, 8,
|
|
4952
|
+
}, null, 8, Yo))), 128)) : r("", !0)]), a("g", Xo, [t.track.gridLines.vertical ? (v(!0), i(e, { key: 0 }, x(t.track.xMajorTicks, (e) => (v(), i("line", {
|
|
4937
4953
|
key: `x-major-${t.track.index}-${e}`,
|
|
4938
4954
|
"data-grid-direction": "vertical",
|
|
4939
4955
|
stroke: t.track.gridLines.verticalColor,
|
|
@@ -4941,7 +4957,7 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
|
|
|
4941
4957
|
x2: t.track.xScale(e),
|
|
4942
4958
|
y1: "0",
|
|
4943
4959
|
y2: t.track.height
|
|
4944
|
-
}, null, 8,
|
|
4960
|
+
}, null, 8, Zo))), 128)) : r("", !0), t.track.gridLines.horizontal ? (v(!0), i(e, { key: 1 }, x(t.track.yMajorTicks, (e) => (v(), i("line", {
|
|
4945
4961
|
key: `y-major-${t.track.index}-${e}`,
|
|
4946
4962
|
"data-grid-direction": "horizontal",
|
|
4947
4963
|
stroke: t.track.gridLines.horizontalColor,
|
|
@@ -4949,7 +4965,7 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
|
|
|
4949
4965
|
x2: t.track.width ?? t.innerWidth,
|
|
4950
4966
|
y1: t.track.yScale(e),
|
|
4951
4967
|
y2: t.track.yScale(e)
|
|
4952
|
-
}, null, 8,
|
|
4968
|
+
}, null, 8, Qo))), 128)) : r("", !0)])], 8, Ko)) : r("", !0),
|
|
4953
4969
|
!t.track.isEmpty && t.track.hasVisibleSeries && t.zeroLine.visible && !t.cleanView ? (v(), i("g", {
|
|
4954
4970
|
key: 2,
|
|
4955
4971
|
class: "waveform-track__zero-lines waveform-chart__zero-lines",
|
|
@@ -4966,7 +4982,7 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
|
|
|
4966
4982
|
stroke: t.zeroLine.color,
|
|
4967
4983
|
"stroke-width": t.zeroLine.width,
|
|
4968
4984
|
"stroke-dasharray": t.zeroLine.dash || void 0
|
|
4969
|
-
}, null, 8,
|
|
4985
|
+
}, null, 8, es))], 64))), 128))], 8, $o)) : r("", !0),
|
|
4970
4986
|
!t.track.isEmpty && t.track.hasVisibleSeries && t.frameNumber !== void 0 && !t.cleanView ? (v(), i("text", {
|
|
4971
4987
|
key: 3,
|
|
4972
4988
|
class: "waveform-track__watermark waveform-chart__watermark",
|
|
@@ -4976,10 +4992,10 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
|
|
|
4976
4992
|
"text-anchor": "middle",
|
|
4977
4993
|
"dominant-baseline": "central",
|
|
4978
4994
|
"aria-hidden": "true"
|
|
4979
|
-
}, w(t.frameNumber), 13,
|
|
4995
|
+
}, w(t.frameNumber), 13, ts)) : r("", !0)
|
|
4980
4996
|
], 64));
|
|
4981
4997
|
}
|
|
4982
|
-
}),
|
|
4998
|
+
}), rs = [
|
|
4983
4999
|
"data-track-index",
|
|
4984
5000
|
"data-track-id",
|
|
4985
5001
|
"data-track-empty",
|
|
@@ -4989,19 +5005,19 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
|
|
|
4989
5005
|
"data-track-top",
|
|
4990
5006
|
"data-track-height",
|
|
4991
5007
|
"transform"
|
|
4992
|
-
],
|
|
5008
|
+
], is = [
|
|
4993
5009
|
"width",
|
|
4994
5010
|
"height",
|
|
4995
5011
|
"stroke",
|
|
4996
5012
|
"stroke-width",
|
|
4997
5013
|
"stroke-dasharray",
|
|
4998
5014
|
"stroke-linecap"
|
|
4999
|
-
],
|
|
5015
|
+
], as = [
|
|
5000
5016
|
"data-interactive",
|
|
5001
5017
|
"data-independent-overlay-index",
|
|
5002
5018
|
"width",
|
|
5003
5019
|
"height"
|
|
5004
|
-
],
|
|
5020
|
+
], os = ["x", "y"], ss = /* @__PURE__ */ l({
|
|
5005
5021
|
__name: "WaveformTrack",
|
|
5006
5022
|
props: {
|
|
5007
5023
|
track: {},
|
|
@@ -5061,7 +5077,7 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
|
|
|
5061
5077
|
"data-track-height": e.track.height,
|
|
5062
5078
|
transform: `translate(${e.track.left ?? 0}, ${e.track.top})`
|
|
5063
5079
|
}, [
|
|
5064
|
-
s(
|
|
5080
|
+
s(ns, {
|
|
5065
5081
|
track: e.track,
|
|
5066
5082
|
"clip-path-id": e.clipPathId,
|
|
5067
5083
|
"inner-width": e.innerWidth,
|
|
@@ -5078,7 +5094,7 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
|
|
|
5078
5094
|
"frame-style",
|
|
5079
5095
|
"zero-line"
|
|
5080
5096
|
]),
|
|
5081
|
-
s(
|
|
5097
|
+
s(Wo, {
|
|
5082
5098
|
track: e.track,
|
|
5083
5099
|
"inner-width": e.innerWidth,
|
|
5084
5100
|
"clean-view": e.cleanView,
|
|
@@ -5104,8 +5120,8 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
|
|
|
5104
5120
|
"stroke-dasharray": c.value.borderStyle === "dashed" ? "6 4" : c.value.borderStyle === "dotted" ? "1 3" : void 0,
|
|
5105
5121
|
"stroke-linecap": c.value.borderStyle === "dotted" ? "round" : void 0,
|
|
5106
5122
|
"aria-hidden": "true"
|
|
5107
|
-
}, null, 8,
|
|
5108
|
-
s(
|
|
5123
|
+
}, null, 8, is)),
|
|
5124
|
+
s(Mo, {
|
|
5109
5125
|
track: e.track,
|
|
5110
5126
|
"clip-path-id": e.clipPathId
|
|
5111
5127
|
}, null, 8, ["track", "clip-path-id"]),
|
|
@@ -5127,7 +5143,7 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
|
|
|
5127
5143
|
onPointerleave: n[4] ||= (e) => o("pointer-leave"),
|
|
5128
5144
|
onClick: n[5] ||= (e) => o("click", e),
|
|
5129
5145
|
onContextmenu: n[6] ||= (e) => o("contextmenu", e)
|
|
5130
|
-
}, null, 42,
|
|
5146
|
+
}, null, 42, as)) : r("", !0),
|
|
5131
5147
|
!e.track.isEmpty && !e.track.hasVisibleSeries && !e.cleanView ? (v(), i("text", {
|
|
5132
5148
|
key: 2,
|
|
5133
5149
|
class: "waveform-track__no-visible-series",
|
|
@@ -5135,33 +5151,33 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
|
|
|
5135
5151
|
y: e.track.height / 2,
|
|
5136
5152
|
"text-anchor": "middle",
|
|
5137
5153
|
"dominant-baseline": "central"
|
|
5138
|
-
}, " 暂无可见曲线 ", 8,
|
|
5139
|
-
], 10,
|
|
5154
|
+
}, " 暂无可见曲线 ", 8, os)) : r("", !0)
|
|
5155
|
+
], 10, rs));
|
|
5140
5156
|
}
|
|
5141
|
-
}),
|
|
5157
|
+
}), cs = [
|
|
5142
5158
|
"width",
|
|
5143
5159
|
"height",
|
|
5144
5160
|
"data-position",
|
|
5145
5161
|
"data-orientation"
|
|
5146
|
-
],
|
|
5162
|
+
], ls = [
|
|
5147
5163
|
"disabled",
|
|
5148
5164
|
"aria-pressed",
|
|
5149
5165
|
"aria-label",
|
|
5150
5166
|
"onClick"
|
|
5151
|
-
],
|
|
5167
|
+
], us = [
|
|
5152
5168
|
"data-line-type",
|
|
5153
5169
|
"data-line-style",
|
|
5154
5170
|
"data-point-type",
|
|
5155
5171
|
"data-error-bar-visible"
|
|
5156
|
-
],
|
|
5172
|
+
], ds = [
|
|
5157
5173
|
"d",
|
|
5158
5174
|
"stroke",
|
|
5159
5175
|
"stroke-dasharray"
|
|
5160
|
-
],
|
|
5176
|
+
], fs = [
|
|
5161
5177
|
"d",
|
|
5162
5178
|
"stroke",
|
|
5163
5179
|
"stroke-width"
|
|
5164
|
-
],
|
|
5180
|
+
], ps = ["d", "fill"], ms = ["title"], hs = /*#__PURE__*/ et(/* @__PURE__ */ l({
|
|
5165
5181
|
__name: "WaveformLegend",
|
|
5166
5182
|
props: {
|
|
5167
5183
|
series: {},
|
|
@@ -5219,45 +5235,45 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
|
|
|
5219
5235
|
"data-point-type": e.pointType,
|
|
5220
5236
|
"data-error-bar-visible": e.errorBar.visible || void 0
|
|
5221
5237
|
}, [
|
|
5222
|
-
E(
|
|
5238
|
+
E(So)(e.lineType) ? (v(), i("path", {
|
|
5223
5239
|
key: 0,
|
|
5224
5240
|
class: "waveform-legend__line",
|
|
5225
|
-
d: E(
|
|
5241
|
+
d: E(So)(e.lineType) ?? void 0,
|
|
5226
5242
|
stroke: e.color,
|
|
5227
|
-
"stroke-dasharray": E(
|
|
5243
|
+
"stroke-dasharray": E(Co)(e.lineStyle),
|
|
5228
5244
|
"stroke-width": "1.5",
|
|
5229
5245
|
fill: "none"
|
|
5230
|
-
}, null, 8,
|
|
5246
|
+
}, null, 8, ds)) : r("", !0),
|
|
5231
5247
|
e.errorBar.visible ? (v(), i("path", {
|
|
5232
5248
|
key: 1,
|
|
5233
5249
|
class: "waveform-legend__error-bar",
|
|
5234
|
-
d: E(
|
|
5250
|
+
d: E(wo)(e.errorBar.capWidth),
|
|
5235
5251
|
stroke: e.errorBar.color || e.color,
|
|
5236
5252
|
"stroke-width": e.errorBar.width,
|
|
5237
5253
|
"stroke-linecap": "butt",
|
|
5238
5254
|
fill: "none"
|
|
5239
|
-
}, null, 8,
|
|
5255
|
+
}, null, 8, fs)) : r("", !0),
|
|
5240
5256
|
e.pointType === "none" ? r("", !0) : (v(), i("path", {
|
|
5241
5257
|
key: 2,
|
|
5242
5258
|
class: "waveform-legend__point",
|
|
5243
|
-
d: E(
|
|
5259
|
+
d: E(bo)(e.pointType, 30) ?? void 0,
|
|
5244
5260
|
fill: e.color,
|
|
5245
5261
|
transform: "translate(13 8)"
|
|
5246
|
-
}, null, 8,
|
|
5247
|
-
], 8,
|
|
5262
|
+
}, null, 8, ps))
|
|
5263
|
+
], 8, us)), a("span", {
|
|
5248
5264
|
class: "waveform-legend__label",
|
|
5249
5265
|
title: e.name
|
|
5250
|
-
}, w(e.name), 9,
|
|
5266
|
+
}, w(e.name), 9, ms)], 10, ls))), 128))], 6)], 2)], 8, cs));
|
|
5251
5267
|
}
|
|
5252
|
-
}), [["__scopeId", "data-v-2ae12e71"]]),
|
|
5268
|
+
}), [["__scopeId", "data-v-2ae12e71"]]), gs = {
|
|
5253
5269
|
class: "waveform-chart__hover-layer",
|
|
5254
5270
|
"pointer-events": "none",
|
|
5255
5271
|
"aria-hidden": "true"
|
|
5256
|
-
},
|
|
5272
|
+
}, _s = ["clip-path", "transform"], vs = [
|
|
5257
5273
|
"x1",
|
|
5258
5274
|
"x2",
|
|
5259
5275
|
"y2"
|
|
5260
|
-
],
|
|
5276
|
+
], ys = /*#__PURE__*/ et(/* @__PURE__ */ l({
|
|
5261
5277
|
__name: "WaveformHoverLayer",
|
|
5262
5278
|
props: {
|
|
5263
5279
|
state: {},
|
|
@@ -5273,7 +5289,7 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
|
|
|
5273
5289
|
x: e.xScale(n)
|
|
5274
5290
|
}] : [];
|
|
5275
5291
|
}));
|
|
5276
|
-
return (t, r) => (v(), i("g",
|
|
5292
|
+
return (t, r) => (v(), i("g", gs, [(v(!0), i(e, null, x(o.value, (e) => (v(), i("g", {
|
|
5277
5293
|
key: e.track.index,
|
|
5278
5294
|
class: "waveform-track__crosshair waveform-chart__crosshair",
|
|
5279
5295
|
"clip-path": `url(#${n.clipPathId}-${e.track.index})`,
|
|
@@ -5283,9 +5299,9 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
|
|
|
5283
5299
|
x2: e.x,
|
|
5284
5300
|
y1: "0",
|
|
5285
5301
|
y2: e.track.height
|
|
5286
|
-
}, null, 8,
|
|
5302
|
+
}, null, 8, vs)], 8, _s))), 128))]));
|
|
5287
5303
|
}
|
|
5288
|
-
}), [["__scopeId", "data-v-54a5a37d"]]),
|
|
5304
|
+
}), [["__scopeId", "data-v-54a5a37d"]]), bs = [
|
|
5289
5305
|
"data-display-mode",
|
|
5290
5306
|
"data-interaction-mode",
|
|
5291
5307
|
"data-presentation-mode",
|
|
@@ -5294,31 +5310,31 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
|
|
|
5294
5310
|
"data-plot-margin-top",
|
|
5295
5311
|
"data-plot-margin-bottom",
|
|
5296
5312
|
"data-title-area-height"
|
|
5297
|
-
],
|
|
5313
|
+
], xs = [
|
|
5298
5314
|
"role",
|
|
5299
5315
|
"aria-level",
|
|
5300
5316
|
"aria-hidden"
|
|
5301
|
-
],
|
|
5317
|
+
], Ss = ["data-title-scale", "data-title-wrapped"], Cs = [
|
|
5302
5318
|
"width",
|
|
5303
5319
|
"height",
|
|
5304
5320
|
"aria-label"
|
|
5305
|
-
],
|
|
5321
|
+
], ws = ["id"], Ts = ["width", "height"], Es = ["transform"], Ds = {
|
|
5306
5322
|
key: 0,
|
|
5307
5323
|
class: "waveform-chart__grid-slots",
|
|
5308
5324
|
"aria-hidden": "true"
|
|
5309
|
-
},
|
|
5325
|
+
}, Os = ["transform"], ks = ["width", "height"], As = ["width", "height"], js = [
|
|
5310
5326
|
"x",
|
|
5311
5327
|
"y",
|
|
5312
5328
|
"width",
|
|
5313
5329
|
"height"
|
|
5314
|
-
],
|
|
5330
|
+
], Ms = {
|
|
5315
5331
|
key: 4,
|
|
5316
5332
|
class: "waveform-chart__legend-layer"
|
|
5317
|
-
},
|
|
5333
|
+
}, Ns = [
|
|
5318
5334
|
"data-legend-track-index",
|
|
5319
5335
|
"data-legend-track-id",
|
|
5320
5336
|
"transform"
|
|
5321
|
-
],
|
|
5337
|
+
], Ps = ["x", "y"], Fs = ["x", "y"], Is = /* @__PURE__ */ l({
|
|
5322
5338
|
__name: "WaveformChartView",
|
|
5323
5339
|
props: { controller: {} },
|
|
5324
5340
|
setup(t) {
|
|
@@ -5371,7 +5387,7 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
|
|
|
5371
5387
|
style: m(E(M)),
|
|
5372
5388
|
"data-title-scale": E(N).scale,
|
|
5373
5389
|
"data-title-wrapped": E(N).wrapped || void 0
|
|
5374
|
-
}, w(E(A)), 13,
|
|
5390
|
+
}, w(E(A)), 13, Ss)], 4)) : r("", !0)], 12, xs)) : r("", !0),
|
|
5375
5391
|
(v(), i("svg", {
|
|
5376
5392
|
ref: E(Xe),
|
|
5377
5393
|
class: "waveform-chart__svg",
|
|
@@ -5388,9 +5404,9 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
|
|
|
5388
5404
|
}, [a("rect", {
|
|
5389
5405
|
width: e.width,
|
|
5390
5406
|
height: e.height
|
|
5391
|
-
}, null, 8,
|
|
5407
|
+
}, null, 8, Ts)], 8, ws))), 128))]),
|
|
5392
5408
|
a("g", { transform: `translate(${E(g)}, ${E(B)})` }, [
|
|
5393
|
-
E(o) !== "compact" && !E(l) ? (v(), i("g",
|
|
5409
|
+
E(o) !== "compact" && !E(l) ? (v(), i("g", Ds, [(v(!0), i(e, null, x(E(V), (e) => (v(), i("g", {
|
|
5394
5410
|
key: `grid-slot-${e.slotIndex}`,
|
|
5395
5411
|
transform: `translate(${e.left}, ${e.top})`
|
|
5396
5412
|
}, [e.series ? r("", !0) : (v(), i("rect", {
|
|
@@ -5398,7 +5414,7 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
|
|
|
5398
5414
|
class: "waveform-chart__grid-slot-placeholder",
|
|
5399
5415
|
width: e.width,
|
|
5400
5416
|
height: e.cellHeight
|
|
5401
|
-
}, null, 8,
|
|
5417
|
+
}, null, 8, ks))], 8, Os))), 128))])) : r("", !0),
|
|
5402
5418
|
E(o) !== "independent" && E(R).length && E(H) ? (v(), i("rect", {
|
|
5403
5419
|
key: 1,
|
|
5404
5420
|
ref: E(Qe),
|
|
@@ -5415,8 +5431,8 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
|
|
|
5415
5431
|
onPointerleave: T[4] ||= (...e) => E(q) && E(q)(...e),
|
|
5416
5432
|
onClick: T[5] ||= (...e) => E(J) && E(J)(...e),
|
|
5417
5433
|
onContextmenu: T[6] ||= (...e) => E(ie) && E(ie)(...e)
|
|
5418
|
-
}, null, 42,
|
|
5419
|
-
(v(!0), i(e, null, x(E(R), (e) => (v(), n(E(
|
|
5434
|
+
}, null, 42, As)) : r("", !0),
|
|
5435
|
+
(v(!0), i(e, null, x(E(R), (e) => (v(), n(E(ss), {
|
|
5420
5436
|
key: `${e.index}-${e.id}`,
|
|
5421
5437
|
track: e,
|
|
5422
5438
|
"clip-path-id": E(z),
|
|
@@ -5462,7 +5478,7 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
|
|
|
5462
5478
|
"onClick",
|
|
5463
5479
|
"onContextmenu"
|
|
5464
5480
|
]))), 128)),
|
|
5465
|
-
s(E(
|
|
5481
|
+
s(E(ys), {
|
|
5466
5482
|
state: E(pe),
|
|
5467
5483
|
tracks: E(R),
|
|
5468
5484
|
"clip-path-id": E(z),
|
|
@@ -5481,7 +5497,7 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
|
|
|
5481
5497
|
width: E(he).width,
|
|
5482
5498
|
height: E(he).height,
|
|
5483
5499
|
"aria-hidden": "true"
|
|
5484
|
-
}, null, 8,
|
|
5500
|
+
}, null, 8, js)) : r("", !0),
|
|
5485
5501
|
E(l) ? r("", !0) : (v(), n(E(tt), {
|
|
5486
5502
|
key: 3,
|
|
5487
5503
|
annotations: E(ge),
|
|
@@ -5500,13 +5516,13 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
|
|
|
5500
5516
|
"onMove",
|
|
5501
5517
|
"onDragEnd"
|
|
5502
5518
|
])),
|
|
5503
|
-
E(l) ? r("", !0) : (v(), i("g",
|
|
5519
|
+
E(l) ? r("", !0) : (v(), i("g", Ms, [(v(!0), i(e, null, x(E(R), (e) => (v(), i("g", {
|
|
5504
5520
|
key: `legend-${e.index}-${e.id}`,
|
|
5505
5521
|
class: "waveform-chart__legend-track",
|
|
5506
5522
|
"data-legend-track-index": e.index,
|
|
5507
5523
|
"data-legend-track-id": e.id,
|
|
5508
5524
|
transform: `translate(${e.left}, ${e.top})`
|
|
5509
|
-
}, [!e.isEmpty && e.legendSeries.length > 1 ? (v(), n(E(
|
|
5525
|
+
}, [!e.isEmpty && e.legendSeries.length > 1 ? (v(), n(E(hs), {
|
|
5510
5526
|
key: 0,
|
|
5511
5527
|
series: e.legendSeries,
|
|
5512
5528
|
position: E(X)(e.id),
|
|
@@ -5527,23 +5543,23 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
|
|
|
5527
5543
|
"width",
|
|
5528
5544
|
"height",
|
|
5529
5545
|
"onToggle"
|
|
5530
|
-
])) : r("", !0)], 8,
|
|
5531
|
-
], 8,
|
|
5546
|
+
])) : r("", !0)], 8, Ns))), 128))]))
|
|
5547
|
+
], 8, Es),
|
|
5532
5548
|
E(De) && !E(l) ? (v(), i("text", {
|
|
5533
5549
|
key: 0,
|
|
5534
5550
|
class: "waveform-chart__label waveform-chart__x-label",
|
|
5535
5551
|
x: E(g) + E(G) / 2,
|
|
5536
5552
|
y: E(Oe),
|
|
5537
5553
|
"text-anchor": "middle"
|
|
5538
|
-
}, w(E(De)), 9,
|
|
5554
|
+
}, w(E(De)), 9, Ps)) : r("", !0),
|
|
5539
5555
|
E(ke) && !E(I) ? (v(), i("text", {
|
|
5540
5556
|
key: 1,
|
|
5541
5557
|
class: "waveform-chart__empty",
|
|
5542
5558
|
x: E(P) / 2,
|
|
5543
5559
|
y: E(F) / 2,
|
|
5544
5560
|
"text-anchor": "middle"
|
|
5545
|
-
}, " 暂无有效波形数据 ", 8,
|
|
5546
|
-
], 40,
|
|
5561
|
+
}, " 暂无有效波形数据 ", 8, Fs)) : r("", !0)
|
|
5562
|
+
], 40, Cs)),
|
|
5547
5563
|
E(Ae).showPagination && E(je) > 1 && !E(l) ? (v(), n(E(oe), {
|
|
5548
5564
|
key: 1,
|
|
5549
5565
|
class: "waveform-chart__pagination",
|
|
@@ -5560,7 +5576,7 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
|
|
|
5560
5576
|
"total",
|
|
5561
5577
|
"onChange"
|
|
5562
5578
|
])) : r("", !0),
|
|
5563
|
-
E(Le) && !E(l) && !E(u) ? (v(), n(
|
|
5579
|
+
E(Le) && !E(l) && !E(u) ? (v(), n(eo, {
|
|
5564
5580
|
key: 2,
|
|
5565
5581
|
annotation: E(Le).annotation,
|
|
5566
5582
|
mode: E(Le).mode,
|
|
@@ -5602,7 +5618,7 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
|
|
|
5602
5618
|
"onDelete",
|
|
5603
5619
|
"onClose"
|
|
5604
5620
|
])) : r("", !0),
|
|
5605
|
-
s(E(
|
|
5621
|
+
s(E(po), {
|
|
5606
5622
|
state: E(pe),
|
|
5607
5623
|
visible: E(me) && !E(u),
|
|
5608
5624
|
"time-unit": E(ue),
|
|
@@ -5615,9 +5631,9 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
|
|
|
5615
5631
|
"container-width",
|
|
5616
5632
|
"container-height"
|
|
5617
5633
|
])
|
|
5618
|
-
], 46,
|
|
5634
|
+
], 46, bs));
|
|
5619
5635
|
}
|
|
5620
|
-
}),
|
|
5636
|
+
}), Ls = /* @__PURE__ */ l({
|
|
5621
5637
|
__name: "WaveformChart",
|
|
5622
5638
|
props: {
|
|
5623
5639
|
data: {},
|
|
@@ -5701,12 +5717,12 @@ var bo = ["clip-path"], xo = ["data-series-id", "data-series-name"], So = [
|
|
|
5701
5717
|
"sampling-error"
|
|
5702
5718
|
],
|
|
5703
5719
|
setup(e, { expose: t, emit: r }) {
|
|
5704
|
-
let i =
|
|
5720
|
+
let i = Fa(e, r);
|
|
5705
5721
|
return t({
|
|
5706
5722
|
resetViewport: i.resetViewport,
|
|
5707
5723
|
setViewportDomain: i.setViewportDomain
|
|
5708
|
-
}), (e, t) => (v(), n(
|
|
5724
|
+
}), (e, t) => (v(), n(Is, { controller: E(i) }, null, 8, ["controller"]));
|
|
5709
5725
|
}
|
|
5710
5726
|
});
|
|
5711
5727
|
//#endregion
|
|
5712
|
-
export { Q as DEFAULT_WAVEFORM_RENDERING_OPTIONS,
|
|
5728
|
+
export { Q as DEFAULT_WAVEFORM_RENDERING_OPTIONS, Ls as WaveformChart, gt as buildMinorTicks, bi as calculateWasmRange, It as clamp, kt as displayTime, xi as findWasmVisibleRange, Mt as formatAxisTime, jt as formatEndpointTime, Nt as formatTooltipTime, vi as initializeWasmSampling, sn as normalizeWaveformData, un as normalizeWaveformSeries, ht as paddedDomain, pt as parseWaveformAnnotations, Ft as resolveTrackGeometry, Tn as resolveWaveformRenderingOptions, yi as sampleWaveformWasm, Nn as selectRenderablePoints, ft as serializeWaveformAnnotations };
|