@atlaskit/editor-plugin-table 7.5.4 → 7.5.6
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 +13 -0
- package/dist/cjs/commands/column-resize.js +3 -3
- package/dist/cjs/commands/delete.js +2 -2
- package/dist/cjs/commands/insert.js +15 -15
- package/dist/cjs/commands-with-analytics.js +7 -7
- package/dist/cjs/event-handlers.js +27 -11
- package/dist/cjs/nodeviews/OverflowShadowsObserver.js +24 -15
- package/dist/cjs/nodeviews/TableCell.js +5 -30
- package/dist/cjs/nodeviews/TableComponent.js +120 -83
- package/dist/cjs/nodeviews/TableContainer.js +23 -21
- package/dist/cjs/nodeviews/TableResizer.js +13 -13
- package/dist/cjs/nodeviews/table.js +9 -9
- package/dist/cjs/plugin.js +60 -59
- package/dist/cjs/pm-plugins/drag-and-drop/plugin.js +13 -13
- package/dist/cjs/pm-plugins/keymap.js +6 -8
- package/dist/cjs/pm-plugins/main.js +7 -24
- package/dist/cjs/pm-plugins/sticky-headers/plugin.js +2 -3
- package/dist/cjs/pm-plugins/table-resizing/event-handlers.js +12 -12
- package/dist/cjs/pm-plugins/table-resizing/utils/colgroup.js +2 -2
- package/dist/cjs/pm-plugins/table-resizing/utils/consts.js +4 -2
- package/dist/cjs/pm-plugins/table-resizing/utils/index.js +2 -2
- package/dist/cjs/pm-plugins/table-resizing/utils/misc.js +3 -3
- package/dist/cjs/pm-plugins/table-resizing/utils/resize-column.js +3 -3
- package/dist/cjs/pm-plugins/table-resizing/utils/resize-state.js +11 -12
- package/dist/cjs/pm-plugins/table-resizing/utils/scale-table.js +13 -13
- package/dist/cjs/pm-plugins/table-width.js +6 -2
- package/dist/cjs/toolbar.js +21 -21
- package/dist/cjs/transforms/column-width.js +4 -4
- package/dist/cjs/transforms/delete-columns.js +2 -2
- package/dist/cjs/ui/FloatingContextualMenu/ContextualMenu.js +53 -55
- package/dist/cjs/ui/FloatingContextualMenu/index.js +2 -4
- package/dist/cjs/ui/FloatingDragMenu/DragMenu.js +2 -2
- package/dist/cjs/ui/FloatingDragMenu/index.js +6 -6
- package/dist/cjs/ui/FloatingInsertButton/index.js +6 -7
- package/dist/cjs/ui/TableFloatingColumnControls/index.js +8 -48
- package/dist/cjs/ui/TableFloatingControls/index.js +113 -223
- package/dist/cjs/utils/column-controls.js +5 -5
- package/dist/cjs/utils/create.js +2 -5
- package/dist/cjs/utils/dom.js +13 -15
- package/dist/cjs/utils/drag-menu.js +4 -4
- package/dist/es2019/commands/column-resize.js +3 -3
- package/dist/es2019/commands/delete.js +2 -2
- package/dist/es2019/commands/insert.js +12 -12
- package/dist/es2019/commands-with-analytics.js +6 -6
- package/dist/es2019/event-handlers.js +27 -11
- package/dist/es2019/nodeviews/OverflowShadowsObserver.js +24 -15
- package/dist/es2019/nodeviews/TableCell.js +1 -24
- package/dist/es2019/nodeviews/TableComponent.js +88 -63
- package/dist/es2019/nodeviews/TableContainer.js +20 -22
- package/dist/es2019/nodeviews/TableResizer.js +13 -13
- package/dist/es2019/nodeviews/table.js +9 -9
- package/dist/es2019/plugin.js +19 -20
- package/dist/es2019/pm-plugins/drag-and-drop/plugin.js +6 -6
- package/dist/es2019/pm-plugins/keymap.js +5 -8
- package/dist/es2019/pm-plugins/main.js +6 -23
- package/dist/es2019/pm-plugins/sticky-headers/plugin.js +1 -1
- package/dist/es2019/pm-plugins/table-resizing/event-handlers.js +5 -5
- package/dist/es2019/pm-plugins/table-resizing/utils/colgroup.js +2 -2
- package/dist/es2019/pm-plugins/table-resizing/utils/consts.js +3 -1
- package/dist/es2019/pm-plugins/table-resizing/utils/index.js +1 -1
- package/dist/es2019/pm-plugins/table-resizing/utils/misc.js +2 -2
- package/dist/es2019/pm-plugins/table-resizing/utils/resize-column.js +3 -2
- package/dist/es2019/pm-plugins/table-resizing/utils/resize-state.js +12 -13
- package/dist/es2019/pm-plugins/table-resizing/utils/scale-table.js +13 -13
- package/dist/es2019/pm-plugins/table-width.js +6 -2
- package/dist/es2019/toolbar.js +15 -15
- package/dist/es2019/transforms/column-width.js +5 -5
- package/dist/es2019/transforms/delete-columns.js +2 -2
- package/dist/es2019/ui/FloatingContextualMenu/ContextualMenu.js +9 -12
- package/dist/es2019/ui/FloatingContextualMenu/index.js +2 -4
- package/dist/es2019/ui/FloatingDragMenu/DragMenu.js +2 -2
- package/dist/es2019/ui/FloatingDragMenu/index.js +5 -5
- package/dist/es2019/ui/FloatingInsertButton/index.js +5 -6
- package/dist/es2019/ui/TableFloatingColumnControls/index.js +5 -27
- package/dist/es2019/ui/TableFloatingControls/index.js +119 -193
- package/dist/es2019/utils/column-controls.js +6 -6
- package/dist/es2019/utils/create.js +2 -5
- package/dist/es2019/utils/dom.js +13 -15
- package/dist/es2019/utils/drag-menu.js +4 -4
- package/dist/esm/commands/column-resize.js +3 -3
- package/dist/esm/commands/delete.js +2 -2
- package/dist/esm/commands/insert.js +15 -15
- package/dist/esm/commands-with-analytics.js +7 -7
- package/dist/esm/event-handlers.js +27 -11
- package/dist/esm/nodeviews/OverflowShadowsObserver.js +24 -15
- package/dist/esm/nodeviews/TableCell.js +5 -30
- package/dist/esm/nodeviews/TableComponent.js +119 -82
- package/dist/esm/nodeviews/TableContainer.js +24 -22
- package/dist/esm/nodeviews/TableResizer.js +13 -13
- package/dist/esm/nodeviews/table.js +9 -9
- package/dist/esm/plugin.js +60 -59
- package/dist/esm/pm-plugins/drag-and-drop/plugin.js +13 -13
- package/dist/esm/pm-plugins/keymap.js +6 -8
- package/dist/esm/pm-plugins/main.js +7 -24
- package/dist/esm/pm-plugins/sticky-headers/plugin.js +2 -3
- package/dist/esm/pm-plugins/table-resizing/event-handlers.js +12 -12
- package/dist/esm/pm-plugins/table-resizing/utils/colgroup.js +2 -2
- package/dist/esm/pm-plugins/table-resizing/utils/consts.js +3 -1
- package/dist/esm/pm-plugins/table-resizing/utils/index.js +1 -1
- package/dist/esm/pm-plugins/table-resizing/utils/misc.js +2 -2
- package/dist/esm/pm-plugins/table-resizing/utils/resize-column.js +4 -3
- package/dist/esm/pm-plugins/table-resizing/utils/resize-state.js +13 -14
- package/dist/esm/pm-plugins/table-resizing/utils/scale-table.js +13 -13
- package/dist/esm/pm-plugins/table-width.js +6 -2
- package/dist/esm/toolbar.js +21 -21
- package/dist/esm/transforms/column-width.js +5 -5
- package/dist/esm/transforms/delete-columns.js +2 -2
- package/dist/esm/ui/FloatingContextualMenu/ContextualMenu.js +53 -55
- package/dist/esm/ui/FloatingContextualMenu/index.js +2 -4
- package/dist/esm/ui/FloatingDragMenu/DragMenu.js +2 -2
- package/dist/esm/ui/FloatingDragMenu/index.js +6 -6
- package/dist/esm/ui/FloatingInsertButton/index.js +6 -7
- package/dist/esm/ui/TableFloatingColumnControls/index.js +8 -48
- package/dist/esm/ui/TableFloatingControls/index.js +113 -224
- package/dist/esm/utils/column-controls.js +6 -6
- package/dist/esm/utils/create.js +2 -5
- package/dist/esm/utils/dom.js +13 -15
- package/dist/esm/utils/drag-menu.js +4 -4
- 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 +7 -7
- package/dist/types/commands-with-analytics.d.ts +3 -3
- package/dist/types/event-handlers.d.ts +4 -5
- package/dist/types/nodeviews/OverflowShadowsObserver.d.ts +3 -1
- package/dist/types/nodeviews/TableCell.d.ts +1 -5
- package/dist/types/nodeviews/TableComponent.d.ts +6 -3
- package/dist/types/nodeviews/TableContainer.d.ts +6 -4
- package/dist/types/nodeviews/TableResizer.d.ts +2 -2
- package/dist/types/nodeviews/table.d.ts +1 -1
- package/dist/types/nodeviews/types.d.ts +1 -0
- package/dist/types/plugin.d.ts +1 -0
- package/dist/types/pm-plugins/drag-and-drop/plugin.d.ts +1 -2
- package/dist/types/pm-plugins/keymap.d.ts +2 -2
- package/dist/types/pm-plugins/main.d.ts +1 -1
- package/dist/types/pm-plugins/sticky-headers/plugin.d.ts +2 -3
- package/dist/types/pm-plugins/table-resizing/utils/colgroup.d.ts +1 -1
- package/dist/types/pm-plugins/table-resizing/utils/consts.d.ts +1 -0
- package/dist/types/pm-plugins/table-resizing/utils/index.d.ts +1 -1
- package/dist/types/pm-plugins/table-resizing/utils/misc.d.ts +1 -1
- package/dist/types/pm-plugins/table-resizing/utils/resize-column.d.ts +2 -1
- package/dist/types/pm-plugins/table-resizing/utils/resize-state.d.ts +4 -4
- package/dist/types/pm-plugins/table-resizing/utils/scale-table.d.ts +4 -4
- package/dist/types/pm-plugins/table-width.d.ts +1 -2
- 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/types.d.ts +1 -3
- package/dist/types/ui/FloatingContextualMenu/index.d.ts +1 -1
- package/dist/types/ui/FloatingDragMenu/DragMenu.d.ts +2 -2
- package/dist/types/ui/FloatingDragMenu/index.d.ts +2 -3
- package/dist/types/ui/FloatingInsertButton/index.d.ts +1 -2
- package/dist/types/ui/TableFloatingColumnControls/index.d.ts +2 -1
- package/dist/types/ui/TableFloatingControls/index.d.ts +5 -22
- package/dist/types/utils/create.d.ts +1 -2
- package/dist/types/utils/dom.d.ts +10 -2
- 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 +7 -7
- package/dist/types-ts4.5/commands-with-analytics.d.ts +3 -3
- package/dist/types-ts4.5/event-handlers.d.ts +4 -5
- package/dist/types-ts4.5/nodeviews/OverflowShadowsObserver.d.ts +3 -1
- package/dist/types-ts4.5/nodeviews/TableCell.d.ts +1 -5
- package/dist/types-ts4.5/nodeviews/TableComponent.d.ts +6 -3
- package/dist/types-ts4.5/nodeviews/TableContainer.d.ts +6 -4
- package/dist/types-ts4.5/nodeviews/TableResizer.d.ts +2 -2
- package/dist/types-ts4.5/nodeviews/table.d.ts +1 -1
- package/dist/types-ts4.5/nodeviews/types.d.ts +1 -0
- package/dist/types-ts4.5/plugin.d.ts +1 -0
- package/dist/types-ts4.5/pm-plugins/drag-and-drop/plugin.d.ts +1 -2
- package/dist/types-ts4.5/pm-plugins/keymap.d.ts +2 -2
- package/dist/types-ts4.5/pm-plugins/main.d.ts +1 -1
- package/dist/types-ts4.5/pm-plugins/sticky-headers/plugin.d.ts +2 -3
- package/dist/types-ts4.5/pm-plugins/table-resizing/utils/colgroup.d.ts +1 -1
- package/dist/types-ts4.5/pm-plugins/table-resizing/utils/consts.d.ts +1 -0
- package/dist/types-ts4.5/pm-plugins/table-resizing/utils/index.d.ts +1 -1
- package/dist/types-ts4.5/pm-plugins/table-resizing/utils/misc.d.ts +1 -1
- package/dist/types-ts4.5/pm-plugins/table-resizing/utils/resize-column.d.ts +2 -1
- package/dist/types-ts4.5/pm-plugins/table-resizing/utils/resize-state.d.ts +4 -4
- package/dist/types-ts4.5/pm-plugins/table-resizing/utils/scale-table.d.ts +4 -4
- package/dist/types-ts4.5/pm-plugins/table-width.d.ts +1 -2
- 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/types.d.ts +1 -3
- package/dist/types-ts4.5/ui/FloatingContextualMenu/index.d.ts +1 -1
- package/dist/types-ts4.5/ui/FloatingDragMenu/DragMenu.d.ts +2 -2
- package/dist/types-ts4.5/ui/FloatingDragMenu/index.d.ts +2 -3
- package/dist/types-ts4.5/ui/FloatingInsertButton/index.d.ts +1 -2
- package/dist/types-ts4.5/ui/TableFloatingColumnControls/index.d.ts +2 -1
- package/dist/types-ts4.5/ui/TableFloatingControls/index.d.ts +5 -22
- package/dist/types-ts4.5/utils/create.d.ts +1 -2
- package/dist/types-ts4.5/utils/dom.d.ts +10 -2
- package/dist/types-ts4.5/utils/drag-menu.d.ts +1 -1
- package/package.json +3 -4
- package/src/commands/column-resize.ts +4 -3
- package/src/commands/delete.ts +2 -2
- package/src/commands/insert.ts +15 -27
- package/src/commands-with-analytics.ts +6 -9
- package/src/event-handlers.ts +107 -105
- package/src/nodeviews/OverflowShadowsObserver.ts +32 -21
- package/src/nodeviews/TableCell.ts +0 -26
- package/src/nodeviews/TableComponent.tsx +107 -78
- package/src/nodeviews/TableContainer.tsx +26 -32
- package/src/nodeviews/TableResizer.tsx +15 -18
- package/src/nodeviews/table.tsx +6 -5
- package/src/nodeviews/types.ts +1 -0
- package/src/plugin.tsx +17 -32
- package/src/pm-plugins/drag-and-drop/plugin.ts +10 -15
- package/src/pm-plugins/keymap.ts +6 -13
- package/src/pm-plugins/main.ts +6 -25
- package/src/pm-plugins/sticky-headers/plugin.ts +2 -11
- package/src/pm-plugins/table-resizing/event-handlers.ts +6 -4
- package/src/pm-plugins/table-resizing/utils/colgroup.ts +2 -2
- package/src/pm-plugins/table-resizing/utils/consts.ts +2 -0
- package/src/pm-plugins/table-resizing/utils/index.ts +1 -1
- package/src/pm-plugins/table-resizing/utils/misc.ts +2 -2
- package/src/pm-plugins/table-resizing/utils/resize-column.ts +5 -2
- package/src/pm-plugins/table-resizing/utils/resize-state.ts +18 -13
- package/src/pm-plugins/table-resizing/utils/scale-table.ts +14 -14
- package/src/pm-plugins/table-width.ts +4 -6
- package/src/toolbar.tsx +16 -19
- package/src/transforms/column-width.ts +7 -6
- package/src/transforms/delete-columns.ts +2 -2
- package/src/types.ts +1 -4
- package/src/ui/FloatingContextualMenu/ContextualMenu.tsx +11 -16
- package/src/ui/FloatingContextualMenu/index.tsx +0 -2
- package/src/ui/FloatingDragMenu/DragMenu.tsx +3 -3
- package/src/ui/FloatingDragMenu/index.tsx +4 -8
- package/src/ui/FloatingInsertButton/index.tsx +11 -22
- package/src/ui/TableFloatingColumnControls/index.tsx +5 -29
- package/src/ui/TableFloatingControls/index.tsx +155 -241
- package/src/utils/column-controls.ts +5 -6
- package/src/utils/create.ts +2 -5
- package/src/utils/dom.ts +12 -19
- package/src/utils/drag-menu.ts +7 -12
package/dist/es2019/toolbar.js
CHANGED
|
@@ -80,7 +80,7 @@ export const getToolbarMenuConfig = (config, state, {
|
|
|
80
80
|
// with native widgets. It's enabled via a plugin config.
|
|
81
81
|
export const getToolbarCellOptionsConfig = (editorState, editorView, initialSelectionRect, {
|
|
82
82
|
formatMessage
|
|
83
|
-
}, getEditorContainerWidth, editorAnalyticsAPI,
|
|
83
|
+
}, getEditorContainerWidth, editorAnalyticsAPI, isTableScalingEnabled = false) => {
|
|
84
84
|
var _pluginState$pluginCo, _pluginState$pluginCo2;
|
|
85
85
|
const {
|
|
86
86
|
top,
|
|
@@ -98,7 +98,7 @@ export const getToolbarCellOptionsConfig = (editorState, editorView, initialSele
|
|
|
98
98
|
const selectionRect = getClosestSelectionRect(state);
|
|
99
99
|
const index = selectionRect === null || selectionRect === void 0 ? void 0 : selectionRect.right;
|
|
100
100
|
if (index) {
|
|
101
|
-
insertColumnWithAnalytics(
|
|
101
|
+
insertColumnWithAnalytics(editorAnalyticsAPI, isTableScalingEnabled)(INPUT_METHOD.FLOATING_TB, index)(state, dispatch, view);
|
|
102
102
|
}
|
|
103
103
|
return true;
|
|
104
104
|
},
|
|
@@ -177,7 +177,7 @@ export const getToolbarCellOptionsConfig = (editorState, editorView, initialSele
|
|
|
177
177
|
}];
|
|
178
178
|
if (pluginState !== null && pluginState !== void 0 && (_pluginState$pluginCo = pluginState.pluginConfig) !== null && _pluginState$pluginCo !== void 0 && _pluginState$pluginCo.allowDistributeColumns) {
|
|
179
179
|
var _newResizeStateWithAn;
|
|
180
|
-
const newResizeStateWithAnalytics = editorView ? getNewResizeStateFromSelectedColumns(initialSelectionRect, editorState, editorView.domAtPos.bind(editorView), getEditorContainerWidth,
|
|
180
|
+
const newResizeStateWithAnalytics = editorView ? getNewResizeStateFromSelectedColumns(initialSelectionRect, editorState, editorView.domAtPos.bind(editorView), getEditorContainerWidth, isTableScalingEnabled) : undefined;
|
|
181
181
|
const wouldChange = (_newResizeStateWithAn = newResizeStateWithAnalytics === null || newResizeStateWithAnalytics === void 0 ? void 0 : newResizeStateWithAnalytics.changed) !== null && _newResizeStateWithAn !== void 0 ? _newResizeStateWithAn : false;
|
|
182
182
|
const distributeColumnWidths = (state, dispatch) => {
|
|
183
183
|
if (newResizeStateWithAnalytics) {
|
|
@@ -297,12 +297,12 @@ export const getToolbarConfig = (getEditorContainerWidth, editorAnalyticsAPI, ge
|
|
|
297
297
|
const nodeType = state.schema.nodes.table;
|
|
298
298
|
const menu = getToolbarMenuConfig(config, pluginState, intl, editorAnalyticsAPI);
|
|
299
299
|
const {
|
|
300
|
-
|
|
301
|
-
} =
|
|
300
|
+
isTableScalingEnabled = false
|
|
301
|
+
} = getPluginState(state);
|
|
302
302
|
let cellItems;
|
|
303
|
-
cellItems = pluginState.isDragAndDropEnabled ? [] : getCellItems(
|
|
303
|
+
cellItems = pluginState.isDragAndDropEnabled ? [] : getCellItems(state, getEditorView(), intl, getEditorContainerWidth, editorAnalyticsAPI, isTableScalingEnabled);
|
|
304
304
|
let columnSettingsItems;
|
|
305
|
-
columnSettingsItems = pluginState.isDragAndDropEnabled && getBooleanFF('platform.editor.table.new-cell-context-menu-styling') ? getColumnSettingItems(state, getEditorView(), intl, getEditorContainerWidth, editorAnalyticsAPI,
|
|
305
|
+
columnSettingsItems = pluginState.isDragAndDropEnabled && getBooleanFF('platform.editor.table.new-cell-context-menu-styling') ? getColumnSettingItems(state, getEditorView(), intl, getEditorContainerWidth, editorAnalyticsAPI, isTableScalingEnabled) : [];
|
|
306
306
|
const colorPicker = getColorPicker(state, menu, intl, editorAnalyticsAPI);
|
|
307
307
|
|
|
308
308
|
// Check if we need to show confirm dialog for delete button
|
|
@@ -391,24 +391,24 @@ const separator = hidden => {
|
|
|
391
391
|
hidden: hidden
|
|
392
392
|
};
|
|
393
393
|
};
|
|
394
|
-
const getCellItems = (
|
|
394
|
+
const getCellItems = (state, view, {
|
|
395
395
|
formatMessage
|
|
396
|
-
}, getEditorContainerWidth, editorAnalyticsAPI,
|
|
396
|
+
}, getEditorContainerWidth, editorAnalyticsAPI, isTableScalingEnabled = false) => {
|
|
397
397
|
const initialSelectionRect = getClosestSelectionRect(state);
|
|
398
398
|
if (initialSelectionRect) {
|
|
399
399
|
const cellOptions = getToolbarCellOptionsConfig(state, view, initialSelectionRect, {
|
|
400
400
|
formatMessage
|
|
401
|
-
}, getEditorContainerWidth, editorAnalyticsAPI,
|
|
401
|
+
}, getEditorContainerWidth, editorAnalyticsAPI, isTableScalingEnabled);
|
|
402
402
|
return [cellOptions, separator(cellOptions.hidden)];
|
|
403
403
|
}
|
|
404
404
|
return [];
|
|
405
405
|
};
|
|
406
|
-
export const getDistributeConfig = (getEditorContainerWidth, editorAnalyticsAPI,
|
|
406
|
+
export const getDistributeConfig = (getEditorContainerWidth, editorAnalyticsAPI, isTableScalingEnabled = false) => (state, dispatch, editorView) => {
|
|
407
407
|
const selectionOrTableRect = getClosestSelectionOrTableRect(state);
|
|
408
408
|
if (!editorView || !selectionOrTableRect) {
|
|
409
409
|
return false;
|
|
410
410
|
}
|
|
411
|
-
const newResizeStateWithAnalytics = getNewResizeStateFromSelectedColumns(selectionOrTableRect, state, editorView.domAtPos.bind(editorView), getEditorContainerWidth,
|
|
411
|
+
const newResizeStateWithAnalytics = getNewResizeStateFromSelectedColumns(selectionOrTableRect, state, editorView.domAtPos.bind(editorView), getEditorContainerWidth, isTableScalingEnabled);
|
|
412
412
|
if (newResizeStateWithAnalytics) {
|
|
413
413
|
distributeColumnsWidthsWithAnalytics(editorAnalyticsAPI)(INPUT_METHOD.FLOATING_TB, newResizeStateWithAnalytics)(state, dispatch);
|
|
414
414
|
return true;
|
|
@@ -420,14 +420,14 @@ export const getDistributeConfig = (getEditorContainerWidth, editorAnalyticsAPI,
|
|
|
420
420
|
// fixed column button should be in this function call in the future
|
|
421
421
|
const getColumnSettingItems = (editorState, editorView, {
|
|
422
422
|
formatMessage
|
|
423
|
-
}, getEditorContainerWidth, editorAnalyticsAPI,
|
|
423
|
+
}, getEditorContainerWidth, editorAnalyticsAPI, isTableScalingEnabled = false) => {
|
|
424
424
|
var _newResizeStateWithAn2, _pluginState$pluginCo3;
|
|
425
425
|
const pluginState = getPluginState(editorState);
|
|
426
426
|
const selectionOrTableRect = getClosestSelectionOrTableRect(editorState);
|
|
427
427
|
if (!selectionOrTableRect || !editorView) {
|
|
428
428
|
return [];
|
|
429
429
|
}
|
|
430
|
-
const newResizeStateWithAnalytics = getNewResizeStateFromSelectedColumns(selectionOrTableRect, editorState, editorView.domAtPos.bind(editorView), getEditorContainerWidth,
|
|
430
|
+
const newResizeStateWithAnalytics = getNewResizeStateFromSelectedColumns(selectionOrTableRect, editorState, editorView.domAtPos.bind(editorView), getEditorContainerWidth, isTableScalingEnabled);
|
|
431
431
|
const wouldChange = (_newResizeStateWithAn2 = newResizeStateWithAnalytics === null || newResizeStateWithAnalytics === void 0 ? void 0 : newResizeStateWithAnalytics.changed) !== null && _newResizeStateWithAn2 !== void 0 ? _newResizeStateWithAn2 : false;
|
|
432
432
|
if (pluginState !== null && pluginState !== void 0 && (_pluginState$pluginCo3 = pluginState.pluginConfig) !== null && _pluginState$pluginCo3 !== void 0 && _pluginState$pluginCo3.allowDistributeColumns && pluginState.isDragAndDropEnabled) {
|
|
433
433
|
return [{
|
|
@@ -435,7 +435,7 @@ const getColumnSettingItems = (editorState, editorView, {
|
|
|
435
435
|
type: 'button',
|
|
436
436
|
title: formatMessage(messages.distributeColumns),
|
|
437
437
|
icon: DistributeColumnIcon,
|
|
438
|
-
onClick: (state, dispatch, view) => getDistributeConfig(getEditorContainerWidth, editorAnalyticsAPI,
|
|
438
|
+
onClick: (state, dispatch, view) => getDistributeConfig(getEditorContainerWidth, editorAnalyticsAPI, isTableScalingEnabled)(state, dispatch, view),
|
|
439
439
|
disabled: !wouldChange
|
|
440
440
|
}, {
|
|
441
441
|
type: 'separator'
|
|
@@ -2,7 +2,7 @@ import { tableCellMinWidth } from '@atlaskit/editor-common/styles';
|
|
|
2
2
|
import { AttrStep } from '@atlaskit/editor-prosemirror/transform';
|
|
3
3
|
import { TableMap } from '@atlaskit/editor-tables/table-map';
|
|
4
4
|
import { getBooleanFF } from '@atlaskit/platform-feature-flags';
|
|
5
|
-
import {
|
|
5
|
+
import { getTableContainerElementWidth, getTableElementWidth, hasTableBeenResized } from '../pm-plugins/table-resizing/utils';
|
|
6
6
|
import { isMinCellWidthTable } from '../pm-plugins/table-resizing/utils/colgroup';
|
|
7
7
|
import { getResizeState } from '../pm-plugins/table-resizing/utils/resize-state';
|
|
8
8
|
import { scaleTableTo } from '../pm-plugins/table-resizing/utils/scale-table';
|
|
@@ -85,7 +85,7 @@ export const updateColumnWidths = (resizeState, table, start) => tr => {
|
|
|
85
85
|
* @param view
|
|
86
86
|
* @returns Updated transaction with rescaled columns for a given table
|
|
87
87
|
*/
|
|
88
|
-
export const rescaleColumns = (
|
|
88
|
+
export const rescaleColumns = (isTableScalingEnabled = false) => (table, view) => tr => {
|
|
89
89
|
if (!view) {
|
|
90
90
|
return tr;
|
|
91
91
|
}
|
|
@@ -102,11 +102,11 @@ export const rescaleColumns = (tablePreserveWidth = false) => (table, view) => t
|
|
|
102
102
|
possibleMaxWidth: 0,
|
|
103
103
|
isResized
|
|
104
104
|
};
|
|
105
|
-
if (
|
|
105
|
+
if (isTableScalingEnabled) {
|
|
106
106
|
previousTableInfo = {
|
|
107
107
|
// TODO - ensure correct width is returned when table doesn't have a width value
|
|
108
108
|
width: getTableElementWidth(table.node),
|
|
109
|
-
possibleMaxWidth: getBooleanFF('platform.editor.custom-table-width') ?
|
|
109
|
+
possibleMaxWidth: getBooleanFF('platform.editor.custom-table-width') ? getTableContainerElementWidth(table.node) : getTableContainerElementWidth(table.node) - insertColumnButtonOffset,
|
|
110
110
|
isResized
|
|
111
111
|
};
|
|
112
112
|
} else {
|
|
@@ -162,7 +162,7 @@ export const rescaleColumns = (tablePreserveWidth = false) => (table, view) => t
|
|
|
162
162
|
tableRef,
|
|
163
163
|
domAtPos,
|
|
164
164
|
maxSize: previousTableInfo.possibleMaxWidth,
|
|
165
|
-
|
|
165
|
+
isTableScalingEnabled
|
|
166
166
|
});
|
|
167
167
|
|
|
168
168
|
// Two scenarios that require scaling:
|
|
@@ -192,7 +192,7 @@ function fixRowSpans(table) {
|
|
|
192
192
|
}
|
|
193
193
|
return table.type.createChecked(table.attrs, rows, table.marks);
|
|
194
194
|
}
|
|
195
|
-
export const deleteColumns = (rect, allowCustomStep, view,
|
|
195
|
+
export const deleteColumns = (rect, allowCustomStep, view, isTableScalingEnabled = false) => tr => {
|
|
196
196
|
let updatedTr = tr;
|
|
197
197
|
updatedTr.setMeta(META_KEYS.OVERFLOW_TRIGGER, {
|
|
198
198
|
name: TABLE_OVERFLOW_CHANGE_TRIGGER.DELETED_COLUMN
|
|
@@ -204,7 +204,7 @@ export const deleteColumns = (rect, allowCustomStep, view, tablePreserveWidth =
|
|
|
204
204
|
}
|
|
205
205
|
const table = findTable(updatedTr.selection);
|
|
206
206
|
if (table) {
|
|
207
|
-
updatedTr = rescaleColumns(
|
|
207
|
+
updatedTr = rescaleColumns(isTableScalingEnabled)(table, view)(updatedTr);
|
|
208
208
|
}
|
|
209
209
|
return updatedTr;
|
|
210
210
|
};
|
|
@@ -302,11 +302,11 @@ export class ContextualMenu extends Component {
|
|
|
302
302
|
}
|
|
303
303
|
} = getPluginState(editorView.state);
|
|
304
304
|
if (allowDistributeColumns && (!isDragAndDropEnabled || !getBooleanFF('platform.editor.table.new-cell-context-menu-styling'))) {
|
|
305
|
-
var
|
|
305
|
+
var _newResizeState$chang;
|
|
306
306
|
const {
|
|
307
|
-
|
|
308
|
-
} = (
|
|
309
|
-
const newResizeState = getNewResizeStateFromSelectedColumns(selectionRect, editorView.state, editorView.domAtPos.bind(editorView), getEditorContainerWidth,
|
|
307
|
+
isTableScalingEnabled = false
|
|
308
|
+
} = getPluginState(editorView.state);
|
|
309
|
+
const newResizeState = getNewResizeStateFromSelectedColumns(selectionRect, editorView.state, editorView.domAtPos.bind(editorView), getEditorContainerWidth, isTableScalingEnabled);
|
|
310
310
|
const wouldChange = (_newResizeState$chang = newResizeState === null || newResizeState === void 0 ? void 0 : newResizeState.changed) !== null && _newResizeState$chang !== void 0 ? _newResizeState$chang : false;
|
|
311
311
|
return {
|
|
312
312
|
content: formatMessage(messages.distributeColumns),
|
|
@@ -400,8 +400,7 @@ export class ContextualMenu extends Component {
|
|
|
400
400
|
editorView,
|
|
401
401
|
selectionRect,
|
|
402
402
|
editorAnalyticsAPI,
|
|
403
|
-
getEditorContainerWidth
|
|
404
|
-
getEditorFeatureFlags
|
|
403
|
+
getEditorContainerWidth
|
|
405
404
|
} = this.props;
|
|
406
405
|
// TargetCellPosition could be outdated: https://product-fabric.atlassian.net/browse/ED-8129
|
|
407
406
|
const {
|
|
@@ -409,11 +408,9 @@ export class ContextualMenu extends Component {
|
|
|
409
408
|
dispatch
|
|
410
409
|
} = editorView;
|
|
411
410
|
const {
|
|
412
|
-
targetCellPosition
|
|
411
|
+
targetCellPosition,
|
|
412
|
+
isTableScalingEnabled = false
|
|
413
413
|
} = getPluginState(state);
|
|
414
|
-
const {
|
|
415
|
-
tablePreserveWidth = false
|
|
416
|
-
} = (getEditorFeatureFlags === null || getEditorFeatureFlags === void 0 ? void 0 : getEditorFeatureFlags()) || {};
|
|
417
414
|
switch (item.value.name) {
|
|
418
415
|
case 'sort_column_desc':
|
|
419
416
|
sortColumnWithAnalytics(editorAnalyticsAPI)(INPUT_METHOD.CONTEXT_MENU, selectionRect.left, SortOrder.DESC)(state, dispatch);
|
|
@@ -432,7 +429,7 @@ export class ContextualMenu extends Component {
|
|
|
432
429
|
this.toggleOpen();
|
|
433
430
|
break;
|
|
434
431
|
case 'distribute_columns':
|
|
435
|
-
const newResizeStateWithAnalytics = getNewResizeStateFromSelectedColumns(selectionRect, state, editorView.domAtPos.bind(editorView), getEditorContainerWidth,
|
|
432
|
+
const newResizeStateWithAnalytics = getNewResizeStateFromSelectedColumns(selectionRect, state, editorView.domAtPos.bind(editorView), getEditorContainerWidth, isTableScalingEnabled);
|
|
436
433
|
if (newResizeStateWithAnalytics) {
|
|
437
434
|
distributeColumnsWidthsWithAnalytics(editorAnalyticsAPI)(INPUT_METHOD.CONTEXT_MENU, newResizeStateWithAnalytics)(state, dispatch);
|
|
438
435
|
this.toggleOpen();
|
|
@@ -443,7 +440,7 @@ export class ContextualMenu extends Component {
|
|
|
443
440
|
this.toggleOpen();
|
|
444
441
|
break;
|
|
445
442
|
case 'insert_column':
|
|
446
|
-
insertColumnWithAnalytics(
|
|
443
|
+
insertColumnWithAnalytics(editorAnalyticsAPI, isTableScalingEnabled)(INPUT_METHOD.CONTEXT_MENU, selectionRect.right)(state, dispatch, editorView);
|
|
447
444
|
this.toggleOpen();
|
|
448
445
|
break;
|
|
449
446
|
case 'insert_row':
|
|
@@ -16,8 +16,7 @@ const FloatingContextualMenu = ({
|
|
|
16
16
|
isOpen,
|
|
17
17
|
pluginConfig,
|
|
18
18
|
editorAnalyticsAPI,
|
|
19
|
-
getEditorContainerWidth
|
|
20
|
-
getEditorFeatureFlags
|
|
19
|
+
getEditorContainerWidth
|
|
21
20
|
}) => {
|
|
22
21
|
// TargetCellPosition could be outdated: https://product-fabric.atlassian.net/browse/ED-8129
|
|
23
22
|
const {
|
|
@@ -69,8 +68,7 @@ const FloatingContextualMenu = ({
|
|
|
69
68
|
selectionRect: selectionRect,
|
|
70
69
|
boundariesElement: boundariesElement,
|
|
71
70
|
editorAnalyticsAPI: editorAnalyticsAPI,
|
|
72
|
-
getEditorContainerWidth: getEditorContainerWidth
|
|
73
|
-
getEditorFeatureFlags: getEditorFeatureFlags
|
|
71
|
+
getEditorContainerWidth: getEditorContainerWidth
|
|
74
72
|
})));
|
|
75
73
|
};
|
|
76
74
|
FloatingContextualMenu.displayName = 'FloatingContextualMenu';
|
|
@@ -176,7 +176,7 @@ export const DragMenu = /*#__PURE__*/React.memo(({
|
|
|
176
176
|
mountPoint,
|
|
177
177
|
scrollableElement,
|
|
178
178
|
boundariesElement,
|
|
179
|
-
|
|
179
|
+
isTableScalingEnabled
|
|
180
180
|
}) => {
|
|
181
181
|
var _pluginConfig$allowBa;
|
|
182
182
|
const {
|
|
@@ -196,7 +196,7 @@ export const DragMenu = /*#__PURE__*/React.memo(({
|
|
|
196
196
|
const shouldMoveDisabled = index !== undefined && hasMergedCells(index)(selection);
|
|
197
197
|
const hasMergedCellsInTable = getMergedCellsPositions(state.tr).length > 0;
|
|
198
198
|
const allowBackgroundColor = (_pluginConfig$allowBa = pluginConfig === null || pluginConfig === void 0 ? void 0 : pluginConfig.allowBackgroundColor) !== null && _pluginConfig$allowBa !== void 0 ? _pluginConfig$allowBa : false;
|
|
199
|
-
const dragMenuConfig = getDragMenuConfig(direction, getEditorContainerWidth, !shouldMoveDisabled, hasMergedCellsInTable, editorView, tableMap, index, targetCellPosition, selectionRect, editorAnalyticsAPI, pluginConfig === null || pluginConfig === void 0 ? void 0 : pluginConfig.isHeaderRowRequired,
|
|
199
|
+
const dragMenuConfig = getDragMenuConfig(direction, getEditorContainerWidth, !shouldMoveDisabled, hasMergedCellsInTable, editorView, tableMap, index, targetCellPosition, selectionRect, editorAnalyticsAPI, pluginConfig === null || pluginConfig === void 0 ? void 0 : pluginConfig.isHeaderRowRequired, isTableScalingEnabled);
|
|
200
200
|
const {
|
|
201
201
|
menuItems,
|
|
202
202
|
menuCallback
|
|
@@ -2,6 +2,7 @@ import React from 'react';
|
|
|
2
2
|
import { Popup } from '@atlaskit/editor-common/ui';
|
|
3
3
|
import { akEditorFloatingDialogZIndex, akEditorFloatingOverlapPanelZIndex } from '@atlaskit/editor-shared-styles';
|
|
4
4
|
import { CellSelection } from '@atlaskit/editor-tables/cell-selection';
|
|
5
|
+
import { getPluginState } from '../../pm-plugins/plugin-factory';
|
|
5
6
|
import { dragMenuDropdownWidth, tablePopupMenuFitHeight } from '../consts';
|
|
6
7
|
import DragMenu from './DragMenu';
|
|
7
8
|
const FloatingDragMenu = ({
|
|
@@ -17,8 +18,7 @@ const FloatingDragMenu = ({
|
|
|
17
18
|
getEditorContainerWidth,
|
|
18
19
|
editorAnalyticsAPI,
|
|
19
20
|
stickyHeaders,
|
|
20
|
-
pluginConfig
|
|
21
|
-
getEditorFeatureFlags
|
|
21
|
+
pluginConfig
|
|
22
22
|
}) => {
|
|
23
23
|
if (!isOpen || !targetCellPosition || editorView.state.doc.nodeSize <= targetCellPosition) {
|
|
24
24
|
return null;
|
|
@@ -30,8 +30,8 @@ const FloatingDragMenu = ({
|
|
|
30
30
|
return null;
|
|
31
31
|
}
|
|
32
32
|
const {
|
|
33
|
-
|
|
34
|
-
} =
|
|
33
|
+
isTableScalingEnabled = false
|
|
34
|
+
} = getPluginState(editorView.state);
|
|
35
35
|
return /*#__PURE__*/React.createElement(Popup, {
|
|
36
36
|
alignX: direction === 'row' ? 'right' : undefined,
|
|
37
37
|
alignY: direction === 'row' ? 'start' : undefined,
|
|
@@ -65,7 +65,7 @@ const FloatingDragMenu = ({
|
|
|
65
65
|
mountPoint: mountPoint,
|
|
66
66
|
boundariesElement: boundariesElement,
|
|
67
67
|
scrollableElement: scrollableElement,
|
|
68
|
-
|
|
68
|
+
isTableScalingEnabled: isTableScalingEnabled
|
|
69
69
|
}));
|
|
70
70
|
};
|
|
71
71
|
FloatingDragMenu.displayName = 'FloatingDragMenu';
|
|
@@ -11,6 +11,7 @@ import { CellSelection } from '@atlaskit/editor-tables/cell-selection';
|
|
|
11
11
|
import { TableMap } from '@atlaskit/editor-tables/table-map';
|
|
12
12
|
import { findTable } from '@atlaskit/editor-tables/utils';
|
|
13
13
|
import { insertColumnWithAnalytics, insertRowWithAnalytics } from '../../commands-with-analytics';
|
|
14
|
+
import { getPluginState } from '../../pm-plugins/plugin-factory';
|
|
14
15
|
import { TableCssClassName as ClassName } from '../../types';
|
|
15
16
|
import { checkIfNumberColumnEnabled } from '../../utils';
|
|
16
17
|
import getPopupOptions from './getPopupOptions';
|
|
@@ -173,20 +174,18 @@ export class FloatingInsertButton extends React.Component {
|
|
|
173
174
|
const {
|
|
174
175
|
editorView,
|
|
175
176
|
insertColumnButtonIndex,
|
|
176
|
-
editorAnalyticsAPI
|
|
177
|
-
getEditorContainerWidth
|
|
177
|
+
editorAnalyticsAPI
|
|
178
178
|
} = this.props;
|
|
179
179
|
if (typeof insertColumnButtonIndex !== 'undefined') {
|
|
180
|
-
var _this$props$getEditor, _this$props;
|
|
181
180
|
event.preventDefault();
|
|
182
181
|
const {
|
|
183
|
-
|
|
184
|
-
} = (
|
|
182
|
+
isTableScalingEnabled = false
|
|
183
|
+
} = getPluginState(editorView.state);
|
|
185
184
|
const {
|
|
186
185
|
state,
|
|
187
186
|
dispatch
|
|
188
187
|
} = editorView;
|
|
189
|
-
insertColumnWithAnalytics(
|
|
188
|
+
insertColumnWithAnalytics(editorAnalyticsAPI, isTableScalingEnabled)(INPUT_METHOD.BUTTON, insertColumnButtonIndex)(state, dispatch, editorView);
|
|
190
189
|
}
|
|
191
190
|
}
|
|
192
191
|
}
|
|
@@ -18,37 +18,15 @@ export const TableFloatingColumnControls = ({
|
|
|
18
18
|
isTableHovered,
|
|
19
19
|
tableContainerWidth,
|
|
20
20
|
isNumberColumnEnabled,
|
|
21
|
-
getScrollOffset
|
|
21
|
+
getScrollOffset,
|
|
22
|
+
tableWrapperHeight
|
|
22
23
|
}) => {
|
|
23
|
-
const [tableRect, setTableRect] = useState({
|
|
24
|
-
width: 0,
|
|
25
|
-
height: 0
|
|
26
|
-
});
|
|
27
24
|
const [isDragging, setIsDragging] = useState(false);
|
|
28
25
|
const containerRef = useRef(null);
|
|
29
26
|
const node = getNode();
|
|
30
27
|
const currentNodeLocalId = node === null || node === void 0 ? void 0 : node.attrs.localId;
|
|
31
28
|
const hasHeaderColumn = containsHeaderColumn(node);
|
|
32
29
|
const stickyTop = stickyHeader && stickyHeader.sticky && hasHeaderRow ? stickyHeader.top : undefined;
|
|
33
|
-
useEffect(() => {
|
|
34
|
-
var _window;
|
|
35
|
-
if (tableRef && (_window = window) !== null && _window !== void 0 && _window.ResizeObserver) {
|
|
36
|
-
const resizeObserver = new ResizeObserver(entries => {
|
|
37
|
-
for (let entry of entries) {
|
|
38
|
-
setTableRect(prev => {
|
|
39
|
-
if (prev.width !== entry.contentRect.width || prev.height !== entry.contentRect.height) {
|
|
40
|
-
return entry.contentRect;
|
|
41
|
-
}
|
|
42
|
-
return prev;
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
resizeObserver.observe(tableRef);
|
|
47
|
-
return () => {
|
|
48
|
-
resizeObserver.disconnect();
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
}, [tableRef]);
|
|
52
30
|
useEffect(() => {
|
|
53
31
|
return monitorForElements({
|
|
54
32
|
canMonitor({
|
|
@@ -71,11 +49,11 @@ export const TableFloatingColumnControls = ({
|
|
|
71
49
|
}, [editorView, currentNodeLocalId]);
|
|
72
50
|
const rowHeights = useMemo(() => {
|
|
73
51
|
// NOTE: we don't care so much as to what tableHeight is, we only care that it changed and is a sane value.
|
|
74
|
-
if (tableRef && !!
|
|
52
|
+
if (tableRef && !!tableWrapperHeight) {
|
|
75
53
|
return getRowHeights(tableRef);
|
|
76
54
|
}
|
|
77
55
|
return [0];
|
|
78
|
-
}, [tableRef,
|
|
56
|
+
}, [tableRef, tableWrapperHeight]);
|
|
79
57
|
if (!tableRef || !tableActive || isResizing) {
|
|
80
58
|
return null;
|
|
81
59
|
}
|
|
@@ -112,7 +90,7 @@ export const TableFloatingColumnControls = ({
|
|
|
112
90
|
}), isDragging && /*#__PURE__*/React.createElement(ColumnDropTargets, {
|
|
113
91
|
tableRef: tableRef,
|
|
114
92
|
isHeaderSticky: (stickyHeader === null || stickyHeader === void 0 ? void 0 : stickyHeader.sticky) && hasHeaderRow,
|
|
115
|
-
tableHeight:
|
|
93
|
+
tableHeight: tableWrapperHeight,
|
|
116
94
|
localId: currentNodeLocalId,
|
|
117
95
|
colWidths: colWidths,
|
|
118
96
|
getScrollOffset: getScrollOffset
|