@idmui/spot 0.5.3 → 0.5.4

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.
@@ -1,15 +1,15 @@
1
- (function(me,E){typeof exports=="object"&&typeof module<"u"?E(exports,require("moment"),require("moment-timezone"),require("@element-plus/icons-vue"),require("@idm-plugin/geo"),require("echarts"),require("vue"),require("axios")):typeof define=="function"&&define.amd?define(["exports","moment","moment-timezone","@element-plus/icons-vue","@idm-plugin/geo","echarts","vue","axios"],E):(me=typeof globalThis<"u"?globalThis:me||self,E(me["idmui-spot"]={},me.moment,me["moment-timezone"],me["@element-plus/icons-vue"],me["@idm-plugin/geo"],me.echarts,me.Vue,me.axios))})(this,function(me,E,Y,be,ke,Fe,e,ye){"use strict";function Ve(i){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(i){for(const a in i)if(a!=="default"){const n=Object.getOwnPropertyDescriptor(i,a);Object.defineProperty(t,a,n.get?n:{enumerable:!0,get:()=>i[a]})}}return t.default=i,Object.freeze(t)}const we=Ve(Fe);class De{static pickHourly(t,a){var n,s,l,m,u,N,b,S,G,j,T,ee,te,oe,P,v,U,R,X,W,J,q,Z,_,$,h,z,Q,k,g,L,x,C,f,re,le,ie,c,ce,D,F,I,ne,H,r,K,y,ae,V,A;const p=typeof a=="string"?E(a):a,O=t==null?void 0:t.weather,w=t==null?void 0:t.marine,de=E((s=(n=O==null?void 0:O[0])==null?void 0:n.hourly)==null?void 0:s.date).utc(),M=de.clone().add((u=(m=(l=O==null?void 0:O[0])==null?void 0:l.hourly)==null?void 0:m.time)==null?void 0:u.at(0),"h"),se=de.clone().add((S=(b=(N=O==null?void 0:O[0])==null?void 0:N.hourly)==null?void 0:b.time)==null?void 0:S.at(-1),"h"),he=[];if(p.isBetween(M,se,"millisecond","[]")){const B=p.utc().diff(M,"h",!1);let o,d;if(O){let Be=0,Ee=0;for(const Ae of O){const ge=Ae.hourly;for(let fe=B-(B-1)%3;fe<=B;fe++)Be+=(G=ge.precipitation)==null?void 0:G.at(fe);for(let fe=B-(B-1)%6;fe<=B;fe++)Ee+=(j=ge.precipitation)==null?void 0:j.at(fe);o={temp:(T=ge.temperature_2m)==null?void 0:T.at(B),apparentTemp:(ee=ge.apparent_temperature)==null?void 0:ee.at(B),rh:(te=ge.relative_humidity_2m)==null?void 0:te.at(B),dp:(oe=ge.dew_point_2m)==null?void 0:oe.at(B),precip:{probability:(P=ge.precipitation_probability)==null?void 0:P.at(B),sum:(v=ge.precipitation)==null?void 0:v.at(B),sum3Hours:Math.round(Be*100)/100,sum6Hours:Math.round(Ee*100)/100},pmsl:(U=ge.pressure_msl)==null?void 0:U.at(B),psurf:(R=ge.surface_pressure)==null?void 0:R.at(B),code:(X=ge.weather_code)==null?void 0:X.at(B),visibility:this.m2nm((W=ge.visibility)==null?void 0:W.at(B)),wind:{speed:(J=ge.wind_speed_10m)==null?void 0:J.at(B),kts:(q=ge.wind_speed_10m)==null?void 0:q.at(B),degree:(Z=ge.wind_direction_10m)==null?void 0:Z.at(B),bearing:((_=ge.wind_direction_10m)==null?void 0:_.at(B))!==null?((($=ge.wind_direction_10m)==null?void 0:$.at(B))+180)%360:null,gusts:(h=ge.wind_gusts_10m)==null?void 0:h.at(B)},isDay:(z=ge.is_day)==null?void 0:z.at(B)};const{name:Ce,url:ue,bg:Ie}=this.parseWeatherCode(o.code,o.isDay);o.name=Ce,o.url=ue,o.bg=Ie,o.wind.scale=this.beaufort(this.kts2ms(o.wind.kts)),o.wind.direction=this.degree2Direction(o.wind.degree),he.push({utc:M.add(B,"h").format(),model:Ae.model,weather:{...o}})}}if(w){let Be=0;for(const Ee of w){const Ae=Ee.hourly;d={wave:{sig:{height:(Q=Ae.wave_height)==null?void 0:Q.at(B),degree:(k=Ae.wave_direction)==null?void 0:k.at(B),bearing:((g=Ae.wave_direction)==null?void 0:g.at(B))!==null?(((L=Ae.wave_direction)==null?void 0:L.at(B))+180)%360:null,period:(x=Ae.wave_period)==null?void 0:x.at(B)},swell:{height:(C=Ae.swell_wave_height)==null?void 0:C.at(B),degree:(f=Ae.swell_wave_direction)==null?void 0:f.at(B),bearing:((re=Ae.swell_wave_direction)==null?void 0:re.at(B))!==null?(((le=Ae.swell_wave_direction)==null?void 0:le.at(B))+180)%360:null,period:(ie=Ae.swell_wave_period)==null?void 0:ie.at(B),peakPeriod:(c=Ae.swell_wave_peak_period)==null?void 0:c.at(B)},wd:{height:(ce=Ae.wind_wave_height)==null?void 0:ce.at(B),degree:(D=Ae.wind_wave_direction)==null?void 0:D.at(B),bearing:((F=Ae.wind_wave_direction)==null?void 0:F.at(B))!==null?(((I=Ae.wind_wave_direction)==null?void 0:I.at(B))+180)%360:null,period:(ne=Ae.wind_wave_period)==null?void 0:ne.at(B),peakPeriod:(H=Ae.wind_wave_peak_period)==null?void 0:H.at(B)}},current:{speed:(r=Ae.ocean_current_velocity)==null?void 0:r.at(B),kts:(K=Ae.ocean_current_velocity)==null?void 0:K.at(B),degree:(y=Ae.ocean_current_direction)==null?void 0:y.at(B),bearing:((ae=Ae.ocean_current_direction)==null?void 0:ae.at(B))??null},sst:(V=Ae.sea_surface_temperature)==null?void 0:V.at(B),height:(A=Ae.sea_level_height_msl)==null?void 0:A.at(B)},d.wave=this.parseWave(d.wave),d.current.direction=this.degree2Direction(d.current.degree),Object.assign(he[Be],d),Be++}}}return he}static toLegacy(t){var a,n,s,l,m,u,N,b,S,G;return{wind:(a=t==null?void 0:t.weather)==null?void 0:a.wind,visibility:(n=t==null?void 0:t.weather)==null?void 0:n.visibility,temp:(s=t==null?void 0:t.weather)==null?void 0:s.temp,prmsl:(l=t==null?void 0:t.weather)==null?void 0:l.pmsl,gusts:{kts:(u=(m=t==null?void 0:t.weather)==null?void 0:m.wind)==null?void 0:u.gusts},precip:(N=t==null?void 0:t.weather)==null?void 0:N.precip,code:(b=t==null?void 0:t.weather)==null?void 0:b.code,name:(S=t==null?void 0:t.weather)==null?void 0:S.name,url:(G=t==null?void 0:t.weather)==null?void 0:G.url,wave:t==null?void 0:t.wave,current:t==null?void 0:t.current,sst:t==null?void 0:t.sst,height:t==null?void 0:t.height,utc:t==null?void 0:t.utc,source:t==null?void 0:t.model}}static pickDaily(t,a){var n,s,l,m,u,N,b,S,G,j,T,ee,te,oe,P,v,U,R,X,W,J,q,Z,_,$,h,z,Q,k,g,L,x,C,f,re,le,ie,c,ce,D,F,I,ne,H;const r=typeof a=="string"?E(a):a,K=t==null?void 0:t.weather,y=t==null?void 0:t.marine,ae=E((l=(s=(n=K==null?void 0:K[0])==null?void 0:n.daily)==null?void 0:s.time)==null?void 0:l.at(0)),V=E((N=(u=(m=K==null?void 0:K[0])==null?void 0:m.daily)==null?void 0:u.time)==null?void 0:N.at(-1)),A=[];if(r.isBetween(ae,V,"millisecond","[]")){let p,O;const w=r.diff(ae,"d",!1);if(K)for(const de of K){const M=de.daily;p={code:(b=M.weather_code)==null?void 0:b.at(w),temp:{max:(S=M.temperature_2m_max)==null?void 0:S.at(w),min:(G=M.temperature_2m_min)==null?void 0:G.at(w),mean:(j=M.temperature_2m_mean)==null?void 0:j.at(w)},apparentTemp:{max:(T=M.apparent_temperature_max)==null?void 0:T.at(w),min:(ee=M.apparent_temperature_min)==null?void 0:ee.at(w)},precip:{sum:(te=M.precipitation_sum)==null?void 0:te.at(w),rainSum:(oe=M.rain_sum)==null?void 0:oe.at(w),snowfallSum:(P=M.snowfall_sum)==null?void 0:P.at(w),showersSum:(v=M.showers_sum)==null?void 0:v.at(w),hours:(U=M.precipitation_hours)==null?void 0:U.at(w),probability:(R=M.precipitation_probability_max)==null?void 0:R.at(w)},rh:{max:(X=M.relative_humidity_2m_max)==null?void 0:X.at(w),min:(W=M.relative_humidity_2m_min)==null?void 0:W.at(w),mean:(J=M.relative_humidity_2m_mean)==null?void 0:J.at(w)},wind:{speed:(q=M.wind_speed_10m_max)==null?void 0:q.at(w),kts:(Z=M.wind_speed_10m_max)==null?void 0:Z.at(w),degree:(_=M.wind_direction_10m_dominant)==null?void 0:_.at(w),gusts:($=M.wind_gusts_10m_max)==null?void 0:$.at(w),bearing:((h=M.wind_direction_10m_dominant)==null?void 0:h.at(w))!==null?(((z=M.wind_direction_10m_dominant)==null?void 0:z.at(w))+180)%360:null}};const{name:se,url:he,bg:B}=this.parseWeatherCode(p.code,!0);p.name=se,p.url=he,p.bg=B,p.wind.scale=this.beaufort(this.kts2ms(p.wind.kts)),p.wind.direction=this.degree2Direction(p.wind.degree),A.push({utc:ae.add(w,"d").utc().format(),model:de.model,weather:{...p}})}if(y){let de=0;for(const M of y){const se=M.daily;O={wave:{sig:{height:(Q=se.wave_height_max)==null?void 0:Q.at(w),degree:(k=se.wave_direction_dominant)==null?void 0:k.at(w),period:(g=se.wave_period_max)==null?void 0:g.at(w),bearing:((L=se.wave_direction_dominant)==null?void 0:L.at(w))!==null?(((x=se.wave_direction_dominant)==null?void 0:x.at(w))+180)%360:null},swell:{height:(C=se.swell_wave_height_max)==null?void 0:C.at(w),degree:(f=se.swell_wave_direction_dominant)==null?void 0:f.at(w),period:(re=se.swell_wave_period_max)==null?void 0:re.at(w),peakPeriod:(le=se.swell_wave_peak_period_max)==null?void 0:le.at(w),bearing:((ie=se.swell_wave_direction_dominant)==null?void 0:ie.at(w))!==null?(((c=se.swell_wave_direction_dominant)==null?void 0:c.at(w))+180)%360:null},wd:{height:(ce=se.wind_wave_height_max)==null?void 0:ce.at(w),degree:(D=se.wind_wave_direction_dominant)==null?void 0:D.at(w),period:(F=se.wind_wave_period_max)==null?void 0:F.at(w),peakPeriod:(I=se.wind_wave_peak_period_max)==null?void 0:I.at(w),bearing:((ne=se.wind_wave_direction_dominant)==null?void 0:ne.at(w))!==null?(((H=se.wind_wave_direction_dominant)==null?void 0:H.at(w))+180)%360:null}}},O.wave=this.parseWave(O.wave),Object.assign(A[de],O),de++}}}return A}static parseWave(t){return t.sig.direction=this.degree2Direction(t.sig.degree),t.swell.direction=this.degree2Direction(t.swell.degree),t.wd.direction=this.degree2Direction(t.wd.degree),t.sig.scale=this.douglas(t.sig.height),t.swell.scale=this.douglas(t.swell.height),t.wd.scale=this.douglas(t.wd.height),t}static parseWeatherCode(t,a){const n=this.weatherCode(t);return(a?n.day:n.night)||{}}static weatherCode(t){const a={code:t};switch(t){case 0:a.day={name:"Sunny",url:"https://osshz.idmwx.com/asset/weather/01d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg1.png"},a.night={name:"Clear",url:"https://osshz.idmwx.com/asset/weather/01n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg1.png"};break;case 1:a.day={name:"Mainly Sunny",url:"https://osshz.idmwx.com/asset/weather/01d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg1.png"},a.night={name:"Mainly Clear",url:"https://osshz.idmwx.com/asset/weather/01n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg1.png"};break;case 2:a.day={name:"Partly Cloudy",url:"https://osshz.idmwx.com/asset/weather/02d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg2.png"},a.night={name:"Partly Cloudy",url:"https://osshz.idmwx.com/asset/weather/02n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg2.png"};break;case 3:a.day={name:"Overcast",url:"https://osshz.idmwx.com/asset/weather/04d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg3.png"},a.night={name:"Overcast",url:"https://osshz.idmwx.com/asset/weather/04n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg3.png"};break;case 45:a.day={name:"Foggy",url:"https://osshz.idmwx.com/asset/weather/50d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg4.png"},a.night={name:"Foggy",url:"https://osshz.idmwx.com/asset/weather/50n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg4.png"};break;case 48:a.day={name:"Rime Fog",url:"https://osshz.idmwx.com/asset/weather/50d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg4.png"},a.night={name:"Rime Fog",url:"https://osshz.idmwx.com/asset/weather/50n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg4.png"};break;case 51:a.day={name:"Light Drizzle",url:"https://osshz.idmwx.com/asset/weather/14d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Light Drizzle",url:"https://osshz.idmwx.com/asset/weather/09n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 53:a.day={name:"Drizzle",url:"https://osshz.idmwx.com/asset/weather/14d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Drizzle",url:"https://osshz.idmwx.com/asset/weather/09n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 55:a.day={name:"Heavy Drizzle",url:"https://osshz.idmwx.com/asset/weather/15d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Heavy Drizzle",url:"https://osshz.idmwx.com/asset/weather/15n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 56:a.day={name:"Light Freezing Drizzle",url:"https://osshz.idmwx.com/asset/weather/14d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Light Freezing Drizzle",url:"https://osshz.idmwx.com/asset/weather/09n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 57:a.day={name:"Freezing Drizzle",url:"https://osshz.idmwx.com/asset/weather/14d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Freezing Drizzle",url:"https://osshz.idmwx.com/asset/weather/09n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 61:a.day={name:"Light Rain",url:"https://osshz.idmwx.com/asset/weather/16d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Light Rain",url:"https://osshz.idmwx.com/asset/weather/10n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 63:a.day={name:"Rain",url:"https://osshz.idmwx.com/asset/weather/16d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Rain",url:"https://osshz.idmwx.com/asset/weather/10n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 65:a.day={name:"Heavy Rain",url:"https://osshz.idmwx.com/asset/weather/16d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Heavy Rain",url:"https://osshz.idmwx.com/asset/weather/10n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 66:a.day={name:"Light Freezing Rain",url:"https://osshz.idmwx.com/asset/weather/16d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Light Freezing Rain",url:"https://osshz.idmwx.com/asset/weather/10n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 67:a.day={name:"Freezing Rain",url:"https://osshz.idmwx.com/asset/weather/16d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Freezing Rain",url:"https://osshz.idmwx.com/asset/weather/10n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 71:a.day={name:"Light Snow",url:"https://osshz.idmwx.com/asset/weather/17d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg6.png"},a.night={name:"Light Snow",url:"https://osshz.idmwx.com/asset/weather/13n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg6.png"};break;case 73:a.day={name:"Snow",url:"https://osshz.idmwx.com/asset/weather/17d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg6.png"},a.night={name:"Snow",url:"https://osshz.idmwx.com/asset/weather/13n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg6.png"};break;case 75:a.day={name:"Heavy Snow",url:"https://osshz.idmwx.com/asset/weather/17d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg6.png"},a.night={name:"Heavy Snow",url:"https://osshz.idmwx.com/asset/weather/13n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg6.png"};break;case 77:a.day={name:"Snow Grains",url:"https://osshz.idmwx.com/asset/weather/17d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg6.png"},a.night={name:"Snow Grains",url:"https://osshz.idmwx.com/asset/weather/13n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg6.png"};break;case 80:a.day={name:"Light Showers",url:"https://osshz.idmwx.com/asset/weather/09d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Light Showers",url:"https://osshz.idmwx.com/asset/weather/09n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 81:a.day={name:"Showers",url:"https://osshz.idmwx.com/asset/weather/09d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Showers",url:"https://osshz.idmwx.com/asset/weather/09n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 82:a.day={name:"Heavy Showers",url:"https://osshz.idmwx.com/asset/weather/09d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Heavy Showers",url:"https://osshz.idmwx.com/asset/weather/09n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 85:a.day={name:"Light Snow Showers",url:"https://osshz.idmwx.com/asset/weather/13d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg6.png"},a.night={name:"Light Snow Showers",url:"https://osshz.idmwx.com/asset/weather/13n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg6.png"};break;case 86:a.day={name:"Snow Showers",url:"https://osshz.idmwx.com/asset/weather/13d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg6.png"},a.night={name:"Snow Showers",url:"https://osshz.idmwx.com/asset/weather/13n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg6.png"};break;case 95:a.day={name:"Thunderstorm",url:"https://osshz.idmwx.com/asset/weather/11d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Thunderstorm",url:"https://osshz.idmwx.com/asset/weather/11n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 96:a.day={name:"Light Thunderstorms With Hail",url:"https://osshz.idmwx.com/asset/weather/11d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Light Thunderstorms With Hail",url:"https://osshz.idmwx.com/asset/weather/11n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 99:a.day={name:"Thunderstorms With Hail",url:"https://osshz.idmwx.com/asset/weather/11d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Thunderstorms With Hail",url:"https://osshz.idmwx.com/asset/weather/11n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break}return a}static kts2ms(t){return isNaN(t)||t===null?t:Math.round(t*1852/3600*1e4)/1e4}static kts2kmh(t){return isNaN(t)||t===null?t:t*1.852}static m2nm(t){return isNaN(t)||t===null?t:Math.round(t/1e3/1.852*1e4)/1e4}static kmh2kts(t){return isNaN(t)||t===null?t:this.ms2kts(t*1e3/3600)}static ms2kts(t){return isNaN(t)||t===null?t:Math.round(t*3600/1852*1e4)/1e4}static degree2Radian(t){if(isNaN(t)||t===null)return t;let a=t%360/360*2*Math.PI;return a=a<0?a+2*Math.PI:a,a}static degree2Direction(t){const a=this.degree2Radian(t);if(isNaN(a)||a===null)return null;let n="N/A";const s=Math.PI/16;return a<s?n="N":a>=s&&a<3*s?n="NNE":a>=3*s&&a<5*s?n="NE":a>=5*s&&a<7*s?n="ENE":a>=7*s&&a<9*s?n="E":a>=9*s&&a<11*s?n="ESE":a>=11*s&&a<13*s?n="SE":a>=13*s&&a<15*s?n="SSE":a>=15*s&&a<17*s?n="S":a>=17*s&&a<19*s?n="SSW":a>=19*s&&a<21*s?n="SW":a>=21*s&&a<23*s?n="WSW":a>=23*s&&a<25*s?n="W":a>=25*s&&a<27*s?n="WNW":a>=27*s&&a<29*s?n="NW":a>=29*s&&a<31*s?n="NNW":a>=31*s&&a<32*s&&(n="N"),n}static beaufort(t){let a=0;return isNaN(t)||(t=Math.round(t*10)/10,t<=.2?a=0:t<=1.5?a=1:t<=3.3?a=2:t<=5.4?a=3:t<=7.9?a=4:t<=10.7?a=5:t<=13.8?a=6:t<=17.1?a=7:t<=20.7?a=8:t<=22.4?a=9:t<=28.4?a=10:t<=32.6?a=11:t>32.6&&(a=12)),a}static douglas(t){let a="Calm";return isNaN(t)||t<=.1?a="Calm":t<=.5?a="Smooth":t<=1.25?a="Slight":t<=2.5?a="Moderate":t<=4?a="Rough":t<=6?a="VeryRough":t<=9?a="High":t<=14?a="VeryHigh":a="Precipitous",a}}const xe="data:image/gif;base64,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",Da="",Oe=(i,t)=>{const a=i.__vccOpts||i;for(const[n,s]of t)a[n]=s;return a},Ye={name:"SpotReport",components:{ArrowRightBold:be.ArrowRightBold,Calendar:be.Calendar},props:{token:{type:String,default:""},timeZone:{type:Number,default:8},point:{type:Object,default:()=>({})}},emits:["url"],data(){return{placeholder:"search for port name or coordinates",searchName:void 0,rawSearchIcon:e.markRaw(be.Search),etime:void 0,positionOffset:void 0,positionGmt:void 0,issuedDate:void 0,meteoData:void 0,positionList:[],position:void 0,activeIndex:void 0,hoursTableData:{},pickedDate:void 0,pickedWeek:"Today",followList:void 0,followItem:void 0,followDialogTitle:"",showFollowDialog:!1,followRemark:"",loading:{weatherEchart:!1,meteogramEchart:!1,hoursTable:!1,daysTable:!1,hourlyTable:!1,seasonalEchart:!1},menuIndex:2,meteogramData:void 0,daysTableData:[],hourlyTableData:[],currentMonth:void 0,seasonalData:void 0,monthsOptions:[],dateRange:[],dateRangeZ:[],datePickerOptions:{},selectDate:void 0,gateway:"https://cbe.idmwx.com"}},computed:{computeHourLT(){return function(i){if(i){const t=Y(i).tz(this.positionGmt);return`${t==null?void 0:t.format("HH")}`}return"-"}},computeHourZ(){return function(i){if(i){const t=E(i).utc();return`${t==null?void 0:t.format("HH")}Z`}return"-"}},computeWeekLT(){return function(i){if(i){const t=Y(i).tz(this.positionGmt);return`${t==null?void 0:t.format("dddd")}`}return"-"}},computeMMMDDLT(){return function(i){if(i){const t=Y(i).tz(this.positionGmt);return`${t==null?void 0:t.format("MMM-DD")}`}return"-"}},computeMMMDDHHmmLT(){return function(i){if(i){const t=Y(i).tz(this.positionGmt);return`${t==null?void 0:t.format("MMM-DD HHmm")}`}return"-"}},computeMMMDDyyyyLT(){return function(i){if(i){const t=Y(i).tz(this.positionGmt);return`${t==null?void 0:t.format("MMM-DD, yyyy")}`}return"-"}},computeLat(){return function(i,t=4){return ke.LngLatHelper.lat2pretty(i,t).pretty}},computeLng(){return function(i,t=4){return ke.LngLatHelper.lng2pretty(i,t).pretty}},roundPrecision(){return function(i,t=4){return isNaN(i)?"-":ke.LngLatHelper.roundPrecision(i,t)}}},watch:{point:{async handler(){var i,t,a,n,s;this.point&&(this.positionOffset="-",this.position={portId:(i=this.point)==null?void 0:i.portId,lat:(t=this.point)==null?void 0:t.lat,lng:(a=this.point)==null?void 0:a.lng,name:((n=this.point)==null?void 0:n.portName)||this.computeLat(this.point.lat)+", "+this.computeLng(this.point.lng),remark:(s=this.point)==null?void 0:s.remark},this.handleRender())},deep:!0,immediate:!0},menuIndex:{handler(){this.loading={weatherEchart:!0,meteogramEchart:!0,hoursTable:!0,daysTable:!0,hourlyTable:!0,seasonalEchart:!0},this.handleRender()}}},mounted(){this.fetchMyFollows(),this.$nextTick(()=>{document.addEventListener("click",i=>{const t=document.getElementById("seasonal-title");!(t!=null&&t.contains(i.target))&&this.seasonalData&&(this.seasonalData.showMonths=!1)}),document.addEventListener("click",i=>{var s,l;const t=document.getElementById("history-date-title"),a=(s=document.getElementsByClassName("datetime-select-box"))==null?void 0:s[0],n=(l=document.getElementsByClassName("el-picker__popper"))==null?void 0:l[0];!(t!=null&&t.contains(i.target))&&!(a!=null&&a.contains(i.target))&&!(n!=null&&n.contains(i.target))&&this.meteoData&&(this.meteoData.showDateSelect=!1)})}),localStorage.removeItem("idmCollectList")},methods:{handleSearchFocus(){this.placeholder="",this.positionList=JSON.parse(JSON.stringify(this.followList))},async fetchSuggestPosition(i){var n;const t=i.replaceAll(",",",");if(!t)return!1;const a=await ye.get(`${this.gateway}/api/arc/ports/suggest?n=${t}`,{headers:{Authorization:this.token}});(a==null?void 0:a.data.code)===0&&(this.positionList=(n=a==null?void 0:a.data.data)==null?void 0:n.map(s=>(s.name=s.id?s.name:this.computeLat(s.lat)+", "+this.computeLng(s.lng),s.portId=s.id,s)))},async handleSearch(i){var t,a,n,s;if(this.searchName){this.handleClearHoursTable(),this.followList?this.followItem=this.followList.find(m=>m.name===this.searchName):await this.fetchMyFollows();const l=this.positionList.find(m=>m.name===this.searchName);this.position={portId:((t=this.followItem)==null?void 0:t.portId)||(l==null?void 0:l.portId),lat:l==null?void 0:l.lat,lng:l==null?void 0:l.lng,name:this.searchName,remark:((a=this.followItem)==null?void 0:a.remark)||(l==null?void 0:l.remark),followId:((n=this.followItem)==null?void 0:n.followId)||l.followId},this.positionOffset="-",this.followRemark=((s=this.followItem)==null?void 0:s.remark)||"",this.$emit("url",this.position),(this.menuIndex===1||this.menuIndex===3)&&await this.fetchForecastMeteo(),this.handleRender()}},handleFollowDialogOpen(){var t;this.showFollowDialog=!0;const i=(t=this.position)!=null&&t.portId?"Port":"Coordinate";this.followDialogTitle=this.followItem?`Remove the ${i} from My Follows ?`:`Add the ${i} to My Follows ?`},async fetchMyFollows(){var t,a,n;this.followList=[];const i=await ye.get(`${this.gateway}/api/rsv/follows`,{headers:{Authorization:this.token},params:{b:2,pn:1,ps:1e4}});((t=i==null?void 0:i.data)==null?void 0:t.code)===0&&((n=(a=i.data)==null?void 0:a.data)==null||n.rows.forEach(s=>{var m,u,N,b,S,G,j,T;const l={};l.followId=s.id,l.remark=s.remark,l.name=((m=s.port)==null?void 0:m.name)||this.computeLat((u=s==null?void 0:s.coordinate)==null?void 0:u.lat)+", "+this.computeLng((N=s==null?void 0:s.coordinate)==null?void 0:N.lng),l.nameRemark=l.remark?`${l.name} ( ${l.remark} )`:l.name,l.portId=(b=s.port)==null?void 0:b.id,l.lat=((S=s.port)==null?void 0:S.lat)||((G=s==null?void 0:s.coordinate)==null?void 0:G.lat),l.lng=((j=s.port)==null?void 0:j.lng)||((T=s==null?void 0:s.coordinate)==null?void 0:T.lng),this.followList.push(l)}),this.followItem=this.followList.find(s=>{var l,m;return s.followId&&((l=this.position)==null?void 0:l.followId)&&s.followId===((m=this.position)==null?void 0:m.followId)}))},handleClickFollow(){if(this.followItem)ye.delete(`${this.gateway}/api/rsv/follows/${this.position.followId}`,{headers:{Authorization:this.token}}).then(i=>{var t;((t=i.data)==null?void 0:t.code)===0&&(this.showFollowDialog=!1,this.searchName="",this.followItem=void 0,this.followRemark="",this.position.followId=void 0,this.position.remark="",this.fetchMyFollows())});else{const i={portId:this.position.portId,lng:this.position.portId?void 0:this.position.lng,lat:this.position.portId?void 0:this.position.lat,remark:this.followRemark};ye.post(`${this.gateway}/api/rsv/follows`,i,{headers:{Authorization:this.token}}).then(t=>{var a,n,s;((a=t.data)==null?void 0:a.code)===0&&(this.showFollowDialog=!1,this.position.remark=this.followRemark,this.position.followId=(s=(n=t.data)==null?void 0:n.data)==null?void 0:s.id,this.fetchMyFollows())})}},async fetchForecastMeteo(i){var n,s,l,m,u,N,b;if(this.meteoData=void 0,!this.token)return!1;this.loading={weatherEchart:!0,meteogramEchart:!0,hoursTable:!0,daysTable:!0,hourlyTable:!0,seasonalEchart:!0};const t={lat:this.position.lat,lng:this.position.lng,forecastDays:i||7},a=await ye.post(`${this.gateway}/api/arc/meteo2/spot/forecast`,t,{headers:{Authorization:this.token}});(a==null?void 0:a.data.code)===0&&(this.meteoData={...a==null?void 0:a.data.data},this.etime=(n=a==null?void 0:a.data)==null?void 0:n.etime,this.positionGmt=(m=(l=(s=this.meteoData)==null?void 0:s.weather)==null?void 0:l[0])==null?void 0:m.timezone,this.positionOffset=(b=(N=(u=this.meteoData)==null?void 0:u.weather)==null?void 0:N[0])==null?void 0:b.offset,this.issuedDate=E(this.etime).utc().format("MMM-DD/HHmm[Z], YYYY"))},async fetchHistoryMeteo(i){var s,l,m,u,N,b,S;if(this.meteoData=void 0,!this.token)return!1;this.loading.meteogramEchart=!0,this.loading.hourlyTable=!0;const t=Y(this.dateRangeZ[0]||this.etime).tz(this.positionGmt).set({hour:0,minute:0,second:0}).format(),a={lat:this.position.lat,lng:this.position.lng,datetime:t,forecastDays:i},n=await ye.post(`${this.gateway}/api/arc/meteo2/spot/forecast`,a,{headers:{Authorization:this.token}});(n==null?void 0:n.data.code)===0&&(this.meteoData=n==null?void 0:n.data.data,this.meteoData.showDateSelect=!1,this.etime=(s=n==null?void 0:n.data)==null?void 0:s.etime,this.positionGmt=(u=(m=(l=this.meteoData)==null?void 0:l.weather)==null?void 0:m[0])==null?void 0:u.timezone,this.positionOffset=(S=(b=(N=this.meteoData)==null?void 0:N.weather)==null?void 0:b[0])==null?void 0:S.offset,this.issuedDate=E(this.etime).utc().format("MMM-DD/HHmm[Z], YYYY"))},async handleRender(){if(this.disposeEcharts(),this.menuIndex===1){this.initDatePickerInfo();const i=E(this.dateRangeZ[1]).diff(E(this.dateRangeZ[0]),"d",!0)+1;await this.fetchHistoryMeteo(i),this.handleMeteogramData14(this.meteoData,i,this.dateRangeZ[0]),this.initHourlyTableData(this.meteoData,i,this.dateRangeZ[0],!0)}else 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())},initInfo(){this.activeIndex=Y(this.etime).tz(this.positionGmt).hour(),this.pickedDate=Y(this.etime).tz(this.positionGmt).set({hour:0,minute:0,second:0,millisecond:0}).format()},initDatePickerInfo(){if(!this.dateRangeZ[0]||!this.dateRange[1]){this.dateRangeZ=[E(this.etime).add(-7,"day").utc().format(),E(this.etime).add(-1,"day").utc().format()];const i=[Y(this.dateRangeZ[0]).tz(this.positionGmt).format("yyyy-MM-DD"),Y(this.dateRangeZ[1]).tz(this.positionGmt).format("yyyy-MM-DD")];this.dateRange=[E(i[0]).format(),E(i[1]).format()]}else{const i=[Y(this.dateRangeZ[0]).tz(this.positionGmt).format("yyyy-MM-DD"),Y(this.dateRangeZ[1]).tz(this.positionGmt).format("yyyy-MM-DD")];this.dateRange=[E(i[0]).format(),E(i[1]).format()]}this.datePickerOptions={shortcuts:[{text:"Last week",value:i=>{const t=E(this.etime).add(-1,"day").unix()*1e3;return[E(this.etime).add(-7,"day").unix()*1e3,t]}},{text:"Last 2 weeks",value:i=>{const t=E(this.etime).add(-1,"day").unix()*1e3;return[E(this.etime).add(-14,"day").unix()*1e3,t]}}],disabledDate:i=>{const t=i.getTime()>E(this.etime).add(-1,"day").unix()*1e3,a=this.selectDate&&Math.abs(E(i).diff(E(this.selectDate),"d",!0))>=14;return t||a}}},initWeatherEchart(){const i=[],t=[],a=[],n=[],s=[],l=[],m=[],u=[],N=[],b=[],S={},G="data:image/svg+xml;base64,"+window.btoa(unescape(encodeURIComponent('<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>'))),j="data:image/svg+xml;base64,"+window.btoa(unescape(encodeURIComponent('<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>'))),T=new Image(64,64);T.src=j,T.onload=()=>{var U,R,X,W,J,q,Z,_,$,h,z,Q,k;this.loading.weatherEchart=!1;for(let g=0;g<7;g++){const L=E(this.pickedDate).clone().add(g,"d").format();i.push(Y(L).tz(this.positionGmt).format("yyyy-MM-DD")),t.push(this.computeMMMDDLT(L)),a.push(g===0?"Today":this.computeWeekLT(L));const x=((U=De.pickDaily(this.meteoData,L))==null?void 0:U[0])||{};n.push(this.roundPrecision((X=(R=x.weather)==null?void 0:R.temp)==null?void 0:X.min,0)),s.push(this.roundPrecision((J=(W=x.weather)==null?void 0:W.temp)==null?void 0:J.max,0)),u.push(this.roundPrecision((Z=(q=x.weather)==null?void 0:q.wind)==null?void 0:Z.kts,1)??"- kts"),b.push(this.roundPrecision(($=(_=x.weather)==null?void 0:_.precip)==null?void 0:$.sum,1)??"- mm"),l.push({symbol:"image://"+((h=x.weather)==null?void 0:h.url)}),m.push((z=x.weather)==null?void 0:z.name),N.push((k=(Q=x.weather)==null?void 0:Q.wind)==null?void 0:k.bearing);const C=document.createElement("canvas"),f=C.getContext("2d");C.width=T.width,C.height=T.height;const le=N[g]*(Math.PI/180);f.translate(C.width/2,C.height/2),f.rotate(le),f.translate(-T.width/2,-T.height/2),f.drawImage(T,0,0,64,64);const ie=C.toDataURL();S[`WindIcon${g}`]={height:12,width:12,align:"left",backgroundColor:{image:ie}}}const ee=Math.max(...s.filter(g=>typeof g=="number"&&!isNaN(g)))-Math.min(...n.filter(g=>typeof g=="number"&&!isNaN(g))),te=Math.min(...n.filter(g=>typeof g=="number"&&!isNaN(g)))-1.5*ee,oe=Math.max(...s.filter(g=>typeof g=="number"&&!isNaN(g)))+2*ee,P=4+.5/i.length*92+"%",v={grid:{bottom:0,top:0,left:"4%",right:"4%"},tooltip:{trigger:"item",show:!0,position:"right",formatter:function(g){return g.seriesName==="Weather Icon"?m[g.dataIndex]:!1}},legend:{show:!1},xAxis:{left:0,right:0,top:"50%",height:"50%",type:"category",data:i,show:!1},singleAxis:[{left:P,right:P,type:"category",show:!1,axisLine:{show:!1},axisTick:{show:!1},axisLabel:{show:!1},splitLine:{show:!1},boundaryGap:!1,data:i,top:"7%",height:"2%"},{left:P,right:P,type:"category",show:!1,axisLine:{show:!1},axisTick:{show:!1},axisLabel:{show:!1},splitLine:{show:!1},boundaryGap:!1,data:i,top:"16%",height:"2%"},{left:P,right:P,type:"category",show:!1,axisLine:{show:!1},axisTick:{show:!1},axisLabel:{show:!1},splitLine:{show:!1},boundaryGap:!1,data:i,top:"27%",height:"2%"},{left:P,right:P,type:"category",show:!1,axisLine:{show:!1},axisTick:{show:!1},axisLabel:{show:!1},splitLine:{show:!1},boundaryGap:!1,data:i,top:"84%",height:"2%"},{left:P,right:P,type:"category",show:!1,axisLine:{show:!1},axisTick:{show:!1},axisLabel:{show:!1},splitLine:{show:!1},boundaryGap:!1,data:i,top:"93%",height:"2%"}],yAxis:{type:"value",name:"温度(℃)",show:!1,min:te,max:oe,axisLabel:{formatter:"{value} °C"}},series:[{singleAxisIndex:0,coordinateSystem:"singleAxis",type:"scatter",data:a,label:{show:!0,color:"rgba(0,0,0,0.7)",fontSize:14,formatter:"{c}"},symbolSize:0},{singleAxisIndex:1,coordinateSystem:"singleAxis",type:"scatter",data:t,label:{show:!0,color:"rgba(0,0,0,0.7)",formatter:"{c}"},symbolSize:0},{name:"Weather Icon",singleAxisIndex:2,coordinateSystem:"singleAxis",type:"scatter",data:l,symbolSize:44},{name:"温度(℃)",type:"line",data:n,smooth:!0,itemStyle:{color:"#FF9500"},label:{show:!0,color:"rgba(0,0,0,0.7)",position:[-10,12],formatter:"{c} °C",fontSize:12},markArea:{itemStyle:{color:"rgba(64,159,255,0.25)"},data:[[{x:"4%"},{x:4+1/i.length*92+"%"}]]}},{name:"温度(℃)",type:"line",data:s,smooth:!0,itemStyle:{color:"#d88102"},label:{show:!0,color:"rgba(0,0,0,0.7)",position:[-10,-12],formatter:"{c} °C",fontSize:12}},{singleAxisIndex:3,coordinateSystem:"singleAxis",type:"scatter",data:u,label:{show:!0,color:"rgba(0,0,0,0.7)",rich:{...S,title:{align:"center",vertical:"center"}},formatter:function(g){return`{WindIcon${g.dataIndex}|}{title|${g.value}} kts`}},symbolSize:0},{singleAxisIndex:4,coordinateSystem:"singleAxis",type:"scatter",data:b,label:{show:!0,color:"rgba(0,0,0,0.7)",rich:{dIcon:{height:16,width:16,align:"left",backgroundColor:{image:G}},title:{align:"center",vertical:"center"}},formatter:function(g){return`{dIcon|}{title|${g.value}} mm`}},symbolSize:0}]};this.$nextTick(()=>{const g=we.init(document.getElementById("weather-chart"));g.setOption(v),g.on("click",L=>{const x=L.dataIndex,C=i[x].split("-");this.pickedDate=Y().tz(this.positionGmt).set({year:C[0],month:Number(C[1]-1),date:Number(C[2]),hour:0,minute:0,second:0,millisecond:0}).format(),this.pickedWeek=x===0?"Today":this.computeWeekLT(this.pickedDate),this.activeIndex=x===0?Y(this.etime).tz(this.positionGmt).hour():void 0,this.initHoursTableData(),v.series[3].markArea={itemStyle:{color:"rgba(64,159,255,0.25)"},data:[[{x:4+x/i.length*92+"%"},{x:4+(x+1)/i.length*92+"%"}]]},g.setOption(v)})})}},handleMeteogramData7(i){this.meteogramData={xDates:[],dates:[],hours:[],temperaturesY:[],temperaturesX:[],weatherIcons:[],weatherNames:[],windspeed:[],windGusts:[],windDir:[],windDirIcons:{},precip:[],sigWaveHeight:[],swellHeight:[],markarea:[],offset:void 0};let a={start:void 0,end:void 0};const n="data:image/svg+xml;base64,"+window.btoa(unescape(encodeURIComponent('<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>'))),s=new Image(64,64);s.src=n,s.onload=()=>{var m,u,N,b,S,G,j,T,ee,te,oe,P,v,U,R,X,W,J,q,Z,_,$,h,z,Q,k,g,L,x,C,f,re,le,ie,c,ce,D,F,I,ne,H;this.loading.meteogramEchart=!1;const l=Y(this.etime).tz(this.positionGmt).set({hour:0,minute:0,second:0,millisecond:0}).format();for(let r=0;r<7*24;r++){const K=E(l).clone().add(r,"h").format();(m=this.meteogramData)==null||m.dates.push(K);const y=((u=De.pickHourly(i,K))==null?void 0:u[0])||{};if(r%12===0&&r%24!==0?(N=this.meteogramData)==null||N.xDates.push(Y(K).tz(this.positionGmt).format("MMM-DD")):(b=this.meteogramData)==null||b.xDates.push(""),r%3===0?(S=this.meteogramData)==null||S.hours.push(this.computeHourLT(K)):(G=this.meteogramData)==null||G.hours.push(""),(T=this.meteogramData)==null||T.temperaturesX.push([K,this.roundPrecision((j=y==null?void 0:y.weather)==null?void 0:j.temp,0)]),(te=this.meteogramData)==null||te.temperaturesY.push(this.roundPrecision((ee=y==null?void 0:y.weather)==null?void 0:ee.temp,0)),(v=this.meteogramData)==null||v.precip.push(this.roundPrecision((P=(oe=y==null?void 0:y.weather)==null?void 0:oe.precip)==null?void 0:P.sum,1)),(X=this.meteogramData)==null||X.windspeed.push(this.roundPrecision((R=(U=y.weather)==null?void 0:U.wind)==null?void 0:R.kts,1)),(q=this.meteogramData)==null||q.windGusts.push(this.roundPrecision((J=(W=y==null?void 0:y.weather)==null?void 0:W.wind)==null?void 0:J.gusts,1)),($=this.meteogramData)==null||$.sigWaveHeight.push(this.roundPrecision((_=(Z=y==null?void 0:y.wave)==null?void 0:Z.sig)==null?void 0:_.height)),(Q=this.meteogramData)==null||Q.swellHeight.push(this.roundPrecision((z=(h=y==null?void 0:y.wave)==null?void 0:h.swell)==null?void 0:z.height)),r%6===0?((g=this.meteogramData)==null||g.weatherIcons.push({symbol:"image://"+((k=y.weather)==null?void 0:k.url),symbolSize:30}),(x=this.meteogramData)==null||x.weatherNames.push((L=y.weather)==null?void 0:L.name)):((f=this.meteogramData)==null||f.weatherIcons.push({symbol:"image://"+((C=y.weather)==null?void 0:C.url),symbolSize:0}),(re=this.meteogramData)==null||re.weatherNames.push("")),r%3===0?(c=this.meteogramData)==null||c.windDir.push((ie=(le=y.weather)==null?void 0:le.wind)==null?void 0:ie.bearing):(ce=this.meteogramData)==null||ce.windDir.push(void 0),r%3===0){const ae=document.createElement("canvas"),V=ae.getContext("2d");ae.width=s.width,ae.height=s.height;const p=((D=this.meteogramData)==null?void 0:D.windDir[r])*(Math.PI/180);V.translate(ae.width/2,ae.height/2),V.rotate(p),V.translate(-s.width/2,-s.height/2),V.drawImage(s,0,0,64,64);const O=ae.toDataURL();this.meteogramData.windDirIcons[r]=O}else this.meteogramData.windDirIcons[r]=void 0;(F=y==null?void 0:y.weather)!=null&&F.isDay?a.end===void 0&&a.start>=0&&(a.end=r):a.start===void 0&&(a.start=r),(a.start>=0&&a.end>=0||a.start>=0&&r===7*24-1)&&((I=this.meteogramData)==null||I.markarea.push([{x:4+a.start/(7*24)*92+"%"},{x:4+(a.end+1)/(7*24)*92+"%"}]),a={start:void 0,end:void 0})}this.meteogramData.offset=4+.5/((H=(ne=this.meteogramData)==null?void 0:ne.dates)==null?void 0:H.length)*92+"%",this.$nextTick(()=>{this.initMeteogramEchart(7)})}},handleMeteogramData14(i,t,a){const n=t||14,s=a||this.etime;this.meteogramData={xDates:[],dates:[],hours:[],temperaturesX:[],temperaturesY:[],weatherIcons:[],weatherNames:[],windspeed:[],windGusts:[],windDir:[],windDirIcons:{},precip:[],sigWaveHeight:[],swellHeight:[],markarea:[],offset:void 0};let l={start:void 0,end:void 0};const m="data:image/svg+xml;base64,"+window.btoa(unescape(encodeURIComponent('<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>'))),u=new Image(64,64);u.src=m,u.onload=()=>{var b,S,G,j,T,ee,te,oe,P,v,U,R,X,W,J,q,Z,_,$,h,z,Q,k,g,L,x,C,f,re,le,ie,c,ce,D,F,I,ne,H,r,K,y,ae;this.loading.meteogramEchart=!1;const N=Y(s).tz(this.positionGmt).set({hour:0,minute:0,second:0,millisecond:0}).format();for(let V=0;V<n*24;V++){const A=E(N).clone().add(V,"h").format();(b=this.meteogramData)==null||b.dates.push(A);const p=((S=De.pickHourly(i,A))==null?void 0:S[0])||{};if((j=this.meteogramData)==null||j.temperaturesY.push(this.roundPrecision((G=p==null?void 0:p.weather)==null?void 0:G.temp,0)),(te=this.meteogramData)==null||te.windspeed.push(this.roundPrecision((ee=(T=p.weather)==null?void 0:T.wind)==null?void 0:ee.kts,1)),(v=this.meteogramData)==null||v.windGusts.push(this.roundPrecision((P=(oe=p==null?void 0:p.weather)==null?void 0:oe.wind)==null?void 0:P.gusts,1)),(X=this.meteogramData)==null||X.sigWaveHeight.push(this.roundPrecision((R=(U=p==null?void 0:p.wave)==null?void 0:U.sig)==null?void 0:R.height)),(q=this.meteogramData)==null||q.swellHeight.push(this.roundPrecision((J=(W=p==null?void 0:p.wave)==null?void 0:W.swell)==null?void 0:J.height)),V%3===0?(($=this.meteogramData)==null||$.precip.push(this.roundPrecision((_=(Z=p==null?void 0:p.weather)==null?void 0:Z.precip)==null?void 0:_.sum3Hours,1)),(z=this.meteogramData)==null||z.temperaturesX.push([A,this.roundPrecision((h=p==null?void 0:p.weather)==null?void 0:h.temp,0)])):(Q=this.meteogramData)==null||Q.precip.push(null),V%12===0&&V%24!==0?(k=this.meteogramData)==null||k.xDates.push(Y(A).tz(this.positionGmt).format("MMM-DD")):(g=this.meteogramData)==null||g.xDates.push(""),V%6===0?(L=this.meteogramData)==null||L.hours.push(this.computeHourLT(A)):(x=this.meteogramData)==null||x.hours.push(""),V%12===0?((f=this.meteogramData)==null||f.weatherIcons.push({symbol:"image://"+((C=p.weather)==null?void 0:C.url),symbolSize:30}),(le=this.meteogramData)==null||le.weatherNames.push((re=p.weather)==null?void 0:re.name)):((c=this.meteogramData)==null||c.weatherIcons.push({symbol:"image://"+((ie=p.weather)==null?void 0:ie.url),symbolSize:0}),(ce=this.meteogramData)==null||ce.weatherNames.push("")),V%6===0?(I=this.meteogramData)==null||I.windDir.push((F=(D=p.weather)==null?void 0:D.wind)==null?void 0:F.bearing):(ne=this.meteogramData)==null||ne.windDir.push(void 0),V%6===0){const O=document.createElement("canvas"),w=O.getContext("2d");O.width=u.width,O.height=u.height;const M=((H=this.meteogramData)==null?void 0:H.windDir[V])*(Math.PI/180);w.translate(O.width/2,O.height/2),w.rotate(M),w.translate(-u.width/2,-u.height/2),w.drawImage(u,0,0,64,64);const se=O.toDataURL();this.meteogramData.windDirIcons[V]=se}else this.meteogramData.windDirIcons[V]=void 0;(r=p==null?void 0:p.weather)!=null&&r.isDay?l.end===void 0&&l.start>=0&&(l.end=V):l.start===void 0&&(l.start=V),(l.start>=0&&l.end>=0||l.start>=0&&V===n*24-1)&&((K=this.meteogramData)==null||K.markarea.push([{x:4+l.start/(n*24)*92+"%"},{x:4+(l.end+1)/(n*24)*92+"%"}]),l={start:void 0,end:void 0})}this.meteogramData.offset=4+.5/((ae=(y=this.meteogramData)==null?void 0:y.dates)==null?void 0:ae.length)*92+"%",this.$nextTick(()=>{this.initMeteogramEchart(14)})}},initMeteogramEchart(i){var ee,te,oe,P,v,U,R,X,W,J,q,Z,_,$,h,z,Q,k,g,L,x,C,f,re,le,ie,c,ce,D,F,I,ne,H,r,K,y,ae,V;const t=we.init(document.getElementById("weather-icons")),a={grid:{show:!0,bottom:"0%",top:"0%",left:"4%",right:"4%",borderColor:"#666",borderWidth:1,z:1,zlevel:1},tooltip:{trigger:"item",show:!0,position:"right",formatter:A=>{const p=A==null?void 0:A.dataIndex;return A.seriesName==="Weather Icons"?`<strong>${this.meteogramData.weatherNames[p]}</strong>`:!1}},legend:{show:!1,right:"4%"},xAxis:{left:0,right:0,top:"50%",height:"50%",type:"category",data:(ee=this.meteogramData)==null?void 0:ee.dates,show:!1},singleAxis:[{left:(te=this.meteogramData)==null?void 0:te.offset,right:(oe=this.meteogramData)==null?void 0:oe.offset,type:"category",show:!1,axisLine:{show:!1},axisTick:{show:!1},axisLabel:{show:!1},splitLine:{show:!1},boundaryGap:!1,data:(P=this.meteogramData)==null?void 0:P.dates,top:"50%",height:"2%"}],series:[{name:"Weather Icons",type:"scatter",singleAxisIndex:0,coordinateSystem:"singleAxis",data:(v=this.meteogramData)==null?void 0:v.weatherIcons,symbolSize:24}]};t.setOption(a);let n=Math.max(...this.meteogramData.temperaturesY.filter(A=>typeof A=="number"&&!isNaN(A))),s=Math.min(...this.meteogramData.temperaturesY.filter(A=>typeof A=="number"&&!isNaN(A)))>0?0:Math.min(...this.meteogramData.temperaturesY.filter(A=>typeof A=="number"&&!isNaN(A))),l=Math.floor(s/5)*5,m=Math.ceil(n/5)*5,u=Math.ceil((m-l)/5),N="",b=[];i===7?(N="Precip.1h ( mm ) ",b=[{gte:50,color:"rgba(197, 5, 58, 1)",label:"Heavy Rainstorm, >=20mm"},{gte:8,lte:19.9,color:"rgba(248, 1, 1, 1)",label:"Rainstorm, <=19.9mm"},{gte:4,lte:7.9,color:"rgba(190, 226, 2, 18)",label:"Heavy, <=7.9mm"},{gte:2,lte:3.9,color:"rgba(3, 248, 103, 1)",label:"Moderate, <=3.9mm"},{lt:2,color:"rgba(172, 210, 255, 1)",label:"Light, <2mm"}]):(N="Precip.3h ( mm ) ",b=[{gte:100,color:"rgba(197, 5, 58, 1)",label:"Heavy Rainstorm, >=50mm"},{gte:25,lte:49.9,color:"rgba(248, 1, 1, 1)",label:"Rainstorm, <=49.9mm"},{gte:10,lte:24.9,color:"rgba(190, 226, 2, 18)",label:"Heavy, <=24.9mm"},{gte:5,lte:9.9,color:"rgba(3, 248, 103, 1)",label:"Moderate, <=9.9mm"},{lt:5,color:"rgba(172, 210, 255, 1)",label:"Light, <5mm"}]);const S=we.init(document.getElementById("weather-condition")),G={title:{text:"Weather conditions",top:"10px",left:"5px",textStyle:{fontWeight:"normal",fontSize:14}},grid:{show:!0,bottom:"20%",top:"90px",left:"4%",right:"4%",borderColor:"#666",borderWidth:1,z:1,zlevel:1},tooltip:{trigger:"axis",show:!0,position:"right",formatter:A=>{var O,w,de,M,se,he,B,o,d,Be,Ee,Ae,ge,Ce,ue,Ie,fe,Qe,Me,Le,ze,He,Se,Pe,Te,Ge;const p=(O=A==null?void 0:A[0])==null?void 0:O.dataIndex;if(A.find(pe=>pe.seriesType==="scatter"))return!1;{let pe="";return i===7?(((w=A[1])==null?void 0:w.value)<2?pe="rgba(172, 210, 255, 1)":((de=A[1])==null?void 0:de.value)<=3.9?pe="rgba(3, 248, 103, 1)":((M=A[1])==null?void 0:M.value)<=7.9?pe="rgba(190, 226, 2, 18)":((se=A[1])==null?void 0:se.value)<=19.9?pe="rgba(248, 1, 1, 1)":((he=A[1])==null?void 0:he.value)>=20?pe="rgba(197, 5, 58, 1)":pe="rgba(172, 210, 255, 1)",`<div style="font-size: 13px;"><strong>${Y((B=this.meteogramData)==null?void 0:B.dates[p]).tz(this.positionGmt).format("MMM-DD/HHmm[LT]")}</strong></div>
1
+ (function(me,E){typeof exports=="object"&&typeof module<"u"?E(exports,require("moment"),require("moment-timezone"),require("@element-plus/icons-vue"),require("@idm-plugin/geo"),require("echarts"),require("vue"),require("axios")):typeof define=="function"&&define.amd?define(["exports","moment","moment-timezone","@element-plus/icons-vue","@idm-plugin/geo","echarts","vue","axios"],E):(me=typeof globalThis<"u"?globalThis:me||self,E(me["idmui-spot"]={},me.moment,me["moment-timezone"],me["@element-plus/icons-vue"],me["@idm-plugin/geo"],me.echarts,me.Vue,me.axios))})(this,function(me,E,Y,be,ke,Fe,e,Ee){"use strict";function Ve(i){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(i){for(const a in i)if(a!=="default"){const n=Object.getOwnPropertyDescriptor(i,a);Object.defineProperty(t,a,n.get?n:{enumerable:!0,get:()=>i[a]})}}return t.default=i,Object.freeze(t)}const we=Ve(Fe);class De{static pickHourly(t,a){var n,s,l,m,C,N,b,S,G,v,T,ee,te,oe,P,j,U,R,X,W,J,q,Z,_,$,h,z,Q,k,g,L,x,u,f,re,le,ie,c,ce,y,F,I,ne,H,r,K,D,ae,V,A;const p=typeof a=="string"?E(a):a,O=t==null?void 0:t.weather,w=t==null?void 0:t.marine,de=E((s=(n=O==null?void 0:O[0])==null?void 0:n.hourly)==null?void 0:s.date).utc(),M=de.clone().add((C=(m=(l=O==null?void 0:O[0])==null?void 0:l.hourly)==null?void 0:m.time)==null?void 0:C.at(0),"h"),se=de.clone().add((S=(b=(N=O==null?void 0:O[0])==null?void 0:N.hourly)==null?void 0:b.time)==null?void 0:S.at(-1),"h"),he=[];if(p.isBetween(M,se,"millisecond","[]")){const B=p.utc().diff(M,"h",!1);let o,d;if(O){let fe=0,ye=0;for(const Ae of O){const ge=Ae.hourly;for(let Be=B-(B-1)%3;Be<=B;Be++)fe+=(G=ge.precipitation)==null?void 0:G.at(Be);for(let Be=B-(B-1)%6;Be<=B;Be++)ye+=(v=ge.precipitation)==null?void 0:v.at(Be);o={temp:(T=ge.temperature_2m)==null?void 0:T.at(B),apparentTemp:(ee=ge.apparent_temperature)==null?void 0:ee.at(B),rh:(te=ge.relative_humidity_2m)==null?void 0:te.at(B),dp:(oe=ge.dew_point_2m)==null?void 0:oe.at(B),precip:{probability:(P=ge.precipitation_probability)==null?void 0:P.at(B),sum:(j=ge.precipitation)==null?void 0:j.at(B),sum3Hours:Math.round(fe*100)/100,sum6Hours:Math.round(ye*100)/100},pmsl:(U=ge.pressure_msl)==null?void 0:U.at(B),psurf:(R=ge.surface_pressure)==null?void 0:R.at(B),code:(X=ge.weather_code)==null?void 0:X.at(B),visibility:this.m2nm((W=ge.visibility)==null?void 0:W.at(B)),wind:{speed:(J=ge.wind_speed_10m)==null?void 0:J.at(B),kts:(q=ge.wind_speed_10m)==null?void 0:q.at(B),degree:(Z=ge.wind_direction_10m)==null?void 0:Z.at(B),bearing:((_=ge.wind_direction_10m)==null?void 0:_.at(B))!==null?((($=ge.wind_direction_10m)==null?void 0:$.at(B))+180)%360:null,gusts:(h=ge.wind_gusts_10m)==null?void 0:h.at(B)},isDay:(z=ge.is_day)==null?void 0:z.at(B)};const{name:ue,url:Ce,bg:Ie}=this.parseWeatherCode(o.code,o.isDay);o.name=ue,o.url=Ce,o.bg=Ie,o.wind.scale=this.beaufort(this.kts2ms(o.wind.kts)),o.wind.direction=this.degree2Direction(o.wind.degree),he.push({utc:M.add(B,"h").format(),model:Ae.model,weather:{...o}})}}if(w){let fe=0;for(const ye of w){const Ae=ye.hourly;d={wave:{sig:{height:(Q=Ae.wave_height)==null?void 0:Q.at(B),degree:(k=Ae.wave_direction)==null?void 0:k.at(B),bearing:((g=Ae.wave_direction)==null?void 0:g.at(B))!==null?(((L=Ae.wave_direction)==null?void 0:L.at(B))+180)%360:null,period:(x=Ae.wave_period)==null?void 0:x.at(B)},swell:{height:(u=Ae.swell_wave_height)==null?void 0:u.at(B),degree:(f=Ae.swell_wave_direction)==null?void 0:f.at(B),bearing:((re=Ae.swell_wave_direction)==null?void 0:re.at(B))!==null?(((le=Ae.swell_wave_direction)==null?void 0:le.at(B))+180)%360:null,period:(ie=Ae.swell_wave_period)==null?void 0:ie.at(B),peakPeriod:(c=Ae.swell_wave_peak_period)==null?void 0:c.at(B)},wd:{height:(ce=Ae.wind_wave_height)==null?void 0:ce.at(B),degree:(y=Ae.wind_wave_direction)==null?void 0:y.at(B),bearing:((F=Ae.wind_wave_direction)==null?void 0:F.at(B))!==null?(((I=Ae.wind_wave_direction)==null?void 0:I.at(B))+180)%360:null,period:(ne=Ae.wind_wave_period)==null?void 0:ne.at(B),peakPeriod:(H=Ae.wind_wave_peak_period)==null?void 0:H.at(B)}},current:{speed:(r=Ae.ocean_current_velocity)==null?void 0:r.at(B),kts:(K=Ae.ocean_current_velocity)==null?void 0:K.at(B),degree:(D=Ae.ocean_current_direction)==null?void 0:D.at(B),bearing:((ae=Ae.ocean_current_direction)==null?void 0:ae.at(B))??null},sst:(V=Ae.sea_surface_temperature)==null?void 0:V.at(B),height:(A=Ae.sea_level_height_msl)==null?void 0:A.at(B)},d.wave=this.parseWave(d.wave),d.current.direction=this.degree2Direction(d.current.degree),Object.assign(he[fe],d),fe++}}}return he}static toLegacy(t){var a,n,s,l,m,C,N,b,S,G;return{wind:(a=t==null?void 0:t.weather)==null?void 0:a.wind,visibility:(n=t==null?void 0:t.weather)==null?void 0:n.visibility,temp:(s=t==null?void 0:t.weather)==null?void 0:s.temp,prmsl:(l=t==null?void 0:t.weather)==null?void 0:l.pmsl,gusts:{kts:(C=(m=t==null?void 0:t.weather)==null?void 0:m.wind)==null?void 0:C.gusts},precip:(N=t==null?void 0:t.weather)==null?void 0:N.precip,code:(b=t==null?void 0:t.weather)==null?void 0:b.code,name:(S=t==null?void 0:t.weather)==null?void 0:S.name,url:(G=t==null?void 0:t.weather)==null?void 0:G.url,wave:t==null?void 0:t.wave,current:t==null?void 0:t.current,sst:t==null?void 0:t.sst,height:t==null?void 0:t.height,utc:t==null?void 0:t.utc,source:t==null?void 0:t.model}}static pickDaily(t,a){var n,s,l,m,C,N,b,S,G,v,T,ee,te,oe,P,j,U,R,X,W,J,q,Z,_,$,h,z,Q,k,g,L,x,u,f,re,le,ie,c,ce,y,F,I,ne,H;const r=typeof a=="string"?E(a):a,K=t==null?void 0:t.weather,D=t==null?void 0:t.marine,ae=E((l=(s=(n=K==null?void 0:K[0])==null?void 0:n.daily)==null?void 0:s.time)==null?void 0:l.at(0)),V=E((N=(C=(m=K==null?void 0:K[0])==null?void 0:m.daily)==null?void 0:C.time)==null?void 0:N.at(-1)),A=[];if(r.isBetween(ae,V,"millisecond","[]")){let p,O;const w=r.diff(ae,"d",!1);if(K)for(const de of K){const M=de.daily;p={code:(b=M.weather_code)==null?void 0:b.at(w),temp:{max:(S=M.temperature_2m_max)==null?void 0:S.at(w),min:(G=M.temperature_2m_min)==null?void 0:G.at(w),mean:(v=M.temperature_2m_mean)==null?void 0:v.at(w)},apparentTemp:{max:(T=M.apparent_temperature_max)==null?void 0:T.at(w),min:(ee=M.apparent_temperature_min)==null?void 0:ee.at(w)},precip:{sum:(te=M.precipitation_sum)==null?void 0:te.at(w),rainSum:(oe=M.rain_sum)==null?void 0:oe.at(w),snowfallSum:(P=M.snowfall_sum)==null?void 0:P.at(w),showersSum:(j=M.showers_sum)==null?void 0:j.at(w),hours:(U=M.precipitation_hours)==null?void 0:U.at(w),probability:(R=M.precipitation_probability_max)==null?void 0:R.at(w)},rh:{max:(X=M.relative_humidity_2m_max)==null?void 0:X.at(w),min:(W=M.relative_humidity_2m_min)==null?void 0:W.at(w),mean:(J=M.relative_humidity_2m_mean)==null?void 0:J.at(w)},wind:{speed:(q=M.wind_speed_10m_max)==null?void 0:q.at(w),kts:(Z=M.wind_speed_10m_max)==null?void 0:Z.at(w),degree:(_=M.wind_direction_10m_dominant)==null?void 0:_.at(w),gusts:($=M.wind_gusts_10m_max)==null?void 0:$.at(w),bearing:((h=M.wind_direction_10m_dominant)==null?void 0:h.at(w))!==null?(((z=M.wind_direction_10m_dominant)==null?void 0:z.at(w))+180)%360:null}};const{name:se,url:he,bg:B}=this.parseWeatherCode(p.code,!0);p.name=se,p.url=he,p.bg=B,p.wind.scale=this.beaufort(this.kts2ms(p.wind.kts)),p.wind.direction=this.degree2Direction(p.wind.degree),A.push({utc:ae.add(w,"d").utc().format(),model:de.model,weather:{...p}})}if(D){let de=0;for(const M of D){const se=M.daily;O={wave:{sig:{height:(Q=se.wave_height_max)==null?void 0:Q.at(w),degree:(k=se.wave_direction_dominant)==null?void 0:k.at(w),period:(g=se.wave_period_max)==null?void 0:g.at(w),bearing:((L=se.wave_direction_dominant)==null?void 0:L.at(w))!==null?(((x=se.wave_direction_dominant)==null?void 0:x.at(w))+180)%360:null},swell:{height:(u=se.swell_wave_height_max)==null?void 0:u.at(w),degree:(f=se.swell_wave_direction_dominant)==null?void 0:f.at(w),period:(re=se.swell_wave_period_max)==null?void 0:re.at(w),peakPeriod:(le=se.swell_wave_peak_period_max)==null?void 0:le.at(w),bearing:((ie=se.swell_wave_direction_dominant)==null?void 0:ie.at(w))!==null?(((c=se.swell_wave_direction_dominant)==null?void 0:c.at(w))+180)%360:null},wd:{height:(ce=se.wind_wave_height_max)==null?void 0:ce.at(w),degree:(y=se.wind_wave_direction_dominant)==null?void 0:y.at(w),period:(F=se.wind_wave_period_max)==null?void 0:F.at(w),peakPeriod:(I=se.wind_wave_peak_period_max)==null?void 0:I.at(w),bearing:((ne=se.wind_wave_direction_dominant)==null?void 0:ne.at(w))!==null?(((H=se.wind_wave_direction_dominant)==null?void 0:H.at(w))+180)%360:null}}},O.wave=this.parseWave(O.wave),Object.assign(A[de],O),de++}}}return A}static parseWave(t){return t.sig.direction=this.degree2Direction(t.sig.degree),t.swell.direction=this.degree2Direction(t.swell.degree),t.wd.direction=this.degree2Direction(t.wd.degree),t.sig.scale=this.douglas(t.sig.height),t.swell.scale=this.douglas(t.swell.height),t.wd.scale=this.douglas(t.wd.height),t}static parseWeatherCode(t,a){const n=this.weatherCode(t);return(a?n.day:n.night)||{}}static weatherCode(t){const a={code:t};switch(t){case 0:a.day={name:"Sunny",url:"https://osshz.idmwx.com/asset/weather/01d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg1.png"},a.night={name:"Clear",url:"https://osshz.idmwx.com/asset/weather/01n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg1.png"};break;case 1:a.day={name:"Mainly Sunny",url:"https://osshz.idmwx.com/asset/weather/01d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg1.png"},a.night={name:"Mainly Clear",url:"https://osshz.idmwx.com/asset/weather/01n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg1.png"};break;case 2:a.day={name:"Partly Cloudy",url:"https://osshz.idmwx.com/asset/weather/02d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg2.png"},a.night={name:"Partly Cloudy",url:"https://osshz.idmwx.com/asset/weather/02n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg2.png"};break;case 3:a.day={name:"Overcast",url:"https://osshz.idmwx.com/asset/weather/04d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg3.png"},a.night={name:"Overcast",url:"https://osshz.idmwx.com/asset/weather/04n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg3.png"};break;case 45:a.day={name:"Foggy",url:"https://osshz.idmwx.com/asset/weather/50d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg4.png"},a.night={name:"Foggy",url:"https://osshz.idmwx.com/asset/weather/50n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg4.png"};break;case 48:a.day={name:"Rime Fog",url:"https://osshz.idmwx.com/asset/weather/50d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg4.png"},a.night={name:"Rime Fog",url:"https://osshz.idmwx.com/asset/weather/50n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg4.png"};break;case 51:a.day={name:"Light Drizzle",url:"https://osshz.idmwx.com/asset/weather/14d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Light Drizzle",url:"https://osshz.idmwx.com/asset/weather/09n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 53:a.day={name:"Drizzle",url:"https://osshz.idmwx.com/asset/weather/14d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Drizzle",url:"https://osshz.idmwx.com/asset/weather/09n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 55:a.day={name:"Heavy Drizzle",url:"https://osshz.idmwx.com/asset/weather/15d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Heavy Drizzle",url:"https://osshz.idmwx.com/asset/weather/15n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 56:a.day={name:"Light Freezing Drizzle",url:"https://osshz.idmwx.com/asset/weather/14d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Light Freezing Drizzle",url:"https://osshz.idmwx.com/asset/weather/09n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 57:a.day={name:"Freezing Drizzle",url:"https://osshz.idmwx.com/asset/weather/14d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Freezing Drizzle",url:"https://osshz.idmwx.com/asset/weather/09n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 61:a.day={name:"Light Rain",url:"https://osshz.idmwx.com/asset/weather/16d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Light Rain",url:"https://osshz.idmwx.com/asset/weather/10n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 63:a.day={name:"Rain",url:"https://osshz.idmwx.com/asset/weather/16d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Rain",url:"https://osshz.idmwx.com/asset/weather/10n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 65:a.day={name:"Heavy Rain",url:"https://osshz.idmwx.com/asset/weather/16d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Heavy Rain",url:"https://osshz.idmwx.com/asset/weather/10n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 66:a.day={name:"Light Freezing Rain",url:"https://osshz.idmwx.com/asset/weather/16d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Light Freezing Rain",url:"https://osshz.idmwx.com/asset/weather/10n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 67:a.day={name:"Freezing Rain",url:"https://osshz.idmwx.com/asset/weather/16d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Freezing Rain",url:"https://osshz.idmwx.com/asset/weather/10n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 71:a.day={name:"Light Snow",url:"https://osshz.idmwx.com/asset/weather/17d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg6.png"},a.night={name:"Light Snow",url:"https://osshz.idmwx.com/asset/weather/13n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg6.png"};break;case 73:a.day={name:"Snow",url:"https://osshz.idmwx.com/asset/weather/17d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg6.png"},a.night={name:"Snow",url:"https://osshz.idmwx.com/asset/weather/13n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg6.png"};break;case 75:a.day={name:"Heavy Snow",url:"https://osshz.idmwx.com/asset/weather/17d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg6.png"},a.night={name:"Heavy Snow",url:"https://osshz.idmwx.com/asset/weather/13n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg6.png"};break;case 77:a.day={name:"Snow Grains",url:"https://osshz.idmwx.com/asset/weather/17d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg6.png"},a.night={name:"Snow Grains",url:"https://osshz.idmwx.com/asset/weather/13n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg6.png"};break;case 80:a.day={name:"Light Showers",url:"https://osshz.idmwx.com/asset/weather/09d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Light Showers",url:"https://osshz.idmwx.com/asset/weather/09n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 81:a.day={name:"Showers",url:"https://osshz.idmwx.com/asset/weather/09d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Showers",url:"https://osshz.idmwx.com/asset/weather/09n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 82:a.day={name:"Heavy Showers",url:"https://osshz.idmwx.com/asset/weather/09d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Heavy Showers",url:"https://osshz.idmwx.com/asset/weather/09n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 85:a.day={name:"Light Snow Showers",url:"https://osshz.idmwx.com/asset/weather/13d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg6.png"},a.night={name:"Light Snow Showers",url:"https://osshz.idmwx.com/asset/weather/13n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg6.png"};break;case 86:a.day={name:"Snow Showers",url:"https://osshz.idmwx.com/asset/weather/13d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg6.png"},a.night={name:"Snow Showers",url:"https://osshz.idmwx.com/asset/weather/13n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg6.png"};break;case 95:a.day={name:"Thunderstorm",url:"https://osshz.idmwx.com/asset/weather/11d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Thunderstorm",url:"https://osshz.idmwx.com/asset/weather/11n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 96:a.day={name:"Light Thunderstorms With Hail",url:"https://osshz.idmwx.com/asset/weather/11d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Light Thunderstorms With Hail",url:"https://osshz.idmwx.com/asset/weather/11n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break;case 99:a.day={name:"Thunderstorms With Hail",url:"https://osshz.idmwx.com/asset/weather/11d.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"},a.night={name:"Thunderstorms With Hail",url:"https://osshz.idmwx.com/asset/weather/11n.svg",bg:"https://osshz.idmwx.com/asset/weather/bg5.png"};break}return a}static kts2ms(t){return isNaN(t)||t===null?t:Math.round(t*1852/3600*1e4)/1e4}static kts2kmh(t){return isNaN(t)||t===null?t:t*1.852}static m2nm(t){return isNaN(t)||t===null?t:Math.round(t/1e3/1.852*1e4)/1e4}static kmh2kts(t){return isNaN(t)||t===null?t:this.ms2kts(t*1e3/3600)}static ms2kts(t){return isNaN(t)||t===null?t:Math.round(t*3600/1852*1e4)/1e4}static degree2Radian(t){if(isNaN(t)||t===null)return t;let a=t%360/360*2*Math.PI;return a=a<0?a+2*Math.PI:a,a}static degree2Direction(t){const a=this.degree2Radian(t);if(isNaN(a)||a===null)return null;let n="N/A";const s=Math.PI/16;return a<s?n="N":a>=s&&a<3*s?n="NNE":a>=3*s&&a<5*s?n="NE":a>=5*s&&a<7*s?n="ENE":a>=7*s&&a<9*s?n="E":a>=9*s&&a<11*s?n="ESE":a>=11*s&&a<13*s?n="SE":a>=13*s&&a<15*s?n="SSE":a>=15*s&&a<17*s?n="S":a>=17*s&&a<19*s?n="SSW":a>=19*s&&a<21*s?n="SW":a>=21*s&&a<23*s?n="WSW":a>=23*s&&a<25*s?n="W":a>=25*s&&a<27*s?n="WNW":a>=27*s&&a<29*s?n="NW":a>=29*s&&a<31*s?n="NNW":a>=31*s&&a<32*s&&(n="N"),n}static beaufort(t){let a=0;return isNaN(t)||(t=Math.round(t*10)/10,t<=.2?a=0:t<=1.5?a=1:t<=3.3?a=2:t<=5.4?a=3:t<=7.9?a=4:t<=10.7?a=5:t<=13.8?a=6:t<=17.1?a=7:t<=20.7?a=8:t<=22.4?a=9:t<=28.4?a=10:t<=32.6?a=11:t>32.6&&(a=12)),a}static douglas(t){let a="Calm";return isNaN(t)||t<=.1?a="Calm":t<=.5?a="Smooth":t<=1.25?a="Slight":t<=2.5?a="Moderate":t<=4?a="Rough":t<=6?a="VeryRough":t<=9?a="High":t<=14?a="VeryHigh":a="Precipitous",a}}const xe="data:image/gif;base64,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",ya="",Oe=(i,t)=>{const a=i.__vccOpts||i;for(const[n,s]of t)a[n]=s;return a},Ye={name:"SpotReport",components:{ArrowRightBold:be.ArrowRightBold,Calendar:be.Calendar},props:{token:{type:String,default:""},timeZone:{type:Number,default:8},point:{type:Object,default:()=>({})}},emits:["url"],data(){return{placeholder:"search for port name or coordinates",searchName:void 0,rawSearchIcon:e.markRaw(be.Search),etime:void 0,positionOffset:void 0,positionGmt:void 0,issuedDate:void 0,meteoData:void 0,positionList:[],position:void 0,activeIndex:void 0,hoursTableData:{},pickedDate:void 0,pickedWeek:"Today",followList:void 0,followItem:void 0,followDialogTitle:"",showFollowDialog:!1,followRemark:"",loading:{weatherEchart:!1,meteogramEchart:!1,hoursTable:!1,daysTable:!1,hourlyTable:!1,seasonalEchart:!1},menuIndex:2,meteogramData:void 0,daysTableData:[],hourlyTableData:[],currentMonth:void 0,seasonalData:void 0,monthsOptions:[],dateRange:[],dateRangeZ:[],datePickerOptions:{},selectDate:void 0,gateway:"https://cbe.idmwx.com"}},computed:{computeHourLT(){return function(i){if(i){const t=Y(i).tz(this.positionGmt);return`${t==null?void 0:t.format("HH")}`}return"-"}},computeHourZ(){return function(i){if(i){const t=E(i).utc();return`${t==null?void 0:t.format("HH")}Z`}return"-"}},computeWeekLT(){return function(i){if(i){const t=Y(i).tz(this.positionGmt);return`${t==null?void 0:t.format("dddd")}`}return"-"}},computeMMMDDLT(){return function(i){if(i){const t=Y(i).tz(this.positionGmt);return`${t==null?void 0:t.format("MMM-DD")}`}return"-"}},computeMMMDDHHmmLT(){return function(i){if(i){const t=Y(i).tz(this.positionGmt);return`${t==null?void 0:t.format("MMM-DD HHmm")}`}return"-"}},computeMMMDDyyyyLT(){return function(i){if(i){const t=Y(i).tz(this.positionGmt);return`${t==null?void 0:t.format("MMM-DD, yyyy")}`}return"-"}},computeLat(){return function(i,t=4){return ke.LngLatHelper.lat2pretty(i,t).pretty}},computeLng(){return function(i,t=4){return ke.LngLatHelper.lng2pretty(i,t).pretty}},roundPrecision(){return function(i,t=4){return isNaN(i)?"-":ke.LngLatHelper.roundPrecision(i,t)}}},watch:{point:{async handler(){var i,t,a,n,s;this.point&&(this.positionOffset="-",this.position={portId:(i=this.point)==null?void 0:i.portId,lat:(t=this.point)==null?void 0:t.lat,lng:(a=this.point)==null?void 0:a.lng,name:((n=this.point)==null?void 0:n.portName)||this.computeLat(this.point.lat)+", "+this.computeLng(this.point.lng),remark:(s=this.point)==null?void 0:s.remark},this.handleRender())},deep:!0,immediate:!0},menuIndex:{handler(){this.loading={weatherEchart:!0,meteogramEchart:!0,hoursTable:!0,daysTable:!0,hourlyTable:!0,seasonalEchart:!0},this.handleRender()}}},mounted(){this.fetchMyFollows(),this.$nextTick(()=>{document.addEventListener("click",i=>{const t=document.getElementById("seasonal-title");!(t!=null&&t.contains(i.target))&&this.seasonalData&&(this.seasonalData.showMonths=!1)}),document.addEventListener("click",i=>{var s,l;const t=document.getElementById("history-date-title"),a=(s=document.getElementsByClassName("datetime-select-box"))==null?void 0:s[0],n=(l=document.getElementsByClassName("el-picker__popper"))==null?void 0:l[0];!(t!=null&&t.contains(i.target))&&!(a!=null&&a.contains(i.target))&&!(n!=null&&n.contains(i.target))&&this.meteoData&&(this.meteoData.showDateSelect=!1)})}),localStorage.removeItem("idmCollectList")},methods:{handleSearchFocus(){this.placeholder="",this.positionList=JSON.parse(JSON.stringify(this.followList))},async fetchSuggestPosition(i){var n;const t=i.replaceAll(",",",");if(!t)return!1;const a=await Ee.get(`${this.gateway}/api/arc/ports/suggest?n=${t}`,{headers:{Authorization:this.token}});(a==null?void 0:a.data.code)===0&&(this.positionList=(n=a==null?void 0:a.data.data)==null?void 0:n.map(s=>(s.name=s.id?s.name:this.computeLat(s.lat)+", "+this.computeLng(s.lng),s.portId=s.id,s)))},async handleSearch(i){var t,a,n,s;if(this.searchName){this.handleClearHoursTable(),this.followList?this.followItem=this.followList.find(m=>m.name===this.searchName):await this.fetchMyFollows();const l=this.positionList.find(m=>m.name===this.searchName);this.position={portId:((t=this.followItem)==null?void 0:t.portId)||(l==null?void 0:l.portId),lat:l==null?void 0:l.lat,lng:l==null?void 0:l.lng,name:this.searchName,remark:((a=this.followItem)==null?void 0:a.remark)||(l==null?void 0:l.remark),followId:((n=this.followItem)==null?void 0:n.followId)||l.followId},this.positionOffset="-",this.followRemark=((s=this.followItem)==null?void 0:s.remark)||"",this.$emit("url",this.position),(this.menuIndex===1||this.menuIndex===3)&&await this.fetchForecastMeteo(),this.handleRender()}},handleFollowDialogOpen(){var t;this.showFollowDialog=!0;const i=(t=this.position)!=null&&t.portId?"Port":"Coordinate";this.followDialogTitle=this.followItem?`Remove the ${i} from My Follows ?`:`Add the ${i} to My Follows ?`},async fetchMyFollows(){var t,a,n;this.followList=[];const i=await Ee.get(`${this.gateway}/api/rsv/follows`,{headers:{Authorization:this.token},params:{b:2,pn:1,ps:1e4}});((t=i==null?void 0:i.data)==null?void 0:t.code)===0&&((n=(a=i.data)==null?void 0:a.data)==null||n.rows.forEach(s=>{var m,C,N,b,S,G,v,T;const l={};l.followId=s.id,l.remark=s.remark,l.name=((m=s.port)==null?void 0:m.name)||this.computeLat((C=s==null?void 0:s.coordinate)==null?void 0:C.lat)+", "+this.computeLng((N=s==null?void 0:s.coordinate)==null?void 0:N.lng),l.nameRemark=l.remark?`${l.name} ( ${l.remark} )`:l.name,l.portId=(b=s.port)==null?void 0:b.id,l.lat=((S=s.port)==null?void 0:S.lat)||((G=s==null?void 0:s.coordinate)==null?void 0:G.lat),l.lng=((v=s.port)==null?void 0:v.lng)||((T=s==null?void 0:s.coordinate)==null?void 0:T.lng),this.followList.push(l)}),this.followItem=this.followList.find(s=>{var l,m;return s.followId&&((l=this.position)==null?void 0:l.followId)&&s.followId===((m=this.position)==null?void 0:m.followId)}))},handleClickFollow(){if(this.followItem)Ee.delete(`${this.gateway}/api/rsv/follows/${this.position.followId}`,{headers:{Authorization:this.token}}).then(i=>{var t;((t=i.data)==null?void 0:t.code)===0&&(this.showFollowDialog=!1,this.searchName="",this.followItem=void 0,this.followRemark="",this.position.followId=void 0,this.position.remark="",this.fetchMyFollows())});else{const i={portId:this.position.portId,lng:this.position.portId?void 0:this.position.lng,lat:this.position.portId?void 0:this.position.lat,remark:this.followRemark};Ee.post(`${this.gateway}/api/rsv/follows`,i,{headers:{Authorization:this.token}}).then(t=>{var a,n,s;((a=t.data)==null?void 0:a.code)===0&&(this.showFollowDialog=!1,this.position.remark=this.followRemark,this.position.followId=(s=(n=t.data)==null?void 0:n.data)==null?void 0:s.id,this.fetchMyFollows())})}},async fetchForecastMeteo(i){var n,s,l,m,C,N,b;if(this.meteoData=void 0,!this.token)return!1;this.loading={weatherEchart:!0,meteogramEchart:!0,hoursTable:!0,daysTable:!0,hourlyTable:!0,seasonalEchart:!0};const t={lat:this.position.lat,lng:this.position.lng,forecastDays:i||7},a=await Ee.post(`${this.gateway}/api/arc/meteo2/spot/forecast`,t,{headers:{Authorization:this.token}});(a==null?void 0:a.data.code)===0&&(this.meteoData={...a==null?void 0:a.data.data},this.etime=(n=a==null?void 0:a.data)==null?void 0:n.etime,this.positionGmt=(m=(l=(s=this.meteoData)==null?void 0:s.weather)==null?void 0:l[0])==null?void 0:m.timezone,this.positionOffset=(b=(N=(C=this.meteoData)==null?void 0:C.weather)==null?void 0:N[0])==null?void 0:b.offset,this.issuedDate=E(this.etime).utc().format("MMM-DD/HHmm[Z], YYYY"))},async fetchHistoryMeteo(i){var s,l,m,C,N,b,S;if(this.meteoData=void 0,!this.token)return!1;this.loading.meteogramEchart=!0,this.loading.hourlyTable=!0;const t=Y(this.dateRangeZ[0]||this.etime).tz(this.positionGmt).set({hour:0,minute:0,second:0}).format(),a={lat:this.position.lat,lng:this.position.lng,datetime:t,forecastDays:i},n=await Ee.post(`${this.gateway}/api/arc/meteo2/spot/forecast`,a,{headers:{Authorization:this.token}});(n==null?void 0:n.data.code)===0&&(this.meteoData=n==null?void 0:n.data.data,this.meteoData.showDateSelect=!1,this.etime=(s=n==null?void 0:n.data)==null?void 0:s.etime,this.positionGmt=(C=(m=(l=this.meteoData)==null?void 0:l.weather)==null?void 0:m[0])==null?void 0:C.timezone,this.positionOffset=(S=(b=(N=this.meteoData)==null?void 0:N.weather)==null?void 0:b[0])==null?void 0:S.offset,this.issuedDate=E(this.etime).utc().format("MMM-DD/HHmm[Z], YYYY"))},async handleRender(){if(this.disposeEcharts(),this.menuIndex===1){this.initDatePickerInfo();const i=E(this.dateRangeZ[1]).diff(E(this.dateRangeZ[0]),"d",!0)+1;await this.fetchHistoryMeteo(i),this.handleMeteogramData14(this.meteoData,i,this.dateRangeZ[0]),this.initHourlyTableData(this.meteoData,i,this.dateRangeZ[0],!0)}else 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())},initInfo(){this.activeIndex=Y(this.etime).tz(this.positionGmt).hour(),this.pickedDate=Y(this.etime).tz(this.positionGmt).set({hour:0,minute:0,second:0,millisecond:0}).format()},initDatePickerInfo(){if(!this.dateRangeZ[0]||!this.dateRange[1]){this.dateRangeZ=[E(this.etime).add(-7,"day").utc().format(),E(this.etime).add(-1,"day").utc().format()];const i=[Y(this.dateRangeZ[0]).tz(this.positionGmt).format("yyyy-MM-DD"),Y(this.dateRangeZ[1]).tz(this.positionGmt).format("yyyy-MM-DD")];this.dateRange=[E(i[0]).format(),E(i[1]).format()]}else{const i=[Y(this.dateRangeZ[0]).tz(this.positionGmt).format("yyyy-MM-DD"),Y(this.dateRangeZ[1]).tz(this.positionGmt).format("yyyy-MM-DD")];this.dateRange=[E(i[0]).format(),E(i[1]).format()]}this.datePickerOptions={shortcuts:[{text:"Last week",value:i=>{const t=E(this.etime).add(-1,"day").unix()*1e3;return[E(this.etime).add(-7,"day").unix()*1e3,t]}},{text:"Last 2 weeks",value:i=>{const t=E(this.etime).add(-1,"day").unix()*1e3;return[E(this.etime).add(-14,"day").unix()*1e3,t]}}],disabledDate:i=>{const t=i.getTime()>E(this.etime).add(-1,"day").unix()*1e3,a=this.selectDate&&Math.abs(E(i).diff(E(this.selectDate),"d",!0))>=14;return t||a}}},initWeatherEchart(){const i=[],t=[],a=[],n=[],s=[],l=[],m=[],C=[],N=[],b=[],S={},G="data:image/svg+xml;base64,"+window.btoa(unescape(encodeURIComponent('<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>'))),v="data:image/svg+xml;base64,"+window.btoa(unescape(encodeURIComponent('<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>'))),T=new Image(64,64);T.src=v,T.onload=()=>{var U,R,X,W,J,q,Z,_,$,h,z,Q,k;this.loading.weatherEchart=!1;for(let g=0;g<7;g++){const L=E(this.pickedDate).clone().add(g,"d").format();i.push(Y(L).tz(this.positionGmt).format("yyyy-MM-DD")),t.push(this.computeMMMDDLT(L)),a.push(g===0?"Today":this.computeWeekLT(L));const x=((U=De.pickDaily(this.meteoData,L))==null?void 0:U[0])||{};n.push(this.roundPrecision((X=(R=x.weather)==null?void 0:R.temp)==null?void 0:X.min,0)),s.push(this.roundPrecision((J=(W=x.weather)==null?void 0:W.temp)==null?void 0:J.max,0)),C.push(this.roundPrecision((Z=(q=x.weather)==null?void 0:q.wind)==null?void 0:Z.kts,1)??"- kts"),b.push(this.roundPrecision(($=(_=x.weather)==null?void 0:_.precip)==null?void 0:$.sum,1)??"- mm"),l.push({symbol:"image://"+((h=x.weather)==null?void 0:h.url)}),m.push((z=x.weather)==null?void 0:z.name),N.push((k=(Q=x.weather)==null?void 0:Q.wind)==null?void 0:k.bearing);const u=document.createElement("canvas"),f=u.getContext("2d");u.width=T.width,u.height=T.height;const le=N[g]*(Math.PI/180);f.translate(u.width/2,u.height/2),f.rotate(le),f.translate(-T.width/2,-T.height/2),f.drawImage(T,0,0,64,64);const ie=u.toDataURL();S[`WindIcon${g}`]={height:12,width:12,align:"left",backgroundColor:{image:ie}}}const ee=Math.max(...s.filter(g=>typeof g=="number"&&!isNaN(g)))-Math.min(...n.filter(g=>typeof g=="number"&&!isNaN(g))),te=Math.min(...n.filter(g=>typeof g=="number"&&!isNaN(g)))-1.5*ee,oe=Math.max(...s.filter(g=>typeof g=="number"&&!isNaN(g)))+2*ee,P=4+.5/i.length*92+"%",j={grid:{bottom:0,top:0,left:"4%",right:"4%"},tooltip:{trigger:"item",show:!0,position:"right",formatter:function(g){return g.seriesName==="Weather Icon"?m[g.dataIndex]:!1}},legend:{show:!1},xAxis:{left:0,right:0,top:"50%",height:"50%",type:"category",data:i,show:!1},singleAxis:[{left:P,right:P,type:"category",show:!1,axisLine:{show:!1},axisTick:{show:!1},axisLabel:{show:!1},splitLine:{show:!1},boundaryGap:!1,data:i,top:"7%",height:"2%"},{left:P,right:P,type:"category",show:!1,axisLine:{show:!1},axisTick:{show:!1},axisLabel:{show:!1},splitLine:{show:!1},boundaryGap:!1,data:i,top:"16%",height:"2%"},{left:P,right:P,type:"category",show:!1,axisLine:{show:!1},axisTick:{show:!1},axisLabel:{show:!1},splitLine:{show:!1},boundaryGap:!1,data:i,top:"27%",height:"2%"},{left:P,right:P,type:"category",show:!1,axisLine:{show:!1},axisTick:{show:!1},axisLabel:{show:!1},splitLine:{show:!1},boundaryGap:!1,data:i,top:"84%",height:"2%"},{left:P,right:P,type:"category",show:!1,axisLine:{show:!1},axisTick:{show:!1},axisLabel:{show:!1},splitLine:{show:!1},boundaryGap:!1,data:i,top:"93%",height:"2%"}],yAxis:{type:"value",name:"温度(℃)",show:!1,min:te,max:oe,axisLabel:{formatter:"{value} °C"}},series:[{singleAxisIndex:0,coordinateSystem:"singleAxis",type:"scatter",data:a,label:{show:!0,color:"rgba(0,0,0,0.7)",fontSize:14,formatter:"{c}"},symbolSize:0},{singleAxisIndex:1,coordinateSystem:"singleAxis",type:"scatter",data:t,label:{show:!0,color:"rgba(0,0,0,0.7)",formatter:"{c}"},symbolSize:0},{name:"Weather Icon",singleAxisIndex:2,coordinateSystem:"singleAxis",type:"scatter",data:l,symbolSize:44},{name:"温度(℃)",type:"line",data:n,smooth:!0,itemStyle:{color:"#FF9500"},label:{show:!0,color:"rgba(0,0,0,0.7)",position:[-10,12],formatter:"{c} °C",fontSize:12},markArea:{itemStyle:{color:"rgba(64,159,255,0.25)"},data:[[{x:"4%"},{x:4+1/i.length*92+"%"}]]}},{name:"温度(℃)",type:"line",data:s,smooth:!0,itemStyle:{color:"#d88102"},label:{show:!0,color:"rgba(0,0,0,0.7)",position:[-10,-12],formatter:"{c} °C",fontSize:12}},{singleAxisIndex:3,coordinateSystem:"singleAxis",type:"scatter",data:C,label:{show:!0,color:"rgba(0,0,0,0.7)",rich:{...S,title:{align:"center",vertical:"center"}},formatter:function(g){return`{WindIcon${g.dataIndex}|}{title|${g.value}} kts`}},symbolSize:0},{singleAxisIndex:4,coordinateSystem:"singleAxis",type:"scatter",data:b,label:{show:!0,color:"rgba(0,0,0,0.7)",rich:{dIcon:{height:16,width:16,align:"left",backgroundColor:{image:G}},title:{align:"center",vertical:"center"}},formatter:function(g){return`{dIcon|}{title|${g.value}} mm`}},symbolSize:0}]};this.$nextTick(()=>{const g=we.init(document.getElementById("weather-chart"));g.setOption(j),g.on("click",L=>{const x=L.dataIndex,u=i[x].split("-");this.pickedDate=Y().tz(this.positionGmt).set({year:u[0],month:Number(u[1]-1),date:Number(u[2]),hour:0,minute:0,second:0,millisecond:0}).format(),this.pickedWeek=x===0?"Today":this.computeWeekLT(this.pickedDate),this.activeIndex=x===0?Y(this.etime).tz(this.positionGmt).hour():void 0,this.initHoursTableData(),j.series[3].markArea={itemStyle:{color:"rgba(64,159,255,0.25)"},data:[[{x:4+x/i.length*92+"%"},{x:4+(x+1)/i.length*92+"%"}]]},g.setOption(j)})})}},handleMeteogramData7(i){this.meteogramData={xDates:[],dates:[],hours:[],temperaturesY:[],temperaturesX:[],weatherIcons:[],weatherNames:[],windspeed:[],windGusts:[],windDir:[],windDirIcons:{},precip:[],sigWaveHeight:[],swellHeight:[],markarea:[],offset:void 0};let a={start:void 0,end:void 0};const n="data:image/svg+xml;base64,"+window.btoa(unescape(encodeURIComponent('<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>'))),s=new Image(64,64);s.src=n,s.onload=()=>{var m,C,N,b,S,G,v,T,ee,te,oe,P,j,U,R,X,W,J,q,Z,_,$,h,z,Q,k,g,L,x,u,f,re,le,ie,c,ce,y,F,I,ne,H;this.loading.meteogramEchart=!1;const l=Y(this.etime).tz(this.positionGmt).set({hour:0,minute:0,second:0,millisecond:0}).format();for(let r=0;r<7*24;r++){const K=E(l).clone().add(r,"h").format();(m=this.meteogramData)==null||m.dates.push(K);const D=((C=De.pickHourly(i,K))==null?void 0:C[0])||{};if(r%12===0&&r%24!==0?(N=this.meteogramData)==null||N.xDates.push(Y(K).tz(this.positionGmt).format("MMM-DD")):(b=this.meteogramData)==null||b.xDates.push(""),r%3===0?(S=this.meteogramData)==null||S.hours.push(this.computeHourLT(K)):(G=this.meteogramData)==null||G.hours.push(""),(T=this.meteogramData)==null||T.temperaturesX.push([K,this.roundPrecision((v=D==null?void 0:D.weather)==null?void 0:v.temp,0)]),(te=this.meteogramData)==null||te.temperaturesY.push(this.roundPrecision((ee=D==null?void 0:D.weather)==null?void 0:ee.temp,0)),(j=this.meteogramData)==null||j.precip.push(this.roundPrecision((P=(oe=D==null?void 0:D.weather)==null?void 0:oe.precip)==null?void 0:P.sum,1)),(X=this.meteogramData)==null||X.windspeed.push(this.roundPrecision((R=(U=D.weather)==null?void 0:U.wind)==null?void 0:R.kts,1)),(q=this.meteogramData)==null||q.windGusts.push(this.roundPrecision((J=(W=D==null?void 0:D.weather)==null?void 0:W.wind)==null?void 0:J.gusts,1)),($=this.meteogramData)==null||$.sigWaveHeight.push(this.roundPrecision((_=(Z=D==null?void 0:D.wave)==null?void 0:Z.sig)==null?void 0:_.height)),(Q=this.meteogramData)==null||Q.swellHeight.push(this.roundPrecision((z=(h=D==null?void 0:D.wave)==null?void 0:h.swell)==null?void 0:z.height)),r%6===0?((g=this.meteogramData)==null||g.weatherIcons.push({symbol:"image://"+((k=D.weather)==null?void 0:k.url),symbolSize:30}),(x=this.meteogramData)==null||x.weatherNames.push((L=D.weather)==null?void 0:L.name)):((f=this.meteogramData)==null||f.weatherIcons.push({symbol:"image://"+((u=D.weather)==null?void 0:u.url),symbolSize:0}),(re=this.meteogramData)==null||re.weatherNames.push("")),r%3===0?(c=this.meteogramData)==null||c.windDir.push((ie=(le=D.weather)==null?void 0:le.wind)==null?void 0:ie.bearing):(ce=this.meteogramData)==null||ce.windDir.push(void 0),r%3===0){const ae=document.createElement("canvas"),V=ae.getContext("2d");ae.width=s.width,ae.height=s.height;const p=((y=this.meteogramData)==null?void 0:y.windDir[r])*(Math.PI/180);V.translate(ae.width/2,ae.height/2),V.rotate(p),V.translate(-s.width/2,-s.height/2),V.drawImage(s,0,0,64,64);const O=ae.toDataURL();this.meteogramData.windDirIcons[r]=O}else this.meteogramData.windDirIcons[r]=void 0;(F=D==null?void 0:D.weather)!=null&&F.isDay?a.end===void 0&&a.start>=0&&(a.end=r):a.start===void 0&&(a.start=r),(a.start>=0&&a.end>=0||a.start>=0&&r===7*24-1)&&((I=this.meteogramData)==null||I.markarea.push([{x:4+a.start/(7*24)*92+"%"},{x:4+(a.end+1)/(7*24)*92+"%"}]),a={start:void 0,end:void 0})}this.meteogramData.offset=4+.5/((H=(ne=this.meteogramData)==null?void 0:ne.dates)==null?void 0:H.length)*92+"%",this.$nextTick(()=>{this.initMeteogramEchart(7)})}},handleMeteogramData14(i,t,a){const n=t||14,s=a||this.etime;this.meteogramData={xDates:[],dates:[],hours:[],temperaturesX:[],temperaturesY:[],weatherIcons:[],weatherNames:[],windspeed:[],windGusts:[],windDir:[],windDirIcons:{},precip:[],sigWaveHeight:[],swellHeight:[],markarea:[],offset:void 0};let l={start:void 0,end:void 0};const m="data:image/svg+xml;base64,"+window.btoa(unescape(encodeURIComponent('<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>'))),C=new Image(64,64);C.src=m,C.onload=()=>{var b,S,G,v,T,ee,te,oe,P,j,U,R,X,W,J,q,Z,_,$,h,z,Q,k,g,L,x,u,f,re,le,ie,c,ce,y,F,I,ne,H,r,K,D,ae;this.loading.meteogramEchart=!1;const N=Y(s).tz(this.positionGmt).set({hour:0,minute:0,second:0,millisecond:0}).format();for(let V=0;V<n*24;V++){const A=E(N).clone().add(V,"h").format();(b=this.meteogramData)==null||b.dates.push(A);const p=((S=De.pickHourly(i,A))==null?void 0:S[0])||{};if((v=this.meteogramData)==null||v.temperaturesY.push(this.roundPrecision((G=p==null?void 0:p.weather)==null?void 0:G.temp,0)),(te=this.meteogramData)==null||te.windspeed.push(this.roundPrecision((ee=(T=p.weather)==null?void 0:T.wind)==null?void 0:ee.kts,1)),(j=this.meteogramData)==null||j.windGusts.push(this.roundPrecision((P=(oe=p==null?void 0:p.weather)==null?void 0:oe.wind)==null?void 0:P.gusts,1)),(X=this.meteogramData)==null||X.sigWaveHeight.push(this.roundPrecision((R=(U=p==null?void 0:p.wave)==null?void 0:U.sig)==null?void 0:R.height)),(q=this.meteogramData)==null||q.swellHeight.push(this.roundPrecision((J=(W=p==null?void 0:p.wave)==null?void 0:W.swell)==null?void 0:J.height)),V%3===0?(($=this.meteogramData)==null||$.precip.push(this.roundPrecision((_=(Z=p==null?void 0:p.weather)==null?void 0:Z.precip)==null?void 0:_.sum3Hours,1)),(z=this.meteogramData)==null||z.temperaturesX.push([A,this.roundPrecision((h=p==null?void 0:p.weather)==null?void 0:h.temp,0)])):(Q=this.meteogramData)==null||Q.precip.push(null),V%12===0&&V%24!==0?(k=this.meteogramData)==null||k.xDates.push(Y(A).tz(this.positionGmt).format("MMM-DD")):(g=this.meteogramData)==null||g.xDates.push(""),V%6===0?(L=this.meteogramData)==null||L.hours.push(this.computeHourLT(A)):(x=this.meteogramData)==null||x.hours.push(""),V%12===0?((f=this.meteogramData)==null||f.weatherIcons.push({symbol:"image://"+((u=p.weather)==null?void 0:u.url),symbolSize:30}),(le=this.meteogramData)==null||le.weatherNames.push((re=p.weather)==null?void 0:re.name)):((c=this.meteogramData)==null||c.weatherIcons.push({symbol:"image://"+((ie=p.weather)==null?void 0:ie.url),symbolSize:0}),(ce=this.meteogramData)==null||ce.weatherNames.push("")),V%6===0?(I=this.meteogramData)==null||I.windDir.push((F=(y=p.weather)==null?void 0:y.wind)==null?void 0:F.bearing):(ne=this.meteogramData)==null||ne.windDir.push(void 0),V%6===0){const O=document.createElement("canvas"),w=O.getContext("2d");O.width=C.width,O.height=C.height;const M=((H=this.meteogramData)==null?void 0:H.windDir[V])*(Math.PI/180);w.translate(O.width/2,O.height/2),w.rotate(M),w.translate(-C.width/2,-C.height/2),w.drawImage(C,0,0,64,64);const se=O.toDataURL();this.meteogramData.windDirIcons[V]=se}else this.meteogramData.windDirIcons[V]=void 0;(r=p==null?void 0:p.weather)!=null&&r.isDay?l.end===void 0&&l.start>=0&&(l.end=V):l.start===void 0&&(l.start=V),(l.start>=0&&l.end>=0||l.start>=0&&V===n*24-1)&&((K=this.meteogramData)==null||K.markarea.push([{x:4+l.start/(n*24)*92+"%"},{x:4+(l.end+1)/(n*24)*92+"%"}]),l={start:void 0,end:void 0})}this.meteogramData.offset=4+.5/((ae=(D=this.meteogramData)==null?void 0:D.dates)==null?void 0:ae.length)*92+"%",this.$nextTick(()=>{this.initMeteogramEchart(14)})}},initMeteogramEchart(i){var ee,te,oe,P,j,U,R,X,W,J,q,Z,_,$,h,z,Q,k,g,L,x,u,f,re,le,ie,c,ce,y,F,I,ne,H,r,K,D,ae,V;const t=we.init(document.getElementById("weather-icons")),a={grid:{show:!0,bottom:"0%",top:"0%",left:"4%",right:"4%",borderColor:"#666",borderWidth:1,z:1,zlevel:1},tooltip:{trigger:"item",show:!0,position:"right",formatter:A=>{const p=A==null?void 0:A.dataIndex;return A.seriesName==="Weather Icons"?`<strong>${this.meteogramData.weatherNames[p]}</strong>`:!1}},legend:{show:!1,right:"4%"},xAxis:{left:0,right:0,top:"50%",height:"50%",type:"category",data:(ee=this.meteogramData)==null?void 0:ee.dates,show:!1},singleAxis:[{left:(te=this.meteogramData)==null?void 0:te.offset,right:(oe=this.meteogramData)==null?void 0:oe.offset,type:"category",show:!1,axisLine:{show:!1},axisTick:{show:!1},axisLabel:{show:!1},splitLine:{show:!1},boundaryGap:!1,data:(P=this.meteogramData)==null?void 0:P.dates,top:"50%",height:"2%"}],series:[{name:"Weather Icons",type:"scatter",singleAxisIndex:0,coordinateSystem:"singleAxis",data:(j=this.meteogramData)==null?void 0:j.weatherIcons,symbolSize:24}]};t.setOption(a);let n=Math.max(...this.meteogramData.temperaturesY.filter(A=>typeof A=="number"&&!isNaN(A))),s=Math.min(...this.meteogramData.temperaturesY.filter(A=>typeof A=="number"&&!isNaN(A)))>0?0:Math.min(...this.meteogramData.temperaturesY.filter(A=>typeof A=="number"&&!isNaN(A))),l=Math.floor(s/5)*5,m=Math.ceil(n/5)*5,C=Math.ceil((m-l)/5),N="",b=[];i===7?(N="Precip.1h ( mm ) ",b=[{gte:50,color:"rgba(197, 5, 58, 1)",label:"Heavy Rainstorm, >=20mm"},{gte:8,lte:19.9,color:"rgba(248, 1, 1, 1)",label:"Rainstorm, <=19.9mm"},{gte:4,lte:7.9,color:"rgba(190, 226, 2, 18)",label:"Heavy, <=7.9mm"},{gte:2,lte:3.9,color:"rgba(3, 248, 103, 1)",label:"Moderate, <=3.9mm"},{lt:2,color:"rgba(172, 210, 255, 1)",label:"Light, <2mm"}]):(N="Precip.3h ( mm ) ",b=[{gte:100,color:"rgba(197, 5, 58, 1)",label:"Heavy Rainstorm, >=50mm"},{gte:25,lte:49.9,color:"rgba(248, 1, 1, 1)",label:"Rainstorm, <=49.9mm"},{gte:10,lte:24.9,color:"rgba(190, 226, 2, 18)",label:"Heavy, <=24.9mm"},{gte:5,lte:9.9,color:"rgba(3, 248, 103, 1)",label:"Moderate, <=9.9mm"},{lt:5,color:"rgba(172, 210, 255, 1)",label:"Light, <5mm"}]);const S=we.init(document.getElementById("weather-condition")),G={title:{text:"Weather conditions",top:"10px",left:"5px",textStyle:{fontWeight:"normal",fontSize:14}},grid:{show:!0,bottom:"20%",top:"90px",left:"4%",right:"4%",borderColor:"#666",borderWidth:1,z:1,zlevel:1},tooltip:{trigger:"axis",show:!0,position:"right",formatter:A=>{var O,w,de,M,se,he,B,o,d,fe,ye,Ae,ge,ue,Ce,Ie,Be,Qe,Me,Le,ze,He,Se,Pe,Te,Ge;const p=(O=A==null?void 0:A.find(pe=>pe.seriesType==="bar"))==null?void 0:O.dataIndex;if(A.find(pe=>pe.seriesType==="scatter"))return!1;{let pe="";return i===7?(((w=A[1])==null?void 0:w.value)<2?pe="rgba(172, 210, 255, 1)":((de=A[1])==null?void 0:de.value)<=3.9?pe="rgba(3, 248, 103, 1)":((M=A[1])==null?void 0:M.value)<=7.9?pe="rgba(190, 226, 2, 18)":((se=A[1])==null?void 0:se.value)<=19.9?pe="rgba(248, 1, 1, 1)":((he=A[1])==null?void 0:he.value)>=20?pe="rgba(197, 5, 58, 1)":pe="rgba(172, 210, 255, 1)",`<div style="font-size: 13px;"><strong>${Y((B=this.meteogramData)==null?void 0:B.dates[p]).tz(this.positionGmt).format("MMM-DD/HHmm[LT]")}</strong></div>
2
2
  <div style="display: ${(o=this.meteogramData)!=null&&o.weatherNames[p]?"block":"none"}; font-size: 13px;">
3
3
  <span>Weather : </span><strong>${(d=this.meteogramData)==null?void 0:d.weatherNames[p]}</strong>
4
4
  </div>
5
5
  <div style="font-size: 13px;">
6
6
  <span style="display:inline-block; height: 10px;width: 10px;border-radius: 50%;background-color: #FF9500;}"></span>
7
- <span>Temperature : </span><strong>${(Ee=(Be=A[0])==null?void 0:Be.value)==null?void 0:Ee[1]}</strong><span style="padding-left: 3px;">℃</span>
7
+ <span>Temperature : </span><strong>${(ye=(fe=A[0])==null?void 0:fe.value)==null?void 0:ye[1]}</strong><span style="padding-left: 3px;">℃</span>
8
8
  </div>
9
9
  <div style="font-size: 13px;">
10
10
  <span style="display:inline-block; height: 10px;width: 10px;border-radius: 50%;background: ${pe};"></span>
11
11
  <span>Precip.1h : </span><strong>${(Ae=A[1])==null?void 0:Ae.value}</strong><span style="padding-left: 3px;">mm</span>
12
- </div>`):i===14?(((ge=A[1])==null?void 0:ge.value)<5?pe="rgba(172, 210, 255, 1)":((Ce=A[1])==null?void 0:Ce.value)<=9.9?pe="rgba(3, 248, 103, 1)":((ue=A[1])==null?void 0:ue.value)<=24.9?pe="rgba(190, 226, 2, 18)":((Ie=A[1])==null?void 0:Ie.value)<=49.9?pe="rgba(248, 1, 1, 1)":((fe=A[1])==null?void 0:fe.value)>50?pe="rgba(197, 5, 58, 1)":pe="rgba(172, 210, 255, 1)",`<div style="font-size: 13px;"
12
+ </div>`):i===14?(((ge=A[1])==null?void 0:ge.value)<5?pe="rgba(172, 210, 255, 1)":((ue=A[1])==null?void 0:ue.value)<=9.9?pe="rgba(3, 248, 103, 1)":((Ce=A[1])==null?void 0:Ce.value)<=24.9?pe="rgba(190, 226, 2, 18)":((Ie=A[1])==null?void 0:Ie.value)<=49.9?pe="rgba(248, 1, 1, 1)":((Be=A[1])==null?void 0:Be.value)>50?pe="rgba(197, 5, 58, 1)":pe="rgba(172, 210, 255, 1)",`<div style="font-size: 13px;"
13
13
  <strong>${Y((Qe=this.meteogramData)==null?void 0:Qe.dates[p]).tz(this.positionGmt).format("MMM-DD/HHmm[LT]")}</strong>
14
14
  </div>
15
15
  <div style="display: ${(Me=this.meteogramData)!=null&&Me.weatherNames[p]?"block":"none"}; font-size: 13px;">
@@ -22,24 +22,24 @@
22
22
  <div style="display: ${isNaN((Te=A[1])==null?void 0:Te.value)?"none":"block"};font-size: 13px;">
23
23
  <span style="display:inline-block; height: 10px;width: 10px;border-radius: 50%;background: ${pe};"></span>
24
24
  <span>Precip.3h : </span><strong>${(Ge=A[1])==null?void 0:Ge.value}</strong><span style="padding-left: 3px;">mm</span>
25
- </div>`):!1}}},legend:{show:!0,top:"10px",right:"4%",data:["Temperature"],itemWidth:40},xAxis:{show:!0,left:0,right:0,top:"50%",height:"50%",type:"category",data:(U=this.meteogramData)==null?void 0:U.dates,axisLabel:{show:!1},axisLine:{show:!1,onZero:!1},axisTick:{show:!0,inside:!0,lineStyle:{color:"rgba(0,0,0,0.7)"}},z:1,zlevel:1},singleAxis:[{left:(R=this.meteogramData)==null?void 0:R.offset,right:(X=this.meteogramData)==null?void 0:X.offset,type:"category",show:!1,axisLine:{show:!1},axisTick:{show:!1},axisLabel:{show:!1},splitLine:{show:!1},boundaryGap:!1,data:(W=this.meteogramData)==null?void 0:W.dates,top:"17%",height:"2%"},{left:(J=this.meteogramData)==null?void 0:J.offset,right:(q=this.meteogramData)==null?void 0:q.offset,type:"category",show:!1,axisLine:{show:!1},axisTick:{show:!1},axisLabel:{show:!1},splitLine:{show:!1},boundaryGap:!1,data:(Z=this.meteogramData)==null?void 0:Z.dates,top:"27%",height:"2%"},{left:(_=this.meteogramData)==null?void 0:_.offset,right:($=this.meteogramData)==null?void 0:$.offset,type:"category",show:!1,axisLine:{show:!1},axisTick:{show:!1},axisLabel:{show:!1},splitLine:{show:!1},boundaryGap:!1,data:(h=this.meteogramData)==null?void 0:h.dates,top:"84%",height:"2%"},{left:(z=this.meteogramData)==null?void 0:z.offset,right:(Q=this.meteogramData)==null?void 0:Q.offset,type:"category",show:!1,axisLine:{show:!1},axisTick:{show:!1},axisLabel:{show:!1},splitLine:{show:!1},boundaryGap:!1,data:(k=this.meteogramData)==null?void 0:k.dates,top:"92%",height:"2%"}],yAxis:[{type:"value",name:"Temperature ( ℃ ) ",show:!0,min:l,max:m,interval:u,splitNumber:5,nameRotate:90,nameLocation:"middle",nameGap:25,splitLine:{show:!0},z:0,zlevel:0},{position:"right",type:"value",name:N,min:0,max:Math.ceil((Math.max(...this.meteogramData.precip.filter(A=>typeof A=="number"&&!isNaN(A)))+1)/5)*5,interval:Math.ceil((Math.max(...this.meteogramData.precip.filter(A=>typeof A=="number"&&!isNaN(A)))+1)/5),splitNumber:5,show:!0,nameRotate:90,nameLocation:"middle",nameGap:25,splitLine:{show:!0},z:0,zlevel:0}],visualMap:{type:"piecewise",orient:"horizontal",top:31,right:"4%",show:!0,pieces:b,seriesIndex:1,dimension:1},series:[{name:"Temperature",type:"line",yAxisIndex:0,data:(g=this.meteogramData)==null?void 0:g.temperaturesX,symbol:"none",smooth:!1,itemStyle:{color:"#FF9500"},label:{show:!1},markArea:{z:-1,zlevel:-1,itemStyle:{color:"rgba(239,239,239,0.6)"},data:(L=this.meteogramData)==null?void 0:L.markarea,emphasis:{disabled:!0}}},{name:"Precipitation:",type:"bar",yAxisIndex:1,data:(x=this.meteogramData)==null?void 0:x.precip,itemStyle:{color:"#0c73a8"},label:{show:!1}},{singleAxisIndex:2,coordinateSystem:"singleAxis",type:"scatter",data:(C=this.meteogramData)==null?void 0:C.hours,label:{show:!0,fontSize:11,formatter:"{c}"},itemStyle:{color:"#fff"},symbolSize:0},{singleAxisIndex:3,coordinateSystem:"singleAxis",type:"scatter",data:(f=this.meteogramData)==null?void 0:f.xDates,label:{show:!0,fontSize:13,formatter:"{c}"},itemStyle:{color:"#fff"},symbolSize:0}]};S.setOption(G);const j=we.init(document.getElementById("wave-swell")),T={title:{text:"Wave & Swell",top:"10px",left:"5px",textStyle:{fontWeight:"normal",fontSize:14}},grid:{show:!0,bottom:"20%",top:"40px",left:"4%",right:"4%",borderColor:"#666",borderWidth:1,z:1,zlevel:1},tooltip:{trigger:"axis",triggerOn:"mousemove",show:!0,position:"right",formatter:A=>{var O,w,de,M,se,he;const p=(O=A==null?void 0:A[0])==null?void 0:O.dataIndex;return A.find(B=>B.seriesType==="scatter")?!1:`<div style="font-size: 13px;"><strong>${Y((w=this.meteogramData)==null?void 0:w.dates[p]).tz(this.positionGmt).format("MMM-DD/HHmm[LT]")}</strong></div>
26
- <div style="font-size: 13px;">
25
+ </div>`):!1}}},legend:{show:!0,top:"10px",right:"4%",data:["Temperature"],itemWidth:40},xAxis:{show:!0,left:0,right:0,top:"50%",height:"50%",type:"category",data:(U=this.meteogramData)==null?void 0:U.dates,axisLabel:{show:!1},axisLine:{show:!1,onZero:!1},axisTick:{show:!0,inside:!0,lineStyle:{color:"rgba(0,0,0,0.7)"}},z:1,zlevel:1},singleAxis:[{left:(R=this.meteogramData)==null?void 0:R.offset,right:(X=this.meteogramData)==null?void 0:X.offset,type:"category",show:!1,axisLine:{show:!1},axisTick:{show:!1},axisLabel:{show:!1},splitLine:{show:!1},boundaryGap:!1,data:(W=this.meteogramData)==null?void 0:W.dates,top:"17%",height:"2%"},{left:(J=this.meteogramData)==null?void 0:J.offset,right:(q=this.meteogramData)==null?void 0:q.offset,type:"category",show:!1,axisLine:{show:!1},axisTick:{show:!1},axisLabel:{show:!1},splitLine:{show:!1},boundaryGap:!1,data:(Z=this.meteogramData)==null?void 0:Z.dates,top:"27%",height:"2%"},{left:(_=this.meteogramData)==null?void 0:_.offset,right:($=this.meteogramData)==null?void 0:$.offset,type:"category",show:!1,axisLine:{show:!1},axisTick:{show:!1},axisLabel:{show:!1},splitLine:{show:!1},boundaryGap:!1,data:(h=this.meteogramData)==null?void 0:h.dates,top:"84%",height:"2%"},{left:(z=this.meteogramData)==null?void 0:z.offset,right:(Q=this.meteogramData)==null?void 0:Q.offset,type:"category",show:!1,axisLine:{show:!1},axisTick:{show:!1},axisLabel:{show:!1},splitLine:{show:!1},boundaryGap:!1,data:(k=this.meteogramData)==null?void 0:k.dates,top:"92%",height:"2%"}],yAxis:[{type:"value",name:"Temperature ( ℃ ) ",show:!0,min:l,max:m,interval:C,splitNumber:5,nameRotate:90,nameLocation:"middle",nameGap:25,splitLine:{show:!0},z:0,zlevel:0},{position:"right",type:"value",name:N,min:0,max:Math.ceil((Math.max(...this.meteogramData.precip.filter(A=>typeof A=="number"&&!isNaN(A)))+1)/5)*5,interval:Math.ceil((Math.max(...this.meteogramData.precip.filter(A=>typeof A=="number"&&!isNaN(A)))+1)/5),splitNumber:5,show:!0,nameRotate:90,nameLocation:"middle",nameGap:25,splitLine:{show:!0},z:0,zlevel:0}],visualMap:{type:"piecewise",orient:"horizontal",top:31,right:"4%",show:!0,pieces:b,seriesIndex:1,dimension:1},series:[{name:"Temperature",type:"line",yAxisIndex:0,data:(g=this.meteogramData)==null?void 0:g.temperaturesX,symbol:"none",smooth:!1,itemStyle:{color:"#FF9500"},label:{show:!1},markArea:{z:-1,zlevel:-1,itemStyle:{color:"rgba(239,239,239,0.6)"},data:(L=this.meteogramData)==null?void 0:L.markarea,emphasis:{disabled:!0}}},{name:"Precipitation:",type:"bar",yAxisIndex:1,data:(x=this.meteogramData)==null?void 0:x.precip,itemStyle:{color:"#0c73a8"},label:{show:!1}},{singleAxisIndex:2,coordinateSystem:"singleAxis",type:"scatter",data:(u=this.meteogramData)==null?void 0:u.hours,label:{show:!0,fontSize:11,formatter:"{c}"},itemStyle:{color:"#fff"},symbolSize:0},{singleAxisIndex:3,coordinateSystem:"singleAxis",type:"scatter",data:(f=this.meteogramData)==null?void 0:f.xDates,label:{show:!0,fontSize:13,formatter:"{c}"},itemStyle:{color:"#fff"},symbolSize:0}]};S.setOption(G);const v=we.init(document.getElementById("wave-swell")),T={title:{text:"Wave & Swell",top:"10px",left:"5px",textStyle:{fontWeight:"normal",fontSize:14}},grid:{show:!0,bottom:"20%",top:"40px",left:"4%",right:"4%",borderColor:"#666",borderWidth:1,z:1,zlevel:1},tooltip:{trigger:"axis",triggerOn:"mousemove",show:!0,position:"right",formatter:A=>{var O,w,de,M,se,he,B,o,d,fe;const p=(O=A==null?void 0:A[0])==null?void 0:O.dataIndex;return A.find(ye=>ye.seriesType==="scatter")?!1:`<div style="font-size: 13px;"><strong>${Y((w=this.meteogramData)==null?void 0:w.dates[p]).tz(this.positionGmt).format("MMM-DD/HHmm[LT]")}</strong></div>
26
+ <div style="font-size: 13px;display: ${isNaN((de=A[0])==null?void 0:de.value)?"none":"block"}">
27
27
  <span style="display:inline-block; height: 10px;width: 10px;border-radius: 50%;background-color: #60c43e;}"></span>
28
- <span>Wind Speed : </span><strong>${(de=A[0])==null?void 0:de.value}</strong><span style="padding-left: 3px;">kts</span>
28
+ <span>Wind Speed : </span><strong>${(M=A[0])==null?void 0:M.value}</strong><span style="padding-left: 3px;">kts</span>
29
29
  </div>
30
- <div style="font-size: 13px;">
30
+ <div style="font-size: 13px;display: ${isNaN((se=A[2])==null?void 0:se.value)?"none":"block"}">
31
31
  <span style="display:inline-block; height: 10px;width: 10px;border-radius: 50%;background-color: #4ba229;}"></span>
32
- <span>Wind Gusts : </span><strong>${(M=A[2])==null?void 0:M.value}</strong><span style="padding-left: 3px;">kts</span>
32
+ <span>Wind Gusts : </span><strong>${(he=A[2])==null?void 0:he.value}</strong><span style="padding-left: 3px;">kts</span>
33
33
  </div>
34
- <div style="font-size: 13px;">
34
+ <div style="font-size: 13px;display: ${isNaN((B=A[3])==null?void 0:B.value)?"none":"block"}">
35
35
  <span style="display:inline-block; height: 10px;width: 10px;border-radius: 50%;background-color: #21baa3;"></span>
36
- <span>Swell Height : </span><strong>${(se=A[3])==null?void 0:se.value}</strong><span style="padding-left: 3px;">m</span>
36
+ <span>Swell Height : </span><strong>${(o=A[3])==null?void 0:o.value}</strong><span style="padding-left: 3px;">m</span>
37
37
  </div>
38
- <div style="font-size: 13px;">
38
+ <div style="font-size: 13px;display: ${isNaN((d=A[4])==null?void 0:d.value)?"none":"block"}">
39
39
  <span style="display:inline-block; height: 10px;width: 10px;border-radius: 50%;background-color: #049f9c;}"></span>
40
- <span>Sig.Wave Height : </span><strong>${(he=A[4])==null?void 0:he.value}</strong><span style="padding-left: 3px;">m</span>
40
+ <span>Sig.Wave Height : </span><strong>${(fe=A[4])==null?void 0:fe.value}</strong><span style="padding-left: 3px;">m</span>
41
41
  </div>
42
- `}},legend:{right:"4%",top:"5%",itemWidth:40,data:["Wind Speed",{name:"Wind Direction",itemWidth:20,icon:"path://M445.00000001 133.8l44.39999999-44.39999999c18.8-18.8 49.2-18.8 67.8-1e-8L946 477.99999999c18.8 18.8 18.8 49.2 0 67.80000001l-388.6 388.6c-18.8 18.8-49.2 18.8-67.8 0L445.2 890c-19-19-18.6-50 0.8-68.6L686.80000001 592 112 592c-26.6 0-48-21.4-48-48l0-64c0-26.6 21.4-48 48-48L686.80000001 432 445.8 202.4c-19.6-18.6-20-49.6-0.79999999-68.6z",itemStyle:{color:"#60c43e"}},"Wind Gusts","Swell Height","Sig.Wave Height"]},xAxis:{show:!0,left:0,right:0,top:"50%",height:"50%",type:"category",data:(re=this.meteogramData)==null?void 0:re.dates,axisLabel:{show:!1},axisLine:{show:!1},axisTick:{show:!0,inside:!0,lineStyle:{color:"rgba(0,0,0,0.7)"}},z:1,zlevel:1},singleAxis:[{left:(le=this.meteogramData)==null?void 0:le.offset,right:(ie=this.meteogramData)==null?void 0:ie.offset,type:"category",show:!1,axisLine:{show:!1},axisTick:{show:!1},axisLabel:{show:!1},splitLine:{show:!1},boundaryGap:!1,data:(c=this.meteogramData)==null?void 0:c.dates,top:"84%",height:"2%"},{left:(ce=this.meteogramData)==null?void 0:ce.offset,right:(D=this.meteogramData)==null?void 0:D.offset,type:"category",show:!1,axisLine:{show:!1},axisTick:{show:!1},axisLabel:{show:!1},splitLine:{show:!1},boundaryGap:!1,data:(F=this.meteogramData)==null?void 0:F.dates,top:"92%",height:"2%"}],yAxis:[{type:"value",name:"Wind Speed ( kts )",show:!0,min:0,max:Math.ceil(Math.max(...[...this.meteogramData.windGusts,...this.meteogramData.windspeed].filter(A=>typeof A=="number"&&!isNaN(A)))/5)*5,interval:Math.ceil(Math.max(...[...this.meteogramData.windGusts,...this.meteogramData.windspeed].filter(A=>typeof A=="number"&&!isNaN(A)))/5),splitNumber:5,nameRotate:90,nameLocation:"middle",nameGap:25,splitLine:{show:!0},z:0,zlevel:0},{position:"right",type:"value",name:"Sig.Wave & Swell ( m )",min:0,max:Math.ceil(Math.max(...[...this.meteogramData.sigWaveHeight,...this.meteogramData.swellHeight].filter(A=>typeof A=="number"&&!isNaN(A)))/5)*5,interval:Math.ceil(Math.max(...[...this.meteogramData.sigWaveHeight,...this.meteogramData.swellHeight].filter(A=>typeof A=="number"&&!isNaN(A)))/5),splitNumber:5,show:!0,nameRotate:90,nameLocation:"middle",nameGap:25,splitLine:{show:!0},z:0,zlevel:0}],series:[{name:"Wind Speed",type:"line",yAxisIndex:0,data:(I=this.meteogramData)==null?void 0:I.windspeed,symbol:"none",smooth:!1,itemStyle:{color:"#60c43e"},markArea:{itemStyle:{color:"rgba(239,239,239,0.6)"},data:(ne=this.meteogramData)==null?void 0:ne.markarea,emphasis:{disabled:!0},z:-1,zlevel:-1}},{name:"Wind Direction",type:"custom",yAxisIndex:0,renderItem:(A,p)=>{var de,M;const O=A.dataIndex,w=p.coord([p.value(0),p.value(1)]);return((M=(de=this.meteogramData)==null?void 0:de.windDir)==null?void 0:M[O])>=0?{type:"image",position:w,style:{image:this.meteogramData.windDirIcons[O],x:-12/2,y:6,width:12,height:12}}:!1},data:(H=this.meteogramData)==null?void 0:H.windspeed,z:10},{name:"Wind Gusts",type:"line",yAxisIndex:0,data:(r=this.meteogramData)==null?void 0:r.windGusts,symbol:"none",smooth:!1,itemStyle:{color:"#4ba229"},lineStyle:{color:"#4ba229",type:"dashed"},label:{show:!1}},{name:"Swell Height",type:"line",yAxisIndex:1,data:(K=this.meteogramData)==null?void 0:K.swellHeight,symbol:"none",smooth:!1,itemStyle:{color:"#21baa3"},label:{show:!1}},{name:"Sig.Wave Height",type:"line",yAxisIndex:1,data:(y=this.meteogramData)==null?void 0:y.sigWaveHeight,symbol:"none",smooth:!1,itemStyle:{color:"#017c8a"},label:{show:!1}},{name:"Hours",singleAxisIndex:0,coordinateSystem:"singleAxis",type:"scatter",data:(ae=this.meteogramData)==null?void 0:ae.hours,itemStyle:{color:"#fff"},label:{show:!0,fontSize:10,formatter:"{c}"},symbolSize:0},{name:"Dates",singleAxisIndex:1,coordinateSystem:"singleAxis",type:"scatter",data:(V=this.meteogramData)==null?void 0:V.xDates,itemStyle:{color:"#fff"},label:{show:!0,fontSize:13,formatter:"{c}"},symbolSize:0}]};j.setOption(T),j.on("legendselectchanged",A=>{A.name==="Wind Speed"&&(A.selected["Wind Direction"]=A.selected["Wind Speed"])})},async fetchSeasonalData(){var s,l,m,u,N,b,S,G,j,T,ee,te,oe,P,v,U,R,X,W,J,q,Z,_,$,h,z,Q,k,g,L,x;if(!this.token)return!1;this.loading.seasonalEchart=!0,this.seasonalData={dates:[],xDates:[],highTemp:[],lastYearHighTemp:[],lowTemp:[],lastYearLowTemp:[],windSpeed:[],windDirection:[],lastYearWindSpeed:[],precip:[],lastYearPrecip:[]};const i=Y(this.etime).tz(this.positionGmt).date()>=14?Y(this.etime).tz(this.positionGmt).month()+1:Y(this.etime).tz(this.positionGmt).month(),t=Y(this.etime).tz(this.positionGmt).set({month:i});this.monthsOptions=[];for(let C=0;C<6;C++)this.monthsOptions.push({date:Y(this.etime).tz(this.positionGmt).set({year:t.year(),month:t.month()+C,date:1,hour:0,minute:0,second:0}).format(),month:Y(this.etime).tz(this.positionGmt).set({year:t.year(),month:t.month()+C}).format("MMMM yyyy")});this.currentMonth=this.currentMonth?this.currentMonth:this.monthsOptions[0];let a={lat:this.position.lat,lng:this.position.lng,startDate:Y().tz(this.positionGmt).set({year:t.year(),month:t.month(),date:1,hour:0,minute:0,second:0}).format(),endDate:Y().tz(this.positionGmt).set({year:t.year(),month:t.month()+1,date:1,hour:0,minute:0,second:0}).format(),pastYear:1},n=await ye.post(`${this.gateway}/api/arc/meteo2/spot/seasonal`,a,{headers:{Authorization:this.token}});if((n==null?void 0:n.data.code)===0){this.etime=(s=n==null?void 0:n.data)==null?void 0:s.etime,this.positionGmt=(u=(m=(l=this.meteoData)==null?void 0:l.weather)==null?void 0:m[0])==null?void 0:u.timezone,this.positionOffset=(S=(b=(N=this.meteoData)==null?void 0:N.weather)==null?void 0:b[0])==null?void 0:S.offset,this.issuedDate=E(this.etime).utc().format("MMM-DD/HHmm[Z], YYYY");let C=(G=n==null?void 0:n.data.data)==null?void 0:G.seasonal,f=Y(this.etime).tz(this.positionGmt).set({year:t.year(),month:t.month(),date:1,hour:0,minute:0,second:0}).format();const re=E(a.endDate).diff(E(a.startDate),"day",!0);for(let D=0;D<re;D++){const F=E(f).clone().add(D,"d").format(),I=((j=De.pickDaily(C,F))==null?void 0:j[0])||{};(T=this.seasonalData)==null||T.dates.push(Y(F).tz(this.positionGmt).format("MMM-DD")),(ee=this.seasonalData)==null||ee.xDates.push(Y(F).tz(this.positionGmt).format("DD")),(P=this.seasonalData)==null||P.highTemp.push(this.roundPrecision((oe=(te=I==null?void 0:I.weather)==null?void 0:te.temp)==null?void 0:oe.max,0)),(R=this.seasonalData)==null||R.lowTemp.push(this.roundPrecision((U=(v=I==null?void 0:I.weather)==null?void 0:v.temp)==null?void 0:U.min,0)),(J=this.seasonalData)==null||J.windSpeed.push(this.roundPrecision((W=(X=I.weather)==null?void 0:X.wind)==null?void 0:W.kts,1)),(_=this.seasonalData)==null||_.windDirection.push((Z=(q=I.weather)==null?void 0:q.wind)==null?void 0:Z.direction),(z=this.seasonalData)==null||z.precip.push(this.roundPrecision((h=($=I==null?void 0:I.weather)==null?void 0:$.precip)==null?void 0:h.sum,1))}(((k=(Q=n==null?void 0:n.data.data)==null?void 0:Q.past)==null?void 0:k.reverse())||[]).forEach((D,F)=>{var I,ne,H,r,K,y,ae,V,A,p,O,w,de;f=Y(this.etime).tz(this.positionGmt).set({year:t.year()-(F+1),month:t.month(),date:1,hour:0,minute:0,second:0}).format();for(let M=0;M<re;M++){const se=E(f).clone().add(M,"d").format(),he=((I=De.pickDaily(D,se))==null?void 0:I[0])||{};(r=this.seasonalData)==null||r.lastYearHighTemp.push(this.roundPrecision((H=(ne=he==null?void 0:he.weather)==null?void 0:ne.temp)==null?void 0:H.max,0)),(ae=this.seasonalData)==null||ae.lastYearLowTemp.push(this.roundPrecision((y=(K=he==null?void 0:he.weather)==null?void 0:K.temp)==null?void 0:y.min,0)),(p=this.seasonalData)==null||p.lastYearWindSpeed.push(this.roundPrecision((A=(V=he.weather)==null?void 0:V.wind)==null?void 0:A.kts,1)),(de=this.seasonalData)==null||de.lastYearPrecip.push(this.roundPrecision((w=(O=he==null?void 0:he.weather)==null?void 0:O.precip)==null?void 0:w.sum,1))}}),this.seasonalData.offset=4+.5/((L=(g=this.seasonalData)==null?void 0:g.dates)==null?void 0:L.length)*92+"%",this.seasonalData.minHighTemp=Math.min(...this.seasonalData.highTemp.filter(D=>typeof D=="number"&&!isNaN(D))),this.seasonalData.maxHighTemp=Math.max(...this.seasonalData.highTemp.filter(D=>typeof D=="number"&&!isNaN(D))),this.seasonalData.minLowTemp=Math.min(...this.seasonalData.lowTemp.filter(D=>typeof D=="number"&&!isNaN(D))),this.seasonalData.maxLowTemp=Math.max(...this.seasonalData.lowTemp.filter(D=>typeof D=="number"&&!isNaN(D)));let ie=0;this.seasonalData.highTemp.forEach((D,F)=>{D===this.seasonalData.maxHighTemp&&(ie=F)}),this.seasonalData.hottestDay=this.seasonalData.dates[ie];let c=0;this.seasonalData.lowTemp.forEach((D,F)=>{D===this.seasonalData.minLowTemp&&(c=F)}),this.seasonalData.coldestDay=this.seasonalData.dates[c],this.seasonalData.meanWind=this.seasonalData.windSpeed.reduce((D,F)=>D+F,0)/((x=this.seasonalData.windSpeed)==null?void 0:x.length),this.seasonalData.maxWindSpeed=Math.max(...this.seasonalData.windSpeed.filter(D=>typeof D=="number"&&!isNaN(D)));let ce=0;this.seasonalData.windSpeed.forEach((D,F)=>{D===this.seasonalData.maxWindSpeed&&(ce=F)}),this.seasonalData.windiestDay=this.seasonalData.dates[ce],this.seasonalData.dominantWind=this.findMostFrequent(this.seasonalData.windDirection)}},findMostFrequent(i){const t={};let a=0,n;for(const s of i)t[s]?t[s]++:t[s]=1;for(const s in t)t[s]>a&&(a=t[s],n=s);return n},initSeasonalEchart(){var v,U,R,X,W,J,q,Z,_,$;let i=Math.max(...[...this.seasonalData.highTemp,...this.seasonalData.lastYearHighTemp].filter(h=>typeof h=="number"&&!isNaN(h))),t=Math.min(...[...this.seasonalData.lowTemp,...this.seasonalData.lastYearLowTemp].filter(h=>typeof h=="number"&&!isNaN(h))),a=Math.ceil((i+1)/5)*5,n=Math.floor((t-1)/5)*5,s=Math.ceil((a-n)/5);const l={title:{text:"Temperature",top:"10px",left:"5px",textStyle:{fontWeight:"normal",fontSize:14}},grid:{show:!0,bottom:"15%",top:"45px",left:"6%",right:"6%",borderColor:"#666",borderWidth:1,z:1,zlevel:1},tooltip:{trigger:"axis",show:!0,position:"right",formatter:h=>{var Q,k,g,L,x,C;const z=(Q=h==null?void 0:h[0])==null?void 0:Q.dataIndex;return h.find(f=>f.seriesType==="scatter")?!1:`<div style="font-size: 13px;"><strong>${(k=this.seasonalData)==null?void 0:k.dates[z]}</strong></div>
42
+ `}},legend:{right:"4%",top:"5%",itemWidth:40,data:["Wind Speed",{name:"Wind Direction",itemWidth:20,icon:"path://M445.00000001 133.8l44.39999999-44.39999999c18.8-18.8 49.2-18.8 67.8-1e-8L946 477.99999999c18.8 18.8 18.8 49.2 0 67.80000001l-388.6 388.6c-18.8 18.8-49.2 18.8-67.8 0L445.2 890c-19-19-18.6-50 0.8-68.6L686.80000001 592 112 592c-26.6 0-48-21.4-48-48l0-64c0-26.6 21.4-48 48-48L686.80000001 432 445.8 202.4c-19.6-18.6-20-49.6-0.79999999-68.6z",itemStyle:{color:"#60c43e"}},"Wind Gusts","Swell Height","Sig.Wave Height"]},xAxis:{show:!0,left:0,right:0,top:"50%",height:"50%",type:"category",data:(re=this.meteogramData)==null?void 0:re.dates,axisLabel:{show:!1},axisLine:{show:!1},axisTick:{show:!0,inside:!0,lineStyle:{color:"rgba(0,0,0,0.7)"}},z:1,zlevel:1},singleAxis:[{left:(le=this.meteogramData)==null?void 0:le.offset,right:(ie=this.meteogramData)==null?void 0:ie.offset,type:"category",show:!1,axisLine:{show:!1},axisTick:{show:!1},axisLabel:{show:!1},splitLine:{show:!1},boundaryGap:!1,data:(c=this.meteogramData)==null?void 0:c.dates,top:"84%",height:"2%"},{left:(ce=this.meteogramData)==null?void 0:ce.offset,right:(y=this.meteogramData)==null?void 0:y.offset,type:"category",show:!1,axisLine:{show:!1},axisTick:{show:!1},axisLabel:{show:!1},splitLine:{show:!1},boundaryGap:!1,data:(F=this.meteogramData)==null?void 0:F.dates,top:"92%",height:"2%"}],yAxis:[{type:"value",name:"Wind Speed ( kts )",show:!0,min:0,max:Math.ceil(Math.max(...[...this.meteogramData.windGusts,...this.meteogramData.windspeed].filter(A=>typeof A=="number"&&!isNaN(A)))/5)*5,interval:Math.ceil(Math.max(...[...this.meteogramData.windGusts,...this.meteogramData.windspeed].filter(A=>typeof A=="number"&&!isNaN(A)))/5),splitNumber:5,nameRotate:90,nameLocation:"middle",nameGap:25,splitLine:{show:!0},z:0,zlevel:0},{position:"right",type:"value",name:"Sig.Wave & Swell ( m )",min:0,max:Math.ceil(Math.max(...[...this.meteogramData.sigWaveHeight,...this.meteogramData.swellHeight].filter(A=>typeof A=="number"&&!isNaN(A)))/5)*5,interval:Math.ceil(Math.max(...[...this.meteogramData.sigWaveHeight,...this.meteogramData.swellHeight].filter(A=>typeof A=="number"&&!isNaN(A)))/5),splitNumber:5,show:!0,nameRotate:90,nameLocation:"middle",nameGap:25,splitLine:{show:!0},z:0,zlevel:0}],series:[{name:"Wind Speed",type:"line",yAxisIndex:0,data:(I=this.meteogramData)==null?void 0:I.windspeed,symbol:"none",smooth:!1,itemStyle:{color:"#60c43e"},markArea:{itemStyle:{color:"rgba(239,239,239,0.6)"},data:(ne=this.meteogramData)==null?void 0:ne.markarea,emphasis:{disabled:!0},z:-1,zlevel:-1}},{name:"Wind Direction",type:"custom",yAxisIndex:0,renderItem:(A,p)=>{var de,M;const O=A.dataIndex,w=p.coord([p.value(0),p.value(1)]);return((M=(de=this.meteogramData)==null?void 0:de.windDir)==null?void 0:M[O])>=0?{type:"image",position:w,style:{image:this.meteogramData.windDirIcons[O],x:-12/2,y:6,width:12,height:12}}:!1},data:(H=this.meteogramData)==null?void 0:H.windspeed,z:10},{name:"Wind Gusts",type:"line",yAxisIndex:0,data:(r=this.meteogramData)==null?void 0:r.windGusts,symbol:"none",smooth:!1,itemStyle:{color:"#4ba229"},lineStyle:{color:"#4ba229",type:"dashed"},label:{show:!1}},{name:"Swell Height",type:"line",yAxisIndex:1,data:(K=this.meteogramData)==null?void 0:K.swellHeight,symbol:"none",smooth:!1,itemStyle:{color:"#21baa3"},label:{show:!1}},{name:"Sig.Wave Height",type:"line",yAxisIndex:1,data:(D=this.meteogramData)==null?void 0:D.sigWaveHeight,symbol:"none",smooth:!1,itemStyle:{color:"#017c8a"},label:{show:!1}},{name:"Hours",singleAxisIndex:0,coordinateSystem:"singleAxis",type:"scatter",data:(ae=this.meteogramData)==null?void 0:ae.hours,itemStyle:{color:"#fff"},label:{show:!0,fontSize:10,formatter:"{c}"},symbolSize:0},{name:"Dates",singleAxisIndex:1,coordinateSystem:"singleAxis",type:"scatter",data:(V=this.meteogramData)==null?void 0:V.xDates,itemStyle:{color:"#fff"},label:{show:!0,fontSize:13,formatter:"{c}"},symbolSize:0}]};v.setOption(T),v.on("legendselectchanged",A=>{A.name==="Wind Speed"&&(A.selected["Wind Direction"]=A.selected["Wind Speed"])})},async fetchSeasonalData(){var s,l,m,C,N,b,S,G,v,T,ee,te,oe,P,j,U,R,X,W,J,q,Z,_,$,h,z,Q,k,g,L,x;if(!this.token)return!1;this.loading.seasonalEchart=!0,this.seasonalData={dates:[],xDates:[],highTemp:[],lastYearHighTemp:[],lowTemp:[],lastYearLowTemp:[],windSpeed:[],windDirection:[],lastYearWindSpeed:[],precip:[],lastYearPrecip:[]};const i=Y(this.etime).tz(this.positionGmt).date()>=14?Y(this.etime).tz(this.positionGmt).month()+1:Y(this.etime).tz(this.positionGmt).month(),t=Y(this.etime).tz(this.positionGmt).set({month:i});this.monthsOptions=[];for(let u=0;u<6;u++)this.monthsOptions.push({date:Y(this.etime).tz(this.positionGmt).set({year:t.year(),month:t.month()+u,date:1,hour:0,minute:0,second:0}).format(),month:Y(this.etime).tz(this.positionGmt).set({year:t.year(),month:t.month()+u}).format("MMMM yyyy")});this.currentMonth=this.currentMonth?this.currentMonth:this.monthsOptions[0];let a={lat:this.position.lat,lng:this.position.lng,startDate:Y().tz(this.positionGmt).set({year:t.year(),month:t.month(),date:1,hour:0,minute:0,second:0}).format(),endDate:Y().tz(this.positionGmt).set({year:t.year(),month:t.month()+1,date:1,hour:0,minute:0,second:0}).format(),pastYear:1},n=await Ee.post(`${this.gateway}/api/arc/meteo2/spot/seasonal`,a,{headers:{Authorization:this.token}});if((n==null?void 0:n.data.code)===0){this.etime=(s=n==null?void 0:n.data)==null?void 0:s.etime,this.positionGmt=(C=(m=(l=this.meteoData)==null?void 0:l.weather)==null?void 0:m[0])==null?void 0:C.timezone,this.positionOffset=(S=(b=(N=this.meteoData)==null?void 0:N.weather)==null?void 0:b[0])==null?void 0:S.offset,this.issuedDate=E(this.etime).utc().format("MMM-DD/HHmm[Z], YYYY");let u=(G=n==null?void 0:n.data.data)==null?void 0:G.seasonal,f=Y(this.etime).tz(this.positionGmt).set({year:t.year(),month:t.month(),date:1,hour:0,minute:0,second:0}).format();const re=E(a.endDate).diff(E(a.startDate),"day",!0);for(let y=0;y<re;y++){const F=E(f).clone().add(y,"d").format(),I=((v=De.pickDaily(u,F))==null?void 0:v[0])||{};(T=this.seasonalData)==null||T.dates.push(Y(F).tz(this.positionGmt).format("MMM-DD")),(ee=this.seasonalData)==null||ee.xDates.push(Y(F).tz(this.positionGmt).format("DD")),(P=this.seasonalData)==null||P.highTemp.push(this.roundPrecision((oe=(te=I==null?void 0:I.weather)==null?void 0:te.temp)==null?void 0:oe.max,0)),(R=this.seasonalData)==null||R.lowTemp.push(this.roundPrecision((U=(j=I==null?void 0:I.weather)==null?void 0:j.temp)==null?void 0:U.min,0)),(J=this.seasonalData)==null||J.windSpeed.push(this.roundPrecision((W=(X=I.weather)==null?void 0:X.wind)==null?void 0:W.kts,1)),(_=this.seasonalData)==null||_.windDirection.push((Z=(q=I.weather)==null?void 0:q.wind)==null?void 0:Z.direction),(z=this.seasonalData)==null||z.precip.push(this.roundPrecision((h=($=I==null?void 0:I.weather)==null?void 0:$.precip)==null?void 0:h.sum,1))}(((k=(Q=n==null?void 0:n.data.data)==null?void 0:Q.past)==null?void 0:k.reverse())||[]).forEach((y,F)=>{var I,ne,H,r,K,D,ae,V,A,p,O,w,de;f=Y(this.etime).tz(this.positionGmt).set({year:t.year()-(F+1),month:t.month(),date:1,hour:0,minute:0,second:0}).format();for(let M=0;M<re;M++){const se=E(f).clone().add(M,"d").format(),he=((I=De.pickDaily(y,se))==null?void 0:I[0])||{};(r=this.seasonalData)==null||r.lastYearHighTemp.push(this.roundPrecision((H=(ne=he==null?void 0:he.weather)==null?void 0:ne.temp)==null?void 0:H.max,0)),(ae=this.seasonalData)==null||ae.lastYearLowTemp.push(this.roundPrecision((D=(K=he==null?void 0:he.weather)==null?void 0:K.temp)==null?void 0:D.min,0)),(p=this.seasonalData)==null||p.lastYearWindSpeed.push(this.roundPrecision((A=(V=he.weather)==null?void 0:V.wind)==null?void 0:A.kts,1)),(de=this.seasonalData)==null||de.lastYearPrecip.push(this.roundPrecision((w=(O=he==null?void 0:he.weather)==null?void 0:O.precip)==null?void 0:w.sum,1))}}),this.seasonalData.offset=4+.5/((L=(g=this.seasonalData)==null?void 0:g.dates)==null?void 0:L.length)*92+"%",this.seasonalData.minHighTemp=Math.min(...this.seasonalData.highTemp.filter(y=>typeof y=="number"&&!isNaN(y))),this.seasonalData.maxHighTemp=Math.max(...this.seasonalData.highTemp.filter(y=>typeof y=="number"&&!isNaN(y))),this.seasonalData.minLowTemp=Math.min(...this.seasonalData.lowTemp.filter(y=>typeof y=="number"&&!isNaN(y))),this.seasonalData.maxLowTemp=Math.max(...this.seasonalData.lowTemp.filter(y=>typeof y=="number"&&!isNaN(y)));let ie=0;this.seasonalData.highTemp.forEach((y,F)=>{y===this.seasonalData.maxHighTemp&&(ie=F)}),this.seasonalData.hottestDay=this.seasonalData.dates[ie];let c=0;this.seasonalData.lowTemp.forEach((y,F)=>{y===this.seasonalData.minLowTemp&&(c=F)}),this.seasonalData.coldestDay=this.seasonalData.dates[c],this.seasonalData.meanWind=this.seasonalData.windSpeed.reduce((y,F)=>y+F,0)/((x=this.seasonalData.windSpeed)==null?void 0:x.length),this.seasonalData.maxWindSpeed=Math.max(...this.seasonalData.windSpeed.filter(y=>typeof y=="number"&&!isNaN(y)));let ce=0;this.seasonalData.windSpeed.forEach((y,F)=>{y===this.seasonalData.maxWindSpeed&&(ce=F)}),this.seasonalData.windiestDay=this.seasonalData.dates[ce],this.seasonalData.dominantWind=this.findMostFrequent(this.seasonalData.windDirection)}},findMostFrequent(i){const t={};let a=0,n;for(const s of i)t[s]?t[s]++:t[s]=1;for(const s in t)t[s]>a&&(a=t[s],n=s);return n},initSeasonalEchart(){var j,U,R,X,W,J,q,Z,_,$;let i=Math.max(...[...this.seasonalData.highTemp,...this.seasonalData.lastYearHighTemp].filter(h=>typeof h=="number"&&!isNaN(h))),t=Math.min(...[...this.seasonalData.lowTemp,...this.seasonalData.lastYearLowTemp].filter(h=>typeof h=="number"&&!isNaN(h))),a=Math.ceil((i+1)/5)*5,n=Math.floor((t-1)/5)*5,s=Math.ceil((a-n)/5);const l={title:{text:"Temperature",top:"10px",left:"5px",textStyle:{fontWeight:"normal",fontSize:14}},grid:{show:!0,bottom:"15%",top:"45px",left:"6%",right:"6%",borderColor:"#666",borderWidth:1,z:1,zlevel:1},tooltip:{trigger:"axis",show:!0,position:"right",formatter:h=>{var Q,k,g,L,x,u;const z=(Q=h==null?void 0:h[0])==null?void 0:Q.dataIndex;return h.find(f=>f.seriesType==="scatter")?!1:`<div style="font-size: 13px;"><strong>${(k=this.seasonalData)==null?void 0:k.dates[z]}</strong></div>
43
43
  <div style="font-size: 13px;">
44
44
  <span style="display:inline-block; height: 10px;width: 10px;border-radius: 50%;background-color: #FF9500;}"></span>
45
45
  <span>High : </span><strong>${(g=h[0])==null?void 0:g.value}</strong><span style="padding-left: 3px;">℃</span>
@@ -54,12 +54,12 @@
54
54
  </div>
55
55
  <div style="font-size: 13px;">
56
56
  <span style="display:inline-block; height: 10px;width: 10px;border-radius: 50%;background-color: #7baef7;}"></span>
57
- <span>Low, last year : </span><strong>${(C=h[3])==null?void 0:C.value}</strong><span style="padding-left: 3px;">℃</span>
57
+ <span>Low, last year : </span><strong>${(u=h[3])==null?void 0:u.value}</strong><span style="padding-left: 3px;">℃</span>
58
58
  </div>
59
- `}},legend:{show:!0,top:"15px",right:"6%",itemWidth:40},xAxis:{show:!0,left:0,right:0,top:"50%",height:"50%",type:"category",boundaryGap:!0,data:(v=this.seasonalData)==null?void 0:v.xDates,axisLabel:{show:!0},axisLine:{show:!0,onZero:!1},axisTick:{show:!0,inside:!0,lineStyle:{color:"rgba(0,0,0,0.7)"}},z:1,zlevel:1},yAxis:[{type:"value",name:"Temperature ( ℃ ) ",show:!0,min:n,max:a,interval:s,splitNumber:5,nameRotate:90,nameLocation:"middle",nameGap:25,splitLine:{show:!0},z:0,zlevel:0}],series:[{name:"High",type:"line",data:(U=this.seasonalData)==null?void 0:U.highTemp,symbol:"none",smooth:!1,itemStyle:{color:"#FF9500"},label:{show:!1}},{name:"High, last year",type:"line",symbol:"none",data:(R=this.seasonalData)==null?void 0:R.lastYearHighTemp,itemStyle:{color:"#f7c587"},lineStyle:{color:"#f7c587"},label:{show:!1}},{name:"Low",type:"line",data:(X=this.seasonalData)==null?void 0:X.lowTemp,symbol:"none",smooth:!1,itemStyle:{color:"#2164bf"},label:{show:!1}},{name:"Low, last year",type:"line",symbol:"none",data:(W=this.seasonalData)==null?void 0:W.lastYearLowTemp,itemStyle:{color:"#7baef7"},lineStyle:{color:"#7baef7"},label:{show:!1}}]};this.loading.seasonalEchart=!1,this.$nextTick(()=>{we.init(document.getElementById("temperature-echart")).setOption(l)});function m(h){return{image:(()=>{const z=document.createElementNS("http://www.w3.org/2000/svg","svg");z.setAttribute("width","10"),z.setAttribute("height","5"),z.setAttribute("viewBox","0 0 10 5");const Q=document.createElementNS("http://www.w3.org/2000/svg","rect");Q.setAttribute("x","0"),Q.setAttribute("y","0"),Q.setAttribute("width","10"),Q.setAttribute("height","5"),Q.setAttribute("fill",h),z.appendChild(Q);const k=document.createElementNS("http://www.w3.org/2000/svg","line");k.setAttribute("x1","0"),k.setAttribute("y1","0"),k.setAttribute("x2","10"),k.setAttribute("y2","5"),k.setAttribute("stroke","#fff"),k.setAttribute("stroke-width","1"),z.appendChild(k);const g=new XMLSerializer().serializeToString(z),L=new Blob([g],{type:"image/svg+xml;charset=utf-8"});return URL.createObjectURL(L)})(),repeat:"repeat"}}let u=Math.max(...[...this.seasonalData.windSpeed,...this.seasonalData.lastYearWindSpeed].filter(h=>typeof h=="number"&&!isNaN(h))),b=Math.min(...[...this.seasonalData.windSpeed,...this.seasonalData.lastYearWindSpeed].filter(h=>typeof h=="number"&&!isNaN(h)))>0?0:Math.min(...[...this.seasonalData.windSpeed,...this.seasonalData.lastYearWindSpeed].filter(h=>typeof h=="number"&&!isNaN(h))),S=Math.ceil((u+1)/5)*5,G=Math.ceil((S-b)/5),j=Math.max(...[...this.seasonalData.precip,...this.seasonalData.lastYearPrecip].filter(h=>typeof h=="number"&&!isNaN(h))),ee=0,te=Math.ceil(j*2/5)*5,oe=Math.ceil((te-ee)/5);const P={title:{text:"Wind & Preciption",top:"10px",left:"5px",textStyle:{fontWeight:"normal",fontSize:14}},grid:{show:!0,bottom:"15%",top:"100px",left:"6%",right:"6%",borderColor:"#666",borderWidth:1,z:1,zlevel:1},tooltip:{trigger:"axis",show:!0,position:"right",formatter:h=>{var Q,k,g,L,x,C,f,re,le,ie,c,ce,D,F,I,ne;const z=(Q=h==null?void 0:h[0])==null?void 0:Q.dataIndex;if(h.find(H=>H.seriesType==="scatter"))return!1;{let H={color:"",colorLastYear:"",url:""};return((k=h[2])==null?void 0:k.value)<9.9?H.color="rgba(172, 210, 255, 1)":((g=h[2])==null?void 0:g.value)<24.9?H.color="rgba(3, 248, 103, 1)":((L=h[2])==null?void 0:L.value)<49.9?H.color="rgba(190, 226, 2, 18)":((x=h[2])==null?void 0:x.value)<99.9?H.color="rgba(248, 1, 1, 1)":((C=h[2])==null?void 0:C.value)>100?H.color="rgba(197, 5, 58, 1)":H.color="rgba(172, 210, 255, 1)",((f=h[3])==null?void 0:f.value)<9.9?H.colorLastYear="rgba(172, 210, 255, 1)":((re=h[3])==null?void 0:re.value)<24.9?H.colorLastYear="rgba(3, 248, 103, 1)":((le=h[3])==null?void 0:le.value)<49.9?H.colorLastYear="rgba(190, 226, 2, 18)":((ie=h[3])==null?void 0:ie.value)<99.9?H.colorLastYear="rgba(248, 1, 1, 1)":((c=h[3])==null?void 0:c.value)>100?H.colorLastYear="rgba(197, 5, 58, 1)":H.colorLastYear="rgba(172, 210, 255, 1)",H.url=(()=>{const r=document.createElementNS("http://www.w3.org/2000/svg","svg");r.setAttribute("width","10"),r.setAttribute("height","10"),r.setAttribute("viewBox","0 0 10 10");const K=document.createElementNS("http://www.w3.org/2000/svg","rect");K.setAttribute("x","0"),K.setAttribute("y","0"),K.setAttribute("width","10"),K.setAttribute("height","10"),K.setAttribute("fill",H.colorLastYear),r.appendChild(K);const y=document.createElementNS("http://www.w3.org/2000/svg","line");y.setAttribute("x1","0"),y.setAttribute("y1","0"),y.setAttribute("x2","10"),y.setAttribute("y2","5"),y.setAttribute("stroke","#fff"),y.setAttribute("stroke-width","1"),r.appendChild(y);const ae=document.createElementNS("http://www.w3.org/2000/svg","line");ae.setAttribute("x1","0"),ae.setAttribute("y1","5"),ae.setAttribute("x2","10"),ae.setAttribute("y2","10"),ae.setAttribute("stroke","#fff"),ae.setAttribute("stroke-width","1"),r.appendChild(ae);const V=new XMLSerializer().serializeToString(r),A=new Blob([V],{type:"image/svg+xml;charset=utf-8"});return URL.createObjectURL(A)})(),`<div style="font-size: 13px;"><strong>${(ce=this.seasonalData)==null?void 0:ce.dates[z]}</strong></div>
59
+ `}},legend:{show:!0,top:"15px",right:"6%",itemWidth:40},xAxis:{show:!0,left:0,right:0,top:"50%",height:"50%",type:"category",boundaryGap:!0,data:(j=this.seasonalData)==null?void 0:j.xDates,axisLabel:{show:!0},axisLine:{show:!0,onZero:!1},axisTick:{show:!0,inside:!0,lineStyle:{color:"rgba(0,0,0,0.7)"}},z:1,zlevel:1},yAxis:[{type:"value",name:"Temperature ( ℃ ) ",show:!0,min:n,max:a,interval:s,splitNumber:5,nameRotate:90,nameLocation:"middle",nameGap:25,splitLine:{show:!0},z:0,zlevel:0}],series:[{name:"High",type:"line",data:(U=this.seasonalData)==null?void 0:U.highTemp,symbol:"none",smooth:!1,itemStyle:{color:"#FF9500"},label:{show:!1}},{name:"High, last year",type:"line",symbol:"none",data:(R=this.seasonalData)==null?void 0:R.lastYearHighTemp,itemStyle:{color:"#f7c587"},lineStyle:{color:"#f7c587"},label:{show:!1}},{name:"Low",type:"line",data:(X=this.seasonalData)==null?void 0:X.lowTemp,symbol:"none",smooth:!1,itemStyle:{color:"#2164bf"},label:{show:!1}},{name:"Low, last year",type:"line",symbol:"none",data:(W=this.seasonalData)==null?void 0:W.lastYearLowTemp,itemStyle:{color:"#7baef7"},lineStyle:{color:"#7baef7"},label:{show:!1}}]};this.loading.seasonalEchart=!1,this.$nextTick(()=>{we.init(document.getElementById("temperature-echart")).setOption(l)});function m(h){return{image:(()=>{const z=document.createElementNS("http://www.w3.org/2000/svg","svg");z.setAttribute("width","10"),z.setAttribute("height","5"),z.setAttribute("viewBox","0 0 10 5");const Q=document.createElementNS("http://www.w3.org/2000/svg","rect");Q.setAttribute("x","0"),Q.setAttribute("y","0"),Q.setAttribute("width","10"),Q.setAttribute("height","5"),Q.setAttribute("fill",h),z.appendChild(Q);const k=document.createElementNS("http://www.w3.org/2000/svg","line");k.setAttribute("x1","0"),k.setAttribute("y1","0"),k.setAttribute("x2","10"),k.setAttribute("y2","5"),k.setAttribute("stroke","#fff"),k.setAttribute("stroke-width","1"),z.appendChild(k);const g=new XMLSerializer().serializeToString(z),L=new Blob([g],{type:"image/svg+xml;charset=utf-8"});return URL.createObjectURL(L)})(),repeat:"repeat"}}let C=Math.max(...[...this.seasonalData.windSpeed,...this.seasonalData.lastYearWindSpeed].filter(h=>typeof h=="number"&&!isNaN(h))),b=Math.min(...[...this.seasonalData.windSpeed,...this.seasonalData.lastYearWindSpeed].filter(h=>typeof h=="number"&&!isNaN(h)))>0?0:Math.min(...[...this.seasonalData.windSpeed,...this.seasonalData.lastYearWindSpeed].filter(h=>typeof h=="number"&&!isNaN(h))),S=Math.ceil((C+1)/5)*5,G=Math.ceil((S-b)/5),v=Math.max(...[...this.seasonalData.precip,...this.seasonalData.lastYearPrecip].filter(h=>typeof h=="number"&&!isNaN(h))),ee=0,te=Math.ceil(v*2/5)*5,oe=Math.ceil((te-ee)/5);const P={title:{text:"Wind & Preciption",top:"10px",left:"5px",textStyle:{fontWeight:"normal",fontSize:14}},grid:{show:!0,bottom:"15%",top:"100px",left:"6%",right:"6%",borderColor:"#666",borderWidth:1,z:1,zlevel:1},tooltip:{trigger:"axis",show:!0,position:"right",formatter:h=>{var Q,k,g,L,x,u,f,re,le,ie,c,ce,y,F,I,ne;const z=(Q=h==null?void 0:h[0])==null?void 0:Q.dataIndex;if(h.find(H=>H.seriesType==="scatter"))return!1;{let H={color:"",colorLastYear:"",url:""};return((k=h[2])==null?void 0:k.value)<9.9?H.color="rgba(172, 210, 255, 1)":((g=h[2])==null?void 0:g.value)<24.9?H.color="rgba(3, 248, 103, 1)":((L=h[2])==null?void 0:L.value)<49.9?H.color="rgba(190, 226, 2, 18)":((x=h[2])==null?void 0:x.value)<99.9?H.color="rgba(248, 1, 1, 1)":((u=h[2])==null?void 0:u.value)>100?H.color="rgba(197, 5, 58, 1)":H.color="rgba(172, 210, 255, 1)",((f=h[3])==null?void 0:f.value)<9.9?H.colorLastYear="rgba(172, 210, 255, 1)":((re=h[3])==null?void 0:re.value)<24.9?H.colorLastYear="rgba(3, 248, 103, 1)":((le=h[3])==null?void 0:le.value)<49.9?H.colorLastYear="rgba(190, 226, 2, 18)":((ie=h[3])==null?void 0:ie.value)<99.9?H.colorLastYear="rgba(248, 1, 1, 1)":((c=h[3])==null?void 0:c.value)>100?H.colorLastYear="rgba(197, 5, 58, 1)":H.colorLastYear="rgba(172, 210, 255, 1)",H.url=(()=>{const r=document.createElementNS("http://www.w3.org/2000/svg","svg");r.setAttribute("width","10"),r.setAttribute("height","10"),r.setAttribute("viewBox","0 0 10 10");const K=document.createElementNS("http://www.w3.org/2000/svg","rect");K.setAttribute("x","0"),K.setAttribute("y","0"),K.setAttribute("width","10"),K.setAttribute("height","10"),K.setAttribute("fill",H.colorLastYear),r.appendChild(K);const D=document.createElementNS("http://www.w3.org/2000/svg","line");D.setAttribute("x1","0"),D.setAttribute("y1","0"),D.setAttribute("x2","10"),D.setAttribute("y2","5"),D.setAttribute("stroke","#fff"),D.setAttribute("stroke-width","1"),r.appendChild(D);const ae=document.createElementNS("http://www.w3.org/2000/svg","line");ae.setAttribute("x1","0"),ae.setAttribute("y1","5"),ae.setAttribute("x2","10"),ae.setAttribute("y2","10"),ae.setAttribute("stroke","#fff"),ae.setAttribute("stroke-width","1"),r.appendChild(ae);const V=new XMLSerializer().serializeToString(r),A=new Blob([V],{type:"image/svg+xml;charset=utf-8"});return URL.createObjectURL(A)})(),`<div style="font-size: 13px;"><strong>${(ce=this.seasonalData)==null?void 0:ce.dates[z]}</strong></div>
60
60
  <div style="font-size: 13px;">
61
61
  <span style="display:inline-block; height: 10px;width: 10px;border-radius: 50%;background-color: #60c43e;}"></span>
62
- <span>Wind : </span><strong>${(D=h[0])==null?void 0:D.value}</strong><span style="padding-left: 3px;">kts</span>
62
+ <span>Wind : </span><strong>${(y=h[0])==null?void 0:y.value}</strong><span style="padding-left: 3px;">kts</span>
63
63
  </div>
64
64
  <div style="font-size: 13px;">
65
65
  <span style="display:inline-block; height: 10px;width: 10px;border-radius: 50%;background-color: #9af77b;}"></span>
@@ -73,4 +73,4 @@
73
73
  <img src="${H.url}" style="display:inline-block; height: 10px;width: 10px;border-radius: 50%;}" />
74
74
  <span>Precip, last year : </span><strong>${(ne=h[3])==null?void 0:ne.value}</strong><span style="padding-left: 3px;">mm</span>
75
75
  </div>
76
- `}}},legend:{show:!0,top:"15px",right:"6%",data:["Wind","Wind, last year"],itemWidth:40},xAxis:{show:!0,left:0,right:0,top:"50%",height:"50%",type:"category",boundaryGap:!0,data:(J=this.seasonalData)==null?void 0:J.xDates,axisLabel:{show:!0},axisLine:{show:!0},axisTick:{show:!0,inside:!0,lineStyle:{color:"rgba(0,0,0,0.7)"}},z:1,zlevel:1},yAxis:[{type:"value",name:"Wind speed max ( kts ) ",show:!0,min:b,max:S,interval:G,splitNumber:5,nameRotate:90,nameLocation:"middle",nameGap:25,splitLine:{show:!0},z:0,zlevel:0},{type:"value",name:"Precipitation ( mm ) ",show:!0,min:ee,max:te,interval:oe,splitNumber:5,nameRotate:90,nameLocation:"middle",nameGap:30,splitLine:{show:!0},z:0,zlevel:0}],visualMap:[{type:"piecewise",orient:"horizontal",top:40,right:"6%",show:!0,pieces:[{gte:100,color:"rgba(197, 5, 58, 1)",label:"Heavy Rainstorm, >=100mm"},{gte:50,lte:99.9,color:"rgba(248, 1, 1, 1)",label:"Rainstorm, <=99.9mm"},{gte:25,lte:49.9,color:"rgba(190, 226, 2, 18)",label:"Heavy, <=49.9mm"},{gte:10,lte:24.9,color:"rgba(3, 248, 103, 1)",label:"Moderate, <=24.9mm"},{lt:10,color:"rgba(172, 210, 255, 1)",label:"Light, <10mm"}],seriesIndex:2,dimension:1},{type:"piecewise",orient:"horizontal",top:65,right:"6%",show:!0,pieces:[{gte:100,color:m("#C5053A"),label:"Heavy Rainstorm, last year"},{gte:50,lte:99.9,color:m("#F80101"),label:"Rainstorm, last year"},{gte:25,lte:49.9,color:m("#BEE202"),label:"Heavy, last year"},{gte:10,lte:24.9,color:m("#03F867"),label:"Moderate, last year"},{lt:10,color:m("#ACD2FF"),label:"Light, last year"}],seriesIndex:3,dimension:1}],series:[{name:"Wind",type:"line",data:(q=this.seasonalData)==null?void 0:q.windSpeed,symbol:"none",smooth:!1,itemStyle:{color:"#60c43e"},label:{show:!1}},{name:"Wind, last year",type:"line",symbol:"none",data:(Z=this.seasonalData)==null?void 0:Z.lastYearWindSpeed,itemStyle:{color:"#9af77b"},lineStyle:{color:"#9af77b"},label:{show:!1}},{name:"Precip",type:"bar",yAxisIndex:1,barWidth:"30%",data:(_=this.seasonalData)==null?void 0:_.precip,symbol:"none",smooth:!1,itemStyle:{color:"#0c73a8"},label:{show:!1}},{name:"Precip, last year",type:"bar",yAxisIndex:1,barWidth:"30%",data:($=this.seasonalData)==null?void 0:$.lastYearPrecip,itemStyle:{color:"rgba(12,116,168,0.5)"},label:{show:!1}}]};this.$nextTick(()=>{we.init(document.getElementById("wind-precip-echart")).setOption(P)})},disposeEcharts(){document.getElementById("weather-chart")&&we.dispose(document.getElementById("weather-chart")),document.getElementById("weather-icons")&&we.dispose(document.getElementById("weather-icons")),document.getElementById("weather-condition")&&we.dispose(document.getElementById("weather-condition")),document.getElementById("wave-swell")&&we.dispose(document.getElementById("wave-swell")),document.getElementById("temperature-echart")&&we.dispose(document.getElementById("temperature-echart")),document.getElementById("wind-precip-echart")&&we.dispose(document.getElementById("wind-precip-echart"))},initHoursTableData(){var i,t,a,n,s,l,m,u,N,b,S,G,j,T,ee,te,oe,P,v,U,R,X,W,J,q,Z,_,$,h,z,Q,k,g,L;this.hoursTableData={hours:[],utcHours:[],weatherUrls:[],weatherNames:[],temp:[],precipProbability:[],precip1h:[],visibility:[],humidity:[],windSpeed:[],windDir:[],windGust:[],sigwaveHeight:[],sigwaveDir:[],windwaveHeight:[],windwaveDir:[],windwavePeriod:[],swellHeight:[],swellDir:[],swellPeriod:[],currentSpeed:[],currentDir:[],seaLevel:[],seaTemp:[]};for(let x=0;x<24;x++){const C=E(this.pickedDate).clone().add(x,"h").format();this.hoursTableData.hours.push(C);const f=((i=De.pickHourly(this.meteoData,C))==null?void 0:i[0])||{};this.hoursTableData.weatherUrls.push((t=f.weather)==null?void 0:t.url),this.hoursTableData.weatherNames.push(((a=f.weather)==null?void 0:a.name)??"-"),this.hoursTableData.temp.push(this.roundPrecision((n=f.weather)==null?void 0:n.temp,0)??"-"),this.hoursTableData.precipProbability.push(this.roundPrecision((l=(s=f.weather)==null?void 0:s.precip)==null?void 0:l.probability,1)??"-"),this.hoursTableData.precip1h.push(this.roundPrecision((u=(m=f.weather)==null?void 0:m.precip)==null?void 0:u.sum,1)??"-"),this.hoursTableData.visibility.push(this.roundPrecision((N=f.weather)==null?void 0:N.visibility,0)??"-"),this.hoursTableData.humidity.push(this.roundPrecision((b=f.weather)==null?void 0:b.rh,0)??"-"),this.hoursTableData.windSpeed.push(this.roundPrecision((G=(S=f.weather)==null?void 0:S.wind)==null?void 0:G.kts,1)),this.hoursTableData.windDir.push((T=(j=f.weather)==null?void 0:j.wind)==null?void 0:T.bearing),this.hoursTableData.windGust.push(this.roundPrecision((te=(ee=f.weather)==null?void 0:ee.wind)==null?void 0:te.gusts,1)??"-"),this.hoursTableData.sigwaveHeight.push(this.roundPrecision((P=(oe=f.wave)==null?void 0:oe.sig)==null?void 0:P.height,1)??"-"),this.hoursTableData.sigwaveDir.push((U=(v=f.wave)==null?void 0:v.sig)==null?void 0:U.bearing),this.hoursTableData.windwaveHeight.push(this.roundPrecision((X=(R=f.wave)==null?void 0:R.wd)==null?void 0:X.height,1)??"-"),this.hoursTableData.windwaveDir.push((J=(W=f.wave)==null?void 0:W.wd)==null?void 0:J.bearing),this.hoursTableData.windwavePeriod.push(this.roundPrecision((Z=(q=f.wave)==null?void 0:q.wd)==null?void 0:Z.period,1)??"-"),this.hoursTableData.swellHeight.push(this.roundPrecision(($=(_=f.wave)==null?void 0:_.swell)==null?void 0:$.height,1)??"-"),this.hoursTableData.swellDir.push((z=(h=f.wave)==null?void 0:h.swell)==null?void 0:z.bearing),this.hoursTableData.swellPeriod.push(this.roundPrecision((k=(Q=f.wave)==null?void 0:Q.swell)==null?void 0:k.period,1)??"-"),this.hoursTableData.currentSpeed.push(this.roundPrecision((g=f.current)==null?void 0:g.speed,1)??"-"),this.hoursTableData.currentDir.push((L=f.current)==null?void 0:L.bearing),this.hoursTableData.seaLevel.push(this.roundPrecision(f.height,1)??"-"),this.hoursTableData.seaTemp.push(this.roundPrecision(f.sst,0)??"-")}this.loading.hoursTable=!1},handleClearHoursTable(){this.position={},this.meteoData={},this.followItem=void 0,we&&document.getElementById("weather-chart")&&we.dispose(document.getElementById("weather-chart"))},initDaysTableData(){var t,a,n,s,l,m,u,N,b,S,G,j,T,ee,te,oe,P,v,U,R,X,W,J,q,Z,_,$,h,z,Q,k,g,L,x,C,f,re;this.daysTableData=[];const i=Y(this.etime).tz(this.positionGmt).set({hour:0,minute:0,second:0,millisecond:0}).format();for(let le=0;le<14;le++){const ie=E(i).clone().add(le,"d").format(),c=((t=De.pickDaily(this.meteoData,ie))==null?void 0:t[0])||{};this.daysTableData.push({localWeek:this.computeWeekLT(ie),localDate:this.computeMMMDDLT(ie),weatherUrl:(a=c==null?void 0:c.weather)==null?void 0:a.url,minTemp:this.roundPrecision((s=(n=c==null?void 0:c.weather)==null?void 0:n.temp)==null?void 0:s.min,0)??"-",maxTemp:this.roundPrecision((m=(l=c==null?void 0:c.weather)==null?void 0:l.temp)==null?void 0:m.max,0)??"-",weatherName:(u=c==null?void 0:c.weather)==null?void 0:u.name,precipSum:this.roundPrecision((b=(N=c==null?void 0:c.weather)==null?void 0:N.precip)==null?void 0:b.sum,1)??"-",precipRainSum:this.roundPrecision((G=(S=c==null?void 0:c.weather)==null?void 0:S.precip)==null?void 0:G.rainSum,1)??"-",precipSnowfallSum:this.roundPrecision((T=(j=c==null?void 0:c.weather)==null?void 0:j.precip)==null?void 0:T.snowfallSum,1)??"-",windSpeedMax:this.roundPrecision((te=(ee=c==null?void 0:c.weather)==null?void 0:ee.wind)==null?void 0:te.kts,1)??"-",windSpeedDir:(P=(oe=c==null?void 0:c.weather)==null?void 0:oe.wind)==null?void 0:P.bearing,gustSpeedMax:this.roundPrecision((U=(v=c==null?void 0:c.weather)==null?void 0:v.wind)==null?void 0:U.gusts,1)??"-",windWaveHeight:this.roundPrecision((X=(R=c==null?void 0:c.wave)==null?void 0:R.wd)==null?void 0:X.height,1)??"-",windWavePeriod:this.roundPrecision((J=(W=c==null?void 0:c.wave)==null?void 0:W.wd)==null?void 0:J.period,1)??"-",windWaveDir:(Z=(q=c==null?void 0:c.wave)==null?void 0:q.wd)==null?void 0:Z.bearing,swellWaveHeight:this.roundPrecision(($=(_=c==null?void 0:c.wave)==null?void 0:_.swell)==null?void 0:$.height,1)??"-",swellWavePeriod:this.roundPrecision((z=(h=c==null?void 0:c.wave)==null?void 0:h.swell)==null?void 0:z.period,1)??"-",swellWaveDir:(k=(Q=c==null?void 0:c.wave)==null?void 0:Q.swell)==null?void 0:k.bearing,sigWaveHeight:this.roundPrecision((L=(g=c==null?void 0:c.wave)==null?void 0:g.sig)==null?void 0:L.height,1)??"-",sigWavePeriod:this.roundPrecision((C=(x=c==null?void 0:c.wave)==null?void 0:x.sig)==null?void 0:C.period,1)??"-",sigWaveDir:(re=(f=c==null?void 0:c.wave)==null?void 0:f.sig)==null?void 0:re.bearing})}this.loading.daysTable=!1},initHourlyTableData(i,t,a,n){var u,N,b,S,G,j,T,ee,te,oe,P,v,U,R,X,W,J,q,Z,_,$,h,z,Q,k,g,L,x,C,f,re,le,ie,c,ce,D,F;this.hourlyTableData=[];const s=t||14,l=a||this.etime,m=Y(l).tz(this.positionGmt).set({hour:0,minute:0,second:0,millisecond:0}).format();for(let I=0;I<s*24;I++){let ne,H;if(I%3===0&&(H=3),n?I%3===0&&(ne=E(m).clone().add(I,"h").format()):I<3*24?ne=E(m).clone().add(I,"h").format():I<7*24?I%3===0&&(ne=E(m).clone().add(I,"h").format()):I%6===0&&(ne=E(m).clone().add(I,"h").format()),ne){const r=((u=De.pickHourly(i,ne))==null?void 0:u[0])||{},K=H===6?this.roundPrecision((b=(N=r==null?void 0:r.weather)==null?void 0:N.precip)==null?void 0:b.sum6Hours,1):H===3?this.roundPrecision((G=(S=r==null?void 0:r.weather)==null?void 0:S.precip)==null?void 0:G.sum3Hours,1):"-";this.hourlyTableData.push({localDate:this.computeMMMDDHHmmLT(ne),temp:this.roundPrecision((j=r==null?void 0:r.weather)==null?void 0:j.temp,0)??"-",precipSum:K??"-",visibility:this.roundPrecision((T=r==null?void 0:r.weather)==null?void 0:T.visibility,1)??"-",windSpeed:this.roundPrecision((te=(ee=r==null?void 0:r.weather)==null?void 0:ee.wind)==null?void 0:te.kts,1)??"-",windDir:(P=(oe=r==null?void 0:r.weather)==null?void 0:oe.wind)==null?void 0:P.direction,windBearing:(U=(v=r==null?void 0:r.weather)==null?void 0:v.wind)==null?void 0:U.bearing,windBF:((X=(R=r==null?void 0:r.weather)==null?void 0:R.wind)==null?void 0:X.scale)??"-",windGusts:this.roundPrecision((J=(W=r==null?void 0:r.weather)==null?void 0:W.wind)==null?void 0:J.gusts,1)??"-",windWaveHeight:this.roundPrecision((Z=(q=r==null?void 0:r.wave)==null?void 0:q.wd)==null?void 0:Z.height,1)??"-",windWavePeriod:this.roundPrecision(($=(_=r==null?void 0:r.wave)==null?void 0:_.wd)==null?void 0:$.period,1)??"-",windWaveDir:(z=(h=r==null?void 0:r.wave)==null?void 0:h.wd)==null?void 0:z.direction,windWaveBearing:(k=(Q=r==null?void 0:r.wave)==null?void 0:Q.wd)==null?void 0:k.bearing,sigWaveHeight:this.roundPrecision((L=(g=r==null?void 0:r.wave)==null?void 0:g.sig)==null?void 0:L.height,1)??"-",sigWavePeriod:this.roundPrecision((C=(x=r==null?void 0:r.wave)==null?void 0:x.sig)==null?void 0:C.period,1)??"-",sigWaveDir:(re=(f=r==null?void 0:r.wave)==null?void 0:f.sig)==null?void 0:re.direction,sigWaveBearing:(ie=(le=r==null?void 0:r.wave)==null?void 0:le.wd)==null?void 0:ie.bearing,currentDir:(c=r==null?void 0:r.current)==null?void 0:c.direction,currentSpd:this.roundPrecision((ce=r==null?void 0:r.current)==null?void 0:ce.kts,1)??"-",currentBearing:(F=(D=r==null?void 0:r.wave)==null?void 0:D.wd)==null?void 0:F.bearing,seaLevel:this.roundPrecision(r==null?void 0:r.height,1)??"-",seaSurfaceTemp:this.roundPrecision(r==null?void 0:r.sst,0)??"-"})}}this.loading.hourlyTable=!1},async handleSelectMonth(i){this.currentMonth=i,await this.fetchSeasonalData(),this.initSeasonalEchart()},async handleDateRange(){const{year0:i,month0:t,date0:a,year1:n,month1:s,date1:l}={year0:E(this.dateRange[0]).year(),month0:E(this.dateRange[0]).month(),date0:E(this.dateRange[0]).date(),year1:E(this.dateRange[1]).year(),month1:E(this.dateRange[1]).month(),date1:E(this.dateRange[1]).date()};this.dateRangeZ=[E(this.dateRangeZ[0]).set({year:i,month:t,date:a}).utc().format(),E(this.dateRangeZ[1]).set({year:n,month:s,date:l}).utc().format()];const m=E(this.dateRangeZ[1]).diff(E(this.dateRangeZ[0]),"d",!0)+1;await this.fetchHistoryMeteo(m),this.handleMeteogramData14(this.meteoData,m,this.dateRangeZ[0]),this.initHourlyTableData(this.meteoData,m,this.dateRangeZ[0],!0),this.selectDate=void 0},handlePickDate(i){i[1]?this.selectDate=null:this.selectDate=i[0].getTime()}}},je={class:"spot-report"},ve={class:"search-header-box"},Ke={class:"search-header-box-inner flex-between"},Ue={class:"search-box flex-start"},Re={class:"menu-box flex-end"},Xe={class:"content-box"},We={class:"title-section flex-between"},Je={class:"main-title"},qe={class:"sub-title"},Ze={key:0},_e={class:"flex-end"},$e={key:0,class:"meteogram-echart-section"},et={key:0,class:"card"},tt={class:"title flex-start"},st={style:{"margin-right":"5px"}},at={class:"datetime-select-box"},ot={key:1,class:"card flex-center"},it={key:2,class:"card flex-center"},nt={key:1,class:"weather-echart-section"},rt={key:0,id:"weather-chart",class:"weather-chart"},lt={key:1,class:"weather-chart weather-chart-loading flex-center"},At={key:2,class:"weather-chart flex-center"},ct={key:2,class:"hours-table-section",style:{border:"1px solid var(--idm-gray-light)"}},ht={key:0,class:"card"},dt={class:"date"},gt={class:"basic-table"},pt={class:"day"},mt={class:"hour"},wt={class:"icon"},ft=["src"],Bt={class:"text"},Dt={class:"text"},yt={class:"text"},Et={class:"text"},xt={class:"text"},Ct={class:"text"},ut={key:1},It={class:"text"},bt={class:"text"},kt={class:"wave-current-table"},Nt={class:"text"},Qt={class:"text"},Mt={key:1},Lt={class:"text"},zt={class:"text"},Ht={class:"text"},St={key:1},Pt={class:"text"},Tt={class:"text"},Gt={class:"text"},Ft={key:1},Vt={class:"text"},Ot={class:"sea-table"},Yt={class:"text"},jt={class:"text"},vt={key:1,class:"card card-loading flex-center"},Kt={key:2,class:"card flex-center"},Ut={key:3,class:"days-table-section"},Rt={key:0,class:"card"},Xt={class:"conditions-table"},Wt={rowspan:"1",colspan:"1",class:"tr-title font-gray",style:{"text-align":"right","padding-right":"10px","box-sizing":"border-box"}},Jt={rowspan:"1",colspan:"1"},qt=["src"],Zt={rowspan:"1",colspan:"1",class:"text-align-left"},_t={rowspan:"1",colspan:"1",class:"text-align-left"},$t={rowspan:"1",colspan:"1",class:"text-align-left"},es={rowspan:"1",colspan:"1",class:"text-align-left"},ts={rowspan:"1",colspan:"1",class:"text-align-left"},ss={rowspan:"1",colspan:"1",class:"text-align-right",style:{"padding-right":"30px"}},as={key:1},os={rowspan:"1",colspan:"1",class:"text-align-right",style:{"padding-right":"25px"}},is={rowspan:"1",colspan:"1",class:"text-align-right",style:{"padding-right":"30px"}},ns={key:1},rs={rowspan:"1",colspan:"1",class:"text-align-right",style:{"padding-right":"30px"}},ls={key:1},As={rowspan:"1",colspan:"1",class:"text-align-right",style:{"padding-right":"30px"}},cs={key:1},hs={key:1,class:"card card-loading flex-center"},ds={key:2,class:"card flex-center"},gs={key:4,class:"hourly-table-section"},ps={key:0,class:"card"},ms={class:"conditions-table"},ws={rowspan:"1",colspan:"1",class:"border"},fs={rowspan:"1",colspan:"1",class:"border"},Bs={rowspan:"1",colspan:"1",class:"border"},Ds={rowspan:"1",colspan:"1",class:"border"},ys={rowspan:"1",colspan:"1",class:"border",style:{"font-size":"11px","text-align":"right","padding-right":"3px"}},Es={key:1},xs={rowspan:"1",colspan:"1",class:"border"},Cs={rowspan:"1",colspan:"1",class:"border"},us={rowspan:"1",colspan:"1",class:"border"},Is={rowspan:"1",colspan:"1",class:"border",style:{"font-size":"11px","text-align":"right","padding-right":"3px"}},bs={key:1},ks={rowspan:"1",colspan:"1",class:"border"},Ns={rowspan:"1",colspan:"1",class:"border"},Qs={rowspan:"1",colspan:"1",class:"border",style:{"font-size":"11px","text-align":"right","padding-right":"3px"}},Ms={key:1},Ls={rowspan:"1",colspan:"1",class:"border"},zs={rowspan:"1",colspan:"1",class:"border"},Hs={rowspan:"1",colspan:"1",class:"border",style:{"font-size":"11px","text-align":"right","padding-right":"3px"}},Ss={key:1},Ps={rowspan:"1",colspan:"1",class:"border"},Ts={rowspan:"1",colspan:"1",class:"border"},Gs={rowspan:"1",colspan:"1",class:"border"},Fs={key:1,class:"card card-loading flex-center"},Vs={key:2,class:"card flex-center"},Os={key:5,class:"seasonal-weather-section"},Ys={key:0,class:"card flex-space"},js={class:"echart-box",style:{}},vs={style:{cursor:"pointer"}},Ks={style:{padding:"3px 0 0 5px",cursor:"pointer"}},Us={class:"months-select-box"},Rs={class:"bg-select"},Xs=["onClick"],Ws={class:"flex-col-start-start right-bar"},Js={class:"",style:{"font-size":"16px","font-weight":"bold","margin-bottom":"20px"}},qs={class:"text"},Zs={class:"text"},_s={class:"text"},$s={class:"text"},ea={class:"text"},ta={class:"text"},sa={class:"text"},aa={class:"text"},oa={class:"text"},ia={class:"text"},na={class:"text"},ra={class:"text"},la={key:1,class:"card flex-center"},Aa={key:2,class:"card flex-center"},ca={key:0,class:"info-box-item flex-start"},ha={class:"text"},da={class:"info-box-item flex-start"},ga={class:"text"},pa={class:"info-box-item flex-start"},ma={key:1,class:"text"},wa={class:"info-box-item flex-center"};function fa(i,t,a,n,s,l){var P,v,U,R,X,W,J,q,Z,_,$,h,z,Q,k,g,L,x,C,f,re,le,ie,c,ce,D,F,I,ne,H,r,K,y,ae,V,A,p,O,w,de,M,se,he,B;const m=e.resolveComponent("ElOption"),u=e.resolveComponent("ElSelect"),N=e.resolveComponent("ElTooltip"),b=e.resolveComponent("Calendar"),S=e.resolveComponent("el-icon"),G=e.resolveComponent("ArrowRightBold"),j=e.resolveComponent("ElIcon"),T=e.resolveComponent("el-date-picker"),ee=e.resolveComponent("ElInput"),te=e.resolveComponent("ElButton"),oe=e.resolveComponent("ElDialog");return e.openBlock(),e.createElementBlock("div",je,[e.createElementVNode("div",ve,[e.createElementVNode("div",Ke,[e.createElementVNode("div",Ue,[e.createVNode(u,{modelValue:s.searchName,"onUpdate:modelValue":t[0]||(t[0]=o=>s.searchName=o),filterable:"",class:"input",clearable:"",remote:"",placeholder:s.placeholder,autocomplete:"","remote-show-suffix":"","remote-method":l.fetchSuggestPosition,onFocus:l.handleSearchFocus,onBlur:t[1]||(t[1]=o=>s.placeholder="search for port name or coordinates"),onChange:l.handleSearch},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.positionList,o=>(e.openBlock(),e.createBlock(m,{key:o.name,label:o.nameRemark,value:o.name},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","remote-method","onFocus","onChange"])]),e.createElementVNode("div",Re,[e.createElementVNode("div",{class:e.normalizeClass(["item flex-center",s.menuIndex===1?"active":""]),onClick:t[2]||(t[2]=o=>s.menuIndex=1)},"History",2),e.createElementVNode("div",{class:e.normalizeClass(["item flex-center",s.menuIndex===2?"active":""]),onClick:t[3]||(t[3]=o=>s.menuIndex=2)},"7-Day Forecast",2),e.createElementVNode("div",{class:e.normalizeClass(["item flex-center",s.menuIndex===3?"active":""]),onClick:t[4]||(t[4]=o=>s.menuIndex=3)},"14-Day Forecast",2),e.createElementVNode("div",{class:e.normalizeClass(["item flex-center",s.menuIndex===4?"active":""]),onClick:t[5]||(t[5]=o=>s.menuIndex=4)},"Seasonal Forecast",2)])])]),e.createElementVNode("div",Xe,[e.createElementVNode("div",We,[e.createElementVNode("div",null,[e.createElementVNode("div",Je,e.toDisplayString(s.menuIndex===4?"Seasonal":"")+" Weather forecast for "+e.toDisplayString(((P=s.position)==null?void 0:P.name)||"-")+" ( UTC"+e.toDisplayString(s.positionOffset)+" )",1),e.createElementVNode("div",qe,[e.createTextVNode(" At "+e.toDisplayString((v=s.position)!=null&&v.portId?"port":"coordinates"),1),(U=s.position)!=null&&U.portId?(e.openBlock(),e.createElementBlock("span",Ze,", "+e.toDisplayString(l.computeLat(s.position.lat))+", "+e.toDisplayString(l.computeLng(s.position.lng)),1)):e.createCommentVNode("",!0),e.createTextVNode(", issued "+e.toDisplayString(s.issuedDate),1)])]),e.createElementVNode("div",_e,[e.createVNode(N,{placement:"left",effect:"light",content:s.followItem?"Remove the Port/Coordinate from My Follows":"Add the Port/Coordinate to My Follows","show-after":1e3},{default:e.withCtx(()=>[s.followItem?(e.openBlock(),e.createElementBlock("span",{key:0,class:"iconfont icon active",onClick:t[6]||(t[6]=(...o)=>l.handleFollowDialogOpen&&l.handleFollowDialogOpen(...o))},"")):(e.openBlock(),e.createElementBlock("span",{key:1,class:"iconfont icon",onClick:t[7]||(t[7]=(...o)=>l.handleFollowDialogOpen&&l.handleFollowDialogOpen(...o))},""))]),_:1},8,["content"])])]),s.menuIndex===1||s.menuIndex===2||s.menuIndex===3?(e.openBlock(),e.createElementBlock("div",$e,[(R=s.position)!=null&&R.name&&a.token&&!((X=s.loading)!=null&&X.meteogramEchart)?(e.openBlock(),e.createElementBlock("div",et,[e.createElementVNode("div",tt,[t[14]||(t[14]=e.createElementVNode("div",{style:{"margin-right":"20px"}},"Meteogram",-1)),e.withDirectives(e.createElementVNode("div",{id:"history-date-title",class:"flex-space",style:{cursor:"pointer"},onClick:t[8]||(t[8]=o=>s.meteoData.showDateSelect=!s.meteoData.showDateSelect)},[e.createVNode(S,{size:"16",style:{"margin-right":"10px"}},{default:e.withCtx(()=>[e.createVNode(b)]),_:1}),e.createElementVNode("span",st,e.toDisplayString(l.computeMMMDDyyyyLT(s.dateRangeZ[0]))+" ~ "+e.toDisplayString(l.computeMMMDDyyyyLT(s.dateRangeZ[1])),1),e.createVNode(j,{size:"16"},{default:e.withCtx(()=>[e.createVNode(G)]),_:1})],512),[[e.vShow,s.menuIndex===1]]),e.withDirectives(e.createElementVNode("div",at,[e.createVNode(T,{modelValue:s.dateRange,"onUpdate:modelValue":t[9]||(t[9]=o=>s.dateRange=o),type:"daterange","range-separator":"~","start-placeholder":"Start date","end-placeholder":"End date",shortcuts:s.datePickerOptions.shortcuts,disabledDate:s.datePickerOptions.disabledDate,onCalendarChange:l.handlePickDate,onChange:l.handleDateRange},null,8,["modelValue","shortcuts","disabledDate","onCalendarChange","onChange"])],512),[[e.vShow,((W=s.meteoData)==null?void 0:W.showDateSelect)&&s.menuIndex===1]])]),t[15]||(t[15]=e.createElementVNode("div",{id:"weather-icons"},null,-1)),t[16]||(t[16]=e.createElementVNode("div",{id:"weather-condition"},null,-1)),t[17]||(t[17]=e.createElementVNode("div",{id:"wave-swell"},null,-1))])):(J=s.loading)!=null&&J.meteogramEchart?(e.openBlock(),e.createElementBlock("div",ot,t[18]||(t[18]=[e.createElementVNode("img",{style:{height:"200px"},src:xe},null,-1)]))):(e.openBlock(),e.createElementBlock("div",it,"No Data"))])):e.createCommentVNode("",!0),s.menuIndex===2?(e.openBlock(),e.createElementBlock("div",nt,[(q=s.position)!=null&&q.name&&a.token&&!((Z=s.loading)!=null&&Z.weatherEchart)?(e.openBlock(),e.createElementBlock("div",rt)):(_=s.loading)!=null&&_.weatherEchart?(e.openBlock(),e.createElementBlock("div",lt,t[19]||(t[19]=[e.createElementVNode("img",{style:{height:"200px"},src:xe},null,-1)]))):(e.openBlock(),e.createElementBlock("div",At,"No Data"))])):e.createCommentVNode("",!0),s.menuIndex===2?(e.openBlock(),e.createElementBlock("div",ct,[($=s.position)!=null&&$.name&&a.token&&!((h=s.loading)!=null&&h.hoursTable)?(e.openBlock(),e.createElementBlock("div",ht,[e.createElementVNode("div",dt,e.toDisplayString(s.pickedWeek)+" "+e.toDisplayString(l.computeMMMDDLT(s.pickedDate)),1),e.createElementVNode("table",gt,[e.createElementVNode("tr",pt,[t[20]||(t[20]=e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"td-title"},[e.createTextVNode("Local time"),e.createElementVNode("span",{class:"unit"},"(LT)")],-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.hoursTableData.hours,(o,d)=>(e.openBlock(),e.createElementBlock("th",{key:`${o}${d}hoursLT`,rowspan:"1",colspan:"1",class:e.normalizeClass(s.activeIndex===d?"active":"")},e.toDisplayString(l.computeHourLT(o)),3))),128))]),e.createElementVNode("tr",mt,[t[21]||(t[21]=e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"td-title"},[e.createTextVNode("UTC"),e.createElementVNode("span",{class:"unit"})],-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.hoursTableData.hours,(o,d)=>(e.openBlock(),e.createElementBlock("th",{key:`${o}${d}hoursLZ`,rowspan:"1",colspan:"1",class:e.normalizeClass(s.activeIndex===d?"active":"")},e.toDisplayString(l.computeHourZ(o)),3))),128))]),e.createElementVNode("tr",wt,[t[22]||(t[22]=e.createElementVNode("td",{rowspan:"1",colspan:"1",class:"td-title"},[e.createTextVNode("Weather"),e.createElementVNode("span",{class:"unit"})],-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.hoursTableData.weatherUrls,(o,d)=>(e.openBlock(),e.createElementBlock("td",{key:`${o}${d}weatherUrls-weatherNames`,rowspan:"1",colspan:"1",class:e.normalizeClass(s.activeIndex===d?"active":"")},[e.createVNode(N,{placement:"top",effect:"light",content:s.hoursTableData.weatherNames[d],"show-after":500},{default:e.withCtx(()=>[o?(e.openBlock(),e.createElementBlock("img",{key:0,class:"iconfont weather-icon",src:o},null,8,ft)):e.createCommentVNode("",!0)]),_:2},1032,["content"])],2))),128))]),e.createElementVNode("tr",Bt,[t[23]||(t[23]=e.createElementVNode("td",{rowspan:"1",colspan:"1",class:"td-title"},[e.createTextVNode("Temperature"),e.createElementVNode("span",{class:"unit"},"°C")],-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.hoursTableData.temp,(o,d)=>(e.openBlock(),e.createElementBlock("td",{key:`${o}${d}temp`,rowspan:"1",colspan:"1",class:e.normalizeClass(s.activeIndex===d?"active":"")},e.toDisplayString(o),3))),128))]),e.createElementVNode("tr",Dt,[t[24]||(t[24]=e.createElementVNode("td",{rowspan:"1",colspan:"1",class:"td-title"},[e.createTextVNode("Precipitation Probability"),e.createElementVNode("span",{class:"unit"},"%")],-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.hoursTableData.precipProbability,(o,d)=>(e.openBlock(),e.createElementBlock("td",{key:`${o}${d}precipProbability`,rowspan:"1",colspan:"1",class:e.normalizeClass(s.activeIndex===d?"active":"")},e.toDisplayString(o),3))),128))]),e.createElementVNode("tr",yt,[t[25]||(t[25]=e.createElementVNode("td",{rowspan:"1",colspan:"1",class:"td-title"},[e.createTextVNode("Precipitation 1h"),e.createElementVNode("span",{class:"unit"},"mm")],-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.hoursTableData.precip1h,(o,d)=>(e.openBlock(),e.createElementBlock("td",{key:`${o}${d}precip1h`,rowspan:"1",colspan:"1",class:e.normalizeClass(s.activeIndex===d?"active":"")},e.toDisplayString(o),3))),128))]),e.createElementVNode("tr",Et,[t[26]||(t[26]=e.createElementVNode("td",{rowspan:"1",colspan:"1",class:"td-title"},[e.createTextVNode("Visibility"),e.createElementVNode("span",{class:"unit"},"nm")],-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.hoursTableData.visibility,(o,d)=>(e.openBlock(),e.createElementBlock("td",{key:`${o}${d}visibility`,rowspan:"1",colspan:"1",class:e.normalizeClass(s.activeIndex===d?"active":"")},e.toDisplayString(o),3))),128))]),e.createElementVNode("tr",xt,[t[27]||(t[27]=e.createElementVNode("td",{rowspan:"1",colspan:"1",class:"td-title"},[e.createTextVNode("Relative Humidity"),e.createElementVNode("span",{class:"unit"},"%")],-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.hoursTableData.humidity,(o,d)=>(e.openBlock(),e.createElementBlock("td",{key:`${o}${d}humidity`,rowspan:"1",colspan:"1",class:e.normalizeClass(s.activeIndex===d?"active":"")},e.toDisplayString(o),3))),128))]),e.createElementVNode("tr",Ct,[t[28]||(t[28]=e.createElementVNode("td",{rowspan:"1",colspan:"1",class:"td-title"},[e.createTextVNode("Wind direction"),e.createElementVNode("span",{class:"unit"})],-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.hoursTableData.windDir,(o,d)=>(e.openBlock(),e.createElementBlock("td",{key:`${o}${d}windDir`,rowspan:"1",colspan:"1",class:e.normalizeClass(s.activeIndex===d?"active":"")},[isNaN(o)?(e.openBlock(),e.createElementBlock("span",ut,"-")):(e.openBlock(),e.createElementBlock("span",{key:0,class:"iconfont icon",style:e.normalizeStyle({display:"inline-block",transform:`rotate(${o}deg)`})},"",4))],2))),128))]),e.createElementVNode("tr",It,[t[29]||(t[29]=e.createElementVNode("td",{rowspan:"1",colspan:"1",class:"td-title"},[e.createTextVNode("Wind speed"),e.createElementVNode("span",{class:"unit"},"kts")],-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.hoursTableData.windSpeed,(o,d)=>(e.openBlock(),e.createElementBlock("td",{key:`${o}${d}windSpeed`,rowspan:"1",colspan:"1",class:e.normalizeClass(s.activeIndex===d?"active":"")},e.toDisplayString(o),3))),128))]),e.createElementVNode("tr",bt,[t[30]||(t[30]=e.createElementVNode("td",{rowspan:"1",colspan:"1",class:"td-title"},[e.createTextVNode("Wind gust"),e.createElementVNode("span",{class:"unit"},"kts")],-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.hoursTableData.windGust,(o,d)=>(e.openBlock(),e.createElementBlock("td",{key:`${o}${d}windGust`,rowspan:"1",colspan:"1",class:e.normalizeClass(s.activeIndex===d?"active":"")},e.toDisplayString(o),3))),128))])]),t[42]||(t[42]=e.createElementVNode("div",{style:{"text-align":"center",padding:"3px"}},null,-1)),e.createElementVNode("table",kt,[e.createElementVNode("tr",Nt,[t[31]||(t[31]=e.createElementVNode("td",{rowspan:"1",colspan:"1",class:"td-title"},[e.createTextVNode("Wind wave height"),e.createElementVNode("span",{class:"unit"},"m")],-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.hoursTableData.windwaveHeight,(o,d)=>(e.openBlock(),e.createElementBlock("td",{key:`${o}${d}windwaveHeight`,rowspan:"1",colspan:"1",class:e.normalizeClass(s.activeIndex===d?"active":"")},e.toDisplayString(o),3))),128))]),e.createElementVNode("tr",Qt,[t[32]||(t[32]=e.createElementVNode("td",{rowspan:"1",colspan:"1",class:"td-title"},[e.createTextVNode("Wind wave direction"),e.createElementVNode("span",{class:"unit"})],-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.hoursTableData.windwaveDir,(o,d)=>(e.openBlock(),e.createElementBlock("td",{key:`${o}${d}windwaveDir`,rowspan:"1",colspan:"1",class:e.normalizeClass(s.activeIndex===d?"active":"")},[isNaN(o)?(e.openBlock(),e.createElementBlock("span",Mt,"-")):(e.openBlock(),e.createElementBlock("span",{key:0,class:"iconfont icon",style:e.normalizeStyle({display:"inline-block",transform:`rotate(${o}deg)`})},"",4))],2))),128))]),e.createElementVNode("tr",Lt,[t[33]||(t[33]=e.createElementVNode("td",{rowspan:"1",colspan:"1",class:"td-title"},[e.createTextVNode("Wind wave period"),e.createElementVNode("span",{class:"unit"},"s")],-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.hoursTableData.windwavePeriod,(o,d)=>(e.openBlock(),e.createElementBlock("td",{key:`${o}${d}windwavePeriod`,rowspan:"1",colspan:"1",class:e.normalizeClass(s.activeIndex===d?"active":"")},e.toDisplayString(o),3))),128))]),e.createElementVNode("tr",zt,[t[34]||(t[34]=e.createElementVNode("td",{rowspan:"1",colspan:"1",class:"td-title"},[e.createTextVNode("Swell height"),e.createElementVNode("span",{class:"unit"},"m")],-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.hoursTableData.swellHeight,(o,d)=>(e.openBlock(),e.createElementBlock("td",{key:`${o}${d}swellHeight`,rowspan:"1",colspan:"1",class:e.normalizeClass(s.activeIndex===d?"active":"")},e.toDisplayString(o),3))),128))]),e.createElementVNode("tr",Ht,[t[35]||(t[35]=e.createElementVNode("td",{rowspan:"1",colspan:"1",class:"td-title"},[e.createTextVNode("Swell direction"),e.createElementVNode("span",{class:"unit"})],-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.hoursTableData.swellDir,(o,d)=>(e.openBlock(),e.createElementBlock("td",{key:`${o}${d}swellDir`,rowspan:"1",colspan:"1",class:e.normalizeClass(s.activeIndex===d?"active":"")},[isNaN(o)?(e.openBlock(),e.createElementBlock("span",St,"-")):(e.openBlock(),e.createElementBlock("span",{key:0,class:"iconfont icon",style:e.normalizeStyle({display:"inline-block",transform:`rotate(${o}deg)`})},"",4))],2))),128))]),e.createElementVNode("tr",Pt,[t[36]||(t[36]=e.createElementVNode("td",{rowspan:"1",colspan:"1",class:"td-title"},[e.createTextVNode("Swell period"),e.createElementVNode("span",{class:"unit"},"s")],-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.hoursTableData.swellPeriod,(o,d)=>(e.openBlock(),e.createElementBlock("td",{key:`${o}${d}swellPeriod`,rowspan:"1",colspan:"1",class:e.normalizeClass(s.activeIndex===d?"active":"")},e.toDisplayString(o),3))),128))]),e.createElementVNode("tr",Tt,[t[37]||(t[37]=e.createElementVNode("td",{rowspan:"1",colspan:"1",class:"td-title"},[e.createTextVNode("Sig wave height"),e.createElementVNode("span",{class:"unit"},"m")],-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.hoursTableData.sigwaveHeight,(o,d)=>(e.openBlock(),e.createElementBlock("td",{key:`${o}${d}sigwaveHeight`,rowspan:"1",colspan:"1",class:e.normalizeClass(s.activeIndex===d?"active":"")},e.toDisplayString(o),3))),128))]),e.createElementVNode("tr",Gt,[t[38]||(t[38]=e.createElementVNode("td",{rowspan:"1",colspan:"1",class:"td-title"},[e.createTextVNode("Current direction"),e.createElementVNode("span",{class:"unit"})],-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.hoursTableData.currentDir,(o,d)=>(e.openBlock(),e.createElementBlock("td",{key:`${o}${d}currentDir`,rowspan:"1",colspan:"1",class:e.normalizeClass(s.activeIndex===d?"active":"")},[isNaN(o)?(e.openBlock(),e.createElementBlock("span",Ft,"-")):(e.openBlock(),e.createElementBlock("span",{key:0,class:"iconfont icon",style:e.normalizeStyle({display:"inline-block",transform:`rotate(${o}deg)`})},"",4))],2))),128))]),e.createElementVNode("tr",Vt,[t[39]||(t[39]=e.createElementVNode("td",{rowspan:"1",colspan:"1",class:"td-title"},[e.createTextVNode("Current speed"),e.createElementVNode("span",{class:"unit"},"kts")],-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.hoursTableData.currentSpeed,(o,d)=>(e.openBlock(),e.createElementBlock("td",{key:`${o}${d}currentSpeed`,rowspan:"1",colspan:"1",class:e.normalizeClass(s.activeIndex===d?"active":"")},e.toDisplayString(o),3))),128))])]),t[43]||(t[43]=e.createElementVNode("div",{style:{"text-align":"center",padding:"3px"}},null,-1)),e.createElementVNode("table",Ot,[e.createElementVNode("tr",Yt,[t[40]||(t[40]=e.createElementVNode("td",{rowspan:"1",colspan:"1",class:"td-title"},[e.createTextVNode("Sea level height"),e.createElementVNode("span",{class:"unit"},"m")],-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.hoursTableData.seaLevel,(o,d)=>(e.openBlock(),e.createElementBlock("td",{key:`${o}${d}seaLevel`,rowspan:"1",colspan:"1",class:e.normalizeClass(s.activeIndex===d?"active":"")},e.toDisplayString(o),3))),128))]),e.createElementVNode("tr",jt,[t[41]||(t[41]=e.createElementVNode("td",{rowspan:"1",colspan:"1",class:"td-title"},[e.createTextVNode("Sea surface temperature"),e.createElementVNode("span",{class:"unit"},"°C")],-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.hoursTableData.seaTemp,(o,d)=>(e.openBlock(),e.createElementBlock("td",{key:`${o}${d}seaTemp`,rowspan:"1",colspan:"1",class:e.normalizeClass(s.activeIndex===d?"active":"")},e.toDisplayString(o),3))),128))])])])):(z=s.loading)!=null&&z.hoursTable?(e.openBlock(),e.createElementBlock("div",vt,t[44]||(t[44]=[e.createElementVNode("img",{style:{height:"200px"},src:xe},null,-1)]))):(e.openBlock(),e.createElementBlock("div",Kt,"No Data"))])):e.createCommentVNode("",!0),s.menuIndex===3?(e.openBlock(),e.createElementBlock("div",Ut,[(Q=s.position)!=null&&Q.name&&a.token&&!((k=s.loading)!=null&&k.daysTable)?(e.openBlock(),e.createElementBlock("div",Rt,[t[56]||(t[56]=e.createElementVNode("div",{class:"date"},"Daily Forecast",-1)),e.createElementVNode("table",Xt,[t[54]||(t[54]=e.createElementVNode("tr",{class:"day tr-title"},[e.createElementVNode("th",{rowspan:"1",colspan:"1"}),e.createElementVNode("th",{rowspan:"1",colspan:"3",class:"text-align-left"},"Conditions"),e.createElementVNode("th",{rowspan:"1",colspan:"3",class:"text-align-left"},"Precipitation"),e.createElementVNode("th",{rowspan:"1",colspan:"2",class:"text-align-left"},"Wind"),e.createElementVNode("th",{rowspan:"1",colspan:"4",class:"text-align-left"},"Wave")],-1)),t[55]||(t[55]=e.createElementVNode("tr",{class:"hour tr-title border-bottom"},[e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"font-black",style:{"text-align":"right","padding-right":"10px","box-sizing":"border-box"}},"Date"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"font-black text-align-left",style:{width:"40px"}},"Weather"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"font-black text-align-left",style:{width:"70px"}}),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"font-black text-align-left"},"Temperature"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"font-black text-align-left"},"Sum"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"font-black text-align-left"},"Rain"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"font-black text-align-left"},"Snowfall"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"font-black text-align-left"},"Speed_max"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"font-black text-align-left"},"Gust_max"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"font-black text-align-left",style:{width:"75px"}},"Wind wave_max"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"font-black text-align-left",style:{width:"75px"}},"Swell wave_max"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"font-black text-align-left",style:{width:"75px"}},"Sig.wave_max")],-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.daysTableData,o=>(e.openBlock(),e.createElementBlock("tr",{key:Math.random()+o.localDate,class:"text border-bottom"},[e.createElementVNode("td",Wt,[e.createElementVNode("div",null,e.toDisplayString(o.localWeek),1),e.createElementVNode("div",null,e.toDisplayString(o.localDate),1)]),e.createElementVNode("td",Jt,[o.weatherUrl?(e.openBlock(),e.createElementBlock("img",{key:0,class:"iconfont weather-icon",style:{width:"34px",height:"34px"},src:o.weatherUrl},null,8,qt)):e.createCommentVNode("",!0)]),e.createElementVNode("td",Zt,e.toDisplayString(o.weatherName),1),e.createElementVNode("td",_t,[e.createTextVNode(e.toDisplayString(o.minTemp)+" / "+e.toDisplayString(o.maxTemp),1),t[45]||(t[45]=e.createElementVNode("span",{class:"unit"},"°C",-1))]),e.createElementVNode("td",$t,[e.createTextVNode(e.toDisplayString(o.precipSum),1),t[46]||(t[46]=e.createElementVNode("span",{class:"unit"},"mm",-1))]),e.createElementVNode("td",es,[e.createTextVNode(e.toDisplayString(o.precipRainSum),1),t[47]||(t[47]=e.createElementVNode("span",{class:"unit"},"mm",-1))]),e.createElementVNode("td",ts,[e.createTextVNode(e.toDisplayString(o.precipSnowfallSum),1),t[48]||(t[48]=e.createElementVNode("span",{class:"unit"},"mm",-1))]),e.createElementVNode("td",ss,[e.createElementVNode("span",null,e.toDisplayString(o.windSpeedMax),1),t[49]||(t[49]=e.createElementVNode("span",{class:"unit"},"kts",-1)),!isNaN(o.windSpeedDir)&&!isNaN(o.windSpeedMax)?(e.openBlock(),e.createElementBlock("span",{key:0,class:"iconfont icon",style:e.normalizeStyle({display:"inline-block",transform:`rotate(${o.windSpeedDir}deg)`})},"",4)):(e.openBlock(),e.createElementBlock("span",as,"-"))]),e.createElementVNode("td",os,[e.createElementVNode("span",null,e.toDisplayString(o.gustSpeedMax),1),t[50]||(t[50]=e.createElementVNode("span",{class:"unit"},"kts",-1))]),e.createElementVNode("td",is,[e.createElementVNode("span",null,e.toDisplayString(o.windWaveHeight),1),t[51]||(t[51]=e.createElementVNode("span",{class:"unit"},"m",-1)),!isNaN(o.windWaveDir)&&!isNaN(o.windWaveHeight)?(e.openBlock(),e.createElementBlock("span",{key:0,class:"iconfont icon",style:e.normalizeStyle({display:"inline-block",transform:`rotate(${o.windWaveDir}deg)`})},"",4)):(e.openBlock(),e.createElementBlock("span",ns,"-"))]),e.createElementVNode("td",rs,[e.createElementVNode("span",null,e.toDisplayString(o.swellWaveHeight),1),t[52]||(t[52]=e.createElementVNode("span",{class:"unit"},"m",-1)),!isNaN(o.swellWaveDir)&&!isNaN(o.swellWaveHeight)?(e.openBlock(),e.createElementBlock("span",{key:0,class:"iconfont icon",style:e.normalizeStyle({display:"inline-block",transform:`rotate(${o.swellWaveDir}deg)`})},"",4)):(e.openBlock(),e.createElementBlock("span",ls,"-"))]),e.createElementVNode("td",As,[e.createElementVNode("span",null,e.toDisplayString(o.sigWaveHeight),1),t[53]||(t[53]=e.createElementVNode("span",{class:"unit"},"m",-1)),!isNaN(o.sigWaveDir)&&!isNaN(o.sigWaveHeight)?(e.openBlock(),e.createElementBlock("span",{key:0,class:"iconfont icon",style:e.normalizeStyle({display:"inline-block",transform:`rotate(${o.sigWaveDir}deg)`})},"",4)):(e.openBlock(),e.createElementBlock("span",cs,"-"))])]))),128))])])):(g=s.loading)!=null&&g.daysTable?(e.openBlock(),e.createElementBlock("div",hs,t[57]||(t[57]=[e.createElementVNode("img",{style:{height:"200px"},src:xe},null,-1)]))):(e.openBlock(),e.createElementBlock("div",ds,"No Data"))])):e.createCommentVNode("",!0),s.menuIndex===1||s.menuIndex===3?(e.openBlock(),e.createElementBlock("div",gs,[(L=s.position)!=null&&L.name&&a.token&&!((x=s.loading)!=null&&x.hourlyTable)?(e.openBlock(),e.createElementBlock("div",ps,[t[60]||(t[60]=e.createElementVNode("div",{class:"date"},"Hourly Forecast",-1)),e.createElementVNode("table",ms,[t[58]||(t[58]=e.createElementVNode("tr",{class:"day tr-title"},[e.createElementVNode("th",{rowspan:"2",colspan:"1",class:"border",style:{width:"70px"}},"DateTime"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"border"},"Temp"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"border"},"Precip.3h"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"border"},"Visibility"),e.createElementVNode("th",{rowspan:"1",colspan:"4",class:"border"},"Wind"),e.createElementVNode("th",{rowspan:"1",colspan:"3",class:"border"},"Wind wave"),e.createElementVNode("th",{rowspan:"1",colspan:"3",class:"border"},"Sig.wave"),e.createElementVNode("th",{rowspan:"1",colspan:"2",class:"border"},"Current"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"border"},"Sea Level"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"border"},"Sea Surface")],-1)),t[59]||(t[59]=e.createElementVNode("tr",{class:"hour tr-title"},[e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"border"},"°C"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"border",style:{width:"60px"}},"Acc (mm)"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"border"},"Dist (nm)"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"border"},"Dir"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"border"},"Spd(kts)"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"border"},"BF"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"border"},"Gusts(kts)"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"border"},"Dir"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"border"},"Hgt(m)"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"border"},"Prd(s)"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"border"},"Dir"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"border"},"Hgt(m)"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"border"},"Prd(s)"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"border"},"Dir"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"border"},"Spd(kts)"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"border"},"Hgt(m)"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"border"},"Temp(°C)")],-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.hourlyTableData,o=>(e.openBlock(),e.createElementBlock("tr",{key:Math.random()+o.localDate,class:"text border-bottom"},[e.createElementVNode("td",ws,[e.createElementVNode("div",null,e.toDisplayString(o.localDate),1)]),e.createElementVNode("td",fs,[e.createElementVNode("div",null,e.toDisplayString(o.temp),1)]),e.createElementVNode("td",Bs,e.toDisplayString(o.precipSum),1),e.createElementVNode("td",Ds,e.toDisplayString(o.visibility),1),e.createElementVNode("td",ys,[e.createTextVNode(e.toDisplayString(o.windDir)+" ",1),!isNaN(o.windBearing)&&o.windDir?(e.openBlock(),e.createElementBlock("span",{key:0,class:"iconfont icon",style:e.normalizeStyle({display:"inline-block",transform:`rotate(${o.windBearing}deg)`})},"",4)):(e.openBlock(),e.createElementBlock("span",Es,"-"))]),e.createElementVNode("td",xs,e.toDisplayString(o.windSpeed),1),e.createElementVNode("td",Cs,e.toDisplayString(o.windBF),1),e.createElementVNode("td",us,e.toDisplayString(o.windGusts),1),e.createElementVNode("td",Is,[e.createTextVNode(e.toDisplayString(o.windWaveDir)+" ",1),!isNaN(o.windWaveBearing)&&o.windWaveDir?(e.openBlock(),e.createElementBlock("span",{key:0,class:"iconfont icon",style:e.normalizeStyle({display:"inline-block",transform:`rotate(${o.windWaveBearing}deg)`})},"",4)):(e.openBlock(),e.createElementBlock("span",bs,"-"))]),e.createElementVNode("td",ks,e.toDisplayString(o.windWaveHeight),1),e.createElementVNode("td",Ns,e.toDisplayString(o.windWavePeriod),1),e.createElementVNode("td",Qs,[e.createTextVNode(e.toDisplayString(o.sigWaveDir)+" ",1),!isNaN(o.sigWaveBearing)&&o.sigWaveDir?(e.openBlock(),e.createElementBlock("span",{key:0,class:"iconfont icon",style:e.normalizeStyle({display:"inline-block",transform:`rotate(${o.sigWaveBearing}deg)`})},"",4)):(e.openBlock(),e.createElementBlock("span",Ms,"-"))]),e.createElementVNode("td",Ls,e.toDisplayString(o.sigWaveHeight),1),e.createElementVNode("td",zs,e.toDisplayString(o.sigWavePeriod),1),e.createElementVNode("td",Hs,[e.createTextVNode(e.toDisplayString(o.currentDir)+" ",1),!isNaN(o.currentBearing)&&o.currentDir?(e.openBlock(),e.createElementBlock("span",{key:0,class:"iconfont icon",style:e.normalizeStyle({display:"inline-block",transform:`rotate(${o.currentBearing}deg)`})},"",4)):(e.openBlock(),e.createElementBlock("span",Ss,"-"))]),e.createElementVNode("td",Ps,e.toDisplayString(o.currentSpd),1),e.createElementVNode("td",Ts,e.toDisplayString(o.seaLevel),1),e.createElementVNode("td",Gs,e.toDisplayString(o.seaSurfaceTemp),1)]))),128))])])):(C=s.loading)!=null&&C.hourlyTable?(e.openBlock(),e.createElementBlock("div",Fs,t[61]||(t[61]=[e.createElementVNode("img",{style:{height:"200px"},src:xe},null,-1)]))):(e.openBlock(),e.createElementBlock("div",Vs,"No Data"))])):e.createCommentVNode("",!0),s.menuIndex===4?(e.openBlock(),e.createElementBlock("div",Os,[(f=s.position)!=null&&f.name&&a.token&&!((re=s.loading)!=null&&re.seasonalEchart)?(e.openBlock(),e.createElementBlock("div",Ys,[e.createElementVNode("div",js,[e.createElementVNode("div",{id:"seasonal-title",class:"title flex-start",onClick:t[10]||(t[10]=o=>s.seasonalData.showMonths=!s.seasonalData.showMonths)},[e.createElementVNode("div",vs,e.toDisplayString((c=(ie=(le=s.currentMonth)==null?void 0:le.month)==null?void 0:ie.split("-"))==null?void 0:c[0])+" "+e.toDisplayString((F=(D=(ce=s.currentMonth)==null?void 0:ce.month)==null?void 0:D.split("-"))==null?void 0:F[1]),1),e.createElementVNode("div",Ks,[e.createVNode(j,null,{default:e.withCtx(()=>[e.createVNode(G)]),_:1})]),e.withDirectives(e.createElementVNode("div",Us,[e.createElementVNode("div",Rs,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.monthsOptions,o=>{var d;return e.openBlock(),e.createElementBlock("div",{key:o,class:e.normalizeClass(["month-option",((d=s.currentMonth)==null?void 0:d.month)===o.month?"active":""]),onClick:Be=>l.handleSelectMonth(o)},e.toDisplayString(o.month),11,Xs)}),128))])],512),[[e.vShow,s.seasonalData.showMonths]])]),t[62]||(t[62]=e.createElementVNode("div",{id:"temperature-echart"},null,-1)),t[63]||(t[63]=e.createElementVNode("div",{id:"wind-precip-echart"},null,-1))]),e.createElementVNode("div",Ws,[e.createElementVNode("div",Js,e.toDisplayString((I=s.currentMonth)==null?void 0:I.month)+" Summary",1),t[64]||(t[64]=e.createElementVNode("div",{class:"label"},"Temperature",-1)),e.createElementVNode("div",qs,"Avg High Temp: "+e.toDisplayString(s.seasonalData.minHighTemp)+" to "+e.toDisplayString(s.seasonalData.maxHighTemp)+" °C",1),e.createElementVNode("div",Zs,"Avg Low Temp: "+e.toDisplayString(s.seasonalData.minLowTemp)+" to "+e.toDisplayString(s.seasonalData.maxLowTemp)+" °C",1),e.createElementVNode("div",_s,"Hottest Day: "+e.toDisplayString(s.seasonalData.hottestDay),1),e.createElementVNode("div",$s,"Coldest Day: "+e.toDisplayString(s.seasonalData.coldestDay),1),t[65]||(t[65]=e.createElementVNode("div",{class:"label"},"Precipitation",-1)),e.createElementVNode("div",ea,"Light (<10mm): "+e.toDisplayString((r=(H=(ne=s.seasonalData)==null?void 0:ne.precip)==null?void 0:H.filter(o=>o<10))==null?void 0:r.length)+" days",1),e.createElementVNode("div",ta,"Moderate (<=24.9mm): "+e.toDisplayString((ae=(y=(K=s.seasonalData)==null?void 0:K.precip)==null?void 0:y.filter(o=>o>=10&&o<24.9))==null?void 0:ae.length)+" days",1),e.createElementVNode("div",sa,"Heavy (<=49.9mm): "+e.toDisplayString((p=(A=(V=s.seasonalData)==null?void 0:V.precip)==null?void 0:A.filter(o=>o>=24.9&&o<49.9))==null?void 0:p.length)+" days",1),e.createElementVNode("div",aa,"Rainstorm (<=99.9mm): "+e.toDisplayString((de=(w=(O=s.seasonalData)==null?void 0:O.precip)==null?void 0:w.filter(o=>o>=49.9&&o<99.9))==null?void 0:de.length)+" days",1),e.createElementVNode("div",oa,"Heavy Rainstorm (>=100mm): "+e.toDisplayString((he=(se=(M=s.seasonalData)==null?void 0:M.precip)==null?void 0:se.filter(o=>o>=100))==null?void 0:he.length)+" days",1),t[66]||(t[66]=e.createElementVNode("div",{class:"label"},"Wind",-1)),e.createElementVNode("div",ia,"Mean Wind: "+e.toDisplayString(l.roundPrecision(s.seasonalData.meanWind,1))+" kts",1),e.createElementVNode("div",na,"Windiest Day: "+e.toDisplayString(s.seasonalData.windiestDay)+" ( "+e.toDisplayString(s.seasonalData.maxWindSpeed)+"kts )",1),e.createElementVNode("div",ra,"Dominant Wind Dir: "+e.toDisplayString(s.seasonalData.dominantWind),1)])])):(B=s.loading)!=null&&B.seasonalEchart?(e.openBlock(),e.createElementBlock("div",la,t[67]||(t[67]=[e.createElementVNode("img",{style:{height:"200px"},src:xe},null,-1)]))):(e.openBlock(),e.createElementBlock("div",Aa,"No Data"))])):e.createCommentVNode("",!0)]),e.createVNode(oe,{modelValue:s.showFollowDialog,"onUpdate:modelValue":t[13]||(t[13]=o=>s.showFollowDialog=o),title:s.followDialogTitle,modal:!1,width:"440",draggable:!0,"show-close":!1,class:"follow-dialog","close-on-click-modal":!1},{default:e.withCtx(()=>[e.createElementVNode("div",null,[e.createElementVNode("div",{class:"iconfont close-btn",onClick:t[11]||(t[11]=o=>s.showFollowDialog=!1)},""),s.position.portId?(e.openBlock(),e.createElementBlock("div",ca,[t[68]||(t[68]=e.createElementVNode("span",{class:"label"},"Port:",-1)),e.createElementVNode("span",ha,e.toDisplayString(s.position.name),1)])):e.createCommentVNode("",!0),e.createElementVNode("div",da,[t[69]||(t[69]=e.createElementVNode("span",{class:"label"},"Postion:",-1)),e.createElementVNode("span",ga,e.toDisplayString(this.computeLat(this.position.lat)+", "+this.computeLng(this.position.lng)),1)]),e.createElementVNode("div",pa,[t[70]||(t[70]=e.createElementVNode("span",{class:"label"},"Remark:",-1)),s.followItem?(e.openBlock(),e.createElementBlock("span",ma,e.toDisplayString(s.position.remark||"-"),1)):(e.openBlock(),e.createBlock(ee,{key:0,modelValue:s.followRemark,"onUpdate:modelValue":t[12]||(t[12]=o=>s.followRemark=o),class:"text"},null,8,["modelValue"]))]),e.createElementVNode("div",wa,[s.followItem?(e.openBlock(),e.createBlock(te,{key:0,type:"info",plain:"",onClick:l.handleClickFollow},{default:e.withCtx(()=>t[71]||(t[71]=[e.createTextVNode("Remove")])),_:1},8,["onClick"])):(e.openBlock(),e.createBlock(te,{key:1,type:"primary",onClick:l.handleClickFollow},{default:e.withCtx(()=>t[72]||(t[72]=[e.createTextVNode("Confirm")])),_:1},8,["onClick"]))])])]),_:1},8,["modelValue","title"])])}const Ne=Oe(Ye,[["render",fa],["__scopeId","data-v-97811ea5"]]),Ba={install(i){i.component("SpotReport",Ne)}};me.SpotReport=Ne,me.SpotReportPlugin=Ba,Object.defineProperty(me,Symbol.toStringTag,{value:"Module"})});
76
+ `}}},legend:{show:!0,top:"15px",right:"6%",data:["Wind","Wind, last year"],itemWidth:40},xAxis:{show:!0,left:0,right:0,top:"50%",height:"50%",type:"category",boundaryGap:!0,data:(J=this.seasonalData)==null?void 0:J.xDates,axisLabel:{show:!0},axisLine:{show:!0},axisTick:{show:!0,inside:!0,lineStyle:{color:"rgba(0,0,0,0.7)"}},z:1,zlevel:1},yAxis:[{type:"value",name:"Wind speed max ( kts ) ",show:!0,min:b,max:S,interval:G,splitNumber:5,nameRotate:90,nameLocation:"middle",nameGap:25,splitLine:{show:!0},z:0,zlevel:0},{type:"value",name:"Precipitation ( mm ) ",show:!0,min:ee,max:te,interval:oe,splitNumber:5,nameRotate:90,nameLocation:"middle",nameGap:30,splitLine:{show:!0},z:0,zlevel:0}],visualMap:[{type:"piecewise",orient:"horizontal",top:40,right:"6%",show:!0,pieces:[{gte:100,color:"rgba(197, 5, 58, 1)",label:"Heavy Rainstorm, >=100mm"},{gte:50,lte:99.9,color:"rgba(248, 1, 1, 1)",label:"Rainstorm, <=99.9mm"},{gte:25,lte:49.9,color:"rgba(190, 226, 2, 18)",label:"Heavy, <=49.9mm"},{gte:10,lte:24.9,color:"rgba(3, 248, 103, 1)",label:"Moderate, <=24.9mm"},{lt:10,color:"rgba(172, 210, 255, 1)",label:"Light, <10mm"}],seriesIndex:2,dimension:1},{type:"piecewise",orient:"horizontal",top:65,right:"6%",show:!0,pieces:[{gte:100,color:m("#C5053A"),label:"Heavy Rainstorm, last year"},{gte:50,lte:99.9,color:m("#F80101"),label:"Rainstorm, last year"},{gte:25,lte:49.9,color:m("#BEE202"),label:"Heavy, last year"},{gte:10,lte:24.9,color:m("#03F867"),label:"Moderate, last year"},{lt:10,color:m("#ACD2FF"),label:"Light, last year"}],seriesIndex:3,dimension:1}],series:[{name:"Wind",type:"line",data:(q=this.seasonalData)==null?void 0:q.windSpeed,symbol:"none",smooth:!1,itemStyle:{color:"#60c43e"},label:{show:!1}},{name:"Wind, last year",type:"line",symbol:"none",data:(Z=this.seasonalData)==null?void 0:Z.lastYearWindSpeed,itemStyle:{color:"#9af77b"},lineStyle:{color:"#9af77b"},label:{show:!1}},{name:"Precip",type:"bar",yAxisIndex:1,barWidth:"30%",data:(_=this.seasonalData)==null?void 0:_.precip,symbol:"none",smooth:!1,itemStyle:{color:"#0c73a8"},label:{show:!1}},{name:"Precip, last year",type:"bar",yAxisIndex:1,barWidth:"30%",data:($=this.seasonalData)==null?void 0:$.lastYearPrecip,itemStyle:{color:"rgba(12,116,168,0.5)"},label:{show:!1}}]};this.$nextTick(()=>{we.init(document.getElementById("wind-precip-echart")).setOption(P)})},disposeEcharts(){document.getElementById("weather-chart")&&we.dispose(document.getElementById("weather-chart")),document.getElementById("weather-icons")&&we.dispose(document.getElementById("weather-icons")),document.getElementById("weather-condition")&&we.dispose(document.getElementById("weather-condition")),document.getElementById("wave-swell")&&we.dispose(document.getElementById("wave-swell")),document.getElementById("temperature-echart")&&we.dispose(document.getElementById("temperature-echart")),document.getElementById("wind-precip-echart")&&we.dispose(document.getElementById("wind-precip-echart"))},initHoursTableData(){var i,t,a,n,s,l,m,C,N,b,S,G,v,T,ee,te,oe,P,j,U,R,X,W,J,q,Z,_,$,h,z,Q,k,g,L;this.hoursTableData={hours:[],utcHours:[],weatherUrls:[],weatherNames:[],temp:[],precipProbability:[],precip1h:[],visibility:[],humidity:[],windSpeed:[],windDir:[],windGust:[],sigwaveHeight:[],sigwaveDir:[],windwaveHeight:[],windwaveDir:[],windwavePeriod:[],swellHeight:[],swellDir:[],swellPeriod:[],currentSpeed:[],currentDir:[],seaLevel:[],seaTemp:[]};for(let x=0;x<24;x++){const u=E(this.pickedDate).clone().add(x,"h").format();this.hoursTableData.hours.push(u);const f=((i=De.pickHourly(this.meteoData,u))==null?void 0:i[0])||{};this.hoursTableData.weatherUrls.push((t=f.weather)==null?void 0:t.url),this.hoursTableData.weatherNames.push(((a=f.weather)==null?void 0:a.name)??"-"),this.hoursTableData.temp.push(this.roundPrecision((n=f.weather)==null?void 0:n.temp,0)??"-"),this.hoursTableData.precipProbability.push(this.roundPrecision((l=(s=f.weather)==null?void 0:s.precip)==null?void 0:l.probability,1)??"-"),this.hoursTableData.precip1h.push(this.roundPrecision((C=(m=f.weather)==null?void 0:m.precip)==null?void 0:C.sum,1)??"-"),this.hoursTableData.visibility.push(this.roundPrecision((N=f.weather)==null?void 0:N.visibility,0)??"-"),this.hoursTableData.humidity.push(this.roundPrecision((b=f.weather)==null?void 0:b.rh,0)??"-"),this.hoursTableData.windSpeed.push(this.roundPrecision((G=(S=f.weather)==null?void 0:S.wind)==null?void 0:G.kts,1)),this.hoursTableData.windDir.push((T=(v=f.weather)==null?void 0:v.wind)==null?void 0:T.bearing),this.hoursTableData.windGust.push(this.roundPrecision((te=(ee=f.weather)==null?void 0:ee.wind)==null?void 0:te.gusts,1)??"-"),this.hoursTableData.sigwaveHeight.push(this.roundPrecision((P=(oe=f.wave)==null?void 0:oe.sig)==null?void 0:P.height,1)??"-"),this.hoursTableData.sigwaveDir.push((U=(j=f.wave)==null?void 0:j.sig)==null?void 0:U.bearing),this.hoursTableData.windwaveHeight.push(this.roundPrecision((X=(R=f.wave)==null?void 0:R.wd)==null?void 0:X.height,1)??"-"),this.hoursTableData.windwaveDir.push((J=(W=f.wave)==null?void 0:W.wd)==null?void 0:J.bearing),this.hoursTableData.windwavePeriod.push(this.roundPrecision((Z=(q=f.wave)==null?void 0:q.wd)==null?void 0:Z.period,1)??"-"),this.hoursTableData.swellHeight.push(this.roundPrecision(($=(_=f.wave)==null?void 0:_.swell)==null?void 0:$.height,1)??"-"),this.hoursTableData.swellDir.push((z=(h=f.wave)==null?void 0:h.swell)==null?void 0:z.bearing),this.hoursTableData.swellPeriod.push(this.roundPrecision((k=(Q=f.wave)==null?void 0:Q.swell)==null?void 0:k.period,1)??"-"),this.hoursTableData.currentSpeed.push(this.roundPrecision((g=f.current)==null?void 0:g.speed,1)??"-"),this.hoursTableData.currentDir.push((L=f.current)==null?void 0:L.bearing),this.hoursTableData.seaLevel.push(this.roundPrecision(f.height,1)??"-"),this.hoursTableData.seaTemp.push(this.roundPrecision(f.sst,0)??"-")}this.loading.hoursTable=!1},handleClearHoursTable(){this.position={},this.meteoData={},this.followItem=void 0,we&&document.getElementById("weather-chart")&&we.dispose(document.getElementById("weather-chart"))},initDaysTableData(){var t,a,n,s,l,m,C,N,b,S,G,v,T,ee,te,oe,P,j,U,R,X,W,J,q,Z,_,$,h,z,Q,k,g,L,x,u,f,re;this.daysTableData=[];const i=Y(this.etime).tz(this.positionGmt).set({hour:0,minute:0,second:0,millisecond:0}).format();for(let le=0;le<14;le++){const ie=E(i).clone().add(le,"d").format(),c=((t=De.pickDaily(this.meteoData,ie))==null?void 0:t[0])||{};this.daysTableData.push({localWeek:this.computeWeekLT(ie),localDate:this.computeMMMDDLT(ie),weatherUrl:(a=c==null?void 0:c.weather)==null?void 0:a.url,minTemp:this.roundPrecision((s=(n=c==null?void 0:c.weather)==null?void 0:n.temp)==null?void 0:s.min,0)??"-",maxTemp:this.roundPrecision((m=(l=c==null?void 0:c.weather)==null?void 0:l.temp)==null?void 0:m.max,0)??"-",weatherName:(C=c==null?void 0:c.weather)==null?void 0:C.name,precipSum:this.roundPrecision((b=(N=c==null?void 0:c.weather)==null?void 0:N.precip)==null?void 0:b.sum,1)??"-",precipRainSum:this.roundPrecision((G=(S=c==null?void 0:c.weather)==null?void 0:S.precip)==null?void 0:G.rainSum,1)??"-",precipSnowfallSum:this.roundPrecision((T=(v=c==null?void 0:c.weather)==null?void 0:v.precip)==null?void 0:T.snowfallSum,1)??"-",windSpeedMax:this.roundPrecision((te=(ee=c==null?void 0:c.weather)==null?void 0:ee.wind)==null?void 0:te.kts,1)??"-",windSpeedDir:(P=(oe=c==null?void 0:c.weather)==null?void 0:oe.wind)==null?void 0:P.bearing,gustSpeedMax:this.roundPrecision((U=(j=c==null?void 0:c.weather)==null?void 0:j.wind)==null?void 0:U.gusts,1)??"-",windWaveHeight:this.roundPrecision((X=(R=c==null?void 0:c.wave)==null?void 0:R.wd)==null?void 0:X.height,1)??"-",windWavePeriod:this.roundPrecision((J=(W=c==null?void 0:c.wave)==null?void 0:W.wd)==null?void 0:J.period,1)??"-",windWaveDir:(Z=(q=c==null?void 0:c.wave)==null?void 0:q.wd)==null?void 0:Z.bearing,swellWaveHeight:this.roundPrecision(($=(_=c==null?void 0:c.wave)==null?void 0:_.swell)==null?void 0:$.height,1)??"-",swellWavePeriod:this.roundPrecision((z=(h=c==null?void 0:c.wave)==null?void 0:h.swell)==null?void 0:z.period,1)??"-",swellWaveDir:(k=(Q=c==null?void 0:c.wave)==null?void 0:Q.swell)==null?void 0:k.bearing,sigWaveHeight:this.roundPrecision((L=(g=c==null?void 0:c.wave)==null?void 0:g.sig)==null?void 0:L.height,1)??"-",sigWavePeriod:this.roundPrecision((u=(x=c==null?void 0:c.wave)==null?void 0:x.sig)==null?void 0:u.period,1)??"-",sigWaveDir:(re=(f=c==null?void 0:c.wave)==null?void 0:f.sig)==null?void 0:re.bearing})}this.loading.daysTable=!1},initHourlyTableData(i,t,a,n){var C,N,b,S,G,v,T,ee,te,oe,P,j,U,R,X,W,J,q,Z,_,$,h,z,Q,k,g,L,x,u,f,re,le,ie,c,ce,y,F;this.hourlyTableData=[];const s=t||14,l=a||this.etime,m=Y(l).tz(this.positionGmt).set({hour:0,minute:0,second:0,millisecond:0}).format();for(let I=0;I<s*24;I++){let ne,H;if(I%3===0&&(H=3),n?I%3===0&&(ne=E(m).clone().add(I,"h").format()):I<3*24?ne=E(m).clone().add(I,"h").format():I<7*24?I%3===0&&(ne=E(m).clone().add(I,"h").format()):I%6===0&&(ne=E(m).clone().add(I,"h").format()),ne){const r=((C=De.pickHourly(i,ne))==null?void 0:C[0])||{},K=H===6?this.roundPrecision((b=(N=r==null?void 0:r.weather)==null?void 0:N.precip)==null?void 0:b.sum6Hours,1):H===3?this.roundPrecision((G=(S=r==null?void 0:r.weather)==null?void 0:S.precip)==null?void 0:G.sum3Hours,1):"-";this.hourlyTableData.push({localDate:this.computeMMMDDHHmmLT(ne),temp:this.roundPrecision((v=r==null?void 0:r.weather)==null?void 0:v.temp,0)??"-",precipSum:K??"-",visibility:this.roundPrecision((T=r==null?void 0:r.weather)==null?void 0:T.visibility,1)??"-",windSpeed:this.roundPrecision((te=(ee=r==null?void 0:r.weather)==null?void 0:ee.wind)==null?void 0:te.kts,1)??"-",windDir:(P=(oe=r==null?void 0:r.weather)==null?void 0:oe.wind)==null?void 0:P.direction,windBearing:(U=(j=r==null?void 0:r.weather)==null?void 0:j.wind)==null?void 0:U.bearing,windBF:((X=(R=r==null?void 0:r.weather)==null?void 0:R.wind)==null?void 0:X.scale)??"-",windGusts:this.roundPrecision((J=(W=r==null?void 0:r.weather)==null?void 0:W.wind)==null?void 0:J.gusts,1)??"-",windWaveHeight:this.roundPrecision((Z=(q=r==null?void 0:r.wave)==null?void 0:q.wd)==null?void 0:Z.height,1)??"-",windWavePeriod:this.roundPrecision(($=(_=r==null?void 0:r.wave)==null?void 0:_.wd)==null?void 0:$.period,1)??"-",windWaveDir:(z=(h=r==null?void 0:r.wave)==null?void 0:h.wd)==null?void 0:z.direction,windWaveBearing:(k=(Q=r==null?void 0:r.wave)==null?void 0:Q.wd)==null?void 0:k.bearing,sigWaveHeight:this.roundPrecision((L=(g=r==null?void 0:r.wave)==null?void 0:g.sig)==null?void 0:L.height,1)??"-",sigWavePeriod:this.roundPrecision((u=(x=r==null?void 0:r.wave)==null?void 0:x.sig)==null?void 0:u.period,1)??"-",sigWaveDir:(re=(f=r==null?void 0:r.wave)==null?void 0:f.sig)==null?void 0:re.direction,sigWaveBearing:(ie=(le=r==null?void 0:r.wave)==null?void 0:le.wd)==null?void 0:ie.bearing,currentDir:(c=r==null?void 0:r.current)==null?void 0:c.direction,currentSpd:this.roundPrecision((ce=r==null?void 0:r.current)==null?void 0:ce.kts,1)??"-",currentBearing:(F=(y=r==null?void 0:r.wave)==null?void 0:y.wd)==null?void 0:F.bearing,seaLevel:this.roundPrecision(r==null?void 0:r.height,1)??"-",seaSurfaceTemp:this.roundPrecision(r==null?void 0:r.sst,0)??"-"})}}this.loading.hourlyTable=!1},async handleSelectMonth(i){this.currentMonth=i,await this.fetchSeasonalData(),this.initSeasonalEchart()},async handleDateRange(){const{year0:i,month0:t,date0:a,year1:n,month1:s,date1:l}={year0:E(this.dateRange[0]).year(),month0:E(this.dateRange[0]).month(),date0:E(this.dateRange[0]).date(),year1:E(this.dateRange[1]).year(),month1:E(this.dateRange[1]).month(),date1:E(this.dateRange[1]).date()};this.dateRangeZ=[E(this.dateRangeZ[0]).set({year:i,month:t,date:a}).utc().format(),E(this.dateRangeZ[1]).set({year:n,month:s,date:l}).utc().format()];const m=E(this.dateRangeZ[1]).diff(E(this.dateRangeZ[0]),"d",!0)+1;await this.fetchHistoryMeteo(m),this.handleMeteogramData14(this.meteoData,m,this.dateRangeZ[0]),this.initHourlyTableData(this.meteoData,m,this.dateRangeZ[0],!0),this.selectDate=void 0},handlePickDate(i){i[1]?this.selectDate=null:this.selectDate=i[0].getTime()}}},ve={class:"spot-report"},je={class:"search-header-box"},Ke={class:"search-header-box-inner flex-between"},Ue={class:"search-box flex-start"},Re={class:"menu-box flex-end"},Xe={class:"content-box"},We={class:"title-section flex-between"},Je={class:"main-title"},qe={class:"sub-title"},Ze={key:0},_e={class:"flex-end"},$e={key:0,class:"meteogram-echart-section"},et={key:0,class:"card"},tt={class:"title flex-start"},st={style:{"margin-right":"5px"}},at={class:"datetime-select-box"},ot={key:1,class:"card flex-center"},it={key:2,class:"card flex-center"},nt={key:1,class:"weather-echart-section"},rt={key:0,id:"weather-chart",class:"weather-chart"},lt={key:1,class:"weather-chart weather-chart-loading flex-center"},At={key:2,class:"weather-chart flex-center"},ct={key:2,class:"hours-table-section",style:{border:"1px solid var(--idm-gray-light)"}},ht={key:0,class:"card"},dt={class:"date"},gt={class:"basic-table"},pt={class:"day"},mt={class:"hour"},wt={class:"icon"},ft=["src"],Bt={class:"text"},yt={class:"text"},Dt={class:"text"},Et={class:"text"},xt={class:"text"},ut={class:"text"},Ct={key:1},It={class:"text"},bt={class:"text"},kt={class:"wave-current-table"},Nt={class:"text"},Qt={class:"text"},Mt={key:1},Lt={class:"text"},zt={class:"text"},Ht={class:"text"},St={key:1},Pt={class:"text"},Tt={class:"text"},Gt={class:"text"},Ft={key:1},Vt={class:"text"},Ot={class:"sea-table"},Yt={class:"text"},vt={class:"text"},jt={key:1,class:"card card-loading flex-center"},Kt={key:2,class:"card flex-center"},Ut={key:3,class:"days-table-section"},Rt={key:0,class:"card"},Xt={class:"conditions-table"},Wt={rowspan:"1",colspan:"1",class:"tr-title font-gray",style:{"text-align":"right","padding-right":"10px","box-sizing":"border-box"}},Jt={rowspan:"1",colspan:"1"},qt=["src"],Zt={rowspan:"1",colspan:"1",class:"text-align-left"},_t={rowspan:"1",colspan:"1",class:"text-align-left"},$t={rowspan:"1",colspan:"1",class:"text-align-left"},es={rowspan:"1",colspan:"1",class:"text-align-left"},ts={rowspan:"1",colspan:"1",class:"text-align-left"},ss={rowspan:"1",colspan:"1",class:"text-align-right",style:{"padding-right":"30px"}},as={key:1},os={rowspan:"1",colspan:"1",class:"text-align-right",style:{"padding-right":"25px"}},is={rowspan:"1",colspan:"1",class:"text-align-right",style:{"padding-right":"30px"}},ns={key:1},rs={rowspan:"1",colspan:"1",class:"text-align-right",style:{"padding-right":"30px"}},ls={key:1},As={rowspan:"1",colspan:"1",class:"text-align-right",style:{"padding-right":"30px"}},cs={key:1},hs={key:1,class:"card card-loading flex-center"},ds={key:2,class:"card flex-center"},gs={key:4,class:"hourly-table-section"},ps={key:0,class:"card"},ms={class:"conditions-table"},ws={rowspan:"1",colspan:"1",class:"border"},fs={rowspan:"1",colspan:"1",class:"border"},Bs={rowspan:"1",colspan:"1",class:"border"},ys={rowspan:"1",colspan:"1",class:"border"},Ds={rowspan:"1",colspan:"1",class:"border",style:{"font-size":"11px","text-align":"right","padding-right":"3px"}},Es={key:1},xs={rowspan:"1",colspan:"1",class:"border"},us={rowspan:"1",colspan:"1",class:"border"},Cs={rowspan:"1",colspan:"1",class:"border"},Is={rowspan:"1",colspan:"1",class:"border",style:{"font-size":"11px","text-align":"right","padding-right":"3px"}},bs={key:1},ks={rowspan:"1",colspan:"1",class:"border"},Ns={rowspan:"1",colspan:"1",class:"border"},Qs={rowspan:"1",colspan:"1",class:"border",style:{"font-size":"11px","text-align":"right","padding-right":"3px"}},Ms={key:1},Ls={rowspan:"1",colspan:"1",class:"border"},zs={rowspan:"1",colspan:"1",class:"border"},Hs={rowspan:"1",colspan:"1",class:"border",style:{"font-size":"11px","text-align":"right","padding-right":"3px"}},Ss={key:1},Ps={rowspan:"1",colspan:"1",class:"border"},Ts={rowspan:"1",colspan:"1",class:"border"},Gs={rowspan:"1",colspan:"1",class:"border"},Fs={key:1,class:"card card-loading flex-center"},Vs={key:2,class:"card flex-center"},Os={key:5,class:"seasonal-weather-section"},Ys={key:0,class:"card flex-space"},vs={class:"echart-box",style:{}},js={style:{cursor:"pointer"}},Ks={style:{padding:"3px 0 0 5px",cursor:"pointer"}},Us={class:"months-select-box"},Rs={class:"bg-select"},Xs=["onClick"],Ws={class:"flex-col-start-start right-bar"},Js={class:"",style:{"font-size":"16px","font-weight":"bold","margin-bottom":"20px"}},qs={class:"text"},Zs={class:"text"},_s={class:"text"},$s={class:"text"},ea={class:"text"},ta={class:"text"},sa={class:"text"},aa={class:"text"},oa={class:"text"},ia={class:"text"},na={class:"text"},ra={class:"text"},la={key:1,class:"card flex-center"},Aa={key:2,class:"card flex-center"},ca={key:0,class:"info-box-item flex-start"},ha={class:"text"},da={class:"info-box-item flex-start"},ga={class:"text"},pa={class:"info-box-item flex-start"},ma={key:1,class:"text"},wa={class:"info-box-item flex-center"};function fa(i,t,a,n,s,l){var P,j,U,R,X,W,J,q,Z,_,$,h,z,Q,k,g,L,x,u,f,re,le,ie,c,ce,y,F,I,ne,H,r,K,D,ae,V,A,p,O,w,de,M,se,he,B;const m=e.resolveComponent("ElOption"),C=e.resolveComponent("ElSelect"),N=e.resolveComponent("ElTooltip"),b=e.resolveComponent("Calendar"),S=e.resolveComponent("el-icon"),G=e.resolveComponent("ArrowRightBold"),v=e.resolveComponent("ElIcon"),T=e.resolveComponent("el-date-picker"),ee=e.resolveComponent("ElInput"),te=e.resolveComponent("ElButton"),oe=e.resolveComponent("ElDialog");return e.openBlock(),e.createElementBlock("div",ve,[e.createElementVNode("div",je,[e.createElementVNode("div",Ke,[e.createElementVNode("div",Ue,[e.createVNode(C,{modelValue:s.searchName,"onUpdate:modelValue":t[0]||(t[0]=o=>s.searchName=o),filterable:"",class:"input",clearable:"",remote:"",placeholder:s.placeholder,autocomplete:"","remote-show-suffix":"","remote-method":l.fetchSuggestPosition,onFocus:l.handleSearchFocus,onBlur:t[1]||(t[1]=o=>s.placeholder="search for port name or coordinates"),onChange:l.handleSearch},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.positionList,o=>(e.openBlock(),e.createBlock(m,{key:o.name,label:o.nameRemark,value:o.name},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","remote-method","onFocus","onChange"])]),e.createElementVNode("div",Re,[e.createElementVNode("div",{class:e.normalizeClass(["item flex-center",s.menuIndex===1?"active":""]),onClick:t[2]||(t[2]=o=>s.menuIndex=1)},"History",2),e.createElementVNode("div",{class:e.normalizeClass(["item flex-center",s.menuIndex===2?"active":""]),onClick:t[3]||(t[3]=o=>s.menuIndex=2)},"7-Day Forecast",2),e.createElementVNode("div",{class:e.normalizeClass(["item flex-center",s.menuIndex===3?"active":""]),onClick:t[4]||(t[4]=o=>s.menuIndex=3)},"14-Day Forecast",2),e.createElementVNode("div",{class:e.normalizeClass(["item flex-center",s.menuIndex===4?"active":""]),onClick:t[5]||(t[5]=o=>s.menuIndex=4)},"Seasonal Forecast",2)])])]),e.createElementVNode("div",Xe,[e.createElementVNode("div",We,[e.createElementVNode("div",null,[e.createElementVNode("div",Je,e.toDisplayString(s.menuIndex===4?"Seasonal":"")+" Weather forecast for "+e.toDisplayString(((P=s.position)==null?void 0:P.name)||"-")+" ( UTC"+e.toDisplayString(s.positionOffset)+" )",1),e.createElementVNode("div",qe,[e.createTextVNode(" At "+e.toDisplayString((j=s.position)!=null&&j.portId?"port":"coordinates"),1),(U=s.position)!=null&&U.portId?(e.openBlock(),e.createElementBlock("span",Ze,", "+e.toDisplayString(l.computeLat(s.position.lat))+", "+e.toDisplayString(l.computeLng(s.position.lng)),1)):e.createCommentVNode("",!0),e.createTextVNode(", issued "+e.toDisplayString(s.issuedDate),1)])]),e.createElementVNode("div",_e,[e.createVNode(N,{placement:"left",effect:"light",content:s.followItem?"Remove the Port/Coordinate from My Follows":"Add the Port/Coordinate to My Follows","show-after":1e3},{default:e.withCtx(()=>[s.followItem?(e.openBlock(),e.createElementBlock("span",{key:0,class:"iconfont icon active",onClick:t[6]||(t[6]=(...o)=>l.handleFollowDialogOpen&&l.handleFollowDialogOpen(...o))},"")):(e.openBlock(),e.createElementBlock("span",{key:1,class:"iconfont icon",onClick:t[7]||(t[7]=(...o)=>l.handleFollowDialogOpen&&l.handleFollowDialogOpen(...o))},""))]),_:1},8,["content"])])]),s.menuIndex===1||s.menuIndex===2||s.menuIndex===3?(e.openBlock(),e.createElementBlock("div",$e,[(R=s.position)!=null&&R.name&&a.token&&!((X=s.loading)!=null&&X.meteogramEchart)?(e.openBlock(),e.createElementBlock("div",et,[e.createElementVNode("div",tt,[t[14]||(t[14]=e.createElementVNode("div",{style:{"margin-right":"20px"}},"Meteogram",-1)),e.withDirectives(e.createElementVNode("div",{id:"history-date-title",class:"flex-space",style:{cursor:"pointer"},onClick:t[8]||(t[8]=o=>s.meteoData.showDateSelect=!s.meteoData.showDateSelect)},[e.createVNode(S,{size:"16",style:{"margin-right":"10px"}},{default:e.withCtx(()=>[e.createVNode(b)]),_:1}),e.createElementVNode("span",st,e.toDisplayString(l.computeMMMDDyyyyLT(s.dateRangeZ[0]))+" ~ "+e.toDisplayString(l.computeMMMDDyyyyLT(s.dateRangeZ[1])),1),e.createVNode(v,{size:"16"},{default:e.withCtx(()=>[e.createVNode(G)]),_:1})],512),[[e.vShow,s.menuIndex===1]]),e.withDirectives(e.createElementVNode("div",at,[e.createVNode(T,{modelValue:s.dateRange,"onUpdate:modelValue":t[9]||(t[9]=o=>s.dateRange=o),type:"daterange","range-separator":"~","start-placeholder":"Start date","end-placeholder":"End date",shortcuts:s.datePickerOptions.shortcuts,disabledDate:s.datePickerOptions.disabledDate,onCalendarChange:l.handlePickDate,onChange:l.handleDateRange},null,8,["modelValue","shortcuts","disabledDate","onCalendarChange","onChange"])],512),[[e.vShow,((W=s.meteoData)==null?void 0:W.showDateSelect)&&s.menuIndex===1]])]),t[15]||(t[15]=e.createElementVNode("div",{id:"weather-icons"},null,-1)),t[16]||(t[16]=e.createElementVNode("div",{id:"weather-condition"},null,-1)),t[17]||(t[17]=e.createElementVNode("div",{id:"wave-swell"},null,-1))])):(J=s.loading)!=null&&J.meteogramEchart?(e.openBlock(),e.createElementBlock("div",ot,t[18]||(t[18]=[e.createElementVNode("img",{style:{height:"200px"},src:xe},null,-1)]))):(e.openBlock(),e.createElementBlock("div",it,"No Data"))])):e.createCommentVNode("",!0),s.menuIndex===2?(e.openBlock(),e.createElementBlock("div",nt,[(q=s.position)!=null&&q.name&&a.token&&!((Z=s.loading)!=null&&Z.weatherEchart)?(e.openBlock(),e.createElementBlock("div",rt)):(_=s.loading)!=null&&_.weatherEchart?(e.openBlock(),e.createElementBlock("div",lt,t[19]||(t[19]=[e.createElementVNode("img",{style:{height:"200px"},src:xe},null,-1)]))):(e.openBlock(),e.createElementBlock("div",At,"No Data"))])):e.createCommentVNode("",!0),s.menuIndex===2?(e.openBlock(),e.createElementBlock("div",ct,[($=s.position)!=null&&$.name&&a.token&&!((h=s.loading)!=null&&h.hoursTable)?(e.openBlock(),e.createElementBlock("div",ht,[e.createElementVNode("div",dt,e.toDisplayString(s.pickedWeek)+" "+e.toDisplayString(l.computeMMMDDLT(s.pickedDate)),1),e.createElementVNode("table",gt,[e.createElementVNode("tr",pt,[t[20]||(t[20]=e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"td-title"},[e.createTextVNode("Local time"),e.createElementVNode("span",{class:"unit"},"(LT)")],-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.hoursTableData.hours,(o,d)=>(e.openBlock(),e.createElementBlock("th",{key:`${o}${d}hoursLT`,rowspan:"1",colspan:"1",class:e.normalizeClass(s.activeIndex===d?"active":"")},e.toDisplayString(l.computeHourLT(o)),3))),128))]),e.createElementVNode("tr",mt,[t[21]||(t[21]=e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"td-title"},[e.createTextVNode("UTC"),e.createElementVNode("span",{class:"unit"})],-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.hoursTableData.hours,(o,d)=>(e.openBlock(),e.createElementBlock("th",{key:`${o}${d}hoursLZ`,rowspan:"1",colspan:"1",class:e.normalizeClass(s.activeIndex===d?"active":"")},e.toDisplayString(l.computeHourZ(o)),3))),128))]),e.createElementVNode("tr",wt,[t[22]||(t[22]=e.createElementVNode("td",{rowspan:"1",colspan:"1",class:"td-title"},[e.createTextVNode("Weather"),e.createElementVNode("span",{class:"unit"})],-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.hoursTableData.weatherUrls,(o,d)=>(e.openBlock(),e.createElementBlock("td",{key:`${o}${d}weatherUrls-weatherNames`,rowspan:"1",colspan:"1",class:e.normalizeClass(s.activeIndex===d?"active":"")},[e.createVNode(N,{placement:"top",effect:"light",content:s.hoursTableData.weatherNames[d],"show-after":500},{default:e.withCtx(()=>[o?(e.openBlock(),e.createElementBlock("img",{key:0,class:"iconfont weather-icon",src:o},null,8,ft)):e.createCommentVNode("",!0)]),_:2},1032,["content"])],2))),128))]),e.createElementVNode("tr",Bt,[t[23]||(t[23]=e.createElementVNode("td",{rowspan:"1",colspan:"1",class:"td-title"},[e.createTextVNode("Temperature"),e.createElementVNode("span",{class:"unit"},"°C")],-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.hoursTableData.temp,(o,d)=>(e.openBlock(),e.createElementBlock("td",{key:`${o}${d}temp`,rowspan:"1",colspan:"1",class:e.normalizeClass(s.activeIndex===d?"active":"")},e.toDisplayString(o),3))),128))]),e.createElementVNode("tr",yt,[t[24]||(t[24]=e.createElementVNode("td",{rowspan:"1",colspan:"1",class:"td-title"},[e.createTextVNode("Precipitation Probability"),e.createElementVNode("span",{class:"unit"},"%")],-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.hoursTableData.precipProbability,(o,d)=>(e.openBlock(),e.createElementBlock("td",{key:`${o}${d}precipProbability`,rowspan:"1",colspan:"1",class:e.normalizeClass(s.activeIndex===d?"active":"")},e.toDisplayString(o),3))),128))]),e.createElementVNode("tr",Dt,[t[25]||(t[25]=e.createElementVNode("td",{rowspan:"1",colspan:"1",class:"td-title"},[e.createTextVNode("Precipitation 1h"),e.createElementVNode("span",{class:"unit"},"mm")],-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.hoursTableData.precip1h,(o,d)=>(e.openBlock(),e.createElementBlock("td",{key:`${o}${d}precip1h`,rowspan:"1",colspan:"1",class:e.normalizeClass(s.activeIndex===d?"active":"")},e.toDisplayString(o),3))),128))]),e.createElementVNode("tr",Et,[t[26]||(t[26]=e.createElementVNode("td",{rowspan:"1",colspan:"1",class:"td-title"},[e.createTextVNode("Visibility"),e.createElementVNode("span",{class:"unit"},"nm")],-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.hoursTableData.visibility,(o,d)=>(e.openBlock(),e.createElementBlock("td",{key:`${o}${d}visibility`,rowspan:"1",colspan:"1",class:e.normalizeClass(s.activeIndex===d?"active":"")},e.toDisplayString(o),3))),128))]),e.createElementVNode("tr",xt,[t[27]||(t[27]=e.createElementVNode("td",{rowspan:"1",colspan:"1",class:"td-title"},[e.createTextVNode("Relative Humidity"),e.createElementVNode("span",{class:"unit"},"%")],-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.hoursTableData.humidity,(o,d)=>(e.openBlock(),e.createElementBlock("td",{key:`${o}${d}humidity`,rowspan:"1",colspan:"1",class:e.normalizeClass(s.activeIndex===d?"active":"")},e.toDisplayString(o),3))),128))]),e.createElementVNode("tr",ut,[t[28]||(t[28]=e.createElementVNode("td",{rowspan:"1",colspan:"1",class:"td-title"},[e.createTextVNode("Wind direction"),e.createElementVNode("span",{class:"unit"})],-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.hoursTableData.windDir,(o,d)=>(e.openBlock(),e.createElementBlock("td",{key:`${o}${d}windDir`,rowspan:"1",colspan:"1",class:e.normalizeClass(s.activeIndex===d?"active":"")},[isNaN(o)?(e.openBlock(),e.createElementBlock("span",Ct,"-")):(e.openBlock(),e.createElementBlock("span",{key:0,class:"iconfont icon",style:e.normalizeStyle({display:"inline-block",transform:`rotate(${o}deg)`})},"",4))],2))),128))]),e.createElementVNode("tr",It,[t[29]||(t[29]=e.createElementVNode("td",{rowspan:"1",colspan:"1",class:"td-title"},[e.createTextVNode("Wind speed"),e.createElementVNode("span",{class:"unit"},"kts")],-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.hoursTableData.windSpeed,(o,d)=>(e.openBlock(),e.createElementBlock("td",{key:`${o}${d}windSpeed`,rowspan:"1",colspan:"1",class:e.normalizeClass(s.activeIndex===d?"active":"")},e.toDisplayString(o),3))),128))]),e.createElementVNode("tr",bt,[t[30]||(t[30]=e.createElementVNode("td",{rowspan:"1",colspan:"1",class:"td-title"},[e.createTextVNode("Wind gust"),e.createElementVNode("span",{class:"unit"},"kts")],-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.hoursTableData.windGust,(o,d)=>(e.openBlock(),e.createElementBlock("td",{key:`${o}${d}windGust`,rowspan:"1",colspan:"1",class:e.normalizeClass(s.activeIndex===d?"active":"")},e.toDisplayString(o),3))),128))])]),t[42]||(t[42]=e.createElementVNode("div",{style:{"text-align":"center",padding:"3px"}},null,-1)),e.createElementVNode("table",kt,[e.createElementVNode("tr",Nt,[t[31]||(t[31]=e.createElementVNode("td",{rowspan:"1",colspan:"1",class:"td-title"},[e.createTextVNode("Wind wave height"),e.createElementVNode("span",{class:"unit"},"m")],-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.hoursTableData.windwaveHeight,(o,d)=>(e.openBlock(),e.createElementBlock("td",{key:`${o}${d}windwaveHeight`,rowspan:"1",colspan:"1",class:e.normalizeClass(s.activeIndex===d?"active":"")},e.toDisplayString(o),3))),128))]),e.createElementVNode("tr",Qt,[t[32]||(t[32]=e.createElementVNode("td",{rowspan:"1",colspan:"1",class:"td-title"},[e.createTextVNode("Wind wave direction"),e.createElementVNode("span",{class:"unit"})],-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.hoursTableData.windwaveDir,(o,d)=>(e.openBlock(),e.createElementBlock("td",{key:`${o}${d}windwaveDir`,rowspan:"1",colspan:"1",class:e.normalizeClass(s.activeIndex===d?"active":"")},[isNaN(o)?(e.openBlock(),e.createElementBlock("span",Mt,"-")):(e.openBlock(),e.createElementBlock("span",{key:0,class:"iconfont icon",style:e.normalizeStyle({display:"inline-block",transform:`rotate(${o}deg)`})},"",4))],2))),128))]),e.createElementVNode("tr",Lt,[t[33]||(t[33]=e.createElementVNode("td",{rowspan:"1",colspan:"1",class:"td-title"},[e.createTextVNode("Wind wave period"),e.createElementVNode("span",{class:"unit"},"s")],-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.hoursTableData.windwavePeriod,(o,d)=>(e.openBlock(),e.createElementBlock("td",{key:`${o}${d}windwavePeriod`,rowspan:"1",colspan:"1",class:e.normalizeClass(s.activeIndex===d?"active":"")},e.toDisplayString(o),3))),128))]),e.createElementVNode("tr",zt,[t[34]||(t[34]=e.createElementVNode("td",{rowspan:"1",colspan:"1",class:"td-title"},[e.createTextVNode("Swell height"),e.createElementVNode("span",{class:"unit"},"m")],-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.hoursTableData.swellHeight,(o,d)=>(e.openBlock(),e.createElementBlock("td",{key:`${o}${d}swellHeight`,rowspan:"1",colspan:"1",class:e.normalizeClass(s.activeIndex===d?"active":"")},e.toDisplayString(o),3))),128))]),e.createElementVNode("tr",Ht,[t[35]||(t[35]=e.createElementVNode("td",{rowspan:"1",colspan:"1",class:"td-title"},[e.createTextVNode("Swell direction"),e.createElementVNode("span",{class:"unit"})],-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.hoursTableData.swellDir,(o,d)=>(e.openBlock(),e.createElementBlock("td",{key:`${o}${d}swellDir`,rowspan:"1",colspan:"1",class:e.normalizeClass(s.activeIndex===d?"active":"")},[isNaN(o)?(e.openBlock(),e.createElementBlock("span",St,"-")):(e.openBlock(),e.createElementBlock("span",{key:0,class:"iconfont icon",style:e.normalizeStyle({display:"inline-block",transform:`rotate(${o}deg)`})},"",4))],2))),128))]),e.createElementVNode("tr",Pt,[t[36]||(t[36]=e.createElementVNode("td",{rowspan:"1",colspan:"1",class:"td-title"},[e.createTextVNode("Swell period"),e.createElementVNode("span",{class:"unit"},"s")],-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.hoursTableData.swellPeriod,(o,d)=>(e.openBlock(),e.createElementBlock("td",{key:`${o}${d}swellPeriod`,rowspan:"1",colspan:"1",class:e.normalizeClass(s.activeIndex===d?"active":"")},e.toDisplayString(o),3))),128))]),e.createElementVNode("tr",Tt,[t[37]||(t[37]=e.createElementVNode("td",{rowspan:"1",colspan:"1",class:"td-title"},[e.createTextVNode("Sig wave height"),e.createElementVNode("span",{class:"unit"},"m")],-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.hoursTableData.sigwaveHeight,(o,d)=>(e.openBlock(),e.createElementBlock("td",{key:`${o}${d}sigwaveHeight`,rowspan:"1",colspan:"1",class:e.normalizeClass(s.activeIndex===d?"active":"")},e.toDisplayString(o),3))),128))]),e.createElementVNode("tr",Gt,[t[38]||(t[38]=e.createElementVNode("td",{rowspan:"1",colspan:"1",class:"td-title"},[e.createTextVNode("Current direction"),e.createElementVNode("span",{class:"unit"})],-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.hoursTableData.currentDir,(o,d)=>(e.openBlock(),e.createElementBlock("td",{key:`${o}${d}currentDir`,rowspan:"1",colspan:"1",class:e.normalizeClass(s.activeIndex===d?"active":"")},[isNaN(o)?(e.openBlock(),e.createElementBlock("span",Ft,"-")):(e.openBlock(),e.createElementBlock("span",{key:0,class:"iconfont icon",style:e.normalizeStyle({display:"inline-block",transform:`rotate(${o}deg)`})},"",4))],2))),128))]),e.createElementVNode("tr",Vt,[t[39]||(t[39]=e.createElementVNode("td",{rowspan:"1",colspan:"1",class:"td-title"},[e.createTextVNode("Current speed"),e.createElementVNode("span",{class:"unit"},"kts")],-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.hoursTableData.currentSpeed,(o,d)=>(e.openBlock(),e.createElementBlock("td",{key:`${o}${d}currentSpeed`,rowspan:"1",colspan:"1",class:e.normalizeClass(s.activeIndex===d?"active":"")},e.toDisplayString(o),3))),128))])]),t[43]||(t[43]=e.createElementVNode("div",{style:{"text-align":"center",padding:"3px"}},null,-1)),e.createElementVNode("table",Ot,[e.createElementVNode("tr",Yt,[t[40]||(t[40]=e.createElementVNode("td",{rowspan:"1",colspan:"1",class:"td-title"},[e.createTextVNode("Sea level height"),e.createElementVNode("span",{class:"unit"},"m")],-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.hoursTableData.seaLevel,(o,d)=>(e.openBlock(),e.createElementBlock("td",{key:`${o}${d}seaLevel`,rowspan:"1",colspan:"1",class:e.normalizeClass(s.activeIndex===d?"active":"")},e.toDisplayString(o),3))),128))]),e.createElementVNode("tr",vt,[t[41]||(t[41]=e.createElementVNode("td",{rowspan:"1",colspan:"1",class:"td-title"},[e.createTextVNode("Sea surface temperature"),e.createElementVNode("span",{class:"unit"},"°C")],-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.hoursTableData.seaTemp,(o,d)=>(e.openBlock(),e.createElementBlock("td",{key:`${o}${d}seaTemp`,rowspan:"1",colspan:"1",class:e.normalizeClass(s.activeIndex===d?"active":"")},e.toDisplayString(o),3))),128))])])])):(z=s.loading)!=null&&z.hoursTable?(e.openBlock(),e.createElementBlock("div",jt,t[44]||(t[44]=[e.createElementVNode("img",{style:{height:"200px"},src:xe},null,-1)]))):(e.openBlock(),e.createElementBlock("div",Kt,"No Data"))])):e.createCommentVNode("",!0),s.menuIndex===3?(e.openBlock(),e.createElementBlock("div",Ut,[(Q=s.position)!=null&&Q.name&&a.token&&!((k=s.loading)!=null&&k.daysTable)?(e.openBlock(),e.createElementBlock("div",Rt,[t[56]||(t[56]=e.createElementVNode("div",{class:"date"},"Daily Forecast",-1)),e.createElementVNode("table",Xt,[t[54]||(t[54]=e.createElementVNode("tr",{class:"day tr-title"},[e.createElementVNode("th",{rowspan:"1",colspan:"1"}),e.createElementVNode("th",{rowspan:"1",colspan:"3",class:"text-align-left"},"Conditions"),e.createElementVNode("th",{rowspan:"1",colspan:"3",class:"text-align-left"},"Precipitation"),e.createElementVNode("th",{rowspan:"1",colspan:"2",class:"text-align-left"},"Wind"),e.createElementVNode("th",{rowspan:"1",colspan:"4",class:"text-align-left"},"Wave")],-1)),t[55]||(t[55]=e.createElementVNode("tr",{class:"hour tr-title border-bottom"},[e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"font-black",style:{"text-align":"right","padding-right":"10px","box-sizing":"border-box"}},"Date"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"font-black text-align-left",style:{width:"40px"}},"Weather"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"font-black text-align-left",style:{width:"70px"}}),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"font-black text-align-left"},"Temperature"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"font-black text-align-left"},"Sum"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"font-black text-align-left"},"Rain"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"font-black text-align-left"},"Snowfall"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"font-black text-align-left"},"Speed_max"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"font-black text-align-left"},"Gust_max"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"font-black text-align-left",style:{width:"75px"}},"Wind wave_max"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"font-black text-align-left",style:{width:"75px"}},"Swell wave_max"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"font-black text-align-left",style:{width:"75px"}},"Sig.wave_max")],-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.daysTableData,o=>(e.openBlock(),e.createElementBlock("tr",{key:Math.random()+o.localDate,class:"text border-bottom"},[e.createElementVNode("td",Wt,[e.createElementVNode("div",null,e.toDisplayString(o.localWeek),1),e.createElementVNode("div",null,e.toDisplayString(o.localDate),1)]),e.createElementVNode("td",Jt,[o.weatherUrl?(e.openBlock(),e.createElementBlock("img",{key:0,class:"iconfont weather-icon",style:{width:"34px",height:"34px"},src:o.weatherUrl},null,8,qt)):e.createCommentVNode("",!0)]),e.createElementVNode("td",Zt,e.toDisplayString(o.weatherName),1),e.createElementVNode("td",_t,[e.createTextVNode(e.toDisplayString(o.minTemp)+" / "+e.toDisplayString(o.maxTemp),1),t[45]||(t[45]=e.createElementVNode("span",{class:"unit"},"°C",-1))]),e.createElementVNode("td",$t,[e.createTextVNode(e.toDisplayString(o.precipSum),1),t[46]||(t[46]=e.createElementVNode("span",{class:"unit"},"mm",-1))]),e.createElementVNode("td",es,[e.createTextVNode(e.toDisplayString(o.precipRainSum),1),t[47]||(t[47]=e.createElementVNode("span",{class:"unit"},"mm",-1))]),e.createElementVNode("td",ts,[e.createTextVNode(e.toDisplayString(o.precipSnowfallSum),1),t[48]||(t[48]=e.createElementVNode("span",{class:"unit"},"mm",-1))]),e.createElementVNode("td",ss,[e.createElementVNode("span",null,e.toDisplayString(o.windSpeedMax),1),t[49]||(t[49]=e.createElementVNode("span",{class:"unit"},"kts",-1)),!isNaN(o.windSpeedDir)&&!isNaN(o.windSpeedMax)?(e.openBlock(),e.createElementBlock("span",{key:0,class:"iconfont icon",style:e.normalizeStyle({display:"inline-block",transform:`rotate(${o.windSpeedDir}deg)`})},"",4)):(e.openBlock(),e.createElementBlock("span",as,"-"))]),e.createElementVNode("td",os,[e.createElementVNode("span",null,e.toDisplayString(o.gustSpeedMax),1),t[50]||(t[50]=e.createElementVNode("span",{class:"unit"},"kts",-1))]),e.createElementVNode("td",is,[e.createElementVNode("span",null,e.toDisplayString(o.windWaveHeight),1),t[51]||(t[51]=e.createElementVNode("span",{class:"unit"},"m",-1)),!isNaN(o.windWaveDir)&&!isNaN(o.windWaveHeight)?(e.openBlock(),e.createElementBlock("span",{key:0,class:"iconfont icon",style:e.normalizeStyle({display:"inline-block",transform:`rotate(${o.windWaveDir}deg)`})},"",4)):(e.openBlock(),e.createElementBlock("span",ns,"-"))]),e.createElementVNode("td",rs,[e.createElementVNode("span",null,e.toDisplayString(o.swellWaveHeight),1),t[52]||(t[52]=e.createElementVNode("span",{class:"unit"},"m",-1)),!isNaN(o.swellWaveDir)&&!isNaN(o.swellWaveHeight)?(e.openBlock(),e.createElementBlock("span",{key:0,class:"iconfont icon",style:e.normalizeStyle({display:"inline-block",transform:`rotate(${o.swellWaveDir}deg)`})},"",4)):(e.openBlock(),e.createElementBlock("span",ls,"-"))]),e.createElementVNode("td",As,[e.createElementVNode("span",null,e.toDisplayString(o.sigWaveHeight),1),t[53]||(t[53]=e.createElementVNode("span",{class:"unit"},"m",-1)),!isNaN(o.sigWaveDir)&&!isNaN(o.sigWaveHeight)?(e.openBlock(),e.createElementBlock("span",{key:0,class:"iconfont icon",style:e.normalizeStyle({display:"inline-block",transform:`rotate(${o.sigWaveDir}deg)`})},"",4)):(e.openBlock(),e.createElementBlock("span",cs,"-"))])]))),128))])])):(g=s.loading)!=null&&g.daysTable?(e.openBlock(),e.createElementBlock("div",hs,t[57]||(t[57]=[e.createElementVNode("img",{style:{height:"200px"},src:xe},null,-1)]))):(e.openBlock(),e.createElementBlock("div",ds,"No Data"))])):e.createCommentVNode("",!0),s.menuIndex===1||s.menuIndex===3?(e.openBlock(),e.createElementBlock("div",gs,[(L=s.position)!=null&&L.name&&a.token&&!((x=s.loading)!=null&&x.hourlyTable)?(e.openBlock(),e.createElementBlock("div",ps,[t[60]||(t[60]=e.createElementVNode("div",{class:"date"},"Hourly Forecast",-1)),e.createElementVNode("table",ms,[t[58]||(t[58]=e.createElementVNode("tr",{class:"day tr-title"},[e.createElementVNode("th",{rowspan:"2",colspan:"1",class:"border",style:{width:"70px"}},"DateTime"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"border"},"Temp"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"border"},"Precip.3h"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"border"},"Visibility"),e.createElementVNode("th",{rowspan:"1",colspan:"4",class:"border"},"Wind"),e.createElementVNode("th",{rowspan:"1",colspan:"3",class:"border"},"Wind wave"),e.createElementVNode("th",{rowspan:"1",colspan:"3",class:"border"},"Sig.wave"),e.createElementVNode("th",{rowspan:"1",colspan:"2",class:"border"},"Current"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"border"},"Sea Level"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"border"},"Sea Surface")],-1)),t[59]||(t[59]=e.createElementVNode("tr",{class:"hour tr-title"},[e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"border"},"°C"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"border",style:{width:"60px"}},"Acc (mm)"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"border"},"Dist (nm)"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"border"},"Dir"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"border"},"Spd(kts)"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"border"},"BF"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"border"},"Gusts(kts)"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"border"},"Dir"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"border"},"Hgt(m)"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"border"},"Prd(s)"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"border"},"Dir"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"border"},"Hgt(m)"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"border"},"Prd(s)"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"border"},"Dir"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"border"},"Spd(kts)"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"border"},"Hgt(m)"),e.createElementVNode("th",{rowspan:"1",colspan:"1",class:"border"},"Temp(°C)")],-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.hourlyTableData,o=>(e.openBlock(),e.createElementBlock("tr",{key:Math.random()+o.localDate,class:"text border-bottom"},[e.createElementVNode("td",ws,[e.createElementVNode("div",null,e.toDisplayString(o.localDate),1)]),e.createElementVNode("td",fs,[e.createElementVNode("div",null,e.toDisplayString(o.temp),1)]),e.createElementVNode("td",Bs,e.toDisplayString(o.precipSum),1),e.createElementVNode("td",ys,e.toDisplayString(o.visibility),1),e.createElementVNode("td",Ds,[e.createTextVNode(e.toDisplayString(o.windDir)+" ",1),!isNaN(o.windBearing)&&o.windDir?(e.openBlock(),e.createElementBlock("span",{key:0,class:"iconfont icon",style:e.normalizeStyle({display:"inline-block",transform:`rotate(${o.windBearing}deg)`})},"",4)):(e.openBlock(),e.createElementBlock("span",Es,"-"))]),e.createElementVNode("td",xs,e.toDisplayString(o.windSpeed),1),e.createElementVNode("td",us,e.toDisplayString(o.windBF),1),e.createElementVNode("td",Cs,e.toDisplayString(o.windGusts),1),e.createElementVNode("td",Is,[e.createTextVNode(e.toDisplayString(o.windWaveDir)+" ",1),!isNaN(o.windWaveBearing)&&o.windWaveDir?(e.openBlock(),e.createElementBlock("span",{key:0,class:"iconfont icon",style:e.normalizeStyle({display:"inline-block",transform:`rotate(${o.windWaveBearing}deg)`})},"",4)):(e.openBlock(),e.createElementBlock("span",bs,"-"))]),e.createElementVNode("td",ks,e.toDisplayString(o.windWaveHeight),1),e.createElementVNode("td",Ns,e.toDisplayString(o.windWavePeriod),1),e.createElementVNode("td",Qs,[e.createTextVNode(e.toDisplayString(o.sigWaveDir)+" ",1),!isNaN(o.sigWaveBearing)&&o.sigWaveDir?(e.openBlock(),e.createElementBlock("span",{key:0,class:"iconfont icon",style:e.normalizeStyle({display:"inline-block",transform:`rotate(${o.sigWaveBearing}deg)`})},"",4)):(e.openBlock(),e.createElementBlock("span",Ms,"-"))]),e.createElementVNode("td",Ls,e.toDisplayString(o.sigWaveHeight),1),e.createElementVNode("td",zs,e.toDisplayString(o.sigWavePeriod),1),e.createElementVNode("td",Hs,[e.createTextVNode(e.toDisplayString(o.currentDir)+" ",1),!isNaN(o.currentBearing)&&o.currentDir?(e.openBlock(),e.createElementBlock("span",{key:0,class:"iconfont icon",style:e.normalizeStyle({display:"inline-block",transform:`rotate(${o.currentBearing}deg)`})},"",4)):(e.openBlock(),e.createElementBlock("span",Ss,"-"))]),e.createElementVNode("td",Ps,e.toDisplayString(o.currentSpd),1),e.createElementVNode("td",Ts,e.toDisplayString(o.seaLevel),1),e.createElementVNode("td",Gs,e.toDisplayString(o.seaSurfaceTemp),1)]))),128))])])):(u=s.loading)!=null&&u.hourlyTable?(e.openBlock(),e.createElementBlock("div",Fs,t[61]||(t[61]=[e.createElementVNode("img",{style:{height:"200px"},src:xe},null,-1)]))):(e.openBlock(),e.createElementBlock("div",Vs,"No Data"))])):e.createCommentVNode("",!0),s.menuIndex===4?(e.openBlock(),e.createElementBlock("div",Os,[(f=s.position)!=null&&f.name&&a.token&&!((re=s.loading)!=null&&re.seasonalEchart)?(e.openBlock(),e.createElementBlock("div",Ys,[e.createElementVNode("div",vs,[e.createElementVNode("div",{id:"seasonal-title",class:"title flex-start",onClick:t[10]||(t[10]=o=>s.seasonalData.showMonths=!s.seasonalData.showMonths)},[e.createElementVNode("div",js,e.toDisplayString((c=(ie=(le=s.currentMonth)==null?void 0:le.month)==null?void 0:ie.split("-"))==null?void 0:c[0])+" "+e.toDisplayString((F=(y=(ce=s.currentMonth)==null?void 0:ce.month)==null?void 0:y.split("-"))==null?void 0:F[1]),1),e.createElementVNode("div",Ks,[e.createVNode(v,null,{default:e.withCtx(()=>[e.createVNode(G)]),_:1})]),e.withDirectives(e.createElementVNode("div",Us,[e.createElementVNode("div",Rs,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.monthsOptions,o=>{var d;return e.openBlock(),e.createElementBlock("div",{key:o,class:e.normalizeClass(["month-option",((d=s.currentMonth)==null?void 0:d.month)===o.month?"active":""]),onClick:fe=>l.handleSelectMonth(o)},e.toDisplayString(o.month),11,Xs)}),128))])],512),[[e.vShow,s.seasonalData.showMonths]])]),t[62]||(t[62]=e.createElementVNode("div",{id:"temperature-echart"},null,-1)),t[63]||(t[63]=e.createElementVNode("div",{id:"wind-precip-echart"},null,-1))]),e.createElementVNode("div",Ws,[e.createElementVNode("div",Js,e.toDisplayString((I=s.currentMonth)==null?void 0:I.month)+" Summary",1),t[64]||(t[64]=e.createElementVNode("div",{class:"label"},"Temperature",-1)),e.createElementVNode("div",qs,"Avg High Temp: "+e.toDisplayString(s.seasonalData.minHighTemp)+" to "+e.toDisplayString(s.seasonalData.maxHighTemp)+" °C",1),e.createElementVNode("div",Zs,"Avg Low Temp: "+e.toDisplayString(s.seasonalData.minLowTemp)+" to "+e.toDisplayString(s.seasonalData.maxLowTemp)+" °C",1),e.createElementVNode("div",_s,"Hottest Day: "+e.toDisplayString(s.seasonalData.hottestDay),1),e.createElementVNode("div",$s,"Coldest Day: "+e.toDisplayString(s.seasonalData.coldestDay),1),t[65]||(t[65]=e.createElementVNode("div",{class:"label"},"Precipitation",-1)),e.createElementVNode("div",ea,"Light (<10mm): "+e.toDisplayString((r=(H=(ne=s.seasonalData)==null?void 0:ne.precip)==null?void 0:H.filter(o=>o<10))==null?void 0:r.length)+" days",1),e.createElementVNode("div",ta,"Moderate (<=24.9mm): "+e.toDisplayString((ae=(D=(K=s.seasonalData)==null?void 0:K.precip)==null?void 0:D.filter(o=>o>=10&&o<24.9))==null?void 0:ae.length)+" days",1),e.createElementVNode("div",sa,"Heavy (<=49.9mm): "+e.toDisplayString((p=(A=(V=s.seasonalData)==null?void 0:V.precip)==null?void 0:A.filter(o=>o>=24.9&&o<49.9))==null?void 0:p.length)+" days",1),e.createElementVNode("div",aa,"Rainstorm (<=99.9mm): "+e.toDisplayString((de=(w=(O=s.seasonalData)==null?void 0:O.precip)==null?void 0:w.filter(o=>o>=49.9&&o<99.9))==null?void 0:de.length)+" days",1),e.createElementVNode("div",oa,"Heavy Rainstorm (>=100mm): "+e.toDisplayString((he=(se=(M=s.seasonalData)==null?void 0:M.precip)==null?void 0:se.filter(o=>o>=100))==null?void 0:he.length)+" days",1),t[66]||(t[66]=e.createElementVNode("div",{class:"label"},"Wind",-1)),e.createElementVNode("div",ia,"Mean Wind: "+e.toDisplayString(l.roundPrecision(s.seasonalData.meanWind,1))+" kts",1),e.createElementVNode("div",na,"Windiest Day: "+e.toDisplayString(s.seasonalData.windiestDay)+" ( "+e.toDisplayString(s.seasonalData.maxWindSpeed)+"kts )",1),e.createElementVNode("div",ra,"Dominant Wind Dir: "+e.toDisplayString(s.seasonalData.dominantWind),1)])])):(B=s.loading)!=null&&B.seasonalEchart?(e.openBlock(),e.createElementBlock("div",la,t[67]||(t[67]=[e.createElementVNode("img",{style:{height:"200px"},src:xe},null,-1)]))):(e.openBlock(),e.createElementBlock("div",Aa,"No Data"))])):e.createCommentVNode("",!0)]),e.createVNode(oe,{modelValue:s.showFollowDialog,"onUpdate:modelValue":t[13]||(t[13]=o=>s.showFollowDialog=o),title:s.followDialogTitle,modal:!1,width:"440",draggable:!0,"show-close":!1,class:"follow-dialog","close-on-click-modal":!1},{default:e.withCtx(()=>[e.createElementVNode("div",null,[e.createElementVNode("div",{class:"iconfont close-btn",onClick:t[11]||(t[11]=o=>s.showFollowDialog=!1)},""),s.position.portId?(e.openBlock(),e.createElementBlock("div",ca,[t[68]||(t[68]=e.createElementVNode("span",{class:"label"},"Port:",-1)),e.createElementVNode("span",ha,e.toDisplayString(s.position.name),1)])):e.createCommentVNode("",!0),e.createElementVNode("div",da,[t[69]||(t[69]=e.createElementVNode("span",{class:"label"},"Postion:",-1)),e.createElementVNode("span",ga,e.toDisplayString(this.computeLat(this.position.lat)+", "+this.computeLng(this.position.lng)),1)]),e.createElementVNode("div",pa,[t[70]||(t[70]=e.createElementVNode("span",{class:"label"},"Remark:",-1)),s.followItem?(e.openBlock(),e.createElementBlock("span",ma,e.toDisplayString(s.position.remark||"-"),1)):(e.openBlock(),e.createBlock(ee,{key:0,modelValue:s.followRemark,"onUpdate:modelValue":t[12]||(t[12]=o=>s.followRemark=o),class:"text"},null,8,["modelValue"]))]),e.createElementVNode("div",wa,[s.followItem?(e.openBlock(),e.createBlock(te,{key:0,type:"info",plain:"",onClick:l.handleClickFollow},{default:e.withCtx(()=>t[71]||(t[71]=[e.createTextVNode("Remove")])),_:1},8,["onClick"])):(e.openBlock(),e.createBlock(te,{key:1,type:"primary",onClick:l.handleClickFollow},{default:e.withCtx(()=>t[72]||(t[72]=[e.createTextVNode("Confirm")])),_:1},8,["onClick"]))])])]),_:1},8,["modelValue","title"])])}const Ne=Oe(Ye,[["render",fa],["__scopeId","data-v-b0b68ba8"]]),Ba={install(i){i.component("SpotReport",Ne)}};me.SpotReport=Ne,me.SpotReportPlugin=Ba,Object.defineProperty(me,Symbol.toStringTag,{value:"Module"})});