@mxtommy/kip 1.2.3 → 2.0.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 (354) hide show
  1. package/CHANGELOG.md +180 -135
  2. package/CONTRIBUTORS.md +16 -16
  3. package/KipGaugeSample3-1024x508.png +0 -0
  4. package/LICENSE +21 -0
  5. package/README.md +140 -102
  6. package/package.json +93 -84
  7. package/public/3rdpartylicenses.txt +68 -139
  8. package/public/assets/NoSleep.min.js +2 -2
  9. package/public/assets/fontawesome6/css/all.min.css +6 -0
  10. package/public/assets/fontawesome6/webfonts/fa-brands-400.ttf +0 -0
  11. package/public/assets/fontawesome6/webfonts/fa-brands-400.woff2 +0 -0
  12. package/public/assets/fontawesome6/webfonts/fa-regular-400.ttf +0 -0
  13. package/public/assets/fontawesome6/webfonts/fa-regular-400.woff2 +0 -0
  14. package/public/assets/fontawesome6/webfonts/fa-solid-900.ttf +0 -0
  15. package/public/assets/fontawesome6/webfonts/fa-solid-900.woff2 +0 -0
  16. package/public/assets/fontawesome6/webfonts/fa-v4compatibility.ttf +0 -0
  17. package/public/assets/fontawesome6/webfonts/fa-v4compatibility.woff2 +0 -0
  18. package/public/assets/icon-192x192.png +0 -0
  19. package/public/assets/icon-256x256.png +0 -0
  20. package/public/assets/icon-384x384.png +0 -0
  21. package/public/assets/icon-512x512.png +0 -0
  22. package/public/assets/icon-64x64.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.9dba30de44eed02b.js +1 -0
  31. package/public/manifest.json +38 -0
  32. package/public/polyfills.d1da7d2e907c253a.js +1 -0
  33. package/public/runtime.e75056c32c37f59d.js +1 -0
  34. package/public/styles.6b1c2c92be18a2cc.css +1 -0
  35. package/.angulardoc.json +0 -4
  36. package/angular.json +0 -153
  37. package/e2e/app.e2e-spec.ts +0 -14
  38. package/e2e/app.po.ts +0 -11
  39. package/e2e/tsconfig.e2e.json +0 -14
  40. package/karma.conf.js +0 -31
  41. package/public/assets/font-awesome/HELP-US-OUT.txt +0 -7
  42. package/public/assets/font-awesome/css/font-awesome.css +0 -2337
  43. package/public/assets/font-awesome/css/font-awesome.min.css +0 -4
  44. package/public/assets/font-awesome/desktop.ini +0 -4
  45. package/public/assets/font-awesome/fonts/FontAwesome.otf +0 -0
  46. package/public/assets/font-awesome/fonts/fontawesome-webfont.eot +0 -0
  47. package/public/assets/font-awesome/fonts/fontawesome-webfont.svg +0 -2671
  48. package/public/assets/font-awesome/fonts/fontawesome-webfont.ttf +0 -0
  49. package/public/assets/font-awesome/fonts/fontawesome-webfont.woff +0 -0
  50. package/public/assets/font-awesome/fonts/fontawesome-webfont.woff2 +0 -0
  51. package/public/assets/font-awesome/less/animated.less +0 -34
  52. package/public/assets/font-awesome/less/bordered-pulled.less +0 -25
  53. package/public/assets/font-awesome/less/core.less +0 -12
  54. package/public/assets/font-awesome/less/fixed-width.less +0 -6
  55. package/public/assets/font-awesome/less/font-awesome.less +0 -18
  56. package/public/assets/font-awesome/less/icons.less +0 -789
  57. package/public/assets/font-awesome/less/larger.less +0 -13
  58. package/public/assets/font-awesome/less/list.less +0 -19
  59. package/public/assets/font-awesome/less/mixins.less +0 -60
  60. package/public/assets/font-awesome/less/path.less +0 -15
  61. package/public/assets/font-awesome/less/rotated-flipped.less +0 -20
  62. package/public/assets/font-awesome/less/screen-reader.less +0 -5
  63. package/public/assets/font-awesome/less/stacked.less +0 -20
  64. package/public/assets/font-awesome/less/variables.less +0 -800
  65. package/public/assets/font-awesome/scss/_animated.scss +0 -34
  66. package/public/assets/font-awesome/scss/_bordered-pulled.scss +0 -25
  67. package/public/assets/font-awesome/scss/_core.scss +0 -12
  68. package/public/assets/font-awesome/scss/_fixed-width.scss +0 -6
  69. package/public/assets/font-awesome/scss/_icons.scss +0 -789
  70. package/public/assets/font-awesome/scss/_larger.scss +0 -13
  71. package/public/assets/font-awesome/scss/_list.scss +0 -19
  72. package/public/assets/font-awesome/scss/_mixins.scss +0 -60
  73. package/public/assets/font-awesome/scss/_path.scss +0 -15
  74. package/public/assets/font-awesome/scss/_rotated-flipped.scss +0 -20
  75. package/public/assets/font-awesome/scss/_screen-reader.scss +0 -5
  76. package/public/assets/font-awesome/scss/_stacked.scss +0 -20
  77. package/public/assets/font-awesome/scss/_variables.scss +0 -800
  78. package/public/assets/font-awesome/scss/font-awesome.scss +0 -18
  79. package/public/main-es2018.ab0adc5af3ab3e70c849.js +0 -1
  80. package/public/main-es5.ab0adc5af3ab3e70c849.js +0 -1
  81. package/public/polyfills-es2018.713f95af1f028e444854.js +0 -1
  82. package/public/polyfills-es5.c78877945523541d2597.js +0 -1
  83. package/public/runtime-es2018.a4dadbc03350107420a4.js +0 -1
  84. package/public/runtime-es5.a4dadbc03350107420a4.js +0 -1
  85. package/public/styles.71bb0d04cad96b5efbe1.css +0 -19
  86. package/src/app/alarm-menu/alarm-menu.component.html +0 -55
  87. package/src/app/alarm-menu/alarm-menu.component.scss +0 -53
  88. package/src/app/alarm-menu/alarm-menu.component.spec.ts +0 -25
  89. package/src/app/alarm-menu/alarm-menu.component.ts +0 -186
  90. package/src/app/app-help/app-help.component.css +0 -4
  91. package/src/app/app-help/app-help.component.html +0 -135
  92. package/src/app/app-help/app-help.component.ts +0 -45
  93. package/src/app/app-settings.service.spec.ts +0 -15
  94. package/src/app/app-settings.service.ts +0 -478
  95. package/src/app/app.component.css +0 -39
  96. package/src/app/app.component.html +0 -93
  97. package/src/app/app.component.scss +0 -79
  98. package/src/app/app.component.spec.ts +0 -32
  99. package/src/app/app.component.ts +0 -192
  100. package/src/app/app.module.ts +0 -200
  101. package/src/app/config.blank.const.ts +0 -52
  102. package/src/app/config.blank.notification.const.ts +0 -19
  103. package/src/app/config.blank.units.const.ts +0 -23
  104. package/src/app/config.demo.const.ts +0 -384
  105. package/src/app/data-browser/data-browser.component.css +0 -29
  106. package/src/app/data-browser/data-browser.component.html +0 -44
  107. package/src/app/data-browser/data-browser.component.spec.ts +0 -25
  108. package/src/app/data-browser/data-browser.component.ts +0 -91
  109. package/src/app/data-browser-row/data-browser-row-unit-modal.html +0 -17
  110. package/src/app/data-browser-row/data-browser-row.component.css +0 -10
  111. package/src/app/data-browser-row/data-browser-row.component.html +0 -5
  112. package/src/app/data-browser-row/data-browser-row.component.ts +0 -79
  113. package/src/app/data-set.service.spec.ts +0 -15
  114. package/src/app/data-set.service.ts +0 -273
  115. package/src/app/dynamic-widget.directive.spec.ts +0 -8
  116. package/src/app/dynamic-widget.directive.ts +0 -11
  117. package/src/app/filter-self.pipe.spec.ts +0 -8
  118. package/src/app/filter-self.pipe.ts +0 -14
  119. package/src/app/fit-text.directive.spec.ts +0 -8
  120. package/src/app/fit-text.directive.ts +0 -61
  121. package/src/app/gauge-steel/gauge-steel.component.css +0 -5
  122. package/src/app/gauge-steel/gauge-steel.component.html +0 -4
  123. package/src/app/gauge-steel/gauge-steel.component.spec.ts +0 -25
  124. package/src/app/gauge-steel/gauge-steel.component.ts +0 -282
  125. package/src/app/gauges-module/base-gauge.ts +0 -301
  126. package/src/app/gauges-module/gauges.module.ts +0 -17
  127. package/src/app/gauges-module/linear-gauge.ts +0 -50
  128. package/src/app/gauges-module/radial-gauge.ts +0 -48
  129. package/src/app/layout-split/layout-split.component.html +0 -30
  130. package/src/app/layout-split/layout-split.component.scss +0 -33
  131. package/src/app/layout-split/layout-split.component.spec.ts +0 -25
  132. package/src/app/layout-split/layout-split.component.ts +0 -59
  133. package/src/app/layout-splits.service.spec.ts +0 -15
  134. package/src/app/layout-splits.service.ts +0 -284
  135. package/src/app/modal-path-selector/modal-path-selector.component.html +0 -62
  136. package/src/app/modal-path-selector/modal-path-selector.component.scss +0 -39
  137. package/src/app/modal-path-selector/modal-path-selector.component.spec.ts +0 -25
  138. package/src/app/modal-path-selector/modal-path-selector.component.ts +0 -132
  139. package/src/app/modal-widget/modal-widget.component.css +0 -33
  140. package/src/app/modal-widget/modal-widget.component.html +0 -341
  141. package/src/app/modal-widget/modal-widget.component.spec.ts +0 -25
  142. package/src/app/modal-widget/modal-widget.component.ts +0 -84
  143. package/src/app/notifications.service.spec.ts +0 -12
  144. package/src/app/notifications.service.ts +0 -392
  145. package/src/app/object-keys.pipe.spec.ts +0 -8
  146. package/src/app/object-keys.pipe.ts +0 -13
  147. package/src/app/reset-config/reset-config.component.css +0 -0
  148. package/src/app/reset-config/reset-config.component.html +0 -3
  149. package/src/app/reset-config/reset-config.component.spec.ts +0 -25
  150. package/src/app/reset-config/reset-config.component.ts +0 -31
  151. package/src/app/root-display/root-display.component.css +0 -0
  152. package/src/app/root-display/root-display.component.html +0 -4
  153. package/src/app/root-display/root-display.component.spec.ts +0 -25
  154. package/src/app/root-display/root-display.component.ts +0 -57
  155. package/src/app/safe.pipe.ts +0 -16
  156. package/src/app/settings/settings.component.css +0 -9
  157. package/src/app/settings/settings.component.html +0 -25
  158. package/src/app/settings/settings.component.spec.ts +0 -25
  159. package/src/app/settings/settings.component.ts +0 -22
  160. package/src/app/settings-config/settings-config.component.css +0 -39
  161. package/src/app/settings-config/settings-config.component.html +0 -118
  162. package/src/app/settings-config/settings-config.component.spec.ts +0 -25
  163. package/src/app/settings-config/settings-config.component.ts +0 -161
  164. package/src/app/settings-datasets/settings-datasets.component.html +0 -43
  165. package/src/app/settings-datasets/settings-datasets.component.scss +0 -39
  166. package/src/app/settings-datasets/settings-datasets.component.spec.ts +0 -25
  167. package/src/app/settings-datasets/settings-datasets.component.ts +0 -98
  168. package/src/app/settings-datasets/settings-datasets.modal.html +0 -54
  169. package/src/app/settings-notifications/settings-notifications.component.css +0 -0
  170. package/src/app/settings-notifications/settings-notifications.component.html +0 -65
  171. package/src/app/settings-notifications/settings-notifications.component.spec.ts +0 -25
  172. package/src/app/settings-notifications/settings-notifications.component.ts +0 -29
  173. package/src/app/settings-signalk/settings-signalk.component.css +0 -3
  174. package/src/app/settings-signalk/settings-signalk.component.html +0 -89
  175. package/src/app/settings-signalk/settings-signalk.component.spec.ts +0 -25
  176. package/src/app/settings-signalk/settings-signalk.component.ts +0 -174
  177. package/src/app/settings-units/settings-units.component.css +0 -4
  178. package/src/app/settings-units/settings-units.component.html +0 -19
  179. package/src/app/settings-units/settings-units.component.spec.ts +0 -25
  180. package/src/app/settings-units/settings-units.component.ts +0 -62
  181. package/src/app/settings-zones/settings-zones.component.css +0 -22
  182. package/src/app/settings-zones/settings-zones.component.html +0 -70
  183. package/src/app/settings-zones/settings-zones.component.ts +0 -154
  184. package/src/app/settings-zones/settings-zones.modal.css +0 -14
  185. package/src/app/settings-zones/settings-zones.modal.html +0 -39
  186. package/src/app/signalk-connection.service.ts +0 -344
  187. package/src/app/signalk-delta.service.spec.ts +0 -15
  188. package/src/app/signalk-delta.service.ts +0 -97
  189. package/src/app/signalk-full.service.spec.ts +0 -15
  190. package/src/app/signalk-full.service.ts +0 -99
  191. package/src/app/signalk-interfaces.ts +0 -129
  192. package/src/app/signalk-requests.service.spec.ts +0 -12
  193. package/src/app/signalk-requests.service.ts +0 -180
  194. package/src/app/signalk.service.spec.ts +0 -15
  195. package/src/app/signalk.service.ts +0 -428
  196. package/src/app/svg-autopilot/svg-autopilot.component.html +0 -1036
  197. package/src/app/svg-autopilot/svg-autopilot.component.spec.ts +0 -25
  198. package/src/app/svg-autopilot/svg-autopilot.component.ts +0 -174
  199. package/src/app/svg-simple-linear-gauge/svg-simple-linear-gauge.component.html +0 -119
  200. package/src/app/svg-simple-linear-gauge/svg-simple-linear-gauge.component.scss +0 -0
  201. package/src/app/svg-simple-linear-gauge/svg-simple-linear-gauge.component.spec.ts +0 -25
  202. package/src/app/svg-simple-linear-gauge/svg-simple-linear-gauge.component.ts +0 -49
  203. package/src/app/svg-wind/svg-wind.component.css +0 -0
  204. package/src/app/svg-wind/svg-wind.component.html +0 -969
  205. package/src/app/svg-wind/svg-wind.component.scss +0 -76
  206. package/src/app/svg-wind/svg-wind.component.spec.ts +0 -25
  207. package/src/app/svg-wind/svg-wind.component.ts +0 -280
  208. package/src/app/unit-window/unit-window.component.css +0 -37
  209. package/src/app/unit-window/unit-window.component.html +0 -8
  210. package/src/app/unit-window/unit-window.component.spec.ts +0 -25
  211. package/src/app/unit-window/unit-window.component.ts +0 -134
  212. package/src/app/unit-window/unit-window.modal.html +0 -25
  213. package/src/app/units.service.ts +0 -300
  214. package/src/app/widget-autopilot/widget-autopilot.component.html +0 -85
  215. package/src/app/widget-autopilot/widget-autopilot.component.scss +0 -191
  216. package/src/app/widget-autopilot/widget-autopilot.component.spec.ts +0 -25
  217. package/src/app/widget-autopilot/widget-autopilot.component.ts +0 -781
  218. package/src/app/widget-blank/widget-blank.component.html +0 -5
  219. package/src/app/widget-blank/widget-blank.component.scss +0 -22
  220. package/src/app/widget-blank/widget-blank.component.spec.ts +0 -25
  221. package/src/app/widget-blank/widget-blank.component.ts +0 -17
  222. package/src/app/widget-gauge/widget-gauge.component.css +0 -26
  223. package/src/app/widget-gauge/widget-gauge.component.html +0 -29
  224. package/src/app/widget-gauge/widget-gauge.component.spec.ts +0 -25
  225. package/src/app/widget-gauge/widget-gauge.component.ts +0 -120
  226. package/src/app/widget-gauge-ng-linear/widget-gauge-ng-linear.component.html +0 -126
  227. package/src/app/widget-gauge-ng-linear/widget-gauge-ng-linear.component.scss +0 -93
  228. package/src/app/widget-gauge-ng-linear/widget-gauge-ng-linear.component.spec.ts +0 -25
  229. package/src/app/widget-gauge-ng-linear/widget-gauge-ng-linear.component.ts +0 -424
  230. package/src/app/widget-gauge-ng-radial/widget-gauge-ng-radial.component.html +0 -122
  231. package/src/app/widget-gauge-ng-radial/widget-gauge-ng-radial.component.scss +0 -69
  232. package/src/app/widget-gauge-ng-radial/widget-gauge-ng-radial.component.spec.ts +0 -25
  233. package/src/app/widget-gauge-ng-radial/widget-gauge-ng-radial.component.ts +0 -553
  234. package/src/app/widget-historical/widget-historical.component.css +0 -31
  235. package/src/app/widget-historical/widget-historical.component.html +0 -14
  236. package/src/app/widget-historical/widget-historical.component.scss +0 -0
  237. package/src/app/widget-historical/widget-historical.component.spec.ts +0 -25
  238. package/src/app/widget-historical/widget-historical.component.ts +0 -306
  239. package/src/app/widget-iframe/widget-iframe.component.css +0 -12
  240. package/src/app/widget-iframe/widget-iframe.component.html +0 -21
  241. package/src/app/widget-iframe/widget-iframe.component.spec.ts +0 -25
  242. package/src/app/widget-iframe/widget-iframe.component.ts +0 -63
  243. package/src/app/widget-list.service.spec.ts +0 -15
  244. package/src/app/widget-list.service.ts +0 -135
  245. package/src/app/widget-manager.service.spec.ts +0 -15
  246. package/src/app/widget-manager.service.ts +0 -141
  247. package/src/app/widget-numeric/widget-numeric.component.html +0 -13
  248. package/src/app/widget-numeric/widget-numeric.component.scss +0 -52
  249. package/src/app/widget-numeric/widget-numeric.component.spec.ts +0 -25
  250. package/src/app/widget-numeric/widget-numeric.component.ts +0 -457
  251. package/src/app/widget-simple-linear/widget-simple-linear.component.html +0 -28
  252. package/src/app/widget-simple-linear/widget-simple-linear.component.scss +0 -64
  253. package/src/app/widget-simple-linear/widget-simple-linear.component.spec.ts +0 -25
  254. package/src/app/widget-simple-linear/widget-simple-linear.component.ts +0 -199
  255. package/src/app/widget-state/widget-state.component.html +0 -27
  256. package/src/app/widget-state/widget-state.component.scss +0 -68
  257. package/src/app/widget-state/widget-state.component.spec.ts +0 -25
  258. package/src/app/widget-state/widget-state.component.ts +0 -178
  259. package/src/app/widget-switch/widget-switch.component.css +0 -70
  260. package/src/app/widget-switch/widget-switch.component.html +0 -17
  261. package/src/app/widget-switch/widget-switch.component.spec.ts +0 -25
  262. package/src/app/widget-switch/widget-switch.component.ts +0 -134
  263. package/src/app/widget-text-generic/widget-text-generic.component.css +0 -55
  264. package/src/app/widget-text-generic/widget-text-generic.component.html +0 -9
  265. package/src/app/widget-text-generic/widget-text-generic.component.spec.ts +0 -25
  266. package/src/app/widget-text-generic/widget-text-generic.component.ts +0 -253
  267. package/src/app/widget-tutorial/widget-tutorial.component.css +0 -0
  268. package/src/app/widget-tutorial/widget-tutorial.component.html +0 -34
  269. package/src/app/widget-tutorial/widget-tutorial.component.spec.ts +0 -25
  270. package/src/app/widget-tutorial/widget-tutorial.component.ts +0 -18
  271. package/src/app/widget-unknown/widget-unknown.component.css +0 -0
  272. package/src/app/widget-unknown/widget-unknown.component.html +0 -3
  273. package/src/app/widget-unknown/widget-unknown.component.spec.ts +0 -25
  274. package/src/app/widget-unknown/widget-unknown.component.ts +0 -15
  275. package/src/app/widget-wind/widget-wind.component.css +0 -24
  276. package/src/app/widget-wind/widget-wind.component.html +0 -20
  277. package/src/app/widget-wind/widget-wind.component.spec.ts +0 -25
  278. package/src/app/widget-wind/widget-wind.component.ts +0 -369
  279. package/src/assets/.gitkeep +0 -0
  280. package/src/assets/NoSleep.min.js +0 -2
  281. package/src/assets/alarm.mp3 +0 -0
  282. package/src/assets/alert.mp3 +0 -0
  283. package/src/assets/alertl.old.mp3 +0 -0
  284. package/src/assets/emergency.mp3 +0 -0
  285. package/src/assets/font-awesome/HELP-US-OUT.txt +0 -7
  286. package/src/assets/font-awesome/css/font-awesome.css +0 -2337
  287. package/src/assets/font-awesome/css/font-awesome.min.css +0 -4
  288. package/src/assets/font-awesome/desktop.ini +0 -4
  289. package/src/assets/font-awesome/fonts/FontAwesome.otf +0 -0
  290. package/src/assets/font-awesome/fonts/fontawesome-webfont.eot +0 -0
  291. package/src/assets/font-awesome/fonts/fontawesome-webfont.svg +0 -2671
  292. package/src/assets/font-awesome/fonts/fontawesome-webfont.ttf +0 -0
  293. package/src/assets/font-awesome/fonts/fontawesome-webfont.woff +0 -0
  294. package/src/assets/font-awesome/fonts/fontawesome-webfont.woff2 +0 -0
  295. package/src/assets/font-awesome/less/animated.less +0 -34
  296. package/src/assets/font-awesome/less/bordered-pulled.less +0 -25
  297. package/src/assets/font-awesome/less/core.less +0 -12
  298. package/src/assets/font-awesome/less/fixed-width.less +0 -6
  299. package/src/assets/font-awesome/less/font-awesome.less +0 -18
  300. package/src/assets/font-awesome/less/icons.less +0 -789
  301. package/src/assets/font-awesome/less/larger.less +0 -13
  302. package/src/assets/font-awesome/less/list.less +0 -19
  303. package/src/assets/font-awesome/less/mixins.less +0 -60
  304. package/src/assets/font-awesome/less/path.less +0 -15
  305. package/src/assets/font-awesome/less/rotated-flipped.less +0 -20
  306. package/src/assets/font-awesome/less/screen-reader.less +0 -5
  307. package/src/assets/font-awesome/less/stacked.less +0 -20
  308. package/src/assets/font-awesome/less/variables.less +0 -800
  309. package/src/assets/font-awesome/scss/_animated.scss +0 -34
  310. package/src/assets/font-awesome/scss/_bordered-pulled.scss +0 -25
  311. package/src/assets/font-awesome/scss/_core.scss +0 -12
  312. package/src/assets/font-awesome/scss/_fixed-width.scss +0 -6
  313. package/src/assets/font-awesome/scss/_icons.scss +0 -789
  314. package/src/assets/font-awesome/scss/_larger.scss +0 -13
  315. package/src/assets/font-awesome/scss/_list.scss +0 -19
  316. package/src/assets/font-awesome/scss/_mixins.scss +0 -60
  317. package/src/assets/font-awesome/scss/_path.scss +0 -15
  318. package/src/assets/font-awesome/scss/_rotated-flipped.scss +0 -20
  319. package/src/assets/font-awesome/scss/_screen-reader.scss +0 -5
  320. package/src/assets/font-awesome/scss/_stacked.scss +0 -20
  321. package/src/assets/font-awesome/scss/_variables.scss +0 -800
  322. package/src/assets/font-awesome/scss/font-awesome.scss +0 -18
  323. package/src/assets/notification.mp3 +0 -0
  324. package/src/assets/steelseries-min.js +0 -25
  325. package/src/assets/steelseries-min.js.map +0 -8
  326. package/src/assets/steelseries.js +0 -15834
  327. package/src/assets/svg-autopilot-inkscape-plain.svg +0 -983
  328. package/src/assets/svg-wind-inkscape.svg +0 -1358
  329. package/src/assets/tween-min.js +0 -1
  330. package/src/assets/tween.js +0 -381
  331. package/src/assets/warn.mp3 +0 -0
  332. package/src/environments/environment.prod.ts +0 -3
  333. package/src/environments/environment.ts +0 -8
  334. package/src/favicon.ico +0 -0
  335. package/src/index.html +0 -20
  336. package/src/main.ts +0 -11
  337. package/src/polyfills.ts +0 -76
  338. package/src/styles.css +0 -47
  339. package/src/styles.scss +0 -157
  340. package/src/test.ts +0 -32
  341. package/src/themes/darkBlueTheme.scss +0 -116
  342. package/src/themes/defaultTheme.scss +0 -49
  343. package/src/themes/highContrastTheme.scss +0 -46
  344. package/src/themes/modernTheme.scss +0 -142
  345. package/src/themes/nightMode.scss +0 -184
  346. package/src/themes/platypusTheme.scss +0 -79
  347. package/src/themes/signalkTheme.scss +0 -111
  348. package/src/tsconfig.app.json +0 -15
  349. package/src/tsconfig.spec.json +0 -20
  350. package/src/typings.d.ts +0 -5
  351. package/tsconfig.json +0 -24
  352. package/tslint.json +0 -143
  353. /package/{KipGaugeSample-1-1024x545.png → KipGaugeSample1-1024x545.png} +0 -0
  354. /package/{KipMonitor-1024x488.png → KipGaugeSample2-1024x488.png} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,135 +1,180 @@
1
- # V 1.2.3
2
- * Fix bug in ng-Gauges initialization
3
- * Don't error out on missing notification method
4
- * Add some more help videos
5
-
6
- # V1.2.2
7
- * Option to make historical graphs vertical, thanks ahm4711!
8
-
9
- # V1.2.1
10
- * Fix bad base href in V1.2.0
11
-
12
- # V1.2.0
13
- ## Features
14
- * Zones!!!
15
- * Set zones in Settings, give range and state for that range.
16
- * Warnings and alarms generated when in range.
17
- * Radial / Linear Gauges show zones. Sets colors on gauge and red value on warn/alarm.
18
- * Numeric widget alarming on Zones. Red text on warning, flashing red background on alarm.
19
- * New Data Browser feature!
20
- * Start of a Help section (still needs some more content, feel free to suggest ideas!)
21
- * Enable/Disable different notification sounds in settings (normal/warning/alarm/etc)
22
- * Added choice between numeric and cardinal ticks on compass (0,90,180,270 vs N,E,S,W)
23
- * Allow paths that do not exist in path input.
24
- * Added percent unit
25
- * Optimize font size calculations by up to 50x on numeric widget
26
- * Added a new color option on linear gauges (No Progress). Makes it just the needle, usefull for example rudder position
27
-
28
- ## Bugfix/Other
29
- * Refactor alarms/notification service.
30
- * Fix blank config version
31
- * Update Dependencies to latest (Angular 11)
32
- * Fix full tree API parsing (might not work with very old server versions though...) (commit 30220f0)
33
- * Fix various small typos / small bugs
34
- * Position updates are in deg, but KIP expects rad. Convert deg to rad on incoming position data.
35
- * Fix metadata parsing
36
-
37
- # V1.1.2
38
- * Don't save unlock status in config (not needed)
39
- * Add hPA/mbar units
40
- * Fix unit selection on historical widgets
41
-
42
- # V1.1.1
43
- * Fix base Href
44
-
45
- # V1.1.0
46
- * A lot of code cleanup!
47
- * UI refresh/cleanup
48
- * Updated dependencies to latest Angular/etc
49
- * Path selection dropdown in Widget settings modal replaced with auto-complete. Also has path description if available
50
- * Config has UUID to that instance (for identifying to server)
51
- * Settings page has updates per second graph
52
- * Start of support for metadata in widgets
53
- * additional notifications settings
54
- * fix Wind gauge wind sectors theming
55
- * Widget select modal refactor into groups
56
-
57
- ### V1.0.3
58
- * updated navbar styling
59
- * Theme work/cleanup
60
- * Work on ng gauges
61
-
62
- ### V1.0.2
63
- * Tooltip for long messages, and hide badge when 0 unacked alarms
64
-
65
- ### V1.0.1
66
- * Respect methods for alarms!
67
-
68
- # V1.0.0
69
- * add ngcanvasgauges and new modern theme (thanks godind!)
70
- * new Theme change event allowing widgets to subscribe to theme changes (thanks godind!)
71
- * Historical Graph color change on theme update
72
- * Update WidgetString to use canvas like numeric widget for dynamic font size
73
- * Latitude/Longitude Unit format
74
- * Load / Save config from server!
75
- * Notifications service for application status (snackbar)
76
- * Deleting the last widget in a page deletes the page!
77
- * Signalk Notifications in menubar!
78
-
79
- ### V0.1.12
80
- * iFrame to embed something in kip
81
- * Unit defaults!
82
-
83
- ### V0.1.11
84
- * Performance fixes for large numeric widgets
85
- * Bugfixes
86
-
87
- ### V0.1.10
88
- * Numeric Min/Max
89
-
90
-
91
- ### V0.1.9
92
- * Updated NPM dependencies
93
- * Show connection lost overlay on closed websocket connection
94
- * Only resize Steelseries Gauges max 1 a second (helps in resizing)
95
- * Add Frequency Units
96
- * Put Support! On/Off and Momentary support on boolean state
97
- * Request R/W token from SignalK Server
98
-
99
- ### V0.1.8
100
- * Fix bug related to source parsing in deltas
101
-
102
- ### V0.1.7
103
- Note, Any configs stored in browser will be lost as config format has changed.
104
- * Performance gain in Numeric widget in large fonts
105
- * Sailgauge updates (laylines, windsectors, general refactor)
106
- * Simplified source selection in the code
107
- * Removed Derived Data
108
- * Added Percentage unit, and stopped showing "no unit" on numeric
109
- * Updated Angular from v4 to v5 and also all dependencies to latest version
110
- * Complete re-write of widget settings modal for future ease of coding
111
- * Complete re-write of unit conversion service. Now if metadata specifies unit, it only offers you compatible units
112
- * Gauge Background and frame color options!
113
- * new Signal K Theme
114
-
115
- ### V0.1.6
116
- * Hash based routing
117
- * Start of Boolean state widget
118
- * default to /signalk in url
119
-
120
- ### V0.1.5
121
- * fix select dialogs (missing mat-form-field)
122
-
123
- ### V0.1.4
124
- * Fix typo in settings page
125
-
126
- ### V0.1.1
127
- * Tutorial Widget
128
- * fix new page bug (had to reload to access it)
129
-
130
- ### V0.1
131
- * Derived Data - true wind and dow
132
- * Sailgauge (True wind)
133
- * Demo default config
134
- * Load/Save Config
135
- * Get a few themes going, theme wind gauge
1
+ # V 2.0.0
2
+ ## New features
3
+ * Breaking Change - KIP configuration sharing using Signal K user key data storage feature
4
+ * Support for Signal K User authentication
5
+ * KIP authentication flow and UI
6
+ * Race Timer widget
7
+ * Data/time Widget. Special thanks to techgardeners
8
+ * Ah and kWh units support. Special thanks to amirlanesman
9
+ * New Storage Service
10
+ * New Authentification Service
11
+ * New App bootstrap Init Service
12
+ ## Improvements
13
+ * Button/Switch Widget UI improvement to On/Off status indicator
14
+ * Upgrade to Angular 14
15
+ * Performance improvements with reduction of Angular Change Detection
16
+ * Reduced bundle size
17
+ * Streamlined Widget framework to facilitate Widget contribution and creation
18
+ * Migration to RxJS WebSocket
19
+ * Improved JavaScript Web Token (JWT) management using HTTP Intreceptor
20
+ * Improved management of Signal K communications reducing server buffer overflow and server-side termination exceptions handling.
21
+ * Support for Signal K Delta Metadata updates
22
+ * Retirement of full.service in favor of the Delta service for improved performance, reduced CPU load and code simplification
23
+ * Kip configuration data split into Connection and Configuration files enhancing KIP configuration sharing
24
+ * Enhanced Request Service support
25
+ * Enhanced Console logging for improved tracing and debugging
26
+ * Added the ability to add a display text to the Blank widget. Special thanks to techgardeners
27
+ * Various dependency upgrades
28
+ * Code cleanup and documentation
29
+ ## Fixes
30
+ * widget-numeric.component.html code typo preventing proper theme rendering. Special thanks to mhaberler
31
+ * Issue where simple linear gauge assumes min value=0. Special thanks to amirlanesman
32
+ * Fix spelling in datasets configuration. Special tahnks to philipa
33
+ # V 1.3.1
34
+ * Angular production build script update
35
+ * fixed historical widget axis and label theming color, thanks VibroAxe
36
+ # V 1.3.0
37
+ * Platform update to Node 14, Angular and Angular Material 12
38
+ * Upgrade to Awesomefont6 with new icon style classes update
39
+ * Retired old node-sass in favor of new Sass module
40
+ * Dependecies updated to latest
41
+ * App manifest added, thanks VibroAxe
42
+ * Added new ng server dev configuration with map files enabling debugger breakpoints. Use: ng server --configuration=dev to enable VS Code debugger map file and inline break points.
43
+ * Fixed issue: Latest Master doesn't build #111 - NG-Canvas-Gauge package dependecy
44
+ * Fix Kip N2K Autopilot gauge buttons layout and modes feature. AP Gauge should work with Raymarine Seatalk, N2K APs and SmartPilots connected to Seatalk-STNG-Converter device. Latest n2k-signalk (2.5.2+) and signalk-autopitot (v1.2.5+) plugin are required.
45
+
46
+ # V 1.2.3
47
+ * Fix bug in ng-Gauges initialization
48
+ * Don't error out on missing notification method
49
+ * Add some more help videos
50
+
51
+ # V1.2.2
52
+ * Option to make historical graphs vertical, thanks ahm4711!
53
+
54
+ # V1.2.1
55
+ * Fix bad base href in V1.2.0
56
+
57
+ # V1.2.0
58
+ ## Features
59
+ * Zones!!!
60
+ * Set zones in Settings, give range and state for that range.
61
+ * Warnings and alarms generated when in range.
62
+ * Radial / Linear Gauges show zones. Sets colors on gauge and red value on warn/alarm.
63
+ * Numeric widget alarming on Zones. Red text on warning, flashing red background on alarm.
64
+ * New Data Browser feature!
65
+ * Start of a Help section (still needs some more content, feel free to suggest ideas!)
66
+ * Enable/Disable different notification sounds in settings (normal/warning/alarm/etc)
67
+ * Added choice between numeric and cardinal ticks on compass (0,90,180,270 vs N,E,S,W)
68
+ * Allow paths that do not exist in path input.
69
+ * Added percent unit
70
+ * Optimize font size calculations by up to 50x on numeric widget
71
+ * Added a new color option on linear gauges (No Progress). Makes it just the needle, usefull for example rudder position
72
+
73
+ ## Bugfix/Other
74
+ * Refactor alarms/notification service.
75
+ * Fix blank config version
76
+ * Update Dependencies to latest (Angular 11)
77
+ * Fix full tree API parsing (might not work with very old server versions though...) (commit 30220f0)
78
+ * Fix various small typos / small bugs
79
+ * Position updates are in deg, but KIP expects rad. Convert deg to rad on incoming position data.
80
+ * Fix metadata parsing
81
+
82
+ # V1.1.2
83
+ * Don't save unlock status in config (not needed)
84
+ * Add hPA/mbar units
85
+ * Fix unit selection on historical widgets
86
+
87
+ # V1.1.1
88
+ * Fix base Href
89
+
90
+ # V1.1.0
91
+ * A lot of code cleanup!
92
+ * UI refresh/cleanup
93
+ * Updated dependencies to latest Angular/etc
94
+ * Path selection dropdown in Widget settings modal replaced with auto-complete. Also has path description if available
95
+ * Config has UUID to that instance (for identifying to server)
96
+ * Settings page has updates per second graph
97
+ * Start of support for metadata in widgets
98
+ * additional notifications settings
99
+ * fix Wind gauge wind sectors theming
100
+ * Widget select modal refactor into groups
101
+
102
+ ### V1.0.3
103
+ * updated navbar styling
104
+ * Theme work/cleanup
105
+ * Work on ng gauges
106
+
107
+ ### V1.0.2
108
+ * Tooltip for long messages, and hide badge when 0 unacked alarms
109
+
110
+ ### V1.0.1
111
+ * Respect methods for alarms!
112
+
113
+ # V1.0.0
114
+ * add ngcanvasgauges and new modern theme (thanks godind!)
115
+ * new Theme change event allowing widgets to subscribe to theme changes (thanks godind!)
116
+ * Historical Graph color change on theme update
117
+ * Update WidgetString to use canvas like numeric widget for dynamic font size
118
+ * Latitude/Longitude Unit format
119
+ * Load / Save config from server!
120
+ * Notifications service for application status (snackbar)
121
+ * Deleting the last widget in a page deletes the page!
122
+ * Signal K Notifications in menubar!
123
+
124
+ ### V0.1.12
125
+ * iFrame to embed something in kip
126
+ * Unit defaults!
127
+
128
+ ### V0.1.11
129
+ * Performance fixes for large numeric widgets
130
+ * Bugfixes
131
+
132
+ ### V0.1.10
133
+ * Numeric Min/Max
134
+
135
+
136
+ ### V0.1.9
137
+ * Updated NPM dependencies
138
+ * Show connection lost overlay on closed websocket connection
139
+ * Only resize Steelseries Gauges once a second (helps in resizing)
140
+ * Add Frequency Units
141
+ * Put Support! On/Off and Momentary support on boolean state
142
+ * Request R/W token from Signal K Server
143
+
144
+ ### V0.1.8
145
+ * Fix bug related to source parsing in deltas
146
+
147
+ ### V0.1.7
148
+ Note, Any configs stored in browser will be lost as config format has changed.
149
+ * Performance gain in Numeric widget in large fonts
150
+ * Sailgauge updates (laylines, windsectors, general refactor)
151
+ * Simplified source selection in the code
152
+ * Removed Derived Data
153
+ * Added Percentage unit, and stopped showing "no unit" on numeric
154
+ * Updated Angular from v4 to v5 and also all dependencies to latest version
155
+ * Complete re-write of widget settings modal for future ease of coding
156
+ * Complete re-write of unit conversion service. Now if metadata specifies unit, it only offers you compatible units
157
+ * Gauge Background and frame color options!
158
+ * new Signal K Theme
159
+
160
+ ### V0.1.6
161
+ * Hash based routing
162
+ * Start of Boolean state widget
163
+ * default to /signalk in url
164
+
165
+ ### V0.1.5
166
+ * fix select dialogs (missing mat-form-field)
167
+
168
+ ### V0.1.4
169
+ * Fix typo in settings page
170
+
171
+ ### V0.1.1
172
+ * Tutorial Widget
173
+ * fix new page bug (had to reload to access it)
174
+
175
+ ### V0.1
176
+ * Derived Data - true wind and dow
177
+ * Sailgauge (True wind)
178
+ * Demo default config
179
+ * Load/Save Config
180
+ * Get a few themes going, theme wind gauge
package/CONTRIBUTORS.md CHANGED
@@ -1,16 +1,16 @@
1
- KIP contributors (sorted alphabetically)
2
- ============================================
3
-
4
- * **[ahm4711](https://github.com/ahm4711)**
5
- * Vertical historical graphs
6
-
7
- * **[David Godin](https://github.com/godind)**
8
-
9
- * Integration of Canvas-Gauges
10
- * A lot of UI polishing and code cleanup
11
- * Additional Customization of gauges
12
- * Metadata/Zones work
13
-
14
- * **[Thomas St-Pierre](https://github.com/mxtommy)**
15
-
16
- * Original Author and maintainer
1
+ KIP contributors (sorted alphabetically)
2
+ ============================================
3
+
4
+ * **[ahm4711](https://github.com/ahm4711)**
5
+ * Vertical historical graphs
6
+
7
+ * **[David Godin](https://github.com/godind)**
8
+
9
+ * Performance improvements
10
+ * Code and framework refactoring
11
+ * UI polishing, code documentation
12
+ * Additional Widgets
13
+
14
+ * **[Thomas St-Pierre](https://github.com/mxtommy)**
15
+
16
+ * Original Author and maintainer
Binary file
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2023 mxtommy
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,102 +1,140 @@
1
- # Kip
2
-
3
- This is a marine instrumentation package to display signalK data. Display can be split up in any arrangement to show any kind data available on the server.
4
-
5
- # Design Goal
6
-
7
- The idea is to replicate the functionality of your average MFD such as the B&G Triton, Raymarine i70, or Garmin GMI20.
8
- - Display should be fullscreen and not require any scrolling
9
- - Anything displayed should be as big as possible in the given space
10
- - Touchscreen user experience should be excellent
11
- - Layout and configuration should be both easy to operate and flexible
12
- - Compatibility with Chromium browser and other device form factor important (**HELP WANTED)
13
-
14
- # Features
15
- ## User Experience
16
- ### Built-in Theme Sample
17
- Request a theme and send us inspirational/reference material (web sites, picture, etc.). If we fall in love, we will do it. Even better, branch and contribute. We will assist and guide!
18
-
19
- Modern Dark Theme
20
- ![Modern Dark Theme](./KipSample-1-1024x488.png)
21
-
22
- SignalK Inspired Theme
23
- ![SignalK Inspired Theme](./KipSample-2-1024x488.png)
24
-
25
- Light Blue Theme
26
- ![Light Blue Theme](./KipSample-3-1024x488.png)
27
-
28
- ### Accessible Night Mode
29
- Keep your night vision with a quick Night Mode access button, regardless of the selected theme. The below image looks very dark, but at night...it's perfect!
30
-
31
- ![Light Blue Theme](./KipNightMode-1024x488.png)
32
-
33
-
34
- ## Gauge Layout and Configuration
35
- ### Flexible and Easy
36
- Built purposeful screen(s) with however many gauges you want, where you want them.
37
-
38
- Split or delete gauge zones, resize and position, then simply add the gauge of your choosing. Add as many pages as you whish to keep screens purposeful.
39
- ![Layouts Configuration Image](./KipWidgetConfig-layout-1024x488.png)
40
-
41
- Easy basic gauge config.
42
- ![Gauges Configuration Image](./KipConfig-display-1024x488.png)
43
-
44
- See what SignalK has to offer that you can leverage in a gauge. Select it and tweak the display options for your purpose.
45
- ![Paths Configuration Image](./KipWidgetConfig-paths-1024x488.png)
46
-
47
- Many units are supported. Choose your prefered App defaults, than tweak it gauge by gauge as necessary. Kip will convert the displayed units for you.
48
- ![Units Configuration Image](./KipConfig-Units-1024x488.png)
49
-
50
- ### Reusable Gauge Library
51
- Get the latest version of Kip to see what's new!
52
-
53
- Sample gauge types
54
- ![Sample Gauges Image](./KipGaugeSample-1-1024x545.png)
55
-
56
- Electrical and Tank monitoring sample
57
- ![Electrical Concept Image](./KipMonitor-1024x488.png)
58
-
59
- # Developing
60
-
61
- Kip is built on Angular using various open-source assets. All free!
62
-
63
- **Tools**
64
-
65
- Linux, Macs, Pi or Windows dev platform supported
66
- 1. Install the latest Node version
67
- 2. Download you favorite coding IDE (we use the free Visual Code)
68
- 3. Create your own GitHub Kip fork and configure your IDE source control to point to this Fork (With Visual Code, GitHub support is built-in)
69
-
70
- **Setup**
71
- 1. Create a GitHub Branch of your own Kip Fork
72
- 2. Checkout this new Branch to get the source code locally.
73
- 3. In a command shell (or in the Visual Code Terminal window), go to the root of you local project folder.
74
- 4. Install project dependencies using NPM package and dependency manager: run `npm install`. NPM will read local Kip project dependencies (see Steps 2), download and install everything automatically for you.
75
- 5. Build the app locally using Angular-CLI: from that same project root folder, run `ng build`. CLI tool will read local Kip project configuration (see Tools - steps 4) and build everything.
76
-
77
- **Work**
78
- 1. Fire up your local dev instance with CLI using `ng serve`.
79
- 2. Point your favorite browser to `http://localhost:4200/` and voila!
80
-
81
- *As you work on source code and save files, the app will automatically reload in the browser with your latest changes.*
82
-
83
- **Publish**
84
- 1. From your Fork's working Branch, make a GitHub pull request to have your code reviewed, merged and part of the next release.
85
-
86
- Or
87
-
88
- 2. Build your own version:
89
- 1. Use the `-prod` flag for a production build.
90
- 2. To generate a npm package, run `npm run-script build-npm`.
91
- 3. Warning: Git Bash seems to mess up Base Href, fix it in public/index.html if needed
92
- 4. Deploy and have fun!
93
-
94
- **Collaborate**
95
- Join us on Slack -> SignalK-dev / Apps_and_client channel. We will hook up and assist as best we can.
96
-
97
- # Feature Ideas
98
- * More Customization options for Historical Charts
99
- * Attitude Indicator
100
- * Sailing Polars with ChartJS Radar type chart?
101
- * More Customization options for radial/linear Gauges
102
- * Pre-created widgets for commonly used displays
1
+ # About KIP
2
+
3
+ KIP is powerfull marine instrumentation package to display Signal K data. KIP, much like modern expensive MFDs, is very flexible and can be split up in any arrangements and display all kinds of data available to Signal K server.
4
+
5
+ # Design Goal
6
+
7
+ The idea is to replicate the functionality of MFDs such as the B&G Triton, Raymarine i70, or Garmin GMI20.
8
+ - Display should be fullscreen and not require any scrolling
9
+ - Anything displayed should be as big as possible in the given space
10
+ - Touchscreen user experience should be excellent
11
+ - Layout and configuration should be both easy to operate and flexible
12
+ - Phones, tablets, computers and other device and form factors should render well
13
+ - Include support for latest Chromium and other modern browsers
14
+
15
+ # Features
16
+ ## Access from Phones, Tablets, Raspberry Pi and Computers
17
+ Simply navigate to `http://<Signal K Server URL>:<Signal K Server port>/@mxtommy/kip` to load KIP and enjoy it's features remotly on any device.
18
+
19
+ ## Multiple User Profiles
20
+ If you have different roles on board; captiain, skipper, tacticien, navigator, engineers or simply different people with diffenrent needs, each can tailor as they wish. The use of profiles can also offers the ability to tie specific configuration arrangements to usecase or form factors.
21
+
22
+ ## User Experience
23
+ ### Built-in Themes
24
+ Use your favorite style from the built-in themes gallery.
25
+
26
+ Modern Dark Theme
27
+ ![Modern Dark Theme](./KipSample-1-1024x488.png)
28
+
29
+ Signal K Inspired Theme
30
+ ![Signal K Inspired Theme](./KipSample-2-1024x488.png)
31
+
32
+ Light Blue Theme
33
+ ![Light Blue Theme](./KipSample-3-1024x488.png)
34
+
35
+ NOTE: Request a new theme by sending us inspirational/reference material (web sites, picture, etc.).
36
+ If we fall in love, we will do it. Even better, branch and contribute yourself. We will assist and guide!
37
+
38
+ ### Night Mode
39
+ Keep your night vision woth a simple tab, regardless of the selected theme. The below image looks very dark, but at night...it's perfect!
40
+
41
+ ![Night mode](./KipNightMode-1024x488.png)
42
+
43
+
44
+ ## Gauge Layout and Configuration
45
+ ### Flexible and Easy
46
+ Meant to build purposeful screen(s) with however many gauges or widgets you want, where you want them.
47
+
48
+ Quickly devide the screen area into zones, resize and position, add the gauge of your choosing. Need more? Add as many additionnal pages as you whish to keep screens purposeful. Simply tap the buttom navigation keys to quickly rotate from page to page.
49
+ ![Layouts Configuration Image](./KipWidgetConfig-layout-1024x488.png)
50
+
51
+ Easy basic gauge and widget configuratio.
52
+ ![Gauges Configuration Image](./KipConfig-display-1024x488.png)
53
+
54
+ See what Signal K has to offer that you can leverage in a gauge. Select it and tweak the display options for your purpose.
55
+ ![Paths Configuration Image](./KipWidgetConfig-paths-1024x488.png)
56
+
57
+ Many units are supported. Choose your prefered App defaults, than tweak it gauge-by-gauge as necessary. KIP will convert the displayed units for you.
58
+ ![Units Configuration Image](./KipConfig-Units-1024x488.png)
59
+
60
+ ### Reusable Gauge and Widget Library
61
+ All KIP Gauges and Widgets are visual presentation controls that are very versatile with multiple configuration options available to suit your needs:
62
+ - Text display: Create gauges to display any textual data sent by your system - MPPT state, Timezone date and time, Next Waypoint, Fusion radio song information, noon and sun phases, any system components configuration detail or statues available, etc.
63
+ - Numeric display: Create gauges to display any numerical data sent by your system - SOG, Depth, Winds Speed, VMG, refrigerator temperature, weather data, etc.
64
+ - Wind gauge: Your typical sailboat wind gauge
65
+ - Autopilot: Operate your autopilot from any device remotely
66
+ - Linear gauge: Visually display any numerical data on a vertically or horizontally scale - Tank and reservoir levels, battery remaining capacity, etc.
67
+ - Linear electrical gauge: A visual display for electrical numerical data - chargers, MPPT, shunt, etc.
68
+ - Radial gauge: Visually display any numerical data on a radial scale - heading, compass, Speed, etc.
69
+ - Radial and linear Steel gauge: Old school look & fell gauges
70
+ - Button and Switch control: Operate remote devices - light switches, bildge pump, solenoid, any Signal K device that support boolean PUT operations
71
+ - Date display: a timezone aware control with flexible presentation formating support
72
+ - Race Timer: Track regatta start sequence
73
+ - Historical datagram chart: Display numerical data over time on a chart
74
+ - Embedded Webpage: A powerful way of integrating any web based content or application within with your KIP layout - Grafana dashboards, Node-RED dashboard, internet weather services, Youtube, Netflix, Twitter, Gmail, your own standalone webapp, you name it!
75
+
76
+ Get the latest version of KIP to see what's new!
77
+
78
+ Gauge types sample
79
+ ![Sample Gauges Image](./KipGaugeSample1-1024x545.png)
80
+
81
+ Electrical and Tank monitoring sample
82
+ ![Electrical Concept Image](./KipGaugeSample2-1024x488.png)
83
+
84
+ Grafana Embedded Webpage sample
85
+ ![Embedded Webpage Concept Image](./KipGaugeSample3-1024x508.png)
86
+
87
+
88
+ # Developing
89
+
90
+ KIP is built on Angular using various open-source assets. All free!
91
+
92
+ **Tools**
93
+
94
+ Linux, Macs, Pi or Windows dev platform supported
95
+ 1. Install the latest Node version (v16+)
96
+ 2. Download your favorite coding IDE (we use the free Visual Code)
97
+ 3. Create your own GitHub KIP fork.
98
+ 4. Configure your IDE's source control to point to this fork (With Visual Code, GitHub support is built-in) and get the latest Master branch locally.
99
+
100
+ **Setup**
101
+ 1. From your fork's Master branch, create working branch with a name such as: New-Widget-abc or fix-issue-abc, etc.
102
+ 2. Checkout this new Branch to get the source code locally.
103
+ 3. In a command shell (or in the Visual Code Terminal window), go to the root of you local project folder.
104
+ 4. Install project dependencies using NPM package and dependency manager: run `npm install`. NPM will read local Kip project dependencies (see Steps 2), download and install everything automatically for you.
105
+ 5. Build the app locally using Angular-CLI: from that same project root folder, run `ng build`. CLI tool will read local Kip project configuration and set the base href(see Tools - steps 4) and build everything.
106
+
107
+ **Work**
108
+ 1. Fire up your local dev instance with CLI using `ng serve --configuration=dev --serve-path=/` to enable the debugger map file loading.
109
+ 2. Hit Run/Start Debugging in Visual Code or point your favorite browser to `http://localhost:4200/`
110
+ 3. Voila! You can build, test and fix.
111
+
112
+ *As you work on source code and save files, the app will automatically reload in the browser with your latest changes.*
113
+
114
+ **Publish**
115
+ 1. Once done with your work, from your fork's working branch, make a GitHub pull request to have your code reviewed, merged and part of the next release.
116
+
117
+ Or
118
+
119
+ 2. Build your own production version:
120
+ 1. Build: In a terminal from you project folder, use `ng build --configuration=production` to generate a production build.
121
+ 2. Have fun!
122
+
123
+ **Communication and Collaboration**
124
+ Join us on Slack -> Signalk-dev / Apps_and_client channel. We will hook up and assist as best we can.
125
+
126
+ # Feature Ideas
127
+ * AIS Widget - Help Wanted
128
+ * Light indicator Widget for Boolean paths
129
+ * Fuel Consumption Widget
130
+ * GPS information Widget - Help Wanted
131
+ * Improved Metadata configuration
132
+ * Improved Zones support
133
+ * Add a KIP Widget CLI Schematic to automate new Widget creation and improve contribution
134
+ * Improved error logging / performance gain
135
+ * Retire outdated Steelgauges
136
+ * Rebuild alerting to new Signal K Specifications
137
+ * Attitude Indicator Widget - Help Wanted
138
+ * Sailing Polars Widget - Help Wanted
139
+ * More Customization options for radial/linear Gauges
140
+ * Pre-created Widgets for commonly used displays