@atlaskit/editor-plugin-table
Version:
Table plugin for the @atlaskit/editor
32 lines • 1.02 kB
JavaScript
import { DragAndDropActionType } from './actions';
import { DropTargetType } from './consts';
export default ((pluginState, action) => {
switch (action.type) {
case DragAndDropActionType.SET_DROP_TARGET:
return {
...pluginState,
decorationSet: action.data.decorationSet,
dropTargetType: action.data.type,
dropTargetIndex: action.data.index,
isDragging: true
};
case DragAndDropActionType.CLEAR_DROP_TARGET:
return {
...pluginState,
decorationSet: action.data.decorationSet,
dropTargetType: DropTargetType.NONE,
dropTargetIndex: 0,
isDragging: false
};
case DragAndDropActionType.TOGGLE_DRAG_MENU:
return {
...pluginState,
isDragMenuOpen: action.data.isDragMenuOpen,
dragMenuDirection: action.data.direction,
dragMenuIndex: action.data.index,
isKeyboardModeActive: action.data.isKeyboardModeActive
};
default:
return pluginState;
}
});