@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
|
@@ -1,205 +1,131 @@
|
|
|
1
|
-
import
|
|
2
|
-
import React, { Component } from 'react';
|
|
1
|
+
import React, { useCallback } from 'react';
|
|
3
2
|
import { browser } from '@atlaskit/editor-common/utils';
|
|
4
3
|
import { hoverCell, hoverRows, selectRow, selectRows } from '../../commands';
|
|
5
4
|
import { TableCssClassName as ClassName } from '../../types';
|
|
6
|
-
import { isSelectionUpdated } from '../../utils';
|
|
7
5
|
import { CornerControls, DragCornerControls } from './CornerControls';
|
|
8
6
|
import NumberColumn from './NumberColumn';
|
|
9
7
|
import { DragControls, RowControls } from './RowControls';
|
|
10
|
-
export
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
if (browser.ie_version === 11) {
|
|
37
|
-
editorView.dom.blur();
|
|
38
|
-
}
|
|
39
|
-
selectRows(rowIndexes)(state, dispatch);
|
|
40
|
-
});
|
|
41
|
-
_defineProperty(this, "hoverRows", (rows, danger) => {
|
|
42
|
-
const {
|
|
43
|
-
state,
|
|
44
|
-
dispatch
|
|
45
|
-
} = this.props.editorView;
|
|
46
|
-
hoverRows(rows, danger)(state, dispatch);
|
|
47
|
-
});
|
|
48
|
-
// re-use across numbered columns and row controls
|
|
49
|
-
_defineProperty(this, "updateCellHoverLocation", rowIndex => {
|
|
50
|
-
const {
|
|
51
|
-
editorView,
|
|
52
|
-
tableActive
|
|
53
|
-
} = this.props;
|
|
54
|
-
const {
|
|
55
|
-
state,
|
|
56
|
-
dispatch
|
|
57
|
-
} = editorView;
|
|
58
|
-
if (tableActive) {
|
|
59
|
-
// For context: Whenever we mouse over a column or row drag handle, we will ALWAYS be hovering over the 0 index
|
|
60
|
-
// of the opposite dimension. For example; here when we mouse over the row drag handle then we're technically
|
|
61
|
-
// also hovering over column 0 index. And vice-versa with columns. This means we don't need to worry about knowing the
|
|
62
|
-
// current column index. We can just force it to 0.
|
|
63
|
-
hoverCell(rowIndex, 0)(state, dispatch);
|
|
64
|
-
}
|
|
65
|
-
});
|
|
66
|
-
this.state = {
|
|
67
|
-
tableWrapperWidth: 0,
|
|
68
|
-
/** Height needs to be tracked to re-render decorations correctly, do not remove */
|
|
69
|
-
tableWrapperHeight: 0
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
componentDidMount() {
|
|
73
|
-
this.tryInitResizeObserver();
|
|
74
|
-
}
|
|
75
|
-
componentDidUpdate() {
|
|
76
|
-
// tableRef prop is not guaranteed to be defined after componentDidMount, so retry to init resize observer on update
|
|
77
|
-
this.tryInitResizeObserver();
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
// tracking the table height changes to update floating controls
|
|
81
|
-
tryInitResizeObserver() {
|
|
82
|
-
var _window;
|
|
83
|
-
let {
|
|
84
|
-
tableRef
|
|
85
|
-
} = this.props;
|
|
86
|
-
if (tableRef && !this.resizeObserver && (_window = window) !== null && _window !== void 0 && _window.ResizeObserver) {
|
|
87
|
-
const tableWrapper = tableRef.closest(`.${ClassName.TABLE_NODE_WRAPPER}`);
|
|
88
|
-
this.resizeObserver = new ResizeObserver(entries => {
|
|
89
|
-
for (let entry of entries) {
|
|
90
|
-
this.setState(prev => {
|
|
91
|
-
return (prev === null || prev === void 0 ? void 0 : prev.tableWrapperWidth) === entry.contentRect.width && prev.tableWrapperHeight === entry.contentRect.height ? prev : {
|
|
92
|
-
tableWrapperWidth: entry.contentRect.width,
|
|
93
|
-
tableWrapperHeight: entry.contentRect.height
|
|
94
|
-
};
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
});
|
|
98
|
-
this.resizeObserver.observe(tableWrapper);
|
|
8
|
+
export const TableFloatingControls = ({
|
|
9
|
+
editorView,
|
|
10
|
+
tableRef,
|
|
11
|
+
tableNode,
|
|
12
|
+
isInDanger,
|
|
13
|
+
isResizing,
|
|
14
|
+
isNumberColumnEnabled,
|
|
15
|
+
isHeaderRowEnabled,
|
|
16
|
+
isHeaderColumnEnabled,
|
|
17
|
+
tableActive,
|
|
18
|
+
hasHeaderRow,
|
|
19
|
+
hoveredRows,
|
|
20
|
+
stickyHeader,
|
|
21
|
+
isDragAndDropEnabled,
|
|
22
|
+
hoveredCell,
|
|
23
|
+
isTableHovered,
|
|
24
|
+
tableWrapperWidth
|
|
25
|
+
}) => {
|
|
26
|
+
const _selectRow = useCallback((row, expand) => {
|
|
27
|
+
const {
|
|
28
|
+
state,
|
|
29
|
+
dispatch
|
|
30
|
+
} = editorView;
|
|
31
|
+
// fix for issue ED-4665
|
|
32
|
+
if (browser.ie_version === 11) {
|
|
33
|
+
editorView.dom.blur();
|
|
99
34
|
}
|
|
100
|
-
|
|
101
|
-
|
|
35
|
+
selectRow(row, expand)(state, dispatch);
|
|
36
|
+
}, [editorView]);
|
|
37
|
+
const _selectRows = useCallback(rowIndexes => {
|
|
102
38
|
const {
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
selection,
|
|
110
|
-
tableActive,
|
|
111
|
-
isHeaderColumnEnabled,
|
|
112
|
-
ordering,
|
|
113
|
-
headerRowHeight,
|
|
114
|
-
stickyHeader,
|
|
115
|
-
hoveredCell,
|
|
116
|
-
isTableHovered
|
|
117
|
-
} = this.props;
|
|
118
|
-
return this.state.tableWrapperWidth !== nextState.tableWrapperWidth || this.state.tableWrapperHeight !== nextState.tableWrapperHeight || ordering !== nextProps.ordering || tableRef !== nextProps.tableRef || tableActive !== nextProps.tableActive || isInDanger !== nextProps.isInDanger || isResizing !== nextProps.isResizing || hoveredRows !== nextProps.hoveredRows || isHeaderRowEnabled !== nextProps.isHeaderRowEnabled || isHeaderColumnEnabled !== nextProps.isHeaderColumnEnabled || isNumberColumnEnabled !== nextProps.isNumberColumnEnabled || isSelectionUpdated(selection, nextProps.selection) || headerRowHeight !== nextProps.headerRowHeight || stickyHeader !== nextProps.stickyHeader || hoveredCell !== nextProps.hoveredCell || isTableHovered !== nextProps.isTableHovered;
|
|
119
|
-
}
|
|
120
|
-
componentWillUnmount() {
|
|
121
|
-
if (this.resizeObserver) {
|
|
122
|
-
this.resizeObserver.disconnect();
|
|
39
|
+
state,
|
|
40
|
+
dispatch
|
|
41
|
+
} = editorView;
|
|
42
|
+
// fix for issue ED-4665
|
|
43
|
+
if (browser.ie_version === 11) {
|
|
44
|
+
editorView.dom.blur();
|
|
123
45
|
}
|
|
124
|
-
|
|
125
|
-
|
|
46
|
+
selectRows(rowIndexes)(state, dispatch);
|
|
47
|
+
}, [editorView]);
|
|
48
|
+
const _hoverRows = useCallback((rows, danger) => {
|
|
49
|
+
const {
|
|
50
|
+
state,
|
|
51
|
+
dispatch
|
|
52
|
+
} = editorView;
|
|
53
|
+
hoverRows(rows, danger)(state, dispatch);
|
|
54
|
+
}, [editorView]);
|
|
55
|
+
|
|
56
|
+
// re-use across numbered columns and row controls
|
|
57
|
+
const updateCellHoverLocation = useCallback(rowIndex => {
|
|
126
58
|
const {
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
hasHeaderRow,
|
|
137
|
-
hoveredRows,
|
|
138
|
-
stickyHeader,
|
|
139
|
-
isDragAndDropEnabled,
|
|
140
|
-
hoveredCell,
|
|
141
|
-
isTableHovered
|
|
142
|
-
} = this.props;
|
|
143
|
-
if (!tableRef) {
|
|
144
|
-
return null;
|
|
59
|
+
state,
|
|
60
|
+
dispatch
|
|
61
|
+
} = editorView;
|
|
62
|
+
if (tableActive) {
|
|
63
|
+
// For context: Whenever we mouse over a column or row drag handle, we will ALWAYS be hovering over the 0 index
|
|
64
|
+
// of the opposite dimension. For example; here when we mouse over the row drag handle then we're technically
|
|
65
|
+
// also hovering over column 0 index. And vice-versa with columns. This means we don't need to worry about knowing the
|
|
66
|
+
// current column index. We can just force it to 0.
|
|
67
|
+
hoverCell(rowIndex, 0)(state, dispatch);
|
|
145
68
|
}
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
return
|
|
149
|
-
className: wrapperClassName
|
|
150
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
151
|
-
onMouseDown: e => !isDragAndDropEnabled && e.preventDefault()
|
|
152
|
-
}, isNumberColumnEnabled ? /*#__PURE__*/React.createElement(NumberColumn, {
|
|
153
|
-
editorView: editorView,
|
|
154
|
-
hoverRows: this.hoverRows,
|
|
155
|
-
tableRef: tableRef,
|
|
156
|
-
tableActive: tableActive,
|
|
157
|
-
hoveredRows: hoveredRows,
|
|
158
|
-
hasHeaderRow: hasHeaderRow,
|
|
159
|
-
isInDanger: isInDanger,
|
|
160
|
-
isResizing: isResizing,
|
|
161
|
-
selectRow: this.selectRow,
|
|
162
|
-
updateCellHoverLocation: this.updateCellHoverLocation,
|
|
163
|
-
stickyTop: stickyTop,
|
|
164
|
-
isDragAndDropEnabled: isDragAndDropEnabled
|
|
165
|
-
}) : null, tableActive && /*#__PURE__*/React.createElement(React.Fragment, null, isDragAndDropEnabled ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(DragCornerControls, {
|
|
166
|
-
editorView: editorView,
|
|
167
|
-
tableRef: tableRef,
|
|
168
|
-
isInDanger: isInDanger,
|
|
169
|
-
isResizing: isResizing
|
|
170
|
-
}), /*#__PURE__*/React.createElement(DragControls, {
|
|
171
|
-
tableRef: tableRef,
|
|
172
|
-
tableNode: tableNode,
|
|
173
|
-
hoveredCell: hoveredCell,
|
|
174
|
-
isTableHovered: isTableHovered,
|
|
175
|
-
editorView: editorView,
|
|
176
|
-
tableActive: tableActive,
|
|
177
|
-
isInDanger: isInDanger,
|
|
178
|
-
isResizing: isResizing,
|
|
179
|
-
tableWidth: this.state.tableWrapperWidth,
|
|
180
|
-
hoverRows: this.hoverRows,
|
|
181
|
-
selectRow: this.selectRow,
|
|
182
|
-
selectRows: this.selectRows,
|
|
183
|
-
updateCellHoverLocation: this.updateCellHoverLocation
|
|
184
|
-
})) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(CornerControls, {
|
|
185
|
-
editorView: editorView,
|
|
186
|
-
tableRef: tableRef,
|
|
187
|
-
isInDanger: isInDanger,
|
|
188
|
-
isResizing: isResizing,
|
|
189
|
-
isHeaderRowEnabled: isHeaderRowEnabled,
|
|
190
|
-
isHeaderColumnEnabled: isHeaderColumnEnabled,
|
|
191
|
-
hoveredRows: hoveredRows,
|
|
192
|
-
stickyTop: tableActive ? stickyTop : undefined
|
|
193
|
-
}), /*#__PURE__*/React.createElement(RowControls, {
|
|
194
|
-
editorView: editorView,
|
|
195
|
-
tableRef: tableRef,
|
|
196
|
-
hoverRows: this.hoverRows,
|
|
197
|
-
hoveredRows: hoveredRows,
|
|
198
|
-
isInDanger: isInDanger,
|
|
199
|
-
isResizing: isResizing,
|
|
200
|
-
selectRow: this.selectRow,
|
|
201
|
-
stickyTop: tableActive ? stickyTop : undefined
|
|
202
|
-
})))));
|
|
69
|
+
}, [editorView, tableActive]);
|
|
70
|
+
if (!tableRef) {
|
|
71
|
+
return null;
|
|
203
72
|
}
|
|
204
|
-
|
|
205
|
-
|
|
73
|
+
const stickyTop = stickyHeader && stickyHeader.sticky && hasHeaderRow ? stickyHeader.top : undefined;
|
|
74
|
+
const wrapperClassName = isDragAndDropEnabled ? ClassName.DRAG_ROW_CONTROLS_WRAPPER : ClassName.ROW_CONTROLS_WRAPPER;
|
|
75
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
76
|
+
className: wrapperClassName
|
|
77
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
78
|
+
onMouseDown: e => !isDragAndDropEnabled && e.preventDefault()
|
|
79
|
+
}, isNumberColumnEnabled ? /*#__PURE__*/React.createElement(NumberColumn, {
|
|
80
|
+
editorView: editorView,
|
|
81
|
+
hoverRows: _hoverRows,
|
|
82
|
+
tableRef: tableRef,
|
|
83
|
+
tableActive: tableActive,
|
|
84
|
+
hoveredRows: hoveredRows,
|
|
85
|
+
hasHeaderRow: hasHeaderRow,
|
|
86
|
+
isInDanger: isInDanger,
|
|
87
|
+
isResizing: isResizing,
|
|
88
|
+
selectRow: _selectRow,
|
|
89
|
+
updateCellHoverLocation: updateCellHoverLocation,
|
|
90
|
+
stickyTop: stickyTop,
|
|
91
|
+
isDragAndDropEnabled: isDragAndDropEnabled
|
|
92
|
+
}) : null, tableActive && /*#__PURE__*/React.createElement(React.Fragment, null, isDragAndDropEnabled ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(DragCornerControls, {
|
|
93
|
+
editorView: editorView,
|
|
94
|
+
tableRef: tableRef,
|
|
95
|
+
isInDanger: isInDanger,
|
|
96
|
+
isResizing: isResizing
|
|
97
|
+
}), /*#__PURE__*/React.createElement(DragControls, {
|
|
98
|
+
tableRef: tableRef,
|
|
99
|
+
tableNode: tableNode,
|
|
100
|
+
hoveredCell: hoveredCell,
|
|
101
|
+
isTableHovered: isTableHovered,
|
|
102
|
+
editorView: editorView,
|
|
103
|
+
tableActive: tableActive,
|
|
104
|
+
isInDanger: isInDanger,
|
|
105
|
+
isResizing: isResizing,
|
|
106
|
+
tableWidth: tableWrapperWidth,
|
|
107
|
+
hoverRows: _hoverRows,
|
|
108
|
+
selectRow: _selectRow,
|
|
109
|
+
selectRows: _selectRows,
|
|
110
|
+
updateCellHoverLocation: updateCellHoverLocation
|
|
111
|
+
})) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(CornerControls, {
|
|
112
|
+
editorView: editorView,
|
|
113
|
+
tableRef: tableRef,
|
|
114
|
+
isInDanger: isInDanger,
|
|
115
|
+
isResizing: isResizing,
|
|
116
|
+
isHeaderRowEnabled: isHeaderRowEnabled,
|
|
117
|
+
isHeaderColumnEnabled: isHeaderColumnEnabled,
|
|
118
|
+
hoveredRows: hoveredRows,
|
|
119
|
+
stickyTop: tableActive ? stickyTop : undefined
|
|
120
|
+
}), /*#__PURE__*/React.createElement(RowControls, {
|
|
121
|
+
editorView: editorView,
|
|
122
|
+
tableRef: tableRef,
|
|
123
|
+
hoverRows: _hoverRows,
|
|
124
|
+
hoveredRows: hoveredRows,
|
|
125
|
+
isInDanger: isInDanger,
|
|
126
|
+
isResizing: isResizing,
|
|
127
|
+
selectRow: _selectRow,
|
|
128
|
+
stickyTop: tableActive ? stickyTop : undefined
|
|
129
|
+
})))));
|
|
130
|
+
};
|
|
131
|
+
export default TableFloatingControls;
|
|
@@ -2,7 +2,7 @@ import { maphElem } from '@atlaskit/editor-common/utils';
|
|
|
2
2
|
import { findDomRefAtPos } from '@atlaskit/editor-prosemirror/utils';
|
|
3
3
|
import { CellSelection } from '@atlaskit/editor-tables/cell-selection';
|
|
4
4
|
import { TableMap } from '@atlaskit/editor-tables/table-map';
|
|
5
|
-
import { findTable,
|
|
5
|
+
import { findTable, getSelectionRect, isColumnSelected, isTableSelected } from '@atlaskit/editor-tables/utils';
|
|
6
6
|
import { TableCssClassName as ClassName } from '../types';
|
|
7
7
|
import { tableDeleteButtonSize } from '../ui/consts';
|
|
8
8
|
export const getColumnsWidths = view => {
|
|
@@ -20,13 +20,13 @@ export const getColumnsWidths = view => {
|
|
|
20
20
|
length: map.width
|
|
21
21
|
});
|
|
22
22
|
for (let i = 0; i < map.width; i++) {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
const cellRef = findDomRefAtPos(
|
|
23
|
+
if (!map.isCellMergedTopLeft(0, i)) {
|
|
24
|
+
const node = table.node.nodeAt(map.map[i]);
|
|
25
|
+
const pos = map.map[i] + table.start;
|
|
26
|
+
const cellRef = findDomRefAtPos(pos, domAtPos);
|
|
27
27
|
const rect = cellRef.getBoundingClientRect();
|
|
28
28
|
widths[i] = (rect ? rect.width : cellRef.offsetWidth) + 1;
|
|
29
|
-
i +=
|
|
29
|
+
i += node.attrs.colspan - 1;
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
}
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
import { createTable } from '@atlaskit/editor-tables/utils';
|
|
2
2
|
import { TABLE_MAX_WIDTH } from '../pm-plugins/table-resizing/utils';
|
|
3
|
-
export const createTableWithWidth = (
|
|
4
|
-
|
|
5
|
-
tablePreserveWidth = false
|
|
6
|
-
} = (getEditorFeatureFlags === null || getEditorFeatureFlags === void 0 ? void 0 : getEditorFeatureFlags()) || {};
|
|
7
|
-
if (tablePreserveWidth && isFullWidthModeEnabled) {
|
|
3
|
+
export const createTableWithWidth = (isTableScalingEnabled, isFullWidthModeEnabled, createTableProps) => schema => {
|
|
4
|
+
if (isTableScalingEnabled && isFullWidthModeEnabled) {
|
|
8
5
|
return createTable({
|
|
9
6
|
schema,
|
|
10
7
|
tableWidth: TABLE_MAX_WIDTH,
|
package/dist/es2019/utils/dom.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { closestElement, containsClassName } from '@atlaskit/editor-common/utils';
|
|
2
2
|
import { TableCssClassName as ClassName } from '../types';
|
|
3
|
-
const SELECTOR_TABLE_LEAFS = `.${ClassName.TABLE_CELL}, .${ClassName.TABLE_HEADER_CELL}`;
|
|
4
3
|
export const isCell = node => {
|
|
5
4
|
return Boolean(node && (['TH', 'TD'].indexOf(node.tagName) > -1 || !!closestElement(node, `.${ClassName.TABLE_HEADER_CELL}`) || !!closestElement(node, `.${ClassName.TABLE_CELL}`)));
|
|
6
5
|
};
|
|
@@ -72,22 +71,21 @@ export const isDragCornerButton = node => containsClassName(node, ClassName.DRAG
|
|
|
72
71
|
*
|
|
73
72
|
* the same is valid to the right side.
|
|
74
73
|
*/
|
|
75
|
-
|
|
76
|
-
|
|
74
|
+
/**
|
|
75
|
+
* This can be used with mouse events to determine the left/right side of the target the pointer is closest too.
|
|
76
|
+
*
|
|
77
|
+
* WARNING: This metod reads properties which can trigger a reflow; use this wisely.
|
|
78
|
+
*
|
|
79
|
+
* @param mouseEvent
|
|
80
|
+
* @param gapInPixels
|
|
81
|
+
* @returns
|
|
82
|
+
*/
|
|
83
|
+
export const getMousePositionHorizontalRelativeByElement = (mouseEvent, offsetX, gapInPixels) => {
|
|
77
84
|
const element = mouseEvent.target;
|
|
78
85
|
if (element instanceof HTMLElement) {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
// directly from element that will be .pm-table-drag-columns-floating-insert-dot-wrapper
|
|
83
|
-
width = element.clientWidth;
|
|
84
|
-
} else {
|
|
85
|
-
var _closestCell$id, _elementContentRects$, _elementContentRects$2;
|
|
86
|
-
const closestCell = element.closest(SELECTOR_TABLE_LEAFS);
|
|
87
|
-
const id = (_closestCell$id = closestCell === null || closestCell === void 0 ? void 0 : closestCell.id) !== null && _closestCell$id !== void 0 ? _closestCell$id : '';
|
|
88
|
-
width = (_elementContentRects$ = elementContentRects === null || elementContentRects === void 0 ? void 0 : (_elementContentRects$2 = elementContentRects[id]) === null || _elementContentRects$2 === void 0 ? void 0 : _elementContentRects$2.width) !== null && _elementContentRects$ !== void 0 ? _elementContentRects$ : 0;
|
|
89
|
-
}
|
|
90
|
-
x = mouseEvent.offsetX;
|
|
86
|
+
const width = element.clientWidth; // reflow
|
|
87
|
+
const x = !Number.isNaN(offsetX) ? offsetX : mouseEvent.offsetX; // reflow
|
|
88
|
+
|
|
91
89
|
if (width <= 0) {
|
|
92
90
|
return null;
|
|
93
91
|
}
|
|
@@ -58,7 +58,7 @@ const defaultSelectionRect = {
|
|
|
58
58
|
right: 0,
|
|
59
59
|
bottom: 0
|
|
60
60
|
};
|
|
61
|
-
export const getDragMenuConfig = (direction, getEditorContainerWidth, canDrag, hasMergedCellsInTable, editorView, tableMap, index, targetCellPosition, selectionRect, editorAnalyticsAPI, isHeaderRowRequired,
|
|
61
|
+
export const getDragMenuConfig = (direction, getEditorContainerWidth, canDrag, hasMergedCellsInTable, editorView, tableMap, index, targetCellPosition, selectionRect, editorAnalyticsAPI, isHeaderRowRequired, isTableScalingEnabled = false) => {
|
|
62
62
|
var _tableMap$height, _tableMap$height2, _tableMap$width, _tableMap$width2;
|
|
63
63
|
const addOptions = direction === 'row' ? [{
|
|
64
64
|
label: 'above',
|
|
@@ -138,7 +138,7 @@ export const getDragMenuConfig = (direction, getEditorContainerWidth, canDrag, h
|
|
|
138
138
|
moveCursorToInsertedRow: true
|
|
139
139
|
})(state, dispatch);
|
|
140
140
|
} else {
|
|
141
|
-
insertColumnWithAnalytics(
|
|
141
|
+
insertColumnWithAnalytics(editorAnalyticsAPI, isTableScalingEnabled)(INPUT_METHOD.TABLE_CONTEXT_MENU, (index !== null && index !== void 0 ? index : 0) + offset)(state, dispatch, editorView);
|
|
142
142
|
}
|
|
143
143
|
return true;
|
|
144
144
|
},
|
|
@@ -150,7 +150,7 @@ export const getDragMenuConfig = (direction, getEditorContainerWidth, canDrag, h
|
|
|
150
150
|
onClick: (state, dispatch) => {
|
|
151
151
|
const selectionRect = getClosestSelectionRect(state);
|
|
152
152
|
if (selectionRect) {
|
|
153
|
-
const newResizeState = getNewResizeStateFromSelectedColumns(selectionRect, state, editorView.domAtPos.bind(editorView), getEditorContainerWidth,
|
|
153
|
+
const newResizeState = getNewResizeStateFromSelectedColumns(selectionRect, state, editorView.domAtPos.bind(editorView), getEditorContainerWidth, isTableScalingEnabled);
|
|
154
154
|
if (newResizeState) {
|
|
155
155
|
distributeColumnsWidthsWithAnalytics(editorAnalyticsAPI)(INPUT_METHOD.TABLE_CONTEXT_MENU, newResizeState)(state, dispatch);
|
|
156
156
|
return true;
|
|
@@ -176,7 +176,7 @@ export const getDragMenuConfig = (direction, getEditorContainerWidth, canDrag, h
|
|
|
176
176
|
if (direction === 'row') {
|
|
177
177
|
deleteRowsWithAnalytics(editorAnalyticsAPI)(INPUT_METHOD.TABLE_CONTEXT_MENU, selectionRect !== null && selectionRect !== void 0 ? selectionRect : defaultSelectionRect, !!isHeaderRowRequired)(state, dispatch);
|
|
178
178
|
} else {
|
|
179
|
-
deleteColumnsWithAnalytics(editorAnalyticsAPI,
|
|
179
|
+
deleteColumnsWithAnalytics(editorAnalyticsAPI, isTableScalingEnabled)(INPUT_METHOD.TABLE_CONTEXT_MENU, selectionRect !== null && selectionRect !== void 0 ? selectionRect : defaultSelectionRect)(state, dispatch, editorView);
|
|
180
180
|
}
|
|
181
181
|
return true;
|
|
182
182
|
},
|
|
@@ -122,7 +122,7 @@ export var activateNextResizeArea = function activateNextResizeArea(direction) {
|
|
|
122
122
|
};
|
|
123
123
|
};
|
|
124
124
|
export var changeColumnWidthByStep = function changeColumnWidthByStep(stepSize, getEditorContainerWidth) {
|
|
125
|
-
var
|
|
125
|
+
var isTableScalingEnabled = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
126
126
|
return function (state, dispatch, view) {
|
|
127
127
|
var customTr = state.tr;
|
|
128
128
|
var fakeDispatch = function fakeDispatch(tr) {
|
|
@@ -172,14 +172,14 @@ export var changeColumnWidthByStep = function changeColumnWidthByStep(stepSize,
|
|
|
172
172
|
tableRef: dom,
|
|
173
173
|
start: tableStartPosition,
|
|
174
174
|
domAtPos: domAtPos,
|
|
175
|
-
|
|
175
|
+
isTableScalingEnabled: isTableScalingEnabled
|
|
176
176
|
});
|
|
177
177
|
updateControls()(state);
|
|
178
178
|
var selectionRect = getSelectionRect(state.selection);
|
|
179
179
|
var selectedColumns = selectionRect ? getSelectedColumnIndexes(selectionRect) : [];
|
|
180
180
|
// only selected (or selected - 1) columns should be distributed
|
|
181
181
|
var resizingSelectedColumns = selectedColumns.indexOf(colIndex) > -1 || selectedColumns.indexOf(colIndex + 1) > -1;
|
|
182
|
-
var newResizeState = resizeColumn(initialResizeState, colIndex, stepSize, dom, resizingSelectedColumns ? selectedColumns : undefined,
|
|
182
|
+
var newResizeState = resizeColumn(initialResizeState, colIndex, stepSize, dom, originalTable, resizingSelectedColumns ? selectedColumns : undefined, isTableScalingEnabled);
|
|
183
183
|
customTr = updateColumnWidths(newResizeState, originalTable, tableStartPosition)(customTr);
|
|
184
184
|
if (dispatch) {
|
|
185
185
|
dispatch(customTr);
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { deleteColumns } from '../transforms/delete-columns';
|
|
2
2
|
import { getAllowAddColumnCustomStep } from '../utils/get-allow-add-column-custom-step';
|
|
3
3
|
export var deleteColumnsCommand = function deleteColumnsCommand(rect) {
|
|
4
|
-
var
|
|
4
|
+
var isTableScalingEnabled = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
5
5
|
return function (state, dispatch, view) {
|
|
6
|
-
var tr = deleteColumns(rect, getAllowAddColumnCustomStep(state), view,
|
|
6
|
+
var tr = deleteColumns(rect, getAllowAddColumnCustomStep(state), view, isTableScalingEnabled)(state.tr);
|
|
7
7
|
if (dispatch) {
|
|
8
8
|
dispatch(tr);
|
|
9
9
|
return true;
|
|
@@ -20,8 +20,8 @@ function addColumnAtCustomStep(column) {
|
|
|
20
20
|
return tr;
|
|
21
21
|
};
|
|
22
22
|
}
|
|
23
|
-
export function addColumnAt(
|
|
24
|
-
var
|
|
23
|
+
export function addColumnAt() {
|
|
24
|
+
var isTableScalingEnabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
25
25
|
return function (column) {
|
|
26
26
|
var allowAddColumnCustomStep = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
27
27
|
var view = arguments.length > 2 ? arguments[2] : undefined;
|
|
@@ -35,7 +35,7 @@ export function addColumnAt(getEditorContainerWidth) {
|
|
|
35
35
|
var table = findTable(updatedTr.selection);
|
|
36
36
|
if (table) {
|
|
37
37
|
// [ED-8288] Update colwidths manually to avoid multiple dispatch in TableComponent
|
|
38
|
-
updatedTr = rescaleColumns(
|
|
38
|
+
updatedTr = rescaleColumns(isTableScalingEnabled)(table, view)(updatedTr);
|
|
39
39
|
}
|
|
40
40
|
if (getBooleanFF('platform.editor.table.analytics-plugin-moved-event') && view) {
|
|
41
41
|
updatedTr = updateRowOrColumnMovedTransform({
|
|
@@ -52,8 +52,8 @@ export function addColumnAt(getEditorContainerWidth) {
|
|
|
52
52
|
|
|
53
53
|
// :: (EditorState, dispatch: ?(tr: Transaction)) → bool
|
|
54
54
|
// Command to add a column before the column with the selection.
|
|
55
|
-
export var addColumnBefore = function addColumnBefore(
|
|
56
|
-
var
|
|
55
|
+
export var addColumnBefore = function addColumnBefore() {
|
|
56
|
+
var isTableScalingEnabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
57
57
|
return function (state, dispatch, view) {
|
|
58
58
|
var table = findTable(state.selection);
|
|
59
59
|
if (!table) {
|
|
@@ -61,7 +61,7 @@ export var addColumnBefore = function addColumnBefore(getEditorContainerWidth) {
|
|
|
61
61
|
}
|
|
62
62
|
if (dispatch) {
|
|
63
63
|
var rect = selectedRect(state);
|
|
64
|
-
dispatch(addColumnAt(
|
|
64
|
+
dispatch(addColumnAt(isTableScalingEnabled)(rect.left, getAllowAddColumnCustomStep(state), view)(state.tr));
|
|
65
65
|
}
|
|
66
66
|
return true;
|
|
67
67
|
};
|
|
@@ -69,7 +69,7 @@ export var addColumnBefore = function addColumnBefore(getEditorContainerWidth) {
|
|
|
69
69
|
|
|
70
70
|
// :: (EditorState, dispatch: ?(tr: Transaction)) → bool
|
|
71
71
|
// Command to add a column after the column with the selection.
|
|
72
|
-
export var addColumnAfter = function addColumnAfter(
|
|
72
|
+
export var addColumnAfter = function addColumnAfter(isTableScalingEnabled) {
|
|
73
73
|
return function (state, dispatch, view) {
|
|
74
74
|
var table = findTable(state.selection);
|
|
75
75
|
if (!table) {
|
|
@@ -77,16 +77,16 @@ export var addColumnAfter = function addColumnAfter(getEditorContainerWidth) {
|
|
|
77
77
|
}
|
|
78
78
|
if (dispatch) {
|
|
79
79
|
var rect = selectedRect(state);
|
|
80
|
-
dispatch(addColumnAt(
|
|
80
|
+
dispatch(addColumnAt(isTableScalingEnabled)(rect.right, getAllowAddColumnCustomStep(state), view)(state.tr));
|
|
81
81
|
}
|
|
82
82
|
return true;
|
|
83
83
|
};
|
|
84
84
|
};
|
|
85
|
-
export var insertColumn = function insertColumn(
|
|
86
|
-
var
|
|
85
|
+
export var insertColumn = function insertColumn() {
|
|
86
|
+
var isTableScalingEnabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
87
87
|
return function (column) {
|
|
88
88
|
return function (state, dispatch, view) {
|
|
89
|
-
var tr = addColumnAt(
|
|
89
|
+
var tr = addColumnAt(isTableScalingEnabled)(column, getAllowAddColumnCustomStep(state), view)(state.tr);
|
|
90
90
|
var table = findTable(tr.selection);
|
|
91
91
|
if (!table) {
|
|
92
92
|
return false;
|
|
@@ -135,20 +135,20 @@ export var insertRow = function insertRow(row, moveCursorToTheNewRow) {
|
|
|
135
135
|
return true;
|
|
136
136
|
};
|
|
137
137
|
};
|
|
138
|
-
export var createTable = function createTable(
|
|
138
|
+
export var createTable = function createTable(isTableScalingEnabled, isFullWidthModeEnabled) {
|
|
139
139
|
return function (state, dispatch) {
|
|
140
|
-
var table = createTableWithWidth(
|
|
140
|
+
var table = createTableWithWidth(isTableScalingEnabled, isFullWidthModeEnabled)(state.schema);
|
|
141
141
|
if (dispatch) {
|
|
142
142
|
dispatch(safeInsert(table)(state.tr).scrollIntoView());
|
|
143
143
|
}
|
|
144
144
|
return true;
|
|
145
145
|
};
|
|
146
146
|
};
|
|
147
|
-
export var insertTableWithSize = function insertTableWithSize(isFullWidthModeEnabled,
|
|
147
|
+
export var insertTableWithSize = function insertTableWithSize(isFullWidthModeEnabled, isTableScalingEnabled, editorAnalyticsAPI) {
|
|
148
148
|
return function (rowsCount, colsCount, inputMethod) {
|
|
149
149
|
return function (_ref) {
|
|
150
150
|
var tr = _ref.tr;
|
|
151
|
-
var tableNode = createTableWithWidth(
|
|
151
|
+
var tableNode = createTableWithWidth(isTableScalingEnabled, isFullWidthModeEnabled, {
|
|
152
152
|
rowsCount: rowsCount,
|
|
153
153
|
colsCount: colsCount
|
|
154
154
|
})(tr.doc.type.schema);
|
|
@@ -184,7 +184,7 @@ export var insertRowWithAnalytics = function insertRowWithAnalytics(editorAnalyt
|
|
|
184
184
|
};
|
|
185
185
|
};
|
|
186
186
|
export var changeColumnWidthByStepWithAnalytics = function changeColumnWidthByStepWithAnalytics(editorAnalyticsAPI) {
|
|
187
|
-
return function (stepSize, getEditorContainerWidth,
|
|
187
|
+
return function (stepSize, getEditorContainerWidth, isTableScalingEnabled, inputMethod) {
|
|
188
188
|
return withEditorAnalyticsAPI(function (state) {
|
|
189
189
|
var _getSelectedTableInfo2 = getSelectedTableInfo(state.selection),
|
|
190
190
|
table = _getSelectedTableInfo2.table,
|
|
@@ -206,11 +206,11 @@ export var changeColumnWidthByStepWithAnalytics = function changeColumnWidthBySt
|
|
|
206
206
|
totalColumnCount: totalColumnCount
|
|
207
207
|
}
|
|
208
208
|
};
|
|
209
|
-
})(editorAnalyticsAPI)(changeColumnWidthByStep(stepSize, getEditorContainerWidth,
|
|
209
|
+
})(editorAnalyticsAPI)(changeColumnWidthByStep(stepSize, getEditorContainerWidth, isTableScalingEnabled));
|
|
210
210
|
};
|
|
211
211
|
};
|
|
212
|
-
export var insertColumnWithAnalytics = function insertColumnWithAnalytics(
|
|
213
|
-
var
|
|
212
|
+
export var insertColumnWithAnalytics = function insertColumnWithAnalytics(editorAnalyticsAPI) {
|
|
213
|
+
var isTableScalingEnabled = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
214
214
|
return function (inputMethod, position) {
|
|
215
215
|
return withEditorAnalyticsAPI(function (state) {
|
|
216
216
|
var _getSelectedTableInfo3 = getSelectedTableInfo(state.selection),
|
|
@@ -228,7 +228,7 @@ export var insertColumnWithAnalytics = function insertColumnWithAnalytics(getEdi
|
|
|
228
228
|
},
|
|
229
229
|
eventType: EVENT_TYPE.TRACK
|
|
230
230
|
};
|
|
231
|
-
})(editorAnalyticsAPI)(insertColumn(
|
|
231
|
+
})(editorAnalyticsAPI)(insertColumn(isTableScalingEnabled)(position));
|
|
232
232
|
};
|
|
233
233
|
};
|
|
234
234
|
export var deleteRowsWithAnalytics = function deleteRowsWithAnalytics(editorAnalyticsAPI) {
|
|
@@ -260,7 +260,7 @@ export var deleteRowsWithAnalytics = function deleteRowsWithAnalytics(editorAnal
|
|
|
260
260
|
};
|
|
261
261
|
};
|
|
262
262
|
export var deleteColumnsWithAnalytics = function deleteColumnsWithAnalytics(editorAnalyticsAPI) {
|
|
263
|
-
var
|
|
263
|
+
var isTableScalingEnabled = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
264
264
|
return function (inputMethod, rect) {
|
|
265
265
|
return withEditorAnalyticsAPI(function (_ref6) {
|
|
266
266
|
var selection = _ref6.selection;
|
|
@@ -280,7 +280,7 @@ export var deleteColumnsWithAnalytics = function deleteColumnsWithAnalytics(edit
|
|
|
280
280
|
},
|
|
281
281
|
eventType: EVENT_TYPE.TRACK
|
|
282
282
|
};
|
|
283
|
-
})(editorAnalyticsAPI)(deleteColumnsCommand(rect,
|
|
283
|
+
})(editorAnalyticsAPI)(deleteColumnsCommand(rect, isTableScalingEnabled));
|
|
284
284
|
};
|
|
285
285
|
};
|
|
286
286
|
export var deleteSelectedRowsOrColumnsWithAnalyticsViaShortcut = function deleteSelectedRowsOrColumnsWithAnalyticsViaShortcut(editorAnalyticsAPI) {
|