UNPKG

@atlaskit/editor-plugin-table

Version:

Table plugin for the @atlaskit/editor

74 lines (70 loc) 3.48 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.maybeUpdateColumnControlsSelectedDecoration = exports.buildColumnControlsDecorations = void 0; var _cellSelection = require("@atlaskit/editor-tables/cell-selection"); var _utils = require("@atlaskit/editor-tables/utils"); var _types = require("../../../types"); var _decoration = require("../../utils/decoration"); var _composeDecorations = require("./compose-decorations"); // @ts-ignore -- ReadonlyTransaction is a local declaration and will cause a TS2305 error in CCFE typecheck var isColumnSelected = function isColumnSelected(tr) { return tr.selection instanceof _cellSelection.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((0, _decoration.findControlsHoverDecoration)(decorationSet)); }; var maybeUpdateColumnSelectedDecoration = function maybeUpdateColumnSelectedDecoration(_ref2) { var decorationSet = _ref2.decorationSet, tr = _ref2.tr; if (!isColumnSelected(tr)) { return decorationSet; } return (0, _decoration.updateDecorations)(tr.doc, decorationSet, (0, _decoration.createColumnSelectedDecoration)(tr), _types.TableDecorations.COLUMN_SELECTED); }; var maybeUpdateColumnControlsDecoration = function maybeUpdateColumnControlsDecoration(_ref3) { var decorationSet = _ref3.decorationSet, tr = _ref3.tr; var table = (0, _utils.findTable)(tr.selection); if (!table) { return decorationSet; } return (0, _decoration.updateDecorations)(tr.doc, decorationSet, (0, _decoration.createColumnControlsDecoration)(tr.selection), _types.TableDecorations.COLUMN_CONTROLS_DECORATIONS); }; // @see: https://product-fabric.atlassian.net/browse/ED-7304 var removeColumnControlsSelectedDecoration = function removeColumnControlsSelectedDecoration(_ref4) { var decorationSet = _ref4.decorationSet; return decorationSet.remove((0, _decoration.findColumnControlSelectedDecoration)(decorationSet)); }; var hasColumnSelectedDecorations = function hasColumnSelectedDecorations(decorationSet) { return !!(0, _decoration.findColumnControlSelectedDecoration)(decorationSet).length; }; var maybeUpdateColumnControlsSelectedDecoration = exports.maybeUpdateColumnControlsSelectedDecoration = function maybeUpdateColumnControlsSelectedDecoration(_ref5) { var decorationSet = _ref5.decorationSet, tr = _ref5.tr; if (!hasColumnSelectedDecorations(decorationSet)) { return decorationSet; } return removeColumnControlsSelectedDecoration({ decorationSet: decorationSet, tr: tr }); }; var buildColumnControlsDecorations = exports.buildColumnControlsDecorations = function buildColumnControlsDecorations(_ref6) { var decorationSet = _ref6.decorationSet, tr = _ref6.tr, options = _ref6.options; if (options.isDragAndDropEnabled) { return (0, _composeDecorations.composeDecorations)([removeColumnControlsSelectedDecoration, removeControlsHoverDecoration, maybeUpdateColumnSelectedDecoration])({ decorationSet: decorationSet, tr: tr }); } return (0, _composeDecorations.composeDecorations)([removeColumnControlsSelectedDecoration, removeControlsHoverDecoration, maybeUpdateColumnSelectedDecoration, maybeUpdateColumnControlsDecoration])({ decorationSet: decorationSet, tr: tr }); };