@signalk/freeboard-sk 3.2.0-beta.3 → 3.2.0-beta.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -2
- package/public/3rdpartylicenses.txt +31 -31
- package/public/assets/features/gpx-export-1.jpg +0 -0
- package/public/assets/features/gpx-export-2.jpg +0 -0
- package/public/assets/features/track-history-1.jpg +0 -0
- package/public/assets/features/track-history-2.jpg +0 -0
- package/public/assets/features/track-history-3.jpg +0 -0
- package/public/assets/features/track-history-4.jpg +0 -0
- package/public/assets/features/track-history-5.jpg +0 -0
- package/public/assets/features/vessel-tracks-1.jpg +0 -0
- package/public/assets/features/vessel-tracks-2.jpg +0 -0
- package/public/assets/features/vessel-tracks-3.jpg +0 -0
- package/public/assets/features-corpus.json +1 -1
- package/public/assets/help/index.html +51 -28
- package/public/{chunk-B5SN3ZBN.js → chunk-4JRVRHO7.js} +14 -14
- package/public/{chunk-T5UYZVNA.js → chunk-4ZE2OKZZ.js} +1 -1
- package/public/{chunk-APXAP2M7.js → chunk-6PWYCIYX.js} +1 -1
- package/public/{chunk-FMYAA5JW.js → chunk-7TRKAN4B.js} +1 -1
- package/public/{chunk-OGLYW4PJ.js → chunk-AA62TGOR.js} +1 -1
- package/public/chunk-AMDY4THY.js +1 -0
- package/public/chunk-CCTZD6S5.js +1 -0
- package/public/chunk-DFAGTODX.js +1 -0
- package/public/{chunk-K7PZKJJ7.js → chunk-JEAAYERI.js} +2 -2
- package/public/{chunk-XTQIZ74A.js → chunk-N4UL6N3G.js} +1 -1
- package/public/{chunk-K2CIRFN7.js → chunk-OPNUYGIO.js} +51 -51
- package/public/{chunk-ABRMW675.js → chunk-PG6RM7YJ.js} +1 -1
- package/public/{chunk-FC62PK2U.js → chunk-PU7NCPYW.js} +5 -5
- package/public/chunk-Q4NBIMTT.js +1 -0
- package/public/chunk-SGKVAYBG.js +1 -0
- package/public/{chunk-KNJHWYQ3.js → chunk-TK54SKYF.js} +1 -1
- package/public/{chunk-PLO4RGKC.js → chunk-TUQRCX5V.js} +2 -2
- package/public/chunk-U67UWQ7C.js +1 -0
- package/public/chunk-VEGUHS2I.js +4372 -0
- package/public/{chunk-2M5JDEPT.js → chunk-VJLDZ4NI.js} +11 -11
- package/public/{chunk-ABEPBSQB.js → chunk-WCLDE6BT.js} +1 -1
- package/public/{chunk-TTKT5FKY.js → chunk-WTDLBURC.js} +3 -3
- package/public/{chunk-2UND4DAL.js → chunk-WYYDGUIZ.js} +2 -2
- package/public/chunk-XVRRHA2K.js +1 -0
- package/public/index.html +2 -2
- package/public/main-BW35DEQ6.js +468 -0
- package/public/styles-YRQUZIIZ.css +1 -0
- package/public/worker-GBKY4SNO.js +3 -0
- package/public/chunk-3FOJW6X2.js +0 -1
- package/public/chunk-4TZSCPY6.js +0 -1
- package/public/chunk-7H3TNUZC.js +0 -4195
- package/public/chunk-CJYO3MRU.js +0 -1
- package/public/chunk-Q4PCFBHO.js +0 -1
- package/public/chunk-RLJNSFJD.js +0 -1
- package/public/chunk-TYJ363DD.js +0 -1
- package/public/chunk-W3IQ2KES.js +0 -1
- package/public/main-GUEKBZU3.js +0 -468
- package/public/styles-4PTRKEMS.css +0 -1
- package/public/worker-2DO6V3OI.js +0 -3
|
@@ -764,8 +764,11 @@
|
|
|
764
764
|
Groups provide a means of defining a set of resources so they can
|
|
765
765
|
be easily displayed or hidden.
|
|
766
766
|
<br />
|
|
767
|
-
Selecting a Group will display
|
|
768
|
-
|
|
767
|
+
Selecting a Group will display the resources within the group on
|
|
768
|
+
the map and hide the other resources of the same type. A type with
|
|
769
|
+
nothing in the group is hidden when <i>Hide</i> is checked for it
|
|
770
|
+
in the Group's properties, and otherwise left as it is. Charts are
|
|
771
|
+
left as they are unless the group contains charts.
|
|
769
772
|
<br />
|
|
770
773
|
Resources can be added to groups directly from the specific
|
|
771
774
|
resource list <i>(e.g. Routes, Waypoints, Regions, Charts)</i> or
|
|
@@ -792,7 +795,7 @@
|
|
|
792
795
|
Use this to:
|
|
793
796
|
<ul>
|
|
794
797
|
<li>Rename the group</li>
|
|
795
|
-
<li>Display the
|
|
798
|
+
<li>Display the resources within the group</li>
|
|
796
799
|
<li>Add and Remove resources from the group</li>
|
|
797
800
|
</ul>
|
|
798
801
|
group.
|
|
@@ -993,9 +996,10 @@
|
|
|
993
996
|
Check the <b>Include trail from server</b> if you want to
|
|
994
997
|
include trail data stored on the server.<br />
|
|
995
998
|
<i>
|
|
996
|
-
Recommended
|
|
997
|
-
|
|
998
|
-
|
|
999
|
+
Recommended when the vessel trail comes from the server (<b
|
|
1000
|
+
>Track source</b
|
|
1001
|
+
>
|
|
1002
|
+
in <b>Settings</b>).
|
|
999
1003
|
</i>
|
|
1000
1004
|
</li>
|
|
1001
1005
|
<li>
|
|
@@ -1393,12 +1397,12 @@
|
|
|
1393
1397
|
You will be presented with a screen that will allow you to select
|
|
1394
1398
|
some or all of the Route and Waypoint resources from the Signal K
|
|
1395
1399
|
server.<br />
|
|
1396
|
-
Additionally, the
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
|
|
1400
|
+
Additionally, the vessel trail can be saved as a GPX track,
|
|
1401
|
+
whether it is kept on this device or fetched from the server.<br />
|
|
1402
|
+
A single vessel's track can also be exported from its popup with
|
|
1403
|
+
<i class="material-icons">download</i> <b>Export track to GPX</b>.
|
|
1404
|
+
For the track ranges that can be saved, see the Feature Browser
|
|
1405
|
+
→ <i>Export to GPX</i>.<br />
|
|
1402
1406
|
<ul>
|
|
1403
1407
|
<li>
|
|
1404
1408
|
<b>Waypoints:</b> Click the checkbox to select all Waypoints
|
|
@@ -2558,22 +2562,37 @@
|
|
|
2558
2562
|
the selected time and the vessel's current SOG.
|
|
2559
2563
|
</li>
|
|
2560
2564
|
<li>
|
|
2561
|
-
<b>Display Vessel
|
|
2562
|
-
the
|
|
2563
|
-
|
|
2564
|
-
cache maintaining up to 5000 points at a 5 second interval.
|
|
2565
|
+
<b>Display Vessel Track</b>: Check this box to display the vessel
|
|
2566
|
+
trail (on by default). See the Feature Browser →
|
|
2567
|
+
<i>Vessel Tracks</i> for how the trail is shown.
|
|
2565
2568
|
<ul>
|
|
2566
2569
|
<li>
|
|
2567
|
-
<b>
|
|
2568
|
-
|
|
2569
|
-
|
|
2570
|
+
<b>Track source</b>: where the trail comes from.
|
|
2571
|
+
<ul>
|
|
2572
|
+
<li>
|
|
2573
|
+
<i>Auto</i> (default): the server's recorded track when
|
|
2574
|
+
the server can supply one, otherwise a local cache on this
|
|
2575
|
+
device.
|
|
2576
|
+
</li>
|
|
2577
|
+
<li>
|
|
2578
|
+
<i>Server</i>: the track recorded by the server's Track
|
|
2579
|
+
API (<i>signalk/v2/api/tracks</i>, Signal K server 2.33 or
|
|
2580
|
+
later with a track provider). Unavailable when the server
|
|
2581
|
+
has no track source.
|
|
2582
|
+
</li>
|
|
2583
|
+
<li>
|
|
2584
|
+
<i>This device</i>: a local cache maintaining up to 5000
|
|
2585
|
+
points at a 5 second interval, recorded while Freeboard is
|
|
2586
|
+
open.
|
|
2587
|
+
</li>
|
|
2588
|
+
</ul>
|
|
2570
2589
|
</li>
|
|
2571
2590
|
<li>
|
|
2572
2591
|
Use the slider to set the <b>length</b> of track to retrieve
|
|
2573
2592
|
from the server in hours. Time is relative to the current
|
|
2574
2593
|
time.<br />
|
|
2575
2594
|
|
|
2576
|
-
The <b>Resolution</b> settings define the
|
|
2595
|
+
The <b>Resolution</b> settings define the spacing of track
|
|
2577
2596
|
points returned by the server for the following time windows:
|
|
2578
2597
|
<ul>
|
|
2579
2598
|
<li>Last hour (default = 5 secs)</li>
|
|
@@ -2585,8 +2604,8 @@
|
|
|
2585
2604
|
transferred from the server which may impact performance. </span
|
|
2586
2605
|
><br />
|
|
2587
2606
|
Trail data received from the server undergoes temporal
|
|
2588
|
-
simplification to
|
|
2589
|
-
|
|
2607
|
+
simplification to minimize the data used to display the trail
|
|
2608
|
+
while maintaining integrity.
|
|
2590
2609
|
</li>
|
|
2591
2610
|
</ul>
|
|
2592
2611
|
</li>
|
|
@@ -2610,14 +2629,18 @@
|
|
|
2610
2629
|
the map.
|
|
2611
2630
|
</li>
|
|
2612
2631
|
<li>
|
|
2613
|
-
<b>Wind /
|
|
2614
|
-
other vessels wind
|
|
2615
|
-
|
|
2632
|
+
<b>Wind / Track Zoom Level</b>: The minimum Zoom level at which
|
|
2633
|
+
other vessels' wind vectors are displayed. <i>(Default=15)</i>
|
|
2634
|
+
</li>
|
|
2635
|
+
<li>
|
|
2636
|
+
<b>Show all tracks</b>: Select to display the last 2 hours of the
|
|
2637
|
+
tracks of all other vessels in the map view, from zoom level 10.
|
|
2638
|
+
See the Feature Browser → <i>Vessel Tracks</i>.
|
|
2616
2639
|
</li>
|
|
2617
2640
|
<li>
|
|
2618
|
-
<b>
|
|
2619
|
-
|
|
2620
|
-
|
|
2641
|
+
<b>Picked vessel track length</b>: How far back the track of a
|
|
2642
|
+
vessel picked with its <i>TRACK</i> button reaches (hours, default
|
|
2643
|
+
12). Shown only while <i>Show all tracks</i> is off.
|
|
2621
2644
|
</li>
|
|
2622
2645
|
<li>
|
|
2623
2646
|
<b>Hide Moored</b>: Select to hide vessels with a state of
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{f as
|
|
1
|
+
import{f as b}from"./chunk-6H3I7D5M.js";var g=r=>typeof Worker>"u"?Promise.reject(new Error("Error starting Worker!")):new Promise((t,e)=>{let n=new Worker(new URL("worker-5LIQ6F6U.js",import.meta.url),{type:"module"}),i=s=>{n.terminate(),s?t(s):e(new Error("Error processing content!"))};n.onmessage=s=>i(s.data),n.onerror=()=>i(null),n.postMessage({sourceType:"xml",value:r})});function c(r,t){if(typeof r!="string"||r.trim()==="")return t;let e=Number(r);return Number.isFinite(e)?e:t}function o(r){return String(r).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}var x=class{version;creator;wpt;rte;trk;extensions;metadata;constructor(){this.init()}init(){this.version="1.1",this.creator="@panaaj",this.wpt=[],this.rte=[],this.trk=[],this.extensions={},this.metadata=new d}stringify(){return this.toXML()}toXML(){let t=`<?xml version="1.0" encoding="UTF-8"?>\r
|
|
2
2
|
<gpx xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="${this.version}" xmlns="http://www.topografix.com/GPX/1/1" creator="${this.creator}" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd http://www.topografix.com/GPX/Private/TopoGrafix/0/1 http://www.topografix.com/GPX/Private/TopoGrafix/0/1/topografix.xsd" xmlns:topografix="http://www.topografix.com/GPX/Private/TopoGrafix/0/1">\r
|
|
3
3
|
`+this.metadataToXML()+this.waypointsToXML()+this.routesToXML()+this.tracksToXML();return t+=this.extensionsToXML(this.extensions),t+=`</gpx>\r
|
|
4
4
|
`,t}metadataToXML(){let t=` <metadata>\r
|
|
@@ -40,25 +40,25 @@ import{f as y}from"./chunk-6H3I7D5M.js";var b=a=>typeof Worker>"u"?Promise.rejec
|
|
|
40
40
|
</link>\r
|
|
41
41
|
`}),t+=this.extensionsToXML(e.extensions,2);for(let n of e.rtept)t+=this.ptToXML(n,"rtept");t+=` </rte>\r
|
|
42
42
|
`}),t}tracksToXML(){let t="";return this.trk.forEach(e=>{t+=` <trk>\r
|
|
43
|
-
`,t+=e.name?` <name>${e.name
|
|
44
|
-
`:"",t+=e.cmt?` <cmt>${e.cmt
|
|
45
|
-
`:"",t+=e.desc?` <desc>${e.desc
|
|
46
|
-
`:"",t+=e.src?` <src>${e.src
|
|
43
|
+
`,t+=e.name?` <name>${o(e.name)}</name>\r
|
|
44
|
+
`:"",t+=e.cmt?` <cmt>${o(e.cmt)}</cmt>\r
|
|
45
|
+
`:"",t+=e.desc?` <desc>${o(e.desc)}</desc>\r
|
|
46
|
+
`:"",t+=e.src?` <src>${o(e.src)}</src>\r
|
|
47
47
|
`:"",t+=e.number?` <number>${e.number||""}</number>\r
|
|
48
|
-
`:"",t+=e.type?` <type>${e.type
|
|
48
|
+
`:"",t+=e.type?` <type>${o(e.type)}</type>\r
|
|
49
49
|
`:"",t+=this.extensionsToXML(e.extensions,2),e.trkseg.forEach(n=>{t+=` <trkseg>\r
|
|
50
50
|
`;for(let i of n.trkpt)t+=this.ptToXML(i,"trkpt");t+=` </trkseg>\r
|
|
51
51
|
`}),t+=` </trk>\r
|
|
52
52
|
`}),t}ptToXML(t,e){let n="",i=2;switch(e){case"trkpt":n=" ",i=4;break;case"rtept":n=" ",i=3;break}let s="";return s+=`${n} <${e} lat="${t.lat.toFixed(6)}" lon="${t.lon.toFixed(6)}">\r
|
|
53
|
-
`,s+=t.
|
|
53
|
+
`,s+=t.ele?`${n} <ele>${t.ele||""}</ele>\r
|
|
54
|
+
`:"",s+=t.datetime instanceof Date&&!isNaN(t.datetime.getTime())?`${n} <time>${t.datetime.toISOString()}</time>\r
|
|
55
|
+
`:"",s+=t.sym?`${n} <sym>${t.sym||""}</sym>\r
|
|
54
56
|
`:"",s+=t.name?`${n} <name>${t.name||""}</name>\r
|
|
55
57
|
`:"",s+=t.cmt?`${n} <cmt>${t.cmt||""}</cmt>\r
|
|
56
58
|
`:"",s+=t.desc?`${n} <desc>${t.desc||""}</desc>\r
|
|
57
59
|
`:"",s+=t.src?`${n} <src>${t.src||""}</src>\r
|
|
58
60
|
`:"",s+=t.type?`${n} <type>${t.type||""}</type>\r
|
|
59
|
-
`:"",s+=t.time?`${n} <time>${t.datetime||""}</time>\r
|
|
60
61
|
`:"",s+=t.fix?`${n} <fix>${t.fix||""}</fix>\r
|
|
61
|
-
`:"",s+=t.ele?`${n} <ele>${t.ele||""}</ele>\r
|
|
62
62
|
`:"",s+=t.magvar?`${n} <magvar>${t.magvar||""}</magvar>\r
|
|
63
63
|
`:"",s+=t.geoidHeight?`${n} <geoidheight>${t.geoidHeight||""}</geoidheight>\r
|
|
64
64
|
`:"",s+=t.sat?`${n} <sat>${t.sat||""}</sat>\r
|
|
@@ -67,14 +67,14 @@ import{f as y}from"./chunk-6H3I7D5M.js";var b=a=>typeof Worker>"u"?Promise.rejec
|
|
|
67
67
|
`:"",s+=t.pdop?`${n} <pdop>${t.pdop||""}</pdop>\r
|
|
68
68
|
`:"",s+=t.ageOfGpsData?`${n} <ageofdgpsdata>${t.ageOfGpsData||""}</ageofdgpsdata>\r
|
|
69
69
|
`:"",s+=t.dgpsid?`${n} <dgpsid>${t.dgpsid||""}</dgpsid>\r
|
|
70
|
-
`:"",t.link.forEach(
|
|
71
|
-
${n} <text>${
|
|
72
|
-
${n} <type>${
|
|
70
|
+
`:"",t.link.forEach(a=>{s+=`${n} <link href="${a.href||""}">\r
|
|
71
|
+
${n} <text>${a.text||""}</text>\r
|
|
72
|
+
${n} <type>${a.type||""}</type>\r
|
|
73
73
|
${n} </link>\r
|
|
74
74
|
`}),s+=this.extensionsToXML(t.extensions,i),s+=`${n} </${e}>\r
|
|
75
|
-
`,s}extensionsToXML(t,e=1){let n="";if(t&&Object.keys(t).length!==0){let i=" ".slice(0-e),s="";t.signalk&&Object.keys(t.signalk).forEach(
|
|
75
|
+
`,s}extensionsToXML(t,e=1){let n="";if(t&&Object.keys(t).length!==0){let i=" ".slice(0-e),s="";t.signalk&&Object.keys(t.signalk).forEach(a=>{s+=`${i} <${a}>${t.signalk[a]}</${a}>\r
|
|
76
76
|
`}),n+=`${i}<extensions>\r
|
|
77
77
|
${i} <signalk>\r
|
|
78
78
|
`+s+`${i} </signalk>\r
|
|
79
79
|
${i}</extensions>\r
|
|
80
|
-
`}return n}xValue(t){if(t&&Array.isArray(t))return t.length!==0?t[0]:null}applyBounds(t){let e=t?.$??{},n=this.metadata.bounds;n.minLat=
|
|
80
|
+
`}return n}xValue(t){if(t&&Array.isArray(t))return t.length!==0?t[0]:null}applyBounds(t){let e=t?.$??{},n=this.metadata.bounds;n.minLat=c(e.minlat,n.minLat),n.minLon=c(e.minlon,n.minLon),n.maxLat=c(e.maxlat,n.maxLat),n.maxLon=c(e.maxlon,n.maxLon)}parse(t){return b(this,null,function*(){if(!t||t.indexOf("<gpx")===-1)return!1;this.init();try{let e=yield g(t);if(e.gpx.metadata){let n=this.xValue(e.gpx.metadata);this.metadata.name=n.name?this.xValue(n.name):null,this.metadata.desc=n.desc?this.xValue(n.desc):null,this.metadata.keywords=n.keywords?n.keywords:null,n.bounds&&this.applyBounds(this.xValue(n.bounds)),this.metadata.extensions=n.extensions?this.parseExtensions(n.extensions):{}}return e.gpx.wpt&&this.parseWaypoints(e.gpx.wpt),e.gpx.rte&&this.parseRoutes(e.gpx.rte),e.gpx.trk&&this.parseTracks(e.gpx.trk),this.extensions=e.gpx.extensions?this.parseExtensions(e.gpx.extensions):{},!0}catch(e){return!1}})}parseWaypoints(t){if(Array.isArray(t))t.forEach(e=>{let n=this.toWpt(e);this.updateBounds(n),this.wpt.push(n)});else{let e=this.toWpt(t);this.updateBounds(e),this.wpt.push(e)}}parseRoutes(t){if(Array.isArray(t))t.forEach(e=>{let n=this.toRte(e);this.updateBounds(n),this.rte.push(n)});else{let e=this.toRte(t);this.updateBounds(e),this.rte.push(e)}}parseTracks(t){if(Array.isArray(t))t.forEach(e=>{let n=this.toTrk(e);this.updateBounds(n),this.trk.push(n)});else{let e=this.toTrk(t);this.updateBounds(e),this.trk.push(e)}}parseExtensions(t){if(!t)return{};if(!Array.isArray(t))return{};let e={};return t.forEach(n=>{if(n.signalk){let i={},s=this.xValue(n.signalk);Object.keys(s).forEach(a=>{i[a]=this.xValue(s[a])}),e.signalk=i}}),e}parseLinks(t){let e=[];if(!t)return e;if(Array.isArray(t))t.forEach(n=>{let i=new p;i.href=n._href,i.text=n.text,i.type=n.type,e.push(i)});else{let n=new p;n.href=t._href,n.text=t.text,n.type=t.type,e.push(n)}return e}toRte(t){let e=new h;return e.name=t.name?this.xValue(t.name):null,e.cmt=t.cmt?this.xValue(t.cmt):null,e.desc=t.desc?this.xValue(t.desc):null,e.src=t.src?this.xValue(t.src):null,e.extensions=t.extensions?this.parseExtensions(t.extensions):{},t.rtept&&(e.rtept=this.toPtArray(t.rtept)),e}toWpt(t){let e=new l;return e.lat=Number(t.$.lat)||0,e.lon=Number(t.$.lon)||0,e.ele=t.ele?Number(this.xValue(t.ele)):null,e.sym=t.sym?this.xValue(t.sym):null,e.name=t.name?this.xValue(t.name):null,e.cmt=t.cmt?this.xValue(t.cmt):null,e.desc=t.desc?this.xValue(t.desc):null,e.src=t.src?this.xValue(t.src):null,e.type=t.type?this.xValue(t.type):null,e.extensions=t.extensions?this.parseExtensions(t.extensions):{},e}toTrk(t){let e=new m;if(e.name=t.name?this.xValue(t.name):null,e.cmt=t.cmt?this.xValue(t.cmt):null,e.desc=t.desc?this.xValue(t.desc):null,e.src=t.src?this.xValue(t.src):null,e.number=t.number?Number(this.xValue(t.number)):null,e.type=t.type?this.xValue(t.type):null,e.extensions=t.extensions?this.parseExtensions(t.extensions):{},t.trkseg)if(Array.isArray(t.trkseg))t.trkseg.forEach(n=>{let i=new u;i.extensions=n.extensions?this.parseExtensions(n.extensions):{},n.trkpt&&(i.trkpt=this.toPtArray(n.trkpt)),e.trkseg.push(i)});else{let n=new u;n.extensions=t.trkseg.extensions?this.parseExtensions(t.trkseg.extensions):{},t.trkseg.trkpt&&(n.trkpt=this.toPtArray(t.trkseg.trkpt)),e.trkseg.push(n)}return e}toPtArray(t){let e=[];if(Array.isArray(t))t.forEach(n=>{let i=this.toWpt(n);this.updateBounds(i),e.push(i)});else{let n=this.toWpt(t);this.updateBounds(n),e.push(n)}return e}setExtension(t,e,n){t.extensions||(t.extensions={});let i=e.split("."),s=t.extensions;i.forEach(a=>{s[a]||(s[a]={}),s=s[a]}),t.extensions.signalk.uuid=n}updateBounds(t){this.metadata.bounds.minLat=t.lat<this.metadata.bounds.minLat?t.lat:this.metadata.bounds.minLat,this.metadata.bounds.minLon=t.lon<this.metadata.bounds.minLon?t.lon:this.metadata.bounds.minLon,this.metadata.bounds.maxLat=t.lat>this.metadata.bounds.maxLat?t.lat:this.metadata.bounds.maxLat,this.metadata.bounds.maxLon=t.lon>this.metadata.bounds.maxLon?t.lon:this.metadata.bounds.maxLon}},l=class{lat;lon;ele;datetime;magvar;geoidHeight;name;cmt;desc;src;link=[];sym;type;fix;sat;hdop;vdop;pdop;ageOfGpsData;dgpsid;extensions={};constructor(t,e){this.lat=t||0,this.lon=e||0}},h=class{name;cmt;desc;src;link=[];number;type;extensions={};rtept=[];constructor(t){this.name=t||""}},m=class{name;cmt;desc;src;link=[];number;type;extensions={};trkseg=[];constructor(t){this.name=t||""}},u=class{trkpt=[];extensions={}};var d=class{name="";desc="";author;copyright;link=[];time=new Date().toISOString();keywords="";bounds=new y;extensions={}},p=class{href="";text="";type=""};var y=class{minLat=90;minLon=180;maxLat=-90;maxLon=-180};export{x as a,l as b,h as c,m as d,u as e};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{M as a,ib as i,ra as c,sa as r,
|
|
1
|
+
import{M as a,ib as i,ra as c,sa as r,wd as d,yc as s}from"./chunk-OPNUYGIO.js";var p=(()=>{class e{_animationsDisabled=d();state="unchecked";disabled=!1;appearance="full";constructor(){}static \u0275fac=function(t){return new(t||e)};static \u0275cmp=c({type:e,selectors:[["mat-pseudo-checkbox"]],hostAttrs:[1,"mat-pseudo-checkbox"],hostVars:12,hostBindings:function(t,o){t&2&&i("mat-pseudo-checkbox-indeterminate",o.state==="indeterminate")("mat-pseudo-checkbox-checked",o.state==="checked")("mat-pseudo-checkbox-disabled",o.disabled)("mat-pseudo-checkbox-minimal",o.appearance==="minimal")("mat-pseudo-checkbox-full",o.appearance==="full")("_mat-animation-noopable",o._animationsDisabled)},inputs:{state:"state",disabled:"disabled",appearance:"appearance"},decls:0,vars:0,template:function(t,o){},styles:[`.mat-pseudo-checkbox {
|
|
2
2
|
border-radius: 2px;
|
|
3
3
|
cursor: pointer;
|
|
4
4
|
display: inline-block;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as y,d as S,e as k,g as E,k as R,o as B}from"./chunk-
|
|
1
|
+
import{c as y,d as S,e as k,g as E,k as R,o as B}from"./chunk-WYYDGUIZ.js";import"./chunk-4ZE2OKZZ.js";import"./chunk-7TRKAN4B.js";import{Ed as b,Fd as I,Hd as L,Ia as f,Id as C,Ja as u,Jd as w,Kd as P,La as e,Ma as a,Md as W,Nd as v,R as s,S as g,Ua as M,Wa as c,Xd as T,Ya as _,_d as h,ja as l,lb as o,mb as D,nb as A,oa as r,ob as x,ra as p}from"./chunk-OPNUYGIO.js";import"./chunk-6H3I7D5M.js";var F=(n,i)=>i.extension+"/"+i.widget.id;function O(n,i){if(n&1){let t=M();e(0,"button",4),c("click",function(){let m=s(t).$implicit,j=_();return g(j.dialogRef.close(m))}),e(1,"span",5),o(2),a(),e(3,"span",6),o(4),a()()}if(n&2){let t=i.$implicit;l(2),D(t.widget.title),l(2),x("",t.extensionName," \xB7 ",t.widget.size)}}var N=class n{constructor(i,t){this.dialogRef=i;this.data=t;this.anchorLabel=B[t.anchor]}dialogRef;data;anchorLabel;static \u0275fac=function(t){return new(t||n)(r(b),r(I))};static \u0275cmp=p({type:n,selectors:[["fb-plotterext-add-widget"]],decls:12,vars:1,consts:[["mat-dialog-title","",1,"pe-add-title"],["mat-list-item",""],["align","end"],["mat-button","",3,"click"],["mat-list-item","",3,"click"],["matListItemTitle",""],["matListItemLine",""]],template:function(t,d){t&1&&(e(0,"div",0)(1,"mat-icon"),o(2,"widgets"),a(),e(3,"span"),o(4),a()(),e(5,"mat-dialog-content")(6,"mat-action-list"),f(7,O,5,3,"button",1,F),a()(),e(9,"mat-dialog-actions",2)(10,"button",3),c("click",function(){return d.dialogRef.close()}),o(11,"Cancel"),a()()),t&2&&(l(4),A("Add widget \u2014 ",d.anchorLabel),l(3),u(d.data.candidates))},dependencies:[P,L,w,C,h,T,v,W,R,k,E,S,y],styles:[".pe-add-title[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px}"]})};export{N as PlotterAddWidgetDialog};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{L as f,c as u,
|
|
1
|
+
import{L as f,c as u,wc as o}from"./chunk-OPNUYGIO.js";var d=class{_multiple;_emitChanges;compareWith;_selection=new Set;_deselectedToEmit=[];_selectedToEmit=[];_selected=null;get selected(){return this._selected||(this._selected=Array.from(this._selection.values())),this._selected}changed=new u;constructor(e=!1,t,s=!0,n){this._multiple=e,this._emitChanges=s,this.compareWith=n,t&&t.length&&(e?t.forEach(i=>this._markSelected(i)):this._markSelected(t[0]),this._selectedToEmit.length=0)}select(...e){this._verifyValueAssignment(e),e.forEach(s=>this._markSelected(s));let t=this._hasQueuedChanges();return this._emitChangeEvent(),t}deselect(...e){this._verifyValueAssignment(e),e.forEach(s=>this._unmarkSelected(s));let t=this._hasQueuedChanges();return this._emitChangeEvent(),t}setSelection(...e){this._verifyValueAssignment(e);let t=this.selected,s=new Set(e.map(i=>this._getConcreteValue(i)));e.forEach(i=>this._markSelected(i)),t.filter(i=>!s.has(this._getConcreteValue(i,s))).forEach(i=>this._unmarkSelected(i));let n=this._hasQueuedChanges();return this._emitChangeEvent(),n}toggle(e){return this.isSelected(e)?this.deselect(e):this.select(e)}clear(e=!0){this._unmarkAll();let t=this._hasQueuedChanges();return e&&this._emitChangeEvent(),t}isSelected(e){return this._selection.has(this._getConcreteValue(e))}isEmpty(){return this._selection.size===0}hasValue(){return!this.isEmpty()}sort(e){this._multiple&&this.selected&&this._selected.sort(e)}isMultipleSelection(){return this._multiple}_emitChangeEvent(){this._selected=null,(this._selectedToEmit.length||this._deselectedToEmit.length)&&(this.changed.next({source:this,added:this._selectedToEmit,removed:this._deselectedToEmit}),this._deselectedToEmit=[],this._selectedToEmit=[])}_markSelected(e){e=this._getConcreteValue(e),this.isSelected(e)||(this._multiple||this._unmarkAll(),this.isSelected(e)||this._selection.add(e),this._emitChanges&&this._selectedToEmit.push(e))}_unmarkSelected(e){e=this._getConcreteValue(e),this.isSelected(e)&&(this._selection.delete(e),this._emitChanges&&this._deselectedToEmit.push(e))}_unmarkAll(){this.isEmpty()||this._selection.forEach(e=>this._unmarkSelected(e))}_verifyValueAssignment(e){e.length>1&&this._multiple}_hasQueuedChanges(){return!!(this._deselectedToEmit.length||this._selectedToEmit.length)}_getConcreteValue(e,t){if(this.compareWith){t=t??this._selection;for(let s of t)if(this.compareWith(e,s))return s;return e}else return e}};var p=(()=>{class r{_listeners=[];notify(t,s){for(let n of this._listeners)n(t,s)}listen(t){return this._listeners.push(t),()=>{this._listeners=this._listeners.filter(s=>t!==s)}}ngOnDestroy(){this._listeners=[]}static \u0275fac=function(s){return new(s||r)};static \u0275prov=f({token:r,factory:r.\u0275fac,providedIn:"root"})}return r})();var g=class{applyChanges(e,t,s,n,i){e.forEachOperation((c,a,_)=>{let h,l;if(c.previousIndex==null){let m=s(c,a,_);h=t.createEmbeddedView(m.templateRef,m.context,m.index),l=o.INSERTED}else _==null?(t.remove(a),l=o.REMOVED):(h=t.get(a),t.move(h,_),l=o.MOVED);i&&i({context:h?.context,operation:l,record:c})})}detach(){}};export{d as a,p as b,g as c};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{Za as l,_a as o,ib as r,ra as a}from"./chunk-
|
|
1
|
+
import{Za as l,_a as o,ib as r,ra as a}from"./chunk-OPNUYGIO.js";var d=["mat-internal-form-field",""],f=["*"],g=(()=>{class t{labelPosition="after";static \u0275fac=function(n){return new(n||t)};static \u0275cmp=a({type:t,selectors:[["div","mat-internal-form-field",""]],hostAttrs:[1,"mdc-form-field","mat-internal-form-field"],hostVars:2,hostBindings:function(n,e){n&2&&r("mdc-form-field--align-end",e.labelPosition==="before")},inputs:{labelPosition:"labelPosition"},attrs:d,ngContentSelectors:f,decls:1,vars:0,template:function(n,e){n&1&&(l(),o(0))},styles:[`.mat-internal-form-field {
|
|
2
2
|
-moz-osx-font-smoothing: grayscale;
|
|
3
3
|
-webkit-font-smoothing: antialiased;
|
|
4
4
|
display: inline-flex;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{m as a,n as b,o as c,p as d,q as e,r as f}from"./chunk-VJLDZ4NI.js";import"./chunk-AA62TGOR.js";import"./chunk-WCLDE6BT.js";import"./chunk-OPNUYGIO.js";import"./chunk-6H3I7D5M.js";export{d as AboutDialog,b as AlertDialog,c as ConfirmDialog,e as LoginDialog,f as MessageBarComponent,a as MsgBox};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as a}from"./chunk-PU7NCPYW.js";import"./chunk-N4UL6N3G.js";import"./chunk-AA62TGOR.js";import"./chunk-WCLDE6BT.js";import"./chunk-4ZE2OKZZ.js";import"./chunk-7TRKAN4B.js";import"./chunk-OPNUYGIO.js";import"./chunk-6H3I7D5M.js";export{a as PlaybackDialog};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{H as z}from"./chunk-VEGUHS2I.js";import"./chunk-WTDLBURC.js";import"./chunk-VJLDZ4NI.js";import"./chunk-PU7NCPYW.js";import"./chunk-N4UL6N3G.js";import"./chunk-AA62TGOR.js";import"./chunk-WCLDE6BT.js";import"./chunk-WYYDGUIZ.js";import"./chunk-4ZE2OKZZ.js";import"./chunk-7TRKAN4B.js";import{Ea as m,Ed as C,Fa as d,Fd as w,Hd as S,Id as R,Jd as E,Ka as _,Kd as O,La as a,Ma as o,Md as T,Na as v,Nd as A,R as f,S as u,Ua as D,Vd as k,Wa as p,Xd as j,Ya as g,_d as V,ab as b,bb as x,cb as y,ha as h,ja as s,lb as r,lc as I,mb as M,oa as c,ra as P}from"./chunk-OPNUYGIO.js";import"./chunk-6H3I7D5M.js";var U=["frame"];function Q(n,e){if(n&1&&(a(0,"mat-dialog-content",3),v(1,"iframe",6,0),o()),n&2){let t=g();s(),_("src",t.url,h)("title",t.data.panel.title)}}function B(n,e){n&1&&(a(0,"mat-dialog-content",4),r(1," This widget has no settings. "),o())}function F(n,e){if(n&1){let t=D();a(0,"mat-dialog-actions",5)(1,"button",7),p("click",function(){f(t);let l=g();return u(l.removeWidget())}),a(2,"mat-icon"),r(3,"delete"),o(),r(4," Remove widget "),o()()}}var W=class n{constructor(e,t,i,l){this.dialogRef=e;this.data=t;this.service=i;this.sanitizer=l}dialogRef;data;service;sanitizer;frame;url;detach=null;ngOnInit(){let e=this.data.panel;e&&(this.url=this.sanitizer.bypassSecurityTrustResourceUrl(e.url?this.service.resolveAssetUrl(e.url):"about:blank"))}ngAfterViewInit(){let e=this.data.panel;!e||!this.frame||(this.detach=this.service.attachPanel(this.frame.nativeElement,{extension:this.data.extension,panel:e,targetInstance:this.data.targetInstance,targetWidget:this.data.targetWidget,close:()=>this.dialogRef.close()}))}removeWidget(){this.data.targetInstance&&this.service.removeWidget(this.data.targetInstance),this.dialogRef.close()}ngOnDestroy(){this.detach?.(),this.detach=null}static \u0275fac=function(t){return new(t||n)(c(C),c(w),c(z),c(I))};static \u0275cmp=P({type:n,selectors:[["fb-plotterext-panel-dialog"]],viewQuery:function(t,i){if(t&1&&b(U,5),t&2){let l;x(l=y())&&(i.frame=l.first)}},decls:9,vars:3,consts:[["frame",""],["mat-dialog-title","",1,"pe-panel-header"],["mat-icon-button","","aria-label","Close",3,"click"],[1,"pe-panel-content"],[1,"pe-panel-noconfig"],[1,"pe-panel-actions"],["sandbox","allow-scripts allow-same-origin allow-forms",3,"src","title"],["mat-button","",1,"pe-remove",3,"click"]],template:function(t,i){t&1&&(a(0,"div",1)(1,"span"),r(2),o(),a(3,"button",2),p("click",function(){return i.dialogRef.close()}),a(4,"mat-icon"),r(5,"close"),o()()(),m(6,Q,3,2,"mat-dialog-content",3)(7,B,2,0,"mat-dialog-content",4),m(8,F,5,0,"mat-dialog-actions",5)),t&2&&(s(2),M(i.data.panel?i.data.panel.title:i.data.title),s(4),d(i.data.panel?6:7),s(2),d(i.data.targetInstance?8:-1))},dependencies:[O,S,E,R,V,j,k,A,T],styles:[".pe-panel-header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding-right:8px}.pe-panel-content[_ngcontent-%COMP%]{padding:0;height:60vh}.pe-panel-noconfig[_ngcontent-%COMP%]{padding:16px 24px}iframe[_ngcontent-%COMP%]{display:block;width:100%;height:100%;border:none}.pe-panel-actions[_ngcontent-%COMP%]{justify-content:flex-start}.pe-remove[_ngcontent-%COMP%]{color:#d32f2f}"]})};export{W as PlotterPanelDialog};
|