@atlaskit/editor-plugin-table 7.4.9 → 7.5.1
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 +4 -2
- package/dist/cjs/ui/FloatingDragMenu/DragMenu.js +3 -2
- package/dist/cjs/ui/FloatingDragMenu/index.js +7 -2
- package/dist/cjs/ui/FloatingInsertButton/index.js +5 -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 +4 -2
- package/dist/es2019/ui/FloatingDragMenu/DragMenu.js +3 -2
- package/dist/es2019/ui/FloatingDragMenu/index.js +7 -2
- package/dist/es2019/ui/FloatingInsertButton/index.js +5 -1
- 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 +4 -2
- package/dist/esm/ui/FloatingDragMenu/DragMenu.js +3 -2
- package/dist/esm/ui/FloatingDragMenu/index.js +7 -2
- package/dist/esm/ui/FloatingInsertButton/index.js +5 -1
- 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 +2 -1
- package/dist/types/ui/FloatingDragMenu/index.d.ts +3 -2
- package/dist/types/ui/FloatingInsertButton/index.d.ts +2 -1
- 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 +2 -1
- 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/utils/drag-menu.d.ts +1 -1
- package/docs/0-intro.tsx +3 -2
- package/package.json +2 -2
- 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 +7 -1
- package/src/nodeviews/TableResizer.tsx +7 -1
- 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 +2 -0
- package/src/ui/FloatingDragMenu/DragMenu.tsx +3 -0
- package/src/ui/FloatingDragMenu/index.tsx +9 -1
- package/src/ui/FloatingInsertButton/index.tsx +17 -5
- package/src/ui/TableFloatingColumnControls/ColumnControls/index.tsx +4 -1
- package/src/ui/TableFloatingControls/RowControls/DragControls.tsx +4 -1
- package/src/utils/create.ts +1 -3
- package/src/utils/drag-menu.ts +4 -1
- package/tsconfig.dev.json +1 -1
|
@@ -23,6 +23,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
23
23
|
// Base function to trigger the actual scale on a table node.
|
|
24
24
|
// Will only resize/scale if a table has been previously resized.
|
|
25
25
|
var scale = exports.scale = function scale(tableRef, options, domAtPos) {
|
|
26
|
+
var tablePreserveWidth = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
26
27
|
/**
|
|
27
28
|
* isBreakoutEnabled === true -> default center aligned
|
|
28
29
|
* isBreakoutEnabled === false -> full width mode
|
|
@@ -67,18 +68,21 @@ var scale = exports.scale = function scale(tableRef, options, domAtPos) {
|
|
|
67
68
|
table: node,
|
|
68
69
|
tableRef: tableRef,
|
|
69
70
|
start: start,
|
|
70
|
-
domAtPos: domAtPos
|
|
71
|
+
domAtPos: domAtPos,
|
|
72
|
+
tablePreserveWidth: tablePreserveWidth
|
|
71
73
|
});
|
|
72
74
|
return scaleTableTo(resizeState, newWidth);
|
|
73
75
|
};
|
|
74
76
|
var scaleWithParent = exports.scaleWithParent = function scaleWithParent(tableRef, parentWidth, table, start, domAtPos) {
|
|
77
|
+
var tablePreserveWidth = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
|
|
75
78
|
var resizeState = (0, _resizeState.getResizeState)({
|
|
76
79
|
minWidth: _styles.tableCellMinWidth,
|
|
77
80
|
maxSize: parentWidth,
|
|
78
81
|
table: table,
|
|
79
82
|
tableRef: tableRef,
|
|
80
83
|
start: start,
|
|
81
|
-
domAtPos: domAtPos
|
|
84
|
+
domAtPos: domAtPos,
|
|
85
|
+
tablePreserveWidth: tablePreserveWidth
|
|
82
86
|
});
|
|
83
87
|
if (table.attrs.isNumberColumnEnabled) {
|
|
84
88
|
parentWidth -= _editorSharedStyles.akEditorTableNumberColumnWidth;
|
|
@@ -110,6 +114,7 @@ function scaleTableTo(state, maxSize) {
|
|
|
110
114
|
return (0, _resizeState.adjustColumnsWidths)(newState, maxSize);
|
|
111
115
|
}
|
|
112
116
|
var previewScaleTable = exports.previewScaleTable = function previewScaleTable(tableRef, options, domAtPos) {
|
|
117
|
+
var tablePreserveWidth = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
113
118
|
var node = options.node,
|
|
114
119
|
start = options.start,
|
|
115
120
|
parentWidth = options.parentWidth;
|
|
@@ -121,18 +126,22 @@ var previewScaleTable = exports.previewScaleTable = function previewScaleTable(t
|
|
|
121
126
|
var width = isNumberColumnEnabled ? parentWidth - _editorSharedStyles.akEditorTableNumberColumnWidth : parentWidth;
|
|
122
127
|
tableRef.style.width = "".concat(width, "px");
|
|
123
128
|
}
|
|
124
|
-
|
|
129
|
+
|
|
130
|
+
// If the table hasn't been resize, the colgroup 48px width values will gracefully scale down.
|
|
131
|
+
// If we are scaling the table down with tablePreserveWidth, the colgroup widths may be scaled to a value that is not 48px.
|
|
132
|
+
if (!(0, _colgroup.hasTableBeenResized)(node) && !tablePreserveWidth) {
|
|
125
133
|
(0, _dom.syncStickyRowToTable)(tableRef);
|
|
126
134
|
return;
|
|
127
135
|
}
|
|
128
|
-
var resizeState = parentWidth ? scaleWithParent(tableRef, parentWidth, node, start, domAtPos) : scale(tableRef, options, domAtPos);
|
|
136
|
+
var resizeState = parentWidth ? scaleWithParent(tableRef, parentWidth, node, start, domAtPos, tablePreserveWidth) : scale(tableRef, options, domAtPos, tablePreserveWidth);
|
|
129
137
|
if (resizeState) {
|
|
130
|
-
(0, _resizeState.updateColgroup)(resizeState, tableRef);
|
|
138
|
+
(0, _resizeState.updateColgroup)(resizeState, tableRef, tablePreserveWidth);
|
|
131
139
|
}
|
|
132
140
|
};
|
|
133
141
|
|
|
134
142
|
// Scale the table to meet new requirements (col, layout change etc)
|
|
135
143
|
var scaleTable = exports.scaleTable = function scaleTable(tableRef, options, domAtPos) {
|
|
144
|
+
var tablePreserveWidth = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
136
145
|
return function (tr) {
|
|
137
146
|
if (!tableRef) {
|
|
138
147
|
return tr;
|
|
@@ -145,15 +154,17 @@ var scaleTable = exports.scaleTable = function scaleTable(tableRef, options, dom
|
|
|
145
154
|
if ((0, _colgroup.hasTableBeenResized)(node) === false) {
|
|
146
155
|
// If its not a re-sized table, we still want to re-create cols
|
|
147
156
|
// To force reflow of columns upon delete.
|
|
148
|
-
(
|
|
157
|
+
if (!tablePreserveWidth) {
|
|
158
|
+
(0, _colgroup.insertColgroupFromNode)(tableRef, node);
|
|
159
|
+
}
|
|
149
160
|
tr.setMeta('scrollIntoView', false);
|
|
150
161
|
return tr;
|
|
151
162
|
}
|
|
152
163
|
var resizeState;
|
|
153
164
|
if (parentWidth) {
|
|
154
|
-
resizeState = scaleWithParent(tableRef, parentWidth, node, start, domAtPos);
|
|
165
|
+
resizeState = scaleWithParent(tableRef, parentWidth, node, start, domAtPos, tablePreserveWidth);
|
|
155
166
|
} else {
|
|
156
|
-
resizeState = scale(tableRef, options, domAtPos);
|
|
167
|
+
resizeState = scale(tableRef, options, domAtPos, tablePreserveWidth);
|
|
157
168
|
}
|
|
158
169
|
if (resizeState) {
|
|
159
170
|
tr = (0, _transforms.updateColumnWidths)(resizeState, node, start)(tr);
|
package/dist/cjs/toolbar.js
CHANGED
|
@@ -96,6 +96,7 @@ var getToolbarMenuConfig = exports.getToolbarMenuConfig = function getToolbarMen
|
|
|
96
96
|
var getToolbarCellOptionsConfig = exports.getToolbarCellOptionsConfig = function getToolbarCellOptionsConfig(editorState, editorView, initialSelectionRect, _ref2, getEditorContainerWidth, editorAnalyticsAPI) {
|
|
97
97
|
var _pluginState$pluginCo, _pluginState$pluginCo2;
|
|
98
98
|
var formatMessage = _ref2.formatMessage;
|
|
99
|
+
var tablePreserveWidth = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;
|
|
99
100
|
var top = initialSelectionRect.top,
|
|
100
101
|
bottom = initialSelectionRect.bottom,
|
|
101
102
|
right = initialSelectionRect.right,
|
|
@@ -110,7 +111,7 @@ var getToolbarCellOptionsConfig = exports.getToolbarCellOptionsConfig = function
|
|
|
110
111
|
var selectionRect = getClosestSelectionRect(state);
|
|
111
112
|
var index = selectionRect === null || selectionRect === void 0 ? void 0 : selectionRect.right;
|
|
112
113
|
if (index) {
|
|
113
|
-
(0, _commandsWithAnalytics.insertColumnWithAnalytics)(getEditorContainerWidth, editorAnalyticsAPI)(_analytics.INPUT_METHOD.FLOATING_TB, index)(state, dispatch, view);
|
|
114
|
+
(0, _commandsWithAnalytics.insertColumnWithAnalytics)(getEditorContainerWidth, editorAnalyticsAPI, tablePreserveWidth)(_analytics.INPUT_METHOD.FLOATING_TB, index)(state, dispatch, view);
|
|
114
115
|
}
|
|
115
116
|
return true;
|
|
116
117
|
},
|
|
@@ -189,7 +190,7 @@ var getToolbarCellOptionsConfig = exports.getToolbarCellOptionsConfig = function
|
|
|
189
190
|
}];
|
|
190
191
|
if (pluginState !== null && pluginState !== void 0 && (_pluginState$pluginCo = pluginState.pluginConfig) !== null && _pluginState$pluginCo !== void 0 && _pluginState$pluginCo.allowDistributeColumns) {
|
|
191
192
|
var _newResizeStateWithAn;
|
|
192
|
-
var newResizeStateWithAnalytics = editorView ? (0, _resizeState.getNewResizeStateFromSelectedColumns)(initialSelectionRect, editorState, editorView.domAtPos.bind(editorView), getEditorContainerWidth) : undefined;
|
|
193
|
+
var newResizeStateWithAnalytics = editorView ? (0, _resizeState.getNewResizeStateFromSelectedColumns)(initialSelectionRect, editorState, editorView.domAtPos.bind(editorView), getEditorContainerWidth, tablePreserveWidth) : undefined;
|
|
193
194
|
var wouldChange = (_newResizeStateWithAn = newResizeStateWithAnalytics === null || newResizeStateWithAnalytics === void 0 ? void 0 : newResizeStateWithAnalytics.changed) !== null && _newResizeStateWithAn !== void 0 ? _newResizeStateWithAn : false;
|
|
194
195
|
var distributeColumnWidths = function distributeColumnWidths(state, dispatch) {
|
|
195
196
|
if (newResizeStateWithAnalytics) {
|
|
@@ -309,10 +310,13 @@ var getToolbarConfig = exports.getToolbarConfig = function getToolbarConfig(getE
|
|
|
309
310
|
if (tableObject && pluginState.editorHasFocus && !isWidthResizing) {
|
|
310
311
|
var nodeType = state.schema.nodes.table;
|
|
311
312
|
var menu = getToolbarMenuConfig(config, pluginState, intl, editorAnalyticsAPI);
|
|
313
|
+
var _getEditorFeatureFlag = getEditorFeatureFlags(),
|
|
314
|
+
_getEditorFeatureFlag2 = _getEditorFeatureFlag.tablePreserveWidth,
|
|
315
|
+
tablePreserveWidth = _getEditorFeatureFlag2 === void 0 ? false : _getEditorFeatureFlag2;
|
|
312
316
|
var cellItems;
|
|
313
|
-
cellItems = pluginState.isDragAndDropEnabled ? [] : getCellItems(config, state, getEditorView(), intl, getEditorContainerWidth, editorAnalyticsAPI);
|
|
317
|
+
cellItems = pluginState.isDragAndDropEnabled ? [] : getCellItems(config, state, getEditorView(), intl, getEditorContainerWidth, editorAnalyticsAPI, tablePreserveWidth);
|
|
314
318
|
var columnSettingsItems;
|
|
315
|
-
columnSettingsItems = pluginState.isDragAndDropEnabled && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.new-cell-context-menu-styling') ? getColumnSettingItems(state, getEditorView(), intl, getEditorContainerWidth, editorAnalyticsAPI) : [];
|
|
319
|
+
columnSettingsItems = pluginState.isDragAndDropEnabled && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.new-cell-context-menu-styling') ? getColumnSettingItems(state, getEditorView(), intl, getEditorContainerWidth, editorAnalyticsAPI, tablePreserveWidth) : [];
|
|
316
320
|
var colorPicker = getColorPicker(state, menu, intl, editorAnalyticsAPI);
|
|
317
321
|
|
|
318
322
|
// Check if we need to show confirm dialog for delete button
|
|
@@ -351,8 +355,8 @@ var getToolbarConfig = exports.getToolbarConfig = function getToolbarConfig(getE
|
|
|
351
355
|
}
|
|
352
356
|
return element;
|
|
353
357
|
};
|
|
354
|
-
var
|
|
355
|
-
stickyScrollbar =
|
|
358
|
+
var _getEditorFeatureFlag3 = getEditorFeatureFlags(),
|
|
359
|
+
stickyScrollbar = _getEditorFeatureFlag3.stickyScrollbar;
|
|
356
360
|
return {
|
|
357
361
|
title: 'Table floating controls',
|
|
358
362
|
getDomRef: getDomRef,
|
|
@@ -411,22 +415,24 @@ var separator = function separator(hidden) {
|
|
|
411
415
|
};
|
|
412
416
|
var getCellItems = function getCellItems(pluginConfig, state, view, _ref3, getEditorContainerWidth, editorAnalyticsAPI) {
|
|
413
417
|
var formatMessage = _ref3.formatMessage;
|
|
418
|
+
var tablePreserveWidth = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;
|
|
414
419
|
var initialSelectionRect = getClosestSelectionRect(state);
|
|
415
420
|
if (initialSelectionRect) {
|
|
416
421
|
var cellOptions = getToolbarCellOptionsConfig(state, view, initialSelectionRect, {
|
|
417
422
|
formatMessage: formatMessage
|
|
418
|
-
}, getEditorContainerWidth, editorAnalyticsAPI);
|
|
423
|
+
}, getEditorContainerWidth, editorAnalyticsAPI, tablePreserveWidth);
|
|
419
424
|
return [cellOptions, separator(cellOptions.hidden)];
|
|
420
425
|
}
|
|
421
426
|
return [];
|
|
422
427
|
};
|
|
423
428
|
var getDistributeConfig = exports.getDistributeConfig = function getDistributeConfig(getEditorContainerWidth, editorAnalyticsAPI) {
|
|
429
|
+
var tablePreserveWidth = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
424
430
|
return function (state, dispatch, editorView) {
|
|
425
431
|
var selectionOrTableRect = getClosestSelectionOrTableRect(state);
|
|
426
432
|
if (!editorView || !selectionOrTableRect) {
|
|
427
433
|
return false;
|
|
428
434
|
}
|
|
429
|
-
var newResizeStateWithAnalytics = (0, _resizeState.getNewResizeStateFromSelectedColumns)(selectionOrTableRect, state, editorView.domAtPos.bind(editorView), getEditorContainerWidth);
|
|
435
|
+
var newResizeStateWithAnalytics = (0, _resizeState.getNewResizeStateFromSelectedColumns)(selectionOrTableRect, state, editorView.domAtPos.bind(editorView), getEditorContainerWidth, tablePreserveWidth);
|
|
430
436
|
if (newResizeStateWithAnalytics) {
|
|
431
437
|
(0, _commandsWithAnalytics.distributeColumnsWidthsWithAnalytics)(editorAnalyticsAPI)(_analytics.INPUT_METHOD.FLOATING_TB, newResizeStateWithAnalytics)(state, dispatch);
|
|
432
438
|
return true;
|
|
@@ -440,12 +446,13 @@ var getDistributeConfig = exports.getDistributeConfig = function getDistributeCo
|
|
|
440
446
|
var getColumnSettingItems = function getColumnSettingItems(editorState, editorView, _ref4, getEditorContainerWidth, editorAnalyticsAPI) {
|
|
441
447
|
var _newResizeStateWithAn2, _pluginState$pluginCo3;
|
|
442
448
|
var formatMessage = _ref4.formatMessage;
|
|
449
|
+
var tablePreserveWidth = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
|
|
443
450
|
var pluginState = (0, _pluginFactory.getPluginState)(editorState);
|
|
444
451
|
var selectionOrTableRect = getClosestSelectionOrTableRect(editorState);
|
|
445
452
|
if (!selectionOrTableRect || !editorView) {
|
|
446
453
|
return [];
|
|
447
454
|
}
|
|
448
|
-
var newResizeStateWithAnalytics = (0, _resizeState.getNewResizeStateFromSelectedColumns)(selectionOrTableRect, editorState, editorView.domAtPos.bind(editorView), getEditorContainerWidth);
|
|
455
|
+
var newResizeStateWithAnalytics = (0, _resizeState.getNewResizeStateFromSelectedColumns)(selectionOrTableRect, editorState, editorView.domAtPos.bind(editorView), getEditorContainerWidth, tablePreserveWidth);
|
|
449
456
|
var wouldChange = (_newResizeStateWithAn2 = newResizeStateWithAnalytics === null || newResizeStateWithAnalytics === void 0 ? void 0 : newResizeStateWithAnalytics.changed) !== null && _newResizeStateWithAn2 !== void 0 ? _newResizeStateWithAn2 : false;
|
|
450
457
|
if (pluginState !== null && pluginState !== void 0 && (_pluginState$pluginCo3 = pluginState.pluginConfig) !== null && _pluginState$pluginCo3 !== void 0 && _pluginState$pluginCo3.allowDistributeColumns && pluginState.isDragAndDropEnabled) {
|
|
451
458
|
return [{
|
|
@@ -454,7 +461,7 @@ var getColumnSettingItems = function getColumnSettingItems(editorState, editorVi
|
|
|
454
461
|
title: formatMessage(_messages.tableMessages.distributeColumns),
|
|
455
462
|
icon: _layoutThreeEqual.default,
|
|
456
463
|
onClick: function onClick(state, dispatch, view) {
|
|
457
|
-
return getDistributeConfig(getEditorContainerWidth, editorAnalyticsAPI)(state, dispatch, view);
|
|
464
|
+
return getDistributeConfig(getEditorContainerWidth, editorAnalyticsAPI, tablePreserveWidth)(state, dispatch, view);
|
|
458
465
|
},
|
|
459
466
|
disabled: !wouldChange
|
|
460
467
|
}, {
|
|
@@ -94,9 +94,9 @@ var updateColumnWidths = exports.updateColumnWidths = function updateColumnWidth
|
|
|
94
94
|
* @returns Updated transaction with rescaled columns for a given table
|
|
95
95
|
*/
|
|
96
96
|
var rescaleColumns = exports.rescaleColumns = function rescaleColumns() {
|
|
97
|
+
var tablePreserveWidth = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
97
98
|
return function (table, view) {
|
|
98
99
|
return function (tr) {
|
|
99
|
-
var _tableRef$parentEleme, _tableRef$parentEleme2;
|
|
100
100
|
if (!view) {
|
|
101
101
|
return tr;
|
|
102
102
|
}
|
|
@@ -108,14 +108,28 @@ var rescaleColumns = exports.rescaleColumns = function rescaleColumns() {
|
|
|
108
108
|
return tr;
|
|
109
109
|
}
|
|
110
110
|
var isResized = (0, _utils.hasTableBeenResized)(table.node);
|
|
111
|
-
// get current table info
|
|
112
111
|
var previousTableInfo = {
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
/** the is the width the table can reach before overflowing */
|
|
116
|
-
possibleMaxWidth: (0, _platformFeatureFlags.getBooleanFF)('platform.editor.custom-table-width') ? (tableRef === null || tableRef === void 0 || (_tableRef$parentEleme = tableRef.parentElement) === null || _tableRef$parentEleme === void 0 ? void 0 : _tableRef$parentEleme.clientWidth) || 0 : ((tableRef === null || tableRef === void 0 || (_tableRef$parentEleme2 = tableRef.parentElement) === null || _tableRef$parentEleme2 === void 0 ? void 0 : _tableRef$parentEleme2.clientWidth) || 0) - _commonStyles.insertColumnButtonOffset,
|
|
112
|
+
width: 0,
|
|
113
|
+
possibleMaxWidth: 0,
|
|
117
114
|
isResized: isResized
|
|
118
115
|
};
|
|
116
|
+
if (tablePreserveWidth) {
|
|
117
|
+
previousTableInfo = {
|
|
118
|
+
// TODO - ensure correct width is returned when table doesn't have a width value
|
|
119
|
+
width: (0, _utils.getTableElementWidth)(table.node),
|
|
120
|
+
possibleMaxWidth: (0, _platformFeatureFlags.getBooleanFF)('platform.editor.custom-table-width') ? (0, _utils.getTableContainerElement)(table.node) : (0, _utils.getTableContainerElement)(table.node) - _commonStyles.insertColumnButtonOffset,
|
|
121
|
+
isResized: isResized
|
|
122
|
+
};
|
|
123
|
+
} else {
|
|
124
|
+
var _tableRef$parentEleme, _tableRef$parentEleme2;
|
|
125
|
+
previousTableInfo = {
|
|
126
|
+
// when table is resized the tableRef client width will be 1px larger than colGroup, which is used in calculations
|
|
127
|
+
width: isResized ? tableRef.clientWidth - 1 : tableRef.clientWidth,
|
|
128
|
+
/** the is the width the table can reach before overflowing */
|
|
129
|
+
possibleMaxWidth: (0, _platformFeatureFlags.getBooleanFF)('platform.editor.custom-table-width') ? (tableRef === null || tableRef === void 0 || (_tableRef$parentEleme = tableRef.parentElement) === null || _tableRef$parentEleme === void 0 ? void 0 : _tableRef$parentEleme.clientWidth) || 0 : ((tableRef === null || tableRef === void 0 || (_tableRef$parentEleme2 = tableRef.parentElement) === null || _tableRef$parentEleme2 === void 0 ? void 0 : _tableRef$parentEleme2.clientWidth) || 0) - _commonStyles.insertColumnButtonOffset,
|
|
130
|
+
isResized: isResized
|
|
131
|
+
};
|
|
132
|
+
}
|
|
119
133
|
|
|
120
134
|
// determine the new table, based on new width
|
|
121
135
|
var newTableInfo = {
|
|
@@ -160,7 +174,8 @@ var rescaleColumns = exports.rescaleColumns = function rescaleColumns() {
|
|
|
160
174
|
start: table.start,
|
|
161
175
|
tableRef: tableRef,
|
|
162
176
|
domAtPos: domAtPos,
|
|
163
|
-
maxSize: previousTableInfo.possibleMaxWidth
|
|
177
|
+
maxSize: previousTableInfo.possibleMaxWidth,
|
|
178
|
+
tablePreserveWidth: tablePreserveWidth
|
|
164
179
|
});
|
|
165
180
|
|
|
166
181
|
// Two scenarios that require scaling:
|
|
@@ -212,6 +212,7 @@ function fixRowSpans(table) {
|
|
|
212
212
|
return table.type.createChecked(table.attrs, rows, table.marks);
|
|
213
213
|
}
|
|
214
214
|
var deleteColumns = exports.deleteColumns = function deleteColumns(rect, allowCustomStep, view) {
|
|
215
|
+
var tablePreserveWidth = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
215
216
|
return function (tr) {
|
|
216
217
|
var updatedTr = tr;
|
|
217
218
|
updatedTr.setMeta(_tableAnalytics.META_KEYS.OVERFLOW_TRIGGER, {
|
|
@@ -224,7 +225,7 @@ var deleteColumns = exports.deleteColumns = function deleteColumns(rect, allowCu
|
|
|
224
225
|
}
|
|
225
226
|
var table = (0, _utils.findTable)(updatedTr.selection);
|
|
226
227
|
if (table) {
|
|
227
|
-
updatedTr = (0, _columnWidth.rescaleColumns)()(table, view)(updatedTr);
|
|
228
|
+
updatedTr = (0, _columnWidth.rescaleColumns)(tablePreserveWidth)(table, view)(updatedTr);
|
|
228
229
|
}
|
|
229
230
|
return updatedTr;
|
|
230
231
|
};
|
|
@@ -279,8 +279,11 @@ var ContextualMenu = exports.ContextualMenu = /*#__PURE__*/function (_Component)
|
|
|
279
279
|
isDragAndDropEnabled = _getPluginState8.isDragAndDropEnabled,
|
|
280
280
|
allowDistributeColumns = _getPluginState8.pluginConfig.allowDistributeColumns;
|
|
281
281
|
if (allowDistributeColumns && (!isDragAndDropEnabled || !(0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.new-cell-context-menu-styling'))) {
|
|
282
|
-
var _newResizeState$chang;
|
|
283
|
-
var
|
|
282
|
+
var _this$props$getEditor, _this$props9, _newResizeState$chang;
|
|
283
|
+
var _ref = ((_this$props$getEditor = (_this$props9 = _this.props).getEditorFeatureFlags) === null || _this$props$getEditor === void 0 ? void 0 : _this$props$getEditor.call(_this$props9)) || {},
|
|
284
|
+
_ref$tablePreserveWid = _ref.tablePreserveWidth,
|
|
285
|
+
tablePreserveWidth = _ref$tablePreserveWid === void 0 ? false : _ref$tablePreserveWid;
|
|
286
|
+
var newResizeState = (0, _resizeState.getNewResizeStateFromSelectedColumns)(selectionRect, editorView.state, editorView.domAtPos.bind(editorView), getEditorContainerWidth, tablePreserveWidth);
|
|
284
287
|
var wouldChange = (_newResizeState$chang = newResizeState === null || newResizeState === void 0 ? void 0 : newResizeState.changed) !== null && _newResizeState$chang !== void 0 ? _newResizeState$chang : false;
|
|
285
288
|
return {
|
|
286
289
|
content: formatMessage(_messages.tableMessages.distributeColumns),
|
|
@@ -293,10 +296,10 @@ var ContextualMenu = exports.ContextualMenu = /*#__PURE__*/function (_Component)
|
|
|
293
296
|
return null;
|
|
294
297
|
});
|
|
295
298
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "createSortColumnItems", function () {
|
|
296
|
-
var _this$
|
|
297
|
-
formatMessage = _this$
|
|
298
|
-
editorView = _this$
|
|
299
|
-
allowColumnSorting = _this$
|
|
299
|
+
var _this$props10 = _this.props,
|
|
300
|
+
formatMessage = _this$props10.intl.formatMessage,
|
|
301
|
+
editorView = _this$props10.editorView,
|
|
302
|
+
allowColumnSorting = _this$props10.allowColumnSorting;
|
|
300
303
|
var _getPluginState9 = (0, _pluginFactory.getPluginState)(editorView.state),
|
|
301
304
|
isDragAndDropEnabled = _getPluginState9.isDragAndDropEnabled;
|
|
302
305
|
if (allowColumnSorting && (!isDragAndDropEnabled || !(0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.new-cell-context-menu-styling'))) {
|
|
@@ -362,18 +365,22 @@ var ContextualMenu = exports.ContextualMenu = /*#__PURE__*/function (_Component)
|
|
|
362
365
|
items[1].items.push(deleteRowItem);
|
|
363
366
|
return items;
|
|
364
367
|
});
|
|
365
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onMenuItemActivated", function (
|
|
366
|
-
var item =
|
|
367
|
-
var _this$
|
|
368
|
-
editorView = _this$
|
|
369
|
-
selectionRect = _this$
|
|
370
|
-
editorAnalyticsAPI = _this$
|
|
371
|
-
getEditorContainerWidth = _this$
|
|
368
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onMenuItemActivated", function (_ref2) {
|
|
369
|
+
var item = _ref2.item;
|
|
370
|
+
var _this$props11 = _this.props,
|
|
371
|
+
editorView = _this$props11.editorView,
|
|
372
|
+
selectionRect = _this$props11.selectionRect,
|
|
373
|
+
editorAnalyticsAPI = _this$props11.editorAnalyticsAPI,
|
|
374
|
+
getEditorContainerWidth = _this$props11.getEditorContainerWidth,
|
|
375
|
+
getEditorFeatureFlags = _this$props11.getEditorFeatureFlags;
|
|
372
376
|
// TargetCellPosition could be outdated: https://product-fabric.atlassian.net/browse/ED-8129
|
|
373
377
|
var state = editorView.state,
|
|
374
378
|
dispatch = editorView.dispatch;
|
|
375
379
|
var _getPluginState10 = (0, _pluginFactory.getPluginState)(state),
|
|
376
380
|
targetCellPosition = _getPluginState10.targetCellPosition;
|
|
381
|
+
var _ref3 = (getEditorFeatureFlags === null || getEditorFeatureFlags === void 0 ? void 0 : getEditorFeatureFlags()) || {},
|
|
382
|
+
_ref3$tablePreserveWi = _ref3.tablePreserveWidth,
|
|
383
|
+
tablePreserveWidth = _ref3$tablePreserveWi === void 0 ? false : _ref3$tablePreserveWi;
|
|
377
384
|
switch (item.value.name) {
|
|
378
385
|
case 'sort_column_desc':
|
|
379
386
|
(0, _commandsWithAnalytics.sortColumnWithAnalytics)(editorAnalyticsAPI)(_analytics.INPUT_METHOD.CONTEXT_MENU, selectionRect.left, _customSteps.TableSortOrder.DESC)(state, dispatch);
|
|
@@ -392,7 +399,7 @@ var ContextualMenu = exports.ContextualMenu = /*#__PURE__*/function (_Component)
|
|
|
392
399
|
_this.toggleOpen();
|
|
393
400
|
break;
|
|
394
401
|
case 'distribute_columns':
|
|
395
|
-
var newResizeStateWithAnalytics = (0, _resizeState.getNewResizeStateFromSelectedColumns)(selectionRect, state, editorView.domAtPos.bind(editorView), getEditorContainerWidth);
|
|
402
|
+
var newResizeStateWithAnalytics = (0, _resizeState.getNewResizeStateFromSelectedColumns)(selectionRect, state, editorView.domAtPos.bind(editorView), getEditorContainerWidth, tablePreserveWidth);
|
|
396
403
|
if (newResizeStateWithAnalytics) {
|
|
397
404
|
(0, _commandsWithAnalytics.distributeColumnsWidthsWithAnalytics)(editorAnalyticsAPI)(_analytics.INPUT_METHOD.CONTEXT_MENU, newResizeStateWithAnalytics)(state, dispatch);
|
|
398
405
|
_this.toggleOpen();
|
|
@@ -403,7 +410,7 @@ var ContextualMenu = exports.ContextualMenu = /*#__PURE__*/function (_Component)
|
|
|
403
410
|
_this.toggleOpen();
|
|
404
411
|
break;
|
|
405
412
|
case 'insert_column':
|
|
406
|
-
(0, _commandsWithAnalytics.insertColumnWithAnalytics)(getEditorContainerWidth, editorAnalyticsAPI)(_analytics.INPUT_METHOD.CONTEXT_MENU, selectionRect.right)(state, dispatch, editorView);
|
|
413
|
+
(0, _commandsWithAnalytics.insertColumnWithAnalytics)(getEditorContainerWidth, editorAnalyticsAPI, tablePreserveWidth)(_analytics.INPUT_METHOD.CONTEXT_MENU, selectionRect.right)(state, dispatch, editorView);
|
|
407
414
|
_this.toggleOpen();
|
|
408
415
|
break;
|
|
409
416
|
case 'insert_row':
|
|
@@ -426,11 +433,11 @@ var ContextualMenu = exports.ContextualMenu = /*#__PURE__*/function (_Component)
|
|
|
426
433
|
}
|
|
427
434
|
});
|
|
428
435
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "toggleOpen", function () {
|
|
429
|
-
var _this$
|
|
430
|
-
isOpen = _this$
|
|
431
|
-
_this$
|
|
432
|
-
state = _this$
|
|
433
|
-
dispatch = _this$
|
|
436
|
+
var _this$props12 = _this.props,
|
|
437
|
+
isOpen = _this$props12.isOpen,
|
|
438
|
+
_this$props12$editorV = _this$props12.editorView,
|
|
439
|
+
state = _this$props12$editorV.state,
|
|
440
|
+
dispatch = _this$props12$editorV.dispatch;
|
|
434
441
|
(0, _commands.toggleContextualMenu)()(state, dispatch);
|
|
435
442
|
if (!isOpen) {
|
|
436
443
|
_this.setState({
|
|
@@ -447,13 +454,13 @@ var ContextualMenu = exports.ContextualMenu = /*#__PURE__*/function (_Component)
|
|
|
447
454
|
isSubmenuOpen: false
|
|
448
455
|
});
|
|
449
456
|
});
|
|
450
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleItemMouseEnter", function (
|
|
451
|
-
var item =
|
|
452
|
-
var _this$
|
|
453
|
-
_this$
|
|
454
|
-
state = _this$
|
|
455
|
-
dispatch = _this$
|
|
456
|
-
selectionRect = _this$
|
|
457
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleItemMouseEnter", function (_ref4) {
|
|
458
|
+
var item = _ref4.item;
|
|
459
|
+
var _this$props13 = _this.props,
|
|
460
|
+
_this$props13$editorV = _this$props13.editorView,
|
|
461
|
+
state = _this$props13$editorV.state,
|
|
462
|
+
dispatch = _this$props13$editorV.dispatch,
|
|
463
|
+
selectionRect = _this$props13.selectionRect;
|
|
457
464
|
if (item.value.name === 'background') {
|
|
458
465
|
if (!_this.state.isSubmenuOpen) {
|
|
459
466
|
_this.setState({
|
|
@@ -471,8 +478,8 @@ var ContextualMenu = exports.ContextualMenu = /*#__PURE__*/function (_Component)
|
|
|
471
478
|
(0, _commands.hoverMergedCells)()(state, dispatch);
|
|
472
479
|
}
|
|
473
480
|
});
|
|
474
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleItemMouseLeave", function (
|
|
475
|
-
var item =
|
|
481
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleItemMouseLeave", function (_ref5) {
|
|
482
|
+
var item = _ref5.item;
|
|
476
483
|
var _this$props$editorVie2 = _this.props.editorView,
|
|
477
484
|
state = _this$props$editorVie2.state,
|
|
478
485
|
dispatch = _this$props$editorVie2.dispatch;
|
|
@@ -491,9 +498,9 @@ var ContextualMenu = exports.ContextualMenu = /*#__PURE__*/function (_Component)
|
|
|
491
498
|
}
|
|
492
499
|
});
|
|
493
500
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "setColor", function (color) {
|
|
494
|
-
var _this$
|
|
495
|
-
editorView = _this$
|
|
496
|
-
editorAnalyticsAPI = _this$
|
|
501
|
+
var _this$props14 = _this.props,
|
|
502
|
+
editorView = _this$props14.editorView,
|
|
503
|
+
editorAnalyticsAPI = _this$props14.editorAnalyticsAPI;
|
|
497
504
|
// TargetCellPosition could be outdated: https://product-fabric.atlassian.net/browse/ED-8129
|
|
498
505
|
var _getPluginState12 = (0, _pluginFactory.getPluginState)(editorView.state),
|
|
499
506
|
targetCellPosition = _getPluginState12.targetCellPosition;
|
|
@@ -507,12 +514,12 @@ var ContextualMenu = exports.ContextualMenu = /*#__PURE__*/function (_Component)
|
|
|
507
514
|
(0, _createClass2.default)(ContextualMenu, [{
|
|
508
515
|
key: "render",
|
|
509
516
|
value: function render() {
|
|
510
|
-
var _this$
|
|
511
|
-
isOpen = _this$
|
|
512
|
-
mountPoint = _this$
|
|
513
|
-
offset = _this$
|
|
514
|
-
boundariesElement = _this$
|
|
515
|
-
editorView = _this$
|
|
517
|
+
var _this$props15 = this.props,
|
|
518
|
+
isOpen = _this$props15.isOpen,
|
|
519
|
+
mountPoint = _this$props15.mountPoint,
|
|
520
|
+
offset = _this$props15.offset,
|
|
521
|
+
boundariesElement = _this$props15.boundariesElement,
|
|
522
|
+
editorView = _this$props15.editorView;
|
|
516
523
|
var _getPluginState13 = (0, _pluginFactory.getPluginState)(editorView.state),
|
|
517
524
|
isDragAndDropEnabled = _getPluginState13.isDragAndDropEnabled;
|
|
518
525
|
var items = isDragAndDropEnabled && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.new-cell-context-menu-styling') ? this.createNewContextMenuItems() : this.createOriginalContextMenuItems();
|
|
@@ -24,7 +24,8 @@ var FloatingContextualMenu = function FloatingContextualMenu(_ref) {
|
|
|
24
24
|
isOpen = _ref.isOpen,
|
|
25
25
|
pluginConfig = _ref.pluginConfig,
|
|
26
26
|
editorAnalyticsAPI = _ref.editorAnalyticsAPI,
|
|
27
|
-
getEditorContainerWidth = _ref.getEditorContainerWidth
|
|
27
|
+
getEditorContainerWidth = _ref.getEditorContainerWidth,
|
|
28
|
+
getEditorFeatureFlags = _ref.getEditorFeatureFlags;
|
|
28
29
|
// TargetCellPosition could be outdated: https://product-fabric.atlassian.net/browse/ED-8129
|
|
29
30
|
var _getPluginState = (0, _pluginFactory.getPluginState)(editorView.state),
|
|
30
31
|
targetCellPosition = _getPluginState.targetCellPosition,
|
|
@@ -72,7 +73,8 @@ var FloatingContextualMenu = function FloatingContextualMenu(_ref) {
|
|
|
72
73
|
selectionRect: selectionRect,
|
|
73
74
|
boundariesElement: boundariesElement,
|
|
74
75
|
editorAnalyticsAPI: editorAnalyticsAPI,
|
|
75
|
-
getEditorContainerWidth: getEditorContainerWidth
|
|
76
|
+
getEditorContainerWidth: getEditorContainerWidth,
|
|
77
|
+
getEditorFeatureFlags: getEditorFeatureFlags
|
|
76
78
|
})));
|
|
77
79
|
};
|
|
78
80
|
FloatingContextualMenu.displayName = 'FloatingContextualMenu';
|
|
@@ -190,7 +190,8 @@ var DragMenu = exports.DragMenu = /*#__PURE__*/_react.default.memo(function (_re
|
|
|
190
190
|
fitWidth = _ref.fitWidth,
|
|
191
191
|
mountPoint = _ref.mountPoint,
|
|
192
192
|
scrollableElement = _ref.scrollableElement,
|
|
193
|
-
boundariesElement = _ref.boundariesElement
|
|
193
|
+
boundariesElement = _ref.boundariesElement,
|
|
194
|
+
tablePreserveWidth = _ref.tablePreserveWidth;
|
|
194
195
|
var state = editorView.state,
|
|
195
196
|
dispatch = editorView.dispatch;
|
|
196
197
|
var selection = state.selection;
|
|
@@ -206,7 +207,7 @@ var DragMenu = exports.DragMenu = /*#__PURE__*/_react.default.memo(function (_re
|
|
|
206
207
|
var shouldMoveDisabled = index !== undefined && hasMergedCells(index)(selection);
|
|
207
208
|
var hasMergedCellsInTable = (0, _utils3.getMergedCellsPositions)(state.tr).length > 0;
|
|
208
209
|
var allowBackgroundColor = (_pluginConfig$allowBa = pluginConfig === null || pluginConfig === void 0 ? void 0 : pluginConfig.allowBackgroundColor) !== null && _pluginConfig$allowBa !== void 0 ? _pluginConfig$allowBa : false;
|
|
209
|
-
var dragMenuConfig = (0, _dragMenu.getDragMenuConfig)(direction, getEditorContainerWidth, !shouldMoveDisabled, hasMergedCellsInTable, editorView, tableMap, index, targetCellPosition, selectionRect, editorAnalyticsAPI, pluginConfig === null || pluginConfig === void 0 ? void 0 : pluginConfig.isHeaderRowRequired);
|
|
210
|
+
var dragMenuConfig = (0, _dragMenu.getDragMenuConfig)(direction, getEditorContainerWidth, !shouldMoveDisabled, hasMergedCellsInTable, editorView, tableMap, index, targetCellPosition, selectionRect, editorAnalyticsAPI, pluginConfig === null || pluginConfig === void 0 ? void 0 : pluginConfig.isHeaderRowRequired, tablePreserveWidth);
|
|
210
211
|
var _convertToDropdownIte = convertToDropdownItems(dragMenuConfig, formatMessage, selectionRect),
|
|
211
212
|
menuItems = _convertToDropdownIte.menuItems,
|
|
212
213
|
menuCallback = _convertToDropdownIte.menuCallback;
|
|
@@ -24,7 +24,8 @@ var FloatingDragMenu = function FloatingDragMenu(_ref) {
|
|
|
24
24
|
getEditorContainerWidth = _ref.getEditorContainerWidth,
|
|
25
25
|
editorAnalyticsAPI = _ref.editorAnalyticsAPI,
|
|
26
26
|
stickyHeaders = _ref.stickyHeaders,
|
|
27
|
-
pluginConfig = _ref.pluginConfig
|
|
27
|
+
pluginConfig = _ref.pluginConfig,
|
|
28
|
+
getEditorFeatureFlags = _ref.getEditorFeatureFlags;
|
|
28
29
|
if (!isOpen || !targetCellPosition || editorView.state.doc.nodeSize <= targetCellPosition) {
|
|
29
30
|
return null;
|
|
30
31
|
}
|
|
@@ -34,6 +35,9 @@ var FloatingDragMenu = function FloatingDragMenu(_ref) {
|
|
|
34
35
|
if (!targetHandleRef || !(editorView.state.selection instanceof _cellSelection.CellSelection)) {
|
|
35
36
|
return null;
|
|
36
37
|
}
|
|
38
|
+
var _getEditorFeatureFlag = getEditorFeatureFlags(),
|
|
39
|
+
_getEditorFeatureFlag2 = _getEditorFeatureFlag.tablePreserveWidth,
|
|
40
|
+
tablePreserveWidth = _getEditorFeatureFlag2 === void 0 ? false : _getEditorFeatureFlag2;
|
|
37
41
|
return /*#__PURE__*/_react.default.createElement(_ui.Popup, {
|
|
38
42
|
alignX: direction === 'row' ? 'right' : undefined,
|
|
39
43
|
alignY: direction === 'row' ? 'start' : undefined,
|
|
@@ -66,7 +70,8 @@ var FloatingDragMenu = function FloatingDragMenu(_ref) {
|
|
|
66
70
|
fitHeight: _consts.tablePopupMenuFitHeight,
|
|
67
71
|
mountPoint: mountPoint,
|
|
68
72
|
boundariesElement: boundariesElement,
|
|
69
|
-
scrollableElement: scrollableElement
|
|
73
|
+
scrollableElement: scrollableElement,
|
|
74
|
+
tablePreserveWidth: tablePreserveWidth
|
|
70
75
|
}));
|
|
71
76
|
};
|
|
72
77
|
FloatingDragMenu.displayName = 'FloatingDragMenu';
|
|
@@ -198,10 +198,14 @@ var FloatingInsertButton = exports.FloatingInsertButton = /*#__PURE__*/function
|
|
|
198
198
|
editorAnalyticsAPI = _this$props4.editorAnalyticsAPI,
|
|
199
199
|
getEditorContainerWidth = _this$props4.getEditorContainerWidth;
|
|
200
200
|
if (typeof insertColumnButtonIndex !== 'undefined') {
|
|
201
|
+
var _this$props$getEditor, _this$props5;
|
|
201
202
|
event.preventDefault();
|
|
203
|
+
var _ref = ((_this$props$getEditor = (_this$props5 = this.props).getEditorFeatureFlags) === null || _this$props$getEditor === void 0 ? void 0 : _this$props$getEditor.call(_this$props5)) || {},
|
|
204
|
+
_ref$tablePreserveWid = _ref.tablePreserveWidth,
|
|
205
|
+
tablePreserveWidth = _ref$tablePreserveWid === void 0 ? false : _ref$tablePreserveWid;
|
|
202
206
|
var state = editorView.state,
|
|
203
207
|
dispatch = editorView.dispatch;
|
|
204
|
-
(0, _commandsWithAnalytics.insertColumnWithAnalytics)(getEditorContainerWidth, editorAnalyticsAPI)(_analytics.INPUT_METHOD.BUTTON, insertColumnButtonIndex)(state, dispatch, editorView);
|
|
208
|
+
(0, _commandsWithAnalytics.insertColumnWithAnalytics)(getEditorContainerWidth, editorAnalyticsAPI, tablePreserveWidth)(_analytics.INPUT_METHOD.BUTTON, insertColumnButtonIndex)(state, dispatch, editorView);
|
|
205
209
|
}
|
|
206
210
|
}
|
|
207
211
|
}]);
|
package/dist/cjs/utils/create.js
CHANGED
|
@@ -12,7 +12,7 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
|
|
|
12
12
|
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; }
|
|
13
13
|
var createTableWithWidth = exports.createTableWithWidth = function createTableWithWidth(isFullWidthModeEnabled, getEditorFeatureFlags, createTableProps) {
|
|
14
14
|
return function (schema) {
|
|
15
|
-
var _ref = getEditorFeatureFlags ? getEditorFeatureFlags()
|
|
15
|
+
var _ref = (getEditorFeatureFlags === null || getEditorFeatureFlags === void 0 ? void 0 : getEditorFeatureFlags()) || {},
|
|
16
16
|
_ref$tablePreserveWid = _ref.tablePreserveWidth,
|
|
17
17
|
tablePreserveWidth = _ref$tablePreserveWid === void 0 ? false : _ref$tablePreserveWid;
|
|
18
18
|
if (tablePreserveWidth && isFullWidthModeEnabled) {
|
|
@@ -70,6 +70,7 @@ var defaultSelectionRect = {
|
|
|
70
70
|
};
|
|
71
71
|
var getDragMenuConfig = exports.getDragMenuConfig = function getDragMenuConfig(direction, getEditorContainerWidth, canDrag, hasMergedCellsInTable, editorView, tableMap, index, targetCellPosition, selectionRect, editorAnalyticsAPI, isHeaderRowRequired) {
|
|
72
72
|
var _tableMap$height, _tableMap$height2, _tableMap$width, _tableMap$width2;
|
|
73
|
+
var tablePreserveWidth = arguments.length > 11 && arguments[11] !== undefined ? arguments[11] : false;
|
|
73
74
|
var addOptions = direction === 'row' ? [{
|
|
74
75
|
label: 'above',
|
|
75
76
|
offset: 0,
|
|
@@ -154,7 +155,7 @@ var getDragMenuConfig = exports.getDragMenuConfig = function getDragMenuConfig(d
|
|
|
154
155
|
moveCursorToInsertedRow: true
|
|
155
156
|
})(state, dispatch);
|
|
156
157
|
} else {
|
|
157
|
-
(0, _commandsWithAnalytics.insertColumnWithAnalytics)(getEditorContainerWidth, editorAnalyticsAPI)(_analytics.INPUT_METHOD.TABLE_CONTEXT_MENU, (index !== null && index !== void 0 ? index : 0) + offset)(state, dispatch, editorView);
|
|
158
|
+
(0, _commandsWithAnalytics.insertColumnWithAnalytics)(getEditorContainerWidth, editorAnalyticsAPI, tablePreserveWidth)(_analytics.INPUT_METHOD.TABLE_CONTEXT_MENU, (index !== null && index !== void 0 ? index : 0) + offset)(state, dispatch, editorView);
|
|
158
159
|
}
|
|
159
160
|
return true;
|
|
160
161
|
},
|
|
@@ -167,7 +168,7 @@ var getDragMenuConfig = exports.getDragMenuConfig = function getDragMenuConfig(d
|
|
|
167
168
|
onClick: function onClick(state, dispatch) {
|
|
168
169
|
var selectionRect = (0, _toolbar.getClosestSelectionRect)(state);
|
|
169
170
|
if (selectionRect) {
|
|
170
|
-
var newResizeState = (0, _resizeState.getNewResizeStateFromSelectedColumns)(selectionRect, state, editorView.domAtPos.bind(editorView), getEditorContainerWidth);
|
|
171
|
+
var newResizeState = (0, _resizeState.getNewResizeStateFromSelectedColumns)(selectionRect, state, editorView.domAtPos.bind(editorView), getEditorContainerWidth, tablePreserveWidth);
|
|
171
172
|
if (newResizeState) {
|
|
172
173
|
(0, _commandsWithAnalytics.distributeColumnsWidthsWithAnalytics)(editorAnalyticsAPI)(_analytics.INPUT_METHOD.TABLE_CONTEXT_MENU, newResizeState)(state, dispatch);
|
|
173
174
|
return true;
|
|
@@ -193,7 +194,7 @@ var getDragMenuConfig = exports.getDragMenuConfig = function getDragMenuConfig(d
|
|
|
193
194
|
if (direction === 'row') {
|
|
194
195
|
(0, _commandsWithAnalytics.deleteRowsWithAnalytics)(editorAnalyticsAPI)(_analytics.INPUT_METHOD.TABLE_CONTEXT_MENU, selectionRect !== null && selectionRect !== void 0 ? selectionRect : defaultSelectionRect, !!isHeaderRowRequired)(state, dispatch);
|
|
195
196
|
} else {
|
|
196
|
-
(0, _commandsWithAnalytics.deleteColumnsWithAnalytics)(editorAnalyticsAPI)(_analytics.INPUT_METHOD.TABLE_CONTEXT_MENU, selectionRect !== null && selectionRect !== void 0 ? selectionRect : defaultSelectionRect)(state, dispatch, editorView);
|
|
197
|
+
(0, _commandsWithAnalytics.deleteColumnsWithAnalytics)(editorAnalyticsAPI, tablePreserveWidth)(_analytics.INPUT_METHOD.TABLE_CONTEXT_MENU, selectionRect !== null && selectionRect !== void 0 ? selectionRect : defaultSelectionRect)(state, dispatch, editorView);
|
|
197
198
|
}
|
|
198
199
|
return true;
|
|
199
200
|
},
|
|
@@ -121,7 +121,7 @@ export const activateNextResizeArea = direction => (state, dispatch, view) => {
|
|
|
121
121
|
}
|
|
122
122
|
return false;
|
|
123
123
|
};
|
|
124
|
-
export const changeColumnWidthByStep = (stepSize, getEditorContainerWidth) => (state, dispatch, view) => {
|
|
124
|
+
export const changeColumnWidthByStep = (stepSize, getEditorContainerWidth, tablePreserveWidth = false) => (state, dispatch, view) => {
|
|
125
125
|
let customTr = state.tr;
|
|
126
126
|
const fakeDispatch = tr => {
|
|
127
127
|
customTr = tr;
|
|
@@ -170,14 +170,15 @@ export const changeColumnWidthByStep = (stepSize, getEditorContainerWidth) => (s
|
|
|
170
170
|
table: originalTable,
|
|
171
171
|
tableRef: dom,
|
|
172
172
|
start: tableStartPosition,
|
|
173
|
-
domAtPos
|
|
173
|
+
domAtPos,
|
|
174
|
+
tablePreserveWidth
|
|
174
175
|
});
|
|
175
176
|
updateControls()(state);
|
|
176
177
|
const selectionRect = getSelectionRect(state.selection);
|
|
177
178
|
const selectedColumns = selectionRect ? getSelectedColumnIndexes(selectionRect) : [];
|
|
178
179
|
// only selected (or selected - 1) columns should be distributed
|
|
179
180
|
const resizingSelectedColumns = selectedColumns.indexOf(colIndex) > -1 || selectedColumns.indexOf(colIndex + 1) > -1;
|
|
180
|
-
const newResizeState = resizeColumn(initialResizeState, colIndex, stepSize, dom, resizingSelectedColumns ? selectedColumns : undefined);
|
|
181
|
+
const newResizeState = resizeColumn(initialResizeState, colIndex, stepSize, dom, resizingSelectedColumns ? selectedColumns : undefined, tablePreserveWidth);
|
|
181
182
|
customTr = updateColumnWidths(newResizeState, originalTable, tableStartPosition)(customTr);
|
|
182
183
|
if (dispatch) {
|
|
183
184
|
dispatch(customTr);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { deleteColumns } from '../transforms/delete-columns';
|
|
2
2
|
import { getAllowAddColumnCustomStep } from '../utils/get-allow-add-column-custom-step';
|
|
3
|
-
export const deleteColumnsCommand = rect => (state, dispatch, view) => {
|
|
4
|
-
const tr = deleteColumns(rect, getAllowAddColumnCustomStep(state), view)(state.tr);
|
|
3
|
+
export const deleteColumnsCommand = (rect, tablePreserveWidth = false) => (state, dispatch, view) => {
|
|
4
|
+
const tr = deleteColumns(rect, getAllowAddColumnCustomStep(state), view, tablePreserveWidth)(state.tr);
|
|
5
5
|
if (dispatch) {
|
|
6
6
|
dispatch(tr);
|
|
7
7
|
return true;
|