Fix tabbing between fields not working with mixed_text field and add style for disabled 'Next' button. - #1685
Open
rute-santos wants to merge 1 commit into
Open
rute-santos wants to merge 1 commit into
rute-santos wants to merge 1 commit into
Conversation
…tyle for disabled 'Next' button. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
|
This pull request is deployed at test.admin-interface.opencast.org/1685/2026-10-02_20-00-38/ . |
Contributor
|
Use Run test server using develop.opencast.org as backend: Specify a different backend like stable.opencast.org: It may take a few seconds for the interface to spin up. |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fix keyboard navigation through
mixed_textmetadata fields; style disabled wizard buttonsProblem
In the wizards (e.g. "Add event"), multi-value
mixed_textfields such asPresenter(s) or Contributor(s) broke keyboard navigation:
held only in local state. The value was never committed, so required fields
stayed invalid and the Next button stayed disabled with no visible
reason.
next field.
nowhere.
RenderMultiFieldinstances shared one module-levelchildRef, so theclick-outside detection was attached to whichever field rendered last.
Separately, disabled Next/Create buttons looked the same as enabled
ones.
NavigationButtonsalready setsinactive/disabledon them, butnothing styled those states.
Changes
RenderMultiField.tsxchildRefis now created per component withuseRef. It is passed toEditMultiSelectascontainerRef.onBluron the field container checksrelatedTarget. When focusleaves the field, the typed value is committed and the field leaves edit
mode. When focus moves inside the field, the value is committed and the
field stays open. The handler runs on the next tick so it doesn't
re-render while the browser is still moving focus. Clicks are still
handled by
useClickOutsideField.submitValueis called through a ref, so callers that run outside thecurrent render (the unmount cleanup) use the latest field value. Before,
they could overwrite values added in the meantime.
tabIndex={-1}, like the remove links in thelegacy admin UI. Values can still be removed from the keyboard: pressing
Backspace in the empty input removes the last value.
wizardHooks.ts: adds a comment explaining whyuseClickOutsideFielddoesn't handle keyboard exit itself.
_footer.scss: wizard footer buttons with.inactiveor:disabledare shown at 50% opacity with a default cursor.
How to test
become a label, the field should close, and focus should land on the next
field.
"x" buttons.
last value should be removed.
stay open. Click outside it. It should close and keep the typed value.
should look normal again once the field is filled.
AI Usage
🤖 Generated with Claude Code