Skip to content

Add minwidth to acl dropdown table - #1661

Open
Arnei wants to merge 8 commits into
opencast:r/20.xfrom
Arnei:acl-dropdown-table-minwidth
Open

Add minwidth to acl dropdown table#1661
Arnei wants to merge 8 commits into
opencast:r/20.xfrom
Arnei:acl-dropdown-table-minwidth

Conversation

@Arnei

@Arnei Arnei commented Sep 1, 2026

Copy link
Copy Markdown
Member

Includes #1655, this adds only the last commit.

This adds a minimum width to the column that contains the acl dropdown in the acl tab. This is supposed to keep the column from shrinking when typing in the dropdown.

How to test this

Can be tested as is. Go to the event details, open the ACL tab and type in a role dropdown. For better effect configure sanitize=false and prop.org.opencastproject.acl.additional.actions.annotate=Annotate in the Opencast config files.

Arnei added 8 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.
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.
The 1s debounce delay predates the backend performance work on the ACL
role picker (see the opencast20-side fixes for /admin-ng/acl/roles.json):
when a search could take several seconds regardless, an extra second of
debounce was a small fraction of the total wait. Now that a real search
responds in roughly 100ms, the fixed 1s delay is the dominant, and now
clearly excessive, part of the perceived latency -- pull it down to 300ms,
in line with typical search-as-you-type debounce intervals, and give it a
name instead of a bare literal so it's easy to find and retune later.
This adds a minimum width to the column that contains the acl
dropdown in the acl tab. This is supposed to keep the column from
shrinking when typing in the dropdown.
@Arnei Arnei added the type:visual-clarity Improves UI readability label Sep 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type:visual-clarity Improves UI readability

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant