@idmui/spot 0.5.7 → 0.5.8

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,112 +1,420 @@
1
- import M from "moment";
2
- import X from "moment-timezone";
3
- import { ArrowRightBold as Ze, Calendar as Ve, Search as _e } from "@element-plus/icons-vue";
4
- import { LngLatHelper as Se } from "@idm-plugin/geo";
1
+ import H from "moment";
2
+ import W from "moment-timezone";
3
+ import { ArrowRightBold as Ve, Calendar as $e, Download as et, Search as tt } from "@element-plus/icons-vue";
4
+ import { LngLatHelper as _e } from "@idm-plugin/geo";
5
5
  import * as xe from "echarts";
6
- import { markRaw as $e, resolveComponent as Ie, openBlock as n, createElementBlock as l, createElementVNode as s, createVNode as be, withCtx as Le, Fragment as me, renderList as ue, createBlock as Ge, normalizeClass as we, toDisplayString as p, createTextVNode as ne, createCommentVNode as Qe, withDirectives as Fe, vShow as Oe, normalizeStyle as Ce } from "vue";
6
+ import { markRaw as st, resolveComponent as Ce, openBlock as r, createElementBlock as l, createElementVNode as s, createVNode as be, withCtx as Ee, Fragment as we, renderList as pe, createBlock as Pe, normalizeClass as me, toDisplayString as p, createTextVNode as oe, createCommentVNode as ke, withDirectives as Oe, vShow as Ye, normalizeStyle as Ie } from "vue";
7
7
  import ze from "axios";
8
- class ke {
8
+ const Se = [
9
+ {
10
+ rank: 0,
11
+ name: "Best Match",
12
+ alias: "BEST MATCH",
13
+ model: "best_match",
14
+ models: ["best_match"]
15
+ },
16
+ {
17
+ rank: 1,
18
+ name: "GFS",
19
+ alias: "GFS",
20
+ model: "gfs_seamless",
21
+ provider: "NOAA",
22
+ country: "United States",
23
+ resolution: 25,
24
+ tips: "3-25km",
25
+ length: 16,
26
+ frequency: 1,
27
+ // models: ['gfs_seamless', 'gfs_global', 'gfs_hrrr', 'ncep_nbm_conus', 'gfs_graphcast025'],
28
+ models: ["gfs_seamless"],
29
+ // ncep_gfs013: 美国国家环境预报中心(NCEP)的全球预报系统(GFS),0.13度
30
+ // ncep_gfs025: 美国国家环境预报中心(NCEP)的全球预报系统(GFS),0.25度
31
+ // ncep_gfs_graphcast025: 是美国国家环境预测中心(NCEP)设立的一个实验性中期全球天气预报系统
32
+ // ncep_hrrr_conus: 美国国家环境预报中心(NCEP)的高分辨率快速更新(HRRR)系统针对美国本土(CONUS)的气象预报产品和服务
33
+ // ncep_nbm_conus: 美国国家环境预报中心(NCEP)的国家多模式融合预报系统(NBM)针对美国本土(CONUS)的部分
34
+ categories: "ncep_gfs013,ncep_gfs025,ncep_gfs_graphcast025,ncep_hrrr_conus,ncep_nbm_conus",
35
+ variables: "temperature_2m,relative_humidity_2m,dew_point_2m,apparent_temperature,precipitation_probability,precipitation,rain,showers,snowfall_water_equivalent,snowfall,frozen_precipitation_percent,pressure_msl,cloud_cover,visibility,wind_speed_10m,wind_u_component_10m,wind_v_component_10m,wind_direction_10m,wind_gusts_10m,cape,lifted_index,weather_code"
36
+ },
37
+ {
38
+ rank: 2,
39
+ name: "ECMWF",
40
+ alias: "ECMWF",
41
+ model: "ecmwf_ifs025",
42
+ provider: "ECMWF",
43
+ country: "European Union",
44
+ resolution: 25,
45
+ tips: "25km",
46
+ length: 15,
47
+ frequency: 6,
48
+ models: ["ecmwf_ifs025", "ecmwf_aifs025_single"],
49
+ categories: "ecmwf_ifs025,ecmwf_aifs025_single",
50
+ variables: "temperature_2m,relative_humidity_2m,dew_point_2m,apparent_temperature,precipitation_probability,precipitation,rain,showers,snowfall_water_equivalent,snowfall,frozen_precipitation_percent,pressure_msl,cloud_cover,visibility,wind_speed_10m,wind_u_component_10m,wind_v_component_10m,wind_direction_10m,wind_gusts_10m,cape,lifted_index,weather_code"
51
+ },
52
+ {
53
+ rank: 3,
54
+ disabled: !0,
55
+ name: "ICON",
56
+ alias: "ECMWF",
57
+ model: "icon_seamless",
58
+ provider: "Deutscher Wetterdienst (DWD)",
59
+ country: "Germany",
60
+ resolution: 13,
61
+ tips: "2-13km",
62
+ length: 7.5,
63
+ frequency: 3,
64
+ models: ["icon_seamless", "icon_global", "icon_eu", "icon_d2"],
65
+ categories: "dwd_icon,dwd_icon_eps,dwd_icon_d2,dwd_icon_d2_eps,dwd_icon_eu,dwd_icon_eu_eps",
66
+ variables: "temperature_2m,relative_humidity_2m,dew_point_2m,apparent_temperature,precipitation_probability,precipitation,rain,showers,snowfall_water_equivalent,snowfall,frozen_precipitation_percent,pressure_msl,cloud_cover,visibility,wind_speed_10m,wind_u_component_10m,wind_v_component_10m,wind_direction_10m,wind_gusts_10m,cape,lifted_index,weather_code"
67
+ },
68
+ {
69
+ rank: 4,
70
+ name: "ARPEGE",
71
+ disabled: !0,
72
+ alias: "ECMWF",
73
+ model: "arpege_seamless",
74
+ provider: "Météo-France",
75
+ country: "France",
76
+ resolution: 25,
77
+ tips: "1-25km",
78
+ length: 4,
79
+ frequency: 1,
80
+ models: ["arpege_seamless", "arpege_world", "arpege_europe"],
81
+ categories: "meteofrance_arpege_europe,meteofrance_arpege_europe_probabilities,meteofrance_arpege_world025",
82
+ variables: "temperature_2m,relative_humidity_2m,dew_point_2m,apparent_temperature,precipitation_probability,precipitation,rain,showers,snowfall_water_equivalent,snowfall,frozen_precipitation_percent,pressure_msl,cloud_cover,visibility,wind_speed_10m,wind_u_component_10m,wind_v_component_10m,wind_direction_10m,wind_gusts_10m,cape,lifted_index,weather_code"
83
+ },
84
+ {
85
+ rank: 5,
86
+ name: "UKMO",
87
+ disabled: !0,
88
+ alias: "ECMWF",
89
+ model: "ukmo_seamless",
90
+ provider: "UK Met Office",
91
+ country: "United Kingdom",
92
+ resolution: 10,
93
+ tips: "2-10km",
94
+ length: 7,
95
+ frequency: 1,
96
+ models: ["ukmo_seamless", "ukmo_global_deterministic_10km", "ukmo_uk_deterministic_2km"],
97
+ categories: "ukmo_global_deterministic_10km,ukmo_uk_deterministic_2km",
98
+ variables: "temperature_2m,relative_humidity_2m,dew_point_2m,apparent_temperature,precipitation_probability,precipitation,rain,showers,snowfall_water_equivalent,snowfall,frozen_precipitation_percent,pressure_msl,cloud_cover,visibility,wind_speed_10m,wind_u_component_10m,wind_v_component_10m,wind_direction_10m,wind_gusts_10m,cape,lifted_index,weather_code"
99
+ },
100
+ {
101
+ rank: 6,
102
+ name: "JMA",
103
+ disabled: !0,
104
+ alias: "GFS",
105
+ model: "jma_seamless",
106
+ provider: "JMA",
107
+ country: "Japan",
108
+ resolution: 55,
109
+ tips: "5-55km",
110
+ length: 11,
111
+ frequency: 3,
112
+ models: ["jma_seamless", "jma_msm", "jma_gsm"],
113
+ categories: "jma_gsm,jma_msm",
114
+ variables: "temperature_2m,relative_humidity_2m,dew_point_2m,apparent_temperature,precipitation_probability,precipitation,rain,showers,snowfall_water_equivalent,snowfall,frozen_precipitation_percent,pressure_msl,cloud_cover,visibility,wind_speed_10m,wind_u_component_10m,wind_v_component_10m,wind_direction_10m,wind_gusts_10m,cape,lifted_index,weather_code"
115
+ },
116
+ {
117
+ rank: 7,
118
+ name: "GEM",
119
+ disabled: !0,
120
+ alias: "GFS",
121
+ model: "gem_seamless",
122
+ provider: "Canadian Weather Service",
123
+ country: "Canada",
124
+ resolution: 2.5,
125
+ tips: "2.5km",
126
+ length: 10,
127
+ frequency: 6,
128
+ models: ["gem_seamless", "gem_global", "gem_regional"],
129
+ // cmc_gem_gdps: 加拿大气象中心(CMC)基于全球环境多尺度(GEM)模型的全球确定性预报系统(Global Deterministic Prediction System),耦合了大气(GEM)、海洋和海冰(NEMO - CICE)的确定性数值天气预报模型
130
+ // cmc_gem_hrdps: 加拿大气象中心(CMC)全球环境多尺度(GEM)模型的高分辨率确定性预报系统(High - Resolution Deterministic Prediction System),覆盖加拿大地区
131
+ // cmc_gem_rdps: 拿大气象中心(CMC)的全球环境多尺度(GEM)模型的区域确定性预报系统(Regional Deterministic Prediction System),盖北美地区和北极地区
132
+ categories: "cmc_gem_gdps,cmc_gem_hrdps,cmc_gem_rdps",
133
+ variables: "temperature_2m,relative_humidity_2m,dew_point_2m,apparent_temperature,precipitation_probability,precipitation,rain,showers,snowfall_water_equivalent,snowfall,frozen_precipitation_percent,pressure_msl,cloud_cover,visibility,wind_speed_10m,wind_u_component_10m,wind_v_component_10m,wind_direction_10m,wind_gusts_10m,cape,lifted_index,weather_code"
134
+ },
135
+ {
136
+ rank: 8,
137
+ name: "GRAPES",
138
+ disabled: !0,
139
+ alias: "GFS",
140
+ model: "cma_grapes_global",
141
+ provider: "China Meteorological Administration (CMA)",
142
+ country: "China",
143
+ resolution: 15,
144
+ tips: "15km",
145
+ length: 10,
146
+ frequency: 6,
147
+ models: ["cma_grapes_global"],
148
+ categories: "cma_grapes_global",
149
+ variables: "temperature_2m,relative_humidity_2m,dew_point_2m,apparent_temperature,precipitation_probability,precipitation,rain,showers,snowfall_water_equivalent,snowfall,frozen_precipitation_percent,pressure_msl,cloud_cover,visibility,wind_speed_10m,wind_u_component_10m,wind_v_component_10m,wind_direction_10m,wind_gusts_10m,cape,lifted_index,weather_code"
150
+ },
151
+ {
152
+ rank: 9,
153
+ name: "ACCESS-G",
154
+ disabled: !0,
155
+ alias: "GFS",
156
+ model: "bom_access_global",
157
+ provider: "Australian Bureau of Meteorology (BOM)",
158
+ country: "Australia",
159
+ resolution: 15,
160
+ tips: "15km",
161
+ length: 10,
162
+ frequency: 6,
163
+ models: ["bom_access_global"],
164
+ categories: "bom_access_global",
165
+ variables: "temperature_2m,relative_humidity_2m,dew_point_2m,apparent_temperature,precipitation_probability,precipitation,rain,showers,snowfall_water_equivalent,snowfall,frozen_precipitation_percent,pressure_msl,cloud_cover,visibility,wind_speed_10m,wind_u_component_10m,wind_v_component_10m,wind_direction_10m,wind_gusts_10m,cape,lifted_index,weather_code"
166
+ }
167
+ ], Fe = [
168
+ {
169
+ rank: 0,
170
+ name: "Best Match",
171
+ alias: "BEST MATCH",
172
+ model: "best_match",
173
+ models: ["best_match"]
174
+ },
175
+ {
176
+ rank: 1,
177
+ name: "MFWAM",
178
+ alias: "ECMWF",
179
+ model: "meteofrance_wave",
180
+ provider: "MeteoFrance",
181
+ country: "France",
182
+ resolution: 8,
183
+ tips: "8km",
184
+ length: 10,
185
+ frequency: 12,
186
+ models: ["meteofrance_wave"],
187
+ categories: "meteofrance_wave",
188
+ variables: "swell_wave_direction,swell_wave_height,swell_wave_period,swell_wave_peak_period,wave_direction,wave_height,wave_period,wind_wave_direction,wind_wave_height,wind_wave_period,wind_wave_peak_period"
189
+ },
190
+ {
191
+ rank: 2,
192
+ disabled: !0,
193
+ name: "SMOC",
194
+ alias: "ECMWF",
195
+ model: "meteofrance_currents",
196
+ provider: "MeteoFrance",
197
+ country: "France",
198
+ resolution: 8,
199
+ tips: "8km",
200
+ length: 10,
201
+ frequency: 24,
202
+ models: ["meteofrance_currents"],
203
+ categories: "meteofrance_currents, meteofrance_sea_surface_temperature",
204
+ variables: "ocean_u_current,ocean_v_current,invert_barometer_height,sea_level_height_msl,sea_surface_temperature"
205
+ },
206
+ {
207
+ rank: 3,
208
+ disabled: !0,
209
+ name: "EWAM",
210
+ alias: "ECMWF",
211
+ model: "ewam",
212
+ provider: "DWD",
213
+ country: "Germany",
214
+ resolution: 5,
215
+ tips: "5km",
216
+ length: 8,
217
+ frequency: 2,
218
+ models: ["ewam"],
219
+ categories: "dwd_ewam",
220
+ variables: "swell_wave_direction,swell_wave_height,swell_wave_period,swell_wave_peak_period,wave_direction,wave_height,wave_period,wind_wave_direction,wind_wave_height,wind_wave_period,wind_wave_peak_period"
221
+ },
222
+ {
223
+ rank: 4,
224
+ disabled: !0,
225
+ name: "GWAM",
226
+ alias: "ECMWF",
227
+ model: "gwam",
228
+ provider: "DWD",
229
+ country: "Germany",
230
+ resolution: 5,
231
+ tips: "5km",
232
+ length: 4,
233
+ frequency: 2,
234
+ models: ["gwam"],
235
+ categories: "dwd_gwam",
236
+ variables: "swell_wave_direction,swell_wave_height,swell_wave_period,swell_wave_peak_period,wave_direction,wave_height,wave_period,wind_wave_direction,wind_wave_height,wind_wave_period,wind_wave_peak_period"
237
+ },
238
+ {
239
+ rank: 5,
240
+ disabled: !0,
241
+ name: "ECWAM",
242
+ alias: "ECMWF",
243
+ model: "ecmwf_wam025",
244
+ provider: "ECMWF",
245
+ country: "Europe",
246
+ resolution: 25,
247
+ tips: "25km",
248
+ length: 10,
249
+ frequency: 6,
250
+ models: ["ecmwf_wam025"],
251
+ categories: "ecmwf_wam025",
252
+ variables: "swell_wave_direction,swell_wave_height,swell_wave_period,swell_wave_peak_period,wave_direction,wave_height,wave_period,wind_wave_direction,wind_wave_height,wind_wave_period,wind_wave_peak_period"
253
+ },
254
+ {
255
+ rank: 6,
256
+ name: "GFSWave",
257
+ alias: "GFS",
258
+ model: "ncep_gfswave025",
259
+ provider: "NCEP",
260
+ country: "USA",
261
+ resolution: 25,
262
+ tips: "25km",
263
+ length: 10,
264
+ frequency: 6,
265
+ models: ["ncep_gfswave025", "ncep_gfswave016"],
266
+ categories: "ncep_gfswave025,ncep_gfswave016",
267
+ variables: "swell_wave_direction,swell_wave_height,swell_wave_period,swell_wave_peak_period,wave_direction,wave_height,wave_period,wind_wave_direction,wind_wave_height,wind_wave_period,wind_wave_peak_period"
268
+ },
269
+ {
270
+ rank: 7,
271
+ disabled: !0,
272
+ name: "ERA5-Ocean",
273
+ alias: "ECMWF",
274
+ model: "era5_ocean",
275
+ provider: "Copernicus",
276
+ country: "Europe",
277
+ resolution: 50,
278
+ tips: "50km",
279
+ length: -5,
280
+ frequency: 1,
281
+ models: ["era5_ocean"],
282
+ categories: "copernicus_era5_ocean",
283
+ variables: "swell_wave_direction,swell_wave_height,swell_wave_period,swell_wave_peak_period,wave_direction,wave_height,wave_period,wind_wave_direction,wind_wave_height,wind_wave_period,wind_wave_peak_period"
284
+ }
285
+ ];
286
+ class Le {
287
+ static standardWeatherModels() {
288
+ return Se.filter((e) => !e.disabled && e.alias);
289
+ }
290
+ static standardMarineModels() {
291
+ return Fe.filter((e) => !e.disabled && e.alias);
292
+ }
293
+ static autoPickMeteoModel(e = "best_match") {
294
+ var a, h;
295
+ const t = e.toLowerCase().split(","), o = [], u = [];
296
+ for (const v of t) {
297
+ let I = Se.find((B) => {
298
+ var C, k, P;
299
+ return ((C = B.models) == null ? void 0 : C.includes(v)) || ((k = B.alias) == null ? void 0 : k.toLowerCase()) === v || ((P = B.name) == null ? void 0 : P.toLowerCase()) === v;
300
+ }), b = Fe.find((B) => {
301
+ var C, k, P;
302
+ return ((C = B.models) == null ? void 0 : C.includes(v)) || ((k = B.alias) == null ? void 0 : k.toLowerCase()) === v || ((P = B.name) == null ? void 0 : P.toLowerCase()) === v;
303
+ });
304
+ I = I || Se.find((B) => {
305
+ var C, k;
306
+ return ((C = B.alias) == null ? void 0 : C.toLowerCase()) === ((k = b == null ? void 0 : b.alias) == null ? void 0 : k.toLowerCase());
307
+ }), b = b || Fe.find((B) => {
308
+ var C, k;
309
+ return ((C = B.alias) == null ? void 0 : C.toLowerCase()) === ((k = I == null ? void 0 : I.alias) == null ? void 0 : k.toLowerCase());
310
+ }), I = I || Se[0], b = b || Fe[0], o.push((a = I.models) != null && a.includes(v) ? v : I.model), u.push((h = b.models) != null && h.includes(v) ? v : b.model);
311
+ }
312
+ return {
313
+ weatherModels: o.join(","),
314
+ marineModels: u.join(",")
315
+ };
316
+ }
9
317
  static pickHourly(e, a) {
10
- var r, t, h, f, b, k, E, S, Y, U, O, se, ae, le, F, R, W, J, q, Z, V, _, $, ee, te, c, N, z, L, m, P, C, I, y, he, de, Ae, g, pe, x, Q, T, ce, A, G, ie, v, re, j, d;
11
- const u = typeof a == "string" ? M(a) : a, K = e == null ? void 0 : e.weather, D = e == null ? void 0 : e.marine, De = M((t = (r = K == null ? void 0 : K[0]) == null ? void 0 : r.hourly) == null ? void 0 : t.date).utc(), H = De.clone().add((b = (f = (h = K == null ? void 0 : K[0]) == null ? void 0 : h.hourly) == null ? void 0 : f.time) == null ? void 0 : b.at(0), "h"), oe = De.clone().add((S = (E = (k = K == null ? void 0 : K[0]) == null ? void 0 : k.hourly) == null ? void 0 : E.time) == null ? void 0 : S.at(-1), "h"), fe = [];
12
- if (u.isBetween(H, oe, "millisecond", "[]")) {
13
- const B = u.utc().diff(H, "h", !1);
14
- let i, w;
318
+ var h, t, o, u, v, I, b, B, C, k, P, se, ne, re, Y, U, R, X, q, J, Z, V, $, ee, te, c, F, T, N, m, S, M, L, D, he, de, Ae, g, ue, E, z, _, ce, A, O, ae, Q, le, j, d;
319
+ const f = typeof a == "string" ? H(a) : a, K = e == null ? void 0 : e.weather, y = e == null ? void 0 : e.marine, ve = H((t = (h = K == null ? void 0 : K[0]) == null ? void 0 : h.hourly) == null ? void 0 : t.date).utc(), G = ve.clone().add((v = (u = (o = K == null ? void 0 : K[0]) == null ? void 0 : o.hourly) == null ? void 0 : u.time) == null ? void 0 : v.at(0), "h"), ie = ve.clone().add((B = (b = (I = K == null ? void 0 : K[0]) == null ? void 0 : I.hourly) == null ? void 0 : b.time) == null ? void 0 : B.at(-1), "h"), fe = [];
320
+ if (f.isBetween(G, ie, "millisecond", "[]")) {
321
+ const x = f.utc().diff(G, "h", !1);
322
+ let De, i;
15
323
  if (K) {
16
- let ve = 0, Me = 0;
324
+ let w = 0, Qe = 0;
17
325
  for (const ge of K) {
18
326
  const ye = ge.hourly;
19
- for (let Ee = B - (B - 1) % 3; Ee <= B; Ee++)
20
- ve += (Y = ye.precipitation) == null ? void 0 : Y.at(Ee);
21
- for (let Ee = B - (B - 1) % 6; Ee <= B; Ee++)
22
- Me += (U = ye.precipitation) == null ? void 0 : U.at(Ee);
23
- i = {
24
- temp: (O = ye.temperature_2m) == null ? void 0 : O.at(B),
25
- apparentTemp: (se = ye.apparent_temperature) == null ? void 0 : se.at(B),
26
- rh: (ae = ye.relative_humidity_2m) == null ? void 0 : ae.at(B),
27
- dp: (le = ye.dew_point_2m) == null ? void 0 : le.at(B),
327
+ for (let Me = x - (x - 1) % 3; Me <= x; Me++)
328
+ w += (C = ye.precipitation) == null ? void 0 : C.at(Me);
329
+ for (let Me = x - (x - 1) % 6; Me <= x; Me++)
330
+ Qe += (k = ye.precipitation) == null ? void 0 : k.at(Me);
331
+ De = {
332
+ temp: (P = ye.temperature_2m) == null ? void 0 : P.at(x),
333
+ apparentTemp: (se = ye.apparent_temperature) == null ? void 0 : se.at(x),
334
+ rh: (ne = ye.relative_humidity_2m) == null ? void 0 : ne.at(x),
335
+ dp: (re = ye.dew_point_2m) == null ? void 0 : re.at(x),
28
336
  precip: {
29
- probability: (F = ye.precipitation_probability) == null ? void 0 : F.at(B),
30
- sum: (R = ye.precipitation) == null ? void 0 : R.at(B),
31
- sum3Hours: Math.round(ve * 100) / 100,
32
- sum6Hours: Math.round(Me * 100) / 100
337
+ probability: (Y = ye.precipitation_probability) == null ? void 0 : Y.at(x),
338
+ sum: (U = ye.precipitation) == null ? void 0 : U.at(x),
339
+ sum3Hours: Math.round(w * 100) / 100,
340
+ sum6Hours: Math.round(Qe * 100) / 100
33
341
  },
34
- pmsl: (W = ye.pressure_msl) == null ? void 0 : W.at(B),
35
- psurf: (J = ye.surface_pressure) == null ? void 0 : J.at(B),
36
- code: (q = ye.weather_code) == null ? void 0 : q.at(B),
37
- visibility: this.m2nm((Z = ye.visibility) == null ? void 0 : Z.at(B)),
342
+ pmsl: (R = ye.pressure_msl) == null ? void 0 : R.at(x),
343
+ psurf: (X = ye.surface_pressure) == null ? void 0 : X.at(x),
344
+ code: (q = ye.weather_code) == null ? void 0 : q.at(x),
345
+ visibility: this.m2nm((J = ye.visibility) == null ? void 0 : J.at(x)),
38
346
  wind: {
39
- speed: (V = ye.wind_speed_10m) == null ? void 0 : V.at(B),
40
- kts: (_ = ye.wind_speed_10m) == null ? void 0 : _.at(B),
41
- degree: ($ = ye.wind_direction_10m) == null ? void 0 : $.at(B),
42
- bearing: ((ee = ye.wind_direction_10m) == null ? void 0 : ee.at(B)) !== null ? (((te = ye.wind_direction_10m) == null ? void 0 : te.at(B)) + 180) % 360 : null,
43
- gusts: (c = ye.wind_gusts_10m) == null ? void 0 : c.at(B)
347
+ speed: (Z = ye.wind_speed_10m) == null ? void 0 : Z.at(x),
348
+ kts: (V = ye.wind_speed_10m) == null ? void 0 : V.at(x),
349
+ degree: ($ = ye.wind_direction_10m) == null ? void 0 : $.at(x),
350
+ bearing: ((ee = ye.wind_direction_10m) == null ? void 0 : ee.at(x)) !== null ? (((te = ye.wind_direction_10m) == null ? void 0 : te.at(x)) + 180) % 360 : null,
351
+ gusts: (c = ye.wind_gusts_10m) == null ? void 0 : c.at(x)
44
352
  },
45
- isDay: (N = ye.is_day) == null ? void 0 : N.at(B)
353
+ isDay: (F = ye.is_day) == null ? void 0 : F.at(x)
46
354
  };
47
- const { name: Pe, url: Ne, bg: Te } = this.parseWeatherCode(i.code, i.isDay);
48
- i.name = Pe, i.url = Ne, i.bg = Te, i.wind.scale = this.beaufort(this.kts2ms(i.wind.kts)), i.wind.direction = this.degree2Direction(i.wind.degree), fe.push({
49
- utc: H.add(B, "h").format(),
355
+ const { name: Ne, url: Te, bg: Ge } = this.parseWeatherCode(De.code, De.isDay);
356
+ De.name = Ne, De.url = Te, De.bg = Ge, De.wind.scale = this.beaufort(this.kts2ms(De.wind.kts)), De.wind.direction = this.degree2Direction(De.wind.degree), fe.push({
357
+ utc: G.add(x, "h").format(),
50
358
  model: ge.model,
51
- weather: { ...i }
359
+ weather: { ...De }
52
360
  });
53
361
  }
54
362
  }
55
- if (D) {
56
- let ve = 0;
57
- for (const Me of D) {
58
- const ge = Me.hourly;
59
- w = {
363
+ if (y) {
364
+ let w = 0;
365
+ for (const Qe of y) {
366
+ const ge = Qe.hourly;
367
+ i = {
60
368
  wave: {
61
369
  sig: {
62
- height: (z = ge.wave_height) == null ? void 0 : z.at(B),
63
- degree: (L = ge.wave_direction) == null ? void 0 : L.at(B),
64
- bearing: ((m = ge.wave_direction) == null ? void 0 : m.at(B)) !== null ? (((P = ge.wave_direction) == null ? void 0 : P.at(B)) + 180) % 360 : null,
65
- period: (C = ge.wave_period) == null ? void 0 : C.at(B)
370
+ height: (T = ge.wave_height) == null ? void 0 : T.at(x),
371
+ degree: (N = ge.wave_direction) == null ? void 0 : N.at(x),
372
+ bearing: ((m = ge.wave_direction) == null ? void 0 : m.at(x)) !== null ? (((S = ge.wave_direction) == null ? void 0 : S.at(x)) + 180) % 360 : null,
373
+ period: (M = ge.wave_period) == null ? void 0 : M.at(x)
66
374
  },
67
375
  swell: {
68
- height: (I = ge.swell_wave_height) == null ? void 0 : I.at(B),
69
- degree: (y = ge.swell_wave_direction) == null ? void 0 : y.at(B),
70
- bearing: ((he = ge.swell_wave_direction) == null ? void 0 : he.at(B)) !== null ? (((de = ge.swell_wave_direction) == null ? void 0 : de.at(B)) + 180) % 360 : null,
71
- period: (Ae = ge.swell_wave_period) == null ? void 0 : Ae.at(B),
72
- peakPeriod: (g = ge.swell_wave_peak_period) == null ? void 0 : g.at(B)
376
+ height: (L = ge.swell_wave_height) == null ? void 0 : L.at(x),
377
+ degree: (D = ge.swell_wave_direction) == null ? void 0 : D.at(x),
378
+ bearing: ((he = ge.swell_wave_direction) == null ? void 0 : he.at(x)) !== null ? (((de = ge.swell_wave_direction) == null ? void 0 : de.at(x)) + 180) % 360 : null,
379
+ period: (Ae = ge.swell_wave_period) == null ? void 0 : Ae.at(x),
380
+ peakPeriod: (g = ge.swell_wave_peak_period) == null ? void 0 : g.at(x)
73
381
  },
74
382
  wd: {
75
- height: (pe = ge.wind_wave_height) == null ? void 0 : pe.at(B),
76
- degree: (x = ge.wind_wave_direction) == null ? void 0 : x.at(B),
77
- bearing: ((Q = ge.wind_wave_direction) == null ? void 0 : Q.at(B)) !== null ? (((T = ge.wind_wave_direction) == null ? void 0 : T.at(B)) + 180) % 360 : null,
78
- period: (ce = ge.wind_wave_period) == null ? void 0 : ce.at(B),
79
- peakPeriod: (A = ge.wind_wave_peak_period) == null ? void 0 : A.at(B)
383
+ height: (ue = ge.wind_wave_height) == null ? void 0 : ue.at(x),
384
+ degree: (E = ge.wind_wave_direction) == null ? void 0 : E.at(x),
385
+ bearing: ((z = ge.wind_wave_direction) == null ? void 0 : z.at(x)) !== null ? (((_ = ge.wind_wave_direction) == null ? void 0 : _.at(x)) + 180) % 360 : null,
386
+ period: (ce = ge.wind_wave_period) == null ? void 0 : ce.at(x),
387
+ peakPeriod: (A = ge.wind_wave_peak_period) == null ? void 0 : A.at(x)
80
388
  }
81
389
  },
82
390
  current: {
83
- speed: (G = ge.ocean_current_velocity) == null ? void 0 : G.at(B),
84
- kts: (ie = ge.ocean_current_velocity) == null ? void 0 : ie.at(B),
85
- degree: (v = ge.ocean_current_direction) == null ? void 0 : v.at(B),
86
- bearing: ((re = ge.ocean_current_direction) == null ? void 0 : re.at(B)) ?? null
391
+ speed: (O = ge.ocean_current_velocity) == null ? void 0 : O.at(x),
392
+ kts: (ae = ge.ocean_current_velocity) == null ? void 0 : ae.at(x),
393
+ degree: (Q = ge.ocean_current_direction) == null ? void 0 : Q.at(x),
394
+ bearing: ((le = ge.ocean_current_direction) == null ? void 0 : le.at(x)) ?? null
87
395
  },
88
- sst: (j = ge.sea_surface_temperature) == null ? void 0 : j.at(B),
89
- height: (d = ge.sea_level_height_msl) == null ? void 0 : d.at(B)
90
- }, w.wave = this.parseWave(w.wave), w.current.direction = this.degree2Direction(w.current.degree), Object.assign(fe[ve], w), ve++;
396
+ sst: (j = ge.sea_surface_temperature) == null ? void 0 : j.at(x),
397
+ height: (d = ge.sea_level_height_msl) == null ? void 0 : d.at(x)
398
+ }, i.wave = this.parseWave(i.wave), i.current.direction = this.degree2Direction(i.current.degree), Object.assign(fe[w], i), w++;
91
399
  }
92
400
  }
93
401
  }
94
402
  return fe;
95
403
  }
96
404
  static toLegacy(e) {
97
- var a, r, t, h, f, b, k, E, S, Y;
405
+ var a, h, t, o, u, v, I, b, B, C;
98
406
  return {
99
407
  wind: (a = e == null ? void 0 : e.weather) == null ? void 0 : a.wind,
100
- visibility: (r = e == null ? void 0 : e.weather) == null ? void 0 : r.visibility,
408
+ visibility: (h = e == null ? void 0 : e.weather) == null ? void 0 : h.visibility,
101
409
  temp: (t = e == null ? void 0 : e.weather) == null ? void 0 : t.temp,
102
- prmsl: (h = e == null ? void 0 : e.weather) == null ? void 0 : h.pmsl,
410
+ prmsl: (o = e == null ? void 0 : e.weather) == null ? void 0 : o.pmsl,
103
411
  gusts: {
104
- kts: (b = (f = e == null ? void 0 : e.weather) == null ? void 0 : f.wind) == null ? void 0 : b.gusts
412
+ kts: (v = (u = e == null ? void 0 : e.weather) == null ? void 0 : u.wind) == null ? void 0 : v.gusts
105
413
  },
106
- precip: (k = e == null ? void 0 : e.weather) == null ? void 0 : k.precip,
107
- code: (E = e == null ? void 0 : e.weather) == null ? void 0 : E.code,
108
- name: (S = e == null ? void 0 : e.weather) == null ? void 0 : S.name,
109
- url: (Y = e == null ? void 0 : e.weather) == null ? void 0 : Y.url,
414
+ precip: (I = e == null ? void 0 : e.weather) == null ? void 0 : I.precip,
415
+ code: (b = e == null ? void 0 : e.weather) == null ? void 0 : b.code,
416
+ name: (B = e == null ? void 0 : e.weather) == null ? void 0 : B.name,
417
+ url: (C = e == null ? void 0 : e.weather) == null ? void 0 : C.url,
110
418
  wave: e == null ? void 0 : e.wave,
111
419
  current: e == null ? void 0 : e.current,
112
420
  sst: e == null ? void 0 : e.sst,
@@ -116,81 +424,81 @@ class ke {
116
424
  };
117
425
  }
118
426
  static pickDaily(e, a) {
119
- var r, t, h, f, b, k, E, S, Y, U, O, se, ae, le, F, R, W, J, q, Z, V, _, $, ee, te, c, N, z, L, m, P, C, I, y, he, de, Ae, g, pe, x, Q, T, ce, A;
120
- const G = typeof a == "string" ? M(a) : a, ie = e == null ? void 0 : e.weather, v = e == null ? void 0 : e.marine, re = M((h = (t = (r = ie == null ? void 0 : ie[0]) == null ? void 0 : r.daily) == null ? void 0 : t.time) == null ? void 0 : h.at(0)), j = M((k = (b = (f = ie == null ? void 0 : ie[0]) == null ? void 0 : f.daily) == null ? void 0 : b.time) == null ? void 0 : k.at(-1)), d = [];
121
- if (G.isBetween(re, j, "millisecond", "[]")) {
122
- let u, K;
123
- const D = G.diff(re, "d", !1);
124
- if (ie)
125
- for (const De of ie) {
126
- const H = De.daily;
127
- u = {
128
- code: (E = H.weather_code) == null ? void 0 : E.at(D),
427
+ var h, t, o, u, v, I, b, B, C, k, P, se, ne, re, Y, U, R, X, q, J, Z, V, $, ee, te, c, F, T, N, m, S, M, L, D, he, de, Ae, g, ue, E, z, _, ce, A;
428
+ const O = typeof a == "string" ? H(a) : a, ae = e == null ? void 0 : e.weather, Q = e == null ? void 0 : e.marine, le = H((o = (t = (h = ae == null ? void 0 : ae[0]) == null ? void 0 : h.daily) == null ? void 0 : t.time) == null ? void 0 : o.at(0)), j = H((I = (v = (u = ae == null ? void 0 : ae[0]) == null ? void 0 : u.daily) == null ? void 0 : v.time) == null ? void 0 : I.at(-1)), d = [];
429
+ if (O.isBetween(le, j, "millisecond", "[]")) {
430
+ let f, K;
431
+ const y = O.diff(le, "d", !1);
432
+ if (ae)
433
+ for (const ve of ae) {
434
+ const G = ve.daily;
435
+ f = {
436
+ code: (b = G.weather_code) == null ? void 0 : b.at(y),
129
437
  temp: {
130
- max: (S = H.temperature_2m_max) == null ? void 0 : S.at(D),
131
- min: (Y = H.temperature_2m_min) == null ? void 0 : Y.at(D),
132
- mean: (U = H.temperature_2m_mean) == null ? void 0 : U.at(D)
438
+ max: (B = G.temperature_2m_max) == null ? void 0 : B.at(y),
439
+ min: (C = G.temperature_2m_min) == null ? void 0 : C.at(y),
440
+ mean: (k = G.temperature_2m_mean) == null ? void 0 : k.at(y)
133
441
  },
134
442
  apparentTemp: {
135
- max: (O = H.apparent_temperature_max) == null ? void 0 : O.at(D),
136
- min: (se = H.apparent_temperature_min) == null ? void 0 : se.at(D)
443
+ max: (P = G.apparent_temperature_max) == null ? void 0 : P.at(y),
444
+ min: (se = G.apparent_temperature_min) == null ? void 0 : se.at(y)
137
445
  },
138
446
  precip: {
139
- sum: (ae = H.precipitation_sum) == null ? void 0 : ae.at(D),
140
- rainSum: (le = H.rain_sum) == null ? void 0 : le.at(D),
141
- snowfallSum: (F = H.snowfall_sum) == null ? void 0 : F.at(D),
142
- showersSum: (R = H.showers_sum) == null ? void 0 : R.at(D),
143
- hours: (W = H.precipitation_hours) == null ? void 0 : W.at(D),
144
- probability: (J = H.precipitation_probability_max) == null ? void 0 : J.at(D)
447
+ sum: (ne = G.precipitation_sum) == null ? void 0 : ne.at(y),
448
+ rainSum: (re = G.rain_sum) == null ? void 0 : re.at(y),
449
+ snowfallSum: (Y = G.snowfall_sum) == null ? void 0 : Y.at(y),
450
+ showersSum: (U = G.showers_sum) == null ? void 0 : U.at(y),
451
+ hours: (R = G.precipitation_hours) == null ? void 0 : R.at(y),
452
+ probability: (X = G.precipitation_probability_max) == null ? void 0 : X.at(y)
145
453
  },
146
454
  rh: {
147
- max: (q = H.relative_humidity_2m_max) == null ? void 0 : q.at(D),
148
- min: (Z = H.relative_humidity_2m_min) == null ? void 0 : Z.at(D),
149
- mean: (V = H.relative_humidity_2m_mean) == null ? void 0 : V.at(D)
455
+ max: (q = G.relative_humidity_2m_max) == null ? void 0 : q.at(y),
456
+ min: (J = G.relative_humidity_2m_min) == null ? void 0 : J.at(y),
457
+ mean: (Z = G.relative_humidity_2m_mean) == null ? void 0 : Z.at(y)
150
458
  },
151
459
  wind: {
152
- speed: (_ = H.wind_speed_10m_max) == null ? void 0 : _.at(D),
153
- kts: ($ = H.wind_speed_10m_max) == null ? void 0 : $.at(D),
154
- degree: (ee = H.wind_direction_10m_dominant) == null ? void 0 : ee.at(D),
155
- gusts: (te = H.wind_gusts_10m_max) == null ? void 0 : te.at(D),
156
- bearing: ((c = H.wind_direction_10m_dominant) == null ? void 0 : c.at(D)) !== null ? (((N = H.wind_direction_10m_dominant) == null ? void 0 : N.at(D)) + 180) % 360 : null
460
+ speed: (V = G.wind_speed_10m_max) == null ? void 0 : V.at(y),
461
+ kts: ($ = G.wind_speed_10m_max) == null ? void 0 : $.at(y),
462
+ degree: (ee = G.wind_direction_10m_dominant) == null ? void 0 : ee.at(y),
463
+ gusts: (te = G.wind_gusts_10m_max) == null ? void 0 : te.at(y),
464
+ bearing: ((c = G.wind_direction_10m_dominant) == null ? void 0 : c.at(y)) !== null ? (((F = G.wind_direction_10m_dominant) == null ? void 0 : F.at(y)) + 180) % 360 : null
157
465
  }
158
466
  };
159
- const { name: oe, url: fe, bg: B } = this.parseWeatherCode(u.code, !0);
160
- u.name = oe, u.url = fe, u.bg = B, u.wind.scale = this.beaufort(this.kts2ms(u.wind.kts)), u.wind.direction = this.degree2Direction(u.wind.degree), d.push({
161
- utc: re.add(D, "d").utc().format(),
162
- model: De.model,
163
- weather: { ...u }
467
+ const { name: ie, url: fe, bg: x } = this.parseWeatherCode(f.code, !0);
468
+ f.name = ie, f.url = fe, f.bg = x, f.wind.scale = this.beaufort(this.kts2ms(f.wind.kts)), f.wind.direction = this.degree2Direction(f.wind.degree), d.push({
469
+ utc: le.add(y, "d").utc().format(),
470
+ model: ve.model,
471
+ weather: { ...f }
164
472
  });
165
473
  }
166
- if (v) {
167
- let De = 0;
168
- for (const H of v) {
169
- const oe = H.daily;
474
+ if (Q) {
475
+ let ve = 0;
476
+ for (const G of Q) {
477
+ const ie = G.daily;
170
478
  K = {
171
479
  wave: {
172
480
  sig: {
173
- height: (z = oe.wave_height_max) == null ? void 0 : z.at(D),
174
- degree: (L = oe.wave_direction_dominant) == null ? void 0 : L.at(D),
175
- period: (m = oe.wave_period_max) == null ? void 0 : m.at(D),
176
- bearing: ((P = oe.wave_direction_dominant) == null ? void 0 : P.at(D)) !== null ? (((C = oe.wave_direction_dominant) == null ? void 0 : C.at(D)) + 180) % 360 : null
481
+ height: (T = ie.wave_height_max) == null ? void 0 : T.at(y),
482
+ degree: (N = ie.wave_direction_dominant) == null ? void 0 : N.at(y),
483
+ period: (m = ie.wave_period_max) == null ? void 0 : m.at(y),
484
+ bearing: ((S = ie.wave_direction_dominant) == null ? void 0 : S.at(y)) !== null ? (((M = ie.wave_direction_dominant) == null ? void 0 : M.at(y)) + 180) % 360 : null
177
485
  },
178
486
  swell: {
179
- height: (I = oe.swell_wave_height_max) == null ? void 0 : I.at(D),
180
- degree: (y = oe.swell_wave_direction_dominant) == null ? void 0 : y.at(D),
181
- period: (he = oe.swell_wave_period_max) == null ? void 0 : he.at(D),
182
- peakPeriod: (de = oe.swell_wave_peak_period_max) == null ? void 0 : de.at(D),
183
- bearing: ((Ae = oe.swell_wave_direction_dominant) == null ? void 0 : Ae.at(D)) !== null ? (((g = oe.swell_wave_direction_dominant) == null ? void 0 : g.at(D)) + 180) % 360 : null
487
+ height: (L = ie.swell_wave_height_max) == null ? void 0 : L.at(y),
488
+ degree: (D = ie.swell_wave_direction_dominant) == null ? void 0 : D.at(y),
489
+ period: (he = ie.swell_wave_period_max) == null ? void 0 : he.at(y),
490
+ peakPeriod: (de = ie.swell_wave_peak_period_max) == null ? void 0 : de.at(y),
491
+ bearing: ((Ae = ie.swell_wave_direction_dominant) == null ? void 0 : Ae.at(y)) !== null ? (((g = ie.swell_wave_direction_dominant) == null ? void 0 : g.at(y)) + 180) % 360 : null
184
492
  },
185
493
  wd: {
186
- height: (pe = oe.wind_wave_height_max) == null ? void 0 : pe.at(D),
187
- degree: (x = oe.wind_wave_direction_dominant) == null ? void 0 : x.at(D),
188
- period: (Q = oe.wind_wave_period_max) == null ? void 0 : Q.at(D),
189
- peakPeriod: (T = oe.wind_wave_peak_period_max) == null ? void 0 : T.at(D),
190
- bearing: ((ce = oe.wind_wave_direction_dominant) == null ? void 0 : ce.at(D)) !== null ? (((A = oe.wind_wave_direction_dominant) == null ? void 0 : A.at(D)) + 180) % 360 : null
494
+ height: (ue = ie.wind_wave_height_max) == null ? void 0 : ue.at(y),
495
+ degree: (E = ie.wind_wave_direction_dominant) == null ? void 0 : E.at(y),
496
+ period: (z = ie.wind_wave_period_max) == null ? void 0 : z.at(y),
497
+ peakPeriod: (_ = ie.wind_wave_peak_period_max) == null ? void 0 : _.at(y),
498
+ bearing: ((ce = ie.wind_wave_direction_dominant) == null ? void 0 : ce.at(y)) !== null ? (((A = ie.wind_wave_direction_dominant) == null ? void 0 : A.at(y)) + 180) % 360 : null
191
499
  }
192
500
  }
193
- }, K.wave = this.parseWave(K.wave), Object.assign(d[De], K), De++;
501
+ }, K.wave = this.parseWave(K.wave), Object.assign(d[ve], K), ve++;
194
502
  }
195
503
  }
196
504
  }
@@ -200,8 +508,8 @@ class ke {
200
508
  return e.sig.direction = this.degree2Direction(e.sig.degree), e.swell.direction = this.degree2Direction(e.swell.degree), e.wd.direction = this.degree2Direction(e.wd.degree), e.sig.scale = this.douglas(e.sig.height), e.swell.scale = this.douglas(e.swell.height), e.wd.scale = this.douglas(e.wd.height), e;
201
509
  }
202
510
  static parseWeatherCode(e, a) {
203
- const r = this.weatherCode(e);
204
- return (a ? r.day : r.night) || {};
511
+ const h = this.weatherCode(e);
512
+ return (a ? h.day : h.night) || {};
205
513
  }
206
514
  static weatherCode(e) {
207
515
  const a = {
@@ -553,9 +861,9 @@ class ke {
553
861
  const a = this.degree2Radian(e);
554
862
  if (isNaN(a) || a === null)
555
863
  return null;
556
- let r = "N/A";
864
+ let h = "N/A";
557
865
  const t = Math.PI / 16;
558
- return a < t ? r = "N" : a >= t && a < 3 * t ? r = "NNE" : a >= 3 * t && a < 5 * t ? r = "NE" : a >= 5 * t && a < 7 * t ? r = "ENE" : a >= 7 * t && a < 9 * t ? r = "E" : a >= 9 * t && a < 11 * t ? r = "ESE" : a >= 11 * t && a < 13 * t ? r = "SE" : a >= 13 * t && a < 15 * t ? r = "SSE" : a >= 15 * t && a < 17 * t ? r = "S" : a >= 17 * t && a < 19 * t ? r = "SSW" : a >= 19 * t && a < 21 * t ? r = "SW" : a >= 21 * t && a < 23 * t ? r = "WSW" : a >= 23 * t && a < 25 * t ? r = "W" : a >= 25 * t && a < 27 * t ? r = "WNW" : a >= 27 * t && a < 29 * t ? r = "NW" : a >= 29 * t && a < 31 * t ? r = "NNW" : a >= 31 * t && a < 32 * t && (r = "N"), r;
866
+ return a < t ? h = "N" : a >= t && a < 3 * t ? h = "NNE" : a >= 3 * t && a < 5 * t ? h = "NE" : a >= 5 * t && a < 7 * t ? h = "ENE" : a >= 7 * t && a < 9 * t ? h = "E" : a >= 9 * t && a < 11 * t ? h = "ESE" : a >= 11 * t && a < 13 * t ? h = "SE" : a >= 13 * t && a < 15 * t ? h = "SSE" : a >= 15 * t && a < 17 * t ? h = "S" : a >= 17 * t && a < 19 * t ? h = "SSW" : a >= 19 * t && a < 21 * t ? h = "SW" : a >= 21 * t && a < 23 * t ? h = "WSW" : a >= 23 * t && a < 25 * t ? h = "W" : a >= 25 * t && a < 27 * t ? h = "WNW" : a >= 27 * t && a < 29 * t ? h = "NW" : a >= 29 * t && a < 31 * t ? h = "NNW" : a >= 31 * t && a < 32 * t && (h = "N"), h;
559
867
  }
560
868
  /**
561
869
  * 计算风力蒲福等级
@@ -576,14 +884,14 @@ class ke {
576
884
  }
577
885
  }
578
886
  const He = "data:image/gif;base64,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";
579
- const et = (o, e) => {
580
- const a = o.__vccOpts || o;
581
- for (const [r, t] of e)
582
- a[r] = t;
887
+ const at = (n, e) => {
888
+ const a = n.__vccOpts || n;
889
+ for (const [h, t] of e)
890
+ a[h] = t;
583
891
  return a;
584
- }, tt = {
892
+ }, it = {
585
893
  name: "SpotReport",
586
- components: { ArrowRightBold: Ze, Calendar: Ve },
894
+ components: { ArrowRightBold: Ve, Calendar: $e, Download: et },
587
895
  props: {
588
896
  token: {
589
897
  type: String,
@@ -601,9 +909,26 @@ const et = (o, e) => {
601
909
  emits: ["url"],
602
910
  data() {
603
911
  return {
912
+ loading: {
913
+ weatherEchart: !1,
914
+ meteogramEchart: !1,
915
+ hoursTable: !1,
916
+ daysTable: !1,
917
+ hourlyTable: !1,
918
+ seasonalEchart: !1
919
+ },
920
+ menuIndex: 2,
604
921
  placeholder: "search for port name or coordinates",
605
922
  searchName: void 0,
606
- rawSearchIcon: $e(_e),
923
+ rawSearchIcon: st(tt),
924
+ forecastModel: "Best Match",
925
+ modelList: ["Best Match", "GFS", "ECMWF"],
926
+ followList: void 0,
927
+ followItem: void 0,
928
+ followDialogTitle: "",
929
+ showFollowDialog: !1,
930
+ followRemark: "",
931
+ showDownloadDialog: !1,
607
932
  etime: void 0,
608
933
  positionOffset: void 0,
609
934
  positionGmt: void 0,
@@ -615,20 +940,6 @@ const et = (o, e) => {
615
940
  hoursTableData: {},
616
941
  pickedDate: void 0,
617
942
  pickedWeek: "Today",
618
- followList: void 0,
619
- followItem: void 0,
620
- followDialogTitle: "",
621
- showFollowDialog: !1,
622
- followRemark: "",
623
- loading: {
624
- weatherEchart: !1,
625
- meteogramEchart: !1,
626
- hoursTable: !1,
627
- daysTable: !1,
628
- hourlyTable: !1,
629
- seasonalEchart: !1
630
- },
631
- menuIndex: 2,
632
943
  meteogramData: void 0,
633
944
  daysTableData: [],
634
945
  hourlyTableData: [],
@@ -644,86 +955,86 @@ const et = (o, e) => {
644
955
  },
645
956
  computed: {
646
957
  computeHourLT() {
647
- return function(o) {
648
- if (o) {
649
- const e = X(o).tz(this.positionGmt);
958
+ return function(n) {
959
+ if (n) {
960
+ const e = W(n).tz(this.positionGmt);
650
961
  return `${e == null ? void 0 : e.format("HH")}`;
651
962
  }
652
963
  return "-";
653
964
  };
654
965
  },
655
966
  computeHourZ() {
656
- return function(o) {
657
- if (o) {
658
- const e = M(o).utc();
967
+ return function(n) {
968
+ if (n) {
969
+ const e = H(n).utc();
659
970
  return `${e == null ? void 0 : e.format("HH")}Z`;
660
971
  }
661
972
  return "-";
662
973
  };
663
974
  },
664
975
  computeWeekLT() {
665
- return function(o) {
666
- if (o) {
667
- const e = X(o).tz(this.positionGmt);
976
+ return function(n) {
977
+ if (n) {
978
+ const e = W(n).tz(this.positionGmt);
668
979
  return `${e == null ? void 0 : e.format("dddd")}`;
669
980
  }
670
981
  return "-";
671
982
  };
672
983
  },
673
984
  computeMMMDDLT() {
674
- return function(o) {
675
- if (o) {
676
- const e = X(o).tz(this.positionGmt);
985
+ return function(n) {
986
+ if (n) {
987
+ const e = W(n).tz(this.positionGmt);
677
988
  return `${e == null ? void 0 : e.format("MMM-DD")}`;
678
989
  }
679
990
  return "-";
680
991
  };
681
992
  },
682
993
  computeMMMDDHHmmLT() {
683
- return function(o) {
684
- if (o) {
685
- const e = X(o).tz(this.positionGmt);
994
+ return function(n) {
995
+ if (n) {
996
+ const e = W(n).tz(this.positionGmt);
686
997
  return `${e == null ? void 0 : e.format("MMM-DD HHmm")}`;
687
998
  }
688
999
  return "-";
689
1000
  };
690
1001
  },
691
1002
  computeMMMDDyyyyLT() {
692
- return function(o) {
693
- if (o) {
694
- const e = X(o).tz(this.positionGmt);
1003
+ return function(n) {
1004
+ if (n) {
1005
+ const e = W(n).tz(this.positionGmt);
695
1006
  return `${e == null ? void 0 : e.format("MMM-DD, yyyy")}`;
696
1007
  }
697
1008
  return "-";
698
1009
  };
699
1010
  },
700
1011
  computeLat() {
701
- return function(o, e = 4) {
702
- return Se.lat2pretty(o, e).pretty;
1012
+ return function(n, e = 4) {
1013
+ return _e.lat2pretty(n, e).pretty;
703
1014
  };
704
1015
  },
705
1016
  computeLng() {
706
- return function(o, e = 4) {
707
- return Se.lng2pretty(o, e).pretty;
1017
+ return function(n, e = 4) {
1018
+ return _e.lng2pretty(n, e).pretty;
708
1019
  };
709
1020
  },
710
1021
  roundPrecision() {
711
- return function(o, e = 4) {
712
- return isNaN(o) ? "-" : Se.roundPrecision(o, e);
1022
+ return function(n, e = 4) {
1023
+ return isNaN(n) ? "-" : _e.roundPrecision(n, e);
713
1024
  };
714
1025
  }
715
1026
  },
716
1027
  watch: {
717
1028
  point: {
718
1029
  async handler() {
719
- var o, e, a, r, t;
1030
+ var n, e, a, h, t, o;
720
1031
  this.point && (this.positionOffset = "-", this.position = {
721
- portId: (o = this.point) == null ? void 0 : o.portId,
1032
+ portId: (n = this.point) == null ? void 0 : n.portId,
722
1033
  lat: (e = this.point) == null ? void 0 : e.lat,
723
1034
  lng: (a = this.point) == null ? void 0 : a.lng,
724
- name: ((r = this.point) == null ? void 0 : r.portName) || this.computeLat(this.point.lat) + ", " + this.computeLng(this.point.lng),
1035
+ name: ((h = this.point) == null ? void 0 : h.portName) || this.computeLat(this.point.lat) + ", " + this.computeLng(this.point.lng),
725
1036
  remark: (t = this.point) == null ? void 0 : t.remark
726
- }, this.handleRender());
1037
+ }, this.forecastModel = ((o = this.point) == null ? void 0 : o.forecastModel) || "Best Match", this.handleRender());
727
1038
  },
728
1039
  deep: !0,
729
1040
  immediate: !0
@@ -743,13 +1054,13 @@ const et = (o, e) => {
743
1054
  },
744
1055
  mounted() {
745
1056
  this.fetchMyFollows(), this.$nextTick(() => {
746
- document.addEventListener("click", (o) => {
1057
+ document.addEventListener("click", (n) => {
747
1058
  const e = document.getElementById("seasonal-title");
748
- !(e != null && e.contains(o.target)) && this.seasonalData && (this.seasonalData.showMonths = !1);
749
- }), document.addEventListener("click", (o) => {
750
- var t, h;
751
- const e = document.getElementById("history-date-title"), a = (t = document.getElementsByClassName("datetime-select-box")) == null ? void 0 : t[0], r = (h = document.getElementsByClassName("el-picker__popper")) == null ? void 0 : h[0];
752
- !(e != null && e.contains(o.target)) && !(a != null && a.contains(o.target)) && !(r != null && r.contains(o.target)) && this.meteoData && (this.meteoData.showDateSelect = !1);
1059
+ !(e != null && e.contains(n.target)) && this.seasonalData && (this.seasonalData.showMonths = !1);
1060
+ }), document.addEventListener("click", (n) => {
1061
+ var t, o;
1062
+ const e = document.getElementById("history-date-title"), a = (t = document.getElementsByClassName("datetime-select-box")) == null ? void 0 : t[0], h = (o = document.getElementsByClassName("el-picker__popper")) == null ? void 0 : o[0];
1063
+ !(e != null && e.contains(n.target)) && !(a != null && a.contains(n.target)) && !(h != null && h.contains(n.target)) && this.meteoData && (this.meteoData.showDateSelect = !1);
753
1064
  });
754
1065
  }), localStorage.removeItem("idmCollectList");
755
1066
  },
@@ -757,9 +1068,9 @@ const et = (o, e) => {
757
1068
  handleSearchFocus() {
758
1069
  this.placeholder = "", this.positionList = JSON.parse(JSON.stringify(this.followList));
759
1070
  },
760
- async fetchSuggestPosition(o) {
761
- var r;
762
- const e = o.replaceAll(",", ",");
1071
+ async fetchSuggestPosition(n) {
1072
+ var h;
1073
+ const e = n.replaceAll(",", ",");
763
1074
  if (!e)
764
1075
  return !1;
765
1076
  const a = await ze.get(`${this.gateway}/api/arc/ports/suggest?n=${e}`, {
@@ -767,45 +1078,48 @@ const et = (o, e) => {
767
1078
  Authorization: this.token
768
1079
  }
769
1080
  });
770
- (a == null ? void 0 : a.data.code) === 0 && (this.positionList = (r = a == null ? void 0 : a.data.data) == null ? void 0 : r.map((t) => (t.name = t.id ? t.name : this.computeLat(t.lat) + ", " + this.computeLng(t.lng), t.portId = t.id, t)));
1081
+ (a == null ? void 0 : a.data.code) === 0 && (this.positionList = (h = a == null ? void 0 : a.data.data) == null ? void 0 : h.map((t) => (t.name = t.id ? t.name : this.computeLat(t.lat) + ", " + this.computeLng(t.lng), t.portId = t.id, t)));
771
1082
  },
772
- async handleSearch(o) {
773
- var e, a, r, t;
1083
+ async handleSearch(n) {
1084
+ var e, a, h, t;
774
1085
  if (this.searchName) {
775
- this.handleClearHoursTable(), this.followList ? this.followItem = this.followList.find((f) => f.name === this.searchName) : await this.fetchMyFollows();
776
- const h = this.positionList.find((f) => f.name === this.searchName);
1086
+ this.handleClearHoursTable(), this.followList ? this.followItem = this.followList.find((u) => u.name === this.searchName) : await this.fetchMyFollows();
1087
+ const o = this.positionList.find((u) => u.name === this.searchName);
777
1088
  this.position = {
778
- portId: ((e = this.followItem) == null ? void 0 : e.portId) || (h == null ? void 0 : h.portId),
779
- lat: h == null ? void 0 : h.lat,
780
- lng: h == null ? void 0 : h.lng,
1089
+ portId: ((e = this.followItem) == null ? void 0 : e.portId) || (o == null ? void 0 : o.portId),
1090
+ lat: o == null ? void 0 : o.lat,
1091
+ lng: o == null ? void 0 : o.lng,
781
1092
  name: this.searchName,
782
- remark: ((a = this.followItem) == null ? void 0 : a.remark) || (h == null ? void 0 : h.remark),
783
- followId: ((r = this.followItem) == null ? void 0 : r.followId) || h.followId
1093
+ remark: ((a = this.followItem) == null ? void 0 : a.remark) || (o == null ? void 0 : o.remark),
1094
+ followId: ((h = this.followItem) == null ? void 0 : h.followId) || o.followId
784
1095
  }, this.positionOffset = "-", this.followRemark = ((t = this.followItem) == null ? void 0 : t.remark) || "", this.$emit("url", this.position), (this.menuIndex === 1 || this.menuIndex === 3) && await this.fetchForecastMeteo(), this.handleRender();
785
1096
  }
786
1097
  },
1098
+ handleModelChange() {
1099
+ this.handleRender();
1100
+ },
787
1101
  handleFollowDialogOpen() {
788
1102
  var e;
789
1103
  this.showFollowDialog = !0;
790
- const o = (e = this.position) != null && e.portId ? "Port" : "Coordinate";
791
- this.followDialogTitle = this.followItem ? `Remove the ${o} from My Follows ?` : `Add the ${o} to My Follows ?`;
1104
+ const n = (e = this.position) != null && e.portId ? "Port" : "Coordinate";
1105
+ this.followDialogTitle = this.followItem ? `Remove the ${n} from My Follows ?` : `Add the ${n} to My Follows ?`;
792
1106
  },
793
1107
  async fetchMyFollows() {
794
- var e, a, r;
1108
+ var e, a, h;
795
1109
  this.followList = [];
796
- const o = await ze.get(`${this.gateway}/api/rsv/follows`, {
1110
+ const n = await ze.get(`${this.gateway}/api/rsv/follows`, {
797
1111
  headers: {
798
1112
  Authorization: this.token
799
1113
  },
800
1114
  params: { b: 2, pn: 1, ps: 1e4 }
801
1115
  });
802
- ((e = o == null ? void 0 : o.data) == null ? void 0 : e.code) === 0 && ((r = (a = o.data) == null ? void 0 : a.data) == null || r.rows.forEach((t) => {
803
- var f, b, k, E, S, Y, U, O;
804
- const h = {};
805
- h.followId = t.id, h.remark = t.remark, h.name = ((f = t.port) == null ? void 0 : f.name) || this.computeLat((b = t == null ? void 0 : t.coordinate) == null ? void 0 : b.lat) + ", " + this.computeLng((k = t == null ? void 0 : t.coordinate) == null ? void 0 : k.lng), h.nameRemark = h.remark ? `${h.name} ( ${h.remark} )` : h.name, h.portId = (E = t.port) == null ? void 0 : E.id, h.lat = ((S = t.port) == null ? void 0 : S.lat) || ((Y = t == null ? void 0 : t.coordinate) == null ? void 0 : Y.lat), h.lng = ((U = t.port) == null ? void 0 : U.lng) || ((O = t == null ? void 0 : t.coordinate) == null ? void 0 : O.lng), this.followList.push(h);
1116
+ ((e = n == null ? void 0 : n.data) == null ? void 0 : e.code) === 0 && ((h = (a = n.data) == null ? void 0 : a.data) == null || h.rows.forEach((t) => {
1117
+ var u, v, I, b, B, C, k, P;
1118
+ const o = {};
1119
+ o.followId = t.id, o.remark = t.remark, o.name = ((u = t.port) == null ? void 0 : u.name) || this.computeLat((v = t == null ? void 0 : t.coordinate) == null ? void 0 : v.lat) + ", " + this.computeLng((I = t == null ? void 0 : t.coordinate) == null ? void 0 : I.lng), o.nameRemark = o.remark ? `${o.name} ( ${o.remark} )` : o.name, o.portId = (b = t.port) == null ? void 0 : b.id, o.lat = ((B = t.port) == null ? void 0 : B.lat) || ((C = t == null ? void 0 : t.coordinate) == null ? void 0 : C.lat), o.lng = ((k = t.port) == null ? void 0 : k.lng) || ((P = t == null ? void 0 : t.coordinate) == null ? void 0 : P.lng), this.followList.push(o);
806
1120
  }), this.followItem = this.followList.find((t) => {
807
- var h, f;
808
- return t.followId && ((h = this.position) == null ? void 0 : h.followId) && t.followId === ((f = this.position) == null ? void 0 : f.followId);
1121
+ var o, u;
1122
+ return t.followId && ((o = this.position) == null ? void 0 : o.followId) && t.followId === ((u = this.position) == null ? void 0 : u.followId);
809
1123
  }));
810
1124
  },
811
1125
  handleClickFollow() {
@@ -814,29 +1128,31 @@ const et = (o, e) => {
814
1128
  headers: {
815
1129
  Authorization: this.token
816
1130
  }
817
- }).then((o) => {
1131
+ }).then((n) => {
818
1132
  var e;
819
- ((e = o.data) == null ? void 0 : e.code) === 0 && (this.showFollowDialog = !1, this.searchName = "", this.followItem = void 0, this.followRemark = "", this.position.followId = void 0, this.position.remark = "", this.fetchMyFollows());
1133
+ ((e = n.data) == null ? void 0 : e.code) === 0 && (this.showFollowDialog = !1, this.searchName = "", this.followItem = void 0, this.followRemark = "", this.position.followId = void 0, this.position.remark = "", this.fetchMyFollows());
820
1134
  });
821
1135
  else {
822
- const o = {
1136
+ const n = {
823
1137
  portId: this.position.portId,
824
1138
  lng: this.position.portId ? void 0 : this.position.lng,
825
1139
  lat: this.position.portId ? void 0 : this.position.lat,
826
1140
  remark: this.followRemark
827
1141
  };
828
- ze.post(`${this.gateway}/api/rsv/follows`, o, {
1142
+ ze.post(`${this.gateway}/api/rsv/follows`, n, {
829
1143
  headers: {
830
1144
  Authorization: this.token
831
1145
  }
832
1146
  }).then((e) => {
833
- var a, r, t;
834
- ((a = e.data) == null ? void 0 : a.code) === 0 && (this.showFollowDialog = !1, this.position.remark = this.followRemark, this.position.followId = (t = (r = e.data) == null ? void 0 : r.data) == null ? void 0 : t.id, this.fetchMyFollows());
1147
+ var a, h, t;
1148
+ ((a = e.data) == null ? void 0 : a.code) === 0 && (this.showFollowDialog = !1, this.position.remark = this.followRemark, this.position.followId = (t = (h = e.data) == null ? void 0 : h.data) == null ? void 0 : t.id, this.fetchMyFollows());
835
1149
  });
836
1150
  }
837
1151
  },
838
- async fetchForecastMeteo(o) {
839
- var r, t, h, f, b, k, E;
1152
+ handleDownload() {
1153
+ },
1154
+ async fetchForecastMeteo(n) {
1155
+ var o, u, v, I, b, B, C;
840
1156
  if (this.meteoData = void 0, !this.token)
841
1157
  return !1;
842
1158
  this.loading = {
@@ -847,113 +1163,117 @@ const et = (o, e) => {
847
1163
  hourlyTable: !0,
848
1164
  seasonalEchart: !0
849
1165
  };
850
- const e = {
1166
+ const { weatherModels: e, marineModels: a } = Le.autoPickMeteoModel(this.forecastModel), h = {
851
1167
  lat: this.position.lat,
852
1168
  lng: this.position.lng,
853
- forecastDays: o || 7
854
- }, a = await ze.post(`${this.gateway}/api/arc/meteo2/spot/forecast`, e, {
1169
+ forecastDays: n || 7,
1170
+ weatherModels: e,
1171
+ marineModels: a
1172
+ }, t = await ze.post(`${this.gateway}/api/arc/meteo2/spot/forecast`, h, {
855
1173
  headers: {
856
1174
  Authorization: this.token
857
1175
  }
858
1176
  });
859
- (a == null ? void 0 : a.data.code) === 0 && (this.meteoData = {
860
- ...a == null ? void 0 : a.data.data
861
- }, this.etime = (r = a == null ? void 0 : a.data) == null ? void 0 : r.etime, this.positionGmt = (f = (h = (t = this.meteoData) == null ? void 0 : t.weather) == null ? void 0 : h[0]) == null ? void 0 : f.timezone, this.positionOffset = (E = (k = (b = this.meteoData) == null ? void 0 : b.weather) == null ? void 0 : k[0]) == null ? void 0 : E.offset, this.issuedDate = M(this.etime).utc().format("MMM-DD/HHmm[Z], YYYY"));
1177
+ (t == null ? void 0 : t.data.code) === 0 && (this.meteoData = {
1178
+ ...t == null ? void 0 : t.data.data
1179
+ }, this.etime = (o = t == null ? void 0 : t.data) == null ? void 0 : o.etime, this.positionGmt = (I = (v = (u = this.meteoData) == null ? void 0 : u.weather) == null ? void 0 : v[0]) == null ? void 0 : I.timezone, this.positionOffset = (C = (B = (b = this.meteoData) == null ? void 0 : b.weather) == null ? void 0 : B[0]) == null ? void 0 : C.offset, this.issuedDate = H(this.etime).utc().format("MMM-DD/HHmm[Z], YYYY"));
862
1180
  },
863
- async fetchHistoryMeteo(o) {
864
- var t, h, f, b, k, E, S;
1181
+ async fetchHistoryMeteo(n) {
1182
+ var u, v, I, b, B, C, k;
865
1183
  if (this.meteoData = void 0, !this.token)
866
1184
  return !1;
867
1185
  this.loading.meteogramEchart = !0, this.loading.hourlyTable = !0;
868
- const e = X(this.dateRangeZ[0] || this.etime).tz(this.positionGmt).set({ hour: 0, minute: 0, second: 0 }).format(), a = {
1186
+ const { weatherModels: e, marineModels: a } = Le.autoPickMeteoModel(this.forecastModel), h = W(this.dateRangeZ[0] || this.etime).tz(this.positionGmt).set({ hour: 0, minute: 0, second: 0 }).format(), t = {
869
1187
  lat: this.position.lat,
870
1188
  lng: this.position.lng,
871
- datetime: e,
872
- forecastDays: o
873
- }, r = await ze.post(`${this.gateway}/api/arc/meteo2/spot/forecast`, a, {
1189
+ datetime: h,
1190
+ forecastDays: n,
1191
+ weatherModels: e,
1192
+ marineModels: a
1193
+ }, o = await ze.post(`${this.gateway}/api/arc/meteo2/spot/forecast`, t, {
874
1194
  headers: {
875
1195
  Authorization: this.token
876
1196
  }
877
1197
  });
878
- (r == null ? void 0 : r.data.code) === 0 && (this.meteoData = r == null ? void 0 : r.data.data, this.meteoData.showDateSelect = !1, this.etime = (t = r == null ? void 0 : r.data) == null ? void 0 : t.etime, this.positionGmt = (b = (f = (h = this.meteoData) == null ? void 0 : h.weather) == null ? void 0 : f[0]) == null ? void 0 : b.timezone, this.positionOffset = (S = (E = (k = this.meteoData) == null ? void 0 : k.weather) == null ? void 0 : E[0]) == null ? void 0 : S.offset, this.issuedDate = M(this.etime).utc().format("MMM-DD/HHmm[Z], YYYY"));
1198
+ (o == null ? void 0 : o.data.code) === 0 && (this.meteoData = o == null ? void 0 : o.data.data, this.meteoData.showDateSelect = !1, this.etime = (u = o == null ? void 0 : o.data) == null ? void 0 : u.etime, this.positionGmt = (b = (I = (v = this.meteoData) == null ? void 0 : v.weather) == null ? void 0 : I[0]) == null ? void 0 : b.timezone, this.positionOffset = (k = (C = (B = this.meteoData) == null ? void 0 : B.weather) == null ? void 0 : C[0]) == null ? void 0 : k.offset, this.issuedDate = H(this.etime).utc().format("MMM-DD/HHmm[Z], YYYY"));
879
1199
  },
880
1200
  async handleRender() {
881
1201
  if (this.disposeEcharts(), this.menuIndex === 1) {
882
1202
  this.initDatePickerInfo();
883
- const o = M(this.dateRangeZ[1]).diff(M(this.dateRangeZ[0]), "d", !0) + 1;
884
- await this.fetchHistoryMeteo(o), this.handleMeteogramData14(this.meteoData, o, this.dateRangeZ[0]), this.initHourlyTableData(this.meteoData, o, this.dateRangeZ[0], !0);
1203
+ const n = H(this.dateRangeZ[1]).diff(H(this.dateRangeZ[0]), "d", !0) + 1;
1204
+ await this.fetchHistoryMeteo(n), this.handleMeteogramData14(this.meteoData, n, this.dateRangeZ[0]), this.initHourlyTableData(this.meteoData, n, this.dateRangeZ[0], !0);
885
1205
  } else
886
1206
  this.menuIndex === 2 ? (await this.fetchForecastMeteo(7), this.initInfo(), this.initWeatherEchart(), this.handleMeteogramData7(this.meteoData), this.initHoursTableData()) : this.menuIndex === 3 ? (await this.fetchForecastMeteo(14), this.handleMeteogramData14(this.meteoData), this.initDaysTableData(), this.initHourlyTableData(this.meteoData)) : this.menuIndex === 4 && (await this.fetchSeasonalData(), this.initSeasonalEchart());
887
1207
  },
888
1208
  initInfo() {
889
- this.activeIndex = X(this.etime).tz(this.positionGmt).hour(), this.pickedDate = X(this.etime).tz(this.positionGmt).set({ hour: 0, minute: 0, second: 0, millisecond: 0 }).format();
1209
+ this.activeIndex = W(this.etime).tz(this.positionGmt).hour(), this.pickedDate = W(this.etime).tz(this.positionGmt).set({ hour: 0, minute: 0, second: 0, millisecond: 0 }).format();
890
1210
  },
891
1211
  initDatePickerInfo() {
892
1212
  if (!this.dateRangeZ[0] || !this.dateRange[1]) {
893
- this.dateRangeZ = [M(this.etime).add(-7, "day").utc().format(), M(this.etime).add(-1, "day").utc().format()];
894
- const o = [
895
- X(this.dateRangeZ[0]).tz(this.positionGmt).format("yyyy-MM-DD"),
896
- X(this.dateRangeZ[1]).tz(this.positionGmt).format("yyyy-MM-DD")
1213
+ this.dateRangeZ = [H(this.etime).add(-7, "day").utc().format(), H(this.etime).add(-1, "day").utc().format()];
1214
+ const n = [
1215
+ W(this.dateRangeZ[0]).tz(this.positionGmt).format("yyyy-MM-DD"),
1216
+ W(this.dateRangeZ[1]).tz(this.positionGmt).format("yyyy-MM-DD")
897
1217
  ];
898
- this.dateRange = [M(o[0]).format(), M(o[1]).format()];
1218
+ this.dateRange = [H(n[0]).format(), H(n[1]).format()];
899
1219
  } else {
900
- const o = [
901
- X(this.dateRangeZ[0]).tz(this.positionGmt).format("yyyy-MM-DD"),
902
- X(this.dateRangeZ[1]).tz(this.positionGmt).format("yyyy-MM-DD")
1220
+ const n = [
1221
+ W(this.dateRangeZ[0]).tz(this.positionGmt).format("yyyy-MM-DD"),
1222
+ W(this.dateRangeZ[1]).tz(this.positionGmt).format("yyyy-MM-DD")
903
1223
  ];
904
- this.dateRange = [M(o[0]).format(), M(o[1]).format()];
1224
+ this.dateRange = [H(n[0]).format(), H(n[1]).format()];
905
1225
  }
906
1226
  this.datePickerOptions = {
907
1227
  shortcuts: [
908
1228
  {
909
1229
  text: "Last week",
910
- value: (o) => {
911
- const e = M(this.etime).add(-1, "day").unix() * 1e3;
912
- return [M(this.etime).add(-7, "day").unix() * 1e3, e];
1230
+ value: (n) => {
1231
+ const e = H(this.etime).add(-1, "day").unix() * 1e3;
1232
+ return [H(this.etime).add(-7, "day").unix() * 1e3, e];
913
1233
  }
914
1234
  },
915
1235
  {
916
1236
  text: "Last 2 weeks",
917
- value: (o) => {
918
- const e = M(this.etime).add(-1, "day").unix() * 1e3;
919
- return [M(this.etime).add(-14, "day").unix() * 1e3, e];
1237
+ value: (n) => {
1238
+ const e = H(this.etime).add(-1, "day").unix() * 1e3;
1239
+ return [H(this.etime).add(-14, "day").unix() * 1e3, e];
920
1240
  }
921
1241
  }
922
1242
  ],
923
- disabledDate: (o) => {
924
- const e = o.getTime() > M(this.etime).add(-1, "day").unix() * 1e3, a = this.selectDate && Math.abs(M(o).diff(M(this.selectDate), "d", !0)) >= 14;
1243
+ disabledDate: (n) => {
1244
+ const e = n.getTime() > H(this.etime).add(-1, "day").unix() * 1e3, a = this.selectDate && Math.abs(H(n).diff(H(this.selectDate), "d", !0)) >= 14;
925
1245
  return e || a;
926
1246
  }
927
1247
  };
928
1248
  },
929
1249
  initWeatherEchart() {
930
- const o = [], e = [], a = [], r = [], t = [], h = [], f = [], b = [], k = [], E = [], S = {}, Y = "data:image/svg+xml;base64," + window.btoa(
1250
+ const n = [], e = [], a = [], h = [], t = [], o = [], u = [], v = [], I = [], b = [], B = {}, C = "data:image/svg+xml;base64," + window.btoa(
931
1251
  unescape(
932
1252
  encodeURIComponent(
933
1253
  '<svg t="1740385441519" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="10951" width="200" height="200"><path d="M512 804.83593751A276.87183211 276.87183211 0 0 1 235.12816789 527.9641054Q235.12816789 375.21005376 512 13.82031251q276.87183211 361.30792288 276.87183211 514.14379289a276.87183211 276.87183211 0 0 1-276.87183211 276.87183211zM294.4461577 527.9641054a217.47202472 217.47202472 0 0 0 217.5538423 217.55384231 19.79993605 19.79993605 0 1 0 0-39.51805453 177.9539702 177.9539702 0 0 1-177.9539702-178.03578778 19.79993605 19.79993605 0 0 0-39.5998721 0z" fill="#0c73a8" p-id="10952"></path></svg>'
934
1254
  )
935
1255
  )
936
- ), U = "data:image/svg+xml;base64," + window.btoa(
1256
+ ), k = "data:image/svg+xml;base64," + window.btoa(
937
1257
  unescape(
938
1258
  encodeURIComponent(
939
1259
  '<svg t="1740383449285" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="10797" width="200" height="200"><path d="M133.8 579l-44.4-44.4c-18.8-18.8-18.8-49.2 0-67.8L478 78c18.8-18.8 49.2-18.8 67.8 0l388.6 388.6c18.8 18.8 18.8 49.2 0 67.8L890 578.8c-19 19-50 18.6-68.6-0.8L592 337.2V912c0 26.6-21.4 48-48 48h-64c-26.6 0-48-21.4-48-48V337.2L202.4 578.2c-18.6 19.6-49.6 20-68.6 0.8z" fill="#333" p-id="10798"></path></svg>'
940
1260
  )
941
1261
  )
942
- ), O = new Image(64, 64);
943
- O.src = U, O.onload = () => {
944
- var W, J, q, Z, V, _, $, ee, te, c, N, z, L;
1262
+ ), P = new Image(64, 64);
1263
+ P.src = k, P.onload = () => {
1264
+ var R, X, q, J, Z, V, $, ee, te, c, F, T, N;
945
1265
  this.loading.weatherEchart = !1;
946
1266
  for (let m = 0; m < 7; m++) {
947
- const P = M(this.pickedDate).clone().add(m, "d").format();
948
- o.push(X(P).tz(this.positionGmt).format("yyyy-MM-DD")), e.push(this.computeMMMDDLT(P)), a.push(m === 0 ? "Today" : this.computeWeekLT(P));
949
- const C = ((W = ke.pickDaily(this.meteoData, P)) == null ? void 0 : W[0]) || {};
950
- r.push(this.roundPrecision((q = (J = C.weather) == null ? void 0 : J.temp) == null ? void 0 : q.min, 0)), t.push(this.roundPrecision((V = (Z = C.weather) == null ? void 0 : Z.temp) == null ? void 0 : V.max, 0)), b.push(this.roundPrecision(($ = (_ = C.weather) == null ? void 0 : _.wind) == null ? void 0 : $.kts, 1) ?? "- kts"), E.push(this.roundPrecision((te = (ee = C.weather) == null ? void 0 : ee.precip) == null ? void 0 : te.sum, 1) ?? "- mm"), h.push({ symbol: "image://" + ((c = C.weather) == null ? void 0 : c.url) }), f.push((N = C.weather) == null ? void 0 : N.name), k.push((L = (z = C.weather) == null ? void 0 : z.wind) == null ? void 0 : L.bearing);
951
- const I = document.createElement("canvas"), y = I.getContext("2d");
952
- I.width = O.width, I.height = O.height;
953
- const de = k[m] * (Math.PI / 180);
954
- y.translate(I.width / 2, I.height / 2), y.rotate(de), y.translate(-O.width / 2, -O.height / 2), y.drawImage(O, 0, 0, 64, 64);
955
- const Ae = I.toDataURL();
956
- S[`WindIcon${m}`] = {
1267
+ const S = H(this.pickedDate).clone().add(m, "d").format();
1268
+ n.push(W(S).tz(this.positionGmt).format("yyyy-MM-DD")), e.push(this.computeMMMDDLT(S)), a.push(m === 0 ? "Today" : this.computeWeekLT(S));
1269
+ const M = ((R = Le.pickDaily(this.meteoData, S)) == null ? void 0 : R[0]) || {};
1270
+ h.push(this.roundPrecision((q = (X = M.weather) == null ? void 0 : X.temp) == null ? void 0 : q.min, 0)), t.push(this.roundPrecision((Z = (J = M.weather) == null ? void 0 : J.temp) == null ? void 0 : Z.max, 0)), v.push(this.roundPrecision(($ = (V = M.weather) == null ? void 0 : V.wind) == null ? void 0 : $.kts, 1) ?? "- kts"), b.push(this.roundPrecision((te = (ee = M.weather) == null ? void 0 : ee.precip) == null ? void 0 : te.sum, 1) ?? "- mm"), o.push({ symbol: "image://" + ((c = M.weather) == null ? void 0 : c.url) }), u.push((F = M.weather) == null ? void 0 : F.name), I.push((N = (T = M.weather) == null ? void 0 : T.wind) == null ? void 0 : N.bearing);
1271
+ const L = document.createElement("canvas"), D = L.getContext("2d");
1272
+ L.width = P.width, L.height = P.height;
1273
+ const de = I[m] * (Math.PI / 180);
1274
+ D.translate(L.width / 2, L.height / 2), D.rotate(de), D.translate(-P.width / 2, -P.height / 2), D.drawImage(P, 0, 0, 64, 64);
1275
+ const Ae = L.toDataURL();
1276
+ B[`WindIcon${m}`] = {
957
1277
  height: 12,
958
1278
  width: 12,
959
1279
  align: "left",
@@ -962,7 +1282,7 @@ const et = (o, e) => {
962
1282
  }
963
1283
  };
964
1284
  }
965
- const se = Math.max(...t.filter((m) => typeof m == "number" && !isNaN(m))) - Math.min(...r.filter((m) => typeof m == "number" && !isNaN(m))), ae = Math.min(...r.filter((m) => typeof m == "number" && !isNaN(m))) - 1.5 * se, le = Math.max(...t.filter((m) => typeof m == "number" && !isNaN(m))) + 2 * se, F = 4 + 0.5 / o.length * 92 + "%", R = {
1285
+ const se = Math.max(...t.filter((m) => typeof m == "number" && !isNaN(m))) - Math.min(...h.filter((m) => typeof m == "number" && !isNaN(m))), ne = Math.min(...h.filter((m) => typeof m == "number" && !isNaN(m))) - 1.5 * se, re = Math.max(...t.filter((m) => typeof m == "number" && !isNaN(m))) + 2 * se, Y = 4 + 0.5 / n.length * 92 + "%", U = {
966
1286
  grid: {
967
1287
  bottom: 0,
968
1288
  top: 0,
@@ -974,7 +1294,7 @@ const et = (o, e) => {
974
1294
  show: !0,
975
1295
  position: "right",
976
1296
  formatter: function(m) {
977
- return m.seriesName === "Weather Icon" ? f[m.dataIndex] : !1;
1297
+ return m.seriesName === "Weather Icon" ? u[m.dataIndex] : !1;
978
1298
  }
979
1299
  },
980
1300
  legend: {
@@ -986,13 +1306,13 @@ const et = (o, e) => {
986
1306
  top: "50%",
987
1307
  height: "50%",
988
1308
  type: "category",
989
- data: o,
1309
+ data: n,
990
1310
  show: !1
991
1311
  },
992
1312
  singleAxis: [
993
1313
  {
994
- left: F,
995
- right: F,
1314
+ left: Y,
1315
+ right: Y,
996
1316
  type: "category",
997
1317
  show: !1,
998
1318
  axisLine: {
@@ -1012,13 +1332,13 @@ const et = (o, e) => {
1012
1332
  // 隐藏分割线
1013
1333
  },
1014
1334
  boundaryGap: !1,
1015
- data: o,
1335
+ data: n,
1016
1336
  top: "7%",
1017
1337
  height: "2%"
1018
1338
  },
1019
1339
  {
1020
- left: F,
1021
- right: F,
1340
+ left: Y,
1341
+ right: Y,
1022
1342
  type: "category",
1023
1343
  show: !1,
1024
1344
  axisLine: {
@@ -1038,13 +1358,13 @@ const et = (o, e) => {
1038
1358
  // 隐藏分割线
1039
1359
  },
1040
1360
  boundaryGap: !1,
1041
- data: o,
1361
+ data: n,
1042
1362
  top: "16%",
1043
1363
  height: "2%"
1044
1364
  },
1045
1365
  {
1046
- left: F,
1047
- right: F,
1366
+ left: Y,
1367
+ right: Y,
1048
1368
  type: "category",
1049
1369
  show: !1,
1050
1370
  axisLine: {
@@ -1064,13 +1384,13 @@ const et = (o, e) => {
1064
1384
  // 隐藏分割线
1065
1385
  },
1066
1386
  boundaryGap: !1,
1067
- data: o,
1387
+ data: n,
1068
1388
  top: "27%",
1069
1389
  height: "2%"
1070
1390
  },
1071
1391
  {
1072
- left: F,
1073
- right: F,
1392
+ left: Y,
1393
+ right: Y,
1074
1394
  type: "category",
1075
1395
  show: !1,
1076
1396
  axisLine: {
@@ -1090,13 +1410,13 @@ const et = (o, e) => {
1090
1410
  // 隐藏分割线
1091
1411
  },
1092
1412
  boundaryGap: !1,
1093
- data: o,
1413
+ data: n,
1094
1414
  top: "84%",
1095
1415
  height: "2%"
1096
1416
  },
1097
1417
  {
1098
- left: F,
1099
- right: F,
1418
+ left: Y,
1419
+ right: Y,
1100
1420
  type: "category",
1101
1421
  show: !1,
1102
1422
  axisLine: {
@@ -1116,7 +1436,7 @@ const et = (o, e) => {
1116
1436
  // 隐藏分割线
1117
1437
  },
1118
1438
  boundaryGap: !1,
1119
- data: o,
1439
+ data: n,
1120
1440
  top: "93%",
1121
1441
  height: "2%"
1122
1442
  }
@@ -1125,8 +1445,8 @@ const et = (o, e) => {
1125
1445
  type: "value",
1126
1446
  name: "温度(℃)",
1127
1447
  show: !1,
1128
- min: ae,
1129
- max: le,
1448
+ min: ne,
1449
+ max: re,
1130
1450
  axisLabel: {
1131
1451
  formatter: "{value} °C"
1132
1452
  }
@@ -1162,13 +1482,13 @@ const et = (o, e) => {
1162
1482
  singleAxisIndex: 2,
1163
1483
  coordinateSystem: "singleAxis",
1164
1484
  type: "scatter",
1165
- data: h,
1485
+ data: o,
1166
1486
  symbolSize: 44
1167
1487
  },
1168
1488
  {
1169
1489
  name: "温度(℃)",
1170
1490
  type: "line",
1171
- data: r,
1491
+ data: h,
1172
1492
  smooth: !0,
1173
1493
  itemStyle: {
1174
1494
  color: "#FF9500"
@@ -1190,7 +1510,7 @@ const et = (o, e) => {
1190
1510
  x: "4%"
1191
1511
  },
1192
1512
  {
1193
- x: 4 + 1 / o.length * 92 + "%"
1513
+ x: 4 + 1 / n.length * 92 + "%"
1194
1514
  }
1195
1515
  ]
1196
1516
  ]
@@ -1216,13 +1536,13 @@ const et = (o, e) => {
1216
1536
  singleAxisIndex: 3,
1217
1537
  coordinateSystem: "singleAxis",
1218
1538
  type: "scatter",
1219
- data: b,
1539
+ data: v,
1220
1540
  label: {
1221
1541
  show: !0,
1222
1542
  color: "rgba(0,0,0,0.7)",
1223
1543
  // formatter: '{c}'
1224
1544
  rich: {
1225
- ...S,
1545
+ ...B,
1226
1546
  title: {
1227
1547
  align: "center",
1228
1548
  vertical: "center"
@@ -1238,7 +1558,7 @@ const et = (o, e) => {
1238
1558
  singleAxisIndex: 4,
1239
1559
  coordinateSystem: "singleAxis",
1240
1560
  type: "scatter",
1241
- data: E,
1561
+ data: b,
1242
1562
  label: {
1243
1563
  show: !0,
1244
1564
  color: "rgba(0,0,0,0.7)",
@@ -1249,7 +1569,7 @@ const et = (o, e) => {
1249
1569
  width: 16,
1250
1570
  align: "left",
1251
1571
  backgroundColor: {
1252
- image: Y
1572
+ image: C
1253
1573
  }
1254
1574
  },
1255
1575
  title: {
@@ -1267,28 +1587,28 @@ const et = (o, e) => {
1267
1587
  };
1268
1588
  this.$nextTick(() => {
1269
1589
  const m = xe.init(document.getElementById("weather-chart"));
1270
- m.setOption(R), m.on("click", (P) => {
1271
- const C = P.dataIndex, I = o[C].split("-");
1272
- this.pickedDate = X().tz(this.positionGmt).set({ year: I[0], month: Number(I[1] - 1), date: Number(I[2]), hour: 0, minute: 0, second: 0, millisecond: 0 }).format(), this.pickedWeek = C === 0 ? "Today" : this.computeWeekLT(this.pickedDate), this.activeIndex = C === 0 ? X(this.etime).tz(this.positionGmt).hour() : void 0, this.initHoursTableData(), R.series[3].markArea = {
1590
+ m.setOption(U), m.on("click", (S) => {
1591
+ const M = S.dataIndex, L = n[M].split("-");
1592
+ this.pickedDate = W().tz(this.positionGmt).set({ year: L[0], month: Number(L[1] - 1), date: Number(L[2]), hour: 0, minute: 0, second: 0, millisecond: 0 }).format(), this.pickedWeek = M === 0 ? "Today" : this.computeWeekLT(this.pickedDate), this.activeIndex = M === 0 ? W(this.etime).tz(this.positionGmt).hour() : void 0, this.initHoursTableData(), U.series[3].markArea = {
1273
1593
  itemStyle: {
1274
1594
  color: "rgba(64,159,255,0.25)"
1275
1595
  },
1276
1596
  data: [
1277
1597
  [
1278
1598
  {
1279
- x: 4 + C / o.length * 92 + "%"
1599
+ x: 4 + M / n.length * 92 + "%"
1280
1600
  },
1281
1601
  {
1282
- x: 4 + (C + 1) / o.length * 92 + "%"
1602
+ x: 4 + (M + 1) / n.length * 92 + "%"
1283
1603
  }
1284
1604
  ]
1285
1605
  ]
1286
- }, m.setOption(R);
1606
+ }, m.setOption(U);
1287
1607
  });
1288
1608
  });
1289
1609
  };
1290
1610
  },
1291
- handleMeteogramData7(o) {
1611
+ handleMeteogramData7(n) {
1292
1612
  this.meteogramData = {
1293
1613
  xDates: [],
1294
1614
  dates: [],
@@ -1308,31 +1628,31 @@ const et = (o, e) => {
1308
1628
  offset: void 0
1309
1629
  };
1310
1630
  let a = { start: void 0, end: void 0 };
1311
- const r = "data:image/svg+xml;base64," + window.btoa(
1631
+ const h = "data:image/svg+xml;base64," + window.btoa(
1312
1632
  unescape(
1313
1633
  encodeURIComponent(
1314
1634
  '<svg t="1740383449285" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="10797" width="200" height="200"><path d="M133.8 579l-44.4-44.4c-18.8-18.8-18.8-49.2 0-67.8L478 78c18.8-18.8 49.2-18.8 67.8 0l388.6 388.6c18.8 18.8 18.8 49.2 0 67.8L890 578.8c-19 19-50 18.6-68.6-0.8L592 337.2V912c0 26.6-21.4 48-48 48h-64c-26.6 0-48-21.4-48-48V337.2L202.4 578.2c-18.6 19.6-49.6 20-68.6 0.8z" fill="#60c43e" p-id="10798"></path></svg>'
1315
1635
  )
1316
1636
  )
1317
1637
  ), t = new Image(64, 64);
1318
- t.src = r, t.onload = () => {
1319
- var f, b, k, E, S, Y, U, O, se, ae, le, F, R, W, J, q, Z, V, _, $, ee, te, c, N, z, L, m, P, C, I, y, he, de, Ae, g, pe, x, Q, T, ce, A;
1638
+ t.src = h, t.onload = () => {
1639
+ var u, v, I, b, B, C, k, P, se, ne, re, Y, U, R, X, q, J, Z, V, $, ee, te, c, F, T, N, m, S, M, L, D, he, de, Ae, g, ue, E, z, _, ce, A;
1320
1640
  this.loading.meteogramEchart = !1;
1321
- const h = X(this.etime).tz(this.positionGmt).set({ hour: 0, minute: 0, second: 0, millisecond: 0 }).format();
1322
- for (let G = 0; G < 7 * 24; G++) {
1323
- const ie = M(h).clone().add(G, "h").format();
1324
- (f = this.meteogramData) == null || f.dates.push(ie);
1325
- const v = ((b = ke.pickHourly(o, ie)) == null ? void 0 : b[0]) || {};
1326
- if (G % 12 === 0 && G % 24 !== 0 ? (k = this.meteogramData) == null || k.xDates.push(X(ie).tz(this.positionGmt).format("MMM-DD")) : (E = this.meteogramData) == null || E.xDates.push(""), G % 3 === 0 ? (S = this.meteogramData) == null || S.hours.push(this.computeHourLT(ie)) : (Y = this.meteogramData) == null || Y.hours.push(""), (O = this.meteogramData) == null || O.temperaturesX.push([ie, this.roundPrecision((U = v == null ? void 0 : v.weather) == null ? void 0 : U.temp, 0)]), (ae = this.meteogramData) == null || ae.temperaturesY.push(this.roundPrecision((se = v == null ? void 0 : v.weather) == null ? void 0 : se.temp, 0)), (R = this.meteogramData) == null || R.precip.push(this.roundPrecision((F = (le = v == null ? void 0 : v.weather) == null ? void 0 : le.precip) == null ? void 0 : F.sum, 1)), (q = this.meteogramData) == null || q.windspeed.push(this.roundPrecision((J = (W = v.weather) == null ? void 0 : W.wind) == null ? void 0 : J.kts, 1)), (_ = this.meteogramData) == null || _.windGusts.push(this.roundPrecision((V = (Z = v == null ? void 0 : v.weather) == null ? void 0 : Z.wind) == null ? void 0 : V.gusts, 1)), (te = this.meteogramData) == null || te.sigWaveHeight.push(this.roundPrecision((ee = ($ = v == null ? void 0 : v.wave) == null ? void 0 : $.sig) == null ? void 0 : ee.height)), (z = this.meteogramData) == null || z.swellHeight.push(this.roundPrecision((N = (c = v == null ? void 0 : v.wave) == null ? void 0 : c.swell) == null ? void 0 : N.height)), G % 6 === 0 ? ((m = this.meteogramData) == null || m.weatherIcons.push({ symbol: "image://" + ((L = v.weather) == null ? void 0 : L.url), symbolSize: 30 }), (C = this.meteogramData) == null || C.weatherNames.push((P = v.weather) == null ? void 0 : P.name)) : ((y = this.meteogramData) == null || y.weatherIcons.push({ symbol: "image://" + ((I = v.weather) == null ? void 0 : I.url), symbolSize: 0 }), (he = this.meteogramData) == null || he.weatherNames.push("")), G % 3 === 0 ? (g = this.meteogramData) == null || g.windDir.push((Ae = (de = v.weather) == null ? void 0 : de.wind) == null ? void 0 : Ae.bearing) : (pe = this.meteogramData) == null || pe.windDir.push(void 0), G % 3 === 0) {
1327
- const re = document.createElement("canvas"), j = re.getContext("2d");
1328
- re.width = t.width, re.height = t.height;
1329
- const u = ((x = this.meteogramData) == null ? void 0 : x.windDir[G]) * (Math.PI / 180);
1330
- j.translate(re.width / 2, re.height / 2), j.rotate(u), j.translate(-t.width / 2, -t.height / 2), j.drawImage(t, 0, 0, 64, 64);
1331
- const K = re.toDataURL();
1332
- this.meteogramData.windDirIcons[G] = K;
1641
+ const o = W(this.etime).tz(this.positionGmt).set({ hour: 0, minute: 0, second: 0, millisecond: 0 }).format();
1642
+ for (let O = 0; O < 7 * 24; O++) {
1643
+ const ae = H(o).clone().add(O, "h").format();
1644
+ (u = this.meteogramData) == null || u.dates.push(ae);
1645
+ const Q = ((v = Le.pickHourly(n, ae)) == null ? void 0 : v[0]) || {};
1646
+ if (O % 12 === 0 && O % 24 !== 0 ? (I = this.meteogramData) == null || I.xDates.push(W(ae).tz(this.positionGmt).format("MMM-DD")) : (b = this.meteogramData) == null || b.xDates.push(""), O % 3 === 0 ? (B = this.meteogramData) == null || B.hours.push(this.computeHourLT(ae)) : (C = this.meteogramData) == null || C.hours.push(""), (P = this.meteogramData) == null || P.temperaturesX.push([ae, this.roundPrecision((k = Q == null ? void 0 : Q.weather) == null ? void 0 : k.temp, 0)]), (ne = this.meteogramData) == null || ne.temperaturesY.push(this.roundPrecision((se = Q == null ? void 0 : Q.weather) == null ? void 0 : se.temp, 0)), (U = this.meteogramData) == null || U.precip.push(this.roundPrecision((Y = (re = Q == null ? void 0 : Q.weather) == null ? void 0 : re.precip) == null ? void 0 : Y.sum, 1)), (q = this.meteogramData) == null || q.windspeed.push(this.roundPrecision((X = (R = Q.weather) == null ? void 0 : R.wind) == null ? void 0 : X.kts, 1)), (V = this.meteogramData) == null || V.windGusts.push(this.roundPrecision((Z = (J = Q == null ? void 0 : Q.weather) == null ? void 0 : J.wind) == null ? void 0 : Z.gusts, 1)), (te = this.meteogramData) == null || te.sigWaveHeight.push(this.roundPrecision((ee = ($ = Q == null ? void 0 : Q.wave) == null ? void 0 : $.sig) == null ? void 0 : ee.height)), (T = this.meteogramData) == null || T.swellHeight.push(this.roundPrecision((F = (c = Q == null ? void 0 : Q.wave) == null ? void 0 : c.swell) == null ? void 0 : F.height)), O % 6 === 0 ? ((m = this.meteogramData) == null || m.weatherIcons.push({ symbol: "image://" + ((N = Q.weather) == null ? void 0 : N.url), symbolSize: 30 }), (M = this.meteogramData) == null || M.weatherNames.push((S = Q.weather) == null ? void 0 : S.name)) : ((D = this.meteogramData) == null || D.weatherIcons.push({ symbol: "image://" + ((L = Q.weather) == null ? void 0 : L.url), symbolSize: 0 }), (he = this.meteogramData) == null || he.weatherNames.push("")), O % 3 === 0 ? (g = this.meteogramData) == null || g.windDir.push((Ae = (de = Q.weather) == null ? void 0 : de.wind) == null ? void 0 : Ae.bearing) : (ue = this.meteogramData) == null || ue.windDir.push(void 0), O % 3 === 0) {
1647
+ const le = document.createElement("canvas"), j = le.getContext("2d");
1648
+ le.width = t.width, le.height = t.height;
1649
+ const f = ((E = this.meteogramData) == null ? void 0 : E.windDir[O]) * (Math.PI / 180);
1650
+ j.translate(le.width / 2, le.height / 2), j.rotate(f), j.translate(-t.width / 2, -t.height / 2), j.drawImage(t, 0, 0, 64, 64);
1651
+ const K = le.toDataURL();
1652
+ this.meteogramData.windDirIcons[O] = K;
1333
1653
  } else
1334
- this.meteogramData.windDirIcons[G] = void 0;
1335
- (Q = v == null ? void 0 : v.weather) != null && Q.isDay ? a.end === void 0 && a.start >= 0 && (a.end = G) : a.start === void 0 && (a.start = G), (a.start >= 0 && a.end >= 0 || a.start >= 0 && G === 7 * 24 - 1) && ((T = this.meteogramData) == null || T.markarea.push([
1654
+ this.meteogramData.windDirIcons[O] = void 0;
1655
+ (z = Q == null ? void 0 : Q.weather) != null && z.isDay ? a.end === void 0 && a.start >= 0 && (a.end = O) : a.start === void 0 && (a.start = O), (a.start >= 0 && a.end >= 0 || a.start >= 0 && O === 7 * 24 - 1) && ((_ = this.meteogramData) == null || _.markarea.push([
1336
1656
  {
1337
1657
  x: 4 + a.start / (7 * 24) * 92 + "%"
1338
1658
  },
@@ -1346,8 +1666,8 @@ const et = (o, e) => {
1346
1666
  });
1347
1667
  };
1348
1668
  },
1349
- handleMeteogramData14(o, e, a) {
1350
- const r = e || 14, t = a || this.etime;
1669
+ handleMeteogramData14(n, e, a) {
1670
+ const h = e || 14, t = a || this.etime;
1351
1671
  this.meteogramData = {
1352
1672
  xDates: [],
1353
1673
  dates: [],
@@ -1366,47 +1686,47 @@ const et = (o, e) => {
1366
1686
  markarea: [],
1367
1687
  offset: void 0
1368
1688
  };
1369
- let h = { start: void 0, end: void 0 };
1370
- const f = "data:image/svg+xml;base64," + window.btoa(
1689
+ let o = { start: void 0, end: void 0 };
1690
+ const u = "data:image/svg+xml;base64," + window.btoa(
1371
1691
  unescape(
1372
1692
  encodeURIComponent(
1373
1693
  '<svg t="1740383449285" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="10797" width="200" height="200"><path d="M133.8 579l-44.4-44.4c-18.8-18.8-18.8-49.2 0-67.8L478 78c18.8-18.8 49.2-18.8 67.8 0l388.6 388.6c18.8 18.8 18.8 49.2 0 67.8L890 578.8c-19 19-50 18.6-68.6-0.8L592 337.2V912c0 26.6-21.4 48-48 48h-64c-26.6 0-48-21.4-48-48V337.2L202.4 578.2c-18.6 19.6-49.6 20-68.6 0.8z" fill="#60c43e" p-id="10798"></path></svg>'
1374
1694
  )
1375
1695
  )
1376
- ), b = new Image(64, 64);
1377
- b.src = f, b.onload = () => {
1378
- var E, S, Y, U, O, se, ae, le, F, R, W, J, q, Z, V, _, $, ee, te, c, N, z, L, m, P, C, I, y, he, de, Ae, g, pe, x, Q, T, ce, A, G, ie, v, re;
1696
+ ), v = new Image(64, 64);
1697
+ v.src = u, v.onload = () => {
1698
+ var b, B, C, k, P, se, ne, re, Y, U, R, X, q, J, Z, V, $, ee, te, c, F, T, N, m, S, M, L, D, he, de, Ae, g, ue, E, z, _, ce, A, O, ae, Q, le;
1379
1699
  this.loading.meteogramEchart = !1;
1380
- const k = X(t).tz(this.positionGmt).set({ hour: 0, minute: 0, second: 0, millisecond: 0 }).format();
1381
- for (let j = 0; j < r * 24; j++) {
1382
- const d = M(k).clone().add(j, "h").format();
1383
- (E = this.meteogramData) == null || E.dates.push(d);
1384
- const u = ((S = ke.pickHourly(o, d)) == null ? void 0 : S[0]) || {};
1385
- if ((U = this.meteogramData) == null || U.temperaturesY.push(this.roundPrecision((Y = u == null ? void 0 : u.weather) == null ? void 0 : Y.temp, 0)), (ae = this.meteogramData) == null || ae.windspeed.push(this.roundPrecision((se = (O = u.weather) == null ? void 0 : O.wind) == null ? void 0 : se.kts, 1)), (R = this.meteogramData) == null || R.windGusts.push(this.roundPrecision((F = (le = u == null ? void 0 : u.weather) == null ? void 0 : le.wind) == null ? void 0 : F.gusts, 1)), (q = this.meteogramData) == null || q.sigWaveHeight.push(this.roundPrecision((J = (W = u == null ? void 0 : u.wave) == null ? void 0 : W.sig) == null ? void 0 : J.height)), (_ = this.meteogramData) == null || _.swellHeight.push(this.roundPrecision((V = (Z = u == null ? void 0 : u.wave) == null ? void 0 : Z.swell) == null ? void 0 : V.height)), j % 3 === 0 ? ((te = this.meteogramData) == null || te.precip.push(this.roundPrecision((ee = ($ = u == null ? void 0 : u.weather) == null ? void 0 : $.precip) == null ? void 0 : ee.sum3Hours, 1)), (N = this.meteogramData) == null || N.temperaturesX.push([d, this.roundPrecision((c = u == null ? void 0 : u.weather) == null ? void 0 : c.temp, 0)])) : (z = this.meteogramData) == null || z.precip.push(null), j % 12 === 0 && j % 24 !== 0 ? (L = this.meteogramData) == null || L.xDates.push(X(d).tz(this.positionGmt).format("MMM-DD")) : (m = this.meteogramData) == null || m.xDates.push(""), j % 6 === 0 ? (P = this.meteogramData) == null || P.hours.push(this.computeHourLT(d)) : (C = this.meteogramData) == null || C.hours.push(""), j % 12 === 0 ? ((y = this.meteogramData) == null || y.weatherIcons.push({ symbol: "image://" + ((I = u.weather) == null ? void 0 : I.url), symbolSize: 30 }), (de = this.meteogramData) == null || de.weatherNames.push((he = u.weather) == null ? void 0 : he.name)) : ((g = this.meteogramData) == null || g.weatherIcons.push({ symbol: "image://" + ((Ae = u.weather) == null ? void 0 : Ae.url), symbolSize: 0 }), (pe = this.meteogramData) == null || pe.weatherNames.push("")), j % 6 === 0 ? (T = this.meteogramData) == null || T.windDir.push((Q = (x = u.weather) == null ? void 0 : x.wind) == null ? void 0 : Q.bearing) : (ce = this.meteogramData) == null || ce.windDir.push(void 0), j % 6 === 0) {
1386
- const K = document.createElement("canvas"), D = K.getContext("2d");
1387
- K.width = b.width, K.height = b.height;
1388
- const H = ((A = this.meteogramData) == null ? void 0 : A.windDir[j]) * (Math.PI / 180);
1389
- D.translate(K.width / 2, K.height / 2), D.rotate(H), D.translate(-b.width / 2, -b.height / 2), D.drawImage(b, 0, 0, 64, 64);
1390
- const oe = K.toDataURL();
1391
- this.meteogramData.windDirIcons[j] = oe;
1700
+ const I = W(t).tz(this.positionGmt).set({ hour: 0, minute: 0, second: 0, millisecond: 0 }).format();
1701
+ for (let j = 0; j < h * 24; j++) {
1702
+ const d = H(I).clone().add(j, "h").format();
1703
+ (b = this.meteogramData) == null || b.dates.push(d);
1704
+ const f = ((B = Le.pickHourly(n, d)) == null ? void 0 : B[0]) || {};
1705
+ if ((k = this.meteogramData) == null || k.temperaturesY.push(this.roundPrecision((C = f == null ? void 0 : f.weather) == null ? void 0 : C.temp, 0)), (ne = this.meteogramData) == null || ne.windspeed.push(this.roundPrecision((se = (P = f.weather) == null ? void 0 : P.wind) == null ? void 0 : se.kts, 1)), (U = this.meteogramData) == null || U.windGusts.push(this.roundPrecision((Y = (re = f == null ? void 0 : f.weather) == null ? void 0 : re.wind) == null ? void 0 : Y.gusts, 1)), (q = this.meteogramData) == null || q.sigWaveHeight.push(this.roundPrecision((X = (R = f == null ? void 0 : f.wave) == null ? void 0 : R.sig) == null ? void 0 : X.height)), (V = this.meteogramData) == null || V.swellHeight.push(this.roundPrecision((Z = (J = f == null ? void 0 : f.wave) == null ? void 0 : J.swell) == null ? void 0 : Z.height)), j % 3 === 0 ? ((te = this.meteogramData) == null || te.precip.push(this.roundPrecision((ee = ($ = f == null ? void 0 : f.weather) == null ? void 0 : $.precip) == null ? void 0 : ee.sum3Hours, 1)), (F = this.meteogramData) == null || F.temperaturesX.push([d, this.roundPrecision((c = f == null ? void 0 : f.weather) == null ? void 0 : c.temp, 0)])) : (T = this.meteogramData) == null || T.precip.push(null), j % 12 === 0 && j % 24 !== 0 ? (N = this.meteogramData) == null || N.xDates.push(W(d).tz(this.positionGmt).format("MMM-DD")) : (m = this.meteogramData) == null || m.xDates.push(""), j % 6 === 0 ? (S = this.meteogramData) == null || S.hours.push(this.computeHourLT(d)) : (M = this.meteogramData) == null || M.hours.push(""), j % 12 === 0 ? ((D = this.meteogramData) == null || D.weatherIcons.push({ symbol: "image://" + ((L = f.weather) == null ? void 0 : L.url), symbolSize: 30 }), (de = this.meteogramData) == null || de.weatherNames.push((he = f.weather) == null ? void 0 : he.name)) : ((g = this.meteogramData) == null || g.weatherIcons.push({ symbol: "image://" + ((Ae = f.weather) == null ? void 0 : Ae.url), symbolSize: 0 }), (ue = this.meteogramData) == null || ue.weatherNames.push("")), j % 6 === 0 ? (_ = this.meteogramData) == null || _.windDir.push((z = (E = f.weather) == null ? void 0 : E.wind) == null ? void 0 : z.bearing) : (ce = this.meteogramData) == null || ce.windDir.push(void 0), j % 6 === 0) {
1706
+ const K = document.createElement("canvas"), y = K.getContext("2d");
1707
+ K.width = v.width, K.height = v.height;
1708
+ const G = ((A = this.meteogramData) == null ? void 0 : A.windDir[j]) * (Math.PI / 180);
1709
+ y.translate(K.width / 2, K.height / 2), y.rotate(G), y.translate(-v.width / 2, -v.height / 2), y.drawImage(v, 0, 0, 64, 64);
1710
+ const ie = K.toDataURL();
1711
+ this.meteogramData.windDirIcons[j] = ie;
1392
1712
  } else
1393
1713
  this.meteogramData.windDirIcons[j] = void 0;
1394
- (G = u == null ? void 0 : u.weather) != null && G.isDay ? h.end === void 0 && h.start >= 0 && (h.end = j) : h.start === void 0 && (h.start = j), (h.start >= 0 && h.end >= 0 || h.start >= 0 && j === r * 24 - 1) && ((ie = this.meteogramData) == null || ie.markarea.push([
1714
+ (O = f == null ? void 0 : f.weather) != null && O.isDay ? o.end === void 0 && o.start >= 0 && (o.end = j) : o.start === void 0 && (o.start = j), (o.start >= 0 && o.end >= 0 || o.start >= 0 && j === h * 24 - 1) && ((ae = this.meteogramData) == null || ae.markarea.push([
1395
1715
  {
1396
- x: 4 + h.start / (r * 24) * 92 + "%"
1716
+ x: 4 + o.start / (h * 24) * 92 + "%"
1397
1717
  },
1398
1718
  {
1399
- x: 4 + (h.end + 1) / (r * 24) * 92 + "%"
1719
+ x: 4 + (o.end + 1) / (h * 24) * 92 + "%"
1400
1720
  }
1401
- ]), h = { start: void 0, end: void 0 });
1721
+ ]), o = { start: void 0, end: void 0 });
1402
1722
  }
1403
- this.meteogramData.offset = 4 + 0.5 / ((re = (v = this.meteogramData) == null ? void 0 : v.dates) == null ? void 0 : re.length) * 92 + "%", this.$nextTick(() => {
1723
+ this.meteogramData.offset = 4 + 0.5 / ((le = (Q = this.meteogramData) == null ? void 0 : Q.dates) == null ? void 0 : le.length) * 92 + "%", this.$nextTick(() => {
1404
1724
  this.initMeteogramEchart(14);
1405
1725
  });
1406
1726
  };
1407
1727
  },
1408
- initMeteogramEchart(o) {
1409
- var se, ae, le, F, R, W, J, q, Z, V, _, $, ee, te, c, N, z, L, m, P, C, I, y, he, de, Ae, g, pe, x, Q, T, ce, A, G, ie, v, re, j;
1728
+ initMeteogramEchart(n) {
1729
+ var se, ne, re, Y, U, R, X, q, J, Z, V, $, ee, te, c, F, T, N, m, S, M, L, D, he, de, Ae, g, ue, E, z, _, ce, A, O, ae, Q, le, j;
1410
1730
  const e = xe.init(document.getElementById("weather-icons")), a = {
1411
1731
  grid: {
1412
1732
  show: !0,
@@ -1424,8 +1744,8 @@ const et = (o, e) => {
1424
1744
  show: !0,
1425
1745
  position: "right",
1426
1746
  formatter: (d) => {
1427
- const u = d == null ? void 0 : d.dataIndex;
1428
- return d.seriesName === "Weather Icons" ? `<strong>${this.meteogramData.weatherNames[u]}</strong>` : !1;
1747
+ const f = d == null ? void 0 : d.dataIndex;
1748
+ return d.seriesName === "Weather Icons" ? `<strong>${this.meteogramData.weatherNames[f]}</strong>` : !1;
1429
1749
  }
1430
1750
  },
1431
1751
  legend: {
@@ -1443,8 +1763,8 @@ const et = (o, e) => {
1443
1763
  },
1444
1764
  singleAxis: [
1445
1765
  {
1446
- left: (ae = this.meteogramData) == null ? void 0 : ae.offset,
1447
- right: (le = this.meteogramData) == null ? void 0 : le.offset,
1766
+ left: (ne = this.meteogramData) == null ? void 0 : ne.offset,
1767
+ right: (re = this.meteogramData) == null ? void 0 : re.offset,
1448
1768
  type: "category",
1449
1769
  show: !1,
1450
1770
  axisLine: {
@@ -1464,7 +1784,7 @@ const et = (o, e) => {
1464
1784
  // 隐藏分割线
1465
1785
  },
1466
1786
  boundaryGap: !1,
1467
- data: (F = this.meteogramData) == null ? void 0 : F.dates,
1787
+ data: (Y = this.meteogramData) == null ? void 0 : Y.dates,
1468
1788
  top: "50%",
1469
1789
  height: "2%"
1470
1790
  }
@@ -1475,14 +1795,14 @@ const et = (o, e) => {
1475
1795
  type: "scatter",
1476
1796
  singleAxisIndex: 0,
1477
1797
  coordinateSystem: "singleAxis",
1478
- data: (R = this.meteogramData) == null ? void 0 : R.weatherIcons,
1798
+ data: (U = this.meteogramData) == null ? void 0 : U.weatherIcons,
1479
1799
  symbolSize: 24
1480
1800
  }
1481
1801
  ]
1482
1802
  };
1483
1803
  e.setOption(a);
1484
- let r = Math.max(...this.meteogramData.temperaturesY.filter((d) => typeof d == "number" && !isNaN(d))), t = Math.min(...this.meteogramData.temperaturesY.filter((d) => typeof d == "number" && !isNaN(d))) > 0 ? 0 : Math.min(...this.meteogramData.temperaturesY.filter((d) => typeof d == "number" && !isNaN(d))), h = Math.floor(t / 5) * 5, f = Math.ceil(r / 5) * 5, b = Math.ceil((f - h) / 5), k = "", E = [];
1485
- o === 7 ? (k = "Precip.1h ( mm ) ", E = [
1804
+ let h = Math.max(...this.meteogramData.temperaturesY.filter((d) => typeof d == "number" && !isNaN(d))), t = Math.min(...this.meteogramData.temperaturesY.filter((d) => typeof d == "number" && !isNaN(d))) > 0 ? 0 : Math.min(...this.meteogramData.temperaturesY.filter((d) => typeof d == "number" && !isNaN(d))), o = Math.floor(t / 5) * 5, u = Math.ceil(h / 5) * 5, v = Math.ceil((u - o) / 5), I = "", b = [];
1805
+ n === 7 ? (I = "Precip.1h ( mm ) ", b = [
1486
1806
  {
1487
1807
  gte: 50,
1488
1808
  color: "rgba(197, 5, 58, 1)",
@@ -1511,7 +1831,7 @@ const et = (o, e) => {
1511
1831
  color: "rgba(172, 210, 255, 1)",
1512
1832
  label: "Light, <2mm"
1513
1833
  }
1514
- ]) : (k = "Precip.3h ( mm ) ", E = [
1834
+ ]) : (I = "Precip.3h ( mm ) ", b = [
1515
1835
  {
1516
1836
  gte: 100,
1517
1837
  color: "rgba(197, 5, 58, 1)",
@@ -1541,7 +1861,7 @@ const et = (o, e) => {
1541
1861
  label: "Light, <5mm"
1542
1862
  }
1543
1863
  ]);
1544
- const S = xe.init(document.getElementById("weather-condition")), Y = {
1864
+ const B = xe.init(document.getElementById("weather-condition")), C = {
1545
1865
  title: {
1546
1866
  text: "Weather conditions",
1547
1867
  top: "10px",
@@ -1567,36 +1887,36 @@ const et = (o, e) => {
1567
1887
  show: !0,
1568
1888
  position: "right",
1569
1889
  formatter: (d) => {
1570
- var K, D, De, H, oe, fe, B, i, w, ve, Me, ge, ye, Pe, Ne, Te, Ee, Ye, je, Ke, Ue, Re, Xe, We, Je, qe;
1571
- const u = (K = d == null ? void 0 : d.find((Be) => Be.seriesType === "bar")) == null ? void 0 : K.dataIndex;
1890
+ var K, y, ve, G, ie, fe, x, De, i, w, Qe, ge, ye, Ne, Te, Ge, Me, je, Ke, Ue, We, Re, Xe, qe, Je, Ze;
1891
+ const f = (K = d == null ? void 0 : d.find((Be) => Be.seriesType === "bar")) == null ? void 0 : K.dataIndex;
1572
1892
  if (d.find((Be) => Be.seriesType === "scatter"))
1573
1893
  return !1;
1574
1894
  {
1575
1895
  let Be = "";
1576
- return o === 7 ? (((D = d[1]) == null ? void 0 : D.value) < 2 ? Be = "rgba(172, 210, 255, 1)" : ((De = d[1]) == null ? void 0 : De.value) <= 3.9 ? Be = "rgba(3, 248, 103, 1)" : ((H = d[1]) == null ? void 0 : H.value) <= 7.9 ? Be = "rgba(190, 226, 2, 18)" : ((oe = d[1]) == null ? void 0 : oe.value) <= 19.9 ? Be = "rgba(248, 1, 1, 1)" : ((fe = d[1]) == null ? void 0 : fe.value) >= 20 ? Be = "rgba(197, 5, 58, 1)" : Be = "rgba(172, 210, 255, 1)", `<div style="font-size: 13px;"><strong>${X((B = this.meteogramData) == null ? void 0 : B.dates[u]).tz(this.positionGmt).format("MMM-DD/HHmm[LT]")}</strong></div>
1577
- <div style="display: ${(i = this.meteogramData) != null && i.weatherNames[u] ? "block" : "none"}; font-size: 13px;">
1578
- <span>Weather : </span><strong>${(w = this.meteogramData) == null ? void 0 : w.weatherNames[u]}</strong>
1896
+ return n === 7 ? (((y = d[1]) == null ? void 0 : y.value) < 2 ? Be = "rgba(172, 210, 255, 1)" : ((ve = d[1]) == null ? void 0 : ve.value) <= 3.9 ? Be = "rgba(3, 248, 103, 1)" : ((G = d[1]) == null ? void 0 : G.value) <= 7.9 ? Be = "rgba(190, 226, 2, 18)" : ((ie = d[1]) == null ? void 0 : ie.value) <= 19.9 ? Be = "rgba(248, 1, 1, 1)" : ((fe = d[1]) == null ? void 0 : fe.value) >= 20 ? Be = "rgba(197, 5, 58, 1)" : Be = "rgba(172, 210, 255, 1)", `<div style="font-size: 13px;"><strong>${W((x = this.meteogramData) == null ? void 0 : x.dates[f]).tz(this.positionGmt).format("MMM-DD/HHmm[LT]")}</strong></div>
1897
+ <div style="display: ${(De = this.meteogramData) != null && De.weatherNames[f] ? "block" : "none"}; font-size: 13px;">
1898
+ <span>Weather : </span><strong>${(i = this.meteogramData) == null ? void 0 : i.weatherNames[f]}</strong>
1579
1899
  </div>
1580
1900
  <div style="font-size: 13px;">
1581
1901
  <span style="display:inline-block; height: 10px;width: 10px;border-radius: 50%;background-color: #FF9500;}"></span>
1582
- <span>Temperature : </span><strong>${(Me = (ve = d[0]) == null ? void 0 : ve.value) == null ? void 0 : Me[1]}</strong><span style="padding-left: 3px;">℃</span>
1902
+ <span>Temperature : </span><strong>${(Qe = (w = d[0]) == null ? void 0 : w.value) == null ? void 0 : Qe[1]}</strong><span style="padding-left: 3px;">℃</span>
1583
1903
  </div>
1584
1904
  <div style="font-size: 13px;">
1585
1905
  <span style="display:inline-block; height: 10px;width: 10px;border-radius: 50%;background: ${Be};"></span>
1586
1906
  <span>Precip.1h : </span><strong>${(ge = d[1]) == null ? void 0 : ge.value}</strong><span style="padding-left: 3px;">mm</span>
1587
- </div>`) : o === 14 ? (((ye = d[1]) == null ? void 0 : ye.value) < 5 ? Be = "rgba(172, 210, 255, 1)" : ((Pe = d[1]) == null ? void 0 : Pe.value) <= 9.9 ? Be = "rgba(3, 248, 103, 1)" : ((Ne = d[1]) == null ? void 0 : Ne.value) <= 24.9 ? Be = "rgba(190, 226, 2, 18)" : ((Te = d[1]) == null ? void 0 : Te.value) <= 49.9 ? Be = "rgba(248, 1, 1, 1)" : ((Ee = d[1]) == null ? void 0 : Ee.value) > 50 ? Be = "rgba(197, 5, 58, 1)" : Be = "rgba(172, 210, 255, 1)", `<div style="font-size: 13px;"
1588
- <strong>${X((Ye = this.meteogramData) == null ? void 0 : Ye.dates[u]).tz(this.positionGmt).format("MMM-DD/HHmm[LT]")}</strong>
1907
+ </div>`) : n === 14 ? (((ye = d[1]) == null ? void 0 : ye.value) < 5 ? Be = "rgba(172, 210, 255, 1)" : ((Ne = d[1]) == null ? void 0 : Ne.value) <= 9.9 ? Be = "rgba(3, 248, 103, 1)" : ((Te = d[1]) == null ? void 0 : Te.value) <= 24.9 ? Be = "rgba(190, 226, 2, 18)" : ((Ge = d[1]) == null ? void 0 : Ge.value) <= 49.9 ? Be = "rgba(248, 1, 1, 1)" : ((Me = d[1]) == null ? void 0 : Me.value) > 50 ? Be = "rgba(197, 5, 58, 1)" : Be = "rgba(172, 210, 255, 1)", `<div style="font-size: 13px;"
1908
+ <strong>${W((je = this.meteogramData) == null ? void 0 : je.dates[f]).tz(this.positionGmt).format("MMM-DD/HHmm[LT]")}</strong>
1589
1909
  </div>
1590
- <div style="display: ${(je = this.meteogramData) != null && je.weatherNames[u] ? "block" : "none"}; font-size: 13px;">
1591
- <span>Weather : </span><strong>${(Ke = this.meteogramData) == null ? void 0 : Ke.weatherNames[u]}</strong>
1910
+ <div style="display: ${(Ke = this.meteogramData) != null && Ke.weatherNames[f] ? "block" : "none"}; font-size: 13px;">
1911
+ <span>Weather : </span><strong>${(Ue = this.meteogramData) == null ? void 0 : Ue.weatherNames[f]}</strong>
1592
1912
  </div>
1593
- <div style="display: ${isNaN((Re = (Ue = d[0]) == null ? void 0 : Ue.value) == null ? void 0 : Re[1]) ? "none" : "block"};font-size: 13px;">
1913
+ <div style="display: ${isNaN((Re = (We = d[0]) == null ? void 0 : We.value) == null ? void 0 : Re[1]) ? "none" : "block"};font-size: 13px;">
1594
1914
  <span style="display:inline-block; height: 10px;width: 10px;border-radius: 50%;background-color: #FF9500;}"></span>
1595
- <span>Temperature : </span><strong>${(We = (Xe = d[0]) == null ? void 0 : Xe.value) == null ? void 0 : We[1]}</strong><span style="padding-left: 3px;">℃</span>
1915
+ <span>Temperature : </span><strong>${(qe = (Xe = d[0]) == null ? void 0 : Xe.value) == null ? void 0 : qe[1]}</strong><span style="padding-left: 3px;">℃</span>
1596
1916
  </div>
1597
1917
  <div style="display: ${isNaN((Je = d[1]) == null ? void 0 : Je.value) ? "none" : "block"};font-size: 13px;">
1598
1918
  <span style="display:inline-block; height: 10px;width: 10px;border-radius: 50%;background: ${Be};"></span>
1599
- <span>Precip.3h : </span><strong>${(qe = d[1]) == null ? void 0 : qe.value}</strong><span style="padding-left: 3px;">mm</span>
1919
+ <span>Precip.3h : </span><strong>${(Ze = d[1]) == null ? void 0 : Ze.value}</strong><span style="padding-left: 3px;">mm</span>
1600
1920
  </div>`) : !1;
1601
1921
  }
1602
1922
  }
@@ -1622,7 +1942,7 @@ const et = (o, e) => {
1622
1942
  top: "50%",
1623
1943
  height: "50%",
1624
1944
  type: "category",
1625
- data: (W = this.meteogramData) == null ? void 0 : W.dates,
1945
+ data: (R = this.meteogramData) == null ? void 0 : R.dates,
1626
1946
  axisLabel: {
1627
1947
  show: !1
1628
1948
  },
@@ -1642,7 +1962,7 @@ const et = (o, e) => {
1642
1962
  },
1643
1963
  singleAxis: [
1644
1964
  {
1645
- left: (J = this.meteogramData) == null ? void 0 : J.offset,
1965
+ left: (X = this.meteogramData) == null ? void 0 : X.offset,
1646
1966
  right: (q = this.meteogramData) == null ? void 0 : q.offset,
1647
1967
  type: "category",
1648
1968
  show: !1,
@@ -1663,13 +1983,13 @@ const et = (o, e) => {
1663
1983
  // 隐藏分割线
1664
1984
  },
1665
1985
  boundaryGap: !1,
1666
- data: (Z = this.meteogramData) == null ? void 0 : Z.dates,
1986
+ data: (J = this.meteogramData) == null ? void 0 : J.dates,
1667
1987
  top: "17%",
1668
1988
  height: "2%"
1669
1989
  },
1670
1990
  {
1671
- left: (V = this.meteogramData) == null ? void 0 : V.offset,
1672
- right: (_ = this.meteogramData) == null ? void 0 : _.offset,
1991
+ left: (Z = this.meteogramData) == null ? void 0 : Z.offset,
1992
+ right: (V = this.meteogramData) == null ? void 0 : V.offset,
1673
1993
  type: "category",
1674
1994
  show: !1,
1675
1995
  axisLine: {
@@ -1720,8 +2040,8 @@ const et = (o, e) => {
1720
2040
  height: "2%"
1721
2041
  },
1722
2042
  {
1723
- left: (N = this.meteogramData) == null ? void 0 : N.offset,
1724
- right: (z = this.meteogramData) == null ? void 0 : z.offset,
2043
+ left: (F = this.meteogramData) == null ? void 0 : F.offset,
2044
+ right: (T = this.meteogramData) == null ? void 0 : T.offset,
1725
2045
  type: "category",
1726
2046
  show: !1,
1727
2047
  axisLine: {
@@ -1741,7 +2061,7 @@ const et = (o, e) => {
1741
2061
  // 隐藏分割线
1742
2062
  },
1743
2063
  boundaryGap: !1,
1744
- data: (L = this.meteogramData) == null ? void 0 : L.dates,
2064
+ data: (N = this.meteogramData) == null ? void 0 : N.dates,
1745
2065
  top: "92%",
1746
2066
  height: "2%"
1747
2067
  }
@@ -1751,10 +2071,10 @@ const et = (o, e) => {
1751
2071
  type: "value",
1752
2072
  name: "Temperature ( ℃ ) ",
1753
2073
  show: !0,
1754
- min: h,
1755
- max: f,
2074
+ min: o,
2075
+ max: u,
1756
2076
  // data: this.meteogramData?.temperaturesY,
1757
- interval: b,
2077
+ interval: v,
1758
2078
  splitNumber: 5,
1759
2079
  nameRotate: 90,
1760
2080
  nameLocation: "middle",
@@ -1768,7 +2088,7 @@ const et = (o, e) => {
1768
2088
  {
1769
2089
  position: "right",
1770
2090
  type: "value",
1771
- name: k,
2091
+ name: I,
1772
2092
  min: 0,
1773
2093
  max: Math.ceil((Math.max(...this.meteogramData.precip.filter((d) => typeof d == "number" && !isNaN(d))) + 1) / 5) * 5,
1774
2094
  interval: Math.ceil((Math.max(...this.meteogramData.precip.filter((d) => typeof d == "number" && !isNaN(d))) + 1) / 5),
@@ -1790,7 +2110,7 @@ const et = (o, e) => {
1790
2110
  top: 31,
1791
2111
  right: "4%",
1792
2112
  show: !0,
1793
- pieces: E,
2113
+ pieces: b,
1794
2114
  seriesIndex: 1,
1795
2115
  dimension: 1
1796
2116
  },
@@ -1814,7 +2134,7 @@ const et = (o, e) => {
1814
2134
  itemStyle: {
1815
2135
  color: "rgba(239,239,239,0.6)"
1816
2136
  },
1817
- data: (P = this.meteogramData) == null ? void 0 : P.markarea,
2137
+ data: (S = this.meteogramData) == null ? void 0 : S.markarea,
1818
2138
  emphasis: {
1819
2139
  disabled: !0
1820
2140
  }
@@ -1824,7 +2144,7 @@ const et = (o, e) => {
1824
2144
  name: "Precipitation:",
1825
2145
  type: "bar",
1826
2146
  yAxisIndex: 1,
1827
- data: (C = this.meteogramData) == null ? void 0 : C.precip,
2147
+ data: (M = this.meteogramData) == null ? void 0 : M.precip,
1828
2148
  itemStyle: {
1829
2149
  color: "#0c73a8"
1830
2150
  },
@@ -1836,7 +2156,7 @@ const et = (o, e) => {
1836
2156
  singleAxisIndex: 2,
1837
2157
  coordinateSystem: "singleAxis",
1838
2158
  type: "scatter",
1839
- data: (I = this.meteogramData) == null ? void 0 : I.hours,
2159
+ data: (L = this.meteogramData) == null ? void 0 : L.hours,
1840
2160
  label: {
1841
2161
  show: !0,
1842
2162
  fontSize: 11,
@@ -1851,7 +2171,7 @@ const et = (o, e) => {
1851
2171
  singleAxisIndex: 3,
1852
2172
  coordinateSystem: "singleAxis",
1853
2173
  type: "scatter",
1854
- data: (y = this.meteogramData) == null ? void 0 : y.xDates,
2174
+ data: (D = this.meteogramData) == null ? void 0 : D.xDates,
1855
2175
  label: {
1856
2176
  show: !0,
1857
2177
  fontSize: 13,
@@ -1864,8 +2184,8 @@ const et = (o, e) => {
1864
2184
  }
1865
2185
  ]
1866
2186
  };
1867
- S.setOption(Y);
1868
- const U = xe.init(document.getElementById("wave-swell")), O = {
2187
+ B.setOption(C);
2188
+ const k = xe.init(document.getElementById("wave-swell")), P = {
1869
2189
  title: {
1870
2190
  text: "Wave & Swell",
1871
2191
  top: "10px",
@@ -1892,24 +2212,24 @@ const et = (o, e) => {
1892
2212
  show: !0,
1893
2213
  position: "right",
1894
2214
  formatter: (d) => {
1895
- var K, D, De, H, oe, fe, B, i, w, ve;
1896
- const u = (K = d == null ? void 0 : d[0]) == null ? void 0 : K.dataIndex;
1897
- return d.find((Me) => Me.seriesType === "scatter") ? !1 : `<div style="font-size: 13px;"><strong>${X((D = this.meteogramData) == null ? void 0 : D.dates[u]).tz(this.positionGmt).format("MMM-DD/HHmm[LT]")}</strong></div>
1898
- <div style="font-size: 13px;display: ${isNaN((De = d[0]) == null ? void 0 : De.value) ? "none" : "block"}">
2215
+ var K, y, ve, G, ie, fe, x, De, i, w;
2216
+ const f = (K = d == null ? void 0 : d[0]) == null ? void 0 : K.dataIndex;
2217
+ return d.find((Qe) => Qe.seriesType === "scatter") ? !1 : `<div style="font-size: 13px;"><strong>${W((y = this.meteogramData) == null ? void 0 : y.dates[f]).tz(this.positionGmt).format("MMM-DD/HHmm[LT]")}</strong></div>
2218
+ <div style="font-size: 13px;display: ${isNaN((ve = d[0]) == null ? void 0 : ve.value) ? "none" : "block"}">
1899
2219
  <span style="display:inline-block; height: 10px;width: 10px;border-radius: 50%;background-color: #60c43e;}"></span>
1900
- <span>Wind Speed : </span><strong>${(H = d[0]) == null ? void 0 : H.value}</strong><span style="padding-left: 3px;">kts</span>
2220
+ <span>Wind Speed : </span><strong>${(G = d[0]) == null ? void 0 : G.value}</strong><span style="padding-left: 3px;">kts</span>
1901
2221
  </div>
1902
- <div style="font-size: 13px;display: ${isNaN((oe = d[2]) == null ? void 0 : oe.value) ? "none" : "block"}">
2222
+ <div style="font-size: 13px;display: ${isNaN((ie = d[2]) == null ? void 0 : ie.value) ? "none" : "block"}">
1903
2223
  <span style="display:inline-block; height: 10px;width: 10px;border-radius: 50%;background-color: #4ba229;}"></span>
1904
2224
  <span>Wind Gusts : </span><strong>${(fe = d[2]) == null ? void 0 : fe.value}</strong><span style="padding-left: 3px;">kts</span>
1905
2225
  </div>
1906
- <div style="font-size: 13px;display: ${isNaN((B = d[3]) == null ? void 0 : B.value) ? "none" : "block"}">
2226
+ <div style="font-size: 13px;display: ${isNaN((x = d[3]) == null ? void 0 : x.value) ? "none" : "block"}">
1907
2227
  <span style="display:inline-block; height: 10px;width: 10px;border-radius: 50%;background-color: #21baa3;"></span>
1908
- <span>Swell Height : </span><strong>${(i = d[3]) == null ? void 0 : i.value}</strong><span style="padding-left: 3px;">m</span>
2228
+ <span>Swell Height : </span><strong>${(De = d[3]) == null ? void 0 : De.value}</strong><span style="padding-left: 3px;">m</span>
1909
2229
  </div>
1910
- <div style="font-size: 13px;display: ${isNaN((w = d[4]) == null ? void 0 : w.value) ? "none" : "block"}">
2230
+ <div style="font-size: 13px;display: ${isNaN((i = d[4]) == null ? void 0 : i.value) ? "none" : "block"}">
1911
2231
  <span style="display:inline-block; height: 10px;width: 10px;border-radius: 50%;background-color: #049f9c;}"></span>
1912
- <span>Sig.Wave Height : </span><strong>${(ve = d[4]) == null ? void 0 : ve.value}</strong><span style="padding-left: 3px;">m</span>
2232
+ <span>Sig.Wave Height : </span><strong>${(w = d[4]) == null ? void 0 : w.value}</strong><span style="padding-left: 3px;">m</span>
1913
2233
  </div>
1914
2234
  `;
1915
2235
  }
@@ -1986,8 +2306,8 @@ const et = (o, e) => {
1986
2306
  height: "2%"
1987
2307
  },
1988
2308
  {
1989
- left: (pe = this.meteogramData) == null ? void 0 : pe.offset,
1990
- right: (x = this.meteogramData) == null ? void 0 : x.offset,
2309
+ left: (ue = this.meteogramData) == null ? void 0 : ue.offset,
2310
+ right: (E = this.meteogramData) == null ? void 0 : E.offset,
1991
2311
  type: "category",
1992
2312
  show: !1,
1993
2313
  axisLine: {
@@ -2007,7 +2327,7 @@ const et = (o, e) => {
2007
2327
  // 隐藏分割线
2008
2328
  },
2009
2329
  boundaryGap: !1,
2010
- data: (Q = this.meteogramData) == null ? void 0 : Q.dates,
2330
+ data: (z = this.meteogramData) == null ? void 0 : z.dates,
2011
2331
  top: "92%",
2012
2332
  height: "2%"
2013
2333
  }
@@ -2066,7 +2386,7 @@ const et = (o, e) => {
2066
2386
  name: "Wind Speed",
2067
2387
  type: "line",
2068
2388
  yAxisIndex: 0,
2069
- data: (T = this.meteogramData) == null ? void 0 : T.windspeed,
2389
+ data: (_ = this.meteogramData) == null ? void 0 : _.windspeed,
2070
2390
  symbol: "none",
2071
2391
  smooth: !1,
2072
2392
  itemStyle: {
@@ -2088,12 +2408,12 @@ const et = (o, e) => {
2088
2408
  name: "Wind Direction",
2089
2409
  type: "custom",
2090
2410
  yAxisIndex: 0,
2091
- renderItem: (d, u) => {
2092
- var De, H;
2093
- const K = d.dataIndex, D = u.coord([u.value(0), u.value(1)]);
2094
- return ((H = (De = this.meteogramData) == null ? void 0 : De.windDir) == null ? void 0 : H[K]) >= 0 ? {
2411
+ renderItem: (d, f) => {
2412
+ var ve, G;
2413
+ const K = d.dataIndex, y = f.coord([f.value(0), f.value(1)]);
2414
+ return ((G = (ve = this.meteogramData) == null ? void 0 : ve.windDir) == null ? void 0 : G[K]) >= 0 ? {
2095
2415
  type: "image",
2096
- position: D,
2416
+ position: y,
2097
2417
  style: {
2098
2418
  image: this.meteogramData.windDirIcons[K],
2099
2419
  x: -12 / 2,
@@ -2110,7 +2430,7 @@ const et = (o, e) => {
2110
2430
  name: "Wind Gusts",
2111
2431
  type: "line",
2112
2432
  yAxisIndex: 0,
2113
- data: (G = this.meteogramData) == null ? void 0 : G.windGusts,
2433
+ data: (O = this.meteogramData) == null ? void 0 : O.windGusts,
2114
2434
  symbol: "none",
2115
2435
  smooth: !1,
2116
2436
  itemStyle: {
@@ -2128,7 +2448,7 @@ const et = (o, e) => {
2128
2448
  name: "Swell Height",
2129
2449
  type: "line",
2130
2450
  yAxisIndex: 1,
2131
- data: (ie = this.meteogramData) == null ? void 0 : ie.swellHeight,
2451
+ data: (ae = this.meteogramData) == null ? void 0 : ae.swellHeight,
2132
2452
  symbol: "none",
2133
2453
  smooth: !1,
2134
2454
  itemStyle: {
@@ -2142,7 +2462,7 @@ const et = (o, e) => {
2142
2462
  name: "Sig.Wave Height",
2143
2463
  type: "line",
2144
2464
  yAxisIndex: 1,
2145
- data: (v = this.meteogramData) == null ? void 0 : v.sigWaveHeight,
2465
+ data: (Q = this.meteogramData) == null ? void 0 : Q.sigWaveHeight,
2146
2466
  symbol: "none",
2147
2467
  smooth: !1,
2148
2468
  itemStyle: {
@@ -2157,7 +2477,7 @@ const et = (o, e) => {
2157
2477
  singleAxisIndex: 0,
2158
2478
  coordinateSystem: "singleAxis",
2159
2479
  type: "scatter",
2160
- data: (re = this.meteogramData) == null ? void 0 : re.hours,
2480
+ data: (le = this.meteogramData) == null ? void 0 : le.hours,
2161
2481
  itemStyle: {
2162
2482
  color: "#fff"
2163
2483
  },
@@ -2186,12 +2506,12 @@ const et = (o, e) => {
2186
2506
  }
2187
2507
  ]
2188
2508
  };
2189
- U.setOption(O), U.on("legendselectchanged", (d) => {
2509
+ k.setOption(P), k.on("legendselectchanged", (d) => {
2190
2510
  d.name === "Wind Speed" && (d.selected["Wind Direction"] = d.selected["Wind Speed"]);
2191
2511
  });
2192
2512
  },
2193
2513
  async fetchSeasonalData() {
2194
- var t, h, f, b, k, E, S, Y, U, O, se, ae, le, F, R, W, J, q, Z, V, _, $, ee, te, c, N, z, L, m, P, C;
2514
+ var t, o, u, v, I, b, B, C, k, P, se, ne, re, Y, U, R, X, q, J, Z, V, $, ee, te, c, F, T, N, m, S, M;
2195
2515
  if (!this.token)
2196
2516
  return !1;
2197
2517
  this.loading.seasonalEchart = !0, this.seasonalData = {
@@ -2207,70 +2527,70 @@ const et = (o, e) => {
2207
2527
  precip: [],
2208
2528
  lastYearPrecip: []
2209
2529
  };
2210
- const o = X(this.etime).tz(this.positionGmt).date() >= 14 ? X(this.etime).tz(this.positionGmt).month() + 1 : X(this.etime).tz(this.positionGmt).month(), e = X(this.etime).tz(this.positionGmt).set({ month: o });
2530
+ const n = W(this.etime).tz(this.positionGmt).date() >= 14 ? W(this.etime).tz(this.positionGmt).month() + 1 : W(this.etime).tz(this.positionGmt).month(), e = W(this.etime).tz(this.positionGmt).set({ month: n });
2211
2531
  this.monthsOptions = [];
2212
- for (let I = 0; I < 6; I++)
2532
+ for (let L = 0; L < 6; L++)
2213
2533
  this.monthsOptions.push({
2214
- date: X(this.etime).tz(this.positionGmt).set({ year: e.year(), month: e.month() + I, date: 1, hour: 0, minute: 0, second: 0 }).format(),
2215
- month: X(this.etime).tz(this.positionGmt).set({ year: e.year(), month: e.month() + I }).format("MMMM yyyy")
2534
+ date: W(this.etime).tz(this.positionGmt).set({ year: e.year(), month: e.month() + L, date: 1, hour: 0, minute: 0, second: 0 }).format(),
2535
+ month: W(this.etime).tz(this.positionGmt).set({ year: e.year(), month: e.month() + L }).format("MMMM yyyy")
2216
2536
  });
2217
2537
  this.currentMonth = this.currentMonth ? this.currentMonth : this.monthsOptions[0];
2218
2538
  let a = {
2219
2539
  lat: this.position.lat,
2220
2540
  lng: this.position.lng,
2221
- startDate: X().tz(this.positionGmt).set({ year: e.year(), month: e.month(), date: 1, hour: 0, minute: 0, second: 0 }).format(),
2222
- endDate: X().tz(this.positionGmt).set({ year: e.year(), month: e.month() + 1, date: 1, hour: 0, minute: 0, second: 0 }).format(),
2541
+ startDate: W().tz(this.positionGmt).set({ year: e.year(), month: e.month(), date: 1, hour: 0, minute: 0, second: 0 }).format(),
2542
+ endDate: W().tz(this.positionGmt).set({ year: e.year(), month: e.month() + 1, date: 1, hour: 0, minute: 0, second: 0 }).format(),
2223
2543
  pastYear: 1
2224
- }, r = await ze.post(`${this.gateway}/api/arc/meteo2/spot/seasonal`, a, {
2544
+ }, h = await ze.post(`${this.gateway}/api/arc/meteo2/spot/seasonal`, a, {
2225
2545
  headers: {
2226
2546
  Authorization: this.token
2227
2547
  }
2228
2548
  });
2229
- if ((r == null ? void 0 : r.data.code) === 0) {
2230
- this.etime = (t = r == null ? void 0 : r.data) == null ? void 0 : t.etime, this.positionGmt = (b = (f = (h = this.meteoData) == null ? void 0 : h.weather) == null ? void 0 : f[0]) == null ? void 0 : b.timezone, this.positionOffset = (S = (E = (k = this.meteoData) == null ? void 0 : k.weather) == null ? void 0 : E[0]) == null ? void 0 : S.offset, this.issuedDate = M(this.etime).utc().format("MMM-DD/HHmm[Z], YYYY");
2231
- let I = (Y = r == null ? void 0 : r.data.data) == null ? void 0 : Y.seasonal, y = X(this.etime).tz(this.positionGmt).set({ year: e.year(), month: e.month(), date: 1, hour: 0, minute: 0, second: 0 }).format();
2232
- const he = M(a.endDate).diff(M(a.startDate), "day", !0);
2233
- for (let x = 0; x < he; x++) {
2234
- const Q = M(y).clone().add(x, "d").format(), T = ((U = ke.pickDaily(I, Q)) == null ? void 0 : U[0]) || {};
2235
- (O = this.seasonalData) == null || O.dates.push(X(Q).tz(this.positionGmt).format("MMM-DD")), (se = this.seasonalData) == null || se.xDates.push(X(Q).tz(this.positionGmt).format("DD")), (F = this.seasonalData) == null || F.highTemp.push(this.roundPrecision((le = (ae = T == null ? void 0 : T.weather) == null ? void 0 : ae.temp) == null ? void 0 : le.max, 0)), (J = this.seasonalData) == null || J.lowTemp.push(this.roundPrecision((W = (R = T == null ? void 0 : T.weather) == null ? void 0 : R.temp) == null ? void 0 : W.min, 0)), (V = this.seasonalData) == null || V.windSpeed.push(this.roundPrecision((Z = (q = T.weather) == null ? void 0 : q.wind) == null ? void 0 : Z.kts, 1)), (ee = this.seasonalData) == null || ee.windDirection.push(($ = (_ = T.weather) == null ? void 0 : _.wind) == null ? void 0 : $.direction), (N = this.seasonalData) == null || N.precip.push(this.roundPrecision((c = (te = T == null ? void 0 : T.weather) == null ? void 0 : te.precip) == null ? void 0 : c.sum, 1));
2549
+ if ((h == null ? void 0 : h.data.code) === 0) {
2550
+ this.etime = (t = h == null ? void 0 : h.data) == null ? void 0 : t.etime, this.positionGmt = (v = (u = (o = this.meteoData) == null ? void 0 : o.weather) == null ? void 0 : u[0]) == null ? void 0 : v.timezone, this.positionOffset = (B = (b = (I = this.meteoData) == null ? void 0 : I.weather) == null ? void 0 : b[0]) == null ? void 0 : B.offset, this.issuedDate = H(this.etime).utc().format("MMM-DD/HHmm[Z], YYYY");
2551
+ let L = (C = h == null ? void 0 : h.data.data) == null ? void 0 : C.seasonal, D = W(this.etime).tz(this.positionGmt).set({ year: e.year(), month: e.month(), date: 1, hour: 0, minute: 0, second: 0 }).format();
2552
+ const he = H(a.endDate).diff(H(a.startDate), "day", !0);
2553
+ for (let E = 0; E < he; E++) {
2554
+ const z = H(D).clone().add(E, "d").format(), _ = ((k = Le.pickDaily(L, z)) == null ? void 0 : k[0]) || {};
2555
+ (P = this.seasonalData) == null || P.dates.push(W(z).tz(this.positionGmt).format("MMM-DD")), (se = this.seasonalData) == null || se.xDates.push(W(z).tz(this.positionGmt).format("DD")), (Y = this.seasonalData) == null || Y.highTemp.push(this.roundPrecision((re = (ne = _ == null ? void 0 : _.weather) == null ? void 0 : ne.temp) == null ? void 0 : re.max, 0)), (X = this.seasonalData) == null || X.lowTemp.push(this.roundPrecision((R = (U = _ == null ? void 0 : _.weather) == null ? void 0 : U.temp) == null ? void 0 : R.min, 0)), (Z = this.seasonalData) == null || Z.windSpeed.push(this.roundPrecision((J = (q = _.weather) == null ? void 0 : q.wind) == null ? void 0 : J.kts, 1)), (ee = this.seasonalData) == null || ee.windDirection.push(($ = (V = _.weather) == null ? void 0 : V.wind) == null ? void 0 : $.direction), (F = this.seasonalData) == null || F.precip.push(this.roundPrecision((c = (te = _ == null ? void 0 : _.weather) == null ? void 0 : te.precip) == null ? void 0 : c.sum, 1));
2236
2556
  }
2237
- (((L = (z = r == null ? void 0 : r.data.data) == null ? void 0 : z.past) == null ? void 0 : L.reverse()) || []).forEach((x, Q) => {
2238
- var T, ce, A, G, ie, v, re, j, d, u, K, D, De;
2239
- y = X(this.etime).tz(this.positionGmt).set({ year: e.year() - (Q + 1), month: e.month(), date: 1, hour: 0, minute: 0, second: 0 }).format();
2240
- for (let H = 0; H < he; H++) {
2241
- const oe = M(y).clone().add(H, "d").format(), fe = ((T = ke.pickDaily(x, oe)) == null ? void 0 : T[0]) || {};
2242
- (G = this.seasonalData) == null || G.lastYearHighTemp.push(this.roundPrecision((A = (ce = fe == null ? void 0 : fe.weather) == null ? void 0 : ce.temp) == null ? void 0 : A.max, 0)), (re = this.seasonalData) == null || re.lastYearLowTemp.push(this.roundPrecision((v = (ie = fe == null ? void 0 : fe.weather) == null ? void 0 : ie.temp) == null ? void 0 : v.min, 0)), (u = this.seasonalData) == null || u.lastYearWindSpeed.push(this.roundPrecision((d = (j = fe.weather) == null ? void 0 : j.wind) == null ? void 0 : d.kts, 1)), (De = this.seasonalData) == null || De.lastYearPrecip.push(this.roundPrecision((D = (K = fe == null ? void 0 : fe.weather) == null ? void 0 : K.precip) == null ? void 0 : D.sum, 1));
2557
+ (((N = (T = h == null ? void 0 : h.data.data) == null ? void 0 : T.past) == null ? void 0 : N.reverse()) || []).forEach((E, z) => {
2558
+ var _, ce, A, O, ae, Q, le, j, d, f, K, y, ve;
2559
+ D = W(this.etime).tz(this.positionGmt).set({ year: e.year() - (z + 1), month: e.month(), date: 1, hour: 0, minute: 0, second: 0 }).format();
2560
+ for (let G = 0; G < he; G++) {
2561
+ const ie = H(D).clone().add(G, "d").format(), fe = ((_ = Le.pickDaily(E, ie)) == null ? void 0 : _[0]) || {};
2562
+ (O = this.seasonalData) == null || O.lastYearHighTemp.push(this.roundPrecision((A = (ce = fe == null ? void 0 : fe.weather) == null ? void 0 : ce.temp) == null ? void 0 : A.max, 0)), (le = this.seasonalData) == null || le.lastYearLowTemp.push(this.roundPrecision((Q = (ae = fe == null ? void 0 : fe.weather) == null ? void 0 : ae.temp) == null ? void 0 : Q.min, 0)), (f = this.seasonalData) == null || f.lastYearWindSpeed.push(this.roundPrecision((d = (j = fe.weather) == null ? void 0 : j.wind) == null ? void 0 : d.kts, 1)), (ve = this.seasonalData) == null || ve.lastYearPrecip.push(this.roundPrecision((y = (K = fe == null ? void 0 : fe.weather) == null ? void 0 : K.precip) == null ? void 0 : y.sum, 1));
2243
2563
  }
2244
- }), this.seasonalData.offset = 4 + 0.5 / ((P = (m = this.seasonalData) == null ? void 0 : m.dates) == null ? void 0 : P.length) * 92 + "%", this.seasonalData.minHighTemp = Math.min(...this.seasonalData.highTemp.filter((x) => typeof x == "number" && !isNaN(x))), this.seasonalData.maxHighTemp = Math.max(...this.seasonalData.highTemp.filter((x) => typeof x == "number" && !isNaN(x))), this.seasonalData.minLowTemp = Math.min(...this.seasonalData.lowTemp.filter((x) => typeof x == "number" && !isNaN(x))), this.seasonalData.maxLowTemp = Math.max(...this.seasonalData.lowTemp.filter((x) => typeof x == "number" && !isNaN(x)));
2564
+ }), this.seasonalData.offset = 4 + 0.5 / ((S = (m = this.seasonalData) == null ? void 0 : m.dates) == null ? void 0 : S.length) * 92 + "%", this.seasonalData.minHighTemp = Math.min(...this.seasonalData.highTemp.filter((E) => typeof E == "number" && !isNaN(E))), this.seasonalData.maxHighTemp = Math.max(...this.seasonalData.highTemp.filter((E) => typeof E == "number" && !isNaN(E))), this.seasonalData.minLowTemp = Math.min(...this.seasonalData.lowTemp.filter((E) => typeof E == "number" && !isNaN(E))), this.seasonalData.maxLowTemp = Math.max(...this.seasonalData.lowTemp.filter((E) => typeof E == "number" && !isNaN(E)));
2245
2565
  let Ae = 0;
2246
- this.seasonalData.highTemp.forEach((x, Q) => {
2247
- x === this.seasonalData.maxHighTemp && (Ae = Q);
2566
+ this.seasonalData.highTemp.forEach((E, z) => {
2567
+ E === this.seasonalData.maxHighTemp && (Ae = z);
2248
2568
  }), this.seasonalData.hottestDay = this.seasonalData.dates[Ae];
2249
2569
  let g = 0;
2250
- this.seasonalData.lowTemp.forEach((x, Q) => {
2251
- x === this.seasonalData.minLowTemp && (g = Q);
2252
- }), this.seasonalData.coldestDay = this.seasonalData.dates[g], this.seasonalData.meanWind = this.seasonalData.windSpeed.reduce((x, Q) => x + Q, 0) / ((C = this.seasonalData.windSpeed) == null ? void 0 : C.length), this.seasonalData.maxWindSpeed = Math.max(...this.seasonalData.windSpeed.filter((x) => typeof x == "number" && !isNaN(x)));
2253
- let pe = 0;
2254
- this.seasonalData.windSpeed.forEach((x, Q) => {
2255
- x === this.seasonalData.maxWindSpeed && (pe = Q);
2256
- }), this.seasonalData.windiestDay = this.seasonalData.dates[pe], this.seasonalData.dominantWind = this.findMostFrequent(this.seasonalData.windDirection);
2570
+ this.seasonalData.lowTemp.forEach((E, z) => {
2571
+ E === this.seasonalData.minLowTemp && (g = z);
2572
+ }), this.seasonalData.coldestDay = this.seasonalData.dates[g], this.seasonalData.meanWind = this.seasonalData.windSpeed.reduce((E, z) => E + z, 0) / ((M = this.seasonalData.windSpeed) == null ? void 0 : M.length), this.seasonalData.maxWindSpeed = Math.max(...this.seasonalData.windSpeed.filter((E) => typeof E == "number" && !isNaN(E)));
2573
+ let ue = 0;
2574
+ this.seasonalData.windSpeed.forEach((E, z) => {
2575
+ E === this.seasonalData.maxWindSpeed && (ue = z);
2576
+ }), this.seasonalData.windiestDay = this.seasonalData.dates[ue], this.seasonalData.dominantWind = this.findMostFrequent(this.seasonalData.windDirection);
2257
2577
  }
2258
2578
  },
2259
- findMostFrequent(o) {
2579
+ findMostFrequent(n) {
2260
2580
  const e = {};
2261
- let a = 0, r;
2262
- for (const t of o)
2581
+ let a = 0, h;
2582
+ for (const t of n)
2263
2583
  e[t] ? e[t]++ : e[t] = 1;
2264
2584
  for (const t in e)
2265
- e[t] > a && (a = e[t], r = t);
2266
- return r;
2585
+ e[t] > a && (a = e[t], h = t);
2586
+ return h;
2267
2587
  },
2268
2588
  initSeasonalEchart() {
2269
- var R, W, J, q, Z, V, _, $, ee, te;
2270
- let o = Math.max(
2589
+ var U, R, X, q, J, Z, V, $, ee, te;
2590
+ let n = Math.max(
2271
2591
  ...[...this.seasonalData.highTemp, ...this.seasonalData.lastYearHighTemp].filter((c) => typeof c == "number" && !isNaN(c))
2272
- ), e = Math.min(...[...this.seasonalData.lowTemp, ...this.seasonalData.lastYearLowTemp].filter((c) => typeof c == "number" && !isNaN(c))), a = Math.ceil((o + 1) / 5) * 5, r = Math.floor((e - 1) / 5) * 5, t = Math.ceil((a - r) / 5);
2273
- const h = {
2592
+ ), e = Math.min(...[...this.seasonalData.lowTemp, ...this.seasonalData.lastYearLowTemp].filter((c) => typeof c == "number" && !isNaN(c))), a = Math.ceil((n + 1) / 5) * 5, h = Math.floor((e - 1) / 5) * 5, t = Math.ceil((a - h) / 5);
2593
+ const o = {
2274
2594
  title: {
2275
2595
  text: "Temperature",
2276
2596
  top: "10px",
@@ -2296,24 +2616,24 @@ const et = (o, e) => {
2296
2616
  show: !0,
2297
2617
  position: "right",
2298
2618
  formatter: (c) => {
2299
- var z, L, m, P, C, I;
2300
- const N = (z = c == null ? void 0 : c[0]) == null ? void 0 : z.dataIndex;
2301
- return c.find((y) => y.seriesType === "scatter") ? !1 : `<div style="font-size: 13px;"><strong>${(L = this.seasonalData) == null ? void 0 : L.dates[N]}</strong></div>
2619
+ var T, N, m, S, M, L;
2620
+ const F = (T = c == null ? void 0 : c[0]) == null ? void 0 : T.dataIndex;
2621
+ return c.find((D) => D.seriesType === "scatter") ? !1 : `<div style="font-size: 13px;"><strong>${(N = this.seasonalData) == null ? void 0 : N.dates[F]}</strong></div>
2302
2622
  <div style="font-size: 13px;">
2303
2623
  <span style="display:inline-block; height: 10px;width: 10px;border-radius: 50%;background-color: #FF9500;}"></span>
2304
2624
  <span>High : </span><strong>${(m = c[0]) == null ? void 0 : m.value}</strong><span style="padding-left: 3px;">℃</span>
2305
2625
  </div>
2306
2626
  <div style="font-size: 13px;">
2307
2627
  <span style="display:inline-block; height: 10px;width: 10px;border-radius: 50%;background-color: #f7c587;}"></span>
2308
- <span>High, last year : </span><strong>${(P = c[1]) == null ? void 0 : P.value}</strong><span style="padding-left: 3px;">mm</span>
2628
+ <span>High, last year : </span><strong>${(S = c[1]) == null ? void 0 : S.value}</strong><span style="padding-left: 3px;">mm</span>
2309
2629
  </div>
2310
2630
  <div style="font-size: 13px;">
2311
2631
  <span style="display:inline-block; height: 10px;width: 10px;border-radius: 50%;background-color: #2164bf;}"></span>
2312
- <span>Low : </span><strong>${(C = c[2]) == null ? void 0 : C.value}</strong><span style="padding-left: 3px;">mm</span>
2632
+ <span>Low : </span><strong>${(M = c[2]) == null ? void 0 : M.value}</strong><span style="padding-left: 3px;">mm</span>
2313
2633
  </div>
2314
2634
  <div style="font-size: 13px;">
2315
2635
  <span style="display:inline-block; height: 10px;width: 10px;border-radius: 50%;background-color: #7baef7;}"></span>
2316
- <span>Low, last year : </span><strong>${(I = c[3]) == null ? void 0 : I.value}</strong><span style="padding-left: 3px;">℃</span>
2636
+ <span>Low, last year : </span><strong>${(L = c[3]) == null ? void 0 : L.value}</strong><span style="padding-left: 3px;">℃</span>
2317
2637
  </div>
2318
2638
  `;
2319
2639
  }
@@ -2333,7 +2653,7 @@ const et = (o, e) => {
2333
2653
  height: "50%",
2334
2654
  type: "category",
2335
2655
  boundaryGap: !0,
2336
- data: (R = this.seasonalData) == null ? void 0 : R.xDates,
2656
+ data: (U = this.seasonalData) == null ? void 0 : U.xDates,
2337
2657
  axisLabel: {
2338
2658
  show: !0
2339
2659
  },
@@ -2356,7 +2676,7 @@ const et = (o, e) => {
2356
2676
  type: "value",
2357
2677
  name: "Temperature ( ℃ ) ",
2358
2678
  show: !0,
2359
- min: r,
2679
+ min: h,
2360
2680
  max: a,
2361
2681
  interval: t,
2362
2682
  splitNumber: 5,
@@ -2374,7 +2694,7 @@ const et = (o, e) => {
2374
2694
  {
2375
2695
  name: "High",
2376
2696
  type: "line",
2377
- data: (W = this.seasonalData) == null ? void 0 : W.highTemp,
2697
+ data: (R = this.seasonalData) == null ? void 0 : R.highTemp,
2378
2698
  symbol: "none",
2379
2699
  smooth: !1,
2380
2700
  itemStyle: {
@@ -2388,7 +2708,7 @@ const et = (o, e) => {
2388
2708
  name: "High, last year",
2389
2709
  type: "line",
2390
2710
  symbol: "none",
2391
- data: (J = this.seasonalData) == null ? void 0 : J.lastYearHighTemp,
2711
+ data: (X = this.seasonalData) == null ? void 0 : X.lastYearHighTemp,
2392
2712
  itemStyle: {
2393
2713
  color: "#f7c587"
2394
2714
  },
@@ -2417,7 +2737,7 @@ const et = (o, e) => {
2417
2737
  name: "Low, last year",
2418
2738
  type: "line",
2419
2739
  symbol: "none",
2420
- data: (Z = this.seasonalData) == null ? void 0 : Z.lastYearLowTemp,
2740
+ data: (J = this.seasonalData) == null ? void 0 : J.lastYearLowTemp,
2421
2741
  itemStyle: {
2422
2742
  color: "#7baef7"
2423
2743
  },
@@ -2432,27 +2752,27 @@ const et = (o, e) => {
2432
2752
  ]
2433
2753
  };
2434
2754
  this.loading.seasonalEchart = !1, this.$nextTick(() => {
2435
- xe.init(document.getElementById("temperature-echart")).setOption(h);
2755
+ xe.init(document.getElementById("temperature-echart")).setOption(o);
2436
2756
  });
2437
- function f(c) {
2757
+ function u(c) {
2438
2758
  return {
2439
2759
  image: (() => {
2440
- const N = document.createElementNS("http://www.w3.org/2000/svg", "svg");
2441
- N.setAttribute("width", "10"), N.setAttribute("height", "5"), N.setAttribute("viewBox", "0 0 10 5");
2442
- const z = document.createElementNS("http://www.w3.org/2000/svg", "rect");
2443
- z.setAttribute("x", "0"), z.setAttribute("y", "0"), z.setAttribute("width", "10"), z.setAttribute("height", "5"), z.setAttribute("fill", c), N.appendChild(z);
2444
- const L = document.createElementNS("http://www.w3.org/2000/svg", "line");
2445
- L.setAttribute("x1", "0"), L.setAttribute("y1", "0"), L.setAttribute("x2", "10"), L.setAttribute("y2", "5"), L.setAttribute("stroke", "#fff"), L.setAttribute("stroke-width", "1"), N.appendChild(L);
2446
- const m = new XMLSerializer().serializeToString(N), P = new Blob([m], { type: "image/svg+xml;charset=utf-8" });
2447
- return URL.createObjectURL(P);
2760
+ const F = document.createElementNS("http://www.w3.org/2000/svg", "svg");
2761
+ F.setAttribute("width", "10"), F.setAttribute("height", "5"), F.setAttribute("viewBox", "0 0 10 5");
2762
+ const T = document.createElementNS("http://www.w3.org/2000/svg", "rect");
2763
+ T.setAttribute("x", "0"), T.setAttribute("y", "0"), T.setAttribute("width", "10"), T.setAttribute("height", "5"), T.setAttribute("fill", c), F.appendChild(T);
2764
+ const N = document.createElementNS("http://www.w3.org/2000/svg", "line");
2765
+ N.setAttribute("x1", "0"), N.setAttribute("y1", "0"), N.setAttribute("x2", "10"), N.setAttribute("y2", "5"), N.setAttribute("stroke", "#fff"), N.setAttribute("stroke-width", "1"), F.appendChild(N);
2766
+ const m = new XMLSerializer().serializeToString(F), S = new Blob([m], { type: "image/svg+xml;charset=utf-8" });
2767
+ return URL.createObjectURL(S);
2448
2768
  })(),
2449
2769
  repeat: "repeat"
2450
2770
  };
2451
2771
  }
2452
- let b = Math.max(
2772
+ let v = Math.max(
2453
2773
  ...[...this.seasonalData.windSpeed, ...this.seasonalData.lastYearWindSpeed].filter((c) => typeof c == "number" && !isNaN(c))
2454
- ), E = Math.min(...[...this.seasonalData.windSpeed, ...this.seasonalData.lastYearWindSpeed].filter((c) => typeof c == "number" && !isNaN(c))) > 0 ? 0 : Math.min(...[...this.seasonalData.windSpeed, ...this.seasonalData.lastYearWindSpeed].filter((c) => typeof c == "number" && !isNaN(c))), S = Math.ceil((b + 1) / 5) * 5, Y = Math.ceil((S - E) / 5), U = Math.max(...[...this.seasonalData.precip, ...this.seasonalData.lastYearPrecip].filter((c) => typeof c == "number" && !isNaN(c))), se = 0, ae = Math.ceil(U * 2 / 5) * 5, le = Math.ceil((ae - se) / 5);
2455
- const F = {
2774
+ ), b = Math.min(...[...this.seasonalData.windSpeed, ...this.seasonalData.lastYearWindSpeed].filter((c) => typeof c == "number" && !isNaN(c))) > 0 ? 0 : Math.min(...[...this.seasonalData.windSpeed, ...this.seasonalData.lastYearWindSpeed].filter((c) => typeof c == "number" && !isNaN(c))), B = Math.ceil((v + 1) / 5) * 5, C = Math.ceil((B - b) / 5), k = Math.max(...[...this.seasonalData.precip, ...this.seasonalData.lastYearPrecip].filter((c) => typeof c == "number" && !isNaN(c))), se = 0, ne = Math.ceil(k * 2 / 5) * 5, re = Math.ceil((ne - se) / 5);
2775
+ const Y = {
2456
2776
  title: {
2457
2777
  text: "Wind & Preciption",
2458
2778
  top: "10px",
@@ -2478,35 +2798,35 @@ const et = (o, e) => {
2478
2798
  show: !0,
2479
2799
  position: "right",
2480
2800
  formatter: (c) => {
2481
- var z, L, m, P, C, I, y, he, de, Ae, g, pe, x, Q, T, ce;
2482
- const N = (z = c == null ? void 0 : c[0]) == null ? void 0 : z.dataIndex;
2801
+ var T, N, m, S, M, L, D, he, de, Ae, g, ue, E, z, _, ce;
2802
+ const F = (T = c == null ? void 0 : c[0]) == null ? void 0 : T.dataIndex;
2483
2803
  if (c.find((A) => A.seriesType === "scatter"))
2484
2804
  return !1;
2485
2805
  {
2486
2806
  let A = { color: "", colorLastYear: "", url: "" };
2487
- return ((L = c[2]) == null ? void 0 : L.value) < 9.9 ? A.color = "rgba(172, 210, 255, 1)" : ((m = c[2]) == null ? void 0 : m.value) < 24.9 ? A.color = "rgba(3, 248, 103, 1)" : ((P = c[2]) == null ? void 0 : P.value) < 49.9 ? A.color = "rgba(190, 226, 2, 18)" : ((C = c[2]) == null ? void 0 : C.value) < 99.9 ? A.color = "rgba(248, 1, 1, 1)" : ((I = c[2]) == null ? void 0 : I.value) > 100 ? A.color = "rgba(197, 5, 58, 1)" : A.color = "rgba(172, 210, 255, 1)", ((y = c[3]) == null ? void 0 : y.value) < 9.9 ? A.colorLastYear = "rgba(172, 210, 255, 1)" : ((he = c[3]) == null ? void 0 : he.value) < 24.9 ? A.colorLastYear = "rgba(3, 248, 103, 1)" : ((de = c[3]) == null ? void 0 : de.value) < 49.9 ? A.colorLastYear = "rgba(190, 226, 2, 18)" : ((Ae = c[3]) == null ? void 0 : Ae.value) < 99.9 ? A.colorLastYear = "rgba(248, 1, 1, 1)" : ((g = c[3]) == null ? void 0 : g.value) > 100 ? A.colorLastYear = "rgba(197, 5, 58, 1)" : A.colorLastYear = "rgba(172, 210, 255, 1)", A.url = (() => {
2488
- const G = document.createElementNS("http://www.w3.org/2000/svg", "svg");
2489
- G.setAttribute("width", "10"), G.setAttribute("height", "10"), G.setAttribute("viewBox", "0 0 10 10");
2490
- const ie = document.createElementNS("http://www.w3.org/2000/svg", "rect");
2491
- ie.setAttribute("x", "0"), ie.setAttribute("y", "0"), ie.setAttribute("width", "10"), ie.setAttribute("height", "10"), ie.setAttribute("fill", A.colorLastYear), G.appendChild(ie);
2492
- const v = document.createElementNS("http://www.w3.org/2000/svg", "line");
2493
- v.setAttribute("x1", "0"), v.setAttribute("y1", "0"), v.setAttribute("x2", "10"), v.setAttribute("y2", "5"), v.setAttribute("stroke", "#fff"), v.setAttribute("stroke-width", "1"), G.appendChild(v);
2494
- const re = document.createElementNS("http://www.w3.org/2000/svg", "line");
2495
- re.setAttribute("x1", "0"), re.setAttribute("y1", "5"), re.setAttribute("x2", "10"), re.setAttribute("y2", "10"), re.setAttribute("stroke", "#fff"), re.setAttribute("stroke-width", "1"), G.appendChild(re);
2496
- const j = new XMLSerializer().serializeToString(G), d = new Blob([j], { type: "image/svg+xml;charset=utf-8" });
2807
+ return ((N = c[2]) == null ? void 0 : N.value) < 9.9 ? A.color = "rgba(172, 210, 255, 1)" : ((m = c[2]) == null ? void 0 : m.value) < 24.9 ? A.color = "rgba(3, 248, 103, 1)" : ((S = c[2]) == null ? void 0 : S.value) < 49.9 ? A.color = "rgba(190, 226, 2, 18)" : ((M = c[2]) == null ? void 0 : M.value) < 99.9 ? A.color = "rgba(248, 1, 1, 1)" : ((L = c[2]) == null ? void 0 : L.value) > 100 ? A.color = "rgba(197, 5, 58, 1)" : A.color = "rgba(172, 210, 255, 1)", ((D = c[3]) == null ? void 0 : D.value) < 9.9 ? A.colorLastYear = "rgba(172, 210, 255, 1)" : ((he = c[3]) == null ? void 0 : he.value) < 24.9 ? A.colorLastYear = "rgba(3, 248, 103, 1)" : ((de = c[3]) == null ? void 0 : de.value) < 49.9 ? A.colorLastYear = "rgba(190, 226, 2, 18)" : ((Ae = c[3]) == null ? void 0 : Ae.value) < 99.9 ? A.colorLastYear = "rgba(248, 1, 1, 1)" : ((g = c[3]) == null ? void 0 : g.value) > 100 ? A.colorLastYear = "rgba(197, 5, 58, 1)" : A.colorLastYear = "rgba(172, 210, 255, 1)", A.url = (() => {
2808
+ const O = document.createElementNS("http://www.w3.org/2000/svg", "svg");
2809
+ O.setAttribute("width", "10"), O.setAttribute("height", "10"), O.setAttribute("viewBox", "0 0 10 10");
2810
+ const ae = document.createElementNS("http://www.w3.org/2000/svg", "rect");
2811
+ ae.setAttribute("x", "0"), ae.setAttribute("y", "0"), ae.setAttribute("width", "10"), ae.setAttribute("height", "10"), ae.setAttribute("fill", A.colorLastYear), O.appendChild(ae);
2812
+ const Q = document.createElementNS("http://www.w3.org/2000/svg", "line");
2813
+ Q.setAttribute("x1", "0"), Q.setAttribute("y1", "0"), Q.setAttribute("x2", "10"), Q.setAttribute("y2", "5"), Q.setAttribute("stroke", "#fff"), Q.setAttribute("stroke-width", "1"), O.appendChild(Q);
2814
+ const le = document.createElementNS("http://www.w3.org/2000/svg", "line");
2815
+ le.setAttribute("x1", "0"), le.setAttribute("y1", "5"), le.setAttribute("x2", "10"), le.setAttribute("y2", "10"), le.setAttribute("stroke", "#fff"), le.setAttribute("stroke-width", "1"), O.appendChild(le);
2816
+ const j = new XMLSerializer().serializeToString(O), d = new Blob([j], { type: "image/svg+xml;charset=utf-8" });
2497
2817
  return URL.createObjectURL(d);
2498
- })(), `<div style="font-size: 13px;"><strong>${(pe = this.seasonalData) == null ? void 0 : pe.dates[N]}</strong></div>
2818
+ })(), `<div style="font-size: 13px;"><strong>${(ue = this.seasonalData) == null ? void 0 : ue.dates[F]}</strong></div>
2499
2819
  <div style="font-size: 13px;">
2500
2820
  <span style="display:inline-block; height: 10px;width: 10px;border-radius: 50%;background-color: #60c43e;}"></span>
2501
- <span>Wind : </span><strong>${(x = c[0]) == null ? void 0 : x.value}</strong><span style="padding-left: 3px;">kts</span>
2821
+ <span>Wind : </span><strong>${(E = c[0]) == null ? void 0 : E.value}</strong><span style="padding-left: 3px;">kts</span>
2502
2822
  </div>
2503
2823
  <div style="font-size: 13px;">
2504
2824
  <span style="display:inline-block; height: 10px;width: 10px;border-radius: 50%;background-color: #9af77b;}"></span>
2505
- <span>Wind, last year : </span><strong>${(Q = c[1]) == null ? void 0 : Q.value}</strong><span style="padding-left: 3px;">kts</span>
2825
+ <span>Wind, last year : </span><strong>${(z = c[1]) == null ? void 0 : z.value}</strong><span style="padding-left: 3px;">kts</span>
2506
2826
  </div>
2507
2827
  <div style="font-size: 13px;">
2508
2828
  <span style="display:inline-block; height: 10px;width: 10px;border-radius: 50%;background-color: ${A.color};}"></span>
2509
- <span>Precip : </span><strong>${(T = c[2]) == null ? void 0 : T.value}</strong><span style="padding-left: 3px;">mm</span>
2829
+ <span>Precip : </span><strong>${(_ = c[2]) == null ? void 0 : _.value}</strong><span style="padding-left: 3px;">mm</span>
2510
2830
  </div>
2511
2831
  <div style="font-size: 13px;">
2512
2832
  <img src="${A.url}" style="display:inline-block; height: 10px;width: 10px;border-radius: 50%;}" />
@@ -2547,7 +2867,7 @@ const et = (o, e) => {
2547
2867
  height: "50%",
2548
2868
  type: "category",
2549
2869
  boundaryGap: !0,
2550
- data: (V = this.seasonalData) == null ? void 0 : V.xDates,
2870
+ data: (Z = this.seasonalData) == null ? void 0 : Z.xDates,
2551
2871
  axisLabel: {
2552
2872
  show: !0
2553
2873
  },
@@ -2569,9 +2889,9 @@ const et = (o, e) => {
2569
2889
  type: "value",
2570
2890
  name: "Wind speed max ( kts ) ",
2571
2891
  show: !0,
2572
- min: E,
2573
- max: S,
2574
- interval: Y,
2892
+ min: b,
2893
+ max: B,
2894
+ interval: C,
2575
2895
  splitNumber: 5,
2576
2896
  nameRotate: 90,
2577
2897
  nameLocation: "middle",
@@ -2587,8 +2907,8 @@ const et = (o, e) => {
2587
2907
  name: "Precipitation ( mm ) ",
2588
2908
  show: !0,
2589
2909
  min: se,
2590
- max: ae,
2591
- interval: le,
2910
+ max: ne,
2911
+ interval: re,
2592
2912
  splitNumber: 5,
2593
2913
  nameRotate: 90,
2594
2914
  nameLocation: "middle",
@@ -2649,30 +2969,30 @@ const et = (o, e) => {
2649
2969
  pieces: [
2650
2970
  {
2651
2971
  gte: 100,
2652
- color: f("#C5053A"),
2972
+ color: u("#C5053A"),
2653
2973
  label: "Heavy Rainstorm, last year"
2654
2974
  },
2655
2975
  {
2656
2976
  gte: 50,
2657
2977
  lte: 99.9,
2658
- color: f("#F80101"),
2978
+ color: u("#F80101"),
2659
2979
  label: "Rainstorm, last year"
2660
2980
  },
2661
2981
  {
2662
2982
  gte: 25,
2663
2983
  lte: 49.9,
2664
- color: f("#BEE202"),
2984
+ color: u("#BEE202"),
2665
2985
  label: "Heavy, last year"
2666
2986
  },
2667
2987
  {
2668
2988
  gte: 10,
2669
2989
  lte: 24.9,
2670
- color: f("#03F867"),
2990
+ color: u("#03F867"),
2671
2991
  label: "Moderate, last year"
2672
2992
  },
2673
2993
  {
2674
2994
  lt: 10,
2675
- color: f("#ACD2FF"),
2995
+ color: u("#ACD2FF"),
2676
2996
  label: "Light, last year"
2677
2997
  }
2678
2998
  ],
@@ -2684,7 +3004,7 @@ const et = (o, e) => {
2684
3004
  {
2685
3005
  name: "Wind",
2686
3006
  type: "line",
2687
- data: (_ = this.seasonalData) == null ? void 0 : _.windSpeed,
3007
+ data: (V = this.seasonalData) == null ? void 0 : V.windSpeed,
2688
3008
  symbol: "none",
2689
3009
  smooth: !1,
2690
3010
  itemStyle: {
@@ -2741,14 +3061,14 @@ const et = (o, e) => {
2741
3061
  ]
2742
3062
  };
2743
3063
  this.$nextTick(() => {
2744
- xe.init(document.getElementById("wind-precip-echart")).setOption(F);
3064
+ xe.init(document.getElementById("wind-precip-echart")).setOption(Y);
2745
3065
  });
2746
3066
  },
2747
3067
  disposeEcharts() {
2748
3068
  document.getElementById("weather-chart") && xe.dispose(document.getElementById("weather-chart")), document.getElementById("weather-icons") && xe.dispose(document.getElementById("weather-icons")), document.getElementById("weather-condition") && xe.dispose(document.getElementById("weather-condition")), document.getElementById("wave-swell") && xe.dispose(document.getElementById("wave-swell")), document.getElementById("temperature-echart") && xe.dispose(document.getElementById("temperature-echart")), document.getElementById("wind-precip-echart") && xe.dispose(document.getElementById("wind-precip-echart"));
2749
3069
  },
2750
3070
  initHoursTableData() {
2751
- var o, e, a, r, t, h, f, b, k, E, S, Y, U, O, se, ae, le, F, R, W, J, q, Z, V, _, $, ee, te, c, N, z, L, m, P;
3071
+ var n, e, a, h, t, o, u, v, I, b, B, C, k, P, se, ne, re, Y, U, R, X, q, J, Z, V, $, ee, te, c, F, T, N, m, S;
2752
3072
  this.hoursTableData = {
2753
3073
  hours: [],
2754
3074
  utcHours: [],
@@ -2775,11 +3095,11 @@ const et = (o, e) => {
2775
3095
  seaLevel: [],
2776
3096
  seaTemp: []
2777
3097
  };
2778
- for (let C = 0; C < 24; C++) {
2779
- const I = M(this.pickedDate).clone().add(C, "h").format();
2780
- this.hoursTableData.hours.push(I);
2781
- const y = ((o = ke.pickHourly(this.meteoData, I)) == null ? void 0 : o[0]) || {};
2782
- this.hoursTableData.weatherUrls.push((e = y.weather) == null ? void 0 : e.url), this.hoursTableData.weatherNames.push(((a = y.weather) == null ? void 0 : a.name) ?? "-"), this.hoursTableData.temp.push(this.roundPrecision((r = y.weather) == null ? void 0 : r.temp, 0) ?? "-"), this.hoursTableData.precipProbability.push(this.roundPrecision((h = (t = y.weather) == null ? void 0 : t.precip) == null ? void 0 : h.probability, 1) ?? "-"), this.hoursTableData.precip1h.push(this.roundPrecision((b = (f = y.weather) == null ? void 0 : f.precip) == null ? void 0 : b.sum, 1) ?? "-"), this.hoursTableData.visibility.push(this.roundPrecision((k = y.weather) == null ? void 0 : k.visibility, 0) ?? "-"), this.hoursTableData.humidity.push(this.roundPrecision((E = y.weather) == null ? void 0 : E.rh, 0) ?? "-"), this.hoursTableData.windSpeed.push(this.roundPrecision((Y = (S = y.weather) == null ? void 0 : S.wind) == null ? void 0 : Y.kts, 1)), this.hoursTableData.windDir.push((O = (U = y.weather) == null ? void 0 : U.wind) == null ? void 0 : O.bearing), this.hoursTableData.windGust.push(this.roundPrecision((ae = (se = y.weather) == null ? void 0 : se.wind) == null ? void 0 : ae.gusts, 1) ?? "-"), this.hoursTableData.sigwaveHeight.push(this.roundPrecision((F = (le = y.wave) == null ? void 0 : le.sig) == null ? void 0 : F.height, 1) ?? "-"), this.hoursTableData.sigwaveDir.push((W = (R = y.wave) == null ? void 0 : R.sig) == null ? void 0 : W.bearing), this.hoursTableData.windwaveHeight.push(this.roundPrecision((q = (J = y.wave) == null ? void 0 : J.wd) == null ? void 0 : q.height, 1) ?? "-"), this.hoursTableData.windwaveDir.push((V = (Z = y.wave) == null ? void 0 : Z.wd) == null ? void 0 : V.bearing), this.hoursTableData.windwavePeriod.push(this.roundPrecision(($ = (_ = y.wave) == null ? void 0 : _.wd) == null ? void 0 : $.period, 1) ?? "-"), this.hoursTableData.swellHeight.push(this.roundPrecision((te = (ee = y.wave) == null ? void 0 : ee.swell) == null ? void 0 : te.height, 1) ?? "-"), this.hoursTableData.swellDir.push((N = (c = y.wave) == null ? void 0 : c.swell) == null ? void 0 : N.bearing), this.hoursTableData.swellPeriod.push(this.roundPrecision((L = (z = y.wave) == null ? void 0 : z.swell) == null ? void 0 : L.period, 1) ?? "-"), this.hoursTableData.currentSpeed.push(this.roundPrecision((m = y.current) == null ? void 0 : m.speed, 1) ?? "-"), this.hoursTableData.currentDir.push((P = y.current) == null ? void 0 : P.bearing), this.hoursTableData.seaLevel.push(this.roundPrecision(y.height, 1) ?? "-"), this.hoursTableData.seaTemp.push(this.roundPrecision(y.sst, 0) ?? "-");
3098
+ for (let M = 0; M < 24; M++) {
3099
+ const L = H(this.pickedDate).clone().add(M, "h").format();
3100
+ this.hoursTableData.hours.push(L);
3101
+ const D = ((n = Le.pickHourly(this.meteoData, L)) == null ? void 0 : n[0]) || {};
3102
+ this.hoursTableData.weatherUrls.push((e = D.weather) == null ? void 0 : e.url), this.hoursTableData.weatherNames.push(((a = D.weather) == null ? void 0 : a.name) ?? "-"), this.hoursTableData.temp.push(this.roundPrecision((h = D.weather) == null ? void 0 : h.temp, 0) ?? "-"), this.hoursTableData.precipProbability.push(this.roundPrecision((o = (t = D.weather) == null ? void 0 : t.precip) == null ? void 0 : o.probability, 1) ?? "-"), this.hoursTableData.precip1h.push(this.roundPrecision((v = (u = D.weather) == null ? void 0 : u.precip) == null ? void 0 : v.sum, 1) ?? "-"), this.hoursTableData.visibility.push(this.roundPrecision((I = D.weather) == null ? void 0 : I.visibility, 0) ?? "-"), this.hoursTableData.humidity.push(this.roundPrecision((b = D.weather) == null ? void 0 : b.rh, 0) ?? "-"), this.hoursTableData.windSpeed.push(this.roundPrecision((C = (B = D.weather) == null ? void 0 : B.wind) == null ? void 0 : C.kts, 1)), this.hoursTableData.windDir.push((P = (k = D.weather) == null ? void 0 : k.wind) == null ? void 0 : P.bearing), this.hoursTableData.windGust.push(this.roundPrecision((ne = (se = D.weather) == null ? void 0 : se.wind) == null ? void 0 : ne.gusts, 1) ?? "-"), this.hoursTableData.sigwaveHeight.push(this.roundPrecision((Y = (re = D.wave) == null ? void 0 : re.sig) == null ? void 0 : Y.height, 1) ?? "-"), this.hoursTableData.sigwaveDir.push((R = (U = D.wave) == null ? void 0 : U.sig) == null ? void 0 : R.bearing), this.hoursTableData.windwaveHeight.push(this.roundPrecision((q = (X = D.wave) == null ? void 0 : X.wd) == null ? void 0 : q.height, 1) ?? "-"), this.hoursTableData.windwaveDir.push((Z = (J = D.wave) == null ? void 0 : J.wd) == null ? void 0 : Z.bearing), this.hoursTableData.windwavePeriod.push(this.roundPrecision(($ = (V = D.wave) == null ? void 0 : V.wd) == null ? void 0 : $.period, 1) ?? "-"), this.hoursTableData.swellHeight.push(this.roundPrecision((te = (ee = D.wave) == null ? void 0 : ee.swell) == null ? void 0 : te.height, 1) ?? "-"), this.hoursTableData.swellDir.push((F = (c = D.wave) == null ? void 0 : c.swell) == null ? void 0 : F.bearing), this.hoursTableData.swellPeriod.push(this.roundPrecision((N = (T = D.wave) == null ? void 0 : T.swell) == null ? void 0 : N.period, 1) ?? "-"), this.hoursTableData.currentSpeed.push(this.roundPrecision((m = D.current) == null ? void 0 : m.speed, 1) ?? "-"), this.hoursTableData.currentDir.push((S = D.current) == null ? void 0 : S.bearing), this.hoursTableData.seaLevel.push(this.roundPrecision(D.height, 1) ?? "-"), this.hoursTableData.seaTemp.push(this.roundPrecision(D.sst, 0) ?? "-");
2783
3103
  }
2784
3104
  this.loading.hoursTable = !1;
2785
3105
  },
@@ -2787,66 +3107,66 @@ const et = (o, e) => {
2787
3107
  this.position = {}, this.meteoData = {}, this.followItem = void 0, xe && document.getElementById("weather-chart") && xe.dispose(document.getElementById("weather-chart"));
2788
3108
  },
2789
3109
  initDaysTableData() {
2790
- var e, a, r, t, h, f, b, k, E, S, Y, U, O, se, ae, le, F, R, W, J, q, Z, V, _, $, ee, te, c, N, z, L, m, P, C, I, y, he;
3110
+ var e, a, h, t, o, u, v, I, b, B, C, k, P, se, ne, re, Y, U, R, X, q, J, Z, V, $, ee, te, c, F, T, N, m, S, M, L, D, he;
2791
3111
  this.daysTableData = [];
2792
- const o = X(this.etime).tz(this.positionGmt).set({ hour: 0, minute: 0, second: 0, millisecond: 0 }).format();
3112
+ const n = W(this.etime).tz(this.positionGmt).set({ hour: 0, minute: 0, second: 0, millisecond: 0 }).format();
2793
3113
  for (let de = 0; de < 14; de++) {
2794
- const Ae = M(o).clone().add(de, "d").format(), g = ((e = ke.pickDaily(this.meteoData, Ae)) == null ? void 0 : e[0]) || {};
3114
+ const Ae = H(n).clone().add(de, "d").format(), g = ((e = Le.pickDaily(this.meteoData, Ae)) == null ? void 0 : e[0]) || {};
2795
3115
  this.daysTableData.push({
2796
3116
  localWeek: this.computeWeekLT(Ae),
2797
3117
  localDate: this.computeMMMDDLT(Ae),
2798
3118
  weatherUrl: (a = g == null ? void 0 : g.weather) == null ? void 0 : a.url,
2799
- minTemp: this.roundPrecision((t = (r = g == null ? void 0 : g.weather) == null ? void 0 : r.temp) == null ? void 0 : t.min, 0) ?? "-",
2800
- maxTemp: this.roundPrecision((f = (h = g == null ? void 0 : g.weather) == null ? void 0 : h.temp) == null ? void 0 : f.max, 0) ?? "-",
2801
- weatherName: (b = g == null ? void 0 : g.weather) == null ? void 0 : b.name,
2802
- precipSum: this.roundPrecision((E = (k = g == null ? void 0 : g.weather) == null ? void 0 : k.precip) == null ? void 0 : E.sum, 1) ?? "-",
2803
- precipRainSum: this.roundPrecision((Y = (S = g == null ? void 0 : g.weather) == null ? void 0 : S.precip) == null ? void 0 : Y.rainSum, 1) ?? "-",
2804
- precipSnowfallSum: this.roundPrecision((O = (U = g == null ? void 0 : g.weather) == null ? void 0 : U.precip) == null ? void 0 : O.snowfallSum, 1) ?? "-",
2805
- windSpeedMax: this.roundPrecision((ae = (se = g == null ? void 0 : g.weather) == null ? void 0 : se.wind) == null ? void 0 : ae.kts, 1) ?? "-",
2806
- windSpeedDir: (F = (le = g == null ? void 0 : g.weather) == null ? void 0 : le.wind) == null ? void 0 : F.bearing,
2807
- gustSpeedMax: this.roundPrecision((W = (R = g == null ? void 0 : g.weather) == null ? void 0 : R.wind) == null ? void 0 : W.gusts, 1) ?? "-",
2808
- windWaveHeight: this.roundPrecision((q = (J = g == null ? void 0 : g.wave) == null ? void 0 : J.wd) == null ? void 0 : q.height, 1) ?? "-",
2809
- windWavePeriod: this.roundPrecision((V = (Z = g == null ? void 0 : g.wave) == null ? void 0 : Z.wd) == null ? void 0 : V.period, 1) ?? "-",
2810
- windWaveDir: ($ = (_ = g == null ? void 0 : g.wave) == null ? void 0 : _.wd) == null ? void 0 : $.bearing,
3119
+ minTemp: this.roundPrecision((t = (h = g == null ? void 0 : g.weather) == null ? void 0 : h.temp) == null ? void 0 : t.min, 0) ?? "-",
3120
+ maxTemp: this.roundPrecision((u = (o = g == null ? void 0 : g.weather) == null ? void 0 : o.temp) == null ? void 0 : u.max, 0) ?? "-",
3121
+ weatherName: (v = g == null ? void 0 : g.weather) == null ? void 0 : v.name,
3122
+ precipSum: this.roundPrecision((b = (I = g == null ? void 0 : g.weather) == null ? void 0 : I.precip) == null ? void 0 : b.sum, 1) ?? "-",
3123
+ precipRainSum: this.roundPrecision((C = (B = g == null ? void 0 : g.weather) == null ? void 0 : B.precip) == null ? void 0 : C.rainSum, 1) ?? "-",
3124
+ precipSnowfallSum: this.roundPrecision((P = (k = g == null ? void 0 : g.weather) == null ? void 0 : k.precip) == null ? void 0 : P.snowfallSum, 1) ?? "-",
3125
+ windSpeedMax: this.roundPrecision((ne = (se = g == null ? void 0 : g.weather) == null ? void 0 : se.wind) == null ? void 0 : ne.kts, 1) ?? "-",
3126
+ windSpeedDir: (Y = (re = g == null ? void 0 : g.weather) == null ? void 0 : re.wind) == null ? void 0 : Y.bearing,
3127
+ gustSpeedMax: this.roundPrecision((R = (U = g == null ? void 0 : g.weather) == null ? void 0 : U.wind) == null ? void 0 : R.gusts, 1) ?? "-",
3128
+ windWaveHeight: this.roundPrecision((q = (X = g == null ? void 0 : g.wave) == null ? void 0 : X.wd) == null ? void 0 : q.height, 1) ?? "-",
3129
+ windWavePeriod: this.roundPrecision((Z = (J = g == null ? void 0 : g.wave) == null ? void 0 : J.wd) == null ? void 0 : Z.period, 1) ?? "-",
3130
+ windWaveDir: ($ = (V = g == null ? void 0 : g.wave) == null ? void 0 : V.wd) == null ? void 0 : $.bearing,
2811
3131
  swellWaveHeight: this.roundPrecision((te = (ee = g == null ? void 0 : g.wave) == null ? void 0 : ee.swell) == null ? void 0 : te.height, 1) ?? "-",
2812
- swellWavePeriod: this.roundPrecision((N = (c = g == null ? void 0 : g.wave) == null ? void 0 : c.swell) == null ? void 0 : N.period, 1) ?? "-",
2813
- swellWaveDir: (L = (z = g == null ? void 0 : g.wave) == null ? void 0 : z.swell) == null ? void 0 : L.bearing,
2814
- sigWaveHeight: this.roundPrecision((P = (m = g == null ? void 0 : g.wave) == null ? void 0 : m.sig) == null ? void 0 : P.height, 1) ?? "-",
2815
- sigWavePeriod: this.roundPrecision((I = (C = g == null ? void 0 : g.wave) == null ? void 0 : C.sig) == null ? void 0 : I.period, 1) ?? "-",
2816
- sigWaveDir: (he = (y = g == null ? void 0 : g.wave) == null ? void 0 : y.sig) == null ? void 0 : he.bearing
3132
+ swellWavePeriod: this.roundPrecision((F = (c = g == null ? void 0 : g.wave) == null ? void 0 : c.swell) == null ? void 0 : F.period, 1) ?? "-",
3133
+ swellWaveDir: (N = (T = g == null ? void 0 : g.wave) == null ? void 0 : T.swell) == null ? void 0 : N.bearing,
3134
+ sigWaveHeight: this.roundPrecision((S = (m = g == null ? void 0 : g.wave) == null ? void 0 : m.sig) == null ? void 0 : S.height, 1) ?? "-",
3135
+ sigWavePeriod: this.roundPrecision((L = (M = g == null ? void 0 : g.wave) == null ? void 0 : M.sig) == null ? void 0 : L.period, 1) ?? "-",
3136
+ sigWaveDir: (he = (D = g == null ? void 0 : g.wave) == null ? void 0 : D.sig) == null ? void 0 : he.bearing
2817
3137
  });
2818
3138
  }
2819
3139
  this.loading.daysTable = !1;
2820
3140
  },
2821
- initHourlyTableData(o, e, a, r) {
2822
- var b, k, E, S, Y, U, O, se, ae, le, F, R, W, J, q, Z, V, _, $, ee, te, c, N, z, L, m, P, C, I, y, he, de, Ae, g, pe, x;
3141
+ initHourlyTableData(n, e, a, h) {
3142
+ var v, I, b, B, C, k, P, se, ne, re, Y, U, R, X, q, J, Z, V, $, ee, te, c, F, T, N, m, S, M, L, D, he, de, Ae, g, ue, E;
2823
3143
  this.hourlyTableData = [];
2824
- const t = e || 14, h = a || this.etime, f = X(h).tz(this.positionGmt).set({ hour: 0, minute: 0, second: 0, millisecond: 0 }).format();
2825
- for (let Q = 0; Q < t * 24; Q++) {
2826
- let T, ce;
2827
- if (Q % 3 === 0 && (ce = 3), r ? Q % 3 === 0 && (T = M(f).clone().add(Q, "h").format()) : Q < 3 * 24 ? T = M(f).clone().add(Q, "h").format() : Q < 7 * 24 ? Q % 3 === 0 && (T = M(f).clone().add(Q, "h").format()) : Q % 6 === 0 && (T = M(f).clone().add(Q, "h").format()), T) {
2828
- const A = ((b = ke.pickHourly(o, T)) == null ? void 0 : b[0]) || {}, G = ce === 6 ? this.roundPrecision((E = (k = A == null ? void 0 : A.weather) == null ? void 0 : k.precip) == null ? void 0 : E.sum6Hours, 1) : ce === 3 ? this.roundPrecision((Y = (S = A == null ? void 0 : A.weather) == null ? void 0 : S.precip) == null ? void 0 : Y.sum3Hours, 1) : "-";
3144
+ const t = e || 14, o = a || this.etime, u = W(o).tz(this.positionGmt).set({ hour: 0, minute: 0, second: 0, millisecond: 0 }).format();
3145
+ for (let z = 0; z < t * 24; z++) {
3146
+ let _, ce;
3147
+ if (z % 3 === 0 && (ce = 3), h ? z % 3 === 0 && (_ = H(u).clone().add(z, "h").format()) : z < 3 * 24 ? _ = H(u).clone().add(z, "h").format() : z < 7 * 24 ? z % 3 === 0 && (_ = H(u).clone().add(z, "h").format()) : z % 6 === 0 && (_ = H(u).clone().add(z, "h").format()), _) {
3148
+ const A = ((v = Le.pickHourly(n, _)) == null ? void 0 : v[0]) || {}, O = ce === 6 ? this.roundPrecision((b = (I = A == null ? void 0 : A.weather) == null ? void 0 : I.precip) == null ? void 0 : b.sum6Hours, 1) : ce === 3 ? this.roundPrecision((C = (B = A == null ? void 0 : A.weather) == null ? void 0 : B.precip) == null ? void 0 : C.sum3Hours, 1) : "-";
2829
3149
  this.hourlyTableData.push({
2830
- localDate: this.computeMMMDDHHmmLT(T),
2831
- temp: this.roundPrecision((U = A == null ? void 0 : A.weather) == null ? void 0 : U.temp, 0) ?? "-",
2832
- precipSum: G ?? "-",
2833
- visibility: this.roundPrecision((O = A == null ? void 0 : A.weather) == null ? void 0 : O.visibility, 1) ?? "-",
2834
- windSpeed: this.roundPrecision((ae = (se = A == null ? void 0 : A.weather) == null ? void 0 : se.wind) == null ? void 0 : ae.kts, 1) ?? "-",
2835
- windDir: (F = (le = A == null ? void 0 : A.weather) == null ? void 0 : le.wind) == null ? void 0 : F.direction,
2836
- windBearing: (W = (R = A == null ? void 0 : A.weather) == null ? void 0 : R.wind) == null ? void 0 : W.bearing,
2837
- windBF: ((q = (J = A == null ? void 0 : A.weather) == null ? void 0 : J.wind) == null ? void 0 : q.scale) ?? "-",
2838
- windGusts: this.roundPrecision((V = (Z = A == null ? void 0 : A.weather) == null ? void 0 : Z.wind) == null ? void 0 : V.gusts, 1) ?? "-",
2839
- windWaveHeight: this.roundPrecision(($ = (_ = A == null ? void 0 : A.wave) == null ? void 0 : _.wd) == null ? void 0 : $.height, 1) ?? "-",
3150
+ localDate: this.computeMMMDDHHmmLT(_),
3151
+ temp: this.roundPrecision((k = A == null ? void 0 : A.weather) == null ? void 0 : k.temp, 0) ?? "-",
3152
+ precipSum: O ?? "-",
3153
+ visibility: this.roundPrecision((P = A == null ? void 0 : A.weather) == null ? void 0 : P.visibility, 1) ?? "-",
3154
+ windSpeed: this.roundPrecision((ne = (se = A == null ? void 0 : A.weather) == null ? void 0 : se.wind) == null ? void 0 : ne.kts, 1) ?? "-",
3155
+ windDir: (Y = (re = A == null ? void 0 : A.weather) == null ? void 0 : re.wind) == null ? void 0 : Y.direction,
3156
+ windBearing: (R = (U = A == null ? void 0 : A.weather) == null ? void 0 : U.wind) == null ? void 0 : R.bearing,
3157
+ windBF: ((q = (X = A == null ? void 0 : A.weather) == null ? void 0 : X.wind) == null ? void 0 : q.scale) ?? "-",
3158
+ windGusts: this.roundPrecision((Z = (J = A == null ? void 0 : A.weather) == null ? void 0 : J.wind) == null ? void 0 : Z.gusts, 1) ?? "-",
3159
+ windWaveHeight: this.roundPrecision(($ = (V = A == null ? void 0 : A.wave) == null ? void 0 : V.wd) == null ? void 0 : $.height, 1) ?? "-",
2840
3160
  windWavePeriod: this.roundPrecision((te = (ee = A == null ? void 0 : A.wave) == null ? void 0 : ee.wd) == null ? void 0 : te.period, 1) ?? "-",
2841
- windWaveDir: (N = (c = A == null ? void 0 : A.wave) == null ? void 0 : c.wd) == null ? void 0 : N.direction,
2842
- windWaveBearing: (L = (z = A == null ? void 0 : A.wave) == null ? void 0 : z.wd) == null ? void 0 : L.bearing,
2843
- sigWaveHeight: this.roundPrecision((P = (m = A == null ? void 0 : A.wave) == null ? void 0 : m.sig) == null ? void 0 : P.height, 1) ?? "-",
2844
- sigWavePeriod: this.roundPrecision((I = (C = A == null ? void 0 : A.wave) == null ? void 0 : C.sig) == null ? void 0 : I.period, 1) ?? "-",
2845
- sigWaveDir: (he = (y = A == null ? void 0 : A.wave) == null ? void 0 : y.sig) == null ? void 0 : he.direction,
3161
+ windWaveDir: (F = (c = A == null ? void 0 : A.wave) == null ? void 0 : c.wd) == null ? void 0 : F.direction,
3162
+ windWaveBearing: (N = (T = A == null ? void 0 : A.wave) == null ? void 0 : T.wd) == null ? void 0 : N.bearing,
3163
+ sigWaveHeight: this.roundPrecision((S = (m = A == null ? void 0 : A.wave) == null ? void 0 : m.sig) == null ? void 0 : S.height, 1) ?? "-",
3164
+ sigWavePeriod: this.roundPrecision((L = (M = A == null ? void 0 : A.wave) == null ? void 0 : M.sig) == null ? void 0 : L.period, 1) ?? "-",
3165
+ sigWaveDir: (he = (D = A == null ? void 0 : A.wave) == null ? void 0 : D.sig) == null ? void 0 : he.direction,
2846
3166
  sigWaveBearing: (Ae = (de = A == null ? void 0 : A.wave) == null ? void 0 : de.sig) == null ? void 0 : Ae.bearing,
2847
3167
  currentDir: (g = A == null ? void 0 : A.current) == null ? void 0 : g.direction,
2848
- currentSpd: this.roundPrecision((pe = A == null ? void 0 : A.current) == null ? void 0 : pe.kts, 1) ?? "-",
2849
- currentBearing: (x = A == null ? void 0 : A.current) == null ? void 0 : x.bearing,
3168
+ currentSpd: this.roundPrecision((ue = A == null ? void 0 : A.current) == null ? void 0 : ue.kts, 1) ?? "-",
3169
+ currentBearing: (E = A == null ? void 0 : A.current) == null ? void 0 : E.bearing,
2850
3170
  seaLevel: this.roundPrecision(A == null ? void 0 : A.height, 1) ?? "-",
2851
3171
  seaSurfaceTemp: this.roundPrecision(A == null ? void 0 : A.sst, 0) ?? "-"
2852
3172
  });
@@ -2854,253 +3174,253 @@ const et = (o, e) => {
2854
3174
  }
2855
3175
  this.loading.hourlyTable = !1;
2856
3176
  },
2857
- async handleSelectMonth(o) {
2858
- this.currentMonth = o, await this.fetchSeasonalData(), this.initSeasonalEchart();
3177
+ async handleSelectMonth(n) {
3178
+ this.currentMonth = n, await this.fetchSeasonalData(), this.initSeasonalEchart();
2859
3179
  },
2860
3180
  async handleDateRange() {
2861
- const { year0: o, month0: e, date0: a, year1: r, month1: t, date1: h } = {
2862
- year0: M(this.dateRange[0]).year(),
2863
- month0: M(this.dateRange[0]).month(),
2864
- date0: M(this.dateRange[0]).date(),
2865
- year1: M(this.dateRange[1]).year(),
2866
- month1: M(this.dateRange[1]).month(),
2867
- date1: M(this.dateRange[1]).date()
3181
+ const { year0: n, month0: e, date0: a, year1: h, month1: t, date1: o } = {
3182
+ year0: H(this.dateRange[0]).year(),
3183
+ month0: H(this.dateRange[0]).month(),
3184
+ date0: H(this.dateRange[0]).date(),
3185
+ year1: H(this.dateRange[1]).year(),
3186
+ month1: H(this.dateRange[1]).month(),
3187
+ date1: H(this.dateRange[1]).date()
2868
3188
  };
2869
3189
  this.dateRangeZ = [
2870
- M(this.dateRangeZ[0]).set({ year: o, month: e, date: a }).utc().format(),
2871
- M(this.dateRangeZ[1]).set({ year: r, month: t, date: h }).utc().format()
3190
+ H(this.dateRangeZ[0]).set({ year: n, month: e, date: a }).utc().format(),
3191
+ H(this.dateRangeZ[1]).set({ year: h, month: t, date: o }).utc().format()
2872
3192
  ];
2873
- const f = M(this.dateRangeZ[1]).diff(M(this.dateRangeZ[0]), "d", !0) + 1;
2874
- await this.fetchHistoryMeteo(f), this.handleMeteogramData14(this.meteoData, f, this.dateRangeZ[0]), this.initHourlyTableData(this.meteoData, f, this.dateRangeZ[0], !0), this.selectDate = void 0;
3193
+ const u = H(this.dateRangeZ[1]).diff(H(this.dateRangeZ[0]), "d", !0) + 1;
3194
+ await this.fetchHistoryMeteo(u), this.handleMeteogramData14(this.meteoData, u, this.dateRangeZ[0]), this.initHourlyTableData(this.meteoData, u, this.dateRangeZ[0], !0), this.selectDate = void 0;
2875
3195
  },
2876
- handlePickDate(o) {
2877
- o[1] ? this.selectDate = null : this.selectDate = o[0].getTime();
3196
+ handlePickDate(n) {
3197
+ n[1] ? this.selectDate = null : this.selectDate = n[0].getTime();
2878
3198
  }
2879
3199
  }
2880
- }, st = { class: "spot-report" }, at = { class: "search-header-box" }, it = { class: "search-header-box-inner flex-between" }, ot = { class: "search-box flex-start" }, nt = { class: "menu-box flex-end" }, rt = { class: "content-box" }, lt = { class: "title-section flex-between" }, At = { class: "main-title" }, ht = { class: "sub-title" }, dt = { key: 0 }, gt = { class: "flex-end" }, ct = {
3200
+ }, ot = { class: "spot-report" }, nt = { class: "search-header-box" }, rt = { class: "search-header-box-inner flex-between" }, lt = { class: "search-box flex-start" }, At = { class: "menu-box flex-end" }, ht = { class: "content-box" }, dt = { class: "title-section flex-between" }, gt = { class: "main-title" }, ct = { class: "sub-title" }, wt = { key: 0 }, pt = { class: "flex-end" }, mt = {
2881
3201
  key: 0,
2882
3202
  class: "meteogram-echart-section"
2883
- }, wt = {
3203
+ }, ut = {
2884
3204
  key: 0,
2885
3205
  class: "card"
2886
- }, pt = { class: "title flex-start" }, mt = { style: { "margin-right": "5px" } }, ut = { class: "datetime-select-box" }, ft = {
3206
+ }, ft = { class: "title flex-start" }, vt = { style: { "margin-right": "5px" } }, yt = { class: "datetime-select-box" }, Dt = {
2887
3207
  key: 1,
2888
3208
  class: "card flex-center"
2889
- }, Dt = {
3209
+ }, Bt = {
2890
3210
  key: 2,
2891
3211
  class: "card flex-center"
2892
- }, yt = {
3212
+ }, xt = {
2893
3213
  key: 1,
2894
3214
  class: "weather-echart-section"
2895
- }, Bt = {
3215
+ }, bt = {
2896
3216
  key: 0,
2897
3217
  id: "weather-chart",
2898
3218
  class: "weather-chart"
2899
- }, xt = {
3219
+ }, Ct = {
2900
3220
  key: 1,
2901
3221
  class: "weather-chart weather-chart-loading flex-center"
2902
- }, vt = {
3222
+ }, It = {
2903
3223
  key: 2,
2904
3224
  class: "weather-chart flex-center"
2905
- }, Ct = {
3225
+ }, Et = {
2906
3226
  key: 2,
2907
3227
  class: "hours-table-section",
2908
3228
  style: { border: "1px solid var(--idm-gray-light)" }
2909
- }, It = {
3229
+ }, Qt = {
2910
3230
  key: 0,
2911
3231
  class: "card"
2912
- }, bt = { class: "date" }, Et = { class: "basic-table" }, Qt = { class: "day" }, Mt = { class: "hour" }, Lt = { class: "icon" }, kt = ["src"], zt = { class: "text" }, Ht = { class: "text" }, Pt = { class: "text" }, Nt = { class: "text" }, Tt = { class: "text" }, Gt = { class: "text" }, St = { key: 1 }, Ft = { class: "text" }, Ot = { class: "text" }, Yt = { class: "wave-current-table" }, jt = { class: "text" }, Kt = { class: "text" }, Ut = { key: 1 }, Rt = { class: "text" }, Xt = { class: "text" }, Wt = { class: "text" }, Jt = { key: 1 }, qt = { class: "text" }, Zt = { class: "text" }, Vt = { class: "text" }, _t = { key: 1 }, $t = { class: "text" }, es = { class: "sea-table" }, ts = { class: "text" }, ss = { class: "text" }, as = {
3232
+ }, Mt = { class: "date" }, kt = { class: "basic-table" }, Lt = { class: "day" }, zt = { class: "hour" }, Ht = { class: "icon" }, Pt = ["src"], Nt = { class: "text" }, Tt = { class: "text" }, Gt = { class: "text" }, St = { class: "text" }, Ft = { class: "text" }, _t = { class: "text" }, Ot = { key: 1 }, Yt = { class: "text" }, jt = { class: "text" }, Kt = { class: "wave-current-table" }, Ut = { class: "text" }, Wt = { class: "text" }, Rt = { key: 1 }, Xt = { class: "text" }, qt = { class: "text" }, Jt = { class: "text" }, Zt = { key: 1 }, Vt = { class: "text" }, $t = { class: "text" }, es = { class: "text" }, ts = { key: 1 }, ss = { class: "text" }, as = { class: "sea-table" }, is = { class: "text" }, os = { class: "text" }, ns = {
2913
3233
  key: 1,
2914
3234
  class: "card card-loading flex-center"
2915
- }, is = {
3235
+ }, rs = {
2916
3236
  key: 2,
2917
3237
  class: "card flex-center"
2918
- }, os = {
3238
+ }, ls = {
2919
3239
  key: 3,
2920
3240
  class: "days-table-section"
2921
- }, ns = {
3241
+ }, As = {
2922
3242
  key: 0,
2923
3243
  class: "card"
2924
- }, rs = { class: "conditions-table" }, ls = {
3244
+ }, hs = { class: "conditions-table" }, ds = {
2925
3245
  rowspan: "1",
2926
3246
  colspan: "1",
2927
3247
  class: "tr-title font-gray",
2928
3248
  style: { "text-align": "right", "padding-right": "10px", "box-sizing": "border-box" }
2929
- }, As = {
3249
+ }, gs = {
2930
3250
  rowspan: "1",
2931
3251
  colspan: "1"
2932
- }, hs = ["src"], ds = {
3252
+ }, cs = ["src"], ws = {
2933
3253
  rowspan: "1",
2934
3254
  colspan: "1",
2935
3255
  class: "text-align-left"
2936
- }, gs = {
3256
+ }, ps = {
2937
3257
  rowspan: "1",
2938
3258
  colspan: "1",
2939
3259
  class: "text-align-left"
2940
- }, cs = {
3260
+ }, ms = {
2941
3261
  rowspan: "1",
2942
3262
  colspan: "1",
2943
3263
  class: "text-align-left"
2944
- }, ws = {
3264
+ }, us = {
2945
3265
  rowspan: "1",
2946
3266
  colspan: "1",
2947
3267
  class: "text-align-left"
2948
- }, ps = {
3268
+ }, fs = {
2949
3269
  rowspan: "1",
2950
3270
  colspan: "1",
2951
3271
  class: "text-align-left"
2952
- }, ms = {
3272
+ }, vs = {
2953
3273
  rowspan: "1",
2954
3274
  colspan: "1",
2955
3275
  class: "text-align-right",
2956
3276
  style: { "padding-right": "30px" }
2957
- }, us = { key: 1 }, fs = {
3277
+ }, ys = { key: 1 }, Ds = {
2958
3278
  rowspan: "1",
2959
3279
  colspan: "1",
2960
3280
  class: "text-align-right",
2961
3281
  style: { "padding-right": "25px" }
2962
- }, Ds = {
3282
+ }, Bs = {
2963
3283
  rowspan: "1",
2964
3284
  colspan: "1",
2965
3285
  class: "text-align-right",
2966
3286
  style: { "padding-right": "30px" }
2967
- }, ys = { key: 1 }, Bs = {
3287
+ }, xs = { key: 1 }, bs = {
2968
3288
  rowspan: "1",
2969
3289
  colspan: "1",
2970
3290
  class: "text-align-right",
2971
3291
  style: { "padding-right": "30px" }
2972
- }, xs = { key: 1 }, vs = {
3292
+ }, Cs = { key: 1 }, Is = {
2973
3293
  rowspan: "1",
2974
3294
  colspan: "1",
2975
3295
  class: "text-align-right",
2976
3296
  style: { "padding-right": "30px" }
2977
- }, Cs = { key: 1 }, Is = {
3297
+ }, Es = { key: 1 }, Qs = {
2978
3298
  key: 1,
2979
3299
  class: "card card-loading flex-center"
2980
- }, bs = {
3300
+ }, Ms = {
2981
3301
  key: 2,
2982
3302
  class: "card flex-center"
2983
- }, Es = {
3303
+ }, ks = {
2984
3304
  key: 4,
2985
3305
  class: "hourly-table-section"
2986
- }, Qs = {
3306
+ }, Ls = {
2987
3307
  key: 0,
2988
3308
  class: "card"
2989
- }, Ms = { class: "conditions-table" }, Ls = {
3309
+ }, zs = { class: "conditions-table" }, Hs = {
2990
3310
  rowspan: "1",
2991
3311
  colspan: "1",
2992
3312
  class: "border"
2993
- }, ks = {
3313
+ }, Ps = {
2994
3314
  rowspan: "1",
2995
3315
  colspan: "1",
2996
3316
  class: "border"
2997
- }, zs = {
3317
+ }, Ns = {
2998
3318
  rowspan: "1",
2999
3319
  colspan: "1",
3000
3320
  class: "border"
3001
- }, Hs = {
3321
+ }, Ts = {
3002
3322
  rowspan: "1",
3003
3323
  colspan: "1",
3004
3324
  class: "border"
3005
- }, Ps = {
3325
+ }, Gs = {
3006
3326
  rowspan: "1",
3007
3327
  colspan: "1",
3008
3328
  class: "border",
3009
3329
  style: { "font-size": "11px", "text-align": "right", "padding-right": "3px" }
3010
- }, Ns = { key: 1 }, Ts = {
3330
+ }, Ss = { key: 1 }, Fs = {
3011
3331
  rowspan: "1",
3012
3332
  colspan: "1",
3013
3333
  class: "border"
3014
- }, Gs = {
3334
+ }, _s = {
3015
3335
  rowspan: "1",
3016
3336
  colspan: "1",
3017
3337
  class: "border"
3018
- }, Ss = {
3338
+ }, Os = {
3019
3339
  rowspan: "1",
3020
3340
  colspan: "1",
3021
3341
  class: "border"
3022
- }, Fs = {
3342
+ }, Ys = {
3023
3343
  rowspan: "1",
3024
3344
  colspan: "1",
3025
3345
  class: "border",
3026
3346
  style: { "font-size": "11px", "text-align": "right", "padding-right": "3px" }
3027
- }, Os = { key: 1 }, Ys = {
3347
+ }, js = { key: 1 }, Ks = {
3028
3348
  rowspan: "1",
3029
3349
  colspan: "1",
3030
3350
  class: "border"
3031
- }, js = {
3351
+ }, Us = {
3032
3352
  rowspan: "1",
3033
3353
  colspan: "1",
3034
3354
  class: "border"
3035
- }, Ks = {
3355
+ }, Ws = {
3036
3356
  rowspan: "1",
3037
3357
  colspan: "1",
3038
3358
  class: "border",
3039
3359
  style: { "font-size": "11px", "text-align": "right", "padding-right": "3px" }
3040
- }, Us = { key: 1 }, Rs = {
3360
+ }, Rs = { key: 1 }, Xs = {
3041
3361
  rowspan: "1",
3042
3362
  colspan: "1",
3043
3363
  class: "border"
3044
- }, Xs = {
3364
+ }, qs = {
3045
3365
  rowspan: "1",
3046
3366
  colspan: "1",
3047
3367
  class: "border"
3048
- }, Ws = {
3368
+ }, Js = {
3049
3369
  rowspan: "1",
3050
3370
  colspan: "1",
3051
3371
  class: "border",
3052
3372
  style: { "font-size": "11px", "text-align": "right", "padding-right": "3px" }
3053
- }, Js = { key: 1 }, qs = {
3373
+ }, Zs = { key: 1 }, Vs = {
3054
3374
  rowspan: "1",
3055
3375
  colspan: "1",
3056
3376
  class: "border"
3057
- }, Zs = {
3377
+ }, $s = {
3058
3378
  rowspan: "1",
3059
3379
  colspan: "1",
3060
3380
  class: "border"
3061
- }, Vs = {
3381
+ }, ea = {
3062
3382
  rowspan: "1",
3063
3383
  colspan: "1",
3064
3384
  class: "border"
3065
- }, _s = {
3385
+ }, ta = {
3066
3386
  key: 1,
3067
3387
  class: "card card-loading flex-center"
3068
- }, $s = {
3388
+ }, sa = {
3069
3389
  key: 2,
3070
3390
  class: "card flex-center"
3071
- }, ea = {
3391
+ }, aa = {
3072
3392
  key: 5,
3073
3393
  class: "seasonal-weather-section"
3074
- }, ta = {
3394
+ }, ia = {
3075
3395
  key: 0,
3076
3396
  class: "card flex-space"
3077
- }, sa = {
3397
+ }, oa = {
3078
3398
  class: "echart-box",
3079
3399
  style: {}
3080
- }, aa = { style: { cursor: "pointer" } }, ia = { style: { padding: "3px 0 0 5px", cursor: "pointer" } }, oa = { class: "months-select-box" }, na = { class: "bg-select" }, ra = ["onClick"], la = { class: "flex-col-start-start right-bar" }, Aa = {
3400
+ }, na = { style: { cursor: "pointer" } }, ra = { style: { padding: "3px 0 0 5px", cursor: "pointer" } }, la = { class: "months-select-box" }, Aa = { class: "bg-select" }, ha = ["onClick"], da = { class: "flex-col-start-start right-bar" }, ga = {
3081
3401
  class: "",
3082
3402
  style: { "font-size": "16px", "font-weight": "bold", "margin-bottom": "20px" }
3083
- }, ha = { class: "text" }, da = { class: "text" }, ga = { class: "text" }, ca = { class: "text" }, wa = { class: "text" }, pa = { class: "text" }, ma = { class: "text" }, ua = { class: "text" }, fa = { class: "text" }, Da = { class: "text" }, ya = { class: "text" }, Ba = { class: "text" }, xa = {
3403
+ }, ca = { class: "text" }, wa = { class: "text" }, pa = { class: "text" }, ma = { class: "text" }, ua = { class: "text" }, fa = { class: "text" }, va = { class: "text" }, ya = { class: "text" }, Da = { class: "text" }, Ba = { class: "text" }, xa = { class: "text" }, ba = { class: "text" }, Ca = {
3084
3404
  key: 1,
3085
3405
  class: "card flex-center"
3086
- }, va = {
3406
+ }, Ia = {
3087
3407
  key: 2,
3088
3408
  class: "card flex-center"
3089
- }, Ca = {
3409
+ }, Ea = {
3090
3410
  key: 0,
3091
3411
  class: "info-box-item flex-start"
3092
- }, Ia = { class: "text" }, ba = { class: "info-box-item flex-start" }, Ea = { class: "text" }, Qa = { class: "info-box-item flex-start" }, Ma = {
3412
+ }, Qa = { class: "text" }, Ma = { class: "info-box-item flex-start" }, ka = { class: "text" }, La = { class: "info-box-item flex-start" }, za = {
3093
3413
  key: 1,
3094
3414
  class: "text"
3095
- }, La = { class: "info-box-item flex-center" };
3096
- function ka(o, e, a, r, t, h) {
3097
- var F, R, W, J, q, Z, V, _, $, ee, te, c, N, z, L, m, P, C, I, y, he, de, Ae, g, pe, x, Q, T, ce, A, G, ie, v, re, j, d, u, K, D, De, H, oe, fe, B;
3098
- const f = Ie("ElOption"), b = Ie("ElSelect"), k = Ie("ElTooltip"), E = Ie("Calendar"), S = Ie("el-icon"), Y = Ie("ArrowRightBold"), U = Ie("ElIcon"), O = Ie("el-date-picker"), se = Ie("ElInput"), ae = Ie("ElButton"), le = Ie("ElDialog");
3099
- return n(), l("div", st, [
3100
- s("div", at, [
3101
- s("div", it, [
3102
- s("div", ot, [
3103
- be(b, {
3415
+ }, Ha = { class: "info-box-item flex-center" };
3416
+ function Pa(n, e, a, h, t, o) {
3417
+ var U, R, X, q, J, Z, V, $, ee, te, c, F, T, N, m, S, M, L, D, he, de, Ae, g, ue, E, z, _, ce, A, O, ae, Q, le, j, d, f, K, y, ve, G, ie, fe, x, De;
3418
+ const u = Ce("ElOption"), v = Ce("ElSelect"), I = Ce("ElTooltip"), b = Ce("Download"), B = Ce("ElIcon"), C = Ce("Calendar"), k = Ce("el-icon"), P = Ce("ArrowRightBold"), se = Ce("el-date-picker"), ne = Ce("ElInput"), re = Ce("ElButton"), Y = Ce("ElDialog");
3419
+ return r(), l("div", ot, [
3420
+ s("div", nt, [
3421
+ s("div", rt, [
3422
+ s("div", lt, [
3423
+ be(v, {
3104
3424
  modelValue: t.searchName,
3105
3425
  "onUpdate:modelValue": e[0] || (e[0] = (i) => t.searchName = i),
3106
3426
  filterable: "",
@@ -3110,552 +3430,581 @@ function ka(o, e, a, r, t, h) {
3110
3430
  placeholder: t.placeholder,
3111
3431
  autocomplete: "",
3112
3432
  "remote-show-suffix": "",
3113
- "remote-method": h.fetchSuggestPosition,
3114
- onFocus: h.handleSearchFocus,
3433
+ "remote-method": o.fetchSuggestPosition,
3434
+ onFocus: o.handleSearchFocus,
3115
3435
  onBlur: e[1] || (e[1] = (i) => t.placeholder = "search for port name or coordinates"),
3116
- onChange: h.handleSearch
3436
+ onChange: o.handleSearch
3117
3437
  }, {
3118
- default: Le(() => [
3119
- (n(!0), l(me, null, ue(t.positionList, (i) => (n(), Ge(f, {
3438
+ default: Ee(() => [
3439
+ (r(!0), l(we, null, pe(t.positionList, (i) => (r(), Pe(u, {
3120
3440
  key: i.name,
3121
3441
  label: i.nameRemark,
3122
3442
  value: i.name
3123
3443
  }, null, 8, ["label", "value"]))), 128))
3124
3444
  ]),
3125
3445
  _: 1
3126
- }, 8, ["modelValue", "placeholder", "remote-method", "onFocus", "onChange"])
3446
+ }, 8, ["modelValue", "placeholder", "remote-method", "onFocus", "onChange"]),
3447
+ be(v, {
3448
+ modelValue: t.forecastModel,
3449
+ "onUpdate:modelValue": e[2] || (e[2] = (i) => t.forecastModel = i),
3450
+ filterable: "",
3451
+ class: "input",
3452
+ clearable: "",
3453
+ placeholder: "Forecast Model",
3454
+ style: { width: "150px", "margin-left": "10px" },
3455
+ onChange: o.handleModelChange
3456
+ }, {
3457
+ default: Ee(() => [
3458
+ (r(!0), l(we, null, pe(t.modelList, (i) => (r(), Pe(u, {
3459
+ key: i,
3460
+ label: i,
3461
+ value: i
3462
+ }, null, 8, ["label", "value"]))), 128))
3463
+ ]),
3464
+ _: 1
3465
+ }, 8, ["modelValue", "onChange"])
3127
3466
  ]),
3128
- s("div", nt, [
3467
+ s("div", At, [
3129
3468
  s("div", {
3130
- class: we(["item flex-center", t.menuIndex === 1 ? "active" : ""]),
3131
- onClick: e[2] || (e[2] = (i) => t.menuIndex = 1)
3469
+ class: me(["item flex-center", t.menuIndex === 1 ? "active" : ""]),
3470
+ onClick: e[3] || (e[3] = (i) => t.menuIndex = 1)
3132
3471
  }, "History", 2),
3133
3472
  s("div", {
3134
- class: we(["item flex-center", t.menuIndex === 2 ? "active" : ""]),
3135
- onClick: e[3] || (e[3] = (i) => t.menuIndex = 2)
3473
+ class: me(["item flex-center", t.menuIndex === 2 ? "active" : ""]),
3474
+ onClick: e[4] || (e[4] = (i) => t.menuIndex = 2)
3136
3475
  }, "7-Day Forecast", 2),
3137
3476
  s("div", {
3138
- class: we(["item flex-center", t.menuIndex === 3 ? "active" : ""]),
3139
- onClick: e[4] || (e[4] = (i) => t.menuIndex = 3)
3477
+ class: me(["item flex-center", t.menuIndex === 3 ? "active" : ""]),
3478
+ onClick: e[5] || (e[5] = (i) => t.menuIndex = 3)
3140
3479
  }, "14-Day Forecast", 2),
3141
3480
  s("div", {
3142
- class: we(["item flex-center", t.menuIndex === 4 ? "active" : ""]),
3143
- onClick: e[5] || (e[5] = (i) => t.menuIndex = 4)
3481
+ class: me(["item flex-center", t.menuIndex === 4 ? "active" : ""]),
3482
+ onClick: e[6] || (e[6] = (i) => t.menuIndex = 4)
3144
3483
  }, "Seasonal Forecast", 2)
3145
3484
  ])
3146
3485
  ])
3147
3486
  ]),
3148
- s("div", rt, [
3149
- s("div", lt, [
3487
+ s("div", ht, [
3488
+ s("div", dt, [
3150
3489
  s("div", null, [
3151
- s("div", At, p(t.menuIndex === 4 ? "Seasonal" : "") + " Weather forecast for " + p(((F = t.position) == null ? void 0 : F.name) || "-") + " ( UTC" + p(t.positionOffset) + " )", 1),
3152
- s("div", ht, [
3153
- ne(" At " + p((R = t.position) != null && R.portId ? "port" : "coordinates"), 1),
3154
- (W = t.position) != null && W.portId ? (n(), l("span", dt, ", " + p(h.computeLat(t.position.lat)) + ", " + p(h.computeLng(t.position.lng)), 1)) : Qe("", !0),
3155
- ne(", issued " + p(t.issuedDate), 1)
3490
+ s("div", gt, p(t.menuIndex === 4 ? "Seasonal" : "") + " Weather forecast for " + p(((U = t.position) == null ? void 0 : U.name) || "-") + " ( UTC" + p(t.positionOffset) + " )", 1),
3491
+ s("div", ct, [
3492
+ oe(" At " + p((R = t.position) != null && R.portId ? "port" : "coordinates"), 1),
3493
+ (X = t.position) != null && X.portId ? (r(), l("span", wt, ", " + p(o.computeLat(t.position.lat)) + ", " + p(o.computeLng(t.position.lng)), 1)) : ke("", !0),
3494
+ oe(", issued " + p(t.issuedDate), 1)
3156
3495
  ])
3157
3496
  ]),
3158
- s("div", gt, [
3159
- be(k, {
3497
+ s("div", pt, [
3498
+ be(I, {
3160
3499
  placement: "left",
3161
3500
  effect: "light",
3162
3501
  content: t.followItem ? "Remove the Port/Coordinate from My Follows" : "Add the Port/Coordinate to My Follows",
3163
3502
  "show-after": 1e3
3164
3503
  }, {
3165
- default: Le(() => [
3166
- t.followItem ? (n(), l("span", {
3504
+ default: Ee(() => [
3505
+ t.followItem ? (r(), l("span", {
3167
3506
  key: 0,
3168
3507
  class: "iconfont icon active",
3169
- onClick: e[6] || (e[6] = (...i) => h.handleFollowDialogOpen && h.handleFollowDialogOpen(...i))
3170
- }, "")) : (n(), l("span", {
3508
+ onClick: e[7] || (e[7] = (...i) => o.handleFollowDialogOpen && o.handleFollowDialogOpen(...i))
3509
+ }, "")) : (r(), l("span", {
3171
3510
  key: 1,
3172
3511
  class: "iconfont icon",
3173
- onClick: e[7] || (e[7] = (...i) => h.handleFollowDialogOpen && h.handleFollowDialogOpen(...i))
3512
+ onClick: e[8] || (e[8] = (...i) => o.handleFollowDialogOpen && o.handleFollowDialogOpen(...i))
3174
3513
  }, ""))
3175
3514
  ]),
3176
3515
  _: 1
3177
- }, 8, ["content"])
3516
+ }, 8, ["content"]),
3517
+ be(B, {
3518
+ size: "20px",
3519
+ class: "icon",
3520
+ onClick: e[9] || (e[9] = (i) => t.showDownloadDialog = !0)
3521
+ }, {
3522
+ default: Ee(() => [
3523
+ be(b)
3524
+ ]),
3525
+ _: 1
3526
+ })
3178
3527
  ])
3179
3528
  ]),
3180
- t.menuIndex === 1 || t.menuIndex === 2 || t.menuIndex === 3 ? (n(), l("div", ct, [
3181
- (J = t.position) != null && J.name && a.token && !((q = t.loading) != null && q.meteogramEchart) ? (n(), l("div", wt, [
3182
- s("div", pt, [
3183
- e[14] || (e[14] = s("div", { style: { "margin-right": "20px" } }, "Meteogram", -1)),
3184
- Fe(s("div", {
3529
+ t.menuIndex === 1 || t.menuIndex === 2 || t.menuIndex === 3 ? (r(), l("div", mt, [
3530
+ (q = t.position) != null && q.name && a.token && !((J = t.loading) != null && J.meteogramEchart) ? (r(), l("div", ut, [
3531
+ s("div", ft, [
3532
+ e[16] || (e[16] = s("div", { style: { "margin-right": "20px" } }, "Meteogram", -1)),
3533
+ Oe(s("div", {
3185
3534
  id: "history-date-title",
3186
3535
  class: "flex-space",
3187
3536
  style: { cursor: "pointer" },
3188
- onClick: e[8] || (e[8] = (i) => t.meteoData.showDateSelect = !t.meteoData.showDateSelect)
3537
+ onClick: e[10] || (e[10] = (i) => t.meteoData.showDateSelect = !t.meteoData.showDateSelect)
3189
3538
  }, [
3190
- be(S, {
3539
+ be(k, {
3191
3540
  size: "16",
3192
3541
  style: { "margin-right": "10px" }
3193
3542
  }, {
3194
- default: Le(() => [
3195
- be(E)
3543
+ default: Ee(() => [
3544
+ be(C)
3196
3545
  ]),
3197
3546
  _: 1
3198
3547
  }),
3199
- s("span", mt, p(h.computeMMMDDyyyyLT(t.dateRangeZ[0])) + " ~ " + p(h.computeMMMDDyyyyLT(t.dateRangeZ[1])), 1),
3200
- be(U, { size: "16" }, {
3201
- default: Le(() => [
3202
- be(Y)
3548
+ s("span", vt, p(o.computeMMMDDyyyyLT(t.dateRangeZ[0])) + " ~ " + p(o.computeMMMDDyyyyLT(t.dateRangeZ[1])), 1),
3549
+ be(B, { size: "16" }, {
3550
+ default: Ee(() => [
3551
+ be(P)
3203
3552
  ]),
3204
3553
  _: 1
3205
3554
  })
3206
3555
  ], 512), [
3207
- [Oe, t.menuIndex === 1]
3556
+ [Ye, t.menuIndex === 1]
3208
3557
  ]),
3209
- Fe(s("div", ut, [
3210
- be(O, {
3558
+ Oe(s("div", yt, [
3559
+ be(se, {
3211
3560
  modelValue: t.dateRange,
3212
- "onUpdate:modelValue": e[9] || (e[9] = (i) => t.dateRange = i),
3561
+ "onUpdate:modelValue": e[11] || (e[11] = (i) => t.dateRange = i),
3213
3562
  type: "daterange",
3214
3563
  "range-separator": "~",
3215
3564
  "start-placeholder": "Start date",
3216
3565
  "end-placeholder": "End date",
3217
3566
  shortcuts: t.datePickerOptions.shortcuts,
3218
3567
  disabledDate: t.datePickerOptions.disabledDate,
3219
- onCalendarChange: h.handlePickDate,
3220
- onChange: h.handleDateRange
3568
+ onCalendarChange: o.handlePickDate,
3569
+ onChange: o.handleDateRange
3221
3570
  }, null, 8, ["modelValue", "shortcuts", "disabledDate", "onCalendarChange", "onChange"])
3222
3571
  ], 512), [
3223
- [Oe, ((Z = t.meteoData) == null ? void 0 : Z.showDateSelect) && t.menuIndex === 1]
3572
+ [Ye, ((Z = t.meteoData) == null ? void 0 : Z.showDateSelect) && t.menuIndex === 1]
3224
3573
  ])
3225
3574
  ]),
3226
- e[15] || (e[15] = s("div", { id: "weather-icons" }, null, -1)),
3227
- e[16] || (e[16] = s("div", { id: "weather-condition" }, null, -1)),
3228
- e[17] || (e[17] = s("div", { id: "wave-swell" }, null, -1))
3229
- ])) : (V = t.loading) != null && V.meteogramEchart ? (n(), l("div", ft, e[18] || (e[18] = [
3575
+ e[17] || (e[17] = s("div", { id: "weather-icons" }, null, -1)),
3576
+ e[18] || (e[18] = s("div", { id: "weather-condition" }, null, -1)),
3577
+ e[19] || (e[19] = s("div", { id: "wave-swell" }, null, -1))
3578
+ ])) : (V = t.loading) != null && V.meteogramEchart ? (r(), l("div", Dt, e[20] || (e[20] = [
3230
3579
  s("img", {
3231
3580
  style: { height: "200px" },
3232
3581
  src: He
3233
3582
  }, null, -1)
3234
- ]))) : (n(), l("div", Dt, "No Data"))
3235
- ])) : Qe("", !0),
3236
- t.menuIndex === 2 ? (n(), l("div", yt, [
3237
- (_ = t.position) != null && _.name && a.token && !(($ = t.loading) != null && $.weatherEchart) ? (n(), l("div", Bt)) : (ee = t.loading) != null && ee.weatherEchart ? (n(), l("div", xt, e[19] || (e[19] = [
3583
+ ]))) : (r(), l("div", Bt, "No Data"))
3584
+ ])) : ke("", !0),
3585
+ t.menuIndex === 2 ? (r(), l("div", xt, [
3586
+ ($ = t.position) != null && $.name && a.token && !((ee = t.loading) != null && ee.weatherEchart) ? (r(), l("div", bt)) : (te = t.loading) != null && te.weatherEchart ? (r(), l("div", Ct, e[21] || (e[21] = [
3238
3587
  s("img", {
3239
3588
  style: { height: "200px" },
3240
3589
  src: He
3241
3590
  }, null, -1)
3242
- ]))) : (n(), l("div", vt, "No Data"))
3243
- ])) : Qe("", !0),
3244
- t.menuIndex === 2 ? (n(), l("div", Ct, [
3245
- (te = t.position) != null && te.name && a.token && !((c = t.loading) != null && c.hoursTable) ? (n(), l("div", It, [
3246
- s("div", bt, p(t.pickedWeek) + " " + p(h.computeMMMDDLT(t.pickedDate)), 1),
3247
- s("table", Et, [
3248
- s("tr", Qt, [
3249
- e[20] || (e[20] = s("th", {
3591
+ ]))) : (r(), l("div", It, "No Data"))
3592
+ ])) : ke("", !0),
3593
+ t.menuIndex === 2 ? (r(), l("div", Et, [
3594
+ (c = t.position) != null && c.name && a.token && !((F = t.loading) != null && F.hoursTable) ? (r(), l("div", Qt, [
3595
+ s("div", Mt, p(t.pickedWeek) + " " + p(o.computeMMMDDLT(t.pickedDate)), 1),
3596
+ s("table", kt, [
3597
+ s("tr", Lt, [
3598
+ e[22] || (e[22] = s("th", {
3250
3599
  rowspan: "1",
3251
3600
  colspan: "1",
3252
3601
  class: "td-title"
3253
3602
  }, [
3254
- ne("Local time"),
3603
+ oe("Local time"),
3255
3604
  s("span", { class: "unit" }, "(LT)")
3256
3605
  ], -1)),
3257
- (n(!0), l(me, null, ue(t.hoursTableData.hours, (i, w) => (n(), l("th", {
3606
+ (r(!0), l(we, null, pe(t.hoursTableData.hours, (i, w) => (r(), l("th", {
3258
3607
  key: `${i}${w}hoursLT`,
3259
3608
  rowspan: "1",
3260
3609
  colspan: "1",
3261
- class: we(t.activeIndex === w ? "active" : "")
3262
- }, p(h.computeHourLT(i)), 3))), 128))
3610
+ class: me(t.activeIndex === w ? "active" : "")
3611
+ }, p(o.computeHourLT(i)), 3))), 128))
3263
3612
  ]),
3264
- s("tr", Mt, [
3265
- e[21] || (e[21] = s("th", {
3613
+ s("tr", zt, [
3614
+ e[23] || (e[23] = s("th", {
3266
3615
  rowspan: "1",
3267
3616
  colspan: "1",
3268
3617
  class: "td-title"
3269
3618
  }, [
3270
- ne("UTC"),
3619
+ oe("UTC"),
3271
3620
  s("span", { class: "unit" })
3272
3621
  ], -1)),
3273
- (n(!0), l(me, null, ue(t.hoursTableData.hours, (i, w) => (n(), l("th", {
3622
+ (r(!0), l(we, null, pe(t.hoursTableData.hours, (i, w) => (r(), l("th", {
3274
3623
  key: `${i}${w}hoursLZ`,
3275
3624
  rowspan: "1",
3276
3625
  colspan: "1",
3277
- class: we(t.activeIndex === w ? "active" : "")
3278
- }, p(h.computeHourZ(i)), 3))), 128))
3626
+ class: me(t.activeIndex === w ? "active" : "")
3627
+ }, p(o.computeHourZ(i)), 3))), 128))
3279
3628
  ]),
3280
- s("tr", Lt, [
3281
- e[22] || (e[22] = s("td", {
3629
+ s("tr", Ht, [
3630
+ e[24] || (e[24] = s("td", {
3282
3631
  rowspan: "1",
3283
3632
  colspan: "1",
3284
3633
  class: "td-title"
3285
3634
  }, [
3286
- ne("Weather"),
3635
+ oe("Weather"),
3287
3636
  s("span", { class: "unit" })
3288
3637
  ], -1)),
3289
- (n(!0), l(me, null, ue(t.hoursTableData.weatherUrls, (i, w) => (n(), l("td", {
3638
+ (r(!0), l(we, null, pe(t.hoursTableData.weatherUrls, (i, w) => (r(), l("td", {
3290
3639
  key: `${i}${w}weatherUrls-weatherNames`,
3291
3640
  rowspan: "1",
3292
3641
  colspan: "1",
3293
- class: we(t.activeIndex === w ? "active" : "")
3642
+ class: me(t.activeIndex === w ? "active" : "")
3294
3643
  }, [
3295
- be(k, {
3644
+ be(I, {
3296
3645
  placement: "top",
3297
3646
  effect: "light",
3298
3647
  content: t.hoursTableData.weatherNames[w],
3299
3648
  "show-after": 500
3300
3649
  }, {
3301
- default: Le(() => [
3302
- i ? (n(), l("img", {
3650
+ default: Ee(() => [
3651
+ i ? (r(), l("img", {
3303
3652
  key: 0,
3304
3653
  class: "iconfont weather-icon",
3305
3654
  src: i
3306
- }, null, 8, kt)) : Qe("", !0)
3655
+ }, null, 8, Pt)) : ke("", !0)
3307
3656
  ]),
3308
3657
  _: 2
3309
3658
  }, 1032, ["content"])
3310
3659
  ], 2))), 128))
3311
3660
  ]),
3312
- s("tr", zt, [
3313
- e[23] || (e[23] = s("td", {
3661
+ s("tr", Nt, [
3662
+ e[25] || (e[25] = s("td", {
3314
3663
  rowspan: "1",
3315
3664
  colspan: "1",
3316
3665
  class: "td-title"
3317
3666
  }, [
3318
- ne("Temperature"),
3667
+ oe("Temperature"),
3319
3668
  s("span", { class: "unit" }, "°C")
3320
3669
  ], -1)),
3321
- (n(!0), l(me, null, ue(t.hoursTableData.temp, (i, w) => (n(), l("td", {
3670
+ (r(!0), l(we, null, pe(t.hoursTableData.temp, (i, w) => (r(), l("td", {
3322
3671
  key: `${i}${w}temp`,
3323
3672
  rowspan: "1",
3324
3673
  colspan: "1",
3325
- class: we(t.activeIndex === w ? "active" : "")
3674
+ class: me(t.activeIndex === w ? "active" : "")
3326
3675
  }, p(i), 3))), 128))
3327
3676
  ]),
3328
- s("tr", Ht, [
3329
- e[24] || (e[24] = s("td", {
3677
+ s("tr", Tt, [
3678
+ e[26] || (e[26] = s("td", {
3330
3679
  rowspan: "1",
3331
3680
  colspan: "1",
3332
3681
  class: "td-title"
3333
3682
  }, [
3334
- ne("Precipitation Probability"),
3683
+ oe("Precipitation Probability"),
3335
3684
  s("span", { class: "unit" }, "%")
3336
3685
  ], -1)),
3337
- (n(!0), l(me, null, ue(t.hoursTableData.precipProbability, (i, w) => (n(), l("td", {
3686
+ (r(!0), l(we, null, pe(t.hoursTableData.precipProbability, (i, w) => (r(), l("td", {
3338
3687
  key: `${i}${w}precipProbability`,
3339
3688
  rowspan: "1",
3340
3689
  colspan: "1",
3341
- class: we(t.activeIndex === w ? "active" : "")
3690
+ class: me(t.activeIndex === w ? "active" : "")
3342
3691
  }, p(i), 3))), 128))
3343
3692
  ]),
3344
- s("tr", Pt, [
3345
- e[25] || (e[25] = s("td", {
3693
+ s("tr", Gt, [
3694
+ e[27] || (e[27] = s("td", {
3346
3695
  rowspan: "1",
3347
3696
  colspan: "1",
3348
3697
  class: "td-title"
3349
3698
  }, [
3350
- ne("Precipitation 1h"),
3699
+ oe("Precipitation 1h"),
3351
3700
  s("span", { class: "unit" }, "mm")
3352
3701
  ], -1)),
3353
- (n(!0), l(me, null, ue(t.hoursTableData.precip1h, (i, w) => (n(), l("td", {
3702
+ (r(!0), l(we, null, pe(t.hoursTableData.precip1h, (i, w) => (r(), l("td", {
3354
3703
  key: `${i}${w}precip1h`,
3355
3704
  rowspan: "1",
3356
3705
  colspan: "1",
3357
- class: we(t.activeIndex === w ? "active" : "")
3706
+ class: me(t.activeIndex === w ? "active" : "")
3358
3707
  }, p(i), 3))), 128))
3359
3708
  ]),
3360
- s("tr", Nt, [
3361
- e[26] || (e[26] = s("td", {
3709
+ s("tr", St, [
3710
+ e[28] || (e[28] = s("td", {
3362
3711
  rowspan: "1",
3363
3712
  colspan: "1",
3364
3713
  class: "td-title"
3365
3714
  }, [
3366
- ne("Visibility"),
3715
+ oe("Visibility"),
3367
3716
  s("span", { class: "unit" }, "nm")
3368
3717
  ], -1)),
3369
- (n(!0), l(me, null, ue(t.hoursTableData.visibility, (i, w) => (n(), l("td", {
3718
+ (r(!0), l(we, null, pe(t.hoursTableData.visibility, (i, w) => (r(), l("td", {
3370
3719
  key: `${i}${w}visibility`,
3371
3720
  rowspan: "1",
3372
3721
  colspan: "1",
3373
- class: we(t.activeIndex === w ? "active" : "")
3722
+ class: me(t.activeIndex === w ? "active" : "")
3374
3723
  }, p(i), 3))), 128))
3375
3724
  ]),
3376
- s("tr", Tt, [
3377
- e[27] || (e[27] = s("td", {
3725
+ s("tr", Ft, [
3726
+ e[29] || (e[29] = s("td", {
3378
3727
  rowspan: "1",
3379
3728
  colspan: "1",
3380
3729
  class: "td-title"
3381
3730
  }, [
3382
- ne("Relative Humidity"),
3731
+ oe("Relative Humidity"),
3383
3732
  s("span", { class: "unit" }, "%")
3384
3733
  ], -1)),
3385
- (n(!0), l(me, null, ue(t.hoursTableData.humidity, (i, w) => (n(), l("td", {
3734
+ (r(!0), l(we, null, pe(t.hoursTableData.humidity, (i, w) => (r(), l("td", {
3386
3735
  key: `${i}${w}humidity`,
3387
3736
  rowspan: "1",
3388
3737
  colspan: "1",
3389
- class: we(t.activeIndex === w ? "active" : "")
3738
+ class: me(t.activeIndex === w ? "active" : "")
3390
3739
  }, p(i), 3))), 128))
3391
3740
  ]),
3392
- s("tr", Gt, [
3393
- e[28] || (e[28] = s("td", {
3741
+ s("tr", _t, [
3742
+ e[30] || (e[30] = s("td", {
3394
3743
  rowspan: "1",
3395
3744
  colspan: "1",
3396
3745
  class: "td-title"
3397
3746
  }, [
3398
- ne("Wind direction"),
3747
+ oe("Wind direction"),
3399
3748
  s("span", { class: "unit" })
3400
3749
  ], -1)),
3401
- (n(!0), l(me, null, ue(t.hoursTableData.windDir, (i, w) => (n(), l("td", {
3750
+ (r(!0), l(we, null, pe(t.hoursTableData.windDir, (i, w) => (r(), l("td", {
3402
3751
  key: `${i}${w}windDir`,
3403
3752
  rowspan: "1",
3404
3753
  colspan: "1",
3405
- class: we(t.activeIndex === w ? "active" : "")
3754
+ class: me(t.activeIndex === w ? "active" : "")
3406
3755
  }, [
3407
- isNaN(i) ? (n(), l("span", St, "-")) : (n(), l("span", {
3756
+ isNaN(i) ? (r(), l("span", Ot, "-")) : (r(), l("span", {
3408
3757
  key: 0,
3409
3758
  class: "iconfont icon",
3410
- style: Ce({ display: "inline-block", transform: `rotate(${i}deg)` })
3759
+ style: Ie({ display: "inline-block", transform: `rotate(${i}deg)` })
3411
3760
  }, "", 4))
3412
3761
  ], 2))), 128))
3413
3762
  ]),
3414
- s("tr", Ft, [
3415
- e[29] || (e[29] = s("td", {
3763
+ s("tr", Yt, [
3764
+ e[31] || (e[31] = s("td", {
3416
3765
  rowspan: "1",
3417
3766
  colspan: "1",
3418
3767
  class: "td-title"
3419
3768
  }, [
3420
- ne("Wind speed"),
3769
+ oe("Wind speed"),
3421
3770
  s("span", { class: "unit" }, "kts")
3422
3771
  ], -1)),
3423
- (n(!0), l(me, null, ue(t.hoursTableData.windSpeed, (i, w) => (n(), l("td", {
3772
+ (r(!0), l(we, null, pe(t.hoursTableData.windSpeed, (i, w) => (r(), l("td", {
3424
3773
  key: `${i}${w}windSpeed`,
3425
3774
  rowspan: "1",
3426
3775
  colspan: "1",
3427
- class: we(t.activeIndex === w ? "active" : "")
3776
+ class: me(t.activeIndex === w ? "active" : "")
3428
3777
  }, p(i), 3))), 128))
3429
3778
  ]),
3430
- s("tr", Ot, [
3431
- e[30] || (e[30] = s("td", {
3779
+ s("tr", jt, [
3780
+ e[32] || (e[32] = s("td", {
3432
3781
  rowspan: "1",
3433
3782
  colspan: "1",
3434
3783
  class: "td-title"
3435
3784
  }, [
3436
- ne("Wind gust"),
3785
+ oe("Wind gust"),
3437
3786
  s("span", { class: "unit" }, "kts")
3438
3787
  ], -1)),
3439
- (n(!0), l(me, null, ue(t.hoursTableData.windGust, (i, w) => (n(), l("td", {
3788
+ (r(!0), l(we, null, pe(t.hoursTableData.windGust, (i, w) => (r(), l("td", {
3440
3789
  key: `${i}${w}windGust`,
3441
3790
  rowspan: "1",
3442
3791
  colspan: "1",
3443
- class: we(t.activeIndex === w ? "active" : "")
3792
+ class: me(t.activeIndex === w ? "active" : "")
3444
3793
  }, p(i), 3))), 128))
3445
3794
  ])
3446
3795
  ]),
3447
- e[42] || (e[42] = s("div", { style: { "text-align": "center", padding: "3px" } }, null, -1)),
3448
- s("table", Yt, [
3449
- s("tr", jt, [
3450
- e[31] || (e[31] = s("td", {
3796
+ e[44] || (e[44] = s("div", { style: { "text-align": "center", padding: "3px" } }, null, -1)),
3797
+ s("table", Kt, [
3798
+ s("tr", Ut, [
3799
+ e[33] || (e[33] = s("td", {
3451
3800
  rowspan: "1",
3452
3801
  colspan: "1",
3453
3802
  class: "td-title"
3454
3803
  }, [
3455
- ne("Wind wave height"),
3804
+ oe("Wind wave height"),
3456
3805
  s("span", { class: "unit" }, "m")
3457
3806
  ], -1)),
3458
- (n(!0), l(me, null, ue(t.hoursTableData.windwaveHeight, (i, w) => (n(), l("td", {
3807
+ (r(!0), l(we, null, pe(t.hoursTableData.windwaveHeight, (i, w) => (r(), l("td", {
3459
3808
  key: `${i}${w}windwaveHeight`,
3460
3809
  rowspan: "1",
3461
3810
  colspan: "1",
3462
- class: we(t.activeIndex === w ? "active" : "")
3811
+ class: me(t.activeIndex === w ? "active" : "")
3463
3812
  }, p(i), 3))), 128))
3464
3813
  ]),
3465
- s("tr", Kt, [
3466
- e[32] || (e[32] = s("td", {
3814
+ s("tr", Wt, [
3815
+ e[34] || (e[34] = s("td", {
3467
3816
  rowspan: "1",
3468
3817
  colspan: "1",
3469
3818
  class: "td-title"
3470
3819
  }, [
3471
- ne("Wind wave direction"),
3820
+ oe("Wind wave direction"),
3472
3821
  s("span", { class: "unit" })
3473
3822
  ], -1)),
3474
- (n(!0), l(me, null, ue(t.hoursTableData.windwaveDir, (i, w) => (n(), l("td", {
3823
+ (r(!0), l(we, null, pe(t.hoursTableData.windwaveDir, (i, w) => (r(), l("td", {
3475
3824
  key: `${i}${w}windwaveDir`,
3476
3825
  rowspan: "1",
3477
3826
  colspan: "1",
3478
- class: we(t.activeIndex === w ? "active" : "")
3827
+ class: me(t.activeIndex === w ? "active" : "")
3479
3828
  }, [
3480
- isNaN(i) ? (n(), l("span", Ut, "-")) : (n(), l("span", {
3829
+ isNaN(i) ? (r(), l("span", Rt, "-")) : (r(), l("span", {
3481
3830
  key: 0,
3482
3831
  class: "iconfont icon",
3483
- style: Ce({ display: "inline-block", transform: `rotate(${i}deg)` })
3832
+ style: Ie({ display: "inline-block", transform: `rotate(${i}deg)` })
3484
3833
  }, "", 4))
3485
3834
  ], 2))), 128))
3486
3835
  ]),
3487
- s("tr", Rt, [
3488
- e[33] || (e[33] = s("td", {
3836
+ s("tr", Xt, [
3837
+ e[35] || (e[35] = s("td", {
3489
3838
  rowspan: "1",
3490
3839
  colspan: "1",
3491
3840
  class: "td-title"
3492
3841
  }, [
3493
- ne("Wind wave period"),
3842
+ oe("Wind wave period"),
3494
3843
  s("span", { class: "unit" }, "s")
3495
3844
  ], -1)),
3496
- (n(!0), l(me, null, ue(t.hoursTableData.windwavePeriod, (i, w) => (n(), l("td", {
3845
+ (r(!0), l(we, null, pe(t.hoursTableData.windwavePeriod, (i, w) => (r(), l("td", {
3497
3846
  key: `${i}${w}windwavePeriod`,
3498
3847
  rowspan: "1",
3499
3848
  colspan: "1",
3500
- class: we(t.activeIndex === w ? "active" : "")
3849
+ class: me(t.activeIndex === w ? "active" : "")
3501
3850
  }, p(i), 3))), 128))
3502
3851
  ]),
3503
- s("tr", Xt, [
3504
- e[34] || (e[34] = s("td", {
3852
+ s("tr", qt, [
3853
+ e[36] || (e[36] = s("td", {
3505
3854
  rowspan: "1",
3506
3855
  colspan: "1",
3507
3856
  class: "td-title"
3508
3857
  }, [
3509
- ne("Swell height"),
3858
+ oe("Swell height"),
3510
3859
  s("span", { class: "unit" }, "m")
3511
3860
  ], -1)),
3512
- (n(!0), l(me, null, ue(t.hoursTableData.swellHeight, (i, w) => (n(), l("td", {
3861
+ (r(!0), l(we, null, pe(t.hoursTableData.swellHeight, (i, w) => (r(), l("td", {
3513
3862
  key: `${i}${w}swellHeight`,
3514
3863
  rowspan: "1",
3515
3864
  colspan: "1",
3516
- class: we(t.activeIndex === w ? "active" : "")
3865
+ class: me(t.activeIndex === w ? "active" : "")
3517
3866
  }, p(i), 3))), 128))
3518
3867
  ]),
3519
- s("tr", Wt, [
3520
- e[35] || (e[35] = s("td", {
3868
+ s("tr", Jt, [
3869
+ e[37] || (e[37] = s("td", {
3521
3870
  rowspan: "1",
3522
3871
  colspan: "1",
3523
3872
  class: "td-title"
3524
3873
  }, [
3525
- ne("Swell direction"),
3874
+ oe("Swell direction"),
3526
3875
  s("span", { class: "unit" })
3527
3876
  ], -1)),
3528
- (n(!0), l(me, null, ue(t.hoursTableData.swellDir, (i, w) => (n(), l("td", {
3877
+ (r(!0), l(we, null, pe(t.hoursTableData.swellDir, (i, w) => (r(), l("td", {
3529
3878
  key: `${i}${w}swellDir`,
3530
3879
  rowspan: "1",
3531
3880
  colspan: "1",
3532
- class: we(t.activeIndex === w ? "active" : "")
3881
+ class: me(t.activeIndex === w ? "active" : "")
3533
3882
  }, [
3534
- isNaN(i) ? (n(), l("span", Jt, "-")) : (n(), l("span", {
3883
+ isNaN(i) ? (r(), l("span", Zt, "-")) : (r(), l("span", {
3535
3884
  key: 0,
3536
3885
  class: "iconfont icon",
3537
- style: Ce({ display: "inline-block", transform: `rotate(${i}deg)` })
3886
+ style: Ie({ display: "inline-block", transform: `rotate(${i}deg)` })
3538
3887
  }, "", 4))
3539
3888
  ], 2))), 128))
3540
3889
  ]),
3541
- s("tr", qt, [
3542
- e[36] || (e[36] = s("td", {
3890
+ s("tr", Vt, [
3891
+ e[38] || (e[38] = s("td", {
3543
3892
  rowspan: "1",
3544
3893
  colspan: "1",
3545
3894
  class: "td-title"
3546
3895
  }, [
3547
- ne("Swell period"),
3896
+ oe("Swell period"),
3548
3897
  s("span", { class: "unit" }, "s")
3549
3898
  ], -1)),
3550
- (n(!0), l(me, null, ue(t.hoursTableData.swellPeriod, (i, w) => (n(), l("td", {
3899
+ (r(!0), l(we, null, pe(t.hoursTableData.swellPeriod, (i, w) => (r(), l("td", {
3551
3900
  key: `${i}${w}swellPeriod`,
3552
3901
  rowspan: "1",
3553
3902
  colspan: "1",
3554
- class: we(t.activeIndex === w ? "active" : "")
3903
+ class: me(t.activeIndex === w ? "active" : "")
3555
3904
  }, p(i), 3))), 128))
3556
3905
  ]),
3557
- s("tr", Zt, [
3558
- e[37] || (e[37] = s("td", {
3906
+ s("tr", $t, [
3907
+ e[39] || (e[39] = s("td", {
3559
3908
  rowspan: "1",
3560
3909
  colspan: "1",
3561
3910
  class: "td-title"
3562
3911
  }, [
3563
- ne("Sig wave height"),
3912
+ oe("Sig wave height"),
3564
3913
  s("span", { class: "unit" }, "m")
3565
3914
  ], -1)),
3566
- (n(!0), l(me, null, ue(t.hoursTableData.sigwaveHeight, (i, w) => (n(), l("td", {
3915
+ (r(!0), l(we, null, pe(t.hoursTableData.sigwaveHeight, (i, w) => (r(), l("td", {
3567
3916
  key: `${i}${w}sigwaveHeight`,
3568
3917
  rowspan: "1",
3569
3918
  colspan: "1",
3570
- class: we(t.activeIndex === w ? "active" : "")
3919
+ class: me(t.activeIndex === w ? "active" : "")
3571
3920
  }, p(i), 3))), 128))
3572
3921
  ]),
3573
- s("tr", Vt, [
3574
- e[38] || (e[38] = s("td", {
3922
+ s("tr", es, [
3923
+ e[40] || (e[40] = s("td", {
3575
3924
  rowspan: "1",
3576
3925
  colspan: "1",
3577
3926
  class: "td-title"
3578
3927
  }, [
3579
- ne("Current direction"),
3928
+ oe("Current direction"),
3580
3929
  s("span", { class: "unit" })
3581
3930
  ], -1)),
3582
- (n(!0), l(me, null, ue(t.hoursTableData.currentDir, (i, w) => (n(), l("td", {
3931
+ (r(!0), l(we, null, pe(t.hoursTableData.currentDir, (i, w) => (r(), l("td", {
3583
3932
  key: `${i}${w}currentDir`,
3584
3933
  rowspan: "1",
3585
3934
  colspan: "1",
3586
- class: we(t.activeIndex === w ? "active" : "")
3935
+ class: me(t.activeIndex === w ? "active" : "")
3587
3936
  }, [
3588
- isNaN(i) ? (n(), l("span", _t, "-")) : (n(), l("span", {
3937
+ isNaN(i) ? (r(), l("span", ts, "-")) : (r(), l("span", {
3589
3938
  key: 0,
3590
3939
  class: "iconfont icon",
3591
- style: Ce({ display: "inline-block", transform: `rotate(${i}deg)` })
3940
+ style: Ie({ display: "inline-block", transform: `rotate(${i}deg)` })
3592
3941
  }, "", 4))
3593
3942
  ], 2))), 128))
3594
3943
  ]),
3595
- s("tr", $t, [
3596
- e[39] || (e[39] = s("td", {
3944
+ s("tr", ss, [
3945
+ e[41] || (e[41] = s("td", {
3597
3946
  rowspan: "1",
3598
3947
  colspan: "1",
3599
3948
  class: "td-title"
3600
3949
  }, [
3601
- ne("Current speed"),
3950
+ oe("Current speed"),
3602
3951
  s("span", { class: "unit" }, "kts")
3603
3952
  ], -1)),
3604
- (n(!0), l(me, null, ue(t.hoursTableData.currentSpeed, (i, w) => (n(), l("td", {
3953
+ (r(!0), l(we, null, pe(t.hoursTableData.currentSpeed, (i, w) => (r(), l("td", {
3605
3954
  key: `${i}${w}currentSpeed`,
3606
3955
  rowspan: "1",
3607
3956
  colspan: "1",
3608
- class: we(t.activeIndex === w ? "active" : "")
3957
+ class: me(t.activeIndex === w ? "active" : "")
3609
3958
  }, p(i), 3))), 128))
3610
3959
  ])
3611
3960
  ]),
3612
- e[43] || (e[43] = s("div", { style: { "text-align": "center", padding: "3px" } }, null, -1)),
3613
- s("table", es, [
3614
- s("tr", ts, [
3615
- e[40] || (e[40] = s("td", {
3961
+ e[45] || (e[45] = s("div", { style: { "text-align": "center", padding: "3px" } }, null, -1)),
3962
+ s("table", as, [
3963
+ s("tr", is, [
3964
+ e[42] || (e[42] = s("td", {
3616
3965
  rowspan: "1",
3617
3966
  colspan: "1",
3618
3967
  class: "td-title"
3619
3968
  }, [
3620
- ne("Sea level height"),
3969
+ oe("Sea level height"),
3621
3970
  s("span", { class: "unit" }, "m")
3622
3971
  ], -1)),
3623
- (n(!0), l(me, null, ue(t.hoursTableData.seaLevel, (i, w) => (n(), l("td", {
3972
+ (r(!0), l(we, null, pe(t.hoursTableData.seaLevel, (i, w) => (r(), l("td", {
3624
3973
  key: `${i}${w}seaLevel`,
3625
3974
  rowspan: "1",
3626
3975
  colspan: "1",
3627
- class: we(t.activeIndex === w ? "active" : "")
3976
+ class: me(t.activeIndex === w ? "active" : "")
3628
3977
  }, p(i), 3))), 128))
3629
3978
  ]),
3630
- s("tr", ss, [
3631
- e[41] || (e[41] = s("td", {
3979
+ s("tr", os, [
3980
+ e[43] || (e[43] = s("td", {
3632
3981
  rowspan: "1",
3633
3982
  colspan: "1",
3634
3983
  class: "td-title"
3635
3984
  }, [
3636
- ne("Sea surface temperature"),
3985
+ oe("Sea surface temperature"),
3637
3986
  s("span", { class: "unit" }, "°C")
3638
3987
  ], -1)),
3639
- (n(!0), l(me, null, ue(t.hoursTableData.seaTemp, (i, w) => (n(), l("td", {
3988
+ (r(!0), l(we, null, pe(t.hoursTableData.seaTemp, (i, w) => (r(), l("td", {
3640
3989
  key: `${i}${w}seaTemp`,
3641
3990
  rowspan: "1",
3642
3991
  colspan: "1",
3643
- class: we(t.activeIndex === w ? "active" : "")
3992
+ class: me(t.activeIndex === w ? "active" : "")
3644
3993
  }, p(i), 3))), 128))
3645
3994
  ])
3646
3995
  ])
3647
- ])) : (N = t.loading) != null && N.hoursTable ? (n(), l("div", as, e[44] || (e[44] = [
3996
+ ])) : (T = t.loading) != null && T.hoursTable ? (r(), l("div", ns, e[46] || (e[46] = [
3648
3997
  s("img", {
3649
3998
  style: { height: "200px" },
3650
3999
  src: He
3651
4000
  }, null, -1)
3652
- ]))) : (n(), l("div", is, "No Data"))
3653
- ])) : Qe("", !0),
3654
- t.menuIndex === 3 ? (n(), l("div", os, [
3655
- (z = t.position) != null && z.name && a.token && !((L = t.loading) != null && L.daysTable) ? (n(), l("div", ns, [
3656
- e[56] || (e[56] = s("div", { class: "date" }, "Daily Forecast", -1)),
3657
- s("table", rs, [
3658
- e[54] || (e[54] = s("tr", { class: "day tr-title" }, [
4001
+ ]))) : (r(), l("div", rs, "No Data"))
4002
+ ])) : ke("", !0),
4003
+ t.menuIndex === 3 ? (r(), l("div", ls, [
4004
+ (N = t.position) != null && N.name && a.token && !((m = t.loading) != null && m.daysTable) ? (r(), l("div", As, [
4005
+ e[58] || (e[58] = s("div", { class: "date" }, "Daily Forecast", -1)),
4006
+ s("table", hs, [
4007
+ e[56] || (e[56] = s("tr", { class: "day tr-title" }, [
3659
4008
  s("th", {
3660
4009
  rowspan: "1",
3661
4010
  colspan: "1"
@@ -3681,7 +4030,7 @@ function ka(o, e, a, r, t, h) {
3681
4030
  class: "text-align-left"
3682
4031
  }, "Wave")
3683
4032
  ], -1)),
3684
- e[55] || (e[55] = s("tr", { class: "hour tr-title border-bottom" }, [
4033
+ e[57] || (e[57] = s("tr", { class: "hour tr-title border-bottom" }, [
3685
4034
  s("th", {
3686
4035
  rowspan: "1",
3687
4036
  colspan: "1",
@@ -3749,93 +4098,93 @@ function ka(o, e, a, r, t, h) {
3749
4098
  style: { width: "75px" }
3750
4099
  }, "Sig.wave_max")
3751
4100
  ], -1)),
3752
- (n(!0), l(me, null, ue(t.daysTableData, (i) => (n(), l("tr", {
4101
+ (r(!0), l(we, null, pe(t.daysTableData, (i) => (r(), l("tr", {
3753
4102
  key: Math.random() + i.localDate,
3754
4103
  class: "text border-bottom"
3755
4104
  }, [
3756
- s("td", ls, [
4105
+ s("td", ds, [
3757
4106
  s("div", null, p(i.localWeek), 1),
3758
4107
  s("div", null, p(i.localDate), 1)
3759
4108
  ]),
3760
- s("td", As, [
3761
- i.weatherUrl ? (n(), l("img", {
4109
+ s("td", gs, [
4110
+ i.weatherUrl ? (r(), l("img", {
3762
4111
  key: 0,
3763
4112
  class: "iconfont weather-icon",
3764
4113
  style: { width: "34px", height: "34px" },
3765
4114
  src: i.weatherUrl
3766
- }, null, 8, hs)) : Qe("", !0)
4115
+ }, null, 8, cs)) : ke("", !0)
3767
4116
  ]),
3768
- s("td", ds, p(i.weatherName), 1),
3769
- s("td", gs, [
3770
- ne(p(i.minTemp) + " / " + p(i.maxTemp), 1),
3771
- e[45] || (e[45] = s("span", { class: "unit" }, "°C", -1))
4117
+ s("td", ws, p(i.weatherName), 1),
4118
+ s("td", ps, [
4119
+ oe(p(i.minTemp) + " / " + p(i.maxTemp), 1),
4120
+ e[47] || (e[47] = s("span", { class: "unit" }, "°C", -1))
3772
4121
  ]),
3773
- s("td", cs, [
3774
- ne(p(i.precipSum), 1),
3775
- e[46] || (e[46] = s("span", { class: "unit" }, "mm", -1))
4122
+ s("td", ms, [
4123
+ oe(p(i.precipSum), 1),
4124
+ e[48] || (e[48] = s("span", { class: "unit" }, "mm", -1))
3776
4125
  ]),
3777
- s("td", ws, [
3778
- ne(p(i.precipRainSum), 1),
3779
- e[47] || (e[47] = s("span", { class: "unit" }, "mm", -1))
4126
+ s("td", us, [
4127
+ oe(p(i.precipRainSum), 1),
4128
+ e[49] || (e[49] = s("span", { class: "unit" }, "mm", -1))
3780
4129
  ]),
3781
- s("td", ps, [
3782
- ne(p(i.precipSnowfallSum), 1),
3783
- e[48] || (e[48] = s("span", { class: "unit" }, "mm", -1))
4130
+ s("td", fs, [
4131
+ oe(p(i.precipSnowfallSum), 1),
4132
+ e[50] || (e[50] = s("span", { class: "unit" }, "mm", -1))
3784
4133
  ]),
3785
- s("td", ms, [
4134
+ s("td", vs, [
3786
4135
  s("span", null, p(i.windSpeedMax), 1),
3787
- e[49] || (e[49] = s("span", { class: "unit" }, "kts", -1)),
3788
- !isNaN(i.windSpeedDir) && !isNaN(i.windSpeedMax) ? (n(), l("span", {
4136
+ e[51] || (e[51] = s("span", { class: "unit" }, "kts", -1)),
4137
+ !isNaN(i.windSpeedDir) && !isNaN(i.windSpeedMax) ? (r(), l("span", {
3789
4138
  key: 0,
3790
4139
  class: "iconfont icon",
3791
- style: Ce({ display: "inline-block", transform: `rotate(${i.windSpeedDir}deg)` })
3792
- }, "", 4)) : (n(), l("span", us, "-"))
4140
+ style: Ie({ display: "inline-block", transform: `rotate(${i.windSpeedDir}deg)` })
4141
+ }, "", 4)) : (r(), l("span", ys, "-"))
3793
4142
  ]),
3794
- s("td", fs, [
4143
+ s("td", Ds, [
3795
4144
  s("span", null, p(i.gustSpeedMax), 1),
3796
- e[50] || (e[50] = s("span", { class: "unit" }, "kts", -1))
4145
+ e[52] || (e[52] = s("span", { class: "unit" }, "kts", -1))
3797
4146
  ]),
3798
- s("td", Ds, [
4147
+ s("td", Bs, [
3799
4148
  s("span", null, p(i.windWaveHeight), 1),
3800
- e[51] || (e[51] = s("span", { class: "unit" }, "m", -1)),
3801
- !isNaN(i.windWaveDir) && !isNaN(i.windWaveHeight) ? (n(), l("span", {
4149
+ e[53] || (e[53] = s("span", { class: "unit" }, "m", -1)),
4150
+ !isNaN(i.windWaveDir) && !isNaN(i.windWaveHeight) ? (r(), l("span", {
3802
4151
  key: 0,
3803
4152
  class: "iconfont icon",
3804
- style: Ce({ display: "inline-block", transform: `rotate(${i.windWaveDir}deg)` })
3805
- }, "", 4)) : (n(), l("span", ys, "-"))
4153
+ style: Ie({ display: "inline-block", transform: `rotate(${i.windWaveDir}deg)` })
4154
+ }, "", 4)) : (r(), l("span", xs, "-"))
3806
4155
  ]),
3807
- s("td", Bs, [
4156
+ s("td", bs, [
3808
4157
  s("span", null, p(i.swellWaveHeight), 1),
3809
- e[52] || (e[52] = s("span", { class: "unit" }, "m", -1)),
3810
- !isNaN(i.swellWaveDir) && !isNaN(i.swellWaveHeight) ? (n(), l("span", {
4158
+ e[54] || (e[54] = s("span", { class: "unit" }, "m", -1)),
4159
+ !isNaN(i.swellWaveDir) && !isNaN(i.swellWaveHeight) ? (r(), l("span", {
3811
4160
  key: 0,
3812
4161
  class: "iconfont icon",
3813
- style: Ce({ display: "inline-block", transform: `rotate(${i.swellWaveDir}deg)` })
3814
- }, "", 4)) : (n(), l("span", xs, "-"))
4162
+ style: Ie({ display: "inline-block", transform: `rotate(${i.swellWaveDir}deg)` })
4163
+ }, "", 4)) : (r(), l("span", Cs, "-"))
3815
4164
  ]),
3816
- s("td", vs, [
4165
+ s("td", Is, [
3817
4166
  s("span", null, p(i.sigWaveHeight), 1),
3818
- e[53] || (e[53] = s("span", { class: "unit" }, "m", -1)),
3819
- !isNaN(i.sigWaveDir) && !isNaN(i.sigWaveHeight) ? (n(), l("span", {
4167
+ e[55] || (e[55] = s("span", { class: "unit" }, "m", -1)),
4168
+ !isNaN(i.sigWaveDir) && !isNaN(i.sigWaveHeight) ? (r(), l("span", {
3820
4169
  key: 0,
3821
4170
  class: "iconfont icon",
3822
- style: Ce({ display: "inline-block", transform: `rotate(${i.sigWaveDir}deg)` })
3823
- }, "", 4)) : (n(), l("span", Cs, "-"))
4171
+ style: Ie({ display: "inline-block", transform: `rotate(${i.sigWaveDir}deg)` })
4172
+ }, "", 4)) : (r(), l("span", Es, "-"))
3824
4173
  ])
3825
4174
  ]))), 128))
3826
4175
  ])
3827
- ])) : (m = t.loading) != null && m.daysTable ? (n(), l("div", Is, e[57] || (e[57] = [
4176
+ ])) : (S = t.loading) != null && S.daysTable ? (r(), l("div", Qs, e[59] || (e[59] = [
3828
4177
  s("img", {
3829
4178
  style: { height: "200px" },
3830
4179
  src: He
3831
4180
  }, null, -1)
3832
- ]))) : (n(), l("div", bs, "No Data"))
3833
- ])) : Qe("", !0),
3834
- t.menuIndex === 1 || t.menuIndex === 3 ? (n(), l("div", Es, [
3835
- (P = t.position) != null && P.name && a.token && !((C = t.loading) != null && C.hourlyTable) ? (n(), l("div", Qs, [
3836
- e[60] || (e[60] = s("div", { class: "date" }, "Hourly Forecast", -1)),
3837
- s("table", Ms, [
3838
- e[58] || (e[58] = s("tr", { class: "day tr-title" }, [
4181
+ ]))) : (r(), l("div", Ms, "No Data"))
4182
+ ])) : ke("", !0),
4183
+ t.menuIndex === 1 || t.menuIndex === 3 ? (r(), l("div", ks, [
4184
+ (M = t.position) != null && M.name && a.token && !((L = t.loading) != null && L.hourlyTable) ? (r(), l("div", Ls, [
4185
+ e[62] || (e[62] = s("div", { class: "date" }, "Hourly Forecast", -1)),
4186
+ s("table", zs, [
4187
+ e[60] || (e[60] = s("tr", { class: "day tr-title" }, [
3839
4188
  s("th", {
3840
4189
  rowspan: "2",
3841
4190
  colspan: "1",
@@ -3888,7 +4237,7 @@ function ka(o, e, a, r, t, h) {
3888
4237
  class: "border"
3889
4238
  }, "Sea Surface")
3890
4239
  ], -1)),
3891
- e[59] || (e[59] = s("tr", { class: "hour tr-title" }, [
4240
+ e[61] || (e[61] = s("tr", { class: "hour tr-title" }, [
3892
4241
  s("th", {
3893
4242
  rowspan: "1",
3894
4243
  colspan: "1",
@@ -3976,133 +4325,133 @@ function ka(o, e, a, r, t, h) {
3976
4325
  class: "border"
3977
4326
  }, "Temp(°C)")
3978
4327
  ], -1)),
3979
- (n(!0), l(me, null, ue(t.hourlyTableData, (i) => (n(), l("tr", {
4328
+ (r(!0), l(we, null, pe(t.hourlyTableData, (i) => (r(), l("tr", {
3980
4329
  key: Math.random() + i.localDate,
3981
4330
  class: "text border-bottom"
3982
4331
  }, [
3983
- s("td", Ls, [
4332
+ s("td", Hs, [
3984
4333
  s("div", null, p(i.localDate), 1)
3985
4334
  ]),
3986
- s("td", ks, [
4335
+ s("td", Ps, [
3987
4336
  s("div", null, p(i.temp), 1)
3988
4337
  ]),
3989
- s("td", zs, p(i.precipSum), 1),
3990
- s("td", Hs, p(i.visibility), 1),
3991
- s("td", Ps, [
3992
- ne(p(i.windDir) + " ", 1),
3993
- !isNaN(i.windBearing) && i.windDir ? (n(), l("span", {
4338
+ s("td", Ns, p(i.precipSum), 1),
4339
+ s("td", Ts, p(i.visibility), 1),
4340
+ s("td", Gs, [
4341
+ oe(p(i.windDir) + " ", 1),
4342
+ !isNaN(i.windBearing) && i.windDir ? (r(), l("span", {
3994
4343
  key: 0,
3995
4344
  class: "iconfont icon",
3996
- style: Ce({ display: "inline-block", transform: `rotate(${i.windBearing}deg)` })
3997
- }, "", 4)) : (n(), l("span", Ns, "-"))
4345
+ style: Ie({ display: "inline-block", transform: `rotate(${i.windBearing}deg)` })
4346
+ }, "", 4)) : (r(), l("span", Ss, "-"))
3998
4347
  ]),
3999
- s("td", Ts, p(i.windSpeed), 1),
4000
- s("td", Gs, p(i.windBF), 1),
4001
- s("td", Ss, p(i.windGusts), 1),
4002
- s("td", Fs, [
4003
- ne(p(i.windWaveDir) + " ", 1),
4004
- !isNaN(i.windWaveBearing) && i.windWaveDir ? (n(), l("span", {
4348
+ s("td", Fs, p(i.windSpeed), 1),
4349
+ s("td", _s, p(i.windBF), 1),
4350
+ s("td", Os, p(i.windGusts), 1),
4351
+ s("td", Ys, [
4352
+ oe(p(i.windWaveDir) + " ", 1),
4353
+ !isNaN(i.windWaveBearing) && i.windWaveDir ? (r(), l("span", {
4005
4354
  key: 0,
4006
4355
  class: "iconfont icon",
4007
- style: Ce({ display: "inline-block", transform: `rotate(${i.windWaveBearing}deg)` })
4008
- }, "", 4)) : (n(), l("span", Os, "-"))
4356
+ style: Ie({ display: "inline-block", transform: `rotate(${i.windWaveBearing}deg)` })
4357
+ }, "", 4)) : (r(), l("span", js, "-"))
4009
4358
  ]),
4010
- s("td", Ys, p(i.windWaveHeight), 1),
4011
- s("td", js, p(i.windWavePeriod), 1),
4012
- s("td", Ks, [
4013
- ne(p(i.sigWaveDir) + " ", 1),
4014
- !isNaN(i.sigWaveBearing) && i.sigWaveDir ? (n(), l("span", {
4359
+ s("td", Ks, p(i.windWaveHeight), 1),
4360
+ s("td", Us, p(i.windWavePeriod), 1),
4361
+ s("td", Ws, [
4362
+ oe(p(i.sigWaveDir) + " ", 1),
4363
+ !isNaN(i.sigWaveBearing) && i.sigWaveDir ? (r(), l("span", {
4015
4364
  key: 0,
4016
4365
  class: "iconfont icon",
4017
- style: Ce({ display: "inline-block", transform: `rotate(${i.sigWaveBearing}deg)` })
4018
- }, "", 4)) : (n(), l("span", Us, "-"))
4366
+ style: Ie({ display: "inline-block", transform: `rotate(${i.sigWaveBearing}deg)` })
4367
+ }, "", 4)) : (r(), l("span", Rs, "-"))
4019
4368
  ]),
4020
- s("td", Rs, p(i.sigWaveHeight), 1),
4021
- s("td", Xs, p(i.sigWavePeriod), 1),
4022
- s("td", Ws, [
4023
- ne(p(i.currentDir) + " ", 1),
4024
- !isNaN(i.currentBearing) && i.currentDir ? (n(), l("span", {
4369
+ s("td", Xs, p(i.sigWaveHeight), 1),
4370
+ s("td", qs, p(i.sigWavePeriod), 1),
4371
+ s("td", Js, [
4372
+ oe(p(i.currentDir) + " ", 1),
4373
+ !isNaN(i.currentBearing) && i.currentDir ? (r(), l("span", {
4025
4374
  key: 0,
4026
4375
  class: "iconfont icon",
4027
- style: Ce({ display: "inline-block", transform: `rotate(${i.currentBearing}deg)` })
4028
- }, "", 4)) : (n(), l("span", Js, "-"))
4376
+ style: Ie({ display: "inline-block", transform: `rotate(${i.currentBearing}deg)` })
4377
+ }, "", 4)) : (r(), l("span", Zs, "-"))
4029
4378
  ]),
4030
- s("td", qs, p(i.currentSpd), 1),
4031
- s("td", Zs, p(i.seaLevel), 1),
4032
- s("td", Vs, p(i.seaSurfaceTemp), 1)
4379
+ s("td", Vs, p(i.currentSpd), 1),
4380
+ s("td", $s, p(i.seaLevel), 1),
4381
+ s("td", ea, p(i.seaSurfaceTemp), 1)
4033
4382
  ]))), 128))
4034
4383
  ])
4035
- ])) : (I = t.loading) != null && I.hourlyTable ? (n(), l("div", _s, e[61] || (e[61] = [
4384
+ ])) : (D = t.loading) != null && D.hourlyTable ? (r(), l("div", ta, e[63] || (e[63] = [
4036
4385
  s("img", {
4037
4386
  style: { height: "200px" },
4038
4387
  src: He
4039
4388
  }, null, -1)
4040
- ]))) : (n(), l("div", $s, "No Data"))
4041
- ])) : Qe("", !0),
4042
- t.menuIndex === 4 ? (n(), l("div", ea, [
4043
- (y = t.position) != null && y.name && a.token && !((he = t.loading) != null && he.seasonalEchart) ? (n(), l("div", ta, [
4044
- s("div", sa, [
4389
+ ]))) : (r(), l("div", sa, "No Data"))
4390
+ ])) : ke("", !0),
4391
+ t.menuIndex === 4 ? (r(), l("div", aa, [
4392
+ (he = t.position) != null && he.name && a.token && !((de = t.loading) != null && de.seasonalEchart) ? (r(), l("div", ia, [
4393
+ s("div", oa, [
4045
4394
  s("div", {
4046
4395
  id: "seasonal-title",
4047
4396
  class: "title flex-start",
4048
- onClick: e[10] || (e[10] = (i) => t.seasonalData.showMonths = !t.seasonalData.showMonths)
4397
+ onClick: e[12] || (e[12] = (i) => t.seasonalData.showMonths = !t.seasonalData.showMonths)
4049
4398
  }, [
4050
- s("div", aa, p((g = (Ae = (de = t.currentMonth) == null ? void 0 : de.month) == null ? void 0 : Ae.split("-")) == null ? void 0 : g[0]) + " " + p((Q = (x = (pe = t.currentMonth) == null ? void 0 : pe.month) == null ? void 0 : x.split("-")) == null ? void 0 : Q[1]), 1),
4051
- s("div", ia, [
4052
- be(U, null, {
4053
- default: Le(() => [
4054
- be(Y)
4399
+ s("div", na, p((ue = (g = (Ae = t.currentMonth) == null ? void 0 : Ae.month) == null ? void 0 : g.split("-")) == null ? void 0 : ue[0]) + " " + p((_ = (z = (E = t.currentMonth) == null ? void 0 : E.month) == null ? void 0 : z.split("-")) == null ? void 0 : _[1]), 1),
4400
+ s("div", ra, [
4401
+ be(B, null, {
4402
+ default: Ee(() => [
4403
+ be(P)
4055
4404
  ]),
4056
4405
  _: 1
4057
4406
  })
4058
4407
  ]),
4059
- Fe(s("div", oa, [
4060
- s("div", na, [
4061
- (n(!0), l(me, null, ue(t.monthsOptions, (i) => {
4408
+ Oe(s("div", la, [
4409
+ s("div", Aa, [
4410
+ (r(!0), l(we, null, pe(t.monthsOptions, (i) => {
4062
4411
  var w;
4063
- return n(), l("div", {
4412
+ return r(), l("div", {
4064
4413
  key: i,
4065
- class: we(["month-option", ((w = t.currentMonth) == null ? void 0 : w.month) === i.month ? "active" : ""]),
4066
- onClick: (ve) => h.handleSelectMonth(i)
4067
- }, p(i.month), 11, ra);
4414
+ class: me(["month-option", ((w = t.currentMonth) == null ? void 0 : w.month) === i.month ? "active" : ""]),
4415
+ onClick: (Qe) => o.handleSelectMonth(i)
4416
+ }, p(i.month), 11, ha);
4068
4417
  }), 128))
4069
4418
  ])
4070
4419
  ], 512), [
4071
- [Oe, t.seasonalData.showMonths]
4420
+ [Ye, t.seasonalData.showMonths]
4072
4421
  ])
4073
4422
  ]),
4074
- e[62] || (e[62] = s("div", { id: "temperature-echart" }, null, -1)),
4075
- e[63] || (e[63] = s("div", { id: "wind-precip-echart" }, null, -1))
4423
+ e[64] || (e[64] = s("div", { id: "temperature-echart" }, null, -1)),
4424
+ e[65] || (e[65] = s("div", { id: "wind-precip-echart" }, null, -1))
4076
4425
  ]),
4077
- s("div", la, [
4078
- s("div", Aa, p((T = t.currentMonth) == null ? void 0 : T.month) + " Summary", 1),
4079
- e[64] || (e[64] = s("div", { class: "label" }, "Temperature", -1)),
4080
- s("div", ha, "Avg High Temp: " + p(t.seasonalData.minHighTemp) + " to " + p(t.seasonalData.maxHighTemp) + " °C", 1),
4081
- s("div", da, "Avg Low Temp: " + p(t.seasonalData.minLowTemp) + " to " + p(t.seasonalData.maxLowTemp) + " °C", 1),
4082
- s("div", ga, "Hottest Day: " + p(t.seasonalData.hottestDay), 1),
4083
- s("div", ca, "Coldest Day: " + p(t.seasonalData.coldestDay), 1),
4084
- e[65] || (e[65] = s("div", { class: "label" }, "Precipitation", -1)),
4085
- s("div", wa, "Light (<10mm): " + p((G = (A = (ce = t.seasonalData) == null ? void 0 : ce.precip) == null ? void 0 : A.filter((i) => i < 10)) == null ? void 0 : G.length) + " days", 1),
4086
- s("div", pa, "Moderate (<=24.9mm): " + p((re = (v = (ie = t.seasonalData) == null ? void 0 : ie.precip) == null ? void 0 : v.filter((i) => i >= 10 && i < 24.9)) == null ? void 0 : re.length) + " days", 1),
4087
- s("div", ma, "Heavy (<=49.9mm): " + p((u = (d = (j = t.seasonalData) == null ? void 0 : j.precip) == null ? void 0 : d.filter((i) => i >= 24.9 && i < 49.9)) == null ? void 0 : u.length) + " days", 1),
4088
- s("div", ua, "Rainstorm (<=99.9mm): " + p((De = (D = (K = t.seasonalData) == null ? void 0 : K.precip) == null ? void 0 : D.filter((i) => i >= 49.9 && i < 99.9)) == null ? void 0 : De.length) + " days", 1),
4089
- s("div", fa, "Heavy Rainstorm (>=100mm): " + p((fe = (oe = (H = t.seasonalData) == null ? void 0 : H.precip) == null ? void 0 : oe.filter((i) => i >= 100)) == null ? void 0 : fe.length) + " days", 1),
4090
- e[66] || (e[66] = s("div", { class: "label" }, "Wind", -1)),
4091
- s("div", Da, "Mean Wind: " + p(h.roundPrecision(t.seasonalData.meanWind, 1)) + " kts", 1),
4092
- s("div", ya, "Windiest Day: " + p(t.seasonalData.windiestDay) + " ( " + p(t.seasonalData.maxWindSpeed) + "kts )", 1),
4093
- s("div", Ba, "Dominant Wind Dir: " + p(t.seasonalData.dominantWind), 1)
4426
+ s("div", da, [
4427
+ s("div", ga, p((ce = t.currentMonth) == null ? void 0 : ce.month) + " Summary", 1),
4428
+ e[66] || (e[66] = s("div", { class: "label" }, "Temperature", -1)),
4429
+ s("div", ca, "Avg High Temp: " + p(t.seasonalData.minHighTemp) + " to " + p(t.seasonalData.maxHighTemp) + " °C", 1),
4430
+ s("div", wa, "Avg Low Temp: " + p(t.seasonalData.minLowTemp) + " to " + p(t.seasonalData.maxLowTemp) + " °C", 1),
4431
+ s("div", pa, "Hottest Day: " + p(t.seasonalData.hottestDay), 1),
4432
+ s("div", ma, "Coldest Day: " + p(t.seasonalData.coldestDay), 1),
4433
+ e[67] || (e[67] = s("div", { class: "label" }, "Precipitation", -1)),
4434
+ s("div", ua, "Light (<10mm): " + p((ae = (O = (A = t.seasonalData) == null ? void 0 : A.precip) == null ? void 0 : O.filter((i) => i < 10)) == null ? void 0 : ae.length) + " days", 1),
4435
+ s("div", fa, "Moderate (<=24.9mm): " + p((j = (le = (Q = t.seasonalData) == null ? void 0 : Q.precip) == null ? void 0 : le.filter((i) => i >= 10 && i < 24.9)) == null ? void 0 : j.length) + " days", 1),
4436
+ s("div", va, "Heavy (<=49.9mm): " + p((K = (f = (d = t.seasonalData) == null ? void 0 : d.precip) == null ? void 0 : f.filter((i) => i >= 24.9 && i < 49.9)) == null ? void 0 : K.length) + " days", 1),
4437
+ s("div", ya, "Rainstorm (<=99.9mm): " + p((G = (ve = (y = t.seasonalData) == null ? void 0 : y.precip) == null ? void 0 : ve.filter((i) => i >= 49.9 && i < 99.9)) == null ? void 0 : G.length) + " days", 1),
4438
+ s("div", Da, "Heavy Rainstorm (>=100mm): " + p((x = (fe = (ie = t.seasonalData) == null ? void 0 : ie.precip) == null ? void 0 : fe.filter((i) => i >= 100)) == null ? void 0 : x.length) + " days", 1),
4439
+ e[68] || (e[68] = s("div", { class: "label" }, "Wind", -1)),
4440
+ s("div", Ba, "Mean Wind: " + p(o.roundPrecision(t.seasonalData.meanWind, 1)) + " kts", 1),
4441
+ s("div", xa, "Windiest Day: " + p(t.seasonalData.windiestDay) + " ( " + p(t.seasonalData.maxWindSpeed) + "kts )", 1),
4442
+ s("div", ba, "Dominant Wind Dir: " + p(t.seasonalData.dominantWind), 1)
4094
4443
  ])
4095
- ])) : (B = t.loading) != null && B.seasonalEchart ? (n(), l("div", xa, e[67] || (e[67] = [
4444
+ ])) : (De = t.loading) != null && De.seasonalEchart ? (r(), l("div", Ca, e[69] || (e[69] = [
4096
4445
  s("img", {
4097
4446
  style: { height: "200px" },
4098
4447
  src: He
4099
4448
  }, null, -1)
4100
- ]))) : (n(), l("div", va, "No Data"))
4101
- ])) : Qe("", !0)
4449
+ ]))) : (r(), l("div", Ia, "No Data"))
4450
+ ])) : ke("", !0)
4102
4451
  ]),
4103
- be(le, {
4452
+ be(Y, {
4104
4453
  modelValue: t.showFollowDialog,
4105
- "onUpdate:modelValue": e[13] || (e[13] = (i) => t.showFollowDialog = i),
4454
+ "onUpdate:modelValue": e[15] || (e[15] = (i) => t.showFollowDialog = i),
4106
4455
  title: t.followDialogTitle,
4107
4456
  modal: !1,
4108
4457
  width: "440",
@@ -4111,47 +4460,47 @@ function ka(o, e, a, r, t, h) {
4111
4460
  class: "follow-dialog",
4112
4461
  "close-on-click-modal": !1
4113
4462
  }, {
4114
- default: Le(() => [
4463
+ default: Ee(() => [
4115
4464
  s("div", null, [
4116
4465
  s("div", {
4117
4466
  class: "iconfont close-btn",
4118
- onClick: e[11] || (e[11] = (i) => t.showFollowDialog = !1)
4467
+ onClick: e[13] || (e[13] = (i) => t.showFollowDialog = !1)
4119
4468
  }, ""),
4120
- t.position.portId ? (n(), l("div", Ca, [
4121
- e[68] || (e[68] = s("span", { class: "label" }, "Port:", -1)),
4122
- s("span", Ia, p(t.position.name), 1)
4123
- ])) : Qe("", !0),
4124
- s("div", ba, [
4125
- e[69] || (e[69] = s("span", { class: "label" }, "Postion:", -1)),
4126
- s("span", Ea, p(this.computeLat(this.position.lat) + ", " + this.computeLng(this.position.lng)), 1)
4469
+ t.position.portId ? (r(), l("div", Ea, [
4470
+ e[70] || (e[70] = s("span", { class: "label" }, "Port:", -1)),
4471
+ s("span", Qa, p(t.position.name), 1)
4472
+ ])) : ke("", !0),
4473
+ s("div", Ma, [
4474
+ e[71] || (e[71] = s("span", { class: "label" }, "Postion:", -1)),
4475
+ s("span", ka, p(this.computeLat(this.position.lat) + ", " + this.computeLng(this.position.lng)), 1)
4127
4476
  ]),
4128
- s("div", Qa, [
4129
- e[70] || (e[70] = s("span", { class: "label" }, "Remark:", -1)),
4130
- t.followItem ? (n(), l("span", Ma, p(t.position.remark || "-"), 1)) : (n(), Ge(se, {
4477
+ s("div", La, [
4478
+ e[72] || (e[72] = s("span", { class: "label" }, "Remark:", -1)),
4479
+ t.followItem ? (r(), l("span", za, p(t.position.remark || "-"), 1)) : (r(), Pe(ne, {
4131
4480
  key: 0,
4132
4481
  modelValue: t.followRemark,
4133
- "onUpdate:modelValue": e[12] || (e[12] = (i) => t.followRemark = i),
4482
+ "onUpdate:modelValue": e[14] || (e[14] = (i) => t.followRemark = i),
4134
4483
  class: "text"
4135
4484
  }, null, 8, ["modelValue"]))
4136
4485
  ]),
4137
- s("div", La, [
4138
- t.followItem ? (n(), Ge(ae, {
4486
+ s("div", Ha, [
4487
+ t.followItem ? (r(), Pe(re, {
4139
4488
  key: 0,
4140
4489
  type: "info",
4141
4490
  plain: "",
4142
- onClick: h.handleClickFollow
4491
+ onClick: o.handleClickFollow
4143
4492
  }, {
4144
- default: Le(() => e[71] || (e[71] = [
4145
- ne("Remove")
4493
+ default: Ee(() => e[73] || (e[73] = [
4494
+ oe("Remove")
4146
4495
  ])),
4147
4496
  _: 1
4148
- }, 8, ["onClick"])) : (n(), Ge(ae, {
4497
+ }, 8, ["onClick"])) : (r(), Pe(re, {
4149
4498
  key: 1,
4150
4499
  type: "primary",
4151
- onClick: h.handleClickFollow
4500
+ onClick: o.handleClickFollow
4152
4501
  }, {
4153
- default: Le(() => e[72] || (e[72] = [
4154
- ne("Confirm")
4502
+ default: Ee(() => e[74] || (e[74] = [
4503
+ oe("Confirm")
4155
4504
  ])),
4156
4505
  _: 1
4157
4506
  }, 8, ["onClick"]))
@@ -4162,12 +4511,12 @@ function ka(o, e, a, r, t, h) {
4162
4511
  }, 8, ["modelValue", "title"])
4163
4512
  ]);
4164
4513
  }
4165
- const za = /* @__PURE__ */ et(tt, [["render", ka], ["__scopeId", "data-v-65025c9e"]]), Fa = {
4166
- install(o) {
4167
- o.component("SpotReport", za);
4514
+ const Na = /* @__PURE__ */ at(it, [["render", Pa], ["__scopeId", "data-v-9a52d1d9"]]), Ya = {
4515
+ install(n) {
4516
+ n.component("SpotReport", Na);
4168
4517
  }
4169
4518
  };
4170
4519
  export {
4171
- za as SpotReport,
4172
- Fa as SpotReportPlugin
4520
+ Na as SpotReport,
4521
+ Ya as SpotReportPlugin
4173
4522
  };