@atlaskit/editor-plugin-image-upload
Version:
Image upload plugin for @atlaskit/editor-core
38 lines (37 loc) • 1.3 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.startImageUpload = exports.insertExternalImage = void 0;
var _utils = require("@atlaskit/editor-prosemirror/utils");
var _utils2 = require("../ui/hooks/utils");
var _actions = require("./actions");
var _pluginKey = require("./plugin-key");
var insertExternalImage = exports.insertExternalImage = function insertExternalImage(options) {
return function (state, dispatch) {
var pluginState = _pluginKey.stateKey.getState(state);
if (!(pluginState !== null && pluginState !== void 0 && pluginState.enabled) || !options.src) {
return false;
}
var mediaNode = (0, _utils2.createExternalMediaNode)(options.src, state.schema);
if (!mediaNode) {
return false;
}
if (dispatch) {
dispatch((0, _utils.safeInsert)(mediaNode, state.selection.$to.pos)(state.tr).scrollIntoView());
}
return true;
};
};
var startImageUpload = exports.startImageUpload = function startImageUpload(event) {
return function (state, dispatch) {
var pluginState = _pluginKey.stateKey.getState(state);
if (pluginState && !pluginState.enabled) {
return false;
}
if (dispatch) {
dispatch((0, _actions.startUpload)(event)(state.tr));
}
return true;
};
};