@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.
- package/dist/basic-sdk/extension/plugins/image/hover-menu/index.css +1 -1
- package/dist/basic-sdk/extension/plugins/image/hover-menu/index.js +8 -4
- package/dist/basic-sdk/extension/plugins/image/render-elem.js +6 -4
- package/dist/basic-sdk/extension/plugins/text-style/helpers.js +6 -0
- package/package.json +1 -1
- package/public/locales/en/sdoc-editor.json +3 -1
- package/public/locales/zh_CN/sdoc-editor.json +3 -1
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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 -
|
|
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