@ -119,7 +119,7 @@ function handleClipboardText(textarea, e, {text, isShiftDown}) {
const { value , selectionStart , selectionEnd } = textarea ;
const { value , selectionStart , selectionEnd } = textarea ;
const selectedText = value . substring ( selectionStart , selectionEnd ) ;
const selectedText = value . substring ( selectionStart , selectionEnd ) ;
const trimmedText = text . trim ( ) ;
const trimmedText = text . trim ( ) ;
if ( selectedText && isUrl ( trimmedText ) ) {
if ( selectedText && isUrl ( trimmedText ) && ! isUrl ( selectedText ) ) {
e . preventDefault ( ) ;
e . preventDefault ( ) ;
replaceTextareaSelection ( textarea , ` [ ${ selectedText } ]( ${ trimmedText } ) ` ) ;
replaceTextareaSelection ( textarea , ` [ ${ selectedText } ]( ${ trimmedText } ) ` ) ;
}
}
@ -156,7 +156,7 @@ export function initEasyMDEPaste(easyMDE, dropzoneEl) {
} ) ;
} ) ;
}
}
export function initTextarea Upload ( textarea , dropzoneEl ) {
export function initTextarea Events ( textarea , dropzoneEl ) {
let isShiftDown = false ;
let isShiftDown = false ;
textarea . addEventListener ( 'keydown' , ( e ) = > {
textarea . addEventListener ( 'keydown' , ( e ) = > {
if ( e . shiftKey ) isShiftDown = true ;
if ( e . shiftKey ) isShiftDown = true ;
@ -166,7 +166,7 @@ export function initTextareaUpload(textarea, dropzoneEl) {
} ) ;
} ) ;
textarea . addEventListener ( 'paste' , ( e ) = > {
textarea . addEventListener ( 'paste' , ( e ) = > {
const { images , text } = getPastedContent ( e ) ;
const { images , text } = getPastedContent ( e ) ;
if ( images . length ) {
if ( images . length && dropzoneEl ) {
handleUploadFiles ( new TextareaEditor ( textarea ) , dropzoneEl , images , e ) ;
handleUploadFiles ( new TextareaEditor ( textarea ) , dropzoneEl , images , e ) ;
} else if ( text ) {
} else if ( text ) {
handleClipboardText ( textarea , e , { text , isShiftDown } ) ;
handleClipboardText ( textarea , e , { text , isShiftDown } ) ;
@ -176,7 +176,7 @@ export function initTextareaUpload(textarea, dropzoneEl) {
if ( ! e . dataTransfer . files . length ) return ;
if ( ! e . dataTransfer . files . length ) return ;
handleUploadFiles ( new TextareaEditor ( textarea ) , dropzoneEl , e . dataTransfer . files , e ) ;
handleUploadFiles ( new TextareaEditor ( textarea ) , dropzoneEl , e . dataTransfer . files , e ) ;
} ) ;
} ) ;
dropzoneEl . dropzone . on ( DropzoneCustomEventRemovedFile , ( { fileUuid } ) = > {
dropzoneEl ? . dropzone . on ( DropzoneCustomEventRemovedFile , ( { fileUuid } ) = > {
const newText = removeAttachmentLinksFromMarkdown ( textarea . value , fileUuid ) ;
const newText = removeAttachmentLinksFromMarkdown ( textarea . value , fileUuid ) ;
if ( textarea . value !== newText ) textarea . value = newText ;
if ( textarea . value !== newText ) textarea . value = newText ;
} ) ;
} ) ;