@seafile/sdoc-editor 0.2.1 → 0.2.3

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.
@@ -55,7 +55,7 @@
55
55
  content: attr(op-item-tooltip);
56
56
  top: -40px;
57
57
  left: -20px;
58
- width: 70px;
58
+ width: 100px;
59
59
  height: 30px;
60
60
  display: flex;
61
61
  justify-content: center;
@@ -18,9 +18,11 @@ var ImageHoverMenu = function ImageHoverMenu(_ref) {
18
18
  onHideImageHoverMenu = _ref.onHideImageHoverMenu,
19
19
  t = _ref.t;
20
20
  var data = element.data,
21
- display_type = element.display_type,
21
+ _element$display_type = element.display_type,
22
+ display_type = _element$display_type === void 0 ? IMAGE_DISPLAY_TYPE[0] : _element$display_type,
22
23
  align = element.align,
23
- border_type = element.border_type;
24
+ _element$border_type = element.border_type,
25
+ border_type = _element$border_type === void 0 ? IMAGE_BORDER_TYPE[0].type : _element$border_type;
24
26
  var _useState = useState({
25
27
  displayPopover: false,
26
28
  alignPopover: false,
@@ -91,7 +93,8 @@ var ImageHoverMenu = function ImageHoverMenu(_ref) {
91
93
  className: "sdocfont sdoc-drop-down icon-font"
92
94
  })), /*#__PURE__*/React.createElement("span", {
93
95
  role: "button",
94
- className: classnames('op-item', 'ml-1', {
96
+ "op-item-tooltip": t('Image_border'),
97
+ className: classnames('op-item', 'op-tooltip', 'ml-1', {
95
98
  'active': popoverState.borderPopover
96
99
  }),
97
100
  onClick: function onClick(e) {
@@ -105,7 +108,8 @@ var ImageHoverMenu = function ImageHoverMenu(_ref) {
105
108
  className: "op-group-item"
106
109
  }, /*#__PURE__*/React.createElement("span", {
107
110
  role: "button",
108
- className: "op-item",
111
+ "op-item-tooltip": t('Full_screen_mode'),
112
+ className: "op-item op-tooltip",
109
113
  onClick: function onClick(e) {
110
114
  e.stopPropagation();
111
115
  setIsShowImagePreview(!isShowImagePreview);
@@ -118,7 +118,8 @@ var Image = function Image(_ref) {
118
118
  // eslint-disable-next-line react-hooks/exhaustive-deps
119
119
  }, []);
120
120
  var onHideImageHoverMenu = useCallback(function (e) {
121
- if (e.target === imageRef.current) return;
121
+ var imagePreviewer = document.getElementsByClassName('sf-editor-image-previewer');
122
+ if (e.target === imageRef.current || imagePreviewer[0].contains(e.target)) return;
122
123
  setIsShowImageHoverMenu(false);
123
124
  }, []);
124
125
  useEffect(function () {
@@ -152,9 +153,10 @@ var Image = function Image(_ref) {
152
153
  if (elem) {
153
154
  var _elem$getBoundingClie = elem.getBoundingClientRect(),
154
155
  top = _elem$getBoundingClie.top,
155
- left = _elem$getBoundingClie.left;
156
+ left = _elem$getBoundingClie.left,
157
+ _width = _elem$getBoundingClie.width;
156
158
  var menuTop = top - 42;
157
- var menuLeft = left - 18;
159
+ var menuLeft = left - 222 / 2 + _width / 2; // left = left distance - (menu width / 2) + (image with / 2)
158
160
  setMenuPosition({
159
161
  top: menuTop,
160
162
  left: menuLeft
@@ -168,7 +170,7 @@ var Image = function Image(_ref) {
168
170
  }, [setPosition]);
169
171
  var reloadImage = useCallback(function () {
170
172
  if (imageRef) {
171
- imageRef.current = getImageURL(data.src);
173
+ imageRef.current['src'] = getImageURL(data.src);
172
174
  }
173
175
  }, [data.src]);
174
176
  var onImageLoadError = useCallback(function () {
@@ -2,6 +2,7 @@ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
2
  import { Editor } from '@seafile/slate';
3
3
  import { getNodeType } from '../../core';
4
4
  import { CODE_BLOCK } from '../../constants/element-type';
5
+ import { TEXT_STYLE_MAP } from '../../constants/menus-config';
5
6
  export var isMenuDisabled = function isMenuDisabled(editor, readonly) {
6
7
  if (readonly) return true;
7
8
  if (editor.selection == null) return true;
@@ -23,6 +24,11 @@ export var isMenuDisabled = function isMenuDisabled(editor, readonly) {
23
24
  return false;
24
25
  };
25
26
  export var addMark = function addMark(editor, type) {
27
+ if (type === TEXT_STYLE_MAP.SUPERSCRIPT) {
28
+ removeMark(editor, TEXT_STYLE_MAP.SUBSCRIPT);
29
+ } else if (type === TEXT_STYLE_MAP.SUBSCRIPT) {
30
+ removeMark(editor, TEXT_STYLE_MAP.SUPERSCRIPT);
31
+ }
26
32
  Editor.addMark(editor, type, true);
27
33
  };
28
34
  export var removeMark = function removeMark(editor, type) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seafile/sdoc-editor",
3
- "version": "0.2.1",
3
+ "version": "0.2.3",
4
4
  "private": false,
5
5
  "description": "This is a sdoc editor",
6
6
  "main": "dist/index.js",
@@ -380,5 +380,7 @@
380
380
  "Checking": "Checking...",
381
381
  "Publishing": "Publishing...",
382
382
  "Inline": "Inline",
383
- "Block": "Block"
383
+ "Block": "Block",
384
+ "Full_screen_mode": "Full screen mode",
385
+ "Image_border": "Image border"
384
386
  }
@@ -380,5 +380,7 @@
380
380
  "Checking": "检查中...",
381
381
  "Publishing": "发布中...",
382
382
  "Inline": "嵌入行内",
383
- "Block": "独占一行"
383
+ "Block": "独占一行",
384
+ "Full_screen_mode": "全屏查看",
385
+ "Image_border": "图片边框"
384
386
  }