@atlaskit/editor-plugin-table 5.7.10 → 5.8.0
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 +11 -0
- package/afm-cc/tsconfig.json +3 -0
- package/dist/cjs/commands/column-resize.js +155 -0
- package/dist/cjs/commands/go-to-next-cell.js +15 -0
- package/dist/cjs/commands/selection.js +16 -3
- package/dist/cjs/plugin.js +2 -1
- package/dist/cjs/pm-plugins/keymap.js +9 -0
- package/dist/cjs/pm-plugins/table-resizing/event-handlers.js +18 -7
- package/dist/cjs/pm-plugins/table-resizing/utils/index.js +6 -0
- package/dist/cjs/types.js +2 -0
- package/dist/cjs/ui/FloatingDragMenu/DragMenu.js +187 -17
- package/dist/cjs/ui/FloatingDragMenu/index.js +4 -2
- package/dist/cjs/ui/FloatingDragMenu/styles.js +19 -0
- package/dist/cjs/ui/consts.js +2 -1
- package/dist/es2019/commands/column-resize.js +149 -0
- package/dist/es2019/commands/go-to-next-cell.js +13 -0
- package/dist/es2019/commands/selection.js +16 -3
- package/dist/es2019/plugin.js +2 -1
- package/dist/es2019/pm-plugins/keymap.js +10 -1
- package/dist/es2019/pm-plugins/table-resizing/event-handlers.js +19 -8
- package/dist/es2019/pm-plugins/table-resizing/utils/index.js +1 -1
- package/dist/es2019/types.js +2 -0
- package/dist/es2019/ui/FloatingDragMenu/DragMenu.js +177 -7
- package/dist/es2019/ui/FloatingDragMenu/index.js +4 -2
- package/dist/es2019/ui/FloatingDragMenu/styles.js +62 -0
- package/dist/es2019/ui/consts.js +2 -1
- package/dist/esm/commands/column-resize.js +149 -0
- package/dist/esm/commands/go-to-next-cell.js +15 -0
- package/dist/esm/commands/selection.js +16 -3
- package/dist/esm/plugin.js +2 -1
- package/dist/esm/pm-plugins/keymap.js +10 -1
- package/dist/esm/pm-plugins/table-resizing/event-handlers.js +19 -8
- package/dist/esm/pm-plugins/table-resizing/utils/index.js +1 -1
- package/dist/esm/types.js +2 -0
- package/dist/esm/ui/FloatingDragMenu/DragMenu.js +177 -7
- package/dist/esm/ui/FloatingDragMenu/index.js +4 -2
- package/dist/esm/ui/FloatingDragMenu/styles.js +12 -0
- package/dist/esm/ui/consts.js +2 -1
- package/dist/types/commands/column-resize.d.ts +5 -0
- package/dist/types/pm-plugins/table-resizing/utils/index.d.ts +1 -1
- package/dist/types/types.d.ts +2 -0
- package/dist/types/ui/FloatingDragMenu/DragMenu.d.ts +1 -2
- package/dist/types/ui/FloatingDragMenu/index.d.ts +3 -2
- package/dist/types/ui/FloatingDragMenu/styles.d.ts +3 -0
- package/dist/types/ui/consts.d.ts +1 -1
- package/dist/types-ts4.5/commands/column-resize.d.ts +5 -0
- package/dist/types-ts4.5/pm-plugins/table-resizing/utils/index.d.ts +1 -1
- package/dist/types-ts4.5/types.d.ts +2 -0
- package/dist/types-ts4.5/ui/FloatingDragMenu/DragMenu.d.ts +1 -2
- package/dist/types-ts4.5/ui/FloatingDragMenu/index.d.ts +3 -2
- package/dist/types-ts4.5/ui/FloatingDragMenu/styles.d.ts +3 -0
- package/dist/types-ts4.5/ui/consts.d.ts +1 -1
- package/package.json +6 -2
- package/src/__tests__/unit/ui/FloatingDragMenu.tsx +295 -0
- package/src/commands/column-resize.ts +257 -0
- package/src/commands/go-to-next-cell.ts +21 -0
- package/src/commands/selection.ts +19 -2
- package/src/plugin.tsx +1 -0
- package/src/pm-plugins/keymap.ts +35 -0
- package/src/pm-plugins/table-resizing/event-handlers.ts +33 -21
- package/src/pm-plugins/table-resizing/utils/index.ts +1 -0
- package/src/types.ts +3 -0
- package/src/ui/FloatingDragMenu/DragMenu.tsx +226 -7
- package/src/ui/FloatingDragMenu/index.tsx +4 -1
- package/src/ui/FloatingDragMenu/styles.ts +71 -0
- package/src/ui/consts.ts +6 -1
- package/tsconfig.app.json +3 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# @atlaskit/editor-plugin-table
|
|
2
2
|
|
|
3
|
+
## 5.8.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#57215](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/57215) [`73841c209537`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/73841c209537) - [ux] ECA11Y-107: Add basic keyboard navigation for resize sliders
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- [#66092](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/66092) [`b436457c489f`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/b436457c489f) - [ux] ED-21241: Add new menu items to the drag handle menus
|
|
12
|
+
- Updated dependencies
|
|
13
|
+
|
|
3
14
|
## 5.7.10
|
|
4
15
|
|
|
5
16
|
### Patch Changes
|
package/afm-cc/tsconfig.json
CHANGED
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.initiateKeyboardColumnResizing = exports.changeColumnWidthByStep = exports.activateNextResizeArea = void 0;
|
|
7
|
+
var _styles = require("@atlaskit/editor-common/styles");
|
|
8
|
+
var _editorTables = require("@atlaskit/editor-tables");
|
|
9
|
+
var _utils = require("@atlaskit/editor-tables/src/utils");
|
|
10
|
+
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
11
|
+
var _pluginFactory = require("../pm-plugins/table-resizing/plugin-factory");
|
|
12
|
+
var _utils2 = require("../pm-plugins/table-resizing/utils");
|
|
13
|
+
var _transforms = require("../transforms");
|
|
14
|
+
var _utils3 = require("../utils");
|
|
15
|
+
var _index = require("./index");
|
|
16
|
+
var updateResizeHandleAndStatePosition = function updateResizeHandleAndStatePosition(rowIndex, columnIndex, nextResizeHandlePos) {
|
|
17
|
+
return function (state, dispatch) {
|
|
18
|
+
(0, _index.addResizeHandleDecorations)(rowIndex, columnIndex, true)(state, dispatch);
|
|
19
|
+
// Currently only 'right' position is used in showResizeHandleLine
|
|
20
|
+
(0, _index.showResizeHandleLine)({
|
|
21
|
+
left: 0,
|
|
22
|
+
right: columnIndex
|
|
23
|
+
})(state, dispatch);
|
|
24
|
+
(0, _pluginFactory.createCommand)({
|
|
25
|
+
type: 'SET_RESIZE_HANDLE_POSITION',
|
|
26
|
+
data: {
|
|
27
|
+
resizeHandlePos: nextResizeHandlePos
|
|
28
|
+
}
|
|
29
|
+
})(state, dispatch);
|
|
30
|
+
return false;
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
var initiateKeyboardColumnResizing = exports.initiateKeyboardColumnResizing = function initiateKeyboardColumnResizing(state, dispatch, view) {
|
|
34
|
+
if (!(0, _platformFeatureFlags.getBooleanFF)('platform.editor.a11y-column-resizing_emcvz')) {
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
var selection = state.selection;
|
|
38
|
+
var selectionRect = (0, _utils.isSelectionType)(selection, 'cell') ? (0, _utils.getSelectionRect)(selection) : (0, _utils.findCellRectClosestToPos)(selection.$from);
|
|
39
|
+
var cell = (0, _utils.findCellClosestToPos)(selection.$from);
|
|
40
|
+
if (selectionRect && cell && view) {
|
|
41
|
+
var cellAttrs = cell.node.attrs;
|
|
42
|
+
var width = (0, _utils2.currentColWidth)(view, cell.pos, cellAttrs);
|
|
43
|
+
updateResizeHandleAndStatePosition(selectionRect.top, selectionRect.right, cell.pos)(state, dispatch);
|
|
44
|
+
(0, _pluginFactory.createCommand)({
|
|
45
|
+
type: 'SET_DRAGGING',
|
|
46
|
+
data: {
|
|
47
|
+
dragging: {
|
|
48
|
+
startX: 0,
|
|
49
|
+
startWidth: width
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
})(state, dispatch);
|
|
53
|
+
return true;
|
|
54
|
+
}
|
|
55
|
+
return false;
|
|
56
|
+
};
|
|
57
|
+
var activateNextResizeArea = exports.activateNextResizeArea = function activateNextResizeArea(direction) {
|
|
58
|
+
return function (state, dispatch) {
|
|
59
|
+
if (!(0, _platformFeatureFlags.getBooleanFF)('platform.editor.a11y-column-resizing_emcvz')) {
|
|
60
|
+
return false;
|
|
61
|
+
}
|
|
62
|
+
var _ref = (0, _pluginFactory.getPluginState)(state) || {},
|
|
63
|
+
resizeHandlePos = _ref.resizeHandlePos,
|
|
64
|
+
dragging = _ref.dragging;
|
|
65
|
+
// If No resizing has initiated, skip to regular handler
|
|
66
|
+
if (!resizeHandlePos || !dragging) {
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
var selection = state.selection;
|
|
70
|
+
var cell = (0, _utils.findCellClosestToPos)(selection.$from);
|
|
71
|
+
if (!cell) {
|
|
72
|
+
// cursor position may be changed by mouse to be outside of table;
|
|
73
|
+
return false;
|
|
74
|
+
}
|
|
75
|
+
var $currentCell = state.doc.resolve(resizeHandlePos);
|
|
76
|
+
if (!$currentCell) {
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
79
|
+
var tableNode = $currentCell.node(-1);
|
|
80
|
+
var closestTable = (0, _utils.findTableClosestToPos)($currentCell);
|
|
81
|
+
var tableMap = _editorTables.TableMap.get(tableNode);
|
|
82
|
+
if (!tableNode || !closestTable || !tableMap) {
|
|
83
|
+
return false;
|
|
84
|
+
}
|
|
85
|
+
var currentCellRect = tableMap.findCell($currentCell.pos - $currentCell.start(-1));
|
|
86
|
+
var $nextCell = (0, _utils.nextCell)($currentCell, 'horiz', direction);
|
|
87
|
+
if ($nextCell) {
|
|
88
|
+
// we are somewhere in between the side columns of the table
|
|
89
|
+
var offset = $nextCell.pos - $nextCell.start(-1);
|
|
90
|
+
var rectForNextCell = tableMap.findCell(offset);
|
|
91
|
+
updateResizeHandleAndStatePosition(rectForNextCell.top, rectForNextCell.right, $nextCell.pos)(state, dispatch);
|
|
92
|
+
} else {
|
|
93
|
+
// current position is in the one of the side columns of the table(left or right)
|
|
94
|
+
if (currentCellRect.left === 0) {
|
|
95
|
+
var lastCellInCurrentRow = tableMap.positionAt(currentCellRect.top, tableMap.width - 1, tableNode) + closestTable.start;
|
|
96
|
+
var $lastCell = state.doc.resolve(lastCellInCurrentRow);
|
|
97
|
+
updateResizeHandleAndStatePosition(currentCellRect.top, tableMap.width, $lastCell.pos)(state, dispatch);
|
|
98
|
+
} else if (tableMap.width === currentCellRect.right) {
|
|
99
|
+
var firsCellInCurrentRow = tableMap.positionAt(currentCellRect.top, 0, tableNode) + closestTable.start;
|
|
100
|
+
var _$nextCell = state.doc.resolve(firsCellInCurrentRow);
|
|
101
|
+
updateResizeHandleAndStatePosition(currentCellRect.top, 1, _$nextCell.pos)(state, dispatch);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
return true;
|
|
105
|
+
};
|
|
106
|
+
};
|
|
107
|
+
var changeColumnWidthByStep = exports.changeColumnWidthByStep = function changeColumnWidthByStep(stepSize, getEditorContainerWidth) {
|
|
108
|
+
return function (state, dispatch, view) {
|
|
109
|
+
if (!(0, _platformFeatureFlags.getBooleanFF)('platform.editor.a11y-column-resizing_emcvz')) {
|
|
110
|
+
return false;
|
|
111
|
+
}
|
|
112
|
+
var _getTableResizingPlug = (0, _pluginFactory.getPluginState)(state),
|
|
113
|
+
resizeHandlePos = _getTableResizingPlug.resizeHandlePos,
|
|
114
|
+
dragging = _getTableResizingPlug.dragging;
|
|
115
|
+
if (!view || !resizeHandlePos || !dragging) {
|
|
116
|
+
return false;
|
|
117
|
+
}
|
|
118
|
+
var $cell = state.doc.resolve(resizeHandlePos);
|
|
119
|
+
var tableStartPosition = $cell.start(-1);
|
|
120
|
+
var originalTable = $cell.node(-1);
|
|
121
|
+
var map = _editorTables.TableMap.get(originalTable);
|
|
122
|
+
var domAtPos = view.domAtPos.bind(view);
|
|
123
|
+
var colIndex = map.colCount($cell.pos - tableStartPosition) + ($cell.nodeAfter ? $cell.nodeAfter.attrs.colspan : 1) - 1;
|
|
124
|
+
var dom = domAtPos(tableStartPosition).node;
|
|
125
|
+
if (dom && dom.nodeName !== 'TABLE') {
|
|
126
|
+
dom = dom.closest('table');
|
|
127
|
+
}
|
|
128
|
+
var maxSize = (0, _utils2.getTableMaxWidth)({
|
|
129
|
+
table: originalTable,
|
|
130
|
+
tableStart: tableStartPosition,
|
|
131
|
+
state: state,
|
|
132
|
+
layout: originalTable.attrs.layout,
|
|
133
|
+
getEditorContainerWidth: getEditorContainerWidth
|
|
134
|
+
});
|
|
135
|
+
var initialResizeState = (0, _utils2.getResizeState)({
|
|
136
|
+
minWidth: _styles.tableCellMinWidth,
|
|
137
|
+
maxSize: maxSize,
|
|
138
|
+
table: originalTable,
|
|
139
|
+
tableRef: dom,
|
|
140
|
+
start: tableStartPosition,
|
|
141
|
+
domAtPos: domAtPos
|
|
142
|
+
});
|
|
143
|
+
(0, _utils2.updateControls)()(state);
|
|
144
|
+
var selectionRect = (0, _utils.getSelectionRect)(state.selection);
|
|
145
|
+
var selectedColumns = selectionRect ? (0, _utils3.getSelectedColumnIndexes)(selectionRect) : [];
|
|
146
|
+
// only selected (or selected - 1) columns should be distributed
|
|
147
|
+
var resizingSelectedColumns = selectedColumns.indexOf(colIndex) > -1 || selectedColumns.indexOf(colIndex + 1) > -1;
|
|
148
|
+
var newResizeState = (0, _utils2.resizeColumn)(initialResizeState, colIndex, stepSize, dom, resizingSelectedColumns ? selectedColumns : undefined);
|
|
149
|
+
var tr = (0, _transforms.updateColumnWidths)(newResizeState, originalTable, tableStartPosition)(state.tr);
|
|
150
|
+
if (dispatch) {
|
|
151
|
+
dispatch(tr);
|
|
152
|
+
}
|
|
153
|
+
return true;
|
|
154
|
+
};
|
|
155
|
+
};
|
|
@@ -8,7 +8,10 @@ var _analytics = require("@atlaskit/editor-common/analytics");
|
|
|
8
8
|
var _utils = require("@atlaskit/editor-prosemirror/utils");
|
|
9
9
|
var _tableMap = require("@atlaskit/editor-tables/table-map");
|
|
10
10
|
var _utils2 = require("@atlaskit/editor-tables/utils");
|
|
11
|
+
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
11
12
|
var _commandsWithAnalytics = require("../commands-with-analytics");
|
|
13
|
+
var _pluginFactory = require("../pm-plugins/table-resizing/plugin-factory");
|
|
14
|
+
var _hover = require("./hover");
|
|
12
15
|
// #region Constants
|
|
13
16
|
|
|
14
17
|
var TAB_FORWARD_DIRECTION = 1;
|
|
@@ -20,6 +23,18 @@ var goToNextCell = exports.goToNextCell = function goToNextCell(editorAnalyticsA
|
|
|
20
23
|
if (!table) {
|
|
21
24
|
return false;
|
|
22
25
|
}
|
|
26
|
+
if ((0, _platformFeatureFlags.getBooleanFF)('platform.editor.a11y-column-resizing_emcvz')) {
|
|
27
|
+
var _getResizePluginState;
|
|
28
|
+
var isColumnResizing = !!((_getResizePluginState = (0, _pluginFactory.getPluginState)(state)) !== null && _getResizePluginState !== void 0 && _getResizePluginState.dragging);
|
|
29
|
+
if (isColumnResizing) {
|
|
30
|
+
(0, _pluginFactory.createCommand)({
|
|
31
|
+
type: 'STOP_RESIZING'
|
|
32
|
+
}, function (originalTr) {
|
|
33
|
+
return (state.tr || originalTr).setMeta('scrollIntoView', false);
|
|
34
|
+
})(state, dispatch);
|
|
35
|
+
(0, _hover.hideResizeHandleLine)()(state, dispatch);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
23
38
|
var map = _tableMap.TableMap.get(table.node);
|
|
24
39
|
var _state$schema$nodes = state.schema.nodes,
|
|
25
40
|
tableCell = _state$schema$nodes.tableCell,
|
|
@@ -9,7 +9,9 @@ var _state = require("@atlaskit/editor-prosemirror/state");
|
|
|
9
9
|
var _cellSelection = require("@atlaskit/editor-tables/cell-selection");
|
|
10
10
|
var _tableMap = require("@atlaskit/editor-tables/table-map");
|
|
11
11
|
var _utils = require("@atlaskit/editor-tables/utils");
|
|
12
|
+
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
12
13
|
var _misc = require("../commands/misc");
|
|
14
|
+
var _pluginFactory = require("../pm-plugins/table-resizing/plugin-factory");
|
|
13
15
|
var _toolbar = require("../toolbar");
|
|
14
16
|
var TableSelectionDirection = exports.TableSelectionDirection = /*#__PURE__*/function (TableSelectionDirection) {
|
|
15
17
|
TableSelectionDirection["TopToBottom"] = "TopToBottom";
|
|
@@ -198,9 +200,14 @@ var arrowLeftFromText = function arrowLeftFromText(editorSelectionAPI) {
|
|
|
198
200
|
var table = (0, _utils.findTable)(selection);
|
|
199
201
|
if (table) {
|
|
200
202
|
var $from = selection.$from;
|
|
203
|
+
var isColumnResizing = false;
|
|
204
|
+
if ((0, _platformFeatureFlags.getBooleanFF)('platform.editor.a11y-column-resizing_emcvz')) {
|
|
205
|
+
var columResizePluginState = (0, _pluginFactory.getPluginState)(state) || {};
|
|
206
|
+
isColumnResizing = Boolean(columResizePluginState === null || columResizePluginState === void 0 ? void 0 : columResizePluginState.dragging);
|
|
207
|
+
}
|
|
201
208
|
if (isSelectionAtStartOfTable($from, selection) && $from.parent.type.name === 'paragraph' && $from.depth === table.depth + 3 &&
|
|
202
209
|
// + 3 for: row, cell & paragraph nodes
|
|
203
|
-
editorSelectionAPI) {
|
|
210
|
+
editorSelectionAPI && !isColumnResizing) {
|
|
204
211
|
var selectionState = editorSelectionAPI.sharedState.currentState() || {};
|
|
205
212
|
if ((selectionState === null || selectionState === void 0 ? void 0 : selectionState.selectionRelativeToNode) === _selection.RelativeSelectionPos.Before) {
|
|
206
213
|
// we have a text selection at start of first table cell, directly inside a top level paragraph,
|
|
@@ -227,8 +234,14 @@ var arrowRightFromText = function arrowRightFromText(editorSelectionAPI) {
|
|
|
227
234
|
var table = (0, _utils.findTable)(selection);
|
|
228
235
|
if (table) {
|
|
229
236
|
var $to = selection.$to;
|
|
230
|
-
|
|
231
|
-
) {
|
|
237
|
+
var isColumnResizing = false;
|
|
238
|
+
if ((0, _platformFeatureFlags.getBooleanFF)('platform.editor.a11y-column-resizing_emcvz')) {
|
|
239
|
+
var columResizePluginState = (0, _pluginFactory.getPluginState)(state) || {};
|
|
240
|
+
isColumnResizing = Boolean(columResizePluginState === null || columResizePluginState === void 0 ? void 0 : columResizePluginState.dragging);
|
|
241
|
+
}
|
|
242
|
+
if (isSelectionAtEndOfTable($to, selection) && $to.parent.type.name === 'paragraph' && $to.depth === table.depth + 3 &&
|
|
243
|
+
// + 3 for: row, cell & paragraph nodes
|
|
244
|
+
!isColumnResizing) {
|
|
232
245
|
// we have a text selection at end of last table cell, directly inside a top level paragraph,
|
|
233
246
|
// and want to set a full table cell selection
|
|
234
247
|
return selectFullTable(editorSelectionAPI)({
|
package/dist/cjs/plugin.js
CHANGED
|
@@ -362,7 +362,8 @@ var tablesPlugin = function tablesPlugin(_ref) {
|
|
|
362
362
|
canDrag: dragAndDropState === null || dragAndDropState === void 0 ? void 0 : dragAndDropState.canDrag,
|
|
363
363
|
getEditorContainerWidth: defaultGetEditorContainerWidth,
|
|
364
364
|
editorAnalyticsAPI: editorAnalyticsAPI,
|
|
365
|
-
stickyHeaders: stickyHeader
|
|
365
|
+
stickyHeaders: stickyHeader,
|
|
366
|
+
pluginConfig: pluginConfig
|
|
366
367
|
}), allowControls && !isDragAndDropEnabled && !isResizing && /*#__PURE__*/_react.default.createElement(_FloatingDeleteButton.default, {
|
|
367
368
|
editorView: editorView,
|
|
368
369
|
selection: editorView.state.selection,
|
|
@@ -9,8 +9,10 @@ var _analytics = require("@atlaskit/editor-common/analytics");
|
|
|
9
9
|
var _keymaps = require("@atlaskit/editor-common/keymaps");
|
|
10
10
|
var _commands = require("@atlaskit/editor-prosemirror/commands");
|
|
11
11
|
var _keymap = require("@atlaskit/editor-prosemirror/keymap");
|
|
12
|
+
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
12
13
|
var _commands2 = require("../commands");
|
|
13
14
|
var _commandsWithAnalytics = require("../commands-with-analytics");
|
|
15
|
+
var _columnResize = require("../commands/column-resize");
|
|
14
16
|
var _insert = require("../commands/insert");
|
|
15
17
|
var _commandsWithAnalytics2 = require("../pm-plugins/drag-and-drop/commands-with-analytics");
|
|
16
18
|
var _analytics2 = require("../utils/analytics");
|
|
@@ -49,6 +51,13 @@ function keymapPlugin(getEditorContainerWidth, editorAnalyticsAPI, dragAndDropEn
|
|
|
49
51
|
(0, _keymaps.bindKeymapWithCommand)(_keymaps.deleteColumn.common, (0, _commandsWithAnalytics.deleteSelectedRowsOrColumnsWithAnalyticsViaShortcut)(editorAnalyticsAPI), list);
|
|
50
52
|
(0, _keymaps.bindKeymapWithCommand)(_keymaps.deleteRow.common, (0, _commandsWithAnalytics.deleteSelectedRowsOrColumnsWithAnalyticsViaShortcut)(editorAnalyticsAPI), list);
|
|
51
53
|
}
|
|
54
|
+
if ((0, _platformFeatureFlags.getBooleanFF)('platform.editor.a11y-column-resizing_emcvz')) {
|
|
55
|
+
(0, _keymaps.bindKeymapWithCommand)(_keymaps.startColumnResizing.common, _columnResize.initiateKeyboardColumnResizing, list);
|
|
56
|
+
(0, _keymaps.bindKeymapWithCommand)(_keymaps.moveRight.common, (0, _columnResize.activateNextResizeArea)(1), list);
|
|
57
|
+
(0, _keymaps.bindKeymapWithCommand)(_keymaps.moveLeft.common, (0, _columnResize.activateNextResizeArea)(-1), list);
|
|
58
|
+
(0, _keymaps.bindKeymapWithCommand)(_keymaps.decreaseMediaSize.common, (0, _columnResize.changeColumnWidthByStep)(-10, getEditorContainerWidth), list);
|
|
59
|
+
(0, _keymaps.bindKeymapWithCommand)(_keymaps.increaseMediaSize.common, (0, _columnResize.changeColumnWidthByStep)(10, getEditorContainerWidth), list);
|
|
60
|
+
}
|
|
52
61
|
return (0, _keymap.keymap)(list);
|
|
53
62
|
}
|
|
54
63
|
var _default = exports.default = keymapPlugin;
|
|
@@ -41,13 +41,24 @@ var handleMouseDown = exports.handleMouseDown = function handleMouseDown(view, e
|
|
|
41
41
|
if (dom && dom.nodeName !== 'TABLE') {
|
|
42
42
|
dom = dom.closest('table');
|
|
43
43
|
}
|
|
44
|
-
var
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
44
|
+
var maxSize;
|
|
45
|
+
if (!(0, _platformFeatureFlags.getBooleanFF)('platform.editor.a11y-column-resizing_emcvz')) {
|
|
46
|
+
var containerWidth = getEditorContainerWidth();
|
|
47
|
+
var parentWidth = (0, _nodeWidth.getParentNodeWidth)(start, state, containerWidth);
|
|
48
|
+
maxSize = (0, _platformFeatureFlags.getBooleanFF)('platform.editor.custom-table-width') ? parentWidth ||
|
|
49
|
+
// its safe to reference table width from node as this will not have changed
|
|
50
|
+
originalTable.attrs.width || (0, _utils3.getLayoutSize)(dom.getAttribute('data-layout'), containerWidth.width, {}) : parentWidth || (0, _utils3.getLayoutSize)(dom.getAttribute('data-layout'), containerWidth.width, {});
|
|
51
|
+
if (originalTable.attrs.isNumberColumnEnabled) {
|
|
52
|
+
maxSize -= _editorSharedStyles.akEditorTableNumberColumnWidth;
|
|
53
|
+
}
|
|
54
|
+
} else {
|
|
55
|
+
maxSize = (0, _utils3.getTableMaxWidth)({
|
|
56
|
+
table: originalTable,
|
|
57
|
+
tableStart: start,
|
|
58
|
+
state: state,
|
|
59
|
+
layout: originalTable.attrs.layout,
|
|
60
|
+
getEditorContainerWidth: getEditorContainerWidth
|
|
61
|
+
});
|
|
51
62
|
}
|
|
52
63
|
var resizeState = (0, _utils3.getResizeState)({
|
|
53
64
|
minWidth: _styles.tableCellMinWidth,
|
|
@@ -123,6 +123,12 @@ Object.defineProperty(exports, "getResizeState", {
|
|
|
123
123
|
return _resizeState.getResizeState;
|
|
124
124
|
}
|
|
125
125
|
});
|
|
126
|
+
Object.defineProperty(exports, "getTableMaxWidth", {
|
|
127
|
+
enumerable: true,
|
|
128
|
+
get: function get() {
|
|
129
|
+
return _misc.getTableMaxWidth;
|
|
130
|
+
}
|
|
131
|
+
});
|
|
126
132
|
Object.defineProperty(exports, "getTotalWidth", {
|
|
127
133
|
enumerable: true,
|
|
128
134
|
get: function get() {
|
package/dist/cjs/types.js
CHANGED
|
@@ -105,6 +105,8 @@ var TableCssClassName = exports.TableCssClassName = _objectSpread(_objectSpread(
|
|
|
105
105
|
DRAG_HANDLE_DISABLED: "".concat(_adfSchema.tablePrefixSelector, "-drag-handle-disabled"),
|
|
106
106
|
/** minimised handle class */
|
|
107
107
|
DRAG_HANDLE_MINIMISED: "".concat(_adfSchema.tablePrefixSelector, "-drag-handle-minimised"),
|
|
108
|
+
DRAG_SUBMENU: "".concat(_adfSchema.tablePrefixSelector, "-drag-submenu"),
|
|
109
|
+
DRAG_SUBMENU_ICON: "".concat(_adfSchema.tablePrefixSelector, "-drag-submenu-icon"),
|
|
108
110
|
/** Other classes */
|
|
109
111
|
NUMBERED_COLUMN: "".concat(_adfSchema.tablePrefixSelector, "-numbered-column"),
|
|
110
112
|
NUMBERED_COLUMN_BUTTON: "".concat(_adfSchema.tablePrefixSelector, "-numbered-column__button"),
|
|
@@ -5,18 +5,33 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.DragMenu = void 0;
|
|
8
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
8
9
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
9
|
-
var _react = require("
|
|
10
|
+
var _react = require("react");
|
|
11
|
+
var _react2 = require("@emotion/react");
|
|
12
|
+
var _analytics = require("@atlaskit/editor-common/analytics");
|
|
13
|
+
var _styles = require("@atlaskit/editor-common/styles");
|
|
14
|
+
var _uiColor = require("@atlaskit/editor-common/ui-color");
|
|
10
15
|
var _uiMenu = require("@atlaskit/editor-common/ui-menu");
|
|
16
|
+
var _utils = require("@atlaskit/editor-common/utils");
|
|
17
|
+
var _editorPalette = require("@atlaskit/editor-palette");
|
|
11
18
|
var _shortcut = require("@atlaskit/editor-shared-styles/shortcut");
|
|
12
19
|
var _tableMap = require("@atlaskit/editor-tables/table-map");
|
|
13
|
-
var
|
|
20
|
+
var _utils2 = require("@atlaskit/editor-tables/utils");
|
|
21
|
+
var _backgroundColor = _interopRequireDefault(require("@atlaskit/icon/glyph/editor/background-color"));
|
|
22
|
+
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
23
|
+
var _toggle = _interopRequireDefault(require("@atlaskit/toggle"));
|
|
14
24
|
var _commands = require("../../commands");
|
|
25
|
+
var _commandsWithAnalytics = require("../../commands-with-analytics");
|
|
15
26
|
var _commands2 = require("../../pm-plugins/drag-and-drop/commands");
|
|
16
27
|
var _pluginFactory = require("../../pm-plugins/drag-and-drop/plugin-factory");
|
|
17
|
-
var
|
|
28
|
+
var _pluginFactory2 = require("../../pm-plugins/plugin-factory");
|
|
29
|
+
var _types = require("../../types");
|
|
30
|
+
var _utils3 = require("../../utils");
|
|
18
31
|
var _dragMenu = require("../../utils/drag-menu");
|
|
19
32
|
var _consts = require("../consts");
|
|
33
|
+
var _styles2 = require("./styles");
|
|
34
|
+
/* eslint-disable @atlaskit/design-system/prefer-primitives */
|
|
20
35
|
/** @jsx jsx */
|
|
21
36
|
|
|
22
37
|
var groupedDragMenuConfig = [['add_row_above', 'add_row_below', 'add_column_left', 'add_column_right', 'distribute_columns', 'clear_cells', 'delete_row', 'delete_column'], ['move_column_left', 'move_column_right', 'move_row_up', 'move_row_down'], ['sort_column_asc', 'sort_column_desc']];
|
|
@@ -39,15 +54,14 @@ var convertToDropdownItems = function convertToDropdownItems(dragMenuConfig) {
|
|
|
39
54
|
name: item.id
|
|
40
55
|
},
|
|
41
56
|
isDisabled: item.disabled,
|
|
42
|
-
elemBefore: item.icon ? (0,
|
|
57
|
+
elemBefore: item.icon ? (0, _react2.jsx)("div", {
|
|
43
58
|
style: {
|
|
44
|
-
marginRight: "var(--ds-space-negative-075, -6px)",
|
|
45
59
|
display: 'flex'
|
|
46
60
|
}
|
|
47
|
-
}, (0,
|
|
61
|
+
}, (0, _react2.jsx)(item.icon, {
|
|
48
62
|
label: item.title
|
|
49
63
|
})) : undefined,
|
|
50
|
-
elemAfter: item.keymap ? (0,
|
|
64
|
+
elemAfter: item.keymap ? (0, _react2.jsx)("div", {
|
|
51
65
|
css: _shortcut.shortcutStyle
|
|
52
66
|
}, item.keymap) : undefined
|
|
53
67
|
});
|
|
@@ -65,6 +79,7 @@ var convertToDropdownItems = function convertToDropdownItems(dragMenuConfig) {
|
|
|
65
79
|
};
|
|
66
80
|
};
|
|
67
81
|
var DragMenu = exports.DragMenu = function DragMenu(_ref) {
|
|
82
|
+
var _pluginConfig$allowBa;
|
|
68
83
|
var _ref$direction = _ref.direction,
|
|
69
84
|
direction = _ref$direction === void 0 ? 'row' : _ref$direction,
|
|
70
85
|
index = _ref.index,
|
|
@@ -77,23 +92,136 @@ var DragMenu = exports.DragMenu = function DragMenu(_ref) {
|
|
|
77
92
|
targetCellPosition = _ref.targetCellPosition,
|
|
78
93
|
getEditorContainerWidth = _ref.getEditorContainerWidth,
|
|
79
94
|
canDrag = _ref.canDrag,
|
|
80
|
-
editorAnalyticsAPI = _ref.editorAnalyticsAPI
|
|
81
|
-
|
|
95
|
+
editorAnalyticsAPI = _ref.editorAnalyticsAPI,
|
|
96
|
+
pluginConfig = _ref.pluginConfig;
|
|
82
97
|
var state = editorView.state,
|
|
83
98
|
dispatch = editorView.dispatch;
|
|
84
99
|
var selection = state.selection;
|
|
85
|
-
var
|
|
86
|
-
var
|
|
100
|
+
var tableMap = tableNode ? _tableMap.TableMap.get(tableNode) : undefined;
|
|
101
|
+
var _useState = (0, _react.useState)(false),
|
|
102
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
103
|
+
isSubmenuOpen = _useState2[0],
|
|
104
|
+
setIsSubmenuOpen = _useState2[1];
|
|
105
|
+
var selectionRect = (0, _utils2.isSelectionType)(selection, 'cell') ? (0, _utils2.getSelectionRect)(selection) : (0, _utils2.findCellRectClosestToPos)(selection.$from);
|
|
106
|
+
var hasMergedCells = direction === 'row' ? _utils3.hasMergedCellsInRow : _utils3.hasMergedCellsInColumn;
|
|
87
107
|
var shouldMoveDisabled = index !== undefined && hasMergedCells(index)(selection);
|
|
88
|
-
var hasMergedCellsInTable = (0,
|
|
108
|
+
var hasMergedCellsInTable = (0, _utils3.getMergedCellsPositions)(state.tr).length > 0;
|
|
109
|
+
var allowBackgroundColor = (_pluginConfig$allowBa = pluginConfig === null || pluginConfig === void 0 ? void 0 : pluginConfig.allowBackgroundColor) !== null && _pluginConfig$allowBa !== void 0 ? _pluginConfig$allowBa : false;
|
|
89
110
|
var dragMenuConfig = (0, _dragMenu.getDragMenuConfig)(direction, getEditorContainerWidth, !!canDrag && !shouldMoveDisabled, hasMergedCellsInTable, editorView, tableMap, index, targetCellPosition, selectionRect, editorAnalyticsAPI);
|
|
90
111
|
var _convertToDropdownIte = convertToDropdownItems(dragMenuConfig),
|
|
91
112
|
menuItems = _convertToDropdownIte.menuItems,
|
|
92
113
|
menuCallback = _convertToDropdownIte.menuCallback;
|
|
114
|
+
var handleSubMenuRef = function handleSubMenuRef(ref) {
|
|
115
|
+
var parent = (0, _utils.closestElement)(editorView.dom, '.fabric-editor-popup-scroll-parent');
|
|
116
|
+
if (!(parent && ref)) {
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
var boundariesRect = parent.getBoundingClientRect();
|
|
120
|
+
var rect = ref.getBoundingClientRect();
|
|
121
|
+
if (rect.left + rect.width > boundariesRect.width) {
|
|
122
|
+
ref.style.left = "-".concat(rect.width, "px");
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
var setColor = function setColor(color) {
|
|
126
|
+
var _getTablePluginState = (0, _pluginFactory2.getPluginState)(editorView.state),
|
|
127
|
+
targetCellPosition = _getTablePluginState.targetCellPosition;
|
|
128
|
+
var state = editorView.state,
|
|
129
|
+
dispatch = editorView.dispatch;
|
|
130
|
+
(0, _commandsWithAnalytics.setColorWithAnalytics)(editorAnalyticsAPI)(_analytics.INPUT_METHOD.CONTEXT_MENU, color, targetCellPosition)(state, dispatch);
|
|
131
|
+
closeMenu();
|
|
132
|
+
setIsSubmenuOpen(false);
|
|
133
|
+
};
|
|
134
|
+
var createBackgroundColorMenuItem = function createBackgroundColorMenuItem() {
|
|
135
|
+
var _node$attrs;
|
|
136
|
+
var _getTablePluginState2 = (0, _pluginFactory2.getPluginState)(editorView.state),
|
|
137
|
+
targetCellPosition = _getTablePluginState2.targetCellPosition;
|
|
138
|
+
var node = targetCellPosition ? state.doc.nodeAt(targetCellPosition) : null;
|
|
139
|
+
var background = (0, _editorPalette.hexToEditorBackgroundPaletteColor)((node === null || node === void 0 || (_node$attrs = node.attrs) === null || _node$attrs === void 0 ? void 0 : _node$attrs.background) || '#ffffff');
|
|
140
|
+
return {
|
|
141
|
+
content: 'Background color',
|
|
142
|
+
value: {
|
|
143
|
+
name: 'background'
|
|
144
|
+
},
|
|
145
|
+
elemBefore: (0, _react2.jsx)(_backgroundColor.default, {
|
|
146
|
+
label: 'background color',
|
|
147
|
+
size: "medium"
|
|
148
|
+
}),
|
|
149
|
+
elemAfter: (0, _react2.jsx)("div", {
|
|
150
|
+
className: _styles.DropdownMenuSharedCssClassName.SUBMENU,
|
|
151
|
+
css: _styles2.dragMenuBackgroundColorStyles
|
|
152
|
+
}, (0, _react2.jsx)("div", {
|
|
153
|
+
css: (0, _styles2.cellColourPreviewStyles)(background),
|
|
154
|
+
className: _types.TableCssClassName.DRAG_SUBMENU_ICON
|
|
155
|
+
}), isSubmenuOpen && (0, _react2.jsx)("div", {
|
|
156
|
+
className: _types.TableCssClassName.DRAG_SUBMENU,
|
|
157
|
+
ref: handleSubMenuRef
|
|
158
|
+
}, (0, _react2.jsx)(_uiColor.ColorPalette, {
|
|
159
|
+
cols: 7,
|
|
160
|
+
onClick: setColor,
|
|
161
|
+
selectedColor: background,
|
|
162
|
+
paletteOptions: {
|
|
163
|
+
palette: _uiColor.cellBackgroundColorPalette,
|
|
164
|
+
paletteColorTooltipMessages: _uiColor.backgroundPaletteTooltipMessages,
|
|
165
|
+
hexToPaletteColor: _editorPalette.hexToEditorBackgroundPaletteColor
|
|
166
|
+
}
|
|
167
|
+
})))
|
|
168
|
+
};
|
|
169
|
+
};
|
|
170
|
+
var toggleHeaderColumn = function toggleHeaderColumn() {
|
|
171
|
+
(0, _commandsWithAnalytics.toggleHeaderColumnWithAnalytics)(editorAnalyticsAPI)(state, dispatch);
|
|
172
|
+
};
|
|
173
|
+
var toggleHeaderRow = function toggleHeaderRow() {
|
|
174
|
+
(0, _commandsWithAnalytics.toggleHeaderRowWithAnalytics)(editorAnalyticsAPI)(state, dispatch);
|
|
175
|
+
};
|
|
176
|
+
var toggleRowNumbers = function toggleRowNumbers() {
|
|
177
|
+
(0, _commandsWithAnalytics.toggleNumberColumnWithAnalytics)(editorAnalyticsAPI)(state, dispatch);
|
|
178
|
+
};
|
|
179
|
+
var createhHeaderRowColumnMenuItem = function createhHeaderRowColumnMenuItem(direction) {
|
|
180
|
+
return direction === 'column' ? {
|
|
181
|
+
content: 'Header column',
|
|
182
|
+
value: {
|
|
183
|
+
name: 'header_column'
|
|
184
|
+
},
|
|
185
|
+
elemAfter: (0, _react2.jsx)("div", {
|
|
186
|
+
css: _styles2.toggleStyles
|
|
187
|
+
}, (0, _react2.jsx)(_toggle.default, {
|
|
188
|
+
id: "toggle-header-column",
|
|
189
|
+
onChange: toggleHeaderColumn,
|
|
190
|
+
isChecked: (0, _utils3.checkIfHeaderColumnEnabled)(selection)
|
|
191
|
+
}))
|
|
192
|
+
} : {
|
|
193
|
+
content: 'Header row',
|
|
194
|
+
value: {
|
|
195
|
+
name: 'header_row'
|
|
196
|
+
},
|
|
197
|
+
elemAfter: (0, _react2.jsx)("div", {
|
|
198
|
+
css: _styles2.toggleStyles
|
|
199
|
+
}, (0, _react2.jsx)(_toggle.default, {
|
|
200
|
+
id: "toggle-header-row",
|
|
201
|
+
onChange: toggleHeaderRow,
|
|
202
|
+
isChecked: (0, _utils3.checkIfHeaderRowEnabled)(selection)
|
|
203
|
+
}))
|
|
204
|
+
};
|
|
205
|
+
};
|
|
206
|
+
var createRowNumbersMenuItem = function createRowNumbersMenuItem() {
|
|
207
|
+
return {
|
|
208
|
+
content: 'Row numbers',
|
|
209
|
+
value: {
|
|
210
|
+
name: 'row_numbers'
|
|
211
|
+
},
|
|
212
|
+
elemAfter: (0, _react2.jsx)("div", {
|
|
213
|
+
css: _styles2.toggleStyles
|
|
214
|
+
}, (0, _react2.jsx)(_toggle.default, {
|
|
215
|
+
id: "toggle-row-numbers",
|
|
216
|
+
onChange: toggleRowNumbers,
|
|
217
|
+
isChecked: (0, _utils3.checkIfNumberColumnEnabled)(selection)
|
|
218
|
+
}))
|
|
219
|
+
};
|
|
220
|
+
};
|
|
93
221
|
|
|
94
222
|
/**
|
|
95
223
|
* This function is to check if the menu should be closed or not.
|
|
96
|
-
* As when continously clicking on
|
|
224
|
+
* As when continously clicking on tyle handle on different rows/columns,
|
|
97
225
|
* should open the menu corresponding to the position of the drag handle.
|
|
98
226
|
* @returns true when the menu should be closed, false otherwise
|
|
99
227
|
*/
|
|
@@ -123,18 +251,42 @@ var DragMenu = exports.DragMenu = function DragMenu(_ref) {
|
|
|
123
251
|
var _menuCallback$item$va;
|
|
124
252
|
var item = _ref2.item;
|
|
125
253
|
(_menuCallback$item$va = menuCallback[item.value.name]) === null || _menuCallback$item$va === void 0 || _menuCallback$item$va.call(menuCallback, state, dispatch);
|
|
126
|
-
|
|
254
|
+
switch (item.value.name) {
|
|
255
|
+
case 'header_column':
|
|
256
|
+
toggleHeaderColumn();
|
|
257
|
+
break;
|
|
258
|
+
case 'header_row':
|
|
259
|
+
toggleHeaderRow();
|
|
260
|
+
break;
|
|
261
|
+
case 'row_numbers':
|
|
262
|
+
toggleRowNumbers();
|
|
263
|
+
break;
|
|
264
|
+
default:
|
|
265
|
+
break;
|
|
266
|
+
}
|
|
267
|
+
if (['header_column', 'header_row', 'row_numbers', 'background'].indexOf(item.value.name) <= -1) {
|
|
268
|
+
closeMenu();
|
|
269
|
+
}
|
|
127
270
|
};
|
|
128
271
|
var handleItemMouseEnter = function handleItemMouseEnter(_ref3) {
|
|
129
272
|
var _item$value$name;
|
|
130
273
|
var item = _ref3.item;
|
|
131
|
-
if (!selectionRect
|
|
274
|
+
if (!selectionRect) {
|
|
132
275
|
return;
|
|
133
276
|
}
|
|
134
|
-
(item.value.name === '
|
|
277
|
+
if (item.value.name === 'background' && !isSubmenuOpen) {
|
|
278
|
+
setIsSubmenuOpen(true);
|
|
279
|
+
}
|
|
280
|
+
if (!((_item$value$name = item.value.name) !== null && _item$value$name !== void 0 && _item$value$name.startsWith('delete'))) {
|
|
281
|
+
return;
|
|
282
|
+
}
|
|
283
|
+
(item.value.name === 'delete_column' ? (0, _commands.hoverColumns)((0, _utils3.getSelectedColumnIndexes)(selectionRect), true) : (0, _commands.hoverRows)((0, _utils3.getSelectedRowIndexes)(selectionRect), true))(state, dispatch);
|
|
135
284
|
};
|
|
136
285
|
var handleItemMouseLeave = function handleItemMouseLeave(_ref4) {
|
|
137
286
|
var item = _ref4.item;
|
|
287
|
+
if (item.value.name === 'background' && isSubmenuOpen) {
|
|
288
|
+
setIsSubmenuOpen(false);
|
|
289
|
+
}
|
|
138
290
|
if (['sort_column_asc', 'sort_column_desc', 'delete_column', 'delete_row'].indexOf(item.value.name) > -1) {
|
|
139
291
|
(0, _commands.clearHoverSelection)()(state, dispatch);
|
|
140
292
|
}
|
|
@@ -142,7 +294,25 @@ var DragMenu = exports.DragMenu = function DragMenu(_ref) {
|
|
|
142
294
|
if (!menuItems) {
|
|
143
295
|
return null;
|
|
144
296
|
}
|
|
145
|
-
|
|
297
|
+
if (allowBackgroundColor && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.new-cell-context-menu-styling')) {
|
|
298
|
+
menuItems[0].items.unshift(createBackgroundColorMenuItem());
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
// If first row, add toggle for Hearder row, default is true
|
|
302
|
+
// If first column, add toggle for Header column, default is false
|
|
303
|
+
if ((0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.new-cell-context-menu-styling') && index === 0) {
|
|
304
|
+
menuItems.push({
|
|
305
|
+
items: [createhHeaderRowColumnMenuItem(direction)]
|
|
306
|
+
});
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
// All rows, add toggle for numbered rows, default is false
|
|
310
|
+
if ((0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.new-cell-context-menu-styling') && direction === 'row') {
|
|
311
|
+
index === 0 ? menuItems[menuItems.length - 1].items.push(createRowNumbersMenuItem()) : menuItems.push({
|
|
312
|
+
items: [createRowNumbersMenuItem()]
|
|
313
|
+
});
|
|
314
|
+
}
|
|
315
|
+
return (0, _react2.jsx)(_uiMenu.DropdownMenu, {
|
|
146
316
|
mountTo: mountPoint
|
|
147
317
|
//This needs be removed when the a11y is completely handled
|
|
148
318
|
//Disabling key navigation now as it works only partially
|
|
@@ -24,7 +24,8 @@ var FloatingDragMenu = function FloatingDragMenu(_ref) {
|
|
|
24
24
|
getEditorContainerWidth = _ref.getEditorContainerWidth,
|
|
25
25
|
canDrag = _ref.canDrag,
|
|
26
26
|
editorAnalyticsAPI = _ref.editorAnalyticsAPI,
|
|
27
|
-
stickyHeaders = _ref.stickyHeaders
|
|
27
|
+
stickyHeaders = _ref.stickyHeaders,
|
|
28
|
+
pluginConfig = _ref.pluginConfig;
|
|
28
29
|
if (!isOpen || !targetCellPosition || editorView.state.doc.nodeSize <= targetCellPosition) {
|
|
29
30
|
return null;
|
|
30
31
|
}
|
|
@@ -62,7 +63,8 @@ var FloatingDragMenu = function FloatingDragMenu(_ref) {
|
|
|
62
63
|
targetCellPosition: targetCellPosition,
|
|
63
64
|
getEditorContainerWidth: getEditorContainerWidth,
|
|
64
65
|
canDrag: canDrag,
|
|
65
|
-
editorAnalyticsAPI: editorAnalyticsAPI
|
|
66
|
+
editorAnalyticsAPI: editorAnalyticsAPI,
|
|
67
|
+
pluginConfig: pluginConfig
|
|
66
68
|
}));
|
|
67
69
|
};
|
|
68
70
|
FloatingDragMenu.displayName = 'FloatingDragMenu';
|