@signalk/freeboard-sk 3.1.0 → 3.1.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.
@@ -1 +1 @@
1
- import{F as Qe,M as $e,N as et,O as tt,ca as it,da as $,e as xe,ea as ee,ia as nt,ja as at,ka as ot,m as ze,n as B,p as qe,q as je,s as Xe,t as Ye,y as Je,ya as rt,z as L,za as st}from"./chunk-4WQJ5OCH.js";import{a as K,b as He,c as Ke}from"./chunk-NDDO5DKA.js";import{a as Ve,h as ke,j as Pe,k as Le}from"./chunk-PSRS6NXJ.js";import{a as Be,d as Ie,i as Fe,j as Ae,k as Ne}from"./chunk-WXOWBQXR.js";import{a as Y,b as J,c as Ze,d as Q}from"./chunk-SOVFTS2B.js";import{a as Oe}from"./chunk-VSWAOYSI.js";import"./chunk-PGHE7FOF.js";import"./chunk-7UXFP343.js";import"./chunk-TGPAYIRR.js";import{b as z,c as Re,f as Ue,i as q,j as Ge,n as j,o as X}from"./chunk-7Z4ZZM32.js";import{$d as U,Da as O,Dd as ye,Ea as T,Fa as D,Ha as b,Hd as Se,Ia as y,Ja as S,Jd as Ce,Ka as h,Kb as F,La as i,Ma as n,Na as E,Ob as he,P as W,Pb as A,Q as m,R as c,Rd as Me,S as x,T as ce,Td as we,Ua as V,Wa as p,Wd as N,X as pe,Ya as w,Yd as ve,Z as I,Zd as R,_ as _e,ca as fe,ee as G,gb as M,he as Z,ie as be,ja as r,jb as ue,lb as s,le as Te,mb as C,me as De,nb as k,ne as Ee,oe as We,pb as _,pe as H,qb as f,ra as P,rb as u}from"./chunk-JH5KSRZ6.js";import"./chunk-6H3I7D5M.js";var ht=(l,d)=>d[0];function yt(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 St(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=he();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),u("ngModelChange",function(o){return f(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),u("ngModelChange",function(o){return f(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,yt,3,2,"mat-option",8,b),n()(),ce(),i(15,"mat-form-field",3)(16,"mat-label"),s(17,"Style"),n(),i(18,"mat-select",4),u("ngModelChange",function(o){return f(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,St,3,2,"mat-option",8,ht),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,Ze,Y],encapsulation:2})};var Mt=(l,d)=>d[0];function wt(l,d){if(l&1){let a=V();i(0,"div",4)(1,"mat-radio-button",5,0),p("change",function(){m(a);let g=M(2),o=w().$implicit,t=w();return o[1].current=g.value,c(t.save(!0))}),s(3),n()()}if(l&2){let a=d.$implicit,e=w().$implicit;r(),h("name",e[0])("value",a)("checked",a===e[1].current),r(2),k(" ",a.split(".").slice(-1)," ")}}function vt(l,d){if(l&1&&(i(0,"div",2)(1,"div",3)(2,"div"),s(3),n()(),i(4,"div"),y(5,wt,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 pe;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,vt,7,1,"div",2,Mt),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],bt=(l,d)=>d.id;function Tt(l,d){if(l&1&&(i(0,"mat-option",41),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function Dt(l,d){if(l&1&&(i(0,"mat-option",41),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function Et(l,d){if(l&1&&(i(0,"mat-option",127),s(1),n()),l&2){let a=d.$implicit;h("value",a.url)("matTooltip",a.description),r(),k(" ",a.name," ")}}function Wt(l,d){if(l&1){let a=V();i(0,"div",46)(1,"div",38)(2,"mat-form-field",39)(3,"mat-label"),s(4,"Select Instruments App"),n(),i(5,"mat-select",64),u("ngModelChange",function(g){m(a);let o=w();return f(o.facade.settings.display.plugins.instruments,g)||(o.facade.settings.display.plugins.instruments=g),c(g)}),p("selectionChange",function(){m(a);let g=w();return c(g.onInstrumentApp())}),y(6,Et,2,3,"mat-option",127,b),n()()(),i(8,"div",38)(9,"mat-form-field",52)(10,"mat-label"),s(11,"Parameters"),n(),i(12,"input",128,21),u("ngModelChange",function(g){m(a);let o=w();return f(o.facade.settings.display.plugins.parameters,g)||(o.facade.settings.display.plugins.parameters=g),c(g)}),p("change",function(){m(a);let g=w();return c(g.persistModel("pluginParameters"))}),n()()(),i(14,"div",38)(15,"mat-checkbox",129),u("ngModelChange",function(g){m(a);let o=w();return f(o.facade.settings.display.plugins.startOnOpen,g)||(o.facade.settings.display.plugins.startOnOpen=g),c(g)}),p("change",function(){m(a);let g=w();return c(g.persistModel("pluginStartOnOpen"))}),s(16," Halt App on hide "),n()(),i(17,"div",38)(18,"button",130),p("click",function(){m(a);let g=w();return c(g.toggleFavourites())}),i(19,"mat-icon"),s(20,"star"),n(),s(21," FAVOURITES "),n()()()}if(l&2){let a=w();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 Vt(l,d){if(l&1&&(i(0,"mat-list-option",132),s(1),n()),l&2){let a=d.$implicit,e=w(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(),k(" ",a.name," ")}}function kt(l,d){if(l&1){let a=V();i(0,"div",37)(1,"div",38)(2,"div",109),E(3,"br"),s(4,"Select Favourite Apps: "),n(),E(5,"mat-divider"),i(6,"mat-selection-list",131,22),p("selectionChange",function(g){m(a);let o=M(7),t=w();return c(t.onFavSelected(g,o))}),y(8,Vt,2,4,"mat-list-option",132,b),n()()()}if(l&2){let a=w();r(8),S(a.facade.favouritesList)}}function Pt(l,d){if(l&1&&(i(0,"mat-option",41),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function Lt(l,d){l&1&&(i(0,"mat-error"),s(1,"Please enter a number >= 0"),n())}function xt(l,d){l&1&&(i(0,"mat-error"),s(1,"Please enter a number >= 1"),n())}function Ot(l,d){if(l&1&&(i(0,"mat-option",41),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",41),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",41),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function Ft(l,d){if(l&1&&(i(0,"mat-option",41),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function At(l,d){if(l&1&&(i(0,"mat-option",41),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function Nt(l,d){if(l&1&&(i(0,"mat-option",41),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function Rt(l,d){if(l&1&&(i(0,"mat-option",41),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function Ut(l,d){if(l&1){let a=V();i(0,"div",38)(1,"mat-form-field",39)(2,"mat-label"),s(3,"Position display format"),n(),i(4,"mat-select",133),u("ngModelChange",function(g){m(a);let o=w();return f(o.facade.settings.units.positionFormat,g)||(o.facade.settings.units.positionFormat=g),c(g)}),p("selectionChange",function(){m(a);let g=w();return c(g.persistModel())}),y(5,Rt,2,2,"mat-option",41,b),n()()()}if(l&2){let a=w();r(4),_("ngModel",a.facade.settings.units.positionFormat),r(),S(a.options.preferredValues.coords)}}function Gt(l,d){if(l&1&&(i(0,"mat-option",41),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function Zt(l,d){if(l&1){let a=V();i(0,"div",38)(1,"mat-form-field",39)(2,"mat-label"),s(3,"Prefer True / Magnetic values"),n(),i(4,"mat-select",134),u("ngModelChange",function(g){m(a);let o=w();return f(o.facade.settings.units.headingAttribute,g)||(o.facade.settings.units.headingAttribute=g),c(g)}),p("selectionChange",function(){m(a);let g=w();return c(g.persistModel("headingAttribute"))}),y(5,Gt,2,2,"mat-option",41,b),n()()()}if(l&2){let a=w();r(4),_("ngModel",a.facade.settings.units.headingAttribute),r(),S(a.options.preferredValues.heading)}}function Ht(l,d){if(l&1&&(i(0,"mat-option",41),s(1),n()),l&2){let a=d.$implicit;h("value",a),r(),C(a)}}function Kt(l,d){if(l&1&&(i(0,"mat-option",41),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",41),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function qt(l,d){if(l&1&&(i(0,"mat-option",41),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function jt(l,d){if(l&1&&(i(0,"mat-option",41),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",41),s(1),n()),l&2){let a=d.$implicit;h("value",a),r(),C(a)}}function Yt(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 Qt(l,d){l&1&&(i(0,"mat-error"),s(1," Please enter a positive number "),n())}function $t(l,d){if(l&1&&(i(0,"mat-option",41),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function ei(l,d){l&1&&(i(0,"mat-error"),s(1," Please enter a number > 0 "),n())}function ti(l,d){if(l&1&&(i(0,"mat-option",41),s(1),n()),l&2){let a=d.$implicit;h("value",a),r(),C(a)}}function ii(l,d){if(l&1&&(i(0,"mat-option",41),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-radio-button",41),E(1,"img",135),s(2),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),ue(`transform: scale(${a[0]})`),r(),k(" (",a[1],") ")}}function ai(l,d){l&1&&(i(0,"mat-error"),s(1," Please enter a value between -90 and 90 (max 9 decimals) "),n())}function oi(l,d){l&1&&(i(0,"mat-error"),s(1," Please enter a value between -180 and 180 (max 9 decimals) "),n())}function ri(l,d){if(l&1&&(i(0,"mat-option",41),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function si(l,d){if(l&1&&(i(0,"mat-option",41),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",41),s(1),n()),l&2){let a=d.$implicit;h("value",a),r(),C(a)}}function di(l,d){if(l&1&&(i(0,"mat-option",41),s(1),n()),l&2){let a=d.$implicit;h("value",a),r(),C(a)}}function gi(l,d){l&1&&(i(0,"mat-error"),s(1," Please enter a number >= 1. "),n())}function mi(l,d){if(l&1&&(i(0,"mat-option",41),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",41),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",41),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function _i(l,d){if(l&1&&(i(0,"mat-option",41),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function fi(l,d){if(l&1&&(i(0,"mat-option",41),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",41),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function hi(l,d){if(l&1&&(i(0,"mat-option",41),s(1),n()),l&2){let a=d.$implicit;h("value",a),r(),C(a)}}function yi(l,d){if(l&1&&(i(0,"mat-option",41),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function Si(l,d){if(l&1&&(i(0,"mat-option",41),s(1),n()),l&2){let a=d.$implicit;h("value",a),r(),C(a)}}function Ci(l,d){if(l&1&&(i(0,"mat-option",41),s(1),n()),l&2){let a=d.$implicit;h("value",a),r(),C(a)}}function Mi(l,d){if(l&1){let a=V();i(0,"button",136),p("click",function(){m(a),w();let g=M(549);return c(g.value="")}),i(1,"mat-icon"),s(2,"close"),n()()}}function wi(l,d){if(l&1&&(i(0,"mat-list-option",111),s(1),n()),l&2){let a=d.$implicit,e=w();h("selected",e.facade.settings.resources.paths.includes(a))("value",a),r(),k(" ",a," ")}}function vi(l,d){if(l&1&&(i(0,"mat-option",41),s(1),n()),l&2){let a=d.$implicit;h("value",a.id),r(),C(a.name)}}function bi(l,d){if(l&1){let a=V();i(0,"mat-tab",112)(1,"div",32)(2,"div",33)(3,"div",124)(4,"div",35),s(5,"RADAR SETTINGS"),n(),i(6,"mat-card",36)(7,"div",46)(8,"div",38)(9,"mat-form-field",137)(10,"mat-label"),s(11,"Radar Devices"),n(),i(12,"mat-select",138,23),u("ngModelChange",function(g){m(a);let o=w();return f(o.facade.settings.radars.deviceId,g)||(o.facade.settings.radars.deviceId=g),c(g)}),p("selectionChange",function(){m(a);let g=w();return c(g.doRadar())}),y(14,vi,2,2,"mat-option",41,bt),n()()(),i(16,"div",38)(17,"button",139),p("click",function(){m(a);let g=w();return c(g.refreshRadars())}),i(18,"mat-icon"),s(19," refresh"),n(),s(20," REFRESH "),n()()()()()()()()}if(l&2){let a=w();r(12),h("disabled",!a.radarList().length||a.app.uiCtrl().radarLayer),_("ngModel",a.facade.settings.radars.deviceId),r(2),S(a.radarList())}}function Ti(l,d){if(l&1&&(i(0,"mat-option",41),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function Di(l,d){l&1&&(i(0,"mat-error"),s(1," Value required. "),n())}var gt=class l{show={favourites:I(!1)};options;centerOffsetLimit=qe;aisStateFilter={moored:!1,anchored:!1};formattedNumberModel={rangeCirclesDistance:1e3};unitsChangedSignal=I(0);radarList=I([]);saveOnClose=!1;facade=W(st);myElement=W(fe);dialogRef=W(ye);wakeLock=W(ze);s57=W(Xe);app=W(L);radarApi=W(Je);constructor(){this.options=new rt,_e(()=>{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)}parseCenterOffset(d){d.reset(typeof d.model=="number"?je(d.model):0),this.persistModel()}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=Ye();if(typeof this.facade.settings.display.statusBar.referenceSpeed!="number")return d.display.statusBar.referenceSpeed;if(typeof this.facade.settings.display.statusBar.tapFadeSpeed!="number")return d.display.statusBar.tapFadeSpeed;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:648,vars:136,consts:[["refspeed","ngModel"],["tapfade","ngModel"],["serverprefs",""],["distunits",""],["centerOffsetY","ngModel"],["centerOffsetX","ngModel"],["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"],[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. Click or tap the chart to hold the readout on that point.",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"],["matInput","","type","number","min","1","step","0.5","matTooltip","How long the marker left by a click or tap takes to fade. The readout stays held on that point until it does.",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"],["aria-hidden","true",1,"setting-field-group-title"],[3,"ngModelChange","selectionChange","ngModel"],[1,"setting-field-group-title"],[1,"setting-field-group"],["floatLabel","always"],["matInput","","type","number","matTooltip","Where the vessel sits up or down the screen, as a percentage of the distance to the edge. Positive looks ahead (vessel lower); negative looks behind.",3,"ngModelChange","change","min","max","ngModel"],["matInput","","type","number","matTooltip","Where the vessel sits left or right of centre, as a percentage of the distance to the edge. Positive shifts the map right (vessel left).",3,"ngModelChange","change","min","max","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","What panning the chart does while following the vessel.",3,"ngModelChange","selectionChange","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"],["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"],["label","after","matTooltip","Open Note details with a single click instead of showing the pop-up options",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=V();i(0,"mat-toolbar",24)(1,"span",25)(2,"mat-icon"),s(3,"settings"),n()(),i(4,"span",26),s(5,"Settings"),n(),i(6,"span",27)(7,"button",28),p("click",function(){return e.handleClose()}),i(8,"mat-icon"),s(9,"close"),n()()()(),i(10,"div",29)(11,"mat-tab-group",30)(12,"mat-tab",31)(13,"div",32)(14,"div",33)(15,"div",34)(16,"div",35),s(17,"DISPLAY"),n(),i(18,"mat-card",36)(19,"mat-card-content")(20,"div",37)(21,"div",38)(22,"mat-form-field",39)(23,"mat-label"),s(24,"Dark Mode setting"),n(),i(25,"mat-select",40),u("ngModelChange",function(t){return m(g),f(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,Tt,2,2,"mat-option",41,v),n()()(),i(28,"div",38)(29,"mat-checkbox",42),u("ngModelChange",function(t){return m(g),f(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",38)(32,"mat-form-field",39)(33,"mat-label"),s(34,"Action Button"),n(),i(35,"mat-select",43),u("ngModelChange",function(t){return m(g),f(e.facade.settings.display.fab,t)||(e.facade.settings.display.fab=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(36,Dt,2,2,"mat-option",41,v),n()()(),i(38,"div",38)(39,"mat-checkbox",44),u("ngModelChange",function(t){return m(g),f(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",38)(42,"mat-checkbox",45),u("ngModelChange",function(t){return m(g),f(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()()()()(),E(44,"br"),i(45,"mat-card",36)(46,"mat-card-content"),T(47,Wt,22,4,"div",46),T(48,kt,10,0,"div",37),n()(),E(49,"br"),n(),i(50,"div",34)(51,"div",35),s(52,"SOUND"),n(),i(53,"mat-card",36)(54,"mat-card-content")(55,"div",37)(56,"div",38)(57,"mat-checkbox",47),u("ngModelChange",function(t){return m(g),f(e.facade.settings.display.muteSound,t)||(e.facade.settings.display.muteSound=t),c(t)}),p("change",function(){return e.persistModel()}),s(58," Do not Play Sounds "),n()(),i(59,"div",38)(60,"mat-checkbox",48),u("ngModelChange",function(t){return m(g),f(e.facade.settings.display.depthAlarm.enabled,t)||(e.facade.settings.display.depthAlarm.enabled=t),c(t)}),p("change",function(){return e.persistModel()}),s(61," Show DEPTH Alarms "),n()(),i(62,"div",38)(63,"mat-form-field",39)(64,"mat-label"),s(65,"Alarm Smoothing Time"),n(),i(66,"mat-select",49),u("ngModelChange",function(t){return m(g),f(e.facade.settings.display.depthAlarm.smoothing,t)||(e.facade.settings.display.depthAlarm.smoothing=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(67,Pt,2,2,"mat-option",41,v),n()()()()()()(),i(69,"div",50)(70,"div",35),s(71,"STATUS BAR OPTIONS"),n(),i(72,"mat-card",36)(73,"mat-card-content")(74,"div",37)(75,"div",38)(76,"mat-checkbox",51),u("ngModelChange",function(t){return m(g),f(e.facade.settings.display.statusBar.liveEta,t)||(e.facade.settings.display.statusBar.liveEta=t),c(t)}),p("change",function(){return e.persistModel()}),s(77," Live ETA at cursor "),n()(),i(78,"div",38)(79,"mat-form-field",52)(80,"mat-label"),s(81),n(),i(82,"input",53,0),u("ngModelChange",function(t){return m(g),f(e.facade.settings.display.statusBar.referenceSpeed,t)||(e.facade.settings.display.statusBar.referenceSpeed=t),c(t)}),p("change",function(){m(g);let t=M(83);return c(e.parseNumber(t))}),n(),T(84,Lt,2,0,"mat-error"),n()(),i(85,"div",38)(86,"mat-form-field",52)(87,"mat-label"),s(88,"Tap Fade Speed (s)"),n(),i(89,"input",54,1),u("ngModelChange",function(t){return m(g),f(e.facade.settings.display.statusBar.tapFadeSpeed,t)||(e.facade.settings.display.statusBar.tapFadeSpeed=t),c(t)}),p("change",function(){m(g);let t=M(90);return c(e.parseNumber(t))}),n(),T(91,xt,2,0,"mat-error"),n()()()()()(),i(92,"div",50)(93,"div",35),s(94,"WEATHER"),n(),i(95,"mat-card",36)(96,"mat-card-content")(97,"div",37)(98,"div",38)(99,"mat-form-field",39)(100,"mat-label"),s(101,"Wind indicator"),n(),i(102,"mat-select",55),u("ngModelChange",function(t){return m(g),f(e.facade.settings.display.windIndicator,t)||(e.facade.settings.display.windIndicator=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(103,Ot,2,2,"mat-option",41,v),n()()()()()()()()()(),i(105,"mat-tab",56)(106,"div",32)(107,"div",33)(108,"div",57)(109,"div",35),s(110,"UNITS & VALUES"),n(),i(111,"mat-card",36)(112,"mat-card-content")(113,"div",37)(114,"div",38)(115,"fieldset")(116,"legend")(117,"mat-checkbox",58,2),u("ngModelChange",function(t){return m(g),f(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(119," Use Server Unit Preferences "),n()(),i(120,"div",37)(121,"div",38)(122,"mat-form-field",39)(123,"mat-label"),s(124,"Distance units"),n(),i(125,"mat-select",59,3),u("ngModelChange",function(t){return m(g),f(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(127,Bt,2,2,"mat-option",41,v),n()()(),i(129,"div",38)(130,"mat-form-field",39)(131,"mat-label"),s(132,"Depth units"),n(),i(133,"mat-select",59),u("ngModelChange",function(t){return m(g),f(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(134,It,2,2,"mat-option",41,v),n()()(),i(136,"div",38)(137,"mat-form-field",39)(138,"mat-label"),s(139,"Length units"),n(),i(140,"mat-select",59),u("ngModelChange",function(t){return m(g),f(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(141,Ft,2,2,"mat-option",41,v),n()()(),i(143,"div",38)(144,"mat-form-field",39)(145,"mat-label"),s(146,"Temperature units"),n(),i(147,"mat-select",59),u("ngModelChange",function(t){return m(g),f(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(148,At,2,2,"mat-option",41,v),n()()(),i(150,"div",38)(151,"mat-form-field",39)(152,"mat-label"),s(153,"Speed units"),n(),i(154,"mat-select",59),u("ngModelChange",function(t){return m(g),f(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(155,Nt,2,2,"mat-option",41,v),n()()()()()()(),i(157,"div",37),T(158,Ut,7,1,"div",38),T(159,Zt,7,1,"div",38),i(160,"div",38)(161,"signalk-preferred-paths",60),p("chosen",function(t){return e.onPreferredPaths(t)}),n()()()()()()()()(),i(162,"mat-tab",61)(163,"div",32)(164,"div",33)(165,"div",62)(166,"div",35),s(167,"MAP"),n(),i(168,"mat-card")(169,"mat-card-content")(170,"div",37)(171,"div",38)(172,"div",63),s(173," \xA0 "),n(),i(174,"mat-form-field",39)(175,"mat-label"),s(176,"Feature label zoom level"),n(),i(177,"mat-select",64),u("ngModelChange",function(t){return m(g),f(e.facade.settings.map.labelsMinZoom,t)||(e.facade.settings.map.labelsMinZoom=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(178,Ht,2,2,"mat-option",41,b),n()()(),i(180,"div",38)(181,"div",65),s(182," Offset Vessel Center (%) "),n(),i(183,"div",66)(184,"mat-form-field",67)(185,"mat-label"),s(186,"Vertical"),n(),i(187,"input",68,4),u("ngModelChange",function(t){return m(g),f(e.facade.settings.map.centerOffset.y,t)||(e.facade.settings.map.centerOffset.y=t),c(t)}),p("change",function(){m(g);let t=M(188);return c(e.parseCenterOffset(t))}),n()(),i(189,"mat-form-field",67)(190,"mat-label"),s(191,"Horizontal"),n(),i(192,"input",69,5),u("ngModelChange",function(t){return m(g),f(e.facade.settings.map.centerOffset.x,t)||(e.facade.settings.map.centerOffset.x=t),c(t)}),p("change",function(){m(g);let t=M(193);return c(e.parseCenterOffset(t))}),n()()()(),i(194,"div",38)(195,"mat-checkbox",70),u("ngModelChange",function(t){return m(g),f(e.facade.settings.map.popoverMulti,t)||(e.facade.settings.map.popoverMulti=t),c(t)}),p("change",function(){return e.persistModel()}),s(196," Popovers close with button "),n()(),i(197,"div",38)(198,"mat-checkbox",71),u("ngModelChange",function(t){return m(g),f(e.facade.settings.map.doubleClickZoom,t)||(e.facade.settings.map.doubleClickZoom=t),c(t)}),p("change",function(){return e.persistModel()}),s(199," Double click to Zoom "),n()(),i(200,"div",38)(201,"mat-checkbox",72),u("ngModelChange",function(t){return m(g),f(e.facade.settings.map.overZoomTiles,t)||(e.facade.settings.map.overZoomTiles=t),c(t)}),p("change",function(){return e.persistModel()}),s(202," Keep tiles visible on max zoom "),n()(),i(203,"div",38)(204,"mat-form-field",39)(205,"mat-label"),s(206,"Map Pan When Following"),n(),i(207,"mat-select",73),u("ngModelChange",function(t){return m(g),f(e.facade.settings.map.panBehavior,t)||(e.facade.settings.map.panBehavior=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(208,Kt,2,2,"mat-option",41,v),n()()()()()(),i(210,"div",35),s(211,"VECTOR CHARTS"),n(),i(212,"mat-card")(213,"mat-card-content")(214,"div",37)(215,"div",38)(216,"mat-form-field",39)(217,"mat-label"),s(218,"Graphics Style"),n(),i(219,"mat-select",74),u("ngModelChange",function(t){return m(g),f(e.facade.settings.map.s57Options.graphicsStyle,t)||(e.facade.settings.map.s57Options.graphicsStyle=t),c(t)}),p("selectionChange",function(){return e.doS57()}),y(220,zt,2,2,"mat-option",41,v),n()()(),i(222,"div",38)(223,"mat-form-field",39)(224,"mat-label"),s(225,"Boundaries"),n(),i(226,"mat-select",75),u("ngModelChange",function(t){return m(g),f(e.facade.settings.map.s57Options.boundaries,t)||(e.facade.settings.map.s57Options.boundaries=t),c(t)}),p("selectionChange",function(){return e.doS57()}),y(227,qt,2,2,"mat-option",41,v),n()()(),i(229,"div",38)(230,"mat-form-field",39)(231,"mat-label"),s(232,"Color Table (Requires refresh)"),n(),i(233,"mat-select",76),u("ngModelChange",function(t){return m(g),f(e.facade.settings.map.s57Options.colorTable,t)||(e.facade.settings.map.s57Options.colorTable=t),c(t)}),p("selectionChange",function(){return e.doS57()}),y(234,jt,2,2,"mat-option",41,v),n()()(),i(236,"div",38)(237,"mat-form-field",39)(238,"mat-label"),s(239,"Colors"),n(),i(240,"mat-select",77),u("ngModelChange",function(t){return m(g),f(e.facade.settings.map.s57Options.colors,t)||(e.facade.settings.map.s57Options.colors=t),c(t)}),p("selectionChange",function(){return e.doS57()}),y(241,Xt,2,2,"mat-option",41,b),n()()()(),i(243,"div",37)(244,"div",38)(245,"mat-form-field",39)(246,"mat-label"),s(247,"Shallow depth"),n(),i(248,"input",78,6),u("ngModelChange",function(t){return m(g),f(e.facade.settings.map.s57Options.shallowDepth,t)||(e.facade.settings.map.s57Options.shallowDepth=t),c(t)}),p("change",function(){m(g);let t=M(249);return c(e.doS57(t))}),n(),T(250,Yt,2,0,"mat-error"),i(251,"span",79),s(252,"m"),n()()(),i(253,"div",38)(254,"mat-form-field",39)(255,"mat-label"),s(256,"Safety depth"),n(),i(257,"input",78,7),u("ngModelChange",function(t){return m(g),f(e.facade.settings.map.s57Options.safetyDepth,t)||(e.facade.settings.map.s57Options.safetyDepth=t),c(t)}),p("change",function(){m(g);let t=M(258);return c(e.doS57(t))}),n(),T(259,Jt,2,0,"mat-error"),i(260,"span",79),s(261,"m"),n()()(),i(262,"div",38)(263,"mat-form-field",39)(264,"mat-label"),s(265,"Deep depth"),n(),i(266,"input",78,8),u("ngModelChange",function(t){return m(g),f(e.facade.settings.map.s57Options.deepDepth,t)||(e.facade.settings.map.s57Options.deepDepth=t),c(t)}),p("change",function(){m(g);let t=M(267);return c(e.doS57(t))}),n(),T(268,Qt,2,0,"mat-error"),i(269,"span",79),s(270,"m"),n()()(),i(271,"div",38)(272,"mat-form-field",39)(273,"mat-label"),s(274,"Layers"),n(),i(275,"mat-select",80),u("ngModelChange",function(t){return m(g),f(e.facade.settings.map.s57Options.otherLayers,t)||(e.facade.settings.map.s57Options.otherLayers=t),c(t)}),p("selectionChange",function(){return e.doS57()}),y(276,$t,2,2,"mat-option",41,v),n()()()()()()()()()(),i(278,"mat-tab",81)(279,"div",32)(280,"div",33)(281,"div",82)(282,"div",35),s(283,"COURSE"),n(),i(284,"mat-card",36)(285,"mat-card-content")(286,"div",37)(287,"div",38)(288,"mat-form-field",39)(289,"mat-label"),s(290,"Arrival Circle"),n(),i(291,"input",78,9),u("ngModelChange",function(t){return m(g),f(e.facade.settings.course.arrivalCircle,t)||(e.facade.settings.course.arrivalCircle=t),c(t)}),p("change",function(){m(g);let t=M(292);return c(e.parseNumber(t))}),n(),T(293,ei,2,0,"mat-error"),i(294,"span",79),s(295,"m"),n()()()(),i(296,"div",37)(297,"div",38)(298,"mat-checkbox",48,10),u("ngModelChange",function(t){return m(g),f(e.facade.settings.course.autoNextPointOnArrival,t)||(e.facade.settings.course.autoNextPointOnArrival=t),c(t)}),p("change",function(){return e.persistModel()}),s(300," Auto-advance to next point on arrival "),n()()(),i(301,"div",37)(302,"div",38)(303,"mat-form-field",39)(304,"mat-label"),s(305,"Notification type to use"),n(),i(306,"mat-select",83,11),u("ngModelChange",function(t){return m(g),f(e.facade.settings.course.autoNextPointTrigger,t)||(e.facade.settings.course.autoNextPointTrigger=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(308,ti,2,2,"mat-option",41,b),n()()(),i(310,"div",38)(311,"mat-form-field",39)(312,"mat-label"),s(313,"Time to wait before advancing"),n(),i(314,"mat-select",84),u("ngModelChange",function(t){return m(g),f(e.facade.settings.course.autoNextPointDelay,t)||(e.facade.settings.course.autoNextPointDelay=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(315,ii,2,2,"mat-option",41,v),n()()()()()()()()()(),i(317,"mat-tab",85)(318,"div",32)(319,"div",33)(320,"div",86)(321,"div",35),s(322,"VESSEL"),n(),i(323,"mat-card",36)(324,"mat-card-content")(325,"div",37)(326,"div",38)(327,"fieldset")(328,"legend"),s(329,"Vessel Icon Size"),n(),i(330,"div",37)(331,"div",38)(332,"mat-radio-group",87),u("ngModelChange",function(t){return m(g),f(e.facade.settings.vessels.iconScale,t)||(e.facade.settings.vessels.iconScale=t),c(t)}),p("change",function(){return e.persistModel()}),y(333,ni,3,4,"mat-radio-button",41,v),n()()()()()(),i(335,"div",38)(336,"fieldset")(337,"legend")(338,"mat-checkbox",88,12),u("ngModelChange",function(t){return m(g),f(e.facade.settings.vessels.fixedLocationMode,t)||(e.facade.settings.vessels.fixedLocationMode=t),c(t)}),p("change",function(){return e.persistModel()}),s(340," Fixed Location Mode "),n()(),i(341,"div",37)(342,"div",38)(343,"mat-form-field",67)(344,"mat-label"),s(345,"Latitude"),n(),i(346,"input",89,13),u("ngModelChange",function(t){return m(g),f(e.facade.fixedPosition[1],t)||(e.facade.fixedPosition[1]=t),c(t)}),p("change",function(){m(g);let t=M(347);return c(e.parseNumber(t,!0))}),n(),T(348,ai,2,0,"mat-error"),n(),i(349,"mat-form-field",67)(350,"mat-label"),s(351,"Longitude"),n(),i(352,"input",90,14),u("ngModelChange",function(t){return m(g),f(e.facade.fixedPosition[0],t)||(e.facade.fixedPosition[0]=t),c(t)}),p("change",function(){m(g);let t=M(353);return c(e.parseNumber(t,!0))}),n(),T(354,oi,2,0,"mat-error"),n()()()()()()(),E(355,"br"),i(356,"mat-card",36)(357,"mat-card-content")(358,"div",38)(359,"fieldset")(360,"legend"),s(361,"Vessel Lines:"),n(),i(362,"div",37)(363,"mat-checkbox",48),u("ngModelChange",function(t){return m(g),f(e.facade.settings.vessels.windVectors,t)||(e.facade.settings.vessels.windVectors=t),c(t)}),p("change",function(){return e.persistModel()}),s(364," Display Wind Vectors "),n(),i(365,"mat-checkbox",48),u("ngModelChange",function(t){return m(g),f(e.facade.settings.vessels.laylines,t)||(e.facade.settings.vessels.laylines=t),c(t)}),p("change",function(){return e.persistModel()}),s(366," Display Laylines "),n()(),i(367,"div",37)(368,"div",38)(369,"fieldset")(370,"legend"),s(371,"Heading Line"),n(),i(372,"div",37)(373,"div",38)(374,"mat-form-field")(375,"mat-label"),s(376,"Heading Line Length"),n(),i(377,"mat-select",91),u("ngModelChange",function(t){return m(g),f(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(378,ri,2,2,"mat-option",41,v),n()()(),i(380,"div",38)(381,"linestyle-select",92),p("selectionChange",function(t){return e.onLineStyle("heading",t)}),n()()()()()(),i(382,"div",37)(383,"div",38)(384,"fieldset")(385,"legend"),s(386,"COG Line"),n(),i(387,"div",37)(388,"div",38)(389,"mat-form-field")(390,"mat-label"),s(391,"COG Line Length"),n(),i(392,"mat-select",93),u("ngModelChange",function(t){return m(g),f(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(393,si,2,2,"mat-option",41,v),n()()(),i(395,"div",38)(396,"linestyle-select",92),p("selectionChange",function(t){return e.onLineStyle("cog",t)}),n()()()()()()()(),i(397,"div",38)(398,"fieldset")(399,"legend")(400,"mat-checkbox",48),u("ngModelChange",function(t){return m(g),f(e.facade.settings.vessels.rangeCircles,t)||(e.facade.settings.vessels.rangeCircles=t),c(t)}),p("change",function(){return e.persistModel()}),s(401," Display Range Circles "),n()(),i(402,"div",37)(403,"div",38)(404,"mat-form-field",39)(405,"mat-label"),s(406,"Number of Range Circles"),n(),i(407,"mat-select",94),u("ngModelChange",function(t){return m(g),f(e.facade.settings.vessels.rangeCircleCount,t)||(e.facade.settings.vessels.rangeCircleCount=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(408,li,2,2,"mat-option",41,b),n()()(),i(410,"div",38)(411,"mat-form-field",39)(412,"mat-label"),s(413,"Minimum Zoom Level"),n(),i(414,"mat-select",94),u("ngModelChange",function(t){return m(g),f(e.facade.settings.vessels.rangeCircleMinZoom,t)||(e.facade.settings.vessels.rangeCircleMinZoom=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(415,di,2,2,"mat-option",41,b),n()()()(),i(417,"div",37)(418,"div",38)(419,"mat-checkbox",95),u("ngModelChange",function(t){return m(g),f(e.facade.settings.vessels.rangeCirclesFixed,t)||(e.facade.settings.vessels.rangeCirclesFixed=t),c(t)}),p("change",function(){return e.persistModel()}),s(420," Use Fixed Distance "),n()(),i(421,"div",38)(422,"mat-form-field",67)(423,"mat-label"),s(424),n(),i(425,"input",96,15),u("ngModelChange",function(t){return m(g),f(e.formattedNumberModel.rangeCirclesDistance,t)||(e.formattedNumberModel.rangeCirclesDistance=t),c(t)}),p("change",function(){m(g);let t=M(426);return c(e.parseFormattedNumber(t))}),n(),T(427,gi,2,0,"mat-error"),n()()()()()()(),E(428,"br"),i(429,"mat-card",36)(430,"mat-card-content")(431,"div",37)(432,"fieldset")(433,"legend")(434,"mat-checkbox",48),u("ngModelChange",function(t){return m(g),f(e.facade.settings.vessels.trail,t)||(e.facade.settings.vessels.trail=t),c(t)}),p("change",function(){return e.persistModel("vesselTrail")}),s(435," Display Vessel Track "),n()(),i(436,"div",37)(437,"div",38)(438,"mat-checkbox",97),u("ngModelChange",function(t){return m(g),f(e.facade.settings.vessels.trailFromServer,t)||(e.facade.settings.vessels.trailFromServer=t),c(t)}),p("change",function(){return e.persistModel("trailFromServer")}),s(439," Get Track from server "),n(),s(440," \xA0\xA0 "),i(441,"mat-slider",98)(442,"input",99),u("ngModelChange",function(t){return m(g),f(e.facade.settings.vessels.trailDuration,t)||(e.facade.settings.vessels.trailDuration=t),c(t)}),p("valueChange",function(){return e.deferPersist()}),n()(),s(443),n()(),i(444,"div",37)(445,"div",38)(446,"mat-form-field",39)(447,"mat-label"),s(448,"Resolution: Last hour"),n(),i(449,"mat-select",94),u("ngModelChange",function(t){return m(g),f(e.facade.settings.vessels.trailResolution.lastHour,t)||(e.facade.settings.vessels.trailResolution.lastHour=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(450,mi,2,2,"mat-option",41,v),n()()(),i(452,"div",38)(453,"mat-form-field",39)(454,"mat-label"),s(455,"Resolution: 1 hr -> 24 hrs"),n(),i(456,"mat-select",94),u("ngModelChange",function(t){return m(g),f(e.facade.settings.vessels.trailResolution.next23,t)||(e.facade.settings.vessels.trailResolution.next23=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(457,ci,2,2,"mat-option",41,v),n()()(),i(459,"div",38)(460,"mat-form-field",39)(461,"mat-label"),s(462,"Resolution: > 24 hrs"),n(),i(463,"mat-select",94),u("ngModelChange",function(t){return m(g),f(e.facade.settings.vessels.trailResolution.beyond24,t)||(e.facade.settings.vessels.trailResolution.beyond24=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(464,pi,2,2,"mat-option",41,v),n()()()()()()()(),i(466,"div",35),s(467,"OTHER VESSELS"),n(),i(468,"mat-card",36)(469,"mat-card-content")(470,"div",37)(471,"div",38)(472,"mat-checkbox",48),u("ngModelChange",function(t){return m(g),f(e.facade.settings.vessels.aisShowTrack,t)||(e.facade.settings.vessels.aisShowTrack=t),c(t)}),p("change",function(){return e.persistModel()}),s(473," Show Track "),n(),s(474," \xA0 "),i(475,"mat-checkbox",48),u("ngModelChange",function(t){return m(g),f(e.aisStateFilter.moored,t)||(e.aisStateFilter.moored=t),c(t)}),p("change",function(){return e.onAisStateFilter()}),s(476," Hide Moored "),n(),s(477," \xA0 "),i(478,"mat-checkbox",48),u("ngModelChange",function(t){return m(g),f(e.aisStateFilter.anchored,t)||(e.aisStateFilter.anchored=t),c(t)}),p("change",function(){return e.onAisStateFilter()}),s(479," Hide Anchored "),n()()(),i(480,"div",37)(481,"div",38)(482,"mat-form-field",39)(483,"mat-label"),s(484,"Mark AIS target inactive after"),n(),i(485,"mat-select",64),u("ngModelChange",function(t){return m(g),f(e.facade.settings.vessels.aisStaleAge,t)||(e.facade.settings.vessels.aisStaleAge=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(486,_i,2,2,"mat-option",41,v),n()()(),i(488,"div",38)(489,"mat-form-field",39)(490,"mat-label"),s(491,"Remove AIS target after"),n(),i(492,"mat-select",64),u("ngModelChange",function(t){return m(g),f(e.facade.settings.vessels.aisMaxAge,t)||(e.facade.settings.vessels.aisMaxAge=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(493,fi,2,2,"mat-option",41,v),n()()(),i(495,"div",38)(496,"mat-form-field",39)(497,"mat-label"),s(498,"Wind Vector Value"),n(),i(499,"mat-select",64),u("ngModelChange",function(t){return m(g),f(e.facade.settings.vessels.aisWindApparent,t)||(e.facade.settings.vessels.aisWindApparent=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(500,ui,2,2,"mat-option",41,v),n()()(),i(502,"div",38)(503,"mat-form-field",39)(504,"mat-label"),s(505,"Wind / Track Zoom Level"),n(),i(506,"mat-select",64),u("ngModelChange",function(t){return m(g),f(e.facade.settings.vessels.aisWindMinZoom,t)||(e.facade.settings.vessels.aisWindMinZoom=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(507,hi,2,2,"mat-option",41,b),n()()(),i(509,"div",38)(510,"mat-form-field",39)(511,"mat-label"),s(512,"COG Line"),n(),i(513,"mat-select",64),u("ngModelChange",function(t){return m(g),f(e.facade.settings.vessels.aisCogLine,t)||(e.facade.settings.vessels.aisCogLine=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(514,yi,2,2,"mat-option",41,v),n()()()()()()()()()(),i(516,"mat-tab",100)(517,"div",32)(518,"div",33)(519,"div",101)(520,"div",35),s(521,"NOTES"),n(),i(522,"mat-card",36)(523,"mat-card-content")(524,"div",46)(525,"div",38)(526,"mat-checkbox",48),u("ngModelChange",function(t){return m(g),f(e.facade.settings.ui.showNotes,t)||(e.facade.settings.ui.showNotes=t),c(t)}),p("change",function(){return e.persistModel()}),s(527," Display Notes on Map "),n()(),i(528,"div",38)(529,"mat-form-field",39)(530,"mat-label"),s(531,"Notes Zoom Level"),n(),i(532,"mat-select",102),u("valueChange",function(t){return m(g),f(e.facade.settings.resources.notes.minZoom,t)||(e.facade.settings.resources.notes.minZoom=t),c(t)}),p("selectionChange",function(){return e.persistModel("fetchNotes")}),y(533,Si,2,2,"mat-option",41,b),n()()()(),i(535,"div",46)(536,"div",38)(537,"mat-form-field",39)(538,"mat-label"),s(539),n(),i(540,"mat-select",59),u("ngModelChange",function(t){return m(g),f(e.facade.settings.resources.notes.getRadius,t)||(e.facade.settings.resources.notes.getRadius=t),c(t)}),p("selectionChange",function(){return e.persistModel("fetchNotes")}),y(541,Ci,2,2,"mat-option",41,b),n()()()(),i(543,"div",46)(544,"div",38)(545,"mat-form-field",52)(546,"mat-label"),s(547,"Notes fetch filter:"),n(),i(548,"input",103,16),u("ngModelChange",function(t){return m(g),f(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(550,Mi,3,0,"button",104),n()()(),i(551,"div",46)(552,"div",38)(553,"mat-checkbox",105),u("ngModelChange",function(t){return m(g),f(e.facade.settings.resources.notes.groupNameEdit,t)||(e.facade.settings.resources.notes.groupNameEdit=t),c(t)}),p("change",function(){return e.persistModel()}),s(554," Edit Group Names "),n()(),i(555,"div",38)(556,"mat-checkbox",106),u("ngModelChange",function(t){return m(g),f(e.facade.settings.resources.notes.groupRequiresPosition,t)||(e.facade.settings.resources.notes.groupRequiresPosition=t),c(t)}),p("change",function(){return e.persistModel()}),s(557," Position Group Note "),n()()(),i(558,"div",46)(559,"div",38)(560,"mat-checkbox",107),u("ngModelChange",function(t){return m(g),f(e.facade.settings.display.singleClickNoteDetails,t)||(e.facade.settings.display.singleClickNoteDetails=t),c(t)}),p("change",function(){return e.persistModel()}),s(561," Single Click for Note Details "),n()()()()()(),i(562,"div",108)(563,"div",35),s(564,"CUSTOM RESOURCES"),n(),i(565,"mat-card",36)(566,"mat-card-content")(567,"div",46)(568,"div",38)(569,"div",109),s(570," Select custom resource types (./resources/<name>) "),n(),i(571,"mat-selection-list",110,17),p("selectionChange",function(){m(g);let t=M(572);return c(e.onResPathSelected(t))}),y(573,wi,2,3,"mat-list-option",111,b),n()()()()()()()()(),T(575,bi,21,2,"mat-tab",112),i(576,"mat-tab",113)(577,"div",32)(578,"div",33)(579,"div",114)(580,"div",35),s(581,"SIGNAL K: CONNECTION"),n(),i(582,"mat-card",36)(583,"mat-card-content")(584,"div",46)(585,"fieldset")(586,"legend"),s(587,"Filter Stream data:"),n(),i(588,"span",115),s(589," Check to include Signal K schema groups on display."),E(590,"br"),i(591,"i"),s(592,"Use to manage display performance."),n()(),i(593,"div",38)(594,"mat-checkbox",116),u("ngModelChange",function(t){return m(g),f(e.facade.settings.signalk.vessels,t)||(e.facade.settings.signalk.vessels=t),c(t)}),p("change",function(){return e.persistModel()}),s(595," Vessels (other than Self) "),n()(),i(596,"div",38)(597,"mat-checkbox",117),u("ngModelChange",function(t){return m(g),f(e.facade.settings.signalk.atons,t)||(e.facade.settings.signalk.atons=t),c(t)}),p("change",function(){return e.persistModel()}),s(598," Aids to Navigation (AtoN) "),n()(),i(599,"div",38)(600,"mat-checkbox",118),u("ngModelChange",function(t){return m(g),f(e.facade.settings.signalk.aircraft,t)||(e.facade.settings.signalk.aircraft=t),c(t)}),p("change",function(){return e.persistModel()}),s(601," Aircraft "),n()(),i(602,"div",38)(603,"mat-checkbox",119),u("ngModelChange",function(t){return m(g),f(e.facade.settings.signalk.sar,t)||(e.facade.settings.signalk.sar=t),c(t)}),p("change",function(){return e.persistModel()}),s(604," Search and Rescue (SaR) "),n()(),i(605,"div",38)(606,"mat-checkbox",120),u("ngModelChange",function(t){return m(g),f(e.facade.settings.signalk.meteo,t)||(e.facade.settings.signalk.meteo=t),c(t)}),p("change",function(){return e.persistModel()}),s(607," Weather (Meteo) "),n()(),i(608,"div",38),E(609,"br"),i(610,"mat-form-field",39)(611,"mat-label"),s(612,"Max. distance from vessel"),n(),i(613,"mat-select",121,18),u("ngModelChange",function(t){return m(g),f(e.facade.settings.signalk.maxRadius,t)||(e.facade.settings.signalk.maxRadius=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(615,Ti,2,2,"mat-option",41,v),n()()()()(),i(617,"div",46)(618,"div",38)(619,"button",122),p("click",function(){return e.clearAuthToken()}),i(620,"mat-icon"),s(621,"key_off"),n()()()()()()()()()(),i(622,"mat-tab",123)(623,"div",32)(624,"div",33)(625,"div",124)(626,"div",35),s(627,"EXPERIMENTS"),n(),i(628,"mat-card",36)(629,"mat-card-content")(630,"div",46)(631,"div",38)(632,"mat-checkbox",48),u("ngModelChange",function(t){return m(g),f(e.facade.settings.resources.video.enable,t)||(e.facade.settings.resources.video.enable=t),c(t)}),p("change",function(){return e.persistModel()}),s(633," Enable Video "),n()(),i(634,"div",38)(635,"mat-form-field",52)(636,"mat-label"),s(637,"url:"),n(),i(638,"input",125,19),u("ngModelChange",function(t){return m(g),f(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(640,Di,2,0,"mat-error"),n()()(),i(641,"div",46)(642,"div",38)(643,"mat-checkbox",126,20),u("ngModelChange",function(t){return m(g),f(e.facade.settings.experiments,t)||(e.facade.settings.experiments=t),c(t)}),p("change",function(){return e.persistModel()}),i(645,"mat-icon"),s(646,"science"),n(),s(647," Experimental Features "),n()()()()()()()()()()()}if(a&2){let g=M(83),o=M(90),t=M(126),ne=M(249),ae=M(258),oe=M(267),re=M(292),ge=M(299),me=M(339),se=M(347),le=M(353),de=M(426),mt=M(549),ct=M(639);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(5),D(e.facade.applicationList.length>1?47:-1),r(),D(e.show.favourites()?48:-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),k("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)?84:-1),r(5),h("disabled",!e.facade.settings.display.statusBar.liveEta),_("ngModel",e.facade.settings.display.statusBar.tapFadeSpeed),r(2),D(o.invalid&&(o.dirty||o.touched)?91:-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?158:-1),r(),D(e.options.preferredValues.heading.length!==0?159:-1),r(18),_("ngModel",e.facade.settings.map.labelsMinZoom),r(),S(e.options.zoomLevels),r(9),h("min",-e.centerOffsetLimit)("max",e.centerOffsetLimit),_("ngModel",e.facade.settings.map.centerOffset.y),r(5),h("min",-e.centerOffsetLimit)("max",e.centerOffsetLimit),_("ngModel",e.facade.settings.map.centerOffset.x),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(6),_("ngModel",e.facade.settings.map.panBehavior),r(),S(e.options.map.panBehavior),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(ne.invalid&&(ne.dirty||ne.touched)?250:-1),r(7),_("ngModel",e.facade.settings.map.s57Options.safetyDepth),r(2),D(ae.invalid&&(ae.dirty||ae.touched)?259:-1),r(7),_("ngModel",e.facade.settings.map.s57Options.deepDepth),r(2),D(oe.invalid&&(oe.dirty||oe.touched)?268:-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(re.invalid&&(re.dirty||re.touched)?293:-1),r(5),_("ngModel",e.facade.settings.course.autoNextPointOnArrival),r(8),h("disabled",ge.checked===!1),_("ngModel",e.facade.settings.course.autoNextPointTrigger),r(2),S(e.options.course.nextPointTrigger),r(6),h("disabled",ge.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",!me.checked),r(2),D(se.invalid&&(se.dirty||se.touched)?348:-1),r(4),_("ngModel",e.facade.fixedPosition[0]),h("disabled",!me.checked),r(2),D(le.invalid&&(le.dirty||le.touched)?354:-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),k(" 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(de.invalid&&(de.dirty||de.touched)?427:-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(),k(" 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(t.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(mt.value?550:-1),r(3),_("ngModel",e.facade.settings.resources.notes.groupNameEdit),r(3),_("ngModel",e.facade.settings.resources.notes.groupRequiresPosition),r(4),_("ngModel",e.facade.settings.display.singleClickNoteDetails),r(13),S(e.facade.resourcePathList),r(2),D(e.app.featureFlags().radarApi?575:-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(ct.invalid?640:-1),r(3),_("ngModel",e.facade.settings.experiments)}},dependencies:[H,U,be,G,Ee,We,De,Te,Z,Ce,Se,Ne,Ae,ee,it,$,Fe,Be,Ie,Le,Pe,ke,Ve,N,we,Me,R,ve,K,Oe,ot,nt,at,Qe,Q,q,z,Re,Ue,J,Y,Ge,X,j,xe,Ke,He,tt,$e,et,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}.settings[_ngcontent-%COMP%] .setting-field-group-title[_ngcontent-%COMP%]{font-size:10pt;font-family:Arial,Helvetica,sans-serif;opacity:.7;line-height:1.4;min-height:1.4em;padding-bottom:2px}.settings[_ngcontent-%COMP%] .setting-field-group[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:10px}.settings[_ngcontent-%COMP%] .setting-field-group[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%]{flex:0 1 150px;min-width:80px}@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{gt as SettingsDialog};
1
+ import{F as Qe,M as $e,N as et,O as tt,ca as it,da as $,e as xe,ea as ee,ia as nt,ja as at,ka as ot,m as ze,n as B,p as qe,q as je,s as Xe,t as Ye,y as Je,ya as rt,z as L,za as st}from"./chunk-D7ZEGEOC.js";import{a as K,b as He,c as Ke}from"./chunk-NDDO5DKA.js";import{a as Ve,h as ke,j as Pe,k as Le}from"./chunk-PSRS6NXJ.js";import{a as Be,d as Ie,i as Fe,j as Ae,k as Ne}from"./chunk-WXOWBQXR.js";import{a as Y,b as J,c as Ze,d as Q}from"./chunk-SOVFTS2B.js";import{a as Oe}from"./chunk-VSWAOYSI.js";import"./chunk-PGHE7FOF.js";import"./chunk-7UXFP343.js";import"./chunk-TGPAYIRR.js";import{b as z,c as Re,f as Ue,i as q,j as Ge,n as j,o as X}from"./chunk-7Z4ZZM32.js";import{$d as U,Da as O,Dd as ye,Ea as T,Fa as D,Ha as b,Hd as Se,Ia as y,Ja as S,Jd as Ce,Ka as h,Kb as F,La as i,Ma as n,Na as E,Ob as he,P as W,Pb as A,Q as m,R as c,Rd as Me,S as x,T as ce,Td as we,Ua as V,Wa as p,Wd as N,X as pe,Ya as w,Yd as ve,Z as I,Zd as R,_ as _e,ca as fe,ee as G,gb as M,he as Z,ie as be,ja as r,jb as ue,lb as s,le as Te,mb as C,me as De,nb as k,ne as Ee,oe as We,pb as _,pe as H,qb as f,ra as P,rb as u}from"./chunk-JH5KSRZ6.js";import"./chunk-6H3I7D5M.js";var ht=(l,d)=>d[0];function yt(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 St(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=he();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),u("ngModelChange",function(o){return f(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),u("ngModelChange",function(o){return f(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,yt,3,2,"mat-option",8,b),n()(),ce(),i(15,"mat-form-field",3)(16,"mat-label"),s(17,"Style"),n(),i(18,"mat-select",4),u("ngModelChange",function(o){return f(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,St,3,2,"mat-option",8,ht),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,Ze,Y],encapsulation:2})};var Mt=(l,d)=>d[0];function wt(l,d){if(l&1){let a=V();i(0,"div",4)(1,"mat-radio-button",5,0),p("change",function(){m(a);let g=M(2),o=w().$implicit,t=w();return o[1].current=g.value,c(t.save(!0))}),s(3),n()()}if(l&2){let a=d.$implicit,e=w().$implicit;r(),h("name",e[0])("value",a)("checked",a===e[1].current),r(2),k(" ",a.split(".").slice(-1)," ")}}function vt(l,d){if(l&1&&(i(0,"div",2)(1,"div",3)(2,"div"),s(3),n()(),i(4,"div"),y(5,wt,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 pe;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,vt,7,1,"div",2,Mt),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],bt=(l,d)=>d.id;function Tt(l,d){if(l&1&&(i(0,"mat-option",41),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function Dt(l,d){if(l&1&&(i(0,"mat-option",41),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function Et(l,d){if(l&1&&(i(0,"mat-option",127),s(1),n()),l&2){let a=d.$implicit;h("value",a.url)("matTooltip",a.description),r(),k(" ",a.name," ")}}function Wt(l,d){if(l&1){let a=V();i(0,"div",46)(1,"div",38)(2,"mat-form-field",39)(3,"mat-label"),s(4,"Select Instruments App"),n(),i(5,"mat-select",64),u("ngModelChange",function(g){m(a);let o=w();return f(o.facade.settings.display.plugins.instruments,g)||(o.facade.settings.display.plugins.instruments=g),c(g)}),p("selectionChange",function(){m(a);let g=w();return c(g.onInstrumentApp())}),y(6,Et,2,3,"mat-option",127,b),n()()(),i(8,"div",38)(9,"mat-form-field",52)(10,"mat-label"),s(11,"Parameters"),n(),i(12,"input",128,21),u("ngModelChange",function(g){m(a);let o=w();return f(o.facade.settings.display.plugins.parameters,g)||(o.facade.settings.display.plugins.parameters=g),c(g)}),p("change",function(){m(a);let g=w();return c(g.persistModel("pluginParameters"))}),n()()(),i(14,"div",38)(15,"mat-checkbox",129),u("ngModelChange",function(g){m(a);let o=w();return f(o.facade.settings.display.plugins.startOnOpen,g)||(o.facade.settings.display.plugins.startOnOpen=g),c(g)}),p("change",function(){m(a);let g=w();return c(g.persistModel("pluginStartOnOpen"))}),s(16," Halt App on hide "),n()(),i(17,"div",38)(18,"button",130),p("click",function(){m(a);let g=w();return c(g.toggleFavourites())}),i(19,"mat-icon"),s(20,"star"),n(),s(21," FAVOURITES "),n()()()}if(l&2){let a=w();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 Vt(l,d){if(l&1&&(i(0,"mat-list-option",132),s(1),n()),l&2){let a=d.$implicit,e=w(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(),k(" ",a.name," ")}}function kt(l,d){if(l&1){let a=V();i(0,"div",37)(1,"div",38)(2,"div",109),E(3,"br"),s(4,"Select Favourite Apps: "),n(),E(5,"mat-divider"),i(6,"mat-selection-list",131,22),p("selectionChange",function(g){m(a);let o=M(7),t=w();return c(t.onFavSelected(g,o))}),y(8,Vt,2,4,"mat-list-option",132,b),n()()()}if(l&2){let a=w();r(8),S(a.facade.favouritesList)}}function Pt(l,d){if(l&1&&(i(0,"mat-option",41),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function Lt(l,d){l&1&&(i(0,"mat-error"),s(1,"Please enter a number >= 0"),n())}function xt(l,d){l&1&&(i(0,"mat-error"),s(1,"Please enter a number >= 1"),n())}function Ot(l,d){if(l&1&&(i(0,"mat-option",41),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",41),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",41),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function Ft(l,d){if(l&1&&(i(0,"mat-option",41),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function At(l,d){if(l&1&&(i(0,"mat-option",41),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function Nt(l,d){if(l&1&&(i(0,"mat-option",41),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function Rt(l,d){if(l&1&&(i(0,"mat-option",41),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function Ut(l,d){if(l&1){let a=V();i(0,"div",38)(1,"mat-form-field",39)(2,"mat-label"),s(3,"Position display format"),n(),i(4,"mat-select",133),u("ngModelChange",function(g){m(a);let o=w();return f(o.facade.settings.units.positionFormat,g)||(o.facade.settings.units.positionFormat=g),c(g)}),p("selectionChange",function(){m(a);let g=w();return c(g.persistModel())}),y(5,Rt,2,2,"mat-option",41,b),n()()()}if(l&2){let a=w();r(4),_("ngModel",a.facade.settings.units.positionFormat),r(),S(a.options.preferredValues.coords)}}function Gt(l,d){if(l&1&&(i(0,"mat-option",41),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function Zt(l,d){if(l&1){let a=V();i(0,"div",38)(1,"mat-form-field",39)(2,"mat-label"),s(3,"Prefer True / Magnetic values"),n(),i(4,"mat-select",134),u("ngModelChange",function(g){m(a);let o=w();return f(o.facade.settings.units.headingAttribute,g)||(o.facade.settings.units.headingAttribute=g),c(g)}),p("selectionChange",function(){m(a);let g=w();return c(g.persistModel("headingAttribute"))}),y(5,Gt,2,2,"mat-option",41,b),n()()()}if(l&2){let a=w();r(4),_("ngModel",a.facade.settings.units.headingAttribute),r(),S(a.options.preferredValues.heading)}}function Ht(l,d){if(l&1&&(i(0,"mat-option",41),s(1),n()),l&2){let a=d.$implicit;h("value",a),r(),C(a)}}function Kt(l,d){if(l&1&&(i(0,"mat-option",41),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",41),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function qt(l,d){if(l&1&&(i(0,"mat-option",41),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function jt(l,d){if(l&1&&(i(0,"mat-option",41),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",41),s(1),n()),l&2){let a=d.$implicit;h("value",a),r(),C(a)}}function Yt(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 Qt(l,d){l&1&&(i(0,"mat-error"),s(1," Please enter a positive number "),n())}function $t(l,d){if(l&1&&(i(0,"mat-option",41),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function ei(l,d){l&1&&(i(0,"mat-error"),s(1," Please enter a number > 0 "),n())}function ti(l,d){if(l&1&&(i(0,"mat-option",41),s(1),n()),l&2){let a=d.$implicit;h("value",a),r(),C(a)}}function ii(l,d){if(l&1&&(i(0,"mat-option",41),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-radio-button",41),E(1,"img",135),s(2),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),ue(`transform: scale(${a[0]})`),r(),k(" (",a[1],") ")}}function ai(l,d){l&1&&(i(0,"mat-error"),s(1," Please enter a value between -90 and 90 (max 9 decimals) "),n())}function oi(l,d){l&1&&(i(0,"mat-error"),s(1," Please enter a value between -180 and 180 (max 9 decimals) "),n())}function ri(l,d){if(l&1&&(i(0,"mat-option",41),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function si(l,d){if(l&1&&(i(0,"mat-option",41),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",41),s(1),n()),l&2){let a=d.$implicit;h("value",a),r(),C(a)}}function di(l,d){if(l&1&&(i(0,"mat-option",41),s(1),n()),l&2){let a=d.$implicit;h("value",a),r(),C(a)}}function gi(l,d){l&1&&(i(0,"mat-error"),s(1," Please enter a number >= 1. "),n())}function mi(l,d){if(l&1&&(i(0,"mat-option",41),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",41),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",41),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function _i(l,d){if(l&1&&(i(0,"mat-option",41),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function fi(l,d){if(l&1&&(i(0,"mat-option",41),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",41),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function hi(l,d){if(l&1&&(i(0,"mat-option",41),s(1),n()),l&2){let a=d.$implicit;h("value",a),r(),C(a)}}function yi(l,d){if(l&1&&(i(0,"mat-option",41),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function Si(l,d){if(l&1&&(i(0,"mat-option",41),s(1),n()),l&2){let a=d.$implicit;h("value",a),r(),C(a)}}function Ci(l,d){if(l&1&&(i(0,"mat-option",41),s(1),n()),l&2){let a=d.$implicit;h("value",a),r(),C(a)}}function Mi(l,d){if(l&1){let a=V();i(0,"button",136),p("click",function(){m(a),w();let g=M(549);return c(g.value="")}),i(1,"mat-icon"),s(2,"close"),n()()}}function wi(l,d){if(l&1&&(i(0,"mat-list-option",111),s(1),n()),l&2){let a=d.$implicit,e=w();h("selected",e.facade.settings.resources.paths.includes(a))("value",a),r(),k(" ",a," ")}}function vi(l,d){if(l&1&&(i(0,"mat-option",41),s(1),n()),l&2){let a=d.$implicit;h("value",a.id),r(),C(a.name)}}function bi(l,d){if(l&1){let a=V();i(0,"mat-tab",112)(1,"div",32)(2,"div",33)(3,"div",124)(4,"div",35),s(5,"RADAR SETTINGS"),n(),i(6,"mat-card",36)(7,"div",46)(8,"div",38)(9,"mat-form-field",137)(10,"mat-label"),s(11,"Radar Devices"),n(),i(12,"mat-select",138,23),u("ngModelChange",function(g){m(a);let o=w();return f(o.facade.settings.radars.deviceId,g)||(o.facade.settings.radars.deviceId=g),c(g)}),p("selectionChange",function(){m(a);let g=w();return c(g.doRadar())}),y(14,vi,2,2,"mat-option",41,bt),n()()(),i(16,"div",38)(17,"button",139),p("click",function(){m(a);let g=w();return c(g.refreshRadars())}),i(18,"mat-icon"),s(19," refresh"),n(),s(20," REFRESH "),n()()()()()()()()}if(l&2){let a=w();r(12),h("disabled",!a.radarList().length||a.app.uiCtrl().radarLayer),_("ngModel",a.facade.settings.radars.deviceId),r(2),S(a.radarList())}}function Ti(l,d){if(l&1&&(i(0,"mat-option",41),s(1),n()),l&2){let a=d.$implicit;h("value",a[0]),r(),C(a[1])}}function Di(l,d){l&1&&(i(0,"mat-error"),s(1," Value required. "),n())}var gt=class l{show={favourites:I(!1)};options;centerOffsetLimit=qe;aisStateFilter={moored:!1,anchored:!1};formattedNumberModel={rangeCirclesDistance:1e3};unitsChangedSignal=I(0);radarList=I([]);saveOnClose=!1;facade=W(st);myElement=W(fe);dialogRef=W(ye);wakeLock=W(ze);s57=W(Xe);app=W(L);radarApi=W(Je);constructor(){this.options=new rt,_e(()=>{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)}parseCenterOffset(d){d.reset(typeof d.model=="number"?je(d.model):0),this.persistModel()}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=Ye();if(typeof this.facade.settings.display.statusBar.referenceSpeed!="number")return d.display.statusBar.referenceSpeed;if(typeof this.facade.settings.display.statusBar.tapFadeSpeed!="number")return d.display.statusBar.tapFadeSpeed;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:648,vars:136,consts:[["refspeed","ngModel"],["tapfade","ngModel"],["serverprefs",""],["distunits",""],["centerOffsetY","ngModel"],["centerOffsetX","ngModel"],["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"],[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. Click or tap the chart to hold the readout on that point.",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"],["matInput","","type","number","min","1","step","0.5","matTooltip","How long the marker left by a click or tap takes to fade. The readout stays held on that point until it does.",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"],["aria-hidden","true",1,"setting-field-group-title"],[3,"ngModelChange","selectionChange","ngModel"],[1,"setting-field-group-title"],[1,"setting-field-group"],["floatLabel","always"],["matInput","","type","number","matTooltip","Where the vessel sits up or down the screen, as a percentage of the distance to the edge. Positive looks ahead (vessel lower); negative looks behind.",3,"ngModelChange","change","min","max","ngModel"],["matInput","","type","number","matTooltip","Where the vessel sits left or right of centre, as a percentage of the distance to the edge. Positive shifts the map right (vessel left).",3,"ngModelChange","change","min","max","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","What panning the chart does while following the vessel.",3,"ngModelChange","selectionChange","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"],["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"],["label","after","matTooltip","Open Note details with a single click instead of showing the pop-up options",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=V();i(0,"mat-toolbar",24)(1,"span",25)(2,"mat-icon"),s(3,"settings"),n()(),i(4,"span",26),s(5,"Settings"),n(),i(6,"span",27)(7,"button",28),p("click",function(){return e.handleClose()}),i(8,"mat-icon"),s(9,"close"),n()()()(),i(10,"div",29)(11,"mat-tab-group",30)(12,"mat-tab",31)(13,"div",32)(14,"div",33)(15,"div",34)(16,"div",35),s(17,"DISPLAY"),n(),i(18,"mat-card",36)(19,"mat-card-content")(20,"div",37)(21,"div",38)(22,"mat-form-field",39)(23,"mat-label"),s(24,"Dark Mode setting"),n(),i(25,"mat-select",40),u("ngModelChange",function(t){return m(g),f(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,Tt,2,2,"mat-option",41,v),n()()(),i(28,"div",38)(29,"mat-checkbox",42),u("ngModelChange",function(t){return m(g),f(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",38)(32,"mat-form-field",39)(33,"mat-label"),s(34,"Action Button"),n(),i(35,"mat-select",43),u("ngModelChange",function(t){return m(g),f(e.facade.settings.display.fab,t)||(e.facade.settings.display.fab=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(36,Dt,2,2,"mat-option",41,v),n()()(),i(38,"div",38)(39,"mat-checkbox",44),u("ngModelChange",function(t){return m(g),f(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",38)(42,"mat-checkbox",45),u("ngModelChange",function(t){return m(g),f(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()()()()(),E(44,"br"),i(45,"mat-card",36)(46,"mat-card-content"),T(47,Wt,22,4,"div",46),T(48,kt,10,0,"div",37),n()(),E(49,"br"),n(),i(50,"div",34)(51,"div",35),s(52,"SOUND"),n(),i(53,"mat-card",36)(54,"mat-card-content")(55,"div",37)(56,"div",38)(57,"mat-checkbox",47),u("ngModelChange",function(t){return m(g),f(e.facade.settings.display.muteSound,t)||(e.facade.settings.display.muteSound=t),c(t)}),p("change",function(){return e.persistModel()}),s(58," Do not Play Sounds "),n()(),i(59,"div",38)(60,"mat-checkbox",48),u("ngModelChange",function(t){return m(g),f(e.facade.settings.display.depthAlarm.enabled,t)||(e.facade.settings.display.depthAlarm.enabled=t),c(t)}),p("change",function(){return e.persistModel()}),s(61," Show DEPTH Alarms "),n()(),i(62,"div",38)(63,"mat-form-field",39)(64,"mat-label"),s(65,"Alarm Smoothing Time"),n(),i(66,"mat-select",49),u("ngModelChange",function(t){return m(g),f(e.facade.settings.display.depthAlarm.smoothing,t)||(e.facade.settings.display.depthAlarm.smoothing=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(67,Pt,2,2,"mat-option",41,v),n()()()()()()(),i(69,"div",50)(70,"div",35),s(71,"STATUS BAR OPTIONS"),n(),i(72,"mat-card",36)(73,"mat-card-content")(74,"div",37)(75,"div",38)(76,"mat-checkbox",51),u("ngModelChange",function(t){return m(g),f(e.facade.settings.display.statusBar.liveEta,t)||(e.facade.settings.display.statusBar.liveEta=t),c(t)}),p("change",function(){return e.persistModel()}),s(77," Live ETA at cursor "),n()(),i(78,"div",38)(79,"mat-form-field",52)(80,"mat-label"),s(81),n(),i(82,"input",53,0),u("ngModelChange",function(t){return m(g),f(e.facade.settings.display.statusBar.referenceSpeed,t)||(e.facade.settings.display.statusBar.referenceSpeed=t),c(t)}),p("change",function(){m(g);let t=M(83);return c(e.parseNumber(t))}),n(),T(84,Lt,2,0,"mat-error"),n()(),i(85,"div",38)(86,"mat-form-field",52)(87,"mat-label"),s(88,"Tap Fade Speed (s)"),n(),i(89,"input",54,1),u("ngModelChange",function(t){return m(g),f(e.facade.settings.display.statusBar.tapFadeSpeed,t)||(e.facade.settings.display.statusBar.tapFadeSpeed=t),c(t)}),p("change",function(){m(g);let t=M(90);return c(e.parseNumber(t))}),n(),T(91,xt,2,0,"mat-error"),n()()()()()(),i(92,"div",50)(93,"div",35),s(94,"WEATHER"),n(),i(95,"mat-card",36)(96,"mat-card-content")(97,"div",37)(98,"div",38)(99,"mat-form-field",39)(100,"mat-label"),s(101,"Wind indicator"),n(),i(102,"mat-select",55),u("ngModelChange",function(t){return m(g),f(e.facade.settings.display.windIndicator,t)||(e.facade.settings.display.windIndicator=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(103,Ot,2,2,"mat-option",41,v),n()()()()()()()()()(),i(105,"mat-tab",56)(106,"div",32)(107,"div",33)(108,"div",57)(109,"div",35),s(110,"UNITS & VALUES"),n(),i(111,"mat-card",36)(112,"mat-card-content")(113,"div",37)(114,"div",38)(115,"fieldset")(116,"legend")(117,"mat-checkbox",58,2),u("ngModelChange",function(t){return m(g),f(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(119," Use Server Unit Preferences "),n()(),i(120,"div",37)(121,"div",38)(122,"mat-form-field",39)(123,"mat-label"),s(124,"Distance units"),n(),i(125,"mat-select",59,3),u("ngModelChange",function(t){return m(g),f(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(127,Bt,2,2,"mat-option",41,v),n()()(),i(129,"div",38)(130,"mat-form-field",39)(131,"mat-label"),s(132,"Depth units"),n(),i(133,"mat-select",59),u("ngModelChange",function(t){return m(g),f(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(134,It,2,2,"mat-option",41,v),n()()(),i(136,"div",38)(137,"mat-form-field",39)(138,"mat-label"),s(139,"Length units"),n(),i(140,"mat-select",59),u("ngModelChange",function(t){return m(g),f(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(141,Ft,2,2,"mat-option",41,v),n()()(),i(143,"div",38)(144,"mat-form-field",39)(145,"mat-label"),s(146,"Temperature units"),n(),i(147,"mat-select",59),u("ngModelChange",function(t){return m(g),f(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(148,At,2,2,"mat-option",41,v),n()()(),i(150,"div",38)(151,"mat-form-field",39)(152,"mat-label"),s(153,"Speed units"),n(),i(154,"mat-select",59),u("ngModelChange",function(t){return m(g),f(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(155,Nt,2,2,"mat-option",41,v),n()()()()()()(),i(157,"div",37),T(158,Ut,7,1,"div",38),T(159,Zt,7,1,"div",38),i(160,"div",38)(161,"signalk-preferred-paths",60),p("chosen",function(t){return e.onPreferredPaths(t)}),n()()()()()()()()(),i(162,"mat-tab",61)(163,"div",32)(164,"div",33)(165,"div",62)(166,"div",35),s(167,"MAP"),n(),i(168,"mat-card")(169,"mat-card-content")(170,"div",37)(171,"div",38)(172,"div",63),s(173," \xA0 "),n(),i(174,"mat-form-field",39)(175,"mat-label"),s(176,"Feature label zoom level"),n(),i(177,"mat-select",64),u("ngModelChange",function(t){return m(g),f(e.facade.settings.map.labelsMinZoom,t)||(e.facade.settings.map.labelsMinZoom=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(178,Ht,2,2,"mat-option",41,b),n()()(),i(180,"div",38)(181,"div",65),s(182," Offset Vessel Center (%) "),n(),i(183,"div",66)(184,"mat-form-field",67)(185,"mat-label"),s(186,"Vertical"),n(),i(187,"input",68,4),u("ngModelChange",function(t){return m(g),f(e.facade.settings.map.centerOffset.y,t)||(e.facade.settings.map.centerOffset.y=t),c(t)}),p("change",function(){m(g);let t=M(188);return c(e.parseCenterOffset(t))}),n()(),i(189,"mat-form-field",67)(190,"mat-label"),s(191,"Horizontal"),n(),i(192,"input",69,5),u("ngModelChange",function(t){return m(g),f(e.facade.settings.map.centerOffset.x,t)||(e.facade.settings.map.centerOffset.x=t),c(t)}),p("change",function(){m(g);let t=M(193);return c(e.parseCenterOffset(t))}),n()()()(),i(194,"div",38)(195,"mat-checkbox",70),u("ngModelChange",function(t){return m(g),f(e.facade.settings.map.popoverMulti,t)||(e.facade.settings.map.popoverMulti=t),c(t)}),p("change",function(){return e.persistModel()}),s(196," Popovers close with button "),n()(),i(197,"div",38)(198,"mat-checkbox",71),u("ngModelChange",function(t){return m(g),f(e.facade.settings.map.doubleClickZoom,t)||(e.facade.settings.map.doubleClickZoom=t),c(t)}),p("change",function(){return e.persistModel()}),s(199," Double click to Zoom "),n()(),i(200,"div",38)(201,"mat-checkbox",72),u("ngModelChange",function(t){return m(g),f(e.facade.settings.map.overZoomTiles,t)||(e.facade.settings.map.overZoomTiles=t),c(t)}),p("change",function(){return e.persistModel()}),s(202," Keep tiles visible on max zoom "),n()(),i(203,"div",38)(204,"mat-form-field",39)(205,"mat-label"),s(206,"Map Pan When Following"),n(),i(207,"mat-select",73),u("ngModelChange",function(t){return m(g),f(e.facade.settings.map.panBehavior,t)||(e.facade.settings.map.panBehavior=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(208,Kt,2,2,"mat-option",41,v),n()()()()()(),i(210,"div",35),s(211,"VECTOR CHARTS"),n(),i(212,"mat-card")(213,"mat-card-content")(214,"div",37)(215,"div",38)(216,"mat-form-field",39)(217,"mat-label"),s(218,"Graphics Style"),n(),i(219,"mat-select",74),u("ngModelChange",function(t){return m(g),f(e.facade.settings.map.s57Options.graphicsStyle,t)||(e.facade.settings.map.s57Options.graphicsStyle=t),c(t)}),p("selectionChange",function(){return e.doS57()}),y(220,zt,2,2,"mat-option",41,v),n()()(),i(222,"div",38)(223,"mat-form-field",39)(224,"mat-label"),s(225,"Boundaries"),n(),i(226,"mat-select",75),u("ngModelChange",function(t){return m(g),f(e.facade.settings.map.s57Options.boundaries,t)||(e.facade.settings.map.s57Options.boundaries=t),c(t)}),p("selectionChange",function(){return e.doS57()}),y(227,qt,2,2,"mat-option",41,v),n()()(),i(229,"div",38)(230,"mat-form-field",39)(231,"mat-label"),s(232,"Color Table (Requires refresh)"),n(),i(233,"mat-select",76),u("ngModelChange",function(t){return m(g),f(e.facade.settings.map.s57Options.colorTable,t)||(e.facade.settings.map.s57Options.colorTable=t),c(t)}),p("selectionChange",function(){return e.doS57()}),y(234,jt,2,2,"mat-option",41,v),n()()(),i(236,"div",38)(237,"mat-form-field",39)(238,"mat-label"),s(239,"Colors"),n(),i(240,"mat-select",77),u("ngModelChange",function(t){return m(g),f(e.facade.settings.map.s57Options.colors,t)||(e.facade.settings.map.s57Options.colors=t),c(t)}),p("selectionChange",function(){return e.doS57()}),y(241,Xt,2,2,"mat-option",41,b),n()()()(),i(243,"div",37)(244,"div",38)(245,"mat-form-field",39)(246,"mat-label"),s(247,"Shallow depth"),n(),i(248,"input",78,6),u("ngModelChange",function(t){return m(g),f(e.facade.settings.map.s57Options.shallowDepth,t)||(e.facade.settings.map.s57Options.shallowDepth=t),c(t)}),p("change",function(){m(g);let t=M(249);return c(e.doS57(t))}),n(),T(250,Yt,2,0,"mat-error"),i(251,"span",79),s(252,"m"),n()()(),i(253,"div",38)(254,"mat-form-field",39)(255,"mat-label"),s(256,"Safety depth"),n(),i(257,"input",78,7),u("ngModelChange",function(t){return m(g),f(e.facade.settings.map.s57Options.safetyDepth,t)||(e.facade.settings.map.s57Options.safetyDepth=t),c(t)}),p("change",function(){m(g);let t=M(258);return c(e.doS57(t))}),n(),T(259,Jt,2,0,"mat-error"),i(260,"span",79),s(261,"m"),n()()(),i(262,"div",38)(263,"mat-form-field",39)(264,"mat-label"),s(265,"Deep depth"),n(),i(266,"input",78,8),u("ngModelChange",function(t){return m(g),f(e.facade.settings.map.s57Options.deepDepth,t)||(e.facade.settings.map.s57Options.deepDepth=t),c(t)}),p("change",function(){m(g);let t=M(267);return c(e.doS57(t))}),n(),T(268,Qt,2,0,"mat-error"),i(269,"span",79),s(270,"m"),n()()(),i(271,"div",38)(272,"mat-form-field",39)(273,"mat-label"),s(274,"Layers"),n(),i(275,"mat-select",80),u("ngModelChange",function(t){return m(g),f(e.facade.settings.map.s57Options.otherLayers,t)||(e.facade.settings.map.s57Options.otherLayers=t),c(t)}),p("selectionChange",function(){return e.doS57()}),y(276,$t,2,2,"mat-option",41,v),n()()()()()()()()()(),i(278,"mat-tab",81)(279,"div",32)(280,"div",33)(281,"div",82)(282,"div",35),s(283,"COURSE"),n(),i(284,"mat-card",36)(285,"mat-card-content")(286,"div",37)(287,"div",38)(288,"mat-form-field",39)(289,"mat-label"),s(290,"Arrival Circle"),n(),i(291,"input",78,9),u("ngModelChange",function(t){return m(g),f(e.facade.settings.course.arrivalCircle,t)||(e.facade.settings.course.arrivalCircle=t),c(t)}),p("change",function(){m(g);let t=M(292);return c(e.parseNumber(t))}),n(),T(293,ei,2,0,"mat-error"),i(294,"span",79),s(295,"m"),n()()()(),i(296,"div",37)(297,"div",38)(298,"mat-checkbox",48,10),u("ngModelChange",function(t){return m(g),f(e.facade.settings.course.autoNextPointOnArrival,t)||(e.facade.settings.course.autoNextPointOnArrival=t),c(t)}),p("change",function(){return e.persistModel()}),s(300," Auto-advance to next point on arrival "),n()()(),i(301,"div",37)(302,"div",38)(303,"mat-form-field",39)(304,"mat-label"),s(305,"Notification type to use"),n(),i(306,"mat-select",83,11),u("ngModelChange",function(t){return m(g),f(e.facade.settings.course.autoNextPointTrigger,t)||(e.facade.settings.course.autoNextPointTrigger=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(308,ti,2,2,"mat-option",41,b),n()()(),i(310,"div",38)(311,"mat-form-field",39)(312,"mat-label"),s(313,"Time to wait before advancing"),n(),i(314,"mat-select",84),u("ngModelChange",function(t){return m(g),f(e.facade.settings.course.autoNextPointDelay,t)||(e.facade.settings.course.autoNextPointDelay=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(315,ii,2,2,"mat-option",41,v),n()()()()()()()()()(),i(317,"mat-tab",85)(318,"div",32)(319,"div",33)(320,"div",86)(321,"div",35),s(322,"VESSEL"),n(),i(323,"mat-card",36)(324,"mat-card-content")(325,"div",37)(326,"div",38)(327,"fieldset")(328,"legend"),s(329,"Vessel Icon Size"),n(),i(330,"div",37)(331,"div",38)(332,"mat-radio-group",87),u("ngModelChange",function(t){return m(g),f(e.facade.settings.vessels.iconScale,t)||(e.facade.settings.vessels.iconScale=t),c(t)}),p("change",function(){return e.persistModel()}),y(333,ni,3,4,"mat-radio-button",41,v),n()()()()()(),i(335,"div",38)(336,"fieldset")(337,"legend")(338,"mat-checkbox",88,12),u("ngModelChange",function(t){return m(g),f(e.facade.settings.vessels.fixedLocationMode,t)||(e.facade.settings.vessels.fixedLocationMode=t),c(t)}),p("change",function(){return e.persistModel()}),s(340," Fixed Location Mode "),n()(),i(341,"div",37)(342,"div",38)(343,"mat-form-field",67)(344,"mat-label"),s(345,"Latitude"),n(),i(346,"input",89,13),u("ngModelChange",function(t){return m(g),f(e.facade.fixedPosition[1],t)||(e.facade.fixedPosition[1]=t),c(t)}),p("change",function(){m(g);let t=M(347);return c(e.parseNumber(t,!0))}),n(),T(348,ai,2,0,"mat-error"),n(),i(349,"mat-form-field",67)(350,"mat-label"),s(351,"Longitude"),n(),i(352,"input",90,14),u("ngModelChange",function(t){return m(g),f(e.facade.fixedPosition[0],t)||(e.facade.fixedPosition[0]=t),c(t)}),p("change",function(){m(g);let t=M(353);return c(e.parseNumber(t,!0))}),n(),T(354,oi,2,0,"mat-error"),n()()()()()()(),E(355,"br"),i(356,"mat-card",36)(357,"mat-card-content")(358,"div",38)(359,"fieldset")(360,"legend"),s(361,"Vessel Lines:"),n(),i(362,"div",37)(363,"mat-checkbox",48),u("ngModelChange",function(t){return m(g),f(e.facade.settings.vessels.windVectors,t)||(e.facade.settings.vessels.windVectors=t),c(t)}),p("change",function(){return e.persistModel()}),s(364," Display Wind Vectors "),n(),i(365,"mat-checkbox",48),u("ngModelChange",function(t){return m(g),f(e.facade.settings.vessels.laylines,t)||(e.facade.settings.vessels.laylines=t),c(t)}),p("change",function(){return e.persistModel()}),s(366," Display Laylines "),n()(),i(367,"div",37)(368,"div",38)(369,"fieldset")(370,"legend"),s(371,"Heading Line"),n(),i(372,"div",37)(373,"div",38)(374,"mat-form-field")(375,"mat-label"),s(376,"Heading Line Length"),n(),i(377,"mat-select",91),u("ngModelChange",function(t){return m(g),f(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(378,ri,2,2,"mat-option",41,v),n()()(),i(380,"div",38)(381,"linestyle-select",92),p("selectionChange",function(t){return e.onLineStyle("heading",t)}),n()()()()()(),i(382,"div",37)(383,"div",38)(384,"fieldset")(385,"legend"),s(386,"COG Line"),n(),i(387,"div",37)(388,"div",38)(389,"mat-form-field")(390,"mat-label"),s(391,"COG Line Length"),n(),i(392,"mat-select",93),u("ngModelChange",function(t){return m(g),f(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(393,si,2,2,"mat-option",41,v),n()()(),i(395,"div",38)(396,"linestyle-select",92),p("selectionChange",function(t){return e.onLineStyle("cog",t)}),n()()()()()()()(),i(397,"div",38)(398,"fieldset")(399,"legend")(400,"mat-checkbox",48),u("ngModelChange",function(t){return m(g),f(e.facade.settings.vessels.rangeCircles,t)||(e.facade.settings.vessels.rangeCircles=t),c(t)}),p("change",function(){return e.persistModel()}),s(401," Display Range Circles "),n()(),i(402,"div",37)(403,"div",38)(404,"mat-form-field",39)(405,"mat-label"),s(406,"Number of Range Circles"),n(),i(407,"mat-select",94),u("ngModelChange",function(t){return m(g),f(e.facade.settings.vessels.rangeCircleCount,t)||(e.facade.settings.vessels.rangeCircleCount=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(408,li,2,2,"mat-option",41,b),n()()(),i(410,"div",38)(411,"mat-form-field",39)(412,"mat-label"),s(413,"Minimum Zoom Level"),n(),i(414,"mat-select",94),u("ngModelChange",function(t){return m(g),f(e.facade.settings.vessels.rangeCircleMinZoom,t)||(e.facade.settings.vessels.rangeCircleMinZoom=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(415,di,2,2,"mat-option",41,b),n()()()(),i(417,"div",37)(418,"div",38)(419,"mat-checkbox",95),u("ngModelChange",function(t){return m(g),f(e.facade.settings.vessels.rangeCirclesFixed,t)||(e.facade.settings.vessels.rangeCirclesFixed=t),c(t)}),p("change",function(){return e.persistModel()}),s(420," Use Fixed Distance "),n()(),i(421,"div",38)(422,"mat-form-field",67)(423,"mat-label"),s(424),n(),i(425,"input",96,15),u("ngModelChange",function(t){return m(g),f(e.formattedNumberModel.rangeCirclesDistance,t)||(e.formattedNumberModel.rangeCirclesDistance=t),c(t)}),p("change",function(){m(g);let t=M(426);return c(e.parseFormattedNumber(t))}),n(),T(427,gi,2,0,"mat-error"),n()()()()()()(),E(428,"br"),i(429,"mat-card",36)(430,"mat-card-content")(431,"div",37)(432,"fieldset")(433,"legend")(434,"mat-checkbox",48),u("ngModelChange",function(t){return m(g),f(e.facade.settings.vessels.trail,t)||(e.facade.settings.vessels.trail=t),c(t)}),p("change",function(){return e.persistModel("vesselTrail")}),s(435," Display Vessel Track "),n()(),i(436,"div",37)(437,"div",38)(438,"mat-checkbox",97),u("ngModelChange",function(t){return m(g),f(e.facade.settings.vessels.trailFromServer,t)||(e.facade.settings.vessels.trailFromServer=t),c(t)}),p("change",function(){return e.persistModel("trailFromServer")}),s(439," Get Track from server "),n(),s(440," \xA0\xA0 "),i(441,"mat-slider",98)(442,"input",99),u("ngModelChange",function(t){return m(g),f(e.facade.settings.vessels.trailDuration,t)||(e.facade.settings.vessels.trailDuration=t),c(t)}),p("valueChange",function(){return e.deferPersist()}),n()(),s(443),n()(),i(444,"div",37)(445,"div",38)(446,"mat-form-field",39)(447,"mat-label"),s(448,"Resolution: Last hour"),n(),i(449,"mat-select",94),u("ngModelChange",function(t){return m(g),f(e.facade.settings.vessels.trailResolution.lastHour,t)||(e.facade.settings.vessels.trailResolution.lastHour=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(450,mi,2,2,"mat-option",41,v),n()()(),i(452,"div",38)(453,"mat-form-field",39)(454,"mat-label"),s(455,"Resolution: 1 hr -> 24 hrs"),n(),i(456,"mat-select",94),u("ngModelChange",function(t){return m(g),f(e.facade.settings.vessels.trailResolution.next23,t)||(e.facade.settings.vessels.trailResolution.next23=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(457,ci,2,2,"mat-option",41,v),n()()(),i(459,"div",38)(460,"mat-form-field",39)(461,"mat-label"),s(462,"Resolution: > 24 hrs"),n(),i(463,"mat-select",94),u("ngModelChange",function(t){return m(g),f(e.facade.settings.vessels.trailResolution.beyond24,t)||(e.facade.settings.vessels.trailResolution.beyond24=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(464,pi,2,2,"mat-option",41,v),n()()()()()()()(),i(466,"div",35),s(467,"OTHER VESSELS"),n(),i(468,"mat-card",36)(469,"mat-card-content")(470,"div",37)(471,"div",38)(472,"mat-checkbox",48),u("ngModelChange",function(t){return m(g),f(e.facade.settings.vessels.aisShowTrack,t)||(e.facade.settings.vessels.aisShowTrack=t),c(t)}),p("change",function(){return e.persistModel()}),s(473," Show Track "),n(),s(474," \xA0 "),i(475,"mat-checkbox",48),u("ngModelChange",function(t){return m(g),f(e.aisStateFilter.moored,t)||(e.aisStateFilter.moored=t),c(t)}),p("change",function(){return e.onAisStateFilter()}),s(476," Hide Moored "),n(),s(477," \xA0 "),i(478,"mat-checkbox",48),u("ngModelChange",function(t){return m(g),f(e.aisStateFilter.anchored,t)||(e.aisStateFilter.anchored=t),c(t)}),p("change",function(){return e.onAisStateFilter()}),s(479," Hide Anchored "),n()()(),i(480,"div",37)(481,"div",38)(482,"mat-form-field",39)(483,"mat-label"),s(484,"Mark AIS target inactive after"),n(),i(485,"mat-select",64),u("ngModelChange",function(t){return m(g),f(e.facade.settings.vessels.aisStaleAge,t)||(e.facade.settings.vessels.aisStaleAge=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(486,_i,2,2,"mat-option",41,v),n()()(),i(488,"div",38)(489,"mat-form-field",39)(490,"mat-label"),s(491,"Remove AIS target after"),n(),i(492,"mat-select",64),u("ngModelChange",function(t){return m(g),f(e.facade.settings.vessels.aisMaxAge,t)||(e.facade.settings.vessels.aisMaxAge=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(493,fi,2,2,"mat-option",41,v),n()()(),i(495,"div",38)(496,"mat-form-field",39)(497,"mat-label"),s(498,"Wind Vector Value"),n(),i(499,"mat-select",64),u("ngModelChange",function(t){return m(g),f(e.facade.settings.vessels.aisWindApparent,t)||(e.facade.settings.vessels.aisWindApparent=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(500,ui,2,2,"mat-option",41,v),n()()(),i(502,"div",38)(503,"mat-form-field",39)(504,"mat-label"),s(505,"Wind / Track Zoom Level"),n(),i(506,"mat-select",64),u("ngModelChange",function(t){return m(g),f(e.facade.settings.vessels.aisWindMinZoom,t)||(e.facade.settings.vessels.aisWindMinZoom=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(507,hi,2,2,"mat-option",41,b),n()()(),i(509,"div",38)(510,"mat-form-field",39)(511,"mat-label"),s(512,"COG Line"),n(),i(513,"mat-select",64),u("ngModelChange",function(t){return m(g),f(e.facade.settings.vessels.aisCogLine,t)||(e.facade.settings.vessels.aisCogLine=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(514,yi,2,2,"mat-option",41,v),n()()()()()()()()()(),i(516,"mat-tab",100)(517,"div",32)(518,"div",33)(519,"div",101)(520,"div",35),s(521,"NOTES"),n(),i(522,"mat-card",36)(523,"mat-card-content")(524,"div",46)(525,"div",38)(526,"mat-checkbox",48),u("ngModelChange",function(t){return m(g),f(e.facade.settings.ui.showNotes,t)||(e.facade.settings.ui.showNotes=t),c(t)}),p("change",function(){return e.persistModel()}),s(527," Display Notes on Map "),n()(),i(528,"div",38)(529,"mat-form-field",39)(530,"mat-label"),s(531,"Notes Zoom Level"),n(),i(532,"mat-select",102),u("valueChange",function(t){return m(g),f(e.facade.settings.resources.notes.minZoom,t)||(e.facade.settings.resources.notes.minZoom=t),c(t)}),p("selectionChange",function(){return e.persistModel("fetchNotes")}),y(533,Si,2,2,"mat-option",41,b),n()()()(),i(535,"div",46)(536,"div",38)(537,"mat-form-field",39)(538,"mat-label"),s(539),n(),i(540,"mat-select",59),u("ngModelChange",function(t){return m(g),f(e.facade.settings.resources.notes.getRadius,t)||(e.facade.settings.resources.notes.getRadius=t),c(t)}),p("selectionChange",function(){return e.persistModel("fetchNotes")}),y(541,Ci,2,2,"mat-option",41,b),n()()()(),i(543,"div",46)(544,"div",38)(545,"mat-form-field",52)(546,"mat-label"),s(547,"Notes fetch filter:"),n(),i(548,"input",103,16),u("ngModelChange",function(t){return m(g),f(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(550,Mi,3,0,"button",104),n()()(),i(551,"div",46)(552,"div",38)(553,"mat-checkbox",105),u("ngModelChange",function(t){return m(g),f(e.facade.settings.resources.notes.groupNameEdit,t)||(e.facade.settings.resources.notes.groupNameEdit=t),c(t)}),p("change",function(){return e.persistModel()}),s(554," Edit Group Names "),n()(),i(555,"div",38)(556,"mat-checkbox",106),u("ngModelChange",function(t){return m(g),f(e.facade.settings.resources.notes.groupRequiresPosition,t)||(e.facade.settings.resources.notes.groupRequiresPosition=t),c(t)}),p("change",function(){return e.persistModel()}),s(557," Position Group Note "),n()()(),i(558,"div",46)(559,"div",38)(560,"mat-checkbox",107),u("ngModelChange",function(t){return m(g),f(e.facade.settings.display.singleClickNoteDetails,t)||(e.facade.settings.display.singleClickNoteDetails=t),c(t)}),p("change",function(){return e.persistModel()}),s(561," Single Click for Note Details "),n()()()()()(),i(562,"div",108)(563,"div",35),s(564,"CUSTOM RESOURCES"),n(),i(565,"mat-card",36)(566,"mat-card-content")(567,"div",46)(568,"div",38)(569,"div",109),s(570," Select custom resource types (./resources/<name>) "),n(),i(571,"mat-selection-list",110,17),p("selectionChange",function(){m(g);let t=M(572);return c(e.onResPathSelected(t))}),y(573,wi,2,3,"mat-list-option",111,b),n()()()()()()()()(),T(575,bi,21,2,"mat-tab",112),i(576,"mat-tab",113)(577,"div",32)(578,"div",33)(579,"div",114)(580,"div",35),s(581,"SIGNAL K: CONNECTION"),n(),i(582,"mat-card",36)(583,"mat-card-content")(584,"div",46)(585,"fieldset")(586,"legend"),s(587,"Filter Stream data:"),n(),i(588,"span",115),s(589," Check to include Signal K schema groups on display."),E(590,"br"),i(591,"i"),s(592,"Use to manage display performance."),n()(),i(593,"div",38)(594,"mat-checkbox",116),u("ngModelChange",function(t){return m(g),f(e.facade.settings.signalk.vessels,t)||(e.facade.settings.signalk.vessels=t),c(t)}),p("change",function(){return e.persistModel()}),s(595," Vessels (other than Self) "),n()(),i(596,"div",38)(597,"mat-checkbox",117),u("ngModelChange",function(t){return m(g),f(e.facade.settings.signalk.atons,t)||(e.facade.settings.signalk.atons=t),c(t)}),p("change",function(){return e.persistModel()}),s(598," Aids to Navigation (AtoN) "),n()(),i(599,"div",38)(600,"mat-checkbox",118),u("ngModelChange",function(t){return m(g),f(e.facade.settings.signalk.aircraft,t)||(e.facade.settings.signalk.aircraft=t),c(t)}),p("change",function(){return e.persistModel()}),s(601," Aircraft "),n()(),i(602,"div",38)(603,"mat-checkbox",119),u("ngModelChange",function(t){return m(g),f(e.facade.settings.signalk.sar,t)||(e.facade.settings.signalk.sar=t),c(t)}),p("change",function(){return e.persistModel()}),s(604," Search and Rescue (SaR) "),n()(),i(605,"div",38)(606,"mat-checkbox",120),u("ngModelChange",function(t){return m(g),f(e.facade.settings.signalk.meteo,t)||(e.facade.settings.signalk.meteo=t),c(t)}),p("change",function(){return e.persistModel()}),s(607," Weather (Meteo) "),n()(),i(608,"div",38),E(609,"br"),i(610,"mat-form-field",39)(611,"mat-label"),s(612,"Max. distance from vessel"),n(),i(613,"mat-select",121,18),u("ngModelChange",function(t){return m(g),f(e.facade.settings.signalk.maxRadius,t)||(e.facade.settings.signalk.maxRadius=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(615,Ti,2,2,"mat-option",41,v),n()()()()(),i(617,"div",46)(618,"div",38)(619,"button",122),p("click",function(){return e.clearAuthToken()}),i(620,"mat-icon"),s(621,"key_off"),n()()()()()()()()()(),i(622,"mat-tab",123)(623,"div",32)(624,"div",33)(625,"div",124)(626,"div",35),s(627,"EXPERIMENTS"),n(),i(628,"mat-card",36)(629,"mat-card-content")(630,"div",46)(631,"div",38)(632,"mat-checkbox",48),u("ngModelChange",function(t){return m(g),f(e.facade.settings.resources.video.enable,t)||(e.facade.settings.resources.video.enable=t),c(t)}),p("change",function(){return e.persistModel()}),s(633," Enable Video "),n()(),i(634,"div",38)(635,"mat-form-field",52)(636,"mat-label"),s(637,"url:"),n(),i(638,"input",125,19),u("ngModelChange",function(t){return m(g),f(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(640,Di,2,0,"mat-error"),n()()(),i(641,"div",46)(642,"div",38)(643,"mat-checkbox",126,20),u("ngModelChange",function(t){return m(g),f(e.facade.settings.experiments,t)||(e.facade.settings.experiments=t),c(t)}),p("change",function(){return e.persistModel()}),i(645,"mat-icon"),s(646,"science"),n(),s(647," Experimental Features "),n()()()()()()()()()()()}if(a&2){let g=M(83),o=M(90),t=M(126),ne=M(249),ae=M(258),oe=M(267),re=M(292),ge=M(299),me=M(339),se=M(347),le=M(353),de=M(426),mt=M(549),ct=M(639);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(5),D(e.facade.applicationList.length>1?47:-1),r(),D(e.show.favourites()?48:-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),k("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)?84:-1),r(5),h("disabled",!e.facade.settings.display.statusBar.liveEta),_("ngModel",e.facade.settings.display.statusBar.tapFadeSpeed),r(2),D(o.invalid&&(o.dirty||o.touched)?91:-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?158:-1),r(),D(e.options.preferredValues.heading.length!==0?159:-1),r(18),_("ngModel",e.facade.settings.map.labelsMinZoom),r(),S(e.options.zoomLevels),r(9),h("min",-e.centerOffsetLimit)("max",e.centerOffsetLimit),_("ngModel",e.facade.settings.map.centerOffset.y),r(5),h("min",-e.centerOffsetLimit)("max",e.centerOffsetLimit),_("ngModel",e.facade.settings.map.centerOffset.x),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(6),_("ngModel",e.facade.settings.map.panBehavior),r(),S(e.options.map.panBehavior),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(ne.invalid&&(ne.dirty||ne.touched)?250:-1),r(7),_("ngModel",e.facade.settings.map.s57Options.safetyDepth),r(2),D(ae.invalid&&(ae.dirty||ae.touched)?259:-1),r(7),_("ngModel",e.facade.settings.map.s57Options.deepDepth),r(2),D(oe.invalid&&(oe.dirty||oe.touched)?268:-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(re.invalid&&(re.dirty||re.touched)?293:-1),r(5),_("ngModel",e.facade.settings.course.autoNextPointOnArrival),r(8),h("disabled",ge.checked===!1),_("ngModel",e.facade.settings.course.autoNextPointTrigger),r(2),S(e.options.course.nextPointTrigger),r(6),h("disabled",ge.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",!me.checked),r(2),D(se.invalid&&(se.dirty||se.touched)?348:-1),r(4),_("ngModel",e.facade.fixedPosition[0]),h("disabled",!me.checked),r(2),D(le.invalid&&(le.dirty||le.touched)?354:-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),k(" 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(de.invalid&&(de.dirty||de.touched)?427:-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(),k(" 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(t.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(mt.value?550:-1),r(3),_("ngModel",e.facade.settings.resources.notes.groupNameEdit),r(3),_("ngModel",e.facade.settings.resources.notes.groupRequiresPosition),r(4),_("ngModel",e.facade.settings.display.singleClickNoteDetails),r(13),S(e.facade.resourcePathList),r(2),D(e.app.featureFlags().radarApi?575:-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(ct.invalid?640:-1),r(3),_("ngModel",e.facade.settings.experiments)}},dependencies:[H,U,be,G,Ee,We,De,Te,Z,Ce,Se,Ne,Ae,ee,it,$,Fe,Be,Ie,Le,Pe,ke,Ve,N,we,Me,R,ve,K,Oe,ot,nt,at,Qe,Q,q,z,Re,Ue,J,Y,Ge,X,j,xe,Ke,He,tt,$e,et,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}.settings[_ngcontent-%COMP%] .setting-field-group-title[_ngcontent-%COMP%]{font-size:10pt;font-family:Arial,Helvetica,sans-serif;opacity:.7;line-height:1.4;min-height:1.4em;padding-bottom:2px}.settings[_ngcontent-%COMP%] .setting-field-group[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:10px}.settings[_ngcontent-%COMP%] .setting-field-group[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%]{flex:0 1 150px;min-width:80px}@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{gt as SettingsDialog};
@@ -1 +1 @@
1
- import{Ca as a}from"./chunk-4WQJ5OCH.js";import"./chunk-NDDO5DKA.js";import"./chunk-PSRS6NXJ.js";import"./chunk-WXOWBQXR.js";import"./chunk-SOVFTS2B.js";import"./chunk-VSWAOYSI.js";import"./chunk-PGHE7FOF.js";import"./chunk-7UXFP343.js";import"./chunk-TGPAYIRR.js";import"./chunk-7Z4ZZM32.js";import"./chunk-JH5KSRZ6.js";import"./chunk-6H3I7D5M.js";export{a as GeoJSONImportDialog};
1
+ import{Ca as a}from"./chunk-D7ZEGEOC.js";import"./chunk-NDDO5DKA.js";import"./chunk-PSRS6NXJ.js";import"./chunk-WXOWBQXR.js";import"./chunk-SOVFTS2B.js";import"./chunk-VSWAOYSI.js";import"./chunk-PGHE7FOF.js";import"./chunk-7UXFP343.js";import"./chunk-TGPAYIRR.js";import"./chunk-7Z4ZZM32.js";import"./chunk-JH5KSRZ6.js";import"./chunk-6H3I7D5M.js";export{a as GeoJSONImportDialog};
@@ -1 +1 @@
1
- import{Ha as $,r as Y,z as Z}from"./chunk-4WQJ5OCH.js";import{a as N,b as Q,c as X}from"./chunk-NDDO5DKA.js";import"./chunk-PSRS6NXJ.js";import{i as K,k as W}from"./chunk-WXOWBQXR.js";import{a as J,b as U,d as q}from"./chunk-SOVFTS2B.js";import{a as B}from"./chunk-VSWAOYSI.js";import"./chunk-PGHE7FOF.js";import"./chunk-7UXFP343.js";import"./chunk-TGPAYIRR.js";import{b as H,i as z,o as G}from"./chunk-7Z4ZZM32.js";import{Dd as P,Ea as u,Ed as R,Fa as g,Ha as C,Hd as k,Ia as M,Ja as I,Jd as T,Ka as _,La as i,Ma as t,Na as b,Q as d,R as p,Rd as V,Td as A,Ua as h,Wa as f,Wd as F,Ya as c,Yd as O,Zd as j,ja as r,lb as n,mb as w,nb as v,oa as m,pb as D,pe as L,qb as S,ra as y,rb as E}from"./chunk-JH5KSRZ6.js";import"./chunk-6H3I7D5M.js";function te(o,a){if(o&1&&(i(0,"mat-option",10),n(1),t()),o&2){let e=a.$implicit;_("value",e),r(),w(e)}}function ie(o,a){if(o&1){let e=h();i(0,"div")(1,"ap-file-input",17),f("chosen",function(l){d(e);let x=c(2);return p(x.parseFile(l))}),i(2,"div",18)(3,"div",19),n(4," Click or Drop file "),t()()()()}o&2&&(r(),_("astext",!0))}function ne(o,a){if(o&1){let e=h();i(0,"div")(1,"div")(2,"b"),n(3,"Invalid Resource Data:"),t(),b(4,"br")(5,"br"),i(6,"i"),n(7,"Selected file does not contain valid data. "),t(),b(8,"br"),t(),i(9,"div",20)(10,"button",21),f("click",function(){d(e);let l=c(2);return p(l.app.showHelp("resource"))}),i(11,"mat-icon"),n(12,"help"),t(),n(13," Help "),t()()()}}function oe(o,a){o&1&&(i(0,"div",16),n(1," Note: Data will not be validated when uploaded to server! "),t())}function ae(o,a){if(o&1){let e=h();i(0,"div",7)(1,"div")(2,"mat-form-field",8)(3,"mat-label"),n(4,"Select Destination Path"),t(),i(5,"mat-select",9,0),E("valueChange",function(l){d(e);let x=c();return S(x.targetPath,l)||(x.targetPath=l),p(l)}),M(7,te,2,2,"mat-option",10,C),t()()(),u(9,ie,5,1,"div"),u(10,ne,14,0,"div"),i(11,"div")(12,"div",11)(13,"div",12)(14,"div")(15,"span",13),n(16,"Name:"),t(),n(17),t(),i(18,"div")(19,"span",13),n(20,"Type:"),t(),n(21),t()()(),i(22,"div",14)(23,"button",15),f("click",function(){d(e);let l=c();return p(l.load())}),i(24,"mat-icon"),n(25,"file_upload"),t(),n(26," \xA0Load\xA0 "),t(),b(27,"br"),n(28,"\xA0 "),u(29,oe,2,0,"div",16),t()()()}if(o&2){let e=c();r(5),_("disabled",!e.resPaths),D("value",e.targetPath),r(2),I(e.resPaths),r(2),g(e.source.name?-1:9),r(),g(e.display.notValid?10:-1),r(7),v(" ",e.source.name," "),r(4),v(" ",e.source.type," "),r(2),_("disabled",!e.targetPath||!e.source.name),r(6),g(e.targetPath&&e.source.name?29:-1)}}var ee=class o{constructor(a,e,s,l){this.app=a;this.skclient=e;this.dialogRef=s;this.data=l}app;skclient;dialogRef;data;resPaths=[];targetPath=null;source={type:null,name:null,data:null};display={notValid:!1};unsubscribe=[];ngOnInit(){this.skclient.api.get(this.app.skApiVersion,"/resources").subscribe(a=>{this.resPaths=[],this.targetPath=null,this.resPaths=Object.keys(a).filter(e=>!["routes","waypoints","notes","regions","charts","tracks"].includes(e))},()=>{this.resPaths=[],this.targetPath=null})}ngOnDestroy(){this.unsubscribe.forEach(a=>a.unsubscribe())}load(){this.dialogRef.close({path:this.targetPath,data:this.source.data})}parseFile(a){this.source=a,this.source.type="Unknown";try{let e=JSON.parse(a.data);this.source.type=e.type?e.type:this.source.type}catch(e){console.log("Error parsing resource file!")}}static \u0275fac=function(e){return new(e||o)(m(Z),m(Y),m(P),m(R))};static \u0275cmp=y({type:o,selectors:[["resource-upload-dialog"]],decls:13,vars:1,consts:[["respaths",""],[1,"resourceload-dialog"],[2,"background-color","transparent"],[2,"flex","1 1 auto","text-align","center"],[2,"text-align","right"],["mat-icon-button","",3,"click"],["mat-dialog-content",""],[1,"card-group"],["floatLabel","always",2,"width","100%"],["id","respaths",3,"valueChange","disabled","value"],[3,"value"],[2,"display","flex","flex-wrap","wrap"],[2,"flex","1 1 auto","padding","5px","font-size","smaller"],[2,"font-weight","bold"],[2,"text-align","center","padding-top","15px"],["mat-raised-button","","matTooltip","Load features","matTooltipPosition","below",3,"click","disabled"],[2,"padding","10px","border","gray 1px dashed","font-style","italic"],[3,"chosen","astext"],[2,"width","200px"],[2,"padding","25%","border","gray 1px dashed"],[2,"width","100%","text-align","center"],["mat-raised-button","",3,"click"]],template:function(e,s){e&1&&(i(0,"div",1)(1,"mat-toolbar",2)(2,"span")(3,"mat-icon"),n(4,"category"),t()(),i(5,"span",3),n(6,"Load Resource"),t(),i(7,"span",4)(8,"button",5),f("click",function(){return s.dialogRef.close()}),i(9,"mat-icon"),n(10,"close"),t()()()(),i(11,"div",6),u(12,ae,30,8,"div",7),t()()),e&2&&(r(12),g(s.display.notValid?-1:12))},dependencies:[L,G,z,H,q,U,J,N,B,j,O,K,F,A,V,X,Q,W,T,k,$],styles:[".resourceload-dialog[_ngcontent-%COMP%]{font-family:roboto;position:relative;width:100%}.card-group[_ngcontent-%COMP%]{padding:5px 5%}@media only screen and (min-width:800px){.card-group[_ngcontent-%COMP%]{padding:5px 5%}}"]})};export{ee as ResourceImportDialog};
1
+ import{Ha as $,r as Y,z as Z}from"./chunk-D7ZEGEOC.js";import{a as N,b as Q,c as X}from"./chunk-NDDO5DKA.js";import"./chunk-PSRS6NXJ.js";import{i as K,k as W}from"./chunk-WXOWBQXR.js";import{a as J,b as U,d as q}from"./chunk-SOVFTS2B.js";import{a as B}from"./chunk-VSWAOYSI.js";import"./chunk-PGHE7FOF.js";import"./chunk-7UXFP343.js";import"./chunk-TGPAYIRR.js";import{b as H,i as z,o as G}from"./chunk-7Z4ZZM32.js";import{Dd as P,Ea as u,Ed as R,Fa as g,Ha as C,Hd as k,Ia as M,Ja as I,Jd as T,Ka as _,La as i,Ma as t,Na as b,Q as d,R as p,Rd as V,Td as A,Ua as h,Wa as f,Wd as F,Ya as c,Yd as O,Zd as j,ja as r,lb as n,mb as w,nb as v,oa as m,pb as D,pe as L,qb as S,ra as y,rb as E}from"./chunk-JH5KSRZ6.js";import"./chunk-6H3I7D5M.js";function te(o,a){if(o&1&&(i(0,"mat-option",10),n(1),t()),o&2){let e=a.$implicit;_("value",e),r(),w(e)}}function ie(o,a){if(o&1){let e=h();i(0,"div")(1,"ap-file-input",17),f("chosen",function(l){d(e);let x=c(2);return p(x.parseFile(l))}),i(2,"div",18)(3,"div",19),n(4," Click or Drop file "),t()()()()}o&2&&(r(),_("astext",!0))}function ne(o,a){if(o&1){let e=h();i(0,"div")(1,"div")(2,"b"),n(3,"Invalid Resource Data:"),t(),b(4,"br")(5,"br"),i(6,"i"),n(7,"Selected file does not contain valid data. "),t(),b(8,"br"),t(),i(9,"div",20)(10,"button",21),f("click",function(){d(e);let l=c(2);return p(l.app.showHelp("resource"))}),i(11,"mat-icon"),n(12,"help"),t(),n(13," Help "),t()()()}}function oe(o,a){o&1&&(i(0,"div",16),n(1," Note: Data will not be validated when uploaded to server! "),t())}function ae(o,a){if(o&1){let e=h();i(0,"div",7)(1,"div")(2,"mat-form-field",8)(3,"mat-label"),n(4,"Select Destination Path"),t(),i(5,"mat-select",9,0),E("valueChange",function(l){d(e);let x=c();return S(x.targetPath,l)||(x.targetPath=l),p(l)}),M(7,te,2,2,"mat-option",10,C),t()()(),u(9,ie,5,1,"div"),u(10,ne,14,0,"div"),i(11,"div")(12,"div",11)(13,"div",12)(14,"div")(15,"span",13),n(16,"Name:"),t(),n(17),t(),i(18,"div")(19,"span",13),n(20,"Type:"),t(),n(21),t()()(),i(22,"div",14)(23,"button",15),f("click",function(){d(e);let l=c();return p(l.load())}),i(24,"mat-icon"),n(25,"file_upload"),t(),n(26," \xA0Load\xA0 "),t(),b(27,"br"),n(28,"\xA0 "),u(29,oe,2,0,"div",16),t()()()}if(o&2){let e=c();r(5),_("disabled",!e.resPaths),D("value",e.targetPath),r(2),I(e.resPaths),r(2),g(e.source.name?-1:9),r(),g(e.display.notValid?10:-1),r(7),v(" ",e.source.name," "),r(4),v(" ",e.source.type," "),r(2),_("disabled",!e.targetPath||!e.source.name),r(6),g(e.targetPath&&e.source.name?29:-1)}}var ee=class o{constructor(a,e,s,l){this.app=a;this.skclient=e;this.dialogRef=s;this.data=l}app;skclient;dialogRef;data;resPaths=[];targetPath=null;source={type:null,name:null,data:null};display={notValid:!1};unsubscribe=[];ngOnInit(){this.skclient.api.get(this.app.skApiVersion,"/resources").subscribe(a=>{this.resPaths=[],this.targetPath=null,this.resPaths=Object.keys(a).filter(e=>!["routes","waypoints","notes","regions","charts","tracks"].includes(e))},()=>{this.resPaths=[],this.targetPath=null})}ngOnDestroy(){this.unsubscribe.forEach(a=>a.unsubscribe())}load(){this.dialogRef.close({path:this.targetPath,data:this.source.data})}parseFile(a){this.source=a,this.source.type="Unknown";try{let e=JSON.parse(a.data);this.source.type=e.type?e.type:this.source.type}catch(e){console.log("Error parsing resource file!")}}static \u0275fac=function(e){return new(e||o)(m(Z),m(Y),m(P),m(R))};static \u0275cmp=y({type:o,selectors:[["resource-upload-dialog"]],decls:13,vars:1,consts:[["respaths",""],[1,"resourceload-dialog"],[2,"background-color","transparent"],[2,"flex","1 1 auto","text-align","center"],[2,"text-align","right"],["mat-icon-button","",3,"click"],["mat-dialog-content",""],[1,"card-group"],["floatLabel","always",2,"width","100%"],["id","respaths",3,"valueChange","disabled","value"],[3,"value"],[2,"display","flex","flex-wrap","wrap"],[2,"flex","1 1 auto","padding","5px","font-size","smaller"],[2,"font-weight","bold"],[2,"text-align","center","padding-top","15px"],["mat-raised-button","","matTooltip","Load features","matTooltipPosition","below",3,"click","disabled"],[2,"padding","10px","border","gray 1px dashed","font-style","italic"],[3,"chosen","astext"],[2,"width","200px"],[2,"padding","25%","border","gray 1px dashed"],[2,"width","100%","text-align","center"],["mat-raised-button","",3,"click"]],template:function(e,s){e&1&&(i(0,"div",1)(1,"mat-toolbar",2)(2,"span")(3,"mat-icon"),n(4,"category"),t()(),i(5,"span",3),n(6,"Load Resource"),t(),i(7,"span",4)(8,"button",5),f("click",function(){return s.dialogRef.close()}),i(9,"mat-icon"),n(10,"close"),t()()()(),i(11,"div",6),u(12,ae,30,8,"div",7),t()()),e&2&&(r(12),g(s.display.notValid?-1:12))},dependencies:[L,G,z,H,q,U,J,N,B,j,O,K,F,A,V,X,Q,W,T,k,$],styles:[".resourceload-dialog[_ngcontent-%COMP%]{font-family:roboto;position:relative;width:100%}.card-group[_ngcontent-%COMP%]{padding:5px 5%}@media only screen and (min-width:800px){.card-group[_ngcontent-%COMP%]{padding:5px 5%}}"]})};export{ee as ResourceImportDialog};
package/public/index.html CHANGED
@@ -54,5 +54,5 @@
54
54
  </div>
55
55
  </div>
56
56
  </app-root>
57
- <link rel="modulepreload" href="chunk-Y5XX3LUA.js"><link rel="modulepreload" href="chunk-4WQJ5OCH.js"><link rel="modulepreload" href="chunk-NDDO5DKA.js"><link rel="modulepreload" href="chunk-PSRS6NXJ.js"><link rel="modulepreload" href="chunk-WXOWBQXR.js"><link rel="modulepreload" href="chunk-SOVFTS2B.js"><link rel="modulepreload" href="chunk-VSWAOYSI.js"><link rel="modulepreload" href="chunk-PGHE7FOF.js"><link rel="modulepreload" href="chunk-7UXFP343.js"><link rel="modulepreload" href="chunk-TGPAYIRR.js"><script src="polyfills-RV3JTMEC.js" type="module"></script><script src="main-L4CGDOIX.js" type="module"></script></body>
57
+ <link rel="modulepreload" href="chunk-Y5XX3LUA.js"><link rel="modulepreload" href="chunk-D7ZEGEOC.js"><link rel="modulepreload" href="chunk-NDDO5DKA.js"><link rel="modulepreload" href="chunk-PSRS6NXJ.js"><link rel="modulepreload" href="chunk-WXOWBQXR.js"><link rel="modulepreload" href="chunk-SOVFTS2B.js"><link rel="modulepreload" href="chunk-VSWAOYSI.js"><link rel="modulepreload" href="chunk-PGHE7FOF.js"><link rel="modulepreload" href="chunk-7UXFP343.js"><link rel="modulepreload" href="chunk-TGPAYIRR.js"><script src="polyfills-RV3JTMEC.js" type="module"></script><script src="main-QZHUBX6D.js" type="module"></script></body>
58
58
  </html>