@atlaskit/editor-plugin-table
Version:
Table plugin for the @atlaskit/editor
74 lines (70 loc) • 3.48 kB
JavaScript
;
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
});
};