X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/07b889547d28e68e5fc8f923c166bd607da17ad7..ac0a070fc81e3c7c3b81b1782dfaeb5a33fbd476:/resources/assets/js/components/markdown-editor.js diff --git a/resources/assets/js/components/markdown-editor.js b/resources/assets/js/components/markdown-editor.js index b099a7ca9..5fa16ef6e 100644 --- a/resources/assets/js/components/markdown-editor.js +++ b/resources/assets/js/components/markdown-editor.js @@ -180,9 +180,20 @@ class MarkdownEditor { // Handle image paste cm.on('paste', (cm, event) => { - if (!event.clipboardData || !event.clipboardData.items) return; - for (let i = 0; i < event.clipboardData.items.length; i++) { - uploadImage(event.clipboardData.items[i].getAsFile()); + const clipboardItems = event.clipboardData.items; + if (!event.clipboardData || !clipboardItems) return; + + // Don't handle if clipboard includes text content + for (let clipboardItem of clipboardItems) { + if (clipboardItem.type.includes('text/')) { + return; + } + } + + for (let clipboardItem of clipboardItems) { + if (clipboardItem.type.includes("image")) { + uploadImage(clipboardItem.getAsFile()); + } } }); @@ -298,7 +309,7 @@ class MarkdownEditor { formData.append('file', file, remoteFilename); formData.append('uploaded_to', context.pageId); - window.$http.post('/images/gallery/upload', formData).then(resp => { + window.$http.post('/images/gallery', formData).then(resp => { const newContent = `[](${resp.data.url})`; replaceContent(placeHolderText, newContent); }).catch(err => { @@ -366,7 +377,7 @@ class MarkdownEditor { uploaded_to: Number(document.getElementById('page-editor').getAttribute('page-id')) }; - window.$http.post(window.baseUrl('/images/drawing/upload'), data).then(resp => { + window.$http.post(window.baseUrl('/images/drawio'), data).then(resp => { this.insertDrawing(resp.data, cursorPos); DrawIO.close(); }).catch(err => { @@ -402,7 +413,7 @@ class MarkdownEditor { uploaded_to: Number(document.getElementById('page-editor').getAttribute('page-id')) }; - window.$http.post(window.baseUrl(`/images/drawing/upload`), data).then(resp => { + window.$http.post(window.baseUrl(`/images/drawio`), data).then(resp => { let newText = `