@mxtommy/kip 1.2.3 → 1.3.0
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/.angulardoc.json +3 -3
- package/CHANGELOG.md +145 -135
- package/CONTRIBUTORS.md +16 -16
- package/README.md +102 -102
- package/angular.json +162 -153
- package/karma.conf.js +31 -31
- package/package.json +87 -84
- package/public/3rdpartylicenses.txt +301 -21
- package/public/assets/NoSleep.min.js +1 -1
- package/public/assets/fontawesome6/css/all.min.css +6 -0
- package/public/assets/fontawesome6/webfonts/fa-brands-400.ttf +0 -0
- package/public/assets/fontawesome6/webfonts/fa-brands-400.woff2 +0 -0
- package/public/assets/fontawesome6/webfonts/fa-regular-400.ttf +0 -0
- package/public/assets/fontawesome6/webfonts/fa-regular-400.woff2 +0 -0
- package/public/assets/fontawesome6/webfonts/fa-solid-900.ttf +0 -0
- package/public/assets/fontawesome6/webfonts/fa-solid-900.woff2 +0 -0
- package/public/assets/fontawesome6/webfonts/fa-v4compatibility.ttf +0 -0
- package/public/assets/fontawesome6/webfonts/fa-v4compatibility.woff2 +0 -0
- package/public/assets/icon-192x192.png +0 -0
- package/public/assets/icon-256x256.png +0 -0
- package/public/assets/icon-384x384.png +0 -0
- package/public/assets/icon-512x512.png +0 -0
- package/public/assets/steelseries-min.js +25 -25
- package/public/assets/steelseries-min.js.map +8 -8
- package/public/assets/steelseries.js +15834 -15834
- package/public/assets/svg-autopilot-inkscape-plain.svg +983 -983
- package/public/assets/svg-wind-inkscape.svg +1358 -1358
- package/public/assets/tween.js +381 -381
- package/public/index.html +19 -20
- package/public/main-es2018.98175eb4c61ccaf7eb17.js +1 -0
- package/public/main-es5.98175eb4c61ccaf7eb17.js +1 -0
- package/public/manifest.json +33 -0
- package/public/polyfills-es2018.3a61665863c173cd6ba3.js +1 -0
- package/public/polyfills-es5.44827ae4ff4e41de51fb.js +1 -0
- package/public/runtime-es2018.baedb88c6d2abacae2b8.js +1 -0
- package/public/runtime-es5.baedb88c6d2abacae2b8.js +1 -0
- package/public/styles.b92ae2c466c89712209d.css +5 -0
- package/src/app/alarm-menu/alarm-menu.component.html +55 -55
- package/src/app/alarm-menu/alarm-menu.component.scss +52 -53
- package/src/app/alarm-menu/alarm-menu.component.spec.ts +25 -25
- package/src/app/alarm-menu/alarm-menu.component.ts +186 -186
- package/src/app/app-help/app-help.component.css +4 -4
- package/src/app/app-help/app-help.component.html +135 -135
- package/src/app/app-help/app-help.component.ts +45 -45
- package/src/app/app.component.css +39 -39
- package/src/app/app.component.html +93 -93
- package/src/app/app.component.scss +79 -79
- package/src/app/app.component.spec.ts +32 -32
- package/src/app/app.component.ts +191 -192
- package/src/app/app.module.ts +200 -200
- package/src/app/config.blank.const.ts +51 -51
- package/src/app/config.blank.notification.const.ts +19 -19
- package/src/app/config.blank.units.const.ts +23 -23
- package/src/app/config.demo.const.ts +383 -383
- package/src/app/data-browser/data-browser.component.css +29 -29
- package/src/app/data-browser/data-browser.component.html +44 -44
- package/src/app/data-browser/data-browser.component.spec.ts +25 -25
- package/src/app/data-browser/data-browser.component.ts +91 -91
- package/src/app/data-browser-row/data-browser-row-unit-modal.html +17 -17
- package/src/app/data-browser-row/data-browser-row.component.css +9 -9
- package/src/app/data-browser-row/data-browser-row.component.html +4 -4
- package/src/app/data-browser-row/data-browser-row.component.ts +78 -78
- package/src/app/data-set.service.ts +273 -273
- package/src/app/dynamic-widget.directive.ts +11 -11
- package/src/app/gauge-steel/gauge-steel.component.css +4 -4
- package/src/app/gauge-steel/gauge-steel.component.html +4 -4
- package/src/app/gauge-steel/gauge-steel.component.spec.ts +25 -25
- package/src/app/gauge-steel/gauge-steel.component.ts +282 -282
- package/src/app/gauges-module/base-gauge.ts +300 -300
- package/src/app/gauges-module/linear-gauge.ts +49 -49
- package/src/app/gauges-module/radial-gauge.ts +47 -47
- package/src/app/layout-split/layout-split.component.html +30 -30
- package/src/app/layout-split/layout-split.component.scss +33 -33
- package/src/app/layout-split/layout-split.component.spec.ts +25 -25
- package/src/app/layout-split/layout-split.component.ts +59 -59
- package/src/app/layout-splits.service.ts +284 -284
- package/src/app/modal-path-selector/modal-path-selector.component.html +62 -62
- package/src/app/modal-path-selector/modal-path-selector.component.scss +39 -39
- package/src/app/modal-path-selector/modal-path-selector.component.spec.ts +25 -25
- package/src/app/modal-path-selector/modal-path-selector.component.ts +132 -132
- package/src/app/modal-widget/modal-widget.component.css +32 -32
- package/src/app/modal-widget/modal-widget.component.html +341 -341
- package/src/app/modal-widget/modal-widget.component.spec.ts +25 -25
- package/src/app/modal-widget/modal-widget.component.ts +84 -84
- package/src/app/notifications.service.ts +392 -392
- package/src/app/object-keys.pipe.spec.ts +8 -8
- package/src/app/object-keys.pipe.ts +13 -13
- package/src/app/reset-config/reset-config.component.html +3 -3
- package/src/app/reset-config/reset-config.component.spec.ts +25 -25
- package/src/app/reset-config/reset-config.component.ts +31 -31
- package/src/app/root-display/root-display.component.html +4 -4
- package/src/app/root-display/root-display.component.spec.ts +25 -25
- package/src/app/root-display/root-display.component.ts +57 -57
- package/src/app/safe.pipe.ts +15 -15
- package/src/app/settings/settings.component.css +9 -9
- package/src/app/settings/settings.component.html +25 -25
- package/src/app/settings/settings.component.spec.ts +25 -25
- package/src/app/settings/settings.component.ts +22 -22
- package/src/app/settings-config/settings-config.component.css +38 -38
- package/src/app/settings-config/settings-config.component.spec.ts +25 -25
- package/src/app/settings-config/settings-config.component.ts +161 -161
- package/src/app/settings-datasets/settings-datasets.component.html +43 -43
- package/src/app/settings-datasets/settings-datasets.component.scss +39 -39
- package/src/app/settings-datasets/settings-datasets.component.spec.ts +25 -25
- package/src/app/settings-datasets/settings-datasets.component.ts +98 -98
- package/src/app/settings-datasets/settings-datasets.modal.html +54 -54
- package/src/app/settings-notifications/settings-notifications.component.html +65 -65
- package/src/app/settings-notifications/settings-notifications.component.spec.ts +25 -25
- package/src/app/settings-notifications/settings-notifications.component.ts +29 -29
- package/src/app/settings-signalk/settings-signalk.component.html +8 -8
- package/src/app/settings-signalk/settings-signalk.component.spec.ts +25 -25
- package/src/app/settings-signalk/settings-signalk.component.ts +174 -174
- package/src/app/settings-units/settings-units.component.css +4 -4
- package/src/app/settings-units/settings-units.component.html +19 -19
- package/src/app/settings-units/settings-units.component.spec.ts +25 -25
- package/src/app/settings-units/settings-units.component.ts +62 -62
- package/src/app/settings-zones/settings-zones.component.css +21 -21
- package/src/app/settings-zones/settings-zones.component.html +70 -70
- package/src/app/settings-zones/settings-zones.modal.html +38 -38
- package/src/app/signalk-connection.service.ts +344 -344
- package/src/app/signalk-delta.service.spec.ts +15 -15
- package/src/app/signalk-delta.service.ts +97 -97
- package/src/app/signalk-full.service.ts +99 -99
- package/src/app/signalk-interfaces.ts +129 -129
- package/src/app/signalk-requests.service.spec.ts +12 -12
- package/src/app/signalk-requests.service.ts +180 -180
- package/src/app/svg-autopilot/svg-autopilot.component.html +1036 -1036
- package/src/app/svg-autopilot/svg-autopilot.component.spec.ts +25 -25
- package/src/app/svg-autopilot/svg-autopilot.component.ts +174 -174
- package/src/app/svg-simple-linear-gauge/svg-simple-linear-gauge.component.html +119 -119
- package/src/app/svg-simple-linear-gauge/svg-simple-linear-gauge.component.spec.ts +25 -25
- package/src/app/svg-simple-linear-gauge/svg-simple-linear-gauge.component.ts +49 -49
- package/src/app/svg-wind/svg-wind.component.html +969 -969
- package/src/app/svg-wind/svg-wind.component.scss +76 -76
- package/src/app/svg-wind/svg-wind.component.spec.ts +25 -25
- package/src/app/svg-wind/svg-wind.component.ts +280 -280
- package/src/app/unit-window/unit-window.component.css +37 -37
- package/src/app/unit-window/unit-window.component.html +8 -8
- package/src/app/unit-window/unit-window.component.spec.ts +25 -25
- package/src/app/unit-window/unit-window.component.ts +134 -134
- package/src/app/unit-window/unit-window.modal.html +24 -24
- package/src/app/units.service.ts +300 -300
- package/src/app/widget-autopilot/widget-autopilot.component.html +78 -85
- package/src/app/widget-autopilot/widget-autopilot.component.scss +191 -191
- package/src/app/widget-autopilot/widget-autopilot.component.spec.ts +25 -25
- package/src/app/widget-autopilot/widget-autopilot.component.ts +774 -781
- package/src/app/widget-blank/widget-blank.component.scss +21 -22
- package/src/app/widget-blank/widget-blank.component.spec.ts +25 -25
- package/src/app/widget-blank/widget-blank.component.ts +17 -17
- package/src/app/widget-gauge/widget-gauge.component.css +25 -25
- package/src/app/widget-gauge/widget-gauge.component.html +29 -29
- package/src/app/widget-gauge/widget-gauge.component.spec.ts +25 -25
- package/src/app/widget-gauge/widget-gauge.component.ts +120 -120
- package/src/app/widget-gauge-ng-linear/widget-gauge-ng-linear.component.html +126 -126
- package/src/app/widget-gauge-ng-linear/widget-gauge-ng-linear.component.scss +94 -93
- package/src/app/widget-gauge-ng-linear/widget-gauge-ng-linear.component.spec.ts +25 -25
- package/src/app/widget-gauge-ng-linear/widget-gauge-ng-linear.component.ts +424 -424
- package/src/app/widget-gauge-ng-radial/widget-gauge-ng-radial.component.html +1 -1
- package/src/app/widget-gauge-ng-radial/widget-gauge-ng-radial.component.scss +69 -69
- package/src/app/widget-gauge-ng-radial/widget-gauge-ng-radial.component.spec.ts +25 -25
- package/src/app/widget-gauge-ng-radial/widget-gauge-ng-radial.component.ts +553 -553
- package/src/app/widget-historical/widget-historical.component.html +14 -14
- package/src/app/widget-historical/widget-historical.component.spec.ts +25 -25
- package/src/app/widget-historical/widget-historical.component.ts +306 -306
- package/src/app/widget-iframe/widget-iframe.component.css +11 -11
- package/src/app/widget-iframe/widget-iframe.component.html +21 -21
- package/src/app/widget-iframe/widget-iframe.component.spec.ts +25 -25
- package/src/app/widget-iframe/widget-iframe.component.ts +63 -63
- package/src/app/widget-list.service.ts +135 -135
- package/src/app/widget-manager.service.ts +141 -141
- package/src/app/widget-numeric/widget-numeric.component.html +1 -1
- package/src/app/widget-numeric/widget-numeric.component.scss +3 -3
- package/src/app/widget-numeric/widget-numeric.component.spec.ts +25 -25
- package/src/app/widget-simple-linear/widget-simple-linear.component.html +28 -28
- package/src/app/widget-simple-linear/widget-simple-linear.component.scss +64 -64
- package/src/app/widget-simple-linear/widget-simple-linear.component.spec.ts +25 -25
- package/src/app/widget-simple-linear/widget-simple-linear.component.ts +199 -199
- package/src/app/widget-state/widget-state.component.html +27 -27
- package/src/app/widget-state/widget-state.component.scss +68 -68
- package/src/app/widget-state/widget-state.component.spec.ts +25 -25
- package/src/app/widget-state/widget-state.component.ts +178 -178
- package/src/app/widget-switch/widget-switch.component.css +69 -69
- package/src/app/widget-switch/widget-switch.component.html +17 -17
- package/src/app/widget-switch/widget-switch.component.spec.ts +25 -25
- package/src/app/widget-switch/widget-switch.component.ts +134 -134
- package/src/app/widget-text-generic/widget-text-generic.component.html +9 -9
- package/src/app/widget-text-generic/widget-text-generic.component.spec.ts +25 -25
- package/src/app/widget-tutorial/widget-tutorial.component.html +34 -34
- package/src/app/widget-tutorial/widget-tutorial.component.spec.ts +25 -25
- package/src/app/widget-tutorial/widget-tutorial.component.ts +18 -18
- package/src/app/widget-unknown/widget-unknown.component.spec.ts +25 -25
- package/src/app/widget-wind/widget-wind.component.css +23 -23
- package/src/app/widget-wind/widget-wind.component.html +20 -20
- package/src/app/widget-wind/widget-wind.component.spec.ts +25 -25
- package/src/app/widget-wind/widget-wind.component.ts +369 -369
- package/src/assets/NoSleep.min.js +1 -1
- package/src/assets/fontawesome6/css/all.min.css +6 -0
- package/src/assets/fontawesome6/webfonts/fa-brands-400.ttf +0 -0
- package/src/assets/fontawesome6/webfonts/fa-brands-400.woff2 +0 -0
- package/src/assets/fontawesome6/webfonts/fa-regular-400.ttf +0 -0
- package/src/assets/fontawesome6/webfonts/fa-regular-400.woff2 +0 -0
- package/src/assets/fontawesome6/webfonts/fa-solid-900.ttf +0 -0
- package/src/assets/fontawesome6/webfonts/fa-solid-900.woff2 +0 -0
- package/src/assets/fontawesome6/webfonts/fa-v4compatibility.ttf +0 -0
- package/src/assets/fontawesome6/webfonts/fa-v4compatibility.woff2 +0 -0
- package/src/assets/icon-192x192.png +0 -0
- package/src/assets/icon-256x256.png +0 -0
- package/src/assets/icon-384x384.png +0 -0
- package/src/assets/icon-512x512.png +0 -0
- package/src/assets/steelseries-min.js +25 -25
- package/src/assets/steelseries-min.js.map +8 -8
- package/src/assets/steelseries.js +15834 -15834
- package/src/assets/svg-autopilot-inkscape-plain.svg +983 -983
- package/src/assets/svg-wind-inkscape.svg +1358 -1358
- package/src/assets/tween.js +381 -381
- package/src/index.html +20 -20
- package/src/main.ts +11 -11
- package/src/manifest.json +33 -0
- package/src/polyfills.ts +80 -76
- package/src/styles.scss +11 -11
- package/src/themes/darkBlueTheme.scss +117 -116
- package/src/themes/defaultTheme.scss +50 -49
- package/src/themes/highContrastTheme.scss +47 -46
- package/src/themes/modernTheme.scss +143 -142
- package/src/themes/nightMode.scss +185 -184
- package/src/themes/platypusTheme.scss +80 -79
- package/src/themes/signalkTheme.scss +112 -111
- package/src/tsconfig.app.json +15 -15
- package/src/tsconfig.spec.json +20 -20
- package/tsconfig.json +23 -23
- package/tslint.json +143 -143
- package/public/assets/font-awesome/HELP-US-OUT.txt +0 -7
- package/public/assets/font-awesome/css/font-awesome.css +0 -2337
- package/public/assets/font-awesome/css/font-awesome.min.css +0 -4
- package/public/assets/font-awesome/desktop.ini +0 -4
- package/public/assets/font-awesome/fonts/FontAwesome.otf +0 -0
- package/public/assets/font-awesome/fonts/fontawesome-webfont.eot +0 -0
- package/public/assets/font-awesome/fonts/fontawesome-webfont.svg +0 -2671
- package/public/assets/font-awesome/fonts/fontawesome-webfont.ttf +0 -0
- package/public/assets/font-awesome/fonts/fontawesome-webfont.woff +0 -0
- package/public/assets/font-awesome/fonts/fontawesome-webfont.woff2 +0 -0
- package/public/assets/font-awesome/less/animated.less +0 -34
- package/public/assets/font-awesome/less/bordered-pulled.less +0 -25
- package/public/assets/font-awesome/less/core.less +0 -12
- package/public/assets/font-awesome/less/fixed-width.less +0 -6
- package/public/assets/font-awesome/less/font-awesome.less +0 -18
- package/public/assets/font-awesome/less/icons.less +0 -789
- package/public/assets/font-awesome/less/larger.less +0 -13
- package/public/assets/font-awesome/less/list.less +0 -19
- package/public/assets/font-awesome/less/mixins.less +0 -60
- package/public/assets/font-awesome/less/path.less +0 -15
- package/public/assets/font-awesome/less/rotated-flipped.less +0 -20
- package/public/assets/font-awesome/less/screen-reader.less +0 -5
- package/public/assets/font-awesome/less/stacked.less +0 -20
- package/public/assets/font-awesome/less/variables.less +0 -800
- package/public/assets/font-awesome/scss/_animated.scss +0 -34
- package/public/assets/font-awesome/scss/_bordered-pulled.scss +0 -25
- package/public/assets/font-awesome/scss/_core.scss +0 -12
- package/public/assets/font-awesome/scss/_fixed-width.scss +0 -6
- package/public/assets/font-awesome/scss/_icons.scss +0 -789
- package/public/assets/font-awesome/scss/_larger.scss +0 -13
- package/public/assets/font-awesome/scss/_list.scss +0 -19
- package/public/assets/font-awesome/scss/_mixins.scss +0 -60
- package/public/assets/font-awesome/scss/_path.scss +0 -15
- package/public/assets/font-awesome/scss/_rotated-flipped.scss +0 -20
- package/public/assets/font-awesome/scss/_screen-reader.scss +0 -5
- package/public/assets/font-awesome/scss/_stacked.scss +0 -20
- package/public/assets/font-awesome/scss/_variables.scss +0 -800
- package/public/assets/font-awesome/scss/font-awesome.scss +0 -18
- package/public/main-es2018.ab0adc5af3ab3e70c849.js +0 -1
- package/public/main-es5.ab0adc5af3ab3e70c849.js +0 -1
- package/public/polyfills-es2018.713f95af1f028e444854.js +0 -1
- package/public/polyfills-es5.c78877945523541d2597.js +0 -1
- package/public/runtime-es2018.a4dadbc03350107420a4.js +0 -1
- package/public/runtime-es5.a4dadbc03350107420a4.js +0 -1
- package/public/styles.71bb0d04cad96b5efbe1.css +0 -19
- package/src/assets/font-awesome/HELP-US-OUT.txt +0 -7
- package/src/assets/font-awesome/css/font-awesome.css +0 -2337
- package/src/assets/font-awesome/css/font-awesome.min.css +0 -4
- package/src/assets/font-awesome/desktop.ini +0 -4
- package/src/assets/font-awesome/fonts/FontAwesome.otf +0 -0
- package/src/assets/font-awesome/fonts/fontawesome-webfont.eot +0 -0
- package/src/assets/font-awesome/fonts/fontawesome-webfont.svg +0 -2671
- package/src/assets/font-awesome/fonts/fontawesome-webfont.ttf +0 -0
- package/src/assets/font-awesome/fonts/fontawesome-webfont.woff +0 -0
- package/src/assets/font-awesome/fonts/fontawesome-webfont.woff2 +0 -0
- package/src/assets/font-awesome/less/animated.less +0 -34
- package/src/assets/font-awesome/less/bordered-pulled.less +0 -25
- package/src/assets/font-awesome/less/core.less +0 -12
- package/src/assets/font-awesome/less/fixed-width.less +0 -6
- package/src/assets/font-awesome/less/font-awesome.less +0 -18
- package/src/assets/font-awesome/less/icons.less +0 -789
- package/src/assets/font-awesome/less/larger.less +0 -13
- package/src/assets/font-awesome/less/list.less +0 -19
- package/src/assets/font-awesome/less/mixins.less +0 -60
- package/src/assets/font-awesome/less/path.less +0 -15
- package/src/assets/font-awesome/less/rotated-flipped.less +0 -20
- package/src/assets/font-awesome/less/screen-reader.less +0 -5
- package/src/assets/font-awesome/less/stacked.less +0 -20
- package/src/assets/font-awesome/less/variables.less +0 -800
- package/src/assets/font-awesome/scss/_animated.scss +0 -34
- package/src/assets/font-awesome/scss/_bordered-pulled.scss +0 -25
- package/src/assets/font-awesome/scss/_core.scss +0 -12
- package/src/assets/font-awesome/scss/_fixed-width.scss +0 -6
- package/src/assets/font-awesome/scss/_icons.scss +0 -789
- package/src/assets/font-awesome/scss/_larger.scss +0 -13
- package/src/assets/font-awesome/scss/_list.scss +0 -19
- package/src/assets/font-awesome/scss/_mixins.scss +0 -60
- package/src/assets/font-awesome/scss/_path.scss +0 -15
- package/src/assets/font-awesome/scss/_rotated-flipped.scss +0 -20
- package/src/assets/font-awesome/scss/_screen-reader.scss +0 -5
- package/src/assets/font-awesome/scss/_stacked.scss +0 -20
- package/src/assets/font-awesome/scss/_variables.scss +0 -800
- package/src/assets/font-awesome/scss/font-awesome.scss +0 -18
|
@@ -1,135 +1,135 @@
|
|
|
1
|
-
<mat-tab-group class="tabGroup">
|
|
2
|
-
<mat-tab label="Editing Layout">
|
|
3
|
-
|
|
4
|
-
<div *ngIf="!unlockStatus">
|
|
5
|
-
<h2>Unlocking</h2>
|
|
6
|
-
<p>
|
|
7
|
-
The layout is "Locked" by default. This is to prevent accidental interaction from touch screens from changing anything.
|
|
8
|
-
You can unlock KIP using the hamburger icon in the lower right corner and selecting "Configuration -> Edit Layout". Go Ahead try it now!
|
|
9
|
-
</p>
|
|
10
|
-
</div>
|
|
11
|
-
<div *ngIf="unlockStatus">
|
|
12
|
-
<h2>Configuring Layout</h2>
|
|
13
|
-
<p>
|
|
14
|
-
Now that KIP is unlocked, you can do a few actions.
|
|
15
|
-
</p>
|
|
16
|
-
<ul>
|
|
17
|
-
<li>The icon in the lower right can be used to select the Widget you would like to display</li>
|
|
18
|
-
<li>The icon in the lower left can be used to "split" the existing area. You can use this to display multiple items on one page</li>
|
|
19
|
-
<li>The "X" in the upper right can be used to delete an area (basically undoing a split)</li>
|
|
20
|
-
<li>Once a widget is selected, there will be a gear in the lower middle. Clicking it will allow you to setup the widget parameters</li>
|
|
21
|
-
<li>You can drag the bars between widgits to resize them</li>
|
|
22
|
-
</ul>
|
|
23
|
-
|
|
24
|
-
</div>
|
|
25
|
-
|
|
26
|
-
</mat-tab>
|
|
27
|
-
<mat-tab label="Video Tutorials">
|
|
28
|
-
<ng-template matTabContent>
|
|
29
|
-
<mat-tab-group class="tabGroup">
|
|
30
|
-
|
|
31
|
-
<mat-tab label="KIP">
|
|
32
|
-
<mat-accordion>
|
|
33
|
-
<mat-expansion-panel [expanded]="step === 0" (opened)="setStep(0)">
|
|
34
|
-
<mat-expansion-panel-header>
|
|
35
|
-
<mat-panel-title>
|
|
36
|
-
5 Minutes with Kip (by Boating with the Baileys)
|
|
37
|
-
</mat-panel-title>
|
|
38
|
-
<mat-panel-description>
|
|
39
|
-
Introduction to using KIP
|
|
40
|
-
</mat-panel-description>
|
|
41
|
-
</mat-expansion-panel-header>
|
|
42
|
-
<iframe width="560" height="315" src="https://www.youtube.com/embed/v6o4uK-Iq8s" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
|
|
43
|
-
</mat-expansion-panel>
|
|
44
|
-
|
|
45
|
-
<mat-expansion-panel [expanded]="step === 1" (opened)="setStep(1)">
|
|
46
|
-
<mat-expansion-panel-header>
|
|
47
|
-
<mat-panel-title>
|
|
48
|
-
Graphana embeded in KIP (by Boating with the Baileys)
|
|
49
|
-
</mat-panel-title>
|
|
50
|
-
<mat-panel-description>
|
|
51
|
-
Pretty graphs
|
|
52
|
-
</mat-panel-description>
|
|
53
|
-
</mat-expansion-panel-header>
|
|
54
|
-
<iframe width="560" height="315" src="https://www.youtube.com/embed/S8FbtwBwW3w" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
|
|
55
|
-
</mat-expansion-panel>
|
|
56
|
-
|
|
57
|
-
<mat-expansion-panel [expanded]="step === 2" (opened)="setStep(2)">
|
|
58
|
-
<mat-expansion-panel-header>
|
|
59
|
-
<mat-panel-title>
|
|
60
|
-
Setting up zones in KIP (by Boating with the Baileys)
|
|
61
|
-
</mat-panel-title>
|
|
62
|
-
<mat-panel-description>
|
|
63
|
-
Warnings/Alarms
|
|
64
|
-
</mat-panel-description>
|
|
65
|
-
</mat-expansion-panel-header>
|
|
66
|
-
<iframe width="560" height="315" src="https://www.youtube.com/embed/BJFjLzjlpuY" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
|
|
67
|
-
</mat-expansion-panel>
|
|
68
|
-
|
|
69
|
-
</mat-accordion>
|
|
70
|
-
|
|
71
|
-
</mat-tab>
|
|
72
|
-
|
|
73
|
-
<mat-tab label="Graphana">
|
|
74
|
-
<mat-accordion>
|
|
75
|
-
<mat-expansion-panel [expanded]="step === 2" (opened)="setStep(2)">
|
|
76
|
-
<mat-expansion-panel-header>
|
|
77
|
-
<mat-panel-title>
|
|
78
|
-
5 Minutes with Graphana (by Boating with the Baileys)
|
|
79
|
-
</mat-panel-title>
|
|
80
|
-
<mat-panel-description>
|
|
81
|
-
Introduction to using Graphana
|
|
82
|
-
</mat-panel-description>
|
|
83
|
-
</mat-expansion-panel-header>
|
|
84
|
-
<iframe width="560" height="315" src="https://www.youtube.com/embed/b3lHwLnYgx0" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
|
|
85
|
-
</mat-expansion-panel>
|
|
86
|
-
|
|
87
|
-
<mat-expansion-panel [expanded]="step === 3" (opened)="setStep(3)">
|
|
88
|
-
<mat-expansion-panel-header>
|
|
89
|
-
<mat-panel-title>
|
|
90
|
-
SignalK to InfluxDB (by Boating with the Baileys)
|
|
91
|
-
</mat-panel-title>
|
|
92
|
-
<mat-panel-description>
|
|
93
|
-
Database to store historical data
|
|
94
|
-
</mat-panel-description>
|
|
95
|
-
</mat-expansion-panel-header>
|
|
96
|
-
<iframe width="560" height="315" src="https://www.youtube.com/embed/ULnN-cByQXE" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
|
|
97
|
-
</mat-expansion-panel>
|
|
98
|
-
</mat-accordion>
|
|
99
|
-
</mat-tab>
|
|
100
|
-
|
|
101
|
-
<mat-tab label="OpenPlotter">
|
|
102
|
-
<mat-accordion>
|
|
103
|
-
<mat-expansion-panel [expanded]="step === 4" (opened)="setStep(4)">
|
|
104
|
-
<mat-expansion-panel-header>
|
|
105
|
-
<mat-panel-title>
|
|
106
|
-
OpenPlotter (by Boating with the Baileys)
|
|
107
|
-
</mat-panel-title>
|
|
108
|
-
<mat-panel-description>
|
|
109
|
-
Installing OpenPlotter
|
|
110
|
-
</mat-panel-description>
|
|
111
|
-
</mat-expansion-panel-header>
|
|
112
|
-
<iframe width="560" height="315" src="https://www.youtube.com/embed/Q0sEpgzhHTE" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
|
|
113
|
-
</mat-expansion-panel>
|
|
114
|
-
|
|
115
|
-
<mat-expansion-panel [expanded]="step === 5" (opened)="setStep(5)">
|
|
116
|
-
<mat-expansion-panel-header>
|
|
117
|
-
<mat-panel-title>
|
|
118
|
-
OpenPlotter instruction video (by Smart Sailing Boat)
|
|
119
|
-
</mat-panel-title>
|
|
120
|
-
<mat-panel-description>
|
|
121
|
-
Installing OpenPlotter
|
|
122
|
-
</mat-panel-description>
|
|
123
|
-
</mat-expansion-panel-header>
|
|
124
|
-
<iframe width="560" height="315" src="https://www.youtube.com/embed/r8CGixMl18k" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
|
|
125
|
-
</mat-expansion-panel>
|
|
126
|
-
</mat-accordion>
|
|
127
|
-
</mat-tab>
|
|
128
|
-
|
|
129
|
-
</mat-tab-group>
|
|
130
|
-
</ng-template>
|
|
131
|
-
|
|
132
|
-
</mat-tab>
|
|
133
|
-
</mat-tab-group>
|
|
134
|
-
|
|
135
|
-
|
|
1
|
+
<mat-tab-group class="tabGroup">
|
|
2
|
+
<mat-tab label="Editing Layout">
|
|
3
|
+
|
|
4
|
+
<div *ngIf="!unlockStatus">
|
|
5
|
+
<h2>Unlocking</h2>
|
|
6
|
+
<p>
|
|
7
|
+
The layout is "Locked" by default. This is to prevent accidental interaction from touch screens from changing anything.
|
|
8
|
+
You can unlock KIP using the hamburger icon in the lower right corner and selecting "Configuration -> Edit Layout". Go Ahead try it now!
|
|
9
|
+
</p>
|
|
10
|
+
</div>
|
|
11
|
+
<div *ngIf="unlockStatus">
|
|
12
|
+
<h2>Configuring Layout</h2>
|
|
13
|
+
<p>
|
|
14
|
+
Now that KIP is unlocked, you can do a few actions.
|
|
15
|
+
</p>
|
|
16
|
+
<ul>
|
|
17
|
+
<li>The icon in the lower right can be used to select the Widget you would like to display</li>
|
|
18
|
+
<li>The icon in the lower left can be used to "split" the existing area. You can use this to display multiple items on one page</li>
|
|
19
|
+
<li>The "X" in the upper right can be used to delete an area (basically undoing a split)</li>
|
|
20
|
+
<li>Once a widget is selected, there will be a gear in the lower middle. Clicking it will allow you to setup the widget parameters</li>
|
|
21
|
+
<li>You can drag the bars between widgits to resize them</li>
|
|
22
|
+
</ul>
|
|
23
|
+
|
|
24
|
+
</div>
|
|
25
|
+
|
|
26
|
+
</mat-tab>
|
|
27
|
+
<mat-tab label="Video Tutorials">
|
|
28
|
+
<ng-template matTabContent>
|
|
29
|
+
<mat-tab-group class="tabGroup">
|
|
30
|
+
|
|
31
|
+
<mat-tab label="KIP">
|
|
32
|
+
<mat-accordion>
|
|
33
|
+
<mat-expansion-panel [expanded]="step === 0" (opened)="setStep(0)">
|
|
34
|
+
<mat-expansion-panel-header>
|
|
35
|
+
<mat-panel-title>
|
|
36
|
+
5 Minutes with Kip (by Boating with the Baileys)
|
|
37
|
+
</mat-panel-title>
|
|
38
|
+
<mat-panel-description>
|
|
39
|
+
Introduction to using KIP
|
|
40
|
+
</mat-panel-description>
|
|
41
|
+
</mat-expansion-panel-header>
|
|
42
|
+
<iframe width="560" height="315" src="https://www.youtube.com/embed/v6o4uK-Iq8s" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
|
|
43
|
+
</mat-expansion-panel>
|
|
44
|
+
|
|
45
|
+
<mat-expansion-panel [expanded]="step === 1" (opened)="setStep(1)">
|
|
46
|
+
<mat-expansion-panel-header>
|
|
47
|
+
<mat-panel-title>
|
|
48
|
+
Graphana embeded in KIP (by Boating with the Baileys)
|
|
49
|
+
</mat-panel-title>
|
|
50
|
+
<mat-panel-description>
|
|
51
|
+
Pretty graphs
|
|
52
|
+
</mat-panel-description>
|
|
53
|
+
</mat-expansion-panel-header>
|
|
54
|
+
<iframe width="560" height="315" src="https://www.youtube.com/embed/S8FbtwBwW3w" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
|
|
55
|
+
</mat-expansion-panel>
|
|
56
|
+
|
|
57
|
+
<mat-expansion-panel [expanded]="step === 2" (opened)="setStep(2)">
|
|
58
|
+
<mat-expansion-panel-header>
|
|
59
|
+
<mat-panel-title>
|
|
60
|
+
Setting up zones in KIP (by Boating with the Baileys)
|
|
61
|
+
</mat-panel-title>
|
|
62
|
+
<mat-panel-description>
|
|
63
|
+
Warnings/Alarms
|
|
64
|
+
</mat-panel-description>
|
|
65
|
+
</mat-expansion-panel-header>
|
|
66
|
+
<iframe width="560" height="315" src="https://www.youtube.com/embed/BJFjLzjlpuY" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
|
|
67
|
+
</mat-expansion-panel>
|
|
68
|
+
|
|
69
|
+
</mat-accordion>
|
|
70
|
+
|
|
71
|
+
</mat-tab>
|
|
72
|
+
|
|
73
|
+
<mat-tab label="Graphana">
|
|
74
|
+
<mat-accordion>
|
|
75
|
+
<mat-expansion-panel [expanded]="step === 2" (opened)="setStep(2)">
|
|
76
|
+
<mat-expansion-panel-header>
|
|
77
|
+
<mat-panel-title>
|
|
78
|
+
5 Minutes with Graphana (by Boating with the Baileys)
|
|
79
|
+
</mat-panel-title>
|
|
80
|
+
<mat-panel-description>
|
|
81
|
+
Introduction to using Graphana
|
|
82
|
+
</mat-panel-description>
|
|
83
|
+
</mat-expansion-panel-header>
|
|
84
|
+
<iframe width="560" height="315" src="https://www.youtube.com/embed/b3lHwLnYgx0" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
|
|
85
|
+
</mat-expansion-panel>
|
|
86
|
+
|
|
87
|
+
<mat-expansion-panel [expanded]="step === 3" (opened)="setStep(3)">
|
|
88
|
+
<mat-expansion-panel-header>
|
|
89
|
+
<mat-panel-title>
|
|
90
|
+
SignalK to InfluxDB (by Boating with the Baileys)
|
|
91
|
+
</mat-panel-title>
|
|
92
|
+
<mat-panel-description>
|
|
93
|
+
Database to store historical data
|
|
94
|
+
</mat-panel-description>
|
|
95
|
+
</mat-expansion-panel-header>
|
|
96
|
+
<iframe width="560" height="315" src="https://www.youtube.com/embed/ULnN-cByQXE" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
|
|
97
|
+
</mat-expansion-panel>
|
|
98
|
+
</mat-accordion>
|
|
99
|
+
</mat-tab>
|
|
100
|
+
|
|
101
|
+
<mat-tab label="OpenPlotter">
|
|
102
|
+
<mat-accordion>
|
|
103
|
+
<mat-expansion-panel [expanded]="step === 4" (opened)="setStep(4)">
|
|
104
|
+
<mat-expansion-panel-header>
|
|
105
|
+
<mat-panel-title>
|
|
106
|
+
OpenPlotter (by Boating with the Baileys)
|
|
107
|
+
</mat-panel-title>
|
|
108
|
+
<mat-panel-description>
|
|
109
|
+
Installing OpenPlotter
|
|
110
|
+
</mat-panel-description>
|
|
111
|
+
</mat-expansion-panel-header>
|
|
112
|
+
<iframe width="560" height="315" src="https://www.youtube.com/embed/Q0sEpgzhHTE" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
|
|
113
|
+
</mat-expansion-panel>
|
|
114
|
+
|
|
115
|
+
<mat-expansion-panel [expanded]="step === 5" (opened)="setStep(5)">
|
|
116
|
+
<mat-expansion-panel-header>
|
|
117
|
+
<mat-panel-title>
|
|
118
|
+
OpenPlotter instruction video (by Smart Sailing Boat)
|
|
119
|
+
</mat-panel-title>
|
|
120
|
+
<mat-panel-description>
|
|
121
|
+
Installing OpenPlotter
|
|
122
|
+
</mat-panel-description>
|
|
123
|
+
</mat-expansion-panel-header>
|
|
124
|
+
<iframe width="560" height="315" src="https://www.youtube.com/embed/r8CGixMl18k" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
|
|
125
|
+
</mat-expansion-panel>
|
|
126
|
+
</mat-accordion>
|
|
127
|
+
</mat-tab>
|
|
128
|
+
|
|
129
|
+
</mat-tab-group>
|
|
130
|
+
</ng-template>
|
|
131
|
+
|
|
132
|
+
</mat-tab>
|
|
133
|
+
</mat-tab-group>
|
|
134
|
+
|
|
135
|
+
|
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
import { Component, Input, OnInit, ViewEncapsulation, Inject } from '@angular/core';
|
|
2
|
-
import { Subscription } from 'rxjs';
|
|
3
|
-
|
|
4
|
-
import { AppSettingsService } from '../app-settings.service';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
@Component({
|
|
9
|
-
selector: 'app-help',
|
|
10
|
-
templateUrl: './app-help.component.html',
|
|
11
|
-
styleUrls: ['./app-help.component.css'],
|
|
12
|
-
encapsulation: ViewEncapsulation.None,
|
|
13
|
-
})
|
|
14
|
-
export class AppHelpComponent implements OnInit {
|
|
15
|
-
|
|
16
|
-
unlockStatusSub: Subscription;
|
|
17
|
-
unlockStatus: boolean;
|
|
18
|
-
|
|
19
|
-
step = -1;
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
constructor( private AppSettingsService: AppSettingsService,) {
|
|
23
|
-
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
ngOnInit() {
|
|
27
|
-
// get Unlock Status
|
|
28
|
-
this.unlockStatusSub = this.AppSettingsService.getUnlockStatusAsO().subscribe(
|
|
29
|
-
unlockStatus => {
|
|
30
|
-
this.unlockStatus = unlockStatus;
|
|
31
|
-
}
|
|
32
|
-
);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
ngOnDestroy() {
|
|
36
|
-
this.unlockStatusSub.unsubscribe();
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
setStep(index: number) {
|
|
40
|
-
this.step = index;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
}
|
|
45
|
-
|
|
1
|
+
import { Component, Input, OnInit, ViewEncapsulation, Inject } from '@angular/core';
|
|
2
|
+
import { Subscription } from 'rxjs';
|
|
3
|
+
|
|
4
|
+
import { AppSettingsService } from '../app-settings.service';
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
@Component({
|
|
9
|
+
selector: 'app-help',
|
|
10
|
+
templateUrl: './app-help.component.html',
|
|
11
|
+
styleUrls: ['./app-help.component.css'],
|
|
12
|
+
encapsulation: ViewEncapsulation.None,
|
|
13
|
+
})
|
|
14
|
+
export class AppHelpComponent implements OnInit {
|
|
15
|
+
|
|
16
|
+
unlockStatusSub: Subscription;
|
|
17
|
+
unlockStatus: boolean;
|
|
18
|
+
|
|
19
|
+
step = -1;
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
constructor( private AppSettingsService: AppSettingsService,) {
|
|
23
|
+
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
ngOnInit() {
|
|
27
|
+
// get Unlock Status
|
|
28
|
+
this.unlockStatusSub = this.AppSettingsService.getUnlockStatusAsO().subscribe(
|
|
29
|
+
unlockStatus => {
|
|
30
|
+
this.unlockStatus = unlockStatus;
|
|
31
|
+
}
|
|
32
|
+
);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
ngOnDestroy() {
|
|
36
|
+
this.unlockStatusSub.unsubscribe();
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
setStep(index: number) {
|
|
40
|
+
this.step = index;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
}
|
|
45
|
+
|
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
.fullheight {
|
|
2
|
-
height: 100%;
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
.mainContainer {
|
|
8
|
-
display: flex;
|
|
9
|
-
flex-direction: column;
|
|
10
|
-
align-items: stretch;
|
|
11
|
-
height: 100%;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
.mainWindow {
|
|
15
|
-
/* width: 100%; */
|
|
16
|
-
flex: 30;
|
|
17
|
-
/*
|
|
18
|
-
top: 0px;
|
|
19
|
-
bottom: 60px;
|
|
20
|
-
position: absolute;
|
|
21
|
-
*/
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
.menuBar {
|
|
25
|
-
/*width: 100%;
|
|
26
|
-
height: 60px; */
|
|
27
|
-
flex: 1;
|
|
28
|
-
/* bottom: 0px;
|
|
29
|
-
position: absolute;
|
|
30
|
-
background-color: rgb(100,100,100);;
|
|
31
|
-
*/
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
.menuBarContainer {
|
|
35
|
-
display: flex;
|
|
36
|
-
flex-direction: row;
|
|
37
|
-
justify-content: space-between;
|
|
38
|
-
}
|
|
39
|
-
|
|
1
|
+
.fullheight {
|
|
2
|
+
height: 100%;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
.mainContainer {
|
|
8
|
+
display: flex;
|
|
9
|
+
flex-direction: column;
|
|
10
|
+
align-items: stretch;
|
|
11
|
+
height: 100%;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.mainWindow {
|
|
15
|
+
/* width: 100%; */
|
|
16
|
+
flex: 30;
|
|
17
|
+
/*
|
|
18
|
+
top: 0px;
|
|
19
|
+
bottom: 60px;
|
|
20
|
+
position: absolute;
|
|
21
|
+
*/
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.menuBar {
|
|
25
|
+
/*width: 100%;
|
|
26
|
+
height: 60px; */
|
|
27
|
+
flex: 1;
|
|
28
|
+
/* bottom: 0px;
|
|
29
|
+
position: absolute;
|
|
30
|
+
background-color: rgb(100,100,100);;
|
|
31
|
+
*/
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.menuBarContainer {
|
|
35
|
+
display: flex;
|
|
36
|
+
flex-direction: row;
|
|
37
|
+
justify-content: space-between;
|
|
38
|
+
}
|
|
39
|
+
|
|
@@ -1,93 +1,93 @@
|
|
|
1
|
-
<div [class]="themeClass">
|
|
2
|
-
<div class="mainContainer app-defaults" >
|
|
3
|
-
<div class="mainWindow">
|
|
4
|
-
<router-outlet></router-outlet>
|
|
5
|
-
</div>
|
|
6
|
-
<div class="menuBar">
|
|
7
|
-
<div class="menuBarContainer theme-menu">
|
|
8
|
-
<div class="menuBarButtonGroups">
|
|
9
|
-
<app-alarm-menu></app-alarm-menu>
|
|
10
|
-
</div>
|
|
11
|
-
<div class="menuBarButtonGroups">
|
|
12
|
-
<button color="accent"mat-flat-button class="menuBarNavButtons" (click)="pageDown()">
|
|
13
|
-
<i class="fa fa-chevron-left fa-2x" aria-hidden="true"></i>
|
|
14
|
-
</button>
|
|
15
|
-
</div>
|
|
16
|
-
<div class="menuBarButtonGroups">
|
|
17
|
-
<button color="accent" mat-flat-button class="menuBarNavButtons" (click)="pageUp()">
|
|
18
|
-
<i class="fa fa-chevron-right fa-2x" aria-hidden="true"></i>
|
|
19
|
-
</button>
|
|
20
|
-
</div>
|
|
21
|
-
<div class="menuBarButtonGroups">
|
|
22
|
-
<button color="accent" mat-flat-button class="menuBarSettingsButton" [matMenuTriggerFor]="settingsMenu" >
|
|
23
|
-
<i class="fa fa-bars fa-2x" aria-hidden="true"></i>
|
|
24
|
-
</button>
|
|
25
|
-
</div>
|
|
26
|
-
</div>
|
|
27
|
-
</div>
|
|
28
|
-
</div>
|
|
29
|
-
</div>
|
|
30
|
-
|
|
31
|
-
<mat-menu #settingsMenu="matMenu">
|
|
32
|
-
<button mat-menu-item routerLink="/help">
|
|
33
|
-
<span><i class="fa fa-question-circle" aria-hidden="true"></i> Help</span>
|
|
34
|
-
</button>
|
|
35
|
-
<button mat-menu-item [matMenuTriggerFor]="configMenu">
|
|
36
|
-
<span><i class="fa fa-cog" aria-hidden="true"></i> Configuration</span>
|
|
37
|
-
</button>
|
|
38
|
-
<button mat-menu-item routerLink="/data">
|
|
39
|
-
<span><i class="fa fa-info" aria-hidden="true"></i> Data Browser</span>
|
|
40
|
-
</button>
|
|
41
|
-
<button mat-menu-item (click)="setNightMode(isNightMode ? false : true)">
|
|
42
|
-
<span *ngIf="!isNightMode"><i class="fa fa-moon-o" aria-hidden="true"></i> Night Mode</span>
|
|
43
|
-
<span *ngIf="isNightMode"><i class="fa fa-sun-o" aria-hidden="true"></i> Day Mode</span>
|
|
44
|
-
</button>
|
|
45
|
-
<button mat-menu-item (click)="toggleFullScreen()">
|
|
46
|
-
<span *ngIf="!fullscreenStatus"><i class="fa fa-window-maximize" aria-hidden="true"></i> Fullscreen</span>
|
|
47
|
-
<span *ngIf="fullscreenStatus"><i class="fa fa-window-restore" aria-hidden="true"></i> Exit Fullscreen</span>
|
|
48
|
-
</button>
|
|
49
|
-
</mat-menu>
|
|
50
|
-
|
|
51
|
-
<mat-menu #configMenu="matMenu">
|
|
52
|
-
<button mat-menu-item routerLink="/settings">
|
|
53
|
-
<span><i class="fa fa-sliders" aria-hidden="true"></i> Settings</span>
|
|
54
|
-
</button>
|
|
55
|
-
<button mat-menu-item [disabled]="isNightMode" [matMenuTriggerFor]="themesMenu">
|
|
56
|
-
<span><i class="fa fa-paint-brush"></i> Themes</span>
|
|
57
|
-
</button>
|
|
58
|
-
<button mat-menu-item [disabled]="!unlockStatus" (click)="newPage()">
|
|
59
|
-
<span><i class="fa fa-plus-square" aria-hidden="true"></i> Add Page</span>
|
|
60
|
-
</button>
|
|
61
|
-
<button mat-menu-item (click)="unlockPage()">
|
|
62
|
-
<span *ngIf="!unlockStatus"><i class="fa fa-columns" aria-hidden="true"></i> Edit Layout</span>
|
|
63
|
-
<span *ngIf="unlockStatus"><i class="fa fa-lock" aria-hidden="true"></i> Lock Layout</span>
|
|
64
|
-
</button>
|
|
65
|
-
</mat-menu>
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
<mat-menu #themesMenu="matMenu" xPosition="before">
|
|
69
|
-
<button mat-menu-item (click)="setTheme('default-light')">
|
|
70
|
-
<span><i *ngIf="themeName == 'default-light' else elseBlock" class="fa fa-circle" aria-hidden="true"></i> Light Blue</span>
|
|
71
|
-
<ng-template #elseBlock><i class="fa fa-circle-o" aria-hidden="true"></i></ng-template>
|
|
72
|
-
</button>
|
|
73
|
-
<button mat-menu-item (click)="setTheme('signalk-light')">
|
|
74
|
-
<span><i *ngIf="themeName == 'signalk-light' else elseBlock" class="fa fa-circle" aria-hidden="true"></i> Signal K</span>
|
|
75
|
-
<ng-template #elseBlock><i class="fa fa-circle-o" aria-hidden="true"></i></ng-template>
|
|
76
|
-
</button>
|
|
77
|
-
<button mat-menu-item (click)="setTheme('high-contrast-light')">
|
|
78
|
-
<span><i *ngIf="themeName == 'high-contrast-light' else elseBlock" class="fa fa-circle" aria-hidden="true"></i> High Contrast</span>
|
|
79
|
-
<ng-template #elseBlock><i class="fa fa-circle-o" aria-hidden="true"></i></ng-template>
|
|
80
|
-
</button>
|
|
81
|
-
<button mat-menu-item (click)="setTheme('platypus-light')">
|
|
82
|
-
<span><i *ngIf="themeName == 'platypus-light' else elseBlock" class="fa fa-circle" aria-hidden="true"></i> Platypus</span>
|
|
83
|
-
<ng-template #elseBlock><i class="fa fa-circle-o" aria-hidden="true"></i></ng-template>
|
|
84
|
-
</button>
|
|
85
|
-
<button mat-menu-item (click)="setTheme('darkBlue-dark')">
|
|
86
|
-
<span><i *ngIf="themeName == 'darkBlue-dark' else elseBlock" class="fa fa-circle" aria-hidden="true"></i> Dark Blue</span>
|
|
87
|
-
<ng-template #elseBlock><i class="fa fa-circle-o" aria-hidden="true"></i></ng-template>
|
|
88
|
-
</button>
|
|
89
|
-
<button mat-menu-item (click)="setTheme('modern-dark')">
|
|
90
|
-
<span><i *ngIf="themeName == 'modern-dark' else elseBlock" class="fa fa-circle" aria-hidden="true"></i> Modern Dark</span>
|
|
91
|
-
<ng-template #elseBlock><i class="fa fa-circle-o" aria-hidden="true"></i></ng-template>
|
|
92
|
-
</button>
|
|
93
|
-
</mat-menu>
|
|
1
|
+
<div [class]="themeClass">
|
|
2
|
+
<div class="mainContainer app-defaults" >
|
|
3
|
+
<div class="mainWindow">
|
|
4
|
+
<router-outlet></router-outlet>
|
|
5
|
+
</div>
|
|
6
|
+
<div class="menuBar">
|
|
7
|
+
<div class="menuBarContainer theme-menu">
|
|
8
|
+
<div class="menuBarButtonGroups">
|
|
9
|
+
<app-alarm-menu></app-alarm-menu>
|
|
10
|
+
</div>
|
|
11
|
+
<div class="menuBarButtonGroups">
|
|
12
|
+
<button color="accent"mat-flat-button class="menuBarNavButtons" (click)="pageDown()">
|
|
13
|
+
<i class="fa-solid fa-chevron-left fa-2x" aria-hidden="true"></i>
|
|
14
|
+
</button>
|
|
15
|
+
</div>
|
|
16
|
+
<div class="menuBarButtonGroups">
|
|
17
|
+
<button color="accent" mat-flat-button class="menuBarNavButtons" (click)="pageUp()">
|
|
18
|
+
<i class="fa-solid fa-chevron-right fa-2x" aria-hidden="true"></i>
|
|
19
|
+
</button>
|
|
20
|
+
</div>
|
|
21
|
+
<div class="menuBarButtonGroups">
|
|
22
|
+
<button color="accent" mat-flat-button class="menuBarSettingsButton" [matMenuTriggerFor]="settingsMenu" >
|
|
23
|
+
<i class="fa-solid fa-bars fa-2x" aria-hidden="true"></i>
|
|
24
|
+
</button>
|
|
25
|
+
</div>
|
|
26
|
+
</div>
|
|
27
|
+
</div>
|
|
28
|
+
</div>
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
<mat-menu #settingsMenu="matMenu">
|
|
32
|
+
<button mat-menu-item routerLink="/help">
|
|
33
|
+
<span><i class="fa-solid fa-question-circle" aria-hidden="true"></i> Help</span>
|
|
34
|
+
</button>
|
|
35
|
+
<button mat-menu-item [matMenuTriggerFor]="configMenu">
|
|
36
|
+
<span><i class="fa-solid fa-cog" aria-hidden="true"></i> Configuration</span>
|
|
37
|
+
</button>
|
|
38
|
+
<button mat-menu-item routerLink="/data">
|
|
39
|
+
<span><i class="fa-solid fa-info" aria-hidden="true"></i> Data Browser</span>
|
|
40
|
+
</button>
|
|
41
|
+
<button mat-menu-item (click)="setNightMode(isNightMode ? false : true)">
|
|
42
|
+
<span *ngIf="!isNightMode"><i class="fa-solid fa-moon-o" aria-hidden="true"></i> Night Mode</span>
|
|
43
|
+
<span *ngIf="isNightMode"><i class="fa-solid fa-sun-o" aria-hidden="true"></i> Day Mode</span>
|
|
44
|
+
</button>
|
|
45
|
+
<button mat-menu-item (click)="toggleFullScreen()">
|
|
46
|
+
<span *ngIf="!fullscreenStatus"><i class="fa-solid fa-window-maximize" aria-hidden="true"></i> Fullscreen</span>
|
|
47
|
+
<span *ngIf="fullscreenStatus"><i class="fa-solid fa-window-restore" aria-hidden="true"></i> Exit Fullscreen</span>
|
|
48
|
+
</button>
|
|
49
|
+
</mat-menu>
|
|
50
|
+
|
|
51
|
+
<mat-menu #configMenu="matMenu">
|
|
52
|
+
<button mat-menu-item routerLink="/settings">
|
|
53
|
+
<span><i class="fa-solid fa-sliders" aria-hidden="true"></i> Settings</span>
|
|
54
|
+
</button>
|
|
55
|
+
<button mat-menu-item [disabled]="isNightMode" [matMenuTriggerFor]="themesMenu">
|
|
56
|
+
<span><i class="fa-solid fa-paint-brush"></i> Themes</span>
|
|
57
|
+
</button>
|
|
58
|
+
<button mat-menu-item [disabled]="!unlockStatus" (click)="newPage()">
|
|
59
|
+
<span><i class="fa-solid fa-plus-square" aria-hidden="true"></i> Add Page</span>
|
|
60
|
+
</button>
|
|
61
|
+
<button mat-menu-item (click)="unlockPage()">
|
|
62
|
+
<span *ngIf="!unlockStatus"><i class="fa-solid fa-columns" aria-hidden="true"></i> Edit Layout</span>
|
|
63
|
+
<span *ngIf="unlockStatus"><i class="fa-solid fa-lock" aria-hidden="true"></i> Lock Layout</span>
|
|
64
|
+
</button>
|
|
65
|
+
</mat-menu>
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
<mat-menu #themesMenu="matMenu" xPosition="before">
|
|
69
|
+
<button mat-menu-item (click)="setTheme('default-light')">
|
|
70
|
+
<span><i *ngIf="themeName == 'default-light' else elseBlock" class="fa-solid fa-circle" aria-hidden="true"></i> Light Blue</span>
|
|
71
|
+
<ng-template #elseBlock><i class="fa-solid fa-circle-o" aria-hidden="true"></i></ng-template>
|
|
72
|
+
</button>
|
|
73
|
+
<button mat-menu-item (click)="setTheme('signalk-light')">
|
|
74
|
+
<span><i *ngIf="themeName == 'signalk-light' else elseBlock" class="fa-solid fa-circle" aria-hidden="true"></i> Signal K</span>
|
|
75
|
+
<ng-template #elseBlock><i class="fa-solid fa-circle-o" aria-hidden="true"></i></ng-template>
|
|
76
|
+
</button>
|
|
77
|
+
<button mat-menu-item (click)="setTheme('high-contrast-light')">
|
|
78
|
+
<span><i *ngIf="themeName == 'high-contrast-light' else elseBlock" class="fa-solid fa-circle" aria-hidden="true"></i> High Contrast</span>
|
|
79
|
+
<ng-template #elseBlock><i class="fa-solid fa-circle-o" aria-hidden="true"></i></ng-template>
|
|
80
|
+
</button>
|
|
81
|
+
<button mat-menu-item (click)="setTheme('platypus-light')">
|
|
82
|
+
<span><i *ngIf="themeName == 'platypus-light' else elseBlock" class="fa-solid fa-circle" aria-hidden="true"></i> Platypus</span>
|
|
83
|
+
<ng-template #elseBlock><i class="fa-solid fa-circle-o" aria-hidden="true"></i></ng-template>
|
|
84
|
+
</button>
|
|
85
|
+
<button mat-menu-item (click)="setTheme('darkBlue-dark')">
|
|
86
|
+
<span><i *ngIf="themeName == 'darkBlue-dark' else elseBlock" class="fa-solid fa-circle" aria-hidden="true"></i> Dark Blue</span>
|
|
87
|
+
<ng-template #elseBlock><i class="fa-solid fa-circle-o" aria-hidden="true"></i></ng-template>
|
|
88
|
+
</button>
|
|
89
|
+
<button mat-menu-item (click)="setTheme('modern-dark')">
|
|
90
|
+
<span><i *ngIf="themeName == 'modern-dark' else elseBlock" class="fa-solid fa-circle" aria-hidden="true"></i> Modern Dark</span>
|
|
91
|
+
<ng-template #elseBlock><i class="fa-solid fa-circle-o" aria-hidden="true"></i></ng-template>
|
|
92
|
+
</button>
|
|
93
|
+
</mat-menu>
|