UNPKG

@atlaskit/editor-plugin-table

Version:

Table plugin for the @atlaskit/editor

51 lines (48 loc) 2.37 kB
// @ts-ignore -- ReadonlyTransaction is a local declaration and will cause a TS2305 error in CCFE typecheck import { CellSelection } from '@atlaskit/editor-tables/cell-selection'; import { TableDecorations } from '../../../types'; import { createColumnSelectedDecoration, findColumnControlSelectedDecoration, findControlsHoverDecoration, updateDecorations } from '../../utils/decoration'; import { composeDecorations } from './compose-decorations'; var isColumnSelected = function isColumnSelected(tr) { return tr.selection instanceof CellSelection && tr.selection.isColSelection(); }; // @see: https://product-fabric.atlassian.net/browse/ED-3796 var removeControlsHoverDecoration = function removeControlsHoverDecoration(_ref) { var decorationSet = _ref.decorationSet; return decorationSet.remove(findControlsHoverDecoration(decorationSet)); }; var maybeUpdateColumnSelectedDecoration = function maybeUpdateColumnSelectedDecoration(_ref2) { var decorationSet = _ref2.decorationSet, tr = _ref2.tr; if (!isColumnSelected(tr)) { return decorationSet; } return updateDecorations(tr.doc, decorationSet, createColumnSelectedDecoration(tr), TableDecorations.COLUMN_SELECTED); }; // @see: https://product-fabric.atlassian.net/browse/ED-7304 var removeColumnControlsSelectedDecoration = function removeColumnControlsSelectedDecoration(_ref3) { var decorationSet = _ref3.decorationSet; return decorationSet.remove(findColumnControlSelectedDecoration(decorationSet)); }; var hasColumnSelectedDecorations = function hasColumnSelectedDecorations(decorationSet) { return !!findColumnControlSelectedDecoration(decorationSet).length; }; export var maybeUpdateColumnControlsSelectedDecoration = function maybeUpdateColumnControlsSelectedDecoration(_ref4) { var decorationSet = _ref4.decorationSet, tr = _ref4.tr; if (!hasColumnSelectedDecorations(decorationSet)) { return decorationSet; } return removeColumnControlsSelectedDecoration({ decorationSet: decorationSet, tr: tr }); }; export var buildColumnControlsDecorations = function buildColumnControlsDecorations(_ref5) { var decorationSet = _ref5.decorationSet, tr = _ref5.tr; return composeDecorations([removeColumnControlsSelectedDecoration, removeControlsHoverDecoration, maybeUpdateColumnSelectedDecoration])({ decorationSet: decorationSet, tr: tr }); };