@atlaskit/editor-plugin-table
Version:
Table plugin for the @atlaskit/editor
26 lines • 884 B
JavaScript
import { pluginFactory } from '@atlaskit/editor-common/utils';
import { pluginKey as tablePluginKey } from '../plugin-key';
import { pluginKey } from './plugin-key';
import reducer from './reducer';
const dest = pluginFactory(pluginKey, reducer, {
mapping: (tr, pluginState) => {
if (tr.docChanged) {
let decorationSet = pluginState.decorationSet;
const meta = tr.getMeta(tablePluginKey);
if (meta && meta.data && meta.data.decorationSet) {
decorationSet = meta.data.decorationSet;
}
if (decorationSet) {
decorationSet = decorationSet.map(tr.mapping, tr.doc);
}
return {
...pluginState,
decorationSet
};
}
return pluginState;
}
});
export const createPluginState = dest.createPluginState;
export const createCommand = dest.createCommand;
export const getPluginState = dest.getPluginState;