@atlaskit/editor-plugin-media-insert
Version:
Media Insert plugin for @atlaskit/editor-core
32 lines • 868 B
JavaScript
import { SafePlugin } from '@atlaskit/editor-common/safe-plugin';
import { ACTION_CLOSE_POPUP, ACTION_OPEN_POPUP } from './actions';
import { pluginKey } from './plugin-key';
export const createPlugin = () => {
return new SafePlugin({
state: {
init() {
return {
isOpen: false,
mountInfo: undefined
};
},
apply(tr, mediaInsertPluginState) {
const meta = tr.getMeta(pluginKey);
switch (meta === null || meta === void 0 ? void 0 : meta.type) {
case ACTION_OPEN_POPUP:
return {
isOpen: true,
mountInfo: meta.mountInfo
};
case ACTION_CLOSE_POPUP:
return {
isOpen: false
};
default:
return mediaInsertPluginState;
}
}
},
key: pluginKey
});
};