@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.
Files changed (236) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/cjs/commands/column-resize.js +3 -3
  3. package/dist/cjs/commands/delete.js +2 -2
  4. package/dist/cjs/commands/insert.js +15 -15
  5. package/dist/cjs/commands-with-analytics.js +7 -7
  6. package/dist/cjs/event-handlers.js +27 -11
  7. package/dist/cjs/nodeviews/OverflowShadowsObserver.js +24 -15
  8. package/dist/cjs/nodeviews/TableCell.js +5 -30
  9. package/dist/cjs/nodeviews/TableComponent.js +120 -83
  10. package/dist/cjs/nodeviews/TableContainer.js +23 -21
  11. package/dist/cjs/nodeviews/TableResizer.js +13 -13
  12. package/dist/cjs/nodeviews/table.js +9 -9
  13. package/dist/cjs/plugin.js +60 -59
  14. package/dist/cjs/pm-plugins/drag-and-drop/plugin.js +13 -13
  15. package/dist/cjs/pm-plugins/keymap.js +6 -8
  16. package/dist/cjs/pm-plugins/main.js +7 -24
  17. package/dist/cjs/pm-plugins/sticky-headers/plugin.js +2 -3
  18. package/dist/cjs/pm-plugins/table-resizing/event-handlers.js +12 -12
  19. package/dist/cjs/pm-plugins/table-resizing/utils/colgroup.js +2 -2
  20. package/dist/cjs/pm-plugins/table-resizing/utils/consts.js +4 -2
  21. package/dist/cjs/pm-plugins/table-resizing/utils/index.js +2 -2
  22. package/dist/cjs/pm-plugins/table-resizing/utils/misc.js +3 -3
  23. package/dist/cjs/pm-plugins/table-resizing/utils/resize-column.js +3 -3
  24. package/dist/cjs/pm-plugins/table-resizing/utils/resize-state.js +11 -12
  25. package/dist/cjs/pm-plugins/table-resizing/utils/scale-table.js +13 -13
  26. package/dist/cjs/pm-plugins/table-width.js +6 -2
  27. package/dist/cjs/toolbar.js +21 -21
  28. package/dist/cjs/transforms/column-width.js +4 -4
  29. package/dist/cjs/transforms/delete-columns.js +2 -2
  30. package/dist/cjs/ui/FloatingContextualMenu/ContextualMenu.js +53 -55
  31. package/dist/cjs/ui/FloatingContextualMenu/index.js +2 -4
  32. package/dist/cjs/ui/FloatingDragMenu/DragMenu.js +2 -2
  33. package/dist/cjs/ui/FloatingDragMenu/index.js +6 -6
  34. package/dist/cjs/ui/FloatingInsertButton/index.js +6 -7
  35. package/dist/cjs/ui/TableFloatingColumnControls/index.js +8 -48
  36. package/dist/cjs/ui/TableFloatingControls/index.js +113 -223
  37. package/dist/cjs/utils/column-controls.js +5 -5
  38. package/dist/cjs/utils/create.js +2 -5
  39. package/dist/cjs/utils/dom.js +13 -15
  40. package/dist/cjs/utils/drag-menu.js +4 -4
  41. package/dist/es2019/commands/column-resize.js +3 -3
  42. package/dist/es2019/commands/delete.js +2 -2
  43. package/dist/es2019/commands/insert.js +12 -12
  44. package/dist/es2019/commands-with-analytics.js +6 -6
  45. package/dist/es2019/event-handlers.js +27 -11
  46. package/dist/es2019/nodeviews/OverflowShadowsObserver.js +24 -15
  47. package/dist/es2019/nodeviews/TableCell.js +1 -24
  48. package/dist/es2019/nodeviews/TableComponent.js +88 -63
  49. package/dist/es2019/nodeviews/TableContainer.js +20 -22
  50. package/dist/es2019/nodeviews/TableResizer.js +13 -13
  51. package/dist/es2019/nodeviews/table.js +9 -9
  52. package/dist/es2019/plugin.js +19 -20
  53. package/dist/es2019/pm-plugins/drag-and-drop/plugin.js +6 -6
  54. package/dist/es2019/pm-plugins/keymap.js +5 -8
  55. package/dist/es2019/pm-plugins/main.js +6 -23
  56. package/dist/es2019/pm-plugins/sticky-headers/plugin.js +1 -1
  57. package/dist/es2019/pm-plugins/table-resizing/event-handlers.js +5 -5
  58. package/dist/es2019/pm-plugins/table-resizing/utils/colgroup.js +2 -2
  59. package/dist/es2019/pm-plugins/table-resizing/utils/consts.js +3 -1
  60. package/dist/es2019/pm-plugins/table-resizing/utils/index.js +1 -1
  61. package/dist/es2019/pm-plugins/table-resizing/utils/misc.js +2 -2
  62. package/dist/es2019/pm-plugins/table-resizing/utils/resize-column.js +3 -2
  63. package/dist/es2019/pm-plugins/table-resizing/utils/resize-state.js +12 -13
  64. package/dist/es2019/pm-plugins/table-resizing/utils/scale-table.js +13 -13
  65. package/dist/es2019/pm-plugins/table-width.js +6 -2
  66. package/dist/es2019/toolbar.js +15 -15
  67. package/dist/es2019/transforms/column-width.js +5 -5
  68. package/dist/es2019/transforms/delete-columns.js +2 -2
  69. package/dist/es2019/ui/FloatingContextualMenu/ContextualMenu.js +9 -12
  70. package/dist/es2019/ui/FloatingContextualMenu/index.js +2 -4
  71. package/dist/es2019/ui/FloatingDragMenu/DragMenu.js +2 -2
  72. package/dist/es2019/ui/FloatingDragMenu/index.js +5 -5
  73. package/dist/es2019/ui/FloatingInsertButton/index.js +5 -6
  74. package/dist/es2019/ui/TableFloatingColumnControls/index.js +5 -27
  75. package/dist/es2019/ui/TableFloatingControls/index.js +119 -193
  76. package/dist/es2019/utils/column-controls.js +6 -6
  77. package/dist/es2019/utils/create.js +2 -5
  78. package/dist/es2019/utils/dom.js +13 -15
  79. package/dist/es2019/utils/drag-menu.js +4 -4
  80. package/dist/esm/commands/column-resize.js +3 -3
  81. package/dist/esm/commands/delete.js +2 -2
  82. package/dist/esm/commands/insert.js +15 -15
  83. package/dist/esm/commands-with-analytics.js +7 -7
  84. package/dist/esm/event-handlers.js +27 -11
  85. package/dist/esm/nodeviews/OverflowShadowsObserver.js +24 -15
  86. package/dist/esm/nodeviews/TableCell.js +5 -30
  87. package/dist/esm/nodeviews/TableComponent.js +119 -82
  88. package/dist/esm/nodeviews/TableContainer.js +24 -22
  89. package/dist/esm/nodeviews/TableResizer.js +13 -13
  90. package/dist/esm/nodeviews/table.js +9 -9
  91. package/dist/esm/plugin.js +60 -59
  92. package/dist/esm/pm-plugins/drag-and-drop/plugin.js +13 -13
  93. package/dist/esm/pm-plugins/keymap.js +6 -8
  94. package/dist/esm/pm-plugins/main.js +7 -24
  95. package/dist/esm/pm-plugins/sticky-headers/plugin.js +2 -3
  96. package/dist/esm/pm-plugins/table-resizing/event-handlers.js +12 -12
  97. package/dist/esm/pm-plugins/table-resizing/utils/colgroup.js +2 -2
  98. package/dist/esm/pm-plugins/table-resizing/utils/consts.js +3 -1
  99. package/dist/esm/pm-plugins/table-resizing/utils/index.js +1 -1
  100. package/dist/esm/pm-plugins/table-resizing/utils/misc.js +2 -2
  101. package/dist/esm/pm-plugins/table-resizing/utils/resize-column.js +4 -3
  102. package/dist/esm/pm-plugins/table-resizing/utils/resize-state.js +13 -14
  103. package/dist/esm/pm-plugins/table-resizing/utils/scale-table.js +13 -13
  104. package/dist/esm/pm-plugins/table-width.js +6 -2
  105. package/dist/esm/toolbar.js +21 -21
  106. package/dist/esm/transforms/column-width.js +5 -5
  107. package/dist/esm/transforms/delete-columns.js +2 -2
  108. package/dist/esm/ui/FloatingContextualMenu/ContextualMenu.js +53 -55
  109. package/dist/esm/ui/FloatingContextualMenu/index.js +2 -4
  110. package/dist/esm/ui/FloatingDragMenu/DragMenu.js +2 -2
  111. package/dist/esm/ui/FloatingDragMenu/index.js +6 -6
  112. package/dist/esm/ui/FloatingInsertButton/index.js +6 -7
  113. package/dist/esm/ui/TableFloatingColumnControls/index.js +8 -48
  114. package/dist/esm/ui/TableFloatingControls/index.js +113 -224
  115. package/dist/esm/utils/column-controls.js +6 -6
  116. package/dist/esm/utils/create.js +2 -5
  117. package/dist/esm/utils/dom.js +13 -15
  118. package/dist/esm/utils/drag-menu.js +4 -4
  119. package/dist/types/commands/column-resize.d.ts +1 -1
  120. package/dist/types/commands/delete.d.ts +1 -1
  121. package/dist/types/commands/insert.d.ts +7 -7
  122. package/dist/types/commands-with-analytics.d.ts +3 -3
  123. package/dist/types/event-handlers.d.ts +4 -5
  124. package/dist/types/nodeviews/OverflowShadowsObserver.d.ts +3 -1
  125. package/dist/types/nodeviews/TableCell.d.ts +1 -5
  126. package/dist/types/nodeviews/TableComponent.d.ts +6 -3
  127. package/dist/types/nodeviews/TableContainer.d.ts +6 -4
  128. package/dist/types/nodeviews/TableResizer.d.ts +2 -2
  129. package/dist/types/nodeviews/table.d.ts +1 -1
  130. package/dist/types/nodeviews/types.d.ts +1 -0
  131. package/dist/types/plugin.d.ts +1 -0
  132. package/dist/types/pm-plugins/drag-and-drop/plugin.d.ts +1 -2
  133. package/dist/types/pm-plugins/keymap.d.ts +2 -2
  134. package/dist/types/pm-plugins/main.d.ts +1 -1
  135. package/dist/types/pm-plugins/sticky-headers/plugin.d.ts +2 -3
  136. package/dist/types/pm-plugins/table-resizing/utils/colgroup.d.ts +1 -1
  137. package/dist/types/pm-plugins/table-resizing/utils/consts.d.ts +1 -0
  138. package/dist/types/pm-plugins/table-resizing/utils/index.d.ts +1 -1
  139. package/dist/types/pm-plugins/table-resizing/utils/misc.d.ts +1 -1
  140. package/dist/types/pm-plugins/table-resizing/utils/resize-column.d.ts +2 -1
  141. package/dist/types/pm-plugins/table-resizing/utils/resize-state.d.ts +4 -4
  142. package/dist/types/pm-plugins/table-resizing/utils/scale-table.d.ts +4 -4
  143. package/dist/types/pm-plugins/table-width.d.ts +1 -2
  144. package/dist/types/toolbar.d.ts +2 -2
  145. package/dist/types/transforms/column-width.d.ts +1 -1
  146. package/dist/types/transforms/delete-columns.d.ts +1 -1
  147. package/dist/types/types.d.ts +1 -3
  148. package/dist/types/ui/FloatingContextualMenu/index.d.ts +1 -1
  149. package/dist/types/ui/FloatingDragMenu/DragMenu.d.ts +2 -2
  150. package/dist/types/ui/FloatingDragMenu/index.d.ts +2 -3
  151. package/dist/types/ui/FloatingInsertButton/index.d.ts +1 -2
  152. package/dist/types/ui/TableFloatingColumnControls/index.d.ts +2 -1
  153. package/dist/types/ui/TableFloatingControls/index.d.ts +5 -22
  154. package/dist/types/utils/create.d.ts +1 -2
  155. package/dist/types/utils/dom.d.ts +10 -2
  156. package/dist/types/utils/drag-menu.d.ts +1 -1
  157. package/dist/types-ts4.5/commands/column-resize.d.ts +1 -1
  158. package/dist/types-ts4.5/commands/delete.d.ts +1 -1
  159. package/dist/types-ts4.5/commands/insert.d.ts +7 -7
  160. package/dist/types-ts4.5/commands-with-analytics.d.ts +3 -3
  161. package/dist/types-ts4.5/event-handlers.d.ts +4 -5
  162. package/dist/types-ts4.5/nodeviews/OverflowShadowsObserver.d.ts +3 -1
  163. package/dist/types-ts4.5/nodeviews/TableCell.d.ts +1 -5
  164. package/dist/types-ts4.5/nodeviews/TableComponent.d.ts +6 -3
  165. package/dist/types-ts4.5/nodeviews/TableContainer.d.ts +6 -4
  166. package/dist/types-ts4.5/nodeviews/TableResizer.d.ts +2 -2
  167. package/dist/types-ts4.5/nodeviews/table.d.ts +1 -1
  168. package/dist/types-ts4.5/nodeviews/types.d.ts +1 -0
  169. package/dist/types-ts4.5/plugin.d.ts +1 -0
  170. package/dist/types-ts4.5/pm-plugins/drag-and-drop/plugin.d.ts +1 -2
  171. package/dist/types-ts4.5/pm-plugins/keymap.d.ts +2 -2
  172. package/dist/types-ts4.5/pm-plugins/main.d.ts +1 -1
  173. package/dist/types-ts4.5/pm-plugins/sticky-headers/plugin.d.ts +2 -3
  174. package/dist/types-ts4.5/pm-plugins/table-resizing/utils/colgroup.d.ts +1 -1
  175. package/dist/types-ts4.5/pm-plugins/table-resizing/utils/consts.d.ts +1 -0
  176. package/dist/types-ts4.5/pm-plugins/table-resizing/utils/index.d.ts +1 -1
  177. package/dist/types-ts4.5/pm-plugins/table-resizing/utils/misc.d.ts +1 -1
  178. package/dist/types-ts4.5/pm-plugins/table-resizing/utils/resize-column.d.ts +2 -1
  179. package/dist/types-ts4.5/pm-plugins/table-resizing/utils/resize-state.d.ts +4 -4
  180. package/dist/types-ts4.5/pm-plugins/table-resizing/utils/scale-table.d.ts +4 -4
  181. package/dist/types-ts4.5/pm-plugins/table-width.d.ts +1 -2
  182. package/dist/types-ts4.5/toolbar.d.ts +2 -2
  183. package/dist/types-ts4.5/transforms/column-width.d.ts +1 -1
  184. package/dist/types-ts4.5/transforms/delete-columns.d.ts +1 -1
  185. package/dist/types-ts4.5/types.d.ts +1 -3
  186. package/dist/types-ts4.5/ui/FloatingContextualMenu/index.d.ts +1 -1
  187. package/dist/types-ts4.5/ui/FloatingDragMenu/DragMenu.d.ts +2 -2
  188. package/dist/types-ts4.5/ui/FloatingDragMenu/index.d.ts +2 -3
  189. package/dist/types-ts4.5/ui/FloatingInsertButton/index.d.ts +1 -2
  190. package/dist/types-ts4.5/ui/TableFloatingColumnControls/index.d.ts +2 -1
  191. package/dist/types-ts4.5/ui/TableFloatingControls/index.d.ts +5 -22
  192. package/dist/types-ts4.5/utils/create.d.ts +1 -2
  193. package/dist/types-ts4.5/utils/dom.d.ts +10 -2
  194. package/dist/types-ts4.5/utils/drag-menu.d.ts +1 -1
  195. package/package.json +3 -4
  196. package/src/commands/column-resize.ts +4 -3
  197. package/src/commands/delete.ts +2 -2
  198. package/src/commands/insert.ts +15 -27
  199. package/src/commands-with-analytics.ts +6 -9
  200. package/src/event-handlers.ts +107 -105
  201. package/src/nodeviews/OverflowShadowsObserver.ts +32 -21
  202. package/src/nodeviews/TableCell.ts +0 -26
  203. package/src/nodeviews/TableComponent.tsx +107 -78
  204. package/src/nodeviews/TableContainer.tsx +26 -32
  205. package/src/nodeviews/TableResizer.tsx +15 -18
  206. package/src/nodeviews/table.tsx +6 -5
  207. package/src/nodeviews/types.ts +1 -0
  208. package/src/plugin.tsx +17 -32
  209. package/src/pm-plugins/drag-and-drop/plugin.ts +10 -15
  210. package/src/pm-plugins/keymap.ts +6 -13
  211. package/src/pm-plugins/main.ts +6 -25
  212. package/src/pm-plugins/sticky-headers/plugin.ts +2 -11
  213. package/src/pm-plugins/table-resizing/event-handlers.ts +6 -4
  214. package/src/pm-plugins/table-resizing/utils/colgroup.ts +2 -2
  215. package/src/pm-plugins/table-resizing/utils/consts.ts +2 -0
  216. package/src/pm-plugins/table-resizing/utils/index.ts +1 -1
  217. package/src/pm-plugins/table-resizing/utils/misc.ts +2 -2
  218. package/src/pm-plugins/table-resizing/utils/resize-column.ts +5 -2
  219. package/src/pm-plugins/table-resizing/utils/resize-state.ts +18 -13
  220. package/src/pm-plugins/table-resizing/utils/scale-table.ts +14 -14
  221. package/src/pm-plugins/table-width.ts +4 -6
  222. package/src/toolbar.tsx +16 -19
  223. package/src/transforms/column-width.ts +7 -6
  224. package/src/transforms/delete-columns.ts +2 -2
  225. package/src/types.ts +1 -4
  226. package/src/ui/FloatingContextualMenu/ContextualMenu.tsx +11 -16
  227. package/src/ui/FloatingContextualMenu/index.tsx +0 -2
  228. package/src/ui/FloatingDragMenu/DragMenu.tsx +3 -3
  229. package/src/ui/FloatingDragMenu/index.tsx +4 -8
  230. package/src/ui/FloatingInsertButton/index.tsx +11 -22
  231. package/src/ui/TableFloatingColumnControls/index.tsx +5 -29
  232. package/src/ui/TableFloatingControls/index.tsx +155 -241
  233. package/src/utils/column-controls.ts +5 -6
  234. package/src/utils/create.ts +2 -5
  235. package/src/utils/dom.ts +12 -19
  236. package/src/utils/drag-menu.ts +7 -12
@@ -1,205 +1,131 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
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 default class TableFloatingControls extends Component {
11
- constructor(props) {
12
- super(props);
13
- _defineProperty(this, "selectRow", (row, expand) => {
14
- const {
15
- editorView
16
- } = this.props;
17
- const {
18
- state,
19
- dispatch
20
- } = editorView;
21
- // fix for issue ED-4665
22
- if (browser.ie_version === 11) {
23
- editorView.dom.blur();
24
- }
25
- selectRow(row, expand)(state, dispatch);
26
- });
27
- _defineProperty(this, "selectRows", rowIndexes => {
28
- const {
29
- editorView
30
- } = this.props;
31
- const {
32
- state,
33
- dispatch
34
- } = editorView;
35
- // fix for issue ED-4665
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
- shouldComponentUpdate(nextProps, nextState) {
35
+ selectRow(row, expand)(state, dispatch);
36
+ }, [editorView]);
37
+ const _selectRows = useCallback(rowIndexes => {
102
38
  const {
103
- tableRef,
104
- isInDanger,
105
- isResizing,
106
- isHeaderRowEnabled,
107
- isNumberColumnEnabled,
108
- hoveredRows,
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
- render() {
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
- editorView,
128
- tableRef,
129
- tableNode,
130
- isInDanger,
131
- isResizing,
132
- isNumberColumnEnabled,
133
- isHeaderRowEnabled,
134
- isHeaderColumnEnabled,
135
- tableActive,
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
- const stickyTop = stickyHeader && stickyHeader.sticky && hasHeaderRow ? stickyHeader.top : undefined;
147
- const wrapperClassName = isDragAndDropEnabled ? ClassName.DRAG_ROW_CONTROLS_WRAPPER : ClassName.ROW_CONTROLS_WRAPPER;
148
- return /*#__PURE__*/React.createElement("div", {
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
- _defineProperty(TableFloatingControls, "displayName", 'TableFloatingControls');
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, getCellsInColumn, getSelectionRect, isColumnSelected, isTableSelected } from '@atlaskit/editor-tables/utils';
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
- const cells = getCellsInColumn(i)(selection);
24
- const cell = cells[0];
25
- if (cell) {
26
- const cellRef = findDomRefAtPos(cell.pos, domAtPos);
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 += cell.node.attrs.colspan - 1;
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 = (isFullWidthModeEnabled, getEditorFeatureFlags, createTableProps) => schema => {
4
- const {
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,
@@ -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
- export const getMousePositionHorizontalRelativeByElement = (mouseEvent, elementContentRects, gapInPixels, isDragAndDropEnabled) => {
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
- let width, x;
80
- if (isDragAndDropEnabled) {
81
- // mouse event fires for new overlapping column controls, so the cell can not get detected. Get width
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, tablePreserveWidth = false) => {
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(getEditorContainerWidth, editorAnalyticsAPI, tablePreserveWidth)(INPUT_METHOD.TABLE_CONTEXT_MENU, (index !== null && index !== void 0 ? index : 0) + offset)(state, dispatch, editorView);
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, tablePreserveWidth);
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, tablePreserveWidth)(INPUT_METHOD.TABLE_CONTEXT_MENU, selectionRect !== null && selectionRect !== void 0 ? selectionRect : defaultSelectionRect)(state, dispatch, editorView);
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 tablePreserveWidth = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
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
- tablePreserveWidth: tablePreserveWidth
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, tablePreserveWidth);
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 tablePreserveWidth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
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, tablePreserveWidth)(state.tr);
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(getEditorContainerWidth) {
24
- var tablePreserveWidth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
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(tablePreserveWidth)(table, view)(updatedTr);
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(getEditorContainerWidth) {
56
- var tablePreserveWidth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
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(getEditorContainerWidth, tablePreserveWidth)(rect.left, getAllowAddColumnCustomStep(state), view)(state.tr));
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(getEditorContainerWidth) {
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(getEditorContainerWidth)(rect.right, getAllowAddColumnCustomStep(state), view)(state.tr));
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(getEditorContainerWidth) {
86
- var tablePreserveWidth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
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(getEditorContainerWidth, tablePreserveWidth)(column, getAllowAddColumnCustomStep(state), view)(state.tr);
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(isFullWidthModeEnabled, getEditorFeatureFlags) {
138
+ export var createTable = function createTable(isTableScalingEnabled, isFullWidthModeEnabled) {
139
139
  return function (state, dispatch) {
140
- var table = createTableWithWidth(isFullWidthModeEnabled, getEditorFeatureFlags)(state.schema);
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, getEditorFeatureFlags, editorAnalyticsAPI) {
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(isFullWidthModeEnabled, getEditorFeatureFlags, {
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, tablePreserveWidth, inputMethod) {
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, tablePreserveWidth));
209
+ })(editorAnalyticsAPI)(changeColumnWidthByStep(stepSize, getEditorContainerWidth, isTableScalingEnabled));
210
210
  };
211
211
  };
212
- export var insertColumnWithAnalytics = function insertColumnWithAnalytics(getEditorContainerWidth, editorAnalyticsAPI) {
213
- var tablePreserveWidth = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
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(getEditorContainerWidth, tablePreserveWidth)(position));
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 tablePreserveWidth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
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, tablePreserveWidth));
283
+ })(editorAnalyticsAPI)(deleteColumnsCommand(rect, isTableScalingEnabled));
284
284
  };
285
285
  };
286
286
  export var deleteSelectedRowsOrColumnsWithAnalyticsViaShortcut = function deleteSelectedRowsOrColumnsWithAnalyticsViaShortcut(editorAnalyticsAPI) {