Skip to content

Commit

Permalink
fix(move): add connections preview only once
Browse files Browse the repository at this point in the history
  • Loading branch information
marstamm committed May 29, 2024
1 parent 4377d7d commit da474ab
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 12 deletions.
12 changes: 7 additions & 5 deletions lib/features/move/MovePreview.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import {
filter,
find,
groupBy,
map,
matchPattern,
size
} from 'min-dash';
Expand Down Expand Up @@ -64,11 +63,14 @@ export default function MovePreview(
function getAllDraggedElements(shapes) {
var allShapes = selfAndAllChildren(shapes, true);

var allConnections = map(allShapes, function(shape) {
return (shape.incoming || []).concat(shape.outgoing || []);
});
var allConnections = allShapes.flatMap(shape =>
(shape.incoming || []).concat(shape.outgoing || [])
);

var allElements = allShapes.concat(allConnections);
var uniqueElements = [ ...new Set(allElements) ];

return flatten(allShapes.concat(allConnections));
return uniqueElements;
}

/**
Expand Down
15 changes: 8 additions & 7 deletions test/spec/features/move/MovePreviewSpec.js
Original file line number Diff line number Diff line change
Expand Up @@ -587,16 +587,16 @@ describe('features/move - MovePreview', function() {
// then
var container = canvas.getContainer();

// var clonedMarkers = domQueryAll('marker.djs-dragger', container);
// expect(clonedMarkers).to.have.length(6);
var clonedMarkers = domQueryAll('marker.djs-dragger', container);
expect(clonedMarkers).to.have.length(6);

var markerStartClones = [ ...domQueryAll('marker[id^="marker-start-djs-dragger-ps"]', container) ],
markerMidClones = [ ...domQueryAll('marker[id^="marker-mid-djs-dragger-ps"]', container) ],
markerEndClones = [ ...domQueryAll('marker[id^="marker-end-djs-dragger-ps"]', container) ];

expect(markerStartClones).to.have.length(4);
expect(markerMidClones).to.exist.length(4);
expect(markerEndClones).to.exist.length(4);
expect(markerStartClones).to.have.length(2);
expect(markerMidClones).to.exist.length(2);
expect(markerEndClones).to.exist.length(2);

var markerStartCloneIds = markerStartClones.map(marker => marker.id),
markerMidCloneIds = markerMidClones.map(marker => marker.id),
Expand Down Expand Up @@ -743,8 +743,8 @@ describe('features/move - MovePreview', function() {
// then
var container = canvas.getContainer();

// var clonedMarkers = domQueryAll('marker.djs-dragger', container);
// expect(clonedMarkers).to.have.length(7);
var clonedMarkers = domQueryAll('marker.djs-dragger', container);
expect(clonedMarkers).to.have.length(7);

var markerStartClone = domQuery('marker[id^="marker-start-connection3-djs-dragger-ps"]', container),
markerMidClone = domQuery('marker[id^="marker-mid-connection3-djs-dragger-ps"]', container),
Expand Down Expand Up @@ -801,6 +801,7 @@ describe('features/move - MovePreview', function() {
}));

});

});

// helpers //////////
Expand Down

0 comments on commit da474ab

Please sign in to comment.