-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
feat: add ghost elements to subprocess view #1506
Conversation
1854b49
to
31c6f45
Compare
76d2d12
to
0e5db52
Compare
Results from Sync
|
Created bpmn-io/diagram-js#579 and #1515 to implement the changes needed in the renderer. |
0e5db52
to
64b91da
Compare
64b91da
to
a03e9cc
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@marstamm The last time we synced over the sub-process's boundary and its "ghost" connectors, we weren't sure if this is the best approach or if we should just display the sub-process's content without boundary and context at all.
Seeing now the implementation, the visual complexity becomes clear, in particular with boundary events and multiple greyed connector lines.
But there are also arguments in favor of this solution. So, since you already implemented everything, let's push that out of the door and learn from the feedback.
Appproved.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
✅ Approved from my side. Let's wait for final approval by @nikku if that's okay.
Sure, sounds good to me. This is not blocking anything at the moment 👍 |
@philippfromme and I discussed some potential solutions for this problem, but could not come to a clear conclusion. All options have their own pros and cons. @nikku, it would be great to hear your opinion on this. I sketched the solutions below: Problem Option 1
Option 2
Option 3
|
I'd go for Option 2️⃣ and hook into the Under the assumption of course that doing the adjustments is cheap. The only alternative I see is lazily expanding (and importing) collapsed sub-processes and doing the fixes there. That is the way to mitigate the impact without affecting all users. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To sum up our little chat earlier:
- I believe the implementation is sufficient for now, going for Option 2️⃣, essentially drastically simplifying the
SubprocessCompatibility
util would be my suggestion - There is a couple of small things you can improve with regards to code style:
- Early returns
- (Basic) documentation
// TODO(marstamm): Do this some day, maybe
if you want to leave your legacy in the code base
- Overall naming of the
subprocess-navigation
components: Is that thing actual subprocess navigation or drill down? - What do individual components do? Specifically, what is the distinction between
Subprocess
Elements and Flows component? If both draw Fake or outline or Ghost elements, let us call the componentSubprocessFakeBoundaries
(and Flows) or the like. - If we are not able to make everything modular (which is absolutely fine!) consider adding a comprehensive comment that establishes the relevant context (talking about
BpmnImporter#add
here, adding the subprocess boxes).
Same option I'd go for. Glad we're all on the same page. |
* rename subprocess-navigation -> drilldown * add JSDoc comments
7b7f9a2
to
7f6e04b
Compare
I added the discussed changes and followed the styling hints to the best of my ability. Ready to be reviewed again 🙂 |
@andreasgeier, sorry, did not want to request review from you again. The button slipped under my mouse when the UI updated 😅 |
As discussed in the Sync Today:
|
Closes #1484
Closes #1511