The GitHub Actions job "Benchmarks" 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: 1fbd34627026c10e67a9c20a686e37e1f0b8d7f0 / yangzhang75 <[email protected]> feat(gui): open a step to inspect its settings read-only on the Form View (#8442) ### What changes were proposed in this PR? Closes #8025. Part of the Form View stack (parent issue #8011). Its base #8441 (PR13) is merged, so this PR sits directly on main. Lets a reader open a step on the embedded workflow preview to inspect its settings, read-only. - Clicking a step on the read-only canvas highlights it and opens the operator's own property panel; clicking empty canvas dismisses it. Selection reuses the canvas highlight stream rather than teaching the editor a second click mode. - The panel is truly read-only: it carries the `inert` attribute (which blocks pointer AND keyboard AND focus, unlike `pointer-events:none`), and the graph is modification-disabled. The panel itself stays the scroll container so a long panel is still readable. - The property panel is mounted with `[hidden]`, not `*ngIf`: it shows its operator by REACTING to the highlight stream (no initial pull), so it must already be subscribed when the click fires. Mounting it on selection subscribes too late and opens empty. - The Form View stays silent on the shared co-editor channel (`updateSharedModelAwareness("currentlyEditing", undefined)`), so inspecting a step from the form never shows this session as editing a graph on the other view. - Adds a `persistPlacement` input to the property editor (default `true`, canvas unchanged). The Form View mounts it with `persistPlacement=false`, so its `ngOnInit` skips the `#right-container` docked-panel restore that only exists in the canvas layout and would otherwise throw. Turning the panel live to choose what to expose is the authoring PR (#8026). ### Any related issues, documentation, discussions? Closes #8025. Part of the Form View feature (parent issue #8011). ### How was this PR tested? Unit tests (vitest). Direct-construction tests cover the selection/dismiss logic (open on single highlight, clear on empty-canvas unhighlight, silence on the co-editor channel, close button). A TestBed rendered test covers the panel markup with the property editor stubbed (it is a heavy child with its own spec; the stub carries only the two bound inputs). The property-editor spec covers the new `persistPlacement` guard: `ngOnInit` does not read `#right-container` and `ngOnDestroy` does not persist geometry when `persistPlacement=false`. 100% statement and function coverage on the changed source. `ng test`, `ng build gui` (AOT), eslint and prettier all pass. #### Screenshot A step opened read-only on the Form View: the property panel showing the operator's settings, inert. <img width="1176" height="445" alt="Screenshot 2026-09-10 at 9 43 28 AM" src="https://github.com/user-attachments/assets/9f55b511-3ea7-41d8-9d03-80e6e928c6e3" /> ### 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. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01FVvP3ttj22f9LB4p9u2anY Co-authored-by: Claude Opus 4.8 <[email protected]> Report URL: https://github.com/apache/texera/actions/runs/34527740124 With regards, GitHub Actions via GitBox
