@atlaskit/editor-plugin-table 22.4.15 → 22.4.17
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 +15 -0
- package/dist/cjs/pm-plugins/commands/active-table-menu.js +51 -0
- package/dist/cjs/pm-plugins/commands/commands-with-analytics.js +42 -10
- package/dist/cjs/pm-plugins/commands/index.js +13 -0
- package/dist/cjs/pm-plugins/drag-and-drop/commands-with-analytics.js +2 -0
- package/dist/cjs/pm-plugins/drag-and-drop/plugin.js +4 -0
- package/dist/cjs/pm-plugins/handlers.js +8 -1
- package/dist/cjs/pm-plugins/reducer.js +2 -0
- package/dist/cjs/tablePlugin.js +1 -0
- package/dist/cjs/ui/ContentComponent.js +1 -1
- package/dist/cjs/ui/FloatingContextualButton/index.js +28 -9
- package/dist/cjs/ui/FloatingContextualMenu/CellMenuPopup.js +58 -73
- package/dist/cjs/ui/FloatingContextualMenu/index.js +26 -12
- package/dist/cjs/ui/FloatingDragMenu/index.js +21 -8
- package/dist/cjs/ui/TableFloatingColumnControls/ColumnControls/index.js +13 -5
- package/dist/cjs/ui/TableFloatingControls/RowControls/DragControls.js +14 -5
- package/dist/cjs/ui/TableMenu/cell/getCellMenuComponents.js +8 -3
- package/dist/cjs/ui/TableMenu/cell/items/MergeCellsItem.js +16 -1
- package/dist/cjs/ui/TableMenu/cell/items/SplitCellItem.js +16 -1
- package/dist/cjs/ui/TableMenu/column/items/AddColumnLeftItem.js +4 -4
- package/dist/cjs/ui/TableMenu/column/items/AddColumnRightItem.js +4 -4
- package/dist/cjs/ui/TableMenu/column/items/DeleteColumnItem.js +2 -3
- package/dist/cjs/ui/TableMenu/column/items/DistributeColumnsItem.js +2 -3
- package/dist/cjs/ui/TableMenu/column/items/HeaderColumnToggleItem.js +2 -3
- package/dist/cjs/ui/TableMenu/column/items/MoveColumnLeftItem.js +2 -3
- package/dist/cjs/ui/TableMenu/column/items/MoveColumnRightItem.js +2 -3
- package/dist/cjs/ui/TableMenu/column/items/SortDecreasingItem.js +2 -3
- package/dist/cjs/ui/TableMenu/column/items/SortIncreasingItem.js +2 -3
- package/dist/cjs/ui/TableMenu/row/items/AddRowAboveItem.js +4 -4
- package/dist/cjs/ui/TableMenu/row/items/AddRowBelowItem.js +4 -4
- package/dist/cjs/ui/TableMenu/row/items/DeleteRowItem.js +2 -3
- package/dist/cjs/ui/TableMenu/row/items/HeaderRowToggleItem.js +2 -3
- package/dist/cjs/ui/TableMenu/row/items/MoveRowDownItem.js +2 -3
- package/dist/cjs/ui/TableMenu/row/items/MoveRowUpItem.js +2 -3
- package/dist/cjs/ui/TableMenu/row/items/NumberedRowsToggleItem.js +4 -3
- package/dist/cjs/ui/TableMenu/shared/TableMenu.compiled.css +0 -2
- package/dist/cjs/ui/TableMenu/shared/TableMenu.js +8 -9
- package/dist/cjs/ui/TableMenu/shared/getSharedItems.js +3 -1
- package/dist/cjs/ui/TableMenu/shared/getTableMenuComponents.js +1 -1
- package/dist/cjs/ui/TableMenu/shared/items/BackgroundColorItem.js +30 -4
- package/dist/cjs/ui/TableMenu/shared/items/ClearCellsItem.js +4 -3
- package/dist/es2019/pm-plugins/commands/active-table-menu.js +39 -0
- package/dist/es2019/pm-plugins/commands/commands-with-analytics.js +31 -2
- package/dist/es2019/pm-plugins/commands/index.js +1 -0
- package/dist/es2019/pm-plugins/drag-and-drop/commands-with-analytics.js +2 -0
- package/dist/es2019/pm-plugins/drag-and-drop/plugin.js +4 -0
- package/dist/es2019/pm-plugins/handlers.js +8 -1
- package/dist/es2019/pm-plugins/reducer.js +5 -0
- package/dist/es2019/tablePlugin.js +1 -0
- package/dist/es2019/ui/ContentComponent.js +1 -1
- package/dist/es2019/ui/FloatingContextualButton/index.js +29 -9
- package/dist/es2019/ui/FloatingContextualMenu/CellMenuPopup.js +60 -77
- package/dist/es2019/ui/FloatingContextualMenu/index.js +27 -12
- package/dist/es2019/ui/FloatingDragMenu/index.js +22 -8
- package/dist/es2019/ui/TableFloatingColumnControls/ColumnControls/index.js +12 -4
- package/dist/es2019/ui/TableFloatingControls/RowControls/DragControls.js +13 -4
- package/dist/es2019/ui/TableMenu/cell/getCellMenuComponents.js +9 -3
- package/dist/es2019/ui/TableMenu/cell/items/MergeCellsItem.js +18 -2
- package/dist/es2019/ui/TableMenu/cell/items/SplitCellItem.js +18 -2
- package/dist/es2019/ui/TableMenu/column/items/AddColumnLeftItem.js +3 -3
- package/dist/es2019/ui/TableMenu/column/items/AddColumnRightItem.js +3 -3
- package/dist/es2019/ui/TableMenu/column/items/DeleteColumnItem.js +2 -3
- package/dist/es2019/ui/TableMenu/column/items/DistributeColumnsItem.js +2 -3
- package/dist/es2019/ui/TableMenu/column/items/HeaderColumnToggleItem.js +2 -3
- package/dist/es2019/ui/TableMenu/column/items/MoveColumnLeftItem.js +2 -3
- package/dist/es2019/ui/TableMenu/column/items/MoveColumnRightItem.js +2 -3
- package/dist/es2019/ui/TableMenu/column/items/SortDecreasingItem.js +2 -3
- package/dist/es2019/ui/TableMenu/column/items/SortIncreasingItem.js +2 -3
- package/dist/es2019/ui/TableMenu/row/items/AddRowAboveItem.js +3 -3
- package/dist/es2019/ui/TableMenu/row/items/AddRowBelowItem.js +3 -3
- package/dist/es2019/ui/TableMenu/row/items/DeleteRowItem.js +2 -3
- package/dist/es2019/ui/TableMenu/row/items/HeaderRowToggleItem.js +2 -3
- package/dist/es2019/ui/TableMenu/row/items/MoveRowDownItem.js +2 -3
- package/dist/es2019/ui/TableMenu/row/items/MoveRowUpItem.js +2 -3
- package/dist/es2019/ui/TableMenu/row/items/NumberedRowsToggleItem.js +3 -2
- package/dist/es2019/ui/TableMenu/shared/TableMenu.compiled.css +0 -2
- package/dist/es2019/ui/TableMenu/shared/TableMenu.js +8 -9
- package/dist/es2019/ui/TableMenu/shared/getSharedItems.js +3 -1
- package/dist/es2019/ui/TableMenu/shared/getTableMenuComponents.js +1 -1
- package/dist/es2019/ui/TableMenu/shared/items/BackgroundColorItem.js +33 -4
- package/dist/es2019/ui/TableMenu/shared/items/ClearCellsItem.js +4 -3
- package/dist/esm/pm-plugins/commands/active-table-menu.js +45 -0
- package/dist/esm/pm-plugins/commands/commands-with-analytics.js +41 -10
- package/dist/esm/pm-plugins/commands/index.js +1 -0
- package/dist/esm/pm-plugins/drag-and-drop/commands-with-analytics.js +2 -0
- package/dist/esm/pm-plugins/drag-and-drop/plugin.js +4 -0
- package/dist/esm/pm-plugins/handlers.js +8 -1
- package/dist/esm/pm-plugins/reducer.js +2 -0
- package/dist/esm/tablePlugin.js +1 -0
- package/dist/esm/ui/ContentComponent.js +1 -1
- package/dist/esm/ui/FloatingContextualButton/index.js +29 -10
- package/dist/esm/ui/FloatingContextualMenu/CellMenuPopup.js +60 -75
- package/dist/esm/ui/FloatingContextualMenu/index.js +26 -12
- package/dist/esm/ui/FloatingDragMenu/index.js +21 -8
- package/dist/esm/ui/TableFloatingColumnControls/ColumnControls/index.js +12 -4
- package/dist/esm/ui/TableFloatingControls/RowControls/DragControls.js +13 -4
- package/dist/esm/ui/TableMenu/cell/getCellMenuComponents.js +8 -3
- package/dist/esm/ui/TableMenu/cell/items/MergeCellsItem.js +16 -2
- package/dist/esm/ui/TableMenu/cell/items/SplitCellItem.js +16 -2
- package/dist/esm/ui/TableMenu/column/items/AddColumnLeftItem.js +4 -4
- package/dist/esm/ui/TableMenu/column/items/AddColumnRightItem.js +4 -4
- package/dist/esm/ui/TableMenu/column/items/DeleteColumnItem.js +2 -3
- package/dist/esm/ui/TableMenu/column/items/DistributeColumnsItem.js +2 -3
- package/dist/esm/ui/TableMenu/column/items/HeaderColumnToggleItem.js +2 -3
- package/dist/esm/ui/TableMenu/column/items/MoveColumnLeftItem.js +2 -3
- package/dist/esm/ui/TableMenu/column/items/MoveColumnRightItem.js +2 -3
- package/dist/esm/ui/TableMenu/column/items/SortDecreasingItem.js +2 -3
- package/dist/esm/ui/TableMenu/column/items/SortIncreasingItem.js +2 -3
- package/dist/esm/ui/TableMenu/row/items/AddRowAboveItem.js +4 -4
- package/dist/esm/ui/TableMenu/row/items/AddRowBelowItem.js +4 -4
- package/dist/esm/ui/TableMenu/row/items/DeleteRowItem.js +2 -3
- package/dist/esm/ui/TableMenu/row/items/HeaderRowToggleItem.js +2 -3
- package/dist/esm/ui/TableMenu/row/items/MoveRowDownItem.js +2 -3
- package/dist/esm/ui/TableMenu/row/items/MoveRowUpItem.js +2 -3
- package/dist/esm/ui/TableMenu/row/items/NumberedRowsToggleItem.js +4 -3
- package/dist/esm/ui/TableMenu/shared/TableMenu.compiled.css +0 -2
- package/dist/esm/ui/TableMenu/shared/TableMenu.js +8 -9
- package/dist/esm/ui/TableMenu/shared/getSharedItems.js +3 -1
- package/dist/esm/ui/TableMenu/shared/getTableMenuComponents.js +1 -1
- package/dist/esm/ui/TableMenu/shared/items/BackgroundColorItem.js +30 -4
- package/dist/esm/ui/TableMenu/shared/items/ClearCellsItem.js +4 -3
- package/dist/types/entry-points/types.d.ts +1 -1
- package/dist/types/pm-plugins/commands/active-table-menu.d.ts +6 -0
- package/dist/types/pm-plugins/commands/commands-with-analytics.d.ts +3 -1
- package/dist/types/pm-plugins/commands/index.d.ts +1 -0
- package/dist/types/types/index.d.ts +21 -1
- package/dist/types/ui/FloatingContextualButton/index.d.ts +2 -0
- package/dist/types/ui/FloatingContextualMenu/CellMenuPopup.d.ts +7 -5
- package/dist/types/ui/FloatingContextualMenu/index.d.ts +0 -1
- package/dist/types/ui/TableMenu/cell/getCellMenuComponents.d.ts +2 -1
- package/dist/types/ui/TableMenu/cell/items/MergeCellsItem.d.ts +2 -1
- package/dist/types/ui/TableMenu/cell/items/SplitCellItem.d.ts +2 -1
- package/dist/types/ui/TableMenu/shared/TableMenuContext.d.ts +2 -0
- package/dist/types/ui/TableMenu/shared/items/BackgroundColorItem.d.ts +2 -1
- package/dist/types-ts4.5/entry-points/types.d.ts +1 -1
- package/dist/types-ts4.5/pm-plugins/commands/active-table-menu.d.ts +6 -0
- package/dist/types-ts4.5/pm-plugins/commands/commands-with-analytics.d.ts +3 -1
- package/dist/types-ts4.5/pm-plugins/commands/index.d.ts +1 -0
- package/dist/types-ts4.5/types/index.d.ts +21 -1
- package/dist/types-ts4.5/ui/FloatingContextualButton/index.d.ts +2 -0
- package/dist/types-ts4.5/ui/FloatingContextualMenu/CellMenuPopup.d.ts +7 -5
- package/dist/types-ts4.5/ui/FloatingContextualMenu/index.d.ts +0 -1
- package/dist/types-ts4.5/ui/TableMenu/cell/getCellMenuComponents.d.ts +2 -1
- package/dist/types-ts4.5/ui/TableMenu/cell/items/MergeCellsItem.d.ts +2 -1
- package/dist/types-ts4.5/ui/TableMenu/cell/items/SplitCellItem.d.ts +2 -1
- package/dist/types-ts4.5/ui/TableMenu/shared/TableMenuContext.d.ts +2 -0
- package/dist/types-ts4.5/ui/TableMenu/shared/items/BackgroundColorItem.d.ts +2 -1
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# @atlaskit/editor-plugin-table
|
|
2
2
|
|
|
3
|
+
## 22.4.17
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies
|
|
8
|
+
|
|
9
|
+
## 22.4.16
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- [`6291bc0777dc2`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/6291bc0777dc2) -
|
|
14
|
+
Converge updated table menu state behind the table menu experiment
|
|
15
|
+
|
|
16
|
+
Make table cell menu items interactive
|
|
17
|
+
|
|
3
18
|
## 22.4.15
|
|
4
19
|
|
|
5
20
|
### Patch Changes
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.toggleActiveTableMenu = exports.closeActiveTableMenu = void 0;
|
|
7
|
+
var _pluginFactory = require("../plugin-factory");
|
|
8
|
+
var closeActiveTableMenu = exports.closeActiveTableMenu = function closeActiveTableMenu() {
|
|
9
|
+
return (0, _pluginFactory.createCommand)(function (state) {
|
|
10
|
+
var _getPluginState = (0, _pluginFactory.getPluginState)(state),
|
|
11
|
+
activeTableMenu = _getPluginState.activeTableMenu;
|
|
12
|
+
if (!activeTableMenu || activeTableMenu.type === 'none') {
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
return {
|
|
16
|
+
type: 'SET_ACTIVE_TABLE_MENU',
|
|
17
|
+
data: {
|
|
18
|
+
activeTableMenu: {
|
|
19
|
+
type: 'none'
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
}, function (tr) {
|
|
24
|
+
return tr.setMeta('addToHistory', false);
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
var isSameActiveTableMenu = function isSameActiveTableMenu(current, next) {
|
|
28
|
+
if (!current || current.type !== next.type) {
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
if (current.type === 'row' || current.type === 'column') {
|
|
32
|
+
return next.type === current.type && current.index === next.index;
|
|
33
|
+
}
|
|
34
|
+
return true;
|
|
35
|
+
};
|
|
36
|
+
var toggleActiveTableMenu = exports.toggleActiveTableMenu = function toggleActiveTableMenu(activeTableMenu) {
|
|
37
|
+
return (0, _pluginFactory.createCommand)(function (state) {
|
|
38
|
+
var _getPluginState2 = (0, _pluginFactory.getPluginState)(state),
|
|
39
|
+
currentActiveTableMenu = _getPluginState2.activeTableMenu;
|
|
40
|
+
return {
|
|
41
|
+
type: 'SET_ACTIVE_TABLE_MENU',
|
|
42
|
+
data: {
|
|
43
|
+
activeTableMenu: isSameActiveTableMenu(currentActiveTableMenu, activeTableMenu) ? {
|
|
44
|
+
type: 'none'
|
|
45
|
+
} : activeTableMenu
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
}, function (tr) {
|
|
49
|
+
return tr.setMeta('addToHistory', false);
|
|
50
|
+
});
|
|
51
|
+
};
|
|
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.wrapTableInExpandWithAnalytics = exports.toggleNumberColumnWithAnalytics = exports.toggleHeaderRowWithAnalytics = exports.toggleHeaderColumnWithAnalytics = exports.toggleFixedColumnWidthsOptionAnalytics = exports.splitCellWithAnalytics = exports.sortColumnWithAnalytics = exports.setTableAlignmentWithTableContentWithPosWithAnalytics = exports.setTableAlignmentWithAnalytics = exports.setColorWithAnalytics = exports.mergeCellsWithAnalytics = exports.insertRowWithAnalytics = exports.insertColumnWithAnalytics = exports.emptyMultipleCellsWithAnalytics = exports.distributeColumnsWidthsWithAnalytics = exports.deleteTableWithAnalytics = exports.deleteTableIfSelectedWithAnalytics = exports.deleteSelectedRowsOrColumnsWithAnalyticsViaShortcut = exports.deleteRowsWithAnalytics = exports.deleteColumnsWithAnalytics = exports.changeColumnWidthByStepWithAnalytics = exports.addRowAroundSelection = void 0;
|
|
7
|
+
exports.wrapTableInExpandWithAnalytics = exports.toggleNumberColumnWithAnalytics = exports.toggleHeaderRowWithAnalytics = exports.toggleHeaderColumnWithAnalytics = exports.toggleFixedColumnWidthsOptionAnalytics = exports.toggleActiveTableMenuWithAnalytics = exports.splitCellWithAnalytics = exports.sortColumnWithAnalytics = exports.setTableAlignmentWithTableContentWithPosWithAnalytics = exports.setTableAlignmentWithAnalytics = exports.setColorWithAnalytics = exports.mergeCellsWithAnalytics = exports.insertRowWithAnalytics = exports.insertColumnWithAnalytics = exports.emptyMultipleCellsWithAnalytics = exports.distributeColumnsWidthsWithAnalytics = exports.deleteTableWithAnalytics = exports.deleteTableIfSelectedWithAnalytics = exports.deleteSelectedRowsOrColumnsWithAnalyticsViaShortcut = exports.deleteRowsWithAnalytics = exports.deleteColumnsWithAnalytics = exports.changeColumnWidthByStepWithAnalytics = exports.addRowAroundSelection = void 0;
|
|
8
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
9
|
var _adfSchema = require("@atlaskit/adf-schema");
|
|
10
10
|
var _analytics = require("@atlaskit/editor-common/analytics");
|
|
@@ -18,6 +18,7 @@ var _deleteRows = require("../transforms/delete-rows");
|
|
|
18
18
|
var _merge = require("../transforms/merge");
|
|
19
19
|
var _analytics2 = require("../utils/analytics");
|
|
20
20
|
var _nodes = require("../utils/nodes");
|
|
21
|
+
var _activeTableMenu = require("./active-table-menu");
|
|
21
22
|
var _clear = require("./clear");
|
|
22
23
|
var _collapse = require("./collapse");
|
|
23
24
|
var _columnResize = require("./column-resize");
|
|
@@ -30,7 +31,38 @@ var _splitCell = require("./split-cell");
|
|
|
30
31
|
var _toggle = require("./toggle");
|
|
31
32
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
32
33
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
33
|
-
|
|
34
|
+
var toggleActiveTableMenuWithAnalytics = exports.toggleActiveTableMenuWithAnalytics = function toggleActiveTableMenuWithAnalytics(editorAnalyticsAPI) {
|
|
35
|
+
return function (direction, index) {
|
|
36
|
+
var trigger = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'mouse';
|
|
37
|
+
return (0, _analytics2.withEditorAnalyticsAPI)(function (state) {
|
|
38
|
+
var _getPluginState = (0, _pluginFactory.getPluginState)(state),
|
|
39
|
+
previousActiveTableMenu = _getPluginState.activeTableMenu;
|
|
40
|
+
var isSameActiveMenu = (previousActiveTableMenu === null || previousActiveTableMenu === void 0 ? void 0 : previousActiveTableMenu.type) === direction && previousActiveTableMenu.index === index;
|
|
41
|
+
if (isSameActiveMenu) {
|
|
42
|
+
return undefined;
|
|
43
|
+
}
|
|
44
|
+
return {
|
|
45
|
+
action: _analytics.TABLE_ACTION.DRAG_MENU_OPENED,
|
|
46
|
+
actionSubject: _analytics.ACTION_SUBJECT.TABLE,
|
|
47
|
+
actionSubjectId: null,
|
|
48
|
+
eventType: _analytics.EVENT_TYPE.TRACK,
|
|
49
|
+
attributes: {
|
|
50
|
+
inputMethod: trigger === 'keyboard' ? _analytics.INPUT_METHOD.KEYBOARD : _analytics.INPUT_METHOD.MOUSE,
|
|
51
|
+
direction: direction
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
})(editorAnalyticsAPI)(function (state, dispatch) {
|
|
55
|
+
if (dispatch) {
|
|
56
|
+
(0, _activeTableMenu.toggleActiveTableMenu)({
|
|
57
|
+
type: direction,
|
|
58
|
+
index: index,
|
|
59
|
+
openedBy: trigger
|
|
60
|
+
})(state, dispatch);
|
|
61
|
+
}
|
|
62
|
+
return true;
|
|
63
|
+
});
|
|
64
|
+
};
|
|
65
|
+
};
|
|
34
66
|
var emptyMultipleCellsWithAnalytics = exports.emptyMultipleCellsWithAnalytics = function emptyMultipleCellsWithAnalytics(editorAnalyticsAPI) {
|
|
35
67
|
return function (inputMethod, targetCellPosition) {
|
|
36
68
|
return (0, _analytics2.withEditorAnalyticsAPI)(function (_ref) {
|
|
@@ -195,8 +227,8 @@ var changeColumnWidthByStepWithAnalytics = exports.changeColumnWidthByStepWithAn
|
|
|
195
227
|
table = _getSelectedTableInfo2.table,
|
|
196
228
|
totalRowCount = _getSelectedTableInfo2.totalRowCount,
|
|
197
229
|
totalColumnCount = _getSelectedTableInfo2.totalColumnCount;
|
|
198
|
-
var
|
|
199
|
-
colIndex =
|
|
230
|
+
var _getPluginState2 = (0, _pluginFactory.getPluginState)(state),
|
|
231
|
+
colIndex = _getPluginState2.hoveredCell.colIndex;
|
|
200
232
|
return {
|
|
201
233
|
action: _analytics.TABLE_ACTION.COLUMN_RESIZED,
|
|
202
234
|
actionSubject: _analytics.ACTION_SUBJECT.TABLE,
|
|
@@ -316,8 +348,8 @@ var deleteSelectedRowsOrColumnsWithAnalyticsViaShortcut = exports.deleteSelected
|
|
|
316
348
|
}
|
|
317
349
|
var selectionType = (0, _misc.getTableSelectionType)(selection);
|
|
318
350
|
if (selectionType === 'row') {
|
|
319
|
-
var
|
|
320
|
-
pluginConfig =
|
|
351
|
+
var _getPluginState3 = (0, _pluginFactory.getPluginState)(state),
|
|
352
|
+
pluginConfig = _getPluginState3.pluginConfig;
|
|
321
353
|
var isHeaderRowRequired = pluginConfig.isHeaderRowRequired || false;
|
|
322
354
|
return deleteRowsWithAnalytics(editorAnalyticsAPI)(_analytics.INPUT_METHOD.SHORTCUT, rect, isHeaderRowRequired)(state, dispatch);
|
|
323
355
|
} else if (selectionType === 'column') {
|
|
@@ -361,8 +393,8 @@ var toggleHeaderRowWithAnalytics = exports.toggleHeaderRowWithAnalytics = functi
|
|
|
361
393
|
var _getSelectedTableInfo7 = (0, _analytics2.getSelectedTableInfo)(state.selection),
|
|
362
394
|
totalRowCount = _getSelectedTableInfo7.totalRowCount,
|
|
363
395
|
totalColumnCount = _getSelectedTableInfo7.totalColumnCount;
|
|
364
|
-
var
|
|
365
|
-
isHeaderRowEnabled =
|
|
396
|
+
var _getPluginState4 = (0, _pluginFactory.getPluginState)(state),
|
|
397
|
+
isHeaderRowEnabled = _getPluginState4.isHeaderRowEnabled;
|
|
366
398
|
return {
|
|
367
399
|
action: _analytics.TABLE_ACTION.TOGGLED_HEADER_ROW,
|
|
368
400
|
actionSubject: _analytics.ACTION_SUBJECT.TABLE,
|
|
@@ -381,8 +413,8 @@ var toggleHeaderColumnWithAnalytics = exports.toggleHeaderColumnWithAnalytics =
|
|
|
381
413
|
var _getSelectedTableInfo8 = (0, _analytics2.getSelectedTableInfo)(state.selection),
|
|
382
414
|
totalRowCount = _getSelectedTableInfo8.totalRowCount,
|
|
383
415
|
totalColumnCount = _getSelectedTableInfo8.totalColumnCount;
|
|
384
|
-
var
|
|
385
|
-
isHeaderColumnEnabled =
|
|
416
|
+
var _getPluginState5 = (0, _pluginFactory.getPluginState)(state),
|
|
417
|
+
isHeaderColumnEnabled = _getPluginState5.isHeaderColumnEnabled;
|
|
386
418
|
return {
|
|
387
419
|
action: _analytics.TABLE_ACTION.TOGGLED_HEADER_COLUMN,
|
|
388
420
|
actionSubject: _analytics.ACTION_SUBJECT.TABLE,
|
|
@@ -33,6 +33,12 @@ Object.defineProperty(exports, "clearMultipleCells", {
|
|
|
33
33
|
return _clear.clearMultipleCells;
|
|
34
34
|
}
|
|
35
35
|
});
|
|
36
|
+
Object.defineProperty(exports, "closeActiveTableMenu", {
|
|
37
|
+
enumerable: true,
|
|
38
|
+
get: function get() {
|
|
39
|
+
return _activeTableMenu.closeActiveTableMenu;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
36
42
|
Object.defineProperty(exports, "convertFirstRowToHeader", {
|
|
37
43
|
enumerable: true,
|
|
38
44
|
get: function get() {
|
|
@@ -219,6 +225,12 @@ Object.defineProperty(exports, "sortByColumn", {
|
|
|
219
225
|
return _sort.sortByColumn;
|
|
220
226
|
}
|
|
221
227
|
});
|
|
228
|
+
Object.defineProperty(exports, "toggleActiveTableMenu", {
|
|
229
|
+
enumerable: true,
|
|
230
|
+
get: function get() {
|
|
231
|
+
return _activeTableMenu.toggleActiveTableMenu;
|
|
232
|
+
}
|
|
233
|
+
});
|
|
222
234
|
Object.defineProperty(exports, "toggleContextualMenu", {
|
|
223
235
|
enumerable: true,
|
|
224
236
|
get: function get() {
|
|
@@ -270,6 +282,7 @@ Object.defineProperty(exports, "updateWidthToWidest", {
|
|
|
270
282
|
var _hover = require("./hover");
|
|
271
283
|
var _insert = require("./insert");
|
|
272
284
|
var _toggle = require("./toggle");
|
|
285
|
+
var _activeTableMenu = require("./active-table-menu");
|
|
273
286
|
var _clear = require("./clear");
|
|
274
287
|
var _misc = require("./misc");
|
|
275
288
|
var _sort = require("./sort");
|
|
@@ -153,6 +153,8 @@ var cloneSourceWithAnalytics = exports.cloneSourceWithAnalytics = function clone
|
|
|
153
153
|
});
|
|
154
154
|
};
|
|
155
155
|
};
|
|
156
|
+
|
|
157
|
+
// remove when 'platform_editor_table_menu_updates' is cleaned up
|
|
156
158
|
var toggleDragMenuWithAnalytics = exports.toggleDragMenuWithAnalytics = function toggleDragMenuWithAnalytics(editorAnalyticsAPI) {
|
|
157
159
|
return function (isDragMenuOpen, direction, index) {
|
|
158
160
|
var trigger = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'mouse';
|
|
@@ -14,6 +14,7 @@ var _element = require("@atlaskit/pragmatic-drag-and-drop-auto-scroll/element");
|
|
|
14
14
|
var _combine = require("@atlaskit/pragmatic-drag-and-drop/combine");
|
|
15
15
|
var _adapter = require("@atlaskit/pragmatic-drag-and-drop/element/adapter");
|
|
16
16
|
var _expValEquals = require("@atlaskit/tmp-editor-statsig/exp-val-equals");
|
|
17
|
+
var _activeTableMenu = require("../commands/active-table-menu");
|
|
17
18
|
var _pluginFactory = require("../plugin-factory");
|
|
18
19
|
var _pluginKey = require("../plugin-key");
|
|
19
20
|
var _colgroup = require("../table-resizing/utils/colgroup");
|
|
@@ -93,6 +94,9 @@ var destroyFn = function destroyFn(editorView, editorAnalyticsAPI, isTableScalin
|
|
|
93
94
|
(_insm$session3 = _insm.insm.session) === null || _insm$session3 === void 0 || _insm$session3.startFeature('tableDragAndDrop');
|
|
94
95
|
}
|
|
95
96
|
(0, _commands.toggleDragMenu)(false)(editorView.state, editorView.dispatch);
|
|
97
|
+
if ((0, _expValEquals.expValEquals)('platform_editor_table_menu_updates', 'isEnabled', true)) {
|
|
98
|
+
(0, _activeTableMenu.closeActiveTableMenu)()(editorView.state, editorView.dispatch);
|
|
99
|
+
}
|
|
96
100
|
api === null || api === void 0 || api.core.actions.execute(api === null || api === void 0 || (_api$userIntent = api.userIntent) === null || _api$userIntent === void 0 ? void 0 : _api$userIntent.commands.setCurrentUserIntent('dragging'));
|
|
97
101
|
},
|
|
98
102
|
onDrag: function onDrag(event) {
|
|
@@ -10,6 +10,7 @@ var _customSteps = require("@atlaskit/custom-steps");
|
|
|
10
10
|
var _utils = require("@atlaskit/editor-common/utils");
|
|
11
11
|
var _utils2 = require("@atlaskit/editor-prosemirror/utils");
|
|
12
12
|
var _utils3 = require("@atlaskit/editor-tables/utils");
|
|
13
|
+
var _expValEquals = require("@atlaskit/tmp-editor-statsig/exp-val-equals");
|
|
13
14
|
var _defaultTableSelection = require("./default-table-selection");
|
|
14
15
|
var _pluginKey = require("./table-resizing/plugin-key");
|
|
15
16
|
var _collapse = require("./utils/collapse");
|
|
@@ -47,8 +48,14 @@ var updateTargetCellPosition = function updateTargetCellPosition(_ref) {
|
|
|
47
48
|
if (pluginState.targetCellPosition === targetCellPosition) {
|
|
48
49
|
return pluginState;
|
|
49
50
|
}
|
|
51
|
+
|
|
52
|
+
// The updated table menu is anchored to the current target cell. When selection moves
|
|
53
|
+
// to another cell, close the active menu so render state cannot point at a stale anchor.
|
|
50
54
|
return _objectSpread(_objectSpread({}, pluginState), {}, {
|
|
51
|
-
targetCellPosition: targetCellPosition
|
|
55
|
+
targetCellPosition: targetCellPosition,
|
|
56
|
+
activeTableMenu: pluginState.activeTableMenu != null && pluginState.activeTableMenu.type !== 'none' && (0, _expValEquals.expValEquals)('platform_editor_table_menu_updates', 'isEnabled', true) ? {
|
|
57
|
+
type: 'none'
|
|
58
|
+
} : pluginState.activeTableMenu
|
|
52
59
|
});
|
|
53
60
|
};
|
|
54
61
|
};
|
|
@@ -33,6 +33,8 @@ var _default = exports.default = function _default(pluginState, action) {
|
|
|
33
33
|
return _objectSpread(_objectSpread({}, pluginState), {}, {
|
|
34
34
|
isContextualMenuOpen: !pluginState.isContextualMenuOpen
|
|
35
35
|
});
|
|
36
|
+
case 'SET_ACTIVE_TABLE_MENU':
|
|
37
|
+
return _objectSpread(_objectSpread({}, pluginState), action.data);
|
|
36
38
|
case 'SHOW_INSERT_ROW_BUTTON':
|
|
37
39
|
if (action.data.insertRowButtonIndex === pluginState.insertRowButtonIndex) {
|
|
38
40
|
return pluginState;
|
package/dist/cjs/tablePlugin.js
CHANGED
|
@@ -152,6 +152,7 @@ var tablePlugin = function tablePlugin(_ref) {
|
|
|
152
152
|
insertRowButtonIndex: tablePluginState.insertRowButtonIndex,
|
|
153
153
|
tableWrapperTarget: tablePluginState.tableWrapperTarget,
|
|
154
154
|
isCellMenuOpenByKeyboard: tablePluginState.isCellMenuOpenByKeyboard,
|
|
155
|
+
activeTableMenu: tablePluginState.activeTableMenu,
|
|
155
156
|
stickyHeader: stickyHeader,
|
|
156
157
|
dragMenuDirection: dragAndDropState === null || dragAndDropState === void 0 ? void 0 : dragAndDropState.dragMenuDirection,
|
|
157
158
|
dragMenuIndex: dragAndDropState === null || dragAndDropState === void 0 ? void 0 : dragAndDropState.dragMenuIndex,
|
|
@@ -98,6 +98,7 @@ var ContentComponentInternal = function ContentComponentInternal(_ref) {
|
|
|
98
98
|
return null;
|
|
99
99
|
}
|
|
100
100
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, targetCellPosition && (tableRef || isCellMenuOpenByKeyboard) && !isResizing && options && options.allowContextualMenu && /*#__PURE__*/_react.default.createElement(_FloatingContextualButton.default, {
|
|
101
|
+
api: api,
|
|
101
102
|
isNumberColumnEnabled: tableNode && tableNode.attrs.isNumberColumnEnabled,
|
|
102
103
|
editorView: editorView,
|
|
103
104
|
tableNode: tableNode,
|
|
@@ -133,7 +134,6 @@ var ContentComponentInternal = function ContentComponentInternal(_ref) {
|
|
|
133
134
|
editorView: editorView,
|
|
134
135
|
mountPoint: popupsMountPoint,
|
|
135
136
|
boundariesElement: popupsBoundariesElement,
|
|
136
|
-
targetCellPosition: targetCellPosition,
|
|
137
137
|
isOpen: Boolean(isContextualMenuOpen) && !isResizing,
|
|
138
138
|
pluginConfig: pluginConfig,
|
|
139
139
|
editorAnalyticsAPI: editorAnalyticsAPI,
|
|
@@ -11,6 +11,7 @@ var _react2 = require("@emotion/react");
|
|
|
11
11
|
var _reactIntl = require("react-intl");
|
|
12
12
|
var _analytics = require("@atlaskit/editor-common/analytics");
|
|
13
13
|
var _errorBoundary = require("@atlaskit/editor-common/error-boundary");
|
|
14
|
+
var _hooks = require("@atlaskit/editor-common/hooks");
|
|
14
15
|
var _keymaps = require("@atlaskit/editor-common/keymaps");
|
|
15
16
|
var _messages = require("@atlaskit/editor-common/messages");
|
|
16
17
|
var _ui = require("@atlaskit/editor-common/ui");
|
|
@@ -44,7 +45,8 @@ var anchorStyles = (0, _react2.css)({
|
|
|
44
45
|
zIndex: CONTEXTUAL_MENU_BUTTON_Z_INDEX
|
|
45
46
|
});
|
|
46
47
|
var FloatingContextualButtonInner = /*#__PURE__*/_react.default.memo(function (props) {
|
|
47
|
-
var
|
|
48
|
+
var api = props.api,
|
|
49
|
+
editorView = props.editorView,
|
|
48
50
|
isContextualMenuOpen = props.isContextualMenuOpen,
|
|
49
51
|
mountPoint = props.mountPoint,
|
|
50
52
|
scrollableElement = props.scrollableElement,
|
|
@@ -53,12 +55,22 @@ var FloatingContextualButtonInner = /*#__PURE__*/_react.default.memo(function (p
|
|
|
53
55
|
targetCellPosition = props.targetCellPosition,
|
|
54
56
|
isCellMenuOpenByKeyboard = props.isCellMenuOpenByKeyboard,
|
|
55
57
|
formatMessage = props.intl.formatMessage; // : Props & WrappedComponentProps
|
|
56
|
-
|
|
58
|
+
var _useSharedPluginState = (0, _hooks.useSharedPluginStateWithSelector)(api, ['table'], function (states) {
|
|
59
|
+
var _states$tableState;
|
|
60
|
+
return {
|
|
61
|
+
activeTableMenu: (_states$tableState = states.tableState) === null || _states$tableState === void 0 ? void 0 : _states$tableState.activeTableMenu
|
|
62
|
+
};
|
|
63
|
+
}),
|
|
64
|
+
activeTableMenu = _useSharedPluginState.activeTableMenu;
|
|
65
|
+
var isCellMenuOpen = (0, _expValEquals.expValEquals)('platform_editor_table_menu_updates', 'isEnabled', true) ? (activeTableMenu === null || activeTableMenu === void 0 ? void 0 : activeTableMenu.type) === 'cell' : isContextualMenuOpen;
|
|
57
66
|
var handleClick = function handleClick() {
|
|
58
67
|
var state = editorView.state,
|
|
59
68
|
dispatch = editorView.dispatch;
|
|
60
69
|
if ((0, _expValEquals.expValEquals)('platform_editor_table_menu_updates', 'isEnabled', true)) {
|
|
61
|
-
(0, _commands.
|
|
70
|
+
(0, _commands.toggleActiveTableMenu)({
|
|
71
|
+
type: 'cell',
|
|
72
|
+
openedBy: 'mouse'
|
|
73
|
+
})(state, dispatch);
|
|
62
74
|
return;
|
|
63
75
|
}
|
|
64
76
|
|
|
@@ -74,13 +86,20 @@ var FloatingContextualButtonInner = /*#__PURE__*/_react.default.memo(function (p
|
|
|
74
86
|
var domAtPos = editorView.domAtPos.bind(editorView);
|
|
75
87
|
var targetCellRef = (0, _utils.findDomRefAtPos)(targetCellPosition, domAtPos);
|
|
76
88
|
(0, _react.useEffect)(function () {
|
|
77
|
-
if (isCellMenuOpenByKeyboard && !
|
|
89
|
+
if (isCellMenuOpenByKeyboard && !isCellMenuOpen) {
|
|
78
90
|
var state = editorView.state,
|
|
79
91
|
dispatch = editorView.dispatch;
|
|
80
92
|
// open the menu when the keyboard shortcut is pressed
|
|
93
|
+
if ((0, _expValEquals.expValEquals)('platform_editor_table_menu_updates', 'isEnabled', true)) {
|
|
94
|
+
(0, _commands.toggleActiveTableMenu)({
|
|
95
|
+
type: 'cell',
|
|
96
|
+
openedBy: 'keyboard'
|
|
97
|
+
})(state, dispatch);
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
81
100
|
(0, _commands.toggleContextualMenu)()(state, dispatch);
|
|
82
101
|
}
|
|
83
|
-
}, [isCellMenuOpenByKeyboard,
|
|
102
|
+
}, [isCellMenuOpenByKeyboard, isCellMenuOpen, editorView]);
|
|
84
103
|
if (!targetCellRef || !(targetCellRef instanceof HTMLElement)) {
|
|
85
104
|
return null;
|
|
86
105
|
}
|
|
@@ -90,12 +109,12 @@ var FloatingContextualButtonInner = /*#__PURE__*/_react.default.memo(function (p
|
|
|
90
109
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
|
|
91
110
|
(0, _styles.tableFloatingCellButtonStyles)(),
|
|
92
111
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
|
|
93
|
-
|
|
112
|
+
isCellMenuOpen && (0, _styles.tableFloatingCellButtonSelectedStyles)()]
|
|
94
113
|
}, (0, _react2.jsx)(_uiMenu.ToolbarButton
|
|
95
114
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
|
|
96
115
|
, {
|
|
97
116
|
className: _types.TableCssClassName.CONTEXTUAL_MENU_BUTTON,
|
|
98
|
-
selected:
|
|
117
|
+
selected: isCellMenuOpen,
|
|
99
118
|
title: labelCellOptions,
|
|
100
119
|
keymap: _keymaps.focusToContextMenuTrigger,
|
|
101
120
|
onClick: handleClick,
|
|
@@ -105,7 +124,7 @@ var FloatingContextualButtonInner = /*#__PURE__*/_react.default.memo(function (p
|
|
|
105
124
|
size: "small"
|
|
106
125
|
}),
|
|
107
126
|
"aria-label": labelCellOptions,
|
|
108
|
-
"aria-expanded":
|
|
127
|
+
"aria-expanded": isCellMenuOpen
|
|
109
128
|
}));
|
|
110
129
|
var parentSticky = targetCellRef.parentElement && targetCellRef.parentElement.className.indexOf('sticky') > -1;
|
|
111
130
|
var parentStickyNative = targetCellRef.parentElement && ((0, _platformFeatureFlags.fg)('platform_editor_table_sticky_header_patch_4') ? tableWrapper === null || tableWrapper === void 0 ? void 0 : tableWrapper.classList.contains(_types.TableCssClassName.TABLE_NODE_WRAPPER_NO_OVERFLOW) : targetCellRef.parentElement.classList.contains(_types.TableCssClassName.NATIVE_STICKY));
|
|
@@ -160,7 +179,7 @@ var FloatingContextualButtonInner = /*#__PURE__*/_react.default.memo(function (p
|
|
|
160
179
|
targetCellPosition: targetCellPosition,
|
|
161
180
|
targetCellRef: targetCellRef,
|
|
162
181
|
mountTo: tableWrapper,
|
|
163
|
-
isContextualMenuOpen:
|
|
182
|
+
isContextualMenuOpen: isCellMenuOpen
|
|
164
183
|
}, button);
|
|
165
184
|
}
|
|
166
185
|
return (0, _react2.jsx)(_ui.Popup, {
|
|
@@ -6,99 +6,84 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.CellMenuPopup = void 0;
|
|
8
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
-
var
|
|
10
|
-
var
|
|
9
|
+
var _ui = require("@atlaskit/editor-common/ui");
|
|
10
|
+
var _uiReact = require("@atlaskit/editor-common/ui-react");
|
|
11
11
|
var _userIntent = require("@atlaskit/editor-common/user-intent");
|
|
12
12
|
var _commands = require("../../pm-plugins/commands");
|
|
13
|
+
var _pluginFactory = require("../../pm-plugins/plugin-factory");
|
|
13
14
|
var _types = require("../../types");
|
|
15
|
+
var _consts = require("../consts");
|
|
14
16
|
var _keys = require("../TableMenu/cell/keys");
|
|
17
|
+
var _consts2 = require("../TableMenu/shared/consts");
|
|
15
18
|
var _TableMenu = require("../TableMenu/shared/TableMenu");
|
|
16
19
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
20
|
+
var PopupWithListeners = (0, _uiReact.withReactEditorViewOuterListeners)(_ui.Popup);
|
|
21
|
+
var NESTED_DROPDOWN_SELECTOR = '[data-toolbar-nested-dropdown-menu]';
|
|
22
|
+
var CELL_MENU_TRIGGER_SELECTOR = ".".concat(_types.TableCssClassName.CONTEXTUAL_MENU_BUTTON);
|
|
17
23
|
var CellMenuPopup = exports.CellMenuPopup = function CellMenuPopup(_ref) {
|
|
18
24
|
var api = _ref.api,
|
|
25
|
+
boundariesElement = _ref.boundariesElement,
|
|
19
26
|
editorView = _ref.editorView,
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
targetCellRef = _ref.targetCellRef
|
|
23
|
-
|
|
24
|
-
var
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
currentUserIntent = _useSharedPluginState.currentUserIntent;
|
|
27
|
+
mountPoint = _ref.mountPoint,
|
|
28
|
+
scrollableElement = _ref.scrollableElement,
|
|
29
|
+
targetCellRef = _ref.targetCellRef,
|
|
30
|
+
zIndex = _ref.zIndex;
|
|
31
|
+
var popupContentRef = (0, _react.useRef)(null);
|
|
32
|
+
var setOutsideClickTargetRef = (0, _react.useContext)(_uiReact.OutsideClickTargetRefContext);
|
|
33
|
+
var handlePopupRef = (0, _react.useCallback)(function (el) {
|
|
34
|
+
popupContentRef.current = el;
|
|
35
|
+
setOutsideClickTargetRef === null || setOutsideClickTargetRef === void 0 || setOutsideClickTargetRef(el);
|
|
36
|
+
}, [setOutsideClickTargetRef]);
|
|
31
37
|
var closeCellMenu = (0, _react.useCallback)(function () {
|
|
32
|
-
var
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
(0, _commands.toggleContextualMenu)()(state, dispatch);
|
|
38
|
+
var _getPluginState = (0, _pluginFactory.getPluginState)(editorView.state),
|
|
39
|
+
isCellMenuOpenByKeyboard = _getPluginState.isCellMenuOpenByKeyboard;
|
|
40
|
+
(0, _commands.closeActiveTableMenu)()(editorView.state, editorView.dispatch);
|
|
36
41
|
if (isCellMenuOpenByKeyboard) {
|
|
37
|
-
(0, _commands.setFocusToCellMenu)(false)(state, dispatch);
|
|
38
|
-
dom.focus();
|
|
42
|
+
(0, _commands.setFocusToCellMenu)(false)(editorView.state, editorView.dispatch);
|
|
39
43
|
}
|
|
40
|
-
}, [editorView
|
|
41
|
-
(0, _react.
|
|
42
|
-
|
|
43
|
-
|
|
44
|
+
}, [editorView]);
|
|
45
|
+
var isEventInsideCellMenu = (0, _react.useCallback)(function (event) {
|
|
46
|
+
var _popupContentRef$curr;
|
|
47
|
+
var target = event.target;
|
|
48
|
+
if (!(target instanceof Node)) {
|
|
49
|
+
return false;
|
|
44
50
|
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
(0, _react.useEffect)(function () {
|
|
48
|
-
if (!isOpen) {
|
|
49
|
-
return;
|
|
51
|
+
if ((_popupContentRef$curr = popupContentRef.current) !== null && _popupContentRef$curr !== void 0 && _popupContentRef$curr.contains(target)) {
|
|
52
|
+
return true;
|
|
50
53
|
}
|
|
51
|
-
|
|
54
|
+
return target instanceof Element && Boolean(target.closest(NESTED_DROPDOWN_SELECTOR) || target.closest(CELL_MENU_TRIGGER_SELECTOR));
|
|
55
|
+
}, []);
|
|
56
|
+
var handleCellMenuClickOutside = (0, _react.useCallback)(function (event) {
|
|
57
|
+
if (isEventInsideCellMenu(event)) {
|
|
52
58
|
return;
|
|
53
59
|
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
type: 'pointerdown',
|
|
77
|
-
listener: handlePointerDown,
|
|
78
|
-
options: {
|
|
79
|
-
capture: true
|
|
80
|
-
}
|
|
81
|
-
});
|
|
82
|
-
var unbindKeyDown = (0, _bindEventListener.bind)(ownerDocument, {
|
|
83
|
-
type: 'keydown',
|
|
84
|
-
listener: handleKeyDown,
|
|
85
|
-
options: {
|
|
86
|
-
capture: true
|
|
87
|
-
}
|
|
88
|
-
});
|
|
89
|
-
return function () {
|
|
90
|
-
unbindPointerDown();
|
|
91
|
-
unbindKeyDown();
|
|
92
|
-
};
|
|
93
|
-
}, [closeCellMenu, isOpen, targetCellRef]);
|
|
94
|
-
return /*#__PURE__*/_react.default.createElement(_userIntent.UserIntentPopupWrapper, {
|
|
60
|
+
closeCellMenu();
|
|
61
|
+
}, [closeCellMenu, isEventInsideCellMenu]);
|
|
62
|
+
return /*#__PURE__*/_react.default.createElement(PopupWithListeners, {
|
|
63
|
+
alignX: "right",
|
|
64
|
+
alignY: "top",
|
|
65
|
+
target: targetCellRef,
|
|
66
|
+
mountTo: mountPoint,
|
|
67
|
+
boundariesElement: boundariesElement,
|
|
68
|
+
scrollableElement: scrollableElement,
|
|
69
|
+
fitHeight: _consts.tablePopupMenuFitHeight,
|
|
70
|
+
fitWidth: _consts2.TABLE_MENU_WIDTH,
|
|
71
|
+
zIndex: zIndex,
|
|
72
|
+
forcePlacement: true
|
|
73
|
+
// eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
|
|
74
|
+
,
|
|
75
|
+
offset: [-7, 0],
|
|
76
|
+
stick: true,
|
|
77
|
+
handleClickOutside: handleCellMenuClickOutside,
|
|
78
|
+
handleEscapeKeydown: closeCellMenu
|
|
79
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
80
|
+
ref: handlePopupRef
|
|
81
|
+
}, /*#__PURE__*/_react.default.createElement(_userIntent.UserIntentPopupWrapper, {
|
|
95
82
|
api: api,
|
|
96
83
|
userIntent: "tableContextualMenuPopupOpen"
|
|
97
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
98
|
-
ref: tableMenuRef
|
|
99
84
|
}, /*#__PURE__*/_react.default.createElement(_TableMenu.TableMenu, {
|
|
100
85
|
api: api,
|
|
101
86
|
editorView: editorView,
|
|
102
87
|
surface: _keys.CELL_MENU
|
|
103
|
-
})));
|
|
88
|
+
}))));
|
|
104
89
|
};
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.default = void 0;
|
|
8
8
|
var _react = require("@emotion/react");
|
|
9
|
+
var _hooks = require("@atlaskit/editor-common/hooks");
|
|
9
10
|
var _ui = require("@atlaskit/editor-common/ui");
|
|
10
11
|
var _utils = require("@atlaskit/editor-prosemirror/utils");
|
|
11
12
|
var _editorSharedStyles = require("@atlaskit/editor-shared-styles");
|
|
@@ -13,7 +14,6 @@ var _utils2 = require("@atlaskit/editor-tables/utils");
|
|
|
13
14
|
var _expValEquals = require("@atlaskit/tmp-editor-statsig/exp-val-equals");
|
|
14
15
|
var _pluginFactory = require("../../pm-plugins/plugin-factory");
|
|
15
16
|
var _consts = require("../consts");
|
|
16
|
-
var _consts2 = require("../TableMenu/shared/consts");
|
|
17
17
|
var _CellMenuPopup = require("./CellMenuPopup");
|
|
18
18
|
var _ContextualMenu = _interopRequireDefault(require("./ContextualMenu"));
|
|
19
19
|
var _styles = require("./styles");
|
|
@@ -40,6 +40,14 @@ var FloatingContextualMenu = function FloatingContextualMenu(_ref) {
|
|
|
40
40
|
isCommentEditor = _ref.isCommentEditor,
|
|
41
41
|
api = _ref.api,
|
|
42
42
|
isDragMenuOpen = _ref.isDragMenuOpen;
|
|
43
|
+
var _useSharedPluginState = (0, _hooks.useSharedPluginStateWithSelector)(api, ['table'], function (states) {
|
|
44
|
+
var _states$tableState;
|
|
45
|
+
return {
|
|
46
|
+
activeTableMenu: (_states$tableState = states.tableState) === null || _states$tableState === void 0 ? void 0 : _states$tableState.activeTableMenu
|
|
47
|
+
};
|
|
48
|
+
}),
|
|
49
|
+
activeTableMenu = _useSharedPluginState.activeTableMenu;
|
|
50
|
+
var isCellMenuOpen = (0, _expValEquals.expValEquals)('platform_editor_table_menu_updates', 'isEnabled', true) ? (activeTableMenu === null || activeTableMenu === void 0 ? void 0 : activeTableMenu.type) === 'cell' : isOpen;
|
|
43
51
|
if (!editorView) {
|
|
44
52
|
return null;
|
|
45
53
|
}
|
|
@@ -47,7 +55,7 @@ var FloatingContextualMenu = function FloatingContextualMenu(_ref) {
|
|
|
47
55
|
// TargetCellPosition could be outdated: https://product-fabric.atlassian.net/browse/ED-8129
|
|
48
56
|
var _getPluginState = (0, _pluginFactory.getPluginState)(editorView.state),
|
|
49
57
|
targetCellPosition = _getPluginState.targetCellPosition;
|
|
50
|
-
if (!
|
|
58
|
+
if (!isCellMenuOpen || !targetCellPosition || editorView.state.doc.nodeSize <= targetCellPosition) {
|
|
51
59
|
return null;
|
|
52
60
|
}
|
|
53
61
|
var selection = editorView.state.selection;
|
|
@@ -64,6 +72,20 @@ var FloatingContextualMenu = function FloatingContextualMenu(_ref) {
|
|
|
64
72
|
return null;
|
|
65
73
|
}
|
|
66
74
|
var parentSticky = targetCellRef.parentElement && targetCellRef.parentElement.className.indexOf('sticky') > -1;
|
|
75
|
+
if ((0, _expValEquals.expValEquals)('platform_editor_table_menu_updates', 'isEnabled', true)) {
|
|
76
|
+
return (0, _react.jsx)(_CellMenuPopup.CellMenuPopup, {
|
|
77
|
+
api: api,
|
|
78
|
+
boundariesElement: boundariesElement,
|
|
79
|
+
editorView: editorView,
|
|
80
|
+
mountPoint: mountPoint,
|
|
81
|
+
scrollableElement: scrollableElement
|
|
82
|
+
// Ignored via go/ees005
|
|
83
|
+
// eslint-disable-next-line @atlaskit/editor/no-as-casting
|
|
84
|
+
,
|
|
85
|
+
targetCellRef: targetCellRef,
|
|
86
|
+
zIndex: parentSticky ? _editorSharedStyles.akEditorFloatingDialogZIndex : _editorSharedStyles.akEditorFloatingOverlapPanelZIndex
|
|
87
|
+
});
|
|
88
|
+
}
|
|
67
89
|
return (0, _react.jsx)(_ui.Popup, {
|
|
68
90
|
alignX: "right",
|
|
69
91
|
alignY: "top"
|
|
@@ -75,7 +97,7 @@ var FloatingContextualMenu = function FloatingContextualMenu(_ref) {
|
|
|
75
97
|
boundariesElement: boundariesElement,
|
|
76
98
|
scrollableElement: scrollableElement,
|
|
77
99
|
fitHeight: _consts.tablePopupMenuFitHeight,
|
|
78
|
-
fitWidth:
|
|
100
|
+
fitWidth: _consts.contextualMenuDropdownWidthDnD
|
|
79
101
|
// z-index value below is to ensure that this menu is above other floating menu
|
|
80
102
|
// in table, but below floating dialogs like typeaheads, pickers, etc.
|
|
81
103
|
,
|
|
@@ -85,15 +107,7 @@ var FloatingContextualMenu = function FloatingContextualMenu(_ref) {
|
|
|
85
107
|
,
|
|
86
108
|
offset: [-7, 0],
|
|
87
109
|
stick: true
|
|
88
|
-
}, (0,
|
|
89
|
-
api: api,
|
|
90
|
-
editorView: editorView,
|
|
91
|
-
isCellMenuOpenByKeyboard: isCellMenuOpenByKeyboard,
|
|
92
|
-
isOpen: isOpen,
|
|
93
|
-
targetCellRef: targetCellRef
|
|
94
|
-
}) :
|
|
95
|
-
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
|
|
96
|
-
(0, _react.jsx)("div", {
|
|
110
|
+
}, (0, _react.jsx)("div", {
|
|
97
111
|
css: (0, _styles.tablePopupStyles)()
|
|
98
112
|
}, (0, _react.jsx)(_ContextualMenu.default, {
|
|
99
113
|
editorView: editorView
|