@atlaskit/editor-plugin-table 7.4.8 → 7.5.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 +12 -0
- package/dist/cjs/commands/column-resize.js +4 -2
- package/dist/cjs/commands/delete.js +2 -1
- package/dist/cjs/commands/insert.js +6 -3
- package/dist/cjs/commands-with-analytics.js +4 -2
- package/dist/cjs/event-handlers.js +2 -1
- package/dist/cjs/nodeviews/TableComponent.js +116 -47
- package/dist/cjs/nodeviews/TableContainer.js +8 -4
- package/dist/cjs/nodeviews/TableResizer.js +6 -5
- package/dist/cjs/nodeviews/table.js +12 -4
- package/dist/cjs/plugin.js +50 -47
- package/dist/cjs/pm-plugins/drag-and-drop/plugin.js +9 -6
- package/dist/cjs/pm-plugins/keymap.js +6 -3
- package/dist/cjs/pm-plugins/main.js +4 -1
- package/dist/cjs/pm-plugins/table-resizing/event-handlers.js +7 -3
- package/dist/cjs/pm-plugins/table-resizing/utils/colgroup.js +32 -11
- package/dist/cjs/pm-plugins/table-resizing/utils/consts.js +4 -2
- package/dist/cjs/pm-plugins/table-resizing/utils/index.js +24 -0
- package/dist/cjs/pm-plugins/table-resizing/utils/misc.js +20 -1
- package/dist/cjs/pm-plugins/table-resizing/utils/resize-column.js +2 -1
- package/dist/cjs/pm-plugins/table-resizing/utils/resize-state.js +52 -11
- package/dist/cjs/pm-plugins/table-resizing/utils/scale-table.js +19 -8
- package/dist/cjs/toolbar.js +17 -10
- package/dist/cjs/transforms/column-width.js +22 -7
- package/dist/cjs/transforms/delete-columns.js +2 -1
- package/dist/cjs/ui/FloatingContextualMenu/ContextualMenu.js +45 -38
- package/dist/cjs/ui/FloatingContextualMenu/index.js +5 -3
- package/dist/cjs/ui/FloatingDragMenu/DragMenu.js +15 -4
- package/dist/cjs/ui/FloatingDragMenu/DropdownMenu.js +53 -8
- package/dist/cjs/ui/FloatingDragMenu/index.js +15 -6
- package/dist/cjs/ui/FloatingInsertButton/index.js +5 -1
- package/dist/cjs/ui/consts.js +2 -1
- package/dist/cjs/utils/create.js +1 -1
- package/dist/cjs/utils/drag-menu.js +4 -3
- package/dist/es2019/commands/column-resize.js +4 -3
- package/dist/es2019/commands/delete.js +2 -2
- package/dist/es2019/commands/insert.js +6 -6
- package/dist/es2019/commands-with-analytics.js +4 -4
- package/dist/es2019/event-handlers.js +2 -2
- package/dist/es2019/nodeviews/TableComponent.js +77 -8
- package/dist/es2019/nodeviews/TableContainer.js +8 -4
- package/dist/es2019/nodeviews/TableResizer.js +6 -5
- package/dist/es2019/nodeviews/table.js +12 -4
- package/dist/es2019/plugin.js +14 -8
- package/dist/es2019/pm-plugins/drag-and-drop/plugin.js +7 -4
- package/dist/es2019/pm-plugins/keymap.js +6 -3
- package/dist/es2019/pm-plugins/main.js +4 -1
- package/dist/es2019/pm-plugins/table-resizing/event-handlers.js +7 -3
- package/dist/es2019/pm-plugins/table-resizing/utils/colgroup.js +31 -12
- package/dist/es2019/pm-plugins/table-resizing/utils/consts.js +3 -1
- package/dist/es2019/pm-plugins/table-resizing/utils/index.js +2 -2
- package/dist/es2019/pm-plugins/table-resizing/utils/misc.js +20 -2
- package/dist/es2019/pm-plugins/table-resizing/utils/resize-column.js +2 -2
- package/dist/es2019/pm-plugins/table-resizing/utils/resize-state.js +47 -10
- package/dist/es2019/pm-plugins/table-resizing/utils/scale-table.js +19 -12
- package/dist/es2019/toolbar.js +15 -12
- package/dist/es2019/transforms/column-width.js +24 -10
- package/dist/es2019/transforms/delete-columns.js +2 -2
- package/dist/es2019/ui/FloatingContextualMenu/ContextualMenu.js +12 -5
- package/dist/es2019/ui/FloatingContextualMenu/index.js +6 -4
- package/dist/es2019/ui/FloatingDragMenu/DragMenu.js +15 -4
- package/dist/es2019/ui/FloatingDragMenu/DropdownMenu.js +42 -8
- package/dist/es2019/ui/FloatingDragMenu/index.js +16 -7
- package/dist/es2019/ui/FloatingInsertButton/index.js +5 -1
- package/dist/es2019/ui/consts.js +1 -0
- package/dist/es2019/utils/create.js +1 -1
- package/dist/es2019/utils/drag-menu.js +4 -4
- package/dist/esm/commands/column-resize.js +4 -2
- package/dist/esm/commands/delete.js +2 -1
- package/dist/esm/commands/insert.js +6 -3
- package/dist/esm/commands-with-analytics.js +4 -2
- package/dist/esm/event-handlers.js +2 -1
- package/dist/esm/nodeviews/TableComponent.js +118 -49
- package/dist/esm/nodeviews/TableContainer.js +8 -4
- package/dist/esm/nodeviews/TableResizer.js +6 -5
- package/dist/esm/nodeviews/table.js +12 -4
- package/dist/esm/plugin.js +50 -47
- package/dist/esm/pm-plugins/drag-and-drop/plugin.js +9 -6
- package/dist/esm/pm-plugins/keymap.js +6 -3
- package/dist/esm/pm-plugins/main.js +4 -1
- package/dist/esm/pm-plugins/table-resizing/event-handlers.js +7 -3
- package/dist/esm/pm-plugins/table-resizing/utils/colgroup.js +32 -11
- package/dist/esm/pm-plugins/table-resizing/utils/consts.js +3 -1
- package/dist/esm/pm-plugins/table-resizing/utils/index.js +2 -2
- package/dist/esm/pm-plugins/table-resizing/utils/misc.js +22 -2
- package/dist/esm/pm-plugins/table-resizing/utils/resize-column.js +2 -1
- package/dist/esm/pm-plugins/table-resizing/utils/resize-state.js +52 -11
- package/dist/esm/pm-plugins/table-resizing/utils/scale-table.js +19 -8
- package/dist/esm/toolbar.js +17 -10
- package/dist/esm/transforms/column-width.js +23 -8
- package/dist/esm/transforms/delete-columns.js +2 -1
- package/dist/esm/ui/FloatingContextualMenu/ContextualMenu.js +45 -38
- package/dist/esm/ui/FloatingContextualMenu/index.js +6 -4
- package/dist/esm/ui/FloatingDragMenu/DragMenu.js +15 -4
- package/dist/esm/ui/FloatingDragMenu/DropdownMenu.js +50 -9
- package/dist/esm/ui/FloatingDragMenu/index.js +16 -7
- package/dist/esm/ui/FloatingInsertButton/index.js +5 -1
- package/dist/esm/ui/consts.js +1 -0
- package/dist/esm/utils/create.js +1 -1
- package/dist/esm/utils/drag-menu.js +4 -3
- package/dist/types/commands/column-resize.d.ts +1 -1
- package/dist/types/commands/delete.d.ts +1 -1
- package/dist/types/commands/insert.d.ts +3 -3
- package/dist/types/commands-with-analytics.d.ts +2 -2
- package/dist/types/event-handlers.d.ts +1 -1
- package/dist/types/nodeviews/TableComponent.d.ts +3 -0
- package/dist/types/nodeviews/TableContainer.d.ts +4 -2
- package/dist/types/nodeviews/TableResizer.d.ts +2 -1
- package/dist/types/nodeviews/table.d.ts +1 -0
- package/dist/types/pm-plugins/drag-and-drop/plugin.d.ts +3 -2
- package/dist/types/pm-plugins/keymap.d.ts +2 -2
- package/dist/types/pm-plugins/table-resizing/utils/colgroup.d.ts +2 -2
- package/dist/types/pm-plugins/table-resizing/utils/consts.d.ts +2 -0
- package/dist/types/pm-plugins/table-resizing/utils/index.d.ts +2 -2
- package/dist/types/pm-plugins/table-resizing/utils/misc.d.ts +7 -0
- package/dist/types/pm-plugins/table-resizing/utils/resize-column.d.ts +1 -1
- package/dist/types/pm-plugins/table-resizing/utils/resize-state.d.ts +4 -3
- package/dist/types/pm-plugins/table-resizing/utils/scale-table.d.ts +4 -4
- package/dist/types/toolbar.d.ts +2 -2
- package/dist/types/transforms/column-width.d.ts +1 -1
- package/dist/types/transforms/delete-columns.d.ts +1 -1
- package/dist/types/ui/FloatingContextualMenu/ContextualMenu.d.ts +2 -1
- package/dist/types/ui/FloatingContextualMenu/index.d.ts +1 -1
- package/dist/types/ui/FloatingDragMenu/DragMenu.d.ts +7 -1
- package/dist/types/ui/FloatingDragMenu/DropdownMenu.d.ts +8 -2
- package/dist/types/ui/FloatingDragMenu/index.d.ts +3 -2
- package/dist/types/ui/FloatingInsertButton/index.d.ts +2 -1
- package/dist/types/ui/consts.d.ts +1 -0
- package/dist/types/utils/drag-menu.d.ts +1 -1
- package/dist/types-ts4.5/commands/column-resize.d.ts +1 -1
- package/dist/types-ts4.5/commands/delete.d.ts +1 -1
- package/dist/types-ts4.5/commands/insert.d.ts +3 -3
- package/dist/types-ts4.5/commands-with-analytics.d.ts +2 -2
- package/dist/types-ts4.5/event-handlers.d.ts +1 -1
- package/dist/types-ts4.5/nodeviews/TableComponent.d.ts +3 -0
- package/dist/types-ts4.5/nodeviews/TableContainer.d.ts +4 -2
- package/dist/types-ts4.5/nodeviews/TableResizer.d.ts +2 -1
- package/dist/types-ts4.5/nodeviews/table.d.ts +1 -0
- package/dist/types-ts4.5/pm-plugins/drag-and-drop/plugin.d.ts +3 -2
- package/dist/types-ts4.5/pm-plugins/keymap.d.ts +2 -2
- package/dist/types-ts4.5/pm-plugins/table-resizing/utils/colgroup.d.ts +2 -2
- package/dist/types-ts4.5/pm-plugins/table-resizing/utils/consts.d.ts +2 -0
- package/dist/types-ts4.5/pm-plugins/table-resizing/utils/index.d.ts +2 -2
- package/dist/types-ts4.5/pm-plugins/table-resizing/utils/misc.d.ts +7 -0
- package/dist/types-ts4.5/pm-plugins/table-resizing/utils/resize-column.d.ts +1 -1
- package/dist/types-ts4.5/pm-plugins/table-resizing/utils/resize-state.d.ts +4 -3
- package/dist/types-ts4.5/pm-plugins/table-resizing/utils/scale-table.d.ts +4 -4
- package/dist/types-ts4.5/toolbar.d.ts +2 -2
- package/dist/types-ts4.5/transforms/column-width.d.ts +1 -1
- package/dist/types-ts4.5/transforms/delete-columns.d.ts +1 -1
- package/dist/types-ts4.5/ui/FloatingContextualMenu/ContextualMenu.d.ts +2 -1
- package/dist/types-ts4.5/ui/FloatingContextualMenu/index.d.ts +1 -1
- package/dist/types-ts4.5/ui/FloatingDragMenu/DragMenu.d.ts +7 -1
- package/dist/types-ts4.5/ui/FloatingDragMenu/DropdownMenu.d.ts +8 -2
- package/dist/types-ts4.5/ui/FloatingDragMenu/index.d.ts +3 -2
- package/dist/types-ts4.5/ui/FloatingInsertButton/index.d.ts +2 -1
- package/dist/types-ts4.5/ui/consts.d.ts +1 -0
- package/dist/types-ts4.5/utils/drag-menu.d.ts +1 -1
- package/package.json +3 -3
- package/src/commands/column-resize.ts +3 -0
- package/src/commands/delete.ts +2 -1
- package/src/commands/insert.ts +15 -6
- package/src/commands-with-analytics.ts +9 -3
- package/src/event-handlers.ts +2 -0
- package/src/nodeviews/TableComponent.tsx +91 -5
- package/src/nodeviews/TableContainer.tsx +6 -0
- package/src/nodeviews/TableResizer.tsx +6 -0
- package/src/nodeviews/table.tsx +15 -10
- package/src/plugin.tsx +17 -5
- package/src/pm-plugins/drag-and-drop/plugin.ts +16 -8
- package/src/pm-plugins/keymap.ts +11 -3
- package/src/pm-plugins/main.ts +3 -0
- package/src/pm-plugins/table-resizing/event-handlers.ts +11 -1
- package/src/pm-plugins/table-resizing/utils/colgroup.ts +49 -17
- package/src/pm-plugins/table-resizing/utils/consts.ts +2 -0
- package/src/pm-plugins/table-resizing/utils/index.ts +8 -1
- package/src/pm-plugins/table-resizing/utils/misc.ts +25 -1
- package/src/pm-plugins/table-resizing/utils/resize-column.ts +2 -1
- package/src/pm-plugins/table-resizing/utils/resize-state.ts +56 -11
- package/src/pm-plugins/table-resizing/utils/scale-table.ts +24 -6
- package/src/toolbar.tsx +18 -5
- package/src/transforms/column-width.ts +33 -11
- package/src/transforms/delete-columns.ts +7 -2
- package/src/ui/FloatingContextualMenu/ContextualMenu.tsx +20 -5
- package/src/ui/FloatingContextualMenu/index.tsx +4 -1
- package/src/ui/FloatingDragMenu/DragMenu.tsx +19 -1
- package/src/ui/FloatingDragMenu/DropdownMenu.tsx +94 -50
- package/src/ui/FloatingDragMenu/index.tsx +17 -4
- package/src/ui/FloatingInsertButton/index.tsx +17 -5
- package/src/ui/consts.ts +1 -0
- package/src/utils/create.ts +1 -3
- package/src/utils/drag-menu.ts +4 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @atlaskit/editor-plugin-table
|
|
2
2
|
|
|
3
|
+
## 7.5.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#77531](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/77531) [`18e5d61eaec6`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/18e5d61eaec6) - add preserve table width logic
|
|
8
|
+
|
|
9
|
+
## 7.4.9
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- [#78202](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/78202) [`287432cbca17`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/287432cbca17) - [ux] ED-22099: Fixed drag menu position when close to edge of view port.
|
|
14
|
+
|
|
3
15
|
## 7.4.8
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
|
@@ -128,6 +128,7 @@ var activateNextResizeArea = exports.activateNextResizeArea = function activateN
|
|
|
128
128
|
};
|
|
129
129
|
};
|
|
130
130
|
var changeColumnWidthByStep = exports.changeColumnWidthByStep = function changeColumnWidthByStep(stepSize, getEditorContainerWidth) {
|
|
131
|
+
var tablePreserveWidth = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
131
132
|
return function (state, dispatch, view) {
|
|
132
133
|
var customTr = state.tr;
|
|
133
134
|
var fakeDispatch = function fakeDispatch(tr) {
|
|
@@ -176,14 +177,15 @@ var changeColumnWidthByStep = exports.changeColumnWidthByStep = function changeC
|
|
|
176
177
|
table: originalTable,
|
|
177
178
|
tableRef: dom,
|
|
178
179
|
start: tableStartPosition,
|
|
179
|
-
domAtPos: domAtPos
|
|
180
|
+
domAtPos: domAtPos,
|
|
181
|
+
tablePreserveWidth: tablePreserveWidth
|
|
180
182
|
});
|
|
181
183
|
(0, _utils3.updateControls)()(state);
|
|
182
184
|
var selectionRect = (0, _utils.getSelectionRect)(state.selection);
|
|
183
185
|
var selectedColumns = selectionRect ? (0, _utils4.getSelectedColumnIndexes)(selectionRect) : [];
|
|
184
186
|
// only selected (or selected - 1) columns should be distributed
|
|
185
187
|
var resizingSelectedColumns = selectedColumns.indexOf(colIndex) > -1 || selectedColumns.indexOf(colIndex + 1) > -1;
|
|
186
|
-
var newResizeState = (0, _utils3.resizeColumn)(initialResizeState, colIndex, stepSize, dom, resizingSelectedColumns ? selectedColumns : undefined);
|
|
188
|
+
var newResizeState = (0, _utils3.resizeColumn)(initialResizeState, colIndex, stepSize, dom, resizingSelectedColumns ? selectedColumns : undefined, tablePreserveWidth);
|
|
187
189
|
customTr = (0, _transforms.updateColumnWidths)(newResizeState, originalTable, tableStartPosition)(customTr);
|
|
188
190
|
if (dispatch) {
|
|
189
191
|
dispatch(customTr);
|
|
@@ -7,8 +7,9 @@ exports.deleteColumnsCommand = void 0;
|
|
|
7
7
|
var _deleteColumns = require("../transforms/delete-columns");
|
|
8
8
|
var _getAllowAddColumnCustomStep = require("../utils/get-allow-add-column-custom-step");
|
|
9
9
|
var deleteColumnsCommand = exports.deleteColumnsCommand = function deleteColumnsCommand(rect) {
|
|
10
|
+
var tablePreserveWidth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
10
11
|
return function (state, dispatch, view) {
|
|
11
|
-
var tr = (0, _deleteColumns.deleteColumns)(rect, (0, _getAllowAddColumnCustomStep.getAllowAddColumnCustomStep)(state), view)(state.tr);
|
|
12
|
+
var tr = (0, _deleteColumns.deleteColumns)(rect, (0, _getAllowAddColumnCustomStep.getAllowAddColumnCustomStep)(state), view, tablePreserveWidth)(state.tr);
|
|
12
13
|
if (dispatch) {
|
|
13
14
|
dispatch(tr);
|
|
14
15
|
return true;
|
|
@@ -30,6 +30,7 @@ function addColumnAtCustomStep(column) {
|
|
|
30
30
|
};
|
|
31
31
|
}
|
|
32
32
|
function addColumnAt(getEditorContainerWidth) {
|
|
33
|
+
var tablePreserveWidth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
33
34
|
return function (column) {
|
|
34
35
|
var allowAddColumnCustomStep = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
35
36
|
var view = arguments.length > 2 ? arguments[2] : undefined;
|
|
@@ -43,7 +44,7 @@ function addColumnAt(getEditorContainerWidth) {
|
|
|
43
44
|
var table = (0, _utils2.findTable)(updatedTr.selection);
|
|
44
45
|
if (table) {
|
|
45
46
|
// [ED-8288] Update colwidths manually to avoid multiple dispatch in TableComponent
|
|
46
|
-
updatedTr = (0, _columnWidth.rescaleColumns)()(table, view)(updatedTr);
|
|
47
|
+
updatedTr = (0, _columnWidth.rescaleColumns)(tablePreserveWidth)(table, view)(updatedTr);
|
|
47
48
|
}
|
|
48
49
|
if ((0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.analytics-plugin-moved-event') && view) {
|
|
49
50
|
updatedTr = (0, _commands.updateRowOrColumnMovedTransform)({
|
|
@@ -61,6 +62,7 @@ function addColumnAt(getEditorContainerWidth) {
|
|
|
61
62
|
// :: (EditorState, dispatch: ?(tr: Transaction)) → bool
|
|
62
63
|
// Command to add a column before the column with the selection.
|
|
63
64
|
var addColumnBefore = exports.addColumnBefore = function addColumnBefore(getEditorContainerWidth) {
|
|
65
|
+
var tablePreserveWidth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
64
66
|
return function (state, dispatch, view) {
|
|
65
67
|
var table = (0, _utils2.findTable)(state.selection);
|
|
66
68
|
if (!table) {
|
|
@@ -68,7 +70,7 @@ var addColumnBefore = exports.addColumnBefore = function addColumnBefore(getEdit
|
|
|
68
70
|
}
|
|
69
71
|
if (dispatch) {
|
|
70
72
|
var rect = (0, _utils2.selectedRect)(state);
|
|
71
|
-
dispatch(addColumnAt(getEditorContainerWidth)(rect.left, (0, _getAllowAddColumnCustomStep.getAllowAddColumnCustomStep)(state), view)(state.tr));
|
|
73
|
+
dispatch(addColumnAt(getEditorContainerWidth, tablePreserveWidth)(rect.left, (0, _getAllowAddColumnCustomStep.getAllowAddColumnCustomStep)(state), view)(state.tr));
|
|
72
74
|
}
|
|
73
75
|
return true;
|
|
74
76
|
};
|
|
@@ -90,9 +92,10 @@ var addColumnAfter = exports.addColumnAfter = function addColumnAfter(getEditorC
|
|
|
90
92
|
};
|
|
91
93
|
};
|
|
92
94
|
var insertColumn = exports.insertColumn = function insertColumn(getEditorContainerWidth) {
|
|
95
|
+
var tablePreserveWidth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
93
96
|
return function (column) {
|
|
94
97
|
return function (state, dispatch, view) {
|
|
95
|
-
var tr = addColumnAt(getEditorContainerWidth)(column, (0, _getAllowAddColumnCustomStep.getAllowAddColumnCustomStep)(state), view)(state.tr);
|
|
98
|
+
var tr = addColumnAt(getEditorContainerWidth, tablePreserveWidth)(column, (0, _getAllowAddColumnCustomStep.getAllowAddColumnCustomStep)(state), view)(state.tr);
|
|
96
99
|
var table = (0, _utils2.findTable)(tr.selection);
|
|
97
100
|
if (!table) {
|
|
98
101
|
return false;
|
|
@@ -190,6 +190,7 @@ var insertRowWithAnalytics = exports.insertRowWithAnalytics = function insertRow
|
|
|
190
190
|
};
|
|
191
191
|
};
|
|
192
192
|
var insertColumnWithAnalytics = exports.insertColumnWithAnalytics = function insertColumnWithAnalytics(getEditorContainerWidth, editorAnalyticsAPI) {
|
|
193
|
+
var tablePreserveWidth = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
193
194
|
return function (inputMethod, position) {
|
|
194
195
|
return (0, _analytics2.withEditorAnalyticsAPI)(function (state) {
|
|
195
196
|
var _getSelectedTableInfo2 = (0, _utils2.getSelectedTableInfo)(state.selection),
|
|
@@ -207,7 +208,7 @@ var insertColumnWithAnalytics = exports.insertColumnWithAnalytics = function ins
|
|
|
207
208
|
},
|
|
208
209
|
eventType: _analytics.EVENT_TYPE.TRACK
|
|
209
210
|
};
|
|
210
|
-
})(editorAnalyticsAPI)((0, _insert.insertColumn)(getEditorContainerWidth)(position));
|
|
211
|
+
})(editorAnalyticsAPI)((0, _insert.insertColumn)(getEditorContainerWidth, tablePreserveWidth)(position));
|
|
211
212
|
};
|
|
212
213
|
};
|
|
213
214
|
var deleteRowsWithAnalytics = exports.deleteRowsWithAnalytics = function deleteRowsWithAnalytics(editorAnalyticsAPI) {
|
|
@@ -239,6 +240,7 @@ var deleteRowsWithAnalytics = exports.deleteRowsWithAnalytics = function deleteR
|
|
|
239
240
|
};
|
|
240
241
|
};
|
|
241
242
|
var deleteColumnsWithAnalytics = exports.deleteColumnsWithAnalytics = function deleteColumnsWithAnalytics(editorAnalyticsAPI) {
|
|
243
|
+
var tablePreserveWidth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
242
244
|
return function (inputMethod, rect) {
|
|
243
245
|
return (0, _analytics2.withEditorAnalyticsAPI)(function (_ref6) {
|
|
244
246
|
var selection = _ref6.selection;
|
|
@@ -258,7 +260,7 @@ var deleteColumnsWithAnalytics = exports.deleteColumnsWithAnalytics = function d
|
|
|
258
260
|
},
|
|
259
261
|
eventType: _analytics.EVENT_TYPE.TRACK
|
|
260
262
|
};
|
|
261
|
-
})(editorAnalyticsAPI)((0, _delete.deleteColumnsCommand)(rect));
|
|
263
|
+
})(editorAnalyticsAPI)((0, _delete.deleteColumnsCommand)(rect, tablePreserveWidth));
|
|
262
264
|
};
|
|
263
265
|
};
|
|
264
266
|
var deleteSelectedRowsOrColumnsWithAnalyticsViaShortcut = exports.deleteSelectedRowsOrColumnsWithAnalyticsViaShortcut = function deleteSelectedRowsOrColumnsWithAnalyticsViaShortcut(editorAnalyticsAPI) {
|
|
@@ -337,6 +337,7 @@ function handleTripleClick(view, pos) {
|
|
|
337
337
|
return false;
|
|
338
338
|
}
|
|
339
339
|
var handleCut = exports.handleCut = function handleCut(oldTr, oldState, newState, editorAnalyticsAPI, editorView) {
|
|
340
|
+
var tablePreserveWidth = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
|
|
340
341
|
var oldSelection = oldState.tr.selection;
|
|
341
342
|
var tr = newState.tr;
|
|
342
343
|
if (oldSelection instanceof _cellSelection.CellSelection) {
|
|
@@ -379,7 +380,7 @@ var handleCut = exports.handleCut = function handleCut(oldTr, oldState, newState
|
|
|
379
380
|
isHeaderRowRequired = _getPluginState9.pluginConfig.isHeaderRowRequired;
|
|
380
381
|
tr = (0, _transforms.deleteRows)(rect, isHeaderRowRequired)(tr);
|
|
381
382
|
} else if (tr.selection.isColSelection()) {
|
|
382
|
-
tr = (0, _transforms.deleteColumns)(rect, (0, _getAllowAddColumnCustomStep.getAllowAddColumnCustomStep)(oldState), editorView)(tr);
|
|
383
|
+
tr = (0, _transforms.deleteColumns)(rect, (0, _getAllowAddColumnCustomStep.getAllowAddColumnCustomStep)(oldState), editorView, tablePreserveWidth)(tr);
|
|
383
384
|
}
|
|
384
385
|
}
|
|
385
386
|
}
|
|
@@ -175,7 +175,8 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
175
175
|
getNode = _this$props2.getNode,
|
|
176
176
|
getPos = _this$props2.getPos,
|
|
177
177
|
containerWidth = _this$props2.containerWidth,
|
|
178
|
-
options = _this$props2.options
|
|
178
|
+
options = _this$props2.options,
|
|
179
|
+
getEditorFeatureFlags = _this$props2.getEditorFeatureFlags;
|
|
179
180
|
var node = getNode();
|
|
180
181
|
var state = view.state,
|
|
181
182
|
dispatch = view.dispatch;
|
|
@@ -186,13 +187,16 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
186
187
|
var domAtPos = view.domAtPos.bind(view);
|
|
187
188
|
var width = containerWidth.width;
|
|
188
189
|
_this.scaleTableDebounced.cancel();
|
|
190
|
+
var _getEditorFeatureFlag = getEditorFeatureFlags(),
|
|
191
|
+
_getEditorFeatureFlag2 = _getEditorFeatureFlag.tablePreserveWidth,
|
|
192
|
+
tablePreserveWidth = _getEditorFeatureFlag2 === void 0 ? false : _getEditorFeatureFlag2;
|
|
189
193
|
var tr = (0, _utils4.scaleTable)(_this.table, _objectSpread(_objectSpread({}, scaleOptions), {}, {
|
|
190
194
|
node: node,
|
|
191
195
|
prevNode: _this.node || node,
|
|
192
196
|
start: pos + 1,
|
|
193
197
|
containerWidth: width,
|
|
194
198
|
previousContainerWidth: _this.containerWidth.width || width
|
|
195
|
-
}, options), domAtPos)(state.tr);
|
|
199
|
+
}, options), domAtPos, tablePreserveWidth)(state.tr);
|
|
196
200
|
dispatch(tr);
|
|
197
201
|
});
|
|
198
202
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "setTimerToSendInitialOverflowCaptured", function (isOverflowing) {
|
|
@@ -319,8 +323,8 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
319
323
|
this.wrapper.addEventListener('scroll', this.handleScrollDebounced, {
|
|
320
324
|
passive: true
|
|
321
325
|
});
|
|
322
|
-
var
|
|
323
|
-
stickyScrollbar =
|
|
326
|
+
var _getEditorFeatureFlag3 = getEditorFeatureFlags(),
|
|
327
|
+
stickyScrollbar = _getEditorFeatureFlag3.stickyScrollbar;
|
|
324
328
|
if (stickyScrollbar) {
|
|
325
329
|
if (this.table) {
|
|
326
330
|
this.stickyScrollbar = new _TableStickyScrollbar.TableStickyScrollbar(this.wrapper, this.props.view);
|
|
@@ -366,8 +370,8 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
366
370
|
if (isDragAndDropEnabled && this.dragAndDropCleanupFn) {
|
|
367
371
|
this.dragAndDropCleanupFn();
|
|
368
372
|
}
|
|
369
|
-
var
|
|
370
|
-
stickyScrollbar =
|
|
373
|
+
var _getEditorFeatureFlag4 = getEditorFeatureFlags(),
|
|
374
|
+
stickyScrollbar = _getEditorFeatureFlag4.stickyScrollbar;
|
|
371
375
|
if (stickyScrollbar) {
|
|
372
376
|
if (this.stickyScrollbar) {
|
|
373
377
|
this.stickyScrollbar.dispose();
|
|
@@ -392,20 +396,83 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
392
396
|
}
|
|
393
397
|
}
|
|
394
398
|
}, {
|
|
395
|
-
key: "
|
|
396
|
-
value: function
|
|
397
|
-
var
|
|
398
|
-
|
|
399
|
+
key: "handleColgroupUpdates",
|
|
400
|
+
value: function handleColgroupUpdates() {
|
|
401
|
+
var _this2 = this,
|
|
402
|
+
_this$containerWidth;
|
|
399
403
|
var _this$props9 = this.props,
|
|
400
|
-
view = _this$props9.view,
|
|
401
404
|
getNode = _this$props9.getNode,
|
|
402
|
-
|
|
403
|
-
allowColumnResizing = _this$props9.allowColumnResizing,
|
|
405
|
+
containerWidth = _this$props9.containerWidth,
|
|
404
406
|
isResizing = _this$props9.isResizing,
|
|
405
|
-
|
|
407
|
+
view = _this$props9.view,
|
|
408
|
+
getPos = _this$props9.getPos,
|
|
409
|
+
tableRef = _this$props9.tableRef;
|
|
410
|
+
if (!tableRef) {
|
|
411
|
+
return;
|
|
412
|
+
}
|
|
413
|
+
var TABLE_MARGIN = 76;
|
|
414
|
+
|
|
415
|
+
// Remove any widths styles after resizing preview is completed
|
|
416
|
+
tableRef.style.width = '';
|
|
417
|
+
var tableRenderWidth = containerWidth.width - TABLE_MARGIN;
|
|
418
|
+
var tableNode = getNode();
|
|
419
|
+
var start = getPos() || 0;
|
|
420
|
+
var depth = view.state.doc.resolve(start).depth;
|
|
421
|
+
|
|
422
|
+
// TODO - remove this when support is added for nested tables
|
|
423
|
+
if (depth !== 0) {
|
|
424
|
+
return;
|
|
425
|
+
}
|
|
426
|
+
var tableNodeWidth = tableNode.attrs.width;
|
|
427
|
+
var tableColumnWidths = (0, _utils.calcTableColumnWidths)(tableNode);
|
|
428
|
+
var shouldTableScale = tableRenderWidth < tableNodeWidth;
|
|
429
|
+
var isTableColumnWidthsSame = false;
|
|
430
|
+
if (this.tableColumnWidths) {
|
|
431
|
+
isTableColumnWidthsSame = tableColumnWidths === null || tableColumnWidths === void 0 ? void 0 : tableColumnWidths.every(function (width, index) {
|
|
432
|
+
return width === _this2.tableColumnWidths[index];
|
|
433
|
+
});
|
|
434
|
+
}
|
|
435
|
+
var containerWidthValue = containerWidth.width;
|
|
436
|
+
var isWidthChanged = ((_this$containerWidth = this.containerWidth) === null || _this$containerWidth === void 0 ? void 0 : _this$containerWidth.width) !== containerWidthValue;
|
|
437
|
+
if (shouldTableScale && !isResizing && (!isTableColumnWidthsSame || isWidthChanged)) {
|
|
438
|
+
var resizeState = (0, _utils4.getResizeState)({
|
|
439
|
+
minWidth: _utils4.COLUMN_MIN_WIDTH,
|
|
440
|
+
maxSize: tableRenderWidth,
|
|
441
|
+
table: tableNode,
|
|
442
|
+
tableRef: this.table,
|
|
443
|
+
start: start,
|
|
444
|
+
domAtPos: view.domAtPos,
|
|
445
|
+
tablePreserveWidth: true
|
|
446
|
+
});
|
|
447
|
+
requestAnimationFrame(function () {
|
|
448
|
+
(0, _utils4.updateColgroup)(resizeState, _this2.table, true);
|
|
449
|
+
});
|
|
450
|
+
this.tableColumnWidths = tableColumnWidths;
|
|
451
|
+
this.containerWidth = containerWidth;
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
}, {
|
|
455
|
+
key: "componentDidUpdate",
|
|
456
|
+
value: function componentDidUpdate(_, prevState) {
|
|
457
|
+
var _this$wrapper,
|
|
458
|
+
_this3 = this;
|
|
459
|
+
var _this$props10 = this.props,
|
|
460
|
+
view = _this$props10.view,
|
|
461
|
+
getNode = _this$props10.getNode,
|
|
462
|
+
isMediaFullscreen = _this$props10.isMediaFullscreen,
|
|
463
|
+
allowColumnResizing = _this$props10.allowColumnResizing,
|
|
464
|
+
isResizing = _this$props10.isResizing,
|
|
465
|
+
options = _this$props10.options,
|
|
466
|
+
getEditorFeatureFlags = _this$props10.getEditorFeatureFlags;
|
|
406
467
|
var _getPluginState = (0, _pluginFactory.getPluginState)(view.state),
|
|
407
468
|
isInDanger = _getPluginState.isInDanger;
|
|
469
|
+
var _getEditorFeatureFlag5 = getEditorFeatureFlags(),
|
|
470
|
+
_getEditorFeatureFlag6 = _getEditorFeatureFlag5.tablePreserveWidth,
|
|
471
|
+
tablePreserveWidth = _getEditorFeatureFlag6 === void 0 ? false : _getEditorFeatureFlag6;
|
|
408
472
|
var table = (0, _utils2.findTable)(view.state.selection);
|
|
473
|
+
if (tablePreserveWidth) {
|
|
474
|
+
this.handleColgroupUpdates();
|
|
475
|
+
}
|
|
409
476
|
if (isInDanger && !table) {
|
|
410
477
|
(0, _commands.clearHoverSelection)()(view.state, view.dispatch);
|
|
411
478
|
}
|
|
@@ -415,7 +482,7 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
415
482
|
// that happens when a table is nested in expand and expand's width is
|
|
416
483
|
// changed via breakout button
|
|
417
484
|
window.requestAnimationFrame(function () {
|
|
418
|
-
|
|
485
|
+
_this3.overflowShadowsObserver = new _OverflowShadowsObserver.OverflowShadowsObserver(_this3.updateShadowState, _this3.table, _this3.wrapper);
|
|
419
486
|
});
|
|
420
487
|
} else {
|
|
421
488
|
this.overflowShadowsObserver = new _OverflowShadowsObserver.OverflowShadowsObserver(this.updateShadowState, this.table, this.wrapper);
|
|
@@ -440,7 +507,7 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
440
507
|
var _view = this.props.view;
|
|
441
508
|
var shouldRecreateResizeCols = !(options !== null && options !== void 0 && options.isTableResizingEnabled) || !isResizing || (0, _utils5.tablesHaveDifferentNoOfColumns)(currentTable, previousTable) && isResizing;
|
|
442
509
|
if (shouldRecreateResizeCols) {
|
|
443
|
-
(0, _utils4.insertColgroupFromNode)(this.table, currentTable);
|
|
510
|
+
(0, _utils4.insertColgroupFromNode)(this.table, currentTable, tablePreserveWidth);
|
|
444
511
|
}
|
|
445
512
|
(0, _dom.updateControls)()(_view.state);
|
|
446
513
|
}
|
|
@@ -471,24 +538,24 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
471
538
|
}, {
|
|
472
539
|
key: "render",
|
|
473
540
|
value: function render() {
|
|
474
|
-
var
|
|
541
|
+
var _this4 = this,
|
|
475
542
|
_classnames;
|
|
476
|
-
var _this$
|
|
477
|
-
view = _this$
|
|
478
|
-
getNode = _this$
|
|
479
|
-
isResizing = _this$
|
|
480
|
-
_this$
|
|
481
|
-
allowControls = _this$
|
|
482
|
-
isHeaderRowEnabled = _this$
|
|
483
|
-
ordering = _this$
|
|
484
|
-
isHeaderColumnEnabled = _this$
|
|
485
|
-
tableActive = _this$
|
|
486
|
-
containerWidth = _this$
|
|
487
|
-
options = _this$
|
|
488
|
-
getPos = _this$
|
|
489
|
-
pluginInjectionApi = _this$
|
|
490
|
-
isDragAndDropEnabled = _this$
|
|
491
|
-
getEditorFeatureFlags = _this$
|
|
543
|
+
var _this$props11 = this.props,
|
|
544
|
+
view = _this$props11.view,
|
|
545
|
+
getNode = _this$props11.getNode,
|
|
546
|
+
isResizing = _this$props11.isResizing,
|
|
547
|
+
_this$props11$allowCo = _this$props11.allowControls,
|
|
548
|
+
allowControls = _this$props11$allowCo === void 0 ? true : _this$props11$allowCo,
|
|
549
|
+
isHeaderRowEnabled = _this$props11.isHeaderRowEnabled,
|
|
550
|
+
ordering = _this$props11.ordering,
|
|
551
|
+
isHeaderColumnEnabled = _this$props11.isHeaderColumnEnabled,
|
|
552
|
+
tableActive = _this$props11.tableActive,
|
|
553
|
+
containerWidth = _this$props11.containerWidth,
|
|
554
|
+
options = _this$props11.options,
|
|
555
|
+
getPos = _this$props11.getPos,
|
|
556
|
+
pluginInjectionApi = _this$props11.pluginInjectionApi,
|
|
557
|
+
isDragAndDropEnabled = _this$props11.isDragAndDropEnabled,
|
|
558
|
+
getEditorFeatureFlags = _this$props11.getEditorFeatureFlags;
|
|
492
559
|
var _this$state3 = this.state,
|
|
493
560
|
showBeforeShadow = _this$state3.showBeforeShadow,
|
|
494
561
|
showAfterShadow = _this$state3.showAfterShadow;
|
|
@@ -546,8 +613,8 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
546
613
|
tableContainerWidth: tableContainerWidth,
|
|
547
614
|
isNumberColumnEnabled: node.attrs.isNumberColumnEnabled,
|
|
548
615
|
getScrollOffset: function getScrollOffset() {
|
|
549
|
-
var
|
|
550
|
-
return ((
|
|
616
|
+
var _this4$wrapper;
|
|
617
|
+
return ((_this4$wrapper = _this4.wrapper) === null || _this4$wrapper === void 0 ? void 0 : _this4$wrapper.scrollLeft) || 0;
|
|
551
618
|
}
|
|
552
619
|
}) : null;
|
|
553
620
|
var shadowPadding = allowControls && tableActive ? -_editorSharedStyles.akEditorTableToolbarSize : _styles.tableMarginSides;
|
|
@@ -570,8 +637,9 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
570
637
|
}
|
|
571
638
|
var isNested = (0, _utils5.isTableNested)(view.state, tablePos);
|
|
572
639
|
var topStickyShadowPosition = isDragAndDropEnabled ? this.state.stickyHeader && this.state.stickyHeader.top + this.state.stickyHeader.padding + 2 : this.state.stickyHeader && this.state.stickyHeader.top + this.state.stickyHeader.padding + shadowPadding + 2;
|
|
573
|
-
var
|
|
574
|
-
stickyScrollbar =
|
|
640
|
+
var _getEditorFeatureFlag7 = getEditorFeatureFlags(),
|
|
641
|
+
stickyScrollbar = _getEditorFeatureFlag7.stickyScrollbar,
|
|
642
|
+
tablePreserveWidth = _getEditorFeatureFlag7.tablePreserveWidth;
|
|
575
643
|
return /*#__PURE__*/_react.default.createElement(_TableContainer.TableContainer, {
|
|
576
644
|
className: (0, _classnames2.default)(_types.TableCssClassName.TABLE_CONTAINER, (_classnames = {}, (0, _defineProperty3.default)(_classnames, _types.TableCssClassName.WITH_CONTROLS, allowControls && tableActive), (0, _defineProperty3.default)(_classnames, _types.TableCssClassName.TABLE_STICKY, this.state.stickyHeader && hasHeaderRow), (0, _defineProperty3.default)(_classnames, _types.TableCssClassName.HOVERED_DELETE_BUTTON, isInDanger), (0, _defineProperty3.default)(_classnames, _types.TableCssClassName.TABLE_SELECTED, (0, _utils2.isTableSelected)(view.state.selection)), _classnames)),
|
|
577
645
|
editorView: view,
|
|
@@ -583,7 +651,8 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
583
651
|
isNested: isNested,
|
|
584
652
|
pluginInjectionApi: pluginInjectionApi,
|
|
585
653
|
isTableResizingEnabled: options === null || options === void 0 ? void 0 : options.isTableResizingEnabled,
|
|
586
|
-
isResizing: isResizing
|
|
654
|
+
isResizing: isResizing,
|
|
655
|
+
tablePreserveWidth: tablePreserveWidth
|
|
587
656
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
588
657
|
className: _types.TableCssClassName.TABLE_STICKY_SENTINEL_TOP,
|
|
589
658
|
"data-testid": "sticky-sentinel-top"
|
|
@@ -594,12 +663,12 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
594
663
|
editorView: view,
|
|
595
664
|
node: node,
|
|
596
665
|
getScrollOffset: function getScrollOffset() {
|
|
597
|
-
var
|
|
598
|
-
return ((
|
|
666
|
+
var _this4$wrapper2;
|
|
667
|
+
return ((_this4$wrapper2 = _this4.wrapper) === null || _this4$wrapper2 === void 0 ? void 0 : _this4$wrapper2.scrollLeft) || 0;
|
|
599
668
|
},
|
|
600
669
|
getTableWrapperWidth: function getTableWrapperWidth() {
|
|
601
|
-
var
|
|
602
|
-
return ((
|
|
670
|
+
var _this4$wrapper3;
|
|
671
|
+
return ((_this4$wrapper3 = _this4.wrapper) === null || _this4$wrapper3 === void 0 ? void 0 : _this4$wrapper3.clientWidth) || 760;
|
|
603
672
|
}
|
|
604
673
|
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
605
674
|
style: shadowStyle(showBeforeShadow),
|
|
@@ -614,13 +683,13 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
614
683
|
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
615
684
|
className: (0, _classnames2.default)(_types.TableCssClassName.TABLE_NODE_WRAPPER),
|
|
616
685
|
ref: function ref(elem) {
|
|
617
|
-
|
|
686
|
+
_this4.wrapper = elem;
|
|
618
687
|
if (elem) {
|
|
619
|
-
|
|
688
|
+
_this4.props.contentDOM(elem);
|
|
620
689
|
var tableElement = elem.querySelector('table');
|
|
621
|
-
if (tableElement !==
|
|
622
|
-
|
|
623
|
-
|
|
690
|
+
if (tableElement !== _this4.table) {
|
|
691
|
+
_this4.table = tableElement;
|
|
692
|
+
_this4.createShadowSentinels(_this4.table);
|
|
624
693
|
}
|
|
625
694
|
}
|
|
626
695
|
}
|
|
@@ -53,7 +53,8 @@ var ResizableTableContainer = exports.ResizableTableContainer = /*#__PURE__*/_re
|
|
|
53
53
|
getPos = _ref2.getPos,
|
|
54
54
|
tableRef = _ref2.tableRef,
|
|
55
55
|
isResizing = _ref2.isResizing,
|
|
56
|
-
pluginInjectionApi = _ref2.pluginInjectionApi
|
|
56
|
+
pluginInjectionApi = _ref2.pluginInjectionApi,
|
|
57
|
+
tablePreserveWidth = _ref2.tablePreserveWidth;
|
|
57
58
|
var containerRef = (0, _react.useRef)(null);
|
|
58
59
|
var tableWidthRef = (0, _react.useRef)(_editorSharedStyles.akEditorDefaultLayoutWidth);
|
|
59
60
|
var updateContainerHeight = (0, _react.useCallback)(function (height) {
|
|
@@ -134,7 +135,8 @@ var ResizableTableContainer = exports.ResizableTableContainer = /*#__PURE__*/_re
|
|
|
134
135
|
tableRef: tableRef,
|
|
135
136
|
displayGuideline: displayGuideline,
|
|
136
137
|
attachAnalyticsEvent: attachAnalyticsEvent,
|
|
137
|
-
displayGapCursor: displayGapCursor
|
|
138
|
+
displayGapCursor: displayGapCursor,
|
|
139
|
+
tablePreserveWidth: tablePreserveWidth
|
|
138
140
|
};
|
|
139
141
|
if ((0, _platformFeatureFlags.getBooleanFF)('platform.editor.resizing-table-height-improvement')) {
|
|
140
142
|
tableResizerProps = _objectSpread(_objectSpread({}, tableResizerProps), {}, {
|
|
@@ -172,7 +174,8 @@ var TableContainer = exports.TableContainer = function TableContainer(_ref3) {
|
|
|
172
174
|
tableRef = _ref3.tableRef,
|
|
173
175
|
isNested = _ref3.isNested,
|
|
174
176
|
isResizing = _ref3.isResizing,
|
|
175
|
-
pluginInjectionApi = _ref3.pluginInjectionApi
|
|
177
|
+
pluginInjectionApi = _ref3.pluginInjectionApi,
|
|
178
|
+
tablePreserveWidth = _ref3.tablePreserveWidth;
|
|
176
179
|
if (isTableResizingEnabled && !isNested) {
|
|
177
180
|
return /*#__PURE__*/_react.default.createElement(ResizableTableContainer, {
|
|
178
181
|
className: className,
|
|
@@ -182,7 +185,8 @@ var TableContainer = exports.TableContainer = function TableContainer(_ref3) {
|
|
|
182
185
|
getPos: getPos,
|
|
183
186
|
tableRef: tableRef,
|
|
184
187
|
isResizing: isResizing,
|
|
185
|
-
pluginInjectionApi: pluginInjectionApi
|
|
188
|
+
pluginInjectionApi: pluginInjectionApi,
|
|
189
|
+
tablePreserveWidth: tablePreserveWidth
|
|
186
190
|
}, children);
|
|
187
191
|
}
|
|
188
192
|
var tableWidth = isBreakoutEnabled ? (0, _styles.calcTableWidth)(node.attrs.layout, editorWidth) : 'inherit';
|
|
@@ -97,7 +97,8 @@ var TableResizer = exports.TableResizer = function TableResizer(_ref) {
|
|
|
97
97
|
tableRef = _ref.tableRef,
|
|
98
98
|
displayGuideline = _ref.displayGuideline,
|
|
99
99
|
attachAnalyticsEvent = _ref.attachAnalyticsEvent,
|
|
100
|
-
displayGapCursor = _ref.displayGapCursor
|
|
100
|
+
displayGapCursor = _ref.displayGapCursor,
|
|
101
|
+
tablePreserveWidth = _ref.tablePreserveWidth;
|
|
101
102
|
var currentGap = (0, _react.useRef)(0);
|
|
102
103
|
// track resizing state - use ref over state to avoid re-render
|
|
103
104
|
var isResizing = (0, _react.useRef)(false);
|
|
@@ -205,11 +206,11 @@ var TableResizer = exports.TableResizer = function TableResizer(_ref) {
|
|
|
205
206
|
prevNode: node,
|
|
206
207
|
start: pos + 1,
|
|
207
208
|
parentWidth: newWidth
|
|
208
|
-
}, editorView.domAtPos.bind(editorView));
|
|
209
|
+
}, editorView.domAtPos.bind(editorView), tablePreserveWidth);
|
|
209
210
|
updateActiveGuidelines((0, _snapping.findClosestSnap)(newWidth, _snapping.defaultSnappingWidths, _guidelines.defaultGuidelines, _consts.TABLE_HIGHLIGHT_GAP, _consts.TABLE_HIGHLIGHT_TOLERANCE));
|
|
210
211
|
updateWidth(newWidth);
|
|
211
212
|
return newWidth;
|
|
212
|
-
}, [editorView, getPos, node, tableRef, updateWidth, updateActiveGuidelines, countFrames]);
|
|
213
|
+
}, [editorView, getPos, node, tableRef, updateWidth, updateActiveGuidelines, countFrames, tablePreserveWidth]);
|
|
213
214
|
var scheduleResize = (0, _react.useMemo)(function () {
|
|
214
215
|
return (0, _rafSchd.default)(handleResize);
|
|
215
216
|
}, [handleResize]);
|
|
@@ -245,7 +246,7 @@ var TableResizer = exports.TableResizer = function TableResizer(_ref) {
|
|
|
245
246
|
prevNode: node,
|
|
246
247
|
start: pos + 1,
|
|
247
248
|
parentWidth: newWidth
|
|
248
|
-
}, editorView.domAtPos.bind(editorView))(tr);
|
|
249
|
+
}, editorView.domAtPos.bind(editorView), tablePreserveWidth)(tr);
|
|
249
250
|
var scaledNode = tr.doc.nodeAt(pos);
|
|
250
251
|
(_attachAnalyticsEvent2 = attachAnalyticsEvent((0, _analytics2.generateResizedPayload)({
|
|
251
252
|
originalNode: node,
|
|
@@ -263,7 +264,7 @@ var TableResizer = exports.TableResizer = function TableResizer(_ref) {
|
|
|
263
264
|
onResizeStop();
|
|
264
265
|
}
|
|
265
266
|
return newWidth;
|
|
266
|
-
}, [displayGapCursor, updateWidth, editorView, getPos, node, tableRef, scheduleResize, displayGuideline, attachAnalyticsEvent, endMeasure, onResizeStop]);
|
|
267
|
+
}, [displayGapCursor, updateWidth, editorView, getPos, node, tableRef, scheduleResize, displayGuideline, attachAnalyticsEvent, endMeasure, onResizeStop, tablePreserveWidth]);
|
|
267
268
|
var handleTableSizeChangeOnKeypress = (0, _react.useCallback)(function (step) {
|
|
268
269
|
var newWidth = width + step;
|
|
269
270
|
if (newWidth > maxWidth || newWidth < resizerMinWidth) {
|
|
@@ -79,17 +79,24 @@ var TableView = exports.default = /*#__PURE__*/function (_ReactNodeView) {
|
|
|
79
79
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "hasHoveredRows", false);
|
|
80
80
|
_this.getPos = props.getPos;
|
|
81
81
|
_this.eventDispatcher = props.eventDispatcher;
|
|
82
|
+
_this.getEditorFeatureFlags = props.getEditorFeatureFlags;
|
|
82
83
|
return _this;
|
|
83
84
|
}
|
|
84
85
|
(0, _createClass2.default)(TableView, [{
|
|
85
86
|
key: "getContentDOM",
|
|
86
87
|
value: function getContentDOM() {
|
|
87
88
|
var rendered = _model.DOMSerializer.renderSpec(document, toDOM(this.node, this.reactComponentProps));
|
|
88
|
-
var tableInlineWidth = getInlineWidth(this.node, this.reactComponentProps.options, this.reactComponentProps.view.state, this.reactComponentProps.getPos());
|
|
89
89
|
if (rendered.dom) {
|
|
90
90
|
this.table = rendered.dom;
|
|
91
|
-
|
|
92
|
-
|
|
91
|
+
var _this$getEditorFeatur = this.getEditorFeatureFlags(),
|
|
92
|
+
_this$getEditorFeatur2 = _this$getEditorFeatur.tablePreserveWidth,
|
|
93
|
+
tablePreserveWidth = _this$getEditorFeatur2 === void 0 ? false : _this$getEditorFeatur2;
|
|
94
|
+
// Preserve Table Width cannot have inline width set on the table
|
|
95
|
+
if (!tablePreserveWidth) {
|
|
96
|
+
var tableInlineWidth = getInlineWidth(this.node, this.reactComponentProps.options, this.reactComponentProps.view.state, this.reactComponentProps.getPos());
|
|
97
|
+
if (tableInlineWidth) {
|
|
98
|
+
handleInlineTableWidth(this.table, tableInlineWidth);
|
|
99
|
+
}
|
|
93
100
|
}
|
|
94
101
|
}
|
|
95
102
|
return rendered;
|
|
@@ -187,7 +194,8 @@ var TableView = exports.default = /*#__PURE__*/function (_ReactNodeView) {
|
|
|
187
194
|
contentDOM: forwardRef,
|
|
188
195
|
getEditorFeatureFlags: props.getEditorFeatureFlags,
|
|
189
196
|
dispatchAnalyticsEvent: props.dispatchAnalyticsEvent,
|
|
190
|
-
pluginInjectionApi: props.pluginInjectionApi
|
|
197
|
+
pluginInjectionApi: props.pluginInjectionApi,
|
|
198
|
+
tableRef: _this3.table
|
|
191
199
|
});
|
|
192
200
|
}
|
|
193
201
|
});
|