@seafile/sdoc-editor 0.1.157 → 0.1.159-beta10

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.
Files changed (47) hide show
  1. package/dist/api/seafile-api.js +28 -9
  2. package/dist/basic-sdk/constants/index.js +25 -1
  3. package/dist/basic-sdk/editor/common-editor.js +50 -0
  4. package/dist/basic-sdk/editor/index.css +29 -0
  5. package/dist/basic-sdk/editor/index.js +132 -0
  6. package/dist/basic-sdk/{slate-editor.js → editor/slate-editor.js} +21 -16
  7. package/dist/basic-sdk/extension/constants/element-type.js +14 -9
  8. package/dist/basic-sdk/extension/constants/menus-config.js +27 -16
  9. package/dist/basic-sdk/extension/core/transforms/replace-node-children.js +26 -0
  10. package/dist/basic-sdk/extension/plugins/file-link/render-elem.css +4 -0
  11. package/dist/basic-sdk/extension/plugins/file-link/render-elem.js +1 -4
  12. package/dist/basic-sdk/extension/plugins/font/helpers.js +16 -12
  13. package/dist/basic-sdk/extension/plugins/html/rules/text.js +5 -5
  14. package/dist/basic-sdk/extension/plugins/markdown/plugin.js +4 -4
  15. package/dist/basic-sdk/extension/plugins/table/constants/index.js +5 -2
  16. package/dist/basic-sdk/extension/plugins/table/helpers.js +13 -8
  17. package/dist/basic-sdk/extension/plugins/table/menu/active-table-menu/cell-bg-color-menu.js +1 -1
  18. package/dist/basic-sdk/extension/plugins/table/menu/active-table-menu/cell-text-align-menu.js +3 -3
  19. package/dist/basic-sdk/extension/plugins/table/render/render-cell.js +2 -2
  20. package/dist/basic-sdk/extension/plugins/table/render/render-row.js +7 -9
  21. package/dist/basic-sdk/extension/plugins/table/render/table-header/rows-header/row-header.js +3 -3
  22. package/dist/basic-sdk/extension/plugins/text-style/plugin.js +3 -2
  23. package/dist/basic-sdk/extension/plugins/text-style/render-elem.js +20 -19
  24. package/dist/basic-sdk/extension/render/render-element.js +221 -1
  25. package/dist/basic-sdk/socket/helpers.js +2 -0
  26. package/dist/basic-sdk/socket/socket-client.js +58 -0
  27. package/dist/basic-sdk/socket/socket-manager.js +34 -2
  28. package/dist/basic-sdk/socket/with-socket-io.js +40 -12
  29. package/dist/basic-sdk/utils/diff.js +20 -19
  30. package/dist/basic-sdk/utils/rebase.js +193 -0
  31. package/dist/basic-sdk/views/diff-viewer.js +3 -1
  32. package/dist/basic-sdk/views/viewer.js +9 -12
  33. package/dist/components/doc-operations/index.js +4 -2
  34. package/dist/components/doc-operations/revision-operations/index.js +5 -2
  35. package/dist/components/doc-operations/revision-operations/publish-button.js +6 -13
  36. package/dist/components/tip-dialog/index.js +48 -0
  37. package/dist/components/tip-dialog/tip-content.js +47 -0
  38. package/dist/constants/index.js +26 -2
  39. package/dist/context.js +43 -9
  40. package/dist/pages/simple-editor.js +245 -88
  41. package/package.json +1 -1
  42. package/public/locales/en/sdoc-editor.json +12 -1
  43. package/public/locales/fr/sdoc-editor.json +154 -152
  44. package/public/locales/ru/sdoc-editor.json +50 -48
  45. package/public/locales/zh_CN/sdoc-editor.json +11 -1
  46. package/dist/basic-sdk/editor.js +0 -105
  47. package/dist/basic-sdk/extension/plugins/text-style/model.js +0 -11
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "Bold": "Полужирный",
3
3
  "Italic": "Курсив",
4
- "Underline": "Подчеркивание",
5
- "Strikethrough": "Зачеркнутый",
4
+ "Underline": "Подчёркивание",
5
+ "Strikethrough": "Зачёркнутый",
6
6
  "Superscript": "Надстрочный индекс",
7
7
  "Subscript": "Нижний индекс",
8
8
  "Inline_code": "Код",
@@ -48,7 +48,7 @@
48
48
  "Left": "Слева",
49
49
  "Center": "По центру",
50
50
  "Right": "Справа",
51
- "File_saved": "Файл сохранен.",
51
+ "File_saved": "Файл сохранён.",
52
52
  "File_failed_to_save": "Не удалось сохранить файл.",
53
53
  "Back_to_parent_directory":"Вернуться в родительский каталог",
54
54
  "Edit": "Редактировать",
@@ -64,7 +64,7 @@
64
64
  "Password": "Пароль",
65
65
  "At_least_8_characters": "не менее 8 символов",
66
66
  "Password_again": "Подтвердите пароль",
67
- "Add_auto_expiration": "Добавить авто истечение срока действия",
67
+ "Add_auto_expiration": "Добавить автоистечение срока действия",
68
68
  "Days": "дней",
69
69
  "Please_enter_password": "Пожалуйста, введите пароль",
70
70
  "Greater_than_or_equal_to": "Больше или равно",
@@ -72,13 +72,13 @@
72
72
  "Set_permission": "Установить разрешения",
73
73
  "Preview_and_download": "Предпросмотр и скачивание",
74
74
  "Preview_only": "Только предпросмотр",
75
- "Please_enter_valid_days": "Пожалуйста, введите корректные дни",
75
+ "Please_enter_valid_days": "Пожалуйста, введите действительные дни",
76
76
  "Please_enter_a_non-negative_integer": "Пожалуйста, введите неотрицательное целое число",
77
77
  "Please_enter_days": "Пожалуйста, введите дни",
78
78
  "Password_is_too_short": "Пароль слишком короткий",
79
79
  "Passwords_do_not_match": "Пароли не совпадают",
80
- "Return_to_wiki_page": "Вернуться на страницу Wiki",
81
- "Insert_network_image": "Вставить удаленное изображение",
80
+ "Return_to_wiki_page": "Вернуться на страницу Вики",
81
+ "Insert_network_image": "Вставить удалённое изображение",
82
82
  "Upload_local_image": "Загрузить локальное изображение",
83
83
  "Add_link": "Добавить ссылку",
84
84
  "File_history": "История файла",
@@ -88,8 +88,8 @@
88
88
  "Local_draft": "Локальный черновик",
89
89
  "Use_draft": "Использовать черновик",
90
90
  "Delete_draft": "Удалить черновик",
91
- "You_have_an_unsaved_draft_do_you_like_to_use_it": "У вас есть несохраненный черновик. Хотите использовать его?",
92
- "Local_draft_saved": "Локальный черновик сохранен",
91
+ "You_have_an_unsaved_draft_do_you_like_to_use_it": "У вас есть несохранённый черновик. Хотите использовать его?",
92
+ "Local_draft_saved": "Локальный черновик сохранён",
93
93
  "New_draft": "Новый черновик",
94
94
  "View_draft": "Просмотр черновика",
95
95
  "Publish": "Опубликовать",
@@ -99,13 +99,13 @@
99
99
  "Comment": "Комментарий",
100
100
  "Comments": "Комментарии",
101
101
  "All_comments": "Все комментарии",
102
- "Resolved_comments": "Разрешенные комментарии",
103
- "Unresolved_comments": "Неразрешенные комментарии",
104
- "Total_1_comment": "Всего 1 комментарий",
102
+ "Resolved_comments": "Разрешённые комментарии",
103
+ "Unresolved_comments": "Неразрешённые комментарии",
104
+ "Total_1_comment": "Всего один комментарий",
105
105
  "Total_count_comments": "Всего {{count}} комментариев",
106
106
  "Add_a_comment": "Добавить комментарий...",
107
107
  "No_comment_yet": "Комментариев пока нет.",
108
- "Mark_as_Resolved": "Отметить как решенный",
108
+ "Mark_as_Resolved": "Отметить как решённый",
109
109
  "Resubmit": "Повторить отправку",
110
110
  "Resubmitted": "Отправлено повторно",
111
111
  "Ask_for_review": "Спросить отзыв",
@@ -115,11 +115,11 @@
115
115
  "Start_review": "Начать отзыв",
116
116
  "This_file_is_in_draft_stage": "Этот файл находится в стадии черновика.",
117
117
  "This_file_is_in_review_stage": "Этот файл находится на стадии проверки.",
118
- "This_file_has_been_updated": "Этот файл был обновлен.",
118
+ "This_file_has_been_updated": "Этот файл был обновлён.",
119
119
  "Refresh": "Обновить",
120
120
  "Related_files": "Связанные файлы",
121
121
  "Related_file": "Связанный файл",
122
- "No_tags": "Нет тегов",
122
+ "No_tags": "Нет меток",
123
123
  "Date": "Дата",
124
124
  "Participants": "Участники",
125
125
  "Meeting_note": "Заметка о встрече",
@@ -131,7 +131,7 @@
131
131
  "No_document_improvement_suggestion": "Нет предложений по улучшению документа",
132
132
  "Hide_side_panel": "Скрыть боковую панель",
133
133
  "Show_side_panel": "Показать боковую панель",
134
- "Show_resolved_comments": "Показать разрешенные комментарии",
134
+ "Show_resolved_comments": "Показать разрешённые комментарии",
135
135
  "Update": "Изменить",
136
136
  "Width": "Ширина",
137
137
  "Height": "Высота",
@@ -140,7 +140,7 @@
140
140
  "Size": "Размер",
141
141
  "Location": "Местонахождение",
142
142
  "Last_update": "Последнее обновление",
143
- "Tags": "Теги",
143
+ "Tags": "Метки",
144
144
  "Add_participants": "Добавить участников",
145
145
  "Clear_format": "Очистить формат",
146
146
  "MarkdownLint": {
@@ -210,7 +210,7 @@
210
210
  "shortcutData": {
211
211
  "Bold": "Полужирный",
212
212
  "Italic": "Курсив",
213
- "Italic_Bold": "Курсив Полужирный",
213
+ "Italic_Bold": "Курсив полужирный",
214
214
  "Inline_code": "Встроенный код"
215
215
  }
216
216
  }, {
@@ -233,11 +233,11 @@
233
233
  "All_changes_saved": "Все изменения сохранены",
234
234
  "Saving": "Сохранение...",
235
235
  "Collaborators": "Участники",
236
- "Online_members": "Онлайн-участники",
236
+ "Online_members": "Участники в сети",
237
237
  "Me": "мне",
238
- "Server_is_not_connected_Operation_will_be_sent_to_server_later": "Сервер не подключен. Операция будет отправлена ​​на сервер позже.",
239
- "Server_is_disconnected_Reconnecting": "Сервер отключен. Повторное подключение...",
240
- "Server_is_reconnected": "Сервер переподключен.",
238
+ "Server_is_not_connected_Operation_will_be_sent_to_server_later": "Сервер не подключён. Операция будет отправлена ​​на сервер позже.",
239
+ "Server_is_disconnected_Reconnecting": "Сервер отключён. Повторное подключение...",
240
+ "Server_is_reconnected": "Сервер переподключён.",
241
241
  "Outline": "Контур",
242
242
  "Headings_you_add_to_the_document_will_appear_here": "Здесь появятся заголовки, которые вы добавите в документ.",
243
243
  "Open_parent_folder": "Открыть родительскую папку",
@@ -259,7 +259,7 @@
259
259
  "Unstarred": "Не отмечено",
260
260
  "Star": "Отметить",
261
261
  "Unstar": "Снять отметку",
262
- "Auto_wrap": "Авто перенос",
262
+ "Auto_wrap": "Автоперенос",
263
263
  "Add_comment": "Добавить комментарий",
264
264
  "Delete_comment": "Удалить комментарий",
265
265
  "Delete_reply": "Удалить ответ",
@@ -267,7 +267,7 @@
267
267
  "Are_you_sure_to_delete_this_reply": "Вы уверены, что удалите этот ответ?",
268
268
  "Enter_a_comment": "Введите комментарий",
269
269
  "Enter_a_reply": "Введите ответ",
270
- "Reopen_discussion" : "Добавление ответа приведет к возобновлению обсуждения.",
270
+ "Reopen_discussion" : "Добавление ответа приведёт к возобновлению обсуждения.",
271
271
  "Confirm": "Подтвердить",
272
272
  "View_changes": "Просмотр изменений",
273
273
  "Revision": "Пересмотр",
@@ -285,55 +285,55 @@
285
285
  "Recently_used": "Недавно использовано",
286
286
  "More_color": "Больше цвета",
287
287
  "White": "Белый",
288
- "Black": "Черный",
288
+ "Black": "Чёрный",
289
289
  "Blue_grey": "Серо-голубой",
290
290
  "Blue": "Синий",
291
291
  "Sky_blue": "Лазурный",
292
- "Green": "Зеленый",
292
+ "Green": "Зелёный",
293
293
  "Red": "Красный",
294
294
  "Orange": "Оранжевый",
295
- "Yellow": "Желтый",
295
+ "Yellow": "Жёлтый",
296
296
  "Purple": "Фиолетовый",
297
297
  "Light_grey_x": "Светло-серый {{value}}",
298
- "Dark_grey_x": "Темно-серый {{value}}",
298
+ "Dark_grey_x": "Тёмно-серый {{value}}",
299
299
  "Light_blue_grey_x": "Светло-синий серый {{value}}",
300
300
  "Light_blue_x": "Светло-синий {{value}}",
301
301
  "Light_sky_blue_x": "Светло-голубой {{value}}",
302
- "Light_green_x": "Светло-зеленый {{value}}",
302
+ "Light_green_x": "Светло-зелёный {{value}}",
303
303
  "Light_red_x": "Светло-красный {{value}}",
304
304
  "Light_orange_x": "Светло-оранжевый {{value}}",
305
- "Light_yellow_x": "Светло-желтый {{value}}",
305
+ "Light_yellow_x": "Светло-жёлтый {{value}}",
306
306
  "Light_purple_x": "Светло-фиолетовый {{value}}",
307
- "Dark_blue_grey_x": "Темно-синий серый {{value}}",
308
- "Dark_blue_x": "Темно-синий {{value}}",
309
- "Dark_sky_blue_x": "Темно-голубой {{value}}",
310
- "Dark_green_x": "Темно-зеленый {{value}}",
311
- "Dark_red_x": "Темно-красный {{value}}",
312
- "Dark_orange_x": "Темно-оранжевый {{value}}",
313
- "Dark_yellow_x": "Темно-желтый {{value}}",
314
- "Dark_purple_x": "Темно-фиолетовый {{value}}",
315
- "Standard_dark_red": "Стандартный темно-красный",
307
+ "Dark_blue_grey_x": "Тёмно-синий серый {{value}}",
308
+ "Dark_blue_x": "Тёмно-синий {{value}}",
309
+ "Dark_sky_blue_x": "Тёмно-голубой {{value}}",
310
+ "Dark_green_x": "Тёмно-зелёный {{value}}",
311
+ "Dark_red_x": "Тёмно-красный {{value}}",
312
+ "Dark_orange_x": "Тёмно-оранжевый {{value}}",
313
+ "Dark_yellow_x": "Тёмно-жёлтый {{value}}",
314
+ "Dark_purple_x": "Тёмно-фиолетовый {{value}}",
315
+ "Standard_dark_red": "Стандартный тёмно-красный",
316
316
  "Standard_red": "Стандартный красный",
317
317
  "Standard_orange": "Стандартный оранжевый",
318
- "Standard_yellow": "Стандартный желтый",
319
- "Standard_light_green": "Стандартный светло-зеленый",
320
- "Standard_green": "Стандартный зеленый",
318
+ "Standard_yellow": "Стандартный жёлтый",
319
+ "Standard_light_green": "Стандартный светло-зелёный",
320
+ "Standard_green": "Стандартный зелёный",
321
321
  "Standard_light_blue": "Стандартный светло-голубой",
322
322
  "Standard_blue": "Стандартный синий",
323
- "Standard_dark_blue": "Стандартный темно-синий",
323
+ "Standard_dark_blue": "Стандартный тёмно-синий",
324
324
  "Standard_purple": "Стандартный фиолетовый",
325
325
  "Highlight_color": "Выделение",
326
326
  "Font_color": "Цвет шрифта",
327
327
  "Default": "По умолчанию",
328
328
  "No_revisions": "Нет редакций",
329
- "1_revision": "1 редакция",
329
+ "1_revision": "Одна редакция",
330
330
  "x_revisions": "{{count}} редакций",
331
331
  "Creator": "Создатель ",
332
332
  "Created_time": "Время создания",
333
333
  "Created_at": "Создано",
334
- "Resolved_tip": "Отметить как решенное и скрыть обсуждение",
334
+ "Resolved_tip": "Отметить как решённое и скрыть обсуждение",
335
335
  "Search_language": "Язык поиска",
336
- "Sdoc_error_tip": "Документ содержит ошибки и не может быть отображен. Попробуйте исправить это автоматически, нажав кнопку ниже.",
336
+ "Sdoc_error_tip": "Документ содержит ошибки и не может быть отображён. Попробуйте исправить это автоматически, нажав кнопку ниже.",
337
337
  "Repair": "Исправление",
338
338
  "Font_size": "Размер шрифта",
339
339
  "Increase_font_size": "Увеличить размер шрифта",
@@ -341,12 +341,13 @@
341
341
  "Font": "Шрифт",
342
342
  "All_fonts": "Все шрифты",
343
343
  "Default_font": "Шрифт по умолчанию",
344
- "Pending_operations_exceed_limit": "Несколько операций не синхронизированы с сервером. Проверьте вашу сеть.",
344
+ "Pending_operations_exceed_limit": "Несколько операций не синхронизированы с сервером. Проверьте подключение к сети.",
345
345
  "Recently_saved": "Недавно сохранено",
346
346
  "Text_Link": "Текстовая ссылка",
347
347
  "Icon_and_text_Link": "Значок и текстовая ссылка",
348
348
  "Card": "Карта",
349
349
  "Select_sdoc_document": "Выбрать документ sdoc",
350
+ "Select_file": "Select file",
350
351
  "Local_file": "Заблокировать файл",
351
352
  "Internal_server_exec_operations_error": "На сервере произошло исключение. Обновите страницу и повторите попытку",
352
353
  "Failed_to_sync_with_server_operations": "Не удалось синхронизироваться с сервером, обновите страницу.",
@@ -362,5 +363,6 @@
362
363
  "No_changes": "Без изменений",
363
364
  "Title": "Название",
364
365
  "Subtitle": "Подзаголовок",
365
- "Link_sdoc": "Ссылка на sdoc"
366
+ "Link_sdoc": "Ссылка на sdoc",
367
+ "Link_file": "Link file"
366
368
  }
@@ -363,5 +363,15 @@
363
363
  "No_changes": "没有变化",
364
364
  "Title": "标题",
365
365
  "Subtitle": "副标题",
366
- "Link_sdoc": "链接 sdoc"
366
+ "Link_sdoc": "链接 sdoc",
367
+ "Link_file": "文件链接",
368
+ "Keep_my_modification": "保留我的更改",
369
+ "Keep_other_modification": "保留其他的更改",
370
+ "Keep_both_modification": "保留两个更改",
371
+ "Rebase_delete_no_change_revision_tip": "修订改没有更改,是否删除修订稿?",
372
+ "Has_been_replaced_tip": "文档内容已经被替换,请刷新页面。",
373
+ "Has_been_published_tip": "修订稿已经发布了,{{ time }} 秒后自动跳转到源文件。",
374
+ "Has_conflict_before_publish_tip": "文档有冲突,请解决冲突后再发布!",
375
+ "Merge_tip": "文档有冲突,是否合并?",
376
+ "Has_conflict_before_view_changes_tip": "文档有冲突,请解决冲突后再查看更改!"
367
377
  }
@@ -1,105 +0,0 @@
1
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
- import React, { useEffect, useMemo, useState, forwardRef, useImperativeHandle } from 'react';
3
- import { Editor } from '@seafile/slate';
4
- import { useTranslation } from 'react-i18next';
5
- import { createDefaultEditor } from './extension';
6
- import { focusEditor } from './extension/core';
7
- import { withSocketIO } from './socket';
8
- import withNodeId from './node-id';
9
- import { PAGE_EDIT_AREA_WIDTH } from './constants';
10
- import context from '../context';
11
- import { EditorContainer, EditorContent } from './layout';
12
- import SlateEditor from './slate-editor';
13
- import InsertElementDialog from './extension/commons/insert-element-dialog';
14
- var SDocEditor = forwardRef(function (_ref, ref) {
15
- var document = _ref.document,
16
- config = _ref.config;
17
- var _useTranslation = useTranslation(),
18
- t = _useTranslation.t;
19
-
20
- // init editor
21
- var editor = useMemo(function () {
22
- var defaultEditor = createDefaultEditor();
23
- var newEditor = withNodeId(withSocketIO(defaultEditor, {
24
- document: document,
25
- config: config
26
- }));
27
- var cursors = document.cursors;
28
- newEditor.cursors = cursors || {};
29
- newEditor.width = PAGE_EDIT_AREA_WIDTH; // default width
30
- newEditor.readonly = false;
31
- return newEditor;
32
- // eslint-disable-next-line react-hooks/exhaustive-deps
33
- }, []);
34
- var _useState = useState(document.children),
35
- _useState2 = _slicedToArray(_useState, 2),
36
- slateValue = _useState2[0],
37
- setSlateValue = _useState2[1];
38
-
39
- // The parent component can call the method of this component through ref
40
- useImperativeHandle(ref, function () {
41
- return {
42
- // get latest value
43
- getValue: function getValue() {
44
- return slateValue;
45
- }
46
- };
47
- }, [slateValue]);
48
-
49
- // useMount: init socket connection
50
- useEffect(function () {
51
- editor.openConnection();
52
- return function () {
53
- editor.closeConnection();
54
- };
55
- // eslint-disable-next-line react-hooks/exhaustive-deps
56
- }, []);
57
-
58
- // useMount: focus editor
59
- useEffect(function () {
60
- var timer = setTimeout(function () {
61
- var _editor$children = _slicedToArray(editor.children, 1),
62
- firstNode = _editor$children[0];
63
- if (firstNode) {
64
- var _firstNode$children = _slicedToArray(firstNode.children, 1),
65
- firstNodeFirstChild = _firstNode$children[0];
66
- if (firstNodeFirstChild) {
67
- var endOfFirstNode = Editor.end(editor, [0, 0]);
68
- var range = {
69
- anchor: endOfFirstNode,
70
- focus: endOfFirstNode
71
- };
72
- focusEditor(editor, range);
73
- }
74
- }
75
- }, 300);
76
- return function () {
77
- clearTimeout(timer);
78
- };
79
- // eslint-disable-next-line react-hooks/exhaustive-deps
80
- }, []);
81
-
82
- // useMount: reset title
83
- useEffect(function () {
84
- var isSdocRevision = context.getSetting('isSdocRevision');
85
- var originFilename = context.getSetting('originFilename');
86
- if (isSdocRevision) {
87
- window.document.getElementsByTagName('title')[0].innerText = "".concat(t('Revision'), " - ").concat(originFilename);
88
- }
89
-
90
- // eslint-disable-next-line react-hooks/exhaustive-deps
91
- }, []);
92
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(EditorContainer, {
93
- editor: editor
94
- }, /*#__PURE__*/React.createElement(EditorContent, {
95
- docValue: slateValue,
96
- showOutline: true
97
- }, /*#__PURE__*/React.createElement(SlateEditor, {
98
- editor: editor,
99
- slateValue: slateValue,
100
- setSlateValue: setSlateValue
101
- }))), /*#__PURE__*/React.createElement(InsertElementDialog, {
102
- editor: editor
103
- }));
104
- });
105
- export default SDocEditor;
@@ -1,11 +0,0 @@
1
- import _createClass from "@babel/runtime/helpers/esm/createClass";
2
- import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
3
- import { BLOCKQUOTE } from '../../constants';
4
- var Blockquote = /*#__PURE__*/_createClass(function Blockquote(options) {
5
- _classCallCheck(this, Blockquote);
6
- this.type = options.type || BLOCKQUOTE;
7
- this.children = options.children || [{
8
- text: ''
9
- }];
10
- });
11
- export default Blockquote;