From ee92a19a2a4f5bee5723baa6ea723fcb09d07767 Mon Sep 17 00:00:00 2001 From: chris <kokosias@yahoo.gr> Date: Thu, 17 Nov 2022 12:51:04 +0200 Subject: [PATCH] image fix --- editors/demo/src/HHMI/HHMI.js | 2 +- wax-prosemirror-services/src/ImageService/Image.js | 6 ++++-- wax-prosemirror-services/src/ImageService/fileUpload.js | 8 ++++---- .../src/ImageService/plugins/placeHolderPlugin.js | 6 +++--- 4 files changed, 12 insertions(+), 10 deletions(-) diff --git a/editors/demo/src/HHMI/HHMI.js b/editors/demo/src/HHMI/HHMI.js index 2b562b313..35f9e0746 100644 --- a/editors/demo/src/HHMI/HHMI.js +++ b/editors/demo/src/HHMI/HHMI.js @@ -12,7 +12,7 @@ const renderImage = file => { reader.onload = () => accept(reader.result); reader.onerror = () => fail(reader.error); // Some extra delay to make the asynchronicity visible - setTimeout(() => reader.readAsDataURL(file), 150); + setTimeout(() => reader.readAsDataURL(file), 4150); }); }; diff --git a/wax-prosemirror-services/src/ImageService/Image.js b/wax-prosemirror-services/src/ImageService/Image.js index 9333cb118..860f9cc36 100644 --- a/wax-prosemirror-services/src/ImageService/Image.js +++ b/wax-prosemirror-services/src/ImageService/Image.js @@ -1,10 +1,10 @@ /* eslint-disable no-underscore-dangle */ -import React from 'react'; +import React, { useContext } from 'react'; import { v4 as uuidv4 } from 'uuid'; import { isEmpty } from 'lodash'; import { injectable } from 'inversify'; import { ImageUpload } from 'wax-prosemirror-components'; -import { Commands, Tools } from 'wax-prosemirror-core'; +import { WaxContext, Commands, Tools } from 'wax-prosemirror-core'; import fileUpload from './fileUpload'; @injectable() @@ -35,10 +35,12 @@ export default class Image extends Tools { renderTool(view) { if (isEmpty(view)) return null; + const context = useContext(WaxContext); const upload = fileUpload( view, this.config.get('fileUpload'), this.pmplugins.get('imagePlaceHolder'), + context, ); return this._isDisplayed ? ( <ImageUpload diff --git a/wax-prosemirror-services/src/ImageService/fileUpload.js b/wax-prosemirror-services/src/ImageService/fileUpload.js index 584c9c82b..b5fd0716b 100644 --- a/wax-prosemirror-services/src/ImageService/fileUpload.js +++ b/wax-prosemirror-services/src/ImageService/fileUpload.js @@ -6,7 +6,7 @@ const findPlaceholder = (state, id, placeholderPlugin) => { return found.length ? found[0].from : null; }; -export default (view, fileUpload, placeholderPlugin) => file => { +export default (view, fileUpload, placeholderPlugin, context) => file => { const { state } = view; // A fresh object to act as the ID for this upload const id = {}; @@ -38,12 +38,12 @@ export default (view, fileUpload, placeholderPlugin) => file => { } // Otherwise, insert it at the placeholder's position, and remove // the placeholder - view.dispatch( - state.tr + context.pmViews.main.dispatch( + context.pmViews.main.state.tr .replaceWith( pos, pos, - view.state.schema.nodes.image.create({ + context.pmViews.main.state.schema.nodes.image.create({ src: url, id: uuidv4(), extraData, diff --git a/wax-prosemirror-services/src/ImageService/plugins/placeHolderPlugin.js b/wax-prosemirror-services/src/ImageService/plugins/placeHolderPlugin.js index 2d294a697..7cbe9bdfd 100644 --- a/wax-prosemirror-services/src/ImageService/plugins/placeHolderPlugin.js +++ b/wax-prosemirror-services/src/ImageService/plugins/placeHolderPlugin.js @@ -20,9 +20,9 @@ export default key => }); set = set.add(tr.doc, [deco]); } else if (action && action.remove) { - // set = set.remove( - // set.find(null, null, spec => spec.id === action.remove.id), - // ); + set = set.remove( + set.find(null, null, spec => spec.id === action.remove.id), + ); } return set; }, -- GitLab