@mxtommy/kip 3.0.0-beta.31 → 3.0.0-beta.33

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mxtommy/kip",
3
- "version": "3.0.0-beta.31",
3
+ "version": "3.0.0-beta.33",
4
4
  "description": "An advanced and versatile marine instrumentation package to display Signal K data.",
5
5
  "license": "MIT",
6
6
  "author": {
@@ -98,10 +98,13 @@
98
98
  "rxjs": "^7.5.7",
99
99
  "sass": "^1.49.9",
100
100
  "screenfull": "^6.0.2",
101
+ "ngx-markdown": "^18.1.0",
101
102
  "ts-node": "^8.10.2",
102
103
  "tslib": "^2.6.2",
103
104
  "tslint": "^6.1.3",
104
105
  "typescript": "^5.4.5",
105
106
  "zone.js": "~0.14.10"
107
+ },
108
+ "dependencies": {
106
109
  }
107
110
  }
@@ -350,32 +350,6 @@ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
350
350
  LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
351
351
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
352
352
  PERFORMANCE OF THIS SOFTWARE.
353
- --------------------------------------------------------------------------------
354
- Package: @angular/cdk
355
- License: "MIT"
356
-
357
- The MIT License
358
-
359
- Copyright (c) 2024 Google LLC.
360
-
361
- Permission is hereby granted, free of charge, to any person obtaining a copy
362
- of this software and associated documentation files (the "Software"), to deal
363
- in the Software without restriction, including without limitation the rights
364
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
365
- copies of the Software, and to permit persons to whom the Software is
366
- furnished to do so, subject to the following conditions:
367
-
368
- The above copyright notice and this permission notice shall be included in
369
- all copies or substantial portions of the Software.
370
-
371
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
372
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
373
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
374
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
375
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
376
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
377
- THE SOFTWARE.
378
-
379
353
  --------------------------------------------------------------------------------
380
354
  Package: @angular/common
381
355
  License: "MIT"
@@ -403,33 +377,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
403
377
  THE SOFTWARE.
404
378
 
405
379
  --------------------------------------------------------------------------------
406
- Package: @angular/material
407
- License: "MIT"
408
-
409
- The MIT License
410
-
411
- Copyright (c) 2024 Google LLC.
412
-
413
- Permission is hereby granted, free of charge, to any person obtaining a copy
414
- of this software and associated documentation files (the "Software"), to deal
415
- in the Software without restriction, including without limitation the rights
416
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
417
- copies of the Software, and to permit persons to whom the Software is
418
- furnished to do so, subject to the following conditions:
419
-
420
- The above copyright notice and this permission notice shall be included in
421
- all copies or substantial portions of the Software.
422
-
423
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
424
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
425
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
426
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
427
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
428
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
429
- THE SOFTWARE.
430
-
431
- --------------------------------------------------------------------------------
432
- Package: @angular/animations
380
+ Package: @angular/forms
433
381
  License: "MIT"
434
382
 
435
383
  The MIT License
@@ -533,7 +481,59 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
533
481
  SOFTWARE.
534
482
 
535
483
  --------------------------------------------------------------------------------
536
- Package: @angular/platform-browser
484
+ Package: @angular/cdk
485
+ License: "MIT"
486
+
487
+ The MIT License
488
+
489
+ Copyright (c) 2024 Google LLC.
490
+
491
+ Permission is hereby granted, free of charge, to any person obtaining a copy
492
+ of this software and associated documentation files (the "Software"), to deal
493
+ in the Software without restriction, including without limitation the rights
494
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
495
+ copies of the Software, and to permit persons to whom the Software is
496
+ furnished to do so, subject to the following conditions:
497
+
498
+ The above copyright notice and this permission notice shall be included in
499
+ all copies or substantial portions of the Software.
500
+
501
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
502
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
503
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
504
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
505
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
506
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
507
+ THE SOFTWARE.
508
+
509
+ --------------------------------------------------------------------------------
510
+ Package: @angular/material
511
+ License: "MIT"
512
+
513
+ The MIT License
514
+
515
+ Copyright (c) 2024 Google LLC.
516
+
517
+ Permission is hereby granted, free of charge, to any person obtaining a copy
518
+ of this software and associated documentation files (the "Software"), to deal
519
+ in the Software without restriction, including without limitation the rights
520
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
521
+ copies of the Software, and to permit persons to whom the Software is
522
+ furnished to do so, subject to the following conditions:
523
+
524
+ The above copyright notice and this permission notice shall be included in
525
+ all copies or substantial portions of the Software.
526
+
527
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
528
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
529
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
530
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
531
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
532
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
533
+ THE SOFTWARE.
534
+
535
+ --------------------------------------------------------------------------------
536
+ Package: @angular/animations
537
537
  License: "MIT"
538
538
 
539
539
  The MIT License
@@ -559,7 +559,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
559
559
  THE SOFTWARE.
560
560
 
561
561
  --------------------------------------------------------------------------------
562
- Package: @angular/router
562
+ Package: @angular/platform-browser
563
563
  License: "MIT"
564
564
 
565
565
  The MIT License
@@ -585,7 +585,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
585
585
  THE SOFTWARE.
586
586
 
587
587
  --------------------------------------------------------------------------------
588
- Package: @angular/forms
588
+ Package: @angular/router
589
589
  License: "MIT"
590
590
 
591
591
  The MIT License
@@ -823,6 +823,81 @@ The above copyright notice and this permission notice shall be included in all c
823
823
 
824
824
  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.
825
825
 
826
+ --------------------------------------------------------------------------------
827
+ Package: marked
828
+ License: "MIT"
829
+
830
+ # License information
831
+
832
+ ## Contribution License Agreement
833
+
834
+ If you contribute code to this project, you are implicitly allowing your code
835
+ to be distributed under the MIT license. You are also implicitly verifying that
836
+ all code is your original work. `</legalese>`
837
+
838
+ ## Marked
839
+
840
+ Copyright (c) 2018+, MarkedJS (https://github.com/markedjs/)
841
+ Copyright (c) 2011-2018, Christopher Jeffrey (https://github.com/chjj/)
842
+
843
+ Permission is hereby granted, free of charge, to any person obtaining a copy
844
+ of this software and associated documentation files (the "Software"), to deal
845
+ in the Software without restriction, including without limitation the rights
846
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
847
+ copies of the Software, and to permit persons to whom the Software is
848
+ furnished to do so, subject to the following conditions:
849
+
850
+ The above copyright notice and this permission notice shall be included in
851
+ all copies or substantial portions of the Software.
852
+
853
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
854
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
855
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
856
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
857
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
858
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
859
+ THE SOFTWARE.
860
+
861
+ ## Markdown
862
+
863
+ Copyright © 2004, John Gruber
864
+ http://daringfireball.net/
865
+ All rights reserved.
866
+
867
+ Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
868
+
869
+ * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
870
+ * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
871
+ * Neither the name “Markdown” nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
872
+
873
+ This software is provided by the copyright holders and contributors “as is” and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the copyright owner or contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.
874
+
875
+ --------------------------------------------------------------------------------
876
+ Package: ngx-markdown
877
+ License: "MIT"
878
+
879
+ MIT License
880
+
881
+ Copyright (c) 2017-2024 Jean-Francois Cere
882
+
883
+ Permission is hereby granted, free of charge, to any person obtaining a copy
884
+ of this software and associated documentation files (the "Software"), to deal
885
+ in the Software without restriction, including without limitation the rights
886
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
887
+ copies of the Software, and to permit persons to whom the Software is
888
+ furnished to do so, subject to the following conditions:
889
+
890
+ The above copyright notice and this permission notice shall be included in all
891
+ copies or substantial portions of the Software.
892
+
893
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
894
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
895
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
896
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
897
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
898
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
899
+ SOFTWARE.
900
+
826
901
  --------------------------------------------------------------------------------
827
902
  Package: core-js
828
903
  License: "MIT"
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["src/app/core/components/app-help/app-help.component.scss"],
4
+ "sourcesContent": [".fullpage-header {\n display: flex;\n justify-content: space-between;\n align-items: baseline;\n}\n\n.fullpage-header-title {\n padding: 18px 24px 13px 24px;;\n}\n\n.dialog-close-icon {\nmargin-right: 15px;\n}\n\n.mat-mdc-dialog-content {\nmax-height: max-content;\n}\n\n.dialog-content-padding {\n--mat-dialog-content-padding: 0px 24px 20px 24px;\n}\n\n.markdown-content {\n display: block;\n height: calc(100% - 75px);\n width: 100%;\n overflow-x: scroll;\n padding: 25px;\n}\n"],
5
+ "mappings": ";AAAA,CAAA;AACE,WAAA;AACA,mBAAA;AACA,eAAA;;AAGF,CAAA;AACE,WAAA,KAAA,KAAA,KAAA;;AAGF,CAAA;AACA,gBAAA;;AAGA,CAAA;AACA,cAAA;;AAGA,CAAA;AACA,gCAAA,IAAA,KAAA,KAAA;;AAGA,CAAA;AACE,WAAA;AACA,UAAA,KAAA,KAAA,EAAA;AACA,SAAA;AACA,cAAA;AACA,WAAA;;",
6
+ "names": []
7
+ }
@@ -0,0 +1,57 @@
1
+ #### Configuration Management
2
+
3
+ KIP provides a "Login to Server" option that determines where your configuration is stored. It is **strongly recommended** to enable server login in the **Settings** under the **Connectivity** tab. This ensures your configurations are stored remotely on the Signal K server. See the "Creating a Signal K user" section below for details.
4
+
5
+ - **Login to Server Enabled** (recommended setting): Configuration is stored remotely on the Signal K server.
6
+ - **Login to Server Disabled** (default value): Configuration is saved locally in the browser's private storage.
7
+
8
+ You can manage your configurations using the **Configurations** page, accessible from the right menu. Depending on your login mode, different management options are available.
9
+
10
+ ##### Creating a Signal K User
11
+
12
+ To log in to Signal K, you must first create a user. Follow these steps to create a Signal K user:
13
+
14
+ 1. Navigate to the Signal K server's **Security > Users** menu.
15
+ 2. Click **Add** to create a new user.
16
+ 3. Provide a **User ID** and **Password** for the user.
17
+ 4. Assign **Read/Write** permissions at a minimum. To allow access to the Global storage scope, assign **Admin** permissions as well.
18
+ 5. Click **Apply** to save the new user.
19
+
20
+ ##### Login to Server Mode
21
+
22
+ *In this mode, your configuration is shared across all devices **as long as you authenticate to Signal K using the same User ID**. It's that simple!*
23
+
24
+ On the **Configurations** page, you can perform the following actions:
25
+
26
+ - **Backup**: Save the currently active configuration. Backups can be created in different scopes (see below for details).
27
+ - **Delete**: Permanently delete a backup configuration. This action is irreversible.
28
+ - **Restore**: Replace the active configuration with a selected backup and reload the app. It is recommended to back up your active configuration before restoring, to avoid losing it.
29
+
30
+ ###### Storage Scopes
31
+
32
+ When using "Login to Server" mode, you can save and retrieve configuration backups from different storage scopes. Think of storage scopes as separate folders:
33
+
34
+ - **User Scope**: Each user has their own private storage space. Users cannot access or view each other's storage.
35
+ - **Global Scope**: Accessible only to users with Signal K "Admin" permissions. This shared storage space allows configuration backups to be shared between users. To share configurations, both users must, at least temporarily, have admin permissions.
36
+
37
+ ###### Planning Configurations
38
+
39
+ If you log in with the same user credentials, your configuration will be consistent across all devices and browsers.
40
+
41
+ To manage configurations for different devices, stations, or roles, you can create separate Signal K users, each with their own configurations. This approach allows you to tailor configurations to specific use cases. Plan carefully to take full advantage of KIP's flexible configuration management.
42
+
43
+ ##### Local Storage
44
+
45
+ If you do not log in to the server, KIP saves and retrieves configuration changes using your browser's local storage. In this mode:
46
+
47
+ - Each browser instance has its own independent configuration.
48
+ - Configurations **cannot be shared** between different devices or browsers.
49
+ - Configuration management is limited to downloading and uploading configuration files.
50
+
51
+ ##### Advanced Operations
52
+
53
+ Use advanced operations with caution. All changes affect your active configuration in real time and are irreversible.
54
+
55
+ KIP separates configuration into two parts:
56
+ 1. **Server Connection**: This configuration is always stored locally in your browser and is never shared. It is used in the **Connectivity** tab of the **Settings** page.
57
+ 2. **Application Settings**: This includes the configuration you can back up, delete, and restore on the **Configurations** page.
@@ -0,0 +1,8 @@
1
+ ###### Get in Touch
2
+
3
+ KIP has its own channel on the Signal K Discord server. Join the channel to get help, see what others do with KIP and Signal K, get the latest news, and share your ideas.
4
+ Join us at [KIP Discord channel](https://discord.gg/AMDYT2DQga).
5
+
6
+ ###### Feature Requests and Bug Report
7
+
8
+ To make a feature request or report a bug, use the [KIP GitHub project](https://github.com/mxtommy/Kip/issues).
@@ -0,0 +1,39 @@
1
+ #### Managing Dashboard
2
+ You can organize your dashboards from the Dashboard page. To edit a dashboard layout, visualize the dashboard and unlock it.
3
+
4
+ ##### Dashboard Pages
5
+ On the Dashboards page, you can add, reorder, delete, rename, and duplicate dashboards. The dashboard name is briefly visible when you cycle through dashboards. Available actions include:
6
+ - **Long press** a dashboard to delete or duplicate it.
7
+ - **Double tap** a dashboard to rename it.
8
+ - **Touch and drag** to reorder dashboards.
9
+ - Use the **(+)** button to add a new dashboard.
10
+
11
+ ##### Editing Layout
12
+ To edit a dashboard's widgets and arrangement, you need to unlock its layout. View the desired dashboard, access the **Actions menu** on the right-hand side, and tap the unlock button. The widgets will become surrounded by dashed borders, indicating you are in edit mode. Actions you can perform while editing a layout include:
13
+ - **Long press** an empty area of the dashboard to add a widget (you may need to free up space first).
14
+ - **Double tap** a widget to edit its configuration.
15
+ - **Touch and drag** a widget to reposition it.
16
+ - **Touch and drag** the edges of a widget to resize it.
17
+ - **Long press** a widget to delete or duplicate it.
18
+ - Tap the **Check button** to save changes or the **X button** to discard changes.
19
+
20
+ #### Widget Gallery
21
+ KIP's widgets are versatile visual presentation controls with advanced configuration options to suit your needs. Below is a list of available widgets:
22
+
23
+ - **Numeric Display**: Create gauges to display any numerical data sent by your system, such as SOG, depth, wind speed, VMG, refrigerator temperature, or weather data.
24
+ - **Text Display**: Display textual data sent by your system, such as MPPT state, vessel details, next waypoint, Fusion radio song information, system component statuses, or configuration details.
25
+ - **Date Display**: A timezone-aware control with flexible presentation formatting support.
26
+ - **Boolean Control Panel**: A switchboard to configure and operate remote devices, such as light switches, bilge pumps, solenoids, or any Signal K path that supports boolean PUT operations.
27
+ - **Position**: Displays the vessel's longitude and latitude based on available GPS devices.
28
+ - **Static Label**: A static text widget that allows you to add customizable labels to your dashboard, helping to organize and clarify your layout effectively.
29
+ - **Simple Linear Gauge**: A simple horizontal visual display ideal for electrical numerical data, such as chargers, MPPT, or shunts.
30
+ - **Linear Gauge**: Visually display any numerical data on a vertical or horizontal scale, such as tank and reservoir levels or battery remaining capacity.
31
+ - **Radial Gauge**: Visually display any numerical data on a radial scale, such as boat speed, wind speed, or engine RPM.
32
+ - **Compass Gauge**: A card or marine compass to display directional data, such as heading, bearing to the next waypoint, or wind angle.
33
+ - **Steel Style Gauge**: An old-school look-and-feel radial and linear gauge.
34
+ - **Wind Steering Display**: A typical sailboat wind gauge.
35
+ - **Freeboard-SK Chart Plotter**: A high-quality Signal K implementation of the Freeboard integration widget.
36
+ - **Autopilot Head**: Operate your autopilot remotely from any device.
37
+ - **Data Chart**: Visualize data trends over time.
38
+ - **Race Timer**: Track regatta start sequences.
39
+ - **Embedded Webpage**: Integrate any web-based content or application into your KIP layout, such as Grafana dashboards, Node-RED dashboards, or your own standalone web app. This widget supports any content that does not cross domains.
@@ -0,0 +1,3 @@
1
+ #### Data Inspector
2
+ # Contributions wanted
3
+ Help write this page. Contact us on the KIP Discord channel for instructions.
@@ -0,0 +1,3 @@
1
+ ##### Datasets
2
+ # Contributions wanted
3
+ Help write this page. Contact us on the KIP Discord channel for instructions.
@@ -0,0 +1,4 @@
1
+ ###### 5 Minutes with Graphana
2
+ Introduction to using Graphana (by Boating with the Baileys)
3
+
4
+ [![Watch the video](https://img.youtube.com/vi/b3lHwLnYgx0/0.jpg)](https://www.youtube.com/watch?v=b3lHwLnYgx0)
@@ -0,0 +1,4 @@
1
+ ###### Signal K to InfluxDB
2
+ Database to store historical data (by Boating with the Baileys)
3
+
4
+ [![Watch the video](https://img.youtube.com/vi/ULnN-cByQXE/0.jpg)](https://www.youtube.com/watch?v=ULnN-cByQXE)
@@ -0,0 +1,11 @@
1
+ [
2
+ { "title": "The basics", "file": "welcome.md" },
3
+ { "title": "Dashboards and Layout", "file": "dashboards.md" },
4
+ { "title": "Datasets and Data Charts", "file": "datasets.md" },
5
+ { "title": "Zones, Notifications and Highlights", "file": "zones.md" },
6
+ { "title": "Configuration Management", "file": "configuration.md" },
7
+ { "title": "Data Inspector", "file": "datainspector.md" },
8
+ { "title": "Gafana Integration", "file": "grafana.md" },
9
+ { "title": "InfluxDB and Signal K", "file": "influxdb.md" },
10
+ { "title": "Contact Us", "file": "contact-us.md" }
11
+ ]
@@ -0,0 +1,40 @@
1
+ #### Loading KIP on Phones, Tablets, Raspberry Pi, and Computers
2
+ Simply navigate to `http://<Signal K Server URL>:<port>/@mxtommy/kip/` to load KIP and enjoy its features remotely on any device.
3
+
4
+ #### Touch, Mouse, and Keyboard Navigation
5
+ KIP supports multiple input modes for seamless navigation across devices.
6
+
7
+ | Actions | Gestures | Mouse | Keyboard Shortcuts |
8
+ |------------------------------|----------------|------------------------|------------------------------|
9
+ | Open Actions menu | Swipe left | Click and Drag Left | Shift + Ctrl + Right Arrow |
10
+ | Open Notification menu | Swipe right | Click and Drag Right | Shift + Ctrl + Left Arrow |
11
+ | Cycle through dashboards | Swipe Up/Down | Click and Drag Up/Down | Shift + Ctrl + Up/Down Arrow |
12
+ | Toggle Fullscreen | N/A | N/A | Shift + Ctrl + F |
13
+ | Toggle Night mode | N/A | N/A | Shift + Ctrl + N |
14
+ | Toggle Dashboard edit mode | N/A | N/A | Shift + Ctrl + E |
15
+
16
+ <br/>
17
+
18
+ #### Mobile App
19
+ Run KIP in full screen, without browser controls, just like a regular mobile app. This feature is supported on most mobile operating systems. Each browser has its own way of handling Progressive Web App (PWA) installations.
20
+
21
+ **iOS**
22
+ 1. Press the "Share" button.
23
+ 2. Select "Add to Home Screen" from the action popup list.
24
+ 3. Tap "Add" in the top right corner to finish installation.
25
+ KIP is now installed and available on your home screen.
26
+
27
+ **Android**
28
+ 1. Press the "three dot" icon in the upper right to open the menu.
29
+ 2. Select "Add to Home screen."
30
+ 3. Press the "Add" button in the popup.
31
+ KIP is now installed and available on your home screen.
32
+
33
+ #### Fullscreen
34
+ You can toggle fullscreen mode on and off, and disable the screen saver and computer sleep mode (if supported by the device/browser), by clicking the small Expand/Reduce button in the upper left corner of the Actions menu or using the keyboard hotkey. This button is not available on mobile devices.
35
+
36
+ #### Night Mode
37
+ Save your night vision by automatically switching KIP to day or night mode based on sunrise and sunset hours (the Signal K Derived Data plugin is required for automatic switching). This feature can be enabled in the **Settings > Display** page. You can also manually set the mode by clicking the small Moon/Sun button in the upper right corner of the Actions menu. Note that if automatic switching is enabled, brightness will reset to the Signal K mode value.
38
+
39
+ #### Multiple User Profiles
40
+ KIP supports multiple user profiles, allowing different roles on board—such as captain, skipper, tactician, navigator, or engineer—to tailor the interface to their needs. Profiles can also be used to tie specific configuration arrangements to use cases or device form factors.
@@ -0,0 +1,15 @@
1
+ #### Harness the Power of Data State Notifications
2
+ Stay informed about the state of data emitted by Signal K. For example, Signal K can mark data states so that when depth or temperature sensors reach certain levels, KIP can visually or audibly alert the user. A depth of 3 meters or less might be flagged as alarming, prompting KIP to enhance the data presentation with additional visual or audio cues. This feature combines **Zones Configuration** and **Notification Methods** in Signal K.
3
+
4
+ Zones and notifications are defined as metadata. If you have internet access, you can learn more about this topic at [Signal K Metadata](https://signalk.org/specification/1.7.0/doc/data_model_metadata.html). To configure Signal K's metadata, access the [Data Browser server page](/admin/#/databrowser) and toggle the **Meta Data** switch. You need to configure or add **methods** and **zones** for each path you want to monitor.
5
+
6
+ IMPORTANT: Zone range values use base units. For example, the speed unit for Apparent Wind Speed (`environment.wind.speedApparent`) is in meters per second (m/s). Define the zone ranges using each path's base unit. KIP will convert the zones ranges and values automatically based on your widgets unit setting.
7
+
8
+ You can consult path and unit specifications using the [Keys Reference (Vessel)](https://signalk.org/specification/1.7.0/doc/vesselsBranch.html) and [Keys Reference (Other)](https://signalk.org/specification/1.7.0/doc/otherBranches.html).
9
+
10
+ ##### Notification Configuration
11
+ You can use KIP's **Settings > Notifications** tab to filter and override notification states, as well as configure audio prompts to suit your needs.
12
+
13
+ ##### Displaying Zones and Notifications Information
14
+ - **Notifications Menu**: This menu lists all active notifications along with their details, such as the path, severity level, and message content. From this menu, notifications can be silenced or resolved. The Notifications menu is hidden on the right side by default. When notifications are received, a large button will appear in the lower-right corner. Tapping or clicking this button will open the Notifications Menu. You can also access the menu at any time by swiping right.
15
+ - **Individual Widgets**: Widgets such as **Numeric**, **Linear**, **Radial**, and **Steel Style** offer tailored visual representations of notifications. These widgets highlight relevant data ranges and provide an optimal user experience by integrating notifications into their design.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["src/app/core/components/dashboard-scroller/dashboard-scroller.component.scss"],
4
- "sourcesContent": [".page-scroll-title {\n position: absolute;\n top: 50%;\n right: 54px;\n transform: translate(0%, -50%);\n z-index: 100;\n cursor: default;\n text-align: center;\n padding: 10px;\n color: var(--sys-tertiary);\n}\n\n.page-scroll-page-number {\n position: absolute;\n top: 50%;\n right: 15px;\n transform: translate(0%, -50%);\n z-index: 100;\n cursor: default;\n display: grid;\n padding: 0px;\n}\n\n.page-scroll-container {\n opacity: 0;\n background-color: var(--sys-inverse-on-surface);\n border-radius: 10px;\n border: 1px solid var(--sys-inverse-on-surface);\n}\n\n.page-icon {\n transform: scale(0.75);\n}\n"],
5
- "mappings": ";AAAA,CAAA;AACE,YAAA;AACA,OAAA;AACA,SAAA;AACA,aAAA,UAAA,EAAA,EAAA;AACA,WAAA;AACA,UAAA;AACA,cAAA;AACA,WAAA;AACA,SAAA,IAAA;;AAGF,CAAA;AACE,YAAA;AACA,OAAA;AACA,SAAA;AACA,aAAA,UAAA,EAAA,EAAA;AACA,WAAA;AACA,UAAA;AACA,WAAA;AACA,WAAA;;AAGF,CAAA;AACE,WAAA;AACA,oBAAA,IAAA;AACA,iBAAA;AACA,UAAA,IAAA,MAAA,IAAA;;AAGF,CAAA;AACE,aAAA,MAAA;;",
4
+ "sourcesContent": [":host {\n pointer-events: none;\n}\n\n.page-scroll-title {\n position: absolute;\n top: 50%;\n right: 54px;\n transform: translate(0%, -50%);\n z-index: 100;\n cursor: default;\n text-align: center;\n padding: 10px;\n color: var(--sys-tertiary);\n}\n\n.page-scroll-page-number {\n position: absolute;\n top: 50%;\n right: 15px;\n transform: translate(0%, -50%);\n z-index: 100;\n cursor: default;\n display: grid;\n padding: 0px;\n}\n\n.page-scroll-container {\n opacity: 0;\n background-color: var(--sys-inverse-on-surface);\n border-radius: 10px;\n border: 1px solid var(--sys-inverse-on-surface);\n}\n\n.page-icon {\n transform: scale(0.75);\n}\n"],
5
+ "mappings": ";AAAA;AACE,kBAAA;;AAGF,CAAA;AACE,YAAA;AACA,OAAA;AACA,SAAA;AACA,aAAA,UAAA,EAAA,EAAA;AACA,WAAA;AACA,UAAA;AACA,cAAA;AACA,WAAA;AACA,SAAA,IAAA;;AAGF,CAAA;AACE,YAAA;AACA,OAAA;AACA,SAAA;AACA,aAAA,UAAA,EAAA,EAAA;AACA,WAAA;AACA,UAAA;AACA,WAAA;AACA,WAAA;;AAGF,CAAA;AACE,WAAA;AACA,oBAAA,IAAA;AACA,iBAAA;AACA,UAAA,IAAA,MAAA,IAAA;;AAGF,CAAA;AACE,aAAA,MAAA;;",
6
6
  "names": []
7
7
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["src/app/core/components/data-browser/data-browser.component.css"],
3
+ "sources": ["src/app/core/components/data-inspector/data-inspector.component.css"],
4
4
  "sourcesContent": [".full-display {\n width: 100%;\n position: relative;\n z-index: 500;\n}\n\n.full-height {\n height: 100%;\n}\n\n.mat-column-path {\n flex: 0 0 50%;\n width: 50%;\n}\n\n.mat-mdc-table {\n overflow: auto;\n}\n\n.table-container{\n /* max-height: 74vh; */\n overflow: auto;\n height: auto;\n}\n\n.paginator{\n width: 100%;\n position: sticky;\n}\n\n.filter-field {\n padding: 15px 20px;\n width: calc(100% - 40px);\n}\n\n.flex-container {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n justify-content: center;\n align-items: stretch;\n gap: 10px;\n}\n\n.pathCell {\n flex: 1 1 50%;\n}\n\n.pathHeader {\n flex: 1 1 50%;\n}\n\n.dataHeader {\n flex: 1 1 50%;\n}\n\n.dataCell {\n flex: 1 1 50%;\n flex-flow: column;\n flex-wrap: wrap;\n gap: 2px;\n}\n\n@media screen and (max-width: 750px) {\n .pathHeader {\n flex: 1 1 50%;\n }\n\n .dataHeader {\n flex: 1 1 50%;\n }\n\n .dataCell {\n flex: 1 1 100%;\n }\n\n .dataCell {\n flex: 1 1 100%;\n margin-left: 24px;\n }\n\n .mat-mdc-table .mat-mdc-row {\n flex-direction: row;\n flex-wrap: wrap;\n }\n\n .mat-mdc-table .mat-mdc-cell:before {\n content: attr(data-label);\n float: left;\n padding-right: 5px;\n }\n\n mat-row::after {\n min-height: auto;\n padding-bottom: 10px;\n }\n\n .dataRow {\n flex-direction: column;\n align-items: flex-start;\n }\n\n .actionCell {\n margin-left: 24px;\n }\n\n}\n"],
5
5
  "mappings": ";AAAA,CAAC;AACC,SAAO;AACP,YAAU;AACV,WAAS;AACX;AAEA,CAAC;AACC,UAAQ;AACV;AAEA,CAAC;AACC,QAAM,EAAE,EAAE;AACV,SAAO;AACT;AAEA,CAAC;AACC,YAAU;AACZ;AAEA,CAAC;AAEC,YAAU;AACV,UAAQ;AACV;AAEA,CAAC;AACC,SAAO;AACP,YAAU;AACZ;AAEA,CAAC;AACC,WAAS,KAAK;AACd,SAAO,KAAK,KAAK,EAAE;AACrB;AAEA,CAAC;AACC,WAAS;AACT,kBAAgB;AAChB,aAAW;AACX,mBAAiB;AACjB,eAAa;AACb,OAAK;AACP;AAEA,CAAC;AACC,QAAM,EAAE,EAAE;AACZ;AAEA,CAAC;AACC,QAAM,EAAE,EAAE;AACZ;AAEA,CAAC;AACC,QAAM,EAAE,EAAE;AACZ;AAEA,CAAC;AACC,QAAM,EAAE,EAAE;AACV,aAAW;AACX,aAAW;AACX,OAAK;AACP;AAEA,OAAO,OAAO,IAAI,CAAC,SAAS,EAAE;AAC5B,GAhBD;AAiBG,UAAM,EAAE,EAAE;AACZ;AAEA,GAhBD;AAiBG,UAAM,EAAE,EAAE;AACZ;AAEA,GAhBD;AAiBG,UAAM,EAAE,EAAE;AACZ;AAEA,GApBD;AAqBG,UAAM,EAAE,EAAE;AACV,iBAAa;AACf;AAEA,GAlED,cAkEgB,CAAC;AACd,oBAAgB;AAChB,eAAW;AACb;AAEA,GAvED,cAuEgB,CAAC,YAAY;AAC1B,aAAS,KAAK;AACd,WAAO;AACP,mBAAe;AACjB;AAEA,SAAO;AACL,gBAAY;AACZ,oBAAgB;AAClB;AAEA,GAAC;AACC,oBAAgB;AAChB,iBAAa;AACf;AAEA,GAAC;AACC,iBAAa;AACf;AAEF;",
6
6
  "names": []