Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Handle layout of temporal containers nested in abstractive containers #4

Open
ryanholmdahl opened this issue Apr 18, 2018 · 0 comments
Labels
bug Something isn't working

Comments

@ryanholmdahl
Copy link
Collaborator

In this case, we have edges that connect the contents of temporal containers to their containers, to an abstractive container. This breaks layout functionality for several reasons:

  1. layout.layoutTemporalContainers() will cause the edge to shift downwards when the temporal container is expanded, no longer connecting to the rim of the container.
  2. layout.layoutGraphRecurse() will break, as the abstractive container will be laid out, but it will contain edges connecting itself to its children, which causes ELK to raise an exception.

Required fixes:

  • In layout.layoutTemporalContainers(), when edges are being shifted, check if the edge connects to the temporal container output or input port, and freeze its appropriate endpoint.
  • Our stopgap fix (already implemented) is to clear the edge list of an abstractive container if it contains temporal containers. This causes no error to be raised, but leads to some ugly-looking lines and is likely not robust. I'm not sure what the best solution is here.
@ryanholmdahl ryanholmdahl added the bug Something isn't working label Apr 18, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant