From 9de4f23bb72c9880bfc69f84f48aeb6b0215af54 Mon Sep 17 00:00:00 2001
From: maTh <1645099+math-GH@users.noreply.github.com>
Date: Tue, 28 May 2024 22:28:06 +0200
Subject: Fixed: drag&drop Sharing/User Query (#6505)
---
p/scripts/draggable.js | 23 ++++++++++++++---------
1 file changed, 14 insertions(+), 9 deletions(-)
(limited to 'p/scripts/draggable.js')
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, '
');
+ if (source) {
+ const hr = draggableList.querySelector('hr.drag-drop-marker');
+ if (null === hr) {
+ element.insertAdjacentHTML(position, '
');
+ }
}
};
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;
}
--
cgit v1.2.3