Elements inside a container should not overlap their container. Therefore, the app now listens to resize or move events of elements to adjust their container size accordingly. The same functionality was added to the surrounding diagram to prevent unnecessary scrollbars on the canvas.
Description
Side Effects now handle the following use cases:
After an element was moved within a container overlapping its boundaries, the container is resized to fit the element
While an element is resized within a container and tries to overlap its boundaries, the container is resized to fit the element
At all time, the boundaries of the surrounding diagram container is computed and stored in the model state. Only, if the diagram boundary exceeds the visible canvas area, scrollbars are shown.
The exposed UMLModel now contains only absolutely positioned elements. This makes further processing like drawing as SVG easier.
Optimised transformation between positioning on screen and in model by highly relying on css which boost the performance
Motivation and Context
Elements inside a container should not overlap their container. Therefore, the app now listens to resize or move events of elements to adjust their container size accordingly. The same functionality was added to the surrounding diagram to prevent unnecessary scrollbars on the canvas.
Description
Side Effects now handle the following use cases:
UMLModel
now contains only absolutely positioned elements. This makes further processing like drawing as SVG easier.