@atlaskit/editor-plugin-media-editing
Version:
MediaEditing plugin for @atlaskit/editor-core
33 lines • 1.13 kB
JavaScript
import { SafePlugin } from '@atlaskit/editor-common/safe-plugin';
import { PluginKey } from '@atlaskit/editor-prosemirror/state';
import { ACTIONS } from './actions';
export const mediaEditingPluginKey = new PluginKey('mediaEditingPlugin');
export const createPlugin = () => {
return new SafePlugin({
key: mediaEditingPluginKey,
state: {
init() {
return {};
},
apply: (tr, currentPluginState) => {
const meta = tr.getMeta(mediaEditingPluginKey);
switch (meta === null || meta === void 0 ? void 0 : meta.type) {
case ACTIONS.SHOW_IMAGE_EDITOR:
return {
...currentPluginState,
imageEditorSelectedMedia: meta.imageEditorSelectedMedia,
isImageEditorVisible: meta.isImageEditorVisible
};
case ACTIONS.HIDE_IMAGE_EDITOR:
return {
...currentPluginState,
imageEditorSelectedMedia: undefined,
isImageEditorVisible: meta.isImageEditorVisible
};
default:
return currentPluginState;
}
}
}
});
};