From 1274f5f602d65417ff772764395ff882fc27ddbb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adomas=20Ven=C4=8Dkauskas?= Date: Wed, 28 Jun 2023 13:36:38 +0300 Subject: [PATCH] Fix citation reordering by dragging in the citation dialog. Closes #3183 --- chrome/content/zotero/integration/quickFormat.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/chrome/content/zotero/integration/quickFormat.js b/chrome/content/zotero/integration/quickFormat.js index f22156ed94..a458e61b63 100644 --- a/chrome/content/zotero/integration/quickFormat.js +++ b/chrome/content/zotero/integration/quickFormat.js @@ -1396,15 +1396,23 @@ var Zotero_QuickFormat = new function () { var _onBubbleDrop = Zotero.Promise.coroutine(function* (event) { event.preventDefault(); event.stopPropagation(); + if (!dragging) return; // Find old position in list var oldPosition = _getBubbleIndex(dragging); // Move bubble var range = document.createRange(); - range.setStartAfter(event.rangeParent); + // Prevent dragging out of qfe + if (event.target === qfe) { + range.setStartAfter(qfe.childNodes[qfe.childNodes.length-1]); + } + else { + range.setStartAfter(event.target); + } dragging.parentNode.removeChild(dragging); var bubble = _insertBubble(JSON.parse(dragging.dataset.citationItem), range); + dragging = null; // If moved out of order, turn off "Keep Sources Sorted" if(io.sortable && keepSorted && keepSorted.hasAttribute("checked") && oldPosition !== -1 &&