@seafile/sdoc-editor 2.0.127-test-0.0.8 → 2.0.128-test-0.0.1
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/assets/css/sdoc-editor-plugins.css +0 -1
- package/dist/constants/index.js +1 -3
- package/dist/extension/commons/insert-element-dialog/index.js +3 -22
- package/dist/extension/commons/select-file-dialog/helpers.js +1 -5
- package/dist/extension/commons/select-file-dialog/index.js +2 -18
- package/dist/extension/commons/select-file-dialog/local-files/index.css +0 -2
- package/dist/extension/commons/select-file-dialog/local-files/index.js +1 -1
- package/dist/extension/constants/element-type.js +1 -2
- package/dist/extension/constants/index.js +3 -9
- package/dist/extension/constants/menus-config.js +2 -6
- package/dist/extension/plugins/ai/ai-module/lang-sub-menu.js +20 -15
- package/dist/extension/plugins/ai/constants/index.js +4 -4
- package/dist/extension/plugins/index.js +1 -8
- package/dist/extension/render/custom-element.js +0 -6
- package/dist/extension/toolbar/header-toolbar/insert-toolbar/index.js +1 -2
- package/dist/extension/toolbar/side-toolbar/helpers.js +1 -1
- package/dist/socket/socket-client.js +5 -0
- package/package.json +1 -1
- package/dist/extension/plugins/whiteboard/helper.js +0 -142
- package/dist/extension/plugins/whiteboard/index.css +0 -41
- package/dist/extension/plugins/whiteboard/index.js +0 -20
- package/dist/extension/plugins/whiteboard/menu/index.js +0 -59
- package/dist/extension/plugins/whiteboard/plugin.js +0 -53
- package/dist/extension/plugins/whiteboard/render-elem.js +0 -87
package/dist/constants/index.js
CHANGED
|
@@ -74,9 +74,7 @@ var INTERNAL_EVENT = exports.INTERNAL_EVENT = {
|
|
|
74
74
|
TOGGLE_PRESENTATION_MODE: 'toggle_presentation_mode',
|
|
75
75
|
CREATE_SDOC_FILE: 'create_sdoc_file',
|
|
76
76
|
CREATE_WIKI_PAGE: 'create_wiki_page',
|
|
77
|
-
IMAGE_COLUMN_TOGGLE: 'Image_column_toggle'
|
|
78
|
-
CREATE_WHITEBOARD_FILE: 'create_whiteboard_file',
|
|
79
|
-
GENERATE_EXDRAW_READ_ONLY_LINK: 'generate_exdraw_read_only_link'
|
|
77
|
+
IMAGE_COLUMN_TOGGLE: 'Image_column_toggle'
|
|
80
78
|
};
|
|
81
79
|
var PAGE_EDIT_AREA_WIDTH = exports.PAGE_EDIT_AREA_WIDTH = 672; // 672 = 794 - 2[borderLeft + borderRight] - 120[paddingLeft + paddingRight]
|
|
82
80
|
var COMMENT_EDITOR_EDIT_AREA_WIDTH = exports.COMMENT_EDITOR_EDIT_AREA_WIDTH = 364;
|
|
@@ -64,14 +64,10 @@ var InsertElementDialog = function InsertElementDialog(_ref) {
|
|
|
64
64
|
_useState16 = (0, _slicedToArray2["default"])(_useState15, 2),
|
|
65
65
|
handleSubmit = _useState16[0],
|
|
66
66
|
setHandleSubmit = _useState16[1];
|
|
67
|
-
var _useState17 = (0, _react.useState)(
|
|
67
|
+
var _useState17 = (0, _react.useState)({}),
|
|
68
68
|
_useState18 = (0, _slicedToArray2["default"])(_useState17, 2),
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
var _useState19 = (0, _react.useState)({}),
|
|
72
|
-
_useState20 = (0, _slicedToArray2["default"])(_useState19, 2),
|
|
73
|
-
data = _useState20[0],
|
|
74
|
-
setData = _useState20[1];
|
|
69
|
+
data = _useState18[0],
|
|
70
|
+
setData = _useState18[1];
|
|
75
71
|
var _useTranslation = (0, _reactI18next.useTranslation)('sdoc-editor'),
|
|
76
72
|
t = _useTranslation.t;
|
|
77
73
|
var uploadLocalImageInputRef = (0, _react.useRef)();
|
|
@@ -125,7 +121,6 @@ var InsertElementDialog = function InsertElementDialog(_ref) {
|
|
|
125
121
|
insertFileLinkCallback = _ref2.insertFileLinkCallback,
|
|
126
122
|
insertSdocFileLinkCallback = _ref2.insertSdocFileLinkCallback,
|
|
127
123
|
insertVideo = _ref2.insertVideo,
|
|
128
|
-
insertWhiteboard = _ref2.insertWhiteboard,
|
|
129
124
|
paramEditor = _ref2.editor,
|
|
130
125
|
linkTitle = _ref2.linkTitle,
|
|
131
126
|
handleSubmit = _ref2.handleSubmit,
|
|
@@ -138,9 +133,6 @@ var InsertElementDialog = function InsertElementDialog(_ref) {
|
|
|
138
133
|
insertSdocFileLinkCallback: insertSdocFileLinkCallback,
|
|
139
134
|
insertFileLinkCallback: insertFileLinkCallback
|
|
140
135
|
});
|
|
141
|
-
setInsertWhiteboardFile({
|
|
142
|
-
insertWhiteboard: insertWhiteboard
|
|
143
|
-
});
|
|
144
136
|
setInsertVideoCallback({
|
|
145
137
|
insertVideo: insertVideo
|
|
146
138
|
});
|
|
@@ -167,7 +159,6 @@ var InsertElementDialog = function InsertElementDialog(_ref) {
|
|
|
167
159
|
setDialogType('');
|
|
168
160
|
setInsertLinkCallback(null);
|
|
169
161
|
setInsertVideoCallback(null);
|
|
170
|
-
setInsertWhiteboardFile(null);
|
|
171
162
|
setValidEditor(null);
|
|
172
163
|
setLinkTitle('');
|
|
173
164
|
setData('');
|
|
@@ -215,16 +206,6 @@ var InsertElementDialog = function InsertElementDialog(_ref) {
|
|
|
215
206
|
};
|
|
216
207
|
return /*#__PURE__*/_react["default"].createElement(_index5["default"], fileLinkProps);
|
|
217
208
|
}
|
|
218
|
-
case _constants2.ELEMENT_TYPE.WHITEBOARD:
|
|
219
|
-
{
|
|
220
|
-
var whiteboardProps = {
|
|
221
|
-
editor: validEditor,
|
|
222
|
-
dialogType: dialogType,
|
|
223
|
-
insertWhiteboardFile: insertWhiteboardFile,
|
|
224
|
-
closeDialog: closeDialog
|
|
225
|
-
};
|
|
226
|
-
return /*#__PURE__*/_react["default"].createElement(_index5["default"], whiteboardProps);
|
|
227
|
-
}
|
|
228
209
|
case _constants2.ELEMENT_TYPE.VIDEO:
|
|
229
210
|
{
|
|
230
211
|
var videoProps = {
|
|
@@ -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.
|
|
7
|
+
exports.parcelFileTypeIcon = exports.getSdocFileIcon = exports.getFileTypeIcon = exports.addDataToTree = void 0;
|
|
8
8
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
9
9
|
var _context = _interopRequireDefault(require("../../../context"));
|
|
10
10
|
var _constants = require("../../constants");
|
|
@@ -29,10 +29,6 @@ var getSdocFileIcon = exports.getSdocFileIcon = function getSdocFileIcon() {
|
|
|
29
29
|
var server = _context["default"].getSetting('serviceUrl');
|
|
30
30
|
return "".concat(server, "/media/img/file/256/sdoc.png");
|
|
31
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
32
|
var getFileTypeIcon = exports.getFileTypeIcon = function getFileTypeIcon(fileType) {
|
|
37
33
|
var imgResource = ['css', 'draw', 'excel', 'md', 'music', 'pdf', 'pic', 'ppt', 'psd', 'sdoc', 'txt', 'video', 'zip', 'word'];
|
|
38
34
|
if (imgResource.includes(fileType)) {
|
|
@@ -23,8 +23,7 @@ var SelectSdocFileDialog = function SelectSdocFileDialog(_ref) {
|
|
|
23
23
|
dialogType = _ref.dialogType,
|
|
24
24
|
closeDialog = _ref.closeDialog,
|
|
25
25
|
insertLinkCallback = _ref.insertLinkCallback,
|
|
26
|
-
insertVideoCallback = _ref.insertVideoCallback
|
|
27
|
-
insertWhiteboardFile = _ref.insertWhiteboardFile;
|
|
26
|
+
insertVideoCallback = _ref.insertVideoCallback;
|
|
28
27
|
var _useTranslation = (0, _reactI18next.useTranslation)('sdoc-editor'),
|
|
29
28
|
t = _useTranslation.t;
|
|
30
29
|
var _useState = (0, _react.useState)(null),
|
|
@@ -54,9 +53,6 @@ var SelectSdocFileDialog = function SelectSdocFileDialog(_ref) {
|
|
|
54
53
|
case _constants.ELEMENT_TYPE.VIDEO:
|
|
55
54
|
modalTitle = 'Select_video_file';
|
|
56
55
|
break;
|
|
57
|
-
case _constants.ELEMENT_TYPE.WHITEBOARD:
|
|
58
|
-
modalTitle = 'Select_whiteboard_document';
|
|
59
|
-
break;
|
|
60
56
|
default:
|
|
61
57
|
break;
|
|
62
58
|
}
|
|
@@ -69,8 +65,6 @@ var SelectSdocFileDialog = function SelectSdocFileDialog(_ref) {
|
|
|
69
65
|
insertSdocFileLinkCallback = _ref2.insertSdocFileLinkCallback;
|
|
70
66
|
var _ref3 = insertVideoCallback || {},
|
|
71
67
|
insertVideo = _ref3.insertVideo;
|
|
72
|
-
var _ref4 = insertWhiteboardFile || {},
|
|
73
|
-
insertWhiteboard = _ref4.insertWhiteboard;
|
|
74
68
|
switch (dialogType) {
|
|
75
69
|
case _constants.ELEMENT_TYPE.FILE_LINK:
|
|
76
70
|
insertFileLinkCallback && insertFileLinkCallback(editor, fileInfo.name, fileInfo.file_uuid);
|
|
@@ -88,13 +82,10 @@ var SelectSdocFileDialog = function SelectSdocFileDialog(_ref) {
|
|
|
88
82
|
name: fileInfo.name
|
|
89
83
|
}], [encodedUrl]);
|
|
90
84
|
break;
|
|
91
|
-
case _constants.ELEMENT_TYPE.WHITEBOARD:
|
|
92
|
-
insertWhiteboard && insertWhiteboard(editor, fileInfo.name, fileInfo.path);
|
|
93
|
-
break;
|
|
94
85
|
default:
|
|
95
86
|
break;
|
|
96
87
|
}
|
|
97
|
-
}, [insertLinkCallback, insertVideoCallback,
|
|
88
|
+
}, [insertLinkCallback, insertVideoCallback, dialogType, editor]);
|
|
98
89
|
var onSubmit = (0, _react.useCallback)(function () {
|
|
99
90
|
if (!currentSelectedFile) return;
|
|
100
91
|
var file_uuid = currentSelectedFile.file_uuid;
|
|
@@ -107,13 +98,6 @@ var SelectSdocFileDialog = function SelectSdocFileDialog(_ref) {
|
|
|
107
98
|
return;
|
|
108
99
|
}
|
|
109
100
|
|
|
110
|
-
// Insert whiteboard file in sdoc
|
|
111
|
-
if (dialogType === _constants.ELEMENT_TYPE.WHITEBOARD) {
|
|
112
|
-
insertFile(fileInfo);
|
|
113
|
-
closeDialog();
|
|
114
|
-
return;
|
|
115
|
-
}
|
|
116
|
-
|
|
117
101
|
// File has no id
|
|
118
102
|
if (!file_uuid || file_uuid === '') {
|
|
119
103
|
_context["default"].getSdocLocalFileId(currentSelectedFile.path).then(function (res) {
|
|
@@ -36,7 +36,6 @@
|
|
|
36
36
|
left: 0;
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
.sdoc-file-icon-container .whiteboard-file-img,
|
|
40
39
|
.sdoc-file-icon-container .video-file-img,
|
|
41
40
|
.sdoc-file-icon-container .sdoc-file-img {
|
|
42
41
|
position: absolute;
|
|
@@ -97,7 +96,6 @@
|
|
|
97
96
|
white-space: nowrap;
|
|
98
97
|
}
|
|
99
98
|
|
|
100
|
-
.sdoc-folder-container.sdoc-folder-search-results .sdoc-file-info .sdoc-file-icon-container .whiteboard-file-img,
|
|
101
99
|
.sdoc-folder-container.sdoc-folder-search-results .sdoc-file-info .sdoc-file-icon-container .sdoc-file-img {
|
|
102
100
|
width: 36px;
|
|
103
101
|
height: 36px;
|
|
@@ -194,7 +194,7 @@ var LocalFiles = function LocalFiles(_ref) {
|
|
|
194
194
|
className: "sdoc-folder-children"
|
|
195
195
|
}, ((_item$children = item.children) === null || _item$children === void 0 ? void 0 : _item$children.length) === 0 && /*#__PURE__*/_react["default"].createElement("div", {
|
|
196
196
|
className: "sdoc-folder-children-empty"
|
|
197
|
-
}, "(".concat(t('Empty'), ")")), ((_item$children2 = item.children) === null || _item$children2 === void 0 ? void 0 : _item$children2.length) > 0 && renderFileTree(item.children))), ['file', 'video'
|
|
197
|
+
}, "(".concat(t('Empty'), ")")), ((_item$children2 = item.children) === null || _item$children2 === void 0 ? void 0 : _item$children2.length) > 0 && renderFileTree(item.children))), ['file', 'video'].includes(type) && /*#__PURE__*/_react["default"].createElement("div", {
|
|
198
198
|
className: (0, _classnames["default"])('sdoc-file-info', {
|
|
199
199
|
'active': selected
|
|
200
200
|
}),
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.WIKI_LINK = exports.
|
|
6
|
+
exports.WIKI_LINK = 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;
|
|
7
7
|
var BLOCKQUOTE = exports.BLOCKQUOTE = 'blockquote';
|
|
8
8
|
var TITLE = exports.TITLE = 'title';
|
|
9
9
|
var SUBTITLE = exports.SUBTITLE = 'subtitle';
|
|
@@ -43,7 +43,6 @@ var MENTION_TEMP = exports.MENTION_TEMP = 'mention_temp';
|
|
|
43
43
|
var FILE_LINK_INSET_INPUT_TEMP = exports.FILE_LINK_INSET_INPUT_TEMP = 'file_link_insert_input_temp';
|
|
44
44
|
var QUICK_INSERT = exports.QUICK_INSERT = 'quick_insert';
|
|
45
45
|
var VIDEO_LINK = exports.VIDEO_LINK = 'video_link';
|
|
46
|
-
var WHITEBOARD = exports.WHITEBOARD = 'whiteboard';
|
|
47
46
|
var ASK_AI = exports.ASK_AI = 'ask_ai';
|
|
48
47
|
|
|
49
48
|
// font
|
|
@@ -474,12 +474,6 @@ Object.defineProperty(exports, "VIDEO", {
|
|
|
474
474
|
return _elementType.VIDEO;
|
|
475
475
|
}
|
|
476
476
|
});
|
|
477
|
-
Object.defineProperty(exports, "WHITEBOARD", {
|
|
478
|
-
enumerable: true,
|
|
479
|
-
get: function get() {
|
|
480
|
-
return _elementType.WHITEBOARD;
|
|
481
|
-
}
|
|
482
|
-
});
|
|
483
477
|
Object.defineProperty(exports, "WIN_HOTKEYS", {
|
|
484
478
|
enumerable: true,
|
|
485
479
|
get: function get() {
|
|
@@ -516,7 +510,7 @@ var LIST_TYPE_ARRAY = exports.LIST_TYPE_ARRAY = [_elementType.UNORDERED_LIST, _e
|
|
|
516
510
|
var LIST_ITEM_CORRELATION_TYPE = exports.LIST_ITEM_CORRELATION_TYPE = [_elementType.UNORDERED_LIST, _elementType.ORDERED_LIST, _elementType.LIST_ITEM];
|
|
517
511
|
var LIST_ITEM_SUPPORTED_TRANSFORMATION = exports.LIST_ITEM_SUPPORTED_TRANSFORMATION = [_elementType.UNORDERED_LIST, _elementType.ORDERED_LIST, 'left', 'center', 'right', _elementType.BLOCKQUOTE];
|
|
518
512
|
var ADD_POSITION_OFFSET_TYPE = exports.ADD_POSITION_OFFSET_TYPE = [_elementType.PARAGRAPH, _elementType.SUBTITLE, _elementType.HEADER1, _elementType.HEADER2, _elementType.HEADER3, _elementType.HEADER4, _elementType.HEADER5, _elementType.HEADER6, _elementType.CHECK_LIST_ITEM, _elementType.IMAGE_BLOCK];
|
|
519
|
-
var FILE_TYPE = exports.FILE_TYPE = (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])(
|
|
513
|
+
var FILE_TYPE = exports.FILE_TYPE = (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])({}, _elementType.FILE_LINK, 'file'), _elementType.SDOC_LINK, 'sdoc'), _elementType.VIDEO, 'video');
|
|
520
514
|
var FILEEXT_TYPE = exports.FILEEXT_TYPE = {
|
|
521
515
|
VIDEO: ['mp4', 'ogv', 'webm', 'mov'],
|
|
522
516
|
MUSIC: ['mp3', 'oga', 'ogg', 'wav', 'flac', 'opus'],
|
|
@@ -533,6 +527,6 @@ var FILEEXT_TYPE_MAP = exports.FILEEXT_TYPE_MAP = {
|
|
|
533
527
|
EXCALIDRAW: 'draw',
|
|
534
528
|
DOCUMENT: 'word'
|
|
535
529
|
};
|
|
536
|
-
var SUPPORTED_SIDE_OPERATION_TYPE = exports.SUPPORTED_SIDE_OPERATION_TYPE = [_elementType.PARAGRAPH, _elementType.SUBTITLE, _elementType.HEADER1, _elementType.HEADER2, _elementType.HEADER3, _elementType.HEADER4, _elementType.HEADER5, _elementType.HEADER6, _elementType.CHECK_LIST_ITEM, _elementType.CODE_BLOCK, _elementType.TABLE, _elementType.BLOCKQUOTE, _elementType.CALL_OUT, _elementType.IMAGE_BLOCK, _elementType.VIDEO
|
|
530
|
+
var SUPPORTED_SIDE_OPERATION_TYPE = exports.SUPPORTED_SIDE_OPERATION_TYPE = [_elementType.PARAGRAPH, _elementType.SUBTITLE, _elementType.HEADER1, _elementType.HEADER2, _elementType.HEADER3, _elementType.HEADER4, _elementType.HEADER5, _elementType.HEADER6, _elementType.CHECK_LIST_ITEM, _elementType.CODE_BLOCK, _elementType.TABLE, _elementType.BLOCKQUOTE, _elementType.CALL_OUT, _elementType.IMAGE_BLOCK, _elementType.VIDEO];
|
|
537
531
|
var MOUSE_ENTER_EVENT_DISABLED_MAP = exports.MOUSE_ENTER_EVENT_DISABLED_MAP = (_MOUSE_ENTER_EVENT_DI = {}, (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"])(_MOUSE_ENTER_EVENT_DI, _elementType.PARAGRAPH, [_elementType.CALL_OUT]), _elementType.TITLE, [_elementType.CALL_OUT]), _elementType.SUBTITLE, [_elementType.CALL_OUT]), _elementType.CHECK_LIST_ITEM, [_elementType.CALL_OUT]), _elementType.ORDERED_LIST, [_elementType.CALL_OUT]), _elementType.UNORDERED_LIST, [_elementType.CALL_OUT]), _elementType.LIST_ITEM, [_elementType.CALL_OUT]), _elementType.BLOCKQUOTE, [_elementType.CALL_OUT]), _elementType.HEADER1, [_elementType.CALL_OUT]), _elementType.HEADER2, [_elementType.CALL_OUT]), (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])(_MOUSE_ENTER_EVENT_DI, _elementType.HEADER3, [_elementType.CALL_OUT]), _elementType.HEADER4, [_elementType.CALL_OUT]), _elementType.HEADER5, [_elementType.CALL_OUT]), _elementType.HEADER6, [_elementType.CALL_OUT]), _elementType.CALL_OUT, [_elementType.CALL_OUT]));
|
|
538
|
-
var ROOT_ELEMENT_TYPES = exports.ROOT_ELEMENT_TYPES = [_elementType.PARAGRAPH, _elementType.TITLE, _elementType.SUBTITLE, _elementType.CHECK_LIST_ITEM, _elementType.ORDERED_LIST, _elementType.UNORDERED_LIST, _elementType.BLOCKQUOTE, _elementType.HEADER1, _elementType.HEADER2, _elementType.HEADER3, _elementType.HEADER4, _elementType.HEADER5, _elementType.HEADER6, _elementType.CALL_OUT, _elementType.TABLE, _elementType.CODE_BLOCK, _elementType.IMAGE_BLOCK, _elementType.VIDEO
|
|
532
|
+
var ROOT_ELEMENT_TYPES = exports.ROOT_ELEMENT_TYPES = [_elementType.PARAGRAPH, _elementType.TITLE, _elementType.SUBTITLE, _elementType.CHECK_LIST_ITEM, _elementType.ORDERED_LIST, _elementType.UNORDERED_LIST, _elementType.BLOCKQUOTE, _elementType.HEADER1, _elementType.HEADER2, _elementType.HEADER3, _elementType.HEADER4, _elementType.HEADER5, _elementType.HEADER6, _elementType.CALL_OUT, _elementType.TABLE, _elementType.CODE_BLOCK, _elementType.IMAGE_BLOCK, _elementType.VIDEO];
|
|
@@ -89,15 +89,11 @@ var MENUS_CONFIG_MAP = exports.MENUS_CONFIG_MAP = (_MENUS_CONFIG_MAP = {}, (0, _
|
|
|
89
89
|
id: "sdoc_".concat(_elementType.VIDEO),
|
|
90
90
|
iconClass: 'sdocfont sdoc-video',
|
|
91
91
|
text: 'Video'
|
|
92
|
-
}), _elementType.WHITEBOARD, {
|
|
93
|
-
id: "sdoc_".concat(_elementType.WHITEBOARD),
|
|
94
|
-
iconClass: 'sdocfont sdoc-document',
|
|
95
|
-
text: 'Whiteboard'
|
|
96
92
|
}), _elementType.TABLE, {
|
|
97
93
|
id: "sdoc_".concat(_elementType.TABLE),
|
|
98
94
|
iconClass: 'sdocfont sdoc-table',
|
|
99
95
|
text: 'Table'
|
|
100
|
-
}),
|
|
96
|
+
}), TEXT_STYLE, [{
|
|
101
97
|
id: ITALIC,
|
|
102
98
|
iconClass: 'sdocfont sdoc-italic',
|
|
103
99
|
text: 'Italic',
|
|
@@ -146,7 +142,7 @@ var MENUS_CONFIG_MAP = exports.MENUS_CONFIG_MAP = (_MENUS_CONFIG_MAP = {}, (0, _
|
|
|
146
142
|
isColor: true,
|
|
147
143
|
recentUsedColorsKey: _color.RECENT_USED_FONT_COLORS_KEY,
|
|
148
144
|
defaultLastUsedColor: _color.DEFAULT_LAST_USED_FONT_COLOR
|
|
149
|
-
}]), TEXT_STYLE_MORE, [
|
|
145
|
+
}]), (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"])(_MENUS_CONFIG_MAP, TEXT_STYLE_MORE, [
|
|
150
146
|
//
|
|
151
147
|
{
|
|
152
148
|
id: STRIKETHROUGH,
|
|
@@ -19,19 +19,15 @@ var LangSubMenu = function LangSubMenu(_ref) {
|
|
|
19
19
|
var onZhcnClick = (0, _react.useCallback)(function () {
|
|
20
20
|
onTranslateClick('zh-cn');
|
|
21
21
|
}, [onTranslateClick]);
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
// const onRuClick = useCallback(() => {
|
|
32
|
-
// onTranslateClick('ru');
|
|
33
|
-
// }, [onTranslateClick]);
|
|
34
|
-
|
|
22
|
+
var onFrClick = (0, _react.useCallback)(function () {
|
|
23
|
+
onTranslateClick('fr');
|
|
24
|
+
}, [onTranslateClick]);
|
|
25
|
+
var onDeClick = (0, _react.useCallback)(function () {
|
|
26
|
+
onTranslateClick('de');
|
|
27
|
+
}, [onTranslateClick]);
|
|
28
|
+
var onItClick = (0, _react.useCallback)(function () {
|
|
29
|
+
onTranslateClick('it');
|
|
30
|
+
}, [onTranslateClick]);
|
|
35
31
|
return /*#__PURE__*/_react["default"].createElement(_reactstrap.UncontrolledPopover, {
|
|
36
32
|
boundariesElement: "viewport",
|
|
37
33
|
target: target,
|
|
@@ -43,11 +39,20 @@ var LangSubMenu = function LangSubMenu(_ref) {
|
|
|
43
39
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
44
40
|
className: "sdoc-dropdown-menu-container"
|
|
45
41
|
}, /*#__PURE__*/_react["default"].createElement(_dropdownMenuItem["default"], {
|
|
42
|
+
menuConfig: _constants.LANG_MENU_CONFIG.ZH_CN,
|
|
43
|
+
onClick: onZhcnClick
|
|
44
|
+
}), /*#__PURE__*/_react["default"].createElement(_dropdownMenuItem["default"], {
|
|
46
45
|
menuConfig: _constants.LANG_MENU_CONFIG.EN,
|
|
47
46
|
onClick: onEnClick
|
|
48
47
|
}), /*#__PURE__*/_react["default"].createElement(_dropdownMenuItem["default"], {
|
|
49
|
-
menuConfig: _constants.LANG_MENU_CONFIG.
|
|
50
|
-
onClick:
|
|
48
|
+
menuConfig: _constants.LANG_MENU_CONFIG.FR,
|
|
49
|
+
onClick: onFrClick
|
|
50
|
+
}), /*#__PURE__*/_react["default"].createElement(_dropdownMenuItem["default"], {
|
|
51
|
+
menuConfig: _constants.LANG_MENU_CONFIG.DE,
|
|
52
|
+
onClick: onDeClick
|
|
53
|
+
}), /*#__PURE__*/_react["default"].createElement(_dropdownMenuItem["default"], {
|
|
54
|
+
menuConfig: _constants.LANG_MENU_CONFIG.IT,
|
|
55
|
+
onClick: onItClick
|
|
51
56
|
})));
|
|
52
57
|
};
|
|
53
58
|
var _default = exports["default"] = LangSubMenu;
|
|
@@ -125,10 +125,10 @@ var LANG_MENU_CONFIG = exports.LANG_MENU_CONFIG = {
|
|
|
125
125
|
text: 'French',
|
|
126
126
|
iconClass: 'sdocfont sdoc-ai-translate'
|
|
127
127
|
},
|
|
128
|
-
|
|
129
|
-
id: '
|
|
130
|
-
type: '
|
|
131
|
-
text: '
|
|
128
|
+
IT: {
|
|
129
|
+
id: 'it',
|
|
130
|
+
type: 'it',
|
|
131
|
+
text: 'Italian',
|
|
132
132
|
iconClass: 'sdocfont sdoc-ai-translate'
|
|
133
133
|
}
|
|
134
134
|
};
|
|
@@ -143,12 +143,6 @@ Object.defineProperty(exports, "VideoPlugin", {
|
|
|
143
143
|
return _video["default"];
|
|
144
144
|
}
|
|
145
145
|
});
|
|
146
|
-
Object.defineProperty(exports, "WhiteboardPlugin", {
|
|
147
|
-
enumerable: true,
|
|
148
|
-
get: function get() {
|
|
149
|
-
return _whiteboard["default"];
|
|
150
|
-
}
|
|
151
|
-
});
|
|
152
146
|
Object.defineProperty(exports, "WikiLinkPlugin", {
|
|
153
147
|
enumerable: true,
|
|
154
148
|
get: function get() {
|
|
@@ -179,9 +173,8 @@ var _table = _interopRequireDefault(require("./table"));
|
|
|
179
173
|
var _textAlign = _interopRequireDefault(require("./text-align"));
|
|
180
174
|
var _textStyle = _interopRequireDefault(require("./text-style"));
|
|
181
175
|
var _video = _interopRequireDefault(require("./video"));
|
|
182
|
-
var _whiteboard = _interopRequireDefault(require("./whiteboard"));
|
|
183
176
|
var _wikiLink = _interopRequireDefault(require("./wiki-link"));
|
|
184
|
-
var Plugins = [_markdown["default"], _html["default"], _header["default"], _link["default"], _blockquote["default"], _list["default"], _checkList["default"], _codeBlock["default"], _image["default"], _video["default"], _table["default"], _multiColumn["default"], _textStyle["default"], _textAlign["default"], _font["default"], _sdocLink["default"], _paragraph["default"], _fileLink["default"], _callout["default"], _searchReplace["default"], _quickInsert["default"], _group["default"]
|
|
177
|
+
var Plugins = [_markdown["default"], _html["default"], _header["default"], _link["default"], _blockquote["default"], _list["default"], _checkList["default"], _codeBlock["default"], _image["default"], _video["default"], _table["default"], _multiColumn["default"], _textStyle["default"], _textAlign["default"], _font["default"], _sdocLink["default"], _paragraph["default"], _fileLink["default"], _callout["default"], _searchReplace["default"], _quickInsert["default"], _group["default"]];
|
|
185
178
|
var WikiPlugins = exports.WikiPlugins = [].concat(Plugins, [_wikiLink["default"]]);
|
|
186
179
|
var CommentPlugins = exports.CommentPlugins = [_markdown["default"], _html["default"], _paragraph["default"], _textStyle["default"], _list["default"], _image["default"], _link["default"], _mention["default"], _blockquote["default"]];
|
|
187
180
|
var _default = exports["default"] = Plugins;
|
|
@@ -229,12 +229,6 @@ var CustomRenderElement = function CustomRenderElement(props) {
|
|
|
229
229
|
renderGroup = _GroupPlugin$renderEl[0];
|
|
230
230
|
return renderGroup(props);
|
|
231
231
|
}
|
|
232
|
-
case _elementType.WHITEBOARD:
|
|
233
|
-
{
|
|
234
|
-
var _WhiteboardPlugin$ren = (0, _slicedToArray2["default"])(_plugins.WhiteboardPlugin.renderElements, 1),
|
|
235
|
-
renderWhiteboard = _WhiteboardPlugin$ren[0];
|
|
236
|
-
return renderWhiteboard((0, _objectSpread2["default"])({}, props), editor);
|
|
237
|
-
}
|
|
238
232
|
default:
|
|
239
233
|
{
|
|
240
234
|
var _ParagraphPlugin$rend3 = (0, _slicedToArray2["default"])(_plugins.ParagraphPlugin.renderElements, 1),
|
|
@@ -20,7 +20,6 @@ var _menu4 = _interopRequireDefault(require("../../../plugins/link/menu"));
|
|
|
20
20
|
var _menu5 = _interopRequireDefault(require("../../../plugins/sdoc-link/menu"));
|
|
21
21
|
var _tableMenu = _interopRequireDefault(require("../../../plugins/table/menu/table-menu"));
|
|
22
22
|
var _menu6 = _interopRequireDefault(require("../../../plugins/video/menu"));
|
|
23
|
-
var _menu7 = _interopRequireDefault(require("../../../plugins/whiteboard/menu"));
|
|
24
23
|
require("./index.css");
|
|
25
24
|
var InsertToolbar = function InsertToolbar(_ref) {
|
|
26
25
|
var _ref$isRichEditor = _ref.isRichEditor,
|
|
@@ -102,7 +101,7 @@ var InsertToolbar = function InsertToolbar(_ref) {
|
|
|
102
101
|
style: {
|
|
103
102
|
maxHeight: window.innerHeight - bottom - 100
|
|
104
103
|
}
|
|
105
|
-
}, /*#__PURE__*/_react["default"].createElement(_menu3["default"], props), /*#__PURE__*/_react["default"].createElement(_tableMenu["default"], props), /*#__PURE__*/_react["default"].createElement(_menu6["default"], props), /*#__PURE__*/_react["default"].createElement(
|
|
104
|
+
}, /*#__PURE__*/_react["default"].createElement(_menu3["default"], props), /*#__PURE__*/_react["default"].createElement(_tableMenu["default"], props), /*#__PURE__*/_react["default"].createElement(_menu6["default"], props), /*#__PURE__*/_react["default"].createElement(_menu4["default"], props), /*#__PURE__*/_react["default"].createElement(_menu["default"], props), /*#__PURE__*/_react["default"].createElement("div", {
|
|
106
105
|
className: "sdoc-dropdown-menu-divider"
|
|
107
106
|
}), /*#__PURE__*/_react["default"].createElement(_menu5["default"], props), /*#__PURE__*/_react["default"].createElement(_menu2["default"], props))));
|
|
108
107
|
};
|
|
@@ -249,7 +249,7 @@ var getTopValue = exports.getTopValue = function getTopValue(editor, dom, contai
|
|
|
249
249
|
return top + offsetY - headerHeight;
|
|
250
250
|
};
|
|
251
251
|
var isNotSupportTransform = exports.isNotSupportTransform = function isNotSupportTransform(node) {
|
|
252
|
-
if (node.type && [_constants2.CODE_BLOCK, _constants2.TABLE, _constants2.VIDEO
|
|
252
|
+
if (node.type && [_constants2.CODE_BLOCK, _constants2.TABLE, _constants2.VIDEO].includes(node.type)) {
|
|
253
253
|
return true;
|
|
254
254
|
}
|
|
255
255
|
return false;
|
|
@@ -62,6 +62,11 @@ var SocketClient = /*#__PURE__*/(0, _createClass2["default"])(function SocketCli
|
|
|
62
62
|
socketManager.dispatchConnectState('reconnect_error');
|
|
63
63
|
});
|
|
64
64
|
(0, _defineProperty2["default"])(this, "onDisconnected", function (data) {
|
|
65
|
+
if (data === 'ping timeout') {
|
|
66
|
+
(0, _debug.clientDebug)('Disconnected due to ping timeout, trying to reconnect...');
|
|
67
|
+
_this.socket.connect();
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
65
70
|
(0, _debug.clientDebug)('disconnect message: %s', data);
|
|
66
71
|
var socketManager = _socketManager["default"].getInstance();
|
|
67
72
|
socketManager.dispatchConnectState('disconnect');
|
package/package.json
CHANGED
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.onCreateWhiteboardFile = exports.isInsertWhiteboardMenuDisabled = exports.insertWhiteboard = exports.generateWhiteboardNode = void 0;
|
|
8
|
-
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
|
|
9
|
-
var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/regeneratorRuntime"));
|
|
10
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/asyncToGenerator"));
|
|
11
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
12
|
-
var _slate = require("@seafile/slate");
|
|
13
|
-
var _slugid = _interopRequireDefault(require("slugid"));
|
|
14
|
-
var _constants = require("../../../constants");
|
|
15
|
-
var _context2 = _interopRequireDefault(require("../../../context"));
|
|
16
|
-
var _eventBus = _interopRequireDefault(require("../../../utils/event-bus"));
|
|
17
|
-
var _constants2 = require("../../constants");
|
|
18
|
-
var _core = require("../../core");
|
|
19
|
-
var isInsertWhiteboardMenuDisabled = exports.isInsertWhiteboardMenuDisabled = function isInsertWhiteboardMenuDisabled(editor, readonly) {
|
|
20
|
-
if (readonly) return true;
|
|
21
|
-
var selection = editor.selection;
|
|
22
|
-
if (selection === null) return true;
|
|
23
|
-
if (!_slate.Range.isCollapsed(selection)) return true;
|
|
24
|
-
var _Editor$nodes = _slate.Editor.nodes(editor, {
|
|
25
|
-
match: function match(n) {
|
|
26
|
-
var type = (0, _core.getNodeType)(n);
|
|
27
|
-
if (!type && (0, _core.isTextNode)(n) && n.id) {
|
|
28
|
-
var parentNode = (0, _core.getParentNode)(editor.children, n.id);
|
|
29
|
-
type = (0, _core.getNodeType)(parentNode);
|
|
30
|
-
}
|
|
31
|
-
if (type === _constants2.CODE_BLOCK) return true;
|
|
32
|
-
if (type.startsWith('header')) return true;
|
|
33
|
-
if (type === _constants2.TITLE) return true;
|
|
34
|
-
if (type === _constants2.SUBTITLE) return true;
|
|
35
|
-
if (type === _constants2.LIST_ITEM) return true;
|
|
36
|
-
if (type === _constants2.CHECK_LIST_ITEM) return true;
|
|
37
|
-
if (type === _constants2.MULTI_COLUMN) return true;
|
|
38
|
-
if (type === _constants2.BLOCKQUOTE) return true;
|
|
39
|
-
if (type === _constants2.CALL_OUT) return true;
|
|
40
|
-
if (_slate.Editor.isVoid(editor, n)) return true;
|
|
41
|
-
return false;
|
|
42
|
-
},
|
|
43
|
-
universal: true
|
|
44
|
-
}),
|
|
45
|
-
_Editor$nodes2 = (0, _slicedToArray2["default"])(_Editor$nodes, 1),
|
|
46
|
-
match = _Editor$nodes2[0];
|
|
47
|
-
if (match) return true;
|
|
48
|
-
return false;
|
|
49
|
-
};
|
|
50
|
-
var generateWhiteboardNode = exports.generateWhiteboardNode = function generateWhiteboardNode(repoID) {
|
|
51
|
-
var filename = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
52
|
-
var filePath = arguments.length > 2 ? arguments[2] : undefined;
|
|
53
|
-
var exdrawReadOnlyLink = arguments.length > 3 ? arguments[3] : undefined;
|
|
54
|
-
var whiteboardNode = {
|
|
55
|
-
id: _slugid["default"].nice(),
|
|
56
|
-
type: _constants2.WHITEBOARD,
|
|
57
|
-
repoID: repoID,
|
|
58
|
-
title: filename,
|
|
59
|
-
filePath: filePath,
|
|
60
|
-
link: exdrawReadOnlyLink,
|
|
61
|
-
children: [{
|
|
62
|
-
id: _slugid["default"].nice(),
|
|
63
|
-
text: ''
|
|
64
|
-
}]
|
|
65
|
-
};
|
|
66
|
-
return whiteboardNode;
|
|
67
|
-
};
|
|
68
|
-
var insertWhiteboard = exports.insertWhiteboard = /*#__PURE__*/function () {
|
|
69
|
-
var _ref = (0, _asyncToGenerator2["default"])(/*#__PURE__*/(0, _regeneratorRuntime2["default"])().mark(function _callee(editor, filename, filePath) {
|
|
70
|
-
var _editor$selection;
|
|
71
|
-
var repoID, eventBus, exdrawReadOnlyLink, whiteboardNode, path, position, nextPath, endOfFirstNode, range;
|
|
72
|
-
return (0, _regeneratorRuntime2["default"])().wrap(function _callee$(_context) {
|
|
73
|
-
while (1) switch (_context.prev = _context.next) {
|
|
74
|
-
case 0:
|
|
75
|
-
if (!isInsertWhiteboardMenuDisabled(editor)) {
|
|
76
|
-
_context.next = 2;
|
|
77
|
-
break;
|
|
78
|
-
}
|
|
79
|
-
return _context.abrupt("return");
|
|
80
|
-
case 2:
|
|
81
|
-
if (!(editor.selection == null)) {
|
|
82
|
-
_context.next = 4;
|
|
83
|
-
break;
|
|
84
|
-
}
|
|
85
|
-
return _context.abrupt("return");
|
|
86
|
-
case 4:
|
|
87
|
-
repoID = _context2["default"].getSetting('repoID');
|
|
88
|
-
eventBus = _eventBus["default"].getInstance();
|
|
89
|
-
_context.next = 8;
|
|
90
|
-
return new Promise(function (resolve) {
|
|
91
|
-
eventBus.dispatch(_constants.INTERNAL_EVENT.GENERATE_EXDRAW_READ_ONLY_LINK, {
|
|
92
|
-
repoID: repoID,
|
|
93
|
-
filePath: filePath,
|
|
94
|
-
onSuccess: function onSuccess(link) {
|
|
95
|
-
resolve(link);
|
|
96
|
-
}
|
|
97
|
-
});
|
|
98
|
-
});
|
|
99
|
-
case 8:
|
|
100
|
-
exdrawReadOnlyLink = _context.sent;
|
|
101
|
-
whiteboardNode = generateWhiteboardNode(repoID, filename, filePath, exdrawReadOnlyLink);
|
|
102
|
-
path = (_editor$selection = editor.selection) === null || _editor$selection === void 0 ? void 0 : _editor$selection.anchor.path;
|
|
103
|
-
position = 'after';
|
|
104
|
-
if (!(position === _constants2.INSERT_POSITION.AFTER)) {
|
|
105
|
-
_context.next = 20;
|
|
106
|
-
break;
|
|
107
|
-
}
|
|
108
|
-
_slate.Transforms.insertNodes(editor, whiteboardNode, {
|
|
109
|
-
at: [path[0] + 1]
|
|
110
|
-
});
|
|
111
|
-
nextPath = _slate.Path.next([path[0] + 1]);
|
|
112
|
-
if (!(0, _core.getNode)(editor, nextPath)) {
|
|
113
|
-
_slate.Transforms.insertNodes(editor, (0, _core.generateDefaultParagraph)(), {
|
|
114
|
-
at: nextPath
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
|
-
endOfFirstNode = _slate.Editor.start(editor, nextPath);
|
|
118
|
-
range = {
|
|
119
|
-
anchor: endOfFirstNode,
|
|
120
|
-
focus: endOfFirstNode
|
|
121
|
-
};
|
|
122
|
-
(0, _core.focusEditor)(editor, range);
|
|
123
|
-
return _context.abrupt("return");
|
|
124
|
-
case 20:
|
|
125
|
-
case "end":
|
|
126
|
-
return _context.stop();
|
|
127
|
-
}
|
|
128
|
-
}, _callee);
|
|
129
|
-
}));
|
|
130
|
-
return function insertWhiteboard(_x, _x2, _x3) {
|
|
131
|
-
return _ref.apply(this, arguments);
|
|
132
|
-
};
|
|
133
|
-
}();
|
|
134
|
-
var onCreateWhiteboardFile = exports.onCreateWhiteboardFile = function onCreateWhiteboardFile(editor) {
|
|
135
|
-
var eventBus = _eventBus["default"].getInstance();
|
|
136
|
-
var external_props = {
|
|
137
|
-
insertWhiteboard: insertWhiteboard,
|
|
138
|
-
fileType: 'exdraw',
|
|
139
|
-
editor: editor
|
|
140
|
-
};
|
|
141
|
-
eventBus.dispatch(_constants.INTERNAL_EVENT.CREATE_WHITEBOARD_FILE, (0, _objectSpread2["default"])({}, external_props));
|
|
142
|
-
};
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
.sdoc-whiteboard-container {
|
|
2
|
-
position: relative;
|
|
3
|
-
width: 100%;
|
|
4
|
-
height: 300px;
|
|
5
|
-
border: 1px solid #ccc;
|
|
6
|
-
margin: 5px 0;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
.sdoc-whiteboard-container.isSelected {
|
|
10
|
-
border: 1px solid rgb(0, 123, 255);
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
.sdoc-whiteboard-title {
|
|
14
|
-
font-size: 14px;
|
|
15
|
-
color: #333;
|
|
16
|
-
text-align: center;
|
|
17
|
-
margin: 5px;
|
|
18
|
-
width: 100%;
|
|
19
|
-
position: absolute;
|
|
20
|
-
top: 0;
|
|
21
|
-
left: 0%;
|
|
22
|
-
z-index: 3;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
.sdoc-whiteboard-container .iframe-overlay {
|
|
26
|
-
position: absolute;
|
|
27
|
-
top: 0;
|
|
28
|
-
left: 0;
|
|
29
|
-
width: 100%;
|
|
30
|
-
height: 100%;
|
|
31
|
-
cursor: pointer;
|
|
32
|
-
z-index: 2;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
.sdoc-whiteboard-container .sdoc-whiteboard-element {
|
|
36
|
-
width: 100%;
|
|
37
|
-
height: 100%;
|
|
38
|
-
border: none;
|
|
39
|
-
position: relative;
|
|
40
|
-
z-index: 1;
|
|
41
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
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 _menu = _interopRequireDefault(require("./menu"));
|
|
10
|
-
var _plugin = _interopRequireDefault(require("./plugin"));
|
|
11
|
-
var _renderElem = require("./render-elem");
|
|
12
|
-
require("./index.css");
|
|
13
|
-
var WhiteboardPlugin = {
|
|
14
|
-
type: _constants.WHITEBOARD,
|
|
15
|
-
nodeType: 'element',
|
|
16
|
-
editorMenus: [_menu["default"]],
|
|
17
|
-
editorPlugin: _plugin["default"],
|
|
18
|
-
renderElements: [_renderElem.renderWhiteboard]
|
|
19
|
-
};
|
|
20
|
-
var _default = exports["default"] = WhiteboardPlugin;
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
|
|
4
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard")["default"];
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports["default"] = void 0;
|
|
9
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
10
|
-
var _reactI18next = require("react-i18next");
|
|
11
|
-
var _reactstrap = require("reactstrap");
|
|
12
|
-
var _constants = require("../../../../constants");
|
|
13
|
-
var _dropdownMenuItem = _interopRequireDefault(require("../../../commons/dropdown-menu-item"));
|
|
14
|
-
var _constants2 = require("../../../constants");
|
|
15
|
-
var _helper = require("../helper");
|
|
16
|
-
var WhiteboardMenu = function WhiteboardMenu(_ref) {
|
|
17
|
-
var editor = _ref.editor,
|
|
18
|
-
readonly = _ref.readonly,
|
|
19
|
-
toggle = _ref.toggle,
|
|
20
|
-
eventBus = _ref.eventBus;
|
|
21
|
-
var disabled = (0, _helper.isInsertWhiteboardMenuDisabled)(editor, readonly);
|
|
22
|
-
var menuConfig = _constants2.MENUS_CONFIG_MAP[_constants2.WHITEBOARD];
|
|
23
|
-
var _useTranslation = (0, _reactI18next.useTranslation)('sdoc-editor'),
|
|
24
|
-
t = _useTranslation.t;
|
|
25
|
-
var onCreateFile = function onCreateFile() {
|
|
26
|
-
(0, _helper.onCreateWhiteboardFile)(editor);
|
|
27
|
-
};
|
|
28
|
-
var openSelectWhiteboardFileDialog = (0, _react.useCallback)(function () {
|
|
29
|
-
eventBus.dispatch(_constants.INTERNAL_EVENT.INSERT_ELEMENT, {
|
|
30
|
-
type: _constants2.ELEMENT_TYPE.WHITEBOARD,
|
|
31
|
-
insertWhiteboard: _helper.insertWhiteboard
|
|
32
|
-
});
|
|
33
|
-
toggle && toggle();
|
|
34
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
35
|
-
}, [toggle, eventBus]);
|
|
36
|
-
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_dropdownMenuItem["default"], {
|
|
37
|
-
disabled: disabled,
|
|
38
|
-
menuConfig: menuConfig,
|
|
39
|
-
className: "pr-2"
|
|
40
|
-
}, !disabled && /*#__PURE__*/_react["default"].createElement("i", {
|
|
41
|
-
className: "sdocfont sdoc-right-slide sdoc-dropdown-item-right-icon"
|
|
42
|
-
})), !disabled && /*#__PURE__*/_react["default"].createElement(_reactstrap.UncontrolledPopover, {
|
|
43
|
-
target: menuConfig.id,
|
|
44
|
-
trigger: "hover",
|
|
45
|
-
className: "sdoc-menu-popover sdoc-dropdown-menu sdoc-sub-dropdown-menu sdoc-insert-whiteboard-menu-popover",
|
|
46
|
-
placement: "right-start",
|
|
47
|
-
hideArrow: true,
|
|
48
|
-
fade: false
|
|
49
|
-
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
50
|
-
className: "sdoc-insert-whiteboard-menu-popover-container sdoc-dropdown-menu-container"
|
|
51
|
-
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
52
|
-
className: "sdoc-dropdown-menu-item",
|
|
53
|
-
onClick: openSelectWhiteboardFileDialog
|
|
54
|
-
}, t('Upload_local_whiteboard')), /*#__PURE__*/_react["default"].createElement("div", {
|
|
55
|
-
className: "sdoc-dropdown-menu-item",
|
|
56
|
-
onClick: onCreateFile
|
|
57
|
-
}, t('Create_new_whiteboard')))));
|
|
58
|
-
};
|
|
59
|
-
var _default = exports["default"] = WhiteboardMenu;
|
|
@@ -1,53 +0,0 @@
|
|
|
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 _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
9
|
-
var _react = _interopRequireDefault(require("react"));
|
|
10
|
-
var _slate = require("@seafile/slate");
|
|
11
|
-
var _isHotkey = _interopRequireDefault(require("is-hotkey"));
|
|
12
|
-
var _constants = require("../../constants");
|
|
13
|
-
var _core = require("../../core");
|
|
14
|
-
var _helpers = require("../../toolbar/side-toolbar/helpers");
|
|
15
|
-
var withWhiteboard = function withWhiteboard(editor) {
|
|
16
|
-
var isVoid = editor.isVoid,
|
|
17
|
-
onHotKeyDown = editor.onHotKeyDown;
|
|
18
|
-
var newEditor = editor;
|
|
19
|
-
|
|
20
|
-
// Make whiteboard as void node
|
|
21
|
-
newEditor.isVoid = function (elem) {
|
|
22
|
-
var type = elem.type;
|
|
23
|
-
if (type === _constants.WHITEBOARD) {
|
|
24
|
-
return true;
|
|
25
|
-
}
|
|
26
|
-
return isVoid(elem);
|
|
27
|
-
};
|
|
28
|
-
newEditor.onHotKeyDown = function (event) {
|
|
29
|
-
var _ref = (0, _core.getSelectedNodeEntryByType)(editor, _constants.WHITEBOARD) || [],
|
|
30
|
-
_ref2 = (0, _slicedToArray2["default"])(_ref, 2),
|
|
31
|
-
whiteboardNode = _ref2[0],
|
|
32
|
-
path = _ref2[1];
|
|
33
|
-
if (path) {
|
|
34
|
-
// Insert empty paragraph node after whiteboard when clicking 'enter' on selected whiteboard
|
|
35
|
-
if ((0, _isHotkey["default"])('enter', event)) {
|
|
36
|
-
event.preventDefault();
|
|
37
|
-
var emptyParagraph = (0, _core.generateEmptyElement)(_constants.PARAGRAPH);
|
|
38
|
-
_slate.Transforms.insertNodes(editor, emptyParagraph, {
|
|
39
|
-
at: _slate.Path.next(path)
|
|
40
|
-
});
|
|
41
|
-
var focusPoint = _slate.Editor.end(editor, _slate.Path.next(path));
|
|
42
|
-
(0, _core.focusEditor)(newEditor, focusPoint);
|
|
43
|
-
}
|
|
44
|
-
if ((0, _isHotkey["default"])('mod+c', event)) {
|
|
45
|
-
(0, _helpers.onCopyNode)(editor, whiteboardNode);
|
|
46
|
-
}
|
|
47
|
-
return true;
|
|
48
|
-
}
|
|
49
|
-
return onHotKeyDown && onHotKeyDown(event);
|
|
50
|
-
};
|
|
51
|
-
return newEditor;
|
|
52
|
-
};
|
|
53
|
-
var _default = exports["default"] = withWhiteboard;
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
|
|
4
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard")["default"];
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.renderWhiteboard = renderWhiteboard;
|
|
9
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
10
|
-
var _slateReact = require("@seafile/slate-react");
|
|
11
|
-
var _classnames = _interopRequireDefault(require("classnames"));
|
|
12
|
-
var _constants = require("../../../constants");
|
|
13
|
-
var _context = _interopRequireDefault(require("../../../context"));
|
|
14
|
-
var _eventBus = _interopRequireDefault(require("../../../utils/event-bus"));
|
|
15
|
-
require("./index.css");
|
|
16
|
-
var Whiteboard = function Whiteboard(_ref) {
|
|
17
|
-
var editor = _ref.editor,
|
|
18
|
-
element = _ref.element;
|
|
19
|
-
var filePath = element.filePath,
|
|
20
|
-
repoID = element.repoID,
|
|
21
|
-
title = element.title,
|
|
22
|
-
link = element.link;
|
|
23
|
-
var whiteboardRef = (0, _react.useRef)();
|
|
24
|
-
var isSelected = (0, _slateReact.useSelected)();
|
|
25
|
-
(0, _react.useEffect)(function () {
|
|
26
|
-
var handleMessage = function handleMessage(event) {
|
|
27
|
-
var _event$data;
|
|
28
|
-
if (((_event$data = event.data) === null || _event$data === void 0 ? void 0 : _event$data.type) === 'checkSdocParent') {
|
|
29
|
-
var isSdocClass = whiteboardRef === null || whiteboardRef === void 0 ? void 0 : whiteboardRef.current.classList.contains('sdoc-whiteboard-element');
|
|
30
|
-
whiteboardRef === null || whiteboardRef === void 0 ? void 0 : whiteboardRef.current.contentWindow.postMessage({
|
|
31
|
-
type: 'checkSdocParentResult',
|
|
32
|
-
isInSdoc: isSdocClass
|
|
33
|
-
}, '*');
|
|
34
|
-
}
|
|
35
|
-
};
|
|
36
|
-
var handleWindowResize = function handleWindowResize() {
|
|
37
|
-
whiteboardRef === null || whiteboardRef === void 0 ? void 0 : whiteboardRef.current.contentWindow.postMessage({
|
|
38
|
-
type: 'resizeWindowWidth',
|
|
39
|
-
isResize: true
|
|
40
|
-
}, '*');
|
|
41
|
-
};
|
|
42
|
-
var eventBus = _eventBus["default"].getInstance();
|
|
43
|
-
var unsubscribeResizeArticle = eventBus.subscribe(_constants.INTERNAL_EVENT.RESIZE_ARTICLE, handleWindowResize);
|
|
44
|
-
window.addEventListener('message', handleMessage);
|
|
45
|
-
return function () {
|
|
46
|
-
window.removeEventListener('message', handleMessage);
|
|
47
|
-
unsubscribeResizeArticle();
|
|
48
|
-
};
|
|
49
|
-
}, []);
|
|
50
|
-
var handleDoubleClick = function handleDoubleClick(event) {
|
|
51
|
-
event.preventDefault();
|
|
52
|
-
var siteRoot = _context["default"].getSetting('siteRoot');
|
|
53
|
-
var url = "".concat(siteRoot, "lib/").concat(repoID, "/file").concat(filePath);
|
|
54
|
-
window.open(url, '_blank');
|
|
55
|
-
return;
|
|
56
|
-
};
|
|
57
|
-
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
58
|
-
className: (0, _classnames["default"])('sdoc-whiteboard-container', {
|
|
59
|
-
'isSelected': isSelected
|
|
60
|
-
}),
|
|
61
|
-
onDoubleClick: handleDoubleClick,
|
|
62
|
-
scrolling: "no"
|
|
63
|
-
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
64
|
-
className: "sdoc-whiteboard-title"
|
|
65
|
-
}, title), /*#__PURE__*/_react["default"].createElement("iframe", {
|
|
66
|
-
className: "sdoc-whiteboard-element",
|
|
67
|
-
title: title,
|
|
68
|
-
src: link,
|
|
69
|
-
ref: whiteboardRef
|
|
70
|
-
}), /*#__PURE__*/_react["default"].createElement("div", {
|
|
71
|
-
className: "iframe-overlay",
|
|
72
|
-
onDoubleClick: handleDoubleClick
|
|
73
|
-
}));
|
|
74
|
-
};
|
|
75
|
-
function renderWhiteboard(props, editor) {
|
|
76
|
-
var element = props.element,
|
|
77
|
-
children = props.children,
|
|
78
|
-
attributes = props.attributes;
|
|
79
|
-
return /*#__PURE__*/_react["default"].createElement("div", Object.assign({}, attributes, {
|
|
80
|
-
contentEditable: "false",
|
|
81
|
-
suppressContentEditableWarning: true
|
|
82
|
-
}), children, /*#__PURE__*/_react["default"].createElement(Whiteboard, {
|
|
83
|
-
editor: editor,
|
|
84
|
-
element: element,
|
|
85
|
-
contentEditable: "false"
|
|
86
|
-
}));
|
|
87
|
-
}
|