filter out move operations where source and target are the same

This commit is contained in:
Art Lowel
2020-04-28 17:52:01 +02:00
parent afe394e2a4
commit c87d0895b0

View File

@@ -372,11 +372,15 @@ export class SectionFormOperationsService {
pathCombiner.getPath(segmentedPath), pathCombiner.getPath(segmentedPath),
value, true); value, true);
} else { } else {
const moveTo = pathCombiner.getPath(path);
const moveFrom = pathCombiner.getPath(segmentedPath + '/' + event.$event.previousIndex);
if (isNotEmpty(moveFrom.path) && isNotEmpty(moveTo.path) && moveFrom.path !== moveTo.path) {
this.operationsBuilder.move( this.operationsBuilder.move(
pathCombiner.getPath(path), moveTo,
pathCombiner.getPath(segmentedPath + '/' + event.$event.previousIndex).path moveFrom.path
) )
} }
}
} else if (!value.hasValue()) { } else if (!value.hasValue()) {
// New value is empty, so dispatch a remove operation // New value is empty, so dispatch a remove operation
if (this.getArrayIndexFromEvent(event) === 0) { if (this.getArrayIndexFromEvent(event) === 0) {