@atlaskit/editor-plugin-table 7.21.3 → 7.21.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 +22 -0
- package/dist/cjs/nodeviews/TableComponent.js +17 -2
- package/dist/cjs/pm-plugins/keymap.js +4 -6
- package/dist/cjs/pm-plugins/main.js +1 -1
- package/dist/cjs/pm-plugins/table-resizing/event-handlers.js +40 -12
- package/dist/cjs/pm-plugins/table-resizing/utils/resize-column.js +99 -51
- package/dist/cjs/toolbar.js +4 -1
- package/dist/cjs/ui/ColumnResizeWidget/index.js +4 -1
- package/dist/cjs/ui/FloatingAlignmentButtons/FloatingAlignmentButtons.js +4 -1
- package/dist/cjs/ui/FloatingContextualButton/index.js +4 -1
- package/dist/cjs/ui/FloatingContextualMenu/ContextualMenu.js +4 -1
- package/dist/cjs/ui/FloatingContextualMenu/index.js +4 -1
- package/dist/cjs/ui/FloatingDragMenu/DragMenu.js +4 -1
- package/dist/cjs/utils/alignment.js +1 -1
- package/dist/es2019/nodeviews/TableComponent.js +17 -2
- package/dist/es2019/pm-plugins/keymap.js +4 -6
- package/dist/es2019/pm-plugins/main.js +1 -1
- package/dist/es2019/pm-plugins/table-resizing/event-handlers.js +41 -13
- package/dist/es2019/pm-plugins/table-resizing/utils/resize-column.js +97 -48
- package/dist/es2019/toolbar.js +4 -1
- package/dist/es2019/ui/ColumnResizeWidget/index.js +4 -1
- package/dist/es2019/ui/FloatingAlignmentButtons/FloatingAlignmentButtons.js +4 -1
- package/dist/es2019/ui/FloatingContextualButton/index.js +4 -1
- package/dist/es2019/ui/FloatingContextualMenu/ContextualMenu.js +4 -1
- package/dist/es2019/ui/FloatingContextualMenu/index.js +4 -1
- package/dist/es2019/ui/FloatingDragMenu/DragMenu.js +4 -1
- package/dist/es2019/utils/alignment.js +1 -1
- package/dist/esm/nodeviews/TableComponent.js +17 -2
- package/dist/esm/pm-plugins/keymap.js +4 -6
- package/dist/esm/pm-plugins/main.js +1 -1
- package/dist/esm/pm-plugins/table-resizing/event-handlers.js +40 -12
- package/dist/esm/pm-plugins/table-resizing/utils/resize-column.js +99 -51
- package/dist/esm/toolbar.js +4 -1
- package/dist/esm/ui/ColumnResizeWidget/index.js +4 -1
- package/dist/esm/ui/FloatingAlignmentButtons/FloatingAlignmentButtons.js +4 -1
- package/dist/esm/ui/FloatingContextualButton/index.js +4 -1
- package/dist/esm/ui/FloatingContextualMenu/ContextualMenu.js +4 -1
- package/dist/esm/ui/FloatingContextualMenu/index.js +4 -1
- package/dist/esm/ui/FloatingDragMenu/DragMenu.js +4 -1
- package/dist/esm/utils/alignment.js +1 -1
- package/dist/types/pm-plugins/table-resizing/utils/resize-column.d.ts +23 -1
- package/dist/types/ui/ColumnResizeWidget/index.d.ts +4 -1
- package/dist/types/ui/FloatingAlignmentButtons/FloatingAlignmentButtons.d.ts +4 -1
- package/dist/types/ui/FloatingContextualMenu/ContextualMenu.d.ts +4 -1
- package/dist/types/ui/FloatingContextualMenu/index.d.ts +4 -1
- package/dist/types/ui/FloatingDragMenu/DragMenu.d.ts +4 -1
- package/dist/types/utils/alignment.d.ts +1 -1
- package/dist/types-ts4.5/pm-plugins/table-resizing/utils/resize-column.d.ts +23 -1
- package/dist/types-ts4.5/ui/ColumnResizeWidget/index.d.ts +4 -1
- package/dist/types-ts4.5/ui/FloatingAlignmentButtons/FloatingAlignmentButtons.d.ts +4 -1
- package/dist/types-ts4.5/ui/FloatingContextualMenu/ContextualMenu.d.ts +4 -1
- package/dist/types-ts4.5/ui/FloatingContextualMenu/index.d.ts +4 -1
- package/dist/types-ts4.5/ui/FloatingDragMenu/DragMenu.d.ts +4 -1
- package/dist/types-ts4.5/utils/alignment.d.ts +1 -1
- package/package.json +6 -6
- package/src/nodeviews/TableComponent.tsx +14 -0
- package/src/pm-plugins/keymap.ts +30 -32
- package/src/pm-plugins/main.ts +3 -1
- package/src/pm-plugins/table-resizing/event-handlers.ts +37 -25
- package/src/pm-plugins/table-resizing/utils/resize-column.ts +142 -70
- package/src/toolbar.tsx +4 -1
- package/src/ui/ColumnResizeWidget/index.tsx +4 -1
- package/src/ui/FloatingAlignmentButtons/FloatingAlignmentButtons.tsx +4 -1
- package/src/ui/FloatingContextualButton/index.tsx +4 -1
- package/src/ui/FloatingContextualMenu/ContextualMenu.tsx +4 -1
- package/src/ui/FloatingContextualMenu/index.tsx +4 -1
- package/src/ui/FloatingDragMenu/DragMenu.tsx +4 -1
- package/src/utils/alignment.ts +8 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,27 @@
|
|
|
1
1
|
# @atlaskit/editor-plugin-table
|
|
2
2
|
|
|
3
|
+
## 7.21.5
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#122514](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/122514)
|
|
8
|
+
[`91276c81ef8a8`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/91276c81ef8a8) -
|
|
9
|
+
[ED-24019] This change is cleaning up the feature flag
|
|
10
|
+
'platform.editor.a11y-help-dialog-shortcut-keys-position_aghfg' which was introduced for new
|
|
11
|
+
keyboard shortcuts for inserting columns and rows to a table.
|
|
12
|
+
- [#122054](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/122054)
|
|
13
|
+
[`2ead5fa12242d`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/2ead5fa12242d) -
|
|
14
|
+
Use scaled amounts for new column resizing, and update logic to cater for more scenarios
|
|
15
|
+
- Updated dependencies
|
|
16
|
+
|
|
17
|
+
## 7.21.4
|
|
18
|
+
|
|
19
|
+
### Patch Changes
|
|
20
|
+
|
|
21
|
+
- [#122264](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/122264)
|
|
22
|
+
[`257d7e96264e0`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/257d7e96264e0) -
|
|
23
|
+
[ux] Fix table column delete decorations showing when expected in React 18.
|
|
24
|
+
|
|
3
25
|
## 7.21.3
|
|
4
26
|
|
|
5
27
|
### Patch Changes
|
|
@@ -28,6 +28,7 @@ var _utils2 = require("@atlaskit/editor-tables/utils");
|
|
|
28
28
|
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
29
29
|
var _combine = require("@atlaskit/pragmatic-drag-and-drop/combine");
|
|
30
30
|
var _commands = require("../commands");
|
|
31
|
+
var _eventHandlers = require("../event-handlers");
|
|
31
32
|
var _utils3 = require("../pm-plugins/drag-and-drop/utils");
|
|
32
33
|
var _pluginFactory = require("../pm-plugins/plugin-factory");
|
|
33
34
|
var _stickyHeaders = require("../pm-plugins/sticky-headers");
|
|
@@ -74,6 +75,12 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
74
75
|
scroll: 0,
|
|
75
76
|
parentWidth: undefined
|
|
76
77
|
}, (0, _defineProperty3.default)(_defineProperty2, _types.ShadowEvent.SHOW_BEFORE_SHADOW, false), (0, _defineProperty3.default)(_defineProperty2, _types.ShadowEvent.SHOW_AFTER_SHADOW, false), (0, _defineProperty3.default)(_defineProperty2, "tableWrapperWidth", undefined), (0, _defineProperty3.default)(_defineProperty2, "tableWrapperHeight", undefined), _defineProperty2));
|
|
78
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "handleMouseOut", function (event) {
|
|
79
|
+
if (!(0, _eventHandlers.isTableInFocus)(_this.props.view)) {
|
|
80
|
+
return false;
|
|
81
|
+
}
|
|
82
|
+
return (0, _eventHandlers.handleMouseOut)(_this.props.view, event);
|
|
83
|
+
});
|
|
77
84
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "handleMouseEnter", function () {
|
|
78
85
|
var node = _this.props.getNode();
|
|
79
86
|
var pos = _this.props.getPos();
|
|
@@ -364,6 +371,10 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
364
371
|
this === null || this === void 0 || (_this$table = this.table) === null || _this$table === void 0 || _this$table.addEventListener('mouseenter', this.handleMouseEnter);
|
|
365
372
|
}
|
|
366
373
|
}
|
|
374
|
+
if ((0, _platformFeatureFlags.fg)('editor_react_18_fix_table_delete_col_decorations')) {
|
|
375
|
+
var _this$table2;
|
|
376
|
+
this === null || this === void 0 || (_this$table2 = this.table) === null || _this$table2 === void 0 || _this$table2.addEventListener('mouseout', this.handleMouseOut);
|
|
377
|
+
}
|
|
367
378
|
var _getEditorFeatureFlag = getEditorFeatureFlags(),
|
|
368
379
|
_getEditorFeatureFlag2 = _getEditorFeatureFlag.tableWithFixedColumnWidthsOption,
|
|
369
380
|
tableWithFixedColumnWidthsOption = _getEditorFeatureFlag2 === void 0 ? false : _getEditorFeatureFlag2,
|
|
@@ -445,8 +456,12 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
445
456
|
window.removeEventListener('resize', this.handleWindowResizeDebounced);
|
|
446
457
|
}
|
|
447
458
|
if ((0, _platformFeatureFlags.fg)('platform.editor.table.live-pages-sorting_4malx')) {
|
|
448
|
-
var _this$
|
|
449
|
-
this === null || this === void 0 || (_this$
|
|
459
|
+
var _this$table3;
|
|
460
|
+
this === null || this === void 0 || (_this$table3 = this.table) === null || _this$table3 === void 0 || _this$table3.removeEventListener('mouseenter', this.handleMouseEnter);
|
|
461
|
+
}
|
|
462
|
+
if ((0, _platformFeatureFlags.fg)('editor_react_18_fix_table_delete_col_decorations')) {
|
|
463
|
+
var _this$table4;
|
|
464
|
+
this === null || this === void 0 || (_this$table4 = this.table) === null || _this$table4 === void 0 || _this$table4.removeEventListener('mouseout', this.handleMouseOut);
|
|
450
465
|
}
|
|
451
466
|
if (this.overflowShadowsObserver) {
|
|
452
467
|
this.overflowShadowsObserver.dispose();
|
|
@@ -40,12 +40,10 @@ function keymapPlugin(getEditorContainerWidth, editorAnalyticsAPI, dragAndDropEn
|
|
|
40
40
|
(0, _keymaps.bindKeymapWithCommand)(_keymaps.addRowAfter.common, (0, _commandsWithAnalytics.addRowAroundSelection)(editorAnalyticsAPI)('BOTTOM'), list);
|
|
41
41
|
(0, _keymaps.bindKeymapWithCommand)(_keymaps.addColumnBefore.common, (0, _insert.addColumnBefore)(isTableScalingEnabled, isCellBackgroundDuplicated, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent), list);
|
|
42
42
|
(0, _keymaps.bindKeymapWithCommand)(_keymaps.addColumnAfter.common, (0, _insert.addColumnAfter)(isTableScalingEnabled, isCellBackgroundDuplicated, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent), list);
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
(0, _keymaps.bindKeymapWithCommand)(_keymaps.addColumnAfterVO.common, (0, _insert.addColumnAfter)(isTableScalingEnabled, isCellBackgroundDuplicated, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent), list);
|
|
48
|
-
}
|
|
43
|
+
(0, _keymaps.bindKeymapWithCommand)(_keymaps.addRowBeforeVO.common, (0, _commandsWithAnalytics.addRowAroundSelection)(editorAnalyticsAPI)('TOP'), list);
|
|
44
|
+
(0, _keymaps.bindKeymapWithCommand)(_keymaps.addRowAfterVO.common, (0, _commandsWithAnalytics.addRowAroundSelection)(editorAnalyticsAPI)('BOTTOM'), list);
|
|
45
|
+
(0, _keymaps.bindKeymapWithCommand)(_keymaps.addColumnBeforeVO.common, (0, _insert.addColumnBefore)(isTableScalingEnabled, isCellBackgroundDuplicated, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent), list);
|
|
46
|
+
(0, _keymaps.bindKeymapWithCommand)(_keymaps.addColumnAfterVO.common, (0, _insert.addColumnAfter)(isTableScalingEnabled, isCellBackgroundDuplicated, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent), list);
|
|
49
47
|
if (dragAndDropEnabled) {
|
|
50
48
|
// Move row/column shortcuts
|
|
51
49
|
/**
|
|
@@ -282,7 +282,7 @@ var createPlugin = exports.createPlugin = function createPlugin(dispatchAnalytic
|
|
|
282
282
|
mousedown: (0, _eventHandlers.withCellTracking)(_eventHandlers.handleMouseDown),
|
|
283
283
|
mouseover: (0, _eventHandlers.withCellTracking)((0, _eventHandlers.whenTableInFocus)(_eventHandlers.handleMouseOver)),
|
|
284
284
|
mouseleave: _eventHandlers.handleMouseLeave,
|
|
285
|
-
mouseout: (0, _eventHandlers.whenTableInFocus)(_eventHandlers.handleMouseOut),
|
|
285
|
+
mouseout: (0, _platformFeatureFlags.fg)('editor_react_18_fix_table_delete_col_decorations') ? undefined : (0, _eventHandlers.whenTableInFocus)(_eventHandlers.handleMouseOut),
|
|
286
286
|
mousemove: (0, _eventHandlers.whenTableInFocus)(_eventHandlers.handleMouseMove),
|
|
287
287
|
mouseenter: _eventHandlers.handleMouseEnter,
|
|
288
288
|
mouseup: (0, _eventHandlers.whenTableInFocus)(_eventHandlers.handleMouseUp),
|
|
@@ -21,6 +21,7 @@ var _tableAnalytics = require("../table-analytics");
|
|
|
21
21
|
var _commands = require("./commands");
|
|
22
22
|
var _pluginFactory2 = require("./plugin-factory");
|
|
23
23
|
var _utils3 = require("./utils");
|
|
24
|
+
var _resizeColumn = require("./utils/resize-column");
|
|
24
25
|
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; }
|
|
25
26
|
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; }
|
|
26
27
|
var handleMouseDown = exports.handleMouseDown = function handleMouseDown(view, event, localResizeHandlePos, getEditorContainerWidth, getEditorFeatureFlags, isTableScalingEnabled, editorAnalyticsAPI, isNewColumnResizingEnabled, isTableAlignmentEnabled) {
|
|
@@ -29,7 +30,8 @@ var handleMouseDown = exports.handleMouseDown = function handleMouseDown(view, e
|
|
|
29
30
|
var editorDisabled = !view.editable;
|
|
30
31
|
var domAtPos = view.domAtPos.bind(view);
|
|
31
32
|
var _getEditorContainerWi = getEditorContainerWidth(),
|
|
32
|
-
lineLength = _getEditorContainerWi.lineLength
|
|
33
|
+
lineLength = _getEditorContainerWi.lineLength,
|
|
34
|
+
editorWidth = _getEditorContainerWi.width;
|
|
33
35
|
if (editorDisabled || localResizeHandlePos === null || !(0, _utils3.pointsAtCell)(state.doc.resolve(localResizeHandlePos))) {
|
|
34
36
|
return false;
|
|
35
37
|
}
|
|
@@ -95,6 +97,17 @@ var handleMouseDown = exports.handleMouseDown = function handleMouseDown(view, e
|
|
|
95
97
|
// When we start resizing a column we need to ensure the underlying tooltip is removed from the decoration to avoid
|
|
96
98
|
// unnecessary tooltips being displayed during drag.
|
|
97
99
|
(0, _misc.updateResizeHandleDecorations)(undefined, undefined, false)(state, dispatch);
|
|
100
|
+
|
|
101
|
+
// for new column resizing, take the current scaled version of table widths and use those as the basis for resizing
|
|
102
|
+
// implication: the scaled version of the table becomes the source of truth
|
|
103
|
+
if (isNewColumnResizingEnabled && shouldScale) {
|
|
104
|
+
resizeState = (0, _resizeColumn.scaleResizeState)({
|
|
105
|
+
resizeState: resizeState,
|
|
106
|
+
tableRef: dom,
|
|
107
|
+
tableNode: originalTable,
|
|
108
|
+
editorWidth: editorWidth
|
|
109
|
+
});
|
|
110
|
+
}
|
|
98
111
|
function finish(event) {
|
|
99
112
|
window.removeEventListener('mouseup', finish);
|
|
100
113
|
window.removeEventListener('mousemove', move);
|
|
@@ -154,18 +167,23 @@ var handleMouseDown = exports.handleMouseDown = function handleMouseDown(view, e
|
|
|
154
167
|
var resizedDelta = clientX - startX;
|
|
155
168
|
var shouldUseIncreasedScalingPercent = isTableScalingWithFixedColumnWidthsOptionEnabled && (0, _platformFeatureFlags.fg)('platform.editor.table.use-increased-scaling-percent');
|
|
156
169
|
if (isNewColumnResizingEnabled && !(0, _utils2.isTableNested)(state, tablePos)) {
|
|
157
|
-
var newResizeState = (0, _utils3.resizeColumnAndTable)(
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
170
|
+
var newResizeState = (0, _utils3.resizeColumnAndTable)({
|
|
171
|
+
resizeState: resizeState,
|
|
172
|
+
colIndex: colIndex,
|
|
173
|
+
amount: resizedDelta,
|
|
174
|
+
tableRef: dom,
|
|
175
|
+
tableNode: originalTable,
|
|
176
|
+
width: editorWidth,
|
|
177
|
+
lineLength: lineLength,
|
|
178
|
+
isTableAlignmentEnabled: isTableAlignmentEnabled
|
|
179
|
+
});
|
|
162
180
|
tr = (0, _transforms.updateColumnWidths)(newResizeState, table, start)(tr);
|
|
163
181
|
|
|
164
182
|
// If the table is aligned to the start and the table width is greater than the line length, we should change the alignment to center
|
|
165
|
-
var shouldChangeAlignment = (0, _alignment.shouldChangeAlignmentToCenterResized)(isTableAlignmentEnabled, originalTable, lineLength, newResizeState.
|
|
183
|
+
var shouldChangeAlignment = (0, _alignment.shouldChangeAlignmentToCenterResized)(isTableAlignmentEnabled, originalTable, lineLength, newResizeState.maxSize);
|
|
166
184
|
if (shouldChangeAlignment) {
|
|
167
185
|
tr = tr.setNodeMarkup(start - 1, state.schema.nodes.table, _objectSpread(_objectSpread({}, table.attrs), {}, {
|
|
168
|
-
width: newResizeState.
|
|
186
|
+
width: newResizeState.maxSize,
|
|
169
187
|
layout: _alignment.ALIGN_CENTER
|
|
170
188
|
}));
|
|
171
189
|
editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 || editorAnalyticsAPI.attachAnalyticsEvent({
|
|
@@ -173,7 +191,7 @@ var handleMouseDown = exports.handleMouseDown = function handleMouseDown(view, e
|
|
|
173
191
|
actionSubject: _analytics.ACTION_SUBJECT.TABLE,
|
|
174
192
|
actionSubjectId: null,
|
|
175
193
|
attributes: {
|
|
176
|
-
tableWidth: newResizeState.
|
|
194
|
+
tableWidth: newResizeState.maxSize,
|
|
177
195
|
newAlignment: _alignment.ALIGN_CENTER,
|
|
178
196
|
previousAlignment: _alignment.ALIGN_START,
|
|
179
197
|
totalRowCount: totalRowCount,
|
|
@@ -184,7 +202,7 @@ var handleMouseDown = exports.handleMouseDown = function handleMouseDown(view, e
|
|
|
184
202
|
eventType: _analytics.EVENT_TYPE.TRACK
|
|
185
203
|
})(tr);
|
|
186
204
|
} else {
|
|
187
|
-
tr.setNodeAttribute(start - 1, 'width', newResizeState.
|
|
205
|
+
tr.setNodeAttribute(start - 1, 'width', newResizeState.maxSize);
|
|
188
206
|
}
|
|
189
207
|
} else {
|
|
190
208
|
var _newResizeState = (0, _utils3.resizeColumn)(resizeState, colIndex, resizedDelta, dom, originalTable, resizingSelectedColumns ? selectedColumns : undefined, _shouldScale, shouldUseIncreasedScalingPercent);
|
|
@@ -256,10 +274,20 @@ var handleMouseDown = exports.handleMouseDown = function handleMouseDown(view, e
|
|
|
256
274
|
if (isTableScalingWithFixedColumnWidthsOptionEnabled) {
|
|
257
275
|
shouldScale = shouldScale && originalTable.attrs.displayMode !== 'fixed';
|
|
258
276
|
}
|
|
277
|
+
var resizedDelta = clientX - dragging.startX;
|
|
259
278
|
if (isNewColumnResizingEnabled && !(0, _utils2.isTableNested)(state, tablePos)) {
|
|
260
|
-
(0, _utils3.resizeColumnAndTable)(
|
|
279
|
+
(0, _utils3.resizeColumnAndTable)({
|
|
280
|
+
resizeState: resizeState,
|
|
281
|
+
colIndex: colIndex,
|
|
282
|
+
amount: resizedDelta,
|
|
283
|
+
tableRef: dom,
|
|
284
|
+
tableNode: originalTable,
|
|
285
|
+
width: editorWidth,
|
|
286
|
+
lineLength: lineLength,
|
|
287
|
+
isTableAlignmentEnabled: isTableAlignmentEnabled
|
|
288
|
+
});
|
|
261
289
|
} else {
|
|
262
|
-
(0, _utils3.resizeColumn)(resizeState, colIndex,
|
|
290
|
+
(0, _utils3.resizeColumn)(resizeState, colIndex, resizedDelta, dom, table, undefined, shouldScale, shouldUseIncreasedScalingPercent);
|
|
263
291
|
}
|
|
264
292
|
(0, _utils3.updateControls)()(state);
|
|
265
293
|
}
|
|
@@ -4,8 +4,9 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.resizeColumnAndTable = exports.resizeColumn = void 0;
|
|
7
|
+
exports.scaleResizeState = exports.resizeColumnAndTable = exports.resizeColumn = void 0;
|
|
8
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
+
var _editorSharedStyles = require("@atlaskit/editor-shared-styles");
|
|
9
10
|
var _types = require("../../../types");
|
|
10
11
|
var _alignment = require("../../../utils/alignment");
|
|
11
12
|
var _misc = require("./misc");
|
|
@@ -26,68 +27,115 @@ var resizeColumn = exports.resizeColumn = function resizeColumn(resizeState, col
|
|
|
26
27
|
(0, _resizeState.updateColgroup)(newState, tableRef, tableNode, isTableScalingEnabled, shouldUseIncreasedScalingPercent);
|
|
27
28
|
return newState;
|
|
28
29
|
};
|
|
30
|
+
var resizeColumnAndTable = exports.resizeColumnAndTable = function resizeColumnAndTable(_ref) {
|
|
31
|
+
var resizeState = _ref.resizeState,
|
|
32
|
+
colIndex = _ref.colIndex,
|
|
33
|
+
amount = _ref.amount,
|
|
34
|
+
tableRef = _ref.tableRef,
|
|
35
|
+
tableNode = _ref.tableNode,
|
|
36
|
+
lineLength = _ref.lineLength,
|
|
37
|
+
editorWidth = _ref.width,
|
|
38
|
+
isTableAlignmentEnabled = _ref.isTableAlignmentEnabled;
|
|
39
|
+
var editorContainerWidth = getEditorContainerWidth(editorWidth);
|
|
40
|
+
var isTableLeftAligned = tableNode.attrs.layout === _alignment.ALIGN_START;
|
|
41
|
+
var resizeAmount = isTableLeftAligned ? amount : amount * 2;
|
|
42
|
+
var willTableHitEditorEdge = resizeState.maxSize + resizeAmount > editorContainerWidth;
|
|
43
|
+
var willResizedTableStayInOverflow = resizeState.overflow && resizeState.tableWidth + resizeAmount / 2 > resizeState.maxSize;
|
|
29
44
|
|
|
30
|
-
//
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
var isOverflowed = !!(tableWidth && tableContainerWidth && tableWidth > tableContainerWidth);
|
|
42
|
-
var resizeAmount = tableNode.attrs.layout === _alignment.ALIGN_START && !isOverflowed ? amount : amount * 2;
|
|
43
|
-
|
|
44
|
-
// todo: reimplement - use getTableScalingPercentFrozen to get scaled percent before table width changes dynamically
|
|
45
|
-
// let scalePercent = 1;
|
|
46
|
-
// if (isTableScalingEnabled) {
|
|
47
|
-
// import from ./misc
|
|
48
|
-
// scalePercent = getStaticTableScalingPercent(
|
|
49
|
-
// tableNode,
|
|
50
|
-
// originalTableWidth || resizeState.maxSize,
|
|
51
|
-
// );
|
|
52
|
-
// resizeAmount = amount / scalePercent;
|
|
53
|
-
// }
|
|
54
|
-
|
|
55
|
-
// need to look at the resize amount and try to adjust the colgroups
|
|
56
|
-
if (isOverflowed) {
|
|
57
|
-
resizeAmount = amount < 0 ? amount : resizeAmount - (tableNode.attrs.width + resizeAmount - tableContainerWidth) / 2;
|
|
45
|
+
// STEP 1: Update col width
|
|
46
|
+
if (willTableHitEditorEdge || willResizedTableStayInOverflow) {
|
|
47
|
+
var _tableRef$closest;
|
|
48
|
+
var tableContainerWidth = (_tableRef$closest = tableRef.closest('.pm-table-container')) === null || _tableRef$closest === void 0 ? void 0 : _tableRef$closest.clientWidth;
|
|
49
|
+
resizeAmount = amount < 0 ? amount : resizeAmount - (resizeState.maxSize + resizeAmount - tableContainerWidth) / 2;
|
|
50
|
+
}
|
|
51
|
+
if (!willResizedTableStayInOverflow && !willTableHitEditorEdge) {
|
|
52
|
+
var diff = -(resizeState.tableWidth - resizeState.maxSize);
|
|
53
|
+
var rest = amount - diff;
|
|
54
|
+
var final = isTableLeftAligned ? diff + rest : diff + rest * 2;
|
|
55
|
+
resizeAmount = final;
|
|
58
56
|
}
|
|
59
57
|
var newState = (0, _resizeLogic.updateAffectedColumn)(resizeState, colIndex, resizeAmount);
|
|
60
58
|
|
|
61
|
-
//
|
|
62
|
-
//
|
|
63
|
-
(0, _resizeState.updateColgroup)(newState, tableRef, tableNode, false, shouldUseIncreasedScalingPercent);
|
|
64
|
-
|
|
65
|
-
// use the difference in width from affected column to update overall table width
|
|
59
|
+
// STEP 2: Update table container width
|
|
60
|
+
// columns have a min width, so delta !== resizeAmount when this is reached, use this for calculations
|
|
66
61
|
var delta = newState.cols[colIndex].width - resizeState.cols[colIndex].width;
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
62
|
+
newState.maxSize = Math.round(resizeState.overflow ? willResizedTableStayInOverflow ?
|
|
63
|
+
// CASE 1A: table will stay in overflow
|
|
64
|
+
// do not grow the table because resize is happening in the overflow region
|
|
65
|
+
// and the overall table container needs to be retained
|
|
66
|
+
resizeState.maxSize :
|
|
67
|
+
// CASE 1B: table will no longer be in overflow, so adjust container width
|
|
68
|
+
// ensure the table is resized without any 'big jumps' by working out
|
|
69
|
+
// the difference between the new table width and the max size and adding the resize
|
|
70
|
+
resizeState.maxSize + (resizeState.tableWidth - resizeState.maxSize + delta) : willTableHitEditorEdge ?
|
|
71
|
+
// CASE 2: table will hit editor edge
|
|
72
|
+
editorContainerWidth :
|
|
73
|
+
// CASE 3: table is being resized from a non-overflow state
|
|
74
|
+
resizeState.maxSize + delta);
|
|
75
|
+
|
|
76
|
+
// do not apply scaling logic because resize state is already scaled
|
|
77
|
+
(0, _resizeState.updateColgroup)(newState, tableRef, tableNode, false, false);
|
|
78
|
+
if (!willTableHitEditorEdge && !willResizedTableStayInOverflow) {
|
|
79
|
+
updateTablePreview(tableRef, newState.maxSize, (0, _alignment.shouldChangeAlignmentToCenterResized)(isTableAlignmentEnabled, tableNode, lineLength, newState.maxSize));
|
|
71
80
|
}
|
|
72
|
-
return
|
|
73
|
-
// resizeState.tableWidth sometimes is off by ~3px on load on resized table when !isOverflowed, using resizeState.maxSize instead
|
|
74
|
-
tableWidth: isOverflowed ? tableContainerWidth : resizeState.maxSize + delta
|
|
75
|
-
});
|
|
81
|
+
return newState;
|
|
76
82
|
};
|
|
77
|
-
var updateTablePreview = function updateTablePreview(
|
|
78
|
-
var
|
|
79
|
-
var resizingContainer = tableRef === null || tableRef === void 0 ? void 0 : tableRef.closest(".".concat(_types.TableCssClassName.TABLE_RESIZER_CONTAINER));
|
|
83
|
+
var updateTablePreview = function updateTablePreview(tableRef, newTableWidth, shouldChangeAlignment) {
|
|
84
|
+
var resizingContainer = tableRef.closest(".".concat(_types.TableCssClassName.TABLE_RESIZER_CONTAINER));
|
|
80
85
|
var resizingItem = resizingContainer === null || resizingContainer === void 0 ? void 0 : resizingContainer.querySelector('.resizer-item');
|
|
81
86
|
var alignmentContainer = resizingContainer === null || resizingContainer === void 0 ? void 0 : resizingContainer.parentElement;
|
|
82
87
|
if (resizingItem) {
|
|
83
|
-
var newWidth = "".concat(
|
|
84
|
-
if (tableRef) {
|
|
85
|
-
tableRef.style.width = newWidth;
|
|
86
|
-
}
|
|
88
|
+
var newWidth = "".concat(newTableWidth, "px");
|
|
87
89
|
resizingContainer.style.width = newWidth;
|
|
88
90
|
resizingItem.style.width = newWidth;
|
|
89
|
-
if (
|
|
90
|
-
alignmentContainer.style.justifyContent =
|
|
91
|
+
if (shouldChangeAlignment && alignmentContainer) {
|
|
92
|
+
alignmentContainer.style.justifyContent = _alignment.ALIGN_CENTER;
|
|
91
93
|
}
|
|
92
94
|
}
|
|
95
|
+
};
|
|
96
|
+
var getEditorContainerWidth = function getEditorContainerWidth(editorWidth) {
|
|
97
|
+
return Math.min(editorWidth - (0, _editorSharedStyles.akEditorGutterPaddingDynamic)() * 2, _editorSharedStyles.akEditorFullWidthLayoutWidth);
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Apply a scaling factor to resize state
|
|
102
|
+
*/
|
|
103
|
+
var scaleResizeState = exports.scaleResizeState = function scaleResizeState(_ref2) {
|
|
104
|
+
var resizeState = _ref2.resizeState,
|
|
105
|
+
tableRef = _ref2.tableRef,
|
|
106
|
+
tableNode = _ref2.tableNode,
|
|
107
|
+
editorWidth = _ref2.editorWidth;
|
|
108
|
+
// check if table is scaled, if not then avoid applying scaling values down
|
|
109
|
+
if (resizeState.maxSize < getEditorContainerWidth(editorWidth)) {
|
|
110
|
+
return resizeState;
|
|
111
|
+
}
|
|
112
|
+
var scalePercent = (0, _misc.getTableScalingPercent)(tableNode, tableRef);
|
|
113
|
+
var cols = resizeState.cols.map(function (col) {
|
|
114
|
+
return _objectSpread(_objectSpread({}, col), {}, {
|
|
115
|
+
width: Math.round(Math.max(col.width * scalePercent, col.minWidth))
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
var scaledTableWidth = Math.round(resizeState.tableWidth * scalePercent);
|
|
119
|
+
var calculatedTableWidth = cols.reduce(function (prev, curr) {
|
|
120
|
+
return prev + curr.width;
|
|
121
|
+
}, 0);
|
|
122
|
+
|
|
123
|
+
// using Math.round can cause the sum of col widths to be larger than the table width
|
|
124
|
+
// distribute the difference to the smallest column
|
|
125
|
+
if (calculatedTableWidth > scaledTableWidth) {
|
|
126
|
+
var diff = calculatedTableWidth - scaledTableWidth;
|
|
127
|
+
cols = cols.map(function (col) {
|
|
128
|
+
return col.width - diff >= col.minWidth ? _objectSpread(_objectSpread({}, col), {}, {
|
|
129
|
+
width: col.width - diff
|
|
130
|
+
}) : col;
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
return _objectSpread(_objectSpread({}, resizeState), {}, {
|
|
134
|
+
widths: cols.map(function (col) {
|
|
135
|
+
return col.width;
|
|
136
|
+
}),
|
|
137
|
+
tableWidth: scaledTableWidth,
|
|
138
|
+
maxSize: Math.round(resizeState.maxSize * scalePercent),
|
|
139
|
+
cols: cols
|
|
140
|
+
});
|
|
93
141
|
};
|
package/dist/cjs/toolbar.js
CHANGED
|
@@ -42,7 +42,10 @@ var _alignment = require("./utils/alignment");
|
|
|
42
42
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
43
43
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
44
44
|
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; }
|
|
45
|
-
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; } /**
|
|
45
|
+
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; } /**
|
|
46
|
+
* @jsxRuntime classic
|
|
47
|
+
* @jsx jsx
|
|
48
|
+
*/ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
|
|
46
49
|
var getToolbarMenuConfig = exports.getToolbarMenuConfig = function getToolbarMenuConfig(config, state, _ref, editorAnalyticsAPI) {
|
|
47
50
|
var formatMessage = _ref.formatMessage;
|
|
48
51
|
var isTableScalingWithFixedColumnWidthsOptionShown = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
|
|
@@ -12,7 +12,10 @@ var _keymaps = require("@atlaskit/editor-common/keymaps");
|
|
|
12
12
|
var _messages = require("@atlaskit/editor-common/messages");
|
|
13
13
|
var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
|
|
14
14
|
var _types = require("../../types");
|
|
15
|
-
/**
|
|
15
|
+
/**
|
|
16
|
+
* @jsxRuntime classic
|
|
17
|
+
* @jsx jsx
|
|
18
|
+
*/
|
|
16
19
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
|
|
17
20
|
|
|
18
21
|
var ColumnResizeWidget = exports.ColumnResizeWidget = function ColumnResizeWidget(_ref) {
|
|
@@ -8,7 +8,10 @@ var _react = require("@emotion/react");
|
|
|
8
8
|
var _button = require("@atlaskit/button");
|
|
9
9
|
var _ui = require("@atlaskit/editor-common/ui");
|
|
10
10
|
var _primitives = require("@atlaskit/primitives");
|
|
11
|
-
/**
|
|
11
|
+
/**
|
|
12
|
+
* @jsxRuntime classic
|
|
13
|
+
* @jsx jsx
|
|
14
|
+
*/
|
|
12
15
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
|
|
13
16
|
|
|
14
17
|
var containerStyles = (0, _primitives.xcss)({
|
|
@@ -25,7 +25,10 @@ var _FixedButton = _interopRequireDefault(require("./FixedButton"));
|
|
|
25
25
|
var _styles = require("./styles");
|
|
26
26
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
27
27
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
28
|
-
/**
|
|
28
|
+
/**
|
|
29
|
+
* @jsxRuntime classic
|
|
30
|
+
* @jsx jsx
|
|
31
|
+
*/
|
|
29
32
|
|
|
30
33
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
|
|
31
34
|
|
|
@@ -48,7 +48,10 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
|
|
|
48
48
|
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; }
|
|
49
49
|
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; }
|
|
50
50
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
51
|
-
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /* eslint-disable @atlaskit/design-system/prefer-primitives */ /**
|
|
51
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /* eslint-disable @atlaskit/design-system/prefer-primitives */ /**
|
|
52
|
+
* @jsxRuntime classic
|
|
53
|
+
* @jsx jsx
|
|
54
|
+
*/ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
|
|
52
55
|
var arrowsList = new Set(['ArrowRight', 'ArrowLeft']);
|
|
53
56
|
var ContextualMenu = exports.ContextualMenu = /*#__PURE__*/function (_Component) {
|
|
54
57
|
(0, _inherits2.default)(ContextualMenu, _Component);
|
|
@@ -14,7 +14,10 @@ var _pluginFactory = require("../../pm-plugins/plugin-factory");
|
|
|
14
14
|
var _consts = require("../consts");
|
|
15
15
|
var _ContextualMenu = _interopRequireDefault(require("./ContextualMenu"));
|
|
16
16
|
var _styles = require("./styles");
|
|
17
|
-
/**
|
|
17
|
+
/**
|
|
18
|
+
* @jsxRuntime classic
|
|
19
|
+
* @jsx jsx
|
|
20
|
+
*/
|
|
18
21
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
|
|
19
22
|
|
|
20
23
|
var FloatingContextualMenu = function FloatingContextualMenu(_ref) {
|
|
@@ -38,7 +38,10 @@ var _styles2 = require("./styles");
|
|
|
38
38
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
39
39
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
40
40
|
/* eslint-disable @atlaskit/design-system/prefer-primitives */
|
|
41
|
-
/**
|
|
41
|
+
/**
|
|
42
|
+
* @jsxRuntime classic
|
|
43
|
+
* @jsx jsx
|
|
44
|
+
*/
|
|
42
45
|
/** @jsxFrag */
|
|
43
46
|
|
|
44
47
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
|
|
@@ -20,5 +20,5 @@ var normaliseAlignment = exports.normaliseAlignment = function normaliseAlignmen
|
|
|
20
20
|
* We don't want to switch alignment in Full-width editor
|
|
21
21
|
*/
|
|
22
22
|
var shouldChangeAlignmentToCenterResized = exports.shouldChangeAlignmentToCenterResized = function shouldChangeAlignmentToCenterResized(isTableAlignmentEnabled, tableNode, lineLength, updatedTableWidth) {
|
|
23
|
-
return isTableAlignmentEnabled && tableNode && tableNode.attrs.layout === ALIGN_START && lineLength && updatedTableWidth > lineLength && lineLength < _consts.FULL_WIDTH_EDITOR_CONTENT_WIDTH;
|
|
23
|
+
return Boolean(isTableAlignmentEnabled && tableNode && tableNode.attrs.layout === ALIGN_START && lineLength && updatedTableWidth > lineLength && lineLength < _consts.FULL_WIDTH_EDITOR_CONTENT_WIDTH);
|
|
24
24
|
};
|
|
@@ -14,6 +14,7 @@ import { findTable, isTableSelected } from '@atlaskit/editor-tables/utils';
|
|
|
14
14
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
15
15
|
import { combine } from '@atlaskit/pragmatic-drag-and-drop/combine';
|
|
16
16
|
import { autoSizeTable, clearHoverSelection } from '../commands';
|
|
17
|
+
import { handleMouseOut, isTableInFocus } from '../event-handlers';
|
|
17
18
|
import { autoScrollerFactory } from '../pm-plugins/drag-and-drop/utils';
|
|
18
19
|
import { getPluginState } from '../pm-plugins/plugin-factory';
|
|
19
20
|
import { findStickyHeaderForTable, pluginKey as stickyHeadersPluginKey } from '../pm-plugins/sticky-headers';
|
|
@@ -52,6 +53,12 @@ class TableComponent extends React.Component {
|
|
|
52
53
|
tableWrapperWidth: undefined,
|
|
53
54
|
tableWrapperHeight: undefined
|
|
54
55
|
});
|
|
56
|
+
_defineProperty(this, "handleMouseOut", event => {
|
|
57
|
+
if (!isTableInFocus(this.props.view)) {
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
return handleMouseOut(this.props.view, event);
|
|
61
|
+
});
|
|
55
62
|
_defineProperty(this, "handleMouseEnter", () => {
|
|
56
63
|
const node = this.props.getNode();
|
|
57
64
|
const pos = this.props.getPos();
|
|
@@ -348,6 +355,10 @@ class TableComponent extends React.Component {
|
|
|
348
355
|
this === null || this === void 0 ? void 0 : (_this$table = this.table) === null || _this$table === void 0 ? void 0 : _this$table.addEventListener('mouseenter', this.handleMouseEnter);
|
|
349
356
|
}
|
|
350
357
|
}
|
|
358
|
+
if (fg('editor_react_18_fix_table_delete_col_decorations')) {
|
|
359
|
+
var _this$table2;
|
|
360
|
+
this === null || this === void 0 ? void 0 : (_this$table2 = this.table) === null || _this$table2 === void 0 ? void 0 : _this$table2.addEventListener('mouseout', this.handleMouseOut);
|
|
361
|
+
}
|
|
351
362
|
const {
|
|
352
363
|
tableWithFixedColumnWidthsOption = false,
|
|
353
364
|
stickyScrollbar
|
|
@@ -429,8 +440,12 @@ class TableComponent extends React.Component {
|
|
|
429
440
|
window.removeEventListener('resize', this.handleWindowResizeDebounced);
|
|
430
441
|
}
|
|
431
442
|
if (fg('platform.editor.table.live-pages-sorting_4malx')) {
|
|
432
|
-
var _this$
|
|
433
|
-
this === null || this === void 0 ? void 0 : (_this$
|
|
443
|
+
var _this$table3;
|
|
444
|
+
this === null || this === void 0 ? void 0 : (_this$table3 = this.table) === null || _this$table3 === void 0 ? void 0 : _this$table3.removeEventListener('mouseenter', this.handleMouseEnter);
|
|
445
|
+
}
|
|
446
|
+
if (fg('editor_react_18_fix_table_delete_col_decorations')) {
|
|
447
|
+
var _this$table4;
|
|
448
|
+
this === null || this === void 0 ? void 0 : (_this$table4 = this.table) === null || _this$table4 === void 0 ? void 0 : _this$table4.removeEventListener('mouseout', this.handleMouseOut);
|
|
434
449
|
}
|
|
435
450
|
if (this.overflowShadowsObserver) {
|
|
436
451
|
this.overflowShadowsObserver.dispose();
|
|
@@ -23,12 +23,10 @@ export function keymapPlugin(getEditorContainerWidth, editorAnalyticsAPI, dragAn
|
|
|
23
23
|
bindKeymapWithCommand(addRowAfter.common, addRowAroundSelection(editorAnalyticsAPI)('BOTTOM'), list);
|
|
24
24
|
bindKeymapWithCommand(addColumnBefore.common, addColumnBeforeCommand(isTableScalingEnabled, isCellBackgroundDuplicated, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent), list);
|
|
25
25
|
bindKeymapWithCommand(addColumnAfter.common, addColumnAfterCommand(isTableScalingEnabled, isCellBackgroundDuplicated, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent), list);
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
bindKeymapWithCommand(addColumnAfterVO.common, addColumnAfterCommand(isTableScalingEnabled, isCellBackgroundDuplicated, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent), list);
|
|
31
|
-
}
|
|
26
|
+
bindKeymapWithCommand(addRowBeforeVO.common, addRowAroundSelection(editorAnalyticsAPI)('TOP'), list);
|
|
27
|
+
bindKeymapWithCommand(addRowAfterVO.common, addRowAroundSelection(editorAnalyticsAPI)('BOTTOM'), list);
|
|
28
|
+
bindKeymapWithCommand(addColumnBeforeVO.common, addColumnBeforeCommand(isTableScalingEnabled, isCellBackgroundDuplicated, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent), list);
|
|
29
|
+
bindKeymapWithCommand(addColumnAfterVO.common, addColumnAfterCommand(isTableScalingEnabled, isCellBackgroundDuplicated, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent), list);
|
|
32
30
|
if (dragAndDropEnabled) {
|
|
33
31
|
// Move row/column shortcuts
|
|
34
32
|
/**
|
|
@@ -280,7 +280,7 @@ export const createPlugin = (dispatchAnalyticsEvent, dispatch, portalProviderAPI
|
|
|
280
280
|
mousedown: withCellTracking(handleMouseDown),
|
|
281
281
|
mouseover: withCellTracking(whenTableInFocus(handleMouseOver)),
|
|
282
282
|
mouseleave: handleMouseLeave,
|
|
283
|
-
mouseout: whenTableInFocus(handleMouseOut),
|
|
283
|
+
mouseout: fg('editor_react_18_fix_table_delete_col_decorations') ? undefined : whenTableInFocus(handleMouseOut),
|
|
284
284
|
mousemove: whenTableInFocus(handleMouseMove),
|
|
285
285
|
mouseenter: handleMouseEnter,
|
|
286
286
|
mouseup: whenTableInFocus(handleMouseUp),
|