@mxtommy/kip 4.1.0-beta.1 → 4.1.0-beta.10

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 (529) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/package.json +24 -25
  3. package/plugin/index.js +7 -7
  4. package/plugin/openApi.json +103 -9
  5. package/public/3rdpartylicenses.txt +35 -71
  6. package/public/assets/help-docs/chartplotter.md +2 -0
  7. package/public/assets/help-docs/img/splitdeviderhandle.png +0 -0
  8. package/public/chunk-2RAYS3TY.js +4 -0
  9. package/public/chunk-6EM76KAH.js +6 -0
  10. package/public/{chunk-AQ66AGUC.js → chunk-6GBFOSQS.js} +1 -1
  11. package/public/chunk-733F7PXN.js +1 -0
  12. package/public/chunk-BEYO4UE4.js +63 -0
  13. package/public/chunk-C6VANIFR.js +1 -0
  14. package/public/chunk-HSI6NAGQ.js +9 -0
  15. package/public/chunk-IWF4GFLI.js +2 -0
  16. package/public/{chunk-UDAYIL7R.js → chunk-IXBZB4KE.js} +1 -1
  17. package/public/{chunk-D3OVXRDS.js → chunk-JH34I3XB.js} +1 -1
  18. package/public/chunk-KERDEDSC.js +15 -0
  19. package/public/chunk-L5LQP4DC.js +52 -0
  20. package/public/chunk-LIZUWHB5.js +5 -0
  21. package/public/chunk-LTN5IH7B.js +1 -0
  22. package/public/{chunk-RVSQUIEX.js → chunk-MEDT66DA.js} +5 -5
  23. package/public/chunk-NTB3EZKJ.js +4 -0
  24. package/public/chunk-O6S5P5U5.js +1 -0
  25. package/public/chunk-OEVWXT6J.js +3 -0
  26. package/public/chunk-Q4WCOIVL.js +1 -0
  27. package/public/{chunk-MKKQCG3C.js → chunk-UUH3BRLK.js} +2 -2
  28. package/public/chunk-V2BXYURY.js +8 -0
  29. package/public/chunk-VAPM652H.js +2 -0
  30. package/public/chunk-W2T7DKWR.js +4 -0
  31. package/public/chunk-WGYHQ7HF.js +2 -0
  32. package/public/index.html +1 -1
  33. package/public/main-7VFHL2MQ.js +5 -0
  34. package/public/polyfills-GNK4EEYZ.js +2 -0
  35. package/public/{scripts-7HSGK5LZ.js → scripts-M6PHZBML.js} +1 -1
  36. package/dist/out-tsc/kip-plugin/src/index.js +0 -223
  37. package/dist/out-tsc/kip-plugin/src/index.js.map +0 -1
  38. package/dist/out-tsc/kip-plugin/src/openApi.json +0 -367
  39. package/dist/out-tsc/package.json +0 -118
  40. package/dist/out-tsc/schematics/widget/index.js +0 -70
  41. package/dist/out-tsc/schematics/widget/index.js.map +0 -1
  42. package/dist/out-tsc/src/app/app.component.js +0 -286
  43. package/dist/out-tsc/src/app/app.component.js.map +0 -1
  44. package/dist/out-tsc/src/app/app.component.spec.js +0 -26
  45. package/dist/out-tsc/src/app/app.component.spec.js.map +0 -1
  46. package/dist/out-tsc/src/app/app.routes.js +0 -35
  47. package/dist/out-tsc/src/app/app.routes.js.map +0 -1
  48. package/dist/out-tsc/src/app/core/components/app-help/app-help.component.js +0 -60
  49. package/dist/out-tsc/src/app/core/components/app-help/app-help.component.js.map +0 -1
  50. package/dist/out-tsc/src/app/core/components/app-help/app-help.component.spec.js +0 -150
  51. package/dist/out-tsc/src/app/core/components/app-help/app-help.component.spec.js.map +0 -1
  52. package/dist/out-tsc/src/app/core/components/dashboard/dashboard.component.js +0 -361
  53. package/dist/out-tsc/src/app/core/components/dashboard/dashboard.component.js.map +0 -1
  54. package/dist/out-tsc/src/app/core/components/dashboard/dashboard.component.spec.js +0 -19
  55. package/dist/out-tsc/src/app/core/components/dashboard/dashboard.component.spec.js.map +0 -1
  56. package/dist/out-tsc/src/app/core/components/dashboard-scroller/dashboard-scroller.component.js +0 -33
  57. package/dist/out-tsc/src/app/core/components/dashboard-scroller/dashboard-scroller.component.js.map +0 -1
  58. package/dist/out-tsc/src/app/core/components/dashboard-scroller/dashboard-scroller.component.spec.js +0 -19
  59. package/dist/out-tsc/src/app/core/components/dashboard-scroller/dashboard-scroller.component.spec.js.map +0 -1
  60. package/dist/out-tsc/src/app/core/components/dashboards-editor/dashboards-editor.component.js +0 -183
  61. package/dist/out-tsc/src/app/core/components/dashboards-editor/dashboards-editor.component.js.map +0 -1
  62. package/dist/out-tsc/src/app/core/components/dashboards-editor/dashboards-editor.component.spec.js +0 -19
  63. package/dist/out-tsc/src/app/core/components/dashboards-editor/dashboards-editor.component.spec.js.map +0 -1
  64. package/dist/out-tsc/src/app/core/components/dashboards-manage-bottom-sheet/dashboards-manage-bottom-sheet.component.js +0 -28
  65. package/dist/out-tsc/src/app/core/components/dashboards-manage-bottom-sheet/dashboards-manage-bottom-sheet.component.js.map +0 -1
  66. package/dist/out-tsc/src/app/core/components/dashboards-manage-bottom-sheet/dashboards-manage-bottom-sheet.component.spec.js +0 -19
  67. package/dist/out-tsc/src/app/core/components/dashboards-manage-bottom-sheet/dashboards-manage-bottom-sheet.component.spec.js.map +0 -1
  68. package/dist/out-tsc/src/app/core/components/data-inspector/data-inspector.component.js +0 -130
  69. package/dist/out-tsc/src/app/core/components/data-inspector/data-inspector.component.js.map +0 -1
  70. package/dist/out-tsc/src/app/core/components/data-inspector/data-inspector.component.spec.js +0 -21
  71. package/dist/out-tsc/src/app/core/components/data-inspector/data-inspector.component.spec.js.map +0 -1
  72. package/dist/out-tsc/src/app/core/components/data-inspector-row/data-inspector-row.component.js +0 -82
  73. package/dist/out-tsc/src/app/core/components/data-inspector-row/data-inspector-row.component.js.map +0 -1
  74. package/dist/out-tsc/src/app/core/components/datasets/datasets.component.js +0 -168
  75. package/dist/out-tsc/src/app/core/components/datasets/datasets.component.js.map +0 -1
  76. package/dist/out-tsc/src/app/core/components/datasets/datasets.component.spec.js +0 -21
  77. package/dist/out-tsc/src/app/core/components/datasets/datasets.component.spec.js.map +0 -1
  78. package/dist/out-tsc/src/app/core/components/dialog-confirmation/dialog-confirmation.component.js +0 -24
  79. package/dist/out-tsc/src/app/core/components/dialog-confirmation/dialog-confirmation.component.js.map +0 -1
  80. package/dist/out-tsc/src/app/core/components/dialog-confirmation/dialog-confirmation.component.spec.js +0 -19
  81. package/dist/out-tsc/src/app/core/components/dialog-confirmation/dialog-confirmation.component.spec.js.map +0 -1
  82. package/dist/out-tsc/src/app/core/components/dialog-dashboard-page-editor/dialog-dashboard-page-editor.component.js +0 -45
  83. package/dist/out-tsc/src/app/core/components/dialog-dashboard-page-editor/dialog-dashboard-page-editor.component.js.map +0 -1
  84. package/dist/out-tsc/src/app/core/components/dialog-dashboard-page-editor/dialog-dashboard-page-editor.component.spec.js +0 -19
  85. package/dist/out-tsc/src/app/core/components/dialog-dashboard-page-editor/dialog-dashboard-page-editor.component.spec.js.map +0 -1
  86. package/dist/out-tsc/src/app/core/components/dialog-frame/dialog-frame.component.js +0 -25
  87. package/dist/out-tsc/src/app/core/components/dialog-frame/dialog-frame.component.js.map +0 -1
  88. package/dist/out-tsc/src/app/core/components/dialog-frame/dialog-frame.component.spec.js +0 -19
  89. package/dist/out-tsc/src/app/core/components/dialog-frame/dialog-frame.component.spec.js.map +0 -1
  90. package/dist/out-tsc/src/app/core/components/dialog-name/dialog-name.component.js +0 -31
  91. package/dist/out-tsc/src/app/core/components/dialog-name/dialog-name.component.js.map +0 -1
  92. package/dist/out-tsc/src/app/core/components/dialog-name/dialog-name.component.spec.js +0 -19
  93. package/dist/out-tsc/src/app/core/components/dialog-name/dialog-name.component.spec.js.map +0 -1
  94. package/dist/out-tsc/src/app/core/components/menu-actions/menu-actions.component.js +0 -100
  95. package/dist/out-tsc/src/app/core/components/menu-actions/menu-actions.component.js.map +0 -1
  96. package/dist/out-tsc/src/app/core/components/menu-actions/menu-actions.component.spec.js +0 -19
  97. package/dist/out-tsc/src/app/core/components/menu-actions/menu-actions.component.spec.js.map +0 -1
  98. package/dist/out-tsc/src/app/core/components/menu-notifications/menu-notifications.component.js +0 -60
  99. package/dist/out-tsc/src/app/core/components/menu-notifications/menu-notifications.component.js.map +0 -1
  100. package/dist/out-tsc/src/app/core/components/menu-notifications/menu-notifications.component.spec.js +0 -21
  101. package/dist/out-tsc/src/app/core/components/menu-notifications/menu-notifications.component.spec.js.map +0 -1
  102. package/dist/out-tsc/src/app/core/components/modal-user-credential/modal-user-credential.component.js +0 -32
  103. package/dist/out-tsc/src/app/core/components/modal-user-credential/modal-user-credential.component.js.map +0 -1
  104. package/dist/out-tsc/src/app/core/components/modal-user-credential/modal-user-credential.component.spec.js +0 -21
  105. package/dist/out-tsc/src/app/core/components/modal-user-credential/modal-user-credential.component.spec.js.map +0 -1
  106. package/dist/out-tsc/src/app/core/components/notification-badge/notification-badge.component.js +0 -51
  107. package/dist/out-tsc/src/app/core/components/notification-badge/notification-badge.component.js.map +0 -1
  108. package/dist/out-tsc/src/app/core/components/notification-badge/notification-badge.component.spec.js +0 -19
  109. package/dist/out-tsc/src/app/core/components/notification-badge/notification-badge.component.spec.js.map +0 -1
  110. package/dist/out-tsc/src/app/core/components/options/configuration/config.component.js +0 -228
  111. package/dist/out-tsc/src/app/core/components/options/configuration/config.component.js.map +0 -1
  112. package/dist/out-tsc/src/app/core/components/options/configuration/config.component.spec.js +0 -21
  113. package/dist/out-tsc/src/app/core/components/options/configuration/config.component.spec.js.map +0 -1
  114. package/dist/out-tsc/src/app/core/components/options/display/display.component.js +0 -142
  115. package/dist/out-tsc/src/app/core/components/options/display/display.component.js.map +0 -1
  116. package/dist/out-tsc/src/app/core/components/options/display/display.component.spec.js +0 -21
  117. package/dist/out-tsc/src/app/core/components/options/display/display.component.spec.js.map +0 -1
  118. package/dist/out-tsc/src/app/core/components/options/notifications/notifications.component.js +0 -66
  119. package/dist/out-tsc/src/app/core/components/options/notifications/notifications.component.js.map +0 -1
  120. package/dist/out-tsc/src/app/core/components/options/notifications/notifications.component.spec.js +0 -21
  121. package/dist/out-tsc/src/app/core/components/options/notifications/notifications.component.spec.js.map +0 -1
  122. package/dist/out-tsc/src/app/core/components/options/signalk/signalk.component.js +0 -255
  123. package/dist/out-tsc/src/app/core/components/options/signalk/signalk.component.js.map +0 -1
  124. package/dist/out-tsc/src/app/core/components/options/signalk/signalk.component.spec.js +0 -21
  125. package/dist/out-tsc/src/app/core/components/options/signalk/signalk.component.spec.js.map +0 -1
  126. package/dist/out-tsc/src/app/core/components/options/tabs/tabs.component.js +0 -44
  127. package/dist/out-tsc/src/app/core/components/options/tabs/tabs.component.js.map +0 -1
  128. package/dist/out-tsc/src/app/core/components/options/tabs/tabs.component.spec.js +0 -21
  129. package/dist/out-tsc/src/app/core/components/options/tabs/tabs.component.spec.js.map +0 -1
  130. package/dist/out-tsc/src/app/core/components/options/units/units.component.js +0 -55
  131. package/dist/out-tsc/src/app/core/components/options/units/units.component.js.map +0 -1
  132. package/dist/out-tsc/src/app/core/components/options/units/units.component.spec.js +0 -21
  133. package/dist/out-tsc/src/app/core/components/options/units/units.component.spec.js.map +0 -1
  134. package/dist/out-tsc/src/app/core/components/page-header/page-header.component.js +0 -31
  135. package/dist/out-tsc/src/app/core/components/page-header/page-header.component.js.map +0 -1
  136. package/dist/out-tsc/src/app/core/components/page-header/page-header.component.spec.js +0 -19
  137. package/dist/out-tsc/src/app/core/components/page-header/page-header.component.spec.js.map +0 -1
  138. package/dist/out-tsc/src/app/core/components/remote-control/remote-control.component.js +0 -63
  139. package/dist/out-tsc/src/app/core/components/remote-control/remote-control.component.js.map +0 -1
  140. package/dist/out-tsc/src/app/core/components/remote-control/remote-control.component.spec.js +0 -19
  141. package/dist/out-tsc/src/app/core/components/remote-control/remote-control.component.spec.js.map +0 -1
  142. package/dist/out-tsc/src/app/core/components/select-icon/select-icon.component.js +0 -75
  143. package/dist/out-tsc/src/app/core/components/select-icon/select-icon.component.js.map +0 -1
  144. package/dist/out-tsc/src/app/core/components/select-icon/select-icon.component.spec.js +0 -19
  145. package/dist/out-tsc/src/app/core/components/select-icon/select-icon.component.spec.js.map +0 -1
  146. package/dist/out-tsc/src/app/core/components/settings/settings.component.js +0 -56
  147. package/dist/out-tsc/src/app/core/components/settings/settings.component.js.map +0 -1
  148. package/dist/out-tsc/src/app/core/components/settings/settings.component.spec.js +0 -19
  149. package/dist/out-tsc/src/app/core/components/settings/settings.component.spec.js.map +0 -1
  150. package/dist/out-tsc/src/app/core/components/tile-large-icon/tile-large-icon.component.js +0 -28
  151. package/dist/out-tsc/src/app/core/components/tile-large-icon/tile-large-icon.component.js.map +0 -1
  152. package/dist/out-tsc/src/app/core/components/tile-large-icon/tile-large-icon.component.spec.js +0 -19
  153. package/dist/out-tsc/src/app/core/components/tile-large-icon/tile-large-icon.component.spec.js.map +0 -1
  154. package/dist/out-tsc/src/app/core/components/upgrade-config/upgrade-config.component.js +0 -336
  155. package/dist/out-tsc/src/app/core/components/upgrade-config/upgrade-config.component.js.map +0 -1
  156. package/dist/out-tsc/src/app/core/components/upgrade-config/upgrade-config.component.spec.js +0 -19
  157. package/dist/out-tsc/src/app/core/components/upgrade-config/upgrade-config.component.spec.js.map +0 -1
  158. package/dist/out-tsc/src/app/core/components/upgrade-config/v10-config-interface.js +0 -2
  159. package/dist/out-tsc/src/app/core/components/upgrade-config/v10-config-interface.js.map +0 -1
  160. package/dist/out-tsc/src/app/core/components/widget-host/widget-host.component.js +0 -77
  161. package/dist/out-tsc/src/app/core/components/widget-host/widget-host.component.js.map +0 -1
  162. package/dist/out-tsc/src/app/core/components/widget-host/widget-host.component.spec.js +0 -19
  163. package/dist/out-tsc/src/app/core/components/widget-host/widget-host.component.spec.js.map +0 -1
  164. package/dist/out-tsc/src/app/core/components/widget-host-bottom-sheet/widget-host-bottom-sheet.component.js +0 -29
  165. package/dist/out-tsc/src/app/core/components/widget-host-bottom-sheet/widget-host-bottom-sheet.component.js.map +0 -1
  166. package/dist/out-tsc/src/app/core/components/widget-host-bottom-sheet/widget-host-bottom-sheet.component.spec.js +0 -19
  167. package/dist/out-tsc/src/app/core/components/widget-host-bottom-sheet/widget-host-bottom-sheet.component.spec.js.map +0 -1
  168. package/dist/out-tsc/src/app/core/components/widget-list-card/widget-list-card.component.js +0 -34
  169. package/dist/out-tsc/src/app/core/components/widget-list-card/widget-list-card.component.js.map +0 -1
  170. package/dist/out-tsc/src/app/core/components/widget-list-card/widget-list-card.component.spec.js +0 -19
  171. package/dist/out-tsc/src/app/core/components/widget-list-card/widget-list-card.component.spec.js.map +0 -1
  172. package/dist/out-tsc/src/app/core/components/widget-title/widget-title.component.js +0 -70
  173. package/dist/out-tsc/src/app/core/components/widget-title/widget-title.component.js.map +0 -1
  174. package/dist/out-tsc/src/app/core/components/widget-title/widget-title.component.spec.js +0 -19
  175. package/dist/out-tsc/src/app/core/components/widget-title/widget-title.component.spec.js.map +0 -1
  176. package/dist/out-tsc/src/app/core/components/widgets-list/widgets-list.component.js +0 -61
  177. package/dist/out-tsc/src/app/core/components/widgets-list/widgets-list.component.js.map +0 -1
  178. package/dist/out-tsc/src/app/core/components/widgets-list/widgets-list.component.spec.js +0 -19
  179. package/dist/out-tsc/src/app/core/components/widgets-list/widgets-list.component.spec.js.map +0 -1
  180. package/dist/out-tsc/src/app/core/directives/gesture.directive.js +0 -457
  181. package/dist/out-tsc/src/app/core/directives/gesture.directive.js.map +0 -1
  182. package/dist/out-tsc/src/app/core/interceptors/authentication-interceptor.js +0 -43
  183. package/dist/out-tsc/src/app/core/interceptors/authentication-interceptor.js.map +0 -1
  184. package/dist/out-tsc/src/app/core/interceptors/authentication-interceptor.spec.js +0 -7
  185. package/dist/out-tsc/src/app/core/interceptors/authentication-interceptor.spec.js.map +0 -1
  186. package/dist/out-tsc/src/app/core/interfaces/app-interfaces.js +0 -8
  187. package/dist/out-tsc/src/app/core/interfaces/app-interfaces.js.map +0 -1
  188. package/dist/out-tsc/src/app/core/interfaces/app-settings.interfaces.js +0 -2
  189. package/dist/out-tsc/src/app/core/interfaces/app-settings.interfaces.js.map +0 -1
  190. package/dist/out-tsc/src/app/core/interfaces/dialog-data.js +0 -2
  191. package/dist/out-tsc/src/app/core/interfaces/dialog-data.js.map +0 -1
  192. package/dist/out-tsc/src/app/core/interfaces/signalk-autopilot-interfaces.js +0 -11
  193. package/dist/out-tsc/src/app/core/interfaces/signalk-autopilot-interfaces.js.map +0 -1
  194. package/dist/out-tsc/src/app/core/interfaces/signalk-interfaces.js +0 -45
  195. package/dist/out-tsc/src/app/core/interfaces/signalk-interfaces.js.map +0 -1
  196. package/dist/out-tsc/src/app/core/interfaces/widgets-interface.js +0 -7
  197. package/dist/out-tsc/src/app/core/interfaces/widgets-interface.js.map +0 -1
  198. package/dist/out-tsc/src/app/core/pipes/filter-self.pipe.js +0 -24
  199. package/dist/out-tsc/src/app/core/pipes/filter-self.pipe.js.map +0 -1
  200. package/dist/out-tsc/src/app/core/pipes/filter-self.pipe.spec.js +0 -8
  201. package/dist/out-tsc/src/app/core/pipes/filter-self.pipe.spec.js.map +0 -1
  202. package/dist/out-tsc/src/app/core/pipes/object-keys.pipe.js +0 -20
  203. package/dist/out-tsc/src/app/core/pipes/object-keys.pipe.js.map +0 -1
  204. package/dist/out-tsc/src/app/core/pipes/object-keys.pipe.spec.js +0 -8
  205. package/dist/out-tsc/src/app/core/pipes/object-keys.pipe.spec.js.map +0 -1
  206. package/dist/out-tsc/src/app/core/pipes/safe.pipe.js +0 -22
  207. package/dist/out-tsc/src/app/core/pipes/safe.pipe.js.map +0 -1
  208. package/dist/out-tsc/src/app/core/services/app-initNetwork.service.js +0 -199
  209. package/dist/out-tsc/src/app/core/services/app-initNetwork.service.js.map +0 -1
  210. package/dist/out-tsc/src/app/core/services/app-initNetwork.service.spec.js +0 -13
  211. package/dist/out-tsc/src/app/core/services/app-initNetwork.service.spec.js.map +0 -1
  212. package/dist/out-tsc/src/app/core/services/app-service.js +0 -249
  213. package/dist/out-tsc/src/app/core/services/app-service.js.map +0 -1
  214. package/dist/out-tsc/src/app/core/services/app-service.spec.js +0 -13
  215. package/dist/out-tsc/src/app/core/services/app-service.spec.js.map +0 -1
  216. package/dist/out-tsc/src/app/core/services/app-settings.service.js +0 -566
  217. package/dist/out-tsc/src/app/core/services/app-settings.service.js.map +0 -1
  218. package/dist/out-tsc/src/app/core/services/app-settings.service.spec.js +0 -13
  219. package/dist/out-tsc/src/app/core/services/app-settings.service.spec.js.map +0 -1
  220. package/dist/out-tsc/src/app/core/services/authentication.service.js +0 -308
  221. package/dist/out-tsc/src/app/core/services/authentication.service.js.map +0 -1
  222. package/dist/out-tsc/src/app/core/services/authentication.service.spec.js +0 -13
  223. package/dist/out-tsc/src/app/core/services/authentication.service.spec.js.map +0 -1
  224. package/dist/out-tsc/src/app/core/services/canvas.service.js +0 -566
  225. package/dist/out-tsc/src/app/core/services/canvas.service.js.map +0 -1
  226. package/dist/out-tsc/src/app/core/services/canvas.service.spec.js +0 -13
  227. package/dist/out-tsc/src/app/core/services/canvas.service.spec.js.map +0 -1
  228. package/dist/out-tsc/src/app/core/services/connection-state-machine.service.js +0 -325
  229. package/dist/out-tsc/src/app/core/services/connection-state-machine.service.js.map +0 -1
  230. package/dist/out-tsc/src/app/core/services/dashboard.service.js +0 -273
  231. package/dist/out-tsc/src/app/core/services/dashboard.service.js.map +0 -1
  232. package/dist/out-tsc/src/app/core/services/dashboard.service.spec.js +0 -13
  233. package/dist/out-tsc/src/app/core/services/dashboard.service.spec.js.map +0 -1
  234. package/dist/out-tsc/src/app/core/services/data-set.service.js +0 -515
  235. package/dist/out-tsc/src/app/core/services/data-set.service.js.map +0 -1
  236. package/dist/out-tsc/src/app/core/services/data-set.service.spec.js +0 -13
  237. package/dist/out-tsc/src/app/core/services/data-set.service.spec.js.map +0 -1
  238. package/dist/out-tsc/src/app/core/services/data.service.js +0 -425
  239. package/dist/out-tsc/src/app/core/services/data.service.js.map +0 -1
  240. package/dist/out-tsc/src/app/core/services/data.service.spec.js +0 -13
  241. package/dist/out-tsc/src/app/core/services/data.service.spec.js.map +0 -1
  242. package/dist/out-tsc/src/app/core/services/dialog.service.js +0 -73
  243. package/dist/out-tsc/src/app/core/services/dialog.service.js.map +0 -1
  244. package/dist/out-tsc/src/app/core/services/dialog.service.spec.js +0 -13
  245. package/dist/out-tsc/src/app/core/services/dialog.service.spec.js.map +0 -1
  246. package/dist/out-tsc/src/app/core/services/notification-overlay.service.js +0 -106
  247. package/dist/out-tsc/src/app/core/services/notification-overlay.service.js.map +0 -1
  248. package/dist/out-tsc/src/app/core/services/notifications.service.js +0 -322
  249. package/dist/out-tsc/src/app/core/services/notifications.service.js.map +0 -1
  250. package/dist/out-tsc/src/app/core/services/notifications.service.spec.js +0 -10
  251. package/dist/out-tsc/src/app/core/services/notifications.service.spec.js.map +0 -1
  252. package/dist/out-tsc/src/app/core/services/remote-dashboards.service.js +0 -125
  253. package/dist/out-tsc/src/app/core/services/remote-dashboards.service.js.map +0 -1
  254. package/dist/out-tsc/src/app/core/services/remote-dashboards.service.spec.js +0 -13
  255. package/dist/out-tsc/src/app/core/services/remote-dashboards.service.spec.js.map +0 -1
  256. package/dist/out-tsc/src/app/core/services/signalk-connection.service.js +0 -283
  257. package/dist/out-tsc/src/app/core/services/signalk-connection.service.js.map +0 -1
  258. package/dist/out-tsc/src/app/core/services/signalk-delta.service.js +0 -486
  259. package/dist/out-tsc/src/app/core/services/signalk-delta.service.js.map +0 -1
  260. package/dist/out-tsc/src/app/core/services/signalk-delta.service.spec.js +0 -13
  261. package/dist/out-tsc/src/app/core/services/signalk-delta.service.spec.js.map +0 -1
  262. package/dist/out-tsc/src/app/core/services/signalk-plugins.service.js +0 -121
  263. package/dist/out-tsc/src/app/core/services/signalk-plugins.service.js.map +0 -1
  264. package/dist/out-tsc/src/app/core/services/signalk-plugins.service.spec.js +0 -13
  265. package/dist/out-tsc/src/app/core/services/signalk-plugins.service.spec.js.map +0 -1
  266. package/dist/out-tsc/src/app/core/services/signalk-requests.service.js +0 -232
  267. package/dist/out-tsc/src/app/core/services/signalk-requests.service.js.map +0 -1
  268. package/dist/out-tsc/src/app/core/services/signalk-requests.service.spec.js +0 -10
  269. package/dist/out-tsc/src/app/core/services/signalk-requests.service.spec.js.map +0 -1
  270. package/dist/out-tsc/src/app/core/services/storage.service.js +0 -390
  271. package/dist/out-tsc/src/app/core/services/storage.service.js.map +0 -1
  272. package/dist/out-tsc/src/app/core/services/storage.service.spec.js +0 -13
  273. package/dist/out-tsc/src/app/core/services/storage.service.spec.js.map +0 -1
  274. package/dist/out-tsc/src/app/core/services/timers.service.js +0 -107
  275. package/dist/out-tsc/src/app/core/services/timers.service.js.map +0 -1
  276. package/dist/out-tsc/src/app/core/services/timers.service.spec.js +0 -13
  277. package/dist/out-tsc/src/app/core/services/timers.service.spec.js.map +0 -1
  278. package/dist/out-tsc/src/app/core/services/uiEvent.service.js +0 -256
  279. package/dist/out-tsc/src/app/core/services/uiEvent.service.js.map +0 -1
  280. package/dist/out-tsc/src/app/core/services/uiEvent.service.spec.js +0 -13
  281. package/dist/out-tsc/src/app/core/services/uiEvent.service.spec.js.map +0 -1
  282. package/dist/out-tsc/src/app/core/services/units.service.js +0 -630
  283. package/dist/out-tsc/src/app/core/services/units.service.js.map +0 -1
  284. package/dist/out-tsc/src/app/core/services/widget.service.js +0 -405
  285. package/dist/out-tsc/src/app/core/services/widget.service.js.map +0 -1
  286. package/dist/out-tsc/src/app/core/services/widget.service.spec.js +0 -13
  287. package/dist/out-tsc/src/app/core/services/widget.service.spec.js.map +0 -1
  288. package/dist/out-tsc/src/app/core/utils/app-overlay-container.js +0 -30
  289. package/dist/out-tsc/src/app/core/utils/app-overlay-container.js.map +0 -1
  290. package/dist/out-tsc/src/app/core/utils/base-widget.component.js +0 -291
  291. package/dist/out-tsc/src/app/core/utils/base-widget.component.js.map +0 -1
  292. package/dist/out-tsc/src/app/core/utils/base-widget.component.spec.js +0 -88
  293. package/dist/out-tsc/src/app/core/utils/base-widget.component.spec.js.map +0 -1
  294. package/dist/out-tsc/src/app/core/utils/dataScales.util.js +0 -127
  295. package/dist/out-tsc/src/app/core/utils/dataScales.util.js.map +0 -1
  296. package/dist/out-tsc/src/app/core/utils/dataTransforms.util.js +0 -138
  297. package/dist/out-tsc/src/app/core/utils/dataTransforms.util.js.map +0 -1
  298. package/dist/out-tsc/src/app/core/utils/iframe-inputs-inject.utils.js +0 -55
  299. package/dist/out-tsc/src/app/core/utils/iframe-inputs-inject.utils.js.map +0 -1
  300. package/dist/out-tsc/src/app/core/utils/svg-animate.util.js +0 -303
  301. package/dist/out-tsc/src/app/core/utils/svg-animate.util.js.map +0 -1
  302. package/dist/out-tsc/src/app/core/utils/themeColors.utils.js +0 -34
  303. package/dist/out-tsc/src/app/core/utils/themeColors.utils.js.map +0 -1
  304. package/dist/out-tsc/src/app/core/utils/uuid.util.js +0 -17
  305. package/dist/out-tsc/src/app/core/utils/uuid.util.js.map +0 -1
  306. package/dist/out-tsc/src/app/core/utils/zones-highlight.utils.js +0 -87
  307. package/dist/out-tsc/src/app/core/utils/zones-highlight.utils.js.map +0 -1
  308. package/dist/out-tsc/src/app/widget-config/boolean-control-config/boolean-control-config.component.js +0 -49
  309. package/dist/out-tsc/src/app/widget-config/boolean-control-config/boolean-control-config.component.js.map +0 -1
  310. package/dist/out-tsc/src/app/widget-config/boolean-control-config/boolean-control-config.component.spec.js +0 -19
  311. package/dist/out-tsc/src/app/widget-config/boolean-control-config/boolean-control-config.component.spec.js.map +0 -1
  312. package/dist/out-tsc/src/app/widget-config/boolean-multicontrol-options/boolean-multicontrol-options.component.js +0 -100
  313. package/dist/out-tsc/src/app/widget-config/boolean-multicontrol-options/boolean-multicontrol-options.component.js.map +0 -1
  314. package/dist/out-tsc/src/app/widget-config/boolean-multicontrol-options/boolean-multicontrol-options.component.spec.js +0 -19
  315. package/dist/out-tsc/src/app/widget-config/boolean-multicontrol-options/boolean-multicontrol-options.component.spec.js.map +0 -1
  316. package/dist/out-tsc/src/app/widget-config/dataset-chart-options/dataset-chart-options.component.js +0 -54
  317. package/dist/out-tsc/src/app/widget-config/dataset-chart-options/dataset-chart-options.component.js.map +0 -1
  318. package/dist/out-tsc/src/app/widget-config/dataset-chart-options/dataset-chart-options.component.spec.js +0 -19
  319. package/dist/out-tsc/src/app/widget-config/dataset-chart-options/dataset-chart-options.component.spec.js.map +0 -1
  320. package/dist/out-tsc/src/app/widget-config/display-chart-options/display-chart-options.component.js +0 -89
  321. package/dist/out-tsc/src/app/widget-config/display-chart-options/display-chart-options.component.js.map +0 -1
  322. package/dist/out-tsc/src/app/widget-config/display-chart-options/display-chart-options.component.spec.js +0 -19
  323. package/dist/out-tsc/src/app/widget-config/display-chart-options/display-chart-options.component.spec.js.map +0 -1
  324. package/dist/out-tsc/src/app/widget-config/display-datetime/display-datetime.component.js +0 -1760
  325. package/dist/out-tsc/src/app/widget-config/display-datetime/display-datetime.component.js.map +0 -1
  326. package/dist/out-tsc/src/app/widget-config/display-datetime/display-datetime.component.spec.js +0 -19
  327. package/dist/out-tsc/src/app/widget-config/display-datetime/display-datetime.component.spec.js.map +0 -1
  328. package/dist/out-tsc/src/app/widget-config/modal-widget-config/modal-widget-config.component.js +0 -327
  329. package/dist/out-tsc/src/app/widget-config/modal-widget-config/modal-widget-config.component.js.map +0 -1
  330. package/dist/out-tsc/src/app/widget-config/modal-widget-config/modal-widget-config.component.spec.js +0 -21
  331. package/dist/out-tsc/src/app/widget-config/modal-widget-config/modal-widget-config.component.spec.js.map +0 -1
  332. package/dist/out-tsc/src/app/widget-config/path-control-config/path-control-config.component.js +0 -268
  333. package/dist/out-tsc/src/app/widget-config/path-control-config/path-control-config.component.js.map +0 -1
  334. package/dist/out-tsc/src/app/widget-config/path-control-config/path-control-config.component.spec.js +0 -21
  335. package/dist/out-tsc/src/app/widget-config/path-control-config/path-control-config.component.spec.js.map +0 -1
  336. package/dist/out-tsc/src/app/widget-config/paths-options/paths-options.component.js +0 -81
  337. package/dist/out-tsc/src/app/widget-config/paths-options/paths-options.component.js.map +0 -1
  338. package/dist/out-tsc/src/app/widget-config/paths-options/paths-options.component.spec.js +0 -19
  339. package/dist/out-tsc/src/app/widget-config/paths-options/paths-options.component.spec.js.map +0 -1
  340. package/dist/out-tsc/src/app/widget-config/select-autopilot/select-autopilot.component.js +0 -266
  341. package/dist/out-tsc/src/app/widget-config/select-autopilot/select-autopilot.component.js.map +0 -1
  342. package/dist/out-tsc/src/app/widget-config/select-autopilot/select-autopilot.component.spec.js +0 -19
  343. package/dist/out-tsc/src/app/widget-config/select-autopilot/select-autopilot.component.spec.js.map +0 -1
  344. package/dist/out-tsc/src/app/widgets/gauge-steel/gauge-steel.component.js +0 -309
  345. package/dist/out-tsc/src/app/widgets/gauge-steel/gauge-steel.component.js.map +0 -1
  346. package/dist/out-tsc/src/app/widgets/gauge-steel/gauge-steel.component.spec.js +0 -21
  347. package/dist/out-tsc/src/app/widgets/gauge-steel/gauge-steel.component.spec.js.map +0 -1
  348. package/dist/out-tsc/src/app/widgets/minichart/minichart.component.js +0 -512
  349. package/dist/out-tsc/src/app/widgets/minichart/minichart.component.js.map +0 -1
  350. package/dist/out-tsc/src/app/widgets/minichart/minichart.component.spec.js +0 -19
  351. package/dist/out-tsc/src/app/widgets/minichart/minichart.component.spec.js.map +0 -1
  352. package/dist/out-tsc/src/app/widgets/svg-autopilot/svg-autopilot.component.js +0 -227
  353. package/dist/out-tsc/src/app/widgets/svg-autopilot/svg-autopilot.component.js.map +0 -1
  354. package/dist/out-tsc/src/app/widgets/svg-autopilot/svg-autopilot.component.spec.js +0 -21
  355. package/dist/out-tsc/src/app/widgets/svg-autopilot/svg-autopilot.component.spec.js.map +0 -1
  356. package/dist/out-tsc/src/app/widgets/svg-boolean-button/svg-boolean-button.component.js +0 -163
  357. package/dist/out-tsc/src/app/widgets/svg-boolean-button/svg-boolean-button.component.js.map +0 -1
  358. package/dist/out-tsc/src/app/widgets/svg-boolean-button/svg-boolean-button.component.spec.js +0 -19
  359. package/dist/out-tsc/src/app/widgets/svg-boolean-button/svg-boolean-button.component.spec.js.map +0 -1
  360. package/dist/out-tsc/src/app/widgets/svg-boolean-light/svg-boolean-light.component.js +0 -97
  361. package/dist/out-tsc/src/app/widgets/svg-boolean-light/svg-boolean-light.component.js.map +0 -1
  362. package/dist/out-tsc/src/app/widgets/svg-boolean-light/svg-boolean-light.component.spec.js +0 -19
  363. package/dist/out-tsc/src/app/widgets/svg-boolean-light/svg-boolean-light.component.spec.js.map +0 -1
  364. package/dist/out-tsc/src/app/widgets/svg-boolean-switch/svg-boolean-switch.component.js +0 -122
  365. package/dist/out-tsc/src/app/widgets/svg-boolean-switch/svg-boolean-switch.component.js.map +0 -1
  366. package/dist/out-tsc/src/app/widgets/svg-boolean-switch/svg-boolean-switch.component.spec.js +0 -19
  367. package/dist/out-tsc/src/app/widgets/svg-boolean-switch/svg-boolean-switch.component.spec.js.map +0 -1
  368. package/dist/out-tsc/src/app/widgets/svg-racesteer/svg-racesteer.component.js +0 -389
  369. package/dist/out-tsc/src/app/widgets/svg-racesteer/svg-racesteer.component.js.map +0 -1
  370. package/dist/out-tsc/src/app/widgets/svg-racesteer/svg-racesteer.component.spec.js +0 -21
  371. package/dist/out-tsc/src/app/widgets/svg-racesteer/svg-racesteer.component.spec.js.map +0 -1
  372. package/dist/out-tsc/src/app/widgets/svg-simple-linear-gauge/svg-simple-linear-gauge.component.js +0 -76
  373. package/dist/out-tsc/src/app/widgets/svg-simple-linear-gauge/svg-simple-linear-gauge.component.js.map +0 -1
  374. package/dist/out-tsc/src/app/widgets/svg-simple-linear-gauge/svg-simple-linear-gauge.component.spec.js +0 -21
  375. package/dist/out-tsc/src/app/widgets/svg-simple-linear-gauge/svg-simple-linear-gauge.component.spec.js.map +0 -1
  376. package/dist/out-tsc/src/app/widgets/svg-windsteer/svg-windsteer.component.js +0 -429
  377. package/dist/out-tsc/src/app/widgets/svg-windsteer/svg-windsteer.component.js.map +0 -1
  378. package/dist/out-tsc/src/app/widgets/svg-windsteer/svg-windsteer.component.spec.js +0 -21
  379. package/dist/out-tsc/src/app/widgets/svg-windsteer/svg-windsteer.component.spec.js.map +0 -1
  380. package/dist/out-tsc/src/app/widgets/widget-autopilot/widget-autopilot.component.js +0 -1128
  381. package/dist/out-tsc/src/app/widgets/widget-autopilot/widget-autopilot.component.js.map +0 -1
  382. package/dist/out-tsc/src/app/widgets/widget-autopilot/widget-autopilot.component.spec.js +0 -21
  383. package/dist/out-tsc/src/app/widgets/widget-autopilot/widget-autopilot.component.spec.js.map +0 -1
  384. package/dist/out-tsc/src/app/widgets/widget-boolean-switch/widget-boolean-switch.component.js +0 -140
  385. package/dist/out-tsc/src/app/widgets/widget-boolean-switch/widget-boolean-switch.component.js.map +0 -1
  386. package/dist/out-tsc/src/app/widgets/widget-boolean-switch/widget-boolean-switch.component.spec.js +0 -19
  387. package/dist/out-tsc/src/app/widgets/widget-boolean-switch/widget-boolean-switch.component.spec.js.map +0 -1
  388. package/dist/out-tsc/src/app/widgets/widget-data-chart/widget-data-chart.component.js +0 -678
  389. package/dist/out-tsc/src/app/widgets/widget-data-chart/widget-data-chart.component.js.map +0 -1
  390. package/dist/out-tsc/src/app/widgets/widget-data-chart/widget-data-chart.component.spec.js +0 -19
  391. package/dist/out-tsc/src/app/widgets/widget-data-chart/widget-data-chart.component.spec.js.map +0 -1
  392. package/dist/out-tsc/src/app/widgets/widget-datetime/widget-datetime.component.js +0 -177
  393. package/dist/out-tsc/src/app/widgets/widget-datetime/widget-datetime.component.js.map +0 -1
  394. package/dist/out-tsc/src/app/widgets/widget-datetime/widget-datetime.component.spec.js +0 -21
  395. package/dist/out-tsc/src/app/widgets/widget-datetime/widget-datetime.component.spec.js.map +0 -1
  396. package/dist/out-tsc/src/app/widgets/widget-freeboardsk/widget-freeboardsk.component.js +0 -146
  397. package/dist/out-tsc/src/app/widgets/widget-freeboardsk/widget-freeboardsk.component.js.map +0 -1
  398. package/dist/out-tsc/src/app/widgets/widget-freeboardsk/widget-freeboardsk.component.spec.js +0 -19
  399. package/dist/out-tsc/src/app/widgets/widget-freeboardsk/widget-freeboardsk.component.spec.js.map +0 -1
  400. package/dist/out-tsc/src/app/widgets/widget-gauge-ng-compass/widget-gauge-ng-compass.component.js +0 -301
  401. package/dist/out-tsc/src/app/widgets/widget-gauge-ng-compass/widget-gauge-ng-compass.component.js.map +0 -1
  402. package/dist/out-tsc/src/app/widgets/widget-gauge-ng-compass/widget-gauge-ng-compass.component.spec.js +0 -19
  403. package/dist/out-tsc/src/app/widgets/widget-gauge-ng-compass/widget-gauge-ng-compass.component.spec.js.map +0 -1
  404. package/dist/out-tsc/src/app/widgets/widget-gauge-ng-linear/widget-gauge-ng-linear.component.js +0 -413
  405. package/dist/out-tsc/src/app/widgets/widget-gauge-ng-linear/widget-gauge-ng-linear.component.js.map +0 -1
  406. package/dist/out-tsc/src/app/widgets/widget-gauge-ng-linear/widget-gauge-ng-linear.component.spec.js +0 -21
  407. package/dist/out-tsc/src/app/widgets/widget-gauge-ng-linear/widget-gauge-ng-linear.component.spec.js.map +0 -1
  408. package/dist/out-tsc/src/app/widgets/widget-gauge-ng-radial/widget-gauge-ng-radial.component.js +0 -360
  409. package/dist/out-tsc/src/app/widgets/widget-gauge-ng-radial/widget-gauge-ng-radial.component.js.map +0 -1
  410. package/dist/out-tsc/src/app/widgets/widget-gauge-ng-radial/widget-gauge-ng-radial.component.spec.js +0 -21
  411. package/dist/out-tsc/src/app/widgets/widget-gauge-ng-radial/widget-gauge-ng-radial.component.spec.js.map +0 -1
  412. package/dist/out-tsc/src/app/widgets/widget-gauge-steel/widget-gauge-steel.component.js +0 -119
  413. package/dist/out-tsc/src/app/widgets/widget-gauge-steel/widget-gauge-steel.component.js.map +0 -1
  414. package/dist/out-tsc/src/app/widgets/widget-gauge-steel/widget-gauge-steel.component.spec.js +0 -21
  415. package/dist/out-tsc/src/app/widgets/widget-gauge-steel/widget-gauge-steel.component.spec.js.map +0 -1
  416. package/dist/out-tsc/src/app/widgets/widget-heel-gauge/widget-heel-gauge.component.js +0 -205
  417. package/dist/out-tsc/src/app/widgets/widget-heel-gauge/widget-heel-gauge.component.js.map +0 -1
  418. package/dist/out-tsc/src/app/widgets/widget-heel-gauge/widget-heel-gauge.component.spec.js +0 -15
  419. package/dist/out-tsc/src/app/widgets/widget-heel-gauge/widget-heel-gauge.component.spec.js.map +0 -1
  420. package/dist/out-tsc/src/app/widgets/widget-horizon/widget-horizon.component.js +0 -196
  421. package/dist/out-tsc/src/app/widgets/widget-horizon/widget-horizon.component.js.map +0 -1
  422. package/dist/out-tsc/src/app/widgets/widget-horizon/widget-horizon.component.spec.js +0 -21
  423. package/dist/out-tsc/src/app/widgets/widget-horizon/widget-horizon.component.spec.js.map +0 -1
  424. package/dist/out-tsc/src/app/widgets/widget-iframe/widget-iframe.component.js +0 -173
  425. package/dist/out-tsc/src/app/widgets/widget-iframe/widget-iframe.component.js.map +0 -1
  426. package/dist/out-tsc/src/app/widgets/widget-iframe/widget-iframe.component.spec.js +0 -21
  427. package/dist/out-tsc/src/app/widgets/widget-iframe/widget-iframe.component.spec.js.map +0 -1
  428. package/dist/out-tsc/src/app/widgets/widget-label/widget-label.component.js +0 -128
  429. package/dist/out-tsc/src/app/widgets/widget-label/widget-label.component.js.map +0 -1
  430. package/dist/out-tsc/src/app/widgets/widget-label/widget-label.component.spec.js +0 -19
  431. package/dist/out-tsc/src/app/widgets/widget-label/widget-label.component.spec.js.map +0 -1
  432. package/dist/out-tsc/src/app/widgets/widget-login/login.component.spec.js +0 -21
  433. package/dist/out-tsc/src/app/widgets/widget-login/login.component.spec.js.map +0 -1
  434. package/dist/out-tsc/src/app/widgets/widget-login/widget-login.component.js +0 -78
  435. package/dist/out-tsc/src/app/widgets/widget-login/widget-login.component.js.map +0 -1
  436. package/dist/out-tsc/src/app/widgets/widget-numeric/widget-numeric.component.js +0 -303
  437. package/dist/out-tsc/src/app/widgets/widget-numeric/widget-numeric.component.js.map +0 -1
  438. package/dist/out-tsc/src/app/widgets/widget-numeric/widget-numeric.spec.js +0 -21
  439. package/dist/out-tsc/src/app/widgets/widget-numeric/widget-numeric.spec.js.map +0 -1
  440. package/dist/out-tsc/src/app/widgets/widget-position/widget-position.component.js +0 -177
  441. package/dist/out-tsc/src/app/widgets/widget-position/widget-position.component.js.map +0 -1
  442. package/dist/out-tsc/src/app/widgets/widget-position/widget-position.component.spec.js +0 -21
  443. package/dist/out-tsc/src/app/widgets/widget-position/widget-position.component.spec.js.map +0 -1
  444. package/dist/out-tsc/src/app/widgets/widget-race-timer/widget-race-timer.component.js +0 -275
  445. package/dist/out-tsc/src/app/widgets/widget-race-timer/widget-race-timer.component.js.map +0 -1
  446. package/dist/out-tsc/src/app/widgets/widget-race-timer/widget-race-timer.component.spec.js +0 -21
  447. package/dist/out-tsc/src/app/widgets/widget-race-timer/widget-race-timer.component.spec.js.map +0 -1
  448. package/dist/out-tsc/src/app/widgets/widget-racer-line/widget-racer-line.component.js +0 -319
  449. package/dist/out-tsc/src/app/widgets/widget-racer-line/widget-racer-line.component.js.map +0 -1
  450. package/dist/out-tsc/src/app/widgets/widget-racer-line/widget-racer-line.component.spec.js +0 -21
  451. package/dist/out-tsc/src/app/widgets/widget-racer-line/widget-racer-line.component.spec.js.map +0 -1
  452. package/dist/out-tsc/src/app/widgets/widget-racer-timer/widget-racer-timer.component.js +0 -365
  453. package/dist/out-tsc/src/app/widgets/widget-racer-timer/widget-racer-timer.component.js.map +0 -1
  454. package/dist/out-tsc/src/app/widgets/widget-racer-timer/widget-racer-timer.component.spec.js +0 -21
  455. package/dist/out-tsc/src/app/widgets/widget-racer-timer/widget-racer-timer.component.spec.js.map +0 -1
  456. package/dist/out-tsc/src/app/widgets/widget-racesteer/widget-racesteer.component.js +0 -321
  457. package/dist/out-tsc/src/app/widgets/widget-racesteer/widget-racesteer.component.js.map +0 -1
  458. package/dist/out-tsc/src/app/widgets/widget-racesteer/widget-racesteer.component.spec.js +0 -21
  459. package/dist/out-tsc/src/app/widgets/widget-racesteer/widget-racesteer.component.spec.js.map +0 -1
  460. package/dist/out-tsc/src/app/widgets/widget-simple-linear/widget-simple-linear.component.js +0 -189
  461. package/dist/out-tsc/src/app/widgets/widget-simple-linear/widget-simple-linear.component.js.map +0 -1
  462. package/dist/out-tsc/src/app/widgets/widget-simple-linear/widget-simple-linear.component.spec.js +0 -21
  463. package/dist/out-tsc/src/app/widgets/widget-simple-linear/widget-simple-linear.component.spec.js.map +0 -1
  464. package/dist/out-tsc/src/app/widgets/widget-slider/widget-slider.component.js +0 -248
  465. package/dist/out-tsc/src/app/widgets/widget-slider/widget-slider.component.js.map +0 -1
  466. package/dist/out-tsc/src/app/widgets/widget-slider/widget-slider.component.spec.js +0 -19
  467. package/dist/out-tsc/src/app/widgets/widget-slider/widget-slider.component.spec.js.map +0 -1
  468. package/dist/out-tsc/src/app/widgets/widget-text/widget-text.component.js +0 -138
  469. package/dist/out-tsc/src/app/widgets/widget-text/widget-text.component.js.map +0 -1
  470. package/dist/out-tsc/src/app/widgets/widget-text/widget-text.component.spec.js +0 -21
  471. package/dist/out-tsc/src/app/widgets/widget-text/widget-text.component.spec.js.map +0 -1
  472. package/dist/out-tsc/src/app/widgets/widget-tutorial/widget-tutorial.component.js +0 -43
  473. package/dist/out-tsc/src/app/widgets/widget-tutorial/widget-tutorial.component.js.map +0 -1
  474. package/dist/out-tsc/src/app/widgets/widget-tutorial/widget-tutorial.component.spec.js +0 -21
  475. package/dist/out-tsc/src/app/widgets/widget-tutorial/widget-tutorial.component.spec.js.map +0 -1
  476. package/dist/out-tsc/src/app/widgets/widget-windsteer/widget-windsteer.component.js +0 -483
  477. package/dist/out-tsc/src/app/widgets/widget-windsteer/widget-windsteer.component.js.map +0 -1
  478. package/dist/out-tsc/src/app/widgets/widget-windsteer/widget-windsteer.component.spec.js +0 -21
  479. package/dist/out-tsc/src/app/widgets/widget-windsteer/widget-windsteer.component.spec.js.map +0 -1
  480. package/dist/out-tsc/src/app/widgets/widget-windtrends-chart/widget-windtrends-chart.component.js +0 -1067
  481. package/dist/out-tsc/src/app/widgets/widget-windtrends-chart/widget-windtrends-chart.component.js.map +0 -1
  482. package/dist/out-tsc/src/app/widgets/widget-windtrends-chart/widget-windtrends-chart.component.spec.js +0 -19
  483. package/dist/out-tsc/src/app/widgets/widget-windtrends-chart/widget-windtrends-chart.component.spec.js.map +0 -1
  484. package/dist/out-tsc/src/default-config/config.blank.const.js +0 -35
  485. package/dist/out-tsc/src/default-config/config.blank.const.js.map +0 -1
  486. package/dist/out-tsc/src/default-config/config.blank.notification.const.js +0 -22
  487. package/dist/out-tsc/src/default-config/config.blank.notification.const.js.map +0 -1
  488. package/dist/out-tsc/src/default-config/config.blank.units.const.js +0 -24
  489. package/dist/out-tsc/src/default-config/config.blank.units.const.js.map +0 -1
  490. package/dist/out-tsc/src/default-config/config.demo.const.js +0 -739
  491. package/dist/out-tsc/src/default-config/config.demo.const.js.map +0 -1
  492. package/dist/out-tsc/src/environments/environment.js +0 -8
  493. package/dist/out-tsc/src/environments/environment.js.map +0 -1
  494. package/dist/out-tsc/src/environments/environment.prod.js +0 -4
  495. package/dist/out-tsc/src/environments/environment.prod.js.map +0 -1
  496. package/dist/out-tsc/src/main.js +0 -111
  497. package/dist/out-tsc/src/main.js.map +0 -1
  498. package/dist/out-tsc/src/polyfills.js +0 -67
  499. package/dist/out-tsc/src/polyfills.js.map +0 -1
  500. package/dist/out-tsc/src/test-setup.js +0 -1
  501. package/dist/out-tsc/src/test-setup.js.map +0 -1
  502. package/dist/out-tsc/src/test-shims/steelseries-shim.js +0 -44
  503. package/dist/out-tsc/src/test-shims/steelseries-shim.js.map +0 -1
  504. package/dist/out-tsc/src/test.js +0 -84
  505. package/dist/out-tsc/src/test.js.map +0 -1
  506. package/public/chunk-2QCDSHYY.js +0 -2
  507. package/public/chunk-7UI7K4WB.js +0 -52
  508. package/public/chunk-ADTF2732.js +0 -1
  509. package/public/chunk-BRLXMYKY.js +0 -3
  510. package/public/chunk-CWBDCB4U.js +0 -5
  511. package/public/chunk-F5X5MWHG.js +0 -0
  512. package/public/chunk-GYERRI2M.js +0 -1
  513. package/public/chunk-GZCIAVS6.js +0 -2
  514. package/public/chunk-JEFO22J2.js +0 -9
  515. package/public/chunk-JPSGB24W.js +0 -3
  516. package/public/chunk-JWT2WFAW.js +0 -2
  517. package/public/chunk-KITN4REV.js +0 -8
  518. package/public/chunk-KNBOI7TL.js +0 -6
  519. package/public/chunk-L4NM3HUK.js +0 -64
  520. package/public/chunk-LKUCWQH6.js +0 -1
  521. package/public/chunk-MHCWCMEF.js +0 -4
  522. package/public/chunk-PR5JLJLD.js +0 -15
  523. package/public/chunk-QL3G7CWF.js +0 -1
  524. package/public/chunk-RIZZU7FJ.js +0 -1
  525. package/public/chunk-TKCKTVDR.js +0 -4
  526. package/public/chunk-W4VRE5PG.js +0 -2
  527. package/public/chunk-Z6B2WXN3.js +0 -1
  528. package/public/main-PRDRZK7G.js +0 -5
  529. package/public/polyfills-C5VXBGWL.js +0 -2
@@ -1,106 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- import { Injectable, inject, Injector } from '@angular/core';
8
- import { Overlay } from '@angular/cdk/overlay';
9
- import { ComponentPortal } from '@angular/cdk/portal';
10
- import { NotificationBadgeComponent } from '../components/notification-badge/notification-badge.component';
11
- /**
12
- * Service that manages the floating notification badge overlay.
13
- *
14
- * Implementation notes:
15
- * - The badge is rendered in a CDK Overlay as a ComponentPortal so it is not
16
- * nested inside GridStack-managed DOM. This prevents reparenting/detach bugs.
17
- * - The overlay container is created by the AppOverlayContainer provider and
18
- * thus lives inside the application root stacking context.
19
- * - Consumers should call `open()` and `close()` to control visibility. `toggle()`
20
- * is a convenience helper. `isOpen()` provides a safe read-only status.
21
- * - The service implements `OnDestroy` to guarantee disposal of the overlay
22
- * if the service is torn down (important for tests and app teardown).
23
- */
24
- let NotificationOverlayService = class NotificationOverlayService {
25
- overlayRef = null;
26
- overlay = inject(Overlay);
27
- injector = inject(Injector);
28
- open() {
29
- if (this.overlayRef)
30
- return;
31
- this.overlayRef = this.overlay.create({
32
- hasBackdrop: false,
33
- panelClass: 'notification-overlay-panel',
34
- positionStrategy: this.overlay.position().global().bottom('20px').left('20px'),
35
- scrollStrategy: this.overlay.scrollStrategies.reposition()
36
- });
37
- const portal = new ComponentPortal(NotificationBadgeComponent, null, this.injector);
38
- const attached = this.overlayRef.attach(portal);
39
- // Best-effort focus handling to improve keyboard accessibility. We attempt
40
- // to call a `focus()` method on the component instance if present; if not,
41
- // query the overlay pane for the badge button element and focus it.
42
- // Fail silently — accessibility is a progressive enhancement here.
43
- try {
44
- const compInstance = attached && attached.instance;
45
- if (compInstance && typeof compInstance.focus === 'function') {
46
- compInstance.focus();
47
- }
48
- else {
49
- const pane = this.overlayRef.overlayElement;
50
- const btn = pane && pane.querySelector('button[mat-fab], .layout-action-btn');
51
- if (btn && typeof btn.focus === 'function')
52
- btn.focus();
53
- }
54
- }
55
- catch {
56
- // ignore focus errors — do not surface to consumers
57
- }
58
- }
59
- close() {
60
- // Defensive close: dispose overlay if present and always clear the reference
61
- // We swallow throwables from dispose() to avoid breaking caller flows where
62
- // overlay disposal may fail during shutdown.
63
- try {
64
- if (this.overlayRef)
65
- this.overlayRef.dispose();
66
- }
67
- catch (err) {
68
- console.warn('[NotificationOverlayService] dispose failed', err);
69
- }
70
- finally {
71
- this.overlayRef = null;
72
- }
73
- }
74
- toggle(shouldOpen) {
75
- if (shouldOpen)
76
- this.open();
77
- else
78
- this.close();
79
- }
80
- /**
81
- * Return true when an overlay instance is attached and not yet disposed.
82
- * Prefer this over probing internal fields directly.
83
- */
84
- isOpen() {
85
- return !!this.overlayRef;
86
- }
87
- ngOnDestroy() {
88
- // Ensure any live overlay is disposed during service destruction. Swallow
89
- // errors to be robust during application shutdown.
90
- try {
91
- if (this.overlayRef)
92
- this.overlayRef.dispose();
93
- }
94
- catch {
95
- /* ignore */
96
- }
97
- finally {
98
- this.overlayRef = null;
99
- }
100
- }
101
- };
102
- NotificationOverlayService = __decorate([
103
- Injectable({ providedIn: 'root' })
104
- ], NotificationOverlayService);
105
- export { NotificationOverlayService };
106
- //# sourceMappingURL=notification-overlay.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"notification-overlay.service.js","sourceRoot":"","sources":["../../../../../../src/app/core/services/notification-overlay.service.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAa,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,OAAO,EAAc,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,+DAA+D,CAAC;AAE3G;;;;;;;;;;;;GAYG;AAEI,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;IAC7B,UAAU,GAAsB,IAAI,CAAC;IAC5B,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC1B,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAE7C,IAAI;QACF,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO;QAC5B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;YACpC,WAAW,EAAE,KAAK;YAClB,UAAU,EAAE,4BAA4B;YACxC,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;YAC9E,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,UAAU,EAAE;SAC3D,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,0BAA0B,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpF,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAChD,2EAA2E;QAC3E,2EAA2E;QAC3E,oEAAoE;QACpE,mEAAmE;QACnE,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,QAAQ,IAAK,QAAQ,CAAC,QAAoB,CAAC;YAChE,IAAI,YAAY,IAAI,OAAQ,YAAuC,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;gBACxF,YAAsC,CAAC,KAAK,EAAE,CAAC;YAClD,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,cAAoC,CAAC;gBAClE,MAAM,GAAG,GAAG,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,qCAAqC,CAAuB,CAAC;gBACpG,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,UAAU;oBAAE,GAAG,CAAC,KAAK,EAAE,CAAC;YAC1D,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,oDAAoD;QACtD,CAAC;IACH,CAAC;IAED,KAAK;QACH,6EAA6E;QAC7E,4EAA4E;QAC5E,6CAA6C;QAC7C,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,UAAU;gBAAE,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QACjD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,6CAA6C,EAAE,GAAG,CAAC,CAAC;QACnE,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC;IACH,CAAC;IAED,MAAM,CAAC,UAAmB;QACxB,IAAI,UAAU;YAAE,IAAI,CAAC,IAAI,EAAE,CAAC;;YAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACjD,CAAC;IAED;;;OAGG;IACI,MAAM;QACX,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED,WAAW;QACT,0EAA0E;QAC1E,mDAAmD;QACnD,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,UAAU;gBAAE,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QACjD,CAAC;QAAC,MAAM,CAAC;YACP,YAAY;QACd,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC;IACH,CAAC;CACF,CAAA;AAtEY,0BAA0B;IADtC,UAAU,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;GACtB,0BAA0B,CAsEtC"}
@@ -1,322 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- var __metadata = (this && this.__metadata) || function (k, v) {
8
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
- };
10
- var NotificationsService_1;
11
- /**
12
- * This Service handles app notifications sent by the Signal K server.
13
- */
14
- import { Injectable, inject } from '@angular/core';
15
- import { BehaviorSubject, map } from 'rxjs';
16
- import { AppSettingsService } from "./app-settings.service";
17
- import { DefaultNotificationConfig } from '../../../default-config/config.blank.notification.const';
18
- import { SignalkRequestsService } from './signalk-requests.service';
19
- import { DataService } from './data.service';
20
- import { Howl } from 'howler';
21
- import { isEqual } from 'lodash-es';
22
- import { UUID } from '../utils/uuid.util';
23
- import { States, Methods } from '../interfaces/signalk-interfaces';
24
- const alarmTrack = {
25
- 1000: 'notification', // filler / silent (stop)
26
- 1001: 'alert',
27
- 1002: 'warn',
28
- 1003: 'alarm',
29
- 1004: 'emergency',
30
- };
31
- let NotificationsService = class NotificationsService {
32
- static { NotificationsService_1 = this; }
33
- settings = inject(AppSettingsService);
34
- data = inject(DataService);
35
- requests = inject(SignalkRequestsService);
36
- static ALARM_SEVERITIES = {
37
- normal: { sound: 0, visual: 0 },
38
- nominal: { sound: 0, visual: 0 },
39
- alert: { sound: 1, visual: 0 },
40
- warn: { sound: 2, visual: 1 },
41
- alarm: { sound: 3, visual: 2 },
42
- emergency: { sound: 4, visual: 2 },
43
- };
44
- _notificationSettingsSubscription = null;
45
- _notificationDataStreamSubscription = null;
46
- _notificationMetaStreamSubscription = null;
47
- _resetServiceSubscription = null;
48
- _notificationConfig;
49
- _notificationConfig$ = new BehaviorSubject(DefaultNotificationConfig);
50
- _notifications = [];
51
- _notifications$ = new BehaviorSubject([]);
52
- _alarmsInfo$ = new BehaviorSubject({ audioSev: 0, visualSev: 0, alarmCount: 0, isMuted: false });
53
- // --- Howler (audio) state (FIXED LEAKS) ------------------------------------
54
- // Previous version created a new Howl each track change without unloading; onplayerror
55
- // used function() with wrong `this`. We now:
56
- // 1. Cache one Howl per track in _players (looping).
57
- // 2. Stop (not recreate) when switching tracks; reuse existing instance.
58
- // 3. Correct callbacks with arrow functions (lexical this not required).
59
- // 4. Unload all players on destroy.
60
- _players = new Map();
61
- _activeAlarmSoundtrack = null;
62
- _activeHowlId = null;
63
- _isHowlIdMuted = false;
64
- _lastEmittedValue = null;
65
- constructor() {
66
- this._notificationSettingsSubscription = this.settings.getNotificationServiceConfigAsO()
67
- .subscribe((config) => {
68
- this._notificationConfig = config;
69
- this.reset();
70
- this._notificationConfig$.next(config);
71
- if (this._notificationConfig.disableNotifications && !this._notificationDataStreamSubscription?.closed) {
72
- this.stopNotificationStream();
73
- }
74
- if (!this._notificationConfig.disableNotifications &&
75
- (this._notificationDataStreamSubscription === null || this._notificationDataStreamSubscription?.closed)) {
76
- this.startNotificationStream();
77
- }
78
- if (this._notificationConfig.sound.disableSound) {
79
- this.playAlarm(1000);
80
- }
81
- else {
82
- this.updateNotificationsState();
83
- }
84
- });
85
- this._resetServiceSubscription = this.data.isResetService().subscribe(reset => {
86
- if (reset)
87
- this.reset();
88
- });
89
- // Pre-cache silent track player
90
- this.getPlayer(1000);
91
- }
92
- startNotificationStream() {
93
- this._notificationDataStreamSubscription = this.data.getNotificationMsgObservable()
94
- .subscribe((msg) => this.processNotificationDeltaMsg(msg));
95
- this._notificationMetaStreamSubscription = this.data.getNotificationMetaObservable()
96
- .subscribe((meta) => this.processNotificationDeltaMeta(meta));
97
- }
98
- stopNotificationStream() {
99
- this._notificationDataStreamSubscription?.unsubscribe();
100
- this._notificationMetaStreamSubscription?.unsubscribe();
101
- this.reset();
102
- }
103
- reset() {
104
- if (this._notificationConfig.disableNotifications) {
105
- this._notifications = [];
106
- this._notifications$.next([]);
107
- }
108
- this.updateNotificationsState();
109
- }
110
- observeNotifications() {
111
- return this._notifications$;
112
- }
113
- addValue(msg) {
114
- this._notifications.push({ path: msg.path, value: msg.value });
115
- this.updateNotificationsState();
116
- this._notifications$.next(this._notifications);
117
- }
118
- updateValue(msg) {
119
- const notificationToUpdate = this._notifications.find(item => item.path == msg.path);
120
- if (notificationToUpdate) {
121
- notificationToUpdate.value = { ...msg.value };
122
- this.updateNotificationsState();
123
- this._notifications$.next(this._notifications);
124
- }
125
- else {
126
- console.log("[Notification Service] Update path not found for: " + msg.path);
127
- }
128
- }
129
- deleteValue(path) {
130
- const notification = this._notifications.find(n => n.path == path);
131
- if (notification) {
132
- delete notification.value;
133
- this.updateNotificationsState();
134
- this._notifications$.next(this._notifications);
135
- }
136
- else {
137
- console.log("[Notification Service] Notification to delete not found for: " + path);
138
- }
139
- }
140
- updateNotificationsState() {
141
- let audioSev = 0;
142
- let visualSev = 0;
143
- let activeNotifications = 0;
144
- for (const alarm of this._notifications) {
145
- if (!alarm.value || !('method' in alarm.value) || alarm.value.method.length === 0)
146
- continue;
147
- if ((alarm.value['state'] === States.Normal && !this._notificationConfig.devices.showNormalState) ||
148
- (alarm.value['state'] === States.Nominal && !this._notificationConfig.devices.showNominalState)) {
149
- continue;
150
- }
151
- activeNotifications++;
152
- const { aSev, vSev } = this.getNotificationSeverity(alarm);
153
- audioSev = Math.max(audioSev, aSev);
154
- visualSev = Math.max(visualSev, vSev);
155
- }
156
- if (!this._notificationConfig.sound.disableSound) {
157
- this.playAlarm(1000 + audioSev);
158
- }
159
- const newValue = {
160
- audioSev,
161
- visualSev,
162
- alarmCount: activeNotifications,
163
- isMuted: this._isHowlIdMuted
164
- };
165
- if (!isEqual(newValue, this._lastEmittedValue)) {
166
- this._alarmsInfo$.next(newValue);
167
- this._lastEmittedValue = newValue;
168
- }
169
- }
170
- processNotificationDeltaMsg(delta) {
171
- if (delta.path.startsWith("notifications.security"))
172
- return;
173
- if (delta.value === null) {
174
- this.deleteValue(delta.path);
175
- }
176
- else {
177
- const existing = this._notifications.find(i => i.path == delta.path);
178
- if (existing) {
179
- if (!existing.value ||
180
- existing.value['state'] !== delta.value['state'] ||
181
- existing.value['message'] !== delta.value['message'] ||
182
- !isEqual(existing.value['method'], delta.value['method'])) {
183
- this.updateValue(delta);
184
- }
185
- }
186
- else {
187
- this.addValue(delta);
188
- }
189
- }
190
- }
191
- processNotificationDeltaMeta(metaDelta) {
192
- const existing = this._notifications.find(i => i.path == metaDelta.path);
193
- if (existing) {
194
- existing.meta = metaDelta.meta;
195
- }
196
- else {
197
- this._notifications.push({ path: metaDelta.path, meta: metaDelta.meta });
198
- }
199
- this._notifications$.next(this._notifications);
200
- }
201
- getNotificationSeverity(message) {
202
- const state = message.value['state'];
203
- const severity = NotificationsService_1.ALARM_SEVERITIES[state];
204
- if (!severity) {
205
- console.log("[Notification Service] Unknown Notification State\n" + JSON.stringify(message));
206
- return { aSev: 0, vSev: 0 };
207
- }
208
- let aSev = severity.sound;
209
- let vSev = severity.visual;
210
- if (!message.value['method'].includes(Methods.Sound) ||
211
- this._notificationConfig.sound[`mute${state.charAt(0).toUpperCase() + state.slice(1)}`] ||
212
- this._isHowlIdMuted) {
213
- aSev = 0;
214
- }
215
- if (!message.value['method'].includes(Methods.Visual)) {
216
- vSev = 0;
217
- }
218
- return { aSev, vSev };
219
- }
220
- setSkMethod(path, method) {
221
- this.requests.putRequest(`${path}.method`, method, UUID.create());
222
- }
223
- setSkState(path, state) {
224
- this.requests.putRequest(`${path}.state`, state, UUID.create());
225
- }
226
- observerNotificationsInfo() {
227
- return this._alarmsInfo$.pipe(map((info) => {
228
- let isWarn = false;
229
- let isAlarmEmergency = false;
230
- switch (info.visualSev) {
231
- case 1:
232
- isWarn = true;
233
- break;
234
- case 2:
235
- isAlarmEmergency = true;
236
- break;
237
- }
238
- return { ...info, isWarn, isAlarmEmergency };
239
- }));
240
- }
241
- // ---- HOWLER FIXED IMPLEMENTATION -----------------------------------------
242
- getPlayer(track) {
243
- if (this._players.has(track))
244
- return this._players.get(track);
245
- const name = alarmTrack[track];
246
- if (!name) {
247
- console.warn('[Notification Service] Unknown track id', track);
248
- return this.getPlayer(1000);
249
- }
250
- const player = new Howl({
251
- src: [`assets/${name}.mp3`],
252
- autoplay: false,
253
- preload: true,
254
- loop: true,
255
- onloaderror: (_id, err) => {
256
- console.log("[Notification Service] load error track:", track, err);
257
- },
258
- onplayerror: (_id, err) => {
259
- console.log("[Notification Service] play locked track:", track, err);
260
- player.once('unlock', () => player.play());
261
- }
262
- });
263
- this._players.set(track, player);
264
- return player;
265
- }
266
- mutePlayer(state) {
267
- if (this._activeAlarmSoundtrack != null && this._activeAlarmSoundtrack !== 1000) {
268
- const p = this._players.get(this._activeAlarmSoundtrack);
269
- if (p && this._activeHowlId != null)
270
- p.mute(state, this._activeHowlId);
271
- }
272
- this._isHowlIdMuted = state;
273
- this.updateNotificationsState();
274
- }
275
- playAlarm(trackId) {
276
- if (this._activeAlarmSoundtrack === trackId)
277
- return;
278
- // Stop previous track (do not unload to allow reuse)
279
- if (this._activeAlarmSoundtrack != null) {
280
- const prev = this._players.get(this._activeAlarmSoundtrack);
281
- prev?.stop();
282
- }
283
- if (trackId === 1000) {
284
- this._activeAlarmSoundtrack = 1000;
285
- this._activeHowlId = null;
286
- return;
287
- }
288
- const player = this.getPlayer(trackId);
289
- this._activeAlarmSoundtrack = trackId;
290
- this._activeHowlId = player.play();
291
- player.mute(this._isHowlIdMuted, this._activeHowlId);
292
- }
293
- // --------------------------------------------------------------------------
294
- observeNotificationConfiguration() {
295
- return this._notificationConfig$.asObservable();
296
- }
297
- ngOnDestroy() {
298
- this._notificationSettingsSubscription?.unsubscribe();
299
- this._resetServiceSubscription?.unsubscribe();
300
- this._notificationDataStreamSubscription?.unsubscribe();
301
- this._notificationMetaStreamSubscription?.unsubscribe();
302
- this._notificationConfig$.complete();
303
- this._notifications$.complete();
304
- this._alarmsInfo$.complete();
305
- // Unload all cached Howl instances
306
- for (const p of this._players.values()) {
307
- try {
308
- p.unload();
309
- }
310
- catch {
311
- // Intentionally ignore errors during Howl unload
312
- }
313
- }
314
- this._players.clear();
315
- }
316
- };
317
- NotificationsService = NotificationsService_1 = __decorate([
318
- Injectable({ providedIn: 'root' }),
319
- __metadata("design:paramtypes", [])
320
- ], NotificationsService);
321
- export { NotificationsService };
322
- //# sourceMappingURL=notifications.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"notifications.service.js","sourceRoot":"","sources":["../../../../../../src/app/core/services/notifications.service.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- import { TestBed } from '@angular/core/testing';
2
- import { NotificationsService } from './notifications.service';
3
- describe('NotificationsService', () => {
4
- beforeEach(() => TestBed.configureTestingModule({}));
5
- it('should be created', () => {
6
- const service = TestBed.inject(NotificationsService);
7
- expect(service).toBeTruthy();
8
- });
9
- });
10
- //# sourceMappingURL=notifications.service.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"notifications.service.spec.js","sourceRoot":"","sources":["../../../../../../src/app/core/services/notifications.service.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE/D,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC;IAErD,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC3B,MAAM,OAAO,GAAyB,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAC3E,MAAM,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,CAAC;IAC/B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,125 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- var __metadata = (this && this.__metadata) || function (k, v) {
8
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
- };
10
- import { DestroyRef, effect, inject, Injectable, untracked } from '@angular/core';
11
- import { lastValueFrom } from 'rxjs';
12
- import { HttpClient } from '@angular/common/http';
13
- import { AppSettingsService } from './app-settings.service';
14
- import { DashboardService } from './dashboard.service';
15
- import { DataService } from './data.service';
16
- import { takeUntilDestroyed, toSignal } from '@angular/core/rxjs-interop';
17
- let RemoteDashboardsService = class RemoteDashboardsService {
18
- _http = inject(HttpClient);
19
- _settings = inject(AppSettingsService);
20
- _dashboard = inject(DashboardService);
21
- _data = inject(DataService);
22
- _destroyRef = inject(DestroyRef);
23
- _displayName = toSignal(this._settings.getInstanceNameAsO());
24
- _isRemoteControl = toSignal(this._settings.getIsRemoteControlAsO());
25
- PLUGIN_URL = this._settings.signalkUrl.url + '/plugins/kip';
26
- KIP_UUID = this._settings.KipUUID;
27
- ACTIVE_SCREEN_PATH = `self.displays.${this.KIP_UUID}.activeScreen`;
28
- previousIsRemoteControl = false;
29
- constructor() {
30
- effect(() => {
31
- // Whenever the dashboards or display name or remote control setting changes, share the new state with the server
32
- const isRemoteControl = this._isRemoteControl();
33
- if (!isRemoteControl && !this.previousIsRemoteControl)
34
- return;
35
- const displayName = this._displayName();
36
- const dashboards = this._dashboard.dashboards();
37
- untracked(() => {
38
- this.previousIsRemoteControl = isRemoteControl;
39
- let screensPayload = undefined;
40
- let activeDashboard = undefined;
41
- if (!isRemoteControl) {
42
- // If remote control is disabled, clear out the displayName, screens and activeScreen on the server
43
- screensPayload = null;
44
- activeDashboard = null;
45
- }
46
- else {
47
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
48
- const dashboardListItems = dashboards.map(({ configuration, ...rest }) => rest);
49
- screensPayload = {
50
- displayName: displayName,
51
- screens: dashboardListItems
52
- };
53
- activeDashboard = this._dashboard.activeDashboard();
54
- }
55
- // Share the screens configuration with the server
56
- this.shareScreens(this.KIP_UUID, screensPayload).then(() => {
57
- console.log('[Remote Dashboards] Screens shared');
58
- }).catch((err) => {
59
- console.error('[Remote Dashboards] Error sharing screens:', err);
60
- });
61
- // If remote control is disabled, also clear out the activeScreen on the server
62
- this.setActiveDashboard(this.KIP_UUID, activeDashboard).then(() => {
63
- console.log('[Remote Dashboards] Shared active dashboard');
64
- }).catch((err) => {
65
- console.error('[Remote Dashboards] Error sharing active dashboard:', err);
66
- });
67
- });
68
- });
69
- effect(() => {
70
- // Whenever the active dashboard changes and remote control is enabled, share the new active dashboard with the server
71
- const isRemoteControl = this._isRemoteControl();
72
- if (!isRemoteControl)
73
- return;
74
- const activeIdx = this._dashboard.activeDashboard();
75
- untracked(() => {
76
- this.setActiveDashboard(this.KIP_UUID, activeIdx).then(() => {
77
- console.log('[Remote Dashboards] Shared active dashboard');
78
- }).catch((err) => {
79
- console.error('[Remote Dashboards] Error sharing active dashboard:', err);
80
- });
81
- });
82
- });
83
- this.setupRemoteControlListener();
84
- }
85
- setupRemoteControlListener() {
86
- this._settings.getIsRemoteControlAsO()
87
- .pipe(takeUntilDestroyed(this._destroyRef))
88
- .subscribe(isRemote => {
89
- if (isRemote) {
90
- this._data.subscribePath(this.ACTIVE_SCREEN_PATH, 'default')
91
- .pipe(takeUntilDestroyed(this._destroyRef))
92
- .subscribe(update => {
93
- if (update.data.value == null)
94
- return;
95
- const idx = Number(update.data.value);
96
- if (!isNaN(idx) && idx >= 0 && idx < this._dashboard.dashboards().length) {
97
- if (this._dashboard.activeDashboard() !== idx) {
98
- console.log(`[Remote Dashboards] Setting active dashboard to ${idx} from remote update`);
99
- this._dashboard.navigateTo(idx);
100
- }
101
- }
102
- });
103
- }
104
- else {
105
- this._data.unsubscribePath(this.ACTIVE_SCREEN_PATH);
106
- }
107
- });
108
- }
109
- async setActiveDashboard(kipId, screenIdx) {
110
- const body = screenIdx === null ? null : { screenIdx };
111
- return lastValueFrom(this._http.put(`${this.PLUGIN_URL}/displays/${kipId}/activeScreen`, body));
112
- }
113
- shareScreens(kipId, screensPayload) {
114
- const body = screensPayload === null ? null : { ...screensPayload };
115
- return lastValueFrom(this._http.put(`${this.PLUGIN_URL}/displays/${kipId}`, body));
116
- }
117
- };
118
- RemoteDashboardsService = __decorate([
119
- Injectable({
120
- providedIn: 'root'
121
- }),
122
- __metadata("design:paramtypes", [])
123
- ], RemoteDashboardsService);
124
- export { RemoteDashboardsService };
125
- //# sourceMappingURL=remote-dashboards.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"remote-dashboards.service.js","sourceRoot":"","sources":["../../../../../../src/app/core/services/remote-dashboards.service.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- import { TestBed } from '@angular/core/testing';
2
- import { RemoteDashboardsService } from './remote-dashboards.service';
3
- describe('RemoteDashboardsService', () => {
4
- let service;
5
- beforeEach(() => {
6
- TestBed.configureTestingModule({});
7
- service = TestBed.inject(RemoteDashboardsService);
8
- });
9
- it('should be created', () => {
10
- expect(service).toBeTruthy();
11
- });
12
- });
13
- //# sourceMappingURL=remote-dashboards.service.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"remote-dashboards.service.spec.js","sourceRoot":"","sources":["../../../../../../src/app/core/services/remote-dashboards.service.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAEtE,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,IAAI,OAAgC,CAAC;IAErC,UAAU,CAAC,GAAG,EAAE;QACd,OAAO,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;QACnC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC3B,MAAM,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,CAAC;IAC/B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}