@atlaskit/editor-plugin-local-id
Version:
LocalId plugin for @atlaskit/editor-core
32 lines • 1.13 kB
JavaScript
import { fg } from '@atlaskit/platform-feature-flags';
import { replaceNode, getNode } from './editor-actions';
import { createPlugin } from './pm-plugins/main';
import { createWatchmenPlugin, localIdWatchmenPluginKey } from './pm-plugins/watchmen';
export const localIdPlugin = ({
api
}) => ({
name: 'localId',
actions: {
replaceNode: replaceNode(api),
getNode: getNode(api)
},
pmPlugins() {
return [{
name: 'localIdPlugin',
plugin: () => createPlugin(api)
}, {
name: 'localId-watchmen',
plugin: () => fg('platform_editor_ai_aifc_localid_error_reporting') ? createWatchmenPlugin(api) : undefined
}];
},
getSharedState(editorState) {
if (!editorState) {
return undefined;
}
const watchmentPluginState = localIdWatchmenPluginKey.getState(editorState);
return {
localIdWatchmenEnabled: !!(watchmentPluginState !== null && watchmentPluginState !== void 0 && watchmentPluginState.enabled),
localIdStatus: new Map(watchmentPluginState === null || watchmentPluginState === void 0 ? void 0 : watchmentPluginState.localIdStatus)
};
}
});