@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,22 +1,21 @@
1
- @import '~@angular/material/theming';
2
-
3
-
4
- @mixin widget-blank-theme($theme) {
5
-
6
- $primary: map-get($theme, primary);
7
- $warn: map-get($theme, warn);
8
- $background: map-get($theme, background);
9
- $foreground: map-get($theme, foreground);
10
-
11
- .widget-theme {
12
- }
13
- }
14
-
15
- .blankGenericWrapper {
16
- position: relative;
17
- width: 100%;
18
- height: 100%;
19
- display: flex;
20
- align-items: center;
21
- justify-content: center;
22
- }
1
+ @use '~@angular/material' as mat;
2
+
3
+ @mixin widget-blank-theme($theme) {
4
+
5
+ $primary: map-get($theme, primary);
6
+ $warn: map-get($theme, warn);
7
+ $background: map-get($theme, background);
8
+ $foreground: map-get($theme, foreground);
9
+
10
+ .widget-theme {
11
+ }
12
+ }
13
+
14
+ .blankGenericWrapper {
15
+ position: relative;
16
+ width: 100%;
17
+ height: 100%;
18
+ display: flex;
19
+ align-items: center;
20
+ justify-content: center;
21
+ }
@@ -1,25 +1,25 @@
1
- import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
2
-
3
- import { WidgetBlankComponent } from './widget-blank.component';
4
-
5
- describe('WidgetBlankComponent', () => {
6
- let component: WidgetBlankComponent;
7
- let fixture: ComponentFixture<WidgetBlankComponent>;
8
-
9
- beforeEach(waitForAsync(() => {
10
- TestBed.configureTestingModule({
11
- declarations: [ WidgetBlankComponent ]
12
- })
13
- .compileComponents();
14
- }));
15
-
16
- beforeEach(() => {
17
- fixture = TestBed.createComponent(WidgetBlankComponent);
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 { WidgetBlankComponent } from './widget-blank.component';
4
+
5
+ describe('WidgetBlankComponent', () => {
6
+ let component: WidgetBlankComponent;
7
+ let fixture: ComponentFixture<WidgetBlankComponent>;
8
+
9
+ beforeEach(waitForAsync(() => {
10
+ TestBed.configureTestingModule({
11
+ declarations: [ WidgetBlankComponent ]
12
+ })
13
+ .compileComponents();
14
+ }));
15
+
16
+ beforeEach(() => {
17
+ fixture = TestBed.createComponent(WidgetBlankComponent);
18
+ component = fixture.componentInstance;
19
+ fixture.detectChanges();
20
+ });
21
+
22
+ it('should be created', () => {
23
+ expect(component).toBeTruthy();
24
+ });
25
+ });
@@ -1,17 +1,17 @@
1
- import { Component, OnInit, Input } from '@angular/core';
2
-
3
- @Component({
4
- selector: 'app-widget-blank',
5
- templateUrl: './widget-blank.component.html',
6
- styleUrls: ['./widget-blank.component.scss']
7
- })
8
- export class WidgetBlankComponent implements OnInit {
9
- @Input('widgetUUID') widgetUUID: string;
10
- @Input('unlockStatus') unlockStatus: boolean;
11
-
12
- constructor() { }
13
-
14
- ngOnInit() {
15
- }
16
-
17
- }
1
+ import { Component, OnInit, Input } from '@angular/core';
2
+
3
+ @Component({
4
+ selector: 'app-widget-blank',
5
+ templateUrl: './widget-blank.component.html',
6
+ styleUrls: ['./widget-blank.component.scss']
7
+ })
8
+ export class WidgetBlankComponent implements OnInit {
9
+ @Input('widgetUUID') widgetUUID: string;
10
+ @Input('unlockStatus') unlockStatus: boolean;
11
+
12
+ constructor() { }
13
+
14
+ ngOnInit() {
15
+ }
16
+
17
+ }
@@ -1,26 +1,26 @@
1
- .wrapper {
2
- position: relative;
3
- width: 100%;
4
- height: 100%;
5
- }
6
-
7
-
8
- .settingsButton {
9
- position: absolute;
10
- bottom: 5%;
11
- left: 50%;
12
- transform: translate(-50%);
13
- }
14
-
15
-
16
- .tab-group {
17
- border: 1px solid #e8e8e8;
18
- }
19
-
20
- .tab-content {
21
- padding: 16px;
22
- }
23
-
24
- .full-width {
25
- width: 100%;
1
+ .wrapper {
2
+ position: relative;
3
+ width: 100%;
4
+ height: 100%;
5
+ }
6
+
7
+
8
+ .settingsButton {
9
+ position: absolute;
10
+ bottom: 5%;
11
+ left: 50%;
12
+ transform: translate(-50%);
13
+ }
14
+
15
+
16
+ .tab-group {
17
+ border: 1px solid #e8e8e8;
18
+ }
19
+
20
+ .tab-content {
21
+ padding: 16px;
22
+ }
23
+
24
+ .full-width {
25
+ width: 100%;
26
26
  }
@@ -1,29 +1,29 @@
1
- <div class="wrapper" #wrapperDiv>
2
- <gauge-steel
3
- [widgetUUID]="widgetUUID"
4
- [gaugeType]="config.gaugeType"
5
- [barGauge]="config.barGraph"
6
-
7
- [radialSize]="config.radialSize"
8
-
9
- [backgroundColor]="config.backgroundColor"
10
- [frameColor]="config.frameColor"
11
-
12
- [minValue]="config.minValue"
13
- [maxValue]="config.maxValue"
14
-
15
- [zones]=""
16
- [title]="config.displayName"
17
- [units]="config.paths['gaugePath'].convertUnitTo"
18
- [value]="dataValue"
19
-
20
- ></gauge-steel>
21
-
22
-
23
- <div class="settingsButton" *ngIf="unlockStatus">
24
- <button color="accent" mat-mini-fab class="selector-fab" (click)="openWidgetSettings()">
25
- <span class="fa fa-cog"></span>
26
- </button>
27
- </div>
28
-
29
- </div>
1
+ <div class="wrapper" #wrapperDiv>
2
+ <gauge-steel
3
+ [widgetUUID]="widgetUUID"
4
+ [gaugeType]="config.gaugeType"
5
+ [barGauge]="config.barGraph"
6
+
7
+ [radialSize]="config.radialSize"
8
+
9
+ [backgroundColor]="config.backgroundColor"
10
+ [frameColor]="config.frameColor"
11
+
12
+ [minValue]="config.minValue"
13
+ [maxValue]="config.maxValue"
14
+
15
+ [zones]=""
16
+ [title]="config.displayName"
17
+ [units]="config.paths['gaugePath'].convertUnitTo"
18
+ [value]="dataValue"
19
+
20
+ ></gauge-steel>
21
+
22
+
23
+ <div class="settingsButton" *ngIf="unlockStatus">
24
+ <button color="accent" mat-mini-fab class="selector-fab" (click)="openWidgetSettings()">
25
+ <span class="fa-solid fa-cog"></span>
26
+ </button>
27
+ </div>
28
+
29
+ </div>
@@ -1,25 +1,25 @@
1
- import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
2
-
3
- import { WidgetGaugeComponent } from './widget-gauge.component';
4
-
5
- describe('WidgetGaugeComponent', () => {
6
- let component: WidgetGaugeComponent;
7
- let fixture: ComponentFixture<WidgetGaugeComponent>;
8
-
9
- beforeEach(waitForAsync(() => {
10
- TestBed.configureTestingModule({
11
- declarations: [ WidgetGaugeComponent ]
12
- })
13
- .compileComponents();
14
- }));
15
-
16
- beforeEach(() => {
17
- fixture = TestBed.createComponent(WidgetGaugeComponent);
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 { WidgetGaugeComponent } from './widget-gauge.component';
4
+
5
+ describe('WidgetGaugeComponent', () => {
6
+ let component: WidgetGaugeComponent;
7
+ let fixture: ComponentFixture<WidgetGaugeComponent>;
8
+
9
+ beforeEach(waitForAsync(() => {
10
+ TestBed.configureTestingModule({
11
+ declarations: [ WidgetGaugeComponent ]
12
+ })
13
+ .compileComponents();
14
+ }));
15
+
16
+ beforeEach(() => {
17
+ fixture = TestBed.createComponent(WidgetGaugeComponent);
18
+ component = fixture.componentInstance;
19
+ fixture.detectChanges();
20
+ });
21
+
22
+ it('should be created', () => {
23
+ expect(component).toBeTruthy();
24
+ });
25
+ });
@@ -1,120 +1,120 @@
1
- import { Component, Input, OnInit, OnDestroy, Inject } from '@angular/core';
2
- import { Subscription } from 'rxjs';
3
- import { MatDialog } from '@angular/material/dialog';
4
-
5
- import { SignalKService } from '../signalk.service';
6
- import { ModalWidgetComponent } from '../modal-widget/modal-widget.component';
7
- import { WidgetManagerService, IWidget, IWidgetConfig } from '../widget-manager.service';
8
- import { UnitsService } from '../units.service';
9
-
10
-
11
-
12
- const defaultConfig: IWidgetConfig = {
13
- displayName: null,
14
- filterSelfPaths: true,
15
- paths: {
16
- "gaugePath": {
17
- description: "Numeric Data",
18
- path: null,
19
- source: null,
20
- pathType: "number",
21
- isPathConfigurable: true,
22
- convertUnitTo: "unitless"
23
- }
24
- },
25
- gaugeType: 'linear',
26
- barGraph: false, // if linear/radial, is it digital?
27
- radialSize: 'full',
28
- minValue: 0,
29
- maxValue: 100,
30
- rotateFace: false,
31
- backgroundColor: 'carbon',
32
- frameColor: 'anthracite'
33
- };
34
-
35
-
36
- @Component({
37
- selector: 'app-widget-gauge',
38
- templateUrl: './widget-gauge.component.html',
39
- styleUrls: ['./widget-gauge.component.css']
40
- })
41
- export class WidgetGaugeComponent implements OnInit, OnDestroy {
42
-
43
- @Input('widgetUUID') widgetUUID: string;
44
- @Input('unlockStatus') unlockStatus: boolean;
45
-
46
-
47
- activeWidget: IWidget;
48
- config: IWidgetConfig;
49
-
50
- dataValue: any = null;
51
-
52
- valueSub: Subscription = null;
53
-
54
- constructor(
55
- public dialog:MatDialog,
56
- private SignalKService: SignalKService,
57
- private WidgetManagerService: WidgetManagerService,
58
- private UnitsService: UnitsService) {
59
- }
60
-
61
- ngOnInit() {
62
- this.activeWidget = this.WidgetManagerService.getWidget(this.widgetUUID);
63
- if (this.activeWidget.config === null) {
64
- // no data, let's set some!
65
- this.WidgetManagerService.updateWidgetConfig(this.widgetUUID, defaultConfig);
66
- this.config = defaultConfig; // load default config.
67
- } else {
68
- this.config = this.activeWidget.config;
69
- }
70
- this.subscribePath();
71
-
72
- }
73
-
74
- ngOnDestroy() {
75
- this.unsubscribePath();
76
- }
77
-
78
-
79
- subscribePath() {
80
- this.unsubscribePath();
81
- if (typeof(this.config.paths['gaugePath'].path) != 'string') { return } // nothing to sub to...
82
-
83
- this.valueSub = this.SignalKService.subscribePath(this.widgetUUID, this.config.paths['gaugePath'].path, this.config.paths['gaugePath'].source).subscribe(
84
- newValue => {
85
- this.dataValue = this.UnitsService.convertUnit(this.config.paths['gaugePath'].convertUnitTo, newValue.value);
86
- }
87
- );
88
- }
89
-
90
- unsubscribePath() {
91
- if (this.valueSub !== null) {
92
- this.valueSub.unsubscribe();
93
- this.valueSub = null;
94
- this.SignalKService.unsubscribePath(this.widgetUUID, this.config.paths['gaugePath'].path)
95
- }
96
- }
97
-
98
- openWidgetSettings() {
99
-
100
- let dialogRef = this.dialog.open(ModalWidgetComponent, {
101
- width: '80%',
102
- data: this.config
103
- });
104
-
105
- dialogRef.afterClosed().subscribe(result => {
106
- // save new settings
107
- if (result) {
108
- console.log(result);
109
- this.unsubscribePath();//unsub now as we will change variables so wont know what was subbed before...
110
- this.config = result;
111
- this.WidgetManagerService.updateWidgetConfig(this.widgetUUID, this.config);
112
- this.subscribePath();
113
- }
114
-
115
- });
116
-
117
- }
118
-
119
-
120
- }
1
+ import { Component, Input, OnInit, OnDestroy, Inject } from '@angular/core';
2
+ import { Subscription } from 'rxjs';
3
+ import { MatDialog } from '@angular/material/dialog';
4
+
5
+ import { SignalKService } from '../signalk.service';
6
+ import { ModalWidgetComponent } from '../modal-widget/modal-widget.component';
7
+ import { WidgetManagerService, IWidget, IWidgetConfig } from '../widget-manager.service';
8
+ import { UnitsService } from '../units.service';
9
+
10
+
11
+
12
+ const defaultConfig: IWidgetConfig = {
13
+ displayName: null,
14
+ filterSelfPaths: true,
15
+ paths: {
16
+ "gaugePath": {
17
+ description: "Numeric Data",
18
+ path: null,
19
+ source: null,
20
+ pathType: "number",
21
+ isPathConfigurable: true,
22
+ convertUnitTo: "unitless"
23
+ }
24
+ },
25
+ gaugeType: 'linear',
26
+ barGraph: false, // if linear/radial, is it digital?
27
+ radialSize: 'full',
28
+ minValue: 0,
29
+ maxValue: 100,
30
+ rotateFace: false,
31
+ backgroundColor: 'carbon',
32
+ frameColor: 'anthracite'
33
+ };
34
+
35
+
36
+ @Component({
37
+ selector: 'app-widget-gauge',
38
+ templateUrl: './widget-gauge.component.html',
39
+ styleUrls: ['./widget-gauge.component.css']
40
+ })
41
+ export class WidgetGaugeComponent implements OnInit, OnDestroy {
42
+
43
+ @Input('widgetUUID') widgetUUID: string;
44
+ @Input('unlockStatus') unlockStatus: boolean;
45
+
46
+
47
+ activeWidget: IWidget;
48
+ config: IWidgetConfig;
49
+
50
+ dataValue: any = null;
51
+
52
+ valueSub: Subscription = null;
53
+
54
+ constructor(
55
+ public dialog:MatDialog,
56
+ private SignalKService: SignalKService,
57
+ private WidgetManagerService: WidgetManagerService,
58
+ private UnitsService: UnitsService) {
59
+ }
60
+
61
+ ngOnInit() {
62
+ this.activeWidget = this.WidgetManagerService.getWidget(this.widgetUUID);
63
+ if (this.activeWidget.config === null) {
64
+ // no data, let's set some!
65
+ this.WidgetManagerService.updateWidgetConfig(this.widgetUUID, defaultConfig);
66
+ this.config = defaultConfig; // load default config.
67
+ } else {
68
+ this.config = this.activeWidget.config;
69
+ }
70
+ this.subscribePath();
71
+
72
+ }
73
+
74
+ ngOnDestroy() {
75
+ this.unsubscribePath();
76
+ }
77
+
78
+
79
+ subscribePath() {
80
+ this.unsubscribePath();
81
+ if (typeof(this.config.paths['gaugePath'].path) != 'string') { return } // nothing to sub to...
82
+
83
+ this.valueSub = this.SignalKService.subscribePath(this.widgetUUID, this.config.paths['gaugePath'].path, this.config.paths['gaugePath'].source).subscribe(
84
+ newValue => {
85
+ this.dataValue = this.UnitsService.convertUnit(this.config.paths['gaugePath'].convertUnitTo, newValue.value);
86
+ }
87
+ );
88
+ }
89
+
90
+ unsubscribePath() {
91
+ if (this.valueSub !== null) {
92
+ this.valueSub.unsubscribe();
93
+ this.valueSub = null;
94
+ this.SignalKService.unsubscribePath(this.widgetUUID, this.config.paths['gaugePath'].path)
95
+ }
96
+ }
97
+
98
+ openWidgetSettings() {
99
+
100
+ let dialogRef = this.dialog.open(ModalWidgetComponent, {
101
+ width: '80%',
102
+ data: this.config
103
+ });
104
+
105
+ dialogRef.afterClosed().subscribe(result => {
106
+ // save new settings
107
+ if (result) {
108
+ console.log(result);
109
+ this.unsubscribePath();//unsub now as we will change variables so wont know what was subbed before...
110
+ this.config = result;
111
+ this.WidgetManagerService.updateWidgetConfig(this.widgetUUID, this.config);
112
+ this.subscribePath();
113
+ }
114
+
115
+ });
116
+
117
+ }
118
+
119
+
120
+ }