@atlaskit/editor-plugin-media
Version:
Media plugin for @atlaskit/editor-core
32 lines • 1.07 kB
JavaScript
import { SafePlugin } from '@atlaskit/editor-common/safe-plugin';
import { pluginFactory, pmHistoryPluginKey } from '@atlaskit/editor-common/utils';
// eslint-disable-next-line @typescript-eslint/consistent-type-imports
import { PluginKey } from '@atlaskit/editor-prosemirror/state';
import reducer from './reducer';
const pluginKey = new PluginKey('mediaAltTextPlugin');
const dest = pluginFactory(pluginKey, reducer, {
onSelectionChanged: (tr, newState) => {
// dont close alt text for undo/redo transactions (if it comes from prosemirror-history)
if (tr.getMeta(pmHistoryPluginKey)) {
return newState;
}
return {
isAltTextEditorOpen: false
};
}
});
const createPluginState = dest.createPluginState;
const createCommand = dest.createCommand;
const getPluginState = dest.getPluginState;
export const createPlugin = ({
dispatch,
providerFactory
}) => {
return new SafePlugin({
state: createPluginState(dispatch, {
isAltTextEditorOpen: false
}),
key: pluginKey
});
};
export { createCommand, getPluginState };