jpablo-gz opened a new pull request, #8527:
URL: https://github.com/apache/texera/pull/8527

   ### What changes were proposed in this PR?
   
   Add rectangle selection, explanatory section boxes, and a library of 
reusable workflow sections.
   
   - Secondary-button drag or Alt + primary-button drag selects operators, 
internal links, and annotations. Selected elements can be moved together, 
copied, or deleted.
   - Named, colored section boxes annotate workflow regions using the existing 
annotation model, persistence, undo, and collaboration.
   - Saving a reusable section captures geometrically contained operators, 
their configuration (including UDF code), internal links, and the section box. 
Library entries provide a description and graph preview.
   - Insertion creates independent copies with remapped IDs and selects the 
inserted elements for immediate placement.
   
   The reusable library is stored in the current browser's localStorage; it is 
not a shared server-side library. This change is frontend-only and adds no 
dependencies.
   
   ### Any related issues, documentation, discussions?
   
   Closes #8526.
   Maintainer agreement has not yet been established.
   Contribution workflow: 
https://github.com/apache/texera/blob/main/CONTRIBUTING.md
   
   ### How was this PR tested?
   
   Focused unit/integration suites, from `frontend/`:
   
   ```bash
   npm test -- 
--include=src/app/workspace/component/canvas-selection/canvas-selection.component.spec.ts
 
--include=src/app/workspace/component/canvas-selection/selection-geometry.spec.ts
 --include=src/app/workspace/component/left-panel/left-panel.component.spec.ts 
--include=src/app/workspace/component/left-panel/my-snippets/my-snippets.component.spec.ts
 
--include=src/app/workspace/component/left-panel/my-snippets/reusable-section-detail.component.spec.ts
 --include=src/app/workspace/component/overbox/overbox-dialog.component.spec.ts 
--include=src/app/workspace/component/overbox/overbox-interaction.component.spec.ts
 
--include=src/app/workspace/component/workflow-editor/create-snippet-modal/create-snippet-modal.component.spec.ts
 
--include=src/app/workspace/component/workflow-editor/workflow-editor.component.spec.ts
 --include=src/app/workspace/service/overbox/overbox-colors.spec.ts 
--include=src/app/workspace/service/overbox/overbox.service.spec.ts 
--include=src/app/workspace/service/wor
 kflow-fragment/workflow-fragment.service.spec.ts 
--include=src/app/workspace/service/workflow-snippet/workflow-snippet.service.spec.ts
   ```
   
   179 tests passed across 13 suites against upstream main at 0b103f813.
   Prettier and ESLint checked on the contributed files.
   Browser-mode validation and before/after visual evidence remain pending; 
publish as a draft until these are complete.
   
   Manual review steps:
   1. Drag a selection rectangle around multiple operators and move the 
selection.
   2. Create a section box, edit its name/color, and resize it.
   3. Save it as a reusable section with a description.
   4. Open the library preview, then insert into another workflow.
   5. Verify that the section and its operators are selected and can move 
together.
   6. Edit the inserted operators and confirm the saved library entry is 
unchanged.
   
   ### Was this PR authored or co-authored using generative AI tooling?
   
   Generated-by: OpenAI Codex (GPT-6; earlier implementation also used 
GPT-5-based Codex).
   


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