kz930 opened a new pull request, #8507: URL: https://github.com/apache/texera/pull/8507
### What changes were proposed in this PR? The property panel reads the constraints the schema declares. A column property is checked against the attribute type rule for every column it names rather than only the first. A hyperparameter's value renders as the control its parameter implies: a dropdown where the accepted set is known, a number input where it is numeric, a plain text box where the rules say nothing. A property declared unique among rows says which row already holds the value, and a row deleted clears the error it left behind, since deleting a row changes no surviving control's value and the row left behind would otherwise keep an error about a duplicate that is no longer there. Split out of #8350 on review, which had grown past what one reading can hold. That change is the export button; this one is a separate thread of work. ### Any related issues, documentation, discussions? Not part of #8325: nothing here makes a workflow exportable. The schema annotations it reads were declared for that work, which is how the two came to travel together. Supersedes #7983, #7980 and the frontend half of #7946, which are closed in favour of this. They touched the same three files, so reviewing them apart meant reading the same code more than once and resolving a conflict between them at merge. Closes #7981. Part of #7979, #7952 and #7936, whose remaining half is in #8348; those three stay open until both land, since each is only fixed once the schema declares the rule and the panel enforces it. ### How was this PR tested? `formly-utils.spec.ts` covers the mapping from a declared rule to a control and the type checking across every named column. `constrained-value.component.spec.ts` covers what each control renders. `operator-property-edit-frame.component.spec.ts` drives the rendered form, including the click that deletes a duplicate row and the error it has to clear. ### Was this PR authored or co-authored using generative AI tooling? Generated-by: Claude Code (Claude Opus 5) 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- 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]
