From 6bc8126591110aaf3b5feae45386eeaca0223df5 Mon Sep 17 00:00:00 2001 From: Max Hoffmann Date: Fri, 29 Sep 2017 15:09:22 -0400 Subject: [PATCH] Fixing swappable swap logic --- src/swappable.js | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/swappable.js b/src/swappable.js index 079b171..9844c7b 100644 --- a/src/swappable.js +++ b/src/swappable.js @@ -51,19 +51,20 @@ export default class Swappable { } _onDragOver(event) { - if (event.over === event.source) { - return; - } - - if (event.canceled()) { + if (event.over === event.source || event.canceled()) { return; } + // swap originally swapped element back if (this.lastOver && this.lastOver !== event.over) { swap(this.lastOver, event.source); } - this.lastOver = event.over; + if (this.lastOver === event.over) { + this.lastOver = null; + } else { + this.lastOver = event.over; + } swap(event.source, event.over);