The GitHub Actions job "Backport Approval Check" on 
texera.git/fix/form-code-editor-host has succeeded.
Run started by GitHub user yangzhang75 (triggered by yangzhang75).

Head commit for run:
3d3d280ab27a344dcdefb93b30f83272712e671c / Yang Zhang <[email protected]>
fix(workflow-form): give the Form View a code editor host, so its step panel's 
code button opens the editor

The code editor renders into an outlet the operator canvas published once
(`<ng-template #codeEditor>` in WorkspaceComponent, handed to CodeEditorService
as `vc`) and never let go of. The Form View has no outlet of its own, yet its
step panel shows the operator's real property frame and, in edit mode, the
ordinary "Edit code content" button. Pressing it opened the editor into
whatever `vc` held: nothing, from a direct open of the Form View, or the
destroyed canvas's outlet after the routed switch between the views (#8581),
where Monaco rendered into a detached view and nothing appeared on screen.
Verified on main: the button is there, the click does nothing, no error.

Each view that shows operator properties now carries its own outlet, marked
`texeraCodeEditorHost` on an `<ng-template>`: the directive attaches the outlet
to CodeEditorService when the view's template is built and detaches it -- only
its own -- when the view is destroyed, which also closes an editor still open
in it. The views are sibling routes, so there is one host at a time. The
button opens into whichever host is up, is disabled with a tooltip while none
is, and a co-editor's open reaching a codearea with no host neither throws nor
marks that operator's editor open. The editor is told its operator by its
opener instead of reading the highlight in its constructor, and may be dragged
within the Form View's page as well as the canvas.

Deliberately not in this change: exposing a code property as a form input. The
form's rules keep the code editor out of what an author may expose
(NON_FORM_FIELD_TYPES) and fall back from it on an old workflow that carries
one (CANVAS_ONLY_FORMLY_TYPES); editing code is not filling in a value, and a
form reader should not be writing code. The step panel is the author's own
editing surface, which is what this fixes.

Closes #8760

Co-Authored-By: Claude Fable 5.1 <[email protected]>
Claude-Session: https://claude.ai/code/session_01FVvP3ttj22f9LB4p9u2anY

Report URL: https://github.com/apache/texera/actions/runs/39211964529

With regards,
GitHub Actions via GitBox

Reply via email to