@atlaskit/editor-plugin-table 1.6.5 → 1.6.7
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/plugins/table/commands/misc.js +3 -0
- package/dist/cjs/plugins/table/nodeviews/TableComponent.js +1 -1
- package/dist/cjs/plugins/table/nodeviews/TableResizer.js +9 -2
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/plugins/table/commands/misc.js +3 -0
- package/dist/es2019/plugins/table/nodeviews/TableComponent.js +1 -1
- package/dist/es2019/plugins/table/nodeviews/TableResizer.js +9 -2
- package/dist/es2019/version.json +1 -1
- package/dist/esm/plugins/table/commands/misc.js +3 -0
- package/dist/esm/plugins/table/nodeviews/TableComponent.js +1 -1
- package/dist/esm/plugins/table/nodeviews/TableResizer.js +9 -2
- package/dist/esm/version.json +1 -1
- package/dist/types/plugins/table/commands/misc.d.ts +1 -1
- package/dist/types/plugins/table/nodeviews/TableComponent.d.ts +1 -1
- package/dist/types/plugins/table/nodeviews/TableContainer.d.ts +2 -2
- package/dist/types/plugins/table/nodeviews/TableResizer.d.ts +1 -1
- package/dist/types/plugins/table/nodeviews/types.d.ts +1 -1
- package/dist/types-ts4.5/plugins/table/commands/misc.d.ts +1 -1
- package/dist/types-ts4.5/plugins/table/nodeviews/TableComponent.d.ts +1 -1
- package/dist/types-ts4.5/plugins/table/nodeviews/TableContainer.d.ts +2 -2
- package/dist/types-ts4.5/plugins/table/nodeviews/TableResizer.d.ts +1 -1
- package/dist/types-ts4.5/plugins/table/nodeviews/types.d.ts +1 -1
- package/package.json +8 -7
- package/src/plugins/table/commands/misc.ts +5 -1
- package/src/plugins/table/nodeviews/TableComponent.tsx +2 -2
- package/src/plugins/table/nodeviews/TableContainer.tsx +2 -2
- package/src/plugins/table/nodeviews/TableResizer.tsx +11 -3
- package/src/plugins/table/nodeviews/types.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# @atlaskit/editor-plugin-table
|
|
2
2
|
|
|
3
|
+
## 1.6.7
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`18344c31ea3`](https://bitbucket.org/atlassian/atlassian-frontend/commits/18344c31ea3) - [ED-13910] Fix EditorView getPos type
|
|
8
|
+
|
|
9
|
+
## 1.6.6
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- [`73b5128036b`](https://bitbucket.org/atlassian/atlassian-frontend/commits/73b5128036b) - [ED-17082] Mark package as a singleton one
|
|
14
|
+
- Updated dependencies
|
|
15
|
+
|
|
3
16
|
## 1.6.5
|
|
4
17
|
|
|
5
18
|
### Patch Changes
|
|
@@ -382,6 +382,9 @@ var addResizeHandleDecorations = function addResizeHandleDecorations(rowIndex, c
|
|
|
382
382
|
};
|
|
383
383
|
exports.addResizeHandleDecorations = addResizeHandleDecorations;
|
|
384
384
|
var autoSizeTable = function autoSizeTable(view, node, table, basePos, opts) {
|
|
385
|
+
if (typeof basePos !== 'number') {
|
|
386
|
+
return false;
|
|
387
|
+
}
|
|
385
388
|
view.dispatch((0, _transforms.fixAutoSizedTable)(view, node, table, basePos, opts));
|
|
386
389
|
return true;
|
|
387
390
|
};
|
|
@@ -158,7 +158,7 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
158
158
|
var state = view.state,
|
|
159
159
|
dispatch = view.dispatch;
|
|
160
160
|
var pos = getPos();
|
|
161
|
-
if (!(0, _utils2.isValidPosition)(pos, state)) {
|
|
161
|
+
if (typeof pos !== 'number' || !(0, _utils2.isValidPosition)(pos, state)) {
|
|
162
162
|
return;
|
|
163
163
|
}
|
|
164
164
|
var domAtPos = view.domAtPos.bind(view);
|
|
@@ -33,10 +33,14 @@ var TableResizer = function TableResizer(_ref) {
|
|
|
33
33
|
},
|
|
34
34
|
handleResize: (0, _rafSchd.default)(function (originalState, delta) {
|
|
35
35
|
var newWidth = originalState.width + delta.width;
|
|
36
|
+
var pos = getPos();
|
|
37
|
+
if (typeof pos !== 'number') {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
36
40
|
(0, _utils.previewScaleTable)(tableRef, {
|
|
37
41
|
node: node,
|
|
38
42
|
prevNode: node,
|
|
39
|
-
start:
|
|
43
|
+
start: pos + 1,
|
|
40
44
|
parentWidth: newWidth
|
|
41
45
|
}, editorView.domAtPos.bind(editorView));
|
|
42
46
|
updateWidth(newWidth);
|
|
@@ -47,6 +51,9 @@ var TableResizer = function TableResizer(_ref) {
|
|
|
47
51
|
var state = editorView.state,
|
|
48
52
|
dispatch = editorView.dispatch;
|
|
49
53
|
var pos = getPos();
|
|
54
|
+
if (typeof pos !== 'number') {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
50
57
|
var tr = state.tr.setNodeMarkup(pos, undefined, _objectSpread(_objectSpread({}, node.attrs), {}, {
|
|
51
58
|
width: newWidth
|
|
52
59
|
}));
|
|
@@ -54,7 +61,7 @@ var TableResizer = function TableResizer(_ref) {
|
|
|
54
61
|
tr = (0, _utils.scaleTable)(tableRef, {
|
|
55
62
|
node: newNode,
|
|
56
63
|
prevNode: node,
|
|
57
|
-
start:
|
|
64
|
+
start: pos + 1,
|
|
58
65
|
parentWidth: newWidth
|
|
59
66
|
}, editorView.domAtPos.bind(editorView))(tr);
|
|
60
67
|
dispatch(tr);
|
package/dist/cjs/version.json
CHANGED
|
@@ -344,6 +344,9 @@ export const addResizeHandleDecorations = (rowIndex, columnIndex) => createComma
|
|
|
344
344
|
};
|
|
345
345
|
}, tr => tr.setMeta('addToHistory', false));
|
|
346
346
|
export const autoSizeTable = (view, node, table, basePos, opts) => {
|
|
347
|
+
if (typeof basePos !== 'number') {
|
|
348
|
+
return false;
|
|
349
|
+
}
|
|
347
350
|
view.dispatch(fixAutoSizedTable(view, node, table, basePos, opts));
|
|
348
351
|
return true;
|
|
349
352
|
};
|
|
@@ -147,7 +147,7 @@ class TableComponent extends React.Component {
|
|
|
147
147
|
dispatch
|
|
148
148
|
} = view;
|
|
149
149
|
const pos = getPos();
|
|
150
|
-
if (!isValidPosition(pos, state)) {
|
|
150
|
+
if (typeof pos !== 'number' || !isValidPosition(pos, state)) {
|
|
151
151
|
return;
|
|
152
152
|
}
|
|
153
153
|
const domAtPos = view.domAtPos.bind(view);
|
|
@@ -22,10 +22,14 @@ export const TableResizer = ({
|
|
|
22
22
|
handleResizeStart: () => width,
|
|
23
23
|
handleResize: rafSchd((originalState, delta) => {
|
|
24
24
|
const newWidth = originalState.width + delta.width;
|
|
25
|
+
const pos = getPos();
|
|
26
|
+
if (typeof pos !== 'number') {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
25
29
|
previewScaleTable(tableRef, {
|
|
26
30
|
node,
|
|
27
31
|
prevNode: node,
|
|
28
|
-
start:
|
|
32
|
+
start: pos + 1,
|
|
29
33
|
parentWidth: newWidth
|
|
30
34
|
}, editorView.domAtPos.bind(editorView));
|
|
31
35
|
updateWidth(newWidth);
|
|
@@ -38,6 +42,9 @@ export const TableResizer = ({
|
|
|
38
42
|
dispatch
|
|
39
43
|
} = editorView;
|
|
40
44
|
const pos = getPos();
|
|
45
|
+
if (typeof pos !== 'number') {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
41
48
|
let tr = state.tr.setNodeMarkup(pos, undefined, {
|
|
42
49
|
...node.attrs,
|
|
43
50
|
width: newWidth
|
|
@@ -46,7 +53,7 @@ export const TableResizer = ({
|
|
|
46
53
|
tr = scaleTable(tableRef, {
|
|
47
54
|
node: newNode,
|
|
48
55
|
prevNode: node,
|
|
49
|
-
start:
|
|
56
|
+
start: pos + 1,
|
|
50
57
|
parentWidth: newWidth
|
|
51
58
|
}, editorView.domAtPos.bind(editorView))(tr);
|
|
52
59
|
dispatch(tr);
|
package/dist/es2019/version.json
CHANGED
|
@@ -359,6 +359,9 @@ export var addResizeHandleDecorations = function addResizeHandleDecorations(rowI
|
|
|
359
359
|
});
|
|
360
360
|
};
|
|
361
361
|
export var autoSizeTable = function autoSizeTable(view, node, table, basePos, opts) {
|
|
362
|
+
if (typeof basePos !== 'number') {
|
|
363
|
+
return false;
|
|
364
|
+
}
|
|
362
365
|
view.dispatch(fixAutoSizedTable(view, node, table, basePos, opts));
|
|
363
366
|
return true;
|
|
364
367
|
};
|
|
@@ -152,7 +152,7 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
152
152
|
var state = view.state,
|
|
153
153
|
dispatch = view.dispatch;
|
|
154
154
|
var pos = getPos();
|
|
155
|
-
if (!isValidPosition(pos, state)) {
|
|
155
|
+
if (typeof pos !== 'number' || !isValidPosition(pos, state)) {
|
|
156
156
|
return;
|
|
157
157
|
}
|
|
158
158
|
var domAtPos = view.domAtPos.bind(view);
|
|
@@ -26,10 +26,14 @@ export var TableResizer = function TableResizer(_ref) {
|
|
|
26
26
|
},
|
|
27
27
|
handleResize: rafSchd(function (originalState, delta) {
|
|
28
28
|
var newWidth = originalState.width + delta.width;
|
|
29
|
+
var pos = getPos();
|
|
30
|
+
if (typeof pos !== 'number') {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
29
33
|
previewScaleTable(tableRef, {
|
|
30
34
|
node: node,
|
|
31
35
|
prevNode: node,
|
|
32
|
-
start:
|
|
36
|
+
start: pos + 1,
|
|
33
37
|
parentWidth: newWidth
|
|
34
38
|
}, editorView.domAtPos.bind(editorView));
|
|
35
39
|
updateWidth(newWidth);
|
|
@@ -40,6 +44,9 @@ export var TableResizer = function TableResizer(_ref) {
|
|
|
40
44
|
var state = editorView.state,
|
|
41
45
|
dispatch = editorView.dispatch;
|
|
42
46
|
var pos = getPos();
|
|
47
|
+
if (typeof pos !== 'number') {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
43
50
|
var tr = state.tr.setNodeMarkup(pos, undefined, _objectSpread(_objectSpread({}, node.attrs), {}, {
|
|
44
51
|
width: newWidth
|
|
45
52
|
}));
|
|
@@ -47,7 +54,7 @@ export var TableResizer = function TableResizer(_ref) {
|
|
|
47
54
|
tr = scaleTable(tableRef, {
|
|
48
55
|
node: newNode,
|
|
49
56
|
prevNode: node,
|
|
50
|
-
start:
|
|
57
|
+
start: pos + 1,
|
|
51
58
|
parentWidth: newWidth
|
|
52
59
|
}, editorView.domAtPos.bind(editorView))(tr);
|
|
53
60
|
dispatch(tr);
|
package/dist/esm/version.json
CHANGED
|
@@ -21,7 +21,7 @@ export declare const showInsertColumnButton: (columnIndex: number) => Command;
|
|
|
21
21
|
export declare const showInsertRowButton: (rowIndex: number) => Command;
|
|
22
22
|
export declare const hideInsertColumnOrRowButton: () => Command;
|
|
23
23
|
export declare const addResizeHandleDecorations: (rowIndex: number, columnIndex: number) => Command;
|
|
24
|
-
export declare const autoSizeTable: (view: EditorView, node: PMNode, table: HTMLTableElement, basePos: number, opts: {
|
|
24
|
+
export declare const autoSizeTable: (view: EditorView, node: PMNode, table: HTMLTableElement, basePos: number | undefined, opts: {
|
|
25
25
|
containerWidth: number;
|
|
26
26
|
}) => boolean;
|
|
27
27
|
export declare const addBoldInEmptyHeaderCells: (tableCellHeader: ContentNodeWithPos) => Command;
|
|
@@ -13,7 +13,7 @@ export interface ComponentProps {
|
|
|
13
13
|
getNode: () => PmNode;
|
|
14
14
|
allowColumnResizing?: boolean;
|
|
15
15
|
eventDispatcher: EventDispatcher;
|
|
16
|
-
getPos: () => number;
|
|
16
|
+
getPos: () => number | undefined;
|
|
17
17
|
options?: TableOptions;
|
|
18
18
|
contentDOM: (node: HTMLElement | null) => void;
|
|
19
19
|
containerWidth: EditorContainerWidth;
|
|
@@ -17,7 +17,7 @@ type ResizableTableContainerProps = {
|
|
|
17
17
|
node: PMNode;
|
|
18
18
|
className: string;
|
|
19
19
|
editorView: EditorView;
|
|
20
|
-
getPos: () => number;
|
|
20
|
+
getPos: () => number | undefined;
|
|
21
21
|
tableRef: HTMLTableElement;
|
|
22
22
|
};
|
|
23
23
|
export declare const ResizableTableContainer: ({ children, className, node, lineLength, editorView, getPos, tableRef, }: PropsWithChildren<ResizableTableContainerProps>) => JSX.Element;
|
|
@@ -28,7 +28,7 @@ type TableContainerProps = {
|
|
|
28
28
|
isFullWidthModeEnabled: boolean | undefined;
|
|
29
29
|
isBreakoutEnabled: boolean | undefined;
|
|
30
30
|
editorView: EditorView;
|
|
31
|
-
getPos: () => number;
|
|
31
|
+
getPos: () => number | undefined;
|
|
32
32
|
tableRef: HTMLTableElement;
|
|
33
33
|
};
|
|
34
34
|
export declare const TableContainer: ({ children, node, className, containerWidth: { lineLength, width: editorWidth }, isFullWidthModeEnabled, isBreakoutEnabled, editorView, getPos, tableRef, }: PropsWithChildren<TableContainerProps>) => JSX.Element;
|
|
@@ -15,7 +15,7 @@ export interface Props {
|
|
|
15
15
|
cellMinWidth?: number;
|
|
16
16
|
portalProviderAPI: PortalProviderAPI;
|
|
17
17
|
eventDispatcher: EventDispatcher;
|
|
18
|
-
getPos: () => number;
|
|
18
|
+
getPos: () => number | undefined;
|
|
19
19
|
options?: TableOptions;
|
|
20
20
|
tableRenderOptimization?: boolean;
|
|
21
21
|
getEditorContainerWidth: GetEditorContainerWidth;
|
|
@@ -21,7 +21,7 @@ export declare const showInsertColumnButton: (columnIndex: number) => Command;
|
|
|
21
21
|
export declare const showInsertRowButton: (rowIndex: number) => Command;
|
|
22
22
|
export declare const hideInsertColumnOrRowButton: () => Command;
|
|
23
23
|
export declare const addResizeHandleDecorations: (rowIndex: number, columnIndex: number) => Command;
|
|
24
|
-
export declare const autoSizeTable: (view: EditorView, node: PMNode, table: HTMLTableElement, basePos: number, opts: {
|
|
24
|
+
export declare const autoSizeTable: (view: EditorView, node: PMNode, table: HTMLTableElement, basePos: number | undefined, opts: {
|
|
25
25
|
containerWidth: number;
|
|
26
26
|
}) => boolean;
|
|
27
27
|
export declare const addBoldInEmptyHeaderCells: (tableCellHeader: ContentNodeWithPos) => Command;
|
|
@@ -13,7 +13,7 @@ export interface ComponentProps {
|
|
|
13
13
|
getNode: () => PmNode;
|
|
14
14
|
allowColumnResizing?: boolean;
|
|
15
15
|
eventDispatcher: EventDispatcher;
|
|
16
|
-
getPos: () => number;
|
|
16
|
+
getPos: () => number | undefined;
|
|
17
17
|
options?: TableOptions;
|
|
18
18
|
contentDOM: (node: HTMLElement | null) => void;
|
|
19
19
|
containerWidth: EditorContainerWidth;
|
|
@@ -17,7 +17,7 @@ type ResizableTableContainerProps = {
|
|
|
17
17
|
node: PMNode;
|
|
18
18
|
className: string;
|
|
19
19
|
editorView: EditorView;
|
|
20
|
-
getPos: () => number;
|
|
20
|
+
getPos: () => number | undefined;
|
|
21
21
|
tableRef: HTMLTableElement;
|
|
22
22
|
};
|
|
23
23
|
export declare const ResizableTableContainer: ({ children, className, node, lineLength, editorView, getPos, tableRef, }: PropsWithChildren<ResizableTableContainerProps>) => JSX.Element;
|
|
@@ -28,7 +28,7 @@ type TableContainerProps = {
|
|
|
28
28
|
isFullWidthModeEnabled: boolean | undefined;
|
|
29
29
|
isBreakoutEnabled: boolean | undefined;
|
|
30
30
|
editorView: EditorView;
|
|
31
|
-
getPos: () => number;
|
|
31
|
+
getPos: () => number | undefined;
|
|
32
32
|
tableRef: HTMLTableElement;
|
|
33
33
|
};
|
|
34
34
|
export declare const TableContainer: ({ children, node, className, containerWidth: { lineLength, width: editorWidth }, isFullWidthModeEnabled, isBreakoutEnabled, editorView, getPos, tableRef, }: PropsWithChildren<TableContainerProps>) => JSX.Element;
|
|
@@ -15,7 +15,7 @@ export interface Props {
|
|
|
15
15
|
cellMinWidth?: number;
|
|
16
16
|
portalProviderAPI: PortalProviderAPI;
|
|
17
17
|
eventDispatcher: EventDispatcher;
|
|
18
|
-
getPos: () => number;
|
|
18
|
+
getPos: () => number | undefined;
|
|
19
19
|
options?: TableOptions;
|
|
20
20
|
tableRenderOptimization?: boolean;
|
|
21
21
|
getEditorContainerWidth: GetEditorContainerWidth;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/editor-plugin-table",
|
|
3
|
-
"version": "1.6.
|
|
3
|
+
"version": "1.6.7",
|
|
4
4
|
"description": "Table plugin for the @atlaskit/editor",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"registry": "https://registry.npmjs.org/"
|
|
@@ -23,20 +23,21 @@
|
|
|
23
23
|
"atlaskit:src": "src/index.ts",
|
|
24
24
|
"atlassian": {
|
|
25
25
|
"team": "Editor",
|
|
26
|
+
"singleton": true,
|
|
26
27
|
"releaseModel": "continuous"
|
|
27
28
|
},
|
|
28
29
|
"dependencies": {
|
|
29
30
|
"@atlaskit/adf-schema": "^25.9.0",
|
|
30
|
-
"@atlaskit/editor-common": "^74.
|
|
31
|
-
"@atlaskit/editor-palette": "1.5.
|
|
32
|
-
"@atlaskit/editor-plugin-analytics": "^0.0.
|
|
33
|
-
"@atlaskit/editor-plugin-content-insertion": "^0.0.
|
|
31
|
+
"@atlaskit/editor-common": "^74.9.0",
|
|
32
|
+
"@atlaskit/editor-palette": "1.5.1",
|
|
33
|
+
"@atlaskit/editor-plugin-analytics": "^0.0.3",
|
|
34
|
+
"@atlaskit/editor-plugin-content-insertion": "^0.0.3",
|
|
34
35
|
"@atlaskit/editor-shared-styles": "^2.4.0",
|
|
35
36
|
"@atlaskit/editor-tables": "^2.3.0",
|
|
36
37
|
"@atlaskit/icon": "^21.12.0",
|
|
37
38
|
"@atlaskit/platform-feature-flags": "^0.2.1",
|
|
38
39
|
"@atlaskit/theme": "^12.5.0",
|
|
39
|
-
"@atlaskit/tokens": "^1.
|
|
40
|
+
"@atlaskit/tokens": "^1.9.0",
|
|
40
41
|
"@atlaskit/tooltip": "^17.8.0",
|
|
41
42
|
"@babel/runtime": "^7.0.0",
|
|
42
43
|
"@emotion/react": "^11.7.1",
|
|
@@ -64,7 +65,7 @@
|
|
|
64
65
|
"@af/editor-libra": "*",
|
|
65
66
|
"@atlaskit/analytics-next": "^9.1.0",
|
|
66
67
|
"@atlaskit/button": "^16.8.0",
|
|
67
|
-
"@atlaskit/editor-core": "^185.
|
|
68
|
+
"@atlaskit/editor-core": "^185.3.0",
|
|
68
69
|
"@atlaskit/editor-plugin-decorations": "^0.1.0",
|
|
69
70
|
"@atlaskit/editor-plugin-feature-flags": "^0.1.0",
|
|
70
71
|
"@atlaskit/editor-plugin-grid": "^0.1.0",
|
|
@@ -470,9 +470,13 @@ export const autoSizeTable = (
|
|
|
470
470
|
view: EditorView,
|
|
471
471
|
node: PMNode,
|
|
472
472
|
table: HTMLTableElement,
|
|
473
|
-
basePos: number,
|
|
473
|
+
basePos: number | undefined,
|
|
474
474
|
opts: { containerWidth: number },
|
|
475
475
|
) => {
|
|
476
|
+
if (typeof basePos !== 'number') {
|
|
477
|
+
return false;
|
|
478
|
+
}
|
|
479
|
+
|
|
476
480
|
view.dispatch(fixAutoSizedTable(view, node, table, basePos, opts));
|
|
477
481
|
return true;
|
|
478
482
|
};
|
|
@@ -60,7 +60,7 @@ export interface ComponentProps {
|
|
|
60
60
|
getNode: () => PmNode;
|
|
61
61
|
allowColumnResizing?: boolean;
|
|
62
62
|
eventDispatcher: EventDispatcher;
|
|
63
|
-
getPos: () => number;
|
|
63
|
+
getPos: () => number | undefined;
|
|
64
64
|
options?: TableOptions;
|
|
65
65
|
|
|
66
66
|
contentDOM: (node: HTMLElement | null) => void;
|
|
@@ -570,7 +570,7 @@ class TableComponent extends React.Component<ComponentProps, TableState> {
|
|
|
570
570
|
const { state, dispatch } = view;
|
|
571
571
|
const pos = getPos();
|
|
572
572
|
|
|
573
|
-
if (!isValidPosition(pos, state)) {
|
|
573
|
+
if (typeof pos !== 'number' || !isValidPosition(pos, state)) {
|
|
574
574
|
return;
|
|
575
575
|
}
|
|
576
576
|
const domAtPos = view.domAtPos.bind(view);
|
|
@@ -67,7 +67,7 @@ type ResizableTableContainerProps = {
|
|
|
67
67
|
node: PMNode;
|
|
68
68
|
className: string;
|
|
69
69
|
editorView: EditorView;
|
|
70
|
-
getPos: () => number;
|
|
70
|
+
getPos: () => number | undefined;
|
|
71
71
|
tableRef: HTMLTableElement;
|
|
72
72
|
};
|
|
73
73
|
|
|
@@ -146,7 +146,7 @@ type TableContainerProps = {
|
|
|
146
146
|
isFullWidthModeEnabled: boolean | undefined;
|
|
147
147
|
isBreakoutEnabled: boolean | undefined;
|
|
148
148
|
editorView: EditorView;
|
|
149
|
-
getPos: () => number;
|
|
149
|
+
getPos: () => number | undefined;
|
|
150
150
|
tableRef: HTMLTableElement;
|
|
151
151
|
};
|
|
152
152
|
|
|
@@ -17,7 +17,7 @@ interface TableResizerProps {
|
|
|
17
17
|
width: number;
|
|
18
18
|
updateWidth: (width: number) => void;
|
|
19
19
|
editorView: EditorView;
|
|
20
|
-
getPos: () => number;
|
|
20
|
+
getPos: () => number | undefined;
|
|
21
21
|
node: PMNode;
|
|
22
22
|
tableRef: HTMLTableElement;
|
|
23
23
|
}
|
|
@@ -46,13 +46,17 @@ export const TableResizer = ({
|
|
|
46
46
|
handleResizeStart={() => width}
|
|
47
47
|
handleResize={rafSchd((originalState, delta) => {
|
|
48
48
|
const newWidth = originalState.width + delta.width;
|
|
49
|
+
const pos = getPos();
|
|
50
|
+
if (typeof pos !== 'number') {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
49
53
|
|
|
50
54
|
previewScaleTable(
|
|
51
55
|
tableRef,
|
|
52
56
|
{
|
|
53
57
|
node,
|
|
54
58
|
prevNode: node,
|
|
55
|
-
start:
|
|
59
|
+
start: pos + 1,
|
|
56
60
|
parentWidth: newWidth,
|
|
57
61
|
},
|
|
58
62
|
editorView.domAtPos.bind(editorView),
|
|
@@ -67,6 +71,10 @@ export const TableResizer = ({
|
|
|
67
71
|
const { state, dispatch } = editorView;
|
|
68
72
|
const pos = getPos();
|
|
69
73
|
|
|
74
|
+
if (typeof pos !== 'number') {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
|
|
70
78
|
let tr = state.tr.setNodeMarkup(pos, undefined, {
|
|
71
79
|
...node.attrs,
|
|
72
80
|
width: newWidth,
|
|
@@ -78,7 +86,7 @@ export const TableResizer = ({
|
|
|
78
86
|
{
|
|
79
87
|
node: newNode,
|
|
80
88
|
prevNode: node,
|
|
81
|
-
start:
|
|
89
|
+
start: pos + 1,
|
|
82
90
|
parentWidth: newWidth,
|
|
83
91
|
},
|
|
84
92
|
editorView.domAtPos.bind(editorView),
|
|
@@ -21,7 +21,7 @@ export interface Props {
|
|
|
21
21
|
cellMinWidth?: number;
|
|
22
22
|
portalProviderAPI: PortalProviderAPI;
|
|
23
23
|
eventDispatcher: EventDispatcher;
|
|
24
|
-
getPos: () => number;
|
|
24
|
+
getPos: () => number | undefined;
|
|
25
25
|
options?: TableOptions;
|
|
26
26
|
tableRenderOptimization?: boolean;
|
|
27
27
|
getEditorContainerWidth: GetEditorContainerWidth;
|