kz930 opened a new pull request, #7259: URL: https://github.com/apache/texera/pull/7259
### What changes were proposed in this pull request? `marginal` — the **Distribution Type** field — was a plain string whose legal values existed only in its description, so the form rendered a free-text box. It now declares them as a schema `enum`, exactly the way `ECDFPlotOpDesc.marginal` already does: `none` as the default sentinel, and `rug`, `box`, `violin`, `histogram` as the values px accepts. `none` is not passed to px — the argument is omitted, as before for an empty field. The enum exposes `histogram` too. `px.histogram` accepts it and the operator always could, but the description named only three, so it was unreachable in practice. ### Why are the changes needed? The value is interpolated straight into `px.histogram(..., marginal=<value>)`, so a typo reaches plotly and fails inside it with `AttributeError: 'NoneType' object has no attribute 'constructor'` — an error that mentions nothing the user typed. ### Does this PR introduce any user-facing change? Yes. Distribution Type becomes a dropdown. A saved workflow with an empty value behaves as before, since `none` and empty both omit the argument; one carrying `rug`, `box` or `violin` is unaffected. ### How was this patch tested? `WorkflowOperator/compile`, `scalafmtCheckAll`, and `HistogramChartOpDescSpec` (4 tests). Closes #7209 Generated-by: Claude Code (Claude Opus 5) -- 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]
