@mxtommy/kip 1.2.1 → 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.
Files changed (315) hide show
  1. package/.angulardoc.json +3 -3
  2. package/CHANGELOG.md +145 -124
  3. package/CONTRIBUTORS.md +16 -13
  4. package/README.md +102 -101
  5. package/angular.json +162 -152
  6. package/karma.conf.js +31 -31
  7. package/package.json +87 -80
  8. package/public/3rdpartylicenses.txt +317 -62
  9. package/public/assets/NoSleep.min.js +1 -1
  10. package/public/assets/fontawesome6/css/all.min.css +6 -0
  11. package/public/assets/fontawesome6/webfonts/fa-brands-400.ttf +0 -0
  12. package/public/assets/fontawesome6/webfonts/fa-brands-400.woff2 +0 -0
  13. package/public/assets/fontawesome6/webfonts/fa-regular-400.ttf +0 -0
  14. package/public/assets/fontawesome6/webfonts/fa-regular-400.woff2 +0 -0
  15. package/public/assets/fontawesome6/webfonts/fa-solid-900.ttf +0 -0
  16. package/public/assets/fontawesome6/webfonts/fa-solid-900.woff2 +0 -0
  17. package/public/assets/fontawesome6/webfonts/fa-v4compatibility.ttf +0 -0
  18. package/public/assets/fontawesome6/webfonts/fa-v4compatibility.woff2 +0 -0
  19. package/public/assets/icon-192x192.png +0 -0
  20. package/public/assets/icon-256x256.png +0 -0
  21. package/public/assets/icon-384x384.png +0 -0
  22. package/public/assets/icon-512x512.png +0 -0
  23. package/public/assets/steelseries-min.js +25 -25
  24. package/public/assets/steelseries-min.js.map +8 -8
  25. package/public/assets/steelseries.js +15834 -15834
  26. package/public/assets/svg-autopilot-inkscape-plain.svg +983 -983
  27. package/public/assets/svg-wind-inkscape.svg +1358 -1358
  28. package/public/assets/tween.js +381 -381
  29. package/public/index.html +19 -20
  30. package/public/main-es2018.98175eb4c61ccaf7eb17.js +1 -0
  31. package/public/main-es5.98175eb4c61ccaf7eb17.js +1 -0
  32. package/public/manifest.json +33 -0
  33. package/public/polyfills-es2018.3a61665863c173cd6ba3.js +1 -0
  34. package/public/polyfills-es5.44827ae4ff4e41de51fb.js +1 -0
  35. package/public/runtime-es2018.baedb88c6d2abacae2b8.js +1 -0
  36. package/public/runtime-es5.baedb88c6d2abacae2b8.js +1 -0
  37. package/public/styles.b92ae2c466c89712209d.css +5 -0
  38. package/src/app/alarm-menu/alarm-menu.component.html +55 -55
  39. package/src/app/alarm-menu/alarm-menu.component.scss +52 -53
  40. package/src/app/alarm-menu/alarm-menu.component.spec.ts +25 -25
  41. package/src/app/alarm-menu/alarm-menu.component.ts +186 -186
  42. package/src/app/app-help/app-help.component.css +4 -4
  43. package/src/app/app-help/app-help.component.html +135 -121
  44. package/src/app/app-help/app-help.component.ts +45 -45
  45. package/src/app/app.component.css +39 -39
  46. package/src/app/app.component.html +93 -93
  47. package/src/app/app.component.scss +79 -79
  48. package/src/app/app.component.spec.ts +32 -32
  49. package/src/app/app.component.ts +191 -192
  50. package/src/app/app.module.ts +200 -200
  51. package/src/app/config.blank.const.ts +51 -51
  52. package/src/app/config.blank.notification.const.ts +19 -19
  53. package/src/app/config.blank.units.const.ts +23 -23
  54. package/src/app/config.demo.const.ts +383 -382
  55. package/src/app/data-browser/data-browser.component.css +29 -29
  56. package/src/app/data-browser/data-browser.component.html +44 -44
  57. package/src/app/data-browser/data-browser.component.spec.ts +25 -25
  58. package/src/app/data-browser/data-browser.component.ts +91 -91
  59. package/src/app/data-browser-row/data-browser-row-unit-modal.html +17 -17
  60. package/src/app/data-browser-row/data-browser-row.component.css +9 -9
  61. package/src/app/data-browser-row/data-browser-row.component.html +4 -4
  62. package/src/app/data-browser-row/data-browser-row.component.ts +78 -78
  63. package/src/app/data-set.service.ts +273 -273
  64. package/src/app/dynamic-widget.directive.ts +11 -11
  65. package/src/app/gauge-steel/gauge-steel.component.css +4 -4
  66. package/src/app/gauge-steel/gauge-steel.component.html +4 -4
  67. package/src/app/gauge-steel/gauge-steel.component.spec.ts +25 -25
  68. package/src/app/gauge-steel/gauge-steel.component.ts +282 -282
  69. package/src/app/gauges-module/base-gauge.ts +301 -0
  70. package/src/app/gauges-module/gauges.module.ts +17 -0
  71. package/src/app/gauges-module/linear-gauge.ts +50 -0
  72. package/src/app/gauges-module/radial-gauge.ts +48 -0
  73. package/src/app/layout-split/layout-split.component.html +30 -30
  74. package/src/app/layout-split/layout-split.component.scss +33 -33
  75. package/src/app/layout-split/layout-split.component.spec.ts +25 -25
  76. package/src/app/layout-split/layout-split.component.ts +59 -59
  77. package/src/app/layout-splits.service.ts +284 -284
  78. package/src/app/modal-path-selector/modal-path-selector.component.html +62 -62
  79. package/src/app/modal-path-selector/modal-path-selector.component.scss +39 -39
  80. package/src/app/modal-path-selector/modal-path-selector.component.spec.ts +25 -25
  81. package/src/app/modal-path-selector/modal-path-selector.component.ts +132 -132
  82. package/src/app/modal-widget/modal-widget.component.css +32 -32
  83. package/src/app/modal-widget/modal-widget.component.html +341 -334
  84. package/src/app/modal-widget/modal-widget.component.spec.ts +25 -25
  85. package/src/app/modal-widget/modal-widget.component.ts +84 -84
  86. package/src/app/notifications.service.ts +392 -387
  87. package/src/app/object-keys.pipe.spec.ts +8 -8
  88. package/src/app/object-keys.pipe.ts +13 -13
  89. package/src/app/reset-config/reset-config.component.html +3 -3
  90. package/src/app/reset-config/reset-config.component.spec.ts +25 -25
  91. package/src/app/reset-config/reset-config.component.ts +31 -31
  92. package/src/app/root-display/root-display.component.html +4 -4
  93. package/src/app/root-display/root-display.component.spec.ts +25 -25
  94. package/src/app/root-display/root-display.component.ts +57 -57
  95. package/src/app/safe.pipe.ts +15 -15
  96. package/src/app/settings/settings.component.css +9 -9
  97. package/src/app/settings/settings.component.html +25 -25
  98. package/src/app/settings/settings.component.spec.ts +25 -25
  99. package/src/app/settings/settings.component.ts +22 -22
  100. package/src/app/settings-config/settings-config.component.css +38 -38
  101. package/src/app/settings-config/settings-config.component.spec.ts +25 -25
  102. package/src/app/settings-config/settings-config.component.ts +161 -161
  103. package/src/app/settings-datasets/settings-datasets.component.html +43 -43
  104. package/src/app/settings-datasets/settings-datasets.component.scss +39 -39
  105. package/src/app/settings-datasets/settings-datasets.component.spec.ts +25 -25
  106. package/src/app/settings-datasets/settings-datasets.component.ts +98 -98
  107. package/src/app/settings-datasets/settings-datasets.modal.html +54 -54
  108. package/src/app/settings-notifications/settings-notifications.component.html +65 -65
  109. package/src/app/settings-notifications/settings-notifications.component.spec.ts +25 -25
  110. package/src/app/settings-notifications/settings-notifications.component.ts +29 -29
  111. package/src/app/settings-signalk/settings-signalk.component.html +8 -8
  112. package/src/app/settings-signalk/settings-signalk.component.spec.ts +25 -25
  113. package/src/app/settings-signalk/settings-signalk.component.ts +6 -17
  114. package/src/app/settings-units/settings-units.component.css +4 -4
  115. package/src/app/settings-units/settings-units.component.html +19 -19
  116. package/src/app/settings-units/settings-units.component.spec.ts +25 -25
  117. package/src/app/settings-units/settings-units.component.ts +62 -62
  118. package/src/app/settings-zones/settings-zones.component.css +21 -21
  119. package/src/app/settings-zones/settings-zones.component.html +70 -70
  120. package/src/app/settings-zones/settings-zones.modal.html +38 -38
  121. package/src/app/signalk-connection.service.ts +344 -344
  122. package/src/app/signalk-delta.service.spec.ts +15 -15
  123. package/src/app/signalk-delta.service.ts +97 -97
  124. package/src/app/signalk-full.service.ts +99 -99
  125. package/src/app/signalk-interfaces.ts +129 -129
  126. package/src/app/signalk-requests.service.spec.ts +12 -12
  127. package/src/app/signalk-requests.service.ts +180 -180
  128. package/src/app/svg-autopilot/svg-autopilot.component.html +1036 -1036
  129. package/src/app/svg-autopilot/svg-autopilot.component.spec.ts +25 -25
  130. package/src/app/svg-autopilot/svg-autopilot.component.ts +174 -174
  131. package/src/app/svg-simple-linear-gauge/svg-simple-linear-gauge.component.html +119 -119
  132. package/src/app/svg-simple-linear-gauge/svg-simple-linear-gauge.component.spec.ts +25 -25
  133. package/src/app/svg-simple-linear-gauge/svg-simple-linear-gauge.component.ts +49 -49
  134. package/src/app/svg-wind/svg-wind.component.html +969 -969
  135. package/src/app/svg-wind/svg-wind.component.scss +76 -76
  136. package/src/app/svg-wind/svg-wind.component.spec.ts +25 -25
  137. package/src/app/svg-wind/svg-wind.component.ts +280 -280
  138. package/src/app/unit-window/unit-window.component.css +37 -37
  139. package/src/app/unit-window/unit-window.component.html +8 -8
  140. package/src/app/unit-window/unit-window.component.spec.ts +25 -25
  141. package/src/app/unit-window/unit-window.component.ts +134 -134
  142. package/src/app/unit-window/unit-window.modal.html +24 -24
  143. package/src/app/units.service.ts +300 -300
  144. package/src/app/widget-autopilot/widget-autopilot.component.html +78 -85
  145. package/src/app/widget-autopilot/widget-autopilot.component.scss +191 -191
  146. package/src/app/widget-autopilot/widget-autopilot.component.spec.ts +25 -25
  147. package/src/app/widget-autopilot/widget-autopilot.component.ts +774 -781
  148. package/src/app/widget-blank/widget-blank.component.scss +21 -22
  149. package/src/app/widget-blank/widget-blank.component.spec.ts +25 -25
  150. package/src/app/widget-blank/widget-blank.component.ts +17 -17
  151. package/src/app/widget-gauge/widget-gauge.component.css +25 -25
  152. package/src/app/widget-gauge/widget-gauge.component.html +29 -29
  153. package/src/app/widget-gauge/widget-gauge.component.spec.ts +25 -25
  154. package/src/app/widget-gauge/widget-gauge.component.ts +120 -120
  155. package/src/app/widget-gauge-ng-linear/widget-gauge-ng-linear.component.html +126 -126
  156. package/src/app/widget-gauge-ng-linear/widget-gauge-ng-linear.component.scss +94 -93
  157. package/src/app/widget-gauge-ng-linear/widget-gauge-ng-linear.component.spec.ts +25 -25
  158. package/src/app/widget-gauge-ng-linear/widget-gauge-ng-linear.component.ts +424 -424
  159. package/src/app/widget-gauge-ng-radial/widget-gauge-ng-radial.component.html +122 -122
  160. package/src/app/widget-gauge-ng-radial/widget-gauge-ng-radial.component.scss +69 -69
  161. package/src/app/widget-gauge-ng-radial/widget-gauge-ng-radial.component.spec.ts +25 -25
  162. package/src/app/widget-gauge-ng-radial/widget-gauge-ng-radial.component.ts +553 -553
  163. package/src/app/widget-historical/widget-historical.component.html +14 -14
  164. package/src/app/widget-historical/widget-historical.component.spec.ts +25 -25
  165. package/src/app/widget-historical/widget-historical.component.ts +306 -307
  166. package/src/app/widget-iframe/widget-iframe.component.css +11 -11
  167. package/src/app/widget-iframe/widget-iframe.component.html +21 -21
  168. package/src/app/widget-iframe/widget-iframe.component.spec.ts +25 -25
  169. package/src/app/widget-iframe/widget-iframe.component.ts +63 -63
  170. package/src/app/widget-list.service.ts +135 -135
  171. package/src/app/widget-manager.service.ts +141 -140
  172. package/src/app/widget-numeric/widget-numeric.component.html +1 -1
  173. package/src/app/widget-numeric/widget-numeric.component.scss +3 -3
  174. package/src/app/widget-numeric/widget-numeric.component.spec.ts +25 -25
  175. package/src/app/widget-simple-linear/widget-simple-linear.component.html +28 -28
  176. package/src/app/widget-simple-linear/widget-simple-linear.component.scss +64 -64
  177. package/src/app/widget-simple-linear/widget-simple-linear.component.spec.ts +25 -25
  178. package/src/app/widget-simple-linear/widget-simple-linear.component.ts +199 -199
  179. package/src/app/widget-state/widget-state.component.html +27 -27
  180. package/src/app/widget-state/widget-state.component.scss +68 -68
  181. package/src/app/widget-state/widget-state.component.spec.ts +25 -25
  182. package/src/app/widget-state/widget-state.component.ts +178 -178
  183. package/src/app/widget-switch/widget-switch.component.css +69 -69
  184. package/src/app/widget-switch/widget-switch.component.html +17 -17
  185. package/src/app/widget-switch/widget-switch.component.spec.ts +25 -25
  186. package/src/app/widget-switch/widget-switch.component.ts +134 -134
  187. package/src/app/widget-text-generic/widget-text-generic.component.html +9 -9
  188. package/src/app/widget-text-generic/widget-text-generic.component.spec.ts +25 -25
  189. package/src/app/widget-tutorial/widget-tutorial.component.html +34 -34
  190. package/src/app/widget-tutorial/widget-tutorial.component.spec.ts +25 -25
  191. package/src/app/widget-tutorial/widget-tutorial.component.ts +18 -18
  192. package/src/app/widget-unknown/widget-unknown.component.spec.ts +25 -25
  193. package/src/app/widget-wind/widget-wind.component.css +23 -23
  194. package/src/app/widget-wind/widget-wind.component.html +20 -20
  195. package/src/app/widget-wind/widget-wind.component.spec.ts +25 -25
  196. package/src/app/widget-wind/widget-wind.component.ts +369 -369
  197. package/src/assets/NoSleep.min.js +1 -1
  198. package/src/assets/fontawesome6/css/all.min.css +6 -0
  199. package/src/assets/fontawesome6/webfonts/fa-brands-400.ttf +0 -0
  200. package/src/assets/fontawesome6/webfonts/fa-brands-400.woff2 +0 -0
  201. package/src/assets/fontawesome6/webfonts/fa-regular-400.ttf +0 -0
  202. package/src/assets/fontawesome6/webfonts/fa-regular-400.woff2 +0 -0
  203. package/src/assets/fontawesome6/webfonts/fa-solid-900.ttf +0 -0
  204. package/src/assets/fontawesome6/webfonts/fa-solid-900.woff2 +0 -0
  205. package/src/assets/fontawesome6/webfonts/fa-v4compatibility.ttf +0 -0
  206. package/src/assets/fontawesome6/webfonts/fa-v4compatibility.woff2 +0 -0
  207. package/src/assets/icon-192x192.png +0 -0
  208. package/src/assets/icon-256x256.png +0 -0
  209. package/src/assets/icon-384x384.png +0 -0
  210. package/src/assets/icon-512x512.png +0 -0
  211. package/src/assets/steelseries-min.js +25 -25
  212. package/src/assets/steelseries-min.js.map +8 -8
  213. package/src/assets/steelseries.js +15834 -15834
  214. package/src/assets/svg-autopilot-inkscape-plain.svg +983 -983
  215. package/src/assets/svg-wind-inkscape.svg +1358 -1358
  216. package/src/assets/tween.js +381 -381
  217. package/src/index.html +20 -20
  218. package/src/main.ts +11 -11
  219. package/src/manifest.json +33 -0
  220. package/src/polyfills.ts +80 -76
  221. package/src/styles.scss +11 -11
  222. package/src/themes/darkBlueTheme.scss +117 -116
  223. package/src/themes/defaultTheme.scss +50 -49
  224. package/src/themes/highContrastTheme.scss +47 -46
  225. package/src/themes/modernTheme.scss +143 -142
  226. package/src/themes/nightMode.scss +185 -184
  227. package/src/themes/platypusTheme.scss +80 -79
  228. package/src/themes/signalkTheme.scss +112 -111
  229. package/src/tsconfig.app.json +15 -15
  230. package/src/tsconfig.spec.json +20 -20
  231. package/tsconfig.json +23 -23
  232. package/tslint.json +143 -143
  233. package/public/assets/font-awesome/HELP-US-OUT.txt +0 -7
  234. package/public/assets/font-awesome/css/font-awesome.css +0 -2337
  235. package/public/assets/font-awesome/css/font-awesome.min.css +0 -4
  236. package/public/assets/font-awesome/desktop.ini +0 -4
  237. package/public/assets/font-awesome/fonts/FontAwesome.otf +0 -0
  238. package/public/assets/font-awesome/fonts/fontawesome-webfont.eot +0 -0
  239. package/public/assets/font-awesome/fonts/fontawesome-webfont.svg +0 -2671
  240. package/public/assets/font-awesome/fonts/fontawesome-webfont.ttf +0 -0
  241. package/public/assets/font-awesome/fonts/fontawesome-webfont.woff +0 -0
  242. package/public/assets/font-awesome/fonts/fontawesome-webfont.woff2 +0 -0
  243. package/public/assets/font-awesome/less/animated.less +0 -34
  244. package/public/assets/font-awesome/less/bordered-pulled.less +0 -25
  245. package/public/assets/font-awesome/less/core.less +0 -12
  246. package/public/assets/font-awesome/less/fixed-width.less +0 -6
  247. package/public/assets/font-awesome/less/font-awesome.less +0 -18
  248. package/public/assets/font-awesome/less/icons.less +0 -789
  249. package/public/assets/font-awesome/less/larger.less +0 -13
  250. package/public/assets/font-awesome/less/list.less +0 -19
  251. package/public/assets/font-awesome/less/mixins.less +0 -60
  252. package/public/assets/font-awesome/less/path.less +0 -15
  253. package/public/assets/font-awesome/less/rotated-flipped.less +0 -20
  254. package/public/assets/font-awesome/less/screen-reader.less +0 -5
  255. package/public/assets/font-awesome/less/stacked.less +0 -20
  256. package/public/assets/font-awesome/less/variables.less +0 -800
  257. package/public/assets/font-awesome/scss/_animated.scss +0 -34
  258. package/public/assets/font-awesome/scss/_bordered-pulled.scss +0 -25
  259. package/public/assets/font-awesome/scss/_core.scss +0 -12
  260. package/public/assets/font-awesome/scss/_fixed-width.scss +0 -6
  261. package/public/assets/font-awesome/scss/_icons.scss +0 -789
  262. package/public/assets/font-awesome/scss/_larger.scss +0 -13
  263. package/public/assets/font-awesome/scss/_list.scss +0 -19
  264. package/public/assets/font-awesome/scss/_mixins.scss +0 -60
  265. package/public/assets/font-awesome/scss/_path.scss +0 -15
  266. package/public/assets/font-awesome/scss/_rotated-flipped.scss +0 -20
  267. package/public/assets/font-awesome/scss/_screen-reader.scss +0 -5
  268. package/public/assets/font-awesome/scss/_stacked.scss +0 -20
  269. package/public/assets/font-awesome/scss/_variables.scss +0 -800
  270. package/public/assets/font-awesome/scss/font-awesome.scss +0 -18
  271. package/public/main-es2018.625fb92c9cbb6a4131de.js +0 -1
  272. package/public/main-es5.625fb92c9cbb6a4131de.js +0 -1
  273. package/public/polyfills-es2018.713f95af1f028e444854.js +0 -1
  274. package/public/polyfills-es5.c78877945523541d2597.js +0 -1
  275. package/public/runtime-es2018.a4dadbc03350107420a4.js +0 -1
  276. package/public/runtime-es5.a4dadbc03350107420a4.js +0 -1
  277. package/public/styles.71bb0d04cad96b5efbe1.css +0 -19
  278. package/src/assets/font-awesome/HELP-US-OUT.txt +0 -7
  279. package/src/assets/font-awesome/css/font-awesome.css +0 -2337
  280. package/src/assets/font-awesome/css/font-awesome.min.css +0 -4
  281. package/src/assets/font-awesome/desktop.ini +0 -4
  282. package/src/assets/font-awesome/fonts/FontAwesome.otf +0 -0
  283. package/src/assets/font-awesome/fonts/fontawesome-webfont.eot +0 -0
  284. package/src/assets/font-awesome/fonts/fontawesome-webfont.svg +0 -2671
  285. package/src/assets/font-awesome/fonts/fontawesome-webfont.ttf +0 -0
  286. package/src/assets/font-awesome/fonts/fontawesome-webfont.woff +0 -0
  287. package/src/assets/font-awesome/fonts/fontawesome-webfont.woff2 +0 -0
  288. package/src/assets/font-awesome/less/animated.less +0 -34
  289. package/src/assets/font-awesome/less/bordered-pulled.less +0 -25
  290. package/src/assets/font-awesome/less/core.less +0 -12
  291. package/src/assets/font-awesome/less/fixed-width.less +0 -6
  292. package/src/assets/font-awesome/less/font-awesome.less +0 -18
  293. package/src/assets/font-awesome/less/icons.less +0 -789
  294. package/src/assets/font-awesome/less/larger.less +0 -13
  295. package/src/assets/font-awesome/less/list.less +0 -19
  296. package/src/assets/font-awesome/less/mixins.less +0 -60
  297. package/src/assets/font-awesome/less/path.less +0 -15
  298. package/src/assets/font-awesome/less/rotated-flipped.less +0 -20
  299. package/src/assets/font-awesome/less/screen-reader.less +0 -5
  300. package/src/assets/font-awesome/less/stacked.less +0 -20
  301. package/src/assets/font-awesome/less/variables.less +0 -800
  302. package/src/assets/font-awesome/scss/_animated.scss +0 -34
  303. package/src/assets/font-awesome/scss/_bordered-pulled.scss +0 -25
  304. package/src/assets/font-awesome/scss/_core.scss +0 -12
  305. package/src/assets/font-awesome/scss/_fixed-width.scss +0 -6
  306. package/src/assets/font-awesome/scss/_icons.scss +0 -789
  307. package/src/assets/font-awesome/scss/_larger.scss +0 -13
  308. package/src/assets/font-awesome/scss/_list.scss +0 -19
  309. package/src/assets/font-awesome/scss/_mixins.scss +0 -60
  310. package/src/assets/font-awesome/scss/_path.scss +0 -15
  311. package/src/assets/font-awesome/scss/_rotated-flipped.scss +0 -20
  312. package/src/assets/font-awesome/scss/_screen-reader.scss +0 -5
  313. package/src/assets/font-awesome/scss/_stacked.scss +0 -20
  314. package/src/assets/font-awesome/scss/_variables.scss +0 -800
  315. package/src/assets/font-awesome/scss/font-awesome.scss +0 -18
@@ -1,98 +1,98 @@
1
- import { Component, OnInit, Inject } from '@angular/core';
2
- import { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
3
-
4
- import { SignalKService } from '../signalk.service';
5
- import { IPathObject } from "../signalk-interfaces";
6
- import { DataSetService, IDataSet } from '../data-set.service';
7
-
8
- interface settingsForm {
9
- selectedPath: string;
10
- selectedSource: string;
11
- interval: number;
12
- dataPoints: number;
13
- };
14
-
15
- @Component({
16
- selector: 'app-settings-datasets',
17
- templateUrl: './settings-datasets.component.html',
18
- styleUrls: ['./settings-datasets.component.scss']
19
- })
20
- export class SettingsDatasetsComponent implements OnInit {
21
-
22
- selectedDataSet: string;
23
- dataSets: IDataSet[];
24
-
25
- constructor(
26
- public dialog: MatDialog,
27
- private SignalKService: SignalKService,
28
- private DataSetService: DataSetService
29
- ) { }
30
-
31
- ngOnInit() {
32
- this.loadDataSets();
33
- }
34
-
35
- loadDataSets() {
36
- this.dataSets = this.DataSetService.getDataSets();
37
- }
38
-
39
- openNewDataSetModal() {
40
- let dialogRef = this.dialog.open(SettingsDatasetsModalComponent, {
41
- width: '600px'
42
- });
43
- dialogRef.afterClosed().subscribe(result => { this.loadDataSets() });
44
- }
45
-
46
-
47
- deleteDataSet(uuid:string) {
48
- this.DataSetService.deleteDataSet(uuid); //TODO, bit bruteforce, can cause errors cause dataset deleted before subscrioptions canceled
49
- this.loadDataSets();
50
- }
51
-
52
- }
53
-
54
- @Component({
55
- selector: 'app-settings-datasets-modal',
56
- templateUrl: './settings-datasets.modal.html',
57
- styleUrls: ['./settings-datasets.component.scss']
58
- })
59
- export class SettingsDatasetsModalComponent implements OnInit {
60
-
61
- settingsForm: settingsForm = {
62
- selectedPath: null,
63
- selectedSource: null,
64
- interval: 1,
65
- dataPoints: 30
66
- };
67
-
68
- availablePaths: string[] = [];
69
- availableSources: string[] = [];
70
- filterSelfPaths:boolean = true;
71
-
72
- constructor(
73
- private SignalKService: SignalKService,
74
- private DataSetService: DataSetService,
75
- public dialogRef:MatDialogRef<SettingsDatasetsModalComponent>,
76
- @Inject(MAT_DIALOG_DATA) public data: any
77
- ) { }
78
-
79
- ngOnInit() {
80
- this.availablePaths = this.SignalKService.getPathsByType('number').sort();
81
- }
82
-
83
- settingsFormUpdatePath() { // called when we choose a new path. resets the rest with default info of this path
84
- let pathObject = this.SignalKService.getPathObject(this.settingsForm.selectedPath);
85
- if (pathObject === null) { return; }
86
- this.availableSources = ['default'].concat(Object.keys(pathObject.sources));
87
- this.settingsForm.selectedSource = 'default';
88
- }
89
-
90
- addNewDataSet() {
91
- this.DataSetService.addDataSet(
92
- this.settingsForm.selectedPath,
93
- this.settingsForm.selectedSource,
94
- this.settingsForm.interval,
95
- this.settingsForm.dataPoints);
96
- this.dialogRef.close();
97
- }
98
- }
1
+ import { Component, OnInit, Inject } from '@angular/core';
2
+ import { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
3
+
4
+ import { SignalKService } from '../signalk.service';
5
+ import { IPathObject } from "../signalk-interfaces";
6
+ import { DataSetService, IDataSet } from '../data-set.service';
7
+
8
+ interface settingsForm {
9
+ selectedPath: string;
10
+ selectedSource: string;
11
+ interval: number;
12
+ dataPoints: number;
13
+ };
14
+
15
+ @Component({
16
+ selector: 'app-settings-datasets',
17
+ templateUrl: './settings-datasets.component.html',
18
+ styleUrls: ['./settings-datasets.component.scss']
19
+ })
20
+ export class SettingsDatasetsComponent implements OnInit {
21
+
22
+ selectedDataSet: string;
23
+ dataSets: IDataSet[];
24
+
25
+ constructor(
26
+ public dialog: MatDialog,
27
+ private SignalKService: SignalKService,
28
+ private DataSetService: DataSetService
29
+ ) { }
30
+
31
+ ngOnInit() {
32
+ this.loadDataSets();
33
+ }
34
+
35
+ loadDataSets() {
36
+ this.dataSets = this.DataSetService.getDataSets();
37
+ }
38
+
39
+ openNewDataSetModal() {
40
+ let dialogRef = this.dialog.open(SettingsDatasetsModalComponent, {
41
+ width: '600px'
42
+ });
43
+ dialogRef.afterClosed().subscribe(result => { this.loadDataSets() });
44
+ }
45
+
46
+
47
+ deleteDataSet(uuid:string) {
48
+ this.DataSetService.deleteDataSet(uuid); //TODO, bit bruteforce, can cause errors cause dataset deleted before subscrioptions canceled
49
+ this.loadDataSets();
50
+ }
51
+
52
+ }
53
+
54
+ @Component({
55
+ selector: 'app-settings-datasets-modal',
56
+ templateUrl: './settings-datasets.modal.html',
57
+ styleUrls: ['./settings-datasets.component.scss']
58
+ })
59
+ export class SettingsDatasetsModalComponent implements OnInit {
60
+
61
+ settingsForm: settingsForm = {
62
+ selectedPath: null,
63
+ selectedSource: null,
64
+ interval: 1,
65
+ dataPoints: 30
66
+ };
67
+
68
+ availablePaths: string[] = [];
69
+ availableSources: string[] = [];
70
+ filterSelfPaths:boolean = true;
71
+
72
+ constructor(
73
+ private SignalKService: SignalKService,
74
+ private DataSetService: DataSetService,
75
+ public dialogRef:MatDialogRef<SettingsDatasetsModalComponent>,
76
+ @Inject(MAT_DIALOG_DATA) public data: any
77
+ ) { }
78
+
79
+ ngOnInit() {
80
+ this.availablePaths = this.SignalKService.getPathsByType('number').sort();
81
+ }
82
+
83
+ settingsFormUpdatePath() { // called when we choose a new path. resets the rest with default info of this path
84
+ let pathObject = this.SignalKService.getPathObject(this.settingsForm.selectedPath);
85
+ if (pathObject === null) { return; }
86
+ this.availableSources = ['default'].concat(Object.keys(pathObject.sources));
87
+ this.settingsForm.selectedSource = 'default';
88
+ }
89
+
90
+ addNewDataSet() {
91
+ this.DataSetService.addDataSet(
92
+ this.settingsForm.selectedPath,
93
+ this.settingsForm.selectedSource,
94
+ this.settingsForm.interval,
95
+ this.settingsForm.dataPoints);
96
+ this.dialogRef.close();
97
+ }
98
+ }
@@ -1,54 +1,54 @@
1
- <h2 mat-dialog-title>New Dataset:</h2>
2
- <mat-dialog-content>
3
- <form name="newDataSetForm" (ngSubmit)="addNewDataSet()" #newDataSetForm="ngForm">
4
- <mat-horizontal-stepper>
5
- <mat-step label="Source">
6
- <div class="tab-content">
7
- <mat-form-field class="full-width">
8
- <mat-select
9
- placeholder="SignalK Path"
10
- [(ngModel)]="settingsForm.selectedPath"
11
- name="selectedPath"
12
- (ngModelChange)="settingsFormUpdatePath()"
13
- required>
14
- <mat-option *ngFor="let path of (availablePaths | filterSelf: filterSelfPaths)" [value]="path">
15
- {{path}}
16
- </mat-option>
17
- </mat-select>
18
- </mat-form-field>
19
- <mat-checkbox
20
- [(ngModel)]="filterSelfPaths"
21
- name="filterSelfPaths"
22
- >
23
- Restric to own vessel
24
- </mat-checkbox>
25
- <mat-form-field class="full-width">
26
- <mat-select
27
- placeholder="Source"
28
- [(ngModel)]="settingsForm.selectedSource"
29
- name="selectedSource">
30
- <mat-option *ngFor="let source of availableSources" [value]="source">
31
- {{source}}
32
- </mat-option>
33
- </mat-select>
34
- </mat-form-field>
35
-
36
- </div>
37
- <button type="button" mat-raised-button color="accent" matStepperNext [disabled]="!settingsForm.selectedPath">Next</button>
38
- </mat-step>
39
- <mat-step label="Data Set">
40
- <div class="tab-content">
41
- <mat-form-field class="full-width">
42
- <input matInput placeholder="Interval(seconds)" type=number name="interval" [(ngModel)]="settingsForm.interval">
43
- </mat-form-field>
44
- <mat-form-field class="full-width">
45
- <input matInput placeholder="Data Points" type="number" name="decimals" [(ngModel)]="settingsForm.dataPoints">
46
- </mat-form-field>
47
- <br>
48
- <button type="button" mat-raised-button matStepperPrevious>Back</button>
49
- <button mat-raised-button color="accent" type="submit">Save</button>
50
- </div>
51
- </mat-step>
52
- </mat-horizontal-stepper>
53
- </form>
54
- </mat-dialog-content>
1
+ <h2 mat-dialog-title>New Dataset:</h2>
2
+ <mat-dialog-content>
3
+ <form name="newDataSetForm" (ngSubmit)="addNewDataSet()" #newDataSetForm="ngForm">
4
+ <mat-horizontal-stepper>
5
+ <mat-step label="Source">
6
+ <div class="tab-content">
7
+ <mat-form-field class="full-width">
8
+ <mat-select
9
+ placeholder="SignalK Path"
10
+ [(ngModel)]="settingsForm.selectedPath"
11
+ name="selectedPath"
12
+ (ngModelChange)="settingsFormUpdatePath()"
13
+ required>
14
+ <mat-option *ngFor="let path of (availablePaths | filterSelf: filterSelfPaths)" [value]="path">
15
+ {{path}}
16
+ </mat-option>
17
+ </mat-select>
18
+ </mat-form-field>
19
+ <mat-checkbox
20
+ [(ngModel)]="filterSelfPaths"
21
+ name="filterSelfPaths"
22
+ >
23
+ Restric to own vessel
24
+ </mat-checkbox>
25
+ <mat-form-field class="full-width">
26
+ <mat-select
27
+ placeholder="Source"
28
+ [(ngModel)]="settingsForm.selectedSource"
29
+ name="selectedSource">
30
+ <mat-option *ngFor="let source of availableSources" [value]="source">
31
+ {{source}}
32
+ </mat-option>
33
+ </mat-select>
34
+ </mat-form-field>
35
+
36
+ </div>
37
+ <button type="button" mat-raised-button color="accent" matStepperNext [disabled]="!settingsForm.selectedPath">Next</button>
38
+ </mat-step>
39
+ <mat-step label="Data Set">
40
+ <div class="tab-content">
41
+ <mat-form-field class="full-width">
42
+ <input matInput placeholder="Interval(seconds)" type=number name="interval" [(ngModel)]="settingsForm.interval">
43
+ </mat-form-field>
44
+ <mat-form-field class="full-width">
45
+ <input matInput placeholder="Data Points" type="number" name="decimals" [(ngModel)]="settingsForm.dataPoints">
46
+ </mat-form-field>
47
+ <br>
48
+ <button type="button" mat-raised-button matStepperPrevious>Back</button>
49
+ <button mat-raised-button color="accent" type="submit">Save</button>
50
+ </div>
51
+ </mat-step>
52
+ </mat-horizontal-stepper>
53
+ </form>
54
+ </mat-dialog-content>
@@ -1,65 +1,65 @@
1
- <form name="notificationSetting">
2
- <mat-card>
3
- <mat-card-header>
4
- <mat-card-title>Server Notifications</mat-card-title>
5
- <mat-card-subtitle>Notifications are a special type of data sent from SignalK and displayed in the notification menu. They are meant to alert or inform operators. Set server notification preferences such as types of messages to display and audio prompts.</mat-card-subtitle>
6
- </mat-card-header>
7
- <mat-slide-toggle name="disableNotifications" [(ngModel)]="notificationConfig.disableNotifications" [ngModelOptions]="{standalone: true}">Disable All Notifications</mat-slide-toggle>
8
- <mat-accordion>
9
- <mat-expansion-panel expanded="true">
10
- <mat-expansion-panel-header>
11
- <mat-panel-title>
12
- Messages
13
- </mat-panel-title>
14
- <mat-panel-description>
15
- Control what messages the server will send
16
- </mat-panel-description>
17
- </mat-expansion-panel-header>
18
- <!-- <h4>Security</h4>
19
- <mat-checkbox [(ngModel)]="notificationConfig.security.disableSecurity" [ngModelOptions]="{standalone: true}">Disable all Security notifications</mat-checkbox> -->
20
- <!-- <h4>Devices</h4> -->
21
- <!-- <mat-checkbox [(ngModel)]="notificationConfig.devices.disableDevices" [ngModelOptions]="{standalone: true}">Disable all Devices notifications</mat-checkbox>
22
- <br/> -->
23
- <mat-checkbox [(ngModel)]="notificationConfig.devices.showNormalState" [ngModelOptions]="{standalone: true}">Show Devices Informational notifications</mat-checkbox>
24
- </mat-expansion-panel>
25
-
26
- <!-- <mat-expansion-panel expanded="false">
27
- <mat-expansion-panel-header>
28
- <mat-panel-title>
29
- Menu
30
- </mat-panel-title>
31
- <mat-panel-description>
32
- Configure notification menu display options
33
- </mat-panel-description>
34
- </mat-expansion-panel-header>
35
- <h3>Display</h3>
36
- <mat-checkbox [(ngModel)]="notificationConfig.menuGrouping" [ngModelOptions]="{standalone: true}">Groupe notifications by source types</mat-checkbox>
37
- </mat-expansion-panel> -->
38
-
39
- <mat-expansion-panel expanded="false">
40
- <mat-expansion-panel-header>
41
- <mat-panel-title>
42
- Audio
43
- </mat-panel-title>
44
- <mat-panel-description>
45
- Configure sound options
46
- </mat-panel-description>
47
- </mat-expansion-panel-header>
48
- <mat-checkbox [(ngModel)]="notificationConfig.sound.disableSound" [ngModelOptions]="{standalone: true}">Disable All Audio notification</mat-checkbox>
49
- <br/>
50
- <mat-checkbox [(ngModel)]="notificationConfig.sound.muteNormal" [ngModelOptions]="{standalone: true}">Disable <b>Information</b> notifications audio</mat-checkbox>
51
- <br/>
52
- <mat-checkbox [(ngModel)]="notificationConfig.sound.muteAlert" [ngModelOptions]="{standalone: true}">Disable <b>Alert Severity</b> notifications audio</mat-checkbox>
53
- <br/>
54
- <mat-checkbox [(ngModel)]="notificationConfig.sound.muteWarning" [ngModelOptions]="{standalone: true}">Disable <b>Warning</b> notifications audio</mat-checkbox>
55
- <br/>
56
- <mat-checkbox [(ngModel)]="notificationConfig.sound.muteAlarm" [ngModelOptions]="{standalone: true}">Disable <b>Alarm Severity</b> notifications audio</mat-checkbox>
57
- <br/>
58
- <mat-checkbox [(ngModel)]="notificationConfig.sound.muteEmergency" [ngModelOptions]="{standalone: true}">Disable <b>Emergency Severity</b> notifications audio</mat-checkbox>
59
- </mat-expansion-panel>
60
- </mat-accordion>
61
- <mat-card-actions align="end">
62
- <button mat-raised-button color="accent" (click)='saveNotificationsSettings()'>Save</button>
63
- </mat-card-actions>
64
- </mat-card>
65
- </form>
1
+ <form name="notificationSetting">
2
+ <mat-card>
3
+ <mat-card-header>
4
+ <mat-card-title>Server Notifications</mat-card-title>
5
+ <mat-card-subtitle>Notifications are a special type of data sent from SignalK and displayed in the notification menu. They are meant to alert or inform operators. Set server notification preferences such as types of messages to display and audio prompts.</mat-card-subtitle>
6
+ </mat-card-header>
7
+ <mat-slide-toggle name="disableNotifications" [(ngModel)]="notificationConfig.disableNotifications" [ngModelOptions]="{standalone: true}">Disable All Notifications</mat-slide-toggle>
8
+ <mat-accordion>
9
+ <mat-expansion-panel expanded="true">
10
+ <mat-expansion-panel-header>
11
+ <mat-panel-title>
12
+ Messages
13
+ </mat-panel-title>
14
+ <mat-panel-description>
15
+ Control what messages the server will send
16
+ </mat-panel-description>
17
+ </mat-expansion-panel-header>
18
+ <!-- <h4>Security</h4>
19
+ <mat-checkbox [(ngModel)]="notificationConfig.security.disableSecurity" [ngModelOptions]="{standalone: true}">Disable all Security notifications</mat-checkbox> -->
20
+ <!-- <h4>Devices</h4> -->
21
+ <!-- <mat-checkbox [(ngModel)]="notificationConfig.devices.disableDevices" [ngModelOptions]="{standalone: true}">Disable all Devices notifications</mat-checkbox>
22
+ <br/> -->
23
+ <mat-checkbox [(ngModel)]="notificationConfig.devices.showNormalState" [ngModelOptions]="{standalone: true}">Show Devices Informational notifications</mat-checkbox>
24
+ </mat-expansion-panel>
25
+
26
+ <!-- <mat-expansion-panel expanded="false">
27
+ <mat-expansion-panel-header>
28
+ <mat-panel-title>
29
+ Menu
30
+ </mat-panel-title>
31
+ <mat-panel-description>
32
+ Configure notification menu display options
33
+ </mat-panel-description>
34
+ </mat-expansion-panel-header>
35
+ <h3>Display</h3>
36
+ <mat-checkbox [(ngModel)]="notificationConfig.menuGrouping" [ngModelOptions]="{standalone: true}">Groupe notifications by source types</mat-checkbox>
37
+ </mat-expansion-panel> -->
38
+
39
+ <mat-expansion-panel expanded="false">
40
+ <mat-expansion-panel-header>
41
+ <mat-panel-title>
42
+ Audio
43
+ </mat-panel-title>
44
+ <mat-panel-description>
45
+ Configure sound options
46
+ </mat-panel-description>
47
+ </mat-expansion-panel-header>
48
+ <mat-checkbox [(ngModel)]="notificationConfig.sound.disableSound" [ngModelOptions]="{standalone: true}">Disable All Audio notification</mat-checkbox>
49
+ <br/>
50
+ <mat-checkbox [(ngModel)]="notificationConfig.sound.muteNormal" [ngModelOptions]="{standalone: true}">Disable <b>Information</b> notifications audio</mat-checkbox>
51
+ <br/>
52
+ <mat-checkbox [(ngModel)]="notificationConfig.sound.muteAlert" [ngModelOptions]="{standalone: true}">Disable <b>Alert Severity</b> notifications audio</mat-checkbox>
53
+ <br/>
54
+ <mat-checkbox [(ngModel)]="notificationConfig.sound.muteWarning" [ngModelOptions]="{standalone: true}">Disable <b>Warning</b> notifications audio</mat-checkbox>
55
+ <br/>
56
+ <mat-checkbox [(ngModel)]="notificationConfig.sound.muteAlarm" [ngModelOptions]="{standalone: true}">Disable <b>Alarm Severity</b> notifications audio</mat-checkbox>
57
+ <br/>
58
+ <mat-checkbox [(ngModel)]="notificationConfig.sound.muteEmergency" [ngModelOptions]="{standalone: true}">Disable <b>Emergency Severity</b> notifications audio</mat-checkbox>
59
+ </mat-expansion-panel>
60
+ </mat-accordion>
61
+ <mat-card-actions align="end">
62
+ <button mat-raised-button color="accent" (click)='saveNotificationsSettings()'>Save</button>
63
+ </mat-card-actions>
64
+ </mat-card>
65
+ </form>
@@ -1,25 +1,25 @@
1
- import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
2
-
3
- import { SettingsNotificationsComponent } from './settings-notifications.component';
4
-
5
- describe('SettingsNotificationsComponent', () => {
6
- let component: SettingsNotificationsComponent;
7
- let fixture: ComponentFixture<SettingsNotificationsComponent>;
8
-
9
- beforeEach(waitForAsync(() => {
10
- TestBed.configureTestingModule({
11
- declarations: [ SettingsNotificationsComponent ]
12
- })
13
- .compileComponents();
14
- }));
15
-
16
- beforeEach(() => {
17
- fixture = TestBed.createComponent(SettingsNotificationsComponent);
18
- component = fixture.componentInstance;
19
- fixture.detectChanges();
20
- });
21
-
22
- it('should create', () => {
23
- expect(component).toBeTruthy();
24
- });
25
- });
1
+ import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
2
+
3
+ import { SettingsNotificationsComponent } from './settings-notifications.component';
4
+
5
+ describe('SettingsNotificationsComponent', () => {
6
+ let component: SettingsNotificationsComponent;
7
+ let fixture: ComponentFixture<SettingsNotificationsComponent>;
8
+
9
+ beforeEach(waitForAsync(() => {
10
+ TestBed.configureTestingModule({
11
+ declarations: [ SettingsNotificationsComponent ]
12
+ })
13
+ .compileComponents();
14
+ }));
15
+
16
+ beforeEach(() => {
17
+ fixture = TestBed.createComponent(SettingsNotificationsComponent);
18
+ component = fixture.componentInstance;
19
+ fixture.detectChanges();
20
+ });
21
+
22
+ it('should create', () => {
23
+ expect(component).toBeTruthy();
24
+ });
25
+ });
@@ -1,29 +1,29 @@
1
- import { Component, OnInit } from '@angular/core';
2
- import { AppSettingsService, INotificationConfig } from '../app-settings.service';
3
- import { NotificationsService } from '../notifications.service';
4
-
5
-
6
- @Component({
7
- selector: 'settings-notifications',
8
- templateUrl: './settings-notifications.component.html',
9
- styleUrls: ['./settings-notifications.component.css']
10
- })
11
- export class SettingsNotificationsComponent implements OnInit {
12
-
13
- notificationConfig: INotificationConfig;
14
-
15
- constructor(
16
- private notificationsService: NotificationsService,
17
- private appSettingsService: AppSettingsService,
18
- ) { }
19
-
20
- ngOnInit() {
21
- this.notificationConfig = this.appSettingsService.getNotificationConfig();
22
- }
23
-
24
- saveNotificationsSettings() {
25
- this.appSettingsService.setNotificationConfig(this.notificationConfig);
26
- this.notificationsService.sendSnackbarNotification("Notification configuration saved", 5000);
27
- }
28
-
29
- }
1
+ import { Component, OnInit } from '@angular/core';
2
+ import { AppSettingsService, INotificationConfig } from '../app-settings.service';
3
+ import { NotificationsService } from '../notifications.service';
4
+
5
+
6
+ @Component({
7
+ selector: 'settings-notifications',
8
+ templateUrl: './settings-notifications.component.html',
9
+ styleUrls: ['./settings-notifications.component.css']
10
+ })
11
+ export class SettingsNotificationsComponent implements OnInit {
12
+
13
+ notificationConfig: INotificationConfig;
14
+
15
+ constructor(
16
+ private notificationsService: NotificationsService,
17
+ private appSettingsService: AppSettingsService,
18
+ ) { }
19
+
20
+ ngOnInit() {
21
+ this.notificationConfig = this.appSettingsService.getNotificationConfig();
22
+ }
23
+
24
+ saveNotificationsSettings() {
25
+ this.appSettingsService.setNotificationConfig(this.notificationConfig);
26
+ this.notificationsService.sendSnackbarNotification("Notification configuration saved", 5000);
27
+ }
28
+
29
+ }
@@ -29,8 +29,8 @@
29
29
  Status:
30
30
  </td>
31
31
  <td>
32
- <i class="fa fa-check" style="color:green;" aria-hidden="true" *ngIf="signalKConnectionsStatus.endpoint.status"></i>
33
- <i class="fa fa-times-circle" style="color:red;" aria-hidden="true" *ngIf="!signalKConnectionsStatus.endpoint.status"></i>
32
+ <i class="fa-solid fa-check" style="color:green;" aria-hidden="true" *ngIf="signalKConnectionsStatus.endpoint.status"></i>
33
+ <i class="fa-solid fa-times-circle" style="color:red;" aria-hidden="true" *ngIf="!signalKConnectionsStatus.endpoint.status"></i>
34
34
  {{ signalKConnectionsStatus.endpoint.message }}
35
35
  </td>
36
36
  </tr>
@@ -39,8 +39,8 @@
39
39
  Websocket:
40
40
  </td>
41
41
  <td>
42
- <i class="fa fa-check" style="color:green;" aria-hidden="true" *ngIf="signalKConnectionsStatus.websocket.status"></i>
43
- <i class="fa fa-times-circle" style="color:red;" aria-hidden="true" *ngIf="!signalKConnectionsStatus.websocket.status"></i>
42
+ <i class="fa-solid fa-check" style="color:green;" aria-hidden="true" *ngIf="signalKConnectionsStatus.websocket.status"></i>
43
+ <i class="fa-solid fa-times-circle" style="color:red;" aria-hidden="true" *ngIf="!signalKConnectionsStatus.websocket.status"></i>
44
44
  {{ signalKConnectionsStatus.websocket.message }}
45
45
  </td>
46
46
  </tr>
@@ -49,8 +49,8 @@
49
49
  REST:
50
50
  </td>
51
51
  <td>
52
- <i class="fa fa-check" style="color:green;" aria-hidden="true" *ngIf="signalKConnectionsStatus.rest.status"></i>
53
- <i class="fa fa-times-circle" style="color:red;" aria-hidden="true" *ngIf="!signalKConnectionsStatus.rest.status"></i>
52
+ <i class="fa-solid fa-check" style="color:green;" aria-hidden="true" *ngIf="signalKConnectionsStatus.rest.status"></i>
53
+ <i class="fa-solid fa-times-circle" style="color:red;" aria-hidden="true" *ngIf="!signalKConnectionsStatus.rest.status"></i>
54
54
  {{ signalKConnectionsStatus.rest.message }}
55
55
  </td>
56
56
  </tr>
@@ -60,11 +60,11 @@
60
60
  </td>
61
61
  <td>
62
62
  <div *ngIf="formAuthToken">
63
- <i class="fa fa-check" style="color:green;" aria-hidden="true" ></i>
63
+ <i class="fa-solid fa-check" style="color:green;" aria-hidden="true" ></i>
64
64
  {{ formAuthToken | slice : 0 : 20}}...
65
65
  </div>
66
66
  <div *ngIf="!formAuthToken">
67
- <i class="fa fa-times" style="color:rgb(145, 145, 64);" aria-hidden="true" ></i>
67
+ <i class="fa-solid fa-times" style="color:rgb(145, 145, 64);" aria-hidden="true" ></i>
68
68
  </div>
69
69
  </td>
70
70
  </tr>
@@ -1,25 +1,25 @@
1
- import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
2
-
3
- import { SettingsSignalkComponent } from './settings-signalk.component';
4
-
5
- describe('SettingsSignalkComponent', () => {
6
- let component: SettingsSignalkComponent;
7
- let fixture: ComponentFixture<SettingsSignalkComponent>;
8
-
9
- beforeEach(waitForAsync(() => {
10
- TestBed.configureTestingModule({
11
- declarations: [ SettingsSignalkComponent ]
12
- })
13
- .compileComponents();
14
- }));
15
-
16
- beforeEach(() => {
17
- fixture = TestBed.createComponent(SettingsSignalkComponent);
18
- component = fixture.componentInstance;
19
- fixture.detectChanges();
20
- });
21
-
22
- it('should be created', () => {
23
- expect(component).toBeTruthy();
24
- });
25
- });
1
+ import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
2
+
3
+ import { SettingsSignalkComponent } from './settings-signalk.component';
4
+
5
+ describe('SettingsSignalkComponent', () => {
6
+ let component: SettingsSignalkComponent;
7
+ let fixture: ComponentFixture<SettingsSignalkComponent>;
8
+
9
+ beforeEach(waitForAsync(() => {
10
+ TestBed.configureTestingModule({
11
+ declarations: [ SettingsSignalkComponent ]
12
+ })
13
+ .compileComponents();
14
+ }));
15
+
16
+ beforeEach(() => {
17
+ fixture = TestBed.createComponent(SettingsSignalkComponent);
18
+ component = fixture.componentInstance;
19
+ fixture.detectChanges();
20
+ });
21
+
22
+ it('should be created', () => {
23
+ expect(component).toBeTruthy();
24
+ });
25
+ });