@seafile/sdoc-editor 3.0.220 → 3.0.222

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.
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.scrollIntoView = exports.isRangeInNotAllowedType = exports.isNotAllowed = exports.handleReplaceKeyword = exports.getHighlightInfos = exports.drawHighlights = exports.clearCanvas = void 0;
7
+ exports.scrollIntoView = exports.isRangeInNotAllowedType = exports.isNotAllowed = exports.handleReplaceKeyword = exports.getHighlightInfos = exports.generateRangeWhenWrapLine = exports.drawHighlights = exports.clearCanvas = void 0;
8
8
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
9
9
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
10
10
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/toConsumableArray"));
@@ -108,7 +108,7 @@ var getMatchedTextInfos = function getMatchedTextInfos(editor, node, keyword) {
108
108
  }
109
109
  return matchedTextNodeEntires;
110
110
  };
111
- var generateRangeWhenWrapLine = function generateRangeWhenWrapLine(editor, path, index, count, domRange, baseHeight) {
111
+ var generateRangeWhenWrapLine = exports.generateRangeWhenWrapLine = function generateRangeWhenWrapLine(editor, path, index, count, domRange, baseHeight) {
112
112
  var i = 0;
113
113
  var j = 1;
114
114
  var isOverrideForwardRange = true;
@@ -126,7 +126,8 @@ var generateRangeWhenWrapLine = function generateRangeWhenWrapLine(editor, path,
126
126
  };
127
127
  var subRange = _slateReact.ReactEditor.toDOMRange(editor, subSplitRange);
128
128
  var subRangeHeight = Math.round(subRange.getBoundingClientRect().height);
129
- if (subRangeHeight === baseHeight) {
129
+ var isSingleCharacterRange = j === i + 1;
130
+ if (subRangeHeight === baseHeight || isSingleCharacterRange) {
130
131
  isOverrideForwardRange && subHighlightInfos.pop();
131
132
  if (!isOverrideForwardRange) isOverrideForwardRange = true;
132
133
  subHighlightInfos.push({
@@ -362,7 +363,7 @@ var drawHighlights = exports.drawHighlights = function drawHighlights(editor, ra
362
363
  splitRangeIndex = 0;
363
364
  } else {
364
365
  splitRangeIndex = j;
365
- canvasIndex = Math.ceil((y - top) / 5000 - 1);
366
+ canvasIndex = Math.floor((y - top) / 5000);
366
367
  }
367
368
  }
368
369
  } while (rangeIndex < ranges.length);
@@ -167,6 +167,14 @@ var withTable = function withTable(editor) {
167
167
  if (!selection) {
168
168
  return deleteFragment(unit);
169
169
  }
170
+ var collapseSelection = function collapseSelection(point) {
171
+ if (point && _slate.Editor.hasPath(editor, point.path)) {
172
+ _slate.Transforms.select(editor, {
173
+ anchor: point,
174
+ focus: point
175
+ });
176
+ }
177
+ };
170
178
  var match = function match(n) {
171
179
  return n.type === _constants2.TABLE;
172
180
  };
@@ -228,8 +236,8 @@ var withTable = function withTable(editor) {
228
236
  at: selection.focus,
229
237
  match: match
230
238
  });
231
- var _columnLength = focusEntry[0].columns.length;
232
239
  if (focusEntry) {
240
+ var _columnLength = focusEntry[0].columns.length;
233
241
  var focus = selection.focus;
234
242
  var _isForward = _slate.Range.isForward(selection);
235
243
  if (_isForward) {
@@ -242,13 +250,29 @@ var withTable = function withTable(editor) {
242
250
  });
243
251
 
244
252
  // delete other module
245
- var newFocus = (0, _core.getEndPoint)(editor, _slate.Path.previous(focusEntry[1]));
246
- _slate.Transforms["delete"](editor, {
247
- at: (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, selection), {}, {
248
- focus: newFocus
249
- })
253
+ var prevBlockPath = _slate.Path.previous(focusEntry[1]);
254
+ var newFocus = (0, _core.getEndPoint)(editor, prevBlockPath);
255
+ var range = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, selection), {}, {
256
+ focus: newFocus
250
257
  });
251
- (0, _core.focusEditor)(editor, focus.path);
258
+ var targetFocus = {
259
+ path: focus.path,
260
+ offset: 0
261
+ };
262
+ if (_slate.Range.isCollapsed(range) && _slate.Editor.hasPath(editor, prevBlockPath)) {
263
+ _slate.Transforms.removeNodes(editor, {
264
+ at: prevBlockPath
265
+ });
266
+ targetFocus = {
267
+ path: prevBlockPath.concat(focus.path.slice(focusEntry[1].length)),
268
+ offset: 0
269
+ };
270
+ } else {
271
+ _slate.Transforms["delete"](editor, {
272
+ at: range
273
+ });
274
+ }
275
+ collapseSelection(targetFocus);
252
276
  return;
253
277
  }
254
278
  } else {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seafile/sdoc-editor",
3
- "version": "3.0.220",
3
+ "version": "3.0.222",
4
4
  "main": "dist/index.js",
5
5
  "scripts": {
6
6
  "test": "jest",
@@ -72,5 +72,5 @@
72
72
  "publishConfig": {
73
73
  "access": "public"
74
74
  },
75
- "gitHead": "eb733d7cba898370c67f4790bb78bed769d8c860"
75
+ "gitHead": "cfbf3cf2a8e0f148292fc1201ca31f86a412459b"
76
76
  }