The FlexDash 'round 2' thread has gotten to 145 posts so I thought it's time to start a fresh thread. I put it into the Dashboard category, hope that's OK.
New release!
21 Dec 16:43:03 - [info] Node-RED FlexDash plugin version 0.4.129
21 Dec 16:43:04 - [info] Node-RED FlexDash version 0.4.129
21 Dec 16:43:04 - [info] Node-RED FD Core Widgets version 0.4.60
21 Dec 16:43:06 - [info] FlexDash UI version 0.4.79
Note that the node-red-fd-corewidgets package is updated and that you will have to reload any open browser pages for them to reconnect.
Breaking changes:
- The FD Ctrl node message format to open pop-up grids has changed, see below and the 'help' for that node.
- Grids default to disallow messages with
_fd_socket
(see below) and existing flows may well circulate messages without removing_fd_socket
with the result that actions taken in the dashboard don't work or the feedback doesn't work. Either deletemsg._fd_socket
in the affected messages or set the grid to allow_fd_socket
in their general tab. (I'm planning to change "disallow" to "ignore" in the next release. [Edit: change has been made])
Enhancements and changes:
-
msg._fd_socket
is now fully supported: all messages coming from FD have it and sending messages to FD respects it, i.e., messages without_fd_socket
are broadcast to all connected browsers (and change the saved state for new browsers) while messages with_fd_socket
only target one browser. - Grids have a setting to
disallow
,allow
, orrequire
msg._fd_socket
. By default it'sdisallow
: this provides a bit of a safety net in that it raises an error if some stray message has_fd_socket
, whilerequire
can enforce the opposite and error on messages that don't have it for a grid that should only have per-browser data. - The scaling of grids has changed to fix the issue with on-hover tooltips appearing in the wrong place in uPlot. This is only visible when setting max_cols or min_cols.
- The TimelinePlot widget now supports clicking. It produces an output message with the time, row, and value clicked. Also, the printing of values into the bar now omits values that don't fit into the space to avoid an illegible black smear when the value changes frequently.
- The FD Ctrl node now outputs messages when:
- browsers connect or the connection times out,
- the browser tab is hidden and exposed (so one can avoid streaming data to tabs that can't be seen by anyone),
- users navigate from one tab to another, and
- grids are opened/closed (incl. pop-up grid closing).
Details are in the 'help' for that node.
- The FD Ctrl node now accepts input messages to open (change) tabs, and to open/close grids/pop-up grids.
New issues
- The FD Ctrl events emitted when a browser connects are not quite right: the 'exposed' event is missing the tab info and a 'manual tab change' event is issued that shouldn't be.
- The FD Ctrl "client timeout" events may not be issued in a timely manner, its behavior is likely to change in future releases.
- Widget arrays and per-browser data (i.e. use of
_fd_socket
) create some awkward corner cases, in particular, deleting a widget in an array is always a global operation. - The internal loopback is always global, so if an input element is shown with per-browser data and needs loopback that must be implemented explicitly (e.g. using a junction node).
- Custom widget: it is not possible to receive and draw the title in the custom widget, specifically, the title set in the flow editor and msg.title are always handled by FlexDash. To display a custom title, set that title to empty (so FLexDash doesn't draw a title) and then use a property named something else (e.g. msg.thetitle).
- Documentation is falling a little behind, oops!
Known issues / to-do items
(This list is copied and updated from the "round 2" thread. flags must-do items prior to beta release.)
- Remove live editing of config from dashboard and do everything in the NR flow editor. This subsumes/eliminates the following to-do items:
- Option to hide edit mode
- Rethink editing in live dashboard: could reordering/resizing be done nicely without?
- Implement UI to reorder grids on a page
- Triple-check implementation of "node is truly deleted" in node-red-flexdash and actually delete references
- Edits in the live dashboard get lost if a related edit panel is open in the flow editor and is subsequently saved
- Plots:
The mechanism to send data updates needs to change to allow sending the same value repeatedly and also so a browser reload shows all the data even when the flow only produces one data point at a time.- TimePlot is blank if both axes are used and the data for one of the axes is all null (prob. uPlot bug)
- When there are many time plots on a page the tooltip can appear in the wrong plot (needs clean repro)
- TimePlot: remove circles for data points when there are few points
- TimelinePlot: look into supporting multi-line labels
- Maximized plots that have no title end up w/out close button (needs repro)
- Use material design color palette for graphs to unify color names
- Fix incremental data sending in Sparkline widget.
- Tables:
- Allow tables to be magnified full-page
- Implement a search in SimpleTable
- Roll NumberField functionality into Stat widget and perhaps TextField into Label.
- Button: look into 100% width option as well as FAB support
- Remember theme in session cookie
- Support simple login
- Implement checks for unsupported combinations: non-global tabs/dashboards, panels in panels, grids in subflows, nested subflows, array-widgets in array-panels, array/subflow combinations
- Implement array_max in array-widgets
As usual, please let me know asap if there are issues with the release.
If you'd like help with your specific use-case, please open a new thread and @tve or apply the flexdash tag.