From ab2f7021659695d68addf5eeebf3916a8439845a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ragnar=20St=C3=B8lsmark?= Date: Fri, 27 Jul 2018 13:06:53 +0200 Subject: [PATCH] Fixed the move item function in object field to make it identical to array field. The order was wrong the way it was. --- src/js/fields/basic/ObjectField.js | 23 +++++++---------------- 1 file changed, 7 insertions(+), 16 deletions(-) diff --git a/src/js/fields/basic/ObjectField.js b/src/js/fields/basic/ObjectField.js index 7ab84d5b4..f01243b2d 100644 --- a/src/js/fields/basic/ObjectField.js +++ b/src/js/fields/basic/ObjectField.js @@ -1967,23 +1967,14 @@ var onComplete = function() { // swap order in children - var tempChildren = []; - for (var i = 0; i < self.children.length; i++) - { - if (i === sourceIndex) - { - tempChildren[i] = self.children[targetIndex]; - } - else if (i === targetIndex) - { - tempChildren[i] = self.children[sourceIndex]; - } - else - { - tempChildren[i] = self.children[i]; - } + var adjustedTargetIndex = targetIndex; + if (sourceIndex < targetIndex) { + adjustedTargetIndex--; } - self.children = tempChildren; + + // splice out child + var child = self.children.splice(sourceIndex, 1)[0]; + self.children.splice(adjustedTargetIndex, 0, child); // swap order in DOM tempSourceMarker.replaceWith(targetContainer);