Feature request: Visual improvement of the search

Currently, if the search flows functionality (ctrl-f) is used, it marks the matching node(s) by a blinking dashed line for a very few seconds. If your screen shows lots of nodes, then the - not adjustable - blinking time is that short and the marking is so unnoticeable, that the blinking ends before the matching node was found by one's eyes.

This have to be improved, thus, either:

  • The blinking time shall be
    • set to be longer,
    • (and/or) adjustable by the user.
  • The visual marking shall be more noticeable (e.g. blinking background of the node with inverted color).
1 Like

I struggle with this too.

I think there was another recent thread asking something similar though I cannot find it right now.

Found it. This was my suggestion: Better accessibility on search result highlighting - #14 by Steve-Mcl

I've also raised it some time ago.

1 Like

Thank you Steve-Mcl for pointing me to that.
Whatever solution would help, shall be done. I think that is a frequently used functionality, thus, majority of users would benefit.

2 Likes

A post was split to a new topic: Search enhancement

Without re-opening that thread: Although it looks nice with those circles, wouldn't it be "cheaper" the flashing of the background of or around the node?

OR...
If the node we are searching is highlighted in the side-tab (information tab in specific) wouldn't it be much easier to spot in the tree structure ?
like regedit search in windows

Unrelated but something I found myself needing today was a select-all-nodes-from-search, i.e. I did a relatively specific search, wanted all found nodes to be selected, then I wanted to copy these nodes so that they could be pasted to a separate flow.

I didn't find a way to do it in the Editor UI so, I ended up in the browser console:

RED.view.select({ nodes: RED.search.search("flow:current type:Audio").map(d => d.node) }) 

that worked fine.

Question is: do others have this use case of select all nodes from a search?

I was thinking of creating a sidebar search node package which could do something like this but as most probably I'm the only one who needs this, I left the idea for the back-burner.

Have no use for this at this time but I tried pasting it into the browser console (changed Audio to switch) and got undefined. How is it supposed to be used?

Disregard the output in the console, that will be undefined in this case as select function returns nothing. But switch nodes should be selected in the UI now after you run it.

1 Like

This code:

RED.view.select({ nodes: RED.search.search("flow:current type:switch").map(d => d.node) }) 

This flow:

[{"id":"24831dd56ceff93d","type":"switch","z":"2f797dc464a1fcab","name":"","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":2505,"y":2390,"wires":[[]]},{"id":"bf683b8a89ad8f77","type":"switch","z":"2f797dc464a1fcab","name":"","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":2405,"y":2565,"wires":[[]]},{"id":"638a45148d984d93","type":"switch","z":"2f797dc464a1fcab","name":"","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":2346,"y":2457,"wires":[[]]},{"id":"1f760e69a25e629c","type":"change","z":"2f797dc464a1fcab","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":2520,"y":2464,"wires":[[]]},{"id":"ba6ed35db0f71b43","type":"function","z":"2f797dc464a1fcab","name":"function 33","func":"\nreturn msg;","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":2341,"y":2354,"wires":[[]]},{"id":"bddace064957cb30","type":"template","z":"2f797dc464a1fcab","name":"","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"This is the payload: {{payload}} !","output":"str","x":2439,"y":2651,"wires":[[]]},{"id":"228adad47821c872","type":"exec","z":"2f797dc464a1fcab","command":"","addpay":"","append":"","useSpawn":"false","timer":"","winHide":false,"oldrc":false,"name":"","x":2586,"y":2544,"wires":[[],[],[]]}]

This gif:

select-all-switches

First nothing is selected, then all switch nodes are selected and then I can move/delete/duplicate them as desired.

And as I explained, I have very specific use-cases why I need to do this - very occasionally - and hence my inquire whether anyone else would need this.

Wow. It selects all link wires also - awesome. I will keep that in my tools drawer just in case