@atlaskit/editor-plugin-table 7.16.17 → 7.16.19
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 +21 -0
- package/dist/cjs/commands/column-resize.js +4 -3
- package/dist/cjs/commands/delete.js +3 -2
- package/dist/cjs/commands/insert.js +12 -8
- package/dist/cjs/commands-with-analytics.js +10 -7
- package/dist/cjs/event-handlers.js +3 -2
- package/dist/cjs/nodeviews/TableComponent.js +32 -19
- package/dist/cjs/nodeviews/TableContainer.js +4 -0
- package/dist/cjs/nodeviews/TableResizer.js +8 -7
- package/dist/cjs/nodeviews/table.js +6 -4
- package/dist/cjs/plugin.js +9 -6
- package/dist/cjs/pm-plugins/drag-and-drop/plugin.js +12 -13
- package/dist/cjs/pm-plugins/keymap.js +11 -9
- package/dist/cjs/pm-plugins/main.js +4 -1
- package/dist/cjs/pm-plugins/table-resizing/event-handlers.js +10 -9
- package/dist/cjs/pm-plugins/table-resizing/utils/resize-state.js +4 -3
- package/dist/cjs/pm-plugins/table-resizing/utils/scale-table.js +4 -3
- package/dist/cjs/toolbar.js +54 -37
- package/dist/cjs/transforms/column-width.js +3 -3
- package/dist/cjs/transforms/delete-columns.js +3 -2
- package/dist/cjs/ui/FloatingContextualMenu/ContextualMenu.js +21 -15
- package/dist/cjs/ui/FloatingDragMenu/DragMenu.js +3 -2
- package/dist/cjs/ui/FloatingDragMenu/index.js +6 -3
- package/dist/cjs/ui/FloatingInsertButton/index.js +7 -8
- package/dist/cjs/utils/drag-menu.js +5 -4
- package/dist/es2019/commands/column-resize.js +4 -3
- package/dist/es2019/commands/delete.js +2 -2
- package/dist/es2019/commands/insert.js +8 -8
- package/dist/es2019/commands-with-analytics.js +9 -8
- package/dist/es2019/event-handlers.js +2 -2
- package/dist/es2019/nodeviews/TableComponent.js +28 -17
- package/dist/es2019/nodeviews/TableContainer.js +4 -0
- package/dist/es2019/nodeviews/TableResizer.js +9 -8
- package/dist/es2019/nodeviews/table.js +5 -4
- package/dist/es2019/plugin.js +9 -6
- package/dist/es2019/pm-plugins/drag-and-drop/plugin.js +7 -10
- package/dist/es2019/pm-plugins/keymap.js +9 -9
- package/dist/es2019/pm-plugins/main.js +4 -1
- package/dist/es2019/pm-plugins/table-resizing/event-handlers.js +10 -9
- package/dist/es2019/pm-plugins/table-resizing/utils/resize-state.js +4 -4
- package/dist/es2019/pm-plugins/table-resizing/utils/scale-table.js +4 -4
- package/dist/es2019/toolbar.js +51 -39
- package/dist/es2019/transforms/column-width.js +2 -3
- package/dist/es2019/transforms/delete-columns.js +2 -2
- package/dist/es2019/ui/FloatingContextualMenu/ContextualMenu.js +12 -7
- package/dist/es2019/ui/FloatingDragMenu/DragMenu.js +3 -2
- package/dist/es2019/ui/FloatingDragMenu/index.js +5 -3
- package/dist/es2019/ui/FloatingInsertButton/index.js +6 -8
- package/dist/es2019/utils/drag-menu.js +4 -4
- package/dist/esm/commands/column-resize.js +4 -3
- package/dist/esm/commands/delete.js +3 -2
- package/dist/esm/commands/insert.js +12 -8
- package/dist/esm/commands-with-analytics.js +10 -7
- package/dist/esm/event-handlers.js +3 -2
- package/dist/esm/nodeviews/TableComponent.js +32 -19
- package/dist/esm/nodeviews/TableContainer.js +4 -0
- package/dist/esm/nodeviews/TableResizer.js +9 -8
- package/dist/esm/nodeviews/table.js +6 -4
- package/dist/esm/plugin.js +9 -6
- package/dist/esm/pm-plugins/drag-and-drop/plugin.js +12 -13
- package/dist/esm/pm-plugins/keymap.js +11 -9
- package/dist/esm/pm-plugins/main.js +4 -1
- package/dist/esm/pm-plugins/table-resizing/event-handlers.js +10 -9
- package/dist/esm/pm-plugins/table-resizing/utils/resize-state.js +4 -3
- package/dist/esm/pm-plugins/table-resizing/utils/scale-table.js +4 -3
- package/dist/esm/toolbar.js +54 -37
- package/dist/esm/transforms/column-width.js +3 -3
- package/dist/esm/transforms/delete-columns.js +3 -2
- package/dist/esm/ui/FloatingContextualMenu/ContextualMenu.js +21 -15
- package/dist/esm/ui/FloatingDragMenu/DragMenu.js +3 -2
- package/dist/esm/ui/FloatingDragMenu/index.js +6 -3
- package/dist/esm/ui/FloatingInsertButton/index.js +7 -8
- package/dist/esm/utils/drag-menu.js +5 -4
- package/dist/types/commands/column-resize.d.ts +2 -1
- package/dist/types/commands/delete.d.ts +1 -1
- package/dist/types/commands/insert.d.ts +4 -4
- package/dist/types/commands-with-analytics.d.ts +4 -4
- package/dist/types/event-handlers.d.ts +1 -1
- 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 +1 -1
- package/dist/types/pm-plugins/keymap.d.ts +1 -1
- package/dist/types/pm-plugins/table-resizing/utils/resize-state.d.ts +1 -1
- package/dist/types/pm-plugins/table-resizing/utils/scale-table.d.ts +1 -1
- package/dist/types/toolbar.d.ts +5 -5
- package/dist/types/transforms/column-width.d.ts +1 -1
- package/dist/types/transforms/delete-columns.d.ts +1 -1
- package/dist/types/ui/FloatingDragMenu/DragMenu.d.ts +2 -1
- package/dist/types/ui/FloatingInsertButton/index.d.ts +1 -0
- package/dist/types/utils/drag-menu.d.ts +1 -1
- package/dist/types-ts4.5/commands/column-resize.d.ts +2 -1
- package/dist/types-ts4.5/commands/delete.d.ts +1 -1
- package/dist/types-ts4.5/commands/insert.d.ts +4 -4
- package/dist/types-ts4.5/commands-with-analytics.d.ts +4 -4
- package/dist/types-ts4.5/event-handlers.d.ts +1 -1
- 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 +1 -1
- package/dist/types-ts4.5/pm-plugins/keymap.d.ts +1 -1
- package/dist/types-ts4.5/pm-plugins/table-resizing/utils/resize-state.d.ts +1 -1
- package/dist/types-ts4.5/pm-plugins/table-resizing/utils/scale-table.d.ts +1 -1
- package/dist/types-ts4.5/toolbar.d.ts +5 -5
- 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/FloatingDragMenu/DragMenu.d.ts +2 -1
- package/dist/types-ts4.5/ui/FloatingInsertButton/index.d.ts +1 -0
- package/dist/types-ts4.5/utils/drag-menu.d.ts +1 -1
- package/package.json +5 -8
- package/src/commands/column-resize.ts +6 -6
- package/src/commands/delete.ts +7 -1
- package/src/commands/insert.ts +33 -5
- package/src/commands-with-analytics.ts +14 -2
- package/src/event-handlers.ts +2 -0
- package/src/nodeviews/TableComponent.tsx +28 -28
- package/src/nodeviews/TableContainer.tsx +6 -0
- package/src/nodeviews/TableResizer.tsx +16 -6
- package/src/nodeviews/table.tsx +4 -2
- package/src/plugin.tsx +17 -7
- package/src/pm-plugins/drag-and-drop/plugin.ts +26 -13
- package/src/pm-plugins/keymap.ts +30 -4
- package/src/pm-plugins/main.ts +2 -0
- package/src/pm-plugins/table-resizing/event-handlers.ts +12 -14
- package/src/pm-plugins/table-resizing/utils/resize-state.ts +5 -5
- package/src/pm-plugins/table-resizing/utils/scale-table.ts +6 -4
- package/src/toolbar.tsx +97 -40
- package/src/transforms/column-width.ts +7 -3
- package/src/transforms/delete-columns.ts +6 -2
- package/src/ui/FloatingContextualMenu/ContextualMenu.tsx +12 -4
- package/src/ui/FloatingDragMenu/DragMenu.tsx +3 -0
- package/src/ui/FloatingDragMenu/index.tsx +4 -4
- package/src/ui/FloatingInsertButton/index.tsx +12 -9
- package/src/utils/drag-menu.ts +13 -4
|
@@ -18,7 +18,7 @@ import { DropTargetType } from './consts';
|
|
|
18
18
|
import { createPluginState, getPluginState } from './plugin-factory';
|
|
19
19
|
import { pluginKey } from './plugin-key';
|
|
20
20
|
import { getDraggableDataFromEvent } from './utils/monitor';
|
|
21
|
-
var destroyFn = function destroyFn(editorView, editorAnalyticsAPI) {
|
|
21
|
+
var destroyFn = function destroyFn(editorView, editorAnalyticsAPI, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled) {
|
|
22
22
|
var editorPageScrollContainer = document.querySelector('.fabric-editor-popup-scroll-parent');
|
|
23
23
|
var rowAutoScrollers = editorPageScrollContainer ? [monitorForElements({
|
|
24
24
|
canMonitor: function canMonitor(_ref) {
|
|
@@ -154,16 +154,13 @@ var destroyFn = function destroyFn(editorView, editorAnalyticsAPI) {
|
|
|
154
154
|
tableRef = _getTablePluginState3.tableRef,
|
|
155
155
|
tableNode = _getTablePluginState3.tableNode;
|
|
156
156
|
if (tableRef && tableNode) {
|
|
157
|
-
var _getTablePluginState4 = getTablePluginState(editorView.state),
|
|
158
|
-
_getTablePluginState5 = _getTablePluginState4.isTableScalingEnabled,
|
|
159
|
-
isTableScalingEnabled = _getTablePluginState5 === void 0 ? false : _getTablePluginState5;
|
|
160
157
|
var isTableScalingEnabledOnCurrentTable = isTableScalingEnabled;
|
|
161
|
-
var
|
|
162
|
-
|
|
163
|
-
if (isTableScalingEnabledWithLockButton) {
|
|
158
|
+
var isTableScalingWithFixedColumnWidthsOptionEnabled = isTableScalingEnabled && isTableFixedColumnWidthsOptionEnabled;
|
|
159
|
+
if (isTableScalingWithFixedColumnWidthsOptionEnabled) {
|
|
164
160
|
isTableScalingEnabledOnCurrentTable = tableNode.attrs.displayMode !== 'fixed';
|
|
165
161
|
}
|
|
166
|
-
|
|
162
|
+
var shouldUseIncreasedScalingPercent = isTableScalingWithFixedColumnWidthsOptionEnabled && getBooleanFF('platform.editor.table.use-increased-scaling-percent');
|
|
163
|
+
insertColgroupFromNode(tableRef, tableNode, isTableScalingEnabledOnCurrentTable, undefined, shouldUseIncreasedScalingPercent);
|
|
167
164
|
}
|
|
168
165
|
}
|
|
169
166
|
editorView.focus();
|
|
@@ -172,6 +169,8 @@ var destroyFn = function destroyFn(editorView, editorAnalyticsAPI) {
|
|
|
172
169
|
})]));
|
|
173
170
|
};
|
|
174
171
|
export var createPlugin = function createPlugin(dispatch, editorAnalyticsAPI) {
|
|
172
|
+
var isTableScalingEnabled = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
173
|
+
var isTableFixedColumnWidthsOptionEnabled = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
175
174
|
return new SafePlugin({
|
|
176
175
|
state: createPluginState(dispatch, function (state) {
|
|
177
176
|
return {
|
|
@@ -186,10 +185,10 @@ export var createPlugin = function createPlugin(dispatch, editorAnalyticsAPI) {
|
|
|
186
185
|
}),
|
|
187
186
|
key: pluginKey,
|
|
188
187
|
appendTransaction: function appendTransaction(transactions, oldState, newState) {
|
|
189
|
-
var
|
|
190
|
-
oldTargetCellPosition =
|
|
191
|
-
var
|
|
192
|
-
newTargetCellPosition =
|
|
188
|
+
var _getTablePluginState4 = getTablePluginState(oldState),
|
|
189
|
+
oldTargetCellPosition = _getTablePluginState4.targetCellPosition;
|
|
190
|
+
var _getTablePluginState5 = getTablePluginState(newState),
|
|
191
|
+
newTargetCellPosition = _getTablePluginState5.targetCellPosition;
|
|
193
192
|
var _getPluginState = getPluginState(newState),
|
|
194
193
|
isDragMenuOpen = _getPluginState.isDragMenuOpen,
|
|
195
194
|
dragMenuIndex = _getPluginState.dragMenuIndex;
|
|
@@ -239,7 +238,7 @@ export var createPlugin = function createPlugin(dispatch, editorAnalyticsAPI) {
|
|
|
239
238
|
},
|
|
240
239
|
view: function view(editorView) {
|
|
241
240
|
return {
|
|
242
|
-
destroy: destroyFn(editorView, editorAnalyticsAPI)
|
|
241
|
+
destroy: destroyFn(editorView, editorAnalyticsAPI, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled)
|
|
243
242
|
};
|
|
244
243
|
},
|
|
245
244
|
props: {
|
|
@@ -15,7 +15,9 @@ export function keymapPlugin(getEditorContainerWidth, editorAnalyticsAPI, dragAn
|
|
|
15
15
|
var isFullWidthEnabled = arguments.length > 5 ? arguments[5] : undefined;
|
|
16
16
|
var pluginInjectionApi = arguments.length > 6 ? arguments[6] : undefined;
|
|
17
17
|
var getIntl = arguments.length > 7 ? arguments[7] : undefined;
|
|
18
|
-
var
|
|
18
|
+
var isCellBackgroundDuplicated = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : false;
|
|
19
|
+
var isTableFixedColumnWidthsOptionEnabled = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : false;
|
|
20
|
+
var shouldUseIncreasedScalingPercent = arguments.length > 10 ? arguments[10] : undefined;
|
|
19
21
|
var list = {};
|
|
20
22
|
var ariaNotifyPlugin = pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$a = pluginInjectionApi.accessibilityUtils) === null || _pluginInjectionApi$a === void 0 ? void 0 : _pluginInjectionApi$a.actions.ariaNotify;
|
|
21
23
|
bindKeymapWithCommand(nextCell.common, goToNextCell(editorAnalyticsAPI, ariaNotifyPlugin, getIntl)(1), list);
|
|
@@ -27,13 +29,13 @@ export function keymapPlugin(getEditorContainerWidth, editorAnalyticsAPI, dragAn
|
|
|
27
29
|
// Add row/column shortcuts
|
|
28
30
|
bindKeymapWithCommand(addRowBefore.common, addRowAroundSelection(editorAnalyticsAPI)('TOP'), list);
|
|
29
31
|
bindKeymapWithCommand(addRowAfter.common, addRowAroundSelection(editorAnalyticsAPI)('BOTTOM'), list);
|
|
30
|
-
bindKeymapWithCommand(addColumnBefore.common, addColumnBeforeCommand(isTableScalingEnabled, shouldUseIncreasedScalingPercent), list);
|
|
31
|
-
bindKeymapWithCommand(addColumnAfter.common, addColumnAfterCommand(isTableScalingEnabled, shouldUseIncreasedScalingPercent), list);
|
|
32
|
+
bindKeymapWithCommand(addColumnBefore.common, addColumnBeforeCommand(isTableScalingEnabled, isCellBackgroundDuplicated, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent), list);
|
|
33
|
+
bindKeymapWithCommand(addColumnAfter.common, addColumnAfterCommand(isTableScalingEnabled, isCellBackgroundDuplicated, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent), list);
|
|
32
34
|
if (getBooleanFF('platform.editor.a11y-help-dialog-shortcut-keys-position_aghfg')) {
|
|
33
35
|
bindKeymapWithCommand(addRowBeforeVO.common, addRowAroundSelection(editorAnalyticsAPI)('TOP'), list);
|
|
34
36
|
bindKeymapWithCommand(addRowAfterVO.common, addRowAroundSelection(editorAnalyticsAPI)('BOTTOM'), list);
|
|
35
|
-
bindKeymapWithCommand(addColumnBeforeVO.common, addColumnBeforeCommand(isTableScalingEnabled), list);
|
|
36
|
-
bindKeymapWithCommand(addColumnAfterVO.common, addColumnAfterCommand(isTableScalingEnabled), list);
|
|
37
|
+
bindKeymapWithCommand(addColumnBeforeVO.common, addColumnBeforeCommand(isTableScalingEnabled, isCellBackgroundDuplicated, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent), list);
|
|
38
|
+
bindKeymapWithCommand(addColumnAfterVO.common, addColumnAfterCommand(isTableScalingEnabled, isCellBackgroundDuplicated, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent), list);
|
|
37
39
|
}
|
|
38
40
|
if (dragAndDropEnabled) {
|
|
39
41
|
// Move row/column shortcuts
|
|
@@ -50,8 +52,8 @@ export function keymapPlugin(getEditorContainerWidth, editorAnalyticsAPI, dragAn
|
|
|
50
52
|
bindKeymapWithCommand(moveColumnRight.common, moveSourceWithAnalyticsViaShortcut(editorAnalyticsAPI)('table-column', 1), list);
|
|
51
53
|
|
|
52
54
|
// Delete row/column shortcuts
|
|
53
|
-
bindKeymapWithCommand(deleteColumn.common, deleteSelectedRowsOrColumnsWithAnalyticsViaShortcut(editorAnalyticsAPI, isTableScalingEnabled, shouldUseIncreasedScalingPercent), list);
|
|
54
|
-
bindKeymapWithCommand(deleteRow.common, deleteSelectedRowsOrColumnsWithAnalyticsViaShortcut(editorAnalyticsAPI, isTableScalingEnabled, shouldUseIncreasedScalingPercent), list);
|
|
55
|
+
bindKeymapWithCommand(deleteColumn.common, deleteSelectedRowsOrColumnsWithAnalyticsViaShortcut(editorAnalyticsAPI, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent), list);
|
|
56
|
+
bindKeymapWithCommand(deleteRow.common, deleteSelectedRowsOrColumnsWithAnalyticsViaShortcut(editorAnalyticsAPI, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent), list);
|
|
55
57
|
}
|
|
56
58
|
if (getBooleanFF('platform.editor.a11y-column-resizing_emcvz')) {
|
|
57
59
|
bindKeymapWithCommand(startColumnResizing.common, initiateKeyboardColumnResizing({
|
|
@@ -68,8 +70,8 @@ export function keymapPlugin(getEditorContainerWidth, editorAnalyticsAPI, dragAn
|
|
|
68
70
|
ariaNotify: ariaNotifyPlugin,
|
|
69
71
|
getIntl: getIntl
|
|
70
72
|
}), list);
|
|
71
|
-
bindKeymapWithCommand(decreaseMediaSize.common, changeColumnWidthByStepWithAnalytics(editorAnalyticsAPI)(-10, getEditorContainerWidth, isTableScalingEnabled, INPUT_METHOD.SHORTCUT, ariaNotifyPlugin, getIntl), list);
|
|
72
|
-
bindKeymapWithCommand(increaseMediaSize.common, changeColumnWidthByStepWithAnalytics(editorAnalyticsAPI)(10, getEditorContainerWidth, isTableScalingEnabled, INPUT_METHOD.SHORTCUT, ariaNotifyPlugin, getIntl), list);
|
|
73
|
+
bindKeymapWithCommand(decreaseMediaSize.common, changeColumnWidthByStepWithAnalytics(editorAnalyticsAPI)(-10, getEditorContainerWidth, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled, INPUT_METHOD.SHORTCUT, ariaNotifyPlugin, getIntl), list);
|
|
74
|
+
bindKeymapWithCommand(increaseMediaSize.common, changeColumnWidthByStepWithAnalytics(editorAnalyticsAPI)(10, getEditorContainerWidth, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled, INPUT_METHOD.SHORTCUT, ariaNotifyPlugin, getIntl), list);
|
|
73
75
|
bindKeymapWithCommand(escape.common, stopKeyboardColumnResizing({
|
|
74
76
|
ariaNotify: ariaNotifyPlugin,
|
|
75
77
|
getIntl: getIntl
|
|
@@ -81,8 +81,11 @@ export var createPlugin = function createPlugin(dispatchAnalyticsEvent, dispatch
|
|
|
81
81
|
});
|
|
82
82
|
}
|
|
83
83
|
if (tr) {
|
|
84
|
+
var _getEditorFeatureFlag = getEditorFeatureFlags(),
|
|
85
|
+
_getEditorFeatureFlag2 = _getEditorFeatureFlag.tableWithFixedColumnWidthsOption,
|
|
86
|
+
tableWithFixedColumnWidthsOption = _getEditorFeatureFlag2 === void 0 ? false : _getEditorFeatureFlag2;
|
|
84
87
|
// "fixTables" removes empty rows as we don't allow that in schema
|
|
85
|
-
var updatedTr = handleCut(tr, oldState, newState, editorAnalyticsAPI, editorViewRef || undefined, isTableScalingEnabled, shouldUseIncreasedScalingPercent);
|
|
88
|
+
var updatedTr = handleCut(tr, oldState, newState, editorAnalyticsAPI, editorViewRef || undefined, isTableScalingEnabled, tableWithFixedColumnWidthsOption, shouldUseIncreasedScalingPercent);
|
|
86
89
|
return fixTables(updatedTr) || updatedTr;
|
|
87
90
|
}
|
|
88
91
|
if (transactions.find(function (tr) {
|
|
@@ -47,8 +47,11 @@ export var handleMouseDown = function handleMouseDown(view, event, localResizeHa
|
|
|
47
47
|
getEditorContainerWidth: getEditorContainerWidth
|
|
48
48
|
});
|
|
49
49
|
var shouldScale = tableDepth === 0 && isTableScalingEnabled;
|
|
50
|
-
var
|
|
51
|
-
|
|
50
|
+
var _getEditorFeatureFlag = getEditorFeatureFlags(),
|
|
51
|
+
_getEditorFeatureFlag2 = _getEditorFeatureFlag.tableWithFixedColumnWidthsOption,
|
|
52
|
+
tableWithFixedColumnWidthsOption = _getEditorFeatureFlag2 === void 0 ? false : _getEditorFeatureFlag2;
|
|
53
|
+
var isTableScalingWithFixedColumnWidthsOptionEnabled = isTableScalingEnabled && tableWithFixedColumnWidthsOption;
|
|
54
|
+
if (isTableScalingWithFixedColumnWidthsOptionEnabled) {
|
|
52
55
|
shouldScale = shouldScale && originalTable.attrs.displayMode !== 'fixed';
|
|
53
56
|
}
|
|
54
57
|
var resizeState = getResizeState({
|
|
@@ -59,7 +62,7 @@ export var handleMouseDown = function handleMouseDown(view, event, localResizeHa
|
|
|
59
62
|
start: start,
|
|
60
63
|
domAtPos: domAtPos,
|
|
61
64
|
isTableScalingEnabled: shouldScale,
|
|
62
|
-
shouldUseIncreasedScalingPercent:
|
|
65
|
+
shouldUseIncreasedScalingPercent: isTableScalingWithFixedColumnWidthsOptionEnabled && getBooleanFF('platform.editor.table.use-increased-scaling-percent')
|
|
63
66
|
});
|
|
64
67
|
if (evenColumns({
|
|
65
68
|
resizeState: resizeState,
|
|
@@ -134,8 +137,7 @@ export var handleMouseDown = function handleMouseDown(view, event, localResizeHa
|
|
|
134
137
|
// only selected (or selected - 1) columns should be distributed
|
|
135
138
|
var resizingSelectedColumns = selectedColumns.indexOf(colIndex) > -1 || selectedColumns.indexOf(colIndex + 1) > -1;
|
|
136
139
|
var _shouldScale = tableDepth === 0 && isTableScalingEnabled;
|
|
137
|
-
|
|
138
|
-
if (_isTableScalingEnabledWithLockButton) {
|
|
140
|
+
if (isTableScalingWithFixedColumnWidthsOptionEnabled) {
|
|
139
141
|
_shouldScale = _shouldScale && originalTable.attrs.displayMode !== 'fixed';
|
|
140
142
|
}
|
|
141
143
|
var resizedDelta = clientX - startX;
|
|
@@ -144,7 +146,7 @@ export var handleMouseDown = function handleMouseDown(view, event, localResizeHa
|
|
|
144
146
|
tr = updateColumnWidths(newResizeState, table, start)(tr);
|
|
145
147
|
tr.setNodeAttribute(start - 1, 'width', newResizeState.tableWidth);
|
|
146
148
|
} else {
|
|
147
|
-
var _newResizeState = resizeColumn(resizeState, colIndex, clientX - startX, dom, originalTable, resizingSelectedColumns ? selectedColumns : undefined, _shouldScale,
|
|
149
|
+
var _newResizeState = resizeColumn(resizeState, colIndex, clientX - startX, dom, originalTable, resizingSelectedColumns ? selectedColumns : undefined, _shouldScale, isTableScalingWithFixedColumnWidthsOptionEnabled && getBooleanFF('platform.editor.table.use-increased-scaling-percent'));
|
|
148
150
|
tr = updateColumnWidths(_newResizeState, table, start)(tr);
|
|
149
151
|
}
|
|
150
152
|
if (colIndex === map.width - 1) {
|
|
@@ -212,9 +214,8 @@ export var handleMouseDown = function handleMouseDown(view, event, localResizeHa
|
|
|
212
214
|
var map = TableMap.get(table);
|
|
213
215
|
var colIndex = map.colCount($cell.pos - $cell.start(-1)) + $cell.nodeAfter.attrs.colspan - 1;
|
|
214
216
|
var shouldScale = tableDepth === 0 && isTableScalingEnabled;
|
|
215
|
-
var
|
|
216
|
-
|
|
217
|
-
if (isTableScalingEnabledWithLockButton) {
|
|
217
|
+
var shouldUseIncreasedScalingPercent = isTableScalingWithFixedColumnWidthsOptionEnabled && getBooleanFF('platform.editor.table.use-increased-scaling-percent');
|
|
218
|
+
if (isTableScalingWithFixedColumnWidthsOptionEnabled) {
|
|
218
219
|
shouldScale = shouldScale && originalTable.attrs.displayMode !== 'fixed';
|
|
219
220
|
}
|
|
220
221
|
if (getBooleanFF('platform.editor.table.colum-resizing-improvements')) {
|
|
@@ -298,6 +298,7 @@ export var normaliseTableLayout = function normaliseTableLayout(input) {
|
|
|
298
298
|
};
|
|
299
299
|
export var getNewResizeStateFromSelectedColumns = function getNewResizeStateFromSelectedColumns(rect, state, domAtPos, getEditorContainerWidth) {
|
|
300
300
|
var isTableScalingEnabled = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
|
|
301
|
+
var isTableFixedColumnWidthsOptionEnabled = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
|
|
301
302
|
// Fail early so that we don't do complex calculations for no reason
|
|
302
303
|
var numColumnsSelected = rect.right - rect.left;
|
|
303
304
|
if (numColumnsSelected <= 1) {
|
|
@@ -331,8 +332,8 @@ export var getNewResizeStateFromSelectedColumns = function getNewResizeStateFrom
|
|
|
331
332
|
});
|
|
332
333
|
var resizeState;
|
|
333
334
|
var isTableScalingEnabledOnCurrentTable = isTableScalingEnabled;
|
|
334
|
-
var
|
|
335
|
-
if (
|
|
335
|
+
var isTableScalingWithFixedColumnWidthsOptionEnabled = isTableScalingEnabled && isTableFixedColumnWidthsOptionEnabled;
|
|
336
|
+
if (isTableScalingWithFixedColumnWidthsOptionEnabled) {
|
|
336
337
|
isTableScalingEnabledOnCurrentTable = table.node.attrs.displayMode !== 'fixed';
|
|
337
338
|
}
|
|
338
339
|
resizeState = getResizeState({
|
|
@@ -343,7 +344,7 @@ export var getNewResizeStateFromSelectedColumns = function getNewResizeStateFrom
|
|
|
343
344
|
start: table.start,
|
|
344
345
|
domAtPos: domAtPos,
|
|
345
346
|
isTableScalingEnabled: isTableScalingEnabledOnCurrentTable,
|
|
346
|
-
shouldUseIncreasedScalingPercent:
|
|
347
|
+
shouldUseIncreasedScalingPercent: isTableScalingWithFixedColumnWidthsOptionEnabled && getBooleanFF('platform.editor.table.use-increased-scaling-percent')
|
|
347
348
|
});
|
|
348
349
|
var newResizeState = evenSelectedColumnsWidths(resizeState, rect);
|
|
349
350
|
var widthsBefore = resizeState.widths;
|
|
@@ -101,6 +101,7 @@ export function scaleTableTo(state, maxSize) {
|
|
|
101
101
|
}
|
|
102
102
|
export var previewScaleTable = function previewScaleTable(tableRef, options, domAtPos) {
|
|
103
103
|
var isTableScalingEnabled = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
104
|
+
var isTableWithFixedColumnWidthsOptionEnabled = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
|
|
104
105
|
var node = options.node,
|
|
105
106
|
start = options.start,
|
|
106
107
|
parentWidth = options.parentWidth;
|
|
@@ -113,8 +114,8 @@ export var previewScaleTable = function previewScaleTable(tableRef, options, dom
|
|
|
113
114
|
tableRef.style.width = "".concat(width, "px");
|
|
114
115
|
}
|
|
115
116
|
var isTableScalingEnabledOnCurrentTable = isTableScalingEnabled;
|
|
116
|
-
var
|
|
117
|
-
if (
|
|
117
|
+
var isTableScalingWithFixedColumnWidthsOptionEnabled = isTableScalingEnabled && isTableWithFixedColumnWidthsOptionEnabled;
|
|
118
|
+
if (isTableScalingWithFixedColumnWidthsOptionEnabled) {
|
|
118
119
|
isTableScalingEnabledOnCurrentTable = isTableScalingEnabled && node.attrs.displayMode !== 'fixed';
|
|
119
120
|
}
|
|
120
121
|
// If the table hasn't been resize, the colgroup 48px width values will gracefully scale down.
|
|
@@ -123,7 +124,7 @@ export var previewScaleTable = function previewScaleTable(tableRef, options, dom
|
|
|
123
124
|
syncStickyRowToTable(tableRef);
|
|
124
125
|
return;
|
|
125
126
|
}
|
|
126
|
-
var shouldUseIncreasedScalingPercent =
|
|
127
|
+
var shouldUseIncreasedScalingPercent = isTableScalingWithFixedColumnWidthsOptionEnabled && getBooleanFF('platform.editor.table.use-increased-scaling-percent');
|
|
127
128
|
var resizeState = parentWidth ? scaleWithParent(tableRef, parentWidth, node, start, domAtPos, false,
|
|
128
129
|
// Here isTableScalingEnabled = false
|
|
129
130
|
shouldUseIncreasedScalingPercent) : scale(tableRef, options, domAtPos, false, shouldUseIncreasedScalingPercent);
|
package/dist/esm/toolbar.js
CHANGED
|
@@ -27,6 +27,7 @@ import { clearHoverSelection, hoverColumns, hoverMergedCells, hoverRows, hoverTa
|
|
|
27
27
|
import { deleteColumnsWithAnalytics, deleteRowsWithAnalytics, deleteTableWithAnalytics, distributeColumnsWidthsWithAnalytics, emptyMultipleCellsWithAnalytics, insertColumnWithAnalytics, insertRowWithAnalytics, mergeCellsWithAnalytics, setColorWithAnalytics, setTableAlignmentWithAnalytics, sortColumnWithAnalytics, splitCellWithAnalytics, toggleFixedColumnWidthsOptionAnalytics, toggleHeaderColumnWithAnalytics, toggleHeaderRowWithAnalytics, toggleNumberColumnWithAnalytics, wrapTableInExpandWithAnalytics } from './commands-with-analytics';
|
|
28
28
|
import { getPluginState } from './pm-plugins/plugin-factory';
|
|
29
29
|
import { pluginKey as tableResizingPluginKey } from './pm-plugins/table-resizing';
|
|
30
|
+
import { getStaticTableScalingPercent } from './pm-plugins/table-resizing/utils/misc';
|
|
30
31
|
import { getNewResizeStateFromSelectedColumns } from './pm-plugins/table-resizing/utils/resize-state';
|
|
31
32
|
import { pluginKey as tableWidthPluginKey } from './pm-plugins/table-width';
|
|
32
33
|
import { canMergeCells } from './transforms';
|
|
@@ -86,6 +87,7 @@ export var getToolbarMenuConfig = function getToolbarMenuConfig(config, state, _
|
|
|
86
87
|
type: optionItem
|
|
87
88
|
}
|
|
88
89
|
}];
|
|
90
|
+
var tableOptionsDropdownWidth = isTableScalingWithFixedColumnWidthsOptionShown ? 192 : undefined;
|
|
89
91
|
if (state.isDragAndDropEnabled) {
|
|
90
92
|
return {
|
|
91
93
|
id: 'editor.table.tableOptions',
|
|
@@ -97,7 +99,7 @@ export var getToolbarMenuConfig = function getToolbarMenuConfig(config, state, _
|
|
|
97
99
|
return option.hidden;
|
|
98
100
|
}),
|
|
99
101
|
options: options,
|
|
100
|
-
dropdownWidth:
|
|
102
|
+
dropdownWidth: tableOptionsDropdownWidth
|
|
101
103
|
};
|
|
102
104
|
} else {
|
|
103
105
|
return {
|
|
@@ -109,7 +111,7 @@ export var getToolbarMenuConfig = function getToolbarMenuConfig(config, state, _
|
|
|
109
111
|
return option.hidden;
|
|
110
112
|
}),
|
|
111
113
|
options: options,
|
|
112
|
-
dropdownWidth:
|
|
114
|
+
dropdownWidth: tableOptionsDropdownWidth
|
|
113
115
|
};
|
|
114
116
|
}
|
|
115
117
|
};
|
|
@@ -121,7 +123,9 @@ export var getToolbarCellOptionsConfig = function getToolbarCellOptionsConfig(ed
|
|
|
121
123
|
var _pluginState$pluginCo, _pluginState$pluginCo2;
|
|
122
124
|
var formatMessage = _ref2.formatMessage;
|
|
123
125
|
var isTableScalingEnabled = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;
|
|
124
|
-
var
|
|
126
|
+
var isCellBackgroundDuplicated = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : false;
|
|
127
|
+
var isTableFixedColumnWidthsOptionEnabled = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : false;
|
|
128
|
+
var shouldUseIncreasedScalingPercent = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : false;
|
|
125
129
|
var top = initialSelectionRect.top,
|
|
126
130
|
bottom = initialSelectionRect.bottom,
|
|
127
131
|
right = initialSelectionRect.right,
|
|
@@ -136,7 +140,7 @@ export var getToolbarCellOptionsConfig = function getToolbarCellOptionsConfig(ed
|
|
|
136
140
|
var selectionRect = getClosestSelectionRect(state);
|
|
137
141
|
var index = selectionRect === null || selectionRect === void 0 ? void 0 : selectionRect.right;
|
|
138
142
|
if (index) {
|
|
139
|
-
insertColumnWithAnalytics(editorAnalyticsAPI, isTableScalingEnabled, shouldUseIncreasedScalingPercent)(INPUT_METHOD.FLOATING_TB, index)(state, dispatch, view);
|
|
143
|
+
insertColumnWithAnalytics(editorAnalyticsAPI, isTableScalingEnabled, isCellBackgroundDuplicated, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent)(INPUT_METHOD.FLOATING_TB, index)(state, dispatch, view);
|
|
140
144
|
}
|
|
141
145
|
return true;
|
|
142
146
|
},
|
|
@@ -172,7 +176,7 @@ export var getToolbarCellOptionsConfig = function getToolbarCellOptionsConfig(ed
|
|
|
172
176
|
onClick: function onClick(state, dispatch, view) {
|
|
173
177
|
var selectionRect = getClosestSelectionRect(state);
|
|
174
178
|
if (selectionRect) {
|
|
175
|
-
deleteColumnsWithAnalytics(editorAnalyticsAPI, isTableScalingEnabled, shouldUseIncreasedScalingPercent)(INPUT_METHOD.FLOATING_TB, selectionRect)(state, dispatch, view);
|
|
179
|
+
deleteColumnsWithAnalytics(editorAnalyticsAPI, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent)(INPUT_METHOD.FLOATING_TB, selectionRect)(state, dispatch, view);
|
|
176
180
|
}
|
|
177
181
|
return true;
|
|
178
182
|
},
|
|
@@ -215,7 +219,7 @@ export var getToolbarCellOptionsConfig = function getToolbarCellOptionsConfig(ed
|
|
|
215
219
|
}];
|
|
216
220
|
if (pluginState !== null && pluginState !== void 0 && (_pluginState$pluginCo = pluginState.pluginConfig) !== null && _pluginState$pluginCo !== void 0 && _pluginState$pluginCo.allowDistributeColumns) {
|
|
217
221
|
var _newResizeStateWithAn;
|
|
218
|
-
var newResizeStateWithAnalytics = editorView ? getNewResizeStateFromSelectedColumns(initialSelectionRect, editorState, editorView.domAtPos.bind(editorView), getEditorContainerWidth, isTableScalingEnabled) : undefined;
|
|
222
|
+
var newResizeStateWithAnalytics = editorView ? getNewResizeStateFromSelectedColumns(initialSelectionRect, editorState, editorView.domAtPos.bind(editorView), getEditorContainerWidth, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled) : undefined;
|
|
219
223
|
var wouldChange = (_newResizeStateWithAn = newResizeStateWithAnalytics === null || newResizeStateWithAnalytics === void 0 ? void 0 : newResizeStateWithAnalytics.changed) !== null && _newResizeStateWithAn !== void 0 ? _newResizeStateWithAn : false;
|
|
220
224
|
var distributeColumnWidths = function distributeColumnWidths(state, dispatch) {
|
|
221
225
|
if (newResizeStateWithAnalytics) {
|
|
@@ -323,7 +327,7 @@ export var getClosestSelectionOrTableRect = function getClosestSelectionOrTableR
|
|
|
323
327
|
return isSelectionType(selection, 'cell') ? getSelectionRect(selection) : tableRect;
|
|
324
328
|
};
|
|
325
329
|
export var getToolbarConfig = function getToolbarConfig(getEditorContainerWidth, editorAnalyticsAPI, getEditorFeatureFlags, getEditorView, options) {
|
|
326
|
-
var
|
|
330
|
+
var isTableFixedColumnWidthsOptionEnabled = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
|
|
327
331
|
var shouldUseIncreasedScalingPercent = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;
|
|
328
332
|
return function (config) {
|
|
329
333
|
return function (state, intl) {
|
|
@@ -331,21 +335,33 @@ export var getToolbarConfig = function getToolbarConfig(getEditorContainerWidth,
|
|
|
331
335
|
var pluginState = getPluginState(state);
|
|
332
336
|
var resizeState = tableResizingPluginKey.getState(state);
|
|
333
337
|
var tableWidthState = tableWidthPluginKey.getState(state);
|
|
338
|
+
var isTableScalingEnabled = (options === null || options === void 0 ? void 0 : options.isTableScalingEnabled) || false;
|
|
334
339
|
|
|
335
340
|
// We don't want to show floating toolbar while resizing the table
|
|
336
341
|
var isWidthResizing = tableWidthState === null || tableWidthState === void 0 ? void 0 : tableWidthState.resizing;
|
|
337
342
|
if (tableObject && pluginState.editorHasFocus && !isWidthResizing) {
|
|
338
343
|
var nodeType = state.schema.nodes.table;
|
|
339
344
|
var isNested = pluginState.tablePos && isTableNested(state, pluginState.tablePos);
|
|
340
|
-
var isTableScalingWithFixedColumnWidthsOptionShown =
|
|
345
|
+
var isTableScalingWithFixedColumnWidthsOptionShown = isTableScalingEnabled && isTableFixedColumnWidthsOptionEnabled && !isNested;
|
|
341
346
|
var areTableColumWidthsFixed = tableObject.node.attrs.displayMode === 'fixed';
|
|
347
|
+
var editorView = getEditorView();
|
|
348
|
+
var getDomRef = function getDomRef(editorView) {
|
|
349
|
+
var element;
|
|
350
|
+
var domAtPos = editorView.domAtPos.bind(editorView);
|
|
351
|
+
var parent = findParentDomRefOfType(nodeType, domAtPos)(state.selection);
|
|
352
|
+
if (parent) {
|
|
353
|
+
var tableRef = parent.querySelector('table') || undefined;
|
|
354
|
+
if (tableRef) {
|
|
355
|
+
element = closestElement(tableRef, ".".concat(TableCssClassName.TABLE_NODE_WRAPPER)) || undefined;
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
return element;
|
|
359
|
+
};
|
|
342
360
|
var menu = getToolbarMenuConfig(config, pluginState, intl, editorAnalyticsAPI, isTableScalingWithFixedColumnWidthsOptionShown, areTableColumWidthsFixed);
|
|
343
|
-
var alignmentMenu;
|
|
344
|
-
|
|
345
|
-
var cellItems;
|
|
346
|
-
|
|
347
|
-
var columnSettingsItems;
|
|
348
|
-
columnSettingsItems = pluginState.isDragAndDropEnabled ? getColumnSettingItems(state, getEditorView(), intl, getEditorContainerWidth, editorAnalyticsAPI, options === null || options === void 0 ? void 0 : options.isTableScalingEnabled) : [];
|
|
361
|
+
var alignmentMenu = options !== null && options !== void 0 && options.isTableAlignmentEnabled && !isNested ? getAlignmentOptionsConfig(state, intl, editorAnalyticsAPI, getEditorContainerWidth, getDomRef, editorView, shouldUseIncreasedScalingPercent) : [];
|
|
362
|
+
var isCellBackgroundDuplicated = getEditorFeatureFlags().tableDuplicateCellColouring || false;
|
|
363
|
+
var cellItems = pluginState.isDragAndDropEnabled ? [] : getCellItems(state, editorView, intl, getEditorContainerWidth, editorAnalyticsAPI, isTableScalingEnabled, isCellBackgroundDuplicated, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent);
|
|
364
|
+
var columnSettingsItems = pluginState.isDragAndDropEnabled ? getColumnSettingItems(state, editorView, intl, getEditorContainerWidth, editorAnalyticsAPI, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled) : [];
|
|
349
365
|
var colorPicker = getColorPicker(state, menu, intl, editorAnalyticsAPI, getEditorView);
|
|
350
366
|
|
|
351
367
|
// Check if we need to show confirm dialog for delete button
|
|
@@ -372,18 +388,6 @@ export var getToolbarConfig = function getToolbarConfig(getEditorContainerWidth,
|
|
|
372
388
|
};
|
|
373
389
|
};
|
|
374
390
|
}
|
|
375
|
-
var getDomRef = function getDomRef(editorView) {
|
|
376
|
-
var element;
|
|
377
|
-
var domAtPos = editorView.domAtPos.bind(editorView);
|
|
378
|
-
var parent = findParentDomRefOfType(nodeType, domAtPos)(state.selection);
|
|
379
|
-
if (parent) {
|
|
380
|
-
var tableRef = parent.querySelector('table') || undefined;
|
|
381
|
-
if (tableRef) {
|
|
382
|
-
element = closestElement(tableRef, ".".concat(TableCssClassName.TABLE_NODE_WRAPPER)) || undefined;
|
|
383
|
-
}
|
|
384
|
-
}
|
|
385
|
-
return element;
|
|
386
|
-
};
|
|
387
391
|
var _getEditorFeatureFlag = getEditorFeatureFlags(),
|
|
388
392
|
stickyScrollbar = _getEditorFeatureFlag.stickyScrollbar;
|
|
389
393
|
return {
|
|
@@ -446,24 +450,27 @@ var separator = function separator(hidden) {
|
|
|
446
450
|
var getCellItems = function getCellItems(state, view, _ref3, getEditorContainerWidth, editorAnalyticsAPI) {
|
|
447
451
|
var formatMessage = _ref3.formatMessage;
|
|
448
452
|
var isTableScalingEnabled = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
|
|
449
|
-
var
|
|
453
|
+
var isCellBackgroundDuplicated = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;
|
|
454
|
+
var isTableFixedColumnWidthsOptionEnabled = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : false;
|
|
455
|
+
var shouldUseIncreasedScalingPercent = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : false;
|
|
450
456
|
var initialSelectionRect = getClosestSelectionRect(state);
|
|
451
457
|
if (initialSelectionRect) {
|
|
452
458
|
var cellOptions = getToolbarCellOptionsConfig(state, view, initialSelectionRect, {
|
|
453
459
|
formatMessage: formatMessage
|
|
454
|
-
}, getEditorContainerWidth, editorAnalyticsAPI, isTableScalingEnabled, shouldUseIncreasedScalingPercent);
|
|
460
|
+
}, getEditorContainerWidth, editorAnalyticsAPI, isTableScalingEnabled, isCellBackgroundDuplicated, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent);
|
|
455
461
|
return [cellOptions, separator(cellOptions.hidden)];
|
|
456
462
|
}
|
|
457
463
|
return [];
|
|
458
464
|
};
|
|
459
465
|
export var getDistributeConfig = function getDistributeConfig(getEditorContainerWidth, editorAnalyticsAPI) {
|
|
460
466
|
var isTableScalingEnabled = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
467
|
+
var isTableFixedColumnWidthsOptionEnabled = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
461
468
|
return function (state, dispatch, editorView) {
|
|
462
469
|
var selectionOrTableRect = getClosestSelectionOrTableRect(state);
|
|
463
470
|
if (!editorView || !selectionOrTableRect) {
|
|
464
471
|
return false;
|
|
465
472
|
}
|
|
466
|
-
var newResizeStateWithAnalytics = getNewResizeStateFromSelectedColumns(selectionOrTableRect, state, editorView.domAtPos.bind(editorView), getEditorContainerWidth, isTableScalingEnabled);
|
|
473
|
+
var newResizeStateWithAnalytics = getNewResizeStateFromSelectedColumns(selectionOrTableRect, state, editorView.domAtPos.bind(editorView), getEditorContainerWidth, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled);
|
|
467
474
|
if (newResizeStateWithAnalytics) {
|
|
468
475
|
distributeColumnsWidthsWithAnalytics(editorAnalyticsAPI)(INPUT_METHOD.FLOATING_TB, newResizeStateWithAnalytics)(state, dispatch);
|
|
469
476
|
return true;
|
|
@@ -478,12 +485,13 @@ var getColumnSettingItems = function getColumnSettingItems(editorState, editorVi
|
|
|
478
485
|
var _newResizeStateWithAn2, _pluginState$pluginCo3;
|
|
479
486
|
var formatMessage = _ref4.formatMessage;
|
|
480
487
|
var isTableScalingEnabled = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
|
|
488
|
+
var isTableFixedColumnWidthsOptionEnabled = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;
|
|
481
489
|
var pluginState = getPluginState(editorState);
|
|
482
490
|
var selectionOrTableRect = getClosestSelectionOrTableRect(editorState);
|
|
483
491
|
if (!selectionOrTableRect || !editorView) {
|
|
484
492
|
return [];
|
|
485
493
|
}
|
|
486
|
-
var newResizeStateWithAnalytics = getNewResizeStateFromSelectedColumns(selectionOrTableRect, editorState, editorView.domAtPos.bind(editorView), getEditorContainerWidth, isTableScalingEnabled);
|
|
494
|
+
var newResizeStateWithAnalytics = getNewResizeStateFromSelectedColumns(selectionOrTableRect, editorState, editorView.domAtPos.bind(editorView), getEditorContainerWidth, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled);
|
|
487
495
|
var wouldChange = (_newResizeStateWithAn2 = newResizeStateWithAnalytics === null || newResizeStateWithAnalytics === void 0 ? void 0 : newResizeStateWithAnalytics.changed) !== null && _newResizeStateWithAn2 !== void 0 ? _newResizeStateWithAn2 : false;
|
|
488
496
|
var items = [];
|
|
489
497
|
if (pluginState !== null && pluginState !== void 0 && (_pluginState$pluginCo3 = pluginState.pluginConfig) !== null && _pluginState$pluginCo3 !== void 0 && _pluginState$pluginCo3.allowDistributeColumns && pluginState.isDragAndDropEnabled) {
|
|
@@ -493,7 +501,7 @@ var getColumnSettingItems = function getColumnSettingItems(editorState, editorVi
|
|
|
493
501
|
title: formatMessage(messages.distributeColumns),
|
|
494
502
|
icon: DistributeColumnIcon,
|
|
495
503
|
onClick: function onClick(state, dispatch, view) {
|
|
496
|
-
return getDistributeConfig(getEditorContainerWidth, editorAnalyticsAPI, isTableScalingEnabled)(state, dispatch, view);
|
|
504
|
+
return getDistributeConfig(getEditorContainerWidth, editorAnalyticsAPI, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled)(state, dispatch, view);
|
|
497
505
|
},
|
|
498
506
|
disabled: !wouldChange
|
|
499
507
|
});
|
|
@@ -566,7 +574,7 @@ var highlightColumnsHandler = function highlightColumnsHandler(state, dispatch)
|
|
|
566
574
|
}
|
|
567
575
|
return false;
|
|
568
576
|
};
|
|
569
|
-
export var getAlignmentOptionsConfig = function getAlignmentOptionsConfig(editorState, _ref6, editorAnalyticsAPI, getEditorContainerWidth) {
|
|
577
|
+
export var getAlignmentOptionsConfig = function getAlignmentOptionsConfig(editorState, _ref6, editorAnalyticsAPI, getEditorContainerWidth, getDomRef, editorView, shouldUseIncreasedScalingPercent) {
|
|
570
578
|
var formatMessage = _ref6.formatMessage;
|
|
571
579
|
var tableObject = findTable(editorState.selection);
|
|
572
580
|
if (!tableObject) {
|
|
@@ -599,7 +607,7 @@ export var getAlignmentOptionsConfig = function getAlignmentOptionsConfig(editor
|
|
|
599
607
|
title: formatMessage(layoutToMessages[value]),
|
|
600
608
|
selected: normaliseAlignment(currentLayout) === value,
|
|
601
609
|
onClick: setTableAlignmentWithAnalytics(editorAnalyticsAPI)(value, currentLayout, INPUT_METHOD.FLOATING_TB, CHANGE_ALIGNMENT_REASON.TOOLBAR_OPTION_CHANGED)
|
|
602
|
-
}, isLayoutOptionDisabled(tableObject.node, getEditorContainerWidth) && {
|
|
610
|
+
}, isLayoutOptionDisabled(tableObject.node, getEditorContainerWidth, getDomRef, editorView, shouldUseIncreasedScalingPercent) && {
|
|
603
611
|
disabled: value !== 'center'
|
|
604
612
|
});
|
|
605
613
|
});
|
|
@@ -629,10 +637,19 @@ export var getSelectedAlignmentIcon = function getSelectedAlignmentIcon(alignmen
|
|
|
629
637
|
return icon.value === normaliseAlignment(selectedAlignment);
|
|
630
638
|
});
|
|
631
639
|
};
|
|
632
|
-
export var isLayoutOptionDisabled = function isLayoutOptionDisabled(selectedNode, getEditorContainerWidth) {
|
|
633
|
-
var
|
|
634
|
-
|
|
635
|
-
|
|
640
|
+
export var isLayoutOptionDisabled = function isLayoutOptionDisabled(selectedNode, getEditorContainerWidth, getDomRef, editorView, shouldUseIncreasedScalingPercent) {
|
|
641
|
+
var _getEditorContainerWi = getEditorContainerWidth(),
|
|
642
|
+
lineLength = _getEditorContainerWi.lineLength;
|
|
643
|
+
var tableContainerWidth = getTableContainerWidth(selectedNode);
|
|
644
|
+
|
|
645
|
+
// table may be scaled, use the scale percent to calculate the table width
|
|
646
|
+
if (editorView) {
|
|
647
|
+
var tableWrapper = getDomRef(editorView);
|
|
648
|
+
var tableWrapperWidth = (tableWrapper === null || tableWrapper === void 0 ? void 0 : tableWrapper.clientWidth) || tableContainerWidth;
|
|
649
|
+
var scalePercent = getStaticTableScalingPercent(selectedNode, tableWrapperWidth, shouldUseIncreasedScalingPercent);
|
|
650
|
+
tableContainerWidth = tableContainerWidth * scalePercent;
|
|
651
|
+
}
|
|
652
|
+
if (selectedNode && lineLength && tableContainerWidth > lineLength) {
|
|
636
653
|
return true;
|
|
637
654
|
}
|
|
638
655
|
return false;
|
|
@@ -92,7 +92,8 @@ export var updateColumnWidths = function updateColumnWidths(resizeState, table,
|
|
|
92
92
|
*/
|
|
93
93
|
export var rescaleColumns = function rescaleColumns() {
|
|
94
94
|
var isTableScalingEnabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
95
|
-
var
|
|
95
|
+
var isTableFixedColumnWidthsOptionEnabled = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
96
|
+
var shouldUseIncreasedScalingPercent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
96
97
|
return function (table, view) {
|
|
97
98
|
return function (tr) {
|
|
98
99
|
if (!view) {
|
|
@@ -114,7 +115,7 @@ export var rescaleColumns = function rescaleColumns() {
|
|
|
114
115
|
};
|
|
115
116
|
var tableDepth = view.state.doc.resolve(table.pos).depth;
|
|
116
117
|
var shouldScale = isTableScalingEnabled && tableDepth === 0;
|
|
117
|
-
if (shouldScale &&
|
|
118
|
+
if (shouldScale && isTableFixedColumnWidthsOptionEnabled) {
|
|
118
119
|
shouldScale = newTable.attrs.displayMode !== 'fixed';
|
|
119
120
|
}
|
|
120
121
|
if (shouldScale) {
|
|
@@ -181,7 +182,6 @@ export var rescaleColumns = function rescaleColumns() {
|
|
|
181
182
|
isTableScalingEnabled: shouldScale,
|
|
182
183
|
shouldUseIncreasedScalingPercent: shouldUseIncreasedScalingPercent
|
|
183
184
|
});
|
|
184
|
-
|
|
185
185
|
// Two scenarios that require scaling:
|
|
186
186
|
// 1. If the new table width will result in the table going into overflow
|
|
187
187
|
// we resize the cells to avoid it (e.g. adding a column)
|
|
@@ -206,7 +206,8 @@ function fixRowSpans(table) {
|
|
|
206
206
|
}
|
|
207
207
|
export var deleteColumns = function deleteColumns(rect, allowCustomStep, view) {
|
|
208
208
|
var isTableScalingEnabled = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
209
|
-
var
|
|
209
|
+
var isTableFixedColumnWidthsOptionEnabled = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
|
|
210
|
+
var shouldUseIncreasedScalingPercent = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
|
|
210
211
|
return function (tr) {
|
|
211
212
|
var updatedTr = tr;
|
|
212
213
|
updatedTr.setMeta(META_KEYS.OVERFLOW_TRIGGER, {
|
|
@@ -219,7 +220,7 @@ export var deleteColumns = function deleteColumns(rect, allowCustomStep, view) {
|
|
|
219
220
|
}
|
|
220
221
|
var table = findTable(updatedTr.selection);
|
|
221
222
|
if (table) {
|
|
222
|
-
updatedTr = rescaleColumns(isTableScalingEnabled, shouldUseIncreasedScalingPercent)(table, view)(updatedTr);
|
|
223
|
+
updatedTr = rescaleColumns(isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent)(table, view)(updatedTr);
|
|
223
224
|
}
|
|
224
225
|
return updatedTr;
|
|
225
226
|
};
|
|
@@ -274,7 +274,8 @@ export var ContextualMenu = /*#__PURE__*/function (_Component) {
|
|
|
274
274
|
selectionRect = _this$props8.selectionRect,
|
|
275
275
|
formatMessage = _this$props8.intl.formatMessage,
|
|
276
276
|
editorView = _this$props8.editorView,
|
|
277
|
-
getEditorContainerWidth = _this$props8.getEditorContainerWidth
|
|
277
|
+
getEditorContainerWidth = _this$props8.getEditorContainerWidth,
|
|
278
|
+
getEditorFeatureFlags = _this$props8.getEditorFeatureFlags;
|
|
278
279
|
var _getPluginState8 = getPluginState(editorView.state),
|
|
279
280
|
isDragAndDropEnabled = _getPluginState8.isDragAndDropEnabled,
|
|
280
281
|
allowDistributeColumns = _getPluginState8.pluginConfig.allowDistributeColumns;
|
|
@@ -283,7 +284,10 @@ export var ContextualMenu = /*#__PURE__*/function (_Component) {
|
|
|
283
284
|
var _getPluginState9 = getPluginState(editorView.state),
|
|
284
285
|
_getPluginState9$isTa = _getPluginState9.isTableScalingEnabled,
|
|
285
286
|
isTableScalingEnabled = _getPluginState9$isTa === void 0 ? false : _getPluginState9$isTa;
|
|
286
|
-
var
|
|
287
|
+
var _ref = getEditorFeatureFlags ? getEditorFeatureFlags() : {},
|
|
288
|
+
_ref$tableWithFixedCo = _ref.tableWithFixedColumnWidthsOption,
|
|
289
|
+
tableWithFixedColumnWidthsOption = _ref$tableWithFixedCo === void 0 ? false : _ref$tableWithFixedCo;
|
|
290
|
+
var newResizeState = getNewResizeStateFromSelectedColumns(selectionRect, editorView.state, editorView.domAtPos.bind(editorView), getEditorContainerWidth, isTableScalingEnabled, tableWithFixedColumnWidthsOption);
|
|
287
291
|
var wouldChange = (_newResizeState$chang = newResizeState === null || newResizeState === void 0 ? void 0 : newResizeState.changed) !== null && _newResizeState$chang !== void 0 ? _newResizeState$chang : false;
|
|
288
292
|
return {
|
|
289
293
|
content: formatMessage(messages.distributeColumns),
|
|
@@ -365,8 +369,8 @@ export var ContextualMenu = /*#__PURE__*/function (_Component) {
|
|
|
365
369
|
items[1].items.push(deleteRowItem);
|
|
366
370
|
return items;
|
|
367
371
|
});
|
|
368
|
-
_defineProperty(_assertThisInitialized(_this), "onMenuItemActivated", function (
|
|
369
|
-
var item =
|
|
372
|
+
_defineProperty(_assertThisInitialized(_this), "onMenuItemActivated", function (_ref2) {
|
|
373
|
+
var item = _ref2.item;
|
|
370
374
|
var _this$props10 = _this.props,
|
|
371
375
|
editorView = _this$props10.editorView,
|
|
372
376
|
selectionRect = _this$props10.selectionRect,
|
|
@@ -380,10 +384,12 @@ export var ContextualMenu = /*#__PURE__*/function (_Component) {
|
|
|
380
384
|
targetCellPosition = _getPluginState11.targetCellPosition,
|
|
381
385
|
_getPluginState11$isT = _getPluginState11.isTableScalingEnabled,
|
|
382
386
|
isTableScalingEnabled = _getPluginState11$isT === void 0 ? false : _getPluginState11$isT;
|
|
383
|
-
var
|
|
384
|
-
|
|
385
|
-
tableDuplicateCellColouring =
|
|
386
|
-
|
|
387
|
+
var _ref3 = getEditorFeatureFlags ? getEditorFeatureFlags() : {},
|
|
388
|
+
_ref3$tableDuplicateC = _ref3.tableDuplicateCellColouring,
|
|
389
|
+
tableDuplicateCellColouring = _ref3$tableDuplicateC === void 0 ? false : _ref3$tableDuplicateC,
|
|
390
|
+
_ref3$tableWithFixedC = _ref3.tableWithFixedColumnWidthsOption,
|
|
391
|
+
tableWithFixedColumnWidthsOption = _ref3$tableWithFixedC === void 0 ? false : _ref3$tableWithFixedC;
|
|
392
|
+
var shouldUseIncreasedScalingPercent = isTableScalingEnabled && tableWithFixedColumnWidthsOption && getBooleanFF('platform.editor.table.use-increased-scaling-percent');
|
|
387
393
|
switch (item.value.name) {
|
|
388
394
|
case 'sort_column_desc':
|
|
389
395
|
sortColumnWithAnalytics(editorAnalyticsAPI)(INPUT_METHOD.CONTEXT_MENU, selectionRect.left, SortOrder.DESC)(state, dispatch);
|
|
@@ -402,7 +408,7 @@ export var ContextualMenu = /*#__PURE__*/function (_Component) {
|
|
|
402
408
|
_this.toggleOpen();
|
|
403
409
|
break;
|
|
404
410
|
case 'distribute_columns':
|
|
405
|
-
var newResizeStateWithAnalytics = getNewResizeStateFromSelectedColumns(selectionRect, state, editorView.domAtPos.bind(editorView), getEditorContainerWidth, isTableScalingEnabled);
|
|
411
|
+
var newResizeStateWithAnalytics = getNewResizeStateFromSelectedColumns(selectionRect, state, editorView.domAtPos.bind(editorView), getEditorContainerWidth, isTableScalingEnabled, tableWithFixedColumnWidthsOption);
|
|
406
412
|
if (newResizeStateWithAnalytics) {
|
|
407
413
|
distributeColumnsWidthsWithAnalytics(editorAnalyticsAPI)(INPUT_METHOD.CONTEXT_MENU, newResizeStateWithAnalytics)(state, dispatch);
|
|
408
414
|
_this.toggleOpen();
|
|
@@ -413,7 +419,7 @@ export var ContextualMenu = /*#__PURE__*/function (_Component) {
|
|
|
413
419
|
_this.toggleOpen();
|
|
414
420
|
break;
|
|
415
421
|
case 'insert_column':
|
|
416
|
-
insertColumnWithAnalytics(editorAnalyticsAPI, isTableScalingEnabled, tableDuplicateCellColouring, shouldUseIncreasedScalingPercent)(INPUT_METHOD.CONTEXT_MENU, selectionRect.right)(state, dispatch, editorView);
|
|
422
|
+
insertColumnWithAnalytics(editorAnalyticsAPI, isTableScalingEnabled, tableDuplicateCellColouring, tableWithFixedColumnWidthsOption, shouldUseIncreasedScalingPercent)(INPUT_METHOD.CONTEXT_MENU, selectionRect.right)(state, dispatch, editorView);
|
|
417
423
|
_this.toggleOpen();
|
|
418
424
|
break;
|
|
419
425
|
case 'insert_row':
|
|
@@ -424,7 +430,7 @@ export var ContextualMenu = /*#__PURE__*/function (_Component) {
|
|
|
424
430
|
_this.toggleOpen();
|
|
425
431
|
break;
|
|
426
432
|
case 'delete_column':
|
|
427
|
-
deleteColumnsWithAnalytics(editorAnalyticsAPI, isTableScalingEnabled, shouldUseIncreasedScalingPercent)(INPUT_METHOD.CONTEXT_MENU, selectionRect)(state, dispatch, editorView);
|
|
433
|
+
deleteColumnsWithAnalytics(editorAnalyticsAPI, isTableScalingEnabled, tableWithFixedColumnWidthsOption, shouldUseIncreasedScalingPercent)(INPUT_METHOD.CONTEXT_MENU, selectionRect)(state, dispatch, editorView);
|
|
428
434
|
_this.toggleOpen();
|
|
429
435
|
break;
|
|
430
436
|
case 'delete_row':
|
|
@@ -457,8 +463,8 @@ export var ContextualMenu = /*#__PURE__*/function (_Component) {
|
|
|
457
463
|
isSubmenuOpen: false
|
|
458
464
|
});
|
|
459
465
|
});
|
|
460
|
-
_defineProperty(_assertThisInitialized(_this), "handleItemMouseEnter", function (
|
|
461
|
-
var item =
|
|
466
|
+
_defineProperty(_assertThisInitialized(_this), "handleItemMouseEnter", function (_ref4) {
|
|
467
|
+
var item = _ref4.item;
|
|
462
468
|
var _this$props12 = _this.props,
|
|
463
469
|
_this$props12$editorV = _this$props12.editorView,
|
|
464
470
|
state = _this$props12$editorV.state,
|
|
@@ -481,8 +487,8 @@ export var ContextualMenu = /*#__PURE__*/function (_Component) {
|
|
|
481
487
|
hoverMergedCells()(state, dispatch);
|
|
482
488
|
}
|
|
483
489
|
});
|
|
484
|
-
_defineProperty(_assertThisInitialized(_this), "handleItemMouseLeave", function (
|
|
485
|
-
var item =
|
|
490
|
+
_defineProperty(_assertThisInitialized(_this), "handleItemMouseLeave", function (_ref5) {
|
|
491
|
+
var item = _ref5.item;
|
|
486
492
|
var _this$props$editorVie2 = _this.props.editorView,
|
|
487
493
|
state = _this$props$editorVie2.state,
|
|
488
494
|
dispatch = _this$props$editorVie2.dispatch;
|