@atlaskit/editor-tables 2.2.4 → 2.2.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 (158) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/cjs/cell-bookmark.js +0 -10
  3. package/dist/cjs/cell-selection.js +37 -102
  4. package/dist/cjs/index.js +0 -4
  5. package/dist/cjs/pm-plugins/input.js +17 -83
  6. package/dist/cjs/pm-plugins/plugin-key.js +0 -2
  7. package/dist/cjs/pm-plugins/table-editing.js +17 -18
  8. package/dist/cjs/pm-plugins.js +0 -2
  9. package/dist/cjs/table-map.js +67 -138
  10. package/dist/cjs/utils/add-column-at.js +0 -9
  11. package/dist/cjs/utils/add-column.js +8 -24
  12. package/dist/cjs/utils/add-row-at.js +8 -37
  13. package/dist/cjs/utils/add-row.js +2 -23
  14. package/dist/cjs/utils/analytics-helpers.js +4 -15
  15. package/dist/cjs/utils/cells.js +0 -12
  16. package/dist/cjs/utils/clone-tr.js +0 -2
  17. package/dist/cjs/utils/colspan.js +2 -18
  18. package/dist/cjs/utils/copy-paste.js +51 -139
  19. package/dist/cjs/utils/create-table.js +14 -28
  20. package/dist/cjs/utils/draw-cell-selection.js +0 -4
  21. package/dist/cjs/utils/empty-cells.js +0 -6
  22. package/dist/cjs/utils/find.js +6 -18
  23. package/dist/cjs/utils/fix-tables.js +13 -56
  24. package/dist/cjs/utils/for-each-cell.js +3 -17
  25. package/dist/cjs/utils/get-cell-selection-ranges.js +2 -9
  26. package/dist/cjs/utils/get-cells-in-column.js +0 -7
  27. package/dist/cjs/utils/get-cells-in-row.js +0 -7
  28. package/dist/cjs/utils/get-cells-in-table.js +0 -8
  29. package/dist/cjs/utils/get-selection-range-in-column.js +6 -27
  30. package/dist/cjs/utils/get-selection-range-in-row.js +6 -27
  31. package/dist/cjs/utils/get-selection-rect.js +0 -7
  32. package/dist/cjs/utils/go-to-next-cell.js +3 -22
  33. package/dist/cjs/utils/handle-paste.js +5 -34
  34. package/dist/cjs/utils/is-selected.js +6 -23
  35. package/dist/cjs/utils/is-selection-type.js +0 -2
  36. package/dist/cjs/utils/move-column.js +0 -12
  37. package/dist/cjs/utils/move-row.js +0 -11
  38. package/dist/cjs/utils/normalize-selection.js +3 -27
  39. package/dist/cjs/utils/remove-column.js +10 -46
  40. package/dist/cjs/utils/remove-row.js +8 -49
  41. package/dist/cjs/utils/remove-table.js +0 -6
  42. package/dist/cjs/utils/reorder-utils.js +13 -37
  43. package/dist/cjs/utils/replace-table.js +0 -8
  44. package/dist/cjs/utils/select-nodes.js +11 -31
  45. package/dist/cjs/utils/selection-cell.js +0 -5
  46. package/dist/cjs/utils/selection-rect.js +0 -10
  47. package/dist/cjs/utils/set-cell-attrs.js +0 -4
  48. package/dist/cjs/utils/split-cell-with-type.js +2 -35
  49. package/dist/cjs/utils/split-cell.js +0 -4
  50. package/dist/cjs/utils/table-node-types.js +4 -8
  51. package/dist/cjs/utils/tables.js +0 -4
  52. package/dist/cjs/utils/test-utils.js +9 -26
  53. package/dist/cjs/utils/toggle-header.js +3 -16
  54. package/dist/cjs/utils/uuid.js +0 -3
  55. package/dist/cjs/utils.js +0 -42
  56. package/dist/cjs/version.json +1 -1
  57. package/dist/es2019/cell-bookmark.js +0 -5
  58. package/dist/es2019/cell-selection.js +37 -81
  59. package/dist/es2019/index.js +1 -0
  60. package/dist/es2019/pm-plugins/input.js +15 -67
  61. package/dist/es2019/pm-plugins/table-editing.js +3 -12
  62. package/dist/es2019/table-map.js +57 -127
  63. package/dist/es2019/utils/add-column-at.js +2 -4
  64. package/dist/es2019/utils/add-column.js +6 -16
  65. package/dist/es2019/utils/add-row-at.js +8 -22
  66. package/dist/es2019/utils/add-row.js +2 -17
  67. package/dist/es2019/utils/analytics-helpers.js +0 -5
  68. package/dist/es2019/utils/cells.js +4 -9
  69. package/dist/es2019/utils/colspan.js +6 -11
  70. package/dist/es2019/utils/copy-paste.js +41 -115
  71. package/dist/es2019/utils/create-table.js +3 -12
  72. package/dist/es2019/utils/draw-cell-selection.js +0 -1
  73. package/dist/es2019/utils/empty-cells.js +2 -3
  74. package/dist/es2019/utils/find.js +8 -8
  75. package/dist/es2019/utils/fix-tables.js +17 -47
  76. package/dist/es2019/utils/for-each-cell.js +6 -11
  77. package/dist/es2019/utils/get-cell-selection-ranges.js +2 -4
  78. package/dist/es2019/utils/get-cells-in-column.js +2 -3
  79. package/dist/es2019/utils/get-cells-in-row.js +2 -3
  80. package/dist/es2019/utils/get-cells-in-table.js +2 -4
  81. package/dist/es2019/utils/get-selection-range-in-column.js +8 -22
  82. package/dist/es2019/utils/get-selection-range-in-row.js +8 -22
  83. package/dist/es2019/utils/get-selection-rect.js +2 -2
  84. package/dist/es2019/utils/go-to-next-cell.js +3 -19
  85. package/dist/es2019/utils/handle-paste.js +3 -14
  86. package/dist/es2019/utils/is-selected.js +8 -10
  87. package/dist/es2019/utils/is-selection-type.js +0 -1
  88. package/dist/es2019/utils/move-column.js +3 -8
  89. package/dist/es2019/utils/move-row.js +3 -7
  90. package/dist/es2019/utils/normalize-selection.js +0 -16
  91. package/dist/es2019/utils/remove-column.js +10 -27
  92. package/dist/es2019/utils/remove-row.js +12 -32
  93. package/dist/es2019/utils/remove-table.js +2 -4
  94. package/dist/es2019/utils/reorder-utils.js +11 -26
  95. package/dist/es2019/utils/replace-table.js +0 -2
  96. package/dist/es2019/utils/select-nodes.js +9 -20
  97. package/dist/es2019/utils/selection-cell.js +0 -2
  98. package/dist/es2019/utils/selection-rect.js +0 -4
  99. package/dist/es2019/utils/set-cell-attrs.js +2 -2
  100. package/dist/es2019/utils/split-cell-with-type.js +8 -28
  101. package/dist/es2019/utils/split-cell.js +3 -2
  102. package/dist/es2019/utils/table-node-types.js +4 -7
  103. package/dist/es2019/utils/tables.js +0 -2
  104. package/dist/es2019/utils/test-utils.js +12 -16
  105. package/dist/es2019/utils/toggle-header.js +3 -10
  106. package/dist/es2019/utils/uuid.js +0 -2
  107. package/dist/es2019/version.json +1 -1
  108. package/dist/esm/cell-bookmark.js +0 -5
  109. package/dist/esm/cell-selection.js +37 -79
  110. package/dist/esm/index.js +1 -0
  111. package/dist/esm/pm-plugins/input.js +17 -71
  112. package/dist/esm/pm-plugins/table-editing.js +8 -13
  113. package/dist/esm/table-map.js +68 -133
  114. package/dist/esm/utils/add-column-at.js +2 -4
  115. package/dist/esm/utils/add-column.js +8 -20
  116. package/dist/esm/utils/add-row-at.js +8 -23
  117. package/dist/esm/utils/add-row.js +2 -21
  118. package/dist/esm/utils/analytics-helpers.js +4 -10
  119. package/dist/esm/utils/cells.js +0 -5
  120. package/dist/esm/utils/colspan.js +2 -14
  121. package/dist/esm/utils/copy-paste.js +44 -125
  122. package/dist/esm/utils/create-table.js +14 -25
  123. package/dist/esm/utils/draw-cell-selection.js +0 -1
  124. package/dist/esm/utils/empty-cells.js +2 -3
  125. package/dist/esm/utils/find.js +8 -8
  126. package/dist/esm/utils/fix-tables.js +13 -49
  127. package/dist/esm/utils/for-each-cell.js +6 -11
  128. package/dist/esm/utils/get-cell-selection-ranges.js +2 -4
  129. package/dist/esm/utils/get-cells-in-column.js +2 -3
  130. package/dist/esm/utils/get-cells-in-row.js +2 -3
  131. package/dist/esm/utils/get-cells-in-table.js +2 -4
  132. package/dist/esm/utils/get-selection-range-in-column.js +8 -24
  133. package/dist/esm/utils/get-selection-range-in-row.js +8 -24
  134. package/dist/esm/utils/get-selection-rect.js +2 -2
  135. package/dist/esm/utils/go-to-next-cell.js +3 -19
  136. package/dist/esm/utils/handle-paste.js +5 -23
  137. package/dist/esm/utils/is-selected.js +8 -10
  138. package/dist/esm/utils/is-selection-type.js +0 -1
  139. package/dist/esm/utils/move-column.js +3 -8
  140. package/dist/esm/utils/move-row.js +3 -7
  141. package/dist/esm/utils/normalize-selection.js +3 -22
  142. package/dist/esm/utils/remove-column.js +10 -31
  143. package/dist/esm/utils/remove-row.js +8 -35
  144. package/dist/esm/utils/remove-table.js +2 -4
  145. package/dist/esm/utils/reorder-utils.js +11 -26
  146. package/dist/esm/utils/replace-table.js +0 -2
  147. package/dist/esm/utils/select-nodes.js +11 -22
  148. package/dist/esm/utils/selection-cell.js +0 -2
  149. package/dist/esm/utils/selection-rect.js +0 -4
  150. package/dist/esm/utils/set-cell-attrs.js +2 -2
  151. package/dist/esm/utils/split-cell-with-type.js +2 -28
  152. package/dist/esm/utils/split-cell.js +3 -2
  153. package/dist/esm/utils/table-node-types.js +4 -7
  154. package/dist/esm/utils/tables.js +0 -2
  155. package/dist/esm/utils/test-utils.js +12 -16
  156. package/dist/esm/utils/toggle-header.js +3 -10
  157. package/dist/esm/version.json +1 -1
  158. package/package.json +6 -4
@@ -4,37 +4,27 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.selectedRect = selectedRect;
7
-
8
7
  var _cellSelection = require("../cell-selection");
9
-
10
8
  var _tableMap = require("../table-map");
11
-
12
9
  var _selectionCell = require("./selection-cell");
13
-
14
10
  // Helper to get the selected rectangle in a table, if any. Adds table
15
11
  // map, table node, and table start offset to the object for
16
12
  // convenience.
17
13
  function selectedRect(state) {
18
14
  var sel = state.selection;
19
15
  var $pos = (0, _selectionCell.selectionCell)(sel);
20
-
21
16
  if (!$pos) {
22
17
  throw new Error("selectedRect: invalid $pos for selection");
23
18
  }
24
-
25
19
  var table = $pos.node(-1);
26
20
  var tableStart = $pos.start(-1);
27
-
28
21
  var map = _tableMap.TableMap.get(table);
29
-
30
22
  var rect;
31
-
32
23
  if (sel instanceof _cellSelection.CellSelection) {
33
24
  rect = map.rectBetween(sel.$anchorCell.pos - tableStart, sel.$headCell.pos - tableStart);
34
25
  } else {
35
26
  rect = map.findCell($pos.pos - tableStart);
36
27
  }
37
-
38
28
  rect.tableStart = tableStart;
39
29
  rect.map = map;
40
30
  rect.table = table;
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.setCellAttrs = void 0;
7
-
8
7
  var _cloneTr = require("./clone-tr");
9
-
10
8
  // Returns a new transaction that sets given `attrs` to a given `cell`.
11
9
  var setCellAttrs = function setCellAttrs(cell, attrs) {
12
10
  return function (tr) {
@@ -14,9 +12,7 @@ var setCellAttrs = function setCellAttrs(cell, attrs) {
14
12
  tr.setNodeMarkup(cell.pos, undefined, Object.assign({}, cell.node.attrs, attrs));
15
13
  return (0, _cloneTr.cloneTr)(tr);
16
14
  }
17
-
18
15
  return tr;
19
16
  };
20
17
  };
21
-
22
18
  exports.setCellAttrs = setCellAttrs;
@@ -1,121 +1,92 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.cellWrapping = cellWrapping;
9
8
  exports.splitCellWithType = splitCellWithType;
10
-
11
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
-
13
10
  var _prosemirrorModel = require("prosemirror-model");
14
-
15
11
  var _cellSelection = require("../cell-selection");
16
-
17
12
  var _cells = require("./cells");
18
-
19
13
  var _selectionRect = require("./selection-rect");
20
-
21
14
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
22
-
23
15
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
24
-
25
16
  function cellWrapping($pos) {
26
17
  for (var d = $pos.depth; d > 0; d--) {
27
18
  // Sometimes the cell can be in the same depth.
28
19
  var role = $pos.node(d).type.spec.tableRole;
29
-
30
20
  if (role === 'cell' || role === 'header_cell') {
31
21
  return $pos.node(d);
32
22
  }
33
23
  }
34
-
35
24
  return null;
36
25
  }
37
-
38
26
  // Split a selected cell, whose rowpan or colspan is greater than one,
39
27
  // into smaller cells with the cell type (th, td) returned by getType function.
40
28
  function splitCellWithType(getCellType) {
41
29
  return function (state, dispatch) {
42
30
  var sel = state.selection;
43
31
  var cellNode, cellPos;
44
-
45
32
  if (!(sel instanceof _cellSelection.CellSelection)) {
46
33
  cellNode = cellWrapping(sel.$from);
47
-
48
34
  if (!cellNode) {
49
35
  return false;
50
36
  }
51
-
52
37
  var cellNodeAround = (0, _cells.cellAround)(sel.$from);
53
38
  cellPos = cellNodeAround && cellNodeAround.pos;
54
39
  } else {
55
40
  if (sel.$anchorCell.pos !== sel.$headCell.pos) {
56
41
  return false;
57
42
  }
58
-
59
43
  cellNode = sel.$anchorCell.nodeAfter;
60
44
  cellPos = sel.$anchorCell.pos;
61
45
  }
62
-
63
46
  if (cellNode && cellNode.attrs.colspan === 1 && cellNode.attrs.rowspan === 1) {
64
47
  return false;
65
48
  }
66
-
67
49
  if (cellNode && dispatch) {
68
50
  var cellAttrs = cellNode.attrs,
69
- attrs = [],
70
- colwidth = cellAttrs.colwidth;
71
-
51
+ attrs = [],
52
+ colwidth = cellAttrs.colwidth;
72
53
  if (cellAttrs.rowspan && cellAttrs.rowspan > 1) {
73
54
  cellAttrs = _objectSpread(_objectSpread({}, cellAttrs), {}, {
74
55
  rowspan: 1
75
56
  });
76
57
  }
77
-
78
58
  if (cellAttrs.colspan && cellAttrs.colspan > 1) {
79
59
  cellAttrs = _objectSpread(_objectSpread({}, cellAttrs), {}, {
80
60
  colspan: 1
81
61
  });
82
62
  }
83
-
84
63
  var rect = (0, _selectionRect.selectedRect)(state);
85
64
  var tr = state.tr;
86
-
87
65
  for (var i = 0; i < rect.right - rect.left; i++) {
88
66
  attrs.push(colwidth ? _objectSpread(_objectSpread({}, cellAttrs), {}, {
89
67
  colwidth: colwidth && colwidth[i] ? [colwidth[i]] : null
90
68
  }) : cellAttrs);
91
69
  }
92
-
93
70
  var lastCell = null;
94
-
95
71
  for (var row = rect.top; row < rect.bottom; row++) {
96
72
  var pos = rect.map.positionAt(row, rect.left, rect.table);
97
-
98
73
  if (row === rect.top) {
99
74
  pos += cellNode.nodeSize;
100
75
  }
101
-
102
76
  for (var col = rect.left, _i = 0; col < rect.right; col++, _i++) {
103
77
  if (col === rect.left && row === rect.top) {
104
78
  continue;
105
79
  }
106
-
107
80
  var cellType = getCellType({
108
81
  node: cellNode,
109
82
  row: row,
110
83
  col: col
111
84
  }).createAndFill(attrs[_i]);
112
-
113
85
  if (cellType) {
114
86
  tr.insert(lastCell = tr.mapping.map(pos + rect.tableStart, 1), cellType);
115
87
  }
116
88
  }
117
89
  }
118
-
119
90
  if (typeof cellPos === 'number') {
120
91
  tr.setNodeMarkup(cellPos, getCellType({
121
92
  node: cellNode,
@@ -123,16 +94,12 @@ function splitCellWithType(getCellType) {
123
94
  col: rect.left
124
95
  }), attrs[0]);
125
96
  }
126
-
127
97
  var $lastCellPosition = lastCell && tr.doc.resolve(lastCell);
128
-
129
98
  if (sel instanceof _cellSelection.CellSelection && $lastCellPosition instanceof _prosemirrorModel.ResolvedPos) {
130
99
  tr.setSelection(new _cellSelection.CellSelection(tr.doc.resolve(sel.$anchorCell.pos), $lastCellPosition));
131
100
  }
132
-
133
101
  dispatch(tr);
134
102
  }
135
-
136
103
  return true;
137
104
  };
138
105
  }
@@ -4,11 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.splitCell = void 0;
7
-
8
7
  var _splitCellWithType = require("./split-cell-with-type");
9
-
10
8
  var _tableNodeTypes = require("./table-node-types");
11
-
12
9
  // Split a selected cell, whose rowpan or colspan is greater than one,
13
10
  // into smaller cells. Use the first cell type for the new cells.
14
11
  var splitCell = function splitCell(state, dispatch) {
@@ -18,5 +15,4 @@ var splitCell = function splitCell(state, dispatch) {
18
15
  return nodeTypes[node.type.spec.tableRole];
19
16
  })(state, dispatch);
20
17
  };
21
-
22
18
  exports.splitCell = splitCell;
@@ -4,24 +4,20 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.tableNodeTypes = tableNodeTypes;
7
-
8
7
  function tableNodeTypes(schema) {
9
8
  var result = schema.cached.tableNodeTypes;
10
-
11
9
  if (!result) {
12
- result = {}; // eslint-disable-next-line no-param-reassign
13
-
14
- schema.cached.tableNodeTypes = result; // eslint-disable-next-line guard-for-in
15
-
10
+ result = {};
11
+ // eslint-disable-next-line no-param-reassign
12
+ schema.cached.tableNodeTypes = result;
13
+ // eslint-disable-next-line guard-for-in
16
14
  for (var name in schema.nodes) {
17
15
  var type = schema.nodes[name];
18
16
  var role = type.spec.tableRole;
19
-
20
17
  if (role) {
21
18
  result[role] = type;
22
19
  }
23
20
  }
24
21
  }
25
-
26
22
  return result;
27
23
  }
@@ -5,19 +5,15 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.inSameTable = inSameTable;
7
7
  exports.isInTable = isInTable;
8
-
9
8
  function isInTable(state) {
10
9
  var $head = state.selection.$head;
11
-
12
10
  for (var d = $head.depth; d > 0; d--) {
13
11
  if ($head.node(d).type.spec.tableRole === 'row') {
14
12
  return true;
15
13
  }
16
14
  }
17
-
18
15
  return false;
19
16
  }
20
-
21
17
  function inSameTable($a, $b) {
22
18
  return $a.depth === $b.depth && $a.pos >= $b.start(-1) && $a.pos <= $b.end(-1);
23
19
  }
@@ -4,79 +4,62 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.addRowBefore = exports.addRowAfter = exports.addColumnBefore = exports.addColumnAfter = void 0;
7
-
8
7
  var _addColumn = require("./add-column");
9
-
10
8
  var _addRow = require("./add-row");
11
-
12
9
  var _selectionRect = require("./selection-rect");
13
-
14
10
  var _tables = require("./tables");
15
-
16
11
  // :: (EditorState, dispatch: ?(tr: Transaction)) → bool
17
12
  // Add a table row before the selection.
18
13
  var addRowBefore = function addRowBefore(state, dispatch) {
19
14
  if (!(0, _tables.isInTable)(state)) {
20
15
  return false;
21
16
  }
22
-
23
17
  if (dispatch) {
24
18
  var rect = (0, _selectionRect.selectedRect)(state);
25
19
  dispatch((0, _addRow.addRow)(state.tr, rect, rect.top));
26
20
  }
27
-
28
21
  return true;
29
- }; // :: (EditorState, dispatch: ?(tr: Transaction)) → bool
30
- // Add a table row after the selection.
31
-
22
+ };
32
23
 
24
+ // :: (EditorState, dispatch: ?(tr: Transaction)) → bool
25
+ // Add a table row after the selection.
33
26
  exports.addRowBefore = addRowBefore;
34
-
35
27
  var addRowAfter = function addRowAfter(state, dispatch) {
36
28
  if (!(0, _tables.isInTable)(state)) {
37
29
  return false;
38
30
  }
39
-
40
31
  if (dispatch) {
41
32
  var rect = (0, _selectionRect.selectedRect)(state);
42
33
  dispatch((0, _addRow.addRow)(state.tr, rect, rect.bottom));
43
34
  }
44
-
45
35
  return true;
46
- }; // :: (EditorState, dispatch: ?(tr: Transaction)) → bool
47
- // Command to add a column before the column with the selection.
48
-
36
+ };
49
37
 
38
+ // :: (EditorState, dispatch: ?(tr: Transaction)) → bool
39
+ // Command to add a column before the column with the selection.
50
40
  exports.addRowAfter = addRowAfter;
51
-
52
41
  var addColumnBefore = function addColumnBefore(state, dispatch) {
53
42
  if (!(0, _tables.isInTable)(state)) {
54
43
  return false;
55
44
  }
56
-
57
45
  if (dispatch) {
58
46
  var rect = (0, _selectionRect.selectedRect)(state);
59
47
  dispatch((0, _addColumn.addColumn)(state.tr, rect, rect.left));
60
48
  }
61
-
62
49
  return true;
63
- }; // :: (EditorState, dispatch: ?(tr: Transaction)) → bool
64
- // Command to add a column after the column with the selection.
65
-
50
+ };
66
51
 
52
+ // :: (EditorState, dispatch: ?(tr: Transaction)) → bool
53
+ // Command to add a column after the column with the selection.
67
54
  exports.addColumnBefore = addColumnBefore;
68
-
69
55
  var addColumnAfter = function addColumnAfter(state, dispatch) {
70
56
  if (!(0, _tables.isInTable)(state)) {
71
57
  return false;
72
58
  }
73
-
74
59
  if (dispatch) {
75
60
  var rect = (0, _selectionRect.selectedRect)(state);
76
61
  dispatch((0, _addColumn.addColumn)(state.tr, rect, rect.right));
77
62
  }
78
-
79
63
  return true;
80
64
  };
81
-
82
65
  exports.addColumnAfter = addColumnAfter;
@@ -5,15 +5,10 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.isHeaderEnabledByType = isHeaderEnabledByType;
7
7
  exports.toggleHeader = toggleHeader;
8
-
9
8
  var _tableMap = require("../table-map");
10
-
11
9
  var _selectionRect = require("./selection-rect");
12
-
13
10
  var _tableNodeTypes = require("./table-node-types");
14
-
15
11
  var _tables = require("./tables");
16
-
17
12
  function isHeaderEnabledByType(type, rect, types) {
18
13
  // Get cell positions for first row or first column
19
14
  var cellPositions = rect.map.cellsInRect({
@@ -22,36 +17,31 @@ function isHeaderEnabledByType(type, rect, types) {
22
17
  right: type === 'row' ? rect.map.width : 1,
23
18
  bottom: type === 'column' ? rect.map.height : 1
24
19
  });
25
-
26
20
  for (var i = 0; i < cellPositions.length; i++) {
27
21
  var cell = rect.table.nodeAt(cellPositions[i]);
28
-
29
22
  if (cell && cell.type !== types.header_cell) {
30
23
  return false;
31
24
  }
32
25
  }
33
-
34
26
  return true;
35
- } // Toggles between row/column header and normal cells (Only applies to first row/column).
36
-
27
+ }
37
28
 
29
+ // Toggles between row/column header and normal cells (Only applies to first row/column).
38
30
  function toggleHeader(type) {
39
31
  return function (state, dispatch) {
40
32
  if (!(0, _tables.isInTable)(state)) {
41
33
  return false;
42
34
  }
43
-
44
35
  if (dispatch) {
45
36
  var types = (0, _tableNodeTypes.tableNodeTypes)(state.schema);
46
37
  var rect = (0, _selectionRect.selectedRect)(state),
47
- tr = state.tr;
38
+ tr = state.tr;
48
39
  var isHeaderRowEnabled = isHeaderEnabledByType('row', rect, types);
49
40
  var isHeaderColumnEnabled = isHeaderEnabledByType('column', rect, types);
50
41
  var isHeaderEnabled = type === 'column' ? isHeaderRowEnabled : type === 'row' ? isHeaderColumnEnabled : false;
51
42
  var selectionStartsAt = isHeaderEnabled ? 1 : 0;
52
43
  var cellsRect = type === 'column' ? new _tableMap.Rect(0, selectionStartsAt, 1, rect.map.height) : type === 'row' ? new _tableMap.Rect(selectionStartsAt, 0, rect.map.width, 1) : rect;
53
44
  var newType;
54
-
55
45
  if (type === 'column') {
56
46
  newType = isHeaderColumnEnabled ? types.cell : types.header_cell;
57
47
  } else if (type === 'row') {
@@ -59,18 +49,15 @@ function toggleHeader(type) {
59
49
  } else {
60
50
  newType = types.cell;
61
51
  }
62
-
63
52
  rect.map.cellsInRect(cellsRect).forEach(function (relativeCellPos) {
64
53
  var cellPos = relativeCellPos + rect.tableStart;
65
54
  var cell = tr.doc.nodeAt(cellPos);
66
-
67
55
  if (cell) {
68
56
  tr.setNodeMarkup(cellPos, newType, cell.attrs);
69
57
  }
70
58
  });
71
59
  dispatch(tr);
72
60
  }
73
-
74
61
  return true;
75
62
  };
76
63
  }
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.uuid = exports.generateUuid = void 0;
7
-
8
7
  /**
9
8
  * Direct copy from adf-schema to kill circular dependency without pulling into
10
9
  * a new package
@@ -18,8 +17,6 @@ var generateUuid = function generateUuid() {
18
17
  });
19
18
  };
20
19
  /* eslint-enable no-bitwise */
21
-
22
-
23
20
  exports.generateUuid = generateUuid;
24
21
  var staticValue = false;
25
22
  var uuid = {
package/dist/cjs/utils.js CHANGED
@@ -387,87 +387,45 @@ Object.defineProperty(exports, "toggleHeader", {
387
387
  return _toggleHeader.toggleHeader;
388
388
  }
389
389
  });
390
-
391
390
  var _addColumnAt = require("./utils/add-column-at");
392
-
393
391
  var _addColumn = require("./utils/add-column");
394
-
395
392
  var _addRowAt = require("./utils/add-row-at");
396
-
397
393
  var _addRow = require("./utils/add-row");
398
-
399
394
  var _cells = require("./utils/cells");
400
-
401
395
  var _cloneTr = require("./utils/clone-tr");
402
-
403
396
  var _colspan = require("./utils/colspan");
404
-
405
397
  var _createTable = require("./utils/create-table");
406
-
407
398
  var _drawCellSelection = require("./utils/draw-cell-selection");
408
-
409
399
  var _emptyCells = require("./utils/empty-cells");
410
-
411
400
  var _find = require("./utils/find");
412
-
413
401
  var _fixTables = require("./utils/fix-tables");
414
-
415
402
  var _forEachCell = require("./utils/for-each-cell");
416
-
417
403
  var _getCellSelectionRanges = require("./utils/get-cell-selection-ranges");
418
-
419
404
  var _getCellsInColumn = require("./utils/get-cells-in-column");
420
-
421
405
  var _getCellsInRow = require("./utils/get-cells-in-row");
422
-
423
406
  var _getCellsInTable = require("./utils/get-cells-in-table");
424
-
425
407
  var _getSelectionRangeInColumn = require("./utils/get-selection-range-in-column");
426
-
427
408
  var _getSelectionRangeInRow = require("./utils/get-selection-range-in-row");
428
-
429
409
  var _getSelectionRect = require("./utils/get-selection-rect");
430
-
431
410
  var _goToNextCell = require("./utils/go-to-next-cell");
432
-
433
411
  var _isSelected = require("./utils/is-selected");
434
-
435
412
  var _isSelectionType = require("./utils/is-selection-type");
436
-
437
413
  var _moveColumn = require("./utils/move-column");
438
-
439
414
  var _moveRow = require("./utils/move-row");
440
-
441
415
  var _normalizeSelection = require("./utils/normalize-selection");
442
-
443
416
  var _removeColumn = require("./utils/remove-column");
444
-
445
417
  var _removeRow = require("./utils/remove-row");
446
-
447
418
  var _removeTable = require("./utils/remove-table");
448
-
449
419
  var _selectNodes = require("./utils/select-nodes");
450
-
451
420
  var _selectionCell = require("./utils/selection-cell");
452
-
453
421
  var _selectionRect = require("./utils/selection-rect");
454
-
455
422
  var _setCellAttrs = require("./utils/set-cell-attrs");
456
-
457
423
  var _splitCellWithType = require("./utils/split-cell-with-type");
458
-
459
424
  var _splitCell = require("./utils/split-cell");
460
-
461
425
  var _tableNodeTypes = require("./utils/table-node-types");
462
-
463
426
  var _tables = require("./utils/tables");
464
-
465
427
  var _toggleHeader = require("./utils/toggle-header");
466
-
467
428
  var _reorderUtils = require("./utils/reorder-utils");
468
-
469
429
  var _handlePaste = require("./utils/handle-paste");
470
-
471
430
  var _replaceTable = require("./utils/replace-table");
472
-
473
431
  var _analyticsHelpers = require("./utils/analytics-helpers");
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-tables",
3
- "version": "2.2.4",
3
+ "version": "2.2.6",
4
4
  "sideEffects": false
5
5
  }
@@ -5,15 +5,12 @@ export class CellBookmark {
5
5
  this.anchor = anchor;
6
6
  this.head = head;
7
7
  }
8
-
9
8
  map(mapping) {
10
9
  return new CellBookmark(mapping.map(this.anchor), mapping.map(this.head));
11
10
  }
12
-
13
11
  resolve(doc) {
14
12
  const $anchorCell = doc.resolve(this.anchor);
15
13
  const $headCell = doc.resolve(this.head);
16
-
17
14
  if ($anchorCell.parent.type.spec.tableRole === 'row' && $headCell.parent.type.spec.tableRole === 'row' && $anchorCell.index() < $anchorCell.parent.childCount && $headCell.index() < $headCell.parent.childCount && inSameTable($anchorCell, $headCell)) {
18
15
  const data = {
19
16
  type: 'cell',
@@ -22,8 +19,6 @@ export class CellBookmark {
22
19
  };
23
20
  return Selection.fromJSON(doc, data);
24
21
  }
25
-
26
22
  return Selection.near($headCell, 1);
27
23
  }
28
-
29
24
  }