Allow groups to be hidden and made visible via ui_control

#1

I am trying to use the relatively new feature allowing groups to be hidden or made visible via the UI_Control node.

The only documentation I found is in the release notes. Are there any more details available. I have an UI with multiple tabs and up to 20 groups in each tab. What I want is to move from one tab to another and move focus to one on the 20 groups in the tab. I use a UI Control node to which I send a payload of {tab:“Temperatures”,group:{hide:“Group_1”,show:“Group_1”,focus:true}}. I can move to different groups based on a selection in another tab.

It moves to right tab but I cannot get to get the UI to focus on the group defined in the payload. I see some move of focus in the Temperatures tab but not always and i do not see a pattern in what is happen.

Is the valid use of this feature? If not, is there anyone who has an idea of another way of solving this problem?

Thanks in advance.

Mats

#2

Yes. I need to fix the docs. The group name is the id in the JavaScript which is actually the tabName_groupName

#3

I got this working now. Found a bug in my code … The only issue is that if there are two simultaneous users and one is using the feature of moving to a tab and set focus on a specific group the action will be done for both users. As I understand this in the nature of how Node-RED works and might be difficult to change.

#4

Basically yes - the dashboard is not really multi-user.
But… when client’s connect they do get a socketid which every widget does send back as msg.socketid. If the socketid is present the control will only go to the relevant client.

#5

How to use the socket id to provide multi user experience?

#6

The socket.id indicates which session an input came from so if necessary a response can be sent back just to that session. Eg a change of tab, so one user changing tabs doesn’t change everyone else’s screen.

#7

could you please write an example of what should be sent into the UI_Control node?

#8

sending a 0 will switch to tab 0, and as per the readme - to control a group send a message like

{"group": {"hide": ["tab_name_group_name_with_underscores"], "show": ["reveal_another_group"], "focus": true}}

#9

thank you