bpmn-io / bpmn-js

A BPMN 2.0 rendering toolkit and web modeler.
https://bpmn.io/toolkit/bpmn-js/
Other
8.65k stars 1.33k forks source link

Delete a pool without deleting its contents #1643

Open andreasgeier opened 2 years ago

andreasgeier commented 2 years ago

Is your feature request related to a problem? Please describe.

I would like to be able to delete a pool without deleting all it's contents to simplify my diagram. Since containment rules forbid to drag the contents out of the pool onto the canvas, I'm forced to do it in XML or copy and paste into a new model.

Describe the solution you'd like

Keep the content of the pool when deleting the pool.

Check out Miro's two-step approach, where the content of a deleted frame remains on the canvas and is selected. So the user can decide to keep it or remove it as well with a second delete action.

https://user-images.githubusercontent.com/938244/166635374-6153189d-5a3b-490b-976f-691cea0f4b7e.mov

Additional context

Requested by @falko via Slack, supported by @andreasgeier

andreasgeier commented 2 years ago

In case of multiple pools on the canvas, it is not possible to place elements outside of pools. Which means a problem for the solution described above. We could remove this limitation and handle it via linting rule to give the user more flexibility for modeling.

nikku commented 2 years ago

@andreasgeier Exactly. The difference between Miro and us is that elements outside of a pool are not permitted in many situations. We'd be able to work around that (i.e. have elements deleted + in a paste selection). But that would cause other issues.

I'd rather invest into "extract contents in new diagram" features (a refactoring action).

andreasgeier commented 2 years ago

I'd rather advocate becoming less rigid in modeling, now that we have linting in place as a solution to make the user aware of issues.

nikku commented 2 years ago

I'd rather advocate becoming less rigid in modeling, now that we have linting in place as a solution to make the user aware of issues.

We are a domain specific editor, not a drawing tool cf. "Editors, not drawing tools". As such becoming less rigid (to the point of not being BPMN compliant anymore) means giving up a lot of our existing strength. At the moment, whatever is modeled is valid BPMN, which is one of our strong points.