@atlaskit/editor-plugin-table
Version:
Table plugin for the @atlaskit/editor
57 lines (53 loc) • 2.65 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.maybeUpdateColumnControlsSelectedDecoration = exports.buildColumnControlsDecorations = void 0;
var _cellSelection = require("@atlaskit/editor-tables/cell-selection");
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);
};
// @see: https://product-fabric.atlassian.net/browse/ED-7304
var removeColumnControlsSelectedDecoration = function removeColumnControlsSelectedDecoration(_ref3) {
var decorationSet = _ref3.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(_ref4) {
var decorationSet = _ref4.decorationSet,
tr = _ref4.tr;
if (!hasColumnSelectedDecorations(decorationSet)) {
return decorationSet;
}
return removeColumnControlsSelectedDecoration({
decorationSet: decorationSet,
tr: tr
});
};
var buildColumnControlsDecorations = exports.buildColumnControlsDecorations = function buildColumnControlsDecorations(_ref5) {
var decorationSet = _ref5.decorationSet,
tr = _ref5.tr;
return (0, _composeDecorations.composeDecorations)([removeColumnControlsSelectedDecoration, removeControlsHoverDecoration, maybeUpdateColumnSelectedDecoration])({
decorationSet: decorationSet,
tr: tr
});
};