@idmwx/idmui-gl4 3.7.4 → 3.7.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-3VYIPD3A-7b9fcd81.js → chunk-3VYIPD3A-ae45db39.js} +1 -1
- package/dist/{chunk-ANSXOGKI-4a29720f.js → chunk-ANSXOGKI-6b697b68.js} +1 -1
- package/dist/{chunk-T4JIPPZO-3e8c3c38.js → chunk-T4JIPPZO-b51ecbd6.js} +1 -1
- package/dist/{download-667e11e4.js → download-1e5db1aa.js} +3 -3
- package/dist/{index-86e9dc45.js → index-9319953f.js} +762 -756
- package/dist/index.js +1 -1
- package/dist/index.umd.cjs +1 -1
- package/dist/mapbox/src/components/bottomTimeLine/recorder.d.ts +4 -0
- package/dist/{rasterize-JS5G2XHH-8842a1c8.js → rasterize-JS5G2XHH-05ddc8fb.js} +3 -3
- package/dist/{toBlob-5b7510ed.js → toBlob-4263abe6.js} +3 -3
- package/dist/{toCanvas-58e3faef.js → toCanvas-56f64d35.js} +2 -2
- package/dist/{toImg-8c53f3ad.js → toImg-bcd0acf2.js} +3 -3
- package/package.json +1 -1
|
@@ -496,8 +496,8 @@ const xl = {
|
|
|
496
496
|
handleClick(t) {
|
|
497
497
|
var i, o;
|
|
498
498
|
const e = t.features[0], a = (o = (i = this.zone) == null ? void 0 : i.features) == null ? void 0 : o.filter((r) => {
|
|
499
|
-
var l,
|
|
500
|
-
return ((l = r.properties) == null ? void 0 : l.id) === ((
|
|
499
|
+
var l, s;
|
|
500
|
+
return ((l = r.properties) == null ? void 0 : l.id) === ((s = e == null ? void 0 : e.properties) == null ? void 0 : s.id);
|
|
501
501
|
})[0];
|
|
502
502
|
a && (this.showMakerInfo = !0, this.form = { ...a.properties }, this.simple || this.drawMarker([t.lngLat.lng, t.lngLat.lat]));
|
|
503
503
|
},
|
|
@@ -518,14 +518,14 @@ const xl = {
|
|
|
518
518
|
}
|
|
519
519
|
}, vl = ["innerHTML"];
|
|
520
520
|
function Al(t, e, a, i, o, r) {
|
|
521
|
-
const l = P("VBtn"),
|
|
522
|
-
return o.showMakerInfo ? (v(), B(
|
|
521
|
+
const l = P("VBtn"), s = P("VCardText"), c = P("VCard");
|
|
522
|
+
return o.showMakerInfo ? (v(), B(c, {
|
|
523
523
|
key: 0,
|
|
524
524
|
id: "idm-gl4-zone-info",
|
|
525
525
|
class: fe(["idm-gl4-zone-info overflow-auto scroll", a.simple ? "page" : "dialog"])
|
|
526
526
|
}, {
|
|
527
527
|
default: x(() => [
|
|
528
|
-
w(
|
|
528
|
+
w(s, null, {
|
|
529
529
|
default: x(() => {
|
|
530
530
|
var m;
|
|
531
531
|
return [
|
|
@@ -626,18 +626,18 @@ const Ll = {
|
|
|
626
626
|
var a, i, o, r;
|
|
627
627
|
const t = [], e = (a = this.port) != null && a.lng && ((i = this.port) != null && i.lat) ? Y.guessTimeZoneOffset((o = this.port) == null ? void 0 : o.lng, (r = this.port) == null ? void 0 : r.lat) : 0;
|
|
628
628
|
for (let l = 0; l < 4; l++) {
|
|
629
|
-
let
|
|
629
|
+
let s = {
|
|
630
630
|
index: l,
|
|
631
631
|
dateTimeList: [],
|
|
632
632
|
label: T().utcOffset(e).add(l, "days").format("MM-DD ddd"),
|
|
633
633
|
startTime: T().utcOffset(e).add(l, "days").set({ hour: 0, minute: 0, second: 0, millisecond: 0 }).format(),
|
|
634
634
|
dateTime: T().utcOffset(e).add(l, "days").format()
|
|
635
635
|
};
|
|
636
|
-
for (let
|
|
637
|
-
|
|
638
|
-
T(
|
|
636
|
+
for (let c = 0; c < 4; c++)
|
|
637
|
+
s.dateTimeList.push(
|
|
638
|
+
T(s.startTime).utcOffset(e).add(c * this.interval, "hours").utc().format()
|
|
639
639
|
);
|
|
640
|
-
t.push(
|
|
640
|
+
t.push(s);
|
|
641
641
|
}
|
|
642
642
|
return t;
|
|
643
643
|
},
|
|
@@ -751,10 +751,10 @@ const Ll = {
|
|
|
751
751
|
{ label: "Swell", key: "weather.swell", unit: "m" },
|
|
752
752
|
{ label: "Current", key: "weather.current", unit: "kts" }
|
|
753
753
|
], (a = (e = this.dateList) == null ? void 0 : e[this.currentIndex]) == null || a.dateTimeList.forEach((i, o) => {
|
|
754
|
-
var
|
|
754
|
+
var s, c, m, d, g, f, p, u, h, y, z, L, A, _, M, C, S, R, G, j, F, H, ae, ne, ce, ve, E, $, ee, se, q, U, re, Z, J, we, Le, ze;
|
|
755
755
|
let r = {};
|
|
756
|
-
const l = ((
|
|
757
|
-
r.utc = l.utc, r.lat = t.lat, r.lng = t.lng, r.weatherUrl = (
|
|
756
|
+
const l = ((s = Va.pickHourly(t, T(i))) == null ? void 0 : s[0]) || {};
|
|
757
|
+
r.utc = l.utc, r.lat = t.lat, r.lng = t.lng, r.weatherUrl = (c = l.weather) == null ? void 0 : c.url, r.temp = this.computeRoundPrecision((m = l == null ? void 0 : l.weather) == null ? void 0 : m.temp, 0) ?? "-", r.precipProbability = this.computeRoundPrecision((g = (d = l == null ? void 0 : l.weather) == null ? void 0 : d.precip) == null ? void 0 : g.probability, 0) ?? "-", r.precip1h = this.computeRoundPrecision((p = (f = l == null ? void 0 : l.weather) == null ? void 0 : f.precip) == null ? void 0 : p.sum, 1) ?? "-", r.visibility = this.computeRoundPrecision((u = l == null ? void 0 : l.weather) == null ? void 0 : u.visibility, 0) ?? "-", r.windSpeed = this.computeRoundPrecision((y = (h = l == null ? void 0 : l.weather) == null ? void 0 : h.wind) == null ? void 0 : y.kts, 1) ?? "-", r.windDir = (L = (z = l == null ? void 0 : l.weather) == null ? void 0 : z.wind) == null ? void 0 : L.direction, r.windLevel = this.computeRoundPrecision((_ = (A = l == null ? void 0 : l.weather) == null ? void 0 : A.wind) == null ? void 0 : _.scale, 0) ?? "-", r.windGust = this.computeRoundPrecision((C = (M = l == null ? void 0 : l.weather) == null ? void 0 : M.wind) == null ? void 0 : C.gusts, 1) ?? "-", r.sigwaveHeight = this.computeRoundPrecision((R = (S = l == null ? void 0 : l.wave) == null ? void 0 : S.sig) == null ? void 0 : R.height, 1) ?? "-", r.sigwaveDir = (j = (G = l == null ? void 0 : l.wave) == null ? void 0 : G.sig) == null ? void 0 : j.direction, r.sigwavePeriod = this.computeRoundPrecision((H = (F = l == null ? void 0 : l.wave) == null ? void 0 : F.sig) == null ? void 0 : H.period, 1) ?? "-", r.windwaveHeight = this.computeRoundPrecision((ne = (ae = l == null ? void 0 : l.wave) == null ? void 0 : ae.wd) == null ? void 0 : ne.height, 1) ?? "-", r.windwaveDir = (ve = (ce = l == null ? void 0 : l.wave) == null ? void 0 : ce.wd) == null ? void 0 : ve.direction, r.windwavePeriod = this.computeRoundPrecision(($ = (E = l == null ? void 0 : l.wave) == null ? void 0 : E.wd) == null ? void 0 : $.period, 1) ?? "-", r.swellHeight = this.computeRoundPrecision((se = (ee = l == null ? void 0 : l.wave) == null ? void 0 : ee.swell) == null ? void 0 : se.height, 1) ?? "-", r.swellDir = (U = (q = l == null ? void 0 : l.wave) == null ? void 0 : q.swell) == null ? void 0 : U.direction, r.swellPeriod = this.computeRoundPrecision((Z = (re = l == null ? void 0 : l.wave) == null ? void 0 : re.swell) == null ? void 0 : Z.period, 1) ?? "-", r.currentSpeed = this.computeRoundPrecision((J = l == null ? void 0 : l.current) == null ? void 0 : J.speed, 1) ?? "-", r.currentDir = (we = l == null ? void 0 : l.current) == null ? void 0 : we.direction, r.currentSpeed = this.computeRoundPrecision((Le = l == null ? void 0 : l.current) == null ? void 0 : Le.speed, 1) ?? "-", r.seaLevel = this.computeRoundPrecision(l == null ? void 0 : l.height, 1) ?? "-", r.seaTemp = this.computeRoundPrecision(l == null ? void 0 : l.sst, 0) ?? "-", r.weatherUrls = (ze = l == null ? void 0 : l.weather) == null ? void 0 : ze.url, this.tableData[0][`value${o}`] = o * this.interval > 10 ? o * this.interval : "0" + o * this.interval, this.tableData[1][`value${o}`] = r.weatherUrl, this.tableData[2][`value${o}`] = r.temp, this.tableData[3][`value${o}`] = r.precip1h, this.tableData[4][`value${o}`] = r.visibility, this.tableData[5][`value${o}`] = r.windSpeed, this.tableData[6][`value${o}`] = r.sigwaveHeight, this.tableData[7][`value${o}`] = r.swellHeight, this.tableData[8][`value${o}`] = r.currentSpeed;
|
|
758
758
|
});
|
|
759
759
|
},
|
|
760
760
|
handleTide() {
|
|
@@ -958,14 +958,14 @@ const Ll = {
|
|
|
958
958
|
width: "120"
|
|
959
959
|
}, Ln = { class: "px-1 text-center" }, zn = { class: "px-1 text-center" }, _n = { class: "px-1 text-center" };
|
|
960
960
|
function Cn(t, e, a, i, o, r) {
|
|
961
|
-
const l = P("VBtn"),
|
|
961
|
+
const l = P("VBtn"), s = P("VCardTitle"), c = P("VDivider"), m = P("VBtnToggle"), d = P("VCard");
|
|
962
962
|
return v(), B(d, {
|
|
963
963
|
class: fe(["port-detail-container d-flex flex-column justify-start align-center", a.simple ? "page" : "dialog"])
|
|
964
964
|
}, {
|
|
965
965
|
default: x(() => {
|
|
966
966
|
var g, f, p;
|
|
967
967
|
return [
|
|
968
|
-
w(
|
|
968
|
+
w(s, { class: "w-100" }, {
|
|
969
969
|
default: x(() => {
|
|
970
970
|
var u, h, y, z, L, A;
|
|
971
971
|
return [
|
|
@@ -1052,7 +1052,7 @@ function Cn(t, e, a, i, o, r) {
|
|
|
1052
1052
|
}),
|
|
1053
1053
|
_: 1
|
|
1054
1054
|
}),
|
|
1055
|
-
w(
|
|
1055
|
+
w(c, { class: "w-100" }),
|
|
1056
1056
|
a.simple ? I("", !0) : (v(), D("div", Sl, [
|
|
1057
1057
|
(g = a.followList) != null && g.some((u) => {
|
|
1058
1058
|
var h;
|
|
@@ -1384,9 +1384,9 @@ const Mn = {
|
|
|
1384
1384
|
}
|
|
1385
1385
|
}, Pn = { class: "port-box d-flex flex-column justify-center align-start ga-1" }, Sn = { class: "d-flex justify-start align-center text-label" }, Tn = { class: "d-flex justify-start align-center text-label" };
|
|
1386
1386
|
function Rn(t, e, a, i, o, r) {
|
|
1387
|
-
const l = P("VCardText"),
|
|
1387
|
+
const l = P("VCardText"), s = P("VCard"), c = P("PortDetail");
|
|
1388
1388
|
return v(), D("div", null, [
|
|
1389
|
-
ua(w(
|
|
1389
|
+
ua(w(s, {
|
|
1390
1390
|
id: "idmPortInfo",
|
|
1391
1391
|
ref: "idmPortInfo"
|
|
1392
1392
|
}, {
|
|
@@ -1411,7 +1411,7 @@ function Rn(t, e, a, i, o, r) {
|
|
|
1411
1411
|
}, 512), [
|
|
1412
1412
|
[pa, o.showInfo]
|
|
1413
1413
|
]),
|
|
1414
|
-
o.showDetail ? (v(), B(
|
|
1414
|
+
o.showDetail ? (v(), B(c, V({
|
|
1415
1415
|
key: 0,
|
|
1416
1416
|
"port-id": o.portId,
|
|
1417
1417
|
port: o.port,
|
|
@@ -1657,8 +1657,8 @@ const Fn = /* @__PURE__ */ le(In, [["render", En]]), Gn = {
|
|
|
1657
1657
|
type: "FeatureCollection"
|
|
1658
1658
|
};
|
|
1659
1659
|
o.features = (a = this.zone.features) == null ? void 0 : a.map((l) => {
|
|
1660
|
-
const
|
|
1661
|
-
return
|
|
1660
|
+
const s = JSON.parse(JSON.stringify(l));
|
|
1661
|
+
return s.properties.offSet === t.features[0].properties.offSet ? (s.properties.opacity = 0.25, s.properties.lineOpacity = 0.7, s.properties.width = 2) : (s.properties.opacity = 0, s.properties.lineOpacity = 0.2, s.properties.width = 1), s;
|
|
1662
1662
|
}), (i = this.map.getSource(this.source)) == null || i.setData(o);
|
|
1663
1663
|
const r = document.createElement("div");
|
|
1664
1664
|
r.className = "v-card--variant-elevated rounded px-2 py-1 text-body-1", r.innerHTML = `<div>UTC ${t.features[0].properties.offSet}:00</div>
|
|
@@ -2158,18 +2158,18 @@ const ns = {
|
|
|
2158
2158
|
var a, i, o, r;
|
|
2159
2159
|
const t = [], e = (a = this.station) != null && a.lng && ((i = this.station) != null && i.lat) ? Y.guessTimeZoneOffset((o = this.station) == null ? void 0 : o.lng, (r = this.station) == null ? void 0 : r.lat) : 0;
|
|
2160
2160
|
for (let l = 0; l < 4; l++) {
|
|
2161
|
-
let
|
|
2161
|
+
let s = {
|
|
2162
2162
|
index: l,
|
|
2163
2163
|
dateTimeList: [],
|
|
2164
2164
|
label: T().utcOffset(e).add(l, "days").format("MM-DD ddd"),
|
|
2165
2165
|
startTime: T().utcOffset(e).add(l, "days").set({ hour: 0, minute: 0, second: 0, millisecond: 0 }).format(),
|
|
2166
2166
|
dateTime: T().utcOffset(e).add(l, "days").format()
|
|
2167
2167
|
};
|
|
2168
|
-
for (let
|
|
2169
|
-
|
|
2170
|
-
T(
|
|
2168
|
+
for (let c = 0; c < 4; c++)
|
|
2169
|
+
s.dateTimeList.push(
|
|
2170
|
+
T(s.startTime).utcOffset(e).add(c * 3, "hours").utc().format()
|
|
2171
2171
|
);
|
|
2172
|
-
t.push(
|
|
2172
|
+
t.push(s);
|
|
2173
2173
|
}
|
|
2174
2174
|
return t;
|
|
2175
2175
|
},
|
|
@@ -2390,14 +2390,14 @@ const ns = {
|
|
|
2390
2390
|
width: "120"
|
|
2391
2391
|
}, Fs = { class: "px-1 text-center" }, Gs = { class: "px-1 text-center" }, Bs = { class: "px-1 text-center" };
|
|
2392
2392
|
function js(t, e, a, i, o, r) {
|
|
2393
|
-
const l = P("VBtn"),
|
|
2393
|
+
const l = P("VBtn"), s = P("VCardTitle"), c = P("VDivider"), m = P("VBtnToggle"), d = P("VCard");
|
|
2394
2394
|
return v(), B(d, {
|
|
2395
2395
|
class: fe(["tide-detail-container d-flex flex-column justify-start align-center", a.simple ? "page" : "dialog"])
|
|
2396
2396
|
}, {
|
|
2397
2397
|
default: x(() => {
|
|
2398
2398
|
var g, f;
|
|
2399
2399
|
return [
|
|
2400
|
-
w(
|
|
2400
|
+
w(s, { class: "w-100" }, {
|
|
2401
2401
|
default: x(() => {
|
|
2402
2402
|
var p;
|
|
2403
2403
|
return [
|
|
@@ -2426,7 +2426,7 @@ function js(t, e, a, i, o, r) {
|
|
|
2426
2426
|
}),
|
|
2427
2427
|
_: 1
|
|
2428
2428
|
}),
|
|
2429
|
-
w(
|
|
2429
|
+
w(c, { class: "w-100" }),
|
|
2430
2430
|
n("div", {
|
|
2431
2431
|
class: fe(["w-100 pt-0 pb-0 overflow-y-auto scroll", a.simple ? "px-3" : "px-5"])
|
|
2432
2432
|
}, [
|
|
@@ -2603,9 +2603,9 @@ const Ws = {
|
|
|
2603
2603
|
}
|
|
2604
2604
|
}, Zs = { class: "station-box d-flex flex-column justify-center align-start ga-1" }, Vs = { class: "d-flex justify-start align-center" }, Xs = { class: "d-flex justify-start align-center" }, Os = { class: "text-label" };
|
|
2605
2605
|
function Hs(t, e, a, i, o, r) {
|
|
2606
|
-
const l = P("VCardText"),
|
|
2606
|
+
const l = P("VCardText"), s = P("VCard"), c = P("TideDetail");
|
|
2607
2607
|
return v(), D("div", null, [
|
|
2608
|
-
ua(w(
|
|
2608
|
+
ua(w(s, { id: "idmTidalInfo" }, {
|
|
2609
2609
|
default: x(() => [
|
|
2610
2610
|
w(l, { class: "pr-8 text-body-1" }, {
|
|
2611
2611
|
default: x(() => {
|
|
@@ -2626,7 +2626,7 @@ function Hs(t, e, a, i, o, r) {
|
|
|
2626
2626
|
}, 512), [
|
|
2627
2627
|
[pa, o.showInfo]
|
|
2628
2628
|
]),
|
|
2629
|
-
o.showDetail ? (v(), B(
|
|
2629
|
+
o.showDetail ? (v(), B(c, V({
|
|
2630
2630
|
key: 0,
|
|
2631
2631
|
station: o.station
|
|
2632
2632
|
}, t.$attrs, { onClose: r.handleCloseDetail }), null, 16, ["station", "onClose"])) : I("", !0)
|
|
@@ -2849,15 +2849,15 @@ const Qs = {
|
|
|
2849
2849
|
}
|
|
2850
2850
|
};
|
|
2851
2851
|
function qs(t, e, a, i, o, r) {
|
|
2852
|
-
var l,
|
|
2852
|
+
var l, s, c;
|
|
2853
2853
|
return a.simple ? I("", !0) : (v(), D("div", {
|
|
2854
2854
|
key: 0,
|
|
2855
2855
|
class: "idm-lat-lng-tip-gl4 pa-2 py-1 text-caption text-right rounded",
|
|
2856
2856
|
style: pe({ right: o.right + "px" })
|
|
2857
2857
|
}, [
|
|
2858
2858
|
n("div", null, b((l = o.lngLat) == null ? void 0 : l.lat), 1),
|
|
2859
|
-
n("div", null, b((
|
|
2860
|
-
n("div", null, b((
|
|
2859
|
+
n("div", null, b((s = o.lngLat) == null ? void 0 : s.lng), 1),
|
|
2860
|
+
n("div", null, b((c = o.lngLat) == null ? void 0 : c.str), 1)
|
|
2861
2861
|
], 4));
|
|
2862
2862
|
}
|
|
2863
2863
|
const Gr = /* @__PURE__ */ le(Qs, [["render", qs]]);
|
|
@@ -2990,9 +2990,9 @@ const $s = {
|
|
|
2990
2990
|
}
|
|
2991
2991
|
}, ec = { class: "port-box d-flex flex-column justify-center align-start ga-1" }, tc = { class: "d-flex justify-start align-center text-label" }, ac = { class: "d-flex justify-start align-center text-label" };
|
|
2992
2992
|
function oc(t, e, a, i, o, r) {
|
|
2993
|
-
const l = P("VCardText"),
|
|
2993
|
+
const l = P("VCardText"), s = P("VCard"), c = P("PortDetail");
|
|
2994
2994
|
return v(), D("div", null, [
|
|
2995
|
-
ua(w(
|
|
2995
|
+
ua(w(s, {
|
|
2996
2996
|
id: "idmFollowPortInfo",
|
|
2997
2997
|
ref: "idmFollowPortInfo"
|
|
2998
2998
|
}, {
|
|
@@ -3017,7 +3017,7 @@ function oc(t, e, a, i, o, r) {
|
|
|
3017
3017
|
}, 512), [
|
|
3018
3018
|
[pa, o.showInfo]
|
|
3019
3019
|
]),
|
|
3020
|
-
o.showDetail ? (v(), B(
|
|
3020
|
+
o.showDetail ? (v(), B(c, V({
|
|
3021
3021
|
key: 0,
|
|
3022
3022
|
"port-id": o.portId,
|
|
3023
3023
|
port: o.port,
|
|
@@ -3133,7 +3133,7 @@ const rc = {
|
|
|
3133
3133
|
this.map.getLayer(this.layer) && this.map.removeLayer(this.layer), this.map.getSource(this.source) && this.map.removeSource(this.source), (t = this.map) == null || t.off("click", [this.layer], this.handleClick), (e = this.map) == null || e.off("mousemove", [this.layer], this.handleHover), (a = this.map) == null || a.off("mouseleave", [this.layer], this.handleLeave);
|
|
3134
3134
|
},
|
|
3135
3135
|
handleClick(t) {
|
|
3136
|
-
var a, i, o, r, l,
|
|
3136
|
+
var a, i, o, r, l, s, c, m, d;
|
|
3137
3137
|
const e = t.features[0];
|
|
3138
3138
|
if (e.properties) {
|
|
3139
3139
|
const g = e.properties;
|
|
@@ -3145,7 +3145,7 @@ const rc = {
|
|
|
3145
3145
|
datetime: this.realTime,
|
|
3146
3146
|
forecastModel: this.forecastModel
|
|
3147
3147
|
};
|
|
3148
|
-
p >= 0 ? (l = (r = (o = (i = this.$parent) == null ? void 0 : i.$parent) == null ? void 0 : o.$refs) == null ? void 0 : r.idmSpot) == null || l.fetchForecastData(u) : (d = (m = (
|
|
3148
|
+
p >= 0 ? (l = (r = (o = (i = this.$parent) == null ? void 0 : i.$parent) == null ? void 0 : o.$refs) == null ? void 0 : r.idmSpot) == null || l.fetchForecastData(u) : (d = (m = (c = (s = this.$parent) == null ? void 0 : s.$parent) == null ? void 0 : c.$refs) == null ? void 0 : m.idmSpot) == null || d.fetchHistoryData(u);
|
|
3149
3149
|
}
|
|
3150
3150
|
},
|
|
3151
3151
|
handleHover(t) {
|
|
@@ -3168,8 +3168,8 @@ const rc = {
|
|
|
3168
3168
|
class: "d-flex justify-start align-center text-label"
|
|
3169
3169
|
};
|
|
3170
3170
|
function cc(t, e, a, i, o, r) {
|
|
3171
|
-
const l = P("VCardText"),
|
|
3172
|
-
return ua((v(), B(
|
|
3171
|
+
const l = P("VCardText"), s = P("VCard");
|
|
3172
|
+
return ua((v(), B(s, {
|
|
3173
3173
|
id: "idmFollowPositionInfo",
|
|
3174
3174
|
ref: "idmFollowPositionInfo"
|
|
3175
3175
|
}, {
|
|
@@ -3373,18 +3373,18 @@ const dc = {
|
|
|
3373
3373
|
});
|
|
3374
3374
|
if (((e = o == null ? void 0 : o.data) == null ? void 0 : e.code) === 0) {
|
|
3375
3375
|
const r = (a = o == null ? void 0 : o.data) == null ? void 0 : a.data, l = [];
|
|
3376
|
-
for (const
|
|
3376
|
+
for (const c in r)
|
|
3377
3377
|
l.push(
|
|
3378
|
-
Ee.get(r[
|
|
3378
|
+
Ee.get(r[c], {
|
|
3379
3379
|
headers: {
|
|
3380
3380
|
Authorization: this.defaultMeteoToken,
|
|
3381
|
-
key:
|
|
3381
|
+
key: c
|
|
3382
3382
|
}
|
|
3383
3383
|
})
|
|
3384
3384
|
);
|
|
3385
|
-
(await Promise.all(l)).map((
|
|
3385
|
+
(await Promise.all(l)).map((c) => {
|
|
3386
3386
|
var g, f, p;
|
|
3387
|
-
const m = ((g =
|
|
3387
|
+
const m = ((g = c == null ? void 0 : c.data) == null ? void 0 : g.data) || (c == null ? void 0 : c.data), d = (p = (f = c == null ? void 0 : c.config) == null ? void 0 : f.headers) == null ? void 0 : p.key;
|
|
3388
3388
|
this.otherLayers[d] = m;
|
|
3389
3389
|
});
|
|
3390
3390
|
}
|
|
@@ -3423,13 +3423,13 @@ const dc = {
|
|
|
3423
3423
|
}, vc = { class: "text-body-2 text-center pt-2" };
|
|
3424
3424
|
function Ac(t, e, a, i, o, r) {
|
|
3425
3425
|
var ve, E, $, ee, se, q, U, re, Z;
|
|
3426
|
-
const l = P("VBtn"),
|
|
3426
|
+
const l = P("VBtn"), s = P("VTooltip"), c = P("VCardTitle"), m = P("VCardItem"), d = P("VCheckbox"), g = P("VCardText"), f = P("VCard"), p = P("IdmPort"), u = P("IdmTideStations"), h = P("IdmLatLng"), y = P("IdmTerminator"), z = P("IdmTimezone"), L = P("IdmAlertZone"), A = P("IdmEcaZone"), _ = P("IdmWarZone"), M = P("IdmGmdssArea"), C = P("IdmLoadLine"), S = P("IdmWorldMarine"), R = P("IdmVRA"), G = P("IdmSpecialArea"), j = P("IdmWorld12nm"), F = P("IdmChinaRoute"), H = P("IdmIceAreas"), ae = P("IdmNsrAreas"), ne = P("IdmFollowPort"), ce = P("IdmFollowPosition");
|
|
3427
3427
|
return v(), D("div", hc, [
|
|
3428
3428
|
n("div", {
|
|
3429
3429
|
class: fe(["menu-bar-box transition px-1 rounded", a.simple ? "simple" : ""]),
|
|
3430
3430
|
style: pe({ top: a.top + 10 + "px", right: o.right + "px", paddingTop: a.paddingTop + "px", height: a.menuHeight + "px" })
|
|
3431
3431
|
}, [
|
|
3432
|
-
w(
|
|
3432
|
+
w(s, {
|
|
3433
3433
|
text: t.$t("layer.mapLayers"),
|
|
3434
3434
|
location: "left",
|
|
3435
3435
|
interactive: !0,
|
|
@@ -3485,7 +3485,7 @@ function Ac(t, e, a, i, o, r) {
|
|
|
3485
3485
|
default: x(() => [
|
|
3486
3486
|
w(m, { class: "border-b-thin" }, {
|
|
3487
3487
|
default: x(() => [
|
|
3488
|
-
w(
|
|
3488
|
+
w(c, { class: "text-h6" }, {
|
|
3489
3489
|
default: x(() => [
|
|
3490
3490
|
N(b(t.$t("layer.mapFeathers")), 1)
|
|
3491
3491
|
]),
|
|
@@ -3535,7 +3535,7 @@ function Ac(t, e, a, i, o, r) {
|
|
|
3535
3535
|
default: x(() => [
|
|
3536
3536
|
w(m, { class: "border-b-thin" }, {
|
|
3537
3537
|
default: x(() => [
|
|
3538
|
-
w(
|
|
3538
|
+
w(c, { class: "text-h6" }, {
|
|
3539
3539
|
default: x(() => [
|
|
3540
3540
|
N(b(t.$t("layer.pointsOfInteresting")), 1)
|
|
3541
3541
|
]),
|
|
@@ -3571,7 +3571,7 @@ function Ac(t, e, a, i, o, r) {
|
|
|
3571
3571
|
default: x(() => [
|
|
3572
3572
|
w(m, { class: "border-b-thin" }, {
|
|
3573
3573
|
default: x(() => [
|
|
3574
|
-
w(
|
|
3574
|
+
w(c, { class: "text-h6" }, {
|
|
3575
3575
|
default: x(() => [
|
|
3576
3576
|
N(b(t.$t("layer.otherLayers")), 1)
|
|
3577
3577
|
]),
|
|
@@ -3607,7 +3607,7 @@ function Ac(t, e, a, i, o, r) {
|
|
|
3607
3607
|
default: x(() => [
|
|
3608
3608
|
w(m, { class: "border-b-thin" }, {
|
|
3609
3609
|
default: x(() => [
|
|
3610
|
-
w(
|
|
3610
|
+
w(c, { class: "text-h6" }, {
|
|
3611
3611
|
default: x(() => [
|
|
3612
3612
|
N(b(t.$t("layer.myFollows")), 1)
|
|
3613
3613
|
]),
|
|
@@ -3832,7 +3832,7 @@ class Oa {
|
|
|
3832
3832
|
const e = (u = this.map) == null ? void 0 : u.getBounds();
|
|
3833
3833
|
if (!e)
|
|
3834
3834
|
return [];
|
|
3835
|
-
const a = ((h = this.map) == null ? void 0 : h.getZoom()) + 1, i = [e._ne.lng, e._ne.lat], o = [e._sw.lng, e._sw.lat], [r, l] = this.convertNLng(i[0]), [
|
|
3835
|
+
const a = ((h = this.map) == null ? void 0 : h.getZoom()) + 1, i = [e._ne.lng, e._ne.lat], o = [e._sw.lng, e._sw.lat], [r, l] = this.convertNLng(i[0]), [s, c] = this.convertNLng(o[0]), [m, d] = this.mercator.px([r, i[1]], a), [g, f] = this.mercator.px([s, o[1]], a), p = Math.round(this.mercator.size * Math.pow(2, a) * (l + c));
|
|
3836
3836
|
return [g, f, m + p, d];
|
|
3837
3837
|
}
|
|
3838
3838
|
/**
|
|
@@ -3848,11 +3848,11 @@ class Oa {
|
|
|
3848
3848
|
* @param zoom
|
|
3849
3849
|
*/
|
|
3850
3850
|
getWorldCopy(e, a) {
|
|
3851
|
-
const i = 2 ** a, [o, r, l,
|
|
3852
|
-
for (let d =
|
|
3851
|
+
const i = 2 ** a, [o, r, l, s] = e.map((d) => ~~(d / (i * 256))), c = [];
|
|
3852
|
+
for (let d = s; d <= r; d++)
|
|
3853
3853
|
for (let g = o; g <= l; g++)
|
|
3854
|
-
|
|
3855
|
-
return
|
|
3854
|
+
c.push([g, d]);
|
|
3855
|
+
return c.map((d) => {
|
|
3856
3856
|
const g = 2 ** a * 256;
|
|
3857
3857
|
return [d[0] * g, d[1] * g, g];
|
|
3858
3858
|
});
|
|
@@ -3933,17 +3933,17 @@ class la {
|
|
|
3933
3933
|
* @param width??
|
|
3934
3934
|
* @param height??
|
|
3935
3935
|
*/
|
|
3936
|
-
createTexture(e, a, i, o, r, l,
|
|
3937
|
-
const
|
|
3938
|
-
e.bindTexture(e.TEXTURE_2D,
|
|
3936
|
+
createTexture(e, a, i, o, r, l, s) {
|
|
3937
|
+
const c = e.createTexture();
|
|
3938
|
+
e.bindTexture(e.TEXTURE_2D, c), e.texParameteri(e.TEXTURE_2D, e.TEXTURE_MIN_FILTER, a), e.texParameteri(e.TEXTURE_2D, e.TEXTURE_MAG_FILTER, i), e.texParameteri(e.TEXTURE_2D, e.TEXTURE_WRAP_S, o), e.texParameteri(e.TEXTURE_2D, e.TEXTURE_WRAP_T, o);
|
|
3939
3939
|
const m = this.isWebGL2(e) ? e.RGBA8 : e.RGBA;
|
|
3940
3940
|
if (r === null || r instanceof Uint8Array) {
|
|
3941
|
-
if (l === void 0 ||
|
|
3942
|
-
throw e.deleteTexture(
|
|
3943
|
-
e.texImage2D(e.TEXTURE_2D, 0, m, l,
|
|
3941
|
+
if (l === void 0 || s === void 0)
|
|
3942
|
+
throw e.deleteTexture(c), new Error("Pixel textures require explicit dimensions.");
|
|
3943
|
+
e.texImage2D(e.TEXTURE_2D, 0, m, l, s, 0, e.RGBA, e.UNSIGNED_BYTE, r);
|
|
3944
3944
|
} else
|
|
3945
3945
|
e.texImage2D(e.TEXTURE_2D, 0, m, e.RGBA, e.UNSIGNED_BYTE, r);
|
|
3946
|
-
return e.bindTexture(e.TEXTURE_2D, null),
|
|
3946
|
+
return e.bindTexture(e.TEXTURE_2D, null), c;
|
|
3947
3947
|
}
|
|
3948
3948
|
/**
|
|
3949
3949
|
* 创建数据资源
|
|
@@ -3968,8 +3968,8 @@ class la {
|
|
|
3968
3968
|
createProgram(e, a, i) {
|
|
3969
3969
|
const o = e.createProgram(), r = this.createShader(e, e.VERTEX_SHADER, a), l = this.createShader(e, e.FRAGMENT_SHADER, i);
|
|
3970
3970
|
if (o && r && l && (e.attachShader(o, r), e.attachShader(o, l), e.linkProgram(o), e.deleteShader(r), e.deleteShader(l), !e.getProgramParameter(o, e.LINK_STATUS))) {
|
|
3971
|
-
const
|
|
3972
|
-
throw e.deleteProgram(o), new Error(
|
|
3971
|
+
const s = e.getProgramInfoLog(o);
|
|
3972
|
+
throw e.deleteProgram(o), new Error(s || "error happened while creating ramp color program");
|
|
3973
3973
|
}
|
|
3974
3974
|
return o;
|
|
3975
3975
|
}
|
|
@@ -3983,13 +3983,13 @@ class la {
|
|
|
3983
3983
|
const o = this.createProgram(e, a, i);
|
|
3984
3984
|
if (o) {
|
|
3985
3985
|
const r = { program: o }, l = e.getProgramParameter(o, e.ACTIVE_ATTRIBUTES);
|
|
3986
|
-
for (let
|
|
3987
|
-
const m = e.getActiveAttrib(o,
|
|
3986
|
+
for (let c = 0; c < l; c++) {
|
|
3987
|
+
const m = e.getActiveAttrib(o, c);
|
|
3988
3988
|
r[m.name] = e.getAttribLocation(o, m.name);
|
|
3989
3989
|
}
|
|
3990
|
-
const
|
|
3991
|
-
for (let
|
|
3992
|
-
const m = e.getActiveUniform(o,
|
|
3990
|
+
const s = e.getProgramParameter(o, e.ACTIVE_UNIFORMS);
|
|
3991
|
+
for (let c = 0; c < s; c++) {
|
|
3992
|
+
const m = e.getActiveUniform(o, c);
|
|
3993
3993
|
r[m.name] = e.getUniformLocation(o, m.name);
|
|
3994
3994
|
}
|
|
3995
3995
|
return r;
|
|
@@ -4002,19 +4002,19 @@ class la {
|
|
|
4002
4002
|
setup(e, a, i = !1, o, r) {
|
|
4003
4003
|
const l = document.createElement("canvas");
|
|
4004
4004
|
l.width = 256, l.height = 1;
|
|
4005
|
-
const
|
|
4006
|
-
if (
|
|
4007
|
-
const
|
|
4005
|
+
const s = l.getContext("2d");
|
|
4006
|
+
if (s && e) {
|
|
4007
|
+
const c = s == null ? void 0 : s.createLinearGradient(0, 0, 256, 0);
|
|
4008
4008
|
return a.forEach(([m, d]) => {
|
|
4009
|
-
|
|
4010
|
-
}),
|
|
4009
|
+
c.addColorStop(m, d);
|
|
4010
|
+
}), s.fillStyle = c, s.fillRect(0, 0, 256, 1), {
|
|
4011
4011
|
canvas: l,
|
|
4012
4012
|
texture: this.createTexture(
|
|
4013
4013
|
e,
|
|
4014
4014
|
e.LINEAR,
|
|
4015
4015
|
e.LINEAR,
|
|
4016
4016
|
e.CLAMP_TO_EDGE,
|
|
4017
|
-
i ? new Uint8Array(
|
|
4017
|
+
i ? new Uint8Array(s.getImageData(0, 0, 256, 1).data) : l,
|
|
4018
4018
|
o,
|
|
4019
4019
|
r
|
|
4020
4020
|
)
|
|
@@ -4022,14 +4022,14 @@ class la {
|
|
|
4022
4022
|
}
|
|
4023
4023
|
}
|
|
4024
4024
|
setupParticle(e, a = 1e3, i = "points", o = !1) {
|
|
4025
|
-
const r = Math.ceil(Math.sqrt(a)), l = r * r,
|
|
4026
|
-
for (let u = 0; u <
|
|
4027
|
-
|
|
4028
|
-
const m = this.createTexture(e, e.NEAREST, e.NEAREST, e.CLAMP_TO_EDGE,
|
|
4025
|
+
const r = Math.ceil(Math.sqrt(a)), l = r * r, s = l * (i === "lines" ? 2 : 1), c = new Uint8Array(l * 4);
|
|
4026
|
+
for (let u = 0; u < c.length; u++)
|
|
4027
|
+
c[u] = Math.floor(Math.random() * 256);
|
|
4028
|
+
const m = this.createTexture(e, e.NEAREST, e.NEAREST, e.CLAMP_TO_EDGE, c, r, r), d = this.createTexture(e, e.NEAREST, e.NEAREST, e.CLAMP_TO_EDGE, c, r, r);
|
|
4029
4029
|
let g = null;
|
|
4030
4030
|
if (!this.isWebGL2(e)) {
|
|
4031
|
-
const u = new Float32Array(
|
|
4032
|
-
for (let h = 0; h <
|
|
4031
|
+
const u = new Float32Array(s);
|
|
4032
|
+
for (let h = 0; h < s; h++)
|
|
4033
4033
|
u[h] = h;
|
|
4034
4034
|
g = this.createDataBuffer(e, "array", u);
|
|
4035
4035
|
}
|
|
@@ -4043,21 +4043,21 @@ class la {
|
|
|
4043
4043
|
if (o) {
|
|
4044
4044
|
const r = this.createDataBuffer(e, "array", void 0), l = e.getAttribLocation(o, "a_position");
|
|
4045
4045
|
e.enableVertexAttribArray(l), e.vertexAttribPointer(l, 2, e.FLOAT, !1, 0, 0);
|
|
4046
|
-
const
|
|
4047
|
-
this.createDataBuffer(e, "array",
|
|
4048
|
-
const
|
|
4049
|
-
return e.enableVertexAttribArray(
|
|
4046
|
+
const s = new Float32Array([0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1]);
|
|
4047
|
+
this.createDataBuffer(e, "array", s);
|
|
4048
|
+
const c = e.getAttribLocation(o, "a_texCoord");
|
|
4049
|
+
return e.enableVertexAttribArray(c), e.vertexAttribPointer(c, 2, e.FLOAT, !1, 0, 0), { program: o, aPositionBuffer: r };
|
|
4050
4050
|
}
|
|
4051
4051
|
return {};
|
|
4052
4052
|
}
|
|
4053
4053
|
bindParticle(e, a, i, o, r, l) {
|
|
4054
|
-
const
|
|
4055
|
-
return { particle:
|
|
4054
|
+
const s = this.createProgramWrapper(e, a, i), c = this.createProgramWrapper(e, o, r), m = this.createProgramWrapper(e, o, l), g = this.isWebGL2(e) ? null : this.createDataBuffer(e, "array", new Float32Array([0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1])), f = this.isWebGL2(e) ? e.createVertexArray() : null, p = e.createFramebuffer();
|
|
4055
|
+
return { particle: s, screen: c, update: m, quadBuffer: g, frameBuffer: p, vertexArray: f };
|
|
4056
4056
|
}
|
|
4057
|
-
draw(e, a, i, o, r, l,
|
|
4058
|
-
var
|
|
4057
|
+
draw(e, a, i, o, r, l, s) {
|
|
4058
|
+
var c, m;
|
|
4059
4059
|
if (a && i) {
|
|
4060
|
-
e.resize(), a == null || a.viewport(0, 0, (
|
|
4060
|
+
e.resize(), a == null || a.viewport(0, 0, (c = a == null ? void 0 : a.canvas) == null ? void 0 : c.width, (m = a == null ? void 0 : a.canvas) == null ? void 0 : m.height), a.clearColor(0, 0, 0, 0), a.clear(a.COLOR_BUFFER_BIT | a.DEPTH_BUFFER_BIT);
|
|
4061
4061
|
try {
|
|
4062
4062
|
a.useProgram(i);
|
|
4063
4063
|
const d = {
|
|
@@ -4068,7 +4068,7 @@ class la {
|
|
|
4068
4068
|
uvRange: a.getUniformLocation(i, "u_range_u_v"),
|
|
4069
4069
|
sRange: a.getUniformLocation(i, "u_range_s")
|
|
4070
4070
|
};
|
|
4071
|
-
d.resolution && a.uniform2f(d.resolution, a.canvas.width * e.ratio, a.canvas.height * e.ratio), a.activeTexture(a.TEXTURE0), a.bindTexture(a.TEXTURE_2D, o), d.image && a.uniform1i(d.image, 0), a.activeTexture(a.TEXTURE1), a.bindTexture(a.TEXTURE_2D, r), d.color && a.uniform1i(d.color, 1),
|
|
4071
|
+
d.resolution && a.uniform2f(d.resolution, a.canvas.width * e.ratio, a.canvas.height * e.ratio), a.activeTexture(a.TEXTURE0), a.bindTexture(a.TEXTURE_2D, o), d.image && a.uniform1i(d.image, 0), a.activeTexture(a.TEXTURE1), a.bindTexture(a.TEXTURE_2D, r), d.color && a.uniform1i(d.color, 1), s != null && s.uvRange && (s != null && s.sRange) && (d.uvRange && a.uniform2f(d.uvRange, s.uvRange[0], s.uvRange[1]), d.sRange && a.uniform2f(d.sRange, s.sRange[0], s.sRange[1])), d.scale && a.uniform1f(d.scale, (s == null ? void 0 : s.scale) || 1);
|
|
4072
4072
|
const g = e.getBoundPixel(), f = e.map.getZoom() + 1, p = e.getWorldCopy(g, f);
|
|
4073
4073
|
for (const u of p) {
|
|
4074
4074
|
const h = (u[0] - g[0]) * e.ratio, y = (u[1] - g[3]) * e.ratio, z = u[2] * e.ratio, [L, A, _, M] = [h, z + h, y, z + y], C = new Float32Array([L, _, A, _, L, M, L, M, A, _, A, M]);
|
|
@@ -4098,11 +4098,11 @@ class la {
|
|
|
4098
4098
|
}
|
|
4099
4099
|
}
|
|
4100
4100
|
updateParticles(e, a, i, o, r = 0) {
|
|
4101
|
-
var
|
|
4101
|
+
var s, c;
|
|
4102
4102
|
if (a) {
|
|
4103
4103
|
a.bindFramebuffer(a.FRAMEBUFFER, i.frameBuffer), a.framebufferTexture2D(a.FRAMEBUFFER, a.COLOR_ATTACHMENT0, a.TEXTURE_2D, i.texture1, 0), a.viewport(0, 0, i.resolution, i.resolution), a.useProgram(i.update.program), this.isWebGL2(a) || (a.bindBuffer(a.ARRAY_BUFFER, i.quadBuffer), a.enableVertexAttribArray(i.update.a_pos), a.vertexAttribPointer(i.update.a_pos, 2, a.FLOAT, !1, 0, 0)), a.uniform1i(i.update.u_factor, 0), a.uniform1i(i.update.u_particles, 1);
|
|
4104
4104
|
const m = e.getBoundRange();
|
|
4105
|
-
if (a.uniform4f(i.update.u_viewport, m[0], m[1], m[2], m[3]), a.uniform1f(i.update.u_rand_seed, Math.random()), a.uniform2f(i.update.u_factor_res, (
|
|
4105
|
+
if (a.uniform4f(i.update.u_viewport, m[0], m[1], m[2], m[3]), a.uniform1f(i.update.u_rand_seed, Math.random()), a.uniform2f(i.update.u_factor_res, (s = i == null ? void 0 : i.image) == null ? void 0 : s.width, (c = i == null ? void 0 : i.image) == null ? void 0 : c.height), a.uniform2f(i.update.u_factor_min, o.uvRange[0], o.uvRange[0]), a.uniform2f(i.update.u_factor_max, o.uvRange[1], o.uvRange[1]), a.uniform1f(i.update.u_speed_factor, o.speedFactor * e.ratio), a.uniform1f(i.update.u_drop_rate, o.dropRate), a.uniform1f(i.update.u_drop_rate_bump, o.dropRateBump), i.lifecycleTexture0 && (a.uniform1i(i.update.u_lifecycle, 3), a.uniform1i(i.update.u_reset_lifecycle, i.resetLifecycle ? 1 : 0), a.uniform1f(i.update.u_delta_seconds, Number.isFinite(r) ? Math.max(0, r) : 0), a.uniform1i(i.update.u_write_lifecycle, 0)), a.drawArrays(a.TRIANGLES, 0, 6), i.lifecycleTexture0) {
|
|
4106
4106
|
a.framebufferTexture2D(a.FRAMEBUFFER, a.COLOR_ATTACHMENT0, a.TEXTURE_2D, i.lifecycleTexture1, 0), a.uniform1i(i.update.u_write_lifecycle, 1), a.drawArrays(a.TRIANGLES, 0, 6);
|
|
4107
4107
|
const d = i.lifecycleTexture0;
|
|
4108
4108
|
i.lifecycleTexture0 = i.lifecycleTexture1, i.lifecycleTexture1 = d, i.resetLifecycle = !1;
|
|
@@ -4117,29 +4117,29 @@ class la {
|
|
|
4117
4117
|
if ((i == null ? void 0 : i.screenWidth) === o && (i == null ? void 0 : i.screenHeight) === r)
|
|
4118
4118
|
return i;
|
|
4119
4119
|
i && (a.deleteTexture(i.screenTexture || null), a.deleteTexture(i.backgroundTexture || null));
|
|
4120
|
-
const l = this.createTexture(a, a.NEAREST, a.NEAREST, a.CLAMP_TO_EDGE, null, o, r),
|
|
4121
|
-
return { screenTexture: l, backgroundTexture:
|
|
4120
|
+
const l = this.createTexture(a, a.NEAREST, a.NEAREST, a.CLAMP_TO_EDGE, null, o, r), s = this.createTexture(a, a.NEAREST, a.NEAREST, a.CLAMP_TO_EDGE, null, o, r);
|
|
4121
|
+
return { screenTexture: l, backgroundTexture: s, screenWidth: o, screenHeight: r };
|
|
4122
4122
|
}
|
|
4123
4123
|
destroyParticle(e, a) {
|
|
4124
4124
|
var i, o, r, l;
|
|
4125
4125
|
if (!(!e || !a)) {
|
|
4126
4126
|
e.bindFramebuffer(e.FRAMEBUFFER, null), this.isWebGL2(e) && (e.bindVertexArray(null), e.deleteVertexArray(a.vertexArray || null));
|
|
4127
|
-
for (const
|
|
4128
|
-
e.deleteTexture(
|
|
4127
|
+
for (const s of [a.texture0, a.texture1, a.screenTexture, a.backgroundTexture, (i = a.color) == null ? void 0 : i.texture])
|
|
4128
|
+
e.deleteTexture(s || null);
|
|
4129
4129
|
a.lifecycleTexture0 && e.deleteTexture(a.lifecycleTexture0), a.lifecycleTexture1 && e.deleteTexture(a.lifecycleTexture1), e.deleteBuffer(a.indexBuffer || null), e.deleteBuffer(a.quadBuffer || null), e.deleteFramebuffer(a.frameBuffer || null);
|
|
4130
|
-
for (const
|
|
4131
|
-
e.deleteProgram(
|
|
4130
|
+
for (const s of [(o = a.particle) == null ? void 0 : o.program, (r = a.screen) == null ? void 0 : r.program, (l = a.update) == null ? void 0 : l.program])
|
|
4131
|
+
e.deleteProgram(s || null);
|
|
4132
4132
|
}
|
|
4133
4133
|
}
|
|
4134
4134
|
async loadImg(e) {
|
|
4135
4135
|
return new Promise((a, i) => {
|
|
4136
|
-
const o = typeof e != "string", r = o ? URL.createObjectURL(new Blob([e], { type: e.type })) : e, l = new Image(),
|
|
4136
|
+
const o = typeof e != "string", r = o ? URL.createObjectURL(new Blob([e], { type: e.type })) : e, l = new Image(), s = () => {
|
|
4137
4137
|
o && URL.revokeObjectURL(r), l.onload = l.onerror = null;
|
|
4138
4138
|
};
|
|
4139
4139
|
l.crossOrigin = "anonymous", l.onload = () => {
|
|
4140
|
-
|
|
4140
|
+
s(), a(l);
|
|
4141
4141
|
}, l.onerror = () => {
|
|
4142
|
-
|
|
4142
|
+
s(), i(new Error("Unable to load weather texture."));
|
|
4143
4143
|
}, l.src = r;
|
|
4144
4144
|
});
|
|
4145
4145
|
}
|
|
@@ -4659,13 +4659,13 @@ const Lc = {
|
|
|
4659
4659
|
else {
|
|
4660
4660
|
this.map.addSource(this.source, { type: "geojson", data: r });
|
|
4661
4661
|
for (let l = 0; l < (this.barbs ?? []).length - 1; l++) {
|
|
4662
|
-
const
|
|
4662
|
+
const s = (this.barbs ?? [])[l] || 0, c = (this.barbs ?? [])[l + 1] || 0, m = s < 10 ? `00${s}kts` : s < 100 ? `0${s}kts` : `${s}kts`, d = new Image(48, 48), g = (a = this.svgs[m].replace(/fill="#ffffff"/g, `fill="${this.color}"`)) == null ? void 0 : a.replace(/fill="#000623"/g, `fill="${this.color}"`);
|
|
4663
4663
|
d.src = "data:image/svg+xml;base64," + window.btoa(g), d.onload = () => {
|
|
4664
4664
|
this.map.hasImage(m + "-icon") ? this.map.updateImage(m + "-icon", d) : this.map.addImage(m + "-icon", d), this.map.getLayer(m) || this.map.addLayer(
|
|
4665
4665
|
{
|
|
4666
4666
|
id: m,
|
|
4667
4667
|
type: "symbol",
|
|
4668
|
-
filter: ["all", [">=", "spd",
|
|
4668
|
+
filter: ["all", [">=", "spd", s], ["<", "spd", c]],
|
|
4669
4669
|
source: this.source,
|
|
4670
4670
|
layout: {
|
|
4671
4671
|
"symbol-placement": "point",
|
|
@@ -5003,14 +5003,14 @@ const Tc = /* @__PURE__ */ le(Mc, [["render", Sc]]), Rc = {
|
|
|
5003
5003
|
},
|
|
5004
5004
|
this.beforeLayer
|
|
5005
5005
|
);
|
|
5006
|
-
const l = new Image(48, 48),
|
|
5006
|
+
const l = new Image(48, 48), s = `<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
5007
5007
|
<path d="M10 2.5V17.5" stroke="${this.color}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
5008
5008
|
<path d="M5 7.5L10 2.5L15 7.5" stroke="${this.color}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
5009
5009
|
</svg>`;
|
|
5010
|
-
l.src = "data:image/svg+xml;base64," + window.btoa(
|
|
5011
|
-
const
|
|
5010
|
+
l.src = "data:image/svg+xml;base64," + window.btoa(s);
|
|
5011
|
+
const c = [l];
|
|
5012
5012
|
let m = 0;
|
|
5013
|
-
|
|
5013
|
+
c.forEach((d) => {
|
|
5014
5014
|
d.onload = () => {
|
|
5015
5015
|
m++, this.map.hasImage("currentDirIcon") ? this.map.updateImage("currentDirIcon", l) : this.map.addImage("currentDirIcon", l), m === 1 && !this.map.getLayer(this.directionLayer) && this.map.addLayer(
|
|
5016
5016
|
{
|
|
@@ -5914,8 +5914,8 @@ const Jc = /* @__PURE__ */ le(Hc, [["render", Uc], ["__scopeId", "data-v-c034243
|
|
|
5914
5914
|
this.beforeLayer
|
|
5915
5915
|
);
|
|
5916
5916
|
const r = new Image(72, 72);
|
|
5917
|
-
let l = `<svg t="1752721890391" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="12518" width="200" height="200"><path d="M481.386772 959.514313 481.386772 334.713224c-56.000432 37.288255-92.523253 55.876612-142.312216 57.787124 85.834924-84.884272 130.528845-195.161888 172.552961-328.434218 40.259936 133.272329 89.39296 238.731196 172.622546 328.434218-54.105269-5.729491-86.780459-21.201881-146.338926-58.965973l0 625.979938L481.386772 959.514313z" p-id="12519" fill="${this.color}"></path></svg>`,
|
|
5918
|
-
r.src =
|
|
5917
|
+
let l = `<svg t="1752721890391" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="12518" width="200" height="200"><path d="M481.386772 959.514313 481.386772 334.713224c-56.000432 37.288255-92.523253 55.876612-142.312216 57.787124 85.834924-84.884272 130.528845-195.161888 172.552961-328.434218 40.259936 133.272329 89.39296 238.731196 172.622546 328.434218-54.105269-5.729491-86.780459-21.201881-146.338926-58.965973l0 625.979938L481.386772 959.514313z" p-id="12519" fill="${this.color}"></path></svg>`, s = "data:image/svg+xml;base64," + window.btoa(unescape(encodeURIComponent(l)));
|
|
5918
|
+
r.src = s, r.onload = () => {
|
|
5919
5919
|
this.map.hasImage("swellDirIconWhite") ? this.map.updateImage("swellDirIconWhite", r) : this.map.addImage("swellDirIconWhite", r), this.map.getLayer(this.directionLayer) || this.map.addLayer(
|
|
5920
5920
|
{
|
|
5921
5921
|
id: this.directionLayer,
|
|
@@ -7157,14 +7157,14 @@ const Sm = {
|
|
|
7157
7157
|
},
|
|
7158
7158
|
checkList: {
|
|
7159
7159
|
handler(t, e) {
|
|
7160
|
-
var a, i, o, r, l,
|
|
7161
|
-
this.handleCheckListChange(t, e), this.$emit("weatherCheckList", t), this.autoActive && this.checkList.length ? (o = (i = (a = this.$parent) == null ? void 0 : a.$refs) == null ? void 0 : i.idmBottomBar) == null || o.handleToggle("weather", !0) : (
|
|
7160
|
+
var a, i, o, r, l, s;
|
|
7161
|
+
this.handleCheckListChange(t, e), this.$emit("weatherCheckList", t), this.autoActive && this.checkList.length ? (o = (i = (a = this.$parent) == null ? void 0 : a.$refs) == null ? void 0 : i.idmBottomBar) == null || o.handleToggle("weather", !0) : (s = (l = (r = this.$parent) == null ? void 0 : r.$refs) == null ? void 0 : l.idmBottomBar) == null || s.handleToggle("weather", !1);
|
|
7162
7162
|
}
|
|
7163
7163
|
},
|
|
7164
7164
|
autoActive: {
|
|
7165
7165
|
handler(t) {
|
|
7166
7166
|
var e, a, i, o, r, l;
|
|
7167
|
-
localStorage.setItem(this.cache.autoActiveKey, this.autoActive), this.activeWeatherLayers = this.autoActive ? this.allLayers.filter((
|
|
7167
|
+
localStorage.setItem(this.cache.autoActiveKey, this.autoActive), this.activeWeatherLayers = this.autoActive ? this.allLayers.filter((s) => this.checkList.includes(s.key)) : [], this.handleWeatherLayerChange(), this.autoActive && this.checkList.length ? (i = (a = (e = this.$parent) == null ? void 0 : e.$refs) == null ? void 0 : a.idmBottomBar) == null || i.handleToggle("weather", !0) : (l = (r = (o = this.$parent) == null ? void 0 : o.$refs) == null ? void 0 : r.idmBottomBar) == null || l.handleToggle("weather", !1), this.$emit("autoActive", this.autoActive);
|
|
7168
7168
|
}
|
|
7169
7169
|
},
|
|
7170
7170
|
iceToggleValue: {
|
|
@@ -7240,15 +7240,15 @@ const Sm = {
|
|
|
7240
7240
|
handleCheckListChange(t, e) {
|
|
7241
7241
|
if (this.arraysEqual(t, e))
|
|
7242
7242
|
return this.handleMove4Weather(), !1;
|
|
7243
|
-
const a = [...new Set(t)], i = a == null ? void 0 : a.filter((l) => !(e != null && e.includes(l)))[0], o = e == null ? void 0 : e.filter((l) => !(a != null && a.includes(l)))[0], r = this.checkList.filter((l) => !this.rendersKeys.some((
|
|
7243
|
+
const a = [...new Set(t)], i = a == null ? void 0 : a.filter((l) => !(e != null && e.includes(l)))[0], o = e == null ? void 0 : e.filter((l) => !(a != null && a.includes(l)))[0], r = this.checkList.filter((l) => !this.rendersKeys.some((s) => s === l));
|
|
7244
7244
|
if (i)
|
|
7245
7245
|
if (i === "ice-cover" || i === "ice-thickness" || i === "ice-forecast")
|
|
7246
7246
|
this.checkList = [...r, "ice-forecast", this.iceToggleValue || "ice-cover"], this.iceToggleValue = this.iceToggleValue || "ice-cover";
|
|
7247
7247
|
else if (this.rendersKeys.includes(i))
|
|
7248
7248
|
this.checkList = [...r, i];
|
|
7249
7249
|
else {
|
|
7250
|
-
const l = a.filter((
|
|
7251
|
-
this.checkList = [...l, ...
|
|
7250
|
+
const l = a.filter((c) => !this.rendersKeys.includes(c)), s = this.checkList.filter((c) => this.rendersKeys.includes(c));
|
|
7251
|
+
this.checkList = [...l, ...s];
|
|
7252
7252
|
}
|
|
7253
7253
|
o && (o === "ice-forecast" ? (this.checkList = a.filter((l) => !["ice-cover", "ice-thickness", "ice-forecast"].includes(l)), this.iceToggleValue = void 0) : this.checkList = a), this.checkList.includes("wind-particle") && !(e != null && e.includes("wind-particle")) && (this.showWindParticle = !0), this.checkList.includes("current-particle") && !(e != null && e.includes("current-particle")) && (this.showCurrentParticle = !0), this.checkList.includes("sig-wave-particle") && !(e != null && e.includes("sig-wave-particle")) && (this.showSigWaveParticle = !0), this.checkList.includes("swell-particle") && !(e != null && e.includes("swell-particle")) && (this.showSwellParticle = !0), localStorage.setItem(this.cache.checkListKey, JSON.stringify(a)), this.activeWeatherLayers = this.autoActive ? this.allLayers.filter((l) => a.includes(l.key)) : [], this.handleWeatherLayerChange();
|
|
7254
7254
|
},
|
|
@@ -7262,7 +7262,7 @@ const Sm = {
|
|
|
7262
7262
|
(t == null ? void 0 : t.data.code) === 0 && (this.models = t == null ? void 0 : t.data.data);
|
|
7263
7263
|
},
|
|
7264
7264
|
async fetchWeatherLayers(t = {}) {
|
|
7265
|
-
var i, o, r, l,
|
|
7265
|
+
var i, o, r, l, s, c, m, d, g;
|
|
7266
7266
|
const e = (/* @__PURE__ */ new Date()).valueOf();
|
|
7267
7267
|
let a = 0;
|
|
7268
7268
|
if (this.map) {
|
|
@@ -7286,7 +7286,7 @@ const Sm = {
|
|
|
7286
7286
|
}
|
|
7287
7287
|
);
|
|
7288
7288
|
if ((/* @__PURE__ */ new Date()).valueOf() - (e + a), ((l = z == null ? void 0 : z.data) == null ? void 0 : l.code) === 0) {
|
|
7289
|
-
const L = (
|
|
7289
|
+
const L = (s = z == null ? void 0 : z.data) == null ? void 0 : s.data, A = [];
|
|
7290
7290
|
for (const M in L)
|
|
7291
7291
|
A.push(
|
|
7292
7292
|
Ee.get(L[M], {
|
|
@@ -7312,7 +7312,7 @@ const Sm = {
|
|
|
7312
7312
|
});
|
|
7313
7313
|
}
|
|
7314
7314
|
if ((/* @__PURE__ */ new Date()).valueOf() - (e + a), this.weatherLayers["current-direction"] || this.weatherLayers["current-speed"]) {
|
|
7315
|
-
const L = (
|
|
7315
|
+
const L = (c = this.weatherLayers["current-direction"]) == null ? void 0 : c.raw, A = (m = this.weatherLayers["current-speed"]) == null ? void 0 : m.raw;
|
|
7316
7316
|
delete this.weatherLayers["current-direction"], delete this.weatherLayers["current-speed"], this.weatherLayers.current = {
|
|
7317
7317
|
type: "json",
|
|
7318
7318
|
direction: L,
|
|
@@ -7351,7 +7351,7 @@ const Sm = {
|
|
|
7351
7351
|
t != null && t.sourceChanged || this.weatherWeight !== e ? (this.weatherWeight = e, this.fetchWeatherLayers()) : this.handleWeatherLayerToggle();
|
|
7352
7352
|
},
|
|
7353
7353
|
handleRampColorInitial() {
|
|
7354
|
-
var t, e, a, i, o, r, l,
|
|
7354
|
+
var t, e, a, i, o, r, l, s, c, m, d, g;
|
|
7355
7355
|
this.viewport.map.getSource((t = this.viewport) == null ? void 0 : t.rampColorSource) || this.viewport.map.addSource((e = this.viewport) == null ? void 0 : e.rampColorSource, {
|
|
7356
7356
|
type: "canvas",
|
|
7357
7357
|
canvas: (a = this.viewport) == null ? void 0 : a.rampColorCanvas,
|
|
@@ -7372,9 +7372,9 @@ const Sm = {
|
|
|
7372
7372
|
}
|
|
7373
7373
|
},
|
|
7374
7374
|
this.beforeLayer
|
|
7375
|
-
), this.viewport.map.getSource((l = this.viewport) == null ? void 0 : l.particleSource) || this.viewport.map.addSource((
|
|
7375
|
+
), this.viewport.map.getSource((l = this.viewport) == null ? void 0 : l.particleSource) || this.viewport.map.addSource((s = this.viewport) == null ? void 0 : s.particleSource, {
|
|
7376
7376
|
type: "canvas",
|
|
7377
|
-
canvas: (
|
|
7377
|
+
canvas: (c = this.viewport) == null ? void 0 : c.particleCanvas,
|
|
7378
7378
|
animate: !0,
|
|
7379
7379
|
coordinates: this.viewport.getBoundLngLat()
|
|
7380
7380
|
}), this.viewport.map.getLayer((m = this.viewport) == null ? void 0 : m.particleLayer) || this.viewport.map.addLayer(
|
|
@@ -7393,7 +7393,7 @@ const Sm = {
|
|
|
7393
7393
|
);
|
|
7394
7394
|
},
|
|
7395
7395
|
handleDrawWeather4Json() {
|
|
7396
|
-
var r, l,
|
|
7396
|
+
var r, l, s, c, m, d, g;
|
|
7397
7397
|
const t = (/* @__PURE__ */ new Date()).valueOf();
|
|
7398
7398
|
let e = 0, a = 0;
|
|
7399
7399
|
const i = (r = this.map) == null ? void 0 : r.getBounds(), o = (l = this.map) == null ? void 0 : l.getZoom();
|
|
@@ -7405,7 +7405,7 @@ const Sm = {
|
|
|
7405
7405
|
let L = [];
|
|
7406
7406
|
if (y === "current") {
|
|
7407
7407
|
z = !0;
|
|
7408
|
-
const A = ((
|
|
7408
|
+
const A = ((s = this.weatherLayers[y]) == null ? void 0 : s.direction) || {};
|
|
7409
7409
|
for (const M in A)
|
|
7410
7410
|
if (M > u && M < h && (!(o <= this.zoom) || M % (o < 2 ? 10 : o < 4 ? 5 : 3) === 0)) {
|
|
7411
7411
|
const C = A[M].lng;
|
|
@@ -7450,7 +7450,7 @@ const Sm = {
|
|
|
7450
7450
|
if (_) {
|
|
7451
7451
|
if (!_.data) {
|
|
7452
7452
|
const C = [];
|
|
7453
|
-
for (const S in (
|
|
7453
|
+
for (const S in (c = _.raw) == null ? void 0 : c.Polygon) {
|
|
7454
7454
|
const R = _.raw.Polygon[S];
|
|
7455
7455
|
for (const G of R)
|
|
7456
7456
|
C.push(
|
|
@@ -7651,11 +7651,11 @@ const Sm = {
|
|
|
7651
7651
|
return t.features.forEach((r) => {
|
|
7652
7652
|
if (r.geometry.type !== "Point")
|
|
7653
7653
|
if (i > o) {
|
|
7654
|
-
let l = [i, e._sw.lat, 180, e._ne.lat],
|
|
7655
|
-
|
|
7654
|
+
let l = [i, e._sw.lat, 180, e._ne.lat], s = W.bboxClip(r, l);
|
|
7655
|
+
s.geometry.coordinates.length && a.push(s), l = [-180, e._sw.lat, o, e._ne.lat], s = W.bboxClip(r, l), s.geometry.coordinates.length && a.push(s);
|
|
7656
7656
|
} else {
|
|
7657
|
-
const l = [i, e._sw.lat, o, e._ne.lat],
|
|
7658
|
-
|
|
7657
|
+
const l = [i, e._sw.lat, o, e._ne.lat], s = W.bboxClip(r, l);
|
|
7658
|
+
s.geometry.coordinates.length && a.push(s);
|
|
7659
7659
|
}
|
|
7660
7660
|
else
|
|
7661
7661
|
a.push(r);
|
|
@@ -7694,13 +7694,13 @@ const Sm = {
|
|
|
7694
7694
|
}, Qm = { class: "text-body-1 py-2" }, qm = { class: "text-body-1 font-weight-medium" }, $m = { class: "text-body-2 text-label" }, ed = { class: "text-body-2 text-label" }, td = { class: "text-body-2 text-label mb-3" }, ad = { class: "text-body-1 font-weight-medium" }, od = { class: "text-body-2 text-label" }, id = { class: "text-body-2 text-label" }, rd = { class: "text-body-2 text-label mb-3" }, ld = { class: "text-body-1 py-2" }, nd = { class: "text-body-1 font-weight-medium" }, sd = { class: "text-body-2 text-label" }, cd = { class: "text-body-2 text-label" }, md = { class: "text-body-2 text-label mb-3" }, dd = { class: "text-body-1 font-weight-medium" }, hd = { class: "text-body-2 text-label" }, ud = { class: "text-body-2 text-label" }, pd = { class: "text-body-2 text-label mb-3" }, gd = { class: "text-body-1 py-2" }, fd = { class: "text-body-1 font-weight-medium" }, yd = { class: "text-body-2 text-label" }, bd = { class: "text-body-2 text-label" }, wd = { class: "text-body-2 text-label mb-3" };
|
|
7695
7695
|
function xd(t, e, a, i, o, r) {
|
|
7696
7696
|
var E, $, ee, se, q, U, re, Z, J, we, Le, ze, ge, ke, Ce, We;
|
|
7697
|
-
const l = P("VBtn"),
|
|
7697
|
+
const l = P("VBtn"), s = P("VTooltip"), c = P("VCardText"), m = P("VDivider"), d = P("VCard"), g = P("VSwitch"), f = P("VBtnToggle"), p = P("VCardTitle"), u = P("VCardItem"), h = P("VCheckbox"), y = P("VRadio"), z = P("IdmWindBarb"), L = P("IdmSigWaveHeight"), A = P("IdmCurrentDirection"), _ = P("IdmSwellDirection"), M = P("IdmPrmsl"), C = P("IdmWindParticle"), S = P("IdmCurrentParticle"), R = P("IdmSigWaveParticle"), G = P("IdmSwellParticle"), j = P("IdmIceEdge"), F = P("IdmIceCover"), H = P("IdmIceThickness"), ae = P("IdmPrecip3h"), ne = P("IdmVisibility"), ce = P("IdmWaterTemp"), ve = P("IdmTemp");
|
|
7698
7698
|
return v(), D("div", Tm, [
|
|
7699
7699
|
n("div", {
|
|
7700
7700
|
class: "menu-bar-box transition pa-1",
|
|
7701
7701
|
style: pe({ top: a.top + a.paddingTop + 46 + "px", right: o.right + "px" })
|
|
7702
7702
|
}, [
|
|
7703
|
-
w(
|
|
7703
|
+
w(s, {
|
|
7704
7704
|
text: t.$t("weather.weatherLayers"),
|
|
7705
7705
|
location: "left",
|
|
7706
7706
|
interactive: !0,
|
|
@@ -7731,7 +7731,7 @@ function xd(t, e, a, i, o, r) {
|
|
|
7731
7731
|
class: fe(["menu-bar-box pa-1 rounded", a.simple ? "simple" : ""]),
|
|
7732
7732
|
style: pe({ right: o.right + "px", top: a.simple ? "394px" : r.lengendTipTop + "px" })
|
|
7733
7733
|
}, [
|
|
7734
|
-
w(
|
|
7734
|
+
w(s, {
|
|
7735
7735
|
text: t.$t("weather.legend"),
|
|
7736
7736
|
location: "left",
|
|
7737
7737
|
interactive: !0,
|
|
@@ -7764,7 +7764,7 @@ function xd(t, e, a, i, o, r) {
|
|
|
7764
7764
|
style: pe({ position: "absolute", top: a.simple ? "200px" : "340px", right: o.right + 50 + "px" })
|
|
7765
7765
|
}, {
|
|
7766
7766
|
default: x(() => [
|
|
7767
|
-
w(
|
|
7767
|
+
w(c, {
|
|
7768
7768
|
class: "d-flex flex-column justify-center align-start text-label px-1",
|
|
7769
7769
|
style: { width: "120px" }
|
|
7770
7770
|
}, {
|
|
@@ -7789,7 +7789,7 @@ function xd(t, e, a, i, o, r) {
|
|
|
7789
7789
|
__: [12]
|
|
7790
7790
|
}),
|
|
7791
7791
|
w(m, { vertical: "" }),
|
|
7792
|
-
w(
|
|
7792
|
+
w(c, {
|
|
7793
7793
|
class: "d-flex flex-column justify-center align-start text-label px-2",
|
|
7794
7794
|
style: { width: "100px" }
|
|
7795
7795
|
}, {
|
|
@@ -7814,7 +7814,7 @@ function xd(t, e, a, i, o, r) {
|
|
|
7814
7814
|
__: [13]
|
|
7815
7815
|
}),
|
|
7816
7816
|
w(m, { vertical: "" }),
|
|
7817
|
-
w(
|
|
7817
|
+
w(c, {
|
|
7818
7818
|
class: "d-flex flex-column justify-center align-start text-label pl-0 pr-2",
|
|
7819
7819
|
style: { width: "100px" }
|
|
7820
7820
|
}, {
|
|
@@ -7940,7 +7940,7 @@ function xd(t, e, a, i, o, r) {
|
|
|
7940
7940
|
]),
|
|
7941
7941
|
_: 1
|
|
7942
7942
|
}),
|
|
7943
|
-
w(
|
|
7943
|
+
w(c, { class: "py-2 mx-n1" }, {
|
|
7944
7944
|
default: x(() => [
|
|
7945
7945
|
(v(!0), D(Me, null, Se(o.tagLayers.filter((ie) => ie.overlays), (ie) => (v(), B(h, {
|
|
7946
7946
|
key: ie.key,
|
|
@@ -7977,7 +7977,7 @@ function xd(t, e, a, i, o, r) {
|
|
|
7977
7977
|
]),
|
|
7978
7978
|
_: 1
|
|
7979
7979
|
}),
|
|
7980
|
-
w(
|
|
7980
|
+
w(c, { class: "py-2 mx-n1" }, {
|
|
7981
7981
|
default: x(() => [
|
|
7982
7982
|
(v(!0), D(Me, null, Se(o.tagLayers.filter((ie) => !ie.overlays), (ie) => (v(), D(Me, {
|
|
7983
7983
|
key: ie.key
|
|
@@ -8120,7 +8120,7 @@ function xd(t, e, a, i, o, r) {
|
|
|
8120
8120
|
]),
|
|
8121
8121
|
_: 1
|
|
8122
8122
|
}),
|
|
8123
|
-
w(
|
|
8123
|
+
w(c, { class: "" }, {
|
|
8124
8124
|
default: x(() => {
|
|
8125
8125
|
var ie, ye, $e, et, Je, Be, tt, Oe, He, Ke, at, ot, Qe, Re, De, je, it, rt, lt, Ve, bt, wt, xt, vt, At, kt, Lt, zt, _t, Ct, Mt, Pt, St, Tt, Rt, Dt, It, Et, Ft, Gt, Bt, jt, Nt, Wt, Zt, Vt, Xt, Ot, Ht, Yt, Ut, Jt, Kt, Qt, qt, $t, ea, ta, aa, Xe, Ye, oa, nt, ia, gt, Ie, st, ue, Fe, oe, te, ct, qe, Ze, K, ra, me, Ge, mt, ft, yt, X, dt, Q, ht, na, be, ga, xe, va, Aa, ka, La, za, _a, Ca, Ma, Pa, Sa, Ta, Ra, Da, Ia, Ea, Fa;
|
|
8126
8126
|
return [
|
|
@@ -8591,21 +8591,21 @@ let gr = class {
|
|
|
8591
8591
|
var a, i;
|
|
8592
8592
|
e = e == null ? void 0 : e.toLowerCase(), e = e === "ec" ? "ecmwf" : e;
|
|
8593
8593
|
const o = e.toLowerCase().split(","), r = [], l = [];
|
|
8594
|
-
for (const
|
|
8595
|
-
let
|
|
8594
|
+
for (const s of o) {
|
|
8595
|
+
let c = Ga.find((d) => {
|
|
8596
8596
|
var g, f, p;
|
|
8597
|
-
return ((g = d.models) == null ? void 0 : g.includes(
|
|
8597
|
+
return ((g = d.models) == null ? void 0 : g.includes(s)) || ((f = d.alias) == null ? void 0 : f.toLowerCase()) === s || ((p = d.name) == null ? void 0 : p.toLowerCase()) === s;
|
|
8598
8598
|
}), m = Ba.find((d) => {
|
|
8599
8599
|
var g, f, p;
|
|
8600
|
-
return ((g = d.models) == null ? void 0 : g.includes(
|
|
8600
|
+
return ((g = d.models) == null ? void 0 : g.includes(s)) || ((f = d.alias) == null ? void 0 : f.toLowerCase()) === s || ((p = d.name) == null ? void 0 : p.toLowerCase()) === s;
|
|
8601
8601
|
});
|
|
8602
|
-
|
|
8602
|
+
c = c || Ga.find((d) => {
|
|
8603
8603
|
var g, f;
|
|
8604
8604
|
return ((g = d.alias) == null ? void 0 : g.toLowerCase()) === ((f = m == null ? void 0 : m.alias) == null ? void 0 : f.toLowerCase());
|
|
8605
8605
|
}), m = m || Ba.find((d) => {
|
|
8606
8606
|
var g, f;
|
|
8607
|
-
return ((g = d.alias) == null ? void 0 : g.toLowerCase()) === ((f =
|
|
8608
|
-
}),
|
|
8607
|
+
return ((g = d.alias) == null ? void 0 : g.toLowerCase()) === ((f = c == null ? void 0 : c.alias) == null ? void 0 : f.toLowerCase());
|
|
8608
|
+
}), c = c || Ga[0], m = m || Ba[0], r.push((a = c.models) != null && a.includes(s) ? s : c.model), l.push((i = m.models) != null && i.includes(s) ? s : m.model);
|
|
8609
8609
|
}
|
|
8610
8610
|
return {
|
|
8611
8611
|
weatherModels: r.join(","),
|
|
@@ -8622,10 +8622,10 @@ let gr = class {
|
|
|
8622
8622
|
}), o;
|
|
8623
8623
|
}
|
|
8624
8624
|
static pickHourly(e, a) {
|
|
8625
|
-
var i, o, r, l,
|
|
8625
|
+
var i, o, r, l, s, c, m, d, g, f, p, u, h, y, z, L, A, _, M, C, S, R, G, j, F, H, ae, ne, ce, ve, E, $, ee, se, q, U, re, Z, J, we, Le, ze, ge, ke, Ce, We, ie, ye, $e, et, Je, Be, tt, Oe, He, Ke, at, ot, Qe, Re, De, je, it, rt, lt, Ve, bt, wt, xt, vt, At, kt, Lt, zt, _t, Ct, Mt, Pt, St, Tt, Rt, Dt, It, Et, Ft, Gt, Bt, jt, Nt, Wt, Zt, Vt, Xt, Ot, Ht, Yt, Ut, Jt, Kt, Qt, qt, $t, ea, ta, aa, Xe, Ye, oa, nt, ia, gt, Ie, st;
|
|
8626
8626
|
const ue = typeof a == "string" ? T(a) : a;
|
|
8627
8627
|
let Fe = ue.clone();
|
|
8628
|
-
const oe = e == null ? void 0 : e.weather, te = e == null ? void 0 : e.marine, ct = ((o = (i = oe == null ? void 0 : oe[0]) == null ? void 0 : i.hourly) == null ? void 0 : o.date) || ((l = (r = te == null ? void 0 : te[0]) == null ? void 0 : r.hourly) == null ? void 0 : l.date), qe = T.utc(ct), Ze = qe.clone().add(((m = (
|
|
8628
|
+
const oe = e == null ? void 0 : e.weather, te = e == null ? void 0 : e.marine, ct = ((o = (i = oe == null ? void 0 : oe[0]) == null ? void 0 : i.hourly) == null ? void 0 : o.date) || ((l = (r = te == null ? void 0 : te[0]) == null ? void 0 : r.hourly) == null ? void 0 : l.date), qe = T.utc(ct), Ze = qe.clone().add(((m = (c = (s = oe == null ? void 0 : oe[0]) == null ? void 0 : s.hourly) == null ? void 0 : c.time) == null ? void 0 : m.at(0)) || ((f = (g = (d = te == null ? void 0 : te[0]) == null ? void 0 : d.hourly) == null ? void 0 : g.time) == null ? void 0 : f.at(0)), "h"), K = qe.clone().add(((h = (u = (p = oe == null ? void 0 : oe[0]) == null ? void 0 : p.hourly) == null ? void 0 : u.time) == null ? void 0 : h.at(-1)) || ((L = (z = (y = te == null ? void 0 : te[0]) == null ? void 0 : y.hourly) == null ? void 0 : z.time) == null ? void 0 : L.at(-1)), "h"), ra = [];
|
|
8629
8629
|
Fe = Fe.isBefore(Ze) ? Ze.clone() : Fe, Fe = Fe.isAfter(K) ? K.clone() : Fe;
|
|
8630
8630
|
const me = Fe.utc().diff(Ze, "h", !1);
|
|
8631
8631
|
let Ge, mt;
|
|
@@ -8725,16 +8725,16 @@ let gr = class {
|
|
|
8725
8725
|
return ra;
|
|
8726
8726
|
}
|
|
8727
8727
|
static toLegacy(e) {
|
|
8728
|
-
var a, i, o, r, l,
|
|
8728
|
+
var a, i, o, r, l, s, c, m, d, g;
|
|
8729
8729
|
return {
|
|
8730
8730
|
wind: (a = e == null ? void 0 : e.weather) == null ? void 0 : a.wind,
|
|
8731
8731
|
visibility: (i = e == null ? void 0 : e.weather) == null ? void 0 : i.visibility,
|
|
8732
8732
|
temp: (o = e == null ? void 0 : e.weather) == null ? void 0 : o.temp,
|
|
8733
8733
|
prmsl: (r = e == null ? void 0 : e.weather) == null ? void 0 : r.pmsl,
|
|
8734
8734
|
gusts: {
|
|
8735
|
-
kts: (
|
|
8735
|
+
kts: (s = (l = e == null ? void 0 : e.weather) == null ? void 0 : l.wind) == null ? void 0 : s.gusts
|
|
8736
8736
|
},
|
|
8737
|
-
precip: (
|
|
8737
|
+
precip: (c = e == null ? void 0 : e.weather) == null ? void 0 : c.precip,
|
|
8738
8738
|
code: (m = e == null ? void 0 : e.weather) == null ? void 0 : m.code,
|
|
8739
8739
|
name: (d = e == null ? void 0 : e.weather) == null ? void 0 : d.name,
|
|
8740
8740
|
url: (g = e == null ? void 0 : e.weather) == null ? void 0 : g.url,
|
|
@@ -8748,10 +8748,10 @@ let gr = class {
|
|
|
8748
8748
|
};
|
|
8749
8749
|
}
|
|
8750
8750
|
static pickDaily(e, a) {
|
|
8751
|
-
var i, o, r, l,
|
|
8751
|
+
var i, o, r, l, s, c, m, d, g, f, p, u, h, y, z, L, A, _, M, C, S, R, G, j, F, H, ae, ne, ce, ve, E, $, ee, se, q, U, re, Z, J, we, Le, ze, ge, ke, Ce, We, ie, ye, $e, et, Je, Be, tt, Oe, He, Ke, at, ot, Qe, Re, De, je, it, rt, lt, Ve, bt, wt, xt, vt, At, kt, Lt, zt, _t, Ct, Mt, Pt, St, Tt, Rt, Dt, It, Et, Ft, Gt, Bt, jt, Nt, Wt, Zt, Vt, Xt, Ot, Ht, Yt, Ut, Jt, Kt, Qt, qt, $t, ea, ta;
|
|
8752
8752
|
const aa = typeof a == "string" ? T(a) : a;
|
|
8753
8753
|
let Xe = aa.clone();
|
|
8754
|
-
const Ye = e == null ? void 0 : e.weather, oa = e == null ? void 0 : e.marine, nt = T((r = (o = (i = Ye == null ? void 0 : Ye[0]) == null ? void 0 : i.daily) == null ? void 0 : o.time) == null ? void 0 : r.at(0)), ia = T((
|
|
8754
|
+
const Ye = e == null ? void 0 : e.weather, oa = e == null ? void 0 : e.marine, nt = T((r = (o = (i = Ye == null ? void 0 : Ye[0]) == null ? void 0 : i.daily) == null ? void 0 : o.time) == null ? void 0 : r.at(0)), ia = T((c = (s = (l = Ye == null ? void 0 : Ye[0]) == null ? void 0 : l.daily) == null ? void 0 : s.time) == null ? void 0 : c.at(-1)), gt = [];
|
|
8755
8755
|
Xe = Xe.isBefore(nt) ? nt.clone() : Xe, Xe = Xe.isAfter(ia) ? ia.clone() : Xe;
|
|
8756
8756
|
let Ie, st;
|
|
8757
8757
|
const ue = Xe.diff(nt, "d", !1);
|
|
@@ -9368,8 +9368,8 @@ const Ad = {
|
|
|
9368
9368
|
return (t, e, a = "MM-DD HH:mm") => {
|
|
9369
9369
|
var i, o;
|
|
9370
9370
|
if (t) {
|
|
9371
|
-
const r = e || 0, l = (o = (i = T(t)) == null ? void 0 : i.utcOffset(r)) == null ? void 0 : o.format(a),
|
|
9372
|
-
return l + " " +
|
|
9371
|
+
const r = e || 0, l = (o = (i = T(t)) == null ? void 0 : i.utcOffset(r)) == null ? void 0 : o.format(a), s = `(UTC ${r >= 0 ? "+" : ""}${r})`;
|
|
9372
|
+
return l + " " + s;
|
|
9373
9373
|
}
|
|
9374
9374
|
return "-";
|
|
9375
9375
|
};
|
|
@@ -9446,15 +9446,15 @@ const Ad = {
|
|
|
9446
9446
|
async fetchTropicals() {
|
|
9447
9447
|
var o, r, l;
|
|
9448
9448
|
const t = (/* @__PURE__ */ new Date()).valueOf();
|
|
9449
|
-
let e = 0, a = 0, i = (o = qa.WEATHER_LAYERS.find((
|
|
9449
|
+
let e = 0, a = 0, i = (o = qa.WEATHER_LAYERS.find((s) => s.key === "tropicals")) == null ? void 0 : o.weight;
|
|
9450
9450
|
if (i > 0) {
|
|
9451
|
-
const
|
|
9451
|
+
const s = this.assistGateway[Math.round(Math.random() * (this.assistGateway.length - 1))], c = await Ee.get(`${s}/api/arc/weather/layers2/links?l=${i}&v=${this.forecastModel}&t=${this.realTime}`, {
|
|
9452
9452
|
headers: {
|
|
9453
9453
|
Authorization: this.defaultMeteoToken
|
|
9454
9454
|
}
|
|
9455
9455
|
});
|
|
9456
|
-
if (a = (/* @__PURE__ */ new Date()).valueOf() - (t + e), console.log("weather links elapsed: ", a, ", total: ", e += a), ((r =
|
|
9457
|
-
const m = (l =
|
|
9456
|
+
if (a = (/* @__PURE__ */ new Date()).valueOf() - (t + e), console.log("weather links elapsed: ", a, ", total: ", e += a), ((r = c == null ? void 0 : c.data) == null ? void 0 : r.code) === 0) {
|
|
9457
|
+
const m = (l = c == null ? void 0 : c.data) == null ? void 0 : l.data;
|
|
9458
9458
|
await Ee.get(m.tropicals, {
|
|
9459
9459
|
headers: {
|
|
9460
9460
|
Authorization: this.defaultMeteoToken,
|
|
@@ -9469,7 +9469,7 @@ const Ad = {
|
|
|
9469
9469
|
active: !0,
|
|
9470
9470
|
cached: !0,
|
|
9471
9471
|
type: "json",
|
|
9472
|
-
etime:
|
|
9472
|
+
etime: c.data.etime,
|
|
9473
9473
|
version: Math.random() + 1
|
|
9474
9474
|
});
|
|
9475
9475
|
}).catch((d) => {
|
|
@@ -9482,13 +9482,13 @@ const Ad = {
|
|
|
9482
9482
|
handleRefresh() {
|
|
9483
9483
|
var e, a;
|
|
9484
9484
|
(((a = (e = this.tropicals) == null ? void 0 : e.data) == null ? void 0 : a.features) || []).forEach((i) => {
|
|
9485
|
-
var r, l,
|
|
9485
|
+
var r, l, s, c, m, d, g, f, p, u, h, y, z, L, A, _, M, C, S;
|
|
9486
9486
|
let o = "";
|
|
9487
9487
|
switch (!0) {
|
|
9488
9488
|
case (((r = i.properties.wind) == null ? void 0 : r.kts) < 32 || ((l = i.properties) == null ? void 0 : l.kts) < 32):
|
|
9489
9489
|
o = "td";
|
|
9490
9490
|
break;
|
|
9491
|
-
case (((
|
|
9491
|
+
case (((s = i.properties.wind) == null ? void 0 : s.kts) < 47 || ((c = i.properties) == null ? void 0 : c.kts) < 47):
|
|
9492
9492
|
o = "ts";
|
|
9493
9493
|
break;
|
|
9494
9494
|
case (((m = i.properties.wind) == null ? void 0 : m.kts) < 63 || ((d = i.properties) == null ? void 0 : d.kts) < 63):
|
|
@@ -9511,11 +9511,11 @@ const Ad = {
|
|
|
9511
9511
|
}), this.handleInit();
|
|
9512
9512
|
},
|
|
9513
9513
|
handleInit() {
|
|
9514
|
-
var t, e, a, i, o, r, l,
|
|
9515
|
-
this.handleClear(), this.tropicals && this.map && (this.handleRender(), (t = this.map) == null || t.on("click", this.clickLayers, this.handleClick), (e = this.map) == null || e.on("mousemove", this.hoverLayers, this.handleHover), (a = this.map) == null || a.on("mouseleave", this.hoverLayers, this.handleLeave)), ((r = (o = (i = this.tropicals) == null ? void 0 : i.data) == null ? void 0 : o.features) == null ? void 0 : r.length) > 0 ? (
|
|
9514
|
+
var t, e, a, i, o, r, l, s, c, m, d, g;
|
|
9515
|
+
this.handleClear(), this.tropicals && this.map && (this.handleRender(), (t = this.map) == null || t.on("click", this.clickLayers, this.handleClick), (e = this.map) == null || e.on("mousemove", this.hoverLayers, this.handleHover), (a = this.map) == null || a.on("mouseleave", this.hoverLayers, this.handleLeave)), ((r = (o = (i = this.tropicals) == null ? void 0 : i.data) == null ? void 0 : o.features) == null ? void 0 : r.length) > 0 ? (c = (s = (l = this.$parent) == null ? void 0 : l.$refs) == null ? void 0 : s.idmBottomBar) == null || c.handleToggle("tropical", !0) : (g = (d = (m = this.$parent) == null ? void 0 : m.$refs) == null ? void 0 : d.idmBottomBar) == null || g.handleToggle("tropical", !1);
|
|
9516
9516
|
},
|
|
9517
9517
|
handleRender() {
|
|
9518
|
-
var t, e, a, i, o, r, l,
|
|
9518
|
+
var t, e, a, i, o, r, l, s, c, m;
|
|
9519
9519
|
if (this.tropicals && this.map) {
|
|
9520
9520
|
const d = (/* @__PURE__ */ new Date()).valueOf();
|
|
9521
9521
|
let g = 0, f = 0;
|
|
@@ -9609,9 +9609,9 @@ const Ad = {
|
|
|
9609
9609
|
}
|
|
9610
9610
|
},
|
|
9611
9611
|
this.beforeLayer
|
|
9612
|
-
), f = (/* @__PURE__ */ new Date()).valueOf() - (d + g), console.log("[tropical] add elapsed: ", f, ", total: ", g += f)), (r = this.map) != null && r.getSource(this.clusterSource) ? ((
|
|
9612
|
+
), f = (/* @__PURE__ */ new Date()).valueOf() - (d + g), console.log("[tropical] add elapsed: ", f, ", total: ", g += f)), (r = this.map) != null && r.getSource(this.clusterSource) ? ((s = this.map) == null || s.getSource(this.clusterSource).setData((l = this.tropicals) != null && l.active ? this.tropicals.data : this.empty), f = (/* @__PURE__ */ new Date()).valueOf() - (d + g), console.log("[tropical] update elapsed: ", f, ", total: ", g += f)) : (this.map.addSource(this.clusterSource, {
|
|
9613
9613
|
type: "geojson",
|
|
9614
|
-
data: (
|
|
9614
|
+
data: (c = this.tropicals) != null && c.active ? (m = this.tropicals) == null ? void 0 : m.data : this.empty
|
|
9615
9615
|
// cluster: true,
|
|
9616
9616
|
// clusterRadius: 10, // 聚合半径
|
|
9617
9617
|
}), this.map.addLayer(
|
|
@@ -9759,7 +9759,7 @@ const Ad = {
|
|
|
9759
9759
|
this.map && (this.map.getLayer(this.historyLayer) && this.map.removeLayer(this.historyLayer), this.map.getLayer(this.forecastLayer) && this.map.removeLayer(this.forecastLayer), this.map.getLayer(this.forecastModelLayer) && this.map.removeLayer(this.forecastModelLayer), this.map.getLayer(this.forecastNameLayer) && this.map.removeLayer(this.forecastNameLayer), this.map.getLayer(this.pointCircleLayer) && this.map.removeLayer(this.pointCircleLayer), this.map.getLayer(this.pointCircleLayer + "-border") && this.map.removeLayer(this.pointCircleLayer + "-border"), this.map.getLayer(this.pointLabelLayer) && this.map.removeLayer(this.pointLabelLayer), this.map.getLayer(this.historyPointCircleLayer) && this.map.removeLayer(this.historyPointCircleLayer), this.map.getLayer(this.historyPointCircleLayer + "-border") && this.map.removeLayer(this.historyPointCircleLayer + "-border"), this.map.getLayer(this.historyPointCircleLayer + "-inner") && this.map.removeLayer(this.historyPointCircleLayer + "-inner"), this.map.getLayer(this.historyPointLabelLayer) && this.map.removeLayer(this.historyPointLabelLayer), this.map.getLayer(this.interpolateLineLayer) && this.map.removeLayer(this.interpolateLineLayer), (t = this.interpolateMarkers) == null || t.forEach((o) => o == null ? void 0 : o.remove()), this.map.getSource(this.source) && this.map.removeSource(this.source), this.map.getSource(this.clusterSource) && this.map.removeSource(this.clusterSource), this.map.getSource(this.interpolateSource) && this.map.removeSource(this.interpolateSource)), (e = this.map) == null || e.off("click", this.clickLayers, this.handleClick), (a = this.map) == null || a.off("mousemove", this.hoverLayers, this.handleHover), (i = this.map) == null || i.off("mouseleave", this.hoverLayers, this.handleLeave), this.handleCloseInfoMarker();
|
|
9760
9760
|
},
|
|
9761
9761
|
handleDateChange() {
|
|
9762
|
-
var t, e, a, i, o, r, l,
|
|
9762
|
+
var t, e, a, i, o, r, l, s, c, m, d, g, f, p, u, h, y, z, L, A, _, M, C, S, R, G, j, F, H, ae, ne, ce, ve, E, $;
|
|
9763
9763
|
if ((t = this.interpolateMarkers) == null || t.forEach((ee) => ee == null ? void 0 : ee.remove()), (e = this.interpolateData) != null && e.length && this.tropicals.active) {
|
|
9764
9764
|
const ee = T(this.realTime).utc().set({ minute: 0, second: 0, millisecond: 0 }), se = this.interpolateData.filter((Z) => Z.properties.date === (ee == null ? void 0 : ee.format()) && !Z.properties.disabled), q = this.handleComputePolygons(se), U = W.featureCollection([...se]);
|
|
9765
9765
|
q.forEach((Z) => {
|
|
@@ -9796,10 +9796,10 @@ const Ad = {
|
|
|
9796
9796
|
var ke;
|
|
9797
9797
|
return ge.properties.name === ((ke = Z.properties) == null ? void 0 : ke.name);
|
|
9798
9798
|
})) {
|
|
9799
|
-
const ge = ((
|
|
9799
|
+
const ge = ((s = (l = this.tropicals.data.features.find((ke) => {
|
|
9800
9800
|
var Ce;
|
|
9801
9801
|
return ke.properties.name === ((Ce = Z.properties) == null ? void 0 : Ce.name);
|
|
9802
|
-
})) == null ? void 0 : l.properties) == null ? void 0 :
|
|
9802
|
+
})) == null ? void 0 : l.properties) == null ? void 0 : s.nameCn) || ((c = Z.properties) == null ? void 0 : c.Name) || "-";
|
|
9803
9803
|
Z.properties.nameCn = ge, Z.properties.Name = ((d = (m = Z.properties.name) == null ? void 0 : m.trim()) == null ? void 0 : d.replace(/^./, (ke) => ke.toUpperCase())) || Z.properties.nameCn, re.push(Z);
|
|
9804
9804
|
}
|
|
9805
9805
|
let J = this.Theme.current.value.colors["tropicals-ty"];
|
|
@@ -9828,20 +9828,20 @@ const Ad = {
|
|
|
9828
9828
|
(E = this.map) != null && E.getSource(this.interpolateSource) && (($ = this.map) == null || $.getSource(this.interpolateSource).setData(this.empty));
|
|
9829
9829
|
},
|
|
9830
9830
|
handleClick(t) {
|
|
9831
|
-
var o, r, l,
|
|
9831
|
+
var o, r, l, s, c, m, d, g, f, p, u;
|
|
9832
9832
|
const e = t.features[0], a = (r = (o = this.tropicals) == null ? void 0 : o.data) == null ? void 0 : r.features.filter(
|
|
9833
9833
|
(h) => {
|
|
9834
9834
|
var y;
|
|
9835
9835
|
return h.geometry.type === "LineString" && h.properties.type === "forecast" && h.properties.name === ((y = e == null ? void 0 : e.properties) == null ? void 0 : y.name);
|
|
9836
9836
|
}
|
|
9837
|
-
), i = (
|
|
9837
|
+
), i = (s = (l = this.tropicals) == null ? void 0 : l.data) == null ? void 0 : s.features.filter(
|
|
9838
9838
|
(h) => {
|
|
9839
9839
|
var y;
|
|
9840
9840
|
return h.geometry.type === "LineString" && h.properties.type === "history" && h.properties.name === ((y = e == null ? void 0 : e.properties) == null ? void 0 : y.name);
|
|
9841
9841
|
}
|
|
9842
9842
|
);
|
|
9843
9843
|
this.activeTropicals = {
|
|
9844
|
-
name: ((
|
|
9844
|
+
name: ((c = e == null ? void 0 : e.properties) == null ? void 0 : c.name) || "-",
|
|
9845
9845
|
nameCn: ((m = e == null ? void 0 : e.properties) == null ? void 0 : m.nameCn) || ((d = e == null ? void 0 : e.properties) == null ? void 0 : d.name) || "-",
|
|
9846
9846
|
Name: ((g = e == null ? void 0 : e.properties) == null ? void 0 : g.Name) || "-",
|
|
9847
9847
|
forecasts: a.map((h) => h.properties),
|
|
@@ -9862,14 +9862,14 @@ const Ad = {
|
|
|
9862
9862
|
});
|
|
9863
9863
|
},
|
|
9864
9864
|
handleForecastToggle(t) {
|
|
9865
|
-
var i, o, r, l,
|
|
9865
|
+
var i, o, r, l, s, c;
|
|
9866
9866
|
t.disabled = !t.disabled;
|
|
9867
9867
|
const e = `${t.name}-${t.model}`, a = (o = (i = this.map) == null ? void 0 : i.getSource(this.source)._data) == null ? void 0 : o.features;
|
|
9868
9868
|
a.forEach((m) => {
|
|
9869
9869
|
m.properties.category === e && (m.properties.disabled = t.disabled);
|
|
9870
9870
|
}), this.interpolateData.forEach((m) => {
|
|
9871
9871
|
m.properties.category === e && (m.properties.disabled = t.disabled);
|
|
9872
|
-
}), (l = (r = this.map) == null ? void 0 : r.getSource(this.source)) == null || l.setData(W.featureCollection(a)), (
|
|
9872
|
+
}), (l = (r = this.map) == null ? void 0 : r.getSource(this.source)) == null || l.setData(W.featureCollection(a)), (c = (s = this.map) == null ? void 0 : s.getSource(this.clusterSource)) == null || c.setData(W.featureCollection(a)), this.handleDateChange();
|
|
9873
9873
|
},
|
|
9874
9874
|
handleStrikeProbability(t) {
|
|
9875
9875
|
this.$emit("tropicalProbability", t);
|
|
@@ -9895,8 +9895,8 @@ const Ad = {
|
|
|
9895
9895
|
se: i.r10se >= 0 ? i.r10se : void 0,
|
|
9896
9896
|
sw: i.r10sw >= 0 ? i.r10sw : void 0,
|
|
9897
9897
|
nw: i.r10nw >= 0 ? i.r10nw : void 0
|
|
9898
|
-
},
|
|
9899
|
-
e.push(
|
|
9898
|
+
}, s = this.handleComputeArc(a.geometry.coordinates, l, { ...a.properties, level: 10 });
|
|
9899
|
+
e.push(s);
|
|
9900
9900
|
}
|
|
9901
9901
|
return e;
|
|
9902
9902
|
},
|
|
@@ -9904,23 +9904,23 @@ const Ad = {
|
|
|
9904
9904
|
var r;
|
|
9905
9905
|
const i = [];
|
|
9906
9906
|
for (const l in e) {
|
|
9907
|
-
const
|
|
9908
|
-
let
|
|
9907
|
+
const s = e[l] ?? 0;
|
|
9908
|
+
let c;
|
|
9909
9909
|
switch (l) {
|
|
9910
9910
|
case "ne":
|
|
9911
|
-
|
|
9911
|
+
c = W.lineArc(t, s, 0, 90, { steps: s > 0 ? 32 : 1, units: "nauticalmiles" });
|
|
9912
9912
|
break;
|
|
9913
9913
|
case "se":
|
|
9914
|
-
|
|
9914
|
+
c = W.lineArc(t, s, 90, 180, { steps: s > 0 ? 32 : 1, units: "nauticalmiles" });
|
|
9915
9915
|
break;
|
|
9916
9916
|
case "sw":
|
|
9917
|
-
|
|
9917
|
+
c = W.lineArc(t, s, 180, 270, { steps: s > 0 ? 32 : 1, units: "nauticalmiles" });
|
|
9918
9918
|
break;
|
|
9919
9919
|
case "nw":
|
|
9920
|
-
|
|
9920
|
+
c = W.lineArc(t, s, 270, 360, { steps: s > 0 ? 32 : 1, units: "nauticalmiles" });
|
|
9921
9921
|
break;
|
|
9922
9922
|
}
|
|
9923
|
-
i.push(...(r =
|
|
9923
|
+
i.push(...(r = c == null ? void 0 : c.geometry) == null ? void 0 : r.coordinates);
|
|
9924
9924
|
}
|
|
9925
9925
|
const o = W.lineString(i);
|
|
9926
9926
|
return W.lineToPolygon(o, { properties: a });
|
|
@@ -9929,7 +9929,7 @@ const Ad = {
|
|
|
9929
9929
|
this.$emit("tropicalNotification", t);
|
|
9930
9930
|
},
|
|
9931
9931
|
handleHover(t) {
|
|
9932
|
-
var o, r, l,
|
|
9932
|
+
var o, r, l, s, c;
|
|
9933
9933
|
this.map.getCanvas().style.cursor = "pointer";
|
|
9934
9934
|
const a = this.map.queryRenderedFeatures(t.point, {
|
|
9935
9935
|
layers: [
|
|
@@ -9947,7 +9947,7 @@ const Ad = {
|
|
|
9947
9947
|
return m.geometry.type === "LineString" && m.properties.type === "forecast" && m.properties.name === ((d = a == null ? void 0 : a.properties) == null ? void 0 : d.name);
|
|
9948
9948
|
}
|
|
9949
9949
|
);
|
|
9950
|
-
this.hoverPoint && (this.hoverPoint.lng = a.geometry.coordinates[0], this.hoverPoint.lat = a.geometry.coordinates[1], this.hoverPoint.update = (
|
|
9950
|
+
this.hoverPoint && (this.hoverPoint.lng = a.geometry.coordinates[0], this.hoverPoint.lat = a.geometry.coordinates[1], this.hoverPoint.update = (s = (l = i == null ? void 0 : i[0]) == null ? void 0 : l.properties) == null ? void 0 : s.date, (c = this.hoverMarker) == null || c.remove(), this.showHoverPoint = !0, this.$nextTick(() => {
|
|
9951
9951
|
const m = document.getElementById("tropicalHoverMarkerInfo").cloneNode(!0);
|
|
9952
9952
|
this.hoverMarker = new Ae.Marker(m).setLngLat(a.geometry.coordinates).setOffset([160, 0]).addTo(this.map);
|
|
9953
9953
|
}));
|
|
@@ -9996,13 +9996,13 @@ const Ad = {
|
|
|
9996
9996
|
class: "d-flex justify-start align-center"
|
|
9997
9997
|
}, au = { class: "text-label pr-1" }, ou = { class: "d-flex justify-start align-center" }, iu = { class: "text-label pr-1" };
|
|
9998
9998
|
function ru(t, e, a, i, o, r) {
|
|
9999
|
-
const l = P("VBtn"),
|
|
9999
|
+
const l = P("VBtn"), s = P("VTooltip"), c = P("VCardText"), m = P("VDivider"), d = P("VCardActions"), g = P("VCard"), f = P("VCardTitle");
|
|
10000
10000
|
return v(), D("div", kd, [
|
|
10001
10001
|
n("div", {
|
|
10002
10002
|
class: "menu-bar-box transition pa-1",
|
|
10003
10003
|
style: pe({ top: a.top + a.paddingTop + 86 + "px", right: o.right + "px" })
|
|
10004
10004
|
}, [
|
|
10005
|
-
w(
|
|
10005
|
+
w(s, {
|
|
10006
10006
|
text: t.$t("tropical.tropicals"),
|
|
10007
10007
|
location: "left",
|
|
10008
10008
|
interactive: !0,
|
|
@@ -10039,7 +10039,7 @@ function ru(t, e, a, i, o, r) {
|
|
|
10039
10039
|
elevation: a.simple ? 0 : 16
|
|
10040
10040
|
}, {
|
|
10041
10041
|
default: x(() => [
|
|
10042
|
-
w(
|
|
10042
|
+
w(c, null, {
|
|
10043
10043
|
default: x(() => {
|
|
10044
10044
|
var p, u, h, y, z, L, A, _, M, C, S, R;
|
|
10045
10045
|
return [
|
|
@@ -10069,7 +10069,7 @@ function ru(t, e, a, i, o, r) {
|
|
|
10069
10069
|
_: 1
|
|
10070
10070
|
}),
|
|
10071
10071
|
w(m),
|
|
10072
|
-
w(
|
|
10072
|
+
w(c, { class: "text-body-1 py-3" }, {
|
|
10073
10073
|
default: x(() => {
|
|
10074
10074
|
var p, u, h, y, z, L, A, _, M;
|
|
10075
10075
|
return [
|
|
@@ -10207,7 +10207,7 @@ function ru(t, e, a, i, o, r) {
|
|
|
10207
10207
|
])) : (v(), D("div", hh, [
|
|
10208
10208
|
ua(w(g, { elevation: "16" }, {
|
|
10209
10209
|
default: x(() => [
|
|
10210
|
-
w(
|
|
10210
|
+
w(c, null, {
|
|
10211
10211
|
default: x(() => [
|
|
10212
10212
|
ua(n("div", {
|
|
10213
10213
|
class: fe(["pa-1 w-100 d-flex flex-column justify-space-between align-center", a.locale === "zhHans" ? " ga-2" : " ga-3"])
|
|
@@ -10288,7 +10288,7 @@ function ru(t, e, a, i, o, r) {
|
|
|
10288
10288
|
_: 1
|
|
10289
10289
|
}),
|
|
10290
10290
|
w(m),
|
|
10291
|
-
w(
|
|
10291
|
+
w(c, { class: "text-body-1" }, {
|
|
10292
10292
|
default: x(() => {
|
|
10293
10293
|
var p, u, h, y, z, L, A, _, M, C, S, R, G, j, F, H, ae, ne, ce, ve;
|
|
10294
10294
|
return [
|
|
@@ -10494,11 +10494,11 @@ const lu = {
|
|
|
10494
10494
|
this.currentDate = i.clone().format("YYYY-MM-DD"), this.currentTime = i.clone().format("HH:00"), this.currentDateTime = `${T.tz(this.currentTimestamp, this.timeZoneName).clone().format("yyyy-MM-DD : HH:00")}`, this.currentRealTime = `${T.tz(T().unix() * 1e3, this.timeZoneName).clone().format("HH:mm")}`;
|
|
10495
10495
|
},
|
|
10496
10496
|
handleResetMinMax() {
|
|
10497
|
-
var o, r, l,
|
|
10497
|
+
var o, r, l, s, c;
|
|
10498
10498
|
if (this.dayAbout.h == null || this.dayAbout.f == null)
|
|
10499
10499
|
return;
|
|
10500
10500
|
const t = T().utc().date(), e = Math.ceil(T().utc().hour() / this.intervalHour) * this.intervalHour, a = ((o = T()) == null ? void 0 : o.utc().set({ date: t, hour: e, minute: 0, second: 0, millisecond: 0 }).unix()) * 1e3, i = T.tz(a, this.timeZoneName).clone();
|
|
10501
|
-
this.minDate = i.clone().add(this.dayAbout.h, "day").format("yyyy-MM-DD"), this.maxDate = i.clone().add(this.dayAbout.f, "day").format("yyyy-MM-DD"), this.minTimestamp = ((l = (r = T()) == null ? void 0 : r.utc()) == null ? void 0 : l.set({ date: t + this.dayAbout.h, hour: 0, minute: 0, second: 0, millisecond: 0 }).unix()) * 1e3, this.maxTimestamp = ((
|
|
10501
|
+
this.minDate = i.clone().add(this.dayAbout.h, "day").format("yyyy-MM-DD"), this.maxDate = i.clone().add(this.dayAbout.f, "day").format("yyyy-MM-DD"), this.minTimestamp = ((l = (r = T()) == null ? void 0 : r.utc()) == null ? void 0 : l.set({ date: t + this.dayAbout.h, hour: 0, minute: 0, second: 0, millisecond: 0 }).unix()) * 1e3, this.maxTimestamp = ((c = (s = T()) == null ? void 0 : s.utc()) == null ? void 0 : c.set({ date: t + this.dayAbout.f, hour: 0, minute: 0, second: 0, millisecond: 0 }).unix()) * 1e3, this.$emit("minTimestamp", this.minTimestamp), this.$emit("maxTimestamp", this.maxTimestamp);
|
|
10502
10502
|
},
|
|
10503
10503
|
handleOpenDatePicker() {
|
|
10504
10504
|
this.disabled || (this.showDatePicker = !this.showDatePicker);
|
|
@@ -10538,7 +10538,7 @@ const lu = {
|
|
|
10538
10538
|
style: { height: "44px" }
|
|
10539
10539
|
};
|
|
10540
10540
|
function du(t, e, a, i, o, r) {
|
|
10541
|
-
const l = P("VDatePicker"),
|
|
10541
|
+
const l = P("VDatePicker"), s = P("VDivider"), c = P("VListItemTitle"), m = P("VListItem"), d = P("VList"), g = P("VCardText"), f = P("VBtn"), p = P("VCardActions"), u = P("VCard");
|
|
10542
10542
|
return v(), D("div", nu, [
|
|
10543
10543
|
n("div", {
|
|
10544
10544
|
style: pe({ height: a.height + "px", width: a.width ? a.width + "px" : "auto" }),
|
|
@@ -10566,7 +10566,7 @@ function du(t, e, a, i, o, r) {
|
|
|
10566
10566
|
"hide-header": ""
|
|
10567
10567
|
}, null, 8, ["modelValue", "min", "max"])
|
|
10568
10568
|
]),
|
|
10569
|
-
w(
|
|
10569
|
+
w(s, {
|
|
10570
10570
|
class: "h-100",
|
|
10571
10571
|
vertical: ""
|
|
10572
10572
|
}),
|
|
@@ -10586,7 +10586,7 @@ function du(t, e, a, i, o, r) {
|
|
|
10586
10586
|
variant: o.currentTime === h ? "flat" : "text"
|
|
10587
10587
|
}, {
|
|
10588
10588
|
default: x(() => [
|
|
10589
|
-
w(
|
|
10589
|
+
w(c, {
|
|
10590
10590
|
class: "text-body-2 font-weight-600 text-center",
|
|
10591
10591
|
onClick: (z) => o.currentTime = h
|
|
10592
10592
|
}, {
|
|
@@ -10605,7 +10605,7 @@ function du(t, e, a, i, o, r) {
|
|
|
10605
10605
|
]),
|
|
10606
10606
|
_: 1
|
|
10607
10607
|
}),
|
|
10608
|
-
w(
|
|
10608
|
+
w(s),
|
|
10609
10609
|
w(p, {
|
|
10610
10610
|
class: "w-100 d-flex justify-end align-center px-4 ga-4",
|
|
10611
10611
|
style: { height: "50px" }
|
|
@@ -10809,8 +10809,8 @@ const hu = {
|
|
|
10809
10809
|
handler() {
|
|
10810
10810
|
var t, e, a, i, o, r;
|
|
10811
10811
|
this.showMeteo ? ((a = (e = (t = this.$parent) == null ? void 0 : t.$refs) == null ? void 0 : e.idmBottomBar) == null || a.handleToggle("spot", !0), this.simple && this.$nextTick(() => {
|
|
10812
|
-
var l,
|
|
10813
|
-
this.$parent.playerBottom = ((
|
|
10812
|
+
var l, s;
|
|
10813
|
+
this.$parent.playerBottom = ((s = (l = this.$refs.spotMeteo) == null ? void 0 : l.$el) == null ? void 0 : s.clientHeight) + 10;
|
|
10814
10814
|
})) : ((r = (o = (i = this.$parent) == null ? void 0 : i.$refs) == null ? void 0 : o.idmBottomBar) == null || r.handleToggle("spot", !1), this.simple && (this.$parent.playerBottom = 30));
|
|
10815
10815
|
}
|
|
10816
10816
|
},
|
|
@@ -10907,10 +10907,10 @@ const hu = {
|
|
|
10907
10907
|
}), this.loading = !1;
|
|
10908
10908
|
},
|
|
10909
10909
|
initTableData(t) {
|
|
10910
|
-
var a, i, o, r, l,
|
|
10910
|
+
var a, i, o, r, l, s, c, m, d, g, f, p, u, h, y, z, L, A, _, M, C, S, R, G, j, F, H, ae, ne, ce, ve, E, $, ee, se, q, U, re, Z, J, we, Le, ze;
|
|
10911
10911
|
this.currentHourData = {}, this.positionGmt = (i = (a = t == null ? void 0 : t.weather) == null ? void 0 : a[0]) == null ? void 0 : i.timezone, this.positionOffset = (r = (o = t == null ? void 0 : t.weather) == null ? void 0 : o[0]) == null ? void 0 : r.offset;
|
|
10912
10912
|
const e = ((l = Va.pickHourly(t, T(this.form.dateTime))) == null ? void 0 : l[0]) || {};
|
|
10913
|
-
this.currentHourData.utc = e.utc, this.currentHourData.lat = t.lat, this.currentHourData.lng = t.lng, this.currentHourData.temp = this.computeRoundPrecision((
|
|
10913
|
+
this.currentHourData.utc = e.utc, this.currentHourData.lat = t.lat, this.currentHourData.lng = t.lng, this.currentHourData.temp = this.computeRoundPrecision((s = e == null ? void 0 : e.weather) == null ? void 0 : s.temp, 0) ?? "-", this.currentHourData.precipProbability = this.computeRoundPrecision((m = (c = e == null ? void 0 : e.weather) == null ? void 0 : c.precip) == null ? void 0 : m.probability, 0) ?? "-", this.currentHourData.precip1h = this.computeRoundPrecision((g = (d = e == null ? void 0 : e.weather) == null ? void 0 : d.precip) == null ? void 0 : g.sum, 0) ?? "-", this.currentHourData.visibility = this.computeRoundPrecision((f = e == null ? void 0 : e.weather) == null ? void 0 : f.visibility, 0) ?? "-", this.currentHourData.windSpeed = this.computeRoundPrecision((u = (p = e == null ? void 0 : e.weather) == null ? void 0 : p.wind) == null ? void 0 : u.kts, 1) ?? "-", this.currentHourData.windDir = ((y = (h = e == null ? void 0 : e.weather) == null ? void 0 : h.wind) == null ? void 0 : y.direction) ?? "-", this.currentHourData.windLevel = this.computeRoundPrecision((L = (z = e == null ? void 0 : e.weather) == null ? void 0 : z.wind) == null ? void 0 : L.scale, 0) ?? "-", this.currentHourData.windGust = this.computeRoundPrecision((_ = (A = e == null ? void 0 : e.weather) == null ? void 0 : A.wind) == null ? void 0 : _.gusts, 1) ?? "-", this.currentHourData.sigwaveHeight = this.computeRoundPrecision((C = (M = e == null ? void 0 : e.wave) == null ? void 0 : M.sig) == null ? void 0 : C.height, 1) ?? "-", this.currentHourData.sigwaveDir = (R = (S = e == null ? void 0 : e.wave) == null ? void 0 : S.sig) == null ? void 0 : R.direction, this.currentHourData.sigwavePeriod = this.computeRoundPrecision((j = (G = e == null ? void 0 : e.wave) == null ? void 0 : G.sig) == null ? void 0 : j.period, 1) ?? "-", this.currentHourData.windwaveHeight = this.computeRoundPrecision((H = (F = e == null ? void 0 : e.wave) == null ? void 0 : F.wd) == null ? void 0 : H.height, 1) ?? "-", this.currentHourData.windwaveDir = (ne = (ae = e == null ? void 0 : e.wave) == null ? void 0 : ae.wd) == null ? void 0 : ne.direction, this.currentHourData.windwavePeriod = this.computeRoundPrecision((ve = (ce = e == null ? void 0 : e.wave) == null ? void 0 : ce.wd) == null ? void 0 : ve.period, 1) ?? "-", this.currentHourData.swellHeight = this.computeRoundPrecision(($ = (E = e == null ? void 0 : e.wave) == null ? void 0 : E.swell) == null ? void 0 : $.height, 1) ?? "-", this.currentHourData.swellDir = (se = (ee = e == null ? void 0 : e.wave) == null ? void 0 : ee.swell) == null ? void 0 : se.direction, this.currentHourData.swellPeriod = this.computeRoundPrecision((U = (q = e == null ? void 0 : e.wave) == null ? void 0 : q.swell) == null ? void 0 : U.period, 1) ?? "-", this.currentHourData.currentSpeed = this.computeRoundPrecision((re = e == null ? void 0 : e.current) == null ? void 0 : re.speed, 1) ?? "-", this.currentHourData.currentDir = (Z = e == null ? void 0 : e.current) == null ? void 0 : Z.direction, this.currentHourData.currentSpeed = this.computeRoundPrecision((J = e == null ? void 0 : e.current) == null ? void 0 : J.speed, 1) ?? "-", this.currentHourData.seaLevel = this.computeRoundPrecision(e == null ? void 0 : e.height, 1) ?? "-", this.currentHourData.seaTemp = this.computeRoundPrecision(e == null ? void 0 : e.sst, 0) ?? "-", this.currentHourData.weatherUrls = (we = e == null ? void 0 : e.weather) == null ? void 0 : we.url, this.currentHourData.sit = (Le = e == null ? void 0 : e.ice) == null ? void 0 : Le.sit, this.currentHourData.sic = this.computeRoundPrecision(((ze = e == null ? void 0 : e.ice) == null ? void 0 : ze.sic) * 100, 0) ?? "-", this.currentHourData.showIce = t.lat >= 65 || t.lat <= -65;
|
|
10914
10914
|
},
|
|
10915
10915
|
handleBind() {
|
|
10916
10916
|
var t, e;
|
|
@@ -11033,13 +11033,13 @@ const hu = {
|
|
|
11033
11033
|
"aria-hidden": "true"
|
|
11034
11034
|
}, Pp = ["xlink:href"];
|
|
11035
11035
|
function Sp(t, e, a, i, o, r) {
|
|
11036
|
-
const l = P("VBtn"),
|
|
11036
|
+
const l = P("VBtn"), s = P("VTooltip"), c = P("VCardTitle"), m = P("VDivider"), d = P("VTextField"), g = P("DateTimePicker"), f = P("VCol"), p = P("VRow"), u = P("VBtnToggle"), h = P("VCardText"), y = P("VCardActions"), z = P("VForm"), L = P("VCard");
|
|
11037
11037
|
return v(), D("div", uu, [
|
|
11038
11038
|
n("div", {
|
|
11039
11039
|
class: "menu-bar-box transition pa-1",
|
|
11040
11040
|
style: pe({ top: a.top + a.paddingTop + 126 + "px", right: o.right + "px" })
|
|
11041
11041
|
}, [
|
|
11042
|
-
w(
|
|
11042
|
+
w(s, {
|
|
11043
11043
|
text: t.$t("spot.spotsMeteo"),
|
|
11044
11044
|
location: "left",
|
|
11045
11045
|
interactive: !0,
|
|
@@ -11071,7 +11071,7 @@ function Sp(t, e, a, i, o, r) {
|
|
|
11071
11071
|
style: pe({ top: a.top + a.paddingTop + 126 + "px", right: o.right + 50 + "px" })
|
|
11072
11072
|
}, {
|
|
11073
11073
|
default: x(() => [
|
|
11074
|
-
w(
|
|
11074
|
+
w(c, { class: "d-flex justify-space-between align-center" }, {
|
|
11075
11075
|
default: x(() => [
|
|
11076
11076
|
n("div", pu, [
|
|
11077
11077
|
n("div", gu, b(t.$t("spot.spotWeather")), 1)
|
|
@@ -11342,7 +11342,7 @@ function Sp(t, e, a, i, o, r) {
|
|
|
11342
11342
|
style: { width: "490px", "z-index": "9" }
|
|
11343
11343
|
}, {
|
|
11344
11344
|
default: x(() => [
|
|
11345
|
-
w(
|
|
11345
|
+
w(c, { class: "d-flex justify-space-between align-center" }, {
|
|
11346
11346
|
default: x(() => [
|
|
11347
11347
|
n("div", Ru, [
|
|
11348
11348
|
e[20] || (e[20] = n("i", { class: "iconfont icon-a-Spotweather text-h5 map-icon-aqua" }, null, -1)),
|
|
@@ -11476,7 +11476,7 @@ function Sp(t, e, a, i, o, r) {
|
|
|
11476
11476
|
style: { width: "100vw", "z-index": "1001" }
|
|
11477
11477
|
}, {
|
|
11478
11478
|
default: x(() => [
|
|
11479
|
-
w(
|
|
11479
|
+
w(c, null, {
|
|
11480
11480
|
default: x(() => {
|
|
11481
11481
|
var A;
|
|
11482
11482
|
return [
|
|
@@ -11712,14 +11712,14 @@ const Rp = {
|
|
|
11712
11712
|
}
|
|
11713
11713
|
},
|
|
11714
11714
|
handleDrag(t) {
|
|
11715
|
-
var a, i, o, r, l,
|
|
11715
|
+
var a, i, o, r, l, s, c, m, d, g;
|
|
11716
11716
|
const e = (i = (a = t.target) == null ? void 0 : a._element) == null ? void 0 : i.id;
|
|
11717
11717
|
if ((e == null ? void 0 : e.split("-").length) === 2) {
|
|
11718
11718
|
const f = this.geojson.filter((y) => y.id === e.split("-")[0])[0];
|
|
11719
11719
|
this.pointMarkers[f.id].filter((y) => {
|
|
11720
11720
|
var z;
|
|
11721
11721
|
return ((z = y._element) == null ? void 0 : z.id) === e;
|
|
11722
|
-
})[0].setLngLat([(r = (o = t.target) == null ? void 0 : o._lngLat) == null ? void 0 : r.lng, (
|
|
11722
|
+
})[0].setLngLat([(r = (o = t.target) == null ? void 0 : o._lngLat) == null ? void 0 : r.lng, (s = (l = t.target) == null ? void 0 : l._lngLat) == null ? void 0 : s.lat]);
|
|
11723
11723
|
let u;
|
|
11724
11724
|
f.features.forEach((y, z) => {
|
|
11725
11725
|
if (y.geometry.type === "Point" && y.properties.id === e.split("-")[1]) {
|
|
@@ -11731,22 +11731,22 @@ const Rp = {
|
|
|
11731
11731
|
this.handleTmpPointUpdate(
|
|
11732
11732
|
f,
|
|
11733
11733
|
h[u - 1],
|
|
11734
|
-
{ lng: (m = (
|
|
11734
|
+
{ lng: (m = (c = t.target) == null ? void 0 : c._lngLat) == null ? void 0 : m.lng, lat: (g = (d = t.target) == null ? void 0 : d._lngLat) == null ? void 0 : g.lat, properties: h[u].properties },
|
|
11735
11735
|
u === h.length - 1 ? void 0 : h[u + 1]
|
|
11736
11736
|
);
|
|
11737
11737
|
}
|
|
11738
11738
|
},
|
|
11739
11739
|
handleDragEnd(t) {
|
|
11740
|
-
var a, i, o, r, l,
|
|
11740
|
+
var a, i, o, r, l, s, c, m, d, g;
|
|
11741
11741
|
const e = (i = (a = t.target) == null ? void 0 : a._element) == null ? void 0 : i.id;
|
|
11742
11742
|
if ((e == null ? void 0 : e.split("-").length) === 2) {
|
|
11743
11743
|
const f = this.geojson.filter((h) => h.id === e.split("-")[0])[0];
|
|
11744
11744
|
this.pointMarkers[f.id].filter((h) => {
|
|
11745
11745
|
var y;
|
|
11746
11746
|
return ((y = h._element) == null ? void 0 : y.id) === e;
|
|
11747
|
-
})[0].setLngLat([(r = (o = t.target) == null ? void 0 : o._lngLat) == null ? void 0 : r.lng, (
|
|
11747
|
+
})[0].setLngLat([(r = (o = t.target) == null ? void 0 : o._lngLat) == null ? void 0 : r.lng, (s = (l = t.target) == null ? void 0 : l._lngLat) == null ? void 0 : s.lat]);
|
|
11748
11748
|
const u = f.features.filter((h) => h.geometry.type === "Point" && h.properties.id === e.split("-")[1])[0];
|
|
11749
|
-
u.geometry.coordinates = [(m = (
|
|
11749
|
+
u.geometry.coordinates = [(m = (c = t.target) == null ? void 0 : c._lngLat) == null ? void 0 : m.lng, (g = (d = t.target) == null ? void 0 : d._lngLat) == null ? void 0 : g.lat], f.features = f.features.filter((h) => h.geometry.type === "Point"), this.handlePointUpdate(f);
|
|
11750
11750
|
}
|
|
11751
11751
|
},
|
|
11752
11752
|
handleContextmenu(t) {
|
|
@@ -11754,26 +11754,26 @@ const Rp = {
|
|
|
11754
11754
|
t.preventDefault(), (a = this.contextmenu) == null || a.remove();
|
|
11755
11755
|
const e = (r = (o = (i = t.originalEvent) == null ? void 0 : i.target) == null ? void 0 : o.parentElement) == null ? void 0 : r.id;
|
|
11756
11756
|
if ((e == null ? void 0 : e.split("-").length) === 2) {
|
|
11757
|
-
const
|
|
11758
|
-
if (
|
|
11757
|
+
const s = this.geojson.filter((c) => c.id === e.split("-")[0])[0].features.filter((c) => c.geometry.type === "Point");
|
|
11758
|
+
if (s.length > 2 && s.filter((m) => m.properties.id === (e == null ? void 0 : e.split("-")[1]))[0]) {
|
|
11759
11759
|
const m = document.createElement("div");
|
|
11760
11760
|
m.className = "idm-gl4-measure-contextmenu-marker", m.innerHTML = `<span id="del-${e}" class="del-point">${this.$t("actions.detele")}</span>`, this.contextmenu = new Ae.Marker(m).setOffset([24, 0]).setLngLat([t.lngLat.lng, t.lngLat.lat]).addTo(this.map);
|
|
11761
11761
|
}
|
|
11762
11762
|
}
|
|
11763
11763
|
},
|
|
11764
11764
|
handleClick(t) {
|
|
11765
|
-
var a, i, o, r, l,
|
|
11765
|
+
var a, i, o, r, l, s;
|
|
11766
11766
|
(a = this.contextmenu) == null || a.remove();
|
|
11767
11767
|
const e = t.originalEvent.target.className;
|
|
11768
11768
|
if (e === "marker-close") {
|
|
11769
|
-
const
|
|
11770
|
-
m && this.handleClear(m, !0), this.geojson = this.geojson.filter((d) => d.id !==
|
|
11769
|
+
const c = (o = (i = t.originalEvent) == null ? void 0 : i.srcElement) == null ? void 0 : o.id, m = this.geojson.filter((d) => d.id === c)[0];
|
|
11770
|
+
m && this.handleClear(m, !0), this.geojson = this.geojson.filter((d) => d.id !== c), !this.toggle && !((r = this.geojson) != null && r.some((d) => d.closed)) && this.handleUnbind();
|
|
11771
11771
|
} else if (e === "del-point") {
|
|
11772
|
-
const
|
|
11773
|
-
m.features = m.features.filter((d) => d.geometry.type === "Point" && d.properties.id !==
|
|
11772
|
+
const c = (s = (l = t.originalEvent.target.id) == null ? void 0 : l.replace("del-", "")) == null ? void 0 : s.split("-"), m = this.geojson.filter((d) => d.id === c[0])[0];
|
|
11773
|
+
m.features = m.features.filter((d) => d.geometry.type === "Point" && d.properties.id !== c[1]), this.handlePointUpdate(m);
|
|
11774
11774
|
} else if (e !== "marker-label" && this.toggle) {
|
|
11775
|
-
let
|
|
11776
|
-
|
|
11775
|
+
let c = this.geojson.at(-1);
|
|
11776
|
+
c || (c = W.featureCollection([], { id: (/* @__PURE__ */ new Date()).getTime().toString() }), this.geojson.push(c)), c.features = c.features.filter((d) => d.geometry.type === "Point");
|
|
11777
11777
|
const m = W.feature(
|
|
11778
11778
|
{
|
|
11779
11779
|
type: "Point",
|
|
@@ -11785,7 +11785,7 @@ const Rp = {
|
|
|
11785
11785
|
sumLabel: "Start"
|
|
11786
11786
|
}
|
|
11787
11787
|
);
|
|
11788
|
-
|
|
11788
|
+
c.features.push(m), this.handlePointUpdate(c);
|
|
11789
11789
|
}
|
|
11790
11790
|
},
|
|
11791
11791
|
handlePointUpdate(t) {
|
|
@@ -11794,14 +11794,14 @@ const Rp = {
|
|
|
11794
11794
|
let a = 0;
|
|
11795
11795
|
const i = [];
|
|
11796
11796
|
for (let o = 1; o < e.length; o++) {
|
|
11797
|
-
const r = e[o - 1], l = e[o],
|
|
11797
|
+
const r = e[o - 1], l = e[o], s = r.properties, c = { lng: r.geometry.coordinates[0], lat: r.geometry.coordinates[1] }, m = { lng: l.geometry.coordinates[0], lat: l.geometry.coordinates[1] }, d = pt.calculateDistance(c, m, s.mode === "RL", 4), g = pt.calculateBearing(c, m, s.mode === "RL", 2);
|
|
11798
11798
|
a = Y.roundPrecision(a + d, 4);
|
|
11799
11799
|
let f;
|
|
11800
|
-
|
|
11800
|
+
s.mode === "RL" ? f = Y.convertToMonotonicLng([c, m]) : f = Y.convertToMonotonicLng(pt.interpolateCoordinates(c, m, 200));
|
|
11801
11801
|
const p = W.lineString(f.map((h) => [h.lng, h.lat]));
|
|
11802
11802
|
p.properties.dist = d, p.properties.bearing = g, p.properties.total = a, p.properties.name = "Line " + this.currentLineIndex, i.push(p);
|
|
11803
11803
|
const u = e[o];
|
|
11804
|
-
u.properties.totalDist = Y.roundPrecision((
|
|
11804
|
+
u.properties.totalDist = Y.roundPrecision((s.totalDist ? s.totalDist : 0) + d, 4), u.properties.sumLabel = u.properties.totalDist + " nm";
|
|
11805
11805
|
}
|
|
11806
11806
|
e.push(...i), t.total = a;
|
|
11807
11807
|
}
|
|
@@ -11811,18 +11811,18 @@ const Rp = {
|
|
|
11811
11811
|
const o = W.featureCollection([]);
|
|
11812
11812
|
let r, l;
|
|
11813
11813
|
if (e) {
|
|
11814
|
-
const
|
|
11815
|
-
r = pt.calculateDistance(m, d,
|
|
11814
|
+
const c = e.properties, m = { lng: e.geometry.coordinates[0], lat: e.geometry.coordinates[1] }, d = { lng: a.lng, lat: a.lat };
|
|
11815
|
+
r = pt.calculateDistance(m, d, c.mode === "RL", 4), l = pt.calculateBearing(m, d, c.mode === "RL", 2);
|
|
11816
11816
|
let g;
|
|
11817
|
-
|
|
11817
|
+
c.mode === "RL" ? g = Y.convertToMonotonicLng([m, d]) : g = Y.convertToMonotonicLng(pt.interpolateCoordinates(m, d, 200));
|
|
11818
11818
|
const f = W.lineString(g.map((p) => [p.lng, p.lat]));
|
|
11819
11819
|
f.properties.dist = r, f.properties.bearing = l, o.features.push(f);
|
|
11820
11820
|
}
|
|
11821
11821
|
if (i) {
|
|
11822
|
-
const
|
|
11823
|
-
r = pt.calculateDistance(m, d,
|
|
11822
|
+
const c = a.properties, m = a, d = { lng: i.geometry.coordinates[0], lat: i.geometry.coordinates[1] };
|
|
11823
|
+
r = pt.calculateDistance(m, d, c.mode === "RL", 4), l = pt.calculateBearing(m, d, c.mode === "RL", 2);
|
|
11824
11824
|
let g;
|
|
11825
|
-
|
|
11825
|
+
c.mode === "RL" ? g = Y.convertToMonotonicLng([m, d]) : g = Y.convertToMonotonicLng(pt.interpolateCoordinates(m, d, 200));
|
|
11826
11826
|
const f = W.lineString(g.map((p) => [p.lng, p.lat]));
|
|
11827
11827
|
f.properties.dist = r, f.properties.bearing = l, o.features.push(f);
|
|
11828
11828
|
}
|
|
@@ -11864,22 +11864,22 @@ const Rp = {
|
|
|
11864
11864
|
// 'text-halo-blur': 0,
|
|
11865
11865
|
}
|
|
11866
11866
|
});
|
|
11867
|
-
let
|
|
11867
|
+
let s;
|
|
11868
11868
|
if (i)
|
|
11869
|
-
|
|
11869
|
+
s = `<div class="marker-label">${this.$t("measure.dragTips")}</div>`;
|
|
11870
11870
|
else {
|
|
11871
|
-
const
|
|
11872
|
-
|
|
11871
|
+
const c = Y.roundPrecision((t.total ?? 0) + r, 1);
|
|
11872
|
+
s = `<div class="marker-label">${this.$t("measure.totalDistance")}: <b>${c}</b>nm, ${this.$t(
|
|
11873
11873
|
"measure.bearing"
|
|
11874
11874
|
)}: <b>${l}</b>°</div><div class="marker-label"> ${this.$t("measure.mode")}${this.navigation === "RL" ? "RL" : "GC"}, ${this.$t(
|
|
11875
11875
|
"measure.switchTips"
|
|
11876
11876
|
)}</div><div class="marker-label">${this.$t("measure.clickTips")}</div>`;
|
|
11877
11877
|
}
|
|
11878
11878
|
if (this.tipMarker)
|
|
11879
|
-
this.tipMarker._element.innerHTML =
|
|
11879
|
+
this.tipMarker._element.innerHTML = s, this.tipMarker.setLngLat([a.lng, a.lat]);
|
|
11880
11880
|
else {
|
|
11881
|
-
const
|
|
11882
|
-
|
|
11881
|
+
const c = document.createElement("div");
|
|
11882
|
+
c.className = "idm-gl4-measure-tip-marker", c.innerHTML = s, this.tipMarker = new Ae.Marker(c).setOffset([140, 0]).setLngLat([a.lng, a.lat]).addTo(this.map);
|
|
11883
11883
|
}
|
|
11884
11884
|
},
|
|
11885
11885
|
handleMove(t) {
|
|
@@ -11951,36 +11951,36 @@ const Rp = {
|
|
|
11951
11951
|
// 'text-halo-blur': 0,
|
|
11952
11952
|
}
|
|
11953
11953
|
});
|
|
11954
|
-
const l = t.features.filter((
|
|
11955
|
-
for (const
|
|
11956
|
-
const
|
|
11957
|
-
|
|
11958
|
-
const m = new Ae.Marker({ element:
|
|
11954
|
+
const l = t.features.filter((s) => s.geometry.type === "Point");
|
|
11955
|
+
for (const s of l) {
|
|
11956
|
+
const c = document.createElement("div");
|
|
11957
|
+
c.id = `${t.id}-${s.properties.id}`, c.className = `${t.closed ? "idm-gl4-measure-marker closed" : "idm-gl4-measure-marker"}`, c.innerHTML = '<div class="marker-circle"></div>';
|
|
11958
|
+
const m = new Ae.Marker({ element: c, draggable: !0, contextmenu: !0 }).setLngLat(s.geometry.coordinates).addTo(this.map);
|
|
11959
11959
|
m.on("drag", this.handleDrag), m.on("dragend", this.handleDragEnd), this.pointMarkers[t.id] ? this.pointMarkers[t.id].push(m) : this.pointMarkers[t.id] = [m];
|
|
11960
11960
|
}
|
|
11961
11961
|
if (t.closed) {
|
|
11962
|
-
const
|
|
11963
|
-
d.className = "idm-gl4-measure-summary-marker", d.innerHTML = `<div class="marker-label">${m.properties.name}</div><div id="${t.id}" class="marker-close">X</div>`, this.closeMarkers[t.id] = new Ae.Marker(d).setOffset([0, -30]).setLngLat(
|
|
11962
|
+
const s = l.at(-1), m = t.features.filter((g) => g.geometry.type === "LineString").at(-1), d = document.createElement("div");
|
|
11963
|
+
d.className = "idm-gl4-measure-summary-marker", d.innerHTML = `<div class="marker-label">${m.properties.name}</div><div id="${t.id}" class="marker-close">X</div>`, this.closeMarkers[t.id] = new Ae.Marker(d).setOffset([0, -30]).setLngLat(s.geometry.coordinates).addTo(this.map);
|
|
11964
11964
|
}
|
|
11965
11965
|
}
|
|
11966
11966
|
},
|
|
11967
11967
|
handleClear(t, e = !0) {
|
|
11968
|
-
var l,
|
|
11968
|
+
var l, s, c, m, d, g, f, p, u, h;
|
|
11969
11969
|
const a = `${t.id}-${this.source}`, i = `${t.id}-${this.layer}`, o = `${t.id}-${this.labelLayer}`, r = `${t.id}-${this.sumLayer}`;
|
|
11970
|
-
(l = this.map) != null && l.getLayer(i) && this.map.removeLayer(i), (
|
|
11970
|
+
(l = this.map) != null && l.getLayer(i) && this.map.removeLayer(i), (s = this.map) != null && s.getLayer(o) && this.map.removeLayer(o), (c = this.map) != null && c.getLayer(r) && this.map.removeLayer(r), (m = this.map) != null && m.getLayer(this.tmpLayer) && this.map.removeLayer(this.tmpLayer), (d = this.map) != null && d.getLayer(this.tmpLabelLayer) && this.map.removeLayer(this.tmpLabelLayer), (g = this.closeMarkers[t.id]) == null || g.remove(), this.closeMarkers[t.id] = void 0, (f = this.pointMarkers[t.id]) == null || f.forEach((y) => {
|
|
11971
11971
|
y == null || y.remove();
|
|
11972
11972
|
}), this.pointMarkers[t.id] = [], (p = this.tipMarker) == null || p.remove(), this.tipMarker = void 0, e && ((u = this.map) != null && u.getSource(a)) && this.map.removeSource(a), e && ((h = this.map) != null && h.getSource(this.tmpSource)) && this.map.removeSource(this.tmpSource);
|
|
11973
11973
|
}
|
|
11974
11974
|
}
|
|
11975
11975
|
}, Dp = { class: "idm-gl4-measure" };
|
|
11976
11976
|
function Ip(t, e, a, i, o, r) {
|
|
11977
|
-
const l = P("VBtn"),
|
|
11977
|
+
const l = P("VBtn"), s = P("VTooltip");
|
|
11978
11978
|
return v(), D("div", Dp, [
|
|
11979
11979
|
n("div", {
|
|
11980
11980
|
class: "menu-bar-box transition pa-1",
|
|
11981
11981
|
style: pe({ top: a.top + a.paddingTop + 166 + "px", right: o.right + "px" })
|
|
11982
11982
|
}, [
|
|
11983
|
-
w(
|
|
11983
|
+
w(s, {
|
|
11984
11984
|
text: t.$t("measure.measure"),
|
|
11985
11985
|
location: "left",
|
|
11986
11986
|
interactive: !0,
|
|
@@ -11988,8 +11988,8 @@ function Ip(t, e, a, i, o, r) {
|
|
|
11988
11988
|
"open-on-focus": !a.simple,
|
|
11989
11989
|
"open-on-hover": !a.simple
|
|
11990
11990
|
}, {
|
|
11991
|
-
activator: x(({ props:
|
|
11992
|
-
w(l, V(
|
|
11991
|
+
activator: x(({ props: c }) => [
|
|
11992
|
+
w(l, V(c, {
|
|
11993
11993
|
"min-width": "32",
|
|
11994
11994
|
width: "32",
|
|
11995
11995
|
height: "32",
|
|
@@ -12156,7 +12156,7 @@ const Fp = {
|
|
|
12156
12156
|
},
|
|
12157
12157
|
// -------- Edit mode: load existing geometry --------
|
|
12158
12158
|
loadEditLayer() {
|
|
12159
|
-
var o, r, l,
|
|
12159
|
+
var o, r, l, s, c, m;
|
|
12160
12160
|
if (!((o = this.editLayer) != null && o.extend) || !this.map)
|
|
12161
12161
|
return;
|
|
12162
12162
|
const t = typeof this.editLayer.extend == "string" ? JSON.parse(this.editLayer.extend) : this.editLayer.extend;
|
|
@@ -12166,7 +12166,7 @@ const Fp = {
|
|
|
12166
12166
|
if (!a)
|
|
12167
12167
|
return;
|
|
12168
12168
|
this.originalProperties = a.properties || {}, this.form.name = this.editLayer.name || "", this.form.color = this.editLayer.color || ((r = this.originalProperties) == null ? void 0 : r.color) || ((l = this.Theme.current.value.colors) == null ? void 0 : l["map-green"]) || "#4CAF50";
|
|
12169
|
-
const i = (
|
|
12169
|
+
const i = (s = a.geometry) == null ? void 0 : s.type;
|
|
12170
12170
|
if (i === "Point") {
|
|
12171
12171
|
this.markerType = "Point";
|
|
12172
12172
|
const [d, g] = a.geometry.coordinates;
|
|
@@ -12174,7 +12174,7 @@ const Fp = {
|
|
|
12174
12174
|
} else
|
|
12175
12175
|
i === "LineString" ? (this.markerType = "Line", this.$nextTick(() => {
|
|
12176
12176
|
this.handlerRenderEditLine(a), this.setupLineEdit(), this.handleUnbindMap();
|
|
12177
|
-
})) : i === "Polygon" && (this.markerType = "Area", this.form.areaType = (m = (
|
|
12177
|
+
})) : i === "Polygon" && (this.markerType = "Area", this.form.areaType = (m = (c = this.originalProperties) == null ? void 0 : c.shape) == null ? void 0 : m.toLowerCase(), this.$nextTick(() => {
|
|
12178
12178
|
this.handlerRenderEditPolygon(t), this.setupPolygonEdit(a), this.handleUnbindMap();
|
|
12179
12179
|
}));
|
|
12180
12180
|
this.$emit("hideLayer", this.editLayer.id);
|
|
@@ -12243,11 +12243,11 @@ const Fp = {
|
|
|
12243
12243
|
e.preventDefault();
|
|
12244
12244
|
const { lng: a, lat: i } = e.lngLat, o = W.point([a, i]), r = W.lineString(this.drawCoords), l = W.nearestPointOnLine(r, o);
|
|
12245
12245
|
if (l) {
|
|
12246
|
-
const
|
|
12246
|
+
const s = l.properties.index;
|
|
12247
12247
|
this.showDeleteButton(
|
|
12248
12248
|
[a, i],
|
|
12249
12249
|
() => {
|
|
12250
|
-
this.drawCoords.splice(
|
|
12250
|
+
this.drawCoords.splice(s + 1, 0, [a, i]), this.handlerRenderEditLine(W.lineString(this.drawCoords, { type: "Line", color: this.form.color })), this.setupLineEdit();
|
|
12251
12251
|
},
|
|
12252
12252
|
this.$t("actions.add") || "新增",
|
|
12253
12253
|
"add"
|
|
@@ -12262,10 +12262,10 @@ const Fp = {
|
|
|
12262
12262
|
r.textContent = a || this.$t("actions.delete"), r.className = i === "add" ? "idm-gl4-edit-add-btn" : "idm-gl4-edit-delete-btn";
|
|
12263
12263
|
const l = this.map.project(t);
|
|
12264
12264
|
r.style.left = `${l.x}px`, r.style.top = `${l.y}px`;
|
|
12265
|
-
const
|
|
12266
|
-
|
|
12265
|
+
const s = (c) => {
|
|
12266
|
+
c.stopPropagation(), e(), this.hideDeleteButton();
|
|
12267
12267
|
};
|
|
12268
|
-
r.addEventListener("click",
|
|
12268
|
+
r.addEventListener("click", s), o.appendChild(r), this.deleteBtn = r, this.map.once("click", () => this.hideDeleteButton());
|
|
12269
12269
|
},
|
|
12270
12270
|
hideDeleteButton() {
|
|
12271
12271
|
this.deleteBtn && (this.deleteBtn.remove(), this.deleteBtn = null);
|
|
@@ -12314,18 +12314,18 @@ const Fp = {
|
|
|
12314
12314
|
const l = new Ae.Marker({ element: r, draggable: !0 }).setLngLat(i).addTo(this.map);
|
|
12315
12315
|
l.on("dragstart", () => {
|
|
12316
12316
|
this.map.getCanvas().style.cursor = "pointer";
|
|
12317
|
-
const { lng:
|
|
12318
|
-
this.handleRenderVertexLabel([
|
|
12317
|
+
const { lng: s, lat: c } = l.getLngLat();
|
|
12318
|
+
this.handleRenderVertexLabel([s, c]);
|
|
12319
12319
|
}), l.on("drag", () => {
|
|
12320
12320
|
this.map.getCanvas().style.cursor = "pointer";
|
|
12321
|
-
const { lng:
|
|
12322
|
-
this.handleUpdateVertexLabel([
|
|
12321
|
+
const { lng: s, lat: c } = l.getLngLat();
|
|
12322
|
+
this.handleUpdateVertexLabel([s, c]), this.drawCoords[o] = [s, c], this.handleRenderPolygonFill(this.drawCoords);
|
|
12323
12323
|
}), l.on("dragend", () => {
|
|
12324
12324
|
this.map.getCanvas().style.cursor = "grab";
|
|
12325
|
-
const { lng:
|
|
12326
|
-
this.drawCoords[o] = [
|
|
12327
|
-
}), r.addEventListener("contextmenu", (
|
|
12328
|
-
|
|
12325
|
+
const { lng: s, lat: c } = l.getLngLat();
|
|
12326
|
+
this.drawCoords[o] = [s, c], this.handleRenderPolygonFill(this.drawCoords), this.handleClearVertexLabels();
|
|
12327
|
+
}), r.addEventListener("contextmenu", (s) => {
|
|
12328
|
+
s.preventDefault(), s.stopPropagation(), this.drawCoords.length > 3 && this.showDeleteButton(i, () => {
|
|
12329
12329
|
this.drawCoords.splice(o, 1), this.handleRenderPolygonFill(this.drawCoords), this.handleClearVertexLabels(), this.setupPolygonEdit({
|
|
12330
12330
|
geometry: { type: "Polygon", coordinates: [[...this.drawCoords, this.drawCoords[0]]] },
|
|
12331
12331
|
properties: this.originalProperties
|
|
@@ -12335,9 +12335,9 @@ const Fp = {
|
|
|
12335
12335
|
});
|
|
12336
12336
|
const a = (i) => {
|
|
12337
12337
|
i.preventDefault();
|
|
12338
|
-
const { lng: o, lat: r } = i.lngLat, l = W.point([o, r]),
|
|
12339
|
-
if (
|
|
12340
|
-
const m =
|
|
12338
|
+
const { lng: o, lat: r } = i.lngLat, l = W.point([o, r]), s = W.lineString([...this.drawCoords, this.drawCoords[0]]), c = W.nearestPointOnLine(s, l);
|
|
12339
|
+
if (c) {
|
|
12340
|
+
const m = c.properties.index, d = m >= this.drawCoords.length - 1 ? this.drawCoords.length - 1 : m;
|
|
12341
12341
|
this.showDeleteButton(
|
|
12342
12342
|
[o, r],
|
|
12343
12343
|
() => {
|
|
@@ -12361,10 +12361,10 @@ const Fp = {
|
|
|
12361
12361
|
},
|
|
12362
12362
|
handleChangePoint() {
|
|
12363
12363
|
var f;
|
|
12364
|
-
const { latDegree: t, latMinute: e, latDir: a, lngDegree: i, lngMinute: o, lngDir: r } = this.form, l = parseFloat(t),
|
|
12365
|
-
if (isNaN(l) || isNaN(
|
|
12364
|
+
const { latDegree: t, latMinute: e, latDir: a, lngDegree: i, lngMinute: o, lngDir: r } = this.form, l = parseFloat(t), s = parseFloat(e), c = parseFloat(i), m = parseFloat(o);
|
|
12365
|
+
if (isNaN(l) || isNaN(c))
|
|
12366
12366
|
return;
|
|
12367
|
-
const d = (l + (isNaN(
|
|
12367
|
+
const d = (l + (isNaN(s) ? 0 : s) / 60) * (a === "S" ? -1 : 1), g = (c + (isNaN(m) ? 0 : m) / 60) * (r === "W" ? -1 : 1);
|
|
12368
12368
|
this.drawCoords = [[g, d]], this.handleRenderPoint(this.drawCoords, this.form.color), (f = this.editLayer) != null && f.id && this.setupPointEdit();
|
|
12369
12369
|
},
|
|
12370
12370
|
handleRenderPoint(t, e) {
|
|
@@ -12433,15 +12433,15 @@ const Fp = {
|
|
|
12433
12433
|
"line-dasharray": [3, 2]
|
|
12434
12434
|
}
|
|
12435
12435
|
});
|
|
12436
|
-
const o = { lng: t[0], lat: t[1] }, r = { lng: e[0], lat: e[1] }, l = pt.calculateDistance(o, r, !0, 2),
|
|
12437
|
-
let
|
|
12436
|
+
const o = { lng: t[0], lat: t[1] }, r = { lng: e[0], lat: e[1] }, l = pt.calculateDistance(o, r, !0, 2), s = pt.calculateBearing(o, r, !0, 2);
|
|
12437
|
+
let c = 0;
|
|
12438
12438
|
for (let d = 1; d < this.drawCoords.length; d++) {
|
|
12439
12439
|
const g = { lng: this.drawCoords[d - 1][0], lat: this.drawCoords[d - 1][1] }, f = { lng: this.drawCoords[d][0], lat: this.drawCoords[d][1] };
|
|
12440
|
-
|
|
12440
|
+
c += pt.calculateDistance(g, f, !0, 4);
|
|
12441
12441
|
}
|
|
12442
|
-
|
|
12442
|
+
c = Y.roundPrecision(c + l, 1);
|
|
12443
12443
|
const m = `
|
|
12444
|
-
<div class="marker-label">${this.$t("measure.totalDistance")}: <b>${
|
|
12444
|
+
<div class="marker-label">${this.$t("measure.totalDistance")}: <b>${c}</b>nm, ${this.$t("measure.bearing")}: <b>${s}</b>°</div>
|
|
12445
12445
|
<div class="marker-label"> ${this.$t("measure.clickTips")}</div>`;
|
|
12446
12446
|
if (this.tipMarker)
|
|
12447
12447
|
this.tipMarker._element.innerHTML = m, this.tipMarker.setLngLat([e[0], e[1]]);
|
|
@@ -12526,9 +12526,9 @@ const Fp = {
|
|
|
12526
12526
|
const i = a[0] - e[0], o = a[1] - e[1];
|
|
12527
12527
|
let r = "center";
|
|
12528
12528
|
o >= 0 && i >= 0 ? r = "bottom-left" : o >= 0 && i < 0 ? r = "bottom-right" : o < 0 && i >= 0 ? r = "top-left" : r = "top-right";
|
|
12529
|
-
const l = Y.lat2pretty(a[1], 4).pretty,
|
|
12530
|
-
|
|
12531
|
-
const m = new Ae.Marker(
|
|
12529
|
+
const l = Y.lat2pretty(a[1], 4).pretty, s = Y.lng2pretty(a[0], 4).pretty, c = document.createElement("div");
|
|
12530
|
+
c.className = "idm-gl4-draw-corner-label " + r, c.innerHTML = `<span class="corner-text">${l} <br/> ${s}</span>`;
|
|
12531
|
+
const m = new Ae.Marker(c, { anchor: r }).setLngLat(a).addTo(this.map);
|
|
12532
12532
|
this.polygonVertexMarkers.push(m);
|
|
12533
12533
|
});
|
|
12534
12534
|
},
|
|
@@ -12562,8 +12562,8 @@ const Fp = {
|
|
|
12562
12562
|
}
|
|
12563
12563
|
}), this.handleRenderCircleCenterLabel([e, a]);
|
|
12564
12564
|
} else {
|
|
12565
|
-
const i = this.drawCoords[0], o = [e, a], r = W.distance(W.point(i), W.point(o), { units: "nauticalmiles" }), l = ut.drawCircle(i[0], i[1], r),
|
|
12566
|
-
this.handleSetDrawSource(
|
|
12565
|
+
const i = this.drawCoords[0], o = [e, a], r = W.distance(W.point(i), W.point(o), { units: "nauticalmiles" }), l = ut.drawCircle(i[0], i[1], r), s = W.featureCollection([W.point(i), l]);
|
|
12566
|
+
this.handleSetDrawSource(s), this.handleRenderAreaLayers(), this.handleRenderRadiusLine(i, o, r), this.drawCoords = [i, o], this.map.off("click", this.handleMapClickCircle), this.map.off("mousemove", this.handleMapMoveCircle);
|
|
12567
12567
|
}
|
|
12568
12568
|
},
|
|
12569
12569
|
handleMapMoveCircle(t) {
|
|
@@ -12591,8 +12591,8 @@ const Fp = {
|
|
|
12591
12591
|
"line-dasharray": [4, 3]
|
|
12592
12592
|
}
|
|
12593
12593
|
});
|
|
12594
|
-
const r = [(t[0] + e[0]) / 2, (t[1] + e[1]) / 2], l = this.map.project(t),
|
|
12595
|
-
let d = Math.atan2(m,
|
|
12594
|
+
const r = [(t[0] + e[0]) / 2, (t[1] + e[1]) / 2], l = this.map.project(t), s = this.map.project(e), c = s.x - l.x, m = s.y - l.y;
|
|
12595
|
+
let d = Math.atan2(m, c) * 180 / Math.PI;
|
|
12596
12596
|
d > 90 && (d -= 180), d < -90 && (d += 180);
|
|
12597
12597
|
const g = 16, f = (d - 90) * Math.PI / 180, p = Math.round(Math.cos(f) * g), u = Math.round(Math.sin(f) * g);
|
|
12598
12598
|
this.circleMarkers.length > 1 && (this.circleMarkers[1].remove(), this.circleMarkers.splice(1, 1));
|
|
@@ -12622,8 +12622,8 @@ const Fp = {
|
|
|
12622
12622
|
else {
|
|
12623
12623
|
const i = this.drawCoords[0], o = [e, a], r = ut.drawRect(i, o);
|
|
12624
12624
|
delete r.bbox;
|
|
12625
|
-
const l = this.buildRectFeatureCollection(i, o),
|
|
12626
|
-
this.handleSetDrawSource(
|
|
12625
|
+
const l = this.buildRectFeatureCollection(i, o), s = W.featureCollection([r, ...l.map((c) => W.point(c))]);
|
|
12626
|
+
this.handleSetDrawSource(s), this.handleRenderRectLayers(), this.handleRenderRectCorners(i, o), this.drawCoords = [i, o], this.map.off("click", this.handleMapClickRect), this.map.off("mousemove", this.handleMapMoveRect);
|
|
12627
12627
|
}
|
|
12628
12628
|
},
|
|
12629
12629
|
handleMapMoveRect(t) {
|
|
@@ -12674,10 +12674,10 @@ const Fp = {
|
|
|
12674
12674
|
{ coord: [i, o], anchor: "top-left" },
|
|
12675
12675
|
{ coord: [a, o], anchor: "top-right" }
|
|
12676
12676
|
];
|
|
12677
|
-
this.handleClearRectCorners(), l.forEach(({ coord:
|
|
12678
|
-
const m = Y.lat2pretty(
|
|
12679
|
-
g.className = "idm-gl4-draw-corner-label " +
|
|
12680
|
-
const f = new Ae.Marker(g, { anchor:
|
|
12677
|
+
this.handleClearRectCorners(), l.forEach(({ coord: s, anchor: c }) => {
|
|
12678
|
+
const m = Y.lat2pretty(s[1], 4).pretty, d = Y.lng2pretty(s[0], 4).pretty, g = document.createElement("div");
|
|
12679
|
+
g.className = "idm-gl4-draw-corner-label " + c, g.innerHTML = `<span class="corner-text">${m} <br/> ${d}</span>`;
|
|
12680
|
+
const f = new Ae.Marker(g, { anchor: c }).setLngLat(s).addTo(this.map);
|
|
12681
12681
|
this.rectCornerMarkers.push(f);
|
|
12682
12682
|
});
|
|
12683
12683
|
},
|
|
@@ -12731,8 +12731,8 @@ const Fp = {
|
|
|
12731
12731
|
var a, i, o, r, l;
|
|
12732
12732
|
this.handleClearTmp(), this.hideDeleteButton();
|
|
12733
12733
|
const e = [this.drawPointLayer, this.drawLineLayer, this.drawFillLayer];
|
|
12734
|
-
for (const
|
|
12735
|
-
(a = this.map) != null && a.getLayer(
|
|
12734
|
+
for (const s of e)
|
|
12735
|
+
(a = this.map) != null && a.getLayer(s) && ((i = this.map) == null || i.removeLayer(s));
|
|
12736
12736
|
(o = this.map) != null && o.getSource(this.drawSource) && this.map.removeSource(this.drawSource), this.drawCoords = [], this.originalProperties = {}, this.handleClearRectCorners(), this.handleClearVertexLabels(), this.handleClearCircleLabels(), (r = this.pointMarker) == null || r.remove(), this.pointMarker = null, (l = this.pointHighlightMarker) == null || l.remove(), this.pointHighlightMarker = null, this.clearEditMarkers(), this.handleRebindMap();
|
|
12737
12737
|
},
|
|
12738
12738
|
// -------- Save --------
|
|
@@ -12744,9 +12744,9 @@ const Fp = {
|
|
|
12744
12744
|
if (r != null && r.valid) {
|
|
12745
12745
|
if (!this.drawCoords.length)
|
|
12746
12746
|
return;
|
|
12747
|
-
const [
|
|
12747
|
+
const [s, c] = this.drawCoords[0];
|
|
12748
12748
|
t = W.featureCollection([
|
|
12749
|
-
ut.drawPoint(
|
|
12749
|
+
ut.drawPoint(c, s, { ...this.originalProperties, color: this.form.color, name: this.form.name })
|
|
12750
12750
|
]), (l = t.features) == null || l.forEach((m) => {
|
|
12751
12751
|
m.properties.color = this.form.color, m.properties.name = this.form.name;
|
|
12752
12752
|
});
|
|
@@ -12755,12 +12755,12 @@ const Fp = {
|
|
|
12755
12755
|
if (r != null && r.valid) {
|
|
12756
12756
|
if (this.drawCoords.length < 2)
|
|
12757
12757
|
return;
|
|
12758
|
-
const l = [],
|
|
12759
|
-
this.drawCoords.map((
|
|
12758
|
+
const l = [], s = pt.generateRouteAccordingToWaypoints(
|
|
12759
|
+
this.drawCoords.map((c) => ({ lng: c == null ? void 0 : c[0], lat: c == null ? void 0 : c[1] }))
|
|
12760
12760
|
);
|
|
12761
|
-
for (const
|
|
12762
|
-
|
|
12763
|
-
ut.drawLine(
|
|
12761
|
+
for (const c of s)
|
|
12762
|
+
c.length > 1 && l.push(
|
|
12763
|
+
ut.drawLine(c, {
|
|
12764
12764
|
properties: {
|
|
12765
12765
|
...this.originalProperties,
|
|
12766
12766
|
color: this.form.color,
|
|
@@ -12771,15 +12771,15 @@ const Fp = {
|
|
|
12771
12771
|
t = W.featureCollection(l);
|
|
12772
12772
|
}
|
|
12773
12773
|
}) : this.markerType === "Area" && await this.$refs.areaForm.validate().then((r) => {
|
|
12774
|
-
var l,
|
|
12774
|
+
var l, s, c;
|
|
12775
12775
|
if (r != null && r.valid) {
|
|
12776
12776
|
const m = (l = this.map) == null ? void 0 : l.getSource(this.drawSource);
|
|
12777
12777
|
if (!m)
|
|
12778
12778
|
return;
|
|
12779
12779
|
const d = m._data;
|
|
12780
|
-
if (!((
|
|
12780
|
+
if (!((s = d == null ? void 0 : d.features) != null && s.length))
|
|
12781
12781
|
return;
|
|
12782
|
-
let g = ((
|
|
12782
|
+
let g = ((c = d.features) == null ? void 0 : c.filter((f) => f.geometry.type === "Polygon")) || [];
|
|
12783
12783
|
if (g = g == null ? void 0 : g.map((f) => (f.properties.name = this.form.name, f.properties.color = this.form.color, f)), !g.length)
|
|
12784
12784
|
return;
|
|
12785
12785
|
t = W.featureCollection(g);
|
|
@@ -12803,8 +12803,8 @@ const Fp = {
|
|
|
12803
12803
|
version: "new"
|
|
12804
12804
|
}
|
|
12805
12805
|
})).then((r) => {
|
|
12806
|
-
var l,
|
|
12807
|
-
((l = r.data) == null ? void 0 : l.code) === 0 && this.$emit("save", { ...e, id: ((
|
|
12806
|
+
var l, s, c, m;
|
|
12807
|
+
((l = r.data) == null ? void 0 : l.code) === 0 && this.$emit("save", { ...e, id: ((s = this.editLayer) == null ? void 0 : s.id) || ((m = (c = r.data) == null ? void 0 : c.data) == null ? void 0 : m.id) }), this.saving = !1;
|
|
12808
12808
|
}).catch((r) => {
|
|
12809
12809
|
console.error("save marker error", r), this.saving = !1;
|
|
12810
12810
|
});
|
|
@@ -12815,7 +12815,7 @@ const Fp = {
|
|
|
12815
12815
|
class: "mb-3"
|
|
12816
12816
|
}, og = { class: "text-label mb-1" }, ig = { class: "mb-1" }, rg = { class: "text-label mb-1" }, lg = { class: "color-picker-row d-flex align-start ga-2" }, ng = ["value"], sg = { class: "mb-n2" }, cg = { class: "text-label mb-1" };
|
|
12817
12817
|
function mg(t, e, a, i, o, r) {
|
|
12818
|
-
const l = P("VBtn"),
|
|
12818
|
+
const l = P("VBtn"), s = P("VCardTitle"), c = P("VDivider"), m = P("VTextField"), d = P("VCardText"), g = P("VBtnToggle"), f = P("VCol"), p = P("VRow"), u = P("VCardActions"), h = P("VForm"), y = P("VCard");
|
|
12819
12819
|
return v(), B(y, {
|
|
12820
12820
|
class: "idm-gl4-draw-dialog-card",
|
|
12821
12821
|
elevation: "4"
|
|
@@ -12823,7 +12823,7 @@ function mg(t, e, a, i, o, r) {
|
|
|
12823
12823
|
default: x(() => {
|
|
12824
12824
|
var z;
|
|
12825
12825
|
return [
|
|
12826
|
-
w(
|
|
12826
|
+
w(s, { class: "d-flex justify-space-between align-center" }, {
|
|
12827
12827
|
default: x(() => {
|
|
12828
12828
|
var L;
|
|
12829
12829
|
return [
|
|
@@ -12845,7 +12845,7 @@ function mg(t, e, a, i, o, r) {
|
|
|
12845
12845
|
}),
|
|
12846
12846
|
_: 1
|
|
12847
12847
|
}),
|
|
12848
|
-
w(
|
|
12848
|
+
w(c),
|
|
12849
12849
|
w(d, { class: "text-body-1 px-4 pb-0" }, {
|
|
12850
12850
|
default: x(() => {
|
|
12851
12851
|
var L;
|
|
@@ -13150,7 +13150,7 @@ function mg(t, e, a, i, o, r) {
|
|
|
13150
13150
|
]),
|
|
13151
13151
|
_: 1
|
|
13152
13152
|
}),
|
|
13153
|
-
w(
|
|
13153
|
+
w(c),
|
|
13154
13154
|
w(u, { class: "w-100 d-flex justify-end align-center ga-4 pa-4" }, {
|
|
13155
13155
|
default: x(() => [
|
|
13156
13156
|
w(l, {
|
|
@@ -13233,7 +13233,7 @@ function mg(t, e, a, i, o, r) {
|
|
|
13233
13233
|
]),
|
|
13234
13234
|
_: 1
|
|
13235
13235
|
}),
|
|
13236
|
-
w(
|
|
13236
|
+
w(c),
|
|
13237
13237
|
w(u, { class: "w-100 d-flex justify-end align-center ga-4 pa-4" }, {
|
|
13238
13238
|
default: x(() => [
|
|
13239
13239
|
w(l, {
|
|
@@ -13380,7 +13380,7 @@ function mg(t, e, a, i, o, r) {
|
|
|
13380
13380
|
}),
|
|
13381
13381
|
_: 1
|
|
13382
13382
|
}),
|
|
13383
|
-
w(
|
|
13383
|
+
w(c),
|
|
13384
13384
|
w(u, { class: "w-100 d-flex justify-end align-center ga-4 pa-4" }, {
|
|
13385
13385
|
default: x(() => {
|
|
13386
13386
|
var L;
|
|
@@ -13521,25 +13521,25 @@ const hg = {
|
|
|
13521
13521
|
this.form.file = t, this.fileError = "", this.form.name = (i = t.name.split(".")) == null ? void 0 : i[0];
|
|
13522
13522
|
const a = (o = t.name.split(".").pop()) == null ? void 0 : o.toLowerCase();
|
|
13523
13523
|
try {
|
|
13524
|
-
let
|
|
13524
|
+
let s;
|
|
13525
13525
|
if (a === "json" || a === "geojson") {
|
|
13526
|
-
const
|
|
13527
|
-
|
|
13526
|
+
const c = await t.text();
|
|
13527
|
+
s = JSON.parse(c);
|
|
13528
13528
|
} else if (a === "kml") {
|
|
13529
|
-
const
|
|
13530
|
-
|
|
13529
|
+
const c = await t.text();
|
|
13530
|
+
s = await ut.convertKML2GeoJSON(c);
|
|
13531
13531
|
} else if (a === "kmz") {
|
|
13532
|
-
const
|
|
13533
|
-
|
|
13532
|
+
const c = await t.arrayBuffer();
|
|
13533
|
+
s = await ut.convertKMZ2GeoJSON(c);
|
|
13534
13534
|
} else if (a === "zip" || a === "shp") {
|
|
13535
|
-
const
|
|
13536
|
-
|
|
13535
|
+
const c = await t.arrayBuffer();
|
|
13536
|
+
s = await ut.convertZIP2GeoJSON(c);
|
|
13537
13537
|
} else {
|
|
13538
13538
|
this.fileError = "Unsupported format: " + a;
|
|
13539
13539
|
return;
|
|
13540
13540
|
}
|
|
13541
|
-
this.form.extend =
|
|
13542
|
-
|
|
13541
|
+
this.form.extend = s, this.form.format = "geojson", (l = (r = this.form.extend) == null ? void 0 : r.features) == null || l.forEach((c) => {
|
|
13542
|
+
c.properties.color = this.form.color;
|
|
13543
13543
|
}), this.handleDrawLayers();
|
|
13544
13544
|
} catch {
|
|
13545
13545
|
this.fileError = "Failed to parse file", this.form.file = null;
|
|
@@ -13595,9 +13595,9 @@ const hg = {
|
|
|
13595
13595
|
return;
|
|
13596
13596
|
const t = this.form.extend, e = this.previewSourceId, a = t.features || (t.type === "Feature" ? [t] : []);
|
|
13597
13597
|
a.forEach((o) => {
|
|
13598
|
-
var l,
|
|
13599
|
-
const r = ((l = o == null ? void 0 : o.properties) == null ? void 0 : l.color) || ((
|
|
13600
|
-
if (((
|
|
13598
|
+
var l, s, c;
|
|
13599
|
+
const r = ((l = o == null ? void 0 : o.properties) == null ? void 0 : l.color) || ((s = this.Theme.current.value.colors) == null ? void 0 : s["map-green"]);
|
|
13600
|
+
if (((c = o.geometry) == null ? void 0 : c.type) === "Point") {
|
|
13601
13601
|
const [m, d] = o.geometry.coordinates;
|
|
13602
13602
|
this.previewMarkers.push(new Ae.Marker({ color: r }).setLngLat([m, d]).addTo(this.map));
|
|
13603
13603
|
}
|
|
@@ -13659,13 +13659,13 @@ const hg = {
|
|
|
13659
13659
|
class: "file-item d-flex align-center justify-space-between mt-2 gray-bg-1 pa-1"
|
|
13660
13660
|
}, zg = { class: "text-body-2 text-truncate" };
|
|
13661
13661
|
function _g(t, e, a, i, o, r) {
|
|
13662
|
-
const l = P("VBtn"),
|
|
13662
|
+
const l = P("VBtn"), s = P("VCardTitle"), c = P("VDivider"), m = P("VTextField"), d = P("VIcon"), g = P("VCardText"), f = P("VCardActions"), p = P("VForm"), u = P("VCard");
|
|
13663
13663
|
return v(), B(u, {
|
|
13664
13664
|
class: "idm-gl4-import-dialog-card",
|
|
13665
13665
|
elevation: "4"
|
|
13666
13666
|
}, {
|
|
13667
13667
|
default: x(() => [
|
|
13668
|
-
w(
|
|
13668
|
+
w(s, { class: "d-flex justify-space-between align-center" }, {
|
|
13669
13669
|
default: x(() => [
|
|
13670
13670
|
n("span", ug, b(t.$t("marker.importLayer")), 1),
|
|
13671
13671
|
w(l, {
|
|
@@ -13684,7 +13684,7 @@ function _g(t, e, a, i, o, r) {
|
|
|
13684
13684
|
]),
|
|
13685
13685
|
_: 1
|
|
13686
13686
|
}),
|
|
13687
|
-
w(
|
|
13687
|
+
w(c),
|
|
13688
13688
|
w(p, {
|
|
13689
13689
|
ref: "importForm",
|
|
13690
13690
|
autocomplete: "off",
|
|
@@ -13800,7 +13800,7 @@ function _g(t, e, a, i, o, r) {
|
|
|
13800
13800
|
]),
|
|
13801
13801
|
_: 1
|
|
13802
13802
|
}),
|
|
13803
|
-
w(
|
|
13803
|
+
w(c),
|
|
13804
13804
|
w(f, { class: "w-100 d-flex justify-end align-center ga-4 pa-4" }, {
|
|
13805
13805
|
default: x(() => [
|
|
13806
13806
|
w(l, {
|
|
@@ -13899,7 +13899,7 @@ const Mg = {
|
|
|
13899
13899
|
}
|
|
13900
13900
|
}, Pg = { class: "text-h6 font-weight-600" }, Sg = { class: "text-label mb-2" };
|
|
13901
13901
|
function Tg(t, e, a, i, o, r) {
|
|
13902
|
-
const l = P("VBtn"),
|
|
13902
|
+
const l = P("VBtn"), s = P("VCardTitle"), c = P("VDivider"), m = P("VTextField"), d = P("VCardText"), g = P("VCardActions"), f = P("VCard"), p = P("VDialog");
|
|
13903
13903
|
return v(), B(p, {
|
|
13904
13904
|
"model-value": a.modelValue,
|
|
13905
13905
|
"max-width": "320",
|
|
@@ -13912,7 +13912,7 @@ function Tg(t, e, a, i, o, r) {
|
|
|
13912
13912
|
elevation: "4"
|
|
13913
13913
|
}, {
|
|
13914
13914
|
default: x(() => [
|
|
13915
|
-
w(
|
|
13915
|
+
w(s, { class: "d-flex justify-space-between align-center" }, {
|
|
13916
13916
|
default: x(() => [
|
|
13917
13917
|
n("span", Pg, b(t.$t("actions.editGroup")), 1),
|
|
13918
13918
|
w(l, {
|
|
@@ -13931,7 +13931,7 @@ function Tg(t, e, a, i, o, r) {
|
|
|
13931
13931
|
]),
|
|
13932
13932
|
_: 1
|
|
13933
13933
|
}),
|
|
13934
|
-
w(
|
|
13934
|
+
w(c),
|
|
13935
13935
|
w(d, { class: "px-4 text-body-1" }, {
|
|
13936
13936
|
default: x(() => [
|
|
13937
13937
|
n("div", Sg, [
|
|
@@ -13952,7 +13952,7 @@ function Tg(t, e, a, i, o, r) {
|
|
|
13952
13952
|
]),
|
|
13953
13953
|
_: 1
|
|
13954
13954
|
}),
|
|
13955
|
-
w(
|
|
13955
|
+
w(c),
|
|
13956
13956
|
w(g, { class: "w-100 d-flex justify-end align-center ga-4 pa-4" }, {
|
|
13957
13957
|
default: x(() => [
|
|
13958
13958
|
w(l, {
|
|
@@ -14022,7 +14022,7 @@ const Rg = /* @__PURE__ */ le(Mg, [["render", Tg]]), Dg = {
|
|
|
14022
14022
|
}
|
|
14023
14023
|
}, Ig = { class: "text-body-1 pb-1" }, Eg = { class: "text-body-1" };
|
|
14024
14024
|
function Fg(t, e, a, i, o, r) {
|
|
14025
|
-
const l = P("VIcon"),
|
|
14025
|
+
const l = P("VIcon"), s = P("VBtn"), c = P("VCardTitle"), m = P("VCardText"), d = P("VCardActions"), g = P("VCard"), f = P("VDialog");
|
|
14026
14026
|
return v(), B(f, {
|
|
14027
14027
|
modelValue: o.showDialog,
|
|
14028
14028
|
"onUpdate:modelValue": e[0] || (e[0] = (p) => o.showDialog = p),
|
|
@@ -14033,7 +14033,7 @@ function Fg(t, e, a, i, o, r) {
|
|
|
14033
14033
|
default: x(() => [
|
|
14034
14034
|
w(g, { class: "" }, {
|
|
14035
14035
|
default: x(() => [
|
|
14036
|
-
w(
|
|
14036
|
+
w(c, { class: "text-h6 font-weight-600 d-flex justify-center align-center py-4" }, {
|
|
14037
14037
|
default: x(() => [
|
|
14038
14038
|
w(l, {
|
|
14039
14039
|
color: "warning",
|
|
@@ -14042,7 +14042,7 @@ function Fg(t, e, a, i, o, r) {
|
|
|
14042
14042
|
class: "mr-2"
|
|
14043
14043
|
}),
|
|
14044
14044
|
n("div", null, b(a.title), 1),
|
|
14045
|
-
w(
|
|
14045
|
+
w(s, {
|
|
14046
14046
|
icon: "",
|
|
14047
14047
|
density: "compact",
|
|
14048
14048
|
variant: "plain",
|
|
@@ -14067,7 +14067,7 @@ function Fg(t, e, a, i, o, r) {
|
|
|
14067
14067
|
}),
|
|
14068
14068
|
w(d, { class: "w-100 d-flex justify-center align-center ga-8 py-6" }, {
|
|
14069
14069
|
default: x(() => [
|
|
14070
|
-
w(
|
|
14070
|
+
w(s, {
|
|
14071
14071
|
variant: "tonal",
|
|
14072
14072
|
class: "text-none text-body-1",
|
|
14073
14073
|
height: "32",
|
|
@@ -14078,7 +14078,7 @@ function Fg(t, e, a, i, o, r) {
|
|
|
14078
14078
|
]),
|
|
14079
14079
|
_: 1
|
|
14080
14080
|
}, 8, ["onClick"]),
|
|
14081
|
-
w(
|
|
14081
|
+
w(s, {
|
|
14082
14082
|
loading: a.loading,
|
|
14083
14083
|
variant: "flat",
|
|
14084
14084
|
color: "danger",
|
|
@@ -14262,18 +14262,18 @@ const Bg = {
|
|
|
14262
14262
|
var e, a, i, o, r, l;
|
|
14263
14263
|
if (((e = t.data) == null ? void 0 : e.code) === 0) {
|
|
14264
14264
|
this.loading = !1, this.layerGroup = ((o = (i = (a = t.data) == null ? void 0 : a.data) == null ? void 0 : i.rows) == null ? void 0 : o.reverse()) || [];
|
|
14265
|
-
const
|
|
14266
|
-
(r = this.layerGroup) == null || r.forEach((
|
|
14265
|
+
const s = [];
|
|
14266
|
+
(r = this.layerGroup) == null || r.forEach((c) => {
|
|
14267
14267
|
var m;
|
|
14268
|
-
|
|
14268
|
+
c.show = !0, (m = c.layers) == null || m.forEach((d) => {
|
|
14269
14269
|
var f;
|
|
14270
|
-
d.layerGroupId =
|
|
14270
|
+
d.layerGroupId = c.id;
|
|
14271
14271
|
const g = typeof d.extend == "string" ? JSON.parse(d.extend) : d.extend;
|
|
14272
14272
|
(f = g == null ? void 0 : g.features) == null || f.forEach((p) => {
|
|
14273
|
-
p.properties.lgId =
|
|
14274
|
-
}),
|
|
14273
|
+
p.properties.lgId = c.id, p.properties.layerId = d.id, p.properties.name || (p.properties.name = d.name);
|
|
14274
|
+
}), s.push(d);
|
|
14275
14275
|
});
|
|
14276
|
-
}), this.layers =
|
|
14276
|
+
}), this.layers = s, this.handleDrawAllLayers(), (l = this.$refs.drawDialog) == null || l.handleClearDraw();
|
|
14277
14277
|
}
|
|
14278
14278
|
}).catch(() => {
|
|
14279
14279
|
this.loading = !1;
|
|
@@ -14301,16 +14301,16 @@ const Bg = {
|
|
|
14301
14301
|
const a = `marker-layer-${t.id}`;
|
|
14302
14302
|
this.handleClearLayerMarkers(t.id);
|
|
14303
14303
|
const i = e.features || (e.type === "Feature" ? [e] : []);
|
|
14304
|
-
if (i.some((
|
|
14305
|
-
var
|
|
14306
|
-
return (((
|
|
14304
|
+
if (i.some((s) => {
|
|
14305
|
+
var c, m;
|
|
14306
|
+
return (((c = s.geometry) == null ? void 0 : c.type) === "Point" || ((m = s.geometry) == null ? void 0 : m.type) === "MultiPoint") && s.properties.shape === "point";
|
|
14307
14307
|
})) {
|
|
14308
|
-
const
|
|
14309
|
-
i.forEach((
|
|
14308
|
+
const s = [];
|
|
14309
|
+
i.forEach((c) => {
|
|
14310
14310
|
var f, p, u, h;
|
|
14311
|
-
const m = (f =
|
|
14311
|
+
const m = (f = c.geometry) == null ? void 0 : f.type, d = ((p = c.properties) == null ? void 0 : p.name) || "", g = ((u = c.properties) == null ? void 0 : u.color) || t.color || ((h = this.Theme.current.value.colors) == null ? void 0 : h["map-green"]);
|
|
14312
14312
|
if (m === "Point") {
|
|
14313
|
-
const [y, z] =
|
|
14313
|
+
const [y, z] = c.geometry.coordinates, L = `<div style="font-size:12px;line-height:1.5;">
|
|
14314
14314
|
<div style="font-weight:600;">${d}</div>
|
|
14315
14315
|
<div>${Y.lat2pretty(z, 4).pretty}, ${Y.lng2pretty(y, 4).pretty}</div>
|
|
14316
14316
|
</div>`, A = new Ae.Popup({
|
|
@@ -14320,9 +14320,9 @@ const Bg = {
|
|
|
14320
14320
|
anchor: "bottom",
|
|
14321
14321
|
className: "marker-popup-dark"
|
|
14322
14322
|
}).setHTML(L), _ = new Ae.Marker({ color: g }).setLngLat([y, z]).addTo(this.map), M = _.getElement();
|
|
14323
|
-
M.addEventListener("mouseenter", () => A.setLngLat([y, z]).addTo(this.map)), M.addEventListener("mouseleave", () => A.remove()),
|
|
14323
|
+
M.addEventListener("mouseenter", () => A.setLngLat([y, z]).addTo(this.map)), M.addEventListener("mouseleave", () => A.remove()), s.push(_);
|
|
14324
14324
|
} else
|
|
14325
|
-
m === "MultiPoint" &&
|
|
14325
|
+
m === "MultiPoint" && c.geometry.coordinates.forEach(([y, z]) => {
|
|
14326
14326
|
const L = `<div style="font-size:12px;line-height:1.5;">
|
|
14327
14327
|
<div style="font-weight:600;">${d}</div>
|
|
14328
14328
|
<div>${Y.lat2pretty(z, 4).pretty}, ${Y.lng2pretty(y, 4).pretty}</div>
|
|
@@ -14333,15 +14333,15 @@ const Bg = {
|
|
|
14333
14333
|
anchor: "bottom",
|
|
14334
14334
|
className: "marker-popup-dark"
|
|
14335
14335
|
}).setHTML(L), _ = new Ae.Marker({ color: g }).setLngLat([y, z]).addTo(this.map), M = _.getElement();
|
|
14336
|
-
M.addEventListener("mouseenter", () => A.setLngLat([y, z]).addTo(this.map)), M.addEventListener("mouseleave", () => A.remove()),
|
|
14336
|
+
M.addEventListener("mouseenter", () => A.setLngLat([y, z]).addTo(this.map)), M.addEventListener("mouseleave", () => A.remove()), s.push(_);
|
|
14337
14337
|
});
|
|
14338
|
-
}), this.layerMarkers[t.id] =
|
|
14338
|
+
}), this.layerMarkers[t.id] = s;
|
|
14339
14339
|
}
|
|
14340
14340
|
this.map.getSource(a) ? this.map.getSource(a).setData(e) : this.map.addSource(a, { type: "geojson", data: e });
|
|
14341
14341
|
const r = /* @__PURE__ */ new Set();
|
|
14342
|
-
(e.features || (e.type === "Feature" ? [e] : [])).forEach((
|
|
14343
|
-
var
|
|
14344
|
-
return r.add((
|
|
14342
|
+
(e.features || (e.type === "Feature" ? [e] : [])).forEach((s) => {
|
|
14343
|
+
var c;
|
|
14344
|
+
return r.add((c = s.geometry) == null ? void 0 : c.type);
|
|
14345
14345
|
}), (r.has("LineString") || r.has("MultiLineString")) && !this.map.getLayer(`${a}-line`) && (this.map.addLayer({
|
|
14346
14346
|
id: `${a}-line`,
|
|
14347
14347
|
type: "line",
|
|
@@ -14486,13 +14486,13 @@ const Bg = {
|
|
|
14486
14486
|
};
|
|
14487
14487
|
function lf(t, e, a, i, o, r) {
|
|
14488
14488
|
var S;
|
|
14489
|
-
const l = P("VBtn"),
|
|
14489
|
+
const l = P("VBtn"), s = P("VTooltip"), c = P("VSwitch"), m = P("VIcon"), d = P("VTextField"), g = P("VProgressCircular"), f = P("VChip"), p = P("VListItemTitle"), u = P("VListItem"), h = P("VList"), y = P("VCard"), z = P("VMenu"), L = P("VDivider"), A = P("IdmDrawMarker"), _ = P("IdmImportMarker"), M = P("IdmGroupDialog"), C = P("DeleteDialog");
|
|
14490
14490
|
return v(), D("div", jg, [
|
|
14491
14491
|
n("div", {
|
|
14492
14492
|
class: "menu-bar-box transition pa-1",
|
|
14493
14493
|
style: pe({ top: a.top + a.paddingTop + 206 + "px", right: o.right + "px" })
|
|
14494
14494
|
}, [
|
|
14495
|
-
w(
|
|
14495
|
+
w(s, {
|
|
14496
14496
|
text: t.$t("marker.markers"),
|
|
14497
14497
|
location: "left",
|
|
14498
14498
|
interactive: !0,
|
|
@@ -14526,7 +14526,7 @@ function lf(t, e, a, i, o, r) {
|
|
|
14526
14526
|
n("div", Wg, [
|
|
14527
14527
|
n("div", Zg, [
|
|
14528
14528
|
n("div", Vg, b(t.$t("marker.markers")), 1),
|
|
14529
|
-
w(
|
|
14529
|
+
w(c, {
|
|
14530
14530
|
modelValue: o.autoActive,
|
|
14531
14531
|
"onUpdate:modelValue": e[0] || (e[0] = (R) => o.autoActive = R),
|
|
14532
14532
|
class: "small-switch",
|
|
@@ -14934,16 +14934,16 @@ function eo(t) {
|
|
|
14934
14934
|
}
|
|
14935
14935
|
function mf(t = "[snapDOM]", { ttlMs: e = 5 * 6e4, maxEntries: a = 12 } = {}) {
|
|
14936
14936
|
let i = /* @__PURE__ */ new Map(), o = 0;
|
|
14937
|
-
function r(l,
|
|
14937
|
+
function r(l, s, c) {
|
|
14938
14938
|
if (o >= a)
|
|
14939
14939
|
return;
|
|
14940
14940
|
let m = Date.now();
|
|
14941
|
-
(i.get(
|
|
14941
|
+
(i.get(s) || 0) > m || (i.set(s, m + e), o++, l === "warn" && console && console.warn ? console.warn(`${t} ${c}`) : console && console.error && console.error(`${t} ${c}`));
|
|
14942
14942
|
}
|
|
14943
|
-
return { warnOnce(l,
|
|
14944
|
-
r("warn", l,
|
|
14945
|
-
}, errorOnce(l,
|
|
14946
|
-
r("error", l,
|
|
14943
|
+
return { warnOnce(l, s) {
|
|
14944
|
+
r("warn", l, s);
|
|
14945
|
+
}, errorOnce(l, s) {
|
|
14946
|
+
r("error", l, s);
|
|
14947
14947
|
}, reset() {
|
|
14948
14948
|
i.clear(), o = 0;
|
|
14949
14949
|
} };
|
|
@@ -14998,7 +14998,7 @@ function gf(t, e) {
|
|
|
14998
14998
|
return [e.as || "blob", e.timeout ?? 3e3, e.useProxy || "", e.errorTTL ?? 8e3, t].join("|");
|
|
14999
14999
|
}
|
|
15000
15000
|
async function ca(t, e = {}) {
|
|
15001
|
-
let a = e.as ?? "blob", i = e.timeout ?? 3e3, o = e.useProxy || "", r = e.errorTTL ?? 8e3, l = e.headers || {},
|
|
15001
|
+
let a = e.as ?? "blob", i = e.timeout ?? 3e3, o = e.useProxy || "", r = e.errorTTL ?? 8e3, l = e.headers || {}, s = !!e.silent;
|
|
15002
15002
|
if (/^data:/i.test(t))
|
|
15003
15003
|
try {
|
|
15004
15004
|
if (a === "text")
|
|
@@ -15022,11 +15022,11 @@ async function ca(t, e = {}) {
|
|
|
15022
15022
|
}
|
|
15023
15023
|
if (/^about:blank$/i.test(t))
|
|
15024
15024
|
return a === "dataURL" ? { ok: !0, data: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR4nGMAAQAABQABDQottAAAAABJRU5ErkJggg==", status: 200, url: t, fromCache: !1, mime: "image/png" } : { ok: !0, data: a === "text" ? "" : new Blob([]), status: 200, url: t, fromCache: !1 };
|
|
15025
|
-
let
|
|
15025
|
+
let c = gf(t, { as: a, timeout: i, useProxy: o, errorTTL: r }), m = Ha.get(c);
|
|
15026
15026
|
if (m && m.until > Date.now())
|
|
15027
15027
|
return { ...m.result, fromCache: !0 };
|
|
15028
|
-
m && Ha.delete(
|
|
15029
|
-
let d = io.get(
|
|
15028
|
+
m && Ha.delete(c);
|
|
15029
|
+
let d = io.get(c);
|
|
15030
15030
|
if (d)
|
|
15031
15031
|
return d;
|
|
15032
15032
|
let g = uf(t, o) ? pf(t, o) : t, f = e.credentials;
|
|
@@ -15042,7 +15042,7 @@ async function ca(t, e = {}) {
|
|
|
15042
15042
|
let y = await fetch(g, { signal: p.signal, credentials: f, headers: l });
|
|
15043
15043
|
if (!y.ok) {
|
|
15044
15044
|
let A = { ok: !1, data: null, status: y.status, url: g, fromCache: !1, reason: "http_error" };
|
|
15045
|
-
if (r > 0 && Ha.set(
|
|
15045
|
+
if (r > 0 && Ha.set(c, { until: Date.now() + r, result: A }), !s) {
|
|
15046
15046
|
let _ = `${y.status} ${y.statusText || ""}`.trim();
|
|
15047
15047
|
fr.warnOnce(`http:${y.status}:${a}:${new URL(t, (location == null ? void 0 : location.href) ?? "http://localhost/").origin}`, `HTTP error ${_} while fetching ${a} ${t}`);
|
|
15048
15048
|
}
|
|
@@ -15054,16 +15054,16 @@ async function ca(t, e = {}) {
|
|
|
15054
15054
|
return a === "dataURL" ? { ok: !0, data: await yr(z), status: y.status, url: g, fromCache: !1, mime: L } : { ok: !0, data: z, status: y.status, url: g, fromCache: !1, mime: L };
|
|
15055
15055
|
} catch (y) {
|
|
15056
15056
|
let z = y && typeof y == "object" && "name" in y && y.name === "AbortError" ? String(y.message || "").includes("timeout") ? "timeout" : "abort" : "network", L = { ok: !1, data: null, status: 0, url: g, fromCache: !1, reason: z };
|
|
15057
|
-
if (!/^blob:/i.test(t) && r > 0 && Ha.set(
|
|
15057
|
+
if (!/^blob:/i.test(t) && r > 0 && Ha.set(c, { until: Date.now() + r, result: L }), !s) {
|
|
15058
15058
|
let A = `${z}:${a}:${new URL(t, (location == null ? void 0 : location.href) ?? "http://localhost/").origin}`, _ = z === "timeout" ? `Timeout after ${i}ms. Consider increasing timeout or using a proxy for ${t}` : z === "abort" ? `Request aborted while fetching ${a} ${t}` : `Network/CORS issue while fetching ${a} ${t}. A proxy may be required`;
|
|
15059
15059
|
fr.errorOnce(A, _);
|
|
15060
15060
|
}
|
|
15061
15061
|
return e.onError && e.onError(L), L;
|
|
15062
15062
|
} finally {
|
|
15063
|
-
clearTimeout(u), io.delete(
|
|
15063
|
+
clearTimeout(u), io.delete(c);
|
|
15064
15064
|
}
|
|
15065
15065
|
})();
|
|
15066
|
-
return io.set(
|
|
15066
|
+
return io.set(c, h), h;
|
|
15067
15067
|
}
|
|
15068
15068
|
async function jr(t, e = {}) {
|
|
15069
15069
|
if (/^((repeating-)?(linear|radial|conic)-gradient)\(/i.test(t) || t.trim() === "none")
|
|
@@ -15131,7 +15131,7 @@ function Af(t) {
|
|
|
15131
15131
|
let o = O.defaultStyle.get(i);
|
|
15132
15132
|
if (!o)
|
|
15133
15133
|
continue;
|
|
15134
|
-
let r = Object.entries(o).map(([l,
|
|
15134
|
+
let r = Object.entries(o).map(([l, s]) => `${l}:${s};`).sort().join("");
|
|
15135
15135
|
r && (e.has(r) || e.set(r, []), e.get(r).push(i));
|
|
15136
15136
|
}
|
|
15137
15137
|
let a = "";
|
|
@@ -15200,10 +15200,10 @@ async function Mf(t, e, a) {
|
|
|
15200
15200
|
return { familyForMeasure: i, familyForCanvas: i };
|
|
15201
15201
|
if (!/\bmaterial\s*symbols\b/.test(o))
|
|
15202
15202
|
return { familyForMeasure: i, familyForCanvas: i };
|
|
15203
|
-
let l = a && (a.FILL ?? a.fill),
|
|
15204
|
-
/\brounded\b/.test(r) || /\bround\b/.test(r) ?
|
|
15205
|
-
let
|
|
15206
|
-
if (
|
|
15203
|
+
let l = a && (a.FILL ?? a.fill), s = "outlined";
|
|
15204
|
+
/\brounded\b/.test(r) || /\bround\b/.test(r) ? s = "rounded" : /\bsharp\b/.test(r) ? s = "sharp" : /\boutlined\b/.test(r) && (s = "outlined");
|
|
15205
|
+
let c = l === 1, m = null;
|
|
15206
|
+
if (c && (s === "outlined" && fa.materialIconsFilled ? m = { url: fa.materialIconsFilled, alias: "snapdom-mi-filled" } : s === "rounded" && fa.materialIconsRound ? m = { url: fa.materialIconsRound, alias: "snapdom-mi-round" } : s === "sharp" && fa.materialIconsSharp && (m = { url: fa.materialIconsSharp, alias: "snapdom-mi-sharp" })), !m)
|
|
15207
15207
|
return { familyForMeasure: i, familyForCanvas: i };
|
|
15208
15208
|
if (!wr.has(m.alias))
|
|
15209
15209
|
try {
|
|
@@ -15230,16 +15230,16 @@ function Sf(t) {
|
|
|
15230
15230
|
return i && i !== "inherit" ? i : "#000";
|
|
15231
15231
|
}
|
|
15232
15232
|
async function Tf(t, { family: e = "Material Icons", weight: a = "normal", fontSize: i = 32, color: o = "#000", variation: r = "", className: l = "" } = {}) {
|
|
15233
|
-
let
|
|
15233
|
+
let s = String(e || "").replace(/^['"]+|['"]+$/g, ""), c = window.devicePixelRatio || 1, m = Cf(r), { familyForMeasure: d, familyForCanvas: g } = await Mf(s, l, m);
|
|
15234
15234
|
await Pf(g.replace(/^["']+|["']+$/g, ""), i);
|
|
15235
15235
|
let f = document.createElement("span");
|
|
15236
15236
|
f.textContent = t, f.style.position = "absolute", f.style.visibility = "hidden", f.style.left = "-99999px", f.style.whiteSpace = "nowrap", f.style.fontFamily = d, f.style.fontWeight = String(a || "normal"), f.style.fontSize = `${i}px`, f.style.lineHeight = "1", f.style.margin = "0", f.style.padding = "0", f.style.fontFeatureSettings = "'liga' 1", f.style.fontVariantLigatures = "normal", f.style.color = o, document.body.appendChild(f);
|
|
15237
15237
|
let p = f.getBoundingClientRect(), u = Math.max(1, Math.ceil(p.width)), h = Math.max(1, Math.ceil(p.height));
|
|
15238
15238
|
document.body.removeChild(f);
|
|
15239
15239
|
let y = document.createElement("canvas");
|
|
15240
|
-
y.width = u *
|
|
15240
|
+
y.width = u * c, y.height = h * c;
|
|
15241
15241
|
let z = y.getContext("2d");
|
|
15242
|
-
z.scale(
|
|
15242
|
+
z.scale(c, c), z.font = `${a ? `${a} ` : ""}${i}px ${g}`, z.textAlign = "left", z.textBaseline = "top", z.fillStyle = o;
|
|
15243
15243
|
try {
|
|
15244
15244
|
z.fontKerning = "normal";
|
|
15245
15245
|
} catch {
|
|
@@ -15254,18 +15254,18 @@ async function Rf(t, e) {
|
|
|
15254
15254
|
return 0;
|
|
15255
15255
|
let o = e instanceof Element ? Array.from(e.querySelectorAll(a)).filter((l) => l && l.textContent && l.textContent.trim()) : [], r = 0;
|
|
15256
15256
|
for (let l = 0; l < i.length; l++) {
|
|
15257
|
-
let
|
|
15257
|
+
let s = i[l], c = o[l] || null;
|
|
15258
15258
|
try {
|
|
15259
|
-
let m = getComputedStyle(
|
|
15259
|
+
let m = getComputedStyle(c || s), d = m.fontFamily || "Material Icons";
|
|
15260
15260
|
if (!_f(d))
|
|
15261
15261
|
continue;
|
|
15262
|
-
let g = (
|
|
15262
|
+
let g = (c || s).textContent.trim();
|
|
15263
15263
|
if (!g)
|
|
15264
15264
|
continue;
|
|
15265
|
-
let f = parseInt(m.fontSize, 10) || 24, p = m.fontWeight && m.fontWeight !== "normal" ? m.fontWeight : "normal", u = Sf(m), h = m.fontVariationSettings && m.fontVariationSettings !== "normal" ? m.fontVariationSettings : "", y = (
|
|
15266
|
-
|
|
15267
|
-
let _ =
|
|
15268
|
-
_.src = z, _.alt = g, _.style.height = `${f}px`, _.style.width = `${Math.max(1, Math.round(L / A * f))}px`, _.style.objectFit = "contain", _.style.verticalAlign = getComputedStyle(
|
|
15265
|
+
let f = parseInt(m.fontSize, 10) || 24, p = m.fontWeight && m.fontWeight !== "normal" ? m.fontWeight : "normal", u = Sf(m), h = m.fontVariationSettings && m.fontVariationSettings !== "normal" ? m.fontVariationSettings : "", y = (c || s).className || "", { dataUrl: z, width: L, height: A } = await Tf(g, { family: d, weight: p, fontSize: f, color: u, variation: h, className: y });
|
|
15266
|
+
s.textContent = "";
|
|
15267
|
+
let _ = s.ownerDocument.createElement("img");
|
|
15268
|
+
_.src = z, _.alt = g, _.style.height = `${f}px`, _.style.width = `${Math.max(1, Math.round(L / A * f))}px`, _.style.objectFit = "contain", _.style.verticalAlign = getComputedStyle(s).verticalAlign || "baseline", s.appendChild(_), r++;
|
|
15269
15269
|
} catch {
|
|
15270
15270
|
}
|
|
15271
15271
|
}
|
|
@@ -15280,12 +15280,12 @@ async function Df(t, e, a, i = 32, o = "#000") {
|
|
|
15280
15280
|
}
|
|
15281
15281
|
let l = document.createElement("span");
|
|
15282
15282
|
l.textContent = t, l.style.position = "absolute", l.style.visibility = "hidden", l.style.fontFamily = `"${e}"`, l.style.fontWeight = a || "normal", l.style.fontSize = `${i}px`, l.style.lineHeight = "1", l.style.whiteSpace = "nowrap", l.style.padding = "0", l.style.margin = "0", document.body.appendChild(l);
|
|
15283
|
-
let
|
|
15283
|
+
let s = l.getBoundingClientRect(), c = Math.ceil(s.width), m = Math.ceil(s.height);
|
|
15284
15284
|
document.body.removeChild(l);
|
|
15285
15285
|
let d = document.createElement("canvas");
|
|
15286
|
-
d.width = Math.max(1,
|
|
15286
|
+
d.width = Math.max(1, c * r), d.height = Math.max(1, m * r);
|
|
15287
15287
|
let g = d.getContext("2d");
|
|
15288
|
-
return g.scale(r, r), g.font = a ? `${a} ${i}px "${e}"` : `${i}px "${e}"`, g.textAlign = "left", g.textBaseline = "top", g.fillStyle = o, g.fillText(t, 0, 0), { dataUrl: d.toDataURL(), width:
|
|
15288
|
+
return g.scale(r, r), g.font = a ? `${a} ${i}px "${e}"` : `${i}px "${e}"`, g.textAlign = "left", g.textBaseline = "top", g.fillStyle = o, g.fillText(t, 0, 0), { dataUrl: d.toDataURL(), width: c, height: m };
|
|
15289
15289
|
}
|
|
15290
15290
|
var If = /* @__PURE__ */ new Set(["serif", "sans-serif", "monospace", "cursive", "fantasy", "system-ui", "emoji", "math", "fangsong", "ui-serif", "ui-sans-serif", "ui-monospace", "ui-rounded"]);
|
|
15291
15291
|
function oo(t) {
|
|
@@ -15351,8 +15351,8 @@ function jf(t, e) {
|
|
|
15351
15351
|
if (/\bfont(s)?\b/.test(o) || /\.woff2?(\b|$)/.test(o))
|
|
15352
15352
|
return !0;
|
|
15353
15353
|
for (let r of e) {
|
|
15354
|
-
let l = r.toLowerCase().replace(/\s+/g, "+"),
|
|
15355
|
-
if (o.includes(l) || o.includes(
|
|
15354
|
+
let l = r.toLowerCase().replace(/\s+/g, "+"), s = r.toLowerCase().replace(/\s+/g, "-");
|
|
15355
|
+
if (o.includes(l) || o.includes(s))
|
|
15356
15356
|
return !0;
|
|
15357
15357
|
}
|
|
15358
15358
|
return !1;
|
|
@@ -15387,20 +15387,20 @@ async function Wf(t, e, a) {
|
|
|
15387
15387
|
if (!t)
|
|
15388
15388
|
return t;
|
|
15389
15389
|
let i = /* @__PURE__ */ new Set();
|
|
15390
|
-
function o(
|
|
15390
|
+
function o(s, c) {
|
|
15391
15391
|
try {
|
|
15392
|
-
return new URL(
|
|
15392
|
+
return new URL(s, c || location.href).href;
|
|
15393
15393
|
} catch {
|
|
15394
|
-
return
|
|
15394
|
+
return s;
|
|
15395
15395
|
}
|
|
15396
15396
|
}
|
|
15397
|
-
async function r(
|
|
15397
|
+
async function r(s, c, m = 0) {
|
|
15398
15398
|
if (m > to)
|
|
15399
|
-
return console.warn(`[snapDOM] @import depth exceeded (${to}) at ${
|
|
15399
|
+
return console.warn(`[snapDOM] @import depth exceeded (${to}) at ${c}`), s;
|
|
15400
15400
|
let d = "", g = 0, f;
|
|
15401
|
-
for (; f = co.exec(
|
|
15402
|
-
d +=
|
|
15403
|
-
let p = (f[2] || f[4] || "").trim(), u = o(p,
|
|
15401
|
+
for (; f = co.exec(s); ) {
|
|
15402
|
+
d += s.slice(g, f.index), g = co.lastIndex;
|
|
15403
|
+
let p = (f[2] || f[4] || "").trim(), u = o(p, c);
|
|
15404
15404
|
if (i.has(u)) {
|
|
15405
15405
|
console.warn(`[snapDOM] Skipping circular @import: ${u}`);
|
|
15406
15406
|
continue;
|
|
@@ -15417,7 +15417,7 @@ async function Wf(t, e, a) {
|
|
|
15417
15417
|
${h}
|
|
15418
15418
|
`) : d += f[0];
|
|
15419
15419
|
}
|
|
15420
|
-
return d +=
|
|
15420
|
+
return d += s.slice(g), d;
|
|
15421
15421
|
}
|
|
15422
15422
|
let l = xr(t, e || location.href);
|
|
15423
15423
|
return l = await r(l, e || location.href, 0), l;
|
|
@@ -15431,18 +15431,18 @@ function Xr(t) {
|
|
|
15431
15431
|
let o = i.match(/^U\+([0-9A-Fa-f?]+)(?:-([0-9A-Fa-f?]+))?$/);
|
|
15432
15432
|
if (!o)
|
|
15433
15433
|
continue;
|
|
15434
|
-
let r = o[1], l = o[2],
|
|
15435
|
-
if (!
|
|
15436
|
-
return parseInt(
|
|
15437
|
-
let m = parseInt(
|
|
15434
|
+
let r = o[1], l = o[2], s = (c) => {
|
|
15435
|
+
if (!c.includes("?"))
|
|
15436
|
+
return parseInt(c, 16);
|
|
15437
|
+
let m = parseInt(c.replace(/\?/g, "0"), 16), d = parseInt(c.replace(/\?/g, "F"), 16);
|
|
15438
15438
|
return [m, d];
|
|
15439
15439
|
};
|
|
15440
15440
|
if (l) {
|
|
15441
|
-
let
|
|
15441
|
+
let c = s(r), m = s(l), d = Array.isArray(c) ? c[0] : c, g = Array.isArray(m) ? m[1] : m;
|
|
15442
15442
|
e.push([Math.min(d, g), Math.max(d, g)]);
|
|
15443
15443
|
} else {
|
|
15444
|
-
let
|
|
15445
|
-
Array.isArray(
|
|
15444
|
+
let c = s(r);
|
|
15445
|
+
Array.isArray(c) ? e.push([c[0], c[1]]) : e.push([c, c]);
|
|
15446
15446
|
}
|
|
15447
15447
|
}
|
|
15448
15448
|
return e;
|
|
@@ -15474,7 +15474,7 @@ function xo(t, e) {
|
|
|
15474
15474
|
return a;
|
|
15475
15475
|
}
|
|
15476
15476
|
async function Hr(t, e, a = "") {
|
|
15477
|
-
var o, r, l,
|
|
15477
|
+
var o, r, l, s, c;
|
|
15478
15478
|
let i = t;
|
|
15479
15479
|
for (let m of t.matchAll(Vr)) {
|
|
15480
15480
|
let d = bo(m[0]);
|
|
@@ -15496,7 +15496,7 @@ async function Hr(t, e, a = "") {
|
|
|
15496
15496
|
let f = await ca(g, { as: "dataURL", useProxy: a, silent: !0 });
|
|
15497
15497
|
if (f.ok && typeof f.data == "string") {
|
|
15498
15498
|
let p = f.data;
|
|
15499
|
-
(
|
|
15499
|
+
(s = O.resource) == null || s.set(g, p), (c = O.font) == null || c.add(g), i = i.replace(m[0], `url(${p})`);
|
|
15500
15500
|
}
|
|
15501
15501
|
} catch {
|
|
15502
15502
|
console.warn("[snapDOM] Failed to fetch font resource:", g);
|
|
@@ -15508,7 +15508,7 @@ async function Hr(t, e, a = "") {
|
|
|
15508
15508
|
function Vf(t) {
|
|
15509
15509
|
if (!t.length)
|
|
15510
15510
|
return null;
|
|
15511
|
-
let e = (l,
|
|
15511
|
+
let e = (l, s) => t.some(([c, m]) => !(m < l || c > s)), a = e(0, 255) || e(305, 305), i = e(256, 591) || e(7680, 7935), o = e(880, 1023), r = e(1024, 1279);
|
|
15512
15512
|
return e(7840, 7929) || e(258, 259) || e(416, 417) || e(431, 432) ? "vietnamese" : r ? "cyrillic" : o ? "greek" : i ? "latin-ext" : a ? "latin" : null;
|
|
15513
15513
|
}
|
|
15514
15514
|
function vr(t = {}) {
|
|
@@ -15532,12 +15532,12 @@ function vr(t = {}) {
|
|
|
15532
15532
|
};
|
|
15533
15533
|
}
|
|
15534
15534
|
function Xf(t) {
|
|
15535
|
-
var r, l,
|
|
15535
|
+
var r, l, s, c, m, d;
|
|
15536
15536
|
if (!t)
|
|
15537
15537
|
return t;
|
|
15538
15538
|
let e = /@font-face[^{}]*\{[^}]*\}/gi, a = /* @__PURE__ */ new Set(), i = [];
|
|
15539
15539
|
for (let g of t.match(e) || []) {
|
|
15540
|
-
let f = ((r = g.match(/font-family:\s*([^;]+);/i)) == null ? void 0 : r[1]) || "", p = oo(f), u = (((l = g.match(/font-weight:\s*([^;]+);/i)) == null ? void 0 : l[1]) || "400").trim(), h = (((
|
|
15540
|
+
let f = ((r = g.match(/font-family:\s*([^;]+);/i)) == null ? void 0 : r[1]) || "", p = oo(f), u = (((l = g.match(/font-weight:\s*([^;]+);/i)) == null ? void 0 : l[1]) || "400").trim(), h = (((s = g.match(/font-style:\s*([^;]+);/i)) == null ? void 0 : s[1]) || "normal").trim(), y = (((c = g.match(/font-stretch:\s*([^;]+);/i)) == null ? void 0 : c[1]) || "100%").trim(), z = (((m = g.match(/unicode-range:\s*([^;]+);/i)) == null ? void 0 : m[1]) || "").trim(), L = (((d = g.match(/src\s*:\s*([^;}]+)[;}]/i)) == null ? void 0 : d[1]) || "").trim(), A = xo(L, location.href), _ = A.length ? A.map((C) => String(C).toLowerCase()).sort().join("|") : L.toLowerCase(), M = [String(p || "").toLowerCase(), u, h, y, z.toLowerCase(), _].join("|");
|
|
15541
15541
|
a.has(M) || (a.add(M), i.push(g));
|
|
15542
15542
|
}
|
|
15543
15543
|
if (i.length === 0)
|
|
@@ -15546,7 +15546,7 @@ function Xf(t) {
|
|
|
15546
15546
|
return t.replace(e, () => i[o++] || "");
|
|
15547
15547
|
}
|
|
15548
15548
|
function Of(t, e, a, i) {
|
|
15549
|
-
let o = Array.from(t || []).sort().join("|"), r = e ? JSON.stringify({ families: (e.families || []).map((
|
|
15549
|
+
let o = Array.from(t || []).sort().join("|"), r = e ? JSON.stringify({ families: (e.families || []).map((s) => String(s).toLowerCase()).sort(), domains: (e.domains || []).map((s) => String(s).toLowerCase()).sort(), subsets: (e.subsets || []).map((s) => String(s).toLowerCase()).sort() }) : "", l = (a || []).map((s) => `${(s.family || "").toLowerCase()}::${s.weight || "normal"}::${s.style || "normal"}::${s.src || ""}`).sort().join("|");
|
|
15550
15550
|
return `fonts-embed-css::req=${o}::ex=${r}::lf=${l}::px=${i || ""}`;
|
|
15551
15551
|
}
|
|
15552
15552
|
async function Yr(t, e, a, i) {
|
|
@@ -15556,47 +15556,47 @@ async function Yr(t, e, a, i) {
|
|
|
15556
15556
|
} catch {
|
|
15557
15557
|
return;
|
|
15558
15558
|
}
|
|
15559
|
-
let r = (l,
|
|
15559
|
+
let r = (l, s) => {
|
|
15560
15560
|
try {
|
|
15561
|
-
return new URL(l,
|
|
15561
|
+
return new URL(l, s || location.href).href;
|
|
15562
15562
|
} catch {
|
|
15563
15563
|
return l;
|
|
15564
15564
|
}
|
|
15565
15565
|
};
|
|
15566
15566
|
for (let l of o) {
|
|
15567
15567
|
if (l.type === CSSRule.IMPORT_RULE && l.styleSheet) {
|
|
15568
|
-
let
|
|
15568
|
+
let s = l.href ? r(l.href, e) : e;
|
|
15569
15569
|
if (i.depth >= to) {
|
|
15570
|
-
console.warn(`[snapDOM] CSSOM import depth exceeded (${to}) at ${
|
|
15570
|
+
console.warn(`[snapDOM] CSSOM import depth exceeded (${to}) at ${s}`);
|
|
15571
15571
|
continue;
|
|
15572
15572
|
}
|
|
15573
|
-
if (
|
|
15574
|
-
console.warn(`[snapDOM] Skipping circular CSSOM import: ${
|
|
15573
|
+
if (s && i.visitedSheets.has(s)) {
|
|
15574
|
+
console.warn(`[snapDOM] Skipping circular CSSOM import: ${s}`);
|
|
15575
15575
|
continue;
|
|
15576
15576
|
}
|
|
15577
|
-
|
|
15578
|
-
let
|
|
15579
|
-
await Yr(l.styleSheet,
|
|
15577
|
+
s && i.visitedSheets.add(s);
|
|
15578
|
+
let c = { ...i, depth: (i.depth || 0) + 1 };
|
|
15579
|
+
await Yr(l.styleSheet, s, a, c);
|
|
15580
15580
|
continue;
|
|
15581
15581
|
}
|
|
15582
15582
|
if (l.type === CSSRule.FONT_FACE_RULE) {
|
|
15583
|
-
let
|
|
15584
|
-
if (!
|
|
15583
|
+
let s = (l.style.getPropertyValue("font-family") || "").trim(), c = oo(s);
|
|
15584
|
+
if (!c || ma(c))
|
|
15585
15585
|
continue;
|
|
15586
15586
|
let m = (l.style.getPropertyValue("font-weight") || "400").trim(), d = (l.style.getPropertyValue("font-style") || "normal").trim(), g = (l.style.getPropertyValue("font-stretch") || "100%").trim(), f = (l.style.getPropertyValue("src") || "").trim(), p = (l.style.getPropertyValue("unicode-range") || "").trim();
|
|
15587
|
-
if (!i.faceMatchesRequired(
|
|
15587
|
+
if (!i.faceMatchesRequired(c, d, m, g))
|
|
15588
15588
|
continue;
|
|
15589
15589
|
let u = Xr(p);
|
|
15590
15590
|
if (!Or(i.usedCodepoints, u))
|
|
15591
15591
|
continue;
|
|
15592
|
-
let h = { family:
|
|
15592
|
+
let h = { family: c, weightSpec: m, styleSpec: d, stretchSpec: g, unicodeRange: p, srcRaw: f, srcUrls: xo(f, e || location.href), href: e || location.href };
|
|
15593
15593
|
if (i.simpleExcluder && i.simpleExcluder(h, u))
|
|
15594
15594
|
continue;
|
|
15595
15595
|
if (/url\(/i.test(f)) {
|
|
15596
15596
|
let y = await Hr(f, e || location.href, i.useProxy);
|
|
15597
|
-
await a(`@font-face{font-family:${
|
|
15597
|
+
await a(`@font-face{font-family:${c};src:${y};font-style:${d};font-weight:${m};font-stretch:${g};${p ? `unicode-range:${p};` : ""}}`);
|
|
15598
15598
|
} else
|
|
15599
|
-
await a(`@font-face{font-family:${
|
|
15599
|
+
await a(`@font-face{font-family:${c};src:${f};font-style:${d};font-weight:${m};font-stretch:${g};${p ? `unicode-range:${p};` : ""}}`);
|
|
15600
15600
|
}
|
|
15601
15601
|
}
|
|
15602
15602
|
}
|
|
@@ -15638,9 +15638,9 @@ async function Hf({ required: t, usedCodepoints: e, exclude: a = void 0, localFo
|
|
|
15638
15638
|
}
|
|
15639
15639
|
return !1;
|
|
15640
15640
|
}
|
|
15641
|
-
let
|
|
15642
|
-
if ((h = O.resource) != null && h.has(
|
|
15643
|
-
return O.resource.get(
|
|
15641
|
+
let s = vr(a), c = Of(t, a, i, o);
|
|
15642
|
+
if ((h = O.resource) != null && h.has(c))
|
|
15643
|
+
return O.resource.get(c);
|
|
15644
15644
|
let m = Nf(t), d = [], g = co;
|
|
15645
15645
|
for (let E of document.querySelectorAll("style")) {
|
|
15646
15646
|
let $ = E.textContent || "";
|
|
@@ -15691,7 +15691,7 @@ async function Hf({ required: t, usedCodepoints: e, exclude: a = void 0, localFo
|
|
|
15691
15691
|
if (!Or(e, ke))
|
|
15692
15692
|
continue;
|
|
15693
15693
|
let Ce = { family: re, weightSpec: Z, styleSpec: J, stretchSpec: we, unicodeRange: Le, srcRaw: ze, srcUrls: ge, href: E.href };
|
|
15694
|
-
if (a &&
|
|
15694
|
+
if (a && s(Ce, ke))
|
|
15695
15695
|
continue;
|
|
15696
15696
|
let We = /url\(/i.test(ze) ? await Hr(q, E.href, o) : q;
|
|
15697
15697
|
se += We;
|
|
@@ -15761,28 +15761,28 @@ async function Hf({ required: t, usedCodepoints: e, exclude: a = void 0, localFo
|
|
|
15761
15761
|
}
|
|
15762
15762
|
f += `@font-face{font-family:'${$}';src:url(${re});font-style:${se};font-weight:${ee};font-stretch:${q};}`;
|
|
15763
15763
|
}
|
|
15764
|
-
return f && (f = Xf(f), (ve = O.resource) == null || ve.set(
|
|
15764
|
+
return f && (f = Xf(f), (ve = O.resource) == null || ve.set(c, f)), f;
|
|
15765
15765
|
}
|
|
15766
15766
|
function Yf(t) {
|
|
15767
15767
|
let e = /* @__PURE__ */ new Set();
|
|
15768
15768
|
if (!t)
|
|
15769
15769
|
return e;
|
|
15770
15770
|
let a = document.createTreeWalker(t, NodeFilter.SHOW_ELEMENT, null), i = (l) => {
|
|
15771
|
-
let
|
|
15772
|
-
if (!
|
|
15771
|
+
let s = oo(l.fontFamily);
|
|
15772
|
+
if (!s)
|
|
15773
15773
|
return;
|
|
15774
|
-
let
|
|
15775
|
-
e.add(
|
|
15774
|
+
let c = (m, d, g) => `${s}__${Ua(m)}__${Ja(d)}__${Ef(g)}`;
|
|
15775
|
+
e.add(c(l.fontWeight, l.fontStyle, l.fontStretch));
|
|
15776
15776
|
};
|
|
15777
15777
|
i(getComputedStyle(t));
|
|
15778
15778
|
let o = getComputedStyle(t, "::before");
|
|
15779
15779
|
o && o.content && o.content !== "none" && i(o);
|
|
15780
15780
|
let r = getComputedStyle(t, "::after");
|
|
15781
15781
|
for (r && r.content && r.content !== "none" && i(r); a.nextNode(); ) {
|
|
15782
|
-
let l = a.currentNode,
|
|
15783
|
-
i(
|
|
15784
|
-
let
|
|
15785
|
-
|
|
15782
|
+
let l = a.currentNode, s = getComputedStyle(l);
|
|
15783
|
+
i(s);
|
|
15784
|
+
let c = getComputedStyle(l, "::before");
|
|
15785
|
+
c && c.content && c.content !== "none" && i(c);
|
|
15786
15786
|
let m = getComputedStyle(l, "::after");
|
|
15787
15787
|
m && m.content && m.content !== "none" && i(m);
|
|
15788
15788
|
}
|
|
@@ -15801,13 +15801,13 @@ function Uf(t) {
|
|
|
15801
15801
|
a(r.nodeValue || "");
|
|
15802
15802
|
else if (r.nodeType === Node.ELEMENT_NODE) {
|
|
15803
15803
|
let l = r;
|
|
15804
|
-
for (let
|
|
15805
|
-
let
|
|
15806
|
-
if (!(!
|
|
15807
|
-
if (/^"/.test(
|
|
15808
|
-
a(
|
|
15804
|
+
for (let s of ["::before", "::after"]) {
|
|
15805
|
+
let c = (o = getComputedStyle(l, s)) == null ? void 0 : o.getPropertyValue("content");
|
|
15806
|
+
if (!(!c || c === "none"))
|
|
15807
|
+
if (/^"/.test(c) || /^'/.test(c))
|
|
15808
|
+
a(c.slice(1, -1));
|
|
15809
15809
|
else {
|
|
15810
|
-
let m =
|
|
15810
|
+
let m = c.match(/\\[0-9A-Fa-f]{1,6}/g);
|
|
15811
15811
|
if (m)
|
|
15812
15812
|
for (let d of m)
|
|
15813
15813
|
try {
|
|
@@ -15841,7 +15841,7 @@ async function Jf(t, e = 2) {
|
|
|
15841
15841
|
i(), await new Promise((r) => requestAnimationFrame(() => requestAnimationFrame(r)));
|
|
15842
15842
|
}
|
|
15843
15843
|
async function Kf(t, e, a, i = {}) {
|
|
15844
|
-
let o = [[t, e]], r = ["background-image", "mask", "mask-image", "-webkit-mask", "-webkit-mask-image", "mask-source", "mask-box-image-source", "mask-border-source", "-webkit-mask-box-image-source", "border-image", "border-image-source"], l = ["mask-position", "mask-size", "mask-repeat", "-webkit-mask-position", "-webkit-mask-size", "-webkit-mask-repeat", "mask-origin", "mask-clip", "-webkit-mask-origin", "-webkit-mask-clip", "-webkit-mask-position-x", "-webkit-mask-position-y"],
|
|
15844
|
+
let o = [[t, e]], r = ["background-image", "mask", "mask-image", "-webkit-mask", "-webkit-mask-image", "mask-source", "mask-box-image-source", "mask-border-source", "-webkit-mask-box-image-source", "border-image", "border-image-source"], l = ["mask-position", "mask-size", "mask-repeat", "-webkit-mask-position", "-webkit-mask-size", "-webkit-mask-repeat", "mask-origin", "mask-clip", "-webkit-mask-origin", "-webkit-mask-clip", "-webkit-mask-position-x", "-webkit-mask-position-y"], s = ["background-position", "background-position-x", "background-position-y", "background-size", "background-repeat", "background-origin", "background-clip", "background-attachment", "background-blend-mode"], c = ["border-image-slice", "border-image-width", "border-image-outset", "border-image-repeat"];
|
|
15845
15845
|
for (; o.length; ) {
|
|
15846
15846
|
let [m, d] = o.shift(), g = a.get(m) || Wr(m);
|
|
15847
15847
|
a.has(m) || a.set(m, g);
|
|
@@ -15849,7 +15849,7 @@ async function Kf(t, e, a, i = {}) {
|
|
|
15849
15849
|
let h = g.getPropertyValue("border-image"), y = g.getPropertyValue("border-image-source");
|
|
15850
15850
|
return h && h !== "none" || y && y !== "none";
|
|
15851
15851
|
})();
|
|
15852
|
-
for (let h of
|
|
15852
|
+
for (let h of s) {
|
|
15853
15853
|
let y = g.getPropertyValue(h);
|
|
15854
15854
|
y && d.style.setProperty(h, y);
|
|
15855
15855
|
}
|
|
@@ -15865,7 +15865,7 @@ async function Kf(t, e, a, i = {}) {
|
|
|
15865
15865
|
!y || y === "initial" || d.style.setProperty(h, y);
|
|
15866
15866
|
}
|
|
15867
15867
|
if (f)
|
|
15868
|
-
for (let h of
|
|
15868
|
+
for (let h of c) {
|
|
15869
15869
|
let y = g.getPropertyValue(h);
|
|
15870
15870
|
!y || y === "initial" || d.style.setProperty(h, y);
|
|
15871
15871
|
}
|
|
@@ -15882,8 +15882,8 @@ function ba(t, { fast: e = !1 } = {}) {
|
|
|
15882
15882
|
function Na() {
|
|
15883
15883
|
if (typeof navigator > "u")
|
|
15884
15884
|
return !1;
|
|
15885
|
-
let t = navigator.userAgent || "", e = t.toLowerCase(), a = e.includes("safari") && !e.includes("chrome") && !e.includes("crios") && !e.includes("fxios") && !e.includes("android"), i = /applewebkit/i.test(t), o = /mobile/i.test(t), r = !/safari/i.test(t), l = i && o && r,
|
|
15886
|
-
return a || l ||
|
|
15885
|
+
let t = navigator.userAgent || "", e = t.toLowerCase(), a = e.includes("safari") && !e.includes("chrome") && !e.includes("crios") && !e.includes("fxios") && !e.includes("android"), i = /applewebkit/i.test(t), o = /mobile/i.test(t), r = !/safari/i.test(t), l = i && o && r, s = /(micromessenger|wxwork|wecom|windowswechat|macwechat)/i.test(t), c = /(baiduboxapp|baidubrowser|baidusearch|baiduboxlite)/i.test(e), m = /ipad|iphone|ipod/.test(e) && i;
|
|
15886
|
+
return a || l || s || c || m;
|
|
15887
15887
|
}
|
|
15888
15888
|
var Xa = [];
|
|
15889
15889
|
function Ur(t) {
|
|
@@ -15915,8 +15915,8 @@ async function ha(t, e, a) {
|
|
|
15915
15915
|
let l = r && typeof r[t] == "function" ? r[t] : null;
|
|
15916
15916
|
if (!l)
|
|
15917
15917
|
continue;
|
|
15918
|
-
let
|
|
15919
|
-
typeof
|
|
15918
|
+
let s = await l(e, i);
|
|
15919
|
+
typeof s < "u" && (i = s);
|
|
15920
15920
|
}
|
|
15921
15921
|
return i;
|
|
15922
15922
|
}
|
|
@@ -15926,8 +15926,8 @@ async function qf(t, e, a) {
|
|
|
15926
15926
|
let l = r && typeof r[t] == "function" ? r[t] : null;
|
|
15927
15927
|
if (!l)
|
|
15928
15928
|
continue;
|
|
15929
|
-
let
|
|
15930
|
-
typeof
|
|
15929
|
+
let s = await l(e, a);
|
|
15930
|
+
typeof s < "u" && i.push(s);
|
|
15931
15931
|
}
|
|
15932
15932
|
return i;
|
|
15933
15933
|
}
|
|
@@ -15976,8 +15976,8 @@ function t0(t = document.documentElement) {
|
|
|
15976
15976
|
function a0(t, e = {}) {
|
|
15977
15977
|
let a = {}, i = t.getPropertyValue("visibility");
|
|
15978
15978
|
for (let r = 0; r < t.length; r++) {
|
|
15979
|
-
let l = t[r],
|
|
15980
|
-
(l === "background-image" || l === "content") &&
|
|
15979
|
+
let l = t[r], s = t.getPropertyValue(l);
|
|
15980
|
+
(l === "background-image" || l === "content") && s.includes("url(") && !s.includes("data:") && (s = "none"), a[l] = s;
|
|
15981
15981
|
}
|
|
15982
15982
|
let o = ["text-decoration-line", "text-decoration-color", "text-decoration-style", "text-decoration-thickness", "text-underline-offset", "text-decoration-skip-ink"];
|
|
15983
15983
|
for (let r of o)
|
|
@@ -15992,8 +15992,8 @@ function a0(t, e = {}) {
|
|
|
15992
15992
|
for (let l of r)
|
|
15993
15993
|
if (!a[l])
|
|
15994
15994
|
try {
|
|
15995
|
-
let
|
|
15996
|
-
|
|
15995
|
+
let s = t.getPropertyValue(l);
|
|
15996
|
+
s && (a[l] = s);
|
|
15997
15997
|
} catch {
|
|
15998
15998
|
}
|
|
15999
15999
|
}
|
|
@@ -16023,12 +16023,12 @@ async function wa(t, e, a, i) {
|
|
|
16023
16023
|
let h = (p = t.getAttribute) == null ? void 0 : p.call(t, "style");
|
|
16024
16024
|
h && e.setAttribute("style", h);
|
|
16025
16025
|
}
|
|
16026
|
-
let { session: l, persist:
|
|
16026
|
+
let { session: l, persist: s } = o;
|
|
16027
16027
|
l.styleCache.has(t) || l.styleCache.set(t, getComputedStyle(t));
|
|
16028
|
-
let
|
|
16028
|
+
let c = l.styleCache.get(t), m = i0(t, c, o.options), d = o0(m), g = s.snapshotKeyCache.get(d);
|
|
16029
16029
|
if (!g) {
|
|
16030
16030
|
let h = ((u = t.tagName) == null ? void 0 : u.toLowerCase()) || "div";
|
|
16031
|
-
g = no(m, h),
|
|
16031
|
+
g = no(m, h), s.snapshotKeyCache.set(d, g);
|
|
16032
16032
|
}
|
|
16033
16033
|
l.styleMap.set(e, g);
|
|
16034
16034
|
}
|
|
@@ -16069,11 +16069,11 @@ function m0(t, e, a) {
|
|
|
16069
16069
|
let r = e.position;
|
|
16070
16070
|
if (r === "absolute" || r === "fixed" || r === "sticky" || e.transform !== "none" || n0(e) || s0(t))
|
|
16071
16071
|
return;
|
|
16072
|
-
let l = e.overflowX || e.overflow || "visible",
|
|
16073
|
-
if (l !== "visible" ||
|
|
16072
|
+
let l = e.overflowX || e.overflow || "visible", s = e.overflowY || e.overflow || "visible";
|
|
16073
|
+
if (l !== "visible" || s !== "visible")
|
|
16074
16074
|
return;
|
|
16075
|
-
let
|
|
16076
|
-
|
|
16075
|
+
let c = e.clip;
|
|
16076
|
+
c && c !== "auto" && c !== "rect(auto, auto, auto, auto)" || e.visibility === "hidden" || e.opacity === "0" || c0(t, e) && (delete a.height, delete a["block-size"]);
|
|
16077
16077
|
}
|
|
16078
16078
|
var Kr = ["fill", "stroke", "color", "background-color", "stop-color"], zr = /* @__PURE__ */ new Map();
|
|
16079
16079
|
function d0(t, e) {
|
|
@@ -16082,20 +16082,20 @@ function d0(t, e) {
|
|
|
16082
16082
|
return i;
|
|
16083
16083
|
let o = document, r = e === "http://www.w3.org/2000/svg" ? o.createElementNS(e, t) : o.createElement(t), l = o.createElement("div");
|
|
16084
16084
|
l.style.cssText = "position:absolute;left:-99999px;top:-99999px;contain:strict;display:block;", l.appendChild(r), o.documentElement.appendChild(l);
|
|
16085
|
-
let
|
|
16085
|
+
let s = getComputedStyle(r), c = {};
|
|
16086
16086
|
for (let m of Kr)
|
|
16087
|
-
|
|
16088
|
-
return l.remove(), zr.set(a,
|
|
16087
|
+
c[m] = s.getPropertyValue(m) || "";
|
|
16088
|
+
return l.remove(), zr.set(a, c), c;
|
|
16089
16089
|
}
|
|
16090
16090
|
function h0(t, e) {
|
|
16091
|
-
var r, l,
|
|
16091
|
+
var r, l, s;
|
|
16092
16092
|
if (!(t instanceof Element) || !(e instanceof Element))
|
|
16093
16093
|
return;
|
|
16094
16094
|
let a = (r = t.getAttribute) == null ? void 0 : r.call(t, "style"), i = !!(a && a.includes("var("));
|
|
16095
16095
|
if (!i && ((l = t.attributes) != null && l.length)) {
|
|
16096
|
-
let
|
|
16097
|
-
for (let m = 0; m <
|
|
16098
|
-
let d =
|
|
16096
|
+
let c = t.attributes;
|
|
16097
|
+
for (let m = 0; m < c.length; m++) {
|
|
16098
|
+
let d = c[m];
|
|
16099
16099
|
if (d && typeof d.value == "string" && d.value.includes("var(")) {
|
|
16100
16100
|
i = !0;
|
|
16101
16101
|
break;
|
|
@@ -16109,24 +16109,24 @@ function h0(t, e) {
|
|
|
16109
16109
|
} catch {
|
|
16110
16110
|
}
|
|
16111
16111
|
if (i) {
|
|
16112
|
-
let
|
|
16113
|
-
if (
|
|
16114
|
-
for (let m = 0; m <
|
|
16115
|
-
let d =
|
|
16112
|
+
let c = t.style;
|
|
16113
|
+
if (c && c.length)
|
|
16114
|
+
for (let m = 0; m < c.length; m++) {
|
|
16115
|
+
let d = c[m], g = c.getPropertyValue(d);
|
|
16116
16116
|
if (!g || !g.includes("var("))
|
|
16117
16117
|
continue;
|
|
16118
16118
|
let f = o && o.getPropertyValue(d);
|
|
16119
16119
|
if (f)
|
|
16120
16120
|
try {
|
|
16121
|
-
e.style.setProperty(d, f.trim(),
|
|
16121
|
+
e.style.setProperty(d, f.trim(), c.getPropertyPriority(d));
|
|
16122
16122
|
} catch {
|
|
16123
16123
|
}
|
|
16124
16124
|
}
|
|
16125
16125
|
}
|
|
16126
|
-
if (i && ((
|
|
16127
|
-
let
|
|
16128
|
-
for (let m = 0; m <
|
|
16129
|
-
let d =
|
|
16126
|
+
if (i && ((s = t.attributes) != null && s.length)) {
|
|
16127
|
+
let c = t.attributes;
|
|
16128
|
+
for (let m = 0; m < c.length; m++) {
|
|
16129
|
+
let d = c[m];
|
|
16130
16130
|
if (!d || typeof d.value != "string" || !d.value.includes("var("))
|
|
16131
16131
|
continue;
|
|
16132
16132
|
let g = d.name, f = o && o.getPropertyValue(g);
|
|
@@ -16146,7 +16146,7 @@ function h0(t, e) {
|
|
|
16146
16146
|
}
|
|
16147
16147
|
if (!o)
|
|
16148
16148
|
return;
|
|
16149
|
-
let
|
|
16149
|
+
let c = t.namespaceURI || "html", m = d0(t.tagName, c);
|
|
16150
16150
|
for (let d of Kr) {
|
|
16151
16151
|
let g = o.getPropertyValue(d) || "", f = m[d] || "";
|
|
16152
16152
|
if (g && g !== f)
|
|
@@ -16274,12 +16274,12 @@ async function L0(t, e = 3) {
|
|
|
16274
16274
|
function z0(t) {
|
|
16275
16275
|
let e = t.getBoundingClientRect(), a = 0, i = 0, o = 0, r = 0;
|
|
16276
16276
|
try {
|
|
16277
|
-
let
|
|
16278
|
-
a = parseFloat(
|
|
16277
|
+
let c = getComputedStyle(t);
|
|
16278
|
+
a = parseFloat(c.borderLeftWidth) || 0, i = parseFloat(c.borderRightWidth) || 0, o = parseFloat(c.borderTopWidth) || 0, r = parseFloat(c.borderBottomWidth) || 0;
|
|
16279
16279
|
} catch {
|
|
16280
16280
|
}
|
|
16281
|
-
let l = Math.max(0, Math.round(e.width - (a + i))),
|
|
16282
|
-
return { contentWidth: l, contentHeight:
|
|
16281
|
+
let l = Math.max(0, Math.round(e.width - (a + i))), s = Math.max(0, Math.round(e.height - (o + r)));
|
|
16282
|
+
return { contentWidth: l, contentHeight: s, rect: e };
|
|
16283
16283
|
}
|
|
16284
16284
|
function _0(t, e, a) {
|
|
16285
16285
|
let i = t.createElement("style");
|
|
@@ -16294,12 +16294,12 @@ async function C0(t, e, a) {
|
|
|
16294
16294
|
let i = await L0(t, 3);
|
|
16295
16295
|
if (!i)
|
|
16296
16296
|
throw new Error("iframe document not accessible/ready");
|
|
16297
|
-
let { contentWidth: o, contentHeight: r, rect: l } = z0(t),
|
|
16298
|
-
if (!
|
|
16297
|
+
let { contentWidth: o, contentHeight: r, rect: l } = z0(t), s = a == null ? void 0 : a.snap;
|
|
16298
|
+
if (!s || typeof s.toPng != "function")
|
|
16299
16299
|
throw new Error("snapdom.toPng not available in iframe or window");
|
|
16300
|
-
let
|
|
16300
|
+
let c = { ...a, scale: 1 }, m = _0(i, o, r), d;
|
|
16301
16301
|
try {
|
|
16302
|
-
d = await
|
|
16302
|
+
d = await s.toPng(i.documentElement, c);
|
|
16303
16303
|
} finally {
|
|
16304
16304
|
m();
|
|
16305
16305
|
}
|
|
@@ -16358,18 +16358,18 @@ function S0(t) {
|
|
|
16358
16358
|
return t.map((e) => e.desc ? `${e.url} ${e.desc.trim()}` : e.url).join(", ");
|
|
16359
16359
|
}
|
|
16360
16360
|
async function T0(t) {
|
|
16361
|
-
var l,
|
|
16361
|
+
var l, s;
|
|
16362
16362
|
if (!t)
|
|
16363
16363
|
return;
|
|
16364
16364
|
let e = t.querySelectorAll ? t.querySelectorAll("img") : [];
|
|
16365
|
-
for (let
|
|
16365
|
+
for (let c of e)
|
|
16366
16366
|
try {
|
|
16367
|
-
let m =
|
|
16367
|
+
let m = c.getAttribute("src") || c.currentSrc || "";
|
|
16368
16368
|
if (Ya(m)) {
|
|
16369
16369
|
let g = await Za(m);
|
|
16370
|
-
|
|
16370
|
+
c.setAttribute("src", g);
|
|
16371
16371
|
}
|
|
16372
|
-
let d =
|
|
16372
|
+
let d = c.getAttribute("srcset");
|
|
16373
16373
|
if (d && d.includes("blob:")) {
|
|
16374
16374
|
let g = P0(d), f = !1;
|
|
16375
16375
|
for (let p of g)
|
|
@@ -16378,44 +16378,44 @@ async function T0(t) {
|
|
|
16378
16378
|
p.url = await Za(p.url), f = !0;
|
|
16379
16379
|
} catch {
|
|
16380
16380
|
}
|
|
16381
|
-
f &&
|
|
16381
|
+
f && c.setAttribute("srcset", S0(g));
|
|
16382
16382
|
}
|
|
16383
16383
|
} catch {
|
|
16384
16384
|
}
|
|
16385
16385
|
let a = t.querySelectorAll ? t.querySelectorAll("image") : [];
|
|
16386
|
-
for (let
|
|
16386
|
+
for (let c of a)
|
|
16387
16387
|
try {
|
|
16388
|
-
let m = "http://www.w3.org/1999/xlink", d =
|
|
16388
|
+
let m = "http://www.w3.org/1999/xlink", d = c.getAttribute("href") || ((l = c.getAttributeNS) == null ? void 0 : l.call(c, m, "href"));
|
|
16389
16389
|
if (Ya(d)) {
|
|
16390
16390
|
let g = await Za(d);
|
|
16391
|
-
|
|
16391
|
+
c.setAttribute("href", g), (s = c.removeAttributeNS) == null || s.call(c, m, "href");
|
|
16392
16392
|
}
|
|
16393
16393
|
} catch {
|
|
16394
16394
|
}
|
|
16395
16395
|
let i = t.querySelectorAll ? t.querySelectorAll("[style*='blob:']") : [];
|
|
16396
|
-
for (let
|
|
16396
|
+
for (let c of i)
|
|
16397
16397
|
try {
|
|
16398
|
-
let m =
|
|
16398
|
+
let m = c.getAttribute("style");
|
|
16399
16399
|
if (m && m.includes("blob:")) {
|
|
16400
16400
|
let d = await _r(m);
|
|
16401
|
-
|
|
16401
|
+
c.setAttribute("style", d);
|
|
16402
16402
|
}
|
|
16403
16403
|
} catch {
|
|
16404
16404
|
}
|
|
16405
16405
|
let o = t.querySelectorAll ? t.querySelectorAll("style") : [];
|
|
16406
|
-
for (let
|
|
16406
|
+
for (let c of o)
|
|
16407
16407
|
try {
|
|
16408
|
-
let m =
|
|
16409
|
-
m.includes("blob:") && (
|
|
16408
|
+
let m = c.textContent || "";
|
|
16409
|
+
m.includes("blob:") && (c.textContent = await _r(m));
|
|
16410
16410
|
} catch {
|
|
16411
16411
|
}
|
|
16412
16412
|
let r = ["poster"];
|
|
16413
|
-
for (let
|
|
16414
|
-
let m = t.querySelectorAll ? t.querySelectorAll(`[${
|
|
16413
|
+
for (let c of r) {
|
|
16414
|
+
let m = t.querySelectorAll ? t.querySelectorAll(`[${c}^='blob:']`) : [];
|
|
16415
16415
|
for (let d of m)
|
|
16416
16416
|
try {
|
|
16417
|
-
let g = d.getAttribute(
|
|
16418
|
-
Ya(g) && d.setAttribute(
|
|
16417
|
+
let g = d.getAttribute(c);
|
|
16418
|
+
Ya(g) && d.setAttribute(c, await Za(g));
|
|
16419
16419
|
} catch {
|
|
16420
16420
|
}
|
|
16421
16421
|
}
|
|
@@ -16599,7 +16599,7 @@ async function Ka(t, e, a) {
|
|
|
16599
16599
|
}, y = ((u = t.assignedNodes) == null ? void 0 : u.call(t, { flatten: !0 })) || [], z = y.length > 0 ? y : Array.from(t.childNodes), L = document.createDocumentFragment(), A = await ro(Array.from(z), h, a.fast);
|
|
16600
16600
|
return L.append(...A.filter((_) => !!_)), L;
|
|
16601
16601
|
}
|
|
16602
|
-
function
|
|
16602
|
+
function s(h, y) {
|
|
16603
16603
|
if (i.has(h))
|
|
16604
16604
|
return y(null);
|
|
16605
16605
|
Ka(h, e, a).then((z) => {
|
|
@@ -16608,8 +16608,8 @@ async function Ka(t, e, a) {
|
|
|
16608
16608
|
y(null);
|
|
16609
16609
|
});
|
|
16610
16610
|
}
|
|
16611
|
-
let
|
|
16612
|
-
if (l.append(...
|
|
16611
|
+
let c = await ro(Array.from(t.childNodes), s, a.fast);
|
|
16612
|
+
if (l.append(...c.filter((h) => !!h)), o !== null && l instanceof HTMLSelectElement) {
|
|
16613
16613
|
l.value = o;
|
|
16614
16614
|
for (let h of l.options)
|
|
16615
16615
|
h.value === o ? h.setAttribute("selected", "") : h.removeAttribute("selected");
|
|
@@ -16667,14 +16667,14 @@ function I0(t) {
|
|
|
16667
16667
|
h.tagName === "LI" && p++;
|
|
16668
16668
|
}
|
|
16669
16669
|
return p;
|
|
16670
|
-
},
|
|
16670
|
+
}, s = (f) => {
|
|
16671
16671
|
let p = /* @__PURE__ */ new Map();
|
|
16672
16672
|
for (let [u, h] of f)
|
|
16673
16673
|
p.set(u, h.slice());
|
|
16674
16674
|
return p;
|
|
16675
|
-
},
|
|
16675
|
+
}, c = (f, p, u) => {
|
|
16676
16676
|
var L, A;
|
|
16677
|
-
let h =
|
|
16677
|
+
let h = s(f), y;
|
|
16678
16678
|
try {
|
|
16679
16679
|
y = ((L = u.style) == null ? void 0 : L.counterReset) || getComputedStyle(u).counterReset;
|
|
16680
16680
|
} catch {
|
|
@@ -16719,7 +16719,7 @@ function I0(t) {
|
|
|
16719
16719
|
}
|
|
16720
16720
|
return h;
|
|
16721
16721
|
}, m = (f, p, u) => {
|
|
16722
|
-
let h =
|
|
16722
|
+
let h = c(u, p, f);
|
|
16723
16723
|
i.set(f, h);
|
|
16724
16724
|
let y = h;
|
|
16725
16725
|
for (let z of f.children)
|
|
@@ -16751,14 +16751,14 @@ function E0(t, e, a) {
|
|
|
16751
16751
|
if (!t || t === "none")
|
|
16752
16752
|
return t;
|
|
16753
16753
|
try {
|
|
16754
|
-
let i = /\b(counter|counters)\s*\(([^)]+)\)/g, o = t.replace(i, (r, l,
|
|
16754
|
+
let i = /\b(counter|counters)\s*\(([^)]+)\)/g, o = t.replace(i, (r, l, s) => {
|
|
16755
16755
|
var m, d, g;
|
|
16756
|
-
let
|
|
16756
|
+
let c = String(s).split(",").map((f) => f.trim());
|
|
16757
16757
|
if (l === "counter") {
|
|
16758
|
-
let f = (m =
|
|
16758
|
+
let f = (m = c[0]) == null ? void 0 : m.replace(/^["']|["']$/g, ""), p = (c[1] || "decimal").toLowerCase(), u = a.get(e, f);
|
|
16759
16759
|
return Pr(u, p);
|
|
16760
16760
|
} else {
|
|
16761
|
-
let f = (d =
|
|
16761
|
+
let f = (d = c[0]) == null ? void 0 : d.replace(/^["']|["']$/g, ""), p = ((g = c[1]) == null ? void 0 : g.replace(/^["']|["']$/g, "")) ?? "", u = (c[2] || "decimal").toLowerCase(), h = a.getStack(e, f);
|
|
16762
16762
|
return h.length ? h.map((y) => Pr(y, u)).join(p) : "";
|
|
16763
16763
|
}
|
|
16764
16764
|
});
|
|
@@ -16784,13 +16784,13 @@ function Qr(t) {
|
|
|
16784
16784
|
for (let r = 0; r < e.length; r++) {
|
|
16785
16785
|
let l = e[r];
|
|
16786
16786
|
if (l.tagName === "STYLE") {
|
|
16787
|
-
let
|
|
16788
|
-
a += `S${
|
|
16789
|
-
let
|
|
16787
|
+
let s = l.textContent ? l.textContent.length : 0;
|
|
16788
|
+
a += `S${s}|`;
|
|
16789
|
+
let c = l.sheet, m = c ? uo(c) : null;
|
|
16790
16790
|
m && (i += m.length);
|
|
16791
16791
|
} else {
|
|
16792
|
-
let
|
|
16793
|
-
a += `L${
|
|
16792
|
+
let s = l.getAttribute("href") || "", c = l.getAttribute("media") || "all";
|
|
16793
|
+
a += `L${s}|m:${c}|`;
|
|
16794
16794
|
let m = l.sheet, d = m ? uo(m) : null;
|
|
16795
16795
|
d && (i += d.length);
|
|
16796
16796
|
}
|
|
@@ -16807,12 +16807,12 @@ function Tr(t, e, a) {
|
|
|
16807
16807
|
return !1;
|
|
16808
16808
|
let r = i[o], l = r && r.cssText ? r.cssText : "";
|
|
16809
16809
|
a.budget--;
|
|
16810
|
-
for (let
|
|
16811
|
-
if (l.includes(
|
|
16810
|
+
for (let s of e)
|
|
16811
|
+
if (l.includes(s))
|
|
16812
16812
|
return !0;
|
|
16813
16813
|
if (r && r.cssRules && r.cssRules.length)
|
|
16814
|
-
for (let
|
|
16815
|
-
let
|
|
16814
|
+
for (let s = 0; s < r.cssRules.length && a.budget > 0; s++) {
|
|
16815
|
+
let c = r.cssRules[s], m = c && c.cssText ? c.cssText : "";
|
|
16816
16816
|
a.budget--;
|
|
16817
16817
|
for (let d of e)
|
|
16818
16818
|
if (m.includes(d))
|
|
@@ -16829,26 +16829,26 @@ function Rr(t = document) {
|
|
|
16829
16829
|
return a.result;
|
|
16830
16830
|
let i = ["::before", "::after", "::first-letter", ":before", ":after", ":first-letter", "counter(", "counters(", "counter-increment", "counter-reset"], o = t.querySelectorAll("style");
|
|
16831
16831
|
for (let l = 0; l < o.length; l++) {
|
|
16832
|
-
let
|
|
16833
|
-
for (let
|
|
16834
|
-
if (
|
|
16832
|
+
let s = o[l].textContent || "";
|
|
16833
|
+
for (let c of i)
|
|
16834
|
+
if (s.includes(c))
|
|
16835
16835
|
return ya.set(t, { fingerprint: e, result: !0 }), !0;
|
|
16836
16836
|
}
|
|
16837
16837
|
let r = t.adoptedStyleSheets;
|
|
16838
16838
|
if (Array.isArray(r) && r.length) {
|
|
16839
16839
|
let l = { budget: Sr };
|
|
16840
16840
|
try {
|
|
16841
|
-
for (let
|
|
16842
|
-
if (Tr(
|
|
16841
|
+
for (let s of r)
|
|
16842
|
+
if (Tr(s, i, l))
|
|
16843
16843
|
return ya.set(t, { fingerprint: e, result: !0 }), !0;
|
|
16844
16844
|
} catch {
|
|
16845
16845
|
}
|
|
16846
16846
|
}
|
|
16847
16847
|
{
|
|
16848
|
-
let l = t.querySelectorAll('style,link[rel~="stylesheet"]'),
|
|
16849
|
-
for (let
|
|
16850
|
-
let m = l[
|
|
16851
|
-
if (m.tagName, d = m.sheet || null, d && Tr(d, i,
|
|
16848
|
+
let l = t.querySelectorAll('style,link[rel~="stylesheet"]'), s = { budget: Sr };
|
|
16849
|
+
for (let c = 0; c < l.length && s.budget > 0; c++) {
|
|
16850
|
+
let m = l[c], d = null;
|
|
16851
|
+
if (m.tagName, d = m.sheet || null, d && Tr(d, i, s))
|
|
16852
16852
|
return ya.set(t, { fingerprint: e, result: !0 }), !0;
|
|
16853
16853
|
}
|
|
16854
16854
|
}
|
|
@@ -16869,55 +16869,55 @@ function B0(t) {
|
|
|
16869
16869
|
function po(t, e) {
|
|
16870
16870
|
let a = t.parentElement, i = a ? xa.get(a) : null;
|
|
16871
16871
|
return i ? { get(o, r) {
|
|
16872
|
-
let l = e.get(o, r),
|
|
16873
|
-
return typeof
|
|
16872
|
+
let l = e.get(o, r), s = i.get(r);
|
|
16873
|
+
return typeof s == "number" ? Math.max(l, s) : l;
|
|
16874
16874
|
}, getStack(o, r) {
|
|
16875
16875
|
let l = e.getStack(o, r);
|
|
16876
16876
|
if (!l.length)
|
|
16877
16877
|
return l;
|
|
16878
|
-
let
|
|
16879
|
-
if (typeof
|
|
16880
|
-
let
|
|
16881
|
-
return
|
|
16878
|
+
let s = i.get(r);
|
|
16879
|
+
if (typeof s == "number") {
|
|
16880
|
+
let c = l.slice();
|
|
16881
|
+
return c[c.length - 1] = Math.max(c[c.length - 1], s), c;
|
|
16882
16882
|
}
|
|
16883
16883
|
return l;
|
|
16884
16884
|
} } : e;
|
|
16885
16885
|
}
|
|
16886
16886
|
function go(t, e, a) {
|
|
16887
16887
|
let i = /* @__PURE__ */ new Map();
|
|
16888
|
-
function o(
|
|
16888
|
+
function o(c) {
|
|
16889
16889
|
let m = [];
|
|
16890
|
-
if (!
|
|
16890
|
+
if (!c || c === "none")
|
|
16891
16891
|
return m;
|
|
16892
|
-
for (let d of String(
|
|
16892
|
+
for (let d of String(c).split(",")) {
|
|
16893
16893
|
let g = d.trim().split(/\s+/), f = g[0], p = Number.isFinite(Number(g[1])) ? Number(g[1]) : void 0;
|
|
16894
16894
|
f && m.push({ name: f, num: p });
|
|
16895
16895
|
}
|
|
16896
16896
|
return m;
|
|
16897
16897
|
}
|
|
16898
16898
|
let r = o(e == null ? void 0 : e.counterReset), l = o(e == null ? void 0 : e.counterIncrement);
|
|
16899
|
-
function c
|
|
16900
|
-
if (i.has(
|
|
16901
|
-
return i.get(
|
|
16902
|
-
let m = a.getStack(t,
|
|
16899
|
+
function s(c) {
|
|
16900
|
+
if (i.has(c))
|
|
16901
|
+
return i.get(c).slice();
|
|
16902
|
+
let m = a.getStack(t, c);
|
|
16903
16903
|
m = m.length ? m.slice() : [];
|
|
16904
|
-
let d = r.find((f) => f.name ===
|
|
16904
|
+
let d = r.find((f) => f.name === c);
|
|
16905
16905
|
if (d) {
|
|
16906
16906
|
let f = Number.isFinite(d.num) ? d.num : 0;
|
|
16907
16907
|
m = m.length ? [...m, f] : [f];
|
|
16908
16908
|
}
|
|
16909
|
-
let g = l.find((f) => f.name ===
|
|
16909
|
+
let g = l.find((f) => f.name === c);
|
|
16910
16910
|
if (g) {
|
|
16911
16911
|
let f = Number.isFinite(g.num) ? g.num : 1;
|
|
16912
16912
|
m.length === 0 && (m = [0]), m[m.length - 1] += f;
|
|
16913
16913
|
}
|
|
16914
|
-
return i.set(
|
|
16914
|
+
return i.set(c, m.slice()), m;
|
|
16915
16915
|
}
|
|
16916
|
-
return { get(
|
|
16917
|
-
let d =
|
|
16916
|
+
return { get(c, m) {
|
|
16917
|
+
let d = s(m);
|
|
16918
16918
|
return d.length ? d[d.length - 1] : 0;
|
|
16919
|
-
}, getStack(
|
|
16920
|
-
return
|
|
16919
|
+
}, getStack(c, m) {
|
|
16920
|
+
return s(m);
|
|
16921
16921
|
}, __incs: l };
|
|
16922
16922
|
}
|
|
16923
16923
|
function j0(t, e, a) {
|
|
@@ -16929,8 +16929,8 @@ function j0(t, e, a) {
|
|
|
16929
16929
|
let o = i == null ? void 0 : i.content;
|
|
16930
16930
|
if (!o || o === "none" || o === "normal")
|
|
16931
16931
|
return { text: "", incs: [] };
|
|
16932
|
-
let r = po(t, a), l = go(t, i, r),
|
|
16933
|
-
return { text: B0(
|
|
16932
|
+
let r = po(t, a), l = go(t, i, r), s = R0(o) ? E0(o, t, l) : o;
|
|
16933
|
+
return { text: B0(s), incs: l.__incs || [] };
|
|
16934
16934
|
}
|
|
16935
16935
|
async function qr(t, e, a, i) {
|
|
16936
16936
|
var m, d, g;
|
|
@@ -17033,9 +17033,9 @@ async function qr(t, e, a, i) {
|
|
|
17033
17033
|
} catch (p) {
|
|
17034
17034
|
console.warn(`[snapdom] Failed to capture ${f} for`, t, p);
|
|
17035
17035
|
}
|
|
17036
|
-
let
|
|
17037
|
-
for (let f = 0; f < Math.min(
|
|
17038
|
-
await qr(
|
|
17036
|
+
let s = Array.from(t.children), c = Array.from(e.children).filter((f) => !f.dataset.snapdomPseudo);
|
|
17037
|
+
for (let f = 0; f < Math.min(s.length, c.length); f++)
|
|
17038
|
+
await qr(s[f], c[f], a, i);
|
|
17039
17039
|
}
|
|
17040
17040
|
function N0(t, e) {
|
|
17041
17041
|
var _, M;
|
|
@@ -17044,10 +17044,10 @@ function N0(t, e) {
|
|
|
17044
17044
|
let a = t.ownerDocument || document, i = e || a, o = t instanceof SVGSVGElement ? [t] : Array.from(t.querySelectorAll("svg"));
|
|
17045
17045
|
if (o.length === 0)
|
|
17046
17046
|
return;
|
|
17047
|
-
let r = /url\(\s*#([^)]+)\)/g, l = ["fill", "stroke", "filter", "clip-path", "mask", "marker", "marker-start", "marker-mid", "marker-end"],
|
|
17047
|
+
let r = /url\(\s*#([^)]+)\)/g, l = ["fill", "stroke", "filter", "clip-path", "mask", "marker", "marker-start", "marker-mid", "marker-end"], s = (C) => window.CSS && CSS.escape ? CSS.escape(C) : C.replace(/[^a-zA-Z0-9_-]/g, "\\$&"), c = "http://www.w3.org/1999/xlink", m = (C) => {
|
|
17048
17048
|
if (!C || !C.getAttribute)
|
|
17049
17049
|
return null;
|
|
17050
|
-
let S = C.getAttribute("href") || C.getAttribute("xlink:href") || (typeof C.getAttributeNS == "function" ? C.getAttributeNS(
|
|
17050
|
+
let S = C.getAttribute("href") || C.getAttribute("xlink:href") || (typeof C.getAttributeNS == "function" ? C.getAttributeNS(c, "href") : null);
|
|
17051
17051
|
if (S)
|
|
17052
17052
|
return S;
|
|
17053
17053
|
let R = C.attributes;
|
|
@@ -17100,7 +17100,7 @@ function N0(t, e) {
|
|
|
17100
17100
|
let y = h.querySelector("defs") || null, z = (C) => {
|
|
17101
17101
|
if (!C || d.has(C))
|
|
17102
17102
|
return null;
|
|
17103
|
-
let S =
|
|
17103
|
+
let S = s(C), R = (G) => {
|
|
17104
17104
|
let j = i.querySelector(G);
|
|
17105
17105
|
return j && !t.contains(j) ? j : null;
|
|
17106
17106
|
};
|
|
@@ -17138,7 +17138,7 @@ function N0(t, e) {
|
|
|
17138
17138
|
}
|
|
17139
17139
|
}
|
|
17140
17140
|
function W0(t, e) {
|
|
17141
|
-
var
|
|
17141
|
+
var s;
|
|
17142
17142
|
if (!t || !e)
|
|
17143
17143
|
return;
|
|
17144
17144
|
let a = t.scrollTop || 0;
|
|
@@ -17147,23 +17147,23 @@ function W0(t, e) {
|
|
|
17147
17147
|
getComputedStyle(e).position === "static" && (e.style.position = "relative");
|
|
17148
17148
|
let i = t.getBoundingClientRect(), o = t.clientHeight, r = "data-snap-ph", l = document.createTreeWalker(t, NodeFilter.SHOW_ELEMENT);
|
|
17149
17149
|
for (; l.nextNode(); ) {
|
|
17150
|
-
let
|
|
17150
|
+
let c = l.currentNode, m = getComputedStyle(c), d = m.position;
|
|
17151
17151
|
if (d !== "sticky" && d !== "-webkit-sticky")
|
|
17152
17152
|
continue;
|
|
17153
17153
|
let g = Ir(m.top), f = Ir(m.bottom);
|
|
17154
17154
|
if (g == null && f == null)
|
|
17155
17155
|
continue;
|
|
17156
|
-
let p = Z0(
|
|
17156
|
+
let p = Z0(c, t), u = V0(e, p, r);
|
|
17157
17157
|
if (!u)
|
|
17158
17158
|
continue;
|
|
17159
|
-
let h =
|
|
17159
|
+
let h = c.getBoundingClientRect(), y = h.width, z = h.height, L = h.left - i.left;
|
|
17160
17160
|
if (!(y > 0 && z > 0) || !Number.isFinite(L))
|
|
17161
17161
|
continue;
|
|
17162
17162
|
let A = g != null ? g + a : a + (o - z - f);
|
|
17163
17163
|
if (!Number.isFinite(A))
|
|
17164
17164
|
continue;
|
|
17165
17165
|
let _ = Number.parseInt(m.zIndex, 10), M = Number.isFinite(_), C = M ? Math.max(_, 1) + 1 : 2, S = M ? _ - 1 : 0, R = u.cloneNode(!1);
|
|
17166
|
-
R.setAttribute(r, "1"), R.style.position = "sticky", R.style.left = `${L}px`, R.style.top = `${A}px`, R.style.width = `${y}px`, R.style.height = `${z}px`, R.style.visibility = "hidden", R.style.zIndex = String(S), R.style.overflow = "hidden", R.style.background = "transparent", R.style.boxShadow = "none", R.style.filter = "none", (
|
|
17166
|
+
R.setAttribute(r, "1"), R.style.position = "sticky", R.style.left = `${L}px`, R.style.top = `${A}px`, R.style.width = `${y}px`, R.style.height = `${z}px`, R.style.visibility = "hidden", R.style.zIndex = String(S), R.style.overflow = "hidden", R.style.background = "transparent", R.style.boxShadow = "none", R.style.filter = "none", (s = u.parentElement) == null || s.insertBefore(R, u), u.style.position = "absolute", u.style.left = `${L}px`, u.style.top = `${A}px`, u.style.bottom = "auto", u.style.zIndex = String(C), u.style.pointerEvents = "none";
|
|
17167
17167
|
}
|
|
17168
17168
|
}
|
|
17169
17169
|
function Ir(t) {
|
|
@@ -17198,11 +17198,11 @@ function X0(t, e) {
|
|
|
17198
17198
|
return a;
|
|
17199
17199
|
}
|
|
17200
17200
|
function O0(t) {
|
|
17201
|
-
let e = getComputedStyle(t), a = e.outlineStyle, i = e.outlineWidth, o = e.borderStyle, r = e.borderWidth, l = a !== "none" && parseFloat(i) > 0,
|
|
17202
|
-
l &&
|
|
17201
|
+
let e = getComputedStyle(t), a = e.outlineStyle, i = e.outlineWidth, o = e.borderStyle, r = e.borderWidth, l = a !== "none" && parseFloat(i) > 0, s = o === "none" || parseFloat(r) === 0;
|
|
17202
|
+
l && s && (t.style.border = `${i} solid transparent`);
|
|
17203
17203
|
}
|
|
17204
17204
|
async function H0(t, e = {}) {
|
|
17205
|
-
var
|
|
17205
|
+
var c, m;
|
|
17206
17206
|
let a = { styleMap: O.session.styleMap, styleCache: O.session.styleCache, nodeMap: O.session.nodeMap }, i, o = "", r = "";
|
|
17207
17207
|
O0(t);
|
|
17208
17208
|
try {
|
|
@@ -17238,7 +17238,7 @@ async function H0(t, e = {}) {
|
|
|
17238
17238
|
}
|
|
17239
17239
|
let f = l.get(g);
|
|
17240
17240
|
f && d.classList.add(f);
|
|
17241
|
-
let p = (
|
|
17241
|
+
let p = (c = d.style) == null ? void 0 : c.backgroundImage, u = (m = d.dataset) == null ? void 0 : m.snapdomHasIcon;
|
|
17242
17242
|
p && p !== "none" && (d.style.backgroundImage = p), u && (d.style.verticalAlign = "middle", d.style.display = "inline");
|
|
17243
17243
|
}
|
|
17244
17244
|
for (let [d, g] of a.nodeMap.entries()) {
|
|
@@ -17251,8 +17251,8 @@ async function H0(t, e = {}) {
|
|
|
17251
17251
|
d.appendChild(u);
|
|
17252
17252
|
}
|
|
17253
17253
|
}
|
|
17254
|
-
let
|
|
17255
|
-
if (W0(t,
|
|
17254
|
+
let s = i instanceof HTMLElement && i.firstElementChild instanceof HTMLElement ? i.firstElementChild : i;
|
|
17255
|
+
if (W0(t, s), t === a.nodeMap.get(i)) {
|
|
17256
17256
|
let d = a.styleCache.get(t) || window.getComputedStyle(t);
|
|
17257
17257
|
a.styleCache.set(t, d);
|
|
17258
17258
|
let g = cf(d.transform);
|
|
@@ -17264,8 +17264,8 @@ async function H0(t, e = {}) {
|
|
|
17264
17264
|
}
|
|
17265
17265
|
function Y0(t) {
|
|
17266
17266
|
var m, d, g, f;
|
|
17267
|
-
let e = parseInt(((m = t.dataset) == null ? void 0 : m.snapdomWidth) || "", 10) || 0, a = parseInt(((d = t.dataset) == null ? void 0 : d.snapdomHeight) || "", 10) || 0, i = parseInt(t.getAttribute("width") || "", 10) || 0, o = parseInt(t.getAttribute("height") || "", 10) || 0, r = parseFloat(((g = t.style) == null ? void 0 : g.width) || "") || 0, l = parseFloat(((f = t.style) == null ? void 0 : f.height) || "") || 0,
|
|
17268
|
-
return { width:
|
|
17267
|
+
let e = parseInt(((m = t.dataset) == null ? void 0 : m.snapdomWidth) || "", 10) || 0, a = parseInt(((d = t.dataset) == null ? void 0 : d.snapdomHeight) || "", 10) || 0, i = parseInt(t.getAttribute("width") || "", 10) || 0, o = parseInt(t.getAttribute("height") || "", 10) || 0, r = parseFloat(((g = t.style) == null ? void 0 : g.width) || "") || 0, l = parseFloat(((f = t.style) == null ? void 0 : f.height) || "") || 0, s = e || r || i || t.width || t.naturalWidth || 100, c = a || l || o || t.height || t.naturalHeight || 100;
|
|
17268
|
+
return { width: s, height: c };
|
|
17269
17269
|
}
|
|
17270
17270
|
async function U0(t, e = {}) {
|
|
17271
17271
|
let a = Array.from(t.querySelectorAll("img")), i = async (o) => {
|
|
@@ -17282,23 +17282,23 @@ async function U0(t, e = {}) {
|
|
|
17282
17282
|
o.src = l.data, o.width || (o.width = o.naturalWidth || 100), o.height || (o.height = o.naturalHeight || 100);
|
|
17283
17283
|
return;
|
|
17284
17284
|
}
|
|
17285
|
-
let { width:
|
|
17285
|
+
let { width: s, height: c } = Y0(o), { fallbackURL: m } = e || {};
|
|
17286
17286
|
if (m)
|
|
17287
17287
|
try {
|
|
17288
|
-
let d = typeof m == "function" ? await m({ width:
|
|
17288
|
+
let d = typeof m == "function" ? await m({ width: s, height: c, src: r, element: o }) : m;
|
|
17289
17289
|
if (d) {
|
|
17290
17290
|
let g = await ca(d, { as: "dataURL", useProxy: e.useProxy });
|
|
17291
|
-
o.src = g.data, o.width || (o.width =
|
|
17291
|
+
o.src = g.data, o.width || (o.width = s), o.height || (o.height = c);
|
|
17292
17292
|
return;
|
|
17293
17293
|
}
|
|
17294
17294
|
} catch {
|
|
17295
17295
|
}
|
|
17296
17296
|
if (e.placeholders !== !1) {
|
|
17297
17297
|
let d = document.createElement("div");
|
|
17298
|
-
d.style.cssText = [`width:${
|
|
17298
|
+
d.style.cssText = [`width:${s}px`, `height:${c}px`, "background:#ccc", "display:inline-block", "text-align:center", `line-height:${c}px`, "color:#666", "font-size:12px", "overflow:hidden"].join(";"), d.textContent = "img", o.replaceWith(d);
|
|
17299
17299
|
} else {
|
|
17300
17300
|
let d = document.createElement("div");
|
|
17301
|
-
d.style.cssText = `display:inline-block;width:${
|
|
17301
|
+
d.style.cssText = `display:inline-block;width:${s}px;height:${c}px;visibility:hidden;`, o.replaceWith(d);
|
|
17302
17302
|
}
|
|
17303
17303
|
};
|
|
17304
17304
|
for (let o = 0; o < a.length; o += 4) {
|
|
@@ -17321,12 +17321,12 @@ function J0(t) {
|
|
|
17321
17321
|
if (t.scrollHeight <= i + 0.5)
|
|
17322
17322
|
return () => {
|
|
17323
17323
|
};
|
|
17324
|
-
let l = 0,
|
|
17325
|
-
for (; l <=
|
|
17326
|
-
let m = l +
|
|
17327
|
-
t.textContent = o.slice(0, m) + "…", t.scrollHeight <= i + 0.5 ? (
|
|
17324
|
+
let l = 0, s = o.length, c = -1;
|
|
17325
|
+
for (; l <= s; ) {
|
|
17326
|
+
let m = l + s >> 1;
|
|
17327
|
+
t.textContent = o.slice(0, m) + "…", t.scrollHeight <= i + 0.5 ? (c = m, l = m + 1) : s = m - 1;
|
|
17328
17328
|
}
|
|
17329
|
-
return t.textContent = (
|
|
17329
|
+
return t.textContent = (c >= 0 ? o.slice(0, c) : "") + "…", () => {
|
|
17330
17330
|
t.textContent = r;
|
|
17331
17331
|
};
|
|
17332
17332
|
}
|
|
@@ -17380,20 +17380,20 @@ function ay(t, e = {}) {
|
|
|
17380
17380
|
for (; o.nextNode(); ) {
|
|
17381
17381
|
let r = o.currentNode;
|
|
17382
17382
|
for (let l of Array.from(r.attributes)) {
|
|
17383
|
-
let
|
|
17384
|
-
if (
|
|
17385
|
-
r.removeAttribute(
|
|
17383
|
+
let s = l.name;
|
|
17384
|
+
if (s.includes("@")) {
|
|
17385
|
+
r.removeAttribute(s);
|
|
17386
17386
|
continue;
|
|
17387
17387
|
}
|
|
17388
|
-
if (
|
|
17389
|
-
let
|
|
17390
|
-
if (!i.has(
|
|
17391
|
-
r.removeAttribute(
|
|
17388
|
+
if (s.includes(":")) {
|
|
17389
|
+
let c = s.split(":", 1)[0];
|
|
17390
|
+
if (!i.has(c)) {
|
|
17391
|
+
r.removeAttribute(s);
|
|
17392
17392
|
continue;
|
|
17393
17393
|
}
|
|
17394
17394
|
}
|
|
17395
|
-
if (a && (
|
|
17396
|
-
r.removeAttribute(
|
|
17395
|
+
if (a && (s.startsWith("x-") || s.startsWith("v-") || s.startsWith(":") || s.startsWith("on:") || s.startsWith("bind:") || s.startsWith("let:") || s.startsWith("class:"))) {
|
|
17396
|
+
r.removeAttribute(s);
|
|
17397
17397
|
continue;
|
|
17398
17398
|
}
|
|
17399
17399
|
}
|
|
@@ -17427,15 +17427,15 @@ function ny(t, e, a = /* @__PURE__ */ new Map()) {
|
|
|
17427
17427
|
function i(o, r) {
|
|
17428
17428
|
if (!(o instanceof Element) || !(r instanceof Element))
|
|
17429
17429
|
return;
|
|
17430
|
-
let l = o.childElementCount > r.childElementCount,
|
|
17431
|
-
if (a.has(o) || a.set(o,
|
|
17430
|
+
let l = o.childElementCount > r.childElementCount, s = a.get(o) || getComputedStyle(o);
|
|
17431
|
+
if (a.has(o) || a.set(o, s), l && ly(o, s)) {
|
|
17432
17432
|
r.style.height || (r.style.height = "auto"), r.style.width || (r.style.width = "auto"), r.style.removeProperty("block-size"), r.style.removeProperty("inline-size"), r.style.minHeight || (r.style.minHeight = "0"), r.style.minWidth || (r.style.minWidth = "0"), r.style.maxHeight || (r.style.maxHeight = "none"), r.style.maxWidth || (r.style.maxWidth = "none");
|
|
17433
|
-
let d =
|
|
17433
|
+
let d = s.overflowY || s.overflowBlock || "visible", g = s.overflowX || s.overflowInline || "visible";
|
|
17434
17434
|
(d !== "visible" || g !== "visible") && (r.style.overflow = "visible");
|
|
17435
17435
|
}
|
|
17436
|
-
let
|
|
17437
|
-
for (let d = 0; d < Math.min(
|
|
17438
|
-
i(
|
|
17436
|
+
let c = Array.from(o.children), m = Array.from(r.children);
|
|
17437
|
+
for (let d = 0; d < Math.min(c.length, m.length); d++)
|
|
17438
|
+
i(c[d], m[d]);
|
|
17439
17439
|
}
|
|
17440
17440
|
i(t, e);
|
|
17441
17441
|
}
|
|
@@ -17458,25 +17458,25 @@ function cy(t, e) {
|
|
|
17458
17458
|
return !1;
|
|
17459
17459
|
}
|
|
17460
17460
|
function my(t, e) {
|
|
17461
|
-
let a = getComputedStyle(t), i = t.getBoundingClientRect(), o = 1 / 0, r = -1 / 0, l = !1,
|
|
17462
|
-
for (let p of
|
|
17461
|
+
let a = getComputedStyle(t), i = t.getBoundingClientRect(), o = 1 / 0, r = -1 / 0, l = !1, s = Array.from(t.children);
|
|
17462
|
+
for (let p of s) {
|
|
17463
17463
|
if (cy(p, e) || !sy(p))
|
|
17464
17464
|
continue;
|
|
17465
17465
|
let u = p.getBoundingClientRect(), h = u.top - i.top, y = u.bottom - i.top;
|
|
17466
17466
|
y <= h || (h < o && (o = h), y > r && (r = y), l = !0);
|
|
17467
17467
|
}
|
|
17468
|
-
let
|
|
17469
|
-
return m + d + g + f +
|
|
17468
|
+
let c = l ? Math.max(0, r - o) : 0, m = parseFloat(a.borderTopWidth) || 0, d = parseFloat(a.borderBottomWidth) || 0, g = parseFloat(a.paddingTop) || 0, f = parseFloat(a.paddingBottom) || 0;
|
|
17469
|
+
return m + d + g + f + c;
|
|
17470
17470
|
}
|
|
17471
17471
|
var he = (t, e = 3) => Number.isFinite(t) ? Math.round(t * 10 ** e) / 10 ** e : t;
|
|
17472
17472
|
function dy(t) {
|
|
17473
|
-
var
|
|
17473
|
+
var s;
|
|
17474
17474
|
let e = t.boxShadow || "";
|
|
17475
17475
|
if (!e || e === "none")
|
|
17476
17476
|
return { top: 0, right: 0, bottom: 0, left: 0 };
|
|
17477
|
-
let a = e.split(/\),(?=(?:[^()]*\([^()]*\))*[^()]*$)/).map((
|
|
17478
|
-
for (let
|
|
17479
|
-
let m = ((
|
|
17477
|
+
let a = e.split(/\),(?=(?:[^()]*\([^()]*\))*[^()]*$)/).map((c) => c.trim()), i = 0, o = 0, r = 0, l = 0;
|
|
17478
|
+
for (let c of a) {
|
|
17479
|
+
let m = ((s = c.match(/-?\d+(\.\d+)?px/g)) == null ? void 0 : s.map((y) => parseFloat(y))) || [];
|
|
17480
17480
|
if (m.length < 2)
|
|
17481
17481
|
continue;
|
|
17482
17482
|
let [d, g, f = 0, p = 0] = m, u = Math.abs(d) + f + p, h = Math.abs(g) + f + p;
|
|
@@ -17495,17 +17495,17 @@ function uy(t) {
|
|
|
17495
17495
|
return { top: e, right: e, bottom: e, left: e };
|
|
17496
17496
|
}
|
|
17497
17497
|
function py(t) {
|
|
17498
|
-
var
|
|
17498
|
+
var c;
|
|
17499
17499
|
let e = `${t.filter || ""} ${t.webkitFilter || ""}`.trim();
|
|
17500
17500
|
if (!e || e === "none")
|
|
17501
17501
|
return { bleed: { top: 0, right: 0, bottom: 0, left: 0 }, has: !1 };
|
|
17502
|
-
let a = e.match(/drop-shadow\((?:[^()]|\([^()]*\))*\)/gi) || [], i = 0, o = 0, r = 0, l = 0,
|
|
17502
|
+
let a = e.match(/drop-shadow\((?:[^()]|\([^()]*\))*\)/gi) || [], i = 0, o = 0, r = 0, l = 0, s = !1;
|
|
17503
17503
|
for (let m of a) {
|
|
17504
|
-
|
|
17505
|
-
let d = ((
|
|
17504
|
+
s = !0;
|
|
17505
|
+
let d = ((c = m.match(/-?\d+(?:\.\d+)?px/gi)) == null ? void 0 : c.map((y) => parseFloat(y))) || [], [g = 0, f = 0, p = 0] = d, u = Math.abs(g) + p, h = Math.abs(f) + p;
|
|
17506
17506
|
o = Math.max(o, u + Math.max(g, 0)), l = Math.max(l, u + Math.max(-g, 0)), r = Math.max(r, h + Math.max(f, 0)), i = Math.max(i, h + Math.max(-f, 0));
|
|
17507
17507
|
}
|
|
17508
|
-
return { bleed: { top: he(i), right: he(o), bottom: he(r), left: he(l) }, has:
|
|
17508
|
+
return { bleed: { top: he(i), right: he(o), bottom: he(r), left: he(l) }, has: s };
|
|
17509
17509
|
}
|
|
17510
17510
|
function gy(t, e) {
|
|
17511
17511
|
if (!t || !e || !e.style)
|
|
@@ -17531,8 +17531,8 @@ function gy(t, e) {
|
|
|
17531
17531
|
if (o) {
|
|
17532
17532
|
let r = o[1].split(",").map((l) => parseFloat(l.trim()));
|
|
17533
17533
|
if (r.length === 6 && r.every(Number.isFinite)) {
|
|
17534
|
-
let [l,
|
|
17535
|
-
d > 0 && (g = l / d, f =
|
|
17534
|
+
let [l, s, c, m] = r, d = Math.sqrt(l * l + s * s) || 0, g = 0, f = 0, p = 0, u = 0, h = 0, y = 0;
|
|
17535
|
+
d > 0 && (g = l / d, f = s / d, p = g * c + f * m, u = c - g * p, h = m - f * p, y = Math.sqrt(u * u + h * h) || 0, y > 0 ? p = p / y : p = 0);
|
|
17536
17536
|
let z = d, L = 0, A = p * y, _ = y;
|
|
17537
17537
|
try {
|
|
17538
17538
|
e.style.transform = `matrix(${z}, ${L}, ${A}, ${_}, 0, 0)`;
|
|
@@ -17549,9 +17549,9 @@ function gy(t, e) {
|
|
|
17549
17549
|
}
|
|
17550
17550
|
}
|
|
17551
17551
|
function Er(t, e, a, i, o) {
|
|
17552
|
-
let r = a.a, l = a.b,
|
|
17552
|
+
let r = a.a, l = a.b, s = a.c, c = a.d, m = a.e || 0, d = a.f || 0;
|
|
17553
17553
|
function g(z, L) {
|
|
17554
|
-
let A = z - i, _ = L - o, M = r * A +
|
|
17554
|
+
let A = z - i, _ = L - o, M = r * A + s * _, C = l * A + c * _;
|
|
17555
17555
|
return M += i + m, C += o + d, [M, C];
|
|
17556
17556
|
}
|
|
17557
17557
|
let f = [g(0, 0), g(t, 0), g(0, e), g(t, e)], p = 1 / 0, u = 1 / 0, h = -1 / 0, y = -1 / 0;
|
|
@@ -17560,14 +17560,14 @@ function Er(t, e, a, i, o) {
|
|
|
17560
17560
|
return { minX: p, minY: u, maxX: h, maxY: y, width: h - p, height: y - u };
|
|
17561
17561
|
}
|
|
17562
17562
|
function fy(t, e, a) {
|
|
17563
|
-
let i = (t.transformOrigin || "0 0").trim().split(/\s+/), [o, r] = [i[0] || "0", i[1] || "0"], l = (
|
|
17564
|
-
let m =
|
|
17565
|
-
return m === "left" || m === "top" ? 0 : m === "center" ?
|
|
17563
|
+
let i = (t.transformOrigin || "0 0").trim().split(/\s+/), [o, r] = [i[0] || "0", i[1] || "0"], l = (s, c) => {
|
|
17564
|
+
let m = s.toLowerCase();
|
|
17565
|
+
return m === "left" || m === "top" ? 0 : m === "center" ? c / 2 : m === "right" || m === "bottom" ? c : m.endsWith("px") ? parseFloat(m) || 0 : m.endsWith("%") ? (parseFloat(m) || 0) * c / 100 : /^-?\d+(\.\d+)?$/.test(m) && parseFloat(m) || 0;
|
|
17566
17566
|
};
|
|
17567
17567
|
return { ox: l(o, e), oy: l(r, a) };
|
|
17568
17568
|
}
|
|
17569
17569
|
function yy(t) {
|
|
17570
|
-
var o, r, l,
|
|
17570
|
+
var o, r, l, s, c, m, d, g;
|
|
17571
17571
|
let e = { rotate: "0deg", scale: null, translate: null }, a = typeof t.computedStyleMap == "function" ? t.computedStyleMap() : null;
|
|
17572
17572
|
if (a) {
|
|
17573
17573
|
let f = (y) => {
|
|
@@ -17589,7 +17589,7 @@ function yy(t) {
|
|
|
17589
17589
|
}
|
|
17590
17590
|
let u = f("scale");
|
|
17591
17591
|
if (u) {
|
|
17592
|
-
let y = "x" in u && ((o = u.x) == null ? void 0 : o.value) != null ? u.x.value : Array.isArray(u) ? (r = u[0]) == null ? void 0 : r.value : Number(u) || 1, z = "y" in u && ((l = u.y) == null ? void 0 : l.value) != null ? u.y.value : Array.isArray(u) ? (
|
|
17592
|
+
let y = "x" in u && ((o = u.x) == null ? void 0 : o.value) != null ? u.x.value : Array.isArray(u) ? (r = u[0]) == null ? void 0 : r.value : Number(u) || 1, z = "y" in u && ((l = u.y) == null ? void 0 : l.value) != null ? u.y.value : Array.isArray(u) ? (s = u[1]) == null ? void 0 : s.value : y;
|
|
17593
17593
|
e.scale = `${y} ${z}`;
|
|
17594
17594
|
} else {
|
|
17595
17595
|
let y = getComputedStyle(t);
|
|
@@ -17597,7 +17597,7 @@ function yy(t) {
|
|
|
17597
17597
|
}
|
|
17598
17598
|
let h = f("translate");
|
|
17599
17599
|
if (h) {
|
|
17600
|
-
let y = "x" in h && "value" in h.x ? h.x.value : Array.isArray(h) ? (
|
|
17600
|
+
let y = "x" in h && "value" in h.x ? h.x.value : Array.isArray(h) ? (c = h[0]) == null ? void 0 : c.value : 0, z = "y" in h && "value" in h.y ? h.y.value : Array.isArray(h) ? (m = h[1]) == null ? void 0 : m.value : 0, L = "x" in h && ((d = h.x) != null && d.unit) ? h.x.unit : "px", A = "y" in h && ((g = h.y) != null && g.unit) ? h.y.unit : "px";
|
|
17601
17601
|
e.translate = `${y}${L} ${z}${A}`;
|
|
17602
17602
|
} else {
|
|
17603
17603
|
let y = getComputedStyle(t);
|
|
@@ -17643,15 +17643,15 @@ async function el(t, e) {
|
|
|
17643
17643
|
if (!t)
|
|
17644
17644
|
throw new Error("Element cannot be null or undefined");
|
|
17645
17645
|
sf(e.cache);
|
|
17646
|
-
let a = e.fast, i = e.outerTransforms !== !1, o = !!e.outerShadows, r = { element: t, options: e, plugins: e.plugins }, l,
|
|
17646
|
+
let a = e.fast, i = e.outerTransforms !== !1, o = !!e.outerShadows, r = { element: t, options: e, plugins: e.plugins }, l, s, c, m = "", d = "", g, f, p = null;
|
|
17647
17647
|
await ha("beforeSnap", r), await ha("beforeClone", r);
|
|
17648
17648
|
let u = J0(r.element);
|
|
17649
17649
|
try {
|
|
17650
|
-
({ clone: l, classCSS:
|
|
17650
|
+
({ clone: l, classCSS: s, styleCache: c } = await H0(r.element, r.options)), !i && l && (p = gy(r.element, l)), !o && l && ey(r.element, l);
|
|
17651
17651
|
} finally {
|
|
17652
17652
|
u();
|
|
17653
17653
|
}
|
|
17654
|
-
if (r = { clone: l, classCSS:
|
|
17654
|
+
if (r = { clone: l, classCSS: s, styleCache: c, ...r }, await ha("afterClone", r), oy(r.clone), ((L = r.options) == null ? void 0 : L.excludeMode) === "remove")
|
|
17655
17655
|
try {
|
|
17656
17656
|
ny(r.element, r.clone, r.styleCache);
|
|
17657
17657
|
} catch (A) {
|
|
@@ -17759,55 +17759,55 @@ Te.capture = async (t, e, a) => {
|
|
|
17759
17759
|
if (a !== tl)
|
|
17760
17760
|
throw new Error("[snapdom.capture] is internal. Use snapdom(...) instead.");
|
|
17761
17761
|
let i = await el(t, e), o = { img: async (u, h) => {
|
|
17762
|
-
let { toImg: y } = await import("./toImg-
|
|
17762
|
+
let { toImg: y } = await import("./toImg-bcd0acf2.js");
|
|
17763
17763
|
return y(i, { ...u, ...h || {} });
|
|
17764
17764
|
}, svg: async (u, h) => {
|
|
17765
|
-
let { toSvg: y } = await import("./toImg-
|
|
17765
|
+
let { toSvg: y } = await import("./toImg-bcd0acf2.js");
|
|
17766
17766
|
return y(i, { ...u, ...h || {} });
|
|
17767
17767
|
}, canvas: async (u, h) => {
|
|
17768
|
-
let { toCanvas: y } = await import("./toCanvas-
|
|
17768
|
+
let { toCanvas: y } = await import("./toCanvas-56f64d35.js");
|
|
17769
17769
|
return y(i, { ...u, ...h || {} });
|
|
17770
17770
|
}, blob: async (u, h) => {
|
|
17771
|
-
let { toBlob: y } = await import("./toBlob-
|
|
17771
|
+
let { toBlob: y } = await import("./toBlob-4263abe6.js");
|
|
17772
17772
|
return y(i, { ...u, ...h || {} });
|
|
17773
17773
|
}, png: async (u, h) => {
|
|
17774
|
-
let { rasterize: y } = await import("./rasterize-JS5G2XHH-
|
|
17774
|
+
let { rasterize: y } = await import("./rasterize-JS5G2XHH-05ddc8fb.js");
|
|
17775
17775
|
return y(i, { ...u, ...h || {}, format: "png" });
|
|
17776
17776
|
}, jpeg: async (u, h) => {
|
|
17777
|
-
let { rasterize: y } = await import("./rasterize-JS5G2XHH-
|
|
17777
|
+
let { rasterize: y } = await import("./rasterize-JS5G2XHH-05ddc8fb.js");
|
|
17778
17778
|
return y(i, { ...u, ...h || {}, format: "jpeg" });
|
|
17779
17779
|
}, webp: async (u, h) => {
|
|
17780
|
-
let { rasterize: y } = await import("./rasterize-JS5G2XHH-
|
|
17780
|
+
let { rasterize: y } = await import("./rasterize-JS5G2XHH-05ddc8fb.js");
|
|
17781
17781
|
return y(i, { ...u, ...h || {}, format: "webp" });
|
|
17782
17782
|
}, download: async (u, h) => {
|
|
17783
|
-
let { download: y } = await import("./download-
|
|
17783
|
+
let { download: y } = await import("./download-1e5db1aa.js");
|
|
17784
17784
|
return y(i, { ...u, ...h || {} });
|
|
17785
17785
|
} }, r = { ...e, export: { url: i }, exports: { svg: async (u) => {
|
|
17786
|
-
let { toSvg: h } = await import("./toImg-
|
|
17786
|
+
let { toSvg: h } = await import("./toImg-bcd0acf2.js");
|
|
17787
17787
|
return h(i, { ...e, ...u || {}, [da]: !0 });
|
|
17788
17788
|
}, canvas: async (u) => {
|
|
17789
|
-
let { toCanvas: h } = await import("./toCanvas-
|
|
17789
|
+
let { toCanvas: h } = await import("./toCanvas-56f64d35.js");
|
|
17790
17790
|
return h(i, { ...e, ...u || {}, [da]: !0 });
|
|
17791
17791
|
}, png: async (u) => {
|
|
17792
|
-
let { rasterize: h } = await import("./rasterize-JS5G2XHH-
|
|
17792
|
+
let { rasterize: h } = await import("./rasterize-JS5G2XHH-05ddc8fb.js");
|
|
17793
17793
|
return h(i, { ...e, ...u || {}, format: "png", [da]: !0 });
|
|
17794
17794
|
}, jpeg: async (u) => {
|
|
17795
|
-
let { rasterize: h } = await import("./rasterize-JS5G2XHH-
|
|
17795
|
+
let { rasterize: h } = await import("./rasterize-JS5G2XHH-05ddc8fb.js");
|
|
17796
17796
|
return h(i, { ...e, ...u || {}, format: "jpeg", [da]: !0 });
|
|
17797
17797
|
}, jpg: async (u) => {
|
|
17798
|
-
let { rasterize: h } = await import("./rasterize-JS5G2XHH-
|
|
17798
|
+
let { rasterize: h } = await import("./rasterize-JS5G2XHH-05ddc8fb.js");
|
|
17799
17799
|
return h(i, { ...e, ...u || {}, format: "jpeg", [da]: !0 });
|
|
17800
17800
|
}, webp: async (u) => {
|
|
17801
|
-
let { rasterize: h } = await import("./rasterize-JS5G2XHH-
|
|
17801
|
+
let { rasterize: h } = await import("./rasterize-JS5G2XHH-05ddc8fb.js");
|
|
17802
17802
|
return h(i, { ...e, ...u || {}, format: "webp", [da]: !0 });
|
|
17803
17803
|
}, blob: async (u) => {
|
|
17804
|
-
let { toBlob: h } = await import("./toBlob-
|
|
17804
|
+
let { toBlob: h } = await import("./toBlob-4263abe6.js");
|
|
17805
17805
|
return h(i, { ...e, ...u || {}, [da]: !0 });
|
|
17806
17806
|
}, img: async (u) => {
|
|
17807
|
-
let { toImg: h } = await import("./toImg-
|
|
17807
|
+
let { toImg: h } = await import("./toImg-bcd0acf2.js");
|
|
17808
17808
|
return h(i, { ...e, ...u || {}, [da]: !0 });
|
|
17809
|
-
} } }, l = await qf("defineExports", r),
|
|
17810
|
-
|
|
17809
|
+
} } }, l = await qf("defineExports", r), s = Object.assign({}, ...l.filter((u) => u && typeof u == "object")), c = { ...o, ...s };
|
|
17810
|
+
c.jpeg && !c.jpg && (c.jpg = (u, h) => c.jpeg(u, h));
|
|
17811
17811
|
function m(u, h) {
|
|
17812
17812
|
let y = { ...e, ...h || {} };
|
|
17813
17813
|
return (u === "jpeg" || u === "jpg") && (y.backgroundColor == null || y.backgroundColor === "transparent") && (y.backgroundColor = "#ffffff"), y;
|
|
@@ -17815,7 +17815,7 @@ Te.capture = async (t, e, a) => {
|
|
|
17815
17815
|
let d = !1, g = Promise.resolve();
|
|
17816
17816
|
async function f(u, h) {
|
|
17817
17817
|
let y = async () => {
|
|
17818
|
-
let z =
|
|
17818
|
+
let z = c[u];
|
|
17819
17819
|
if (!z)
|
|
17820
17820
|
throw new Error(`[snapdom] Unknown export type: ${u}`);
|
|
17821
17821
|
let L = m(u, h), A = { ...e, export: { type: u, options: L, url: i } };
|
|
@@ -17826,7 +17826,7 @@ Te.capture = async (t, e, a) => {
|
|
|
17826
17826
|
return g = g.then(y);
|
|
17827
17827
|
}
|
|
17828
17828
|
let p = { url: i, toRaw: () => i, to: (u, h) => f(u, h), toImg: (u) => f("img", u), toSvg: (u) => f("svg", u), toCanvas: (u) => f("canvas", u), toBlob: (u) => f("blob", u), toPng: (u) => f("png", u), toJpg: (u) => f("jpg", u), toWebp: (u) => f("webp", u), download: (u) => f("download", u) };
|
|
17829
|
-
for (let u of Object.keys(
|
|
17829
|
+
for (let u of Object.keys(c)) {
|
|
17830
17830
|
let h = "to" + u.charAt(0).toUpperCase() + u.slice(1);
|
|
17831
17831
|
p[h] || (p[h] = (y) => f(u, y));
|
|
17832
17832
|
}
|
|
@@ -17862,8 +17862,8 @@ async function _y(t, e) {
|
|
|
17862
17862
|
}
|
|
17863
17863
|
let l = performance.now();
|
|
17864
17864
|
for (; !(r.complete && r.naturalWidth > 0) && performance.now() - l < 900; )
|
|
17865
|
-
await new Promise((
|
|
17866
|
-
await new Promise((
|
|
17865
|
+
await new Promise((s) => setTimeout(s, 200));
|
|
17866
|
+
await new Promise((s) => requestAnimationFrame(s));
|
|
17867
17867
|
try {
|
|
17868
17868
|
r.remove();
|
|
17869
17869
|
} catch {
|
|
@@ -17959,21 +17959,21 @@ class My {
|
|
|
17959
17959
|
const l = i.getBoundingClientRect();
|
|
17960
17960
|
if (!l.width || !l.height)
|
|
17961
17961
|
return;
|
|
17962
|
-
const
|
|
17962
|
+
const c = await (await Te(i, {
|
|
17963
17963
|
// Use the same pixel density for every frame, including after browser zoom changes.
|
|
17964
17964
|
dpr: this.pixelRatio,
|
|
17965
17965
|
scale: 1,
|
|
17966
17966
|
embedFonts: !0,
|
|
17967
17967
|
filter: (m) => !(m instanceof HTMLElement && m.classList.contains("capture-exclude"))
|
|
17968
17968
|
})).toPng();
|
|
17969
|
-
if (console.log("[GifRecorder] snapdom 截图完成, img:", (r =
|
|
17969
|
+
if (console.log("[GifRecorder] snapdom 截图完成, img:", (r = c == null ? void 0 : c.src) == null ? void 0 : r.length), !c || !c.src) {
|
|
17970
17970
|
console.error("[GifRecorder] snapdom 返回空图片");
|
|
17971
17971
|
return;
|
|
17972
17972
|
}
|
|
17973
17973
|
await new Promise((m, d) => {
|
|
17974
|
-
|
|
17975
|
-
console.log("[GifRecorder] 图片加载完成, 开始裁剪区域"), this.processImage(
|
|
17976
|
-
},
|
|
17974
|
+
c.complete && c.naturalWidth > 0 ? (console.log("[GifRecorder] 图片已加载, 开始裁剪区域"), this.processImage(c, a, l), m()) : (c.onload = () => {
|
|
17975
|
+
console.log("[GifRecorder] 图片加载完成, 开始裁剪区域"), this.processImage(c, a, l), m();
|
|
17976
|
+
}, c.onerror = (g) => {
|
|
17977
17977
|
console.error("[GifRecorder] 图片加载失败:", g), d(g);
|
|
17978
17978
|
});
|
|
17979
17979
|
});
|
|
@@ -17984,12 +17984,12 @@ class My {
|
|
|
17984
17984
|
processImage(e, a, i) {
|
|
17985
17985
|
if (!this.canvas || !this.ctx || !this.captureRect)
|
|
17986
17986
|
return;
|
|
17987
|
-
const o = this.pixelRatio, r = e.naturalWidth / i.width, l = e.naturalHeight / i.height,
|
|
17987
|
+
const o = this.pixelRatio, r = e.naturalWidth / i.width, l = e.naturalHeight / i.height, s = Math.round((this.captureRect.x - i.left) * r), c = Math.round((this.captureRect.y - i.top) * l), m = Math.max(1, Math.round(this.captureRect.width * r)), d = Math.max(1, Math.round(this.captureRect.height * l));
|
|
17988
17988
|
this.ctx.clearRect(0, 0, this.canvas.width / o, this.canvas.height / o), this.ctx.drawImage(
|
|
17989
17989
|
e,
|
|
17990
|
-
c,
|
|
17991
|
-
// 源图像x坐标(实际像素)
|
|
17992
17990
|
s,
|
|
17991
|
+
// 源图像x坐标(实际像素)
|
|
17992
|
+
c,
|
|
17993
17993
|
// 源图像y坐标(实际像素)
|
|
17994
17994
|
m,
|
|
17995
17995
|
// 源图像宽度(实际像素)
|
|
@@ -18059,11 +18059,11 @@ class My {
|
|
|
18059
18059
|
throw new Error("MP4 encoding is not supported by this browser.");
|
|
18060
18060
|
const i = this.frames.slice(), o = Number.isFinite(this._frameDelay) && this._frameDelay > 0 ? this._frameDelay : 1e3, r = 30, l = document.createElement("canvas");
|
|
18061
18061
|
l.width = Math.ceil(i[0].width / 2) * 2, l.height = Math.ceil(i[0].height / 2) * 2;
|
|
18062
|
-
const
|
|
18063
|
-
if (!
|
|
18062
|
+
const s = l.getContext("2d", { alpha: !1 });
|
|
18063
|
+
if (!s)
|
|
18064
18064
|
throw new Error("Unable to create the video rendering context.");
|
|
18065
|
-
|
|
18066
|
-
const
|
|
18065
|
+
s.fillStyle = "#ffffff", s.fillRect(0, 0, l.width, l.height), s.putImageData(i[0], 0, 0);
|
|
18066
|
+
const c = Math.min(3e8, Math.max(1e8, Math.round(l.width * l.height * r))), m = l.captureStream(r);
|
|
18067
18067
|
return m.getVideoTracks().forEach((d) => {
|
|
18068
18068
|
d.contentHint = "text";
|
|
18069
18069
|
}), new Promise((d, g) => {
|
|
@@ -18077,7 +18077,7 @@ class My {
|
|
|
18077
18077
|
try {
|
|
18078
18078
|
for (const _ of a)
|
|
18079
18079
|
try {
|
|
18080
|
-
f = new MediaRecorder(m, { mimeType: _, videoBitsPerSecond:
|
|
18080
|
+
f = new MediaRecorder(m, { mimeType: _, videoBitsPerSecond: c });
|
|
18081
18081
|
break;
|
|
18082
18082
|
} catch {
|
|
18083
18083
|
}
|
|
@@ -18089,7 +18089,7 @@ class My {
|
|
|
18089
18089
|
width: l.width,
|
|
18090
18090
|
height: l.height,
|
|
18091
18091
|
mimeType: A.mimeType,
|
|
18092
|
-
requestedBitsPerSecond:
|
|
18092
|
+
requestedBitsPerSecond: c,
|
|
18093
18093
|
encoderBitsPerSecond: A.videoBitsPerSecond
|
|
18094
18094
|
}), A.ondataavailable = (_) => {
|
|
18095
18095
|
_.data.size > 0 && h.push(_.data);
|
|
@@ -18115,7 +18115,7 @@ class My {
|
|
|
18115
18115
|
}
|
|
18116
18116
|
_ = S;
|
|
18117
18117
|
}
|
|
18118
|
-
|
|
18118
|
+
s.putImageData(i[M], 0, 0);
|
|
18119
18119
|
const R = o - (performance.now() - _);
|
|
18120
18120
|
p = setTimeout(C, Math.max(1, Math.min(1e3 / r, R)));
|
|
18121
18121
|
} catch (S) {
|
|
@@ -18328,13 +18328,13 @@ const Py = {
|
|
|
18328
18328
|
{ name: "mp4", generate: () => t.generateMp4() }
|
|
18329
18329
|
], a = await Promise.allSettled(e.map(({ generate: i }) => i()));
|
|
18330
18330
|
this.recorder === t && (this.generating = !1, a.forEach((i, o) => {
|
|
18331
|
-
var l,
|
|
18331
|
+
var l, s;
|
|
18332
18332
|
const r = e[o].name;
|
|
18333
18333
|
if (i.status === "fulfilled" && ((l = i.value) != null && l.size))
|
|
18334
18334
|
this[`${r}Blob`] = i.value;
|
|
18335
18335
|
else {
|
|
18336
|
-
const
|
|
18337
|
-
this.exportErrors.push(`${r.toUpperCase()} export failed: ${
|
|
18336
|
+
const c = i.status === "rejected" ? ((s = i.reason) == null ? void 0 : s.message) || String(i.reason) : "No frames were captured.";
|
|
18337
|
+
this.exportErrors.push(`${r.toUpperCase()} export failed: ${c}`);
|
|
18338
18338
|
}
|
|
18339
18339
|
}), this.gifBlob || this.mp4Blob ? this.actionStatus = 6 : (t.reset(), this.recorder = null, this.actionStatus = 0, this.$emit("closeRecord")));
|
|
18340
18340
|
}, 2e3);
|
|
@@ -18399,17 +18399,17 @@ function jy(t, e, a, i, o, r) {
|
|
|
18399
18399
|
const l = P("VBtn");
|
|
18400
18400
|
return v(), D("div", {
|
|
18401
18401
|
class: "capture-container",
|
|
18402
|
-
onContextmenu: e[7] || (e[7] = _e((...
|
|
18402
|
+
onContextmenu: e[7] || (e[7] = _e((...s) => r.handleExitRecord && r.handleExitRecord(...s), ["prevent"]))
|
|
18403
18403
|
}, [
|
|
18404
18404
|
o.exportErrors.length ? (v(), D("div", Sy, [
|
|
18405
|
-
(v(!0), D(Me, null, Se(o.exportErrors, (
|
|
18405
|
+
(v(!0), D(Me, null, Se(o.exportErrors, (s) => (v(), D("div", { key: s }, b(s), 1))), 128))
|
|
18406
18406
|
])) : I("", !0),
|
|
18407
18407
|
o.actionStatus > 0 && o.actionStatus < 4 ? (v(), D("div", {
|
|
18408
18408
|
key: 1,
|
|
18409
18409
|
class: "capture-selector",
|
|
18410
|
-
onMousedown: e[2] || (e[2] = (...
|
|
18411
|
-
onMousemove: e[3] || (e[3] = (...
|
|
18412
|
-
onMouseup: e[4] || (e[4] = (...
|
|
18410
|
+
onMousedown: e[2] || (e[2] = (...s) => r.handleMouseDown && r.handleMouseDown(...s)),
|
|
18411
|
+
onMousemove: e[3] || (e[3] = (...s) => r.handleMouseMove && r.handleMouseMove(...s)),
|
|
18412
|
+
onMouseup: e[4] || (e[4] = (...s) => r.handleMouseUp && r.handleMouseUp(...s))
|
|
18413
18413
|
}, [
|
|
18414
18414
|
o.actionStatus === 1 ? (v(), D("div", Ty, b(t.$t("tips.crossHairText")), 1)) : I("", !0),
|
|
18415
18415
|
o.actionStatus >= 2 ? (v(), D("div", {
|
|
@@ -18616,7 +18616,7 @@ const Wy = {
|
|
|
18616
18616
|
class: "list d-flex flex-wrap pa-2 rounded ga-2"
|
|
18617
18617
|
}, Uy = ["onClick"], Jy = { class: "btn-box d-flex justify-start align-center rounded ga-2 py-1 px-3" }, Ky = { class: "text-body-1" };
|
|
18618
18618
|
function Qy(t, e, a, i, o, r) {
|
|
18619
|
-
const l = P("IdmCapture"),
|
|
18619
|
+
const l = P("IdmCapture"), s = P("DateTimePicker"), c = P("VListItemTitle"), m = P("VListItem"), d = P("VList"), g = P("VMenu"), f = P("VBtn"), p = P("VDivider"), u = P("VTooltip");
|
|
18620
18620
|
return v(), D("div", Zy, [
|
|
18621
18621
|
w(l, V({
|
|
18622
18622
|
ref: "capture",
|
|
@@ -18633,7 +18633,7 @@ function Qy(t, e, a, i, o, r) {
|
|
|
18633
18633
|
style: pe({ right: o.right + 146 + "px", bottom: Object.values(o.show).includes(!0) ? "10px" : "-100px" })
|
|
18634
18634
|
}, [
|
|
18635
18635
|
n("div", Vy, [
|
|
18636
|
-
w(
|
|
18636
|
+
w(s, V({
|
|
18637
18637
|
ref: "dateTimePicker",
|
|
18638
18638
|
"date-time": o.currentDateTimeZ,
|
|
18639
18639
|
"time-zone": o.timeZone,
|
|
@@ -18671,7 +18671,7 @@ function Qy(t, e, a, i, o, r) {
|
|
|
18671
18671
|
class: "pa-0 text-center text-body-1"
|
|
18672
18672
|
}, {
|
|
18673
18673
|
default: x(() => [
|
|
18674
|
-
w(
|
|
18674
|
+
w(c, {
|
|
18675
18675
|
onClick: (z) => o.intervalHour = h
|
|
18676
18676
|
}, {
|
|
18677
18677
|
default: x(() => [
|
|
@@ -19131,7 +19131,7 @@ const $y = {
|
|
|
19131
19131
|
}
|
|
19132
19132
|
}, e1 = { class: "w-100 timeline-box d-flex justify-space-around align-center rounded px-2" };
|
|
19133
19133
|
function t1(t, e, a, i, o, r) {
|
|
19134
|
-
const l = P("VBtn"),
|
|
19134
|
+
const l = P("VBtn"), s = P("DateTimePicker");
|
|
19135
19135
|
return v(), D("div", {
|
|
19136
19136
|
class: "idm-time-player-gl4 d-flex justify-center align-center",
|
|
19137
19137
|
style: pe({ bottom: Object.values(o.show).includes(!0) ? a.playerBottom + "px" : "-100px" })
|
|
@@ -19167,7 +19167,7 @@ function t1(t, e, a, i, o, r) {
|
|
|
19167
19167
|
_: 1,
|
|
19168
19168
|
__: [5]
|
|
19169
19169
|
}, 8, ["onClick"]),
|
|
19170
|
-
w(
|
|
19170
|
+
w(s, V({
|
|
19171
19171
|
ref: "dateTimePicker",
|
|
19172
19172
|
"date-time": o.currentDateTimeZ,
|
|
19173
19173
|
"time-zone": o.timeZone,
|
|
@@ -19175,10 +19175,10 @@ function t1(t, e, a, i, o, r) {
|
|
|
19175
19175
|
"interval-hour": o.intervalHour,
|
|
19176
19176
|
height: 32
|
|
19177
19177
|
}, t.$attrs, {
|
|
19178
|
-
onCurrentTimestamp: e[0] || (e[0] = (
|
|
19179
|
-
onCurrentRealTime: e[1] || (e[1] = (
|
|
19180
|
-
onMinTimestamp: e[2] || (e[2] = (
|
|
19181
|
-
onMaxTimestamp: e[3] || (e[3] = (
|
|
19178
|
+
onCurrentTimestamp: e[0] || (e[0] = (c) => o.currentTimestamp = c),
|
|
19179
|
+
onCurrentRealTime: e[1] || (e[1] = (c) => o.currentRealTime = c),
|
|
19180
|
+
onMinTimestamp: e[2] || (e[2] = (c) => o.minTimestamp = c),
|
|
19181
|
+
onMaxTimestamp: e[3] || (e[3] = (c) => o.maxTimestamp = c)
|
|
19182
19182
|
}), null, 16, ["date-time", "time-zone", "day-about", "interval-hour"]),
|
|
19183
19183
|
w(l, {
|
|
19184
19184
|
size: "small",
|
|
@@ -19251,10 +19251,6 @@ class a1 {
|
|
|
19251
19251
|
try {
|
|
19252
19252
|
return this.stream = await navigator.mediaDevices.getDisplayMedia({
|
|
19253
19253
|
video: {
|
|
19254
|
-
width: { ideal: 1440, max: 1440 },
|
|
19255
|
-
// 限制宽度为1440
|
|
19256
|
-
height: { ideal: 810, max: 810 },
|
|
19257
|
-
// 16:9 比例对应高度
|
|
19258
19254
|
frameRate: { ideal: e, max: 30 },
|
|
19259
19255
|
displaySurface: "window"
|
|
19260
19256
|
},
|
|
@@ -19281,13 +19277,15 @@ class a1 {
|
|
|
19281
19277
|
}
|
|
19282
19278
|
this.recordedChunks = [];
|
|
19283
19279
|
try {
|
|
19284
|
-
const e = this.
|
|
19280
|
+
const e = this.stream.getVideoTracks()[0];
|
|
19281
|
+
e && "contentHint" in e && (e.contentHint = "detail");
|
|
19282
|
+
const a = this.getSupportedMimeType();
|
|
19285
19283
|
this.mediaRecorder = new MediaRecorder(this.stream, {
|
|
19286
|
-
mimeType:
|
|
19287
|
-
videoBitsPerSecond:
|
|
19288
|
-
//
|
|
19289
|
-
}), this.mediaRecorder.ondataavailable = (
|
|
19290
|
-
|
|
19284
|
+
mimeType: a,
|
|
19285
|
+
videoBitsPerSecond: this.getVideoBitsPerSecond()
|
|
19286
|
+
// 按捕获分辨率动态计算码率
|
|
19287
|
+
}), this.mediaRecorder.ondataavailable = (i) => {
|
|
19288
|
+
i.data.size > 0 && this.recordedChunks.push(i.data);
|
|
19291
19289
|
}, this.mediaRecorder.start(100), this._isRecording = !0;
|
|
19292
19290
|
} catch (e) {
|
|
19293
19291
|
throw console.error("[MapRecorder] 录制启动失败:", e), e;
|
|
@@ -19323,6 +19321,14 @@ class a1 {
|
|
|
19323
19321
|
get isStreamReady() {
|
|
19324
19322
|
return this._isStreamReady;
|
|
19325
19323
|
}
|
|
19324
|
+
/**
|
|
19325
|
+
* 按捕获分辨率动态计算视频码率,保证画面清晰度
|
|
19326
|
+
*/
|
|
19327
|
+
getVideoBitsPerSecond() {
|
|
19328
|
+
var l, s;
|
|
19329
|
+
const e = ((s = (l = this.stream) == null ? void 0 : l.getVideoTracks()[0]) == null ? void 0 : s.getSettings()) || {}, a = e.width || 1920, i = e.height || 1080, o = e.frameRate || this._frameRate || 30, r = Math.round(a * i * o * 0.12);
|
|
19330
|
+
return Math.min(Math.max(r, 4e6), 3e7);
|
|
19331
|
+
}
|
|
19326
19332
|
/**
|
|
19327
19333
|
* 获取支持的 MIME 类型
|
|
19328
19334
|
*/
|
|
@@ -19456,12 +19462,12 @@ const o1 = {
|
|
|
19456
19462
|
for (; i.isSameOrBefore(o); ) {
|
|
19457
19463
|
const r = [];
|
|
19458
19464
|
for (let l = a; l < 24; l += this.intervalHour) {
|
|
19459
|
-
const
|
|
19460
|
-
|
|
19465
|
+
const s = i.clone().add(l, "hours").valueOf();
|
|
19466
|
+
s < this.minTimestamp || s > this.maxTimestamp || r.push({
|
|
19461
19467
|
key: `${i.format("YYYY-MM-DD")}-${l}`,
|
|
19462
|
-
timestamp:
|
|
19463
|
-
isActive:
|
|
19464
|
-
isCurrent: this.currentTimestamp >=
|
|
19468
|
+
timestamp: s,
|
|
19469
|
+
isActive: s < (this.currentTimestamp || Date.now()),
|
|
19470
|
+
isCurrent: this.currentTimestamp >= s && this.currentTimestamp < s + this.intervalHour * 36e5,
|
|
19465
19471
|
label: String(l).padStart(2, "0")
|
|
19466
19472
|
});
|
|
19467
19473
|
}
|
|
@@ -19530,8 +19536,8 @@ const o1 = {
|
|
|
19530
19536
|
const t = this.$refs.timelineScroll;
|
|
19531
19537
|
if (!t || !this.currentTimestamp)
|
|
19532
19538
|
return;
|
|
19533
|
-
const e = this.timeZoneName, a = T.tz(this.currentTimestamp, e), r = (a.clone().startOf("day").diff(this.timelineStartDate, "hours") + a.hour()) / this.intervalHour * this.hourWidth, l = r + this.hourWidth,
|
|
19534
|
-
l >
|
|
19539
|
+
const e = this.timeZoneName, a = T.tz(this.currentTimestamp, e), r = (a.clone().startOf("day").diff(this.timelineStartDate, "hours") + a.hour()) / this.intervalHour * this.hourWidth, l = r + this.hourWidth, s = t.scrollLeft, c = s + t.clientWidth;
|
|
19540
|
+
l > c ? t.scrollLeft = l - t.clientWidth : r < s && (t.scrollLeft = r);
|
|
19535
19541
|
}));
|
|
19536
19542
|
},
|
|
19537
19543
|
immediate: !0
|
|
@@ -19565,7 +19571,7 @@ const o1 = {
|
|
|
19565
19571
|
},
|
|
19566
19572
|
methods: {
|
|
19567
19573
|
getNearestTimelineTimestamp(t) {
|
|
19568
|
-
const e = Math.max(t, this.minTimestamp), a = this.timelineDays.flatMap((
|
|
19574
|
+
const e = Math.max(t, this.minTimestamp), a = this.timelineDays.flatMap((s) => s.hours), i = a.find((s) => s.timestamp >= e), o = a.reverse().find((s) => s.timestamp <= e), r = (this.timeZone % this.intervalHour + this.intervalHour) % this.intervalHour, l = (i == null ? void 0 : i.timestamp) ?? T.tz(e, this.timeZoneName).add(1, "day").startOf("day").add(r, "hours").valueOf();
|
|
19569
19575
|
return o && e - o.timestamp < l - e ? o.timestamp : l;
|
|
19570
19576
|
},
|
|
19571
19577
|
updatePlayBubblePosition() {
|
|
@@ -19580,8 +19586,8 @@ const o1 = {
|
|
|
19580
19586
|
this.bubblePosition = null;
|
|
19581
19587
|
return;
|
|
19582
19588
|
}
|
|
19583
|
-
const l = t.getBoundingClientRect(),
|
|
19584
|
-
(((m = this.bubblePosition) == null ? void 0 : m.left) !==
|
|
19589
|
+
const l = t.getBoundingClientRect(), s = `${r - l.left - t.clientLeft}px`, c = `${i.top - l.top - t.clientTop - 2}px`;
|
|
19590
|
+
(((m = this.bubblePosition) == null ? void 0 : m.left) !== s || ((d = this.bubblePosition) == null ? void 0 : d.top) !== c) && (this.bubblePosition = { left: s, top: c });
|
|
19585
19591
|
},
|
|
19586
19592
|
scrollToCurrentTime() {
|
|
19587
19593
|
const t = this.$refs.timelineScroll, e = t == null ? void 0 : t.querySelector(".timeline-hour.is-current");
|
|
@@ -19591,14 +19597,14 @@ const o1 = {
|
|
|
19591
19597
|
t.scrollLeft = Math.max(0, t.scrollLeft + a.left + e.clientLeft - (i.left + i.width / 2)), this.updatePlayBubblePosition();
|
|
19592
19598
|
},
|
|
19593
19599
|
initCurrentTimestamp() {
|
|
19594
|
-
var
|
|
19600
|
+
var c, m;
|
|
19595
19601
|
const t = Date.now(), e = this.timeZoneName, a = T.tz(t, e), i = (this.timeZone % this.intervalHour + this.intervalHour) % this.intervalHour, o = a.hour(), r = o - ((o - i) % this.intervalHour + this.intervalHour) % this.intervalHour, l = a.clone().set({
|
|
19596
19602
|
minute: 0,
|
|
19597
19603
|
second: 0,
|
|
19598
19604
|
millisecond: 0,
|
|
19599
19605
|
hour: r
|
|
19600
|
-
}).valueOf(),
|
|
19601
|
-
this.currentTimestamp = Math.max(
|
|
19606
|
+
}).valueOf(), s = ((m = (c = this.timelineDays[0]) == null ? void 0 : c.hours[0]) == null ? void 0 : m.timestamp) ?? this.minTimestamp;
|
|
19607
|
+
this.currentTimestamp = Math.max(s, Math.min(l, this.maxTimestamp)), this.step = 0, this.startAnimate = 0, this.$nextTick(() => {
|
|
19602
19608
|
const d = this.$refs.timelineScroll;
|
|
19603
19609
|
if (!d)
|
|
19604
19610
|
return;
|
|
@@ -19607,19 +19613,19 @@ const o1 = {
|
|
|
19607
19613
|
});
|
|
19608
19614
|
},
|
|
19609
19615
|
handleTimelineClick(t, e) {
|
|
19610
|
-
var i, o, r, l,
|
|
19616
|
+
var i, o, r, l, s, c, m, d;
|
|
19611
19617
|
if (this.hasDragged)
|
|
19612
19618
|
return;
|
|
19613
19619
|
this.handlePause();
|
|
19614
|
-
const a = e < 24 / this.intervalHour - 1 ? (l = (r = (o = (i = this.timelineDays) == null ? void 0 : i[t]) == null ? void 0 : o.hours) == null ? void 0 : r[e + 1]) == null ? void 0 : l.timestamp : (d = (m = (
|
|
19620
|
+
const a = e < 24 / this.intervalHour - 1 ? (l = (r = (o = (i = this.timelineDays) == null ? void 0 : i[t]) == null ? void 0 : o.hours) == null ? void 0 : r[e + 1]) == null ? void 0 : l.timestamp : (d = (m = (c = (s = this.timelineDays) == null ? void 0 : s[t + 1]) == null ? void 0 : c.hours) == null ? void 0 : m[0]) == null ? void 0 : d.timestamp;
|
|
19615
19621
|
this.currentTimestamp = Math.max(this.minTimestamp, Math.min(a, this.maxTimestamp));
|
|
19616
19622
|
},
|
|
19617
19623
|
handleDateClick(t, e) {
|
|
19618
|
-
var r, l,
|
|
19624
|
+
var r, l, s, c;
|
|
19619
19625
|
if (this.hasDragged)
|
|
19620
19626
|
return;
|
|
19621
19627
|
const a = e.currentTarget.getBoundingClientRect(), i = e.clientX - a.left - 2, o = Math.min(Math.floor(i / this.hourWidth), ((l = (r = this.timelineDays) == null ? void 0 : r[t]) == null ? void 0 : l.hours.length) - 1);
|
|
19622
|
-
o >= 0 && o < ((
|
|
19628
|
+
o >= 0 && o < ((c = (s = this.timelineDays) == null ? void 0 : s[t]) == null ? void 0 : c.hours.length) && this.handleTimelineClick(t, o);
|
|
19623
19629
|
},
|
|
19624
19630
|
handleDragStart(t) {
|
|
19625
19631
|
var e;
|
|
@@ -19735,7 +19741,7 @@ const o1 = {
|
|
|
19735
19741
|
class: "record-logo"
|
|
19736
19742
|
}, x1 = { style: { padding: "6px 16px", margin: "auto", background: "#3468f5", color: "var(--idm-white, #fff)", "border-radius": "6px", "font-size": "20px", "font-weight": "bold" } };
|
|
19737
19743
|
function v1(t, e, a, i, o, r) {
|
|
19738
|
-
const l = P("VBtn"),
|
|
19744
|
+
const l = P("VBtn"), s = P("VTooltip"), c = P("VDivider"), m = P("VListItemTitle"), d = P("VListItem"), g = P("VList"), f = P("VMenu");
|
|
19739
19745
|
return v(), D("div", i1, [
|
|
19740
19746
|
n("div", {
|
|
19741
19747
|
ref: "timelineBox",
|
|
@@ -19751,7 +19757,7 @@ function v1(t, e, a, i, o, r) {
|
|
|
19751
19757
|
e[11] || (e[11] = n("span", { class: "bubble-arrow" }, null, -1))
|
|
19752
19758
|
], 4)) : I("", !0),
|
|
19753
19759
|
n("div", l1, [
|
|
19754
|
-
w(
|
|
19760
|
+
w(s, {
|
|
19755
19761
|
text: o.isRecording ? t.$t("actions.stop") : t.$t("actions.record"),
|
|
19756
19762
|
location: "top",
|
|
19757
19763
|
interactive: !0,
|
|
@@ -19786,7 +19792,7 @@ function v1(t, e, a, i, o, r) {
|
|
|
19786
19792
|
]),
|
|
19787
19793
|
_: 1
|
|
19788
19794
|
}, 8, ["text"]),
|
|
19789
|
-
w(
|
|
19795
|
+
w(s, {
|
|
19790
19796
|
text: t.$t("actions.reset"),
|
|
19791
19797
|
location: "top",
|
|
19792
19798
|
interactive: !0,
|
|
@@ -19809,7 +19815,7 @@ function v1(t, e, a, i, o, r) {
|
|
|
19809
19815
|
]),
|
|
19810
19816
|
_: 1
|
|
19811
19817
|
}, 8, ["text"]),
|
|
19812
|
-
w(
|
|
19818
|
+
w(s, {
|
|
19813
19819
|
text: t.$t("actions.backward"),
|
|
19814
19820
|
location: "top",
|
|
19815
19821
|
interactive: !0,
|
|
@@ -19832,7 +19838,7 @@ function v1(t, e, a, i, o, r) {
|
|
|
19832
19838
|
]),
|
|
19833
19839
|
_: 1
|
|
19834
19840
|
}, 8, ["text"]),
|
|
19835
|
-
w(
|
|
19841
|
+
w(s, {
|
|
19836
19842
|
text: t.$t("actions.play"),
|
|
19837
19843
|
location: "top",
|
|
19838
19844
|
interactive: !0,
|
|
@@ -19855,7 +19861,7 @@ function v1(t, e, a, i, o, r) {
|
|
|
19855
19861
|
]),
|
|
19856
19862
|
_: 1
|
|
19857
19863
|
}, 8, ["text"]),
|
|
19858
|
-
w(
|
|
19864
|
+
w(s, {
|
|
19859
19865
|
text: t.$t("actions.pause"),
|
|
19860
19866
|
location: "top",
|
|
19861
19867
|
interactive: !0,
|
|
@@ -19878,7 +19884,7 @@ function v1(t, e, a, i, o, r) {
|
|
|
19878
19884
|
]),
|
|
19879
19885
|
_: 1
|
|
19880
19886
|
}, 8, ["text"]),
|
|
19881
|
-
w(
|
|
19887
|
+
w(s, {
|
|
19882
19888
|
text: t.$t("actions.forward"),
|
|
19883
19889
|
location: "top",
|
|
19884
19890
|
interactive: !0,
|
|
@@ -19902,7 +19908,7 @@ function v1(t, e, a, i, o, r) {
|
|
|
19902
19908
|
_: 1
|
|
19903
19909
|
}, 8, ["text"])
|
|
19904
19910
|
]),
|
|
19905
|
-
w(
|
|
19911
|
+
w(c, {
|
|
19906
19912
|
vertical: "",
|
|
19907
19913
|
class: "mx-2 my-4"
|
|
19908
19914
|
}),
|
|
@@ -19953,7 +19959,7 @@ function v1(t, e, a, i, o, r) {
|
|
|
19953
19959
|
_: 1
|
|
19954
19960
|
})
|
|
19955
19961
|
]),
|
|
19956
|
-
w(
|
|
19962
|
+
w(c, {
|
|
19957
19963
|
vertical: "",
|
|
19958
19964
|
class: "mx-2 my-4"
|
|
19959
19965
|
}),
|
|
@@ -19993,12 +19999,12 @@ function v1(t, e, a, i, o, r) {
|
|
|
19993
19999
|
], 512)
|
|
19994
20000
|
], 34)
|
|
19995
20001
|
]),
|
|
19996
|
-
w(
|
|
20002
|
+
w(c, {
|
|
19997
20003
|
vertical: "",
|
|
19998
20004
|
class: "mx-2 my-4"
|
|
19999
20005
|
}),
|
|
20000
20006
|
n("div", u1, [
|
|
20001
|
-
w(
|
|
20007
|
+
w(s, {
|
|
20002
20008
|
text: t.$t("weather.windBarbs"),
|
|
20003
20009
|
location: "top"
|
|
20004
20010
|
}, {
|
|
@@ -20024,7 +20030,7 @@ function v1(t, e, a, i, o, r) {
|
|
|
20024
20030
|
}),
|
|
20025
20031
|
_: 1
|
|
20026
20032
|
}, 8, ["text"]),
|
|
20027
|
-
w(
|
|
20033
|
+
w(s, {
|
|
20028
20034
|
text: t.$t("weather.sigWaveHeight"),
|
|
20029
20035
|
location: "top"
|
|
20030
20036
|
}, {
|
|
@@ -20049,7 +20055,7 @@ function v1(t, e, a, i, o, r) {
|
|
|
20049
20055
|
}),
|
|
20050
20056
|
_: 1
|
|
20051
20057
|
}, 8, ["text"]),
|
|
20052
|
-
w(
|
|
20058
|
+
w(s, {
|
|
20053
20059
|
text: t.$t("weather.currentDirection"),
|
|
20054
20060
|
location: "top"
|
|
20055
20061
|
}, {
|
|
@@ -20074,7 +20080,7 @@ function v1(t, e, a, i, o, r) {
|
|
|
20074
20080
|
}),
|
|
20075
20081
|
_: 1
|
|
20076
20082
|
}, 8, ["text"]),
|
|
20077
|
-
w(
|
|
20083
|
+
w(s, {
|
|
20078
20084
|
text: t.$t("weather.weatherLayers"),
|
|
20079
20085
|
location: "top"
|
|
20080
20086
|
}, {
|
|
@@ -20096,7 +20102,7 @@ function v1(t, e, a, i, o, r) {
|
|
|
20096
20102
|
_: 1
|
|
20097
20103
|
}, 8, ["text"])
|
|
20098
20104
|
]),
|
|
20099
|
-
w(
|
|
20105
|
+
w(c, {
|
|
20100
20106
|
vertical: "",
|
|
20101
20107
|
class: "mx-2 mr-3 my-4"
|
|
20102
20108
|
}),
|
|
@@ -20229,7 +20235,7 @@ const A1 = /* @__PURE__ */ le(o1, [["render", v1]]), k1 = {
|
|
|
20229
20235
|
watch: {
|
|
20230
20236
|
layerVersion: {
|
|
20231
20237
|
handler() {
|
|
20232
|
-
var t, e, a, i, o, r, l,
|
|
20238
|
+
var t, e, a, i, o, r, l, s, c, m, d, g, f, p, u, h, y, z, L, A, _, M, C;
|
|
20233
20239
|
if (this.map) {
|
|
20234
20240
|
const S = this.hasRampLayer, R = this.autoActive && this.weatherCheckList.some((F) => [
|
|
20235
20241
|
"wind-particle",
|
|
@@ -20246,7 +20252,7 @@ const A1 = /* @__PURE__ */ le(o1, [["render", v1]]), k1 = {
|
|
|
20246
20252
|
));
|
|
20247
20253
|
if (this.mapFeather === "nautical" || this.mapFeather === "satellite") {
|
|
20248
20254
|
const F = localStorage.getItem("nauticalLayerCacheGL4") === "hi" ? "hi" : "i4";
|
|
20249
|
-
S ? ((t = this.map) != null && t.getLayer("hi") && this.map.setLayoutProperty("hi", "visibility", "none"), (e = this.map) != null && e.getLayer("i4") && this.map.setLayoutProperty("i4", "visibility", "none"), (a = this.map) != null && a.getLayer("admin-0-boundary-bg") && this.map.setLayoutProperty("admin-0-boundary-bg", "visibility", "visible"), (i = this.map) != null && i.getLayer("admin-0-boundary") && this.map.setLayoutProperty("admin-0-boundary", "visibility", "visible"), (o = this.map) != null && o.getLayer("admin-0-boundary-disputed") && this.map.setLayoutProperty("admin-0-boundary-disputed", "visibility", "visible"), (r = this.map) != null && r.getLayer("country-label") && this.map.setLayoutProperty("country-label", "visibility", "visible"), (l = this.map) != null && l.getLayer("continent-label") && this.map.setLayoutProperty("continent-label", "visibility", "visible"), (
|
|
20255
|
+
S ? ((t = this.map) != null && t.getLayer("hi") && this.map.setLayoutProperty("hi", "visibility", "none"), (e = this.map) != null && e.getLayer("i4") && this.map.setLayoutProperty("i4", "visibility", "none"), (a = this.map) != null && a.getLayer("admin-0-boundary-bg") && this.map.setLayoutProperty("admin-0-boundary-bg", "visibility", "visible"), (i = this.map) != null && i.getLayer("admin-0-boundary") && this.map.setLayoutProperty("admin-0-boundary", "visibility", "visible"), (o = this.map) != null && o.getLayer("admin-0-boundary-disputed") && this.map.setLayoutProperty("admin-0-boundary-disputed", "visibility", "visible"), (r = this.map) != null && r.getLayer("country-label") && this.map.setLayoutProperty("country-label", "visibility", "visible"), (l = this.map) != null && l.getLayer("continent-label") && this.map.setLayoutProperty("continent-label", "visibility", "visible"), (s = this.map) != null && s.getLayer("water-outline") && this.map.setLayoutProperty("water-outline", "visibility", "visible")) : ((c = this.map) != null && c.getLayer("hi") && this.map.setLayoutProperty("hi", "visibility", F === "hi" ? "visible" : "none"), (m = this.map) != null && m.getLayer("i4") && this.map.setLayoutProperty("i4", "visibility", F === "i4" ? "visible" : "none"), (d = this.map) != null && d.getLayer("admin-0-boundary-bg") && this.map.setLayoutProperty("admin-0-boundary-bg", "visibility", "none"), (g = this.map) != null && g.getLayer("admin-0-boundary") && this.map.setLayoutProperty("admin-0-boundary", "visibility", "none"), (f = this.map) != null && f.getLayer("admin-0-boundary-disputed") && this.map.setLayoutProperty("admin-0-boundary-disputed", "visibility", "none"), (p = this.map) != null && p.getLayer("country-label") && this.map.setLayoutProperty("country-label", "visibility", "none"), (u = this.map) != null && u.getLayer("continent-label") && this.map.setLayoutProperty("continent-label", "visibility", "none"), (h = this.map) != null && h.getLayer("water-outline") && this.map.setLayoutProperty("water-outline", "visibility", "none")), G = this.otherCheckList.some((H) => ["navareas", "load-lines", "voluntary-reporting-area", "war-zones", "gmdss-areas", "special-area", "ice-areas"].some(
|
|
20250
20256
|
(ae) => ae === H
|
|
20251
20257
|
));
|
|
20252
20258
|
}
|
|
@@ -20275,7 +20281,7 @@ const A1 = /* @__PURE__ */ le(o1, [["render", v1]]), k1 = {
|
|
|
20275
20281
|
class: "map-gl4-home"
|
|
20276
20282
|
};
|
|
20277
20283
|
function z1(t, e, a, i, o, r) {
|
|
20278
|
-
const l = P("IdmOtherLayer"),
|
|
20284
|
+
const l = P("IdmOtherLayer"), s = P("IdmWeatherLayer"), c = P("IdmTropicals"), m = P("IdmSpot"), d = P("IdmMeasure"), g = P("IdmMarker"), f = P("IdmBottomBar"), p = P("IdmBottomTimeLine"), u = P("IdmBottomTimePlayer");
|
|
20279
20285
|
return v(), D("div", L1, [
|
|
20280
20286
|
w(l, V({
|
|
20281
20287
|
ref: "idmOtherLayers",
|
|
@@ -20292,7 +20298,7 @@ function z1(t, e, a, i, o, r) {
|
|
|
20292
20298
|
onOtherCheckList: r.handleChangeOtherChecklist,
|
|
20293
20299
|
onMapFeather: e[0] || (e[0] = (h) => t.$emit("mapFeather", h))
|
|
20294
20300
|
}), null, 16, ["simple", "token", "default-meteo-token", "map", "gateway", "assist-gateway", "forecast-model", "map-feather", "onOtherCheckList"]),
|
|
20295
|
-
w(
|
|
20301
|
+
w(s, V({
|
|
20296
20302
|
ref: "idmWeatherLayers",
|
|
20297
20303
|
simple: a.simple,
|
|
20298
20304
|
map: a.map,
|
|
@@ -20308,7 +20314,7 @@ function z1(t, e, a, i, o, r) {
|
|
|
20308
20314
|
onAutoActive: r.handleChangeAutoActive,
|
|
20309
20315
|
onWeatherCheckList: r.handleChangeWeatherChecklist
|
|
20310
20316
|
}), null, 16, ["simple", "map", "token", "default-meteo-token", "gateway", "assist-gateway", "forecast-model", "map-feather", "has-ramp-layer", "onAutoActive", "onWeatherCheckList"]),
|
|
20311
|
-
w(
|
|
20317
|
+
w(c, V({
|
|
20312
20318
|
ref: "idmTropicals",
|
|
20313
20319
|
simple: a.simple,
|
|
20314
20320
|
map: a.map,
|
|
@@ -20385,7 +20391,7 @@ class C1 {
|
|
|
20385
20391
|
de(this, "hi");
|
|
20386
20392
|
de(this, "td");
|
|
20387
20393
|
de(this, "windy");
|
|
20388
|
-
var i, o, r, l,
|
|
20394
|
+
var i, o, r, l, s, c, m, d, g, f, p, u, h, y, z, L, A, _, M, C, S, R, G, j, F, H, ae, ne, ce, ve, E, $, ee, se, q, U, re, Z, J, we, Le, ze, ge, ke, Ce, We, ie, ye, $e, et, Je, Be, tt, Oe, He, Ke, at, ot, Qe, Re, De, je, it, rt, lt, Ve, bt, wt, xt, vt, At, kt, Lt, zt, _t, Ct, Mt, Pt, St, Tt, Rt, Dt, It, Et, Ft, Gt, Bt, jt, Nt, Wt, Zt, Vt, Xt, Ot, Ht, Yt, Ut, Jt, Kt, Qt, qt, $t, ea, ta, aa, Xe, Ye, oa, nt, ia, gt, Ie, st, ue, Fe, oe, te, ct, qe, Ze, K, ra, me, Ge, mt, ft, yt, X, dt, Q, ht, na, be, ga, xe, va, Aa, ka, La, za, _a, Ca, Ma, Pa, Sa, Ta, Ra, Da, Ia, Ea, Fa, vo, Ao, ko, Lo, zo, _o, Co, Mo, Po, So, To, Ro, Do, Io, Eo, Fo, Go, Bo, jo, No, Wo, Zo, Vo, Xo, Oo, Ho, Yo, Uo, Jo, Ko, Qo, qo, $o, ei, ti, ai, oi, ii, ri, li, ni, si, ci, mi, di, hi, ui, pi, gi, fi, yi, bi, wi, xi, vi, Ai, ki, Li, zi, _i, Ci, Mi, Pi, Si, Ti, Ri, Di, Ii, Ei, Fi, Gi, Bi, ji, Ni, Wi, Zi, Vi, Xi, Oi, Hi, Yi, Ui, Ji, Ki, Qi, qi, $i, er, tr, ar, or, ir, rr, lr, nr, sr, cr, mr, dr, hr, ur;
|
|
20389
20395
|
this.i4 = {
|
|
20390
20396
|
source: {
|
|
20391
20397
|
type: "raster",
|
|
@@ -39017,7 +39023,7 @@ class C1 {
|
|
|
39017
39023
|
layers: [
|
|
39018
39024
|
(o = (i = this.originStyle) == null ? void 0 : i.light.layers) == null ? void 0 : o.find((k) => k.id === "land"),
|
|
39019
39025
|
(l = (r = this.originStyle) == null ? void 0 : r.light.layers) == null ? void 0 : l.find((k) => k.id === "water"),
|
|
39020
|
-
(
|
|
39026
|
+
(c = (s = this.originStyle) == null ? void 0 : s.light.layers) == null ? void 0 : c.find((k) => k.id === "loadlines-label"),
|
|
39021
39027
|
(d = (m = this.originStyle) == null ? void 0 : m.light.layers) == null ? void 0 : d.find((k) => k.id === "loadlines-fill"),
|
|
39022
39028
|
(f = (g = this.originStyle) == null ? void 0 : g.light.layers) == null ? void 0 : f.find((k) => k.id === "ice-area-fill"),
|
|
39023
39029
|
(u = (p = this.originStyle) == null ? void 0 : p.light.layers) == null ? void 0 : u.find((k) => k.id === "ice-area-line"),
|
|
@@ -39355,7 +39361,7 @@ const M1 = {
|
|
|
39355
39361
|
class: "position-absolute left-0 bottom-0 ma-2 my-1 text-caption text-label opacity-70"
|
|
39356
39362
|
};
|
|
39357
39363
|
function D1(t, e, a, i, o, r) {
|
|
39358
|
-
const l = P("VBtn"),
|
|
39364
|
+
const l = P("VBtn"), s = P("VBtnToggle");
|
|
39359
39365
|
return v(), D("div", {
|
|
39360
39366
|
id: "mapbox-initial-gl4",
|
|
39361
39367
|
class: "mapbox-initial-gl4 gif-container",
|
|
@@ -39423,9 +39429,9 @@ function D1(t, e, a, i, o, r) {
|
|
|
39423
39429
|
class: "menu-bar-box transition px-1 rounded d-flex flex-column",
|
|
39424
39430
|
style: pe({ top: a.top + a.menuHeight + 142 + "px", right: o.right + "px", height: "80px" })
|
|
39425
39431
|
}, [
|
|
39426
|
-
w(
|
|
39432
|
+
w(s, {
|
|
39427
39433
|
modelValue: o.nautical,
|
|
39428
|
-
"onUpdate:modelValue": e[0] || (e[0] = (
|
|
39434
|
+
"onUpdate:modelValue": e[0] || (e[0] = (c) => o.nautical = c),
|
|
39429
39435
|
class: "v-btn--variant-elevated rounded elevation-0",
|
|
39430
39436
|
direction: "vertical",
|
|
39431
39437
|
density: "compact",
|
|
@@ -39433,17 +39439,17 @@ function D1(t, e, a, i, o, r) {
|
|
|
39433
39439
|
group: ""
|
|
39434
39440
|
}, {
|
|
39435
39441
|
default: x(() => [
|
|
39436
|
-
(v(!0), D(Me, null, Se(o.nauticalKeys, (
|
|
39437
|
-
key:
|
|
39438
|
-
value:
|
|
39442
|
+
(v(!0), D(Me, null, Se(o.nauticalKeys, (c) => (v(), B(l, {
|
|
39443
|
+
key: c,
|
|
39444
|
+
value: c,
|
|
39439
39445
|
"min-width": "32",
|
|
39440
39446
|
width: "32",
|
|
39441
39447
|
height: "32",
|
|
39442
39448
|
class: "text-none pa-0 elevation-0 text-h6",
|
|
39443
|
-
color: o.nautical ===
|
|
39449
|
+
color: o.nautical === c ? "primary" : ""
|
|
39444
39450
|
}, {
|
|
39445
39451
|
default: x(() => [
|
|
39446
|
-
N(b(
|
|
39452
|
+
N(b(c), 1)
|
|
39447
39453
|
]),
|
|
39448
39454
|
_: 2
|
|
39449
39455
|
}, 1032, ["value", "color"]))), 128))
|
|
@@ -39714,7 +39720,7 @@ const E1 = {
|
|
|
39714
39720
|
class: "d-flex justify-start align-center flex-wrap ga-3 ml-n2"
|
|
39715
39721
|
}, N1 = { class: "flex-1-1-0 d-flex justify-end align-center ga-4" };
|
|
39716
39722
|
function W1(t, e, a, i, o, r) {
|
|
39717
|
-
const l = P("VIcon"),
|
|
39723
|
+
const l = P("VIcon"), s = P("VDatePicker"), c = P("VDivider"), m = P("VCardText"), d = P("VBtn"), g = P("VCardActions"), f = P("VCard");
|
|
39718
39724
|
return v(), D("div", F1, [
|
|
39719
39725
|
n("div", {
|
|
39720
39726
|
style: pe({ height: a.height + "px", width: a.width ? a.width + "px" : "auto" }),
|
|
@@ -39739,7 +39745,7 @@ function W1(t, e, a, i, o, r) {
|
|
|
39739
39745
|
w(m, { class: "w-100 flex-1-1-0 d-flex pa-0" }, {
|
|
39740
39746
|
default: x(() => [
|
|
39741
39747
|
n("div", B1, [
|
|
39742
|
-
w(
|
|
39748
|
+
w(s, {
|
|
39743
39749
|
modelValue: o.dateRange[0],
|
|
39744
39750
|
"onUpdate:modelValue": [
|
|
39745
39751
|
e[1] || (e[1] = (p) => o.dateRange[0] = p),
|
|
@@ -39754,11 +39760,11 @@ function W1(t, e, a, i, o, r) {
|
|
|
39754
39760
|
"hide-header": "",
|
|
39755
39761
|
"no-month-picker": !0
|
|
39756
39762
|
}, null, 8, ["modelValue", "min", "max"]),
|
|
39757
|
-
w(
|
|
39763
|
+
w(c, {
|
|
39758
39764
|
vertical: "",
|
|
39759
39765
|
class: "my-2"
|
|
39760
39766
|
}),
|
|
39761
|
-
w(
|
|
39767
|
+
w(s, {
|
|
39762
39768
|
modelValue: o.dateRange[1],
|
|
39763
39769
|
"onUpdate:modelValue": [
|
|
39764
39770
|
e[3] || (e[3] = (p) => o.dateRange[1] = p),
|
|
@@ -39777,7 +39783,7 @@ function W1(t, e, a, i, o, r) {
|
|
|
39777
39783
|
]),
|
|
39778
39784
|
_: 1
|
|
39779
39785
|
}),
|
|
39780
|
-
w(
|
|
39786
|
+
w(c),
|
|
39781
39787
|
w(g, {
|
|
39782
39788
|
class: "w-100 d-flex justify-space-between align-center pa-0 px-4",
|
|
39783
39789
|
style: { height: "50px" }
|