๐Ÿš€ [FlexDash] alpha release - a dashboard for Node-RED

Feedback posted in github issues (please don't do that :wink:):

Hi,

I was giving FlexDash a spin today based on the advertised handling of UI nodes in sub-flows (which, after spending most of the day getting this working in a different way with the standard dashboard, is not only not good but basically non-existent and amplified by other limitations in stock Node-RED). While our final solution does not use FlexDash, I thought it might be worthwhile to give some feedback on why.

To say this right at the start: the sub-flows worked as intended and were not the reason we decided against FlexDash. If I had been able to build all of what we need from your components, FlexDash would have been the far easier option because it would have saved us the enormous amount of effort to work around the dashboard. However, it is missing (or at least we couldn't find) some fairly crucial (for us) widgets:

  • Some form of number input widget (we really need that), e.g.
    • a slider (exists in dashboard)
    • a textual number input

For the latter, the text widget seemed insufficient because it requires switching into edit mode, editing the text and saving the result. The Value Sequence widget probably works for some cases, but it is tedious to use for non-small ranges of values / numbers of steps, in particular because it doesn't allow directly editing the value (I guess because one might then input a value that is not in the set?).

  • Some form of stateful button or button version of the drop down or a multistate switch
    • there is a dashboard element like this from node-red-contrib-ui-multistate-switch
  • Options for preventing feedback loops through UI elements
    • the multistate switch is a good example here again: it allows you to separately configure
      • whether to accept user input
      • whether to accept programmatic input via messages
      • whether to forward input from messages to its output
        • never
        • always
        • if it changes the state of the switch

This is very handy for cases where we want neither a bunch of global (/flow etc.) state tracking nor to use many UI elements for each side of this information plus setting it.

For the existing widgets, minor useful improvements would be

  • colour overrides (this seems to be a planned feature?)
  • a linewrap option for the (non-markdown) text output instead of overflowing to a scroll bar

Regardless, FlexDash looks quite good for a framework in alpha, so best of luck and I sincerely hope that I'd choose differently in 2 or 3 years time.

Re: some form of number input widget

That would be easy to add... Colin also asked about a text field input widget. I don't mind letting users input directly into the value sequence but I don't know what to do if the value is not in the sequence, it opens a can of worms...

Re: Some form of stateful button or button version of the drop down or a multistate switch

Did the dropdown-button not fit the bill? Also, I have a button-bar in GitHub - flexdash/node-red-fd-testnodes: Node-RED nodes to test out FlexDash integration, which I'm still tweaking:

Re: Options for preventing feedback loops through UI elements

Sorry, I don't understand. The FlexDah widgets don't output anything unless the user takes action. (There's a loopback option in some widgets, which isn't right, see discussion in a couple of previous posts.)

Re: colour overrides (this seems to be a planned feature?)

Can you be more specific?

Re: a linewrap option for the (non-markdown) text output instead of overflowing to a scroll bar

Makes sense, should be easy to add.

Hey, thanks for the feedback! If you had posted here as you went along many of these things could have been fixed or worked around, but that's OK, FD is still in alpha and not for everyone
:wink:. I still very much appreciate that you took the time to write the feedback! :building_construction:.

5 Likes