@idmwx/idmui-gl3 5.5.1 → 5.5.2
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 +248 -247
- package/dist/index.umd.cjs +4 -4
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -293,14 +293,14 @@ const T = (t, e) => {
|
|
|
293
293
|
class: "radio-tip"
|
|
294
294
|
};
|
|
295
295
|
function $t(t, e, a, r, i, o) {
|
|
296
|
-
const
|
|
296
|
+
const n = z("ElTooltip"), c = z("ElRadio"), h = z("ElRadioGroup"), p = z("ElScrollbar");
|
|
297
297
|
return g(), y("div", yt, [
|
|
298
298
|
s("div", {
|
|
299
299
|
class: "menu-bar-box",
|
|
300
300
|
style: J({ top: a.top + 10 + "px", right: i.right + "px" })
|
|
301
301
|
}, [
|
|
302
302
|
s("div", ft, [
|
|
303
|
-
k(
|
|
303
|
+
k(n, {
|
|
304
304
|
placement: "left",
|
|
305
305
|
effect: "light",
|
|
306
306
|
content: "Menu",
|
|
@@ -309,7 +309,7 @@ function $t(t, e, a, r, i, o) {
|
|
|
309
309
|
default: ae(() => [
|
|
310
310
|
s("div", {
|
|
311
311
|
class: H(a.layerToggle ? "menu-icon active" : "menu-icon"),
|
|
312
|
-
onClick: e[0] || (e[0] = (...
|
|
312
|
+
onClick: e[0] || (e[0] = (...l) => o.handleMenuToggle && o.handleMenuToggle(...l))
|
|
313
313
|
}, e[17] || (e[17] = [
|
|
314
314
|
s("span", { class: "iconfont" }, "", -1)
|
|
315
315
|
]), 2)
|
|
@@ -323,7 +323,7 @@ function $t(t, e, a, r, i, o) {
|
|
|
323
323
|
style: J({ top: a.top + 160 + "px", right: i.right + "px" })
|
|
324
324
|
}, [
|
|
325
325
|
s("div", wt, [
|
|
326
|
-
k(
|
|
326
|
+
k(n, {
|
|
327
327
|
placement: "left",
|
|
328
328
|
effect: "light",
|
|
329
329
|
content: "Measure",
|
|
@@ -332,14 +332,14 @@ function $t(t, e, a, r, i, o) {
|
|
|
332
332
|
default: ae(() => [
|
|
333
333
|
s("div", {
|
|
334
334
|
class: H(i.showMeasure ? "menu-icon active" : "menu-icon"),
|
|
335
|
-
onClick: e[1] || (e[1] = (...
|
|
335
|
+
onClick: e[1] || (e[1] = (...l) => o.handleMeasureToggle && o.handleMeasureToggle(...l))
|
|
336
336
|
}, e[18] || (e[18] = [
|
|
337
337
|
s("span", { class: "iconfont" }, "", -1)
|
|
338
338
|
]), 2)
|
|
339
339
|
]),
|
|
340
340
|
_: 1
|
|
341
341
|
}),
|
|
342
|
-
k(
|
|
342
|
+
k(n, {
|
|
343
343
|
placement: "left",
|
|
344
344
|
effect: "light",
|
|
345
345
|
content: "Point Meteo",
|
|
@@ -348,14 +348,14 @@ function $t(t, e, a, r, i, o) {
|
|
|
348
348
|
default: ae(() => [
|
|
349
349
|
s("div", {
|
|
350
350
|
class: H(i.showPoint ? "menu-icon active" : "menu-icon"),
|
|
351
|
-
onClick: e[2] || (e[2] = (...
|
|
351
|
+
onClick: e[2] || (e[2] = (...l) => o.handlePointToggle && o.handlePointToggle(...l))
|
|
352
352
|
}, e[19] || (e[19] = [
|
|
353
353
|
s("span", { class: "iconfont" }, "", -1)
|
|
354
354
|
]), 2)
|
|
355
355
|
]),
|
|
356
356
|
_: 1
|
|
357
357
|
}),
|
|
358
|
-
k(
|
|
358
|
+
k(n, {
|
|
359
359
|
placement: "left",
|
|
360
360
|
effect: "light",
|
|
361
361
|
content: "Grid",
|
|
@@ -364,14 +364,14 @@ function $t(t, e, a, r, i, o) {
|
|
|
364
364
|
default: ae(() => [
|
|
365
365
|
s("div", {
|
|
366
366
|
class: H(i.showCoord ? "menu-icon active" : "menu-icon"),
|
|
367
|
-
onClick: e[3] || (e[3] = (...
|
|
367
|
+
onClick: e[3] || (e[3] = (...l) => o.handleCoordToggle && o.handleCoordToggle(...l))
|
|
368
368
|
}, e[20] || (e[20] = [
|
|
369
369
|
s("span", { class: "iconfont" }, "", -1)
|
|
370
370
|
]), 2)
|
|
371
371
|
]),
|
|
372
372
|
_: 1
|
|
373
373
|
}),
|
|
374
|
-
k(
|
|
374
|
+
k(n, {
|
|
375
375
|
placement: "left",
|
|
376
376
|
effect: "light",
|
|
377
377
|
content: "3D",
|
|
@@ -380,7 +380,7 @@ function $t(t, e, a, r, i, o) {
|
|
|
380
380
|
default: ae(() => [
|
|
381
381
|
s("div", {
|
|
382
382
|
class: H(i.show3d ? "menu-icon active" : "menu-icon"),
|
|
383
|
-
onClick: e[4] || (e[4] = (...
|
|
383
|
+
onClick: e[4] || (e[4] = (...l) => o.handle3DToggle && o.handle3DToggle(...l))
|
|
384
384
|
}, e[21] || (e[21] = [
|
|
385
385
|
s("span", { class: "iconfont" }, "", -1)
|
|
386
386
|
]), 2)
|
|
@@ -399,24 +399,24 @@ function $t(t, e, a, r, i, o) {
|
|
|
399
399
|
s("div", {
|
|
400
400
|
class: "switch flex-center",
|
|
401
401
|
style: { "font-size": "28px", "margin-right": "0" },
|
|
402
|
-
onClick: e[5] || (e[5] = (...
|
|
402
|
+
onClick: e[5] || (e[5] = (...l) => o.toggleAutoActive && o.toggleAutoActive(...l))
|
|
403
403
|
}, [
|
|
404
404
|
i.autoActive ? (g(), y("i", vt, "")) : (g(), y("i", Lt, ""))
|
|
405
405
|
])
|
|
406
406
|
]),
|
|
407
|
-
(g(!0), y(_, null, N(i.layers.weather.filter((
|
|
408
|
-
key:
|
|
409
|
-
class: H(o.computeLayerClass(
|
|
407
|
+
(g(!0), y(_, null, N(i.layers.weather.filter((l) => l.collected), (l) => (g(), y("div", {
|
|
408
|
+
key: l.key,
|
|
409
|
+
class: H(o.computeLayerClass(l, i.activeWeatherLayers))
|
|
410
410
|
}, [
|
|
411
411
|
s("div", {
|
|
412
412
|
class: "checkbox",
|
|
413
|
-
onClick: (d) => o.handleWeatherLayerPick(
|
|
413
|
+
onClick: (d) => o.handleWeatherLayerPick(l)
|
|
414
414
|
}, null, 8, Ct),
|
|
415
415
|
s("span", {
|
|
416
416
|
class: "name",
|
|
417
|
-
onClick: (d) => o.handleWeatherLayerPick(
|
|
418
|
-
}, B(
|
|
419
|
-
|
|
417
|
+
onClick: (d) => o.handleWeatherLayerPick(l)
|
|
418
|
+
}, B(l.name), 9, xt),
|
|
419
|
+
l.key === "wind" && i.activeWeatherLayers.some((d) => d.key === l.key) ? (g(), y("div", Bt, [
|
|
420
420
|
s("i", {
|
|
421
421
|
class: H(["iconfont sub-layer-icon", i.showWindParticleCollected ? "active" : ""]),
|
|
422
422
|
onClick: e[6] || (e[6] = (d) => o.handleToggleWindParticle())
|
|
@@ -426,7 +426,7 @@ function $t(t, e, a, r, i, o) {
|
|
|
426
426
|
onClick: e[7] || (e[7] = (d) => o.handleToggleWindFeather())
|
|
427
427
|
}, "", 2)
|
|
428
428
|
])) : O("", !0),
|
|
429
|
-
|
|
429
|
+
l.key === "current" && i.activeWeatherLayers.some((d) => d.key === l.key) ? (g(), y("div", It, [
|
|
430
430
|
s("i", {
|
|
431
431
|
class: H(["iconfont sub-layer-icon", i.showCurrentParticleCollected ? "active" : ""]),
|
|
432
432
|
onClick: e[8] || (e[8] = (d) => o.handleToggleCurrentParticle())
|
|
@@ -449,7 +449,7 @@ function $t(t, e, a, r, i, o) {
|
|
|
449
449
|
e[23] || (e[23] = s("div", null, "Layers", -1)),
|
|
450
450
|
s("div", {
|
|
451
451
|
class: "iconfont close-btn",
|
|
452
|
-
onClick: e[10] || (e[10] = (...
|
|
452
|
+
onClick: e[10] || (e[10] = (...l) => o.handleMenuToggle && o.handleMenuToggle(...l))
|
|
453
453
|
}, "")
|
|
454
454
|
]),
|
|
455
455
|
k(p, { style: { flex: "1" } }, {
|
|
@@ -460,29 +460,29 @@ function $t(t, e, a, r, i, o) {
|
|
|
460
460
|
s("div", {
|
|
461
461
|
class: "switch flex-center",
|
|
462
462
|
style: { "margin-right": "0" },
|
|
463
|
-
onClick: e[11] || (e[11] = (...
|
|
463
|
+
onClick: e[11] || (e[11] = (...l) => o.toggleAutoActive && o.toggleAutoActive(...l))
|
|
464
464
|
}, [
|
|
465
465
|
i.autoActive ? (g(), y("i", kt, "")) : (g(), y("i", zt, ""))
|
|
466
466
|
])
|
|
467
467
|
]),
|
|
468
468
|
s("div", Mt, [
|
|
469
|
-
(g(!0), y(_, null, N(i.layers.weather, (
|
|
470
|
-
key:
|
|
469
|
+
(g(!0), y(_, null, N(i.layers.weather, (l) => (g(), y(_, {
|
|
470
|
+
key: l.key
|
|
471
471
|
}, [
|
|
472
|
-
|
|
472
|
+
l.hide ? O("", !0) : (g(), y("div", {
|
|
473
473
|
key: 0,
|
|
474
|
-
class: H(o.computeLayerClass(
|
|
474
|
+
class: H(o.computeLayerClass(l, i.activeWeatherLayers))
|
|
475
475
|
}, [
|
|
476
476
|
s("div", Tt, [
|
|
477
477
|
s("div", {
|
|
478
478
|
class: "checkbox",
|
|
479
|
-
onClick: (d) => o.handleWeatherLayerPick(
|
|
479
|
+
onClick: (d) => o.handleWeatherLayerPick(l)
|
|
480
480
|
}, null, 8, Qt),
|
|
481
481
|
s("span", {
|
|
482
482
|
class: "name",
|
|
483
|
-
onClick: (d) => o.handleWeatherLayerPick(
|
|
484
|
-
}, B(
|
|
485
|
-
|
|
483
|
+
onClick: (d) => o.handleWeatherLayerPick(l)
|
|
484
|
+
}, B(l.name), 9, St),
|
|
485
|
+
l.key === "wind" && i.activeWeatherLayers.some((d) => d.key === l.key) ? (g(), y("div", _t, [
|
|
486
486
|
s("i", {
|
|
487
487
|
class: H(["iconfont sub-layer-icon", i.showWindParticleCollected ? "active" : ""]),
|
|
488
488
|
onClick: e[12] || (e[12] = (d) => o.handleToggleWindParticle())
|
|
@@ -492,7 +492,7 @@ function $t(t, e, a, r, i, o) {
|
|
|
492
492
|
onClick: e[13] || (e[13] = (d) => o.handleToggleWindFeather())
|
|
493
493
|
}, "", 2)
|
|
494
494
|
])) : O("", !0),
|
|
495
|
-
|
|
495
|
+
l.key === "current" && i.activeWeatherLayers.some((d) => d.key === l.key) ? (g(), y("div", Ht, [
|
|
496
496
|
s("i", {
|
|
497
497
|
class: H(["iconfont sub-layer-icon", i.showCurrentParticleCollected ? "active" : ""]),
|
|
498
498
|
onClick: e[14] || (e[14] = (d) => o.handleToggleCurrentParticle())
|
|
@@ -504,9 +504,9 @@ function $t(t, e, a, r, i, o) {
|
|
|
504
504
|
])) : O("", !0)
|
|
505
505
|
]),
|
|
506
506
|
s("div", {
|
|
507
|
-
onClick: (d) => o.handleWeatherLayerCollect(
|
|
507
|
+
onClick: (d) => o.handleWeatherLayerCollect(l)
|
|
508
508
|
}, [
|
|
509
|
-
|
|
509
|
+
l.collected ? (g(), y("i", Nt, "")) : (g(), y("i", jt, ""))
|
|
510
510
|
], 8, Ot)
|
|
511
511
|
], 2))
|
|
512
512
|
], 64))), 128)),
|
|
@@ -522,18 +522,18 @@ function $t(t, e, a, r, i, o) {
|
|
|
522
522
|
s("div", Rt, [
|
|
523
523
|
e[26] || (e[26] = s("div", { class: "layers-title" }, "Other Layers", -1)),
|
|
524
524
|
s("div", Ft, [
|
|
525
|
-
(g(!0), y(_, null, N(i.layers.other, (
|
|
525
|
+
(g(!0), y(_, null, N(i.layers.other, (l) => {
|
|
526
526
|
var d;
|
|
527
527
|
return g(), y("div", {
|
|
528
|
-
key:
|
|
529
|
-
class: H(["layer flex-between", o.computeLayerClass(
|
|
530
|
-
onClick: (b) => o.handleOtherLayerPick(
|
|
528
|
+
key: l.key,
|
|
529
|
+
class: H(["layer flex-between", o.computeLayerClass(l, i.activeOtherLayers)]),
|
|
530
|
+
onClick: (b) => o.handleOtherLayerPick(l)
|
|
531
531
|
}, [
|
|
532
532
|
s("div", Wt, [
|
|
533
533
|
s("div", Ut, [
|
|
534
|
-
(d = o.computeLayerClass(
|
|
534
|
+
(d = o.computeLayerClass(l, i.activeOtherLayers)) != null && d.includes("active") ? (g(), y("i", Yt, "")) : (g(), y("i", Kt, ""))
|
|
535
535
|
]),
|
|
536
|
-
s("span", null, B(
|
|
536
|
+
s("span", null, B(l.name), 1)
|
|
537
537
|
])
|
|
538
538
|
], 10, Gt);
|
|
539
539
|
}), 128))
|
|
@@ -544,21 +544,21 @@ function $t(t, e, a, r, i, o) {
|
|
|
544
544
|
s("div", Jt, [
|
|
545
545
|
k(h, {
|
|
546
546
|
modelValue: i.source,
|
|
547
|
-
"onUpdate:modelValue": e[16] || (e[16] = (
|
|
547
|
+
"onUpdate:modelValue": e[16] || (e[16] = (l) => i.source = l),
|
|
548
548
|
class: "layer-radio flex-col-start-start",
|
|
549
549
|
style: { width: "180px", "align-items": "flex-start" }
|
|
550
550
|
}, {
|
|
551
551
|
default: ae(() => [
|
|
552
|
-
(g(!0), y(_, null, N(i.sourceList, (
|
|
553
|
-
key: `source${
|
|
554
|
-
value:
|
|
552
|
+
(g(!0), y(_, null, N(i.sourceList, (l, d) => (g(), pt(c, {
|
|
553
|
+
key: `source${l.name}`,
|
|
554
|
+
value: l.name
|
|
555
555
|
}, {
|
|
556
556
|
default: ae(() => {
|
|
557
557
|
var b, u, A, w, m, v;
|
|
558
558
|
return [
|
|
559
|
-
U(B(
|
|
560
|
-
d !== 0 ? (g(), y("span", qt, B(
|
|
561
|
-
d === 0 ? (g(), y("div", Vt, "Provides the best forecast")) : (A = (u = (b =
|
|
559
|
+
U(B(l.name) + " ", 1),
|
|
560
|
+
d !== 0 ? (g(), y("span", qt, B(l.resolution) + "km " + B(l.length) + "days", 1)) : O("", !0),
|
|
561
|
+
d === 0 ? (g(), y("div", Vt, "Provides the best forecast")) : (A = (u = (b = l == null ? void 0 : l.update) == null ? void 0 : b.default) == null ? void 0 : u.meta) != null && A.initialisationTime ? (g(), y("div", Zt, "Update: " + B(o.computeDateZ((v = (m = (w = l == null ? void 0 : l.update) == null ? void 0 : w.default) == null ? void 0 : m.meta) == null ? void 0 : v.initialisationTime)), 1)) : O("", !0)
|
|
562
562
|
];
|
|
563
563
|
}),
|
|
564
564
|
_: 2
|
|
@@ -653,13 +653,13 @@ const ta = {
|
|
|
653
653
|
}, 500);
|
|
654
654
|
else if (this.wind) {
|
|
655
655
|
const i = (/* @__PURE__ */ new Date()).valueOf();
|
|
656
|
-
let o = 0,
|
|
656
|
+
let o = 0, n = 0, c = this.empty;
|
|
657
657
|
if ((t = this.wind) != null && t.active && (c = (e = this.wind) == null ? void 0 : e.data), (a = this.map) != null && a.getSource(this.source))
|
|
658
|
-
(r = this.map) == null || r.getSource(this.source).setData(c),
|
|
658
|
+
(r = this.map) == null || r.getSource(this.source).setData(c), n = (/* @__PURE__ */ new Date()).valueOf() - (i + o), console.log("[wind] update elapsed: ", n, ", total: ", o += n);
|
|
659
659
|
else {
|
|
660
660
|
this.map.addSource(this.source, { type: "geojson", data: c });
|
|
661
661
|
for (let h = 0; h < (this.barbs ?? []).length - 1; h++) {
|
|
662
|
-
const p = (this.barbs ?? [])[h] || 0,
|
|
662
|
+
const p = (this.barbs ?? [])[h] || 0, l = (this.barbs ?? [])[h + 1] || 0, d = p < 10 ? `00${p}kts` : p < 100 ? `0${p}kts` : `${p}kts`;
|
|
663
663
|
this.map.addLayer(
|
|
664
664
|
{
|
|
665
665
|
id: d,
|
|
@@ -669,7 +669,7 @@ const ta = {
|
|
|
669
669
|
// @ts-ignore
|
|
670
670
|
[">=", "spd", p],
|
|
671
671
|
// @ts-ignore
|
|
672
|
-
["<", "spd",
|
|
672
|
+
["<", "spd", l]
|
|
673
673
|
],
|
|
674
674
|
source: this.source,
|
|
675
675
|
layout: {
|
|
@@ -696,7 +696,7 @@ const ta = {
|
|
|
696
696
|
this.beforeLayer
|
|
697
697
|
);
|
|
698
698
|
}
|
|
699
|
-
this.windBarbLoaded = !0,
|
|
699
|
+
this.windBarbLoaded = !0, n = (/* @__PURE__ */ new Date()).valueOf() - (i + o), console.log("[wind] add elapsed: ", n, ", total: ", o += n);
|
|
700
700
|
}
|
|
701
701
|
}
|
|
702
702
|
},
|
|
@@ -767,8 +767,8 @@ class Je {
|
|
|
767
767
|
* @param [lb.x, lb.y, rt.x, rt.y]
|
|
768
768
|
*/
|
|
769
769
|
getBoundPixel() {
|
|
770
|
-
const e = this.map.getBounds(), a = this.map.getZoom() + 1, r = [e._ne.lng, e._ne.lat], i = [e._sw.lng, e._sw.lat], [o,
|
|
771
|
-
return [d, b, p + u,
|
|
770
|
+
const e = this.map.getBounds(), a = this.map.getZoom() + 1, r = [e._ne.lng, e._ne.lat], i = [e._sw.lng, e._sw.lat], [o, n] = this.convertNLng(r[0]), [c, h] = this.convertNLng(i[0]), [p, l] = this.mercator.px([o, r[1]], a), [d, b] = this.mercator.px([c, i[1]], a), u = Math.round(this.mercator.size * Math.pow(2, a) * (n + h));
|
|
771
|
+
return [d, b, p + u, l];
|
|
772
772
|
}
|
|
773
773
|
/**
|
|
774
774
|
* [视窗边界像素宽度]
|
|
@@ -783,13 +783,13 @@ class Je {
|
|
|
783
783
|
* @param zoom
|
|
784
784
|
*/
|
|
785
785
|
getWorldCopy(e, a) {
|
|
786
|
-
const r = 2 ** a, [i, o,
|
|
787
|
-
for (let
|
|
788
|
-
for (let d = i; d <=
|
|
789
|
-
h.push([d,
|
|
790
|
-
return h.map((
|
|
786
|
+
const r = 2 ** a, [i, o, n, c] = e.map((l) => ~~(l / (r * 256))), h = [];
|
|
787
|
+
for (let l = c; l <= o; l++)
|
|
788
|
+
for (let d = i; d <= n; d++)
|
|
789
|
+
h.push([d, l]);
|
|
790
|
+
return h.map((l) => {
|
|
791
791
|
const d = 2 ** a * 256;
|
|
792
|
-
return [
|
|
792
|
+
return [l[0] * d, l[1] * d, d];
|
|
793
793
|
});
|
|
794
794
|
}
|
|
795
795
|
resize() {
|
|
@@ -830,9 +830,9 @@ class Ce {
|
|
|
830
830
|
* @param width??
|
|
831
831
|
* @param height??
|
|
832
832
|
*/
|
|
833
|
-
createTexture(e, a, r, i, o,
|
|
833
|
+
createTexture(e, a, r, i, o, n, c) {
|
|
834
834
|
const h = e.createTexture();
|
|
835
|
-
return e.bindTexture(e.TEXTURE_2D, h), e.texParameteri(e.TEXTURE_2D, e.TEXTURE_MIN_FILTER, a), e.texParameteri(e.TEXTURE_2D, e.TEXTURE_MAG_FILTER, r), e.texParameteri(e.TEXTURE_2D, e.TEXTURE_WRAP_S, i), e.texParameteri(e.TEXTURE_2D, e.TEXTURE_WRAP_T, i), o instanceof Uint8Array ? e.texImage2D(e.TEXTURE_2D, 0, e.RGBA,
|
|
835
|
+
return e.bindTexture(e.TEXTURE_2D, h), e.texParameteri(e.TEXTURE_2D, e.TEXTURE_MIN_FILTER, a), e.texParameteri(e.TEXTURE_2D, e.TEXTURE_MAG_FILTER, r), e.texParameteri(e.TEXTURE_2D, e.TEXTURE_WRAP_S, i), e.texParameteri(e.TEXTURE_2D, e.TEXTURE_WRAP_T, i), o instanceof Uint8Array ? e.texImage2D(e.TEXTURE_2D, 0, e.RGBA, n, c, 0, e.RGBA, e.UNSIGNED_BYTE, o) : e.texImage2D(e.TEXTURE_2D, 0, e.RGBA, e.RGBA, e.UNSIGNED_BYTE, o), e.bindTexture(e.TEXTURE_2D, null), h;
|
|
836
836
|
}
|
|
837
837
|
/**
|
|
838
838
|
* 创建数据资源
|
|
@@ -855,8 +855,8 @@ class Ce {
|
|
|
855
855
|
* @param fragmentSchema
|
|
856
856
|
*/
|
|
857
857
|
createProgram(e, a, r) {
|
|
858
|
-
const i = e.createProgram(), o = this.createShader(e, e.VERTEX_SHADER, a),
|
|
859
|
-
if (i && o &&
|
|
858
|
+
const i = e.createProgram(), o = this.createShader(e, e.VERTEX_SHADER, a), n = this.createShader(e, e.FRAGMENT_SHADER, r);
|
|
859
|
+
if (i && o && n && (e.attachShader(i, o), e.attachShader(i, n), e.linkProgram(i), !e.getProgramParameter(i, e.LINK_STATUS)))
|
|
860
860
|
throw new Error(e.getProgramInfoLog(i) || "error happened while creating ramp color program");
|
|
861
861
|
return i;
|
|
862
862
|
}
|
|
@@ -869,8 +869,8 @@ class Ce {
|
|
|
869
869
|
createProgramWrapper(e, a, r) {
|
|
870
870
|
const i = this.createProgram(e, a, r);
|
|
871
871
|
if (i) {
|
|
872
|
-
const o = { program: i },
|
|
873
|
-
for (let h = 0; h <
|
|
872
|
+
const o = { program: i }, n = e.getProgramParameter(i, e.ACTIVE_ATTRIBUTES);
|
|
873
|
+
for (let h = 0; h < n; h++) {
|
|
874
874
|
const p = e.getActiveAttrib(i, h);
|
|
875
875
|
o[p.name] = e.getAttribLocation(i, p.name);
|
|
876
876
|
}
|
|
@@ -887,21 +887,21 @@ class Ce {
|
|
|
887
887
|
* @param colors
|
|
888
888
|
*/
|
|
889
889
|
setup(e, a, r = !1, i, o) {
|
|
890
|
-
const
|
|
891
|
-
|
|
892
|
-
const c =
|
|
890
|
+
const n = document.createElement("canvas");
|
|
891
|
+
n.width = 256, n.height = 1;
|
|
892
|
+
const c = n.getContext("2d");
|
|
893
893
|
if (c && e) {
|
|
894
894
|
const h = c == null ? void 0 : c.createLinearGradient(0, 0, 256, 0);
|
|
895
|
-
return a.forEach(([p,
|
|
896
|
-
h.addColorStop(p,
|
|
895
|
+
return a.forEach(([p, l]) => {
|
|
896
|
+
h.addColorStop(p, l);
|
|
897
897
|
}), c.fillStyle = h, c.fillRect(0, 0, 256, 1), {
|
|
898
|
-
canvas:
|
|
898
|
+
canvas: n,
|
|
899
899
|
texture: this.createTexture(
|
|
900
900
|
e,
|
|
901
901
|
e.LINEAR,
|
|
902
902
|
e.LINEAR,
|
|
903
903
|
e.CLAMP_TO_EDGE,
|
|
904
|
-
r ? new Uint8Array(c.getImageData(0, 0, 256, 1).data) :
|
|
904
|
+
r ? new Uint8Array(c.getImageData(0, 0, 256, 1).data) : n,
|
|
905
905
|
i,
|
|
906
906
|
o
|
|
907
907
|
)
|
|
@@ -910,19 +910,19 @@ class Ce {
|
|
|
910
910
|
}
|
|
911
911
|
setupParticle(e, a = 1e3) {
|
|
912
912
|
const r = Math.ceil(Math.sqrt(a)), i = r * r, o = new Uint8Array(i * 4);
|
|
913
|
-
for (let
|
|
914
|
-
o[
|
|
915
|
-
const
|
|
916
|
-
for (let
|
|
917
|
-
h[
|
|
913
|
+
for (let l = 0; l < o.length; l++)
|
|
914
|
+
o[l] = Math.floor(Math.random() * 256);
|
|
915
|
+
const n = this.createTexture(e, e.NEAREST, e.NEAREST, e.CLAMP_TO_EDGE, o, r, r), c = this.createTexture(e, e.NEAREST, e.NEAREST, e.CLAMP_TO_EDGE, o, r, r), h = new Float32Array(i);
|
|
916
|
+
for (let l = 0; l < i; l++)
|
|
917
|
+
h[l] = l;
|
|
918
918
|
const p = this.createDataBuffer(e, "array", h);
|
|
919
|
-
return { resolution: r, total: i, texture0:
|
|
919
|
+
return { resolution: r, total: i, texture0: n, texture1: c, indexBuffer: p };
|
|
920
920
|
}
|
|
921
921
|
bind(e, a, r) {
|
|
922
922
|
const i = this.createProgram(e, a, r);
|
|
923
923
|
if (i) {
|
|
924
|
-
const o = this.createDataBuffer(e, "array", void 0),
|
|
925
|
-
e.enableVertexAttribArray(
|
|
924
|
+
const o = this.createDataBuffer(e, "array", void 0), n = e.getAttribLocation(i, "a_position");
|
|
925
|
+
e.enableVertexAttribArray(n), e.vertexAttribPointer(n, 2, e.FLOAT, !1, 0, 0);
|
|
926
926
|
const c = new Float32Array([0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1]);
|
|
927
927
|
this.createDataBuffer(e, "array", c);
|
|
928
928
|
const h = e.getAttribLocation(i, "a_texCoord");
|
|
@@ -930,33 +930,33 @@ class Ce {
|
|
|
930
930
|
}
|
|
931
931
|
return {};
|
|
932
932
|
}
|
|
933
|
-
bindParticle(e, a, r, i, o,
|
|
934
|
-
const c = this.createProgramWrapper(e, a, r), h = this.createProgramWrapper(e, i, o), p = this.createProgramWrapper(e, i,
|
|
935
|
-
return { particle: c, screen: h, update: p, quadBuffer:
|
|
933
|
+
bindParticle(e, a, r, i, o, n) {
|
|
934
|
+
const c = this.createProgramWrapper(e, a, r), h = this.createProgramWrapper(e, i, o), p = this.createProgramWrapper(e, i, n), l = this.createDataBuffer(e, "array", new Float32Array([0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1])), d = e.createFramebuffer();
|
|
935
|
+
return { particle: c, screen: h, update: p, quadBuffer: l, frameBuffer: d };
|
|
936
936
|
}
|
|
937
|
-
draw(e, a, r, i, o,
|
|
937
|
+
draw(e, a, r, i, o, n, c) {
|
|
938
938
|
var h, p;
|
|
939
939
|
if (a && r) {
|
|
940
940
|
e.resize(), a == null || a.viewport(0, 0, (h = a == null ? void 0 : a.canvas) == null ? void 0 : h.width, (p = a == null ? void 0 : a.canvas) == null ? void 0 : p.height), a.clearColor(0, 0, 0, 0), a.clear(a.COLOR_BUFFER_BIT | a.DEPTH_BUFFER_BIT);
|
|
941
941
|
try {
|
|
942
|
-
const
|
|
943
|
-
if (a.useProgram(r), a.uniform2f(
|
|
942
|
+
const l = a.getUniformLocation(r, "u_resolution"), d = a.getUniformLocation(r, "u_image"), b = a.getUniformLocation(r, "u_color");
|
|
943
|
+
if (a.useProgram(r), a.uniform2f(l, a.canvas.width * e.ratio, a.canvas.height * e.ratio), a.activeTexture(a.TEXTURE0), a.bindTexture(a.TEXTURE_2D, i), a.uniform1i(d, 0), a.activeTexture(a.TEXTURE1), a.bindTexture(a.TEXTURE_2D, o), a.uniform1i(b, 1), c != null && c.uvRange && (c != null && c.sRange)) {
|
|
944
944
|
const m = a.getUniformLocation(r, "u_range_u_v"), v = a.getUniformLocation(r, "u_range_s");
|
|
945
945
|
a.uniform2f(m, c.uvRange[0], c.uvRange[1]), a.uniform2f(v, c.sRange[0], c.sRange[1]);
|
|
946
946
|
}
|
|
947
947
|
const u = e.getBoundPixel(), A = e.map.getZoom() + 1, w = e.getWorldCopy(u, A);
|
|
948
948
|
for (const m of w) {
|
|
949
949
|
const v = (m[0] - u[0]) * e.ratio, f = (m[1] - u[3]) * e.ratio, L = m[2] * e.ratio, [P, M, I, j] = [v, L + v, f, L + f], W = new Float32Array([P, I, M, I, P, j, P, j, M, I, M, j]);
|
|
950
|
-
a.bindBuffer(a.ARRAY_BUFFER,
|
|
950
|
+
a.bindBuffer(a.ARRAY_BUFFER, n), a.bufferData(a.ARRAY_BUFFER, W, a.STATIC_DRAW), a.drawArrays(a.TRIANGLES, 0, 6);
|
|
951
951
|
}
|
|
952
|
-
} catch (
|
|
953
|
-
console.log(`render failed...${
|
|
952
|
+
} catch (l) {
|
|
953
|
+
console.log(`render failed...${l}`);
|
|
954
954
|
}
|
|
955
955
|
}
|
|
956
956
|
}
|
|
957
957
|
drawParticle(e, a, r, i, o) {
|
|
958
|
-
var
|
|
959
|
-
a && (a == null || a.viewport(0, 0, (
|
|
958
|
+
var n, c;
|
|
959
|
+
a && (a == null || a.viewport(0, 0, (n = a == null ? void 0 : a.canvas) == null ? void 0 : n.width, (c = a == null ? void 0 : a.canvas) == null ? void 0 : c.height), a.disable(a.DEPTH_TEST), a.disable(a.STENCIL_TEST), a.activeTexture(a.TEXTURE0), a.bindTexture(a.TEXTURE_2D, r), a.activeTexture(a.TEXTURE1), a.bindTexture(a.TEXTURE_2D, i.texture0), this.renderScreen(e, a, i, o), this.updateParticles(e, a, i, o));
|
|
960
960
|
}
|
|
961
961
|
renderScreen(e, a, r, i) {
|
|
962
962
|
a.bindFramebuffer(a.FRAMEBUFFER, r.frameBuffer), a.framebufferTexture2D(a.FRAMEBUFFER, a.COLOR_ATTACHMENT0, a.TEXTURE_2D, r.screenTexture, 0), a.viewport(0, 0, a.canvas.width, a.canvas.height), this.renderScreenTexture(a, r.backgroundTexture, r.screen, r.quadBuffer, 0.95), this.renderParticles(e, a, r, i), a.bindFramebuffer(a.FRAMEBUFFER, null), this.renderScreenTexture(a, r.screenTexture, r.screen, r.quadBuffer, 1);
|
|
@@ -974,11 +974,11 @@ class Ce {
|
|
|
974
974
|
}
|
|
975
975
|
}
|
|
976
976
|
updateParticles(e, a, r, i) {
|
|
977
|
-
var
|
|
977
|
+
var n, c;
|
|
978
978
|
if (a) {
|
|
979
979
|
a.bindFramebuffer(a.FRAMEBUFFER, r.frameBuffer), a.framebufferTexture2D(a.FRAMEBUFFER, a.COLOR_ATTACHMENT0, a.TEXTURE_2D, r.texture1, 0), a.viewport(0, 0, r.resolution, r.resolution), a.useProgram(r.update.program), a.bindBuffer(a.ARRAY_BUFFER, r.quadBuffer), a.enableVertexAttribArray(r.update.a_pos), a.vertexAttribPointer(r.update.a_pos, 2, a.FLOAT, !1, 0, 0), a.uniform1i(r.update.u_factor, 0), a.uniform1i(r.update.u_particles, 1);
|
|
980
980
|
const h = e.getBoundRange();
|
|
981
|
-
a.uniform4f(r.update.u_viewport, h[0], h[1], h[2], h[3]), a.uniform1f(r.update.u_rand_seed, Math.random()), a.uniform2f(r.update.u_factor_res, (
|
|
981
|
+
a.uniform4f(r.update.u_viewport, h[0], h[1], h[2], h[3]), a.uniform1f(r.update.u_rand_seed, Math.random()), a.uniform2f(r.update.u_factor_res, (n = r == null ? void 0 : r.image) == null ? void 0 : n.width, (c = r == null ? void 0 : r.image) == null ? void 0 : c.height), a.uniform2f(r.update.u_factor_min, i.uvRange[0], i.uvRange[0]), a.uniform2f(r.update.u_factor_max, i.uvRange[1], i.uvRange[1]), a.uniform1f(r.update.u_speed_factor, i.speedFactor * e.ratio), a.uniform1f(r.update.u_drop_rate, i.dropRate), a.uniform1f(r.update.u_drop_rate_bump, i.dropRateBump), a.drawArrays(a.TRIANGLES, 0, 6);
|
|
982
982
|
}
|
|
983
983
|
const o = r.texture0;
|
|
984
984
|
r.texture0 = r.texture1, r.texture1 = o;
|
|
@@ -3222,8 +3222,8 @@ const oa = {
|
|
|
3222
3222
|
}
|
|
3223
3223
|
},
|
|
3224
3224
|
handleClear() {
|
|
3225
|
-
var t, e, a, r, i, o,
|
|
3226
|
-
(t = this.viewport) == null || t.toggle(!1), (e = this.viewport) == null || e.toggleParticle(!1), this.context = void 0, this.particleContext = void 0, this.etime = void 0, this.initial = !0, (r = (a = this.viewport) == null ? void 0 : a.map) == null || r.off("resize", this.handleResize), (o = (i = this.viewport) == null ? void 0 : i.map) == null || o.off("movestart", this.handlePause), (c = (
|
|
3225
|
+
var t, e, a, r, i, o, n, c;
|
|
3226
|
+
(t = this.viewport) == null || t.toggle(!1), (e = this.viewport) == null || e.toggleParticle(!1), this.context = void 0, this.particleContext = void 0, this.etime = void 0, this.initial = !0, (r = (a = this.viewport) == null ? void 0 : a.map) == null || r.off("resize", this.handleResize), (o = (i = this.viewport) == null ? void 0 : i.map) == null || o.off("movestart", this.handlePause), (c = (n = this.viewport) == null ? void 0 : n.map) == null || c.off("moveend", this.handlePlay), this.handlePause();
|
|
3227
3227
|
},
|
|
3228
3228
|
handleSetup() {
|
|
3229
3229
|
if (!this.context) {
|
|
@@ -3308,8 +3308,8 @@ const oa = {
|
|
|
3308
3308
|
}
|
|
3309
3309
|
}, sa = { key: 0 };
|
|
3310
3310
|
function na(t, e, a, r, i, o) {
|
|
3311
|
-
var
|
|
3312
|
-
return (
|
|
3311
|
+
var n;
|
|
3312
|
+
return (n = a.factor) != null && n.active ? (g(), y("div", sa, [
|
|
3313
3313
|
s("div", {
|
|
3314
3314
|
class: "legend-bars flex-center",
|
|
3315
3315
|
style: J([{ position: "absolute" }, { right: i.right + "px", bottom: a.bottom }])
|
|
@@ -3558,8 +3558,8 @@ const pa = {
|
|
|
3558
3558
|
}
|
|
3559
3559
|
},
|
|
3560
3560
|
handleClear() {
|
|
3561
|
-
var t, e, a, r, i, o,
|
|
3562
|
-
(t = this.viewport) == null || t.toggle(!1), (e = this.viewport) == null || e.toggleParticle(!1), this.context = void 0, this.particleContext = void 0, this.etime = void 0, this.initial = !0, (r = (a = this.viewport) == null ? void 0 : a.map) == null || r.off("resize", this.handleResize), (o = (i = this.viewport) == null ? void 0 : i.map) == null || o.off("movestart", this.handlePause), (c = (
|
|
3561
|
+
var t, e, a, r, i, o, n, c;
|
|
3562
|
+
(t = this.viewport) == null || t.toggle(!1), (e = this.viewport) == null || e.toggleParticle(!1), this.context = void 0, this.particleContext = void 0, this.etime = void 0, this.initial = !0, (r = (a = this.viewport) == null ? void 0 : a.map) == null || r.off("resize", this.handleResize), (o = (i = this.viewport) == null ? void 0 : i.map) == null || o.off("movestart", this.handlePause), (c = (n = this.viewport) == null ? void 0 : n.map) == null || c.off("moveend", this.handlePlay), this.handlePause();
|
|
3563
3563
|
},
|
|
3564
3564
|
handleSetup() {
|
|
3565
3565
|
if (!this.context) {
|
|
@@ -3639,8 +3639,8 @@ const pa = {
|
|
|
3639
3639
|
}
|
|
3640
3640
|
}, ma = { key: 0 };
|
|
3641
3641
|
function ua(t, e, a, r, i, o) {
|
|
3642
|
-
var
|
|
3643
|
-
return (
|
|
3642
|
+
var n;
|
|
3643
|
+
return (n = a.factor) != null && n.active ? (g(), y("div", ma, [
|
|
3644
3644
|
s("div", {
|
|
3645
3645
|
class: "legend-bars flex-center",
|
|
3646
3646
|
style: J([{ position: "absolute" }, { right: i.right + "px", bottom: a.bottom }])
|
|
@@ -3990,8 +3990,8 @@ const va = /* @__PURE__ */ T(wa, [["render", ba]]), La = {
|
|
|
3990
3990
|
}, 500);
|
|
3991
3991
|
else if (this.prmsl) {
|
|
3992
3992
|
const r = (/* @__PURE__ */ new Date()).valueOf();
|
|
3993
|
-
let i = 0, o = 0,
|
|
3994
|
-
this.prmsl.active && (
|
|
3993
|
+
let i = 0, o = 0, n = this.empty;
|
|
3994
|
+
this.prmsl.active && (n = this.prmsl.data), (t = this.map) != null && t.getSource(this.source) ? ((e = this.map) == null || e.getSource(this.source).setData(n), o = (/* @__PURE__ */ new Date()).valueOf() - (r + i), console.log("[prmsl] update elapsed: ", o, ", total: ", i += o)) : (this.map.addSource(this.source, { type: "geojson", data: n }), this.map.addLayer(
|
|
3995
3995
|
{
|
|
3996
3996
|
id: this.layer,
|
|
3997
3997
|
type: "line",
|
|
@@ -4222,29 +4222,29 @@ const Da = {
|
|
|
4222
4222
|
var r, i;
|
|
4223
4223
|
const t = ((i = (r = this.tropicals) == null ? void 0 : r.data) == null ? void 0 : i.features) || [], e = F().utc().hour(), a = [];
|
|
4224
4224
|
t.forEach((o) => {
|
|
4225
|
-
var
|
|
4226
|
-
(
|
|
4225
|
+
var n, c, h;
|
|
4226
|
+
(n = o.properties) != null && n.name && !a.includes((c = o.properties) == null ? void 0 : c.name) && a.push((h = o.properties) == null ? void 0 : h.name);
|
|
4227
4227
|
}), a.forEach((o) => {
|
|
4228
4228
|
var p;
|
|
4229
|
-
let
|
|
4230
|
-
const h = t.filter((
|
|
4229
|
+
let n = 0, c;
|
|
4230
|
+
const h = t.filter((l) => {
|
|
4231
4231
|
var d, b;
|
|
4232
|
-
return ((b = (d =
|
|
4232
|
+
return ((b = (d = l.properties) == null ? void 0 : d.category) == null ? void 0 : b.split("-")[0]) === o;
|
|
4233
4233
|
});
|
|
4234
|
-
(p = h.filter((
|
|
4234
|
+
(p = h.filter((l) => {
|
|
4235
4235
|
var d, b;
|
|
4236
|
-
return ((d =
|
|
4237
|
-
})[0]) == null || p.properties.model, h.forEach((
|
|
4236
|
+
return ((d = l.geometry) == null ? void 0 : d.type) === "LineString" && ((b = l.properties) == null ? void 0 : b.type) === "forecast";
|
|
4237
|
+
})[0]) == null || p.properties.model, h.forEach((l, d) => {
|
|
4238
4238
|
var b, u, A, w, m, v;
|
|
4239
|
-
((b =
|
|
4240
|
-
}), h.map((
|
|
4239
|
+
((b = l.geometry) == null ? void 0 : b.type) === "Point" && ((u = l.properties) == null ? void 0 : u.type) === "history" && (n = d, c = c === void 0 ? d : c), ((A = l.geometry) == null ? void 0 : A.type) === "Point" && ((w = l.properties) == null ? void 0 : w.type) === "forecast" && c === void 0 && (c = d), ((m = l.geometry) == null ? void 0 : m.type) === "LineString" && ((v = l.properties) == null || v.type);
|
|
4240
|
+
}), h.map((l, d) => {
|
|
4241
4241
|
var b, u, A, w, m, v, f;
|
|
4242
|
-
if (((b =
|
|
4243
|
-
|
|
4244
|
-
const L = F((f =
|
|
4245
|
-
|
|
4242
|
+
if (((b = l.geometry) == null ? void 0 : b.type) === "LineString" && ((u = l.properties) == null || u.type), ((A = l.geometry) == null ? void 0 : A.type) === "Point" && ((w = l.properties) == null ? void 0 : w.type) === "forecast" && (l.properties.name = o, l.properties.format = F(l.properties.date).utcOffset(this.timeZone).format(`MMM-DD,HHmm [(utc ${this.computeTimezone})]`)), ((m = l.geometry) == null ? void 0 : m.type) === "Point" && ((v = l.properties) == null ? void 0 : v.type) === "history") {
|
|
4243
|
+
l.properties.format = F(l.properties.date).utcOffset(this.timeZone).format(`MMM-DD,HHmm [(utc ${this.computeTimezone})]`);
|
|
4244
|
+
const L = F((f = l.properties) == null ? void 0 : f.date).utc().format("HHmm") === F().utc().hour(Math.floor(e / 6) * 6).minute("00").format("HHmm");
|
|
4245
|
+
l.properties.showHistoryLabel = L || d === n, l.properties.showNameLabel = d === n, l.properties.name = o;
|
|
4246
4246
|
}
|
|
4247
|
-
return
|
|
4247
|
+
return l;
|
|
4248
4248
|
});
|
|
4249
4249
|
}), this.handleInit();
|
|
4250
4250
|
},
|
|
@@ -4279,7 +4279,7 @@ const Da = {
|
|
|
4279
4279
|
));
|
|
4280
4280
|
},
|
|
4281
4281
|
handleRender() {
|
|
4282
|
-
var t, e, a, r, i, o,
|
|
4282
|
+
var t, e, a, r, i, o, n, c, h, p;
|
|
4283
4283
|
if (!this.map)
|
|
4284
4284
|
setTimeout(() => {
|
|
4285
4285
|
this.handleRender();
|
|
@@ -4385,7 +4385,7 @@ const Da = {
|
|
|
4385
4385
|
],
|
|
4386
4386
|
"text-halo-width": 4
|
|
4387
4387
|
}
|
|
4388
|
-
}), u = (/* @__PURE__ */ new Date()).valueOf() - (d + b), console.log("[tropical] add elapsed: ", u, ", total: ", b += u)), (o = this.map) != null && o.getSource(this.clusterSource) ? ((c = this.map) == null || c.getSource(this.clusterSource).setData((
|
|
4388
|
+
}), u = (/* @__PURE__ */ new Date()).valueOf() - (d + b), console.log("[tropical] add elapsed: ", u, ", total: ", b += u)), (o = this.map) != null && o.getSource(this.clusterSource) ? ((c = this.map) == null || c.getSource(this.clusterSource).setData((n = this.tropicals) != null && n.active ? this.tropicals.data : this.empty), u = (/* @__PURE__ */ new Date()).valueOf() - (d + b), console.log("[tropical] update elapsed: ", u, ", total: ", b += u)) : (this.map.addSource(this.clusterSource, {
|
|
4389
4389
|
type: "geojson",
|
|
4390
4390
|
data: (h = this.tropicals) != null && h.active ? (p = this.tropicals) == null ? void 0 : p.data : this.empty
|
|
4391
4391
|
// cluster: true,
|
|
@@ -4505,8 +4505,8 @@ const Da = {
|
|
|
4505
4505
|
}), u = (/* @__PURE__ */ new Date()).valueOf() - (d + b), console.log("[tropical] add elapsed: ", u, ", total: ", b += u));
|
|
4506
4506
|
}
|
|
4507
4507
|
this.handleDrawCircle();
|
|
4508
|
-
const
|
|
4509
|
-
this.interpolateData = JSON.parse(JSON.stringify(
|
|
4508
|
+
const l = nt.interpolate(this.tropicals, 1);
|
|
4509
|
+
this.interpolateData = JSON.parse(JSON.stringify(l)), this.interpolateData.filter((d) => d.properties.name === "kristy" && d.properties.model === "ecmwf"), this.handleDateChange();
|
|
4510
4510
|
}
|
|
4511
4511
|
},
|
|
4512
4512
|
handleClear() {
|
|
@@ -4514,7 +4514,7 @@ const Da = {
|
|
|
4514
4514
|
this.map && (this.map.getLayer(this.historyLayer) && this.map.removeLayer(this.historyLayer), this.map.getLayer(this.forecastLayer) && this.map.removeLayer(this.forecastLayer), this.map.getLayer(this.forecastModelLayer) && this.map.removeLayer(this.forecastModelLayer), this.map.getLayer(this.forecastNameLayer) && this.map.removeLayer(this.forecastNameLayer), this.map.getLayer(this.pointCircleLayer) && this.map.removeLayer(this.pointCircleLayer), this.map.getLayer(this.pointCircleLayer + "-border") && this.map.removeLayer(this.pointCircleLayer + "-border"), this.map.getLayer(this.pointLabelLayer) && this.map.removeLayer(this.pointLabelLayer), this.map.getLayer(this.historyPointCircleLayer) && this.map.removeLayer(this.historyPointCircleLayer), this.map.getLayer(this.historyPointCircleLayer + "-border") && this.map.removeLayer(this.historyPointCircleLayer + "-border"), this.map.getLayer(this.historyPointCircleLayer + "-inner") && this.map.removeLayer(this.historyPointCircleLayer + "-inner"), this.map.getLayer(this.historyPointLabelLayer) && this.map.removeLayer(this.historyPointLabelLayer), this.map.getLayer(this.interpolateLineLayer) && this.map.removeLayer(this.interpolateLineLayer), (t = this.interpolateMarkers) == null || t.forEach((e) => e == null ? void 0 : e.remove()), this.map.getSource(this.source) && this.map.removeSource(this.source), this.map.getSource(this.clusterSource) && this.map.removeSource(this.clusterSource), this.map.getSource(this.interpolateSource) && this.map.removeSource(this.interpolateSource), this.map.getLayer(this.circleLayer) && this.map.removeLayer(this.circleLayer), this.map.getSource(this.circleSource) && this.map.removeSource(this.circleSource));
|
|
4515
4515
|
},
|
|
4516
4516
|
handleDateChange() {
|
|
4517
|
-
var t, e, a, r, i, o,
|
|
4517
|
+
var t, e, a, r, i, o, n, c, h, p, l, d, b, u, A, w, m, v, f, L, P, M, I, j, W, Y, K, V, ee, ce, he, de, pe, me, ue, ge;
|
|
4518
4518
|
if ((t = this.interpolateMarkers) == null || t.forEach((te) => te == null ? void 0 : te.remove()), this.circleSourceData.features = [], (e = this.interpolateData) != null && e.length && this.tropicals.active) {
|
|
4519
4519
|
const te = F(this.date).utc().set({ minute: 0, second: 0, millisecond: 0 }), oe = this.interpolateData.filter((Q) => Q.properties.date === te.format() && !Q.properties.disabled), Ae = this.handleComputePolygons(oe), ie = D.featureCollection([...oe]);
|
|
4520
4520
|
Ae.forEach((Q) => {
|
|
@@ -4536,7 +4536,7 @@ const Da = {
|
|
|
4536
4536
|
for (const Q of oe)
|
|
4537
4537
|
if (!Q.properties.disabled) {
|
|
4538
4538
|
let q = "#f44336";
|
|
4539
|
-
((c = (
|
|
4539
|
+
((c = (n = Q.properties) == null ? void 0 : n.wind) == null ? void 0 : c.spd) < 17.2 || !((p = (h = Q.properties) == null ? void 0 : h.wind) != null && p.spd) ? q = "#03f869" : ((d = (l = Q.properties) == null ? void 0 : l.wind) == null ? void 0 : d.spd) >= 17.2 && ((u = (b = Q.properties) == null ? void 0 : b.wind) == null ? void 0 : u.spd) < 24.5 ? q = "#f2f202" : ((w = (A = Q.properties) == null ? void 0 : A.wind) == null ? void 0 : w.spd) >= 24.5 && ((v = (m = Q.properties) == null ? void 0 : m.wind) == null ? void 0 : v.spd) < 32.7 ? q = "#ff9100" : ((L = (f = Q.properties) == null ? void 0 : f.wind) == null ? void 0 : L.spd) >= 32.7 && ((M = (P = Q.properties) == null ? void 0 : P.wind) == null ? void 0 : M.spd) < 41.5 ? q = "#f44336" : ((j = (I = Q.properties) == null ? void 0 : I.wind) == null ? void 0 : j.spd) >= 41.5 && ((Y = (W = Q.properties) == null ? void 0 : W.wind) == null ? void 0 : Y.spd) < 51 ? q = "#f903d0" : ((V = (K = Q.properties) == null ? void 0 : K.wind) == null ? void 0 : V.spd) >= 51 ? q = "#8702f9" : q = "#f44336";
|
|
4540
4540
|
const ye = `<svg t="1719918955501"
|
|
4541
4541
|
class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" p-id="18382"
|
|
4542
4542
|
xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200">
|
|
@@ -4570,8 +4570,8 @@ const Da = {
|
|
|
4570
4570
|
(ue = this.map) != null && ue.getSource(this.interpolateSource) && ((ge = this.map) == null || ge.getSource(this.interpolateSource).setData(this.empty));
|
|
4571
4571
|
},
|
|
4572
4572
|
handleClick(t) {
|
|
4573
|
-
var o,
|
|
4574
|
-
const e = t.features[0], a = (
|
|
4573
|
+
var o, n, c, h, p, l, d, b;
|
|
4574
|
+
const e = t.features[0], a = (n = (o = this.tropicals) == null ? void 0 : o.data) == null ? void 0 : n.features.filter(
|
|
4575
4575
|
(u) => {
|
|
4576
4576
|
var A;
|
|
4577
4577
|
return u.geometry.type === "LineString" && u.properties.type === "forecast" && u.properties.name === ((A = e == null ? void 0 : e.properties) == null ? void 0 : A.name);
|
|
@@ -4590,21 +4590,21 @@ const Da = {
|
|
|
4590
4590
|
this.activeTropicals = {
|
|
4591
4591
|
name: (p = e == null ? void 0 : e.properties) == null ? void 0 : p.name,
|
|
4592
4592
|
forecasts: a.map((u) => u.properties),
|
|
4593
|
-
history: (
|
|
4593
|
+
history: (l = r[0]) == null ? void 0 : l.properties,
|
|
4594
4594
|
showCircle: (b = (d = a[0]) == null ? void 0 : d.properties) == null ? void 0 : b.showCircle
|
|
4595
4595
|
}, this.showTropicals = !0;
|
|
4596
4596
|
const i = document.getElementById("active-tropical");
|
|
4597
4597
|
this.activeTropicalsMarker ? this.activeTropicalsMarker.setLngLat([t.lngLat.lng, t.lngLat.lat]) : this.activeTropicalsMarker = new ve.Marker(i).setLngLat([t.lngLat.lng, t.lngLat.lat]).setOffset([220, 0]).addTo(this.map);
|
|
4598
4598
|
},
|
|
4599
4599
|
handleForecastToggle(t) {
|
|
4600
|
-
var r, i, o,
|
|
4600
|
+
var r, i, o, n, c, h;
|
|
4601
4601
|
t.disabled = !t.disabled;
|
|
4602
4602
|
const e = `${t.name}-${t.model}`, a = (i = (r = this.map) == null ? void 0 : r.getSource(this.source)._data) == null ? void 0 : i.features;
|
|
4603
4603
|
a.forEach((p) => {
|
|
4604
4604
|
p.properties.category === e && (p.properties.disabled = t.disabled);
|
|
4605
4605
|
}), this.interpolateData.forEach((p) => {
|
|
4606
4606
|
p.properties.category === e && (p.properties.disabled = t.disabled);
|
|
4607
|
-
}), (
|
|
4607
|
+
}), (n = (o = this.map) == null ? void 0 : o.getSource(this.source)) == null || n.setData(D.featureCollection(a)), (h = (c = this.map) == null ? void 0 : c.getSource(this.clusterSource)) == null || h.setData(D.featureCollection(a)), this.handleDateChange();
|
|
4608
4608
|
},
|
|
4609
4609
|
handleStrikeProbability(t) {
|
|
4610
4610
|
this.$emit("tropicalProbability", t);
|
|
@@ -4643,12 +4643,12 @@ const Da = {
|
|
|
4643
4643
|
nw: r.r7nw >= 0 ? r.r7nw : void 0
|
|
4644
4644
|
}, o = this.handleComputeArc(a.geometry.coordinates, i, { ...a.properties, level: 7 });
|
|
4645
4645
|
e.push(o);
|
|
4646
|
-
const
|
|
4646
|
+
const n = {
|
|
4647
4647
|
ne: r.r10ne >= 0 ? r.r10ne : void 0,
|
|
4648
4648
|
se: r.r10se >= 0 ? r.r10se : void 0,
|
|
4649
4649
|
sw: r.r10sw >= 0 ? r.r10sw : void 0,
|
|
4650
4650
|
nw: r.r10nw >= 0 ? r.r10nw : void 0
|
|
4651
|
-
}, c = this.handleComputeArc(a.geometry.coordinates,
|
|
4651
|
+
}, c = this.handleComputeArc(a.geometry.coordinates, n, { ...a.properties, level: 10 });
|
|
4652
4652
|
e.push(c);
|
|
4653
4653
|
}
|
|
4654
4654
|
return e;
|
|
@@ -4656,10 +4656,10 @@ const Da = {
|
|
|
4656
4656
|
handleComputeArc(t, e, a) {
|
|
4657
4657
|
var o;
|
|
4658
4658
|
const r = [];
|
|
4659
|
-
for (const
|
|
4660
|
-
const c = e[
|
|
4659
|
+
for (const n in e) {
|
|
4660
|
+
const c = e[n] ?? 0;
|
|
4661
4661
|
let h;
|
|
4662
|
-
switch (
|
|
4662
|
+
switch (n) {
|
|
4663
4663
|
case "ne":
|
|
4664
4664
|
h = D.lineArc(t, c * 1.852, 0, 90, { steps: c > 0 ? 64 : 1 });
|
|
4665
4665
|
break;
|
|
@@ -4696,7 +4696,7 @@ const Da = {
|
|
|
4696
4696
|
style: { "justify-content": "flex-start" }
|
|
4697
4697
|
}, Ra = { class: "forecast-models" }, Fa = ["onClick"], Ga = { class: "more" };
|
|
4698
4698
|
function Wa(t, e, a, r, i, o) {
|
|
4699
|
-
var
|
|
4699
|
+
var n, c, h, p, l, d, b, u, A, w, m, v, f, L, P;
|
|
4700
4700
|
return fe((g(), y("div", Pa, [
|
|
4701
4701
|
s("div", ka, [
|
|
4702
4702
|
s("div", {
|
|
@@ -4704,8 +4704,8 @@ function Wa(t, e, a, r, i, o) {
|
|
|
4704
4704
|
onClick: e[0] || (e[0] = (M) => i.showTropicals = !1)
|
|
4705
4705
|
}, ""),
|
|
4706
4706
|
s("div", za, [
|
|
4707
|
-
(c = (
|
|
4708
|
-
U(B((
|
|
4707
|
+
(c = (n = i.activeTropicals) == null ? void 0 : n.history) != null && c.level ? (g(), y("span", Ma, B((p = (h = i.activeTropicals) == null ? void 0 : h.history) == null ? void 0 : p.level) + " , ", 1)) : O("", !0),
|
|
4708
|
+
U(B((l = i.activeTropicals) == null ? void 0 : l.name), 1)
|
|
4709
4709
|
]),
|
|
4710
4710
|
s("div", Ta, " Last update: " + B(o.computeTime(((b = (d = i.activeTropicals) == null ? void 0 : d.history) == null ? void 0 : b.updated) || ((w = (A = (u = i.activeTropicals) == null ? void 0 : u.forecasts) == null ? void 0 : A.filter((M) => !M.disabled)[0]) == null ? void 0 : w.date))), 1)
|
|
4711
4711
|
]),
|
|
@@ -4861,8 +4861,8 @@ const Ua = {
|
|
|
4861
4861
|
}
|
|
4862
4862
|
}, Ya = { key: 0 };
|
|
4863
4863
|
function Ka(t, e, a, r, i, o) {
|
|
4864
|
-
var
|
|
4865
|
-
return (
|
|
4864
|
+
var n;
|
|
4865
|
+
return (n = a.factor) != null && n.active ? (g(), y("div", Ya, [
|
|
4866
4866
|
s("div", {
|
|
4867
4867
|
class: "legend-bars flex-center",
|
|
4868
4868
|
style: J([{ position: "absolute" }, { right: i.right + "px", bottom: a.bottom }])
|
|
@@ -4975,8 +4975,8 @@ const Ja = {
|
|
|
4975
4975
|
}
|
|
4976
4976
|
}, qa = { key: 0 };
|
|
4977
4977
|
function Va(t, e, a, r, i, o) {
|
|
4978
|
-
var
|
|
4979
|
-
return (
|
|
4978
|
+
var n;
|
|
4979
|
+
return (n = a.factor) != null && n.active ? (g(), y("div", qa, [
|
|
4980
4980
|
s("div", {
|
|
4981
4981
|
class: "legend-bars flex-center",
|
|
4982
4982
|
style: J([{ position: "absolute" }, { right: t.right + "px", bottom: a.bottom }])
|
|
@@ -5095,8 +5095,8 @@ const $a = {
|
|
|
5095
5095
|
}
|
|
5096
5096
|
}, ei = { key: 0 };
|
|
5097
5097
|
function ti(t, e, a, r, i, o) {
|
|
5098
|
-
var
|
|
5099
|
-
return (
|
|
5098
|
+
var n;
|
|
5099
|
+
return (n = a.factor) != null && n.active ? (g(), y("div", ei, [
|
|
5100
5100
|
s("div", {
|
|
5101
5101
|
class: "legend-bars flex-center",
|
|
5102
5102
|
style: J([{ position: "absolute" }, { right: i.right + "px", bottom: a.bottom }])
|
|
@@ -5218,8 +5218,8 @@ const ii = {
|
|
|
5218
5218
|
}
|
|
5219
5219
|
}, ri = { key: 0 };
|
|
5220
5220
|
function oi(t, e, a, r, i, o) {
|
|
5221
|
-
var
|
|
5222
|
-
return (
|
|
5221
|
+
var n;
|
|
5222
|
+
return (n = a.factor) != null && n.active ? (g(), y("div", ri, [
|
|
5223
5223
|
s("div", {
|
|
5224
5224
|
class: "legend-bars flex-center",
|
|
5225
5225
|
style: J([{ position: "absolute" }, { right: i.right + "px", bottom: a.bottom }])
|
|
@@ -5334,8 +5334,8 @@ const ni = {
|
|
|
5334
5334
|
}
|
|
5335
5335
|
}, li = { key: 0 };
|
|
5336
5336
|
function ci(t, e, a, r, i, o) {
|
|
5337
|
-
var
|
|
5338
|
-
return (
|
|
5337
|
+
var n;
|
|
5338
|
+
return (n = a.factor) != null && n.active ? (g(), y("div", li, [
|
|
5339
5339
|
s("div", {
|
|
5340
5340
|
class: "legend-bars flex-center",
|
|
5341
5341
|
style: J([{ position: "absolute" }, { right: i.right + "px", bottom: a.bottom }])
|
|
@@ -5479,8 +5479,8 @@ const ui = {
|
|
|
5479
5479
|
if (this.showMeteo && this.ts) {
|
|
5480
5480
|
const e = F(), a = (t = F(this.ts)) == null ? void 0 : t.diff(e, "d", !0), i = [0, 1, 2, 3, 4, 5, 6, 7].every((o) => {
|
|
5481
5481
|
var c;
|
|
5482
|
-
const
|
|
5483
|
-
return (c = We.pickHourly(this.meteoData,
|
|
5482
|
+
const n = Ge(this.ts).tz(this.positionGmt).add(3 * o, "h").format();
|
|
5483
|
+
return (c = We.pickHourly(this.meteoData, n)) == null ? void 0 : c[0];
|
|
5484
5484
|
});
|
|
5485
5485
|
if (this.meteoData && i ? this.initTableData(this.meteoData) : (this.loading || (a >= 0 ? await this.fetchMeteoData(this.point, this.ts, 7) : await this.fetchHistoryData(this.point, this.ts)), this.initTableData(this.meteoData)), this.activeIndex === 4) {
|
|
5486
5486
|
const o = Ye.pickDailyExtremes(this.tideData, this.ts);
|
|
@@ -5527,14 +5527,14 @@ const ui = {
|
|
|
5527
5527
|
this.loading = !0, this.meteoData = [];
|
|
5528
5528
|
let r = e ? F(e).utc().format() : F().utc().format();
|
|
5529
5529
|
const { weatherModels: i, marineModels: o } = We.autoPickMeteoModel(this.forecastModel);
|
|
5530
|
-
let
|
|
5530
|
+
let n = {
|
|
5531
5531
|
lat: t.lat,
|
|
5532
5532
|
lng: t.lng,
|
|
5533
5533
|
datetime: r,
|
|
5534
5534
|
forecastDays: a ?? 7,
|
|
5535
5535
|
weatherModels: i,
|
|
5536
5536
|
marineModels: o
|
|
5537
|
-
}, c = await le.post(`${this.gateway}/api/arc/meteo2/spot/forecast`,
|
|
5537
|
+
}, c = await le.post(`${this.gateway}/api/arc/meteo2/spot/forecast`, n, {
|
|
5538
5538
|
headers: {
|
|
5539
5539
|
Authorization: this.token || this.defaultMeteoToken
|
|
5540
5540
|
}
|
|
@@ -5551,16 +5551,16 @@ const ui = {
|
|
|
5551
5551
|
pastDays: 1,
|
|
5552
5552
|
weatherModels: r,
|
|
5553
5553
|
marineModels: i
|
|
5554
|
-
},
|
|
5554
|
+
}, n = await le.post(`${this.gateway}/api/arc/meteo2/spot/forecast`, o, {
|
|
5555
5555
|
headers: {
|
|
5556
5556
|
Authorization: this.token || this.defaultMeteoToken
|
|
5557
5557
|
}
|
|
5558
5558
|
});
|
|
5559
|
-
(
|
|
5559
|
+
(n == null ? void 0 : n.data.code) === 0 && (this.meteoData = n == null ? void 0 : n.data.data, this.loading = !1);
|
|
5560
5560
|
},
|
|
5561
5561
|
initTableData(t) {
|
|
5562
|
-
var e, a, r, i, o,
|
|
5563
|
-
this.clearTable(), this.positionGmt = (a = (e = t == null ? void 0 : t.weather) == null ? void 0 : e[0]) == null ? void 0 : a.timezone, this.positionOffset = (i = (r = t == null ? void 0 : t.weather) == null ? void 0 : r[0]) == null ? void 0 : i.offset, this.localDate = (
|
|
5562
|
+
var e, a, r, i, o, n, c, h, p;
|
|
5563
|
+
this.clearTable(), this.positionGmt = (a = (e = t == null ? void 0 : t.weather) == null ? void 0 : e[0]) == null ? void 0 : a.timezone, this.positionOffset = (i = (r = t == null ? void 0 : t.weather) == null ? void 0 : r[0]) == null ? void 0 : i.offset, this.localDate = (n = (o = Ge(this.ts)) == null ? void 0 : o.tz(this.positionGmt)) == null ? void 0 : n.format("MMM-DD/HHmm[LT]"), this.currentHourData = (c = We.pickHourly(t, F(this.ts))) == null ? void 0 : c[0], ((p = (h = this.currentHourData) == null ? void 0 : h.weather) == null ? void 0 : p.isDay) === 0 ? this.isDay = !1 : this.isDay = !0, this.$nextTick(() => {
|
|
5564
5564
|
var d, b, u, A, w, m, v, f, L, P, M, I, j, W, Y, K, V, ee, ce, he, de, pe, me, ue, ge, te, oe, Ae, ie, Q, q, ye, re;
|
|
5565
5565
|
if (!document.getElementById("meteoMainBox"))
|
|
5566
5566
|
return !1;
|
|
@@ -5620,8 +5620,8 @@ const ui = {
|
|
|
5620
5620
|
});
|
|
5621
5621
|
if ((o == null ? void 0 : o.data.code) === 0) {
|
|
5622
5622
|
this.tideData = (o == null ? void 0 : o.data.data) || {}, this.tideLoading = !1;
|
|
5623
|
-
const
|
|
5624
|
-
this.tideTableData =
|
|
5623
|
+
const n = Ye.pickDailyExtremes(this.tideData, this.ts);
|
|
5624
|
+
this.tideTableData = n;
|
|
5625
5625
|
}
|
|
5626
5626
|
},
|
|
5627
5627
|
handleBind() {
|
|
@@ -5693,19 +5693,19 @@ const ui = {
|
|
|
5693
5693
|
class: "main-box flex-center"
|
|
5694
5694
|
};
|
|
5695
5695
|
function Br(t, e, a, r, i, o) {
|
|
5696
|
-
var p,
|
|
5697
|
-
const
|
|
5696
|
+
var p, l, d, b, u, A, w, m, v, f, L, P, M, I, j, W, Y, K, V, ee, ce, he, de, pe, me, ue, ge, te, oe, Ae, ie, Q, q, ye, re, se, ne, x, Le, xe, Be, Ie, Ee, De, Pe, ke, ze, Me, Te, Qe, Se, _e, He, Oe, Ne, je, Re, Fe, X, qe, Ve, Ze, $e, et, tt, at, it, rt;
|
|
5697
|
+
const n = z("LocationFilled"), c = z("ElIcon"), h = z("ElTooltip");
|
|
5698
5698
|
return fe((g(), y("div", gi, [
|
|
5699
5699
|
s("div", Ai, [
|
|
5700
5700
|
s("div", yi, [
|
|
5701
5701
|
s("div", fi, [
|
|
5702
5702
|
k(c, { size: "22" }, {
|
|
5703
5703
|
default: ae(() => [
|
|
5704
|
-
k(
|
|
5704
|
+
k(n)
|
|
5705
5705
|
]),
|
|
5706
5706
|
_: 1
|
|
5707
5707
|
}),
|
|
5708
|
-
s("div", wi, B(o.computeLat((p = i.point) == null ? void 0 : p.lat)) + "," + B(o.computeLng((
|
|
5708
|
+
s("div", wi, B(o.computeLat((p = i.point) == null ? void 0 : p.lat)) + "," + B(o.computeLng((l = i.point) == null ? void 0 : l.lng)), 1)
|
|
5709
5709
|
]),
|
|
5710
5710
|
s("div", bi, [
|
|
5711
5711
|
i.showTables ? (g(), y("div", {
|
|
@@ -6672,7 +6672,7 @@ const _r = {
|
|
|
6672
6672
|
}
|
|
6673
6673
|
}, Hr = { id: "idm-gl3-zone-info" }, Or = ["innerHTML"];
|
|
6674
6674
|
function Nr(t, e, a, r, i, o) {
|
|
6675
|
-
var
|
|
6675
|
+
var n;
|
|
6676
6676
|
return fe((g(), y("div", Hr, [
|
|
6677
6677
|
s("div", {
|
|
6678
6678
|
class: "iconfont close",
|
|
@@ -6680,7 +6680,7 @@ function Nr(t, e, a, r, i, o) {
|
|
|
6680
6680
|
}, ""),
|
|
6681
6681
|
s("div", {
|
|
6682
6682
|
class: "rich-context",
|
|
6683
|
-
innerHTML: (
|
|
6683
|
+
innerHTML: (n = i.form) == null ? void 0 : n.name
|
|
6684
6684
|
}, null, 8, Or)
|
|
6685
6685
|
], 512)), [
|
|
6686
6686
|
[we, i.showZone]
|
|
@@ -6793,7 +6793,7 @@ function Jr(t, e, a, r, i, o) {
|
|
|
6793
6793
|
return fe((g(), y("div", Fr, [
|
|
6794
6794
|
s("div", {
|
|
6795
6795
|
class: "close iconfont",
|
|
6796
|
-
onClick: e[0] || (e[0] = (
|
|
6796
|
+
onClick: e[0] || (e[0] = (n) => i.showPort = !1)
|
|
6797
6797
|
}, ""),
|
|
6798
6798
|
s("div", Gr, [
|
|
6799
6799
|
s("div", Wr, [
|
|
@@ -6814,7 +6814,7 @@ function Jr(t, e, a, r, i, o) {
|
|
|
6814
6814
|
]),
|
|
6815
6815
|
s("div", Xr, [
|
|
6816
6816
|
s("span", {
|
|
6817
|
-
onClick: e[1] || (e[1] = (
|
|
6817
|
+
onClick: e[1] || (e[1] = (n) => o.handleClickMeteo(i.form))
|
|
6818
6818
|
}, "Meteo Forecast")
|
|
6819
6819
|
])
|
|
6820
6820
|
])
|
|
@@ -7533,14 +7533,14 @@ const ct = /* @__PURE__ */ T(mo, [["render", uo], ["__scopeId", "data-v-ad66a24c
|
|
|
7533
7533
|
}
|
|
7534
7534
|
},
|
|
7535
7535
|
handleDrag(t) {
|
|
7536
|
-
var a, r, i, o,
|
|
7536
|
+
var a, r, i, o, n, c, h, p, l, d;
|
|
7537
7537
|
const e = (r = (a = t.target) == null ? void 0 : a._element) == null ? void 0 : r.id;
|
|
7538
7538
|
if ((e == null ? void 0 : e.split("-").length) === 2) {
|
|
7539
7539
|
const b = this.geojson.filter((m) => m.id === e.split("-")[0])[0];
|
|
7540
7540
|
this.pointMarkers[b.id].filter((m) => {
|
|
7541
7541
|
var v;
|
|
7542
7542
|
return ((v = m._element) == null ? void 0 : v.id) === e;
|
|
7543
|
-
})[0].setLngLat([(o = (i = t.target) == null ? void 0 : i._lngLat) == null ? void 0 : o.lng, (c = (
|
|
7543
|
+
})[0].setLngLat([(o = (i = t.target) == null ? void 0 : i._lngLat) == null ? void 0 : o.lng, (c = (n = t.target) == null ? void 0 : n._lngLat) == null ? void 0 : c.lat]);
|
|
7544
7544
|
let A;
|
|
7545
7545
|
b.features.forEach((m, v) => {
|
|
7546
7546
|
if (m.geometry.type === "Point" && m.properties.id == e.split("-")[1]) {
|
|
@@ -7552,22 +7552,22 @@ const ct = /* @__PURE__ */ T(mo, [["render", uo], ["__scopeId", "data-v-ad66a24c
|
|
|
7552
7552
|
this.handleTmpPointUpdate(
|
|
7553
7553
|
b,
|
|
7554
7554
|
w[A - 1],
|
|
7555
|
-
{ lng: (p = (h = t.target) == null ? void 0 : h._lngLat) == null ? void 0 : p.lng, lat: (d = (
|
|
7555
|
+
{ lng: (p = (h = t.target) == null ? void 0 : h._lngLat) == null ? void 0 : p.lng, lat: (d = (l = t.target) == null ? void 0 : l._lngLat) == null ? void 0 : d.lat, properties: w[A].properties },
|
|
7556
7556
|
A === w.length - 1 ? void 0 : w[A + 1]
|
|
7557
7557
|
);
|
|
7558
7558
|
}
|
|
7559
7559
|
},
|
|
7560
7560
|
handleDragEnd(t) {
|
|
7561
|
-
var a, r, i, o,
|
|
7561
|
+
var a, r, i, o, n, c, h, p, l, d;
|
|
7562
7562
|
const e = (r = (a = t.target) == null ? void 0 : a._element) == null ? void 0 : r.id;
|
|
7563
7563
|
if ((e == null ? void 0 : e.split("-").length) === 2) {
|
|
7564
7564
|
const b = this.geojson.filter((w) => w.id === e.split("-")[0])[0];
|
|
7565
7565
|
this.pointMarkers[b.id].filter((w) => {
|
|
7566
7566
|
var m;
|
|
7567
7567
|
return ((m = w._element) == null ? void 0 : m.id) === e;
|
|
7568
|
-
})[0].setLngLat([(o = (i = t.target) == null ? void 0 : i._lngLat) == null ? void 0 : o.lng, (c = (
|
|
7568
|
+
})[0].setLngLat([(o = (i = t.target) == null ? void 0 : i._lngLat) == null ? void 0 : o.lng, (c = (n = t.target) == null ? void 0 : n._lngLat) == null ? void 0 : c.lat]);
|
|
7569
7569
|
const A = b.features.filter((w) => w.geometry.type === "Point" && w.properties.id == e.split("-")[1])[0];
|
|
7570
|
-
A.geometry.coordinates = [(p = (h = t.target) == null ? void 0 : h._lngLat) == null ? void 0 : p.lng, (d = (
|
|
7570
|
+
A.geometry.coordinates = [(p = (h = t.target) == null ? void 0 : h._lngLat) == null ? void 0 : p.lng, (d = (l = t.target) == null ? void 0 : l._lngLat) == null ? void 0 : d.lat], b.features = b.features.filter((w) => w.geometry.type === "Point"), this.handlePointUpdate(b);
|
|
7571
7571
|
}
|
|
7572
7572
|
},
|
|
7573
7573
|
handleContextmenu(t) {
|
|
@@ -7583,18 +7583,18 @@ const ct = /* @__PURE__ */ T(mo, [["render", uo], ["__scopeId", "data-v-ad66a24c
|
|
|
7583
7583
|
}
|
|
7584
7584
|
},
|
|
7585
7585
|
handleClick(t) {
|
|
7586
|
-
var a, r, i, o,
|
|
7586
|
+
var a, r, i, o, n, c;
|
|
7587
7587
|
(a = this.contextmenu) == null || a.remove();
|
|
7588
7588
|
const e = t.originalEvent.target.className;
|
|
7589
7589
|
if (e === "marker-close") {
|
|
7590
|
-
const h = (i = (r = t.originalEvent) == null ? void 0 : r.srcElement) == null ? void 0 : i.id, p = this.geojson.filter((
|
|
7591
|
-
p && this.handleClear(p, !0), this.geojson = this.geojson.filter((
|
|
7590
|
+
const h = (i = (r = t.originalEvent) == null ? void 0 : r.srcElement) == null ? void 0 : i.id, p = this.geojson.filter((l) => l.id === h)[0];
|
|
7591
|
+
p && this.handleClear(p, !0), this.geojson = this.geojson.filter((l) => l.id !== h), !this.show && !((o = this.geojson) != null && o.some((l) => l.closed)) && this.handleUnbind();
|
|
7592
7592
|
} else if (e === "del-point") {
|
|
7593
|
-
const h = (c = (
|
|
7594
|
-
p.features = p.features.filter((
|
|
7593
|
+
const h = (c = (n = t.originalEvent.target.id) == null ? void 0 : n.replace("del-", "")) == null ? void 0 : c.split("-"), p = this.geojson.filter((l) => l.id === h[0])[0];
|
|
7594
|
+
p.features = p.features.filter((l) => l.geometry.type === "Point" && l.properties.id !== h[1]), this.handlePointUpdate(p);
|
|
7595
7595
|
} else if (e !== "marker-label" && this.show) {
|
|
7596
7596
|
let h = this.geojson.at(-1);
|
|
7597
|
-
h || (h = D.featureCollection([], { id: (/* @__PURE__ */ new Date()).getTime().toString() }), this.geojson.push(h)), h.features = h.features.filter((
|
|
7597
|
+
h || (h = D.featureCollection([], { id: (/* @__PURE__ */ new Date()).getTime().toString() }), this.geojson.push(h)), h.features = h.features.filter((l) => l.geometry.type === "Point");
|
|
7598
7598
|
const p = D.feature(
|
|
7599
7599
|
{
|
|
7600
7600
|
type: "Point",
|
|
@@ -7614,12 +7614,12 @@ const ct = /* @__PURE__ */ T(mo, [["render", uo], ["__scopeId", "data-v-ad66a24c
|
|
|
7614
7614
|
let a = 0;
|
|
7615
7615
|
const r = [];
|
|
7616
7616
|
for (let i = 1; i < e.length; i++) {
|
|
7617
|
-
const o = e[i - 1],
|
|
7618
|
-
a = G.roundPrecision(a +
|
|
7617
|
+
const o = e[i - 1], n = e[i], c = o.properties, h = { lng: o.geometry.coordinates[0], lat: o.geometry.coordinates[1] }, p = { lng: n.geometry.coordinates[0], lat: n.geometry.coordinates[1] }, l = be.calculateDistance(h, p, c.mode === "RL", 2), d = be.calculateBearing(h, p, c.mode === "RL", 2);
|
|
7618
|
+
a = G.roundPrecision(a + l, 2);
|
|
7619
7619
|
let b;
|
|
7620
7620
|
c.mode === "RL" ? b = G.convertToMonotonicLng([h, p]) : b = G.convertToMonotonicLng(be.interpolateCoordinates(h, p, 200));
|
|
7621
7621
|
const u = D.lineString(b.map((A) => [A.lng, A.lat]));
|
|
7622
|
-
u.properties.dist =
|
|
7622
|
+
u.properties.dist = l, u.properties.bearing = d, u.properties.total = a, r.push(u);
|
|
7623
7623
|
}
|
|
7624
7624
|
e.push(...r), t.total = a;
|
|
7625
7625
|
}
|
|
@@ -7627,22 +7627,22 @@ const ct = /* @__PURE__ */ T(mo, [["render", uo], ["__scopeId", "data-v-ad66a24c
|
|
|
7627
7627
|
},
|
|
7628
7628
|
handleTmpPointUpdate(t, e, a, r) {
|
|
7629
7629
|
const i = D.featureCollection([]);
|
|
7630
|
-
let o,
|
|
7630
|
+
let o, n;
|
|
7631
7631
|
if (e) {
|
|
7632
|
-
const h = e.properties, p = { lng: e.geometry.coordinates[0], lat: e.geometry.coordinates[1] },
|
|
7633
|
-
o = be.calculateDistance(p,
|
|
7632
|
+
const h = e.properties, p = { lng: e.geometry.coordinates[0], lat: e.geometry.coordinates[1] }, l = { lng: a.lng, lat: a.lat };
|
|
7633
|
+
o = be.calculateDistance(p, l, h.mode === "RL", 2), n = be.calculateBearing(p, l, h.mode === "RL", 2);
|
|
7634
7634
|
let d;
|
|
7635
|
-
h.mode === "RL" ? d = G.convertToMonotonicLng([p,
|
|
7635
|
+
h.mode === "RL" ? d = G.convertToMonotonicLng([p, l]) : d = G.convertToMonotonicLng(be.interpolateCoordinates(p, l, 200));
|
|
7636
7636
|
const b = D.lineString(d.map((u) => [u.lng, u.lat]));
|
|
7637
|
-
b.properties.dist = o, b.properties.bearing =
|
|
7637
|
+
b.properties.dist = o, b.properties.bearing = n, i.features.push(b);
|
|
7638
7638
|
}
|
|
7639
7639
|
if (r) {
|
|
7640
|
-
const h = a.properties, p = a,
|
|
7641
|
-
o = be.calculateDistance(p,
|
|
7640
|
+
const h = a.properties, p = a, l = { lng: r.geometry.coordinates[0], lat: r.geometry.coordinates[1] };
|
|
7641
|
+
o = be.calculateDistance(p, l, h.mode === "RL", 2), n = be.calculateBearing(p, l, h.mode === "RL", 2);
|
|
7642
7642
|
let d;
|
|
7643
|
-
h.mode === "RL" ? d = G.convertToMonotonicLng([p,
|
|
7643
|
+
h.mode === "RL" ? d = G.convertToMonotonicLng([p, l]) : d = G.convertToMonotonicLng(be.interpolateCoordinates(p, l, 200));
|
|
7644
7644
|
const b = D.lineString(d.map((u) => [u.lng, u.lat]));
|
|
7645
|
-
b.properties.dist = o, b.properties.bearing =
|
|
7645
|
+
b.properties.dist = o, b.properties.bearing = n, i.features.push(b);
|
|
7646
7646
|
}
|
|
7647
7647
|
this.map.getSource(this.tmpSource) ? this.map.getSource(this.tmpSource).setData(i) : this.map.addSource(this.tmpSource, {
|
|
7648
7648
|
type: "geojson",
|
|
@@ -7682,7 +7682,7 @@ const ct = /* @__PURE__ */ T(mo, [["render", uo], ["__scopeId", "data-v-ad66a24c
|
|
|
7682
7682
|
}
|
|
7683
7683
|
});
|
|
7684
7684
|
let c;
|
|
7685
|
-
if (r ? c = '<div class="marker-label">Drag and drop</div>' : c = `<div class="marker-label">Total distance: <b>${G.roundPrecision((t.total ?? 0) + o, 2)}</b>nm, bearing: <b>${
|
|
7685
|
+
if (r ? c = '<div class="marker-label">Drag and drop</div>' : c = `<div class="marker-label">Total distance: <b>${G.roundPrecision((t.total ?? 0) + o, 2)}</b>nm, bearing: <b>${n}</b>°</div><div class="marker-label">${this.navigation === "RL" ? "RL" : "GC"} mode, using 'Shift' to switch</div><div class="marker-label">Double click to end</div>`, this.tipMarker)
|
|
7686
7686
|
this.tipMarker._element.innerHTML = c, this.tipMarker.setLngLat([a.lng, a.lat]);
|
|
7687
7687
|
else {
|
|
7688
7688
|
const h = document.createElement("div");
|
|
@@ -7740,23 +7740,23 @@ const ct = /* @__PURE__ */ T(mo, [["render", uo], ["__scopeId", "data-v-ad66a24c
|
|
|
7740
7740
|
"text-halo-blur": 0
|
|
7741
7741
|
}
|
|
7742
7742
|
});
|
|
7743
|
-
const o = t.features.filter((
|
|
7744
|
-
for (const
|
|
7743
|
+
const o = t.features.filter((n) => n.geometry.type === "Point");
|
|
7744
|
+
for (const n of o) {
|
|
7745
7745
|
const c = document.createElement("div");
|
|
7746
|
-
c.id = `${t.id}-${
|
|
7747
|
-
const h = new ve.Marker({ element: c, draggable: !0, contextmenu: !0 }).setLngLat(
|
|
7746
|
+
c.id = `${t.id}-${n.properties.id}`, c.className = `${t.closed ? "point-marker closed" : "point-marker"}`, c.innerHTML = '<div class="marker-circle"></div>';
|
|
7747
|
+
const h = new ve.Marker({ element: c, draggable: !0, contextmenu: !0 }).setLngLat(n.geometry.coordinates).addTo(this.map);
|
|
7748
7748
|
h.on("drag", this.handleDrag), h.on("dragend", this.handleDragEnd), this.pointMarkers[t.id] ? this.pointMarkers[t.id].push(h) : this.pointMarkers[t.id] = [h];
|
|
7749
7749
|
}
|
|
7750
7750
|
if (t.closed) {
|
|
7751
|
-
const
|
|
7752
|
-
p.className = "point-summary-marker", p.innerHTML = `<div id="${t.id}" class="marker-close">×</div><div class="marker-label">Tol: ${h.properties.total}nm</div>`, this.closeMarkers[t.id] = new ve.Marker(p).setOffset([60, 0]).setLngLat(
|
|
7751
|
+
const n = o.at(-1), h = t.features.filter((l) => l.geometry.type === "LineString").at(-1), p = document.createElement("div");
|
|
7752
|
+
p.className = "point-summary-marker", p.innerHTML = `<div id="${t.id}" class="marker-close">×</div><div class="marker-label">Tol: ${h.properties.total}nm</div>`, this.closeMarkers[t.id] = new ve.Marker(p).setOffset([60, 0]).setLngLat(n.geometry.coordinates).addTo(this.map);
|
|
7753
7753
|
}
|
|
7754
7754
|
}
|
|
7755
7755
|
},
|
|
7756
7756
|
handleClear(t, e = !0) {
|
|
7757
|
-
var o,
|
|
7757
|
+
var o, n, c, h, p, l, d, b, u;
|
|
7758
7758
|
const a = `${t.id}-${this.source}`, r = `${t.id}-${this.layer}`, i = `${t.id}-${this.labelLayer}`;
|
|
7759
|
-
(o = this.map) != null && o.getLayer(r) && this.map.removeLayer(r), (
|
|
7759
|
+
(o = this.map) != null && o.getLayer(r) && this.map.removeLayer(r), (n = this.map) != null && n.getLayer(i) && this.map.removeLayer(i), (c = this.map) != null && c.getLayer(this.tmpLayer) && this.map.removeLayer(this.tmpLayer), (h = this.map) != null && h.getLayer(this.tmpLabelLayer) && this.map.removeLayer(this.tmpLabelLayer), (p = this.closeMarkers[t.id]) == null || p.remove(), this.closeMarkers[t.id] = void 0, (l = this.pointMarkers[t.id]) == null || l.forEach((A) => {
|
|
7760
7760
|
A == null || A.remove();
|
|
7761
7761
|
}), this.pointMarkers[t.id] = [], (d = this.tipMarker) == null || d.remove(), this.tipMarker = void 0, e && ((b = this.map) != null && b.getSource(a)) && this.map.removeSource(a), e && ((u = this.map) != null && u.getSource(this.tmpSource)) && this.map.removeSource(this.tmpSource);
|
|
7762
7762
|
}
|
|
@@ -7820,14 +7820,14 @@ const fo = {
|
|
|
7820
7820
|
methods: {}
|
|
7821
7821
|
}, wo = { key: 0 }, bo = { class: "bar-item" };
|
|
7822
7822
|
function vo(t, e, a, r, i, o) {
|
|
7823
|
-
const
|
|
7823
|
+
const n = z("ElTooltip");
|
|
7824
7824
|
return a.enabled && a.permission & i.helper.LEVEL.Supper ? (g(), y("div", wo, [
|
|
7825
7825
|
s("div", {
|
|
7826
7826
|
class: "menu-bar-box",
|
|
7827
7827
|
style: J({ position: "absolute", right: i.right + "px", bottom: a.bottom })
|
|
7828
7828
|
}, [
|
|
7829
7829
|
s("div", bo, [
|
|
7830
|
-
k(
|
|
7830
|
+
k(n, {
|
|
7831
7831
|
placement: "left",
|
|
7832
7832
|
effect: "light",
|
|
7833
7833
|
content: "Hifleet",
|
|
@@ -7843,7 +7843,7 @@ function vo(t, e, a, r, i, o) {
|
|
|
7843
7843
|
]),
|
|
7844
7844
|
_: 1
|
|
7845
7845
|
}),
|
|
7846
|
-
k(
|
|
7846
|
+
k(n, {
|
|
7847
7847
|
placement: "left",
|
|
7848
7848
|
effect: "light",
|
|
7849
7849
|
content: "I4insight",
|
|
@@ -8112,16 +8112,16 @@ const Mo = {
|
|
|
8112
8112
|
},
|
|
8113
8113
|
enc: {
|
|
8114
8114
|
handler(t, e) {
|
|
8115
|
-
var a, r, i, o,
|
|
8116
|
-
t ? ((r = (a = this.map) == null ? void 0 : a.getLayer(t)) == null || r.setLayoutProperty("visibility", "visible"), (o = (i = this.map) == null ? void 0 : i.getLayer(e)) == null || o.setLayoutProperty("visibility", "none")) : ((c = (
|
|
8115
|
+
var a, r, i, o, n, c, h, p;
|
|
8116
|
+
t ? ((r = (a = this.map) == null ? void 0 : a.getLayer(t)) == null || r.setLayoutProperty("visibility", "visible"), (o = (i = this.map) == null ? void 0 : i.getLayer(e)) == null || o.setLayoutProperty("visibility", "none")) : ((c = (n = this.map) == null ? void 0 : n.getLayer("i4")) == null || c.setLayoutProperty("visibility", "none"), (p = (h = this.map) == null ? void 0 : h.getLayer("hi")) == null || p.setLayoutProperty("visibility", "none"));
|
|
8117
8117
|
}
|
|
8118
8118
|
},
|
|
8119
8119
|
activeWeatherLayers: {
|
|
8120
8120
|
handler() {
|
|
8121
|
-
var t, e, a, r, i, o,
|
|
8121
|
+
var t, e, a, r, i, o, n, c, h, p, l, d, b, u, A, w, m, v;
|
|
8122
8122
|
if (!this.map)
|
|
8123
8123
|
return !1;
|
|
8124
|
-
this.activeWeatherLayers.length > 0 ? (this.activeWeatherLayers.some((L) => L.key === "wind" && L.particle === !0 || L.key === "current" && L.particle === !0 || L.key === "temp" || L.key === "water-temp") ? (e = (t = this.map) == null ? void 0 : t.getLayer(this.enc)) == null || e.setLayoutProperty("visibility", "none") : (r = (a = this.map) == null ? void 0 : a.getLayer(this.enc)) == null || r.setLayoutProperty("visibility", "visible"), (o = (i = this.map) == null ? void 0 : i.getLayer(this.helper.mapboxCustomer.layers.countryBoundary.id)) == null || o.setLayoutProperty("visibility", "visible"), (c = this.map) != null && c.getLayer((
|
|
8124
|
+
this.activeWeatherLayers.length > 0 ? (this.activeWeatherLayers.some((L) => L.key === "wind" && L.particle === !0 || L.key === "current" && L.particle === !0 || L.key === "temp" || L.key === "water-temp") ? (e = (t = this.map) == null ? void 0 : t.getLayer(this.enc)) == null || e.setLayoutProperty("visibility", "none") : (r = (a = this.map) == null ? void 0 : a.getLayer(this.enc)) == null || r.setLayoutProperty("visibility", "visible"), (o = (i = this.map) == null ? void 0 : i.getLayer(this.helper.mapboxCustomer.layers.countryBoundary.id)) == null || o.setLayoutProperty("visibility", "visible"), (c = this.map) != null && c.getLayer((n = this.viewport) == null ? void 0 : n.rampColorLayer) && ((h = this.map) != null && h.getLayer(this.helper.mapboxCustomer.layers.countryBoundary.id)) && this.mapProjection === "mercator" && ((l = this.map) == null || l.moveLayer((p = this.viewport) == null ? void 0 : p.rampColorLayer, this.helper.mapboxCustomer.layers.countryBoundary.id)), (b = this.map) != null && b.getLayer((d = this.viewport) == null ? void 0 : d.particleLayer) && ((u = this.map) != null && u.getLayer(this.helper.mapboxCustomer.layers.countryBoundary.id)) && this.mapProjection === "mercator" && ((w = this.map) == null || w.moveLayer((A = this.viewport) == null ? void 0 : A.particleLayer, this.helper.mapboxCustomer.layers.countryBoundary.id))) : (v = (m = this.map) == null ? void 0 : m.getLayer(this.helper.mapboxCustomer.layers.countryBoundary.id)) == null || v.setLayoutProperty("visibility", "none"), this.$emit("activeWeatherLayers", this.activeWeatherLayers);
|
|
8125
8125
|
},
|
|
8126
8126
|
immediate: !0
|
|
8127
8127
|
},
|
|
@@ -8173,12 +8173,12 @@ const Mo = {
|
|
|
8173
8173
|
},
|
|
8174
8174
|
methods: {
|
|
8175
8175
|
async fetchWeatherLayers(t = { tropicals: !1 }) {
|
|
8176
|
-
var i, o,
|
|
8176
|
+
var i, o, n, c, h, p, l, d, b;
|
|
8177
8177
|
const e = (/* @__PURE__ */ new Date()).valueOf();
|
|
8178
8178
|
let a = 0, r = 0;
|
|
8179
8179
|
if (this.map) {
|
|
8180
8180
|
const u = ((i = this.map) == null ? void 0 : i.getZoom()) + 1, A = (o = this.map) == null ? void 0 : o.getBounds(), w = `${A._sw.lng},${A._sw.lat},${A._ne.lng},${A._ne.lat}`;
|
|
8181
|
-
if (this.particleFactor && ((
|
|
8181
|
+
if (this.particleFactor && ((n = this.$refs.layer) != null && n.autoActive)) {
|
|
8182
8182
|
const m = Ke.WEATHER_LAYERS.find((v) => {
|
|
8183
8183
|
var f;
|
|
8184
8184
|
return ((f = v.peer) == null ? void 0 : f.weight) === this.particleFactor.weight;
|
|
@@ -8235,7 +8235,7 @@ const Mo = {
|
|
|
8235
8235
|
});
|
|
8236
8236
|
}
|
|
8237
8237
|
if (r = (/* @__PURE__ */ new Date()).valueOf() - (e + a), console.log("weather layers elapsed: ", r, ", total: ", a += r), this.weatherLayers["swell-direction"] || this.weatherLayers["swell-height"]) {
|
|
8238
|
-
const L = (p = this.weatherLayers["swell-direction"]) == null ? void 0 : p.raw, P = (
|
|
8238
|
+
const L = (p = this.weatherLayers["swell-direction"]) == null ? void 0 : p.raw, P = (l = this.weatherLayers["swell-height"]) == null ? void 0 : l.raw;
|
|
8239
8239
|
delete this.weatherLayers["swell-direction"], delete this.weatherLayers["swell-height"], this.weatherLayers.swell = {
|
|
8240
8240
|
type: "json",
|
|
8241
8241
|
direction: L,
|
|
@@ -8264,16 +8264,16 @@ const Mo = {
|
|
|
8264
8264
|
if (this.map) {
|
|
8265
8265
|
let o = this.otherWeight;
|
|
8266
8266
|
if (o) {
|
|
8267
|
-
let
|
|
8268
|
-
if (this.otherWeight & 2048 && (o = this.otherWeight - 2048,
|
|
8267
|
+
let n = !1, c = !1, h = !1, p = !1;
|
|
8268
|
+
if (this.otherWeight & 2048 && (o = this.otherWeight - 2048, n = !0), this.otherWeight & 8192 && (o = o - 8192, c = !0), this.otherWeight & 16384 && (o = o - 16384, h = !0), this.otherWeight & 32768 && (o = o - 32768, p = !0), o) {
|
|
8269
8269
|
if (t.all) {
|
|
8270
|
-
const
|
|
8270
|
+
const l = await le.get(`${this.gateway}/api/arc/other/layers/links?l=${o}&t=${this.ts}`, {
|
|
8271
8271
|
headers: {
|
|
8272
8272
|
Authorization: this.token || this.defaultMeteoToken
|
|
8273
8273
|
}
|
|
8274
8274
|
});
|
|
8275
|
-
if (((e =
|
|
8276
|
-
const d = (a =
|
|
8275
|
+
if (((e = l == null ? void 0 : l.data) == null ? void 0 : e.code) === 0) {
|
|
8276
|
+
const d = (a = l == null ? void 0 : l.data) == null ? void 0 : a.data, b = [];
|
|
8277
8277
|
for (const A in d)
|
|
8278
8278
|
b.push(
|
|
8279
8279
|
le.get(d[A], {
|
|
@@ -8284,20 +8284,20 @@ const Mo = {
|
|
|
8284
8284
|
})
|
|
8285
8285
|
);
|
|
8286
8286
|
const u = await Promise.all(b);
|
|
8287
|
-
this.otherLayers = { enc:
|
|
8287
|
+
this.otherLayers = { enc: n, world12nm: c, worldMarine: h, chinaRoute: p }, u.map((A) => {
|
|
8288
8288
|
var v, f, L;
|
|
8289
8289
|
const w = ((v = A == null ? void 0 : A.data) == null ? void 0 : v.data) || (A == null ? void 0 : A.data), m = (L = (f = A == null ? void 0 : A.config) == null ? void 0 : f.headers) == null ? void 0 : L.key;
|
|
8290
8290
|
this.otherLayers[m] = w;
|
|
8291
8291
|
});
|
|
8292
8292
|
}
|
|
8293
8293
|
} else if (t.dayNight && o & 1024) {
|
|
8294
|
-
const
|
|
8294
|
+
const l = await le.get(`${this.gateway}/api/arc/other/layers/links?l=1024&t=${this.ts}`, {
|
|
8295
8295
|
headers: {
|
|
8296
8296
|
Authorization: this.token || this.defaultMeteoToken
|
|
8297
8297
|
}
|
|
8298
8298
|
});
|
|
8299
|
-
if (((r =
|
|
8300
|
-
const d = (i =
|
|
8299
|
+
if (((r = l == null ? void 0 : l.data) == null ? void 0 : r.code) === 0) {
|
|
8300
|
+
const d = (i = l == null ? void 0 : l.data) == null ? void 0 : i.data, b = [];
|
|
8301
8301
|
for (const A in d)
|
|
8302
8302
|
b.push(
|
|
8303
8303
|
le.get(d[A], {
|
|
@@ -8315,7 +8315,7 @@ const Mo = {
|
|
|
8315
8315
|
}
|
|
8316
8316
|
}
|
|
8317
8317
|
} else
|
|
8318
|
-
this.otherLayers = { enc:
|
|
8318
|
+
this.otherLayers = { enc: n, world12nm: c, worldMarine: h, chinaRoute: p };
|
|
8319
8319
|
} else
|
|
8320
8320
|
this.otherLayers = {};
|
|
8321
8321
|
this.handleBeforeLayerToggle();
|
|
@@ -8331,7 +8331,7 @@ const Mo = {
|
|
|
8331
8331
|
this.activeWindLayer = !!this.activeWeatherLayers.find((e) => e.key === "wind"), this.$refs.layer && (this.$refs.layer.activeWeatherLayers = this.activeWeatherLayers);
|
|
8332
8332
|
},
|
|
8333
8333
|
handleRampColorInitial() {
|
|
8334
|
-
var t, e, a, r, i, o,
|
|
8334
|
+
var t, e, a, r, i, o, n, c, h, p, l, d;
|
|
8335
8335
|
this.viewport.map.getSource((t = this.viewport) == null ? void 0 : t.rampColorSource) || this.viewport.map.addSource((e = this.viewport) == null ? void 0 : e.rampColorSource, {
|
|
8336
8336
|
type: "canvas",
|
|
8337
8337
|
canvas: (a = this.viewport) == null ? void 0 : a.rampColorCanvas,
|
|
@@ -8347,7 +8347,7 @@ const Mo = {
|
|
|
8347
8347
|
}
|
|
8348
8348
|
},
|
|
8349
8349
|
this.beforeLayer
|
|
8350
|
-
), this.viewport.map.getSource((
|
|
8350
|
+
), this.viewport.map.getSource((n = this.viewport) == null ? void 0 : n.particleSource) || this.viewport.map.addSource((c = this.viewport) == null ? void 0 : c.particleSource, {
|
|
8351
8351
|
type: "canvas",
|
|
8352
8352
|
canvas: (h = this.viewport) == null ? void 0 : h.particleCanvas,
|
|
8353
8353
|
animate: !0,
|
|
@@ -8355,7 +8355,7 @@ const Mo = {
|
|
|
8355
8355
|
}), this.viewport.map.getLayer((p = this.viewport) == null ? void 0 : p.particleLayer) || this.viewport.map.addLayer(
|
|
8356
8356
|
{
|
|
8357
8357
|
type: "raster",
|
|
8358
|
-
id: (
|
|
8358
|
+
id: (l = this.viewport) == null ? void 0 : l.particleLayer,
|
|
8359
8359
|
source: (d = this.viewport) == null ? void 0 : d.particleSource,
|
|
8360
8360
|
layout: {
|
|
8361
8361
|
visibility: "none"
|
|
@@ -8365,22 +8365,23 @@ const Mo = {
|
|
|
8365
8365
|
);
|
|
8366
8366
|
},
|
|
8367
8367
|
handleDragEndWithZoom4Json() {
|
|
8368
|
-
var p,
|
|
8368
|
+
var p, l, d, b;
|
|
8369
8369
|
const t = (/* @__PURE__ */ new Date()).valueOf();
|
|
8370
8370
|
let e = 0, a = 0;
|
|
8371
|
-
const r = (p = this.map) == null ? void 0 : p.getBounds(), i = this.map.getZoom(), o = G.convertToStdLng(r._sw.lng),
|
|
8371
|
+
const r = (p = this.map) == null ? void 0 : p.getBounds(), i = this.map.getZoom(), o = G.convertToStdLng(r._sw.lng), n = G.convertToStdLng(r._ne.lng), c = Math.floor(r._sw.lat), h = Math.ceil(r._ne.lat);
|
|
8372
|
+
console.log(o, n, i);
|
|
8372
8373
|
for (const u in this.weatherLayers)
|
|
8373
8374
|
if (this.weatherLayers[u].active && this.weatherLayers[u].type === "json") {
|
|
8374
8375
|
this.weatherLayers[u].active = !1, this.weatherLayers[u].version = Math.random() + 1;
|
|
8375
8376
|
let A = [];
|
|
8376
8377
|
if (["swell", "current"].includes(u)) {
|
|
8377
|
-
const w = ((
|
|
8378
|
+
const w = ((l = this.weatherLayers[u]) == null ? void 0 : l.direction) || {};
|
|
8378
8379
|
for (const m in w)
|
|
8379
8380
|
if (m > c && m < h && (!(i <= this.zoom) || m % (i < this.zoom / 2 ? 5 : 3) === 0)) {
|
|
8380
8381
|
const v = w[m].lng;
|
|
8381
|
-
o >
|
|
8382
|
+
o > n ? v.forEach((f, L) => {
|
|
8382
8383
|
var P, M;
|
|
8383
|
-
if (i <
|
|
8384
|
+
if (i < 2) {
|
|
8384
8385
|
if ((f >= 0 && f <= 360 || f >= -360 && f <= 0) && (!(i <= this.zoom) || f % (i < this.zoom / 2 ? 5 : 3) === 0)) {
|
|
8385
8386
|
const I = D.point([f, m], {
|
|
8386
8387
|
val: w[m].val[L],
|
|
@@ -8388,7 +8389,7 @@ const Mo = {
|
|
|
8388
8389
|
});
|
|
8389
8390
|
A.push(I);
|
|
8390
8391
|
}
|
|
8391
|
-
} else if ((f >= o && f <= 180 || f >= -180 && f <=
|
|
8392
|
+
} else if ((f >= o && f <= 180 || f >= -180 && f <= n) && (!(i <= this.zoom) || f % (i < this.zoom / 2 ? 5 : 3) === 0)) {
|
|
8392
8393
|
const I = D.point([f, m], {
|
|
8393
8394
|
val: w[m].val[L],
|
|
8394
8395
|
spd: (M = w[m].spd) == null ? void 0 : M[L]
|
|
@@ -8397,7 +8398,7 @@ const Mo = {
|
|
|
8397
8398
|
}
|
|
8398
8399
|
}) : v.forEach((f, L) => {
|
|
8399
8400
|
var P, M;
|
|
8400
|
-
if (o <
|
|
8401
|
+
if (o < 2) {
|
|
8401
8402
|
if ((f >= 0 && f <= 360 || f >= -360 && f <= 0) && (!(i <= this.zoom) || f % (i < this.zoom / 2 ? 5 : 3) === 0)) {
|
|
8402
8403
|
const I = D.point([f, m], {
|
|
8403
8404
|
val: w[m].val[L],
|
|
@@ -8405,7 +8406,7 @@ const Mo = {
|
|
|
8405
8406
|
});
|
|
8406
8407
|
A.push(I);
|
|
8407
8408
|
}
|
|
8408
|
-
} else if (f >= o && f <=
|
|
8409
|
+
} else if (f >= o && f <= n && (!(i <= this.zoom) || f % (i < this.zoom / 2 ? 5 : 3) === 0)) {
|
|
8409
8410
|
const I = D.point([f, m], {
|
|
8410
8411
|
val: w[m].val[L],
|
|
8411
8412
|
spd: (M = w[m].spd) == null ? void 0 : M[L]
|
|
@@ -8462,8 +8463,8 @@ const Mo = {
|
|
|
8462
8463
|
for (const m in w)
|
|
8463
8464
|
if (m > c && m < h && (!(i <= this.zoom) || m % (i < this.zoom / 2 ? 5 : 3) === 0)) {
|
|
8464
8465
|
const v = w[m].lng;
|
|
8465
|
-
o >
|
|
8466
|
-
if (i <
|
|
8466
|
+
o > n ? v.forEach((f, L) => {
|
|
8467
|
+
if (i < 2) {
|
|
8467
8468
|
if ((f >= 0 && f <= 360 || f >= -360 && f <= 0) && (!(i <= this.zoom) || f % (i < this.zoom / 2 ? 5 : 3) === 0)) {
|
|
8468
8469
|
const P = D.point([f, m], {
|
|
8469
8470
|
val: w[m].val[L],
|
|
@@ -8471,7 +8472,7 @@ const Mo = {
|
|
|
8471
8472
|
});
|
|
8472
8473
|
A.push(P);
|
|
8473
8474
|
}
|
|
8474
|
-
} else if ((f >= o && f <= 180 || f >= -180 && f <=
|
|
8475
|
+
} else if ((f >= o && f <= 180 || f >= -180 && f <= n) && (!(i <= this.zoom) || f % (i < this.zoom / 2 ? 5 : 3) === 0)) {
|
|
8475
8476
|
const P = D.point([f, m], {
|
|
8476
8477
|
val: w[m].val[L],
|
|
8477
8478
|
spd: w[m].spd[L]
|
|
@@ -8479,7 +8480,7 @@ const Mo = {
|
|
|
8479
8480
|
A.push(P);
|
|
8480
8481
|
}
|
|
8481
8482
|
}) : v.forEach((f, L) => {
|
|
8482
|
-
if (i <
|
|
8483
|
+
if (i < 2) {
|
|
8483
8484
|
if ((f >= 0 && f <= 360 || f >= -360 && f <= 0) && (!(i <= this.zoom) || f % (i < this.zoom / 2 ? 5 : 3) === 0)) {
|
|
8484
8485
|
const P = D.point([f, m], {
|
|
8485
8486
|
val: w[m].val[L],
|
|
@@ -8487,7 +8488,7 @@ const Mo = {
|
|
|
8487
8488
|
});
|
|
8488
8489
|
A.push(P);
|
|
8489
8490
|
}
|
|
8490
|
-
} else if (f >= o && f <=
|
|
8491
|
+
} else if (f >= o && f <= n && (!(i <= this.zoom) || f % (i < this.zoom / 2 ? 5 : 3) === 0)) {
|
|
8491
8492
|
const P = D.point([f, m], {
|
|
8492
8493
|
val: w[m].val[L],
|
|
8493
8494
|
spd: w[m].spd[L]
|
|
@@ -8588,10 +8589,10 @@ const Mo = {
|
|
|
8588
8589
|
return t.features.forEach((o) => {
|
|
8589
8590
|
if (o.geometry.type !== "Point")
|
|
8590
8591
|
if (r > i) {
|
|
8591
|
-
let
|
|
8592
|
-
c.geometry.coordinates.length && a.push(c),
|
|
8592
|
+
let n = [r, e._sw.lat, 180, e._ne.lat], c = D.bboxClip(o, n);
|
|
8593
|
+
c.geometry.coordinates.length && a.push(c), n = [-180, e._sw.lat, i, e._ne.lat], c = D.bboxClip(o, n), c.geometry.coordinates.length && a.push(c);
|
|
8593
8594
|
} else {
|
|
8594
|
-
const
|
|
8595
|
+
const n = [r, e._sw.lat, i, e._ne.lat], c = D.bboxClip(o, n);
|
|
8595
8596
|
c.geometry.coordinates.length && a.push(c);
|
|
8596
8597
|
}
|
|
8597
8598
|
else
|
|
@@ -8609,8 +8610,8 @@ const Mo = {
|
|
|
8609
8610
|
this.handleBeforeLayerToggle();
|
|
8610
8611
|
},
|
|
8611
8612
|
handleBeforeLayerToggle() {
|
|
8612
|
-
var t, e, a, r, i, o,
|
|
8613
|
-
(t = this.map) != null && t.getLayer(this.beforeLayer) && ((e = this.activeWeatherLayers) != null && e.length || (a = this.otherLayers) != null && a["war-zones"] || (r = this.otherLayers) != null && r["gmdss-areas"] || (i = this.otherLayers) != null && i["load-lines"] || (o = this.otherLayers) != null && o["high-risk-area"] || (
|
|
8613
|
+
var t, e, a, r, i, o, n, c, h, p, l, d, b, u, A, w;
|
|
8614
|
+
(t = this.map) != null && t.getLayer(this.beforeLayer) && ((e = this.activeWeatherLayers) != null && e.length || (a = this.otherLayers) != null && a["war-zones"] || (r = this.otherLayers) != null && r["gmdss-areas"] || (i = this.otherLayers) != null && i["load-lines"] || (o = this.otherLayers) != null && o["high-risk-area"] || (n = this.otherLayers) != null && n["time-zones"] || (c = this.otherLayers) != null && c.pirates || (h = this.otherLayers) != null && h.ports || (p = this.otherLayers) != null && p.enc || (l = this.otherLayers) != null && l.world12nm || (d = this.otherLayers) != null && d.worldMarine || (b = this.otherLayers) != null && b.chinaRoute || (u = this.otherLayers) != null && u["voluntary-reporting-area"] || (A = this.otherLayers) != null && A["eca-zones"] || (w = this.otherLayers) != null && w["special-area"]) && this.map.setLayoutProperty(this.beforeLayer, "visibility", "visible");
|
|
8614
8615
|
},
|
|
8615
8616
|
handleDateChange(t = { tropicals: !1 }) {
|
|
8616
8617
|
this.fetchWeatherLayers(t), this.fetchOtherLayers({ dayNight: !0 });
|
|
@@ -8620,14 +8621,14 @@ const Mo = {
|
|
|
8620
8621
|
this.activeWeatherLayers = JSON.parse(JSON.stringify(t));
|
|
8621
8622
|
const a = this.activeWeatherLayers.some(
|
|
8622
8623
|
(o) => {
|
|
8623
|
-
var
|
|
8624
|
-
return ["wind", "current"].includes(o.key) && (!((
|
|
8624
|
+
var n;
|
|
8625
|
+
return ["wind", "current"].includes(o.key) && (!((n = Object.keys(o)) != null && n.some((c) => c === "particle")) || !!o.particle);
|
|
8625
8626
|
}
|
|
8626
8627
|
), r = this.activeWeatherLayers.some((o) => ["png", "jpg"].includes(o.type));
|
|
8627
8628
|
a && !r ? (this.activeWeatherLayers.forEach((o) => {
|
|
8628
8629
|
o.key === "wind" && o.particle && (this.particleFactor = o, this.showWindParticle = !0), o.key === "current" && o.particle && (this.particleFactor = o, this.showCurrentParticle = !0);
|
|
8629
8630
|
}), this.particleFactor.particle = !0) : r && this.particleFactor && (this.particleFactor.particle = !1);
|
|
8630
|
-
const i = t == null ? void 0 : t.reduce((o,
|
|
8631
|
+
const i = t == null ? void 0 : t.reduce((o, n) => o + (o & (n == null ? void 0 : n.weight) ? 0 : n == null ? void 0 : n.weight), 0);
|
|
8631
8632
|
this.weatherWeight !== i || this.source !== e ? (this.source = e, this.weatherWeight = i, this.fetchWeatherLayers({ tropicals: !1 })) : this.handleWeatherLayerToggle();
|
|
8632
8633
|
}) : setTimeout(() => {
|
|
8633
8634
|
this.handleWeatherLayerChange(t, e);
|
|
@@ -8644,8 +8645,8 @@ const Mo = {
|
|
|
8644
8645
|
}
|
|
8645
8646
|
},
|
|
8646
8647
|
handle3dToggle(t) {
|
|
8647
|
-
var e, a, r, i, o,
|
|
8648
|
-
t ? (this.map.setProjection("globe"), this.mapProjection = "globe", (a = this.map) != null && a.getLayer((e = this.viewport) == null ? void 0 : e.rampColorLayer) && ((r = this.map) != null && r.getLayer(this.helper.mapboxCustomer.layers.water.id)) && ((o = this.map) == null || o.moveLayer((i = this.viewport) == null ? void 0 : i.rampColorLayer, this.helper.mapboxCustomer.layers.water.id)), (c = this.map) != null && c.getLayer((
|
|
8648
|
+
var e, a, r, i, o, n, c, h, p, l, d, b, u, A, w, m, v, f, L, P;
|
|
8649
|
+
t ? (this.map.setProjection("globe"), this.mapProjection = "globe", (a = this.map) != null && a.getLayer((e = this.viewport) == null ? void 0 : e.rampColorLayer) && ((r = this.map) != null && r.getLayer(this.helper.mapboxCustomer.layers.water.id)) && ((o = this.map) == null || o.moveLayer((i = this.viewport) == null ? void 0 : i.rampColorLayer, this.helper.mapboxCustomer.layers.water.id)), (c = this.map) != null && c.getLayer((n = this.viewport) == null ? void 0 : n.particleLayer) && ((h = this.map) != null && h.getLayer(this.helper.mapboxCustomer.layers.water.id)) && ((l = this.map) == null || l.moveLayer((p = this.viewport) == null ? void 0 : p.particleLayer, this.helper.mapboxCustomer.layers.water.id)), this.map.off("zoomend", this.handleDragEndWithZoom4Json), this.map.off("dragend", this.handleDragEndWithZoom4Json), this.map.off("move", this.handleDragEndWithZoom4Image)) : (this.map.setProjection("mercator"), this.mapProjection = "mercator", this.map.on("zoomend", this.handleDragEndWithZoom4Json), this.map.on("dragend", this.handleDragEndWithZoom4Json), this.map.on("move", this.handleDragEndWithZoom4Image), this.handleDragEndWithZoom4Image(), this.handleDragEndWithZoom4Json(), (b = this.map) != null && b.getLayer((d = this.viewport) == null ? void 0 : d.rampColorLayer) && ((u = this.map) != null && u.getLayer(this.helper.mapboxCustomer.layers.countryBoundary.id)) && ((w = this.map) == null || w.moveLayer((A = this.viewport) == null ? void 0 : A.rampColorLayer, this.helper.mapboxCustomer.layers.countryBoundary.id)), (v = this.map) != null && v.getLayer((m = this.viewport) == null ? void 0 : m.particleLayer) && ((f = this.map) != null && f.getLayer(this.helper.mapboxCustomer.layers.countryBoundary.id)) && ((P = this.map) == null || P.moveLayer((L = this.viewport) == null ? void 0 : L.particleLayer, this.helper.mapboxCustomer.layers.countryBoundary.id)));
|
|
8649
8650
|
},
|
|
8650
8651
|
handleParticle(t) {
|
|
8651
8652
|
this.particleFactor = t, this.weatherLayers[t.key] && (this.weatherLayers[t.key].particle = t.particle), this.activeWeatherLayers.map((r) => {
|
|
@@ -8670,9 +8671,9 @@ const Mo = {
|
|
|
8670
8671
|
};
|
|
8671
8672
|
function Qo(t, e, a, r, i, o) {
|
|
8672
8673
|
var Ae, ie, Q, q, ye, re, se, ne, x, Le, xe, Be, Ie, Ee, De, Pe, ke, ze, Me, Te, Qe, Se, _e, He, Oe, Ne, je, Re, Fe;
|
|
8673
|
-
const
|
|
8674
|
+
const n = z("IdmGlLayer"), c = z("IdmENC"), h = z("IdmWorld12nm"), p = z("IdmWorldMarine"), l = z("IdmChinaRoute"), d = z("IdmSigWave"), b = z("IdmSwell"), u = z("IdmPrmsl"), A = z("IdmIceberg"), w = z("IdmTropicals"), m = z("IdmCurrents"), v = z("IdmCurrentParticle"), f = z("IdmWindBarb"), L = z("IdmWindParticle"), P = z("IdmPrecip3h"), M = z("IdmVisibility"), I = z("IdmWaterTemp"), j = z("IdmTemp"), W = z("IdmArctic"), Y = z("IdmWarZone"), K = z("IdmGmdssArea"), V = z("IdmEcaZone"), ee = z("IdmAlertZone"), ce = z("IdmPort"), he = z("IdmLoadLine"), de = z("IdmTimezone"), pe = z("IdmVRA"), me = z("IdmSpecialArea"), ue = z("IdmTerminator"), ge = z("IdmLatLng"), te = z("IdmMeasure"), oe = z("IdmPoint");
|
|
8674
8675
|
return a.map ? (g(), y("div", To, [
|
|
8675
|
-
k(
|
|
8676
|
+
k(n, S({
|
|
8676
8677
|
ref: "layer",
|
|
8677
8678
|
map: a.map,
|
|
8678
8679
|
"toggle-version": a.toggleVersion,
|
|
@@ -8718,7 +8719,7 @@ function Qo(t, e, a, r, i, o) {
|
|
|
8718
8719
|
"weather-layers": i.weatherLayers,
|
|
8719
8720
|
enabled: (Q = i.otherLayers) == null ? void 0 : Q.worldMarine
|
|
8720
8721
|
}, t.$attrs), null, 16, ["map", "token", "weather-layers", "enabled"]),
|
|
8721
|
-
k(
|
|
8722
|
+
k(l, S({
|
|
8722
8723
|
map: a.map,
|
|
8723
8724
|
token: a.token,
|
|
8724
8725
|
"weather-layers": i.weatherLayers,
|