@seafile/sdoc-editor 2.0.196 → 2.0.198

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.
@@ -49,6 +49,20 @@
49
49
  font-size: calc(100vw / 794 * 14.7) !important;
50
50
  }
51
51
 
52
+ .sdoc-editor-container.fullscreen a,
53
+ .sdoc-editor-container.fullscreen .sdoc-file-link-render,
54
+ .sdoc-editor-container.fullscreen .sdoc-file-render {
55
+ pointer-events: none;
56
+ }
57
+
58
+ .sdoc-editor-container.fullscreen a {
59
+ color: #212529;
60
+ font-weight: 500;
61
+ text-decoration: underline;
62
+ text-underline-position: under;
63
+ text-decoration-color: rgb(55 53 47 / 25%);
64
+ }
65
+
52
66
  .sdoc-editor-container {
53
67
  flex: 1;
54
68
  display: flex;
@@ -184,6 +184,9 @@ var SdocEditor = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
184
184
  window.document.exitFullscreen();
185
185
  }
186
186
  }
187
+ if ((0, _isHotkey["default"])('mod+s', e)) {
188
+ e.preventDefault();
189
+ }
187
190
  };
188
191
  var onFullscreenChange = function onFullscreenChange() {
189
192
  if (!window.document.fullscreenElement) {
@@ -3,6 +3,14 @@
3
3
  height: 100%;
4
4
  }
5
5
 
6
+ .sdoc-file-preview-drawer a {
7
+ color: #212529;
8
+ font-weight: 500;
9
+ text-decoration: underline;
10
+ text-underline-position: under;
11
+ text-decoration-color: rgb(55 53 47 / 25%);
12
+ }
13
+
6
14
  .sdoc-file-preview-drawer .file-preview-panel-wrapper {
7
15
  /* 100vh - toolbar height*/
8
16
  height: calc(100vh - 93px);
@@ -66,7 +74,7 @@
66
74
  text-overflow: ellipsis;
67
75
  }
68
76
 
69
- .sdoc-file-preview-drawer .file-preview-panel-header .file-preview-panel-header-left .sdoc-file-preview-drawer .file-preview-panel-header .file-preview-panel-header-left .title {
77
+ .sdoc-file-preview-drawer .file-preview-panel-header .file-preview-panel-header-left .title {
70
78
  color: #212529;
71
79
  font-size: 16px;
72
80
  font-weight: 500;
@@ -12,6 +12,7 @@ var _slate = require("@seafile/slate");
12
12
  var _slugid = _interopRequireDefault(require("slugid"));
13
13
  var _constants = require("../../constants");
14
14
  var _core = require("../../core");
15
+ var _helper = require("../paragraph/helper");
15
16
  var isMenuDisabled = exports.isMenuDisabled = function isMenuDisabled(editor, readonly) {
16
17
  if (readonly) return true;
17
18
  if (editor.selection == null) return true;
@@ -143,7 +144,7 @@ var getFormattedElements = exports.getFormattedElements = function getFormattedE
143
144
  var getFormattedRestElements = exports.getFormattedRestElements = function getFormattedRestElements(data) {
144
145
  var restElements = data.slice(0);
145
146
  data.forEach(function (item, index) {
146
- if (_slate.Node.string(item).length === 0) {
147
+ if ((0, _helper.isEmptyNode)(item)) {
147
148
  restElements.splice(index, 1);
148
149
  }
149
150
 
@@ -110,7 +110,6 @@ var withBlockquote = function withBlockquote(editor) {
110
110
  var elements = (0, _helpers.getFormattedElements)(data.slice(0, lastIndex + 1));
111
111
  var restElements = (0, _helpers.getFormattedRestElements)(data.slice(lastIndex + 1));
112
112
  var path = _slate.Editor.path(newEditor, newEditor.selection);
113
- console.log(elements);
114
113
 
115
114
  // Insert elements of quote block
116
115
  if (restElements.length !== 0) {
@@ -144,7 +143,6 @@ var withBlockquote = function withBlockquote(editor) {
144
143
 
145
144
  // Insert elements above the quoted block
146
145
  if (elements.length !== 0) {
147
- console.log(elements);
148
146
  _slate.Transforms.insertNodes(newEditor, elements, {
149
147
  at: [path[0]]
150
148
  });
@@ -330,7 +330,7 @@ var Image = function Image(_ref) {
330
330
  "data-parent-id": parentImageBlockId,
331
331
  className: (0, _classnames["default"])('sdoc-image-wrapper', className)
332
332
  }, attributes, {
333
- contentEditable: canEditable,
333
+ contentEditable: !readOnly && canEditable,
334
334
  suppressContentEditableWarning: true,
335
335
  style: (0, _objectSpread2["default"])({}, style),
336
336
  onMouseOver: function onMouseOver(e) {
@@ -23,9 +23,10 @@ var withQuickInsert = function withQuickInsert(editor) {
23
23
  newEditor.isSlashKey = false;
24
24
  newEditor.insertText = function (text) {
25
25
  if (!editor.selection) return insertText(text);
26
- var _getTopLevelBlockNode = (0, _core.getTopLevelBlockNode)(editor),
27
- _getTopLevelBlockNode2 = (0, _slicedToArray2["default"])(_getTopLevelBlockNode, 1),
28
- blockNode = _getTopLevelBlockNode2[0];
26
+ // select multiple top block, top block entry is null
27
+ var topBlockEntry = (0, _core.getTopLevelBlockNode)(editor);
28
+ if (!topBlockEntry) return insertText(text);
29
+ var blockNode = topBlockEntry[0];
29
30
 
30
31
  // Disable quick insert for code block and table
31
32
  if ([_constants2.CODE_BLOCK, _constants2.TABLE].includes(blockNode.type)) {
@@ -29,6 +29,7 @@ var Whiteboard = function Whiteboard(_ref) {
29
29
  title = element.title,
30
30
  link = element.link;
31
31
  var whiteboardRef = (0, _react.useRef)();
32
+ var fullscreenRef = (0, _react.useRef)();
32
33
  var scrollRef = (0, _useScrollContext.useScrollContext)();
33
34
  var isSelected = (0, _slateReact.useSelected)();
34
35
  var readOnly = (0, _slateReact.useReadOnly)();
@@ -47,20 +48,36 @@ var Whiteboard = function Whiteboard(_ref) {
47
48
  var handleMessage = function handleMessage(event) {
48
49
  var _event$data;
49
50
  if (((_event$data = event.data) === null || _event$data === void 0 ? void 0 : _event$data.type) === 'checkSdocParent') {
50
- var isSdocClass = whiteboardRef === null || whiteboardRef === void 0 ? void 0 : whiteboardRef.current.classList.contains('sdoc-whiteboard-element');
51
- var isWhiteboardFullScreen = whiteboardRef === null || whiteboardRef === void 0 ? void 0 : whiteboardRef.current.classList.contains('sdoc-whiteboard-element-full-screen');
52
- whiteboardRef === null || whiteboardRef === void 0 ? void 0 : whiteboardRef.current.contentWindow.postMessage({
53
- type: 'checkSdocParentResult',
54
- isInSdoc: isSdocClass,
55
- isFullScreen: isWhiteboardFullScreen
56
- }, '*');
51
+ var _whiteboardRef$curren, _fullscreenRef$curren;
52
+ var isSdocClass = (_whiteboardRef$curren = whiteboardRef.current) === null || _whiteboardRef$curren === void 0 ? void 0 : _whiteboardRef$curren.classList.contains('sdoc-whiteboard-element');
53
+ var isWhiteboardFullScreen = fullscreenRef === null || fullscreenRef === void 0 ? void 0 : (_fullscreenRef$curren = fullscreenRef.current) === null || _fullscreenRef$curren === void 0 ? void 0 : _fullscreenRef$curren.classList.contains('sdoc-whiteboard-element-full-screen');
54
+ if (whiteboardRef !== null && whiteboardRef !== void 0 && whiteboardRef.current) {
55
+ whiteboardRef === null || whiteboardRef === void 0 ? void 0 : whiteboardRef.current.contentWindow.postMessage({
56
+ type: 'checkSdocParentResult',
57
+ isInSdoc: isSdocClass
58
+ }, '*');
59
+ }
60
+ if (fullscreenRef !== null && fullscreenRef !== void 0 && fullscreenRef.current) {
61
+ fullscreenRef === null || fullscreenRef === void 0 ? void 0 : fullscreenRef.current.contentWindow.postMessage({
62
+ type: 'checkSdocParentResult',
63
+ isFullScreen: isWhiteboardFullScreen
64
+ }, '*');
65
+ }
57
66
  }
58
67
  };
59
68
  var handleWindowResize = function handleWindowResize() {
60
- whiteboardRef === null || whiteboardRef === void 0 ? void 0 : whiteboardRef.current.contentWindow.postMessage({
61
- type: 'resizeWindowWidth',
62
- isResize: true
63
- }, '*');
69
+ if (whiteboardRef !== null && whiteboardRef !== void 0 && whiteboardRef.current) {
70
+ whiteboardRef === null || whiteboardRef === void 0 ? void 0 : whiteboardRef.current.contentWindow.postMessage({
71
+ type: 'resizeWindowWidth',
72
+ isResize: true
73
+ }, '*');
74
+ }
75
+ if (fullscreenRef !== null && fullscreenRef !== void 0 && fullscreenRef.current) {
76
+ fullscreenRef === null || fullscreenRef === void 0 ? void 0 : fullscreenRef.current.contentWindow.postMessage({
77
+ type: 'resizeWindowWidth',
78
+ isResize: true
79
+ }, '*');
80
+ }
64
81
  };
65
82
  var eventBus = _eventBus["default"].getInstance();
66
83
  var unsubscribeResizeArticle = eventBus.subscribe(_constants.INTERNAL_EVENT.RESIZE_ARTICLE, handleWindowResize);
@@ -87,10 +104,10 @@ var Whiteboard = function Whiteboard(_ref) {
87
104
  };
88
105
  var handleScroll = (0, _react.useCallback)(function (e) {
89
106
  if (readOnly) return;
90
- if (!isSelected) return;
107
+ if (!isSelected && !isShowZoomOut) return;
91
108
  var menuPosition = (0, _utils.getMenuPosition)(whiteboardRef.current, editor);
92
109
  setMenuPosition(menuPosition);
93
- }, [editor, isSelected, readOnly]);
110
+ }, [editor, isSelected, readOnly, isShowZoomOut]);
94
111
  (0, _react.useEffect)(function () {
95
112
  if (readOnly) return;
96
113
  var observerRefValue = null;
@@ -175,9 +192,10 @@ var Whiteboard = function Whiteboard(_ref) {
175
192
  return setIsShowZoomOut(false);
176
193
  }
177
194
  }, /*#__PURE__*/_react["default"].createElement("iframe", {
195
+ title: title,
178
196
  className: "sdoc-whiteboard-element-full-screen",
179
197
  src: link,
180
- ref: whiteboardRef
198
+ ref: fullscreenRef
181
199
  })), document.body)));
182
200
  };
183
201
  function renderWhiteboard(props, editor) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seafile/sdoc-editor",
3
- "version": "2.0.196",
3
+ "version": "2.0.198",
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": "d2a4f9a77cc821ace730e164a4c34024972a8fe1"
74
+ "gitHead": "e244b72e3c73330d8d08aff0728e2caec0c10344"
75
75
  }