@seafile/sdoc-editor 2.0.202 → 3.0.0
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/extension/commons/select-file-dialog/index.css +0 -1
- package/dist/extension/commons/select-file-dialog/list-view/index.css +0 -6
- package/dist/extension/commons/select-file-dialog/tree-view/index.css +0 -7
- package/dist/extension/constants/menus-config.js +1 -1
- package/dist/extension/plugins/link/dialog/add-link-dialog/index.js +1 -1
- package/dist/extension/plugins/link/helpers.js +1 -2
- package/dist/extension/plugins/video/helpers.js +0 -1
- package/dist/extension/plugins/video/menu/index.js +1 -1
- package/dist/extension/toolbar/insert-element-toolbar/index.js +66 -25
- package/dist/extension/toolbar/side-toolbar/insert-block-menu.js +60 -9
- package/package.json +2 -2
|
@@ -76,13 +76,6 @@
|
|
|
76
76
|
|
|
77
77
|
.sdoc-files-tree .sdoc-file-info .sdoc-file-name {
|
|
78
78
|
font-size: 14px;
|
|
79
|
-
white-space: nowrap;
|
|
80
|
-
overflow: hidden;
|
|
81
|
-
text-overflow: ellipsis;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
.sdoc-files-tree .sdoc-file-info:has(.sdoc-file-checked) .sdoc-file-name {
|
|
85
|
-
padding-right: 32px;
|
|
86
79
|
}
|
|
87
80
|
|
|
88
81
|
.sdoc-files-tree .sdoc-folder-children {
|
|
@@ -293,7 +293,7 @@ var SIDE_INSERT_MENUS_CONFIG = exports.SIDE_INSERT_MENUS_CONFIG = (_SIDE_INSERT_
|
|
|
293
293
|
type: _elementType.IMAGE,
|
|
294
294
|
text: 'Image'
|
|
295
295
|
}), _elementType.VIDEO, {
|
|
296
|
-
id: '',
|
|
296
|
+
id: 'sdoc-side-menu-item-video',
|
|
297
297
|
iconClass: 'sdocfont sdoc-video',
|
|
298
298
|
type: _elementType.VIDEO,
|
|
299
299
|
text: 'Video'
|
|
@@ -173,7 +173,7 @@ var AddLinkDialog = function AddLinkDialog(_ref) {
|
|
|
173
173
|
return function () {
|
|
174
174
|
return clearTimeout(timer);
|
|
175
175
|
};
|
|
176
|
-
}, [
|
|
176
|
+
}, []);
|
|
177
177
|
(0, _react.useEffect)(function () {
|
|
178
178
|
var genHtml = /*#__PURE__*/function () {
|
|
179
179
|
var _ref3 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/(0, _regenerator2["default"])().m(function _callee() {
|
|
@@ -252,7 +252,7 @@ var parseHtmlString = exports.parseHtmlString = function parseHtmlString(htmlStr
|
|
|
252
252
|
var parser = new DOMParser();
|
|
253
253
|
var doc = parser.parseFromString(htmlString, 'text/html');
|
|
254
254
|
var resultHtml;
|
|
255
|
-
if (targetType
|
|
255
|
+
if (targetType == 'img') {
|
|
256
256
|
resultHtml = (0, _toConsumableArray2["default"])(doc.querySelectorAll('p:has(img)')).map(function (p) {
|
|
257
257
|
return p.outerHTML;
|
|
258
258
|
}).join('');
|
|
@@ -264,7 +264,6 @@ var parseHtmlString = exports.parseHtmlString = function parseHtmlString(htmlStr
|
|
|
264
264
|
return resultHtml;
|
|
265
265
|
};
|
|
266
266
|
var isEmptyNode = exports.isEmptyNode = function isEmptyNode(node) {
|
|
267
|
-
if (node.type === _constants.IMAGE_BLOCK) return false;
|
|
268
267
|
var text = _slate.Node.string(node);
|
|
269
268
|
return text.trim() === '';
|
|
270
269
|
};
|
|
@@ -125,7 +125,6 @@ var insertVideo = exports.insertVideo = function insertVideo(editor, videoFiles,
|
|
|
125
125
|
_slate.Transforms.insertNodes(editor, p, {
|
|
126
126
|
at: [path[0] + 1]
|
|
127
127
|
});
|
|
128
|
-
(0, _core.focusEditor)(editor, [path[0] + 1, 2]);
|
|
129
128
|
return;
|
|
130
129
|
}
|
|
131
130
|
var aboveNodeEntry = (0, _core.getAboveBlockNode)(editor);
|
|
@@ -58,7 +58,7 @@ var VideoMenu = function VideoMenu(_ref) {
|
|
|
58
58
|
hideArrow: true,
|
|
59
59
|
fade: false
|
|
60
60
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
61
|
-
className: "sdoc-insert-video-menu-popover-container sdoc-dropdown-menu-container
|
|
61
|
+
className: "sdoc-insert-video-menu-popover-container sdoc-dropdown-menu-container"
|
|
62
62
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
63
63
|
className: "sdoc-dropdown-menu-item",
|
|
64
64
|
onClick: openLocalVideoDialog
|
|
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports["default"] = void 0;
|
|
9
9
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
|
|
10
|
-
var
|
|
10
|
+
var _objectSpread4 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
|
|
11
11
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
12
12
|
var _react = _interopRequireWildcard(require("react"));
|
|
13
13
|
var _reactI18next = require("react-i18next");
|
|
@@ -27,8 +27,9 @@ var _transforms = require("../../plugins/list/transforms");
|
|
|
27
27
|
var _helper2 = require("../../plugins/multi-column/helper");
|
|
28
28
|
var _helpers3 = require("../../plugins/table/helpers");
|
|
29
29
|
var _tableSizePopover = _interopRequireDefault(require("../../plugins/table/popover/table-size-popover"));
|
|
30
|
+
var _helpers4 = require("../../plugins/video/helpers");
|
|
30
31
|
var _utils = require("../../utils");
|
|
31
|
-
var
|
|
32
|
+
var _helpers5 = require("../side-toolbar/helpers");
|
|
32
33
|
var _const = require("./const");
|
|
33
34
|
require("./style.css");
|
|
34
35
|
var QuickInsertBlockMenu = function QuickInsertBlockMenu(_ref) {
|
|
@@ -73,11 +74,28 @@ var QuickInsertBlockMenu = function QuickInsertBlockMenu(_ref) {
|
|
|
73
74
|
}
|
|
74
75
|
eventBus.dispatch(_constants.INTERNAL_EVENT.INSERT_ELEMENT, {
|
|
75
76
|
type: _constants2.LOCAL_VIDEO,
|
|
76
|
-
|
|
77
|
-
slateNode: slateNode
|
|
77
|
+
editor: editor
|
|
78
78
|
});
|
|
79
79
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
80
80
|
}, [editor, insertPosition]);
|
|
81
|
+
var addVideoLink = (0, _react.useCallback)(function () {
|
|
82
|
+
callback && callback();
|
|
83
|
+
var eventBus = _eventBus["default"].getInstance();
|
|
84
|
+
eventBus.dispatch(_constants.INTERNAL_EVENT.INSERT_ELEMENT, {
|
|
85
|
+
type: _constants2.ELEMENT_TYPE.VIDEO_LINK,
|
|
86
|
+
editor: editor
|
|
87
|
+
});
|
|
88
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
89
|
+
}, [editor]);
|
|
90
|
+
var openSelectVideoFileDialog = (0, _react.useCallback)(function () {
|
|
91
|
+
callback && callback();
|
|
92
|
+
var eventBus = _eventBus["default"].getInstance();
|
|
93
|
+
eventBus.dispatch(_constants.INTERNAL_EVENT.INSERT_ELEMENT, {
|
|
94
|
+
type: _constants2.ELEMENT_TYPE.VIDEO,
|
|
95
|
+
insertVideo: _helpers4.insertVideo
|
|
96
|
+
});
|
|
97
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
98
|
+
}, []);
|
|
81
99
|
var createTable = (0, _react.useCallback)(function (size) {
|
|
82
100
|
callback && callback();
|
|
83
101
|
var newInsertPosition = slateNode.type === _constants2.ELEMENT_TYPE.LIST_ITEM ? _constants2.INSERT_POSITION.AFTER : insertPosition;
|
|
@@ -112,7 +130,7 @@ var QuickInsertBlockMenu = function QuickInsertBlockMenu(_ref) {
|
|
|
112
130
|
}, [editor, insertPosition, slateNode]);
|
|
113
131
|
var onInsert = (0, _react.useCallback)(function (type) {
|
|
114
132
|
callback && callback();
|
|
115
|
-
(0,
|
|
133
|
+
(0, _helpers5.insertElement)(editor, type, insertPosition);
|
|
116
134
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
117
135
|
}, [editor, insertPosition, slateNode]);
|
|
118
136
|
var onInsertCallout = (0, _react.useCallback)(function (type) {
|
|
@@ -125,7 +143,7 @@ var QuickInsertBlockMenu = function QuickInsertBlockMenu(_ref) {
|
|
|
125
143
|
}
|
|
126
144
|
});
|
|
127
145
|
} else if (insertPosition === _constants2.INSERT_POSITION.AFTER) {
|
|
128
|
-
(0,
|
|
146
|
+
(0, _helpers5.insertElement)(editor, type, insertPosition);
|
|
129
147
|
(0, _helper.wrapCallout)(editor);
|
|
130
148
|
}
|
|
131
149
|
}, [callback, editor, insertPosition]);
|
|
@@ -185,26 +203,49 @@ var QuickInsertBlockMenu = function QuickInsertBlockMenu(_ref) {
|
|
|
185
203
|
(0, _helper2.insertMultiColumn)(editor, editor.selection, newInsertPosition, type);
|
|
186
204
|
}, [callback, editor, insertPosition, slateNode]);
|
|
187
205
|
var dropDownItems = (0, _react.useMemo)(function () {
|
|
188
|
-
var items = (0,
|
|
206
|
+
var items = (0, _objectSpread4["default"])((0, _objectSpread4["default"])((0, _defineProperty2["default"])({}, _constants2.IMAGE, /*#__PURE__*/_react["default"].createElement(_dropdownMenuItem["default"], {
|
|
189
207
|
isHidden: !quickInsertMenuSearchMap[_constants2.IMAGE],
|
|
190
208
|
disabled: isDisableImage,
|
|
191
209
|
key: "sdoc-insert-menu-image",
|
|
192
|
-
menuConfig: (0,
|
|
210
|
+
menuConfig: (0, _objectSpread4["default"])({}, _constants2.SIDE_INSERT_MENUS_CONFIG[_constants2.ELEMENT_TYPE.IMAGE]),
|
|
193
211
|
onClick: onInsertImageToggle
|
|
194
|
-
})),
|
|
212
|
+
})), editor.editorType !== _constants.DOCUMENT_PLUGIN_EDITOR && (0, _defineProperty2["default"])({}, _constants2.VIDEO,
|
|
213
|
+
/*#__PURE__*/
|
|
214
|
+
// eslint-disable-next-line react/jsx-indent
|
|
215
|
+
_react["default"].createElement(_dropdownMenuItem["default"], {
|
|
195
216
|
isHidden: !quickInsertMenuSearchMap[_constants2.VIDEO],
|
|
196
217
|
disabled: isDisableVideo,
|
|
197
218
|
key: "sdoc-insert-menu-video",
|
|
198
|
-
menuConfig: (0,
|
|
219
|
+
menuConfig: (0, _objectSpread4["default"])({}, _constants2.SIDE_INSERT_MENUS_CONFIG[_constants2.ELEMENT_TYPE.VIDEO]),
|
|
220
|
+
className: "pr-2"
|
|
221
|
+
}, /*#__PURE__*/_react["default"].createElement("i", {
|
|
222
|
+
className: "sdocfont sdoc-right-slide sdoc-dropdown-item-right-icon"
|
|
223
|
+
}), /*#__PURE__*/_react["default"].createElement(_reactstrap.UncontrolledPopover, {
|
|
224
|
+
target: "sdoc-side-menu-item-video",
|
|
225
|
+
trigger: "hover",
|
|
226
|
+
className: "sdoc-menu-popover sdoc-dropdown-menu sdoc-sub-dropdown-menu sdoc-insert-video-menu-popover",
|
|
227
|
+
placement: "left-start",
|
|
228
|
+
hideArrow: true,
|
|
229
|
+
fade: false
|
|
230
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
231
|
+
className: "sdoc-insert-video-menu-popover-container sdoc-dropdown-menu-container"
|
|
232
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
233
|
+
className: "sdoc-dropdown-menu-item",
|
|
199
234
|
onClick: onInsertVideoToggle
|
|
200
|
-
})),
|
|
235
|
+
}, t('Upload_local_video')), /*#__PURE__*/_react["default"].createElement("div", {
|
|
236
|
+
className: "sdoc-dropdown-menu-item",
|
|
237
|
+
onClick: addVideoLink
|
|
238
|
+
}, t('Add_video_link')), editor.editorType !== _constants.WIKI_EDITOR && /*#__PURE__*/_react["default"].createElement("div", {
|
|
239
|
+
className: "sdoc-dropdown-menu-item",
|
|
240
|
+
onClick: openSelectVideoFileDialog
|
|
241
|
+
}, t('Link_video_file'))))))), {}, (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])({}, _constants2.TABLE,
|
|
201
242
|
/*#__PURE__*/
|
|
202
243
|
// eslint-disable-next-line react/jsx-indent
|
|
203
244
|
_react["default"].createElement(_dropdownMenuItem["default"], {
|
|
204
245
|
isHidden: !quickInsertMenuSearchMap[_constants2.TABLE],
|
|
205
246
|
disabled: isDisableTable,
|
|
206
247
|
key: "sdoc-insert-menu-table",
|
|
207
|
-
menuConfig: (0,
|
|
248
|
+
menuConfig: (0, _objectSpread4["default"])({}, _constants2.SIDE_INSERT_MENUS_CONFIG[_constants2.ELEMENT_TYPE.TABLE]),
|
|
208
249
|
className: "pr-2"
|
|
209
250
|
}, /*#__PURE__*/_react["default"].createElement("i", {
|
|
210
251
|
className: "sdocfont sdoc-right-slide sdoc-dropdown-item-right-icon"
|
|
@@ -221,75 +262,75 @@ var QuickInsertBlockMenu = function QuickInsertBlockMenu(_ref) {
|
|
|
221
262
|
}))), _constants2.LINK, /*#__PURE__*/_react["default"].createElement(_dropdownMenuItem["default"], {
|
|
222
263
|
isHidden: !quickInsertMenuSearchMap[_constants2.LINK],
|
|
223
264
|
key: "sdoc-insert-menu-link",
|
|
224
|
-
menuConfig: (0,
|
|
265
|
+
menuConfig: (0, _objectSpread4["default"])({}, _constants2.SIDE_INSERT_MENUS_CONFIG[_constants2.ELEMENT_TYPE.LINK]),
|
|
225
266
|
onClick: openLinkDialog
|
|
226
267
|
})), _constants2.CODE_BLOCK, /*#__PURE__*/_react["default"].createElement(_dropdownMenuItem["default"], {
|
|
227
268
|
isHidden: !quickInsertMenuSearchMap[_constants2.CODE_BLOCK],
|
|
228
269
|
disabled: isDisableCodeBlock,
|
|
229
270
|
key: "sdoc-insert-menu-code-block",
|
|
230
|
-
menuConfig: (0,
|
|
271
|
+
menuConfig: (0, _objectSpread4["default"])({}, _constants2.SIDE_INSERT_MENUS_CONFIG[_constants2.ELEMENT_TYPE.CODE_BLOCK]),
|
|
231
272
|
onClick: onInsertCodeBlock
|
|
232
273
|
})), _constants2.CALL_OUT, /*#__PURE__*/_react["default"].createElement(_dropdownMenuItem["default"], {
|
|
233
274
|
isHidden: !quickInsertMenuSearchMap[_constants2.CALL_OUT],
|
|
234
275
|
disabled: isDisableCallout,
|
|
235
276
|
key: "sdoc-insert-menu-callout",
|
|
236
|
-
menuConfig: (0,
|
|
277
|
+
menuConfig: (0, _objectSpread4["default"])({}, _constants2.SIDE_INSERT_MENUS_CONFIG[_constants2.ELEMENT_TYPE.CALL_OUT]),
|
|
237
278
|
onClick: function onClick() {
|
|
238
279
|
return onInsertCallout(_constants2.PARAGRAPH);
|
|
239
280
|
}
|
|
240
281
|
})), _constants2.UNORDERED_LIST, /*#__PURE__*/_react["default"].createElement(_dropdownMenuItem["default"], {
|
|
241
282
|
isHidden: !quickInsertMenuSearchMap[_constants2.UNORDERED_LIST],
|
|
242
283
|
key: "sdoc-insert-menu-unorder-list",
|
|
243
|
-
menuConfig: (0,
|
|
284
|
+
menuConfig: (0, _objectSpread4["default"])({}, _constants2.SIDE_INSERT_MENUS_CONFIG[_constants2.ELEMENT_TYPE.UNORDERED_LIST]),
|
|
244
285
|
onClick: function onClick() {
|
|
245
286
|
onInsertList(_constants2.ELEMENT_TYPE.UNORDERED_LIST);
|
|
246
287
|
}
|
|
247
288
|
})), _constants2.ORDERED_LIST, /*#__PURE__*/_react["default"].createElement(_dropdownMenuItem["default"], {
|
|
248
289
|
isHidden: !quickInsertMenuSearchMap[_constants2.ORDERED_LIST],
|
|
249
290
|
key: "sdoc-insert-menu-order-list",
|
|
250
|
-
menuConfig: (0,
|
|
291
|
+
menuConfig: (0, _objectSpread4["default"])({}, _constants2.SIDE_INSERT_MENUS_CONFIG[_constants2.ELEMENT_TYPE.ORDERED_LIST]),
|
|
251
292
|
onClick: function onClick() {
|
|
252
293
|
onInsertList(_constants2.ELEMENT_TYPE.ORDERED_LIST);
|
|
253
294
|
}
|
|
254
295
|
})), _constants2.CHECK_LIST_ITEM, /*#__PURE__*/_react["default"].createElement(_dropdownMenuItem["default"], {
|
|
255
296
|
isHidden: !quickInsertMenuSearchMap[_constants2.CHECK_LIST_ITEM],
|
|
256
297
|
key: "sdoc-insert-menu-check-list",
|
|
257
|
-
menuConfig: (0,
|
|
298
|
+
menuConfig: (0, _objectSpread4["default"])({}, _constants2.SIDE_INSERT_MENUS_CONFIG[_constants2.ELEMENT_TYPE.CHECK_LIST_ITEM]),
|
|
258
299
|
onClick: onInsertCheckList
|
|
259
300
|
})), _constants2.PARAGRAPH, /*#__PURE__*/_react["default"].createElement(_dropdownMenuItem["default"], {
|
|
260
301
|
isHidden: !quickInsertMenuSearchMap[_constants2.PARAGRAPH],
|
|
261
302
|
disabled: isEmptyNode,
|
|
262
303
|
key: "sdoc-insert-menu-paragraph",
|
|
263
|
-
menuConfig: (0,
|
|
304
|
+
menuConfig: (0, _objectSpread4["default"])({}, _constants2.SIDE_INSERT_MENUS_CONFIG[_constants2.ELEMENT_TYPE.PARAGRAPH]),
|
|
264
305
|
onClick: function onClick() {
|
|
265
306
|
return onInsert(_constants2.ELEMENT_TYPE.PARAGRAPH);
|
|
266
307
|
}
|
|
267
|
-
}));
|
|
308
|
+
})));
|
|
268
309
|
if (_commonUtils.isMobile) {
|
|
269
310
|
items = (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])({}, _constants2.UNORDERED_LIST, /*#__PURE__*/_react["default"].createElement(_dropdownMenuItem["default"], {
|
|
270
311
|
isHidden: !quickInsertMenuSearchMap[_constants2.UNORDERED_LIST],
|
|
271
312
|
key: "sdoc-insert-menu-unorder-list",
|
|
272
|
-
menuConfig: (0,
|
|
313
|
+
menuConfig: (0, _objectSpread4["default"])({}, _constants2.SIDE_INSERT_MENUS_CONFIG[_constants2.ELEMENT_TYPE.UNORDERED_LIST]),
|
|
273
314
|
onClick: function onClick() {
|
|
274
315
|
onInsertList(_constants2.ELEMENT_TYPE.UNORDERED_LIST);
|
|
275
316
|
}
|
|
276
317
|
})), _constants2.ORDERED_LIST, /*#__PURE__*/_react["default"].createElement(_dropdownMenuItem["default"], {
|
|
277
318
|
isHidden: !quickInsertMenuSearchMap[_constants2.ORDERED_LIST],
|
|
278
319
|
key: "sdoc-insert-menu-order-list",
|
|
279
|
-
menuConfig: (0,
|
|
320
|
+
menuConfig: (0, _objectSpread4["default"])({}, _constants2.SIDE_INSERT_MENUS_CONFIG[_constants2.ELEMENT_TYPE.ORDERED_LIST]),
|
|
280
321
|
onClick: function onClick() {
|
|
281
322
|
onInsertList(_constants2.ELEMENT_TYPE.ORDERED_LIST);
|
|
282
323
|
}
|
|
283
324
|
})), _constants2.CHECK_LIST_ITEM, /*#__PURE__*/_react["default"].createElement(_dropdownMenuItem["default"], {
|
|
284
325
|
isHidden: !quickInsertMenuSearchMap[_constants2.CHECK_LIST_ITEM],
|
|
285
326
|
key: "sdoc-insert-menu-check-list",
|
|
286
|
-
menuConfig: (0,
|
|
327
|
+
menuConfig: (0, _objectSpread4["default"])({}, _constants2.SIDE_INSERT_MENUS_CONFIG[_constants2.ELEMENT_TYPE.CHECK_LIST_ITEM]),
|
|
287
328
|
onClick: onInsertCheckList
|
|
288
329
|
})), _constants2.PARAGRAPH, /*#__PURE__*/_react["default"].createElement(_dropdownMenuItem["default"], {
|
|
289
330
|
isHidden: !quickInsertMenuSearchMap[_constants2.PARAGRAPH],
|
|
290
331
|
disabled: isEmptyNode,
|
|
291
332
|
key: "sdoc-insert-menu-paragraph",
|
|
292
|
-
menuConfig: (0,
|
|
333
|
+
menuConfig: (0, _objectSpread4["default"])({}, _constants2.SIDE_INSERT_MENUS_CONFIG[_constants2.ELEMENT_TYPE.PARAGRAPH]),
|
|
293
334
|
onClick: function onClick() {
|
|
294
335
|
return onInsert(_constants2.ELEMENT_TYPE.PARAGRAPH);
|
|
295
336
|
}
|
|
@@ -417,7 +458,7 @@ var QuickInsertBlockMenu = function QuickInsertBlockMenu(_ref) {
|
|
|
417
458
|
}, [clearSelectStyle, currentSelectIndex, downDownWrapperRef, onHandleInputFocus]);
|
|
418
459
|
var onChange = (0, _react.useCallback)(function (e) {
|
|
419
460
|
if (!downDownWrapperRef.current.isInputtingChinese) {
|
|
420
|
-
var newMenuSearchMap = (0,
|
|
461
|
+
var newMenuSearchMap = (0, _helpers5.getSearchedOperations)(_constants2.SIDE_QUICK_INSERT_MENUS_SEARCH_MAP, true, e, t, editor);
|
|
421
462
|
setQuickInsertMenuSearchMap(newMenuSearchMap);
|
|
422
463
|
}
|
|
423
464
|
}, [editor, t]);
|
|
@@ -10,6 +10,7 @@ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/
|
|
|
10
10
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/toConsumableArray"));
|
|
11
11
|
var _react = _interopRequireWildcard(require("react"));
|
|
12
12
|
var _reactI18next = require("react-i18next");
|
|
13
|
+
var _reactstrap = require("reactstrap");
|
|
13
14
|
var _slate = require("@seafile/slate");
|
|
14
15
|
var _slateReact = require("@seafile/slate-react");
|
|
15
16
|
var _constants = require("../../../constants");
|
|
@@ -23,7 +24,8 @@ var _transforms = require("../../plugins/list/transforms");
|
|
|
23
24
|
var _helper2 = require("../../plugins/multi-column/helper");
|
|
24
25
|
var _helpers3 = require("../../plugins/table/helpers");
|
|
25
26
|
var _tableSizePopover = _interopRequireDefault(require("../../plugins/table/popover/table-size-popover"));
|
|
26
|
-
var _helpers4 = require("
|
|
27
|
+
var _helpers4 = require("../../plugins/video/helpers");
|
|
28
|
+
var _helpers5 = require("./helpers");
|
|
27
29
|
var InsertBlockMenu = function InsertBlockMenu(_ref) {
|
|
28
30
|
var _ref$insertPosition = _ref.insertPosition,
|
|
29
31
|
insertPosition = _ref$insertPosition === void 0 ? _constants2.INSERT_POSITION.CURRENT : _ref$insertPosition,
|
|
@@ -48,17 +50,42 @@ var InsertBlockMenu = function InsertBlockMenu(_ref) {
|
|
|
48
50
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
49
51
|
}, [editor, insertPosition]);
|
|
50
52
|
var onInsertVideoToggle = (0, _react.useCallback)(function () {
|
|
51
|
-
|
|
52
|
-
if (insertPosition === _constants2.INSERT_POSITION.CURRENT) {
|
|
53
|
+
if (insertPosition === _constants2.INSERT_POSITION.AFTER) {
|
|
53
54
|
_slate.Transforms.select(editor, editor.selection.focus);
|
|
54
55
|
}
|
|
56
|
+
var eventBus = _eventBus["default"].getInstance();
|
|
55
57
|
eventBus.dispatch(_constants.INTERNAL_EVENT.INSERT_ELEMENT, {
|
|
56
58
|
type: _constants2.LOCAL_VIDEO,
|
|
59
|
+
editor: editor,
|
|
60
|
+
insertPosition: insertPosition
|
|
61
|
+
});
|
|
62
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
63
|
+
}, [editor, insertPosition]);
|
|
64
|
+
var addVideoLink = (0, _react.useCallback)(function () {
|
|
65
|
+
if (insertPosition === _constants2.INSERT_POSITION.AFTER) {
|
|
66
|
+
(0, _helpers5.insertElement)(editor, _constants2.PARAGRAPH, insertPosition);
|
|
67
|
+
}
|
|
68
|
+
var eventBus = _eventBus["default"].getInstance();
|
|
69
|
+
eventBus.dispatch(_constants.INTERNAL_EVENT.INSERT_ELEMENT, {
|
|
70
|
+
type: _constants2.ELEMENT_TYPE.VIDEO_LINK,
|
|
71
|
+
editor: editor,
|
|
72
|
+
insertPosition: insertPosition
|
|
73
|
+
});
|
|
74
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
75
|
+
}, [insertPosition, editor]);
|
|
76
|
+
var openSelectVideoFileDialog = (0, _react.useCallback)(function () {
|
|
77
|
+
if (insertPosition === _constants2.INSERT_POSITION.AFTER) {
|
|
78
|
+
(0, _helpers5.insertElement)(editor, _constants2.PARAGRAPH, insertPosition);
|
|
79
|
+
}
|
|
80
|
+
var eventBus = _eventBus["default"].getInstance();
|
|
81
|
+
eventBus.dispatch(_constants.INTERNAL_EVENT.INSERT_ELEMENT, {
|
|
82
|
+
type: _constants2.ELEMENT_TYPE.VIDEO,
|
|
83
|
+
insertVideo: _helpers4.insertVideo,
|
|
57
84
|
insertPosition: insertPosition,
|
|
58
85
|
slateNode: slateNode
|
|
59
86
|
});
|
|
60
87
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
61
|
-
}, [
|
|
88
|
+
}, [insertPosition, slateNode]);
|
|
62
89
|
var createTable = (0, _react.useCallback)(function (size) {
|
|
63
90
|
var newInsertPosition = slateNode.type === _constants2.ELEMENT_TYPE.LIST_ITEM ? _constants2.INSERT_POSITION.AFTER : insertPosition;
|
|
64
91
|
(0, _helpers3.insertTable)(editor, size, editor.selection, newInsertPosition);
|
|
@@ -66,6 +93,9 @@ var InsertBlockMenu = function InsertBlockMenu(_ref) {
|
|
|
66
93
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
67
94
|
}, [editor, insertPosition, slateNode]);
|
|
68
95
|
var openLinkDialog = (0, _react.useCallback)(function () {
|
|
96
|
+
if (insertPosition === _constants2.INSERT_POSITION.AFTER) {
|
|
97
|
+
_slate.Transforms.select(editor, editor.selection.focus);
|
|
98
|
+
}
|
|
69
99
|
var eventBus = _eventBus["default"].getInstance();
|
|
70
100
|
eventBus.dispatch(_constants.INTERNAL_EVENT.INSERT_ELEMENT, {
|
|
71
101
|
type: _constants2.ELEMENT_TYPE.LINK,
|
|
@@ -74,7 +104,7 @@ var InsertBlockMenu = function InsertBlockMenu(_ref) {
|
|
|
74
104
|
});
|
|
75
105
|
|
|
76
106
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
77
|
-
}, [insertPosition]);
|
|
107
|
+
}, [insertPosition, editor]);
|
|
78
108
|
|
|
79
109
|
// const onInsertChart = useCallback(() => {
|
|
80
110
|
// const newInsertPosition = slateNode.type === ELEMENT_TYPE.LIST_ITEM ? INSERT_POSITION.AFTER : insertPosition;
|
|
@@ -97,14 +127,14 @@ var InsertBlockMenu = function InsertBlockMenu(_ref) {
|
|
|
97
127
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
98
128
|
}, [editor, insertPosition, slateNode]);
|
|
99
129
|
var onInsert = (0, _react.useCallback)(function (type) {
|
|
100
|
-
(0,
|
|
130
|
+
(0, _helpers5.insertElement)(editor, type, insertPosition);
|
|
101
131
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
102
132
|
}, [editor, insertPosition, slateNode]);
|
|
103
133
|
var onInsertCallout = (0, _react.useCallback)(function (type) {
|
|
104
134
|
if (insertPosition === _constants2.INSERT_POSITION.CURRENT) {
|
|
105
135
|
(0, _helper.wrapCallout)(editor);
|
|
106
136
|
} else if (insertPosition === _constants2.INSERT_POSITION.AFTER) {
|
|
107
|
-
(0,
|
|
137
|
+
(0, _helpers5.insertElement)(editor, type, insertPosition);
|
|
108
138
|
(0, _helper.wrapCallout)(editor);
|
|
109
139
|
}
|
|
110
140
|
}, [editor, insertPosition]);
|
|
@@ -144,10 +174,31 @@ var InsertBlockMenu = function InsertBlockMenu(_ref) {
|
|
|
144
174
|
onClick: onInsertImageToggle
|
|
145
175
|
}), editor.editorType !== _constants.DOCUMENT_PLUGIN_EDITOR && /*#__PURE__*/_react["default"].createElement(_dropdownMenuItem["default"], {
|
|
146
176
|
isHidden: !insertMenuSearchMap[_constants2.ELEMENT_TYPE.VIDEO],
|
|
147
|
-
|
|
177
|
+
key: "sdoc-insert-menu-video",
|
|
178
|
+
disabled: (0, _helpers5.isInMultiColumnNode)(editor, slateNode),
|
|
148
179
|
menuConfig: (0, _objectSpread2["default"])({}, _constants2.SIDE_INSERT_MENUS_CONFIG[_constants2.ELEMENT_TYPE.VIDEO]),
|
|
180
|
+
className: "pr-2"
|
|
181
|
+
}, /*#__PURE__*/_react["default"].createElement("i", {
|
|
182
|
+
className: "sdocfont sdoc-right-slide sdoc-dropdown-item-right-icon"
|
|
183
|
+
}), /*#__PURE__*/_react["default"].createElement(_reactstrap.UncontrolledPopover, {
|
|
184
|
+
target: "sdoc-side-menu-item-video",
|
|
185
|
+
trigger: "hover",
|
|
186
|
+
className: "sdoc-menu-popover sdoc-dropdown-menu sdoc-sub-dropdown-menu sdoc-insert-video-menu-popover",
|
|
187
|
+
placement: "right-start",
|
|
188
|
+
hideArrow: true,
|
|
189
|
+
fade: false
|
|
190
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
191
|
+
className: "sdoc-insert-video-menu-popover-container sdoc-dropdown-menu-container"
|
|
192
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
193
|
+
className: "sdoc-dropdown-menu-item",
|
|
149
194
|
onClick: onInsertVideoToggle
|
|
150
|
-
}), /*#__PURE__*/_react["default"].createElement(
|
|
195
|
+
}, t('Upload_local_video')), /*#__PURE__*/_react["default"].createElement("div", {
|
|
196
|
+
className: "sdoc-dropdown-menu-item",
|
|
197
|
+
onClick: addVideoLink
|
|
198
|
+
}, t('Add_video_link')), editor.editorType !== _constants.WIKI_EDITOR && /*#__PURE__*/_react["default"].createElement("div", {
|
|
199
|
+
className: "sdoc-dropdown-menu-item",
|
|
200
|
+
onClick: openSelectVideoFileDialog
|
|
201
|
+
}, t('Link_video_file'))))), /*#__PURE__*/_react["default"].createElement(_dropdownMenuItem["default"], {
|
|
151
202
|
isHidden: !insertMenuSearchMap[_constants2.ELEMENT_TYPE.TABLE],
|
|
152
203
|
key: "sdoc-insert-menu-table",
|
|
153
204
|
menuConfig: (0, _objectSpread2["default"])({}, _constants2.SIDE_INSERT_MENUS_CONFIG[_constants2.ELEMENT_TYPE.TABLE]),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@seafile/sdoc-editor",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0",
|
|
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": "
|
|
74
|
+
"gitHead": "bb8d81d4df2885fa2558ae327b02d9ebf12ae093"
|
|
75
75
|
}
|