@seafile/sdoc-editor 2.0.169 → 2.0.171

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.
@@ -141,6 +141,7 @@ var CommentItemCollapseWrapper = function CommentItemCollapseWrapper(_ref) {
141
141
  }, [latestReply, t]);
142
142
  var handleScrollToArticle = (0, _react.useCallback)(function (e) {
143
143
  e.stopPropagation();
144
+ if (!element) return;
144
145
  var dom = _slateReact.ReactEditor.toDOMNode(editor, element);
145
146
  var headerHeight = 56 + 37;
146
147
  scrollRef.current.scrollTo({
@@ -401,6 +401,7 @@ var CommentItemWrapper = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref
401
401
  });
402
402
  var handleScrollToArticle = (0, _react.useCallback)(function (e) {
403
403
  e.stopPropagation();
404
+ if (!element) return;
404
405
  var dom = _slateReact.ReactEditor.toDOMNode(editor, element);
405
406
  var headerHeight = 56 + 37;
406
407
  scrollRef.current.scrollTo({
@@ -23,10 +23,11 @@ var ImagePreviewer = /*#__PURE__*/function (_React$Component) {
23
23
  (0, _defineProperty2["default"])(_this, "getImageNodes", function (nodes) {
24
24
  var nodeIndex = 0;
25
25
  var list = [];
26
+ var editor = _this.props.editor;
26
27
  while (nodes && nodeIndex <= nodes.length - 1) {
27
28
  var currentNode = nodes[nodeIndex];
28
29
  if (currentNode.type === 'image') {
29
- var url = (0, _helpers.getImageURL)(currentNode.data);
30
+ var url = (0, _helpers.getImageURL)(currentNode.data, editor);
30
31
  url && list.push(url);
31
32
  } else {
32
33
  list.push.apply(list, (0, _toConsumableArray2["default"])(_this.getImageNodes(currentNode.children)));
@@ -49,9 +50,9 @@ var ImagePreviewer = /*#__PURE__*/function (_React$Component) {
49
50
  };
50
51
  });
51
52
  });
52
- var editor = props.editor,
53
+ var _editor = props.editor,
53
54
  imageUrl = props.imageUrl;
54
- _this.images = _this.getImageNodes(editor.children);
55
+ _this.images = _this.getImageNodes(_editor.children);
55
56
  _this.state = {
56
57
  imageIndex: _this.images.findIndex(function (item) {
57
58
  return item === imageUrl;
@@ -277,6 +277,7 @@ var selectImageWhenSelectPartial = exports.selectImageWhenSelectPartial = functi
277
277
  var isMouseLeftDown = event.buttons === 1;
278
278
  if (!isMouseLeftDown) return;
279
279
  var selection = editor.selection;
280
+ if (!selection) return;
280
281
  if (_slate.Range.isCollapsed(selection)) return;
281
282
  var imagePath = _slateReact.ReactEditor.findPath(editor, imageNode);
282
283
  if (imageNode.type === _constants2.IMAGE_BLOCK) {
@@ -304,7 +304,7 @@ var ImageHoverMenu = function ImageHoverMenu(_ref) {
304
304
  className: "sdocfont sdoc-check-mark sdoc-dropdown-item-right-icon"
305
305
  })));
306
306
  })), isShowImagePreview && /*#__PURE__*/_react["default"].createElement(_imagePreviewer["default"], {
307
- imageUrl: (0, _helpers.getImageURL)(data),
307
+ imageUrl: (0, _helpers.getImageURL)(data, editor),
308
308
  editor: editor,
309
309
  toggleImagePreviewer: function toggleImagePreviewer() {
310
310
  setIsShowImagePreview(!isShowImagePreview);
@@ -93,6 +93,10 @@ var Image = function Image(_ref) {
93
93
  }),
94
94
  isUploadLoading = _useUploadImage.isUploadLoading,
95
95
  isUploadError = _useUploadImage.isUploadError;
96
+ var _useState11 = (0, _react.useState)(true),
97
+ _useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
98
+ canEditable = _useState12[0],
99
+ setCanEditable = _useState12[1];
96
100
  var registerEvent = (0, _react.useCallback)(function (eventList) {
97
101
  eventList.forEach(function (element) {
98
102
  document.addEventListener(element.eventName, element.event);
@@ -273,6 +277,9 @@ var Image = function Image(_ref) {
273
277
  setIsShowImagePlaceholder(false);
274
278
  }
275
279
  }, [element === null || element === void 0 ? void 0 : element.data]);
280
+ var onSetFocus = (0, _react.useCallback)(function () {
281
+ setCanEditable(false);
282
+ }, []);
276
283
  var onSetCaption = (0, _react.useCallback)(function (e) {
277
284
  var path = _slateReact.ReactEditor.findPath(editor, element);
278
285
  var newData = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, data), {}, {
@@ -285,6 +292,7 @@ var Image = function Image(_ref) {
285
292
  at: path
286
293
  });
287
294
  }
295
+ setCanEditable(true);
288
296
  }, [data, editor, element]);
289
297
  return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, isShowImagePlaceholder && /*#__PURE__*/_react["default"].createElement("span", Object.assign({
290
298
  className: (0, _classnames["default"])('sdoc-image-wrapper', className)
@@ -320,7 +328,7 @@ var Image = function Image(_ref) {
320
328
  "data-id": element.id,
321
329
  className: (0, _classnames["default"])('sdoc-image-wrapper', className)
322
330
  }, attributes, {
323
- contentEditable: "true",
331
+ contentEditable: canEditable,
324
332
  suppressContentEditableWarning: true,
325
333
  style: (0, _objectSpread2["default"])({}, style),
326
334
  onMouseOver: function onMouseOver(e) {
@@ -369,6 +377,7 @@ var Image = function Image(_ref) {
369
377
  value: caption,
370
378
  disabled: readOnly,
371
379
  onBlur: onSetCaption,
380
+ onFocus: onSetFocus,
372
381
  onChange: function onChange(e) {
373
382
  setCaption(e.target.value);
374
383
  },
@@ -3,7 +3,7 @@
3
3
  padding: .5rem 1rem .5rem 0;
4
4
  }
5
5
 
6
- .sdoc-wiki-viewer-outline .outline-h2,
6
+ .sdoc-wiki-viewer-outline .outline-h2,
7
7
  .sdoc-wiki-viewer-outline .outline-h3 {
8
8
  white-space: nowrap;
9
9
  overflow: hidden;
@@ -13,7 +13,7 @@
13
13
  .sdoc-wiki-viewer-outline .outline-h2 {
14
14
  margin-left: 20px;
15
15
  line-height: 2.5;
16
- color:#364149;
16
+ color: #364149;
17
17
  white-space: nowrap;
18
18
  cursor: pointer;
19
19
  }
@@ -25,9 +25,9 @@
25
25
  .sdoc-wiki-viewer-outline .outline-h3 {
26
26
  margin-left: 40px;
27
27
  line-height: 2.5;
28
- color:#364149;
28
+ color: #364149;
29
29
  white-space: nowrap;
30
- cursor:pointer;
30
+ cursor: pointer;
31
31
  }
32
32
 
33
33
  .sdoc-wiki-viewer-outline .outline-h3:hover {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seafile/sdoc-editor",
3
- "version": "2.0.169",
3
+ "version": "2.0.171",
4
4
  "main": "dist/index.js",
5
5
  "scripts": {
6
6
  "test": "jest",
@@ -71,5 +71,5 @@
71
71
  "publishConfig": {
72
72
  "access": "public"
73
73
  },
74
- "gitHead": "81b15b595b10919c9f8bb95965e71ac0d1dceb6c"
74
+ "gitHead": "eb6f48e69f80043974e17b540f2a6f0f72fa7e16"
75
75
  }