From 62be2024fefabb2d1a7f8497326a7e08b430cd17 Mon Sep 17 00:00:00 2001
From: Julian Knight <1591850+TotallyInformation@users.noreply.github.com>
Date: Mon, 1 Jan 2024 14:04:36 +0000
Subject: [PATCH] Updates
---
CHANGELOG.md | 53 ++++++++++++------------------------------
docs/roadmap/readme.md | 10 +++++++-
2 files changed, 24 insertions(+), 39 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index aac4015e..c106bd16 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -8,43 +8,15 @@ Please see the documentation for archived changelogs - a new archive is produced
## Issues
-* uibuilder node - Issues if user deploys without entering a url
-
- To reproduce: [ref](https://discourse.nodered.org/t/uibuilder-new-release-v6-7-new-front-end-router-improvements-to-uib-html-uib-save-and-more/83106/4)
-
- Pull a uibuilder node in a flow.
- Press Deploy.
- The editor complains that the node just dropped isn't configured correctly. Deploy anyway.
- Open the property editor of the uibuilder node, enter a valid URL ( like uibtest), close the property pane with Done.
- First observation: The uibuilder node still shows the red triangle - despite correctly configured now.
- Press Deploy.
- The editor complains that the node still isn't configured correctly. Deploy anyway.
- Second observation: The uibuilder node still shows the red triangle - which is definitely unexpected now. Node status displays "Node Initialised" @ blue.
-
- Looks like it's validateVersion that triggers this red triangle.. [ref](https://discourse.nodered.org/t/uibuilder-new-release-v6-7-new-front-end-router-improvements-to-uib-html-uib-save-and-more/83106/7?u=totallyinformation)
-
-## To Do
-
-* Examples
- * update the remote-commands example
- * Add a "FE Router Test" example
- * Add new low-code example
- * Add example save current page to file
-
-* uibuilder client
- * Add `formateDate` standard utility fn. [ref](https://discourse.nodered.org/t/format-date-at-yyyydd-hh-mm-ss/83130/12?u=totallyinformation)
- * Add uibuilder.tag()
- * Add client msg filter for URL Hash.
-
-Docs
- * Update docs for ctrl msgs and msg._uib return data to say that anything set via the socket.io auth can only update when the client reconnects.
- * document clientTimeDifference
+None.
------------
-## [Unreleased](https://github.com/TotallyInformation/node-red-contrib-uibuilder/compare/v6.7.0...main)
+## [Unreleased](https://github.com/TotallyInformation/node-red-contrib-uibuilder/compare/v6.8.0...main)
+
+Nothing currently.
-
+## [v6.8.0](https://github.com/TotallyInformation/node-red-contrib-uibuilder/compare/v6.7.0...v6.8.0)
### 📌 Highlights
@@ -79,27 +51,31 @@ Docs
* Front-end commands issued from Node-RED can now take a `quiet` option set to `true` to prevent the return message. e.g. `{"_uib": {"command":"navigate","prop":"#newroute","quiet":true}}`
* Front-end developers now have full access to the `ui.js` library via the `$ui` global.
-### `uib-cache`
+### `uibuilder` node
+
+* **FIXED** Previously, if an editor deployed a uibuilder node with an invalid URL, the node configuration & setup still happened which lead to odd results. Now a missing or invalid URL results in a logged error and the node is not configured. [ref](https://discourse.nodered.org/t/uibuilder-new-release-v6-7-new-front-end-router-improvements-to-uib-html-uib-save-and-more/83106/4)
+
+### `uib-cache` node
* **FIXED** - bug introduced by last version's correction of `connections` count meant that "Only replay cache when client is really new" option resulted in the cache never being sent.
* Re-worked node's html into latest format with JS in separate resources file.
-### `uib-html`
+### `uib-html` node
* Downgrade `jsdom` version to 21.* as that is the last version that supports Node.js v14.
-### `uib-save`
+### `uib-save` node
* **FIXED** - usePageName logic.
* **FIXED** - import - initial deployment does not connect to node - need to clear the entry & mark as invalid. Also, no url = invalid
* URL (uibuilder instance) drop-down list is now sorted
* On copy/paste or import, link to uibuilder node is now cleared.
-### `uib-tag`
+### `uib-tag` node
* **FIXED** - Allow blanks in some typed input fields.
-### `uib-update`
+### `uib-update` node
* **FIXED** - Allow blanks in some typed input fields.
@@ -180,6 +156,7 @@ Docs
* Re-organised & renamed examples now there are more of them.
* **NEW** - "Text Update - Different Methods" example
+* **NEW** - "FE Router Test" example
### Documentation
diff --git a/docs/roadmap/readme.md b/docs/roadmap/readme.md
index 7fff097b..52e232bd 100644
--- a/docs/roadmap/readme.md
+++ b/docs/roadmap/readme.md
@@ -3,7 +3,7 @@ title: uibuilder Roadmap
description: |
This page outlines the future direction of uibuilder. Including specific things that will almost certainly happen as well as more speculative ideas.
created: 2022-02-01 11:15:27
-updated: 2023-12-31 15:17:45
+updated: 2024-01-01 13:59:16
---
Is there something in this list you would like to see prioritised? Is there something you could help with? Please get in touch via the [Node-RED forum](https://discourse.nodered.org/). Alternatively, you can start a [discussion on GitHub](https://github.com/TotallyInformation/node-red-contrib-uibuilder/discussions) or [raise a GitHub issue](https://github.com/TotallyInformation/node-red-contrib-uibuilder/issues). Please note that I no longer have the time to monitor the #uibuilder channel in the Node-RED slack.
@@ -464,6 +464,8 @@ Vars moved to ti-common (replace): node.urlPrefix, node.nodeRoot, paletteCategor
+* Add client msg filter for URL Hash. To allow sending of data only to a specific router route.
+
* ??? `uib.setAttr(selector, attr, val)`? - quick way to set an attribute on an element.
* Consider special variable `managedTags`? where each entry update will automatically update the matching element ID and if the element doesn't yet exist, will watch for it and update as soon as it is added. E.g. setting value on `uib.managedTags.mytag` would update ``. ?? Just the slot content? Or attributes as well (perhaps making the value an object).
@@ -490,6 +492,7 @@ Vars moved to ti-common (replace): node.urlPrefix, node.nodeRoot, paletteCategor
* *New Functions* (all to be callable from Node-RED):
+ * [ ] `formateDate` - Use INTL std lib, usable as a `` filter function. [ref](https://discourse.nodered.org/t/format-date-at-yyyydd-hh-mm-ss/83130/12?u=totallyinformation)
* [ ] `uibuilder.cacheSend()` and `uibuilder.cacheClear()` - send ctrl msgs back to node-red - reinstate in uib-cache fn now we've removed extra ctrl send.
* [ ] `uibuilder.showLog()` - Add a visible panel on-page to show console.log output. Redirects (or maybe copies) uibuilder.log output - possibly also console.log. Will need amendments to the uibuilder.log function to give options for output to this and/or back to Node-RED.
* [ ] `uibuilder.socketReconnect()` Add manual socket.io reconnection function so it can be incorporated in disconnected UI notifications.
@@ -570,6 +573,9 @@ Vars moved to ti-common (replace): node.urlPrefix, node.nodeRoot, paletteCategor
### Library: `uibrouter.js` (FE router)
* Add option to auto scroll to a css selector on route change.
+* Add a function to auto-rotate routes.
+* Add a function to go to next/previous route.
+* Update "FE Router Test" example with an auto-rotate flow.
### Web Component: `uib-var` (internal)
@@ -611,6 +617,8 @@ Vars moved to ti-common (replace): node.urlPrefix, node.nodeRoot, paletteCategor
### Documentation (including videos)
+* Update docs for ctrl msgs and `msg._uib` return data to say that anything set via the socket.io auth can only update when the client reconnects.
+* document clientTimeDifference
* New doc for using `ui.js` outside of uibuilder.
* `README.md`: Add more links to the Features section so that each feature points to appropriate documentation. Add a landing-page link to "includes many helper features" to signpost to relavent detailed documentation.
* Node-specific docs.