@atlaskit/editor-plugin-image-upload
Version:
Image upload plugin for @atlaskit/editor-core
50 lines (48 loc) • 1.59 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.imageUploadPlugin = void 0;
var _commandsToolbar = require("./pm-plugins/commands-toolbar");
var _inputRule = _interopRequireDefault(require("./pm-plugins/input-rule"));
var _main = require("./pm-plugins/main");
var _pluginKey = require("./pm-plugins/plugin-key");
// Ignored via go/ees005
// eslint-disable-next-line import/no-named-as-default
/**
* Image upload plugin to be added to an `EditorPresetBuilder` and used with `ComposableEditor`
* from `@atlaskit/editor-core`.
*/
var imageUploadPlugin = exports.imageUploadPlugin = function imageUploadPlugin() {
var uploadHandlerReference = {
current: null
};
return {
name: 'imageUpload',
getSharedState: function getSharedState(editorState) {
if (!editorState) {
return undefined;
}
return _pluginKey.stateKey.getState(editorState);
},
actions: {
startUpload: function startUpload() {
return (0, _commandsToolbar.insertActionForToolbar)(uploadHandlerReference);
}
},
pmPlugins: function pmPlugins() {
return [{
name: 'imageUpload',
plugin: (0, _main.createPlugin)(uploadHandlerReference)
}, {
name: 'imageUploadInputRule',
plugin: function plugin(_ref) {
var schema = _ref.schema,
featureFlags = _ref.featureFlags;
return (0, _inputRule.default)(schema, featureFlags);
}
}];
}
};
};