yangzhang75 opened a new pull request, #8517: URL: https://github.com/apache/texera/pull/8517
### What changes were proposed in this PR? Closes #8027. Part of the Form View stack (parent issue #8011), stacked on #8516 (the edit mode). This is the second half of what was #8455 (closed, split in two at 2200 lines). The review commit is the tip `afcf147ae`; the diff shows #8516's commits too until it merges. Lets the author shape the exposed inputs where they appear, in the edit mode #8516 adds. - Rename an input or any of its sub-fields, and hide a sub-field, through a new `editable-label-wrapper` formly wrapper: the label is the input, so what the author types is what the reader reads; leaving it empty falls back to the schema label. The control keeps a programmatic name in both modes (a visually hidden `<label for>` while authoring, the static label for readers). Overrides are stored per binding and reapplied on every rebuild. - Reorder inputs by drag (CDK drag-drop, mapped by binding id so a card the config no longer holds cannot move the wrong field) or from the keyboard with Move up / Move down on each card, disabled at the ends. - Write per-input help text (saved without rebuilding the form on every keystroke), see "From X" attribution while authoring, and remove an input. - A binding whose operator no longer exists renders as a removable card carrying the reason for the author and is hidden from readers; it is never deleted silently on a re-read. - A repeated (array) input keeps its title above its rows in reader mode too: the shared array widget prints its label at the bottom beside its add button, so without this the title jumped from above the rows in edit mode to below them on Done. - Keyboard focus is visible on the Move, Remove and eye buttons (`:focus-visible`). The diff is just over 1000 lines because it is 421 lines of spec against 687 of source (of which 243 are stylesheet); the wrapper and the card's author row are one feature, and the wrapper's four files are the bulk of the rest. ### Any related issues, documentation, discussions? Closes #8027. Part of the Form View feature (parent issue #8011). Replaces the second half of #8455. ### How was this PR tested? Unit tests (vitest). Direct-construction tests cover rename and hide overrides reaching the rendered fields (root title and sub-fields, keyed by path), drag and keyboard reorder with the id-mapped indices (including the end stops and a card the config no longer holds), help text saved without a rebuild, broken bindings shown to an author only and kept for explicit removal, and the repeated input's static title. The rendered spec covers the Move buttons and their end states. The editable-label wrapper has its own TestBed spec (real component: decorate, rename, hide toggle, the reader's label association and the hidden label while authoring). Each new guard was deletion-checked (removing it turns the corresponding test red). eslint, prettier and the production (AOT) build pass; every changed line is statement and function covered. #### video https://github.com/user-attachments/assets/9a816b43-abe6-4f63-85ec-65f41653b3d1 ### Was this PR authored or co-authored using generative AI tooling? Yes. Generated-by: Claude Code (Claude Fable 5.1, Anthropic). Co-authored with Claude, reviewed line by line by the author before submission. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01FVvP3ttj22f9LB4p9u2anY -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
