Dashboard buttons affect every browser with dashboard open

#1

I have some buttons, that when clicked change the URL that is displaying in an iframe. It works great, except that when anyone with the dashboard open clicks one of the buttons, it changes the URL being displayed for everyone else with the dashboard open. Is there a way I can use the built in buttons to only make changes for the browser that clicked the button, or am I going to have to use the ui_template node to develop my own buttons?

Here is my current flow:

[{"id":"628436a.9b824c8","type":"ui_button","z":"e5f97bd3.4339a8","name":"","group":"c4cca73c.9e57b8","order":1,"width":"2","height":"1","passthru":false,"label":"L7","tooltip":"","color":"Black","bgcolor":"","icon":"","payload":"1","payloadType":"str","topic":"","x":670,"y":460,"wires":[["bf53a4b4.58bac8"]]},{"id":"984260bb.22c8f","type":"ui_button","z":"e5f97bd3.4339a8","name":"","group":"c4cca73c.9e57b8","order":1,"width":"2","height":"1","passthru":false,"label":"L6","tooltip":"","color":"Black","bgcolor":"","icon":"","payload":"2","payloadType":"str","topic":"","x":670,"y":500,"wires":[["bf53a4b4.58bac8"]]},{"id":"4bfcfb7a.be5ce4","type":"ui_button","z":"e5f97bd3.4339a8","name":"","group":"c4cca73c.9e57b8","order":1,"width":"2","height":"1","passthru":false,"label":"52' BS","tooltip":"","color":"Black","bgcolor":"","icon":"","payload":"3","payloadType":"str","topic":"","x":670,"y":540,"wires":[["bf53a4b4.58bac8"]]},{"id":"6b574772.6813a8","type":"ui_button","z":"e5f97bd3.4339a8","name":"","group":"c4cca73c.9e57b8","order":1,"width":"2","height":"1","passthru":false,"label":"52' CSUE","tooltip":"","color":"Black","bgcolor":"","icon":"","payload":"4","payloadType":"str","topic":"","x":680,"y":580,"wires":[["bf53a4b4.58bac8"]]},{"id":"be1d99fe.2dc828","type":"ui_button","z":"e5f97bd3.4339a8","name":"","group":"c4cca73c.9e57b8","order":1,"width":"2","height":"1","passthru":false,"label":"52' DT","tooltip":"","color":"Black","bgcolor":"","icon":"","payload":"5","payloadType":"str","topic":"","x":670,"y":620,"wires":[["bf53a4b4.58bac8"]]},{"id":"7ebc7bd6.be8d04","type":"ui_button","z":"e5f97bd3.4339a8","name":"","group":"c4cca73c.9e57b8","order":1,"width":"2","height":"1","passthru":false,"label":"52' LFS","tooltip":"","color":"Black","bgcolor":"","icon":"","payload":"6","payloadType":"str","topic":"","x":680,"y":660,"wires":[["bf53a4b4.58bac8"]]},{"id":"93377477.f2b758","type":"ui_button","z":"e5f97bd3.4339a8","name":"","group":"c4cca73c.9e57b8","order":1,"width":"2","height":"1","passthru":false,"label":"BP","tooltip":"","color":"Black","bgcolor":"","icon":"","payload":"7","payloadType":"str","topic":"","x":670,"y":700,"wires":[["bf53a4b4.58bac8"]]},{"id":"bf53a4b4.58bac8","type":"function","z":"e5f97bd3.4339a8","name":"","func":"var buttonNumber = msg.payload;\nif (buttonNumber === \"1\") {msg.payload = \"http://C001675833/l7biqdashboard.htm\";} \n    else if (buttonNumber === \"2\") {msg.payload = \"http://C001675833/l6biqdashboard.htm\";} \n    else if (buttonNumber === \"3\") {msg.payload = \"http://C001675833/52ftbsbiqdashboard.htm\";} \n    else if (buttonNumber === \"4\") {msg.payload = \"http://C001675833/52ftcsuebiqdashboard.htm\";} \n    else if (buttonNumber === \"5\") {msg.payload = \"http://C001675833/52ftdtbiqdashboard.htm\";} \n    else if (buttonNumber === \"6\") {msg.payload = \"http://C001675833/52ftlfsbiqdashboard.htm\";}\n    else if (buttonNumber === \"7\") {msg.payload = \"http://C001675833/bpbiqdashboard.htm\";}\n    else {msg.payload = buttonNumber;}\nreturn msg;","outputs":1,"noerr":0,"x":970,"y":460,"wires":[["85dda328.b768a"]]},{"id":"85dda328.b768a","type":"template","z":"e5f97bd3.4339a8","name":"","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"<iframe id=\"BIQframe\" style=\"width:1515px;height:1661px;margin:0px;display:block;background-color:rgb(225,225,225);border:5px outset grey;padding:0px;\" src=\"{{{payload}}}\"></iframe>","output":"str","x":1100,"y":460,"wires":[["3bc0cd60.4cc7c2"]]},{"id":"3bc0cd60.4cc7c2","type":"ui_template","z":"e5f97bd3.4339a8","group":"6913fab3.ad0ea4","name":"BIQ","order":0,"width":"33","height":"35","format":"<div ng-bind-html=\"msg.payload | trusted\"></div>","storeOutMessages":false,"fwdInMessages":false,"templateScope":"local","x":1230,"y":460,"wires":[[]]},{"id":"c4cca73c.9e57b8","type":"ui_group","z":"","name":"Area","tab":"6516993b.916028","order":1,"disp":true,"width":"2","collapse":false},{"id":"6913fab3.ad0ea4","type":"ui_group","z":"","name":"MainFrame","tab":"6516993b.916028","order":2,"disp":false,"width":"33","collapse":false},{"id":"6516993b.916028","type":"ui_tab","z":"","name":"BIQ - Production","icon":"dashboard","order":5}]
0 Likes

#2

Please read the README of the dashboard nodes.

0 Likes

#3

Hmmm actually controls from the ui should have a socketid property attached and if present responses should go back to that socket only. (If not present they go to all)

So maybe something is broken.

This is NOT the same as multiuser as there is still only one underlying flow and it only has one internal state, just the clients may see different parts of it.

0 Likes