@atlaskit/editor-plugin-table 23.3.4 → 23.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/dist/cjs/pm-plugins/commands/active-table-menu.js +19 -8
- package/dist/cjs/pm-plugins/commands/commands-with-analytics.js +9 -49
- package/dist/cjs/pm-plugins/drag-and-drop/plugin.js +1 -1
- package/dist/cjs/pm-plugins/handlers.js +1 -1
- package/dist/cjs/pm-plugins/main.js +4 -1
- package/dist/cjs/ui/ContentComponent.js +11 -1
- package/dist/cjs/ui/FloatingContextualButton/index.js +2 -2
- package/dist/cjs/ui/FloatingContextualMenu/CellMenuPopup.js +2 -2
- package/dist/cjs/ui/FloatingDragMenu/index.js +10 -38
- package/dist/cjs/ui/FloatingTableMenu/index.js +175 -0
- package/dist/cjs/ui/TableFloatingColumnControls/ColumnControls/index.js +43 -11
- package/dist/cjs/ui/TableFloatingControls/RowControls/DragControls.js +57 -26
- package/dist/cjs/ui/TableMenu/cell/items/MergeCellsItem.js +1 -1
- package/dist/cjs/ui/TableMenu/cell/items/SplitCellItem.js +1 -1
- package/dist/cjs/ui/TableMenu/cell/items/VerticalAlignDropdownItem.js +1 -1
- package/dist/cjs/ui/TableMenu/column/items/AddColumnLeftItem.js +1 -1
- package/dist/cjs/ui/TableMenu/column/items/AddColumnRightItem.js +1 -1
- package/dist/cjs/ui/TableMenu/column/items/DeleteColumnItem.js +1 -1
- package/dist/cjs/ui/TableMenu/column/items/DistributeColumnsItem.js +1 -1
- package/dist/cjs/ui/TableMenu/column/items/MoveColumnLeftItem.js +1 -1
- package/dist/cjs/ui/TableMenu/column/items/MoveColumnRightItem.js +1 -1
- package/dist/cjs/ui/TableMenu/column/items/SortDecreasingItem.js +1 -1
- package/dist/cjs/ui/TableMenu/column/items/SortIncreasingItem.js +1 -1
- package/dist/cjs/ui/TableMenu/row/items/AddRowAboveItem.js +1 -1
- package/dist/cjs/ui/TableMenu/row/items/AddRowBelowItem.js +1 -1
- package/dist/cjs/ui/TableMenu/row/items/DeleteRowItem.js +1 -1
- package/dist/cjs/ui/TableMenu/row/items/MoveRowDownItem.js +1 -1
- package/dist/cjs/ui/TableMenu/row/items/MoveRowUpItem.js +1 -1
- package/dist/cjs/ui/TableMenu/shared/TableMenu.js +8 -8
- package/dist/cjs/ui/TableMenu/shared/consts.js +1 -1
- package/dist/cjs/ui/TableMenu/shared/items/BackgroundColorItem.js +1 -1
- package/dist/cjs/ui/TableMenu/shared/items/ClearCellsItem.js +1 -1
- package/dist/es2019/pm-plugins/commands/active-table-menu.js +19 -8
- package/dist/es2019/pm-plugins/commands/commands-with-analytics.js +0 -39
- package/dist/es2019/pm-plugins/drag-and-drop/plugin.js +1 -1
- package/dist/es2019/pm-plugins/handlers.js +1 -1
- package/dist/es2019/pm-plugins/main.js +3 -0
- package/dist/es2019/ui/ContentComponent.js +11 -1
- package/dist/es2019/ui/FloatingContextualButton/index.js +2 -2
- package/dist/es2019/ui/FloatingContextualMenu/CellMenuPopup.js +2 -2
- package/dist/es2019/ui/FloatingDragMenu/index.js +11 -40
- package/dist/es2019/ui/FloatingTableMenu/index.js +165 -0
- package/dist/es2019/ui/TableFloatingColumnControls/ColumnControls/index.js +41 -7
- package/dist/es2019/ui/TableFloatingControls/RowControls/DragControls.js +40 -7
- package/dist/es2019/ui/TableMenu/cell/items/MergeCellsItem.js +1 -1
- package/dist/es2019/ui/TableMenu/cell/items/SplitCellItem.js +1 -1
- package/dist/es2019/ui/TableMenu/cell/items/VerticalAlignDropdownItem.js +1 -1
- package/dist/es2019/ui/TableMenu/column/items/AddColumnLeftItem.js +1 -1
- package/dist/es2019/ui/TableMenu/column/items/AddColumnRightItem.js +1 -1
- package/dist/es2019/ui/TableMenu/column/items/DeleteColumnItem.js +1 -1
- package/dist/es2019/ui/TableMenu/column/items/DistributeColumnsItem.js +1 -1
- package/dist/es2019/ui/TableMenu/column/items/MoveColumnLeftItem.js +1 -1
- package/dist/es2019/ui/TableMenu/column/items/MoveColumnRightItem.js +1 -1
- package/dist/es2019/ui/TableMenu/column/items/SortDecreasingItem.js +1 -1
- package/dist/es2019/ui/TableMenu/column/items/SortIncreasingItem.js +1 -1
- package/dist/es2019/ui/TableMenu/row/items/AddRowAboveItem.js +1 -1
- package/dist/es2019/ui/TableMenu/row/items/AddRowBelowItem.js +1 -1
- package/dist/es2019/ui/TableMenu/row/items/DeleteRowItem.js +1 -1
- package/dist/es2019/ui/TableMenu/row/items/MoveRowDownItem.js +1 -1
- package/dist/es2019/ui/TableMenu/row/items/MoveRowUpItem.js +1 -1
- package/dist/es2019/ui/TableMenu/shared/TableMenu.js +8 -8
- package/dist/es2019/ui/TableMenu/shared/consts.js +1 -1
- package/dist/es2019/ui/TableMenu/shared/items/BackgroundColorItem.js +1 -1
- package/dist/es2019/ui/TableMenu/shared/items/ClearCellsItem.js +1 -1
- package/dist/esm/pm-plugins/commands/active-table-menu.js +19 -8
- package/dist/esm/pm-plugins/commands/commands-with-analytics.js +8 -48
- package/dist/esm/pm-plugins/drag-and-drop/plugin.js +1 -1
- package/dist/esm/pm-plugins/handlers.js +1 -1
- package/dist/esm/pm-plugins/main.js +4 -1
- package/dist/esm/ui/ContentComponent.js +11 -1
- package/dist/esm/ui/FloatingContextualButton/index.js +2 -2
- package/dist/esm/ui/FloatingContextualMenu/CellMenuPopup.js +2 -2
- package/dist/esm/ui/FloatingDragMenu/index.js +11 -39
- package/dist/esm/ui/FloatingTableMenu/index.js +167 -0
- package/dist/esm/ui/TableFloatingColumnControls/ColumnControls/index.js +42 -10
- package/dist/esm/ui/TableFloatingControls/RowControls/DragControls.js +56 -25
- package/dist/esm/ui/TableMenu/cell/items/MergeCellsItem.js +1 -1
- package/dist/esm/ui/TableMenu/cell/items/SplitCellItem.js +1 -1
- package/dist/esm/ui/TableMenu/cell/items/VerticalAlignDropdownItem.js +1 -1
- package/dist/esm/ui/TableMenu/column/items/AddColumnLeftItem.js +1 -1
- package/dist/esm/ui/TableMenu/column/items/AddColumnRightItem.js +1 -1
- package/dist/esm/ui/TableMenu/column/items/DeleteColumnItem.js +1 -1
- package/dist/esm/ui/TableMenu/column/items/DistributeColumnsItem.js +1 -1
- package/dist/esm/ui/TableMenu/column/items/MoveColumnLeftItem.js +1 -1
- package/dist/esm/ui/TableMenu/column/items/MoveColumnRightItem.js +1 -1
- package/dist/esm/ui/TableMenu/column/items/SortDecreasingItem.js +1 -1
- package/dist/esm/ui/TableMenu/column/items/SortIncreasingItem.js +1 -1
- package/dist/esm/ui/TableMenu/row/items/AddRowAboveItem.js +1 -1
- package/dist/esm/ui/TableMenu/row/items/AddRowBelowItem.js +1 -1
- package/dist/esm/ui/TableMenu/row/items/DeleteRowItem.js +1 -1
- package/dist/esm/ui/TableMenu/row/items/MoveRowDownItem.js +1 -1
- package/dist/esm/ui/TableMenu/row/items/MoveRowUpItem.js +1 -1
- package/dist/esm/ui/TableMenu/shared/TableMenu.js +8 -8
- package/dist/esm/ui/TableMenu/shared/consts.js +1 -1
- package/dist/esm/ui/TableMenu/shared/items/BackgroundColorItem.js +1 -1
- package/dist/esm/ui/TableMenu/shared/items/ClearCellsItem.js +1 -1
- package/dist/types/pm-plugins/commands/active-table-menu.d.ts +3 -3
- package/dist/types/pm-plugins/commands/commands-with-analytics.d.ts +1 -3
- package/dist/types/ui/FloatingTableMenu/index.d.ts +23 -0
- package/dist/types/ui/TableMenu/shared/consts.d.ts +1 -1
- package/dist/types-ts4.5/pm-plugins/commands/active-table-menu.d.ts +3 -3
- package/dist/types-ts4.5/pm-plugins/commands/commands-with-analytics.d.ts +1 -3
- package/dist/types-ts4.5/ui/FloatingTableMenu/index.d.ts +23 -0
- package/dist/types-ts4.5/ui/TableMenu/shared/consts.d.ts +1 -1
- package/package.json +3 -3
|
@@ -8,14 +8,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports.DragControlsWithSelection = exports.DragControls = void 0;
|
|
9
9
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
var _analytics = require("@atlaskit/editor-common/analytics");
|
|
11
12
|
var _hooks = require("@atlaskit/editor-common/hooks");
|
|
12
13
|
var _editorTables = require("@atlaskit/editor-tables");
|
|
13
14
|
var _utils = require("@atlaskit/editor-tables/utils");
|
|
14
15
|
var _adapter = require("@atlaskit/pragmatic-drag-and-drop/element/adapter");
|
|
15
16
|
var _expValEquals = require("@atlaskit/tmp-editor-statsig/exp-val-equals");
|
|
16
17
|
var _commands = require("../../../pm-plugins/commands");
|
|
17
|
-
var _commandsWithAnalytics = require("../../../pm-plugins/
|
|
18
|
-
var _commandsWithAnalytics2 = require("../../../pm-plugins/drag-and-drop/commands-with-analytics");
|
|
18
|
+
var _commandsWithAnalytics = require("../../../pm-plugins/drag-and-drop/commands-with-analytics");
|
|
19
19
|
var _pluginFactory = require("../../../pm-plugins/plugin-factory");
|
|
20
20
|
var _rowControls = require("../../../pm-plugins/utils/row-controls");
|
|
21
21
|
var _selection = require("../../../pm-plugins/utils/selection");
|
|
@@ -37,7 +37,7 @@ var getSelectedRows = function getSelectedRows(selection) {
|
|
|
37
37
|
return [];
|
|
38
38
|
};
|
|
39
39
|
var DragControls = exports.DragControls = function DragControls(_ref) {
|
|
40
|
-
var _tableNode$attrs$loca, _tableNode$attrs
|
|
40
|
+
var _tableNode$attrs$loca, _tableNode$attrs;
|
|
41
41
|
var tableRef = _ref.tableRef,
|
|
42
42
|
tableNode = _ref.tableNode,
|
|
43
43
|
tableWidth = _ref.tableWidth,
|
|
@@ -92,18 +92,49 @@ var DragControls = exports.DragControls = function DragControls(_ref) {
|
|
|
92
92
|
var toggleDragMenuHandler = (0, _react.useCallback)(function (trigger, event) {
|
|
93
93
|
var _api$analytics2;
|
|
94
94
|
if (event !== null && event !== void 0 && event.shiftKey) {
|
|
95
|
+
// Shift-click extends the selection rather than toggling the menu, but the
|
|
96
|
+
// open drag menu would otherwise stay anchored to a stale row. Close it here
|
|
97
|
+
// for the updated menu (legacy menu closes via outside-click on its dropdown).
|
|
98
|
+
if ((0, _expValEquals.expValEquals)('platform_editor_table_menu_updates', 'isEnabled', true)) {
|
|
99
|
+
api === null || api === void 0 || api.core.actions.execute((0, _commands.closeActiveTableMenu)(api));
|
|
100
|
+
}
|
|
95
101
|
return;
|
|
96
102
|
}
|
|
97
103
|
var rowIndex = hoveredCell === null || hoveredCell === void 0 ? void 0 : hoveredCell.rowIndex;
|
|
98
104
|
if ((0, _expValEquals.expValEquals)('platform_editor_table_menu_updates', 'isEnabled', true)) {
|
|
99
|
-
if (rowIndex !== undefined) {
|
|
100
|
-
var
|
|
101
|
-
|
|
105
|
+
if (rowIndex !== undefined && api) {
|
|
106
|
+
var _getTablePluginState2 = (0, _pluginFactory.getPluginState)(editorView.state),
|
|
107
|
+
currentActiveTableMenu = _getTablePluginState2.activeTableMenu;
|
|
108
|
+
var isSameActiveMenu = (currentActiveTableMenu === null || currentActiveTableMenu === void 0 ? void 0 : currentActiveTableMenu.type) === 'row' && currentActiveTableMenu.index === rowIndex;
|
|
109
|
+
api.core.actions.execute(function (_ref4) {
|
|
110
|
+
var tr = _ref4.tr;
|
|
111
|
+
if (!isSameActiveMenu) {
|
|
112
|
+
var _api$analytics;
|
|
113
|
+
(_api$analytics = api.analytics) === null || _api$analytics === void 0 || (_api$analytics = _api$analytics.actions) === null || _api$analytics === void 0 || _api$analytics.attachAnalyticsEvent({
|
|
114
|
+
action: _analytics.TABLE_ACTION.DRAG_MENU_OPENED,
|
|
115
|
+
actionSubject: _analytics.ACTION_SUBJECT.TABLE,
|
|
116
|
+
actionSubjectId: null,
|
|
117
|
+
eventType: _analytics.EVENT_TYPE.TRACK,
|
|
118
|
+
attributes: {
|
|
119
|
+
inputMethod: trigger === 'keyboard' ? _analytics.INPUT_METHOD.KEYBOARD : _analytics.INPUT_METHOD.MOUSE,
|
|
120
|
+
direction: 'row'
|
|
121
|
+
}
|
|
122
|
+
})(tr);
|
|
123
|
+
}
|
|
124
|
+
(0, _commands.toggleActiveTableMenu)({
|
|
125
|
+
type: 'row',
|
|
126
|
+
index: rowIndex,
|
|
127
|
+
openedBy: trigger
|
|
128
|
+
}, currentActiveTableMenu, api)({
|
|
129
|
+
tr: tr
|
|
130
|
+
});
|
|
131
|
+
return tr;
|
|
132
|
+
});
|
|
102
133
|
}
|
|
103
134
|
return;
|
|
104
135
|
}
|
|
105
|
-
(0,
|
|
106
|
-
}, [editorView, hoveredCell === null || hoveredCell === void 0 ? void 0 : hoveredCell.rowIndex, api
|
|
136
|
+
(0, _commandsWithAnalytics.toggleDragMenuWithAnalytics)(api === null || api === void 0 || (_api$analytics2 = api.analytics) === null || _api$analytics2 === void 0 ? void 0 : _api$analytics2.actions)(undefined, 'row', rowIndex, trigger)(editorView.state, editorView.dispatch);
|
|
137
|
+
}, [editorView, hoveredCell === null || hoveredCell === void 0 ? void 0 : hoveredCell.rowIndex, api]);
|
|
107
138
|
var rowIndex = hoveredCell === null || hoveredCell === void 0 ? void 0 : hoveredCell.rowIndex;
|
|
108
139
|
var handleMouseOut = (0, _react.useCallback)(function () {
|
|
109
140
|
if (tableActive) {
|
|
@@ -234,9 +265,9 @@ var DragControls = exports.DragControls = function DragControls(_ref) {
|
|
|
234
265
|
},
|
|
235
266
|
onMouseMove: handleMouseMove,
|
|
236
267
|
contentEditable: false
|
|
237
|
-
}, rowsParams.map(function (
|
|
238
|
-
var startIndex =
|
|
239
|
-
endIndex =
|
|
268
|
+
}, rowsParams.map(function (_ref5, index) {
|
|
269
|
+
var startIndex = _ref5.startIndex,
|
|
270
|
+
endIndex = _ref5.endIndex;
|
|
240
271
|
return (
|
|
241
272
|
/*#__PURE__*/
|
|
242
273
|
// Ignored via go/ees005
|
|
@@ -287,21 +318,21 @@ var DragControls = exports.DragControls = function DragControls(_ref) {
|
|
|
287
318
|
);
|
|
288
319
|
}), rowHandles());
|
|
289
320
|
};
|
|
290
|
-
var DragControlsWithSelection = exports.DragControlsWithSelection = function DragControlsWithSelection(
|
|
291
|
-
var editorView =
|
|
292
|
-
tableRef =
|
|
293
|
-
tableNode =
|
|
294
|
-
tableWidth =
|
|
295
|
-
tableActive =
|
|
296
|
-
hoveredCell =
|
|
297
|
-
isInDanger =
|
|
298
|
-
isTableHovered =
|
|
299
|
-
isResizing =
|
|
300
|
-
hoverRows =
|
|
301
|
-
selectRow =
|
|
302
|
-
selectRows =
|
|
303
|
-
updateCellHoverLocation =
|
|
304
|
-
api =
|
|
321
|
+
var DragControlsWithSelection = exports.DragControlsWithSelection = function DragControlsWithSelection(_ref6) {
|
|
322
|
+
var editorView = _ref6.editorView,
|
|
323
|
+
tableRef = _ref6.tableRef,
|
|
324
|
+
tableNode = _ref6.tableNode,
|
|
325
|
+
tableWidth = _ref6.tableWidth,
|
|
326
|
+
tableActive = _ref6.tableActive,
|
|
327
|
+
hoveredCell = _ref6.hoveredCell,
|
|
328
|
+
isInDanger = _ref6.isInDanger,
|
|
329
|
+
isTableHovered = _ref6.isTableHovered,
|
|
330
|
+
isResizing = _ref6.isResizing,
|
|
331
|
+
hoverRows = _ref6.hoverRows,
|
|
332
|
+
selectRow = _ref6.selectRow,
|
|
333
|
+
selectRows = _ref6.selectRows,
|
|
334
|
+
updateCellHoverLocation = _ref6.updateCellHoverLocation,
|
|
335
|
+
api = _ref6.api;
|
|
305
336
|
var _useSharedPluginState = (0, _hooks.useSharedPluginStateWithSelector)(api, ['selection'], function (states) {
|
|
306
337
|
var _states$selectionStat;
|
|
307
338
|
return {
|
|
@@ -33,7 +33,7 @@ var MergeCellsItem = exports.MergeCellsItem = function MergeCellsItem(_ref) {
|
|
|
33
33
|
return;
|
|
34
34
|
}
|
|
35
35
|
(0, _commandsWithAnalytics.mergeCellsWithAnalytics)(api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions)(_analytics.INPUT_METHOD.CONTEXT_MENU)(editorView.state, editorView.dispatch);
|
|
36
|
-
api === null || api === void 0 || api.core.actions.execute((0, _commands.closeActiveTableMenu)());
|
|
36
|
+
api === null || api === void 0 || api.core.actions.execute((0, _commands.closeActiveTableMenu)(api));
|
|
37
37
|
api === null || api === void 0 || api.core.actions.focus();
|
|
38
38
|
};
|
|
39
39
|
if (!shouldShowMergeCells(tableMenuContext)) {
|
|
@@ -33,7 +33,7 @@ var SplitCellItem = exports.SplitCellItem = function SplitCellItem(_ref) {
|
|
|
33
33
|
return;
|
|
34
34
|
}
|
|
35
35
|
(0, _commandsWithAnalytics.splitCellWithAnalytics)(api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions)(_analytics.INPUT_METHOD.CONTEXT_MENU)(editorView.state, editorView.dispatch);
|
|
36
|
-
api === null || api === void 0 || api.core.actions.execute((0, _commands.closeActiveTableMenu)());
|
|
36
|
+
api === null || api === void 0 || api.core.actions.execute((0, _commands.closeActiveTableMenu)(api));
|
|
37
37
|
api === null || api === void 0 || api.core.actions.focus();
|
|
38
38
|
};
|
|
39
39
|
if (!shouldShowSplitCell(tableMenuContext)) {
|
|
@@ -46,7 +46,7 @@ var AddColumnLeftItem = exports.AddColumnLeftItem = function AddColumnLeftItem(_
|
|
|
46
46
|
}
|
|
47
47
|
var shouldUseIncreasedScalingPercent = isTableScalingEnabled && (isTableFixedColumnWidthsOptionEnabled || isCommentEditor);
|
|
48
48
|
(0, _commandsWithAnalytics.insertColumnWithAnalytics)(api, api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent, isCommentEditor)(_analytics.INPUT_METHOD.TABLE_CONTEXT_MENU, index)(editorView.state, editorView.dispatch, editorView);
|
|
49
|
-
api === null || api === void 0 || api.core.actions.execute((0, _commands.closeActiveTableMenu)());
|
|
49
|
+
api === null || api === void 0 || api.core.actions.execute((0, _commands.closeActiveTableMenu)(api));
|
|
50
50
|
api === null || api === void 0 || api.core.actions.focus();
|
|
51
51
|
};
|
|
52
52
|
return /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarDropdownItem, {
|
|
@@ -46,7 +46,7 @@ var AddColumnRightItem = exports.AddColumnRightItem = function AddColumnRightIte
|
|
|
46
46
|
}
|
|
47
47
|
var shouldUseIncreasedScalingPercent = isTableScalingEnabled && (isTableFixedColumnWidthsOptionEnabled || isCommentEditor);
|
|
48
48
|
(0, _commandsWithAnalytics.insertColumnWithAnalytics)(api, api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent, isCommentEditor)(_analytics.INPUT_METHOD.TABLE_CONTEXT_MENU, index)(editorView.state, editorView.dispatch, editorView);
|
|
49
|
-
api === null || api === void 0 || api.core.actions.execute((0, _commands.closeActiveTableMenu)());
|
|
49
|
+
api === null || api === void 0 || api.core.actions.execute((0, _commands.closeActiveTableMenu)(api));
|
|
50
50
|
api === null || api === void 0 || api.core.actions.focus();
|
|
51
51
|
};
|
|
52
52
|
return /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarDropdownItem, {
|
|
@@ -64,7 +64,7 @@ var DeleteColumnItem = exports.DeleteColumnItem = function DeleteColumnItem(_ref
|
|
|
64
64
|
}
|
|
65
65
|
var shouldUseIncreasedScalingPercent = isTableScalingEnabled && (isTableFixedColumnWidthsOptionEnabled || isCommentEditor);
|
|
66
66
|
(0, _commandsWithAnalytics.deleteColumnsWithAnalytics)(api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions, api, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent, isCommentEditor)(_analytics.INPUT_METHOD.TABLE_CONTEXT_MENU, selectionRect)(editorView.state, editorView.dispatch, editorView);
|
|
67
|
-
api === null || api === void 0 || api.core.actions.execute((0, _commands.closeActiveTableMenu)());
|
|
67
|
+
api === null || api === void 0 || api.core.actions.execute((0, _commands.closeActiveTableMenu)(api));
|
|
68
68
|
api === null || api === void 0 || api.core.actions.focus();
|
|
69
69
|
};
|
|
70
70
|
return /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarDropdownItem, {
|
|
@@ -55,7 +55,7 @@ var DistributeColumnsItem = exports.DistributeColumnsItem = function DistributeC
|
|
|
55
55
|
return;
|
|
56
56
|
}
|
|
57
57
|
(0, _commandsWithAnalytics.distributeColumnsWidthsWithAnalytics)(api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions, api)(_analytics.INPUT_METHOD.TABLE_CONTEXT_MENU, newResizeState)(editorView.state, editorView.dispatch);
|
|
58
|
-
api === null || api === void 0 || api.core.actions.execute((0, _commands.closeActiveTableMenu)());
|
|
58
|
+
api === null || api === void 0 || api.core.actions.execute((0, _commands.closeActiveTableMenu)(api));
|
|
59
59
|
api === null || api === void 0 || api.core.actions.focus();
|
|
60
60
|
};
|
|
61
61
|
if (!shouldShowDistributeColumns(tableMenuContext === null || tableMenuContext === void 0 ? void 0 : tableMenuContext.selectedColumnCount)) {
|
|
@@ -49,7 +49,7 @@ var MoveColumnLeftItem = exports.MoveColumnLeftItem = function MoveColumnLeftIte
|
|
|
49
49
|
return;
|
|
50
50
|
}
|
|
51
51
|
(0, _commandsWithAnalytics.moveSourceWithAnalytics)(api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions, api === null || api === void 0 || (_api$accessibilityUti = api.accessibilityUtils) === null || _api$accessibilityUti === void 0 ? void 0 : _api$accessibilityUti.actions.ariaNotify, (0, _pluginFactory.getPluginState)(editorView.state).getIntl)(_analytics.INPUT_METHOD.TABLE_CONTEXT_MENU, _consts.TABLE_COLUMN, (0, _selection.getSelectedColumnIndexes)(selectionRect), selectionRect.left - 1)(editorView.state, editorView.dispatch);
|
|
52
|
-
api === null || api === void 0 || api.core.actions.execute((0, _commands.closeActiveTableMenu)());
|
|
52
|
+
api === null || api === void 0 || api.core.actions.execute((0, _commands.closeActiveTableMenu)(api));
|
|
53
53
|
api === null || api === void 0 || api.core.actions.focus();
|
|
54
54
|
};
|
|
55
55
|
if (!tableNode || !shouldShowMoveColumnLeft(tableMenuContext === null || tableMenuContext === void 0 ? void 0 : tableMenuContext.isFirstColumn)) {
|
|
@@ -48,7 +48,7 @@ var MoveColumnRightItem = exports.MoveColumnRightItem = function MoveColumnRight
|
|
|
48
48
|
return;
|
|
49
49
|
}
|
|
50
50
|
(0, _commandsWithAnalytics.moveSourceWithAnalytics)(api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions, api === null || api === void 0 || (_api$accessibilityUti = api.accessibilityUtils) === null || _api$accessibilityUti === void 0 ? void 0 : _api$accessibilityUti.actions.ariaNotify, (0, _pluginFactory.getPluginState)(editorView.state).getIntl)(_analytics.INPUT_METHOD.TABLE_CONTEXT_MENU, _consts.TABLE_COLUMN, (0, _selection.getSelectedColumnIndexes)(selectionRect), selectionRect.right)(editorView.state, editorView.dispatch);
|
|
51
|
-
api === null || api === void 0 || api.core.actions.execute((0, _commands.closeActiveTableMenu)());
|
|
51
|
+
api === null || api === void 0 || api.core.actions.execute((0, _commands.closeActiveTableMenu)(api));
|
|
52
52
|
api === null || api === void 0 || api.core.actions.focus();
|
|
53
53
|
};
|
|
54
54
|
if (!tableNode || !shouldShowMoveColumnRight(tableMenuContext === null || tableMenuContext === void 0 ? void 0 : tableMenuContext.isLastColumn)) {
|
|
@@ -33,7 +33,7 @@ var SortDecreasingItem = exports.SortDecreasingItem = function SortDecreasingIte
|
|
|
33
33
|
return;
|
|
34
34
|
}
|
|
35
35
|
(0, _commandsWithAnalytics.sortColumnWithAnalytics)(api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions)(_analytics.INPUT_METHOD.TABLE_CONTEXT_MENU, columnIndex, _customSteps.TableSortOrder.DESC)(editorView.state, editorView.dispatch);
|
|
36
|
-
api === null || api === void 0 || api.core.actions.execute((0, _commands.closeActiveTableMenu)());
|
|
36
|
+
api === null || api === void 0 || api.core.actions.execute((0, _commands.closeActiveTableMenu)(api));
|
|
37
37
|
api === null || api === void 0 || api.core.actions.focus();
|
|
38
38
|
};
|
|
39
39
|
return /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarDropdownItem, {
|
|
@@ -33,7 +33,7 @@ var SortIncreasingItem = exports.SortIncreasingItem = function SortIncreasingIte
|
|
|
33
33
|
return;
|
|
34
34
|
}
|
|
35
35
|
(0, _commandsWithAnalytics.sortColumnWithAnalytics)(api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions)(_analytics.INPUT_METHOD.TABLE_CONTEXT_MENU, columnIndex, _customSteps.TableSortOrder.ASC)(editorView.state, editorView.dispatch);
|
|
36
|
-
api === null || api === void 0 || api.core.actions.execute((0, _commands.closeActiveTableMenu)());
|
|
36
|
+
api === null || api === void 0 || api.core.actions.execute((0, _commands.closeActiveTableMenu)(api));
|
|
37
37
|
api === null || api === void 0 || api.core.actions.focus();
|
|
38
38
|
};
|
|
39
39
|
return /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarDropdownItem, {
|
|
@@ -36,7 +36,7 @@ var AddRowAboveItem = exports.AddRowAboveItem = function AddRowAboveItem(props)
|
|
|
36
36
|
index: index,
|
|
37
37
|
moveCursorToInsertedRow: true
|
|
38
38
|
})(editorView.state, editorView.dispatch);
|
|
39
|
-
api === null || api === void 0 || api.core.actions.execute((0, _commands.closeActiveTableMenu)());
|
|
39
|
+
api === null || api === void 0 || api.core.actions.execute((0, _commands.closeActiveTableMenu)(api));
|
|
40
40
|
api === null || api === void 0 || api.core.actions.focus();
|
|
41
41
|
};
|
|
42
42
|
return /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarDropdownItem, {
|
|
@@ -36,7 +36,7 @@ var AddRowBelowItem = exports.AddRowBelowItem = function AddRowBelowItem(props)
|
|
|
36
36
|
index: index,
|
|
37
37
|
moveCursorToInsertedRow: true
|
|
38
38
|
})(editorView.state, editorView.dispatch);
|
|
39
|
-
api === null || api === void 0 || api.core.actions.execute((0, _commands.closeActiveTableMenu)());
|
|
39
|
+
api === null || api === void 0 || api.core.actions.execute((0, _commands.closeActiveTableMenu)(api));
|
|
40
40
|
api === null || api === void 0 || api.core.actions.focus();
|
|
41
41
|
};
|
|
42
42
|
return /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarDropdownItem, {
|
|
@@ -59,7 +59,7 @@ var DeleteRowItem = exports.DeleteRowItem = function DeleteRowItem(props) {
|
|
|
59
59
|
return;
|
|
60
60
|
}
|
|
61
61
|
(0, _commandsWithAnalytics.deleteRowsWithAnalytics)(api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions)(_analytics.INPUT_METHOD.TABLE_CONTEXT_MENU, selectionRect, !!isHeaderRowRequired)(editorView.state, editorView.dispatch);
|
|
62
|
-
api === null || api === void 0 || api.core.actions.execute((0, _commands.closeActiveTableMenu)());
|
|
62
|
+
api === null || api === void 0 || api.core.actions.execute((0, _commands.closeActiveTableMenu)(api));
|
|
63
63
|
api === null || api === void 0 || api.core.actions.focus();
|
|
64
64
|
};
|
|
65
65
|
return /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarDropdownItem, {
|
|
@@ -48,7 +48,7 @@ var MoveRowDownItem = exports.MoveRowDownItem = function MoveRowDownItem(props)
|
|
|
48
48
|
return;
|
|
49
49
|
}
|
|
50
50
|
(0, _commandsWithAnalytics.moveSourceWithAnalytics)(api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions, api === null || api === void 0 || (_api$accessibilityUti = api.accessibilityUtils) === null || _api$accessibilityUti === void 0 ? void 0 : _api$accessibilityUti.actions.ariaNotify, (0, _pluginFactory.getPluginState)(editorView.state).getIntl)(_analytics.INPUT_METHOD.TABLE_CONTEXT_MENU, _consts.TABLE_ROW, (0, _selection.getSelectedRowIndexes)(selectionRect), selectionRect.bottom)(editorView.state, editorView.dispatch);
|
|
51
|
-
api === null || api === void 0 || api.core.actions.execute((0, _commands.closeActiveTableMenu)());
|
|
51
|
+
api === null || api === void 0 || api.core.actions.execute((0, _commands.closeActiveTableMenu)(api));
|
|
52
52
|
api === null || api === void 0 || api.core.actions.focus();
|
|
53
53
|
};
|
|
54
54
|
if (!tableNode || !shouldShowMoveRowDown(tableMenuContext === null || tableMenuContext === void 0 ? void 0 : tableMenuContext.isLastRow)) {
|
|
@@ -48,7 +48,7 @@ var MoveRowUpItem = exports.MoveRowUpItem = function MoveRowUpItem(props) {
|
|
|
48
48
|
return;
|
|
49
49
|
}
|
|
50
50
|
(0, _commandsWithAnalytics.moveSourceWithAnalytics)(api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions, api === null || api === void 0 || (_api$accessibilityUti = api.accessibilityUtils) === null || _api$accessibilityUti === void 0 ? void 0 : _api$accessibilityUti.actions.ariaNotify, (0, _pluginFactory.getPluginState)(editorView.state).getIntl)(_analytics.INPUT_METHOD.TABLE_CONTEXT_MENU, _consts.TABLE_ROW, (0, _selection.getSelectedRowIndexes)(selectionRect), selectionRect.top - 1)(editorView.state, editorView.dispatch);
|
|
51
|
-
api === null || api === void 0 || api.core.actions.execute((0, _commands.closeActiveTableMenu)());
|
|
51
|
+
api === null || api === void 0 || api.core.actions.execute((0, _commands.closeActiveTableMenu)(api));
|
|
52
52
|
api === null || api === void 0 || api.core.actions.focus();
|
|
53
53
|
};
|
|
54
54
|
if (!tableNode || !shouldShowMoveRowUp(tableMenuContext === null || tableMenuContext === void 0 ? void 0 : tableMenuContext.isFirstRow)) {
|
|
@@ -37,17 +37,17 @@ var TableMenu = exports.TableMenu = /*#__PURE__*/(0, _react.memo)(function (_ref
|
|
|
37
37
|
tableNode = _useSharedPluginState.tableNode,
|
|
38
38
|
selection = _useSharedPluginState.selection;
|
|
39
39
|
var tableMenuContext = (0, _react.useMemo)(function () {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
40
|
+
// rely on selection plugins state to re-render the row/column menu, but use editorView.selection
|
|
41
|
+
// for cell menu state as the selection plugin won't update when text selection changes within cells
|
|
42
|
+
if (!tableNode || !editorView || !selection) {
|
|
43
|
+
return undefined;
|
|
44
44
|
}
|
|
45
45
|
var tableMap = _tableMap.TableMap.get(tableNode);
|
|
46
|
-
var selectionRect = (0, _utils.getSelectionRect)(selection);
|
|
46
|
+
var selectionRect = (0, _utils.getSelectionRect)(editorView.state.selection);
|
|
47
47
|
var cellOps = {
|
|
48
48
|
editorView: editorView,
|
|
49
|
-
canMergeCells: (0, _merge.canMergeCellSelection)(selection),
|
|
50
|
-
canSplitCell: (0, _splitCell.canSplitCellSelection)(selection),
|
|
49
|
+
canMergeCells: (0, _merge.canMergeCellSelection)(editorView.state.selection),
|
|
50
|
+
canSplitCell: (0, _splitCell.canSplitCellSelection)(editorView.state.selection),
|
|
51
51
|
hasMergedCellsInTable: tableMap.hasMergedCells()
|
|
52
52
|
};
|
|
53
53
|
if (!selectionRect) {
|
|
@@ -61,7 +61,7 @@ var TableMenu = exports.TableMenu = /*#__PURE__*/(0, _react.memo)(function (_ref
|
|
|
61
61
|
isLastColumn: selectionRect.right === tableMap.width,
|
|
62
62
|
selectedColumnCount: selectionRect.right - selectionRect.left
|
|
63
63
|
});
|
|
64
|
-
}, [editorView,
|
|
64
|
+
}, [editorView, tableNode, selection]);
|
|
65
65
|
if (components.length === 0) {
|
|
66
66
|
return null;
|
|
67
67
|
}
|
|
@@ -5,6 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.TABLE_ROW = exports.TABLE_MENU_WIDTH = exports.TABLE_MENU_SELECTOR = exports.TABLE_COLUMN = void 0;
|
|
7
7
|
var TABLE_MENU_WIDTH = exports.TABLE_MENU_WIDTH = 280;
|
|
8
|
-
var TABLE_MENU_SELECTOR = exports.TABLE_MENU_SELECTOR = '[data-testid="column-handle-menu"], [data-testid="row-handle-menu"], [data-toolbar-nested-dropdown-menu]';
|
|
8
|
+
var TABLE_MENU_SELECTOR = exports.TABLE_MENU_SELECTOR = '[data-testid="column-handle-menu"], [data-testid="row-handle-menu"], [data-toolbar-component="menu"], [data-toolbar-nested-dropdown-menu]';
|
|
9
9
|
var TABLE_ROW = exports.TABLE_ROW = 'table-row';
|
|
10
10
|
var TABLE_COLUMN = exports.TABLE_COLUMN = 'table-column';
|
|
@@ -50,7 +50,7 @@ var BackgroundColorItem = exports.BackgroundColorItem = function BackgroundColor
|
|
|
50
50
|
return;
|
|
51
51
|
}
|
|
52
52
|
(0, _commandsWithAnalytics.setColorWithAnalytics)(api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions)(_analytics.INPUT_METHOD.TABLE_CONTEXT_MENU, color, editorView)(editorView.state, editorView.dispatch);
|
|
53
|
-
api === null || api === void 0 || api.core.actions.execute((0, _commands.closeActiveTableMenu)());
|
|
53
|
+
api === null || api === void 0 || api.core.actions.execute((0, _commands.closeActiveTableMenu)(api));
|
|
54
54
|
api === null || api === void 0 || api.core.actions.focus();
|
|
55
55
|
}, [api, editorView]);
|
|
56
56
|
// eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage
|
|
@@ -32,7 +32,7 @@ var ClearCellsItem = exports.ClearCellsItem = function ClearCellsItem(_ref) {
|
|
|
32
32
|
var _getPluginState = (0, _pluginFactory.getPluginState)(editorView.state),
|
|
33
33
|
targetCellPosition = _getPluginState.targetCellPosition;
|
|
34
34
|
(0, _commandsWithAnalytics.emptyMultipleCellsWithAnalytics)(api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions)(_analytics.INPUT_METHOD.TABLE_CONTEXT_MENU, targetCellPosition)(editorView.state, editorView.dispatch);
|
|
35
|
-
api === null || api === void 0 || api.core.actions.execute((0, _commands.closeActiveTableMenu)());
|
|
35
|
+
api === null || api === void 0 || api.core.actions.execute((0, _commands.closeActiveTableMenu)(api));
|
|
36
36
|
api === null || api === void 0 || api.core.actions.focus();
|
|
37
37
|
};
|
|
38
38
|
return /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarDropdownItem, {
|
|
@@ -1,15 +1,24 @@
|
|
|
1
1
|
import { pluginKey } from '../plugin-key';
|
|
2
|
-
|
|
2
|
+
const applyMenuUserIntent = (tr, api, nextActiveTableMenu) => {
|
|
3
|
+
var _api$userIntent;
|
|
4
|
+
const isRowOrColumnMenuOpen = nextActiveTableMenu.type === 'row' || nextActiveTableMenu.type === 'column';
|
|
5
|
+
api === null || api === void 0 ? void 0 : (_api$userIntent = api.userIntent) === null || _api$userIntent === void 0 ? void 0 : _api$userIntent.commands.setCurrentUserIntent(isRowOrColumnMenuOpen ? 'tableDragMenuPopupOpen' : 'default')({
|
|
6
|
+
tr
|
|
7
|
+
});
|
|
8
|
+
};
|
|
9
|
+
export const closeActiveTableMenu = api => ({
|
|
3
10
|
tr
|
|
4
11
|
}) => {
|
|
12
|
+
const nextActiveTableMenu = {
|
|
13
|
+
type: 'none'
|
|
14
|
+
};
|
|
5
15
|
tr.setMeta(pluginKey, {
|
|
6
16
|
type: 'SET_ACTIVE_TABLE_MENU',
|
|
7
17
|
data: {
|
|
8
|
-
activeTableMenu:
|
|
9
|
-
type: 'none'
|
|
10
|
-
}
|
|
18
|
+
activeTableMenu: nextActiveTableMenu
|
|
11
19
|
}
|
|
12
20
|
});
|
|
21
|
+
applyMenuUserIntent(tr, api, nextActiveTableMenu);
|
|
13
22
|
if (!tr.docChanged) {
|
|
14
23
|
tr.setMeta('addToHistory', false);
|
|
15
24
|
}
|
|
@@ -24,17 +33,19 @@ const isSameActiveTableMenu = (current, next) => {
|
|
|
24
33
|
}
|
|
25
34
|
return true;
|
|
26
35
|
};
|
|
27
|
-
export const toggleActiveTableMenu = (activeTableMenu, currentActiveTableMenu) => ({
|
|
36
|
+
export const toggleActiveTableMenu = (activeTableMenu, currentActiveTableMenu, api) => ({
|
|
28
37
|
tr
|
|
29
38
|
}) => {
|
|
39
|
+
const nextActiveTableMenu = isSameActiveTableMenu(currentActiveTableMenu, activeTableMenu) ? {
|
|
40
|
+
type: 'none'
|
|
41
|
+
} : activeTableMenu;
|
|
30
42
|
tr.setMeta(pluginKey, {
|
|
31
43
|
type: 'SET_ACTIVE_TABLE_MENU',
|
|
32
44
|
data: {
|
|
33
|
-
activeTableMenu:
|
|
34
|
-
type: 'none'
|
|
35
|
-
} : activeTableMenu
|
|
45
|
+
activeTableMenu: nextActiveTableMenu
|
|
36
46
|
}
|
|
37
47
|
});
|
|
48
|
+
applyMenuUserIntent(tr, api, nextActiveTableMenu);
|
|
38
49
|
tr.setMeta('addToHistory', false);
|
|
39
50
|
return tr;
|
|
40
51
|
};
|
|
@@ -10,7 +10,6 @@ import { deleteRows } from '../transforms/delete-rows';
|
|
|
10
10
|
import { mergeCells } from '../transforms/merge';
|
|
11
11
|
import { withEditorAnalyticsAPI, getSelectedCellInfo, getSelectedTableInfo } from '../utils/analytics';
|
|
12
12
|
import { checkIfNumberColumnEnabled } from '../utils/nodes';
|
|
13
|
-
import { toggleActiveTableMenu } from './active-table-menu';
|
|
14
13
|
import { clearMultipleCells } from './clear';
|
|
15
14
|
import { wrapTableInExpand } from './collapse';
|
|
16
15
|
import { changeColumnWidthByStep } from './column-resize';
|
|
@@ -21,44 +20,6 @@ import { deleteTable, deleteTableIfSelected, getTableSelectionType, setMultipleC
|
|
|
21
20
|
import { sortByColumn } from './sort';
|
|
22
21
|
import { splitCell } from './split-cell';
|
|
23
22
|
import { toggleHeaderColumn, toggleHeaderRow, toggleNumberColumn } from './toggle';
|
|
24
|
-
export const toggleActiveTableMenuWithAnalytics = editorAnalyticsAPI => (direction, index, trigger = 'mouse') => {
|
|
25
|
-
return withEditorAnalyticsAPI(state => {
|
|
26
|
-
const {
|
|
27
|
-
activeTableMenu: previousActiveTableMenu
|
|
28
|
-
} = getPluginState(state);
|
|
29
|
-
const isSameActiveMenu = (previousActiveTableMenu === null || previousActiveTableMenu === void 0 ? void 0 : previousActiveTableMenu.type) === direction && previousActiveTableMenu.index === index;
|
|
30
|
-
if (isSameActiveMenu) {
|
|
31
|
-
return undefined;
|
|
32
|
-
}
|
|
33
|
-
return {
|
|
34
|
-
action: TABLE_ACTION.DRAG_MENU_OPENED,
|
|
35
|
-
actionSubject: ACTION_SUBJECT.TABLE,
|
|
36
|
-
actionSubjectId: null,
|
|
37
|
-
eventType: EVENT_TYPE.TRACK,
|
|
38
|
-
attributes: {
|
|
39
|
-
inputMethod: trigger === 'keyboard' ? INPUT_METHOD.KEYBOARD : INPUT_METHOD.MOUSE,
|
|
40
|
-
direction
|
|
41
|
-
}
|
|
42
|
-
};
|
|
43
|
-
})(editorAnalyticsAPI)((state, dispatch) => {
|
|
44
|
-
if (dispatch) {
|
|
45
|
-
const {
|
|
46
|
-
activeTableMenu: currentActiveTableMenu
|
|
47
|
-
} = getPluginState(state);
|
|
48
|
-
const newTr = toggleActiveTableMenu({
|
|
49
|
-
type: direction,
|
|
50
|
-
index,
|
|
51
|
-
openedBy: trigger
|
|
52
|
-
}, currentActiveTableMenu)({
|
|
53
|
-
tr: state.tr
|
|
54
|
-
});
|
|
55
|
-
if (newTr) {
|
|
56
|
-
dispatch(newTr);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
return true;
|
|
60
|
-
});
|
|
61
|
-
};
|
|
62
23
|
export const emptyMultipleCellsWithAnalytics = editorAnalyticsAPI => (inputMethod, targetCellPosition) => withEditorAnalyticsAPI(({
|
|
63
24
|
selection
|
|
64
25
|
}) => {
|
|
@@ -98,7 +98,7 @@ const destroyFn = (editorView, editorAnalyticsAPI, isTableScalingEnabled, isTabl
|
|
|
98
98
|
tr
|
|
99
99
|
}) => {
|
|
100
100
|
var _api$userIntent;
|
|
101
|
-
closeActiveTableMenu()({
|
|
101
|
+
closeActiveTableMenu(api)({
|
|
102
102
|
tr
|
|
103
103
|
});
|
|
104
104
|
api === null || api === void 0 ? void 0 : (_api$userIntent = api.userIntent) === null || _api$userIntent === void 0 ? void 0 : _api$userIntent.commands.setCurrentUserIntent('dragging')({
|
|
@@ -44,7 +44,7 @@ const updateTargetCellPosition = ({
|
|
|
44
44
|
}
|
|
45
45
|
const hasTargetCellChanged = pluginState.targetCellPosition !== targetCellPosition;
|
|
46
46
|
const hasActiveTableMenu = pluginState.activeTableMenu != null && pluginState.activeTableMenu.type !== 'none';
|
|
47
|
-
const shouldCloseMenu = hasActiveTableMenu && (!tableNode || hasTargetCellChanged || !(tr.selection instanceof CellSelection));
|
|
47
|
+
const shouldCloseMenu = hasActiveTableMenu && tr.selectionSet && (!tableNode || hasTargetCellChanged || !(tr.selection instanceof CellSelection));
|
|
48
48
|
if (!hasTargetCellChanged && !shouldCloseMenu) {
|
|
49
49
|
return pluginState;
|
|
50
50
|
}
|
|
@@ -41,6 +41,9 @@ export const createPlugin = (dispatchAnalyticsEvent, dispatch, portalProviderAPI
|
|
|
41
41
|
isHeaderRowEnabled: !!pluginConfig.allowHeaderRow,
|
|
42
42
|
isHeaderColumnEnabled: false,
|
|
43
43
|
isTableScalingEnabled: isTableScalingEnabled,
|
|
44
|
+
activeTableMenu: {
|
|
45
|
+
type: 'none'
|
|
46
|
+
},
|
|
44
47
|
...defaultHoveredCell,
|
|
45
48
|
...defaultTableSelection,
|
|
46
49
|
getIntl
|
|
@@ -5,6 +5,7 @@ import { getDomRefFromSelection } from '@atlaskit/editor-common/get-dom-ref-from
|
|
|
5
5
|
import { useSharedPluginStateWithSelector } from '@atlaskit/editor-common/hooks';
|
|
6
6
|
import { ResizerBreakoutModeLabel } from '@atlaskit/editor-common/resizer';
|
|
7
7
|
import { akEditorFloatingPanelZIndex } from '@atlaskit/editor-shared-styles';
|
|
8
|
+
import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
|
|
8
9
|
import { editorExperiment } from '@atlaskit/tmp-editor-statsig/experiments';
|
|
9
10
|
import FloatingContextualButton from './FloatingContextualButton';
|
|
10
11
|
import FloatingContextualMenu from './FloatingContextualMenu';
|
|
@@ -12,6 +13,7 @@ import FloatingDragMenu from './FloatingDragMenu';
|
|
|
12
13
|
// Ignored via go/ees005
|
|
13
14
|
// eslint-disable-next-line import/no-named-as-default
|
|
14
15
|
import FloatingInsertButton from './FloatingInsertButton';
|
|
16
|
+
import FloatingTableMenu from './FloatingTableMenu';
|
|
15
17
|
import { FloatingToolbarLabel } from './FloatingToolbarLabel/FloatingToolbarLabel';
|
|
16
18
|
import { GlobalStylesWrapper } from './global-styles';
|
|
17
19
|
import { SizeSelector } from './SizeSelector';
|
|
@@ -138,7 +140,15 @@ const ContentComponentInternal = ({
|
|
|
138
140
|
isCommentEditor: options === null || options === void 0 ? void 0 : options.isCommentEditor,
|
|
139
141
|
api: api,
|
|
140
142
|
isDragMenuOpen: isDragMenuOpen
|
|
141
|
-
}), /*#__PURE__*/React.createElement(
|
|
143
|
+
}), expValEquals('platform_editor_table_menu_updates', 'isEnabled', true) ? /*#__PURE__*/React.createElement(FloatingTableMenu, {
|
|
144
|
+
api: api,
|
|
145
|
+
boundariesElement: popupsBoundariesElement,
|
|
146
|
+
editorView: editorView,
|
|
147
|
+
mountPoint: popupsMountPoint,
|
|
148
|
+
stickyHeaders: stickyHeader,
|
|
149
|
+
tableWrapper: tableWrapperTarget,
|
|
150
|
+
targetCellPosition: targetCellPosition
|
|
151
|
+
}) : /*#__PURE__*/React.createElement(FloatingDragMenu, {
|
|
142
152
|
editorView: editorView,
|
|
143
153
|
mountPoint: popupsMountPoint,
|
|
144
154
|
boundariesElement: popupsBoundariesElement,
|
|
@@ -76,7 +76,7 @@ const FloatingContextualButtonInner = /*#__PURE__*/React.memo(props => {
|
|
|
76
76
|
toggleActiveTableMenu({
|
|
77
77
|
type: 'cell',
|
|
78
78
|
openedBy: 'mouse'
|
|
79
|
-
}, currentActiveTableMenu)({
|
|
79
|
+
}, currentActiveTableMenu, api)({
|
|
80
80
|
tr
|
|
81
81
|
});
|
|
82
82
|
return tr;
|
|
@@ -115,7 +115,7 @@ const FloatingContextualButtonInner = /*#__PURE__*/React.memo(props => {
|
|
|
115
115
|
toggleActiveTableMenu({
|
|
116
116
|
type: 'cell',
|
|
117
117
|
openedBy: 'keyboard'
|
|
118
|
-
}, currentActiveTableMenu)({
|
|
118
|
+
}, currentActiveTableMenu, api)({
|
|
119
119
|
tr
|
|
120
120
|
});
|
|
121
121
|
return tr;
|
|
@@ -32,11 +32,11 @@ export const CellMenuPopup = ({
|
|
|
32
32
|
const {
|
|
33
33
|
isCellMenuOpenByKeyboard
|
|
34
34
|
} = getPluginState(editorView.state);
|
|
35
|
-
api === null || api === void 0 ? void 0 : api.core.actions.execute(closeActiveTableMenu());
|
|
35
|
+
api === null || api === void 0 ? void 0 : api.core.actions.execute(closeActiveTableMenu(api));
|
|
36
36
|
if (isCellMenuOpenByKeyboard) {
|
|
37
37
|
setFocusToCellMenu(false)(editorView.state, editorView.dispatch);
|
|
38
38
|
}
|
|
39
|
-
}, [api
|
|
39
|
+
}, [api, editorView]);
|
|
40
40
|
const isEventInsideCellMenu = useCallback(event => {
|
|
41
41
|
var _popupContentRef$curr;
|
|
42
42
|
const target = event.target;
|