@atlaskit/editor-plugin-table 1.6.6 → 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.
Files changed (29) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/cjs/plugins/table/commands/misc.js +3 -0
  3. package/dist/cjs/plugins/table/nodeviews/TableComponent.js +1 -1
  4. package/dist/cjs/plugins/table/nodeviews/TableResizer.js +9 -2
  5. package/dist/cjs/version.json +1 -1
  6. package/dist/es2019/plugins/table/commands/misc.js +3 -0
  7. package/dist/es2019/plugins/table/nodeviews/TableComponent.js +1 -1
  8. package/dist/es2019/plugins/table/nodeviews/TableResizer.js +9 -2
  9. package/dist/es2019/version.json +1 -1
  10. package/dist/esm/plugins/table/commands/misc.js +3 -0
  11. package/dist/esm/plugins/table/nodeviews/TableComponent.js +1 -1
  12. package/dist/esm/plugins/table/nodeviews/TableResizer.js +9 -2
  13. package/dist/esm/version.json +1 -1
  14. package/dist/types/plugins/table/commands/misc.d.ts +1 -1
  15. package/dist/types/plugins/table/nodeviews/TableComponent.d.ts +1 -1
  16. package/dist/types/plugins/table/nodeviews/TableContainer.d.ts +2 -2
  17. package/dist/types/plugins/table/nodeviews/TableResizer.d.ts +1 -1
  18. package/dist/types/plugins/table/nodeviews/types.d.ts +1 -1
  19. package/dist/types-ts4.5/plugins/table/commands/misc.d.ts +1 -1
  20. package/dist/types-ts4.5/plugins/table/nodeviews/TableComponent.d.ts +1 -1
  21. package/dist/types-ts4.5/plugins/table/nodeviews/TableContainer.d.ts +2 -2
  22. package/dist/types-ts4.5/plugins/table/nodeviews/TableResizer.d.ts +1 -1
  23. package/dist/types-ts4.5/plugins/table/nodeviews/types.d.ts +1 -1
  24. package/package.json +1 -1
  25. package/src/plugins/table/commands/misc.ts +5 -1
  26. package/src/plugins/table/nodeviews/TableComponent.tsx +2 -2
  27. package/src/plugins/table/nodeviews/TableContainer.tsx +2 -2
  28. package/src/plugins/table/nodeviews/TableResizer.tsx +11 -3
  29. package/src/plugins/table/nodeviews/types.ts +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
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
+
3
9
  ## 1.6.6
4
10
 
5
11
  ### 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: getPos() + 1,
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: getPos() + 1,
64
+ start: pos + 1,
58
65
  parentWidth: newWidth
59
66
  }, editorView.domAtPos.bind(editorView))(tr);
60
67
  dispatch(tr);
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-plugin-table",
3
- "version": "1.6.6",
3
+ "version": "1.6.7",
4
4
  "sideEffects": false
5
5
  }
@@ -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: getPos() + 1,
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: getPos() + 1,
56
+ start: pos + 1,
50
57
  parentWidth: newWidth
51
58
  }, editorView.domAtPos.bind(editorView))(tr);
52
59
  dispatch(tr);
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-plugin-table",
3
- "version": "1.6.6",
3
+ "version": "1.6.7",
4
4
  "sideEffects": false
5
5
  }
@@ -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: getPos() + 1,
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: getPos() + 1,
57
+ start: pos + 1,
51
58
  parentWidth: newWidth
52
59
  }, editorView.domAtPos.bind(editorView))(tr);
53
60
  dispatch(tr);
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-plugin-table",
3
- "version": "1.6.6",
3
+ "version": "1.6.7",
4
4
  "sideEffects": false
5
5
  }
@@ -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;
@@ -5,7 +5,7 @@ interface TableResizerProps {
5
5
  width: number;
6
6
  updateWidth: (width: number) => void;
7
7
  editorView: EditorView;
8
- getPos: () => number;
8
+ getPos: () => number | undefined;
9
9
  node: PMNode;
10
10
  tableRef: HTMLTableElement;
11
11
  }
@@ -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;
@@ -5,7 +5,7 @@ interface TableResizerProps {
5
5
  width: number;
6
6
  updateWidth: (width: number) => void;
7
7
  editorView: EditorView;
8
- getPos: () => number;
8
+ getPos: () => number | undefined;
9
9
  node: PMNode;
10
10
  tableRef: HTMLTableElement;
11
11
  }
@@ -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.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/"
@@ -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: getPos() + 1,
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: getPos() + 1,
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;