@mxtommy/kip 1.3.0 → 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 (273) hide show
  1. package/CHANGELOG.md +38 -3
  2. package/CONTRIBUTORS.md +4 -4
  3. package/KipGaugeSample3-1024x508.png +0 -0
  4. package/LICENSE +21 -0
  5. package/README.md +80 -42
  6. package/package.json +52 -46
  7. package/public/3rdpartylicenses.txt +61 -412
  8. package/public/assets/NoSleep.min.js +2 -2
  9. package/public/assets/icon-64x64.png +0 -0
  10. package/public/index.html +3 -3
  11. package/public/main.9dba30de44eed02b.js +1 -0
  12. package/public/manifest.json +9 -4
  13. package/public/polyfills.d1da7d2e907c253a.js +1 -0
  14. package/public/runtime.e75056c32c37f59d.js +1 -0
  15. package/public/styles.6b1c2c92be18a2cc.css +1 -0
  16. package/.angulardoc.json +0 -4
  17. package/angular.json +0 -162
  18. package/e2e/app.e2e-spec.ts +0 -14
  19. package/e2e/app.po.ts +0 -11
  20. package/e2e/tsconfig.e2e.json +0 -14
  21. package/karma.conf.js +0 -31
  22. package/public/main-es2018.98175eb4c61ccaf7eb17.js +0 -1
  23. package/public/main-es5.98175eb4c61ccaf7eb17.js +0 -1
  24. package/public/polyfills-es2018.3a61665863c173cd6ba3.js +0 -1
  25. package/public/polyfills-es5.44827ae4ff4e41de51fb.js +0 -1
  26. package/public/runtime-es2018.baedb88c6d2abacae2b8.js +0 -1
  27. package/public/runtime-es5.baedb88c6d2abacae2b8.js +0 -1
  28. package/public/styles.b92ae2c466c89712209d.css +0 -5
  29. package/src/app/alarm-menu/alarm-menu.component.html +0 -55
  30. package/src/app/alarm-menu/alarm-menu.component.scss +0 -52
  31. package/src/app/alarm-menu/alarm-menu.component.spec.ts +0 -25
  32. package/src/app/alarm-menu/alarm-menu.component.ts +0 -186
  33. package/src/app/app-help/app-help.component.css +0 -4
  34. package/src/app/app-help/app-help.component.html +0 -135
  35. package/src/app/app-help/app-help.component.ts +0 -45
  36. package/src/app/app-settings.service.spec.ts +0 -15
  37. package/src/app/app-settings.service.ts +0 -478
  38. package/src/app/app.component.css +0 -39
  39. package/src/app/app.component.html +0 -93
  40. package/src/app/app.component.scss +0 -79
  41. package/src/app/app.component.spec.ts +0 -32
  42. package/src/app/app.component.ts +0 -191
  43. package/src/app/app.module.ts +0 -200
  44. package/src/app/config.blank.const.ts +0 -52
  45. package/src/app/config.blank.notification.const.ts +0 -19
  46. package/src/app/config.blank.units.const.ts +0 -23
  47. package/src/app/config.demo.const.ts +0 -384
  48. package/src/app/data-browser/data-browser.component.css +0 -29
  49. package/src/app/data-browser/data-browser.component.html +0 -44
  50. package/src/app/data-browser/data-browser.component.spec.ts +0 -25
  51. package/src/app/data-browser/data-browser.component.ts +0 -91
  52. package/src/app/data-browser-row/data-browser-row-unit-modal.html +0 -17
  53. package/src/app/data-browser-row/data-browser-row.component.css +0 -10
  54. package/src/app/data-browser-row/data-browser-row.component.html +0 -5
  55. package/src/app/data-browser-row/data-browser-row.component.ts +0 -79
  56. package/src/app/data-set.service.spec.ts +0 -15
  57. package/src/app/data-set.service.ts +0 -273
  58. package/src/app/dynamic-widget.directive.spec.ts +0 -8
  59. package/src/app/dynamic-widget.directive.ts +0 -11
  60. package/src/app/filter-self.pipe.spec.ts +0 -8
  61. package/src/app/filter-self.pipe.ts +0 -14
  62. package/src/app/fit-text.directive.spec.ts +0 -8
  63. package/src/app/fit-text.directive.ts +0 -61
  64. package/src/app/gauge-steel/gauge-steel.component.css +0 -5
  65. package/src/app/gauge-steel/gauge-steel.component.html +0 -4
  66. package/src/app/gauge-steel/gauge-steel.component.spec.ts +0 -25
  67. package/src/app/gauge-steel/gauge-steel.component.ts +0 -282
  68. package/src/app/gauges-module/base-gauge.ts +0 -301
  69. package/src/app/gauges-module/gauges.module.ts +0 -17
  70. package/src/app/gauges-module/linear-gauge.ts +0 -50
  71. package/src/app/gauges-module/radial-gauge.ts +0 -48
  72. package/src/app/layout-split/layout-split.component.html +0 -30
  73. package/src/app/layout-split/layout-split.component.scss +0 -33
  74. package/src/app/layout-split/layout-split.component.spec.ts +0 -25
  75. package/src/app/layout-split/layout-split.component.ts +0 -59
  76. package/src/app/layout-splits.service.spec.ts +0 -15
  77. package/src/app/layout-splits.service.ts +0 -284
  78. package/src/app/modal-path-selector/modal-path-selector.component.html +0 -62
  79. package/src/app/modal-path-selector/modal-path-selector.component.scss +0 -39
  80. package/src/app/modal-path-selector/modal-path-selector.component.spec.ts +0 -25
  81. package/src/app/modal-path-selector/modal-path-selector.component.ts +0 -132
  82. package/src/app/modal-widget/modal-widget.component.css +0 -33
  83. package/src/app/modal-widget/modal-widget.component.html +0 -341
  84. package/src/app/modal-widget/modal-widget.component.spec.ts +0 -25
  85. package/src/app/modal-widget/modal-widget.component.ts +0 -84
  86. package/src/app/notifications.service.spec.ts +0 -12
  87. package/src/app/notifications.service.ts +0 -392
  88. package/src/app/object-keys.pipe.spec.ts +0 -8
  89. package/src/app/object-keys.pipe.ts +0 -13
  90. package/src/app/reset-config/reset-config.component.css +0 -0
  91. package/src/app/reset-config/reset-config.component.html +0 -3
  92. package/src/app/reset-config/reset-config.component.spec.ts +0 -25
  93. package/src/app/reset-config/reset-config.component.ts +0 -31
  94. package/src/app/root-display/root-display.component.css +0 -0
  95. package/src/app/root-display/root-display.component.html +0 -4
  96. package/src/app/root-display/root-display.component.spec.ts +0 -25
  97. package/src/app/root-display/root-display.component.ts +0 -57
  98. package/src/app/safe.pipe.ts +0 -16
  99. package/src/app/settings/settings.component.css +0 -9
  100. package/src/app/settings/settings.component.html +0 -25
  101. package/src/app/settings/settings.component.spec.ts +0 -25
  102. package/src/app/settings/settings.component.ts +0 -22
  103. package/src/app/settings-config/settings-config.component.css +0 -39
  104. package/src/app/settings-config/settings-config.component.html +0 -118
  105. package/src/app/settings-config/settings-config.component.spec.ts +0 -25
  106. package/src/app/settings-config/settings-config.component.ts +0 -161
  107. package/src/app/settings-datasets/settings-datasets.component.html +0 -43
  108. package/src/app/settings-datasets/settings-datasets.component.scss +0 -39
  109. package/src/app/settings-datasets/settings-datasets.component.spec.ts +0 -25
  110. package/src/app/settings-datasets/settings-datasets.component.ts +0 -98
  111. package/src/app/settings-datasets/settings-datasets.modal.html +0 -54
  112. package/src/app/settings-notifications/settings-notifications.component.css +0 -0
  113. package/src/app/settings-notifications/settings-notifications.component.html +0 -65
  114. package/src/app/settings-notifications/settings-notifications.component.spec.ts +0 -25
  115. package/src/app/settings-notifications/settings-notifications.component.ts +0 -29
  116. package/src/app/settings-signalk/settings-signalk.component.css +0 -3
  117. package/src/app/settings-signalk/settings-signalk.component.html +0 -89
  118. package/src/app/settings-signalk/settings-signalk.component.spec.ts +0 -25
  119. package/src/app/settings-signalk/settings-signalk.component.ts +0 -174
  120. package/src/app/settings-units/settings-units.component.css +0 -4
  121. package/src/app/settings-units/settings-units.component.html +0 -19
  122. package/src/app/settings-units/settings-units.component.spec.ts +0 -25
  123. package/src/app/settings-units/settings-units.component.ts +0 -62
  124. package/src/app/settings-zones/settings-zones.component.css +0 -22
  125. package/src/app/settings-zones/settings-zones.component.html +0 -70
  126. package/src/app/settings-zones/settings-zones.component.ts +0 -154
  127. package/src/app/settings-zones/settings-zones.modal.css +0 -14
  128. package/src/app/settings-zones/settings-zones.modal.html +0 -39
  129. package/src/app/signalk-connection.service.ts +0 -344
  130. package/src/app/signalk-delta.service.spec.ts +0 -15
  131. package/src/app/signalk-delta.service.ts +0 -97
  132. package/src/app/signalk-full.service.spec.ts +0 -15
  133. package/src/app/signalk-full.service.ts +0 -99
  134. package/src/app/signalk-interfaces.ts +0 -129
  135. package/src/app/signalk-requests.service.spec.ts +0 -12
  136. package/src/app/signalk-requests.service.ts +0 -180
  137. package/src/app/signalk.service.spec.ts +0 -15
  138. package/src/app/signalk.service.ts +0 -428
  139. package/src/app/svg-autopilot/svg-autopilot.component.html +0 -1036
  140. package/src/app/svg-autopilot/svg-autopilot.component.spec.ts +0 -25
  141. package/src/app/svg-autopilot/svg-autopilot.component.ts +0 -174
  142. package/src/app/svg-simple-linear-gauge/svg-simple-linear-gauge.component.html +0 -119
  143. package/src/app/svg-simple-linear-gauge/svg-simple-linear-gauge.component.scss +0 -0
  144. package/src/app/svg-simple-linear-gauge/svg-simple-linear-gauge.component.spec.ts +0 -25
  145. package/src/app/svg-simple-linear-gauge/svg-simple-linear-gauge.component.ts +0 -49
  146. package/src/app/svg-wind/svg-wind.component.css +0 -0
  147. package/src/app/svg-wind/svg-wind.component.html +0 -969
  148. package/src/app/svg-wind/svg-wind.component.scss +0 -76
  149. package/src/app/svg-wind/svg-wind.component.spec.ts +0 -25
  150. package/src/app/svg-wind/svg-wind.component.ts +0 -280
  151. package/src/app/unit-window/unit-window.component.css +0 -37
  152. package/src/app/unit-window/unit-window.component.html +0 -8
  153. package/src/app/unit-window/unit-window.component.spec.ts +0 -25
  154. package/src/app/unit-window/unit-window.component.ts +0 -134
  155. package/src/app/unit-window/unit-window.modal.html +0 -25
  156. package/src/app/units.service.ts +0 -300
  157. package/src/app/widget-autopilot/widget-autopilot.component.html +0 -78
  158. package/src/app/widget-autopilot/widget-autopilot.component.scss +0 -191
  159. package/src/app/widget-autopilot/widget-autopilot.component.spec.ts +0 -25
  160. package/src/app/widget-autopilot/widget-autopilot.component.ts +0 -774
  161. package/src/app/widget-blank/widget-blank.component.html +0 -5
  162. package/src/app/widget-blank/widget-blank.component.scss +0 -21
  163. package/src/app/widget-blank/widget-blank.component.spec.ts +0 -25
  164. package/src/app/widget-blank/widget-blank.component.ts +0 -17
  165. package/src/app/widget-gauge/widget-gauge.component.css +0 -26
  166. package/src/app/widget-gauge/widget-gauge.component.html +0 -29
  167. package/src/app/widget-gauge/widget-gauge.component.spec.ts +0 -25
  168. package/src/app/widget-gauge/widget-gauge.component.ts +0 -120
  169. package/src/app/widget-gauge-ng-linear/widget-gauge-ng-linear.component.html +0 -126
  170. package/src/app/widget-gauge-ng-linear/widget-gauge-ng-linear.component.scss +0 -94
  171. package/src/app/widget-gauge-ng-linear/widget-gauge-ng-linear.component.spec.ts +0 -25
  172. package/src/app/widget-gauge-ng-linear/widget-gauge-ng-linear.component.ts +0 -424
  173. package/src/app/widget-gauge-ng-radial/widget-gauge-ng-radial.component.html +0 -122
  174. package/src/app/widget-gauge-ng-radial/widget-gauge-ng-radial.component.scss +0 -69
  175. package/src/app/widget-gauge-ng-radial/widget-gauge-ng-radial.component.spec.ts +0 -25
  176. package/src/app/widget-gauge-ng-radial/widget-gauge-ng-radial.component.ts +0 -553
  177. package/src/app/widget-historical/widget-historical.component.css +0 -31
  178. package/src/app/widget-historical/widget-historical.component.html +0 -14
  179. package/src/app/widget-historical/widget-historical.component.scss +0 -0
  180. package/src/app/widget-historical/widget-historical.component.spec.ts +0 -25
  181. package/src/app/widget-historical/widget-historical.component.ts +0 -306
  182. package/src/app/widget-iframe/widget-iframe.component.css +0 -12
  183. package/src/app/widget-iframe/widget-iframe.component.html +0 -21
  184. package/src/app/widget-iframe/widget-iframe.component.spec.ts +0 -25
  185. package/src/app/widget-iframe/widget-iframe.component.ts +0 -63
  186. package/src/app/widget-list.service.spec.ts +0 -15
  187. package/src/app/widget-list.service.ts +0 -135
  188. package/src/app/widget-manager.service.spec.ts +0 -15
  189. package/src/app/widget-manager.service.ts +0 -141
  190. package/src/app/widget-numeric/widget-numeric.component.html +0 -13
  191. package/src/app/widget-numeric/widget-numeric.component.scss +0 -52
  192. package/src/app/widget-numeric/widget-numeric.component.spec.ts +0 -25
  193. package/src/app/widget-numeric/widget-numeric.component.ts +0 -457
  194. package/src/app/widget-simple-linear/widget-simple-linear.component.html +0 -28
  195. package/src/app/widget-simple-linear/widget-simple-linear.component.scss +0 -64
  196. package/src/app/widget-simple-linear/widget-simple-linear.component.spec.ts +0 -25
  197. package/src/app/widget-simple-linear/widget-simple-linear.component.ts +0 -199
  198. package/src/app/widget-state/widget-state.component.html +0 -27
  199. package/src/app/widget-state/widget-state.component.scss +0 -68
  200. package/src/app/widget-state/widget-state.component.spec.ts +0 -25
  201. package/src/app/widget-state/widget-state.component.ts +0 -178
  202. package/src/app/widget-switch/widget-switch.component.css +0 -70
  203. package/src/app/widget-switch/widget-switch.component.html +0 -17
  204. package/src/app/widget-switch/widget-switch.component.spec.ts +0 -25
  205. package/src/app/widget-switch/widget-switch.component.ts +0 -134
  206. package/src/app/widget-text-generic/widget-text-generic.component.css +0 -55
  207. package/src/app/widget-text-generic/widget-text-generic.component.html +0 -9
  208. package/src/app/widget-text-generic/widget-text-generic.component.spec.ts +0 -25
  209. package/src/app/widget-text-generic/widget-text-generic.component.ts +0 -253
  210. package/src/app/widget-tutorial/widget-tutorial.component.css +0 -0
  211. package/src/app/widget-tutorial/widget-tutorial.component.html +0 -34
  212. package/src/app/widget-tutorial/widget-tutorial.component.spec.ts +0 -25
  213. package/src/app/widget-tutorial/widget-tutorial.component.ts +0 -18
  214. package/src/app/widget-unknown/widget-unknown.component.css +0 -0
  215. package/src/app/widget-unknown/widget-unknown.component.html +0 -3
  216. package/src/app/widget-unknown/widget-unknown.component.spec.ts +0 -25
  217. package/src/app/widget-unknown/widget-unknown.component.ts +0 -15
  218. package/src/app/widget-wind/widget-wind.component.css +0 -24
  219. package/src/app/widget-wind/widget-wind.component.html +0 -20
  220. package/src/app/widget-wind/widget-wind.component.spec.ts +0 -25
  221. package/src/app/widget-wind/widget-wind.component.ts +0 -369
  222. package/src/assets/.gitkeep +0 -0
  223. package/src/assets/NoSleep.min.js +0 -2
  224. package/src/assets/alarm.mp3 +0 -0
  225. package/src/assets/alert.mp3 +0 -0
  226. package/src/assets/alertl.old.mp3 +0 -0
  227. package/src/assets/emergency.mp3 +0 -0
  228. package/src/assets/fontawesome6/css/all.min.css +0 -6
  229. package/src/assets/fontawesome6/webfonts/fa-brands-400.ttf +0 -0
  230. package/src/assets/fontawesome6/webfonts/fa-brands-400.woff2 +0 -0
  231. package/src/assets/fontawesome6/webfonts/fa-regular-400.ttf +0 -0
  232. package/src/assets/fontawesome6/webfonts/fa-regular-400.woff2 +0 -0
  233. package/src/assets/fontawesome6/webfonts/fa-solid-900.ttf +0 -0
  234. package/src/assets/fontawesome6/webfonts/fa-solid-900.woff2 +0 -0
  235. package/src/assets/fontawesome6/webfonts/fa-v4compatibility.ttf +0 -0
  236. package/src/assets/fontawesome6/webfonts/fa-v4compatibility.woff2 +0 -0
  237. package/src/assets/icon-192x192.png +0 -0
  238. package/src/assets/icon-256x256.png +0 -0
  239. package/src/assets/icon-384x384.png +0 -0
  240. package/src/assets/icon-512x512.png +0 -0
  241. package/src/assets/notification.mp3 +0 -0
  242. package/src/assets/steelseries-min.js +0 -25
  243. package/src/assets/steelseries-min.js.map +0 -8
  244. package/src/assets/steelseries.js +0 -15834
  245. package/src/assets/svg-autopilot-inkscape-plain.svg +0 -983
  246. package/src/assets/svg-wind-inkscape.svg +0 -1358
  247. package/src/assets/tween-min.js +0 -1
  248. package/src/assets/tween.js +0 -381
  249. package/src/assets/warn.mp3 +0 -0
  250. package/src/environments/environment.prod.ts +0 -3
  251. package/src/environments/environment.ts +0 -8
  252. package/src/favicon.ico +0 -0
  253. package/src/index.html +0 -20
  254. package/src/main.ts +0 -11
  255. package/src/manifest.json +0 -33
  256. package/src/polyfills.ts +0 -80
  257. package/src/styles.css +0 -47
  258. package/src/styles.scss +0 -157
  259. package/src/test.ts +0 -32
  260. package/src/themes/darkBlueTheme.scss +0 -117
  261. package/src/themes/defaultTheme.scss +0 -50
  262. package/src/themes/highContrastTheme.scss +0 -47
  263. package/src/themes/modernTheme.scss +0 -143
  264. package/src/themes/nightMode.scss +0 -185
  265. package/src/themes/platypusTheme.scss +0 -80
  266. package/src/themes/signalkTheme.scss +0 -112
  267. package/src/tsconfig.app.json +0 -15
  268. package/src/tsconfig.spec.json +0 -20
  269. package/src/typings.d.ts +0 -5
  270. package/tsconfig.json +0 -24
  271. package/tslint.json +0 -143
  272. /package/{KipGaugeSample-1-1024x545.png → KipGaugeSample1-1024x545.png} +0 -0
  273. /package/{KipMonitor-1024x488.png → KipGaugeSample2-1024x488.png} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,3 +1,38 @@
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
1
36
  # V 1.3.0
2
37
  * Platform update to Node 14, Angular and Angular Material 12
3
38
  * Upgrade to Awesomefont6 with new icon style classes update
@@ -84,7 +119,7 @@
84
119
  * Load / Save config from server!
85
120
  * Notifications service for application status (snackbar)
86
121
  * Deleting the last widget in a page deletes the page!
87
- * Signalk Notifications in menubar!
122
+ * Signal K Notifications in menubar!
88
123
 
89
124
  ### V0.1.12
90
125
  * iFrame to embed something in kip
@@ -101,10 +136,10 @@
101
136
  ### V0.1.9
102
137
  * Updated NPM dependencies
103
138
  * Show connection lost overlay on closed websocket connection
104
- * Only resize Steelseries Gauges max 1 a second (helps in resizing)
139
+ * Only resize Steelseries Gauges once a second (helps in resizing)
105
140
  * Add Frequency Units
106
141
  * Put Support! On/Off and Momentary support on boolean state
107
- * Request R/W token from SignalK Server
142
+ * Request R/W token from Signal K Server
108
143
 
109
144
  ### V0.1.8
110
145
  * Fix bug related to source parsing in deltas
package/CONTRIBUTORS.md CHANGED
@@ -6,10 +6,10 @@ KIP contributors (sorted alphabetically)
6
6
 
7
7
  * **[David Godin](https://github.com/godind)**
8
8
 
9
- * Integration of Canvas-Gauges
10
- * A lot of UI polishing and code cleanup
11
- * Additional Customization of gauges
12
- * Metadata/Zones work
9
+ * Performance improvements
10
+ * Code and framework refactoring
11
+ * UI polishing, code documentation
12
+ * Additional Widgets
13
13
 
14
14
  * **[Thomas St-Pierre](https://github.com/mxtommy)**
15
15
 
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
1
+ # About KIP
2
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.
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
4
 
5
5
  # Design Goal
6
6
 
7
- The idea is to replicate the functionality of your average MFD such as the B&G Triton, Raymarine i70, or Garmin GMI20.
7
+ The idea is to replicate the functionality of MFDs such as the B&G Triton, Raymarine i70, or Garmin GMI20.
8
8
  - Display should be fullscreen and not require any scrolling
9
9
  - Anything displayed should be as big as possible in the given space
10
10
  - Touchscreen user experience should be excellent
11
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)
12
+ - Phones, tablets, computers and other device and form factors should render well
13
+ - Include support for latest Chromium and other modern browsers
13
14
 
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
+
15
22
  ## 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!
23
+ ### Built-in Themes
24
+ Use your favorite style from the built-in themes gallery.
18
25
 
19
26
  Modern Dark Theme
20
27
  ![Modern Dark Theme](./KipSample-1-1024x488.png)
21
28
 
22
- SignalK Inspired Theme
23
- ![SignalK Inspired Theme](./KipSample-2-1024x488.png)
29
+ Signal K Inspired Theme
30
+ ![Signal K Inspired Theme](./KipSample-2-1024x488.png)
24
31
 
25
32
  Light Blue Theme
26
33
  ![Light Blue Theme](./KipSample-3-1024x488.png)
27
34
 
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!
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!
30
40
 
31
- ![Light Blue Theme](./KipNightMode-1024x488.png)
41
+ ![Night mode](./KipNightMode-1024x488.png)
32
42
 
33
43
 
34
44
  ## Gauge Layout and Configuration
35
45
  ### Flexible and Easy
36
- Built purposeful screen(s) with however many gauges you want, where you want them.
46
+ Meant to build purposeful screen(s) with however many gauges or widgets you want, where you want them.
37
47
 
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.
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.
39
49
  ![Layouts Configuration Image](./KipWidgetConfig-layout-1024x488.png)
40
50
 
41
- Easy basic gauge config.
51
+ Easy basic gauge and widget configuratio.
42
52
  ![Gauges Configuration Image](./KipConfig-display-1024x488.png)
43
53
 
44
- See what SignalK has to offer that you can leverage in a gauge. Select it and tweak the display options for your purpose.
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.
45
55
  ![Paths Configuration Image](./KipWidgetConfig-paths-1024x488.png)
46
56
 
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.
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.
48
58
  ![Units Configuration Image](./KipConfig-Units-1024x488.png)
49
59
 
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)
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)
55
80
 
56
81
  Electrical and Tank monitoring sample
57
- ![Electrical Concept Image](./KipMonitor-1024x488.png)
82
+ ![Electrical Concept Image](./KipGaugeSample2-1024x488.png)
83
+
84
+ Grafana Embedded Webpage sample
85
+ ![Embedded Webpage Concept Image](./KipGaugeSample3-1024x508.png)
86
+
58
87
 
59
88
  # Developing
60
89
 
61
- Kip is built on Angular using various open-source assets. All free!
90
+ KIP is built on Angular using various open-source assets. All free!
62
91
 
63
92
  **Tools**
64
93
 
65
94
  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)
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.
69
99
 
70
100
  **Setup**
71
- 1. Create a GitHub Branch of your own Kip Fork
101
+ 1. From your fork's Master branch, create working branch with a name such as: New-Widget-abc or fix-issue-abc, etc.
72
102
  2. Checkout this new Branch to get the source code locally.
73
103
  3. In a command shell (or in the Visual Code Terminal window), go to the root of you local project folder.
74
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.
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.
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.
76
106
 
77
107
  **Work**
78
- 1. Fire up your local dev instance with CLI using `ng serve --configuration=dev`.
79
- 2. Point your favorite browser to `http://localhost:4200/` and voila!
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.
80
111
 
81
112
  *As you work on source code and save files, the app will automatically reload in the browser with your latest changes.*
82
113
 
83
114
  **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.
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.
85
116
 
86
117
  Or
87
118
 
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!
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!
93
122
 
94
- **Collaborate**
95
- Join us on Slack -> SignalK-dev / Apps_and_client channel. We will hook up and assist as best we can.
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.
96
125
 
97
126
  # Feature Ideas
98
- * More Customization options for Historical Charts
99
- * Attitude Indicator
100
- * Sailing Polars with ChartJS Radar type chart?
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
101
139
  * More Customization options for radial/linear Gauges
102
- * Pre-created widgets for commonly used displays
140
+ * Pre-created Widgets for commonly used displays
package/package.json CHANGED
@@ -1,7 +1,16 @@
1
1
  {
2
2
  "name": "@mxtommy/kip",
3
- "version": "1.3.0",
3
+ "version": "2.0.0",
4
+ "description": "An advanced and verasatile marine instrumentation package to display Signal K data.",
4
5
  "license": "MIT",
6
+ "author": {"name": "Thomas St.Pierre", "email": "thomas@samoht.ca"},
7
+ "contributors": [{"name": "David Godin", "email": "godind@hotmail.com"}],
8
+ "homepage": "https://github.com/mxtommy/Kip",
9
+ "bugs": "https://github.com/mxtommy/Kip/issues",
10
+ "repository": {
11
+ "type": "git",
12
+ "url": "https://github.com/mxtommy/Kip"
13
+ },
5
14
  "keywords": [
6
15
  "signalk-webapp",
7
16
  "signalk-category-instruments",
@@ -12,76 +21,73 @@
12
21
  "marine",
13
22
  "nmea"
14
23
  ],
15
- "homepage": "https://github.com/mxtommy/Kip",
16
- "bugs": "https://github.com/mxtommy/Kip/issues",
17
- "author": "Thomas St.Pierre <thomas@samoht.ca>",
24
+ "signalk": {
25
+ "appIcon": "./assets/icon-64x64.png",
26
+ "displayName": "KIP Instrument MFD"
27
+ },
18
28
  "scripts": {
19
29
  "ng": "ng",
20
- "start": "ng serve --configuration=dev",
21
- "build": "ng build",
22
- "build-npm": "ng build --prod --base-href=/@mxtommy/kip/",
30
+ "start": "ng serve --configuration=dev --serve-path=/",
31
+ "build-dev": "ng build --configuration=dev --base-href=/@mxtommy/kip/",
32
+ "build-prod": "ng build --configuration=production --base-href=/@mxtommy/kip/",
23
33
  "test": "ng test",
24
34
  "lint": "ng lint",
25
35
  "e2e": "ng e2e"
26
36
  },
27
- "repository": {
28
- "type": "git",
29
- "url": "https://github.com/mxtommy/Kip"
30
- },
31
37
  "devDependencies": {
32
- "@angular-devkit/build-angular": "~12.2.16",
33
- "@angular/animations": "12.2.16",
34
- "@angular/cdk": "^12.2.13",
35
- "@angular/cli": "^12.2.16",
36
- "@angular/common": "12.2.16",
37
- "@angular/compiler": "12.2.16",
38
- "@angular/compiler-cli": "12.2.16",
39
- "@angular/core": "12.2.16",
40
- "@angular/forms": "12.2.16",
41
- "@angular/language-service": "12.2.16",
42
- "@angular/localize": "^12.2.16",
43
- "@angular/material": "^12.2.13",
44
- "@angular/platform-browser": "12.2.16",
45
- "@angular/platform-browser-dynamic": "12.2.16",
46
- "@angular/platform-server": "12.2.16",
47
- "@angular/router": "12.2.16",
38
+ "@angular-devkit/build-angular": "^14.2.13",
39
+ "@angular/cli": "^14.2.13",
40
+ "@angular/compiler-cli": "14.3.0",
41
+ "@angular/language-service": "14.3.0",
48
42
  "@types/canvas-gauges": "^2.1.2",
43
+ "@types/howler": "^2.2.10",
49
44
  "@types/jasmine": "~3.6.0",
50
45
  "@types/jasminewd2": "^2.0.9",
51
- "@types/node": "^14.17.1",
52
- "angular-resize-event": "^3.1.1",
53
- "angular-split": "^3.0.3",
54
- "canvas-gauges": "^2.1.7",
55
- "chart.js": "^3.5.1",
56
- "chartjs-adapter-moment": "^1.0.0",
46
+ "@types/js-quantities": "^1.6.4",
47
+ "@types/lodash-es": "^4.17.9",
48
+ "@types/node": "^20.8.6",
57
49
  "codelyzer": "^6.0.0",
58
- "compare-versions": "^3.6.0",
59
- "core-js": "^3.13.1",
60
- "hammerjs": "^2.0.8",
61
- "howler": "^2.2.1",
62
50
  "jasmine-core": "~4.0.1",
63
51
  "jasmine-spec-reporter": "~5.0.0",
64
- "js-quantities": "^1.7.6",
65
52
  "karma": "~6.3.17",
66
53
  "karma-chrome-launcher": "~3.1.0",
67
54
  "karma-cli": "~2.0.0",
68
55
  "karma-coverage-istanbul-reporter": "^3.0.3",
69
56
  "karma-jasmine": "~4.0.0",
70
57
  "karma-jasmine-html-reporter": "^1.6.0",
71
- "moment": "^2.29.1",
72
58
  "protractor": "~7.0.0",
73
- "rx-dom-html": "^7.0.3",
74
- "rxjs": "^6.6.7",
75
59
  "sass": "^1.49.9",
76
- "screenfull": "^5.1.0",
77
60
  "ts-node": "^8.10.2",
78
61
  "tslib": "^2.2.0",
79
62
  "tslint": "^6.1.3",
80
- "typescript": "^4.3.5",
81
- "zone.js": "~0.11.4"
63
+ "typescript": "^4.6.4"
82
64
  },
83
65
  "dependencies": {
84
- "@biacsics/ng-canvas-gauges": "^6.0.7",
85
- "util": "^0.12.4"
66
+ "@angular/compiler": "14.3.0",
67
+ "@angular/animations": "14.3.0",
68
+ "@angular/common": "14.3.0",
69
+ "@angular/cdk": "^14.2.7",
70
+ "@angular/core": "14.3.0",
71
+ "@angular/forms": "14.3.0",
72
+ "@angular/platform-browser": "14.3.0",
73
+ "@angular/platform-browser-dynamic": "14.3.0",
74
+ "@angular/router": "14.3.0",
75
+ "@angular/material": "^14.2.7",
76
+ "rxjs": "^7.5.7",
77
+ "rx-dom-html": "^7.0.3",
78
+ "zone.js": "~0.11.4",
79
+ "core-js": "^3.13.1",
80
+ "screenfull": "^6.0.2",
81
+ "hammerjs": "^2.0.8",
82
+ "howler": "^2.2.4",
83
+ "compare-versions": "^5.0.1",
84
+ "angular-resize-event": "^3.2.0",
85
+ "angular-split": "^14.1.0",
86
+ "canvas-gauges": "^2.1.7",
87
+ "chart.js": "^3.5.1",
88
+ "chartjs-adapter-date-fns": "^3.0.0",
89
+ "date-fns": "^2.30.0",
90
+ "js-quantities": "^1.8.0",
91
+ "lodash-es": "^4.17.21"
86
92
  }
87
93
  }