The GitHub Actions job "Required Checks" on texera.git/main has succeeded.
Run started by GitHub user github-merge-queue[bot] (triggered by 
github-merge-queue[bot]).

Head commit for run:
873c91ce70f15266383e82c2e0f74050692c2b84 / yangzhang75 <[email protected]>
feat(workflow-form): Form View title bar, save, and modification lock (#8391)

### What changes were proposed in this PR?

Building on the Form View page shell (#8376), this PR adds the title bar
and the save it needs (parent issue #8011). Frontend only.

* The workflow name, renamable inline exactly as on the operator canvas,
with the same "Saved at ..." state beside it. Both follow the workflow's
metadata live through the same `workflowMetaDataChanged` subscription
the canvas uses, so a rename or save (this page's own, or a co-editor's)
refreshes the name, its width, and the saved-at state from one place,
and the two views never drift apart.
* The debounced save both views share, so an edit in one view is not
lost in the other. It saves only the workflow this page opened (never
spawning a stray "Untitled workflow" from a payload with no id),
preserves a position for every operator (a partial map makes a workflow
unopenable), saves once more on the way out and before handing back to
the canvas, and reports a failed save rather than losing it silently.
* Locks the workflow to read-only on this page
(`disableWorkflowModification`): the graph and its properties are shown,
not edited. A later PR's authoring mode makes them editable with write
access.

The read-only preview, the inputs, running and results are added by
later PRs.

#### Screenshot

The title bar (renamable name, "Saved at ..." state, the Canvas / Form
View switch) on the read-only page:
<img width="1280" height="86" alt="Screenshot 2026-09-03 at 11 18 10 PM"
src="https://github.com/user-attachments/assets/b1fa29a8-8b08-4b0c-bfda-51e62d8628f6";
/>

### Any related issues, documentation, discussions?

Part of the Form View feature (parent issue #8011); stacked on #8376
(the page shell). Until #8376 merges, this PR's diff includes that PR's
commit as well. close #8019

### How was this PR tested?

Unit tests (vitest): `workflow-form.component.spec.ts` (21 tests). As
with the shell, the component injects heavy services and child
components, so its spec constructs it directly with the shared harness's
mocks rather than through TestBed; template rendering is therefore not
exercised, but the component and the harness are at 100% of the
TypeScript lines this PR adds. The template compiles cleanly under `ng
build`.

### 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.

Co-authored-by: Claude Opus 4.8 <[email protected]>

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

With regards,
GitHub Actions via GitBox

Reply via email to