@seafile/sdoc-editor 3.0.83 → 3.0.84
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 +20 -21
- package/dist/constants/index.js +2 -1
- package/dist/context.js +23 -9
- package/dist/extension/commons/insert-element-dialog/index.js +13 -26
- package/dist/extension/plugins/file-view/helpers.js +2 -14
- package/dist/extension/plugins/file-view/render-elem/index.js +5 -12
- package/dist/extension/toolbar/insert-element-toolbar/index.js +8 -7
- package/dist/extension/toolbar/linked-repo-popover/link-repo-list.css +8 -6
- package/dist/extension/toolbar/linked-repo-popover/link-repo-list.js +26 -67
- package/dist/extension/toolbar/side-toolbar/insert-block-menu.js +9 -8
- package/package.json +3 -3
- package/dist/extension/plugins/file-view/insert-view-dialog/dropdown-select/constants.js +0 -16
- package/dist/extension/plugins/file-view/insert-view-dialog/dropdown-select/index.css +0 -96
- package/dist/extension/plugins/file-view/insert-view-dialog/dropdown-select/index.js +0 -156
- package/dist/extension/plugins/file-view/insert-view-dialog/dropdown-select/lib.png +0 -0
- package/dist/extension/plugins/file-view/insert-view-dialog/dropdown-select/option.css +0 -49
- package/dist/extension/plugins/file-view/insert-view-dialog/dropdown-select/option.js +0 -53
- package/dist/extension/plugins/file-view/insert-view-dialog/dropdown-select/select-option-group.css +0 -37
- package/dist/extension/plugins/file-view/insert-view-dialog/dropdown-select/select-option-group.js +0 -241
- package/dist/extension/plugins/file-view/insert-view-dialog/index.js +0 -232
- package/dist/extension/plugins/file-view/insert-view-dialog/modal-portal.js +0 -41
package/dist/api/seafile-api.js
CHANGED
|
@@ -312,35 +312,34 @@ var SeafileAPI = /*#__PURE__*/function () {
|
|
|
312
312
|
return this.req.get(url);
|
|
313
313
|
}
|
|
314
314
|
}, {
|
|
315
|
-
key: "
|
|
316
|
-
value: function
|
|
317
|
-
var url = "/api/v2.1/wiki2/".concat(wikiId, "/
|
|
315
|
+
key: "insertFileRepo",
|
|
316
|
+
value: function insertFileRepo(docUuid, wikiId, data) {
|
|
317
|
+
var url = "/api/v2.1/wiki2/".concat(wikiId, "/file-repos/");
|
|
318
318
|
var form = new FormData();
|
|
319
|
-
form.append('file_uuid', docUuid);
|
|
320
|
-
form.append('name', data.
|
|
321
|
-
form.append('
|
|
322
|
-
form.append('
|
|
323
|
-
return this.req.post(url, form);
|
|
324
|
-
}
|
|
325
|
-
}, {
|
|
326
|
-
key: "duplicateWikiView",
|
|
327
|
-
value: function duplicateWikiView(wikiId, docUuid, viewId) {
|
|
328
|
-
var url = "/api/v2.1/wiki2/".concat(wikiId, "/duplicate-view/");
|
|
329
|
-
var form = new FormData();
|
|
330
|
-
form.append('file_uuid', docUuid);
|
|
331
|
-
form.append('view_id', viewId);
|
|
319
|
+
form.append('file_uuid', docUuid); // used for valid permission
|
|
320
|
+
form.append('name', data.name);
|
|
321
|
+
form.append('view_name', data.view_name);
|
|
322
|
+
form.append('linked_repo_id', data.linked_repo_id);
|
|
332
323
|
return this.req.post(url, form);
|
|
333
324
|
}
|
|
334
325
|
}, {
|
|
335
|
-
key: "
|
|
336
|
-
value: function
|
|
337
|
-
var url = '/api/v2.1/wiki2/' + wikiId + '/
|
|
326
|
+
key: "modifyFileRepo",
|
|
327
|
+
value: function modifyFileRepo(wikiId, fileRepoId, viewData) {
|
|
328
|
+
var url = '/api/v2.1/wiki2/' + wikiId + '/file-repos/' + fileRepoId + '/';
|
|
338
329
|
var data = {
|
|
339
|
-
|
|
340
|
-
view_data: viewData
|
|
330
|
+
viewData: viewData
|
|
341
331
|
};
|
|
342
332
|
return this.req.put(url, data);
|
|
343
333
|
}
|
|
334
|
+
}, {
|
|
335
|
+
key: "duplicateFileRepo",
|
|
336
|
+
value: function duplicateFileRepo(docUuid, wikiId, fileRepoId) {
|
|
337
|
+
var url = "/api/v2.1/wiki2/".concat(wikiId, "/file-repos/").concat(fileRepoId, "/duplicate/");
|
|
338
|
+
var form = new FormData();
|
|
339
|
+
form.append('file_uuid', docUuid); // used for valid permission
|
|
340
|
+
|
|
341
|
+
return this.req.post(url);
|
|
342
|
+
}
|
|
344
343
|
}]);
|
|
345
344
|
}();
|
|
346
345
|
var _default = exports["default"] = SeafileAPI;
|
package/dist/constants/index.js
CHANGED
|
@@ -79,7 +79,8 @@ var INTERNAL_EVENT = exports.INTERNAL_EVENT = {
|
|
|
79
79
|
CREATE_WHITEBOARD_FILE: 'create_whiteboard_file',
|
|
80
80
|
GENERATE_EXDRAW_READ_ONLY_LINK: 'generate_exdraw_read_only_link',
|
|
81
81
|
TRANSFER_PREVIEW_FILE_ID: 'transfer_preview_file_id',
|
|
82
|
-
FILE_METADATA_COMPONENT: 'file_metadata_component'
|
|
82
|
+
FILE_METADATA_COMPONENT: 'file_metadata_component',
|
|
83
|
+
ADD_WIKI_LIBRARY_TOGGLE: 'add_wiki_library_click'
|
|
83
84
|
};
|
|
84
85
|
var PAGE_EDIT_AREA_WIDTH = exports.PAGE_EDIT_AREA_WIDTH = 672; // 672 = 794 - 2[borderLeft + borderRight] - 120[paddingLeft + paddingRight]
|
|
85
86
|
var COMMENT_EDITOR_EDIT_AREA_WIDTH = exports.COMMENT_EDITOR_EDIT_AREA_WIDTH = 364;
|
package/dist/context.js
CHANGED
|
@@ -35,6 +35,20 @@ var Context = /*#__PURE__*/function () {
|
|
|
35
35
|
_this.settings['originFileURL'] = originFileURL;
|
|
36
36
|
}
|
|
37
37
|
});
|
|
38
|
+
(0, _defineProperty2["default"])(this, "getWikiSettings", function () {
|
|
39
|
+
if (window.wiki && window.wiki.config) {
|
|
40
|
+
var wikiSettings = window.wiki.config.wikiSettings;
|
|
41
|
+
return wikiSettings;
|
|
42
|
+
}
|
|
43
|
+
return _this.settings['wikiSettings'];
|
|
44
|
+
});
|
|
45
|
+
(0, _defineProperty2["default"])(this, "getWikiRepos", function () {
|
|
46
|
+
if (window.wiki && window.wiki.config) {
|
|
47
|
+
var repos = window.wiki.config.repos;
|
|
48
|
+
return repos;
|
|
49
|
+
}
|
|
50
|
+
return _this.settings['repos'];
|
|
51
|
+
});
|
|
38
52
|
(0, _defineProperty2["default"])(this, "uploadLocalImage", function (imageFiles) {
|
|
39
53
|
var docUuid = _this.getSetting('docUuid');
|
|
40
54
|
return _this.api.uploadSdocImage(docUuid, imageFiles).then(function (res) {
|
|
@@ -419,24 +433,24 @@ var Context = /*#__PURE__*/function () {
|
|
|
419
433
|
return this.api.getFileMetadataInfo(docUuid, fileType);
|
|
420
434
|
}
|
|
421
435
|
}, {
|
|
422
|
-
key: "
|
|
423
|
-
value: function
|
|
436
|
+
key: "insertFileRepo",
|
|
437
|
+
value: function insertFileRepo(data) {
|
|
424
438
|
var wikiId = this.getSetting('wikiId');
|
|
425
439
|
var docUuid = this.getSetting('docUuid');
|
|
426
|
-
return this.api.
|
|
440
|
+
return this.api.insertFileRepo(docUuid, wikiId, data);
|
|
427
441
|
}
|
|
428
442
|
}, {
|
|
429
|
-
key: "
|
|
430
|
-
value: function
|
|
443
|
+
key: "duplicateFileRepo",
|
|
444
|
+
value: function duplicateFileRepo(fileRepoId) {
|
|
431
445
|
var wikiId = this.getSetting('wikiId');
|
|
432
446
|
var docUuid = this.getSetting('docUuid');
|
|
433
|
-
return this.api.duplicateWikiView(
|
|
447
|
+
return this.api.duplicateWikiView(docUuid, wikiId, fileRepoId);
|
|
434
448
|
}
|
|
435
449
|
}, {
|
|
436
|
-
key: "
|
|
437
|
-
value: function
|
|
450
|
+
key: "modifyFileRepo",
|
|
451
|
+
value: function modifyFileRepo(viewId, fileRepoId, viewData) {
|
|
438
452
|
var wikiId = this.getSetting('wikiId');
|
|
439
|
-
return this.api.modifyView(wikiId,
|
|
453
|
+
return this.api.modifyView(wikiId, fileRepoId, viewData);
|
|
440
454
|
}
|
|
441
455
|
}]);
|
|
442
456
|
}();
|
|
@@ -15,17 +15,16 @@ var _context = _interopRequireDefault(require("../../../context"));
|
|
|
15
15
|
var _eventBus = _interopRequireDefault(require("../../../utils/event-bus"));
|
|
16
16
|
var _constants2 = require("../../constants");
|
|
17
17
|
var _index = _interopRequireDefault(require("../../plugins/ai/ai-module/index.js"));
|
|
18
|
-
var _index2 = _interopRequireDefault(require("../../plugins/file-view/insert-view-dialog/index.js"));
|
|
19
18
|
var _formulaModal = _interopRequireDefault(require("../../plugins/formula/menu/formula-modal.js"));
|
|
20
19
|
var _helpers = require("../../plugins/image/helpers");
|
|
21
20
|
var _addLinkDialog = _interopRequireDefault(require("../../plugins/link/dialog/add-link-dialog"));
|
|
22
21
|
var _dialogs = require("../../plugins/table/dialogs");
|
|
23
|
-
var
|
|
24
|
-
var
|
|
22
|
+
var _index2 = require("../../plugins/video/constants/index.js");
|
|
23
|
+
var _index3 = _interopRequireDefault(require("../../plugins/video/dialog/add-video-link-dialog/index.js"));
|
|
25
24
|
var _helpers2 = require("../../plugins/video/helpers");
|
|
26
|
-
var
|
|
27
|
-
var
|
|
28
|
-
var
|
|
25
|
+
var _index4 = _interopRequireDefault(require("../file-insert-dialog/index.js"));
|
|
26
|
+
var _index5 = _interopRequireDefault(require("../select-file-dialog/index.js"));
|
|
27
|
+
var _index6 = _interopRequireDefault(require("../wiki-file-insert-dialog/index.js"));
|
|
29
28
|
var InsertElementDialog = function InsertElementDialog(_ref) {
|
|
30
29
|
var editor = _ref.editor;
|
|
31
30
|
var _useState = (0, _react.useState)(''),
|
|
@@ -101,7 +100,7 @@ var InsertElementDialog = function InsertElementDialog(_ref) {
|
|
|
101
100
|
var onVideoFileChanged = (0, _react.useCallback)(function (event) {
|
|
102
101
|
var files = event.target.files;
|
|
103
102
|
// Show warning for 3s and no further insertion if video file is more than 5MB
|
|
104
|
-
if (files[0].size >
|
|
103
|
+
if (files[0].size > _index2.VIDEO_MAX_SIZE_5MB) {
|
|
105
104
|
handleDisplayAlert();
|
|
106
105
|
event.target.value = null;
|
|
107
106
|
return;
|
|
@@ -223,7 +222,7 @@ var InsertElementDialog = function InsertElementDialog(_ref) {
|
|
|
223
222
|
insertLinkCallback: insertLinkCallback,
|
|
224
223
|
closeDialog: closeDialog
|
|
225
224
|
};
|
|
226
|
-
return /*#__PURE__*/_react["default"].createElement(
|
|
225
|
+
return /*#__PURE__*/_react["default"].createElement(_index5["default"], sdocLinkProps);
|
|
227
226
|
}
|
|
228
227
|
case _constants2.ELEMENT_TYPE.FILE_LINK:
|
|
229
228
|
{
|
|
@@ -233,7 +232,7 @@ var InsertElementDialog = function InsertElementDialog(_ref) {
|
|
|
233
232
|
insertLinkCallback: insertLinkCallback,
|
|
234
233
|
closeDialog: closeDialog
|
|
235
234
|
};
|
|
236
|
-
return /*#__PURE__*/_react["default"].createElement(
|
|
235
|
+
return /*#__PURE__*/_react["default"].createElement(_index5["default"], fileLinkProps);
|
|
237
236
|
}
|
|
238
237
|
case _constants2.ELEMENT_TYPE.WHITEBOARD:
|
|
239
238
|
{
|
|
@@ -243,7 +242,7 @@ var InsertElementDialog = function InsertElementDialog(_ref) {
|
|
|
243
242
|
insertWhiteboardFile: insertWhiteboardFile,
|
|
244
243
|
closeDialog: closeDialog
|
|
245
244
|
};
|
|
246
|
-
return /*#__PURE__*/_react["default"].createElement(
|
|
245
|
+
return /*#__PURE__*/_react["default"].createElement(_index5["default"], whiteboardProps);
|
|
247
246
|
}
|
|
248
247
|
case _constants2.ELEMENT_TYPE.VIDEO:
|
|
249
248
|
{
|
|
@@ -253,23 +252,11 @@ var InsertElementDialog = function InsertElementDialog(_ref) {
|
|
|
253
252
|
insertVideoCallback: insertVideoCallback,
|
|
254
253
|
closeDialog: closeDialog
|
|
255
254
|
};
|
|
256
|
-
return /*#__PURE__*/_react["default"].createElement(
|
|
255
|
+
return /*#__PURE__*/_react["default"].createElement(_index5["default"], videoProps);
|
|
257
256
|
}
|
|
258
257
|
case _constants2.ELEMENT_TYPE.VIDEO_LINK:
|
|
259
258
|
{
|
|
260
|
-
return /*#__PURE__*/_react["default"].createElement(
|
|
261
|
-
}
|
|
262
|
-
case _constants2.ELEMENT_TYPE.FILE_VIEW:
|
|
263
|
-
{
|
|
264
|
-
var _props = {
|
|
265
|
-
editor: validEditor,
|
|
266
|
-
element: element,
|
|
267
|
-
slateNode: slateNode,
|
|
268
|
-
insertPosition: insertPosition,
|
|
269
|
-
dialogType: dialogType,
|
|
270
|
-
closeDialog: closeDialog
|
|
271
|
-
};
|
|
272
|
-
return /*#__PURE__*/_react["default"].createElement(_index2["default"], _props);
|
|
259
|
+
return /*#__PURE__*/_react["default"].createElement(_index3["default"], props);
|
|
273
260
|
}
|
|
274
261
|
case _constants2.ELEMENT_TYPE.FORMULA:
|
|
275
262
|
{
|
|
@@ -313,13 +300,13 @@ var InsertElementDialog = function InsertElementDialog(_ref) {
|
|
|
313
300
|
case _constants2.ELEMENT_TYPE.FILE_LINK_INSET_INPUT_TEMP:
|
|
314
301
|
{
|
|
315
302
|
if (editor.editorType === _constants.WIKI_EDITOR) {
|
|
316
|
-
return /*#__PURE__*/_react["default"].createElement(
|
|
303
|
+
return /*#__PURE__*/_react["default"].createElement(_index6["default"], {
|
|
317
304
|
element: slateNode,
|
|
318
305
|
editor: editor,
|
|
319
306
|
closeDialog: closeDialog
|
|
320
307
|
});
|
|
321
308
|
}
|
|
322
|
-
return /*#__PURE__*/_react["default"].createElement(
|
|
309
|
+
return /*#__PURE__*/_react["default"].createElement(_index4["default"], {
|
|
323
310
|
element: slateNode,
|
|
324
311
|
editor: editor,
|
|
325
312
|
closeDialog: closeDialog
|
|
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.updateFileView = exports.insertFileView = exports.
|
|
7
|
+
exports.updateFileView = exports.insertFileView = exports.getFileUrl = exports.genFileViewNode = exports.calculateSize = void 0;
|
|
8
8
|
var _slate = require("@seafile/slate");
|
|
9
9
|
var _slateReact = require("@seafile/slate-react");
|
|
10
10
|
var _slugid = _interopRequireDefault(require("slugid"));
|
|
@@ -18,18 +18,6 @@ var getFileUrl = exports.getFileUrl = function getFileUrl(element) {
|
|
|
18
18
|
view_id = data.view_id;
|
|
19
19
|
return "".concat(serviceUrl, "/wiki/").concat(wiki_id, "/repo-views/").concat(view_id, "/");
|
|
20
20
|
};
|
|
21
|
-
var getWikiSettings = exports.getWikiSettings = function getWikiSettings() {
|
|
22
|
-
var wikiId = _context["default"].getSetting('wikiId');
|
|
23
|
-
var WIKI_SETTING_INTO_KEY = "seafile_wiki_".concat(wikiId, "_settings_info");
|
|
24
|
-
var settings = window.localStorage.getItem(WIKI_SETTING_INTO_KEY);
|
|
25
|
-
return JSON.parse(settings);
|
|
26
|
-
};
|
|
27
|
-
var getAccessibleRepos = exports.getAccessibleRepos = function getAccessibleRepos() {
|
|
28
|
-
var wikiId = _context["default"].getSetting('wikiId');
|
|
29
|
-
var WIKI_REPO_INFO_KEY = "seafile_wiki_".concat(wikiId, "_repos_info");
|
|
30
|
-
var repos = window.localStorage.getItem(WIKI_REPO_INFO_KEY);
|
|
31
|
-
return JSON.parse(repos);
|
|
32
|
-
};
|
|
33
21
|
var genFileViewNode = exports.genFileViewNode = function genFileViewNode(data) {
|
|
34
22
|
return {
|
|
35
23
|
id: _slugid["default"].nice(),
|
|
@@ -43,7 +31,7 @@ var genFileViewNode = exports.genFileViewNode = function genFileViewNode(data) {
|
|
|
43
31
|
};
|
|
44
32
|
var insertFileView = exports.insertFileView = function insertFileView(data, editor, position, slateNode) {
|
|
45
33
|
if (!data) return;
|
|
46
|
-
if (!data.
|
|
34
|
+
if (!data.wiki_id || !data.file_repo_id) return;
|
|
47
35
|
var fileViewNode = genFileViewNode(data);
|
|
48
36
|
if (position === _constants.INSERT_POSITION.AFTER) {
|
|
49
37
|
var path = _slate.Editor.path(editor, editor.selection);
|
|
@@ -19,7 +19,6 @@ var _commonUtils = require("../../../../utils/common-utils");
|
|
|
19
19
|
var _localStorageUtils = _interopRequireDefault(require("../../../../utils/local-storage-utils"));
|
|
20
20
|
var _constants = require("../../../constants");
|
|
21
21
|
var _helpers = require("../helpers");
|
|
22
|
-
var _rename = _interopRequireDefault(require("../rename"));
|
|
23
22
|
require("./index.css");
|
|
24
23
|
var FileView = function FileView(_ref) {
|
|
25
24
|
var element = _ref.element,
|
|
@@ -46,16 +45,16 @@ var FileView = function FileView(_ref) {
|
|
|
46
45
|
var viewSettings = (0, _react.useMemo)(function () {
|
|
47
46
|
var settings = _context["default"].getFileViewSetting();
|
|
48
47
|
var viewSettings = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, settings), {}, {
|
|
49
|
-
repoID: data.link_repo_id,
|
|
50
48
|
view_data: {
|
|
51
|
-
view_id: data.view_id,
|
|
52
49
|
wiki_id: data.wiki_id,
|
|
50
|
+
file_repo_id: data.file_repo_id,
|
|
51
|
+
width: data.width,
|
|
53
52
|
height: data.height,
|
|
54
|
-
|
|
53
|
+
icon: data.icon
|
|
55
54
|
}
|
|
56
55
|
});
|
|
57
56
|
return viewSettings;
|
|
58
|
-
}, [data.
|
|
57
|
+
}, [data.file_repo_id, data.height, data.icon, data.width, data.wiki_id]);
|
|
59
58
|
(0, _react.useEffect)(function () {
|
|
60
59
|
var copyContent = _localStorageUtils["default"].getItem(_constants.RECENT_COPY_CONTENT);
|
|
61
60
|
var wikiId = _context["default"].getSetting('wikiId');
|
|
@@ -172,18 +171,12 @@ var FileView = function FileView(_ref) {
|
|
|
172
171
|
contentEditable: "false",
|
|
173
172
|
suppressContentEditableWarning: true
|
|
174
173
|
}), /*#__PURE__*/_react["default"].createElement("div", {
|
|
175
|
-
className: "sdoc-file-view-title"
|
|
176
|
-
}, /*#__PURE__*/_react["default"].createElement(_rename["default"], {
|
|
177
|
-
name: data.view_name,
|
|
178
|
-
onRenameConfirm: onRename,
|
|
179
|
-
onRenameCancel: onNameCancel
|
|
180
|
-
})), /*#__PURE__*/_react["default"].createElement("div", {
|
|
181
174
|
className: (0, _classnames["default"])('sdoc-file-view-content', {
|
|
182
175
|
'is-selected': isSelected
|
|
183
176
|
}),
|
|
184
177
|
ref: wrapperRef,
|
|
185
178
|
style: style
|
|
186
|
-
}, /*#__PURE__*/_react["default"].createElement(_seafileDatabase.
|
|
179
|
+
}, /*#__PURE__*/_react["default"].createElement(_seafileDatabase.FileBase, {
|
|
187
180
|
settings: viewSettings,
|
|
188
181
|
ref: databaseRef
|
|
189
182
|
}), !readOnly && isSelected && /*#__PURE__*/_react["default"].createElement("span", {
|
|
@@ -244,15 +244,16 @@ var QuickInsertBlockMenu = function QuickInsertBlockMenu(_ref) {
|
|
|
244
244
|
var wikiId = _context["default"].getSetting('wikiId');
|
|
245
245
|
var data = {
|
|
246
246
|
wiki_id: wikiId,
|
|
247
|
+
name: t('Files'),
|
|
247
248
|
view_name: t('View_name'),
|
|
248
|
-
|
|
249
|
-
link_repo_id: item.repo_id
|
|
249
|
+
linked_repo_id: item.repo_id
|
|
250
250
|
};
|
|
251
|
-
_context["default"].
|
|
252
|
-
var
|
|
253
|
-
var viewData =
|
|
254
|
-
|
|
255
|
-
|
|
251
|
+
_context["default"].insertFileRepo(data).then(function (res) {
|
|
252
|
+
var fileRepo = res.data;
|
|
253
|
+
var viewData = {
|
|
254
|
+
wiki_id: wikiId,
|
|
255
|
+
file_repo_id: fileRepo.id
|
|
256
|
+
};
|
|
256
257
|
(0, _helpers3.insertFileView)(viewData, editor, insertPosition, slateNode);
|
|
257
258
|
})["catch"](function (error) {
|
|
258
259
|
var errorMessage = (0, _commonUtils.getErrorMsg)(error);
|
|
@@ -2,21 +2,23 @@
|
|
|
2
2
|
/* position: absolute; */
|
|
3
3
|
background-color: #ffff;
|
|
4
4
|
max-height: 370px;
|
|
5
|
-
max-width:
|
|
5
|
+
max-width: 220px;
|
|
6
6
|
padding: 8px 0px;
|
|
7
7
|
left: -8px;
|
|
8
8
|
}
|
|
9
9
|
|
|
10
|
-
.sdoc-dropdown-menu .sdoc-linked-repo-list-wrapper .sdoc-linked-repo-list-
|
|
10
|
+
.sdoc-dropdown-menu .sdoc-linked-repo-list-wrapper .sdoc-linked-repo-list-tip {
|
|
11
11
|
padding: 12px;
|
|
12
|
+
color: #666;
|
|
12
13
|
}
|
|
13
14
|
|
|
14
|
-
.sdoc-dropdown-menu .sdoc-linked-repo-list-wrapper .sdoc-linked-repo-list-search-wrapper>input {
|
|
15
|
-
font-size: 12px;
|
|
16
|
-
max-height: 30px;
|
|
17
|
-
}
|
|
18
15
|
|
|
19
16
|
.sdoc-dropdown-menu .sdoc-linked-repo-list-wrapper .sdoc-linked-repo-list-content-wrapper {
|
|
20
17
|
max-height: 300px;
|
|
21
18
|
overflow-y: auto;
|
|
22
19
|
}
|
|
20
|
+
|
|
21
|
+
.sdoc-dropdown-menu .sdoc-linked-repo-list-wrapper .sdoc-linked-repo-list-add-toolbar {
|
|
22
|
+
padding: 12px;
|
|
23
|
+
color: #666;
|
|
24
|
+
}
|
|
@@ -1,90 +1,46 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard")["default"];
|
|
4
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
|
|
4
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard")["default"];
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
exports["default"] = void 0;
|
|
9
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
10
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
10
|
var _reactI18next = require("react-i18next");
|
|
12
|
-
var
|
|
13
|
-
var
|
|
11
|
+
var _constants = require("../../../constants");
|
|
12
|
+
var _context = _interopRequireDefault(require("../../../context"));
|
|
13
|
+
var _eventBus = _interopRequireDefault(require("../../../utils/event-bus"));
|
|
14
14
|
require("./link-repo-list.css");
|
|
15
|
-
var useStopPropagation = function useStopPropagation() {
|
|
16
|
-
var stopPropagation = function stopPropagation(e) {
|
|
17
|
-
var _e$nativeEvent$stopIm, _e$nativeEvent;
|
|
18
|
-
e.stopPropagation();
|
|
19
|
-
(_e$nativeEvent$stopIm = (_e$nativeEvent = e.nativeEvent).stopImmediatePropagation) === null || _e$nativeEvent$stopIm === void 0 ? void 0 : _e$nativeEvent$stopIm.call(_e$nativeEvent);
|
|
20
|
-
};
|
|
21
|
-
return {
|
|
22
|
-
onClick: stopPropagation,
|
|
23
|
-
onFocus: stopPropagation,
|
|
24
|
-
onKeyDown: stopPropagation,
|
|
25
|
-
onKeyUp: stopPropagation,
|
|
26
|
-
onKeyPress: stopPropagation,
|
|
27
|
-
onMouseDown: stopPropagation,
|
|
28
|
-
onTouchStart: stopPropagation
|
|
29
|
-
};
|
|
30
|
-
};
|
|
31
|
-
var useRepos = function useRepos() {
|
|
32
|
-
var wikiSettings = (0, _helpers.getWikiSettings)();
|
|
33
|
-
var accessibleRepos = (0, _helpers.getAccessibleRepos)();
|
|
34
|
-
var linkedRepoIds = wikiSettings.linked_repos;
|
|
35
|
-
var optionsMap = accessibleRepos.reduce(function (result, item) {
|
|
36
|
-
result[item.repo_id] = item;
|
|
37
|
-
return result;
|
|
38
|
-
}, {});
|
|
39
|
-
return linkedRepoIds.map(function (id) {
|
|
40
|
-
return optionsMap[id];
|
|
41
|
-
});
|
|
42
|
-
};
|
|
43
15
|
var LinkedRepoList = function LinkedRepoList(_ref) {
|
|
44
16
|
var onRepoClick = _ref.onRepoClick;
|
|
45
17
|
var _useTranslation = (0, _reactI18next.useTranslation)('sdoc-editor'),
|
|
46
18
|
t = _useTranslation.t;
|
|
47
|
-
var isComposingRef = (0, _react.useRef)(null);
|
|
48
19
|
var repoRef = (0, _react.useRef)(null);
|
|
49
|
-
var
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
setTables(repos);
|
|
65
|
-
}
|
|
66
|
-
}, [repos]);
|
|
67
|
-
var onCompositionStart = (0, _react.useCallback)(function () {
|
|
68
|
-
isComposingRef.current = true;
|
|
20
|
+
var enableRepos = (0, _react.useMemo)(function () {
|
|
21
|
+
var repos = _context["default"].getWikiRepos();
|
|
22
|
+
var wikiSettings = _context["default"].getWikiSettings();
|
|
23
|
+
var linked_repos = wikiSettings.linked_repos;
|
|
24
|
+
var linkedMap = linked_repos.reduce(function (ret, id) {
|
|
25
|
+
ret[id] = true;
|
|
26
|
+
return ret;
|
|
27
|
+
}, {});
|
|
28
|
+
return repos.filter(function (item) {
|
|
29
|
+
return linkedMap[item.repo_id];
|
|
30
|
+
});
|
|
31
|
+
}, []);
|
|
32
|
+
var onAddLibraryClick = (0, _react.useCallback)(function () {
|
|
33
|
+
var eventBus = _eventBus["default"].getInstance();
|
|
34
|
+
eventBus.dispatch(_constants.INTERNAL_EVENT.ADD_WIKI_LIBRARY_TOGGLE);
|
|
69
35
|
}, []);
|
|
70
|
-
var onCompositionEnd = (0, _react.useCallback)(function (e) {
|
|
71
|
-
isComposingRef.current = false;
|
|
72
|
-
onChange(e);
|
|
73
|
-
}, [onChange]);
|
|
74
36
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
75
37
|
ref: repoRef,
|
|
76
38
|
className: "sdoc-dropdown-menu-container sdoc-linked-repo-list-wrapper"
|
|
77
39
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
78
|
-
className: "sdoc-linked-repo-list-
|
|
79
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
80
|
-
placeholder: t('Search_1'),
|
|
81
|
-
onChange: onChange,
|
|
82
|
-
autoFocus: true,
|
|
83
|
-
onCompositionStart: onCompositionStart,
|
|
84
|
-
onCompositionEnd: onCompositionEnd
|
|
85
|
-
}, inputEvents))), /*#__PURE__*/_react["default"].createElement("div", {
|
|
40
|
+
className: "sdoc-linked-repo-list-tip"
|
|
41
|
+
}, t('Show_files_from_a_linked_library')), /*#__PURE__*/_react["default"].createElement("div", {
|
|
86
42
|
className: "sdoc-linked-repo-list-content-wrapper"
|
|
87
|
-
},
|
|
43
|
+
}, enableRepos.map(function (item) {
|
|
88
44
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
89
45
|
key: item.repo_id,
|
|
90
46
|
className: "sdoc-dropdown-menu-item text-truncate d-block",
|
|
@@ -92,6 +48,9 @@ var LinkedRepoList = function LinkedRepoList(_ref) {
|
|
|
92
48
|
return onRepoClick(item);
|
|
93
49
|
}
|
|
94
50
|
}, item.repo_name);
|
|
95
|
-
}))
|
|
51
|
+
})), /*#__PURE__*/_react["default"].createElement("div", {
|
|
52
|
+
className: "sdoc-linked-repo-list-add-toolbar",
|
|
53
|
+
onClick: onAddLibraryClick
|
|
54
|
+
}, t('Add library')));
|
|
96
55
|
};
|
|
97
56
|
var _default = exports["default"] = LinkedRepoList;
|
|
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
exports["default"] = void 0;
|
|
9
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/toConsumableArray"));
|
|
10
9
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
|
|
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
13
|
var _reactstrap = require("reactstrap");
|
|
@@ -151,15 +151,16 @@ var InsertBlockMenu = function InsertBlockMenu(_ref) {
|
|
|
151
151
|
var wikiId = _context["default"].getSetting('wikiId');
|
|
152
152
|
var data = {
|
|
153
153
|
wiki_id: wikiId,
|
|
154
|
+
name: t('Files'),
|
|
154
155
|
view_name: t('View_name'),
|
|
155
|
-
|
|
156
|
-
link_repo_id: item.repo_id
|
|
156
|
+
linked_repo_id: item.repo_id
|
|
157
157
|
};
|
|
158
|
-
_context["default"].
|
|
159
|
-
var
|
|
160
|
-
var viewData =
|
|
161
|
-
|
|
162
|
-
|
|
158
|
+
_context["default"].insertFileRepo(data).then(function (res) {
|
|
159
|
+
var fileRepo = res.data;
|
|
160
|
+
var viewData = {
|
|
161
|
+
wiki_id: wikiId,
|
|
162
|
+
file_repo_id: fileRepo.id
|
|
163
|
+
};
|
|
163
164
|
(0, _helpers3.insertFileView)(viewData, editor, insertPosition, slateNode);
|
|
164
165
|
})["catch"](function (error) {
|
|
165
166
|
var errorMessage = (0, _commonUtils.getErrorMsg)(error);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@seafile/sdoc-editor",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.84",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"test": "jest",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"@seafile/comment-editor": "~1.0.16",
|
|
21
21
|
"@seafile/print-js": "1.6.6",
|
|
22
22
|
"@seafile/react-image-lightbox": "5.0.4",
|
|
23
|
-
"@seafile/seafile-database": "0.0.
|
|
23
|
+
"@seafile/seafile-database": "0.0.22",
|
|
24
24
|
"@seafile/slate": "0.91.8",
|
|
25
25
|
"@seafile/slate-history": "0.86.2",
|
|
26
26
|
"@seafile/slate-hyperscript": "0.81.7",
|
|
@@ -72,5 +72,5 @@
|
|
|
72
72
|
"publishConfig": {
|
|
73
73
|
"access": "public"
|
|
74
74
|
},
|
|
75
|
-
"gitHead": "
|
|
75
|
+
"gitHead": "561b204eb5bef258394f634ebf65d30c5518b036"
|
|
76
76
|
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports["default"] = void 0;
|
|
7
|
-
var KeyCodes = {
|
|
8
|
-
Tab: 9,
|
|
9
|
-
Escape: 27,
|
|
10
|
-
Esc: 27,
|
|
11
|
-
LeftArrow: 37,
|
|
12
|
-
UpArrow: 38,
|
|
13
|
-
RightArrow: 39,
|
|
14
|
-
DownArrow: 40
|
|
15
|
-
};
|
|
16
|
-
var _default = exports["default"] = KeyCodes;
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
.sdoc-select.group-select {
|
|
2
|
-
position: relative;
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
.sdoc-select.group-select.custom-select {
|
|
6
|
-
display: flex;
|
|
7
|
-
padding: 5px 10px;
|
|
8
|
-
border-radius: 3px;
|
|
9
|
-
align-items: center;
|
|
10
|
-
justify-content: space-between;
|
|
11
|
-
max-width: 900px;
|
|
12
|
-
user-select: none;
|
|
13
|
-
text-align: left;
|
|
14
|
-
border-color: 1px solid rgba(0, 40, 100, 0.12);
|
|
15
|
-
height: auto;
|
|
16
|
-
min-height: 38px;
|
|
17
|
-
cursor: pointer;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
.sdoc-select.group-select.custom-select:focus,
|
|
21
|
-
.sdoc-select.group-select.custom-select.focus {
|
|
22
|
-
border-color: #1991eb !important;
|
|
23
|
-
box-shadow: 0 0 0 2px rgba(70, 127, 207, 0.25);
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
.sdoc-select.group-select.custom-select.disabled:focus,
|
|
27
|
-
.sdoc-select.group-select.custom-select.focus.disabled,
|
|
28
|
-
.sdoc-select.group-select.custom-select.disabled:hover {
|
|
29
|
-
border-color: rgba(0, 40, 100, 0.12) !important;
|
|
30
|
-
box-shadow: unset;
|
|
31
|
-
cursor: default;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
.sdoc-select.group-select .sdoc-font-down {
|
|
35
|
-
display: inline-block;
|
|
36
|
-
color: #999;
|
|
37
|
-
transform: translateY(2px);
|
|
38
|
-
transition: all 0.1s;
|
|
39
|
-
font-size: 14px !important;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
.sdoc-select.group-select .sdoc-font-down:hover {
|
|
43
|
-
color: #666;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
.sdoc-select.group-select .selected-option {
|
|
47
|
-
display: flex;
|
|
48
|
-
flex: 1;
|
|
49
|
-
overflow: hidden;
|
|
50
|
-
flex-wrap: nowrap;
|
|
51
|
-
align-items: center;
|
|
52
|
-
justify-content: space-between;
|
|
53
|
-
background: #fff;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
.sdoc-select.group-select.selector-collaborator .option-group .option-group-content {
|
|
57
|
-
padding: 10px;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
.sdoc-select.group-select.custom-select.selector-collaborator .option-group .option-group-content {
|
|
61
|
-
padding: 10px 0;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
.sdoc-select.group-select.custom-select.selector-collaborator .option {
|
|
65
|
-
padding: 5px 0 5px 10px !important;
|
|
66
|
-
line-height: 20px;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
.sdoc-select.group-select .select-placeholder {
|
|
70
|
-
line-height: 1;
|
|
71
|
-
font-size: 14px;
|
|
72
|
-
white-space: nowrap;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
.sdoc-select.group-select .selected-option-show {
|
|
76
|
-
display: flex;
|
|
77
|
-
flex-wrap: wrap;
|
|
78
|
-
gap: 4px;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
.sdoc-select.group-select .selected-option-show .selected-option-item {
|
|
82
|
-
display: flex;
|
|
83
|
-
align-items: center;
|
|
84
|
-
background-color: #fff;
|
|
85
|
-
border-radius: 0px;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
.sdoc-select.group-select .selected-option-show .selected-option-item .selected-option-item-name {
|
|
89
|
-
font-size: 13px;
|
|
90
|
-
color: #212529;
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
.sdoc-select.group-select .selected-option-show .selected-option-item .sf2-icon-close {
|
|
94
|
-
cursor: pointer;
|
|
95
|
-
color: rgb(103, 103, 103);
|
|
96
|
-
}
|