From d4889108c6546feabd0b1a223747b83cd2bccc60 Mon Sep 17 00:00:00 2001 From: fantasticit Date: Mon, 15 Aug 2022 16:16:41 +0800 Subject: [PATCH] tiptap: disable drop in title --- .../src/tiptap/core/extensions/dragable.ts | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/packages/client/src/tiptap/core/extensions/dragable.ts b/packages/client/src/tiptap/core/extensions/dragable.ts index 12cb815b..458ebf38 100644 --- a/packages/client/src/tiptap/core/extensions/dragable.ts +++ b/packages/client/src/tiptap/core/extensions/dragable.ts @@ -120,10 +120,23 @@ export const Dragable = Extension.create({ drop: (view, event: DragEvent) => { if (!view.editable || !dragHandleDOM) return false; + const eventPos = view.posAtCoords({ left: event.clientX, top: event.clientY }); + if (!eventPos) { + return true; + } + + const $mouse = view.state.doc.resolve(eventPos.pos); + + /** + * 不允许在 title 处放置 + */ + if ($mouse?.parent?.type?.name === 'title') { + return true; + } + if (dragging) { const tr = removePossibleTable(view, event); dragging = false; - if (tr) { view.dispatch(tr); event.preventDefault(); @@ -166,7 +179,6 @@ export const Dragable = Extension.create({ }, keydown: () => { if (!editorView.editable || !dragHandleDOM) return false; - dragHandleDOM.classList.remove('show'); hideDragHandleDOM(); return false; },