@idmui/spot 0.6.0 → 0.6.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 +962 -903
- package/dist/index.umd.cjs +43 -35
- package/dist/style.css +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import H from "moment";
|
|
2
|
-
import
|
|
3
|
-
import { ArrowRightBold as
|
|
4
|
-
import { LngLatHelper as
|
|
5
|
-
import * as
|
|
6
|
-
import { markRaw as
|
|
7
|
-
import
|
|
8
|
-
const
|
|
2
|
+
import j from "moment-timezone";
|
|
3
|
+
import { ArrowRightBold as ft, Calendar as yt, Download as vt, Search as Dt } from "@element-plus/icons-vue";
|
|
4
|
+
import { LngLatHelper as Je } from "@idm-plugin/geo";
|
|
5
|
+
import * as Qe from "echarts";
|
|
6
|
+
import { markRaw as xt, resolveComponent as ze, openBlock as r, createElementBlock as l, createElementVNode as s, createVNode as ke, withCtx as Pe, Fragment as ue, renderList as fe, createBlock as Re, normalizeClass as ye, toDisplayString as m, createTextVNode as se, createCommentVNode as Ne, withDirectives as Ze, vShow as Ve, normalizeStyle as Le } from "vue";
|
|
7
|
+
import Fe from "axios";
|
|
8
|
+
const Xe = [
|
|
9
9
|
{
|
|
10
10
|
rank: 0,
|
|
11
11
|
name: "Best Match",
|
|
@@ -164,7 +164,7 @@ const Se = [
|
|
|
164
164
|
categories: "bom_access_global",
|
|
165
165
|
variables: "temperature_2m,relative_humidity_2m,dew_point_2m,apparent_temperature,precipitation_probability,precipitation,rain,showers,snowfall_water_equivalent,snowfall,frozen_precipitation_percent,pressure_msl,cloud_cover,visibility,wind_speed_10m,wind_u_component_10m,wind_v_component_10m,wind_direction_10m,wind_gusts_10m,cape,lifted_index,weather_code"
|
|
166
166
|
}
|
|
167
|
-
],
|
|
167
|
+
], qe = [
|
|
168
168
|
{
|
|
169
169
|
rank: 0,
|
|
170
170
|
name: "Best Match",
|
|
@@ -283,133 +283,133 @@ const Se = [
|
|
|
283
283
|
variables: "swell_wave_direction,swell_wave_height,swell_wave_period,swell_wave_peak_period,wave_direction,wave_height,wave_period,wind_wave_direction,wind_wave_height,wind_wave_period,wind_wave_peak_period"
|
|
284
284
|
}
|
|
285
285
|
];
|
|
286
|
-
class
|
|
286
|
+
class Te {
|
|
287
287
|
static standardWeatherModels() {
|
|
288
|
-
return
|
|
288
|
+
return Xe.filter((e) => !e.disabled && e.alias);
|
|
289
289
|
}
|
|
290
290
|
static standardMarineModels() {
|
|
291
|
-
return
|
|
291
|
+
return qe.filter((e) => !e.disabled && e.alias);
|
|
292
292
|
}
|
|
293
293
|
static autoPickMeteoModel(e = "best_match") {
|
|
294
294
|
var a, h;
|
|
295
|
-
const t = e.toLowerCase().split(","), o = [],
|
|
296
|
-
for (const
|
|
297
|
-
let I =
|
|
298
|
-
var C,
|
|
299
|
-
return ((C = x.models) == null ? void 0 : C.includes(
|
|
300
|
-
}), b =
|
|
301
|
-
var C,
|
|
302
|
-
return ((C = x.models) == null ? void 0 : C.includes(
|
|
295
|
+
const t = e.toLowerCase().split(","), o = [], p = [];
|
|
296
|
+
for (const f of t) {
|
|
297
|
+
let I = Xe.find((x) => {
|
|
298
|
+
var C, Q, N;
|
|
299
|
+
return ((C = x.models) == null ? void 0 : C.includes(f)) || ((Q = x.alias) == null ? void 0 : Q.toLowerCase()) === f || ((N = x.name) == null ? void 0 : N.toLowerCase()) === f;
|
|
300
|
+
}), b = qe.find((x) => {
|
|
301
|
+
var C, Q, N;
|
|
302
|
+
return ((C = x.models) == null ? void 0 : C.includes(f)) || ((Q = x.alias) == null ? void 0 : Q.toLowerCase()) === f || ((N = x.name) == null ? void 0 : N.toLowerCase()) === f;
|
|
303
303
|
});
|
|
304
|
-
I = I ||
|
|
305
|
-
var C,
|
|
306
|
-
return ((C = x.alias) == null ? void 0 : C.toLowerCase()) === ((
|
|
307
|
-
}), b = b ||
|
|
308
|
-
var C,
|
|
309
|
-
return ((C = x.alias) == null ? void 0 : C.toLowerCase()) === ((
|
|
310
|
-
}), I = I ||
|
|
304
|
+
I = I || Xe.find((x) => {
|
|
305
|
+
var C, Q;
|
|
306
|
+
return ((C = x.alias) == null ? void 0 : C.toLowerCase()) === ((Q = b == null ? void 0 : b.alias) == null ? void 0 : Q.toLowerCase());
|
|
307
|
+
}), b = b || qe.find((x) => {
|
|
308
|
+
var C, Q;
|
|
309
|
+
return ((C = x.alias) == null ? void 0 : C.toLowerCase()) === ((Q = I == null ? void 0 : I.alias) == null ? void 0 : Q.toLowerCase());
|
|
310
|
+
}), I = I || Xe[0], b = b || qe[0], o.push((a = I.models) != null && a.includes(f) ? f : I.model), p.push((h = b.models) != null && h.includes(f) ? f : b.model);
|
|
311
311
|
}
|
|
312
312
|
return {
|
|
313
313
|
weatherModels: o.join(","),
|
|
314
|
-
marineModels:
|
|
314
|
+
marineModels: p.join(",")
|
|
315
315
|
};
|
|
316
316
|
}
|
|
317
317
|
static pickHourly(e, a) {
|
|
318
|
-
var h, t, o,
|
|
319
|
-
const
|
|
320
|
-
if (
|
|
321
|
-
const
|
|
322
|
-
let i,
|
|
323
|
-
if (
|
|
324
|
-
let
|
|
325
|
-
for (const
|
|
326
|
-
const
|
|
327
|
-
for (let
|
|
328
|
-
|
|
329
|
-
for (let
|
|
330
|
-
|
|
318
|
+
var h, t, o, p, f, I, b, x, C, Q, N, ee, te, ae, _, Y, K, U, R, W, X, q, J, Z, V, w, S, T, P, u, G, M, k, D, re, le, ie, c, ve, E, z, F, pe, A, Ae, ne, ge, he, Ce, Be;
|
|
319
|
+
const de = typeof a == "string" ? H(a) : a, ce = e == null ? void 0 : e.weather, B = e == null ? void 0 : e.marine, be = H((t = (h = ce == null ? void 0 : ce[0]) == null ? void 0 : h.hourly) == null ? void 0 : t.date).utc(), O = be.clone().add((f = (p = (o = ce == null ? void 0 : ce[0]) == null ? void 0 : o.hourly) == null ? void 0 : p.time) == null ? void 0 : f.at(0), "h"), $ = be.clone().add((x = (b = (I = ce == null ? void 0 : ce[0]) == null ? void 0 : I.hourly) == null ? void 0 : b.time) == null ? void 0 : x.at(-1), "h"), we = [];
|
|
320
|
+
if (de.isBetween(O, $, "millisecond", "[]")) {
|
|
321
|
+
const v = de.utc().diff(O, "h", !1);
|
|
322
|
+
let i, g;
|
|
323
|
+
if (ce) {
|
|
324
|
+
let me = 0, Ee = 0;
|
|
325
|
+
for (const y of ce) {
|
|
326
|
+
const oe = y.hourly;
|
|
327
|
+
for (let xe = v - (v - 1) % 3; xe <= v; xe++)
|
|
328
|
+
me += (C = oe.precipitation) == null ? void 0 : C.at(xe);
|
|
329
|
+
for (let xe = v - (v - 1) % 6; xe <= v; xe++)
|
|
330
|
+
Ee += (Q = oe.precipitation) == null ? void 0 : Q.at(xe);
|
|
331
331
|
i = {
|
|
332
|
-
temp: (N =
|
|
333
|
-
apparentTemp: (
|
|
334
|
-
rh: (
|
|
335
|
-
dp: (
|
|
332
|
+
temp: (N = oe.temperature_2m) == null ? void 0 : N.at(v),
|
|
333
|
+
apparentTemp: (ee = oe.apparent_temperature) == null ? void 0 : ee.at(v),
|
|
334
|
+
rh: (te = oe.relative_humidity_2m) == null ? void 0 : te.at(v),
|
|
335
|
+
dp: (ae = oe.dew_point_2m) == null ? void 0 : ae.at(v),
|
|
336
336
|
precip: {
|
|
337
|
-
probability: (
|
|
338
|
-
sum: (
|
|
339
|
-
sum3Hours: Math.round(
|
|
340
|
-
sum6Hours: Math.round(
|
|
337
|
+
probability: (_ = oe.precipitation_probability) == null ? void 0 : _.at(v),
|
|
338
|
+
sum: (Y = oe.precipitation) == null ? void 0 : Y.at(v),
|
|
339
|
+
sum3Hours: Math.round(me * 100) / 100,
|
|
340
|
+
sum6Hours: Math.round(Ee * 100) / 100
|
|
341
341
|
},
|
|
342
|
-
pmsl: (
|
|
343
|
-
psurf: (
|
|
344
|
-
code: (
|
|
345
|
-
visibility: this.m2nm((
|
|
342
|
+
pmsl: (K = oe.pressure_msl) == null ? void 0 : K.at(v),
|
|
343
|
+
psurf: (U = oe.surface_pressure) == null ? void 0 : U.at(v),
|
|
344
|
+
code: (R = oe.weather_code) == null ? void 0 : R.at(v),
|
|
345
|
+
visibility: this.m2nm((W = oe.visibility) == null ? void 0 : W.at(v)),
|
|
346
346
|
wind: {
|
|
347
|
-
speed: (
|
|
348
|
-
kts: (
|
|
349
|
-
degree: (
|
|
350
|
-
bearing: ((
|
|
351
|
-
gusts: (
|
|
347
|
+
speed: (X = oe.wind_speed_10m) == null ? void 0 : X.at(v),
|
|
348
|
+
kts: (q = oe.wind_speed_10m) == null ? void 0 : q.at(v),
|
|
349
|
+
degree: (J = oe.wind_direction_10m) == null ? void 0 : J.at(v),
|
|
350
|
+
bearing: ((Z = oe.wind_direction_10m) == null ? void 0 : Z.at(v)) !== null ? (((V = oe.wind_direction_10m) == null ? void 0 : V.at(v)) + 180) % 360 : null,
|
|
351
|
+
gusts: (w = oe.wind_gusts_10m) == null ? void 0 : w.at(v)
|
|
352
352
|
},
|
|
353
|
-
isDay: (
|
|
353
|
+
isDay: (S = oe.is_day) == null ? void 0 : S.at(v)
|
|
354
354
|
};
|
|
355
|
-
const { name:
|
|
356
|
-
i.name =
|
|
357
|
-
utc:
|
|
358
|
-
model:
|
|
355
|
+
const { name: De, url: d, bg: L } = this.parseWeatherCode(i.code, i.isDay);
|
|
356
|
+
i.name = De, i.url = d, i.bg = L, i.wind.scale = this.beaufort(this.kts2ms(i.wind.kts)), i.wind.direction = this.degree2Direction(i.wind.degree), we.push({
|
|
357
|
+
utc: O.add(v, "h").format(),
|
|
358
|
+
model: y.model,
|
|
359
359
|
weather: { ...i }
|
|
360
360
|
});
|
|
361
361
|
}
|
|
362
362
|
}
|
|
363
|
-
if (
|
|
364
|
-
let
|
|
365
|
-
for (const
|
|
366
|
-
const
|
|
367
|
-
|
|
363
|
+
if (B) {
|
|
364
|
+
let me = 0;
|
|
365
|
+
for (const Ee of B) {
|
|
366
|
+
const y = Ee.hourly;
|
|
367
|
+
g = {
|
|
368
368
|
wave: {
|
|
369
369
|
sig: {
|
|
370
|
-
height: (T =
|
|
371
|
-
degree: (P =
|
|
372
|
-
bearing: ((
|
|
373
|
-
period: (
|
|
370
|
+
height: (T = y.wave_height) == null ? void 0 : T.at(v),
|
|
371
|
+
degree: (P = y.wave_direction) == null ? void 0 : P.at(v),
|
|
372
|
+
bearing: ((u = y.wave_direction) == null ? void 0 : u.at(v)) !== null ? (((G = y.wave_direction) == null ? void 0 : G.at(v)) + 180) % 360 : null,
|
|
373
|
+
period: (M = y.wave_period) == null ? void 0 : M.at(v)
|
|
374
374
|
},
|
|
375
375
|
swell: {
|
|
376
|
-
height: (
|
|
377
|
-
degree: (D =
|
|
378
|
-
bearing: ((
|
|
379
|
-
period: (
|
|
380
|
-
peakPeriod: (
|
|
376
|
+
height: (k = y.swell_wave_height) == null ? void 0 : k.at(v),
|
|
377
|
+
degree: (D = y.swell_wave_direction) == null ? void 0 : D.at(v),
|
|
378
|
+
bearing: ((re = y.swell_wave_direction) == null ? void 0 : re.at(v)) !== null ? (((le = y.swell_wave_direction) == null ? void 0 : le.at(v)) + 180) % 360 : null,
|
|
379
|
+
period: (ie = y.swell_wave_period) == null ? void 0 : ie.at(v),
|
|
380
|
+
peakPeriod: (c = y.swell_wave_peak_period) == null ? void 0 : c.at(v)
|
|
381
381
|
},
|
|
382
382
|
wd: {
|
|
383
|
-
height: (
|
|
384
|
-
degree: (E =
|
|
385
|
-
bearing: ((z =
|
|
386
|
-
period: (
|
|
387
|
-
peakPeriod: (A =
|
|
383
|
+
height: (ve = y.wind_wave_height) == null ? void 0 : ve.at(v),
|
|
384
|
+
degree: (E = y.wind_wave_direction) == null ? void 0 : E.at(v),
|
|
385
|
+
bearing: ((z = y.wind_wave_direction) == null ? void 0 : z.at(v)) !== null ? (((F = y.wind_wave_direction) == null ? void 0 : F.at(v)) + 180) % 360 : null,
|
|
386
|
+
period: (pe = y.wind_wave_period) == null ? void 0 : pe.at(v),
|
|
387
|
+
peakPeriod: (A = y.wind_wave_peak_period) == null ? void 0 : A.at(v)
|
|
388
388
|
}
|
|
389
389
|
},
|
|
390
390
|
current: {
|
|
391
|
-
speed: (
|
|
392
|
-
kts: (
|
|
393
|
-
degree: (
|
|
394
|
-
bearing: ((
|
|
391
|
+
speed: (Ae = y.ocean_current_velocity) == null ? void 0 : Ae.at(v),
|
|
392
|
+
kts: (ne = y.ocean_current_velocity) == null ? void 0 : ne.at(v),
|
|
393
|
+
degree: (ge = y.ocean_current_direction) == null ? void 0 : ge.at(v),
|
|
394
|
+
bearing: ((he = y.ocean_current_direction) == null ? void 0 : he.at(v)) ?? null
|
|
395
395
|
},
|
|
396
|
-
sst: (
|
|
397
|
-
height: (
|
|
398
|
-
},
|
|
396
|
+
sst: (Ce = y.sea_surface_temperature) == null ? void 0 : Ce.at(v),
|
|
397
|
+
height: (Be = y.sea_level_height_msl) == null ? void 0 : Be.at(v)
|
|
398
|
+
}, g.wave = this.parseWave(g.wave), g.current.direction = this.degree2Direction(g.current.degree), Object.assign(we[me], g), me++;
|
|
399
399
|
}
|
|
400
400
|
}
|
|
401
401
|
}
|
|
402
|
-
return
|
|
402
|
+
return we;
|
|
403
403
|
}
|
|
404
404
|
static toLegacy(e) {
|
|
405
|
-
var a, h, t, o,
|
|
405
|
+
var a, h, t, o, p, f, I, b, x, C;
|
|
406
406
|
return {
|
|
407
407
|
wind: (a = e == null ? void 0 : e.weather) == null ? void 0 : a.wind,
|
|
408
408
|
visibility: (h = e == null ? void 0 : e.weather) == null ? void 0 : h.visibility,
|
|
409
409
|
temp: (t = e == null ? void 0 : e.weather) == null ? void 0 : t.temp,
|
|
410
410
|
prmsl: (o = e == null ? void 0 : e.weather) == null ? void 0 : o.pmsl,
|
|
411
411
|
gusts: {
|
|
412
|
-
kts: (
|
|
412
|
+
kts: (f = (p = e == null ? void 0 : e.weather) == null ? void 0 : p.wind) == null ? void 0 : f.gusts
|
|
413
413
|
},
|
|
414
414
|
precip: (I = e == null ? void 0 : e.weather) == null ? void 0 : I.precip,
|
|
415
415
|
code: (b = e == null ? void 0 : e.weather) == null ? void 0 : b.code,
|
|
@@ -424,85 +424,85 @@ class ke {
|
|
|
424
424
|
};
|
|
425
425
|
}
|
|
426
426
|
static pickDaily(e, a) {
|
|
427
|
-
var h, t, o,
|
|
428
|
-
const
|
|
429
|
-
if (
|
|
430
|
-
let
|
|
431
|
-
const
|
|
432
|
-
if (
|
|
433
|
-
for (const
|
|
434
|
-
const
|
|
435
|
-
|
|
436
|
-
code: (b =
|
|
427
|
+
var h, t, o, p, f, I, b, x, C, Q, N, ee, te, ae, _, Y, K, U, R, W, X, q, J, Z, V, w, S, T, P, u, G, M, k, D, re, le, ie, c, ve, E, z, F, pe, A;
|
|
428
|
+
const Ae = typeof a == "string" ? H(a) : a, ne = e == null ? void 0 : e.weather, ge = e == null ? void 0 : e.marine, he = H((o = (t = (h = ne == null ? void 0 : ne[0]) == null ? void 0 : h.daily) == null ? void 0 : t.time) == null ? void 0 : o.at(0)), Ce = H((I = (f = (p = ne == null ? void 0 : ne[0]) == null ? void 0 : p.daily) == null ? void 0 : f.time) == null ? void 0 : I.at(-1)), Be = [];
|
|
429
|
+
if (Ae.isBetween(he, Ce, "millisecond", "[]")) {
|
|
430
|
+
let de, ce;
|
|
431
|
+
const B = Ae.diff(he, "d", !1);
|
|
432
|
+
if (ne)
|
|
433
|
+
for (const be of ne) {
|
|
434
|
+
const O = be.daily;
|
|
435
|
+
de = {
|
|
436
|
+
code: (b = O.weather_code) == null ? void 0 : b.at(B),
|
|
437
437
|
temp: {
|
|
438
|
-
max: (x =
|
|
439
|
-
min: (C =
|
|
440
|
-
mean: (
|
|
438
|
+
max: (x = O.temperature_2m_max) == null ? void 0 : x.at(B),
|
|
439
|
+
min: (C = O.temperature_2m_min) == null ? void 0 : C.at(B),
|
|
440
|
+
mean: (Q = O.temperature_2m_mean) == null ? void 0 : Q.at(B)
|
|
441
441
|
},
|
|
442
442
|
apparentTemp: {
|
|
443
|
-
max: (N =
|
|
444
|
-
min: (
|
|
443
|
+
max: (N = O.apparent_temperature_max) == null ? void 0 : N.at(B),
|
|
444
|
+
min: (ee = O.apparent_temperature_min) == null ? void 0 : ee.at(B)
|
|
445
445
|
},
|
|
446
446
|
precip: {
|
|
447
|
-
sum: (
|
|
448
|
-
rainSum: (
|
|
449
|
-
snowfallSum: (
|
|
450
|
-
showersSum: (
|
|
451
|
-
hours: (
|
|
452
|
-
probability: (
|
|
447
|
+
sum: (te = O.precipitation_sum) == null ? void 0 : te.at(B),
|
|
448
|
+
rainSum: (ae = O.rain_sum) == null ? void 0 : ae.at(B),
|
|
449
|
+
snowfallSum: (_ = O.snowfall_sum) == null ? void 0 : _.at(B),
|
|
450
|
+
showersSum: (Y = O.showers_sum) == null ? void 0 : Y.at(B),
|
|
451
|
+
hours: (K = O.precipitation_hours) == null ? void 0 : K.at(B),
|
|
452
|
+
probability: (U = O.precipitation_probability_max) == null ? void 0 : U.at(B)
|
|
453
453
|
},
|
|
454
454
|
rh: {
|
|
455
|
-
max: (
|
|
456
|
-
min: (
|
|
457
|
-
mean: (
|
|
455
|
+
max: (R = O.relative_humidity_2m_max) == null ? void 0 : R.at(B),
|
|
456
|
+
min: (W = O.relative_humidity_2m_min) == null ? void 0 : W.at(B),
|
|
457
|
+
mean: (X = O.relative_humidity_2m_mean) == null ? void 0 : X.at(B)
|
|
458
458
|
},
|
|
459
459
|
wind: {
|
|
460
|
-
speed: (
|
|
461
|
-
kts: (
|
|
462
|
-
degree: (
|
|
463
|
-
gusts: (
|
|
464
|
-
bearing: ((
|
|
460
|
+
speed: (q = O.wind_speed_10m_max) == null ? void 0 : q.at(B),
|
|
461
|
+
kts: (J = O.wind_speed_10m_max) == null ? void 0 : J.at(B),
|
|
462
|
+
degree: (Z = O.wind_direction_10m_dominant) == null ? void 0 : Z.at(B),
|
|
463
|
+
gusts: (V = O.wind_gusts_10m_max) == null ? void 0 : V.at(B),
|
|
464
|
+
bearing: ((w = O.wind_direction_10m_dominant) == null ? void 0 : w.at(B)) !== null ? (((S = O.wind_direction_10m_dominant) == null ? void 0 : S.at(B)) + 180) % 360 : null
|
|
465
465
|
}
|
|
466
466
|
};
|
|
467
|
-
const { name:
|
|
468
|
-
|
|
469
|
-
utc:
|
|
470
|
-
model:
|
|
471
|
-
weather: { ...
|
|
467
|
+
const { name: $, url: we, bg: v } = this.parseWeatherCode(de.code, !0);
|
|
468
|
+
de.name = $, de.url = we, de.bg = v, de.wind.scale = this.beaufort(this.kts2ms(de.wind.kts)), de.wind.direction = this.degree2Direction(de.wind.degree), Be.push({
|
|
469
|
+
utc: he.add(B, "d").utc().format(),
|
|
470
|
+
model: be.model,
|
|
471
|
+
weather: { ...de }
|
|
472
472
|
});
|
|
473
473
|
}
|
|
474
|
-
if (
|
|
475
|
-
let
|
|
476
|
-
for (const
|
|
477
|
-
const
|
|
478
|
-
|
|
474
|
+
if (ge) {
|
|
475
|
+
let be = 0;
|
|
476
|
+
for (const O of ge) {
|
|
477
|
+
const $ = O.daily;
|
|
478
|
+
ce = {
|
|
479
479
|
wave: {
|
|
480
480
|
sig: {
|
|
481
|
-
height: (T =
|
|
482
|
-
degree: (P =
|
|
483
|
-
period: (
|
|
484
|
-
bearing: ((
|
|
481
|
+
height: (T = $.wave_height_max) == null ? void 0 : T.at(B),
|
|
482
|
+
degree: (P = $.wave_direction_dominant) == null ? void 0 : P.at(B),
|
|
483
|
+
period: (u = $.wave_period_max) == null ? void 0 : u.at(B),
|
|
484
|
+
bearing: ((G = $.wave_direction_dominant) == null ? void 0 : G.at(B)) !== null ? (((M = $.wave_direction_dominant) == null ? void 0 : M.at(B)) + 180) % 360 : null
|
|
485
485
|
},
|
|
486
486
|
swell: {
|
|
487
|
-
height: (
|
|
488
|
-
degree: (D =
|
|
489
|
-
period: (
|
|
490
|
-
peakPeriod: (
|
|
491
|
-
bearing: ((
|
|
487
|
+
height: (k = $.swell_wave_height_max) == null ? void 0 : k.at(B),
|
|
488
|
+
degree: (D = $.swell_wave_direction_dominant) == null ? void 0 : D.at(B),
|
|
489
|
+
period: (re = $.swell_wave_period_max) == null ? void 0 : re.at(B),
|
|
490
|
+
peakPeriod: (le = $.swell_wave_peak_period_max) == null ? void 0 : le.at(B),
|
|
491
|
+
bearing: ((ie = $.swell_wave_direction_dominant) == null ? void 0 : ie.at(B)) !== null ? (((c = $.swell_wave_direction_dominant) == null ? void 0 : c.at(B)) + 180) % 360 : null
|
|
492
492
|
},
|
|
493
493
|
wd: {
|
|
494
|
-
height: (
|
|
495
|
-
degree: (E =
|
|
496
|
-
period: (z =
|
|
497
|
-
peakPeriod: (
|
|
498
|
-
bearing: ((
|
|
494
|
+
height: (ve = $.wind_wave_height_max) == null ? void 0 : ve.at(B),
|
|
495
|
+
degree: (E = $.wind_wave_direction_dominant) == null ? void 0 : E.at(B),
|
|
496
|
+
period: (z = $.wind_wave_period_max) == null ? void 0 : z.at(B),
|
|
497
|
+
peakPeriod: (F = $.wind_wave_peak_period_max) == null ? void 0 : F.at(B),
|
|
498
|
+
bearing: ((pe = $.wind_wave_direction_dominant) == null ? void 0 : pe.at(B)) !== null ? (((A = $.wind_wave_direction_dominant) == null ? void 0 : A.at(B)) + 180) % 360 : null
|
|
499
499
|
}
|
|
500
500
|
}
|
|
501
|
-
},
|
|
501
|
+
}, ce.wave = this.parseWave(ce.wave), Object.assign(Be[be], ce), be++;
|
|
502
502
|
}
|
|
503
503
|
}
|
|
504
504
|
}
|
|
505
|
-
return
|
|
505
|
+
return Be;
|
|
506
506
|
}
|
|
507
507
|
static parseWave(e) {
|
|
508
508
|
return e.sig.direction = this.degree2Direction(e.sig.degree), e.swell.direction = this.degree2Direction(e.swell.degree), e.wd.direction = this.degree2Direction(e.wd.degree), e.sig.scale = this.douglas(e.sig.height), e.swell.scale = this.douglas(e.swell.height), e.wd.scale = this.douglas(e.wd.height), e;
|
|
@@ -883,15 +883,15 @@ class ke {
|
|
|
883
883
|
return isNaN(e) || e <= 0.1 ? a = "Calm" : e <= 0.5 ? a = "Smooth" : e <= 1.25 ? a = "Slight" : e <= 2.5 ? a = "Moderate" : e <= 4 ? a = "Rough" : e <= 6 ? a = "VeryRough" : e <= 9 ? a = "High" : e <= 14 ? a = "VeryHigh" : a = "Precipitous", a;
|
|
884
884
|
}
|
|
885
885
|
}
|
|
886
|
-
const He = "data:image/gif;base64,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";
|
|
887
|
-
const
|
|
886
|
+
const Oe = "data:image/gif;base64,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";
|
|
887
|
+
const Bt = (n, e) => {
|
|
888
888
|
const a = n.__vccOpts || n;
|
|
889
889
|
for (const [h, t] of e)
|
|
890
890
|
a[h] = t;
|
|
891
891
|
return a;
|
|
892
|
-
},
|
|
892
|
+
}, bt = {
|
|
893
893
|
name: "SpotReport",
|
|
894
|
-
components: { ArrowRightBold:
|
|
894
|
+
components: { ArrowRightBold: ft, Calendar: yt, Download: vt },
|
|
895
895
|
props: {
|
|
896
896
|
token: {
|
|
897
897
|
type: String,
|
|
@@ -920,7 +920,7 @@ const at = (n, e) => {
|
|
|
920
920
|
menuIndex: 2,
|
|
921
921
|
placeholder: "search for port name or coordinates",
|
|
922
922
|
searchName: void 0,
|
|
923
|
-
rawSearchIcon:
|
|
923
|
+
rawSearchIcon: xt(Dt),
|
|
924
924
|
forecastModel: "Best Match",
|
|
925
925
|
modelList: ["Best Match", "GFS", "ECMWF"],
|
|
926
926
|
followList: void 0,
|
|
@@ -957,7 +957,7 @@ const at = (n, e) => {
|
|
|
957
957
|
computeHourLT() {
|
|
958
958
|
return function(n) {
|
|
959
959
|
if (n) {
|
|
960
|
-
const e =
|
|
960
|
+
const e = j(n).tz(this.positionGmt);
|
|
961
961
|
return `${e == null ? void 0 : e.format("HH")}`;
|
|
962
962
|
}
|
|
963
963
|
return "-";
|
|
@@ -975,7 +975,7 @@ const at = (n, e) => {
|
|
|
975
975
|
computeWeekLT() {
|
|
976
976
|
return function(n) {
|
|
977
977
|
if (n) {
|
|
978
|
-
const e =
|
|
978
|
+
const e = j(n).tz(this.positionGmt);
|
|
979
979
|
return `${e == null ? void 0 : e.format("dddd")}`;
|
|
980
980
|
}
|
|
981
981
|
return "-";
|
|
@@ -984,7 +984,7 @@ const at = (n, e) => {
|
|
|
984
984
|
computeMMMDDLT() {
|
|
985
985
|
return function(n) {
|
|
986
986
|
if (n) {
|
|
987
|
-
const e =
|
|
987
|
+
const e = j(n).tz(this.positionGmt);
|
|
988
988
|
return `${e == null ? void 0 : e.format("MMM-DD")}`;
|
|
989
989
|
}
|
|
990
990
|
return "-";
|
|
@@ -993,7 +993,7 @@ const at = (n, e) => {
|
|
|
993
993
|
computeMMMDDHHmmLT() {
|
|
994
994
|
return function(n) {
|
|
995
995
|
if (n) {
|
|
996
|
-
const e =
|
|
996
|
+
const e = j(n).tz(this.positionGmt);
|
|
997
997
|
return `${e == null ? void 0 : e.format("MMM-DD HHmm")}`;
|
|
998
998
|
}
|
|
999
999
|
return "-";
|
|
@@ -1002,7 +1002,7 @@ const at = (n, e) => {
|
|
|
1002
1002
|
computeMMMDDyyyyLT() {
|
|
1003
1003
|
return function(n) {
|
|
1004
1004
|
if (n) {
|
|
1005
|
-
const e =
|
|
1005
|
+
const e = j(n).tz(this.positionGmt);
|
|
1006
1006
|
return `${e == null ? void 0 : e.format("MMM-DD, yyyy")}`;
|
|
1007
1007
|
}
|
|
1008
1008
|
return "-";
|
|
@@ -1010,17 +1010,17 @@ const at = (n, e) => {
|
|
|
1010
1010
|
},
|
|
1011
1011
|
computeLat() {
|
|
1012
1012
|
return function(n, e = 4) {
|
|
1013
|
-
return
|
|
1013
|
+
return Je.lat2pretty(n, e).pretty;
|
|
1014
1014
|
};
|
|
1015
1015
|
},
|
|
1016
1016
|
computeLng() {
|
|
1017
1017
|
return function(n, e = 4) {
|
|
1018
|
-
return
|
|
1018
|
+
return Je.lng2pretty(n, e).pretty;
|
|
1019
1019
|
};
|
|
1020
1020
|
},
|
|
1021
1021
|
roundPrecision() {
|
|
1022
1022
|
return function(n, e = 4) {
|
|
1023
|
-
return isNaN(n) ? "-" :
|
|
1023
|
+
return isNaN(n) ? "-" : Je.roundPrecision(n, e);
|
|
1024
1024
|
};
|
|
1025
1025
|
}
|
|
1026
1026
|
},
|
|
@@ -1073,7 +1073,7 @@ const at = (n, e) => {
|
|
|
1073
1073
|
const e = n.replaceAll(",", ",");
|
|
1074
1074
|
if (!e)
|
|
1075
1075
|
return !1;
|
|
1076
|
-
const a = await
|
|
1076
|
+
const a = await Fe.get(`${this.gateway}/api/arc/ports/suggest?n=${e}`, {
|
|
1077
1077
|
headers: {
|
|
1078
1078
|
Authorization: this.token
|
|
1079
1079
|
}
|
|
@@ -1083,8 +1083,8 @@ const at = (n, e) => {
|
|
|
1083
1083
|
async handleSearch(n) {
|
|
1084
1084
|
var e, a, h, t;
|
|
1085
1085
|
if (this.searchName) {
|
|
1086
|
-
this.handleClearHoursTable(), this.followList ? this.followItem = this.followList.find((
|
|
1087
|
-
const o = this.positionList.find((
|
|
1086
|
+
this.handleClearHoursTable(), this.followList ? this.followItem = this.followList.find((p) => p.name === this.searchName) : await this.fetchMyFollows();
|
|
1087
|
+
const o = this.positionList.find((p) => p.name === this.searchName);
|
|
1088
1088
|
this.position = {
|
|
1089
1089
|
portId: ((e = this.followItem) == null ? void 0 : e.portId) || (o == null ? void 0 : o.portId),
|
|
1090
1090
|
lat: o == null ? void 0 : o.lat,
|
|
@@ -1096,7 +1096,7 @@ const at = (n, e) => {
|
|
|
1096
1096
|
}
|
|
1097
1097
|
},
|
|
1098
1098
|
handleModelChange() {
|
|
1099
|
-
this.position.forecastModel = this.forecastModel, this
|
|
1099
|
+
this.position.forecastModel = this.forecastModel, this.$emit("url", this.position), this.handleRender();
|
|
1100
1100
|
},
|
|
1101
1101
|
handleFollowDialogOpen() {
|
|
1102
1102
|
var e;
|
|
@@ -1107,24 +1107,24 @@ const at = (n, e) => {
|
|
|
1107
1107
|
async fetchMyFollows() {
|
|
1108
1108
|
var e, a, h;
|
|
1109
1109
|
this.followList = [];
|
|
1110
|
-
const n = await
|
|
1110
|
+
const n = await Fe.get(`${this.gateway}/api/rsv/follows`, {
|
|
1111
1111
|
headers: {
|
|
1112
1112
|
Authorization: this.token
|
|
1113
1113
|
},
|
|
1114
1114
|
params: { b: 2, pn: 1, ps: 1e4 }
|
|
1115
1115
|
});
|
|
1116
1116
|
((e = n == null ? void 0 : n.data) == null ? void 0 : e.code) === 0 && ((h = (a = n.data) == null ? void 0 : a.data) == null || h.rows.forEach((t) => {
|
|
1117
|
-
var
|
|
1117
|
+
var p, f, I, b, x, C, Q, N;
|
|
1118
1118
|
const o = {};
|
|
1119
|
-
o.followId = t.id, o.remark = t.remark, o.name = ((
|
|
1119
|
+
o.followId = t.id, o.remark = t.remark, o.name = ((p = t.port) == null ? void 0 : p.name) || this.computeLat((f = t == null ? void 0 : t.coordinate) == null ? void 0 : f.lat) + ", " + this.computeLng((I = t == null ? void 0 : t.coordinate) == null ? void 0 : I.lng), o.nameRemark = o.remark ? `${o.name} ( ${o.remark} )` : o.name, o.portId = (b = t.port) == null ? void 0 : b.id, o.lat = ((x = t.port) == null ? void 0 : x.lat) || ((C = t == null ? void 0 : t.coordinate) == null ? void 0 : C.lat), o.lng = ((Q = t.port) == null ? void 0 : Q.lng) || ((N = t == null ? void 0 : t.coordinate) == null ? void 0 : N.lng), this.followList.push(o);
|
|
1120
1120
|
}), this.followItem = this.followList.find((t) => {
|
|
1121
|
-
var o,
|
|
1122
|
-
return t.followId && ((o = this.position) == null ? void 0 : o.followId) && t.followId === ((
|
|
1121
|
+
var o, p;
|
|
1122
|
+
return t.followId && ((o = this.position) == null ? void 0 : o.followId) && t.followId === ((p = this.position) == null ? void 0 : p.followId);
|
|
1123
1123
|
}));
|
|
1124
1124
|
},
|
|
1125
1125
|
handleClickFollow() {
|
|
1126
1126
|
if (this.followItem)
|
|
1127
|
-
|
|
1127
|
+
Fe.delete(`${this.gateway}/api/rsv/follows/${this.position.followId}`, {
|
|
1128
1128
|
headers: {
|
|
1129
1129
|
Authorization: this.token
|
|
1130
1130
|
}
|
|
@@ -1139,7 +1139,7 @@ const at = (n, e) => {
|
|
|
1139
1139
|
lat: this.position.portId ? void 0 : this.position.lat,
|
|
1140
1140
|
remark: this.followRemark
|
|
1141
1141
|
};
|
|
1142
|
-
|
|
1142
|
+
Fe.post(`${this.gateway}/api/rsv/follows`, n, {
|
|
1143
1143
|
headers: {
|
|
1144
1144
|
Authorization: this.token
|
|
1145
1145
|
}
|
|
@@ -1152,7 +1152,7 @@ const at = (n, e) => {
|
|
|
1152
1152
|
handleDownload() {
|
|
1153
1153
|
},
|
|
1154
1154
|
async fetchForecastMeteo(n) {
|
|
1155
|
-
var o,
|
|
1155
|
+
var o, p, f, I, b, x, C;
|
|
1156
1156
|
if (this.meteoData = void 0, !this.token)
|
|
1157
1157
|
return !1;
|
|
1158
1158
|
this.loading = {
|
|
@@ -1163,39 +1163,39 @@ const at = (n, e) => {
|
|
|
1163
1163
|
hourlyTable: !0,
|
|
1164
1164
|
seasonalEchart: !0
|
|
1165
1165
|
};
|
|
1166
|
-
const { weatherModels: e, marineModels: a } =
|
|
1166
|
+
const { weatherModels: e, marineModels: a } = Te.autoPickMeteoModel(this.forecastModel), h = {
|
|
1167
1167
|
lat: this.position.lat,
|
|
1168
1168
|
lng: this.position.lng,
|
|
1169
1169
|
forecastDays: n || 7,
|
|
1170
1170
|
weatherModels: e,
|
|
1171
1171
|
marineModels: a
|
|
1172
|
-
}, t = await
|
|
1172
|
+
}, t = await Fe.post(`${this.gateway}/api/arc/meteo2/spot/forecast`, h, {
|
|
1173
1173
|
headers: {
|
|
1174
1174
|
Authorization: this.token
|
|
1175
1175
|
}
|
|
1176
1176
|
});
|
|
1177
1177
|
(t == null ? void 0 : t.data.code) === 0 && (this.meteoData = {
|
|
1178
1178
|
...t == null ? void 0 : t.data.data
|
|
1179
|
-
}, this.etime = (o = t == null ? void 0 : t.data) == null ? void 0 : o.etime, this.positionGmt = (I = (
|
|
1179
|
+
}, this.etime = (o = t == null ? void 0 : t.data) == null ? void 0 : o.etime, this.positionGmt = (I = (f = (p = this.meteoData) == null ? void 0 : p.weather) == null ? void 0 : f[0]) == null ? void 0 : I.timezone, this.positionOffset = (C = (x = (b = this.meteoData) == null ? void 0 : b.weather) == null ? void 0 : x[0]) == null ? void 0 : C.offset, this.issuedDate = H(this.etime).utc().format("MMM-DD/HHmm[Z], YYYY"));
|
|
1180
1180
|
},
|
|
1181
1181
|
async fetchHistoryMeteo(n) {
|
|
1182
|
-
var
|
|
1182
|
+
var p, f, I, b, x, C, Q;
|
|
1183
1183
|
if (this.meteoData = void 0, !this.token)
|
|
1184
1184
|
return !1;
|
|
1185
1185
|
this.loading.meteogramEchart = !0, this.loading.hourlyTable = !0;
|
|
1186
|
-
const { weatherModels: e, marineModels: a } =
|
|
1186
|
+
const { weatherModels: e, marineModels: a } = Te.autoPickMeteoModel(this.forecastModel), h = j(this.dateRangeZ[0] || this.etime).tz(this.positionGmt).set({ hour: 0, minute: 0, second: 0 }).format(), t = {
|
|
1187
1187
|
lat: this.position.lat,
|
|
1188
1188
|
lng: this.position.lng,
|
|
1189
1189
|
datetime: h,
|
|
1190
1190
|
forecastDays: n,
|
|
1191
1191
|
weatherModels: e,
|
|
1192
1192
|
marineModels: a
|
|
1193
|
-
}, o = await
|
|
1193
|
+
}, o = await Fe.post(`${this.gateway}/api/arc/meteo2/spot/forecast`, t, {
|
|
1194
1194
|
headers: {
|
|
1195
1195
|
Authorization: this.token
|
|
1196
1196
|
}
|
|
1197
1197
|
});
|
|
1198
|
-
(o == null ? void 0 : o.data.code) === 0 && (this.meteoData = o == null ? void 0 : o.data.data, this.meteoData.showDateSelect = !1, this.etime = (
|
|
1198
|
+
(o == null ? void 0 : o.data.code) === 0 && (this.meteoData = o == null ? void 0 : o.data.data, this.meteoData.showDateSelect = !1, this.etime = (p = o == null ? void 0 : o.data) == null ? void 0 : p.etime, this.positionGmt = (b = (I = (f = this.meteoData) == null ? void 0 : f.weather) == null ? void 0 : I[0]) == null ? void 0 : b.timezone, this.positionOffset = (Q = (C = (x = this.meteoData) == null ? void 0 : x.weather) == null ? void 0 : C[0]) == null ? void 0 : Q.offset, this.issuedDate = H(this.etime).utc().format("MMM-DD/HHmm[Z], YYYY"));
|
|
1199
1199
|
},
|
|
1200
1200
|
async handleRender() {
|
|
1201
1201
|
if (this.disposeEcharts(), this.menuIndex === 1) {
|
|
@@ -1206,20 +1206,20 @@ const at = (n, e) => {
|
|
|
1206
1206
|
this.menuIndex === 2 ? (await this.fetchForecastMeteo(7), this.initInfo(), this.initWeatherEchart(), this.handleMeteogramData7(this.meteoData), this.initHoursTableData()) : this.menuIndex === 3 ? (await this.fetchForecastMeteo(14), this.handleMeteogramData14(this.meteoData), this.initDaysTableData(), this.initHourlyTableData(this.meteoData)) : this.menuIndex === 4 && (await this.fetchSeasonalData(), this.initSeasonalEchart());
|
|
1207
1207
|
},
|
|
1208
1208
|
initInfo() {
|
|
1209
|
-
this.activeIndex =
|
|
1209
|
+
this.activeIndex = j(this.etime).tz(this.positionGmt).hour(), this.pickedDate = j(this.etime).tz(this.positionGmt).set({ hour: 0, minute: 0, second: 0, millisecond: 0 }).format();
|
|
1210
1210
|
},
|
|
1211
1211
|
initDatePickerInfo() {
|
|
1212
1212
|
if (!this.dateRangeZ[0] || !this.dateRange[1]) {
|
|
1213
1213
|
this.dateRangeZ = [H(this.etime).add(-7, "day").utc().format(), H(this.etime).add(-1, "day").utc().format()];
|
|
1214
1214
|
const n = [
|
|
1215
|
-
|
|
1216
|
-
|
|
1215
|
+
j(this.dateRangeZ[0]).tz(this.positionGmt).format("yyyy-MM-DD"),
|
|
1216
|
+
j(this.dateRangeZ[1]).tz(this.positionGmt).format("yyyy-MM-DD")
|
|
1217
1217
|
];
|
|
1218
1218
|
this.dateRange = [H(n[0]).format(), H(n[1]).format()];
|
|
1219
1219
|
} else {
|
|
1220
1220
|
const n = [
|
|
1221
|
-
|
|
1222
|
-
|
|
1221
|
+
j(this.dateRangeZ[0]).tz(this.positionGmt).format("yyyy-MM-DD"),
|
|
1222
|
+
j(this.dateRangeZ[1]).tz(this.positionGmt).format("yyyy-MM-DD")
|
|
1223
1223
|
];
|
|
1224
1224
|
this.dateRange = [H(n[0]).format(), H(n[1]).format()];
|
|
1225
1225
|
}
|
|
@@ -1247,42 +1247,42 @@ const at = (n, e) => {
|
|
|
1247
1247
|
};
|
|
1248
1248
|
},
|
|
1249
1249
|
initWeatherEchart() {
|
|
1250
|
-
const n = [], e = [], a = [], h = [], t = [], o = [],
|
|
1250
|
+
const n = [], e = [], a = [], h = [], t = [], o = [], p = [], f = [], I = [], b = [], x = {}, C = "data:image/svg+xml;base64," + window.btoa(
|
|
1251
1251
|
unescape(
|
|
1252
1252
|
encodeURIComponent(
|
|
1253
1253
|
'<svg t="1740385441519" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="10951" width="200" height="200"><path d="M512 804.83593751A276.87183211 276.87183211 0 0 1 235.12816789 527.9641054Q235.12816789 375.21005376 512 13.82031251q276.87183211 361.30792288 276.87183211 514.14379289a276.87183211 276.87183211 0 0 1-276.87183211 276.87183211zM294.4461577 527.9641054a217.47202472 217.47202472 0 0 0 217.5538423 217.55384231 19.79993605 19.79993605 0 1 0 0-39.51805453 177.9539702 177.9539702 0 0 1-177.9539702-178.03578778 19.79993605 19.79993605 0 0 0-39.5998721 0z" fill="#0c73a8" p-id="10952"></path></svg>'
|
|
1254
1254
|
)
|
|
1255
1255
|
)
|
|
1256
|
-
),
|
|
1256
|
+
), Q = "data:image/svg+xml;base64," + window.btoa(
|
|
1257
1257
|
unescape(
|
|
1258
1258
|
encodeURIComponent(
|
|
1259
1259
|
'<svg t="1740383449285" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="10797" width="200" height="200"><path d="M133.8 579l-44.4-44.4c-18.8-18.8-18.8-49.2 0-67.8L478 78c18.8-18.8 49.2-18.8 67.8 0l388.6 388.6c18.8 18.8 18.8 49.2 0 67.8L890 578.8c-19 19-50 18.6-68.6-0.8L592 337.2V912c0 26.6-21.4 48-48 48h-64c-26.6 0-48-21.4-48-48V337.2L202.4 578.2c-18.6 19.6-49.6 20-68.6 0.8z" fill="#333" p-id="10798"></path></svg>'
|
|
1260
1260
|
)
|
|
1261
1261
|
)
|
|
1262
1262
|
), N = new Image(64, 64);
|
|
1263
|
-
N.src =
|
|
1264
|
-
var R, X, q, J, Z, V,
|
|
1263
|
+
N.src = Q, N.onload = () => {
|
|
1264
|
+
var K, U, R, W, X, q, J, Z, V, w, S, T, P;
|
|
1265
1265
|
this.loading.weatherEchart = !1;
|
|
1266
|
-
for (let
|
|
1267
|
-
const
|
|
1268
|
-
n.push(
|
|
1269
|
-
const
|
|
1270
|
-
h.push(this.roundPrecision((
|
|
1271
|
-
const
|
|
1272
|
-
|
|
1273
|
-
const
|
|
1274
|
-
D.translate(
|
|
1275
|
-
const
|
|
1276
|
-
x[`WindIcon${
|
|
1266
|
+
for (let u = 0; u < 7; u++) {
|
|
1267
|
+
const G = H(this.pickedDate).clone().add(u, "d").format();
|
|
1268
|
+
n.push(j(G).tz(this.positionGmt).format("yyyy-MM-DD")), e.push(this.computeMMMDDLT(G)), a.push(u === 0 ? "Today" : this.computeWeekLT(G));
|
|
1269
|
+
const M = ((K = Te.pickDaily(this.meteoData, G)) == null ? void 0 : K[0]) || {};
|
|
1270
|
+
h.push(this.roundPrecision((R = (U = M.weather) == null ? void 0 : U.temp) == null ? void 0 : R.min, 0)), t.push(this.roundPrecision((X = (W = M.weather) == null ? void 0 : W.temp) == null ? void 0 : X.max, 0)), f.push(this.roundPrecision((J = (q = M.weather) == null ? void 0 : q.wind) == null ? void 0 : J.kts, 1) ?? "- kts"), b.push(this.roundPrecision((V = (Z = M.weather) == null ? void 0 : Z.precip) == null ? void 0 : V.sum, 1) ?? "- mm"), o.push({ symbol: "image://" + ((w = M.weather) == null ? void 0 : w.url) }), p.push((S = M.weather) == null ? void 0 : S.name), I.push((P = (T = M.weather) == null ? void 0 : T.wind) == null ? void 0 : P.bearing);
|
|
1271
|
+
const k = document.createElement("canvas"), D = k.getContext("2d");
|
|
1272
|
+
k.width = N.width, k.height = N.height;
|
|
1273
|
+
const le = I[u] * (Math.PI / 180);
|
|
1274
|
+
D.translate(k.width / 2, k.height / 2), D.rotate(le), D.translate(-N.width / 2, -N.height / 2), D.drawImage(N, 0, 0, 64, 64);
|
|
1275
|
+
const ie = k.toDataURL();
|
|
1276
|
+
x[`WindIcon${u}`] = {
|
|
1277
1277
|
height: 12,
|
|
1278
1278
|
width: 12,
|
|
1279
1279
|
align: "left",
|
|
1280
1280
|
backgroundColor: {
|
|
1281
|
-
image:
|
|
1281
|
+
image: ie
|
|
1282
1282
|
}
|
|
1283
1283
|
};
|
|
1284
1284
|
}
|
|
1285
|
-
const
|
|
1285
|
+
const ee = Math.max(...t.filter((u) => typeof u == "number" && !isNaN(u))) - Math.min(...h.filter((u) => typeof u == "number" && !isNaN(u))), te = Math.min(...h.filter((u) => typeof u == "number" && !isNaN(u))) - 1.5 * ee, ae = Math.max(...t.filter((u) => typeof u == "number" && !isNaN(u))) + 2 * ee, _ = 4 + 0.5 / n.length * 92 + "%", Y = {
|
|
1286
1286
|
grid: {
|
|
1287
1287
|
bottom: 0,
|
|
1288
1288
|
top: 0,
|
|
@@ -1293,8 +1293,8 @@ const at = (n, e) => {
|
|
|
1293
1293
|
trigger: "item",
|
|
1294
1294
|
show: !0,
|
|
1295
1295
|
position: "right",
|
|
1296
|
-
formatter: function(
|
|
1297
|
-
return
|
|
1296
|
+
formatter: function(u) {
|
|
1297
|
+
return u.seriesName === "Weather Icon" ? p[u.dataIndex] : !1;
|
|
1298
1298
|
}
|
|
1299
1299
|
},
|
|
1300
1300
|
legend: {
|
|
@@ -1311,8 +1311,8 @@ const at = (n, e) => {
|
|
|
1311
1311
|
},
|
|
1312
1312
|
singleAxis: [
|
|
1313
1313
|
{
|
|
1314
|
-
left:
|
|
1315
|
-
right:
|
|
1314
|
+
left: _,
|
|
1315
|
+
right: _,
|
|
1316
1316
|
type: "category",
|
|
1317
1317
|
show: !1,
|
|
1318
1318
|
axisLine: {
|
|
@@ -1337,8 +1337,8 @@ const at = (n, e) => {
|
|
|
1337
1337
|
height: "2%"
|
|
1338
1338
|
},
|
|
1339
1339
|
{
|
|
1340
|
-
left:
|
|
1341
|
-
right:
|
|
1340
|
+
left: _,
|
|
1341
|
+
right: _,
|
|
1342
1342
|
type: "category",
|
|
1343
1343
|
show: !1,
|
|
1344
1344
|
axisLine: {
|
|
@@ -1363,8 +1363,8 @@ const at = (n, e) => {
|
|
|
1363
1363
|
height: "2%"
|
|
1364
1364
|
},
|
|
1365
1365
|
{
|
|
1366
|
-
left:
|
|
1367
|
-
right:
|
|
1366
|
+
left: _,
|
|
1367
|
+
right: _,
|
|
1368
1368
|
type: "category",
|
|
1369
1369
|
show: !1,
|
|
1370
1370
|
axisLine: {
|
|
@@ -1389,8 +1389,8 @@ const at = (n, e) => {
|
|
|
1389
1389
|
height: "2%"
|
|
1390
1390
|
},
|
|
1391
1391
|
{
|
|
1392
|
-
left:
|
|
1393
|
-
right:
|
|
1392
|
+
left: _,
|
|
1393
|
+
right: _,
|
|
1394
1394
|
type: "category",
|
|
1395
1395
|
show: !1,
|
|
1396
1396
|
axisLine: {
|
|
@@ -1415,8 +1415,8 @@ const at = (n, e) => {
|
|
|
1415
1415
|
height: "2%"
|
|
1416
1416
|
},
|
|
1417
1417
|
{
|
|
1418
|
-
left:
|
|
1419
|
-
right:
|
|
1418
|
+
left: _,
|
|
1419
|
+
right: _,
|
|
1420
1420
|
type: "category",
|
|
1421
1421
|
show: !1,
|
|
1422
1422
|
axisLine: {
|
|
@@ -1445,8 +1445,8 @@ const at = (n, e) => {
|
|
|
1445
1445
|
type: "value",
|
|
1446
1446
|
name: "温度(℃)",
|
|
1447
1447
|
show: !1,
|
|
1448
|
-
min:
|
|
1449
|
-
max:
|
|
1448
|
+
min: te,
|
|
1449
|
+
max: ae,
|
|
1450
1450
|
axisLabel: {
|
|
1451
1451
|
formatter: "{value} °C"
|
|
1452
1452
|
}
|
|
@@ -1536,7 +1536,7 @@ const at = (n, e) => {
|
|
|
1536
1536
|
singleAxisIndex: 3,
|
|
1537
1537
|
coordinateSystem: "singleAxis",
|
|
1538
1538
|
type: "scatter",
|
|
1539
|
-
data:
|
|
1539
|
+
data: f,
|
|
1540
1540
|
label: {
|
|
1541
1541
|
show: !0,
|
|
1542
1542
|
color: "rgba(0,0,0,0.7)",
|
|
@@ -1548,8 +1548,8 @@ const at = (n, e) => {
|
|
|
1548
1548
|
vertical: "center"
|
|
1549
1549
|
}
|
|
1550
1550
|
},
|
|
1551
|
-
formatter: function(
|
|
1552
|
-
return `{WindIcon${
|
|
1551
|
+
formatter: function(u) {
|
|
1552
|
+
return `{WindIcon${u.dataIndex}|}{title|${u.value}} kts`;
|
|
1553
1553
|
}
|
|
1554
1554
|
},
|
|
1555
1555
|
symbolSize: 0
|
|
@@ -1577,8 +1577,8 @@ const at = (n, e) => {
|
|
|
1577
1577
|
vertical: "center"
|
|
1578
1578
|
}
|
|
1579
1579
|
},
|
|
1580
|
-
formatter: function(
|
|
1581
|
-
return `{dIcon|}{title|${
|
|
1580
|
+
formatter: function(u) {
|
|
1581
|
+
return `{dIcon|}{title|${u.value}} mm`;
|
|
1582
1582
|
}
|
|
1583
1583
|
},
|
|
1584
1584
|
symbolSize: 0
|
|
@@ -1586,24 +1586,24 @@ const at = (n, e) => {
|
|
|
1586
1586
|
]
|
|
1587
1587
|
};
|
|
1588
1588
|
this.$nextTick(() => {
|
|
1589
|
-
const
|
|
1590
|
-
|
|
1591
|
-
const
|
|
1592
|
-
this.pickedDate =
|
|
1589
|
+
const u = Qe.init(document.getElementById("weather-chart"));
|
|
1590
|
+
u.setOption(Y), u.on("click", (G) => {
|
|
1591
|
+
const M = G.dataIndex, k = n[M].split("-");
|
|
1592
|
+
this.pickedDate = j().tz(this.positionGmt).set({ year: k[0], month: Number(k[1] - 1), date: Number(k[2]), hour: 0, minute: 0, second: 0, millisecond: 0 }).format(), this.pickedWeek = M === 0 ? "Today" : this.computeWeekLT(this.pickedDate), this.activeIndex = M === 0 ? j(this.etime).tz(this.positionGmt).hour() : void 0, this.initHoursTableData(), Y.series[3].markArea = {
|
|
1593
1593
|
itemStyle: {
|
|
1594
1594
|
color: "rgba(64,159,255,0.25)"
|
|
1595
1595
|
},
|
|
1596
1596
|
data: [
|
|
1597
1597
|
[
|
|
1598
1598
|
{
|
|
1599
|
-
x: 4 +
|
|
1599
|
+
x: 4 + M / n.length * 92 + "%"
|
|
1600
1600
|
},
|
|
1601
1601
|
{
|
|
1602
|
-
x: 4 + (
|
|
1602
|
+
x: 4 + (M + 1) / n.length * 92 + "%"
|
|
1603
1603
|
}
|
|
1604
1604
|
]
|
|
1605
1605
|
]
|
|
1606
|
-
},
|
|
1606
|
+
}, u.setOption(Y);
|
|
1607
1607
|
});
|
|
1608
1608
|
});
|
|
1609
1609
|
};
|
|
@@ -1617,6 +1617,7 @@ const at = (n, e) => {
|
|
|
1617
1617
|
temperaturesX: [],
|
|
1618
1618
|
weatherIcons: [],
|
|
1619
1619
|
weatherNames: [],
|
|
1620
|
+
visibility: [],
|
|
1620
1621
|
windspeed: [],
|
|
1621
1622
|
windGusts: [],
|
|
1622
1623
|
windDir: [],
|
|
@@ -1625,7 +1626,8 @@ const at = (n, e) => {
|
|
|
1625
1626
|
sigWaveHeight: [],
|
|
1626
1627
|
swellHeight: [],
|
|
1627
1628
|
markarea: [],
|
|
1628
|
-
|
|
1629
|
+
gridOffset: { l: 4, r: 8 },
|
|
1630
|
+
singleAxisOffset: {}
|
|
1629
1631
|
};
|
|
1630
1632
|
let a = { start: void 0, end: void 0 };
|
|
1631
1633
|
const h = "data:image/svg+xml;base64," + window.btoa(
|
|
@@ -1636,32 +1638,32 @@ const at = (n, e) => {
|
|
|
1636
1638
|
)
|
|
1637
1639
|
), t = new Image(64, 64);
|
|
1638
1640
|
t.src = h, t.onload = () => {
|
|
1639
|
-
var
|
|
1641
|
+
var p, f, I, b, x, C, Q, N, ee, te, ae, _, Y, K, U, R, W, X, q, J, Z, V, w, S, T, P, u, G, M, k, D, re, le, ie, c, ve, E, z, F, pe, A, Ae, ne, ge, he, Ce, Be, de, ce, B, be, O, $, we, v, i, g;
|
|
1640
1642
|
this.loading.meteogramEchart = !1;
|
|
1641
|
-
const o =
|
|
1642
|
-
for (let
|
|
1643
|
-
const
|
|
1644
|
-
(
|
|
1645
|
-
const
|
|
1646
|
-
if (
|
|
1647
|
-
const
|
|
1648
|
-
|
|
1649
|
-
const
|
|
1650
|
-
|
|
1651
|
-
const
|
|
1652
|
-
this.meteogramData.windDirIcons[
|
|
1643
|
+
const o = j(this.etime).tz(this.positionGmt).set({ hour: 0, minute: 0, second: 0, millisecond: 0 }).format();
|
|
1644
|
+
for (let me = 0; me < 7 * 24; me++) {
|
|
1645
|
+
const Ee = H(o).clone().add(me, "h").format();
|
|
1646
|
+
(p = this.meteogramData) == null || p.dates.push(Ee);
|
|
1647
|
+
const y = ((f = Te.pickHourly(n, Ee)) == null ? void 0 : f[0]) || {};
|
|
1648
|
+
if (me % 12 === 0 && me % 24 !== 0 ? (I = this.meteogramData) == null || I.xDates.push(j(Ee).tz(this.positionGmt).format("MMM-DD")) : (b = this.meteogramData) == null || b.xDates.push(""), me % 3 === 0 ? (x = this.meteogramData) == null || x.hours.push(this.computeHourLT(Ee)) : (C = this.meteogramData) == null || C.hours.push(""), (N = this.meteogramData) == null || N.temperaturesX.push([Ee, this.roundPrecision((Q = y == null ? void 0 : y.weather) == null ? void 0 : Q.temp, 0)]), (te = this.meteogramData) == null || te.temperaturesY.push(this.roundPrecision((ee = y == null ? void 0 : y.weather) == null ? void 0 : ee.temp, 0)), (Y = this.meteogramData) == null || Y.precip.push(this.roundPrecision((_ = (ae = y == null ? void 0 : y.weather) == null ? void 0 : ae.precip) == null ? void 0 : _.sum, 1)), (U = this.meteogramData) == null || U.visibility.push(this.roundPrecision((K = y == null ? void 0 : y.weather) == null ? void 0 : K.visibility, 1)), (X = this.meteogramData) == null || X.windspeed.push(this.roundPrecision((W = (R = y.weather) == null ? void 0 : R.wind) == null ? void 0 : W.kts, 1)), (Z = this.meteogramData) == null || Z.windGusts.push(this.roundPrecision((J = (q = y == null ? void 0 : y.weather) == null ? void 0 : q.wind) == null ? void 0 : J.gusts, 1)), (S = this.meteogramData) == null || S.sigWaveHeight.push(this.roundPrecision((w = (V = y == null ? void 0 : y.wave) == null ? void 0 : V.sig) == null ? void 0 : w.height)), (u = this.meteogramData) == null || u.swellHeight.push(this.roundPrecision((P = (T = y == null ? void 0 : y.wave) == null ? void 0 : T.swell) == null ? void 0 : P.height)), me % 6 === 0 ? ((M = this.meteogramData) == null || M.weatherIcons.push({ symbol: "image://" + ((G = y.weather) == null ? void 0 : G.url), symbolSize: 30 }), (D = this.meteogramData) == null || D.weatherNames.push((k = y.weather) == null ? void 0 : k.name)) : ((le = this.meteogramData) == null || le.weatherIcons.push({ symbol: "image://" + ((re = y.weather) == null ? void 0 : re.url), symbolSize: 0 }), (ie = this.meteogramData) == null || ie.weatherNames.push("")), me % 3 === 0 ? (E = this.meteogramData) == null || E.windDir.push((ve = (c = y.weather) == null ? void 0 : c.wind) == null ? void 0 : ve.bearing) : (z = this.meteogramData) == null || z.windDir.push(void 0), me % 3 === 0) {
|
|
1649
|
+
const oe = document.createElement("canvas"), De = oe.getContext("2d");
|
|
1650
|
+
oe.width = t.width, oe.height = t.height;
|
|
1651
|
+
const L = ((F = this.meteogramData) == null ? void 0 : F.windDir[me]) * (Math.PI / 180);
|
|
1652
|
+
De.translate(oe.width / 2, oe.height / 2), De.rotate(L), De.translate(-t.width / 2, -t.height / 2), De.drawImage(t, 0, 0, 64, 64);
|
|
1653
|
+
const xe = oe.toDataURL();
|
|
1654
|
+
this.meteogramData.windDirIcons[me] = xe;
|
|
1653
1655
|
} else
|
|
1654
|
-
this.meteogramData.windDirIcons[
|
|
1655
|
-
(
|
|
1656
|
+
this.meteogramData.windDirIcons[me] = void 0;
|
|
1657
|
+
(pe = y == null ? void 0 : y.weather) != null && pe.isDay ? a.end === void 0 && a.start >= 0 && (a.end = me) : a.start === void 0 && (a.start = me), (a.start >= 0 && a.end >= 0 || a.start >= 0 && me === 7 * 24 - 1) && ((Be = this.meteogramData) == null || Be.markarea.push([
|
|
1656
1658
|
{
|
|
1657
|
-
x:
|
|
1659
|
+
x: ((A = this.meteogramData) == null ? void 0 : A.gridOffset.l) + a.start / (7 * 24) * (100 - ((Ae = this.meteogramData) == null ? void 0 : Ae.gridOffset.l) - ((ne = this.meteogramData) == null ? void 0 : ne.gridOffset.r)) + "%"
|
|
1658
1660
|
},
|
|
1659
1661
|
{
|
|
1660
|
-
x:
|
|
1662
|
+
x: ((ge = this.meteogramData) == null ? void 0 : ge.gridOffset.l) + (a.end + 1) / (7 * 24) * (100 - ((he = this.meteogramData) == null ? void 0 : he.gridOffset.l) - ((Ce = this.meteogramData) == null ? void 0 : Ce.gridOffset.r)) + "%"
|
|
1661
1663
|
}
|
|
1662
1664
|
]), a = { start: void 0, end: void 0 });
|
|
1663
1665
|
}
|
|
1664
|
-
this.meteogramData.
|
|
1666
|
+
this.meteogramData.singleAxisOffset.l = ((de = this.meteogramData) == null ? void 0 : de.gridOffset.l) + 0.5 / ((B = (ce = this.meteogramData) == null ? void 0 : ce.dates) == null ? void 0 : B.length) * (100 - ((be = this.meteogramData) == null ? void 0 : be.gridOffset.l) - ((O = this.meteogramData) == null ? void 0 : O.gridOffset.r)) + "%", this.meteogramData.singleAxisOffset.r = (($ = this.meteogramData) == null ? void 0 : $.gridOffset.r) + 0.5 / ((v = (we = this.meteogramData) == null ? void 0 : we.dates) == null ? void 0 : v.length) * (100 - ((i = this.meteogramData) == null ? void 0 : i.gridOffset.l) - ((g = this.meteogramData) == null ? void 0 : g.gridOffset.r)) + "%", this.$nextTick(() => {
|
|
1665
1667
|
this.initMeteogramEchart(7);
|
|
1666
1668
|
});
|
|
1667
1669
|
};
|
|
@@ -1676,6 +1678,7 @@ const at = (n, e) => {
|
|
|
1676
1678
|
temperaturesY: [],
|
|
1677
1679
|
weatherIcons: [],
|
|
1678
1680
|
weatherNames: [],
|
|
1681
|
+
visibility: [],
|
|
1679
1682
|
windspeed: [],
|
|
1680
1683
|
windGusts: [],
|
|
1681
1684
|
windDir: [],
|
|
@@ -1684,56 +1687,57 @@ const at = (n, e) => {
|
|
|
1684
1687
|
sigWaveHeight: [],
|
|
1685
1688
|
swellHeight: [],
|
|
1686
1689
|
markarea: [],
|
|
1687
|
-
|
|
1690
|
+
gridOffset: { l: 4, r: 8 },
|
|
1691
|
+
singleAxisOffset: {}
|
|
1688
1692
|
};
|
|
1689
1693
|
let o = { start: void 0, end: void 0 };
|
|
1690
|
-
const
|
|
1694
|
+
const p = "data:image/svg+xml;base64," + window.btoa(
|
|
1691
1695
|
unescape(
|
|
1692
1696
|
encodeURIComponent(
|
|
1693
1697
|
'<svg t="1740383449285" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="10797" width="200" height="200"><path d="M133.8 579l-44.4-44.4c-18.8-18.8-18.8-49.2 0-67.8L478 78c18.8-18.8 49.2-18.8 67.8 0l388.6 388.6c18.8 18.8 18.8 49.2 0 67.8L890 578.8c-19 19-50 18.6-68.6-0.8L592 337.2V912c0 26.6-21.4 48-48 48h-64c-26.6 0-48-21.4-48-48V337.2L202.4 578.2c-18.6 19.6-49.6 20-68.6 0.8z" fill="#60c43e" p-id="10798"></path></svg>'
|
|
1694
1698
|
)
|
|
1695
1699
|
)
|
|
1696
|
-
),
|
|
1697
|
-
|
|
1698
|
-
var b, x, C,
|
|
1700
|
+
), f = new Image(64, 64);
|
|
1701
|
+
f.src = p, f.onload = () => {
|
|
1702
|
+
var b, x, C, Q, N, ee, te, ae, _, Y, K, U, R, W, X, q, J, Z, V, w, S, T, P, u, G, M, k, D, re, le, ie, c, ve, E, z, F, pe, A, Ae, ne, ge, he, Ce, Be, de, ce, B, be, O, $, we, v, i, g, me, Ee, y, oe;
|
|
1699
1703
|
this.loading.meteogramEchart = !1;
|
|
1700
|
-
const I =
|
|
1701
|
-
for (let
|
|
1702
|
-
const d = H(I).clone().add(
|
|
1704
|
+
const I = j(t).tz(this.positionGmt).set({ hour: 0, minute: 0, second: 0, millisecond: 0 }).format();
|
|
1705
|
+
for (let De = 0; De < h * 24; De++) {
|
|
1706
|
+
const d = H(I).clone().add(De, "h").format();
|
|
1703
1707
|
(b = this.meteogramData) == null || b.dates.push(d);
|
|
1704
|
-
const
|
|
1705
|
-
if ((
|
|
1706
|
-
const
|
|
1707
|
-
|
|
1708
|
-
const
|
|
1709
|
-
|
|
1710
|
-
const
|
|
1711
|
-
this.meteogramData.windDirIcons[
|
|
1708
|
+
const L = ((x = Te.pickHourly(n, d)) == null ? void 0 : x[0]) || {};
|
|
1709
|
+
if ((Q = this.meteogramData) == null || Q.temperaturesY.push(this.roundPrecision((C = L == null ? void 0 : L.weather) == null ? void 0 : C.temp, 0)), (ee = this.meteogramData) == null || ee.visibility.push(this.roundPrecision((N = L == null ? void 0 : L.weather) == null ? void 0 : N.visibility, 1)), (_ = this.meteogramData) == null || _.windspeed.push(this.roundPrecision((ae = (te = L.weather) == null ? void 0 : te.wind) == null ? void 0 : ae.kts, 1)), (U = this.meteogramData) == null || U.windGusts.push(this.roundPrecision((K = (Y = L == null ? void 0 : L.weather) == null ? void 0 : Y.wind) == null ? void 0 : K.gusts, 1)), (X = this.meteogramData) == null || X.sigWaveHeight.push(this.roundPrecision((W = (R = L == null ? void 0 : L.wave) == null ? void 0 : R.sig) == null ? void 0 : W.height)), (Z = this.meteogramData) == null || Z.swellHeight.push(this.roundPrecision((J = (q = L == null ? void 0 : L.wave) == null ? void 0 : q.swell) == null ? void 0 : J.height)), De % 3 === 0 ? ((S = this.meteogramData) == null || S.precip.push(this.roundPrecision((w = (V = L == null ? void 0 : L.weather) == null ? void 0 : V.precip) == null ? void 0 : w.sum3Hours, 1)), (P = this.meteogramData) == null || P.temperaturesX.push([d, this.roundPrecision((T = L == null ? void 0 : L.weather) == null ? void 0 : T.temp, 0)])) : (u = this.meteogramData) == null || u.precip.push(null), De % 12 === 0 && De % 24 !== 0 ? (G = this.meteogramData) == null || G.xDates.push(j(d).tz(this.positionGmt).format("MMM-DD")) : (M = this.meteogramData) == null || M.xDates.push(""), De % 6 === 0 ? (k = this.meteogramData) == null || k.hours.push(this.computeHourLT(d)) : (D = this.meteogramData) == null || D.hours.push(""), De % 12 === 0 ? ((le = this.meteogramData) == null || le.weatherIcons.push({ symbol: "image://" + ((re = L.weather) == null ? void 0 : re.url), symbolSize: 30 }), (c = this.meteogramData) == null || c.weatherNames.push((ie = L.weather) == null ? void 0 : ie.name)) : ((E = this.meteogramData) == null || E.weatherIcons.push({ symbol: "image://" + ((ve = L.weather) == null ? void 0 : ve.url), symbolSize: 0 }), (z = this.meteogramData) == null || z.weatherNames.push("")), De % 6 === 0 ? (A = this.meteogramData) == null || A.windDir.push((pe = (F = L.weather) == null ? void 0 : F.wind) == null ? void 0 : pe.bearing) : (Ae = this.meteogramData) == null || Ae.windDir.push(void 0), De % 6 === 0) {
|
|
1710
|
+
const xe = document.createElement("canvas"), Me = xe.getContext("2d");
|
|
1711
|
+
xe.width = f.width, xe.height = f.height;
|
|
1712
|
+
const He = ((ne = this.meteogramData) == null ? void 0 : ne.windDir[De]) * (Math.PI / 180);
|
|
1713
|
+
Me.translate(xe.width / 2, xe.height / 2), Me.rotate(He), Me.translate(-f.width / 2, -f.height / 2), Me.drawImage(f, 0, 0, 64, 64);
|
|
1714
|
+
const Se = xe.toDataURL();
|
|
1715
|
+
this.meteogramData.windDirIcons[De] = Se;
|
|
1712
1716
|
} else
|
|
1713
|
-
this.meteogramData.windDirIcons[
|
|
1714
|
-
(
|
|
1717
|
+
this.meteogramData.windDirIcons[De] = void 0;
|
|
1718
|
+
(ge = L == null ? void 0 : L.weather) != null && ge.isDay ? o.end === void 0 && o.start >= 0 && (o.end = De) : o.start === void 0 && (o.start = De), (o.start >= 0 && o.end >= 0 || o.start >= 0 && De === h * 24 - 1) && ((be = this.meteogramData) == null || be.markarea.push([
|
|
1715
1719
|
{
|
|
1716
|
-
x:
|
|
1720
|
+
x: ((he = this.meteogramData) == null ? void 0 : he.gridOffset.l) + o.start / (h * 24) * (100 - ((Ce = this.meteogramData) == null ? void 0 : Ce.gridOffset.l) - ((Be = this.meteogramData) == null ? void 0 : Be.gridOffset.r)) + "%"
|
|
1717
1721
|
},
|
|
1718
1722
|
{
|
|
1719
|
-
x:
|
|
1723
|
+
x: ((de = this.meteogramData) == null ? void 0 : de.gridOffset.l) + (o.end + 1) / (h * 24) * (100 - ((ce = this.meteogramData) == null ? void 0 : ce.gridOffset.l) - ((B = this.meteogramData) == null ? void 0 : B.gridOffset.r)) + "%"
|
|
1720
1724
|
}
|
|
1721
1725
|
]), o = { start: void 0, end: void 0 });
|
|
1722
1726
|
}
|
|
1723
|
-
this.meteogramData.
|
|
1727
|
+
this.meteogramData.singleAxisOffset.l = ((O = this.meteogramData) == null ? void 0 : O.gridOffset.l) + 0.5 / ((we = ($ = this.meteogramData) == null ? void 0 : $.dates) == null ? void 0 : we.length) * (100 - ((v = this.meteogramData) == null ? void 0 : v.gridOffset.l) - ((i = this.meteogramData) == null ? void 0 : i.gridOffset.r)) + "%", this.meteogramData.singleAxisOffset.r = ((g = this.meteogramData) == null ? void 0 : g.gridOffset.r) + 0.5 / ((Ee = (me = this.meteogramData) == null ? void 0 : me.dates) == null ? void 0 : Ee.length) * (100 - ((y = this.meteogramData) == null ? void 0 : y.gridOffset.l) - ((oe = this.meteogramData) == null ? void 0 : oe.gridOffset.r)) + "%", this.$nextTick(() => {
|
|
1724
1728
|
this.initMeteogramEchart(14);
|
|
1725
1729
|
});
|
|
1726
1730
|
};
|
|
1727
1731
|
},
|
|
1728
1732
|
initMeteogramEchart(n) {
|
|
1729
|
-
var
|
|
1730
|
-
const e =
|
|
1733
|
+
var ee, te, ae, _, Y, K, U, R, W, X, q, J, Z, V, w, S, T, P, u, G, M, k, D, re, le, ie, c, ve, E, z, F, pe, A, Ae, ne, ge, he, Ce, Be, de, ce, B, be, O, $, we, v, i, g, me, Ee, y, oe, De;
|
|
1734
|
+
const e = Qe.init(document.getElementById("weather-icons")), a = {
|
|
1731
1735
|
grid: {
|
|
1732
1736
|
show: !0,
|
|
1733
1737
|
bottom: "0%",
|
|
1734
1738
|
top: "0%",
|
|
1735
|
-
left:
|
|
1736
|
-
right:
|
|
1739
|
+
left: `${this.meteogramData.gridOffset.l}%`,
|
|
1740
|
+
right: `${this.meteogramData.gridOffset.r}%`,
|
|
1737
1741
|
borderColor: "#666",
|
|
1738
1742
|
borderWidth: 1,
|
|
1739
1743
|
z: 1,
|
|
@@ -1744,13 +1748,13 @@ const at = (n, e) => {
|
|
|
1744
1748
|
show: !0,
|
|
1745
1749
|
position: "right",
|
|
1746
1750
|
formatter: (d) => {
|
|
1747
|
-
const
|
|
1748
|
-
return d.seriesName === "Weather Icons" ? `<strong>${this.meteogramData.weatherNames[
|
|
1751
|
+
const L = d == null ? void 0 : d.dataIndex;
|
|
1752
|
+
return d.seriesName === "Weather Icons" ? `<strong>${this.meteogramData.weatherNames[L]}</strong>` : !1;
|
|
1749
1753
|
}
|
|
1750
1754
|
},
|
|
1751
1755
|
legend: {
|
|
1752
1756
|
show: !1,
|
|
1753
|
-
right: "
|
|
1757
|
+
right: "8%"
|
|
1754
1758
|
},
|
|
1755
1759
|
xAxis: {
|
|
1756
1760
|
left: 0,
|
|
@@ -1758,13 +1762,13 @@ const at = (n, e) => {
|
|
|
1758
1762
|
top: "50%",
|
|
1759
1763
|
height: "50%",
|
|
1760
1764
|
type: "category",
|
|
1761
|
-
data: (
|
|
1765
|
+
data: (ee = this.meteogramData) == null ? void 0 : ee.dates,
|
|
1762
1766
|
show: !1
|
|
1763
1767
|
},
|
|
1764
1768
|
singleAxis: [
|
|
1765
1769
|
{
|
|
1766
|
-
left: (ae = this.meteogramData) == null ? void 0 : ae.
|
|
1767
|
-
right: (
|
|
1770
|
+
left: (ae = (te = this.meteogramData) == null ? void 0 : te.singleAxisOffset) == null ? void 0 : ae.l,
|
|
1771
|
+
right: (Y = (_ = this.meteogramData) == null ? void 0 : _.singleAxisOffset) == null ? void 0 : Y.r,
|
|
1768
1772
|
type: "category",
|
|
1769
1773
|
show: !1,
|
|
1770
1774
|
axisLine: {
|
|
@@ -1784,7 +1788,7 @@ const at = (n, e) => {
|
|
|
1784
1788
|
// 隐藏分割线
|
|
1785
1789
|
},
|
|
1786
1790
|
boundaryGap: !1,
|
|
1787
|
-
data: (
|
|
1791
|
+
data: (K = this.meteogramData) == null ? void 0 : K.dates,
|
|
1788
1792
|
top: "50%",
|
|
1789
1793
|
height: "2%"
|
|
1790
1794
|
}
|
|
@@ -1801,7 +1805,9 @@ const at = (n, e) => {
|
|
|
1801
1805
|
]
|
|
1802
1806
|
};
|
|
1803
1807
|
e.setOption(a);
|
|
1804
|
-
let h = Math.max(...this.meteogramData.temperaturesY.filter((d) => typeof d == "number" && !isNaN(d))), t = Math.min(...this.meteogramData.temperaturesY.filter((d) => typeof d == "number" && !isNaN(d)))
|
|
1808
|
+
let h = Math.max(...this.meteogramData.temperaturesY.filter((d) => typeof d == "number" && !isNaN(d))), t = Math.min(...this.meteogramData.temperaturesY.filter((d) => typeof d == "number" && !isNaN(d))), o = Math.floor(t / 5) * 5, p = Math.ceil(h / 5) * 5, f = Math.ceil((p - o) / 5);
|
|
1809
|
+
o = Math.floor((o - 2 * f) / 5) * 5, p = Math.ceil((p + 1) / 5) * 5, f = Math.ceil((p - o) / 5);
|
|
1810
|
+
let I = "", b = [];
|
|
1805
1811
|
n === 7 ? (I = "Precip.1h ( mm ) ", b = [
|
|
1806
1812
|
{
|
|
1807
1813
|
gte: 50,
|
|
@@ -1861,7 +1867,7 @@ const at = (n, e) => {
|
|
|
1861
1867
|
label: "Light, <5mm"
|
|
1862
1868
|
}
|
|
1863
1869
|
]);
|
|
1864
|
-
const x =
|
|
1870
|
+
const x = Qe.init(document.getElementById("weather-condition")), C = {
|
|
1865
1871
|
title: {
|
|
1866
1872
|
text: "Weather conditions",
|
|
1867
1873
|
top: "10px",
|
|
@@ -1875,8 +1881,8 @@ const at = (n, e) => {
|
|
|
1875
1881
|
show: !0,
|
|
1876
1882
|
bottom: "20%",
|
|
1877
1883
|
top: "90px",
|
|
1878
|
-
left:
|
|
1879
|
-
right:
|
|
1884
|
+
left: `${this.meteogramData.gridOffset.l}%`,
|
|
1885
|
+
right: `${this.meteogramData.gridOffset.r}%`,
|
|
1880
1886
|
borderColor: "#666",
|
|
1881
1887
|
borderWidth: 1,
|
|
1882
1888
|
z: 1,
|
|
@@ -1887,36 +1893,44 @@ const at = (n, e) => {
|
|
|
1887
1893
|
show: !0,
|
|
1888
1894
|
position: "right",
|
|
1889
1895
|
formatter: (d) => {
|
|
1890
|
-
var
|
|
1891
|
-
const
|
|
1892
|
-
if (d.find((
|
|
1896
|
+
var xe, Me, Ge, He, Se, _e, Ye, je, Ke, Ue, We, $e, et, tt, st, at, it, ot, nt, rt, lt, At, ht, dt, gt, ct, wt, mt, pt, ut;
|
|
1897
|
+
const L = (xe = d == null ? void 0 : d.find((Ie) => Ie.seriesType === "bar")) == null ? void 0 : xe.dataIndex;
|
|
1898
|
+
if (d.find((Ie) => Ie.seriesType === "scatter"))
|
|
1893
1899
|
return !1;
|
|
1894
1900
|
{
|
|
1895
|
-
let
|
|
1896
|
-
return n === 7 ? (((
|
|
1897
|
-
<div style="display: ${(
|
|
1898
|
-
<span>Weather : </span><strong>${(
|
|
1901
|
+
let Ie = "";
|
|
1902
|
+
return n === 7 ? (((Me = d[1]) == null ? void 0 : Me.value) < 2 ? Ie = "rgba(172, 210, 255, 1)" : ((Ge = d[1]) == null ? void 0 : Ge.value) <= 3.9 ? Ie = "rgba(3, 248, 103, 1)" : ((He = d[1]) == null ? void 0 : He.value) <= 7.9 ? Ie = "rgba(190, 226, 2, 18)" : ((Se = d[1]) == null ? void 0 : Se.value) <= 19.9 ? Ie = "rgba(248, 1, 1, 1)" : ((_e = d[1]) == null ? void 0 : _e.value) >= 20 ? Ie = "rgba(197, 5, 58, 1)" : Ie = "rgba(172, 210, 255, 1)", `<div style="font-size: 13px;"><strong>${j((Ye = this.meteogramData) == null ? void 0 : Ye.dates[L]).tz(this.positionGmt).format("MMM-DD/HHmm[LT]")}</strong></div>
|
|
1903
|
+
<div style="display: ${(je = this.meteogramData) != null && je.weatherNames[L] ? "block" : "none"}; font-size: 13px;">
|
|
1904
|
+
<span>Weather : </span><strong>${(Ke = this.meteogramData) == null ? void 0 : Ke.weatherNames[L]}</strong>
|
|
1899
1905
|
</div>
|
|
1900
1906
|
<div style="font-size: 13px;">
|
|
1901
1907
|
<span style="display:inline-block; height: 10px;width: 10px;border-radius: 50%;background-color: #FF9500;}"></span>
|
|
1902
|
-
<span>Temperature : </span><strong>${(
|
|
1908
|
+
<span>Temperature : </span><strong>${(We = (Ue = d[0]) == null ? void 0 : Ue.value) == null ? void 0 : We[1]}</strong><span style="padding-left: 3px;">℃</span>
|
|
1909
|
+
</div>
|
|
1910
|
+
<div style="font-size: 13px;">
|
|
1911
|
+
<span style="display:inline-block; height: 10px;width: 10px;border-radius: 50%;background: ${Ie};"></span>
|
|
1912
|
+
<span>Precip.1h : </span><strong>${($e = d[1]) == null ? void 0 : $e.value}</strong><span style="padding-left: 3px;">mm</span>
|
|
1903
1913
|
</div>
|
|
1904
1914
|
<div style="font-size: 13px;">
|
|
1905
|
-
<span style="display:inline-block; height: 10px;width: 10px;border-radius: 50%;background:
|
|
1906
|
-
<span>
|
|
1907
|
-
</div>`) : n === 14 ? (((
|
|
1908
|
-
<strong>${
|
|
1915
|
+
<span style="display:inline-block; height: 10px;width: 10px;border-radius: 50%;background-color: #c346a9;}"></span>
|
|
1916
|
+
<span>Visibility : </span><strong>${(et = d[2]) == null ? void 0 : et.value}</strong><span style="padding-left: 3px;">nm</span>
|
|
1917
|
+
</div>`) : n === 14 ? (((tt = d[1]) == null ? void 0 : tt.value) < 5 ? Ie = "rgba(172, 210, 255, 1)" : ((st = d[1]) == null ? void 0 : st.value) <= 9.9 ? Ie = "rgba(3, 248, 103, 1)" : ((at = d[1]) == null ? void 0 : at.value) <= 24.9 ? Ie = "rgba(190, 226, 2, 18)" : ((it = d[1]) == null ? void 0 : it.value) <= 49.9 ? Ie = "rgba(248, 1, 1, 1)" : ((ot = d[1]) == null ? void 0 : ot.value) > 50 ? Ie = "rgba(197, 5, 58, 1)" : Ie = "rgba(172, 210, 255, 1)", `<div style="font-size: 13px;"
|
|
1918
|
+
<strong>${j((nt = this.meteogramData) == null ? void 0 : nt.dates[L]).tz(this.positionGmt).format("MMM-DD/HHmm[LT]")}</strong>
|
|
1909
1919
|
</div>
|
|
1910
|
-
<div style="display: ${(
|
|
1911
|
-
<span>Weather : </span><strong>${(
|
|
1920
|
+
<div style="display: ${(rt = this.meteogramData) != null && rt.weatherNames[L] ? "block" : "none"}; font-size: 13px;">
|
|
1921
|
+
<span>Weather : </span><strong>${(lt = this.meteogramData) == null ? void 0 : lt.weatherNames[L]}</strong>
|
|
1912
1922
|
</div>
|
|
1913
|
-
<div style="display: ${isNaN((
|
|
1923
|
+
<div style="display: ${isNaN((ht = (At = d[0]) == null ? void 0 : At.value) == null ? void 0 : ht[1]) ? "none" : "block"};font-size: 13px;">
|
|
1914
1924
|
<span style="display:inline-block; height: 10px;width: 10px;border-radius: 50%;background-color: #FF9500;}"></span>
|
|
1915
|
-
<span>Temperature : </span><strong>${(
|
|
1925
|
+
<span>Temperature : </span><strong>${(gt = (dt = d[0]) == null ? void 0 : dt.value) == null ? void 0 : gt[1]}</strong><span style="padding-left: 3px;">℃</span>
|
|
1926
|
+
</div>
|
|
1927
|
+
<div style="display: ${isNaN((ct = d[1]) == null ? void 0 : ct.value) ? "none" : "block"};font-size: 13px;">
|
|
1928
|
+
<span style="display:inline-block; height: 10px;width: 10px;border-radius: 50%;background: ${Ie};"></span>
|
|
1929
|
+
<span>Precip.3h : </span><strong>${(wt = d[1]) == null ? void 0 : wt.value}</strong><span style="padding-left: 3px;">mm</span>
|
|
1916
1930
|
</div>
|
|
1917
|
-
<div style="display: ${isNaN((
|
|
1918
|
-
<span style="display:inline-block; height: 10px;width: 10px;border-radius: 50%;background:
|
|
1919
|
-
<span>
|
|
1931
|
+
<div style="display: ${isNaN((pt = (mt = d[0]) == null ? void 0 : mt.value) == null ? void 0 : pt[2]) ? "none" : "block"}font-size: 13px;">
|
|
1932
|
+
<span style="display:inline-block; height: 10px;width: 10px;border-radius: 50%;background-color: #c346a9;}"></span>
|
|
1933
|
+
<span>Visibility : </span><strong>${(ut = d[2]) == null ? void 0 : ut.value}</strong><span style="padding-left: 3px;">nm</span>
|
|
1920
1934
|
</div>`) : !1;
|
|
1921
1935
|
}
|
|
1922
1936
|
}
|
|
@@ -1924,9 +1938,10 @@ const at = (n, e) => {
|
|
|
1924
1938
|
legend: {
|
|
1925
1939
|
show: !0,
|
|
1926
1940
|
top: "10px",
|
|
1927
|
-
right:
|
|
1941
|
+
right: `${this.meteogramData.gridOffset.r}%`,
|
|
1928
1942
|
data: [
|
|
1929
|
-
"Temperature"
|
|
1943
|
+
"Temperature",
|
|
1944
|
+
"Visibility"
|
|
1930
1945
|
// {
|
|
1931
1946
|
// name: 'Precipitation:',
|
|
1932
1947
|
// icon: 'none',
|
|
@@ -1962,8 +1977,8 @@ const at = (n, e) => {
|
|
|
1962
1977
|
},
|
|
1963
1978
|
singleAxis: [
|
|
1964
1979
|
{
|
|
1965
|
-
left: (X = this.meteogramData) == null ? void 0 : X.
|
|
1966
|
-
right: (q = this.meteogramData) == null ? void 0 : q.
|
|
1980
|
+
left: (X = (W = this.meteogramData) == null ? void 0 : W.singleAxisOffset) == null ? void 0 : X.l,
|
|
1981
|
+
right: (J = (q = this.meteogramData) == null ? void 0 : q.singleAxisOffset) == null ? void 0 : J.r,
|
|
1967
1982
|
type: "category",
|
|
1968
1983
|
show: !1,
|
|
1969
1984
|
axisLine: {
|
|
@@ -1983,13 +1998,13 @@ const at = (n, e) => {
|
|
|
1983
1998
|
// 隐藏分割线
|
|
1984
1999
|
},
|
|
1985
2000
|
boundaryGap: !1,
|
|
1986
|
-
data: (
|
|
2001
|
+
data: (Z = this.meteogramData) == null ? void 0 : Z.dates,
|
|
1987
2002
|
top: "17%",
|
|
1988
2003
|
height: "2%"
|
|
1989
2004
|
},
|
|
1990
2005
|
{
|
|
1991
|
-
left: (
|
|
1992
|
-
right: (
|
|
2006
|
+
left: (w = (V = this.meteogramData) == null ? void 0 : V.singleAxisOffset) == null ? void 0 : w.l,
|
|
2007
|
+
right: (T = (S = this.meteogramData) == null ? void 0 : S.singleAxisOffset) == null ? void 0 : T.r,
|
|
1993
2008
|
type: "category",
|
|
1994
2009
|
show: !1,
|
|
1995
2010
|
axisLine: {
|
|
@@ -2009,13 +2024,13 @@ const at = (n, e) => {
|
|
|
2009
2024
|
// 隐藏分割线
|
|
2010
2025
|
},
|
|
2011
2026
|
boundaryGap: !1,
|
|
2012
|
-
data: (
|
|
2027
|
+
data: (P = this.meteogramData) == null ? void 0 : P.dates,
|
|
2013
2028
|
top: "27%",
|
|
2014
2029
|
height: "2%"
|
|
2015
2030
|
},
|
|
2016
2031
|
{
|
|
2017
|
-
left: (
|
|
2018
|
-
right: (
|
|
2032
|
+
left: (G = (u = this.meteogramData) == null ? void 0 : u.singleAxisOffset) == null ? void 0 : G.l,
|
|
2033
|
+
right: (k = (M = this.meteogramData) == null ? void 0 : M.singleAxisOffset) == null ? void 0 : k.r,
|
|
2019
2034
|
type: "category",
|
|
2020
2035
|
show: !1,
|
|
2021
2036
|
axisLine: {
|
|
@@ -2035,13 +2050,13 @@ const at = (n, e) => {
|
|
|
2035
2050
|
// 隐藏分割线
|
|
2036
2051
|
},
|
|
2037
2052
|
boundaryGap: !1,
|
|
2038
|
-
data: (
|
|
2053
|
+
data: (D = this.meteogramData) == null ? void 0 : D.dates,
|
|
2039
2054
|
top: "84%",
|
|
2040
2055
|
height: "2%"
|
|
2041
2056
|
},
|
|
2042
2057
|
{
|
|
2043
|
-
left: (
|
|
2044
|
-
right: (
|
|
2058
|
+
left: (le = (re = this.meteogramData) == null ? void 0 : re.singleAxisOffset) == null ? void 0 : le.l,
|
|
2059
|
+
right: (c = (ie = this.meteogramData) == null ? void 0 : ie.singleAxisOffset) == null ? void 0 : c.r,
|
|
2045
2060
|
type: "category",
|
|
2046
2061
|
show: !1,
|
|
2047
2062
|
axisLine: {
|
|
@@ -2061,7 +2076,7 @@ const at = (n, e) => {
|
|
|
2061
2076
|
// 隐藏分割线
|
|
2062
2077
|
},
|
|
2063
2078
|
boundaryGap: !1,
|
|
2064
|
-
data: (
|
|
2079
|
+
data: (ve = this.meteogramData) == null ? void 0 : ve.dates,
|
|
2065
2080
|
top: "92%",
|
|
2066
2081
|
height: "2%"
|
|
2067
2082
|
}
|
|
@@ -2072,9 +2087,9 @@ const at = (n, e) => {
|
|
|
2072
2087
|
name: "Temperature ( ℃ ) ",
|
|
2073
2088
|
show: !0,
|
|
2074
2089
|
min: o,
|
|
2075
|
-
max:
|
|
2090
|
+
max: p,
|
|
2076
2091
|
// data: this.meteogramData?.temperaturesY,
|
|
2077
|
-
interval:
|
|
2092
|
+
interval: f,
|
|
2078
2093
|
splitNumber: 5,
|
|
2079
2094
|
nameRotate: 90,
|
|
2080
2095
|
nameLocation: "middle",
|
|
@@ -2102,13 +2117,32 @@ const at = (n, e) => {
|
|
|
2102
2117
|
},
|
|
2103
2118
|
z: 0,
|
|
2104
2119
|
zlevel: 0
|
|
2120
|
+
},
|
|
2121
|
+
{
|
|
2122
|
+
position: "right",
|
|
2123
|
+
type: "value",
|
|
2124
|
+
name: "visibility ( nm )",
|
|
2125
|
+
min: 0,
|
|
2126
|
+
max: Math.ceil((Math.max(...this.meteogramData.visibility.filter((d) => typeof d == "number" && !isNaN(d))) + 1) / 5) * 5,
|
|
2127
|
+
interval: Math.ceil((Math.max(...this.meteogramData.visibility.filter((d) => typeof d == "number" && !isNaN(d))) + 1) / 5),
|
|
2128
|
+
splitNumber: 5,
|
|
2129
|
+
show: !0,
|
|
2130
|
+
offset: 35,
|
|
2131
|
+
nameRotate: 90,
|
|
2132
|
+
nameLocation: "middle",
|
|
2133
|
+
nameGap: 25,
|
|
2134
|
+
splitLine: {
|
|
2135
|
+
show: !0
|
|
2136
|
+
},
|
|
2137
|
+
z: 0,
|
|
2138
|
+
zlevel: 0
|
|
2105
2139
|
}
|
|
2106
2140
|
],
|
|
2107
2141
|
visualMap: {
|
|
2108
2142
|
type: "piecewise",
|
|
2109
2143
|
orient: "horizontal",
|
|
2110
2144
|
top: 31,
|
|
2111
|
-
right: "
|
|
2145
|
+
right: "8%",
|
|
2112
2146
|
show: !0,
|
|
2113
2147
|
pieces: b,
|
|
2114
2148
|
seriesIndex: 1,
|
|
@@ -2119,7 +2153,7 @@ const at = (n, e) => {
|
|
|
2119
2153
|
name: "Temperature",
|
|
2120
2154
|
type: "line",
|
|
2121
2155
|
yAxisIndex: 0,
|
|
2122
|
-
data: (
|
|
2156
|
+
data: (E = this.meteogramData) == null ? void 0 : E.temperaturesX,
|
|
2123
2157
|
symbol: "none",
|
|
2124
2158
|
smooth: !1,
|
|
2125
2159
|
itemStyle: {
|
|
@@ -2134,7 +2168,7 @@ const at = (n, e) => {
|
|
|
2134
2168
|
itemStyle: {
|
|
2135
2169
|
color: "rgba(239,239,239,0.6)"
|
|
2136
2170
|
},
|
|
2137
|
-
data: (
|
|
2171
|
+
data: (z = this.meteogramData) == null ? void 0 : z.markarea,
|
|
2138
2172
|
emphasis: {
|
|
2139
2173
|
disabled: !0
|
|
2140
2174
|
}
|
|
@@ -2144,7 +2178,7 @@ const at = (n, e) => {
|
|
|
2144
2178
|
name: "Precipitation:",
|
|
2145
2179
|
type: "bar",
|
|
2146
2180
|
yAxisIndex: 1,
|
|
2147
|
-
data: (
|
|
2181
|
+
data: (F = this.meteogramData) == null ? void 0 : F.precip,
|
|
2148
2182
|
itemStyle: {
|
|
2149
2183
|
color: "#0c73a8"
|
|
2150
2184
|
},
|
|
@@ -2152,11 +2186,36 @@ const at = (n, e) => {
|
|
|
2152
2186
|
show: !1
|
|
2153
2187
|
}
|
|
2154
2188
|
},
|
|
2189
|
+
{
|
|
2190
|
+
name: "Visibility",
|
|
2191
|
+
type: "line",
|
|
2192
|
+
yAxisIndex: 2,
|
|
2193
|
+
data: (pe = this.meteogramData) == null ? void 0 : pe.visibility,
|
|
2194
|
+
symbol: "none",
|
|
2195
|
+
smooth: !1,
|
|
2196
|
+
itemStyle: {
|
|
2197
|
+
color: "#c346a9"
|
|
2198
|
+
},
|
|
2199
|
+
label: {
|
|
2200
|
+
show: !1
|
|
2201
|
+
},
|
|
2202
|
+
markArea: {
|
|
2203
|
+
z: -1,
|
|
2204
|
+
zlevel: -1,
|
|
2205
|
+
itemStyle: {
|
|
2206
|
+
color: "rgba(239,239,239,0.6)"
|
|
2207
|
+
},
|
|
2208
|
+
data: (A = this.meteogramData) == null ? void 0 : A.markarea,
|
|
2209
|
+
emphasis: {
|
|
2210
|
+
disabled: !0
|
|
2211
|
+
}
|
|
2212
|
+
}
|
|
2213
|
+
},
|
|
2155
2214
|
{
|
|
2156
2215
|
singleAxisIndex: 2,
|
|
2157
2216
|
coordinateSystem: "singleAxis",
|
|
2158
2217
|
type: "scatter",
|
|
2159
|
-
data: (
|
|
2218
|
+
data: (Ae = this.meteogramData) == null ? void 0 : Ae.hours,
|
|
2160
2219
|
label: {
|
|
2161
2220
|
show: !0,
|
|
2162
2221
|
fontSize: 11,
|
|
@@ -2171,7 +2230,7 @@ const at = (n, e) => {
|
|
|
2171
2230
|
singleAxisIndex: 3,
|
|
2172
2231
|
coordinateSystem: "singleAxis",
|
|
2173
2232
|
type: "scatter",
|
|
2174
|
-
data: (
|
|
2233
|
+
data: (ne = this.meteogramData) == null ? void 0 : ne.xDates,
|
|
2175
2234
|
label: {
|
|
2176
2235
|
show: !0,
|
|
2177
2236
|
fontSize: 13,
|
|
@@ -2185,7 +2244,7 @@ const at = (n, e) => {
|
|
|
2185
2244
|
]
|
|
2186
2245
|
};
|
|
2187
2246
|
x.setOption(C);
|
|
2188
|
-
const
|
|
2247
|
+
const Q = Qe.init(document.getElementById("wave-swell")), N = {
|
|
2189
2248
|
title: {
|
|
2190
2249
|
text: "Wave & Swell",
|
|
2191
2250
|
top: "10px",
|
|
@@ -2199,8 +2258,8 @@ const at = (n, e) => {
|
|
|
2199
2258
|
show: !0,
|
|
2200
2259
|
bottom: "20%",
|
|
2201
2260
|
top: "40px",
|
|
2202
|
-
left:
|
|
2203
|
-
right:
|
|
2261
|
+
left: `${this.meteogramData.gridOffset.l}%`,
|
|
2262
|
+
right: `${this.meteogramData.gridOffset.r}%`,
|
|
2204
2263
|
borderColor: "#666",
|
|
2205
2264
|
borderWidth: 1,
|
|
2206
2265
|
z: 1,
|
|
@@ -2212,31 +2271,31 @@ const at = (n, e) => {
|
|
|
2212
2271
|
show: !0,
|
|
2213
2272
|
position: "right",
|
|
2214
2273
|
formatter: (d) => {
|
|
2215
|
-
var
|
|
2216
|
-
const
|
|
2217
|
-
return d.find((
|
|
2218
|
-
<div style="font-size: 13px;display: ${isNaN((
|
|
2274
|
+
var xe, Me, Ge, He, Se, _e, Ye, je, Ke, Ue;
|
|
2275
|
+
const L = (xe = d == null ? void 0 : d[0]) == null ? void 0 : xe.dataIndex;
|
|
2276
|
+
return d.find((We) => We.seriesType === "scatter") ? !1 : `<div style="font-size: 13px;"><strong>${j((Me = this.meteogramData) == null ? void 0 : Me.dates[L]).tz(this.positionGmt).format("MMM-DD/HHmm[LT]")}</strong></div>
|
|
2277
|
+
<div style="font-size: 13px;display: ${isNaN((Ge = d[0]) == null ? void 0 : Ge.value) ? "none" : "block"}">
|
|
2219
2278
|
<span style="display:inline-block; height: 10px;width: 10px;border-radius: 50%;background-color: #60c43e;}"></span>
|
|
2220
|
-
<span>Wind Speed : </span><strong>${(
|
|
2279
|
+
<span>Wind Speed : </span><strong>${(He = d[0]) == null ? void 0 : He.value}</strong><span style="padding-left: 3px;">kts</span>
|
|
2221
2280
|
</div>
|
|
2222
|
-
<div style="font-size: 13px;display: ${isNaN((
|
|
2281
|
+
<div style="font-size: 13px;display: ${isNaN((Se = d[2]) == null ? void 0 : Se.value) ? "none" : "block"}">
|
|
2223
2282
|
<span style="display:inline-block; height: 10px;width: 10px;border-radius: 50%;background-color: #4ba229;}"></span>
|
|
2224
|
-
<span>Wind Gusts : </span><strong>${(
|
|
2283
|
+
<span>Wind Gusts : </span><strong>${(_e = d[2]) == null ? void 0 : _e.value}</strong><span style="padding-left: 3px;">kts</span>
|
|
2225
2284
|
</div>
|
|
2226
|
-
<div style="font-size: 13px;display: ${isNaN((
|
|
2285
|
+
<div style="font-size: 13px;display: ${isNaN((Ye = d[3]) == null ? void 0 : Ye.value) ? "none" : "block"}">
|
|
2227
2286
|
<span style="display:inline-block; height: 10px;width: 10px;border-radius: 50%;background-color: #21baa3;"></span>
|
|
2228
|
-
<span>Swell Height : </span><strong>${(
|
|
2287
|
+
<span>Swell Height : </span><strong>${(je = d[3]) == null ? void 0 : je.value}</strong><span style="padding-left: 3px;">m</span>
|
|
2229
2288
|
</div>
|
|
2230
|
-
<div style="font-size: 13px;display: ${isNaN((
|
|
2289
|
+
<div style="font-size: 13px;display: ${isNaN((Ke = d[4]) == null ? void 0 : Ke.value) ? "none" : "block"}">
|
|
2231
2290
|
<span style="display:inline-block; height: 10px;width: 10px;border-radius: 50%;background-color: #049f9c;}"></span>
|
|
2232
|
-
<span>Sig.Wave Height : </span><strong>${(
|
|
2291
|
+
<span>Sig.Wave Height : </span><strong>${(Ue = d[4]) == null ? void 0 : Ue.value}</strong><span style="padding-left: 3px;">m</span>
|
|
2233
2292
|
</div>
|
|
2234
2293
|
`;
|
|
2235
2294
|
}
|
|
2236
2295
|
},
|
|
2237
2296
|
legend: {
|
|
2238
2297
|
// show: false,
|
|
2239
|
-
right: "
|
|
2298
|
+
right: "8%",
|
|
2240
2299
|
top: "5%",
|
|
2241
2300
|
itemWidth: 40,
|
|
2242
2301
|
data: [
|
|
@@ -2261,7 +2320,7 @@ const at = (n, e) => {
|
|
|
2261
2320
|
top: "50%",
|
|
2262
2321
|
height: "50%",
|
|
2263
2322
|
type: "category",
|
|
2264
|
-
data: (
|
|
2323
|
+
data: (ge = this.meteogramData) == null ? void 0 : ge.dates,
|
|
2265
2324
|
axisLabel: {
|
|
2266
2325
|
show: !1
|
|
2267
2326
|
},
|
|
@@ -2280,8 +2339,8 @@ const at = (n, e) => {
|
|
|
2280
2339
|
},
|
|
2281
2340
|
singleAxis: [
|
|
2282
2341
|
{
|
|
2283
|
-
left: (
|
|
2284
|
-
right: (
|
|
2342
|
+
left: (Ce = (he = this.meteogramData) == null ? void 0 : he.singleAxisOffset) == null ? void 0 : Ce.l,
|
|
2343
|
+
right: (de = (Be = this.meteogramData) == null ? void 0 : Be.singleAxisOffset) == null ? void 0 : de.r,
|
|
2285
2344
|
type: "category",
|
|
2286
2345
|
show: !1,
|
|
2287
2346
|
axisLine: {
|
|
@@ -2301,13 +2360,13 @@ const at = (n, e) => {
|
|
|
2301
2360
|
// 隐藏分割线
|
|
2302
2361
|
},
|
|
2303
2362
|
boundaryGap: !1,
|
|
2304
|
-
data: (
|
|
2363
|
+
data: (ce = this.meteogramData) == null ? void 0 : ce.dates,
|
|
2305
2364
|
top: "84%",
|
|
2306
2365
|
height: "2%"
|
|
2307
2366
|
},
|
|
2308
2367
|
{
|
|
2309
|
-
left: (
|
|
2310
|
-
right: (
|
|
2368
|
+
left: (be = (B = this.meteogramData) == null ? void 0 : B.singleAxisOffset) == null ? void 0 : be.l,
|
|
2369
|
+
right: ($ = (O = this.meteogramData) == null ? void 0 : O.singleAxisOffset) == null ? void 0 : $.r,
|
|
2311
2370
|
type: "category",
|
|
2312
2371
|
show: !1,
|
|
2313
2372
|
axisLine: {
|
|
@@ -2327,7 +2386,7 @@ const at = (n, e) => {
|
|
|
2327
2386
|
// 隐藏分割线
|
|
2328
2387
|
},
|
|
2329
2388
|
boundaryGap: !1,
|
|
2330
|
-
data: (
|
|
2389
|
+
data: (we = this.meteogramData) == null ? void 0 : we.dates,
|
|
2331
2390
|
top: "92%",
|
|
2332
2391
|
height: "2%"
|
|
2333
2392
|
}
|
|
@@ -2386,7 +2445,7 @@ const at = (n, e) => {
|
|
|
2386
2445
|
name: "Wind Speed",
|
|
2387
2446
|
type: "line",
|
|
2388
2447
|
yAxisIndex: 0,
|
|
2389
|
-
data: (
|
|
2448
|
+
data: (v = this.meteogramData) == null ? void 0 : v.windspeed,
|
|
2390
2449
|
symbol: "none",
|
|
2391
2450
|
smooth: !1,
|
|
2392
2451
|
itemStyle: {
|
|
@@ -2396,7 +2455,7 @@ const at = (n, e) => {
|
|
|
2396
2455
|
itemStyle: {
|
|
2397
2456
|
color: "rgba(239,239,239,0.6)"
|
|
2398
2457
|
},
|
|
2399
|
-
data: (
|
|
2458
|
+
data: (i = this.meteogramData) == null ? void 0 : i.markarea,
|
|
2400
2459
|
emphasis: {
|
|
2401
2460
|
disabled: !0
|
|
2402
2461
|
},
|
|
@@ -2408,14 +2467,14 @@ const at = (n, e) => {
|
|
|
2408
2467
|
name: "Wind Direction",
|
|
2409
2468
|
type: "custom",
|
|
2410
2469
|
yAxisIndex: 0,
|
|
2411
|
-
renderItem: (d,
|
|
2412
|
-
var
|
|
2413
|
-
const
|
|
2414
|
-
return ((
|
|
2470
|
+
renderItem: (d, L) => {
|
|
2471
|
+
var Ge, He;
|
|
2472
|
+
const xe = d.dataIndex, Me = L.coord([L.value(0), L.value(1)]);
|
|
2473
|
+
return ((He = (Ge = this.meteogramData) == null ? void 0 : Ge.windDir) == null ? void 0 : He[xe]) >= 0 ? {
|
|
2415
2474
|
type: "image",
|
|
2416
|
-
position:
|
|
2475
|
+
position: Me,
|
|
2417
2476
|
style: {
|
|
2418
|
-
image: this.meteogramData.windDirIcons[
|
|
2477
|
+
image: this.meteogramData.windDirIcons[xe],
|
|
2419
2478
|
x: -12 / 2,
|
|
2420
2479
|
y: 6,
|
|
2421
2480
|
width: 12,
|
|
@@ -2423,14 +2482,14 @@ const at = (n, e) => {
|
|
|
2423
2482
|
}
|
|
2424
2483
|
} : !1;
|
|
2425
2484
|
},
|
|
2426
|
-
data: (
|
|
2485
|
+
data: (g = this.meteogramData) == null ? void 0 : g.windspeed,
|
|
2427
2486
|
z: 10
|
|
2428
2487
|
},
|
|
2429
2488
|
{
|
|
2430
2489
|
name: "Wind Gusts",
|
|
2431
2490
|
type: "line",
|
|
2432
2491
|
yAxisIndex: 0,
|
|
2433
|
-
data: (
|
|
2492
|
+
data: (me = this.meteogramData) == null ? void 0 : me.windGusts,
|
|
2434
2493
|
symbol: "none",
|
|
2435
2494
|
smooth: !1,
|
|
2436
2495
|
itemStyle: {
|
|
@@ -2448,7 +2507,7 @@ const at = (n, e) => {
|
|
|
2448
2507
|
name: "Swell Height",
|
|
2449
2508
|
type: "line",
|
|
2450
2509
|
yAxisIndex: 1,
|
|
2451
|
-
data: (
|
|
2510
|
+
data: (Ee = this.meteogramData) == null ? void 0 : Ee.swellHeight,
|
|
2452
2511
|
symbol: "none",
|
|
2453
2512
|
smooth: !1,
|
|
2454
2513
|
itemStyle: {
|
|
@@ -2462,7 +2521,7 @@ const at = (n, e) => {
|
|
|
2462
2521
|
name: "Sig.Wave Height",
|
|
2463
2522
|
type: "line",
|
|
2464
2523
|
yAxisIndex: 1,
|
|
2465
|
-
data: (
|
|
2524
|
+
data: (y = this.meteogramData) == null ? void 0 : y.sigWaveHeight,
|
|
2466
2525
|
symbol: "none",
|
|
2467
2526
|
smooth: !1,
|
|
2468
2527
|
itemStyle: {
|
|
@@ -2477,7 +2536,7 @@ const at = (n, e) => {
|
|
|
2477
2536
|
singleAxisIndex: 0,
|
|
2478
2537
|
coordinateSystem: "singleAxis",
|
|
2479
2538
|
type: "scatter",
|
|
2480
|
-
data: (
|
|
2539
|
+
data: (oe = this.meteogramData) == null ? void 0 : oe.hours,
|
|
2481
2540
|
itemStyle: {
|
|
2482
2541
|
color: "#fff"
|
|
2483
2542
|
},
|
|
@@ -2493,7 +2552,7 @@ const at = (n, e) => {
|
|
|
2493
2552
|
singleAxisIndex: 1,
|
|
2494
2553
|
coordinateSystem: "singleAxis",
|
|
2495
2554
|
type: "scatter",
|
|
2496
|
-
data: (
|
|
2555
|
+
data: (De = this.meteogramData) == null ? void 0 : De.xDates,
|
|
2497
2556
|
itemStyle: {
|
|
2498
2557
|
color: "#fff"
|
|
2499
2558
|
},
|
|
@@ -2506,12 +2565,12 @@ const at = (n, e) => {
|
|
|
2506
2565
|
}
|
|
2507
2566
|
]
|
|
2508
2567
|
};
|
|
2509
|
-
|
|
2568
|
+
Q.setOption(N), Q.on("legendselectchanged", (d) => {
|
|
2510
2569
|
d.name === "Wind Speed" && (d.selected["Wind Direction"] = d.selected["Wind Speed"]);
|
|
2511
2570
|
});
|
|
2512
2571
|
},
|
|
2513
2572
|
async fetchSeasonalData() {
|
|
2514
|
-
var t, o,
|
|
2573
|
+
var t, o, p, f, I, b, x, C, Q, N, ee, te, ae, _, Y, K, U, R, W, X, q, J, Z, V, w, S, T, P, u, G, M;
|
|
2515
2574
|
if (!this.token)
|
|
2516
2575
|
return !1;
|
|
2517
2576
|
this.loading.seasonalEchart = !0, this.seasonalData = {
|
|
@@ -2527,53 +2586,53 @@ const at = (n, e) => {
|
|
|
2527
2586
|
precip: [],
|
|
2528
2587
|
lastYearPrecip: []
|
|
2529
2588
|
};
|
|
2530
|
-
const n =
|
|
2589
|
+
const n = j(this.etime).tz(this.positionGmt).date() >= 14 ? j(this.etime).tz(this.positionGmt).month() + 1 : j(this.etime).tz(this.positionGmt).month(), e = j(this.etime).tz(this.positionGmt).set({ month: n });
|
|
2531
2590
|
this.monthsOptions = [];
|
|
2532
|
-
for (let
|
|
2591
|
+
for (let k = 0; k < 6; k++)
|
|
2533
2592
|
this.monthsOptions.push({
|
|
2534
|
-
date:
|
|
2535
|
-
month:
|
|
2593
|
+
date: j(this.etime).tz(this.positionGmt).set({ year: e.year(), month: e.month() + k, date: 1, hour: 0, minute: 0, second: 0 }).format(),
|
|
2594
|
+
month: j(this.etime).tz(this.positionGmt).set({ year: e.year(), month: e.month() + k }).format("MMMM yyyy")
|
|
2536
2595
|
});
|
|
2537
2596
|
this.currentMonth = this.currentMonth ? this.currentMonth : this.monthsOptions[0];
|
|
2538
2597
|
let a = {
|
|
2539
2598
|
lat: this.position.lat,
|
|
2540
2599
|
lng: this.position.lng,
|
|
2541
|
-
startDate:
|
|
2542
|
-
endDate:
|
|
2600
|
+
startDate: j().tz(this.positionGmt).set({ year: e.year(), month: e.month(), date: 1, hour: 0, minute: 0, second: 0 }).format(),
|
|
2601
|
+
endDate: j().tz(this.positionGmt).set({ year: e.year(), month: e.month() + 1, date: 1, hour: 0, minute: 0, second: 0 }).format(),
|
|
2543
2602
|
pastYear: 1
|
|
2544
|
-
}, h = await
|
|
2603
|
+
}, h = await Fe.post(`${this.gateway}/api/arc/meteo2/spot/seasonal`, a, {
|
|
2545
2604
|
headers: {
|
|
2546
2605
|
Authorization: this.token
|
|
2547
2606
|
}
|
|
2548
2607
|
});
|
|
2549
2608
|
if ((h == null ? void 0 : h.data.code) === 0) {
|
|
2550
|
-
this.etime = (t = h == null ? void 0 : h.data) == null ? void 0 : t.etime, this.positionGmt = (
|
|
2551
|
-
let
|
|
2552
|
-
const
|
|
2553
|
-
for (let E = 0; E <
|
|
2554
|
-
const z = H(D).clone().add(E, "d").format(),
|
|
2555
|
-
(N = this.seasonalData) == null || N.dates.push(
|
|
2609
|
+
this.etime = (t = h == null ? void 0 : h.data) == null ? void 0 : t.etime, this.positionGmt = (f = (p = (o = this.meteoData) == null ? void 0 : o.weather) == null ? void 0 : p[0]) == null ? void 0 : f.timezone, this.positionOffset = (x = (b = (I = this.meteoData) == null ? void 0 : I.weather) == null ? void 0 : b[0]) == null ? void 0 : x.offset, this.issuedDate = H(this.etime).utc().format("MMM-DD/HHmm[Z], YYYY");
|
|
2610
|
+
let k = (C = h == null ? void 0 : h.data.data) == null ? void 0 : C.seasonal, D = j(this.etime).tz(this.positionGmt).set({ year: e.year(), month: e.month(), date: 1, hour: 0, minute: 0, second: 0 }).format();
|
|
2611
|
+
const re = H(a.endDate).diff(H(a.startDate), "day", !0);
|
|
2612
|
+
for (let E = 0; E < re; E++) {
|
|
2613
|
+
const z = H(D).clone().add(E, "d").format(), F = ((Q = Te.pickDaily(k, z)) == null ? void 0 : Q[0]) || {};
|
|
2614
|
+
(N = this.seasonalData) == null || N.dates.push(j(z).tz(this.positionGmt).format("MMM-DD")), (ee = this.seasonalData) == null || ee.xDates.push(j(z).tz(this.positionGmt).format("DD")), (_ = this.seasonalData) == null || _.highTemp.push(this.roundPrecision((ae = (te = F == null ? void 0 : F.weather) == null ? void 0 : te.temp) == null ? void 0 : ae.max, 0)), (U = this.seasonalData) == null || U.lowTemp.push(this.roundPrecision((K = (Y = F == null ? void 0 : F.weather) == null ? void 0 : Y.temp) == null ? void 0 : K.min, 0)), (X = this.seasonalData) == null || X.windSpeed.push(this.roundPrecision((W = (R = F.weather) == null ? void 0 : R.wind) == null ? void 0 : W.kts, 1)), (Z = this.seasonalData) == null || Z.windDirection.push((J = (q = F.weather) == null ? void 0 : q.wind) == null ? void 0 : J.direction), (S = this.seasonalData) == null || S.precip.push(this.roundPrecision((w = (V = F == null ? void 0 : F.weather) == null ? void 0 : V.precip) == null ? void 0 : w.sum, 1));
|
|
2556
2615
|
}
|
|
2557
2616
|
(((P = (T = h == null ? void 0 : h.data.data) == null ? void 0 : T.past) == null ? void 0 : P.reverse()) || []).forEach((E, z) => {
|
|
2558
|
-
var
|
|
2559
|
-
D =
|
|
2560
|
-
for (let
|
|
2561
|
-
const
|
|
2562
|
-
(
|
|
2617
|
+
var F, pe, A, Ae, ne, ge, he, Ce, Be, de, ce, B, be;
|
|
2618
|
+
D = j(this.etime).tz(this.positionGmt).set({ year: e.year() - (z + 1), month: e.month(), date: 1, hour: 0, minute: 0, second: 0 }).format();
|
|
2619
|
+
for (let O = 0; O < re; O++) {
|
|
2620
|
+
const $ = H(D).clone().add(O, "d").format(), we = ((F = Te.pickDaily(E, $)) == null ? void 0 : F[0]) || {};
|
|
2621
|
+
(Ae = this.seasonalData) == null || Ae.lastYearHighTemp.push(this.roundPrecision((A = (pe = we == null ? void 0 : we.weather) == null ? void 0 : pe.temp) == null ? void 0 : A.max, 0)), (he = this.seasonalData) == null || he.lastYearLowTemp.push(this.roundPrecision((ge = (ne = we == null ? void 0 : we.weather) == null ? void 0 : ne.temp) == null ? void 0 : ge.min, 0)), (de = this.seasonalData) == null || de.lastYearWindSpeed.push(this.roundPrecision((Be = (Ce = we.weather) == null ? void 0 : Ce.wind) == null ? void 0 : Be.kts, 1)), (be = this.seasonalData) == null || be.lastYearPrecip.push(this.roundPrecision((B = (ce = we == null ? void 0 : we.weather) == null ? void 0 : ce.precip) == null ? void 0 : B.sum, 1));
|
|
2563
2622
|
}
|
|
2564
|
-
}), this.seasonalData.offset =
|
|
2565
|
-
let
|
|
2623
|
+
}), this.seasonalData.offset = 8 + 0.5 / ((G = (u = this.seasonalData) == null ? void 0 : u.dates) == null ? void 0 : G.length) * 92 + "%", this.seasonalData.minHighTemp = Math.min(...this.seasonalData.highTemp.filter((E) => typeof E == "number" && !isNaN(E))), this.seasonalData.maxHighTemp = Math.max(...this.seasonalData.highTemp.filter((E) => typeof E == "number" && !isNaN(E))), this.seasonalData.minLowTemp = Math.min(...this.seasonalData.lowTemp.filter((E) => typeof E == "number" && !isNaN(E))), this.seasonalData.maxLowTemp = Math.max(...this.seasonalData.lowTemp.filter((E) => typeof E == "number" && !isNaN(E)));
|
|
2624
|
+
let ie = 0;
|
|
2566
2625
|
this.seasonalData.highTemp.forEach((E, z) => {
|
|
2567
|
-
E === this.seasonalData.maxHighTemp && (
|
|
2568
|
-
}), this.seasonalData.hottestDay = this.seasonalData.dates[
|
|
2569
|
-
let
|
|
2626
|
+
E === this.seasonalData.maxHighTemp && (ie = z);
|
|
2627
|
+
}), this.seasonalData.hottestDay = this.seasonalData.dates[ie];
|
|
2628
|
+
let c = 0;
|
|
2570
2629
|
this.seasonalData.lowTemp.forEach((E, z) => {
|
|
2571
|
-
E === this.seasonalData.minLowTemp && (
|
|
2572
|
-
}), this.seasonalData.coldestDay = this.seasonalData.dates[
|
|
2573
|
-
let
|
|
2630
|
+
E === this.seasonalData.minLowTemp && (c = z);
|
|
2631
|
+
}), this.seasonalData.coldestDay = this.seasonalData.dates[c], this.seasonalData.meanWind = this.seasonalData.windSpeed.reduce((E, z) => E + z, 0) / ((M = this.seasonalData.windSpeed) == null ? void 0 : M.length), this.seasonalData.maxWindSpeed = Math.max(...this.seasonalData.windSpeed.filter((E) => typeof E == "number" && !isNaN(E)));
|
|
2632
|
+
let ve = 0;
|
|
2574
2633
|
this.seasonalData.windSpeed.forEach((E, z) => {
|
|
2575
|
-
E === this.seasonalData.maxWindSpeed && (
|
|
2576
|
-
}), this.seasonalData.windiestDay = this.seasonalData.dates[
|
|
2634
|
+
E === this.seasonalData.maxWindSpeed && (ve = z);
|
|
2635
|
+
}), this.seasonalData.windiestDay = this.seasonalData.dates[ve], this.seasonalData.dominantWind = this.findMostFrequent(this.seasonalData.windDirection);
|
|
2577
2636
|
}
|
|
2578
2637
|
},
|
|
2579
2638
|
findMostFrequent(n) {
|
|
@@ -2586,10 +2645,10 @@ const at = (n, e) => {
|
|
|
2586
2645
|
return h;
|
|
2587
2646
|
},
|
|
2588
2647
|
initSeasonalEchart() {
|
|
2589
|
-
var U, R, X, q, J, Z, V
|
|
2648
|
+
var Y, K, U, R, W, X, q, J, Z, V;
|
|
2590
2649
|
let n = Math.max(
|
|
2591
|
-
...[...this.seasonalData.highTemp, ...this.seasonalData.lastYearHighTemp].filter((
|
|
2592
|
-
), e = Math.min(...[...this.seasonalData.lowTemp, ...this.seasonalData.lastYearLowTemp].filter((
|
|
2650
|
+
...[...this.seasonalData.highTemp, ...this.seasonalData.lastYearHighTemp].filter((w) => typeof w == "number" && !isNaN(w))
|
|
2651
|
+
), e = Math.min(...[...this.seasonalData.lowTemp, ...this.seasonalData.lastYearLowTemp].filter((w) => typeof w == "number" && !isNaN(w))), a = Math.ceil((n + 1) / 5) * 5, h = Math.floor((e - 1) / 5) * 5, t = Math.ceil((a - h) / 5);
|
|
2593
2652
|
const o = {
|
|
2594
2653
|
title: {
|
|
2595
2654
|
text: "Temperature",
|
|
@@ -2615,25 +2674,25 @@ const at = (n, e) => {
|
|
|
2615
2674
|
trigger: "axis",
|
|
2616
2675
|
show: !0,
|
|
2617
2676
|
position: "right",
|
|
2618
|
-
formatter: (
|
|
2619
|
-
var T, P,
|
|
2620
|
-
const
|
|
2621
|
-
return
|
|
2677
|
+
formatter: (w) => {
|
|
2678
|
+
var T, P, u, G, M, k;
|
|
2679
|
+
const S = (T = w == null ? void 0 : w[0]) == null ? void 0 : T.dataIndex;
|
|
2680
|
+
return w.find((D) => D.seriesType === "scatter") ? !1 : `<div style="font-size: 13px;"><strong>${(P = this.seasonalData) == null ? void 0 : P.dates[S]}</strong></div>
|
|
2622
2681
|
<div style="font-size: 13px;">
|
|
2623
2682
|
<span style="display:inline-block; height: 10px;width: 10px;border-radius: 50%;background-color: #FF9500;}"></span>
|
|
2624
|
-
<span>High : </span><strong>${(
|
|
2683
|
+
<span>High : </span><strong>${(u = w[0]) == null ? void 0 : u.value}</strong><span style="padding-left: 3px;">℃</span>
|
|
2625
2684
|
</div>
|
|
2626
2685
|
<div style="font-size: 13px;">
|
|
2627
2686
|
<span style="display:inline-block; height: 10px;width: 10px;border-radius: 50%;background-color: #f7c587;}"></span>
|
|
2628
|
-
<span>High, last year : </span><strong>${(
|
|
2687
|
+
<span>High, last year : </span><strong>${(G = w[1]) == null ? void 0 : G.value}</strong><span style="padding-left: 3px;">mm</span>
|
|
2629
2688
|
</div>
|
|
2630
2689
|
<div style="font-size: 13px;">
|
|
2631
2690
|
<span style="display:inline-block; height: 10px;width: 10px;border-radius: 50%;background-color: #2164bf;}"></span>
|
|
2632
|
-
<span>Low : </span><strong>${(
|
|
2691
|
+
<span>Low : </span><strong>${(M = w[2]) == null ? void 0 : M.value}</strong><span style="padding-left: 3px;">mm</span>
|
|
2633
2692
|
</div>
|
|
2634
2693
|
<div style="font-size: 13px;">
|
|
2635
2694
|
<span style="display:inline-block; height: 10px;width: 10px;border-radius: 50%;background-color: #7baef7;}"></span>
|
|
2636
|
-
<span>Low, last year : </span><strong>${(
|
|
2695
|
+
<span>Low, last year : </span><strong>${(k = w[3]) == null ? void 0 : k.value}</strong><span style="padding-left: 3px;">℃</span>
|
|
2637
2696
|
</div>
|
|
2638
2697
|
`;
|
|
2639
2698
|
}
|
|
@@ -2653,7 +2712,7 @@ const at = (n, e) => {
|
|
|
2653
2712
|
height: "50%",
|
|
2654
2713
|
type: "category",
|
|
2655
2714
|
boundaryGap: !0,
|
|
2656
|
-
data: (
|
|
2715
|
+
data: (Y = this.seasonalData) == null ? void 0 : Y.xDates,
|
|
2657
2716
|
axisLabel: {
|
|
2658
2717
|
show: !0
|
|
2659
2718
|
},
|
|
@@ -2694,7 +2753,7 @@ const at = (n, e) => {
|
|
|
2694
2753
|
{
|
|
2695
2754
|
name: "High",
|
|
2696
2755
|
type: "line",
|
|
2697
|
-
data: (
|
|
2756
|
+
data: (K = this.seasonalData) == null ? void 0 : K.highTemp,
|
|
2698
2757
|
symbol: "none",
|
|
2699
2758
|
smooth: !1,
|
|
2700
2759
|
itemStyle: {
|
|
@@ -2708,7 +2767,7 @@ const at = (n, e) => {
|
|
|
2708
2767
|
name: "High, last year",
|
|
2709
2768
|
type: "line",
|
|
2710
2769
|
symbol: "none",
|
|
2711
|
-
data: (
|
|
2770
|
+
data: (U = this.seasonalData) == null ? void 0 : U.lastYearHighTemp,
|
|
2712
2771
|
itemStyle: {
|
|
2713
2772
|
color: "#f7c587"
|
|
2714
2773
|
},
|
|
@@ -2723,7 +2782,7 @@ const at = (n, e) => {
|
|
|
2723
2782
|
{
|
|
2724
2783
|
name: "Low",
|
|
2725
2784
|
type: "line",
|
|
2726
|
-
data: (
|
|
2785
|
+
data: (R = this.seasonalData) == null ? void 0 : R.lowTemp,
|
|
2727
2786
|
symbol: "none",
|
|
2728
2787
|
smooth: !1,
|
|
2729
2788
|
itemStyle: {
|
|
@@ -2737,7 +2796,7 @@ const at = (n, e) => {
|
|
|
2737
2796
|
name: "Low, last year",
|
|
2738
2797
|
type: "line",
|
|
2739
2798
|
symbol: "none",
|
|
2740
|
-
data: (
|
|
2799
|
+
data: (W = this.seasonalData) == null ? void 0 : W.lastYearLowTemp,
|
|
2741
2800
|
itemStyle: {
|
|
2742
2801
|
color: "#7baef7"
|
|
2743
2802
|
},
|
|
@@ -2752,27 +2811,27 @@ const at = (n, e) => {
|
|
|
2752
2811
|
]
|
|
2753
2812
|
};
|
|
2754
2813
|
this.loading.seasonalEchart = !1, this.$nextTick(() => {
|
|
2755
|
-
|
|
2814
|
+
Qe.init(document.getElementById("temperature-echart")).setOption(o);
|
|
2756
2815
|
});
|
|
2757
|
-
function
|
|
2816
|
+
function p(w) {
|
|
2758
2817
|
return {
|
|
2759
2818
|
image: (() => {
|
|
2760
|
-
const
|
|
2761
|
-
|
|
2819
|
+
const S = document.createElementNS("http://www.w3.org/2000/svg", "svg");
|
|
2820
|
+
S.setAttribute("width", "10"), S.setAttribute("height", "5"), S.setAttribute("viewBox", "0 0 10 5");
|
|
2762
2821
|
const T = document.createElementNS("http://www.w3.org/2000/svg", "rect");
|
|
2763
|
-
T.setAttribute("x", "0"), T.setAttribute("y", "0"), T.setAttribute("width", "10"), T.setAttribute("height", "5"), T.setAttribute("fill",
|
|
2822
|
+
T.setAttribute("x", "0"), T.setAttribute("y", "0"), T.setAttribute("width", "10"), T.setAttribute("height", "5"), T.setAttribute("fill", w), S.appendChild(T);
|
|
2764
2823
|
const P = document.createElementNS("http://www.w3.org/2000/svg", "line");
|
|
2765
|
-
P.setAttribute("x1", "0"), P.setAttribute("y1", "0"), P.setAttribute("x2", "10"), P.setAttribute("y2", "5"), P.setAttribute("stroke", "#fff"), P.setAttribute("stroke-width", "1"),
|
|
2766
|
-
const
|
|
2767
|
-
return URL.createObjectURL(
|
|
2824
|
+
P.setAttribute("x1", "0"), P.setAttribute("y1", "0"), P.setAttribute("x2", "10"), P.setAttribute("y2", "5"), P.setAttribute("stroke", "#fff"), P.setAttribute("stroke-width", "1"), S.appendChild(P);
|
|
2825
|
+
const u = new XMLSerializer().serializeToString(S), G = new Blob([u], { type: "image/svg+xml;charset=utf-8" });
|
|
2826
|
+
return URL.createObjectURL(G);
|
|
2768
2827
|
})(),
|
|
2769
2828
|
repeat: "repeat"
|
|
2770
2829
|
};
|
|
2771
2830
|
}
|
|
2772
|
-
let
|
|
2773
|
-
...[...this.seasonalData.windSpeed, ...this.seasonalData.lastYearWindSpeed].filter((
|
|
2774
|
-
), b = Math.min(...[...this.seasonalData.windSpeed, ...this.seasonalData.lastYearWindSpeed].filter((
|
|
2775
|
-
const
|
|
2831
|
+
let f = Math.max(
|
|
2832
|
+
...[...this.seasonalData.windSpeed, ...this.seasonalData.lastYearWindSpeed].filter((w) => typeof w == "number" && !isNaN(w))
|
|
2833
|
+
), b = Math.min(...[...this.seasonalData.windSpeed, ...this.seasonalData.lastYearWindSpeed].filter((w) => typeof w == "number" && !isNaN(w))) > 0 ? 0 : Math.min(...[...this.seasonalData.windSpeed, ...this.seasonalData.lastYearWindSpeed].filter((w) => typeof w == "number" && !isNaN(w))), x = Math.ceil((f + 1) / 5) * 5, C = Math.ceil((x - b) / 5), Q = Math.max(...[...this.seasonalData.precip, ...this.seasonalData.lastYearPrecip].filter((w) => typeof w == "number" && !isNaN(w))), ee = 0, te = Math.ceil(Q * 2 / 5) * 5, ae = Math.ceil((te - ee) / 5);
|
|
2834
|
+
const _ = {
|
|
2776
2835
|
title: {
|
|
2777
2836
|
text: "Wind & Preciption",
|
|
2778
2837
|
top: "10px",
|
|
@@ -2797,40 +2856,40 @@ const at = (n, e) => {
|
|
|
2797
2856
|
trigger: "axis",
|
|
2798
2857
|
show: !0,
|
|
2799
2858
|
position: "right",
|
|
2800
|
-
formatter: (
|
|
2801
|
-
var T, P,
|
|
2802
|
-
const
|
|
2803
|
-
if (
|
|
2859
|
+
formatter: (w) => {
|
|
2860
|
+
var T, P, u, G, M, k, D, re, le, ie, c, ve, E, z, F, pe;
|
|
2861
|
+
const S = (T = w == null ? void 0 : w[0]) == null ? void 0 : T.dataIndex;
|
|
2862
|
+
if (w.find((A) => A.seriesType === "scatter"))
|
|
2804
2863
|
return !1;
|
|
2805
2864
|
{
|
|
2806
2865
|
let A = { color: "", colorLastYear: "", url: "" };
|
|
2807
|
-
return ((P =
|
|
2808
|
-
const
|
|
2809
|
-
|
|
2810
|
-
const
|
|
2811
|
-
|
|
2812
|
-
const
|
|
2813
|
-
|
|
2814
|
-
const
|
|
2815
|
-
|
|
2816
|
-
const
|
|
2817
|
-
return URL.createObjectURL(
|
|
2818
|
-
})(), `<div style="font-size: 13px;"><strong>${(
|
|
2866
|
+
return ((P = w[2]) == null ? void 0 : P.value) < 9.9 ? A.color = "rgba(172, 210, 255, 1)" : ((u = w[2]) == null ? void 0 : u.value) < 24.9 ? A.color = "rgba(3, 248, 103, 1)" : ((G = w[2]) == null ? void 0 : G.value) < 49.9 ? A.color = "rgba(190, 226, 2, 18)" : ((M = w[2]) == null ? void 0 : M.value) < 99.9 ? A.color = "rgba(248, 1, 1, 1)" : ((k = w[2]) == null ? void 0 : k.value) > 100 ? A.color = "rgba(197, 5, 58, 1)" : A.color = "rgba(172, 210, 255, 1)", ((D = w[3]) == null ? void 0 : D.value) < 9.9 ? A.colorLastYear = "rgba(172, 210, 255, 1)" : ((re = w[3]) == null ? void 0 : re.value) < 24.9 ? A.colorLastYear = "rgba(3, 248, 103, 1)" : ((le = w[3]) == null ? void 0 : le.value) < 49.9 ? A.colorLastYear = "rgba(190, 226, 2, 18)" : ((ie = w[3]) == null ? void 0 : ie.value) < 99.9 ? A.colorLastYear = "rgba(248, 1, 1, 1)" : ((c = w[3]) == null ? void 0 : c.value) > 100 ? A.colorLastYear = "rgba(197, 5, 58, 1)" : A.colorLastYear = "rgba(172, 210, 255, 1)", A.url = (() => {
|
|
2867
|
+
const Ae = document.createElementNS("http://www.w3.org/2000/svg", "svg");
|
|
2868
|
+
Ae.setAttribute("width", "10"), Ae.setAttribute("height", "10"), Ae.setAttribute("viewBox", "0 0 10 10");
|
|
2869
|
+
const ne = document.createElementNS("http://www.w3.org/2000/svg", "rect");
|
|
2870
|
+
ne.setAttribute("x", "0"), ne.setAttribute("y", "0"), ne.setAttribute("width", "10"), ne.setAttribute("height", "10"), ne.setAttribute("fill", A.colorLastYear), Ae.appendChild(ne);
|
|
2871
|
+
const ge = document.createElementNS("http://www.w3.org/2000/svg", "line");
|
|
2872
|
+
ge.setAttribute("x1", "0"), ge.setAttribute("y1", "0"), ge.setAttribute("x2", "10"), ge.setAttribute("y2", "5"), ge.setAttribute("stroke", "#fff"), ge.setAttribute("stroke-width", "1"), Ae.appendChild(ge);
|
|
2873
|
+
const he = document.createElementNS("http://www.w3.org/2000/svg", "line");
|
|
2874
|
+
he.setAttribute("x1", "0"), he.setAttribute("y1", "5"), he.setAttribute("x2", "10"), he.setAttribute("y2", "10"), he.setAttribute("stroke", "#fff"), he.setAttribute("stroke-width", "1"), Ae.appendChild(he);
|
|
2875
|
+
const Ce = new XMLSerializer().serializeToString(Ae), Be = new Blob([Ce], { type: "image/svg+xml;charset=utf-8" });
|
|
2876
|
+
return URL.createObjectURL(Be);
|
|
2877
|
+
})(), `<div style="font-size: 13px;"><strong>${(ve = this.seasonalData) == null ? void 0 : ve.dates[S]}</strong></div>
|
|
2819
2878
|
<div style="font-size: 13px;">
|
|
2820
2879
|
<span style="display:inline-block; height: 10px;width: 10px;border-radius: 50%;background-color: #60c43e;}"></span>
|
|
2821
|
-
<span>Wind : </span><strong>${(E =
|
|
2880
|
+
<span>Wind : </span><strong>${(E = w[0]) == null ? void 0 : E.value}</strong><span style="padding-left: 3px;">kts</span>
|
|
2822
2881
|
</div>
|
|
2823
2882
|
<div style="font-size: 13px;">
|
|
2824
2883
|
<span style="display:inline-block; height: 10px;width: 10px;border-radius: 50%;background-color: #9af77b;}"></span>
|
|
2825
|
-
<span>Wind, last year : </span><strong>${(z =
|
|
2884
|
+
<span>Wind, last year : </span><strong>${(z = w[1]) == null ? void 0 : z.value}</strong><span style="padding-left: 3px;">kts</span>
|
|
2826
2885
|
</div>
|
|
2827
2886
|
<div style="font-size: 13px;">
|
|
2828
2887
|
<span style="display:inline-block; height: 10px;width: 10px;border-radius: 50%;background-color: ${A.color};}"></span>
|
|
2829
|
-
<span>Precip : </span><strong>${(
|
|
2888
|
+
<span>Precip : </span><strong>${(F = w[2]) == null ? void 0 : F.value}</strong><span style="padding-left: 3px;">mm</span>
|
|
2830
2889
|
</div>
|
|
2831
2890
|
<div style="font-size: 13px;">
|
|
2832
2891
|
<img src="${A.url}" style="display:inline-block; height: 10px;width: 10px;border-radius: 50%;}" />
|
|
2833
|
-
<span>Precip, last year : </span><strong>${(
|
|
2892
|
+
<span>Precip, last year : </span><strong>${(pe = w[3]) == null ? void 0 : pe.value}</strong><span style="padding-left: 3px;">mm</span>
|
|
2834
2893
|
</div>
|
|
2835
2894
|
`;
|
|
2836
2895
|
}
|
|
@@ -2867,7 +2926,7 @@ const at = (n, e) => {
|
|
|
2867
2926
|
height: "50%",
|
|
2868
2927
|
type: "category",
|
|
2869
2928
|
boundaryGap: !0,
|
|
2870
|
-
data: (
|
|
2929
|
+
data: (X = this.seasonalData) == null ? void 0 : X.xDates,
|
|
2871
2930
|
axisLabel: {
|
|
2872
2931
|
show: !0
|
|
2873
2932
|
},
|
|
@@ -2906,9 +2965,9 @@ const at = (n, e) => {
|
|
|
2906
2965
|
type: "value",
|
|
2907
2966
|
name: "Precipitation ( mm ) ",
|
|
2908
2967
|
show: !0,
|
|
2909
|
-
min:
|
|
2910
|
-
max:
|
|
2911
|
-
interval:
|
|
2968
|
+
min: ee,
|
|
2969
|
+
max: te,
|
|
2970
|
+
interval: ae,
|
|
2912
2971
|
splitNumber: 5,
|
|
2913
2972
|
nameRotate: 90,
|
|
2914
2973
|
nameLocation: "middle",
|
|
@@ -2969,30 +3028,30 @@ const at = (n, e) => {
|
|
|
2969
3028
|
pieces: [
|
|
2970
3029
|
{
|
|
2971
3030
|
gte: 100,
|
|
2972
|
-
color:
|
|
3031
|
+
color: p("#C5053A"),
|
|
2973
3032
|
label: "Heavy Rainstorm, last year"
|
|
2974
3033
|
},
|
|
2975
3034
|
{
|
|
2976
3035
|
gte: 50,
|
|
2977
3036
|
lte: 99.9,
|
|
2978
|
-
color:
|
|
3037
|
+
color: p("#F80101"),
|
|
2979
3038
|
label: "Rainstorm, last year"
|
|
2980
3039
|
},
|
|
2981
3040
|
{
|
|
2982
3041
|
gte: 25,
|
|
2983
3042
|
lte: 49.9,
|
|
2984
|
-
color:
|
|
3043
|
+
color: p("#BEE202"),
|
|
2985
3044
|
label: "Heavy, last year"
|
|
2986
3045
|
},
|
|
2987
3046
|
{
|
|
2988
3047
|
gte: 10,
|
|
2989
3048
|
lte: 24.9,
|
|
2990
|
-
color:
|
|
3049
|
+
color: p("#03F867"),
|
|
2991
3050
|
label: "Moderate, last year"
|
|
2992
3051
|
},
|
|
2993
3052
|
{
|
|
2994
3053
|
lt: 10,
|
|
2995
|
-
color:
|
|
3054
|
+
color: p("#ACD2FF"),
|
|
2996
3055
|
label: "Light, last year"
|
|
2997
3056
|
}
|
|
2998
3057
|
],
|
|
@@ -3004,7 +3063,7 @@ const at = (n, e) => {
|
|
|
3004
3063
|
{
|
|
3005
3064
|
name: "Wind",
|
|
3006
3065
|
type: "line",
|
|
3007
|
-
data: (
|
|
3066
|
+
data: (q = this.seasonalData) == null ? void 0 : q.windSpeed,
|
|
3008
3067
|
symbol: "none",
|
|
3009
3068
|
smooth: !1,
|
|
3010
3069
|
itemStyle: {
|
|
@@ -3018,7 +3077,7 @@ const at = (n, e) => {
|
|
|
3018
3077
|
name: "Wind, last year",
|
|
3019
3078
|
type: "line",
|
|
3020
3079
|
symbol: "none",
|
|
3021
|
-
data: (
|
|
3080
|
+
data: (J = this.seasonalData) == null ? void 0 : J.lastYearWindSpeed,
|
|
3022
3081
|
itemStyle: {
|
|
3023
3082
|
color: "#9af77b"
|
|
3024
3083
|
},
|
|
@@ -3035,7 +3094,7 @@ const at = (n, e) => {
|
|
|
3035
3094
|
type: "bar",
|
|
3036
3095
|
yAxisIndex: 1,
|
|
3037
3096
|
barWidth: "30%",
|
|
3038
|
-
data: (
|
|
3097
|
+
data: (Z = this.seasonalData) == null ? void 0 : Z.precip,
|
|
3039
3098
|
symbol: "none",
|
|
3040
3099
|
smooth: !1,
|
|
3041
3100
|
itemStyle: {
|
|
@@ -3050,7 +3109,7 @@ const at = (n, e) => {
|
|
|
3050
3109
|
type: "bar",
|
|
3051
3110
|
yAxisIndex: 1,
|
|
3052
3111
|
barWidth: "30%",
|
|
3053
|
-
data: (
|
|
3112
|
+
data: (V = this.seasonalData) == null ? void 0 : V.lastYearPrecip,
|
|
3054
3113
|
itemStyle: {
|
|
3055
3114
|
color: "rgba(12,116,168,0.5)"
|
|
3056
3115
|
},
|
|
@@ -3061,14 +3120,14 @@ const at = (n, e) => {
|
|
|
3061
3120
|
]
|
|
3062
3121
|
};
|
|
3063
3122
|
this.$nextTick(() => {
|
|
3064
|
-
|
|
3123
|
+
Qe.init(document.getElementById("wind-precip-echart")).setOption(_);
|
|
3065
3124
|
});
|
|
3066
3125
|
},
|
|
3067
3126
|
disposeEcharts() {
|
|
3068
|
-
document.getElementById("weather-chart") &&
|
|
3127
|
+
document.getElementById("weather-chart") && Qe.dispose(document.getElementById("weather-chart")), document.getElementById("weather-icons") && Qe.dispose(document.getElementById("weather-icons")), document.getElementById("weather-condition") && Qe.dispose(document.getElementById("weather-condition")), document.getElementById("wave-swell") && Qe.dispose(document.getElementById("wave-swell")), document.getElementById("temperature-echart") && Qe.dispose(document.getElementById("temperature-echart")), document.getElementById("wind-precip-echart") && Qe.dispose(document.getElementById("wind-precip-echart"));
|
|
3069
3128
|
},
|
|
3070
3129
|
initHoursTableData() {
|
|
3071
|
-
var n, e, a, h, t, o,
|
|
3130
|
+
var n, e, a, h, t, o, p, f, I, b, x, C, Q, N, ee, te, ae, _, Y, K, U, R, W, X, q, J, Z, V, w, S, T, P, u, G;
|
|
3072
3131
|
this.hoursTableData = {
|
|
3073
3132
|
hours: [],
|
|
3074
3133
|
utcHours: [],
|
|
@@ -3095,77 +3154,77 @@ const at = (n, e) => {
|
|
|
3095
3154
|
seaLevel: [],
|
|
3096
3155
|
seaTemp: []
|
|
3097
3156
|
};
|
|
3098
|
-
for (let
|
|
3099
|
-
const
|
|
3100
|
-
this.hoursTableData.hours.push(
|
|
3101
|
-
const D = ((n =
|
|
3102
|
-
this.hoursTableData.weatherUrls.push((e = D.weather) == null ? void 0 : e.url), this.hoursTableData.weatherNames.push(((a = D.weather) == null ? void 0 : a.name) ?? "-"), this.hoursTableData.temp.push(this.roundPrecision((h = D.weather) == null ? void 0 : h.temp, 0) ?? "-"), this.hoursTableData.precipProbability.push(this.roundPrecision((o = (t = D.weather) == null ? void 0 : t.precip) == null ? void 0 : o.probability, 1) ?? "-"), this.hoursTableData.precip1h.push(this.roundPrecision((
|
|
3157
|
+
for (let M = 0; M < 24; M++) {
|
|
3158
|
+
const k = H(this.pickedDate).clone().add(M, "h").format();
|
|
3159
|
+
this.hoursTableData.hours.push(k);
|
|
3160
|
+
const D = ((n = Te.pickHourly(this.meteoData, k)) == null ? void 0 : n[0]) || {};
|
|
3161
|
+
this.hoursTableData.weatherUrls.push((e = D.weather) == null ? void 0 : e.url), this.hoursTableData.weatherNames.push(((a = D.weather) == null ? void 0 : a.name) ?? "-"), this.hoursTableData.temp.push(this.roundPrecision((h = D.weather) == null ? void 0 : h.temp, 0) ?? "-"), this.hoursTableData.precipProbability.push(this.roundPrecision((o = (t = D.weather) == null ? void 0 : t.precip) == null ? void 0 : o.probability, 1) ?? "-"), this.hoursTableData.precip1h.push(this.roundPrecision((f = (p = D.weather) == null ? void 0 : p.precip) == null ? void 0 : f.sum, 1) ?? "-"), this.hoursTableData.visibility.push(this.roundPrecision((I = D.weather) == null ? void 0 : I.visibility, 0) ?? "-"), this.hoursTableData.humidity.push(this.roundPrecision((b = D.weather) == null ? void 0 : b.rh, 0) ?? "-"), this.hoursTableData.windSpeed.push(this.roundPrecision((C = (x = D.weather) == null ? void 0 : x.wind) == null ? void 0 : C.kts, 1)), this.hoursTableData.windDir.push((N = (Q = D.weather) == null ? void 0 : Q.wind) == null ? void 0 : N.bearing), this.hoursTableData.windGust.push(this.roundPrecision((te = (ee = D.weather) == null ? void 0 : ee.wind) == null ? void 0 : te.gusts, 1) ?? "-"), this.hoursTableData.sigwaveHeight.push(this.roundPrecision((_ = (ae = D.wave) == null ? void 0 : ae.sig) == null ? void 0 : _.height, 1) ?? "-"), this.hoursTableData.sigwaveDir.push((K = (Y = D.wave) == null ? void 0 : Y.sig) == null ? void 0 : K.bearing), this.hoursTableData.windwaveHeight.push(this.roundPrecision((R = (U = D.wave) == null ? void 0 : U.wd) == null ? void 0 : R.height, 1) ?? "-"), this.hoursTableData.windwaveDir.push((X = (W = D.wave) == null ? void 0 : W.wd) == null ? void 0 : X.bearing), this.hoursTableData.windwavePeriod.push(this.roundPrecision((J = (q = D.wave) == null ? void 0 : q.wd) == null ? void 0 : J.period, 1) ?? "-"), this.hoursTableData.swellHeight.push(this.roundPrecision((V = (Z = D.wave) == null ? void 0 : Z.swell) == null ? void 0 : V.height, 1) ?? "-"), this.hoursTableData.swellDir.push((S = (w = D.wave) == null ? void 0 : w.swell) == null ? void 0 : S.bearing), this.hoursTableData.swellPeriod.push(this.roundPrecision((P = (T = D.wave) == null ? void 0 : T.swell) == null ? void 0 : P.period, 1) ?? "-"), this.hoursTableData.currentSpeed.push(this.roundPrecision((u = D.current) == null ? void 0 : u.speed, 1) ?? "-"), this.hoursTableData.currentDir.push((G = D.current) == null ? void 0 : G.bearing), this.hoursTableData.seaLevel.push(this.roundPrecision(D.height, 1) ?? "-"), this.hoursTableData.seaTemp.push(this.roundPrecision(D.sst, 0) ?? "-");
|
|
3103
3162
|
}
|
|
3104
3163
|
this.loading.hoursTable = !1;
|
|
3105
3164
|
},
|
|
3106
3165
|
handleClearHoursTable() {
|
|
3107
|
-
this.position = {}, this.meteoData = {}, this.followItem = void 0,
|
|
3166
|
+
this.position = {}, this.meteoData = {}, this.followItem = void 0, Qe && document.getElementById("weather-chart") && Qe.dispose(document.getElementById("weather-chart"));
|
|
3108
3167
|
},
|
|
3109
3168
|
initDaysTableData() {
|
|
3110
|
-
var e, a, h, t, o,
|
|
3169
|
+
var e, a, h, t, o, p, f, I, b, x, C, Q, N, ee, te, ae, _, Y, K, U, R, W, X, q, J, Z, V, w, S, T, P, u, G, M, k, D, re;
|
|
3111
3170
|
this.daysTableData = [];
|
|
3112
|
-
const n =
|
|
3113
|
-
for (let
|
|
3114
|
-
const
|
|
3171
|
+
const n = j(this.etime).tz(this.positionGmt).set({ hour: 0, minute: 0, second: 0, millisecond: 0 }).format();
|
|
3172
|
+
for (let le = 0; le < 14; le++) {
|
|
3173
|
+
const ie = H(n).clone().add(le, "d").format(), c = ((e = Te.pickDaily(this.meteoData, ie)) == null ? void 0 : e[0]) || {};
|
|
3115
3174
|
this.daysTableData.push({
|
|
3116
|
-
localWeek: this.computeWeekLT(
|
|
3117
|
-
localDate: this.computeMMMDDLT(
|
|
3118
|
-
weatherUrl: (a =
|
|
3119
|
-
minTemp: this.roundPrecision((t = (h =
|
|
3120
|
-
maxTemp: this.roundPrecision((
|
|
3121
|
-
weatherName: (
|
|
3122
|
-
precipSum: this.roundPrecision((b = (I =
|
|
3123
|
-
precipRainSum: this.roundPrecision((C = (x =
|
|
3124
|
-
precipSnowfallSum: this.roundPrecision((N = (
|
|
3125
|
-
windSpeedMax: this.roundPrecision((
|
|
3126
|
-
windSpeedDir: (
|
|
3127
|
-
gustSpeedMax: this.roundPrecision((
|
|
3128
|
-
windWaveHeight: this.roundPrecision((
|
|
3129
|
-
windWavePeriod: this.roundPrecision((
|
|
3130
|
-
windWaveDir: (
|
|
3131
|
-
swellWaveHeight: this.roundPrecision((
|
|
3132
|
-
swellWavePeriod: this.roundPrecision((
|
|
3133
|
-
swellWaveDir: (P = (T =
|
|
3134
|
-
sigWaveHeight: this.roundPrecision((
|
|
3135
|
-
sigWavePeriod: this.roundPrecision((
|
|
3136
|
-
sigWaveDir: (
|
|
3175
|
+
localWeek: this.computeWeekLT(ie),
|
|
3176
|
+
localDate: this.computeMMMDDLT(ie),
|
|
3177
|
+
weatherUrl: (a = c == null ? void 0 : c.weather) == null ? void 0 : a.url,
|
|
3178
|
+
minTemp: this.roundPrecision((t = (h = c == null ? void 0 : c.weather) == null ? void 0 : h.temp) == null ? void 0 : t.min, 0) ?? "-",
|
|
3179
|
+
maxTemp: this.roundPrecision((p = (o = c == null ? void 0 : c.weather) == null ? void 0 : o.temp) == null ? void 0 : p.max, 0) ?? "-",
|
|
3180
|
+
weatherName: (f = c == null ? void 0 : c.weather) == null ? void 0 : f.name,
|
|
3181
|
+
precipSum: this.roundPrecision((b = (I = c == null ? void 0 : c.weather) == null ? void 0 : I.precip) == null ? void 0 : b.sum, 1) ?? "-",
|
|
3182
|
+
precipRainSum: this.roundPrecision((C = (x = c == null ? void 0 : c.weather) == null ? void 0 : x.precip) == null ? void 0 : C.rainSum, 1) ?? "-",
|
|
3183
|
+
precipSnowfallSum: this.roundPrecision((N = (Q = c == null ? void 0 : c.weather) == null ? void 0 : Q.precip) == null ? void 0 : N.snowfallSum, 1) ?? "-",
|
|
3184
|
+
windSpeedMax: this.roundPrecision((te = (ee = c == null ? void 0 : c.weather) == null ? void 0 : ee.wind) == null ? void 0 : te.kts, 1) ?? "-",
|
|
3185
|
+
windSpeedDir: (_ = (ae = c == null ? void 0 : c.weather) == null ? void 0 : ae.wind) == null ? void 0 : _.bearing,
|
|
3186
|
+
gustSpeedMax: this.roundPrecision((K = (Y = c == null ? void 0 : c.weather) == null ? void 0 : Y.wind) == null ? void 0 : K.gusts, 1) ?? "-",
|
|
3187
|
+
windWaveHeight: this.roundPrecision((R = (U = c == null ? void 0 : c.wave) == null ? void 0 : U.wd) == null ? void 0 : R.height, 1) ?? "-",
|
|
3188
|
+
windWavePeriod: this.roundPrecision((X = (W = c == null ? void 0 : c.wave) == null ? void 0 : W.wd) == null ? void 0 : X.period, 1) ?? "-",
|
|
3189
|
+
windWaveDir: (J = (q = c == null ? void 0 : c.wave) == null ? void 0 : q.wd) == null ? void 0 : J.bearing,
|
|
3190
|
+
swellWaveHeight: this.roundPrecision((V = (Z = c == null ? void 0 : c.wave) == null ? void 0 : Z.swell) == null ? void 0 : V.height, 1) ?? "-",
|
|
3191
|
+
swellWavePeriod: this.roundPrecision((S = (w = c == null ? void 0 : c.wave) == null ? void 0 : w.swell) == null ? void 0 : S.period, 1) ?? "-",
|
|
3192
|
+
swellWaveDir: (P = (T = c == null ? void 0 : c.wave) == null ? void 0 : T.swell) == null ? void 0 : P.bearing,
|
|
3193
|
+
sigWaveHeight: this.roundPrecision((G = (u = c == null ? void 0 : c.wave) == null ? void 0 : u.sig) == null ? void 0 : G.height, 1) ?? "-",
|
|
3194
|
+
sigWavePeriod: this.roundPrecision((k = (M = c == null ? void 0 : c.wave) == null ? void 0 : M.sig) == null ? void 0 : k.period, 1) ?? "-",
|
|
3195
|
+
sigWaveDir: (re = (D = c == null ? void 0 : c.wave) == null ? void 0 : D.sig) == null ? void 0 : re.bearing
|
|
3137
3196
|
});
|
|
3138
3197
|
}
|
|
3139
3198
|
this.loading.daysTable = !1;
|
|
3140
3199
|
},
|
|
3141
3200
|
initHourlyTableData(n, e, a, h) {
|
|
3142
|
-
var
|
|
3201
|
+
var f, I, b, x, C, Q, N, ee, te, ae, _, Y, K, U, R, W, X, q, J, Z, V, w, S, T, P, u, G, M, k, D, re, le, ie, c, ve, E;
|
|
3143
3202
|
this.hourlyTableData = [];
|
|
3144
|
-
const t = e || 14, o = a || this.etime,
|
|
3203
|
+
const t = e || 14, o = a || this.etime, p = j(o).tz(this.positionGmt).set({ hour: 0, minute: 0, second: 0, millisecond: 0 }).format();
|
|
3145
3204
|
for (let z = 0; z < t * 24; z++) {
|
|
3146
|
-
let
|
|
3147
|
-
if (z % 3 === 0 && (
|
|
3148
|
-
const A = ((
|
|
3205
|
+
let F, pe;
|
|
3206
|
+
if (z % 3 === 0 && (pe = 3), h ? z % 3 === 0 && (F = H(p).clone().add(z, "h").format()) : z < 3 * 24 ? F = H(p).clone().add(z, "h").format() : z < 7 * 24 ? z % 3 === 0 && (F = H(p).clone().add(z, "h").format()) : z % 6 === 0 && (F = H(p).clone().add(z, "h").format()), F) {
|
|
3207
|
+
const A = ((f = Te.pickHourly(n, F)) == null ? void 0 : f[0]) || {}, Ae = pe === 6 ? this.roundPrecision((b = (I = A == null ? void 0 : A.weather) == null ? void 0 : I.precip) == null ? void 0 : b.sum6Hours, 1) : pe === 3 ? this.roundPrecision((C = (x = A == null ? void 0 : A.weather) == null ? void 0 : x.precip) == null ? void 0 : C.sum3Hours, 1) : "-";
|
|
3149
3208
|
this.hourlyTableData.push({
|
|
3150
|
-
localDate: this.computeMMMDDHHmmLT(
|
|
3151
|
-
temp: this.roundPrecision((
|
|
3152
|
-
precipSum:
|
|
3209
|
+
localDate: this.computeMMMDDHHmmLT(F),
|
|
3210
|
+
temp: this.roundPrecision((Q = A == null ? void 0 : A.weather) == null ? void 0 : Q.temp, 0) ?? "-",
|
|
3211
|
+
precipSum: Ae ?? "-",
|
|
3153
3212
|
visibility: this.roundPrecision((N = A == null ? void 0 : A.weather) == null ? void 0 : N.visibility, 1) ?? "-",
|
|
3154
|
-
windSpeed: this.roundPrecision((
|
|
3155
|
-
windDir: (
|
|
3156
|
-
windBearing: (
|
|
3157
|
-
windBF: ((
|
|
3158
|
-
windGusts: this.roundPrecision((
|
|
3159
|
-
windWaveHeight: this.roundPrecision((
|
|
3160
|
-
windWavePeriod: this.roundPrecision((
|
|
3161
|
-
windWaveDir: (
|
|
3213
|
+
windSpeed: this.roundPrecision((te = (ee = A == null ? void 0 : A.weather) == null ? void 0 : ee.wind) == null ? void 0 : te.kts, 1) ?? "-",
|
|
3214
|
+
windDir: (_ = (ae = A == null ? void 0 : A.weather) == null ? void 0 : ae.wind) == null ? void 0 : _.direction,
|
|
3215
|
+
windBearing: (K = (Y = A == null ? void 0 : A.weather) == null ? void 0 : Y.wind) == null ? void 0 : K.bearing,
|
|
3216
|
+
windBF: ((R = (U = A == null ? void 0 : A.weather) == null ? void 0 : U.wind) == null ? void 0 : R.scale) ?? "-",
|
|
3217
|
+
windGusts: this.roundPrecision((X = (W = A == null ? void 0 : A.weather) == null ? void 0 : W.wind) == null ? void 0 : X.gusts, 1) ?? "-",
|
|
3218
|
+
windWaveHeight: this.roundPrecision((J = (q = A == null ? void 0 : A.wave) == null ? void 0 : q.wd) == null ? void 0 : J.height, 1) ?? "-",
|
|
3219
|
+
windWavePeriod: this.roundPrecision((V = (Z = A == null ? void 0 : A.wave) == null ? void 0 : Z.wd) == null ? void 0 : V.period, 1) ?? "-",
|
|
3220
|
+
windWaveDir: (S = (w = A == null ? void 0 : A.wave) == null ? void 0 : w.wd) == null ? void 0 : S.direction,
|
|
3162
3221
|
windWaveBearing: (P = (T = A == null ? void 0 : A.wave) == null ? void 0 : T.wd) == null ? void 0 : P.bearing,
|
|
3163
|
-
sigWaveHeight: this.roundPrecision((
|
|
3164
|
-
sigWavePeriod: this.roundPrecision((
|
|
3165
|
-
sigWaveDir: (
|
|
3166
|
-
sigWaveBearing: (
|
|
3167
|
-
currentDir: (
|
|
3168
|
-
currentSpd: this.roundPrecision((
|
|
3222
|
+
sigWaveHeight: this.roundPrecision((G = (u = A == null ? void 0 : A.wave) == null ? void 0 : u.sig) == null ? void 0 : G.height, 1) ?? "-",
|
|
3223
|
+
sigWavePeriod: this.roundPrecision((k = (M = A == null ? void 0 : A.wave) == null ? void 0 : M.sig) == null ? void 0 : k.period, 1) ?? "-",
|
|
3224
|
+
sigWaveDir: (re = (D = A == null ? void 0 : A.wave) == null ? void 0 : D.sig) == null ? void 0 : re.direction,
|
|
3225
|
+
sigWaveBearing: (ie = (le = A == null ? void 0 : A.wave) == null ? void 0 : le.sig) == null ? void 0 : ie.bearing,
|
|
3226
|
+
currentDir: (c = A == null ? void 0 : A.current) == null ? void 0 : c.direction,
|
|
3227
|
+
currentSpd: this.roundPrecision((ve = A == null ? void 0 : A.current) == null ? void 0 : ve.kts, 1) ?? "-",
|
|
3169
3228
|
currentBearing: (E = A == null ? void 0 : A.current) == null ? void 0 : E.bearing,
|
|
3170
3229
|
seaLevel: this.roundPrecision(A == null ? void 0 : A.height, 1) ?? "-",
|
|
3171
3230
|
seaSurfaceTemp: this.roundPrecision(A == null ? void 0 : A.sst, 0) ?? "-"
|
|
@@ -3190,237 +3249,237 @@ const at = (n, e) => {
|
|
|
3190
3249
|
H(this.dateRangeZ[0]).set({ year: n, month: e, date: a }).utc().format(),
|
|
3191
3250
|
H(this.dateRangeZ[1]).set({ year: h, month: t, date: o }).utc().format()
|
|
3192
3251
|
];
|
|
3193
|
-
const
|
|
3194
|
-
await this.fetchHistoryMeteo(
|
|
3252
|
+
const p = H(this.dateRangeZ[1]).diff(H(this.dateRangeZ[0]), "d", !0) + 1;
|
|
3253
|
+
await this.fetchHistoryMeteo(p), this.handleMeteogramData14(this.meteoData, p, this.dateRangeZ[0]), this.initHourlyTableData(this.meteoData, p, this.dateRangeZ[0], !0), this.selectDate = void 0;
|
|
3195
3254
|
},
|
|
3196
3255
|
handlePickDate(n) {
|
|
3197
3256
|
n[1] ? this.selectDate = null : this.selectDate = n[0].getTime();
|
|
3198
3257
|
}
|
|
3199
3258
|
}
|
|
3200
|
-
},
|
|
3259
|
+
}, Ct = { class: "spot-report" }, It = { class: "search-header-box" }, Et = { class: "search-header-box-inner flex-between" }, Qt = { class: "search-box flex-start" }, Mt = { class: "menu-box flex-end" }, kt = { class: "content-box" }, Lt = { class: "title-section flex-between" }, zt = { class: "main-title" }, Ht = { class: "sub-title" }, Pt = { key: 0 }, Nt = { class: "flex-end" }, Tt = {
|
|
3201
3260
|
key: 0,
|
|
3202
3261
|
class: "meteogram-echart-section"
|
|
3203
|
-
},
|
|
3262
|
+
}, Gt = {
|
|
3204
3263
|
key: 0,
|
|
3205
3264
|
class: "card"
|
|
3206
|
-
},
|
|
3265
|
+
}, St = { class: "title flex-start" }, Ft = { style: { "margin-right": "5px" } }, Ot = { class: "datetime-select-box" }, _t = {
|
|
3207
3266
|
key: 1,
|
|
3208
3267
|
class: "card flex-center"
|
|
3209
|
-
},
|
|
3268
|
+
}, Yt = {
|
|
3210
3269
|
key: 2,
|
|
3211
3270
|
class: "card flex-center"
|
|
3212
|
-
},
|
|
3271
|
+
}, jt = {
|
|
3213
3272
|
key: 1,
|
|
3214
3273
|
class: "weather-echart-section"
|
|
3215
|
-
},
|
|
3274
|
+
}, Kt = {
|
|
3216
3275
|
key: 0,
|
|
3217
3276
|
id: "weather-chart",
|
|
3218
3277
|
class: "weather-chart"
|
|
3219
|
-
},
|
|
3278
|
+
}, Ut = {
|
|
3220
3279
|
key: 1,
|
|
3221
3280
|
class: "weather-chart weather-chart-loading flex-center"
|
|
3222
|
-
},
|
|
3281
|
+
}, Rt = {
|
|
3223
3282
|
key: 2,
|
|
3224
3283
|
class: "weather-chart flex-center"
|
|
3225
|
-
},
|
|
3284
|
+
}, Wt = {
|
|
3226
3285
|
key: 2,
|
|
3227
3286
|
class: "hours-table-section",
|
|
3228
3287
|
style: { border: "1px solid var(--idm-gray-light)" }
|
|
3229
|
-
},
|
|
3288
|
+
}, Xt = {
|
|
3230
3289
|
key: 0,
|
|
3231
3290
|
class: "card"
|
|
3232
|
-
},
|
|
3291
|
+
}, qt = { class: "date" }, Jt = { class: "basic-table" }, Zt = { class: "day" }, Vt = { class: "hour" }, $t = { class: "icon" }, es = ["src"], ts = { class: "text" }, ss = { class: "text" }, as = { class: "text" }, is = { class: "text" }, os = { class: "text" }, ns = { class: "text" }, rs = { key: 1 }, ls = { class: "text" }, As = { class: "text" }, hs = { class: "wave-current-table" }, ds = { class: "text" }, gs = { class: "text" }, cs = { key: 1 }, ws = { class: "text" }, ms = { class: "text" }, ps = { class: "text" }, us = { key: 1 }, fs = { class: "text" }, ys = { class: "text" }, vs = { class: "text" }, Ds = { key: 1 }, xs = { class: "text" }, Bs = { class: "sea-table" }, bs = { class: "text" }, Cs = { class: "text" }, Is = {
|
|
3233
3292
|
key: 1,
|
|
3234
3293
|
class: "card card-loading flex-center"
|
|
3235
|
-
},
|
|
3294
|
+
}, Es = {
|
|
3236
3295
|
key: 2,
|
|
3237
3296
|
class: "card flex-center"
|
|
3238
|
-
},
|
|
3297
|
+
}, Qs = {
|
|
3239
3298
|
key: 3,
|
|
3240
3299
|
class: "days-table-section"
|
|
3241
|
-
},
|
|
3300
|
+
}, Ms = {
|
|
3242
3301
|
key: 0,
|
|
3243
3302
|
class: "card"
|
|
3244
|
-
},
|
|
3303
|
+
}, ks = { class: "conditions-table" }, Ls = {
|
|
3245
3304
|
rowspan: "1",
|
|
3246
3305
|
colspan: "1",
|
|
3247
3306
|
class: "tr-title font-gray",
|
|
3248
3307
|
style: { "text-align": "right", "padding-right": "10px", "box-sizing": "border-box" }
|
|
3249
|
-
},
|
|
3308
|
+
}, zs = {
|
|
3250
3309
|
rowspan: "1",
|
|
3251
3310
|
colspan: "1"
|
|
3252
|
-
},
|
|
3311
|
+
}, Hs = ["src"], Ps = {
|
|
3253
3312
|
rowspan: "1",
|
|
3254
3313
|
colspan: "1",
|
|
3255
3314
|
class: "text-align-left"
|
|
3256
|
-
},
|
|
3315
|
+
}, Ns = {
|
|
3257
3316
|
rowspan: "1",
|
|
3258
3317
|
colspan: "1",
|
|
3259
3318
|
class: "text-align-left"
|
|
3260
|
-
},
|
|
3319
|
+
}, Ts = {
|
|
3261
3320
|
rowspan: "1",
|
|
3262
3321
|
colspan: "1",
|
|
3263
3322
|
class: "text-align-left"
|
|
3264
|
-
},
|
|
3323
|
+
}, Gs = {
|
|
3265
3324
|
rowspan: "1",
|
|
3266
3325
|
colspan: "1",
|
|
3267
3326
|
class: "text-align-left"
|
|
3268
|
-
},
|
|
3327
|
+
}, Ss = {
|
|
3269
3328
|
rowspan: "1",
|
|
3270
3329
|
colspan: "1",
|
|
3271
3330
|
class: "text-align-left"
|
|
3272
|
-
},
|
|
3331
|
+
}, Fs = {
|
|
3273
3332
|
rowspan: "1",
|
|
3274
3333
|
colspan: "1",
|
|
3275
3334
|
class: "text-align-right",
|
|
3276
3335
|
style: { "padding-right": "30px" }
|
|
3277
|
-
},
|
|
3336
|
+
}, Os = { key: 1 }, _s = {
|
|
3278
3337
|
rowspan: "1",
|
|
3279
3338
|
colspan: "1",
|
|
3280
3339
|
class: "text-align-right",
|
|
3281
3340
|
style: { "padding-right": "25px" }
|
|
3282
|
-
},
|
|
3341
|
+
}, Ys = {
|
|
3283
3342
|
rowspan: "1",
|
|
3284
3343
|
colspan: "1",
|
|
3285
3344
|
class: "text-align-right",
|
|
3286
3345
|
style: { "padding-right": "30px" }
|
|
3287
|
-
},
|
|
3346
|
+
}, js = { key: 1 }, Ks = {
|
|
3288
3347
|
rowspan: "1",
|
|
3289
3348
|
colspan: "1",
|
|
3290
3349
|
class: "text-align-right",
|
|
3291
3350
|
style: { "padding-right": "30px" }
|
|
3292
|
-
},
|
|
3351
|
+
}, Us = { key: 1 }, Rs = {
|
|
3293
3352
|
rowspan: "1",
|
|
3294
3353
|
colspan: "1",
|
|
3295
3354
|
class: "text-align-right",
|
|
3296
3355
|
style: { "padding-right": "30px" }
|
|
3297
|
-
},
|
|
3356
|
+
}, Ws = { key: 1 }, Xs = {
|
|
3298
3357
|
key: 1,
|
|
3299
3358
|
class: "card card-loading flex-center"
|
|
3300
|
-
},
|
|
3359
|
+
}, qs = {
|
|
3301
3360
|
key: 2,
|
|
3302
3361
|
class: "card flex-center"
|
|
3303
|
-
},
|
|
3362
|
+
}, Js = {
|
|
3304
3363
|
key: 4,
|
|
3305
3364
|
class: "hourly-table-section"
|
|
3306
|
-
},
|
|
3365
|
+
}, Zs = {
|
|
3307
3366
|
key: 0,
|
|
3308
3367
|
class: "card"
|
|
3309
|
-
},
|
|
3368
|
+
}, Vs = { class: "conditions-table" }, $s = {
|
|
3310
3369
|
rowspan: "1",
|
|
3311
3370
|
colspan: "1",
|
|
3312
3371
|
class: "border"
|
|
3313
|
-
},
|
|
3372
|
+
}, ea = {
|
|
3314
3373
|
rowspan: "1",
|
|
3315
3374
|
colspan: "1",
|
|
3316
3375
|
class: "border"
|
|
3317
|
-
},
|
|
3376
|
+
}, ta = {
|
|
3318
3377
|
rowspan: "1",
|
|
3319
3378
|
colspan: "1",
|
|
3320
3379
|
class: "border"
|
|
3321
|
-
},
|
|
3380
|
+
}, sa = {
|
|
3322
3381
|
rowspan: "1",
|
|
3323
3382
|
colspan: "1",
|
|
3324
3383
|
class: "border"
|
|
3325
|
-
},
|
|
3384
|
+
}, aa = {
|
|
3326
3385
|
rowspan: "1",
|
|
3327
3386
|
colspan: "1",
|
|
3328
3387
|
class: "border",
|
|
3329
3388
|
style: { "font-size": "11px", "text-align": "right", "padding-right": "3px" }
|
|
3330
|
-
},
|
|
3389
|
+
}, ia = { key: 1 }, oa = {
|
|
3331
3390
|
rowspan: "1",
|
|
3332
3391
|
colspan: "1",
|
|
3333
3392
|
class: "border"
|
|
3334
|
-
},
|
|
3393
|
+
}, na = {
|
|
3335
3394
|
rowspan: "1",
|
|
3336
3395
|
colspan: "1",
|
|
3337
3396
|
class: "border"
|
|
3338
|
-
},
|
|
3397
|
+
}, ra = {
|
|
3339
3398
|
rowspan: "1",
|
|
3340
3399
|
colspan: "1",
|
|
3341
3400
|
class: "border"
|
|
3342
|
-
},
|
|
3401
|
+
}, la = {
|
|
3343
3402
|
rowspan: "1",
|
|
3344
3403
|
colspan: "1",
|
|
3345
3404
|
class: "border",
|
|
3346
3405
|
style: { "font-size": "11px", "text-align": "right", "padding-right": "3px" }
|
|
3347
|
-
},
|
|
3406
|
+
}, Aa = { key: 1 }, ha = {
|
|
3348
3407
|
rowspan: "1",
|
|
3349
3408
|
colspan: "1",
|
|
3350
3409
|
class: "border"
|
|
3351
|
-
},
|
|
3410
|
+
}, da = {
|
|
3352
3411
|
rowspan: "1",
|
|
3353
3412
|
colspan: "1",
|
|
3354
3413
|
class: "border"
|
|
3355
|
-
},
|
|
3414
|
+
}, ga = {
|
|
3356
3415
|
rowspan: "1",
|
|
3357
3416
|
colspan: "1",
|
|
3358
3417
|
class: "border",
|
|
3359
3418
|
style: { "font-size": "11px", "text-align": "right", "padding-right": "3px" }
|
|
3360
|
-
},
|
|
3419
|
+
}, ca = { key: 1 }, wa = {
|
|
3361
3420
|
rowspan: "1",
|
|
3362
3421
|
colspan: "1",
|
|
3363
3422
|
class: "border"
|
|
3364
|
-
},
|
|
3423
|
+
}, ma = {
|
|
3365
3424
|
rowspan: "1",
|
|
3366
3425
|
colspan: "1",
|
|
3367
3426
|
class: "border"
|
|
3368
|
-
},
|
|
3427
|
+
}, pa = {
|
|
3369
3428
|
rowspan: "1",
|
|
3370
3429
|
colspan: "1",
|
|
3371
3430
|
class: "border",
|
|
3372
3431
|
style: { "font-size": "11px", "text-align": "right", "padding-right": "3px" }
|
|
3373
|
-
},
|
|
3432
|
+
}, ua = { key: 1 }, fa = {
|
|
3374
3433
|
rowspan: "1",
|
|
3375
3434
|
colspan: "1",
|
|
3376
3435
|
class: "border"
|
|
3377
|
-
},
|
|
3436
|
+
}, ya = {
|
|
3378
3437
|
rowspan: "1",
|
|
3379
3438
|
colspan: "1",
|
|
3380
3439
|
class: "border"
|
|
3381
|
-
},
|
|
3440
|
+
}, va = {
|
|
3382
3441
|
rowspan: "1",
|
|
3383
3442
|
colspan: "1",
|
|
3384
3443
|
class: "border"
|
|
3385
|
-
},
|
|
3444
|
+
}, Da = {
|
|
3386
3445
|
key: 1,
|
|
3387
3446
|
class: "card card-loading flex-center"
|
|
3388
|
-
},
|
|
3447
|
+
}, xa = {
|
|
3389
3448
|
key: 2,
|
|
3390
3449
|
class: "card flex-center"
|
|
3391
|
-
},
|
|
3450
|
+
}, Ba = {
|
|
3392
3451
|
key: 5,
|
|
3393
3452
|
class: "seasonal-weather-section"
|
|
3394
|
-
},
|
|
3453
|
+
}, ba = {
|
|
3395
3454
|
key: 0,
|
|
3396
3455
|
class: "card flex-space"
|
|
3397
|
-
},
|
|
3456
|
+
}, Ca = {
|
|
3398
3457
|
class: "echart-box",
|
|
3399
3458
|
style: {}
|
|
3400
|
-
},
|
|
3459
|
+
}, Ia = { style: { cursor: "pointer" } }, Ea = { style: { padding: "3px 0 0 5px", cursor: "pointer" } }, Qa = { class: "months-select-box" }, Ma = { class: "bg-select" }, ka = ["onClick"], La = { class: "flex-col-start-start right-bar" }, za = {
|
|
3401
3460
|
class: "",
|
|
3402
3461
|
style: { "font-size": "16px", "font-weight": "bold", "margin-bottom": "20px" }
|
|
3403
|
-
},
|
|
3462
|
+
}, Ha = { class: "text" }, Pa = { class: "text" }, Na = { class: "text" }, Ta = { class: "text" }, Ga = { class: "text" }, Sa = { class: "text" }, Fa = { class: "text" }, Oa = { class: "text" }, _a = { class: "text" }, Ya = { class: "text" }, ja = { class: "text" }, Ka = { class: "text" }, Ua = {
|
|
3404
3463
|
key: 1,
|
|
3405
3464
|
class: "card flex-center"
|
|
3406
|
-
},
|
|
3465
|
+
}, Ra = {
|
|
3407
3466
|
key: 2,
|
|
3408
3467
|
class: "card flex-center"
|
|
3409
|
-
},
|
|
3468
|
+
}, Wa = {
|
|
3410
3469
|
key: 0,
|
|
3411
3470
|
class: "info-box-item flex-start"
|
|
3412
|
-
},
|
|
3471
|
+
}, Xa = { class: "text" }, qa = { class: "info-box-item flex-start" }, Ja = { class: "text" }, Za = { class: "info-box-item flex-start" }, Va = {
|
|
3413
3472
|
key: 1,
|
|
3414
3473
|
class: "text"
|
|
3415
|
-
},
|
|
3416
|
-
function
|
|
3417
|
-
var Y, U, R, X, q, J, Z, V,
|
|
3418
|
-
const
|
|
3419
|
-
return r(), l("div",
|
|
3420
|
-
s("div",
|
|
3421
|
-
s("div",
|
|
3422
|
-
s("div",
|
|
3423
|
-
|
|
3474
|
+
}, $a = { class: "info-box-item flex-center" };
|
|
3475
|
+
function ei(n, e, a, h, t, o) {
|
|
3476
|
+
var _, Y, K, U, R, W, X, q, J, Z, V, w, S, T, P, u, G, M, k, D, re, le, ie, c, ve, E, z, F, pe, A, Ae, ne, ge, he, Ce, Be, de, ce, B, be, O, $, we, v;
|
|
3477
|
+
const p = ze("ElOption"), f = ze("ElSelect"), I = ze("ElTooltip"), b = ze("Calendar"), x = ze("el-icon"), C = ze("ArrowRightBold"), Q = ze("ElIcon"), N = ze("el-date-picker"), ee = ze("ElInput"), te = ze("ElButton"), ae = ze("ElDialog");
|
|
3478
|
+
return r(), l("div", Ct, [
|
|
3479
|
+
s("div", It, [
|
|
3480
|
+
s("div", Et, [
|
|
3481
|
+
s("div", Qt, [
|
|
3482
|
+
ke(f, {
|
|
3424
3483
|
modelValue: t.searchName,
|
|
3425
3484
|
"onUpdate:modelValue": e[0] || (e[0] = (i) => t.searchName = i),
|
|
3426
3485
|
filterable: "",
|
|
@@ -3435,8 +3494,8 @@ function Pa(n, e, a, h, t, o) {
|
|
|
3435
3494
|
onBlur: e[1] || (e[1] = (i) => t.placeholder = "search for port name or coordinates"),
|
|
3436
3495
|
onChange: o.handleSearch
|
|
3437
3496
|
}, {
|
|
3438
|
-
default:
|
|
3439
|
-
(r(!0), l(
|
|
3497
|
+
default: Pe(() => [
|
|
3498
|
+
(r(!0), l(ue, null, fe(t.positionList, (i) => (r(), Re(p, {
|
|
3440
3499
|
key: i.name,
|
|
3441
3500
|
label: i.nameRemark,
|
|
3442
3501
|
value: i.name
|
|
@@ -3444,7 +3503,7 @@ function Pa(n, e, a, h, t, o) {
|
|
|
3444
3503
|
]),
|
|
3445
3504
|
_: 1
|
|
3446
3505
|
}, 8, ["modelValue", "placeholder", "remote-method", "onFocus", "onChange"]),
|
|
3447
|
-
|
|
3506
|
+
ke(f, {
|
|
3448
3507
|
modelValue: t.forecastModel,
|
|
3449
3508
|
"onUpdate:modelValue": e[2] || (e[2] = (i) => t.forecastModel = i),
|
|
3450
3509
|
filterable: "",
|
|
@@ -3454,8 +3513,8 @@ function Pa(n, e, a, h, t, o) {
|
|
|
3454
3513
|
style: { width: "150px", "margin-left": "10px" },
|
|
3455
3514
|
onChange: o.handleModelChange
|
|
3456
3515
|
}, {
|
|
3457
|
-
default:
|
|
3458
|
-
(r(!0), l(
|
|
3516
|
+
default: Pe(() => [
|
|
3517
|
+
(r(!0), l(ue, null, fe(t.modelList, (i) => (r(), Re(p, {
|
|
3459
3518
|
key: i,
|
|
3460
3519
|
label: i,
|
|
3461
3520
|
value: i
|
|
@@ -3464,89 +3523,89 @@ function Pa(n, e, a, h, t, o) {
|
|
|
3464
3523
|
_: 1
|
|
3465
3524
|
}, 8, ["modelValue", "onChange"])
|
|
3466
3525
|
]),
|
|
3467
|
-
s("div",
|
|
3526
|
+
s("div", Mt, [
|
|
3468
3527
|
s("div", {
|
|
3469
|
-
class:
|
|
3528
|
+
class: ye(["item flex-center", t.menuIndex === 1 ? "active" : ""]),
|
|
3470
3529
|
onClick: e[3] || (e[3] = (i) => t.menuIndex = 1)
|
|
3471
3530
|
}, "History", 2),
|
|
3472
3531
|
s("div", {
|
|
3473
|
-
class:
|
|
3532
|
+
class: ye(["item flex-center", t.menuIndex === 2 ? "active" : ""]),
|
|
3474
3533
|
onClick: e[4] || (e[4] = (i) => t.menuIndex = 2)
|
|
3475
3534
|
}, "7-Day Forecast", 2),
|
|
3476
3535
|
s("div", {
|
|
3477
|
-
class:
|
|
3536
|
+
class: ye(["item flex-center", t.menuIndex === 3 ? "active" : ""]),
|
|
3478
3537
|
onClick: e[5] || (e[5] = (i) => t.menuIndex = 3)
|
|
3479
3538
|
}, "14-Day Forecast", 2),
|
|
3480
3539
|
s("div", {
|
|
3481
|
-
class:
|
|
3540
|
+
class: ye(["item flex-center", t.menuIndex === 4 ? "active" : ""]),
|
|
3482
3541
|
onClick: e[6] || (e[6] = (i) => t.menuIndex = 4)
|
|
3483
3542
|
}, "Seasonal Forecast", 2)
|
|
3484
3543
|
])
|
|
3485
3544
|
])
|
|
3486
3545
|
]),
|
|
3487
|
-
s("div",
|
|
3488
|
-
s("div",
|
|
3546
|
+
s("div", kt, [
|
|
3547
|
+
s("div", Lt, [
|
|
3489
3548
|
s("div", null, [
|
|
3490
|
-
s("div",
|
|
3491
|
-
s("div",
|
|
3492
|
-
|
|
3493
|
-
(
|
|
3494
|
-
|
|
3549
|
+
s("div", zt, m(t.menuIndex === 4 ? "Seasonal" : "") + " Weather forecast for " + m(((_ = t.position) == null ? void 0 : _.name) || "-") + " ( UTC" + m(t.positionOffset) + " )", 1),
|
|
3550
|
+
s("div", Ht, [
|
|
3551
|
+
se(" At " + m((Y = t.position) != null && Y.portId ? "port" : "coordinates"), 1),
|
|
3552
|
+
(K = t.position) != null && K.portId ? (r(), l("span", Pt, ", " + m(o.computeLat(t.position.lat)) + ", " + m(o.computeLng(t.position.lng)), 1)) : Ne("", !0),
|
|
3553
|
+
se(", issued " + m(t.issuedDate), 1)
|
|
3495
3554
|
])
|
|
3496
3555
|
]),
|
|
3497
|
-
s("div",
|
|
3498
|
-
|
|
3556
|
+
s("div", Nt, [
|
|
3557
|
+
ke(I, {
|
|
3499
3558
|
placement: "left",
|
|
3500
3559
|
effect: "light",
|
|
3501
3560
|
content: t.followItem ? "Remove the Port/Coordinate from My Follows" : "Add the Port/Coordinate to My Follows",
|
|
3502
3561
|
"show-after": 1e3
|
|
3503
3562
|
}, {
|
|
3504
|
-
default:
|
|
3563
|
+
default: Pe(() => [
|
|
3505
3564
|
t.followItem ? (r(), l("span", {
|
|
3506
3565
|
key: 0,
|
|
3507
3566
|
class: "iconfont icon active",
|
|
3508
3567
|
onClick: e[7] || (e[7] = (...i) => o.handleFollowDialogOpen && o.handleFollowDialogOpen(...i))
|
|
3509
|
-
}, "
|
|
3568
|
+
}, "")) : (r(), l("span", {
|
|
3510
3569
|
key: 1,
|
|
3511
3570
|
class: "iconfont icon",
|
|
3512
3571
|
onClick: e[8] || (e[8] = (...i) => o.handleFollowDialogOpen && o.handleFollowDialogOpen(...i))
|
|
3513
|
-
}, "
|
|
3572
|
+
}, ""))
|
|
3514
3573
|
]),
|
|
3515
3574
|
_: 1
|
|
3516
3575
|
}, 8, ["content"])
|
|
3517
3576
|
])
|
|
3518
3577
|
]),
|
|
3519
|
-
t.menuIndex === 1 || t.menuIndex === 2 || t.menuIndex === 3 ? (r(), l("div",
|
|
3520
|
-
(
|
|
3521
|
-
s("div",
|
|
3578
|
+
t.menuIndex === 1 || t.menuIndex === 2 || t.menuIndex === 3 ? (r(), l("div", Tt, [
|
|
3579
|
+
(U = t.position) != null && U.name && a.token && !((R = t.loading) != null && R.meteogramEchart) ? (r(), l("div", Gt, [
|
|
3580
|
+
s("div", St, [
|
|
3522
3581
|
e[15] || (e[15] = s("div", { style: { "margin-right": "20px" } }, "Meteogram", -1)),
|
|
3523
|
-
|
|
3582
|
+
Ze(s("div", {
|
|
3524
3583
|
id: "history-date-title",
|
|
3525
3584
|
class: "flex-space",
|
|
3526
3585
|
style: { cursor: "pointer" },
|
|
3527
3586
|
onClick: e[9] || (e[9] = (i) => t.meteoData.showDateSelect = !t.meteoData.showDateSelect)
|
|
3528
3587
|
}, [
|
|
3529
|
-
|
|
3588
|
+
ke(x, {
|
|
3530
3589
|
size: "16",
|
|
3531
3590
|
style: { "margin-right": "10px" }
|
|
3532
3591
|
}, {
|
|
3533
|
-
default:
|
|
3534
|
-
|
|
3592
|
+
default: Pe(() => [
|
|
3593
|
+
ke(b)
|
|
3535
3594
|
]),
|
|
3536
3595
|
_: 1
|
|
3537
3596
|
}),
|
|
3538
|
-
s("span",
|
|
3539
|
-
|
|
3540
|
-
default:
|
|
3541
|
-
|
|
3597
|
+
s("span", Ft, m(o.computeMMMDDyyyyLT(t.dateRangeZ[0])) + " ~ " + m(o.computeMMMDDyyyyLT(t.dateRangeZ[1])), 1),
|
|
3598
|
+
ke(Q, { size: "16" }, {
|
|
3599
|
+
default: Pe(() => [
|
|
3600
|
+
ke(C)
|
|
3542
3601
|
]),
|
|
3543
3602
|
_: 1
|
|
3544
3603
|
})
|
|
3545
3604
|
], 512), [
|
|
3546
|
-
[
|
|
3605
|
+
[Ve, t.menuIndex === 1]
|
|
3547
3606
|
]),
|
|
3548
|
-
|
|
3549
|
-
|
|
3607
|
+
Ze(s("div", Ot, [
|
|
3608
|
+
ke(N, {
|
|
3550
3609
|
modelValue: t.dateRange,
|
|
3551
3610
|
"onUpdate:modelValue": e[10] || (e[10] = (i) => t.dateRange = i),
|
|
3552
3611
|
type: "daterange",
|
|
@@ -3559,441 +3618,441 @@ function Pa(n, e, a, h, t, o) {
|
|
|
3559
3618
|
onChange: o.handleDateRange
|
|
3560
3619
|
}, null, 8, ["modelValue", "shortcuts", "disabledDate", "onCalendarChange", "onChange"])
|
|
3561
3620
|
], 512), [
|
|
3562
|
-
[
|
|
3621
|
+
[Ve, ((W = t.meteoData) == null ? void 0 : W.showDateSelect) && t.menuIndex === 1]
|
|
3563
3622
|
])
|
|
3564
3623
|
]),
|
|
3565
3624
|
e[16] || (e[16] = s("div", { id: "weather-icons" }, null, -1)),
|
|
3566
3625
|
e[17] || (e[17] = s("div", { id: "weather-condition" }, null, -1)),
|
|
3567
3626
|
e[18] || (e[18] = s("div", { id: "wave-swell" }, null, -1))
|
|
3568
|
-
])) : (
|
|
3627
|
+
])) : (X = t.loading) != null && X.meteogramEchart ? (r(), l("div", _t, e[19] || (e[19] = [
|
|
3569
3628
|
s("img", {
|
|
3570
3629
|
style: { height: "200px" },
|
|
3571
|
-
src:
|
|
3630
|
+
src: Oe
|
|
3572
3631
|
}, null, -1)
|
|
3573
|
-
]))) : (r(), l("div",
|
|
3574
|
-
])) :
|
|
3575
|
-
t.menuIndex === 2 ? (r(), l("div",
|
|
3576
|
-
(
|
|
3632
|
+
]))) : (r(), l("div", Yt, "No Data"))
|
|
3633
|
+
])) : Ne("", !0),
|
|
3634
|
+
t.menuIndex === 2 ? (r(), l("div", jt, [
|
|
3635
|
+
(q = t.position) != null && q.name && a.token && !((J = t.loading) != null && J.weatherEchart) ? (r(), l("div", Kt)) : (Z = t.loading) != null && Z.weatherEchart ? (r(), l("div", Ut, e[20] || (e[20] = [
|
|
3577
3636
|
s("img", {
|
|
3578
3637
|
style: { height: "200px" },
|
|
3579
|
-
src:
|
|
3638
|
+
src: Oe
|
|
3580
3639
|
}, null, -1)
|
|
3581
|
-
]))) : (r(), l("div",
|
|
3582
|
-
])) :
|
|
3583
|
-
t.menuIndex === 2 ? (r(), l("div",
|
|
3584
|
-
(
|
|
3585
|
-
s("div",
|
|
3586
|
-
s("table",
|
|
3587
|
-
s("tr",
|
|
3640
|
+
]))) : (r(), l("div", Rt, "No Data"))
|
|
3641
|
+
])) : Ne("", !0),
|
|
3642
|
+
t.menuIndex === 2 ? (r(), l("div", Wt, [
|
|
3643
|
+
(V = t.position) != null && V.name && a.token && !((w = t.loading) != null && w.hoursTable) ? (r(), l("div", Xt, [
|
|
3644
|
+
s("div", qt, m(t.pickedWeek) + " " + m(o.computeMMMDDLT(t.pickedDate)), 1),
|
|
3645
|
+
s("table", Jt, [
|
|
3646
|
+
s("tr", Zt, [
|
|
3588
3647
|
e[21] || (e[21] = s("th", {
|
|
3589
3648
|
rowspan: "1",
|
|
3590
3649
|
colspan: "1",
|
|
3591
3650
|
class: "td-title"
|
|
3592
3651
|
}, [
|
|
3593
|
-
|
|
3652
|
+
se("Local time"),
|
|
3594
3653
|
s("span", { class: "unit" }, "(LT)")
|
|
3595
3654
|
], -1)),
|
|
3596
|
-
(r(!0), l(
|
|
3597
|
-
key: `${i}${
|
|
3655
|
+
(r(!0), l(ue, null, fe(t.hoursTableData.hours, (i, g) => (r(), l("th", {
|
|
3656
|
+
key: `${i}${g}hoursLT`,
|
|
3598
3657
|
rowspan: "1",
|
|
3599
3658
|
colspan: "1",
|
|
3600
|
-
class:
|
|
3601
|
-
},
|
|
3659
|
+
class: ye(t.activeIndex === g ? "active" : "")
|
|
3660
|
+
}, m(o.computeHourLT(i)), 3))), 128))
|
|
3602
3661
|
]),
|
|
3603
|
-
s("tr",
|
|
3662
|
+
s("tr", Vt, [
|
|
3604
3663
|
e[22] || (e[22] = s("th", {
|
|
3605
3664
|
rowspan: "1",
|
|
3606
3665
|
colspan: "1",
|
|
3607
3666
|
class: "td-title"
|
|
3608
3667
|
}, [
|
|
3609
|
-
|
|
3668
|
+
se("UTC"),
|
|
3610
3669
|
s("span", { class: "unit" })
|
|
3611
3670
|
], -1)),
|
|
3612
|
-
(r(!0), l(
|
|
3613
|
-
key: `${i}${
|
|
3671
|
+
(r(!0), l(ue, null, fe(t.hoursTableData.hours, (i, g) => (r(), l("th", {
|
|
3672
|
+
key: `${i}${g}hoursLZ`,
|
|
3614
3673
|
rowspan: "1",
|
|
3615
3674
|
colspan: "1",
|
|
3616
|
-
class:
|
|
3617
|
-
},
|
|
3675
|
+
class: ye(t.activeIndex === g ? "active" : "")
|
|
3676
|
+
}, m(o.computeHourZ(i)), 3))), 128))
|
|
3618
3677
|
]),
|
|
3619
|
-
s("tr",
|
|
3678
|
+
s("tr", $t, [
|
|
3620
3679
|
e[23] || (e[23] = s("td", {
|
|
3621
3680
|
rowspan: "1",
|
|
3622
3681
|
colspan: "1",
|
|
3623
3682
|
class: "td-title"
|
|
3624
3683
|
}, [
|
|
3625
|
-
|
|
3684
|
+
se("Weather"),
|
|
3626
3685
|
s("span", { class: "unit" })
|
|
3627
3686
|
], -1)),
|
|
3628
|
-
(r(!0), l(
|
|
3629
|
-
key: `${i}${
|
|
3687
|
+
(r(!0), l(ue, null, fe(t.hoursTableData.weatherUrls, (i, g) => (r(), l("td", {
|
|
3688
|
+
key: `${i}${g}weatherUrls-weatherNames`,
|
|
3630
3689
|
rowspan: "1",
|
|
3631
3690
|
colspan: "1",
|
|
3632
|
-
class:
|
|
3691
|
+
class: ye(t.activeIndex === g ? "active" : "")
|
|
3633
3692
|
}, [
|
|
3634
|
-
|
|
3693
|
+
ke(I, {
|
|
3635
3694
|
placement: "top",
|
|
3636
3695
|
effect: "light",
|
|
3637
|
-
content: t.hoursTableData.weatherNames[
|
|
3696
|
+
content: t.hoursTableData.weatherNames[g],
|
|
3638
3697
|
"show-after": 500
|
|
3639
3698
|
}, {
|
|
3640
|
-
default:
|
|
3699
|
+
default: Pe(() => [
|
|
3641
3700
|
i ? (r(), l("img", {
|
|
3642
3701
|
key: 0,
|
|
3643
3702
|
class: "iconfont weather-icon",
|
|
3644
3703
|
src: i
|
|
3645
|
-
}, null, 8,
|
|
3704
|
+
}, null, 8, es)) : Ne("", !0)
|
|
3646
3705
|
]),
|
|
3647
3706
|
_: 2
|
|
3648
3707
|
}, 1032, ["content"])
|
|
3649
3708
|
], 2))), 128))
|
|
3650
3709
|
]),
|
|
3651
|
-
s("tr",
|
|
3710
|
+
s("tr", ts, [
|
|
3652
3711
|
e[24] || (e[24] = s("td", {
|
|
3653
3712
|
rowspan: "1",
|
|
3654
3713
|
colspan: "1",
|
|
3655
3714
|
class: "td-title"
|
|
3656
3715
|
}, [
|
|
3657
|
-
|
|
3716
|
+
se("Temperature"),
|
|
3658
3717
|
s("span", { class: "unit" }, "°C")
|
|
3659
3718
|
], -1)),
|
|
3660
|
-
(r(!0), l(
|
|
3661
|
-
key: `${i}${
|
|
3719
|
+
(r(!0), l(ue, null, fe(t.hoursTableData.temp, (i, g) => (r(), l("td", {
|
|
3720
|
+
key: `${i}${g}temp`,
|
|
3662
3721
|
rowspan: "1",
|
|
3663
3722
|
colspan: "1",
|
|
3664
|
-
class:
|
|
3665
|
-
},
|
|
3723
|
+
class: ye(t.activeIndex === g ? "active" : "")
|
|
3724
|
+
}, m(i), 3))), 128))
|
|
3666
3725
|
]),
|
|
3667
|
-
s("tr",
|
|
3726
|
+
s("tr", ss, [
|
|
3668
3727
|
e[25] || (e[25] = s("td", {
|
|
3669
3728
|
rowspan: "1",
|
|
3670
3729
|
colspan: "1",
|
|
3671
3730
|
class: "td-title"
|
|
3672
3731
|
}, [
|
|
3673
|
-
|
|
3732
|
+
se("Precipitation Probability"),
|
|
3674
3733
|
s("span", { class: "unit" }, "%")
|
|
3675
3734
|
], -1)),
|
|
3676
|
-
(r(!0), l(
|
|
3677
|
-
key: `${i}${
|
|
3735
|
+
(r(!0), l(ue, null, fe(t.hoursTableData.precipProbability, (i, g) => (r(), l("td", {
|
|
3736
|
+
key: `${i}${g}precipProbability`,
|
|
3678
3737
|
rowspan: "1",
|
|
3679
3738
|
colspan: "1",
|
|
3680
|
-
class:
|
|
3681
|
-
},
|
|
3739
|
+
class: ye(t.activeIndex === g ? "active" : "")
|
|
3740
|
+
}, m(i), 3))), 128))
|
|
3682
3741
|
]),
|
|
3683
|
-
s("tr",
|
|
3742
|
+
s("tr", as, [
|
|
3684
3743
|
e[26] || (e[26] = s("td", {
|
|
3685
3744
|
rowspan: "1",
|
|
3686
3745
|
colspan: "1",
|
|
3687
3746
|
class: "td-title"
|
|
3688
3747
|
}, [
|
|
3689
|
-
|
|
3748
|
+
se("Precipitation 1h"),
|
|
3690
3749
|
s("span", { class: "unit" }, "mm")
|
|
3691
3750
|
], -1)),
|
|
3692
|
-
(r(!0), l(
|
|
3693
|
-
key: `${i}${
|
|
3751
|
+
(r(!0), l(ue, null, fe(t.hoursTableData.precip1h, (i, g) => (r(), l("td", {
|
|
3752
|
+
key: `${i}${g}precip1h`,
|
|
3694
3753
|
rowspan: "1",
|
|
3695
3754
|
colspan: "1",
|
|
3696
|
-
class:
|
|
3697
|
-
},
|
|
3755
|
+
class: ye(t.activeIndex === g ? "active" : "")
|
|
3756
|
+
}, m(i), 3))), 128))
|
|
3698
3757
|
]),
|
|
3699
|
-
s("tr",
|
|
3758
|
+
s("tr", is, [
|
|
3700
3759
|
e[27] || (e[27] = s("td", {
|
|
3701
3760
|
rowspan: "1",
|
|
3702
3761
|
colspan: "1",
|
|
3703
3762
|
class: "td-title"
|
|
3704
3763
|
}, [
|
|
3705
|
-
|
|
3764
|
+
se("Visibility"),
|
|
3706
3765
|
s("span", { class: "unit" }, "nm")
|
|
3707
3766
|
], -1)),
|
|
3708
|
-
(r(!0), l(
|
|
3709
|
-
key: `${i}${
|
|
3767
|
+
(r(!0), l(ue, null, fe(t.hoursTableData.visibility, (i, g) => (r(), l("td", {
|
|
3768
|
+
key: `${i}${g}visibility`,
|
|
3710
3769
|
rowspan: "1",
|
|
3711
3770
|
colspan: "1",
|
|
3712
|
-
class:
|
|
3713
|
-
},
|
|
3771
|
+
class: ye(t.activeIndex === g ? "active" : "")
|
|
3772
|
+
}, m(i), 3))), 128))
|
|
3714
3773
|
]),
|
|
3715
|
-
s("tr",
|
|
3774
|
+
s("tr", os, [
|
|
3716
3775
|
e[28] || (e[28] = s("td", {
|
|
3717
3776
|
rowspan: "1",
|
|
3718
3777
|
colspan: "1",
|
|
3719
3778
|
class: "td-title"
|
|
3720
3779
|
}, [
|
|
3721
|
-
|
|
3780
|
+
se("Relative Humidity"),
|
|
3722
3781
|
s("span", { class: "unit" }, "%")
|
|
3723
3782
|
], -1)),
|
|
3724
|
-
(r(!0), l(
|
|
3725
|
-
key: `${i}${
|
|
3783
|
+
(r(!0), l(ue, null, fe(t.hoursTableData.humidity, (i, g) => (r(), l("td", {
|
|
3784
|
+
key: `${i}${g}humidity`,
|
|
3726
3785
|
rowspan: "1",
|
|
3727
3786
|
colspan: "1",
|
|
3728
|
-
class:
|
|
3729
|
-
},
|
|
3787
|
+
class: ye(t.activeIndex === g ? "active" : "")
|
|
3788
|
+
}, m(i), 3))), 128))
|
|
3730
3789
|
]),
|
|
3731
|
-
s("tr",
|
|
3790
|
+
s("tr", ns, [
|
|
3732
3791
|
e[29] || (e[29] = s("td", {
|
|
3733
3792
|
rowspan: "1",
|
|
3734
3793
|
colspan: "1",
|
|
3735
3794
|
class: "td-title"
|
|
3736
3795
|
}, [
|
|
3737
|
-
|
|
3796
|
+
se("Wind direction"),
|
|
3738
3797
|
s("span", { class: "unit" })
|
|
3739
3798
|
], -1)),
|
|
3740
|
-
(r(!0), l(
|
|
3741
|
-
key: `${i}${
|
|
3799
|
+
(r(!0), l(ue, null, fe(t.hoursTableData.windDir, (i, g) => (r(), l("td", {
|
|
3800
|
+
key: `${i}${g}windDir`,
|
|
3742
3801
|
rowspan: "1",
|
|
3743
3802
|
colspan: "1",
|
|
3744
|
-
class:
|
|
3803
|
+
class: ye(t.activeIndex === g ? "active" : "")
|
|
3745
3804
|
}, [
|
|
3746
|
-
isNaN(i) ? (r(), l("span",
|
|
3805
|
+
isNaN(i) ? (r(), l("span", rs, "-")) : (r(), l("span", {
|
|
3747
3806
|
key: 0,
|
|
3748
3807
|
class: "iconfont icon",
|
|
3749
|
-
style:
|
|
3808
|
+
style: Le({ display: "inline-block", transform: `rotate(${i}deg)` })
|
|
3750
3809
|
}, "", 4))
|
|
3751
3810
|
], 2))), 128))
|
|
3752
3811
|
]),
|
|
3753
|
-
s("tr",
|
|
3812
|
+
s("tr", ls, [
|
|
3754
3813
|
e[30] || (e[30] = s("td", {
|
|
3755
3814
|
rowspan: "1",
|
|
3756
3815
|
colspan: "1",
|
|
3757
3816
|
class: "td-title"
|
|
3758
3817
|
}, [
|
|
3759
|
-
|
|
3818
|
+
se("Wind speed"),
|
|
3760
3819
|
s("span", { class: "unit" }, "kts")
|
|
3761
3820
|
], -1)),
|
|
3762
|
-
(r(!0), l(
|
|
3763
|
-
key: `${i}${
|
|
3821
|
+
(r(!0), l(ue, null, fe(t.hoursTableData.windSpeed, (i, g) => (r(), l("td", {
|
|
3822
|
+
key: `${i}${g}windSpeed`,
|
|
3764
3823
|
rowspan: "1",
|
|
3765
3824
|
colspan: "1",
|
|
3766
|
-
class:
|
|
3767
|
-
},
|
|
3825
|
+
class: ye(t.activeIndex === g ? "active" : "")
|
|
3826
|
+
}, m(i), 3))), 128))
|
|
3768
3827
|
]),
|
|
3769
|
-
s("tr",
|
|
3828
|
+
s("tr", As, [
|
|
3770
3829
|
e[31] || (e[31] = s("td", {
|
|
3771
3830
|
rowspan: "1",
|
|
3772
3831
|
colspan: "1",
|
|
3773
3832
|
class: "td-title"
|
|
3774
3833
|
}, [
|
|
3775
|
-
|
|
3834
|
+
se("Wind gust"),
|
|
3776
3835
|
s("span", { class: "unit" }, "kts")
|
|
3777
3836
|
], -1)),
|
|
3778
|
-
(r(!0), l(
|
|
3779
|
-
key: `${i}${
|
|
3837
|
+
(r(!0), l(ue, null, fe(t.hoursTableData.windGust, (i, g) => (r(), l("td", {
|
|
3838
|
+
key: `${i}${g}windGust`,
|
|
3780
3839
|
rowspan: "1",
|
|
3781
3840
|
colspan: "1",
|
|
3782
|
-
class:
|
|
3783
|
-
},
|
|
3841
|
+
class: ye(t.activeIndex === g ? "active" : "")
|
|
3842
|
+
}, m(i), 3))), 128))
|
|
3784
3843
|
])
|
|
3785
3844
|
]),
|
|
3786
3845
|
e[43] || (e[43] = s("div", { style: { "text-align": "center", padding: "3px" } }, null, -1)),
|
|
3787
|
-
s("table",
|
|
3788
|
-
s("tr",
|
|
3846
|
+
s("table", hs, [
|
|
3847
|
+
s("tr", ds, [
|
|
3789
3848
|
e[32] || (e[32] = s("td", {
|
|
3790
3849
|
rowspan: "1",
|
|
3791
3850
|
colspan: "1",
|
|
3792
3851
|
class: "td-title"
|
|
3793
3852
|
}, [
|
|
3794
|
-
|
|
3853
|
+
se("Wind wave height"),
|
|
3795
3854
|
s("span", { class: "unit" }, "m")
|
|
3796
3855
|
], -1)),
|
|
3797
|
-
(r(!0), l(
|
|
3798
|
-
key: `${i}${
|
|
3856
|
+
(r(!0), l(ue, null, fe(t.hoursTableData.windwaveHeight, (i, g) => (r(), l("td", {
|
|
3857
|
+
key: `${i}${g}windwaveHeight`,
|
|
3799
3858
|
rowspan: "1",
|
|
3800
3859
|
colspan: "1",
|
|
3801
|
-
class:
|
|
3802
|
-
},
|
|
3860
|
+
class: ye(t.activeIndex === g ? "active" : "")
|
|
3861
|
+
}, m(i), 3))), 128))
|
|
3803
3862
|
]),
|
|
3804
|
-
s("tr",
|
|
3863
|
+
s("tr", gs, [
|
|
3805
3864
|
e[33] || (e[33] = s("td", {
|
|
3806
3865
|
rowspan: "1",
|
|
3807
3866
|
colspan: "1",
|
|
3808
3867
|
class: "td-title"
|
|
3809
3868
|
}, [
|
|
3810
|
-
|
|
3869
|
+
se("Wind wave direction"),
|
|
3811
3870
|
s("span", { class: "unit" })
|
|
3812
3871
|
], -1)),
|
|
3813
|
-
(r(!0), l(
|
|
3814
|
-
key: `${i}${
|
|
3872
|
+
(r(!0), l(ue, null, fe(t.hoursTableData.windwaveDir, (i, g) => (r(), l("td", {
|
|
3873
|
+
key: `${i}${g}windwaveDir`,
|
|
3815
3874
|
rowspan: "1",
|
|
3816
3875
|
colspan: "1",
|
|
3817
|
-
class:
|
|
3876
|
+
class: ye(t.activeIndex === g ? "active" : "")
|
|
3818
3877
|
}, [
|
|
3819
|
-
isNaN(i) ? (r(), l("span",
|
|
3878
|
+
isNaN(i) ? (r(), l("span", cs, "-")) : (r(), l("span", {
|
|
3820
3879
|
key: 0,
|
|
3821
3880
|
class: "iconfont icon",
|
|
3822
|
-
style:
|
|
3881
|
+
style: Le({ display: "inline-block", transform: `rotate(${i}deg)` })
|
|
3823
3882
|
}, "", 4))
|
|
3824
3883
|
], 2))), 128))
|
|
3825
3884
|
]),
|
|
3826
|
-
s("tr",
|
|
3885
|
+
s("tr", ws, [
|
|
3827
3886
|
e[34] || (e[34] = s("td", {
|
|
3828
3887
|
rowspan: "1",
|
|
3829
3888
|
colspan: "1",
|
|
3830
3889
|
class: "td-title"
|
|
3831
3890
|
}, [
|
|
3832
|
-
|
|
3891
|
+
se("Wind wave period"),
|
|
3833
3892
|
s("span", { class: "unit" }, "s")
|
|
3834
3893
|
], -1)),
|
|
3835
|
-
(r(!0), l(
|
|
3836
|
-
key: `${i}${
|
|
3894
|
+
(r(!0), l(ue, null, fe(t.hoursTableData.windwavePeriod, (i, g) => (r(), l("td", {
|
|
3895
|
+
key: `${i}${g}windwavePeriod`,
|
|
3837
3896
|
rowspan: "1",
|
|
3838
3897
|
colspan: "1",
|
|
3839
|
-
class:
|
|
3840
|
-
},
|
|
3898
|
+
class: ye(t.activeIndex === g ? "active" : "")
|
|
3899
|
+
}, m(i), 3))), 128))
|
|
3841
3900
|
]),
|
|
3842
|
-
s("tr",
|
|
3901
|
+
s("tr", ms, [
|
|
3843
3902
|
e[35] || (e[35] = s("td", {
|
|
3844
3903
|
rowspan: "1",
|
|
3845
3904
|
colspan: "1",
|
|
3846
3905
|
class: "td-title"
|
|
3847
3906
|
}, [
|
|
3848
|
-
|
|
3907
|
+
se("Swell height"),
|
|
3849
3908
|
s("span", { class: "unit" }, "m")
|
|
3850
3909
|
], -1)),
|
|
3851
|
-
(r(!0), l(
|
|
3852
|
-
key: `${i}${
|
|
3910
|
+
(r(!0), l(ue, null, fe(t.hoursTableData.swellHeight, (i, g) => (r(), l("td", {
|
|
3911
|
+
key: `${i}${g}swellHeight`,
|
|
3853
3912
|
rowspan: "1",
|
|
3854
3913
|
colspan: "1",
|
|
3855
|
-
class:
|
|
3856
|
-
},
|
|
3914
|
+
class: ye(t.activeIndex === g ? "active" : "")
|
|
3915
|
+
}, m(i), 3))), 128))
|
|
3857
3916
|
]),
|
|
3858
|
-
s("tr",
|
|
3917
|
+
s("tr", ps, [
|
|
3859
3918
|
e[36] || (e[36] = s("td", {
|
|
3860
3919
|
rowspan: "1",
|
|
3861
3920
|
colspan: "1",
|
|
3862
3921
|
class: "td-title"
|
|
3863
3922
|
}, [
|
|
3864
|
-
|
|
3923
|
+
se("Swell direction"),
|
|
3865
3924
|
s("span", { class: "unit" })
|
|
3866
3925
|
], -1)),
|
|
3867
|
-
(r(!0), l(
|
|
3868
|
-
key: `${i}${
|
|
3926
|
+
(r(!0), l(ue, null, fe(t.hoursTableData.swellDir, (i, g) => (r(), l("td", {
|
|
3927
|
+
key: `${i}${g}swellDir`,
|
|
3869
3928
|
rowspan: "1",
|
|
3870
3929
|
colspan: "1",
|
|
3871
|
-
class:
|
|
3930
|
+
class: ye(t.activeIndex === g ? "active" : "")
|
|
3872
3931
|
}, [
|
|
3873
|
-
isNaN(i) ? (r(), l("span",
|
|
3932
|
+
isNaN(i) ? (r(), l("span", us, "-")) : (r(), l("span", {
|
|
3874
3933
|
key: 0,
|
|
3875
3934
|
class: "iconfont icon",
|
|
3876
|
-
style:
|
|
3935
|
+
style: Le({ display: "inline-block", transform: `rotate(${i}deg)` })
|
|
3877
3936
|
}, "", 4))
|
|
3878
3937
|
], 2))), 128))
|
|
3879
3938
|
]),
|
|
3880
|
-
s("tr",
|
|
3939
|
+
s("tr", fs, [
|
|
3881
3940
|
e[37] || (e[37] = s("td", {
|
|
3882
3941
|
rowspan: "1",
|
|
3883
3942
|
colspan: "1",
|
|
3884
3943
|
class: "td-title"
|
|
3885
3944
|
}, [
|
|
3886
|
-
|
|
3945
|
+
se("Swell period"),
|
|
3887
3946
|
s("span", { class: "unit" }, "s")
|
|
3888
3947
|
], -1)),
|
|
3889
|
-
(r(!0), l(
|
|
3890
|
-
key: `${i}${
|
|
3948
|
+
(r(!0), l(ue, null, fe(t.hoursTableData.swellPeriod, (i, g) => (r(), l("td", {
|
|
3949
|
+
key: `${i}${g}swellPeriod`,
|
|
3891
3950
|
rowspan: "1",
|
|
3892
3951
|
colspan: "1",
|
|
3893
|
-
class:
|
|
3894
|
-
},
|
|
3952
|
+
class: ye(t.activeIndex === g ? "active" : "")
|
|
3953
|
+
}, m(i), 3))), 128))
|
|
3895
3954
|
]),
|
|
3896
|
-
s("tr",
|
|
3955
|
+
s("tr", ys, [
|
|
3897
3956
|
e[38] || (e[38] = s("td", {
|
|
3898
3957
|
rowspan: "1",
|
|
3899
3958
|
colspan: "1",
|
|
3900
3959
|
class: "td-title"
|
|
3901
3960
|
}, [
|
|
3902
|
-
|
|
3961
|
+
se("Sig wave height"),
|
|
3903
3962
|
s("span", { class: "unit" }, "m")
|
|
3904
3963
|
], -1)),
|
|
3905
|
-
(r(!0), l(
|
|
3906
|
-
key: `${i}${
|
|
3964
|
+
(r(!0), l(ue, null, fe(t.hoursTableData.sigwaveHeight, (i, g) => (r(), l("td", {
|
|
3965
|
+
key: `${i}${g}sigwaveHeight`,
|
|
3907
3966
|
rowspan: "1",
|
|
3908
3967
|
colspan: "1",
|
|
3909
|
-
class:
|
|
3910
|
-
},
|
|
3968
|
+
class: ye(t.activeIndex === g ? "active" : "")
|
|
3969
|
+
}, m(i), 3))), 128))
|
|
3911
3970
|
]),
|
|
3912
|
-
s("tr",
|
|
3971
|
+
s("tr", vs, [
|
|
3913
3972
|
e[39] || (e[39] = s("td", {
|
|
3914
3973
|
rowspan: "1",
|
|
3915
3974
|
colspan: "1",
|
|
3916
3975
|
class: "td-title"
|
|
3917
3976
|
}, [
|
|
3918
|
-
|
|
3977
|
+
se("Current direction"),
|
|
3919
3978
|
s("span", { class: "unit" })
|
|
3920
3979
|
], -1)),
|
|
3921
|
-
(r(!0), l(
|
|
3922
|
-
key: `${i}${
|
|
3980
|
+
(r(!0), l(ue, null, fe(t.hoursTableData.currentDir, (i, g) => (r(), l("td", {
|
|
3981
|
+
key: `${i}${g}currentDir`,
|
|
3923
3982
|
rowspan: "1",
|
|
3924
3983
|
colspan: "1",
|
|
3925
|
-
class:
|
|
3984
|
+
class: ye(t.activeIndex === g ? "active" : "")
|
|
3926
3985
|
}, [
|
|
3927
|
-
isNaN(i) ? (r(), l("span",
|
|
3986
|
+
isNaN(i) ? (r(), l("span", Ds, "-")) : (r(), l("span", {
|
|
3928
3987
|
key: 0,
|
|
3929
3988
|
class: "iconfont icon",
|
|
3930
|
-
style:
|
|
3989
|
+
style: Le({ display: "inline-block", transform: `rotate(${i}deg)` })
|
|
3931
3990
|
}, "", 4))
|
|
3932
3991
|
], 2))), 128))
|
|
3933
3992
|
]),
|
|
3934
|
-
s("tr",
|
|
3993
|
+
s("tr", xs, [
|
|
3935
3994
|
e[40] || (e[40] = s("td", {
|
|
3936
3995
|
rowspan: "1",
|
|
3937
3996
|
colspan: "1",
|
|
3938
3997
|
class: "td-title"
|
|
3939
3998
|
}, [
|
|
3940
|
-
|
|
3999
|
+
se("Current speed"),
|
|
3941
4000
|
s("span", { class: "unit" }, "kts")
|
|
3942
4001
|
], -1)),
|
|
3943
|
-
(r(!0), l(
|
|
3944
|
-
key: `${i}${
|
|
4002
|
+
(r(!0), l(ue, null, fe(t.hoursTableData.currentSpeed, (i, g) => (r(), l("td", {
|
|
4003
|
+
key: `${i}${g}currentSpeed`,
|
|
3945
4004
|
rowspan: "1",
|
|
3946
4005
|
colspan: "1",
|
|
3947
|
-
class:
|
|
3948
|
-
},
|
|
4006
|
+
class: ye(t.activeIndex === g ? "active" : "")
|
|
4007
|
+
}, m(i), 3))), 128))
|
|
3949
4008
|
])
|
|
3950
4009
|
]),
|
|
3951
4010
|
e[44] || (e[44] = s("div", { style: { "text-align": "center", padding: "3px" } }, null, -1)),
|
|
3952
|
-
s("table",
|
|
3953
|
-
s("tr",
|
|
4011
|
+
s("table", Bs, [
|
|
4012
|
+
s("tr", bs, [
|
|
3954
4013
|
e[41] || (e[41] = s("td", {
|
|
3955
4014
|
rowspan: "1",
|
|
3956
4015
|
colspan: "1",
|
|
3957
4016
|
class: "td-title"
|
|
3958
4017
|
}, [
|
|
3959
|
-
|
|
4018
|
+
se("Sea level height"),
|
|
3960
4019
|
s("span", { class: "unit" }, "m")
|
|
3961
4020
|
], -1)),
|
|
3962
|
-
(r(!0), l(
|
|
3963
|
-
key: `${i}${
|
|
4021
|
+
(r(!0), l(ue, null, fe(t.hoursTableData.seaLevel, (i, g) => (r(), l("td", {
|
|
4022
|
+
key: `${i}${g}seaLevel`,
|
|
3964
4023
|
rowspan: "1",
|
|
3965
4024
|
colspan: "1",
|
|
3966
|
-
class:
|
|
3967
|
-
},
|
|
4025
|
+
class: ye(t.activeIndex === g ? "active" : "")
|
|
4026
|
+
}, m(i), 3))), 128))
|
|
3968
4027
|
]),
|
|
3969
|
-
s("tr",
|
|
4028
|
+
s("tr", Cs, [
|
|
3970
4029
|
e[42] || (e[42] = s("td", {
|
|
3971
4030
|
rowspan: "1",
|
|
3972
4031
|
colspan: "1",
|
|
3973
4032
|
class: "td-title"
|
|
3974
4033
|
}, [
|
|
3975
|
-
|
|
4034
|
+
se("Sea surface temperature"),
|
|
3976
4035
|
s("span", { class: "unit" }, "°C")
|
|
3977
4036
|
], -1)),
|
|
3978
|
-
(r(!0), l(
|
|
3979
|
-
key: `${i}${
|
|
4037
|
+
(r(!0), l(ue, null, fe(t.hoursTableData.seaTemp, (i, g) => (r(), l("td", {
|
|
4038
|
+
key: `${i}${g}seaTemp`,
|
|
3980
4039
|
rowspan: "1",
|
|
3981
4040
|
colspan: "1",
|
|
3982
|
-
class:
|
|
3983
|
-
},
|
|
4041
|
+
class: ye(t.activeIndex === g ? "active" : "")
|
|
4042
|
+
}, m(i), 3))), 128))
|
|
3984
4043
|
])
|
|
3985
4044
|
])
|
|
3986
|
-
])) : (
|
|
4045
|
+
])) : (S = t.loading) != null && S.hoursTable ? (r(), l("div", Is, e[45] || (e[45] = [
|
|
3987
4046
|
s("img", {
|
|
3988
4047
|
style: { height: "200px" },
|
|
3989
|
-
src:
|
|
4048
|
+
src: Oe
|
|
3990
4049
|
}, null, -1)
|
|
3991
|
-
]))) : (r(), l("div",
|
|
3992
|
-
])) :
|
|
3993
|
-
t.menuIndex === 3 ? (r(), l("div",
|
|
3994
|
-
(T = t.position) != null && T.name && a.token && !((P = t.loading) != null && P.daysTable) ? (r(), l("div",
|
|
4050
|
+
]))) : (r(), l("div", Es, "No Data"))
|
|
4051
|
+
])) : Ne("", !0),
|
|
4052
|
+
t.menuIndex === 3 ? (r(), l("div", Qs, [
|
|
4053
|
+
(T = t.position) != null && T.name && a.token && !((P = t.loading) != null && P.daysTable) ? (r(), l("div", Ms, [
|
|
3995
4054
|
e[57] || (e[57] = s("div", { class: "date" }, "Daily Forecast", -1)),
|
|
3996
|
-
s("table",
|
|
4055
|
+
s("table", ks, [
|
|
3997
4056
|
e[55] || (e[55] = s("tr", { class: "day tr-title" }, [
|
|
3998
4057
|
s("th", {
|
|
3999
4058
|
rowspan: "1",
|
|
@@ -4088,92 +4147,92 @@ function Pa(n, e, a, h, t, o) {
|
|
|
4088
4147
|
style: { width: "75px" }
|
|
4089
4148
|
}, "Sig.wave_max")
|
|
4090
4149
|
], -1)),
|
|
4091
|
-
(r(!0), l(
|
|
4150
|
+
(r(!0), l(ue, null, fe(t.daysTableData, (i) => (r(), l("tr", {
|
|
4092
4151
|
key: Math.random() + i.localDate,
|
|
4093
4152
|
class: "text border-bottom"
|
|
4094
4153
|
}, [
|
|
4095
|
-
s("td",
|
|
4096
|
-
s("div", null,
|
|
4097
|
-
s("div", null,
|
|
4154
|
+
s("td", Ls, [
|
|
4155
|
+
s("div", null, m(i.localWeek), 1),
|
|
4156
|
+
s("div", null, m(i.localDate), 1)
|
|
4098
4157
|
]),
|
|
4099
|
-
s("td",
|
|
4158
|
+
s("td", zs, [
|
|
4100
4159
|
i.weatherUrl ? (r(), l("img", {
|
|
4101
4160
|
key: 0,
|
|
4102
4161
|
class: "iconfont weather-icon",
|
|
4103
4162
|
style: { width: "34px", height: "34px" },
|
|
4104
4163
|
src: i.weatherUrl
|
|
4105
|
-
}, null, 8,
|
|
4164
|
+
}, null, 8, Hs)) : Ne("", !0)
|
|
4106
4165
|
]),
|
|
4107
|
-
s("td",
|
|
4108
|
-
s("td",
|
|
4109
|
-
|
|
4166
|
+
s("td", Ps, m(i.weatherName), 1),
|
|
4167
|
+
s("td", Ns, [
|
|
4168
|
+
se(m(i.minTemp) + " / " + m(i.maxTemp), 1),
|
|
4110
4169
|
e[46] || (e[46] = s("span", { class: "unit" }, "°C", -1))
|
|
4111
4170
|
]),
|
|
4112
|
-
s("td",
|
|
4113
|
-
|
|
4171
|
+
s("td", Ts, [
|
|
4172
|
+
se(m(i.precipSum), 1),
|
|
4114
4173
|
e[47] || (e[47] = s("span", { class: "unit" }, "mm", -1))
|
|
4115
4174
|
]),
|
|
4116
|
-
s("td",
|
|
4117
|
-
|
|
4175
|
+
s("td", Gs, [
|
|
4176
|
+
se(m(i.precipRainSum), 1),
|
|
4118
4177
|
e[48] || (e[48] = s("span", { class: "unit" }, "mm", -1))
|
|
4119
4178
|
]),
|
|
4120
|
-
s("td",
|
|
4121
|
-
|
|
4179
|
+
s("td", Ss, [
|
|
4180
|
+
se(m(i.precipSnowfallSum), 1),
|
|
4122
4181
|
e[49] || (e[49] = s("span", { class: "unit" }, "mm", -1))
|
|
4123
4182
|
]),
|
|
4124
|
-
s("td",
|
|
4125
|
-
s("span", null,
|
|
4183
|
+
s("td", Fs, [
|
|
4184
|
+
s("span", null, m(i.windSpeedMax), 1),
|
|
4126
4185
|
e[50] || (e[50] = s("span", { class: "unit" }, "kts", -1)),
|
|
4127
4186
|
!isNaN(i.windSpeedDir) && !isNaN(i.windSpeedMax) ? (r(), l("span", {
|
|
4128
4187
|
key: 0,
|
|
4129
4188
|
class: "iconfont icon",
|
|
4130
|
-
style:
|
|
4131
|
-
}, "", 4)) : (r(), l("span",
|
|
4189
|
+
style: Le({ display: "inline-block", transform: `rotate(${i.windSpeedDir}deg)` })
|
|
4190
|
+
}, "", 4)) : (r(), l("span", Os, "-"))
|
|
4132
4191
|
]),
|
|
4133
|
-
s("td",
|
|
4134
|
-
s("span", null,
|
|
4192
|
+
s("td", _s, [
|
|
4193
|
+
s("span", null, m(i.gustSpeedMax), 1),
|
|
4135
4194
|
e[51] || (e[51] = s("span", { class: "unit" }, "kts", -1))
|
|
4136
4195
|
]),
|
|
4137
|
-
s("td",
|
|
4138
|
-
s("span", null,
|
|
4196
|
+
s("td", Ys, [
|
|
4197
|
+
s("span", null, m(i.windWaveHeight), 1),
|
|
4139
4198
|
e[52] || (e[52] = s("span", { class: "unit" }, "m", -1)),
|
|
4140
4199
|
!isNaN(i.windWaveDir) && !isNaN(i.windWaveHeight) ? (r(), l("span", {
|
|
4141
4200
|
key: 0,
|
|
4142
4201
|
class: "iconfont icon",
|
|
4143
|
-
style:
|
|
4144
|
-
}, "", 4)) : (r(), l("span",
|
|
4202
|
+
style: Le({ display: "inline-block", transform: `rotate(${i.windWaveDir}deg)` })
|
|
4203
|
+
}, "", 4)) : (r(), l("span", js, "-"))
|
|
4145
4204
|
]),
|
|
4146
|
-
s("td",
|
|
4147
|
-
s("span", null,
|
|
4205
|
+
s("td", Ks, [
|
|
4206
|
+
s("span", null, m(i.swellWaveHeight), 1),
|
|
4148
4207
|
e[53] || (e[53] = s("span", { class: "unit" }, "m", -1)),
|
|
4149
4208
|
!isNaN(i.swellWaveDir) && !isNaN(i.swellWaveHeight) ? (r(), l("span", {
|
|
4150
4209
|
key: 0,
|
|
4151
4210
|
class: "iconfont icon",
|
|
4152
|
-
style:
|
|
4153
|
-
}, "", 4)) : (r(), l("span",
|
|
4211
|
+
style: Le({ display: "inline-block", transform: `rotate(${i.swellWaveDir}deg)` })
|
|
4212
|
+
}, "", 4)) : (r(), l("span", Us, "-"))
|
|
4154
4213
|
]),
|
|
4155
|
-
s("td",
|
|
4156
|
-
s("span", null,
|
|
4214
|
+
s("td", Rs, [
|
|
4215
|
+
s("span", null, m(i.sigWaveHeight), 1),
|
|
4157
4216
|
e[54] || (e[54] = s("span", { class: "unit" }, "m", -1)),
|
|
4158
4217
|
!isNaN(i.sigWaveDir) && !isNaN(i.sigWaveHeight) ? (r(), l("span", {
|
|
4159
4218
|
key: 0,
|
|
4160
4219
|
class: "iconfont icon",
|
|
4161
|
-
style:
|
|
4162
|
-
}, "", 4)) : (r(), l("span",
|
|
4220
|
+
style: Le({ display: "inline-block", transform: `rotate(${i.sigWaveDir}deg)` })
|
|
4221
|
+
}, "", 4)) : (r(), l("span", Ws, "-"))
|
|
4163
4222
|
])
|
|
4164
4223
|
]))), 128))
|
|
4165
4224
|
])
|
|
4166
|
-
])) : (
|
|
4225
|
+
])) : (u = t.loading) != null && u.daysTable ? (r(), l("div", Xs, e[58] || (e[58] = [
|
|
4167
4226
|
s("img", {
|
|
4168
4227
|
style: { height: "200px" },
|
|
4169
|
-
src:
|
|
4228
|
+
src: Oe
|
|
4170
4229
|
}, null, -1)
|
|
4171
|
-
]))) : (r(), l("div",
|
|
4172
|
-
])) :
|
|
4173
|
-
t.menuIndex === 1 || t.menuIndex === 3 ? (r(), l("div",
|
|
4174
|
-
(
|
|
4230
|
+
]))) : (r(), l("div", qs, "No Data"))
|
|
4231
|
+
])) : Ne("", !0),
|
|
4232
|
+
t.menuIndex === 1 || t.menuIndex === 3 ? (r(), l("div", Js, [
|
|
4233
|
+
(G = t.position) != null && G.name && a.token && !((M = t.loading) != null && M.hourlyTable) ? (r(), l("div", Zs, [
|
|
4175
4234
|
e[61] || (e[61] = s("div", { class: "date" }, "Hourly Forecast", -1)),
|
|
4176
|
-
s("table",
|
|
4235
|
+
s("table", Vs, [
|
|
4177
4236
|
e[59] || (e[59] = s("tr", { class: "day tr-title" }, [
|
|
4178
4237
|
s("th", {
|
|
4179
4238
|
rowspan: "2",
|
|
@@ -4315,131 +4374,131 @@ function Pa(n, e, a, h, t, o) {
|
|
|
4315
4374
|
class: "border"
|
|
4316
4375
|
}, "Temp(°C)")
|
|
4317
4376
|
], -1)),
|
|
4318
|
-
(r(!0), l(
|
|
4377
|
+
(r(!0), l(ue, null, fe(t.hourlyTableData, (i) => (r(), l("tr", {
|
|
4319
4378
|
key: Math.random() + i.localDate,
|
|
4320
4379
|
class: "text border-bottom"
|
|
4321
4380
|
}, [
|
|
4322
|
-
s("td",
|
|
4323
|
-
s("div", null,
|
|
4381
|
+
s("td", $s, [
|
|
4382
|
+
s("div", null, m(i.localDate), 1)
|
|
4324
4383
|
]),
|
|
4325
|
-
s("td",
|
|
4326
|
-
s("div", null,
|
|
4384
|
+
s("td", ea, [
|
|
4385
|
+
s("div", null, m(i.temp), 1)
|
|
4327
4386
|
]),
|
|
4328
|
-
s("td",
|
|
4329
|
-
s("td",
|
|
4330
|
-
s("td",
|
|
4331
|
-
|
|
4387
|
+
s("td", ta, m(i.precipSum), 1),
|
|
4388
|
+
s("td", sa, m(i.visibility), 1),
|
|
4389
|
+
s("td", aa, [
|
|
4390
|
+
se(m(i.windDir) + " ", 1),
|
|
4332
4391
|
!isNaN(i.windBearing) && i.windDir ? (r(), l("span", {
|
|
4333
4392
|
key: 0,
|
|
4334
4393
|
class: "iconfont icon",
|
|
4335
|
-
style:
|
|
4336
|
-
}, "", 4)) : (r(), l("span",
|
|
4394
|
+
style: Le({ display: "inline-block", transform: `rotate(${i.windBearing}deg)` })
|
|
4395
|
+
}, "", 4)) : (r(), l("span", ia, "-"))
|
|
4337
4396
|
]),
|
|
4338
|
-
s("td",
|
|
4339
|
-
s("td",
|
|
4340
|
-
s("td",
|
|
4341
|
-
s("td",
|
|
4342
|
-
|
|
4397
|
+
s("td", oa, m(i.windSpeed), 1),
|
|
4398
|
+
s("td", na, m(i.windBF), 1),
|
|
4399
|
+
s("td", ra, m(i.windGusts), 1),
|
|
4400
|
+
s("td", la, [
|
|
4401
|
+
se(m(i.windWaveDir) + " ", 1),
|
|
4343
4402
|
!isNaN(i.windWaveBearing) && i.windWaveDir ? (r(), l("span", {
|
|
4344
4403
|
key: 0,
|
|
4345
4404
|
class: "iconfont icon",
|
|
4346
|
-
style:
|
|
4347
|
-
}, "", 4)) : (r(), l("span",
|
|
4405
|
+
style: Le({ display: "inline-block", transform: `rotate(${i.windWaveBearing}deg)` })
|
|
4406
|
+
}, "", 4)) : (r(), l("span", Aa, "-"))
|
|
4348
4407
|
]),
|
|
4349
|
-
s("td",
|
|
4350
|
-
s("td",
|
|
4351
|
-
s("td",
|
|
4352
|
-
|
|
4408
|
+
s("td", ha, m(i.windWaveHeight), 1),
|
|
4409
|
+
s("td", da, m(i.windWavePeriod), 1),
|
|
4410
|
+
s("td", ga, [
|
|
4411
|
+
se(m(i.sigWaveDir) + " ", 1),
|
|
4353
4412
|
!isNaN(i.sigWaveBearing) && i.sigWaveDir ? (r(), l("span", {
|
|
4354
4413
|
key: 0,
|
|
4355
4414
|
class: "iconfont icon",
|
|
4356
|
-
style:
|
|
4357
|
-
}, "", 4)) : (r(), l("span",
|
|
4415
|
+
style: Le({ display: "inline-block", transform: `rotate(${i.sigWaveBearing}deg)` })
|
|
4416
|
+
}, "", 4)) : (r(), l("span", ca, "-"))
|
|
4358
4417
|
]),
|
|
4359
|
-
s("td",
|
|
4360
|
-
s("td",
|
|
4361
|
-
s("td",
|
|
4362
|
-
|
|
4418
|
+
s("td", wa, m(i.sigWaveHeight), 1),
|
|
4419
|
+
s("td", ma, m(i.sigWavePeriod), 1),
|
|
4420
|
+
s("td", pa, [
|
|
4421
|
+
se(m(i.currentDir) + " ", 1),
|
|
4363
4422
|
!isNaN(i.currentBearing) && i.currentDir ? (r(), l("span", {
|
|
4364
4423
|
key: 0,
|
|
4365
4424
|
class: "iconfont icon",
|
|
4366
|
-
style:
|
|
4367
|
-
}, "", 4)) : (r(), l("span",
|
|
4425
|
+
style: Le({ display: "inline-block", transform: `rotate(${i.currentBearing}deg)` })
|
|
4426
|
+
}, "", 4)) : (r(), l("span", ua, "-"))
|
|
4368
4427
|
]),
|
|
4369
|
-
s("td",
|
|
4370
|
-
s("td",
|
|
4371
|
-
s("td",
|
|
4428
|
+
s("td", fa, m(i.currentSpd), 1),
|
|
4429
|
+
s("td", ya, m(i.seaLevel), 1),
|
|
4430
|
+
s("td", va, m(i.seaSurfaceTemp), 1)
|
|
4372
4431
|
]))), 128))
|
|
4373
4432
|
])
|
|
4374
|
-
])) : (
|
|
4433
|
+
])) : (k = t.loading) != null && k.hourlyTable ? (r(), l("div", Da, e[62] || (e[62] = [
|
|
4375
4434
|
s("img", {
|
|
4376
4435
|
style: { height: "200px" },
|
|
4377
|
-
src:
|
|
4436
|
+
src: Oe
|
|
4378
4437
|
}, null, -1)
|
|
4379
|
-
]))) : (r(), l("div",
|
|
4380
|
-
])) :
|
|
4381
|
-
t.menuIndex === 4 ? (r(), l("div",
|
|
4382
|
-
(D = t.position) != null && D.name && a.token && !((
|
|
4383
|
-
s("div",
|
|
4438
|
+
]))) : (r(), l("div", xa, "No Data"))
|
|
4439
|
+
])) : Ne("", !0),
|
|
4440
|
+
t.menuIndex === 4 ? (r(), l("div", Ba, [
|
|
4441
|
+
(D = t.position) != null && D.name && a.token && !((re = t.loading) != null && re.seasonalEchart) ? (r(), l("div", ba, [
|
|
4442
|
+
s("div", Ca, [
|
|
4384
4443
|
s("div", {
|
|
4385
4444
|
id: "seasonal-title",
|
|
4386
4445
|
class: "title flex-start",
|
|
4387
4446
|
onClick: e[11] || (e[11] = (i) => t.seasonalData.showMonths = !t.seasonalData.showMonths)
|
|
4388
4447
|
}, [
|
|
4389
|
-
s("div",
|
|
4390
|
-
s("div",
|
|
4391
|
-
|
|
4392
|
-
default:
|
|
4393
|
-
|
|
4448
|
+
s("div", Ia, m((c = (ie = (le = t.currentMonth) == null ? void 0 : le.month) == null ? void 0 : ie.split("-")) == null ? void 0 : c[0]) + " " + m((z = (E = (ve = t.currentMonth) == null ? void 0 : ve.month) == null ? void 0 : E.split("-")) == null ? void 0 : z[1]), 1),
|
|
4449
|
+
s("div", Ea, [
|
|
4450
|
+
ke(Q, null, {
|
|
4451
|
+
default: Pe(() => [
|
|
4452
|
+
ke(C)
|
|
4394
4453
|
]),
|
|
4395
4454
|
_: 1
|
|
4396
4455
|
})
|
|
4397
4456
|
]),
|
|
4398
|
-
|
|
4399
|
-
s("div",
|
|
4400
|
-
(r(!0), l(
|
|
4401
|
-
var
|
|
4457
|
+
Ze(s("div", Qa, [
|
|
4458
|
+
s("div", Ma, [
|
|
4459
|
+
(r(!0), l(ue, null, fe(t.monthsOptions, (i) => {
|
|
4460
|
+
var g;
|
|
4402
4461
|
return r(), l("div", {
|
|
4403
4462
|
key: i,
|
|
4404
|
-
class:
|
|
4405
|
-
onClick: (
|
|
4406
|
-
},
|
|
4463
|
+
class: ye(["month-option", ((g = t.currentMonth) == null ? void 0 : g.month) === i.month ? "active" : ""]),
|
|
4464
|
+
onClick: (me) => o.handleSelectMonth(i)
|
|
4465
|
+
}, m(i.month), 11, ka);
|
|
4407
4466
|
}), 128))
|
|
4408
4467
|
])
|
|
4409
4468
|
], 512), [
|
|
4410
|
-
[
|
|
4469
|
+
[Ve, t.seasonalData.showMonths]
|
|
4411
4470
|
])
|
|
4412
4471
|
]),
|
|
4413
4472
|
e[63] || (e[63] = s("div", { id: "temperature-echart" }, null, -1)),
|
|
4414
4473
|
e[64] || (e[64] = s("div", { id: "wind-precip-echart" }, null, -1))
|
|
4415
4474
|
]),
|
|
4416
|
-
s("div",
|
|
4417
|
-
s("div",
|
|
4475
|
+
s("div", La, [
|
|
4476
|
+
s("div", za, m((F = t.currentMonth) == null ? void 0 : F.month) + " Summary", 1),
|
|
4418
4477
|
e[65] || (e[65] = s("div", { class: "label" }, "Temperature", -1)),
|
|
4419
|
-
s("div",
|
|
4420
|
-
s("div",
|
|
4421
|
-
s("div",
|
|
4422
|
-
s("div",
|
|
4478
|
+
s("div", Ha, "Avg High Temp: " + m(t.seasonalData.minHighTemp) + " to " + m(t.seasonalData.maxHighTemp) + " °C", 1),
|
|
4479
|
+
s("div", Pa, "Avg Low Temp: " + m(t.seasonalData.minLowTemp) + " to " + m(t.seasonalData.maxLowTemp) + " °C", 1),
|
|
4480
|
+
s("div", Na, "Hottest Day: " + m(t.seasonalData.hottestDay), 1),
|
|
4481
|
+
s("div", Ta, "Coldest Day: " + m(t.seasonalData.coldestDay), 1),
|
|
4423
4482
|
e[66] || (e[66] = s("div", { class: "label" }, "Precipitation", -1)),
|
|
4424
|
-
s("div",
|
|
4425
|
-
s("div",
|
|
4426
|
-
s("div",
|
|
4427
|
-
s("div",
|
|
4428
|
-
s("div",
|
|
4483
|
+
s("div", Ga, "Light (<10mm): " + m((Ae = (A = (pe = t.seasonalData) == null ? void 0 : pe.precip) == null ? void 0 : A.filter((i) => i < 10)) == null ? void 0 : Ae.length) + " days", 1),
|
|
4484
|
+
s("div", Sa, "Moderate (<=24.9mm): " + m((he = (ge = (ne = t.seasonalData) == null ? void 0 : ne.precip) == null ? void 0 : ge.filter((i) => i >= 10 && i < 24.9)) == null ? void 0 : he.length) + " days", 1),
|
|
4485
|
+
s("div", Fa, "Heavy (<=49.9mm): " + m((de = (Be = (Ce = t.seasonalData) == null ? void 0 : Ce.precip) == null ? void 0 : Be.filter((i) => i >= 24.9 && i < 49.9)) == null ? void 0 : de.length) + " days", 1),
|
|
4486
|
+
s("div", Oa, "Rainstorm (<=99.9mm): " + m((be = (B = (ce = t.seasonalData) == null ? void 0 : ce.precip) == null ? void 0 : B.filter((i) => i >= 49.9 && i < 99.9)) == null ? void 0 : be.length) + " days", 1),
|
|
4487
|
+
s("div", _a, "Heavy Rainstorm (>=100mm): " + m((we = ($ = (O = t.seasonalData) == null ? void 0 : O.precip) == null ? void 0 : $.filter((i) => i >= 100)) == null ? void 0 : we.length) + " days", 1),
|
|
4429
4488
|
e[67] || (e[67] = s("div", { class: "label" }, "Wind", -1)),
|
|
4430
|
-
s("div",
|
|
4431
|
-
s("div",
|
|
4432
|
-
s("div",
|
|
4489
|
+
s("div", Ya, "Mean Wind: " + m(o.roundPrecision(t.seasonalData.meanWind, 1)) + " kts", 1),
|
|
4490
|
+
s("div", ja, "Windiest Day: " + m(t.seasonalData.windiestDay) + " ( " + m(t.seasonalData.maxWindSpeed) + "kts )", 1),
|
|
4491
|
+
s("div", Ka, "Dominant Wind Dir: " + m(t.seasonalData.dominantWind), 1)
|
|
4433
4492
|
])
|
|
4434
|
-
])) : (
|
|
4493
|
+
])) : (v = t.loading) != null && v.seasonalEchart ? (r(), l("div", Ua, e[68] || (e[68] = [
|
|
4435
4494
|
s("img", {
|
|
4436
4495
|
style: { height: "200px" },
|
|
4437
|
-
src:
|
|
4496
|
+
src: Oe
|
|
4438
4497
|
}, null, -1)
|
|
4439
|
-
]))) : (r(), l("div",
|
|
4440
|
-
])) :
|
|
4498
|
+
]))) : (r(), l("div", Ra, "No Data"))
|
|
4499
|
+
])) : Ne("", !0)
|
|
4441
4500
|
]),
|
|
4442
|
-
|
|
4501
|
+
ke(ae, {
|
|
4443
4502
|
modelValue: t.showFollowDialog,
|
|
4444
4503
|
"onUpdate:modelValue": e[14] || (e[14] = (i) => t.showFollowDialog = i),
|
|
4445
4504
|
title: t.followDialogTitle,
|
|
@@ -4450,47 +4509,47 @@ function Pa(n, e, a, h, t, o) {
|
|
|
4450
4509
|
class: "follow-dialog",
|
|
4451
4510
|
"close-on-click-modal": !1
|
|
4452
4511
|
}, {
|
|
4453
|
-
default:
|
|
4512
|
+
default: Pe(() => [
|
|
4454
4513
|
s("div", null, [
|
|
4455
4514
|
s("div", {
|
|
4456
4515
|
class: "iconfont close-btn",
|
|
4457
4516
|
onClick: e[12] || (e[12] = (i) => t.showFollowDialog = !1)
|
|
4458
4517
|
}, ""),
|
|
4459
|
-
t.position.portId ? (r(), l("div",
|
|
4518
|
+
t.position.portId ? (r(), l("div", Wa, [
|
|
4460
4519
|
e[69] || (e[69] = s("span", { class: "label" }, "Port:", -1)),
|
|
4461
|
-
s("span",
|
|
4462
|
-
])) :
|
|
4463
|
-
s("div",
|
|
4520
|
+
s("span", Xa, m(t.position.name), 1)
|
|
4521
|
+
])) : Ne("", !0),
|
|
4522
|
+
s("div", qa, [
|
|
4464
4523
|
e[70] || (e[70] = s("span", { class: "label" }, "Postion:", -1)),
|
|
4465
|
-
s("span",
|
|
4524
|
+
s("span", Ja, m(this.computeLat(this.position.lat) + ", " + this.computeLng(this.position.lng)), 1)
|
|
4466
4525
|
]),
|
|
4467
|
-
s("div",
|
|
4526
|
+
s("div", Za, [
|
|
4468
4527
|
e[71] || (e[71] = s("span", { class: "label" }, "Remark:", -1)),
|
|
4469
|
-
t.followItem ? (r(), l("span",
|
|
4528
|
+
t.followItem ? (r(), l("span", Va, m(t.position.remark || "-"), 1)) : (r(), Re(ee, {
|
|
4470
4529
|
key: 0,
|
|
4471
4530
|
modelValue: t.followRemark,
|
|
4472
4531
|
"onUpdate:modelValue": e[13] || (e[13] = (i) => t.followRemark = i),
|
|
4473
4532
|
class: "text"
|
|
4474
4533
|
}, null, 8, ["modelValue"]))
|
|
4475
4534
|
]),
|
|
4476
|
-
s("div",
|
|
4477
|
-
t.followItem ? (r(),
|
|
4535
|
+
s("div", $a, [
|
|
4536
|
+
t.followItem ? (r(), Re(te, {
|
|
4478
4537
|
key: 0,
|
|
4479
4538
|
type: "info",
|
|
4480
4539
|
plain: "",
|
|
4481
4540
|
onClick: o.handleClickFollow
|
|
4482
4541
|
}, {
|
|
4483
|
-
default:
|
|
4484
|
-
|
|
4542
|
+
default: Pe(() => e[72] || (e[72] = [
|
|
4543
|
+
se("Remove")
|
|
4485
4544
|
])),
|
|
4486
4545
|
_: 1
|
|
4487
|
-
}, 8, ["onClick"])) : (r(),
|
|
4546
|
+
}, 8, ["onClick"])) : (r(), Re(te, {
|
|
4488
4547
|
key: 1,
|
|
4489
4548
|
type: "primary",
|
|
4490
4549
|
onClick: o.handleClickFollow
|
|
4491
4550
|
}, {
|
|
4492
|
-
default:
|
|
4493
|
-
|
|
4551
|
+
default: Pe(() => e[73] || (e[73] = [
|
|
4552
|
+
se("Confirm")
|
|
4494
4553
|
])),
|
|
4495
4554
|
_: 1
|
|
4496
4555
|
}, 8, ["onClick"]))
|
|
@@ -4501,12 +4560,12 @@ function Pa(n, e, a, h, t, o) {
|
|
|
4501
4560
|
}, 8, ["modelValue", "title"])
|
|
4502
4561
|
]);
|
|
4503
4562
|
}
|
|
4504
|
-
const
|
|
4563
|
+
const ti = /* @__PURE__ */ Bt(bt, [["render", ei], ["__scopeId", "data-v-65cb2242"]]), li = {
|
|
4505
4564
|
install(n) {
|
|
4506
|
-
n.component("SpotReport",
|
|
4565
|
+
n.component("SpotReport", ti);
|
|
4507
4566
|
}
|
|
4508
4567
|
};
|
|
4509
4568
|
export {
|
|
4510
|
-
|
|
4511
|
-
|
|
4569
|
+
ti as SpotReport,
|
|
4570
|
+
li as SpotReportPlugin
|
|
4512
4571
|
};
|