@idmui/spot 0.2.1 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,567 +1,576 @@
1
- import X from "moment";
2
- import tt from "moment-timezone";
3
- import { Search as Mt } from "@element-plus/icons-vue";
4
- import { LngLatHelper as ut } from "@idm-plugin/geo";
5
- import * as wt from "echarts";
6
- import { markRaw as Ct, resolveComponent as gt, openBlock as o, createElementBlock as r, createElementVNode as i, createVNode as vt, withCtx as bt, Fragment as b, renderList as x, createBlock as Pt, toDisplayString as f, createTextVNode as _, normalizeClass as z, createCommentVNode as Ht, normalizeStyle as ct } from "vue";
7
- import kt from "axios";
8
- class Dt {
9
- static pickHourly(t, e) {
10
- var h, s, v, C, P, L, N, I, M, H, a, n, Q, K, S, T, R, E, A, G, F, O, B, V, U, Z, J, Y, w, k, p, y, D, g, j, et, at, rt, ot, W, st, m, it, u, lt, ht, dt, xt;
11
- const ft = typeof e == "string" ? X(e) : e, $ = t == null ? void 0 : t.weather, yt = t == null ? void 0 : t.marine, _t = X((s = (h = $ == null ? void 0 : $[0]) == null ? void 0 : h.hourly) == null ? void 0 : s.date).utc(), pt = _t.clone().add((P = (C = (v = $ == null ? void 0 : $[0]) == null ? void 0 : v.hourly) == null ? void 0 : C.time) == null ? void 0 : P.at(0), "h"), St = _t.clone().add((I = (N = (L = $ == null ? void 0 : $[0]) == null ? void 0 : L.hourly) == null ? void 0 : N.time) == null ? void 0 : I.at(-1), "h"), zt = [];
12
- if (ft.isBetween(pt, St, "millisecond", "[]")) {
13
- const d = ft.utc().diff(pt, "h", !1);
14
- let q, nt;
15
- if ($)
16
- for (const mt of $) {
17
- const c = mt.hourly;
18
- q = {
19
- temp: (M = c.temperature_2m) == null ? void 0 : M.at(d),
20
- apparentTemp: (H = c.apparent_temperature) == null ? void 0 : H.at(d),
21
- rh: (a = c.relative_humidity_2m) == null ? void 0 : a.at(d),
22
- dp: (n = c.dew_point_2m) == null ? void 0 : n.at(d),
1
+ import we from "moment";
2
+ import me from "moment-timezone";
3
+ import { Search as ze } from "@element-plus/icons-vue";
4
+ import { LngLatHelper as ve } from "@idm-plugin/geo";
5
+ import * as pe from "echarts";
6
+ import { markRaw as Pe, resolveComponent as ye, openBlock as i, createElementBlock as o, createElementVNode as A, createVNode as Qe, withCtx as Ee, Fragment as K, renderList as U, createBlock as ke, normalizeClass as X, toDisplayString as D, createCommentVNode as De, createTextVNode as S, normalizeStyle as Be } from "vue";
7
+ import be from "axios";
8
+ class Ie {
9
+ static pickHourly(e, t) {
10
+ var n, s, C, L, H, Q, E, b, M, O, v, k, j, Y, x, z, N, G, T, F, a, l, J, R, W, q, V, Z, _, w, P, I, y, p, Ae, ee, te, r, ne, re, f, ae, d, $, ie, le, ce, de;
11
+ const fe = typeof t == "string" ? we(t) : t, he = e == null ? void 0 : e.weather, g = e == null ? void 0 : e.marine, oe = we((s = (n = he == null ? void 0 : he[0]) == null ? void 0 : n.hourly) == null ? void 0 : s.date).utc(), c = oe.clone().add((H = (L = (C = he == null ? void 0 : he[0]) == null ? void 0 : C.hourly) == null ? void 0 : L.time) == null ? void 0 : H.at(0), "h"), ue = oe.clone().add((b = (E = (Q = he == null ? void 0 : he[0]) == null ? void 0 : Q.hourly) == null ? void 0 : E.time) == null ? void 0 : b.at(-1), "h"), u = [];
12
+ if (fe.isBetween(c, ue, "millisecond", "[]")) {
13
+ const m = fe.utc().diff(c, "h", !1);
14
+ let se, ge;
15
+ if (he)
16
+ for (const Ce of he) {
17
+ const B = Ce.hourly;
18
+ se = {
19
+ temp: (M = B.temperature_2m) == null ? void 0 : M.at(m),
20
+ apparentTemp: (O = B.apparent_temperature) == null ? void 0 : O.at(m),
21
+ rh: (v = B.relative_humidity_2m) == null ? void 0 : v.at(m),
22
+ dp: (k = B.dew_point_2m) == null ? void 0 : k.at(m),
23
23
  precip: {
24
- probability: (Q = c.precipitation_probability) == null ? void 0 : Q.at(d),
25
- sum: (K = c.precipitation) == null ? void 0 : K.at(d)
24
+ probability: (j = B.precipitation_probability) == null ? void 0 : j.at(m),
25
+ sum: (Y = B.precipitation) == null ? void 0 : Y.at(m)
26
26
  },
27
- pmsl: (S = c.pressure_msl) == null ? void 0 : S.at(d),
28
- psurf: (T = c.surface_pressure) == null ? void 0 : T.at(d),
29
- code: (R = c.weather_code) == null ? void 0 : R.at(d),
30
- visibility: this.m2nm((E = c.visibility) == null ? void 0 : E.at(d)),
27
+ pmsl: (x = B.pressure_msl) == null ? void 0 : x.at(m),
28
+ psurf: (z = B.surface_pressure) == null ? void 0 : z.at(m),
29
+ code: (N = B.weather_code) == null ? void 0 : N.at(m),
30
+ visibility: this.m2nm((G = B.visibility) == null ? void 0 : G.at(m)),
31
31
  wind: {
32
- speed: (A = c.wind_speed_10m) == null ? void 0 : A.at(d),
33
- kts: (G = c.wind_speed_10m) == null ? void 0 : G.at(d),
34
- degree: (F = c.wind_direction_10m) == null ? void 0 : F.at(d),
35
- bearing: ((O = c.wind_direction_10m) == null ? void 0 : O.at(d)) !== null ? (((B = c.wind_direction_10m) == null ? void 0 : B.at(d)) + 180) % 360 : null,
36
- gusts: (V = c.wind_gusts_10m) == null ? void 0 : V.at(d)
32
+ speed: (T = B.wind_speed_10m) == null ? void 0 : T.at(m),
33
+ kts: (F = B.wind_speed_10m) == null ? void 0 : F.at(m),
34
+ degree: (a = B.wind_direction_10m) == null ? void 0 : a.at(m),
35
+ bearing: ((l = B.wind_direction_10m) == null ? void 0 : l.at(m)) !== null ? (((J = B.wind_direction_10m) == null ? void 0 : J.at(m)) + 180) % 360 : null,
36
+ gusts: (R = B.wind_gusts_10m) == null ? void 0 : R.at(m)
37
37
  },
38
- isDay: (U = c.is_day) == null ? void 0 : U.at(d)
38
+ isDay: (W = B.is_day) == null ? void 0 : W.at(m)
39
39
  };
40
- const { name: Lt, url: Nt, bg: It } = this.parseWeatherCode(q.code, q.isDay);
41
- q.name = Lt, q.url = Nt, q.bg = It, q.wind.scale = this.beaufort(this.kts2ms(q.wind.kts)), q.wind.direction = this.degree2Direction(q.wind.degree);
40
+ const { name: Me, url: Le, bg: He } = this.parseWeatherCode(se.code, se.isDay);
41
+ se.name = Me, se.url = Le, se.bg = He, se.wind.scale = this.beaufort(this.kts2ms(se.wind.kts)), se.wind.direction = this.degree2Direction(se.wind.degree);
42
42
  }
43
- if (yt)
44
- for (const mt of yt) {
45
- const c = mt.hourly;
46
- nt = {
43
+ if (g)
44
+ for (const Ce of g) {
45
+ const B = Ce.hourly;
46
+ ge = {
47
47
  wave: {
48
48
  sig: {
49
- height: (Z = c.wave_height) == null ? void 0 : Z.at(d),
50
- degree: (J = c.wave_direction) == null ? void 0 : J.at(d),
51
- bearing: ((Y = c.wave_direction) == null ? void 0 : Y.at(d)) !== null ? (((w = c.wave_direction) == null ? void 0 : w.at(d)) + 180) % 360 : null,
52
- period: (k = c.wave_period) == null ? void 0 : k.at(d)
49
+ height: (q = B.wave_height) == null ? void 0 : q.at(m),
50
+ degree: (V = B.wave_direction) == null ? void 0 : V.at(m),
51
+ bearing: ((Z = B.wave_direction) == null ? void 0 : Z.at(m)) !== null ? (((_ = B.wave_direction) == null ? void 0 : _.at(m)) + 180) % 360 : null,
52
+ period: (w = B.wave_period) == null ? void 0 : w.at(m)
53
53
  },
54
54
  swell: {
55
- height: (p = c.swell_wave_height) == null ? void 0 : p.at(d),
56
- degree: (y = c.swell_wave_direction) == null ? void 0 : y.at(d),
57
- bearing: ((D = c.swell_wave_direction) == null ? void 0 : D.at(d)) !== null ? (((g = c.swell_wave_direction) == null ? void 0 : g.at(d)) + 180) % 360 : null,
58
- period: (j = c.swell_wave_period) == null ? void 0 : j.at(d),
59
- peakPeriod: (et = c.swell_wave_peak_period) == null ? void 0 : et.at(d)
55
+ height: (P = B.swell_wave_height) == null ? void 0 : P.at(m),
56
+ degree: (I = B.swell_wave_direction) == null ? void 0 : I.at(m),
57
+ bearing: ((y = B.swell_wave_direction) == null ? void 0 : y.at(m)) !== null ? (((p = B.swell_wave_direction) == null ? void 0 : p.at(m)) + 180) % 360 : null,
58
+ period: (Ae = B.swell_wave_period) == null ? void 0 : Ae.at(m),
59
+ peakPeriod: (ee = B.swell_wave_peak_period) == null ? void 0 : ee.at(m)
60
60
  },
61
61
  wd: {
62
- height: (at = c.wind_wave_height) == null ? void 0 : at.at(d),
63
- degree: (rt = c.wind_wave_direction) == null ? void 0 : rt.at(d),
64
- bearing: ((ot = c.wind_wave_direction) == null ? void 0 : ot.at(d)) !== null ? (((W = c.wind_wave_direction) == null ? void 0 : W.at(d)) + 180) % 360 : null,
65
- period: (st = c.wind_wave_period) == null ? void 0 : st.at(d),
66
- peakPeriod: (m = c.wind_wave_peak_period) == null ? void 0 : m.at(d)
62
+ height: (te = B.wind_wave_height) == null ? void 0 : te.at(m),
63
+ degree: (r = B.wind_wave_direction) == null ? void 0 : r.at(m),
64
+ bearing: ((ne = B.wind_wave_direction) == null ? void 0 : ne.at(m)) !== null ? (((re = B.wind_wave_direction) == null ? void 0 : re.at(m)) + 180) % 360 : null,
65
+ period: (f = B.wind_wave_period) == null ? void 0 : f.at(m),
66
+ peakPeriod: (ae = B.wind_wave_peak_period) == null ? void 0 : ae.at(m)
67
67
  }
68
68
  },
69
69
  current: {
70
- speed: (it = c.ocean_current_velocity) == null ? void 0 : it.at(d),
71
- kts: (u = c.ocean_current_velocity) == null ? void 0 : u.at(d),
72
- degree: (lt = c.ocean_current_direction) == null ? void 0 : lt.at(d),
73
- bearing: ((ht = c.ocean_current_direction) == null ? void 0 : ht.at(d)) ?? null
74
- },
75
- sst: (dt = c.sea_surface_temperature) == null ? void 0 : dt.at(d),
76
- height: (xt = c.sea_level_height_msl) == null ? void 0 : xt.at(d)
77
- }, nt.wave = this.parseWave(nt.wave), nt.current.direction = this.degree2Direction(nt.current.degree);
70
+ speed: (d = B.ocean_current_velocity) == null ? void 0 : d.at(m),
71
+ kts: ($ = B.ocean_current_velocity) == null ? void 0 : $.at(m),
72
+ degree: (ie = B.ocean_current_direction) == null ? void 0 : ie.at(m),
73
+ bearing: ((le = B.ocean_current_direction) == null ? void 0 : le.at(m)) ?? null
74
+ },
75
+ sst: (ce = B.sea_surface_temperature) == null ? void 0 : ce.at(m),
76
+ height: (de = B.sea_level_height_msl) == null ? void 0 : de.at(m)
77
+ }, ge.wave = this.parseWave(ge.wave), ge.current.direction = this.degree2Direction(ge.current.degree);
78
78
  }
79
- zt.push({
80
- utc: pt.add(d, "h").format(),
81
- weather: { ...q },
82
- ...nt
79
+ u.push({
80
+ utc: c.add(m, "h").format(),
81
+ weather: { ...se },
82
+ ...ge
83
83
  });
84
84
  }
85
- return zt;
85
+ return u;
86
86
  }
87
- static toLegacy(t) {
87
+ static toLegacy(e) {
88
+ var t, n, s, C, L, H, Q, E, b, M;
88
89
  return {
89
- wind: t.weather.wind,
90
- visibility: t.weather.visibility,
91
- temp: t.weather.temp,
92
- prmsl: t.weather.pmsl,
90
+ wind: (t = e == null ? void 0 : e.weather) == null ? void 0 : t.wind,
91
+ visibility: (n = e == null ? void 0 : e.weather) == null ? void 0 : n.visibility,
92
+ temp: (s = e == null ? void 0 : e.weather) == null ? void 0 : s.temp,
93
+ prmsl: (C = e == null ? void 0 : e.weather) == null ? void 0 : C.pmsl,
93
94
  gusts: {
94
- kts: t.weather.wind.gusts
95
+ kts: (H = (L = e == null ? void 0 : e.weather) == null ? void 0 : L.wind) == null ? void 0 : H.gusts
95
96
  },
96
- precip: t.weather.precip,
97
- code: t.weather.code,
98
- name: t.weather.name,
99
- url: t.weather.url,
100
- wave: t.wave,
101
- current: t.current,
102
- sst: t.sst,
103
- height: t.height,
104
- utc: t.utc
97
+ precip: (Q = e == null ? void 0 : e.weather) == null ? void 0 : Q.precip,
98
+ code: (E = e == null ? void 0 : e.weather) == null ? void 0 : E.code,
99
+ name: (b = e == null ? void 0 : e.weather) == null ? void 0 : b.name,
100
+ url: (M = e == null ? void 0 : e.weather) == null ? void 0 : M.url,
101
+ wave: e == null ? void 0 : e.wave,
102
+ current: e == null ? void 0 : e.current,
103
+ sst: e == null ? void 0 : e.sst,
104
+ height: e == null ? void 0 : e.height,
105
+ utc: e == null ? void 0 : e.utc
105
106
  };
106
107
  }
107
- static pickDaily(t, e) {
108
- var h, s, v, C, P, L, N, I, M, H, a, n, Q, K, S, T, R, E, A, G, F, O, B, V, U, Z, J, Y, w, k, p, y, D;
109
- const g = typeof e == "string" ? X(e) : e, j = t == null ? void 0 : t.weather, et = t == null ? void 0 : t.marine, at = X((v = (s = (h = j == null ? void 0 : j[0]) == null ? void 0 : h.daily) == null ? void 0 : s.time) == null ? void 0 : v.at(0)), rt = X((L = (P = (C = j == null ? void 0 : j[0]) == null ? void 0 : C.daily) == null ? void 0 : P.time) == null ? void 0 : L.at(-1)), ot = [];
110
- if (g.isBetween(at, rt, "millisecond", "[]")) {
111
- let W, st;
112
- const m = g.diff(at, "d", !1);
113
- if (j)
114
- for (const it of j) {
115
- const u = it.daily;
116
- W = {
117
- code: (N = u.weather_code) == null ? void 0 : N.at(m),
108
+ static pickDaily(e, t) {
109
+ var n, s, C, L, H, Q, E, b, M, O, v, k, j, Y, x, z, N, G, T, F, a, l, J, R, W, q, V, Z, _, w, P, I, y, p, Ae, ee, te, r, ne, re, f, ae, d, $;
110
+ const ie = typeof t == "string" ? we(t) : t, le = e == null ? void 0 : e.weather, ce = e == null ? void 0 : e.marine, de = we((C = (s = (n = le == null ? void 0 : le[0]) == null ? void 0 : n.daily) == null ? void 0 : s.time) == null ? void 0 : C.at(0)), fe = we((Q = (H = (L = le == null ? void 0 : le[0]) == null ? void 0 : L.daily) == null ? void 0 : H.time) == null ? void 0 : Q.at(-1)), he = [];
111
+ if (ie.isBetween(de, fe, "millisecond", "[]")) {
112
+ let g, oe;
113
+ const c = ie.diff(de, "d", !1);
114
+ if (le)
115
+ for (const ue of le) {
116
+ const u = ue.daily;
117
+ g = {
118
+ code: (E = u.weather_code) == null ? void 0 : E.at(c),
118
119
  temp: {
119
- max: (I = u.temperature_2m_max) == null ? void 0 : I.at(m),
120
- min: (M = u.temperature_2m_min) == null ? void 0 : M.at(m),
121
- mean: (H = u.temperature_2m_mean) == null ? void 0 : H.at(m)
120
+ max: (b = u.temperature_2m_max) == null ? void 0 : b.at(c),
121
+ min: (M = u.temperature_2m_min) == null ? void 0 : M.at(c),
122
+ mean: (O = u.temperature_2m_mean) == null ? void 0 : O.at(c)
122
123
  },
123
124
  apparentTemp: {
124
- max: (a = u.apparent_temperature_max) == null ? void 0 : a.at(m),
125
- min: (n = u.apparent_temperature_min) == null ? void 0 : n.at(m)
125
+ max: (v = u.apparent_temperature_max) == null ? void 0 : v.at(c),
126
+ min: (k = u.apparent_temperature_min) == null ? void 0 : k.at(c)
126
127
  },
127
128
  precip: {
128
- sum: (Q = u.precipitation_sum) == null ? void 0 : Q.at(m),
129
- hours: (K = u.precipitation_hours) == null ? void 0 : K.at(m),
130
- probability: (S = u.precipitation_probability_max) == null ? void 0 : S.at(m)
129
+ sum: (j = u.precipitation_sum) == null ? void 0 : j.at(c),
130
+ rainSum: (Y = u.rain_sum) == null ? void 0 : Y.at(c),
131
+ snowfallSum: (x = u.snowfall_sum) == null ? void 0 : x.at(c),
132
+ showersSum: (z = u.showers_sum) == null ? void 0 : z.at(c),
133
+ hours: (N = u.precipitation_hours) == null ? void 0 : N.at(c),
134
+ probability: (G = u.precipitation_probability_max) == null ? void 0 : G.at(c)
131
135
  },
132
136
  rh: {
133
- max: (T = u.relative_humidity_2m_max) == null ? void 0 : T.at(m),
134
- min: (R = u.relative_humidity_2m_min) == null ? void 0 : R.at(m),
135
- mean: (E = u.relative_humidity_2m_mean) == null ? void 0 : E.at(m)
137
+ max: (T = u.relative_humidity_2m_max) == null ? void 0 : T.at(c),
138
+ min: (F = u.relative_humidity_2m_min) == null ? void 0 : F.at(c),
139
+ mean: (a = u.relative_humidity_2m_mean) == null ? void 0 : a.at(c)
136
140
  },
137
141
  wind: {
138
- speed: (A = u.wind_speed_10m_max) == null ? void 0 : A.at(m),
139
- kts: (G = u.wind_speed_10m_max) == null ? void 0 : G.at(m),
140
- degree: (F = u.wind_direction_10m_dominant) == null ? void 0 : F.at(m),
141
- gusts: (O = u.wind_gusts_10m_max) == null ? void 0 : O.at(m)
142
+ speed: (l = u.wind_speed_10m_max) == null ? void 0 : l.at(c),
143
+ kts: (J = u.wind_speed_10m_max) == null ? void 0 : J.at(c),
144
+ degree: (R = u.wind_direction_10m_dominant) == null ? void 0 : R.at(c),
145
+ gusts: (W = u.wind_gusts_10m_max) == null ? void 0 : W.at(c),
146
+ bearing: ((q = u.wind_direction_10m_dominant) == null ? void 0 : q.at(c)) !== null ? (((V = u.wind_direction_10m_dominant) == null ? void 0 : V.at(c)) + 180) % 360 : null
142
147
  }
143
148
  };
144
- const { name: lt, url: ht, bg: dt } = this.parseWeatherCode(W.code, !0);
145
- W.name = lt, W.url = ht, W.bg = dt, W.wind.scale = this.beaufort(this.kts2ms(W.wind.kts)), W.wind.direction = this.degree2Direction(W.wind.degree);
149
+ const { name: m, url: se, bg: ge } = this.parseWeatherCode(g.code, !0);
150
+ g.name = m, g.url = se, g.bg = ge, g.wind.scale = this.beaufort(this.kts2ms(g.wind.kts)), g.wind.direction = this.degree2Direction(g.wind.degree);
146
151
  }
147
- if (et)
148
- for (const it of et) {
149
- const u = it.daily;
150
- st = {
152
+ if (ce)
153
+ for (const ue of ce) {
154
+ const u = ue.daily;
155
+ oe = {
151
156
  wave: {
152
157
  sig: {
153
- height: (B = u.wave_height_max) == null ? void 0 : B.at(m),
154
- degree: (V = u.wave_direction_dominant) == null ? void 0 : V.at(m),
155
- period: (U = u.wave_period_max) == null ? void 0 : U.at(m)
158
+ height: (Z = u.wave_height_max) == null ? void 0 : Z.at(c),
159
+ degree: (_ = u.wave_direction_dominant) == null ? void 0 : _.at(c),
160
+ period: (w = u.wave_period_max) == null ? void 0 : w.at(c),
161
+ bearing: ((P = u.wave_direction_dominant) == null ? void 0 : P.at(c)) !== null ? (((I = u.wave_direction_dominant) == null ? void 0 : I.at(c)) + 180) % 360 : null
156
162
  },
157
163
  swell: {
158
- height: (Z = u.swell_wave_height_max) == null ? void 0 : Z.at(m),
159
- degree: (J = u.wave_direction_dominant) == null ? void 0 : J.at(m),
160
- period: (Y = u.swell_wave_period_max) == null ? void 0 : Y.at(m),
161
- peakPeriod: (w = u.swell_wave_peak_period_max) == null ? void 0 : w.at(m)
164
+ height: (y = u.swell_wave_height_max) == null ? void 0 : y.at(c),
165
+ degree: (p = u.swell_wave_direction_dominant) == null ? void 0 : p.at(c),
166
+ period: (Ae = u.swell_wave_period_max) == null ? void 0 : Ae.at(c),
167
+ peakPeriod: (ee = u.swell_wave_peak_period_max) == null ? void 0 : ee.at(c),
168
+ bearing: ((te = u.swell_wave_direction_dominant) == null ? void 0 : te.at(c)) !== null ? (((r = u.swell_wave_direction_dominant) == null ? void 0 : r.at(c)) + 180) % 360 : null
162
169
  },
163
170
  wd: {
164
- height: (k = u.wind_wave_height_max) == null ? void 0 : k.at(m),
165
- degree: (p = u.wind_wave_direction_dominant) == null ? void 0 : p.at(m),
166
- period: (y = u.wind_wave_period_max) == null ? void 0 : y.at(m),
167
- peakPeriod: (D = u.wind_wave_peak_period_max) == null ? void 0 : D.at(m)
171
+ height: (ne = u.wind_wave_height_max) == null ? void 0 : ne.at(c),
172
+ degree: (re = u.wind_wave_direction_dominant) == null ? void 0 : re.at(c),
173
+ period: (f = u.wind_wave_period_max) == null ? void 0 : f.at(c),
174
+ peakPeriod: (ae = u.wind_wave_peak_period_max) == null ? void 0 : ae.at(c),
175
+ bearing: ((d = u.wind_wave_direction_dominant) == null ? void 0 : d.at(c)) !== null ? ((($ = u.wind_wave_direction_dominant) == null ? void 0 : $.at(c)) + 180) % 360 : null
168
176
  }
169
177
  }
170
- }, st.wave = this.parseWave(st.wave);
178
+ }, oe.wave = this.parseWave(oe.wave);
171
179
  }
172
- ot.push({
173
- utc: at.add(m, "d").utc().format(),
174
- weather: { ...W },
175
- ...st
180
+ he.push({
181
+ utc: de.add(c, "d").utc().format(),
182
+ weather: { ...g },
183
+ ...oe
176
184
  });
177
185
  }
178
- return ot;
186
+ return he;
179
187
  }
180
- static parseWave(t) {
181
- return t.sig.direction = this.degree2Direction(t.sig.degree), t.swell.direction = this.degree2Direction(t.swell.degree), t.wd.direction = this.degree2Direction(t.wd.degree), t.sig.scale = this.douglas(t.sig.height), t.swell.scale = this.douglas(t.swell.height), t.wd.scale = this.douglas(t.wd.height), t;
188
+ static parseWave(e) {
189
+ 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;
182
190
  }
183
- static parseWeatherCode(t, e) {
184
- const h = this.weatherCode(t);
185
- return (e ? h.day : h.night) || {};
191
+ static parseWeatherCode(e, t) {
192
+ const n = this.weatherCode(e);
193
+ return (t ? n.day : n.night) || {};
186
194
  }
187
- static weatherCode(t) {
188
- const e = {
189
- code: t
195
+ static weatherCode(e) {
196
+ const t = {
197
+ code: e
190
198
  };
191
- switch (t) {
199
+ switch (e) {
192
200
  case 0:
193
- e.day = {
201
+ t.day = {
194
202
  name: "Sunny",
195
203
  url: "https://osshz.idmwx.com/asset/weather/01d.svg",
196
204
  bg: "https://osshz.idmwx.com/asset/weather/bg1.png"
197
- }, e.night = {
205
+ }, t.night = {
198
206
  name: "Clear",
199
207
  url: "https://osshz.idmwx.com/asset/weather/01n.svg",
200
208
  bg: "https://osshz.idmwx.com/asset/weather/bg1.png"
201
209
  };
202
210
  break;
203
211
  case 1:
204
- e.day = {
212
+ t.day = {
205
213
  name: "Mainly Sunny",
206
214
  url: "https://osshz.idmwx.com/asset/weather/01d.svg",
207
215
  bg: "https://osshz.idmwx.com/asset/weather/bg1.png"
208
- }, e.night = {
216
+ }, t.night = {
209
217
  name: "Mainly Clear",
210
218
  url: "https://osshz.idmwx.com/asset/weather/01n.svg",
211
219
  bg: "https://osshz.idmwx.com/asset/weather/bg1.png"
212
220
  };
213
221
  break;
214
222
  case 2:
215
- e.day = {
223
+ t.day = {
216
224
  name: "Partly Cloudy",
217
225
  url: "https://osshz.idmwx.com/asset/weather/02d.svg",
218
226
  bg: "https://osshz.idmwx.com/asset/weather/bg2.png"
219
- }, e.night = {
227
+ }, t.night = {
220
228
  name: "Partly Cloudy",
221
229
  url: "https://osshz.idmwx.com/asset/weather/02n.svg",
222
230
  bg: "https://osshz.idmwx.com/asset/weather/bg2.png"
223
231
  };
224
232
  break;
225
233
  case 3:
226
- e.day = {
234
+ t.day = {
227
235
  name: "Overcast",
228
236
  url: "https://osshz.idmwx.com/asset/weather/04d.svg",
229
237
  bg: "https://osshz.idmwx.com/asset/weather/bg3.png"
230
- }, e.night = {
238
+ }, t.night = {
231
239
  name: "Overcast",
232
240
  url: "https://osshz.idmwx.com/asset/weather/04n.svg",
233
241
  bg: "https://osshz.idmwx.com/asset/weather/bg3.png"
234
242
  };
235
243
  break;
236
244
  case 45:
237
- e.day = {
245
+ t.day = {
238
246
  name: "Foggy",
239
247
  url: "https://osshz.idmwx.com/asset/weather/50d.svg",
240
248
  bg: "https://osshz.idmwx.com/asset/weather/bg4.png"
241
- }, e.night = {
249
+ }, t.night = {
242
250
  name: "Foggy",
243
251
  url: "https://osshz.idmwx.com/asset/weather/50n.svg",
244
252
  bg: "https://osshz.idmwx.com/asset/weather/bg4.png"
245
253
  };
246
254
  break;
247
255
  case 48:
248
- e.day = {
256
+ t.day = {
249
257
  name: "Rime Fog",
250
258
  url: "https://osshz.idmwx.com/asset/weather/50d.svg",
251
259
  bg: "https://osshz.idmwx.com/asset/weather/bg4.png"
252
- }, e.night = {
260
+ }, t.night = {
253
261
  name: "Rime Fog",
254
262
  url: "https://osshz.idmwx.com/asset/weather/50n.svg",
255
263
  bg: "https://osshz.idmwx.com/asset/weather/bg4.png"
256
264
  };
257
265
  break;
258
266
  case 51:
259
- e.day = {
267
+ t.day = {
260
268
  name: "Light Drizzle",
261
269
  url: "https://osshz.idmwx.com/asset/weather/14d.svg",
262
270
  bg: "https://osshz.idmwx.com/asset/weather/bg5.png"
263
- }, e.night = {
271
+ }, t.night = {
264
272
  name: "Light Drizzle",
265
273
  url: "https://osshz.idmwx.com/asset/weather/09n.svg",
266
274
  bg: "https://osshz.idmwx.com/asset/weather/bg5.png"
267
275
  };
268
276
  break;
269
277
  case 53:
270
- e.day = {
278
+ t.day = {
271
279
  name: "Drizzle",
272
280
  url: "https://osshz.idmwx.com/asset/weather/14d.svg",
273
281
  bg: "https://osshz.idmwx.com/asset/weather/bg5.png"
274
- }, e.night = {
282
+ }, t.night = {
275
283
  name: "Drizzle",
276
284
  url: "https://osshz.idmwx.com/asset/weather/09n.svg",
277
285
  bg: "https://osshz.idmwx.com/asset/weather/bg5.png"
278
286
  };
279
287
  break;
280
288
  case 55:
281
- e.day = {
289
+ t.day = {
282
290
  name: "Heavy Drizzle",
283
291
  url: "https://osshz.idmwx.com/asset/weather/15d.svg",
284
292
  bg: "https://osshz.idmwx.com/asset/weather/bg5.png"
285
- }, e.night = {
293
+ }, t.night = {
286
294
  name: "Heavy Drizzle",
287
295
  url: "https://osshz.idmwx.com/asset/weather/15n.svg",
288
296
  bg: "https://osshz.idmwx.com/asset/weather/bg5.png"
289
297
  };
290
298
  break;
291
299
  case 56:
292
- e.day = {
300
+ t.day = {
293
301
  name: "Light Freezing Drizzle",
294
302
  url: "https://osshz.idmwx.com/asset/weather/14d.svg",
295
303
  bg: "https://osshz.idmwx.com/asset/weather/bg5.png"
296
- }, e.night = {
304
+ }, t.night = {
297
305
  name: "Light Freezing Drizzle",
298
306
  url: "https://osshz.idmwx.com/asset/weather/09n.svg",
299
307
  bg: "https://osshz.idmwx.com/asset/weather/bg5.png"
300
308
  };
301
309
  break;
302
310
  case 57:
303
- e.day = {
311
+ t.day = {
304
312
  name: "Freezing Drizzle",
305
313
  url: "https://osshz.idmwx.com/asset/weather/14d.svg",
306
314
  bg: "https://osshz.idmwx.com/asset/weather/bg5.png"
307
- }, e.night = {
315
+ }, t.night = {
308
316
  name: "Freezing Drizzle",
309
317
  url: "https://osshz.idmwx.com/asset/weather/09n.svg",
310
318
  bg: "https://osshz.idmwx.com/asset/weather/bg5.png"
311
319
  };
312
320
  break;
313
321
  case 61:
314
- e.day = {
322
+ t.day = {
315
323
  name: "Light Rain",
316
324
  url: "https://osshz.idmwx.com/asset/weather/16d.svg",
317
325
  bg: "https://osshz.idmwx.com/asset/weather/bg5.png"
318
- }, e.night = {
326
+ }, t.night = {
319
327
  name: "Light Rain",
320
328
  url: "https://osshz.idmwx.com/asset/weather/10n.svg",
321
329
  bg: "https://osshz.idmwx.com/asset/weather/bg5.png"
322
330
  };
323
331
  break;
324
332
  case 63:
325
- e.day = {
333
+ t.day = {
326
334
  name: "Rain",
327
335
  url: "https://osshz.idmwx.com/asset/weather/16d.svg",
328
336
  bg: "https://osshz.idmwx.com/asset/weather/bg5.png"
329
- }, e.night = {
337
+ }, t.night = {
330
338
  name: "Rain",
331
339
  url: "https://osshz.idmwx.com/asset/weather/10n.svg",
332
340
  bg: "https://osshz.idmwx.com/asset/weather/bg5.png"
333
341
  };
334
342
  break;
335
343
  case 65:
336
- e.day = {
344
+ t.day = {
337
345
  name: "Heavy Rain",
338
346
  url: "https://osshz.idmwx.com/asset/weather/16d.svg",
339
347
  bg: "https://osshz.idmwx.com/asset/weather/bg5.png"
340
- }, e.night = {
348
+ }, t.night = {
341
349
  name: "Heavy Rain",
342
350
  url: "https://osshz.idmwx.com/asset/weather/10n.svg",
343
351
  bg: "https://osshz.idmwx.com/asset/weather/bg5.png"
344
352
  };
345
353
  break;
346
354
  case 66:
347
- e.day = {
355
+ t.day = {
348
356
  name: "Light Freezing Rain",
349
357
  url: "https://osshz.idmwx.com/asset/weather/16d.svg",
350
358
  bg: "https://osshz.idmwx.com/asset/weather/bg5.png"
351
- }, e.night = {
359
+ }, t.night = {
352
360
  name: "Light Freezing Rain",
353
361
  url: "https://osshz.idmwx.com/asset/weather/10n.svg",
354
362
  bg: "https://osshz.idmwx.com/asset/weather/bg5.png"
355
363
  };
356
364
  break;
357
365
  case 67:
358
- e.day = {
366
+ t.day = {
359
367
  name: "Freezing Rain",
360
368
  url: "https://osshz.idmwx.com/asset/weather/16d.svg",
361
369
  bg: "https://osshz.idmwx.com/asset/weather/bg5.png"
362
- }, e.night = {
370
+ }, t.night = {
363
371
  name: "Freezing Rain",
364
372
  url: "https://osshz.idmwx.com/asset/weather/10n.svg",
365
373
  bg: "https://osshz.idmwx.com/asset/weather/bg5.png"
366
374
  };
367
375
  break;
368
376
  case 71:
369
- e.day = {
377
+ t.day = {
370
378
  name: "Light Snow",
371
379
  url: "https://osshz.idmwx.com/asset/weather/17d.svg",
372
380
  bg: "https://osshz.idmwx.com/asset/weather/bg6.png"
373
- }, e.night = {
381
+ }, t.night = {
374
382
  name: "Light Snow",
375
383
  url: "https://osshz.idmwx.com/asset/weather/13n.svg",
376
384
  bg: "https://osshz.idmwx.com/asset/weather/bg6.png"
377
385
  };
378
386
  break;
379
387
  case 73:
380
- e.day = {
388
+ t.day = {
381
389
  name: "Snow",
382
390
  url: "https://osshz.idmwx.com/asset/weather/17d.svg",
383
391
  bg: "https://osshz.idmwx.com/asset/weather/bg6.png"
384
- }, e.night = {
392
+ }, t.night = {
385
393
  name: "Snow",
386
394
  url: "https://osshz.idmwx.com/asset/weather/13n.svg",
387
395
  bg: "https://osshz.idmwx.com/asset/weather/bg6.png"
388
396
  };
389
397
  break;
390
398
  case 75:
391
- e.day = {
399
+ t.day = {
392
400
  name: "Heavy Snow",
393
401
  url: "https://osshz.idmwx.com/asset/weather/17d.svg",
394
402
  bg: "https://osshz.idmwx.com/asset/weather/bg6.png"
395
- }, e.night = {
403
+ }, t.night = {
396
404
  name: "Heavy Snow",
397
405
  url: "https://osshz.idmwx.com/asset/weather/13n.svg",
398
406
  bg: "https://osshz.idmwx.com/asset/weather/bg6.png"
399
407
  };
400
408
  break;
401
409
  case 77:
402
- e.day = {
410
+ t.day = {
403
411
  name: "Snow Grains",
404
412
  url: "https://osshz.idmwx.com/asset/weather/17d.svg",
405
413
  bg: "https://osshz.idmwx.com/asset/weather/bg6.png"
406
- }, e.night = {
414
+ }, t.night = {
407
415
  name: "Snow Grains",
408
416
  url: "https://osshz.idmwx.com/asset/weather/13n.svg",
409
417
  bg: "https://osshz.idmwx.com/asset/weather/bg6.png"
410
418
  };
411
419
  break;
412
420
  case 80:
413
- e.day = {
421
+ t.day = {
414
422
  name: "Light Showers",
415
423
  url: "https://osshz.idmwx.com/asset/weather/09d.svg",
416
424
  bg: "https://osshz.idmwx.com/asset/weather/bg5.png"
417
- }, e.night = {
425
+ }, t.night = {
418
426
  name: "Light Showers",
419
427
  url: "https://osshz.idmwx.com/asset/weather/09n.svg",
420
428
  bg: "https://osshz.idmwx.com/asset/weather/bg5.png"
421
429
  };
422
430
  break;
423
431
  case 81:
424
- e.day = {
432
+ t.day = {
425
433
  name: "Showers",
426
434
  url: "https://osshz.idmwx.com/asset/weather/09d.svg",
427
435
  bg: "https://osshz.idmwx.com/asset/weather/bg5.png"
428
- }, e.night = {
436
+ }, t.night = {
429
437
  name: "Showers",
430
438
  url: "https://osshz.idmwx.com/asset/weather/09n.svg",
431
439
  bg: "https://osshz.idmwx.com/asset/weather/bg5.png"
432
440
  };
433
441
  break;
434
442
  case 82:
435
- e.day = {
443
+ t.day = {
436
444
  name: "Heavy Showers",
437
445
  url: "https://osshz.idmwx.com/asset/weather/09d.svg",
438
446
  bg: "https://osshz.idmwx.com/asset/weather/bg5.png"
439
- }, e.night = {
447
+ }, t.night = {
440
448
  name: "Heavy Showers",
441
449
  url: "https://osshz.idmwx.com/asset/weather/09n.svg",
442
450
  bg: "https://osshz.idmwx.com/asset/weather/bg5.png"
443
451
  };
444
452
  break;
445
453
  case 85:
446
- e.day = {
454
+ t.day = {
447
455
  name: "Light Snow Showers",
448
456
  url: "https://osshz.idmwx.com/asset/weather/13d.svg",
449
457
  bg: "https://osshz.idmwx.com/asset/weather/bg6.png"
450
- }, e.night = {
458
+ }, t.night = {
451
459
  name: "Light Snow Showers",
452
460
  url: "https://osshz.idmwx.com/asset/weather/13n.svg",
453
461
  bg: "https://osshz.idmwx.com/asset/weather/bg6.png"
454
462
  };
455
463
  break;
456
464
  case 86:
457
- e.day = {
465
+ t.day = {
458
466
  name: "Snow Showers",
459
467
  url: "https://osshz.idmwx.com/asset/weather/13d.svg",
460
468
  bg: "https://osshz.idmwx.com/asset/weather/bg6.png"
461
- }, e.night = {
469
+ }, t.night = {
462
470
  name: "Snow Showers",
463
471
  url: "https://osshz.idmwx.com/asset/weather/13n.svg",
464
472
  bg: "https://osshz.idmwx.com/asset/weather/bg6.png"
465
473
  };
466
474
  break;
467
475
  case 95:
468
- e.day = {
476
+ t.day = {
469
477
  name: "Thunderstorm",
470
478
  url: "https://osshz.idmwx.com/asset/weather/11d.svg",
471
479
  bg: "https://osshz.idmwx.com/asset/weather/bg5.png"
472
- }, e.night = {
480
+ }, t.night = {
473
481
  name: "Thunderstorm",
474
482
  url: "https://osshz.idmwx.com/asset/weather/11n.svg",
475
483
  bg: "https://osshz.idmwx.com/asset/weather/bg5.png"
476
484
  };
477
485
  break;
478
486
  case 96:
479
- e.day = {
487
+ t.day = {
480
488
  name: "Light Thunderstorms With Hail",
481
489
  url: "https://osshz.idmwx.com/asset/weather/11d.svg",
482
490
  bg: "https://osshz.idmwx.com/asset/weather/bg5.png"
483
- }, e.night = {
491
+ }, t.night = {
484
492
  name: "Light Thunderstorms With Hail",
485
493
  url: "https://osshz.idmwx.com/asset/weather/11n.svg",
486
494
  bg: "https://osshz.idmwx.com/asset/weather/bg5.png"
487
495
  };
488
496
  break;
489
497
  case 99:
490
- e.day = {
498
+ t.day = {
491
499
  name: "Thunderstorms With Hail",
492
500
  url: "https://osshz.idmwx.com/asset/weather/11d.svg",
493
501
  bg: "https://osshz.idmwx.com/asset/weather/bg5.png"
494
- }, e.night = {
502
+ }, t.night = {
495
503
  name: "Thunderstorms With Hail",
496
504
  url: "https://osshz.idmwx.com/asset/weather/11n.svg",
497
505
  bg: "https://osshz.idmwx.com/asset/weather/bg5.png"
498
506
  };
499
507
  break;
500
508
  }
501
- return e;
509
+ return t;
502
510
  }
503
- static kts2ms(t) {
504
- return isNaN(t) || t === null ? t : Math.round(t * 1852 / 3600 * 1e4) / 1e4;
511
+ static kts2ms(e) {
512
+ return isNaN(e) || e === null ? e : Math.round(e * 1852 / 3600 * 1e4) / 1e4;
505
513
  }
506
- static kts2kmh(t) {
507
- return isNaN(t) || t === null ? t : t * 1.852;
514
+ static kts2kmh(e) {
515
+ return isNaN(e) || e === null ? e : e * 1.852;
508
516
  }
509
- static m2nm(t) {
510
- return isNaN(t) || t === null ? t : Math.round(t / 1e3 / 1.852 * 1e4) / 1e4;
517
+ static m2nm(e) {
518
+ return isNaN(e) || e === null ? e : Math.round(e / 1e3 / 1.852 * 1e4) / 1e4;
511
519
  }
512
- static kmh2kts(t) {
513
- return isNaN(t) || t === null ? t : this.ms2kts(t * 1e3 / 3600);
520
+ static kmh2kts(e) {
521
+ return isNaN(e) || e === null ? e : this.ms2kts(e * 1e3 / 3600);
514
522
  }
515
- static ms2kts(t) {
516
- return isNaN(t) || t === null ? t : Math.round(t * 3600 / 1852 * 1e4) / 1e4;
523
+ static ms2kts(e) {
524
+ return isNaN(e) || e === null ? e : Math.round(e * 3600 / 1852 * 1e4) / 1e4;
517
525
  }
518
526
  /**
519
527
  * 角度转为弧度
520
528
  * @param degree
521
529
  */
522
- static degree2Radian(t) {
523
- if (isNaN(t) || t === null)
524
- return t;
525
- let e = t % 360 / 360 * 2 * Math.PI;
526
- return e = e < 0 ? e + 2 * Math.PI : e, e;
530
+ static degree2Radian(e) {
531
+ if (isNaN(e) || e === null)
532
+ return e;
533
+ let t = e % 360 / 360 * 2 * Math.PI;
534
+ return t = t < 0 ? t + 2 * Math.PI : t, t;
527
535
  }
528
536
  /**
529
537
  * 将方位角转换为方向
530
538
  * @param degree 角度[-360,360]
531
539
  * @return {string}
532
540
  */
533
- static degree2Direction(t) {
534
- const e = this.degree2Radian(t);
535
- if (isNaN(e) || e === null)
541
+ static degree2Direction(e) {
542
+ const t = this.degree2Radian(e);
543
+ if (isNaN(t) || t === null)
536
544
  return null;
537
- let h = "N/A";
545
+ let n = "N/A";
538
546
  const s = Math.PI / 16;
539
- return e < s ? h = "N" : e >= s && e < 3 * s ? h = "NNE" : e >= 3 * s && e < 5 * s ? h = "NE" : e >= 5 * s && e < 7 * s ? h = "ENE" : e >= 7 * s && e < 9 * s ? h = "E" : e >= 9 * s && e < 11 * s ? h = "ESE" : e >= 11 * s && e < 13 * s ? h = "SE" : e >= 13 * s && e < 15 * s ? h = "SSE" : e >= 15 * s && e < 17 * s ? h = "S" : e >= 17 * s && e < 19 * s ? h = "SSW" : e >= 19 * s && e < 21 * s ? h = "SW" : e >= 21 * s && e < 23 * s ? h = "WSW" : e >= 23 * s && e < 25 * s ? h = "W" : e >= 25 * s && e < 27 * s ? h = "WNW" : e >= 27 * s && e < 29 * s ? h = "NW" : e >= 29 * s && e < 31 * s ? h = "NNW" : e >= 31 * s && e < 32 * s && (h = "N"), h;
547
+ return t < s ? n = "N" : t >= s && t < 3 * s ? n = "NNE" : t >= 3 * s && t < 5 * s ? n = "NE" : t >= 5 * s && t < 7 * s ? n = "ENE" : t >= 7 * s && t < 9 * s ? n = "E" : t >= 9 * s && t < 11 * s ? n = "ESE" : t >= 11 * s && t < 13 * s ? n = "SE" : t >= 13 * s && t < 15 * s ? n = "SSE" : t >= 15 * s && t < 17 * s ? n = "S" : t >= 17 * s && t < 19 * s ? n = "SSW" : t >= 19 * s && t < 21 * s ? n = "SW" : t >= 21 * s && t < 23 * s ? n = "WSW" : t >= 23 * s && t < 25 * s ? n = "W" : t >= 25 * s && t < 27 * s ? n = "WNW" : t >= 27 * s && t < 29 * s ? n = "NW" : t >= 29 * s && t < 31 * s ? n = "NNW" : t >= 31 * s && t < 32 * s && (n = "N"), n;
540
548
  }
541
549
  /**
542
550
  * 计算风力蒲福等级
543
551
  * @param speed m/s
544
552
  * @returns {number}
545
553
  */
546
- static beaufort(t) {
547
- let e = 0;
548
- return isNaN(t) || (t = Math.round(t * 10) / 10, t <= 0.2 ? e = 0 : t <= 1.5 ? e = 1 : t <= 3.3 ? e = 2 : t <= 5.4 ? e = 3 : t <= 7.9 ? e = 4 : t <= 10.7 ? e = 5 : t <= 13.8 ? e = 6 : t <= 17.1 ? e = 7 : t <= 20.7 ? e = 8 : t <= 22.4 ? e = 9 : t <= 28.4 ? e = 10 : t <= 32.6 ? e = 11 : t > 32.6 && (e = 12)), e;
554
+ static beaufort(e) {
555
+ let t = 0;
556
+ return isNaN(e) || (e = Math.round(e * 10) / 10, e <= 0.2 ? t = 0 : e <= 1.5 ? t = 1 : e <= 3.3 ? t = 2 : e <= 5.4 ? t = 3 : e <= 7.9 ? t = 4 : e <= 10.7 ? t = 5 : e <= 13.8 ? t = 6 : e <= 17.1 ? t = 7 : e <= 20.7 ? t = 8 : e <= 22.4 ? t = 9 : e <= 28.4 ? t = 10 : e <= 32.6 ? t = 11 : e > 32.6 && (t = 12)), t;
549
557
  }
550
558
  /**
551
559
  * 计算海浪等级
552
560
  * @param height 高度 m
553
561
  */
554
- static douglas(t) {
555
- let e = "Calm";
556
- return isNaN(t) || t <= 0.1 ? e = "Calm" : t <= 0.5 ? e = "Smooth" : t <= 1.25 ? e = "Slight" : t <= 2.5 ? e = "Moderate" : t <= 4 ? e = "Rough" : t <= 6 ? e = "VeryRough" : t <= 9 ? e = "High" : t <= 14 ? e = "VeryHigh" : e = "Precipitous", e;
562
+ static douglas(e) {
563
+ let t = "Calm";
564
+ return isNaN(e) || e <= 0.1 ? t = "Calm" : e <= 0.5 ? t = "Smooth" : e <= 1.25 ? t = "Slight" : e <= 2.5 ? t = "Moderate" : e <= 4 ? t = "Rough" : e <= 6 ? t = "VeryRough" : e <= 9 ? t = "High" : e <= 14 ? t = "VeryHigh" : t = "Precipitous", t;
557
565
  }
558
566
  }
559
- const Wt = (l, t) => {
560
- const e = l.__vccOpts || l;
561
- for (const [h, s] of t)
562
- e[h] = s;
563
- return e;
564
- }, Tt = {
567
+ const xe = "data:image/gif;base64,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";
568
+ const Ne = (h, e) => {
569
+ const t = h.__vccOpts || h;
570
+ for (const [n, s] of e)
571
+ t[n] = s;
572
+ return t;
573
+ }, Ge = {
565
574
  name: "SpotReport",
566
575
  props: {
567
576
  token: {
@@ -570,7 +579,7 @@ const Wt = (l, t) => {
570
579
  },
571
580
  ts: {
572
581
  type: String,
573
- default: X().utc().format()
582
+ default: we().utc().format()
574
583
  },
575
584
  timeZone: {
576
585
  type: Number,
@@ -586,161 +595,202 @@ const Wt = (l, t) => {
586
595
  return {
587
596
  placeholder: "search for port name or coordinates",
588
597
  searchName: void 0,
589
- rawSearchIcon: Ct(Mt),
598
+ rawSearchIcon: Pe(ze),
590
599
  positionOffset: void 0,
591
600
  positionGmt: void 0,
592
601
  issuedDate: void 0,
593
602
  meteoData: {},
594
603
  positionList: [],
595
604
  position: void 0,
596
- loading: !1,
597
605
  activeIndex: void 0,
598
- tableData: {},
606
+ hoursTableData: {},
599
607
  pickedDate: void 0,
600
608
  pickedWeek: "Today",
601
609
  collectList: [],
602
- isCollected: !1
610
+ isCollected: !1,
611
+ loading: {
612
+ weatherEchart: !1,
613
+ meteogramEchart: !1,
614
+ hoursTable: !1,
615
+ daysTable: !1
616
+ },
617
+ menuIndex: 1,
618
+ meteogramData: void 0,
619
+ daysTableData: []
603
620
  };
604
621
  },
605
622
  computed: {
606
- computeHourL() {
607
- return function(l) {
608
- return l ? `${tt(l).tz(this.positionGmt).format("HH")}` : "-";
623
+ computeHourLT() {
624
+ return function(h) {
625
+ if (h) {
626
+ const e = me(h).tz(this.positionGmt);
627
+ return `${e == null ? void 0 : e.format("HH")}`;
628
+ }
629
+ return "-";
609
630
  };
610
631
  },
611
632
  computeHourZ() {
612
- return function(l) {
613
- return l ? `${X(l).utc().format("HH")}Z` : "-";
633
+ return function(h) {
634
+ if (h) {
635
+ const e = we(h).utc();
636
+ return `${e == null ? void 0 : e.format("HH")}Z`;
637
+ }
638
+ return "-";
614
639
  };
615
640
  },
616
- computeWeek() {
617
- return function(l) {
618
- return l ? `${tt(l).tz(this.positionGmt).format("dddd")}` : "-";
641
+ computeWeekLT() {
642
+ return function(h) {
643
+ if (h) {
644
+ const e = me(h).tz(this.positionGmt);
645
+ return `${e == null ? void 0 : e.format("dddd")}`;
646
+ }
647
+ return "-";
619
648
  };
620
649
  },
621
- computeMMMDD() {
622
- return function(l) {
623
- return l ? `${tt(l).tz(this.positionGmt).format("MMM-DD")}` : "-";
650
+ computeMMMDDLT() {
651
+ return function(h) {
652
+ if (h) {
653
+ const e = me(h).tz(this.positionGmt);
654
+ return `${e == null ? void 0 : e.format("MMM-DD")}`;
655
+ }
656
+ return "-";
624
657
  };
625
658
  },
626
659
  computeLat() {
627
- return function(l, t = 4) {
628
- return ut.lat2pretty(l, t).pretty;
660
+ return function(h, e = 4) {
661
+ return ve.lat2pretty(h, e).pretty;
629
662
  };
630
663
  },
631
664
  computeLng() {
632
- return function(l, t = 4) {
633
- return ut.lng2pretty(l, t).pretty;
665
+ return function(h, e = 4) {
666
+ return ve.lng2pretty(h, e).pretty;
634
667
  };
635
668
  },
636
669
  roundPrecision() {
637
- return function(l, t = 4) {
638
- return isNaN(l) ? "-" : ut.roundPrecision(l, t);
670
+ return function(h, e = 4) {
671
+ return isNaN(h) ? "-" : ve.roundPrecision(h, e);
639
672
  };
640
673
  }
641
674
  },
642
675
  watch: {
643
676
  point: {
644
677
  handler() {
645
- var l, t;
678
+ var h, e;
646
679
  this.point && (this.position = {
647
- // id: this.report.portId,
648
- lat: (l = this.point) == null ? void 0 : l.lat,
649
- lng: (t = this.point) == null ? void 0 : t.lng,
680
+ lat: (h = this.point) == null ? void 0 : h.lat,
681
+ lng: (e = this.point) == null ? void 0 : e.lng,
650
682
  name: this.computeLat(this.point.lat) + "," + this.computeLng(this.point.lng)
651
683
  }, this.handleFetchMeteo());
652
684
  },
653
685
  deep: !0,
654
686
  immediate: !0
687
+ },
688
+ menuIndex: {
689
+ handler() {
690
+ this.disposeEcharts(), this.loading = {
691
+ weatherEchart: !0,
692
+ meteogramEchart: !0,
693
+ hoursTable: !0,
694
+ daysTable: !0
695
+ }, this.menuIndex === 1 ? (this.initWeatherEchart(), this.handleMeteogramData7(), this.initHoursTableData()) : this.menuIndex === 2 && (this.handleMeteogramData14(), this.initDaysTableData());
696
+ }
655
697
  }
656
698
  },
657
699
  methods: {
658
- handleRender() {
659
- this.initInfo(), this.initTableData(), this.$nextTick(() => {
660
- this.initEchart();
700
+ async fetchSuggestPosition(h) {
701
+ var n;
702
+ const e = h.replaceAll(",", ",");
703
+ if (!e)
704
+ return this.positionList = this.collectList, !1;
705
+ const t = await be.get(`https://cbe.idmwx.com/api/arc/ports/suggest?n=${e}`, {
706
+ headers: {
707
+ Authorization: this.token
708
+ }
661
709
  });
710
+ (t == null ? void 0 : t.data.code) === 0 && (this.positionList = (n = t == null ? void 0 : t.data.data) == null ? void 0 : n.map((s) => (s.name = s.id ? s.name : this.computeLat(s.lat) + ", " + this.computeLng(s.lng), s)));
662
711
  },
663
- initInfo() {
664
- var l, t, e, h;
665
- this.loading = !1, this.positionGmt = (t = (l = this.meteoData.weather) == null ? void 0 : l[0]) == null ? void 0 : t.timezone, this.positionOffset = (h = (e = this.meteoData.weather) == null ? void 0 : e[0]) == null ? void 0 : h.offset, this.issuedDate = X(this.ts).utc().format("MMM-DD/HHmm[Z], YYYY"), this.activeIndex = tt(this.ts).tz(this.positionGmt).hour(), this.pickedDate = tt(this.ts).tz(this.positionGmt).set({ hour: 0, minute: 0, second: 0, millisecond: 0 }).format(), this.collectList = JSON.parse(localStorage.getItem("idmCollectList") || "[]"), this.positionList = JSON.parse(JSON.stringify(this.collectList)), this.isCollected = this.collectList.some((s) => {
666
- var v;
667
- return s.name === ((v = this.position) == null ? void 0 : v.name);
668
- });
712
+ handleSearch() {
713
+ var h, e, t;
714
+ this.searchName && (this.handleClearHoursTable(), this.position = {
715
+ portId: (h = this.positionList.find((n) => n.name === this.searchName)) == null ? void 0 : h.id,
716
+ lat: (e = this.positionList.find((n) => n.name === this.searchName)) == null ? void 0 : e.lat,
717
+ lng: (t = this.positionList.find((n) => n.name === this.searchName)) == null ? void 0 : t.lng,
718
+ name: this.searchName
719
+ }, this.$emit("url", this.position), this.handleFetchMeteo());
669
720
  },
670
- initTableData() {
671
- var l, t, e, h, s, v, C, P, L, N, I, M, H, a, n, Q, K, S, T, R, E, A, G, F, O, B, V, U, Z, J, Y, w, k, p;
672
- this.tableData = {
673
- hours: [],
674
- utcHours: [],
675
- weatherUrls: [],
676
- weatherNames: [],
677
- temp: [],
678
- precipProbability: [],
679
- precip1h: [],
680
- visibility: [],
681
- humidity: [],
682
- windSpeed: [],
683
- windDir: [],
684
- windGust: [],
685
- sigwaveHeight: [],
686
- sigwaveDir: [],
687
- windwaveHeight: [],
688
- windwaveDir: [],
689
- windwavePeriod: [],
690
- swellHeight: [],
691
- swellDir: [],
692
- swellPeriod: [],
693
- currentSpeed: [],
694
- currentDir: [],
695
- seaLevel: [],
696
- seaTemp: []
721
+ handleCollect() {
722
+ this.isCollected = !this.isCollected, this.isCollected ? this.collectList.push({ name: this.position.name, lat: this.position.lat, lng: this.position.lng }) : this.collectList = this.collectList.filter((h) => h.name !== this.position.name), localStorage.setItem("idmCollectList", JSON.stringify(this.collectList));
723
+ },
724
+ async handleFetchMeteo() {
725
+ if (!this.token)
726
+ return !1;
727
+ this.loading = {
728
+ weatherEchart: !0,
729
+ meteogramEchart: !0,
730
+ hoursTable: !0,
731
+ daysTable: !0
697
732
  };
698
- for (let y = 0; y < 24; y++) {
699
- const D = X(this.pickedDate).clone().add(y, "h").format();
700
- this.tableData.hours.push(D);
701
- const g = ((l = Dt.pickHourly(this.meteoData, D)) == null ? void 0 : l[0]) || {};
702
- this.tableData.weatherUrls.push((t = g.weather) == null ? void 0 : t.url), this.tableData.weatherNames.push(((e = g.weather) == null ? void 0 : e.name) ?? "-"), this.tableData.temp.push(this.roundPrecision((h = g.weather) == null ? void 0 : h.temp, 0) ?? "-"), this.tableData.precipProbability.push(this.roundPrecision((v = (s = g.weather) == null ? void 0 : s.precip) == null ? void 0 : v.probability, 0) ?? "-"), this.tableData.precip1h.push(this.roundPrecision((P = (C = g.weather) == null ? void 0 : C.precip) == null ? void 0 : P.sum, 0) ?? "-"), this.tableData.visibility.push(this.roundPrecision((L = g.weather) == null ? void 0 : L.visibility, 0) ?? "-"), this.tableData.humidity.push(this.roundPrecision((N = g.weather) == null ? void 0 : N.rh, 0) ?? "-"), this.tableData.windSpeed.push(this.roundPrecision((M = (I = g.weather) == null ? void 0 : I.wind) == null ? void 0 : M.kts, 1)), this.tableData.windDir.push((a = (H = g.weather) == null ? void 0 : H.wind) == null ? void 0 : a.bearing), this.tableData.windGust.push(this.roundPrecision((Q = (n = g.weather) == null ? void 0 : n.wind) == null ? void 0 : Q.gusts, 1) ?? "-"), this.tableData.sigwaveHeight.push(this.roundPrecision((S = (K = g.wave) == null ? void 0 : K.sig) == null ? void 0 : S.height, 1) ?? "-"), this.tableData.sigwaveDir.push((R = (T = g.wave) == null ? void 0 : T.sig) == null ? void 0 : R.bearing), this.tableData.windwaveHeight.push(this.roundPrecision((A = (E = g.wave) == null ? void 0 : E.wd) == null ? void 0 : A.height, 1) ?? "-"), this.tableData.windwaveDir.push((F = (G = g.wave) == null ? void 0 : G.wd) == null ? void 0 : F.bearing), this.tableData.windwavePeriod.push(this.roundPrecision((B = (O = g.wave) == null ? void 0 : O.wd) == null ? void 0 : B.period, 1) ?? "-"), this.tableData.swellHeight.push(this.roundPrecision((U = (V = g.wave) == null ? void 0 : V.swell) == null ? void 0 : U.height, 1) ?? "-"), this.tableData.swellDir.push((J = (Z = g.wave) == null ? void 0 : Z.swell) == null ? void 0 : J.bearing), this.tableData.swellPeriod.push(this.roundPrecision((w = (Y = g.wave) == null ? void 0 : Y.swell) == null ? void 0 : w.period, 1) ?? "-"), this.tableData.currentSpeed.push(this.roundPrecision((k = g.current) == null ? void 0 : k.speed, 1) ?? "-"), this.tableData.currentDir.push((p = g.current) == null ? void 0 : p.bearing), this.tableData.seaLevel.push(this.roundPrecision(g.height, 1) ?? "-"), this.tableData.seaTemp.push(this.roundPrecision(g.sst, 0) ?? "-");
703
- }
733
+ const h = {
734
+ lat: this.position.lat,
735
+ lng: this.position.lng,
736
+ forecastDays: 15,
737
+ selfHosted: !1
738
+ }, e = await be.post("https://cbe.idmwx.com/api/arc/meteo2/spot/forecast", h, {
739
+ headers: {
740
+ Authorization: this.token
741
+ }
742
+ });
743
+ (e == null ? void 0 : e.data.code) === 0 && (this.meteoData = {
744
+ ...e == null ? void 0 : e.data.data
745
+ }), this.handleRender();
704
746
  },
705
- initEchart() {
706
- var T, R, E, A, G, F, O, B, V, U, Z, J, Y;
707
- const l = [], t = [], e = [], h = [], s = [], v = [], C = [], P = [], L = [], N = [], I = {};
708
- for (let w = 0; w < 7; w++) {
709
- const k = X(this.pickedDate).clone().add(w, "d");
710
- l.push(tt(k).tz(this.positionGmt).format("yyyy-MM-DD")), t.push(this.computeMMMDD(k)), e.push(w === 0 ? "Today" : this.computeWeek(k));
711
- const p = ((T = Dt.pickDaily(this.meteoData, k)) == null ? void 0 : T[0]) || {};
712
- h.push(this.roundPrecision((E = (R = p.weather) == null ? void 0 : R.temp) == null ? void 0 : E.min, 0)), s.push(this.roundPrecision((G = (A = p.weather) == null ? void 0 : A.temp) == null ? void 0 : G.max, 0)), P.push(this.roundPrecision((O = (F = p.weather) == null ? void 0 : F.wind) == null ? void 0 : O.kts, 1) ?? "- kts"), N.push(this.roundPrecision((V = (B = p.weather) == null ? void 0 : B.precip) == null ? void 0 : V.sum, 0) ?? "- mm"), v.push({ symbol: "image://" + ((U = p.weather) == null ? void 0 : U.url) }), C.push((Z = p.weather) == null ? void 0 : Z.name), L.push((Y = (J = p.weather) == null ? void 0 : J.wind) == null ? void 0 : Y.degree);
713
- }
714
- const M = Math.max(...s.filter((w) => typeof w == "number" && !isNaN(w))) - Math.min(...h.filter((w) => typeof w == "number" && !isNaN(w))), H = Math.min(...h.filter((w) => typeof w == "number" && !isNaN(w))) - 1.5 * M, a = Math.max(...s.filter((w) => typeof w == "number" && !isNaN(w))) + 2 * M, n = 4 + 0.5 / l.length * 92 + "%", Q = "data:image/svg+xml;base64," + window.btoa(
747
+ handleRender() {
748
+ this.initInfo(), this.initWeatherEchart(), this.handleMeteogramData7(), this.initHoursTableData();
749
+ },
750
+ initInfo() {
751
+ var h, e, t, n;
752
+ this.positionGmt = (e = (h = this.meteoData.weather) == null ? void 0 : h[0]) == null ? void 0 : e.timezone, this.positionOffset = (n = (t = this.meteoData.weather) == null ? void 0 : t[0]) == null ? void 0 : n.offset, this.issuedDate = we(this.ts).utc().format("MMM-DD/HHmm[Z], YYYY"), this.activeIndex = me(this.ts).tz(this.positionGmt).hour(), this.pickedDate = me(this.ts).tz(this.positionGmt).set({ hour: 0, minute: 0, second: 0, millisecond: 0 }).format(), this.collectList = JSON.parse(localStorage.getItem("idmCollectList") || "[]"), this.positionList = JSON.parse(JSON.stringify(this.collectList)), this.isCollected = this.collectList.some((s) => {
753
+ var C;
754
+ return s.name === ((C = this.position) == null ? void 0 : C.name);
755
+ });
756
+ },
757
+ initWeatherEchart() {
758
+ const h = [], e = [], t = [], n = [], s = [], C = [], L = [], H = [], Q = [], E = [], b = {}, M = "data:image/svg+xml;base64," + window.btoa(
715
759
  unescape(
716
760
  encodeURIComponent(
717
761
  '<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>'
718
762
  )
719
763
  )
720
- ), K = "data:image/svg+xml;base64," + window.btoa(
764
+ ), O = "data:image/svg+xml;base64," + window.btoa(
721
765
  unescape(
722
766
  encodeURIComponent(
723
767
  '<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="#ffffff" p-id="10798"></path></svg>'
724
768
  )
725
769
  )
726
- ), S = new Image(64, 64);
727
- S.src = K, S.onload = () => {
728
- for (let p = 0; p < 7; p++) {
729
- const y = document.createElement("canvas"), D = y.getContext("2d");
730
- y.width = S.width, y.height = S.height;
731
- const j = L[p] * (Math.PI / 180);
732
- D.translate(y.width / 2, y.height / 2), D.rotate(j), D.translate(-S.width / 2, -S.height / 2), D.drawImage(S, 0, 0, 64, 64);
733
- const et = y.toDataURL();
734
- I[`WindIcon${p}`] = {
770
+ ), v = new Image(64, 64);
771
+ v.src = O, v.onload = () => {
772
+ var N, G, T, F, a, l, J, R, W, q, V, Z, _;
773
+ this.loading.weatherEchart = !1;
774
+ for (let w = 0; w < 7; w++) {
775
+ const P = we(this.pickedDate).clone().add(w, "d");
776
+ h.push(me(P).tz(this.positionGmt).format("yyyy-MM-DD")), e.push(this.computeMMMDDLT(P)), t.push(w === 0 ? "Today" : this.computeWeekLT(P));
777
+ const I = ((N = Ie.pickDaily(this.meteoData, P)) == null ? void 0 : N[0]) || {};
778
+ n.push(this.roundPrecision((T = (G = I.weather) == null ? void 0 : G.temp) == null ? void 0 : T.min, 0)), s.push(this.roundPrecision((a = (F = I.weather) == null ? void 0 : F.temp) == null ? void 0 : a.max, 0)), H.push(this.roundPrecision((J = (l = I.weather) == null ? void 0 : l.wind) == null ? void 0 : J.kts, 1) ?? "- kts"), E.push(this.roundPrecision((W = (R = I.weather) == null ? void 0 : R.precip) == null ? void 0 : W.sum, 0) ?? "- mm"), C.push({ symbol: "image://" + ((q = I.weather) == null ? void 0 : q.url) }), L.push((V = I.weather) == null ? void 0 : V.name), Q.push((_ = (Z = I.weather) == null ? void 0 : Z.wind) == null ? void 0 : _.degree);
779
+ const y = document.createElement("canvas"), p = y.getContext("2d");
780
+ y.width = v.width, y.height = v.height;
781
+ const ee = Q[w] * (Math.PI / 180);
782
+ p.translate(y.width / 2, y.height / 2), p.rotate(ee), p.translate(-v.width / 2, -v.height / 2), p.drawImage(v, 0, 0, 64, 64);
783
+ const te = y.toDataURL();
784
+ b[`WindIcon${w}`] = {
735
785
  height: 12,
736
786
  width: 12,
737
787
  align: "left",
738
788
  backgroundColor: {
739
- image: et
789
+ image: te
740
790
  }
741
791
  };
742
792
  }
743
- const w = wt.init(document.getElementById("weather-chart")), k = {
793
+ const k = Math.max(...s.filter((w) => typeof w == "number" && !isNaN(w))) - Math.min(...n.filter((w) => typeof w == "number" && !isNaN(w))), j = Math.min(...n.filter((w) => typeof w == "number" && !isNaN(w))) - 1.5 * k, Y = Math.max(...s.filter((w) => typeof w == "number" && !isNaN(w))) + 2 * k, x = 4 + 0.5 / h.length * 92 + "%", z = {
744
794
  grid: {
745
795
  bottom: 0,
746
796
  top: 0,
@@ -751,8 +801,8 @@ const Wt = (l, t) => {
751
801
  trigger: "item",
752
802
  show: !0,
753
803
  position: "right",
754
- formatter: function(p) {
755
- return p.seriesName === "Weather Icon" ? C[p.dataIndex] : !1;
804
+ formatter: function(w) {
805
+ return w.seriesName === "Weather Icon" ? L[w.dataIndex] : !1;
756
806
  }
757
807
  },
758
808
  legend: {
@@ -764,13 +814,13 @@ const Wt = (l, t) => {
764
814
  top: "50%",
765
815
  height: "50%",
766
816
  type: "category",
767
- data: l,
817
+ data: h,
768
818
  show: !1
769
819
  },
770
820
  singleAxis: [
771
821
  {
772
- left: n,
773
- right: n,
822
+ left: x,
823
+ right: x,
774
824
  type: "category",
775
825
  show: !1,
776
826
  axisLine: {
@@ -790,13 +840,13 @@ const Wt = (l, t) => {
790
840
  // 隐藏分割线
791
841
  },
792
842
  boundaryGap: !1,
793
- data: l,
843
+ data: h,
794
844
  top: "7%",
795
845
  height: "2%"
796
846
  },
797
847
  {
798
- left: n,
799
- right: n,
848
+ left: x,
849
+ right: x,
800
850
  type: "category",
801
851
  show: !1,
802
852
  axisLine: {
@@ -816,13 +866,13 @@ const Wt = (l, t) => {
816
866
  // 隐藏分割线
817
867
  },
818
868
  boundaryGap: !1,
819
- data: l,
869
+ data: h,
820
870
  top: "16%",
821
871
  height: "2%"
822
872
  },
823
873
  {
824
- left: n,
825
- right: n,
874
+ left: x,
875
+ right: x,
826
876
  type: "category",
827
877
  show: !1,
828
878
  axisLine: {
@@ -842,13 +892,13 @@ const Wt = (l, t) => {
842
892
  // 隐藏分割线
843
893
  },
844
894
  boundaryGap: !1,
845
- data: l,
895
+ data: h,
846
896
  top: "27%",
847
897
  height: "2%"
848
898
  },
849
899
  {
850
- left: n,
851
- right: n,
900
+ left: x,
901
+ right: x,
852
902
  type: "category",
853
903
  show: !1,
854
904
  axisLine: {
@@ -868,13 +918,13 @@ const Wt = (l, t) => {
868
918
  // 隐藏分割线
869
919
  },
870
920
  boundaryGap: !1,
871
- data: l,
921
+ data: h,
872
922
  top: "84%",
873
923
  height: "2%"
874
924
  },
875
925
  {
876
- left: n,
877
- right: n,
926
+ left: x,
927
+ right: x,
878
928
  type: "category",
879
929
  show: !1,
880
930
  axisLine: {
@@ -894,7 +944,7 @@ const Wt = (l, t) => {
894
944
  // 隐藏分割线
895
945
  },
896
946
  boundaryGap: !1,
897
- data: l,
947
+ data: h,
898
948
  top: "93%",
899
949
  height: "2%"
900
950
  }
@@ -903,8 +953,8 @@ const Wt = (l, t) => {
903
953
  type: "value",
904
954
  name: "温度(℃)",
905
955
  show: !1,
906
- min: H,
907
- max: a,
956
+ min: j,
957
+ max: Y,
908
958
  axisLabel: {
909
959
  formatter: "{value} °C"
910
960
  }
@@ -914,7 +964,7 @@ const Wt = (l, t) => {
914
964
  singleAxisIndex: 0,
915
965
  coordinateSystem: "singleAxis",
916
966
  type: "scatter",
917
- data: e,
967
+ data: t,
918
968
  label: {
919
969
  show: !0,
920
970
  color: "#fff",
@@ -927,7 +977,7 @@ const Wt = (l, t) => {
927
977
  singleAxisIndex: 1,
928
978
  coordinateSystem: "singleAxis",
929
979
  type: "scatter",
930
- data: t,
980
+ data: e,
931
981
  label: {
932
982
  show: !0,
933
983
  color: "#fff",
@@ -940,13 +990,13 @@ const Wt = (l, t) => {
940
990
  singleAxisIndex: 2,
941
991
  coordinateSystem: "singleAxis",
942
992
  type: "scatter",
943
- data: v,
993
+ data: C,
944
994
  symbolSize: 36
945
995
  },
946
996
  {
947
997
  name: "温度(℃)",
948
998
  type: "line",
949
- data: h,
999
+ data: n,
950
1000
  smooth: !0,
951
1001
  itemStyle: {
952
1002
  color: "rgba(255,255,255,0.7)"
@@ -968,7 +1018,7 @@ const Wt = (l, t) => {
968
1018
  x: "4%"
969
1019
  },
970
1020
  {
971
- x: 4 + 1 / l.length * 92 + "%"
1021
+ x: 4 + 1 / h.length * 92 + "%"
972
1022
  }
973
1023
  ]
974
1024
  ]
@@ -994,20 +1044,20 @@ const Wt = (l, t) => {
994
1044
  singleAxisIndex: 3,
995
1045
  coordinateSystem: "singleAxis",
996
1046
  type: "scatter",
997
- data: P,
1047
+ data: H,
998
1048
  label: {
999
1049
  show: !0,
1000
1050
  color: "#fff",
1001
1051
  // formatter: '{c}'
1002
1052
  rich: {
1003
- ...I,
1053
+ ...b,
1004
1054
  title: {
1005
1055
  align: "center",
1006
1056
  vertical: "center"
1007
1057
  }
1008
1058
  },
1009
- formatter: function(p) {
1010
- return `{WindIcon${p.dataIndex}|}{title|${p.value}} kts`;
1059
+ formatter: function(w) {
1060
+ return `{WindIcon${w.dataIndex}|}{title|${w.value}} kts`;
1011
1061
  }
1012
1062
  },
1013
1063
  symbolSize: 0
@@ -1016,7 +1066,7 @@ const Wt = (l, t) => {
1016
1066
  singleAxisIndex: 4,
1017
1067
  coordinateSystem: "singleAxis",
1018
1068
  type: "scatter",
1019
- data: N,
1069
+ data: E,
1020
1070
  label: {
1021
1071
  show: !0,
1022
1072
  color: "#fff",
@@ -1027,7 +1077,7 @@ const Wt = (l, t) => {
1027
1077
  width: 16,
1028
1078
  align: "left",
1029
1079
  backgroundColor: {
1030
- image: Q
1080
+ image: M
1031
1081
  }
1032
1082
  },
1033
1083
  title: {
@@ -1035,109 +1085,1018 @@ const Wt = (l, t) => {
1035
1085
  vertical: "center"
1036
1086
  }
1037
1087
  },
1038
- formatter: function(p) {
1039
- return `{dIcon|}{title|${p.value}} mm`;
1088
+ formatter: function(w) {
1089
+ return `{dIcon|}{title|${w.value}} mm`;
1040
1090
  }
1041
1091
  },
1042
1092
  symbolSize: 0
1043
1093
  }
1044
1094
  ]
1045
1095
  };
1046
- w.setOption(k), w.on("click", (p) => {
1047
- const y = p.dataIndex, D = l[y].split("-");
1048
- this.pickedDate = tt().tz(this.positionGmt).set({ year: D[0], month: Number(D[1] - 1), date: Number(D[2]), hour: 0, minute: 0, second: 0, millisecond: 0 }).format(), this.pickedWeek = y === 0 ? "Today" : this.computeWeek(this.pickedDate), this.activeIndex = y === 0 ? tt(this.ts).tz(this.positionGmt).hour() : void 0, this.initTableData(), k.series[3].markArea = {
1049
- itemStyle: {
1050
- color: "rgb(71,143,206)"
1051
- },
1052
- data: [
1053
- [
1054
- {
1055
- x: 4 + y / l.length * 92 + "%"
1056
- },
1057
- {
1058
- x: 4 + (y + 1) / l.length * 92 + "%"
1059
- }
1096
+ this.$nextTick(() => {
1097
+ const w = pe.init(document.getElementById("weather-chart"));
1098
+ w.setOption(z), w.on("click", (P) => {
1099
+ const I = P.dataIndex, y = h[I].split("-");
1100
+ this.pickedDate = me().tz(this.positionGmt).set({ year: y[0], month: Number(y[1] - 1), date: Number(y[2]), hour: 0, minute: 0, second: 0, millisecond: 0 }).format(), this.pickedWeek = I === 0 ? "Today" : this.computeWeekLT(this.pickedDate), this.activeIndex = I === 0 ? me(this.ts).tz(this.positionGmt).hour() : void 0, this.initHoursTableData(), z.series[3].markArea = {
1101
+ itemStyle: {
1102
+ color: "rgb(71,143,206)"
1103
+ },
1104
+ data: [
1105
+ [
1106
+ {
1107
+ x: 4 + I / h.length * 92 + "%"
1108
+ },
1109
+ {
1110
+ x: 4 + (I + 1) / h.length * 92 + "%"
1111
+ }
1112
+ ]
1060
1113
  ]
1061
- ]
1062
- }, w.setOption(k);
1114
+ }, w.setOption(z);
1115
+ });
1063
1116
  });
1064
1117
  };
1065
1118
  },
1066
- handleCollect() {
1067
- this.isCollected = !this.isCollected, this.isCollected ? this.collectList.push({ name: this.position.name, lat: this.position.lat, lng: this.position.lng }) : this.collectList = this.collectList.filter((l) => l.name !== this.position.name), localStorage.setItem("idmCollectList", JSON.stringify(this.collectList));
1119
+ handleMeteogramData7() {
1120
+ this.meteogramData = {
1121
+ xDates: [],
1122
+ dates: [],
1123
+ hours: [],
1124
+ temperatures: [],
1125
+ weatherIcons: [],
1126
+ weatherNames: [],
1127
+ windspeed: [],
1128
+ windGusts: [],
1129
+ windDir: [],
1130
+ windDirIcons: {},
1131
+ precip: [],
1132
+ sigWaveHeight: [],
1133
+ swellHeight: [],
1134
+ markarea: [],
1135
+ offset: void 0
1136
+ };
1137
+ let e = { start: void 0, end: void 0 };
1138
+ const t = "data:image/svg+xml;base64," + window.btoa(
1139
+ unescape(
1140
+ encodeURIComponent(
1141
+ '<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>'
1142
+ )
1143
+ )
1144
+ ), n = new Image(64, 64);
1145
+ n.src = t, n.onload = () => {
1146
+ var s, C, L, H, Q, E, b, M, O, v, k, j, Y, x, z, N, G, T, F, a, l, J, R, W, q, V, Z, _, w, P, I, y, p, Ae, ee, te, r, ne, re;
1147
+ this.loading.meteogramEchart = !1;
1148
+ for (let f = 0; f < 7 * 24; f++) {
1149
+ const ae = we(this.pickedDate).clone().add(f, "h");
1150
+ (s = this.meteogramData) == null || s.dates.push(ae);
1151
+ const d = ((C = Ie.pickHourly(this.meteoData, ae)) == null ? void 0 : C[0]) || {};
1152
+ if (f % 12 === 0 && f % 24 !== 0 ? (L = this.meteogramData) == null || L.xDates.push(me(ae).tz(this.positionGmt).format("MMM-DD")) : (H = this.meteogramData) == null || H.xDates.push(""), f % 3 === 0 ? (Q = this.meteogramData) == null || Q.hours.push(this.computeHourLT(ae)) : (E = this.meteogramData) == null || E.hours.push(""), (M = this.meteogramData) == null || M.temperatures.push(this.roundPrecision((b = d == null ? void 0 : d.weather) == null ? void 0 : b.temp, 0)), (k = this.meteogramData) == null || k.precip.push(this.roundPrecision((v = (O = d == null ? void 0 : d.weather) == null ? void 0 : O.precip) == null ? void 0 : v.sum, 0)), (x = this.meteogramData) == null || x.windspeed.push(this.roundPrecision((Y = (j = d.weather) == null ? void 0 : j.wind) == null ? void 0 : Y.kts, 1)), (G = this.meteogramData) == null || G.windGusts.push(this.roundPrecision((N = (z = d == null ? void 0 : d.weather) == null ? void 0 : z.wind) == null ? void 0 : N.gusts, 1)), (a = this.meteogramData) == null || a.sigWaveHeight.push(this.roundPrecision((F = (T = d == null ? void 0 : d.wave) == null ? void 0 : T.sig) == null ? void 0 : F.height)), (R = this.meteogramData) == null || R.swellHeight.push(this.roundPrecision((J = (l = d == null ? void 0 : d.wave) == null ? void 0 : l.swell) == null ? void 0 : J.height)), f % 6 === 0 ? ((q = this.meteogramData) == null || q.weatherIcons.push({ symbol: "image://" + ((W = d.weather) == null ? void 0 : W.url), symbolSize: 24 }), (Z = this.meteogramData) == null || Z.weatherNames.push((V = d.weather) == null ? void 0 : V.name)) : ((w = this.meteogramData) == null || w.weatherIcons.push({ symbol: "image://" + ((_ = d.weather) == null ? void 0 : _.url), symbolSize: 0 }), (P = this.meteogramData) == null || P.weatherNames.push("")), f % 2 === 0 ? (p = this.meteogramData) == null || p.windDir.push((y = (I = d.weather) == null ? void 0 : I.wind) == null ? void 0 : y.degree) : (Ae = this.meteogramData) == null || Ae.windDir.push(""), f % 2 === 0) {
1153
+ const $ = document.createElement("canvas"), ie = $.getContext("2d");
1154
+ $.width = n.width, $.height = n.height;
1155
+ const ce = ((ee = this.meteogramData) == null ? void 0 : ee.windDir[f]) * (Math.PI / 180);
1156
+ ie.translate($.width / 2, $.height / 2), ie.rotate(ce), ie.translate(-n.width / 2, -n.height / 2), ie.drawImage(n, 0, 0, 64, 64);
1157
+ const de = $.toDataURL();
1158
+ this.meteogramData.windDirIcons[`WindIcon${f}`] = {
1159
+ height: 12,
1160
+ width: 12,
1161
+ align: "left",
1162
+ backgroundColor: {
1163
+ image: de
1164
+ }
1165
+ };
1166
+ } else
1167
+ this.meteogramData.windDirIcons[`WindIcon${f}`] = {
1168
+ height: 0,
1169
+ width: 0,
1170
+ align: "left",
1171
+ backgroundColor: "none"
1172
+ };
1173
+ (te = d == null ? void 0 : d.weather) != null && te.isDay ? e.end === void 0 && e.start >= 0 && (e.end = f) : e.start === void 0 && (e.start = f), (e.start >= 0 && e.end >= 0 || e.start >= 0 && f === 7 * 24 - 1) && ((r = this.meteogramData) == null || r.markarea.push(
1174
+ [
1175
+ {
1176
+ x: 4 + e.start / (7 * 24) * 92 + "%"
1177
+ },
1178
+ {
1179
+ x: 4 + (e.end + 1) / (7 * 24) * 92 + "%"
1180
+ }
1181
+ ]
1182
+ ), e = { start: void 0, end: void 0 });
1183
+ }
1184
+ this.meteogramData.offset = 4 + 0.5 / ((re = (ne = this.meteogramData) == null ? void 0 : ne.dates) == null ? void 0 : re.length) * 92 + "%", this.$nextTick(() => {
1185
+ this.initMeteogramEchart();
1186
+ });
1187
+ };
1068
1188
  },
1069
- async fetchSuggestPosition(l) {
1070
- var h;
1071
- const t = l.replaceAll(",", ",");
1072
- if (!t)
1073
- return this.positionList = this.collectList, !1;
1074
- const e = await kt.get(`https://cbe.idmwx.com/api/arc/ports/suggest?n=${t}`, {
1075
- headers: {
1076
- Authorization: this.token
1189
+ handleMeteogramData14() {
1190
+ this.meteogramData = {
1191
+ xDates: [],
1192
+ dates: [],
1193
+ hours: [],
1194
+ temperatures: [],
1195
+ weatherIcons: [],
1196
+ weatherNames: [],
1197
+ windspeed: [],
1198
+ windGusts: [],
1199
+ windDir: [],
1200
+ windDirIcons: {},
1201
+ precip: [],
1202
+ sigWaveHeight: [],
1203
+ swellHeight: [],
1204
+ markarea: [],
1205
+ offset: void 0
1206
+ };
1207
+ let e = { start: void 0, end: void 0 };
1208
+ const t = "data:image/svg+xml;base64," + window.btoa(
1209
+ unescape(
1210
+ encodeURIComponent(
1211
+ '<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>'
1212
+ )
1213
+ )
1214
+ ), n = new Image(64, 64);
1215
+ n.src = t, n.onload = () => {
1216
+ var s, C, L, H, Q, E, b, M, O, v, k, j, Y, x, z, N, G, T, F, a, l, J, R, W, q, V, Z, _, w, P, I, y, p, Ae, ee, te, r, ne, re;
1217
+ this.loading.meteogramEchart = !1;
1218
+ for (let f = 0; f < 14 * 24; f++) {
1219
+ const ae = we(this.pickedDate).clone().add(f, "h");
1220
+ (s = this.meteogramData) == null || s.dates.push(ae);
1221
+ const d = ((C = Ie.pickHourly(this.meteoData, ae)) == null ? void 0 : C[0]) || {};
1222
+ if ((H = this.meteogramData) == null || H.temperatures.push(this.roundPrecision((L = d == null ? void 0 : d.weather) == null ? void 0 : L.temp, 0)), (b = this.meteogramData) == null || b.precip.push(this.roundPrecision((E = (Q = d == null ? void 0 : d.weather) == null ? void 0 : Q.precip) == null ? void 0 : E.sum, 0)), (v = this.meteogramData) == null || v.windspeed.push(this.roundPrecision((O = (M = d.weather) == null ? void 0 : M.wind) == null ? void 0 : O.kts, 1)), (Y = this.meteogramData) == null || Y.windGusts.push(this.roundPrecision((j = (k = d == null ? void 0 : d.weather) == null ? void 0 : k.wind) == null ? void 0 : j.gusts, 1)), (N = this.meteogramData) == null || N.sigWaveHeight.push(this.roundPrecision((z = (x = d == null ? void 0 : d.wave) == null ? void 0 : x.sig) == null ? void 0 : z.height)), (F = this.meteogramData) == null || F.swellHeight.push(this.roundPrecision((T = (G = d == null ? void 0 : d.wave) == null ? void 0 : G.swell) == null ? void 0 : T.height)), f % 12 === 0 && f % 24 !== 0 ? (a = this.meteogramData) == null || a.xDates.push(me(ae).tz(this.positionGmt).format("MMM-DD")) : (l = this.meteogramData) == null || l.xDates.push(""), f % 6 === 0 ? (J = this.meteogramData) == null || J.hours.push(this.computeHourLT(ae)) : (R = this.meteogramData) == null || R.hours.push(""), f % 9 === 0 ? ((q = this.meteogramData) == null || q.weatherIcons.push({ symbol: "image://" + ((W = d.weather) == null ? void 0 : W.url), symbolSize: 24 }), (Z = this.meteogramData) == null || Z.weatherNames.push((V = d.weather) == null ? void 0 : V.name)) : ((w = this.meteogramData) == null || w.weatherIcons.push({ symbol: "image://" + ((_ = d.weather) == null ? void 0 : _.url), symbolSize: 0 }), (P = this.meteogramData) == null || P.weatherNames.push("")), f % 6 === 0 ? (p = this.meteogramData) == null || p.windDir.push((y = (I = d.weather) == null ? void 0 : I.wind) == null ? void 0 : y.degree) : (Ae = this.meteogramData) == null || Ae.windDir.push(""), f % 6 === 0) {
1223
+ const $ = document.createElement("canvas"), ie = $.getContext("2d");
1224
+ $.width = n.width, $.height = n.height;
1225
+ const ce = ((ee = this.meteogramData) == null ? void 0 : ee.windDir[f]) * (Math.PI / 180);
1226
+ ie.translate($.width / 2, $.height / 2), ie.rotate(ce), ie.translate(-n.width / 2, -n.height / 2), ie.drawImage(n, 0, 0, 64, 64);
1227
+ const de = $.toDataURL();
1228
+ this.meteogramData.windDirIcons[`WindIcon${f}`] = {
1229
+ height: 12,
1230
+ width: 12,
1231
+ align: "left",
1232
+ backgroundColor: {
1233
+ image: de
1234
+ }
1235
+ };
1236
+ } else
1237
+ this.meteogramData.windDirIcons[`WindIcon${f}`] = {
1238
+ height: 0,
1239
+ width: 0,
1240
+ align: "left",
1241
+ backgroundColor: "none"
1242
+ };
1243
+ (te = d == null ? void 0 : d.weather) != null && te.isDay ? e.end === void 0 && e.start >= 0 && (e.end = f) : e.start === void 0 && (e.start = f), (e.start >= 0 && e.end >= 0 || e.start >= 0 && f === 14 * 24 - 1) && ((r = this.meteogramData) == null || r.markarea.push(
1244
+ [
1245
+ {
1246
+ x: 4 + e.start / (14 * 24) * 92 + "%"
1247
+ },
1248
+ {
1249
+ x: 4 + (e.end + 1) / (14 * 24) * 92 + "%"
1250
+ }
1251
+ ]
1252
+ ), e = { start: void 0, end: void 0 });
1077
1253
  }
1078
- });
1079
- (e == null ? void 0 : e.data.code) === 0 && (this.positionList = (h = e == null ? void 0 : e.data.data) == null ? void 0 : h.map((s) => (s.name = s.id ? s.name : this.computeLat(s.lat) + ", " + this.computeLng(s.lng), s)));
1254
+ this.meteogramData.offset = 4 + 0.5 / ((re = (ne = this.meteogramData) == null ? void 0 : ne.dates) == null ? void 0 : re.length) * 92 + "%", this.$nextTick(() => {
1255
+ this.initMeteogramEchart();
1256
+ });
1257
+ };
1080
1258
  },
1081
- handleSearch() {
1082
- var l, t, e;
1083
- this.searchName && (this.handleClear(), this.position = {
1084
- portId: (l = this.positionList.find((h) => h.name === this.searchName)) == null ? void 0 : l.id,
1085
- lat: (t = this.positionList.find((h) => h.name === this.searchName)) == null ? void 0 : t.lat,
1086
- lng: (e = this.positionList.find((h) => h.name === this.searchName)) == null ? void 0 : e.lng,
1087
- name: this.searchName
1088
- }, this.$emit("url", this.position), this.handleFetchMeteo());
1259
+ initMeteogramEchart() {
1260
+ var M, O, v, k, j, Y, x, z, N, G, T, F, a, l, J, R, W, q, V, Z, _, w, P, I, y, p, Ae, ee, te, r, ne, re, f, ae, d, $, ie, le, ce, de, fe, he;
1261
+ const h = pe.init(document.getElementById("weather-icons")), e = {
1262
+ grid: {
1263
+ show: !0,
1264
+ bottom: "0%",
1265
+ top: "0%",
1266
+ left: "4%",
1267
+ right: "4%",
1268
+ borderColor: "#666",
1269
+ borderWidth: 1
1270
+ },
1271
+ tooltip: {
1272
+ trigger: "item",
1273
+ show: !0,
1274
+ position: "right",
1275
+ formatter: (g) => {
1276
+ const oe = g == null ? void 0 : g.dataIndex;
1277
+ return g.seriesName === "Weather Icons" ? `<strong>${this.meteogramData.weatherNames[oe]}</strong>` : !1;
1278
+ }
1279
+ },
1280
+ legend: {
1281
+ show: !1,
1282
+ right: "4%"
1283
+ },
1284
+ xAxis: {
1285
+ left: 0,
1286
+ right: 0,
1287
+ top: "50%",
1288
+ height: "50%",
1289
+ type: "category",
1290
+ data: (M = this.meteogramData) == null ? void 0 : M.dates,
1291
+ show: !1
1292
+ },
1293
+ axisLine: {
1294
+ show: !1
1295
+ },
1296
+ singleAxis: [
1297
+ {
1298
+ left: (O = this.meteogramData) == null ? void 0 : O.offset,
1299
+ right: (v = this.meteogramData) == null ? void 0 : v.offset,
1300
+ type: "category",
1301
+ show: !1,
1302
+ axisLine: {
1303
+ show: !1
1304
+ // 隐藏轴线
1305
+ },
1306
+ axisTick: {
1307
+ show: !1
1308
+ // 隐藏刻度
1309
+ },
1310
+ axisLabel: {
1311
+ show: !1
1312
+ // 隐藏刻度标签
1313
+ },
1314
+ splitLine: {
1315
+ show: !1
1316
+ // 隐藏分割线
1317
+ },
1318
+ boundaryGap: !1,
1319
+ data: (k = this.meteogramData) == null ? void 0 : k.dates,
1320
+ top: "25%",
1321
+ height: "2%"
1322
+ },
1323
+ {
1324
+ left: (j = this.meteogramData) == null ? void 0 : j.offset,
1325
+ right: (Y = this.meteogramData) == null ? void 0 : Y.offset,
1326
+ type: "category",
1327
+ show: !1,
1328
+ axisLine: {
1329
+ show: !1
1330
+ // 隐藏轴线
1331
+ },
1332
+ axisTick: {
1333
+ show: !1
1334
+ // 隐藏刻度
1335
+ },
1336
+ axisLabel: {
1337
+ show: !1
1338
+ // 隐藏刻度标签
1339
+ },
1340
+ splitLine: {
1341
+ show: !1
1342
+ // 隐藏分割线
1343
+ },
1344
+ boundaryGap: !1,
1345
+ data: (x = this.meteogramData) == null ? void 0 : x.dates,
1346
+ top: "70%",
1347
+ height: "2%"
1348
+ }
1349
+ ],
1350
+ yAxis: [],
1351
+ series: [
1352
+ {
1353
+ name: "Weather Icons",
1354
+ type: "scatter",
1355
+ singleAxisIndex: 0,
1356
+ coordinateSystem: "singleAxis",
1357
+ data: (z = this.meteogramData) == null ? void 0 : z.weatherIcons,
1358
+ symbolSize: 20
1359
+ },
1360
+ {
1361
+ singleAxisIndex: 1,
1362
+ coordinateSystem: "singleAxis",
1363
+ type: "scatter",
1364
+ data: (N = this.meteogramData) == null ? void 0 : N.windDir,
1365
+ label: {
1366
+ show: !0,
1367
+ rich: {
1368
+ ...(G = this.meteogramData) == null ? void 0 : G.windDirIcons,
1369
+ title: {
1370
+ align: "center",
1371
+ vertical: "center"
1372
+ }
1373
+ },
1374
+ formatter: function(g) {
1375
+ return `{WindIcon${g.dataIndex}|}`;
1376
+ }
1377
+ },
1378
+ symbolSize: 0
1379
+ }
1380
+ ]
1381
+ };
1382
+ h.setOption(e);
1383
+ let t = Math.max(...this.meteogramData.temperatures.filter((g) => typeof g == "number" && !isNaN(g))), s = Math.min(...this.meteogramData.temperatures.filter((g) => typeof g == "number" && !isNaN(g))) > 0 ? 0 : Math.min(...this.meteogramData.temperatures.filter((g) => typeof g == "number" && !isNaN(g))), C = Math.ceil(t / 5) * 5, L = Math.ceil((C - s) / 5);
1384
+ const H = pe.init(document.getElementById("weather-condition")), Q = {
1385
+ title: {
1386
+ text: "Weather conditions",
1387
+ top: "10px",
1388
+ left: "5px",
1389
+ textStyle: {
1390
+ fontWeight: "normal",
1391
+ fontSize: 14
1392
+ }
1393
+ },
1394
+ grid: {
1395
+ show: !0,
1396
+ bottom: "20%",
1397
+ top: "90px",
1398
+ left: "4%",
1399
+ right: "4%",
1400
+ borderColor: "#666",
1401
+ borderWidth: 1
1402
+ },
1403
+ tooltip: {
1404
+ trigger: "axis",
1405
+ show: !0,
1406
+ position: "right",
1407
+ formatter: (g) => {
1408
+ var c, ue, u, m, se, ge;
1409
+ const oe = (c = g == null ? void 0 : g[0]) == null ? void 0 : c.dataIndex;
1410
+ return g.find((Ce) => Ce.seriesType === "scatter") ? !1 : `<div style="font-size: 13px;"><strong>${me((ue = this.meteogramData) == null ? void 0 : ue.dates[oe]).tz(this.positionGmt).format("MMM-DD/HHmm[LT]")}</strong></div>
1411
+ <div style="display: ${(u = this.meteogramData) != null && u.weatherNames[oe] ? "block" : "none"}; font-size: 13px;">
1412
+ <span>Weather : </span><strong>${(m = this.meteogramData) == null ? void 0 : m.weatherNames[oe]}</strong>
1413
+ </div>
1414
+ <div style="font-size: 13px;">
1415
+ <span style="display:inline-block; height: 10px;width: 10px;border-radius: 50%;background-color: #f2a71c;}"></span>
1416
+ <span>Temperature : </span><strong>${(se = g[0]) == null ? void 0 : se.value}</strong><span style="padding-left: 3px;">℃</span>
1417
+ </div>
1418
+ <div style="font-size: 13px;">
1419
+ <span style="display:inline-block; height: 10px;width: 10px;border-radius: 50%;background-color: #0c73a8;}"></span>
1420
+ <span>Precipitation : </span><strong>${(ge = g[1]) == null ? void 0 : ge.value}</strong><span style="padding-left: 3px;">mm</span>
1421
+ </div>`;
1422
+ }
1423
+ },
1424
+ legend: {
1425
+ show: !0,
1426
+ top: "10px",
1427
+ right: "4%",
1428
+ data: ["Temperature", "Precipitation"],
1429
+ itemWidth: 40
1430
+ },
1431
+ xAxis: {
1432
+ left: 0,
1433
+ right: 0,
1434
+ top: "50%",
1435
+ height: "50%",
1436
+ type: "category",
1437
+ data: (T = this.meteogramData) == null ? void 0 : T.dates,
1438
+ show: !1
1439
+ },
1440
+ axisLine: {
1441
+ show: !0
1442
+ },
1443
+ singleAxis: [
1444
+ {
1445
+ left: (F = this.meteogramData) == null ? void 0 : F.offset,
1446
+ right: (a = this.meteogramData) == null ? void 0 : a.offset,
1447
+ type: "category",
1448
+ show: !1,
1449
+ axisLine: {
1450
+ show: !1
1451
+ // 隐藏轴线
1452
+ },
1453
+ axisTick: {
1454
+ show: !1
1455
+ // 隐藏刻度
1456
+ },
1457
+ axisLabel: {
1458
+ show: !1
1459
+ // 隐藏刻度标签
1460
+ },
1461
+ splitLine: {
1462
+ show: !1
1463
+ // 隐藏分割线
1464
+ },
1465
+ boundaryGap: !1,
1466
+ data: (l = this.meteogramData) == null ? void 0 : l.dates,
1467
+ top: "17%",
1468
+ height: "2%"
1469
+ },
1470
+ {
1471
+ left: (J = this.meteogramData) == null ? void 0 : J.offset,
1472
+ right: (R = this.meteogramData) == null ? void 0 : R.offset,
1473
+ type: "category",
1474
+ show: !1,
1475
+ axisLine: {
1476
+ show: !1
1477
+ // 隐藏轴线
1478
+ },
1479
+ axisTick: {
1480
+ show: !1
1481
+ // 隐藏刻度
1482
+ },
1483
+ axisLabel: {
1484
+ show: !1
1485
+ // 隐藏刻度标签
1486
+ },
1487
+ splitLine: {
1488
+ show: !1
1489
+ // 隐藏分割线
1490
+ },
1491
+ boundaryGap: !1,
1492
+ data: (W = this.meteogramData) == null ? void 0 : W.dates,
1493
+ top: "27%",
1494
+ height: "2%"
1495
+ },
1496
+ {
1497
+ left: (q = this.meteogramData) == null ? void 0 : q.offset,
1498
+ right: (V = this.meteogramData) == null ? void 0 : V.offset,
1499
+ type: "category",
1500
+ show: !1,
1501
+ axisLine: {
1502
+ show: !1
1503
+ // 隐藏轴线
1504
+ },
1505
+ axisTick: {
1506
+ show: !1
1507
+ // 隐藏刻度
1508
+ },
1509
+ axisLabel: {
1510
+ show: !1
1511
+ // 隐藏刻度标签
1512
+ },
1513
+ splitLine: {
1514
+ show: !1
1515
+ // 隐藏分割线
1516
+ },
1517
+ boundaryGap: !1,
1518
+ data: (Z = this.meteogramData) == null ? void 0 : Z.dates,
1519
+ top: "84%",
1520
+ height: "2%"
1521
+ },
1522
+ {
1523
+ left: (_ = this.meteogramData) == null ? void 0 : _.offset,
1524
+ right: (w = this.meteogramData) == null ? void 0 : w.offset,
1525
+ type: "category",
1526
+ show: !1,
1527
+ axisLine: {
1528
+ show: !1
1529
+ // 隐藏轴线
1530
+ },
1531
+ axisTick: {
1532
+ show: !1
1533
+ // 隐藏刻度
1534
+ },
1535
+ axisLabel: {
1536
+ show: !1
1537
+ // 隐藏刻度标签
1538
+ },
1539
+ splitLine: {
1540
+ show: !1
1541
+ // 隐藏分割线
1542
+ },
1543
+ boundaryGap: !1,
1544
+ data: (P = this.meteogramData) == null ? void 0 : P.dates,
1545
+ top: "92%",
1546
+ height: "2%"
1547
+ }
1548
+ ],
1549
+ yAxis: [
1550
+ {
1551
+ type: "value",
1552
+ name: "Temperature ( ℃ ) ",
1553
+ show: !0,
1554
+ min: s,
1555
+ max: C,
1556
+ interval: L,
1557
+ splitNumber: 5,
1558
+ nameRotate: 90,
1559
+ nameLocation: "middle",
1560
+ nameGap: 25,
1561
+ splitLine: {
1562
+ show: !0,
1563
+ // lineStyle: {
1564
+ // color: '#999',
1565
+ // },
1566
+ z: 0,
1567
+ zlevel: 0
1568
+ }
1569
+ },
1570
+ {
1571
+ position: "right",
1572
+ type: "value",
1573
+ name: "Precipitation ( mm ) ",
1574
+ min: 0,
1575
+ max: Math.ceil(Math.max(...this.meteogramData.precip.filter((g) => typeof g == "number" && !isNaN(g))) / 5) * 5,
1576
+ interval: Math.ceil(t / 5),
1577
+ splitNumber: 5,
1578
+ show: !0,
1579
+ nameRotate: 90,
1580
+ nameLocation: "middle",
1581
+ nameGap: 20,
1582
+ splitLine: {
1583
+ show: !0,
1584
+ // lineStyle: {
1585
+ // color: '#999',
1586
+ // },
1587
+ z: 0,
1588
+ zlevel: 0
1589
+ }
1590
+ }
1591
+ ],
1592
+ series: [
1593
+ {
1594
+ name: "Temperature",
1595
+ type: "line",
1596
+ yAxisIndex: 0,
1597
+ data: (I = this.meteogramData) == null ? void 0 : I.temperatures,
1598
+ symbol: "none",
1599
+ smooth: !1,
1600
+ itemStyle: {
1601
+ color: "rgb(242,167,28)"
1602
+ },
1603
+ label: {
1604
+ show: !1
1605
+ },
1606
+ markArea: {
1607
+ z: -1,
1608
+ zlevel: -1,
1609
+ itemStyle: {
1610
+ color: "rgba(239,239,239,0.6)"
1611
+ },
1612
+ data: (y = this.meteogramData) == null ? void 0 : y.markarea,
1613
+ emphasis: {
1614
+ disabled: !0
1615
+ }
1616
+ }
1617
+ },
1618
+ {
1619
+ name: "Precipitation",
1620
+ type: "bar",
1621
+ yAxisIndex: 1,
1622
+ data: (p = this.meteogramData) == null ? void 0 : p.precip,
1623
+ itemStyle: {
1624
+ color: "#0c73a8"
1625
+ },
1626
+ label: {
1627
+ show: !1
1628
+ }
1629
+ },
1630
+ {
1631
+ singleAxisIndex: 2,
1632
+ coordinateSystem: "singleAxis",
1633
+ type: "scatter",
1634
+ data: (Ae = this.meteogramData) == null ? void 0 : Ae.hours,
1635
+ label: {
1636
+ show: !0,
1637
+ fontSize: 11,
1638
+ formatter: "{c}"
1639
+ },
1640
+ itemStyle: {
1641
+ color: "#fff"
1642
+ },
1643
+ symbolSize: 0
1644
+ },
1645
+ {
1646
+ singleAxisIndex: 3,
1647
+ coordinateSystem: "singleAxis",
1648
+ type: "scatter",
1649
+ data: (ee = this.meteogramData) == null ? void 0 : ee.xDates,
1650
+ label: {
1651
+ show: !0,
1652
+ fontSize: 13,
1653
+ formatter: "{c}"
1654
+ },
1655
+ itemStyle: {
1656
+ color: "#fff"
1657
+ },
1658
+ symbolSize: 0
1659
+ }
1660
+ ]
1661
+ };
1662
+ H.setOption(Q);
1663
+ const E = pe.init(document.getElementById("wave-swell")), b = {
1664
+ title: {
1665
+ text: "Weather conditions",
1666
+ top: "10px",
1667
+ left: "5px",
1668
+ textStyle: {
1669
+ fontWeight: "normal",
1670
+ fontSize: 14
1671
+ }
1672
+ },
1673
+ grid: {
1674
+ show: !0,
1675
+ bottom: "20%",
1676
+ top: "40px",
1677
+ left: "4%",
1678
+ right: "4%",
1679
+ borderColor: "#666",
1680
+ borderWidth: 1
1681
+ },
1682
+ tooltip: {
1683
+ trigger: "axis",
1684
+ triggerOn: "mousemove",
1685
+ show: !0,
1686
+ position: "right",
1687
+ formatter: (g) => {
1688
+ var c, ue, u, m, se, ge;
1689
+ const oe = (c = g == null ? void 0 : g[0]) == null ? void 0 : c.dataIndex;
1690
+ return g.find((Ce) => Ce.seriesType === "scatter") ? !1 : `<div style="font-size: 13px;"><strong>${me((ue = this.meteogramData) == null ? void 0 : ue.dates[oe]).tz(this.positionGmt).format("MMM-DD/HHmm[LT]")}</strong></div>
1691
+ <div style="font-size: 13px;">
1692
+ <span style="display:inline-block; height: 10px;width: 10px;border-radius: 50%;background-color: #0ddd9f;}"></span>
1693
+ <span>Wind Speed : </span><strong>${(u = g[0]) == null ? void 0 : u.value}</strong><span style="padding-left: 3px;">kts</span>
1694
+ </div>
1695
+ <div style="font-size: 13px;">
1696
+ <span style="display:inline-block; height: 10px;width: 10px;border-radius: 50%;background-color: #06a074;}"></span>
1697
+ <span>Wind Gusts : </span><strong>${(m = g[1]) == null ? void 0 : m.value}</strong><span style="padding-left: 3px;">kts</span>
1698
+ </div>
1699
+ <div style="font-size: 13px;">
1700
+ <span style="display:inline-block; height: 10px;width: 10px;border-radius: 50%;background-color: #2a57b7;}"></span>
1701
+ <span>Sig.Wave Height : </span><strong>${(se = g[2]) == null ? void 0 : se.value}</strong><span style="padding-left: 3px;">m</span>
1702
+ </div>
1703
+ <div style="font-size: 13px;">
1704
+ <span style="display:inline-block; height: 10px;width: 10px;border-radius: 50%;background-color: #673AB7;"></span>
1705
+ <span>Swell Height : </span><strong>${(ge = g[3]) == null ? void 0 : ge.value}</strong><span style="padding-left: 3px;">m</span>
1706
+ </div>`;
1707
+ }
1708
+ },
1709
+ legend: {
1710
+ // show: false,
1711
+ right: "4%",
1712
+ top: "5%",
1713
+ itemWidth: 40,
1714
+ data: ["Wind Speed", "Wind Gusts", "Sig.Wave Height", "Swell Height"]
1715
+ },
1716
+ xAxis: {
1717
+ left: 0,
1718
+ right: 0,
1719
+ top: "50%",
1720
+ height: "50%",
1721
+ type: "category",
1722
+ data: (te = this.meteogramData) == null ? void 0 : te.dates,
1723
+ show: !1
1724
+ },
1725
+ axisLine: {
1726
+ show: !0
1727
+ },
1728
+ singleAxis: [
1729
+ {
1730
+ left: (r = this.meteogramData) == null ? void 0 : r.offset,
1731
+ right: (ne = this.meteogramData) == null ? void 0 : ne.offset,
1732
+ type: "category",
1733
+ show: !1,
1734
+ axisLine: {
1735
+ show: !1
1736
+ // 隐藏轴线
1737
+ },
1738
+ axisTick: {
1739
+ show: !1
1740
+ // 隐藏刻度
1741
+ },
1742
+ axisLabel: {
1743
+ show: !1
1744
+ // 隐藏刻度标签
1745
+ },
1746
+ splitLine: {
1747
+ show: !1
1748
+ // 隐藏分割线
1749
+ },
1750
+ boundaryGap: !1,
1751
+ data: (re = this.meteogramData) == null ? void 0 : re.dates,
1752
+ top: "84%",
1753
+ height: "2%"
1754
+ },
1755
+ {
1756
+ left: (f = this.meteogramData) == null ? void 0 : f.offset,
1757
+ right: (ae = this.meteogramData) == null ? void 0 : ae.offset,
1758
+ type: "category",
1759
+ show: !1,
1760
+ axisLine: {
1761
+ show: !1
1762
+ // 隐藏轴线
1763
+ },
1764
+ axisTick: {
1765
+ show: !1
1766
+ // 隐藏刻度
1767
+ },
1768
+ axisLabel: {
1769
+ show: !1
1770
+ // 隐藏刻度标签
1771
+ },
1772
+ splitLine: {
1773
+ show: !1
1774
+ // 隐藏分割线
1775
+ },
1776
+ boundaryGap: !1,
1777
+ data: (d = this.meteogramData) == null ? void 0 : d.dates,
1778
+ top: "92%",
1779
+ height: "2%"
1780
+ }
1781
+ ],
1782
+ yAxis: [
1783
+ {
1784
+ type: "value",
1785
+ name: "Wind Speed ( kts )",
1786
+ show: !0,
1787
+ min: 0,
1788
+ max: Math.ceil(Math.max(...[...this.meteogramData.windGusts, ...this.meteogramData.windspeed].filter((g) => typeof g == "number" && !isNaN(g))) / 5) * 5,
1789
+ interval: Math.ceil(Math.max(...[...this.meteogramData.windGusts, ...this.meteogramData.windspeed].filter((g) => typeof g == "number" && !isNaN(g))) / 5),
1790
+ splitNumber: 5,
1791
+ nameRotate: 90,
1792
+ nameLocation: "middle",
1793
+ nameGap: 25
1794
+ },
1795
+ {
1796
+ position: "right",
1797
+ type: "value",
1798
+ name: "Sig.Wave & Swell ( m )",
1799
+ min: 0,
1800
+ max: Math.ceil(Math.max(...[...this.meteogramData.sigWaveHeight, ...this.meteogramData.swellHeight].filter((g) => typeof g == "number" && !isNaN(g))) / 5) * 5,
1801
+ interval: Math.ceil(Math.max(...[...this.meteogramData.sigWaveHeight, ...this.meteogramData.swellHeight].filter((g) => typeof g == "number" && !isNaN(g))) / 5),
1802
+ splitNumber: 5,
1803
+ show: !0,
1804
+ nameRotate: 90,
1805
+ nameLocation: "middle",
1806
+ nameGap: 20
1807
+ }
1808
+ ],
1809
+ series: [
1810
+ {
1811
+ name: "Wind Speed",
1812
+ type: "line",
1813
+ yAxisIndex: 0,
1814
+ data: ($ = this.meteogramData) == null ? void 0 : $.windspeed,
1815
+ symbol: "none",
1816
+ smooth: !1,
1817
+ itemStyle: {
1818
+ color: "#21baa3"
1819
+ },
1820
+ label: {
1821
+ // show: false,
1822
+ },
1823
+ markArea: {
1824
+ itemStyle: {
1825
+ color: "rgba(239,239,239,0.6)"
1826
+ },
1827
+ data: (ie = this.meteogramData) == null ? void 0 : ie.markarea,
1828
+ emphasis: {
1829
+ disabled: !0
1830
+ }
1831
+ }
1832
+ },
1833
+ {
1834
+ name: "Wind Gusts",
1835
+ type: "line",
1836
+ yAxisIndex: 0,
1837
+ data: (le = this.meteogramData) == null ? void 0 : le.windGusts,
1838
+ symbol: "none",
1839
+ smooth: !1,
1840
+ itemStyle: {
1841
+ color: "#038a64"
1842
+ },
1843
+ lineStyle: {
1844
+ color: "#038a64",
1845
+ type: "dashed"
1846
+ },
1847
+ label: {
1848
+ show: !1
1849
+ }
1850
+ },
1851
+ {
1852
+ name: "Sig.Wave Height",
1853
+ type: "line",
1854
+ yAxisIndex: 1,
1855
+ data: (ce = this.meteogramData) == null ? void 0 : ce.sigWaveHeight,
1856
+ symbol: "none",
1857
+ smooth: !1,
1858
+ itemStyle: {
1859
+ color: "#2a57b7"
1860
+ },
1861
+ label: {
1862
+ show: !1
1863
+ }
1864
+ },
1865
+ {
1866
+ name: "Swell Height",
1867
+ type: "line",
1868
+ yAxisIndex: 1,
1869
+ data: (de = this.meteogramData) == null ? void 0 : de.swellHeight,
1870
+ symbol: "none",
1871
+ smooth: !1,
1872
+ itemStyle: {
1873
+ color: "#673AB7"
1874
+ },
1875
+ label: {
1876
+ show: !1
1877
+ }
1878
+ },
1879
+ {
1880
+ name: "Hours",
1881
+ singleAxisIndex: 0,
1882
+ coordinateSystem: "singleAxis",
1883
+ type: "scatter",
1884
+ data: (fe = this.meteogramData) == null ? void 0 : fe.hours,
1885
+ itemStyle: {
1886
+ color: "#fff"
1887
+ },
1888
+ label: {
1889
+ show: !0,
1890
+ fontSize: 10,
1891
+ formatter: "{c}"
1892
+ },
1893
+ symbolSize: 0
1894
+ },
1895
+ {
1896
+ name: "Dates",
1897
+ singleAxisIndex: 1,
1898
+ coordinateSystem: "singleAxis",
1899
+ type: "scatter",
1900
+ data: (he = this.meteogramData) == null ? void 0 : he.xDates,
1901
+ itemStyle: {
1902
+ color: "#fff"
1903
+ },
1904
+ label: {
1905
+ show: !0,
1906
+ fontSize: 13,
1907
+ formatter: "{c}"
1908
+ },
1909
+ symbolSize: 0
1910
+ }
1911
+ ]
1912
+ };
1913
+ E.setOption(b);
1089
1914
  },
1090
- async handleFetchMeteo() {
1091
- if (!this.token)
1092
- return !1;
1093
- this.loading = !0;
1094
- const l = {
1095
- lat: this.position.lat,
1096
- lng: this.position.lng,
1097
- forecastDays: 8,
1098
- selfHosted: !1
1099
- }, t = await kt.post("https://cbe.idmwx.com/api/arc/meteo2/spot/forecast", l, {
1100
- headers: {
1101
- Authorization: this.token
1102
- }
1103
- });
1104
- (t == null ? void 0 : t.data.code) === 0 && (this.meteoData = {
1105
- ...t == null ? void 0 : t.data.data
1106
- }), this.loading = !1, this.handleRender();
1915
+ disposeEcharts() {
1916
+ document.getElementById("weather-chart") && pe.dispose(document.getElementById("weather-chart")), document.getElementById("weather-icons") && pe.dispose(document.getElementById("weather-icons")), document.getElementById("weather-condition") && pe.dispose(document.getElementById("weather-condition")), document.getElementById("wave-swell") && pe.dispose(document.getElementById("wave-swell"));
1107
1917
  },
1108
- handleClear() {
1109
- this.position = {}, this.meteoData = {}, this.isCollected = !1, wt && document.getElementById("weather-chart") && wt.dispose(document.getElementById("weather-chart"));
1918
+ initHoursTableData() {
1919
+ var h, e, t, n, s, C, L, H, Q, E, b, M, O, v, k, j, Y, x, z, N, G, T, F, a, l, J, R, W, q, V, Z, _, w, P;
1920
+ this.hoursTableData = {
1921
+ hours: [],
1922
+ utcHours: [],
1923
+ weatherUrls: [],
1924
+ weatherNames: [],
1925
+ temp: [],
1926
+ precipProbability: [],
1927
+ precip1h: [],
1928
+ visibility: [],
1929
+ humidity: [],
1930
+ windSpeed: [],
1931
+ windDir: [],
1932
+ windGust: [],
1933
+ sigwaveHeight: [],
1934
+ sigwaveDir: [],
1935
+ windwaveHeight: [],
1936
+ windwaveDir: [],
1937
+ windwavePeriod: [],
1938
+ swellHeight: [],
1939
+ swellDir: [],
1940
+ swellPeriod: [],
1941
+ currentSpeed: [],
1942
+ currentDir: [],
1943
+ seaLevel: [],
1944
+ seaTemp: []
1945
+ };
1946
+ for (let I = 0; I < 24; I++) {
1947
+ const y = we(this.pickedDate).clone().add(I, "h").format();
1948
+ this.hoursTableData.hours.push(y);
1949
+ const p = ((h = Ie.pickHourly(this.meteoData, y)) == null ? void 0 : h[0]) || {};
1950
+ this.hoursTableData.weatherUrls.push((e = p.weather) == null ? void 0 : e.url), this.hoursTableData.weatherNames.push(((t = p.weather) == null ? void 0 : t.name) ?? "-"), this.hoursTableData.temp.push(this.roundPrecision((n = p.weather) == null ? void 0 : n.temp, 0) ?? "-"), this.hoursTableData.precipProbability.push(this.roundPrecision((C = (s = p.weather) == null ? void 0 : s.precip) == null ? void 0 : C.probability, 0) ?? "-"), this.hoursTableData.precip1h.push(this.roundPrecision((H = (L = p.weather) == null ? void 0 : L.precip) == null ? void 0 : H.sum, 0) ?? "-"), this.hoursTableData.visibility.push(this.roundPrecision((Q = p.weather) == null ? void 0 : Q.visibility, 0) ?? "-"), this.hoursTableData.humidity.push(this.roundPrecision((E = p.weather) == null ? void 0 : E.rh, 0) ?? "-"), this.hoursTableData.windSpeed.push(this.roundPrecision((M = (b = p.weather) == null ? void 0 : b.wind) == null ? void 0 : M.kts, 1)), this.hoursTableData.windDir.push((v = (O = p.weather) == null ? void 0 : O.wind) == null ? void 0 : v.bearing), this.hoursTableData.windGust.push(this.roundPrecision((j = (k = p.weather) == null ? void 0 : k.wind) == null ? void 0 : j.gusts, 1) ?? "-"), this.hoursTableData.sigwaveHeight.push(this.roundPrecision((x = (Y = p.wave) == null ? void 0 : Y.sig) == null ? void 0 : x.height, 1) ?? "-"), this.hoursTableData.sigwaveDir.push((N = (z = p.wave) == null ? void 0 : z.sig) == null ? void 0 : N.bearing), this.hoursTableData.windwaveHeight.push(this.roundPrecision((T = (G = p.wave) == null ? void 0 : G.wd) == null ? void 0 : T.height, 1) ?? "-"), this.hoursTableData.windwaveDir.push((a = (F = p.wave) == null ? void 0 : F.wd) == null ? void 0 : a.bearing), this.hoursTableData.windwavePeriod.push(this.roundPrecision((J = (l = p.wave) == null ? void 0 : l.wd) == null ? void 0 : J.period, 1) ?? "-"), this.hoursTableData.swellHeight.push(this.roundPrecision((W = (R = p.wave) == null ? void 0 : R.swell) == null ? void 0 : W.height, 1) ?? "-"), this.hoursTableData.swellDir.push((V = (q = p.wave) == null ? void 0 : q.swell) == null ? void 0 : V.bearing), this.hoursTableData.swellPeriod.push(this.roundPrecision((_ = (Z = p.wave) == null ? void 0 : Z.swell) == null ? void 0 : _.period, 1) ?? "-"), this.hoursTableData.currentSpeed.push(this.roundPrecision((w = p.current) == null ? void 0 : w.speed, 1) ?? "-"), this.hoursTableData.currentDir.push((P = p.current) == null ? void 0 : P.bearing), this.hoursTableData.seaLevel.push(this.roundPrecision(p.height, 1) ?? "-"), this.hoursTableData.seaTemp.push(this.roundPrecision(p.sst, 0) ?? "-");
1951
+ }
1952
+ this.loading.hoursTable = !1;
1953
+ },
1954
+ handleClearHoursTable() {
1955
+ this.position = {}, this.meteoData = {}, this.isCollected = !1, pe && document.getElementById("weather-chart") && pe.dispose(document.getElementById("weather-chart"));
1956
+ },
1957
+ initDaysTableData() {
1958
+ var e, t, n, s, C, L, H, Q, E, b, M, O, v, k, j, Y, x, z, N, G, T, F, a, l, J, R, W, q, V, Z, _, w, P, I, y, p, Ae;
1959
+ this.daysTableData = [];
1960
+ const h = we().startOf("day");
1961
+ for (let ee = 0; ee < 14; ee++) {
1962
+ const te = h.clone().add(ee, "d").format(), r = ((e = Ie.pickDaily(this.meteoData, te)) == null ? void 0 : e[0]) || {};
1963
+ console.log(r), this.daysTableData.push(
1964
+ {
1965
+ localWeek: this.computeWeekLT(te),
1966
+ localDate: this.computeMMMDDLT(te),
1967
+ weatherUrl: (t = r == null ? void 0 : r.weather) == null ? void 0 : t.url,
1968
+ minTemp: this.roundPrecision((s = (n = r == null ? void 0 : r.weather) == null ? void 0 : n.temp) == null ? void 0 : s.min, 0) ?? "-",
1969
+ maxTemp: this.roundPrecision((L = (C = r == null ? void 0 : r.weather) == null ? void 0 : C.temp) == null ? void 0 : L.max, 0) ?? "-",
1970
+ weatherName: (H = r == null ? void 0 : r.weather) == null ? void 0 : H.name,
1971
+ precipSum: this.roundPrecision((E = (Q = r == null ? void 0 : r.weather) == null ? void 0 : Q.precip) == null ? void 0 : E.sum, 0) ?? "-",
1972
+ precipRainSum: this.roundPrecision((M = (b = r == null ? void 0 : r.weather) == null ? void 0 : b.precip) == null ? void 0 : M.rainSum, 0) ?? "-",
1973
+ precipSnowfallSum: this.roundPrecision((v = (O = r == null ? void 0 : r.weather) == null ? void 0 : O.precip) == null ? void 0 : v.snowfallSum, 0) ?? "-",
1974
+ windSpeedMax: this.roundPrecision((j = (k = r == null ? void 0 : r.weather) == null ? void 0 : k.wind) == null ? void 0 : j.kts, 1) ?? "-",
1975
+ windSpeedDir: (x = (Y = r == null ? void 0 : r.weather) == null ? void 0 : Y.wind) == null ? void 0 : x.bearing,
1976
+ gustSpeedMax: this.roundPrecision((N = (z = r == null ? void 0 : r.weather) == null ? void 0 : z.wind) == null ? void 0 : N.gusts, 1) ?? "-",
1977
+ windWaveHeight: this.roundPrecision((T = (G = r == null ? void 0 : r.wave) == null ? void 0 : G.wd) == null ? void 0 : T.height, 1) ?? "-",
1978
+ windWavePeriod: this.roundPrecision((a = (F = r == null ? void 0 : r.wave) == null ? void 0 : F.wd) == null ? void 0 : a.period, 1) ?? "-",
1979
+ windWaveDir: (J = (l = r == null ? void 0 : r.wave) == null ? void 0 : l.wd) == null ? void 0 : J.bearing,
1980
+ swellWaveHeight: this.roundPrecision((W = (R = r == null ? void 0 : r.wave) == null ? void 0 : R.swell) == null ? void 0 : W.height, 1) ?? "-",
1981
+ swellWavePeriod: this.roundPrecision((V = (q = r == null ? void 0 : r.wave) == null ? void 0 : q.swell) == null ? void 0 : V.period, 1) ?? "-",
1982
+ swellWaveDir: (_ = (Z = r == null ? void 0 : r.wave) == null ? void 0 : Z.swell) == null ? void 0 : _.bearing,
1983
+ sigWaveHeight: this.roundPrecision((P = (w = r == null ? void 0 : r.wave) == null ? void 0 : w.sig) == null ? void 0 : P.height, 1) ?? "-",
1984
+ sigWavePeriod: this.roundPrecision((y = (I = r == null ? void 0 : r.wave) == null ? void 0 : I.sig) == null ? void 0 : y.period, 1) ?? "-",
1985
+ sigWaveDir: (Ae = (p = r == null ? void 0 : r.wave) == null ? void 0 : p.sig) == null ? void 0 : Ae.bearing
1986
+ }
1987
+ );
1988
+ }
1989
+ this.loading.daysTable = !1;
1110
1990
  }
1111
1991
  }
1112
- }, Rt = { class: "spot-report" }, Et = { class: "header-box flex-between" }, At = { class: "bg" }, Gt = { class: "search-box flex-start" }, Ft = { class: "content-box" }, Ot = { class: "title-box flex-between" }, Bt = { class: "main-title" }, Vt = { class: "sub-title" }, Ut = { class: "flex-end" }, Zt = {
1992
+ }, Te = { class: "spot-report" }, Fe = { class: "search-header-box" }, Se = { class: "search-header-box-inner flex-between" }, Oe = { class: "search-box flex-start" }, je = { class: "menu-box flex-end" }, Ye = { class: "content-box" }, Ke = { class: "title-section flex-between" }, Ue = { class: "main-title" }, Xe = { class: "sub-title" }, Je = { class: "flex-end" }, Re = {
1113
1993
  key: 0,
1114
- id: "weather-chart"
1115
- }, Jt = {
1994
+ class: "weather-echart-section"
1995
+ }, We = {
1996
+ key: 0,
1997
+ id: "weather-chart",
1998
+ class: "weather-chart"
1999
+ }, qe = {
1116
2000
  key: 1,
1117
- class: "weather-chart flex-center"
1118
- }, Yt = {
2001
+ class: "weather-chart weather-chart-loading flex-center"
2002
+ }, Ve = {
1119
2003
  key: 2,
1120
2004
  class: "weather-chart flex-center"
1121
- }, jt = {
1122
- key: 3,
1123
- class: "card-box"
1124
- }, qt = { class: "date" }, Qt = { class: "basic-table" }, Kt = { class: "day" }, Xt = { class: "hour" }, $t = { class: "icon" }, te = ["src"], ee = { class: "text" }, se = { class: "text" }, ae = { class: "text" }, ie = { class: "text" }, ne = { class: "text" }, oe = { class: "text" }, re = { key: 1 }, le = { class: "text" }, he = { class: "text" }, de = { class: "wave-current-table" }, ce = { class: "text" }, pe = { class: "text" }, me = { key: 1 }, ue = { class: "text" }, we = { class: "text" }, ge = { class: "text" }, ve = { key: 1 }, be = { class: "text" }, xe = { class: "text" }, fe = { class: "text" }, ye = { key: 1 }, _e = { class: "text" }, ze = { class: "sea-table" }, ke = { class: "text" }, De = { class: "text" }, Se = {
1125
- key: 4,
1126
- class: "card-box flex-center"
1127
- }, Le = {
1128
- key: 5,
1129
- class: "card-box flex-center"
2005
+ }, Ze = { class: "meteogram-section" }, _e = {
2006
+ key: 0,
2007
+ class: "card"
2008
+ }, $e = {
2009
+ key: 1,
2010
+ class: "card flex-center"
2011
+ }, et = {
2012
+ key: 2,
2013
+ class: "card flex-center"
2014
+ }, tt = {
2015
+ key: 1,
2016
+ class: "hours-table-section"
2017
+ }, st = {
2018
+ key: 0,
2019
+ class: "card"
2020
+ }, At = { class: "date" }, at = { class: "basic-table" }, it = { class: "day" }, ot = { class: "hour" }, nt = { class: "icon" }, rt = ["src"], lt = { class: "text" }, ht = { class: "text" }, gt = { class: "text" }, dt = { class: "text" }, wt = { class: "text" }, ct = { class: "text" }, mt = { key: 1 }, ut = { class: "text" }, pt = { class: "text" }, Bt = { class: "wave-current-table" }, ft = { class: "text" }, Ct = { class: "text" }, Dt = { key: 1 }, It = { class: "text" }, xt = { class: "text" }, vt = { class: "text" }, yt = { key: 1 }, Qt = { class: "text" }, Et = { class: "text" }, bt = { class: "text" }, Mt = { key: 1 }, Lt = { class: "text" }, Ht = { class: "sea-table" }, zt = { class: "text" }, Pt = { class: "text" }, kt = {
2021
+ key: 1,
2022
+ class: "card flex-center"
2023
+ }, Nt = {
2024
+ key: 2,
2025
+ class: "card flex-center"
2026
+ }, Gt = {
2027
+ key: 2,
2028
+ class: "days-table-section"
2029
+ }, Tt = {
2030
+ key: 0,
2031
+ class: "card"
2032
+ }, Ft = {
2033
+ class: "conditions-table",
2034
+ style: { border: "1px solid var(--idm-black-1)" }
2035
+ }, St = {
2036
+ rowspan: "1",
2037
+ colspan: "1",
2038
+ class: "tr-title font-gray",
2039
+ style: { "text-align": "right", "padding-right": "5px", "box-sizing": "border-box" }
2040
+ }, Ot = {
2041
+ rowspan: "1",
2042
+ colspan: "1"
2043
+ }, jt = ["src"], Yt = {
2044
+ rowspan: "1",
2045
+ colspan: "1",
2046
+ class: "text-align-left"
2047
+ }, Kt = {
2048
+ rowspan: "1",
2049
+ colspan: "1",
2050
+ class: "text-align-left"
2051
+ }, Ut = {
2052
+ rowspan: "1",
2053
+ colspan: "1",
2054
+ class: "text-align-left"
2055
+ }, Xt = {
2056
+ rowspan: "1",
2057
+ colspan: "1",
2058
+ class: "text-align-left"
2059
+ }, Jt = {
2060
+ rowspan: "1",
2061
+ colspan: "1",
2062
+ class: "text-align-left"
2063
+ }, Rt = {
2064
+ rowspan: "1",
2065
+ colspan: "1",
2066
+ class: "text-align-left"
2067
+ }, Wt = { key: 1 }, qt = {
2068
+ rowspan: "1",
2069
+ colspan: "1",
2070
+ class: "text-align-left"
2071
+ }, Vt = {
2072
+ rowspan: "1",
2073
+ colspan: "1",
2074
+ class: "text-align-left"
2075
+ }, Zt = { key: 1 }, _t = {
2076
+ rowspan: "1",
2077
+ colspan: "1",
2078
+ class: "text-align-left"
2079
+ }, $t = { key: 1 }, es = {
2080
+ rowspan: "1",
2081
+ colspan: "1",
2082
+ class: "text-align-left"
2083
+ }, ts = { key: 1 }, ss = {
2084
+ key: 1,
2085
+ class: "card flex-center"
2086
+ }, As = {
2087
+ key: 2,
2088
+ class: "card flex-center"
1130
2089
  };
1131
- function Ne(l, t, e, h, s, v) {
1132
- var N, I, M, H;
1133
- const C = gt("ElOption"), P = gt("ElSelect"), L = gt("ElTooltip");
1134
- return o(), r("div", Rt, [
1135
- i("div", Et, [
1136
- i("div", At, [
1137
- i("div", Gt, [
1138
- vt(P, {
2090
+ function as(h, e, t, n, s, C) {
2091
+ var E, b, M, O, v, k, j, Y, x, z, N, G, T, F;
2092
+ const L = ye("ElOption"), H = ye("ElSelect"), Q = ye("ElTooltip");
2093
+ return i(), o("div", Te, [
2094
+ A("div", Fe, [
2095
+ A("div", Se, [
2096
+ A("div", Oe, [
2097
+ Qe(H, {
1139
2098
  modelValue: s.searchName,
1140
- "onUpdate:modelValue": t[0] || (t[0] = (a) => s.searchName = a),
2099
+ "onUpdate:modelValue": e[0] || (e[0] = (a) => s.searchName = a),
1141
2100
  filterable: "",
1142
2101
  class: "input",
1143
2102
  clearable: "",
@@ -1145,13 +2104,13 @@ function Ne(l, t, e, h, s, v) {
1145
2104
  placeholder: s.placeholder,
1146
2105
  autocomplete: "",
1147
2106
  "remote-show-suffix": "",
1148
- onFocus: t[1] || (t[1] = (a) => s.placeholder = ""),
1149
- onBlur: t[2] || (t[2] = (a) => s.placeholder = "search for port name or coordinates"),
1150
- "remote-method": v.fetchSuggestPosition,
1151
- onChange: v.handleSearch
2107
+ onFocus: e[1] || (e[1] = (a) => s.placeholder = ""),
2108
+ onBlur: e[2] || (e[2] = (a) => s.placeholder = "search for port name or coordinates"),
2109
+ "remote-method": C.fetchSuggestPosition,
2110
+ onChange: C.handleSearch
1152
2111
  }, {
1153
- default: bt(() => [
1154
- (o(!0), r(b, null, x(s.positionList, (a) => (o(), Pt(C, {
2112
+ default: Ee(() => [
2113
+ (i(!0), o(K, null, U(s.positionList, (a) => (i(), ke(L, {
1155
2114
  key: a.name,
1156
2115
  label: a.name,
1157
2116
  value: a.name
@@ -1159,450 +2118,666 @@ function Ne(l, t, e, h, s, v) {
1159
2118
  ]),
1160
2119
  _: 1
1161
2120
  }, 8, ["modelValue", "placeholder", "remote-method", "onChange"])
2121
+ ]),
2122
+ A("div", je, [
2123
+ A("div", {
2124
+ class: X(["item flex-center", s.menuIndex === 1 ? "active" : ""]),
2125
+ onClick: e[3] || (e[3] = (a) => s.menuIndex = 1)
2126
+ }, "7-Day Forecast", 2),
2127
+ A("div", {
2128
+ class: X(["item flex-center", s.menuIndex === 2 ? "active" : ""]),
2129
+ onClick: e[4] || (e[4] = (a) => s.menuIndex = 2)
2130
+ }, "14-Day Forecast", 2)
1162
2131
  ])
1163
2132
  ])
1164
2133
  ]),
1165
- i("div", Ft, [
1166
- i("div", Ot, [
1167
- i("div", null, [
1168
- i("div", Bt, "Weather forecast for " + f(((N = s.position) == null ? void 0 : N.name) || "-") + " ( " + f(s.positionOffset) + " )", 1),
1169
- i("div", Vt, "At " + f((I = s.position) != null && I.portId ? "port" : "coordinates") + ", issued " + f(s.issuedDate), 1)
2134
+ A("div", Ye, [
2135
+ A("div", Ke, [
2136
+ A("div", null, [
2137
+ A("div", Ue, "Weather forecast for " + D(((E = s.position) == null ? void 0 : E.name) || "-") + " ( UTC" + D(s.positionOffset) + " )", 1),
2138
+ A("div", Xe, "At " + D((b = s.position) != null && b.portId ? "port" : "coordinates") + ", issued " + D(s.issuedDate), 1)
1170
2139
  ]),
1171
- i("div", Ut, [
1172
- vt(L, {
2140
+ A("div", Je, [
2141
+ Qe(Q, {
1173
2142
  placement: "left",
1174
2143
  effect: "light",
1175
2144
  content: s.isCollected ? "remove the port/coordinate from the search list" : "add the port/coordinate to the search list",
1176
2145
  "show-after": 1e3
1177
2146
  }, {
1178
- default: bt(() => [
1179
- s.isCollected ? (o(), r("span", {
2147
+ default: Ee(() => [
2148
+ s.isCollected ? (i(), o("span", {
1180
2149
  key: 0,
1181
2150
  class: "iconfont icon active",
1182
- onClick: t[3] || (t[3] = (...a) => v.handleCollect && v.handleCollect(...a))
1183
- }, "")) : (o(), r("span", {
2151
+ onClick: e[5] || (e[5] = (...a) => C.handleCollect && C.handleCollect(...a))
2152
+ }, "")) : (i(), o("span", {
1184
2153
  key: 1,
1185
2154
  class: "iconfont icon",
1186
- onClick: t[4] || (t[4] = (...a) => v.handleCollect && v.handleCollect(...a))
2155
+ onClick: e[6] || (e[6] = (...a) => C.handleCollect && C.handleCollect(...a))
1187
2156
  }, ""))
1188
2157
  ]),
1189
2158
  _: 1
1190
2159
  }, 8, ["content"])
1191
2160
  ])
1192
2161
  ]),
1193
- (M = s.position) != null && M.name && e.token && !s.loading ? (o(), r("div", Zt)) : s.loading ? (o(), r("div", Jt, "Loading....")) : (o(), r("div", Yt, "No Data")),
1194
- (H = s.position) != null && H.name && e.token && !s.loading ? (o(), r("div", jt, [
1195
- i("div", qt, f(s.pickedWeek) + " " + f(v.computeMMMDD(s.pickedDate)), 1),
1196
- i("table", Qt, [
1197
- i("tr", Kt, [
1198
- t[5] || (t[5] = i("th", {
1199
- rowspan: "1",
1200
- colspan: "1",
1201
- class: "tr-title"
1202
- }, [
1203
- _("Local time"),
1204
- i("span", { class: "unit" }, "(LT)")
1205
- ], -1)),
1206
- (o(!0), r(b, null, x(s.tableData.hours, (a, n) => (o(), r("th", {
1207
- rowspan: "1",
1208
- colspan: "1",
1209
- class: z(s.activeIndex === n ? "active" : ""),
1210
- key: Math.random() + "local"
1211
- }, f(v.computeHourL(a)), 3))), 128))
1212
- ]),
1213
- i("tr", Xt, [
1214
- t[6] || (t[6] = i("th", {
1215
- rowspan: "1",
1216
- colspan: "1",
1217
- class: "tr-title"
1218
- }, [
1219
- _("UTC"),
1220
- i("span", { class: "unit" })
1221
- ], -1)),
1222
- (o(!0), r(b, null, x(s.tableData.hours, (a, n) => (o(), r("th", {
1223
- rowspan: "1",
1224
- colspan: "1",
1225
- class: z(s.activeIndex === n ? "active" : ""),
1226
- key: Math.random() + "z"
1227
- }, f(v.computeHourZ(a)), 3))), 128))
1228
- ]),
1229
- i("tr", $t, [
1230
- t[7] || (t[7] = i("td", {
1231
- rowspan: "1",
1232
- colspan: "1",
1233
- class: "tr-title"
1234
- }, [
1235
- _("Weather"),
1236
- i("span", { class: "unit" })
1237
- ], -1)),
1238
- (o(!0), r(b, null, x(s.tableData.weatherUrls, (a, n) => (o(), r("td", {
1239
- rowspan: "1",
1240
- colspan: "1",
1241
- class: z(s.activeIndex === n ? "active" : ""),
1242
- key: Math.random() + "url"
1243
- }, [
1244
- vt(L, {
1245
- placement: "top",
1246
- effect: "light",
1247
- content: s.tableData.weatherNames[n],
1248
- "show-after": 500
1249
- }, {
1250
- default: bt(() => [
1251
- a ? (o(), r("img", {
1252
- key: 0,
1253
- class: "iconfont weather-icon",
1254
- src: a
1255
- }, null, 8, te)) : Ht("", !0)
1256
- ]),
1257
- _: 2
1258
- }, 1032, ["content"])
1259
- ], 2))), 128))
1260
- ]),
1261
- i("tr", ee, [
1262
- t[8] || (t[8] = i("td", {
1263
- rowspan: "1",
1264
- colspan: "1",
1265
- class: "tr-title"
1266
- }, [
1267
- _("Temperature"),
1268
- i("span", { class: "unit" }, "°C")
1269
- ], -1)),
1270
- (o(!0), r(b, null, x(s.tableData.temp, (a, n) => (o(), r("td", {
1271
- rowspan: "1",
1272
- colspan: "1",
1273
- class: z(s.activeIndex === n ? "active" : ""),
1274
- key: Math.random() + a
1275
- }, f(a), 3))), 128))
1276
- ]),
1277
- i("tr", se, [
1278
- t[9] || (t[9] = i("td", {
1279
- rowspan: "1",
1280
- colspan: "1",
1281
- class: "tr-title"
1282
- }, [
1283
- _("Precipitation Probability"),
1284
- i("span", { class: "unit" }, "%")
1285
- ], -1)),
1286
- (o(!0), r(b, null, x(s.tableData.precipProbability, (a, n) => (o(), r("td", {
1287
- rowspan: "1",
1288
- colspan: "1",
1289
- class: z(s.activeIndex === n ? "active" : ""),
1290
- key: Math.random() + a
1291
- }, f(a), 3))), 128))
1292
- ]),
1293
- i("tr", ae, [
1294
- t[10] || (t[10] = i("td", {
1295
- rowspan: "1",
1296
- colspan: "1",
1297
- class: "tr-title"
1298
- }, [
1299
- _("Precipitation 1h"),
1300
- i("span", { class: "unit" }, "mm")
1301
- ], -1)),
1302
- (o(!0), r(b, null, x(s.tableData.precip1h, (a, n) => (o(), r("td", {
1303
- rowspan: "1",
1304
- colspan: "1",
1305
- class: z(s.activeIndex === n ? "active" : ""),
1306
- key: Math.random() + a
1307
- }, f(a), 3))), 128))
1308
- ]),
1309
- i("tr", ie, [
1310
- t[11] || (t[11] = i("td", {
1311
- rowspan: "1",
1312
- colspan: "1",
1313
- class: "tr-title"
1314
- }, [
1315
- _("Visibility"),
1316
- i("span", { class: "unit" }, "nm")
1317
- ], -1)),
1318
- (o(!0), r(b, null, x(s.tableData.visibility, (a, n) => (o(), r("td", {
1319
- rowspan: "1",
1320
- colspan: "1",
1321
- class: z(s.activeIndex === n ? "active" : ""),
1322
- key: Math.random() + a
1323
- }, f(a), 3))), 128))
1324
- ]),
1325
- i("tr", ne, [
1326
- t[12] || (t[12] = i("td", {
1327
- rowspan: "1",
1328
- colspan: "1",
1329
- class: "tr-title"
1330
- }, [
1331
- _("Relative Humidity"),
1332
- i("span", { class: "unit" }, "%")
1333
- ], -1)),
1334
- (o(!0), r(b, null, x(s.tableData.humidity, (a, n) => (o(), r("td", {
1335
- rowspan: "1",
1336
- colspan: "1",
1337
- class: z(s.activeIndex === n ? "active" : ""),
1338
- key: Math.random() + a
1339
- }, f(a), 3))), 128))
1340
- ]),
1341
- i("tr", oe, [
1342
- t[13] || (t[13] = i("td", {
1343
- rowspan: "1",
1344
- colspan: "1",
1345
- class: "tr-title"
1346
- }, [
1347
- _("Wind direction"),
1348
- i("span", { class: "unit" })
1349
- ], -1)),
1350
- (o(!0), r(b, null, x(s.tableData.windDir, (a, n) => (o(), r("td", {
1351
- rowspan: "1",
1352
- colspan: "1",
1353
- class: z(s.activeIndex === n ? "active" : ""),
1354
- key: Math.random() + a
1355
- }, [
1356
- isNaN(a) ? (o(), r("span", re, "-")) : (o(), r("span", {
1357
- key: 0,
1358
- class: "iconfont icon",
1359
- style: ct({ display: "inline-block", transform: `rotate(${a}deg)` })
1360
- }, "", 4))
1361
- ], 2))), 128))
2162
+ s.menuIndex === 1 ? (i(), o("div", Re, [
2163
+ (M = s.position) != null && M.name && t.token && !((O = s.loading) != null && O.weatherEchart) ? (i(), o("div", We)) : (v = s.loading) != null && v.weatherEchart ? (i(), o("div", qe, e[7] || (e[7] = [
2164
+ A("img", {
2165
+ style: { height: "200px" },
2166
+ src: xe
2167
+ }, null, -1)
2168
+ ]))) : (i(), o("div", Ve, "No Data"))
2169
+ ])) : De("", !0),
2170
+ A("div", Ze, [
2171
+ (k = s.position) != null && k.name && t.token && !((j = s.loading) != null && j.meteogramEchart) ? (i(), o("div", _e, e[8] || (e[8] = [
2172
+ A("div", { class: "title" }, "Meteogram", -1),
2173
+ A("div", { id: "weather-icons" }, null, -1),
2174
+ A("div", { id: "weather-condition" }, null, -1),
2175
+ A("div", { id: "wave-swell" }, null, -1)
2176
+ ]))) : (Y = s.loading) != null && Y.meteogramEchart ? (i(), o("div", $e, e[9] || (e[9] = [
2177
+ A("img", {
2178
+ style: { height: "200px" },
2179
+ src: xe
2180
+ }, null, -1)
2181
+ ]))) : (i(), o("div", et, "No Data"))
2182
+ ]),
2183
+ s.menuIndex === 1 ? (i(), o("div", tt, [
2184
+ (x = s.position) != null && x.name && t.token && !((z = s.loading) != null && z.hoursTable) ? (i(), o("div", st, [
2185
+ A("div", At, D(s.pickedWeek) + " " + D(C.computeMMMDDLT(s.pickedDate)), 1),
2186
+ A("table", at, [
2187
+ A("tr", it, [
2188
+ e[10] || (e[10] = A("th", {
2189
+ rowspan: "1",
2190
+ colspan: "1",
2191
+ class: "td-title"
2192
+ }, [
2193
+ S("Local time"),
2194
+ A("span", { class: "unit" }, "(LT)")
2195
+ ], -1)),
2196
+ (i(!0), o(K, null, U(s.hoursTableData.hours, (a, l) => (i(), o("th", {
2197
+ rowspan: "1",
2198
+ colspan: "1",
2199
+ class: X(s.activeIndex === l ? "active" : ""),
2200
+ key: Math.random() + "local"
2201
+ }, D(C.computeHourLT(a)), 3))), 128))
2202
+ ]),
2203
+ A("tr", ot, [
2204
+ e[11] || (e[11] = A("th", {
2205
+ rowspan: "1",
2206
+ colspan: "1",
2207
+ class: "td-title"
2208
+ }, [
2209
+ S("UTC"),
2210
+ A("span", { class: "unit" })
2211
+ ], -1)),
2212
+ (i(!0), o(K, null, U(s.hoursTableData.hours, (a, l) => (i(), o("th", {
2213
+ rowspan: "1",
2214
+ colspan: "1",
2215
+ class: X(s.activeIndex === l ? "active" : ""),
2216
+ key: Math.random() + "z"
2217
+ }, D(C.computeHourZ(a)), 3))), 128))
2218
+ ]),
2219
+ A("tr", nt, [
2220
+ e[12] || (e[12] = A("td", {
2221
+ rowspan: "1",
2222
+ colspan: "1",
2223
+ class: "td-title"
2224
+ }, [
2225
+ S("Weather"),
2226
+ A("span", { class: "unit" })
2227
+ ], -1)),
2228
+ (i(!0), o(K, null, U(s.hoursTableData.weatherUrls, (a, l) => (i(), o("td", {
2229
+ rowspan: "1",
2230
+ colspan: "1",
2231
+ class: X(s.activeIndex === l ? "active" : ""),
2232
+ key: Math.random() + "url"
2233
+ }, [
2234
+ Qe(Q, {
2235
+ placement: "top",
2236
+ effect: "light",
2237
+ content: s.hoursTableData.weatherNames[l],
2238
+ "show-after": 500
2239
+ }, {
2240
+ default: Ee(() => [
2241
+ a ? (i(), o("img", {
2242
+ key: 0,
2243
+ class: "iconfont weather-icon",
2244
+ src: a
2245
+ }, null, 8, rt)) : De("", !0)
2246
+ ]),
2247
+ _: 2
2248
+ }, 1032, ["content"])
2249
+ ], 2))), 128))
2250
+ ]),
2251
+ A("tr", lt, [
2252
+ e[13] || (e[13] = A("td", {
2253
+ rowspan: "1",
2254
+ colspan: "1",
2255
+ class: "td-title"
2256
+ }, [
2257
+ S("Temperature"),
2258
+ A("span", { class: "unit" }, "°C")
2259
+ ], -1)),
2260
+ (i(!0), o(K, null, U(s.hoursTableData.temp, (a, l) => (i(), o("td", {
2261
+ rowspan: "1",
2262
+ colspan: "1",
2263
+ class: X(s.activeIndex === l ? "active" : ""),
2264
+ key: Math.random() + a
2265
+ }, D(a), 3))), 128))
2266
+ ]),
2267
+ A("tr", ht, [
2268
+ e[14] || (e[14] = A("td", {
2269
+ rowspan: "1",
2270
+ colspan: "1",
2271
+ class: "td-title"
2272
+ }, [
2273
+ S("Precipitation Probability"),
2274
+ A("span", { class: "unit" }, "%")
2275
+ ], -1)),
2276
+ (i(!0), o(K, null, U(s.hoursTableData.precipProbability, (a, l) => (i(), o("td", {
2277
+ rowspan: "1",
2278
+ colspan: "1",
2279
+ class: X(s.activeIndex === l ? "active" : ""),
2280
+ key: Math.random() + a
2281
+ }, D(a), 3))), 128))
2282
+ ]),
2283
+ A("tr", gt, [
2284
+ e[15] || (e[15] = A("td", {
2285
+ rowspan: "1",
2286
+ colspan: "1",
2287
+ class: "td-title"
2288
+ }, [
2289
+ S("Precipitation 1h"),
2290
+ A("span", { class: "unit" }, "mm")
2291
+ ], -1)),
2292
+ (i(!0), o(K, null, U(s.hoursTableData.precip1h, (a, l) => (i(), o("td", {
2293
+ rowspan: "1",
2294
+ colspan: "1",
2295
+ class: X(s.activeIndex === l ? "active" : ""),
2296
+ key: Math.random() + a
2297
+ }, D(a), 3))), 128))
2298
+ ]),
2299
+ A("tr", dt, [
2300
+ e[16] || (e[16] = A("td", {
2301
+ rowspan: "1",
2302
+ colspan: "1",
2303
+ class: "td-title"
2304
+ }, [
2305
+ S("Visibility"),
2306
+ A("span", { class: "unit" }, "nm")
2307
+ ], -1)),
2308
+ (i(!0), o(K, null, U(s.hoursTableData.visibility, (a, l) => (i(), o("td", {
2309
+ rowspan: "1",
2310
+ colspan: "1",
2311
+ class: X(s.activeIndex === l ? "active" : ""),
2312
+ key: Math.random() + a
2313
+ }, D(a), 3))), 128))
2314
+ ]),
2315
+ A("tr", wt, [
2316
+ e[17] || (e[17] = A("td", {
2317
+ rowspan: "1",
2318
+ colspan: "1",
2319
+ class: "td-title"
2320
+ }, [
2321
+ S("Relative Humidity"),
2322
+ A("span", { class: "unit" }, "%")
2323
+ ], -1)),
2324
+ (i(!0), o(K, null, U(s.hoursTableData.humidity, (a, l) => (i(), o("td", {
2325
+ rowspan: "1",
2326
+ colspan: "1",
2327
+ class: X(s.activeIndex === l ? "active" : ""),
2328
+ key: Math.random() + a
2329
+ }, D(a), 3))), 128))
2330
+ ]),
2331
+ A("tr", ct, [
2332
+ e[18] || (e[18] = A("td", {
2333
+ rowspan: "1",
2334
+ colspan: "1",
2335
+ class: "td-title"
2336
+ }, [
2337
+ S("Wind direction"),
2338
+ A("span", { class: "unit" })
2339
+ ], -1)),
2340
+ (i(!0), o(K, null, U(s.hoursTableData.windDir, (a, l) => (i(), o("td", {
2341
+ rowspan: "1",
2342
+ colspan: "1",
2343
+ class: X(s.activeIndex === l ? "active" : ""),
2344
+ key: Math.random() + a
2345
+ }, [
2346
+ isNaN(a) ? (i(), o("span", mt, "-")) : (i(), o("span", {
2347
+ key: 0,
2348
+ class: "iconfont icon",
2349
+ style: Be({ display: "inline-block", transform: `rotate(${a}deg)` })
2350
+ }, "", 4))
2351
+ ], 2))), 128))
2352
+ ]),
2353
+ A("tr", ut, [
2354
+ e[19] || (e[19] = A("td", {
2355
+ rowspan: "1",
2356
+ colspan: "1",
2357
+ class: "td-title"
2358
+ }, [
2359
+ S("Wind speed"),
2360
+ A("span", { class: "unit" }, "kts")
2361
+ ], -1)),
2362
+ (i(!0), o(K, null, U(s.hoursTableData.windSpeed, (a, l) => (i(), o("td", {
2363
+ rowspan: "1",
2364
+ colspan: "1",
2365
+ class: X(s.activeIndex === l ? "active" : ""),
2366
+ key: Math.random() + a
2367
+ }, D(a), 3))), 128))
2368
+ ]),
2369
+ A("tr", pt, [
2370
+ e[20] || (e[20] = A("td", {
2371
+ rowspan: "1",
2372
+ colspan: "1",
2373
+ class: "td-title"
2374
+ }, [
2375
+ S("Wind gust"),
2376
+ A("span", { class: "unit" }, "kts")
2377
+ ], -1)),
2378
+ (i(!0), o(K, null, U(s.hoursTableData.windGust, (a, l) => (i(), o("td", {
2379
+ rowspan: "1",
2380
+ colspan: "1",
2381
+ class: X(s.activeIndex === l ? "active" : ""),
2382
+ key: Math.random() + a
2383
+ }, D(a), 3))), 128))
2384
+ ])
1362
2385
  ]),
1363
- i("tr", le, [
1364
- t[14] || (t[14] = i("td", {
1365
- rowspan: "1",
1366
- colspan: "1",
1367
- class: "tr-title"
1368
- }, [
1369
- _("Wind speed"),
1370
- i("span", { class: "unit" }, "kts")
1371
- ], -1)),
1372
- (o(!0), r(b, null, x(s.tableData.windSpeed, (a, n) => (o(), r("td", {
1373
- rowspan: "1",
1374
- colspan: "1",
1375
- class: z(s.activeIndex === n ? "active" : ""),
1376
- key: Math.random() + a
1377
- }, f(a), 3))), 128))
2386
+ e[32] || (e[32] = A("div", { style: { "text-align": "center", padding: "3px" } }, null, -1)),
2387
+ A("table", Bt, [
2388
+ A("tr", ft, [
2389
+ e[21] || (e[21] = A("td", {
2390
+ rowspan: "1",
2391
+ colspan: "1",
2392
+ class: "td-title"
2393
+ }, [
2394
+ S("Wind wave height"),
2395
+ A("span", { class: "unit" }, "m")
2396
+ ], -1)),
2397
+ (i(!0), o(K, null, U(s.hoursTableData.windwaveHeight, (a, l) => (i(), o("td", {
2398
+ rowspan: "1",
2399
+ colspan: "1",
2400
+ class: X(s.activeIndex === l ? "active" : ""),
2401
+ key: Math.random() + a
2402
+ }, D(a), 3))), 128))
2403
+ ]),
2404
+ A("tr", Ct, [
2405
+ e[22] || (e[22] = A("td", {
2406
+ rowspan: "1",
2407
+ colspan: "1",
2408
+ class: "td-title"
2409
+ }, [
2410
+ S("Wind wave direction"),
2411
+ A("span", { class: "unit" })
2412
+ ], -1)),
2413
+ (i(!0), o(K, null, U(s.hoursTableData.windwaveDir, (a, l) => (i(), o("td", {
2414
+ rowspan: "1",
2415
+ colspan: "1",
2416
+ class: X(s.activeIndex === l ? "active" : ""),
2417
+ key: Math.random() + a
2418
+ }, [
2419
+ isNaN(a) ? (i(), o("span", Dt, "-")) : (i(), o("span", {
2420
+ key: 0,
2421
+ class: "iconfont icon",
2422
+ style: Be({ display: "inline-block", transform: `rotate(${a}deg)` })
2423
+ }, "", 4))
2424
+ ], 2))), 128))
2425
+ ]),
2426
+ A("tr", It, [
2427
+ e[23] || (e[23] = A("td", {
2428
+ rowspan: "1",
2429
+ colspan: "1",
2430
+ class: "td-title"
2431
+ }, [
2432
+ S("Wind wave period"),
2433
+ A("span", { class: "unit" }, "s")
2434
+ ], -1)),
2435
+ (i(!0), o(K, null, U(s.hoursTableData.windwavePeriod, (a, l) => (i(), o("td", {
2436
+ rowspan: "1",
2437
+ colspan: "1",
2438
+ class: X(s.activeIndex === l ? "active" : ""),
2439
+ key: Math.random() + a
2440
+ }, D(a), 3))), 128))
2441
+ ]),
2442
+ A("tr", xt, [
2443
+ e[24] || (e[24] = A("td", {
2444
+ rowspan: "1",
2445
+ colspan: "1",
2446
+ class: "td-title"
2447
+ }, [
2448
+ S("Swell height"),
2449
+ A("span", { class: "unit" }, "m")
2450
+ ], -1)),
2451
+ (i(!0), o(K, null, U(s.hoursTableData.swellHeight, (a, l) => (i(), o("td", {
2452
+ rowspan: "1",
2453
+ colspan: "1",
2454
+ class: X(s.activeIndex === l ? "active" : ""),
2455
+ key: Math.random() + a
2456
+ }, D(a), 3))), 128))
2457
+ ]),
2458
+ A("tr", vt, [
2459
+ e[25] || (e[25] = A("td", {
2460
+ rowspan: "1",
2461
+ colspan: "1",
2462
+ class: "td-title"
2463
+ }, [
2464
+ S("Swell direction"),
2465
+ A("span", { class: "unit" })
2466
+ ], -1)),
2467
+ (i(!0), o(K, null, U(s.hoursTableData.swellDir, (a, l) => (i(), o("td", {
2468
+ rowspan: "1",
2469
+ colspan: "1",
2470
+ class: X(s.activeIndex === l ? "active" : ""),
2471
+ key: Math.random() + a
2472
+ }, [
2473
+ isNaN(a) ? (i(), o("span", yt, "-")) : (i(), o("span", {
2474
+ key: 0,
2475
+ class: "iconfont icon",
2476
+ style: Be({ display: "inline-block", transform: `rotate(${a}deg)` })
2477
+ }, "", 4))
2478
+ ], 2))), 128))
2479
+ ]),
2480
+ A("tr", Qt, [
2481
+ e[26] || (e[26] = A("td", {
2482
+ rowspan: "1",
2483
+ colspan: "1",
2484
+ class: "td-title"
2485
+ }, [
2486
+ S("Swell period"),
2487
+ A("span", { class: "unit" }, "s")
2488
+ ], -1)),
2489
+ (i(!0), o(K, null, U(s.hoursTableData.swellPeriod, (a, l) => (i(), o("td", {
2490
+ rowspan: "1",
2491
+ colspan: "1",
2492
+ class: X(s.activeIndex === l ? "active" : ""),
2493
+ key: Math.random() + a
2494
+ }, D(a), 3))), 128))
2495
+ ]),
2496
+ A("tr", Et, [
2497
+ e[27] || (e[27] = A("td", {
2498
+ rowspan: "1",
2499
+ colspan: "1",
2500
+ class: "td-title"
2501
+ }, [
2502
+ S("Sig wave height"),
2503
+ A("span", { class: "unit" }, "m")
2504
+ ], -1)),
2505
+ (i(!0), o(K, null, U(s.hoursTableData.sigwaveHeight, (a, l) => (i(), o("td", {
2506
+ rowspan: "1",
2507
+ colspan: "1",
2508
+ class: X(s.activeIndex === l ? "active" : ""),
2509
+ key: Math.random() + a
2510
+ }, D(a), 3))), 128))
2511
+ ]),
2512
+ A("tr", bt, [
2513
+ e[28] || (e[28] = A("td", {
2514
+ rowspan: "1",
2515
+ colspan: "1",
2516
+ class: "td-title"
2517
+ }, [
2518
+ S("Current direction"),
2519
+ A("span", { class: "unit" })
2520
+ ], -1)),
2521
+ (i(!0), o(K, null, U(s.hoursTableData.currentDir, (a, l) => (i(), o("td", {
2522
+ rowspan: "1",
2523
+ colspan: "1",
2524
+ class: X(s.activeIndex === l ? "active" : ""),
2525
+ key: Math.random() + a
2526
+ }, [
2527
+ isNaN(a) ? (i(), o("span", Mt, "-")) : (i(), o("span", {
2528
+ key: 0,
2529
+ class: "iconfont icon",
2530
+ style: Be({ display: "inline-block", transform: `rotate(${a}deg)` })
2531
+ }, "", 4))
2532
+ ], 2))), 128))
2533
+ ]),
2534
+ A("tr", Lt, [
2535
+ e[29] || (e[29] = A("td", {
2536
+ rowspan: "1",
2537
+ colspan: "1",
2538
+ class: "td-title"
2539
+ }, [
2540
+ S("Current speed"),
2541
+ A("span", { class: "unit" }, "kts")
2542
+ ], -1)),
2543
+ (i(!0), o(K, null, U(s.hoursTableData.currentSpeed, (a, l) => (i(), o("td", {
2544
+ rowspan: "1",
2545
+ colspan: "1",
2546
+ class: X(s.activeIndex === l ? "active" : ""),
2547
+ key: Math.random() + a
2548
+ }, D(a), 3))), 128))
2549
+ ])
1378
2550
  ]),
1379
- i("tr", he, [
1380
- t[15] || (t[15] = i("td", {
1381
- rowspan: "1",
1382
- colspan: "1",
1383
- class: "tr-title"
1384
- }, [
1385
- _("Wind gust"),
1386
- i("span", { class: "unit" }, "kts")
1387
- ], -1)),
1388
- (o(!0), r(b, null, x(s.tableData.windGust, (a, n) => (o(), r("td", {
1389
- rowspan: "1",
1390
- colspan: "1",
1391
- class: z(s.activeIndex === n ? "active" : ""),
1392
- key: Math.random() + a
1393
- }, f(a), 3))), 128))
2551
+ e[33] || (e[33] = A("div", { style: { "text-align": "center", padding: "3px" } }, null, -1)),
2552
+ A("table", Ht, [
2553
+ A("tr", zt, [
2554
+ e[30] || (e[30] = A("td", {
2555
+ rowspan: "1",
2556
+ colspan: "1",
2557
+ class: "td-title"
2558
+ }, [
2559
+ S("Sea level height"),
2560
+ A("span", { class: "unit" }, "m")
2561
+ ], -1)),
2562
+ (i(!0), o(K, null, U(s.hoursTableData.seaLevel, (a, l) => (i(), o("td", {
2563
+ rowspan: "1",
2564
+ colspan: "1",
2565
+ class: X(s.activeIndex === l ? "active" : ""),
2566
+ key: Math.random() + a
2567
+ }, D(a), 3))), 128))
2568
+ ]),
2569
+ A("tr", Pt, [
2570
+ e[31] || (e[31] = A("td", {
2571
+ rowspan: "1",
2572
+ colspan: "1",
2573
+ class: "td-title"
2574
+ }, [
2575
+ S("Sea surface temperature"),
2576
+ A("span", { class: "unit" }, "°C")
2577
+ ], -1)),
2578
+ (i(!0), o(K, null, U(s.hoursTableData.seaTemp, (a, l) => (i(), o("td", {
2579
+ rowspan: "1",
2580
+ colspan: "1",
2581
+ class: X(s.activeIndex === l ? "active" : ""),
2582
+ key: Math.random() + a
2583
+ }, D(a), 3))), 128))
2584
+ ])
1394
2585
  ])
1395
- ]),
1396
- t[27] || (t[27] = i("div", { style: { "text-align": "center", padding: "3px" } }, null, -1)),
1397
- i("table", de, [
1398
- i("tr", ce, [
1399
- t[16] || (t[16] = i("td", {
1400
- rowspan: "1",
1401
- colspan: "1",
1402
- class: "tr-title"
1403
- }, [
1404
- _("Wind wave height"),
1405
- i("span", { class: "unit" }, "m")
1406
- ], -1)),
1407
- (o(!0), r(b, null, x(s.tableData.windwaveHeight, (a, n) => (o(), r("td", {
1408
- rowspan: "1",
1409
- colspan: "1",
1410
- class: z(s.activeIndex === n ? "active" : ""),
1411
- key: Math.random() + a
1412
- }, f(a), 3))), 128))
1413
- ]),
1414
- i("tr", pe, [
1415
- t[17] || (t[17] = i("td", {
1416
- rowspan: "1",
1417
- colspan: "1",
1418
- class: "tr-title"
1419
- }, [
1420
- _("Wind wave direction"),
1421
- i("span", { class: "unit" })
1422
- ], -1)),
1423
- (o(!0), r(b, null, x(s.tableData.windwaveDir, (a, n) => (o(), r("td", {
1424
- rowspan: "1",
1425
- colspan: "1",
1426
- class: z(s.activeIndex === n ? "active" : ""),
1427
- key: Math.random() + a
1428
- }, [
1429
- isNaN(a) ? (o(), r("span", me, "-")) : (o(), r("span", {
1430
- key: 0,
1431
- class: "iconfont icon",
1432
- style: ct({ display: "inline-block", transform: `rotate(${a}deg)` })
1433
- }, "", 4))
1434
- ], 2))), 128))
1435
- ]),
1436
- i("tr", ue, [
1437
- t[18] || (t[18] = i("td", {
1438
- rowspan: "1",
1439
- colspan: "1",
1440
- class: "tr-title"
1441
- }, [
1442
- _("Wind wave period"),
1443
- i("span", { class: "unit" }, "s")
1444
- ], -1)),
1445
- (o(!0), r(b, null, x(s.tableData.windwavePeriod, (a, n) => (o(), r("td", {
1446
- rowspan: "1",
1447
- colspan: "1",
1448
- class: z(s.activeIndex === n ? "active" : ""),
1449
- key: Math.random() + a
1450
- }, f(a), 3))), 128))
1451
- ]),
1452
- i("tr", we, [
1453
- t[19] || (t[19] = i("td", {
1454
- rowspan: "1",
1455
- colspan: "1",
1456
- class: "tr-title"
1457
- }, [
1458
- _("Swell height"),
1459
- i("span", { class: "unit" }, "m")
1460
- ], -1)),
1461
- (o(!0), r(b, null, x(s.tableData.swellHeight, (a, n) => (o(), r("td", {
1462
- rowspan: "1",
1463
- colspan: "1",
1464
- class: z(s.activeIndex === n ? "active" : ""),
1465
- key: Math.random() + a
1466
- }, f(a), 3))), 128))
1467
- ]),
1468
- i("tr", ge, [
1469
- t[20] || (t[20] = i("td", {
1470
- rowspan: "1",
1471
- colspan: "1",
1472
- class: "tr-title"
1473
- }, [
1474
- _("Swell direction"),
1475
- i("span", { class: "unit" })
2586
+ ])) : (N = s.loading) != null && N.hoursTable ? (i(), o("div", kt, e[34] || (e[34] = [
2587
+ A("img", {
2588
+ style: { height: "200px" },
2589
+ src: xe
2590
+ }, null, -1)
2591
+ ]))) : (i(), o("div", Nt, "No Data"))
2592
+ ])) : De("", !0),
2593
+ s.menuIndex === 2 ? (i(), o("div", Gt, [
2594
+ (G = s.position) != null && G.name && t.token && !((T = s.loading) != null && T.daysTable) ? (i(), o("div", Tt, [
2595
+ A("table", Ft, [
2596
+ e[44] || (e[44] = A("tr", { class: "day tr-title" }, [
2597
+ A("th", {
2598
+ rowspan: "1",
2599
+ colspan: "1"
2600
+ }),
2601
+ A("th", {
2602
+ rowspan: "1",
2603
+ colspan: "3",
2604
+ class: "text-align-left"
2605
+ }, "Conditions"),
2606
+ A("th", {
2607
+ rowspan: "1",
2608
+ colspan: "3",
2609
+ class: "text-align-left"
2610
+ }, "Precipitation"),
2611
+ A("th", {
2612
+ rowspan: "1",
2613
+ colspan: "2",
2614
+ class: "text-align-left"
2615
+ }, "Wind"),
2616
+ A("th", {
2617
+ rowspan: "1",
2618
+ colspan: "4",
2619
+ class: "text-align-left"
2620
+ }, "Wave")
1476
2621
  ], -1)),
1477
- (o(!0), r(b, null, x(s.tableData.swellDir, (a, n) => (o(), r("td", {
1478
- rowspan: "1",
1479
- colspan: "1",
1480
- class: z(s.activeIndex === n ? "active" : ""),
1481
- key: Math.random() + a
1482
- }, [
1483
- isNaN(a) ? (o(), r("span", ve, "-")) : (o(), r("span", {
1484
- key: 0,
1485
- class: "iconfont icon",
1486
- style: ct({ display: "inline-block", transform: `rotate(${a}deg)` })
1487
- }, "", 4))
1488
- ], 2))), 128))
1489
- ]),
1490
- i("tr", be, [
1491
- t[21] || (t[21] = i("td", {
1492
- rowspan: "1",
1493
- colspan: "1",
1494
- class: "tr-title"
1495
- }, [
1496
- _("Swell period"),
1497
- i("span", { class: "unit" }, "s")
2622
+ e[45] || (e[45] = A("tr", { class: "hour tr-title border-bottom" }, [
2623
+ A("th", {
2624
+ rowspan: "1",
2625
+ colspan: "1",
2626
+ class: "font-black",
2627
+ style: { "text-align": "right", "padding-right": "5px", "box-sizing": "border-box" }
2628
+ }, "Date"),
2629
+ A("th", {
2630
+ rowspan: "1",
2631
+ colspan: "1",
2632
+ class: "font-black",
2633
+ style: { width: "40px" }
2634
+ }, "Weather"),
2635
+ A("th", {
2636
+ rowspan: "1",
2637
+ colspan: "1",
2638
+ class: "font-black text-align-left",
2639
+ style: { width: "70px" }
2640
+ }),
2641
+ A("th", {
2642
+ rowspan: "1",
2643
+ colspan: "1",
2644
+ class: "font-black text-align-left"
2645
+ }, "Temperature"),
2646
+ A("th", {
2647
+ rowspan: "1",
2648
+ colspan: "1",
2649
+ class: "font-black text-align-left"
2650
+ }, "Sum"),
2651
+ A("th", {
2652
+ rowspan: "1",
2653
+ colspan: "1",
2654
+ class: "font-black text-align-left"
2655
+ }, "Rain"),
2656
+ A("th", {
2657
+ rowspan: "1",
2658
+ colspan: "1",
2659
+ class: "font-black text-align-left"
2660
+ }, "Snowfall"),
2661
+ A("th", {
2662
+ rowspan: "1",
2663
+ colspan: "1",
2664
+ class: "font-black text-align-left"
2665
+ }, "Speed_max"),
2666
+ A("th", {
2667
+ rowspan: "1",
2668
+ colspan: "1",
2669
+ class: "font-black text-align-left"
2670
+ }, "Gust_max"),
2671
+ A("th", {
2672
+ rowspan: "1",
2673
+ colspan: "1",
2674
+ class: "font-black text-align-left",
2675
+ style: { width: "75px" }
2676
+ }, "Wind wave_max"),
2677
+ A("th", {
2678
+ rowspan: "1",
2679
+ colspan: "1",
2680
+ class: "font-black text-align-left",
2681
+ style: { width: "75px" }
2682
+ }, "Swell wave_max"),
2683
+ A("th", {
2684
+ rowspan: "1",
2685
+ colspan: "1",
2686
+ class: "font-black text-align-left",
2687
+ style: { width: "75px" }
2688
+ }, "Sig.wave_max")
1498
2689
  ], -1)),
1499
- (o(!0), r(b, null, x(s.tableData.swellPeriod, (a, n) => (o(), r("td", {
1500
- rowspan: "1",
1501
- colspan: "1",
1502
- class: z(s.activeIndex === n ? "active" : ""),
1503
- key: Math.random() + a
1504
- }, f(a), 3))), 128))
1505
- ]),
1506
- i("tr", xe, [
1507
- t[22] || (t[22] = i("td", {
1508
- rowspan: "1",
1509
- colspan: "1",
1510
- class: "tr-title"
2690
+ (i(!0), o(K, null, U(s.daysTableData, (a, l) => (i(), o("tr", {
2691
+ class: "text border-bottom",
2692
+ key: Math.random() + a.localDate
1511
2693
  }, [
1512
- _("Sig wave height"),
1513
- i("span", { class: "unit" }, "m")
1514
- ], -1)),
1515
- (o(!0), r(b, null, x(s.tableData.sigwaveHeight, (a, n) => (o(), r("td", {
1516
- rowspan: "1",
1517
- colspan: "1",
1518
- class: z(s.activeIndex === n ? "active" : ""),
1519
- key: Math.random() + a
1520
- }, f(a), 3))), 128))
1521
- ]),
1522
- i("tr", fe, [
1523
- t[23] || (t[23] = i("td", {
1524
- rowspan: "1",
1525
- colspan: "1",
1526
- class: "tr-title"
1527
- }, [
1528
- _("Current direction"),
1529
- i("span", { class: "unit" })
1530
- ], -1)),
1531
- (o(!0), r(b, null, x(s.tableData.currentDir, (a, n) => (o(), r("td", {
1532
- rowspan: "1",
1533
- colspan: "1",
1534
- class: z(s.activeIndex === n ? "active" : ""),
1535
- key: Math.random() + a
1536
- }, [
1537
- isNaN(a) ? (o(), r("span", ye, "-")) : (o(), r("span", {
1538
- key: 0,
1539
- class: "iconfont icon",
1540
- style: ct({ display: "inline-block", transform: `rotate(${a}deg)` })
1541
- }, "", 4))
1542
- ], 2))), 128))
1543
- ]),
1544
- i("tr", _e, [
1545
- t[24] || (t[24] = i("td", {
1546
- rowspan: "1",
1547
- colspan: "1",
1548
- class: "tr-title"
1549
- }, [
1550
- _("Current speed"),
1551
- i("span", { class: "unit" }, "kts")
1552
- ], -1)),
1553
- (o(!0), r(b, null, x(s.tableData.currentSpeed, (a, n) => (o(), r("td", {
1554
- rowspan: "1",
1555
- colspan: "1",
1556
- class: z(s.activeIndex === n ? "active" : ""),
1557
- key: Math.random() + a
1558
- }, f(a), 3))), 128))
1559
- ])
1560
- ]),
1561
- t[28] || (t[28] = i("div", { style: { "text-align": "center", padding: "3px" } }, null, -1)),
1562
- i("table", ze, [
1563
- i("tr", ke, [
1564
- t[25] || (t[25] = i("td", {
1565
- rowspan: "1",
1566
- colspan: "1",
1567
- class: "tr-title"
1568
- }, [
1569
- _("Sea level height"),
1570
- i("span", { class: "unit" }, "m")
1571
- ], -1)),
1572
- (o(!0), r(b, null, x(s.tableData.seaLevel, (a, n) => (o(), r("td", {
1573
- rowspan: "1",
1574
- colspan: "1",
1575
- class: z(s.activeIndex === n ? "active" : ""),
1576
- key: Math.random() + a
1577
- }, f(a), 3))), 128))
1578
- ]),
1579
- i("tr", De, [
1580
- t[26] || (t[26] = i("td", {
1581
- rowspan: "1",
1582
- colspan: "1",
1583
- class: "tr-title"
1584
- }, [
1585
- _("Sea surface temperature"),
1586
- i("span", { class: "unit" }, "°C")
1587
- ], -1)),
1588
- (o(!0), r(b, null, x(s.tableData.seaTemp, (a, n) => (o(), r("td", {
1589
- rowspan: "1",
1590
- colspan: "1",
1591
- class: z(s.activeIndex === n ? "active" : ""),
1592
- key: Math.random() + a
1593
- }, f(a), 3))), 128))
2694
+ A("td", St, [
2695
+ A("div", null, D(a.localWeek), 1),
2696
+ A("div", null, D(a.localDate), 1)
2697
+ ]),
2698
+ A("td", Ot, [
2699
+ a.weatherUrl ? (i(), o("img", {
2700
+ key: 0,
2701
+ class: "iconfont weather-icon",
2702
+ style: { width: "34px", height: "34px" },
2703
+ src: a.weatherUrl
2704
+ }, null, 8, jt)) : De("", !0)
2705
+ ]),
2706
+ A("td", Yt, D(a.weatherName), 1),
2707
+ A("td", Kt, [
2708
+ S(D(a.minTemp) + " / " + D(a.maxTemp), 1),
2709
+ e[35] || (e[35] = A("span", { class: "unit" }, "°C", -1))
2710
+ ]),
2711
+ A("td", Ut, [
2712
+ S(D(a.precipSum), 1),
2713
+ e[36] || (e[36] = A("span", { class: "unit" }, "mm", -1))
2714
+ ]),
2715
+ A("td", Xt, [
2716
+ S(D(a.precipRainSum), 1),
2717
+ e[37] || (e[37] = A("span", { class: "unit" }, "mm", -1))
2718
+ ]),
2719
+ A("td", Jt, [
2720
+ S(D(a.precipSnowfallSum), 1),
2721
+ e[38] || (e[38] = A("span", { class: "unit" }, "mm", -1))
2722
+ ]),
2723
+ A("td", Rt, [
2724
+ A("span", null, D(a.windSpeedMax), 1),
2725
+ e[39] || (e[39] = A("span", { class: "unit" }, "kts", -1)),
2726
+ isNaN(a.windSpeedDir) ? (i(), o("span", Wt, "-")) : (i(), o("span", {
2727
+ key: 0,
2728
+ class: "iconfont icon",
2729
+ style: Be({ display: "inline-block", transform: `rotate(${a.windSpeedDir}deg)` })
2730
+ }, "", 4))
2731
+ ]),
2732
+ A("td", qt, [
2733
+ A("span", null, D(a.gustSpeedMax), 1),
2734
+ e[40] || (e[40] = A("span", { class: "unit" }, "kts", -1))
2735
+ ]),
2736
+ A("td", Vt, [
2737
+ A("span", null, D(a.windWaveHeight), 1),
2738
+ e[41] || (e[41] = A("span", { class: "unit" }, "m", -1)),
2739
+ isNaN(a.windWaveDir) ? (i(), o("span", Zt, "-")) : (i(), o("span", {
2740
+ key: 0,
2741
+ class: "iconfont icon",
2742
+ style: Be({ display: "inline-block", transform: `rotate(${a.windWaveDir}deg)` })
2743
+ }, "", 4))
2744
+ ]),
2745
+ A("td", _t, [
2746
+ A("span", null, D(a.swellWaveHeight), 1),
2747
+ e[42] || (e[42] = A("span", { class: "unit" }, "m", -1)),
2748
+ isNaN(a.swellWaveDir) ? (i(), o("span", $t, "-")) : (i(), o("span", {
2749
+ key: 0,
2750
+ class: "iconfont icon",
2751
+ style: Be({ display: "inline-block", transform: `rotate(${a.swellWaveDir}deg)` })
2752
+ }, "", 4))
2753
+ ]),
2754
+ A("td", es, [
2755
+ A("span", null, D(a.sigWaveHeight), 1),
2756
+ e[43] || (e[43] = A("span", { class: "unit" }, "m", -1)),
2757
+ isNaN(a.sigWaveDir) ? (i(), o("span", ts, "-")) : (i(), o("span", {
2758
+ key: 0,
2759
+ class: "iconfont icon",
2760
+ style: Be({ display: "inline-block", transform: `rotate(${a.sigWaveDir}deg)` })
2761
+ }, "", 4))
2762
+ ])
2763
+ ]))), 128))
1594
2764
  ])
1595
- ])
1596
- ])) : s.loading ? (o(), r("div", Se, "Loading....")) : (o(), r("div", Le, "No Data"))
2765
+ ])) : (F = s.loading) != null && F.daysTable ? (i(), o("div", ss, e[46] || (e[46] = [
2766
+ A("img", {
2767
+ style: { height: "200px" },
2768
+ src: xe
2769
+ }, null, -1)
2770
+ ]))) : (i(), o("div", As, "No Data"))
2771
+ ])) : De("", !0)
1597
2772
  ])
1598
2773
  ]);
1599
2774
  }
1600
- const Ie = /* @__PURE__ */ Wt(Tt, [["render", Ne], ["__scopeId", "data-v-969b448f"]]), Re = {
1601
- install(l) {
1602
- l.component("SpotReport", Ie);
2775
+ const is = /* @__PURE__ */ Ne(Ge, [["render", as], ["__scopeId", "data-v-f60b3f7f"]]), ds = {
2776
+ install(h) {
2777
+ h.component("SpotReport", is);
1603
2778
  }
1604
2779
  };
1605
2780
  export {
1606
- Ie as SpotReport,
1607
- Re as SpotReportPlugin
2781
+ is as SpotReport,
2782
+ ds as SpotReportPlugin
1608
2783
  };