diff options
| author | 2024-05-28 22:28:06 +0200 | |
|---|---|---|
| committer | 2024-05-28 22:28:06 +0200 | |
| commit | 9de4f23bb72c9880bfc69f84f48aeb6b0215af54 (patch) | |
| tree | b3078f086acb6d34aceedd3f635ce5adea86ed19 /p/scripts/draggable.js | |
| parent | 34fb69da02d8ce5e804e14088d1d0d2ec81af4c6 (diff) | |
Fixed: drag&drop Sharing/User Query (#6505)
Diffstat (limited to 'p/scripts/draggable.js')
| -rw-r--r-- | p/scripts/draggable.js | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/p/scripts/draggable.js b/p/scripts/draggable.js index 5e99e3227..1077e98f9 100644 --- a/p/scripts/draggable.js +++ b/p/scripts/draggable.js @@ -13,9 +13,11 @@ const init_draggable_list = function () { let source; const draggableList = document.querySelector('.draggableList'); const addMarker = (position, element) => { - const hr = draggableList.querySelector('hr.drag-drop-marker'); - if (null === hr) { - element.insertAdjacentHTML(position, '<hr class="drag-drop-marker" />'); + if (source) { + const hr = draggableList.querySelector('hr.drag-drop-marker'); + if (null === hr) { + element.insertAdjacentHTML(position, '<hr class="drag-drop-marker" />'); + } } }; const removeMarker = () => { @@ -27,12 +29,14 @@ const init_draggable_list = function () { draggableList.addEventListener('dragstart', event => { source = event.target.closest('[draggable="true"]'); - const dragbox = source.closest('.dragbox'); - if (dragbox) { - source = dragbox; + if (source) { + const dragbox = source.closest('.dragbox'); + if (dragbox) { + source = dragbox; + } + event.dataTransfer.setData('text/html', source.outerHTML); + event.dataTransfer.effectAllowed = 'move'; } - event.dataTransfer.setData('text/html', source.outerHTML); - event.dataTransfer.effectAllowed = 'move'; }); draggableList.addEventListener('dragover', event => { event.preventDefault(); @@ -72,7 +76,8 @@ const init_draggable_list = function () { if (dragbox) { draggableItem = dragbox; } - if (null === draggableItem || source === draggableItem) { + if (!source || null === draggableItem || source === draggableItem) { + removeMarker(); return; } |
