@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.
Files changed (314) hide show
  1. package/.angulardoc.json +3 -3
  2. package/CHANGELOG.md +145 -135
  3. package/CONTRIBUTORS.md +16 -16
  4. package/README.md +102 -102
  5. package/angular.json +162 -153
  6. package/karma.conf.js +31 -31
  7. package/package.json +87 -84
  8. package/public/3rdpartylicenses.txt +301 -21
  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 -135
  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 -383
  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 +300 -300
  70. package/src/app/gauges-module/linear-gauge.ts +49 -49
  71. package/src/app/gauges-module/radial-gauge.ts +47 -47
  72. package/src/app/layout-split/layout-split.component.html +30 -30
  73. package/src/app/layout-split/layout-split.component.scss +33 -33
  74. package/src/app/layout-split/layout-split.component.spec.ts +25 -25
  75. package/src/app/layout-split/layout-split.component.ts +59 -59
  76. package/src/app/layout-splits.service.ts +284 -284
  77. package/src/app/modal-path-selector/modal-path-selector.component.html +62 -62
  78. package/src/app/modal-path-selector/modal-path-selector.component.scss +39 -39
  79. package/src/app/modal-path-selector/modal-path-selector.component.spec.ts +25 -25
  80. package/src/app/modal-path-selector/modal-path-selector.component.ts +132 -132
  81. package/src/app/modal-widget/modal-widget.component.css +32 -32
  82. package/src/app/modal-widget/modal-widget.component.html +341 -341
  83. package/src/app/modal-widget/modal-widget.component.spec.ts +25 -25
  84. package/src/app/modal-widget/modal-widget.component.ts +84 -84
  85. package/src/app/notifications.service.ts +392 -392
  86. package/src/app/object-keys.pipe.spec.ts +8 -8
  87. package/src/app/object-keys.pipe.ts +13 -13
  88. package/src/app/reset-config/reset-config.component.html +3 -3
  89. package/src/app/reset-config/reset-config.component.spec.ts +25 -25
  90. package/src/app/reset-config/reset-config.component.ts +31 -31
  91. package/src/app/root-display/root-display.component.html +4 -4
  92. package/src/app/root-display/root-display.component.spec.ts +25 -25
  93. package/src/app/root-display/root-display.component.ts +57 -57
  94. package/src/app/safe.pipe.ts +15 -15
  95. package/src/app/settings/settings.component.css +9 -9
  96. package/src/app/settings/settings.component.html +25 -25
  97. package/src/app/settings/settings.component.spec.ts +25 -25
  98. package/src/app/settings/settings.component.ts +22 -22
  99. package/src/app/settings-config/settings-config.component.css +38 -38
  100. package/src/app/settings-config/settings-config.component.spec.ts +25 -25
  101. package/src/app/settings-config/settings-config.component.ts +161 -161
  102. package/src/app/settings-datasets/settings-datasets.component.html +43 -43
  103. package/src/app/settings-datasets/settings-datasets.component.scss +39 -39
  104. package/src/app/settings-datasets/settings-datasets.component.spec.ts +25 -25
  105. package/src/app/settings-datasets/settings-datasets.component.ts +98 -98
  106. package/src/app/settings-datasets/settings-datasets.modal.html +54 -54
  107. package/src/app/settings-notifications/settings-notifications.component.html +65 -65
  108. package/src/app/settings-notifications/settings-notifications.component.spec.ts +25 -25
  109. package/src/app/settings-notifications/settings-notifications.component.ts +29 -29
  110. package/src/app/settings-signalk/settings-signalk.component.html +8 -8
  111. package/src/app/settings-signalk/settings-signalk.component.spec.ts +25 -25
  112. package/src/app/settings-signalk/settings-signalk.component.ts +174 -174
  113. package/src/app/settings-units/settings-units.component.css +4 -4
  114. package/src/app/settings-units/settings-units.component.html +19 -19
  115. package/src/app/settings-units/settings-units.component.spec.ts +25 -25
  116. package/src/app/settings-units/settings-units.component.ts +62 -62
  117. package/src/app/settings-zones/settings-zones.component.css +21 -21
  118. package/src/app/settings-zones/settings-zones.component.html +70 -70
  119. package/src/app/settings-zones/settings-zones.modal.html +38 -38
  120. package/src/app/signalk-connection.service.ts +344 -344
  121. package/src/app/signalk-delta.service.spec.ts +15 -15
  122. package/src/app/signalk-delta.service.ts +97 -97
  123. package/src/app/signalk-full.service.ts +99 -99
  124. package/src/app/signalk-interfaces.ts +129 -129
  125. package/src/app/signalk-requests.service.spec.ts +12 -12
  126. package/src/app/signalk-requests.service.ts +180 -180
  127. package/src/app/svg-autopilot/svg-autopilot.component.html +1036 -1036
  128. package/src/app/svg-autopilot/svg-autopilot.component.spec.ts +25 -25
  129. package/src/app/svg-autopilot/svg-autopilot.component.ts +174 -174
  130. package/src/app/svg-simple-linear-gauge/svg-simple-linear-gauge.component.html +119 -119
  131. package/src/app/svg-simple-linear-gauge/svg-simple-linear-gauge.component.spec.ts +25 -25
  132. package/src/app/svg-simple-linear-gauge/svg-simple-linear-gauge.component.ts +49 -49
  133. package/src/app/svg-wind/svg-wind.component.html +969 -969
  134. package/src/app/svg-wind/svg-wind.component.scss +76 -76
  135. package/src/app/svg-wind/svg-wind.component.spec.ts +25 -25
  136. package/src/app/svg-wind/svg-wind.component.ts +280 -280
  137. package/src/app/unit-window/unit-window.component.css +37 -37
  138. package/src/app/unit-window/unit-window.component.html +8 -8
  139. package/src/app/unit-window/unit-window.component.spec.ts +25 -25
  140. package/src/app/unit-window/unit-window.component.ts +134 -134
  141. package/src/app/unit-window/unit-window.modal.html +24 -24
  142. package/src/app/units.service.ts +300 -300
  143. package/src/app/widget-autopilot/widget-autopilot.component.html +78 -85
  144. package/src/app/widget-autopilot/widget-autopilot.component.scss +191 -191
  145. package/src/app/widget-autopilot/widget-autopilot.component.spec.ts +25 -25
  146. package/src/app/widget-autopilot/widget-autopilot.component.ts +774 -781
  147. package/src/app/widget-blank/widget-blank.component.scss +21 -22
  148. package/src/app/widget-blank/widget-blank.component.spec.ts +25 -25
  149. package/src/app/widget-blank/widget-blank.component.ts +17 -17
  150. package/src/app/widget-gauge/widget-gauge.component.css +25 -25
  151. package/src/app/widget-gauge/widget-gauge.component.html +29 -29
  152. package/src/app/widget-gauge/widget-gauge.component.spec.ts +25 -25
  153. package/src/app/widget-gauge/widget-gauge.component.ts +120 -120
  154. package/src/app/widget-gauge-ng-linear/widget-gauge-ng-linear.component.html +126 -126
  155. package/src/app/widget-gauge-ng-linear/widget-gauge-ng-linear.component.scss +94 -93
  156. package/src/app/widget-gauge-ng-linear/widget-gauge-ng-linear.component.spec.ts +25 -25
  157. package/src/app/widget-gauge-ng-linear/widget-gauge-ng-linear.component.ts +424 -424
  158. package/src/app/widget-gauge-ng-radial/widget-gauge-ng-radial.component.html +1 -1
  159. package/src/app/widget-gauge-ng-radial/widget-gauge-ng-radial.component.scss +69 -69
  160. package/src/app/widget-gauge-ng-radial/widget-gauge-ng-radial.component.spec.ts +25 -25
  161. package/src/app/widget-gauge-ng-radial/widget-gauge-ng-radial.component.ts +553 -553
  162. package/src/app/widget-historical/widget-historical.component.html +14 -14
  163. package/src/app/widget-historical/widget-historical.component.spec.ts +25 -25
  164. package/src/app/widget-historical/widget-historical.component.ts +306 -306
  165. package/src/app/widget-iframe/widget-iframe.component.css +11 -11
  166. package/src/app/widget-iframe/widget-iframe.component.html +21 -21
  167. package/src/app/widget-iframe/widget-iframe.component.spec.ts +25 -25
  168. package/src/app/widget-iframe/widget-iframe.component.ts +63 -63
  169. package/src/app/widget-list.service.ts +135 -135
  170. package/src/app/widget-manager.service.ts +141 -141
  171. package/src/app/widget-numeric/widget-numeric.component.html +1 -1
  172. package/src/app/widget-numeric/widget-numeric.component.scss +3 -3
  173. package/src/app/widget-numeric/widget-numeric.component.spec.ts +25 -25
  174. package/src/app/widget-simple-linear/widget-simple-linear.component.html +28 -28
  175. package/src/app/widget-simple-linear/widget-simple-linear.component.scss +64 -64
  176. package/src/app/widget-simple-linear/widget-simple-linear.component.spec.ts +25 -25
  177. package/src/app/widget-simple-linear/widget-simple-linear.component.ts +199 -199
  178. package/src/app/widget-state/widget-state.component.html +27 -27
  179. package/src/app/widget-state/widget-state.component.scss +68 -68
  180. package/src/app/widget-state/widget-state.component.spec.ts +25 -25
  181. package/src/app/widget-state/widget-state.component.ts +178 -178
  182. package/src/app/widget-switch/widget-switch.component.css +69 -69
  183. package/src/app/widget-switch/widget-switch.component.html +17 -17
  184. package/src/app/widget-switch/widget-switch.component.spec.ts +25 -25
  185. package/src/app/widget-switch/widget-switch.component.ts +134 -134
  186. package/src/app/widget-text-generic/widget-text-generic.component.html +9 -9
  187. package/src/app/widget-text-generic/widget-text-generic.component.spec.ts +25 -25
  188. package/src/app/widget-tutorial/widget-tutorial.component.html +34 -34
  189. package/src/app/widget-tutorial/widget-tutorial.component.spec.ts +25 -25
  190. package/src/app/widget-tutorial/widget-tutorial.component.ts +18 -18
  191. package/src/app/widget-unknown/widget-unknown.component.spec.ts +25 -25
  192. package/src/app/widget-wind/widget-wind.component.css +23 -23
  193. package/src/app/widget-wind/widget-wind.component.html +20 -20
  194. package/src/app/widget-wind/widget-wind.component.spec.ts +25 -25
  195. package/src/app/widget-wind/widget-wind.component.ts +369 -369
  196. package/src/assets/NoSleep.min.js +1 -1
  197. package/src/assets/fontawesome6/css/all.min.css +6 -0
  198. package/src/assets/fontawesome6/webfonts/fa-brands-400.ttf +0 -0
  199. package/src/assets/fontawesome6/webfonts/fa-brands-400.woff2 +0 -0
  200. package/src/assets/fontawesome6/webfonts/fa-regular-400.ttf +0 -0
  201. package/src/assets/fontawesome6/webfonts/fa-regular-400.woff2 +0 -0
  202. package/src/assets/fontawesome6/webfonts/fa-solid-900.ttf +0 -0
  203. package/src/assets/fontawesome6/webfonts/fa-solid-900.woff2 +0 -0
  204. package/src/assets/fontawesome6/webfonts/fa-v4compatibility.ttf +0 -0
  205. package/src/assets/fontawesome6/webfonts/fa-v4compatibility.woff2 +0 -0
  206. package/src/assets/icon-192x192.png +0 -0
  207. package/src/assets/icon-256x256.png +0 -0
  208. package/src/assets/icon-384x384.png +0 -0
  209. package/src/assets/icon-512x512.png +0 -0
  210. package/src/assets/steelseries-min.js +25 -25
  211. package/src/assets/steelseries-min.js.map +8 -8
  212. package/src/assets/steelseries.js +15834 -15834
  213. package/src/assets/svg-autopilot-inkscape-plain.svg +983 -983
  214. package/src/assets/svg-wind-inkscape.svg +1358 -1358
  215. package/src/assets/tween.js +381 -381
  216. package/src/index.html +20 -20
  217. package/src/main.ts +11 -11
  218. package/src/manifest.json +33 -0
  219. package/src/polyfills.ts +80 -76
  220. package/src/styles.scss +11 -11
  221. package/src/themes/darkBlueTheme.scss +117 -116
  222. package/src/themes/defaultTheme.scss +50 -49
  223. package/src/themes/highContrastTheme.scss +47 -46
  224. package/src/themes/modernTheme.scss +143 -142
  225. package/src/themes/nightMode.scss +185 -184
  226. package/src/themes/platypusTheme.scss +80 -79
  227. package/src/themes/signalkTheme.scss +112 -111
  228. package/src/tsconfig.app.json +15 -15
  229. package/src/tsconfig.spec.json +20 -20
  230. package/tsconfig.json +23 -23
  231. package/tslint.json +143 -143
  232. package/public/assets/font-awesome/HELP-US-OUT.txt +0 -7
  233. package/public/assets/font-awesome/css/font-awesome.css +0 -2337
  234. package/public/assets/font-awesome/css/font-awesome.min.css +0 -4
  235. package/public/assets/font-awesome/desktop.ini +0 -4
  236. package/public/assets/font-awesome/fonts/FontAwesome.otf +0 -0
  237. package/public/assets/font-awesome/fonts/fontawesome-webfont.eot +0 -0
  238. package/public/assets/font-awesome/fonts/fontawesome-webfont.svg +0 -2671
  239. package/public/assets/font-awesome/fonts/fontawesome-webfont.ttf +0 -0
  240. package/public/assets/font-awesome/fonts/fontawesome-webfont.woff +0 -0
  241. package/public/assets/font-awesome/fonts/fontawesome-webfont.woff2 +0 -0
  242. package/public/assets/font-awesome/less/animated.less +0 -34
  243. package/public/assets/font-awesome/less/bordered-pulled.less +0 -25
  244. package/public/assets/font-awesome/less/core.less +0 -12
  245. package/public/assets/font-awesome/less/fixed-width.less +0 -6
  246. package/public/assets/font-awesome/less/font-awesome.less +0 -18
  247. package/public/assets/font-awesome/less/icons.less +0 -789
  248. package/public/assets/font-awesome/less/larger.less +0 -13
  249. package/public/assets/font-awesome/less/list.less +0 -19
  250. package/public/assets/font-awesome/less/mixins.less +0 -60
  251. package/public/assets/font-awesome/less/path.less +0 -15
  252. package/public/assets/font-awesome/less/rotated-flipped.less +0 -20
  253. package/public/assets/font-awesome/less/screen-reader.less +0 -5
  254. package/public/assets/font-awesome/less/stacked.less +0 -20
  255. package/public/assets/font-awesome/less/variables.less +0 -800
  256. package/public/assets/font-awesome/scss/_animated.scss +0 -34
  257. package/public/assets/font-awesome/scss/_bordered-pulled.scss +0 -25
  258. package/public/assets/font-awesome/scss/_core.scss +0 -12
  259. package/public/assets/font-awesome/scss/_fixed-width.scss +0 -6
  260. package/public/assets/font-awesome/scss/_icons.scss +0 -789
  261. package/public/assets/font-awesome/scss/_larger.scss +0 -13
  262. package/public/assets/font-awesome/scss/_list.scss +0 -19
  263. package/public/assets/font-awesome/scss/_mixins.scss +0 -60
  264. package/public/assets/font-awesome/scss/_path.scss +0 -15
  265. package/public/assets/font-awesome/scss/_rotated-flipped.scss +0 -20
  266. package/public/assets/font-awesome/scss/_screen-reader.scss +0 -5
  267. package/public/assets/font-awesome/scss/_stacked.scss +0 -20
  268. package/public/assets/font-awesome/scss/_variables.scss +0 -800
  269. package/public/assets/font-awesome/scss/font-awesome.scss +0 -18
  270. package/public/main-es2018.ab0adc5af3ab3e70c849.js +0 -1
  271. package/public/main-es5.ab0adc5af3ab3e70c849.js +0 -1
  272. package/public/polyfills-es2018.713f95af1f028e444854.js +0 -1
  273. package/public/polyfills-es5.c78877945523541d2597.js +0 -1
  274. package/public/runtime-es2018.a4dadbc03350107420a4.js +0 -1
  275. package/public/runtime-es5.a4dadbc03350107420a4.js +0 -1
  276. package/public/styles.71bb0d04cad96b5efbe1.css +0 -19
  277. package/src/assets/font-awesome/HELP-US-OUT.txt +0 -7
  278. package/src/assets/font-awesome/css/font-awesome.css +0 -2337
  279. package/src/assets/font-awesome/css/font-awesome.min.css +0 -4
  280. package/src/assets/font-awesome/desktop.ini +0 -4
  281. package/src/assets/font-awesome/fonts/FontAwesome.otf +0 -0
  282. package/src/assets/font-awesome/fonts/fontawesome-webfont.eot +0 -0
  283. package/src/assets/font-awesome/fonts/fontawesome-webfont.svg +0 -2671
  284. package/src/assets/font-awesome/fonts/fontawesome-webfont.ttf +0 -0
  285. package/src/assets/font-awesome/fonts/fontawesome-webfont.woff +0 -0
  286. package/src/assets/font-awesome/fonts/fontawesome-webfont.woff2 +0 -0
  287. package/src/assets/font-awesome/less/animated.less +0 -34
  288. package/src/assets/font-awesome/less/bordered-pulled.less +0 -25
  289. package/src/assets/font-awesome/less/core.less +0 -12
  290. package/src/assets/font-awesome/less/fixed-width.less +0 -6
  291. package/src/assets/font-awesome/less/font-awesome.less +0 -18
  292. package/src/assets/font-awesome/less/icons.less +0 -789
  293. package/src/assets/font-awesome/less/larger.less +0 -13
  294. package/src/assets/font-awesome/less/list.less +0 -19
  295. package/src/assets/font-awesome/less/mixins.less +0 -60
  296. package/src/assets/font-awesome/less/path.less +0 -15
  297. package/src/assets/font-awesome/less/rotated-flipped.less +0 -20
  298. package/src/assets/font-awesome/less/screen-reader.less +0 -5
  299. package/src/assets/font-awesome/less/stacked.less +0 -20
  300. package/src/assets/font-awesome/less/variables.less +0 -800
  301. package/src/assets/font-awesome/scss/_animated.scss +0 -34
  302. package/src/assets/font-awesome/scss/_bordered-pulled.scss +0 -25
  303. package/src/assets/font-awesome/scss/_core.scss +0 -12
  304. package/src/assets/font-awesome/scss/_fixed-width.scss +0 -6
  305. package/src/assets/font-awesome/scss/_icons.scss +0 -789
  306. package/src/assets/font-awesome/scss/_larger.scss +0 -13
  307. package/src/assets/font-awesome/scss/_list.scss +0 -19
  308. package/src/assets/font-awesome/scss/_mixins.scss +0 -60
  309. package/src/assets/font-awesome/scss/_path.scss +0 -15
  310. package/src/assets/font-awesome/scss/_rotated-flipped.scss +0 -20
  311. package/src/assets/font-awesome/scss/_screen-reader.scss +0 -5
  312. package/src/assets/font-awesome/scss/_stacked.scss +0 -20
  313. package/src/assets/font-awesome/scss/_variables.scss +0 -800
  314. 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
+ });