@mxtommy/kip 2.5.0 → 2.7.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.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,26 @@
1
+ # V 2.7.0
2
+ ## New features
3
+ * Boolean Control Panel Widget: Added Push button and Light indicator controls
4
+ * Application loading spinner animation during KIP startup replacing the blank screen visible on slow network/devices improving user experience
5
+ ## Improvements
6
+ * Boolean Control Panel Widget Options: Ability to change control position, layout clean up and enhanced responsive design
7
+ * Date & Time Widget Options: Added pre populated selection list of available Time Zones enhancing usability
8
+ * Auto Night Mode feature now based on environment.mode path aligning to latest Signal K specifications. The change is backward compatible
9
+ ## Fixes
10
+ * Improved Settings / Storage tab [object Object] error message when Signal K server's Application Storage service is not accessible from KIP
11
+ # V 2.6.0
12
+ ## New features
13
+ * New Boolean Switches Widget. The first addition to a new series of multi-paths boolean Widgets
14
+ * Automatic server URL discovery simplifying basic KIP configuration
15
+ ## Improvements
16
+ * Request/Response 403 Status Code message improving end user troubleshooting when using PUT operations. Applies to Boolean and AP widgets.
17
+ * Sass styles cleanup reducing css files size
18
+ * Dependency cleanup reducing install time and removing unnecessary package installation
19
+ * KIP dependency version update
20
+ ## Fixes
21
+ * Can't save Widget Options with Widgets that have optional configuration features when paths are not available/supplied from Signal K
22
+ * Widget Options/Paths form UI validation issues providing cleaner user feedback
23
+ * AP compass dial numbers not visible in all themes. Special thanks to @rezder
1
24
  # V 2.5.0
2
25
  ## New features
3
26
  * Course Over Ground indicator added to Wind Widget
@@ -46,7 +69,7 @@
46
69
  # V 2.2.0
47
70
  ## New features
48
71
  * Option to enable automatic day and night modes activation based on sun phases
49
- * Path data throttling feature added to Widget Options Paths providing greater flexibilty and UI experience
72
+ * Path data throttling feature added to Widget Options Paths providing greater flexibility and UI experience
50
73
  # V 2.1.3
51
74
  ## Improvements
52
75
  * automatic upgrade of older KIP v6 configuration
@@ -64,7 +87,7 @@
64
87
  * Latitude and Longitude format by @godind in https://github.com/mxtommy/Kip/pull/204
65
88
  * numeric with decimal and long/lat by @godind in https://github.com/mxtommy/Kip/pull/205
66
89
  * West Longitudes show negatives by @godind in https://github.com/mxtommy/Kip/pull/206
67
- * App-help-styiling-to-Angular by @godind in https://github.com/mxtommy/Kip/pull/207
90
+ * App-help-styling-to-Angular by @godind in https://github.com/mxtommy/Kip/pull/207
68
91
  * Bump @babel/traverse from 7.23.0 to 7.23.2 by @dependabot in https://github.com/mxtommy/Kip/pull/194
69
92
  # V 2.0.1
70
93
  ## Improvements
@@ -80,7 +103,7 @@
80
103
  * Data/time Widget. Special thanks to techgardeners
81
104
  * Ah and kWh units support. Special thanks to amirlanesman
82
105
  * New Storage Service
83
- * New Authentification Service
106
+ * New Authentication Service
84
107
  * New App bootstrap Init Service
85
108
  ## Improvements
86
109
  * Button/Switch Widget UI improvement to On/Off status indicator
@@ -89,7 +112,7 @@
89
112
  * Reduced bundle size
90
113
  * Streamlined Widget framework to facilitate Widget contribution and creation
91
114
  * Migration to RxJS WebSocket
92
- * Improved JavaScript Web Token (JWT) management using HTTP Intreceptor
115
+ * Improved JavaScript Web Token (JWT) management using HTTP Interceptor
93
116
  * Improved management of Signal K communications reducing server buffer overflow and server-side termination exceptions handling.
94
117
  * Support for Signal K Delta Metadata updates
95
118
  * Retirement of full.service in favor of the Delta service for improved performance, reduced CPU load and code simplification
@@ -102,7 +125,7 @@
102
125
  ## Fixes
103
126
  * widget-numeric.component.html code typo preventing proper theme rendering. Special thanks to mhaberler
104
127
  * Issue where simple linear gauge assumes min value=0. Special thanks to amirlanesman
105
- * Fix spelling in datasets configuration. Special tahnks to philipa
128
+ * Fix spelling in datasets configuration. Special thanks to philipa
106
129
  # V 1.3.1
107
130
  * Angular production build script update
108
131
  * fixed historical widget axis and label theming color, thanks VibroAxe
@@ -110,11 +133,11 @@
110
133
  * Platform update to Node 14, Angular and Angular Material 12
111
134
  * Upgrade to Awesomefont6 with new icon style classes update
112
135
  * Retired old node-sass in favor of new Sass module
113
- * Dependecies updated to latest
136
+ * Dependencies updated to latest
114
137
  * App manifest added, thanks VibroAxe
115
138
  * Added new ng server dev configuration with map files enabling debugger breakpoints. Use: ng server --configuration=dev to enable VS Code debugger map file and inline break points.
116
- * Fixed issue: Latest Master doesn't build #111 - NG-Canvas-Gauge package dependecy
117
- * Fix Kip N2K Autopilot gauge buttons layout and modes feature. AP Gauge should work with Raymarine Seatalk, N2K APs and SmartPilots connected to Seatalk-STNG-Converter device. Latest n2k-signalk (2.5.2+) and signalk-autopitot (v1.2.5+) plugin are required.
139
+ * Fixed issue: Latest Master doesn't build #111 - NG-Canvas-Gauge package dependency
140
+ * Fix Kip N2K Autopilot gauge buttons layout and modes feature. AP Gauge should work with Raymarine Seatalk, N2K APs and SmartPilots connected to Seatalk-STNG-Converter device. Latest n2k-signalk (2.5.2+) and signalk-autopilot (v1.2.5+) plugin are required.
118
141
 
119
142
  # V 1.2.3
120
143
  * Fix bug in ng-Gauges initialization
@@ -141,7 +164,7 @@
141
164
  * Allow paths that do not exist in path input.
142
165
  * Added percent unit
143
166
  * Optimize font size calculations by up to 50x on numeric widget
144
- * Added a new color option on linear gauges (No Progress). Makes it just the needle, usefull for example rudder position
167
+ * Added a new color option on linear gauges (No Progress). Makes it just the needle, useful for example rudder position
145
168
 
146
169
  ## Bugfix/Other
147
170
  * Refactor alarms/notification service.
@@ -178,7 +201,7 @@
178
201
  * Work on ng gauges
179
202
 
180
203
  ### V1.0.2
181
- * Tooltip for long messages, and hide badge when 0 unacked alarms
204
+ * Tooltip for long messages, and hide badge when 0 unacknowledged alarms
182
205
 
183
206
  ### V1.0.1
184
207
  * Respect methods for alarms!
@@ -220,7 +243,7 @@
220
243
  ### V0.1.7
221
244
  Note, Any configs stored in browser will be lost as config format has changed.
222
245
  * Performance gain in Numeric widget in large fonts
223
- * Sailgauge updates (laylines, windsectors, general refactor)
246
+ * Sailgauge updates (laylines, wind sectors, general refactor)
224
247
  * Simplified source selection in the code
225
248
  * Removed Derived Data
226
249
  * Added Percentage unit, and stopped showing "no unit" on numeric
package/README.md CHANGED
@@ -23,7 +23,7 @@ The idea is to replicate the functionality of MFDs such as the B&G Triton, Rayma
23
23
  - Swipe left and right to cycle trough your Widget layouts.
24
24
  - Double tap to toggle night mode.
25
25
 
26
- ### Run KIP As a Web Application
26
+ ### KIP Mobille App
27
27
  Run KIP in full screen, with no browser controls visible, just like regular mobile apps. This feature is supported on most mobile OS. Each browser has it's own way of handling PWA deployments.
28
28
 
29
29
  To install KIP as an App, first load KIP in the browser. Then follow the steps below:
@@ -31,7 +31,7 @@ To install KIP as an App, first load KIP in the browser. Then follow the steps b
31
31
  **iOS**
32
32
  1. Press the "Share" button
33
33
  2. Select "Add to Home Screen" from the action popup list
34
- 3. Tap "Add" in the top right corner to finish installing
34
+ 3. Tap "Add" in the top right corner to finish installation.
35
35
  KIP is now installed and available on your home screen
36
36
 
37
37
  **Android**
@@ -113,26 +113,26 @@ KIP is now installed and available on your home screen
113
113
  As an example, KIP will notify you (inform, warn, alert) when a water depth or temperature sensors reaches certain levels. In addition to KIP's centralized basic visual and audio notification feature, each Widget offers a tailored visual representation appropriate
114
114
  to their design objectives providing an optimal user experience.
115
115
 
116
- # How To Contribute to KIP
116
+ # How To Contribute
117
117
 
118
118
  KIP is under MIT license and is built with Nodes and Angular using various open-source assets. All free!
119
119
 
120
120
  **Tools**
121
121
 
122
- Linux, Macs, Pi or Windows dev platform supported
122
+ Linux, Mac, Pi or Windows dev platform supported
123
123
  1. Install the latest Node version (v16+, v18 recommended)
124
124
  2. Download your favorite coding IDE (we use the free Visual Code)
125
125
  3. Create your own GitHub KIP fork.
126
- 4. Configure your IDE's source control to point to your forked KIP instance (With Visual Code, GitHub support is built-in) and get the latest Master branch locally.
126
+ 4. Configure your IDE's source control to point to your forked KIP instance (With Visual Code, GitHub support is built-in) and get the fork's Master branch locally.
127
127
 
128
- **Setup**
128
+ **Coding**
129
129
  1. From your fork's Master branch, create working branch with a name such as: New-Widget-abc or fix-issue-abc, etc.
130
- 2. Checkout this new Branch to get the source code locally.
131
- 3. In a command shell (or in the Visual Code Terminal window), go to the root of you local project folder.
130
+ 2. Checkout this new Branch.
131
+ 3. In a command shell (or in the Visual Code Terminal window), go to the root of you local project branch folder, if not done automatically by your IDE.
132
132
  4. Install project dependencies using NPM package and dependency manager: run `npm install`. NPM will read Kip project dependencies (see Steps 2), download and install everything automatically for you.
133
133
  5. Build the app locally using Angular-CLI: from that same project root folder, run `ng build`. CLI tool will build KIP.
134
134
 
135
- **Work**
135
+ **Setup**
136
136
  1. Fire up your local dev instance with `npm run dev`.
137
137
  2. Hit Run/Start Debugging in Visual Code or point your favorite browser to `http://localhost:4200/@mxtommy/kip`
138
138
  3. Voila!
package/package.json CHANGED
@@ -1,13 +1,16 @@
1
1
  {
2
2
  "name": "@mxtommy/kip",
3
- "version": "2.5.0",
3
+ "version": "2.7.0",
4
4
  "description": "An advanced and versatile marine instrumentation package to display Signal K data.",
5
5
  "license": "MIT",
6
6
  "author": {
7
- "name": "Thomas St.Pierre",
8
- "email": "thomas@samoht.ca"
7
+ "name": "Thomas St.Pierre, David Godin"
9
8
  },
10
9
  "contributors": [
10
+ {
11
+ "name": "Thomas St.Pierre",
12
+ "email": "thomas@samoht.ca"
13
+ },
11
14
  {
12
15
  "name": "David Godin",
13
16
  "email": "godind@hotmail.com"
@@ -43,9 +46,19 @@
43
46
  },
44
47
  "devDependencies": {
45
48
  "@angular-devkit/build-angular": "^14.2.13",
49
+ "@angular/animations": "14.3.0",
50
+ "@angular/cdk": "^14.2.7",
46
51
  "@angular/cli": "^14.2.13",
52
+ "@angular/common": "14.3.0",
53
+ "@angular/compiler": "14.3.0",
47
54
  "@angular/compiler-cli": "14.3.0",
55
+ "@angular/core": "14.3.0",
56
+ "@angular/forms": "14.3.0",
48
57
  "@angular/language-service": "14.3.0",
58
+ "@angular/material": "^14.2.7",
59
+ "@angular/platform-browser": "14.3.0",
60
+ "@angular/platform-browser-dynamic": "14.3.0",
61
+ "@angular/router": "14.3.0",
49
62
  "@types/canvas-gauges": "^2.1.2",
50
63
  "@types/hammerjs": "^2.0.45",
51
64
  "@types/howler": "^2.2.10",
@@ -54,49 +67,37 @@
54
67
  "@types/js-quantities": "^1.6.4",
55
68
  "@types/lodash-es": "^4.17.9",
56
69
  "@types/node": "^20.8.6",
57
- "codelyzer": "^6.0.0",
58
- "jasmine-core": "~4.0.1",
59
- "jasmine-spec-reporter": "~5.0.0",
60
- "karma": "~6.3.17",
61
- "karma-chrome-launcher": "~3.1.0",
62
- "karma-cli": "~2.0.0",
63
- "karma-coverage-istanbul-reporter": "^3.0.3",
64
- "karma-jasmine": "~4.0.0",
65
- "karma-jasmine-html-reporter": "^1.6.0",
66
- "protractor": "~7.0.0",
67
- "sass": "^1.49.9",
68
- "ts-node": "^8.10.2",
69
- "tslib": "^2.2.0",
70
- "tslint": "^6.1.3",
71
- "typescript": "^4.6.4",
72
- "pwa-asset-generator": "^6.3.1"
73
- },
74
- "dependencies": {
75
- "@angular/animations": "14.3.0",
76
- "@angular/cdk": "^14.2.7",
77
- "@angular/common": "14.3.0",
78
- "@angular/compiler": "14.3.0",
79
- "@angular/core": "14.3.0",
80
- "@angular/forms": "14.3.0",
81
- "@angular/material": "^14.2.7",
82
- "@angular/platform-browser": "14.3.0",
83
- "@angular/platform-browser-dynamic": "14.3.0",
84
- "@angular/router": "14.3.0",
85
70
  "angular-resize-event": "^3.2.0",
86
71
  "angular-split": "^14.1.0",
87
72
  "canvas-gauges": "^2.1.7",
88
73
  "chart.js": "^3.5.1",
89
74
  "chartjs-adapter-date-fns": "^3.0.0",
75
+ "codelyzer": "^6.0.0",
90
76
  "compare-versions": "^5.0.1",
91
77
  "core-js": "^3.13.1",
92
78
  "date-fns": "^2.30.0",
93
79
  "hammerjs": "^2.0.8",
94
80
  "howler": "^2.2.4",
81
+ "jasmine-core": "~4.0.1",
82
+ "jasmine-spec-reporter": "~5.0.0",
95
83
  "js-quantities": "^1.8.0",
84
+ "karma": "~6.3.17",
85
+ "karma-chrome-launcher": "~3.1.0",
86
+ "karma-cli": "~2.0.0",
87
+ "karma-coverage-istanbul-reporter": "^3.0.3",
88
+ "karma-jasmine": "~4.0.0",
89
+ "karma-jasmine-html-reporter": "^1.6.0",
96
90
  "lodash-es": "^4.17.21",
91
+ "protractor": "~7.0.0",
92
+ "pwa-asset-generator": "^6.3.1",
97
93
  "rx-dom-html": "^7.0.3",
98
94
  "rxjs": "^7.5.7",
95
+ "sass": "^1.49.9",
99
96
  "screenfull": "^6.0.2",
97
+ "ts-node": "^8.10.2",
98
+ "tslib": "^2.2.0",
99
+ "tslint": "^6.1.3",
100
+ "typescript": "^4.8.4",
100
101
  "zone.js": "~0.11.4"
101
102
  }
102
103
  }
@@ -66,19 +66,6 @@ MIT
66
66
  @angular/router
67
67
  MIT
68
68
 
69
- @kurkle/color
70
- MIT
71
- The MIT License (MIT)
72
-
73
- Copyright (c) 2018-2021 Jukka Kurkela
74
-
75
- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
76
-
77
- The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
78
-
79
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
80
-
81
-
82
69
  angular-resize-event
83
70
  MIT
84
71
 
package/public/index.html CHANGED
@@ -42,8 +42,23 @@
42
42
  <link rel="apple-touch-startup-image" href="assets/apple-splash-1334-750.jpg" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)">
43
43
  <link rel="apple-touch-startup-image" href="assets/apple-splash-640-1136.jpg" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)">
44
44
  <link rel="apple-touch-startup-image" href="assets/apple-splash-1136-640.jpg" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)">
45
- <style>html,body,app-root{height:100%}body{margin:0;touch-action:none}</style><link rel="stylesheet" href="styles.a5d5fc1506885765.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="styles.a5d5fc1506885765.css"></noscript></head>
45
+ <style>html,body,app-root{height:100%}body{margin:0;touch-action:none}.loader-container{height:100%;width:100%;background-color:#424242}#loader{height:175px;inset:0;margin:auto;position:absolute;width:175px}#loader .dot{height:100%;inset:0;margin:auto;position:absolute;width:87.5px}#loader .dot:before{border-radius:100%;content:"";height:87.5px;left:0;position:absolute;right:0;top:0;transform:scale(0);width:87.5px}#loader .dot:nth-child(7n+1){transform:rotate(45deg)}#loader .dot:nth-child(7n+1):before{animation:.8s linear .1s normal none infinite running load;background:#e5ab13 none repeat scroll 0 0}#loader .dot:nth-child(7n+2){transform:rotate(90deg)}#loader .dot:nth-child(7n+2):before{animation:.8s linear .2s normal none infinite running load;background:#f0ca31 none repeat scroll 0 0}#loader .dot:nth-child(7n+3){transform:rotate(135deg)}#loader .dot:nth-child(7n+3):before{animation:.8s linear .3s normal none infinite running load;background:#92c7e9 none repeat scroll 0 0}#loader .dot:nth-child(7n+4){transform:rotate(180deg)}#loader .dot:nth-child(7n+4):before{animation:.8s linear .4s normal none infinite running load;background:#63afdf none repeat scroll 0 0}#loader .dot:nth-child(7n+5){transform:rotate(225deg)}#loader .dot:nth-child(7n+5):before{animation:.8s linear .5s normal none infinite running load;background:#3586ca none repeat scroll 0 0}#loader .dot:nth-child(7n+6){transform:rotate(270deg)}#loader .dot:nth-child(7n+6):before{animation:.8s linear .6s normal none infinite running load;background:#d52626 none repeat scroll 0 0}#loader .dot:nth-child(7n+7){transform:rotate(315deg)}#loader .dot:nth-child(7n+7):before{animation:.8s linear .7s normal none infinite running load;background:#e26767 none repeat scroll 0 0}#loader .dot:nth-child(7n+8){transform:rotate(360deg)}#loader .dot:nth-child(7n+8):before{animation:.8s linear .8s normal none infinite running load;background:#f8e598 none repeat scroll 0 0}#loader .loading{background-position:50% 50%;background-repeat:no-repeat;bottom:-40px;height:20px;left:0;position:absolute;right:0;width:180px}@keyframes load{to{opacity:0;transform:scale(1)}}</style><link rel="stylesheet" href="styles.7fd0e0a82566fef7.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="styles.7fd0e0a82566fef7.css"></noscript></head>
46
46
  <body>
47
- <app-root></app-root>
48
- <script src="runtime.e75056c32c37f59d.js" type="module"></script><script src="polyfills.64db6be9cdc8f808.js" type="module"></script><script src="main.026c51a2aa2a2ac8.js" type="module"></script>
47
+ <app-root>
48
+ <div class="loader-container">
49
+ <div id="loader">
50
+ <div class="dot"></div>
51
+ <div class="dot"></div>
52
+ <div class="dot"></div>
53
+ <div class="dot"></div>
54
+ <div class="dot"></div>
55
+ <div class="dot"></div>
56
+ <div class="dot"></div>
57
+ <div class="dot"></div>
58
+ <div class="loading"></div>
59
+ </div>
60
+ </div>
61
+ </app-root>
62
+ <script src="runtime.e75056c32c37f59d.js" type="module"></script><script src="polyfills.64db6be9cdc8f808.js" type="module"></script><script src="main.983d1ca922519d80.js" type="module"></script>
63
+
49
64
  </body></html>