@idmwx/idmui-gl4 0.2.2 → 0.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +370 -371
- package/dist/index.umd.cjs +6 -6
- package/dist/mapbox/src/components/spot/index.vue.d.ts +8 -8
- package/dist/mapbox/src/components/tropical/index.vue.d.ts +1 -1
- package/dist/mapbox/src/components/weather/index.vue.d.ts +2 -2
- package/dist/mapbox/src/index.vue.d.ts +1 -1
- package/dist/style.css +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -2,12 +2,12 @@ var DA = Object.defineProperty;
|
|
|
2
2
|
var UA = (o, A, e) => A in o ? DA(o, A, { enumerable: !0, configurable: !0, writable: !0, value: e }) : o[A] = e;
|
|
3
3
|
var E0 = (o, A, e) => (UA(o, typeof A != "symbol" ? A + "" : A, e), e);
|
|
4
4
|
import N0 from "axios";
|
|
5
|
-
import { openBlock as n, createElementBlock as q, withDirectives as L0, createElementVNode as M, vShow as X0, toDisplayString as w, resolveComponent as B, normalizeStyle as O0, createVNode as g, withCtx as E, createCommentVNode as G, mergeProps as H, normalizeClass as Y0, createTextVNode as b0, Fragment as i0, renderList as
|
|
5
|
+
import { openBlock as n, createElementBlock as q, withDirectives as L0, createElementVNode as M, vShow as X0, toDisplayString as w, resolveComponent as B, normalizeStyle as O0, createVNode as g, withCtx as E, createCommentVNode as G, mergeProps as H, normalizeClass as Y0, createTextVNode as b0, Fragment as i0, renderList as l0, createBlock as t0, withModifiers as a1 } from "vue";
|
|
6
6
|
import D0 from "mapbox-gl";
|
|
7
7
|
import { LngLatHelper as C0, TropicalHelper as QA, LaneHelper as F0 } from "@idm-plugin/geo";
|
|
8
8
|
import * as j from "@turf/turf";
|
|
9
9
|
import { LayerHelper as M1, CompanyHelper as ZA } from "@idm-plugin/tag-nop";
|
|
10
|
-
import
|
|
10
|
+
import a0 from "moment";
|
|
11
11
|
import TA from "@mapbox/sphericalmercator";
|
|
12
12
|
import { LayerHelper as GA } from "@idm-plugin/tag";
|
|
13
13
|
import { TidesAssist as p1, Meteo2Assist as e1 } from "@idm-plugin/meteo";
|
|
@@ -582,7 +582,7 @@ const Me = {
|
|
|
582
582
|
class: "flex-start",
|
|
583
583
|
style: { "align-items": "flex-start" }
|
|
584
584
|
}, ne = { class: "meteo-forecast flex-end" };
|
|
585
|
-
function
|
|
585
|
+
function le(o, A, e, z, t, a) {
|
|
586
586
|
return L0((n(), q("div", ae, [
|
|
587
587
|
M("div", {
|
|
588
588
|
class: "close iconfont",
|
|
@@ -615,7 +615,7 @@ function se(o, A, e, z, t, a) {
|
|
|
615
615
|
[X0, t.showPort]
|
|
616
616
|
]);
|
|
617
617
|
}
|
|
618
|
-
const Oe = /* @__PURE__ */ r0(Me, [["render",
|
|
618
|
+
const Oe = /* @__PURE__ */ r0(Me, [["render", le], ["__scopeId", "data-v-761205eb"]]), se = {
|
|
619
619
|
name: "IdmLoadLine",
|
|
620
620
|
props: {
|
|
621
621
|
map: {
|
|
@@ -689,7 +689,7 @@ const Oe = /* @__PURE__ */ r0(Me, [["render", se], ["__scopeId", "data-v-761205e
|
|
|
689
689
|
function de(o, A, e, z, t, a) {
|
|
690
690
|
return n(), q("div");
|
|
691
691
|
}
|
|
692
|
-
const qe = /* @__PURE__ */ r0(
|
|
692
|
+
const qe = /* @__PURE__ */ r0(se, [["render", de]]), me = {
|
|
693
693
|
name: "IdmTimezone",
|
|
694
694
|
props: {
|
|
695
695
|
map: {
|
|
@@ -1414,11 +1414,11 @@ function Ue(o, A, e, z, t, a) {
|
|
|
1414
1414
|
style: O0({ right: t.right + "px" })
|
|
1415
1415
|
}, [
|
|
1416
1416
|
g(i, {
|
|
1417
|
-
width: "
|
|
1417
|
+
width: "130",
|
|
1418
1418
|
elevation: "16"
|
|
1419
1419
|
}, {
|
|
1420
1420
|
default: E(() => [
|
|
1421
|
-
g(p, { class: "pa-
|
|
1421
|
+
g(p, { class: "pa-2 text-caption d-flex flex-column justify-center align-end" }, {
|
|
1422
1422
|
default: E(() => [
|
|
1423
1423
|
M("div", null, w(t.lngLat.lat.pretty), 1),
|
|
1424
1424
|
M("div", null, w(t.lngLat.lng.pretty), 1),
|
|
@@ -1564,48 +1564,48 @@ const ke = {
|
|
|
1564
1564
|
let A = this.layerWeight;
|
|
1565
1565
|
if (this.otherLayers = {}, A) {
|
|
1566
1566
|
if (o.all) {
|
|
1567
|
-
const p = this.assistGateway[Math.round(Math.random() * (this.assistGateway.length - 1))], i = await N0.get(`${p}/api/arc/other/layers/links?l=${A}&t=${this.
|
|
1567
|
+
const p = this.assistGateway[Math.round(Math.random() * (this.assistGateway.length - 1))], i = await N0.get(`${p}/api/arc/other/layers/links?l=${A}&t=${this.realTime}`, {
|
|
1568
1568
|
headers: {
|
|
1569
1569
|
Authorization: this.token || this.defaultMeteoToken
|
|
1570
1570
|
}
|
|
1571
1571
|
});
|
|
1572
1572
|
if (((e = i == null ? void 0 : i.data) == null ? void 0 : e.code) === 0) {
|
|
1573
|
-
const c = (z = i == null ? void 0 : i.data) == null ? void 0 : z.data,
|
|
1574
|
-
for (const
|
|
1575
|
-
|
|
1576
|
-
N0.get(c[
|
|
1573
|
+
const c = (z = i == null ? void 0 : i.data) == null ? void 0 : z.data, l = [];
|
|
1574
|
+
for (const s in c)
|
|
1575
|
+
l.push(
|
|
1576
|
+
N0.get(c[s], {
|
|
1577
1577
|
headers: {
|
|
1578
1578
|
Authorization: this.token || this.defaultMeteoToken,
|
|
1579
|
-
key:
|
|
1579
|
+
key: s
|
|
1580
1580
|
}
|
|
1581
1581
|
})
|
|
1582
1582
|
);
|
|
1583
|
-
(await Promise.all(
|
|
1583
|
+
(await Promise.all(l)).map((s) => {
|
|
1584
1584
|
var x, D, Q;
|
|
1585
|
-
const m = ((x =
|
|
1585
|
+
const m = ((x = s == null ? void 0 : s.data) == null ? void 0 : x.data) || (s == null ? void 0 : s.data), h = (Q = (D = s == null ? void 0 : s.config) == null ? void 0 : D.headers) == null ? void 0 : Q.key;
|
|
1586
1586
|
this.otherLayers[h] = m;
|
|
1587
1587
|
});
|
|
1588
1588
|
}
|
|
1589
1589
|
} else if (o.dayNight && A & 1024) {
|
|
1590
|
-
const p = this.assistGateway[Math.round(Math.random() * (this.assistGateway.length - 1))], i = await N0.get(`${p}/api/arc/other/layers/links?l=1024&t=${this.
|
|
1590
|
+
const p = this.assistGateway[Math.round(Math.random() * (this.assistGateway.length - 1))], i = await N0.get(`${p}/api/arc/other/layers/links?l=1024&t=${this.realTime}`, {
|
|
1591
1591
|
headers: {
|
|
1592
1592
|
Authorization: this.token || this.defaultMeteoToken
|
|
1593
1593
|
}
|
|
1594
1594
|
});
|
|
1595
1595
|
if (((t = i == null ? void 0 : i.data) == null ? void 0 : t.code) === 0) {
|
|
1596
|
-
const c = (a = i == null ? void 0 : i.data) == null ? void 0 : a.data,
|
|
1597
|
-
for (const
|
|
1598
|
-
|
|
1599
|
-
N0.get(c[
|
|
1596
|
+
const c = (a = i == null ? void 0 : i.data) == null ? void 0 : a.data, l = [];
|
|
1597
|
+
for (const s in c)
|
|
1598
|
+
l.push(
|
|
1599
|
+
N0.get(c[s], {
|
|
1600
1600
|
headers: {
|
|
1601
1601
|
Authorization: this.token || this.defaultMeteoToken,
|
|
1602
|
-
key:
|
|
1602
|
+
key: s
|
|
1603
1603
|
}
|
|
1604
1604
|
})
|
|
1605
1605
|
);
|
|
1606
|
-
(await Promise.all(
|
|
1606
|
+
(await Promise.all(l)).map((s) => {
|
|
1607
1607
|
var x, D, Q;
|
|
1608
|
-
const m = ((x =
|
|
1608
|
+
const m = ((x = s == null ? void 0 : s.data) == null ? void 0 : x.data) || (s == null ? void 0 : s.data), h = (Q = (D = s == null ? void 0 : s.config) == null ? void 0 : D.headers) == null ? void 0 : Q.key;
|
|
1609
1609
|
this.otherLayers[h] = m;
|
|
1610
1610
|
});
|
|
1611
1611
|
}
|
|
@@ -1637,8 +1637,8 @@ const ke = {
|
|
|
1637
1637
|
class: "border rounded-sm"
|
|
1638
1638
|
}, o2 = { class: "text-body-2 text-center pt-1" }, t2 = { class: "layers-body" }, z2 = { class: "layers-body" }, M2 = { class: "layers-body" }, a2 = { class: "layers-body" };
|
|
1639
1639
|
function p2(o, A, e, z, t, a) {
|
|
1640
|
-
var J, _, n0, p0,
|
|
1641
|
-
const p = B("v-btn"), i = B("v-tooltip"), c = B("v-card-title"),
|
|
1640
|
+
var J, _, n0, p0, z0, c0, u0, h0, m0, M0;
|
|
1641
|
+
const p = B("v-btn"), i = B("v-tooltip"), c = B("v-card-title"), l = B("v-card-item"), r = B("v-checkbox"), s = B("v-card-text"), m = B("v-card"), h = B("IdmWorld12nm"), x = B("IdmWorldMarine"), D = B("IdmChinaRoute"), Q = B("IdmWarZone"), L = B("IdmGmdssArea"), V = B("IdmEcaZone"), W = B("IdmAlertZone"), X = B("IdmPort"), I = B("IdmLoadLine"), v = B("IdmTimezone"), f = B("IdmVRA"), U = B("IdmSpecialArea"), S = B("IdmTerminator"), $ = B("IdmLatLng");
|
|
1642
1642
|
return n(), q("div", Pe, [
|
|
1643
1643
|
M("div", {
|
|
1644
1644
|
class: "menu-bar-box transition px-1 rounded",
|
|
@@ -1659,7 +1659,7 @@ function p2(o, A, e, z, t, a) {
|
|
|
1659
1659
|
onClick: a.handleMenuToggle
|
|
1660
1660
|
}), {
|
|
1661
1661
|
default: E(() => A[5] || (A[5] = [
|
|
1662
|
-
M("i", { class: "iconfont icon-Layer text-h5 font-weight-bold" }, null, -1)
|
|
1662
|
+
M("i", { class: "iconfont icon-Layer text-h5 font-weight-bold opacity-80" }, null, -1)
|
|
1663
1663
|
])),
|
|
1664
1664
|
_: 2,
|
|
1665
1665
|
__: [5]
|
|
@@ -1693,11 +1693,11 @@ function p2(o, A, e, z, t, a) {
|
|
|
1693
1693
|
]),
|
|
1694
1694
|
M("div", je, [
|
|
1695
1695
|
g(m, {
|
|
1696
|
-
class: "mx-auto my-
|
|
1696
|
+
class: "mx-auto my-3",
|
|
1697
1697
|
elevation: "8"
|
|
1698
1698
|
}, {
|
|
1699
1699
|
default: E(() => [
|
|
1700
|
-
g(
|
|
1700
|
+
g(l, { class: "border-b-thin" }, {
|
|
1701
1701
|
default: E(() => [
|
|
1702
1702
|
g(c, {
|
|
1703
1703
|
class: "text-subtitle-1",
|
|
@@ -1712,10 +1712,10 @@ function p2(o, A, e, z, t, a) {
|
|
|
1712
1712
|
]),
|
|
1713
1713
|
_: 1
|
|
1714
1714
|
}),
|
|
1715
|
-
g(
|
|
1715
|
+
g(s, null, {
|
|
1716
1716
|
default: E(() => [
|
|
1717
1717
|
M("div", Se, [
|
|
1718
|
-
(n(!0), q(i0, null,
|
|
1718
|
+
(n(!0), q(i0, null, l0(t.mapFeathers, (Z) => (n(), q("div", {
|
|
1719
1719
|
key: Z.value,
|
|
1720
1720
|
class: "mb-4 feather-item",
|
|
1721
1721
|
onClick: (d0) => a.handleToggleMapFeather(Z)
|
|
@@ -1731,7 +1731,7 @@ function p2(o, A, e, z, t, a) {
|
|
|
1731
1731
|
], 8, He))), 128))
|
|
1732
1732
|
]),
|
|
1733
1733
|
M("div", t2, [
|
|
1734
|
-
(n(!0), q(i0, null,
|
|
1734
|
+
(n(!0), q(i0, null, l0(t.tagLayers.filter((Z) => ["graticule", "day-night", "time-zones"].includes(Z.key)), (Z) => (n(), t0(r, {
|
|
1735
1735
|
key: Z.key,
|
|
1736
1736
|
modelValue: t.checkList,
|
|
1737
1737
|
"onUpdate:modelValue": A[0] || (A[0] = (d0) => t.checkList = d0),
|
|
@@ -1751,11 +1751,11 @@ function p2(o, A, e, z, t, a) {
|
|
|
1751
1751
|
_: 1
|
|
1752
1752
|
}),
|
|
1753
1753
|
g(m, {
|
|
1754
|
-
class: "mx-auto mb-
|
|
1754
|
+
class: "mx-auto mb-3",
|
|
1755
1755
|
elevation: "8"
|
|
1756
1756
|
}, {
|
|
1757
1757
|
default: E(() => [
|
|
1758
|
-
g(
|
|
1758
|
+
g(l, { class: "border-b-thin" }, {
|
|
1759
1759
|
default: E(() => [
|
|
1760
1760
|
g(c, {
|
|
1761
1761
|
class: "text-subtitle-1",
|
|
@@ -1770,10 +1770,10 @@ function p2(o, A, e, z, t, a) {
|
|
|
1770
1770
|
]),
|
|
1771
1771
|
_: 1
|
|
1772
1772
|
}),
|
|
1773
|
-
g(
|
|
1773
|
+
g(s, null, {
|
|
1774
1774
|
default: E(() => [
|
|
1775
1775
|
M("div", z2, [
|
|
1776
|
-
(n(!0), q(i0, null,
|
|
1776
|
+
(n(!0), q(i0, null, l0(t.tagLayers.filter((Z) => ["ports", "nav-warnings", "tidal-stations"].includes(Z.key)), (Z) => (n(), t0(r, {
|
|
1777
1777
|
key: Z.key,
|
|
1778
1778
|
modelValue: t.checkList,
|
|
1779
1779
|
"onUpdate:modelValue": A[1] || (A[1] = (d0) => t.checkList = d0),
|
|
@@ -1793,11 +1793,11 @@ function p2(o, A, e, z, t, a) {
|
|
|
1793
1793
|
_: 1
|
|
1794
1794
|
}),
|
|
1795
1795
|
g(m, {
|
|
1796
|
-
class: "mx-auto mb-
|
|
1796
|
+
class: "mx-auto mb-3",
|
|
1797
1797
|
elevation: "8"
|
|
1798
1798
|
}, {
|
|
1799
1799
|
default: E(() => [
|
|
1800
|
-
g(
|
|
1800
|
+
g(l, { class: "border-b-thin" }, {
|
|
1801
1801
|
default: E(() => [
|
|
1802
1802
|
g(c, {
|
|
1803
1803
|
class: "text-subtitle-1",
|
|
@@ -1812,10 +1812,10 @@ function p2(o, A, e, z, t, a) {
|
|
|
1812
1812
|
]),
|
|
1813
1813
|
_: 1
|
|
1814
1814
|
}),
|
|
1815
|
-
g(
|
|
1815
|
+
g(s, null, {
|
|
1816
1816
|
default: E(() => [
|
|
1817
1817
|
M("div", M2, [
|
|
1818
|
-
(n(!0), q(i0, null,
|
|
1818
|
+
(n(!0), q(i0, null, l0(t.tagLayers.filter((Z) => !["graticule", "day-night", "time-zones", "ports", "nav-warnings", "tidal-stations"].includes(Z.key)), (Z) => (n(), t0(r, {
|
|
1819
1819
|
key: Z.key,
|
|
1820
1820
|
modelValue: t.checkList,
|
|
1821
1821
|
"onUpdate:modelValue": A[2] || (A[2] = (d0) => t.checkList = d0),
|
|
@@ -1835,11 +1835,11 @@ function p2(o, A, e, z, t, a) {
|
|
|
1835
1835
|
_: 1
|
|
1836
1836
|
}),
|
|
1837
1837
|
g(m, {
|
|
1838
|
-
class: "mx-auto mb-
|
|
1838
|
+
class: "mx-auto mb-3",
|
|
1839
1839
|
elevation: "8"
|
|
1840
1840
|
}, {
|
|
1841
1841
|
default: E(() => [
|
|
1842
|
-
g(
|
|
1842
|
+
g(l, { class: "border-b-thin" }, {
|
|
1843
1843
|
default: E(() => [
|
|
1844
1844
|
g(c, {
|
|
1845
1845
|
class: "text-subtitle-1",
|
|
@@ -1854,7 +1854,7 @@ function p2(o, A, e, z, t, a) {
|
|
|
1854
1854
|
]),
|
|
1855
1855
|
_: 1
|
|
1856
1856
|
}),
|
|
1857
|
-
g(
|
|
1857
|
+
g(s, null, {
|
|
1858
1858
|
default: E(() => [
|
|
1859
1859
|
M("div", a2, [
|
|
1860
1860
|
g(r, {
|
|
@@ -1930,7 +1930,7 @@ function p2(o, A, e, z, t, a) {
|
|
|
1930
1930
|
e.map ? (n(), t0(X, H({
|
|
1931
1931
|
key: 7,
|
|
1932
1932
|
map: e.map,
|
|
1933
|
-
port: (
|
|
1933
|
+
port: (z0 = t.otherLayers) == null ? void 0 : z0.ports,
|
|
1934
1934
|
"forecast-model": e.forecastModel
|
|
1935
1935
|
}, o.$attrs, { "before-layer": "empty-layer-3" }), null, 16, ["map", "port", "forecast-model"])) : G("", !0),
|
|
1936
1936
|
e.map ? (n(), t0(I, H({
|
|
@@ -1956,7 +1956,7 @@ function p2(o, A, e, z, t, a) {
|
|
|
1956
1956
|
e.map ? (n(), t0(S, H({
|
|
1957
1957
|
key: 12,
|
|
1958
1958
|
map: e.map,
|
|
1959
|
-
area: (
|
|
1959
|
+
area: (M0 = t.otherLayers) == null ? void 0 : M0["day-night"]
|
|
1960
1960
|
}, o.$attrs), null, 16, ["map", "area"])) : G("", !0),
|
|
1961
1961
|
e.map ? (n(), t0($, H({
|
|
1962
1962
|
key: 13,
|
|
@@ -2017,8 +2017,8 @@ class i1 {
|
|
|
2017
2017
|
const A = (x = this.map) == null ? void 0 : x.getBounds();
|
|
2018
2018
|
if (!A)
|
|
2019
2019
|
return [];
|
|
2020
|
-
const e = ((D = this.map) == null ? void 0 : D.getZoom()) + 1, z = [A._ne.lng, A._ne.lat], t = [A._sw.lng, A._sw.lat], [a, p] = this.convertNLng(z[0]), [i, c] = this.convertNLng(t[0]), [
|
|
2021
|
-
return [
|
|
2020
|
+
const e = ((D = this.map) == null ? void 0 : D.getZoom()) + 1, z = [A._ne.lng, A._ne.lat], t = [A._sw.lng, A._sw.lat], [a, p] = this.convertNLng(z[0]), [i, c] = this.convertNLng(t[0]), [l, r] = this.mercator.px([a, z[1]], e), [s, m] = this.mercator.px([i, t[1]], e), h = Math.round(this.mercator.size * Math.pow(2, e) * (p + c));
|
|
2021
|
+
return [s, m, l + h, r];
|
|
2022
2022
|
}
|
|
2023
2023
|
/**
|
|
2024
2024
|
* [视窗边界像素宽度]
|
|
@@ -2035,11 +2035,11 @@ class i1 {
|
|
|
2035
2035
|
getWorldCopy(A, e) {
|
|
2036
2036
|
const z = 2 ** e, [t, a, p, i] = A.map((r) => ~~(r / (z * 256))), c = [];
|
|
2037
2037
|
for (let r = i; r <= a; r++)
|
|
2038
|
-
for (let
|
|
2039
|
-
c.push([
|
|
2038
|
+
for (let s = t; s <= p; s++)
|
|
2039
|
+
c.push([s, r]);
|
|
2040
2040
|
return c.map((r) => {
|
|
2041
|
-
const
|
|
2042
|
-
return [r[0] *
|
|
2041
|
+
const s = 2 ** e * 256;
|
|
2042
|
+
return [r[0] * s, r[1] * s, s];
|
|
2043
2043
|
});
|
|
2044
2044
|
}
|
|
2045
2045
|
resize() {
|
|
@@ -2123,13 +2123,13 @@ class G0 {
|
|
|
2123
2123
|
if (t) {
|
|
2124
2124
|
const a = { program: t }, p = A.getProgramParameter(t, A.ACTIVE_ATTRIBUTES);
|
|
2125
2125
|
for (let c = 0; c < p; c++) {
|
|
2126
|
-
const
|
|
2127
|
-
a[
|
|
2126
|
+
const l = A.getActiveAttrib(t, c);
|
|
2127
|
+
a[l.name] = A.getAttribLocation(t, l.name);
|
|
2128
2128
|
}
|
|
2129
2129
|
const i = A.getProgramParameter(t, A.ACTIVE_UNIFORMS);
|
|
2130
2130
|
for (let c = 0; c < i; c++) {
|
|
2131
|
-
const
|
|
2132
|
-
a[
|
|
2131
|
+
const l = A.getActiveUniform(t, c);
|
|
2132
|
+
a[l.name] = A.getUniformLocation(t, l.name);
|
|
2133
2133
|
}
|
|
2134
2134
|
return a;
|
|
2135
2135
|
}
|
|
@@ -2144,8 +2144,8 @@ class G0 {
|
|
|
2144
2144
|
const i = p.getContext("2d");
|
|
2145
2145
|
if (i && A) {
|
|
2146
2146
|
const c = i == null ? void 0 : i.createLinearGradient(0, 0, 256, 0);
|
|
2147
|
-
return e.forEach(([
|
|
2148
|
-
c.addColorStop(
|
|
2147
|
+
return e.forEach(([l, r]) => {
|
|
2148
|
+
c.addColorStop(l, r);
|
|
2149
2149
|
}), i.fillStyle = c, i.fillRect(0, 0, 256, 1), {
|
|
2150
2150
|
canvas: p,
|
|
2151
2151
|
texture: this.createTexture(
|
|
@@ -2167,8 +2167,8 @@ class G0 {
|
|
|
2167
2167
|
const p = this.createTexture(A, A.NEAREST, A.NEAREST, A.CLAMP_TO_EDGE, a, z, z), i = this.createTexture(A, A.NEAREST, A.NEAREST, A.CLAMP_TO_EDGE, a, z, z), c = new Float32Array(t);
|
|
2168
2168
|
for (let r = 0; r < t; r++)
|
|
2169
2169
|
c[r] = r;
|
|
2170
|
-
const
|
|
2171
|
-
return { resolution: z, total: t, texture0: p, texture1: i, indexBuffer:
|
|
2170
|
+
const l = this.createDataBuffer(A, "array", c);
|
|
2171
|
+
return { resolution: z, total: t, texture0: p, texture1: i, indexBuffer: l };
|
|
2172
2172
|
}
|
|
2173
2173
|
bind(A, e, z) {
|
|
2174
2174
|
const t = this.createProgram(A, e, z);
|
|
@@ -2183,13 +2183,13 @@ class G0 {
|
|
|
2183
2183
|
return {};
|
|
2184
2184
|
}
|
|
2185
2185
|
bindParticle(A, e, z, t, a, p) {
|
|
2186
|
-
const i = this.createProgramWrapper(A, e, z), c = this.createProgramWrapper(A, t, a),
|
|
2187
|
-
return { particle: i, screen: c, update:
|
|
2186
|
+
const i = this.createProgramWrapper(A, e, z), c = this.createProgramWrapper(A, t, a), l = this.createProgramWrapper(A, t, p), r = this.createDataBuffer(A, "array", new Float32Array([0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1])), s = A.createFramebuffer();
|
|
2187
|
+
return { particle: i, screen: c, update: l, quadBuffer: r, frameBuffer: s };
|
|
2188
2188
|
}
|
|
2189
2189
|
draw(A, e, z, t, a, p, i) {
|
|
2190
|
-
var c,
|
|
2190
|
+
var c, l;
|
|
2191
2191
|
if (e && z) {
|
|
2192
|
-
A.resize(), e == null || e.viewport(0, 0, (c = e == null ? void 0 : e.canvas) == null ? void 0 : c.width, (
|
|
2192
|
+
A.resize(), e == null || e.viewport(0, 0, (c = e == null ? void 0 : e.canvas) == null ? void 0 : c.width, (l = e == null ? void 0 : e.canvas) == null ? void 0 : l.height), e.clearColor(0, 0, 0, 0), e.clear(e.COLOR_BUFFER_BIT | e.DEPTH_BUFFER_BIT);
|
|
2193
2193
|
try {
|
|
2194
2194
|
e.useProgram(z);
|
|
2195
2195
|
const r = {
|
|
@@ -2201,9 +2201,9 @@ class G0 {
|
|
|
2201
2201
|
sRange: e.getUniformLocation(z, "u_range_s")
|
|
2202
2202
|
};
|
|
2203
2203
|
r.resolution && e.uniform2f(r.resolution, e.canvas.width * A.ratio, e.canvas.height * A.ratio), e.activeTexture(e.TEXTURE0), e.bindTexture(e.TEXTURE_2D, t), r.image && e.uniform1i(r.image, 0), e.activeTexture(e.TEXTURE1), e.bindTexture(e.TEXTURE_2D, a), r.color && e.uniform1i(r.color, 1), i != null && i.uvRange && (i != null && i.sRange) && (r.uvRange && e.uniform2f(r.uvRange, i.uvRange[0], i.uvRange[1]), r.sRange && e.uniform2f(r.sRange, i.sRange[0], i.sRange[1])), r.scale && e.uniform1f(r.scale, (i == null ? void 0 : i.scale) || 1);
|
|
2204
|
-
const
|
|
2204
|
+
const s = A.getBoundPixel(), m = A.map.getZoom() + 1, h = A.getWorldCopy(s, m);
|
|
2205
2205
|
for (const x of h) {
|
|
2206
|
-
const D = (x[0] -
|
|
2206
|
+
const D = (x[0] - s[0]) * A.ratio, Q = (x[1] - s[3]) * A.ratio, L = x[2] * A.ratio, [V, W, X, I] = [D, L + D, Q, L + Q], v = new Float32Array([V, X, W, X, V, I, V, I, W, X, W, I]);
|
|
2207
2207
|
e.bindBuffer(e.ARRAY_BUFFER, p), e.bufferData(e.ARRAY_BUFFER, v, e.STATIC_DRAW), e.drawArrays(e.TRIANGLES, 0, 6);
|
|
2208
2208
|
}
|
|
2209
2209
|
} catch (r) {
|
|
@@ -2554,22 +2554,22 @@ const b2 = (o = "#fff") => ({
|
|
|
2554
2554
|
else {
|
|
2555
2555
|
this.map.addSource(this.source, { type: "geojson", data: i });
|
|
2556
2556
|
for (let c = 0; c < (this.barbs ?? []).length - 1; c++) {
|
|
2557
|
-
const
|
|
2557
|
+
const l = (this.barbs ?? [])[c] || 0, r = (this.barbs ?? [])[c + 1] || 0, s = l < 10 ? `00${l}kts` : l < 100 ? `0${l}kts` : `${l}kts`;
|
|
2558
2558
|
this.map.addLayer(
|
|
2559
2559
|
{
|
|
2560
|
-
id:
|
|
2560
|
+
id: s,
|
|
2561
2561
|
type: "symbol",
|
|
2562
2562
|
filter: [
|
|
2563
2563
|
"all",
|
|
2564
2564
|
// @ts-ignore
|
|
2565
|
-
[">=", "spd",
|
|
2565
|
+
[">=", "spd", l],
|
|
2566
2566
|
// @ts-ignore
|
|
2567
2567
|
["<", "spd", r]
|
|
2568
2568
|
],
|
|
2569
2569
|
source: this.source,
|
|
2570
2570
|
layout: {
|
|
2571
2571
|
"symbol-placement": "point",
|
|
2572
|
-
"icon-image":
|
|
2572
|
+
"icon-image": s,
|
|
2573
2573
|
// mapbox sprite
|
|
2574
2574
|
"icon-size": 0.14,
|
|
2575
2575
|
"icon-offset": [0, -20],
|
|
@@ -2618,11 +2618,11 @@ const b2 = (o = "#fff") => ({
|
|
|
2618
2618
|
}, r2 = {
|
|
2619
2619
|
key: 0,
|
|
2620
2620
|
class: "legend-tip-btn-gl4"
|
|
2621
|
-
}, n2 = { class: "d-flex flex-row justify-center align-center" },
|
|
2622
|
-
function
|
|
2623
|
-
var
|
|
2624
|
-
const p = B("v-btn"), i = B("v-col"), c = B("v-row"),
|
|
2625
|
-
return (
|
|
2621
|
+
}, n2 = { class: "d-flex flex-row justify-center align-center" }, l2 = ["src"], O2 = { class: "text-caption" };
|
|
2622
|
+
function s2(o, A, e, z, t, a) {
|
|
2623
|
+
var s;
|
|
2624
|
+
const p = B("v-btn"), i = B("v-col"), c = B("v-row"), l = B("v-card-text"), r = B("v-card");
|
|
2625
|
+
return (s = e.wind) != null && s.active ? (n(), q("div", r2, [
|
|
2626
2626
|
M("div", {
|
|
2627
2627
|
class: "menu-bar-box pa-1 rounded",
|
|
2628
2628
|
style: O0({ right: t.right + "px" })
|
|
@@ -2636,7 +2636,7 @@ function l2(o, A, e, z, t, a) {
|
|
|
2636
2636
|
onClick: a.handleMenuToggle
|
|
2637
2637
|
}, {
|
|
2638
2638
|
default: E(() => A[0] || (A[0] = [
|
|
2639
|
-
M("i", { class: "iconfont icon-Legend font-weight-bold" }, null, -1)
|
|
2639
|
+
M("i", { class: "iconfont icon-Legend font-weight-bold opacity-80" }, null, -1)
|
|
2640
2640
|
])),
|
|
2641
2641
|
_: 1,
|
|
2642
2642
|
__: [0]
|
|
@@ -2648,12 +2648,12 @@ function l2(o, A, e, z, t, a) {
|
|
|
2648
2648
|
style: O0({ position: "absolute", top: "300px", right: t.right + 50 + "px" })
|
|
2649
2649
|
}, {
|
|
2650
2650
|
default: E(() => [
|
|
2651
|
-
g(
|
|
2651
|
+
g(l, { class: "pa-1 text-caption d-flex flex-column justify-center align-start opacity-70" }, {
|
|
2652
2652
|
default: E(() => [
|
|
2653
2653
|
A[1] || (A[1] = M("div", { class: "text-body-2 ma-1" }, "Wind Level", -1)),
|
|
2654
2654
|
g(c, { class: "ma-0" }, {
|
|
2655
2655
|
default: E(() => [
|
|
2656
|
-
(n(!0), q(i0, null,
|
|
2656
|
+
(n(!0), q(i0, null, l0(Object.keys(a.windSvgUrl), (m, h) => (n(), t0(i, {
|
|
2657
2657
|
cols: "6",
|
|
2658
2658
|
key: h,
|
|
2659
2659
|
class: "d-flex flex-row justify-center align-center pa-1"
|
|
@@ -2665,7 +2665,7 @@ function l2(o, A, e, z, t, a) {
|
|
|
2665
2665
|
M("img", {
|
|
2666
2666
|
src: a.getSvgUrlBase64((x = a.windSvgUrl) == null ? void 0 : x[m]),
|
|
2667
2667
|
style: { width: "14px", height: "14px" }
|
|
2668
|
-
}, null, 8,
|
|
2668
|
+
}, null, 8, l2),
|
|
2669
2669
|
M("span", O2, w(m), 1)
|
|
2670
2670
|
])
|
|
2671
2671
|
];
|
|
@@ -2686,7 +2686,7 @@ function l2(o, A, e, z, t, a) {
|
|
|
2686
2686
|
])
|
|
2687
2687
|
])) : G("", !0);
|
|
2688
2688
|
}
|
|
2689
|
-
const d2 = /* @__PURE__ */ r0(c2, [["render",
|
|
2689
|
+
const d2 = /* @__PURE__ */ r0(c2, [["render", s2]]);
|
|
2690
2690
|
const q2 = {
|
|
2691
2691
|
name: "IdmWindParticle",
|
|
2692
2692
|
props: {
|
|
@@ -2987,13 +2987,13 @@ const g2 = /* @__PURE__ */ r0(q2, [["render", u2]]), f2 = {
|
|
|
2987
2987
|
const p = new Image(48, 48);
|
|
2988
2988
|
let i = '<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="#ffffff"></path></svg>', c = "data:image/svg+xml;base64," + window.btoa(unescape(encodeURIComponent(i)));
|
|
2989
2989
|
p.src = c;
|
|
2990
|
-
const
|
|
2991
|
-
i = '<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="#f44336"></path></svg>', c = "data:image/svg+xml;base64," + window.btoa(unescape(encodeURIComponent(i))),
|
|
2992
|
-
const r = [p,
|
|
2993
|
-
let
|
|
2990
|
+
const l = new Image(48, 48);
|
|
2991
|
+
i = '<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="#f44336"></path></svg>', c = "data:image/svg+xml;base64," + window.btoa(unescape(encodeURIComponent(i))), l.src = c;
|
|
2992
|
+
const r = [p, l];
|
|
2993
|
+
let s = 0;
|
|
2994
2994
|
r.forEach((m) => {
|
|
2995
2995
|
m.onload = () => {
|
|
2996
|
-
|
|
2996
|
+
s++, this.map.hasImage("currentDirIconWhite") || this.map.addImage("currentDirIconWhite", p), this.map.hasImage("currentDirIconRed") || this.map.addImage("currentDirIconRed", l), s === 2 && this.map.addLayer(
|
|
2997
2997
|
{
|
|
2998
2998
|
id: this.directionLayer,
|
|
2999
2999
|
type: "symbol",
|
|
@@ -3050,7 +3050,7 @@ const g2 = /* @__PURE__ */ r0(q2, [["render", u2]]), f2 = {
|
|
|
3050
3050
|
}, I2 = { class: "text-caption px-2" };
|
|
3051
3051
|
function R2(o, A, e, z, t, a) {
|
|
3052
3052
|
var m;
|
|
3053
|
-
const p = B("v-btn"), i = B("v-tooltip"), c = B("v-col"),
|
|
3053
|
+
const p = B("v-btn"), i = B("v-tooltip"), c = B("v-col"), l = B("v-row"), r = B("v-card-text"), s = B("v-card");
|
|
3054
3054
|
return (m = e.current) != null && m.active ? (n(), q("div", h2, [
|
|
3055
3055
|
M("div", {
|
|
3056
3056
|
class: "menu-bar-box pa-1 rounded",
|
|
@@ -3071,7 +3071,7 @@ function R2(o, A, e, z, t, a) {
|
|
|
3071
3071
|
onClick: a.handleMenuToggle
|
|
3072
3072
|
}), {
|
|
3073
3073
|
default: E(() => A[0] || (A[0] = [
|
|
3074
|
-
M("i", { class: "iconfont icon-Legend font-weight-bold" }, null, -1)
|
|
3074
|
+
M("i", { class: "iconfont icon-Legend font-weight-bold opacity-80" }, null, -1)
|
|
3075
3075
|
])),
|
|
3076
3076
|
_: 2,
|
|
3077
3077
|
__: [0]
|
|
@@ -3080,7 +3080,7 @@ function R2(o, A, e, z, t, a) {
|
|
|
3080
3080
|
_: 1
|
|
3081
3081
|
})
|
|
3082
3082
|
], 4),
|
|
3083
|
-
L0(g(
|
|
3083
|
+
L0(g(s, {
|
|
3084
3084
|
width: "120",
|
|
3085
3085
|
elevation: "16",
|
|
3086
3086
|
style: O0({ position: "absolute", top: "340px", right: t.right + 50 + "px" })
|
|
@@ -3089,9 +3089,9 @@ function R2(o, A, e, z, t, a) {
|
|
|
3089
3089
|
g(r, { class: "pa-1 text-caption d-flex flex-column justify-center align-start opacity-70" }, {
|
|
3090
3090
|
default: E(() => [
|
|
3091
3091
|
A[1] || (A[1] = M("div", { class: "text-body-2 ma-1" }, "Current", -1)),
|
|
3092
|
-
g(
|
|
3092
|
+
g(l, { class: "ma-0" }, {
|
|
3093
3093
|
default: E(() => [
|
|
3094
|
-
(n(!0), q(i0, null,
|
|
3094
|
+
(n(!0), q(i0, null, l0(t.list, (h, x) => (n(), t0(c, {
|
|
3095
3095
|
cols: "12",
|
|
3096
3096
|
key: x,
|
|
3097
3097
|
class: "d-flex flex-row justify-start align-center pa-0"
|
|
@@ -3591,9 +3591,9 @@ const X2 = /* @__PURE__ */ r0(x2, [["render", L2], ["__scopeId", "data-v-79ce70e
|
|
|
3591
3591
|
style: { width: "24px", height: "12px", border: "1px solid rgba(var(--v-border-color), var(--v-border-opacity))" }
|
|
3592
3592
|
}, U2 = { class: "text-caption px-2" };
|
|
3593
3593
|
function Z2(o, A, e, z, t, a) {
|
|
3594
|
-
var
|
|
3595
|
-
const p = B("v-btn"), i = B("v-col"), c = B("v-row"),
|
|
3596
|
-
return (
|
|
3594
|
+
var s;
|
|
3595
|
+
const p = B("v-btn"), i = B("v-col"), c = B("v-row"), l = B("v-card-text"), r = B("v-card");
|
|
3596
|
+
return (s = e.sigWaveHeight) != null && s.active ? (n(), q("div", Y2, [
|
|
3597
3597
|
M("div", {
|
|
3598
3598
|
class: "menu-bar-box pa-1 rounded",
|
|
3599
3599
|
style: O0({ right: t.right + "px" })
|
|
@@ -3607,7 +3607,7 @@ function Z2(o, A, e, z, t, a) {
|
|
|
3607
3607
|
onClick: a.handleMenuToggle
|
|
3608
3608
|
}, {
|
|
3609
3609
|
default: E(() => A[0] || (A[0] = [
|
|
3610
|
-
M("i", { class: "iconfont icon-Legend font-weight-bold" }, null, -1)
|
|
3610
|
+
M("i", { class: "iconfont icon-Legend font-weight-bold opacity-80" }, null, -1)
|
|
3611
3611
|
])),
|
|
3612
3612
|
_: 1,
|
|
3613
3613
|
__: [0]
|
|
@@ -3619,12 +3619,12 @@ function Z2(o, A, e, z, t, a) {
|
|
|
3619
3619
|
style: O0({ position: "absolute", top: "300px", right: t.right + 50 + "px" })
|
|
3620
3620
|
}, {
|
|
3621
3621
|
default: E(() => [
|
|
3622
|
-
g(
|
|
3622
|
+
g(l, { class: "pa-1 text-caption d-flex flex-column justify-center align-start opacity-70" }, {
|
|
3623
3623
|
default: E(() => [
|
|
3624
3624
|
A[1] || (A[1] = M("div", { class: "text-body-2 ma-1" }, "Wave Height", -1)),
|
|
3625
3625
|
g(c, { class: "ma-0" }, {
|
|
3626
3626
|
default: E(() => [
|
|
3627
|
-
(n(!0), q(i0, null,
|
|
3627
|
+
(n(!0), q(i0, null, l0(t.list, (m, h) => (n(), t0(i, {
|
|
3628
3628
|
cols: "12",
|
|
3629
3629
|
key: h,
|
|
3630
3630
|
class: "d-flex flex-row justify-start align-center pa-1"
|
|
@@ -3951,8 +3951,8 @@ function j2(o, A, e, z, t, a) {
|
|
|
3951
3951
|
location: "left",
|
|
3952
3952
|
"open-delay": 2e3
|
|
3953
3953
|
}, {
|
|
3954
|
-
activator: E(({ props:
|
|
3955
|
-
g(p, H(
|
|
3954
|
+
activator: E(({ props: l }) => [
|
|
3955
|
+
g(p, H(l, {
|
|
3956
3956
|
"min-width": "32",
|
|
3957
3957
|
width: "32",
|
|
3958
3958
|
height: "32",
|
|
@@ -3961,7 +3961,7 @@ function j2(o, A, e, z, t, a) {
|
|
|
3961
3961
|
onClick: a.handleMenuToggle
|
|
3962
3962
|
}), {
|
|
3963
3963
|
default: E(() => A[0] || (A[0] = [
|
|
3964
|
-
M("i", { class: "iconfont icon-Legend font-weight-bold" }, null, -1)
|
|
3964
|
+
M("i", { class: "iconfont icon-Legend font-weight-bold opacity-80" }, null, -1)
|
|
3965
3965
|
])),
|
|
3966
3966
|
_: 2,
|
|
3967
3967
|
__: [0]
|
|
@@ -4539,10 +4539,10 @@ const no = {
|
|
|
4539
4539
|
this.webgl.draw(this.viewport, this.context, this.program, this.texture, this.rampColor.texture, this.aPositionBuffer), this.viewport.toggle(!0);
|
|
4540
4540
|
}
|
|
4541
4541
|
}
|
|
4542
|
-
},
|
|
4542
|
+
}, lo = { key: 0 };
|
|
4543
4543
|
function Oo(o, A, e, z, t, a) {
|
|
4544
4544
|
var p;
|
|
4545
|
-
return (p = e.factor) != null && p.active ? (n(), q("div",
|
|
4545
|
+
return (p = e.factor) != null && p.active ? (n(), q("div", lo, [
|
|
4546
4546
|
M("div", {
|
|
4547
4547
|
class: "legend-bars-gl4 visibility",
|
|
4548
4548
|
style: O0({ right: t.right + "px" })
|
|
@@ -4556,7 +4556,7 @@ function Oo(o, A, e, z, t, a) {
|
|
|
4556
4556
|
]), 4)
|
|
4557
4557
|
])) : G("", !0);
|
|
4558
4558
|
}
|
|
4559
|
-
const
|
|
4559
|
+
const so = /* @__PURE__ */ r0(no, [["render", Oo]]);
|
|
4560
4560
|
const qo = {
|
|
4561
4561
|
name: "IdmWaterTemp",
|
|
4562
4562
|
props: {
|
|
@@ -4809,7 +4809,7 @@ const Io = {
|
|
|
4809
4809
|
IdmIceCover: to,
|
|
4810
4810
|
IdmIceThickness: po,
|
|
4811
4811
|
IdmPrecip3h: ro,
|
|
4812
|
-
IdmVisibility:
|
|
4812
|
+
IdmVisibility: so,
|
|
4813
4813
|
IdmWaterTemp: go,
|
|
4814
4814
|
IdmTemp: Eo
|
|
4815
4815
|
},
|
|
@@ -4842,7 +4842,7 @@ const Io = {
|
|
|
4842
4842
|
type: Object,
|
|
4843
4843
|
default: {}
|
|
4844
4844
|
},
|
|
4845
|
-
|
|
4845
|
+
realTime: {
|
|
4846
4846
|
type: String
|
|
4847
4847
|
},
|
|
4848
4848
|
forecastModel: {
|
|
@@ -4884,7 +4884,7 @@ const Io = {
|
|
|
4884
4884
|
return function(o) {
|
|
4885
4885
|
var A;
|
|
4886
4886
|
if (o) {
|
|
4887
|
-
const e =
|
|
4887
|
+
const e = a0(o);
|
|
4888
4888
|
return `${(A = e == null ? void 0 : e.utc()) == null ? void 0 : A.format("MMM-DD/HHmm")}Z`;
|
|
4889
4889
|
}
|
|
4890
4890
|
return "-";
|
|
@@ -4917,9 +4917,9 @@ const Io = {
|
|
|
4917
4917
|
},
|
|
4918
4918
|
immediate: !0
|
|
4919
4919
|
},
|
|
4920
|
-
|
|
4920
|
+
realTime: {
|
|
4921
4921
|
handler(o, A) {
|
|
4922
|
-
o && A &&
|
|
4922
|
+
o && A && a0(o).utc().format("yyyy-MM-DD HH") !== a0(A).utc().format("yyyy-MM-DD HH") && this.$nextTick(() => {
|
|
4923
4923
|
this.fetchWeatherLayers();
|
|
4924
4924
|
});
|
|
4925
4925
|
},
|
|
@@ -5003,7 +5003,7 @@ const Io = {
|
|
|
5003
5003
|
(o == null ? void 0 : o.data.code) === 0 && (this.sourceList = o == null ? void 0 : o.data.data);
|
|
5004
5004
|
},
|
|
5005
5005
|
async fetchWeatherLayers(o = {}) {
|
|
5006
|
-
var t, a, p, i, c,
|
|
5006
|
+
var t, a, p, i, c, l, r, s, m;
|
|
5007
5007
|
const A = (/* @__PURE__ */ new Date()).valueOf();
|
|
5008
5008
|
let e = 0, z = 0;
|
|
5009
5009
|
if (this.map) {
|
|
@@ -5018,7 +5018,7 @@ const Io = {
|
|
|
5018
5018
|
if (this.weatherWeight > 0) {
|
|
5019
5019
|
let Q = this.weatherWeight;
|
|
5020
5020
|
if (Q > 0) {
|
|
5021
|
-
const L = this.assistGateway[Math.round(Math.random() * (this.assistGateway.length - 1))], V = await N0.get(`${L}/api/arc/weather/layers2/links?l=${Q}&v=${this.forecastModel}&z=${h}&bbox=${D}&t=${this.
|
|
5021
|
+
const L = this.assistGateway[Math.round(Math.random() * (this.assistGateway.length - 1))], V = await N0.get(`${L}/api/arc/weather/layers2/links?l=${Q}&v=${this.forecastModel}&z=${h}&bbox=${D}&t=${this.realTime}`, {
|
|
5022
5022
|
headers: {
|
|
5023
5023
|
Authorization: this.token || this.defaultMeteoToken
|
|
5024
5024
|
}
|
|
@@ -5050,7 +5050,7 @@ const Io = {
|
|
|
5050
5050
|
});
|
|
5051
5051
|
}
|
|
5052
5052
|
if (z = (/* @__PURE__ */ new Date()).valueOf() - (A + e), console.log("weather layers elapsed: ", z, ", total: ", e += z), this.weatherLayers["swell-direction"] || this.weatherLayers["swell-height"]) {
|
|
5053
|
-
const W = (
|
|
5053
|
+
const W = (l = this.weatherLayers["swell-direction"]) == null ? void 0 : l.raw, X = (r = this.weatherLayers["swell-height"]) == null ? void 0 : r.raw;
|
|
5054
5054
|
delete this.weatherLayers["swell-direction"], delete this.weatherLayers["swell-height"], this.weatherLayers.swell = {
|
|
5055
5055
|
type: "json",
|
|
5056
5056
|
direction: W,
|
|
@@ -5059,7 +5059,7 @@ const Io = {
|
|
|
5059
5059
|
};
|
|
5060
5060
|
}
|
|
5061
5061
|
if (this.weatherLayers["current-direction"] || this.weatherLayers["current-speed"]) {
|
|
5062
|
-
const W = (
|
|
5062
|
+
const W = (s = this.weatherLayers["current-direction"]) == null ? void 0 : s.raw, X = (m = this.weatherLayers["current-speed"]) == null ? void 0 : m.raw;
|
|
5063
5063
|
delete this.weatherLayers["current-direction"], delete this.weatherLayers["current-speed"], this.weatherLayers.current = {
|
|
5064
5064
|
type: "json",
|
|
5065
5065
|
direction: W,
|
|
@@ -5092,7 +5092,7 @@ const Io = {
|
|
|
5092
5092
|
}, 500);
|
|
5093
5093
|
},
|
|
5094
5094
|
handleRampColorInitial() {
|
|
5095
|
-
var o, A, e, z, t, a, p, i, c,
|
|
5095
|
+
var o, A, e, z, t, a, p, i, c, l, r, s;
|
|
5096
5096
|
this.viewport.map.getSource((o = this.viewport) == null ? void 0 : o.rampColorSource) || this.viewport.map.addSource((A = this.viewport) == null ? void 0 : A.rampColorSource, {
|
|
5097
5097
|
type: "canvas",
|
|
5098
5098
|
canvas: (e = this.viewport) == null ? void 0 : e.rampColorCanvas,
|
|
@@ -5113,11 +5113,11 @@ const Io = {
|
|
|
5113
5113
|
canvas: (c = this.viewport) == null ? void 0 : c.particleCanvas,
|
|
5114
5114
|
animate: !0,
|
|
5115
5115
|
coordinates: this.viewport.getBoundLngLat()
|
|
5116
|
-
}), this.viewport.map.getLayer((
|
|
5116
|
+
}), this.viewport.map.getLayer((l = this.viewport) == null ? void 0 : l.particleLayer) || this.viewport.map.addLayer(
|
|
5117
5117
|
{
|
|
5118
5118
|
type: "raster",
|
|
5119
5119
|
id: (r = this.viewport) == null ? void 0 : r.particleLayer,
|
|
5120
|
-
source: (
|
|
5120
|
+
source: (s = this.viewport) == null ? void 0 : s.particleSource,
|
|
5121
5121
|
layout: {
|
|
5122
5122
|
visibility: "none"
|
|
5123
5123
|
}
|
|
@@ -5126,17 +5126,17 @@ const Io = {
|
|
|
5126
5126
|
);
|
|
5127
5127
|
},
|
|
5128
5128
|
handleDrawWeather4Json() {
|
|
5129
|
-
var
|
|
5129
|
+
var l, r, s, m, h, x, D;
|
|
5130
5130
|
const o = (/* @__PURE__ */ new Date()).valueOf();
|
|
5131
5131
|
let A = 0, e = 0;
|
|
5132
|
-
const z = (
|
|
5132
|
+
const z = (l = this.map) == null ? void 0 : l.getBounds(), t = (r = this.map) == null ? void 0 : r.getZoom(), a = C0.convertToStdLng(z._sw.lng), p = C0.convertToStdLng(z._ne.lng), i = Math.floor(z._sw.lat), c = Math.ceil(z._ne.lat);
|
|
5133
5133
|
for (const Q in this.weatherLayers) {
|
|
5134
5134
|
let L = !1;
|
|
5135
5135
|
if (this.weatherLayers[Q].active && this.weatherLayers[Q].type === "json") {
|
|
5136
5136
|
let V = [];
|
|
5137
5137
|
if (Q === "swell") {
|
|
5138
5138
|
L = !0;
|
|
5139
|
-
const W = ((
|
|
5139
|
+
const W = ((s = this.weatherLayers[Q]) == null ? void 0 : s.direction) || {};
|
|
5140
5140
|
for (const I in W)
|
|
5141
5141
|
if (I > i && I < c && (!(t <= this.zoom) || I % (t < 2 ? 10 : t < 4 ? 5 : 3) === 0)) {
|
|
5142
5142
|
const v = W[I].lng;
|
|
@@ -5144,35 +5144,35 @@ const Io = {
|
|
|
5144
5144
|
var S, $, J, _, n0, p0;
|
|
5145
5145
|
if (t < 2) {
|
|
5146
5146
|
if ((f >= 0 && f <= 360 || f >= -360 && f <= 0) && f % 10 === 0) {
|
|
5147
|
-
const
|
|
5147
|
+
const z0 = j.point([f, I], {
|
|
5148
5148
|
val: ((S = W[I].val) == null ? void 0 : S[U]) || (($ = W[I].dir) == null ? void 0 : $[U]),
|
|
5149
5149
|
spd: (J = W[I].spd) == null ? void 0 : J[U]
|
|
5150
5150
|
});
|
|
5151
|
-
V.push(
|
|
5151
|
+
V.push(z0);
|
|
5152
5152
|
}
|
|
5153
5153
|
} else if ((f >= a && f <= 180 || f >= -180 && f <= p) && (!(t <= this.zoom) || f % (t < 2 ? 10 : t < 4 ? 5 : 3) === 0)) {
|
|
5154
|
-
const
|
|
5154
|
+
const z0 = j.point([f, I], {
|
|
5155
5155
|
val: ((_ = W[I].val) == null ? void 0 : _[U]) || ((n0 = W[I].dir) == null ? void 0 : n0[U]),
|
|
5156
5156
|
spd: (p0 = W[I].spd) == null ? void 0 : p0[U]
|
|
5157
5157
|
});
|
|
5158
|
-
V.push(
|
|
5158
|
+
V.push(z0);
|
|
5159
5159
|
}
|
|
5160
5160
|
}) : v.forEach((f, U) => {
|
|
5161
5161
|
var S, $, J, _, n0, p0;
|
|
5162
5162
|
if (a < 2) {
|
|
5163
5163
|
if ((f >= 0 && f <= 360 || f >= -360 && f <= 0) && f % 10 === 0) {
|
|
5164
|
-
const
|
|
5164
|
+
const z0 = j.point([f, I], {
|
|
5165
5165
|
val: ((S = W[I].val) == null ? void 0 : S[U]) || (($ = W[I].dir) == null ? void 0 : $[U]),
|
|
5166
5166
|
spd: (J = W[I].spd) == null ? void 0 : J[U]
|
|
5167
5167
|
});
|
|
5168
|
-
V.push(
|
|
5168
|
+
V.push(z0);
|
|
5169
5169
|
}
|
|
5170
5170
|
} else if (f >= a && f <= p && (!(t <= this.zoom) || f % (t < 2 ? 10 : t < 4 ? 5 : 3) === 0)) {
|
|
5171
|
-
const
|
|
5171
|
+
const z0 = j.point([f, I], {
|
|
5172
5172
|
val: ((_ = W[I].val) == null ? void 0 : _[U]) || ((n0 = W[I].dir) == null ? void 0 : n0[U]),
|
|
5173
5173
|
spd: (p0 = W[I].spd) == null ? void 0 : p0[U]
|
|
5174
5174
|
});
|
|
5175
|
-
V.push(
|
|
5175
|
+
V.push(z0);
|
|
5176
5176
|
}
|
|
5177
5177
|
});
|
|
5178
5178
|
}
|
|
@@ -5208,35 +5208,35 @@ const Io = {
|
|
|
5208
5208
|
var S, $, J, _, n0, p0;
|
|
5209
5209
|
if (t < 2) {
|
|
5210
5210
|
if ((f >= 0 && f <= 360 || f >= -360 && f <= 0) && f % 10 === 0) {
|
|
5211
|
-
const
|
|
5211
|
+
const z0 = j.point([f, I], {
|
|
5212
5212
|
val: ((S = W[I].val) == null ? void 0 : S[U]) || (($ = W[I].dir) == null ? void 0 : $[U]),
|
|
5213
5213
|
spd: (J = W[I].spd) == null ? void 0 : J[U]
|
|
5214
5214
|
});
|
|
5215
|
-
V.push(
|
|
5215
|
+
V.push(z0);
|
|
5216
5216
|
}
|
|
5217
5217
|
} else if ((f >= a && f <= 180 || f >= -180 && f <= p) && (!(t <= this.zoom) || f % (t < 2 ? 10 : t < 4 ? 5 : 3) === 0)) {
|
|
5218
|
-
const
|
|
5218
|
+
const z0 = j.point([f, I], {
|
|
5219
5219
|
val: ((_ = W[I].val) == null ? void 0 : _[U]) || ((n0 = W[I].dir) == null ? void 0 : n0[U]),
|
|
5220
5220
|
spd: (p0 = W[I].spd) == null ? void 0 : p0[U]
|
|
5221
5221
|
});
|
|
5222
|
-
V.push(
|
|
5222
|
+
V.push(z0);
|
|
5223
5223
|
}
|
|
5224
5224
|
}) : v.forEach((f, U) => {
|
|
5225
5225
|
var S, $, J, _, n0, p0;
|
|
5226
5226
|
if (a < 2) {
|
|
5227
5227
|
if ((f >= 0 && f <= 360 || f >= -360 && f <= 0) && f % 10 === 0) {
|
|
5228
|
-
const
|
|
5228
|
+
const z0 = j.point([f, I], {
|
|
5229
5229
|
val: ((S = W[I].val) == null ? void 0 : S[U]) || (($ = W[I].dir) == null ? void 0 : $[U]),
|
|
5230
5230
|
spd: (J = W[I].spd) == null ? void 0 : J[U]
|
|
5231
5231
|
});
|
|
5232
|
-
V.push(
|
|
5232
|
+
V.push(z0);
|
|
5233
5233
|
}
|
|
5234
5234
|
} else if (f >= a && f <= p && (!(t <= this.zoom) || f % (t < this.zoom / 2 ? 5 : 3) === 0)) {
|
|
5235
|
-
const
|
|
5235
|
+
const z0 = j.point([f, I], {
|
|
5236
5236
|
val: ((_ = W[I].val) == null ? void 0 : _[U]) || ((n0 = W[I].dir) == null ? void 0 : n0[U]),
|
|
5237
5237
|
spd: (p0 = W[I].spd) == null ? void 0 : p0[U]
|
|
5238
5238
|
});
|
|
5239
|
-
V.push(
|
|
5239
|
+
V.push(z0);
|
|
5240
5240
|
}
|
|
5241
5241
|
});
|
|
5242
5242
|
}
|
|
@@ -5399,8 +5399,8 @@ const Io = {
|
|
|
5399
5399
|
class: "text-caption opacity-50 mb-3"
|
|
5400
5400
|
}, yo = { class: "text-body-1 font-weight-medium" }, Yo = { class: "text-caption opacity-50" }, No = { class: "text-caption opacity-50 pb-1" };
|
|
5401
5401
|
function Do(o, A, e, z, t, a) {
|
|
5402
|
-
var
|
|
5403
|
-
const p = B("VBtn"), i = B("VTooltip"), c = B("VSwitch"),
|
|
5402
|
+
var z0, c0, u0, h0, m0, M0, Z, d0, I0, R0, B0, f0, o0, s0, V0;
|
|
5403
|
+
const p = B("VBtn"), i = B("VTooltip"), c = B("VSwitch"), l = B("VCardTitle"), r = B("VCardItem"), s = B("VCheckbox"), m = B("VCardText"), h = B("VCard"), x = B("VBtnToggle"), D = B("VDivider"), Q = B("IdmWindBarb"), L = B("IdmSigWaveHeight"), V = B("IdmCurrentDirection"), W = B("IdmPrmsl"), X = B("IdmWindParticle"), I = B("IdmCurrentParticle"), v = B("IdmWave"), f = B("IdmSwell"), U = B("IdmIceEdge"), S = B("IdmIceCover"), $ = B("IdmIceThickness"), J = B("IdmPrecip3h"), _ = B("IdmVisibility"), n0 = B("IdmWaterTemp"), p0 = B("IdmTemp");
|
|
5404
5404
|
return n(), q("div", Ro, [
|
|
5405
5405
|
M("div", {
|
|
5406
5406
|
class: "menu-bar-box transition pa-1",
|
|
@@ -5421,7 +5421,7 @@ function Do(o, A, e, z, t, a) {
|
|
|
5421
5421
|
onClick: a.handleMenuToggle
|
|
5422
5422
|
}), {
|
|
5423
5423
|
default: E(() => A[6] || (A[6] = [
|
|
5424
|
-
M("i", { class: "iconfont icon-Weather text-h5 font-weight-bold" }, null, -1)
|
|
5424
|
+
M("i", { class: "iconfont icon-Weather text-h5 font-weight-bold opacity-80" }, null, -1)
|
|
5425
5425
|
])),
|
|
5426
5426
|
_: 2,
|
|
5427
5427
|
__: [6]
|
|
@@ -5466,13 +5466,13 @@ function Do(o, A, e, z, t, a) {
|
|
|
5466
5466
|
class: Y0(["list-box scroll pl-4 pr-2 overflow-y-auto", t.autoActive ? "" : "cursor-not-allowed"])
|
|
5467
5467
|
}, [
|
|
5468
5468
|
g(h, {
|
|
5469
|
-
class: "mx-auto my-
|
|
5469
|
+
class: "mx-auto my-3",
|
|
5470
5470
|
elevation: "8"
|
|
5471
5471
|
}, {
|
|
5472
5472
|
default: E(() => [
|
|
5473
5473
|
g(r, { class: "border-b-thin" }, {
|
|
5474
5474
|
default: E(() => [
|
|
5475
|
-
g(
|
|
5475
|
+
g(l, {
|
|
5476
5476
|
class: "text-subtitle-1",
|
|
5477
5477
|
style: { "font-size": "16px !important" }
|
|
5478
5478
|
}, {
|
|
@@ -5488,7 +5488,7 @@ function Do(o, A, e, z, t, a) {
|
|
|
5488
5488
|
g(m, null, {
|
|
5489
5489
|
default: E(() => [
|
|
5490
5490
|
M("div", Co, [
|
|
5491
|
-
(n(!0), q(i0, null,
|
|
5491
|
+
(n(!0), q(i0, null, l0(t.tagLayers.filter((R) => R.overlays), (R) => (n(), t0(s, {
|
|
5492
5492
|
key: R.key,
|
|
5493
5493
|
modelValue: t.checkList,
|
|
5494
5494
|
"onUpdate:modelValue": A[1] || (A[1] = (g0) => t.checkList = g0),
|
|
@@ -5509,13 +5509,13 @@ function Do(o, A, e, z, t, a) {
|
|
|
5509
5509
|
_: 1
|
|
5510
5510
|
}),
|
|
5511
5511
|
g(h, {
|
|
5512
|
-
class: "mx-auto mb-
|
|
5512
|
+
class: "mx-auto mb-3",
|
|
5513
5513
|
elevation: "8"
|
|
5514
5514
|
}, {
|
|
5515
5515
|
default: E(() => [
|
|
5516
5516
|
g(r, { class: "border-b-thin" }, {
|
|
5517
5517
|
default: E(() => [
|
|
5518
|
-
g(
|
|
5518
|
+
g(l, {
|
|
5519
5519
|
class: "text-subtitle-1",
|
|
5520
5520
|
style: { "font-size": "16px !important" }
|
|
5521
5521
|
}, {
|
|
@@ -5531,10 +5531,10 @@ function Do(o, A, e, z, t, a) {
|
|
|
5531
5531
|
g(m, null, {
|
|
5532
5532
|
default: E(() => [
|
|
5533
5533
|
M("div", Vo, [
|
|
5534
|
-
(n(!0), q(i0, null,
|
|
5534
|
+
(n(!0), q(i0, null, l0(t.tagLayers.filter((R) => !R.overlays && R.key !== "ice-thickness"), (R) => (n(), q(i0, {
|
|
5535
5535
|
key: R.key
|
|
5536
5536
|
}, [
|
|
5537
|
-
g(
|
|
5537
|
+
g(s, {
|
|
5538
5538
|
modelValue: t.checkList,
|
|
5539
5539
|
"onUpdate:modelValue": A[2] || (A[2] = (g0) => t.checkList = g0),
|
|
5540
5540
|
value: R.key,
|
|
@@ -5626,13 +5626,13 @@ function Do(o, A, e, z, t, a) {
|
|
|
5626
5626
|
_: 1
|
|
5627
5627
|
}),
|
|
5628
5628
|
g(h, {
|
|
5629
|
-
class: "mx-auto mb-
|
|
5629
|
+
class: "mx-auto mb-3",
|
|
5630
5630
|
elevation: "8"
|
|
5631
5631
|
}, {
|
|
5632
5632
|
default: E(() => [
|
|
5633
5633
|
g(r, { class: "border-b-thin" }, {
|
|
5634
5634
|
default: E(() => [
|
|
5635
|
-
g(
|
|
5635
|
+
g(l, {
|
|
5636
5636
|
class: "text-subtitle-1",
|
|
5637
5637
|
style: { "font-size": "16px !important" }
|
|
5638
5638
|
}, {
|
|
@@ -5650,7 +5650,7 @@ function Do(o, A, e, z, t, a) {
|
|
|
5650
5650
|
var R, g0, W0, b;
|
|
5651
5651
|
return [
|
|
5652
5652
|
A[16] || (A[16] = M("div", { class: "text-body-1 py-2" }, "Atmospheric", -1)),
|
|
5653
|
-
(n(!0), q(i0, null,
|
|
5653
|
+
(n(!0), q(i0, null, l0((g0 = (R = t.sourceList) == null ? void 0 : R.weather) == null ? void 0 : g0.filter((d) => d.model !== "best_match"), (d, u) => {
|
|
5654
5654
|
var C, Y, F, N, A0, T;
|
|
5655
5655
|
return n(), q(i0, {
|
|
5656
5656
|
key: `source${d.name}`
|
|
@@ -5662,7 +5662,7 @@ function Do(o, A, e, z, t, a) {
|
|
|
5662
5662
|
}), 128)),
|
|
5663
5663
|
g(D),
|
|
5664
5664
|
A[17] || (A[17] = M("div", { class: "text-body-1 py-2" }, "Marine", -1)),
|
|
5665
|
-
(n(!0), q(i0, null,
|
|
5665
|
+
(n(!0), q(i0, null, l0((b = (W0 = t.sourceList) == null ? void 0 : W0.marine) == null ? void 0 : b.filter((d) => d.model !== "best_match"), (d, u) => {
|
|
5666
5666
|
var C, Y, F;
|
|
5667
5667
|
return n(), q(i0, {
|
|
5668
5668
|
key: `source${d.name}`
|
|
@@ -5688,7 +5688,7 @@ function Do(o, A, e, z, t, a) {
|
|
|
5688
5688
|
map: e.map,
|
|
5689
5689
|
"map-feather": e.mapFeather,
|
|
5690
5690
|
"before-layer": "empty-layer-2",
|
|
5691
|
-
wind: (
|
|
5691
|
+
wind: (z0 = t.weatherLayers) == null ? void 0 : z0.wind,
|
|
5692
5692
|
"menu-toggle": e.menuToggle
|
|
5693
5693
|
}, o.$attrs), null, 16, ["map", "map-feather", "wind", "menu-toggle"])) : G("", !0),
|
|
5694
5694
|
e.map ? (n(), t0(L, H({
|
|
@@ -5723,7 +5723,7 @@ function Do(o, A, e, z, t, a) {
|
|
|
5723
5723
|
e.map ? (n(), t0(I, H({
|
|
5724
5724
|
key: 5,
|
|
5725
5725
|
viewport: t.viewport,
|
|
5726
|
-
factor: (
|
|
5726
|
+
factor: (M0 = t.weatherLayers) == null ? void 0 : M0["current-particle"],
|
|
5727
5727
|
"menu-toggle": e.menuToggle
|
|
5728
5728
|
}, o.$attrs), null, 16, ["viewport", "factor", "menu-toggle"])) : G("", !0),
|
|
5729
5729
|
e.map ? (n(), t0(v, H({
|
|
@@ -5772,7 +5772,7 @@ function Do(o, A, e, z, t, a) {
|
|
|
5772
5772
|
e.map ? (n(), t0(n0, H({
|
|
5773
5773
|
key: 13,
|
|
5774
5774
|
viewport: t.viewport,
|
|
5775
|
-
factor: (
|
|
5775
|
+
factor: (s0 = t.weatherLayers) == null ? void 0 : s0["water-temp"],
|
|
5776
5776
|
"menu-toggle": e.menuToggle
|
|
5777
5777
|
}, o.$attrs), null, 16, ["viewport", "factor", "menu-toggle"])) : G("", !0),
|
|
5778
5778
|
e.map ? (n(), t0(p0, H({
|
|
@@ -6101,19 +6101,19 @@ class LA {
|
|
|
6101
6101
|
const t = A.toLowerCase().split(","), a = [], p = [];
|
|
6102
6102
|
for (const i of t) {
|
|
6103
6103
|
let c = o1.find((r) => {
|
|
6104
|
-
var
|
|
6105
|
-
return ((
|
|
6106
|
-
}),
|
|
6107
|
-
var
|
|
6108
|
-
return ((
|
|
6104
|
+
var s, m, h;
|
|
6105
|
+
return ((s = r.models) == null ? void 0 : s.includes(i)) || ((m = r.alias) == null ? void 0 : m.toLowerCase()) === i || ((h = r.name) == null ? void 0 : h.toLowerCase()) === i;
|
|
6106
|
+
}), l = t1.find((r) => {
|
|
6107
|
+
var s, m, h;
|
|
6108
|
+
return ((s = r.models) == null ? void 0 : s.includes(i)) || ((m = r.alias) == null ? void 0 : m.toLowerCase()) === i || ((h = r.name) == null ? void 0 : h.toLowerCase()) === i;
|
|
6109
6109
|
});
|
|
6110
6110
|
c = c || o1.find((r) => {
|
|
6111
|
-
var
|
|
6112
|
-
return ((
|
|
6113
|
-
}),
|
|
6114
|
-
var
|
|
6115
|
-
return ((
|
|
6116
|
-
}), c = c || o1[0],
|
|
6111
|
+
var s, m;
|
|
6112
|
+
return ((s = r.alias) == null ? void 0 : s.toLowerCase()) === ((m = l == null ? void 0 : l.alias) == null ? void 0 : m.toLowerCase());
|
|
6113
|
+
}), l = l || t1.find((r) => {
|
|
6114
|
+
var s, m;
|
|
6115
|
+
return ((s = r.alias) == null ? void 0 : s.toLowerCase()) === ((m = c == null ? void 0 : c.alias) == null ? void 0 : m.toLowerCase());
|
|
6116
|
+
}), c = c || o1[0], l = l || t1[0], a.push((e = c.models) != null && e.includes(i) ? i : c.model), p.push((z = l.models) != null && z.includes(i) ? i : l.model);
|
|
6117
6117
|
}
|
|
6118
6118
|
return {
|
|
6119
6119
|
weatherModels: a.join(","),
|
|
@@ -6130,8 +6130,8 @@ class LA {
|
|
|
6130
6130
|
}), t;
|
|
6131
6131
|
}
|
|
6132
6132
|
static pickHourly(A, e) {
|
|
6133
|
-
var z, t, a, p, i, c,
|
|
6134
|
-
const Y = typeof e == "string" ?
|
|
6133
|
+
var z, t, a, p, i, c, l, r, s, m, h, x, D, Q, L, V, W, X, I, v, f, U, S, $, J, _, n0, p0, z0, c0, u0, h0, m0, M0, Z, d0, I0, R0, B0, f0, o0, s0, V0, R, g0, W0, b, d, u, C;
|
|
6134
|
+
const Y = typeof e == "string" ? a0(e) : e, F = A == null ? void 0 : A.weather, N = A == null ? void 0 : A.marine, A0 = a0((t = (z = F == null ? void 0 : F[0]) == null ? void 0 : z.hourly) == null ? void 0 : t.date).utc(), T = A0.clone().add((i = (p = (a = F == null ? void 0 : F[0]) == null ? void 0 : a.hourly) == null ? void 0 : p.time) == null ? void 0 : i.at(0), "h"), q0 = A0.clone().add((r = (l = (c = F == null ? void 0 : F[0]) == null ? void 0 : c.hourly) == null ? void 0 : l.time) == null ? void 0 : r.at(-1), "h"), U0 = [];
|
|
6135
6135
|
if (Y.isBetween(T, q0, "millisecond", "[]")) {
|
|
6136
6136
|
const P = Y.utc().diff(T, "h", !1);
|
|
6137
6137
|
let w0, y0;
|
|
@@ -6140,7 +6140,7 @@ class LA {
|
|
|
6140
6140
|
for (const k of F) {
|
|
6141
6141
|
const e0 = k == null ? void 0 : k.hourly;
|
|
6142
6142
|
for (let Q0 = P - (P - 1) % 3; Q0 <= P; Q0++)
|
|
6143
|
-
Z0 += (
|
|
6143
|
+
Z0 += (s = e0 == null ? void 0 : e0.precipitation) == null ? void 0 : s.at(Q0);
|
|
6144
6144
|
for (let Q0 = P - (P - 1) % 6; Q0 <= P; Q0++)
|
|
6145
6145
|
T0 += (m = e0 == null ? void 0 : e0.precipitation) == null ? void 0 : m.at(Q0);
|
|
6146
6146
|
w0 = {
|
|
@@ -6183,13 +6183,13 @@ class LA {
|
|
|
6183
6183
|
wave: {
|
|
6184
6184
|
sig: {
|
|
6185
6185
|
height: (p0 = k == null ? void 0 : k.wave_height) == null ? void 0 : p0.at(P),
|
|
6186
|
-
degree: (
|
|
6186
|
+
degree: (z0 = k == null ? void 0 : k.wave_direction) == null ? void 0 : z0.at(P),
|
|
6187
6187
|
bearing: ((c0 = k == null ? void 0 : k.wave_direction) == null ? void 0 : c0.at(P)) !== null ? (((u0 = k == null ? void 0 : k.wave_direction) == null ? void 0 : u0.at(P)) + 180) % 360 : null,
|
|
6188
6188
|
period: (h0 = k == null ? void 0 : k.wave_period) == null ? void 0 : h0.at(P)
|
|
6189
6189
|
},
|
|
6190
6190
|
swell: {
|
|
6191
6191
|
height: (m0 = k == null ? void 0 : k.swell_wave_height) == null ? void 0 : m0.at(P),
|
|
6192
|
-
degree: (
|
|
6192
|
+
degree: (M0 = k == null ? void 0 : k.swell_wave_direction) == null ? void 0 : M0.at(P),
|
|
6193
6193
|
bearing: ((Z = k == null ? void 0 : k.swell_wave_direction) == null ? void 0 : Z.at(P)) !== null ? (((d0 = k == null ? void 0 : k.swell_wave_direction) == null ? void 0 : d0.at(P)) + 180) % 360 : null,
|
|
6194
6194
|
period: (I0 = k == null ? void 0 : k.swell_wave_period) == null ? void 0 : I0.at(P),
|
|
6195
6195
|
peakPeriod: (R0 = k == null ? void 0 : k.swell_wave_peak_period) == null ? void 0 : R0.at(P)
|
|
@@ -6197,7 +6197,7 @@ class LA {
|
|
|
6197
6197
|
wd: {
|
|
6198
6198
|
height: (B0 = k == null ? void 0 : k.wind_wave_height) == null ? void 0 : B0.at(P),
|
|
6199
6199
|
degree: (f0 = k == null ? void 0 : k.wind_wave_direction) == null ? void 0 : f0.at(P),
|
|
6200
|
-
bearing: ((o0 = k == null ? void 0 : k.wind_wave_direction) == null ? void 0 : o0.at(P)) !== null ? (((
|
|
6200
|
+
bearing: ((o0 = k == null ? void 0 : k.wind_wave_direction) == null ? void 0 : o0.at(P)) !== null ? (((s0 = k == null ? void 0 : k.wind_wave_direction) == null ? void 0 : s0.at(P)) + 180) % 360 : null,
|
|
6201
6201
|
period: (V0 = k == null ? void 0 : k.wind_wave_period) == null ? void 0 : V0.at(P),
|
|
6202
6202
|
peakPeriod: (R = k == null ? void 0 : k.wind_wave_peak_period) == null ? void 0 : R.at(P)
|
|
6203
6203
|
}
|
|
@@ -6217,7 +6217,7 @@ class LA {
|
|
|
6217
6217
|
return U0;
|
|
6218
6218
|
}
|
|
6219
6219
|
static toLegacy(A) {
|
|
6220
|
-
var e, z, t, a, p, i, c,
|
|
6220
|
+
var e, z, t, a, p, i, c, l, r, s;
|
|
6221
6221
|
return {
|
|
6222
6222
|
wind: (e = A == null ? void 0 : A.weather) == null ? void 0 : e.wind,
|
|
6223
6223
|
visibility: (z = A == null ? void 0 : A.weather) == null ? void 0 : z.visibility,
|
|
@@ -6227,9 +6227,9 @@ class LA {
|
|
|
6227
6227
|
kts: (i = (p = A == null ? void 0 : A.weather) == null ? void 0 : p.wind) == null ? void 0 : i.gusts
|
|
6228
6228
|
},
|
|
6229
6229
|
precip: (c = A == null ? void 0 : A.weather) == null ? void 0 : c.precip,
|
|
6230
|
-
code: (
|
|
6230
|
+
code: (l = A == null ? void 0 : A.weather) == null ? void 0 : l.code,
|
|
6231
6231
|
name: (r = A == null ? void 0 : A.weather) == null ? void 0 : r.name,
|
|
6232
|
-
url: (
|
|
6232
|
+
url: (s = A == null ? void 0 : A.weather) == null ? void 0 : s.url,
|
|
6233
6233
|
wave: A == null ? void 0 : A.wave,
|
|
6234
6234
|
current: A == null ? void 0 : A.current,
|
|
6235
6235
|
sst: A == null ? void 0 : A.sst,
|
|
@@ -6239,8 +6239,8 @@ class LA {
|
|
|
6239
6239
|
};
|
|
6240
6240
|
}
|
|
6241
6241
|
static pickDaily(A, e) {
|
|
6242
|
-
var z, t, a, p, i, c,
|
|
6243
|
-
const g0 = typeof e == "string" ?
|
|
6242
|
+
var z, t, a, p, i, c, l, r, s, m, h, x, D, Q, L, V, W, X, I, v, f, U, S, $, J, _, n0, p0, z0, c0, u0, h0, m0, M0, Z, d0, I0, R0, B0, f0, o0, s0, V0, R;
|
|
6243
|
+
const g0 = typeof e == "string" ? a0(e) : e, W0 = A == null ? void 0 : A.weather, b = A == null ? void 0 : A.marine, d = a0((a = (t = (z = W0 == null ? void 0 : W0[0]) == null ? void 0 : z.daily) == null ? void 0 : t.time) == null ? void 0 : a.at(0)), u = a0((c = (i = (p = W0 == null ? void 0 : W0[0]) == null ? void 0 : p.daily) == null ? void 0 : i.time) == null ? void 0 : c.at(-1)), C = [];
|
|
6244
6244
|
if (g0.isBetween(d, u, "millisecond", "[]")) {
|
|
6245
6245
|
let Y, F;
|
|
6246
6246
|
const N = g0.diff(d, "d", !1);
|
|
@@ -6248,10 +6248,10 @@ class LA {
|
|
|
6248
6248
|
for (const A0 of W0) {
|
|
6249
6249
|
const T = A0.daily;
|
|
6250
6250
|
Y = {
|
|
6251
|
-
code: (
|
|
6251
|
+
code: (l = T.weather_code) == null ? void 0 : l.at(N),
|
|
6252
6252
|
temp: {
|
|
6253
6253
|
max: (r = T.temperature_2m_max) == null ? void 0 : r.at(N),
|
|
6254
|
-
min: (
|
|
6254
|
+
min: (s = T.temperature_2m_min) == null ? void 0 : s.at(N),
|
|
6255
6255
|
mean: (m = T.temperature_2m_mean) == null ? void 0 : m.at(N)
|
|
6256
6256
|
},
|
|
6257
6257
|
apparentTemp: {
|
|
@@ -6294,13 +6294,13 @@ class LA {
|
|
|
6294
6294
|
wave: {
|
|
6295
6295
|
sig: {
|
|
6296
6296
|
height: (p0 = q0.wave_height_max) == null ? void 0 : p0.at(N),
|
|
6297
|
-
degree: (
|
|
6297
|
+
degree: (z0 = q0.wave_direction_dominant) == null ? void 0 : z0.at(N),
|
|
6298
6298
|
period: (c0 = q0.wave_period_max) == null ? void 0 : c0.at(N),
|
|
6299
6299
|
bearing: ((u0 = q0.wave_direction_dominant) == null ? void 0 : u0.at(N)) !== null ? (((h0 = q0.wave_direction_dominant) == null ? void 0 : h0.at(N)) + 180) % 360 : null
|
|
6300
6300
|
},
|
|
6301
6301
|
swell: {
|
|
6302
6302
|
height: (m0 = q0.swell_wave_height_max) == null ? void 0 : m0.at(N),
|
|
6303
|
-
degree: (
|
|
6303
|
+
degree: (M0 = q0.swell_wave_direction_dominant) == null ? void 0 : M0.at(N),
|
|
6304
6304
|
period: (Z = q0.swell_wave_period_max) == null ? void 0 : Z.at(N),
|
|
6305
6305
|
peakPeriod: (d0 = q0.swell_wave_peak_period_max) == null ? void 0 : d0.at(N),
|
|
6306
6306
|
// bearing: daily.swell_wave_direction_dominant?.at(day) !== null ? (daily.swell_wave_direction_dominant?.at(day) + 180) % 360 : null,
|
|
@@ -6310,7 +6310,7 @@ class LA {
|
|
|
6310
6310
|
height: (B0 = q0.wind_wave_height_max) == null ? void 0 : B0.at(N),
|
|
6311
6311
|
degree: (f0 = q0.wind_wave_direction_dominant) == null ? void 0 : f0.at(N),
|
|
6312
6312
|
period: (o0 = q0.wind_wave_period_max) == null ? void 0 : o0.at(N),
|
|
6313
|
-
peakPeriod: (
|
|
6313
|
+
peakPeriod: (s0 = q0.wind_wave_peak_period_max) == null ? void 0 : s0.at(N),
|
|
6314
6314
|
bearing: ((V0 = q0.wind_wave_direction_dominant) == null ? void 0 : V0.at(N)) !== null ? (((R = q0.wind_wave_direction_dominant) == null ? void 0 : R.at(N)) + 180) % 360 : null
|
|
6315
6315
|
}
|
|
6316
6316
|
}
|
|
@@ -6754,7 +6754,7 @@ const Zo = {
|
|
|
6754
6754
|
forecastModel: {
|
|
6755
6755
|
type: String
|
|
6756
6756
|
},
|
|
6757
|
-
|
|
6757
|
+
realTime: {
|
|
6758
6758
|
type: String
|
|
6759
6759
|
}
|
|
6760
6760
|
},
|
|
@@ -6793,7 +6793,7 @@ const Zo = {
|
|
|
6793
6793
|
computeTime() {
|
|
6794
6794
|
return function(o) {
|
|
6795
6795
|
if (o) {
|
|
6796
|
-
const A =
|
|
6796
|
+
const A = a0(o).utcOffset(this.timeZone), e = this.timeZone < 0 ? this.timeZone : "+" + this.timeZone;
|
|
6797
6797
|
return `${A.format("MMM-DD/HHmm")} [ UTC${e} ] ( ${A == null ? void 0 : A.fromNow()} )`;
|
|
6798
6798
|
}
|
|
6799
6799
|
return "-";
|
|
@@ -6858,24 +6858,24 @@ const Zo = {
|
|
|
6858
6858
|
const o = (/* @__PURE__ */ new Date()).valueOf();
|
|
6859
6859
|
let A = 0, e = 0, z = (t = M1.WEATHER_LAYERS.find((i) => i.key === "tropicals")) == null ? void 0 : t.weight;
|
|
6860
6860
|
if (z > 0) {
|
|
6861
|
-
const i = this.assistGateway[Math.round(Math.random() * (this.assistGateway.length - 1))], c = await N0.get(`${i}/api/arc/weather/layers2/links?l=${z}&v=${this.forecastModel}&t=${this.
|
|
6861
|
+
const i = this.assistGateway[Math.round(Math.random() * (this.assistGateway.length - 1))], c = await N0.get(`${i}/api/arc/weather/layers2/links?l=${z}&v=${this.forecastModel}&t=${this.realTime}`, {
|
|
6862
6862
|
headers: {
|
|
6863
6863
|
Authorization: this.token || this.defaultMeteoToken
|
|
6864
6864
|
}
|
|
6865
6865
|
});
|
|
6866
6866
|
if (e = (/* @__PURE__ */ new Date()).valueOf() - (o + A), console.log("weather links elapsed: ", e, ", total: ", A += e), ((a = c == null ? void 0 : c.data) == null ? void 0 : a.code) === 0) {
|
|
6867
|
-
const
|
|
6868
|
-
await N0.get(
|
|
6867
|
+
const l = (p = c == null ? void 0 : c.data) == null ? void 0 : p.data;
|
|
6868
|
+
await N0.get(l.tropicals, {
|
|
6869
6869
|
headers: {
|
|
6870
6870
|
Authorization: this.token || this.defaultMeteoToken,
|
|
6871
6871
|
key: "tropicals"
|
|
6872
6872
|
},
|
|
6873
|
-
responseType: /\.(jpg|png)$/.test(
|
|
6873
|
+
responseType: /\.(jpg|png)$/.test(l.tropicals) ? "blob" : "json"
|
|
6874
6874
|
}).then((r) => {
|
|
6875
6875
|
var h, x, D;
|
|
6876
|
-
const
|
|
6877
|
-
((D = (x = r == null ? void 0 : r.config) == null ? void 0 : x.headers) == null ? void 0 : D.key) &&
|
|
6878
|
-
data:
|
|
6876
|
+
const s = QA.convert2Geojson(((h = r == null ? void 0 : r.data) == null ? void 0 : h.data) || (r == null ? void 0 : r.data));
|
|
6877
|
+
((D = (x = r == null ? void 0 : r.config) == null ? void 0 : x.headers) == null ? void 0 : D.key) && s && (this.tropicals = {
|
|
6878
|
+
data: s,
|
|
6879
6879
|
active: !0,
|
|
6880
6880
|
cached: !0,
|
|
6881
6881
|
type: "json",
|
|
@@ -6893,7 +6893,7 @@ const Zo = {
|
|
|
6893
6893
|
var A, e;
|
|
6894
6894
|
(((e = (A = this.tropicals) == null ? void 0 : A.data) == null ? void 0 : e.features) || []).forEach((z) => {
|
|
6895
6895
|
var t, a;
|
|
6896
|
-
((t = z.geometry) == null ? void 0 : t.type) === "Point" && ((a = z.properties) != null && a.important) && (z.properties.format =
|
|
6896
|
+
((t = z.geometry) == null ? void 0 : t.type) === "Point" && ((a = z.properties) != null && a.important) && (z.properties.format = a0(z.properties.date).utcOffset(this.timeZone).format(`MMM-DD/HHmm [(utc${this.computeTimezone})]`));
|
|
6897
6897
|
}), this.handleInit();
|
|
6898
6898
|
},
|
|
6899
6899
|
handleInit() {
|
|
@@ -6914,16 +6914,16 @@ const Zo = {
|
|
|
6914
6914
|
));
|
|
6915
6915
|
},
|
|
6916
6916
|
handleRender() {
|
|
6917
|
-
var o, A, e, z, t, a, p, i, c,
|
|
6917
|
+
var o, A, e, z, t, a, p, i, c, l;
|
|
6918
6918
|
if (!this.map)
|
|
6919
6919
|
setTimeout(() => {
|
|
6920
6920
|
this.handleRender();
|
|
6921
6921
|
}, 500);
|
|
6922
6922
|
else {
|
|
6923
6923
|
if (this.tropicals) {
|
|
6924
|
-
const
|
|
6924
|
+
const s = (/* @__PURE__ */ new Date()).valueOf();
|
|
6925
6925
|
let m = 0, h = 0;
|
|
6926
|
-
(o = this.map) != null && o.getSource(this.source) ? ((e = this.map) == null || e.getSource(this.source).setData((A = this.tropicals) != null && A.active ? this.tropicals.data : this.empty), h = (/* @__PURE__ */ new Date()).valueOf() - (
|
|
6926
|
+
(o = this.map) != null && o.getSource(this.source) ? ((e = this.map) == null || e.getSource(this.source).setData((A = this.tropicals) != null && A.active ? this.tropicals.data : this.empty), h = (/* @__PURE__ */ new Date()).valueOf() - (s + m), console.log("[tropicals] update elapsed: ", h, ", total: ", m += h)) : (this.map.addSource(this.source, {
|
|
6927
6927
|
type: "geojson",
|
|
6928
6928
|
data: (z = this.tropicals) != null && z.active ? (t = this.tropicals) == null ? void 0 : t.data : this.empty
|
|
6929
6929
|
}), this.map.addLayer({
|
|
@@ -7020,9 +7020,9 @@ const Zo = {
|
|
|
7020
7020
|
],
|
|
7021
7021
|
"text-halo-width": 4
|
|
7022
7022
|
}
|
|
7023
|
-
}), h = (/* @__PURE__ */ new Date()).valueOf() - (
|
|
7023
|
+
}), h = (/* @__PURE__ */ new Date()).valueOf() - (s + m), console.log("[tropical] add elapsed: ", h, ", total: ", m += h)), (a = this.map) != null && a.getSource(this.clusterSource) ? ((i = this.map) == null || i.getSource(this.clusterSource).setData((p = this.tropicals) != null && p.active ? this.tropicals.data : this.empty), h = (/* @__PURE__ */ new Date()).valueOf() - (s + m), console.log("[tropical] update elapsed: ", h, ", total: ", m += h)) : (this.map.addSource(this.clusterSource, {
|
|
7024
7024
|
type: "geojson",
|
|
7025
|
-
data: (c = this.tropicals) != null && c.active ? (
|
|
7025
|
+
data: (c = this.tropicals) != null && c.active ? (l = this.tropicals) == null ? void 0 : l.data : this.empty
|
|
7026
7026
|
// cluster: true,
|
|
7027
7027
|
// clusterRadius: 10, // 聚合半径
|
|
7028
7028
|
}), this.map.addLayer({
|
|
@@ -7137,7 +7137,7 @@ const Zo = {
|
|
|
7137
7137
|
"text-halo-color": "#0033ff",
|
|
7138
7138
|
"text-halo-width": 4
|
|
7139
7139
|
}
|
|
7140
|
-
}), h = (/* @__PURE__ */ new Date()).valueOf() - (
|
|
7140
|
+
}), h = (/* @__PURE__ */ new Date()).valueOf() - (s + m), console.log("[tropical] add elapsed: ", h, ", total: ", m += h));
|
|
7141
7141
|
}
|
|
7142
7142
|
this.handleDrawCircle();
|
|
7143
7143
|
const r = QA.interpolate(this.tropicals, 1);
|
|
@@ -7162,11 +7162,11 @@ const Zo = {
|
|
|
7162
7162
|
);
|
|
7163
7163
|
},
|
|
7164
7164
|
handleDateChange() {
|
|
7165
|
-
var o, A, e, z, t, a, p, i, c,
|
|
7165
|
+
var o, A, e, z, t, a, p, i, c, l, r, s, m, h, x, D, Q, L, V, W, X, I, v, f, U, S, $, J, _, n0, p0, z0;
|
|
7166
7166
|
if ((o = this.interpolateMarkers) == null || o.forEach((c0) => c0 == null ? void 0 : c0.remove()), this.circleSourceData.features = [], (A = this.interpolateData) != null && A.length && this.tropicals.active) {
|
|
7167
|
-
const c0 =
|
|
7168
|
-
h0.forEach((
|
|
7169
|
-
m0.features.push(
|
|
7167
|
+
const c0 = a0(this.realTime).utc().set({ minute: 0, second: 0, millisecond: 0 }), u0 = this.interpolateData.filter((M0) => M0.properties.date === c0.format() && !M0.properties.disabled), h0 = this.handleComputePolygons(u0), m0 = j.featureCollection([...u0]);
|
|
7168
|
+
h0.forEach((M0) => {
|
|
7169
|
+
m0.features.push(M0);
|
|
7170
7170
|
}), (e = this.map) != null && e.getSource(this.interpolateSource) ? (z = this.map) == null || z.getSource(this.interpolateSource).setData(m0) : ((t = this.map) == null || t.addSource(this.interpolateSource, {
|
|
7171
7171
|
type: "geojson",
|
|
7172
7172
|
data: m0
|
|
@@ -7181,10 +7181,10 @@ const Zo = {
|
|
|
7181
7181
|
"line-width": 1
|
|
7182
7182
|
}
|
|
7183
7183
|
})), this.interpolateMarkers = [];
|
|
7184
|
-
for (const
|
|
7185
|
-
if (!
|
|
7184
|
+
for (const M0 of u0)
|
|
7185
|
+
if (!M0.properties.disabled) {
|
|
7186
7186
|
let Z = "#f44336";
|
|
7187
|
-
((i = (p =
|
|
7187
|
+
((i = (p = M0.properties) == null ? void 0 : p.wind) == null ? void 0 : i.kts) < 32 || !((l = (c = M0.properties) == null ? void 0 : c.wind) != null && l.kts) ? Z = "#03f869" : ((s = (r = M0.properties) == null ? void 0 : r.wind) == null ? void 0 : s.kts) >= 32 && ((h = (m = M0.properties) == null ? void 0 : m.wind) == null ? void 0 : h.kts) < 47 ? Z = "#f2f202" : ((D = (x = M0.properties) == null ? void 0 : x.wind) == null ? void 0 : D.kts) >= 47 && ((L = (Q = M0.properties) == null ? void 0 : Q.wind) == null ? void 0 : L.kts) < 63 ? Z = "#ff9100" : ((W = (V = M0.properties) == null ? void 0 : V.wind) == null ? void 0 : W.kts) >= 63 && ((I = (X = M0.properties) == null ? void 0 : X.wind) == null ? void 0 : I.kts) < 79 ? Z = "#f44336" : ((f = (v = M0.properties) == null ? void 0 : v.wind) == null ? void 0 : f.kts) >= 79 && ((S = (U = M0.properties) == null ? void 0 : U.wind) == null ? void 0 : S.kts) < 94 ? Z = "#f903d0" : ((J = ($ = M0.properties) == null ? void 0 : $.wind) == null ? void 0 : J.kts) >= 94 ? Z = "#8702f9" : Z = "#f44336";
|
|
7188
7188
|
const d0 = `<svg t="1719918955501"
|
|
7189
7189
|
class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" p-id="18382"
|
|
7190
7190
|
xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200">
|
|
@@ -7200,15 +7200,15 @@ const Zo = {
|
|
|
7200
7200
|
d="M420.66666667 959.17a16.08 16.08 0 0 1-15.91-13.49A15.89 15.89 0 0 1 415.50666667 928c1.49-0.55 38.88-14.76 72.79-65.52A354.55 354.55 0 0 1 162.66666667 509.17a450.14 450.14 0 0 1 450.5-450.5 16.07 16.07 0 0 1 15.91 13.48 15.88 15.88 0 0 1-10.75 17.66c-1.58 0.58-39.13 14.9-73.07 65.95A354.22 354.22 0 0 1 871.66666667 509.17a16 16 0 0 1-0.52 4.05A450.14 450.14 0 0 1 420.66666667 959.17zM554.80666667 94.72C351.57666667 123.2 194.66666667 298.21 194.66666667 509.17c0 177.08 144.06 321.74 321.13 322.48a16 16 0 0 1 14.07 23.49c-16.11 30.42-34.27 52.37-50.85 68C682.25666667 894.63 839.16666667 719.63 839.16666667 508.67a15.94 15.94 0 0 1 0.47-3.86C837.30666667 329.33 693.82666667 187 517.80666667 186.67A16 16 0 0 1 503.66666667 163.21c16.21-30.69 34.47-52.79 51.14-68.49z"
|
|
7201
7201
|
fill="#ffffff" p-id="18386"></path>
|
|
7202
7202
|
</svg>`, I0 = document.createElement("div");
|
|
7203
|
-
I0.className = "idm-tropical-gl4-hourly-marker", I0.innerHTML = `<div class="${
|
|
7204
|
-
const R0 = new D0.Marker(I0).setLngLat(
|
|
7203
|
+
I0.className = "idm-tropical-gl4-hourly-marker", I0.innerHTML = `<div class="${M0.geometry.coordinates[1] >= 0 ? "center north" : "center south"}">${d0}</div>`;
|
|
7204
|
+
const R0 = new D0.Marker(I0).setLngLat(M0.geometry.coordinates).addTo(this.map);
|
|
7205
7205
|
this.interpolateMarkers.push(R0), (n0 = (_ = this.map) == null ? void 0 : _.getSource(this.circleSource)) == null || n0.setData(this.circleSourceData);
|
|
7206
7206
|
}
|
|
7207
7207
|
} else
|
|
7208
|
-
(p0 = this.map) != null && p0.getSource(this.interpolateSource) && ((
|
|
7208
|
+
(p0 = this.map) != null && p0.getSource(this.interpolateSource) && ((z0 = this.map) == null || z0.getSource(this.interpolateSource).setData(this.empty));
|
|
7209
7209
|
},
|
|
7210
7210
|
handleClick(o) {
|
|
7211
|
-
var a, p, i, c,
|
|
7211
|
+
var a, p, i, c, l, r, s, m;
|
|
7212
7212
|
const A = o.features[0], e = (p = (a = this.tropicals) == null ? void 0 : a.data) == null ? void 0 : p.features.filter(
|
|
7213
7213
|
(h) => {
|
|
7214
7214
|
var x;
|
|
@@ -7221,10 +7221,10 @@ const Zo = {
|
|
|
7221
7221
|
}
|
|
7222
7222
|
);
|
|
7223
7223
|
this.activeTropicals = {
|
|
7224
|
-
name: (
|
|
7224
|
+
name: (l = A == null ? void 0 : A.properties) == null ? void 0 : l.name,
|
|
7225
7225
|
forecasts: e.map((h) => h.properties),
|
|
7226
7226
|
history: (r = z[0]) == null ? void 0 : r.properties,
|
|
7227
|
-
showCircle: (m = (
|
|
7227
|
+
showCircle: (m = (s = e[0]) == null ? void 0 : s.properties) == null ? void 0 : m.showCircle
|
|
7228
7228
|
}, this.showTropicalsInfo = !0;
|
|
7229
7229
|
const t = document.getElementById("idm-tropical-gl4-info");
|
|
7230
7230
|
this.activeTropicalsMarker ? this.activeTropicalsMarker.setLngLat([o.lngLat.lng, o.lngLat.lat]) : this.activeTropicalsMarker = new D0.Marker(t).setLngLat([o.lngLat.lng, o.lngLat.lat]).setOffset([220, 0]).addTo(this.map);
|
|
@@ -7233,10 +7233,10 @@ const Zo = {
|
|
|
7233
7233
|
var z, t, a, p, i, c;
|
|
7234
7234
|
o.disabled = !o.disabled;
|
|
7235
7235
|
const A = `${o.name}-${o.model}`, e = (t = (z = this.map) == null ? void 0 : z.getSource(this.source)._data) == null ? void 0 : t.features;
|
|
7236
|
-
e.forEach((
|
|
7237
|
-
|
|
7238
|
-
}), this.interpolateData.forEach((
|
|
7239
|
-
|
|
7236
|
+
e.forEach((l) => {
|
|
7237
|
+
l.properties.category === A && (l.properties.disabled = o.disabled);
|
|
7238
|
+
}), this.interpolateData.forEach((l) => {
|
|
7239
|
+
l.properties.category === A && (l.properties.disabled = o.disabled);
|
|
7240
7240
|
}), (p = (a = this.map) == null ? void 0 : a.getSource(this.source)) == null || p.setData(j.featureCollection(e)), (c = (i = this.map) == null ? void 0 : i.getSource(this.clusterSource)) == null || c.setData(j.featureCollection(e)), this.handleDateChange();
|
|
7241
7241
|
},
|
|
7242
7242
|
handleStrikeProbability(o) {
|
|
@@ -7314,7 +7314,7 @@ const Zo = {
|
|
|
7314
7314
|
}
|
|
7315
7315
|
}, To = { class: "idm-tropical-gl4" }, Go = { key: 0 }, Fo = { class: "text-body-2 opacity-50" }, ko = { class: "pa-1 d-flex justify-space-between align-center" }, Po = { class: "col col-left justify-start" }, Ko = { class: "col col-right justify-start" }, jo = { class: "px-1 py-2 d-flex justify-space-between align-center" }, So = { class: "d-flex justify-space-between align-center col-left justify-start" }, Ho = { class: "d-flex justify-space-between align-center col-right" }, Jo = { class: "pa-1 d-flex justify-space-between align-center" }, _o = { class: "d-flex justify-space-between align-center flex-1-1-100" }, $o = { class: "d-flex justify-end align-center flex-1-1-0 flex-wrap" }, At = ["onClick"];
|
|
7316
7316
|
function et(o, A, e, z, t, a) {
|
|
7317
|
-
const p = B("v-btn"), i = B("v-tooltip"), c = B("v-card-title"),
|
|
7317
|
+
const p = B("v-btn"), i = B("v-tooltip"), c = B("v-card-title"), l = B("v-card-subtitle"), r = B("v-card-item"), s = B("v-card-text"), m = B("v-card");
|
|
7318
7318
|
return n(), q("div", To, [
|
|
7319
7319
|
M("div", {
|
|
7320
7320
|
class: "menu-bar-box transition pa-1",
|
|
@@ -7335,7 +7335,7 @@ function et(o, A, e, z, t, a) {
|
|
|
7335
7335
|
onClick: a.handleMenuToggle
|
|
7336
7336
|
}), {
|
|
7337
7337
|
default: E(() => A[1] || (A[1] = [
|
|
7338
|
-
M("i", { class: "iconfont icon-a-Tropicalcyclone text-h5 font-weight-bold" }, null, -1)
|
|
7338
|
+
M("i", { class: "iconfont icon-a-Tropicalcyclone text-h5 font-weight-bold opacity-80" }, null, -1)
|
|
7339
7339
|
])),
|
|
7340
7340
|
_: 2,
|
|
7341
7341
|
__: [1]
|
|
@@ -7375,7 +7375,7 @@ function et(o, A, e, z, t, a) {
|
|
|
7375
7375
|
}),
|
|
7376
7376
|
_: 1
|
|
7377
7377
|
}),
|
|
7378
|
-
g(
|
|
7378
|
+
g(l, null, {
|
|
7379
7379
|
default: E(() => {
|
|
7380
7380
|
var h, x, D, Q, L;
|
|
7381
7381
|
return [
|
|
@@ -7387,7 +7387,7 @@ function et(o, A, e, z, t, a) {
|
|
|
7387
7387
|
]),
|
|
7388
7388
|
_: 1
|
|
7389
7389
|
}),
|
|
7390
|
-
g(
|
|
7390
|
+
g(s, { class: "main-box" }, {
|
|
7391
7391
|
default: E(() => {
|
|
7392
7392
|
var h, x, D, Q, L, V, W, X, I;
|
|
7393
7393
|
return [
|
|
@@ -7416,7 +7416,7 @@ function et(o, A, e, z, t, a) {
|
|
|
7416
7416
|
M("div", _o, [
|
|
7417
7417
|
A[6] || (A[6] = M("label", { style: { width: "max-content" } }, "Forecast Models : ", -1)),
|
|
7418
7418
|
M("div", $o, [
|
|
7419
|
-
(n(!0), q(i0, null,
|
|
7419
|
+
(n(!0), q(i0, null, l0((I = t.activeTropicals) == null ? void 0 : I.forecasts, (v, f) => {
|
|
7420
7420
|
var U, S, $, J;
|
|
7421
7421
|
return n(), q("div", {
|
|
7422
7422
|
key: f,
|
|
@@ -7500,13 +7500,13 @@ var YA = { exports: {} }, NA = { exports: {} };
|
|
|
7500
7500
|
//! license : MIT
|
|
7501
7501
|
//! github.com/moment/moment-timezone
|
|
7502
7502
|
(function(A, e) {
|
|
7503
|
-
o.exports ? o.exports = e(
|
|
7503
|
+
o.exports ? o.exports = e(a0) : e(A.moment);
|
|
7504
7504
|
})(ot, function(A) {
|
|
7505
7505
|
A.version === void 0 && A.default && (A = A.default);
|
|
7506
7506
|
var e = "0.5.48", z = {}, t = {}, a = {}, p = {}, i = {}, c;
|
|
7507
7507
|
(!A || typeof A.version != "string") && f0("Moment Timezone requires Moment.js. See https://momentjs.com/timezone/docs/#/use-it/browser/");
|
|
7508
|
-
var
|
|
7509
|
-
(r < 2 || r === 2 &&
|
|
7508
|
+
var l = A.version.split("."), r = +l[0], s = +l[1];
|
|
7509
|
+
(r < 2 || r === 2 && s < 6) && f0("Moment Timezone requires Moment.js >= 2.6.0. You are using Moment.js " + A.version + ". See momentjs.com");
|
|
7510
7510
|
function m(b) {
|
|
7511
7511
|
return b > 96 ? b - 87 : b > 64 ? b - 29 : b - 48;
|
|
7512
7512
|
}
|
|
@@ -7662,7 +7662,7 @@ var YA = { exports: {} }, NA = { exports: {} };
|
|
|
7662
7662
|
function p0(b) {
|
|
7663
7663
|
return (b || "").toLowerCase().replace(/\//g, "_");
|
|
7664
7664
|
}
|
|
7665
|
-
function
|
|
7665
|
+
function z0(b) {
|
|
7666
7666
|
var d, u, C, Y;
|
|
7667
7667
|
for (typeof b == "string" && (b = [b]), d = 0; d < b.length; d++)
|
|
7668
7668
|
C = b[d].split("|"), u = C[0], Y = p0(u), z[Y] = b[d], p[Y] = u, $(Y, C[2].split(" "));
|
|
@@ -7686,7 +7686,7 @@ var YA = { exports: {} }, NA = { exports: {} };
|
|
|
7686
7686
|
for (typeof b == "string" && (b = [b]), d = 0; d < b.length; d++)
|
|
7687
7687
|
u = b[d].split("|"), C = p0(u[0]), Y = p0(u[1]), t[C] = Y, p[C] = u[0], t[Y] = C, p[Y] = u[1];
|
|
7688
7688
|
}
|
|
7689
|
-
function
|
|
7689
|
+
function M0(b) {
|
|
7690
7690
|
var d, u, C, Y;
|
|
7691
7691
|
if (!(!b || !b.length))
|
|
7692
7692
|
for (d = 0; d < b.length; d++)
|
|
@@ -7711,7 +7711,7 @@ var YA = { exports: {} }, NA = { exports: {} };
|
|
|
7711
7711
|
}) : u;
|
|
7712
7712
|
}
|
|
7713
7713
|
function I0(b) {
|
|
7714
|
-
|
|
7714
|
+
z0(b.zones), m0(b.links), M0(b.countries), o0.dataVersion = b.version;
|
|
7715
7715
|
}
|
|
7716
7716
|
function R0(b) {
|
|
7717
7717
|
return R0.didShowError || (R0.didShowError = !0, f0("moment.tz.zoneExists('" + b + "') has been deprecated in favor of !moment.tz.zone('" + b + "')")), !!c0(b);
|
|
@@ -7727,8 +7727,8 @@ var YA = { exports: {} }, NA = { exports: {} };
|
|
|
7727
7727
|
var d = Array.prototype.slice.call(arguments, 0, -1), u = arguments[arguments.length - 1], C = A.utc.apply(null, d), Y;
|
|
7728
7728
|
return !A.isMoment(b) && B0(C) && (Y = c0(u)) && C.add(Y.parse(C), "minutes"), C.tz(u), C;
|
|
7729
7729
|
}
|
|
7730
|
-
o0.version = e, o0.dataVersion = "", o0._zones = z, o0._links = t, o0._names = p, o0._countries = a, o0.add =
|
|
7731
|
-
var
|
|
7730
|
+
o0.version = e, o0.dataVersion = "", o0._zones = z, o0._links = t, o0._names = p, o0._countries = a, o0.add = z0, o0.link = m0, o0.load = I0, o0.zone = c0, o0.zoneExists = R0, o0.guess = n0, o0.names = u0, o0.Zone = V, o0.unpack = L, o0.unpackBase60 = h, o0.needsOffset = B0, o0.moveInvalidForward = !0, o0.moveAmbiguousForward = !1, o0.countries = h0, o0.zonesForCountry = d0;
|
|
7731
|
+
var s0 = A.fn;
|
|
7732
7732
|
A.tz = o0, A.defaultZone = null, A.updateOffset = function(b, d) {
|
|
7733
7733
|
var u = A.defaultZone, C;
|
|
7734
7734
|
if (b._z === void 0 && (u && B0(b) && !b._isUTC && b.isValid() && (b._d = A.utc(b._a)._d, b.utc().add(u.parse(b), "minutes")), b._z = u), b._z)
|
|
@@ -7737,7 +7737,7 @@ var YA = { exports: {} }, NA = { exports: {} };
|
|
|
7737
7737
|
b.utcOffset(-C, d), b._z = Y;
|
|
7738
7738
|
} else
|
|
7739
7739
|
b.zone(C, d);
|
|
7740
|
-
},
|
|
7740
|
+
}, s0.tz = function(b, d) {
|
|
7741
7741
|
if (b) {
|
|
7742
7742
|
if (typeof b != "string")
|
|
7743
7743
|
throw new Error("Time zone name must be a string, got " + b + " [" + typeof b + "]");
|
|
@@ -7761,8 +7761,8 @@ var YA = { exports: {} }, NA = { exports: {} };
|
|
|
7761
7761
|
return arguments.length > 0 && (this._z = null), b.apply(this, arguments);
|
|
7762
7762
|
};
|
|
7763
7763
|
}
|
|
7764
|
-
|
|
7765
|
-
return (r < 2 || r === 2 &&
|
|
7764
|
+
s0.zoneName = V0(s0.zoneName), s0.zoneAbbr = V0(s0.zoneAbbr), s0.utc = R(s0.utc), s0.local = R(s0.local), s0.utcOffset = g0(s0.utcOffset), A.tz.setDefault = function(b) {
|
|
7765
|
+
return (r < 2 || r === 2 && s < 9) && f0("Moment Timezone setDefault() requires Moment.js >= 2.9.0. You are using Moment.js " + A.version + "."), A.defaultZone = b ? c0(b) : null, A;
|
|
7766
7766
|
};
|
|
7767
7767
|
var W0 = A.momentProperties;
|
|
7768
7768
|
return Object.prototype.toString.call(W0) === "[object Array]" ? (W0.push("_z"), W0.push("_a")) : W0 && (W0._z = null), A;
|
|
@@ -8626,7 +8626,7 @@ var ct = YA.exports = zt;
|
|
|
8626
8626
|
ct.tz.load(bt);
|
|
8627
8627
|
var rt = YA.exports;
|
|
8628
8628
|
const z1 = /* @__PURE__ */ tt(rt), nt = "data:image/gif;base64,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";
|
|
8629
|
-
const
|
|
8629
|
+
const lt = {
|
|
8630
8630
|
name: "IdmPoint",
|
|
8631
8631
|
props: {
|
|
8632
8632
|
token: {
|
|
@@ -8643,9 +8643,6 @@ const st = {
|
|
|
8643
8643
|
type: Object,
|
|
8644
8644
|
default: {}
|
|
8645
8645
|
},
|
|
8646
|
-
ts: {
|
|
8647
|
-
type: String
|
|
8648
|
-
},
|
|
8649
8646
|
gateway: {
|
|
8650
8647
|
type: String
|
|
8651
8648
|
},
|
|
@@ -8654,6 +8651,9 @@ const st = {
|
|
|
8654
8651
|
},
|
|
8655
8652
|
forecastModel: {
|
|
8656
8653
|
type: String
|
|
8654
|
+
},
|
|
8655
|
+
realTime: {
|
|
8656
|
+
type: String
|
|
8657
8657
|
}
|
|
8658
8658
|
},
|
|
8659
8659
|
emits: ["meteoMore"],
|
|
@@ -8727,38 +8727,38 @@ const st = {
|
|
|
8727
8727
|
forecastModel: {
|
|
8728
8728
|
async handler() {
|
|
8729
8729
|
var o;
|
|
8730
|
-
if (this.showMeteo && this.
|
|
8730
|
+
if (this.showMeteo && this.realTime) {
|
|
8731
8731
|
this.handleRender();
|
|
8732
|
-
const A =
|
|
8733
|
-
((o =
|
|
8732
|
+
const A = a0();
|
|
8733
|
+
((o = a0(this.realTime)) == null ? void 0 : o.diff(A, "d", !0)) >= 0 ? await this.fetchMeteoData(this.point, this.realTime, 7) : await this.fetchHistoryData(this.point, this.realTime), this.initTableData(this.meteoData);
|
|
8734
8734
|
}
|
|
8735
8735
|
}
|
|
8736
8736
|
},
|
|
8737
8737
|
point: {
|
|
8738
8738
|
async handler() {
|
|
8739
8739
|
var o;
|
|
8740
|
-
if (this.showMeteo = !0, this.tideData = {}, this.meteoData = {}, this.showMeteo && this.
|
|
8740
|
+
if (this.showMeteo = !0, this.tideData = {}, this.meteoData = {}, this.showMeteo && this.realTime) {
|
|
8741
8741
|
this.handleRender();
|
|
8742
|
-
const A =
|
|
8743
|
-
if (((o =
|
|
8744
|
-
const z = p1.pickDailyExtremes(this.tideData, this.
|
|
8745
|
-
(z == null ? void 0 : z.length) > 0 ? this.tideTableData = z : await this.fetchTidesData(this.point, this.
|
|
8742
|
+
const A = a0();
|
|
8743
|
+
if (((o = a0(this.realTime)) == null ? void 0 : o.diff(A, "d", !0)) >= 0 ? await this.fetchMeteoData(this.point, this.realTime, 7) : await this.fetchHistoryData(this.point, this.realTime), this.initTableData(this.meteoData), this.activeIndex === 4) {
|
|
8744
|
+
const z = p1.pickDailyExtremes(this.tideData, this.realTime);
|
|
8745
|
+
(z == null ? void 0 : z.length) > 0 ? this.tideTableData = z : await this.fetchTidesData(this.point, this.realTime, 7);
|
|
8746
8746
|
}
|
|
8747
8747
|
}
|
|
8748
8748
|
}
|
|
8749
8749
|
},
|
|
8750
|
-
|
|
8750
|
+
realTime: {
|
|
8751
8751
|
async handler() {
|
|
8752
8752
|
var o;
|
|
8753
|
-
if (this.showMeteo && this.
|
|
8754
|
-
const A =
|
|
8753
|
+
if (this.showMeteo && this.realTime) {
|
|
8754
|
+
const A = a0(), e = (o = a0(this.realTime)) == null ? void 0 : o.diff(A, "d", !0), t = [0, 1, 2, 3, 4, 5, 6, 7].every((a) => {
|
|
8755
8755
|
var i;
|
|
8756
|
-
const p = z1(this.
|
|
8756
|
+
const p = z1(this.realTime).tz(this.positionGmt).add(3 * a, "h").format();
|
|
8757
8757
|
return (i = e1.pickHourly(this.meteoData, p)) == null ? void 0 : i[0];
|
|
8758
8758
|
});
|
|
8759
|
-
if (this.meteoData && t ? this.initTableData(this.meteoData) : (this.loading || (e >= 0 ? await this.fetchMeteoData(this.point, this.
|
|
8760
|
-
const a = p1.pickDailyExtremes(this.tideData, this.
|
|
8761
|
-
(a == null ? void 0 : a.length) > 0 ? this.tideTableData = a : await this.fetchTidesData(this.point, this.
|
|
8759
|
+
if (this.meteoData && t ? this.initTableData(this.meteoData) : (this.loading || (e >= 0 ? await this.fetchMeteoData(this.point, this.realTime, 7) : await this.fetchHistoryData(this.point, this.realTime)), this.initTableData(this.meteoData)), this.activeIndex === 4) {
|
|
8760
|
+
const a = p1.pickDailyExtremes(this.tideData, this.realTime);
|
|
8761
|
+
(a == null ? void 0 : a.length) > 0 ? this.tideTableData = a : await this.fetchTidesData(this.point, this.realTime, 7);
|
|
8762
8762
|
}
|
|
8763
8763
|
}
|
|
8764
8764
|
}
|
|
@@ -8772,7 +8772,7 @@ const st = {
|
|
|
8772
8772
|
},
|
|
8773
8773
|
computeHourZ() {
|
|
8774
8774
|
return function(o) {
|
|
8775
|
-
return o ? `${
|
|
8775
|
+
return o ? `${a0(o).utc().format("HH")}Z` : "-";
|
|
8776
8776
|
};
|
|
8777
8777
|
},
|
|
8778
8778
|
computeHourHmmLT() {
|
|
@@ -8802,7 +8802,7 @@ const st = {
|
|
|
8802
8802
|
},
|
|
8803
8803
|
async fetchMeteoData(o, A, e) {
|
|
8804
8804
|
this.loading = !0, this.meteoData = [];
|
|
8805
|
-
let z = A ?
|
|
8805
|
+
let z = A ? a0(A).utc().format() : a0().utc().format();
|
|
8806
8806
|
const { weatherModels: t, marineModels: a } = e1.autoPickMeteoModel(this.forecastModel);
|
|
8807
8807
|
let p = {
|
|
8808
8808
|
lat: o.lat,
|
|
@@ -8820,7 +8820,7 @@ const st = {
|
|
|
8820
8820
|
},
|
|
8821
8821
|
async fetchHistoryData(o, A) {
|
|
8822
8822
|
this.loading = !0, this.meteoData = [];
|
|
8823
|
-
const e = A ?
|
|
8823
|
+
const e = A ? a0(A).utc().format() : a0().utc().format(), { weatherModels: z, marineModels: t } = e1.autoPickMeteoModel(this.forecastModel), a = {
|
|
8824
8824
|
lat: o.lat,
|
|
8825
8825
|
lng: o.lng,
|
|
8826
8826
|
datetime: e,
|
|
@@ -8836,18 +8836,18 @@ const st = {
|
|
|
8836
8836
|
(p == null ? void 0 : p.data.code) === 0 && (this.meteoData = p == null ? void 0 : p.data.data, this.loading = !1);
|
|
8837
8837
|
},
|
|
8838
8838
|
initTableData(o) {
|
|
8839
|
-
var A, e, z, t, a, p, i, c,
|
|
8840
|
-
this.clearTable(), this.positionGmt = (e = (A = o == null ? void 0 : o.weather) == null ? void 0 : A[0]) == null ? void 0 : e.timezone, this.positionOffset = (t = (z = o == null ? void 0 : o.weather) == null ? void 0 : z[0]) == null ? void 0 : t.offset, this.localDate = (p = (a = z1(this.
|
|
8841
|
-
var
|
|
8839
|
+
var A, e, z, t, a, p, i, c, l;
|
|
8840
|
+
this.clearTable(), this.positionGmt = (e = (A = o == null ? void 0 : o.weather) == null ? void 0 : A[0]) == null ? void 0 : e.timezone, this.positionOffset = (t = (z = o == null ? void 0 : o.weather) == null ? void 0 : z[0]) == null ? void 0 : t.offset, this.localDate = (p = (a = z1(this.realTime)) == null ? void 0 : a.tz(this.positionGmt)) == null ? void 0 : p.format("MMM-DD/HHmm[LT]"), this.currentHourData = (i = e1.pickHourly(o, a0(this.realTime))) == null ? void 0 : i[0], ((l = (c = this.currentHourData) == null ? void 0 : c.weather) == null ? void 0 : l.isDay) === 0 ? this.isDay = !1 : this.isDay = !0, this.$nextTick(() => {
|
|
8841
|
+
var s, m, h, x, D, Q, L, V, W, X, I, v, f, U, S, $, J, _, n0, p0, z0, c0, u0, h0, m0, M0, Z, d0, I0, R0, B0, f0, o0;
|
|
8842
8842
|
if (!document.getElementById("meteoMainBox"))
|
|
8843
8843
|
return !1;
|
|
8844
8844
|
if (!this.currentHourData)
|
|
8845
8845
|
return this.loading = !1, this.tableData.hours = [void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0], this.handleRender(), !1;
|
|
8846
|
-
for (let
|
|
8847
|
-
const V0 = z1(this.
|
|
8846
|
+
for (let s0 = 0; s0 < 8; s0++) {
|
|
8847
|
+
const V0 = z1(this.realTime).tz(this.positionGmt).add(3 * s0, "h").format();
|
|
8848
8848
|
this.tableData.hours.push(V0);
|
|
8849
|
-
const R = ((
|
|
8850
|
-
this.tableData.temp.push(this.roundPrecision((m = R == null ? void 0 : R.weather) == null ? void 0 : m.temp, 0) ?? "-"), this.tableData.precipProbability.push(this.roundPrecision((x = (h = R == null ? void 0 : R.weather) == null ? void 0 : h.precip) == null ? void 0 : x.probability, 0) ?? "-"), this.tableData.precip1h.push(this.roundPrecision((Q = (D = R == null ? void 0 : R.weather) == null ? void 0 : D.precip) == null ? void 0 : Q.sum, 0) ?? "-"), this.tableData.visibility.push(this.roundPrecision((L = R == null ? void 0 : R.weather) == null ? void 0 : L.visibility, 0) ?? "-"), this.tableData.windSpeed.push(this.roundPrecision((W = (V = R == null ? void 0 : R.weather) == null ? void 0 : V.wind) == null ? void 0 : W.kts, 1) ?? "-"), this.tableData.windDir.push((I = (X = R == null ? void 0 : R.weather) == null ? void 0 : X.wind) == null ? void 0 : I.bearing), this.tableData.windGust.push(this.roundPrecision((f = (v = R == null ? void 0 : R.weather) == null ? void 0 : v.wind) == null ? void 0 : f.gusts, 1) ?? "-"), this.tableData.sigwaveHeight.push(this.roundPrecision((S = (U = R == null ? void 0 : R.wave) == null ? void 0 : U.sig) == null ? void 0 : S.height, 1) ?? "-"), this.tableData.sigwaveDir.push((J = ($ = R == null ? void 0 : R.wave) == null ? void 0 : $.sig) == null ? void 0 : J.bearing), this.tableData.windwaveHeight.push(this.roundPrecision((n0 = (_ = R == null ? void 0 : R.wave) == null ? void 0 : _.wd) == null ? void 0 : n0.height, 1) ?? "-"), this.tableData.windwaveDir.push((
|
|
8849
|
+
const R = ((s = e1.pickHourly(o, V0)) == null ? void 0 : s[0]) || {};
|
|
8850
|
+
this.tableData.temp.push(this.roundPrecision((m = R == null ? void 0 : R.weather) == null ? void 0 : m.temp, 0) ?? "-"), this.tableData.precipProbability.push(this.roundPrecision((x = (h = R == null ? void 0 : R.weather) == null ? void 0 : h.precip) == null ? void 0 : x.probability, 0) ?? "-"), this.tableData.precip1h.push(this.roundPrecision((Q = (D = R == null ? void 0 : R.weather) == null ? void 0 : D.precip) == null ? void 0 : Q.sum, 0) ?? "-"), this.tableData.visibility.push(this.roundPrecision((L = R == null ? void 0 : R.weather) == null ? void 0 : L.visibility, 0) ?? "-"), this.tableData.windSpeed.push(this.roundPrecision((W = (V = R == null ? void 0 : R.weather) == null ? void 0 : V.wind) == null ? void 0 : W.kts, 1) ?? "-"), this.tableData.windDir.push((I = (X = R == null ? void 0 : R.weather) == null ? void 0 : X.wind) == null ? void 0 : I.bearing), this.tableData.windGust.push(this.roundPrecision((f = (v = R == null ? void 0 : R.weather) == null ? void 0 : v.wind) == null ? void 0 : f.gusts, 1) ?? "-"), this.tableData.sigwaveHeight.push(this.roundPrecision((S = (U = R == null ? void 0 : R.wave) == null ? void 0 : U.sig) == null ? void 0 : S.height, 1) ?? "-"), this.tableData.sigwaveDir.push((J = ($ = R == null ? void 0 : R.wave) == null ? void 0 : $.sig) == null ? void 0 : J.bearing), this.tableData.windwaveHeight.push(this.roundPrecision((n0 = (_ = R == null ? void 0 : R.wave) == null ? void 0 : _.wd) == null ? void 0 : n0.height, 1) ?? "-"), this.tableData.windwaveDir.push((z0 = (p0 = R == null ? void 0 : R.wave) == null ? void 0 : p0.wd) == null ? void 0 : z0.bearing), this.tableData.windwavePeriod.push(this.roundPrecision((u0 = (c0 = R == null ? void 0 : R.wave) == null ? void 0 : c0.wd) == null ? void 0 : u0.period, 1) ?? "-"), this.tableData.swellHeight.push(this.roundPrecision((m0 = (h0 = R == null ? void 0 : R.wave) == null ? void 0 : h0.swell) == null ? void 0 : m0.height, 1) ?? "-"), this.tableData.swellDir.push((Z = (M0 = R == null ? void 0 : R.wave) == null ? void 0 : M0.swell) == null ? void 0 : Z.bearing), this.tableData.swellPeriod.push(this.roundPrecision((I0 = (d0 = R == null ? void 0 : R.wave) == null ? void 0 : d0.swell) == null ? void 0 : I0.period, 1) ?? "-"), this.tableData.currentSpeed.push(this.roundPrecision((R0 = R == null ? void 0 : R.current) == null ? void 0 : R0.speed, 1) ?? "-"), this.tableData.currentDir.push((B0 = R == null ? void 0 : R.current) == null ? void 0 : B0.bearing), this.tableData.seaLevel.push(this.roundPrecision(R == null ? void 0 : R.height, 1) ?? "-"), this.tableData.seaTemp.push(this.roundPrecision(R == null ? void 0 : R.sst, 0) ?? "-"), this.tableData.weatherUrls.push((f0 = R == null ? void 0 : R.weather) == null ? void 0 : f0.url), this.tableData.weatherNames.push(((o0 = R == null ? void 0 : R.weather) == null ? void 0 : o0.name) ?? "-");
|
|
8851
8851
|
}
|
|
8852
8852
|
});
|
|
8853
8853
|
},
|
|
@@ -8879,11 +8879,11 @@ const st = {
|
|
|
8879
8879
|
};
|
|
8880
8880
|
},
|
|
8881
8881
|
async handleSelectTab(o) {
|
|
8882
|
-
this.activeIndex = o, this.activeIndex === 4 && await this.fetchTidesData(this.point, this.
|
|
8882
|
+
this.activeIndex = o, this.activeIndex === 4 && await this.fetchTidesData(this.point, this.realTime, 7);
|
|
8883
8883
|
},
|
|
8884
8884
|
async fetchTidesData(o, A, e) {
|
|
8885
8885
|
this.tideLoading = !0, this.tideData = {};
|
|
8886
|
-
let z = A ?
|
|
8886
|
+
let z = A ? a0(A).utc().format() : a0().utc().format(), t = {
|
|
8887
8887
|
lat: o.lat,
|
|
8888
8888
|
lng: o.lng,
|
|
8889
8889
|
date: z,
|
|
@@ -8897,7 +8897,7 @@ const st = {
|
|
|
8897
8897
|
});
|
|
8898
8898
|
if ((a == null ? void 0 : a.data.code) === 0) {
|
|
8899
8899
|
this.tideData = (a == null ? void 0 : a.data.data) || {}, this.tideLoading = !1;
|
|
8900
|
-
const p = p1.pickDailyExtremes(this.tideData, this.
|
|
8900
|
+
const p = p1.pickDailyExtremes(this.tideData, this.realTime);
|
|
8901
8901
|
this.tideTableData = p;
|
|
8902
8902
|
}
|
|
8903
8903
|
},
|
|
@@ -8925,7 +8925,7 @@ const st = {
|
|
|
8925
8925
|
});
|
|
8926
8926
|
}
|
|
8927
8927
|
}
|
|
8928
|
-
}, Ot = { class: "idm-gl4-spot" },
|
|
8928
|
+
}, Ot = { class: "idm-gl4-spot" }, st = {
|
|
8929
8929
|
id: "idm-gl4-spot-meteo",
|
|
8930
8930
|
class: "idm-gl4-spot-meteo"
|
|
8931
8931
|
}, dt = { class: "meteo-box" }, qt = { class: "text-h6 d-flex justify-space-between align-center" }, mt = { class: "d-flex justify-center align-center" }, ut = { class: "mx-1" }, gt = { class: "d-flex justify-center align-center" }, ft = { class: "summary-row d-flex justify-space-between align-center" }, ht = { class: "summary d-flex justify-center align-center" }, Wt = ["src"], Et = {
|
|
@@ -8941,13 +8941,13 @@ const st = {
|
|
|
8941
8941
|
}, rz = {
|
|
8942
8942
|
class: "flex-space",
|
|
8943
8943
|
style: { flex: "1", "padding-left": "30px" }
|
|
8944
|
-
}, nz = { class: "flex-between" },
|
|
8944
|
+
}, nz = { class: "flex-between" }, lz = {
|
|
8945
8945
|
class: "flex-space",
|
|
8946
8946
|
style: { flex: "1", "line-height": "30px" }
|
|
8947
8947
|
}, Oz = {
|
|
8948
8948
|
class: "flex-space",
|
|
8949
8949
|
style: { flex: "1", "padding-left": "30px" }
|
|
8950
|
-
},
|
|
8950
|
+
}, sz = { class: "flex-between" }, dz = {
|
|
8951
8951
|
class: "flex-space",
|
|
8952
8952
|
style: { flex: "1", "line-height": "30px" }
|
|
8953
8953
|
}, qz = {
|
|
@@ -8970,7 +8970,7 @@ const st = {
|
|
|
8970
8970
|
class: "main-box flex-center"
|
|
8971
8971
|
};
|
|
8972
8972
|
function Iz(o, A, e, z, t, a) {
|
|
8973
|
-
var c,
|
|
8973
|
+
var c, l, r, s, m, h, x, D, Q, L, V, W, X, I, v, f, U, S, $, J, _, n0, p0, z0, c0, u0, h0, m0, M0, Z, d0, I0, R0, B0, f0, o0, s0, V0, R, g0, W0, b, d, u, C, Y, F, N, A0, T, q0, U0, P, w0, y0, Z0, T0, k, e0, k0, P0, K0, Q0, j0, S0, H0, J0, _0;
|
|
8974
8974
|
const p = B("v-btn"), i = B("v-tooltip");
|
|
8975
8975
|
return n(), q("div", Ot, [
|
|
8976
8976
|
M("div", {
|
|
@@ -8992,7 +8992,7 @@ function Iz(o, A, e, z, t, a) {
|
|
|
8992
8992
|
onClick: a.handleMenuToggle
|
|
8993
8993
|
}), {
|
|
8994
8994
|
default: E(() => A[7] || (A[7] = [
|
|
8995
|
-
M("i", { class: "iconfont icon-a-Spotweather text-h5 font-weight-bold" }, null, -1)
|
|
8995
|
+
M("i", { class: "iconfont icon-a-Spotweather text-h5 font-weight-bold opacity-80" }, null, -1)
|
|
8996
8996
|
])),
|
|
8997
8997
|
_: 2,
|
|
8998
8998
|
__: [7]
|
|
@@ -9001,11 +9001,11 @@ function Iz(o, A, e, z, t, a) {
|
|
|
9001
9001
|
_: 1
|
|
9002
9002
|
})
|
|
9003
9003
|
], 4),
|
|
9004
|
-
L0(M("div",
|
|
9004
|
+
L0(M("div", st, [
|
|
9005
9005
|
M("div", dt, [
|
|
9006
9006
|
M("div", qt, [
|
|
9007
9007
|
M("div", mt, [
|
|
9008
|
-
M("div", ut, w(a.computeLat((c = t.point) == null ? void 0 : c.lat)) + "," + w(a.computeLng((
|
|
9008
|
+
M("div", ut, w(a.computeLat((c = t.point) == null ? void 0 : c.lat)) + "," + w(a.computeLng((l = t.point) == null ? void 0 : l.lng)), 1)
|
|
9009
9009
|
]),
|
|
9010
9010
|
M("div", gt, [
|
|
9011
9011
|
t.showTables ? (n(), q("div", {
|
|
@@ -9036,7 +9036,7 @@ function Iz(o, A, e, z, t, a) {
|
|
|
9036
9036
|
M("div", ft, [
|
|
9037
9037
|
M("div", ht, [
|
|
9038
9038
|
g(i, {
|
|
9039
|
-
text: (
|
|
9039
|
+
text: (s = (r = t.currentHourData) == null ? void 0 : r.weather) == null ? void 0 : s.name,
|
|
9040
9040
|
location: "top",
|
|
9041
9041
|
"open-delay": 1e3
|
|
9042
9042
|
}, {
|
|
@@ -9109,7 +9109,7 @@ function Iz(o, A, e, z, t, a) {
|
|
|
9109
9109
|
b0("Hours"),
|
|
9110
9110
|
M("span", { class: "unit" }, "(LT)")
|
|
9111
9111
|
], -1)),
|
|
9112
|
-
(n(!0), q(i0, null,
|
|
9112
|
+
(n(!0), q(i0, null, l0(t.tableData.hours, (y) => (n(), q("th", {
|
|
9113
9113
|
rowspan: "1",
|
|
9114
9114
|
colspan: "1",
|
|
9115
9115
|
key: `HourL${y}`
|
|
@@ -9124,7 +9124,7 @@ function Iz(o, A, e, z, t, a) {
|
|
|
9124
9124
|
b0("UTC"),
|
|
9125
9125
|
M("span", { class: "unit" })
|
|
9126
9126
|
], -1)),
|
|
9127
|
-
(n(!0), q(i0, null,
|
|
9127
|
+
(n(!0), q(i0, null, l0(t.tableData.hours, (y) => (n(), q("th", {
|
|
9128
9128
|
rowspan: "1",
|
|
9129
9129
|
colspan: "1",
|
|
9130
9130
|
key: `HourZ${y}`
|
|
@@ -9136,7 +9136,7 @@ function Iz(o, A, e, z, t, a) {
|
|
|
9136
9136
|
colspan: "1",
|
|
9137
9137
|
class: "tr-title"
|
|
9138
9138
|
}, null, -1)),
|
|
9139
|
-
(n(!0), q(i0, null,
|
|
9139
|
+
(n(!0), q(i0, null, l0(t.tableData.weatherUrls, (y, K) => (n(), q("th", {
|
|
9140
9140
|
rowspan: "1",
|
|
9141
9141
|
colspan: "1",
|
|
9142
9142
|
key: `weatherUrls${K}${y}`
|
|
@@ -9166,7 +9166,7 @@ function Iz(o, A, e, z, t, a) {
|
|
|
9166
9166
|
b0("Temp"),
|
|
9167
9167
|
M("span", { class: "unit" }, "°C")
|
|
9168
9168
|
], -1)),
|
|
9169
|
-
(n(!0), q(i0, null,
|
|
9169
|
+
(n(!0), q(i0, null, l0(t.tableData.temp, (y, K) => (n(), q("td", {
|
|
9170
9170
|
rowspan: "1",
|
|
9171
9171
|
colspan: "1",
|
|
9172
9172
|
key: `weatherUrls${K}${y}`
|
|
@@ -9181,7 +9181,7 @@ function Iz(o, A, e, z, t, a) {
|
|
|
9181
9181
|
b0("Precip"),
|
|
9182
9182
|
M("span", { class: "unit" }, "mm")
|
|
9183
9183
|
], -1)),
|
|
9184
|
-
(n(!0), q(i0, null,
|
|
9184
|
+
(n(!0), q(i0, null, l0(t.tableData.precip1h, (y, K) => (n(), q("td", {
|
|
9185
9185
|
rowspan: "1",
|
|
9186
9186
|
colspan: "1",
|
|
9187
9187
|
key: `precip1h${K}${y}`
|
|
@@ -9196,7 +9196,7 @@ function Iz(o, A, e, z, t, a) {
|
|
|
9196
9196
|
b0("Visibility"),
|
|
9197
9197
|
M("span", { class: "unit" }, "nm")
|
|
9198
9198
|
], -1)),
|
|
9199
|
-
(n(!0), q(i0, null,
|
|
9199
|
+
(n(!0), q(i0, null, l0(t.tableData.visibility, (y, K) => (n(), q("td", {
|
|
9200
9200
|
rowspan: "1",
|
|
9201
9201
|
colspan: "1",
|
|
9202
9202
|
key: `visibility${K}${y}`
|
|
@@ -9211,7 +9211,7 @@ function Iz(o, A, e, z, t, a) {
|
|
|
9211
9211
|
b0("Wind gust"),
|
|
9212
9212
|
M("span", { class: "unit" }, "kts")
|
|
9213
9213
|
], -1)),
|
|
9214
|
-
(n(!0), q(i0, null,
|
|
9214
|
+
(n(!0), q(i0, null, l0(t.tableData.windGust, (y, K) => (n(), q("td", {
|
|
9215
9215
|
rowspan: "1",
|
|
9216
9216
|
colspan: "1",
|
|
9217
9217
|
key: `windGust${K}${y}`
|
|
@@ -9234,7 +9234,7 @@ function Iz(o, A, e, z, t, a) {
|
|
|
9234
9234
|
b0("Hours"),
|
|
9235
9235
|
M("span", { class: "unit" }, "(LT)")
|
|
9236
9236
|
], -1)),
|
|
9237
|
-
(n(!0), q(i0, null,
|
|
9237
|
+
(n(!0), q(i0, null, l0(t.tableData.hours, (y, K) => (n(), q("th", {
|
|
9238
9238
|
rowspan: "1",
|
|
9239
9239
|
colspan: "1",
|
|
9240
9240
|
key: `currenthoursL${K}${y}`
|
|
@@ -9249,7 +9249,7 @@ function Iz(o, A, e, z, t, a) {
|
|
|
9249
9249
|
b0("UTC"),
|
|
9250
9250
|
M("span", { class: "unit" })
|
|
9251
9251
|
], -1)),
|
|
9252
|
-
(n(!0), q(i0, null,
|
|
9252
|
+
(n(!0), q(i0, null, l0(t.tableData.hours, (y, K) => (n(), q("th", {
|
|
9253
9253
|
rowspan: "1",
|
|
9254
9254
|
colspan: "1",
|
|
9255
9255
|
key: `currenthoursZ${K}${y}`
|
|
@@ -9264,7 +9264,7 @@ function Iz(o, A, e, z, t, a) {
|
|
|
9264
9264
|
b0("Wind"),
|
|
9265
9265
|
M("span", { class: "unit" }, "kts")
|
|
9266
9266
|
], -1)),
|
|
9267
|
-
(n(!0), q(i0, null,
|
|
9267
|
+
(n(!0), q(i0, null, l0(t.tableData.windSpeed, (y, K) => (n(), q("td", {
|
|
9268
9268
|
rowspan: "1",
|
|
9269
9269
|
colspan: "1",
|
|
9270
9270
|
key: `windSpeed${K}${y}`
|
|
@@ -9286,7 +9286,7 @@ function Iz(o, A, e, z, t, a) {
|
|
|
9286
9286
|
b0("Sig Wave"),
|
|
9287
9287
|
M("span", { class: "unit" }, "m")
|
|
9288
9288
|
], -1)),
|
|
9289
|
-
(n(!0), q(i0, null,
|
|
9289
|
+
(n(!0), q(i0, null, l0(t.tableData.sigwaveHeight, (y, K) => (n(), q("td", {
|
|
9290
9290
|
rowspan: "1",
|
|
9291
9291
|
colspan: "1",
|
|
9292
9292
|
key: `sigwaveHeight${K}${y}`
|
|
@@ -9308,7 +9308,7 @@ function Iz(o, A, e, z, t, a) {
|
|
|
9308
9308
|
b0("Wind Wave"),
|
|
9309
9309
|
M("span", { class: "unit" }, "m")
|
|
9310
9310
|
], -1)),
|
|
9311
|
-
(n(!0), q(i0, null,
|
|
9311
|
+
(n(!0), q(i0, null, l0(t.tableData.windwaveHeight, (y, K) => (n(), q("td", {
|
|
9312
9312
|
rowspan: "1",
|
|
9313
9313
|
colspan: "1",
|
|
9314
9314
|
key: `windwaveHeight${K}${y}`
|
|
@@ -9330,7 +9330,7 @@ function Iz(o, A, e, z, t, a) {
|
|
|
9330
9330
|
b0("Swell"),
|
|
9331
9331
|
M("span", { class: "unit" }, "m")
|
|
9332
9332
|
], -1)),
|
|
9333
|
-
(n(!0), q(i0, null,
|
|
9333
|
+
(n(!0), q(i0, null, l0(t.tableData.swellHeight, (y, K) => (n(), q("td", {
|
|
9334
9334
|
rowspan: "1",
|
|
9335
9335
|
colspan: "1",
|
|
9336
9336
|
key: `swellHeight${K}${y}`
|
|
@@ -9352,7 +9352,7 @@ function Iz(o, A, e, z, t, a) {
|
|
|
9352
9352
|
b0("Current"),
|
|
9353
9353
|
M("span", { class: "unit" }, "kts")
|
|
9354
9354
|
], -1)),
|
|
9355
|
-
(n(!0), q(i0, null,
|
|
9355
|
+
(n(!0), q(i0, null, l0(t.tableData.currentSpeed, (y, K) => (n(), q("td", {
|
|
9356
9356
|
rowspan: "1",
|
|
9357
9357
|
colspan: "1",
|
|
9358
9358
|
key: `currentSpeed${K}${y}`
|
|
@@ -9381,7 +9381,7 @@ function Iz(o, A, e, z, t, a) {
|
|
|
9381
9381
|
b0("Hours"),
|
|
9382
9382
|
M("span", { class: "unit" }, "(LT)")
|
|
9383
9383
|
], -1)),
|
|
9384
|
-
(n(!0), q(i0, null,
|
|
9384
|
+
(n(!0), q(i0, null, l0(t.tableData.hours, (y, K) => (n(), q("th", {
|
|
9385
9385
|
rowspan: "1",
|
|
9386
9386
|
colspan: "1",
|
|
9387
9387
|
key: `seahoursL${K}${y}`
|
|
@@ -9396,7 +9396,7 @@ function Iz(o, A, e, z, t, a) {
|
|
|
9396
9396
|
b0("UTC"),
|
|
9397
9397
|
M("span", { class: "unit" })
|
|
9398
9398
|
], -1)),
|
|
9399
|
-
(n(!0), q(i0, null,
|
|
9399
|
+
(n(!0), q(i0, null, l0(t.tableData.hours, (y, K) => (n(), q("th", {
|
|
9400
9400
|
rowspan: "1",
|
|
9401
9401
|
colspan: "1",
|
|
9402
9402
|
key: `seahoursZ${K}${y}`
|
|
@@ -9411,7 +9411,7 @@ function Iz(o, A, e, z, t, a) {
|
|
|
9411
9411
|
b0("SeaLevel"),
|
|
9412
9412
|
M("span", { class: "unit" }, "m")
|
|
9413
9413
|
], -1)),
|
|
9414
|
-
(n(!0), q(i0, null,
|
|
9414
|
+
(n(!0), q(i0, null, l0(t.tableData.seaLevel, (y, K) => (n(), q("td", {
|
|
9415
9415
|
rowspan: "1",
|
|
9416
9416
|
colspan: "1",
|
|
9417
9417
|
key: `SeaLevel${K}${y}`
|
|
@@ -9426,7 +9426,7 @@ function Iz(o, A, e, z, t, a) {
|
|
|
9426
9426
|
b0("SeaTemp"),
|
|
9427
9427
|
M("span", { class: "unit" }, "°C")
|
|
9428
9428
|
], -1)),
|
|
9429
|
-
(n(!0), q(i0, null,
|
|
9429
|
+
(n(!0), q(i0, null, l0(t.tableData.seaTemp, (y, K) => (n(), q("td", {
|
|
9430
9430
|
rowspan: "1",
|
|
9431
9431
|
colspan: "1",
|
|
9432
9432
|
key: `SeaTemp${K}${y}`
|
|
@@ -9442,21 +9442,21 @@ function Iz(o, A, e, z, t, a) {
|
|
|
9442
9442
|
L0(M("table", zz, [
|
|
9443
9443
|
M("tbody", null, [
|
|
9444
9444
|
M("tr", Mz, [
|
|
9445
|
-
(n(!0), q(i0, null,
|
|
9445
|
+
(n(!0), q(i0, null, l0(t.tideTableData, (y, K) => (n(), q("th", {
|
|
9446
9446
|
rowspan: "1",
|
|
9447
9447
|
colspan: "1",
|
|
9448
9448
|
key: `Tide-tr-${K}${y}`
|
|
9449
9449
|
}, w(y.type) + " Tide", 1))), 128))
|
|
9450
9450
|
]),
|
|
9451
9451
|
M("tr", az, [
|
|
9452
|
-
(n(!0), q(i0, null,
|
|
9452
|
+
(n(!0), q(i0, null, l0(t.tideTableData, (y, K) => (n(), q("td", {
|
|
9453
9453
|
rowspan: "1",
|
|
9454
9454
|
colspan: "1",
|
|
9455
9455
|
key: `Tide-date-${K}${y}`
|
|
9456
9456
|
}, w(a.computeHourHmmLT(y == null ? void 0 : y.date)), 1))), 128))
|
|
9457
9457
|
]),
|
|
9458
9458
|
M("tr", pz, [
|
|
9459
|
-
(n(!0), q(i0, null,
|
|
9459
|
+
(n(!0), q(i0, null, l0(t.tideTableData, (y, K) => (n(), q("td", {
|
|
9460
9460
|
rowspan: "1",
|
|
9461
9461
|
colspan: "1",
|
|
9462
9462
|
key: `Tide-height-${K}${y}`
|
|
@@ -9481,15 +9481,15 @@ function Iz(o, A, e, z, t, a) {
|
|
|
9481
9481
|
M("div", bz, [
|
|
9482
9482
|
M("div", cz, [
|
|
9483
9483
|
A[32] || (A[32] = M("div", null, "Wind", -1)),
|
|
9484
|
-
M("div", null, w(($ = (S = (U = t.currentHourData) == null ? void 0 : U.weather) == null ? void 0 : S.wind) == null ? void 0 : $.direction) + "/" + w(a.roundPrecision((n0 = (_ = (J = t.currentHourData) == null ? void 0 : J.weather) == null ? void 0 : _.wind) == null ? void 0 : n0.kts, 1)) + "kts/BF" + w((c0 = (
|
|
9484
|
+
M("div", null, w(($ = (S = (U = t.currentHourData) == null ? void 0 : U.weather) == null ? void 0 : S.wind) == null ? void 0 : $.direction) + "/" + w(a.roundPrecision((n0 = (_ = (J = t.currentHourData) == null ? void 0 : J.weather) == null ? void 0 : _.wind) == null ? void 0 : n0.kts, 1)) + "kts/BF" + w((c0 = (z0 = (p0 = t.currentHourData) == null ? void 0 : p0.weather) == null ? void 0 : z0.wind) == null ? void 0 : c0.scale) + "/" + w(a.roundPrecision((m0 = (h0 = (u0 = t.currentHourData) == null ? void 0 : u0.weather) == null ? void 0 : h0.wind) == null ? void 0 : m0.gusts, 1)) + " kts ", 1)
|
|
9485
9485
|
]),
|
|
9486
9486
|
M("div", rz, [
|
|
9487
9487
|
A[33] || (A[33] = M("div", null, "Sig wave", -1)),
|
|
9488
|
-
M("div", null, w((d0 = (Z = (
|
|
9488
|
+
M("div", null, w((d0 = (Z = (M0 = t.currentHourData) == null ? void 0 : M0.wave) == null ? void 0 : Z.sig) == null ? void 0 : d0.direction) + "/" + w(a.roundPrecision((B0 = (R0 = (I0 = t.currentHourData) == null ? void 0 : I0.wave) == null ? void 0 : R0.sig) == null ? void 0 : B0.height, 1)) + "m/" + w(a.roundPrecision((s0 = (o0 = (f0 = t.currentHourData) == null ? void 0 : f0.wave) == null ? void 0 : o0.sig) == null ? void 0 : s0.period, 1)) + "s ", 1)
|
|
9489
9489
|
])
|
|
9490
9490
|
]),
|
|
9491
9491
|
M("div", nz, [
|
|
9492
|
-
M("div",
|
|
9492
|
+
M("div", lz, [
|
|
9493
9493
|
A[34] || (A[34] = M("div", null, "Wind wave", -1)),
|
|
9494
9494
|
M("div", null, w((g0 = (R = (V0 = t.currentHourData) == null ? void 0 : V0.wave) == null ? void 0 : R.wd) == null ? void 0 : g0.direction) + "/" + w(a.roundPrecision((d = (b = (W0 = t.currentHourData) == null ? void 0 : W0.wave) == null ? void 0 : b.wd) == null ? void 0 : d.height, 1)) + "m/" + w(a.roundPrecision((Y = (C = (u = t.currentHourData) == null ? void 0 : u.wave) == null ? void 0 : C.wd) == null ? void 0 : Y.period, 1)) + "s ", 1)
|
|
9495
9495
|
]),
|
|
@@ -9498,7 +9498,7 @@ function Iz(o, A, e, z, t, a) {
|
|
|
9498
9498
|
M("div", null, w((A0 = (N = (F = t.currentHourData) == null ? void 0 : F.wave) == null ? void 0 : N.swell) == null ? void 0 : A0.direction) + "/" + w(a.roundPrecision((U0 = (q0 = (T = t.currentHourData) == null ? void 0 : T.wave) == null ? void 0 : q0.swell) == null ? void 0 : U0.height, 1)) + "m/" + w(a.roundPrecision((y0 = (w0 = (P = t.currentHourData) == null ? void 0 : P.wave) == null ? void 0 : w0.swell) == null ? void 0 : y0.period, 1)) + "s ", 1)
|
|
9499
9499
|
])
|
|
9500
9500
|
]),
|
|
9501
|
-
M("div",
|
|
9501
|
+
M("div", sz, [
|
|
9502
9502
|
M("div", dz, [
|
|
9503
9503
|
A[36] || (A[36] = M("div", null, "Current", -1)),
|
|
9504
9504
|
M("div", null, w((T0 = (Z0 = t.currentHourData) == null ? void 0 : Z0.current) == null ? void 0 : T0.direction) + "/" + w(a.roundPrecision((e0 = (k = t.currentHourData) == null ? void 0 : k.current) == null ? void 0 : e0.kts, 2)) + "kts", 1)
|
|
@@ -9542,7 +9542,7 @@ function Iz(o, A, e, z, t, a) {
|
|
|
9542
9542
|
])
|
|
9543
9543
|
]);
|
|
9544
9544
|
}
|
|
9545
|
-
const Rz = /* @__PURE__ */ r0(
|
|
9545
|
+
const Rz = /* @__PURE__ */ r0(lt, [["render", Iz]]);
|
|
9546
9546
|
const vz = {
|
|
9547
9547
|
name: "IdmMeasure",
|
|
9548
9548
|
props: {
|
|
@@ -9631,7 +9631,7 @@ const vz = {
|
|
|
9631
9631
|
}
|
|
9632
9632
|
},
|
|
9633
9633
|
handleDrag(o) {
|
|
9634
|
-
var e, z, t, a, p, i, c,
|
|
9634
|
+
var e, z, t, a, p, i, c, l, r, s;
|
|
9635
9635
|
const A = (z = (e = o.target) == null ? void 0 : e._element) == null ? void 0 : z.id;
|
|
9636
9636
|
if ((A == null ? void 0 : A.split("-").length) === 2) {
|
|
9637
9637
|
const m = this.geojson.filter((Q) => Q.id === A.split("-")[0])[0];
|
|
@@ -9650,13 +9650,13 @@ const vz = {
|
|
|
9650
9650
|
this.handleTmpPointUpdate(
|
|
9651
9651
|
m,
|
|
9652
9652
|
D[x - 1],
|
|
9653
|
-
{ lng: (
|
|
9653
|
+
{ lng: (l = (c = o.target) == null ? void 0 : c._lngLat) == null ? void 0 : l.lng, lat: (s = (r = o.target) == null ? void 0 : r._lngLat) == null ? void 0 : s.lat, properties: D[x].properties },
|
|
9654
9654
|
x === D.length - 1 ? void 0 : D[x + 1]
|
|
9655
9655
|
);
|
|
9656
9656
|
}
|
|
9657
9657
|
},
|
|
9658
9658
|
handleDragEnd(o) {
|
|
9659
|
-
var e, z, t, a, p, i, c,
|
|
9659
|
+
var e, z, t, a, p, i, c, l, r, s;
|
|
9660
9660
|
const A = (z = (e = o.target) == null ? void 0 : e._element) == null ? void 0 : z.id;
|
|
9661
9661
|
if ((A == null ? void 0 : A.split("-").length) === 2) {
|
|
9662
9662
|
const m = this.geojson.filter((D) => D.id === A.split("-")[0])[0];
|
|
@@ -9665,7 +9665,7 @@ const vz = {
|
|
|
9665
9665
|
return ((Q = D._element) == null ? void 0 : Q.id) === A;
|
|
9666
9666
|
})[0].setLngLat([(a = (t = o.target) == null ? void 0 : t._lngLat) == null ? void 0 : a.lng, (i = (p = o.target) == null ? void 0 : p._lngLat) == null ? void 0 : i.lat]);
|
|
9667
9667
|
const x = m.features.filter((D) => D.geometry.type === "Point" && D.properties.id == A.split("-")[1])[0];
|
|
9668
|
-
x.geometry.coordinates = [(
|
|
9668
|
+
x.geometry.coordinates = [(l = (c = o.target) == null ? void 0 : c._lngLat) == null ? void 0 : l.lng, (s = (r = o.target) == null ? void 0 : r._lngLat) == null ? void 0 : s.lat], m.features = m.features.filter((D) => D.geometry.type === "Point"), this.handlePointUpdate(m);
|
|
9669
9669
|
}
|
|
9670
9670
|
},
|
|
9671
9671
|
handleContextmenu(o) {
|
|
@@ -9674,9 +9674,9 @@ const vz = {
|
|
|
9674
9674
|
const A = (a = (t = (z = o.originalEvent) == null ? void 0 : z.target) == null ? void 0 : t.parentElement) == null ? void 0 : a.id;
|
|
9675
9675
|
if ((A == null ? void 0 : A.split("-").length) === 2) {
|
|
9676
9676
|
const i = this.geojson.filter((c) => c.id === A.split("-")[0])[0].features.filter((c) => c.geometry.type === "Point");
|
|
9677
|
-
if (i.length > 2 && i.filter((
|
|
9678
|
-
const
|
|
9679
|
-
|
|
9677
|
+
if (i.length > 2 && i.filter((l) => l.properties.id === (A == null ? void 0 : A.split("-")[1]))[0]) {
|
|
9678
|
+
const l = document.createElement("div");
|
|
9679
|
+
l.className = "idm-gl4-measure-contextmenu-marker", l.innerHTML = `<span id="del-${A}" class="del-point">Del</span>`, this.contextmenu = new D0.Marker(l).setOffset([24, 0]).setLngLat([o.lngLat.lng, o.lngLat.lat]).addTo(this.map);
|
|
9680
9680
|
}
|
|
9681
9681
|
}
|
|
9682
9682
|
},
|
|
@@ -9685,15 +9685,15 @@ const vz = {
|
|
|
9685
9685
|
(e = this.contextmenu) == null || e.remove();
|
|
9686
9686
|
const A = o.originalEvent.target.className;
|
|
9687
9687
|
if (A === "marker-close") {
|
|
9688
|
-
const c = (t = (z = o.originalEvent) == null ? void 0 : z.srcElement) == null ? void 0 : t.id,
|
|
9689
|
-
|
|
9688
|
+
const c = (t = (z = o.originalEvent) == null ? void 0 : z.srcElement) == null ? void 0 : t.id, l = this.geojson.filter((r) => r.id === c)[0];
|
|
9689
|
+
l && this.handleClear(l, !0), this.geojson = this.geojson.filter((r) => r.id !== c), !this.toggle && !((a = this.geojson) != null && a.some((r) => r.closed)) && this.handleUnbind();
|
|
9690
9690
|
} else if (A === "del-point") {
|
|
9691
|
-
const c = (i = (p = o.originalEvent.target.id) == null ? void 0 : p.replace("del-", "")) == null ? void 0 : i.split("-"),
|
|
9692
|
-
|
|
9691
|
+
const c = (i = (p = o.originalEvent.target.id) == null ? void 0 : p.replace("del-", "")) == null ? void 0 : i.split("-"), l = this.geojson.filter((r) => r.id === c[0])[0];
|
|
9692
|
+
l.features = l.features.filter((r) => r.geometry.type === "Point" && r.properties.id !== c[1]), this.handlePointUpdate(l);
|
|
9693
9693
|
} else if (A !== "marker-label" && this.toggle) {
|
|
9694
9694
|
let c = this.geojson.at(-1);
|
|
9695
9695
|
c || (c = j.featureCollection([], { id: (/* @__PURE__ */ new Date()).getTime().toString() }), this.geojson.push(c)), c.features = c.features.filter((r) => r.geometry.type === "Point");
|
|
9696
|
-
const
|
|
9696
|
+
const l = j.feature(
|
|
9697
9697
|
{
|
|
9698
9698
|
type: "Point",
|
|
9699
9699
|
coordinates: [o.lngLat.lng, o.lngLat.lat]
|
|
@@ -9703,7 +9703,7 @@ const vz = {
|
|
|
9703
9703
|
mode: this.navigation
|
|
9704
9704
|
}
|
|
9705
9705
|
);
|
|
9706
|
-
c.features.push(
|
|
9706
|
+
c.features.push(l), this.handlePointUpdate(c);
|
|
9707
9707
|
}
|
|
9708
9708
|
},
|
|
9709
9709
|
handlePointUpdate(o) {
|
|
@@ -9712,12 +9712,12 @@ const vz = {
|
|
|
9712
9712
|
let e = 0;
|
|
9713
9713
|
const z = [];
|
|
9714
9714
|
for (let t = 1; t < A.length; t++) {
|
|
9715
|
-
const a = A[t - 1], p = A[t], i = a.properties, c = { lng: a.geometry.coordinates[0], lat: a.geometry.coordinates[1] },
|
|
9715
|
+
const a = A[t - 1], p = A[t], i = a.properties, c = { lng: a.geometry.coordinates[0], lat: a.geometry.coordinates[1] }, l = { lng: p.geometry.coordinates[0], lat: p.geometry.coordinates[1] }, r = F0.calculateDistance(c, l, i.mode === "RL", 4), s = F0.calculateBearing(c, l, i.mode === "RL", 2);
|
|
9716
9716
|
e = C0.roundPrecision(e + r, 2);
|
|
9717
9717
|
let m;
|
|
9718
|
-
i.mode === "RL" ? m = C0.convertToMonotonicLng([c,
|
|
9718
|
+
i.mode === "RL" ? m = C0.convertToMonotonicLng([c, l]) : m = C0.convertToMonotonicLng(F0.interpolateCoordinates(c, l, 200));
|
|
9719
9719
|
const h = j.lineString(m.map((x) => [x.lng, x.lat]));
|
|
9720
|
-
h.properties.dist = r, h.properties.bearing =
|
|
9720
|
+
h.properties.dist = r, h.properties.bearing = s, h.properties.total = e, z.push(h);
|
|
9721
9721
|
}
|
|
9722
9722
|
A.push(...z), o.total = e;
|
|
9723
9723
|
}
|
|
@@ -9727,19 +9727,19 @@ const vz = {
|
|
|
9727
9727
|
const t = j.featureCollection([]);
|
|
9728
9728
|
let a, p;
|
|
9729
9729
|
if (A) {
|
|
9730
|
-
const c = A.properties,
|
|
9731
|
-
a = F0.calculateDistance(
|
|
9732
|
-
let
|
|
9733
|
-
c.mode === "RL" ?
|
|
9734
|
-
const m = j.lineString(
|
|
9730
|
+
const c = A.properties, l = { lng: A.geometry.coordinates[0], lat: A.geometry.coordinates[1] }, r = { lng: e.lng, lat: e.lat };
|
|
9731
|
+
a = F0.calculateDistance(l, r, c.mode === "RL", 4), p = F0.calculateBearing(l, r, c.mode === "RL", 2);
|
|
9732
|
+
let s;
|
|
9733
|
+
c.mode === "RL" ? s = C0.convertToMonotonicLng([l, r]) : s = C0.convertToMonotonicLng(F0.interpolateCoordinates(l, r, 200));
|
|
9734
|
+
const m = j.lineString(s.map((h) => [h.lng, h.lat]));
|
|
9735
9735
|
m.properties.dist = a, m.properties.bearing = p, t.features.push(m);
|
|
9736
9736
|
}
|
|
9737
9737
|
if (z) {
|
|
9738
|
-
const c = e.properties,
|
|
9739
|
-
a = F0.calculateDistance(
|
|
9740
|
-
let
|
|
9741
|
-
c.mode === "RL" ?
|
|
9742
|
-
const m = j.lineString(
|
|
9738
|
+
const c = e.properties, l = e, r = { lng: z.geometry.coordinates[0], lat: z.geometry.coordinates[1] };
|
|
9739
|
+
a = F0.calculateDistance(l, r, c.mode === "RL", 4), p = F0.calculateBearing(l, r, c.mode === "RL", 2);
|
|
9740
|
+
let s;
|
|
9741
|
+
c.mode === "RL" ? s = C0.convertToMonotonicLng([l, r]) : s = C0.convertToMonotonicLng(F0.interpolateCoordinates(l, r, 200));
|
|
9742
|
+
const m = j.lineString(s.map((h) => [h.lng, h.lat]));
|
|
9743
9743
|
m.properties.dist = a, m.properties.bearing = p, t.features.push(m);
|
|
9744
9744
|
}
|
|
9745
9745
|
this.map.getSource(this.tmpSource) ? this.map.getSource(this.tmpSource).setData(t) : this.map.addSource(this.tmpSource, {
|
|
@@ -9846,17 +9846,17 @@ const vz = {
|
|
|
9846
9846
|
c.on("drag", this.handleDrag), c.on("dragend", this.handleDragEnd), this.pointMarkers[o.id] ? this.pointMarkers[o.id].push(c) : this.pointMarkers[o.id] = [c];
|
|
9847
9847
|
}
|
|
9848
9848
|
if (o.closed) {
|
|
9849
|
-
const p = a.at(-1), c = o.features.filter((r) => r.geometry.type === "LineString").at(-1),
|
|
9850
|
-
|
|
9849
|
+
const p = a.at(-1), c = o.features.filter((r) => r.geometry.type === "LineString").at(-1), l = document.createElement("div");
|
|
9850
|
+
l.className = "idm-gl4-measure-summary-marker", l.innerHTML = `<div id="${o.id}" class="marker-close">×</div><div class="marker-label">Total: ${c.properties.total}nm</div>`, this.closeMarkers[o.id] = new D0.Marker(l).setOffset([60, 0]).setLngLat(p.geometry.coordinates).addTo(this.map);
|
|
9851
9851
|
}
|
|
9852
9852
|
}
|
|
9853
9853
|
},
|
|
9854
9854
|
handleClear(o, A = !0) {
|
|
9855
|
-
var a, p, i, c,
|
|
9855
|
+
var a, p, i, c, l, r, s, m, h;
|
|
9856
9856
|
const e = `${o.id}-${this.source}`, z = `${o.id}-${this.layer}`, t = `${o.id}-${this.labelLayer}`;
|
|
9857
|
-
(a = this.map) != null && a.getLayer(z) && this.map.removeLayer(z), (p = this.map) != null && p.getLayer(t) && this.map.removeLayer(t), (i = this.map) != null && i.getLayer(this.tmpLayer) && this.map.removeLayer(this.tmpLayer), (c = this.map) != null && c.getLayer(this.tmpLabelLayer) && this.map.removeLayer(this.tmpLabelLayer), (
|
|
9857
|
+
(a = this.map) != null && a.getLayer(z) && this.map.removeLayer(z), (p = this.map) != null && p.getLayer(t) && this.map.removeLayer(t), (i = this.map) != null && i.getLayer(this.tmpLayer) && this.map.removeLayer(this.tmpLayer), (c = this.map) != null && c.getLayer(this.tmpLabelLayer) && this.map.removeLayer(this.tmpLabelLayer), (l = this.closeMarkers[o.id]) == null || l.remove(), this.closeMarkers[o.id] = void 0, (r = this.pointMarkers[o.id]) == null || r.forEach((x) => {
|
|
9858
9858
|
x == null || x.remove();
|
|
9859
|
-
}), this.pointMarkers[o.id] = [], (
|
|
9859
|
+
}), this.pointMarkers[o.id] = [], (s = this.tipMarker) == null || s.remove(), this.tipMarker = void 0, A && ((m = this.map) != null && m.getSource(e)) && this.map.removeSource(e), A && ((h = this.map) != null && h.getSource(this.tmpSource)) && this.map.removeSource(this.tmpSource);
|
|
9860
9860
|
}
|
|
9861
9861
|
}
|
|
9862
9862
|
}, Bz = { class: "idm-gl4-measure" };
|
|
@@ -9882,7 +9882,7 @@ function Cz(o, A, e, z, t, a) {
|
|
|
9882
9882
|
onClick: a.handleMenuToggle
|
|
9883
9883
|
}), {
|
|
9884
9884
|
default: E(() => A[0] || (A[0] = [
|
|
9885
|
-
M("i", { class: "iconfont icon-a-Measuredistance text-h5 font-weight-bold" }, null, -1)
|
|
9885
|
+
M("i", { class: "iconfont icon-a-Measuredistance text-h5 font-weight-bold opacity-80" }, null, -1)
|
|
9886
9886
|
])),
|
|
9887
9887
|
_: 2,
|
|
9888
9888
|
__: [0]
|
|
@@ -9909,7 +9909,7 @@ const wz = {
|
|
|
9909
9909
|
type: Array
|
|
9910
9910
|
}
|
|
9911
9911
|
},
|
|
9912
|
-
emits: ["forecastModel", "
|
|
9912
|
+
emits: ["forecastModel", "realTime", "timeZone"],
|
|
9913
9913
|
data() {
|
|
9914
9914
|
return {
|
|
9915
9915
|
right: 10,
|
|
@@ -9940,7 +9940,7 @@ const wz = {
|
|
|
9940
9940
|
},
|
|
9941
9941
|
computed: {
|
|
9942
9942
|
currentYear() {
|
|
9943
|
-
return
|
|
9943
|
+
return a0(this.currentTimestamp).format("YYYY");
|
|
9944
9944
|
},
|
|
9945
9945
|
hourOptions() {
|
|
9946
9946
|
const o = [];
|
|
@@ -9949,11 +9949,11 @@ const wz = {
|
|
|
9949
9949
|
return o.filter((A, e) => (e - this.timeZone) % this.intervalHour === 0);
|
|
9950
9950
|
},
|
|
9951
9951
|
timeZoneNames() {
|
|
9952
|
-
return
|
|
9952
|
+
return a0.tz.names();
|
|
9953
9953
|
},
|
|
9954
9954
|
timeZoneName() {
|
|
9955
9955
|
var o;
|
|
9956
|
-
return (o = this.timeZoneNames.filter((A) =>
|
|
9956
|
+
return (o = this.timeZoneNames.filter((A) => a0.tz(a0(), A).utcOffset() === this.timeZone * 60)) == null ? void 0 : o[0];
|
|
9957
9957
|
},
|
|
9958
9958
|
utcTimeZoneName() {
|
|
9959
9959
|
return "Africa/Abidjan";
|
|
@@ -9996,7 +9996,7 @@ const wz = {
|
|
|
9996
9996
|
handler(o, A) {
|
|
9997
9997
|
if (o !== A) {
|
|
9998
9998
|
this.$emit("timeZone", this.timeZone), localStorage.setItem("idm-timeZone-gl4", this.timeZone), this.showTimezone = !1;
|
|
9999
|
-
const e =
|
|
9999
|
+
const e = a0.tz(this.currentTimestamp, this.timeZoneName).clone();
|
|
10000
10000
|
this.currentDate = e.clone().format("YYYY-MM-DD"), this.currentTime = e.clone().format("HH:00"), this.dateRange = [e.clone().add(this.dayAbout.h, "day").format("yyyy-MM-DD"), e.clone().add(this.dayAbout.f, "day").format("yyyy-MM-DD")];
|
|
10001
10001
|
}
|
|
10002
10002
|
},
|
|
@@ -10004,7 +10004,7 @@ const wz = {
|
|
|
10004
10004
|
},
|
|
10005
10005
|
currentTimestamp: {
|
|
10006
10006
|
handler() {
|
|
10007
|
-
this
|
|
10007
|
+
this.currentDateTimeZ = a0(this.currentTimestamp).utc().format("yyyy-MM-DD HH:00[Z]"), this.$emit("realTime", this.currentDateTimeZ), this.currentDateTime = `${a0.tz(this.currentTimestamp, this.timeZoneName).clone().format("yyyy-MM-DD : HH:00")}`;
|
|
10008
10008
|
},
|
|
10009
10009
|
immediate: !0
|
|
10010
10010
|
}
|
|
@@ -10015,12 +10015,12 @@ const wz = {
|
|
|
10015
10015
|
methods: {
|
|
10016
10016
|
handleReset() {
|
|
10017
10017
|
var z, t, a;
|
|
10018
|
-
const o =
|
|
10019
|
-
this.currentTimestamp = ((z =
|
|
10020
|
-
const e =
|
|
10018
|
+
const o = a0().utc().date(), A = Math.ceil(a0().utc().hour() / 3) * 3;
|
|
10019
|
+
this.currentTimestamp = ((z = a0()) == null ? void 0 : z.utc().set({ date: o, hour: A, minute: 0, second: 0, millisecond: 0 }).unix()) * 1e3;
|
|
10020
|
+
const e = a0.tz(this.currentTimestamp, this.timeZoneName).clone();
|
|
10021
10021
|
this.currentDate = e.clone().format("YYYY-MM-DD"), this.currentTime = e.clone().format("HH:00"), this.dateRange = [e.clone().add(this.dayAbout.h, "day").format("yyyy-MM-DD"), e.clone().add(this.dayAbout.f, "day").format("yyyy-MM-DD")], this.timestampRange = [
|
|
10022
|
-
((t =
|
|
10023
|
-
((a =
|
|
10022
|
+
((t = a0()) == null ? void 0 : t.utc().set({ date: o + this.dayAbout.h, hour: 0, minute: 0, second: 0, millisecond: 0 }).unix()) * 1e3,
|
|
10023
|
+
((a = a0()) == null ? void 0 : a.utc().set({ date: o + this.dayAbout.f, hour: 0, minute: 0, second: 0, millisecond: 0 }).unix()) * 1e3
|
|
10024
10024
|
], this.handlePause(), this.startAnimate = 0;
|
|
10025
10025
|
},
|
|
10026
10026
|
handleToggle(o) {
|
|
@@ -10033,12 +10033,12 @@ const wz = {
|
|
|
10033
10033
|
});
|
|
10034
10034
|
},
|
|
10035
10035
|
handleConfirmDate() {
|
|
10036
|
-
const o =
|
|
10036
|
+
const o = a0(this.currentDate).format("yyyy-MM-DD"), A = this.currentTime, e = `${o} ${A}`, z = a0.tz(e, "YYYY-MM-DD HH:00", this.timeZoneName).clone().tz(this.localTimeZoneName);
|
|
10037
10037
|
this.currentTimestamp = z.unix() * 1e3, this.showDatePicker = !1;
|
|
10038
10038
|
},
|
|
10039
10039
|
handleCancelDate() {
|
|
10040
10040
|
this.showDatePicker = !1;
|
|
10041
|
-
const o =
|
|
10041
|
+
const o = a0.tz(this.currentTimestamp, this.timeZoneName).clone();
|
|
10042
10042
|
this.currentDate = o.clone().format("YYYY-MM-DD"), this.currentTime = o.clone().format("HH:00");
|
|
10043
10043
|
},
|
|
10044
10044
|
handleBackward() {
|
|
@@ -10083,12 +10083,12 @@ const wz = {
|
|
|
10083
10083
|
class: "list pa-2 rounded ga-2"
|
|
10084
10084
|
};
|
|
10085
10085
|
function Zz(o, A, e, z, t, a) {
|
|
10086
|
-
const p = B("VBtn"), i = B("VListItemTitle"), c = B("VListItem"),
|
|
10086
|
+
const p = B("VBtn"), i = B("VListItemTitle"), c = B("VListItem"), l = B("VList"), r = B("VMenu"), s = B("VDatePicker"), m = B("v-divider"), h = B("VCardText"), x = B("VCardActions"), D = B("VCard"), Q = B("VTooltip");
|
|
10087
10087
|
return n(), q("div", xz, [
|
|
10088
10088
|
t.show ? (n(), q("div", {
|
|
10089
10089
|
key: 0,
|
|
10090
10090
|
class: "timeline-box px-2 py-1 d-flex justify-start align-center rounded",
|
|
10091
|
-
style: O0({ right: t.right +
|
|
10091
|
+
style: O0({ right: t.right + 140 + "px" })
|
|
10092
10092
|
}, [
|
|
10093
10093
|
M("div", Qz, [
|
|
10094
10094
|
g(p, {
|
|
@@ -10111,9 +10111,9 @@ function Zz(o, A, e, z, t, a) {
|
|
|
10111
10111
|
b0(w(t.intervalHour) + " h ", 1),
|
|
10112
10112
|
g(r, { activator: "parent" }, {
|
|
10113
10113
|
default: E(() => [
|
|
10114
|
-
g(
|
|
10114
|
+
g(l, { class: "pa-1" }, {
|
|
10115
10115
|
default: E(() => [
|
|
10116
|
-
(n(!0), q(i0, null,
|
|
10116
|
+
(n(!0), q(i0, null, l0(t.intervalOptions, (L, V) => (n(), t0(c, {
|
|
10117
10117
|
key: V,
|
|
10118
10118
|
value: L,
|
|
10119
10119
|
variant: t.intervalHour === L ? "tonal" : "text",
|
|
@@ -10223,7 +10223,7 @@ function Zz(o, A, e, z, t, a) {
|
|
|
10223
10223
|
g(h, { class: "w-100 flex-1-1-0 d-flex pa-0" }, {
|
|
10224
10224
|
default: E(() => [
|
|
10225
10225
|
M("div", Xz, [
|
|
10226
|
-
g(
|
|
10226
|
+
g(s, {
|
|
10227
10227
|
modelValue: t.currentDate,
|
|
10228
10228
|
"onUpdate:modelValue": A[0] || (A[0] = (L) => t.currentDate = L),
|
|
10229
10229
|
locale: "en",
|
|
@@ -10243,9 +10243,9 @@ function Zz(o, A, e, z, t, a) {
|
|
|
10243
10243
|
}),
|
|
10244
10244
|
M("div", yz, [
|
|
10245
10245
|
M("div", Yz, w(t.currentTime), 1),
|
|
10246
|
-
g(
|
|
10246
|
+
g(l, { class: "pa-0 flex-1-1-0" }, {
|
|
10247
10247
|
default: E(() => [
|
|
10248
|
-
(n(!0), q(i0, null,
|
|
10248
|
+
(n(!0), q(i0, null, l0(a.hourOptions, (L, V) => (n(), t0(c, {
|
|
10249
10249
|
key: V,
|
|
10250
10250
|
value: L,
|
|
10251
10251
|
variant: "flat",
|
|
@@ -10466,7 +10466,7 @@ function Zz(o, A, e, z, t, a) {
|
|
|
10466
10466
|
style: O0({ right: t.right + "px" })
|
|
10467
10467
|
}, [
|
|
10468
10468
|
t.showTimezone ? (n(), q("div", Uz, [
|
|
10469
|
-
(n(!0), q(i0, null,
|
|
10469
|
+
(n(!0), q(i0, null, l0(t.offsets, (L) => (n(), t0(p, {
|
|
10470
10470
|
key: L,
|
|
10471
10471
|
size: "small",
|
|
10472
10472
|
text: "",
|
|
@@ -10497,7 +10497,7 @@ function Zz(o, A, e, z, t, a) {
|
|
|
10497
10497
|
], 4)
|
|
10498
10498
|
]);
|
|
10499
10499
|
}
|
|
10500
|
-
const Tz = /* @__PURE__ */ r0(wz, [["render", Zz], ["__scopeId", "data-v-
|
|
10500
|
+
const Tz = /* @__PURE__ */ r0(wz, [["render", Zz], ["__scopeId", "data-v-8fed9f82"]]);
|
|
10501
10501
|
const Gz = {
|
|
10502
10502
|
name: "IdmGL4",
|
|
10503
10503
|
components: {
|
|
@@ -10527,7 +10527,7 @@ const Gz = {
|
|
|
10527
10527
|
emits: [],
|
|
10528
10528
|
data() {
|
|
10529
10529
|
return {
|
|
10530
|
-
|
|
10530
|
+
realTime: void 0,
|
|
10531
10531
|
weatherCheckList: [],
|
|
10532
10532
|
tropicals: void 0,
|
|
10533
10533
|
gateway: "https://cbe.idmwx.com",
|
|
@@ -10543,57 +10543,56 @@ const Gz = {
|
|
|
10543
10543
|
className: "map-gl4-home"
|
|
10544
10544
|
};
|
|
10545
10545
|
function kz(o, A, e, z, t, a) {
|
|
10546
|
-
const p = B("IdmOtherLayer"), i = B("IdmWeatherLayer"), c = B("IdmTropicals"),
|
|
10546
|
+
const p = B("IdmOtherLayer"), i = B("IdmWeatherLayer"), c = B("IdmTropicals"), l = B("IdmMeasure"), r = B("IdmSpot"), s = B("IdmBottomBar");
|
|
10547
10547
|
return n(), q("div", Fz, [
|
|
10548
10548
|
g(p, H({
|
|
10549
10549
|
ref: "idmOtherLayers",
|
|
10550
10550
|
token: e.token,
|
|
10551
10551
|
defaultMeteoToken: t.defaultMeteoToken,
|
|
10552
10552
|
map: e.map,
|
|
10553
|
-
|
|
10553
|
+
realTime: t.realTime,
|
|
10554
10554
|
"before-layer": "empty-layer-1",
|
|
10555
10555
|
gateway: t.gateway,
|
|
10556
10556
|
assistGateway: t.assistGateway,
|
|
10557
10557
|
forecastModel: e.forecastModel
|
|
10558
|
-
}, o.$attrs), null, 16, ["token", "defaultMeteoToken", "map", "
|
|
10558
|
+
}, o.$attrs), null, 16, ["token", "defaultMeteoToken", "map", "realTime", "gateway", "assistGateway", "forecastModel"]),
|
|
10559
10559
|
g(i, H({
|
|
10560
10560
|
ref: "idmWeatherLayers",
|
|
10561
10561
|
map: e.map,
|
|
10562
10562
|
"before-layer": "empty-layer-2",
|
|
10563
|
-
|
|
10563
|
+
realTime: t.realTime,
|
|
10564
10564
|
token: e.token,
|
|
10565
10565
|
defaultMeteoToken: t.defaultMeteoToken,
|
|
10566
10566
|
gateway: t.gateway,
|
|
10567
10567
|
assistGateway: t.assistGateway,
|
|
10568
10568
|
"forecast-model": e.forecastModel,
|
|
10569
10569
|
onWeatherCheckList: A[0] || (A[0] = (m) => t.weatherCheckList = m)
|
|
10570
|
-
}, o.$attrs), null, 16, ["map", "
|
|
10570
|
+
}, o.$attrs), null, 16, ["map", "realTime", "token", "defaultMeteoToken", "gateway", "assistGateway", "forecast-model"]),
|
|
10571
10571
|
g(c, H({
|
|
10572
10572
|
map: e.map,
|
|
10573
10573
|
token: e.token,
|
|
10574
10574
|
defaultMeteoToken: t.defaultMeteoToken,
|
|
10575
|
-
date: t.ts,
|
|
10576
10575
|
tropicals: t.tropicals,
|
|
10577
10576
|
"before-layer": "empty-layer-3",
|
|
10578
|
-
|
|
10577
|
+
realTime: t.realTime,
|
|
10579
10578
|
gateway: t.gateway,
|
|
10580
10579
|
assistGateway: t.assistGateway,
|
|
10581
10580
|
"forecast-model": e.forecastModel
|
|
10582
|
-
}, o.$attrs), null, 16, ["map", "token", "defaultMeteoToken", "
|
|
10583
|
-
g(
|
|
10581
|
+
}, o.$attrs), null, 16, ["map", "token", "defaultMeteoToken", "tropicals", "realTime", "gateway", "assistGateway", "forecast-model"]),
|
|
10582
|
+
g(l, H({ map: e.map }, o.$attrs), null, 16, ["map"]),
|
|
10584
10583
|
g(r, H({
|
|
10585
10584
|
ref: "idmSpot",
|
|
10586
10585
|
map: e.map,
|
|
10587
|
-
|
|
10586
|
+
realTime: t.realTime,
|
|
10588
10587
|
token: e.token,
|
|
10589
10588
|
gateway: t.gateway,
|
|
10590
10589
|
"forecast-model": e.forecastModel
|
|
10591
|
-
}, o.$attrs), null, 16, ["map", "
|
|
10592
|
-
g(
|
|
10590
|
+
}, o.$attrs), null, 16, ["map", "realTime", "token", "gateway", "forecast-model"]),
|
|
10591
|
+
g(s, H({
|
|
10593
10592
|
ref: "idmBottomBar",
|
|
10594
10593
|
"forecast-model": e.forecastModel,
|
|
10595
10594
|
weatherCheckList: t.weatherCheckList,
|
|
10596
|
-
|
|
10595
|
+
onRealTime: A[1] || (A[1] = (m) => t.realTime = m)
|
|
10597
10596
|
}, o.$attrs), null, 16, ["forecast-model", "weatherCheckList"])
|
|
10598
10597
|
], 512);
|
|
10599
10598
|
}
|
|
@@ -10606,7 +10605,7 @@ class Kz {
|
|
|
10606
10605
|
E0(this, "hi");
|
|
10607
10606
|
E0(this, "td");
|
|
10608
10607
|
E0(this, "windy");
|
|
10609
|
-
var e, z, t, a, p, i, c,
|
|
10608
|
+
var e, z, t, a, p, i, c, l, r, s, m, h, x, D, Q, L, V, W, X, I, v, f, U, S, $, J, _, n0, p0, z0, c0, u0, h0, m0, M0, Z, d0, I0, R0, B0, f0, o0, s0, V0, R, g0, W0, b, d, u, C, Y, F, N, A0, T, q0, U0, P, w0, y0, Z0, T0, k, e0, k0, P0, K0, Q0, j0, S0, H0, J0, _0, y, K, $0, A1, b1, c1, r1, n1, l1, O1, s1, d1, q1, m1, u1, g1, f1, h1, W1, E1, I1, R1, v1, B1, C1, V1, w1, x1, Q1, L1, X1, y1, Y1, N1, D1, U1, Z1, T1, G1, F1, k1, P1, K1, j1, S1, H1, J1, _1, $1, AA, eA, oA, tA, zA, MA, aA, pA, iA, bA, cA, rA, nA, lA, OA, sA, dA, qA, mA, uA, gA, fA, hA, WA, EA, IA, RA, vA, BA, CA, VA, wA, xA;
|
|
10610
10609
|
this.i4 = {
|
|
10611
10610
|
source: {
|
|
10612
10611
|
type: "raster",
|
|
@@ -72438,8 +72437,8 @@ class Kz {
|
|
|
72438
72437
|
(z = (e = this.originStyle) == null ? void 0 : e.light.layers) == null ? void 0 : z.find((O) => O.id === "land"),
|
|
72439
72438
|
(a = (t = this.originStyle) == null ? void 0 : t.light.layers) == null ? void 0 : a.find((O) => O.id === "water"),
|
|
72440
72439
|
(i = (p = this.originStyle) == null ? void 0 : p.light.layers) == null ? void 0 : i.find((O) => O.id === "empty-layer-1"),
|
|
72441
|
-
(
|
|
72442
|
-
(
|
|
72440
|
+
(l = (c = this.originStyle) == null ? void 0 : c.light.layers) == null ? void 0 : l.find((O) => O.id === "country-boundaries"),
|
|
72441
|
+
(s = (r = this.originStyle) == null ? void 0 : r.light.layers) == null ? void 0 : s.find((O) => O.id === "water-outline"),
|
|
72443
72442
|
(h = (m = this.originStyle) == null ? void 0 : m.light.layers) == null ? void 0 : h.find((O) => O.id === "water-outline2"),
|
|
72444
72443
|
(D = (x = this.originStyle) == null ? void 0 : x.light.layers) == null ? void 0 : D.find((O) => O.id === "empty-layer-2"),
|
|
72445
72444
|
(L = (Q = this.originStyle) == null ? void 0 : Q.light.layers) == null ? void 0 : L.find((O) => O.id === "empty-layer-3"),
|
|
@@ -72449,14 +72448,14 @@ class Kz {
|
|
|
72449
72448
|
(S = (U = this.originStyle) == null ? void 0 : U.light.layers) == null ? void 0 : S.find((O) => O.id === "ne-10m-outline"),
|
|
72450
72449
|
(J = ($ = this.originStyle) == null ? void 0 : $.light.layers) == null ? void 0 : J.find((O) => O.id === "ne-10m-label"),
|
|
72451
72450
|
(n0 = (_ = this.originStyle) == null ? void 0 : _.light.layers) == null ? void 0 : n0.find((O) => O.id === "china-route-line"),
|
|
72452
|
-
(
|
|
72451
|
+
(z0 = (p0 = this.originStyle) == null ? void 0 : p0.light.layers) == null ? void 0 : z0.find((O) => O.id === "china-route-fill"),
|
|
72453
72452
|
(u0 = (c0 = this.originStyle) == null ? void 0 : c0.light.layers) == null ? void 0 : u0.find((O) => O.id === "china-route-label"),
|
|
72454
72453
|
(m0 = (h0 = this.originStyle) == null ? void 0 : h0.light.layers) == null ? void 0 : m0.find((O) => O.id === "admin-0-boundary-bg"),
|
|
72455
|
-
(Z = (
|
|
72454
|
+
(Z = (M0 = this.originStyle) == null ? void 0 : M0.light.layers) == null ? void 0 : Z.find((O) => O.id === "admin-0-boundary"),
|
|
72456
72455
|
(I0 = (d0 = this.originStyle) == null ? void 0 : d0.light.layers) == null ? void 0 : I0.find((O) => O.id === "admin-0-boundary-disputed"),
|
|
72457
72456
|
(B0 = (R0 = this.originStyle) == null ? void 0 : R0.light.layers) == null ? void 0 : B0.find((O) => O.id === "country-label"),
|
|
72458
72457
|
(o0 = (f0 = this.originStyle) == null ? void 0 : f0.light.layers) == null ? void 0 : o0.find((O) => O.id === "continent-label"),
|
|
72459
|
-
(V0 = (
|
|
72458
|
+
(V0 = (s0 = this.originStyle) == null ? void 0 : s0.light.layers) == null ? void 0 : V0.find((O) => O.id === "state-label")
|
|
72460
72459
|
]
|
|
72461
72460
|
},
|
|
72462
72461
|
dark: {
|
|
@@ -72605,8 +72604,8 @@ class Kz {
|
|
|
72605
72604
|
(A1 = ($0 = this.originStyle) == null ? void 0 : $0.dark.layers) == null ? void 0 : A1.find((O) => O.id === "admin-0-boundary"),
|
|
72606
72605
|
(c1 = (b1 = this.originStyle) == null ? void 0 : b1.dark.layers) == null ? void 0 : c1.find((O) => O.id === "admin-0-boundary-disputed"),
|
|
72607
72606
|
(n1 = (r1 = this.originStyle) == null ? void 0 : r1.dark.layers) == null ? void 0 : n1.find((O) => O.id === "country-label"),
|
|
72608
|
-
(O1 = (
|
|
72609
|
-
(d1 = (
|
|
72607
|
+
(O1 = (l1 = this.originStyle) == null ? void 0 : l1.dark.layers) == null ? void 0 : O1.find((O) => O.id === "continent-label"),
|
|
72608
|
+
(d1 = (s1 = this.originStyle) == null ? void 0 : s1.dark.layers) == null ? void 0 : d1.find((O) => O.id === "state-label")
|
|
72610
72609
|
]
|
|
72611
72610
|
},
|
|
72612
72611
|
satellite: {
|
|
@@ -72791,8 +72790,8 @@ class Kz {
|
|
|
72791
72790
|
(iA = (pA = this.originStyle) == null ? void 0 : pA.nautical.layers) == null ? void 0 : iA.find((O) => O.id === "empty-layer-3"),
|
|
72792
72791
|
(cA = (bA = this.originStyle) == null ? void 0 : bA.nautical.layers) == null ? void 0 : cA.find((O) => O.id === "world-12nm-v4-20231025"),
|
|
72793
72792
|
(nA = (rA = this.originStyle) == null ? void 0 : rA.nautical.layers) == null ? void 0 : nA.find((O) => O.id === "ne-10m-outline"),
|
|
72794
|
-
(OA = (
|
|
72795
|
-
(dA = (
|
|
72793
|
+
(OA = (lA = this.originStyle) == null ? void 0 : lA.nautical.layers) == null ? void 0 : OA.find((O) => O.id === "ne-10m-label"),
|
|
72794
|
+
(dA = (sA = this.originStyle) == null ? void 0 : sA.nautical.layers) == null ? void 0 : dA.find((O) => O.id === "china-route-line"),
|
|
72796
72795
|
(mA = (qA = this.originStyle) == null ? void 0 : qA.nautical.layers) == null ? void 0 : mA.find((O) => O.id === "china-route-fill"),
|
|
72797
72796
|
(gA = (uA = this.originStyle) == null ? void 0 : uA.nautical.layers) == null ? void 0 : gA.find((O) => O.id === "china-route-label"),
|
|
72798
72797
|
this.i4.layer,
|
|
@@ -72895,7 +72894,7 @@ const jz = {
|
|
|
72895
72894
|
},
|
|
72896
72895
|
addScaleControl() {
|
|
72897
72896
|
var A;
|
|
72898
|
-
this.map.addControl(new D0.ScaleControl({ maxWidth:
|
|
72897
|
+
this.map.addControl(new D0.ScaleControl({ maxWidth: 120, unit: "nautical" }), "bottom-left");
|
|
72899
72898
|
const o = (A = document.getElementsByClassName("mapboxgl-ctrl-scale")) == null ? void 0 : A[0];
|
|
72900
72899
|
o && (o.className = "mapboxgl-ctrl-scale " + this.mapFeather);
|
|
72901
72900
|
},
|
|
@@ -72926,7 +72925,7 @@ function _z(o, A, e, z, t, a) {
|
|
|
72926
72925
|
onClick: a.handleZoomIn
|
|
72927
72926
|
}, {
|
|
72928
72927
|
default: E(() => A[0] || (A[0] = [
|
|
72929
|
-
M("i", { class: "iconfont icon-a-Zoomin text-h5 font-weight-bold" }, null, -1)
|
|
72928
|
+
M("i", { class: "iconfont icon-a-Zoomin text-h5 font-weight-bold opacity-80" }, null, -1)
|
|
72930
72929
|
])),
|
|
72931
72930
|
_: 1,
|
|
72932
72931
|
__: [0]
|
|
@@ -72940,7 +72939,7 @@ function _z(o, A, e, z, t, a) {
|
|
|
72940
72939
|
onClick: a.handleZoomOut
|
|
72941
72940
|
}, {
|
|
72942
72941
|
default: E(() => A[1] || (A[1] = [
|
|
72943
|
-
M("i", { class: "iconfont icon-a-Zoomout text-h5 font-weight-bold" }, null, -1)
|
|
72942
|
+
M("i", { class: "iconfont icon-a-Zoomout text-h5 font-weight-bold opacity-80" }, null, -1)
|
|
72944
72943
|
])),
|
|
72945
72944
|
_: 1,
|
|
72946
72945
|
__: [1]
|