waveform-analysis 0.1.39 → 0.1.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +42 -3
- package/dist/index.cjs +1 -1
- package/dist/index.js +464 -464
- package/dist/types/components/core/layout.d.ts +4 -3
- package/dist/types/components/core/trackLayoutBuilder.d.ts +1 -0
- package/dist/types/types/chart.d.ts +2 -0
- package/dist/types/utils/formatters.d.ts +1 -0
- package/package.json +1 -1
- package/src/components/core/fixedYDomainLayout.test.ts +75 -5
- package/src/components/core/layout.test.ts +10 -2
- package/src/components/core/layout.ts +25 -9
- package/src/components/core/trackLayoutBuilder.ts +16 -6
- package/src/components/core/useWaveformLayout.ts +12 -1
- package/src/components/rendering/WaveformTrackAxes.vue +2 -1
- package/src/components/waveformChartCases/compactAndSharedHover.test.ts +2 -2
- package/src/components/waveformChartCases/dataLifecycle.test.ts +8 -2
- package/src/components/waveformChartCases/layoutAndDomains.test.ts +23 -3
- package/src/components/waveformChartCases/multiAxisAndPagination.test.ts +8 -1
- package/src/types/chart.ts +2 -0
- package/src/utils/formatters.test.ts +9 -0
- package/src/utils/formatters.ts +6 -3
package/dist/index.js
CHANGED
|
@@ -621,14 +621,14 @@ function Ye() {
|
|
|
621
621
|
}
|
|
622
622
|
//#endregion
|
|
623
623
|
//#region src/utils/domain.ts
|
|
624
|
-
function
|
|
624
|
+
function Xe(e) {
|
|
625
625
|
if (e.length === 0) return [0, 1];
|
|
626
626
|
let [t = 0, n = 1] = R(e);
|
|
627
627
|
if (t !== n) return [t, n];
|
|
628
628
|
let r = Math.abs(t) * .05 || .5;
|
|
629
629
|
return [t - r, n + r];
|
|
630
630
|
}
|
|
631
|
-
function
|
|
631
|
+
function Ze(e, t = 5, n) {
|
|
632
632
|
let r = e;
|
|
633
633
|
if (n && e.length >= 2) {
|
|
634
634
|
let t = e[0], n = e[1], i = e[e.length - 1], a = e[e.length - 2];
|
|
@@ -650,69 +650,71 @@ function Xe(e, t = 5, n) {
|
|
|
650
650
|
}
|
|
651
651
|
//#endregion
|
|
652
652
|
//#region src/utils/formatters.ts
|
|
653
|
-
var
|
|
654
|
-
function
|
|
653
|
+
var Qe = .001, $e = 1e3, et = new Intl.NumberFormat("zh-CN", { maximumFractionDigits: 4 }), tt = new Intl.NumberFormat("zh-CN", { maximumFractionDigits: 4 });
|
|
654
|
+
function nt(e, t) {
|
|
655
655
|
let n = e.toFixed(Math.max(0, t));
|
|
656
656
|
return /^-0(?:\.0+)?$/.test(n) ? n.slice(1) : n;
|
|
657
657
|
}
|
|
658
|
-
function
|
|
659
|
-
return Number.isFinite(e) && (e >=
|
|
658
|
+
function rt(e) {
|
|
659
|
+
return Number.isFinite(e) && (e >= $e || e > 0 && e < Qe);
|
|
660
660
|
}
|
|
661
|
-
function
|
|
661
|
+
function it(e, t) {
|
|
662
662
|
if (typeof e != "number" || typeof t != "number") return null;
|
|
663
663
|
let n = Math.max(Math.abs(e), Math.abs(t));
|
|
664
|
-
return
|
|
664
|
+
return rt(n) ? Math.floor(Math.log10(n)) : null;
|
|
665
665
|
}
|
|
666
|
-
function
|
|
666
|
+
function at(e) {
|
|
667
667
|
return `E${e >= 0 ? "+" : "-"}${Math.abs(e).toString().padStart(2, "0")}`;
|
|
668
668
|
}
|
|
669
|
-
function
|
|
669
|
+
function ot(e) {
|
|
670
670
|
if (Object.is(e, -0)) return "0";
|
|
671
|
-
let t = e === 0 ? 0 : Number(e.toPrecision(5)), n =
|
|
671
|
+
let t = e === 0 ? 0 : Number(e.toPrecision(5)), n = et.format(t);
|
|
672
672
|
return n === "-0" ? "0" : n;
|
|
673
673
|
}
|
|
674
|
-
function
|
|
674
|
+
function st(e, t = {}) {
|
|
675
675
|
if (!Number.isFinite(e)) return String(e);
|
|
676
|
-
let n =
|
|
677
|
-
|
|
678
|
-
}
|
|
679
|
-
|
|
680
|
-
return Number.isFinite(e) ? Object.is(e, -0) ? "0" : et.format(e) : String(e);
|
|
676
|
+
let n = it(t.axisMin, t.axisMax), r = ot(n === null ? e : e / 10 ** n);
|
|
677
|
+
if (e !== (t.topTickValue ?? t.axisMax)) return r;
|
|
678
|
+
let i = t.unit?.trim(), a = i ? `(${i}) ` : "";
|
|
679
|
+
return `${n === null ? "" : `${at(n)} `}${a}${r}`;
|
|
681
680
|
}
|
|
682
681
|
function ct(e) {
|
|
682
|
+
return Number.isFinite(e) ? Object.is(e, -0) ? "0" : tt.format(e) : String(e);
|
|
683
|
+
}
|
|
684
|
+
function lt(e) {
|
|
683
685
|
if (!Number.isFinite(e)) return String(e);
|
|
684
686
|
if (Object.is(e, -0)) return "0";
|
|
685
687
|
let [t, n] = e.toExponential().split("e"), r = Number(n), i = t.startsWith("-"), a = t.replace("-", "").replace(".", ""), o = r + 1, s;
|
|
686
688
|
return s = o <= 0 ? `0.${"0".repeat(Math.abs(o))}${a}` : o >= a.length ? `${a}${"0".repeat(o - a.length)}` : `${a.slice(0, o)}.${a.slice(o)}`, `${i ? "-" : ""}${s}`;
|
|
687
689
|
}
|
|
688
|
-
function
|
|
690
|
+
function ut(e, t) {
|
|
689
691
|
return t === "ms" ? e * 1e3 : e;
|
|
690
692
|
}
|
|
691
|
-
function
|
|
692
|
-
let a =
|
|
693
|
+
function dt(e, t, n, r, i) {
|
|
694
|
+
let a = ut(e, n);
|
|
693
695
|
return i ? i(a, {
|
|
694
696
|
kind: r,
|
|
695
697
|
rawValue: e,
|
|
696
698
|
timeUnit: n,
|
|
697
699
|
domain: [t[0], t[1]],
|
|
698
|
-
displayDomain: [
|
|
699
|
-
}) :
|
|
700
|
-
}
|
|
701
|
-
function dt(e, t, n) {
|
|
702
|
-
return ut(e, t, n, "end");
|
|
700
|
+
displayDomain: [ut(t[0], n), ut(t[1], n)]
|
|
701
|
+
}) : lt(a);
|
|
703
702
|
}
|
|
704
703
|
function ft(e, t, n) {
|
|
705
|
-
return
|
|
704
|
+
return dt(e, t, n, "end");
|
|
706
705
|
}
|
|
707
|
-
function pt(e, t) {
|
|
708
|
-
return
|
|
706
|
+
function pt(e, t, n) {
|
|
707
|
+
return dt(e, n ?? [e, e], t, "tick");
|
|
709
708
|
}
|
|
710
709
|
function mt(e, t) {
|
|
711
|
-
return
|
|
710
|
+
return ct(ut(e, t));
|
|
711
|
+
}
|
|
712
|
+
function ht(e, t) {
|
|
713
|
+
return Number.isFinite(e) ? nt(ut(e, t), 3) : String(e);
|
|
712
714
|
}
|
|
713
715
|
//#endregion
|
|
714
716
|
//#region src/utils/geometry.ts
|
|
715
|
-
function
|
|
717
|
+
function gt(e, t, n) {
|
|
716
718
|
if (e <= 0) return {
|
|
717
719
|
gap: 0,
|
|
718
720
|
axisBand: 0,
|
|
@@ -725,55 +727,55 @@ function ht(e, t, n) {
|
|
|
725
727
|
height: Math.max(1, (n - (e - 1) * (c + l)) / e)
|
|
726
728
|
};
|
|
727
729
|
}
|
|
728
|
-
function
|
|
730
|
+
function _t(e, t, n) {
|
|
729
731
|
return Math.min(Math.max(e, t), n);
|
|
730
732
|
}
|
|
731
733
|
//#endregion
|
|
732
734
|
//#region src/components/core/constants.ts
|
|
733
|
-
var
|
|
735
|
+
var vt = {
|
|
734
736
|
top: 18,
|
|
735
737
|
right: 24,
|
|
736
738
|
bottom: 52,
|
|
737
739
|
left: 64
|
|
738
|
-
},
|
|
740
|
+
}, yt = {
|
|
739
741
|
DEFAULT_MAX_SCALE: 40,
|
|
740
742
|
MIN_SCALE: 1
|
|
741
|
-
},
|
|
743
|
+
}, bt = .62, xt = 1.2, St = /* @__PURE__ */ "#0960bd.#ff7f0e.#2ca02c.#d62728.#9467bd.#8c564b.#e377c2.#7f7f7f.#bcbd22.#17becf.#005f73.#0a9396.#ae2012.#bb3e03.#ca6702.#ee9b00.#9b2226.#3a0ca3.#4361ee.#4895ef.#560bad.#7209b7.#b5179e.#f72585.#006d77.#2f3e46.#354f52.#52796f.#800f2f.#31572c".split("."), Ct = {
|
|
742
744
|
WIDTH: 1.5,
|
|
743
745
|
CAP_WIDTH: 8
|
|
744
|
-
},
|
|
746
|
+
}, wt = {
|
|
745
747
|
COLOR: "#98a2b3",
|
|
746
748
|
WIDTH: 1,
|
|
747
749
|
DASH: "6 4"
|
|
748
750
|
};
|
|
749
751
|
//#endregion
|
|
750
752
|
//#region src/components/core/yDomain.ts
|
|
751
|
-
function
|
|
753
|
+
function Tt(e) {
|
|
752
754
|
if (!(!e || !Number.isFinite(e[0]) || !Number.isFinite(e[1]) || e[0] === e[1])) return e[0] < e[1] ? [e[0], e[1]] : [e[1], e[0]];
|
|
753
755
|
}
|
|
754
|
-
function
|
|
755
|
-
return
|
|
756
|
-
}
|
|
757
|
-
function Et(e, t, n) {
|
|
758
|
-
return wt(n?.[e.id]) ?? wt(t);
|
|
756
|
+
function Et(e, t) {
|
|
757
|
+
return Tt(t?.[e.id]);
|
|
759
758
|
}
|
|
760
759
|
function Dt(e, t, n) {
|
|
761
|
-
return
|
|
760
|
+
return Tt(n?.[e.id]) ?? Tt(t);
|
|
761
|
+
}
|
|
762
|
+
function Ot(e, t, n) {
|
|
763
|
+
return !!(Et(e, n) || e.visibleSeries.some((e) => Dt(e, t, n)));
|
|
762
764
|
}
|
|
763
|
-
function
|
|
765
|
+
function kt(e) {
|
|
764
766
|
return [Math.min(...e.map((e) => e[0])), Math.max(...e.map((e) => e[1]))];
|
|
765
767
|
}
|
|
766
768
|
//#endregion
|
|
767
769
|
//#region src/core/data.ts
|
|
768
|
-
var
|
|
769
|
-
function
|
|
770
|
+
var At = Ct.WIDTH, jt = Ct.CAP_WIDTH;
|
|
771
|
+
function Mt(e) {
|
|
770
772
|
return e === "dashed" || e === "dash-dot" ? e : "solid";
|
|
771
773
|
}
|
|
772
|
-
function
|
|
774
|
+
function Nt(e) {
|
|
773
775
|
return typeof e == "number" && Number.isFinite(e) && e >= 0 ? e : void 0;
|
|
774
776
|
}
|
|
775
|
-
function
|
|
776
|
-
let t =
|
|
777
|
+
function Pt(e) {
|
|
778
|
+
let t = Nt(e.error), n = Nt(e.lowerError), r = Nt(e.upperError);
|
|
777
779
|
return {
|
|
778
780
|
x: e.x,
|
|
779
781
|
y: e.y,
|
|
@@ -782,14 +784,14 @@ function Nt(e) {
|
|
|
782
784
|
...r === void 0 ? {} : { upperError: r }
|
|
783
785
|
};
|
|
784
786
|
}
|
|
785
|
-
function
|
|
786
|
-
let t =
|
|
787
|
+
function Ft(e) {
|
|
788
|
+
let t = Nt(e.error) ?? 0;
|
|
787
789
|
return {
|
|
788
|
-
lower:
|
|
789
|
-
upper:
|
|
790
|
+
lower: Nt(e.lowerError) ?? t,
|
|
791
|
+
upper: Nt(e.upperError) ?? t
|
|
790
792
|
};
|
|
791
793
|
}
|
|
792
|
-
function
|
|
794
|
+
function It(e) {
|
|
793
795
|
if (e.kind === "samples") {
|
|
794
796
|
if (!Number.isFinite(e.sampleRate) || e.sampleRate <= 0) return [];
|
|
795
797
|
let t = Number.isFinite(e.startTime) ? e.startTime ?? 0 : 0, n = [];
|
|
@@ -805,14 +807,14 @@ function Ft(e) {
|
|
|
805
807
|
let t = [], n = -Infinity, r = !0;
|
|
806
808
|
for (let i of e.points) {
|
|
807
809
|
if (!Number.isFinite(i.x) || !Number.isFinite(i.y)) continue;
|
|
808
|
-
let e =
|
|
810
|
+
let e = Pt(i);
|
|
809
811
|
e.x < n && (r = !1), n = e.x, t.push(e);
|
|
810
812
|
}
|
|
811
813
|
return r || t.sort((e, t) => e.x - t.x), t;
|
|
812
814
|
}
|
|
813
|
-
function
|
|
815
|
+
function Lt(e) {
|
|
814
816
|
if (e.kind !== "series") {
|
|
815
|
-
let t =
|
|
817
|
+
let t = It(e);
|
|
816
818
|
return t.length > 0 ? [{
|
|
817
819
|
id: "series-0",
|
|
818
820
|
name: "",
|
|
@@ -821,8 +823,8 @@ function It(e) {
|
|
|
821
823
|
pointType: "none",
|
|
822
824
|
errorBar: {
|
|
823
825
|
visible: !1,
|
|
824
|
-
width:
|
|
825
|
-
capWidth:
|
|
826
|
+
width: At,
|
|
827
|
+
capWidth: jt
|
|
826
828
|
},
|
|
827
829
|
points: t
|
|
828
830
|
}] : [];
|
|
@@ -832,7 +834,7 @@ function It(e) {
|
|
|
832
834
|
let r = e.id?.trim() || `series-${n}`, i = r, a = 1;
|
|
833
835
|
for (; t.has(i);) i = `${r}-${a}`, a++;
|
|
834
836
|
t.add(i);
|
|
835
|
-
let o = e.lineType ?? "linear", s =
|
|
837
|
+
let o = e.lineType ?? "linear", s = Mt(e.lineStyle), c = e.pointType ?? "none", l = e.errorBar?.visible === !0, u = o === "none" && c === "none" && !l ? "linear" : o, d = Number(e.errorBar?.width), f = Number(e.errorBar?.capWidth);
|
|
836
838
|
return {
|
|
837
839
|
id: i,
|
|
838
840
|
shotNo: e.shotNo?.trim() || void 0,
|
|
@@ -846,29 +848,29 @@ function It(e) {
|
|
|
846
848
|
errorBar: {
|
|
847
849
|
visible: l,
|
|
848
850
|
color: e.errorBar?.color,
|
|
849
|
-
width: Number.isFinite(d) && d > 0 ? d :
|
|
850
|
-
capWidth: Number.isFinite(f) && f > 0 ? f :
|
|
851
|
+
width: Number.isFinite(d) && d > 0 ? d : At,
|
|
852
|
+
capWidth: Number.isFinite(f) && f > 0 ? f : jt
|
|
851
853
|
},
|
|
852
|
-
points:
|
|
854
|
+
points: It(e.data)
|
|
853
855
|
};
|
|
854
856
|
}).filter((e) => e.points.length > 0);
|
|
855
857
|
}
|
|
856
858
|
//#endregion
|
|
857
859
|
//#region src/core/renderingStrategies.ts
|
|
858
|
-
function
|
|
860
|
+
function Rt(e, t) {
|
|
859
861
|
return {
|
|
860
862
|
start: Math.max(0, e.start - 1),
|
|
861
863
|
end: Math.min(t, e.end + 1)
|
|
862
864
|
};
|
|
863
865
|
}
|
|
864
|
-
function
|
|
866
|
+
function zt(e, t) {
|
|
865
867
|
t && e[e.length - 1] !== t && e.push(t);
|
|
866
868
|
}
|
|
867
|
-
var
|
|
868
|
-
let { start: t, end: n } =
|
|
869
|
+
var Bt = (e) => {
|
|
870
|
+
let { start: t, end: n } = Rt(e.range, e.points.length);
|
|
869
871
|
return e.points.slice(t, n);
|
|
870
|
-
},
|
|
871
|
-
let { points: t, range: n, domain: r, width: i, options: a } = e, { start: o, end: s } =
|
|
872
|
+
}, Vt = (e) => {
|
|
873
|
+
let { points: t, range: n, domain: r, width: i, options: a } = e, { start: o, end: s } = Rt(n, t.length);
|
|
872
874
|
if (s - o <= 0) return [];
|
|
873
875
|
let c = Math.min(r[0], r[1]), l = Math.max(r[0], r[1]), u = Math.max(4, Math.floor(i * a.maxPointsPerPixel)), d = Math.max(1, Math.floor(u / 4)), f = [], p = l - c || 1, m = Array.from({ length: 4 }, () => -1), h = -1, g = -1, _ = -1, v = -1, y = -1, b = (e, t) => {
|
|
874
876
|
if (e < 0) return t;
|
|
@@ -883,9 +885,9 @@ var zt = (e) => {
|
|
|
883
885
|
for (; n >= 0 && m[n] > e;) m[n + 1] = m[n], --n;
|
|
884
886
|
m[n + 1] = e;
|
|
885
887
|
}
|
|
886
|
-
for (let n = 0; n < e; n += 1)
|
|
888
|
+
for (let n = 0; n < e; n += 1) zt(f, t[m[n]]);
|
|
887
889
|
};
|
|
888
|
-
|
|
890
|
+
zt(f, t[o]);
|
|
889
891
|
for (let e = n.start; e < n.end; e += 1) {
|
|
890
892
|
let n = t[e], r = Math.min(d - 1, Math.max(0, Math.floor((n.x - c) / p * d)));
|
|
891
893
|
if (r !== h) {
|
|
@@ -894,53 +896,53 @@ var zt = (e) => {
|
|
|
894
896
|
}
|
|
895
897
|
_ = e, n.y < t[v].y && (v = e), n.y > t[y].y && (y = e);
|
|
896
898
|
}
|
|
897
|
-
return x(),
|
|
899
|
+
return x(), zt(f, t[s - 1]), f;
|
|
898
900
|
};
|
|
899
|
-
function
|
|
901
|
+
function Ht(e) {
|
|
900
902
|
let t = Math.max(4, Math.floor(e.width * e.options.maxPointsPerPixel));
|
|
901
|
-
return !e.options.downsample || e.visibleCount <= e.options.downsampleThreshold || e.visibleCount <= t ?
|
|
903
|
+
return !e.options.downsample || e.visibleCount <= e.options.downsampleThreshold || e.visibleCount <= t ? Bt : Vt;
|
|
902
904
|
}
|
|
903
905
|
//#endregion
|
|
904
906
|
//#region src/core/renderingOptions.ts
|
|
905
|
-
var
|
|
907
|
+
var Ut = {
|
|
906
908
|
downsample: !0,
|
|
907
909
|
downsampleThreshold: 2e3,
|
|
908
910
|
maxPointsPerPixel: 4,
|
|
909
911
|
pointMinSpacing: 10,
|
|
910
912
|
errorBarMinSpacing: 12
|
|
911
913
|
};
|
|
912
|
-
function
|
|
914
|
+
function Wt(e) {
|
|
913
915
|
let t = Number(e?.downsampleThreshold), n = Number(e?.maxPointsPerPixel), r = Number(e?.pointMinSpacing), i = Number(e?.errorBarMinSpacing);
|
|
914
916
|
return {
|
|
915
|
-
downsample: e?.downsample ??
|
|
916
|
-
downsampleThreshold: Number.isFinite(t) && t >= 2 ? Math.floor(t) :
|
|
917
|
-
maxPointsPerPixel: Number.isFinite(n) && n > 0 ? n :
|
|
918
|
-
pointMinSpacing: Number.isFinite(r) && r >= 0 ? r :
|
|
919
|
-
errorBarMinSpacing: Number.isFinite(i) && i >= 0 ? i :
|
|
917
|
+
downsample: e?.downsample ?? Ut.downsample,
|
|
918
|
+
downsampleThreshold: Number.isFinite(t) && t >= 2 ? Math.floor(t) : Ut.downsampleThreshold,
|
|
919
|
+
maxPointsPerPixel: Number.isFinite(n) && n > 0 ? n : Ut.maxPointsPerPixel,
|
|
920
|
+
pointMinSpacing: Number.isFinite(r) && r >= 0 ? r : Ut.pointMinSpacing,
|
|
921
|
+
errorBarMinSpacing: Number.isFinite(i) && i >= 0 ? i : Ut.errorBarMinSpacing
|
|
920
922
|
};
|
|
921
923
|
}
|
|
922
924
|
//#endregion
|
|
923
925
|
//#region src/core/rendering.ts
|
|
924
|
-
var
|
|
925
|
-
function
|
|
926
|
+
var Gt = P((e) => e.x), Kt = () => !0;
|
|
927
|
+
function qt(e, t) {
|
|
926
928
|
let n = Math.min(t[0], t[1]), r = Math.max(t[0], t[1]);
|
|
927
929
|
return {
|
|
928
|
-
start:
|
|
929
|
-
end:
|
|
930
|
+
start: Gt.left(e, n),
|
|
931
|
+
end: Gt.right(e, r)
|
|
930
932
|
};
|
|
931
933
|
}
|
|
932
|
-
function
|
|
934
|
+
function Jt(e, t, n) {
|
|
933
935
|
if (!Number.isFinite(n) || n <= 0) return !0;
|
|
934
936
|
let r = Math.ceil(n), i = /* @__PURE__ */ new Set();
|
|
935
937
|
for (let n of e) {
|
|
936
|
-
let e =
|
|
938
|
+
let e = qt(n.points, t);
|
|
937
939
|
for (let t = e.start; t < e.end; t += 1) if (i.add(n.points[t].x), i.size >= r) return !0;
|
|
938
940
|
}
|
|
939
941
|
return !1;
|
|
940
942
|
}
|
|
941
|
-
function
|
|
943
|
+
function Yt(e, t, n, r, i) {
|
|
942
944
|
let a = Math.max(0, t.start - 1), o = Math.min(e.length, t.end + 1) - a;
|
|
943
|
-
return o <= 0 ? [] :
|
|
945
|
+
return o <= 0 ? [] : Ht({
|
|
944
946
|
visibleCount: o,
|
|
945
947
|
width: r,
|
|
946
948
|
options: i
|
|
@@ -952,12 +954,12 @@ function Jt(e, t, n, r, i) {
|
|
|
952
954
|
options: i
|
|
953
955
|
});
|
|
954
956
|
}
|
|
955
|
-
function
|
|
956
|
-
return !e.length || n <= 0 ? [] :
|
|
957
|
+
function Xt(e, t, n, r) {
|
|
958
|
+
return !e.length || n <= 0 ? [] : Yt(e, qt(e, t), t, n, r);
|
|
957
959
|
}
|
|
958
|
-
function
|
|
960
|
+
function Zt(e, t, n, r, i, a, o, s) {
|
|
959
961
|
if (!a || i === 0) {
|
|
960
|
-
if (o ===
|
|
962
|
+
if (o === Kt) return e.slice(t.start, t.end);
|
|
961
963
|
let n = [];
|
|
962
964
|
for (let r = t.start; r < t.end; r += 1) o(e[r]) && n.push(e[r]);
|
|
963
965
|
return n;
|
|
@@ -990,36 +992,36 @@ function Xt(e, t, n, r, i, a, o, s) {
|
|
|
990
992
|
let w = (f ?? []).map((e, t) => m?.[t] ?? e).filter((e) => e !== void 0);
|
|
991
993
|
return v && w[0] !== v && w.unshift(v), y && w.at(-1) !== y && w.push(y), w;
|
|
992
994
|
}
|
|
993
|
-
function
|
|
994
|
-
let { lower: t, upper: n } =
|
|
995
|
+
function Qt(e) {
|
|
996
|
+
let { lower: t, upper: n } = Ft(e);
|
|
995
997
|
return t !== 0 || n !== 0;
|
|
996
998
|
}
|
|
997
|
-
function
|
|
999
|
+
function $t(e, t, n, r, i) {
|
|
998
1000
|
if (!e.length || n <= 0) return {
|
|
999
1001
|
linePoints: [],
|
|
1000
1002
|
pointRenderPoints: [],
|
|
1001
1003
|
errorBarRenderPoints: []
|
|
1002
1004
|
};
|
|
1003
|
-
let a =
|
|
1005
|
+
let a = qt(e, t), o = i.lineVisible ? Yt(e, a, t, n, r) : [], s = i.errorBarVisible && i.hasErrorPoints;
|
|
1004
1006
|
if (i.pointVisible && s) {
|
|
1005
|
-
let i =
|
|
1007
|
+
let i = Zt(e, a, t, n, Math.max(r.pointMinSpacing, r.errorBarMinSpacing), r.downsample, Kt, Qt);
|
|
1006
1008
|
return {
|
|
1007
1009
|
linePoints: o,
|
|
1008
1010
|
pointRenderPoints: i,
|
|
1009
|
-
errorBarRenderPoints: i.filter(
|
|
1011
|
+
errorBarRenderPoints: i.filter(Qt)
|
|
1010
1012
|
};
|
|
1011
1013
|
}
|
|
1012
1014
|
return {
|
|
1013
1015
|
linePoints: o,
|
|
1014
|
-
pointRenderPoints: i.pointVisible ?
|
|
1015
|
-
errorBarRenderPoints: s ?
|
|
1016
|
+
pointRenderPoints: i.pointVisible ? Zt(e, a, t, n, r.pointMinSpacing, r.downsample, Kt) : [],
|
|
1017
|
+
errorBarRenderPoints: s ? Zt(e, a, t, n, r.errorBarMinSpacing, r.downsample, Qt) : []
|
|
1016
1018
|
};
|
|
1017
1019
|
}
|
|
1018
|
-
var
|
|
1020
|
+
var en = (e, t) => {
|
|
1019
1021
|
let n = typeof e == "number" ? e : Number(e);
|
|
1020
1022
|
return Number.isFinite(n) ? Math.min(10, Math.max(1, Math.floor(n))) : t;
|
|
1021
1023
|
};
|
|
1022
|
-
function
|
|
1024
|
+
function tn(e) {
|
|
1023
1025
|
let t = Object.fromEntries(Object.entries(e?.trackLines ?? {}).map(([e, t]) => [e, {
|
|
1024
1026
|
horizontal: typeof t?.horizontal != "boolean" || t.horizontal,
|
|
1025
1027
|
vertical: typeof t?.vertical != "boolean" || t.vertical,
|
|
@@ -1027,37 +1029,37 @@ function en(e) {
|
|
|
1027
1029
|
verticalColor: typeof t?.verticalColor == "string" && t.verticalColor.trim() ? t.verticalColor : void 0
|
|
1028
1030
|
}]));
|
|
1029
1031
|
return {
|
|
1030
|
-
rowCount:
|
|
1031
|
-
columnCount:
|
|
1032
|
+
rowCount: en(e?.rowCount, 2),
|
|
1033
|
+
columnCount: en(e?.columnCount, 1),
|
|
1032
1034
|
showPagination: e?.showPagination ?? !0,
|
|
1033
1035
|
trackLines: t
|
|
1034
1036
|
};
|
|
1035
1037
|
}
|
|
1036
|
-
function
|
|
1038
|
+
function nn(e) {
|
|
1037
1039
|
return e.rowCount * e.columnCount;
|
|
1038
1040
|
}
|
|
1039
|
-
function
|
|
1040
|
-
return Math.max(1, Math.ceil(Math.max(0, e) /
|
|
1041
|
+
function rn(e, t) {
|
|
1042
|
+
return Math.max(1, Math.ceil(Math.max(0, e) / nn(t)));
|
|
1041
1043
|
}
|
|
1042
|
-
function
|
|
1043
|
-
let r =
|
|
1044
|
-
return e.slice(i, i +
|
|
1044
|
+
function an(e, t, n) {
|
|
1045
|
+
let r = rn(e.length, n), i = (Math.min(r, Math.max(1, Math.floor(t))) - 1) * nn(n);
|
|
1046
|
+
return e.slice(i, i + nn(n));
|
|
1045
1047
|
}
|
|
1046
|
-
function
|
|
1048
|
+
function on(e) {
|
|
1047
1049
|
return e === "compact" ? 0 : e === "separated" ? 16 : 14;
|
|
1048
1050
|
}
|
|
1049
|
-
function
|
|
1050
|
-
let s =
|
|
1051
|
+
function sn(e, t, n, r, i = [], a, o = !0) {
|
|
1052
|
+
let s = on(r), c = Number.isFinite(a) ? Math.max(0, a) : s, l = Math.max(0, n.columnCount - 1) * c, u = /* @__PURE__ */ new Set();
|
|
1051
1053
|
if (o) {
|
|
1052
1054
|
if (r === "independent") for (let e = 0; e < n.rowCount; e += 1) u.add(e);
|
|
1053
1055
|
else if (r === "compact") u.add(n.rowCount - 1);
|
|
1054
|
-
else for (let e = 0; e < n.columnCount; e += 1) for (let t =
|
|
1056
|
+
else for (let e = 0; e < n.columnCount; e += 1) for (let t = nn(n) - 1; t >= 0; --t) if (t % n.columnCount === e && i[t]) {
|
|
1055
1057
|
u.add(Math.floor(t / n.columnCount));
|
|
1056
1058
|
break;
|
|
1057
1059
|
}
|
|
1058
1060
|
}
|
|
1059
1061
|
let d = Math.max(0, n.rowCount - 1) * s, f = u.size * 30, p = Math.max(1, (e - l) / n.columnCount), m = Math.max(1, (t - d - f) / n.rowCount);
|
|
1060
|
-
return Array.from({ length:
|
|
1062
|
+
return Array.from({ length: nn(n) }, (e, t) => {
|
|
1061
1063
|
let r = Math.floor(t / n.columnCount), i = t % n.columnCount, a = u.has(r) ? 30 : 0, o = m + a, l = Array.from({ length: r }, (e, t) => {
|
|
1062
1064
|
let n = u.has(t) ? 30 : 0;
|
|
1063
1065
|
return m + n + s;
|
|
@@ -1076,7 +1078,7 @@ function on(e, t, n, r, i = [], a, o = !0) {
|
|
|
1076
1078
|
};
|
|
1077
1079
|
});
|
|
1078
1080
|
}
|
|
1079
|
-
function
|
|
1081
|
+
function cn(e, t) {
|
|
1080
1082
|
let n = /* @__PURE__ */ new Set();
|
|
1081
1083
|
for (let r = 0; r < t; r += 1) for (let t = e.length - 1; t >= 0; --t) {
|
|
1082
1084
|
let i = e[t];
|
|
@@ -1089,26 +1091,26 @@ function sn(e, t) {
|
|
|
1089
1091
|
}
|
|
1090
1092
|
//#endregion
|
|
1091
1093
|
//#region src/components/core/xDomain.ts
|
|
1092
|
-
var
|
|
1093
|
-
function
|
|
1094
|
-
return !Number.isFinite(e) || (e ?? 0) < 1 ?
|
|
1094
|
+
var ln = 10;
|
|
1095
|
+
function un(e) {
|
|
1096
|
+
return !Number.isFinite(e) || (e ?? 0) < 1 ? ln : Math.max(1, Math.trunc(e));
|
|
1095
1097
|
}
|
|
1096
|
-
function
|
|
1098
|
+
function dn(e, t, n = !1) {
|
|
1097
1099
|
if (t.type !== "nice" || n && !t.includeExplicit) return [...e];
|
|
1098
|
-
let r = V().domain(e).nice(
|
|
1100
|
+
let r = V().domain(e).nice(un(t.tickCount)).domain();
|
|
1099
1101
|
return t.bounds === "end" ? [e[0], r[1]] : r;
|
|
1100
1102
|
}
|
|
1101
1103
|
//#endregion
|
|
1102
1104
|
//#region src/components/core/trackLayoutBuilder.ts
|
|
1103
|
-
function
|
|
1105
|
+
function fn(e, t, n) {
|
|
1104
1106
|
let r = n.xDomainStrategy ?? { type: "data" }, i = n.initialXDomains?.[e.id] ?? n.initialXDomains?.[t] ?? n.initialXDomain;
|
|
1105
|
-
return i ?
|
|
1107
|
+
return i ? dn(i, r, !0) : dn(e.xDomain, r);
|
|
1106
1108
|
}
|
|
1107
|
-
function
|
|
1109
|
+
function pn(e) {
|
|
1108
1110
|
let t = e.cells.map((e) => ({
|
|
1109
1111
|
...e,
|
|
1110
1112
|
hasSeries: !!e.series
|
|
1111
|
-
})), n =
|
|
1113
|
+
})), n = cn(t, e.grid.columnCount);
|
|
1112
1114
|
return t.flatMap((t, r) => {
|
|
1113
1115
|
let i = !t.series;
|
|
1114
1116
|
if (i && (e.displayMode !== "compact" || !e.showCompactEmptyTracks)) return [];
|
|
@@ -1134,39 +1136,35 @@ function fn(e) {
|
|
|
1134
1136
|
visibleSeries: [a],
|
|
1135
1137
|
xDomain: a.xDomain,
|
|
1136
1138
|
yDomain: a.yDomain
|
|
1137
|
-
}, s = !i && o.visibleSeries.length > 0, c = o.visibleSeries[0] ?? o.series[0] ?? a, l = e.displayMode === "independent" ? V(
|
|
1139
|
+
}, s = !i && o.visibleSeries.length > 0, c = o.visibleSeries[0] ?? o.series[0] ?? a, l = e.displayMode === "independent" ? V(fn(o, c.id, e), [0, t.width]) : V(e.sharedZoomDomain, [0, t.width]), u = (e.displayMode === "independent" ? e.independentTransforms[r] ?? W : W).rescaleX(l), d = e.yDomains?.[o.id], f = Cn(o, e.overlayMode, e.fixedYDomain, e.fixedYDomains).map((e) => !e.fixed && d ? {
|
|
1138
1140
|
...e,
|
|
1139
1141
|
domain: d
|
|
1140
1142
|
} : e), p = {
|
|
1141
1143
|
left: 0,
|
|
1142
1144
|
right: 0
|
|
1143
1145
|
}, m = f.map((n) => {
|
|
1144
|
-
let r = V(n.domain, [t.plotHeight, 0]);
|
|
1145
|
-
|
|
1146
|
-
let
|
|
1147
|
-
a,
|
|
1148
|
-
...c,
|
|
1149
|
-
...s ? [o] : []
|
|
1150
|
-
])), { tickTextWidth: u } = Sn(n.domain, !n.fixed, l), d = u + 7 + 6 + 24 + 4, f = n.side === "left" ? -p.left : t.width + p.right, m = u + 7 + 6 + 24 / 2, h = f + (n.side === "left" ? -m : m);
|
|
1146
|
+
let r = yn(t.plotHeight, e.yAxisSplitNumber), i = Math.max(1, r - 1), a = V(n.domain, [t.plotHeight, 0]);
|
|
1147
|
+
a.nice(i);
|
|
1148
|
+
let [o, s] = a.domain(), c = Array.from({ length: r }, (e, t) => o + (s - o) * t / (r - 1)), l = e.displayMode !== "compact" || t.row === 0 ? c : c.filter((e) => e !== s), { tickTextWidth: u } = wn(a.domain(), !1, l, n.seriesList[0]?.unit, r), d = u + 7 + 6 + 24 + 4, f = n.side === "left" ? -p.left : t.width + p.right, m = u + 7 + 6 + 24 / 2, h = f + (n.side === "left" ? -m : m);
|
|
1151
1149
|
return p[n.side] += d, {
|
|
1152
1150
|
index: n.index,
|
|
1153
1151
|
side: n.side,
|
|
1154
1152
|
x: f,
|
|
1155
1153
|
labelX: h,
|
|
1156
|
-
scale:
|
|
1157
|
-
majorTicks:
|
|
1158
|
-
minorTicks:
|
|
1154
|
+
scale: a,
|
|
1155
|
+
majorTicks: c,
|
|
1156
|
+
minorTicks: Ze(c),
|
|
1159
1157
|
tickValues: l,
|
|
1160
1158
|
seriesList: n.seriesList
|
|
1161
1159
|
};
|
|
1162
1160
|
}), h = m[0]?.scale ?? V(o.yDomain, [t.plotHeight, 0]).nice(), g = u.ticks(Math.max(2, Math.floor(t.width / 100))), _ = m[0]?.majorTicks ?? [], v = m[0]?.tickValues ?? [], y = u.domain(), b = {
|
|
1163
|
-
start:
|
|
1164
|
-
end:
|
|
1161
|
+
start: dt(y[0], y, e.timeUnit, "start", e.xAxisLabelFormatter),
|
|
1162
|
+
end: dt(y[1], y, e.timeUnit, "end", e.xAxisLabelFormatter)
|
|
1165
1163
|
}, x = b.start.length * 7 + 10, S = b.end.length * 7 + 10, C = g.filter((e) => {
|
|
1166
1164
|
let n = u(e);
|
|
1167
1165
|
return n > x && n < t.width - S;
|
|
1168
1166
|
}), w = o.visibleSeries.map((n) => {
|
|
1169
|
-
let r = m.find((e) => e.seriesList.some((e) => e.id === n.id)), a = r?.scale ?? h, o =
|
|
1167
|
+
let r = m.find((e) => e.seriesList.some((e) => e.id === n.id)), a = r?.scale ?? h, o = $t(n.points, y, t.width, e.rendering, {
|
|
1170
1168
|
lineVisible: !i && n.lineType !== "none",
|
|
1171
1169
|
pointVisible: n.pointType !== "none",
|
|
1172
1170
|
errorBarVisible: n.errorBar.visible,
|
|
@@ -1200,7 +1198,7 @@ function fn(e) {
|
|
|
1200
1198
|
yScale: h,
|
|
1201
1199
|
yAxes: m,
|
|
1202
1200
|
xMajorTicks: g,
|
|
1203
|
-
xMinorTicks:
|
|
1201
|
+
xMinorTicks: Ze(g, 5, y),
|
|
1204
1202
|
yMajorTicks: _,
|
|
1205
1203
|
yMinorTicks: m[0]?.minorTicks ?? [],
|
|
1206
1204
|
yAxisTickValues: v,
|
|
@@ -1218,8 +1216,11 @@ function fn(e) {
|
|
|
1218
1216
|
}
|
|
1219
1217
|
//#endregion
|
|
1220
1218
|
//#region src/components/core/layout.ts
|
|
1221
|
-
var
|
|
1222
|
-
function
|
|
1219
|
+
var mn = 7, hn = 7, gn = 4, _n = 6, vn = 24;
|
|
1220
|
+
function yn(e, t) {
|
|
1221
|
+
return typeof t == "number" && Number.isFinite(t) ? Math.max(2, Math.floor(t)) : 5;
|
|
1222
|
+
}
|
|
1223
|
+
function bn(e) {
|
|
1223
1224
|
return e >= 4 ? [
|
|
1224
1225
|
"left",
|
|
1225
1226
|
"left",
|
|
@@ -1231,13 +1232,13 @@ function vn(e) {
|
|
|
1231
1232
|
"right"
|
|
1232
1233
|
] : e === 2 ? ["left", "right"] : ["left"];
|
|
1233
1234
|
}
|
|
1234
|
-
var
|
|
1235
|
-
function
|
|
1236
|
-
let n =
|
|
1237
|
-
n || (n = /* @__PURE__ */ new Map(),
|
|
1235
|
+
var xn = /* @__PURE__ */ new WeakMap();
|
|
1236
|
+
function Sn(e, t) {
|
|
1237
|
+
let n = xn.get(e);
|
|
1238
|
+
n || (n = /* @__PURE__ */ new Map(), xn.set(e, n));
|
|
1238
1239
|
let r = n.get(t);
|
|
1239
1240
|
if (r) return r;
|
|
1240
|
-
let i = t === "multi-axis" ? Math.min(e.visibleSeries.length, 4) : Math.min(e.visibleSeries.length, 1), a =
|
|
1241
|
+
let i = t === "multi-axis" ? Math.min(e.visibleSeries.length, 4) : Math.min(e.visibleSeries.length, 1), a = bn(i), o = Array.from({ length: i }, (e, t) => ({
|
|
1241
1242
|
index: t,
|
|
1242
1243
|
side: a[t],
|
|
1243
1244
|
seriesList: [],
|
|
@@ -1250,53 +1251,50 @@ function bn(e, t) {
|
|
|
1250
1251
|
if (t === "single-axis") n.domain = e.yDomain;
|
|
1251
1252
|
else {
|
|
1252
1253
|
let t = n.seriesList.flatMap((e) => e.yDomain);
|
|
1253
|
-
n.domain = t.length > 0 ?
|
|
1254
|
+
n.domain = t.length > 0 ? Xe(t) : e.yDomain;
|
|
1254
1255
|
}
|
|
1255
1256
|
}), n.set(t, o), o;
|
|
1256
1257
|
}
|
|
1257
|
-
function
|
|
1258
|
-
let i =
|
|
1259
|
-
return
|
|
1258
|
+
function Cn(e, t, n, r) {
|
|
1259
|
+
let i = Et(e, r);
|
|
1260
|
+
return Sn(e, t).map((e) => {
|
|
1260
1261
|
if (i) return {
|
|
1261
1262
|
...e,
|
|
1262
1263
|
domain: i,
|
|
1263
1264
|
fixed: !0
|
|
1264
1265
|
};
|
|
1265
|
-
let t = e.seriesList.map((e) =>
|
|
1266
|
+
let t = e.seriesList.map((e) => Dt(e, n, r) ?? e.yDomain), a = e.seriesList.some((e) => Dt(e, n, r));
|
|
1266
1267
|
return a ? {
|
|
1267
1268
|
...e,
|
|
1268
|
-
domain:
|
|
1269
|
+
domain: kt(t),
|
|
1269
1270
|
fixed: a
|
|
1270
1271
|
} : e;
|
|
1271
1272
|
});
|
|
1272
1273
|
}
|
|
1273
|
-
function
|
|
1274
|
-
let
|
|
1275
|
-
t &&
|
|
1276
|
-
let [
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
}
|
|
1287
|
-
function
|
|
1288
|
-
return
|
|
1289
|
-
}
|
|
1290
|
-
function
|
|
1291
|
-
return
|
|
1292
|
-
}
|
|
1293
|
-
function Tn(e, t, n, r) {
|
|
1294
|
-
return xn(e, t, n, r).reduce((n, r) => (n[r.side] += t === "multi-axis" || e.visibleSeries.length === 1 ? Cn(r) : wn(r), n), {
|
|
1274
|
+
function wn(e, t = !0, n, r, i = 10) {
|
|
1275
|
+
let a = typeof i == "number" && Number.isFinite(i) ? Math.max(2, Math.floor(i)) : 10, o = V(e, [1, 0]);
|
|
1276
|
+
t && o.nice(a);
|
|
1277
|
+
let [s, c] = o.domain(), l = n ?? o.ticks(a), u = Math.max(...l);
|
|
1278
|
+
return { tickTextWidth: Math.max(1, ...l.map((e) => st(e, {
|
|
1279
|
+
axisMin: s,
|
|
1280
|
+
axisMax: c,
|
|
1281
|
+
topTickValue: u,
|
|
1282
|
+
unit: r
|
|
1283
|
+
}).length)) * mn };
|
|
1284
|
+
}
|
|
1285
|
+
function Tn(e, t) {
|
|
1286
|
+
return wn(e.domain, !0, void 0, e.seriesList[0]?.unit, t).tickTextWidth + hn + _n + vn + gn;
|
|
1287
|
+
}
|
|
1288
|
+
function En(e, t) {
|
|
1289
|
+
return wn(e.domain, !0, void 0, e.seriesList[0]?.unit, t).tickTextWidth + hn + gn;
|
|
1290
|
+
}
|
|
1291
|
+
function Dn(e, t, n, r, i) {
|
|
1292
|
+
return Cn(e, t, n, r).reduce((n, r) => (n[r.side] += t === "multi-axis" || e.visibleSeries.length === 1 ? Tn(r, i) : En(r, i), n), {
|
|
1295
1293
|
left: 0,
|
|
1296
1294
|
right: 0
|
|
1297
1295
|
});
|
|
1298
1296
|
}
|
|
1299
|
-
function
|
|
1297
|
+
function On(e, t, n) {
|
|
1300
1298
|
let r = (e) => {
|
|
1301
1299
|
let r = t < e.left ? e.left - t : t > e.left + e.width ? t - e.left - e.width : 0;
|
|
1302
1300
|
return n < e.top ? e.top - n : n > e.top + e.height ? n - (e.top + e.height) : r;
|
|
@@ -1315,11 +1313,11 @@ function En(e, t, n) {
|
|
|
1315
1313
|
}
|
|
1316
1314
|
//#endregion
|
|
1317
1315
|
//#region src/components/annotation/useWaveformChartAnnotations.ts
|
|
1318
|
-
var
|
|
1319
|
-
function
|
|
1320
|
-
return
|
|
1316
|
+
var kn = 0;
|
|
1317
|
+
function An() {
|
|
1318
|
+
return kn += 1, typeof crypto < "u" && typeof crypto.randomUUID == "function" ? crypto.randomUUID() : `annotation-${Date.now()}-${kn}`;
|
|
1321
1319
|
}
|
|
1322
|
-
function
|
|
1320
|
+
function jn(e) {
|
|
1323
1321
|
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: y, isPresentationMode: b } = e, x = v("");
|
|
1324
1322
|
function S(e) {
|
|
1325
1323
|
if (!i.value.some((t) => t.id === e)) return;
|
|
@@ -1352,7 +1350,7 @@ function kn(e) {
|
|
|
1352
1350
|
};
|
|
1353
1351
|
}
|
|
1354
1352
|
function T(e, t, n) {
|
|
1355
|
-
x.value = "", s.openCreate(e,
|
|
1353
|
+
x.value = "", s.openCreate(e, An, t), c.value = n;
|
|
1356
1354
|
let r = s.editorDraft.value, i = l.value.find((t) => t.index === e.trackIndex)?.seriesList.find((t) => t.id === e.seriesId);
|
|
1357
1355
|
r?.mode === "add" && (r.annotation.style = {
|
|
1358
1356
|
borderColor: i?.color || "#1677ff",
|
|
@@ -1413,7 +1411,7 @@ function kn(e) {
|
|
|
1413
1411
|
let e = l.value[n];
|
|
1414
1412
|
return e?.hasVisibleSeries ? e : void 0;
|
|
1415
1413
|
}
|
|
1416
|
-
return
|
|
1414
|
+
return On(l.value.filter((e) => e.hasVisibleSeries), e, t);
|
|
1417
1415
|
}
|
|
1418
1416
|
function A(e, t) {
|
|
1419
1417
|
let n = e.currentTarget;
|
|
@@ -1504,8 +1502,8 @@ function kn(e) {
|
|
|
1504
1502
|
}
|
|
1505
1503
|
//#endregion
|
|
1506
1504
|
//#region src/components/interaction/useWaveformHover.ts
|
|
1507
|
-
var
|
|
1508
|
-
function
|
|
1505
|
+
var Mn = P((e) => e.x);
|
|
1506
|
+
function Nn(e) {
|
|
1509
1507
|
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) => {
|
|
1510
1508
|
let r = n.points[t];
|
|
1511
1509
|
return r?.id === e.id && r.trackIndex === e.trackIndex && r.point === e.point;
|
|
@@ -1527,7 +1525,7 @@ function jn(e) {
|
|
|
1527
1525
|
r.value = !0, y();
|
|
1528
1526
|
}, C = (e = !1) => {
|
|
1529
1527
|
r.value = !e, y();
|
|
1530
|
-
}, w = () => r.value ? (r.value = !1, y(), !0) : !1, T = (e, t) => e.points[
|
|
1528
|
+
}, w = () => r.value ? (r.value = !1, y(), !0) : !1, T = (e, t) => e.points[Mn.center(e.points, t)];
|
|
1531
1529
|
return {
|
|
1532
1530
|
cancelPendingHover: h,
|
|
1533
1531
|
clearHover: y,
|
|
@@ -1582,14 +1580,14 @@ function jn(e) {
|
|
|
1582
1580
|
}
|
|
1583
1581
|
//#endregion
|
|
1584
1582
|
//#region src/components/interaction/pointerCapture.ts
|
|
1585
|
-
function
|
|
1583
|
+
function Pn(e, t) {
|
|
1586
1584
|
try {
|
|
1587
1585
|
e?.releasePointerCapture?.(t);
|
|
1588
1586
|
} catch {}
|
|
1589
1587
|
}
|
|
1590
1588
|
//#endregion
|
|
1591
1589
|
//#region src/components/interaction/viewportInteractionState.ts
|
|
1592
|
-
function
|
|
1590
|
+
function Fn(e) {
|
|
1593
1591
|
return {
|
|
1594
1592
|
...e,
|
|
1595
1593
|
currentX: e.startX,
|
|
@@ -1598,37 +1596,37 @@ function Nn(e) {
|
|
|
1598
1596
|
yDomains: Object.fromEntries(Object.entries(e.yDomains).map(([e, t]) => [e, [...t]]))
|
|
1599
1597
|
};
|
|
1600
1598
|
}
|
|
1601
|
-
function
|
|
1599
|
+
function In(e, t) {
|
|
1602
1600
|
return {
|
|
1603
1601
|
...e,
|
|
1604
1602
|
...t
|
|
1605
1603
|
};
|
|
1606
1604
|
}
|
|
1607
|
-
function
|
|
1605
|
+
function Ln(e) {
|
|
1608
1606
|
return {
|
|
1609
1607
|
state: e,
|
|
1610
1608
|
accepted: !1,
|
|
1611
1609
|
completed: null
|
|
1612
1610
|
};
|
|
1613
1611
|
}
|
|
1614
|
-
function
|
|
1612
|
+
function Rn(e, t) {
|
|
1615
1613
|
switch (t.type) {
|
|
1616
|
-
case "begin": return e ?
|
|
1617
|
-
state:
|
|
1614
|
+
case "begin": return e ? Ln(e) : {
|
|
1615
|
+
state: Fn(t.gesture),
|
|
1618
1616
|
accepted: !0,
|
|
1619
1617
|
completed: null
|
|
1620
1618
|
};
|
|
1621
|
-
case "move": return !e || e.pointerId !== t.pointerId ?
|
|
1622
|
-
state:
|
|
1619
|
+
case "move": return !e || e.pointerId !== t.pointerId ? Ln(e) : {
|
|
1620
|
+
state: In(e, t.position),
|
|
1623
1621
|
accepted: !0,
|
|
1624
1622
|
completed: null
|
|
1625
1623
|
};
|
|
1626
|
-
case "finish": return !e || e.pointerId !== t.pointerId ?
|
|
1624
|
+
case "finish": return !e || e.pointerId !== t.pointerId ? Ln(e) : {
|
|
1627
1625
|
state: null,
|
|
1628
1626
|
accepted: !0,
|
|
1629
|
-
completed:
|
|
1627
|
+
completed: In(e, t.position)
|
|
1630
1628
|
};
|
|
1631
|
-
case "cancel": return !e || t.pointerId !== void 0 && e.pointerId !== t.pointerId ?
|
|
1629
|
+
case "cancel": return !e || t.pointerId !== void 0 && e.pointerId !== t.pointerId ? Ln(e) : {
|
|
1632
1630
|
state: null,
|
|
1633
1631
|
accepted: !0,
|
|
1634
1632
|
completed: null
|
|
@@ -1642,26 +1640,26 @@ function In(e, t) {
|
|
|
1642
1640
|
}
|
|
1643
1641
|
//#endregion
|
|
1644
1642
|
//#region src/components/interaction/zoomConstraints.ts
|
|
1645
|
-
var
|
|
1646
|
-
function
|
|
1643
|
+
var zn = /* @__PURE__ */ new WeakMap();
|
|
1644
|
+
function Bn(e) {
|
|
1647
1645
|
return e[0] <= e[1] ? [...e] : [e[1], e[0]];
|
|
1648
1646
|
}
|
|
1649
|
-
function
|
|
1647
|
+
function Vn(e) {
|
|
1650
1648
|
return Number.isFinite(e) && (e ?? 0) > 0 ? Math.ceil(e) : 0;
|
|
1651
1649
|
}
|
|
1652
|
-
function
|
|
1653
|
-
let n = `${t[0]}\u0000${t[1]}`, r =
|
|
1650
|
+
function Hn(e, t) {
|
|
1651
|
+
let n = `${t[0]}\u0000${t[1]}`, r = zn.get(e)?.get(n);
|
|
1654
1652
|
if (r) return r;
|
|
1655
1653
|
let i = /* @__PURE__ */ new Set();
|
|
1656
1654
|
for (let n of e) for (let e of n.points) e.x >= t[0] && e.x <= t[1] && i.add(e.x);
|
|
1657
|
-
let a = Array.from(i).sort((e, t) => e - t), o =
|
|
1658
|
-
return o.set(n, a),
|
|
1655
|
+
let a = Array.from(i).sort((e, t) => e - t), o = zn.get(e) ?? /* @__PURE__ */ new Map();
|
|
1656
|
+
return o.set(n, a), zn.set(e, o), a;
|
|
1659
1657
|
}
|
|
1660
|
-
function
|
|
1658
|
+
function Un(e, t, n) {
|
|
1661
1659
|
if (n <= 1) return 0;
|
|
1662
1660
|
let r = 0;
|
|
1663
1661
|
for (let i of e) {
|
|
1664
|
-
let e =
|
|
1662
|
+
let e = Hn(i, t);
|
|
1665
1663
|
if (e.length < n) return t[1] - t[0];
|
|
1666
1664
|
let a = Infinity;
|
|
1667
1665
|
for (let t = 0; t + n <= e.length; t += 1) a = Math.min(a, e[t + n - 1] - e[t]);
|
|
@@ -1670,17 +1668,17 @@ function Vn(e, t, n) {
|
|
|
1670
1668
|
}
|
|
1671
1669
|
return r;
|
|
1672
1670
|
}
|
|
1673
|
-
function
|
|
1674
|
-
let r =
|
|
1671
|
+
function Wn(e, t, n) {
|
|
1672
|
+
let r = Bn(e), i = r[1] - r[0];
|
|
1675
1673
|
if (!Number.isFinite(i) || i <= 0) return 0;
|
|
1676
|
-
let a = Number.isFinite(n.minZoomSpan) && (n.minZoomSpan ?? 0) > 0 ? Math.min(i, n.minZoomSpan) : 0, o =
|
|
1677
|
-
return a > 0 || o > 0 ? Math.max(a, s) : i /
|
|
1674
|
+
let a = Number.isFinite(n.minZoomSpan) && (n.minZoomSpan ?? 0) > 0 ? Math.min(i, n.minZoomSpan) : 0, o = Vn(n.minVisiblePoints), s = Un(t, r, o);
|
|
1675
|
+
return a > 0 || o > 0 ? Math.max(a, s) : i / yt.DEFAULT_MAX_SCALE;
|
|
1678
1676
|
}
|
|
1679
|
-
function
|
|
1677
|
+
function Gn(e, t, n, r) {
|
|
1680
1678
|
if (r <= 0) return e;
|
|
1681
1679
|
let i = 2 ** -52 * Math.max(1, Math.abs(t[0]), Math.abs(t[1])) * 16, a = e;
|
|
1682
1680
|
for (let e of n) {
|
|
1683
|
-
let n =
|
|
1681
|
+
let n = Hn(e, t);
|
|
1684
1682
|
if (n.length < r) return [...t];
|
|
1685
1683
|
if (n.filter((e) => e >= a[0] && e <= a[1]).length >= r) continue;
|
|
1686
1684
|
let o, s = Infinity, c = Infinity, l = (a[0] + a[1]) / 2;
|
|
@@ -1692,13 +1690,13 @@ function Un(e, t, n, r) {
|
|
|
1692
1690
|
}
|
|
1693
1691
|
return a;
|
|
1694
1692
|
}
|
|
1695
|
-
function
|
|
1696
|
-
let i =
|
|
1693
|
+
function Kn(e, t, n, r) {
|
|
1694
|
+
let i = Bn(t), a = i[1] - i[0];
|
|
1697
1695
|
if (!Number.isFinite(a) || a <= 0 || Math.abs(e[1] - e[0]) >= a * .999999999999) return i;
|
|
1698
|
-
let o =
|
|
1696
|
+
let o = Gn([Math.max(i[0], Math.min(e[0], e[1])), Math.min(i[1], Math.max(e[0], e[1]))], i, n, Vn(r.minVisiblePoints)), s = Wn(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));
|
|
1699
1697
|
return [u, u + c];
|
|
1700
1698
|
}
|
|
1701
|
-
function
|
|
1699
|
+
function $(e, t, n) {
|
|
1702
1700
|
let r = t[1] - t[0], i = e[1] - e[0];
|
|
1703
1701
|
if (!Number.isFinite(r) || !Number.isFinite(i) || r <= 0 || i <= 0) return W;
|
|
1704
1702
|
let a = r / i, o = V(t, [0, n]);
|
|
@@ -1706,7 +1704,7 @@ function Gn(e, t, n) {
|
|
|
1706
1704
|
}
|
|
1707
1705
|
//#endregion
|
|
1708
1706
|
//#region src/components/interaction/viewportDomain.ts
|
|
1709
|
-
function
|
|
1707
|
+
function qn(e) {
|
|
1710
1708
|
return (t, n) => {
|
|
1711
1709
|
if (!(!Number.isFinite(t[0]) || !Number.isFinite(t[1]) || t[0] === t[1])) {
|
|
1712
1710
|
if (e.cancelPendingZoom(), e.cancelViewportDrag(), e.props.displayMode === "independent") {
|
|
@@ -1714,12 +1712,12 @@ function Kn(e) {
|
|
|
1714
1712
|
r.forEach((n) => {
|
|
1715
1713
|
let r = e.trackLayouts.value.find((e) => e.index === n);
|
|
1716
1714
|
if (!r) return;
|
|
1717
|
-
let a = e.resolveInitialTrackDomain(r), o =
|
|
1718
|
-
i[n] =
|
|
1715
|
+
let a = e.resolveInitialTrackDomain(r), o = Kn(t, a, [r.seriesList], e.props);
|
|
1716
|
+
i[n] = $(o, a, r.width);
|
|
1719
1717
|
}), e.independentTransforms.value = i;
|
|
1720
1718
|
} else {
|
|
1721
|
-
let n = e.initialXDomain.value, r =
|
|
1722
|
-
e.sharedTransform.value =
|
|
1719
|
+
let n = e.initialXDomain.value, r = Kn(t, n, e.trackLayouts.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), e.props);
|
|
1720
|
+
e.sharedTransform.value = $(r, n, e.innerWidth.value);
|
|
1723
1721
|
}
|
|
1724
1722
|
e.clearHover(), e.editorSeriesOptions.value = [], d(e.configureZoom);
|
|
1725
1723
|
}
|
|
@@ -1727,13 +1725,13 @@ function Kn(e) {
|
|
|
1727
1725
|
}
|
|
1728
1726
|
//#endregion
|
|
1729
1727
|
//#region src/components/interaction/useWaveformViewport.ts
|
|
1730
|
-
function
|
|
1728
|
+
function Jn(e) {
|
|
1731
1729
|
let { props: n, emit: r, selection: i, spacePressed: a, trackLayouts: o, chartTracks: s, initialXDomain: c, innerWidth: l, innerHeight: u, sharedOverlayElement: f, sharedTransform: p, independentTransforms: m, sharedYDomains: h, independentYDomains: g, isZoomMode: _, isPresentationMode: v, editorSeriesOptions: y, resolveInitialTrackDomain: b, canZoomTrack: S, canZoomSharedTracks: C, configureZoom: w, cancelPendingZoom: T, clearHover: E, resolveTrackAtPointer: D } = e, O = x(), k = (e, t) => {
|
|
1732
1730
|
let n = O.value, r = t?.currentTarget;
|
|
1733
|
-
|
|
1731
|
+
Pn(n, e), r && r !== n && Pn(r, e);
|
|
1734
1732
|
}, A = (e, t) => {
|
|
1735
1733
|
let n = i.value;
|
|
1736
|
-
!n || n.pointerId !== e || (k(e, t), i.value =
|
|
1734
|
+
!n || n.pointerId !== e || (k(e, t), i.value = Rn(i.value, {
|
|
1737
1735
|
type: "cancel",
|
|
1738
1736
|
pointerId: e
|
|
1739
1737
|
}).state, O.value = void 0);
|
|
@@ -1756,7 +1754,7 @@ function qn(e) {
|
|
|
1756
1754
|
if (!n.zoomable && !s || !_.value || e.button !== 0) return;
|
|
1757
1755
|
let c = e.currentTarget, d = o.value.find((e) => e.index === t);
|
|
1758
1756
|
if (!d) return;
|
|
1759
|
-
let [f, p] = B(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 =
|
|
1757
|
+
let [f, p] = B(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 = Rn(i.value, {
|
|
1760
1758
|
type: "begin",
|
|
1761
1759
|
gesture: {
|
|
1762
1760
|
trackIndex: t,
|
|
@@ -1778,12 +1776,12 @@ function qn(e) {
|
|
|
1778
1776
|
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], _);
|
|
1779
1777
|
if (e.independent) {
|
|
1780
1778
|
let e = [...m.value];
|
|
1781
|
-
e[t.index] =
|
|
1782
|
-
} else p.value =
|
|
1779
|
+
e[t.index] = $(v, _, i), m.value = e;
|
|
1780
|
+
} else p.value = $(v, _, l.value);
|
|
1783
1781
|
let y = e.independent ? [t] : o.value, x = { ...g.value }, S = { ...h.value };
|
|
1784
1782
|
y.forEach((t) => {
|
|
1785
1783
|
let r = s.value.find((e) => e.id === t.id);
|
|
1786
|
-
if (r &&
|
|
1784
|
+
if (r && Ot(r, n.yDomain, n.yDomains)) return;
|
|
1787
1785
|
let i = t.series.trackId ?? t.series.id, o = e.yDomains[i] ?? t.yScale.domain(), c = r?.yDomain ?? o, l = o[1] - o[0], u = M([o[0] + d / a * l, o[1] + d / a * l], c);
|
|
1788
1786
|
e.independent ? x[t.index] = u : S[i] = u;
|
|
1789
1787
|
}), e.independent ? g.value = x : h.value = S, r("zoom-change", v);
|
|
@@ -1793,7 +1791,7 @@ function qn(e) {
|
|
|
1793
1791
|
if (!t || !n || e.pointerId !== t.pointerId) return;
|
|
1794
1792
|
let r = o.value.find((e) => e.index === t.trackIndex);
|
|
1795
1793
|
if (!r) return;
|
|
1796
|
-
let [a, s] = B(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 =
|
|
1794
|
+
let [a, s] = B(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 = Rn(i.value, {
|
|
1797
1795
|
type: "move",
|
|
1798
1796
|
pointerId: e.pointerId,
|
|
1799
1797
|
position: {
|
|
@@ -1812,11 +1810,11 @@ function qn(e) {
|
|
|
1812
1810
|
if (!t || (e.independent ? !S(t) : !C())) return;
|
|
1813
1811
|
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));
|
|
1814
1812
|
if (s - a < 6) return;
|
|
1815
|
-
let u = e.independent ? b(t) : c.value, f = e.independent ? [t.seriesList] : o.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), h =
|
|
1813
|
+
let u = e.independent ? b(t) : c.value, f = e.independent ? [t.seriesList] : o.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), h = Kn([t.xScale.invert(a), t.xScale.invert(s)], u, f, n);
|
|
1816
1814
|
if (e.independent) {
|
|
1817
1815
|
let e = [...m.value];
|
|
1818
|
-
e[t.index] =
|
|
1819
|
-
} else p.value =
|
|
1816
|
+
e[t.index] = $(h, u, t.width), m.value = e;
|
|
1817
|
+
} else p.value = $(h, u, l.value);
|
|
1820
1818
|
let g = e.independent ? [t] : o.value, _ = Object.fromEntries(g.map((e) => [e.series.trackId ?? e.series.id, e.yScale.domain()]));
|
|
1821
1819
|
if (r("zoom-change", h), e.independent) {
|
|
1822
1820
|
let e = _[t.series.trackId ?? t.series.id];
|
|
@@ -1857,7 +1855,7 @@ function qn(e) {
|
|
|
1857
1855
|
A(t.pointerId, e);
|
|
1858
1856
|
return;
|
|
1859
1857
|
}
|
|
1860
|
-
let [a, s] = B(e, r), c = Math.max(0, Math.min(t.independent ? n.width : l.value, a)), f = Math.max(0, Math.min(t.independent ? n.height : u.value, s)), p =
|
|
1858
|
+
let [a, s] = B(e, r), c = Math.max(0, Math.min(t.independent ? n.width : l.value, a)), f = Math.max(0, Math.min(t.independent ? n.height : u.value, s)), p = Rn(i.value, {
|
|
1861
1859
|
type: "finish",
|
|
1862
1860
|
pointerId: e.pointerId,
|
|
1863
1861
|
position: {
|
|
@@ -1889,7 +1887,7 @@ function qn(e) {
|
|
|
1889
1887
|
finishViewportDrag: V,
|
|
1890
1888
|
cancelViewportDrag: R,
|
|
1891
1889
|
resetViewport: H,
|
|
1892
|
-
setViewportDomain:
|
|
1890
|
+
setViewportDomain: qn({
|
|
1893
1891
|
props: n,
|
|
1894
1892
|
trackLayouts: o,
|
|
1895
1893
|
initialXDomain: c,
|
|
@@ -1921,7 +1919,7 @@ function qn(e) {
|
|
|
1921
1919
|
}
|
|
1922
1920
|
//#endregion
|
|
1923
1921
|
//#region src/components/utils/useAnimationFrameThrottle.ts
|
|
1924
|
-
function
|
|
1922
|
+
function Yn() {
|
|
1925
1923
|
let e = null, t = null;
|
|
1926
1924
|
function n(n) {
|
|
1927
1925
|
t = n, e === null && (e = requestAnimationFrame(() => {
|
|
@@ -1950,8 +1948,8 @@ function Jn() {
|
|
|
1950
1948
|
}
|
|
1951
1949
|
//#endregion
|
|
1952
1950
|
//#region src/components/interaction/useWaveformZoom.ts
|
|
1953
|
-
function
|
|
1954
|
-
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 =
|
|
1951
|
+
function Xn(e) {
|
|
1952
|
+
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 = Yn(), y = !1, b = null, x = null, S = null, C = /* @__PURE__ */ new Map(), w = /* @__PURE__ */ new Map(), T = /* @__PURE__ */ new Map(), E = /* @__PURE__ */ new Set(), D, O = () => v.schedule(j), k = (e) => {
|
|
1955
1953
|
y || m.value || (g(), b = e.transform, x = "wheel", O(), P());
|
|
1956
1954
|
}, A = (e, t) => {
|
|
1957
1955
|
y || m.value || (g(), C.set(t, e.transform), w.set(t, "wheel"), O(), P());
|
|
@@ -2038,19 +2036,19 @@ function Yn(e) {
|
|
|
2038
2036
|
F(), r.value?.querySelectorAll(".waveform-chart__overlay").forEach((e) => H(e).on(".zoom", null)), _.clear();
|
|
2039
2037
|
}, L = (e, n) => {
|
|
2040
2038
|
let r = Math.abs(e[1] - e[0]);
|
|
2041
|
-
if (!Number.isFinite(r) || r <= 0) return
|
|
2042
|
-
let i =
|
|
2043
|
-
return Math.max(
|
|
2044
|
-
}, R = (e, n, r, i) =>
|
|
2039
|
+
if (!Number.isFinite(r) || r <= 0) return yt.MIN_SCALE;
|
|
2040
|
+
let i = Wn(e, n, t);
|
|
2041
|
+
return Math.max(yt.MIN_SCALE, i > 0 ? r / i : yt.DEFAULT_MAX_SCALE);
|
|
2042
|
+
}, R = (e, n, r, i) => $(Kn(e.rescaleX(V(n, [0, r])).domain(), n, i, t), n, r), z = (e) => {
|
|
2045
2043
|
let n = Number(t.minVisiblePoints);
|
|
2046
|
-
return
|
|
2044
|
+
return Jt(e.seriesList, e.xScale.domain(), Number.isFinite(n) && n > 0 ? Math.ceil(n) + 1 : n);
|
|
2047
2045
|
}, B = () => {
|
|
2048
2046
|
let e = s.value.filter((e) => e.hasVisibleSeries);
|
|
2049
2047
|
return e.length > 0 && e.every(z);
|
|
2050
2048
|
}, U = (e, t) => {
|
|
2051
2049
|
if (e.type !== "wheel") return !1;
|
|
2052
2050
|
let n = e.deltaY;
|
|
2053
|
-
return n < 0 ? t : n > 0 && G(e.currentTarget).k >
|
|
2051
|
+
return n < 0 ? t : n > 0 && G(e.currentTarget).k > yt.MIN_SCALE;
|
|
2054
2052
|
};
|
|
2055
2053
|
return {
|
|
2056
2054
|
cancelPendingZoom: F,
|
|
@@ -2090,13 +2088,13 @@ function Yn(e) {
|
|
|
2090
2088
|
}
|
|
2091
2089
|
//#endregion
|
|
2092
2090
|
//#region src/components/core/useWaveformChartLifecycle.ts
|
|
2093
|
-
function
|
|
2091
|
+
function Zn(e) {
|
|
2094
2092
|
return e instanceof Element && !!e.closest("button, input, select, textarea, [contenteditable]:not([contenteditable=\"false\"])");
|
|
2095
2093
|
}
|
|
2096
|
-
function
|
|
2094
|
+
function Qn(e) {
|
|
2097
2095
|
let { props: t, emit: n, container: r, titleMeasureElement: i, resizeObserver: a, observedWidth: o, observedHeight: s, measuredTitleWidth: c, measuredTitleHeight: l, resolvedTitleText: u, titleAreaReserved: f, titleMeasureStyle: p, spacePressed: g, pointerInsideChart: _, currentPage: v, pageCount: y, pagedTracks: b, gridOptions: x, chartSeries: S, chartTracks: C, trackLayouts: w, innerWidth: T, innerHeight: D, sharedZoomDomain: O, 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: ee, cancelPendingHover: te, clearZoomBindings: ne } = e;
|
|
2098
2096
|
function re(e) {
|
|
2099
|
-
z.value || e.code !== "Space" || !t.pannable || !_.value ||
|
|
2097
|
+
z.value || e.code !== "Space" || !t.pannable || !_.value || Zn(e.target) || (g.value = !0, e.preventDefault());
|
|
2100
2098
|
}
|
|
2101
2099
|
function ie(e) {
|
|
2102
2100
|
e.code === "Space" && (g.value = !1);
|
|
@@ -2129,12 +2127,12 @@ function Zn(e) {
|
|
|
2129
2127
|
w.value.forEach((n) => {
|
|
2130
2128
|
let r = q?.[n.index];
|
|
2131
2129
|
if (!r) return;
|
|
2132
|
-
let i = I(n), a =
|
|
2133
|
-
e[n.index] =
|
|
2130
|
+
let i = I(n), a = Kn(r, i, [n.seriesList], t);
|
|
2131
|
+
e[n.index] = $(a, i, n.width);
|
|
2134
2132
|
}), P.value = e, q = void 0;
|
|
2135
2133
|
} else if (t.displayMode !== "independent" && K) {
|
|
2136
|
-
let e = k.value, n = w.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), r =
|
|
2137
|
-
A.value =
|
|
2134
|
+
let e = k.value, n = w.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), r = Kn(K, e, n, t);
|
|
2135
|
+
A.value = $(r, e, T.value), K = void 0;
|
|
2138
2136
|
}
|
|
2139
2137
|
H();
|
|
2140
2138
|
});
|
|
@@ -2217,39 +2215,39 @@ function Zn(e) {
|
|
|
2217
2215
|
}
|
|
2218
2216
|
//#endregion
|
|
2219
2217
|
//#region src/components/core/useWaveformData.ts
|
|
2220
|
-
function
|
|
2218
|
+
function $n(e, t = !1) {
|
|
2221
2219
|
let n = Infinity, r = -Infinity, i = Infinity, a = -Infinity, o = !1;
|
|
2222
2220
|
for (let s of e) if (s.x < n && (n = s.x), s.x > r && (r = s.x), s.y < i && (i = s.y), s.y > a && (a = s.y), t) {
|
|
2223
|
-
let e =
|
|
2221
|
+
let e = Ft(s);
|
|
2224
2222
|
(e.lower !== 0 || e.upper !== 0) && (o = !0), i = Math.min(i, s.y - e.lower), a = Math.max(a, s.y + e.upper);
|
|
2225
2223
|
}
|
|
2226
2224
|
return {
|
|
2227
|
-
xDomain:
|
|
2228
|
-
yDomain:
|
|
2225
|
+
xDomain: Xe(Number.isFinite(n) ? [n, r] : []),
|
|
2226
|
+
yDomain: Xe(Number.isFinite(i) ? [i, a] : []),
|
|
2229
2227
|
hasErrorPoints: o
|
|
2230
2228
|
};
|
|
2231
2229
|
}
|
|
2232
|
-
function
|
|
2233
|
-
return
|
|
2234
|
-
let t =
|
|
2230
|
+
function er(e) {
|
|
2231
|
+
return Lt(e).map((e) => {
|
|
2232
|
+
let t = $n(e.points, e.errorBar.visible);
|
|
2235
2233
|
return {
|
|
2236
2234
|
...e,
|
|
2237
2235
|
...t
|
|
2238
2236
|
};
|
|
2239
2237
|
});
|
|
2240
2238
|
}
|
|
2241
|
-
function
|
|
2242
|
-
let r = x(
|
|
2239
|
+
function tr(e, t, n) {
|
|
2240
|
+
let r = x(er(e()));
|
|
2243
2241
|
return E(e, (e) => {
|
|
2244
|
-
t(), r.value =
|
|
2242
|
+
t(), r.value = er(e), n();
|
|
2245
2243
|
}), r;
|
|
2246
2244
|
}
|
|
2247
2245
|
//#endregion
|
|
2248
2246
|
//#region src/components/core/useWaveformLayout.ts
|
|
2249
|
-
function
|
|
2247
|
+
function nr(e) {
|
|
2250
2248
|
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 } = e, m = t(() => r.value.map((e, t) => ({
|
|
2251
2249
|
...e,
|
|
2252
|
-
color: e.color ?? (t === 0 ? n.lineColor :
|
|
2250
|
+
color: e.color ?? (t === 0 ? n.lineColor : St[t % St.length])
|
|
2253
2251
|
}))), h = t(() => {
|
|
2254
2252
|
let e = /* @__PURE__ */ new Map();
|
|
2255
2253
|
return m.value.forEach((t) => {
|
|
@@ -2263,19 +2261,19 @@ function tr(e) {
|
|
|
2263
2261
|
id: e,
|
|
2264
2262
|
series: t,
|
|
2265
2263
|
visibleSeries: n,
|
|
2266
|
-
xDomain:
|
|
2267
|
-
yDomain:
|
|
2264
|
+
xDomain: Xe(r),
|
|
2265
|
+
yDomain: Xe(i)
|
|
2268
2266
|
};
|
|
2269
2267
|
});
|
|
2270
|
-
}), g = t(() =>
|
|
2271
|
-
let e = h.value.filter((e) => e.visibleSeries.length > 0).flatMap((e) =>
|
|
2268
|
+
}), g = t(() => tn(n.grid)), _ = t(() => Wt(n.rendering)), v = t(() => rn(h.value.length, g.value)), y = t(() => an(h.value, i.value, g.value)), b = t(() => {
|
|
2269
|
+
let e = h.value.filter((e) => e.visibleSeries.length > 0).flatMap((e) => Cn(e, n.overlayMode, n.yDomain, n.yDomains)).map((e) => wn(e.domain, !0, void 0, e.seriesList[0]?.unit, n.axes?.y?.splitNumber).tickTextWidth), t = Math.max(7, ...e), r = t + 7 + 4, i = -(7 + t + 6 + 24 / 2);
|
|
2272
2270
|
return {
|
|
2273
2271
|
tickClearance: r,
|
|
2274
2272
|
fullClearance: t + 7 + 6 + 24 + 4,
|
|
2275
2273
|
labelCenterX: i
|
|
2276
2274
|
};
|
|
2277
|
-
}), x = t(() => h.value.some((e) => e.visibleSeries.length === 1 && !!(e.visibleSeries[0]?.name.trim() || n.yLabel))), S = t(() => h.value.some((e) => e.visibleSeries.length > 0)), C = t(() => Math.max(
|
|
2278
|
-
let r =
|
|
2275
|
+
}), x = t(() => h.value.some((e) => e.visibleSeries.length === 1 && !!(e.visibleSeries[0]?.name.trim() || n.yLabel))), S = t(() => h.value.some((e) => e.visibleSeries.length > 0)), C = t(() => Math.max(vt.left, x.value ? b.value.fullClearance : S.value ? b.value.tickClearance : 0)), w = t(() => h.value.reduce((e, t) => {
|
|
2276
|
+
let r = Dn(t, n.overlayMode, n.yDomain, n.yDomains, n.axes?.y?.splitNumber);
|
|
2279
2277
|
return {
|
|
2280
2278
|
left: Math.max(e.left, r.left),
|
|
2281
2279
|
right: Math.max(e.right, r.right)
|
|
@@ -2283,8 +2281,8 @@ function tr(e) {
|
|
|
2283
2281
|
}, {
|
|
2284
2282
|
left: 0,
|
|
2285
2283
|
right: 0
|
|
2286
|
-
})), T = t(() => n.overlayMode === "multi-axis" ? Math.max(C.value, w.value.left) : C.value), E = t(() => n.overlayMode === "multi-axis" ? Math.max(
|
|
2287
|
-
let e =
|
|
2284
|
+
})), T = t(() => n.overlayMode === "multi-axis" ? Math.max(C.value, w.value.left) : C.value), E = t(() => n.overlayMode === "multi-axis" ? Math.max(vt.right, w.value.right) : vt.right), D = t(() => Math.max(0, o.value - T.value - E.value)), O = t(() => {
|
|
2285
|
+
let e = on(n.displayMode), t = g.value.columnCount, r = t > 1, i = Math.max(e, b.value.fullClearance), a = Math.max(e, b.value.tickClearance), o = (D.value - i * Math.max(0, t - 1)) / t >= 120;
|
|
2288
2286
|
return {
|
|
2289
2287
|
horizontalGap: n.overlayMode === "multi-axis" && r && S.value ? Math.max(e, w.value.left + w.value.right) : r && S.value ? x.value && o ? i : a : e,
|
|
2290
2288
|
hideSecondaryLabels: n.overlayMode !== "multi-axis" && r && x.value && !o
|
|
@@ -2293,17 +2291,17 @@ function tr(e) {
|
|
|
2293
2291
|
let e = [];
|
|
2294
2292
|
return h.value.forEach((t) => {
|
|
2295
2293
|
t.visibleSeries.length && e.push(t.xDomain[0], t.xDomain[1]);
|
|
2296
|
-
}),
|
|
2294
|
+
}), Xe(e);
|
|
2297
2295
|
}), F = t(() => {
|
|
2298
2296
|
let e = n.initialXDomain;
|
|
2299
|
-
return e && Number.isFinite(e[0]) && Number.isFinite(e[1]) && e[0] !== e[1] ?
|
|
2297
|
+
return e && Number.isFinite(e[0]) && Number.isFinite(e[1]) && e[0] !== e[1] ? dn(e[0] < e[1] ? e : [e[1], e[0]], n.xDomainStrategy, !0) : dn(P.value, n.xDomainStrategy);
|
|
2300
2298
|
}), I = (e) => {
|
|
2301
2299
|
let t = n.initialXDomains?.[e.series.trackId ?? e.series.id] ?? n.initialXDomains?.[e.series.id] ?? n.initialXDomain;
|
|
2302
|
-
return t && Number.isFinite(t[0]) && Number.isFinite(t[1]) && t[0] !== t[1] ?
|
|
2303
|
-
}, L = t(() => l.value.rescaleX(V(F.value, [0, D.value])).domain()), R = t(() =>
|
|
2300
|
+
return t && Number.isFinite(t[0]) && Number.isFinite(t[1]) && t[0] !== t[1] ? dn(t[0] < t[1] ? t : [t[1], t[0]], n.xDomainStrategy, !0) : dn(Xe(e.seriesList.flatMap((e) => e.xDomain)), n.xDomainStrategy);
|
|
2301
|
+
}, L = t(() => l.value.rescaleX(V(F.value, [0, D.value])).domain()), R = t(() => sn(D.value, s.value, g.value, n.displayMode, y.value.map(Boolean), O.value.horizontalGap).map((e, t) => ({
|
|
2304
2302
|
...e,
|
|
2305
2303
|
series: y.value[t]
|
|
2306
|
-
}))), z = t(() =>
|
|
2304
|
+
}))), z = t(() => pn({
|
|
2307
2305
|
cells: R.value,
|
|
2308
2306
|
grid: g.value,
|
|
2309
2307
|
displayMode: n.displayMode,
|
|
@@ -2321,6 +2319,7 @@ function tr(e) {
|
|
|
2321
2319
|
})) : d.value,
|
|
2322
2320
|
timeUnit: n.timeUnit,
|
|
2323
2321
|
xAxisLabelFormatter: n.axes?.x?.labelFormatter,
|
|
2322
|
+
yAxisSplitNumber: n.axes?.y?.splitNumber,
|
|
2324
2323
|
rendering: _.value,
|
|
2325
2324
|
hideSecondaryLabels: c.value || O.value.hideSecondaryLabels,
|
|
2326
2325
|
yAxisLabelX: b.value.labelCenterX,
|
|
@@ -2367,13 +2366,13 @@ function tr(e) {
|
|
|
2367
2366
|
}
|
|
2368
2367
|
};
|
|
2369
2368
|
}
|
|
2370
|
-
var
|
|
2371
|
-
function
|
|
2369
|
+
var rr = 1e-6;
|
|
2370
|
+
function ir(e) {
|
|
2372
2371
|
return Number.isFinite(e) ? Math.max(1, e) : 1;
|
|
2373
2372
|
}
|
|
2374
|
-
function
|
|
2375
|
-
let i =
|
|
2376
|
-
if (!(d >
|
|
2373
|
+
function ar({ naturalWidth: e, naturalHeight: t, availableWidth: n, rotation: r }) {
|
|
2374
|
+
let i = ir(e), a = ir(t), o = ir(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;
|
|
2375
|
+
if (!(d > rr && Math.abs(d - 360) > rr)) {
|
|
2377
2376
|
let e = Math.max(1, Math.ceil(i / o)), t = o, n = a * e;
|
|
2378
2377
|
return {
|
|
2379
2378
|
textWidth: t,
|
|
@@ -2398,7 +2397,7 @@ function ir({ naturalWidth: e, naturalHeight: t, availableWidth: n, rotation: r
|
|
|
2398
2397
|
}
|
|
2399
2398
|
//#endregion
|
|
2400
2399
|
//#region src/components/core/useWaveformPresentation.ts
|
|
2401
|
-
function
|
|
2400
|
+
function or(e) {
|
|
2402
2401
|
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(() => ({
|
|
2403
2402
|
width: l.value === void 0 ? "100%" : `${l.value}px`,
|
|
2404
2403
|
height: u.value === void 0 ? "100%" : `${u.value}px`
|
|
@@ -2406,9 +2405,9 @@ function ar(e) {
|
|
|
2406
2405
|
let e = n.zeroLine.width;
|
|
2407
2406
|
return {
|
|
2408
2407
|
visible: n.zeroLine.visible === !0,
|
|
2409
|
-
color: n.zeroLine.color ||
|
|
2410
|
-
width: typeof e == "number" && Number.isFinite(e) && e > 0 ? e :
|
|
2411
|
-
dash: n.zeroLine.dash ??
|
|
2408
|
+
color: n.zeroLine.color || wt.COLOR,
|
|
2409
|
+
width: typeof e == "number" && Number.isFinite(e) && e > 0 ? e : wt.WIDTH,
|
|
2410
|
+
dash: n.zeroLine.dash ?? wt.DASH
|
|
2412
2411
|
};
|
|
2413
2412
|
}), _ = t(() => n.legend.backgroundColor || "rgba(255, 255, 255, 0.7)"), v = t(() => n.legend.interactive === !0), y = t(() => n.hiddenSeriesIds === void 0 ? s.value : new Set(n.hiddenSeriesIds)), b = t(() => Array.from(y.value)), x = (e) => n.legend.trackPositions?.[e] ?? n.legend.position ?? "top-right", S = (e) => {
|
|
2414
2413
|
let t = n.legend.orientation ?? "auto";
|
|
@@ -2430,10 +2429,10 @@ function ar(e) {
|
|
|
2430
2429
|
fontStyle: n.title?.textStyle?.fontStyle ?? "normal",
|
|
2431
2430
|
textDecoration: n.title?.textStyle?.textDecoration ?? "none",
|
|
2432
2431
|
letterSpacing: n.title?.textStyle?.letterSpacing ?? "normal",
|
|
2433
|
-
lineHeight: String(
|
|
2432
|
+
lineHeight: String(xt)
|
|
2434
2433
|
})), A = t(() => {
|
|
2435
2434
|
let e = Number.parseFloat(n.title?.textStyle?.letterSpacing ?? ""), t = Number.isFinite(e) ? Math.max(0, C.value.length - 1) * e : 0;
|
|
2436
|
-
return Math.max(1, C.value.length * E.value *
|
|
2435
|
+
return Math.max(1, C.value.length * E.value * bt + t);
|
|
2437
2436
|
}), j = t(() => {
|
|
2438
2437
|
let e = d.value - 48;
|
|
2439
2438
|
return e > 0 ? e : A.value;
|
|
@@ -2443,14 +2442,14 @@ function ar(e) {
|
|
|
2443
2442
|
maxWidth: O.value ? "none" : `${j.value}px`,
|
|
2444
2443
|
whiteSpace: O.value ? "nowrap" : "normal",
|
|
2445
2444
|
overflowWrap: O.value ? "normal" : "anywhere"
|
|
2446
|
-
})), N = t(() =>
|
|
2445
|
+
})), N = t(() => ar({
|
|
2447
2446
|
naturalWidth: a.value || A.value,
|
|
2448
2447
|
naturalHeight: o.value || E.value * 1.2,
|
|
2449
2448
|
availableWidth: j.value,
|
|
2450
2449
|
rotation: D.value
|
|
2451
2450
|
})), P = t(() => w.value ? N.value.areaHeight : 0), F = (e, t) => typeof e == "number" && Number.isFinite(e) && e >= 0 ? e : t, I = t(() => ({
|
|
2452
|
-
top: F(n.plotMargin.top,
|
|
2453
|
-
bottom: F(n.plotMargin.bottom,
|
|
2451
|
+
top: F(n.plotMargin.top, vt.top),
|
|
2452
|
+
bottom: F(n.plotMargin.bottom, vt.bottom)
|
|
2454
2453
|
})), L = t(() => I.value.top), R = t(() => Math.max(0, f.value - P.value - c.value));
|
|
2455
2454
|
return {
|
|
2456
2455
|
fixedWidth: l,
|
|
@@ -2499,10 +2498,10 @@ function ar(e) {
|
|
|
2499
2498
|
}
|
|
2500
2499
|
//#endregion
|
|
2501
2500
|
//#region src/components/core/useWaveformChartController.ts
|
|
2502
|
-
function
|
|
2501
|
+
function sr(e, t) {
|
|
2503
2502
|
e.value = t instanceof Element ? t : void 0;
|
|
2504
2503
|
}
|
|
2505
|
-
function
|
|
2504
|
+
function cr(e, t) {
|
|
2506
2505
|
let n = v(), r = v(), i = v(), a = v(), o = v(0), s = v(0), c = v(0), l = v(0), d = v(0), f = x(W), p = x([]), m = v({}), h = v({}), g = b({
|
|
2507
2506
|
points: [],
|
|
2508
2507
|
trackIndex: null,
|
|
@@ -2510,11 +2509,11 @@ function sr(e, t) {
|
|
|
2510
2509
|
x: 0,
|
|
2511
2510
|
y: 0
|
|
2512
2511
|
}
|
|
2513
|
-
}), y = v(!1), S = v(1), w = x(), T = se("waveform-clip"), O = v(new Set(e.defaultHiddenSeriesIds)), k = Ye(), A = v([]), j =
|
|
2512
|
+
}), y = v(!1), S = v(1), w = x(), T = se("waveform-clip"), O = v(new Set(e.defaultHiddenSeriesIds)), k = Ye(), A = v([]), j = Yn();
|
|
2514
2513
|
E([() => e.yDomain, () => e.yDomains], () => {
|
|
2515
2514
|
m.value = {}, h.value = {};
|
|
2516
2515
|
}, { deep: !0 });
|
|
2517
|
-
let M = x(null), N = v(!1), P = v(!1), F = () => void 0, I = () => void 0, L =
|
|
2516
|
+
let M = x(null), N = v(!1), P = v(!1), F = () => void 0, I = () => void 0, L = tr(() => e.data, () => F(), () => I()), R = or({
|
|
2518
2517
|
props: e,
|
|
2519
2518
|
observedWidth: o,
|
|
2520
2519
|
observedHeight: s,
|
|
@@ -2522,7 +2521,7 @@ function sr(e, t) {
|
|
|
2522
2521
|
measuredTitleHeight: l,
|
|
2523
2522
|
internalHiddenSeriesIds: O,
|
|
2524
2523
|
paginationBandHeight: d
|
|
2525
|
-
}), { chartWidth: z, chartHeight: B, isCleanView: V, isPresentationMode: H, hiddenSeriesIdSet: U, resolvedTitleText: ee, titleAreaReserved: te, titleMeasureStyle: ne, titleAreaHeight: re, chartTopMargin: ie, innerHeight: G } = R, K =
|
|
2524
|
+
}), { chartWidth: z, chartHeight: B, isCleanView: V, isPresentationMode: H, hiddenSeriesIdSet: U, resolvedTitleText: ee, titleAreaReserved: te, titleMeasureStyle: ne, titleAreaHeight: re, chartTopMargin: ie, innerHeight: G } = R, K = nr({
|
|
2526
2525
|
props: e,
|
|
2527
2526
|
preparedSeries: L,
|
|
2528
2527
|
currentPage: S,
|
|
@@ -2539,7 +2538,7 @@ function sr(e, t) {
|
|
|
2539
2538
|
D(() => {
|
|
2540
2539
|
d.value = oe.value.showPagination && ce.value > 1 && z.value <= 520 ? 40 : 0;
|
|
2541
2540
|
});
|
|
2542
|
-
let ye =
|
|
2541
|
+
let ye = Xn({
|
|
2543
2542
|
props: e,
|
|
2544
2543
|
emit: t,
|
|
2545
2544
|
svgElement: r,
|
|
@@ -2556,7 +2555,7 @@ function sr(e, t) {
|
|
|
2556
2555
|
isPresentationMode: H,
|
|
2557
2556
|
resolveInitialTrackDomain: Y,
|
|
2558
2557
|
cancelPendingHover: () => X.cancelPendingHover()
|
|
2559
|
-
}), be =
|
|
2558
|
+
}), be = jn({
|
|
2560
2559
|
props: e,
|
|
2561
2560
|
emit: t,
|
|
2562
2561
|
container: n,
|
|
@@ -2576,7 +2575,7 @@ function sr(e, t) {
|
|
|
2576
2575
|
chartTopMargin: ie,
|
|
2577
2576
|
activeInteractionMode: pe,
|
|
2578
2577
|
isPresentationMode: H
|
|
2579
|
-
}), xe =
|
|
2578
|
+
}), xe = Jn({
|
|
2580
2579
|
props: e,
|
|
2581
2580
|
emit: t,
|
|
2582
2581
|
selection: M,
|
|
@@ -2601,7 +2600,7 @@ function sr(e, t) {
|
|
|
2601
2600
|
cancelPendingZoom: ye.cancelPendingZoom,
|
|
2602
2601
|
clearHover: () => X.clearHover(),
|
|
2603
2602
|
resolveTrackAtPointer: be.resolveTrackAtPointer
|
|
2604
|
-
}), X =
|
|
2603
|
+
}), X = Nn({
|
|
2605
2604
|
emit: t,
|
|
2606
2605
|
hoverState: g,
|
|
2607
2606
|
suppressHoverUntilMove: y,
|
|
@@ -2616,7 +2615,7 @@ function sr(e, t) {
|
|
|
2616
2615
|
isPresentationMode: H,
|
|
2617
2616
|
updateViewportDrag: xe.updateViewportDrag,
|
|
2618
2617
|
resolveTrackAtPointer: be.resolveTrackAtPointer
|
|
2619
|
-
}), Z =
|
|
2618
|
+
}), Z = Qn({
|
|
2620
2619
|
props: e,
|
|
2621
2620
|
emit: t,
|
|
2622
2621
|
container: n,
|
|
@@ -2667,8 +2666,8 @@ function sr(e, t) {
|
|
|
2667
2666
|
...be,
|
|
2668
2667
|
...xe,
|
|
2669
2668
|
...X,
|
|
2670
|
-
margin:
|
|
2671
|
-
getPageSize:
|
|
2669
|
+
margin: vt,
|
|
2670
|
+
getPageSize: nn,
|
|
2672
2671
|
currentPage: S,
|
|
2673
2672
|
selection: M,
|
|
2674
2673
|
pointerInsideChart: P,
|
|
@@ -2679,34 +2678,34 @@ function sr(e, t) {
|
|
|
2679
2678
|
editorSeriesOptions: A,
|
|
2680
2679
|
clipPathId: T,
|
|
2681
2680
|
goToPage: Z.goToPage,
|
|
2682
|
-
setContainer: (e) =>
|
|
2683
|
-
setSvgElement: (e) =>
|
|
2684
|
-
setTitleMeasureElement: (e) =>
|
|
2685
|
-
setSharedOverlayElement: (e) =>
|
|
2681
|
+
setContainer: (e) => sr(n, e),
|
|
2682
|
+
setSvgElement: (e) => sr(r, e),
|
|
2683
|
+
setTitleMeasureElement: (e) => sr(i, e),
|
|
2684
|
+
setSharedOverlayElement: (e) => sr(a, e)
|
|
2686
2685
|
});
|
|
2687
2686
|
}
|
|
2688
2687
|
//#endregion
|
|
2689
2688
|
//#region src/components/annotation/WaveformAnnotationEditor.vue?vue&type=script&setup=true&lang.ts
|
|
2690
|
-
var
|
|
2689
|
+
var lr = ["id"], ur = { class: "waveform-annotation-editor__content" }, dr = {
|
|
2691
2690
|
class: "waveform-annotation-editor__coordinates",
|
|
2692
2691
|
"aria-label": "标注坐标"
|
|
2693
|
-
},
|
|
2692
|
+
}, fr = ["aria-invalid"], pr = {
|
|
2694
2693
|
class: "waveform-annotation-editor__coordinate-value",
|
|
2695
2694
|
"aria-hidden": "true"
|
|
2696
|
-
},
|
|
2695
|
+
}, mr = ["id"], hr = {
|
|
2697
2696
|
key: 0,
|
|
2698
2697
|
class: "waveform-annotation-editor__series",
|
|
2699
2698
|
"aria-label": "标注所属波形"
|
|
2700
|
-
},
|
|
2699
|
+
}, gr = { class: "waveform-annotation-editor__series-label" }, _r = ["value"], vr = ["value"], yr = { key: 1 }, br = { class: "waveform-annotation-editor__field" }, xr = { class: "waveform-annotation-editor__label-row" }, Sr = ["maxlength"], Cr = { class: "waveform-annotation-editor__colors" }, wr = {
|
|
2701
2700
|
class: "waveform-annotation-editor__color-field",
|
|
2702
2701
|
title: "调整标注边框色和透明度"
|
|
2703
|
-
},
|
|
2702
|
+
}, Tr = {
|
|
2704
2703
|
class: "waveform-annotation-editor__color-field",
|
|
2705
2704
|
title: "调整标注文字色和透明度"
|
|
2706
|
-
},
|
|
2705
|
+
}, Er = {
|
|
2707
2706
|
class: "waveform-annotation-editor__color-field",
|
|
2708
2707
|
title: "调整标注背景色和透明度"
|
|
2709
|
-
},
|
|
2708
|
+
}, Dr = /*#__PURE__*/ Fe(/* @__PURE__ */ c({
|
|
2710
2709
|
__name: "WaveformAnnotationEditor",
|
|
2711
2710
|
props: {
|
|
2712
2711
|
annotation: {},
|
|
@@ -2734,7 +2733,7 @@ var cr = ["id"], lr = { class: "waveform-annotation-editor__content" }, ur = {
|
|
|
2734
2733
|
});
|
|
2735
2734
|
function F() {
|
|
2736
2735
|
let e = we(l.annotation.style);
|
|
2737
|
-
h.value = l.annotation.text, _.value =
|
|
2736
|
+
h.value = l.annotation.text, _.value = ht(l.annotation.x, l.timeUnit), b.value = !1, x.value = e.borderColor, C.value = e.textColor, D.value = e.backgroundColor, d(() => f.value?.focus());
|
|
2738
2737
|
}
|
|
2739
2738
|
E(() => l.annotation.id, F, { immediate: !0 });
|
|
2740
2739
|
function I(e) {
|
|
@@ -2773,9 +2772,9 @@ var cr = ["id"], lr = { class: "waveform-annotation-editor__content" }, ur = {
|
|
|
2773
2772
|
onCancel: o[4] ||= (e) => u("cancel"),
|
|
2774
2773
|
onOk: R
|
|
2775
2774
|
}, {
|
|
2776
|
-
title: O(() => [a("span", { id: w(m) }, S(l.mode === "add" ? "添加标注" : "编辑标注"), 9,
|
|
2777
|
-
default: O(() => [a("div",
|
|
2778
|
-
a("div",
|
|
2775
|
+
title: O(() => [a("span", { id: w(m) }, S(l.mode === "add" ? "添加标注" : "编辑标注"), 9, lr)]),
|
|
2776
|
+
default: O(() => [a("div", ur, [
|
|
2777
|
+
a("div", dr, [
|
|
2779
2778
|
a("label", {
|
|
2780
2779
|
class: "waveform-annotation-editor__coordinate-input",
|
|
2781
2780
|
"aria-invalid": !!j.value
|
|
@@ -2798,26 +2797,26 @@ var cr = ["id"], lr = { class: "waveform-annotation-editor__content" }, ur = {
|
|
|
2798
2797
|
"aria-invalid",
|
|
2799
2798
|
"aria-describedby"
|
|
2800
2799
|
]),
|
|
2801
|
-
a("code",
|
|
2802
|
-
], 8,
|
|
2800
|
+
a("code", pr, S(_.value), 1)
|
|
2801
|
+
], 8, fr),
|
|
2803
2802
|
j.value ? (g(), i("p", {
|
|
2804
2803
|
key: 0,
|
|
2805
2804
|
id: `${w(m)}-time-error`,
|
|
2806
2805
|
class: "waveform-annotation-editor__coordinate-error",
|
|
2807
2806
|
role: "alert"
|
|
2808
|
-
}, S(j.value), 9,
|
|
2809
|
-
a("span", null, [o[6] ||= a("b", null, "Y", -1), a("code", null, S(w(
|
|
2807
|
+
}, S(j.value), 9, mr)) : r("", !0),
|
|
2808
|
+
a("span", null, [o[6] ||= a("b", null, "Y", -1), a("code", null, S(w(lt)(l.annotation.y)), 1)])
|
|
2810
2809
|
]),
|
|
2811
2810
|
o[13] ||= a("p", {
|
|
2812
2811
|
class: "waveform-annotation-editor__coordinate-hint",
|
|
2813
2812
|
role: "note"
|
|
2814
2813
|
}, " 修改 X 轴后失焦时会自动吸附最近的采样点 ", -1),
|
|
2815
|
-
P.value ? (g(), i("label",
|
|
2814
|
+
P.value ? (g(), i("label", hr, [
|
|
2816
2815
|
a("i", {
|
|
2817
2816
|
style: p({ backgroundColor: P.value.color }),
|
|
2818
2817
|
"aria-hidden": "true"
|
|
2819
2818
|
}, null, 4),
|
|
2820
|
-
a("span",
|
|
2819
|
+
a("span", gr, [o[7] ||= a("small", null, "标注波形", -1), a("b", null, S(P.value.name), 1)]),
|
|
2821
2820
|
l.seriesOptions?.length ? (g(), i("select", {
|
|
2822
2821
|
key: 0,
|
|
2823
2822
|
value: l.annotation.seriesId,
|
|
@@ -2826,9 +2825,9 @@ var cr = ["id"], lr = { class: "waveform-annotation-editor__content" }, ur = {
|
|
|
2826
2825
|
}, [(g(!0), i(e, null, y(l.seriesOptions, (e) => (g(), i("option", {
|
|
2827
2826
|
key: e.seriesId,
|
|
2828
2827
|
value: e.seriesId
|
|
2829
|
-
}, S(e.name) + S(e.unit ? ` (${e.unit})` : ""), 9,
|
|
2828
|
+
}, S(e.name) + S(e.unit ? ` (${e.unit})` : ""), 9, vr))), 128))], 40, _r)) : P.value.unit ? (g(), i("code", yr, S(P.value.unit), 1)) : r("", !0)
|
|
2830
2829
|
])) : r("", !0),
|
|
2831
|
-
a("label",
|
|
2830
|
+
a("label", br, [a("span", xr, [o[8] ||= a("b", null, "标注文本", -1), a("small", null, S(N.value) + "/" + S(w(40)), 1)]), k(a("textarea", {
|
|
2832
2831
|
ref_key: "textarea",
|
|
2833
2832
|
ref: f,
|
|
2834
2833
|
"onUpdate:modelValue": o[0] ||= (e) => h.value = e,
|
|
@@ -2837,10 +2836,10 @@ var cr = ["id"], lr = { class: "waveform-annotation-editor__content" }, ur = {
|
|
|
2837
2836
|
"aria-label": "标注文本",
|
|
2838
2837
|
placeholder: "输入这处波形的说明",
|
|
2839
2838
|
onKeydown: z
|
|
2840
|
-
}, null, 40,
|
|
2841
|
-
a("fieldset",
|
|
2839
|
+
}, null, 40, Sr), [[T, h.value]])]),
|
|
2840
|
+
a("fieldset", Cr, [
|
|
2842
2841
|
o[12] ||= a("legend", null, "颜色与透明度", -1),
|
|
2843
|
-
a("label",
|
|
2842
|
+
a("label", wr, [o[9] ||= a("span", null, "边框色", -1), s(w(J), {
|
|
2844
2843
|
"pure-color": x.value,
|
|
2845
2844
|
"onUpdate:pureColor": o[1] ||= (e) => x.value = e,
|
|
2846
2845
|
"aria-label": "标注边框色",
|
|
@@ -2850,7 +2849,7 @@ var cr = ["id"], lr = { class: "waveform-annotation-editor__content" }, ur = {
|
|
|
2850
2849
|
"disable-alpha": !1,
|
|
2851
2850
|
"blur-close": !0
|
|
2852
2851
|
}, null, 8, ["pure-color"])]),
|
|
2853
|
-
a("label",
|
|
2852
|
+
a("label", Tr, [o[10] ||= a("span", null, "文字色", -1), s(w(J), {
|
|
2854
2853
|
"pure-color": C.value,
|
|
2855
2854
|
"onUpdate:pureColor": o[2] ||= (e) => C.value = e,
|
|
2856
2855
|
"aria-label": "标注文字色",
|
|
@@ -2860,7 +2859,7 @@ var cr = ["id"], lr = { class: "waveform-annotation-editor__content" }, ur = {
|
|
|
2860
2859
|
"disable-alpha": !1,
|
|
2861
2860
|
"blur-close": !0
|
|
2862
2861
|
}, null, 8, ["pure-color"])]),
|
|
2863
|
-
a("label",
|
|
2862
|
+
a("label", Er, [o[11] ||= a("span", null, "背景色", -1), s(w(J), {
|
|
2864
2863
|
"pure-color": D.value,
|
|
2865
2864
|
"onUpdate:pureColor": o[3] ||= (e) => D.value = e,
|
|
2866
2865
|
"aria-label": "标注背景色",
|
|
@@ -2875,7 +2874,7 @@ var cr = ["id"], lr = { class: "waveform-annotation-editor__content" }, ur = {
|
|
|
2875
2874
|
_: 1
|
|
2876
2875
|
}, 8, ["ok-button-props"]));
|
|
2877
2876
|
}
|
|
2878
|
-
}), [["__scopeId", "data-v-8ce79dc8"]]),
|
|
2877
|
+
}), [["__scopeId", "data-v-8ce79dc8"]]), Or = { class: "waveform-tooltip__series-content" }, kr = { class: "waveform-tooltip__series-label" }, Ar = { class: "waveform-tooltip__value" }, jr = 12, Mr = 8, Nr = 238, Pr = 560, Fr = 20, Ir = 20, Lr = /*#__PURE__*/ Fe(/* @__PURE__ */ c({
|
|
2879
2878
|
__name: "WaveformTooltip",
|
|
2880
2879
|
props: {
|
|
2881
2880
|
visible: { type: Boolean },
|
|
@@ -2889,26 +2888,26 @@ var cr = ["id"], lr = { class: "waveform-annotation-editor__content" }, ur = {
|
|
|
2889
2888
|
setup(n) {
|
|
2890
2889
|
let s = n;
|
|
2891
2890
|
function c(e, t) {
|
|
2892
|
-
let n = Math.max(1, t -
|
|
2891
|
+
let n = Math.max(1, t - Fr - 14), r = Math.max(1, Math.floor(n / 7.2));
|
|
2893
2892
|
return Math.max(1, Math.ceil([...e].length / r));
|
|
2894
2893
|
}
|
|
2895
2894
|
function l(e) {
|
|
2896
|
-
let t =
|
|
2897
|
-
return `${e.shotNo?.trim() || "未配置炮号"}: ${e.name}${e.unit ? `(${e.unit})` : ""} (x:${t} y:${
|
|
2895
|
+
let t = mt(s.hoveredPoint?.x ?? e.point.x, s.timeUnit);
|
|
2896
|
+
return `${e.shotNo?.trim() || "未配置炮号"}: ${e.name}${e.unit ? `(${e.unit})` : ""} (x:${t} y:${ct(e.point.y)})`;
|
|
2898
2897
|
}
|
|
2899
2898
|
function u(e) {
|
|
2900
|
-
return 16 +
|
|
2899
|
+
return 16 + Ir * s.seriesPoints.reduce((t, n) => t + c(l(n), e), 0) + 5;
|
|
2901
2900
|
}
|
|
2902
2901
|
let d = t(() => {
|
|
2903
2902
|
if (!s.visible || !s.hoveredPoint) return { display: "none" };
|
|
2904
|
-
let e = s.position.x +
|
|
2903
|
+
let e = s.position.x + jr, t = s.position.x - jr - Nr, n = s.containerWidth - Mr - e, r = s.position.x - jr - Mr, i = Math.max(1, Math.min(Pr, s.containerWidth - Mr * 2)), a = e + Nr <= s.containerWidth - Mr ? {
|
|
2905
2904
|
left: `${e}px`,
|
|
2906
|
-
maxWidth: `${Math.min(
|
|
2907
|
-
} : t >=
|
|
2908
|
-
right: `${s.containerWidth - s.position.x +
|
|
2909
|
-
maxWidth: `${Math.min(
|
|
2905
|
+
maxWidth: `${Math.min(Pr, n)}px`
|
|
2906
|
+
} : t >= Mr ? {
|
|
2907
|
+
right: `${s.containerWidth - s.position.x + jr}px`,
|
|
2908
|
+
maxWidth: `${Math.min(Pr, r)}px`
|
|
2910
2909
|
} : {
|
|
2911
|
-
left: `${
|
|
2910
|
+
left: `${Mr}px`,
|
|
2912
2911
|
maxWidth: `${i}px`
|
|
2913
2912
|
}, o = Number.parseFloat(a.maxWidth);
|
|
2914
2913
|
return {
|
|
@@ -2923,9 +2922,9 @@ var cr = ["id"], lr = { class: "waveform-annotation-editor__content" }, ur = {
|
|
|
2923
2922
|
}, [(g(!0), i(e, null, y(n.seriesPoints, (t) => (g(), i("span", {
|
|
2924
2923
|
key: `${t.trackIndex}-${t.name}`,
|
|
2925
2924
|
class: "waveform-tooltip__series waveform-chart__tooltip-series"
|
|
2926
|
-
}, [a("i", { style: p({ backgroundColor: t.color }) }, null, 4), a("span",
|
|
2925
|
+
}, [a("i", { style: p({ backgroundColor: t.color }) }, null, 4), a("span", Or, [a("span", kr, [o(S(t.shotNo?.trim() || "未配置炮号") + ": " + S(t.name), 1), t.unit ? (g(), i(e, { key: 0 }, [o("(" + S(t.unit) + ")", 1)], 64)) : r("", !0)]), a("span", Ar, "(x:" + S(w(mt)(n.hoveredPoint.x, n.timeUnit)) + " y:" + S(w(ct)(t.point.y)) + ")", 1)])]))), 128))], 4)) : r("", !0);
|
|
2927
2926
|
}
|
|
2928
|
-
}), [["__scopeId", "data-v-1f55d6c8"]]),
|
|
2927
|
+
}), [["__scopeId", "data-v-1f55d6c8"]]), Rr = /* @__PURE__ */ c({
|
|
2929
2928
|
__name: "WaveformHoverHost",
|
|
2930
2929
|
props: {
|
|
2931
2930
|
state: {},
|
|
@@ -2936,7 +2935,7 @@ var cr = ["id"], lr = { class: "waveform-annotation-editor__content" }, ur = {
|
|
|
2936
2935
|
},
|
|
2937
2936
|
setup(e) {
|
|
2938
2937
|
let r = e, i = t(() => r.state.points[0]?.point ?? null);
|
|
2939
|
-
return (t, r) => (g(), n(
|
|
2938
|
+
return (t, r) => (g(), n(Lr, {
|
|
2940
2939
|
visible: e.visible && i.value !== null,
|
|
2941
2940
|
position: e.state.position,
|
|
2942
2941
|
"time-unit": e.timeUnit,
|
|
@@ -2954,16 +2953,16 @@ var cr = ["id"], lr = { class: "waveform-annotation-editor__content" }, ur = {
|
|
|
2954
2953
|
"container-height"
|
|
2955
2954
|
]));
|
|
2956
2955
|
}
|
|
2957
|
-
}),
|
|
2956
|
+
}), zr = 13, Br = 2, Vr = 14, Hr = 8, Ur = 24, Wr = {
|
|
2958
2957
|
circle: ee,
|
|
2959
2958
|
square: ne,
|
|
2960
2959
|
triangle: re,
|
|
2961
2960
|
diamond: te
|
|
2962
2961
|
};
|
|
2963
|
-
function
|
|
2964
|
-
return e === "none" ? null : U().type(
|
|
2962
|
+
function Gr(e, t = 48) {
|
|
2963
|
+
return e === "none" ? null : U().type(Wr[e]).size(t)() ?? null;
|
|
2965
2964
|
}
|
|
2966
|
-
function
|
|
2965
|
+
function Kr(e, t, n = 48) {
|
|
2967
2966
|
if (e === "none" || t.length === 0) return null;
|
|
2968
2967
|
if (e === "circle") {
|
|
2969
2968
|
let e = Math.sqrt(n / Math.PI);
|
|
@@ -2980,24 +2979,24 @@ function Gr(e, t, n = 48) {
|
|
|
2980
2979
|
let r = Math.sqrt(n / (2 * Math.tan(Math.PI / 6))), i = r * Math.tan(Math.PI / 6);
|
|
2981
2980
|
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("");
|
|
2982
2981
|
}
|
|
2983
|
-
function
|
|
2982
|
+
function qr(e) {
|
|
2984
2983
|
return e === "none" ? null : "M1 8H25";
|
|
2985
2984
|
}
|
|
2986
|
-
function
|
|
2985
|
+
function Jr(e) {
|
|
2987
2986
|
if (e === "dashed") return "8 5";
|
|
2988
2987
|
if (e === "dash-dot") return "8 5 1.5 5";
|
|
2989
2988
|
}
|
|
2990
|
-
function
|
|
2991
|
-
let t = (Number.isFinite(e) && e > 0 ? Math.min(e,
|
|
2989
|
+
function Yr(e) {
|
|
2990
|
+
let t = (Number.isFinite(e) && e > 0 ? Math.min(e, Ur) : Hr) / 2, n = zr - t, r = zr + t;
|
|
2992
2991
|
return [
|
|
2993
|
-
`M${n} ${
|
|
2994
|
-
`M${
|
|
2995
|
-
`M${n} ${
|
|
2992
|
+
`M${n} ${Br}H${r}`,
|
|
2993
|
+
`M${zr} ${Br}V${Vr}`,
|
|
2994
|
+
`M${n} ${Vr}H${r}`
|
|
2996
2995
|
].join("");
|
|
2997
2996
|
}
|
|
2998
2997
|
//#endregion
|
|
2999
2998
|
//#region src/components/rendering/WaveformSeriesLayer.vue?vue&type=script&setup=true&lang.ts
|
|
3000
|
-
var
|
|
2999
|
+
var Xr = ["clip-path"], Zr = ["data-series-id", "data-series-name"], Qr = [
|
|
3001
3000
|
"data-series-id",
|
|
3002
3001
|
"data-series-name",
|
|
3003
3002
|
"data-y-axis-index",
|
|
@@ -3006,11 +3005,11 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
|
|
|
3006
3005
|
"d",
|
|
3007
3006
|
"stroke",
|
|
3008
3007
|
"stroke-dasharray"
|
|
3009
|
-
],
|
|
3008
|
+
], $r = ["data-series-id"], ei = [
|
|
3010
3009
|
"d",
|
|
3011
3010
|
"stroke",
|
|
3012
3011
|
"stroke-width"
|
|
3013
|
-
],
|
|
3012
|
+
], ti = ["data-series-id", "data-point-type"], ni = ["d", "fill"], ri = /*#__PURE__*/ Fe(/* @__PURE__ */ c({
|
|
3014
3013
|
__name: "WaveformSeriesLayer",
|
|
3015
3014
|
props: {
|
|
3016
3015
|
track: {},
|
|
@@ -3018,11 +3017,11 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
|
|
|
3018
3017
|
},
|
|
3019
3018
|
setup(n) {
|
|
3020
3019
|
let a = n, o = t(() => a.track.seriesPaths.map((e) => {
|
|
3021
|
-
let t =
|
|
3020
|
+
let t = Kr(e.series.pointType, e.pointRenderPoints.map((t) => ({
|
|
3022
3021
|
x: a.track.xScale(t.x),
|
|
3023
3022
|
y: e.yScale(t.y)
|
|
3024
3023
|
}))), n = e.series.errorBar.capWidth / 2, r = e.errorBarRenderPoints.map((t) => {
|
|
3025
|
-
let { lower: r, upper: i } =
|
|
3024
|
+
let { lower: r, upper: i } = Ft(t), o = a.track.xScale(t.x), s = e.yScale(t.y - r), c = e.yScale(t.y + i);
|
|
3026
3025
|
return [
|
|
3027
3026
|
`M${o - n},${s}H${o + n}`,
|
|
3028
3027
|
`M${o},${s}V${c}`,
|
|
@@ -3055,8 +3054,8 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
|
|
|
3055
3054
|
"data-line-style": e.series.lineStyle,
|
|
3056
3055
|
d: e.path,
|
|
3057
3056
|
stroke: e.series.color,
|
|
3058
|
-
"stroke-dasharray": w(
|
|
3059
|
-
}, null, 8,
|
|
3057
|
+
"stroke-dasharray": w(Jr)(e.series.lineStyle)
|
|
3058
|
+
}, null, 8, Qr)) : r("", !0),
|
|
3060
3059
|
e.series.errorBar.visible ? (g(), i("g", {
|
|
3061
3060
|
key: 1,
|
|
3062
3061
|
class: "waveform-track__error-bars waveform-chart__error-bars",
|
|
@@ -3067,7 +3066,7 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
|
|
|
3067
3066
|
d: e.errorBarPath,
|
|
3068
3067
|
stroke: e.series.errorBar.color || e.series.color,
|
|
3069
3068
|
"stroke-width": e.series.errorBar.width
|
|
3070
|
-
}, null, 8,
|
|
3069
|
+
}, null, 8, ei)) : r("", !0)], 8, $r)) : r("", !0),
|
|
3071
3070
|
e.series.pointType === "none" ? r("", !0) : (g(), i("g", {
|
|
3072
3071
|
key: 2,
|
|
3073
3072
|
class: "waveform-track__points waveform-chart__points",
|
|
@@ -3078,20 +3077,20 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
|
|
|
3078
3077
|
class: "waveform-track__point waveform-chart__point",
|
|
3079
3078
|
d: e.pointPath,
|
|
3080
3079
|
fill: e.series.color
|
|
3081
|
-
}, null, 8,
|
|
3082
|
-
], 8,
|
|
3080
|
+
}, null, 8, ni)) : r("", !0)], 8, ti))
|
|
3081
|
+
], 8, Zr))), 128))], 8, Xr)) : r("", !0);
|
|
3083
3082
|
}
|
|
3084
|
-
}), [["__scopeId", "data-v-42a3fd47"]]),
|
|
3083
|
+
}), [["__scopeId", "data-v-42a3fd47"]]), ii = ["transform"], ai = ["transform"], oi = {
|
|
3085
3084
|
class: "waveform-track__axis-endpoint waveform-track__axis-endpoint--start waveform-chart__axis-endpoint waveform-chart__axis-endpoint--start",
|
|
3086
3085
|
x: "0",
|
|
3087
3086
|
y: "7",
|
|
3088
3087
|
dy: "0.71em",
|
|
3089
3088
|
"text-anchor": "start"
|
|
3090
|
-
},
|
|
3089
|
+
}, si = ["x"], ci = [
|
|
3091
3090
|
"data-y-axis-index",
|
|
3092
3091
|
"data-y-axis-side",
|
|
3093
3092
|
"transform"
|
|
3094
|
-
],
|
|
3093
|
+
], li = { key: 2 }, ui = ["x", "y"], di = ["fill", "transform"], fi = ["data-y-axis-title-index"], pi = ["x", "y"], mi = ["fill", "transform"], hi = /* @__PURE__ */ c({
|
|
3095
3094
|
__name: "WaveformTrackAxes",
|
|
3096
3095
|
props: {
|
|
3097
3096
|
track: {},
|
|
@@ -3120,15 +3119,16 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
|
|
|
3120
3119
|
if (n.track.yAxes.forEach((e, t) => {
|
|
3121
3120
|
let r = s.value[t];
|
|
3122
3121
|
if (!r) return;
|
|
3123
|
-
let [i, a] = e.scale.domain(), o = Math.max(...e.tickValues), c = (e.side === "left" ? M(e.scale) : N(e.scale)).tickFormat((e) =>
|
|
3122
|
+
let [i, a] = e.scale.domain(), o = Math.max(...e.tickValues), c = e.seriesList[0]?.unit, l = (e.side === "left" ? M(e.scale) : N(e.scale)).tickFormat((e) => st(Number(e), {
|
|
3124
3123
|
axisMin: i,
|
|
3125
3124
|
axisMax: a,
|
|
3126
|
-
topTickValue: o
|
|
3127
|
-
|
|
3128
|
-
|
|
3125
|
+
topTickValue: o,
|
|
3126
|
+
unit: c
|
|
3127
|
+
})).tickSize(-4).tickPadding(7).tickSizeOuter(0).tickValues(e.tickValues), u = H(r);
|
|
3128
|
+
u.call(l), u.selectAll("path.domain").attr("display", n.axes?.y?.lineVisible === !1 ? "none" : null);
|
|
3129
3129
|
}), !o.value) return;
|
|
3130
3130
|
let e = H(o.value);
|
|
3131
|
-
e.call(j(n.track.xScale).tickValues(n.track.xAxisTickValues).tickFormat((e) =>
|
|
3131
|
+
e.call(j(n.track.xScale).tickValues(n.track.xAxisTickValues).tickFormat((e) => dt(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);
|
|
3132
3132
|
}
|
|
3133
3133
|
return h(async () => {
|
|
3134
3134
|
await d(), m();
|
|
@@ -3150,7 +3150,7 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
|
|
|
3150
3150
|
ref: o,
|
|
3151
3151
|
class: f(["waveform-track__axis waveform-track__axis--x waveform-chart__axis waveform-chart__axis--x", { "waveform-track__axis--line-hidden": t.axes?.x?.lineVisible === !1 }]),
|
|
3152
3152
|
transform: `translate(0, ${t.track.height})`
|
|
3153
|
-
}, null, 10,
|
|
3153
|
+
}, null, 10, ii)) : r("", !0),
|
|
3154
3154
|
t.track.showXAxis ? (g(), i("g", {
|
|
3155
3155
|
key: 1,
|
|
3156
3156
|
class: "waveform-track__axis-endpoints waveform-chart__axis-endpoints",
|
|
@@ -3158,13 +3158,13 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
|
|
|
3158
3158
|
"font-family": "sans-serif",
|
|
3159
3159
|
"font-size": "10",
|
|
3160
3160
|
"aria-hidden": "true"
|
|
3161
|
-
}, [a("text",
|
|
3161
|
+
}, [a("text", oi, S(t.track.endpointLabels.start), 1), a("text", {
|
|
3162
3162
|
class: "waveform-track__axis-endpoint waveform-track__axis-endpoint--end waveform-chart__axis-endpoint waveform-chart__axis-endpoint--end",
|
|
3163
3163
|
x: t.track.width ?? t.innerWidth,
|
|
3164
3164
|
y: "7",
|
|
3165
3165
|
dy: "0.71em",
|
|
3166
3166
|
"text-anchor": "end"
|
|
3167
|
-
}, S(t.track.endpointLabels.end), 9,
|
|
3167
|
+
}, S(t.track.endpointLabels.end), 9, si)], 8, ai)) : r("", !0),
|
|
3168
3168
|
(g(!0), i(e, null, y(t.track.isEmpty ? [] : t.track.yAxes, (e) => (g(), i("g", {
|
|
3169
3169
|
key: `y-axis-${t.track.index}-${e.index}`,
|
|
3170
3170
|
ref_for: !0,
|
|
@@ -3173,21 +3173,21 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
|
|
|
3173
3173
|
"data-y-axis-index": e.index,
|
|
3174
3174
|
"data-y-axis-side": e.side,
|
|
3175
3175
|
transform: `translate(${e.x}, 0)`
|
|
3176
|
-
}, null, 10,
|
|
3177
|
-
!t.cleanView && !t.track.isEmpty && t.track.hasVisibleSeries && t.track.seriesList.length === 1 && t.track.showYAxisLabel && c(t.track.series) && p(t.track.height, t.track.index) ? (g(), i("g",
|
|
3176
|
+
}, null, 10, ci))), 128)),
|
|
3177
|
+
!t.cleanView && !t.track.isEmpty && t.track.hasVisibleSeries && t.track.seriesList.length === 1 && t.track.showYAxisLabel && c(t.track.series) && p(t.track.height, t.track.index) ? (g(), i("g", li, [a("rect", {
|
|
3178
3178
|
class: "waveform-track__y-axis-label-bg waveform-chart__y-axis-label-bg",
|
|
3179
3179
|
x: t.track.yAxisLabelX - 12,
|
|
3180
3180
|
y: t.track.height / 2 - 40,
|
|
3181
3181
|
width: "24",
|
|
3182
3182
|
height: "80",
|
|
3183
3183
|
rx: "2"
|
|
3184
|
-
}, null, 8,
|
|
3184
|
+
}, null, 8, ui), a("text", {
|
|
3185
3185
|
class: "waveform-track__y-axis-label waveform-chart__y-axis-label",
|
|
3186
3186
|
fill: t.track.series.color,
|
|
3187
3187
|
transform: `translate(${t.track.yAxisLabelX}, ${t.track.height / 2}) rotate(-90)`,
|
|
3188
3188
|
"text-anchor": "middle",
|
|
3189
3189
|
"dominant-baseline": "central"
|
|
3190
|
-
}, S(c(t.track.series)), 9,
|
|
3190
|
+
}, S(c(t.track.series)), 9, di)])) : r("", !0),
|
|
3191
3191
|
(g(!0), i(e, null, y(!t.cleanView && t.track.yAxes.length > 1 ? t.track.yAxes.filter(l) : [], (e) => (g(), i("g", {
|
|
3192
3192
|
key: `y-axis-title-${t.track.index}-${e.index}`,
|
|
3193
3193
|
class: "waveform-track__multi-axis-title",
|
|
@@ -3199,40 +3199,40 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
|
|
|
3199
3199
|
width: "24",
|
|
3200
3200
|
height: "80",
|
|
3201
3201
|
rx: "2"
|
|
3202
|
-
}, null, 8,
|
|
3202
|
+
}, null, 8, pi), a("text", {
|
|
3203
3203
|
class: "waveform-track__y-axis-label waveform-chart__y-axis-label",
|
|
3204
3204
|
fill: e.seriesList[0].color,
|
|
3205
3205
|
transform: `translate(${e.labelX}, ${t.track.height / 2}) rotate(-90)`,
|
|
3206
3206
|
"text-anchor": "middle",
|
|
3207
3207
|
"dominant-baseline": "central"
|
|
3208
|
-
}, S(c(e.seriesList[0])), 9,
|
|
3208
|
+
}, S(c(e.seriesList[0])), 9, mi)], 8, fi))), 128))
|
|
3209
3209
|
], 64));
|
|
3210
3210
|
}
|
|
3211
|
-
}),
|
|
3211
|
+
}), gi = [
|
|
3212
3212
|
"width",
|
|
3213
3213
|
"height",
|
|
3214
3214
|
"fill"
|
|
3215
|
-
],
|
|
3215
|
+
], _i = ["clip-path"], vi = { class: "waveform-track__grid waveform-track__grid--minor waveform-chart__grid waveform-chart__grid--minor" }, yi = [
|
|
3216
3216
|
"stroke",
|
|
3217
3217
|
"x1",
|
|
3218
3218
|
"x2",
|
|
3219
3219
|
"y2"
|
|
3220
|
-
],
|
|
3220
|
+
], bi = [
|
|
3221
3221
|
"stroke",
|
|
3222
3222
|
"x2",
|
|
3223
3223
|
"y1",
|
|
3224
3224
|
"y2"
|
|
3225
|
-
],
|
|
3225
|
+
], xi = { class: "waveform-track__grid waveform-track__grid--major waveform-chart__grid waveform-chart__grid--major" }, Si = [
|
|
3226
3226
|
"stroke",
|
|
3227
3227
|
"x1",
|
|
3228
3228
|
"x2",
|
|
3229
3229
|
"y2"
|
|
3230
|
-
],
|
|
3230
|
+
], Ci = [
|
|
3231
3231
|
"stroke",
|
|
3232
3232
|
"x2",
|
|
3233
3233
|
"y1",
|
|
3234
3234
|
"y2"
|
|
3235
|
-
],
|
|
3235
|
+
], wi = ["clip-path"], Ti = [
|
|
3236
3236
|
"data-y-axis-index",
|
|
3237
3237
|
"x2",
|
|
3238
3238
|
"y1",
|
|
@@ -3240,7 +3240,7 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
|
|
|
3240
3240
|
"stroke",
|
|
3241
3241
|
"stroke-width",
|
|
3242
3242
|
"stroke-dasharray"
|
|
3243
|
-
],
|
|
3243
|
+
], Ei = ["x", "y"], Di = /* @__PURE__ */ c({
|
|
3244
3244
|
__name: "WaveformTrackBackdrop",
|
|
3245
3245
|
props: {
|
|
3246
3246
|
track: {},
|
|
@@ -3265,12 +3265,12 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
|
|
|
3265
3265
|
height: t.track.height,
|
|
3266
3266
|
fill: t.frameStyle.backgroundColor,
|
|
3267
3267
|
"aria-hidden": "true"
|
|
3268
|
-
}, null, 8,
|
|
3268
|
+
}, null, 8, gi)) : r("", !0),
|
|
3269
3269
|
!t.track.isEmpty && t.track.hasVisibleSeries && !t.cleanView ? (g(), i("g", {
|
|
3270
3270
|
key: 1,
|
|
3271
3271
|
"clip-path": `url(#${t.clipPathId}-${t.track.index})`,
|
|
3272
3272
|
"aria-hidden": "true"
|
|
3273
|
-
}, [a("g",
|
|
3273
|
+
}, [a("g", vi, [t.track.gridLines.vertical ? (g(!0), i(e, { key: 0 }, y(t.track.xMinorTicks, (e) => (g(), i("line", {
|
|
3274
3274
|
key: `x-minor-${t.track.index}-${e}`,
|
|
3275
3275
|
"data-grid-direction": "vertical",
|
|
3276
3276
|
stroke: t.track.gridLines.verticalColor,
|
|
@@ -3278,7 +3278,7 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
|
|
|
3278
3278
|
x2: t.track.xScale(e),
|
|
3279
3279
|
y1: "0",
|
|
3280
3280
|
y2: t.track.height
|
|
3281
|
-
}, null, 8,
|
|
3281
|
+
}, null, 8, yi))), 128)) : r("", !0), t.track.gridLines.horizontal ? (g(!0), i(e, { key: 1 }, y(t.track.yMinorTicks, (e) => (g(), i("line", {
|
|
3282
3282
|
key: `y-minor-${t.track.index}-${e}`,
|
|
3283
3283
|
"data-grid-direction": "horizontal",
|
|
3284
3284
|
stroke: t.track.gridLines.horizontalColor,
|
|
@@ -3286,7 +3286,7 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
|
|
|
3286
3286
|
x2: t.track.width ?? t.innerWidth,
|
|
3287
3287
|
y1: t.track.yScale(e),
|
|
3288
3288
|
y2: t.track.yScale(e)
|
|
3289
|
-
}, null, 8,
|
|
3289
|
+
}, null, 8, bi))), 128)) : r("", !0)]), a("g", xi, [t.track.gridLines.vertical ? (g(!0), i(e, { key: 0 }, y(t.track.xMajorTicks, (e) => (g(), i("line", {
|
|
3290
3290
|
key: `x-major-${t.track.index}-${e}`,
|
|
3291
3291
|
"data-grid-direction": "vertical",
|
|
3292
3292
|
stroke: t.track.gridLines.verticalColor,
|
|
@@ -3294,7 +3294,7 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
|
|
|
3294
3294
|
x2: t.track.xScale(e),
|
|
3295
3295
|
y1: "0",
|
|
3296
3296
|
y2: t.track.height
|
|
3297
|
-
}, null, 8,
|
|
3297
|
+
}, null, 8, Si))), 128)) : r("", !0), t.track.gridLines.horizontal ? (g(!0), i(e, { key: 1 }, y(t.track.yMajorTicks, (e) => (g(), i("line", {
|
|
3298
3298
|
key: `y-major-${t.track.index}-${e}`,
|
|
3299
3299
|
"data-grid-direction": "horizontal",
|
|
3300
3300
|
stroke: t.track.gridLines.horizontalColor,
|
|
@@ -3302,7 +3302,7 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
|
|
|
3302
3302
|
x2: t.track.width ?? t.innerWidth,
|
|
3303
3303
|
y1: t.track.yScale(e),
|
|
3304
3304
|
y2: t.track.yScale(e)
|
|
3305
|
-
}, null, 8,
|
|
3305
|
+
}, null, 8, Ci))), 128)) : r("", !0)])], 8, _i)) : r("", !0),
|
|
3306
3306
|
!t.track.isEmpty && t.track.hasVisibleSeries && t.zeroLine.visible && !t.cleanView ? (g(), i("g", {
|
|
3307
3307
|
key: 2,
|
|
3308
3308
|
class: "waveform-track__zero-lines waveform-chart__zero-lines",
|
|
@@ -3319,7 +3319,7 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
|
|
|
3319
3319
|
stroke: t.zeroLine.color,
|
|
3320
3320
|
"stroke-width": t.zeroLine.width,
|
|
3321
3321
|
"stroke-dasharray": t.zeroLine.dash || void 0
|
|
3322
|
-
}, null, 8,
|
|
3322
|
+
}, null, 8, Ti))], 64))), 128))], 8, wi)) : r("", !0),
|
|
3323
3323
|
!t.track.isEmpty && t.track.hasVisibleSeries && t.frameNumber !== void 0 && !t.cleanView ? (g(), i("text", {
|
|
3324
3324
|
key: 3,
|
|
3325
3325
|
class: "waveform-track__watermark waveform-chart__watermark",
|
|
@@ -3329,10 +3329,10 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
|
|
|
3329
3329
|
"text-anchor": "middle",
|
|
3330
3330
|
"dominant-baseline": "central",
|
|
3331
3331
|
"aria-hidden": "true"
|
|
3332
|
-
}, S(t.frameNumber), 13,
|
|
3332
|
+
}, S(t.frameNumber), 13, Ei)) : r("", !0)
|
|
3333
3333
|
], 64));
|
|
3334
3334
|
}
|
|
3335
|
-
}),
|
|
3335
|
+
}), Oi = [
|
|
3336
3336
|
"data-track-index",
|
|
3337
3337
|
"data-track-empty",
|
|
3338
3338
|
"data-track-left",
|
|
@@ -3341,19 +3341,19 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
|
|
|
3341
3341
|
"data-track-top",
|
|
3342
3342
|
"data-track-height",
|
|
3343
3343
|
"transform"
|
|
3344
|
-
],
|
|
3344
|
+
], ki = [
|
|
3345
3345
|
"width",
|
|
3346
3346
|
"height",
|
|
3347
3347
|
"stroke",
|
|
3348
3348
|
"stroke-width",
|
|
3349
3349
|
"stroke-dasharray",
|
|
3350
3350
|
"stroke-linecap"
|
|
3351
|
-
],
|
|
3351
|
+
], Ai = [
|
|
3352
3352
|
"data-interactive",
|
|
3353
3353
|
"data-independent-overlay-index",
|
|
3354
3354
|
"width",
|
|
3355
3355
|
"height"
|
|
3356
|
-
],
|
|
3356
|
+
], ji = ["x", "y"], Mi = /* @__PURE__ */ c({
|
|
3357
3357
|
__name: "WaveformTrack",
|
|
3358
3358
|
props: {
|
|
3359
3359
|
track: {},
|
|
@@ -3412,7 +3412,7 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
|
|
|
3412
3412
|
"data-track-height": e.track.height,
|
|
3413
3413
|
transform: `translate(${e.track.left ?? 0}, ${e.track.top})`
|
|
3414
3414
|
}, [
|
|
3415
|
-
s(
|
|
3415
|
+
s(Di, {
|
|
3416
3416
|
track: e.track,
|
|
3417
3417
|
"clip-path-id": e.clipPathId,
|
|
3418
3418
|
"inner-width": e.innerWidth,
|
|
@@ -3429,7 +3429,7 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
|
|
|
3429
3429
|
"frame-style",
|
|
3430
3430
|
"zero-line"
|
|
3431
3431
|
]),
|
|
3432
|
-
s(
|
|
3432
|
+
s(hi, {
|
|
3433
3433
|
track: e.track,
|
|
3434
3434
|
"inner-width": e.innerWidth,
|
|
3435
3435
|
"clean-view": e.cleanView,
|
|
@@ -3455,8 +3455,8 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
|
|
|
3455
3455
|
"stroke-dasharray": c.value.borderStyle === "dashed" ? "6 4" : c.value.borderStyle === "dotted" ? "1 3" : void 0,
|
|
3456
3456
|
"stroke-linecap": c.value.borderStyle === "dotted" ? "round" : void 0,
|
|
3457
3457
|
"aria-hidden": "true"
|
|
3458
|
-
}, null, 8,
|
|
3459
|
-
s(
|
|
3458
|
+
}, null, 8, ki)),
|
|
3459
|
+
s(ri, {
|
|
3460
3460
|
track: e.track,
|
|
3461
3461
|
"clip-path-id": e.clipPathId
|
|
3462
3462
|
}, null, 8, ["track", "clip-path-id"]),
|
|
@@ -3478,7 +3478,7 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
|
|
|
3478
3478
|
onPointerleave: n[4] ||= (e) => o("pointer-leave"),
|
|
3479
3479
|
onClick: n[5] ||= (e) => o("click", e),
|
|
3480
3480
|
onContextmenu: n[6] ||= (e) => o("contextmenu", e)
|
|
3481
|
-
}, null, 42,
|
|
3481
|
+
}, null, 42, Ai)) : r("", !0),
|
|
3482
3482
|
!e.track.isEmpty && !e.track.hasVisibleSeries && !e.cleanView ? (g(), i("text", {
|
|
3483
3483
|
key: 2,
|
|
3484
3484
|
class: "waveform-track__no-visible-series",
|
|
@@ -3486,33 +3486,33 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
|
|
|
3486
3486
|
y: e.track.height / 2,
|
|
3487
3487
|
"text-anchor": "middle",
|
|
3488
3488
|
"dominant-baseline": "central"
|
|
3489
|
-
}, " 暂无可见曲线 ", 8,
|
|
3490
|
-
], 10,
|
|
3489
|
+
}, " 暂无可见曲线 ", 8, ji)) : r("", !0)
|
|
3490
|
+
], 10, Oi));
|
|
3491
3491
|
}
|
|
3492
|
-
}),
|
|
3492
|
+
}), Ni = [
|
|
3493
3493
|
"width",
|
|
3494
3494
|
"height",
|
|
3495
3495
|
"data-position",
|
|
3496
3496
|
"data-orientation"
|
|
3497
|
-
],
|
|
3497
|
+
], Pi = [
|
|
3498
3498
|
"disabled",
|
|
3499
3499
|
"aria-pressed",
|
|
3500
3500
|
"aria-label",
|
|
3501
3501
|
"onClick"
|
|
3502
|
-
],
|
|
3502
|
+
], Fi = [
|
|
3503
3503
|
"data-line-type",
|
|
3504
3504
|
"data-line-style",
|
|
3505
3505
|
"data-point-type",
|
|
3506
3506
|
"data-error-bar-visible"
|
|
3507
|
-
],
|
|
3507
|
+
], Ii = [
|
|
3508
3508
|
"d",
|
|
3509
3509
|
"stroke",
|
|
3510
3510
|
"stroke-dasharray"
|
|
3511
|
-
],
|
|
3511
|
+
], Li = [
|
|
3512
3512
|
"d",
|
|
3513
3513
|
"stroke",
|
|
3514
3514
|
"stroke-width"
|
|
3515
|
-
],
|
|
3515
|
+
], Ri = ["d", "fill"], zi = ["title"], Bi = /*#__PURE__*/ Fe(/* @__PURE__ */ c({
|
|
3516
3516
|
__name: "WaveformLegend",
|
|
3517
3517
|
props: {
|
|
3518
3518
|
series: {},
|
|
@@ -3570,45 +3570,45 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
|
|
|
3570
3570
|
"data-point-type": e.pointType,
|
|
3571
3571
|
"data-error-bar-visible": e.errorBar.visible || void 0
|
|
3572
3572
|
}, [
|
|
3573
|
-
w(
|
|
3573
|
+
w(qr)(e.lineType) ? (g(), i("path", {
|
|
3574
3574
|
key: 0,
|
|
3575
3575
|
class: "waveform-legend__line",
|
|
3576
|
-
d: w(
|
|
3576
|
+
d: w(qr)(e.lineType) ?? void 0,
|
|
3577
3577
|
stroke: e.color,
|
|
3578
|
-
"stroke-dasharray": w(
|
|
3578
|
+
"stroke-dasharray": w(Jr)(e.lineStyle),
|
|
3579
3579
|
"stroke-width": "1.5",
|
|
3580
3580
|
fill: "none"
|
|
3581
|
-
}, null, 8,
|
|
3581
|
+
}, null, 8, Ii)) : r("", !0),
|
|
3582
3582
|
e.errorBar.visible ? (g(), i("path", {
|
|
3583
3583
|
key: 1,
|
|
3584
3584
|
class: "waveform-legend__error-bar",
|
|
3585
|
-
d: w(
|
|
3585
|
+
d: w(Yr)(e.errorBar.capWidth),
|
|
3586
3586
|
stroke: e.errorBar.color || e.color,
|
|
3587
3587
|
"stroke-width": e.errorBar.width,
|
|
3588
3588
|
"stroke-linecap": "butt",
|
|
3589
3589
|
fill: "none"
|
|
3590
|
-
}, null, 8,
|
|
3590
|
+
}, null, 8, Li)) : r("", !0),
|
|
3591
3591
|
e.pointType === "none" ? r("", !0) : (g(), i("path", {
|
|
3592
3592
|
key: 2,
|
|
3593
3593
|
class: "waveform-legend__point",
|
|
3594
|
-
d: w(
|
|
3594
|
+
d: w(Gr)(e.pointType, 30) ?? void 0,
|
|
3595
3595
|
fill: e.color,
|
|
3596
3596
|
transform: "translate(13 8)"
|
|
3597
|
-
}, null, 8,
|
|
3598
|
-
], 8,
|
|
3597
|
+
}, null, 8, Ri))
|
|
3598
|
+
], 8, Fi)), a("span", {
|
|
3599
3599
|
class: "waveform-legend__label",
|
|
3600
3600
|
title: e.name
|
|
3601
|
-
}, S(e.name), 9,
|
|
3601
|
+
}, S(e.name), 9, zi)], 10, Pi))), 128))], 6)], 2)], 8, Ni));
|
|
3602
3602
|
}
|
|
3603
|
-
}), [["__scopeId", "data-v-2ae12e71"]]),
|
|
3603
|
+
}), [["__scopeId", "data-v-2ae12e71"]]), Vi = {
|
|
3604
3604
|
class: "waveform-chart__hover-layer",
|
|
3605
3605
|
"pointer-events": "none",
|
|
3606
3606
|
"aria-hidden": "true"
|
|
3607
|
-
},
|
|
3607
|
+
}, Hi = ["clip-path", "transform"], Ui = [
|
|
3608
3608
|
"x1",
|
|
3609
3609
|
"x2",
|
|
3610
3610
|
"y2"
|
|
3611
|
-
],
|
|
3611
|
+
], Wi = /*#__PURE__*/ Fe(/* @__PURE__ */ c({
|
|
3612
3612
|
__name: "WaveformHoverLayer",
|
|
3613
3613
|
props: {
|
|
3614
3614
|
state: {},
|
|
@@ -3631,7 +3631,7 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
|
|
|
3631
3631
|
}] : [];
|
|
3632
3632
|
});
|
|
3633
3633
|
});
|
|
3634
|
-
return (t, r) => (g(), i("g",
|
|
3634
|
+
return (t, r) => (g(), i("g", Vi, [(g(!0), i(e, null, y(o.value, (e) => (g(), i("g", {
|
|
3635
3635
|
key: e.track.index,
|
|
3636
3636
|
class: "waveform-track__crosshair waveform-chart__crosshair",
|
|
3637
3637
|
"clip-path": `url(#${n.clipPathId}-${e.track.index})`,
|
|
@@ -3641,9 +3641,9 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
|
|
|
3641
3641
|
x2: e.x,
|
|
3642
3642
|
y1: "0",
|
|
3643
3643
|
y2: e.track.height
|
|
3644
|
-
}, null, 8,
|
|
3644
|
+
}, null, 8, Ui)], 8, Hi))), 128))]));
|
|
3645
3645
|
}
|
|
3646
|
-
}), [["__scopeId", "data-v-a6f82099"]]),
|
|
3646
|
+
}), [["__scopeId", "data-v-a6f82099"]]), Gi = [
|
|
3647
3647
|
"data-display-mode",
|
|
3648
3648
|
"data-interaction-mode",
|
|
3649
3649
|
"data-presentation-mode",
|
|
@@ -3652,36 +3652,36 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
|
|
|
3652
3652
|
"data-plot-margin-top",
|
|
3653
3653
|
"data-plot-margin-bottom",
|
|
3654
3654
|
"data-title-area-height"
|
|
3655
|
-
],
|
|
3655
|
+
], Ki = [
|
|
3656
3656
|
"role",
|
|
3657
3657
|
"aria-level",
|
|
3658
3658
|
"aria-hidden"
|
|
3659
|
-
],
|
|
3659
|
+
], qi = ["data-title-scale", "data-title-wrapped"], Ji = [
|
|
3660
3660
|
"width",
|
|
3661
3661
|
"height",
|
|
3662
3662
|
"aria-label"
|
|
3663
|
-
],
|
|
3663
|
+
], Yi = ["id"], Xi = ["width", "height"], Zi = ["transform"], Qi = {
|
|
3664
3664
|
key: 0,
|
|
3665
3665
|
class: "waveform-chart__grid-slots",
|
|
3666
3666
|
"aria-hidden": "true"
|
|
3667
|
-
},
|
|
3667
|
+
}, $i = ["transform"], ea = ["width", "height"], ta = ["width", "height"], na = [
|
|
3668
3668
|
"x",
|
|
3669
3669
|
"y",
|
|
3670
3670
|
"width",
|
|
3671
3671
|
"height"
|
|
3672
|
-
],
|
|
3672
|
+
], ra = {
|
|
3673
3673
|
key: 4,
|
|
3674
3674
|
class: "waveform-chart__legend-layer"
|
|
3675
|
-
},
|
|
3675
|
+
}, ia = [
|
|
3676
3676
|
"data-legend-track-index",
|
|
3677
3677
|
"data-legend-track-id",
|
|
3678
3678
|
"transform"
|
|
3679
|
-
],
|
|
3679
|
+
], aa = ["x", "y"], oa = ["x", "y"], sa = /* @__PURE__ */ c({
|
|
3680
3680
|
__name: "WaveformChartView",
|
|
3681
3681
|
props: { controller: {} },
|
|
3682
3682
|
setup(t) {
|
|
3683
|
-
let { displayMode: o, activeInteractionMode: c, isCleanView: l, isPresentationMode: u, selection: d, containerStyle: m, overlayMode: h, resolvedChartLeftMargin: _, titleAreaHeight: v, resolvedPlotMargin: b, pointerInsideChart: x, handleNativeContextMenu: T, titleAreaReserved: E, titleAreaStyle: D, titleVisible: O, titleMeasureStyle: k, resolvedTitleText: A, titleVisualStyle: j, titleTextStyle: M, titleLayout: N, chartWidth: P, drawingHeight: F, hasWaveformData: I, requestViewportReset: L, trackLayouts: R, clipPathId: z, chartTopMargin: B, gridCells: V, hasVisibleWaveformData: H, zoomable: U, isZoomMode: ee, innerWidth: te, innerHeight: ne, handleSharedPointerMove: re, beginSharedViewportDrag: ie, finishViewportDrag: W, cancelViewportDrag: G, handlePointerLeave: K, handleAnnotationClick: q, handleAnnotationContextMenu: J, resolveFrameNumber: oe, frameStyle: se, axes: ce, resolvedZeroLine: le, timeUnit: ue, yLabel: de, handleIndependentPointerMove: fe, beginViewportDrag: pe, hoverState: me, showTooltip: he, selectionBox: ge, renderedAnnotations: Y, annotationsVisible: _e, handleExistingAnnotationContextMenu: ve, beginAnnotationDrag: ye, handleAnnotationMove: be, endAnnotationDrag: xe, resolveLegendPosition: X, resolveLegendOrientation: Z, legendBackgroundColor: Se, legendInteractive: Ce, resolvedHiddenSeriesIds: we, toggleSeriesVisibility: Te, resolvedXLabel: Ee, xAxisTitleY: De, hasChartArea: Oe, gridOptions: ke, pageCount: Ae, currentPage: je, getPageSize: Me, chartTracks: Ne, goToPage: Pe, annotationInteraction: Fe, editorDraft: Re, contextMenu: Q, editorSeries: ze, editorSeriesOptions: Be, timeError: Ve, confirmAnnotation: He, cancelAnnotation: Ue, changeDraftSeries: We, changeDraftTime: Ge, editContextAnnotation: Ke, deleteContextAnnotation: qe, chartHeight: Je, setContainer: Ye, setSvgElement:
|
|
3684
|
-
function
|
|
3683
|
+
let { displayMode: o, activeInteractionMode: c, isCleanView: l, isPresentationMode: u, selection: d, containerStyle: m, overlayMode: h, resolvedChartLeftMargin: _, titleAreaHeight: v, resolvedPlotMargin: b, pointerInsideChart: x, handleNativeContextMenu: T, titleAreaReserved: E, titleAreaStyle: D, titleVisible: O, titleMeasureStyle: k, resolvedTitleText: A, titleVisualStyle: j, titleTextStyle: M, titleLayout: N, chartWidth: P, drawingHeight: F, hasWaveformData: I, requestViewportReset: L, trackLayouts: R, clipPathId: z, chartTopMargin: B, gridCells: V, hasVisibleWaveformData: H, zoomable: U, isZoomMode: ee, innerWidth: te, innerHeight: ne, handleSharedPointerMove: re, beginSharedViewportDrag: ie, finishViewportDrag: W, cancelViewportDrag: G, handlePointerLeave: K, handleAnnotationClick: q, handleAnnotationContextMenu: J, resolveFrameNumber: oe, frameStyle: se, axes: ce, resolvedZeroLine: le, timeUnit: ue, yLabel: de, handleIndependentPointerMove: fe, beginViewportDrag: pe, hoverState: me, showTooltip: he, selectionBox: ge, renderedAnnotations: Y, annotationsVisible: _e, handleExistingAnnotationContextMenu: ve, beginAnnotationDrag: ye, handleAnnotationMove: be, endAnnotationDrag: xe, resolveLegendPosition: X, resolveLegendOrientation: Z, legendBackgroundColor: Se, legendInteractive: Ce, resolvedHiddenSeriesIds: we, toggleSeriesVisibility: Te, resolvedXLabel: Ee, xAxisTitleY: De, hasChartArea: Oe, gridOptions: ke, pageCount: Ae, currentPage: je, getPageSize: Me, chartTracks: Ne, goToPage: Pe, annotationInteraction: Fe, editorDraft: Re, contextMenu: Q, editorSeries: ze, editorSeriesOptions: Be, timeError: Ve, confirmAnnotation: He, cancelAnnotation: Ue, changeDraftSeries: We, changeDraftTime: Ge, editContextAnnotation: Ke, deleteContextAnnotation: qe, chartHeight: Je, setContainer: Ye, setSvgElement: Xe, setTitleMeasureElement: Ze, setSharedOverlayElement: Qe } = C(t.controller);
|
|
3684
|
+
function $e() {
|
|
3685
3685
|
x.value = !1, K.value();
|
|
3686
3686
|
}
|
|
3687
3687
|
return (t, C) => (g(), i("div", {
|
|
@@ -3705,7 +3705,7 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
|
|
|
3705
3705
|
"data-plot-margin-bottom": w(b).bottom,
|
|
3706
3706
|
"data-title-area-height": w(v),
|
|
3707
3707
|
onPointerenter: C[8] ||= (e) => x.value = !0,
|
|
3708
|
-
onPointerleave:
|
|
3708
|
+
onPointerleave: $e,
|
|
3709
3709
|
onContextmenuCapture: C[9] ||= (...e) => w(T) && w(T)(...e)
|
|
3710
3710
|
}, [
|
|
3711
3711
|
w(E) ? (g(), i("div", {
|
|
@@ -3716,7 +3716,7 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
|
|
|
3716
3716
|
"aria-level": w(O) ? 2 : void 0,
|
|
3717
3717
|
"aria-hidden": w(l) || void 0
|
|
3718
3718
|
}, [a("span", {
|
|
3719
|
-
ref: w(
|
|
3719
|
+
ref: w(Ze),
|
|
3720
3720
|
class: "waveform-chart__title-measure",
|
|
3721
3721
|
style: p(w(k)),
|
|
3722
3722
|
"aria-hidden": "true"
|
|
@@ -3729,9 +3729,9 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
|
|
|
3729
3729
|
style: p(w(M)),
|
|
3730
3730
|
"data-title-scale": w(N).scale,
|
|
3731
3731
|
"data-title-wrapped": w(N).wrapped || void 0
|
|
3732
|
-
}, S(w(A)), 13,
|
|
3732
|
+
}, S(w(A)), 13, qi)], 4)) : r("", !0)], 12, Ki)) : r("", !0),
|
|
3733
3733
|
(g(), i("svg", {
|
|
3734
|
-
ref: w(
|
|
3734
|
+
ref: w(Xe),
|
|
3735
3735
|
class: "waveform-chart__svg",
|
|
3736
3736
|
width: w(P),
|
|
3737
3737
|
height: w(F),
|
|
@@ -3746,9 +3746,9 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
|
|
|
3746
3746
|
}, [a("rect", {
|
|
3747
3747
|
width: e.width,
|
|
3748
3748
|
height: e.height
|
|
3749
|
-
}, null, 8,
|
|
3749
|
+
}, null, 8, Xi)], 8, Yi))), 128))]),
|
|
3750
3750
|
a("g", { transform: `translate(${w(_)}, ${w(B)})` }, [
|
|
3751
|
-
w(o) !== "compact" && !w(l) ? (g(), i("g",
|
|
3751
|
+
w(o) !== "compact" && !w(l) ? (g(), i("g", Qi, [(g(!0), i(e, null, y(w(V), (e) => (g(), i("g", {
|
|
3752
3752
|
key: `grid-slot-${e.slotIndex}`,
|
|
3753
3753
|
transform: `translate(${e.left}, ${e.top})`
|
|
3754
3754
|
}, [e.series ? r("", !0) : (g(), i("rect", {
|
|
@@ -3756,10 +3756,10 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
|
|
|
3756
3756
|
class: "waveform-chart__grid-slot-placeholder",
|
|
3757
3757
|
width: e.width,
|
|
3758
3758
|
height: e.cellHeight
|
|
3759
|
-
}, null, 8,
|
|
3759
|
+
}, null, 8, ea))], 8, $i))), 128))])) : r("", !0),
|
|
3760
3760
|
w(o) !== "independent" && w(R).length && w(H) ? (g(), i("rect", {
|
|
3761
3761
|
key: 1,
|
|
3762
|
-
ref: w(
|
|
3762
|
+
ref: w(Qe),
|
|
3763
3763
|
class: f(["waveform-chart__overlay waveform-chart__overlay--shared", {
|
|
3764
3764
|
"is-zoomable": !w(u) && w(U) && w(ee),
|
|
3765
3765
|
"is-annotating": !w(u) && w(c) === "annotation"
|
|
@@ -3773,8 +3773,8 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
|
|
|
3773
3773
|
onPointerleave: C[4] ||= (...e) => w(K) && w(K)(...e),
|
|
3774
3774
|
onClick: C[5] ||= (...e) => w(q) && w(q)(...e),
|
|
3775
3775
|
onContextmenu: C[6] ||= (...e) => w(J) && w(J)(...e)
|
|
3776
|
-
}, null, 42,
|
|
3777
|
-
(g(!0), i(e, null, y(w(R), (e) => (g(), n(w(
|
|
3776
|
+
}, null, 42, ta)) : r("", !0),
|
|
3777
|
+
(g(!0), i(e, null, y(w(R), (e) => (g(), n(w(Mi), {
|
|
3778
3778
|
key: `${e.index}-${e.series.name}`,
|
|
3779
3779
|
track: e,
|
|
3780
3780
|
"clip-path-id": w(z),
|
|
@@ -3820,7 +3820,7 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
|
|
|
3820
3820
|
"onClick",
|
|
3821
3821
|
"onContextmenu"
|
|
3822
3822
|
]))), 128)),
|
|
3823
|
-
s(w(
|
|
3823
|
+
s(w(Wi), {
|
|
3824
3824
|
state: w(me),
|
|
3825
3825
|
tracks: w(R),
|
|
3826
3826
|
"clip-path-id": w(z),
|
|
@@ -3839,7 +3839,7 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
|
|
|
3839
3839
|
width: w(ge).width,
|
|
3840
3840
|
height: w(ge).height,
|
|
3841
3841
|
"aria-hidden": "true"
|
|
3842
|
-
}, null, 8,
|
|
3842
|
+
}, null, 8, na)) : r("", !0),
|
|
3843
3843
|
w(l) ? r("", !0) : (g(), n(w(Ie), {
|
|
3844
3844
|
key: 3,
|
|
3845
3845
|
annotations: w(Y),
|
|
@@ -3858,13 +3858,13 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
|
|
|
3858
3858
|
"onMove",
|
|
3859
3859
|
"onDragEnd"
|
|
3860
3860
|
])),
|
|
3861
|
-
w(l) ? r("", !0) : (g(), i("g",
|
|
3861
|
+
w(l) ? r("", !0) : (g(), i("g", ra, [(g(!0), i(e, null, y(w(R), (e) => (g(), i("g", {
|
|
3862
3862
|
key: `legend-${e.index}-${e.series.name}`,
|
|
3863
3863
|
class: "waveform-chart__legend-track",
|
|
3864
3864
|
"data-legend-track-index": e.index,
|
|
3865
3865
|
"data-legend-track-id": e.id,
|
|
3866
3866
|
transform: `translate(${e.left}, ${e.top})`
|
|
3867
|
-
}, [!e.isEmpty && e.legendSeries.length > 1 ? (g(), n(w(
|
|
3867
|
+
}, [!e.isEmpty && e.legendSeries.length > 1 ? (g(), n(w(Bi), {
|
|
3868
3868
|
key: 0,
|
|
3869
3869
|
series: e.legendSeries,
|
|
3870
3870
|
position: w(X)(e.id),
|
|
@@ -3885,23 +3885,23 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
|
|
|
3885
3885
|
"width",
|
|
3886
3886
|
"height",
|
|
3887
3887
|
"onToggle"
|
|
3888
|
-
])) : r("", !0)], 8,
|
|
3889
|
-
], 8,
|
|
3888
|
+
])) : r("", !0)], 8, ia))), 128))]))
|
|
3889
|
+
], 8, Zi),
|
|
3890
3890
|
w(Ee) && !w(l) ? (g(), i("text", {
|
|
3891
3891
|
key: 0,
|
|
3892
3892
|
class: "waveform-chart__label waveform-chart__x-label",
|
|
3893
3893
|
x: w(_) + w(te) / 2,
|
|
3894
3894
|
y: w(De),
|
|
3895
3895
|
"text-anchor": "middle"
|
|
3896
|
-
}, S(w(Ee)), 9,
|
|
3896
|
+
}, S(w(Ee)), 9, aa)) : r("", !0),
|
|
3897
3897
|
w(Oe) && !w(I) ? (g(), i("text", {
|
|
3898
3898
|
key: 1,
|
|
3899
3899
|
class: "waveform-chart__empty",
|
|
3900
3900
|
x: w(P) / 2,
|
|
3901
3901
|
y: w(F) / 2,
|
|
3902
3902
|
"text-anchor": "middle"
|
|
3903
|
-
}, " 暂无有效波形数据 ", 8,
|
|
3904
|
-
], 40,
|
|
3903
|
+
}, " 暂无有效波形数据 ", 8, oa)) : r("", !0)
|
|
3904
|
+
], 40, Ji)),
|
|
3905
3905
|
w(ke).showPagination && w(Ae) > 1 && !w(l) ? (g(), n(w(ae), {
|
|
3906
3906
|
key: 1,
|
|
3907
3907
|
class: "waveform-chart__pagination",
|
|
@@ -3918,7 +3918,7 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
|
|
|
3918
3918
|
"total",
|
|
3919
3919
|
"onChange"
|
|
3920
3920
|
])) : r("", !0),
|
|
3921
|
-
w(Re) && !w(l) && !w(u) ? (g(), n(
|
|
3921
|
+
w(Re) && !w(l) && !w(u) ? (g(), n(Dr, {
|
|
3922
3922
|
key: 2,
|
|
3923
3923
|
annotation: w(Re).annotation,
|
|
3924
3924
|
mode: w(Re).mode,
|
|
@@ -3960,7 +3960,7 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
|
|
|
3960
3960
|
"onDelete",
|
|
3961
3961
|
"onClose"
|
|
3962
3962
|
])) : r("", !0),
|
|
3963
|
-
s(w(
|
|
3963
|
+
s(w(Rr), {
|
|
3964
3964
|
state: w(me),
|
|
3965
3965
|
visible: w(he) && !w(u),
|
|
3966
3966
|
"time-unit": w(ue),
|
|
@@ -3973,9 +3973,9 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
|
|
|
3973
3973
|
"container-width",
|
|
3974
3974
|
"container-height"
|
|
3975
3975
|
])
|
|
3976
|
-
], 46,
|
|
3976
|
+
], 46, Gi));
|
|
3977
3977
|
}
|
|
3978
|
-
}),
|
|
3978
|
+
}), ca = /* @__PURE__ */ c({
|
|
3979
3979
|
__name: "WaveformChart",
|
|
3980
3980
|
props: {
|
|
3981
3981
|
data: {},
|
|
@@ -4053,12 +4053,12 @@ var Yr = ["clip-path"], Xr = ["data-series-id", "data-series-name"], Zr = [
|
|
|
4053
4053
|
"page-change"
|
|
4054
4054
|
],
|
|
4055
4055
|
setup(e, { expose: t, emit: r }) {
|
|
4056
|
-
let i =
|
|
4056
|
+
let i = cr(e, r);
|
|
4057
4057
|
return t({
|
|
4058
4058
|
resetViewport: i.resetViewport,
|
|
4059
4059
|
setViewportDomain: i.setViewportDomain
|
|
4060
|
-
}), (e, t) => (g(), n(
|
|
4060
|
+
}), (e, t) => (g(), n(sa, { controller: w(i) }, null, 8, ["controller"]));
|
|
4061
4061
|
}
|
|
4062
4062
|
});
|
|
4063
4063
|
//#endregion
|
|
4064
|
-
export {
|
|
4064
|
+
export { Ut as DEFAULT_WAVEFORM_RENDERING_OPTIONS, ca as WaveformChart, Ze as buildMinorTicks, _t as clamp, ut as displayTime, pt as formatAxisTime, ft as formatEndpointTime, mt as formatTooltipTime, It as normalizeWaveformData, Lt as normalizeWaveformSeries, Xe as paddedDomain, Je as parseWaveformAnnotations, gt as resolveTrackGeometry, Wt as resolveWaveformRenderingOptions, Xt as selectRenderablePoints, qe as serializeWaveformAnnotations };
|