onDropOrPaste = (event, change, editor) => { const target = getEventRange(event, change.value) if (!target && event.type == 'drop') return const transfer = getEventTransfer(event) const { type, text, files } = transfer if (type == 'files') { for (const file of files) { const reader = new FileReader() const [mime] = file.type.split('/') if (mime != 'image') continue reader.addEventListener('load', () => { editor.change(c => { c.call(insertImage, reader.result, target) }) }) reader.readAsDataURL(file) } } if (type == 'text') { if (!isUrl(text)) return if (!isImage(text)) return change.call(insertImage, text, target) } }
onPaste = (event, change) => { const transfer = getEventTransfer(event) if (transfer.type != 'html') return const { document } = serializer.deserialize(transfer.html) change.insertFragment(document) return true }
onPaste = (event, change) => { if (change.value.isCollapsed) return const transfer = getEventTransfer(event) const { type, text } = transfer if (type != 'text' && type != 'html') return if (!isUrl(text)) return if (this.hasLinks()) { change.call(unwrapLink) } change.call(wrapLink, text) return true }
onPaste = (event, editor, next) => { const transfer = getEventTransfer(event) if (transfer.type !== 'html') return next() const { document } = serializer.deserialize(transfer.html) editor.insertFragment(document) }