@atlaskit/editor-tables 2.2.3 → 2.2.5

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 (160) hide show
  1. package/CHANGELOG.md +14 -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 +24 -75
  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 +63 -134
  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 +94 -120
  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 +4 -33
  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 +4 -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 +27 -63
  61. package/dist/es2019/pm-plugins/table-editing.js +3 -12
  62. package/dist/es2019/table-map.js +54 -124
  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 +85 -99
  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 +4 -13
  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 +24 -63
  112. package/dist/esm/pm-plugins/table-editing.js +8 -13
  113. package/dist/esm/table-map.js +65 -130
  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 +88 -109
  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 +4 -22
  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 +4 -13
  157. package/dist/esm/version.json +1 -1
  158. package/dist/types/utils/toggle-header.d.ts +3 -0
  159. package/package.json +7 -5
  160. package/report.api.md +11 -0
@@ -6,25 +6,17 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.handleKeyDown = void 0;
7
7
  exports.handleMouseDown = handleMouseDown;
8
8
  exports.handleTripleClick = handleTripleClick;
9
-
10
9
  var _prosemirrorKeymap = require("prosemirror-keymap");
11
-
12
10
  var _prosemirrorModel = require("prosemirror-model");
13
-
14
11
  var _prosemirrorState = require("prosemirror-state");
15
-
16
12
  var _cellSelection = require("../cell-selection");
17
-
18
13
  var _utils = require("../utils");
19
-
20
14
  var _cells = require("../utils/cells");
21
-
22
15
  var _tables = require("../utils/tables");
23
-
24
16
  var _pluginKey = require("./plugin-key");
25
-
26
17
  // This file defines a number of helpers for wiring up user input to
27
18
  // table-related functionality.
19
+
28
20
  var handleKeyDown = (0, _prosemirrorKeymap.keydownHandler)({
29
21
  ArrowLeft: arrow('horiz', -1),
30
22
  ArrowRight: arrow('horiz', 1),
@@ -40,46 +32,35 @@ var handleKeyDown = (0, _prosemirrorKeymap.keydownHandler)({
40
32
  'Mod-Delete': deleteCellSelection
41
33
  });
42
34
  exports.handleKeyDown = handleKeyDown;
43
-
44
35
  function maybeSetSelection(state, dispatch, selection) {
45
36
  if (selection.eq(state.selection)) {
46
37
  return false;
47
38
  }
48
-
49
39
  if (dispatch) {
50
40
  dispatch(state.tr.setSelection(selection).scrollIntoView());
51
41
  }
52
-
53
42
  return true;
54
43
  }
55
-
56
44
  function arrow(axis, dir) {
57
45
  return function (state, dispatch, view) {
58
46
  if (dispatch) {
59
47
  var sel = state.selection;
60
-
61
48
  if (sel instanceof _cellSelection.CellSelection) {
62
49
  return maybeSetSelection(state, dispatch, _prosemirrorState.Selection.near(sel.$headCell, dir));
63
50
  }
64
-
65
51
  if (axis !== 'horiz' && !sel.empty) {
66
52
  return false;
67
53
  }
68
-
69
54
  var end = view ? atEndOfCell(view, axis, dir) : null;
70
-
71
55
  if (end === null) {
72
56
  return false;
73
57
  }
74
-
75
58
  if (axis === 'horiz') {
76
59
  return maybeSetSelection(state, dispatch, _prosemirrorState.Selection.near(state.doc.resolve(sel.head + dir), dir));
77
60
  }
78
-
79
61
  var $cell = state.doc.resolve(end);
80
62
  var $next = (0, _cells.nextCell)($cell, axis, dir);
81
63
  var newSel;
82
-
83
64
  if ($next) {
84
65
  newSel = _prosemirrorState.Selection.near($next, 1);
85
66
  } else if (dir < 0) {
@@ -87,49 +68,47 @@ function arrow(axis, dir) {
87
68
  } else {
88
69
  newSel = _prosemirrorState.Selection.near(state.doc.resolve($cell.after(-1)), 1);
89
70
  }
90
-
91
71
  return maybeSetSelection(state, dispatch, newSel);
92
72
  }
93
-
94
73
  return true;
95
74
  };
96
75
  }
97
-
98
76
  function shiftArrow(axis, dir) {
99
77
  return function (state, dispatch, view) {
100
78
  var sel = state.selection;
101
-
102
79
  if (!(sel instanceof _cellSelection.CellSelection)) {
80
+ var _maybeTableCell$paren;
103
81
  var end = view ? atEndOfCell(view, axis, dir) : null;
104
-
105
82
  if (end === null) {
106
83
  return false;
107
84
  }
108
-
85
+ var _state$selection = state.selection,
86
+ _$head = _state$selection.$head,
87
+ $anchor = _state$selection.$anchor;
88
+ var maybeTableCell = _$head.blockRange($anchor);
89
+
90
+ // Make sure the selection is coming from the same cell
91
+ var sameCell = ['tableCell', 'tableHeader'].includes((maybeTableCell === null || maybeTableCell === void 0 ? void 0 : (_maybeTableCell$paren = maybeTableCell.parent) === null || _maybeTableCell$paren === void 0 ? void 0 : _maybeTableCell$paren.type.name) || '');
92
+ if (!sameCell) {
93
+ return false;
94
+ }
109
95
  sel = new _cellSelection.CellSelection(state.doc.resolve(end));
110
96
  }
111
-
112
97
  var $head = (0, _cells.nextCell)(sel.$headCell, axis, dir);
113
-
114
98
  if (!$head) {
115
99
  return false;
116
100
  }
117
-
118
101
  if (dispatch) {
119
102
  return maybeSetSelection(state, dispatch, new _cellSelection.CellSelection(sel.$anchorCell, $head));
120
103
  }
121
-
122
104
  return true;
123
105
  };
124
106
  }
125
-
126
107
  function deleteCellSelection(state, dispatch) {
127
108
  var sel = state.selection;
128
-
129
109
  if (!(sel instanceof _cellSelection.CellSelection)) {
130
110
  return false;
131
111
  }
132
-
133
112
  if (dispatch) {
134
113
  var tr = state.tr;
135
114
  var baseContent = (0, _utils.tableNodeTypes)(state.schema).cell.createAndFill().content;
@@ -138,38 +117,30 @@ function deleteCellSelection(state, dispatch) {
138
117
  tr.replace(tr.mapping.map(pos + 1), tr.mapping.map(pos + cell.nodeSize - 1), new _prosemirrorModel.Slice(baseContent, 0, 0));
139
118
  }
140
119
  });
141
-
142
120
  if (tr.docChanged) {
143
121
  dispatch(tr);
144
122
  }
145
123
  }
146
-
147
124
  return true;
148
125
  }
149
-
150
126
  function handleTripleClick(view, pos) {
151
127
  var doc = view.state.doc;
152
128
  var $cell = (0, _cells.cellAround)(doc.resolve(pos));
153
-
154
129
  if (!$cell) {
155
130
  return false;
156
131
  }
157
-
158
132
  view.dispatch(view.state.tr.setSelection(new _cellSelection.CellSelection($cell)));
159
133
  return true;
160
134
  }
161
-
162
135
  function handleMouseDown(view, event) {
163
- var startEvent = event; // Prevent right clicks from making a cell selection https://product-fabric.atlassian.net/browse/ED-12527
164
-
136
+ var startEvent = event;
137
+ // Prevent right clicks from making a cell selection https://product-fabric.atlassian.net/browse/ED-12527
165
138
  if (startEvent.ctrlKey || startEvent.metaKey || startEvent.button === 2 // right mouse click
166
139
  ) {
167
140
  return false;
168
141
  }
169
-
170
142
  var startDOMCell = domInCell(view, startEvent.target);
171
143
  var $anchor = (0, _cells.cellAround)(view.state.selection.$anchor);
172
-
173
144
  if (startEvent.shiftKey && view.state.selection instanceof _cellSelection.CellSelection) {
174
145
  // Adding to an existing cell selection
175
146
  setCellSelection(view.state.selection.$anchorCell, startEvent);
@@ -182,14 +153,13 @@ function handleMouseDown(view, event) {
182
153
  } else if (!startDOMCell) {
183
154
  // Not in a cell, let the default behavior happen.
184
155
  return false;
185
- } // Create and dispatch a cell selection between the given anchor and
186
- // the position under the mouse.
187
-
156
+ }
188
157
 
158
+ // Create and dispatch a cell selection between the given anchor and
159
+ // the position under the mouse.
189
160
  function setCellSelection($selectionAnchor, event) {
190
161
  var $head = cellUnderMouse(view, event);
191
162
  var starting = _pluginKey.tableEditingKey.getState(view.state) == null;
192
-
193
163
  if (!$head || !(0, _tables.inSameTable)($selectionAnchor, $head)) {
194
164
  if (starting) {
195
165
  $head = $selectionAnchor;
@@ -197,109 +167,88 @@ function handleMouseDown(view, event) {
197
167
  return false;
198
168
  }
199
169
  }
200
-
201
170
  var selection = new _cellSelection.CellSelection($selectionAnchor, $head);
202
-
203
171
  if (starting || !view.state.selection.eq(selection)) {
204
172
  var tr = view.state.tr.setSelection(selection);
205
-
206
173
  if (starting) {
207
174
  tr.setMeta(_pluginKey.tableEditingKey, $selectionAnchor.pos);
208
175
  }
209
-
210
176
  view.dispatch(tr);
211
177
  }
212
- } // Stop listening to mouse motion events.
213
-
178
+ }
214
179
 
180
+ // Stop listening to mouse motion events.
215
181
  function stop() {
216
182
  view.root.removeEventListener('mouseup', stop);
217
183
  view.root.removeEventListener('dragstart', stop);
218
184
  view.root.removeEventListener('mousemove', move);
219
-
220
185
  if (_pluginKey.tableEditingKey.getState(view.state) != null) {
221
186
  view.dispatch(view.state.tr.setMeta(_pluginKey.tableEditingKey, -1));
222
187
  }
223
188
  }
224
-
225
189
  function move(event) {
226
190
  var anchor = _pluginKey.tableEditingKey.getState(view.state);
227
-
228
191
  var $moveAnchor;
229
-
230
192
  if (anchor != null) {
231
193
  // Continuing an existing cross-cell selection
232
194
  $moveAnchor = view.state.doc.resolve(anchor);
233
195
  } else if (domInCell(view, event.target) !== startDOMCell) {
234
196
  // Moving out of the initial cell -- start a new cell selection
235
197
  $moveAnchor = cellUnderMouse(view, startEvent);
236
-
237
198
  if (!$moveAnchor) {
238
199
  stop();
239
200
  return;
240
201
  }
241
202
  }
242
-
243
203
  if ($moveAnchor) {
244
204
  setCellSelection($moveAnchor, event);
245
205
  }
246
206
  }
247
-
248
207
  view.root.addEventListener('mouseup', stop);
249
208
  view.root.addEventListener('dragstart', stop);
250
209
  view.root.addEventListener('mousemove', move);
251
210
  return false;
252
- } // Check whether the cursor is at the end of a cell (so that further
253
- // motion would move out of the cell)
254
-
211
+ }
255
212
 
213
+ // Check whether the cursor is at the end of a cell (so that further
214
+ // motion would move out of the cell)
256
215
  function atEndOfCell(view, axis, dir) {
257
216
  if (!(view.state.selection instanceof _prosemirrorState.TextSelection)) {
258
217
  return null;
259
218
  }
260
-
261
219
  var $head = view.state.selection.$head;
262
-
263
220
  for (var d = $head.depth - 1; d >= 0; d--) {
264
221
  var parent = $head.node(d);
265
222
  var index = dir < 0 ? $head.index(d) : $head.indexAfter(d);
266
-
267
223
  if (index !== (dir < 0 ? 0 : parent.childCount)) {
268
224
  return null;
269
225
  }
270
-
271
226
  if (parent.type.spec.tableRole === 'cell' || parent.type.spec.tableRole === 'header_cell') {
272
227
  var cellPos = $head.before(d);
273
- var dirStr = // eslint-disable-next-line no-nested-ternary
228
+ var dirStr =
229
+ // eslint-disable-next-line no-nested-ternary
274
230
  axis === 'vert' ? dir > 0 ? 'down' : 'up' : dir > 0 ? 'right' : 'left';
275
231
  return view.endOfTextblock(dirStr) ? cellPos : null;
276
232
  }
277
233
  }
278
-
279
234
  return null;
280
235
  }
281
-
282
236
  function domInCell(view, inputDom) {
283
237
  var dom = inputDom;
284
-
285
238
  for (; dom && dom !== view.dom; dom = dom.parentNode) {
286
239
  if (dom.nodeName === 'TD' || dom.nodeName === 'TH') {
287
240
  return dom;
288
241
  }
289
242
  }
290
-
291
243
  return null;
292
244
  }
293
-
294
245
  function cellUnderMouse(view, event) {
295
246
  var mousePos = view.posAtCoords({
296
247
  left: event.clientX,
297
248
  top: event.clientY
298
249
  });
299
-
300
250
  if (!mousePos) {
301
251
  return null;
302
252
  }
303
-
304
253
  return (0, _cells.cellAround)(view.state.doc.resolve(mousePos.pos));
305
254
  }
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.tableEditingKey = exports.fixTablesKey = void 0;
7
-
8
7
  var _prosemirrorState = require("prosemirror-state");
9
-
10
8
  var tableEditingKey = new _prosemirrorState.PluginKey('selectingCells');
11
9
  exports.tableEditingKey = tableEditingKey;
12
10
  var fixTablesKey = new _prosemirrorState.PluginKey('fix-tables');
@@ -4,27 +4,31 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.tableEditing = tableEditing;
7
-
8
7
  var _prosemirrorState = require("prosemirror-state");
9
-
10
8
  var _utils = require("../utils");
11
-
12
9
  var _drawCellSelection = require("../utils/draw-cell-selection");
13
-
14
10
  var _fixTables = require("../utils/fix-tables");
15
-
16
11
  var _normalizeSelection = require("../utils/normalize-selection");
17
-
18
12
  var _input = require("./input");
19
-
20
13
  var _pluginKey = require("./plugin-key");
14
+ // :: () → Plugin
15
+ //
16
+ // Creates a [plugin](http://prosemirror.net/docs/ref/#state.Plugin)
17
+ // that, when added to an editor, enables cell-selection, handles
18
+ // cell-based copy/paste, and makes sure tables stay well-formed (each
19
+ // row has the same width, and cells don't overlap).
20
+ //
21
+ // You should probably put this plugin near the end of your array of
22
+ // plugins, since it handles mouse and arrow key events in tables
23
+ // rather broadly, and other plugins, like the gap cursor or the
24
+ // column-width dragging plugin, might want to get a turn first to
25
+ // perform more specific behavior.
21
26
 
22
27
  function tableEditing() {
23
28
  var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
24
- _ref$allowTableNodeSe = _ref.allowTableNodeSelection,
25
- allowTableNodeSelection = _ref$allowTableNodeSe === void 0 ? false : _ref$allowTableNodeSe,
26
- reportFixedTable = _ref.reportFixedTable;
27
-
29
+ _ref$allowTableNodeSe = _ref.allowTableNodeSelection,
30
+ allowTableNodeSelection = _ref$allowTableNodeSe === void 0 ? false : _ref$allowTableNodeSe,
31
+ reportFixedTable = _ref.reportFixedTable;
28
32
  return new _prosemirrorState.Plugin({
29
33
  key: _pluginKey.tableEditingKey,
30
34
  // This piece of state is used to remember when a mouse-drag
@@ -37,19 +41,15 @@ function tableEditing() {
37
41
  apply: function apply(unsafeTr, cur) {
38
42
  var tr = unsafeTr;
39
43
  var set = tr.getMeta(_pluginKey.tableEditingKey);
40
-
41
44
  if (set != null) {
42
45
  return set === -1 ? null : set;
43
46
  }
44
-
45
47
  if (cur == null || !tr.docChanged) {
46
48
  return cur;
47
49
  }
48
-
49
50
  var _tr$mapping$mapResult = tr.mapping.mapResult(cur),
50
- deleted = _tr$mapping$mapResult.deleted,
51
- pos = _tr$mapping$mapResult.pos;
52
-
51
+ deleted = _tr$mapping$mapResult.deleted,
52
+ pos = _tr$mapping$mapResult.pos;
53
53
  return deleted ? null : pos;
54
54
  }
55
55
  },
@@ -62,7 +62,6 @@ function tableEditing() {
62
62
  if (_pluginKey.tableEditingKey.getState(view.state) != null) {
63
63
  return view.state.selection;
64
64
  }
65
-
66
65
  return null;
67
66
  },
68
67
  handleTripleClick: _input.handleTripleClick,
@@ -15,7 +15,5 @@ Object.defineProperty(exports, "tableEditingKey", {
15
15
  return _pluginKey.tableEditingKey;
16
16
  }
17
17
  });
18
-
19
18
  var _tableEditing = require("./pm-plugins/table-editing");
20
-
21
19
  var _pluginKey = require("./pm-plugins/plugin-key");