Repository navigation
Migrate the remaining antd form controls to core components - #35347
shah-harshit wants to merge 6 commits into
Conversation
TeamTypeSelect uses the core Select and core icons. ColorPicker keeps its free-hex swatch + text pair on core Input and reports a plain string; the core COLOR_PICKER field is a fixed palette, so it cannot replace it for theme colours.
6039fe0 to
cde5e2f
Compare
QueryUsedByOtherTable picks tables with the core DataAssetAsyncSelectList and reports entity references, so QueryCard no longer maps antd options. The classic search settings reuse the AI-mode TermBoostCard instead of the antd TermBoost copy.
The query table picker is controlled, so it now follows the user's picks instead of being reset to the saved tables on every parent re-render. ColorPicker takes the field label, so the hex box and the swatch of each theme colour get their own accessible names.
🔄 Playwright impact map auto-refreshedThis PR touched specs or UI source that changed the source→spec routing map. I regenerated What is this file? It is the auto-generated half of Playwright's PR planner. It routes "if source X changes, run specs Y" by walking spec imports and cross-referencing What if I want to regenerate locally instead? Run this before pushing your next change to skip the bot commit: python3 .github/scripts/generate_playwright_impact_map.py
git add .github/playwright/impact-map.generated.json
git commit --amend --no-edit # or a separate commit |
Code Review ✅ Approved 2 closed / 2 findings🟡 Medium risk · Replacing query table selection with the core picker changes how table references are selected and saved, potentially associating queries with unintended tables. Migrates the remaining antd form controls (TeamTypeSelect, ColorPicker, the query table picker and classic term boost) to core components. Resolved: each theme colour input now has a distinct accessible name instead of all sharing "Color", and the query-used-in picker keeps picks across re-renders instead of resetting to saved tables after each pick. No open issues found. ✅ 2 closed✅ Quality: Every theme colour input gets the same accessible name "Color"
✅ Bug: Query-used-in picker resets to saved tables after each pick
VerificationRules No rules evaluated Functional validation Not enabledAuto-approval Not enabledOptionsDisplay: compact → Counting what did not apply, without listing it. Comment with these commands to change the behavior for this request:
Was this helpful? React with 👍 / 👎 | Powered by Gitar — free for open source |
|
Combined into #35280 to go through the merge queue once. All commits, review fixes, screenshots and test results from this PR are carried over there. |
|



Describe your changes:
Part of open-metadata/openmetadata-collate#6893 (epic open-metadata/openmetadata-collate#6884).
PR 3 of 3 for the Form / Select / Input migration: the remaining antd form controls that no other open PR covers move to
@openmetadata/ui-core-components. Once #35190 lands, the legacy antd field renderer inutils/formUtils.tsxloses its last caller and is removed, andForm/Select/Inputare frozen inMIGRATED_ANTD_COMPONENTS.Out of scope (already in flight): Data Quality, Observability / Alerts and Profiler forms are migrated by #35190 (OSS) and open-metadata/openmetadata-collate#7276 (Collate), including
AddTestSuitePipeline,SliderWithInput,CustomRangeWidget,AsyncSelectin alerts andFQNListSelect. This PR does not touch them.Type of change:
High-level design:
Done:
TeamTypeSelect→ coreSelect, coreCheck/XCloseicons on its icon-only buttons (now with accessible names).ColorPicker: hex text on coreInput, swatch kept as a native colour input (core has no swatch control, and inside a coreInputthe swatch collapses to a thin stripe); reports a plain string and takes the fieldlabelso each theme colour has distinct accessible names. The coreCOLOR_PICKERfield is a fixed palette, so it cannot replace this free-hex picker for theme colours. Its LESS file goes; the unused legacyCOLOR_PICKERcase informUtilsis dropped.QueryUsedByOtherTable→ coreDataAssetAsyncSelectList(table index, multiple), reporting entity references;QueryCardno longer maps antd options to references.Classic search settings reuse the AI-mode
TermBoostCardinTermBoostList; the antdTermBoostcopy, its LESS and the per-caller card width overrides are removed.Remaining (waits on #35190, which adds the core
NumberInputand moves the lastAsyncSelect/ legacy-field callers):EntitySearchSettings: its two antdInputNumbers → coreNumberInputAsyncSelectremoval once alerts no longer use itgetField/generateFormFieldsand the wrappers only it uses (SanitizedInput,FilterPattern,UserTeamSelectableListSearchInput, legacyFormItemLabel,FormUtils.interface), then freezeForm/Select/InputBehaviour changes:
DataAssetAsyncSelectListlayout). Picks now persist across re-renders of the query card.xsicon buttons with accessible names.Screenshots (light, classic mode — before =
main, after = this branch):main)Testing:
TeamTypeSelect.test.tsx: fixed the mock to return team types as the util does; added "saves the picked type" and "hides Group" casesColorPicker.test.tsx: added "reports a typed hex as a plain string"; Appearance page and formUtils suites pass (30 tests)yarn lint:src:suppressions(antd baseline 357 → 346),yarn test:eslint-rules,ui-checkstyle-changed: passColorPickeraccessible-name testQueryUsedByOtherTable.test.tsx: replaced the loader/initial-fetch cases with "searches tables and preselects the current ones" and "reports picked tables as entity references"; TableQueries + SearchSettings suites pass (64 tests)SearchSettings.spec.tspasses;QueryEntity.spec.tstimed out on the table-search wait added here, which was too strict — loosened in 0952b50, not re-run (E2E not run for this round)tsc: no new errorsChecklist: