ls1intum / Apollon

UML Modeling Editor written in React
https://apollon-library.readthedocs.io
MIT License
65 stars 22 forks source link

Add support for BPMN groups and adapt subprocess visualization #315

Closed matthiaslehnertum closed 9 months ago

matthiaslehnertum commented 10 months ago

This PR intends to add support for groups within BPMN diagrams and adapts how subprocesses are rendered to comply with the BPMN 2.0 standard.

Checklist

Motivation and Context

Groups allow for easier entity management in larger BPMN diagrams - therefore this change adds support for them. Additionally, to comply with the specification of the BPMN 2.0 standard, the way how subprocesses are rendered is updated.

Steps for Testing

  1. Add a group (box with dashed outline) to the canvas
  2. Drop other elements inside the group
  3. Trying dragging the group around to assure everything inside the group is moved as well
  4. Delete group to ensure contained elements are deleted as well
  5. Drag subprocess onto the canvas and make sure it is displayed as expected

Test Coverage

File % Stmts % Branch % Funcs % Lines
main/packages/bpmn/bpmn-group 94.73 100 66.66 94.73
bpmn-group-component.tsx 100 100 100 100
bpmn-group.ts 85.71 100 50 85.71
main/packages/bpmn/bpmn-subprocess 95.45 100 66.66 95.45
bpmn-subprocess-component.tsx 100 100 100 100
bpmn-subprocess.ts 80 100 50 80

Screenshots

Screenshot 2023-10-26 at 11 53 31