@atlaskit/editor-plugin-table 7.16.13 → 7.16.15
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 +17 -0
- package/dist/cjs/commands/column-resize.js +6 -3
- package/dist/cjs/commands/delete.js +2 -1
- package/dist/cjs/commands/insert.js +8 -5
- package/dist/cjs/commands/misc.js +17 -1
- package/dist/cjs/commands-with-analytics.js +6 -4
- package/dist/cjs/event-handlers.js +2 -1
- package/dist/cjs/nodeviews/TableComponent.js +21 -10
- package/dist/cjs/nodeviews/TableContainer.js +7 -3
- package/dist/cjs/nodeviews/TableResizer.js +3 -2
- package/dist/cjs/plugin.js +4 -3
- package/dist/cjs/pm-plugins/drag-and-drop/plugin.js +4 -2
- package/dist/cjs/pm-plugins/keymap.js +5 -4
- package/dist/cjs/pm-plugins/main.js +2 -2
- package/dist/cjs/pm-plugins/table-resizing/event-handlers.js +12 -7
- package/dist/cjs/pm-plugins/table-resizing/utils/colgroup.js +6 -5
- package/dist/cjs/pm-plugins/table-resizing/utils/consts.js +2 -1
- package/dist/cjs/pm-plugins/table-resizing/utils/index.js +6 -0
- package/dist/cjs/pm-plugins/table-resizing/utils/misc.js +6 -4
- package/dist/cjs/pm-plugins/table-resizing/utils/resize-column.js +5 -3
- package/dist/cjs/pm-plugins/table-resizing/utils/resize-state.js +13 -8
- package/dist/cjs/pm-plugins/table-resizing/utils/scale-table.js +17 -9
- package/dist/cjs/toolbar.js +10 -5
- package/dist/cjs/transforms/column-width.js +3 -1
- package/dist/cjs/transforms/delete-columns.js +2 -1
- package/dist/cjs/ui/FloatingContextualMenu/ContextualMenu.js +4 -2
- package/dist/cjs/ui/FloatingDragMenu/DragMenu.js +3 -2
- package/dist/cjs/ui/FloatingDragMenu/index.js +4 -1
- package/dist/cjs/ui/FloatingInsertButton/index.js +3 -1
- package/dist/cjs/utils/drag-menu.js +2 -1
- package/dist/es2019/commands/column-resize.js +6 -3
- package/dist/es2019/commands/delete.js +2 -2
- package/dist/es2019/commands/insert.js +8 -8
- package/dist/es2019/commands/misc.js +17 -1
- package/dist/es2019/commands-with-analytics.js +6 -6
- package/dist/es2019/event-handlers.js +2 -2
- package/dist/es2019/nodeviews/TableComponent.js +21 -10
- package/dist/es2019/nodeviews/TableContainer.js +7 -3
- package/dist/es2019/nodeviews/TableResizer.js +3 -2
- package/dist/es2019/plugin.js +4 -3
- package/dist/es2019/pm-plugins/drag-and-drop/plugin.js +4 -2
- package/dist/es2019/pm-plugins/keymap.js +5 -5
- package/dist/es2019/pm-plugins/main.js +2 -2
- package/dist/es2019/pm-plugins/table-resizing/event-handlers.js +12 -7
- package/dist/es2019/pm-plugins/table-resizing/utils/colgroup.js +6 -6
- package/dist/es2019/pm-plugins/table-resizing/utils/consts.js +1 -0
- package/dist/es2019/pm-plugins/table-resizing/utils/index.js +1 -1
- package/dist/es2019/pm-plugins/table-resizing/utils/misc.js +7 -5
- package/dist/es2019/pm-plugins/table-resizing/utils/resize-column.js +5 -5
- package/dist/es2019/pm-plugins/table-resizing/utils/resize-state.js +12 -8
- package/dist/es2019/pm-plugins/table-resizing/utils/scale-table.js +17 -12
- package/dist/es2019/toolbar.js +10 -8
- package/dist/es2019/transforms/column-width.js +3 -2
- package/dist/es2019/transforms/delete-columns.js +2 -2
- package/dist/es2019/ui/FloatingContextualMenu/ContextualMenu.js +4 -2
- package/dist/es2019/ui/FloatingDragMenu/DragMenu.js +3 -2
- package/dist/es2019/ui/FloatingDragMenu/index.js +4 -1
- package/dist/es2019/ui/FloatingInsertButton/index.js +3 -1
- package/dist/es2019/utils/drag-menu.js +2 -2
- package/dist/esm/commands/column-resize.js +6 -3
- package/dist/esm/commands/delete.js +2 -1
- package/dist/esm/commands/insert.js +8 -5
- package/dist/esm/commands/misc.js +17 -1
- package/dist/esm/commands-with-analytics.js +6 -4
- package/dist/esm/event-handlers.js +2 -1
- package/dist/esm/nodeviews/TableComponent.js +21 -10
- package/dist/esm/nodeviews/TableContainer.js +7 -3
- package/dist/esm/nodeviews/TableResizer.js +3 -2
- package/dist/esm/plugin.js +4 -3
- package/dist/esm/pm-plugins/drag-and-drop/plugin.js +4 -2
- package/dist/esm/pm-plugins/keymap.js +5 -4
- package/dist/esm/pm-plugins/main.js +2 -2
- package/dist/esm/pm-plugins/table-resizing/event-handlers.js +12 -7
- package/dist/esm/pm-plugins/table-resizing/utils/colgroup.js +6 -5
- package/dist/esm/pm-plugins/table-resizing/utils/consts.js +1 -0
- package/dist/esm/pm-plugins/table-resizing/utils/index.js +1 -1
- package/dist/esm/pm-plugins/table-resizing/utils/misc.js +7 -5
- package/dist/esm/pm-plugins/table-resizing/utils/resize-column.js +5 -3
- package/dist/esm/pm-plugins/table-resizing/utils/resize-state.js +13 -8
- package/dist/esm/pm-plugins/table-resizing/utils/scale-table.js +17 -9
- package/dist/esm/toolbar.js +10 -5
- package/dist/esm/transforms/column-width.js +3 -1
- package/dist/esm/transforms/delete-columns.js +2 -1
- package/dist/esm/ui/FloatingContextualMenu/ContextualMenu.js +4 -2
- package/dist/esm/ui/FloatingDragMenu/DragMenu.js +3 -2
- package/dist/esm/ui/FloatingDragMenu/index.js +4 -1
- package/dist/esm/ui/FloatingInsertButton/index.js +3 -1
- package/dist/esm/utils/drag-menu.js +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 +3 -3
- 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/pm-plugins/keymap.d.ts +1 -1
- package/dist/types/pm-plugins/main.d.ts +1 -1
- package/dist/types/pm-plugins/table-resizing/utils/colgroup.d.ts +2 -2
- 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 +2 -2
- package/dist/types/pm-plugins/table-resizing/utils/resize-column.d.ts +2 -2
- package/dist/types/pm-plugins/table-resizing/utils/resize-state.d.ts +3 -2
- package/dist/types/pm-plugins/table-resizing/utils/scale-table.d.ts +3 -3
- 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/FloatingDragMenu/DragMenu.d.ts +2 -1
- package/dist/types/utils/drag-menu.d.ts +1 -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 +3 -3
- 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/pm-plugins/keymap.d.ts +1 -1
- package/dist/types-ts4.5/pm-plugins/main.d.ts +1 -1
- 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 +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 +2 -2
- package/dist/types-ts4.5/pm-plugins/table-resizing/utils/resize-column.d.ts +2 -2
- package/dist/types-ts4.5/pm-plugins/table-resizing/utils/resize-state.d.ts +3 -2
- package/dist/types-ts4.5/pm-plugins/table-resizing/utils/scale-table.d.ts +3 -3
- 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/FloatingDragMenu/DragMenu.d.ts +2 -1
- package/dist/types-ts4.5/utils/drag-menu.d.ts +1 -1
- package/package.json +4 -1
- package/src/commands/column-resize.ts +9 -3
- package/src/commands/delete.ts +2 -1
- package/src/commands/insert.ts +31 -12
- package/src/commands/misc.ts +20 -4
- package/src/commands-with-analytics.ts +24 -8
- package/src/event-handlers.ts +2 -0
- package/src/nodeviews/TableComponent.tsx +41 -12
- package/src/nodeviews/TableContainer.tsx +6 -0
- package/src/nodeviews/TableResizer.tsx +4 -0
- package/src/plugin.tsx +9 -0
- package/src/pm-plugins/drag-and-drop/plugin.ts +13 -4
- package/src/pm-plugins/keymap.ts +17 -4
- package/src/pm-plugins/main.ts +2 -0
- package/src/pm-plugins/table-resizing/event-handlers.ts +21 -10
- package/src/pm-plugins/table-resizing/utils/colgroup.ts +14 -4
- package/src/pm-plugins/table-resizing/utils/consts.ts +1 -0
- package/src/pm-plugins/table-resizing/utils/index.ts +1 -0
- package/src/pm-plugins/table-resizing/utils/misc.ts +24 -5
- package/src/pm-plugins/table-resizing/utils/resize-column.ts +11 -4
- package/src/pm-plugins/table-resizing/utils/resize-state.ts +17 -6
- package/src/pm-plugins/table-resizing/utils/scale-table.ts +32 -9
- package/src/toolbar.tsx +18 -10
- package/src/transforms/column-width.ts +2 -1
- package/src/transforms/delete-columns.ts +11 -2
- package/src/ui/FloatingContextualMenu/ContextualMenu.tsx +12 -5
- package/src/ui/FloatingDragMenu/DragMenu.tsx +3 -0
- package/src/ui/FloatingDragMenu/index.tsx +7 -0
- package/src/ui/FloatingInsertButton/index.tsx +7 -0
- package/src/utils/drag-menu.ts +2 -0
|
@@ -240,7 +240,13 @@ function fixRowSpans(table: PMNode): PMNode | null {
|
|
|
240
240
|
}
|
|
241
241
|
|
|
242
242
|
export const deleteColumns =
|
|
243
|
-
(
|
|
243
|
+
(
|
|
244
|
+
rect: Rect,
|
|
245
|
+
allowCustomStep: boolean,
|
|
246
|
+
view?: EditorView,
|
|
247
|
+
isTableScalingEnabled = false,
|
|
248
|
+
shouldUseIncreasedScalingPercent = false,
|
|
249
|
+
) =>
|
|
244
250
|
(tr: Transaction) => {
|
|
245
251
|
let updatedTr = tr;
|
|
246
252
|
updatedTr.setMeta(META_KEYS.OVERFLOW_TRIGGER, {
|
|
@@ -255,7 +261,10 @@ export const deleteColumns =
|
|
|
255
261
|
const table = findTable(updatedTr.selection);
|
|
256
262
|
|
|
257
263
|
if (table) {
|
|
258
|
-
updatedTr = rescaleColumns(isTableScalingEnabled
|
|
264
|
+
updatedTr = rescaleColumns(isTableScalingEnabled, shouldUseIncreasedScalingPercent)(
|
|
265
|
+
table,
|
|
266
|
+
view,
|
|
267
|
+
)(updatedTr);
|
|
259
268
|
}
|
|
260
269
|
return updatedTr;
|
|
261
270
|
};
|
|
@@ -35,6 +35,7 @@ import { splitCell } from '@atlaskit/editor-tables/utils';
|
|
|
35
35
|
import CrossCircleIcon from '@atlaskit/icon/glyph/cross-circle';
|
|
36
36
|
import EditorBackgroundColorIcon from '@atlaskit/icon/glyph/editor/background-color';
|
|
37
37
|
import RemoveIcon from '@atlaskit/icon/glyph/editor/remove';
|
|
38
|
+
import { getBooleanFF } from '@atlaskit/platform-feature-flags';
|
|
38
39
|
|
|
39
40
|
import {
|
|
40
41
|
clearHoverSelection,
|
|
@@ -510,6 +511,11 @@ export class ContextualMenu extends Component<Props & WrappedComponentProps, Sta
|
|
|
510
511
|
? getEditorFeatureFlags()
|
|
511
512
|
: {};
|
|
512
513
|
|
|
514
|
+
const shouldUseIncreasedScalingPercent =
|
|
515
|
+
isTableScalingEnabled &&
|
|
516
|
+
getBooleanFF('platform.editor.table.preserve-widths-with-lock-button') &&
|
|
517
|
+
getBooleanFF('platform.editor.table.use-increased-scaling-percent');
|
|
518
|
+
|
|
513
519
|
switch (item.value.name) {
|
|
514
520
|
case 'sort_column_desc':
|
|
515
521
|
sortColumnWithAnalytics(editorAnalyticsAPI)(
|
|
@@ -564,6 +570,7 @@ export class ContextualMenu extends Component<Props & WrappedComponentProps, Sta
|
|
|
564
570
|
editorAnalyticsAPI,
|
|
565
571
|
isTableScalingEnabled,
|
|
566
572
|
tableDuplicateCellColouring,
|
|
573
|
+
shouldUseIncreasedScalingPercent,
|
|
567
574
|
)(INPUT_METHOD.CONTEXT_MENU, selectionRect.right)(state, dispatch, editorView);
|
|
568
575
|
this.toggleOpen();
|
|
569
576
|
break;
|
|
@@ -578,11 +585,11 @@ export class ContextualMenu extends Component<Props & WrappedComponentProps, Sta
|
|
|
578
585
|
this.toggleOpen();
|
|
579
586
|
break;
|
|
580
587
|
case 'delete_column':
|
|
581
|
-
deleteColumnsWithAnalytics(
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
);
|
|
588
|
+
deleteColumnsWithAnalytics(
|
|
589
|
+
editorAnalyticsAPI,
|
|
590
|
+
isTableScalingEnabled,
|
|
591
|
+
shouldUseIncreasedScalingPercent,
|
|
592
|
+
)(INPUT_METHOD.CONTEXT_MENU, selectionRect)(state, dispatch, editorView);
|
|
586
593
|
this.toggleOpen();
|
|
587
594
|
break;
|
|
588
595
|
case 'delete_row':
|
|
@@ -93,6 +93,7 @@ type DragMenuProps = {
|
|
|
93
93
|
scrollableElement?: HTMLElement;
|
|
94
94
|
isTableScalingEnabled?: boolean;
|
|
95
95
|
tableDuplicateCellColouring?: boolean;
|
|
96
|
+
shouldUseIncreasedScalingPercent?: boolean;
|
|
96
97
|
};
|
|
97
98
|
|
|
98
99
|
type PluralOptionType = 'noOfCols' | 'noOfRows' | 'noOfCells' | null;
|
|
@@ -261,6 +262,7 @@ export const DragMenu = React.memo(
|
|
|
261
262
|
boundariesElement,
|
|
262
263
|
isTableScalingEnabled,
|
|
263
264
|
tableDuplicateCellColouring,
|
|
265
|
+
shouldUseIncreasedScalingPercent,
|
|
264
266
|
}: DragMenuProps & WrappedComponentProps) => {
|
|
265
267
|
const { state, dispatch } = editorView;
|
|
266
268
|
const { selection } = state;
|
|
@@ -301,6 +303,7 @@ export const DragMenu = React.memo(
|
|
|
301
303
|
pluginConfig?.isHeaderRowRequired,
|
|
302
304
|
isTableScalingEnabled,
|
|
303
305
|
tableDuplicateCellColouring,
|
|
306
|
+
shouldUseIncreasedScalingPercent,
|
|
304
307
|
);
|
|
305
308
|
|
|
306
309
|
const { menuItems, menuCallback } = convertToDropdownItems(
|
|
@@ -10,6 +10,7 @@ import {
|
|
|
10
10
|
akEditorFloatingOverlapPanelZIndex,
|
|
11
11
|
} from '@atlaskit/editor-shared-styles';
|
|
12
12
|
import { CellSelection } from '@atlaskit/editor-tables/cell-selection';
|
|
13
|
+
import { getBooleanFF } from '@atlaskit/platform-feature-flags';
|
|
13
14
|
|
|
14
15
|
import type { RowStickyState } from '../../pm-plugins/sticky-headers';
|
|
15
16
|
import type { PluginConfig, TableDirection } from '../../types';
|
|
@@ -73,6 +74,11 @@ const FloatingDragMenu = ({
|
|
|
73
74
|
? getEditorFeatureFlags()
|
|
74
75
|
: {};
|
|
75
76
|
|
|
77
|
+
const shouldUseIncreasedScalingPercent =
|
|
78
|
+
isTableScalingEnabled &&
|
|
79
|
+
getBooleanFF('platform.editor.table.preserve-widths-with-lock-button') &&
|
|
80
|
+
getBooleanFF('platform.editor.table.use-increased-scaling-percent');
|
|
81
|
+
|
|
76
82
|
return (
|
|
77
83
|
<Popup
|
|
78
84
|
alignX={direction === 'row' ? 'right' : undefined}
|
|
@@ -109,6 +115,7 @@ const FloatingDragMenu = ({
|
|
|
109
115
|
scrollableElement={scrollableElement}
|
|
110
116
|
isTableScalingEnabled={isTableScalingEnabled}
|
|
111
117
|
tableDuplicateCellColouring={tableDuplicateCellColouring}
|
|
118
|
+
shouldUseIncreasedScalingPercent={shouldUseIncreasedScalingPercent}
|
|
112
119
|
/>
|
|
113
120
|
</Popup>
|
|
114
121
|
);
|
|
@@ -25,6 +25,7 @@ import { akEditorTableCellOnStickyHeaderZIndex } from '@atlaskit/editor-shared-s
|
|
|
25
25
|
import { CellSelection } from '@atlaskit/editor-tables/cell-selection';
|
|
26
26
|
import { TableMap } from '@atlaskit/editor-tables/table-map';
|
|
27
27
|
import { findTable } from '@atlaskit/editor-tables/utils';
|
|
28
|
+
import { getBooleanFF } from '@atlaskit/platform-feature-flags';
|
|
28
29
|
|
|
29
30
|
import { insertColumnWithAnalytics, insertRowWithAnalytics } from '../../commands-with-analytics';
|
|
30
31
|
import { getPluginState } from '../../pm-plugins/plugin-factory';
|
|
@@ -263,6 +264,11 @@ export class FloatingInsertButton extends React.Component<Props & WrappedCompone
|
|
|
263
264
|
|
|
264
265
|
const { isTableScalingEnabled = false } = getPluginState(editorView.state);
|
|
265
266
|
|
|
267
|
+
const shouldUseIncreasedScalingPercent =
|
|
268
|
+
isTableScalingEnabled &&
|
|
269
|
+
getBooleanFF('platform.editor.table.preserve-widths-with-lock-button') &&
|
|
270
|
+
getBooleanFF('platform.editor.table.use-increased-scaling-percent');
|
|
271
|
+
|
|
266
272
|
const { tableDuplicateCellColouring = false } = getEditorFeatureFlags
|
|
267
273
|
? getEditorFeatureFlags()
|
|
268
274
|
: {};
|
|
@@ -272,6 +278,7 @@ export class FloatingInsertButton extends React.Component<Props & WrappedCompone
|
|
|
272
278
|
editorAnalyticsAPI,
|
|
273
279
|
isTableScalingEnabled,
|
|
274
280
|
tableDuplicateCellColouring,
|
|
281
|
+
shouldUseIncreasedScalingPercent,
|
|
275
282
|
)(INPUT_METHOD.BUTTON, insertColumnButtonIndex)(state, dispatch, editorView);
|
|
276
283
|
}
|
|
277
284
|
}
|
package/src/utils/drag-menu.ts
CHANGED
|
@@ -160,6 +160,7 @@ export const getDragMenuConfig = (
|
|
|
160
160
|
isHeaderRowRequired?: boolean,
|
|
161
161
|
isTableScalingEnabled = false,
|
|
162
162
|
tableDuplicateCellColouring = false,
|
|
163
|
+
shouldUseIncreasedScalingPercent = false,
|
|
163
164
|
): DragMenuConfig[] => {
|
|
164
165
|
const addOptions =
|
|
165
166
|
direction === 'row'
|
|
@@ -271,6 +272,7 @@ export const getDragMenuConfig = (
|
|
|
271
272
|
editorAnalyticsAPI,
|
|
272
273
|
isTableScalingEnabled,
|
|
273
274
|
tableDuplicateCellColouring,
|
|
275
|
+
shouldUseIncreasedScalingPercent,
|
|
274
276
|
)(INPUT_METHOD.TABLE_CONTEXT_MENU, (index ?? 0) + offset)(state, dispatch, editorView);
|
|
275
277
|
}
|
|
276
278
|
return true;
|