Skip to content

Minor dropdown fixes - #1655

Open
Arnei wants to merge 6 commits into
opencast:r/20.xfrom
Arnei:minor-dropdown-fixes
Open

Minor dropdown fixes#1655
Arnei wants to merge 6 commits into
opencast:r/20.xfrom
Arnei:minor-dropdown-fixes

Conversation

@Arnei

@Arnei Arnei commented Aug 20, 2026

Copy link
Copy Markdown
Member

This PR does not fix any big bug, but addresses a couple of smaller issues that are not directly noticeable to the end user, such as removing dead code, avoiding overriding caller input, or properly debouncing async requests. More details in the commits.

How to test

Can be tested as is. Make sure to try different dropdowns (In particular series dropdown in event metadata, acl role dropdowns and table filters). Also check if tab navigation has been impacted.

AI usage

Clause Sonnet was used to identify the issues.

Arnei added 2 commits August 20, 2026 09:27
This was already false per default, but was set to
false explicitly to fix a tab navigation issue in the
metadata tab of events/series dialog.
So this sets openMenuOnFocus to false in RenderFields, so that it
may be true in other components again
Before we only made a copy if skipTranslate was true. This could
have cause errors with immutable arrays, so it is probably
better to copy everytime.
@Arnei Arnei added type:bug Something isn't working type:code-enhancement Internal improvements to the codebase labels Aug 20, 2026
Arnei added 4 commits August 20, 2026 13:08
menuPlacement defaults to this anyway, no need to check
here again
By using useRef instead of createRef we can avoid
recreating the ref all the time.
Should result in a very, very minor performance boost.
Avoid potential rerenders for virtualized options
which can end up quite costly for larger lists.
Could also help with flickering and focus reset issues somewhat.
Previous code was just delaying the fetch by a second. It would still
fire all accumulated request anyway (e.g. requests for "C", "Co, "Cou",
"Cour", "Cours" and "Course", instead of just "Course".
Implements debouncing, which should make for less load
and cleaner rendering steps when searching in an async dropdown.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type:bug Something isn't working type:code-enhancement Internal improvements to the codebase

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant