@signalk/freeboard-sk 3.0.0 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/public/{chunk-ZUWZA665.js → chunk-5LCPVX3S.js} +1 -1
- package/public/{chunk-BW2ETQQP.js → chunk-ECAD42KO.js} +1 -1
- package/public/{chunk-GGSNNB7Z.js → chunk-EXANCIHV.js} +1 -1
- package/public/{chunk-ZNBGUBXU.js → chunk-GU2FUO6Z.js} +1 -1
- package/public/{chunk-BT4IAQBW.js → chunk-KKD4UBHB.js} +3 -3
- package/public/{chunk-4ORQORV3.js → chunk-OFYILQE4.js} +1 -1
- package/public/{chunk-OTJKIGKW.js → chunk-RXMZCTQL.js} +2 -2
- package/public/{chunk-ZTLTHAPK.js → chunk-WMIZVO63.js} +1 -1
- package/public/{chunk-HF67WER7.js → chunk-XFMBJ4SJ.js} +1 -1
- package/public/index.html +1 -1
- package/public/{main-GWT4XTZZ.js → main-MARHMHOX.js} +4 -4
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{D as Xe,J as Ye,K as Je,L as Qe,aa as $e,ba as $,ca as ee,e as Le,ga as et,ha as tt,ia as it,m as Ke,n as B,p as ze,q as qe,w as je,wa as nt,x as L,xa as at}from"./chunk-OTJKIGKW.js";import{a as K,b as Ze,c as He}from"./chunk-IURS3QQO.js";import{a as We,h as ke,j as Ve,k as Pe}from"./chunk-4BXCQ655.js";import{a as Oe,d as Be,i as Ie,j as Fe,k as Ae}from"./chunk-LXTM3LEN.js";import{a as Y,b as J,c as Ge,d as Q}from"./chunk-IYNTZMNB.js";import{a as xe}from"./chunk-3CRIFTHA.js";import"./chunk-UF7LOYCE.js";import"./chunk-XHEJEIFO.js";import"./chunk-I3OUN6B4.js";import{b as z,c as Ne,f as Re,i as q,j as Ue,n as j,o as X}from"./chunk-WX7YZB5N.js";import{$d as U,Da as O,Dd as he,Ea as T,Fa as D,Ha as b,Hd as ye,Ia as y,Ja as S,Jb as F,Jd as Se,Ka as h,La as i,Ma as n,Na as E,Nb as fe,Ob as A,P as W,Q as m,R as c,Rd as Ce,S as x,T as me,Td as Me,Ua as k,Wa as p,Wd as N,X as ce,Ya as M,Yd as we,Z as I,Zd as R,_ as pe,ca as _e,ee as G,gb as w,he as Z,ie as ve,ja as r,jb as ue,lb as s,le as be,mb as C,me as Te,nb as V,ne as De,oe as Ee,pb as _,pe as H,qb as u,ra as P,rb as f}from"./chunk-4BSA3TDQ.js";import"./chunk-EQVTEUXC.js";var _t=(l,d)=>d[0];function ut(l,d){if(l&1&&(i(0,"mat-option",8),x(),i(1,"svg",6),E(2,"line",7),n()()),l&2){let a=d.$implicit;h("value",a),r(2),O("stroke-width",a)}}function ft(l,d){if(l&1&&(i(0,"mat-option",8),x(),i(1,"svg",6),E(2,"line",9),n()()),l&2){let a=d.$implicit;h("value",a[0]),r(2),O("stroke-dasharray",a[1])}}var te=class l{color=A("#ff0000");dash=A("none");weight=A(1);_color=F(()=>this.color());_dash=F(()=>this.dash());_weight=F(()=>this.weight());selectionChange=fe();app=W(L);line={dashArrays:this.app.lineDashMap,weights:[1,2,3,4,5]};constructor(){}ngOnInit(){}onSelectChange(d){let a=this.app.formatLineDashArray(this._dash());this.selectionChange.emit({lineStyle:{fill:{color:this._color()},stroke:{color:this._color(),width:this._weight(),lineDash:a}},config:{color:this._color(),weight:this._weight(),dash:this._dash()}})}static \u0275fac=function(a){return new(a||l)};static \u0275cmp=P({type:l,selectors:[["linestyle-select"]],inputs:{color:[1,"color"],dash:[1,"dash"],weight:[1,"weight"]},outputs:{selectionChange:"selectionChange"},decls:25,vars:5,consts:[[2,"display","flex"],[2,"width","100px"],["mat-input","","matNativeControl","","type","color",3,"ngModelChange","change","ngModel"],[2,"width","110px"],[3,"ngModelChange","selectionChange","ngModel"],[2,"display","flex","align-items","center","gap","8px"],["width","48","height","10",2,"vertical-align","middle","margin-right","6px"],["x1","0","y1","5","x2","48","y2","5","stroke","currentColor","stroke-array","none"],[3,"value"],["x1","0","y1","5","x2","48","y2","5","stroke","currentColor","stroke-width","2"]],template:function(a,e){a&1&&(i(0,"div",0)(1,"mat-form-field",1)(2,"mat-label"),s(3,"Color"),n(),i(4,"input",2),f("ngModelChange",function(o){return u(e._color,o)||(e._color=o),o}),p("change",function(o){return e.onSelectChange({key:"color",value:o.srcElement.value})}),n()(),i(5,"mat-form-field",3)(6,"mat-label"),s(7,"Weight"),n(),i(8,"mat-select",4),f("ngModelChange",function(o){return u(e._weight,o)||(e._weight=o),o}),p("selectionChange",function(o){return e.onSelectChange({key:"weight",value:o.value})}),i(9,"mat-select-trigger")(10,"div",5),x(),i(11,"svg",6),E(12,"line",7),n()()(),y(13,ut,3,2,"mat-option",8,b),n()(),me(),i(15,"mat-form-field",3)(16,"mat-label"),s(17,"Style"),n(),i(18,"mat-select",4),f("ngModelChange",function(o){return u(e._dash,o)||(e._dash=o),o}),p("selectionChange",function(o){return e.onSelectChange({key:"dash",value:o.value})}),i(19,"mat-select-trigger")(20,"div",5),x(),i(21,"svg",6),E(22,"line",9),n()()(),y(23,ft,3,2,"mat-option",8,_t),n()()()),a&2&&(r(4),_("ngModel",e._color),r(4),_("ngModel",e._weight),r(4),O("stroke-width",e._weight()),r(),S(e.line.weights),r(5),_("ngModel",e._dash),r(4),O("stroke-dasharray",e.line.dashArrays.get(e._dash())),r(),S(e.line.dashArrays))},dependencies:[H,U,G,Z,R,N,K,X,j,q,z,Q,J,Ge,Y],encapsulation:2})};var yt=(l,d)=>d[0];function St(l,d){if(l&1){let a=k();i(0,"div",4)(1,"mat-radio-button",5,0),p("change",function(){m(a);let g=w(2),o=M().$implicit,t=M();return o[1].current=g.value,c(t.save(!0))}),s(3),n()()}if(l&2){let a=d.$implicit,e=M().$implicit;r(),h("name",e[0])("value",a)("checked",a===e[1].current),r(2),V(" ",a.split(".").slice(-1)," ")}}function Ct(l,d){if(l&1&&(i(0,"div",2)(1,"div",3)(2,"div"),s(3),n()(),i(4,"div"),y(5,St,4,4,"div",4,b),n()()),l&2){let a=d.$implicit;r(3),C(a[1].name),r(2),S(a[1].available)}}var ie=class l{title="";chosen=new ce;pathChoices={tws:{name:"True Wind Speed",choices:["environment.wind.speedTrue","environment.wind.speedOverGround"],available:[],current:""},twd:{name:"True Wind Direction",choices:["environment.wind.directionTrue","environment.wind.directionMagnetic","environment.wind.angleTrueGround","environment.wind.angleTrueWater"],available:[],current:""},heading:{name:"Heading / COG",choices:["navigation.courseOverGroundTrue","navigation.courseOverGroundMagnetic","navigation.headingTrue","navigation.headingMagnetic"],available:[],current:""}};pathChoicesArray=Object.entries(this.pathChoices);availPaths;app=W(L);constructor(){}ngOnInit(){this.initEntries()}initEntries(){this.availPaths=new Map(Object.entries(this.app.data.vessels.prefAvailablePaths)),this.pathChoices.tws.current=this.app.config.units.preferredPaths.tws,this.pathChoices.twd.current=this.app.config.units.preferredPaths.twd,this.pathChoices.heading.current=this.app.config.units.preferredPaths.heading,Object.entries(this.pathChoices).forEach(a=>{let e=a[1];e.choices.forEach(g=>{this.availPaths.has(g)&&e.available.push(g)}),e.available.length===0&&e.available.push(e.choices[0])})}save(d){let a={};Object.entries(this.pathChoices).forEach(e=>{a[e[0]]=e[1].current}),this.chosen.emit({save:d,value:a})}static \u0275fac=function(a){return new(a||l)};static \u0275cmp=P({type:l,selectors:[["signalk-preferred-paths"]],inputs:{title:"title"},outputs:{chosen:"chosen"},decls:6,vars:1,consts:[["pathopt",""],[2,"font-size","10pt"],[1,"sk-details"],[1,"title"],[2,"margin","5px 0 5px 0"],[3,"change","name","value","checked"]],template:function(a,e){a&1&&(i(0,"fieldset")(1,"legend",1),s(2),n(),i(3,"div"),y(4,Ct,7,1,"div",2,yt),n()()),a&2&&(r(2),C(e.title),r(2),S(e.pathChoicesArray))},dependencies:[ee,$],styles:[".sk-details[_ngcontent-%COMP%]{position:relative;display:flex;flex-direction:column;font-family:Roboto,Arial,Helvetica,sans-serif;font-size:10pt;max-height:100%;width:60vw;max-width:300px}.sk-details[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{background:left 1px -webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.18)),color-stop(.65,transparent)) #b2bbc2e3;padding:3px 5px 0;margin-top:3px;font-weight:500;line-height:23px;color:#000}.sk-details[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:0;line-height:23px;margin:0;flex:1 1 auto;overflow:auto}.sk-details[_ngcontent-%COMP%] .item[_ngcontent-%COMP%]{display:flex;flex-direction:row;line-height:26px;border-width:0 0 0 0;border-style:solid;border-color:gray;padding-left:5px}.sk-details[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .item[_ngcontent-%COMP%]{border-width:0 0 1px 0}.sk-details[_ngcontent-%COMP%] .sectionname[_ngcontent-%COMP%]{text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;font-weight:500}.sk-details[_ngcontent-%COMP%] .pathvalue[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;width:100%;background-color:#fff}.sk-details[_ngcontent-%COMP%] .pathvalue[_ngcontent-%COMP%] .path[_ngcontent-%COMP%]{text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-style:italic}.sk-details[_ngcontent-%COMP%] .pathvalue[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]{text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"],changeDetection:0})};var v=(l,d)=>d[0],Mt=(l,d)=>d.id;function wt(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function vt(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function bt(l,d){if(l&1&&(i(0,"mat-option",118),s(1),n()),l&2){let a=d.$implicit;h("value",a.url)("matTooltip",a.description),r(),V(" ",a.name," ")}}function Tt(l,d){if(l&1){let a=k();i(0,"div",44)(1,"div",35)(2,"mat-form-field",36)(3,"mat-label"),s(4,"Select Instruments App"),n(),i(5,"mat-select",60),f("ngModelChange",function(g){m(a);let o=M();return u(o.facade.settings.display.plugins.instruments,g)||(o.facade.settings.display.plugins.instruments=g),c(g)}),p("selectionChange",function(){m(a);let g=M();return c(g.onInstrumentApp())}),y(6,bt,2,3,"mat-option",118,b),n()()(),i(8,"div",35)(9,"mat-form-field",50)(10,"mat-label"),s(11,"Parameters"),n(),i(12,"input",119,18),f("ngModelChange",function(g){m(a);let o=M();return u(o.facade.settings.display.plugins.parameters,g)||(o.facade.settings.display.plugins.parameters=g),c(g)}),p("change",function(){m(a);let g=M();return c(g.persistModel("pluginParameters"))}),n()()(),i(14,"div",35)(15,"mat-checkbox",120),f("ngModelChange",function(g){m(a);let o=M();return u(o.facade.settings.display.plugins.startOnOpen,g)||(o.facade.settings.display.plugins.startOnOpen=g),c(g)}),p("change",function(){m(a);let g=M();return c(g.persistModel("pluginStartOnOpen"))}),s(16," Halt App on hide "),n()(),i(17,"div",35)(18,"button",121),p("click",function(){m(a);let g=M();return c(g.toggleFavourites())}),i(19,"mat-icon"),s(20,"star"),n(),s(21," FAVOURITES "),n()()()}if(l&2){let a=M();r(5),_("ngModel",a.facade.settings.display.plugins.instruments),r(),S(a.facade.applicationList),r(6),h("disabled",a.facade.settings.display.plugins.instruments===null),_("ngModel",a.facade.settings.display.plugins.parameters),r(3),_("ngModel",a.facade.settings.display.plugins.startOnOpen)}}function Dt(l,d){if(l&1&&(i(0,"mat-list-option",123),s(1),n()),l&2){let a=d.$implicit,e=M(2);h("disabled",a.url==e.facade.settings.display.plugins.instruments)("selected",e.facade.settings.display.plugins.favourites.includes(a.url))("value",a.url),r(),V(" ",a.name," ")}}function Et(l,d){if(l&1){let a=k();i(0,"div",34)(1,"div",35)(2,"div",100),E(3,"br"),s(4,"Select Favourite Apps: "),n(),E(5,"mat-divider"),i(6,"mat-selection-list",122,19),p("selectionChange",function(g){m(a);let o=w(7),t=M();return c(t.onFavSelected(g,o))}),y(8,Dt,2,4,"mat-list-option",123,b),n()()()}if(l&2){let a=M();r(8),S(a.facade.favouritesList)}}function Wt(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function kt(l,d){l&1&&(i(0,"mat-error"),s(1,"Please enter a number >= 0"),n())}function Vt(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function Pt(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function Lt(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function xt(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function Ot(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function Bt(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function It(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function Ft(l,d){if(l&1){let a=k();i(0,"div",35)(1,"mat-form-field",36)(2,"mat-label"),s(3,"Position display format"),n(),i(4,"mat-select",124),f("ngModelChange",function(g){m(a);let o=M();return u(o.facade.settings.units.positionFormat,g)||(o.facade.settings.units.positionFormat=g),c(g)}),p("selectionChange",function(){m(a);let g=M();return c(g.persistModel())}),y(5,It,2,2,"mat-option",38,b),n()()()}if(l&2){let a=M();r(4),_("ngModel",a.facade.settings.units.positionFormat),r(),S(a.options.preferredValues.coords)}}function At(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function Nt(l,d){if(l&1){let a=k();i(0,"div",35)(1,"mat-form-field",36)(2,"mat-label"),s(3,"Prefer True / Magnetic values"),n(),i(4,"mat-select",125),f("ngModelChange",function(g){m(a);let o=M();return u(o.facade.settings.units.headingAttribute,g)||(o.facade.settings.units.headingAttribute=g),c(g)}),p("selectionChange",function(){m(a);let g=M();return c(g.persistModel("headingAttribute"))}),y(5,At,2,2,"mat-option",38,b),n()()()}if(l&2){let a=M();r(4),_("ngModel",a.facade.settings.units.headingAttribute),r(),S(a.options.preferredValues.heading)}}function Rt(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a),r(),C(a)}}function Ut(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function Gt(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function Zt(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function Ht(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function Kt(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a),r(),C(a)}}function zt(l,d){l&1&&(i(0,"mat-error"),s(1," Please enter a positive number "),n())}function qt(l,d){l&1&&(i(0,"mat-error"),s(1," Please enter a positive number "),n())}function jt(l,d){l&1&&(i(0,"mat-error"),s(1," Please enter a positive number "),n())}function Xt(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function Yt(l,d){l&1&&(i(0,"mat-error"),s(1," Please enter a number > 0 "),n())}function Jt(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a),r(),C(a)}}function Qt(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function $t(l,d){if(l&1&&(i(0,"mat-radio-button",38),E(1,"img",126),s(2),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),ue(`transform: scale(${a[0]})`),r(),V(" (",a[1],") ")}}function ei(l,d){l&1&&(i(0,"mat-error"),s(1," Please enter a value between -90 and 90 (max 9 decimals) "),n())}function ti(l,d){l&1&&(i(0,"mat-error"),s(1," Please enter a value between -180 and 180 (max 9 decimals) "),n())}function ii(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function ni(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function ai(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a),r(),C(a)}}function oi(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a),r(),C(a)}}function ri(l,d){l&1&&(i(0,"mat-error"),s(1," Please enter a number >= 1. "),n())}function si(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function li(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function di(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function gi(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function mi(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function ci(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function pi(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a),r(),C(a)}}function _i(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function ui(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a),r(),C(a)}}function fi(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a),r(),C(a)}}function hi(l,d){if(l&1){let a=k();i(0,"button",127),p("click",function(){m(a),M();let g=w(532);return c(g.value="")}),i(1,"mat-icon"),s(2,"close"),n()()}}function yi(l,d){if(l&1&&(i(0,"mat-list-option",102),s(1),n()),l&2){let a=d.$implicit,e=M();h("selected",e.facade.settings.resources.paths.includes(a))("value",a),r(),V(" ",a," ")}}function Si(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a.id),r(),C(a.name)}}function Ci(l,d){if(l&1){let a=k();i(0,"mat-tab",103)(1,"div",29)(2,"div",30)(3,"div",115)(4,"div",32),s(5,"RADAR SETTINGS"),n(),i(6,"mat-card",33)(7,"div",44)(8,"div",35)(9,"mat-form-field",128)(10,"mat-label"),s(11,"Radar Devices"),n(),i(12,"mat-select",129,20),f("ngModelChange",function(g){m(a);let o=M();return u(o.facade.settings.radars.deviceId,g)||(o.facade.settings.radars.deviceId=g),c(g)}),p("selectionChange",function(){m(a);let g=M();return c(g.doRadar())}),y(14,Si,2,2,"mat-option",38,Mt),n()()(),i(16,"div",35)(17,"button",130),p("click",function(){m(a);let g=M();return c(g.refreshRadars())}),i(18,"mat-icon"),s(19," refresh"),n(),s(20," REFRESH "),n()()()()()()()()}if(l&2){let a=M();r(12),h("disabled",!a.radarList().length||a.app.uiCtrl().radarLayer),_("ngModel",a.facade.settings.radars.deviceId),r(2),S(a.radarList())}}function Mi(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function wi(l,d){l&1&&(i(0,"mat-error"),s(1," Value required. "),n())}var st=class l{show={favourites:I(!1)};options;aisStateFilter={moored:!1,anchored:!1};formattedNumberModel={rangeCirclesDistance:1e3};unitsChangedSignal=I(0);radarList=I([]);saveOnClose=!1;facade=W(at);myElement=W(_e);dialogRef=W(he);wakeLock=W(Ke);s57=W(ze);app=W(L);radarApi=W(je);constructor(){this.options=new nt,pe(()=>{this.unitsChangedSignal(),this.formatNumberModel()})}ngOnInit(){this.facade.refresh(),this.facade.settings.selections.aisState.forEach(d=>{d in this.aisStateFilter&&(this.aisStateFilter[d]=!0)}),this.refreshRadars()}refreshRadars(){this.radarApi.listRadars().then(d=>{this.radarList.set(d)}).catch(()=>{this.radarList.set([])})}formatNumberModel(){this.formattedNumberModel={rangeCirclesDistance:this.facade.settings.units.distance==="kilometer"?Math.floor(this.facade.settings.vessels.rangeCirclesDistance/1e3):Math.floor(B.transform(this.facade.settings.vessels.rangeCirclesDistance,"m","naut-mile"))}}raiseChange(){this.app.alignUnitPrefs(this.app.serverConfig.unitPreferences()),this.unitsChangedSignal.update(d=>d+1)}handleClose(){this.saveOnClose&&this.persistModel(),this.dialogRef.close()}doWakelock(d){this.persistModel(),d?this.wakeLock.disable():this.wakeLock.enable()}doS57(d){this.facade.settings.map.s57Options.depthUnit=this.facade.settings.units.depth,d?this.parseNumber(d):this.persistModel(),this.s57.setOptions(this.facade.settings.map.s57Options)}doRadar(){this.radarApi.init(this.facade.settings.radars.deviceId).then(d=>{d&&this.persistModel()})}onLineStyle(d,a){let e=this.facade.settings.vessels.selfLines[d];e&&(e.color=a.config.color,e.dash=a.config.dash,e.weight=a.config.weight,this.app.selfLines.update(g=>{let o=Object.assign({},g);return o[d]=a.lineStyle,o}),this.persistModel())}toggleFavourites(){this.show.favourites.update(d=>!d)}parseNumber(d,a){if(typeof d.model!="number"){d.reset(this.fallbackToDefault());return}!a&&d.model<0&&d.reset(Math.abs(d.model)),this.persistModel()}parseFormattedNumber(d,a){typeof d.model=="number"&&(!a&&d.model<0&&d.reset(Math.abs(d.model)),this.facade.settings.vessels.rangeCirclesDistance=this.facade.settings.units.distance==="kilometer"?Math.floor(this.formattedNumberModel.rangeCirclesDistance*1e3):Math.floor(B.nauticalMilesToKm(this.formattedNumberModel.rangeCirclesDistance)*1e3),this.persistModel())}fallbackToDefault(){let d=qe();if(typeof this.facade.settings.display.statusBar.referenceSpeed!="number")return d.display.statusBar.referenceSpeed;if(typeof this.facade.settings.map.s57Options.shallowDepth!="number")return d.map.s57Options.shallowDepth;if(typeof this.facade.settings.map.s57Options.safetyDepth!="number")return d.map.s57Options.safetyDepth;if(typeof this.facade.settings.map.s57Options.deepDepth!="number")return d.map.s57Options.deepDepth;if(typeof this.facade.fixedPosition[0]!="number"||typeof this.facade.fixedPosition[1]!="number")return 0;if(typeof this.facade.settings.course.arrivalCircle!="number")return d.course.arrivalCircle}persistModel(d){this.facade.applySettings(),this.facade.emitChangeEvent(d)}get speedUnitSymbol(){return B.getSymbol(this.facade.settings.units.speed)}deferPersist(d){this.saveOnClose=!0,this.facade.emitChangeEvent(d)}onInstrumentApp(){this.persistModel("pluginInstruments"),this.facade.buildFavouritesList()}onPreferredPaths(d){d.save&&(this.facade.settings.units.preferredPaths=d.value,this.persistModel())}onFavSelected(d,a){this.facade.settings.display.plugins.favourites=a.selectedOptions.selected.map(e=>e.value),this.persistModel()}onAisStateFilter(){let d=[];for(let a in this.aisStateFilter)this.aisStateFilter[a]&&d.push(a);this.facade.settings.selections.aisState=[].concat(d),this.persistModel()}onResPathSelected(d){this.facade.settings.resources.paths=d.selectedOptions.selected.map(a=>a.value),this.facade.settings.resources.paths.forEach(a=>{a in this.facade.settings.selections.resourceSets||(this.facade.settings.selections.resourceSets[a]=[])}),this.persistModel()}clearAuthToken(){this.facade.clearToken()}renderSymbol(d){return B.getSymbol(d)}static \u0275fac=function(a){return new(a||l)};static \u0275cmp=P({type:l,selectors:[["settings-dialog"]],decls:627,vars:128,consts:[["refspeed","ngModel"],["serverprefs",""],["distunits",""],["s57shallowDepth","ngModel"],["s57safetyDepth","ngModel"],["s57deepDepth","ngModel"],["coursearrivalcircle","ngModel"],["courseautoadvance",""],["courseautoadvanceon",""],["vesselfixedlocationmode",""],["fixedlat","ngModel"],["fixedlon","ngModel"],["rangeCirclesDistance","ngModel"],["notesrootfilter",""],["respath",""],["skmaxradius",""],["videourl","ngModel"],["experiments",""],["instparams","ngModel"],["favs",""],["radarlist",""],[2,"background-color","transparent"],[1,"dialog-icon"],[2,"flex","1 1 auto","text-align","center"],[2,"text-align","right"],["mat-icon-button","",3,"click"],["mat-dialog-content",""],["dynamicHeight","false","mat-stretch-tabs","false","mat-align-tabs","start"],["label","Display"],[1,"theme-page","settings"],[1,"theme-panel"],["id","sectDisplay",1,"setting-group"],[1,"setting-group-title"],[1,"setting-card"],[1,"setting-card-row",2,"padding-bottom","10px"],[1,"setting-card-row-item"],[2,"width","100%"],["matTooltip","Dark Mode setting.",3,"ngModelChange","selectionChange","ngModel"],[3,"value"],["label","after","matTooltip","Auto-set using environment.mode value.",3,"ngModelChange","change","ngModel"],["matTooltip","Action button selection.",3,"ngModelChange","selectionChange","ngModel"],["label","after","matTooltip","Disable wake lock.",3,"ngModelChange","change","disabled","ngModel"],["label","after","matTooltip","Un-check to prefer dialogs over the information panel",3,"ngModelChange","change","ngModel"],["label","after","matTooltip","Open Note details with a single click instead of showing the pop-up options",3,"ngModelChange","change","ngModel"],[1,"setting-card-row"],["matTooltip","Do not play sounds","label","after",3,"ngModelChange","change","ngModel"],["label","after",3,"ngModelChange","change","ngModel"],["matTooltip","Period of time out of alarm state before re-triggering.",3,"ngModelChange","selectionChange","ngModel","disabled"],[1,"setting-group"],["label","after","matTooltip","Show the bearing, distance and ETA from the vessel to the cursor in the status bar (mouse only).",3,"ngModelChange","change","ngModel"],["floatLabel","always",2,"width","100%"],["matInput","","type","number","min","0","matTooltip","Boat speed used to estimate ETA when SOG is unavailable (e.g. at anchor or hove to).",3,"ngModelChange","change","disabled","ngModel"],["matTooltip","Glyph used to display wind direction and speed.",3,"ngModelChange","selectionChange","ngModel"],["label","Units"],["id","sectUnits",1,"setting-group"],["label","after","matTooltip","Use the unit preferences configured on the server.",3,"ngModelChange","change","disabled","ngModel"],[3,"ngModelChange","selectionChange","disabled","ngModel"],["title","Preferred Paths",3,"chosen"],["label","Map"],["id","sectMap",1,"setting-group"],[3,"ngModelChange","selectionChange","ngModel"],["matTooltip","Add close button to popovers","label","after",3,"ngModelChange","change","ngModel"],["matTooltip","Double Click map to zoom","label","after",3,"ngModelChange","change","ngModel"],["matTooltip","Keep tiles visible when zooming past chart maxZoom","label","after",3,"ngModelChange","change","ngModel"],["matTooltip","Do not exit follow vessel when map is panned.","label","after",3,"ngModelChange","change","ngModel"],["placeholder","Graphicsstyle",3,"ngModelChange","selectionChange","ngModel"],["placeholder","Boundaries",3,"ngModelChange","selectionChange","ngModel"],["placeholder","Color Table",3,"ngModelChange","selectionChange","ngModel"],["placeholder","Colors",3,"ngModelChange","selectionChange","ngModel"],["matInput","","type","number","required","","min","0",3,"ngModelChange","change","ngModel"],["matSuffix",""],["multiple","","placeholder","Layers",3,"ngModelChange","selectionChange","ngModel"],["label","Course"],["id","sectCourse",1,"setting-group"],["matTooltip","Select the trigger for advancing to next point.",3,"ngModelChange","selectionChange","disabled","ngModel"],["matTooltip","Period of time before destination is advanced to next waypoint.",3,"ngModelChange","selectionChange","disabled","ngModel"],["label","Vessels"],["id","sectVessels",1,"setting-group"],[3,"ngModelChange","change","ngModel"],["label","after","matTooltip","e.g. Building, Camp, etc.",3,"ngModelChange","change","ngModel"],["floatLabel","always"],["matInput","","type","number","required","","pattern","^-?([1-8]?[0-9])(\\.\\d{1,9})?$","min","-90","max","90",3,"ngModelChange","change","ngModel","disabled"],["matInput","","type","number","required","","pattern","^-?(1[0-7]?[0-9]|[1-9]?[0-9])(\\.\\d{1,9})?$","min","-180","max","180",3,"ngModelChange","change","ngModel","disabled"],["matTooltip","Length of heading line.",3,"ngModelChange","selectionChange","ngModel"],[3,"selectionChange","color","dash","weight"],["matTooltip","Length of COG line.",3,"ngModelChange","selectionChange","ngModel"],[3,"ngModelChange","selectionChange","ngModel","disabled"],["label","after",3,"ngModelChange","change","ngModel","disabled"],["matInput","","type","number","required","","min","1",3,"ngModelChange","change","ngModel","disabled"],["matTooltip","Select to source trail data from the server","label","after",3,"ngModelChange","change","disabled","ngModel"],["discrete","","tickInterval","1","min","1","max","96",3,"disabled"],["matSliderThumb","",3,"ngModelChange","valueChange","ngModel"],["label","Resources"],["id","sectNotes",1,"setting-group"],[3,"valueChange","selectionChange","disabled","value"],["matInput","","type","text","placeholder","?radius=%note:radius%","matTooltip","Filter to apply when retrieving notes",3,"ngModelChange","change","ngModel"],["matSuffix","","mat-icon-button",""],["matTooltip","Allow group name editing.","label","after",3,"ngModelChange","change","ngModel"],["matTooltip","Require position information when adding notes to a group.","label","after",3,"ngModelChange","change","ngModel"],["id","sectResLayers",1,"setting-group"],[2,"font-style","italic"],["matTooltip","Select resource layers to show.",3,"selectionChange"],[3,"selected","value"],["label","Radar"],["label","Signal K"],["id","sectSKConnection",1,"setting-group"],[2,"font-size","smaller"],["matToolTip","Check to receive other vessel data","label","after",3,"ngModelChange","change","ngModel"],["matToolTip","Check to receive AtoN data","matTooltipPosition","below","label","after",3,"ngModelChange","change","ngModel"],["matTooltip","Check to receive aircraft data","matTooltipPosition","below","label","after",3,"ngModelChange","change","ngModel"],["matToolTip","Check to receive SaR data","matTooltipPosition","below","label","after",3,"ngModelChange","change","ngModel"],["matToolTip","Check to receive Weather / Meteo data","matTooltipPosition","below","label","after",3,"ngModelChange","change","ngModel"],["matToolTip","Only include AIS targets within this distance","matTooltipPosition","below",3,"ngModelChange","selectionChange","ngModel"],["mat-icon-button","","matTooltip","Clear Auth Token",3,"click"],["label","Experiments"],["id","sectExperiments",1,"setting-group"],["matInput","","type","text","required","","placeholder","Video stream URL","matTooltip","Enter URL of video stream",3,"ngModelChange","change","disabled","ngModel"],["matTooltip","Enable ALL experimental Features","label","after",3,"ngModelChange","change","ngModel"],["matTooltipPosition","right",3,"value","matTooltip"],["matInput","","type","text","placeholder","e.g. ?layout=mylayout","matTooltip","Enter parameters to pass to Instrument App",3,"ngModelChange","change","disabled","ngModel"],["matTooltip","Stop instrument app when hidden","label","after",3,"ngModelChange","change","ngModel"],["mat-raised-button","","matTooltip","Favourite Apps","label","after",3,"click"],[3,"selectionChange"],[3,"disabled","selected","value"],["matTooltip","Display position in this format",3,"ngModelChange","selectionChange","ngModel"],["matTooltip","Preferred value type for paths not in Preferred Paths above",3,"ngModelChange","selectionChange","ngModel"],["src","./assets/img/vessels/self.png"],["matSuffix","","mat-icon-button","",3,"click"],[2,"width","stretch"],["matToolTip","Select radar device","matTooltipPosition","below",3,"ngModelChange","selectionChange","disabled","ngModel"],["mat-raised-button","",3,"click"]],template:function(a,e){if(a&1){let g=k();i(0,"mat-toolbar",21)(1,"span",22)(2,"mat-icon"),s(3,"settings"),n()(),i(4,"span",23),s(5,"Settings"),n(),i(6,"span",24)(7,"button",25),p("click",function(){return e.handleClose()}),i(8,"mat-icon"),s(9,"close"),n()()()(),i(10,"div",26)(11,"mat-tab-group",27)(12,"mat-tab",28)(13,"div",29)(14,"div",30)(15,"div",31)(16,"div",32),s(17,"DISPLAY"),n(),i(18,"mat-card",33)(19,"mat-card-content")(20,"div",34)(21,"div",35)(22,"mat-form-field",36)(23,"mat-label"),s(24,"Dark Mode setting"),n(),i(25,"mat-select",37),f("ngModelChange",function(t){return m(g),u(e.facade.settings.display.darkMode.source,t)||(e.facade.settings.display.darkMode.source=t),c(t)}),p("selectionChange",function(){return e.persistModel("darkTheme")}),y(26,wt,2,2,"mat-option",38,v),n()()(),i(28,"div",35)(29,"mat-checkbox",39),f("ngModelChange",function(t){return m(g),u(e.facade.settings.display.nightMode,t)||(e.facade.settings.display.nightMode=t),c(t)}),p("change",function(){return e.persistModel()}),s(30," Auto-set Night Mode "),n()(),i(31,"div",35)(32,"mat-form-field",36)(33,"mat-label"),s(34,"Action Button"),n(),i(35,"mat-select",40),f("ngModelChange",function(t){return m(g),u(e.facade.settings.display.fab,t)||(e.facade.settings.display.fab=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(36,vt,2,2,"mat-option",38,v),n()()(),i(38,"div",35)(39,"mat-checkbox",41),f("ngModelChange",function(t){return m(g),u(e.facade.settings.display.disableWakelock,t)||(e.facade.settings.display.disableWakelock=t),c(t)}),p("change",function(t){return e.doWakelock(t.checked)}),s(40," Allow Device to Sleep "),n()(),i(41,"div",35)(42,"mat-checkbox",42),f("ngModelChange",function(t){return m(g),u(e.facade.settings.display.preferInfoPanel,t)||(e.facade.settings.display.preferInfoPanel=t),c(t)}),p("change",function(){return e.persistModel()}),s(43," Prefer Info-Panel "),n()(),i(44,"div",35)(45,"mat-checkbox",43),f("ngModelChange",function(t){return m(g),u(e.facade.settings.display.singleClickNoteDetails,t)||(e.facade.settings.display.singleClickNoteDetails=t),c(t)}),p("change",function(){return e.persistModel()}),s(46," Single Click for Note Details "),n()()()()(),E(47,"br"),i(48,"mat-card",33)(49,"mat-card-content"),T(50,Tt,22,4,"div",44),T(51,Et,10,0,"div",34),n()(),E(52,"br"),n(),i(53,"div",31)(54,"div",32),s(55,"SOUND"),n(),i(56,"mat-card",33)(57,"mat-card-content")(58,"div",34)(59,"div",35)(60,"mat-checkbox",45),f("ngModelChange",function(t){return m(g),u(e.facade.settings.display.muteSound,t)||(e.facade.settings.display.muteSound=t),c(t)}),p("change",function(){return e.persistModel()}),s(61," Do not Play Sounds "),n()(),i(62,"div",35)(63,"mat-checkbox",46),f("ngModelChange",function(t){return m(g),u(e.facade.settings.display.depthAlarm.enabled,t)||(e.facade.settings.display.depthAlarm.enabled=t),c(t)}),p("change",function(){return e.persistModel()}),s(64," Show DEPTH Alarms "),n()(),i(65,"div",35)(66,"mat-form-field",36)(67,"mat-label"),s(68,"Alarm Smoothing Time"),n(),i(69,"mat-select",47),f("ngModelChange",function(t){return m(g),u(e.facade.settings.display.depthAlarm.smoothing,t)||(e.facade.settings.display.depthAlarm.smoothing=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(70,Wt,2,2,"mat-option",38,v),n()()()()()()(),i(72,"div",48)(73,"div",32),s(74,"STATUS BAR OPTIONS"),n(),i(75,"mat-card",33)(76,"mat-card-content")(77,"div",34)(78,"div",35)(79,"mat-checkbox",49),f("ngModelChange",function(t){return m(g),u(e.facade.settings.display.statusBar.liveEta,t)||(e.facade.settings.display.statusBar.liveEta=t),c(t)}),p("change",function(){return e.persistModel()}),s(80," Live ETA at cursor "),n()(),i(81,"div",35)(82,"mat-form-field",50)(83,"mat-label"),s(84),n(),i(85,"input",51,0),f("ngModelChange",function(t){return m(g),u(e.facade.settings.display.statusBar.referenceSpeed,t)||(e.facade.settings.display.statusBar.referenceSpeed=t),c(t)}),p("change",function(){m(g);let t=w(86);return c(e.parseNumber(t))}),n(),T(87,kt,2,0,"mat-error"),n()()()()()(),i(88,"div",48)(89,"div",32),s(90,"WEATHER"),n(),i(91,"mat-card",33)(92,"mat-card-content")(93,"div",34)(94,"div",35)(95,"mat-form-field",36)(96,"mat-label"),s(97,"Wind indicator"),n(),i(98,"mat-select",52),f("ngModelChange",function(t){return m(g),u(e.facade.settings.display.windIndicator,t)||(e.facade.settings.display.windIndicator=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(99,Vt,2,2,"mat-option",38,v),n()()()()()()()()()(),i(101,"mat-tab",53)(102,"div",29)(103,"div",30)(104,"div",54)(105,"div",32),s(106,"UNITS & VALUES"),n(),i(107,"mat-card",33)(108,"mat-card-content")(109,"div",34)(110,"div",35)(111,"fieldset")(112,"legend")(113,"mat-checkbox",55,1),f("ngModelChange",function(t){return m(g),u(e.facade.settings.units.useServerPrefs,t)||(e.facade.settings.units.useServerPrefs=t),c(t)}),p("change",function(){return m(g),e.raiseChange(),c(e.persistModel())}),s(115," Use Server Unit Preferences "),n()(),i(116,"div",34)(117,"div",35)(118,"mat-form-field",36)(119,"mat-label"),s(120,"Distance units"),n(),i(121,"mat-select",56,2),f("ngModelChange",function(t){return m(g),u(e.facade.settings.units.distance,t)||(e.facade.settings.units.distance=t),c(t)}),p("selectionChange",function(){return m(g),e.raiseChange(),c(e.persistModel())}),y(123,Pt,2,2,"mat-option",38,v),n()()(),i(125,"div",35)(126,"mat-form-field",36)(127,"mat-label"),s(128,"Depth units"),n(),i(129,"mat-select",56),f("ngModelChange",function(t){return m(g),u(e.facade.settings.units.depth,t)||(e.facade.settings.units.depth=t),c(t)}),p("selectionChange",function(){return m(g),e.raiseChange(),c(e.doS57())}),y(130,Lt,2,2,"mat-option",38,v),n()()(),i(132,"div",35)(133,"mat-form-field",36)(134,"mat-label"),s(135,"Length units"),n(),i(136,"mat-select",56),f("ngModelChange",function(t){return m(g),u(e.facade.settings.units.length,t)||(e.facade.settings.units.length=t),c(t)}),p("selectionChange",function(){return m(g),e.raiseChange(),c(e.persistModel())}),y(137,xt,2,2,"mat-option",38,v),n()()(),i(139,"div",35)(140,"mat-form-field",36)(141,"mat-label"),s(142,"Temperature units"),n(),i(143,"mat-select",56),f("ngModelChange",function(t){return m(g),u(e.facade.settings.units.temperature,t)||(e.facade.settings.units.temperature=t),c(t)}),p("selectionChange",function(){return m(g),e.raiseChange(),c(e.persistModel())}),y(144,Ot,2,2,"mat-option",38,v),n()()(),i(146,"div",35)(147,"mat-form-field",36)(148,"mat-label"),s(149,"Speed units"),n(),i(150,"mat-select",56),f("ngModelChange",function(t){return m(g),u(e.facade.settings.units.speed,t)||(e.facade.settings.units.speed=t),c(t)}),p("selectionChange",function(){return m(g),e.raiseChange(),c(e.persistModel())}),y(151,Bt,2,2,"mat-option",38,v),n()()()()()()(),i(153,"div",34),T(154,Ft,7,1,"div",35),T(155,Nt,7,1,"div",35),i(156,"div",35)(157,"signalk-preferred-paths",57),p("chosen",function(t){return e.onPreferredPaths(t)}),n()()()()()()()()(),i(158,"mat-tab",58)(159,"div",29)(160,"div",30)(161,"div",59)(162,"div",32),s(163,"MAP"),n(),i(164,"mat-card")(165,"mat-card-content")(166,"div",34)(167,"div",35)(168,"mat-form-field",36)(169,"mat-label"),s(170,"Feature label zoom level"),n(),i(171,"mat-select",60),f("ngModelChange",function(t){return m(g),u(e.facade.settings.map.labelsMinZoom,t)||(e.facade.settings.map.labelsMinZoom=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(172,Rt,2,2,"mat-option",38,b),n()()(),i(174,"div",35)(175,"mat-form-field",36)(176,"mat-label"),s(177,"Offset Vessel Center"),n(),i(178,"mat-select",60),f("ngModelChange",function(t){return m(g),u(e.facade.settings.map.centerOffset,t)||(e.facade.settings.map.centerOffset=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(179,Ut,2,2,"mat-option",38,v),n()()(),i(181,"div",35)(182,"mat-checkbox",61),f("ngModelChange",function(t){return m(g),u(e.facade.settings.map.popoverMulti,t)||(e.facade.settings.map.popoverMulti=t),c(t)}),p("change",function(){return e.persistModel()}),s(183," Popovers close with button "),n()(),i(184,"div",35)(185,"mat-checkbox",62),f("ngModelChange",function(t){return m(g),u(e.facade.settings.map.doubleClickZoom,t)||(e.facade.settings.map.doubleClickZoom=t),c(t)}),p("change",function(){return e.persistModel()}),s(186," Double click to Zoom "),n()(),i(187,"div",35)(188,"mat-checkbox",63),f("ngModelChange",function(t){return m(g),u(e.facade.settings.map.overZoomTiles,t)||(e.facade.settings.map.overZoomTiles=t),c(t)}),p("change",function(){return e.persistModel()}),s(189," Keep tiles visible on max zoom "),n()(),i(190,"div",35)(191,"mat-checkbox",64),f("ngModelChange",function(t){return m(g),u(e.facade.settings.map.lockMoveMap,t)||(e.facade.settings.map.lockMoveMap=t),c(t)}),p("change",function(){return e.persistModel()}),s(192," Lock Follow Vessel "),n()()()()(),i(193,"div",32),s(194,"VECTOR CHARTS"),n(),i(195,"mat-card")(196,"mat-card-content")(197,"div",34)(198,"div",35)(199,"mat-form-field",36)(200,"mat-label"),s(201,"Graphics Style"),n(),i(202,"mat-select",65),f("ngModelChange",function(t){return m(g),u(e.facade.settings.map.s57Options.graphicsStyle,t)||(e.facade.settings.map.s57Options.graphicsStyle=t),c(t)}),p("selectionChange",function(){return e.doS57()}),y(203,Gt,2,2,"mat-option",38,v),n()()(),i(205,"div",35)(206,"mat-form-field",36)(207,"mat-label"),s(208,"Boundaries"),n(),i(209,"mat-select",66),f("ngModelChange",function(t){return m(g),u(e.facade.settings.map.s57Options.boundaries,t)||(e.facade.settings.map.s57Options.boundaries=t),c(t)}),p("selectionChange",function(){return e.doS57()}),y(210,Zt,2,2,"mat-option",38,v),n()()(),i(212,"div",35)(213,"mat-form-field",36)(214,"mat-label"),s(215,"Color Table (Requires refresh)"),n(),i(216,"mat-select",67),f("ngModelChange",function(t){return m(g),u(e.facade.settings.map.s57Options.colorTable,t)||(e.facade.settings.map.s57Options.colorTable=t),c(t)}),p("selectionChange",function(){return e.doS57()}),y(217,Ht,2,2,"mat-option",38,v),n()()(),i(219,"div",35)(220,"mat-form-field",36)(221,"mat-label"),s(222,"Colors"),n(),i(223,"mat-select",68),f("ngModelChange",function(t){return m(g),u(e.facade.settings.map.s57Options.colors,t)||(e.facade.settings.map.s57Options.colors=t),c(t)}),p("selectionChange",function(){return e.doS57()}),y(224,Kt,2,2,"mat-option",38,b),n()()()(),i(226,"div",34)(227,"div",35)(228,"mat-form-field",36)(229,"mat-label"),s(230,"Shallow depth"),n(),i(231,"input",69,3),f("ngModelChange",function(t){return m(g),u(e.facade.settings.map.s57Options.shallowDepth,t)||(e.facade.settings.map.s57Options.shallowDepth=t),c(t)}),p("change",function(){m(g);let t=w(232);return c(e.doS57(t))}),n(),T(233,zt,2,0,"mat-error"),i(234,"span",70),s(235,"m"),n()()(),i(236,"div",35)(237,"mat-form-field",36)(238,"mat-label"),s(239,"Safety depth"),n(),i(240,"input",69,4),f("ngModelChange",function(t){return m(g),u(e.facade.settings.map.s57Options.safetyDepth,t)||(e.facade.settings.map.s57Options.safetyDepth=t),c(t)}),p("change",function(){m(g);let t=w(241);return c(e.doS57(t))}),n(),T(242,qt,2,0,"mat-error"),i(243,"span",70),s(244,"m"),n()()(),i(245,"div",35)(246,"mat-form-field",36)(247,"mat-label"),s(248,"Deep depth"),n(),i(249,"input",69,5),f("ngModelChange",function(t){return m(g),u(e.facade.settings.map.s57Options.deepDepth,t)||(e.facade.settings.map.s57Options.deepDepth=t),c(t)}),p("change",function(){m(g);let t=w(250);return c(e.doS57(t))}),n(),T(251,jt,2,0,"mat-error"),i(252,"span",70),s(253,"m"),n()()(),i(254,"div",35)(255,"mat-form-field",36)(256,"mat-label"),s(257,"Layers"),n(),i(258,"mat-select",71),f("ngModelChange",function(t){return m(g),u(e.facade.settings.map.s57Options.otherLayers,t)||(e.facade.settings.map.s57Options.otherLayers=t),c(t)}),p("selectionChange",function(){return e.doS57()}),y(259,Xt,2,2,"mat-option",38,v),n()()()()()()()()()(),i(261,"mat-tab",72)(262,"div",29)(263,"div",30)(264,"div",73)(265,"div",32),s(266,"COURSE"),n(),i(267,"mat-card",33)(268,"mat-card-content")(269,"div",34)(270,"div",35)(271,"mat-form-field",36)(272,"mat-label"),s(273,"Arrival Circle"),n(),i(274,"input",69,6),f("ngModelChange",function(t){return m(g),u(e.facade.settings.course.arrivalCircle,t)||(e.facade.settings.course.arrivalCircle=t),c(t)}),p("change",function(){m(g);let t=w(275);return c(e.parseNumber(t))}),n(),T(276,Yt,2,0,"mat-error"),i(277,"span",70),s(278,"m"),n()()()(),i(279,"div",34)(280,"div",35)(281,"mat-checkbox",46,7),f("ngModelChange",function(t){return m(g),u(e.facade.settings.course.autoNextPointOnArrival,t)||(e.facade.settings.course.autoNextPointOnArrival=t),c(t)}),p("change",function(){return e.persistModel()}),s(283," Auto-advance to next point on arrival "),n()()(),i(284,"div",34)(285,"div",35)(286,"mat-form-field",36)(287,"mat-label"),s(288,"Notification type to use"),n(),i(289,"mat-select",74,8),f("ngModelChange",function(t){return m(g),u(e.facade.settings.course.autoNextPointTrigger,t)||(e.facade.settings.course.autoNextPointTrigger=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(291,Jt,2,2,"mat-option",38,b),n()()(),i(293,"div",35)(294,"mat-form-field",36)(295,"mat-label"),s(296,"Time to wait before advancing"),n(),i(297,"mat-select",75),f("ngModelChange",function(t){return m(g),u(e.facade.settings.course.autoNextPointDelay,t)||(e.facade.settings.course.autoNextPointDelay=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(298,Qt,2,2,"mat-option",38,v),n()()()()()()()()()(),i(300,"mat-tab",76)(301,"div",29)(302,"div",30)(303,"div",77)(304,"div",32),s(305,"VESSEL"),n(),i(306,"mat-card",33)(307,"mat-card-content")(308,"div",34)(309,"div",35)(310,"fieldset")(311,"legend"),s(312,"Vessel Icon Size"),n(),i(313,"div",34)(314,"div",35)(315,"mat-radio-group",78),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.iconScale,t)||(e.facade.settings.vessels.iconScale=t),c(t)}),p("change",function(){return e.persistModel()}),y(316,$t,3,4,"mat-radio-button",38,v),n()()()()()(),i(318,"div",35)(319,"fieldset")(320,"legend")(321,"mat-checkbox",79,9),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.fixedLocationMode,t)||(e.facade.settings.vessels.fixedLocationMode=t),c(t)}),p("change",function(){return e.persistModel()}),s(323," Fixed Location Mode "),n()(),i(324,"div",34)(325,"div",35)(326,"mat-form-field",80)(327,"mat-label"),s(328,"Latitude"),n(),i(329,"input",81,10),f("ngModelChange",function(t){return m(g),u(e.facade.fixedPosition[1],t)||(e.facade.fixedPosition[1]=t),c(t)}),p("change",function(){m(g);let t=w(330);return c(e.parseNumber(t,!0))}),n(),T(331,ei,2,0,"mat-error"),n(),i(332,"mat-form-field",80)(333,"mat-label"),s(334,"Longitude"),n(),i(335,"input",82,11),f("ngModelChange",function(t){return m(g),u(e.facade.fixedPosition[0],t)||(e.facade.fixedPosition[0]=t),c(t)}),p("change",function(){m(g);let t=w(336);return c(e.parseNumber(t,!0))}),n(),T(337,ti,2,0,"mat-error"),n()()()()()()(),E(338,"br"),i(339,"mat-card",33)(340,"mat-card-content")(341,"div",35)(342,"fieldset")(343,"legend"),s(344,"Vessel Lines:"),n(),i(345,"div",34)(346,"mat-checkbox",46),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.windVectors,t)||(e.facade.settings.vessels.windVectors=t),c(t)}),p("change",function(){return e.persistModel()}),s(347," Display Wind Vectors "),n(),i(348,"mat-checkbox",46),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.laylines,t)||(e.facade.settings.vessels.laylines=t),c(t)}),p("change",function(){return e.persistModel()}),s(349," Display Laylines "),n()(),i(350,"div",34)(351,"div",35)(352,"fieldset")(353,"legend"),s(354,"Heading Line"),n(),i(355,"div",34)(356,"div",35)(357,"mat-form-field")(358,"mat-label"),s(359,"Heading Line Length"),n(),i(360,"mat-select",83),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.selfLines.heading.length,t)||(e.facade.settings.vessels.selfLines.heading.length=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(361,ii,2,2,"mat-option",38,v),n()()(),i(363,"div",35)(364,"linestyle-select",84),p("selectionChange",function(t){return e.onLineStyle("heading",t)}),n()()()()()(),i(365,"div",34)(366,"div",35)(367,"fieldset")(368,"legend"),s(369,"COG Line"),n(),i(370,"div",34)(371,"div",35)(372,"mat-form-field")(373,"mat-label"),s(374,"COG Line Length"),n(),i(375,"mat-select",85),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.selfLines.cog.length,t)||(e.facade.settings.vessels.selfLines.cog.length=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(376,ni,2,2,"mat-option",38,v),n()()(),i(378,"div",35)(379,"linestyle-select",84),p("selectionChange",function(t){return e.onLineStyle("cog",t)}),n()()()()()()()(),i(380,"div",35)(381,"fieldset")(382,"legend")(383,"mat-checkbox",46),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.rangeCircles,t)||(e.facade.settings.vessels.rangeCircles=t),c(t)}),p("change",function(){return e.persistModel()}),s(384," Display Range Circles "),n()(),i(385,"div",34)(386,"div",35)(387,"mat-form-field",36)(388,"mat-label"),s(389,"Number of Range Circles"),n(),i(390,"mat-select",86),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.rangeCircleCount,t)||(e.facade.settings.vessels.rangeCircleCount=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(391,ai,2,2,"mat-option",38,b),n()()(),i(393,"div",35)(394,"mat-form-field",36)(395,"mat-label"),s(396,"Minimum Zoom Level"),n(),i(397,"mat-select",86),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.rangeCircleMinZoom,t)||(e.facade.settings.vessels.rangeCircleMinZoom=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(398,oi,2,2,"mat-option",38,b),n()()()(),i(400,"div",34)(401,"div",35)(402,"mat-checkbox",87),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.rangeCirclesFixed,t)||(e.facade.settings.vessels.rangeCirclesFixed=t),c(t)}),p("change",function(){return e.persistModel()}),s(403," Use Fixed Distance "),n()(),i(404,"div",35)(405,"mat-form-field",80)(406,"mat-label"),s(407),n(),i(408,"input",88,12),f("ngModelChange",function(t){return m(g),u(e.formattedNumberModel.rangeCirclesDistance,t)||(e.formattedNumberModel.rangeCirclesDistance=t),c(t)}),p("change",function(){m(g);let t=w(409);return c(e.parseFormattedNumber(t))}),n(),T(410,ri,2,0,"mat-error"),n()()()()()()(),E(411,"br"),i(412,"mat-card",33)(413,"mat-card-content")(414,"div",34)(415,"fieldset")(416,"legend")(417,"mat-checkbox",46),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.trail,t)||(e.facade.settings.vessels.trail=t),c(t)}),p("change",function(){return e.persistModel("vesselTrail")}),s(418," Display Vessel Track "),n()(),i(419,"div",34)(420,"div",35)(421,"mat-checkbox",89),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.trailFromServer,t)||(e.facade.settings.vessels.trailFromServer=t),c(t)}),p("change",function(){return e.persistModel("trailFromServer")}),s(422," Get Track from server "),n(),s(423," \xA0\xA0 "),i(424,"mat-slider",90)(425,"input",91),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.trailDuration,t)||(e.facade.settings.vessels.trailDuration=t),c(t)}),p("valueChange",function(){return e.deferPersist()}),n()(),s(426),n()(),i(427,"div",34)(428,"div",35)(429,"mat-form-field",36)(430,"mat-label"),s(431,"Resolution: Last hour"),n(),i(432,"mat-select",86),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.trailResolution.lastHour,t)||(e.facade.settings.vessels.trailResolution.lastHour=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(433,si,2,2,"mat-option",38,v),n()()(),i(435,"div",35)(436,"mat-form-field",36)(437,"mat-label"),s(438,"Resolution: 1 hr -> 24 hrs"),n(),i(439,"mat-select",86),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.trailResolution.next23,t)||(e.facade.settings.vessels.trailResolution.next23=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(440,li,2,2,"mat-option",38,v),n()()(),i(442,"div",35)(443,"mat-form-field",36)(444,"mat-label"),s(445,"Resolution: > 24 hrs"),n(),i(446,"mat-select",86),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.trailResolution.beyond24,t)||(e.facade.settings.vessels.trailResolution.beyond24=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(447,di,2,2,"mat-option",38,v),n()()()()()()()(),i(449,"div",32),s(450,"OTHER VESSELS"),n(),i(451,"mat-card",33)(452,"mat-card-content")(453,"div",34)(454,"div",35)(455,"mat-checkbox",46),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.aisShowTrack,t)||(e.facade.settings.vessels.aisShowTrack=t),c(t)}),p("change",function(){return e.persistModel()}),s(456," Show Track "),n(),s(457," \xA0 "),i(458,"mat-checkbox",46),f("ngModelChange",function(t){return m(g),u(e.aisStateFilter.moored,t)||(e.aisStateFilter.moored=t),c(t)}),p("change",function(){return e.onAisStateFilter()}),s(459," Hide Moored "),n(),s(460," \xA0 "),i(461,"mat-checkbox",46),f("ngModelChange",function(t){return m(g),u(e.aisStateFilter.anchored,t)||(e.aisStateFilter.anchored=t),c(t)}),p("change",function(){return e.onAisStateFilter()}),s(462," Hide Anchored "),n()()(),i(463,"div",34)(464,"div",35)(465,"mat-form-field",36)(466,"mat-label"),s(467,"Mark AIS target inactive after"),n(),i(468,"mat-select",60),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.aisStaleAge,t)||(e.facade.settings.vessels.aisStaleAge=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(469,gi,2,2,"mat-option",38,v),n()()(),i(471,"div",35)(472,"mat-form-field",36)(473,"mat-label"),s(474,"Remove AIS target after"),n(),i(475,"mat-select",60),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.aisMaxAge,t)||(e.facade.settings.vessels.aisMaxAge=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(476,mi,2,2,"mat-option",38,v),n()()(),i(478,"div",35)(479,"mat-form-field",36)(480,"mat-label"),s(481,"Wind Vector Value"),n(),i(482,"mat-select",60),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.aisWindApparent,t)||(e.facade.settings.vessels.aisWindApparent=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(483,ci,2,2,"mat-option",38,v),n()()(),i(485,"div",35)(486,"mat-form-field",36)(487,"mat-label"),s(488,"Wind / Track Zoom Level"),n(),i(489,"mat-select",60),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.aisWindMinZoom,t)||(e.facade.settings.vessels.aisWindMinZoom=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(490,pi,2,2,"mat-option",38,b),n()()(),i(492,"div",35)(493,"mat-form-field",36)(494,"mat-label"),s(495,"COG Line"),n(),i(496,"mat-select",60),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.aisCogLine,t)||(e.facade.settings.vessels.aisCogLine=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(497,_i,2,2,"mat-option",38,v),n()()()()()()()()()(),i(499,"mat-tab",92)(500,"div",29)(501,"div",30)(502,"div",93)(503,"div",32),s(504,"NOTES"),n(),i(505,"mat-card",33)(506,"mat-card-content")(507,"div",44)(508,"div",35)(509,"mat-checkbox",46),f("ngModelChange",function(t){return m(g),u(e.facade.settings.ui.showNotes,t)||(e.facade.settings.ui.showNotes=t),c(t)}),p("change",function(){return e.persistModel()}),s(510," Display Notes on Map "),n()(),i(511,"div",35)(512,"mat-form-field",36)(513,"mat-label"),s(514,"Notes Zoom Level"),n(),i(515,"mat-select",94),f("valueChange",function(t){return m(g),u(e.facade.settings.resources.notes.minZoom,t)||(e.facade.settings.resources.notes.minZoom=t),c(t)}),p("selectionChange",function(){return e.persistModel("fetchNotes")}),y(516,ui,2,2,"mat-option",38,b),n()()()(),i(518,"div",44)(519,"div",35)(520,"mat-form-field",36)(521,"mat-label"),s(522),n(),i(523,"mat-select",56),f("ngModelChange",function(t){return m(g),u(e.facade.settings.resources.notes.getRadius,t)||(e.facade.settings.resources.notes.getRadius=t),c(t)}),p("selectionChange",function(){return e.persistModel("fetchNotes")}),y(524,fi,2,2,"mat-option",38,b),n()()()(),i(526,"div",44)(527,"div",35)(528,"mat-form-field",50)(529,"mat-label"),s(530,"Notes fetch filter:"),n(),i(531,"input",95,13),f("ngModelChange",function(t){return m(g),u(e.facade.settings.resources.notes.rootFilter,t)||(e.facade.settings.resources.notes.rootFilter=t),c(t)}),p("change",function(){return e.persistModel("fetchNotes")}),n(),T(533,hi,3,0,"button",96),n()()(),i(534,"div",44)(535,"div",35)(536,"mat-checkbox",97),f("ngModelChange",function(t){return m(g),u(e.facade.settings.resources.notes.groupNameEdit,t)||(e.facade.settings.resources.notes.groupNameEdit=t),c(t)}),p("change",function(){return e.persistModel()}),s(537," Edit Group Names "),n()(),i(538,"div",35)(539,"mat-checkbox",98),f("ngModelChange",function(t){return m(g),u(e.facade.settings.resources.notes.groupRequiresPosition,t)||(e.facade.settings.resources.notes.groupRequiresPosition=t),c(t)}),p("change",function(){return e.persistModel()}),s(540," Position Group Note "),n()()()()()(),i(541,"div",99)(542,"div",32),s(543,"CUSTOM RESOURCES"),n(),i(544,"mat-card",33)(545,"mat-card-content")(546,"div",44)(547,"div",35)(548,"div",100),s(549," Select custom resource types (./resources/<name>) "),n(),i(550,"mat-selection-list",101,14),p("selectionChange",function(){m(g);let t=w(551);return c(e.onResPathSelected(t))}),y(552,yi,2,3,"mat-list-option",102,b),n()()()()()()()()(),T(554,Ci,21,2,"mat-tab",103),i(555,"mat-tab",104)(556,"div",29)(557,"div",30)(558,"div",105)(559,"div",32),s(560,"SIGNAL K: CONNECTION"),n(),i(561,"mat-card",33)(562,"mat-card-content")(563,"div",44)(564,"fieldset")(565,"legend"),s(566,"Filter Stream data:"),n(),i(567,"span",106),s(568," Check to include Signal K schema groups on display."),E(569,"br"),i(570,"i"),s(571,"Use to manage display performance."),n()(),i(572,"div",35)(573,"mat-checkbox",107),f("ngModelChange",function(t){return m(g),u(e.facade.settings.signalk.vessels,t)||(e.facade.settings.signalk.vessels=t),c(t)}),p("change",function(){return e.persistModel()}),s(574," Vessels (other than Self) "),n()(),i(575,"div",35)(576,"mat-checkbox",108),f("ngModelChange",function(t){return m(g),u(e.facade.settings.signalk.atons,t)||(e.facade.settings.signalk.atons=t),c(t)}),p("change",function(){return e.persistModel()}),s(577," Aids to Navigation (AtoN) "),n()(),i(578,"div",35)(579,"mat-checkbox",109),f("ngModelChange",function(t){return m(g),u(e.facade.settings.signalk.aircraft,t)||(e.facade.settings.signalk.aircraft=t),c(t)}),p("change",function(){return e.persistModel()}),s(580," Aircraft "),n()(),i(581,"div",35)(582,"mat-checkbox",110),f("ngModelChange",function(t){return m(g),u(e.facade.settings.signalk.sar,t)||(e.facade.settings.signalk.sar=t),c(t)}),p("change",function(){return e.persistModel()}),s(583," Search and Rescue (SaR) "),n()(),i(584,"div",35)(585,"mat-checkbox",111),f("ngModelChange",function(t){return m(g),u(e.facade.settings.signalk.meteo,t)||(e.facade.settings.signalk.meteo=t),c(t)}),p("change",function(){return e.persistModel()}),s(586," Weather (Meteo) "),n()(),i(587,"div",35),E(588,"br"),i(589,"mat-form-field",36)(590,"mat-label"),s(591,"Max. distance from vessel"),n(),i(592,"mat-select",112,15),f("ngModelChange",function(t){return m(g),u(e.facade.settings.signalk.maxRadius,t)||(e.facade.settings.signalk.maxRadius=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(594,Mi,2,2,"mat-option",38,v),n()()()()(),i(596,"div",44)(597,"div",35)(598,"button",113),p("click",function(){return e.clearAuthToken()}),i(599,"mat-icon"),s(600,"key_off"),n()()()()()()()()()(),i(601,"mat-tab",114)(602,"div",29)(603,"div",30)(604,"div",115)(605,"div",32),s(606,"EXPERIMENTS"),n(),i(607,"mat-card",33)(608,"mat-card-content")(609,"div",44)(610,"div",35)(611,"mat-checkbox",46),f("ngModelChange",function(t){return m(g),u(e.facade.settings.resources.video.enable,t)||(e.facade.settings.resources.video.enable=t),c(t)}),p("change",function(){return e.persistModel()}),s(612," Enable Video "),n()(),i(613,"div",35)(614,"mat-form-field",50)(615,"mat-label"),s(616,"url:"),n(),i(617,"input",116,16),f("ngModelChange",function(t){return m(g),u(e.facade.settings.resources.video.url,t)||(e.facade.settings.resources.video.url=t),c(t)}),p("change",function(){return e.persistModel("videoUrl")}),n(),T(619,wi,2,0,"mat-error"),n()()(),i(620,"div",44)(621,"div",35)(622,"mat-checkbox",117,17),f("ngModelChange",function(t){return m(g),u(e.facade.settings.experiments,t)||(e.facade.settings.experiments=t),c(t)}),p("change",function(){return e.persistModel()}),i(624,"mat-icon"),s(625,"science"),n(),s(626," Experimental Features "),n()()()()()()()()()()()}if(a&2){let g=w(86),o=w(122),t=w(232),ne=w(241),ae=w(250),oe=w(275),de=w(282),ge=w(322),re=w(330),se=w(336),le=w(409),lt=w(532),dt=w(618);r(25),_("ngModel",e.facade.settings.display.darkMode.source),r(),S(e.options.darkMode),r(3),_("ngModel",e.facade.settings.display.nightMode),r(6),_("ngModel",e.facade.settings.display.fab),r(),S(e.options.buttons.fab),r(3),h("disabled",!e.wakeLock.isAvailable),_("ngModel",e.facade.settings.display.disableWakelock),r(3),_("ngModel",e.facade.settings.display.preferInfoPanel),r(3),_("ngModel",e.facade.settings.display.singleClickNoteDetails),r(5),D(e.facade.applicationList.length>1?50:-1),r(),D(e.show.favourites()?51:-1),r(9),_("ngModel",e.facade.settings.display.muteSound),r(3),_("ngModel",e.facade.settings.display.depthAlarm.enabled),r(6),_("ngModel",e.facade.settings.display.depthAlarm.smoothing),h("disabled",!e.facade.settings.display.depthAlarm.enabled),r(),S(e.options.alarm.smoothing),r(9),_("ngModel",e.facade.settings.display.statusBar.liveEta),r(5),V("Reference Boat Speed (",e.speedUnitSymbol,")"),r(),h("disabled",!e.facade.settings.display.statusBar.liveEta),_("ngModel",e.facade.settings.display.statusBar.referenceSpeed),r(2),D(g.invalid&&(g.dirty||g.touched)?87:-1),r(11),_("ngModel",e.facade.settings.display.windIndicator),r(),S(e.options.windIndicator),r(14),h("disabled",!e.app.serverConfig.unitPreferences()),_("ngModel",e.facade.settings.units.useServerPrefs),r(8),h("disabled",e.facade.settings.units.useServerPrefs),_("ngModel",e.facade.settings.units.distance),r(2),S(e.options.availableUnits.distance),r(6),h("disabled",e.facade.settings.units.useServerPrefs),_("ngModel",e.facade.settings.units.depth),r(),S(e.options.availableUnits.depth),r(6),h("disabled",e.facade.settings.units.useServerPrefs),_("ngModel",e.facade.settings.units.length),r(),S(e.options.availableUnits.length),r(6),h("disabled",e.facade.settings.units.useServerPrefs),_("ngModel",e.facade.settings.units.temperature),r(),S(e.options.availableUnits.temperature),r(6),h("disabled",e.facade.settings.units.useServerPrefs),_("ngModel",e.facade.settings.units.speed),r(),S(e.options.availableUnits.speed),r(3),D(e.options.preferredValues.coords.length!==0?154:-1),r(),D(e.options.preferredValues.heading.length!==0?155:-1),r(16),_("ngModel",e.facade.settings.map.labelsMinZoom),r(),S(e.options.zoomLevels),r(6),_("ngModel",e.facade.settings.map.centerOffset),r(),S(e.options.map.centerOffset),r(3),_("ngModel",e.facade.settings.map.popoverMulti),r(3),_("ngModel",e.facade.settings.map.doubleClickZoom),r(3),_("ngModel",e.facade.settings.map.overZoomTiles),r(3),_("ngModel",e.facade.settings.map.lockMoveMap),r(11),_("ngModel",e.facade.settings.map.s57Options.graphicsStyle),r(),S(e.options.map.s57.graphicsStyle),r(6),_("ngModel",e.facade.settings.map.s57Options.boundaries),r(),S(e.options.map.s57.boundaries),r(6),_("ngModel",e.facade.settings.map.s57Options.colorTable),r(),S(e.options.map.s57.colorTables),r(6),_("ngModel",e.facade.settings.map.s57Options.colors),r(),S(e.options.map.s57.colors),r(7),_("ngModel",e.facade.settings.map.s57Options.shallowDepth),r(2),D(t.invalid&&(t.dirty||t.touched)?233:-1),r(7),_("ngModel",e.facade.settings.map.s57Options.safetyDepth),r(2),D(ne.invalid&&(ne.dirty||ne.touched)?242:-1),r(7),_("ngModel",e.facade.settings.map.s57Options.deepDepth),r(2),D(ae.invalid&&(ae.dirty||ae.touched)?251:-1),r(7),_("ngModel",e.facade.settings.map.s57Options.otherLayers),r(),S(e.options.map.s57.otherLayers),r(15),_("ngModel",e.facade.settings.course.arrivalCircle),r(2),D(oe.invalid&&(oe.dirty||oe.touched)?276:-1),r(5),_("ngModel",e.facade.settings.course.autoNextPointOnArrival),r(8),h("disabled",de.checked===!1),_("ngModel",e.facade.settings.course.autoNextPointTrigger),r(2),S(e.options.course.nextPointTrigger),r(6),h("disabled",de.checked===!1),_("ngModel",e.facade.settings.course.autoNextPointDelay),r(),S(e.options.course.nextPointDelay),r(17),_("ngModel",e.facade.settings.vessels.iconScale),r(),S(e.options.vessel.selfIconScale),r(5),_("ngModel",e.facade.settings.vessels.fixedLocationMode),r(8),_("ngModel",e.facade.fixedPosition[1]),h("disabled",!ge.checked),r(2),D(re.invalid&&(re.dirty||re.touched)?331:-1),r(4),_("ngModel",e.facade.fixedPosition[0]),h("disabled",!ge.checked),r(2),D(se.invalid&&(se.dirty||se.touched)?337:-1),r(9),_("ngModel",e.facade.settings.vessels.windVectors),r(2),_("ngModel",e.facade.settings.vessels.laylines),r(12),_("ngModel",e.facade.settings.vessels.selfLines.heading.length),r(),S(e.options.vessel.headingLine),r(3),h("color",e.facade.settings.vessels.selfLines.heading.color)("dash",e.facade.settings.vessels.selfLines.heading.dash)("weight",e.facade.settings.vessels.selfLines.heading.weight),r(11),_("ngModel",e.facade.settings.vessels.selfLines.cog.length),r(),S(e.options.vessel.cogLine),r(3),h("color",e.facade.settings.vessels.selfLines.cog.color)("dash",e.facade.settings.vessels.selfLines.cog.dash)("weight",e.facade.settings.vessels.selfLines.cog.weight),r(4),_("ngModel",e.facade.settings.vessels.rangeCircles),r(7),_("ngModel",e.facade.settings.vessels.rangeCircleCount),h("disabled",!e.facade.settings.vessels.rangeCircles),r(),S(e.options.rangeCircles.count),r(6),_("ngModel",e.facade.settings.vessels.rangeCircleMinZoom),h("disabled",!e.facade.settings.vessels.rangeCircles),r(),S(e.options.rangeCircles.zoomLevels),r(4),_("ngModel",e.facade.settings.vessels.rangeCirclesFixed),h("disabled",!e.facade.settings.vessels.rangeCircles),r(5),V(" Distance between circles (",e.renderSymbol(e.facade.settings.units.distance),") "),r(),_("ngModel",e.formattedNumberModel.rangeCirclesDistance),h("disabled",!e.facade.settings.vessels.rangeCircles||!e.facade.settings.vessels.rangeCirclesFixed),r(2),D(le.invalid&&(le.dirty||le.touched)?410:-1),r(7),_("ngModel",e.facade.settings.vessels.trail),r(4),h("disabled",!e.facade.settings.vessels.trail),_("ngModel",e.facade.settings.vessels.trailFromServer),r(3),h("disabled",!e.facade.settings.vessels.trailFromServer||!e.facade.settings.vessels.trail),r(),_("ngModel",e.facade.settings.vessels.trailDuration),r(),V(" Length (",e.facade.settings.vessels.trailDuration," hrs) "),r(6),_("ngModel",e.facade.settings.vessels.trailResolution.lastHour),h("disabled",!e.facade.settings.vessels.trailFromServer||!e.facade.settings.vessels.trail),r(),S(e.options.trailIntervals.highResolution),r(6),_("ngModel",e.facade.settings.vessels.trailResolution.next23),h("disabled",!e.facade.settings.vessels.trailFromServer||!e.facade.settings.vessels.trail),r(),S(e.options.trailIntervals.highResolution),r(6),_("ngModel",e.facade.settings.vessels.trailResolution.beyond24),h("disabled",!e.facade.settings.vessels.trailFromServer||!e.facade.settings.vessels.trail),r(),S(e.options.trailIntervals.mediumResolution),r(8),_("ngModel",e.facade.settings.vessels.aisShowTrack),r(3),_("ngModel",e.aisStateFilter.moored),r(3),_("ngModel",e.aisStateFilter.anchored),r(7),_("ngModel",e.facade.settings.vessels.aisStaleAge),r(),S(e.options.vessel.aisTimeouts),r(6),_("ngModel",e.facade.settings.vessels.aisMaxAge),r(),S(e.options.vessel.aisTimeouts),r(6),_("ngModel",e.facade.settings.vessels.aisWindApparent),r(),S(e.options.preferredValues.wind),r(6),_("ngModel",e.facade.settings.vessels.aisWindMinZoom),r(),S(e.options.zoomLevels),r(6),_("ngModel",e.facade.settings.vessels.aisCogLine),r(),S(e.options.vessel.aisCogLine),r(12),_("ngModel",e.facade.settings.ui.showNotes),r(6),h("disabled",!e.facade.settings.ui.showNotes),_("value",e.facade.settings.resources.notes.minZoom),r(),S(e.options.zoomLevels),r(6),C("Fetch Notes radius: ("+e.options.availableUnits.distance.get(o.value)+")"),r(),h("disabled",!e.facade.settings.ui.showNotes),_("ngModel",e.facade.settings.resources.notes.getRadius),r(),S(e.options.resources.noteRadius),r(7),_("ngModel",e.facade.settings.resources.notes.rootFilter),r(2),D(lt.value?533:-1),r(3),_("ngModel",e.facade.settings.resources.notes.groupNameEdit),r(3),_("ngModel",e.facade.settings.resources.notes.groupRequiresPosition),r(13),S(e.facade.resourcePathList),r(2),D(e.app.featureFlags().radarApi?554:-1),r(19),_("ngModel",e.facade.settings.signalk.vessels),r(3),_("ngModel",e.facade.settings.signalk.atons),r(3),_("ngModel",e.facade.settings.signalk.aircraft),r(3),_("ngModel",e.facade.settings.signalk.sar),r(3),_("ngModel",e.facade.settings.signalk.meteo),r(7),_("ngModel",e.facade.settings.signalk.maxRadius),r(2),S(e.options.vessel.aisMaxRadius),r(17),_("ngModel",e.facade.settings.resources.video.enable),r(6),h("disabled",!e.facade.settings.resources.video.enable),_("ngModel",e.facade.settings.resources.video.url),r(2),D(dt.invalid?619:-1),r(3),_("ngModel",e.facade.settings.experiments)}},dependencies:[H,U,ve,G,De,Ee,Te,be,Z,Se,ye,Ae,Fe,ee,$e,$,Ie,Oe,Be,Pe,Ve,ke,We,N,Me,Ce,R,we,K,xe,it,et,tt,Xe,Q,q,z,Ne,Re,J,Y,Ue,X,j,Le,He,Ze,Qe,Ye,Je,ie,te],styles:["[_nghost-%COMP%] .mat-dialog-content{padding:0 4px}[_nghost-%COMP%] .mat-mdc-dialog-content{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;max-height:none;overflow:hidden}[_nghost-%COMP%] .mat-mdc-dialog-content .mat-mdc-tab-group, [_nghost-%COMP%] .mat-mdc-dialog-content .mat-mdc-tab-body-wrapper{flex:1 1 auto;min-height:0}.settings[_ngcontent-%COMP%] .setting-group-title[_ngcontent-%COMP%]{font-weight:700;font-size:10pt;font-family:Arial,Helvetica,sans-serif;padding:10px 0}.setting-card-row[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap}.settings[_ngcontent-%COMP%] .setting-card-row-item[_ngcontent-%COMP%]{padding-right:15px;flex:1 1 auto}@media only screen and (max-width:599px){.settings[_ngcontent-%COMP%] .setting-group[_ngcontent-%COMP%]{padding:5px 5%}}@media only screen and (min-width:600px)and (max-width:959px),screen and (min-width:960px)and (max-width:1279px),screen and (min-width:1280px)and (max-width:1919px),screen and (min-width:1920px)and (max-width:5000px){.settings[_ngcontent-%COMP%] .setting-group[_ngcontent-%COMP%]{padding:5px 5%}}"]})};export{st as SettingsDialog};
|
|
1
|
+
import{D as Xe,J as Ye,K as Je,L as Qe,aa as $e,ba as $,ca as ee,e as Le,ga as et,ha as tt,ia as it,m as Ke,n as B,p as ze,q as qe,w as je,wa as nt,x as L,xa as at}from"./chunk-RXMZCTQL.js";import{a as K,b as Ze,c as He}from"./chunk-IURS3QQO.js";import{a as We,h as ke,j as Ve,k as Pe}from"./chunk-4BXCQ655.js";import{a as Oe,d as Be,i as Ie,j as Fe,k as Ae}from"./chunk-LXTM3LEN.js";import{a as Y,b as J,c as Ge,d as Q}from"./chunk-IYNTZMNB.js";import{a as xe}from"./chunk-3CRIFTHA.js";import"./chunk-UF7LOYCE.js";import"./chunk-XHEJEIFO.js";import"./chunk-I3OUN6B4.js";import{b as z,c as Ne,f as Re,i as q,j as Ue,n as j,o as X}from"./chunk-WX7YZB5N.js";import{$d as U,Da as O,Dd as he,Ea as T,Fa as D,Ha as b,Hd as ye,Ia as y,Ja as S,Jb as F,Jd as Se,Ka as h,La as i,Ma as n,Na as E,Nb as fe,Ob as A,P as W,Q as m,R as c,Rd as Ce,S as x,T as me,Td as Me,Ua as k,Wa as p,Wd as N,X as ce,Ya as M,Yd as we,Z as I,Zd as R,_ as pe,ca as _e,ee as G,gb as w,he as Z,ie as ve,ja as r,jb as ue,lb as s,le as be,mb as C,me as Te,nb as V,ne as De,oe as Ee,pb as _,pe as H,qb as u,ra as P,rb as f}from"./chunk-4BSA3TDQ.js";import"./chunk-EQVTEUXC.js";var _t=(l,d)=>d[0];function ut(l,d){if(l&1&&(i(0,"mat-option",8),x(),i(1,"svg",6),E(2,"line",7),n()()),l&2){let a=d.$implicit;h("value",a),r(2),O("stroke-width",a)}}function ft(l,d){if(l&1&&(i(0,"mat-option",8),x(),i(1,"svg",6),E(2,"line",9),n()()),l&2){let a=d.$implicit;h("value",a[0]),r(2),O("stroke-dasharray",a[1])}}var te=class l{color=A("#ff0000");dash=A("none");weight=A(1);_color=F(()=>this.color());_dash=F(()=>this.dash());_weight=F(()=>this.weight());selectionChange=fe();app=W(L);line={dashArrays:this.app.lineDashMap,weights:[1,2,3,4,5]};constructor(){}ngOnInit(){}onSelectChange(d){let a=this.app.formatLineDashArray(this._dash());this.selectionChange.emit({lineStyle:{fill:{color:this._color()},stroke:{color:this._color(),width:this._weight(),lineDash:a}},config:{color:this._color(),weight:this._weight(),dash:this._dash()}})}static \u0275fac=function(a){return new(a||l)};static \u0275cmp=P({type:l,selectors:[["linestyle-select"]],inputs:{color:[1,"color"],dash:[1,"dash"],weight:[1,"weight"]},outputs:{selectionChange:"selectionChange"},decls:25,vars:5,consts:[[2,"display","flex"],[2,"width","100px"],["mat-input","","matNativeControl","","type","color",3,"ngModelChange","change","ngModel"],[2,"width","110px"],[3,"ngModelChange","selectionChange","ngModel"],[2,"display","flex","align-items","center","gap","8px"],["width","48","height","10",2,"vertical-align","middle","margin-right","6px"],["x1","0","y1","5","x2","48","y2","5","stroke","currentColor","stroke-array","none"],[3,"value"],["x1","0","y1","5","x2","48","y2","5","stroke","currentColor","stroke-width","2"]],template:function(a,e){a&1&&(i(0,"div",0)(1,"mat-form-field",1)(2,"mat-label"),s(3,"Color"),n(),i(4,"input",2),f("ngModelChange",function(o){return u(e._color,o)||(e._color=o),o}),p("change",function(o){return e.onSelectChange({key:"color",value:o.srcElement.value})}),n()(),i(5,"mat-form-field",3)(6,"mat-label"),s(7,"Weight"),n(),i(8,"mat-select",4),f("ngModelChange",function(o){return u(e._weight,o)||(e._weight=o),o}),p("selectionChange",function(o){return e.onSelectChange({key:"weight",value:o.value})}),i(9,"mat-select-trigger")(10,"div",5),x(),i(11,"svg",6),E(12,"line",7),n()()(),y(13,ut,3,2,"mat-option",8,b),n()(),me(),i(15,"mat-form-field",3)(16,"mat-label"),s(17,"Style"),n(),i(18,"mat-select",4),f("ngModelChange",function(o){return u(e._dash,o)||(e._dash=o),o}),p("selectionChange",function(o){return e.onSelectChange({key:"dash",value:o.value})}),i(19,"mat-select-trigger")(20,"div",5),x(),i(21,"svg",6),E(22,"line",9),n()()(),y(23,ft,3,2,"mat-option",8,_t),n()()()),a&2&&(r(4),_("ngModel",e._color),r(4),_("ngModel",e._weight),r(4),O("stroke-width",e._weight()),r(),S(e.line.weights),r(5),_("ngModel",e._dash),r(4),O("stroke-dasharray",e.line.dashArrays.get(e._dash())),r(),S(e.line.dashArrays))},dependencies:[H,U,G,Z,R,N,K,X,j,q,z,Q,J,Ge,Y],encapsulation:2})};var yt=(l,d)=>d[0];function St(l,d){if(l&1){let a=k();i(0,"div",4)(1,"mat-radio-button",5,0),p("change",function(){m(a);let g=w(2),o=M().$implicit,t=M();return o[1].current=g.value,c(t.save(!0))}),s(3),n()()}if(l&2){let a=d.$implicit,e=M().$implicit;r(),h("name",e[0])("value",a)("checked",a===e[1].current),r(2),V(" ",a.split(".").slice(-1)," ")}}function Ct(l,d){if(l&1&&(i(0,"div",2)(1,"div",3)(2,"div"),s(3),n()(),i(4,"div"),y(5,St,4,4,"div",4,b),n()()),l&2){let a=d.$implicit;r(3),C(a[1].name),r(2),S(a[1].available)}}var ie=class l{title="";chosen=new ce;pathChoices={tws:{name:"True Wind Speed",choices:["environment.wind.speedTrue","environment.wind.speedOverGround"],available:[],current:""},twd:{name:"True Wind Direction",choices:["environment.wind.directionTrue","environment.wind.directionMagnetic","environment.wind.angleTrueGround","environment.wind.angleTrueWater"],available:[],current:""},heading:{name:"Heading / COG",choices:["navigation.courseOverGroundTrue","navigation.courseOverGroundMagnetic","navigation.headingTrue","navigation.headingMagnetic"],available:[],current:""}};pathChoicesArray=Object.entries(this.pathChoices);availPaths;app=W(L);constructor(){}ngOnInit(){this.initEntries()}initEntries(){this.availPaths=new Map(Object.entries(this.app.data.vessels.prefAvailablePaths)),this.pathChoices.tws.current=this.app.config.units.preferredPaths.tws,this.pathChoices.twd.current=this.app.config.units.preferredPaths.twd,this.pathChoices.heading.current=this.app.config.units.preferredPaths.heading,Object.entries(this.pathChoices).forEach(a=>{let e=a[1];e.choices.forEach(g=>{this.availPaths.has(g)&&e.available.push(g)}),e.available.length===0&&e.available.push(e.choices[0])})}save(d){let a={};Object.entries(this.pathChoices).forEach(e=>{a[e[0]]=e[1].current}),this.chosen.emit({save:d,value:a})}static \u0275fac=function(a){return new(a||l)};static \u0275cmp=P({type:l,selectors:[["signalk-preferred-paths"]],inputs:{title:"title"},outputs:{chosen:"chosen"},decls:6,vars:1,consts:[["pathopt",""],[2,"font-size","10pt"],[1,"sk-details"],[1,"title"],[2,"margin","5px 0 5px 0"],[3,"change","name","value","checked"]],template:function(a,e){a&1&&(i(0,"fieldset")(1,"legend",1),s(2),n(),i(3,"div"),y(4,Ct,7,1,"div",2,yt),n()()),a&2&&(r(2),C(e.title),r(2),S(e.pathChoicesArray))},dependencies:[ee,$],styles:[".sk-details[_ngcontent-%COMP%]{position:relative;display:flex;flex-direction:column;font-family:Roboto,Arial,Helvetica,sans-serif;font-size:10pt;max-height:100%;width:60vw;max-width:300px}.sk-details[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{background:left 1px -webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.18)),color-stop(.65,transparent)) #b2bbc2e3;padding:3px 5px 0;margin-top:3px;font-weight:500;line-height:23px;color:#000}.sk-details[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:0;line-height:23px;margin:0;flex:1 1 auto;overflow:auto}.sk-details[_ngcontent-%COMP%] .item[_ngcontent-%COMP%]{display:flex;flex-direction:row;line-height:26px;border-width:0 0 0 0;border-style:solid;border-color:gray;padding-left:5px}.sk-details[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .item[_ngcontent-%COMP%]{border-width:0 0 1px 0}.sk-details[_ngcontent-%COMP%] .sectionname[_ngcontent-%COMP%]{text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;font-weight:500}.sk-details[_ngcontent-%COMP%] .pathvalue[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;width:100%;background-color:#fff}.sk-details[_ngcontent-%COMP%] .pathvalue[_ngcontent-%COMP%] .path[_ngcontent-%COMP%]{text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-style:italic}.sk-details[_ngcontent-%COMP%] .pathvalue[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]{text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"],changeDetection:0})};var v=(l,d)=>d[0],Mt=(l,d)=>d.id;function wt(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function vt(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function bt(l,d){if(l&1&&(i(0,"mat-option",118),s(1),n()),l&2){let a=d.$implicit;h("value",a.url)("matTooltip",a.description),r(),V(" ",a.name," ")}}function Tt(l,d){if(l&1){let a=k();i(0,"div",44)(1,"div",35)(2,"mat-form-field",36)(3,"mat-label"),s(4,"Select Instruments App"),n(),i(5,"mat-select",60),f("ngModelChange",function(g){m(a);let o=M();return u(o.facade.settings.display.plugins.instruments,g)||(o.facade.settings.display.plugins.instruments=g),c(g)}),p("selectionChange",function(){m(a);let g=M();return c(g.onInstrumentApp())}),y(6,bt,2,3,"mat-option",118,b),n()()(),i(8,"div",35)(9,"mat-form-field",50)(10,"mat-label"),s(11,"Parameters"),n(),i(12,"input",119,18),f("ngModelChange",function(g){m(a);let o=M();return u(o.facade.settings.display.plugins.parameters,g)||(o.facade.settings.display.plugins.parameters=g),c(g)}),p("change",function(){m(a);let g=M();return c(g.persistModel("pluginParameters"))}),n()()(),i(14,"div",35)(15,"mat-checkbox",120),f("ngModelChange",function(g){m(a);let o=M();return u(o.facade.settings.display.plugins.startOnOpen,g)||(o.facade.settings.display.plugins.startOnOpen=g),c(g)}),p("change",function(){m(a);let g=M();return c(g.persistModel("pluginStartOnOpen"))}),s(16," Halt App on hide "),n()(),i(17,"div",35)(18,"button",121),p("click",function(){m(a);let g=M();return c(g.toggleFavourites())}),i(19,"mat-icon"),s(20,"star"),n(),s(21," FAVOURITES "),n()()()}if(l&2){let a=M();r(5),_("ngModel",a.facade.settings.display.plugins.instruments),r(),S(a.facade.applicationList),r(6),h("disabled",a.facade.settings.display.plugins.instruments===null),_("ngModel",a.facade.settings.display.plugins.parameters),r(3),_("ngModel",a.facade.settings.display.plugins.startOnOpen)}}function Dt(l,d){if(l&1&&(i(0,"mat-list-option",123),s(1),n()),l&2){let a=d.$implicit,e=M(2);h("disabled",a.url==e.facade.settings.display.plugins.instruments)("selected",e.facade.settings.display.plugins.favourites.includes(a.url))("value",a.url),r(),V(" ",a.name," ")}}function Et(l,d){if(l&1){let a=k();i(0,"div",34)(1,"div",35)(2,"div",100),E(3,"br"),s(4,"Select Favourite Apps: "),n(),E(5,"mat-divider"),i(6,"mat-selection-list",122,19),p("selectionChange",function(g){m(a);let o=w(7),t=M();return c(t.onFavSelected(g,o))}),y(8,Dt,2,4,"mat-list-option",123,b),n()()()}if(l&2){let a=M();r(8),S(a.facade.favouritesList)}}function Wt(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function kt(l,d){l&1&&(i(0,"mat-error"),s(1,"Please enter a number >= 0"),n())}function Vt(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function Pt(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function Lt(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function xt(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function Ot(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function Bt(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function It(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function Ft(l,d){if(l&1){let a=k();i(0,"div",35)(1,"mat-form-field",36)(2,"mat-label"),s(3,"Position display format"),n(),i(4,"mat-select",124),f("ngModelChange",function(g){m(a);let o=M();return u(o.facade.settings.units.positionFormat,g)||(o.facade.settings.units.positionFormat=g),c(g)}),p("selectionChange",function(){m(a);let g=M();return c(g.persistModel())}),y(5,It,2,2,"mat-option",38,b),n()()()}if(l&2){let a=M();r(4),_("ngModel",a.facade.settings.units.positionFormat),r(),S(a.options.preferredValues.coords)}}function At(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function Nt(l,d){if(l&1){let a=k();i(0,"div",35)(1,"mat-form-field",36)(2,"mat-label"),s(3,"Prefer True / Magnetic values"),n(),i(4,"mat-select",125),f("ngModelChange",function(g){m(a);let o=M();return u(o.facade.settings.units.headingAttribute,g)||(o.facade.settings.units.headingAttribute=g),c(g)}),p("selectionChange",function(){m(a);let g=M();return c(g.persistModel("headingAttribute"))}),y(5,At,2,2,"mat-option",38,b),n()()()}if(l&2){let a=M();r(4),_("ngModel",a.facade.settings.units.headingAttribute),r(),S(a.options.preferredValues.heading)}}function Rt(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a),r(),C(a)}}function Ut(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function Gt(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function Zt(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function Ht(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function Kt(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a),r(),C(a)}}function zt(l,d){l&1&&(i(0,"mat-error"),s(1," Please enter a positive number "),n())}function qt(l,d){l&1&&(i(0,"mat-error"),s(1," Please enter a positive number "),n())}function jt(l,d){l&1&&(i(0,"mat-error"),s(1," Please enter a positive number "),n())}function Xt(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function Yt(l,d){l&1&&(i(0,"mat-error"),s(1," Please enter a number > 0 "),n())}function Jt(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a),r(),C(a)}}function Qt(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function $t(l,d){if(l&1&&(i(0,"mat-radio-button",38),E(1,"img",126),s(2),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),ue(`transform: scale(${a[0]})`),r(),V(" (",a[1],") ")}}function ei(l,d){l&1&&(i(0,"mat-error"),s(1," Please enter a value between -90 and 90 (max 9 decimals) "),n())}function ti(l,d){l&1&&(i(0,"mat-error"),s(1," Please enter a value between -180 and 180 (max 9 decimals) "),n())}function ii(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function ni(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function ai(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a),r(),C(a)}}function oi(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a),r(),C(a)}}function ri(l,d){l&1&&(i(0,"mat-error"),s(1," Please enter a number >= 1. "),n())}function si(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function li(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function di(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function gi(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function mi(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function ci(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function pi(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a),r(),C(a)}}function _i(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function ui(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a),r(),C(a)}}function fi(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a),r(),C(a)}}function hi(l,d){if(l&1){let a=k();i(0,"button",127),p("click",function(){m(a),M();let g=w(532);return c(g.value="")}),i(1,"mat-icon"),s(2,"close"),n()()}}function yi(l,d){if(l&1&&(i(0,"mat-list-option",102),s(1),n()),l&2){let a=d.$implicit,e=M();h("selected",e.facade.settings.resources.paths.includes(a))("value",a),r(),V(" ",a," ")}}function Si(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a.id),r(),C(a.name)}}function Ci(l,d){if(l&1){let a=k();i(0,"mat-tab",103)(1,"div",29)(2,"div",30)(3,"div",115)(4,"div",32),s(5,"RADAR SETTINGS"),n(),i(6,"mat-card",33)(7,"div",44)(8,"div",35)(9,"mat-form-field",128)(10,"mat-label"),s(11,"Radar Devices"),n(),i(12,"mat-select",129,20),f("ngModelChange",function(g){m(a);let o=M();return u(o.facade.settings.radars.deviceId,g)||(o.facade.settings.radars.deviceId=g),c(g)}),p("selectionChange",function(){m(a);let g=M();return c(g.doRadar())}),y(14,Si,2,2,"mat-option",38,Mt),n()()(),i(16,"div",35)(17,"button",130),p("click",function(){m(a);let g=M();return c(g.refreshRadars())}),i(18,"mat-icon"),s(19," refresh"),n(),s(20," REFRESH "),n()()()()()()()()}if(l&2){let a=M();r(12),h("disabled",!a.radarList().length||a.app.uiCtrl().radarLayer),_("ngModel",a.facade.settings.radars.deviceId),r(2),S(a.radarList())}}function Mi(l,d){if(l&1&&(i(0,"mat-option",38),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function wi(l,d){l&1&&(i(0,"mat-error"),s(1," Value required. "),n())}var st=class l{show={favourites:I(!1)};options;aisStateFilter={moored:!1,anchored:!1};formattedNumberModel={rangeCirclesDistance:1e3};unitsChangedSignal=I(0);radarList=I([]);saveOnClose=!1;facade=W(at);myElement=W(_e);dialogRef=W(he);wakeLock=W(Ke);s57=W(ze);app=W(L);radarApi=W(je);constructor(){this.options=new nt,pe(()=>{this.unitsChangedSignal(),this.formatNumberModel()})}ngOnInit(){this.facade.refresh(),this.facade.settings.selections.aisState.forEach(d=>{d in this.aisStateFilter&&(this.aisStateFilter[d]=!0)}),this.refreshRadars()}refreshRadars(){this.radarApi.listRadars().then(d=>{this.radarList.set(d)}).catch(()=>{this.radarList.set([])})}formatNumberModel(){this.formattedNumberModel={rangeCirclesDistance:this.facade.settings.units.distance==="kilometer"?Math.floor(this.facade.settings.vessels.rangeCirclesDistance/1e3):Math.floor(B.transform(this.facade.settings.vessels.rangeCirclesDistance,"m","naut-mile"))}}raiseChange(){this.app.alignUnitPrefs(this.app.serverConfig.unitPreferences()),this.unitsChangedSignal.update(d=>d+1)}handleClose(){this.saveOnClose&&this.persistModel(),this.dialogRef.close()}doWakelock(d){this.persistModel(),d?this.wakeLock.disable():this.wakeLock.enable()}doS57(d){this.facade.settings.map.s57Options.depthUnit=this.facade.settings.units.depth,d?this.parseNumber(d):this.persistModel(),this.s57.setOptions(this.facade.settings.map.s57Options)}doRadar(){this.radarApi.init(this.facade.settings.radars.deviceId).then(d=>{d&&this.persistModel()})}onLineStyle(d,a){let e=this.facade.settings.vessels.selfLines[d];e&&(e.color=a.config.color,e.dash=a.config.dash,e.weight=a.config.weight,this.app.selfLines.update(g=>{let o=Object.assign({},g);return o[d]=a.lineStyle,o}),this.persistModel())}toggleFavourites(){this.show.favourites.update(d=>!d)}parseNumber(d,a){if(typeof d.model!="number"){d.reset(this.fallbackToDefault());return}!a&&d.model<0&&d.reset(Math.abs(d.model)),this.persistModel()}parseFormattedNumber(d,a){typeof d.model=="number"&&(!a&&d.model<0&&d.reset(Math.abs(d.model)),this.facade.settings.vessels.rangeCirclesDistance=this.facade.settings.units.distance==="kilometer"?Math.floor(this.formattedNumberModel.rangeCirclesDistance*1e3):Math.floor(B.nauticalMilesToKm(this.formattedNumberModel.rangeCirclesDistance)*1e3),this.persistModel())}fallbackToDefault(){let d=qe();if(typeof this.facade.settings.display.statusBar.referenceSpeed!="number")return d.display.statusBar.referenceSpeed;if(typeof this.facade.settings.map.s57Options.shallowDepth!="number")return d.map.s57Options.shallowDepth;if(typeof this.facade.settings.map.s57Options.safetyDepth!="number")return d.map.s57Options.safetyDepth;if(typeof this.facade.settings.map.s57Options.deepDepth!="number")return d.map.s57Options.deepDepth;if(typeof this.facade.fixedPosition[0]!="number"||typeof this.facade.fixedPosition[1]!="number")return 0;if(typeof this.facade.settings.course.arrivalCircle!="number")return d.course.arrivalCircle}persistModel(d){this.facade.applySettings(),this.facade.emitChangeEvent(d)}get speedUnitSymbol(){return B.getSymbol(this.facade.settings.units.speed)}deferPersist(d){this.saveOnClose=!0,this.facade.emitChangeEvent(d)}onInstrumentApp(){this.persistModel("pluginInstruments"),this.facade.buildFavouritesList()}onPreferredPaths(d){d.save&&(this.facade.settings.units.preferredPaths=d.value,this.persistModel())}onFavSelected(d,a){this.facade.settings.display.plugins.favourites=a.selectedOptions.selected.map(e=>e.value),this.persistModel()}onAisStateFilter(){let d=[];for(let a in this.aisStateFilter)this.aisStateFilter[a]&&d.push(a);this.facade.settings.selections.aisState=[].concat(d),this.persistModel()}onResPathSelected(d){this.facade.settings.resources.paths=d.selectedOptions.selected.map(a=>a.value),this.facade.settings.resources.paths.forEach(a=>{a in this.facade.settings.selections.resourceSets||(this.facade.settings.selections.resourceSets[a]=[])}),this.persistModel()}clearAuthToken(){this.facade.clearToken()}renderSymbol(d){return B.getSymbol(d)}static \u0275fac=function(a){return new(a||l)};static \u0275cmp=P({type:l,selectors:[["settings-dialog"]],decls:627,vars:128,consts:[["refspeed","ngModel"],["serverprefs",""],["distunits",""],["s57shallowDepth","ngModel"],["s57safetyDepth","ngModel"],["s57deepDepth","ngModel"],["coursearrivalcircle","ngModel"],["courseautoadvance",""],["courseautoadvanceon",""],["vesselfixedlocationmode",""],["fixedlat","ngModel"],["fixedlon","ngModel"],["rangeCirclesDistance","ngModel"],["notesrootfilter",""],["respath",""],["skmaxradius",""],["videourl","ngModel"],["experiments",""],["instparams","ngModel"],["favs",""],["radarlist",""],[2,"background-color","transparent"],[1,"dialog-icon"],[2,"flex","1 1 auto","text-align","center"],[2,"text-align","right"],["mat-icon-button","",3,"click"],["mat-dialog-content",""],["dynamicHeight","false","mat-stretch-tabs","false","mat-align-tabs","start"],["label","Display"],[1,"theme-page","settings"],[1,"theme-panel"],["id","sectDisplay",1,"setting-group"],[1,"setting-group-title"],[1,"setting-card"],[1,"setting-card-row",2,"padding-bottom","10px"],[1,"setting-card-row-item"],[2,"width","100%"],["matTooltip","Dark Mode setting.",3,"ngModelChange","selectionChange","ngModel"],[3,"value"],["label","after","matTooltip","Auto-set using environment.mode value.",3,"ngModelChange","change","ngModel"],["matTooltip","Action button selection.",3,"ngModelChange","selectionChange","ngModel"],["label","after","matTooltip","Disable wake lock.",3,"ngModelChange","change","disabled","ngModel"],["label","after","matTooltip","Un-check to prefer dialogs over the information panel",3,"ngModelChange","change","ngModel"],["label","after","matTooltip","Open Note details with a single click instead of showing the pop-up options",3,"ngModelChange","change","ngModel"],[1,"setting-card-row"],["matTooltip","Do not play sounds","label","after",3,"ngModelChange","change","ngModel"],["label","after",3,"ngModelChange","change","ngModel"],["matTooltip","Period of time out of alarm state before re-triggering.",3,"ngModelChange","selectionChange","ngModel","disabled"],[1,"setting-group"],["label","after","matTooltip","Show the bearing, distance and ETA from the vessel to the cursor in the status bar (mouse only).",3,"ngModelChange","change","ngModel"],["floatLabel","always",2,"width","100%"],["matInput","","type","number","min","0","matTooltip","Boat speed used to estimate ETA when SOG is unavailable (e.g. at anchor or hove to).",3,"ngModelChange","change","disabled","ngModel"],["matTooltip","Glyph used to display wind direction and speed.",3,"ngModelChange","selectionChange","ngModel"],["label","Units"],["id","sectUnits",1,"setting-group"],["label","after","matTooltip","Use the unit preferences configured on the server.",3,"ngModelChange","change","disabled","ngModel"],[3,"ngModelChange","selectionChange","disabled","ngModel"],["title","Preferred Paths",3,"chosen"],["label","Map"],["id","sectMap",1,"setting-group"],[3,"ngModelChange","selectionChange","ngModel"],["matTooltip","Add close button to popovers","label","after",3,"ngModelChange","change","ngModel"],["matTooltip","Double Click map to zoom","label","after",3,"ngModelChange","change","ngModel"],["matTooltip","Keep tiles visible when zooming past chart maxZoom","label","after",3,"ngModelChange","change","ngModel"],["matTooltip","Do not exit follow vessel when map is panned.","label","after",3,"ngModelChange","change","ngModel"],["placeholder","Graphicsstyle",3,"ngModelChange","selectionChange","ngModel"],["placeholder","Boundaries",3,"ngModelChange","selectionChange","ngModel"],["placeholder","Color Table",3,"ngModelChange","selectionChange","ngModel"],["placeholder","Colors",3,"ngModelChange","selectionChange","ngModel"],["matInput","","type","number","required","","min","0",3,"ngModelChange","change","ngModel"],["matSuffix",""],["multiple","","placeholder","Layers",3,"ngModelChange","selectionChange","ngModel"],["label","Course"],["id","sectCourse",1,"setting-group"],["matTooltip","Select the trigger for advancing to next point.",3,"ngModelChange","selectionChange","disabled","ngModel"],["matTooltip","Period of time before destination is advanced to next waypoint.",3,"ngModelChange","selectionChange","disabled","ngModel"],["label","Vessels"],["id","sectVessels",1,"setting-group"],[3,"ngModelChange","change","ngModel"],["label","after","matTooltip","e.g. Building, Camp, etc.",3,"ngModelChange","change","ngModel"],["floatLabel","always"],["matInput","","type","number","required","","pattern","^-?([1-8]?[0-9])(\\.\\d{1,9})?$","min","-90","max","90",3,"ngModelChange","change","ngModel","disabled"],["matInput","","type","number","required","","pattern","^-?(1[0-7]?[0-9]|[1-9]?[0-9])(\\.\\d{1,9})?$","min","-180","max","180",3,"ngModelChange","change","ngModel","disabled"],["matTooltip","Length of heading line.",3,"ngModelChange","selectionChange","ngModel"],[3,"selectionChange","color","dash","weight"],["matTooltip","Length of COG line.",3,"ngModelChange","selectionChange","ngModel"],[3,"ngModelChange","selectionChange","ngModel","disabled"],["label","after",3,"ngModelChange","change","ngModel","disabled"],["matInput","","type","number","required","","min","1",3,"ngModelChange","change","ngModel","disabled"],["matTooltip","Select to source trail data from the server","label","after",3,"ngModelChange","change","disabled","ngModel"],["discrete","","tickInterval","1","min","1","max","96",3,"disabled"],["matSliderThumb","",3,"ngModelChange","valueChange","ngModel"],["label","Resources"],["id","sectNotes",1,"setting-group"],[3,"valueChange","selectionChange","disabled","value"],["matInput","","type","text","placeholder","?radius=%note:radius%","matTooltip","Filter to apply when retrieving notes",3,"ngModelChange","change","ngModel"],["matSuffix","","mat-icon-button",""],["matTooltip","Allow group name editing.","label","after",3,"ngModelChange","change","ngModel"],["matTooltip","Require position information when adding notes to a group.","label","after",3,"ngModelChange","change","ngModel"],["id","sectResLayers",1,"setting-group"],[2,"font-style","italic"],["matTooltip","Select resource layers to show.",3,"selectionChange"],[3,"selected","value"],["label","Radar"],["label","Signal K"],["id","sectSKConnection",1,"setting-group"],[2,"font-size","smaller"],["matToolTip","Check to receive other vessel data","label","after",3,"ngModelChange","change","ngModel"],["matToolTip","Check to receive AtoN data","matTooltipPosition","below","label","after",3,"ngModelChange","change","ngModel"],["matTooltip","Check to receive aircraft data","matTooltipPosition","below","label","after",3,"ngModelChange","change","ngModel"],["matToolTip","Check to receive SaR data","matTooltipPosition","below","label","after",3,"ngModelChange","change","ngModel"],["matToolTip","Check to receive Weather / Meteo data","matTooltipPosition","below","label","after",3,"ngModelChange","change","ngModel"],["matToolTip","Only include AIS targets within this distance","matTooltipPosition","below",3,"ngModelChange","selectionChange","ngModel"],["mat-icon-button","","matTooltip","Clear Auth Token",3,"click"],["label","Experiments"],["id","sectExperiments",1,"setting-group"],["matInput","","type","text","required","","placeholder","Video stream URL","matTooltip","Enter URL of video stream",3,"ngModelChange","change","disabled","ngModel"],["matTooltip","Enable ALL experimental Features","label","after",3,"ngModelChange","change","ngModel"],["matTooltipPosition","right",3,"value","matTooltip"],["matInput","","type","text","placeholder","e.g. ?layout=mylayout","matTooltip","Enter parameters to pass to Instrument App",3,"ngModelChange","change","disabled","ngModel"],["matTooltip","Stop instrument app when hidden","label","after",3,"ngModelChange","change","ngModel"],["mat-raised-button","","matTooltip","Favourite Apps","label","after",3,"click"],[3,"selectionChange"],[3,"disabled","selected","value"],["matTooltip","Display position in this format",3,"ngModelChange","selectionChange","ngModel"],["matTooltip","Preferred value type for paths not in Preferred Paths above",3,"ngModelChange","selectionChange","ngModel"],["src","./assets/img/vessels/self.png"],["matSuffix","","mat-icon-button","",3,"click"],[2,"width","stretch"],["matToolTip","Select radar device","matTooltipPosition","below",3,"ngModelChange","selectionChange","disabled","ngModel"],["mat-raised-button","",3,"click"]],template:function(a,e){if(a&1){let g=k();i(0,"mat-toolbar",21)(1,"span",22)(2,"mat-icon"),s(3,"settings"),n()(),i(4,"span",23),s(5,"Settings"),n(),i(6,"span",24)(7,"button",25),p("click",function(){return e.handleClose()}),i(8,"mat-icon"),s(9,"close"),n()()()(),i(10,"div",26)(11,"mat-tab-group",27)(12,"mat-tab",28)(13,"div",29)(14,"div",30)(15,"div",31)(16,"div",32),s(17,"DISPLAY"),n(),i(18,"mat-card",33)(19,"mat-card-content")(20,"div",34)(21,"div",35)(22,"mat-form-field",36)(23,"mat-label"),s(24,"Dark Mode setting"),n(),i(25,"mat-select",37),f("ngModelChange",function(t){return m(g),u(e.facade.settings.display.darkMode.source,t)||(e.facade.settings.display.darkMode.source=t),c(t)}),p("selectionChange",function(){return e.persistModel("darkTheme")}),y(26,wt,2,2,"mat-option",38,v),n()()(),i(28,"div",35)(29,"mat-checkbox",39),f("ngModelChange",function(t){return m(g),u(e.facade.settings.display.nightMode,t)||(e.facade.settings.display.nightMode=t),c(t)}),p("change",function(){return e.persistModel()}),s(30," Auto-set Night Mode "),n()(),i(31,"div",35)(32,"mat-form-field",36)(33,"mat-label"),s(34,"Action Button"),n(),i(35,"mat-select",40),f("ngModelChange",function(t){return m(g),u(e.facade.settings.display.fab,t)||(e.facade.settings.display.fab=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(36,vt,2,2,"mat-option",38,v),n()()(),i(38,"div",35)(39,"mat-checkbox",41),f("ngModelChange",function(t){return m(g),u(e.facade.settings.display.disableWakelock,t)||(e.facade.settings.display.disableWakelock=t),c(t)}),p("change",function(t){return e.doWakelock(t.checked)}),s(40," Allow Device to Sleep "),n()(),i(41,"div",35)(42,"mat-checkbox",42),f("ngModelChange",function(t){return m(g),u(e.facade.settings.display.preferInfoPanel,t)||(e.facade.settings.display.preferInfoPanel=t),c(t)}),p("change",function(){return e.persistModel()}),s(43," Prefer Info-Panel "),n()(),i(44,"div",35)(45,"mat-checkbox",43),f("ngModelChange",function(t){return m(g),u(e.facade.settings.display.singleClickNoteDetails,t)||(e.facade.settings.display.singleClickNoteDetails=t),c(t)}),p("change",function(){return e.persistModel()}),s(46," Single Click for Note Details "),n()()()()(),E(47,"br"),i(48,"mat-card",33)(49,"mat-card-content"),T(50,Tt,22,4,"div",44),T(51,Et,10,0,"div",34),n()(),E(52,"br"),n(),i(53,"div",31)(54,"div",32),s(55,"SOUND"),n(),i(56,"mat-card",33)(57,"mat-card-content")(58,"div",34)(59,"div",35)(60,"mat-checkbox",45),f("ngModelChange",function(t){return m(g),u(e.facade.settings.display.muteSound,t)||(e.facade.settings.display.muteSound=t),c(t)}),p("change",function(){return e.persistModel()}),s(61," Do not Play Sounds "),n()(),i(62,"div",35)(63,"mat-checkbox",46),f("ngModelChange",function(t){return m(g),u(e.facade.settings.display.depthAlarm.enabled,t)||(e.facade.settings.display.depthAlarm.enabled=t),c(t)}),p("change",function(){return e.persistModel()}),s(64," Show DEPTH Alarms "),n()(),i(65,"div",35)(66,"mat-form-field",36)(67,"mat-label"),s(68,"Alarm Smoothing Time"),n(),i(69,"mat-select",47),f("ngModelChange",function(t){return m(g),u(e.facade.settings.display.depthAlarm.smoothing,t)||(e.facade.settings.display.depthAlarm.smoothing=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(70,Wt,2,2,"mat-option",38,v),n()()()()()()(),i(72,"div",48)(73,"div",32),s(74,"STATUS BAR OPTIONS"),n(),i(75,"mat-card",33)(76,"mat-card-content")(77,"div",34)(78,"div",35)(79,"mat-checkbox",49),f("ngModelChange",function(t){return m(g),u(e.facade.settings.display.statusBar.liveEta,t)||(e.facade.settings.display.statusBar.liveEta=t),c(t)}),p("change",function(){return e.persistModel()}),s(80," Live ETA at cursor "),n()(),i(81,"div",35)(82,"mat-form-field",50)(83,"mat-label"),s(84),n(),i(85,"input",51,0),f("ngModelChange",function(t){return m(g),u(e.facade.settings.display.statusBar.referenceSpeed,t)||(e.facade.settings.display.statusBar.referenceSpeed=t),c(t)}),p("change",function(){m(g);let t=w(86);return c(e.parseNumber(t))}),n(),T(87,kt,2,0,"mat-error"),n()()()()()(),i(88,"div",48)(89,"div",32),s(90,"WEATHER"),n(),i(91,"mat-card",33)(92,"mat-card-content")(93,"div",34)(94,"div",35)(95,"mat-form-field",36)(96,"mat-label"),s(97,"Wind indicator"),n(),i(98,"mat-select",52),f("ngModelChange",function(t){return m(g),u(e.facade.settings.display.windIndicator,t)||(e.facade.settings.display.windIndicator=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(99,Vt,2,2,"mat-option",38,v),n()()()()()()()()()(),i(101,"mat-tab",53)(102,"div",29)(103,"div",30)(104,"div",54)(105,"div",32),s(106,"UNITS & VALUES"),n(),i(107,"mat-card",33)(108,"mat-card-content")(109,"div",34)(110,"div",35)(111,"fieldset")(112,"legend")(113,"mat-checkbox",55,1),f("ngModelChange",function(t){return m(g),u(e.facade.settings.units.useServerPrefs,t)||(e.facade.settings.units.useServerPrefs=t),c(t)}),p("change",function(){return m(g),e.raiseChange(),c(e.persistModel())}),s(115," Use Server Unit Preferences "),n()(),i(116,"div",34)(117,"div",35)(118,"mat-form-field",36)(119,"mat-label"),s(120,"Distance units"),n(),i(121,"mat-select",56,2),f("ngModelChange",function(t){return m(g),u(e.facade.settings.units.distance,t)||(e.facade.settings.units.distance=t),c(t)}),p("selectionChange",function(){return m(g),e.raiseChange(),c(e.persistModel())}),y(123,Pt,2,2,"mat-option",38,v),n()()(),i(125,"div",35)(126,"mat-form-field",36)(127,"mat-label"),s(128,"Depth units"),n(),i(129,"mat-select",56),f("ngModelChange",function(t){return m(g),u(e.facade.settings.units.depth,t)||(e.facade.settings.units.depth=t),c(t)}),p("selectionChange",function(){return m(g),e.raiseChange(),c(e.doS57())}),y(130,Lt,2,2,"mat-option",38,v),n()()(),i(132,"div",35)(133,"mat-form-field",36)(134,"mat-label"),s(135,"Length units"),n(),i(136,"mat-select",56),f("ngModelChange",function(t){return m(g),u(e.facade.settings.units.length,t)||(e.facade.settings.units.length=t),c(t)}),p("selectionChange",function(){return m(g),e.raiseChange(),c(e.persistModel())}),y(137,xt,2,2,"mat-option",38,v),n()()(),i(139,"div",35)(140,"mat-form-field",36)(141,"mat-label"),s(142,"Temperature units"),n(),i(143,"mat-select",56),f("ngModelChange",function(t){return m(g),u(e.facade.settings.units.temperature,t)||(e.facade.settings.units.temperature=t),c(t)}),p("selectionChange",function(){return m(g),e.raiseChange(),c(e.persistModel())}),y(144,Ot,2,2,"mat-option",38,v),n()()(),i(146,"div",35)(147,"mat-form-field",36)(148,"mat-label"),s(149,"Speed units"),n(),i(150,"mat-select",56),f("ngModelChange",function(t){return m(g),u(e.facade.settings.units.speed,t)||(e.facade.settings.units.speed=t),c(t)}),p("selectionChange",function(){return m(g),e.raiseChange(),c(e.persistModel())}),y(151,Bt,2,2,"mat-option",38,v),n()()()()()()(),i(153,"div",34),T(154,Ft,7,1,"div",35),T(155,Nt,7,1,"div",35),i(156,"div",35)(157,"signalk-preferred-paths",57),p("chosen",function(t){return e.onPreferredPaths(t)}),n()()()()()()()()(),i(158,"mat-tab",58)(159,"div",29)(160,"div",30)(161,"div",59)(162,"div",32),s(163,"MAP"),n(),i(164,"mat-card")(165,"mat-card-content")(166,"div",34)(167,"div",35)(168,"mat-form-field",36)(169,"mat-label"),s(170,"Feature label zoom level"),n(),i(171,"mat-select",60),f("ngModelChange",function(t){return m(g),u(e.facade.settings.map.labelsMinZoom,t)||(e.facade.settings.map.labelsMinZoom=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(172,Rt,2,2,"mat-option",38,b),n()()(),i(174,"div",35)(175,"mat-form-field",36)(176,"mat-label"),s(177,"Offset Vessel Center"),n(),i(178,"mat-select",60),f("ngModelChange",function(t){return m(g),u(e.facade.settings.map.centerOffset,t)||(e.facade.settings.map.centerOffset=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(179,Ut,2,2,"mat-option",38,v),n()()(),i(181,"div",35)(182,"mat-checkbox",61),f("ngModelChange",function(t){return m(g),u(e.facade.settings.map.popoverMulti,t)||(e.facade.settings.map.popoverMulti=t),c(t)}),p("change",function(){return e.persistModel()}),s(183," Popovers close with button "),n()(),i(184,"div",35)(185,"mat-checkbox",62),f("ngModelChange",function(t){return m(g),u(e.facade.settings.map.doubleClickZoom,t)||(e.facade.settings.map.doubleClickZoom=t),c(t)}),p("change",function(){return e.persistModel()}),s(186," Double click to Zoom "),n()(),i(187,"div",35)(188,"mat-checkbox",63),f("ngModelChange",function(t){return m(g),u(e.facade.settings.map.overZoomTiles,t)||(e.facade.settings.map.overZoomTiles=t),c(t)}),p("change",function(){return e.persistModel()}),s(189," Keep tiles visible on max zoom "),n()(),i(190,"div",35)(191,"mat-checkbox",64),f("ngModelChange",function(t){return m(g),u(e.facade.settings.map.lockMoveMap,t)||(e.facade.settings.map.lockMoveMap=t),c(t)}),p("change",function(){return e.persistModel()}),s(192," Lock Follow Vessel "),n()()()()(),i(193,"div",32),s(194,"VECTOR CHARTS"),n(),i(195,"mat-card")(196,"mat-card-content")(197,"div",34)(198,"div",35)(199,"mat-form-field",36)(200,"mat-label"),s(201,"Graphics Style"),n(),i(202,"mat-select",65),f("ngModelChange",function(t){return m(g),u(e.facade.settings.map.s57Options.graphicsStyle,t)||(e.facade.settings.map.s57Options.graphicsStyle=t),c(t)}),p("selectionChange",function(){return e.doS57()}),y(203,Gt,2,2,"mat-option",38,v),n()()(),i(205,"div",35)(206,"mat-form-field",36)(207,"mat-label"),s(208,"Boundaries"),n(),i(209,"mat-select",66),f("ngModelChange",function(t){return m(g),u(e.facade.settings.map.s57Options.boundaries,t)||(e.facade.settings.map.s57Options.boundaries=t),c(t)}),p("selectionChange",function(){return e.doS57()}),y(210,Zt,2,2,"mat-option",38,v),n()()(),i(212,"div",35)(213,"mat-form-field",36)(214,"mat-label"),s(215,"Color Table (Requires refresh)"),n(),i(216,"mat-select",67),f("ngModelChange",function(t){return m(g),u(e.facade.settings.map.s57Options.colorTable,t)||(e.facade.settings.map.s57Options.colorTable=t),c(t)}),p("selectionChange",function(){return e.doS57()}),y(217,Ht,2,2,"mat-option",38,v),n()()(),i(219,"div",35)(220,"mat-form-field",36)(221,"mat-label"),s(222,"Colors"),n(),i(223,"mat-select",68),f("ngModelChange",function(t){return m(g),u(e.facade.settings.map.s57Options.colors,t)||(e.facade.settings.map.s57Options.colors=t),c(t)}),p("selectionChange",function(){return e.doS57()}),y(224,Kt,2,2,"mat-option",38,b),n()()()(),i(226,"div",34)(227,"div",35)(228,"mat-form-field",36)(229,"mat-label"),s(230,"Shallow depth"),n(),i(231,"input",69,3),f("ngModelChange",function(t){return m(g),u(e.facade.settings.map.s57Options.shallowDepth,t)||(e.facade.settings.map.s57Options.shallowDepth=t),c(t)}),p("change",function(){m(g);let t=w(232);return c(e.doS57(t))}),n(),T(233,zt,2,0,"mat-error"),i(234,"span",70),s(235,"m"),n()()(),i(236,"div",35)(237,"mat-form-field",36)(238,"mat-label"),s(239,"Safety depth"),n(),i(240,"input",69,4),f("ngModelChange",function(t){return m(g),u(e.facade.settings.map.s57Options.safetyDepth,t)||(e.facade.settings.map.s57Options.safetyDepth=t),c(t)}),p("change",function(){m(g);let t=w(241);return c(e.doS57(t))}),n(),T(242,qt,2,0,"mat-error"),i(243,"span",70),s(244,"m"),n()()(),i(245,"div",35)(246,"mat-form-field",36)(247,"mat-label"),s(248,"Deep depth"),n(),i(249,"input",69,5),f("ngModelChange",function(t){return m(g),u(e.facade.settings.map.s57Options.deepDepth,t)||(e.facade.settings.map.s57Options.deepDepth=t),c(t)}),p("change",function(){m(g);let t=w(250);return c(e.doS57(t))}),n(),T(251,jt,2,0,"mat-error"),i(252,"span",70),s(253,"m"),n()()(),i(254,"div",35)(255,"mat-form-field",36)(256,"mat-label"),s(257,"Layers"),n(),i(258,"mat-select",71),f("ngModelChange",function(t){return m(g),u(e.facade.settings.map.s57Options.otherLayers,t)||(e.facade.settings.map.s57Options.otherLayers=t),c(t)}),p("selectionChange",function(){return e.doS57()}),y(259,Xt,2,2,"mat-option",38,v),n()()()()()()()()()(),i(261,"mat-tab",72)(262,"div",29)(263,"div",30)(264,"div",73)(265,"div",32),s(266,"COURSE"),n(),i(267,"mat-card",33)(268,"mat-card-content")(269,"div",34)(270,"div",35)(271,"mat-form-field",36)(272,"mat-label"),s(273,"Arrival Circle"),n(),i(274,"input",69,6),f("ngModelChange",function(t){return m(g),u(e.facade.settings.course.arrivalCircle,t)||(e.facade.settings.course.arrivalCircle=t),c(t)}),p("change",function(){m(g);let t=w(275);return c(e.parseNumber(t))}),n(),T(276,Yt,2,0,"mat-error"),i(277,"span",70),s(278,"m"),n()()()(),i(279,"div",34)(280,"div",35)(281,"mat-checkbox",46,7),f("ngModelChange",function(t){return m(g),u(e.facade.settings.course.autoNextPointOnArrival,t)||(e.facade.settings.course.autoNextPointOnArrival=t),c(t)}),p("change",function(){return e.persistModel()}),s(283," Auto-advance to next point on arrival "),n()()(),i(284,"div",34)(285,"div",35)(286,"mat-form-field",36)(287,"mat-label"),s(288,"Notification type to use"),n(),i(289,"mat-select",74,8),f("ngModelChange",function(t){return m(g),u(e.facade.settings.course.autoNextPointTrigger,t)||(e.facade.settings.course.autoNextPointTrigger=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(291,Jt,2,2,"mat-option",38,b),n()()(),i(293,"div",35)(294,"mat-form-field",36)(295,"mat-label"),s(296,"Time to wait before advancing"),n(),i(297,"mat-select",75),f("ngModelChange",function(t){return m(g),u(e.facade.settings.course.autoNextPointDelay,t)||(e.facade.settings.course.autoNextPointDelay=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(298,Qt,2,2,"mat-option",38,v),n()()()()()()()()()(),i(300,"mat-tab",76)(301,"div",29)(302,"div",30)(303,"div",77)(304,"div",32),s(305,"VESSEL"),n(),i(306,"mat-card",33)(307,"mat-card-content")(308,"div",34)(309,"div",35)(310,"fieldset")(311,"legend"),s(312,"Vessel Icon Size"),n(),i(313,"div",34)(314,"div",35)(315,"mat-radio-group",78),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.iconScale,t)||(e.facade.settings.vessels.iconScale=t),c(t)}),p("change",function(){return e.persistModel()}),y(316,$t,3,4,"mat-radio-button",38,v),n()()()()()(),i(318,"div",35)(319,"fieldset")(320,"legend")(321,"mat-checkbox",79,9),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.fixedLocationMode,t)||(e.facade.settings.vessels.fixedLocationMode=t),c(t)}),p("change",function(){return e.persistModel()}),s(323," Fixed Location Mode "),n()(),i(324,"div",34)(325,"div",35)(326,"mat-form-field",80)(327,"mat-label"),s(328,"Latitude"),n(),i(329,"input",81,10),f("ngModelChange",function(t){return m(g),u(e.facade.fixedPosition[1],t)||(e.facade.fixedPosition[1]=t),c(t)}),p("change",function(){m(g);let t=w(330);return c(e.parseNumber(t,!0))}),n(),T(331,ei,2,0,"mat-error"),n(),i(332,"mat-form-field",80)(333,"mat-label"),s(334,"Longitude"),n(),i(335,"input",82,11),f("ngModelChange",function(t){return m(g),u(e.facade.fixedPosition[0],t)||(e.facade.fixedPosition[0]=t),c(t)}),p("change",function(){m(g);let t=w(336);return c(e.parseNumber(t,!0))}),n(),T(337,ti,2,0,"mat-error"),n()()()()()()(),E(338,"br"),i(339,"mat-card",33)(340,"mat-card-content")(341,"div",35)(342,"fieldset")(343,"legend"),s(344,"Vessel Lines:"),n(),i(345,"div",34)(346,"mat-checkbox",46),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.windVectors,t)||(e.facade.settings.vessels.windVectors=t),c(t)}),p("change",function(){return e.persistModel()}),s(347," Display Wind Vectors "),n(),i(348,"mat-checkbox",46),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.laylines,t)||(e.facade.settings.vessels.laylines=t),c(t)}),p("change",function(){return e.persistModel()}),s(349," Display Laylines "),n()(),i(350,"div",34)(351,"div",35)(352,"fieldset")(353,"legend"),s(354,"Heading Line"),n(),i(355,"div",34)(356,"div",35)(357,"mat-form-field")(358,"mat-label"),s(359,"Heading Line Length"),n(),i(360,"mat-select",83),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.selfLines.heading.length,t)||(e.facade.settings.vessels.selfLines.heading.length=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(361,ii,2,2,"mat-option",38,v),n()()(),i(363,"div",35)(364,"linestyle-select",84),p("selectionChange",function(t){return e.onLineStyle("heading",t)}),n()()()()()(),i(365,"div",34)(366,"div",35)(367,"fieldset")(368,"legend"),s(369,"COG Line"),n(),i(370,"div",34)(371,"div",35)(372,"mat-form-field")(373,"mat-label"),s(374,"COG Line Length"),n(),i(375,"mat-select",85),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.selfLines.cog.length,t)||(e.facade.settings.vessels.selfLines.cog.length=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(376,ni,2,2,"mat-option",38,v),n()()(),i(378,"div",35)(379,"linestyle-select",84),p("selectionChange",function(t){return e.onLineStyle("cog",t)}),n()()()()()()()(),i(380,"div",35)(381,"fieldset")(382,"legend")(383,"mat-checkbox",46),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.rangeCircles,t)||(e.facade.settings.vessels.rangeCircles=t),c(t)}),p("change",function(){return e.persistModel()}),s(384," Display Range Circles "),n()(),i(385,"div",34)(386,"div",35)(387,"mat-form-field",36)(388,"mat-label"),s(389,"Number of Range Circles"),n(),i(390,"mat-select",86),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.rangeCircleCount,t)||(e.facade.settings.vessels.rangeCircleCount=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(391,ai,2,2,"mat-option",38,b),n()()(),i(393,"div",35)(394,"mat-form-field",36)(395,"mat-label"),s(396,"Minimum Zoom Level"),n(),i(397,"mat-select",86),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.rangeCircleMinZoom,t)||(e.facade.settings.vessels.rangeCircleMinZoom=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(398,oi,2,2,"mat-option",38,b),n()()()(),i(400,"div",34)(401,"div",35)(402,"mat-checkbox",87),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.rangeCirclesFixed,t)||(e.facade.settings.vessels.rangeCirclesFixed=t),c(t)}),p("change",function(){return e.persistModel()}),s(403," Use Fixed Distance "),n()(),i(404,"div",35)(405,"mat-form-field",80)(406,"mat-label"),s(407),n(),i(408,"input",88,12),f("ngModelChange",function(t){return m(g),u(e.formattedNumberModel.rangeCirclesDistance,t)||(e.formattedNumberModel.rangeCirclesDistance=t),c(t)}),p("change",function(){m(g);let t=w(409);return c(e.parseFormattedNumber(t))}),n(),T(410,ri,2,0,"mat-error"),n()()()()()()(),E(411,"br"),i(412,"mat-card",33)(413,"mat-card-content")(414,"div",34)(415,"fieldset")(416,"legend")(417,"mat-checkbox",46),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.trail,t)||(e.facade.settings.vessels.trail=t),c(t)}),p("change",function(){return e.persistModel("vesselTrail")}),s(418," Display Vessel Track "),n()(),i(419,"div",34)(420,"div",35)(421,"mat-checkbox",89),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.trailFromServer,t)||(e.facade.settings.vessels.trailFromServer=t),c(t)}),p("change",function(){return e.persistModel("trailFromServer")}),s(422," Get Track from server "),n(),s(423," \xA0\xA0 "),i(424,"mat-slider",90)(425,"input",91),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.trailDuration,t)||(e.facade.settings.vessels.trailDuration=t),c(t)}),p("valueChange",function(){return e.deferPersist()}),n()(),s(426),n()(),i(427,"div",34)(428,"div",35)(429,"mat-form-field",36)(430,"mat-label"),s(431,"Resolution: Last hour"),n(),i(432,"mat-select",86),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.trailResolution.lastHour,t)||(e.facade.settings.vessels.trailResolution.lastHour=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(433,si,2,2,"mat-option",38,v),n()()(),i(435,"div",35)(436,"mat-form-field",36)(437,"mat-label"),s(438,"Resolution: 1 hr -> 24 hrs"),n(),i(439,"mat-select",86),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.trailResolution.next23,t)||(e.facade.settings.vessels.trailResolution.next23=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(440,li,2,2,"mat-option",38,v),n()()(),i(442,"div",35)(443,"mat-form-field",36)(444,"mat-label"),s(445,"Resolution: > 24 hrs"),n(),i(446,"mat-select",86),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.trailResolution.beyond24,t)||(e.facade.settings.vessels.trailResolution.beyond24=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(447,di,2,2,"mat-option",38,v),n()()()()()()()(),i(449,"div",32),s(450,"OTHER VESSELS"),n(),i(451,"mat-card",33)(452,"mat-card-content")(453,"div",34)(454,"div",35)(455,"mat-checkbox",46),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.aisShowTrack,t)||(e.facade.settings.vessels.aisShowTrack=t),c(t)}),p("change",function(){return e.persistModel()}),s(456," Show Track "),n(),s(457," \xA0 "),i(458,"mat-checkbox",46),f("ngModelChange",function(t){return m(g),u(e.aisStateFilter.moored,t)||(e.aisStateFilter.moored=t),c(t)}),p("change",function(){return e.onAisStateFilter()}),s(459," Hide Moored "),n(),s(460," \xA0 "),i(461,"mat-checkbox",46),f("ngModelChange",function(t){return m(g),u(e.aisStateFilter.anchored,t)||(e.aisStateFilter.anchored=t),c(t)}),p("change",function(){return e.onAisStateFilter()}),s(462," Hide Anchored "),n()()(),i(463,"div",34)(464,"div",35)(465,"mat-form-field",36)(466,"mat-label"),s(467,"Mark AIS target inactive after"),n(),i(468,"mat-select",60),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.aisStaleAge,t)||(e.facade.settings.vessels.aisStaleAge=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(469,gi,2,2,"mat-option",38,v),n()()(),i(471,"div",35)(472,"mat-form-field",36)(473,"mat-label"),s(474,"Remove AIS target after"),n(),i(475,"mat-select",60),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.aisMaxAge,t)||(e.facade.settings.vessels.aisMaxAge=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(476,mi,2,2,"mat-option",38,v),n()()(),i(478,"div",35)(479,"mat-form-field",36)(480,"mat-label"),s(481,"Wind Vector Value"),n(),i(482,"mat-select",60),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.aisWindApparent,t)||(e.facade.settings.vessels.aisWindApparent=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(483,ci,2,2,"mat-option",38,v),n()()(),i(485,"div",35)(486,"mat-form-field",36)(487,"mat-label"),s(488,"Wind / Track Zoom Level"),n(),i(489,"mat-select",60),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.aisWindMinZoom,t)||(e.facade.settings.vessels.aisWindMinZoom=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(490,pi,2,2,"mat-option",38,b),n()()(),i(492,"div",35)(493,"mat-form-field",36)(494,"mat-label"),s(495,"COG Line"),n(),i(496,"mat-select",60),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.aisCogLine,t)||(e.facade.settings.vessels.aisCogLine=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(497,_i,2,2,"mat-option",38,v),n()()()()()()()()()(),i(499,"mat-tab",92)(500,"div",29)(501,"div",30)(502,"div",93)(503,"div",32),s(504,"NOTES"),n(),i(505,"mat-card",33)(506,"mat-card-content")(507,"div",44)(508,"div",35)(509,"mat-checkbox",46),f("ngModelChange",function(t){return m(g),u(e.facade.settings.ui.showNotes,t)||(e.facade.settings.ui.showNotes=t),c(t)}),p("change",function(){return e.persistModel()}),s(510," Display Notes on Map "),n()(),i(511,"div",35)(512,"mat-form-field",36)(513,"mat-label"),s(514,"Notes Zoom Level"),n(),i(515,"mat-select",94),f("valueChange",function(t){return m(g),u(e.facade.settings.resources.notes.minZoom,t)||(e.facade.settings.resources.notes.minZoom=t),c(t)}),p("selectionChange",function(){return e.persistModel("fetchNotes")}),y(516,ui,2,2,"mat-option",38,b),n()()()(),i(518,"div",44)(519,"div",35)(520,"mat-form-field",36)(521,"mat-label"),s(522),n(),i(523,"mat-select",56),f("ngModelChange",function(t){return m(g),u(e.facade.settings.resources.notes.getRadius,t)||(e.facade.settings.resources.notes.getRadius=t),c(t)}),p("selectionChange",function(){return e.persistModel("fetchNotes")}),y(524,fi,2,2,"mat-option",38,b),n()()()(),i(526,"div",44)(527,"div",35)(528,"mat-form-field",50)(529,"mat-label"),s(530,"Notes fetch filter:"),n(),i(531,"input",95,13),f("ngModelChange",function(t){return m(g),u(e.facade.settings.resources.notes.rootFilter,t)||(e.facade.settings.resources.notes.rootFilter=t),c(t)}),p("change",function(){return e.persistModel("fetchNotes")}),n(),T(533,hi,3,0,"button",96),n()()(),i(534,"div",44)(535,"div",35)(536,"mat-checkbox",97),f("ngModelChange",function(t){return m(g),u(e.facade.settings.resources.notes.groupNameEdit,t)||(e.facade.settings.resources.notes.groupNameEdit=t),c(t)}),p("change",function(){return e.persistModel()}),s(537," Edit Group Names "),n()(),i(538,"div",35)(539,"mat-checkbox",98),f("ngModelChange",function(t){return m(g),u(e.facade.settings.resources.notes.groupRequiresPosition,t)||(e.facade.settings.resources.notes.groupRequiresPosition=t),c(t)}),p("change",function(){return e.persistModel()}),s(540," Position Group Note "),n()()()()()(),i(541,"div",99)(542,"div",32),s(543,"CUSTOM RESOURCES"),n(),i(544,"mat-card",33)(545,"mat-card-content")(546,"div",44)(547,"div",35)(548,"div",100),s(549," Select custom resource types (./resources/<name>) "),n(),i(550,"mat-selection-list",101,14),p("selectionChange",function(){m(g);let t=w(551);return c(e.onResPathSelected(t))}),y(552,yi,2,3,"mat-list-option",102,b),n()()()()()()()()(),T(554,Ci,21,2,"mat-tab",103),i(555,"mat-tab",104)(556,"div",29)(557,"div",30)(558,"div",105)(559,"div",32),s(560,"SIGNAL K: CONNECTION"),n(),i(561,"mat-card",33)(562,"mat-card-content")(563,"div",44)(564,"fieldset")(565,"legend"),s(566,"Filter Stream data:"),n(),i(567,"span",106),s(568," Check to include Signal K schema groups on display."),E(569,"br"),i(570,"i"),s(571,"Use to manage display performance."),n()(),i(572,"div",35)(573,"mat-checkbox",107),f("ngModelChange",function(t){return m(g),u(e.facade.settings.signalk.vessels,t)||(e.facade.settings.signalk.vessels=t),c(t)}),p("change",function(){return e.persistModel()}),s(574," Vessels (other than Self) "),n()(),i(575,"div",35)(576,"mat-checkbox",108),f("ngModelChange",function(t){return m(g),u(e.facade.settings.signalk.atons,t)||(e.facade.settings.signalk.atons=t),c(t)}),p("change",function(){return e.persistModel()}),s(577," Aids to Navigation (AtoN) "),n()(),i(578,"div",35)(579,"mat-checkbox",109),f("ngModelChange",function(t){return m(g),u(e.facade.settings.signalk.aircraft,t)||(e.facade.settings.signalk.aircraft=t),c(t)}),p("change",function(){return e.persistModel()}),s(580," Aircraft "),n()(),i(581,"div",35)(582,"mat-checkbox",110),f("ngModelChange",function(t){return m(g),u(e.facade.settings.signalk.sar,t)||(e.facade.settings.signalk.sar=t),c(t)}),p("change",function(){return e.persistModel()}),s(583," Search and Rescue (SaR) "),n()(),i(584,"div",35)(585,"mat-checkbox",111),f("ngModelChange",function(t){return m(g),u(e.facade.settings.signalk.meteo,t)||(e.facade.settings.signalk.meteo=t),c(t)}),p("change",function(){return e.persistModel()}),s(586," Weather (Meteo) "),n()(),i(587,"div",35),E(588,"br"),i(589,"mat-form-field",36)(590,"mat-label"),s(591,"Max. distance from vessel"),n(),i(592,"mat-select",112,15),f("ngModelChange",function(t){return m(g),u(e.facade.settings.signalk.maxRadius,t)||(e.facade.settings.signalk.maxRadius=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(594,Mi,2,2,"mat-option",38,v),n()()()()(),i(596,"div",44)(597,"div",35)(598,"button",113),p("click",function(){return e.clearAuthToken()}),i(599,"mat-icon"),s(600,"key_off"),n()()()()()()()()()(),i(601,"mat-tab",114)(602,"div",29)(603,"div",30)(604,"div",115)(605,"div",32),s(606,"EXPERIMENTS"),n(),i(607,"mat-card",33)(608,"mat-card-content")(609,"div",44)(610,"div",35)(611,"mat-checkbox",46),f("ngModelChange",function(t){return m(g),u(e.facade.settings.resources.video.enable,t)||(e.facade.settings.resources.video.enable=t),c(t)}),p("change",function(){return e.persistModel()}),s(612," Enable Video "),n()(),i(613,"div",35)(614,"mat-form-field",50)(615,"mat-label"),s(616,"url:"),n(),i(617,"input",116,16),f("ngModelChange",function(t){return m(g),u(e.facade.settings.resources.video.url,t)||(e.facade.settings.resources.video.url=t),c(t)}),p("change",function(){return e.persistModel("videoUrl")}),n(),T(619,wi,2,0,"mat-error"),n()()(),i(620,"div",44)(621,"div",35)(622,"mat-checkbox",117,17),f("ngModelChange",function(t){return m(g),u(e.facade.settings.experiments,t)||(e.facade.settings.experiments=t),c(t)}),p("change",function(){return e.persistModel()}),i(624,"mat-icon"),s(625,"science"),n(),s(626," Experimental Features "),n()()()()()()()()()()()}if(a&2){let g=w(86),o=w(122),t=w(232),ne=w(241),ae=w(250),oe=w(275),de=w(282),ge=w(322),re=w(330),se=w(336),le=w(409),lt=w(532),dt=w(618);r(25),_("ngModel",e.facade.settings.display.darkMode.source),r(),S(e.options.darkMode),r(3),_("ngModel",e.facade.settings.display.nightMode),r(6),_("ngModel",e.facade.settings.display.fab),r(),S(e.options.buttons.fab),r(3),h("disabled",!e.wakeLock.isAvailable),_("ngModel",e.facade.settings.display.disableWakelock),r(3),_("ngModel",e.facade.settings.display.preferInfoPanel),r(3),_("ngModel",e.facade.settings.display.singleClickNoteDetails),r(5),D(e.facade.applicationList.length>1?50:-1),r(),D(e.show.favourites()?51:-1),r(9),_("ngModel",e.facade.settings.display.muteSound),r(3),_("ngModel",e.facade.settings.display.depthAlarm.enabled),r(6),_("ngModel",e.facade.settings.display.depthAlarm.smoothing),h("disabled",!e.facade.settings.display.depthAlarm.enabled),r(),S(e.options.alarm.smoothing),r(9),_("ngModel",e.facade.settings.display.statusBar.liveEta),r(5),V("Reference Boat Speed (",e.speedUnitSymbol,")"),r(),h("disabled",!e.facade.settings.display.statusBar.liveEta),_("ngModel",e.facade.settings.display.statusBar.referenceSpeed),r(2),D(g.invalid&&(g.dirty||g.touched)?87:-1),r(11),_("ngModel",e.facade.settings.display.windIndicator),r(),S(e.options.windIndicator),r(14),h("disabled",!e.app.serverConfig.unitPreferences()),_("ngModel",e.facade.settings.units.useServerPrefs),r(8),h("disabled",e.facade.settings.units.useServerPrefs),_("ngModel",e.facade.settings.units.distance),r(2),S(e.options.availableUnits.distance),r(6),h("disabled",e.facade.settings.units.useServerPrefs),_("ngModel",e.facade.settings.units.depth),r(),S(e.options.availableUnits.depth),r(6),h("disabled",e.facade.settings.units.useServerPrefs),_("ngModel",e.facade.settings.units.length),r(),S(e.options.availableUnits.length),r(6),h("disabled",e.facade.settings.units.useServerPrefs),_("ngModel",e.facade.settings.units.temperature),r(),S(e.options.availableUnits.temperature),r(6),h("disabled",e.facade.settings.units.useServerPrefs),_("ngModel",e.facade.settings.units.speed),r(),S(e.options.availableUnits.speed),r(3),D(e.options.preferredValues.coords.length!==0?154:-1),r(),D(e.options.preferredValues.heading.length!==0?155:-1),r(16),_("ngModel",e.facade.settings.map.labelsMinZoom),r(),S(e.options.zoomLevels),r(6),_("ngModel",e.facade.settings.map.centerOffset),r(),S(e.options.map.centerOffset),r(3),_("ngModel",e.facade.settings.map.popoverMulti),r(3),_("ngModel",e.facade.settings.map.doubleClickZoom),r(3),_("ngModel",e.facade.settings.map.overZoomTiles),r(3),_("ngModel",e.facade.settings.map.lockMoveMap),r(11),_("ngModel",e.facade.settings.map.s57Options.graphicsStyle),r(),S(e.options.map.s57.graphicsStyle),r(6),_("ngModel",e.facade.settings.map.s57Options.boundaries),r(),S(e.options.map.s57.boundaries),r(6),_("ngModel",e.facade.settings.map.s57Options.colorTable),r(),S(e.options.map.s57.colorTables),r(6),_("ngModel",e.facade.settings.map.s57Options.colors),r(),S(e.options.map.s57.colors),r(7),_("ngModel",e.facade.settings.map.s57Options.shallowDepth),r(2),D(t.invalid&&(t.dirty||t.touched)?233:-1),r(7),_("ngModel",e.facade.settings.map.s57Options.safetyDepth),r(2),D(ne.invalid&&(ne.dirty||ne.touched)?242:-1),r(7),_("ngModel",e.facade.settings.map.s57Options.deepDepth),r(2),D(ae.invalid&&(ae.dirty||ae.touched)?251:-1),r(7),_("ngModel",e.facade.settings.map.s57Options.otherLayers),r(),S(e.options.map.s57.otherLayers),r(15),_("ngModel",e.facade.settings.course.arrivalCircle),r(2),D(oe.invalid&&(oe.dirty||oe.touched)?276:-1),r(5),_("ngModel",e.facade.settings.course.autoNextPointOnArrival),r(8),h("disabled",de.checked===!1),_("ngModel",e.facade.settings.course.autoNextPointTrigger),r(2),S(e.options.course.nextPointTrigger),r(6),h("disabled",de.checked===!1),_("ngModel",e.facade.settings.course.autoNextPointDelay),r(),S(e.options.course.nextPointDelay),r(17),_("ngModel",e.facade.settings.vessels.iconScale),r(),S(e.options.vessel.selfIconScale),r(5),_("ngModel",e.facade.settings.vessels.fixedLocationMode),r(8),_("ngModel",e.facade.fixedPosition[1]),h("disabled",!ge.checked),r(2),D(re.invalid&&(re.dirty||re.touched)?331:-1),r(4),_("ngModel",e.facade.fixedPosition[0]),h("disabled",!ge.checked),r(2),D(se.invalid&&(se.dirty||se.touched)?337:-1),r(9),_("ngModel",e.facade.settings.vessels.windVectors),r(2),_("ngModel",e.facade.settings.vessels.laylines),r(12),_("ngModel",e.facade.settings.vessels.selfLines.heading.length),r(),S(e.options.vessel.headingLine),r(3),h("color",e.facade.settings.vessels.selfLines.heading.color)("dash",e.facade.settings.vessels.selfLines.heading.dash)("weight",e.facade.settings.vessels.selfLines.heading.weight),r(11),_("ngModel",e.facade.settings.vessels.selfLines.cog.length),r(),S(e.options.vessel.cogLine),r(3),h("color",e.facade.settings.vessels.selfLines.cog.color)("dash",e.facade.settings.vessels.selfLines.cog.dash)("weight",e.facade.settings.vessels.selfLines.cog.weight),r(4),_("ngModel",e.facade.settings.vessels.rangeCircles),r(7),_("ngModel",e.facade.settings.vessels.rangeCircleCount),h("disabled",!e.facade.settings.vessels.rangeCircles),r(),S(e.options.rangeCircles.count),r(6),_("ngModel",e.facade.settings.vessels.rangeCircleMinZoom),h("disabled",!e.facade.settings.vessels.rangeCircles),r(),S(e.options.rangeCircles.zoomLevels),r(4),_("ngModel",e.facade.settings.vessels.rangeCirclesFixed),h("disabled",!e.facade.settings.vessels.rangeCircles),r(5),V(" Distance between circles (",e.renderSymbol(e.facade.settings.units.distance),") "),r(),_("ngModel",e.formattedNumberModel.rangeCirclesDistance),h("disabled",!e.facade.settings.vessels.rangeCircles||!e.facade.settings.vessels.rangeCirclesFixed),r(2),D(le.invalid&&(le.dirty||le.touched)?410:-1),r(7),_("ngModel",e.facade.settings.vessels.trail),r(4),h("disabled",!e.facade.settings.vessels.trail),_("ngModel",e.facade.settings.vessels.trailFromServer),r(3),h("disabled",!e.facade.settings.vessels.trailFromServer||!e.facade.settings.vessels.trail),r(),_("ngModel",e.facade.settings.vessels.trailDuration),r(),V(" Length (",e.facade.settings.vessels.trailDuration," hrs) "),r(6),_("ngModel",e.facade.settings.vessels.trailResolution.lastHour),h("disabled",!e.facade.settings.vessels.trailFromServer||!e.facade.settings.vessels.trail),r(),S(e.options.trailIntervals.highResolution),r(6),_("ngModel",e.facade.settings.vessels.trailResolution.next23),h("disabled",!e.facade.settings.vessels.trailFromServer||!e.facade.settings.vessels.trail),r(),S(e.options.trailIntervals.highResolution),r(6),_("ngModel",e.facade.settings.vessels.trailResolution.beyond24),h("disabled",!e.facade.settings.vessels.trailFromServer||!e.facade.settings.vessels.trail),r(),S(e.options.trailIntervals.mediumResolution),r(8),_("ngModel",e.facade.settings.vessels.aisShowTrack),r(3),_("ngModel",e.aisStateFilter.moored),r(3),_("ngModel",e.aisStateFilter.anchored),r(7),_("ngModel",e.facade.settings.vessels.aisStaleAge),r(),S(e.options.vessel.aisTimeouts),r(6),_("ngModel",e.facade.settings.vessels.aisMaxAge),r(),S(e.options.vessel.aisTimeouts),r(6),_("ngModel",e.facade.settings.vessels.aisWindApparent),r(),S(e.options.preferredValues.wind),r(6),_("ngModel",e.facade.settings.vessels.aisWindMinZoom),r(),S(e.options.zoomLevels),r(6),_("ngModel",e.facade.settings.vessels.aisCogLine),r(),S(e.options.vessel.aisCogLine),r(12),_("ngModel",e.facade.settings.ui.showNotes),r(6),h("disabled",!e.facade.settings.ui.showNotes),_("value",e.facade.settings.resources.notes.minZoom),r(),S(e.options.zoomLevels),r(6),C("Fetch Notes radius: ("+e.options.availableUnits.distance.get(o.value)+")"),r(),h("disabled",!e.facade.settings.ui.showNotes),_("ngModel",e.facade.settings.resources.notes.getRadius),r(),S(e.options.resources.noteRadius),r(7),_("ngModel",e.facade.settings.resources.notes.rootFilter),r(2),D(lt.value?533:-1),r(3),_("ngModel",e.facade.settings.resources.notes.groupNameEdit),r(3),_("ngModel",e.facade.settings.resources.notes.groupRequiresPosition),r(13),S(e.facade.resourcePathList),r(2),D(e.app.featureFlags().radarApi?554:-1),r(19),_("ngModel",e.facade.settings.signalk.vessels),r(3),_("ngModel",e.facade.settings.signalk.atons),r(3),_("ngModel",e.facade.settings.signalk.aircraft),r(3),_("ngModel",e.facade.settings.signalk.sar),r(3),_("ngModel",e.facade.settings.signalk.meteo),r(7),_("ngModel",e.facade.settings.signalk.maxRadius),r(2),S(e.options.vessel.aisMaxRadius),r(17),_("ngModel",e.facade.settings.resources.video.enable),r(6),h("disabled",!e.facade.settings.resources.video.enable),_("ngModel",e.facade.settings.resources.video.url),r(2),D(dt.invalid?619:-1),r(3),_("ngModel",e.facade.settings.experiments)}},dependencies:[H,U,ve,G,De,Ee,Te,be,Z,Se,ye,Ae,Fe,ee,$e,$,Ie,Oe,Be,Pe,Ve,ke,We,N,Me,Ce,R,we,K,xe,it,et,tt,Xe,Q,q,z,Ne,Re,J,Y,Ue,X,j,Le,He,Ze,Qe,Ye,Je,ie,te],styles:["[_nghost-%COMP%] .mat-dialog-content{padding:0 4px}[_nghost-%COMP%] .mat-mdc-dialog-content{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;max-height:none;overflow:hidden}[_nghost-%COMP%] .mat-mdc-dialog-content .mat-mdc-tab-group, [_nghost-%COMP%] .mat-mdc-dialog-content .mat-mdc-tab-body-wrapper{flex:1 1 auto;min-height:0}.settings[_ngcontent-%COMP%] .setting-group-title[_ngcontent-%COMP%]{font-weight:700;font-size:10pt;font-family:Arial,Helvetica,sans-serif;padding:10px 0}.setting-card-row[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap}.settings[_ngcontent-%COMP%] .setting-card-row-item[_ngcontent-%COMP%]{padding-right:15px;flex:1 1 auto}@media only screen and (max-width:599px){.settings[_ngcontent-%COMP%] .setting-group[_ngcontent-%COMP%]{padding:5px 5%}}@media only screen and (min-width:600px)and (max-width:959px),screen and (min-width:960px)and (max-width:1279px),screen and (min-width:1280px)and (max-width:1919px),screen and (min-width:1920px)and (max-width:5000px){.settings[_ngcontent-%COMP%] .setting-group[_ngcontent-%COMP%]{padding:5px 5%}}"]})};export{st as SettingsDialog};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Aa as a}from"./chunk-
|
|
1
|
+
import{Aa as a}from"./chunk-RXMZCTQL.js";import"./chunk-IURS3QQO.js";import"./chunk-4BXCQ655.js";import"./chunk-LXTM3LEN.js";import"./chunk-IYNTZMNB.js";import"./chunk-3CRIFTHA.js";import"./chunk-UF7LOYCE.js";import"./chunk-XHEJEIFO.js";import"./chunk-I3OUN6B4.js";import"./chunk-WX7YZB5N.js";import"./chunk-4BSA3TDQ.js";import"./chunk-EQVTEUXC.js";export{a as GeoJSONImportDialog};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as ue,b as w,c as me,d as he,e as fe}from"./chunk-FEIJMPL7.js";import{A as ce,B as de,g as z,h as ee,i as te,j as ie,k as ae,l as ne,o as re,s as le,x as pe}from"./chunk-OTJKIGKW.js";import{a as N,b as se,c as oe}from"./chunk-IURS3QQO.js";import{b as H}from"./chunk-4BXCQ655.js";import{i as q,j as J,k as Q}from"./chunk-LXTM3LEN.js";import"./chunk-IYNTZMNB.js";import{a as U}from"./chunk-3CRIFTHA.js";import"./chunk-UF7LOYCE.js";import"./chunk-XHEJEIFO.js";import"./chunk-I3OUN6B4.js";import{j as Y,o as Z}from"./chunk-WX7YZB5N.js";import{Dd as X,Ea as _,Ed as F,Fa as k,Ha as v,Hd as V,Ia as b,Ja as C,Jd as I,Ka as f,L as R,La as s,Ma as r,P as D,Q as m,R as h,Rd as K,Td as B,Ua as x,Wa as g,Wd as $,Ya as d,Yd as A,Zd as j,c as E,gb as T,ja as p,lb as c,mb as W,nb as G,oa as y,pe as L,ra as O}from"./chunk-4BSA3TDQ.js";import{f as M}from"./chunk-EQVTEUXC.js";var P=class{gpx;constructor(){this.init()}init(){this.gpx=new ue,this.gpx.metadata.name="Signal K Resource Export",this.gpx.metadata.desc="Freeboard export of Signal K resources"}toXML(){return this.gpx.toXML()}setRoutes(i,t){if(t)t.forEach(e=>{i[e]&&this.gpx.rte.push(this.packageRoute(e,i[e]))});else for(let e in i)this.gpx.rte.push(this.packageRoute(e,i[e]))}packageRoute(i,t){let e=new me;e.extensions=e.extensions??{},e.extensions.signalk={},e.extensions.signalk.uuid=i,t.distance&&(e.extensions.signalk.distance=t.distance),e.name=t.name||null,e.desc=t.description||null,e.cmt=t.feature.properties.cmt||null,e.src=t.feature.properties.src||null,e.number=t.feature.properties.number||null,e.type=t.feature.properties.type||null;for(let a of t.feature.geometry.coordinates){let n=new w;n.lon=a[0],n.lat=a[1],n.ele=a[2]||null,e.rtept.push(n),this.gpx.updateBounds(n)}return e}setWaypoints(i,t){if(t)t.forEach(e=>{i[e]&&this.gpx.wpt.push(this.packageWaypoint(e,i[e]))});else for(let e in i)this.gpx.wpt.push(this.packageWaypoint(e,i[e]))}packageWaypoint(i,t){let e=new w;if(e.extensions=e.extensions||{},e.extensions.signalk={},e.extensions.signalk.uuid=i,e.name=t.name||"",e.desc=t.description||"",e.cmt=t.feature.properties.cmt||null,e.geoidHeight=t.feature.properties.geoidHeight||null,e.src=t.feature.properties.src||null,e.sym=t.feature.properties.sym||null,e.type=t.feature.properties.type||null,t.type==="waypoint"){let a=le(t.feature.properties.skIcon);a?.gpxType&&(e.type=a.gpxType),a?.gpxSym&&(e.sym=a.gpxSym)}return e.fix=t.feature.properties.fix||null,e.sat=t.feature.properties.sat||null,e.hdop=t.feature.properties.hdop||null,e.vdop=t.feature.properties.vdop||null,e.pdop=t.feature.properties.pdop||null,e.ageOfGpsData=t.feature.properties.ageOfGpsData||null,e.dgpsid=t.feature.properties.dgpsid||null,e.lat=t.feature.geometry.coordinates[1],e.lon=t.feature.geometry.coordinates[0],e.ele=t.feature.geometry.coordinates[2]||null,this.gpx.updateBounds(e),e}setTracks(i,t){if(t)t.forEach(e=>{i[e]&&this.gpx.trk.push(this.packageTrack(e,i[e]))});else for(let e in i)this.gpx.trk.push(this.packageTrack(e,i[e]))}packageTrack(i,t){let e=new he;e.extensions=e.extensions||{},e.extensions.signalk={},e.extensions.signalk.uuid=i,e.name=t.feature.properties.name||null,e.desc=t.feature.properties.description||null,e.cmt=t.feature.properties.cmt||null,e.src=t.feature.properties.src||null,e.number=t.feature.properties.number||null,e.type=t.feature.properties.type||null;for(let a of t.feature.geometry.coordinates){let n=new fe;for(let o of a){let u=new w;u.lon=o[0],u.lat=o[1],u.ele=o[2]||null,n.trkpt.push(u),this.gpx.updateBounds(u)}e.trkseg.push(n)}return e}};var S=class l{resultSource;result$;sk2gpx;hasFSA;signalk=D(re);constructor(){this.resultSource=new E,this.result$=this.resultSource.asObservable(),this.hasFSA="showOpenFilePicker"in window}clear(){this.sk2gpx=null}prepData(i){let t={routes:[],waypoints:[],tracks:[]},e=1;return t.routes=i.routes.map(a=>{let n=a[1];return n.feature.id=a[0],n}),e=1,t.waypoints=i.waypoints.map(a=>{let n=a[1];return n.feature.id=a[0],n.name=n.name??`Wpt: ${e}`,e++,n}),t.tracks=i.tracks,t}saveToFile(i,t){this.sk2gpx=new P;let e={},a={},n={};for(let o=0;o<t.rte.selected.length;o++)t.rte.selected[o]&&(e[i.routes[o].feature.id]=i.routes[o]);this.sk2gpx.setRoutes(e);for(let o=0;o<t.wpt.selected.length;o++)t.wpt.selected[o]&&(a[i.waypoints[o].feature.id]=i.waypoints[o]);this.sk2gpx.setWaypoints(a);for(let o=0;o<t.trk.selected.length;o++)if(t.trk.selected[o]){let u=this.signalk.uuid;n[u]=new ce,n[u].feature.id=u,n[u].feature.properties.name=`Vessel trail: ${Date().toString()}`,n[u].feature.geometry.coordinates.push(i.tracks[o])}this.sk2gpx.setTracks(n),this.hasFSA?this.fsaSaveFile():this.legacySaveToFile()}legacySaveToFile(){let i=new Blob([this.sk2gpx.toXML()],{type:"text/xml"}),t=document.createElement("a");t.href=URL.createObjectURL(i),t.download="fb_export.gpx",t.click(),URL.revokeObjectURL(t.href),t.remove(),this.resultSource.next(-1)}fsaSaveFile(){window.showSaveFilePicker({types:[{description:"GPX file",accept:{"text/xml":[".gpx"]}}]}).then(i=>{i.createWritable().then(t=>{let e=new Blob([this.sk2gpx.toXML()]);t.write(e).then(()=>{t.close(),this.resultSource.next(0)})}).catch(t=>{console.warn(t),this.resultSource.next(1)})}).catch(()=>{this.resultSource.next(-1)})}static \u0275fac=function(t){return new(t||l)};static \u0275prov=R({token:l,factory:l.\u0275fac,providedIn:"root"})};function _e(l,i){if(l&1){let t=x();s(0,"div",18)(1,"div",19),c(2),r(),s(3,"div",20)(4,"mat-checkbox",21,0),g("change",function(){let a=m(t).$index,n=T(5),o=d(2);return h(o.checkWpt(n.checked,a))}),r()()()}if(l&2){let t=i.$implicit,e=i.$index,a=d(2);p(2),W(t.name),p(2),f("checked",a.selWaypoints[e])}}function ke(l,i){if(l&1){let t=x();s(0,"div",11)(1,"mat-expansion-panel",12),g("opened",function(){m(t);let a=d();return h(a.display.expand.waypoints=!0)})("closed",function(){m(t);let a=d();return h(a.display.expand.waypoints=!1)}),s(2,"mat-expansion-panel-header",13)(3,"mat-panel-title")(4,"mat-icon",14),c(5,"place"),r(),c(6," \xA0"),s(7,"b"),c(8,"Waypoints:"),r()(),s(9,"mat-panel-description")(10,"div",15)(11,"mat-checkbox",16),g("change",function(a){m(t);let n=d();return h(n.checkWpt(a.checked,-1))})("click",function(a){return a.cancelBubble=!0}),r()()()(),s(12,"div",17),b(13,_e,6,2,"div",18,v),r()()()}if(l&2){let t=d();p(),f("expanded",t.display.expand.waypoints),p(10),f("indeterminate",t.display.someWptChecked)("checked",t.display.allWaypointsChecked)("disabled",t.resData.waypoints.length===0),p(2),C(t.resData.waypoints)}}function ve(l,i){if(l&1){let t=x();s(0,"div",18)(1,"div",19)(2,"mat-icon",22),c(3,"directions"),r(),c(4),r(),s(5,"div",20)(6,"mat-checkbox",24,1),g("change",function(){let a=m(t).$index,n=T(7),o=d(2);return h(o.checkRte(n.checked,a))}),r()()()}if(l&2){let t=i.$implicit,e=i.$index,a=d(2);p(4),G(" ",t.name," "),p(2),f("checked",a.selRoutes[e])}}function be(l,i){if(l&1){let t=x();s(0,"div",11)(1,"mat-expansion-panel",12),g("opened",function(){m(t);let a=d();return h(a.display.expand.routes=!0)})("closed",function(){m(t);let a=d();return h(a.display.expand.routes=!1)}),s(2,"mat-expansion-panel-header",13)(3,"mat-panel-title")(4,"mat-icon",22),c(5,"directions"),r(),c(6," \xA0"),s(7,"b"),c(8,"Routes:"),r()(),s(9,"mat-panel-description")(10,"div",15)(11,"mat-checkbox",23),g("change",function(a){m(t);let n=d();return h(n.checkRte(a.checked,-1))})("click",function(a){return a.cancelBubble=!0}),r()()()(),s(12,"div",17),b(13,ve,8,2,"div",18,v),r()()()}if(l&2){let t=d();p(),f("expanded",t.display.expand.routes),p(10),f("indeterminate",t.display.someRteChecked)("checked",t.display.allRoutesChecked)("disabled",t.resData.routes.length==0),p(2),C(t.resData.routes)}}function Ce(l,i){if(l&1){let t=x();s(0,"div",18)(1,"div",19)(2,"mat-icon",26),c(3,"directions_boat"),r(),c(4," Vessel Trail "),r(),s(5,"div",20)(6,"mat-checkbox",28,2),g("change",function(){let a=m(t).$index,n=T(7),o=d(2);return h(o.checkTrk(n.checked,a))}),r()()()}if(l&2){let t=i.$index,e=d(2);p(6),f("checked",e.selTracks[t])}}function Te(l,i){if(l&1){let t=x();s(0,"div",11)(1,"mat-expansion-panel",25)(2,"mat-expansion-panel-header",13)(3,"mat-panel-title")(4,"mat-icon",26),c(5,"show_chart"),r(),c(6," \xA0"),s(7,"b"),c(8,"Tracks:"),r()(),s(9,"mat-panel-description")(10,"div",15)(11,"mat-checkbox",27),g("change",function(a){m(t);let n=d();return h(n.checkTrk(a.checked,-1))})("click",function(a){return a.cancelBubble=!0}),r()()()(),s(12,"div",17),b(13,Ce,8,1,"div",18,v),r()()()}if(l&2){let t=d();p(),f("expanded",!1),p(10),f("indeterminate",!1)("checked",t.display.allTracksChecked)("disabled",t.resData.tracks.length==0),p(2),C(t.resData.tracks)}}var ge=class l{constructor(i,t,e,a,n){this.app=i;this.skres=t;this.facade=e;this.dialogRef=a;this.data=n}resData={routes:[],waypoints:[],tracks:[]};selRoutes=[];selectedRoute=null;selWaypoints=[];selTracks=[];display={notValid:!1,allRoutesChecked:!1,allWaypointsChecked:!1,allTracksChecked:!1,someWptChecked:!1,someRteChecked:!1,someTrkChecked:!1,saveRoutesOK:!1,saveWaypointsOK:!1,saveTracksOK:!1,routeViewer:!1,selCount:{routes:0,waypoints:0,tracks:0},expand:{routes:!1,waypoints:!1,tracks:!1}};unsubscribe=[];ngOnInit(){this.loadResources(),this.unsubscribe.push(this.facade.result$.subscribe(i=>{this.dialogRef.close(i)}))}ngOnDestroy(){this.unsubscribe.forEach(i=>i.unsubscribe()),this.facade.clear()}loadResources(){return M(this,null,function*(){this.data.routes.sort((i,t)=>i[1].name.localeCompare(t[1].name));try{this.app.sIsFetching.set(!0);let i=yield this.skres.listFromServer("waypoints");i.sort((t,e)=>t[1].name.localeCompare(e[1].name)),this.data.waypoints=i,this.app.sIsFetching.set(!1)}catch(i){this.app.sIsFetching.set(!1),this.resData.waypoints=[]}this.parseResourceData()})}save(){this.facade.saveToFile(this.resData,{rte:{selected:this.selRoutes},wpt:{selected:this.selWaypoints},trk:{selected:this.selTracks}})}parseResourceData(){this.display.allRoutesChecked=!1,this.display.saveRoutesOK=!1,this.selRoutes=[],this.display.allWaypointsChecked=!1,this.display.saveWaypointsOK=!1,this.selWaypoints=[],this.display.allTracksChecked=!1,this.display.saveTracksOK=!1,this.selTracks=[],this.display.selCount={routes:0,waypoints:0,tracks:0},this.display.expand={routes:!1,waypoints:!1,tracks:!1},this.display.notValid=!1,this.resData=this.facade.prepData(this.data),this.resData.routes.forEach(()=>{this.selRoutes.push(!1)}),this.selRoutes.length===1&&(this.selRoutes[0]=!0,this.display.allRoutesChecked=!0,this.display.expand.routes=!0,this.display.saveRoutesOK=!0),this.resData.waypoints.forEach(()=>{this.selWaypoints.push(!1)}),this.selTracks.push(!1)}checkRte(i,t=-1){let e=0;if(t!==-1){this.selRoutes[t]=i,this.display.saveRoutesOK=i;for(let a of this.selRoutes)a&&e++;this.display.saveRoutesOK=e!==0,this.display.selCount.routes=e,this.display.allRoutesChecked=e===this.selRoutes.length}else{for(let a=0;a<this.selRoutes.length;a++)this.selRoutes[a]=i,this.display.saveRoutesOK=i,this.display.allRoutesChecked=i;this.display.selCount.routes=i?this.selRoutes.length:0}this.display.someRteChecked=!(this.display.allRoutesChecked||e===0)}checkWpt(i,t=-1){let e=0;if(t!==-1){this.selWaypoints[t]=i,this.display.saveWaypointsOK=i;for(let a of this.selWaypoints)a&&e++;this.display.saveWaypointsOK=e!==0,this.display.selCount.waypoints=e,this.display.allWaypointsChecked=e===this.selWaypoints.length}else{for(let a=0;a<this.selWaypoints.length;a++)this.selWaypoints[a]=i,this.display.saveWaypointsOK=i,this.display.allWaypointsChecked=i;this.display.selCount.waypoints=i?this.selWaypoints.length:0}this.display.someWptChecked=!(this.display.allWaypointsChecked||e===0)}checkTrk(i,t=-1){let e=0;if(t!==-1){this.selTracks[t]=i,this.display.saveTracksOK=i;for(let a of this.selTracks)a&&e++;this.display.saveTracksOK=e!==0,this.display.selCount.tracks=e,this.display.allTracksChecked=e===this.selTracks.length}else{for(let a=0;a<this.selTracks.length;a++)this.selTracks[a]=i,this.display.saveTracksOK=i,this.display.allTracksChecked=i;this.display.selCount.tracks=i?this.selTracks.length:0}this.display.someTrkChecked=!(this.display.allTracksChecked||e===0)}static \u0275fac=function(t){return new(t||l)(y(pe),y(de),y(S),y(X),y(F))};static \u0275cmp=O({type:l,selectors:[["gpxsave-dialog"]],decls:18,vars:4,consts:[["wval",""],["rval",""],["tval",""],[1,"gpxsave-dialog"],[2,"background-color","transparent"],[2,"display","flex","width","100%"],["mat-raised-button","","matTooltip","Save selected resources","matTooltipPosition","right",2,"width","85px",3,"click","disabled"],[2,"flex","1 1 auto","text-align","center"],[2,"text-align","right"],["mat-icon-button","",3,"click"],["mat-dialog-content","",2,"padding","2px"],[1,"card-group"],[3,"opened","closed","expanded"],[1,"panel-header"],[1,"icon-waypoint"],[1,"panel-description"],["matTooltip","Select all Waypoints","matTooltipPosition","before",3,"change","click","indeterminate","checked","disabled"],[1,"list-container-scrollable"],[1,"item-row"],[1,"name"],[1,"check"],["matTooltip","Select Waypoint","matTooltipPosition","below",3,"change","checked"],[1,"icon-route"],["matTooltip","Select all Routes","matTooltipPosition","before",3,"change","click","indeterminate","checked","disabled"],["matTooltip","Select this Route","matTooltipPosition","below",3,"change","checked"],[3,"expanded"],[1,"icon-track"],["matTooltip","Vessel Trail to Track","matTooltipPosition","before",3,"change","click","indeterminate","checked","disabled"],["matTooltip","Select this Track","matTooltipPosition","below",3,"change","checked"]],template:function(t,e){t&1&&(s(0,"div",3)(1,"mat-toolbar",4)(2,"div",5)(3,"div")(4,"button",6),g("click",function(){return e.save()}),s(5,"mat-icon"),c(6,"save"),r(),c(7,"\xA0Save\xA0 "),r()(),s(8,"div",7),c(9,"Export to GPX"),r(),s(10,"div",8)(11,"button",9),g("click",function(){return e.dialogRef.close(-1)}),s(12,"mat-icon"),c(13,"close"),r()()()()(),s(14,"div",10),_(15,ke,15,4,"div",11),_(16,be,15,4,"div",11),_(17,Te,15,4,"div",11),r()()),t&2&&(p(4),f("disabled",!e.display.saveRoutesOK&&!e.display.saveWaypointsOK&&!e.display.saveTracksOK),p(11),k(e.resData.waypoints.length!==0?15:-1),p(),k(e.resData.routes.length!==0?16:-1),p(),k(!e.app.data.serverTrail&&e.resData.tracks.length!==0?17:-1))},dependencies:[oe,se,z,I,V,j,A,$,B,K,q,Y,Z,H,ne,ee,te,ae,ie,Q,J,N,U,L],styles:[".gpxsave-dialog[_ngcontent-%COMP%]{font-family:roboto;position:relative}.dialog-content[_ngcontent-%COMP%]{position:relative;min-height:300px;max-height:400px;width:100%;min-width:240px;overflow-y:auto}.dialog-icon[_ngcontent-%COMP%]{display:none}.card-group[_ngcontent-%COMP%]{padding:5px 5%}.card-group[_ngcontent-%COMP%] .panel-header[_ngcontent-%COMP%]{padding:0 5px}.card-group[_ngcontent-%COMP%] .panel-description[_ngcontent-%COMP%]{text-align:right;width:100%;padding-right:10px}.card-group-title[_ngcontent-%COMP%]{font-weight:700;font-size:10pt;font-family:Arial,Helvetica,sans-serif;padding:10px 0}button[_ngcontent-%COMP%]{min-width:unset;padding:unset}.item-row[_ngcontent-%COMP%]{display:flex;width:100%;padding:2px 0}.item-row[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{flex:1 1 auto;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;text-overflow:ellipsis;line-height:2.5em}.item-row[_ngcontent-%COMP%] .check[_ngcontent-%COMP%]{text-align:right;padding-right:15px}@media only screen and (min-width:475px){button[_ngcontent-%COMP%]{min-width:inherit;padding:inherit}.dialog-content[_ngcontent-%COMP%]{min-width:400px}.dialog-icon[_ngcontent-%COMP%]{display:inline}}@media only screen and (min-width:800px){.card-group[_ngcontent-%COMP%]{padding:5px 5%}}"]})};export{ge as GPXExportDialog};
|
|
1
|
+
import{a as ue,b as w,c as me,d as he,e as fe}from"./chunk-FEIJMPL7.js";import{A as ce,B as de,g as z,h as ee,i as te,j as ie,k as ae,l as ne,o as re,s as le,x as pe}from"./chunk-RXMZCTQL.js";import{a as N,b as se,c as oe}from"./chunk-IURS3QQO.js";import{b as H}from"./chunk-4BXCQ655.js";import{i as q,j as J,k as Q}from"./chunk-LXTM3LEN.js";import"./chunk-IYNTZMNB.js";import{a as U}from"./chunk-3CRIFTHA.js";import"./chunk-UF7LOYCE.js";import"./chunk-XHEJEIFO.js";import"./chunk-I3OUN6B4.js";import{j as Y,o as Z}from"./chunk-WX7YZB5N.js";import{Dd as X,Ea as _,Ed as F,Fa as k,Ha as v,Hd as V,Ia as b,Ja as C,Jd as I,Ka as f,L as R,La as s,Ma as r,P as D,Q as m,R as h,Rd as K,Td as B,Ua as x,Wa as g,Wd as $,Ya as d,Yd as A,Zd as j,c as E,gb as T,ja as p,lb as c,mb as W,nb as G,oa as y,pe as L,ra as O}from"./chunk-4BSA3TDQ.js";import{f as M}from"./chunk-EQVTEUXC.js";var P=class{gpx;constructor(){this.init()}init(){this.gpx=new ue,this.gpx.metadata.name="Signal K Resource Export",this.gpx.metadata.desc="Freeboard export of Signal K resources"}toXML(){return this.gpx.toXML()}setRoutes(i,t){if(t)t.forEach(e=>{i[e]&&this.gpx.rte.push(this.packageRoute(e,i[e]))});else for(let e in i)this.gpx.rte.push(this.packageRoute(e,i[e]))}packageRoute(i,t){let e=new me;e.extensions=e.extensions??{},e.extensions.signalk={},e.extensions.signalk.uuid=i,t.distance&&(e.extensions.signalk.distance=t.distance),e.name=t.name||null,e.desc=t.description||null,e.cmt=t.feature.properties.cmt||null,e.src=t.feature.properties.src||null,e.number=t.feature.properties.number||null,e.type=t.feature.properties.type||null;for(let a of t.feature.geometry.coordinates){let n=new w;n.lon=a[0],n.lat=a[1],n.ele=a[2]||null,e.rtept.push(n),this.gpx.updateBounds(n)}return e}setWaypoints(i,t){if(t)t.forEach(e=>{i[e]&&this.gpx.wpt.push(this.packageWaypoint(e,i[e]))});else for(let e in i)this.gpx.wpt.push(this.packageWaypoint(e,i[e]))}packageWaypoint(i,t){let e=new w;if(e.extensions=e.extensions||{},e.extensions.signalk={},e.extensions.signalk.uuid=i,e.name=t.name||"",e.desc=t.description||"",e.cmt=t.feature.properties.cmt||null,e.geoidHeight=t.feature.properties.geoidHeight||null,e.src=t.feature.properties.src||null,e.sym=t.feature.properties.sym||null,e.type=t.feature.properties.type||null,t.type==="waypoint"){let a=le(t.feature.properties.skIcon);a?.gpxType&&(e.type=a.gpxType),a?.gpxSym&&(e.sym=a.gpxSym)}return e.fix=t.feature.properties.fix||null,e.sat=t.feature.properties.sat||null,e.hdop=t.feature.properties.hdop||null,e.vdop=t.feature.properties.vdop||null,e.pdop=t.feature.properties.pdop||null,e.ageOfGpsData=t.feature.properties.ageOfGpsData||null,e.dgpsid=t.feature.properties.dgpsid||null,e.lat=t.feature.geometry.coordinates[1],e.lon=t.feature.geometry.coordinates[0],e.ele=t.feature.geometry.coordinates[2]||null,this.gpx.updateBounds(e),e}setTracks(i,t){if(t)t.forEach(e=>{i[e]&&this.gpx.trk.push(this.packageTrack(e,i[e]))});else for(let e in i)this.gpx.trk.push(this.packageTrack(e,i[e]))}packageTrack(i,t){let e=new he;e.extensions=e.extensions||{},e.extensions.signalk={},e.extensions.signalk.uuid=i,e.name=t.feature.properties.name||null,e.desc=t.feature.properties.description||null,e.cmt=t.feature.properties.cmt||null,e.src=t.feature.properties.src||null,e.number=t.feature.properties.number||null,e.type=t.feature.properties.type||null;for(let a of t.feature.geometry.coordinates){let n=new fe;for(let o of a){let u=new w;u.lon=o[0],u.lat=o[1],u.ele=o[2]||null,n.trkpt.push(u),this.gpx.updateBounds(u)}e.trkseg.push(n)}return e}};var S=class l{resultSource;result$;sk2gpx;hasFSA;signalk=D(re);constructor(){this.resultSource=new E,this.result$=this.resultSource.asObservable(),this.hasFSA="showOpenFilePicker"in window}clear(){this.sk2gpx=null}prepData(i){let t={routes:[],waypoints:[],tracks:[]},e=1;return t.routes=i.routes.map(a=>{let n=a[1];return n.feature.id=a[0],n}),e=1,t.waypoints=i.waypoints.map(a=>{let n=a[1];return n.feature.id=a[0],n.name=n.name??`Wpt: ${e}`,e++,n}),t.tracks=i.tracks,t}saveToFile(i,t){this.sk2gpx=new P;let e={},a={},n={};for(let o=0;o<t.rte.selected.length;o++)t.rte.selected[o]&&(e[i.routes[o].feature.id]=i.routes[o]);this.sk2gpx.setRoutes(e);for(let o=0;o<t.wpt.selected.length;o++)t.wpt.selected[o]&&(a[i.waypoints[o].feature.id]=i.waypoints[o]);this.sk2gpx.setWaypoints(a);for(let o=0;o<t.trk.selected.length;o++)if(t.trk.selected[o]){let u=this.signalk.uuid;n[u]=new ce,n[u].feature.id=u,n[u].feature.properties.name=`Vessel trail: ${Date().toString()}`,n[u].feature.geometry.coordinates.push(i.tracks[o])}this.sk2gpx.setTracks(n),this.hasFSA?this.fsaSaveFile():this.legacySaveToFile()}legacySaveToFile(){let i=new Blob([this.sk2gpx.toXML()],{type:"text/xml"}),t=document.createElement("a");t.href=URL.createObjectURL(i),t.download="fb_export.gpx",t.click(),URL.revokeObjectURL(t.href),t.remove(),this.resultSource.next(-1)}fsaSaveFile(){window.showSaveFilePicker({types:[{description:"GPX file",accept:{"text/xml":[".gpx"]}}]}).then(i=>{i.createWritable().then(t=>{let e=new Blob([this.sk2gpx.toXML()]);t.write(e).then(()=>{t.close(),this.resultSource.next(0)})}).catch(t=>{console.warn(t),this.resultSource.next(1)})}).catch(()=>{this.resultSource.next(-1)})}static \u0275fac=function(t){return new(t||l)};static \u0275prov=R({token:l,factory:l.\u0275fac,providedIn:"root"})};function _e(l,i){if(l&1){let t=x();s(0,"div",18)(1,"div",19),c(2),r(),s(3,"div",20)(4,"mat-checkbox",21,0),g("change",function(){let a=m(t).$index,n=T(5),o=d(2);return h(o.checkWpt(n.checked,a))}),r()()()}if(l&2){let t=i.$implicit,e=i.$index,a=d(2);p(2),W(t.name),p(2),f("checked",a.selWaypoints[e])}}function ke(l,i){if(l&1){let t=x();s(0,"div",11)(1,"mat-expansion-panel",12),g("opened",function(){m(t);let a=d();return h(a.display.expand.waypoints=!0)})("closed",function(){m(t);let a=d();return h(a.display.expand.waypoints=!1)}),s(2,"mat-expansion-panel-header",13)(3,"mat-panel-title")(4,"mat-icon",14),c(5,"place"),r(),c(6," \xA0"),s(7,"b"),c(8,"Waypoints:"),r()(),s(9,"mat-panel-description")(10,"div",15)(11,"mat-checkbox",16),g("change",function(a){m(t);let n=d();return h(n.checkWpt(a.checked,-1))})("click",function(a){return a.cancelBubble=!0}),r()()()(),s(12,"div",17),b(13,_e,6,2,"div",18,v),r()()()}if(l&2){let t=d();p(),f("expanded",t.display.expand.waypoints),p(10),f("indeterminate",t.display.someWptChecked)("checked",t.display.allWaypointsChecked)("disabled",t.resData.waypoints.length===0),p(2),C(t.resData.waypoints)}}function ve(l,i){if(l&1){let t=x();s(0,"div",18)(1,"div",19)(2,"mat-icon",22),c(3,"directions"),r(),c(4),r(),s(5,"div",20)(6,"mat-checkbox",24,1),g("change",function(){let a=m(t).$index,n=T(7),o=d(2);return h(o.checkRte(n.checked,a))}),r()()()}if(l&2){let t=i.$implicit,e=i.$index,a=d(2);p(4),G(" ",t.name," "),p(2),f("checked",a.selRoutes[e])}}function be(l,i){if(l&1){let t=x();s(0,"div",11)(1,"mat-expansion-panel",12),g("opened",function(){m(t);let a=d();return h(a.display.expand.routes=!0)})("closed",function(){m(t);let a=d();return h(a.display.expand.routes=!1)}),s(2,"mat-expansion-panel-header",13)(3,"mat-panel-title")(4,"mat-icon",22),c(5,"directions"),r(),c(6," \xA0"),s(7,"b"),c(8,"Routes:"),r()(),s(9,"mat-panel-description")(10,"div",15)(11,"mat-checkbox",23),g("change",function(a){m(t);let n=d();return h(n.checkRte(a.checked,-1))})("click",function(a){return a.cancelBubble=!0}),r()()()(),s(12,"div",17),b(13,ve,8,2,"div",18,v),r()()()}if(l&2){let t=d();p(),f("expanded",t.display.expand.routes),p(10),f("indeterminate",t.display.someRteChecked)("checked",t.display.allRoutesChecked)("disabled",t.resData.routes.length==0),p(2),C(t.resData.routes)}}function Ce(l,i){if(l&1){let t=x();s(0,"div",18)(1,"div",19)(2,"mat-icon",26),c(3,"directions_boat"),r(),c(4," Vessel Trail "),r(),s(5,"div",20)(6,"mat-checkbox",28,2),g("change",function(){let a=m(t).$index,n=T(7),o=d(2);return h(o.checkTrk(n.checked,a))}),r()()()}if(l&2){let t=i.$index,e=d(2);p(6),f("checked",e.selTracks[t])}}function Te(l,i){if(l&1){let t=x();s(0,"div",11)(1,"mat-expansion-panel",25)(2,"mat-expansion-panel-header",13)(3,"mat-panel-title")(4,"mat-icon",26),c(5,"show_chart"),r(),c(6," \xA0"),s(7,"b"),c(8,"Tracks:"),r()(),s(9,"mat-panel-description")(10,"div",15)(11,"mat-checkbox",27),g("change",function(a){m(t);let n=d();return h(n.checkTrk(a.checked,-1))})("click",function(a){return a.cancelBubble=!0}),r()()()(),s(12,"div",17),b(13,Ce,8,1,"div",18,v),r()()()}if(l&2){let t=d();p(),f("expanded",!1),p(10),f("indeterminate",!1)("checked",t.display.allTracksChecked)("disabled",t.resData.tracks.length==0),p(2),C(t.resData.tracks)}}var ge=class l{constructor(i,t,e,a,n){this.app=i;this.skres=t;this.facade=e;this.dialogRef=a;this.data=n}resData={routes:[],waypoints:[],tracks:[]};selRoutes=[];selectedRoute=null;selWaypoints=[];selTracks=[];display={notValid:!1,allRoutesChecked:!1,allWaypointsChecked:!1,allTracksChecked:!1,someWptChecked:!1,someRteChecked:!1,someTrkChecked:!1,saveRoutesOK:!1,saveWaypointsOK:!1,saveTracksOK:!1,routeViewer:!1,selCount:{routes:0,waypoints:0,tracks:0},expand:{routes:!1,waypoints:!1,tracks:!1}};unsubscribe=[];ngOnInit(){this.loadResources(),this.unsubscribe.push(this.facade.result$.subscribe(i=>{this.dialogRef.close(i)}))}ngOnDestroy(){this.unsubscribe.forEach(i=>i.unsubscribe()),this.facade.clear()}loadResources(){return M(this,null,function*(){this.data.routes.sort((i,t)=>i[1].name.localeCompare(t[1].name));try{this.app.sIsFetching.set(!0);let i=yield this.skres.listFromServer("waypoints");i.sort((t,e)=>t[1].name.localeCompare(e[1].name)),this.data.waypoints=i,this.app.sIsFetching.set(!1)}catch(i){this.app.sIsFetching.set(!1),this.resData.waypoints=[]}this.parseResourceData()})}save(){this.facade.saveToFile(this.resData,{rte:{selected:this.selRoutes},wpt:{selected:this.selWaypoints},trk:{selected:this.selTracks}})}parseResourceData(){this.display.allRoutesChecked=!1,this.display.saveRoutesOK=!1,this.selRoutes=[],this.display.allWaypointsChecked=!1,this.display.saveWaypointsOK=!1,this.selWaypoints=[],this.display.allTracksChecked=!1,this.display.saveTracksOK=!1,this.selTracks=[],this.display.selCount={routes:0,waypoints:0,tracks:0},this.display.expand={routes:!1,waypoints:!1,tracks:!1},this.display.notValid=!1,this.resData=this.facade.prepData(this.data),this.resData.routes.forEach(()=>{this.selRoutes.push(!1)}),this.selRoutes.length===1&&(this.selRoutes[0]=!0,this.display.allRoutesChecked=!0,this.display.expand.routes=!0,this.display.saveRoutesOK=!0),this.resData.waypoints.forEach(()=>{this.selWaypoints.push(!1)}),this.selTracks.push(!1)}checkRte(i,t=-1){let e=0;if(t!==-1){this.selRoutes[t]=i,this.display.saveRoutesOK=i;for(let a of this.selRoutes)a&&e++;this.display.saveRoutesOK=e!==0,this.display.selCount.routes=e,this.display.allRoutesChecked=e===this.selRoutes.length}else{for(let a=0;a<this.selRoutes.length;a++)this.selRoutes[a]=i,this.display.saveRoutesOK=i,this.display.allRoutesChecked=i;this.display.selCount.routes=i?this.selRoutes.length:0}this.display.someRteChecked=!(this.display.allRoutesChecked||e===0)}checkWpt(i,t=-1){let e=0;if(t!==-1){this.selWaypoints[t]=i,this.display.saveWaypointsOK=i;for(let a of this.selWaypoints)a&&e++;this.display.saveWaypointsOK=e!==0,this.display.selCount.waypoints=e,this.display.allWaypointsChecked=e===this.selWaypoints.length}else{for(let a=0;a<this.selWaypoints.length;a++)this.selWaypoints[a]=i,this.display.saveWaypointsOK=i,this.display.allWaypointsChecked=i;this.display.selCount.waypoints=i?this.selWaypoints.length:0}this.display.someWptChecked=!(this.display.allWaypointsChecked||e===0)}checkTrk(i,t=-1){let e=0;if(t!==-1){this.selTracks[t]=i,this.display.saveTracksOK=i;for(let a of this.selTracks)a&&e++;this.display.saveTracksOK=e!==0,this.display.selCount.tracks=e,this.display.allTracksChecked=e===this.selTracks.length}else{for(let a=0;a<this.selTracks.length;a++)this.selTracks[a]=i,this.display.saveTracksOK=i,this.display.allTracksChecked=i;this.display.selCount.tracks=i?this.selTracks.length:0}this.display.someTrkChecked=!(this.display.allTracksChecked||e===0)}static \u0275fac=function(t){return new(t||l)(y(pe),y(de),y(S),y(X),y(F))};static \u0275cmp=O({type:l,selectors:[["gpxsave-dialog"]],decls:18,vars:4,consts:[["wval",""],["rval",""],["tval",""],[1,"gpxsave-dialog"],[2,"background-color","transparent"],[2,"display","flex","width","100%"],["mat-raised-button","","matTooltip","Save selected resources","matTooltipPosition","right",2,"width","85px",3,"click","disabled"],[2,"flex","1 1 auto","text-align","center"],[2,"text-align","right"],["mat-icon-button","",3,"click"],["mat-dialog-content","",2,"padding","2px"],[1,"card-group"],[3,"opened","closed","expanded"],[1,"panel-header"],[1,"icon-waypoint"],[1,"panel-description"],["matTooltip","Select all Waypoints","matTooltipPosition","before",3,"change","click","indeterminate","checked","disabled"],[1,"list-container-scrollable"],[1,"item-row"],[1,"name"],[1,"check"],["matTooltip","Select Waypoint","matTooltipPosition","below",3,"change","checked"],[1,"icon-route"],["matTooltip","Select all Routes","matTooltipPosition","before",3,"change","click","indeterminate","checked","disabled"],["matTooltip","Select this Route","matTooltipPosition","below",3,"change","checked"],[3,"expanded"],[1,"icon-track"],["matTooltip","Vessel Trail to Track","matTooltipPosition","before",3,"change","click","indeterminate","checked","disabled"],["matTooltip","Select this Track","matTooltipPosition","below",3,"change","checked"]],template:function(t,e){t&1&&(s(0,"div",3)(1,"mat-toolbar",4)(2,"div",5)(3,"div")(4,"button",6),g("click",function(){return e.save()}),s(5,"mat-icon"),c(6,"save"),r(),c(7,"\xA0Save\xA0 "),r()(),s(8,"div",7),c(9,"Export to GPX"),r(),s(10,"div",8)(11,"button",9),g("click",function(){return e.dialogRef.close(-1)}),s(12,"mat-icon"),c(13,"close"),r()()()()(),s(14,"div",10),_(15,ke,15,4,"div",11),_(16,be,15,4,"div",11),_(17,Te,15,4,"div",11),r()()),t&2&&(p(4),f("disabled",!e.display.saveRoutesOK&&!e.display.saveWaypointsOK&&!e.display.saveTracksOK),p(11),k(e.resData.waypoints.length!==0?15:-1),p(),k(e.resData.routes.length!==0?16:-1),p(),k(!e.app.data.serverTrail&&e.resData.tracks.length!==0?17:-1))},dependencies:[oe,se,z,I,V,j,A,$,B,K,q,Y,Z,H,ne,ee,te,ae,ie,Q,J,N,U,L],styles:[".gpxsave-dialog[_ngcontent-%COMP%]{font-family:roboto;position:relative}.dialog-content[_ngcontent-%COMP%]{position:relative;min-height:300px;max-height:400px;width:100%;min-width:240px;overflow-y:auto}.dialog-icon[_ngcontent-%COMP%]{display:none}.card-group[_ngcontent-%COMP%]{padding:5px 5%}.card-group[_ngcontent-%COMP%] .panel-header[_ngcontent-%COMP%]{padding:0 5px}.card-group[_ngcontent-%COMP%] .panel-description[_ngcontent-%COMP%]{text-align:right;width:100%;padding-right:10px}.card-group-title[_ngcontent-%COMP%]{font-weight:700;font-size:10pt;font-family:Arial,Helvetica,sans-serif;padding:10px 0}button[_ngcontent-%COMP%]{min-width:unset;padding:unset}.item-row[_ngcontent-%COMP%]{display:flex;width:100%;padding:2px 0}.item-row[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{flex:1 1 auto;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;text-overflow:ellipsis;line-height:2.5em}.item-row[_ngcontent-%COMP%] .check[_ngcontent-%COMP%]{text-align:right;padding-right:15px}@media only screen and (min-width:475px){button[_ngcontent-%COMP%]{min-width:inherit;padding:inherit}.dialog-content[_ngcontent-%COMP%]{min-width:400px}.dialog-icon[_ngcontent-%COMP%]{display:inline}}@media only screen and (min-width:800px){.card-group[_ngcontent-%COMP%]{padding:5px 5%}}"]})};export{ge as GPXExportDialog};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as pe}from"./chunk-FEIJMPL7.js";import{B as re,f as j,g as N,h as Y,i as Z,j as ee,k as te,l as ie,o as oe,t as se,x as le}from"./chunk-
|
|
1
|
+
import{a as pe}from"./chunk-FEIJMPL7.js";import{B as re,f as j,g as N,h as Y,i as Z,j as ee,k as te,l as ie,o as oe,t as se,x as le}from"./chunk-RXMZCTQL.js";import{a as H,b as ne,c as ae}from"./chunk-IURS3QQO.js";import{a as A,b as L}from"./chunk-4BXCQ655.js";import{i as U,j as z,k as q}from"./chunk-LXTM3LEN.js";import"./chunk-IYNTZMNB.js";import{a as B}from"./chunk-3CRIFTHA.js";import"./chunk-UF7LOYCE.js";import"./chunk-XHEJEIFO.js";import"./chunk-I3OUN6B4.js";import{j as J,o as Q}from"./chunk-WX7YZB5N.js";import{Dd as E,Ea as f,Ed as G,Fa as x,Ha as b,Hd as R,Ia as v,Ja as T,Jd as X,Ka as u,La as a,Ma as o,Na as C,P as y,Q as d,R as m,Rd as O,Td as W,Ua as _,Wa as h,Wd as V,Ya as p,Yd as F,Zd as K,gb as w,ja as l,lb as r,mb as P,nb as M,oa as D,ob as S,pe as $,ra as I}from"./chunk-4BSA3TDQ.js";import{f as k}from"./chunk-EQVTEUXC.js";function de(s,t){if(s&1){let e=_();a(0,"button",11),h("click",function(){d(e);let i=p();return m(i.load())}),a(1,"mat-icon"),r(2,"file_upload"),o(),r(3," \xA0Load "),o()}if(s&2){let e=p();u("disabled",!e.display.loadRoutesOK&&!e.display.loadWaypointsOK&&!e.display.loadTracksOK)}}function me(s,t){s&1&&(a(0,"div",10)(1,"div")(2,"b"),r(3,"Invalid GPX Data:"),o(),C(4,"br")(5,"br"),a(6,"i"),r(7,"Selected file does not contain GPX data or"),C(8,"br"),r(9," does not correctly implement namespaced <extensions> attributes."),o()()())}function ue(s,t){s&1&&C(0,"mat-progress-bar",12)}function he(s,t){if(s&1){let e=_();a(0,"div",23)(1,"div",24),r(2),o(),a(3,"div",25)(4,"mat-checkbox",26,0),h("change",function(){let i=d(e).$index,c=w(5),g=p(4);return m(g.checkWpt(c.checked,i))}),o()()()}if(s&2){let e=t.$implicit,n=t.$index,i=p(4);l(2),P(e.name),l(2),u("checked",i.selWaypoints[n])}}function _e(s,t){if(s&1){let e=_();a(0,"div",13)(1,"mat-expansion-panel",16),h("opened",function(){d(e);let i=p(3);return m(i.display.expand.waypoints=!0)})("closed",function(){d(e);let i=p(3);return m(i.display.expand.waypoints=!1)}),a(2,"mat-expansion-panel-header",17)(3,"mat-panel-title")(4,"mat-icon",18),r(5,"place"),o(),r(6," \xA0\xA0 "),a(7,"b"),r(8,"Waypoints:"),o()(),a(9,"mat-panel-description")(10,"div",5)(11,"span",19),r(12),o(),a(13,"span",20)(14,"mat-checkbox",21),h("change",function(i){d(e);let c=p(3);return m(c.checkWpt(i.checked,-1))})("click",function(i){return i.cancelBubble=!0}),o()()()()(),a(15,"div",22),v(16,he,6,2,"div",23,b),o()()()}if(s&2){let e=p(3);l(),u("expanded",e.display.expand.waypoints),l(11),S(" (",e.display.selCount.waypoints," of ",e.gpxData==null?null:e.gpxData.waypoints.length,") "),l(2),u("indeterminate",e.display.someWptChecked)("checked",e.display.allWaypointsChecked)("disabled",e.gpxData.waypoints.length===0),l(2),T(e.gpxData.waypoints)}}function fe(s,t){if(s&1){let e=_();a(0,"div",23)(1,"div",24),r(2),o(),a(3,"div",25)(4,"mat-checkbox",29,1),h("change",function(){let i=d(e).$index,c=w(5),g=p(4);return m(g.checkRte(c.checked,i))}),o()()()}if(s&2){let e=t.$implicit,n=t.$index,i=p(4);l(2),P(e.name),l(2),u("checked",i.selRoutes[n])}}function xe(s,t){if(s&1){let e=_();a(0,"div",13)(1,"mat-expansion-panel",16),h("opened",function(){d(e);let i=p(3);return m(i.display.expand.routes=!0)})("closed",function(){d(e);let i=p(3);return m(i.display.expand.routes=!1)}),a(2,"mat-expansion-panel-header",17)(3,"mat-panel-title")(4,"mat-icon",27),r(5,"directions"),o(),r(6," \xA0\xA0 "),a(7,"b"),r(8,"Routes:"),o()(),a(9,"mat-panel-description")(10,"div",5)(11,"span",19),r(12),o(),a(13,"span",20)(14,"mat-checkbox",28),h("change",function(i){d(e);let c=p(3);return m(c.checkRte(i.checked,-1))})("click",function(i){return i.cancelBubble=!0}),o()()()()(),a(15,"div",22),v(16,fe,6,2,"div",23,b),o()()()}if(s&2){let e=p(3);l(),u("expanded",e.display.expand.routes),l(11),S(" (",e.display.selCount.routes," of ",e.gpxData==null?null:e.gpxData.routes.length,") "),l(2),u("indeterminate",e.display.someRteChecked)("checked",e.display.allRoutesChecked)("disabled",e.gpxData.routes.length==0),l(2),T(e.gpxData.routes)}}function ye(s,t){if(s&1){let e=_();a(0,"div",23)(1,"div",24),r(2),o(),a(3,"div",25)(4,"mat-checkbox",32,2),h("change",function(){let i=d(e).$index,c=w(5),g=p(4);return m(g.checkTrk(c.checked,i))}),o()()()}if(s&2){let e=t.$implicit,n=t.$index,i=p(4);l(2),P(e.name),l(2),u("checked",i.selTracks[n])}}function ge(s,t){if(s&1){let e=_();a(0,"div",13)(1,"mat-expansion-panel",16),h("opened",function(){d(e);let i=p(3);return m(i.display.expand.tracks=!0)})("closed",function(){d(e);let i=p(3);return m(i.display.expand.tracks=!1)}),a(2,"mat-expansion-panel-header",17)(3,"mat-panel-title")(4,"mat-icon",30),r(5,"show_chart"),o(),r(6," \xA0\xA0 "),a(7,"b"),r(8,"Tracks:"),o()(),a(9,"mat-panel-description")(10,"div",5)(11,"span",19),r(12),o(),a(13,"span",20)(14,"mat-checkbox",31),h("change",function(i){d(e);let c=p(3);return m(c.checkTrk(i.checked,-1))})("click",function(i){return i.cancelBubble=!0}),o()()()()(),a(15,"div",22),v(16,ye,6,2,"div",23,b),o()()()}if(s&2){let e=p(3);l(),u("expanded",e.display.expand.tracks),l(11),S(" (",e.display.selCount.tracks," of ",e.gpxData==null?null:e.gpxData.tracks.length,") "),l(2),u("indeterminate",e.display.someTrkChecked)("checked",e.display.allTracksChecked)("disabled",e.gpxData.tracks.length==0),l(2),T(e.gpxData.tracks)}}function Ce(s,t){if(s&1&&(a(0,"div",13)(1,"div",14)(2,"div"),r(3,"File:"),o(),a(4,"div",15),r(5),o()(),C(6,"mat-divider"),o(),f(7,_e,18,6,"div",13),f(8,xe,18,6,"div",13),f(9,ge,18,6,"div",13)),s&2){let e=p(2);l(5),M(" ",e.data.fileName," "),l(2),x(e.gpxData.waypoints.length!=0?7:-1),l(),x(e.gpxData.routes.length!=0?8:-1),l(),x(e.gpxData.tracks.length!=0&&e.app.featureFlags().resourceTracks?9:-1)}}function ke(s,t){if(s&1&&(a(0,"div",10),f(1,ue,1,0,"mat-progress-bar",12)(2,Ce,10,4),o()),s&2){let e=p();l(),x(e.app.sIsFetching()?1:2)}}var ce=class s{constructor(t){this.data=t}gpxData={name:"",routes:[],waypoints:[],tracks:[]};selRoutes=[];selectedRoute=null;selWaypoints=[];selTracks=[];display={notValid:!1,allRoutesChecked:!1,allWaypointsChecked:!1,allTracksChecked:!1,someWptChecked:!1,someRteChecked:!1,someTrkChecked:!1,loadRoutesOK:!1,loadWaypointsOK:!1,loadTracksOK:!1,routeViewer:!1,selCount:{routes:0,waypoints:0,tracks:0},expand:{routes:!1,waypoints:!1,tracks:!1}};errorCount=0;subCount=0;gpx;app=y(le);dialogRef=y(E);skres=y(re);signalk=y(oe);symbols=y(se);ngOnInit(){this.data.fileData=this.data.fileData||null,this.parseGPXData(this.data.fileData)}ngOnDestroy(){this.clear()}load(){this.uploadToServer({rte:{selected:this.selRoutes},wpt:{selected:this.selWaypoints},trk:{selected:this.selTracks}})}parseGPXData(t){return k(this,null,function*(){if(this.display.allRoutesChecked=!1,this.display.loadRoutesOK=!1,this.selRoutes=[],this.display.allWaypointsChecked=!1,this.display.loadWaypointsOK=!1,this.selWaypoints=[],this.display.allTracksChecked=!1,this.display.loadTracksOK=!1,this.selTracks=[],this.display.selCount={routes:0,waypoints:0,tracks:0},this.display.expand={routes:!1,waypoints:!1,tracks:!1},this.display.notValid=!1,this.gpxData=yield this.parseFileData(t),!this.gpxData){console.warn(`Selected file does not contain GPX data or
|
|
2
2
|
does not correctly implement namespaced <extensions> attributes`,"Invalid GPX Data:"),this.display.notValid=!0;return}this.gpxData.routes.forEach(()=>{this.selRoutes.push(!1)}),this.selRoutes.length===1&&(this.selRoutes[0]=!0,this.display.allRoutesChecked=!0,this.display.expand.routes=!0,this.display.loadRoutesOK=!0,this.display.selCount.routes=1),this.gpxData.waypoints.forEach(()=>{this.selWaypoints.push(!1)}),this.selWaypoints.length===1&&(this.selWaypoints[0]=!0,this.display.allWaypointsChecked=!0,this.display.expand.waypoints=!0,this.display.loadWaypointsOK=!0,this.display.selCount.waypoints=1),this.gpxData.tracks.forEach(()=>{this.selTracks.push(!1)}),this.selTracks.length===1&&(this.selTracks[0]=!0,this.display.allTracksChecked=!0,this.display.expand.tracks=!0,this.display.loadTracksOK=!0,this.display.selCount.tracks=1)})}checkRte(t,e=-1){let n=0;if(e!==-1){this.selRoutes[e]=t,this.display.loadRoutesOK=t;for(let i of this.selRoutes)i&&n++;this.display.loadRoutesOK=n!==0,this.display.selCount.routes=n,this.display.allRoutesChecked=n===this.selRoutes.length}else{for(let i=0;i<this.selRoutes.length;i++)this.selRoutes[i]=t,this.display.loadRoutesOK=t,this.display.allRoutesChecked=t;this.display.selCount.routes=t?this.selRoutes.length:0}this.display.someRteChecked=!(this.display.allRoutesChecked||n===0)}checkWpt(t,e=-1){let n=0;if(e!==-1){this.selWaypoints[e]=t,this.display.loadWaypointsOK=t;for(let i of this.selWaypoints)i&&n++;this.display.loadWaypointsOK=n!==0,this.display.selCount.waypoints=n,this.display.allWaypointsChecked=n===this.selWaypoints.length}else{for(let i=0;i<this.selWaypoints.length;i++)this.selWaypoints[i]=t,this.display.loadWaypointsOK=t,this.display.allWaypointsChecked=t;this.display.selCount.waypoints=t?this.selWaypoints.length:0}this.display.someWptChecked=!(this.display.allWaypointsChecked||n===0)}checkTrk(t,e=-1){let n=0;if(e!==-1){this.selTracks[e]=t,this.display.loadTracksOK=t;for(let i of this.selTracks)i&&n++;this.display.loadTracksOK=n!==0,this.display.selCount.tracks=n,this.display.allTracksChecked=n===this.selTracks.length}else{for(let i=0;i<this.selTracks.length;i++)this.selTracks[i]=t,this.display.loadTracksOK=t,this.display.allTracksChecked=t;this.display.selCount.tracks=t?this.selTracks.length:0}this.display.someTrkChecked=!(this.display.allTracksChecked||n===0)}clear(){this.gpx=null}parseFileData(t){return k(this,null,function*(){let e={name:"",routes:[],waypoints:[],tracks:[]};if(this.gpx=new pe,this.app.sIsFetching.set(!0),!(yield this.gpx.parse(t)))return this.app.sIsFetching.set(!1),null;let n=1;return this.gpx.rte.forEach(i=>{e.routes.push({name:i.name!==""?i.name:`Rte: ${n}`,description:i.desc?i.desc:i.cmt?i.cmt:"",wptcount:i.rtept.length}),n++}),n=1,this.gpx.wpt.forEach(i=>{e.waypoints.push({name:i.name?i.name:`Wpt: ${n}`,description:i.desc?i.desc:i.cmt?i.cmt:""}),n++}),n=1,this.gpx.trk.forEach(i=>{e.tracks.push({name:i.name?i.name:`Trk: ${n}`,description:i.desc?i.desc:i.cmt?i.cmt:""}),n++}),this.app.sIsFetching.set(!1),e})}uploadToServer(t){return k(this,null,function*(){this.app.sIsFetching.set(!0),this.errorCount=0,this.subCount=0;for(let n=0;n<t.rte.selected.length;n++)t.rte.selected[n]&&this.transformRoute(this.gpx.rte[n]);for(let n=0;n<t.wpt.selected.length;n++)t.wpt.selected[n]&&this.transformWaypoint(this.gpx.wpt[n]);let e=[];for(let n=0;n<t.trk.selected.length;n++)if(t.trk.selected[n]){let i=this.transformTrack(this.gpx.trk[n]);this.subCount++;try{let c=yield this.skres.postToServer("tracks",i);this.subCount--,Math.floor(c.statusCode/100)===2?(e.push(c.id),this.app.debug("SUCCESS: Track added.")):this.errorCount++,this.checkComplete()}catch(c){this.errorCount++,this.subCount--,this.logError(c),this.checkComplete()}}e.length!==0&&this.skres.trackAddFromServer(e)})}errorList=[];logError(t){let e=t.error?t.error.message:t.message;this.errorList.push({status:t.status,message:e})}checkComplete(){this.subCount===0&&(this.app.sIsFetching.set(!1),this.app.saveConfig(),this.dialogRef.close({errCount:this.errorCount,errList:this.errorList}),this.app.debug(`GPXLoad: complete: ${this.errorCount}`))}transformRoute(t){let e=this.skres.buildRoute(t.rtept.map(i=>[i.lon,i.lat])),n=e[1];n.name=t.name??"",n.description=t.desc??"",t.cmt&&(n.feature.properties.cmt=t.cmt),t.src&&(n.feature.properties.src=t.src),t.number&&(n.feature.properties.number=t.number),t.type&&(n.feature.properties.type=t.type),n.feature.properties.coordinatesMeta=[],n.feature.properties.coordinatesMeta=t.rtept.map(i=>{let c={name:i.name??""};return i.cmt&&(c.description=i.cmt),c}),this.subCount++,this.signalk.api.put(this.app.skApiVersion,`/resources/routes/${e[0]}`,e[1]).subscribe(i=>{this.subCount--,Math.floor(i.statusCode/100)===2?(this.app.debug("SUCCESS: Route added."),this.skres.selectionAdd("routes",e[0])):this.errorCount++,this.checkComplete()},i=>{this.errorCount++,this.subCount--,this.logError(i),this.checkComplete()})}transformWaypoint(t){let e=this.skres.buildWaypoint([t.lon,t.lat]),n=e[1];if(t.ele&&n.feature.geometry.coordinates.push(t.ele),t.name&&t.name.length!==0&&(n.name=t.name),t.desc&&t.desc.length!==0&&(n.description=t.desc),t.type&&(n.type=t.type,n.feature.properties.type=t.type),t.cmt&&(n.feature.properties.cmt=t.cmt),t.src&&(n.feature.properties.src=t.src),t.sym){n.feature.properties.sym=t.sym;let i=this.symbols.resolveGpxSym(t.sym);i&&(n.type="waypoint",n.feature.properties.skIcon=i)}this.subCount++,this.signalk.api.put(this.app.skApiVersion,`/resources/waypoints/${e[0]}`,e[1]).subscribe(i=>{this.subCount--,Math.floor(i.statusCode/100)===2?(this.app.debug("SUCCESS: Waypoint added."),this.skres.selectionAdd("waypoints",e[0])):this.errorCount++,this.checkComplete()},i=>{this.errorCount++,this.subCount--,this.logError(i),this.checkComplete()})}transformTrack(t){let e={feature:{type:"Feature",geometry:{type:"MultiLineString",coordinates:[]},properties:{},id:""}};return t.trkseg&&t.trkseg.forEach(n=>{let i=[];n.trkpt.forEach(c=>{i.push([c.lon,c.lat])}),e.feature.geometry.coordinates.push(i)}),t.name&&t.name.length!==0?e.feature.properties.name=t.name:e.feature.properties.name=`gpxtrk #${Math.random().toString().slice(-5)}`,t.desc&&t.desc.length!==0&&(e.feature.properties.description=t.desc),t.cmt&&(e.feature.properties.cmt=t.cmt),t.src&&(e.feature.properties.src=t.src),t.type&&(e.feature.properties.type=t.type),e}static \u0275fac=function(e){return new(e||s)(D(G))};static \u0275cmp=I({type:s,selectors:[["gpxload-dialog"]],decls:13,vars:3,consts:[["wval",""],["rval",""],["tval",""],[1,"gpxload-dialog"],[2,"background-color","transparent"],[2,"display","flex","width","100%"],["mat-raised-button","","matTooltip","Load selected resources","matTooltipPosition","right",2,"width","85px",3,"disabled"],[2,"flex","1 1 auto","text-align","center"],[2,"text-align","right"],["mat-icon-button","",3,"click","disabled"],["mat-dialog-content",""],["mat-raised-button","","matTooltip","Load selected resources","matTooltipPosition","right",2,"width","85px",3,"click","disabled"],["mode","indeterminate"],[1,"card-group"],[2,"display","flex"],[2,"flex","1 1 auto","padding-left","10px","overflow","hidden","display","-webkit-box","-webkit-box-orient","vertical","-webkit-line-clamp","1","line-clamp","1","text-overflow","ellipsis"],[3,"opened","closed","expanded"],[2,"padding","0 12px"],[1,"icon-waypoint"],[1,"pnlSelectedItems"],[1,"pnlSelect"],["matTooltip","Select all Waypoints","matTooltipPosition","before",3,"change","click","indeterminate","checked","disabled"],[1,"list-container-scrollable"],[1,"item-row"],[1,"name"],[1,"check"],["matTooltip","Select Waypoint","matTooltipPosition","below",3,"change","checked"],[1,"icon-route"],["matTooltip","Select all Routes","matTooltipPosition","before",3,"change","click","indeterminate","checked","disabled"],["matTooltip","Select this Route","matTooltipPosition","below",3,"change","checked"],[1,"icon-track"],["matTooltip","Select all Tracks","matTooltipPosition","before",3,"change","click","indeterminate","checked","disabled"],["matTooltip","Select this Track","matTooltipPosition","below",3,"change","checked"]],template:function(e,n){e&1&&(a(0,"div",3)(1,"mat-toolbar",4)(2,"div",5)(3,"div"),f(4,de,4,1,"button",6),o(),a(5,"div",7),r(6,"Import GPX"),o(),a(7,"div",8)(8,"button",9),h("click",function(){return n.dialogRef.close(-1)}),a(9,"mat-icon"),r(10,"close"),o()()()()(),f(11,me,10,0,"div",10)(12,ke,3,1,"div",10),o()),e&2&&(l(4),x(n.app.sIsFetching()?-1:4),l(4),u("disabled",n.app.sIsFetching()),l(3),x(n.display.notValid?11:12))},dependencies:[ae,ne,N,j,X,R,K,F,V,W,O,U,J,Q,L,A,ie,Y,Z,te,ee,q,z,H,B,$],styles:[".gpxload-dialog[_ngcontent-%COMP%]{font-family:roboto;position:relative}.mat-expansion-panel-body[_ngcontent-%COMP%]{padding:0 12px 6px}.card-group-title[_ngcontent-%COMP%]{font-weight:700;font-size:10pt;font-family:Arial,Helvetica,sans-serif;padding:10px 0}.item-row[_ngcontent-%COMP%]{display:flex;width:100%;padding:2px 0}.item-row[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{flex:1 1 auto;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;text-overflow:ellipsis;line-height:2.5em}.item-row[_ngcontent-%COMP%] .check[_ngcontent-%COMP%]{text-align:right;padding-right:15px}.pnlSelectedItems[_ngcontent-%COMP%]{display:none;line-height:2.9em}.pnlSelect[_ngcontent-%COMP%]{flex:1 1 auto;padding-left:3px;padding-right:3px;text-align:right}.txtSelect[_ngcontent-%COMP%]{display:none}button[_ngcontent-%COMP%]{min-width:unset;padding:unset}@media only screen and (min-width:400px){.pnlSelectedItems[_ngcontent-%COMP%]{display:inline}}@media only screen and (min-width:475px){.pnlSelectedItems[_ngcontent-%COMP%]{display:inline;line-height:2.9em}.txtSelect[_ngcontent-%COMP%]{display:inline}.pnlSelect[_ngcontent-%COMP%]{flex:1 1 auto;padding-left:20px;padding-right:15px;text-align:right}button[_ngcontent-%COMP%]{min-width:inherit;padding:inherit}}"]})};export{ce as GPXImportDialog};
|