@atlaskit/editor-plugin-table
Version:
Table plugin for the @atlaskit/editor
200 lines (199 loc) • 7.71 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getSharedItems = void 0;
var _react = _interopRequireDefault(require("react"));
var _fg = require("@atlaskit/platform-feature-flags/fg");
var _keys = require("../cell/keys");
var _AddColumnRightItem = require("../column/items/AddColumnRightItem");
var _DeleteColumnItem = require("../column/items/DeleteColumnItem");
var _DistributeColumnsItem = require("../column/items/DistributeColumnsItem");
var _keys2 = require("../column/keys");
var _AddRowBelowItem = require("../row/items/AddRowBelowItem");
var _DeleteRowItem = require("../row/items/DeleteRowItem");
var _keys3 = require("../row/keys");
var _BackgroundColorItem = require("./items/BackgroundColorItem");
var _ClearCellsItem = require("./items/ClearCellsItem");
var _keys4 = require("./keys");
var getSharedItems = exports.getSharedItems = function getSharedItems(_ref) {
var api = _ref.api;
return (0, _fg.fg)('platform_editor_table_cell_menu_update') ? [
// --- Cell menu update ON ---
// The add/delete items move out of the row/column menu files and are registered here
// once with an additional cell parent, so they render inside the cell menu too.
{
type: _keys4.BACKGROUND_COLOR_ITEM.type,
key: _keys4.BACKGROUND_COLOR_ITEM.key,
parents: [{
type: _keys3.ROW_BACKGROUND_SECTION.type,
key: _keys3.ROW_BACKGROUND_SECTION.key,
rank: _keys3.ROW_BACKGROUND_SECTION_RANK[_keys4.BACKGROUND_COLOR_ITEM.key]
}, {
type: _keys2.COLUMN_BACKGROUND_SECTION.type,
key: _keys2.COLUMN_BACKGROUND_SECTION.key,
rank: _keys2.COLUMN_BACKGROUND_SECTION_RANK[_keys4.BACKGROUND_COLOR_ITEM.key]
}, {
type: _keys.CELL_ACTION_SECTION.type,
key: _keys.CELL_ACTION_SECTION.key,
rank: _keys.CELL_ACTION_SECTION_RANK[_keys4.BACKGROUND_COLOR_ITEM.key]
}],
component: function component() {
return /*#__PURE__*/_react.default.createElement(_BackgroundColorItem.BackgroundColorItem, {
api: api
});
}
}, {
type: _keys2.ADD_COLUMN_RIGHT_ITEM.type,
key: _keys2.ADD_COLUMN_RIGHT_ITEM.key,
parents: [{
type: _keys2.COLUMN_ADD_SECTION.type,
key: _keys2.COLUMN_ADD_SECTION.key,
rank: _keys2.COLUMN_ADD_SECTION_RANK[_keys2.ADD_COLUMN_RIGHT_ITEM.key]
}, {
type: _keys.CELL_ADD_SECTION.type,
key: _keys.CELL_ADD_SECTION.key,
rank: _keys.CELL_ADD_SECTION_RANK[_keys2.ADD_COLUMN_RIGHT_ITEM.key]
}],
component: function component() {
return /*#__PURE__*/_react.default.createElement(_AddColumnRightItem.AddColumnRightItem, {
api: api
});
}
}, {
type: _keys3.ADD_ROW_BELOW_ITEM.type,
key: _keys3.ADD_ROW_BELOW_ITEM.key,
parents: [{
type: _keys3.ROW_ADD_SECTION.type,
key: _keys3.ROW_ADD_SECTION.key,
rank: _keys3.ROW_ADD_SECTION_RANK[_keys3.ADD_ROW_BELOW_ITEM.key]
}, {
type: _keys.CELL_ADD_SECTION.type,
key: _keys.CELL_ADD_SECTION.key,
rank: _keys.CELL_ADD_SECTION_RANK[_keys3.ADD_ROW_BELOW_ITEM.key]
}],
component: function component() {
return /*#__PURE__*/_react.default.createElement(_AddRowBelowItem.AddRowBelowItem, {
api: api
});
}
}, {
type: _keys2.DISTRIBUTE_COLUMNS_ITEM.type,
key: _keys2.DISTRIBUTE_COLUMNS_ITEM.key,
parents: [{
type: _keys2.COLUMN_ADD_SECTION.type,
key: _keys2.COLUMN_ADD_SECTION.key,
rank: _keys2.COLUMN_ADD_SECTION_RANK[_keys2.DISTRIBUTE_COLUMNS_ITEM.key]
}, {
type: _keys.CELL_ADD_SECTION.type,
key: _keys.CELL_ADD_SECTION.key,
rank: _keys.CELL_ADD_SECTION_RANK[_keys2.DISTRIBUTE_COLUMNS_ITEM.key]
}],
component: function component() {
return /*#__PURE__*/_react.default.createElement(_DistributeColumnsItem.DistributeColumnsItem, {
api: api
});
}
}, {
type: _keys4.CLEAR_CELLS_ITEM.type,
key: _keys4.CLEAR_CELLS_ITEM.key,
parents: [{
type: _keys3.ROW_DANGER_SECTION.type,
key: _keys3.ROW_DANGER_SECTION.key,
rank: _keys3.ROW_DANGER_SECTION_RANK[_keys4.CLEAR_CELLS_ITEM.key]
}, {
type: _keys2.COLUMN_DANGER_SECTION.type,
key: _keys2.COLUMN_DANGER_SECTION.key,
rank: _keys2.COLUMN_DANGER_SECTION_RANK[_keys4.CLEAR_CELLS_ITEM.key]
}, {
type: _keys.CELL_DANGER_SECTION.type,
key: _keys.CELL_DANGER_SECTION.key,
rank: _keys.CELL_DANGER_SECTION_RANK[_keys4.CLEAR_CELLS_ITEM.key]
}],
component: function component() {
return /*#__PURE__*/_react.default.createElement(_ClearCellsItem.ClearCellsItem, {
api: api
});
}
}, {
type: _keys2.DELETE_COLUMN_ITEM.type,
key: _keys2.DELETE_COLUMN_ITEM.key,
parents: [{
type: _keys2.COLUMN_DANGER_SECTION.type,
key: _keys2.COLUMN_DANGER_SECTION.key,
rank: _keys2.COLUMN_DANGER_SECTION_RANK[_keys2.DELETE_COLUMN_ITEM.key]
}, {
type: _keys.CELL_DANGER_SECTION.type,
key: _keys.CELL_DANGER_SECTION.key,
rank: _keys.CELL_DANGER_SECTION_RANK[_keys2.DELETE_COLUMN_ITEM.key]
}],
component: function component() {
return /*#__PURE__*/_react.default.createElement(_DeleteColumnItem.DeleteColumnItem, {
api: api
});
}
}, {
type: _keys3.DELETE_ROW_ITEM.type,
key: _keys3.DELETE_ROW_ITEM.key,
parents: [{
type: _keys3.ROW_DANGER_SECTION.type,
key: _keys3.ROW_DANGER_SECTION.key,
rank: _keys3.ROW_DANGER_SECTION_RANK[_keys3.DELETE_ROW_ITEM.key]
}, {
type: _keys.CELL_DANGER_SECTION.type,
key: _keys.CELL_DANGER_SECTION.key,
rank: _keys.CELL_DANGER_SECTION_RANK[_keys3.DELETE_ROW_ITEM.key]
}],
component: function component() {
return /*#__PURE__*/_react.default.createElement(_DeleteRowItem.DeleteRowItem, {
api: api
});
}
}] : [
// --- Cell menu update OFF: legacy shared items (background color + clear cells only).
// The add/delete items are registered by the row/column menu files in this mode.
{
type: _keys4.BACKGROUND_COLOR_ITEM.type,
key: _keys4.BACKGROUND_COLOR_ITEM.key,
parents: [{
type: _keys3.ROW_BACKGROUND_SECTION.type,
key: _keys3.ROW_BACKGROUND_SECTION.key,
rank: _keys3.ROW_BACKGROUND_SECTION_RANK[_keys4.BACKGROUND_COLOR_ITEM.key]
}, {
type: _keys2.COLUMN_BACKGROUND_SECTION.type,
key: _keys2.COLUMN_BACKGROUND_SECTION.key,
rank: _keys2.COLUMN_BACKGROUND_SECTION_RANK[_keys4.BACKGROUND_COLOR_ITEM.key]
}, {
type: _keys.CELL_ACTION_SECTION.type,
key: _keys.CELL_ACTION_SECTION.key,
rank: _keys.CELL_ACTION_SECTION_RANK[_keys4.BACKGROUND_COLOR_ITEM.key]
}],
component: function component() {
return /*#__PURE__*/_react.default.createElement(_BackgroundColorItem.BackgroundColorItem, {
api: api
});
}
}, {
type: _keys4.CLEAR_CELLS_ITEM.type,
key: _keys4.CLEAR_CELLS_ITEM.key,
parents: [{
type: _keys3.ROW_DANGER_SECTION.type,
key: _keys3.ROW_DANGER_SECTION.key,
rank: _keys3.ROW_DANGER_SECTION_RANK[_keys4.CLEAR_CELLS_ITEM.key]
}, {
type: _keys2.COLUMN_DANGER_SECTION.type,
key: _keys2.COLUMN_DANGER_SECTION.key,
rank: _keys2.COLUMN_DANGER_SECTION_RANK[_keys4.CLEAR_CELLS_ITEM.key]
}, {
type: _keys.CELL_DANGER_SECTION.type,
key: _keys.CELL_DANGER_SECTION.key,
rank: _keys.CELL_DANGER_SECTION_RANK[_keys4.CLEAR_CELLS_ITEM.key]
}],
component: function component() {
return /*#__PURE__*/_react.default.createElement(_ClearCellsItem.ClearCellsItem, {
api: api
});
}
}];
};