@seafile/sdoc-editor 3.0.1 → 3.0.3
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 -0
- package/dist/context.js +14 -0
- package/dist/editor/sdoc-editor.js +3 -0
- package/dist/editor/wiki-editor.js +4 -1
- package/dist/extension/commons/insert-element-dialog/index.js +26 -13
- package/dist/extension/constants/element-type.js +2 -1
- package/dist/extension/constants/font.js +1 -2
- package/dist/extension/constants/index.js +8 -0
- package/dist/extension/constants/menus-config.js +8 -3
- package/dist/extension/plugins/code-block/plugin.js +9 -0
- package/dist/extension/plugins/file-view/helpers.js +77 -0
- package/dist/extension/plugins/file-view/index.js +17 -0
- package/dist/extension/plugins/file-view/insert-view-dialog/dropdown-select/constants.js +16 -0
- package/dist/extension/plugins/file-view/insert-view-dialog/dropdown-select/index.css +96 -0
- package/dist/extension/plugins/file-view/insert-view-dialog/dropdown-select/index.js +156 -0
- 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 +49 -0
- package/dist/extension/plugins/file-view/insert-view-dialog/dropdown-select/option.js +53 -0
- package/dist/extension/plugins/file-view/insert-view-dialog/dropdown-select/select-option-group.css +37 -0
- package/dist/extension/plugins/file-view/insert-view-dialog/dropdown-select/select-option-group.js +241 -0
- package/dist/extension/plugins/file-view/insert-view-dialog/index.js +232 -0
- package/dist/extension/plugins/file-view/insert-view-dialog/modal-portal.js +41 -0
- package/dist/extension/plugins/file-view/plugin.js +71 -0
- package/dist/extension/plugins/file-view/render-elem/index.css +53 -0
- package/dist/extension/plugins/file-view/render-elem/index.js +103 -0
- package/dist/extension/plugins/html/plugin.js +2 -3
- package/dist/extension/plugins/image/use-copy-image.js +2 -2
- package/dist/extension/plugins/index.js +9 -2
- package/dist/extension/plugins/list/plugin/index.js +2 -1
- package/dist/extension/plugins/list/transforms/normalize-list-item.js +1 -1
- package/dist/extension/plugins/quick-insert/render-elem.js +1 -0
- package/dist/extension/render/custom-element.js +6 -0
- package/dist/extension/toolbar/insert-element-toolbar/index.js +16 -1
- package/dist/extension/toolbar/side-toolbar/index.js +36 -12
- package/dist/extension/toolbar/side-toolbar/insert-block-menu.js +16 -2
- package/dist/node-id/index.js +3 -0
- package/package.json +2 -2
package/dist/api/seafile-api.js
CHANGED
|
@@ -311,6 +311,26 @@ var SeafileAPI = /*#__PURE__*/function () {
|
|
|
311
311
|
var url = '/api/v2.1/seadoc/search-metadata-records/' + docUuid + '/?search_type=' + fileType;
|
|
312
312
|
return this.req.get(url);
|
|
313
313
|
}
|
|
314
|
+
}, {
|
|
315
|
+
key: "insertWikiView",
|
|
316
|
+
value: function insertWikiView(wikiId, docUuid, data) {
|
|
317
|
+
var url = "/api/v2.1/wiki2/".concat(wikiId, "/views/");
|
|
318
|
+
var form = new FormData();
|
|
319
|
+
form.append('file_uuid', docUuid);
|
|
320
|
+
form.append('name', data.view_name);
|
|
321
|
+
form.append('type', data.view_type);
|
|
322
|
+
form.append('link_repo_id', data.link_repo_id);
|
|
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);
|
|
332
|
+
return this.req.post(url, form);
|
|
333
|
+
}
|
|
314
334
|
}]);
|
|
315
335
|
}();
|
|
316
336
|
var _default = exports["default"] = SeafileAPI;
|
package/dist/context.js
CHANGED
|
@@ -390,6 +390,20 @@ var Context = /*#__PURE__*/function () {
|
|
|
390
390
|
var docUuid = this.getDocUuid();
|
|
391
391
|
return this.api.getFileMetadataInfo(docUuid, fileType);
|
|
392
392
|
}
|
|
393
|
+
}, {
|
|
394
|
+
key: "insertWikiView",
|
|
395
|
+
value: function insertWikiView(data) {
|
|
396
|
+
var wikiId = this.getSetting('wikiId');
|
|
397
|
+
var docUuid = this.getSetting('docUuid');
|
|
398
|
+
return this.api.insertWikiView(wikiId, docUuid, data);
|
|
399
|
+
}
|
|
400
|
+
}, {
|
|
401
|
+
key: "duplicateWikiView",
|
|
402
|
+
value: function duplicateWikiView(viewId) {
|
|
403
|
+
var wikiId = this.getSetting('wikiId');
|
|
404
|
+
var docUuid = this.getSetting('docUuid');
|
|
405
|
+
return this.api.duplicateWikiView(wikiId, docUuid, viewId);
|
|
406
|
+
}
|
|
393
407
|
}]);
|
|
394
408
|
}();
|
|
395
409
|
var context = new Context();
|
|
@@ -21,6 +21,7 @@ var _constants = require("../constants");
|
|
|
21
21
|
var _context = _interopRequireDefault(require("../context"));
|
|
22
22
|
var _extension = require("../extension");
|
|
23
23
|
var _insertElementDialog = _interopRequireDefault(require("../extension/commons/insert-element-dialog"));
|
|
24
|
+
var _constants2 = require("../extension/constants");
|
|
24
25
|
var _core = require("../extension/core");
|
|
25
26
|
var _helpers = require("../extension/plugins/ai/ai-module/helpers");
|
|
26
27
|
var _useColorContext = require("../hooks/use-color-context");
|
|
@@ -29,6 +30,7 @@ var _nodeId = _interopRequireDefault(require("../node-id"));
|
|
|
29
30
|
var _socket = require("../socket");
|
|
30
31
|
var _commonUtils = require("../utils/common-utils");
|
|
31
32
|
var _eventBus = _interopRequireDefault(require("../utils/event-bus"));
|
|
33
|
+
var _localStorageUtils = _interopRequireDefault(require("../utils/local-storage-utils"));
|
|
32
34
|
var _readonlyArticle = _interopRequireDefault(require("../views/readonly-article"));
|
|
33
35
|
var _editableArticle = _interopRequireDefault(require("./editable-article"));
|
|
34
36
|
var SdocEditor = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
@@ -77,6 +79,7 @@ var SdocEditor = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
|
77
79
|
validEditor.readonly = false;
|
|
78
80
|
return function () {
|
|
79
81
|
validEditor.selection = null;
|
|
82
|
+
_localStorageUtils["default"].removeItem(_constants2.RECENT_COPY_CONTENT);
|
|
80
83
|
};
|
|
81
84
|
|
|
82
85
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
@@ -18,6 +18,7 @@ var _constants = require("../constants");
|
|
|
18
18
|
var _context = _interopRequireDefault(require("../context"));
|
|
19
19
|
var _extension = require("../extension");
|
|
20
20
|
var _insertElementDialog = _interopRequireDefault(require("../extension/commons/insert-element-dialog"));
|
|
21
|
+
var _constants2 = require("../extension/constants");
|
|
21
22
|
var _helpers = require("../extension/plugins/ai/ai-module/helpers");
|
|
22
23
|
var _useColorContext = require("../hooks/use-color-context");
|
|
23
24
|
var _useScrollContext = require("../hooks/use-scroll-context");
|
|
@@ -27,6 +28,7 @@ var _wikiOutline = _interopRequireDefault(require("../outline/wiki-outline"));
|
|
|
27
28
|
var _socket = require("../socket");
|
|
28
29
|
var _commonUtils = require("../utils/common-utils");
|
|
29
30
|
var _eventBus = _interopRequireDefault(require("../utils/event-bus"));
|
|
31
|
+
var _localStorageUtils = _interopRequireDefault(require("../utils/local-storage-utils"));
|
|
30
32
|
var _readonlyArticle = _interopRequireDefault(require("../views/readonly-article"));
|
|
31
33
|
var _editableArticle = _interopRequireDefault(require("./editable-article"));
|
|
32
34
|
var WikiEditor = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
@@ -66,10 +68,11 @@ var WikiEditor = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
|
66
68
|
validEditor.readonly = false;
|
|
67
69
|
return function () {
|
|
68
70
|
validEditor.selection = null;
|
|
71
|
+
_localStorageUtils["default"].removeItem(_constants2.RECENT_COPY_CONTENT);
|
|
69
72
|
};
|
|
70
|
-
|
|
71
73
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
72
74
|
}, []);
|
|
75
|
+
|
|
73
76
|
// useMount: init socket connection
|
|
74
77
|
(0, _react.useEffect)(function () {
|
|
75
78
|
if (propsEditor) return;
|
|
@@ -15,15 +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"));
|
|
18
19
|
var _helpers = require("../../plugins/image/helpers");
|
|
19
20
|
var _addLinkDialog = _interopRequireDefault(require("../../plugins/link/dialog/add-link-dialog"));
|
|
20
21
|
var _dialogs = require("../../plugins/table/dialogs");
|
|
21
|
-
var
|
|
22
|
-
var
|
|
22
|
+
var _index3 = require("../../plugins/video/constants/index.js");
|
|
23
|
+
var _index4 = _interopRequireDefault(require("../../plugins/video/dialog/add-video-link-dialog/index.js"));
|
|
23
24
|
var _helpers2 = require("../../plugins/video/helpers");
|
|
24
|
-
var
|
|
25
|
-
var
|
|
26
|
-
var
|
|
25
|
+
var _index5 = _interopRequireDefault(require("../file-insert-dialog/index.js"));
|
|
26
|
+
var _index6 = _interopRequireDefault(require("../select-file-dialog/index.js"));
|
|
27
|
+
var _index7 = _interopRequireDefault(require("../wiki-file-insert-dialog/index.js"));
|
|
27
28
|
var InsertElementDialog = function InsertElementDialog(_ref) {
|
|
28
29
|
var editor = _ref.editor;
|
|
29
30
|
var _useState = (0, _react.useState)(''),
|
|
@@ -95,7 +96,7 @@ var InsertElementDialog = function InsertElementDialog(_ref) {
|
|
|
95
96
|
var onVideoFileChanged = (0, _react.useCallback)(function (event) {
|
|
96
97
|
var files = event.target.files;
|
|
97
98
|
// Show warning for 3s and no further insertion if video file is more than 5MB
|
|
98
|
-
if (files[0].size >
|
|
99
|
+
if (files[0].size > _index3.VIDEO_MAX_SIZE_5MB) {
|
|
99
100
|
handleDisplayAlert();
|
|
100
101
|
event.target.value = null;
|
|
101
102
|
return;
|
|
@@ -203,7 +204,7 @@ var InsertElementDialog = function InsertElementDialog(_ref) {
|
|
|
203
204
|
insertLinkCallback: insertLinkCallback,
|
|
204
205
|
closeDialog: closeDialog
|
|
205
206
|
};
|
|
206
|
-
return /*#__PURE__*/_react["default"].createElement(
|
|
207
|
+
return /*#__PURE__*/_react["default"].createElement(_index6["default"], sdocLinkProps);
|
|
207
208
|
}
|
|
208
209
|
case _constants2.ELEMENT_TYPE.FILE_LINK:
|
|
209
210
|
{
|
|
@@ -213,7 +214,7 @@ var InsertElementDialog = function InsertElementDialog(_ref) {
|
|
|
213
214
|
insertLinkCallback: insertLinkCallback,
|
|
214
215
|
closeDialog: closeDialog
|
|
215
216
|
};
|
|
216
|
-
return /*#__PURE__*/_react["default"].createElement(
|
|
217
|
+
return /*#__PURE__*/_react["default"].createElement(_index6["default"], fileLinkProps);
|
|
217
218
|
}
|
|
218
219
|
case _constants2.ELEMENT_TYPE.WHITEBOARD:
|
|
219
220
|
{
|
|
@@ -223,7 +224,7 @@ var InsertElementDialog = function InsertElementDialog(_ref) {
|
|
|
223
224
|
insertWhiteboardFile: insertWhiteboardFile,
|
|
224
225
|
closeDialog: closeDialog
|
|
225
226
|
};
|
|
226
|
-
return /*#__PURE__*/_react["default"].createElement(
|
|
227
|
+
return /*#__PURE__*/_react["default"].createElement(_index6["default"], whiteboardProps);
|
|
227
228
|
}
|
|
228
229
|
case _constants2.ELEMENT_TYPE.VIDEO:
|
|
229
230
|
{
|
|
@@ -233,11 +234,23 @@ var InsertElementDialog = function InsertElementDialog(_ref) {
|
|
|
233
234
|
insertVideoCallback: insertVideoCallback,
|
|
234
235
|
closeDialog: closeDialog
|
|
235
236
|
};
|
|
236
|
-
return /*#__PURE__*/_react["default"].createElement(
|
|
237
|
+
return /*#__PURE__*/_react["default"].createElement(_index6["default"], videoProps);
|
|
237
238
|
}
|
|
238
239
|
case _constants2.ELEMENT_TYPE.VIDEO_LINK:
|
|
239
240
|
{
|
|
240
|
-
return /*#__PURE__*/_react["default"].createElement(
|
|
241
|
+
return /*#__PURE__*/_react["default"].createElement(_index4["default"], props);
|
|
242
|
+
}
|
|
243
|
+
case _constants2.ELEMENT_TYPE.FILE_VIEW:
|
|
244
|
+
{
|
|
245
|
+
var _props = {
|
|
246
|
+
editor: validEditor,
|
|
247
|
+
element: element,
|
|
248
|
+
slateNode: slateNode,
|
|
249
|
+
insertPosition: insertPosition,
|
|
250
|
+
dialogType: dialogType,
|
|
251
|
+
closeDialog: closeDialog
|
|
252
|
+
};
|
|
253
|
+
return /*#__PURE__*/_react["default"].createElement(_index2["default"], _props);
|
|
241
254
|
}
|
|
242
255
|
case _constants2.LOCAL_IMAGE:
|
|
243
256
|
{
|
|
@@ -273,13 +286,13 @@ var InsertElementDialog = function InsertElementDialog(_ref) {
|
|
|
273
286
|
case _constants2.ELEMENT_TYPE.FILE_LINK_INSET_INPUT_TEMP:
|
|
274
287
|
{
|
|
275
288
|
if (editor.editorType === _constants.WIKI_EDITOR) {
|
|
276
|
-
return /*#__PURE__*/_react["default"].createElement(
|
|
289
|
+
return /*#__PURE__*/_react["default"].createElement(_index7["default"], {
|
|
277
290
|
element: slateNode,
|
|
278
291
|
editor: editor,
|
|
279
292
|
closeDialog: closeDialog
|
|
280
293
|
});
|
|
281
294
|
}
|
|
282
|
-
return /*#__PURE__*/_react["default"].createElement(
|
|
295
|
+
return /*#__PURE__*/_react["default"].createElement(_index5["default"], {
|
|
283
296
|
element: slateNode,
|
|
284
297
|
editor: editor,
|
|
285
298
|
closeDialog: closeDialog
|
|
@@ -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.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.FONT_SIZE_REDUCE = exports.FONT_SIZE_INCREASE = exports.FONT_SIZE = exports.FIVE_COLUMN = exports.FILE_LINK_INSET_INPUT_TEMP = exports.FILE_LINK = 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.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.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.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';
|
|
@@ -44,6 +44,7 @@ var FILE_LINK_INSET_INPUT_TEMP = exports.FILE_LINK_INSET_INPUT_TEMP = 'file_link
|
|
|
44
44
|
var QUICK_INSERT = exports.QUICK_INSERT = 'quick_insert';
|
|
45
45
|
var VIDEO_LINK = exports.VIDEO_LINK = 'video_link';
|
|
46
46
|
var WHITEBOARD = exports.WHITEBOARD = 'whiteboard';
|
|
47
|
+
var FILE_VIEW = exports.FILE_VIEW = 'file_view';
|
|
47
48
|
var ASK_AI = exports.ASK_AI = 'ask_ai';
|
|
48
49
|
|
|
49
50
|
// font
|
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.SDOC_FONT_SIZE = exports.RECENT_USED_FONTS_KEY = exports.
|
|
8
|
+
exports.SDOC_FONT_SIZE = exports.RECENT_USED_FONTS_KEY = exports.GOOGLE_FONT_CLASS = exports.FONT_SIZE = exports.FONT = exports.DEFAULT_FONT = void 0;
|
|
9
9
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
|
|
10
10
|
var ELEMENT_TYPE = _interopRequireWildcard(require("./element-type"));
|
|
11
11
|
// font family
|
|
@@ -88,7 +88,6 @@ var FONT_SIZE = exports.FONT_SIZE = [{
|
|
|
88
88
|
var GOOGLE_FONT_CLASS = exports.GOOGLE_FONT_CLASS = 'sdoc-google-font';
|
|
89
89
|
var DEFAULT_FONT = exports.DEFAULT_FONT = 'default_font';
|
|
90
90
|
var RECENT_USED_FONTS_KEY = exports.RECENT_USED_FONTS_KEY = 'sdoc-recent-used-fonts';
|
|
91
|
-
var RECENT_PASTE_HTML_CONTENT = exports.RECENT_PASTE_HTML_CONTENT = 'sdoc-recent-paste-html-content';
|
|
92
91
|
var FONT = exports.FONT = [
|
|
93
92
|
// { name: '\u5fae\u8f6f\u96c5\u9ed1', fontFamilyName: { mac: 'Microsoft YaHei', windows: '\u5fae\u8f6f\u96c5\u9ed1' }, supportFontWeight: FONT_WEIGHT_100_400_700, isSystemOwn: true, usuallyFontFamilyName: SANS_SERIF }, // 微软雅黑
|
|
94
93
|
// { name: '\u5b8b\u4f53', fontFamilyName: { mac: 'SimSun', windows: '\u5b8b\u4f53' }, supportFontWeight: FONT_WEIGHT_100_400_700_800, isSystemOwn: true, usuallyFontFamilyName: SERIF }, // 宋体
|
|
@@ -129,6 +129,12 @@ Object.defineProperty(exports, "FILE_LINK_INSET_INPUT_TEMP", {
|
|
|
129
129
|
}
|
|
130
130
|
});
|
|
131
131
|
exports.FILE_TYPE = void 0;
|
|
132
|
+
Object.defineProperty(exports, "FILE_VIEW", {
|
|
133
|
+
enumerable: true,
|
|
134
|
+
get: function get() {
|
|
135
|
+
return _elementType.FILE_VIEW;
|
|
136
|
+
}
|
|
137
|
+
});
|
|
132
138
|
Object.defineProperty(exports, "FONT", {
|
|
133
139
|
enumerable: true,
|
|
134
140
|
get: function get() {
|
|
@@ -290,6 +296,7 @@ Object.defineProperty(exports, "QUICK_INSERT", {
|
|
|
290
296
|
return _elementType.QUICK_INSERT;
|
|
291
297
|
}
|
|
292
298
|
});
|
|
299
|
+
exports.RECENT_COPY_CONTENT = void 0;
|
|
293
300
|
Object.defineProperty(exports, "RECENT_USED_FONTS_KEY", {
|
|
294
301
|
enumerable: true,
|
|
295
302
|
get: function get() {
|
|
@@ -509,6 +516,7 @@ var HEADER_TAG = exports.HEADER_TAG = {
|
|
|
509
516
|
var HEADER_TITLE_MAP = exports.HEADER_TITLE_MAP = (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"])({}, _elementType.TITLE, 'Title'), _elementType.SUBTITLE, 'Subtitle'), _elementType.HEADER1, 'Header_one'), _elementType.HEADER2, 'Header_two'), _elementType.HEADER3, 'Header_three'), _elementType.HEADER4, 'Header_four'), _elementType.HEADER5, 'Header_five'), _elementType.HEADER6, 'Header_six'), _elementType.PARAGRAPH, 'Paragraph');
|
|
510
517
|
var TRANSPARENT = exports.TRANSPARENT = 'transparent';
|
|
511
518
|
var CLIPBOARD_FORMAT_KEY = exports.CLIPBOARD_FORMAT_KEY = 'x-slate-fragment';
|
|
519
|
+
var RECENT_COPY_CONTENT = exports.RECENT_COPY_CONTENT = 'sdoc-recent-copy-content';
|
|
512
520
|
var TABLE_DRAG_KEY = exports.TABLE_DRAG_KEY = 'drag-table/json';
|
|
513
521
|
var CLIPBOARD_ORIGIN_SDOC_KEY = exports.CLIPBOARD_ORIGIN_SDOC_KEY = 'origin-sdoc-uuid';
|
|
514
522
|
var INSERT_FILE_DISPLAY_TYPE = exports.INSERT_FILE_DISPLAY_TYPE = ['text_link', 'icon_link', 'card_link'];
|
|
@@ -336,7 +336,7 @@ var SIDE_INSERT_MENUS_CONFIG = exports.SIDE_INSERT_MENUS_CONFIG = (_SIDE_INSERT_
|
|
|
336
336
|
iconClass: 'sdocfont sdoc-text',
|
|
337
337
|
type: _elementType.PARAGRAPH,
|
|
338
338
|
text: 'Paragraph'
|
|
339
|
-
}), (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])(_SIDE_INSERT_MENUS_CO, _elementType.HEADER, [{
|
|
339
|
+
}), (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])(_SIDE_INSERT_MENUS_CO, _elementType.HEADER, [{
|
|
340
340
|
id: _elementType.HEADER1,
|
|
341
341
|
iconClass: 'sdocfont sdoc-header1',
|
|
342
342
|
type: _elementType.HEADER1,
|
|
@@ -376,9 +376,14 @@ var SIDE_INSERT_MENUS_CONFIG = exports.SIDE_INSERT_MENUS_CONFIG = (_SIDE_INSERT_
|
|
|
376
376
|
iconClass: 'sdocfont sdoc-quote1',
|
|
377
377
|
type: _elementType.BLOCKQUOTE,
|
|
378
378
|
text: 'Quote'
|
|
379
|
+
}), _elementType.FILE_VIEW, {
|
|
380
|
+
id: _elementType.FILE_VIEW,
|
|
381
|
+
iconClass: 'sdocfont sdoc-file-view',
|
|
382
|
+
type: _elementType.FILE_VIEW,
|
|
383
|
+
text: 'File_view'
|
|
379
384
|
}));
|
|
380
|
-
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"])(_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'));
|
|
381
|
-
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.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"])(_SIDE_QUICK_INSERT_ME, _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'));
|
|
385
|
+
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"])(_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.FILE_VIEW, 'File_view'));
|
|
386
|
+
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.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"])(_SIDE_QUICK_INSERT_ME, _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'));
|
|
382
387
|
|
|
383
388
|
// Other operations menu config
|
|
384
389
|
var SIDE_OTHER_OPERATIONS_MENUS_SEARCH_MAP = exports.SIDE_OTHER_OPERATIONS_MENUS_SEARCH_MAP = {
|
|
@@ -182,6 +182,15 @@ var withCodeBlock = function withCodeBlock(editor) {
|
|
|
182
182
|
_slate.Transforms.select(newEditor, [path[0] + 1]);
|
|
183
183
|
}
|
|
184
184
|
}
|
|
185
|
+
if ((0, _isHotkey["default"])('enter', event)) {
|
|
186
|
+
event.preventDefault();
|
|
187
|
+
var selectedNode = (0, _core.getSelectedNodeByType)(newEditor, _constants.CODE_LINE);
|
|
188
|
+
var line = (0, _core.generateEmptyElement)(_constants.CODE_LINE);
|
|
189
|
+
_slate.Transforms.insertNodes(editor, line, {
|
|
190
|
+
at: selectedNode[1]
|
|
191
|
+
});
|
|
192
|
+
return;
|
|
193
|
+
}
|
|
185
194
|
if ((0, _isHotkey["default"])('tab', event)) {
|
|
186
195
|
var selection = newEditor.selection;
|
|
187
196
|
event.preventDefault();
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.updateFileView = exports.insertFileView = exports.getWikiSettings = exports.getFileUrl = exports.getAccessibleRepos = exports.genFileViewNode = void 0;
|
|
8
|
+
var _slate = require("@seafile/slate");
|
|
9
|
+
var _slateReact = require("@seafile/slate-react");
|
|
10
|
+
var _slugid = _interopRequireDefault(require("slugid"));
|
|
11
|
+
var _context = _interopRequireDefault(require("../../../context"));
|
|
12
|
+
var _constants = require("../../constants");
|
|
13
|
+
var _core = require("../../core");
|
|
14
|
+
var getFileUrl = exports.getFileUrl = function getFileUrl(element) {
|
|
15
|
+
var serviceUrl = _context["default"].getSetting('serviceUrl');
|
|
16
|
+
var data = element.data;
|
|
17
|
+
var wiki_id = data.wiki_id,
|
|
18
|
+
view_id = data.view_id;
|
|
19
|
+
return "".concat(serviceUrl, "/wiki/").concat(wiki_id, "/repo-views/").concat(view_id, "/");
|
|
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
|
+
var genFileViewNode = exports.genFileViewNode = function genFileViewNode(data) {
|
|
34
|
+
return {
|
|
35
|
+
id: _slugid["default"].nice(),
|
|
36
|
+
type: _constants.FILE_VIEW,
|
|
37
|
+
data: data,
|
|
38
|
+
children: [{
|
|
39
|
+
id: _slugid["default"].nice(),
|
|
40
|
+
text: ''
|
|
41
|
+
}]
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
var insertFileView = exports.insertFileView = function insertFileView(data, editor, position, slateNode) {
|
|
45
|
+
if (!data) return;
|
|
46
|
+
if (!data.view_name || !data.view_type || !data.link_repo_id) return;
|
|
47
|
+
var fileViewNode = genFileViewNode(data);
|
|
48
|
+
if (position === _constants.INSERT_POSITION.AFTER) {
|
|
49
|
+
var path = _slate.Editor.path(editor, editor.selection);
|
|
50
|
+
_slate.Transforms.insertNodes(editor, fileViewNode, {
|
|
51
|
+
at: [path[0] + 1]
|
|
52
|
+
});
|
|
53
|
+
var nextPath = _slate.Path.next([path[0] + 1]);
|
|
54
|
+
if (!(0, _core.getNode)(editor, nextPath)) {
|
|
55
|
+
_slate.Transforms.insertNodes(editor, (0, _core.generateDefaultParagraph)(), {
|
|
56
|
+
at: nextPath
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
var endOfFirstNode = _slate.Editor.start(editor, nextPath);
|
|
60
|
+
var range = {
|
|
61
|
+
anchor: endOfFirstNode,
|
|
62
|
+
focus: endOfFirstNode
|
|
63
|
+
};
|
|
64
|
+
(0, _core.focusEditor)(editor, range);
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
_slate.Transforms.insertNodes(editor, fileViewNode);
|
|
68
|
+
return;
|
|
69
|
+
};
|
|
70
|
+
var updateFileView = exports.updateFileView = function updateFileView(newData, editor, element) {
|
|
71
|
+
var nodePath = _slateReact.ReactEditor.findPath(editor, element);
|
|
72
|
+
_slate.Transforms.setNodes(editor, {
|
|
73
|
+
data: newData
|
|
74
|
+
}, {
|
|
75
|
+
at: nodePath
|
|
76
|
+
});
|
|
77
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = void 0;
|
|
8
|
+
var _constants = require("../../constants");
|
|
9
|
+
var _plugin = _interopRequireDefault(require("./plugin"));
|
|
10
|
+
var _renderElem = require("./render-elem");
|
|
11
|
+
var FileViewPlugin = {
|
|
12
|
+
type: _constants.FILE_VIEW,
|
|
13
|
+
nodeType: 'element',
|
|
14
|
+
editorPlugin: _plugin["default"],
|
|
15
|
+
renderElements: [_renderElem.renderFileView]
|
|
16
|
+
};
|
|
17
|
+
var _default = exports["default"] = FileViewPlugin;
|
|
@@ -0,0 +1,16 @@
|
|
|
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;
|
|
@@ -0,0 +1,96 @@
|
|
|
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 .sf3-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 .sf3-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
|
+
}
|