@atlaskit/editor-plugin-table
Version:
Table plugin for the @atlaskit/editor
40 lines • 970 B
JavaScript
import { pluginKey } from '../plugin-key';
export const closeActiveTableMenu = () => ({
tr
}) => {
tr.setMeta(pluginKey, {
type: 'SET_ACTIVE_TABLE_MENU',
data: {
activeTableMenu: {
type: 'none'
}
}
});
if (!tr.docChanged) {
tr.setMeta('addToHistory', false);
}
return tr;
};
const isSameActiveTableMenu = (current, next) => {
if (!current || current.type !== next.type) {
return false;
}
if (current.type === 'row' || current.type === 'column') {
return next.type === current.type && current.index === next.index;
}
return true;
};
export const toggleActiveTableMenu = (activeTableMenu, currentActiveTableMenu) => ({
tr
}) => {
tr.setMeta(pluginKey, {
type: 'SET_ACTIVE_TABLE_MENU',
data: {
activeTableMenu: isSameActiveTableMenu(currentActiveTableMenu, activeTableMenu) ? {
type: 'none'
} : activeTableMenu
}
});
tr.setMeta('addToHistory', false);
return tr;
};