-
Task
-
Resolution: Done
-
Major
-
None
-
None
-
False
-
None
-
False
-
---
-
---
-
2022 Week 26-28 (from Jun 27), 2022 Week 29-31 (from Jul 18), 2022 Week 32-34 (from Aug 8), 2022 Week 35-37 (from Aug 29), 2022 Week 38-40 (from Sept 19), 2022 Week 41-43 (from Oct 10), 2022 Week 44-46 (from Oct 31)
Auto-layout for SWF
Considerations
- None goal: Not a generic layout library (lot of cost)
- Extensible - further domain needs
Implementation details
- Decouple from domain / graph (its own layout API) ?
- At lower level as possible (lienzo) - decouple from our entire stack, errai etc
- Computation constraints -> loop detection on tree, etc
- Strategies (Distribution of nodes + generation of paths)
- Orientation (vertical, horizontal)
- Lines (points are actually inferred by the ELK)
- Points & Endings
- Use cases
- Viewer
- no updates
- assume no locations & dimensions in model (locations inferred by using "hardcoded" dimensions for nodes)
- Viewer
Other tasks related to autolayout can be delivered as part of this jira.
- See related tickets below
- KOGITO-7197 is out of scope of this jira
Acceptance criteria
The feature is implemented as per implementation details above.
Servererless workflow editor generates nodes using a top-down centered strategy:
- It means the graph starts with Start node in the top center.
- If Start is not specified, the start shape will not even appear, so the diagram starts with state(s).
- Every next (transitioned) node is shown below the previous node.
- If there are more nodes, they are positioned from left to right and they are centered with relation to the node(s) level above.
- The graph ends with End node in the bottom center.
- If End is not specified, the end shape will not even appear, the diagram ends with a state(s).
- Magnets
- When top-down nodes aligned:
- the source shape will use the bottom magnet
- the target shape will use the top magnet
- When left-right nodes aligned:
- the source shape will use east magnet
- the target shape will use west magnet
- When right-left nodes aligned:
- the source shape will use west magnet
- the target shape will use east magnet
- In case an state points to a previous state (so line will go bottom-up):
- the source shape will use the top magnet
- the target shape will use the bottom magnet
- NOTE: In case those magnets are causing the line to overlap, we can switch to the use of east/west magnets as well
- When top-down nodes aligned:
- Lines connecting nodes do not overlap each other as well as they do not intersect the nodes.
- blocks
-
KOGITO-7733 SWF Editor - Enable & customize toolbox
- Resolved
- causes
-
KOGITO-8100 SWF Editor - Auto-layout improvements
- Open
- split to
-
KOGITO-8100 SWF Editor - Auto-layout improvements
- Open