@seafile/sdoc-editor 3.0.95 → 3.0.96
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.
|
@@ -276,7 +276,6 @@
|
|
|
276
276
|
background: #FAFAFA;
|
|
277
277
|
border: 1px solid #f0f0f0;
|
|
278
278
|
position: relative;
|
|
279
|
-
overflow-y: hidden !important;
|
|
280
279
|
}
|
|
281
280
|
|
|
282
281
|
.sdoc-code-block-pre.hidden {
|
|
@@ -320,7 +319,7 @@
|
|
|
320
319
|
.sdoc-code-block-code.hide-code {
|
|
321
320
|
max-height: 580.2px;
|
|
322
321
|
display: block;
|
|
323
|
-
overflow:
|
|
322
|
+
overflow: scroll;
|
|
324
323
|
}
|
|
325
324
|
|
|
326
325
|
.sdoc-code-block-code .sdoc-code-line {
|
|
@@ -18,6 +18,8 @@ var _eventBus = _interopRequireDefault(require("../../../utils/event-bus"));
|
|
|
18
18
|
var _core = require("../../core");
|
|
19
19
|
var _helpers = require("./helpers");
|
|
20
20
|
var _hoverMenu = _interopRequireDefault(require("./hover-menu"));
|
|
21
|
+
// Max code-block content display height
|
|
22
|
+
var HIDDEN_CODE_BLOCK_MAX_HEIGHT = 570;
|
|
21
23
|
var CodeBlock = function CodeBlock(_ref) {
|
|
22
24
|
var attributes = _ref.attributes,
|
|
23
25
|
children = _ref.children,
|
|
@@ -25,6 +27,7 @@ var CodeBlock = function CodeBlock(_ref) {
|
|
|
25
27
|
editor = _ref.editor;
|
|
26
28
|
var readOnly = (0, _slateReact.useReadOnly)();
|
|
27
29
|
var codeBlockRef = (0, _react.useRef)();
|
|
30
|
+
var codeContentRef = (0, _react.useRef)();
|
|
28
31
|
var scrollRef = (0, _useScrollContext.useScrollContext)();
|
|
29
32
|
var _element$style = element.style,
|
|
30
33
|
style = _element$style === void 0 ? {
|
|
@@ -46,6 +49,10 @@ var CodeBlock = function CodeBlock(_ref) {
|
|
|
46
49
|
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
47
50
|
showAllCode = _useState6[0],
|
|
48
51
|
setShowAllCode = _useState6[1];
|
|
52
|
+
var _useState7 = (0, _react.useState)(false),
|
|
53
|
+
_useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
|
|
54
|
+
isCodeBlockOverflow = _useState8[0],
|
|
55
|
+
setIsCodeBlockOverflow = _useState8[1];
|
|
49
56
|
var onChangeLanguage = (0, _react.useCallback)(function (lang) {
|
|
50
57
|
var language = lang.value;
|
|
51
58
|
var path = _slateReact.ReactEditor.findPath(editor, element);
|
|
@@ -138,10 +145,19 @@ var CodeBlock = function CodeBlock(_ref) {
|
|
|
138
145
|
var handleScroll = function handleScroll() {
|
|
139
146
|
_eventBus["default"].getInstance().dispatch(_constants.INTERNAL_EVENT.UPDATE_SEARCH_REPLACE_HIGHLIGHT);
|
|
140
147
|
};
|
|
141
|
-
var
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
148
|
+
var toggleHidden = (0, _react.useCallback)(function () {
|
|
149
|
+
setShowAllCode(function (prev) {
|
|
150
|
+
return !prev;
|
|
151
|
+
});
|
|
152
|
+
}, []);
|
|
153
|
+
(0, _react.useEffect)(function () {
|
|
154
|
+
if (!codeContentRef.current) return;
|
|
155
|
+
if (codeContentRef.current.clientHeight > Number(HIDDEN_CODE_BLOCK_MAX_HEIGHT)) {
|
|
156
|
+
setIsCodeBlockOverflow(true);
|
|
157
|
+
} else {
|
|
158
|
+
setIsCodeBlockOverflow(false);
|
|
159
|
+
}
|
|
160
|
+
}, [children]);
|
|
145
161
|
return /*#__PURE__*/_react["default"].createElement("div", Object.assign({
|
|
146
162
|
"data-id": element.id
|
|
147
163
|
}, attributes, {
|
|
@@ -151,12 +167,13 @@ var CodeBlock = function CodeBlock(_ref) {
|
|
|
151
167
|
}), /*#__PURE__*/_react["default"].createElement("pre", {
|
|
152
168
|
onScroll: handleScroll,
|
|
153
169
|
className: (0, _classnames["default"])('sdoc-code-block-pre', {
|
|
154
|
-
'hidden':
|
|
170
|
+
'hidden': isCodeBlockOverflow
|
|
155
171
|
}),
|
|
156
172
|
ref: codeBlockRef
|
|
157
173
|
}, /*#__PURE__*/_react["default"].createElement("code", {
|
|
174
|
+
ref: codeContentRef,
|
|
158
175
|
className: "sdoc-code-block-code ".concat(white_space === 'nowrap' ? 'sdoc-code-no-wrap' : '', " ").concat(!showAllCode ? 'hide-code' : '')
|
|
159
|
-
}, children)),
|
|
176
|
+
}, children)), isCodeBlockOverflow && /*#__PURE__*/_react["default"].createElement("span", {
|
|
160
177
|
className: "sdoc-code-block-hidden-icon",
|
|
161
178
|
onClick: toggleHidden,
|
|
162
179
|
contentEditable: false,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@seafile/sdoc-editor",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.96",
|
|
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": "
|
|
75
|
+
"gitHead": "ed0225dc45084b5d615ae9df8ba9dc6a5d025c8f"
|
|
76
76
|
}
|