diff --git a/client/lib/utils.js b/client/lib/utils.js index 6444fdef6..7c3a18aaa 100644 --- a/client/lib/utils.js +++ b/client/lib/utils.js @@ -356,34 +356,16 @@ Utils = { // Determine the new sort index calculateIndex(prevCardDomElement, nextCardDomElement, nCards = 1) { - let base, increment; - // If we drop the card to an empty column - if (!prevCardDomElement && !nextCardDomElement) { - base = 0; - increment = 1; - // If we drop the card in the first position - } else if (!prevCardDomElement) { - base = Blaze.getData(nextCardDomElement).sort - 1; - increment = -1; - // If we drop the card in the last position - } else if (!nextCardDomElement) { - base = Blaze.getData(prevCardDomElement).sort + 1; - increment = 1; + let prevData = null; + let nextData = null; + if (prevCardDomElement) { + prevData = Blaze.getData(prevCardDomElement) } - // In the general case take the average of the previous and next element - // sort indexes. - else { - const prevSortIndex = Blaze.getData(prevCardDomElement).sort; - const nextSortIndex = Blaze.getData(nextCardDomElement).sort; - increment = (nextSortIndex - prevSortIndex) / (nCards + 1); - base = prevSortIndex + increment; + if (nextCardDomElement) { + nextData = Blaze.getData(nextCardDomElement); } - // XXX Return a generator that yield values instead of a base with a - // increment number. - return { - base, - increment, - }; + const ret = Utils.calculateIndexData(prevData, nextData, nCards); + return ret; }, manageCustomUI() {