From ea01ef9264241b7289a8749ee8290bd87e6e4a2c Mon Sep 17 00:00:00 2001 From: "Lucas(Donghoon) Lee" Date: Wed, 22 May 2019 14:00:15 +1200 Subject: [PATCH 1/5] Support SlateJS version 0.47 --- packages/slate-drop-or-paste-images/src/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/slate-drop-or-paste-images/src/index.js b/packages/slate-drop-or-paste-images/src/index.js index a2d3cb1..a790afc 100644 --- a/packages/slate-drop-or-paste-images/src/index.js +++ b/packages/slate-drop-or-paste-images/src/index.js @@ -4,7 +4,7 @@ import isUrl from 'is-url' import logger from 'slate-dev-logger' import loadImageFile from './load-image-file' import { extname } from 'path' -import { getEventTransfer, getEventRange } from 'slate-react' +import { getEventTransfer } from 'slate-react' /** * Insert images on drop or paste. @@ -75,7 +75,7 @@ function DropOrPasteImages(options = {}) { function onInsert(event, change, next) { const { editor } = change const transfer = getEventTransfer(event) - const range = getEventRange(event, editor) + const range = editor.findEventRange(event) switch (transfer.type) { case 'files': From 35ae1892e8bd608cfb555fbf13c0d9e3adb3ef36 Mon Sep 17 00:00:00 2001 From: "Lucas(Donghoon) Lee" Date: Wed, 22 May 2019 14:03:58 +1200 Subject: [PATCH 2/5] Support SlateJS version 0.47 - version 0.9.2 --- packages/slate-drop-or-paste-images/package.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/slate-drop-or-paste-images/package.json b/packages/slate-drop-or-paste-images/package.json index 1d508ed..1502f88 100644 --- a/packages/slate-drop-or-paste-images/package.json +++ b/packages/slate-drop-or-paste-images/package.json @@ -1,7 +1,7 @@ { "name": "slate-drop-or-paste-images", "description": "A Slate plugin that inserts images on drop or paste.", - "version": "0.9.1", + "version": "0.9.2", "license": "MIT", "repository": "git://github.com/ianstormtaylor/slate-plugins.git", "main": "lib/slate-drop-or-paste-images.js", @@ -21,8 +21,8 @@ "slate-dev-logger": "^0.1.0" }, "peerDependencies": { - "slate": ">=0.42.2", - "slate-react": ">=0.19.3" + "slate": ">=0.47.0", + "slate-react": ">=0.22.0" }, "keywords": [ "slate" From c4e4e61f95b0efd9ea7abb69c6531b1d1ddf2e2d Mon Sep 17 00:00:00 2001 From: "Lucas(Donghoon) Lee" Date: Wed, 22 May 2019 14:10:26 +1200 Subject: [PATCH 3/5] Change repository --- packages/slate-drop-or-paste-images/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/slate-drop-or-paste-images/package.json b/packages/slate-drop-or-paste-images/package.json index 1502f88..7b313cb 100644 --- a/packages/slate-drop-or-paste-images/package.json +++ b/packages/slate-drop-or-paste-images/package.json @@ -3,7 +3,7 @@ "description": "A Slate plugin that inserts images on drop or paste.", "version": "0.9.2", "license": "MIT", - "repository": "git://github.com/ianstormtaylor/slate-plugins.git", + "repository": "git://github.com/yanggun7201/slate-plugins.git", "main": "lib/slate-drop-or-paste-images.js", "module": "lib/slate-drop-or-paste-images.es.js", "umd": "dist/slate-drop-or-paste-images.js", From 52d68024e75e3a88dac180c8be44fb9edc676fae Mon Sep 17 00:00:00 2001 From: yanggun7201 Date: Thu, 23 May 2019 08:47:02 +1200 Subject: [PATCH 4/5] get back the repository name --- packages/slate-drop-or-paste-images/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/slate-drop-or-paste-images/package.json b/packages/slate-drop-or-paste-images/package.json index 7b313cb..1502f88 100644 --- a/packages/slate-drop-or-paste-images/package.json +++ b/packages/slate-drop-or-paste-images/package.json @@ -3,7 +3,7 @@ "description": "A Slate plugin that inserts images on drop or paste.", "version": "0.9.2", "license": "MIT", - "repository": "git://github.com/yanggun7201/slate-plugins.git", + "repository": "git://github.com/ianstormtaylor/slate-plugins.git", "main": "lib/slate-drop-or-paste-images.js", "module": "lib/slate-drop-or-paste-images.es.js", "umd": "dist/slate-drop-or-paste-images.js", From f0d90ebf2f506f956f681b3dd07820c4f5b40ee6 Mon Sep 17 00:00:00 2001 From: Brandon Apanui <> Date: Thu, 4 Jul 2019 16:03:43 +1200 Subject: [PATCH 5/5] Replaced change variable with editor to fall in line with latest slate version. --- .../slate-drop-or-paste-images/src/index.js | 43 ++++++++----------- 1 file changed, 19 insertions(+), 24 deletions(-) diff --git a/packages/slate-drop-or-paste-images/src/index.js b/packages/slate-drop-or-paste-images/src/index.js index a790afc..0fd3e0e 100644 --- a/packages/slate-drop-or-paste-images/src/index.js +++ b/packages/slate-drop-or-paste-images/src/index.js @@ -50,16 +50,14 @@ function DropOrPasteImages(options = {}) { /** * Apply the change for a given file and update the editor with the result. * - * @param {Change} change + * @param {Editor} editor * @param {Blob} file * @return {Promise} */ - function asyncApplyChange(change, file) { - const { editor } = change - - return Promise.resolve(insertImage(change, file)).then(() => { - editor.onChange(change) + function asyncApplyChange(editor, file) { + return Promise.resolve(editor.insertImage(file)).then(() => { + editor.onChange() }) } @@ -67,23 +65,22 @@ function DropOrPasteImages(options = {}) { * On drop or paste. * * @param {Event} event - * @param {Change} change + * @param {Editor} editor * @param {Function} next * @return {State} */ - function onInsert(event, change, next) { - const { editor } = change + function onInsert(event, editor, next) { const transfer = getEventTransfer(event) const range = editor.findEventRange(event) switch (transfer.type) { case 'files': - return onInsertFiles(event, change, next, transfer, range) + return onInsertFiles(event, editor, next, transfer, range) case 'html': - return onInsertHtml(event, change, next, transfer, range) + return onInsertHtml(event, editor, next, transfer, range) case 'text': - return onInsertText(event, change, next, transfer, range) + return onInsertText(event, editor, next, transfer, range) default: return next() } @@ -93,14 +90,14 @@ function DropOrPasteImages(options = {}) { * On drop or paste files. * * @param {Event} event - * @param {Change} change + * @param {Editor} editor * @param {Function} next * @param {Object} transfer * @param {Range} range * @return {Boolean} */ - function onInsertFiles(event, change, next, transfer, range) { + function onInsertFiles(event, editor, next, transfer, range) { const { files } = transfer for (const file of files) { @@ -111,10 +108,10 @@ function DropOrPasteImages(options = {}) { } if (range) { - change.select(range) + editor.select(range) } - asyncApplyChange(change, file) + asyncApplyChange(editor, file) } } @@ -122,15 +119,14 @@ function DropOrPasteImages(options = {}) { * On drop or paste html. * * @param {Event} event - * @param {Change} change + * @param {Editor} editor * @param {Function} next * @param {Object} transfer * @param {Range} range * @return {Boolean} */ - function onInsertHtml(event, change, next, transfer, range) { - const { editor } = change + function onInsertHtml(event, editor, next, transfer, range) { const { html } = transfer const parser = new DOMParser() const doc = parser.parseFromString(html, 'text/html') @@ -148,7 +144,7 @@ function DropOrPasteImages(options = {}) { loadImageFile(src, (err, file) => { if (err) return - editor.change(c => { + editor.onChange(c => { if (range) { c.select(range) } @@ -162,15 +158,14 @@ function DropOrPasteImages(options = {}) { * On drop or paste text. * * @param {Event} event - * @param {Change} change + * @param {Editor} editor * @param {Function} next * @param {Object} transfer * @param {Range} range * @return {Boolean} */ - function onInsertText(event, change, next, transfer, range) { - const { editor } = change + function onInsertText(event, editor, next, transfer, range) { const { text } = transfer if (!isUrl(text)) return next() if (!isImage(text)) return next() @@ -178,7 +173,7 @@ function DropOrPasteImages(options = {}) { loadImageFile(text, (err, file) => { if (err) return - editor.change(c => { + editor.onChange(c => { if (range) { c.select(range) }