-
Notifications
You must be signed in to change notification settings - Fork 52
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Position/priority/order value property to dashboard nodes for Subflow and dynamic ordering #1485
Comments
There was a question about the focus of this in the discourse and I thought it would be helpful to mirror my thoughts here: Colin asked: "Are you talking about ordering multiple subflow instances within one group, or ordering multiple widgets within one subflow?" Both effectively :slight_smile: I can now remove hundreds of duplicate node groups in a dashboard flow because I can pass suitable data to each subflow instance - that is a game changer! But nodes appear in a random order and the dashboard side control cant re-order them because being dynamic they do not exist. Yet. But if I give a priority to each instance for the group to build up the right ordering then that would be amazing. Now if you also wanted to be able to give a 'sub'priority to each dashboard node in a subflow that would be even better because if for a particular control you wanted a Button and a Slice - you can either group and order them, or by making the offset bigger than the instance priority set, group by each type of node and then order the instances of each by the instance priority. Presumably you would apply it as an offset (or give a calculation so you could be more flexible with the layout) I guess at the end of the day I really want programmatic ordering of Dashboard nodes as an alternative to the manual drop and drag input. |
Just to make sure I understand, you would like to be able to dynamically specify the ordering of the subflows in the UI? That is via message properties, not subflow properties (which are defined at design time). So one could make the subflows move about on the dashboard at run time? |
@phedders can you clarify exactly what you are looking for? Do you want to be able to configure the subflow and widget order dynamically via messages (so widgets could be moved about on the dashboard at run time)? |
@colinl Thanks for asking - sorry I wasnt very clear. I think there are probably several aims. The primary is to be able to create a subflow to have dashboard widgets to control and or display information about something (in my case mqtt devices - so for example a generic light switch, on/off, status and maybe a timer) and then be able to create multiple sets of that control using subflow nodes. That now works really well because I can add properties to the subflow instance via each node to control labels and for example mqtt topics etc. What I cannot do is set the order that those light controls will be displayed in within a group because you cannot control them in the dashboard sidemenu. So I want to give an index/priority value in the subflow node properties. That is the key request. I assume that property could also be set/modified by messages to the subflow node and would have uses too. (Come to think of it - can I create new subflow instances at run time... that could be very useful!) Does that help clarify? |
Do you need specifically to be able control the order via subflow properties, so that different instances of the subflow could have differently ordered widgets, or is the key requirement just to be able to configure the widget order by some means at design time, with all instances of the subflow having the same widget layout?
It is not possible to change subflow properties by messages, they are fixed at deploy time.
No. A deploy is necessary after adding a subflow. |
Sorry I'm not being very clear :) But I think it would be great to be able to change the order at run time too - perhaps by which are currently on for example.
I saw there was a old ticket #92 and #1237 that seemed to me to be a good idea to make these kind of things more dynamic and controllable at run time - But I think that one is stalled? Also #555 is a similar desire for more dynamic control of the nodes. But maybe this is the best answer to your question - First off I would love the deploy time control of ordering. Run time control would be icing on the cake :) Cheers! |
Oh, you want to order the subflows within the group, I thought you wanted to order the widgets within the subflow. The former is already covered by #710, the later by #1062 |
Oh you are right Colin - I had read #1062 but misread its meaning think it was slightly different - I'll close this as a duplicate, with my apologies for the noise. I am hoping that someone with the knowledge and skill might have time to look into both of those. AFAICT My remaining requests would be solved by Steves typedInput stuff too - so for my purposes DB2 is going to be amazing :) Closing as duplicate of #1062 and also #710 - and really hoping #1237 reaches main soon. |
me too! |
Description
When creating a load of for example buttons through a subflow, there is currently no way to order said buttons in the group.
If there was a priority property, then a priority value could be defined with the subflow properties.
This could also be dynamically adjusted by flows (mqtt input etc) in the same way as color/bg/label...
I can also see how I would use this in normal dashboard items too (not having to go do the dashboard gui to reorder stuff that moved because a node was removed and re -added for example - if it was given a priority value already....)
(Currently using Dashboard 3.6.5 on Node-RED 4.0.5 - And I have just found out about Dashboard 2 which I thought was older than Dashboard 3.6.5... silly me So I am upgrading/rewriting my first dashboard - but the request stands still for DB2. I guess the control would be by sending it in msg.ui_update. or similar.)
Many thanks - DB2 looks awesome.
Have you provided an initial effort estimate for this issue?
I am no FlowFuse team member
The text was updated successfully, but these errors were encountered: