@seafile/sdoc-editor 3.0.166 → 3.0.167
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/api/seafile-api.js +22 -0
- package/dist/comment/components/comment-list.js +2 -2
- package/dist/comment/components/global-comment/index.js +1 -1
- package/dist/context.js +32 -0
- package/dist/extension/commons/insert-element-dialog/index.js +13 -2
- package/dist/extension/commons/select-lib-file-dialog/helpers.js +59 -0
- package/dist/extension/commons/select-lib-file-dialog/index.css +127 -0
- package/dist/extension/commons/select-lib-file-dialog/index.js +143 -0
- package/dist/extension/commons/select-lib-file-dialog/tree-view/index.css +129 -0
- package/dist/extension/commons/select-lib-file-dialog/tree-view/index.js +221 -0
- package/dist/extension/constants/element-type.js +2 -1
- package/dist/extension/constants/menus-config.js +8 -3
- package/dist/extension/plugins/file-link/menu/index.js +3 -0
- package/dist/extension/plugins/quick-insert/render-elem.js +6 -1
- package/dist/extension/render/render-comment-editor-element.js +2 -3
- package/dist/extension/toolbar/insert-element-toolbar/index.js +51 -32
- package/dist/extension/toolbar/linked-repo-popover/link-repo-list.js +1 -10
- package/package.json +2 -2
package/dist/api/seafile-api.js
CHANGED
|
@@ -340,6 +340,28 @@ var SeafileAPI = /*#__PURE__*/function () {
|
|
|
340
340
|
|
|
341
341
|
return this.req.post(url, form);
|
|
342
342
|
}
|
|
343
|
+
}, {
|
|
344
|
+
key: "listLinkedRepoDir",
|
|
345
|
+
value: function listLinkedRepoDir(docUuid, wikiId, linkedRepoId, dirPath) {
|
|
346
|
+
var url = "/api/v2.1/wiki2/".concat(wikiId, "/linked-repos/").concat(linkedRepoId, "/dir/");
|
|
347
|
+
return this.req.get(url, {
|
|
348
|
+
params: {
|
|
349
|
+
p: dirPath,
|
|
350
|
+
file_uuid: docUuid
|
|
351
|
+
}
|
|
352
|
+
});
|
|
353
|
+
}
|
|
354
|
+
}, {
|
|
355
|
+
key: "getLinkedRepoFileId",
|
|
356
|
+
value: function getLinkedRepoFileId(docUuid, wikiId, linkedRepoId, p) {
|
|
357
|
+
var url = "/api/v2.1/wiki2/".concat(wikiId, "/linked-repos/").concat(linkedRepoId, "/file-uuid/");
|
|
358
|
+
return this.req.get(url, {
|
|
359
|
+
params: {
|
|
360
|
+
p: p,
|
|
361
|
+
file_uuid: docUuid
|
|
362
|
+
}
|
|
363
|
+
});
|
|
364
|
+
}
|
|
343
365
|
}]);
|
|
344
366
|
}();
|
|
345
367
|
var _default = exports["default"] = SeafileAPI;
|
|
@@ -234,7 +234,7 @@ var CommentList = function CommentList(_ref) {
|
|
|
234
234
|
settings: (0, _objectSpread3["default"])((0, _objectSpread3["default"])({}, _context2["default"].getSettings()), {}, {
|
|
235
235
|
mediaUrl: _context2["default"].getSetting('mediaUrl') + 'comment-editor/'
|
|
236
236
|
}),
|
|
237
|
-
placeholder: '
|
|
237
|
+
placeholder: 'shift_enter_for_new_line_Enter_to_send',
|
|
238
238
|
addParticipants: addParticipants,
|
|
239
239
|
participants: participants,
|
|
240
240
|
collaborators: collaborators,
|
|
@@ -281,7 +281,7 @@ var CommentList = function CommentList(_ref) {
|
|
|
281
281
|
settings: (0, _objectSpread3["default"])((0, _objectSpread3["default"])({}, _context2["default"].getSettings()), {}, {
|
|
282
282
|
mediaUrl: _context2["default"].getSetting('mediaUrl') + 'comment-editor/'
|
|
283
283
|
}),
|
|
284
|
-
placeholder: '
|
|
284
|
+
placeholder: 'shift_enter_for_new_line_Enter_to_send',
|
|
285
285
|
addParticipants: addParticipants,
|
|
286
286
|
participants: participants,
|
|
287
287
|
collaborators: collaborators,
|
|
@@ -172,7 +172,7 @@ var GlobalComment = function GlobalComment(_ref) {
|
|
|
172
172
|
setActiveCommentGroup(null);
|
|
173
173
|
}
|
|
174
174
|
}, [commentList, deleteUnseenNotifications]);
|
|
175
|
-
var commentEditorPlaceholder =
|
|
175
|
+
var commentEditorPlaceholder = t('shift_enter_for_new_line_Enter_to_send');
|
|
176
176
|
(0, _react.useEffect)(function () {
|
|
177
177
|
if (!contentRef.current) return;
|
|
178
178
|
if (showEditor) {
|
package/dist/context.js
CHANGED
|
@@ -54,6 +54,24 @@ var Context = /*#__PURE__*/function () {
|
|
|
54
54
|
}
|
|
55
55
|
return _this.settings['repos'];
|
|
56
56
|
});
|
|
57
|
+
(0, _defineProperty2["default"])(this, "getLinkedRepos", function () {
|
|
58
|
+
var repos = _this.getWikiRepos() || [];
|
|
59
|
+
var wikiSettings = _this.getWikiSettings() || {};
|
|
60
|
+
var linkedRepos = wikiSettings.linked_repos || [];
|
|
61
|
+
if (!Array.isArray(repos) || !Array.isArray(linkedRepos) || linkedRepos.length === 0) {
|
|
62
|
+
return [];
|
|
63
|
+
}
|
|
64
|
+
var linkedMap = linkedRepos.reduce(function (ret, id) {
|
|
65
|
+
ret[id] = true;
|
|
66
|
+
return ret;
|
|
67
|
+
}, {});
|
|
68
|
+
return repos.filter(function (item) {
|
|
69
|
+
return linkedMap[item.repo_id];
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
(0, _defineProperty2["default"])(this, "hasLinkedRepos", function () {
|
|
73
|
+
return _this.getLinkedRepos().length > 0;
|
|
74
|
+
});
|
|
57
75
|
(0, _defineProperty2["default"])(this, "uploadLocalImage", function (imageFiles) {
|
|
58
76
|
var docUuid = _this.getSetting('docUuid');
|
|
59
77
|
return _this.api.uploadSdocImage(docUuid, imageFiles).then(function (res) {
|
|
@@ -463,6 +481,20 @@ var Context = /*#__PURE__*/function () {
|
|
|
463
481
|
var wikiId = this.getSetting('wikiId');
|
|
464
482
|
return this.api.modifyView(wikiId, fileViewId, viewData);
|
|
465
483
|
}
|
|
484
|
+
}, {
|
|
485
|
+
key: "listLinkedRepoDir",
|
|
486
|
+
value: function listLinkedRepoDir(repoID, nodePath) {
|
|
487
|
+
var wikiId = this.getSetting('wikiId');
|
|
488
|
+
var docUuid = this.getSetting('docUuid');
|
|
489
|
+
return this.api.listLinkedRepoDir(docUuid, wikiId, repoID, nodePath);
|
|
490
|
+
}
|
|
491
|
+
}, {
|
|
492
|
+
key: "getLinkedRepoFileId",
|
|
493
|
+
value: function getLinkedRepoFileId(repoID, nodePath) {
|
|
494
|
+
var wikiId = this.getSetting('wikiId');
|
|
495
|
+
var docUuid = this.getSetting('docUuid');
|
|
496
|
+
return this.api.getLinkedRepoFileId(docUuid, wikiId, repoID, nodePath);
|
|
497
|
+
}
|
|
466
498
|
}]);
|
|
467
499
|
}();
|
|
468
500
|
var context = new Context();
|
|
@@ -25,7 +25,8 @@ var _index4 = _interopRequireDefault(require("../../plugins/video/dialog/add-vid
|
|
|
25
25
|
var _helpers2 = require("../../plugins/video/helpers");
|
|
26
26
|
var _index5 = _interopRequireDefault(require("../file-insert-dialog/index.js"));
|
|
27
27
|
var _index6 = _interopRequireDefault(require("../select-file-dialog/index.js"));
|
|
28
|
-
var _index7 = _interopRequireDefault(require("../
|
|
28
|
+
var _index7 = _interopRequireDefault(require("../select-lib-file-dialog/index.js"));
|
|
29
|
+
var _index8 = _interopRequireDefault(require("../wiki-file-insert-dialog/index.js"));
|
|
29
30
|
var InsertElementDialog = function InsertElementDialog(_ref) {
|
|
30
31
|
var editor = _ref.editor;
|
|
31
32
|
var _useState = (0, _react.useState)(''),
|
|
@@ -258,6 +259,16 @@ var InsertElementDialog = function InsertElementDialog(_ref) {
|
|
|
258
259
|
};
|
|
259
260
|
return /*#__PURE__*/_react["default"].createElement(_index6["default"], fileLinkProps);
|
|
260
261
|
}
|
|
262
|
+
case _constants2.ELEMENT_TYPE.FILE:
|
|
263
|
+
{
|
|
264
|
+
var _fileLinkProps = {
|
|
265
|
+
editor: validEditor,
|
|
266
|
+
dialogType: dialogType,
|
|
267
|
+
insertLinkCallback: insertLinkCallback,
|
|
268
|
+
closeDialog: closeDialog
|
|
269
|
+
};
|
|
270
|
+
return /*#__PURE__*/_react["default"].createElement(_index7["default"], _fileLinkProps);
|
|
271
|
+
}
|
|
261
272
|
case _constants2.ELEMENT_TYPE.WHITEBOARD:
|
|
262
273
|
{
|
|
263
274
|
var whiteboardProps = {
|
|
@@ -324,7 +335,7 @@ var InsertElementDialog = function InsertElementDialog(_ref) {
|
|
|
324
335
|
case _constants2.ELEMENT_TYPE.FILE_LINK_INSET_INPUT_TEMP:
|
|
325
336
|
{
|
|
326
337
|
if (editor.editorType === _constants.WIKI_EDITOR) {
|
|
327
|
-
return /*#__PURE__*/_react["default"].createElement(
|
|
338
|
+
return /*#__PURE__*/_react["default"].createElement(_index8["default"], {
|
|
328
339
|
element: slateNode,
|
|
329
340
|
editor: editor,
|
|
330
341
|
closeDialog: closeDialog
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.whiteboardFileIcon = exports.parcelFileTypeIcon = exports.getSdocFileIcon = exports.getFileTypeIcon = exports.addDataToTree = void 0;
|
|
8
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
9
|
+
var _context = _interopRequireDefault(require("../../../context"));
|
|
10
|
+
var _constants = require("../../constants");
|
|
11
|
+
var _addDataToTree = exports.addDataToTree = function addDataToTree(treeData, indexId, childrenData, path) {
|
|
12
|
+
for (var i = 0; i < treeData.length; i++) {
|
|
13
|
+
var _treeData$i;
|
|
14
|
+
if (treeData[i].indexId === indexId) {
|
|
15
|
+
treeData[i].children = childrenData;
|
|
16
|
+
treeData[i].children.forEach(function (child) {
|
|
17
|
+
child.path = path + "/".concat(child.name);
|
|
18
|
+
});
|
|
19
|
+
break;
|
|
20
|
+
}
|
|
21
|
+
if ((_treeData$i = treeData[i]) !== null && _treeData$i !== void 0 && _treeData$i.children) {
|
|
22
|
+
var _treeData$i2;
|
|
23
|
+
_addDataToTree((_treeData$i2 = treeData[i]) === null || _treeData$i2 === void 0 ? void 0 : _treeData$i2.children, indexId, childrenData, path);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return treeData;
|
|
27
|
+
};
|
|
28
|
+
var getSdocFileIcon = exports.getSdocFileIcon = function getSdocFileIcon() {
|
|
29
|
+
var server = _context["default"].getSetting('serviceUrl');
|
|
30
|
+
return "".concat(server, "/media/img/file/256/sdoc.png");
|
|
31
|
+
};
|
|
32
|
+
var whiteboardFileIcon = exports.whiteboardFileIcon = function whiteboardFileIcon() {
|
|
33
|
+
var server = _context["default"].getSetting('serviceUrl');
|
|
34
|
+
return "".concat(server, "/media/img/file/256/draw.png");
|
|
35
|
+
};
|
|
36
|
+
var getFileTypeIcon = exports.getFileTypeIcon = function getFileTypeIcon(fileType) {
|
|
37
|
+
var imgResource = ['css', 'draw', 'excel', 'md', 'music', 'pdf', 'pic', 'ppt', 'psd', 'sdoc', 'txt', 'video', 'zip', 'word'];
|
|
38
|
+
if (imgResource.includes(fileType)) {
|
|
39
|
+
var server = _context["default"].getSetting('serviceUrl');
|
|
40
|
+
return "".concat(server, "/media/img/file/256/").concat(fileType, ".png");
|
|
41
|
+
} else {
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
var parcelFileTypeIcon = exports.parcelFileTypeIcon = function parcelFileTypeIcon(fileName) {
|
|
46
|
+
var _Object$entries$find;
|
|
47
|
+
if (!fileName) return '';
|
|
48
|
+
var newFileType = fileName.split('.').pop();
|
|
49
|
+
var fileExtType = (_Object$entries$find = Object.entries(_constants.FILEEXT_TYPE).find(function (_ref) {
|
|
50
|
+
var _ref2 = (0, _slicedToArray2["default"])(_ref, 2),
|
|
51
|
+
extensions = _ref2[1];
|
|
52
|
+
return extensions.some(function (ext) {
|
|
53
|
+
return ext.toLowerCase() === newFileType.toLowerCase();
|
|
54
|
+
});
|
|
55
|
+
})) === null || _Object$entries$find === void 0 ? void 0 : _Object$entries$find[0];
|
|
56
|
+
var fileTypeResult = fileExtType ? _constants.FILEEXT_TYPE_MAP[fileExtType] : newFileType;
|
|
57
|
+
var fileTypeIcon = getFileTypeIcon(fileTypeResult);
|
|
58
|
+
return fileTypeIcon;
|
|
59
|
+
};
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
.sdoc-file-select-dialog {
|
|
2
|
+
max-width: 700px;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
.sdoc-file-select-dialog .sdoc-file-select-modal {
|
|
6
|
+
width: 700px;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.sdoc-file-select-dialog .highlight-bg-color {
|
|
10
|
+
background-color: #FF8000;
|
|
11
|
+
border-color: #FF8000;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.sdoc-file-select-dialog .modal-header-container {
|
|
15
|
+
display: flex;
|
|
16
|
+
position: relative;
|
|
17
|
+
justify-content: space-between;
|
|
18
|
+
align-items: center;
|
|
19
|
+
width: 100%;
|
|
20
|
+
height: 57px;
|
|
21
|
+
padding: 16px;
|
|
22
|
+
border-bottom: 1px solid #e9ecef;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.sdoc-file-select-dialog .modal-title-container {
|
|
26
|
+
flex: 0 1 auto;
|
|
27
|
+
white-space: nowrap;
|
|
28
|
+
position: relative;
|
|
29
|
+
display: flex;
|
|
30
|
+
align-items: center;
|
|
31
|
+
justify-content: center;
|
|
32
|
+
margin: auto 0;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.sdoc-close-dialog {
|
|
36
|
+
display: flex;
|
|
37
|
+
align-items: center;
|
|
38
|
+
justify-content: center;
|
|
39
|
+
width: 28px;
|
|
40
|
+
cursor: pointer;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.sdoc-file-select-dialog .modal-header-container .sdoc-sm-close {
|
|
44
|
+
font-size: 16px;
|
|
45
|
+
color: #666666;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.sdoc-file-select-dialog .modal-header-container .sdoc-sm-close:hover {
|
|
49
|
+
background-color: #EFEFEF;
|
|
50
|
+
border-radius: 3px;
|
|
51
|
+
height: 28px;
|
|
52
|
+
width: 28px;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.sdoc-file-select-dialog .sdoc-file-select__side-panel {
|
|
56
|
+
padding: 1rem;
|
|
57
|
+
line-height: 24px;
|
|
58
|
+
text-overflow: ellipsis;
|
|
59
|
+
white-space: nowrap;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.sdoc-file-select-dialog .sdoc-file-select__repo-item {
|
|
63
|
+
display: flex;
|
|
64
|
+
align-items: center;
|
|
65
|
+
position: relative;
|
|
66
|
+
height: 32px;
|
|
67
|
+
padding: 0 10px 0 14px;
|
|
68
|
+
cursor: default;
|
|
69
|
+
transition: background-color 0.3s ease, font-weight 0.3s ease;
|
|
70
|
+
border: none;
|
|
71
|
+
border-radius: 3px;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.sdoc-file-select-dialog .sdoc-file-select__repo-item:hover {
|
|
75
|
+
background-color: var(--bs-nav-hover-bg, #f5f5f5);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.sdoc-file-select-dialog .sdoc-file-select__repo-item.active {
|
|
79
|
+
background-color: var(--bs-nav-active-bg, #f3f3f3);
|
|
80
|
+
font-weight: 500;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.sdoc-file-select-dialog .sdoc-file-select__repo-item.active::before {
|
|
84
|
+
content: '';
|
|
85
|
+
display: block;
|
|
86
|
+
position: absolute;
|
|
87
|
+
top: 4px;
|
|
88
|
+
left: 0;
|
|
89
|
+
width: 4px;
|
|
90
|
+
height: 24px;
|
|
91
|
+
background-color: #ff9800;
|
|
92
|
+
border-radius: 2px;
|
|
93
|
+
z-index: 0;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
.sdoc-file-select-dialog .sdoc-file-select__repo-item .lib-icon {
|
|
97
|
+
flex-shrink: 0;
|
|
98
|
+
margin-right: 8px;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.sdoc-file-select-dialog .sdoc-file-select__repo-name {
|
|
102
|
+
overflow: hidden;
|
|
103
|
+
text-overflow: ellipsis;
|
|
104
|
+
white-space: nowrap;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.sdoc-file-select__main-panel .sdoc-file-select-footer {
|
|
108
|
+
display: flex;
|
|
109
|
+
align-items: center;
|
|
110
|
+
justify-content: flex-end;
|
|
111
|
+
padding: 1rem;
|
|
112
|
+
border-top: 1px solid #e9ecef;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
@media (max-width: 768px) {
|
|
116
|
+
.sdoc-file-select-dialog .sdoc-file-select__side-panel,
|
|
117
|
+
.sdoc-file-select-dialog .sdoc-file-select__main-panel {
|
|
118
|
+
max-width: 100% !important;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
.sdoc-file-select-dialog .sdoc-file-select__side-panel {
|
|
122
|
+
border-right: none !important;
|
|
123
|
+
border-bottom: 1px solid #e9ecef;
|
|
124
|
+
overflow-x: auto;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard")["default"];
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
|
|
10
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
11
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
12
|
+
var _reactI18next = require("react-i18next");
|
|
13
|
+
var _reactstrap = require("reactstrap");
|
|
14
|
+
var _lib = _interopRequireDefault(require("../../../assets/images/lib.png"));
|
|
15
|
+
var _toast = _interopRequireDefault(require("../../../components/toast"));
|
|
16
|
+
var _context = _interopRequireDefault(require("../../../context"));
|
|
17
|
+
var _commonUtils = require("../../../utils/common-utils");
|
|
18
|
+
var _treeView = _interopRequireDefault(require("./tree-view"));
|
|
19
|
+
require("./index.css");
|
|
20
|
+
var SelectLibFileDialog = function SelectLibFileDialog(_ref) {
|
|
21
|
+
var _enableRepos$;
|
|
22
|
+
var editor = _ref.editor,
|
|
23
|
+
dialogType = _ref.dialogType,
|
|
24
|
+
closeDialog = _ref.closeDialog,
|
|
25
|
+
insertLinkCallback = _ref.insertLinkCallback;
|
|
26
|
+
var _useTranslation = (0, _reactI18next.useTranslation)('sdoc-editor'),
|
|
27
|
+
t = _useTranslation.t;
|
|
28
|
+
var _useState = (0, _react.useState)(null),
|
|
29
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
30
|
+
currentSelectedFile = _useState2[0],
|
|
31
|
+
setCurrentSelectedFile = _useState2[1];
|
|
32
|
+
var enableRepos = (0, _react.useMemo)(function () {
|
|
33
|
+
return _context["default"].getLinkedRepos();
|
|
34
|
+
}, []);
|
|
35
|
+
var _useState3 = (0, _react.useState)(((_enableRepos$ = enableRepos[0]) === null || _enableRepos$ === void 0 ? void 0 : _enableRepos$.repo_id) || ''),
|
|
36
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
37
|
+
currentRepoId = _useState4[0],
|
|
38
|
+
setCurrentRepoId = _useState4[1];
|
|
39
|
+
var onSelectedFile = (0, _react.useCallback)(function (fileInfo) {
|
|
40
|
+
setCurrentSelectedFile(fileInfo);
|
|
41
|
+
}, []);
|
|
42
|
+
var onSelectRepo = (0, _react.useCallback)(function (repoId) {
|
|
43
|
+
if (repoId === currentRepoId) return;
|
|
44
|
+
setCurrentRepoId(repoId);
|
|
45
|
+
setCurrentSelectedFile(null);
|
|
46
|
+
}, [currentRepoId]);
|
|
47
|
+
var insertFile = (0, _react.useCallback)(function (fileInfo) {
|
|
48
|
+
var _ref2 = insertLinkCallback || {},
|
|
49
|
+
insertFileLinkCallback = _ref2.insertFileLinkCallback;
|
|
50
|
+
insertFileLinkCallback && insertFileLinkCallback(editor, fileInfo.name, fileInfo.file_uuid);
|
|
51
|
+
}, [insertLinkCallback, editor]);
|
|
52
|
+
var onSubmit = (0, _react.useCallback)(function () {
|
|
53
|
+
if (!currentSelectedFile) return;
|
|
54
|
+
var file_uuid = currentSelectedFile.file_uuid;
|
|
55
|
+
var fileInfo = (0, _objectSpread2["default"])({}, currentSelectedFile);
|
|
56
|
+
|
|
57
|
+
// File has no id
|
|
58
|
+
if (!file_uuid || file_uuid === '') {
|
|
59
|
+
_context["default"].getLinkedRepoFileId(currentRepoId, currentSelectedFile.path).then(function (res) {
|
|
60
|
+
if (res.status === 200) {
|
|
61
|
+
fileInfo = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, currentSelectedFile), {}, {
|
|
62
|
+
file_uuid: res.data.file_uuid
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
insertFile(fileInfo);
|
|
66
|
+
closeDialog();
|
|
67
|
+
})["catch"](function (error) {
|
|
68
|
+
var errorMessage = (0, _commonUtils.getErrorMsg)(error);
|
|
69
|
+
_toast["default"].danger(errorMessage);
|
|
70
|
+
});
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
insertFile(fileInfo);
|
|
74
|
+
closeDialog();
|
|
75
|
+
}, [closeDialog, currentRepoId, currentSelectedFile, insertFile]);
|
|
76
|
+
return /*#__PURE__*/_react["default"].createElement(_reactstrap.Modal, {
|
|
77
|
+
isOpen: true,
|
|
78
|
+
autoFocus: true,
|
|
79
|
+
zIndex: 1071,
|
|
80
|
+
returnFocusAfterClose: false,
|
|
81
|
+
className: "sdoc-file-select-dialog",
|
|
82
|
+
contentClassName: "sdoc-file-select-modal",
|
|
83
|
+
toggle: closeDialog
|
|
84
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
85
|
+
className: "modal-header-container"
|
|
86
|
+
}, /*#__PURE__*/_react["default"].createElement("h5", {
|
|
87
|
+
className: "modal-title-container"
|
|
88
|
+
}, t('Select_file')), /*#__PURE__*/_react["default"].createElement("div", {
|
|
89
|
+
className: "modal-operation-container"
|
|
90
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
91
|
+
className: "sdocfont sdoc-sm-close sdoc-close-dialog",
|
|
92
|
+
onClick: closeDialog
|
|
93
|
+
}))), /*#__PURE__*/_react["default"].createElement(_reactstrap.ModalBody, {
|
|
94
|
+
className: "p-0"
|
|
95
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
96
|
+
className: "sdoc-file-select-container row"
|
|
97
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
98
|
+
className: "sdoc-file-select__side-panel border-end col-12 col-md-3"
|
|
99
|
+
}, enableRepos.map(function (repo) {
|
|
100
|
+
var isActive = repo.repo_id === currentRepoId;
|
|
101
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
102
|
+
key: repo.repo_id,
|
|
103
|
+
className: "sdoc-file-select__repo-item ".concat(isActive ? 'active' : ''),
|
|
104
|
+
title: repo.repo_name,
|
|
105
|
+
role: "button",
|
|
106
|
+
tabIndex: 0,
|
|
107
|
+
onClick: function onClick() {
|
|
108
|
+
return onSelectRepo(repo.repo_id);
|
|
109
|
+
},
|
|
110
|
+
onKeyDown: function onKeyDown(event) {
|
|
111
|
+
if (event.key === 'Enter' || event.key === ' ') {
|
|
112
|
+
event.preventDefault();
|
|
113
|
+
onSelectRepo(repo.repo_id);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}, /*#__PURE__*/_react["default"].createElement("img", {
|
|
117
|
+
className: "lib-icon",
|
|
118
|
+
src: _lib["default"],
|
|
119
|
+
width: "20",
|
|
120
|
+
alt: ""
|
|
121
|
+
}), /*#__PURE__*/_react["default"].createElement("span", {
|
|
122
|
+
className: "sdoc-file-select__repo-name"
|
|
123
|
+
}, repo.repo_name));
|
|
124
|
+
})), /*#__PURE__*/_react["default"].createElement("div", {
|
|
125
|
+
className: "sdoc-file-select__main-panel col-12 col-md-9"
|
|
126
|
+
}, currentRepoId && /*#__PURE__*/_react["default"].createElement(_treeView["default"], {
|
|
127
|
+
repoID: currentRepoId,
|
|
128
|
+
onSelectedFile: onSelectedFile,
|
|
129
|
+
toggle: closeDialog
|
|
130
|
+
}), /*#__PURE__*/_react["default"].createElement("div", {
|
|
131
|
+
className: "sdoc-file-select-footer"
|
|
132
|
+
}, /*#__PURE__*/_react["default"].createElement(_reactstrap.Button, {
|
|
133
|
+
color: "secondary",
|
|
134
|
+
className: "mr-2",
|
|
135
|
+
onClick: closeDialog
|
|
136
|
+
}, t('Cancel')), /*#__PURE__*/_react["default"].createElement(_reactstrap.Button, {
|
|
137
|
+
color: "primary",
|
|
138
|
+
className: "highlight-bg-color",
|
|
139
|
+
disabled: !currentSelectedFile,
|
|
140
|
+
onClick: onSubmit
|
|
141
|
+
}, t('Submit')))))));
|
|
142
|
+
};
|
|
143
|
+
var _default = exports["default"] = SelectLibFileDialog;
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
.sdoc-files-tree {
|
|
2
|
+
flex: 1;
|
|
3
|
+
padding: 8px 16px;
|
|
4
|
+
width: 100%;
|
|
5
|
+
height: 400px;
|
|
6
|
+
overflow-y: auto;
|
|
7
|
+
display: flex;
|
|
8
|
+
flex-direction: column;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.sdoc-files-tree .sdoc-file-info {
|
|
12
|
+
border-radius: 2px;
|
|
13
|
+
height: 32px;
|
|
14
|
+
line-height: 32px;
|
|
15
|
+
overflow: hidden;
|
|
16
|
+
text-overflow: ellipsis;
|
|
17
|
+
white-space: nowrap;
|
|
18
|
+
position: relative;
|
|
19
|
+
padding-left: 2.8rem;
|
|
20
|
+
display: flex;
|
|
21
|
+
flex-direction: column;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.sdoc-files-tree .sdoc-file-info:hover {
|
|
25
|
+
cursor: pointer;
|
|
26
|
+
background-color: #f5f5f5;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.sdoc-files-tree .sdoc-file-info .sdoc-file-icon-container {
|
|
30
|
+
display: flex;
|
|
31
|
+
align-items: center;
|
|
32
|
+
width: 2.8rem;
|
|
33
|
+
height: 100%;
|
|
34
|
+
padding-left: 1.5rem;
|
|
35
|
+
position: absolute;
|
|
36
|
+
left: 0;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.sdoc-file-icon-container .whiteboard-file-img,
|
|
40
|
+
.sdoc-file-icon-container .video-file-img,
|
|
41
|
+
.sdoc-file-icon-container .sdoc-file-img {
|
|
42
|
+
position: absolute;
|
|
43
|
+
width: 21.6px;
|
|
44
|
+
right: 1px;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.sdoc-files-tree .sdoc-file-checked {
|
|
48
|
+
position: absolute;
|
|
49
|
+
right: 10px;
|
|
50
|
+
color: #666;
|
|
51
|
+
font-size: 14px;
|
|
52
|
+
font-weight: 400;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.sdoc-files-tree .sdoc-file-info .sdoc-file-icon {
|
|
56
|
+
color: #666;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.sdoc-files-tree .sdoc-file-info.active {
|
|
60
|
+
background-color: #f5f5f5;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.sdoc-files-tree .sdoc-file-icon-toggle {
|
|
64
|
+
height: 1.5rem;
|
|
65
|
+
width: 1.5rem;
|
|
66
|
+
line-height: 1.5rem !important;
|
|
67
|
+
font-size: 12px !important;
|
|
68
|
+
text-align: center;
|
|
69
|
+
position: absolute;
|
|
70
|
+
left: 0;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.sdoc-files-tree .sdoc-file-info.expanded .sdoc-file-icon-toggle {
|
|
74
|
+
transform: rotate(90deg);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.sdoc-files-tree .sdoc-file-info .sdoc-file-name {
|
|
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
|
+
}
|
|
87
|
+
|
|
88
|
+
.sdoc-files-tree .sdoc-folder-children {
|
|
89
|
+
padding-left: 20px;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.sdoc-files-tree .sdoc-folder-children-empty {
|
|
93
|
+
color: #999;
|
|
94
|
+
padding: 4px 20px;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
.sdoc-files-tree .sdoc-file-info .sdoc-search-folder-name {
|
|
98
|
+
font-size: 14px;
|
|
99
|
+
color: #7d7d7d;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.sdoc-folder-container.sdoc-folder-search-results .sdoc-file-info {
|
|
103
|
+
height: 59px;
|
|
104
|
+
padding: 10px 50px;
|
|
105
|
+
flex-direction: column;
|
|
106
|
+
justify-content: center;
|
|
107
|
+
border-radius: 2px;
|
|
108
|
+
overflow: hidden;
|
|
109
|
+
text-overflow: ellipsis;
|
|
110
|
+
white-space: nowrap;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
.sdoc-folder-container.sdoc-folder-search-results .sdoc-file-info .sdoc-file-icon-container .whiteboard-file-img,
|
|
114
|
+
.sdoc-folder-container.sdoc-folder-search-results .sdoc-file-info .sdoc-file-icon-container .sdoc-file-img {
|
|
115
|
+
width: 36px;
|
|
116
|
+
height: 36px;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
.sdoc-folder-container.sdoc-folder-search-results .sdoc-file-name,
|
|
120
|
+
.sdoc-search-folder-name {
|
|
121
|
+
height: 19.5px;
|
|
122
|
+
display: flex;
|
|
123
|
+
align-items: center;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
.sdoc-files-tree .sdoc-file-search-no-result {
|
|
127
|
+
display: flex;
|
|
128
|
+
justify-content: center;
|
|
129
|
+
}
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard")["default"];
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
|
|
10
|
+
var _regenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/regenerator"));
|
|
11
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/asyncToGenerator"));
|
|
12
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/toConsumableArray"));
|
|
13
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
14
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
15
|
+
var _reactI18next = require("react-i18next");
|
|
16
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
17
|
+
var _toast = _interopRequireDefault(require("../../../../components/toast"));
|
|
18
|
+
var _context2 = _interopRequireDefault(require("../../../../context"));
|
|
19
|
+
var _commonUtils = require("../../../../utils/common-utils");
|
|
20
|
+
var _helpers = require("../helpers");
|
|
21
|
+
require("./index.css");
|
|
22
|
+
var TreeView = function TreeView(_ref) {
|
|
23
|
+
var repoID = _ref.repoID,
|
|
24
|
+
onSelectedFile = _ref.onSelectedFile,
|
|
25
|
+
toggle = _ref.toggle,
|
|
26
|
+
t = _ref.t;
|
|
27
|
+
var folderRef = (0, _react.useRef)(null);
|
|
28
|
+
var repoCacheRef = (0, _react.useRef)({});
|
|
29
|
+
var _useState = (0, _react.useState)(new Set([])),
|
|
30
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
31
|
+
expandedFolder = _useState2[0],
|
|
32
|
+
setExpandedFolder = _useState2[1];
|
|
33
|
+
var _useState3 = (0, _react.useState)(null),
|
|
34
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
35
|
+
currentActiveItem = _useState4[0],
|
|
36
|
+
setCurrentActiveItem = _useState4[1];
|
|
37
|
+
var _useState5 = (0, _react.useState)([]),
|
|
38
|
+
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
39
|
+
treeData = _useState6[0],
|
|
40
|
+
setTreeData = _useState6[1];
|
|
41
|
+
var updateRepoCache = (0, _react.useCallback)(function (repoID, nextTreeData) {
|
|
42
|
+
var nextExpandedFolder = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : new Set([]);
|
|
43
|
+
repoCacheRef.current[repoID] = {
|
|
44
|
+
treeData: nextTreeData,
|
|
45
|
+
expandedFolder: Array.from(nextExpandedFolder)
|
|
46
|
+
};
|
|
47
|
+
}, []);
|
|
48
|
+
var getTreeData = (0, _react.useCallback)(function (repoID, nodePath, nodeId) {
|
|
49
|
+
var currentTreeData = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
|
|
50
|
+
return _context2["default"].listLinkedRepoDir(repoID, nodePath).then(function (res) {
|
|
51
|
+
var dirent_list = res.data.dirent_list;
|
|
52
|
+
var newData = dirent_list.map(function (item) {
|
|
53
|
+
item.path = nodePath === '/' ? "/".concat(item.name) : "".concat(nodePath, "/").concat(item.name);
|
|
54
|
+
item.indexId = item.path;
|
|
55
|
+
return item;
|
|
56
|
+
});
|
|
57
|
+
var nextTreeData = newData;
|
|
58
|
+
|
|
59
|
+
// Open folder
|
|
60
|
+
if (nodeId && currentTreeData.length > 0) {
|
|
61
|
+
var newFileListData = (0, _helpers.addDataToTree)(currentTreeData, nodeId, newData, nodePath);
|
|
62
|
+
nextTreeData = (0, _toConsumableArray2["default"])(newFileListData);
|
|
63
|
+
}
|
|
64
|
+
setTreeData(nextTreeData);
|
|
65
|
+
return nextTreeData;
|
|
66
|
+
})["catch"](function (error) {
|
|
67
|
+
toggle();
|
|
68
|
+
var errorMessage = (0, _commonUtils.getErrorMsg)(error);
|
|
69
|
+
_toast["default"].danger(errorMessage);
|
|
70
|
+
return null;
|
|
71
|
+
});
|
|
72
|
+
}, [toggle]);
|
|
73
|
+
(0, _react.useEffect)(function () {
|
|
74
|
+
setCurrentActiveItem(null);
|
|
75
|
+
onSelectedFile(null);
|
|
76
|
+
var cachedRepoData = repoCacheRef.current[repoID];
|
|
77
|
+
if (cachedRepoData !== null && cachedRepoData !== void 0 && cachedRepoData.treeData) {
|
|
78
|
+
setTreeData(cachedRepoData.treeData);
|
|
79
|
+
setExpandedFolder(new Set(cachedRepoData.expandedFolder));
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
var rootPath = '/';
|
|
83
|
+
setTreeData([]);
|
|
84
|
+
setExpandedFolder(new Set([]));
|
|
85
|
+
getTreeData(repoID, rootPath).then(function (nextTreeData) {
|
|
86
|
+
if (!nextTreeData) return;
|
|
87
|
+
updateRepoCache(repoID, nextTreeData, new Set([]));
|
|
88
|
+
});
|
|
89
|
+
}, [getTreeData, onSelectedFile, repoID, updateRepoCache]);
|
|
90
|
+
var onToggle = (0, _react.useCallback)(/*#__PURE__*/function () {
|
|
91
|
+
var _ref2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/(0, _regenerator2["default"])().m(function _callee(e, item) {
|
|
92
|
+
var nextExpandedFolder, nextTreeData, hasLoadedChildren, _t;
|
|
93
|
+
return (0, _regenerator2["default"])().w(function (_context) {
|
|
94
|
+
while (1) switch (_context.n) {
|
|
95
|
+
case 0:
|
|
96
|
+
e && e.stopPropagation();
|
|
97
|
+
nextExpandedFolder = new Set(Array.from(expandedFolder));
|
|
98
|
+
nextTreeData = treeData;
|
|
99
|
+
if (!expandedFolder.has(item.indexId)) {
|
|
100
|
+
_context.n = 1;
|
|
101
|
+
break;
|
|
102
|
+
}
|
|
103
|
+
nextExpandedFolder["delete"](item.indexId);
|
|
104
|
+
_context.n = 5;
|
|
105
|
+
break;
|
|
106
|
+
case 1:
|
|
107
|
+
hasLoadedChildren = Object.prototype.hasOwnProperty.call(item, 'children');
|
|
108
|
+
if (hasLoadedChildren) {
|
|
109
|
+
_context.n = 4;
|
|
110
|
+
break;
|
|
111
|
+
}
|
|
112
|
+
_context.n = 2;
|
|
113
|
+
return getTreeData(repoID, item.path, item.indexId, treeData);
|
|
114
|
+
case 2:
|
|
115
|
+
_t = _context.v;
|
|
116
|
+
if (_t) {
|
|
117
|
+
_context.n = 3;
|
|
118
|
+
break;
|
|
119
|
+
}
|
|
120
|
+
_t = treeData;
|
|
121
|
+
case 3:
|
|
122
|
+
nextTreeData = _t;
|
|
123
|
+
case 4:
|
|
124
|
+
nextExpandedFolder.add(item.indexId);
|
|
125
|
+
case 5:
|
|
126
|
+
onSelectedFile(null);
|
|
127
|
+
setCurrentActiveItem(item);
|
|
128
|
+
setExpandedFolder(nextExpandedFolder);
|
|
129
|
+
updateRepoCache(repoID, nextTreeData, nextExpandedFolder);
|
|
130
|
+
case 6:
|
|
131
|
+
return _context.a(2);
|
|
132
|
+
}
|
|
133
|
+
}, _callee);
|
|
134
|
+
}));
|
|
135
|
+
return function (_x, _x2) {
|
|
136
|
+
return _ref2.apply(this, arguments);
|
|
137
|
+
};
|
|
138
|
+
}(), [expandedFolder, getTreeData, onSelectedFile, repoID, treeData, updateRepoCache]);
|
|
139
|
+
var onSelectFile = (0, _react.useCallback)(function (e, file) {
|
|
140
|
+
e.stopPropagation();
|
|
141
|
+
var newFile = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, file), {}, {
|
|
142
|
+
path: file.path || file.fullpath
|
|
143
|
+
});
|
|
144
|
+
setCurrentActiveItem(newFile);
|
|
145
|
+
onSelectedFile(newFile);
|
|
146
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
147
|
+
}, []);
|
|
148
|
+
var renderFileTree = (0, _react.useCallback)(function (data) {
|
|
149
|
+
if (!Array.isArray(data) || data.length === 0) return null;
|
|
150
|
+
return data.map(function (item) {
|
|
151
|
+
var _item$fullpath, _item$children, _item$children2;
|
|
152
|
+
if (!item) return null;
|
|
153
|
+
var type = item.type,
|
|
154
|
+
indexId = item.indexId,
|
|
155
|
+
name = item.name,
|
|
156
|
+
file_uuid = item.file_uuid,
|
|
157
|
+
path = item.path,
|
|
158
|
+
fullpath = item.fullpath;
|
|
159
|
+
var isExpanded = expandedFolder.has(indexId);
|
|
160
|
+
var hasLoadedChildren = Object.prototype.hasOwnProperty.call(item, 'children');
|
|
161
|
+
// Get file type icon
|
|
162
|
+
var fileTypeIcon = (0, _helpers.parcelFileTypeIcon)(name);
|
|
163
|
+
var result = (_item$fullpath = item.fullpath) === null || _item$fullpath === void 0 ? void 0 : _item$fullpath.split('/').filter(Boolean);
|
|
164
|
+
item.fullpath && result.pop();
|
|
165
|
+
var folderPath = item.fullpath && result.join('/');
|
|
166
|
+
var selected = (currentActiveItem === null || currentActiveItem === void 0 ? void 0 : currentActiveItem.path) === (path || fullpath);
|
|
167
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
168
|
+
key: indexId || file_uuid,
|
|
169
|
+
className: (0, _classnames["default"])('sdoc-folder-container')
|
|
170
|
+
}, type === 'dir' && /*#__PURE__*/_react["default"].createElement("div", {
|
|
171
|
+
ref: folderRef,
|
|
172
|
+
className: "sdoc-folder-wrapper"
|
|
173
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
174
|
+
className: (0, _classnames["default"])('sdoc-folder-info sdoc-file-info', {
|
|
175
|
+
'expanded': isExpanded
|
|
176
|
+
}),
|
|
177
|
+
onClick: function onClick(e) {
|
|
178
|
+
return onToggle(e, item);
|
|
179
|
+
}
|
|
180
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
181
|
+
className: "sdoc-file-icon-container"
|
|
182
|
+
}, /*#__PURE__*/_react["default"].createElement("i", {
|
|
183
|
+
className: "sdoc-file-icon sdoc-file-icon-toggle sdocfont sdoc-arrow-right"
|
|
184
|
+
}), /*#__PURE__*/_react["default"].createElement("i", {
|
|
185
|
+
className: "sdoc-file-icon sdocfont sdoc-folder"
|
|
186
|
+
})), /*#__PURE__*/_react["default"].createElement("span", {
|
|
187
|
+
className: "sdoc-folder-name sdoc-file-name"
|
|
188
|
+
}, name)), isExpanded && hasLoadedChildren && /*#__PURE__*/_react["default"].createElement("div", {
|
|
189
|
+
className: "sdoc-folder-children"
|
|
190
|
+
}, ((_item$children = item.children) === null || _item$children === void 0 ? void 0 : _item$children.length) === 0 && /*#__PURE__*/_react["default"].createElement("div", {
|
|
191
|
+
className: "sdoc-folder-children-empty"
|
|
192
|
+
}, "(".concat(t('Empty'), ")")), ((_item$children2 = item.children) === null || _item$children2 === void 0 ? void 0 : _item$children2.length) > 0 && renderFileTree(item.children))), ['file', 'video', 'exdraw'].includes(type) && /*#__PURE__*/_react["default"].createElement("div", {
|
|
193
|
+
className: (0, _classnames["default"])('sdoc-file-info'),
|
|
194
|
+
onClick: function onClick(e) {
|
|
195
|
+
onSelectFile(e, item);
|
|
196
|
+
}
|
|
197
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
198
|
+
className: "sdoc-file-icon-container"
|
|
199
|
+
}, /*#__PURE__*/_react["default"].createElement("i", {
|
|
200
|
+
className: (0, _classnames["default"])('sdoc-file-icon', {
|
|
201
|
+
'sdocfont sdoc-link-file': !fileTypeIcon
|
|
202
|
+
})
|
|
203
|
+
}), fileTypeIcon && /*#__PURE__*/_react["default"].createElement("img", {
|
|
204
|
+
className: "sdoc-file-img",
|
|
205
|
+
src: fileTypeIcon,
|
|
206
|
+
alt: ""
|
|
207
|
+
})), /*#__PURE__*/_react["default"].createElement("span", {
|
|
208
|
+
className: "sdoc-file-name"
|
|
209
|
+
}, name), item.fullpath && folderPath.length !== 0 && /*#__PURE__*/_react["default"].createElement("span", {
|
|
210
|
+
className: "sdoc-search-folder-name"
|
|
211
|
+
}, folderPath), selected && /*#__PURE__*/_react["default"].createElement("i", {
|
|
212
|
+
className: "sdoc-file-checked sdocfont sdoc-check-mark"
|
|
213
|
+
})));
|
|
214
|
+
});
|
|
215
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
216
|
+
}, [treeData, currentActiveItem, expandedFolder]);
|
|
217
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
218
|
+
className: "sdoc-files-tree"
|
|
219
|
+
}, renderFileTree(treeData));
|
|
220
|
+
};
|
|
221
|
+
var _default = exports["default"] = (0, _reactI18next.withTranslation)('sdoc-editor')(TreeView);
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.WIKI_LINK = exports.WHITEBOARD = exports.VIDEO_LINK = exports.VIDEO = exports.UNORDERED_LIST = exports.TWO_COLUMN = exports.TOP_LEVEL_TYPES = exports.TOGGLE_HEADER3 = exports.TOGGLE_HEADER2 = exports.TOGGLE_HEADER1 = exports.TOGGLE_HEADER = exports.TOGGLE_CONTENT = exports.TITLE = exports.THREE_COLUMN = exports.TABLE_ROW = exports.TABLE_CELL = exports.TABLE = exports.SUBTITLE = exports.SDOC_LINK = exports.QUICK_INSERT = exports.PARAGRAPH = exports.ORDERED_LIST = exports.MULTI_COLUMN = exports.MENTION_TEMP = exports.MENTION = exports.LIST_ITEM = exports.LINK = exports.INLINE_LEVEL_TYPES = exports.IMAGE_BLOCK = exports.IMAGE = exports.HEADER6 = exports.HEADER5 = exports.HEADER4 = exports.HEADER3 = exports.HEADER2 = exports.HEADER1 = exports.HEADER = exports.GROUP = exports.FOUR_COLUMN = exports.FORMULA = exports.FONT_SIZE_REDUCE = exports.FONT_SIZE_INCREASE = exports.FONT_SIZE = exports.FIVE_COLUMN = exports.FILE_VIEW = exports.FILE_LINK_INSET_INPUT_TEMP = exports.FILE_LINK = exports.EMBED_LINK = exports.DIVIDER = exports.COLUMN = exports.CODE_LINE = exports.CODE_BLOCK = exports.CHECK_LIST_ITEM = exports.CALL_OUT = exports.BLOCKQUOTE = exports.ASK_AI = void 0;
|
|
6
|
+
exports.WIKI_LINK = exports.WHITEBOARD = exports.VIDEO_LINK = exports.VIDEO = exports.UNORDERED_LIST = exports.TWO_COLUMN = exports.TOP_LEVEL_TYPES = exports.TOGGLE_HEADER3 = exports.TOGGLE_HEADER2 = exports.TOGGLE_HEADER1 = exports.TOGGLE_HEADER = exports.TOGGLE_CONTENT = exports.TITLE = exports.THREE_COLUMN = exports.TABLE_ROW = exports.TABLE_CELL = exports.TABLE = exports.SUBTITLE = exports.SDOC_LINK = exports.QUICK_INSERT = exports.PARAGRAPH = exports.ORDERED_LIST = exports.MULTI_COLUMN = exports.MENTION_TEMP = exports.MENTION = exports.LIST_ITEM = exports.LINK = exports.INLINE_LEVEL_TYPES = exports.IMAGE_BLOCK = exports.IMAGE = exports.HEADER6 = exports.HEADER5 = exports.HEADER4 = exports.HEADER3 = exports.HEADER2 = exports.HEADER1 = exports.HEADER = exports.GROUP = exports.FOUR_COLUMN = exports.FORMULA = exports.FONT_SIZE_REDUCE = exports.FONT_SIZE_INCREASE = exports.FONT_SIZE = exports.FIVE_COLUMN = exports.FILE_VIEW = exports.FILE_LINK_INSET_INPUT_TEMP = exports.FILE_LINK = exports.FILE = exports.EMBED_LINK = exports.DIVIDER = exports.COLUMN = exports.CODE_LINE = exports.CODE_BLOCK = exports.CHECK_LIST_ITEM = exports.CALL_OUT = exports.BLOCKQUOTE = exports.ASK_AI = void 0;
|
|
7
7
|
var BLOCKQUOTE = exports.BLOCKQUOTE = 'blockquote';
|
|
8
8
|
var TITLE = exports.TITLE = 'title';
|
|
9
9
|
var SUBTITLE = exports.SUBTITLE = 'subtitle';
|
|
@@ -53,6 +53,7 @@ var TOGGLE_HEADER3 = exports.TOGGLE_HEADER3 = 'toggle_header3';
|
|
|
53
53
|
var TOGGLE_CONTENT = exports.TOGGLE_CONTENT = 'toggle_content';
|
|
54
54
|
var EMBED_LINK = exports.EMBED_LINK = 'embed_link';
|
|
55
55
|
var DIVIDER = exports.DIVIDER = 'divider';
|
|
56
|
+
var FILE = exports.FILE = 'file';
|
|
56
57
|
var ASK_AI = exports.ASK_AI = 'ask_ai';
|
|
57
58
|
|
|
58
59
|
// font
|
|
@@ -315,6 +315,11 @@ var SIDE_INSERT_MENUS_CONFIG = exports.SIDE_INSERT_MENUS_CONFIG = (_SIDE_INSERT_
|
|
|
315
315
|
iconClass: 'sdocfont sdoc-link',
|
|
316
316
|
type: _elementType.LINK,
|
|
317
317
|
text: 'Link'
|
|
318
|
+
}), _elementType.FILE, {
|
|
319
|
+
id: 'sdoc-side-menu-item-file-link',
|
|
320
|
+
iconClass: 'sdocfont sdoc-link-file',
|
|
321
|
+
type: _elementType.FILE,
|
|
322
|
+
text: 'File'
|
|
318
323
|
}), _elementType.EMBED_LINK, {
|
|
319
324
|
id: '',
|
|
320
325
|
iconClass: 'sdocfont sdoc-embed-link',
|
|
@@ -339,12 +344,12 @@ var SIDE_INSERT_MENUS_CONFIG = exports.SIDE_INSERT_MENUS_CONFIG = (_SIDE_INSERT_
|
|
|
339
344
|
iconClass: 'sdocfont sdoc-list-ul',
|
|
340
345
|
type: _elementType.UNORDERED_LIST,
|
|
341
346
|
text: 'Unordered_list'
|
|
342
|
-
}), _elementType.CHECK_LIST_ITEM, {
|
|
347
|
+
}), (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])(_SIDE_INSERT_MENUS_CO, _elementType.CHECK_LIST_ITEM, {
|
|
343
348
|
id: '',
|
|
344
349
|
iconClass: 'sdocfont sdoc-check-square',
|
|
345
350
|
type: _elementType.CHECK_LIST_ITEM,
|
|
346
351
|
text: 'Check_list'
|
|
347
|
-
}),
|
|
352
|
+
}), _elementType.PARAGRAPH, {
|
|
348
353
|
id: _elementType.PARAGRAPH,
|
|
349
354
|
iconClass: 'sdocfont sdoc-text',
|
|
350
355
|
type: _elementType.PARAGRAPH,
|
|
@@ -411,7 +416,7 @@ var SIDE_INSERT_MENUS_CONFIG = exports.SIDE_INSERT_MENUS_CONFIG = (_SIDE_INSERT_
|
|
|
411
416
|
text: 'Formula'
|
|
412
417
|
}));
|
|
413
418
|
var SIDE_INSERT_MENUS_SEARCH_MAP = exports.SIDE_INSERT_MENUS_SEARCH_MAP = (_SIDE_INSERT_MENUS_SE = {}, (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])(_SIDE_INSERT_MENUS_SE, _elementType.IMAGE, 'Image'), _elementType.VIDEO, 'Video'), _elementType.TABLE, 'Table'), _elementType.COLUMN, 'Column'), _elementType.TWO_COLUMN, 'Two_column'), _elementType.THREE_COLUMN, 'Three_column'), _elementType.FOUR_COLUMN, 'Four_column'), _elementType.LINK, 'Link'), _elementType.CODE_BLOCK, 'Code_block'), _elementType.CALL_OUT, 'Callout'), (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])(_SIDE_INSERT_MENUS_SE, _elementType.UNORDERED_LIST, 'Unordered_list'), _elementType.ORDERED_LIST, 'Ordered_list'), _elementType.CHECK_LIST_ITEM, 'Check_list'), _elementType.PARAGRAPH, 'Paragraph'), _elementType.HEADER1, 'Header_one'), _elementType.HEADER2, 'Header_two'), _elementType.HEADER3, 'Header_three'), _elementType.HEADER4, 'Header_four'), _elementType.TOGGLE_HEADER1, 'Toggle_header_one'), _elementType.TOGGLE_HEADER2, 'Toggle_header_two'), (0, _defineProperty2["default"])((0, _defineProperty2["default"])(_SIDE_INSERT_MENUS_SE, _elementType.TOGGLE_HEADER3, 'Toggle_header_three'), _elementType.FILE_VIEW, 'File_view'));
|
|
414
|
-
var SIDE_QUICK_INSERT_MENUS_SEARCH_MAP = exports.SIDE_QUICK_INSERT_MENUS_SEARCH_MAP = (_SIDE_QUICK_INSERT_ME = {}, (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])(_SIDE_QUICK_INSERT_ME, _elementType.IMAGE, 'Image'), _elementType.VIDEO, 'Video'), _elementType.TABLE, 'Table'), _elementType.COLUMN, 'Column'), _elementType.TWO_COLUMN, 'Two_column'), _elementType.THREE_COLUMN, 'Three_column'), _elementType.FOUR_COLUMN, 'Four_column'), _elementType.LINK, 'Link'), _elementType.
|
|
419
|
+
var SIDE_QUICK_INSERT_MENUS_SEARCH_MAP = exports.SIDE_QUICK_INSERT_MENUS_SEARCH_MAP = (_SIDE_QUICK_INSERT_ME = {}, (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])(_SIDE_QUICK_INSERT_ME, _elementType.IMAGE, 'Image'), _elementType.VIDEO, 'Video'), _elementType.TABLE, 'Table'), _elementType.COLUMN, 'Column'), _elementType.TWO_COLUMN, 'Two_column'), _elementType.THREE_COLUMN, 'Three_column'), _elementType.FOUR_COLUMN, 'Four_column'), _elementType.LINK, 'Link'), _elementType.FILE, 'File'), _elementType.CODE_BLOCK, 'Code_block'), (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])(_SIDE_QUICK_INSERT_ME, _elementType.CALL_OUT, 'Callout'), _elementType.UNORDERED_LIST, 'Unordered_list'), _elementType.ORDERED_LIST, 'Ordered_list'), _elementType.CHECK_LIST_ITEM, 'Check_list'), _elementType.PARAGRAPH, 'Paragraph'), _elementType.HEADER1, 'Header_one'), _elementType.HEADER2, 'Header_two'), _elementType.HEADER3, 'Header_three'), _elementType.HEADER4, 'Header_four'), _elementType.FILE_VIEW, 'File_view'), (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])(_SIDE_QUICK_INSERT_ME, _elementType.FORMULA, 'Formula'), _elementType.TOGGLE_HEADER1, 'Toggle_header_one'), _elementType.TOGGLE_HEADER2, 'Toggle_header_two'), _elementType.TOGGLE_HEADER3, 'Toggle_header_three'), _elementType.EMBED_LINK, 'Embed_link'));
|
|
415
420
|
|
|
416
421
|
// Other operations menu config
|
|
417
422
|
var SIDE_OTHER_OPERATIONS_MENUS_SEARCH_MAP = exports.SIDE_OTHER_OPERATIONS_MENUS_SEARCH_MAP = {
|
|
@@ -8,6 +8,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports["default"] = void 0;
|
|
9
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _constants = require("../../../../constants");
|
|
11
|
+
var _context = _interopRequireDefault(require("../../../../context"));
|
|
11
12
|
var _dropdownMenuItem = _interopRequireDefault(require("../../../commons/dropdown-menu-item"));
|
|
12
13
|
var _constants2 = require("../../../constants");
|
|
13
14
|
var _helpers = require("../helpers");
|
|
@@ -18,6 +19,7 @@ var FileLinkMenu = function FileLinkMenu(_ref) {
|
|
|
18
19
|
eventBus = _ref.eventBus;
|
|
19
20
|
var disabled = (0, _helpers.isMenuDisabled)(editor, readonly);
|
|
20
21
|
var menuConfig = _constants2.MENUS_CONFIG_MAP[_constants2.FILE_LINK];
|
|
22
|
+
var shouldShow = (editor === null || editor === void 0 ? void 0 : editor.editorType) === _constants.WIKI_EDITOR && _context["default"].hasLinkedRepos();
|
|
21
23
|
var openSelectFileDialog = (0, _react.useCallback)(function () {
|
|
22
24
|
eventBus.dispatch(_constants.INTERNAL_EVENT.INSERT_ELEMENT, {
|
|
23
25
|
type: _constants2.ELEMENT_TYPE.FILE_LINK,
|
|
@@ -27,6 +29,7 @@ var FileLinkMenu = function FileLinkMenu(_ref) {
|
|
|
27
29
|
|
|
28
30
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
29
31
|
}, [toggle, eventBus]);
|
|
32
|
+
if (!shouldShow) return null;
|
|
30
33
|
return /*#__PURE__*/_react["default"].createElement(_dropdownMenuItem["default"], {
|
|
31
34
|
disabled: disabled,
|
|
32
35
|
menuConfig: menuConfig,
|
|
@@ -19,6 +19,7 @@ var _core = require("../../core");
|
|
|
19
19
|
var _insertElementToolbar = _interopRequireDefault(require("../../toolbar/insert-element-toolbar"));
|
|
20
20
|
var _helper = require("./helper");
|
|
21
21
|
var RenderQuickInsert = function RenderQuickInsert(_ref, editor, readonly) {
|
|
22
|
+
var _aboveBlockNode$;
|
|
22
23
|
var attributes = _ref.attributes,
|
|
23
24
|
children = _ref.children,
|
|
24
25
|
element = _ref.element;
|
|
@@ -34,8 +35,12 @@ var RenderQuickInsert = function RenderQuickInsert(_ref, editor, readonly) {
|
|
|
34
35
|
var insertElmRef = (0, _react.useRef)(null);
|
|
35
36
|
var aboveBlockNode = (0, _core.getAboveBlockNode)(editor);
|
|
36
37
|
var parentBlockNode = _slate.Editor.parent(editor, aboveBlockNode === null || aboveBlockNode === void 0 ? void 0 : aboveBlockNode[1]);
|
|
38
|
+
var blockChildren = (aboveBlockNode === null || aboveBlockNode === void 0 ? void 0 : (_aboveBlockNode$ = aboveBlockNode[0]) === null || _aboveBlockNode$ === void 0 ? void 0 : _aboveBlockNode$.children) || [];
|
|
39
|
+
var isQuickInsertOnlyBlock = blockChildren.length > 0 && blockChildren.every(function (child) {
|
|
40
|
+
return (child === null || child === void 0 ? void 0 : child.type) === _constants.QUICK_INSERT || (child === null || child === void 0 ? void 0 : child.text) === '';
|
|
41
|
+
});
|
|
37
42
|
// In toggle content's empty paragraph or empty paragraph
|
|
38
|
-
var isEmptyNode = parentBlockNode && (parentBlockNode === null || parentBlockNode === void 0 ? void 0 : parentBlockNode[0].type) === _constants.TOGGLE_CONTENT ||
|
|
43
|
+
var isEmptyNode = parentBlockNode && (parentBlockNode === null || parentBlockNode === void 0 ? void 0 : parentBlockNode[0].type) === _constants.TOGGLE_CONTENT || isQuickInsertOnlyBlock;
|
|
39
44
|
var _useState3 = (0, _react.useState)((0, _helper.isSelectionSameWithInsert)(editor, element)),
|
|
40
45
|
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
41
46
|
isShowPopover = _useState4[0],
|
|
@@ -14,8 +14,7 @@ var _plugins = require("../plugins");
|
|
|
14
14
|
var RenderCommentEditorCustomRenderElement = function RenderCommentEditorCustomRenderElement(props) {
|
|
15
15
|
var editor = (0, _slateReact.useSlateStatic)();
|
|
16
16
|
var readonly = (0, _slateReact.useReadOnly)();
|
|
17
|
-
var element = props.element
|
|
18
|
-
commentType = props.commentType;
|
|
17
|
+
var element = props.element;
|
|
19
18
|
switch (element.type) {
|
|
20
19
|
case _constants.PARAGRAPH:
|
|
21
20
|
{
|
|
@@ -28,7 +27,7 @@ var RenderCommentEditorCustomRenderElement = function RenderCommentEditorCustomR
|
|
|
28
27
|
_renderParagraph = _ParagraphPlugin$rend[0];
|
|
29
28
|
return _renderParagraph(_props);
|
|
30
29
|
}
|
|
31
|
-
var placeholder =
|
|
30
|
+
var placeholder = 'shift_enter_for_new_line_Enter_to_send';
|
|
32
31
|
var _ParagraphPlugin$rend2 = (0, _slicedToArray2["default"])(_plugins.ParagraphPlugin.renderElements, 1),
|
|
33
32
|
renderParagraph = _ParagraphPlugin$rend2[0];
|
|
34
33
|
return renderParagraph((0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, _props), {}, {
|
|
@@ -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 _objectSpread7 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
|
|
11
11
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/toConsumableArray"));
|
|
12
12
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
13
13
|
var _react = _interopRequireWildcard(require("react"));
|
|
@@ -27,16 +27,17 @@ var _core = require("../../core");
|
|
|
27
27
|
var _helper = require("../../plugins/callout/helper");
|
|
28
28
|
var _helpers = require("../../plugins/check-list/helpers");
|
|
29
29
|
var _helpers2 = require("../../plugins/code-block/helpers");
|
|
30
|
-
var _helpers3 = require("../../plugins/file-
|
|
30
|
+
var _helpers3 = require("../../plugins/file-link/helpers");
|
|
31
|
+
var _helpers4 = require("../../plugins/file-view/helpers");
|
|
31
32
|
var _transforms = require("../../plugins/list/transforms");
|
|
32
33
|
var _helper2 = require("../../plugins/multi-column/helper");
|
|
33
|
-
var
|
|
34
|
+
var _helpers5 = require("../../plugins/table/helpers");
|
|
34
35
|
var _tableSizePopover = _interopRequireDefault(require("../../plugins/table/popover/table-size-popover"));
|
|
35
36
|
var _helper3 = require("../../plugins/toggle-header/helper");
|
|
36
|
-
var
|
|
37
|
+
var _helpers6 = require("../../plugins/video/helpers");
|
|
37
38
|
var _utils = require("../../utils");
|
|
38
39
|
var _linkedRepoPopover = _interopRequireDefault(require("../linked-repo-popover"));
|
|
39
|
-
var
|
|
40
|
+
var _helpers7 = require("../side-toolbar/helpers");
|
|
40
41
|
var _const = require("./const");
|
|
41
42
|
require("./style.css");
|
|
42
43
|
var QuickInsertBlockMenu = function QuickInsertBlockMenu(_ref) {
|
|
@@ -61,6 +62,7 @@ var QuickInsertBlockMenu = function QuickInsertBlockMenu(_ref) {
|
|
|
61
62
|
quickInsertMenuSearchMap = _useState4[0],
|
|
62
63
|
setQuickInsertMenuSearchMap = _useState4[1];
|
|
63
64
|
var enableMetadataManagement = _context["default"].getSetting('enableMetadataManagement');
|
|
65
|
+
var hasLinkedRepos = _context["default"].hasLinkedRepos();
|
|
64
66
|
var onInsertImageToggle = (0, _react.useCallback)(function () {
|
|
65
67
|
callback && callback();
|
|
66
68
|
var eventBus = _eventBus["default"].getInstance();
|
|
@@ -113,14 +115,14 @@ var QuickInsertBlockMenu = function QuickInsertBlockMenu(_ref) {
|
|
|
113
115
|
var eventBus = _eventBus["default"].getInstance();
|
|
114
116
|
eventBus.dispatch(_constants.INTERNAL_EVENT.INSERT_ELEMENT, {
|
|
115
117
|
type: _constants2.ELEMENT_TYPE.VIDEO,
|
|
116
|
-
insertVideo:
|
|
118
|
+
insertVideo: _helpers6.insertVideo
|
|
117
119
|
});
|
|
118
120
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
119
121
|
}, []);
|
|
120
122
|
var createTable = (0, _react.useCallback)(function (size) {
|
|
121
123
|
callback && callback();
|
|
122
124
|
var newInsertPosition = slateNode.type === _constants2.ELEMENT_TYPE.LIST_ITEM ? _constants2.INSERT_POSITION.AFTER : insertPosition;
|
|
123
|
-
(0,
|
|
125
|
+
(0, _helpers5.insertTable)(editor, size, editor.selection, newInsertPosition);
|
|
124
126
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
125
127
|
}, [editor, insertPosition, slateNode]);
|
|
126
128
|
var openLinkDialog = (0, _react.useCallback)(function () {
|
|
@@ -133,6 +135,18 @@ var QuickInsertBlockMenu = function QuickInsertBlockMenu(_ref) {
|
|
|
133
135
|
});
|
|
134
136
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
135
137
|
}, [insertPosition]);
|
|
138
|
+
var openSelectFileDialog = (0, _react.useCallback)(function () {
|
|
139
|
+
callback && callback();
|
|
140
|
+
if (insertPosition === _constants2.INSERT_POSITION.AFTER) {
|
|
141
|
+
(0, _helpers7.insertElement)(editor, _constants2.PARAGRAPH, insertPosition);
|
|
142
|
+
}
|
|
143
|
+
var eventBus = _eventBus["default"].getInstance();
|
|
144
|
+
eventBus.dispatch(_constants.INTERNAL_EVENT.INSERT_ELEMENT, {
|
|
145
|
+
type: _constants2.ELEMENT_TYPE.FILE,
|
|
146
|
+
insertFileLinkCallback: _helpers3.insertFileLink
|
|
147
|
+
});
|
|
148
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
149
|
+
}, [editor, insertPosition]);
|
|
136
150
|
var addEmbedLinkDialog = (0, _react.useCallback)(function () {
|
|
137
151
|
callback && callback();
|
|
138
152
|
var eventBus = _eventBus["default"].getInstance();
|
|
@@ -171,7 +185,7 @@ var QuickInsertBlockMenu = function QuickInsertBlockMenu(_ref) {
|
|
|
171
185
|
}, [editor, insertPosition, slateNode]);
|
|
172
186
|
var onInsert = (0, _react.useCallback)(function (type) {
|
|
173
187
|
callback && callback();
|
|
174
|
-
(0,
|
|
188
|
+
(0, _helpers7.insertElement)(editor, type, insertPosition);
|
|
175
189
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
176
190
|
}, [editor, insertPosition, slateNode]);
|
|
177
191
|
var onInsertToggleHeader = (0, _react.useCallback)(function (type) {
|
|
@@ -189,7 +203,7 @@ var QuickInsertBlockMenu = function QuickInsertBlockMenu(_ref) {
|
|
|
189
203
|
}
|
|
190
204
|
});
|
|
191
205
|
} else if (insertPosition === _constants2.INSERT_POSITION.AFTER) {
|
|
192
|
-
(0,
|
|
206
|
+
(0, _helpers7.insertElement)(editor, type, insertPosition);
|
|
193
207
|
(0, _helper.wrapCallout)(editor);
|
|
194
208
|
}
|
|
195
209
|
}, [callback, editor, insertPosition]);
|
|
@@ -289,18 +303,18 @@ var QuickInsertBlockMenu = function QuickInsertBlockMenu(_ref) {
|
|
|
289
303
|
wiki_id: wikiId,
|
|
290
304
|
file_view_id: fileView.id
|
|
291
305
|
};
|
|
292
|
-
(0,
|
|
306
|
+
(0, _helpers4.insertFileView)(viewData, editor, insertPosition, slateNode);
|
|
293
307
|
})["catch"](function (error) {
|
|
294
308
|
var errorMessage = (0, _commonUtils.getErrorMsg)(error);
|
|
295
309
|
_toast["default"].danger(errorMessage);
|
|
296
310
|
});
|
|
297
311
|
}, [callback, editor, insertPosition, slateNode]);
|
|
298
312
|
var dropDownItems = (0, _react.useMemo)(function () {
|
|
299
|
-
var items = (0,
|
|
313
|
+
var items = (0, _objectSpread7["default"])((0, _objectSpread7["default"])((0, _objectSpread7["default"])((0, _objectSpread7["default"])((0, _objectSpread7["default"])((0, _objectSpread7["default"])((0, _defineProperty2["default"])({}, _constants2.PARAGRAPH, /*#__PURE__*/_react["default"].createElement(_dropdownMenuItem["default"], {
|
|
300
314
|
isHidden: !quickInsertMenuSearchMap[_constants2.PARAGRAPH],
|
|
301
315
|
disabled: isEmptyNode,
|
|
302
316
|
key: "sdoc-insert-menu-paragraph",
|
|
303
|
-
menuConfig: (0,
|
|
317
|
+
menuConfig: (0, _objectSpread7["default"])({}, _constants2.SIDE_INSERT_MENUS_CONFIG[_constants2.ELEMENT_TYPE.PARAGRAPH]),
|
|
304
318
|
onClick: function onClick() {
|
|
305
319
|
return onInsert(_constants2.ELEMENT_TYPE.PARAGRAPH);
|
|
306
320
|
}
|
|
@@ -329,21 +343,21 @@ var QuickInsertBlockMenu = function QuickInsertBlockMenu(_ref) {
|
|
|
329
343
|
}, {})), {}, (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])({}, _constants2.UNORDERED_LIST, /*#__PURE__*/_react["default"].createElement(_dropdownMenuItem["default"], {
|
|
330
344
|
isHidden: !quickInsertMenuSearchMap[_constants2.UNORDERED_LIST],
|
|
331
345
|
key: "sdoc-insert-menu-unorder-list",
|
|
332
|
-
menuConfig: (0,
|
|
346
|
+
menuConfig: (0, _objectSpread7["default"])({}, _constants2.SIDE_INSERT_MENUS_CONFIG[_constants2.ELEMENT_TYPE.UNORDERED_LIST]),
|
|
333
347
|
onClick: function onClick() {
|
|
334
348
|
onInsertList(_constants2.ELEMENT_TYPE.UNORDERED_LIST);
|
|
335
349
|
}
|
|
336
350
|
})), _constants2.ORDERED_LIST, /*#__PURE__*/_react["default"].createElement(_dropdownMenuItem["default"], {
|
|
337
351
|
isHidden: !quickInsertMenuSearchMap[_constants2.ORDERED_LIST],
|
|
338
352
|
key: "sdoc-insert-menu-order-list",
|
|
339
|
-
menuConfig: (0,
|
|
353
|
+
menuConfig: (0, _objectSpread7["default"])({}, _constants2.SIDE_INSERT_MENUS_CONFIG[_constants2.ELEMENT_TYPE.ORDERED_LIST]),
|
|
340
354
|
onClick: function onClick() {
|
|
341
355
|
onInsertList(_constants2.ELEMENT_TYPE.ORDERED_LIST);
|
|
342
356
|
}
|
|
343
357
|
})), _constants2.CHECK_LIST_ITEM, /*#__PURE__*/_react["default"].createElement(_dropdownMenuItem["default"], {
|
|
344
358
|
isHidden: !quickInsertMenuSearchMap[_constants2.CHECK_LIST_ITEM],
|
|
345
359
|
key: "sdoc-insert-menu-check-list",
|
|
346
|
-
menuConfig: (0,
|
|
360
|
+
menuConfig: (0, _objectSpread7["default"])({}, _constants2.SIDE_INSERT_MENUS_CONFIG[_constants2.ELEMENT_TYPE.CHECK_LIST_ITEM]),
|
|
347
361
|
onClick: onInsertCheckList
|
|
348
362
|
})), editor.editorType === _constants.WIKI_EDITOR && enableMetadataManagement && (0, _defineProperty2["default"])({}, _constants2.FILE_VIEW,
|
|
349
363
|
/*#__PURE__*/
|
|
@@ -351,7 +365,7 @@ var QuickInsertBlockMenu = function QuickInsertBlockMenu(_ref) {
|
|
|
351
365
|
_react["default"].createElement(_dropdownMenuItem["default"], {
|
|
352
366
|
isHidden: !quickInsertMenuSearchMap[_constants2.FILE_VIEW],
|
|
353
367
|
key: "sdoc-insert-menu-file-view",
|
|
354
|
-
menuConfig: (0,
|
|
368
|
+
menuConfig: (0, _objectSpread7["default"])({}, _constants2.SIDE_INSERT_MENUS_CONFIG[_constants2.ELEMENT_TYPE.FILE_VIEW]),
|
|
355
369
|
className: "pr-2"
|
|
356
370
|
}, /*#__PURE__*/_react["default"].createElement("i", {
|
|
357
371
|
className: "sdocfont sdoc-arrow-right sdoc-dropdown-item-right-icon"
|
|
@@ -361,7 +375,7 @@ var QuickInsertBlockMenu = function QuickInsertBlockMenu(_ref) {
|
|
|
361
375
|
isHidden: !quickInsertMenuSearchMap[_constants2.IMAGE],
|
|
362
376
|
disabled: isDisableImage,
|
|
363
377
|
key: "sdoc-insert-menu-image",
|
|
364
|
-
menuConfig: (0,
|
|
378
|
+
menuConfig: (0, _objectSpread7["default"])({}, _constants2.SIDE_INSERT_MENUS_CONFIG[_constants2.ELEMENT_TYPE.IMAGE]),
|
|
365
379
|
onClick: onInsertImageToggle
|
|
366
380
|
})), editor.editorType !== _constants.DOCUMENT_PLUGIN_EDITOR && (0, _defineProperty2["default"])({}, _constants2.VIDEO,
|
|
367
381
|
/*#__PURE__*/
|
|
@@ -370,7 +384,7 @@ var QuickInsertBlockMenu = function QuickInsertBlockMenu(_ref) {
|
|
|
370
384
|
isHidden: !quickInsertMenuSearchMap[_constants2.VIDEO],
|
|
371
385
|
disabled: isDisableVideo,
|
|
372
386
|
key: "sdoc-insert-menu-video",
|
|
373
|
-
menuConfig: (0,
|
|
387
|
+
menuConfig: (0, _objectSpread7["default"])({}, _constants2.SIDE_INSERT_MENUS_CONFIG[_constants2.ELEMENT_TYPE.VIDEO]),
|
|
374
388
|
className: "pr-2"
|
|
375
389
|
}, /*#__PURE__*/_react["default"].createElement("i", {
|
|
376
390
|
className: "sdocfont sdoc-arrow-right sdoc-dropdown-item-right-icon"
|
|
@@ -392,14 +406,14 @@ var QuickInsertBlockMenu = function QuickInsertBlockMenu(_ref) {
|
|
|
392
406
|
}, t('Add_video_link')), editor.editorType !== _constants.WIKI_EDITOR && /*#__PURE__*/_react["default"].createElement("div", {
|
|
393
407
|
className: "sdoc-dropdown-menu-item",
|
|
394
408
|
onClick: openSelectVideoFileDialog
|
|
395
|
-
}, t('Link_video_file'))))))), {}, (0, _defineProperty2["default"])((0, _defineProperty2["default"])(
|
|
409
|
+
}, t('Link_video_file'))))))), {}, (0, _defineProperty2["default"])((0, _defineProperty2["default"])({}, _constants2.TABLE,
|
|
396
410
|
/*#__PURE__*/
|
|
397
411
|
// eslint-disable-next-line react/jsx-indent
|
|
398
412
|
_react["default"].createElement(_dropdownMenuItem["default"], {
|
|
399
413
|
isHidden: !quickInsertMenuSearchMap[_constants2.TABLE],
|
|
400
414
|
disabled: isDisableTable,
|
|
401
415
|
key: "sdoc-insert-menu-table",
|
|
402
|
-
menuConfig: (0,
|
|
416
|
+
menuConfig: (0, _objectSpread7["default"])({}, _constants2.SIDE_INSERT_MENUS_CONFIG[_constants2.ELEMENT_TYPE.TABLE]),
|
|
403
417
|
className: "pr-2"
|
|
404
418
|
}, /*#__PURE__*/_react["default"].createElement("i", {
|
|
405
419
|
className: "sdocfont sdoc-arrow-right sdoc-dropdown-item-right-icon"
|
|
@@ -416,24 +430,29 @@ var QuickInsertBlockMenu = function QuickInsertBlockMenu(_ref) {
|
|
|
416
430
|
}))), _constants2.LINK, /*#__PURE__*/_react["default"].createElement(_dropdownMenuItem["default"], {
|
|
417
431
|
isHidden: !quickInsertMenuSearchMap[_constants2.LINK],
|
|
418
432
|
key: "sdoc-insert-menu-link",
|
|
419
|
-
menuConfig: (0,
|
|
433
|
+
menuConfig: (0, _objectSpread7["default"])({}, _constants2.SIDE_INSERT_MENUS_CONFIG[_constants2.ELEMENT_TYPE.LINK]),
|
|
420
434
|
onClick: openLinkDialog
|
|
421
|
-
})),
|
|
435
|
+
})), editor.editorType === _constants.WIKI_EDITOR && hasLinkedRepos && (0, _defineProperty2["default"])({}, _constants2.ELEMENT_TYPE.FILE, /*#__PURE__*/_react["default"].createElement(_dropdownMenuItem["default"], {
|
|
436
|
+
isHidden: !quickInsertMenuSearchMap[_constants2.ELEMENT_TYPE.FILE],
|
|
437
|
+
key: "sdoc-insert-menu-file-link",
|
|
438
|
+
menuConfig: (0, _objectSpread7["default"])({}, _constants2.SIDE_INSERT_MENUS_CONFIG[_constants2.ELEMENT_TYPE.FILE]),
|
|
439
|
+
onClick: openSelectFileDialog
|
|
440
|
+
}))), {}, (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])({}, _elementType.EMBED_LINK, /*#__PURE__*/_react["default"].createElement(_dropdownMenuItem["default"], {
|
|
422
441
|
isHidden: !quickInsertMenuSearchMap[_elementType.EMBED_LINK],
|
|
423
442
|
key: "sdoc-insert-menu-embed-link",
|
|
424
|
-
menuConfig: (0,
|
|
443
|
+
menuConfig: (0, _objectSpread7["default"])({}, _constants2.SIDE_INSERT_MENUS_CONFIG[_constants2.ELEMENT_TYPE.EMBED_LINK]),
|
|
425
444
|
onClick: addEmbedLinkDialog
|
|
426
445
|
})), _constants2.CODE_BLOCK, /*#__PURE__*/_react["default"].createElement(_dropdownMenuItem["default"], {
|
|
427
446
|
isHidden: !quickInsertMenuSearchMap[_constants2.CODE_BLOCK],
|
|
428
447
|
disabled: isDisableCodeBlock,
|
|
429
448
|
key: "sdoc-insert-menu-code-block",
|
|
430
|
-
menuConfig: (0,
|
|
449
|
+
menuConfig: (0, _objectSpread7["default"])({}, _constants2.SIDE_INSERT_MENUS_CONFIG[_constants2.ELEMENT_TYPE.CODE_BLOCK]),
|
|
431
450
|
onClick: onInsertCodeBlock
|
|
432
451
|
})), _constants2.CALL_OUT, /*#__PURE__*/_react["default"].createElement(_dropdownMenuItem["default"], {
|
|
433
452
|
isHidden: !quickInsertMenuSearchMap[_constants2.CALL_OUT],
|
|
434
453
|
disabled: isDisableCallout,
|
|
435
454
|
key: "sdoc-insert-menu-callout",
|
|
436
|
-
menuConfig: (0,
|
|
455
|
+
menuConfig: (0, _objectSpread7["default"])({}, _constants2.SIDE_INSERT_MENUS_CONFIG[_constants2.ELEMENT_TYPE.CALL_OUT]),
|
|
437
456
|
onClick: function onClick() {
|
|
438
457
|
return onInsertCallout(_constants2.PARAGRAPH);
|
|
439
458
|
}
|
|
@@ -441,7 +460,7 @@ var QuickInsertBlockMenu = function QuickInsertBlockMenu(_ref) {
|
|
|
441
460
|
isHidden: !quickInsertMenuSearchMap[_constants2.FORMULA],
|
|
442
461
|
disabled: isDisableFormula,
|
|
443
462
|
key: "sdoc-insert-menu-formula",
|
|
444
|
-
menuConfig: (0,
|
|
463
|
+
menuConfig: (0, _objectSpread7["default"])({}, _constants2.SIDE_INSERT_MENUS_CONFIG[_constants2.ELEMENT_TYPE.FORMULA]),
|
|
445
464
|
onClick: onInsertFormula
|
|
446
465
|
})));
|
|
447
466
|
if (_commonUtils.isMobile) {
|
|
@@ -449,28 +468,28 @@ var QuickInsertBlockMenu = function QuickInsertBlockMenu(_ref) {
|
|
|
449
468
|
isHidden: !quickInsertMenuSearchMap[_constants2.PARAGRAPH],
|
|
450
469
|
disabled: isEmptyNode,
|
|
451
470
|
key: "sdoc-insert-menu-paragraph",
|
|
452
|
-
menuConfig: (0,
|
|
471
|
+
menuConfig: (0, _objectSpread7["default"])({}, _constants2.SIDE_INSERT_MENUS_CONFIG[_constants2.ELEMENT_TYPE.PARAGRAPH]),
|
|
453
472
|
onClick: function onClick() {
|
|
454
473
|
return onInsert(_constants2.ELEMENT_TYPE.PARAGRAPH);
|
|
455
474
|
}
|
|
456
475
|
})), _constants2.UNORDERED_LIST, /*#__PURE__*/_react["default"].createElement(_dropdownMenuItem["default"], {
|
|
457
476
|
isHidden: !quickInsertMenuSearchMap[_constants2.UNORDERED_LIST],
|
|
458
477
|
key: "sdoc-insert-menu-unorder-list",
|
|
459
|
-
menuConfig: (0,
|
|
478
|
+
menuConfig: (0, _objectSpread7["default"])({}, _constants2.SIDE_INSERT_MENUS_CONFIG[_constants2.ELEMENT_TYPE.UNORDERED_LIST]),
|
|
460
479
|
onClick: function onClick() {
|
|
461
480
|
onInsertList(_constants2.ELEMENT_TYPE.UNORDERED_LIST);
|
|
462
481
|
}
|
|
463
482
|
})), _constants2.ORDERED_LIST, /*#__PURE__*/_react["default"].createElement(_dropdownMenuItem["default"], {
|
|
464
483
|
isHidden: !quickInsertMenuSearchMap[_constants2.ORDERED_LIST],
|
|
465
484
|
key: "sdoc-insert-menu-order-list",
|
|
466
|
-
menuConfig: (0,
|
|
485
|
+
menuConfig: (0, _objectSpread7["default"])({}, _constants2.SIDE_INSERT_MENUS_CONFIG[_constants2.ELEMENT_TYPE.ORDERED_LIST]),
|
|
467
486
|
onClick: function onClick() {
|
|
468
487
|
onInsertList(_constants2.ELEMENT_TYPE.ORDERED_LIST);
|
|
469
488
|
}
|
|
470
489
|
})), _constants2.CHECK_LIST_ITEM, /*#__PURE__*/_react["default"].createElement(_dropdownMenuItem["default"], {
|
|
471
490
|
isHidden: !quickInsertMenuSearchMap[_constants2.CHECK_LIST_ITEM],
|
|
472
491
|
key: "sdoc-insert-menu-check-list",
|
|
473
|
-
menuConfig: (0,
|
|
492
|
+
menuConfig: (0, _objectSpread7["default"])({}, _constants2.SIDE_INSERT_MENUS_CONFIG[_constants2.ELEMENT_TYPE.CHECK_LIST_ITEM]),
|
|
474
493
|
onClick: onInsertCheckList
|
|
475
494
|
}));
|
|
476
495
|
}
|
|
@@ -488,7 +507,7 @@ var QuickInsertBlockMenu = function QuickInsertBlockMenu(_ref) {
|
|
|
488
507
|
});
|
|
489
508
|
return items;
|
|
490
509
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
491
|
-
}, [quickInsertMenuSearchMap, isDisableImage, onInsertImageToggle, isDisableVideo, isDisableMultiColumn, onInsertVideoToggle, isDisableTable, editor, createTable, callback, handleClosePopover, openLinkDialog, addEmbedLinkDialog, onInsertCodeBlock, isDisableCallout, isDisableToggleHeader, onInsertCheckList, isEmptyNode, onInsertCallout, onInsertList, onInsert, createMultiColumn, isDisableHeader]);
|
|
510
|
+
}, [quickInsertMenuSearchMap, isDisableImage, onInsertImageToggle, isDisableVideo, isDisableMultiColumn, onInsertVideoToggle, isDisableTable, editor, createTable, callback, handleClosePopover, openLinkDialog, openSelectFileDialog, addEmbedLinkDialog, onInsertCodeBlock, isDisableCallout, isDisableToggleHeader, onInsertCheckList, isEmptyNode, onInsertCallout, onInsertList, onInsert, createMultiColumn, isDisableHeader, hasLinkedRepos]);
|
|
492
511
|
var getSelectItemDom = function getSelectItemDom(selectIndex) {
|
|
493
512
|
var dropDownItemWrapper = downDownWrapperRef.current;
|
|
494
513
|
var searchedDropDownItemWrapper = [];
|
|
@@ -586,7 +605,7 @@ var QuickInsertBlockMenu = function QuickInsertBlockMenu(_ref) {
|
|
|
586
605
|
}, [clearSelectStyle, currentSelectIndex, downDownWrapperRef, onHandleInputFocus]);
|
|
587
606
|
var onChange = (0, _react.useCallback)(function (e) {
|
|
588
607
|
if (!downDownWrapperRef.current.isInputtingChinese) {
|
|
589
|
-
var newMenuSearchMap = (0,
|
|
608
|
+
var newMenuSearchMap = (0, _helpers7.getSearchedOperations)(_constants2.SIDE_QUICK_INSERT_MENUS_SEARCH_MAP, true, e, t, editor);
|
|
590
609
|
setQuickInsertMenuSearchMap(newMenuSearchMap);
|
|
591
610
|
}
|
|
592
611
|
}, [editor, t]);
|
|
@@ -19,16 +19,7 @@ var LinkedRepoList = function LinkedRepoList(_ref) {
|
|
|
19
19
|
t = _useTranslation.t;
|
|
20
20
|
var repoRef = (0, _react.useRef)(null);
|
|
21
21
|
var enableRepos = (0, _react.useMemo)(function () {
|
|
22
|
-
|
|
23
|
-
var wikiSettings = _context["default"].getWikiSettings();
|
|
24
|
-
var linked_repos = wikiSettings.linked_repos;
|
|
25
|
-
var linkedMap = linked_repos.reduce(function (ret, id) {
|
|
26
|
-
ret[id] = true;
|
|
27
|
-
return ret;
|
|
28
|
-
}, {});
|
|
29
|
-
return repos.filter(function (item) {
|
|
30
|
-
return linkedMap[item.repo_id];
|
|
31
|
-
});
|
|
22
|
+
return _context["default"].getLinkedRepos();
|
|
32
23
|
}, []);
|
|
33
24
|
var onAddLibraryClick = (0, _react.useCallback)(function () {
|
|
34
25
|
var eventBus = _eventBus["default"].getInstance();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@seafile/sdoc-editor",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.167",
|
|
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": "b96b1362cacc8e105c01f80c09473cbf19e2f827"
|
|
76
76
|
}
|