# Manage Dashboard Dynamic Dropdown

**URL:** <https://discourse.nodered.org/t/manage-dashboard-dynamic-dropdown/48145>\
**Category:** Dashboard\
**Created:** [7 July 2021 18:15 UTC](https://discourse.nodered.org/t/manage-dashboard-dynamic-dropdown/48145 "2021-07-07T18:15:27Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![aadam](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/aadam/32/44517_2.png) [@aadam](https://discourse.nodered.org/u/aadam)\
**Post date:** [7 July 2021 18:15 UTC](https://discourse.nodered.org/t/manage-dashboard-dynamic-dropdown/48145/1 "2021-07-07T18:15:27Z")

</div>

Hi all,

I've created a dynamic dropdown which gets ~7 updates per second.  
Because of the high refresh rate with additions/subtraction of options in the dropdown, it is difficult to scroll and use in realtime.

I would like to be able to pause the UI dropdown when opened (first click to open/see options list, second click to select an option).

I have an idea for pausing the UI dropdown though it requires some way to know when the first click is made.

Does anyone know if getting a message on first click is possible?

Other strategies using additional UI components are known, but keeping application as simply as possible is the priority.

Simplified photo of first and second clicks on UI dropdown  
 ![Dropdown Forum](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/f/5/f555de0239033f86cc7cd123a5112a5ece8fbafb.png)

Best Regards

---

<div class="post-metadata">

**Author:** ![dceejay](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dceejay/32/38_2.png) [@dceejay](https://discourse.nodered.org/u/dceejay)\
**Post date:** [7 July 2021 19:21 UTC](https://discourse.nodered.org/t/manage-dashboard-dynamic-dropdown/48145/2 "2021-07-07T19:21:34Z")

</div>

I have no idea how this could possibly work. You need to stop updating it to select something. If during that the list changes behind the scenes (eg an option goes away) - how would the user know. This seems very odd to me.

---

<div class="post-metadata">

**Author:** ![aadam](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/aadam/32/44517_2.png) [@aadam](https://discourse.nodered.org/u/aadam)\
**Post date:** [7 July 2021 20:04 UTC](https://discourse.nodered.org/t/manage-dashboard-dynamic-dropdown/48145/3 "2021-07-07T20:04:04Z")

</div>

Hello,

I hope the image shows the intended logic in very basic, loosely defined terms.

In terms of user losing options... The whole dropdown options list will update whenever a change occurs. This could be adding of a new option, or update to existing one. Removal of items is something that can only happen by user UI interaction, and items are scheduled to be removed on next message so **that's not a concern** ("Remove Inactive Triggers" is a button, and a Switch Node also exists to basically auto-button-push).

**Newer messages will carry the updates of previous messages.**

In short, I have a system that provides many messages in real time which made the UI Dropdown near impossible to use. The sought after solution is to temporarily pause the dropdown only when a user is searching through the options as this is thought to be the simplist end-user solution while maintaining a high refreshrate when not changing Dashboard nodes.

My DuckTape solution so far is to limit the rate of msg.option to UI dropdown and drop intermediary messages.

Can you please help determine if there is a better compromise to dropdown usability, end-user simplicity and maintain high dropdown refreashrate?

 ![Dropdown Forum2](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/f/b/fb676e289b5da30e2802342d725b8eb2ba191feb.png)

---

<div class="post-metadata">

**Author:** ![aadam](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/aadam/32/44517_2.png) [@aadam](https://discourse.nodered.org/u/aadam)\
**Post date:** [7 July 2021 20:24 UTC](https://discourse.nodered.org/t/manage-dashboard-dynamic-dropdown/48145/4 "2021-07-07T20:24:34Z")

</div>

I made an example flow which more or less shows the state of Dropdown UI with the many updates and no ducktape fixes.

```auto
[{"id":"b20a695b.ad36e8","type":"tab","label":"Flow 1","disabled":false,"info":""},{"id":"58708037.6eea3","type":"inject","z":"b20a695b.ad36e8","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":".008","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":220,"y":200,"wires":[["ab6ee87.bc0d118"]]},{"id":"ab6ee87.bc0d118","type":"join","z":"b20a695b.ad36e8","name":"","mode":"custom","build":"array","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":false,"timeout":"","count":"20","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":390,"y":200,"wires":[["e245c24d.671ee"]]},{"id":"6ce6f32f.b1c0bc","type":"ui_dropdown","z":"b20a695b.ad36e8","name":"","label":"","tooltip":"","place":"Select option","group":"b055fa85.83d6e","order":0,"width":0,"height":0,"passthru":true,"multiple":false,"options":[{"label":"","value":"","type":"str"}],"payload":"","topic":"topic","topicType":"msg","x":680,"y":200,"wires":[[]]},{"id":"e245c24d.671ee","type":"function","z":"b20a695b.ad36e8","name":"","func":"msg.options = msg.payload;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":540,"y":200,"wires":[["6ce6f32f.b1c0bc"]]},{"id":"b055fa85.83d6e","type":"ui_group","name":"Default","tab":"8f03e639.85956","order":1,"disp":true,"width":"6","collapse":false},{"id":"8f03e639.85956","type":"ui_tab","name":"Home","icon":"dashboard","disabled":false,"hidden":false}]

```

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)\
**Post date:** [6 August 2021 20:25 UTC](https://discourse.nodered.org/t/manage-dashboard-dynamic-dropdown/48145/5 "2021-08-06T20:25:03Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
