yangzhang75 opened a new pull request, #8441:
URL: https://github.com/apache/texera/pull/8441

   ### What changes were proposed in this PR?
   
   Closes #8024. Part of the Form View stack (parent issue #8011), stacked on 
#8440 (PR12).
   
   Shows the chosen results under the workflow that produced them, as a 
**display filter over the canvas's view-result set** (settled design): the form 
reads which operators the canvas already views and shows those, and it NEVER 
writes the canvas's view-result flags, so a normal canvas user's result-viewing 
is unaffected.
   
   - One result card per chosen, currently-viewed step that produced a 
non-empty result: a paginated table (`texera-result-table-frame`), a 
fit-to-card visualisation (`texera-visualization-panel-content`) with 
per-result zoom, or the section shows a compact "press Run" / "no result yet" 
state. A step that produced nothing collapses out rather than sitting on a 
permanent empty card.
   - `shownResultIds` = the author's `resultOperatorIds` kept to only those 
still in `graph.getOperatorsToViewResult()`; it refreshes on every result 
update, so a view-result toggle on the canvas (a co-editor's included) is 
reflected without a reload.
   - Adds `WorkflowResultService.hasNonEmptyResult` (main only had 
`hasAnyResult` = a service exists; this checks the tuple/snapshot count so an 
empty result reads as "no result").
   
   Picking which results to show is an authoring action added by a later PR 
(#8026); opening a step to inspect it read-only is #8025. This PR is 
display-only.
   
   ### Any related issues, documentation, discussions?
   
   Closes #8024. Part of the Form View feature (parent issue #8011).
   
   ### How was this PR tested?
   
   Unit tests (vitest). Direct-construction tests cover the display filter 
(shown = chosen intersect currently-viewed; a de-viewed or deleted operator 
drops out; never writes view-result), the non-empty gating, the zoom clamp, 
`resultKey`/`resultVersion` rebuilding a frame on a new result, and the 
result-update subscription. `workflow-result.service.spec.ts` covers 
`hasNonEmptyResult` (empty vs full, paginated vs snapshot). A TestBed test 
covers the results section and card markup (the real table/visualisation 
children are covered by their own specs; their websocket-backed DI does not run 
in jsdom). 100% statement and function coverage on the changed source. `ng 
test` (146 tests), `ng build gui`, eslint and prettier all pass.
   
   #### Screenshot
   
   The results section under the workflow: a table and a visualisation card 
after a run.
   
   <!-- paste the screenshot below this line -->
   
   ### 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.
   


-- 
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]

Reply via email to