DeleteElementsHandler.js 795 B

1234567891011121314151617181920212223242526272829303132333435
  1. import { forEach } from 'min-dash';
  2. export default function DeleteElementsHandler(modeling, elementRegistry) {
  3. this._modeling = modeling;
  4. this._elementRegistry = elementRegistry;
  5. }
  6. DeleteElementsHandler.$inject = [
  7. 'modeling',
  8. 'elementRegistry'
  9. ];
  10. DeleteElementsHandler.prototype.postExecute = function(context) {
  11. var modeling = this._modeling,
  12. elementRegistry = this._elementRegistry,
  13. elements = context.elements;
  14. forEach(elements, function(element) {
  15. // element may have been removed with previous
  16. // remove operations already (e.g. in case of nesting)
  17. if (!elementRegistry.get(element.id)) {
  18. return;
  19. }
  20. if (element.waypoints) {
  21. modeling.removeConnection(element);
  22. } else {
  23. modeling.removeShape(element);
  24. }
  25. });
  26. };