@seafile/sdoc-editor 2.0.23 → 2.0.25-alph-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/api/seafile-api.js +4 -1
- package/dist/basic-sdk/assets/css/dropdown-menu.css +1 -1
- package/dist/basic-sdk/extension/commons/insert-element-dialog/index.js +12 -2
- package/dist/basic-sdk/extension/constants/element-type.js +2 -1
- package/dist/basic-sdk/extension/constants/index.js +8 -2
- package/dist/basic-sdk/extension/constants/menus-config.js +5 -0
- package/dist/basic-sdk/extension/plugins/ai/ai-module/index.js +48 -24
- package/dist/basic-sdk/extension/plugins/ai/ai-module/style.css +8 -0
- package/dist/basic-sdk/extension/plugins/index.js +7 -0
- package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/index.css +414 -0
- package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/index.js +76 -0
- package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/record-content.js +209 -0
- package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/resize-handle/ResizeHandle.js +38 -0
- package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/resize-handle/index.css +384 -0
- package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/row-card-header-cell.js +125 -0
- package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/row-card-header.js +144 -0
- package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/row-card-item.js +161 -0
- package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/seatable-table-record.js +47 -0
- package/dist/basic-sdk/extension/plugins/seatable-row/helpers.js +98 -0
- package/dist/basic-sdk/extension/plugins/seatable-row/index.js +17 -0
- package/dist/basic-sdk/extension/plugins/seatable-row/menu/index.css +3 -0
- package/dist/basic-sdk/extension/plugins/seatable-row/menu/index.js +46 -0
- package/dist/basic-sdk/extension/plugins/seatable-row/menu/seatable-list.js +62 -0
- package/dist/basic-sdk/extension/plugins/seatable-row/model.js +19 -0
- package/dist/basic-sdk/extension/plugins/seatable-row/plugin.js +60 -0
- package/dist/basic-sdk/extension/plugins/seatable-row/render-elem/index.css +124 -0
- package/dist/basic-sdk/extension/plugins/seatable-row/render-elem/index.js +160 -0
- package/dist/basic-sdk/extension/plugins/seatable-row/render-elem/record-header.js +78 -0
- package/dist/basic-sdk/extension/plugins/seatable-row/render-elem/record-item.js +41 -0
- package/dist/basic-sdk/extension/plugins/seatable-tables/formatter/index.js +7 -2
- package/dist/basic-sdk/extension/plugins/table/menu/table-menu/index.js +1 -0
- package/dist/basic-sdk/extension/plugins/table/popover/table-size-popover/index.js +2 -0
- package/dist/basic-sdk/extension/render/custom-element.js +5 -0
- package/dist/basic-sdk/extension/toolbar/header-toolbar/insert-toolbar/index.js +3 -2
- package/dist/basic-sdk/extension/toolbar/insert-element-toolbar/index.js +1 -1
- package/dist/basic-sdk/extension/toolbar/side-toolbar/helpers.js +2 -1
- package/dist/basic-sdk/extension/toolbar/side-toolbar/insert-block-menu.js +2 -1
- package/dist/constants/index.js +1 -0
- package/dist/context.js +2 -2
- package/dist/pages/document-plugin-editor.js +2 -1
- package/package.json +1 -1
- package/public/locales/cs/sdoc-editor.json +7 -1
- package/public/locales/de/sdoc-editor.json +66 -60
- package/public/locales/en/sdoc-editor.json +10 -2
- package/public/locales/es/sdoc-editor.json +7 -1
- package/public/locales/es_AR/sdoc-editor.json +7 -1
- package/public/locales/es_MX/sdoc-editor.json +7 -1
- package/public/locales/fr/sdoc-editor.json +240 -234
- package/public/locales/it/sdoc-editor.json +7 -1
- package/public/locales/ru/sdoc-editor.json +8 -2
- package/public/locales/zh_CN/sdoc-editor.json +7 -2
- package/public/media/sdoc-editor-font/iconfont.css +15 -14
- package/public/media/sdoc-editor-font/iconfont.eot +0 -0
- package/public/media/sdoc-editor-font/iconfont.svg +3 -1
- package/public/media/sdoc-editor-font/iconfont.ttf +0 -0
- package/public/media/sdoc-editor-font/iconfont.woff +0 -0
- package/public/media/sdoc-editor-font/iconfont.woff2 +0 -0
- package/public/media/sdoc-editor-font.css +11 -7
package/dist/api/seafile-api.js
CHANGED
|
@@ -205,11 +205,14 @@ class SeafileAPI {
|
|
|
205
205
|
form.append('file_uuid', docUuid);
|
|
206
206
|
return this.req.post(url, form);
|
|
207
207
|
}
|
|
208
|
-
writingAssistant(docUuid, text, type) {
|
|
208
|
+
writingAssistant(docUuid, text, type, custom_prompt) {
|
|
209
209
|
const url = '/api/v2.1/ai/writing-assistant/';
|
|
210
210
|
let form = new FormData();
|
|
211
211
|
form.append('text', text);
|
|
212
212
|
form.append('writing_type', type);
|
|
213
|
+
if (custom_prompt) {
|
|
214
|
+
form.append('custom_prompt', custom_prompt);
|
|
215
|
+
}
|
|
213
216
|
form.append('file_uuid', docUuid);
|
|
214
217
|
return this.req.post(url, form);
|
|
215
218
|
}
|
|
@@ -24,6 +24,7 @@ var _index5 = require("../../plugins/video/constants/index.js");
|
|
|
24
24
|
var _constants3 = require("../../../../basic-sdk/constants");
|
|
25
25
|
var _index6 = _interopRequireDefault(require("../../plugins/ai/ai-module/index.js"));
|
|
26
26
|
var _index7 = _interopRequireDefault(require("../../plugins/video/dialog/add-video-link-dialog/index.js"));
|
|
27
|
+
var _index8 = _interopRequireDefault(require("../../plugins/seatable-row/dialog/add-seatable-row-dialog/index.js"));
|
|
27
28
|
const InsertElementDialog = _ref => {
|
|
28
29
|
let {
|
|
29
30
|
editor
|
|
@@ -37,6 +38,7 @@ const InsertElementDialog = _ref => {
|
|
|
37
38
|
const [validEditor, setValidEditor] = (0, _react.useState)(editor);
|
|
38
39
|
const [linkTitle, setLinkTitle] = (0, _react.useState)('');
|
|
39
40
|
const [handleSubmit, setHandleSubmit] = (0, _react.useState)(() => void 0);
|
|
41
|
+
const [data, setData] = (0, _react.useState)({});
|
|
40
42
|
const {
|
|
41
43
|
t
|
|
42
44
|
} = (0, _reactI18next.useTranslation)('sdoc-editor');
|
|
@@ -96,7 +98,8 @@ const InsertElementDialog = _ref => {
|
|
|
96
98
|
editor: paramEditor,
|
|
97
99
|
linkTitle,
|
|
98
100
|
// link shortcut wrapping link
|
|
99
|
-
handleSubmit
|
|
101
|
+
handleSubmit,
|
|
102
|
+
data
|
|
100
103
|
} = _ref2;
|
|
101
104
|
setInsertPosition(insertPosition);
|
|
102
105
|
setSlateNode(slateNode);
|
|
@@ -113,6 +116,7 @@ const InsertElementDialog = _ref => {
|
|
|
113
116
|
setHandleSubmit(handleSubmit);
|
|
114
117
|
// Apply for comment editor, as it has a different editor instance
|
|
115
118
|
setValidEditor(paramEditor || editor);
|
|
119
|
+
setData(data);
|
|
116
120
|
if (type === _constants2.LOCAL_IMAGE) {
|
|
117
121
|
setTimeout(() => {
|
|
118
122
|
uploadLocalImageInputRef.current && uploadLocalImageInputRef.current.click();
|
|
@@ -133,6 +137,7 @@ const InsertElementDialog = _ref => {
|
|
|
133
137
|
setInsertVideoCallback(null);
|
|
134
138
|
setValidEditor(null);
|
|
135
139
|
setLinkTitle('');
|
|
140
|
+
setData('');
|
|
136
141
|
}, []);
|
|
137
142
|
const props = {
|
|
138
143
|
insertPosition,
|
|
@@ -141,7 +146,8 @@ const InsertElementDialog = _ref => {
|
|
|
141
146
|
element,
|
|
142
147
|
closeDialog,
|
|
143
148
|
linkTitle,
|
|
144
|
-
handleSubmit
|
|
149
|
+
handleSubmit,
|
|
150
|
+
data
|
|
145
151
|
};
|
|
146
152
|
switch (dialogType) {
|
|
147
153
|
case _constants2.ELEMENT_TYPE.TABLE:
|
|
@@ -240,6 +246,10 @@ const InsertElementDialog = _ref => {
|
|
|
240
246
|
closeModule: closeDialog
|
|
241
247
|
});
|
|
242
248
|
}
|
|
249
|
+
case _constants2.ELEMENT_TYPE.SEATABLE_ROW:
|
|
250
|
+
{
|
|
251
|
+
return /*#__PURE__*/_react.default.createElement(_index8.default, props);
|
|
252
|
+
}
|
|
243
253
|
default:
|
|
244
254
|
{
|
|
245
255
|
return null;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
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.SEATABLE_TABLE = exports.SEATABLE_COLUMN = 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.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.SEATABLE_TABLE = exports.SEATABLE_ROW = exports.SEATABLE_COLUMN = 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
|
const BLOCKQUOTE = exports.BLOCKQUOTE = 'blockquote';
|
|
8
8
|
const TITLE = exports.TITLE = 'title';
|
|
9
9
|
const SUBTITLE = exports.SUBTITLE = 'subtitle';
|
|
@@ -44,6 +44,7 @@ const FILE_LINK_INSET_INPUT_TEMP = exports.FILE_LINK_INSET_INPUT_TEMP = 'file_li
|
|
|
44
44
|
const QUICK_INSERT = exports.QUICK_INSERT = 'quick_insert';
|
|
45
45
|
const VIDEO_LINK = exports.VIDEO_LINK = 'video_link';
|
|
46
46
|
const SEATABLE_COLUMN = exports.SEATABLE_COLUMN = 'seatable_column';
|
|
47
|
+
const SEATABLE_ROW = exports.SEATABLE_ROW = 'seatable_row';
|
|
47
48
|
const SEATABLE_TABLE = exports.SEATABLE_TABLE = 'seatable_table';
|
|
48
49
|
const ASK_AI = exports.ASK_AI = 'ask_ai';
|
|
49
50
|
|
|
@@ -344,6 +344,12 @@ Object.defineProperty(exports, "SEATABLE_COLUMN", {
|
|
|
344
344
|
return _elementType.SEATABLE_COLUMN;
|
|
345
345
|
}
|
|
346
346
|
});
|
|
347
|
+
Object.defineProperty(exports, "SEATABLE_ROW", {
|
|
348
|
+
enumerable: true,
|
|
349
|
+
get: function () {
|
|
350
|
+
return _elementType.SEATABLE_ROW;
|
|
351
|
+
}
|
|
352
|
+
});
|
|
347
353
|
Object.defineProperty(exports, "SEATABLE_TABLE", {
|
|
348
354
|
enumerable: true,
|
|
349
355
|
get: function () {
|
|
@@ -537,7 +543,7 @@ const FILE_TYPE = exports.FILE_TYPE = {
|
|
|
537
543
|
[_elementType.SDOC_LINK]: 'sdoc',
|
|
538
544
|
[_elementType.VIDEO]: 'video'
|
|
539
545
|
};
|
|
540
|
-
const 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, _elementType.SEATABLE_TABLE, _elementType.MULTI_COLUMN];
|
|
546
|
+
const 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, _elementType.SEATABLE_TABLE, _elementType.MULTI_COLUMN, _elementType.SEATABLE_ROW];
|
|
541
547
|
const MOUSE_ENTER_EVENT_DISABLED_MAP = exports.MOUSE_ENTER_EVENT_DISABLED_MAP = {
|
|
542
548
|
[_elementType.PARAGRAPH]: [_elementType.CALL_OUT],
|
|
543
549
|
[_elementType.TITLE]: [_elementType.CALL_OUT],
|
|
@@ -555,4 +561,4 @@ const MOUSE_ENTER_EVENT_DISABLED_MAP = exports.MOUSE_ENTER_EVENT_DISABLED_MAP =
|
|
|
555
561
|
[_elementType.HEADER6]: [_elementType.CALL_OUT],
|
|
556
562
|
[_elementType.CALL_OUT]: [_elementType.CALL_OUT]
|
|
557
563
|
};
|
|
558
|
-
const 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, _elementType.SEATABLE_TABLE];
|
|
564
|
+
const 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, _elementType.SEATABLE_TABLE, _elementType.SEATABLE_ROW];
|
|
@@ -223,6 +223,11 @@ const MENUS_CONFIG_MAP = exports.MENUS_CONFIG_MAP = {
|
|
|
223
223
|
iconClass: 'sdocfont sdoc-find-replace',
|
|
224
224
|
text: 'Search_and_replace'
|
|
225
225
|
},
|
|
226
|
+
[_elementType.SEATABLE_ROW]: {
|
|
227
|
+
id: `sdoc_${_elementType.SEATABLE_ROW}`,
|
|
228
|
+
iconClass: 'sdocfont sdoc-seatable-row',
|
|
229
|
+
text: 'SeaTable_row'
|
|
230
|
+
},
|
|
226
231
|
[_elementType.SEATABLE_COLUMN]: {
|
|
227
232
|
id: `sdoc_${_elementType.SEATABLE_COLUMN}`,
|
|
228
233
|
iconClass: 'sdocfont sdoc-choose-column',
|
|
@@ -40,6 +40,7 @@ function AIModule(_ref) {
|
|
|
40
40
|
const [opType, setOpType] = (0, _react.useState)('');
|
|
41
41
|
const [selectedValue, setSelectedValue] = (0, _react.useState)('');
|
|
42
42
|
const [searchValue, setSearchValue] = (0, _react.useState)('');
|
|
43
|
+
const [oldSearchValue, setOldSearchValue] = (0, _react.useState)('');
|
|
43
44
|
const [isGenerating, setIsGenerating] = (0, _react.useState)(false);
|
|
44
45
|
const [searchResult, setSearchResult] = (0, _react.useState)(null);
|
|
45
46
|
const [currentLang, setCurrentLang] = (0, _react.useState)('en');
|
|
@@ -160,13 +161,10 @@ function AIModule(_ref) {
|
|
|
160
161
|
}, [onDocumentClick]);
|
|
161
162
|
const onScroll = (0, _react.useCallback)(event => {
|
|
162
163
|
if (!element) {
|
|
163
|
-
console.log(selectDom);
|
|
164
164
|
const newRect = selectDom.getBoundingClientRect();
|
|
165
165
|
const aboveNode = (0, _core.getAboveBlockNode)(editor);
|
|
166
166
|
const slateDom = _slateReact.ReactEditor.toDOMNode(editor, aboveNode[0]);
|
|
167
167
|
const slateRect = slateDom.getBoundingClientRect();
|
|
168
|
-
console.log(newRect);
|
|
169
|
-
console.log(slateRect);
|
|
170
168
|
const el = aiRef.current;
|
|
171
169
|
el.style.top = `${newRect.bottom + 8}px`; // top = Current top + Element height
|
|
172
170
|
el.style.left = `${slateRect.left}px`;
|
|
@@ -203,20 +201,25 @@ function AIModule(_ref) {
|
|
|
203
201
|
if (!searchValue) return;
|
|
204
202
|
setOpType(_constants.OPERATION_TYPES.DEFAULT);
|
|
205
203
|
setIsGenerating(true);
|
|
206
|
-
const defaultContent =
|
|
207
|
-
|
|
204
|
+
const defaultContent = selectedValue;
|
|
205
|
+
const custom_prompt = searchValue;
|
|
206
|
+
if (!custom_prompt) {
|
|
208
207
|
_toast.default.danger(t('Processing_content_cannot_be_empty'));
|
|
209
208
|
return;
|
|
210
209
|
}
|
|
211
|
-
_context.default.writingAssistant(defaultContent, 'ask').then(res => {
|
|
210
|
+
_context.default.writingAssistant(defaultContent, 'ask', custom_prompt).then(res => {
|
|
212
211
|
const {
|
|
213
212
|
content
|
|
214
213
|
} = res.data;
|
|
215
214
|
setSearchResult(content);
|
|
216
215
|
setIsGenerating(false);
|
|
216
|
+
setSearchValue('');
|
|
217
|
+
setOldSearchValue(searchValue);
|
|
217
218
|
}).catch(err => {
|
|
218
219
|
setIsGenerating(false);
|
|
219
220
|
_toast.default.danger('AI_error_message');
|
|
221
|
+
setSearchValue('');
|
|
222
|
+
setOldSearchValue(searchValue);
|
|
220
223
|
});
|
|
221
224
|
}, [searchValue, selectedValue, t]);
|
|
222
225
|
const onKeyDown = (0, _react.useCallback)(event => {
|
|
@@ -233,7 +236,7 @@ function AIModule(_ref) {
|
|
|
233
236
|
const onContinuationClick = (0, _react.useCallback)(() => {
|
|
234
237
|
setOpType(_constants.OPERATION_TYPES.CONTINUATION);
|
|
235
238
|
setIsGenerating(true);
|
|
236
|
-
const defaultContent =
|
|
239
|
+
const defaultContent = selectedValue;
|
|
237
240
|
if (!defaultContent) {
|
|
238
241
|
_toast.default.danger(t('Processing_content_cannot_be_empty'));
|
|
239
242
|
return;
|
|
@@ -248,11 +251,11 @@ function AIModule(_ref) {
|
|
|
248
251
|
setIsGenerating(false);
|
|
249
252
|
_toast.default.danger('AI_error_message');
|
|
250
253
|
});
|
|
251
|
-
}, [
|
|
254
|
+
}, [selectedValue, t]);
|
|
252
255
|
const onMoreDetailsClick = (0, _react.useCallback)(() => {
|
|
253
256
|
setOpType(_constants.OPERATION_TYPES.MORE_DETAILS);
|
|
254
257
|
setIsGenerating(true);
|
|
255
|
-
const defaultContent =
|
|
258
|
+
const defaultContent = selectedValue;
|
|
256
259
|
if (!defaultContent) {
|
|
257
260
|
_toast.default.danger(t('Processing_content_cannot_be_empty'));
|
|
258
261
|
return;
|
|
@@ -267,11 +270,11 @@ function AIModule(_ref) {
|
|
|
267
270
|
setIsGenerating(false);
|
|
268
271
|
_toast.default.danger('AI_error_message');
|
|
269
272
|
});
|
|
270
|
-
}, [
|
|
273
|
+
}, [selectedValue, t]);
|
|
271
274
|
const onMoreConciseClick = (0, _react.useCallback)(() => {
|
|
272
275
|
setOpType(_constants.OPERATION_TYPES.MORE_CONCISE);
|
|
273
276
|
setIsGenerating(true);
|
|
274
|
-
const defaultContent =
|
|
277
|
+
const defaultContent = selectedValue;
|
|
275
278
|
if (!defaultContent) {
|
|
276
279
|
_toast.default.danger(t('Processing_content_cannot_be_empty'));
|
|
277
280
|
return;
|
|
@@ -286,11 +289,11 @@ function AIModule(_ref) {
|
|
|
286
289
|
setIsGenerating(false);
|
|
287
290
|
_toast.default.danger('AI_error_message');
|
|
288
291
|
});
|
|
289
|
-
}, [
|
|
292
|
+
}, [selectedValue, t]);
|
|
290
293
|
const onMoreVividClick = (0, _react.useCallback)(() => {
|
|
291
294
|
setOpType(_constants.OPERATION_TYPES.MORE_VIVID);
|
|
292
295
|
setIsGenerating(true);
|
|
293
|
-
const defaultContent =
|
|
296
|
+
const defaultContent = selectedValue;
|
|
294
297
|
if (!defaultContent) {
|
|
295
298
|
_toast.default.danger(t('Processing_content_cannot_be_empty'));
|
|
296
299
|
return;
|
|
@@ -305,9 +308,9 @@ function AIModule(_ref) {
|
|
|
305
308
|
setIsGenerating(false);
|
|
306
309
|
_toast.default.danger('Translation_error_message');
|
|
307
310
|
});
|
|
308
|
-
}, [
|
|
311
|
+
}, [selectedValue, t]);
|
|
309
312
|
const onTranslateClick = (0, _react.useCallback)(lang => {
|
|
310
|
-
|
|
313
|
+
let translateValue = selectedValue;
|
|
311
314
|
if (!translateValue) {
|
|
312
315
|
_toast.default.warning(t('The_translation_content_cannot_be_empty'));
|
|
313
316
|
return;
|
|
@@ -316,17 +319,20 @@ function AIModule(_ref) {
|
|
|
316
319
|
const translateLang = lang ? lang : currentLang;
|
|
317
320
|
setCurrentLang(translateLang);
|
|
318
321
|
setIsGenerating(true);
|
|
322
|
+
// translateValue = translateValue.replace(/\n/g, '<br>');
|
|
323
|
+
console.log(1, translateValue);
|
|
319
324
|
_context.default.aiTranslate(translateValue, translateLang).then(res => {
|
|
320
325
|
const {
|
|
321
326
|
translation
|
|
322
327
|
} = res.data;
|
|
328
|
+
console.log(3, translation);
|
|
323
329
|
setSearchResult(translation);
|
|
324
330
|
setIsGenerating(false);
|
|
325
331
|
}).catch(err => {
|
|
326
332
|
setIsGenerating(false);
|
|
327
333
|
_toast.default.danger('Translation_error_message');
|
|
328
334
|
});
|
|
329
|
-
}, [currentLang,
|
|
335
|
+
}, [currentLang, selectedValue, t]);
|
|
330
336
|
const focusToEndPath = (0, _react.useCallback)(path => {
|
|
331
337
|
setTimeout(() => {
|
|
332
338
|
const endOfLastNodePoint = _slate.Editor.end(editor, path);
|
|
@@ -349,15 +355,25 @@ function AIModule(_ref) {
|
|
|
349
355
|
const path = _slateReact.ReactEditor.findPath(editor, element);
|
|
350
356
|
nextPath = _slate.Path.next(path);
|
|
351
357
|
}
|
|
358
|
+
|
|
359
|
+
// Prevent '\\n' from being pre-wrapped
|
|
360
|
+
console.log(1, searchResult);
|
|
361
|
+
const tempResult = searchResult.replace(/\\n/g, '\v');
|
|
362
|
+
const paragraphs = tempResult.split('\n').map(line => line.replace(/\v/g, '\\n')).filter(line => line.trim() !== '');
|
|
352
363
|
const p = (0, _core.generateEmptyElement)(_constants2.PARAGRAPH);
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
364
|
+
paragraphs.forEach((line, index) => {
|
|
365
|
+
p.children[0].text = line;
|
|
366
|
+
_slate.Transforms.insertNodes(editor, p, {
|
|
367
|
+
at: nextPath
|
|
368
|
+
});
|
|
369
|
+
if (index < paragraphs.length - 1) {
|
|
370
|
+
nextPath = _slate.Path.next(nextPath);
|
|
371
|
+
}
|
|
356
372
|
});
|
|
357
373
|
onCloseClick();
|
|
358
374
|
focusToEndPath(nextPath);
|
|
359
375
|
}, [editor, element, focusToEndPath, onCloseClick, searchResult]);
|
|
360
|
-
const onTryAgainClick = (0, _react.useCallback)(
|
|
376
|
+
const onTryAgainClick = (0, _react.useCallback)(event => {
|
|
361
377
|
switch (opType) {
|
|
362
378
|
case _constants.OPERATION_TYPES.TRANSLATE:
|
|
363
379
|
onTranslateClick();
|
|
@@ -374,10 +390,17 @@ function AIModule(_ref) {
|
|
|
374
390
|
case _constants.OPERATION_TYPES.CONTINUATION:
|
|
375
391
|
onContinuationClick();
|
|
376
392
|
return;
|
|
393
|
+
case _constants.OPERATION_TYPES.DEFAULT:
|
|
394
|
+
event.stopPropagation();
|
|
395
|
+
event.nativeEvent.stopImmediatePropagation();
|
|
396
|
+
setSearchValue(oldSearchValue);
|
|
397
|
+
setSearchResult('');
|
|
398
|
+
setOldSearchValue('');
|
|
399
|
+
return;
|
|
377
400
|
default:
|
|
378
401
|
return;
|
|
379
402
|
}
|
|
380
|
-
}, [onContinuationClick, onMoreConciseClick, onMoreDetailsClick, onMoreVividClick, onTranslateClick, opType]);
|
|
403
|
+
}, [oldSearchValue, onContinuationClick, onMoreConciseClick, onMoreDetailsClick, onMoreVividClick, onTranslateClick, opType]);
|
|
381
404
|
const onReplaceClick = (0, _react.useCallback)(() => {
|
|
382
405
|
if (!element) {
|
|
383
406
|
editor.deleteFragment();
|
|
@@ -410,7 +433,8 @@ function AIModule(_ref) {
|
|
|
410
433
|
hasCloseButton: false,
|
|
411
434
|
duration: 2
|
|
412
435
|
});
|
|
413
|
-
|
|
436
|
+
onCloseClick();
|
|
437
|
+
}, [onCloseClick, searchResult, t]);
|
|
414
438
|
const onDeprecationClick = (0, _react.useCallback)(() => {
|
|
415
439
|
onCloseClick();
|
|
416
440
|
}, [onCloseClick]);
|
|
@@ -446,7 +470,7 @@ function AIModule(_ref) {
|
|
|
446
470
|
}), /*#__PURE__*/_react.default.createElement("span", {
|
|
447
471
|
className: `sdocfont sdoc-send-arrow ${!searchValue ? 'disable' : ''}`,
|
|
448
472
|
onClick: onEnter
|
|
449
|
-
}))), /*#__PURE__*/_react.default.createElement("div", {
|
|
473
|
+
}))), !searchValue && /*#__PURE__*/_react.default.createElement("div", {
|
|
450
474
|
className: "sdoc-ai-operations sdoc-dropdown-menu"
|
|
451
475
|
}, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
|
|
452
476
|
className: "op-type"
|
|
@@ -493,7 +517,7 @@ function AIModule(_ref) {
|
|
|
493
517
|
}), /*#__PURE__*/_react.default.createElement("span", {
|
|
494
518
|
className: `sdocfont sdoc-send-arrow ${!searchValue ? 'disable' : ''}`,
|
|
495
519
|
onClick: onEnter
|
|
496
|
-
}))), /*#__PURE__*/_react.default.createElement("div", {
|
|
520
|
+
}))), !searchValue && /*#__PURE__*/_react.default.createElement("div", {
|
|
497
521
|
className: "sdoc-ai-operations sdoc-dropdown-menu"
|
|
498
522
|
}, /*#__PURE__*/_react.default.createElement(_dropdownMenuItem.default, {
|
|
499
523
|
menuConfig: _constants.OPERATION_MENUS_CONFIG.ADJUSTMENT,
|
|
@@ -83,6 +83,14 @@
|
|
|
83
83
|
pointer-events: all;
|
|
84
84
|
}
|
|
85
85
|
|
|
86
|
+
.sdoc-ai-module-container .sdoc-ai-result .sdoc-ai-result-content {
|
|
87
|
+
white-space: pre-wrap;
|
|
88
|
+
line-height: 33px;
|
|
89
|
+
font-size: 11pt;
|
|
90
|
+
height:100%;
|
|
91
|
+
/* overflow-y: auto; */
|
|
92
|
+
}
|
|
93
|
+
|
|
86
94
|
.sdoc-ai-module-container .sdoc-ai-result .sdoc-ai-result-header {
|
|
87
95
|
display: flex;
|
|
88
96
|
justify-content: space-between;
|
|
@@ -119,6 +119,12 @@ Object.defineProperty(exports, "SeaTableColumnPlugin", {
|
|
|
119
119
|
return _seatableColumn.default;
|
|
120
120
|
}
|
|
121
121
|
});
|
|
122
|
+
Object.defineProperty(exports, "SeaTableRowPlugin", {
|
|
123
|
+
enumerable: true,
|
|
124
|
+
get: function () {
|
|
125
|
+
return _seatableRow.default;
|
|
126
|
+
}
|
|
127
|
+
});
|
|
122
128
|
Object.defineProperty(exports, "SeaTableViewsPlugin", {
|
|
123
129
|
enumerable: true,
|
|
124
130
|
get: function () {
|
|
@@ -186,6 +192,7 @@ var _mention = _interopRequireDefault(require("./mention"));
|
|
|
186
192
|
var _quickInsert = _interopRequireDefault(require("./quick-insert"));
|
|
187
193
|
var _wikiLink = _interopRequireDefault(require("./wiki-link"));
|
|
188
194
|
var _seatableColumn = _interopRequireDefault(require("./seatable-column"));
|
|
195
|
+
var _seatableRow = _interopRequireDefault(require("./seatable-row"));
|
|
189
196
|
var _seatableTables = _interopRequireDefault(require("./seatable-tables"));
|
|
190
197
|
var _group = _interopRequireDefault(require("./group"));
|
|
191
198
|
const 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];
|