yangzhang75 opened a new pull request, #8436: URL: https://github.com/apache/texera/pull/8436
### What changes were proposed in this PR? Field-type infrastructure the Form View reader will build on (parent issue #8011). Frontend only, and there is **no visible change** in this PR -- it is a behaviour-preserving refactor of the operator property panel plus one exposability rule. * Extract the operator property panel's custom-widget decisions -- scattered inline through the field map (file picker, model picker, HuggingFace image/audio uploaders, dataset selector, code box, Projection's drag-reorder list) -- into one pure helper, `customFormlyFieldType`, and have the panel call it. Same widget for every property as before; the mapping is now a single source of truth a later view (the Form View) can share, so a selectable or uploadable property never silently degrades to a plain text box there. * Add the companion rule `NON_FORM_FIELD_TYPES` (the code editor): a property whose control cannot be a form field is not offered for exposure, since writing code is not "filling in a value". A drag-reorder property (e.g. Projection's columns) stays exposable -- it just renders without the drag in the form. Sub-field addressing (`childPath` / `arrayItemOf`) is intentionally not here: it lives on the form component and lands with the render PR that consumes it. ### Any related issues, documentation, discussions? Closes #8021. Part of the Form View feature (parent issue #8011); builds on the merged panel/choose work. ### How was this PR tested? Unit tests (vitest). `custom-formly-type.spec.ts` covers the helper at 100% (statements and branches) -- every widget rule, each guarded negative, and the default. The shared `operator-property-edit-frame.component.spec.ts` (250 tests) is green, confirming the extraction leaves the panel's behaviour unchanged, plus a new test that a code-editor property is not offered for exposure while an ordinary one is. Every line added to the panel is covered. `ng build` is clean. No screenshot: there is no visible change. ### Was this PR authored or co-authored using generative AI tooling? Yes. Co-authored with Claude (Anthropic), reviewed line by line by the author before submission. -- 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]
