@atlaskit/editor-plugin-image-upload
Version:
Image upload plugin for @atlaskit/editor-core
42 lines • 1.3 kB
JavaScript
import { insertActionForToolbar } from './pm-plugins/commands-toolbar';
// Ignored via go/ees005
// eslint-disable-next-line import/no-named-as-default
import inputRulePlugin from './pm-plugins/input-rule';
import { createPlugin } from './pm-plugins/main';
import { stateKey } from './pm-plugins/plugin-key';
/**
* Image upload plugin to be added to an `EditorPresetBuilder` and used with `ComposableEditor`
* from `@atlaskit/editor-core`.
*/
export var imageUploadPlugin = function imageUploadPlugin() {
var uploadHandlerReference = {
current: null
};
return {
name: 'imageUpload',
getSharedState: function getSharedState(editorState) {
if (!editorState) {
return undefined;
}
return stateKey.getState(editorState);
},
actions: {
startUpload: function startUpload() {
return insertActionForToolbar(uploadHandlerReference);
}
},
pmPlugins: function pmPlugins() {
return [{
name: 'imageUpload',
plugin: createPlugin(uploadHandlerReference)
}, {
name: 'imageUploadInputRule',
plugin: function plugin(_ref) {
var schema = _ref.schema,
featureFlags = _ref.featureFlags;
return inputRulePlugin(schema, featureFlags);
}
}];
}
};
};