]> BookStack Code Mirror - bookstack/blobdiff - resources/js/wysiwyg/services/drop-paste-handling.ts
System CLI: Updated to 126de5599c state
[bookstack] / resources / js / wysiwyg / services / drop-paste-handling.ts
index 85d0235d88b2ac3d8eaba11bcfd8f48727b4236e..07e35d4438e050b9410dd00f14913c4cca28dab5 100644 (file)
@@ -103,6 +103,7 @@ function createDropListener(context: EditorUiContext): (event: DragEvent) => boo
         if (templateId) {
             insertTemplateToEditor(editor, templateId, event);
             event.preventDefault();
+            event.stopPropagation();
             return true;
         }
 
@@ -114,6 +115,7 @@ function createDropListener(context: EditorUiContext): (event: DragEvent) => boo
                 $insertNodesAtEvent(newNodes, event, editor);
             });
             event.preventDefault();
+            event.stopPropagation();
             return true;
         }
 
@@ -121,6 +123,7 @@ function createDropListener(context: EditorUiContext): (event: DragEvent) => boo
             const handled = handleMediaInsert(event.dataTransfer, context);
             if (handled) {
                 event.preventDefault();
+                event.stopPropagation();
                 return true;
             }
         }
@@ -150,9 +153,11 @@ export function registerDropPasteHandling(context: EditorUiContext): () => void
 
     const unregisterDrop = context.editor.registerCommand(DROP_COMMAND, dropListener, COMMAND_PRIORITY_HIGH);
     const unregisterPaste = context.editor.registerCommand(PASTE_COMMAND, pasteListener, COMMAND_PRIORITY_HIGH);
+    context.scrollDOM.addEventListener('drop', dropListener);
 
     return () => {
         unregisterDrop();
         unregisterPaste();
+        context.scrollDOM.removeEventListener('drop', dropListener);
     };
 }
\ No newline at end of file